1. Field of the Invention
The field of the invention relates to microelectromechanical systems (MEMS).
2. Description of the Related Technology
Microelectromechanical systems (MEMS) include micro mechanical elements, actuators, and electronics. Micromechanical elements may be created using deposition, etching, and or other micromachining processes that etch away parts of substrates and/or deposited material layers or that add layers to form electrical and electromechanical devices. One type of MEMS device is called an interferometric modulator. As used herein, the term interferometric modulator or interferometric light modulator refers to a device that selectively absorbs and/or reflects light using the principles of optical interference. In certain embodiments, an interferometric modulator may comprise a pair of conductive plates, one or both of which may be transparent and/or reflective in whole or part and capable of relative motion upon application of an appropriate electrical signal. In a particular embodiment, one plate may comprise a stationary layer deposited on a substrate and the other plate may comprise a metallic membrane separated from the stationary layer by an air gap. As described herein in more detail, the position of one plate in relation to another can change the optical interference of light incident on the interferometric modulator. Such devices have a wide range of applications, and it would be beneficial in the art to utilize and/or modify the characteristics of these types of devices so that their features can be exploited in improving existing products and creating new products that have not yet been developed.
The system, method, and devices of the invention each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this invention, its more prominent features will now be discussed briefly. After considering this discussion, and particularly after reading the section entitled “Detailed Description of Certain Embodiments” one will understand how the features of this invention provide advantages over other display devices.
An embodiment provides a method of displaying image data. The method includes receiving image update data to be displayed on a display device comprising an array of bi-stable display elements, the image update data corresponding to a following image in a sequence of images and identifying pixels in the following image that differ from a preceding image in the sequence of images. The method further includes displaying the following image by changing a portion of the preceding image, wherein the portion includes the pixels identified in the image update data.
Another embodiment provides a method for storing a sequence of images to be displayed on a display device. The method includes having a preceding image in the sequence of images, calculating, for a following image subsequent to the preceding image, a following set of image update data identifying pixels that changed from the preceding image to the following image, and storing the following set of calculated image update data to a memory.
Another embodiment provides a system for displaying image data that includes a display comprising an array of bi-stable display elements, and a memory storing a plurality of sets of image update data corresponding to a plurality of images in a sequence of images and wherein the plurality of sets of image update data comprise information identifying pixels to be changed from a previous image in the sequence of images. The system further includes an array driver in electrical communication with the memory and the display, the array driver being configured to receive, from the memory, one of the stored set of image update data, and to update a portion of the display, the portion containing the pixels identified in the received set of image update data.
Another embodiment provides a system for displaying image data that includes a display and a memory storing a plurality of sets of image update data, each set corresponding to one image in a sequence of images and wherein the plurality of sets of image update data comprise information identifying pixels that change from a previous image in the sequence of images. The system further includes a frame buffer and a display controller in electrical communication with the memory and the frame buffer, the display controller being configured to receive one of the sets of image update data from the memory and to store the received set of image update data in the frame buffer. The system further includes an array driver in electrical communication with the frame buffer and the display, the array driver being configured to receive the frame buffer data and to update the display based on the received frame buffer data.
Another embodiment provides a method of displaying image data that includes identifying a next image state in a sequence of images to be displayed on a display device, receiving, at an array driver, a stored set of image update data corresponding to the identified next image state, wherein the received set of stored image update data is one of a plurality of sets of stored image update data, wherein the plurality of sets of stored image update data comprise information identifying pixels that change from another image in the sequence of images. The method further includes updating a portion of the display device, the portion containing the pixels identified in the received set of stored image update data.
Another embodiment provides an electronic device for displaying image data, where the electronic device is configured to receive one of a plurality of sets of stored image update data to be displayed on a display device, each set corresponding to one image in a sequence of images and wherein the plurality of sets of stored image update data comprise information identifying pixels that change from a previous image in the sequence of images. The electronic device is further configured to update a portion of the display device, the portion containing the pixels identified in the received set of stored image update data, wherein the display device comprises an array of bi-stable display elements.
a illustrates an embodiment of a display device displaying an image representing an analog watch face.
b illustrates an embodiment of a display device displaying an image representing a digital watch face.
c illustrates an embodiment of a display device displaying an image representing a digital watch face in stopwatch mode.
d illustrates an embodiment of a display device displaying an image of a map/navigation device.
The following detailed description is directed to certain specific embodiments of the invention. However, the invention can be embodied in a multitude of different ways. In this description, reference is made to the drawings wherein like parts are designated with like numerals throughout. As will be apparent from the following description, the embodiments may be implemented in any device that is configured to display an image, whether in motion (e.g., video) or stationary (e.g., still image), and whether textual or pictorial. More particularly, it is contemplated that the embodiments may be implemented in or associated with a variety of electronic devices such as, but not limited to, mobile telephones, wireless devices, personal data assistants (PDAs), hand-held or portable computers, GPS receivers/navigators, cameras, MP3 players, camcorders, game consoles, wrist watches, clocks, calculators, television monitors, flat panel displays, computer monitors, auto displays (e.g., odometer display, etc.), cockpit controls and/or displays, display of camera views (e.g., display of a rear view camera in a vehicle), electronic photographs, electronic billboards or signs, projectors, architectural structures, packaging, and aesthetic structures (e.g., display of images on a piece of jewelry). MEMS devices of similar structure to those described herein can also be used in non-display applications such as in electronic switching devices.
One type of display comprises an array of bi-stable display elements. Images rendered on an array of bi-stable elements are viewable for a long period of time without having to constantly refresh the display, and require relatively low power to maintain the displayed image. In such displays, a variety of refresh and update processes can be used that take advantage of the bi-stable display elements characteristics to decrease the power requirements of the display.
Due to the decreased power requirements afforded by bi-stable displays when used in conjunction with drivers and controllers designed for them, the power consumed by the processing of calculations for display updates may be a substantial portion of the total power requirements of a display device, even for a device with a display as simple as a that of a digital watch, for example. In one embodiment, a system is disclosed for creating and storing sets of image update data that may be received by a display device and directly displayed, with little or no calculating, to replicate an image sequence. In this embodiment, the stored sets of image update data comprise information identifying only those pixels in the display that change from a previous image in the sequence. In another embodiment, a system is disclosed for replicating and displaying the image sequence by using the stored image update data. Since the displaying device may not require a processor for calculating display updates, some power savings may be realized. In another embodiment, the display device includes a bi-stable display with drivers and/or controllers designed to update only the pixels identified as having changed, which may result in more power savings.
One interferometric modulator display embodiment comprising an interferometric MEMS display element is illustrated in
The depicted portion of the pixel array in
The optical stacks 16a and 16b (collectively referred to as optical stack 16), as referenced herein, typically comprise of several fused layers, which can include an electrode layer, such as indium tin oxide (ITO), a partially reflective layer, such as chromium, and a transparent dielectric. The optical stack 16 is thus electrically conductive, partially transparent and partially reflective, and may be fabricated, for example, by depositing one or more of the above layers onto a transparent substrate 20. The partially reflective layer can be formed from a variety of materials that are partially reflective such as various metals, semiconductors, and dielectrics. Some examples of suitable materials include oxides, nitrides, and fluorides. Other examples include germanium (Ge), nickel silicide (NiSi), molybdenum (Mo), titanium (Ti), tantalum (Ta), and platinum (Pt). The partially reflective layer can be formed of one or more layers of materials, and each of the layers can be formed of a single material or a combination of materials.
In some embodiments, the layers of the optical stack are patterned into parallel strips, and may form row electrodes in a display device as described further below. The movable reflective layers 14a, 14b may be formed as a series of parallel strips of a deposited metal layer or layers (orthogonal to the row electrodes of 16a, 16b) deposited on top of posts 18 and an intervening sacrificial material deposited between the posts 18. When the sacrificial material is etched away, the movable reflective layers 14a, 14b are separated from the optical stacks 16a, 16b by a defined gap 19. A highly conductive and reflective material such as aluminum may be used for the reflective layers 14, and these strips may form column electrodes in a display device.
With no applied voltage, the cavity 19 remains between the movable reflective layer 14a and optical stack 16a, with the movable reflective layer 14a in a mechanically relaxed state, as illustrated by the pixel 12a in
In one embodiment, the processor 21 is also configured to communicate with an array driver 22. In one embodiment, the array driver 22 includes a row driver circuit 24 and a column driver circuit 26 that provide signals to a display array or panel 30. The cross section of the array illustrated in
In typical applications, a display frame may be created by asserting the set of column electrodes in accordance with the desired set of actuated pixels in the first row. A row pulse is then applied to the row 1 electrode, actuating the pixels corresponding to the asserted column lines. The asserted set of column electrodes is then changed to correspond to the desired set of actuated pixels in the second row. A pulse is then applied to the row 2 electrode, actuating the appropriate pixels in row 2 in accordance with the asserted column electrodes. The row 1 pixels are unaffected by the row 2 pulse, and remain in the state they were set to during the row 1 pulse. This may be repeated for the entire series of rows in a sequential fashion to produce the frame. Generally, the frames are refreshed and/or updated with new display data by continually repeating this process at some desired number of frames per second. A wide variety of protocols for driving row and column electrodes of pixel arrays to produce display frames are also well known and may be used in conjunction with the present invention.
In the
The display device 40 includes a housing 41, a display 30, an antenna 43, a speaker 44, an input device 48, and a microphone 46. The housing 41 is generally formed from any of a variety of manufacturing processes as are well known to those of skill in the art, including injection molding, and vacuum forming. In addition, the housing 41 may be made from any of a variety of materials, including but not limited to plastic, metal, glass, rubber, and ceramic, or a combination thereof In one embodiment the housing 41 includes removable portions (not shown) that may be interchanged with other removable portions of different color, or containing different logos, pictures, or symbols.
The display 30 of exemplary display device 40 may be any of a variety of displays, including a bi-stable display, as described herein. In other embodiments, the display 30 includes a flat-panel display; such as plasma, EL, OLED, STN LCD, or TFT LCD as described above, or a non-flat-panel display, such as a CRT or other tube device, as is well known to those of skill in the art. However, for purposes of describing the present embodiment, the display 30 includes an interferometric modulator display, as described herein.
The components of one embodiment of exemplary display device 40 are schematically illustrated in
The network interface 27 includes the antenna 43 and the transceiver 47 so that the exemplary display device 40 can communicate with one ore more devices over a network. In one embodiment the network interface 27 may also have some processing capabilities to relieve requirements of the processor 21. The antenna 43 is any antenna known to those of skill in the art for transmitting and receiving signals. In one embodiment, the antenna transmits and receives RF signals according to the IEEE 802.11 standard, including IEEE 802.11(a), (b), or (g). In another embodiment, the antenna transmits and receives RF signals according to the BLUETOOTH standard. In the case of a cellular telephone, the antenna is designed to receive CDMA, GSM, AMPS or other known signals that are used to communicate within a wireless cell phone network. The transceiver 47 pre-processes the signals received from the antenna 43 so that they may be received by and further manipulated by the processor 21. The transceiver 47 also processes signals received from the processor 21 so that they may be transmitted from the exemplary display device 40 via the antenna 43.
In an alternative embodiment, the transceiver 47 can be replaced by a receiver. In yet another alternative embodiment, network interface 27 can be replaced by an image source, which can store or generate image data to be sent to the processor 21. For example, the image source can be a digital video disc (DVD) or a hard-disc drive that contains image data, or a software module that generates image data.
Processor 21 generally controls the overall operation of the exemplary display device 40. The processor 21 receives data, such as compressed image data from the network interface 27 or an image source, and processes the data into raw image data or into a format that is readily processed into raw image data. The processor 21 then sends the processed data to the driver controller 29 or to frame buffer 28 for storage. Raw data typically refers to the information that identifies the image characteristics at each location within an image. For example, such image characteristics can include color, saturation, and gray-scale level.
In one embodiment, the processor 21 includes a microcontroller, CPU, or logic unit to control operation of the exemplary display device 40. Conditioning hardware 52 generally includes amplifiers and filters for transmitting signals to the speaker 45, and for receiving signals from the microphone 46. Conditioning hardware 52 may be discrete components within the exemplary display device 40, or may be incorporated within the processor 21 or other components.
The driver controller 29 takes the raw image data generated by the processor 21 either directly from the processor 21 or from the frame buffer 28 and reformats the raw image data appropriately for high speed transmission to the array driver 22. Specifically, the driver controller 29 reformats the raw image data into a data flow having a raster-like format, such that it has a time order suitable for scanning across the display array 30. Then the driver controller 29 sends the formatted information to the array driver 22. Although a driver controller 29, such as a LCD controller, is often associated with the system processor 21 as a stand-alone Integrated Circuit (IC), such controllers may be implemented in many ways. They may be embedded in the processor 21 as hardware, embedded in the processor 21 as software, or fully integrated in hardware with the array driver 22.
Typically, the array driver 22 receives the formatted information from the driver controller 29 and reformats the video data into a parallel set of waveforms that are applied many times per second to the hundreds and sometimes thousands of leads coming from the display's x-y matrix of pixels.
In one embodiment, the driver controller 29, array driver 22, and display array 30 are appropriate for any of the types of displays described herein. For example, in one embodiment, driver controller 29 is a conventional display controller or a bi-stable display controller (e.g., an interferometric modulator controller). In another embodiment, array driver 22 is a conventional driver or a bi-stable display driver (e.g., an interferometric modulator display). In yet another embodiment, display array 30 is a typical display array or a bi-stable display array (e.g., a display including and array of interferometric modulators).
In one embodiment, a driver controller 29 is integrated with the array driver 22. Such an embodiment is common in highly integrated systems such as cellular phones, watches, and other small area displays. Specialized circuitry within such an integrated array driver 22 first determines which pixels and hence rows require refresh, and only selects those rows that have pixels that have changed to update. With such circuitry, particular rows can be addressed in non-sequential order, on a changing basis depending on image content. This embodiment has the advantage that since only the changed video data needs to be sent through the interface, data rates can be reduced between the processor 21 and the display array 30. Lowering the effective data rate required between processor 21 and array driver 22 improves power consumption, noise immunity and electromagnetic interference issues for the system.
The input device 48 allows a user to control the operation of the exemplary display device 40. In one embodiment, input device 48 includes a keypad, such as a QWERTY keyboard or a telephone keypad, a button, a switch, a touch-sensitive screen, a pressure- or heat-sensitive membrane. In one embodiment, the microphone 46 is an input device for the exemplary display device 40. When the microphone 46 is used to input data to the device, voice commands may be provided by a user for controlling operations of the exemplary display device 40.
Power supply 50 can include a variety of energy storage devices as are well known in the art. For example, in one embodiment, power supply 50 is a rechargeable battery, such as a nickel-cadmium battery or a lithium ion battery. In another embodiment, power supply 50 is a renewable energy source, a capacitor, or a solar cell, including a plastic solar cell, and solar-cell paint. In another embodiment, power supply 50 is configured to receive power from a wall outlet.
In some implementations control programmability resides, as described above, in a driver controller which can be located in several places in the electronic display system. In some cases control programmability resides in the array driver 22. Those of skill in the art will recognize that the above-described optimization may be implemented in any number of hardware and/or software components and in various configurations.
The details of the structure of interferometric modulators that operate in accordance with the principles set forth above may vary widely. For example,
In embodiments such as those shown in
In one embodiment, a system is provided for creating and storing sets of predetermined image update data that may be received by a display device and directly displayed, with little or no calculating, to replicate a deterministic image sequence. In this embodiment, the stored sets of image update data comprise information identifying only those pixels in the display that change from a previous image in the sequence. In another embodiment, a system is disclosed for replicating and displaying the deterministic image sequence on a display device by using the stored image update data. Since the displaying device may not be required to calculate display updates, power savings may be realized. In another embodiment, the display device includes a bi-stable display with drivers and/or controllers designed to update only the pixels identified as having changed, which may result in more power savings. In one embodiment the deterministic image sequence being displayed has a predetermined progression of a plurality of discrete states. Image update data can be stored for each of those states. Alternatively, the update information may be determined dynamically for multiple possible future states based upon the current state information.
In one embodiment, a processor may control the overall process flow for displaying the image sequence, including memory transfer of update data to a controller(s) and/or a driver(s), with the controller(s) and/or the driver(s) performing the actual update of the display device. In another embodiment, the controller(s) and/or the driver(s) may be “dumb” devices, e.g., the processor fetches and forwards the data to be displayed by the controller and/or driver. In yet another embodiment, the controller(s) and/or the driver(s) may be designed to perform the necessary identification, fetching and updating of the display device with the image sequence, without the processor.
An embodiment of process flow is illustrated in
With reference to
After a sequence of images has been created at step 810, process 800 continues at step 815 where an initial image in the sequence is stored into memory that may be accessible by display device 40. In one embodiment, the initial image may comprise a complete frame (or sub-frame) containing the data needed to display a complete image. In this embodiment, the display sequence may represent a new mode being started or a new state being instantiated on the display array 30. In another embodiment, the initial image may comprise a blank frame (all pixels on or off) with the frame being completed by the image sequence updates calculated in step 820. In this way, a gradual refresh of the display may be accomplished. In another embodiment the initial image may comprise a region of the frame such as a row portion or column portion of the frame.
After the initial frame is stored in step 815, process 800 continues at step 820 where image update data is calculated. Image update data is calculated such that the update data comprises changes from a previous image state in the sequence. In one embodiment, a display device targeted by the image sequence is a bi-stable display comprising an array of bi-stable display elements, e.g. an array of interferometric modulators. Images rendered on an array of bi-stable elements are viewable for a long period of time without having to constantly refresh the display, and require relatively low power to maintain the displayed image. By updating the bi-stable display using data comprising changes from a previous (or currently displayed) image state, drivers and/or controllers may be designed to update only the bi-stable elements that have changed, thereby saving power over refreshing the entire display. In these devices, the pixels may be in either a bright or dark state. In the bright (“on” or “open”) state, the display element reflects a large portion of incident visible light to a user. When in the dark (“off” or “closed”) state, the display element reflects little incident visible light to the user. Pixels may be black and white or color, as discussed above.
In one embodiment, the calculated image update data comprises a pixel change indicator for each pixel in the frame or subframe being updated, e.g. a single bit where a zero represents no change and a one represents a change from an open state to a closed state or from the closed state to the open state (multiple bit pixel change indicators may also be utilized for bi-stable display elements having more than two states, such as states not completely opened or closed but somewhere in between). An example of this embodiment is a row by row (or column by column) update of the pixels where the pixels indicated as having changed from the current state may be the only pixels updated by the controller and/or driver updating the display. For example, if each row contains 128 pixels, then the image update data for each row comprises 128 zeroes or ones where ones indicate a change from the previous state and zeroes indicate no change from the previous state. In another embodiment, the calculated image update data further comprises an indicator of which portion of the screen is being updated with the pixel change indicators. In another embodiment, image update data comprises an identifier of which individual pixel or group of pixels (e.g., a row portion or column portion or window of pixels) is indicated to have changed by the image update data. The image update data may further comprise pixel value data indicating the new data to be written to each pixel in the identified group of pixels. Such pixel and/or pixel group identifiers may be a pixel number, row/pixel number pairs, column/pixel number pairs, window coordinates and other identifiers that will be apparent to those of skill in the art. The pixel value data may comprise a zero to indicate a closed state, or a one to indicate an open state.
Since the image update data identifies which pixels change from a previous image state, the controller and/or driver updating the display may have very few pixels to change, thereby conserving power. An illustrative example is an analog watch face such as that shown in
After calculating the image update data at step 820, the image update data is stored into memory at step 825. In one embodiment, the image update data is stored into memory of the display device 40. In addition to storing the image update data in step 825, optional step 830 may create a memory map linking the image update data to a memory location where the image update data is stored. If the sequence of images being stored is a simple sequential set of image state updates, then a memory map may not be necessary. If different display modes, input responses or multiple sequence paths are possible, then a memory map may be useful. Different display modes may each comprise one or more deterministic sequences, where each sequence may be made up of multiple deterministic states. A memory map may contain state information such that a display device can identify a set of image update data (or multiple sets of image update data in cases where multiple image sequence paths are possible, see discussion referencing
If there are more images to calculate image update for, and to store calculated image update data for, the decision block 835 will repeat steps 820, 825 and 830 until the image sequence is complete. Steps 820 through 835 may be repeated until all possible image state updates are completed. Image state updates may include image sequence paths dictated by user inputs, user programming options such as menu options, temporal interrupts such as updates every one-hundredth of a second or every tenth of a second, etc., and non-temporal interrupts such as geographic movement interrupt commands discussed below and illustrated in
In one embodiment, process 800 may be performed in display device 40 utilizing e.g., processor 21 for performing some or all of steps 810 through 835, thereby calculating and storing the image update data and/or memory map into memory connected to display device 40. Processor 21 could then perform process 900, shown in
After initialization, process 900 continues at step 910 where the image update data to be received in step 915 is identified. Identifying the image update data may comprise setting a pointer in driver controller 29 and/or array driver 22 thereby locating the image update data pointed to by the memory address received in initialization step 905. In one embodiment, identifying the image update data comprises advancing a pointer in driver controller 29 and/or array driver 22 to point to the next set of image update data in the sequence currently being displayed by process 900. In another embodiment, a memory address identifying a memory space containing the identified set of image update data to be received, is received from memory. The memory address may be part of a memory map such as, e.g., a memory map created at step 830 of process 800, the memory map comprising data indicating that the image update data stored at the received memory address corresponds to the identified set of image update data to be received. The memory map may contain state information such that a display device may identify a set of image update data (or multiple sets of image update data in cases where multiple image sequence paths are possible, see discussion referencing
Process 900 continues at step 915, where the image update data identified at step 910 is received. The acts of step 915 may be performed by processor 21, driver controller 29 and/or array driver 22. In one embodiment, processor 21 receives the image update data from network interface 27, where network interface 27 may be replaced by an image source as discussed above. In another embodiment, driver controller 29 or an integrated driver controller 29/array driver 22 receives the image update data directly. The image update data comprises information identifying pixels that change from an image currently being displayed on a display device such as, e.g., display array 30. In other words, the image update data corresponding to a following image in a sequence of images identifies pixels in the following image that differ from the pixels of a preceding image (e.g., the one currently being displayed) in the sequence of images. In one embodiment, the display device is a bi-stable display comprising an array of bi-stable display elements, e.g. an array of interferometric modulators.
In one embodiment, the image update data received at step 915 comprises a pixel change indicator for each pixel in the frame or subframe being updated, e.g. a single bit where a zero represents no change and a one represents a change from an open state to a closed state or from the closed state to the open state (multiple bit pixel change indicators may also be utilized for bi-stable display elements having more than two states, such as states not completely opened or closed but somewhere in between). In another embodiment, image update data comprises an identifier of which individual pixel or group of pixels (e.g., a row portion or column portion or window of pixels) is indicated to have changed by the image update data. The image update data may further comprise pixel value data indicating the new data to be written to each pixel in the identified group of pixels. Such pixel and/or pixel group identifiers may be a pixel number, row/pixel number pairs, column/pixel number pairs, window coordinates and other identifiers that will be apparent to those of skill in the art. The pixel value data may comprise a zero to indicate a closed state, or a one to indicate an open state. The image update data may identify fewer than all the pixels of the following image to be changed from the preceding image. The image update data may exclude identifying pixels in the following image that do not change from the preceding image. The image update data may comprise changes from an immediately preceding image or from a preceding image where an intermediate image is located between the preceding image and the following image.
In one embodiment, the received image update data is in a compressed form such as, run length encoded, for example. In the case of run length encoded update data, a decoder may be used to run length decode the encoded data, thereby converting it to a format that may be used by array driver 22, and/or driver controller 29.
Process 900 continues to step 920, where array driver 22 updates the display array 30. In one embodiment, display device 30 is a bi-stable display comprising an array of bi-stable display elements, e.g. an array of interferometric modulators. By updating the bi-stable display using data comprising changes from a preceding (or the currently displayed) image, drivers and/or controllers may be designed to update only the bi-stable elements of the portion of the preceding image that have changed, thereby saving power over refreshing the entire display. Any bi-stable display elements for which update data is not received may be maintained in the state that they are in during the change from the preceding image to the following image. Array driver 22 may be configured to receive the image update data at step 915 and change only the identified pixels using many protocols, such as, e.g., the actuation protocol discussed above with respect to
Decision block 925 checks for interrupt commands. An interrupt command may be any kind of event that causes the process 900 to display another image in the sequence of images being displayed, or to display a new sequence of images, or to modify the way in which future images are displayed. In one embodiment, steps 910, 915 and 920 are repeated at a fixed display rate due to receiving interrupt commands at the fixed display rate from a timing circuit generating a pulse about every second. This type of embodiment may be used for a watch display that has only one mode, e.g., the analog display watch shown in
The interrupts received at decision block 925 may be temporal interrupts, user input interrupts, interrupts triggered by an event such as the user moving a distance above a threshold (as in the GPS navigation display shown in
In one embodiment, the interrupt command comprises a temporal interrupt received at decision block 925. A timer may be used to send an interrupt command at a fixed (or variable, or even random) time step. Actions taken at step 930 in response to a temporal interrupt command may depend on how the image sequence data was derived. If the stored image update data corresponds to image states updated at about the same time step as the interrupt command, then no action may be needed at step 930 and identifying the image update data at step 910 may comprise advancing an address pointer to point to the next state which corresponds to the next set of image update data in the sequence currently being displayed by process 900. If however, the stored image update time step is smaller than the interrupt command time period, then step 930 may identify that the next image state to be displayed may require several image updates be combined to form an aggregate set of image update data at step 910. For example, if the stored data is derived at one-tenth second increments, and a temporal interrupt command requests updates only every second, then ten image update data sets may be combined at step 910 to form the aggregate image update data set for updating display array 30 every second as commanded. If the stored image update time step is larger than the temporal interrupt command time period, then steps 910, 915 and 920 may be skipped until a time period has passed such that a temporal interrupt command is received that is about the same time increment as that of the next stored image update data set.
In another embodiment, a user input device 48 may be actuated resulting in the received interrupt command at decision block 925. In one example, the user input interrupt command may result in a new image sequence state being identified at step 930, in which case, the decision block 935 directs the process 900 to step 905 to initialize the new sequence corresponding to the newly identified state. The new sequence state may be a replacement for the current sequence state, in which case the entire display may require updating and the current image sequence may no longer be updated. The new sequence state may also be a sub-frame or window added within the existing image while maintaining the current image sequence, in which case step 930 identifies the new sequence to be added, decision block 935 directs the flow to step 905 where the new sequence is initialized. In this case, the current image sequence state is maintained and both the new sequence (e.g., the sub-frame or window) image update data and the old sequence image update data are identified at step 910, received at step 915 and the display updated at step 920.
In addition to starting a new sequence, a user input interrupt command may also require a modification of update parameters at step 930. Such parameters may be the temporal rate at which temporal interrupt commands (indicating when to advance to the next image state) are received, the position of windows within the display area, and other parameters. If a user input modifies the rate at which images are updated to the next state, then actions taken at step 930 may comprise modifying a display parameter controlling the display rate, and actions taken at step 910 may comprise combining images to form aggregate images, or skipping updates of images in the current sequence, as discussed above, resulting in the newly commanded display rate. Optionally, there may be separate image sequences derived for the new display rate and step 930 may identify the new image sequence state and decision block 935 may direct the process to step 905. The acts of decision block 935 may be performed by processor 21, driver controller 29 and/or array driver 22. Depending on the embodiment, selected steps of process 900 illustrated in
In another embodiment, the interrupt command is a non-temporal interrupt, such as one triggered by a displacement of the device, such as the map/navigation device shown in
Image sequences, created by the process 800 and/or displayed by the process 900, may require less power to be retrieved from memory than a processor would require calculating display update data for displaying a deterministic image sequence. In one embodiment, deterministic image sequences include any sequence that follows a predetermined progression. An example of a predetermined image sequence is a sequence portraying the advancement of time on an analog watch face.
b illustrates an embodiment of a display device displaying an image representing a digital watch face. This display is another example of a predetermined progression of images. The digital watch face in this example includes a time window 525 that includes the hour, minute and second (two digits each). The watch also includes a date window 530 that includes the month, day and year (two digits each). A sequence of images may replicate the changing of the numbers in the time window 525 such that the second numerals are advanced every second, the minute numerals may be advanced every minute and the hour numerals may be advanced every hour. The date window 530 may be updated when the time passes 12:00 am.
c illustrates an embodiment of a display device displaying an image representing a digital watch face in stopwatch mode. This example shows a single time window 535 only. In this exemplary embodiment, time window 535 includes a single number representing elapsed hours, two numbers representing elapsed minutes, two numbers representing elapsed seconds, a tenths of a second number and a hundredth of a second number. These numbers may also follow a predetermined progression that may be created using process 800 and may be displayed using process 900.
a, 10b and 10c are all example embodiments of displays where the deterministic image sequences follow, at least in part, a predetermined progression of the simplest form. In addition to “predetermined progression” type sequences, deterministic sequences that may be created with process 800 and displayed with process 900 also include sequences that may progress along more than one optional path or direction due to issuance of interrupt commands as discussed above. The stopwatch display shown in
d illustrates an embodiment of a display device displaying an image of a map/navigation device. Such a device may have a GPS (global positioning system) module that locates the unit geographically and displays a map. The example shown in
In one embodiment, part or all of process 900 may be implemented in a display device that comprises controllers and/or drivers designed for non-bistable displays where the entire screen is refreshed rather than selective update of individual pixels as in bi-stable displays. Drivers and controllers designed for non-bistable displays may be readily available and may cost less, in the near term, than drivers and controllers designed for bistable displays. In addition, non-bistable displays may cost less than bistable displays, especially in the near term.
An embodiment of a system for displaying image data includes means for bi-stably displaying image data, means for storing a plurality of sets of image update data corresponding to a plurality of images in a sequence of images and wherein the plurality of sets of image update data comprise information identifying pixels to be changed from a previous image in the sequence of images, means for receiving from the storing means one of the stored sets of image update data and the receiving means for updating a portion of the display means, the portion containing the pixels identified in the received set of image update data. With reference to
While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the spirit of the invention. As will be recognized, the present invention may be embodied within a form that does not provide all of the features and benefits set forth herein, as some features may be used or practiced separately from others.
This application is a divisional of U.S. patent application Ser. No. 13/209,910, filed Aug. 15, 2011, which is a divisional of U.S. patent application Ser. No. 11/673,330, filed Feb. 9, 2007, which claims priority of U.S. Provisional Application No. 60/772,613, filed Feb. 10, 2006, both of which are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
60772613 | Feb 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13209910 | Aug 2011 | US |
Child | 13590598 | US | |
Parent | 11673330 | Feb 2007 | US |
Child | 13209910 | US |