Source: http://www.google.com/patents/US20030080971?ie=ISO-8859-1&dq=6,712,702
Timestamp: 2014-12-19 13:26:40
Document Index: 260865737

Matched Legal Cases: ['art 90', 'art 110', 'art 130', 'art 130', 'art 150', 'art 190', 'art 206']

Patent US20030080971 - System and method for communicating graphics image data over a communication ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA graphics adapter comprises a frame buffer operable to store graphics image data. The graphics adapter also comprises a network interface operable to receive at least a portion of the graphics image data, the network interface further operable to format the received graphics image data into a plurality...http://www.google.com/patents/US20030080971?utm_source=gb-gplus-sharePatent US20030080971 - System and method for communicating graphics image data over a communication networkAdvanced Patent SearchPublication numberUS20030080971 A1Publication typeApplicationApplication numberUS 10/001,430Publication dateMay 1, 2003Filing dateOct 31, 2001Priority dateOct 31, 2001Also published asUS7589737, US7777754, US20090027406Publication number001430, 10001430, US 2003/0080971 A1, US 2003/080971 A1, US 20030080971 A1, US 20030080971A1, US 2003080971 A1, US 2003080971A1, US-A1-20030080971, US-A1-2003080971, US2003/0080971A1, US2003/080971A1, US20030080971 A1, US20030080971A1, US2003080971 A1, US2003080971A1InventorsRoland Hochmuth, Johnny Marks, Robert MartinOriginal AssigneeHochmuth Roland M., Johnny Marks, Martin Robert P.Export CitationBiBTeX, EndNote, RefManReferenced by (24), Classifications (18), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetSystem and method for communicating graphics image data over a communication networkUS 20030080971 A1Abstract A graphics adapter comprises a frame buffer operable to store graphics image data. The graphics adapter also comprises a network interface operable to receive at least a portion of the graphics image data, the network interface further operable to format the received graphics image data into a plurality of packets for transmission over a communication network. Images(7) Claims(28)
DETAILED DESCRIPTION OF THE DRAWINGS [0020] The preferred embodiment of the present invention and its advantages are best understood by referring to FIGS. 1 through 9 of the drawings, like numerals being used for like and corresponding parts of the various drawings. [0021] There is a desire for an improved system and method for communicating graphics image data over a communication network, such as a computer network. [0022] Accordingly, a graphics adapter comprising a compression unit and a network interface, capable of communicating with a destination device, such as a remote computer, over a communication network, such as a computer network, is disclosed. [0023] The graphics adapter also includes a memory unit, such as a frame buffer. In addition to or in place of one or more video output ports, such as analog video ports, Digital Visual Interface (DVI) video ports, and the like, that are included in existing graphics adapters, the graphics adapter in accordance with the present invention may be provided with a network interface port, for example an Ethernet port, an Infiniband port, a fiber port, a wireless network transceiver, and the like. The network interface port may be used for transmitting the contents of the frame buffer in either compressed or uncompressed form via the computer network to one or more remote computers. [0024]FIG. 1 is a block diagram of an exemplary system 10 in which the graphics adapter of the present invention may be used. System 10 preferably comprises at least one source device 12, such as at least one processor-based system, for example computers, and at least one destination device 14. Destination device 14 may comprise, for example a display device capable of being directly coupled to a communication network, a display associated with a computer, and the like. One or more source devices 12 may communicate with each other over a communication network (not shown), such as a local area network. Source device 12 preferably communicates with destination device 14 over a communication network 16. Communication network 16 may comprise an intranet, an extranet and/or the Internet. [0025] Source device 12 may comprise a graphics adapter 20. However, in alternative embodiments, graphics adapter 20 may not be part of source device 12. In such an embodiment, graphics adapter 20 may be coupled directly to communication network 16. [0026]FIG. 2A is a logical block diagram of a graphics adapter 20 in accordance with an embodiment of the present invention. Graphics adapter 20 comprises a network interface chip 38 coupled to a memory unit 24. A graphics chipset 22 is also preferably coupled to memory unit 24. Network interface chip 38 preferably comprises a compression unit 26 and a network interface 28. If desired, graphics adapter 20 may also comprise at least one video transmitter, for example an analog transmitter 30 and a digital transmitter 32, coupled to memory unit 24. Preferably, analog transmitter 30 and digital transmitter 32 are also coupled to each other. If desired, network interface chip 38 may be coupled to graphics chipset 22. [0027] Graphics chipset 22 is a conventional graphics chipset which renders the image to be displayed on destination device 14. The image may be rendered based at least in part on instructions received from a memory unit of source device 12 or instructions received from destination device 14. Instructions from source device 12 are preferably received via a graphics port 34. Graphics port 34 may be a Peripheral Component Interconnect (PCI) port, an Accelerated Graphics Port (AGP), an Infiniband Port, a fiber port and the like. In an alternative embodiment, instructions may be received via a network interface port 36. In such an embodiment, graphics adapter 20 may not include graphics port 34. Rendering of an image typically comprises translating high-level instruction to bitmap images which are a matrix of pixels. The process of rendering is known in the art and as such will not be described in detail herein. [0028] Memory unit 24 preferably comprises a frame buffer 50. Frame buffer 50 is used to store information about the rendered image. Frame buffer 50 may store information, such as color, transparency values, depth and/or the like, for each pixel in the rendered image. [0029] Compression unit 26 of network interface chip 38 preferably compresses the data stored in frame buffer 50. Compression unit 26 includes compression logic optimized for use with graphics image data stored in frame buffer 50. However, the invention is not so limited and any kind of compression logic may be used by compression unit 26. Compression unit 26 may be implemented using general-purpose hardware components, such as a digital signal processor or microprocessor, and appropriate software for controlling the operation of the hardware components. If desired, compression unit 26 may be implemented using dedicated hardware, an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA) that is specially designed for carrying out the compression. [0030] Network interface 28 formats the graphics image data for transmission over a network, such as communication network 16. A network interface port 36, for example an Ethernet port, an Infiniband port, a fiber port, a wireless network transceiver, and the like, is preferably coupled to network interface chip 38. Network interface 28 converts the graphics image data into packets to be transmitted to destination device 14 via network interface port 36 over communication network 16. The graphics image data may be obtained by network interface 28 either from compression unit 26 or from frame buffer 50. For example, in one embodiment, graphics image data from frame buffer 50 may be compressed by compression unit 26 and provided to network interface 28. In another embodiment, after compressing the graphics image data, compression unit 26 may provide the data back to frame buffer 50 and network interface 28 may read the compressed graphics image data directly from frame buffer 50. In yet another embodiment, for example when compression of graphics image data is not desired, network interface 28 may read graphics image data directly from frame buffer 50. [0031] Analog transmitter 30 comprises a conventional RAMDAC and may be used to convert graphics image data stored in memory unit 24 from digital format into an analog format to be transmitted to an analog device, such as an analog monitor which may be coupled to source device 12, via analog video port 40. Digital transmitter 32 comprises a conventional Digital Visual Interface (DVI) transmitter and may be used to transmit graphics image data in digital format from memory unit 24 to a digital device, such as a digital monitor which may be coupled to source device 12, via digital video port 42. [0032]FIG. 2B is a logical block diagram of graphics adapter 20 in accordance with another embodiment of the present invention. Graphics adapter 20 as shown in FIG. 2B comprises a network attachable graphics chip 52 coupled to memory unit 24. Network attachable graphics chip 52 comprises a graphics unit 44, compression unit 26 and network interface 28. If desired, graphics adapter 20 may also comprise at least one video transmitter, for example analog transmitter 30 and digital transmitter 32, coupled to memory unit 24. Preferably, analog transmitter 30 and digital transmitter 32 are also coupled to each other. In graphics adapter 20 of FIG. 2B, network interface port 36 is preferably coupled to network attachable graphics chip 52. Graphics unit 44 performs substantially the same function as graphics chipset 22 of FIG. 2A. One of the advantages of graphics adapter 20 of FIG. 2B over the embodiment of FIG. 2A is that the manufacturing cost of the graphics adapter can be reduced as only one chip, network attachable graphics chip 52, is used in the embodiment of FIG. 2B. [0033] In an alternative embodiment, graphics adapter 20 does not include analog transmitter 30 or digital transmitter 32. In yet another embodiment, graphics adapter 20 does not include analog video port 40 and digital video port 42; graphics image data is transmitted to source device 12 via network interface port 36. [0034] In yet another embodiment of the present invention, graphics adapter 20 does not include graphics port 34 for receiving graphics commands. Instead graphics adapter 20 receives graphics commands over communication network 16 via network interface port 36. The graphics command may be received from source device 12 or from destination device 14. [0035]FIG. 3 is a flowchart 90 describing the operation of graphics adapter 20 in accordance with an embodiment of the present invention. In step 92, the graphics adapter waits for either the lapse of a predetermined period of time or the receipt of an update request. The predetermined period of time may be dependent upon the refresh rate of a display associated with destination device 14. Destination device 14 itself may be the display. The update request may be received by graphics adapter 20 from source device 12 via graphics port 34. The request may also be received by the graphics adapter from destination device 14 via network interface port 36 over communication network 16. [0036] Upon the occurrence of one of the above events, a determination is made in step 94 as to whether the graphics image data in frame buffer 50 has been changed since the last update. If the graphics image data in frame buffer 50 has not been changed, then the process starting at step 92 is repeated. The step of determining whether the graphics image data in frame buffer 50 has been changed is optional and has been shown in FIG. 3 by dashed lines. [0037] In the preferred embodiment of step 94, a flag is read to determine whether the graphics image data in frame buffer 50 associated with the destination device has been updated since the last transmission. The flag may have been previously set by graphics chipset 22 during a write to frame buffer 50. For example, when information for each pixel is written into frame buffer 50, the pixel value could be compared with a previously stored value, and the flag is set if there has been a change. If desired, the particular region of frame buffer 50 associated with the destination device that has changed may also be tracked, for example by tracking the minimum and maximum values in the x and y coordinates for the region that has changed. [0038] In step 98, graphics image data from frame buffer 50 is read by compression unit 26. If desired, color coalescing may be performed in this step. A Display Refresh Unit (DRU) may perform the task of color coalescing. The DRU may be part of the network interface chip or may be coupled to the network interface chip. Color coalescing is the process of merging images of multiple display surfaces, such as a primary display surface and one or more overlay planes into a single image. One or more color look-up tables containing colors for the pixels may be stored in registers (not shown) on graphics chipset 22. A window identifier may be used to determine the color look-up table to be used. Based on the value for the pixels stored in frame buffer 50, the colors for the pixels are obtained from the determined color look-up table. [0039] In step 100, a determination is made as to whether compression is enabled. A compression bit within a register (not shown) on graphics chipset 22 may be read to determine if compression is enabled or not. If compression is enabled, then in step 102, graphics image data read from frame buffer 50 is compressed preferably by compression unit 26. Preferably, a compression algorithm optimized for compressing graphics image data read from frame buffer 50 is used. However, any of a variety of compression algorithms may be used by compression unit 26 to compress the data read from frame buffer 50. After compression, compression unit 26 may write the compressed data back to frame buffer 50. Compression of graphics image data prior to transmission over communication network 16 significantly reduces the amount of data that is transmitted over communication network 16. [0040] If, in step 100, it is determined that compression is not enabled, then execution proceeds directly to step 104. In step 104, graphics image data is formatted for communication over communication network 16, preferably by network interface 28. Network interface 28 may read graphics image data from frame buffer 50 or may receive graphics image data directly from compression unit 26. In a preferred embodiment, graphics image data, whether in compressed form or in uncompressed form, is formatted into a plurality of packets suitable for transmission over communication network 16 using a communication protocol, such as Internet Protocol (IP). The formatted data packets include, among other things, identification information of destination device 14 to which the graphics image data is to be transmitted. Identification information may include for example an IP address of destination device 14. Identification information about destination device 14 may be received by graphics adapter 20 either from source device 12 or from destination device 14 itself. [0041] In step 106, the formatted graphics image data is transmitted over communication network 16 to destination device 14, preferably as one or more Internet Protocol (IP) packets. The packets include a portion of the graphics image data (payload) and identification information about destination device 14. If desired, the same graphics image data may be transmitted to more than one destination device 14. This may be accomplished, for example, by creating data packets with the same payload but different identification information corresponding to the different destination devices. If desired, the formatted graphics image data may be transmitted via graphics port 34 to source device 12. Transmitting the graphics image data to source device 12 allows the source device to perform further processing of the graphics image data as desired. By transmitting packets with the same payload to more than one destination device, the same data may be presented to users of multiple destination devices, thereby enabling sharing of graphics image data by these multiple users. If desired, different graphics image data may be transmitted from graphics adapter 20 to the different users as described herein with reference to FIG. 6. [0042]FIG. 4 is a flowchart 110 describing the operation of a graphics adapter in accordance with another embodiment of the present invention. In step 112, the graphics adapter receives a request for an updated image from destination device 14. The request is received preferably over communication network 16 via network interface port 36. Information identifying destination device 14 may also be received from destination device 14. [0043] In step 116, graphics image data is stored in frame buffer 50. In step 118, graphics image data from frame buffer 50 is read preferably by compression unit 26. If desired, color coalescing may be performed in this step. In step 120, a determination is made as to whether compression is enabled. If compression is enabled, then in step 122, graphics image data read from frame buffer 50 is compressed preferably by compression unit 26. [0044] If, in step 120, it is determined that compression is not enabled, then execution proceeds directly to step 124. In step 124, the graphics image data is formatted for communication over communication network 16, preferably by network interface 28. Network interface 28 may read graphics image data from frame buffer 50 or may receive graphics image data directly from compression unit 26. In a preferred embodiment, graphics image data, whether in compressed form or in uncompressed form, is formatted into a plurality of packets suitable for transmission over communication network 16 using a communication protocol, such as Internet Protocol (IP). The formatted data packets include, among other things, identification information of destination device 14 to which the graphics image data is to be transmitted. Identification information may include for example an IP address of destination device 14. In step 126, the formatted graphics image data is transmitted over communication network 16 to destination device 14, preferably as one or more IP packets. [0045]FIG. 5 is a flowchart 130 describing the operation of a graphics adapter in accordance with a further embodiment of the present invention. In the method of flowchart 130 only the portions of the frame buffer that have changed since the last update are transmitted to destination device 14. Graphics image data for a display may be effectively partitioned into a plurality of blocks, for example 16,384 blocks. As mapped to a display, these blocks may comprise an array of 128 blocks by 128 blocks. In a display having a resolution of 1,280 pixels by 1,024 pixels, each block has a corresponding resolution of 10 pixels by 8 pixels. However, the present invention is not so limited and a number of different block sizes may be chosen based upon system resources, the nature of the graphics image data to be transmitted, and a number of other factors. [0046] Preferably, frame buffer 50 of graphics adapter of FIGS. 2A-2B stores information about both a new image and a previous image so that comparisons between the two images may be made. In step 132, the graphics adapter waits for either the lapse of a predetermined period of time or the receipt of an update request. The predetermined period of time may be dependent upon the refresh rate of a display associated with destination device 14. The request for an update may be received from source device 12 with which the graphics adapter is associated via graphics port 34. The request may be received by the graphics adapter from destination device 14 via network interface port 36 over communication network 16. [0047] In step 134, portions or blocks of the graphics image data stored in the frame buffer corresponding to the new image are compared to corresponding portions or blocks of the graphics image data stored in the frame buffer corresponding to the previous image. In step 136, a determination is made as to whether any portions have changed since the last update. If the graphics image data has not been changed then the process starting at step 132 is repeated. [0048] In step 138, a determination is made as to whether compression is enabled. If compression is enabled, then in step 140, graphics image data for portions or blocks of the new image that are determined to be different from the corresponding portions or blocks of the previous image are compressed. In an alternative embodiment, only those blocks that have changed since the last update and are within a �region of interest� specified by destination device 14 are compressed. This may be desirable, for example, when destination device 14 only desires to update specific portions of its display, for example a specific window of a plurality of windows. [0049] If, at step 138, it is determined that compression is not enabled, then execution proceeds directly to step 142. In step 142, graphics image data for blocks that have changed is formatted for communication over communication network 16, preferably by network interface 28. In a preferred embodiment, graphics image data in any block with any change at all from the previously stored block may be formatted. If desired, some threshold for change may be set. The graphics adapter may be configured to evaluate the degree or amount of change and format the graphics image data only if it has changed by some predetermined amount. [0050] Network interface 28 may read graphics image data from frame buffer 50 or may receive graphics image data directly from compression unit 26. In a preferred embodiment, graphics image data associated with any blocks that have changed, whether in compressed form or in uncompressed form, is formatted into a plurality of packets suitable for transmission over communication network 16 using a communication protocol, such as Internet Protocol (IP). A packet may include one or more blocks of graphics image data. The formatted data packets include, among other things, identification information of destination device 14 to which the graphics image data is to be transmitted. Identification information may include for example an IP address of destination device 14. Identification information about destination device 14 may be provided to the graphics adapter either from source device 12 or from destination device 14 itself. [0051] In step 144, block identifiers (IDs) are added to the packets of data to be transmitted. The block ID information is preferably used by destination device 14 for updating a display associated with it. A block ID identifies the particular block for which graphics image data is being transmitted. A block ID may be a block number. If desired, the minimum and maximum values in the x and y coordinates (Xmin, Xmax, Ymin, Ymax) for the block may be used as the block ID. The four corners of the block that is identified by the minimum and maximum values in the x and y coordinates are given by (Xmin, Ymin), (Xmax, Ymin), (Xmax, Ymax) and (Xmin, Ymax). [0052] In step 146, formatted graphics image data is transmitted over communication network 16 to destination device 14, preferably as one or more IP packets. If, desired, formatted graphics image data may be transmitted over graphics port 34 to source device 12. The same graphics image data may be transmitted to one or more destination devices 14. This may be accomplished, for example, by creating data packets with the same payload but including identification information, such as IP addresses, for different destination devices in the data packets. [0053] In step 148, one or more blocks of frame buffer 50 corresponding to the previous image are updated. Preferably, only the blocks of the frame buffer associated with the previous image that have changed are overwritten by graphics image data for the corresponding blocks of the new image. If desired, the entire portion of the frame buffer associated with the previous image may be overwritten by graphics image data from the frame buffer associated with the new image. [0054] It may be desirable to periodically transmit an entire frame buffer associated with a display to avoid problems that may occur due to packets lost in transmission or otherwise. If desired, destination device 14 may be configured to transmit acknowledgements back to the graphics adapter to better ensure proper synchronization between the graphics adapter and destination device 14. [0055]FIG. 6 is a flowchart 150 describing the operation of a graphics adapter in accordance with yet another embodiment of the present invention. The method as described herein with reference to FIG. 6 may be used to provide support for multiple destination devices by the same graphics adapter. The graphics adapter of the present invention may be used to render graphics for multiple destination devices, such as multiple computers, coupled to communication network 16. Graphics image data may be transmitted from the graphics adapter to the destination devices via network interface port 36 over communication network 16 without the need for separate ports for the different destination devices. Thus, the number of destination devices that may be supported is not limited by the number of physical ports associated with the graphics adapter. [0056] In step 152, the graphics adapter waits for either the lapse of a predetermined period of time or the receipt of an update request. The predetermined period of time may be dependent upon the refresh rate of a display associated with a destination device. The request for an update may be received by the graphics adapter from source device 12 with which the graphics adapter is associated via graphics port 34. The request may be received by the graphics adapter from destination device 14 via network interface port 36 over communication network 16. [0057] Upon the occurrence of one of the above events, in step 154, the portion of frame buffer 50 corresponding to destination device 14 to which graphics image data is to be transmitted is determined. In the preferred embodiment, a destination device table may be looked up to determine the portion of the frame buffer 50 corresponding to the destination device. The destination device table preferably includes information about one or more destination devices, such as identification information of the destination device, the region of frame buffer 50 assigned to the destination device, information indicating whether graphics image data corresponding to the destination device has changed, and/or the like. [0058] In step 156 a determination is made as to whether the graphics image data corresponding to the destination device in frame buffer 50 has been changed since the last update. If the graphics image data in frame buffer 50 has not been changed, then the process starting at step 152 is repeated. The step of determining whether the graphics image data in frame buffer 50 has been changed is optional and has been shown in FIG. 6 by dashed lines. [0059] In step 158, a determination is made as to whether compression is enabled. If compression is enabled, then in step 160, graphics image data stored in the portion of frame buffer 50 associated with the particular destination device is compressed preferably by compression unit 26. [0060] If, in step 158, it is determined that compression is not enabled, then execution proceeds directly to step 162. In step 162, the graphics image data associated with the particular destination device 14 is formatted for communication over communication network 16, preferably by network interface 28. Network interface 28 may read graphics image data from frame buffer 50 or may receive graphics image data directly from compression unit 26. In a preferred embodiment, graphics image data, whether in compressed form or in uncompressed form, is formatted into a plurality of packets suitable for transmission over communication network 16 using a communication protocol, such as Internet Protocol. The formatted data packets include, among other things, identification information of destination device 14 to which the graphics image data is to be transmitted. Identification information may include for example an IP address of the particular destination device 14. Identification information about destination device 14 may be received by the graphics adapter either from source device 12 or from destination device 14 itself. [0061] In step 164, the formatted graphics image data is transmitted over communication network 16 to destination device 14, preferably as one or more IP packets. [0062] A technical advantage of an exemplary embodiment of the graphics adapter of the present invention is that graphics image data does not have to be transferred back into the memory of the source computer in order to be transferred to a destination device. Because the graphics adapter may be directly connected to a communication network, graphics image data from the graphics adapter may be directly transmitted over the communication network to the destination device. Another technical advantage of an exemplary embodiment of the graphics adapter of the present invention is that graphics image data of the frame buffer is transmitted to the destination device only if the contents of the frame buffer have changed. Moreover, if desired, graphics image data for only particular regions of interest, for example, the blocks of the frame buffer that have changed, may be transmitted, thereby eliminating the need to transmit the contents of the entire frame buffer with every update. [0063] Moreover, the graphics image data may be tagged or addressed and sent to more than one destination device. Thus, multiple destination devices may be simultaneously supported by the same graphics adapter without being limited by the number of physical ports associated with the graphics adapter. The multiple destination devices may be provided with the same image data thereby allowing multiple users to collaborate on the same project. If desired, different portions of the frame buffer may be allocated to different destination devices and the multiple destination devices provided with different data. [0064]FIG. 7A is a logical block diagram of a network attachable display device 14 in accordance with an embodiment of the present invention. Network attachable display device 14 comprises a display network interface 172 coupled to a display memory unit 174, a display decompression unit 176 and a display refresh unit 178. Display memory unit 174 is also coupled to display decompression unit 176 and display refresh unit 178. Display decompression unit 176 is also coupled to display refresh unit 178 and display refresh unit 178 is also coupled to a display unit 180. [0065] Network attachable display device 14 of the preferred embodiment is capable of being coupled to a communication network, such as communication network 16. Thus, network attachable display device 14 may communicate with other devices coupled to communication network 16 and may receive and/or transmit commands and/or data to and from such devices over communication network 16 via network interface port 182. [0066] Display network interface 172 is operable to receive data, such as graphics image data, from a source device, such as source device 12, graphics adapter 20, a graphics appliance, and/or the like, over a communication network, such as communication network 16, via a display network interface port 182, for example an Ethernet port, an Infiniband port, a fiber port, a wireless network transceiver, and the like. The graphics image data is preferably received in a packetized format. [0067] Display memory unit 174 preferably comprises a display frame buffer 170. Display frame buffer 170 is used to store graphics image data that is to be displayed on display unit 180. The graphics image data may be stored in display frame buffer 170 in either compressed or decompressed form. Display frame buffer 170 may store information, such as color for each pixel to be displayed on display unit 180. [0068] Display decompression unit 176 preferably decompresses the data received by display network interface 172. Display decompression unit 176 includes decompression logic optimized for use with graphics image data. However, the invention is not so limited and any kind of decompression logic may be used by display decompression unit 176. Display decompression unit 176 may be implemented using general-purpose hardware components, such as a digital signal processor or microprocessor, and appropriate software for controlling the operation of the hardware components. If desired, display decompression unit 176 may be implemented using dedicated hardware, an ASIC or a FPGA that is specially designed for carrying out the decompression. In the embodiment shown in FIG. 7A, display decompression unit 176 is also coupled to display network interface 172 and display refresh unit 178. [0069] Display refresh unit 178 is a conventional display refresh unit typically used in graphics adapters. In the embodiment shown in FIG. 7A, display refresh unit 178 is coupled to display unit 180. Display unit 180 preferably comprises a CRT (Cathode Ray Tube). In alternative embodiments, display unit 180 may comprise a Liquid Crystal Display (LCD), a Thin Film Transistor (TFT), a Light Emitting Diode (LED), organic polymers and/or the like now known or later developed. Depending on the display refresh rate of display unit 180, display refresh unit 178 reads the graphics image data from display frame buffer 170 frequently and refreshes display unit 180 at the refresh rate of display unit 180. [0070] Display unit 180 is preferably logically divided into horizontal segments. Preferably display unit 180 is refreshed starting from the top left corner of the desired portion of display unit 180 and moving to the right. Once a horizontal segment of display unit 180 is refreshed, the next horizontal segment is refreshed starting from the left and moving to the right until the desired portion of display unit 180 is refreshed. This process is repeated frequently depending on the display refresh rate of display unit 180. [0071]FIG. 7B is a logical block diagram of a network attachable display device 14 in accordance with another embodiment of the present invention. Network attachable display device 14 as shown in FIG. 7B comprises a network attachable display controller 186 coupled to display memory unit 174 and display unit 180. Network attachable display controller 186 comprises display network interface 172, display decompression unit 176 and display refresh unit 178. In network attachable display device 14 of FIG. 7B, display network interface port 182 is coupled to network attachable display controller 186. [0072] One of the advantages of network attachable display device 14 of FIG. 7B over network attachable display device 14 of FIG. 7A is that the manufacturing cost of the network attachable display device can be reduced as a single chip, network attachable display controller 186, includes the functionality of display network interface 172, display decompression unit 176 and display refresh unit 178. [0073]FIG. 8 is a flowchart 190 of a method of operation of a network attachable display device in accordance with an embodiment of the present invention. In step 192, graphics image data is received from a source device, such as a computer, a graphics device, a server, an Internet appliance and/or the like, for example source device 12 or graphics adapter 20, over a communication network, such as communication network 16, via display network interface port 182. The data is received preferably as a plurality of packets. Display network interface 172 assembles the received data in a format suitable for storage in display frame buffer 170. For example, if the packets of data include information indicating the portions of display unit 180 with which the data included in the packets are associated, then display network interface 172 stores the data in the appropriate portions of display frame buffer 170. [0074] In step 194, the assembled graphics image data is stored in display frame buffer 170. In step 196, a determination is made as to whether the graphics image data stored in display frame buffer 170 is in compressed form. If the stored graphics image data is in compressed form, then in step 198 the stored graphics image data is decompressed, preferably by display decompression unit 176. In step 200, decompressed data is stored in display frame buffer 170. [0075] If, in step 196, it is determined that the graphics image data stored in display frame buffer 170 is not in compressed form, then execution proceeds directly to step 202. In step 202, graphics image data is read from display frame buffer 170. Preferably, display refresh unit 178 reads the data from display frame buffer 170 and refreshes display unit 180 at the display refresh rate of display unit 180. [0076]FIG. 9 is a flowchart 206 of a method of operation of a network attachable display device in accordance with another embodiment of the present invention. In step 208, graphics image data is received from a source device, such as a computer, a graphics device, a server, an Internet appliance and/or the like, for example source device 12 or graphics adapter 20, over a communication network, such as communication network 16 via display network interface port 182. The data is received preferably as a plurality of packets. [0077] In step 210, a determination is made as to whether the graphics image data stored in display frame buffer 170 is in compressed form. If the graphics image data is in compressed form, then in step 212, display network interface 172 provides the graphics image data to display decompression unit 176 and the graphics image data is decompressed, preferably by display decompression unit 176, preferably �on the fly�. For this purpose graphics image data received by display network interface 172 is transferred to display decompression unit 176 and display decompression unit 176 decompresses the graphics image data �on the fly�. [0078] If, in step 210, it is determined that the graphics image data stored in display frame buffer 170 is not in compressed form, then execution proceeds directly to step 214. In step 214, decompressed data is stored in display frame buffer 170. [0079] In step 216, graphics image data is read from display frame buffer 170. Preferably, display refresh unit 178 reads the data from display frame buffer 170 and refreshes display unit 180 at the display refresh rate of display unit 180. [0080] Preferably, display frame buffer 170 stores graphics image data corresponding to both a new image and a previous image. Graphics image data corresponding to the previous image is preferably graphics image data for the image currently displayed on display unit 180. Graphics image data corresponding to the new image is preferably graphics image data for the image to be displayed on display unit 180. Once display decompression unit 176 or display network interface 172 has stored graphics image data corresponding to the new image in display frame buffer 170, display refresh unit 178 may read graphics image data from the portion of display frame buffer 170 corresponding to the new image. After a new image has been displayed on display unit 180, the graphics image data corresponding to the previous image may be overwritten by the graphics image data for the new image. Thereafter, display refresh unit 178 may read graphics image data from the portion of display frame buffer 170 corresponding to the previous image and refresh display unit 180 at the display refresh rate. [0081] The use of display frame buffer 170 to store graphics image data related to both the new image and the previous image prevents �tearing� of the displayed image which may otherwise result if the display refresh unit 178 is refreshing the display unit 180 at a rate which is faster than the rate at which graphics image data related to the new image is being written to display frame buffer 170. The use of display frame buffer 170 to store graphics image data related to both the new image and the previous image may be avoided if graphics image data corresponding to the new image is stored in display frame buffer 170 at least as fast as the rate at which display unit 180 is refreshed. [0082] A technical advantage of an exemplary embodiment of the network attachable display device of the present invention is that graphics image data does not have to be transferred into the memory of a computer in order to be displayed on the network attachable display device. Because the network attachable display device may be directly connected to a communication network, graphics image data may be directly received over the communication network by the network attachable display device itself. Referenced byCiting PatentFiling datePublication dateApplicantTitleUS7068686Dec 2, 2003Jun 27, 2006Genesis Microchip Inc.Method and apparatus for efficient transmission of multimedia data packetsUS7088741Dec 2, 2003Aug 8, 2006Genesis Microchip Inc.Using an auxilary channel for video monitor trainingUS7177329Nov 29, 2005Feb 13, 2007Genesis Microchip Inc.Method and apparatus for efficient transmission of multimedia data packetsUS7228154Aug 30, 2005Jun 5, 2007Sony CorporationMethod and system for processing wireless digital multimediaUS7405719Jul 29, 2004Jul 29, 2008Genesis Microchip Inc.Using packet transfer for driving LCD panel driver electronicsUS7424558Dec 2, 2003Sep 9, 2008Genesis Microchip Inc.Method of adaptively connecting a video source and a video displayUS7487273Jul 29, 2004Feb 3, 2009Genesis Microchip Inc.Data packet based stream transport scheduler wherein transport data link does not include a clock lineUS7567592Apr 30, 2007Jul 28, 2009Genesis Microchip Inc.Packet based video display interface enumeration methodUS7613300May 11, 2007Nov 3, 2009Genesis Microchip Inc.Content-protected digital link over a single signal lineUS7620062Dec 2, 2003Nov 17, 2009Genesis Microchips Inc.Method of real time optimizing multimedia packet transmission rateUS7634090Jan 21, 2004Dec 15, 2009Genesis Microchip Inc.Packet based high definition high-bandwidth digital content protectionUS7733915Dec 2, 2003Jun 8, 2010Genesis Microchip Inc.Minimizing buffer requirements in a digital video systemUS7782398 *Sep 4, 2002Aug 24, 2010Chan Thomas MDisplay processor integrated circuit with on-chip programmable logic for implementing custom enhancement functionsUS7800623Jul 29, 2004Sep 21, 2010Genesis Microchip Inc.Bypassing pixel clock generation and CRTC circuits in a graphics controller chipUS7830449Apr 3, 2007Nov 9, 2010Qinggang ZhouDeinterlacer using low angle or high angle spatial interpolationUS7920210Jan 19, 2009Apr 5, 2011Denace Enterprise Co., L.L.C.Integrated circuit to process data in multiple color spacesUS7944451Jul 31, 2007May 17, 2011Hewlett-Packard Development Company, L.P.Providing pixels from an update bufferUS8035649 *Jun 28, 2005Oct 11, 2011Nhn CorporationMethod and system for renewing screenUS8760459Dec 30, 2009Jun 24, 2014Intel CorporationDisplay data management techniquesUS20120268480 *Mar 30, 2012Oct 25, 2012Arm LimitedMethods of and apparatus for displaying windows on a displayEP1519349A2 *Sep 16, 2004Mar 30, 2005Genesis Microchip, Inc.Bypassing pixel clock generation and CRTC circuits in a graphics controller chipEP2360574A2 *Dec 21, 2010Aug 24, 2011Intel CorporationDisplay data management techniquesEP2401736A2 *Feb 24, 2010Jan 4, 2012Manufacturing Resources International, INC.System and method for displaying multiple images/videos on a single displayWO2009017594A2 *Jul 14, 2008Feb 5, 2009Hewlett Packard Development CoProviding pixels from an update buffer* Cited by examinerClassifications U.S. Classification345/619International ClassificationG06F3/14, G09G5/00, G09G5/395, G09G5/06, G09G5/36Cooperative ClassificationG06F3/14, G09G2320/103, G09G5/006, G09G5/395, G09G2340/02, G06F3/1431, G09G5/363, G09G5/06European ClassificationG09G5/395, G09G5/00T4, G09G5/36C, G06F3/14Legal EventsDateCodeEventDescriptionFeb 26, 2013FPAYFee paymentYear of fee payment: 4Sep 30, 2003ASAssignmentOwner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P., TEXASFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492Effective date: 20030926Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.,TEXASFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100203;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100223;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100302;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100316;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100323;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100330;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100406;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100413;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100420;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100427;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100504;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100511;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;US-ASSIGNMENT DATABASE UPDATED:20100525;REEL/FRAME:14061/492Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:14061/492Feb 12, 2002ASAssignmentOwner name: HEWLETT-PACKARD COMPANY, COLORADOFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOCHMUTH, ROLAND M.;MARKS, JOHNNY;MARTIN, ROBERT P.;REEL/FRAME:012600/0991;SIGNING DATES FROM 20011108 TO 20011113RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google