This disclosure relates to image data processing for improving the display appearance of images that are rendered in displays that address lines simultaneously. The processing is especially suitable when used in conjunction with electromechanical display elements.
Electromechanical systems include devices having electrical and mechanical elements, actuators, transducers, sensors, optical components (e.g., mirrors) and electronics. Electromechanical systems can be manufactured at a variety of scales including, but not limited to, microscales and nanoscales. For example, microelectromechanical systems (MEMS) devices can include structures having sizes ranging from about a micron to hundreds of microns or more. Nanoelectromechanical systems (NEMS) devices can include structures having sizes smaller than a micron including, for example, sizes smaller than several hundred nanometers. Electromechanical elements may be created using deposition, etching, lithography, 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 electromechanical systems device is called an interferometric modulator (IMOD). 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 some implementations, an interferometric modulator may include a pair of conductive plates, one or both of which may be transparent and/or reflective, wholly or in part, and capable of relative motion upon application of an appropriate electrical signal. In an implementation, one plate may include a stationary layer deposited on a substrate and the other plate may include a metallic membrane separated from the stationary layer by an air gap. The position of one plate in relation to another can change the optical interference of light incident on the interferometric modulator. Interferometric modulator devices have a wide range of applications, and are anticipated to be used in improving existing products and creating new products, especially those with display capabilities.
The systems, methods and devices of the disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
One innovative aspect of the subject matter described in this disclosure can be implemented in a method of generating and displaying image data on an electronic display, including storing a current frame to an electronic memory, determining a display mode based on whether a current frame stream is static or dynamic, selecting a dithering method based on the display mode, dithering an intermediate frame using the dithering method to produce a dithered frame, and updating an electronic display with data derived from the dithered frame.
Another innovative aspect can be implemented in a display apparatus including a display connection means, an electronic memory, and an electronic processor, wherein the processor is configured to read and write to the electronic memory and to generate a display signal on the display connection means, a host program configured to select a display mode based on whether a current frame stream is static or dynamic, select a dithering method based on the display mode, dither an intermediate frame using the dithering method to produce a dithered frame, and generate a display signal on the display connection means based on data derived from the dithered frame.
Another innovative aspect can be implemented in a display apparatus including a display displaying lines derived from image data dithered based on whether a current frame stream was characterized as dynamic or static.
Another innovative aspect can be implemented in a display apparatus including means for storing a current frame in an electronic memory, means for determining a display mode based on whether a current frame stream is static or dynamic, means for selecting a dithering method based on the display mode, means for dithering an intermediate frame using the dithering method to produce a dithered frame, and means for updating an electronic display with data derived from the dithered frame.
Another innovative aspect can be implemented in a computer readable storage medium having instructions stored thereon that cause a processing circuit to perform: storing a current frame to an electronic memory, determining a display mode based on whether a current frame stream is static or dynamic, selecting a dithering method based on the display mode, dithering an intermediate frame using the dithering method to produce a dithered frame, and updating an electronic display with data derived from the dithered frame.
Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings will be provided by the Office upon request and payment of the necessary fee.
Like reference numbers and designations in the various drawings indicate like elements.
The following detailed description is directed to certain implementations for the purposes of describing the innovative aspects. However, the teachings herein can be applied in a multitude of different ways. The described implementations 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, graphical or pictorial. More particularly, it is contemplated that the implementations may be implemented in or associated with a variety of electronic devices such as, but not limited to, mobile telephones, multimedia Internet enabled cellular telephones, mobile television receivers, wireless devices, smartphones, bluetooth devices, personal data assistants (PDAs), wireless electronic mail receivers, hand-held or portable computers, netbooks, notebooks, smartbooks, printers, copiers, scanners, facsimile devices, GPS receivers/navigators, cameras, MP3 players, camcorders, game consoles, wrist watches, clocks, calculators, television monitors, flat panel displays, electronic reading devices (e.g., e-readers), computer monitors, auto displays (e.g., odometer display, etc.), cockpit controls and/or displays, camera view displays (e.g., display of a rear view camera in a vehicle), electronic photographs, electronic billboards or signs, projectors, architectural structures, microwaves, refrigerators, stereo systems, cassette recorders or players, DVD players, CD players, VCRs, radios, portable memory chips, washers, dryers, washer/dryers, packaging (e.g., MEMS and non-MEMS), aesthetic structures (e.g., display of images on a piece of jewelry) and a variety of electromechanical systems devices. The teachings herein also can be used in non-display applications such as, but not limited to, electronic switching devices, radio frequency filters, sensors, accelerometers, gyroscopes, motion-sensing devices, magnetometers, inertial components for consumer electronics, parts of consumer electronics products, varactors, liquid crystal devices, electrophoretic devices, drive schemes, manufacturing processes, electronic test equipment. Thus, the teachings are not intended to be limited to the implementations depicted solely in the Figures, but instead have wide applicability as will be readily apparent to one having ordinary skill in the art.
In some display implementations, it is desired to update the displayed image at a fast rate, such as 15, 30, or 60 times per second. This is especially true when animation or video is being displayed. Because writing a line of data to a display takes a certain amount of time, a limit exists as to how fast a new image can be written. This limit will be different depending on the display technology. In some implementations, the achievable update rate is increased at the cost of reducing display resolution by simultaneously writing the same image data to two (or more) lines of the display. This essentially cuts at least in half the number of write cycles needed to write a new image to the display. In some implementations, the lines of the image are dithered before they are multiplied. Because the multiplication of the lines affects the visual results of the dithering operation, some implementations select a dither noise signal specifically adapted to optimize the appearance of line multiplied images.
In other display implementations, it may be desired to update the displayed image at a variable rate, depending on the content of the image being displayed. For example, the display of a static image, such as a photograph, may be displayed with adequate quality using a slower frame rate. As discussed above, this slower frame rate may further enable a higher display resolution in some implementations. More demanding display applications, such as video and video games, for example, may require a faster frame rate to adequately convey smooth motion effects. A video may itself include both relatively static portions with little motion, which could be adequately displayed at a slower frame rate, along with more dynamic portions, which require a faster frame rate.
Therefore, the different characteristics of photographs and videos, for example, along with characteristics within a particular video frame sequence, make it desirable to vary the frame update rate to optimize for either display resolution or smooth motion display. As the display frame rate is varied, the image pipeline may shift between a normal display mode and a line multiplied mode. Because the image quality of line multiplied displays can be optimized through the use of a specialized dither noise signal, it becomes desirable to vary the dither noise signal depending on whether the display is operating in a normal or line multiplying mode.
Particular implementations of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. “Line doubling,” where identical image data is written to multiple lines of a display at once increases the achievable frame rate of a display. Dithering an image with a specialized noise signal before line multiplying improves the visual appearance of the line multiplied, reduced resolution display. Selecting an appropriate dither noise signal for each frame to be displayed provides for improved image quality when switching between a line doubled display mode and a non doubled display mode. Note that line doubling is just one implementation of the more generalized technique of multi-line addressing. The subject matter described herein is equally applicable to implementations that address more than two lines of a display at once, for example, three, four, or five lines of a display, such as an IMOD display, simultaneously.
One example of a suitable MEMS device, to which the described implementations may apply, is a reflective display device. Reflective display devices can incorporate interferometric modulators (IMODs) to selectively absorb and/or reflect light incident thereon using principles of optical interference. IMODs can include an absorber, a reflector that is movable with respect to the absorber, and an optical resonant cavity defined between the absorber and the reflector. The reflector can be moved to two or more different positions, which can change the size of the optical resonant cavity and thereby affect the reflectance of the interferometric modulator. The reflectance spectrums of IMODs can create fairly broad spectral bands which can be shifted across the visible wavelengths to generate different colors. The position of the spectral band can be adjusted by changing the thickness of the optical resonant cavity, i.e., by changing the position of the reflector.
The IMOD display device can include a row/column array of IMODs. Each IMOD can include a pair of reflective layers, i.e., a movable reflective layer and a fixed partially reflective layer, positioned at a variable and controllable distance from each other to form an air gap (also referred to as an optical gap or cavity). The movable reflective layer may be moved between at least two positions. In a first position, i.e., a relaxed position, the movable reflective layer can be positioned at a relatively large distance from the fixed partially reflective layer. In a second position, i.e., an actuated position, the movable reflective layer can be positioned more closely to the partially reflective layer. Incident light that reflects from the two layers can interfere constructively or destructively depending on the position of the movable reflective layer, producing either an overall reflective or non-reflective state for each pixel. In some implementations, the IMOD may be in a reflective state when unactuated, reflecting light within the visible spectrum, and may be in a dark state when unactuated, reflecting light outside of the visible range (e.g., infrared light). In some other implementations, however, an IMOD may be in a dark state when unactuated, and in a reflective state when actuated. In some implementations, the introduction of an applied voltage can drive the pixels to change states. In some other implementations, an applied charge can drive the pixels to change states.
The depicted portion of the pixel array in
In
The optical stack 16 can include a single layer or several layers. The layer(s) can include one or more of an electrode layer, a partially reflective and partially transmissive layer and a transparent dielectric layer. In some implementations, the optical stack 16 is 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 electrode layer can be formed from a variety of materials, such as various metals, for example indium tin oxide (ITO). The partially reflective layer can be formed from a variety of materials that are partially reflective, such as various metals, e.g., chromium (Cr), semiconductors, and dielectrics. 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 implementations, the optical stack 16 can include a single semi-transparent thickness of metal or semiconductor which serves as both an optical absorber and conductor, while different, more conductive layers or portions (e.g., of the optical stack 16 or of other structures of the IMOD) can serve to bus signals between IMOD pixels. The optical stack 16 also can include one or more insulating or dielectric layers covering one or more conductive layers or a conductive/absorptive layer.
In some implementations, the layer(s) of the optical stack 16 can be patterned into parallel strips, and may form row electrodes in a display device as described further below. As will be understood by one having skill in the art, the term “patterned” is used herein to refer to masking as well as etching processes. In some implementations, a highly conductive and reflective material, such as aluminum (Al), may be used for the movable reflective layer 14, and these strips may form column electrodes in a display device. The movable reflective layer 14 may be formed as a series of parallel strips of a deposited metal layer or layers (orthogonal to the row electrodes of the optical stack 16) to form columns deposited on top of posts 18 and an intervening sacrificial material deposited between the posts 18. When the sacrificial material is etched away, a defined gap 19, or optical cavity, can be formed between the movable reflective layer 14 and the optical stack 16. In some implementations, the spacing between posts 18 may be on the order of 1-1000 um, while the gap 19 may be on the order of <10,000 Angstroms (Å).
In some implementations, each pixel of the IMOD, whether in the actuated or relaxed state, is essentially a capacitor formed by the fixed and moving reflective layers. When no voltage is applied, the movable reflective layer 14a remains in a mechanically relaxed state, as illustrated by the pixel 12 on the left in
The processor 21 can be configured to communicate with an array driver 22. The array driver 22 can include a row driver circuit 24 and a column driver circuit 26 that provide signals to, e.g., a display array or panel 30. The cross section of the IMOD display device illustrated in
In alternate implementations of electronic device 30, the processor may not communicate directly with the array driver 22 as shown in
In some implementations, a frame of an image may be created by applying data signals in the form of “segment” voltages along the set of column electrodes, in accordance with the desired change (if any) to the state of the pixels in a given row. Each row of the array can be addressed in turn, such that the frame is written one row at a time. To write the desired data to the pixels in a first row, segment voltages corresponding to the desired state of the pixels in the first row can be applied on the column electrodes, and a first row pulse in the form of a specific “common” voltage or signal can be applied to the first row electrode. The set of segment voltages can then be changed to correspond to the desired change (if any) to the state of the pixels in the second row, and a second common voltage can be applied to the second row electrode. In some implementations, the pixels in the first row are unaffected by the change in the segment voltages applied along the column electrodes, and remain in the state they were set to during the first common voltage row pulse. This process may be repeated for the entire series of rows, or alternatively, columns, in a sequential fashion to produce the image frame. The frames can be refreshed and/or updated with new image data by continually repeating this process at some desired number of frames per second.
The combination of segment and common signals applied across each pixel (that is, the potential difference across each pixel) determines the resulting state of each pixel.
As illustrated in
When a hold voltage is applied on a common line, such as a high hold voltage VCHOLD
When an addressing, or actuation, voltage is applied on a common line, such as a high addressing voltage VCADD
In some implementations, hold voltages, address voltages, and segment voltages may be used which always produce the same polarity potential difference across the modulators. In some other implementations, signals can be used which alternate the polarity of the potential difference of the modulators. Alternation of the polarity across the modulators (that is, alternation of the polarity of write procedures) may reduce or inhibit charge accumulation which could occur after repeated write operations of a single polarity.
During the first line time 60a: a release voltage 70 is applied on common line 1; the voltage applied on common line 2 begins at a high hold voltage 72 and moves to a release voltage 70; and a low hold voltage 76 is applied along common line 3. Thus, the modulators (common 1, segment 1), (1,2) and (1,3) along common line 1 remain in a relaxed, or unactuated, state for the duration of the first line time 60a, the modulators (2,1), (2,2) and (2,3) along common line 2 will move to a relaxed state, and the modulators (3,1), (3,2) and (3,3) along common line 3 will remain in their previous state. With reference to
During the second line time 60b, the voltage on common line 1 moves to a high hold voltage 72, and all modulators along common line 1 remain in a relaxed state regardless of the segment voltage applied because no addressing, or actuation, voltage was applied on the common line 1. The modulators along common line 2 remain in a relaxed state due to the application of the release voltage 70, and the modulators (3,1), (3,2) and (3,3) along common line 3 will relax when the voltage along common line 3 moves to a release voltage 70.
During the third line time 60c, common line 1 is addressed by applying a high address voltage 74 on common line 1. Because a low segment voltage 64 is applied along segment lines 1 and 2 during the application of this address voltage, the pixel voltage across modulators (1,1) and (1,2) is greater than the high end of the positive stability window (i.e., the voltage differential exceeded a predefined threshold) of the modulators, and the modulators (1,1) and (1,2) are actuated. Conversely, because a high segment voltage 62 is applied along segment line 3, the pixel voltage across modulator (1,3) is less than that of modulators (1,1) and (1,2), and remains within the positive stability window of the modulator; modulator (1,3) thus remains relaxed. Also during line time 60c, the voltage along common line 2 decreases to a low hold voltage 76, and the voltage along common line 3 remains at a release voltage 70, leaving the modulators along common lines 2 and 3 in a relaxed position.
During the fourth line time 60d, the voltage on common line 1 returns to a high hold voltage 72, leaving the modulators along common line 1 in their respective addressed states. The voltage on common line 2 is decreased to a low address voltage 78. Because a high segment voltage 62 is applied along segment line 2, the pixel voltage across modulator (2,2) is below the lower end of the negative stability window of the modulator, causing the modulator (2,2) to actuate. Conversely, because a low segment voltage 64 is applied along segment lines 1 and 3, the modulators (2,1) and (2,3) remain in a relaxed position. The voltage on common line 3 increases to a high hold voltage 72, leaving the modulators along common line 3 in a relaxed state.
Finally, during the fifth line time 60e, the voltage on common line 1 remains at high hold voltage 72, and the voltage on common line 2 remains at a low hold voltage 76, leaving the modulators along common lines 1 and 2 in their respective addressed states. The voltage on common line 3 increases to a high address voltage 74 to address the modulators along common line 3. As a low segment voltage 64 is applied on segment lines 2 and 3, the modulators (3,2) and (3,3) actuate, while the high segment voltage 62 applied along segment line 1 causes modulator (3,1) to remain in a relaxed position. Thus, at the end of the fifth line time 60e, the 3×3 pixel array is in the state shown in
In the timing diagram of
The details of the structure of interferometric modulators that operate in accordance with the principles set forth above may vary widely. For example,
As illustrated in
In implementations such as those shown in
The process 80 continues at block 84 with the formation of a sacrificial layer 25 over the optical stack 16. The sacrificial layer 25 is later removed (e.g., at block 90) to form the cavity 19 and thus the sacrificial layer 25 is not shown in the resulting interferometric modulators 12 illustrated in
The process 80 continues at block 86 with the formation of a support structure e.g., a post 18 as illustrated in
The process 80 continues at block 88 with the formation of a movable reflective layer or membrane such as the movable reflective layer 14 illustrated in
The process 80 continues at block 90 with the formation of a cavity, e.g., cavity 19 as illustrated in
Still with reference to
The display device 40 may include a housing, a display array 58, an antenna 43, a speaker 45, an input device 48, and a microphone 46. The housing may generally formed from any of a variety of manufacturing processes, including injection molding, and vacuum forming. In addition, the housing 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 implementation the housing includes removable portions that may be interchanged with other removable portions of different color, or containing different logos, pictures, or symbols.
The display array 58 of display device 40 may be any of a variety of displays including a bi-stable display, or interferometric modulator display as described herein. In other implementations, the display 58 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.
The illustrated display device 40 can include additional components associated therewith. For example, in one implementation, the display device 40 includes a network interface 27 that includes an antenna 43 which is coupled to a transceiver 47. The transceiver 47 is connected to a processor 56, which is connected to conditioning hardware 52. The conditioning hardware 52 may be configured to condition a signal (e.g. filter a signal). 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 display device 40, or may be incorporated within the processor 56 or other components.
The conditioning hardware 52 is connected to a speaker 45 and a microphone 46. The processor 56 is also connected to an input device 48 and a driver controller 29. A power supply (not shown) provides power to all components as required by the particular display device 40 design. The power supply can include a variety of energy storage devices as are well known in the art. For example, in one implementation, the power supply is a rechargeable battery, such as a nickel-cadmium battery or a lithium ion battery. In another implementation, the power supply is a renewable energy source, a capacitor, or a solar cell, including a plastic solar cell, and solar-cell paint. In another implementation, the power supply is configured to receive power from a wall outlet.
The network interface 27 includes the antenna 43 and the transceiver 47 so that the display device 40 can communicate with one ore more devices over a network. In one implementation the network interface 27 may also have some processing capabilities to relieve requirements of the processor 56. The antenna 43 is any antenna for transmitting and receiving signals. In one implementation, the antenna transmits and receives RF signals according to the IEEE 802.11 standard, including IEEE 802.11(a), (b), or (g). In another implementation, 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, W-CDMA, 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 56. The transceiver 47 also processes signals received from the processor 56 so that they may be transmitted from the display device 40 via the antenna 43.
In an alternative implementation, the transceiver 47 can be replaced by a receiver. In yet another alternative implementation, network interface 27 can be replaced by an image source, which can store or generate image data to be sent to the processor 56. 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.
The input device 48 allows a user to control the operation of the display device 40. In one implementation, 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 implementation, the microphone 46 is an input device for the 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 display device 40.
The device will typically include host software such as an operating system and one or more application programs that are running on the one or more processors 56 in the device. These host programs define what is to be displayed on the array 58. The processor 56 will generally include an internal memory (not shown) for storing image data, and includes electronic processing circuitry configured to process this image data as defined by one or more software or firmware programs running on the processor 56. In alternate implementations, the memory may be a physically separate component from the processor 56.
In some implementations, the host software configures the processor to perform a variety of image processing steps. For example, the host processor may configure the processor to store image data to the internal or external memory (not shown) of the device 40. When utilizing external memory, the processor will be in communication with the external memory via an address and data bus (also not shown). A processor with internal memory or a processor in communication with an external memory, along with host software running on processor 56 represents one means for storing image data to an electronic memory.
The host software may also configure the processor to perform other image processing steps, for example, dithering, quantization, and line doubling steps discussed later. In some implementations, the host software further configures the processor to communicate with the display controller 60 to determine what specific image data is displayed. The host software may also control line multiplying of the image data before the data is transferred to display controller 60. In other implementations, display controller 60 may control line multiplying.
Although the host software determines what information is displayed, direct control over the pixels of the array is generally allocated to a display controller 60 and driver circuits 62. Although illustrated as two blocks in
As the host receives and/or generates pixel data for display, it stores that data in a frame buffer 64. The host may have direct access to these memory locations, or it may access them through the display controller 60. The frame buffer 64 may be incorporated into the display controller 60. The display controller 60 reads the memory locations that constitute the frame buffer, and places the data into the correct format and timing to operate the driver circuits 62.
As noted above, in some displays, the time required to write data to the display elements can place constraints on the overall rate at which the display can be written to. If each common line is separately addressed, the write time necessary for each line will determine the overall frame write time. In some implementations, an increased refresh rate or frame rate of the display may be desired, and may be more important than the resolution or color range of the display for a good visual appearance to a user. In some implementations, driver circuitry and display arrays which are capable of presenting high resolution images with a wide color range may be utilized in a variety of different “modes” of strobing the common lines of the array. These modes may be designed to reduce one or both of the resolution and the color range and in turn increase the potential refresh rate of the display and/or save power consumption by strobing multiple lines of the array at the same time.
In some implementations, the resolution can be effectively reduced by simultaneously applying the same waveforms across common lines corresponding to display elements of the same color. For example, if a write waveform is simultaneously applied across red common lines 112a and 112b to address those common lines, the data pattern written to the interferometric modulators along common line 112a will be identical to the data pattern written to the interferometric modulators along common line 112b. If write waveforms are simultaneously applied across green common lines 114a and 114b, and then across blue common lines 116a and 116b, the data pattern written to pixel 130a will be identical to the data pattern written to pixel 130b, causing pixel 130a to display the same color as pixel 130b. Although the term “simultaneously” is used throughout this discussion for the purposes of conciseness, the voltage waveforms need not be perfectly synchronized. As discussed above with respect to
In comparison to a write process in which each common line is individually addressed, data has been written to pixels 130a and 130b in as little as half the time it would have taken to write separate data to pixels 130a and 130b, at the cost of decreased resolution. If this line multiplying process is applied to the remainder of the common lines in the display, the frame write time is considerably reduced.
In block 204, a plurality of data signals are applied along segment lines. Simultaneously, in block 206 a first write waveform is simultaneously applied to at least two common lines in the array to address the waveforms. Such a write waveform may include, for example, a positive or negative overdrive or address voltage appropriate for the common lines being addressed, as described with respect to
Although the flowchart of
In block 208, a determination is made as to whether any additional pairs or groups of common lines are to be simultaneously addressed. If so, the process returns to block 202 to select an appropriate pair or group of common lines to simultaneously address. If not, the process moves to further blocks which could include a termination of the frame write process if all necessary common lines have been addressed, or could include individual addressing of certain common lines. In addition, simultaneous addressing of pairs or groups of common lines may be interspersed with individual addressing of common lines, depending on the nature of the data to be written. For example, if a portion of the image data written to a display includes text or another still image, and another portion of the data includes a video which can be displayed at a lower resolution and which is located vertically between sections of text or still image, the portions of the display located above the video can be written by individually addressing those common lines, the portions of the display including the video can be written at a lower resolution by utilizing a line multiplying write process, and the write process may return to individual addressing of the common lines of the display for the portion of the display located below the video.
The particular method of line multiplication discussed above can apply identical write waveforms to common lines in adjacent pixels, although other pairs of common lines may be simultaneously addressed in other implementations. Furthermore, even if the line multiplying method is used to simultaneously apply write waveforms to common lines in adjacent pixels, all of the lines in a given pair or group of pixels need not be written before writing lines in other groups of pixels. In some implementations, multiple pairs or groups of common lines of the same color can be addressed before addressing common lines of another color. For example, red common lines 112a and 112b may be simultaneously addressed, followed by a subsequent write process which simultaneously addresses red common lines 112c and 112d. Because different voltage waveforms may be used to address common lines of different color display elements, utilize the write waveform appropriate for a particular color for multiple pairs or groups of common lines before addressing common lines of another color. In some implementations, any number of pairs or groups of common lines of a given color may be addressed before addressing common lines of another color. For example, in some implementations 5 pairs or groups of common lines of a given color may be addressed before common lines of another color are addressed, although larger or smaller numbers of pairs or groups may be used, as well.
In addition, although the simultaneous application of substantially identical waveforms to two common lines is discussed herein, further increases in refresh rate or frame write or reductions in power usage may be achieved by simultaneously applying substantially identical waveforms to more than two common lines.
In some methods of updating data on a display, charge buildup on particular display elements may be reduced by altering the polarity of the write waveforms applied to the common line. In one implementation, which may be referred to as frame inversion, a given frame is fully addressed using write waveforms of a particular polarity, and a subsequent frame is fully addressed using write waveforms of the opposite polarity. In other implementations, however, the polarity of write waveforms may be altered during a single frame write. In another implementation, which may be referred to as line inversion, the polarity of the write may be altered after addressing each line, and the polarity used to address a particular line will be changed in subsequent frames. If the display is being updated in a substantially linear fashion, this may result in adjacent lines being addressed by write voltages having opposite polarities. Thus, in some implementations, it may be advantageous to utilize a given write waveform having a given polarity to write to, for example, every other red common line with a positive polarity for some number of common lines, before writing to the skipped red common lines with a negative polarity.
Polarity inversion within a frame can be applied to a write process in which line multiplying is used as well. In one implementation, red lines 112c and 112d may be addressed using the opposite polarity of that used to address red lines 112a and 112b within a given frame write. In an implementation, such as the one described above, where a write waveform with a given polarity is used for multiple sequential addressing operations, red lines 112a and 112b may be addressed using a first polarity, and red lines 112c and 112d may be skipped while some number of additional pairs or groups of red lines are written using the first polarity. After some number of pairs or groups have been addressed using the first polarity, red lines 112c and 112d may be addressed using the opposite polarity.
If polarity inversion is utilized, addressing a certain number of lines of one color using a first polarity need not be followed by addressing a certain number of lines in the same color using the opposite polarity. In some other implementations, positive red write processes may be followed by, for example, negative blue write processes, or positive green write processes.
The above description sets forth the methods and benefits of writing identical data to multiple common lines simultaneously. Turning now to
One implementation for creating doubled lines is to substitute the even rows of data with copies of the odds row of data.
Further shown in
Digital image processing techniques may be employed to mitigate or eliminate the adverse effects of line doubling. These techniques may be implemented by host software executing, for example, on processor 56 of
Modules stored in nonvolatile memory 1440 include half-height module 1450, dithering module 1460, quantization module 1470, and line multiplying module 1480. The image processing modules comprise instructions that configure the processor 1410 to perform digital image processing tasks. These tasks may include reducing a full height image to a half height image, dithering of the half height image, quantizing the dithered image, and line doubling the quantized image. Instructions in the image processing modules may also configure the processor to read and write the working memory 1420 to store and load image data as it is processed through the various steps of a digital image pipeline. Instructions in the line multiplying module 1480 may also update an electronic display with image data stored in the working memory 1420. The line multiplying module 1480 may also utilize instructions in the operating system module 1490 discussed below to interface either directly or indirectly with the electronic display.
Another module stored in nonvolatile memory 1440 include a frame rate setting module 1495. This module includes instructions that configure the processor to determine whether the display frame stream is dynamic or static in nature, and adapts the frame rate of the display as desired. This module also adapts the image pipeline processes to select a dithering method to be used on the frames before they are displayed on an electronic display, and determines whether or not to line double the frame. Thus, the frame rate setting module 1495 provides for a variable frame rate display system, and therefore comprises one means for determining a display mode based on whether a current frame stream is static or dynamic.
Processor 1410 also executes instructions contained in operating system module 1490 to manage the hardware and software resources of device 1400. Instructions in operating system module 1490 may also provide a consistent interface to the instructions in the digital image processing modules and other modules.
Processor 1410 is also connected to display controller I/O. This may include a direct connection to display control hardware, as illustrated by display controller 60 of device 40 of
In other implementations, a touch screen input may provide for rapid display changes. For example, a “pinch to zoom” input may display a series of rapid images as an image is resized. The pinch input may place the display into a low resolution, fast update mode. The lower resolution, faster update mode may provide for a more smooth sense of motion as the image is zoomed with the touch input. When the zoom operation is complete, the display may return to a full resolution mode.
The data flow begins at the far left of
The frame rate setting module 1530 may examine two or more frames 1545 and 1560 to determine an appropriate frame rate for electronic display 1550. The frame rate setting module may also utilize other information to determine an appropriate frame rate. For example, the frame rate setting module 1530 may set the frame rate based on the type of video stream being displayed. As described earlier, a H 264 video stream may cause the frame rate setting module to select a particular frame rate.
In some implementations, the system may compare the current frame to a previous frame or a subsequent frame to characterize the current frame as static or dynamic. In some implementations, if the two frames are different, the current frame is characterized as dynamic. If the two frames are equivalent, the current frame is characterized as static. The frame rate setting module 1530 may then select a frame rate based at least in part on the characterization of the current frame. For example, if the current frame is characterized as static, a slower frame rate with higher resolution may be selected. If the current frame is characterized as dynamic, a faster frame rate with lower resolution may be selected.
Other implementations may examine more than two frames when characterizing the current frame as static or dynamic. For example, as shown by the frames grouped by dotted line 1590 of
Considering more than two frames may enable improved image quality in some implementations. For example, flicker caused by unnecessary transitions in frame rate may be reduced by examining enough frames to detect transient events in the frame stream that should not be used as a basis for frame rate changes.
Other implementations may avoid unnecessary flicker by maintaining a minimum “settle time” before a mode switch. With this approach, once a display mode switch has occurred, no additional switching is done for some minimum time, regardless of the nature of the frame stream. An appropriate settle time may be chosen to avoid both the display of lower resolution still images for a prolonged period, or “jerky” motion effects resulting from a frame rate that is too slow to adequately convey motion.
Once the desired display mode or frame rate is known, the frame rate setting module 1530 may determine whether the current frame is necessary to maintain the desired frame rate. If the frame is necessary, frame rate setting module 1530 may forward the frame to either the line multiplying image pipeline 1510 or the non-line multiplying image pipeline 1515. In some implementations, the input frame rate provided by the series of display frames at the far left of the dataflow diagram may exceed the display frame rate even for the fastest frame rate supported by the image pipeline. In this case, the frame rate setting module 1530 will discard some frames, although the rate at which frames are discarded may vary with display mode. Additionally, if the frame stream is characterized as static by the frame rate setting module 1530, the frame rate of the display may be lower than the frame rate provided by the series of display frames. In these circumstances, unnecessary frames may be discarded before processing them further in the image pipeline.
Once the frame rate of the input stream has been matched to the frame rate of the display, the frame rate setting module 1530 will transfer dynamic frames to be displayed at a fast update rate to the line multiplying image pipeline 1510. Static frames to be displayed at a slower update rate will be transferred to the non line multiplying image pipeline 1520. Each image pipeline may process the frames differently. For example, the dithering methods utilized by each pipeline may be different. Additionally, the line doubling image pipeline may create a half height version of the image and line multiplying the image. This may not be performed in the non line doubling image pipeline.
In some implementations, static frames are transferred to a simple non line multiplying image pipeline 1515. This image pipeline dithers and quantizes the frame, and then displays the frame on the display 1550 at a time defined by the static frame rate. When the selected image pipeline completes processing of the frame, the frame is displayed on electronic display 1550. By selecting which image pipeline will process a frame, the frame rate setting module determines the dithering method used for the frame.
In an implementation of an image pipeline utilizing line multiplying, such as image pipeline 1510 of
Regardless of the specific implementation details chosen by a particular implementation, once a half height image is provided, some implementations of host software may dither the half height image, as illustrated by
Quantization is performed in some implementations of host software, and is illustrated by the transformation of the dithered image of
While quantization is often necessary, it may produce banding effects in the displayed image. These effects, known as quantization error, arise when adjacent pixels with similar values are mapped to an identical new pixel value. Dithering improves image quality by adding noise to the image that disrupts the visual patterns that would otherwise result from the quantization error caused when similarly valued pixels are rounded during the quantization process. A host program dithering method is dependent on the dither noise signal. The dither noise signal can be represented by a dither mask. To apply the noise signal to the target image, in one implementation, instructions in the host program “tile” the dither mask to match the dimensions of the target image. Therefore, the dithering module 1460 represents one means for dithering a frame using a dithering method to produce a dithered frame.
Below each noise mask in the top row of
Utilization of the noise signal represented by
By utilizing a noise signal with primarily high frequency components, the artifacts evident in
Applying the noise signal of
However, in implementations using image processing that performs dithering and line multiplying, as illustrated by process 1700 of
The dithering operation presents special challenges when line multiplying, partially because it must be performed before line multiplying. Since dithering introduces random noise to an image, dithering of a full height line multiplied image would cause each line of the image to become unique.
Therefore, in implementations where it is desirable to have identical multiplied lines to realize performance advantages, host programs may perform the dithering process at a point in the image pipeline before the line multiplying occurs. However, when an image is dithered before it is line multiplied, the subsequent multiplying operation creates effects in the dithered image. These effects reduce image quality. For example, because line multiplying scales an image in one dimension, it also reduces the frequency of any noise signal along the multiplied dimension of the image by one half.
This lower frequency noise has undesirable visual effects, illustrated by image (e) of
To compensate for the effect of the line doubling on the dithering noise signal, the dither noise signal can be tailored to provide improved results after the line doubling operation occurs. Since the image is multiplied in only one dimension, the dithering may introduce a noise signal with fewer low frequency components in the multiplied dimension, while maintaining frequency components similar to that of the signal represented by the discrete Fourier transform of
The results of dithering with the noise signal of
If the current frame is required to maintain the current display frame rate, process 2000 moves to block 2075, where the current frame is converted into a half height image in the illustrated implementation. Block 2075 may be performed by instructions included in the half height module 1450 of
Returning to decision block 2020, if the current frame is part of a static frame stream, process 2000 moves from block 2020 to decision block 2030. Whether the current frame is required to maintain the target frame rate for a static frame stream is determined in decision block 2020. If the frame is not required, process 2000 moves to block 2060 and the frame is discarded. Process 2000 then moves to end block 2095.
Returning to decision block 2030, if the current frame is needed to maintain the target frame rate, process 2000 moves to block 2040 where the current frame is dithered with a noise signal tailored for the static frame. Some implementations may use a noise signal with high frequency components symmetrically distributed around zero frequency. Dithering of the frame may be implemented in some implementations by instructions included in the dithering module 1460 of
As illustrated, the two frames to the left labeled “A” are static frames. Because the two “A” frames are part of a frame stream characterized as static, a slower update rate without line multiplication is used, and a noise signal with a symmetric high frequency mask 2150 is used in this implementation to dither those frames.
The character of the stream transitions to a dynamic stream to the right of vertical bar 2130. This is the result of a change in the frame image pattern illustrated by double arrow 2110 from “A” to “B”, “C”, “D”, and “E”. Because the frame stream has become dynamic, a higher frame rate is used to adequately convey motion on the display in the illustrated implementation. As such, the image pipeline transitions into a line multiplying mode, and a dither noise signal with asymmetric frequency components 2160 is used for frames in the middle region of the illustrated frame stream. Finally, after vertical line 2140, the frame stream is again characterized as static. The image pipeline stops line multiplying, slows the frame update rate, and a noise signal with a symmetric noise mask 2170 is used to dither the frames.
The display device 40 includes a housing 41, a display 30, an antenna 43, a speaker 45, an input device 48, and a microphone 46. The housing 41 can be formed from any of a variety of manufacturing processes, 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. The housing 41 can include 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 may be any of a variety of displays, including a bi-stable or analog display, as described herein. The display 30 also can be configured to include a flat-panel display, such as plasma, EL, OLED, STN LCD, or TFT LCD, or a non-flat-panel display, such as a CRT or other tube device. In addition, the display 30 can include an interferometric modulator display, as described herein.
The components of the display device 40 are schematically illustrated in
The illustrated display device 40 can include additional components associated therewith. For example, in one implementation, the display device 40 includes a network interface 27 that includes an antenna 43 which is coupled to a transceiver 47. The transceiver 47 is connected to a processor 56, which is connected to conditioning hardware 52. The conditioning hardware 52 may be configured to condition a signal (e.g. filter a signal). 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 display device 40, or may be incorporated within the processor 56 or other components.
The conditioning hardware 52 is connected to a speaker 45 and a microphone 46. The processor 56 is also connected to an input device 48 and a driver controller 29. A power supply (not shown) provides power to all components as required by the particular display device 40 design. The power supply can include a variety of energy storage devices as are well known in the art. For example, in one implementation, the power supply is a rechargeable battery, such as a nickel-cadmium battery or a lithium ion battery. In another implementation, the power supply is a renewable energy source, a capacitor, or a solar cell, including a plastic solar cell, and solar-cell paint. In another implementation, the power supply is configured to receive power from a wall outlet.
The network interface 27 includes the antenna 43 and the transceiver 47 so that the display device 40 can communicate with one ore more devices over a network. In one implementation the network interface 27 may also have some processing capabilities to relieve requirements of the processor 56. The antenna 43 is any antenna for transmitting and receiving signals. In one implementation, the antenna transmits and receives RF signals according to the IEEE 802.11 standard, including IEEE 802.11(a), (b), or (g). In another implementation, 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, W-CDMA, 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 56. The transceiver 47 also processes signals received from the processor 56 so that they may be transmitted from the display device 40 via the antenna 43.
In some implementations, the transceiver 47 can be replaced by a receiver. In addition, the network interface 27 can be replaced by an image source, which can store or generate image data to be sent to the processor 21. The processor 21 can control the overall operation of the 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 can send the processed data to the driver controller 29 or to the 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.
The processor 21 can include a microcontroller, CPU, or logic unit to control operation of the display device 40. The conditioning hardware 52 may include amplifiers and filters for transmitting signals to the speaker 45, and for receiving signals from the microphone 46. The conditioning hardware 52 may be discrete components within the display device 40, or may be incorporated within the processor 21 or other components.
The driver controller 29 can take the raw image data generated by the processor 21 either directly from the processor 21 or from the frame buffer 28 and can re-format the raw image data appropriately for high speed transmission to the array driver 22. In some implementations, the driver controller 29 can re-format 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 an 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. For example, controllers 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.
The array driver 22 can receive the formatted information from the driver controller 29 and can re-format the video data into a parallel set of waveforms that are applied many times per second to the hundreds, and sometimes thousands (or more), of leads coming from the display's x-y matrix of pixels.
In some implementations, the driver controller 29, the array driver 22, and the display array 30 are appropriate for any of the types of displays described herein. For example, the driver controller 29 can be a conventional display controller or a bi-stable display controller (e.g., an IMOD controller). Additionally, the array driver 22 can be a conventional driver or a bi-stable display driver (e.g., an IMOD display driver). Moreover, the display array 30 can be a conventional display array or a bi-stable display array (e.g., a display including an array of IMODs). In some implementations, the driver controller 29 can be integrated with the array driver 22. Such an implementation is common in highly integrated systems such as cellular phones, watches and other small-area displays.
In some implementations, the input device 48 can be configured to allow, e.g., a user to control the operation of the display device 40. The input device 48 can include a keypad, such as a QWERTY keyboard or a telephone keypad, a button, a switch, a rocker, a touch-sensitive screen, or a pressure- or heat-sensitive membrane. The microphone 46 can be configured as an input device for the display device 40. In some implementations, voice commands through the microphone 46 can be used for controlling operations of the display device 40.
The power supply 50 can include a variety of energy storage devices as are well known in the art. For example, the power supply 50 can be a rechargeable battery, such as a nickel-cadmium battery or a lithium-ion battery. The power supply 50 also can be a renewable energy source, a capacitor, or a solar cell, including a plastic solar cell or solar-cell paint. The power supply 50 also can be configured to receive power from a wall outlet.
In some implementations, control programmability resides in the driver controller 29 which can be located in several places in the electronic display system. In some other implementations, control programmability resides in the array driver 22. The above-described optimization may be implemented in any number of hardware and/or software components and in various configurations.
The various illustrative logics, logical blocks, modules, circuits and algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. The interchangeability of hardware and software has been described generally, in terms of functionality, and illustrated in the various illustrative components, blocks, modules, circuits and steps described above. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system.
The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular steps and methods may be performed by circuitry that is specific to a given function.
In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents thereof, or in any combination thereof. Implementations of the subject matter described in this specification also can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage media for execution by, or to control the operation of, data processing apparatus.
If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The steps of a method or algorithm disclosed herein may be implemented in a processor-executable software module which may reside on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that can be enabled to transfer a computer program from one place to another. A storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection can be properly termed a computer-readable medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and instructions on a machine readable medium and computer-readable medium, which may be incorporated into a computer program product.
Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the disclosure is not intended to be limited to the implementations shown herein, but is to be accorded the widest scope consistent with the claims, the principles and the novel features disclosed herein. The word “exemplary” is used exclusively herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations. Additionally, a person having ordinary skill in the art will readily appreciate, the terms “upper” and “lower” are sometimes used for ease of describing the figures, and indicate relative positions corresponding to the orientation of the figure on a properly oriented page, and may not reflect the proper orientation of the IMOD as implemented.
Certain features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results.
Number | Date | Country | |
---|---|---|---|
61453064 | Mar 2011 | US |