US20100031098A1 - Method of real time optimizing multimedia packet transmission rate - Google Patents

Method of real time optimizing multimedia packet transmission rate Download PDF

Info

Publication number
US20100031098A1
US20100031098A1 US12/576,060 US57606009A US2010031098A1 US 20100031098 A1 US20100031098 A1 US 20100031098A1 US 57606009 A US57606009 A US 57606009A US 2010031098 A1 US2010031098 A1 US 2010031098A1
Authority
US
United States
Prior art keywords
multimedia
source device
link
main link
display device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/576,060
Inventor
Osamu Kobayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Genesis Microchip Inc
Original Assignee
Genesis Microchip Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Genesis Microchip Inc filed Critical Genesis Microchip Inc
Priority to US12/576,060 priority Critical patent/US20100031098A1/en
Publication of US20100031098A1 publication Critical patent/US20100031098A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01GHORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
    • A01G13/00Protecting plants
    • A01G13/02Protective coverings for plants; Coverings for the ground; Devices for laying-out or removing coverings
    • A01G13/0256Ground coverings
    • A01G13/0287Devices for laying-out or removing ground coverings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01CPLANTING; SOWING; FERTILISING
    • A01C5/00Making or covering furrows or holes for sowing, planting or manuring
    • A01C5/06Machines for making or covering drills or furrows for sowing or planting
    • A01C5/066Devices for covering drills or furrows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4904Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using self-synchronising codes, e.g. split-phase codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1415Two-way operation using the same type of signal, i.e. duplex using control lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1438Negotiation of transmission parameters prior to communication
    • H04L5/1446Negotiation of transmission parameters prior to communication of transmission speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the invention relates to display devices. More specifically, the invention relates to digital display interface suitable for coupling video sources to video display devices.
  • analog type display devices such as cathode ray tubes
  • digital type display devices such as liquid crystal display, or LCD, plasma screens, etc.
  • a typical analog system includes an analog source (such as a personal computer, DVD player, etc.) coupled directly to a display device (sometimes referred to as a video sink) by way of a communication link.
  • the communication link typically takes the form of a cable (such as an analog VGA cable in the case of a PC, otherwise referred to as VGA DB15 cable) well known to those of skill in the art.
  • the VGA DB15 cable includes 15 pins, each of which is arranged to carry a specific signal.
  • VGA DB15 One of the advantages of the VGA DB15 cable is the ubiquitous nature of the cable, due to the large and ever-expanding installed base. As long as the analog systems described above predominate, there is little incentive to migrate away from any other cable form than the VGA DB15.
  • DVI Digital Visual Interface
  • DDWG Digital Display Working Group
  • TMDS transition minimized differential signaling
  • Today's display interconnect landscape includes the VGA (analog) and DVI (digital) for desktop display interconnect applications as well as LVDS (digital) for internal connectivity applications within laptops and other all-in-one devices.
  • ADC inline analog to digital converter
  • a method of optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device is disclosed.
  • the multimedia source device and the display device are coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device.
  • the method can be carried out by following at least the following operations. Providing a test pattern by the multimedia source device on the main link, determining a transmission quality factor of the main link based upon the test pattern, and optimizing the transmission of the multimedia data packets based upon the transmission quality factor.
  • an apparatus for optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device is disclosed.
  • the apparatus includes at least means for providing a test pattern by the multimedia source device on the main link, means for determining a transmission quality factor of the main link based upon the test pattern, and means for optimizing the transmission of the multimedia data packets based upon the transmission quality factor.
  • computer program product for optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device.
  • the computer program product includes computer code for providing a test pattern by the multimedia source device on the main link, computer code for determining a transmission quality factor of the main link based upon the test pattern, computer code for optimizing the transmission of the multimedia data packets based upon the transmission quality factor, and computer readable medium for storing the computer code.
  • FIG. 1 shows a generalized representation of a cross platform display interface 100 in accordance with an embodiment of the invention.
  • FIGS. 2A-2C illustrates a video interface system that is used to connect a video source and a video display unit in accordance with a number of embodiments of the invention.
  • FIG. 3 shows exemplary main link rates in accordance with an embodiment of the invention.
  • FIG. 4A shows a main link data packet in accordance with an embodiment of the invention.
  • FIG. 4B shows a main link packet header in accordance with an embodiment of the invention.
  • FIG. 5A shows a system arranged to provide sub-packet enclosure and multiple-packet multiplexing in accordance with an embodiment of the invention.
  • FIG. 5B shows another implementation of the system shown in FIG. 5A .
  • FIG. 6 shows a high-level diagram of the multiplexed main link stream as an example of the stream shown in FIG. 5 .
  • FIG. 7 show another example of a data stream in accordance with the invention.
  • FIG. 8 shows yet another example of a multiplexed data stream in accordance with an embodiment of the invention.
  • FIG. 9A shows a representative sub-packet in accordance with an embodiment of the invention.
  • FIG. 9B shows a representative main link data packet in accordance with an embodiment of the invention.
  • FIG. 10 shows an example of a selectively refreshed graphics image.
  • FIG. 11 shows an exemplary link training pattern in accordance with an embodiment of the invention.
  • FIG. 12 illustrates a logical layering of the system in accordance with an embodiment of the invention.
  • FIG. 13 shows an exemplary special character mapping using 8B/10B in accordance with an embodiment of the invention.
  • FIG. 14 shows an exemplary Manchester II encoding scheme in accordance with an embodiment of the invention.
  • FIG. 15 shows a representative auxiliary channel electrical sub layer in accordance with an embodiment of the invention.
  • FIG. 16 shows a representative main link electrical sub layer in accordance with an embodiment of the invention.
  • FIG. 17 shows a representative connector in accordance with an embodiment of the invention.
  • FIG. 18 shows a source state diagram in accordance with an embodiment of the invention.
  • FIG. 19 shows a display state diagram in accordance with an embodiment of the invention.
  • FIGS. 20-24 illustrate various computer based implementations of the invention.
  • FIG. 25 shows a flowchart detailing a process for determining an operational mode of the interface in accordance with an embodiment of the invention.
  • FIG. 26 shows a flowchart detailing a process for providing a real time video image quality check in accordance with some aspects of the invention.
  • FIG. 27 shows a flowchart for a link set up process in accordance with an embodiment of the invention.
  • FIG. 28 shows a flowchart detailing a process for performing a training session in accordance with an embodiment of the invention.
  • FIG. 29 illustrates a computer system employed to implement the invention.
  • a method and apparatus suitable for optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device is disclosed.
  • the multimedia source device and the display device are coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device.
  • a method of optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device is disclosed.
  • the multimedia source device and the display device are coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device.
  • the invention can be carried out by following at least the following operations. Providing a test pattern by the multimedia source device on the main link, determining a transmission quality factor of the main link based upon the test pattern, and optimizing the transmission of the multimedia data packets based upon the transmission quality factor.
  • FIG. 1 shows a generalized representation of a cross platform packet based digital video display interface 100 in accordance with an embodiment of the invention.
  • the interface 100 connects a transmitter 102 to a receiver 104 by way of a physical link 106 (also referred to as a pipe).
  • a number of data streams 108 - 112 are received at the transmitter 102 that, if necessary, packetizes each into a corresponding number of data packets 114 .
  • These data packets are then formed into corresponding data streams each of which are passed by way of an associated virtual pipe 116 - 120 to the receiver 104 .
  • the link rate (i.e., the data packet transfer rate) for each virtual link can be optimized for the particular data stream resulting in the physical link 106 carrying data streams each having an associated link rate (each of which could be different from each other depending upon the particular data stream).
  • the data streams 110 - 114 can take any number of forms such as video, graphic, audio, etc.
  • the data streams 110 - 114 include various video signals that can have any number and type of well-known formats, such as composite video, serial digital, parallel digital, RGB, or consumer digital video.
  • the video signal can be an analog video signal provided the source 102 includes some form of an analog video source such as for example, an analog television, still camera, analog VCR, DVD player, camcorder, laser disk player, TV tuner, set top box (with satellite DSS or cable signal) and the like.
  • the source 102 can also include a digital image source such as for example a digital television (DTV), digital still camera, and the like.
  • the digital video signal can be any number and type of well known digital formats such as, SMPTE 274M-1995 (1920 ⁇ 1080 resolution, progressive or interlaced scan), SMPTE 296M-1997 (1280 ⁇ 720 resolution, progressive scan), as well as standard 480 progressive scan video.
  • an analog-to-digital converter converts an analog voltage or current signal into a discrete series of digitally encoded numbers (signal) forming in the process an appropriate digital image data word suitable for digital processing.
  • A/D converters include, for example those manufactured by: Philips, Texas Instrument, Analog Devices, Brooktree, and others.
  • the an analog to digital converter included in or coupled to the transmitter 102 will digitize the analog data which is then packetize by a packetizer that converts the digitized data stream 110 into a number of data packets 114 each of which will be transmitted to the receiver 104 by way of the virtual link 116 .
  • the receiver 104 will then reconstitute the data stream 110 by appropriately recombining the data packets 114 into their original format.
  • the link rate is independent of the native stream rates. The only requirement is that the link bandwidth of the physical link 106 be higher than the aggregate bandwidth of data stream(s) to be transmitted.
  • the incoming data (such as pixel data in the case of video data) is packed over the respective virtual link based upon a data mapping definition.
  • the physical link 106 (or any of the constituent virtual links) does not, as does conventional interconnects such as DVI, carry one pixel data per link character clock.
  • the interface 100 provides a scaleable medium for the transport of not only video and graphics data, but also audio and other application data as may be required.
  • the invention supports hot-plug event detection and automatically sets the physical link (or pipe) to its optimum transmission rate.
  • the invention provides for a low pin count, purely digital display interconnect for all displays suitable for multiple platforms. Such platforms include host to display, laptop/all-in-one as well as HDTV and other consumer electronics applications.
  • display timing information can be embedded in the digital stream providing essentially perfect and instant display alignment, obviating the need for features like “Auto-Adjust” and the like.
  • the packet based nature of the inventive interface provides scalability to support multiple, digital data streams such as multiple video/graphics streams and audio streams for multimedia applications.
  • a universal serial bus (USB) transport for peripheral attachment and display control can be provided without the need for additional cabling.
  • FIG. 2 illustrates a system 200 based upon the system 100 shown in FIG. 1 that is used to connect a video source 202 and a video display unit 204 .
  • the video source 202 can include either or both a digital image (or digital video source) 206 and an analog image (or analog video source) 208 .
  • a digital data stream 210 is provided to the transmitter 102 whereas in the case of the analog video source 208 , an A/D converter unit 212 coupled thereto, converts an analog data stream 213 to a corresponding digital data stream 214 .
  • the digital data stream 214 is then processed in much the same manner as the digital data stream 210 by the transmitter 102 .
  • the display unit 204 can be an analog type display or a digital type display or in some cases can process either analog or digital signals provided thereto.
  • the display unit 204 includes a display interface 216 that interfaces the receiver 104 with a display 218 and a D/A converter unit 220 in the case of an analog type display.
  • the video source 202 can take any number of forms (such as a personal desktop computer, digital or analog TV, set top box, etc.) whereas the video display unit 104 can take the form of a video display (such as an LCD type display, CRT type display, etc.).
  • the various data streams are digitized (if necessary) and packetized prior to transmission over the physical link 106 which includes a unidirectional main link 222 for isochronous data streams and a bi-directional auxiliary channel 224 for link setup and other data traffic (such as various link management information, Universal serial bus (USB) data, etc.) between the video source 202 and the video display 204 .
  • a unidirectional main link 222 for isochronous data streams and a bi-directional auxiliary channel 224 for link setup and other data traffic (such as various link management information, Universal serial bus (USB) data, etc.) between the video source 202 and the video display 204 .
  • USB Universal serial bus
  • the main link 222 is thereby capable of simultaneously transmitting multiple isochronous data streams (such as multiple video/graphics streams and multi-channel audio streams).
  • the main link 222 includes a number of different virtual channels, each capable of transferring isochronous data streams (such as uncompressed graphics/video and audio data) at multiple gigabits per second (Gbps). From a logical viewpoint, therefore, the main link 222 appears as a single physical pipe and within this single physical pipe, multiple virtual pipes can be established. In this way, logical data streams are not assigned to physical channels rather, each logical data stream is carried in its own logical pipe (i.e., virtual channel described above).
  • the speed, or transfer rate, of the main link 222 is adjustable to compensate for link conditions.
  • the speed of the main link 222 can be adjusted in a range approximated by a slowest speed of about 1.0 Gbps to about 2.5 Gbps per channel in approximately 0.4 Gbps increments (see FIG. 3 ).
  • the main link 222 can support SXGA 60 Hz with a color depth of 18 bits per pixel over a single channel. It should be noted that a reduction in the number of channels reduces not only the cost of interconnect, but also reduces the power consumption which is an important consideration (and desirable) for power sensitive applications such as portable devices and the like.
  • the main link 222 can support WQSXGA (3200 ⁇ 2048 image resolution) with a color depth of 24-bits per pixel at 60 Hz. or QSXGA (2560 ⁇ 2048) with a color depth of 18-bits per pixel at 60 Hz, without data compression. Even at the lowest rate of 1.0 Gbps per channel, only two channels are required to support an uncompressed HDTV (i.e., 1080i or 720p) data stream.
  • a main link data rate is chosen whose bandwidth exceeds the aggregate bandwidth of the constituent virtual links.
  • Data sent to the interface arrives at the transmitter at its native rate.
  • a time-base recovery (TBR) unit 226 within the receiver 104 regenerates the stream's original native rate using time stamps embedded in the main link data packets, if necessary.
  • TBR time-base recovery
  • FIG. 2C illustrates an exemplary LCD panel 232 configured in such a way that no time base recovery since display data is essentially pipelined to the various column drivers 234 that are used in combination with row drivers 236 to drive selected display elements 238 in the array 240 .
  • a pixel (or audio) clock rate can be expressed with four parameters, A, B, C, and D as:
  • Pixel clock rate 2 A *3 B ⁇ 5 C ⁇ 11 D
  • the pixel clock can be generated from link clock as pixel clock rate is equal to the link rate*22/51.
  • the time-base recovery unit 226 may be implemented as a digital clock synthesizer.
  • the time stamp is stored in the packet header which as described in more detail below, is a 20-bit value.
  • the packet header which as described in more detail below, is a 20-bit value.
  • four of 20 bits are stored in each header successively (TS3-0, TS7-4, TS11-8, TS15-12, TS19-16).
  • Native stream frequency (Freq_native) is obtained from link character clock frequency (Freq_link_char) as:
  • the transmitter 102 generates this time stamp by counting the number of native stream clocks in 220 cycles of the link character clock frequency period.
  • the counter updates the value every 220 cycles of the link character clock. Since these two clocks are asynchronous with each other, the time stamp value will change by 1 over time. Between updates, the transmitter 102 will repeatedly send the same time stamp in the header of the given packet stream. A sudden change of the time stamp value (by more than 1 count) may be interpreted by the receiver as an indication of an unstable condition of the stream source.
  • the source device informs the display device of the audio sample rate and number of bits per sample. By determining the audio rate based upon Eq(2) and the link character rate, the display device regenerates the original audio stream rate.
  • Audio rate (audio sample rate) ⁇ (# bits per sample) ⁇ (# channels) Eq(2)
  • a main link data packet 400 shown in FIG. 4A includes a main link packet header 402 as shown in FIG. 4B that is formed of 16 bits where bits 3 - 0 are the Stream ID (SID) (indicating that maximum stream count is 16), bit 4 is the Time Stamp (TS) LSB. When bit 4 is equal to 1, this packet header has the least significant 4 bits of Time Stamp value (used only for uncompressed video stream).
  • Bit 5 is a Video frame sequence bit which acts as the least significant bit of the frame counter which toggles from “0” to “1” or from “1” to “0” at the video frame boundary (used only for uncompressed video stream).
  • Bits 7 and 6 are reserved whereas bits 8 through 10 are a 4-bit CRC (CRC) that checks errors for the previous eight bits.
  • Bits 15 - 12 are Time Stamp/Stream ID Inversion. (TSP/SIDn) which for uncompressed video are used as four bits of 20-bit Time Stamp value.
  • FIG. 5 shows a system 500 arranged to provide sub-packet enclosure and multiple-packet multiplexing in accordance with an embodiment of the invention.
  • the system 500 includes a stream source multiplexer 502 included in the transmitter 102 used to combine a stream 1 supplemental data stream 504 with the data stream 210 to form a multiplexed data stream 506 .
  • the multiplexed data stream 506 is then forwarded to a link layer multiplexer 508 that combines any of a number of data streams to form a multiplexed main link stream 510 formed of a number of data packets 512 some of which may include any of a number of sub packets 514 enclosed therein.
  • a link layer de-multiplexer 516 splits the multiplexed data stream 510 into its constituent data streams based on the stream IDs (SIDs) and associated sub packet headers while a stream sink de-multiplexer 518 further splits off the stream 1 supplemental data stream contained in the sub-packets.
  • FIG. 6 shows a high-level diagram of the multiplexed main link stream 600 as an example of the stream 510 shown in FIG. 5 when three streams are multiplexed over the main link 222 .
  • the small packet header size of main link packet 400 minimizes the packet overhead, which results in the very high link efficiency. The reason the packet header can be so small is that the packet attributes are communicated via the auxiliary channel 224 prior to the transmission of the packets over main link 222 .
  • the sub-packet enclosure is an effective scheme when the main packet stream is an uncompressed video since an uncompressed video data stream has data idle periods corresponding to the video-blanking period. Therefore, main link traffic formed of an uncompressed video stream will include series of Null special character packets during this period.
  • certain implementations of the present invention use various methods to compensate for differences between the main link rate and the pixel data rate when the source stream is a video data stream. For example, as illustrated in FIG. 7 , the pixel data rate is 0.5 Gb/sec, such that a bit of pixel data is transmitted every 2 ns.
  • the link rate has been set to 1.25 Gb/sec, such that a bit of pixel data is transmitted each 0.8 ns.
  • transmitter 102 intersperses special characters between pixel data as illustrated in FIG. 8 .
  • Two special characters are disposed between a first bit of pixel data P 1 and a second bit of pixel data P 2 .
  • the special characters allow receiver 104 to distinguish each bit of pixel data. Interspersing the special characters between bits of pixel data also creates a steady stream of data that allows the link to maintain synchronization.
  • the special characters are Null characters. No line buffer is needed for such methods, only a small FIFO, because the link rate is sufficiently fast. However, relatively more logic is required on the receiving side to reconstruct the video signal. The receiver needs to recognize when the special characters begin and end.
  • An alternative to the interspersing method is to alternate consecutive bits of pixel data with special characters, such as null values.
  • P 1 through P 4 could be fed into a line buffer included in the transmitter 104 , then one or more null values could be fed into the buffer until more pixel data are available.
  • Such implementations require a relatively larger buffer space than the interspersing methods described above. In many such implementations, the time required to fill the line buffer will exceed the time required to transmit the data after the line buffer is full, due to the relatively high link speeds.
  • FIG. 9A shows a representative sub-packet 900 in accordance with an embodiment of the invention.
  • the sub-packet 900 includes a sub-packet header 902 that in the described embodiment is 2 bytes and is accompanied by SPS (Sub-Packet Start) special character.
  • SPS Sub-Packet Start
  • the end of the sub-packet 900 must be marked by SPE (Sub-Packet End) special character. Otherwise, the end of the main packet (as indicated by ensuing COM character in the example shown in FIG. 9B ) marks the end of both the sub-packet 902 and the main packet into which it is enclosed. However, a sub-packet does not need to end with SPE when its enclosing main packet has no payload.
  • FIG. 9B shows an exemplary sub-packet format within a main link packet in accordance with an embodiment of the invention. It should be noted that the definition of the header field and sub-packet payload is dependent on the specific application profile that uses the sub-packet 902 .
  • a particularly useful example of sub-packet enclosure usage is selective refresh of an uncompressed graphics image 1000 illustrated in FIG. 10 .
  • the attributes of the entire frame 1002 (Horizontal/Vertical Total, Image Width/Height, etc.) will be communicated via the auxiliary channel 224 since those attributes stay constant as long as the stream remains valid.
  • selective refresh operation only a portion 1004 of the image 1000 is updated per video frame.
  • the four X-Y coordinates of the updated rectangle(s) i.e., the portion 1004
  • Another example is the transmission of color look-up table (CLUT) data for required for 256-color graphic data where the 8-bit pixel data is an entry to the 256-entry CLUT and the content of the CLUT must be dynamically updated.
  • CLUT color look-up table
  • the single bi-directional auxiliary channel 224 provides a conduit to for various support functions useful for link set up and supporting main link operations as well as to carry auxiliary application data such as USB traffic.
  • a display device can inform the source device of events such as sync loss, dropped packets and the results of training sessions (described below). For example, if a particular training session fails, the transmitter 102 adjusts the main link rate based upon pre-selected or determined results of the failed training session. In this way, the closed loop created by combining an adjustable, high speed main link with a relatively slow and very reliable auxiliary channel allows for robust operation over a variety of link conditions. It should be noted that in some cases (an example of which is shown in FIG.
  • a logical bi-directional auxiliary channel 520 can be established using a portion 522 of the bandwidth of the main link 222 to transfer data from the source device 202 to the sink device 204 and a uni-directional back channel 524 from the sink device 204 to the source device 202 .
  • this logical bi-directional auxiliary channel may be more desirable than using a half-duplex bi-directional channel described in FIG. 5A .
  • the transmitter 102 Prior to starting the transmission of actual packet data streams the transmitter 102 establishes a stable link through a link training session that is analogous in concept to the link setup of the modem.
  • the main link transmitter 102 sends a pre-defined training pattern so that the receiver 104 can determine whether it can achieve a solid bit/character lock.
  • training related handshaking between the transmitter 102 and the receiver 104 is carried on the auxiliary channel.
  • An example of a link training pattern is shown in FIG. 11 in accordance with an embodiment of the invention. As illustrated, during the training session, a phase 1 represents the shortest run length while phase 2 is the longest that are used by the receiver to optimize an equalizer. In phase 3 , both bit lock and character lock are achieved as long as the link quality is reasonable.
  • the training period is about 10 ms, in which time, approximately 107 bits of data are sent. If the receiver 104 does not achieve solid lock, it informs the transmitter 102 via the auxiliary channel 224 and the transmitter 102 reduces the link rate and repeats the training session.
  • the auxiliary channel 224 can be also used to carry main link packet stream descriptions thereby greatly reducing the overhead of packet transmissions on the main link 222 .
  • the auxiliary channel 224 can be configured to carry Extended Display Identification Data (EDID) information replacing the Display Data Channel (DDC) found on all monitors (EDID is a VESA standard data format that contains basic information about a monitor and its capabilities, including vendor information, maximum image size, color characteristics, factory pre-set timings, frequency range limits, and character strings for the monitor name and serial number. The information is stored in the display and is used to communicate with the system through the DDC which sites between the monitor and the PC graphics adapter. The system uses this information for configuration purposes, so the monitor and system can work together).
  • the auxiliary channel can carry both asynchronous and isochronous packets as required to support additional data types such as keyboard, mouse and microphone.
  • FIG. 12 illustrates a logical layering 1200 of the system 200 in accordance with an embodiment of the invention.
  • a source such as the video source 202
  • a source physical layer 1202 that includes transmitter hardware
  • a source link layer 1204 that includes multiplexing hardware and state machine (or firmware)
  • a data stream source 1206 such as Audio/Visual/Graphics hardware and associated software.
  • a display device includes a physical layer 1208 (including various receiver hardware), a sink link layer 1210 that includes de-multiplexing hardware and state machine (or firmware) and a stream sink 1212 that includes display/timing controller hardware and optional firmware.
  • a source application profile layer 1214 defines the format with which the source communicates with the link layer 1204 and similarly, a sink application profile layer 1216 defines the format with which the sink 1212 communicates with the sink link layer 1210 .
  • the source device physical layer 1202 includes an electrical sub layer 1202 - 1 and a logical sub layer 1202 - 2 .
  • the electrical sub layer 1202 - 1 includes all circuitry for interface initialization/operation such as hot plug/unplug detection circuit, drivers/receivers/termination resistors, parallel-to-serial/serial-to-parallel conversions, and spread-spectrum-capable PLL's.
  • the logical sub layer 1202 - 2 includes circuitry for, packetizing/de-packetizing, data scrambling/de-scrambling, pattern generation for link training, time-base recovery circuits, and data encoding/decoding such as 8B/10B (as specified in ANSI X3.230-1994, clause 11) that provides 256 link data characters and twelve control characters (an example of which is shown as FIG. 13 ) for the main link 222 and Manchester II for the auxiliary channel 224 (see FIG. 14 ).
  • 8B/10B as specified in ANSI X3.230-1994, clause 11
  • the 8B/10B encoding algorithm is described, for example, in U.S. Pat. No. 4,486,739, which is hereby incorporated by reference.
  • the 8B/10B code is a block code that encodes 8-bit data blocks into 10-bit code words for serial transmission.
  • the 8B/10B transmission code converts a byte wide data stream of random 1s and 0s into a DC balanced stream of 1s and 0s with a maximum run length of 5.
  • Such codes provide sufficient signal transitions to enable reliable clock recovery by a receiver, such as transceiver 110 .
  • a DC balanced data stream proves to be advantageous for fiber optic and electromagnetic wire connections.
  • the average number of 1s and 0s in the serial stream is be maintained at equal or nearly equal levels.
  • the 8B/10B transmission code constrains the disparity between the number of 1s and 0s to be ⁇ 2, 0, or 2 across 6 and 4 bit block boundaries.
  • the coding scheme also implements additional codes for signaling, called command codes.
  • LFSRs Linear Feedback Shift Registers
  • the main link packet headers serve as stream identification numbers thereby greatly reducing overhead and maximizing link bandwidth.
  • the main link 222 nor the auxiliary link 224 has separate clock signal lines.
  • the receivers on main link 222 and auxiliary link 224 sample the data and extract the clock from the incoming data stream.
  • Fast phase locking for any phase lock loop (PLLs) circuit in the receiver electrical sub layer is important for since the auxiliary channel 224 is half-duplex bi-directional and the direction of the traffic changes frequently. Accordingly, the PLL on the auxiliary channel receiver phase locks in as few as 16 data periods thanks to the frequent and uniform signal transitions of Manchester II (MII) code
  • the data rate of main link 222 is negotiated using the handshake over auxiliary channel 224 .
  • known sets of training packets are sent over the main link 222 at the highest link speed. Success or failure is communicated back to the transmitter 102 via the auxiliary channel 224 . If the training fails, main link speed is reduced and training is repeated until successful. In this way, the source physical layer 1102 is made more resistant to cable problems and therefore more suitable for external host to monitor applications.
  • the main channel link data rate is decoupled from the pixel clock rate. A link data rate is set so that link bandwidth exceeds the aggregate bandwidth of the transmitted streams.
  • the source link layer 1204 handles the link initialization and management. For example, upon receiving a hot plug detect event generated upon monitor power-up or connection of the monitor cable from the source physical layer 1202 , the source device link layer 1204 evaluates the capabilities of the receiver via interchange over the auxiliary channel 224 to determine a maximum main link data rate as determined by a training session, the number of time-base recovery units on the receiver, available buffer size on both ends, availability of USB extensions and then notifies the stream source 1206 of an associated hot plug event. In addition, upon request from the stream source 1206 , the source link layer 1204 reads the display capability (EDID or equivalent).
  • EDID display capability
  • the source link layer 1204 sends the stream attributes to the receiver 104 via the auxiliary channel 224 , notifies the stream source 1204 whether the main link 222 has enough resource for handling the requested data streams, notifies the stream source 1204 of link failure events such as sync loss and buffer overflow, and sends MCCS commands submitted by the stream source 1204 to the receiver via the auxiliary channel 224 . All communications between the source link layer 1204 and the stream source/sink use the formats defined in the application profile layer 1214 .
  • the Application Profile Layer defines formats with which a stream source (or sink) will interface with the associated link layer.
  • the formats defined by the application profile layer are divided into the following categories, Application independent formats (Link Message for Link Status inquiry) and Application dependent formats (main link data mapping, time-base recovery equation for the receiver, and sink capability/stream attribute messages sub-packet formats, if applicable).
  • the Application Profile Layer supports the following color formats 24-bit RGB, 16-bit RG2565, 18-bit RGB, 30-bit RGB, 256-color RGB (CLUT based), 16-bit, CbCr422, 20-bit YCbCr422, and 24-bit YCbCr444.
  • the display device application profile layer (APL) 1214 is essentially an application-programming interface (API) describing the format for Stream Source/Sink communication over the main link 222 that includes a presentation format for data sent to or received from the interface 100 . Since some aspects of the APL 1214 (such as the power management command format) are baseline monitor functions, they are common to all uses of the interface 100 . Whereas other non-baseline monitor functions, such as such as data mapping format and stream attribute format, are unique to an application or a type of isochronous stream that is to be transmitted. Regardless of the application, the stream source 1204 queries the source link layer 1214 to ascertain whether the main link 222 is capable of handling the pending data stream(s) prior to the start any packet stream transmission on the main link 222 .
  • API application-programming interface
  • the stream source 1206 sends stream attributes to the source link layer 1214 that is then transmitted to the receiver over the auxiliary channel 224 .
  • These attributes are the information used by the receiver to identify the packets of a particular stream, to recover the original data from the stream and to format it back to the stream's native data rate.
  • the attributes of the data stream are application dependent.
  • the stream source 1214 may take corrective action by, for example, reducing the image refresh rate or color depth.
  • the display device physical layer 1216 isolates the display device link layer 1210 and the display device APL 1216 from the signaling technology used for link data transmission/reception.
  • the main link 222 and the auxiliary channel 224 have their own physical layers, each consisting of a logical sub layer and an electrical sub layer that includes the connector specification.
  • the half-duplex, bi-directional auxiliary channel 224 has both a transmitter and a receiver at each end of the link as shown in FIG. 15 .
  • An auxiliary link transmitter 1502 is provided with link characters by a logical sub layer 1208 - 1 that are then serialized serialized and transmitted to a corresponding auxiliary link receiver 1504 .
  • the receiver 1504 receives serialized link character from the auxiliary link 224 and de-serializes the data at a link character clock rate.
  • the major functions of the source logical sub layers include signal encoding, packetizing, data scrambling (for EMI reduction), and training pattern generation for the transmitter port. While for the receiver port, the major functions of the receiver logical sub layer includes signal decoding, de-packetizing, data de-scrambling, and time-base recovery.
  • auxiliary channel logical sub layer The major functions of auxiliary channel logical sub layer include data encoding and decoding, framing/de-framing of data and there are two options in auxiliary channel protocol: standalone protocol (limited to link setup/management functions in a point-to-point topology) is a lightweight protocol that can be managed by the Link Layer state-machine or firmware and extended protocol that supports other data types such as USB traffic and topologies such as daisy-chained sink devices. It should be noted that the data encoding and decoding scheme is identical regardless of the protocol whereas framing of data differs between the two.
  • the auxiliary channel electrical sub layer contains the transmitter 1502 and the receiver 1504 .
  • the transmitter 1502 is provided with link characters by the logical sub layer, which it serializes and transmits out.
  • the receiver 1504 receives serialized link character from the link layer and subsequently de-serializes it at link character clock rate.
  • the positive and negative signals of auxiliary channel 224 are terminated to ground via 50-ohm termination resistors at each end of the link as shown.
  • the drive current is programmable depending on the link condition and ranges from approximately 8 mA to approximately 24 mA resulting in a range of Vdifferential_pp of approximately 400 mV to approximately 1.2V. In electrical idle modes, neither the positive nor the negative signal is driven.
  • the SYNC pattern When starting transmission from the electrical idle state, the SYNC pattern must be transmitted and the link reestablished.
  • the SYNC pattern consists of toggling a auxiliary channel differential pair signals at clock rate 28 times followed by four 1's in Manchester II code.
  • the auxiliary channel master in the source device detects hot-plug and hot-unplug events by periodically driving or measuring the positive and negative signals of auxiliary channel 224 .
  • the main link 222 supports discrete, variable link rates that are integer multiples of the local crystal frequency (see FIG. 3 for a representative set of link rates consonant with a local crystal frequency of 24-MHz). As shown in FIG. 16 , the main link 222 (being an unidirectional channel) has only a transmitter 1602 at the source device and only a receiver 1604 at the display device.
  • the cable 1604 takes the form includes a set of twisted pair wires, one for each of the Red (R), Green (G), and Blue (B) video signals provides in a typical RGB color based video system (such as PAL based TV systems).
  • twisted pair cable is a type of cable that consists of two independently insulated wires twisted around one another. One wire carries the signal while the other wire is grounded and absorbs signal interference. It should be noted that in some other systems, the signals could also be component based signals (Pb, Pr, Y) used for NTSC video TV systems.
  • each twisted pair is individually shielded. Two pins for +12V power and ground are provided.
  • a connector 1700 as shown in FIG. 17 has 13 pins in one row having a pinout that is identical both for the connector on the source device end and that on the display device end.
  • the source device supplies the power.
  • the main link 222 is terminated on both ends and since the main link 222 is AC coupled, the termination voltage can be anywhere between 0V (ground) to +3.6V.
  • the drive current is programmable depending on the link condition and ranges from approximately 8 mA to approximately 24 mA resulting in a range of Vdifferential_pp of approximately 400 mV to approximately 1.2V.
  • the minimum voltage swing is selected for each connection using a training pattern.
  • An electrical idle state is provided for power management modes. In electrical idle, neither the positive nor the negative signals are driven. When starting a transmission from electrical idle state, the transmitter must conduct a training session in order re-establish the link with the receiver.
  • FIG. 18 shows the source state diagram described below.
  • the system is off such that the source is disabled. If the source is enabled, then the system transitions to a standby state 1804 suitable for power saving and receiver detection.
  • the auxiliary channel is periodically pulsed (such as for 1 us every 10 ms) and a measure of a voltage drop across the termination resistors during the driving is measured.
  • the system transitions to a detected receiver state 1806 indicating that a receiver has been detected, i.e., a hot plug event has been detected. If, however, there is no receiver detected, then the receiver detection is continued until such time, if ever, a receiver is detected or a timeout has elapsed. It should be noted that in some cases the source device may choose to go to “OFF” state from which no further display detection is attempted.
  • the system transitions back to the standby state 1804 . Otherwise the source drives the auxiliary channel with a positive and negative signal to wake up receiver and the receiver's subsequent response, if any, is checked. If there is no response received, then the receiver has not woken up and source remains in the state 1806 . If, however, a signal is received from the display, then the display has woken up and the source is ready read the receiver link capabilities (such as max link rate, buffer size, and number of time-base recovery units) and the system transitions to a main link initialization state 1808 and is ready to commence a training start notification phase.
  • the receiver link capabilities such as max link rate, buffer size, and number of time-base recovery units
  • a training session is started by sending a training pattern over the main link at a set link rate and checks an associated training status.
  • the receiver sets a pass/fail bit for each of three phases and the transmitter will proceed to the next phase upon detection of pass only such that when a pass is detected, the main link is ready at that link rate.
  • the interface transitions to a normal operation state 1510 , otherwise, the link rate is reduced and the training session is repeated.
  • the source continues to periodically monitor a link status index, which if fails, a hot unplug event is detected and the system transitions to the standby state 1804 and waits for a hot plug detection event. If, however, a sync loss is detected, then the system transitions to state 1808 for a main link re-initiation event.
  • FIG. 19 shows the display state diagram 1900 described below.
  • a state 1902 no voltage is detected, the display goes to an OFF state.
  • a standby mode state 1904 both main link receiver and auxiliary channel slave are in electrical idle, a voltage drop across the termination resistors of auxiliary channel slave port are monitored for a predetermined voltage. If the voltage is detected, then the auxiliary channel slave port is turned on indicating a hot plug event and the system moves to a display state 1906 , otherwise, the display remains in the standby state 1904 .
  • auxiliary slave port At the state 1906 (main link initialization phase), if a display is detected, then the auxiliary slave port is fully turned on, and the transmitter responds to a receiver link capability read command and the display state transitions to 1908 , otherwise, if there is no activity on the auxiliary channel for more than a predetermined period of time then the auxiliary channel slave port is put into the to standby state 1904 .
  • the display responds to the training initiation by the transmitter by adjusting the equalizer using training patterns, updating the result for each phase. If the training fails, then wait for another training session and if the training passes, then go to normal operation state 1910 . If there is no activity on the auxiliary channel or on the main link (for training) for more than a predetermined (10 ms, for example), the auxiliary channel slave port is set to the standby state 1904 .
  • FIGS. 20-24 show particular implementations of the cross platform display interface.
  • FIG. 20 shows a PC motherboard 2000 having an on-board graphics engine 2002 that incorporates a transmitter 2004 in accordance with the invention.
  • the transmitter 2004 is a particular example of the transmitter 102 shown in FIG. 1 .
  • the transmitter 2004 is coupled to an connector 2006 (along the lines of the connector 1700 ) mounted on the motherboard 2000 which in turn is connected to a display device 2008 by way of a twisted pair cable 2010 couples a display device 2010 .
  • PCI Express developed by Intel Corporation of Santa Clara, Calif.
  • Intel Corporation of Santa Clara, Calif. is a high-bandwidth, low pin count, serial, interconnect technology that also maintains software compatibility with existing PCI infrastructure.
  • the PCI Express port is augmented to become compliant with the requirements of the cross platform interface which can directly drive a display device either using a motherboard mounted connector as shown.
  • the signals can be routed through the SDVO slot of the PCI Express motherboard and brought to the back of the PC using a passive card connector as shown in FIG. 21 .
  • a add-in graphics card can supplant the onboard graphics engine as shown in FIG. 23 .
  • the transmitter on the motherboard graphics engine would drive through internal cabling, an integrated receiver/TCON which would drive the panel directly.
  • the receiver/TCON would be mounted on the panel thereby reducing the number of interconnect wires to 8 or 10 as shown in FIG. 24
  • FIGS. 25-29 describe a number of interrelated processes that when used singly or in any combination described aspects of the invention.
  • FIG. 25 shows a flowchart detailing a process 2500 for determining an operational mode of the interface 100 in accordance with an embodiment of the invention.
  • the operational mode will only be set to a digital mode if the video source and the display device are both digital. Otherwise, the operational mode will be set to analog mode.
  • analog mode in this context can include both conventional VGA mode as well as enhanced analog mode having differential analog video with embedded alignment signal and bi-directional sideband. This enhanced analog mode will be described below.
  • a video source is interrogated to determine whether the video source supports analog or digital data. If the video source supports only analog data, the operational mode of coupling device 100 will be set to analog (step 2508 ), then the process will end (step 2512 ).
  • step 2506 The display device is then interrogated to determine whether the display device is configured to receive digital data. If the display device supports only analog data, the operational mode of coupling device will be set to analog (step 2508 ), then the process will end (step 2512 ). Otherwise, the operational mode of the coupling device is set to digital (step 2510 ). For example, a processor may control switches within the coupling device to set the mode to digital. In general, the coupling device is configured to operate in a fully digital mode only when both the video source and the video sink are operating in a corresponding digital mode.
  • FIG. 26 shows a flowchart detailing a process 2600 for providing a real time video image quality check in accordance with some aspects of the invention.
  • all determinations of process 2600 are made by a processor coupled to the display interface.
  • a video signal is received from a video source.
  • a signal quality test pattern is provided by the video source associated with the received video signal (step 2602 ).
  • a determination of a bit error rate is made, based upon the quality test pattern. Then, a determination is made of whether the bit error rate is greater than a threshold value (step 2606 ). If the bit error rate is determined to not be greater than the threshold value, then a determination is made (step 2614 ) of whether or not there are more video frames. If it is determined that there are more video frames, then the process returns to step 2600 . Otherwise, the process ends.
  • bit error rate is determined to be greater than the threshold value in step 2606 .
  • a determination is made (step 2608 ) as to whether the bit rate is greater than a minimum bit rate. If the bit rate is greater than a minimum bit rate, then the bit rate is lowered (step 2610 ) and the process returns to step 2606 . If the bit rate is not greater than the minimum bit rate, then the mode is changed to analog mode (step 2612 ) and the process ends.
  • FIG. 27 shows a flowchart for a link set up process 2700 in accordance with an embodiment of the invention.
  • the process 2700 begins at 2702 by the receiving of a hot plug detection event notification.
  • a main link inquiry is made by way of an associated auxiliary channel to determine a maximum data rate, a number of time base recovery units included in a receiver, and available buffer size.
  • the maximum link data rate is verified by way of a training session and at 2708 , a data stream source is notified of the hot plug event.
  • the capabilities of the display (using EDID, for example) are determined by way of the auxiliary channel and the display responds to the inquires at 2712 which, in turn, results a collaboration of the main link training session at 2714 .
  • the stream source sends stream attributes to the receiver by way of the auxiliary channel and at 2718 , the stream sources are further notified whether the main link is capable of supporting the requested number of data streams at 2720 .
  • the various data packets are formed by adding associated packet headers and the multiplexing of a number of source streams is scheduled at 2724 .
  • a determination is made whether or not the link status is OK. When the link status is not OK, then the source(s) are notified of a link failure event at 2728 , otherwise, the link data streams are reconstructed into the native streams based upon the various packet headers at 2730 .
  • the reconstructed native data streams are then passed to the display device.
  • FIG. 28 shows a flowchart detailing a process 2800 for performing a training session in accordance with an embodiment of the invention.
  • the training session process 2800 is one implementation of the operation 2506 described in FIG. 25 .
  • a training session is started at 2802 by sending a training pattern over the main link at a set link rate to the receiver.
  • a typical link training pattern is shown in FIG. 11 in accordance with an embodiment of the invention.
  • a phase 1 represents the shortest run length while phase 2 is the longest.
  • the receiver is to use these two phases to optimize the equalizer.
  • phase 3 both bit lock and character lock are achieved as long as the link quality is reasonable.
  • the receiver checks an associated training status and based upon the training status check, the receiver sets a pass/fail bit for each of three phases and the transmitter at 2806 .
  • the receiver will proceed to the next phase upon detection of pass only and at 2810 and if the receiver does not detect a pass then the receiver reduces the link rate and repeats the training session.
  • the main link is ready at that link rate at which a pass is detected at 2812 .
  • FIG. 29 illustrates a computer system 2900 employed to implement the invention.
  • Computer system 2900 is only an example of a graphics system in which the present invention can be implemented.
  • Computer system 2900 includes central processing unit (CPU) 1510 , random access memory (RAM) 2920 , read only memory (ROM) 2925 , one or more peripherals 2930 , graphics controller 2960 , primary storage devices 2940 and 2950 , and digital display unit 2970 .
  • CPUs 2910 may generally include any number of processors.
  • Both primary storage devices 2940 and 2950 may include any suitable computer-readable media.
  • a secondary storage medium 880 which is typically a mass memory device, is also coupled bi-directionally to CPUs 2910 and provides additional data storage capacity.
  • the mass memory device 880 is a computer-readable medium that may be used to store programs including computer code, data, and the like.
  • mass memory device 880 is a storage medium such as a hard disk or a tape which generally slower than primary storage devices 2940 , 2950 .
  • Mass memory storage device 880 may take the form of a magnetic or paper tape reader or some other well-known device. It will be appreciated that the information retained within the mass memory device 880 , may, in appropriate cases, be incorporated in standard fashion as part of RAM 2920 as virtual memory.
  • CPUs 2910 are also coupled to one or more input/output devices 890 that may include, but are not limited to, devices such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers.
  • CPUs 2910 optionally may be coupled to a computer or telecommunications network, e.g., an Internet network or an intranet network, using a network connection as shown generally at 2995 . With such a network connection, it is contemplated that the CPUs 2910 might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented as a sequence of instructions to be executed using CPUs 2910 , may be received from and outputted to the network.
  • the above-described devices and materials will be familiar to those of skill in the computer hardware and software arts.
  • Graphics controller 2960 generates analog image data and a corresponding reference signal, and provides both to digital display unit 2970 .
  • the analog image data can be generated, for example, based on pixel data received from CPU 2910 or from an external encode (not shown).
  • the analog image data is provided in RGB format and the reference signal includes the VSYNC and HSYNC signals well known in the art.
  • the present invention can be implemented with analog image, data and/or reference signals in other formats.
  • analog image data can include video signal data also with a corresponding time reference signal.

Abstract

A method and apparatus of optimizing transmission (both real time and continuous) of a number of multimedia data packets between a multimedia source device and a multimedia display device is disclosed. In the described embodiment, the multimedia source device and the display device are coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device. The method can be carried out by following at least the following operations. Providing a test pattern by the multimedia source device on the main link, determining a transmission quality factor of the main link based upon the test pattern, and optimizing the transmission of the multimedia data packets based upon the transmission quality factor.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of and claims priority under 35 USC 120 to U.S. patent application Ser. No. 10/726,440, filed on Dec. 2, 2003 entitled “METHOD OF REAL TIME OPTIMIZING MULTIMEDIA PACKET TRANSMISSION RATE” by Kobayashi, which takes priority under 35 U.S.C. 119(e) to (i) U.S. Provisional Patent Application No. 60/467,804, filed on May 1, 2003 entitled “DIGITAL/ANALOG VIDEO INTERCONNECT AND METHODS OF USE THEREOF” by Kobayashi, (ii) U.S. Provisional Patent Application No. 60/504,060 filed on Sep. 18, 2003, entitled “DIGITAL/ANALOG VIDEO INTERCONNECT AND METHODS OF USE THEREOF” by Kobayashi, (iii) U.S. Provisional Patent Application No. 60/474,085 filed on May 28, 2003, entitled “DIGITAL/ANALOG VIDEO INTERCONNECT AND METHODS OF USE THEREOF” by Kobayashi, and (iv) U.S. Provisional Patent Application No. 60/474,084 filed on May 28, 2003, entitled “SIMPLE ENUMERATION METHOD FOR THE LINK CLOCK RATE AND THE PIXEL/AUDIO CLOCK RATE” by Kobayashi each of which are hereby incorporated by reference herein in their entirety.
  • This application is also related to the following co-pending U.S. patent applications, which are filed concurrently with this application and each of which are herein incorporated by reference, (i) U.S. patent application Ser. No. 10/726,802, now U.S. Pat. No. 7,424,558, entitled “METHOD OF ADAPTIVELY CONNECTING A VIDEO SOURCE AND A VIDEO DISPLAY” naming Kobayashi as inventor; (ii) U.S. patent application Ser. No. 10/726,438, now U.S. Pat. No. 7,068,686, entitled “METHOD AND APPARATUS FOR EFFICIENT TRANSMISSION OF MULTIMEDIA DATA PACKETS” naming Kobayashi as inventor; (iii) U.S. patent application Ser. No. 10/726,794, entitled “PACKET BASED VIDEO DISPLAY INTERFACE AND METHODS OF USE THEREOF”, naming Kobayashi as inventor; (iv) U.S. patent application Ser. No. 10/726,440, entitled “PACKET BASED MONITOR TRAINING IN A VIDEO SYSTEM”, naming Kobayashi as inventor; (v) U.S. patent application Ser. No. 10/726,350, entitled “TECHNIQUES FOR REDUCING MULTIMEDIA DATA PACKET OVERHEAD”, naming Kobayashi as inventor; (vi) U.S. patent application Ser. No. 10/726,362, entitled “PACKET BASED CLOSED LOOP VIDEO DISPLAY INTERFACE WITH PERIODIC STATUS CHECKS”, naming Kobayashi as inventor; (vii) U.S. patent application Ser. No. 10/726,895, entitled “MINIMIZING BUFFER REQUIREMENTS IN A DIGITAL VIDEO SYSTEM”, naming Kobayashi as inventor; (viii) U.S. patent application Ser. No. 10/726,441, entitled “VIDEO INTERFACE ARRANGED TO PROVIDE PIXEL DATA INDEPENDENT OF A LINK CHARACTER CLOCK”, naming Kobayashi as inventor; and (ix) U.S. patent application Ser. No. 10/726,934, now U.S. Pat. No. 6,992,987, entitled “ENUMERATION METHOD FOR THE LINK CLOCK RATE AND THE PIXEL/AUDIO CLOCK RATE”, naming Kobayashi as inventor. This application is also related to the following co-pending applications: (x) U.S. patent application Ser. No. 10/909,103, now U.S. Pat. No. 7,405,719, entitled “USING PACKET TRANSFER FOR DRIVING LCD PANEL DRIVER ELECTRONICS” filed Jul. 29, 2004, naming Kobayashi as inventor; and (xi) U.S. patent application Ser. No. 10/909,085, now U.S. Pat. No. 7,487,273, entitled “PACKET BASED STREAM TRANSPORT SCHEDULER AND METHODS OF USE THEREOF” filed Jul. 29, 2004, naming Kobayashi as inventor.
  • FIELD OF THE INVENTION
  • The invention relates to display devices. More specifically, the invention relates to digital display interface suitable for coupling video sources to video display devices.
  • BACKGROUND OF THE INVENTION
  • Currently, video display technology is divided into analog type display devices (such as cathode ray tubes) and digital type display devices (such as liquid crystal display, or LCD, plasma screens, etc.), each of which must be driven by specific input signals in order to successfully display an image. For example, a typical analog system includes an analog source (such as a personal computer, DVD player, etc.) coupled directly to a display device (sometimes referred to as a video sink) by way of a communication link. The communication link typically takes the form of a cable (such as an analog VGA cable in the case of a PC, otherwise referred to as VGA DB15 cable) well known to those of skill in the art. For example, the VGA DB15 cable includes 15 pins, each of which is arranged to carry a specific signal.
  • One of the advantages of the VGA DB15 cable is the ubiquitous nature of the cable, due to the large and ever-expanding installed base. As long as the analog systems described above predominate, there is little incentive to migrate away from any other cable form than the VGA DB15.
  • However, in recent years, the exploding growth of digital systems has made the use of digital capable cables such as Digital Visual Interface (DVI) cable more desirable. It is well known that DVI is a digital interface standard created by the Digital Display Working Group (DDWG). Data are transmitted using the transition minimized differential signaling (TMDS) protocol, providing a digital signal from the PC's graphics subsystem to the display. DVI handles bandwidths in excess of 160 MHz and thus supports UXGA and HDTV with a single set of links.
  • Today's display interconnect landscape includes the VGA (analog) and DVI (digital) for desktop display interconnect applications as well as LVDS (digital) for internal connectivity applications within laptops and other all-in-one devices. Graphics IC vendors, display controller IC vendors, monitor manufacturers and PC OEMs as well as desktop PC consumers, to one degree or another, must factor interface choice into their design, product definition, manufacturing, marketing and purchase decisions. For example, if a consumer purchases a PC with an analog VGA interface then the consumer must either purchase an analog monitor or a digital monitor in which the analog video signal provided by the VGA interface has been digitized by way of an inline analog to digital converter (ADC) or an ADC built into the particular monitor.
  • Therefore, it would be desirable to optimize the transmission of data packets in a packet based digital display in real time based upon particular operating conditions.
  • SUMMARY OF THE INVENTION
  • According to some embodiments of the invention, a method of optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device is disclosed. In the described embodiment, the multimedia source device and the display device are coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device. The method can be carried out by following at least the following operations. Providing a test pattern by the multimedia source device on the main link, determining a transmission quality factor of the main link based upon the test pattern, and optimizing the transmission of the multimedia data packets based upon the transmission quality factor.
  • In another embodiment, an apparatus for optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device is disclosed. The apparatus includes at least means for providing a test pattern by the multimedia source device on the main link, means for determining a transmission quality factor of the main link based upon the test pattern, and means for optimizing the transmission of the multimedia data packets based upon the transmission quality factor.
  • In yet another embodiment of the invention, computer program product for optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device is disclosed. The computer program product includes computer code for providing a test pattern by the multimedia source device on the main link, computer code for determining a transmission quality factor of the main link based upon the test pattern, computer code for optimizing the transmission of the multimedia data packets based upon the transmission quality factor, and computer readable medium for storing the computer code.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a generalized representation of a cross platform display interface 100 in accordance with an embodiment of the invention.
  • FIGS. 2A-2C illustrates a video interface system that is used to connect a video source and a video display unit in accordance with a number of embodiments of the invention.
  • FIG. 3 shows exemplary main link rates in accordance with an embodiment of the invention.
  • FIG. 4A shows a main link data packet in accordance with an embodiment of the invention.
  • FIG. 4B shows a main link packet header in accordance with an embodiment of the invention.
  • FIG. 5A shows a system arranged to provide sub-packet enclosure and multiple-packet multiplexing in accordance with an embodiment of the invention.
  • FIG. 5B shows another implementation of the system shown in FIG. 5A.
  • FIG. 6 shows a high-level diagram of the multiplexed main link stream as an example of the stream shown in FIG. 5.
  • FIG. 7 show another example of a data stream in accordance with the invention.
  • FIG. 8 shows yet another example of a multiplexed data stream in accordance with an embodiment of the invention.
  • FIG. 9A shows a representative sub-packet in accordance with an embodiment of the invention.
  • FIG. 9B shows a representative main link data packet in accordance with an embodiment of the invention.
  • FIG. 10 shows an example of a selectively refreshed graphics image.
  • FIG. 11 shows an exemplary link training pattern in accordance with an embodiment of the invention.
  • FIG. 12 illustrates a logical layering of the system in accordance with an embodiment of the invention.
  • FIG. 13 shows an exemplary special character mapping using 8B/10B in accordance with an embodiment of the invention.
  • FIG. 14 shows an exemplary Manchester II encoding scheme in accordance with an embodiment of the invention.
  • FIG. 15 shows a representative auxiliary channel electrical sub layer in accordance with an embodiment of the invention.
  • FIG. 16 shows a representative main link electrical sub layer in accordance with an embodiment of the invention.
  • FIG. 17 shows a representative connector in accordance with an embodiment of the invention.
  • FIG. 18 shows a source state diagram in accordance with an embodiment of the invention.
  • FIG. 19 shows a display state diagram in accordance with an embodiment of the invention.
  • FIGS. 20-24 illustrate various computer based implementations of the invention.
  • FIG. 25 shows a flowchart detailing a process for determining an operational mode of the interface in accordance with an embodiment of the invention.
  • FIG. 26 shows a flowchart detailing a process for providing a real time video image quality check in accordance with some aspects of the invention.
  • FIG. 27 shows a flowchart for a link set up process in accordance with an embodiment of the invention.
  • FIG. 28 shows a flowchart detailing a process for performing a training session in accordance with an embodiment of the invention.
  • FIG. 29 illustrates a computer system employed to implement the invention.
  • DETAILED DESCRIPTION OF SELECTED EMBODIMENTS
  • Reference will now be made in detail to a particular embodiment of the invention an example of which is illustrated in the accompanying drawings. While the invention will be described in conjunction with the particular embodiment, it will be understood that it is not intended to limit the invention to the described embodiment. To the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
  • A method and apparatus suitable for optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device is disclosed. In the described embodiment, the multimedia source device and the display device are coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device.
  • A method of optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device is disclosed. In the described embodiment, the multimedia source device and the display device are coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device.
  • As a method, the invention can be carried out by following at least the following operations. Providing a test pattern by the multimedia source device on the main link, determining a transmission quality factor of the main link based upon the test pattern, and optimizing the transmission of the multimedia data packets based upon the transmission quality factor.
  • For example, FIG. 1 shows a generalized representation of a cross platform packet based digital video display interface 100 in accordance with an embodiment of the invention. The interface 100 connects a transmitter 102 to a receiver 104 by way of a physical link 106 (also referred to as a pipe). In the described embodiment, a number of data streams 108-112 are received at the transmitter 102 that, if necessary, packetizes each into a corresponding number of data packets 114. These data packets are then formed into corresponding data streams each of which are passed by way of an associated virtual pipe 116-120 to the receiver 104. It should be noted that the link rate (i.e., the data packet transfer rate) for each virtual link can be optimized for the particular data stream resulting in the physical link 106 carrying data streams each having an associated link rate (each of which could be different from each other depending upon the particular data stream). The data streams 110-114 can take any number of forms such as video, graphic, audio, etc.
  • Typically, when the source is a video source, the data streams 110-114 include various video signals that can have any number and type of well-known formats, such as composite video, serial digital, parallel digital, RGB, or consumer digital video. The video signal can be an analog video signal provided the source 102 includes some form of an analog video source such as for example, an analog television, still camera, analog VCR, DVD player, camcorder, laser disk player, TV tuner, set top box (with satellite DSS or cable signal) and the like. The source 102 can also include a digital image source such as for example a digital television (DTV), digital still camera, and the like. The digital video signal can be any number and type of well known digital formats such as, SMPTE 274M-1995 (1920×1080 resolution, progressive or interlaced scan), SMPTE 296M-1997 (1280×720 resolution, progressive scan), as well as standard 480 progressive scan video.
  • In the case where the source 102 provides an analog image signal, an analog-to-digital converter (A/D) converts an analog voltage or current signal into a discrete series of digitally encoded numbers (signal) forming in the process an appropriate digital image data word suitable for digital processing. Any of a wide variety of A/D converters can be used. By way of example, other A/D converters include, for example those manufactured by: Philips, Texas Instrument, Analog Devices, Brooktree, and others.
  • For example, if the data stream 110 is an analog type signal, the an analog to digital converter (not shown) included in or coupled to the transmitter 102 will digitize the analog data which is then packetize by a packetizer that converts the digitized data stream 110 into a number of data packets 114 each of which will be transmitted to the receiver 104 by way of the virtual link 116. The receiver 104 will then reconstitute the data stream 110 by appropriately recombining the data packets 114 into their original format. It should be noted that the link rate is independent of the native stream rates. The only requirement is that the link bandwidth of the physical link 106 be higher than the aggregate bandwidth of data stream(s) to be transmitted. In the described embodiment, the incoming data (such as pixel data in the case of video data) is packed over the respective virtual link based upon a data mapping definition. In this way, the physical link 106 (or any of the constituent virtual links) does not, as does conventional interconnects such as DVI, carry one pixel data per link character clock.
  • In this way, the interface 100 provides a scaleable medium for the transport of not only video and graphics data, but also audio and other application data as may be required. In addition, the invention supports hot-plug event detection and automatically sets the physical link (or pipe) to its optimum transmission rate. The invention provides for a low pin count, purely digital display interconnect for all displays suitable for multiple platforms. Such platforms include host to display, laptop/all-in-one as well as HDTV and other consumer electronics applications.
  • In addition to providing video and graphics data, display timing information can be embedded in the digital stream providing essentially perfect and instant display alignment, obviating the need for features like “Auto-Adjust” and the like. The packet based nature of the inventive interface provides scalability to support multiple, digital data streams such as multiple video/graphics streams and audio streams for multimedia applications. In addition, a universal serial bus (USB) transport for peripheral attachment and display control can be provided without the need for additional cabling.
  • Other embodiments of the inventive display interface will be discussed below.
  • FIG. 2 illustrates a system 200 based upon the system 100 shown in FIG. 1 that is used to connect a video source 202 and a video display unit 204. In the illustrated embodiment, the video source 202 can include either or both a digital image (or digital video source) 206 and an analog image (or analog video source) 208. In the case of the digital image source 206, a digital data stream 210 is provided to the transmitter 102 whereas in the case of the analog video source 208, an A/D converter unit 212 coupled thereto, converts an analog data stream 213 to a corresponding digital data stream 214. The digital data stream 214 is then processed in much the same manner as the digital data stream 210 by the transmitter 102. The display unit 204 can be an analog type display or a digital type display or in some cases can process either analog or digital signals provided thereto. In any case, the display unit 204 includes a display interface 216 that interfaces the receiver 104 with a display 218 and a D/A converter unit 220 in the case of an analog type display. In the described embodiment, the video source 202 can take any number of forms (such as a personal desktop computer, digital or analog TV, set top box, etc.) whereas the video display unit 104 can take the form of a video display (such as an LCD type display, CRT type display, etc.).
  • Regardless of the type of video source or video sink, however, the various data streams are digitized (if necessary) and packetized prior to transmission over the physical link 106 which includes a unidirectional main link 222 for isochronous data streams and a bi-directional auxiliary channel 224 for link setup and other data traffic (such as various link management information, Universal serial bus (USB) data, etc.) between the video source 202 and the video display 204.
  • The main link 222 is thereby capable of simultaneously transmitting multiple isochronous data streams (such as multiple video/graphics streams and multi-channel audio streams). In the described embodiment, the main link 222 includes a number of different virtual channels, each capable of transferring isochronous data streams (such as uncompressed graphics/video and audio data) at multiple gigabits per second (Gbps). From a logical viewpoint, therefore, the main link 222 appears as a single physical pipe and within this single physical pipe, multiple virtual pipes can be established. In this way, logical data streams are not assigned to physical channels rather, each logical data stream is carried in its own logical pipe (i.e., virtual channel described above).
  • In the described embodiment, the speed, or transfer rate, of the main link 222 is adjustable to compensate for link conditions. For example, in one implementation, the speed of the main link 222 can be adjusted in a range approximated by a slowest speed of about 1.0 Gbps to about 2.5 Gbps per channel in approximately 0.4 Gbps increments (see FIG. 3). At 2.5 Gbps per channel, the main link 222 can support SXGA 60 Hz with a color depth of 18 bits per pixel over a single channel. It should be noted that a reduction in the number of channels reduces not only the cost of interconnect, but also reduces the power consumption which is an important consideration (and desirable) for power sensitive applications such as portable devices and the like. However, by increasing the number of channels to four, the main link 222 can support WQSXGA (3200×2048 image resolution) with a color depth of 24-bits per pixel at 60 Hz. or QSXGA (2560×2048) with a color depth of 18-bits per pixel at 60 Hz, without data compression. Even at the lowest rate of 1.0 Gbps per channel, only two channels are required to support an uncompressed HDTV (i.e., 1080i or 720p) data stream.
  • In the described embodiment, a main link data rate is chosen whose bandwidth exceeds the aggregate bandwidth of the constituent virtual links. Data sent to the interface arrives at the transmitter at its native rate. A time-base recovery (TBR) unit 226 within the receiver 104 regenerates the stream's original native rate using time stamps embedded in the main link data packets, if necessary. It should be noted, however, that for appropriately configured digital display devices 232 shown in FIG. 2B, time base recovery is unnecessary since display data is be sent to the display driver electronics at the link character clock rate, thereby greatly reducing the number of channels required with a commensurate reduction in complexity and cost for the display. For example, FIG. 2C illustrates an exemplary LCD panel 232 configured in such a way that no time base recovery since display data is essentially pipelined to the various column drivers 234 that are used in combination with row drivers 236 to drive selected display elements 238 in the array 240.
  • Other embodiments describe a simple enumeration method for the link rate and the pixel/audio clock rate. It has been researched and understood that all the standard pixel/audio clock frequencies that exist today are a subset of the following master frequency:

  • 23.76 GHz=210×33×57×111 Hz
  • This means that a pixel (or audio) clock rate can be expressed with four parameters, A, B, C, and D as:

  • Pixel clock rate=2A*3B×5C×11D

  • A=4 bits, B=2 bits, C=3 bits, and D=1 bit.
  • Even for a link whose link rate (which is the serial link bit rate/10 for a link that uses 10-bit character such as 8B/10B characters) may be different from the pixel clock rate, there is a benefit in defining the link rate with these four parameters, A′, B′, C′, and D′: The benefit is the simplicity in regenerating pixel/audio clocks from a link clock. For example, let's say the link rate is set as A′=6, B′=3, C∝=7, and D′=0 and the corresponding link rate is 135 MHz. However, suppose the pixel clock rate is set as A=8, B=3, C=6, and D=0 (=108 MHz), then the pixel clock can be generated from link clock as pixel clock rate is equal to the link rate*22/51.
  • Referring back to those systems requiring time base recovery, the time-base recovery unit 226 may be implemented as a digital clock synthesizer. For an uncompressed video stream, the time stamp is stored in the packet header which as described in more detail below, is a 20-bit value. For a given stream, four of 20 bits are stored in each header successively (TS3-0, TS7-4, TS11-8, TS15-12, TS19-16). Native stream frequency (Freq_native) is obtained from link character clock frequency (Freq_link_char) as:

  • Freq_native=Freq_link_char*(TS19-0)/220  Eq(1)
  • The transmitter 102 generates this time stamp by counting the number of native stream clocks in 220 cycles of the link character clock frequency period. The counter updates the value every 220 cycles of the link character clock. Since these two clocks are asynchronous with each other, the time stamp value will change by 1 over time. Between updates, the transmitter 102 will repeatedly send the same time stamp in the header of the given packet stream. A sudden change of the time stamp value (by more than 1 count) may be interpreted by the receiver as an indication of an unstable condition of the stream source.
  • It should be noted that, no time stamp is communicated for an audio stream. In this case, the source device informs the display device of the audio sample rate and number of bits per sample. By determining the audio rate based upon Eq(2) and the link character rate, the display device regenerates the original audio stream rate.

  • Audio rate=(audio sample rate)×(# bits per sample)×(# channels)  Eq(2)
  • A main link data packet 400 shown in FIG. 4A includes a main link packet header 402 as shown in FIG. 4B that is formed of 16 bits where bits 3-0 are the Stream ID (SID) (indicating that maximum stream count is 16), bit 4 is the Time Stamp (TS) LSB. When bit 4 is equal to 1, this packet header has the least significant 4 bits of Time Stamp value (used only for uncompressed video stream). Bit 5 is a Video frame sequence bit which acts as the least significant bit of the frame counter which toggles from “0” to “1” or from “1” to “0” at the video frame boundary (used only for uncompressed video stream). Bits 7 and 6 are reserved whereas bits 8 through 10 are a 4-bit CRC (CRC) that checks errors for the previous eight bits. Bits 15-12 are Time Stamp/Stream ID Inversion. (TSP/SIDn) which for uncompressed video are used as four bits of 20-bit Time Stamp value.
  • One of the advantages of the inventive interface is the ability to multiplex different data streams each of which can be different formats as well as have certain main link data packets include a number of sub packets. For example, FIG. 5 shows a system 500 arranged to provide sub-packet enclosure and multiple-packet multiplexing in accordance with an embodiment of the invention. It should be noted that the system 500 is a particular embodiment of the system 200 shown in FIG. 2 and should therefore not be construed as limiting either the scope or intent of the invention. The system 500 includes a stream source multiplexer 502 included in the transmitter 102 used to combine a stream 1 supplemental data stream 504 with the data stream 210 to form a multiplexed data stream 506. The multiplexed data stream 506 is then forwarded to a link layer multiplexer 508 that combines any of a number of data streams to form a multiplexed main link stream 510 formed of a number of data packets 512 some of which may include any of a number of sub packets 514 enclosed therein. A link layer de-multiplexer 516 splits the multiplexed data stream 510 into its constituent data streams based on the stream IDs (SIDs) and associated sub packet headers while a stream sink de-multiplexer 518 further splits off the stream 1 supplemental data stream contained in the sub-packets.
  • FIG. 6 shows a high-level diagram of the multiplexed main link stream 600 as an example of the stream 510 shown in FIG. 5 when three streams are multiplexed over the main link 222. The three streams in this example are: UXGA graphics (Stream ID=1), 1280×720p video (Stream ID=2), and audio (Stream ID=3). The small packet header size of main link packet 400 minimizes the packet overhead, which results in the very high link efficiency. The reason the packet header can be so small is that the packet attributes are communicated via the auxiliary channel 224 prior to the transmission of the packets over main link 222.
  • Generally speaking, the sub-packet enclosure is an effective scheme when the main packet stream is an uncompressed video since an uncompressed video data stream has data idle periods corresponding to the video-blanking period. Therefore, main link traffic formed of an uncompressed video stream will include series of Null special character packets during this period. By capitalizing on the ability to multiplex various data streams, certain implementations of the present invention use various methods to compensate for differences between the main link rate and the pixel data rate when the source stream is a video data stream. For example, as illustrated in FIG. 7, the pixel data rate is 0.5 Gb/sec, such that a bit of pixel data is transmitted every 2 ns. In this example, the link rate has been set to 1.25 Gb/sec, such that a bit of pixel data is transmitted each 0.8 ns. Here, transmitter 102 intersperses special characters between pixel data as illustrated in FIG. 8. Two special characters are disposed between a first bit of pixel data P1 and a second bit of pixel data P2. The special characters allow receiver 104 to distinguish each bit of pixel data. Interspersing the special characters between bits of pixel data also creates a steady stream of data that allows the link to maintain synchronization. In this example, the special characters are Null characters. No line buffer is needed for such methods, only a small FIFO, because the link rate is sufficiently fast. However, relatively more logic is required on the receiving side to reconstruct the video signal. The receiver needs to recognize when the special characters begin and end.
  • An alternative to the interspersing method is to alternate consecutive bits of pixel data with special characters, such as null values. For example, P1 through P4 could be fed into a line buffer included in the transmitter 104, then one or more null values could be fed into the buffer until more pixel data are available. Such implementations require a relatively larger buffer space than the interspersing methods described above. In many such implementations, the time required to fill the line buffer will exceed the time required to transmit the data after the line buffer is full, due to the relatively high link speeds.
  • As discussed with reference to FIG. 5A, one of the advantages of the inventive interface is the ability to not only multiplex various data streams, but also the enclosing of any of a number of sub packets within a particular main link data packet. FIG. 9A shows a representative sub-packet 900 in accordance with an embodiment of the invention. The sub-packet 900 includes a sub-packet header 902 that in the described embodiment is 2 bytes and is accompanied by SPS (Sub-Packet Start) special character. If the main link data packet in which the sub-packet 900 is enclosed contains a packet payload in addition to the sub-packet 900, the end of the sub-packet 900 must be marked by SPE (Sub-Packet End) special character. Otherwise, the end of the main packet (as indicated by ensuing COM character in the example shown in FIG. 9B) marks the end of both the sub-packet 902 and the main packet into which it is enclosed. However, a sub-packet does not need to end with SPE when its enclosing main packet has no payload. FIG. 9B shows an exemplary sub-packet format within a main link packet in accordance with an embodiment of the invention. It should be noted that the definition of the header field and sub-packet payload is dependent on the specific application profile that uses the sub-packet 902.
  • A particularly useful example of sub-packet enclosure usage is selective refresh of an uncompressed graphics image 1000 illustrated in FIG. 10. The attributes of the entire frame 1002 (Horizontal/Vertical Total, Image Width/Height, etc.) will be communicated via the auxiliary channel 224 since those attributes stay constant as long as the stream remains valid. In selective refresh operation, only a portion 1004 of the image 1000 is updated per video frame. The four X-Y coordinates of the updated rectangle(s) (i.e., the portion 1004) must be transmitted every frame since the values of the rectangle coordinates changes from frame to frame. Another example is the transmission of color look-up table (CLUT) data for required for 256-color graphic data where the 8-bit pixel data is an entry to the 256-entry CLUT and the content of the CLUT must be dynamically updated.
  • The single bi-directional auxiliary channel 224 provides a conduit to for various support functions useful for link set up and supporting main link operations as well as to carry auxiliary application data such as USB traffic. For example, with the auxiliary channel 224, a display device can inform the source device of events such as sync loss, dropped packets and the results of training sessions (described below). For example, if a particular training session fails, the transmitter 102 adjusts the main link rate based upon pre-selected or determined results of the failed training session. In this way, the closed loop created by combining an adjustable, high speed main link with a relatively slow and very reliable auxiliary channel allows for robust operation over a variety of link conditions. It should be noted that in some cases (an example of which is shown in FIG. 5B), a logical bi-directional auxiliary channel 520 can be established using a portion 522 of the bandwidth of the main link 222 to transfer data from the source device 202 to the sink device 204 and a uni-directional back channel 524 from the sink device 204 to the source device 202. In some applications, use of this logical bi-directional auxiliary channel may be more desirable than using a half-duplex bi-directional channel described in FIG. 5A.
  • Prior to starting the transmission of actual packet data streams the transmitter 102 establishes a stable link through a link training session that is analogous in concept to the link setup of the modem. During link training, the main link transmitter 102 sends a pre-defined training pattern so that the receiver 104 can determine whether it can achieve a solid bit/character lock. In the described embodiment, training related handshaking between the transmitter 102 and the receiver 104 is carried on the auxiliary channel. An example of a link training pattern is shown in FIG. 11 in accordance with an embodiment of the invention. As illustrated, during the training session, a phase 1 represents the shortest run length while phase 2 is the longest that are used by the receiver to optimize an equalizer. In phase 3, both bit lock and character lock are achieved as long as the link quality is reasonable. Typically, the training period is about 10 ms, in which time, approximately 107 bits of data are sent. If the receiver 104 does not achieve solid lock, it informs the transmitter 102 via the auxiliary channel 224 and the transmitter 102 reduces the link rate and repeats the training session.
  • In addition to providing a training session conduit, the auxiliary channel 224 can be also used to carry main link packet stream descriptions thereby greatly reducing the overhead of packet transmissions on the main link 222. Furthermore, the auxiliary channel 224 can be configured to carry Extended Display Identification Data (EDID) information replacing the Display Data Channel (DDC) found on all monitors (EDID is a VESA standard data format that contains basic information about a monitor and its capabilities, including vendor information, maximum image size, color characteristics, factory pre-set timings, frequency range limits, and character strings for the monitor name and serial number. The information is stored in the display and is used to communicate with the system through the DDC which sites between the monitor and the PC graphics adapter. The system uses this information for configuration purposes, so the monitor and system can work together). In what is referred to as an extended protocol mode, the auxiliary channel can carry both asynchronous and isochronous packets as required to support additional data types such as keyboard, mouse and microphone.
  • FIG. 12 illustrates a logical layering 1200 of the system 200 in accordance with an embodiment of the invention. It should be noted that while the exact implementation may vary depending upon application, generally, a source (such as the video source 202) is formed of a source physical layer 1202 that includes transmitter hardware, a source link layer 1204 that includes multiplexing hardware and state machine (or firmware), and a data stream source 1206 such as Audio/Visual/Graphics hardware and associated software. Similarly, a display device includes a physical layer 1208 (including various receiver hardware), a sink link layer 1210 that includes de-multiplexing hardware and state machine (or firmware) and a stream sink 1212 that includes display/timing controller hardware and optional firmware. A source application profile layer 1214 defines the format with which the source communicates with the link layer 1204 and similarly, a sink application profile layer 1216 defines the format with which the sink 1212 communicates with the sink link layer 1210.
  • The various layers will now be discussed in more detail.
  • Source Device Physical Layer
  • In the described embodiment, the source device physical layer 1202 includes an electrical sub layer 1202-1 and a logical sub layer 1202-2. The electrical sub layer 1202-1 includes all circuitry for interface initialization/operation such as hot plug/unplug detection circuit, drivers/receivers/termination resistors, parallel-to-serial/serial-to-parallel conversions, and spread-spectrum-capable PLL's. The logical sub layer 1202-2 includes circuitry for, packetizing/de-packetizing, data scrambling/de-scrambling, pattern generation for link training, time-base recovery circuits, and data encoding/decoding such as 8B/10B (as specified in ANSI X3.230-1994, clause 11) that provides 256 link data characters and twelve control characters (an example of which is shown as FIG. 13) for the main link 222 and Manchester II for the auxiliary channel 224 (see FIG. 14).
  • It should be noted that the 8B/10B encoding algorithm is described, for example, in U.S. Pat. No. 4,486,739, which is hereby incorporated by reference. As known by those of skill in the art, the 8B/10B code is a block code that encodes 8-bit data blocks into 10-bit code words for serial transmission. In addition, the 8B/10B transmission code converts a byte wide data stream of random 1s and 0s into a DC balanced stream of 1s and 0s with a maximum run length of 5. Such codes provide sufficient signal transitions to enable reliable clock recovery by a receiver, such as transceiver 110. Moreover, a DC balanced data stream proves to be advantageous for fiber optic and electromagnetic wire connections. The average number of 1s and 0s in the serial stream is be maintained at equal or nearly equal levels. The 8B/10B transmission code constrains the disparity between the number of 1s and 0s to be −2, 0, or 2 across 6 and 4 bit block boundaries. The coding scheme also implements additional codes for signaling, called command codes.
  • It should be noted that in order to avoid the repetitive bit patterns exhibited by uncompressed display data (and hence, to reduce EMI), data transmitted over main link 222 is first scrambled before 8B/10B encoding. All data except training packets and special characters will be scrambled. The scrambling function is implemented with Linear Feedback Shift Registers (LFSRs). When data encryption is enabled, the initial value of an LFSR seed is dependent on an encryption key set. If it is data scrambling without encryption, the initial value will be fixed.
  • Since data stream attributes are transmitted over the auxiliary channel 224, the main link packet headers serve as stream identification numbers thereby greatly reducing overhead and maximizing link bandwidth. It should also be noted that neither the main link 222 nor the auxiliary link 224 has separate clock signal lines. In this way, the receivers on main link 222 and auxiliary link 224 sample the data and extract the clock from the incoming data stream. Fast phase locking for any phase lock loop (PLLs) circuit in the receiver electrical sub layer is important for since the auxiliary channel 224 is half-duplex bi-directional and the direction of the traffic changes frequently. Accordingly, the PLL on the auxiliary channel receiver phase locks in as few as 16 data periods thanks to the frequent and uniform signal transitions of Manchester II (MII) code
  • At link set up time, the data rate of main link 222 is negotiated using the handshake over auxiliary channel 224. During this process, known sets of training packets are sent over the main link 222 at the highest link speed. Success or failure is communicated back to the transmitter 102 via the auxiliary channel 224. If the training fails, main link speed is reduced and training is repeated until successful. In this way, the source physical layer 1102 is made more resistant to cable problems and therefore more suitable for external host to monitor applications. However, unlike conventional display interfaces, the main channel link data rate is decoupled from the pixel clock rate. A link data rate is set so that link bandwidth exceeds the aggregate bandwidth of the transmitted streams.
  • Source Device Link Layer
  • The source link layer 1204 handles the link initialization and management. For example, upon receiving a hot plug detect event generated upon monitor power-up or connection of the monitor cable from the source physical layer 1202, the source device link layer 1204 evaluates the capabilities of the receiver via interchange over the auxiliary channel 224 to determine a maximum main link data rate as determined by a training session, the number of time-base recovery units on the receiver, available buffer size on both ends, availability of USB extensions and then notifies the stream source 1206 of an associated hot plug event. In addition, upon request from the stream source 1206, the source link layer 1204 reads the display capability (EDID or equivalent). During a normal operation, the source link layer 1204 sends the stream attributes to the receiver 104 via the auxiliary channel 224, notifies the stream source 1204 whether the main link 222 has enough resource for handling the requested data streams, notifies the stream source 1204 of link failure events such as sync loss and buffer overflow, and sends MCCS commands submitted by the stream source 1204 to the receiver via the auxiliary channel 224. All communications between the source link layer 1204 and the stream source/sink use the formats defined in the application profile layer 1214.
  • Application Profile Layer (Source and Sink)
  • In general, the Application Profile Layer defines formats with which a stream source (or sink) will interface with the associated link layer. The formats defined by the application profile layer are divided into the following categories, Application independent formats (Link Message for Link Status inquiry) and Application dependent formats (main link data mapping, time-base recovery equation for the receiver, and sink capability/stream attribute messages sub-packet formats, if applicable). The Application Profile Layer supports the following color formats 24-bit RGB, 16-bit RG2565, 18-bit RGB, 30-bit RGB, 256-color RGB (CLUT based), 16-bit, CbCr422, 20-bit YCbCr422, and 24-bit YCbCr444.
  • For example, the display device application profile layer (APL) 1214 is essentially an application-programming interface (API) describing the format for Stream Source/Sink communication over the main link 222 that includes a presentation format for data sent to or received from the interface 100. Since some aspects of the APL 1214 (such as the power management command format) are baseline monitor functions, they are common to all uses of the interface 100. Whereas other non-baseline monitor functions, such as such as data mapping format and stream attribute format, are unique to an application or a type of isochronous stream that is to be transmitted. Regardless of the application, the stream source 1204 queries the source link layer 1214 to ascertain whether the main link 222 is capable of handling the pending data stream(s) prior to the start any packet stream transmission on the main link 222.
  • When it is determined that the main link 222 is capable of supporting the pending packet stream(s), the stream source 1206 sends stream attributes to the source link layer 1214 that is then transmitted to the receiver over the auxiliary channel 224. These attributes are the information used by the receiver to identify the packets of a particular stream, to recover the original data from the stream and to format it back to the stream's native data rate. The attributes of the data stream are application dependent.
  • In those cases where the desired bandwidth is not available on the main link 222, the stream source 1214 may take corrective action by, for example, reducing the image refresh rate or color depth.
  • Display Device Physical Layer
  • The display device physical layer 1216 isolates the display device link layer 1210 and the display device APL 1216 from the signaling technology used for link data transmission/reception. The main link 222 and the auxiliary channel 224 have their own physical layers, each consisting of a logical sub layer and an electrical sub layer that includes the connector specification. For example, the half-duplex, bi-directional auxiliary channel 224 has both a transmitter and a receiver at each end of the link as shown in FIG. 15. An auxiliary link transmitter 1502 is provided with link characters by a logical sub layer 1208-1 that are then serialized serialized and transmitted to a corresponding auxiliary link receiver 1504. The receiver 1504, in turn, receives serialized link character from the auxiliary link 224 and de-serializes the data at a link character clock rate. It should be noted that the major functions of the source logical sub layers include signal encoding, packetizing, data scrambling (for EMI reduction), and training pattern generation for the transmitter port. While for the receiver port, the major functions of the receiver logical sub layer includes signal decoding, de-packetizing, data de-scrambling, and time-base recovery.
  • Auxiliary Channel
  • The major functions of auxiliary channel logical sub layer include data encoding and decoding, framing/de-framing of data and there are two options in auxiliary channel protocol: standalone protocol (limited to link setup/management functions in a point-to-point topology) is a lightweight protocol that can be managed by the Link Layer state-machine or firmware and extended protocol that supports other data types such as USB traffic and topologies such as daisy-chained sink devices. It should be noted that the data encoding and decoding scheme is identical regardless of the protocol whereas framing of data differs between the two.
  • Still referring to FIG. 15, the auxiliary channel electrical sub layer contains the transmitter 1502 and the receiver 1504. The transmitter 1502 is provided with link characters by the logical sub layer, which it serializes and transmits out. The receiver 1504 receives serialized link character from the link layer and subsequently de-serializes it at link character clock rate. The positive and negative signals of auxiliary channel 224 are terminated to ground via 50-ohm termination resistors at each end of the link as shown. In the described implementation, the drive current is programmable depending on the link condition and ranges from approximately 8 mA to approximately 24 mA resulting in a range of Vdifferential_pp of approximately 400 mV to approximately 1.2V. In electrical idle modes, neither the positive nor the negative signal is driven. When starting transmission from the electrical idle state, the SYNC pattern must be transmitted and the link reestablished. In the described embodiment, the SYNC pattern consists of toggling a auxiliary channel differential pair signals at clock rate 28 times followed by four 1's in Manchester II code. The auxiliary channel master in the source device detects hot-plug and hot-unplug events by periodically driving or measuring the positive and negative signals of auxiliary channel 224.
  • Main Link
  • In the described embodiment, the main link 222 supports discrete, variable link rates that are integer multiples of the local crystal frequency (see FIG. 3 for a representative set of link rates consonant with a local crystal frequency of 24-MHz). As shown in FIG. 16, the main link 222 (being an unidirectional channel) has only a transmitter 1602 at the source device and only a receiver 1604 at the display device.
  • As shown, the cable 1604 takes the form includes a set of twisted pair wires, one for each of the Red (R), Green (G), and Blue (B) video signals provides in a typical RGB color based video system (such as PAL based TV systems). As known by those of skill in the art, twisted pair cable is a type of cable that consists of two independently insulated wires twisted around one another. One wire carries the signal while the other wire is grounded and absorbs signal interference. It should be noted that in some other systems, the signals could also be component based signals (Pb, Pr, Y) used for NTSC video TV systems. Within the cable, each twisted pair is individually shielded. Two pins for +12V power and ground are provided. The characteristics impedance of each differential pair is 100 ohms+/−20%. The entire cable is also shielded. This outer shield and individual shields are shorted to the connector shells on both ends. The connector shells are shorted to ground in a source device. A connector 1700 as shown in FIG. 17 has 13 pins in one row having a pinout that is identical both for the connector on the source device end and that on the display device end. The source device supplies the power.
  • The main link 222 is terminated on both ends and since the main link 222 is AC coupled, the termination voltage can be anywhere between 0V (ground) to +3.6V. In the described implementation, the drive current is programmable depending on the link condition and ranges from approximately 8 mA to approximately 24 mA resulting in a range of Vdifferential_pp of approximately 400 mV to approximately 1.2V. The minimum voltage swing is selected for each connection using a training pattern. An electrical idle state is provided for power management modes. In electrical idle, neither the positive nor the negative signals are driven. When starting a transmission from electrical idle state, the transmitter must conduct a training session in order re-establish the link with the receiver.
  • State Diagrams
  • The invention will now be described in terms of state diagrams shown in FIGS. 18 and 19 described below. Accordingly, FIG. 18 shows the source state diagram described below. At an off state 1802, the system is off such that the source is disabled. If the source is enabled, then the system transitions to a standby state 1804 suitable for power saving and receiver detection. In order to detect whether or not the receiver is present (i.e., hot plug/play), the auxiliary channel is periodically pulsed (such as for 1 us every 10 ms) and a measure of a voltage drop across the termination resistors during the driving is measured. If it is determined that a receiver is present based upon the measured voltage drop, then the system transitions to a detected receiver state 1806 indicating that a receiver has been detected, i.e., a hot plug event has been detected. If, however, there is no receiver detected, then the receiver detection is continued until such time, if ever, a receiver is detected or a timeout has elapsed. It should be noted that in some cases the source device may choose to go to “OFF” state from which no further display detection is attempted.
  • If at the state 1806 a display hot unplug event is detected, then the system transitions back to the standby state 1804. Otherwise the source drives the auxiliary channel with a positive and negative signal to wake up receiver and the receiver's subsequent response, if any, is checked. If there is no response received, then the receiver has not woken up and source remains in the state 1806. If, however, a signal is received from the display, then the display has woken up and the source is ready read the receiver link capabilities (such as max link rate, buffer size, and number of time-base recovery units) and the system transitions to a main link initialization state 1808 and is ready to commence a training start notification phase.
  • At this point, a training session is started by sending a training pattern over the main link at a set link rate and checks an associated training status. The receiver sets a pass/fail bit for each of three phases and the transmitter will proceed to the next phase upon detection of pass only such that when a pass is detected, the main link is ready at that link rate. At this point, the interface transitions to a normal operation state 1510, otherwise, the link rate is reduced and the training session is repeated. During the normal operation state 1810, the source continues to periodically monitor a link status index, which if fails, a hot unplug event is detected and the system transitions to the standby state 1804 and waits for a hot plug detection event. If, however, a sync loss is detected, then the system transitions to state 1808 for a main link re-initiation event.
  • FIG. 19 shows the display state diagram 1900 described below. At a state 1902, no voltage is detected, the display goes to an OFF state. At a standby mode state 1904, both main link receiver and auxiliary channel slave are in electrical idle, a voltage drop across the termination resistors of auxiliary channel slave port are monitored for a predetermined voltage. If the voltage is detected, then the auxiliary channel slave port is turned on indicating a hot plug event and the system moves to a display state 1906, otherwise, the display remains in the standby state 1904. At the state 1906 (main link initialization phase), if a display is detected, then the auxiliary slave port is fully turned on, and the transmitter responds to a receiver link capability read command and the display state transitions to 1908, otherwise, if there is no activity on the auxiliary channel for more than a predetermined period of time then the auxiliary channel slave port is put into the to standby state 1904.
  • During a training start notification phase, the display responds to the training initiation by the transmitter by adjusting the equalizer using training patterns, updating the result for each phase. If the training fails, then wait for another training session and if the training passes, then go to normal operation state 1910. If there is no activity on the auxiliary channel or on the main link (for training) for more than a predetermined (10 ms, for example), the auxiliary channel slave port is set to the standby state 1904.
  • FIGS. 20-24 show particular implementations of the cross platform display interface.
  • FIG. 20 shows a PC motherboard 2000 having an on-board graphics engine 2002 that incorporates a transmitter 2004 in accordance with the invention. It should be noted that the transmitter 2004 is a particular example of the transmitter 102 shown in FIG. 1. In the described embodiment, the transmitter 2004 is coupled to an connector 2006 (along the lines of the connector 1700) mounted on the motherboard 2000 which in turn is connected to a display device 2008 by way of a twisted pair cable 2010 couples a display device 2010.
  • As known in the art, PCI Express (developed by Intel Corporation of Santa Clara, Calif.) is a high-bandwidth, low pin count, serial, interconnect technology that also maintains software compatibility with existing PCI infrastructure. In this configuration, the PCI Express port is augmented to become compliant with the requirements of the cross platform interface which can directly drive a display device either using a motherboard mounted connector as shown.
  • In situations where it is not practical to mount the connector on the motherboard, the signals can be routed through the SDVO slot of the PCI Express motherboard and brought to the back of the PC using a passive card connector as shown in FIG. 21. As is the case with the current generation of add-in graphics cards, a add-in graphics card can supplant the onboard graphics engine as shown in FIG. 23.
  • In the case of notebook applications, the transmitter on the motherboard graphics engine would drive through internal cabling, an integrated receiver/TCON which would drive the panel directly. For the most cost effective implementation, the receiver/TCON would be mounted on the panel thereby reducing the number of interconnect wires to 8 or 10 as shown in FIG. 24
  • All of the above examples assume integrated transmitters. However, is it quite feasible to implement as a standalone transmitter integrating into PCI and PCI Express environments through the AGP or SDVO slots, respectively. A standalone transmitter will enable output streams without any change in graphics hardware or software.
  • Flowchart Embodiments
  • The methodology of the invention will now be described in terms of a number of flowcharts each describing a particular process for enabling the invention. Specifically, FIGS. 25-29 describe a number of interrelated processes that when used singly or in any combination described aspects of the invention.
  • FIG. 25 shows a flowchart detailing a process 2500 for determining an operational mode of the interface 100 in accordance with an embodiment of the invention. In this process, the operational mode will only be set to a digital mode if the video source and the display device are both digital. Otherwise, the operational mode will be set to analog mode. It should be noted that “analog mode” in this context can include both conventional VGA mode as well as enhanced analog mode having differential analog video with embedded alignment signal and bi-directional sideband. This enhanced analog mode will be described below.
  • In step 2502, a video source is interrogated to determine whether the video source supports analog or digital data. If the video source supports only analog data, the operational mode of coupling device 100 will be set to analog (step 2508), then the process will end (step 2512).
  • If the video source can output digital data, the process continues to step 2506. The display device is then interrogated to determine whether the display device is configured to receive digital data. If the display device supports only analog data, the operational mode of coupling device will be set to analog (step 2508), then the process will end (step 2512). Otherwise, the operational mode of the coupling device is set to digital (step 2510). For example, a processor may control switches within the coupling device to set the mode to digital. In general, the coupling device is configured to operate in a fully digital mode only when both the video source and the video sink are operating in a corresponding digital mode.
  • FIG. 26 shows a flowchart detailing a process 2600 for providing a real time video image quality check in accordance with some aspects of the invention. In this example, all determinations of process 2600 are made by a processor coupled to the display interface.
  • In step 2600, a video signal is received from a video source. Next, a signal quality test pattern is provided by the video source associated with the received video signal (step 2602). In step 2604, a determination of a bit error rate is made, based upon the quality test pattern. Then, a determination is made of whether the bit error rate is greater than a threshold value (step 2606). If the bit error rate is determined to not be greater than the threshold value, then a determination is made (step 2614) of whether or not there are more video frames. If it is determined that there are more video frames, then the process returns to step 2600. Otherwise, the process ends.
  • However, if the bit error rate is determined to be greater than the threshold value in step 2606, a determination is made (step 2608) as to whether the bit rate is greater than a minimum bit rate. If the bit rate is greater than a minimum bit rate, then the bit rate is lowered (step 2610) and the process returns to step 2606. If the bit rate is not greater than the minimum bit rate, then the mode is changed to analog mode (step 2612) and the process ends.
  • FIG. 27 shows a flowchart for a link set up process 2700 in accordance with an embodiment of the invention. The process 2700 begins at 2702 by the receiving of a hot plug detection event notification. At 2704 a main link inquiry is made by way of an associated auxiliary channel to determine a maximum data rate, a number of time base recovery units included in a receiver, and available buffer size. Next, at 2706, the maximum link data rate is verified by way of a training session and at 2708, a data stream source is notified of the hot plug event. At 2710, the capabilities of the display (using EDID, for example) are determined by way of the auxiliary channel and the display responds to the inquires at 2712 which, in turn, results a collaboration of the main link training session at 2714.
  • Next, at 2716, the stream source sends stream attributes to the receiver by way of the auxiliary channel and at 2718, the stream sources are further notified whether the main link is capable of supporting the requested number of data streams at 2720. At 2722, the various data packets are formed by adding associated packet headers and the multiplexing of a number of source streams is scheduled at 2724. At 2726 a determination is made whether or not the link status is OK. When the link status is not OK, then the source(s) are notified of a link failure event at 2728, otherwise, the link data streams are reconstructed into the native streams based upon the various packet headers at 2730. At 2732, the reconstructed native data streams are then passed to the display device.
  • FIG. 28 shows a flowchart detailing a process 2800 for performing a training session in accordance with an embodiment of the invention. It should be noted that the training session process 2800 is one implementation of the operation 2506 described in FIG. 25. A training session is started at 2802 by sending a training pattern over the main link at a set link rate to the receiver. A typical link training pattern is shown in FIG. 11 in accordance with an embodiment of the invention. As illustrated, during the training session, a phase 1 represents the shortest run length while phase 2 is the longest. The receiver is to use these two phases to optimize the equalizer. In phase 3, both bit lock and character lock are achieved as long as the link quality is reasonable. At 2804, the receiver checks an associated training status and based upon the training status check, the receiver sets a pass/fail bit for each of three phases and the transmitter at 2806. At each phase, the receiver will proceed to the next phase upon detection of pass only and at 2810 and if the receiver does not detect a pass then the receiver reduces the link rate and repeats the training session. The main link is ready at that link rate at which a pass is detected at 2812.
  • FIG. 29 illustrates a computer system 2900 employed to implement the invention. Computer system 2900 is only an example of a graphics system in which the present invention can be implemented. Computer system 2900 includes central processing unit (CPU) 1510, random access memory (RAM) 2920, read only memory (ROM) 2925, one or more peripherals 2930, graphics controller 2960, primary storage devices 2940 and 2950, and digital display unit 2970. As is well known in the art, ROM acts to transfer data and instructions uni-directionally to the CPUs 2910, while RAM is used typically to transfer data and instructions in a bi-directional manner. CPUs 2910 may generally include any number of processors. Both primary storage devices 2940 and 2950 may include any suitable computer-readable media. A secondary storage medium 880, which is typically a mass memory device, is also coupled bi-directionally to CPUs 2910 and provides additional data storage capacity. The mass memory device 880 is a computer-readable medium that may be used to store programs including computer code, data, and the like. Typically, mass memory device 880 is a storage medium such as a hard disk or a tape which generally slower than primary storage devices 2940, 2950. Mass memory storage device 880 may take the form of a magnetic or paper tape reader or some other well-known device. It will be appreciated that the information retained within the mass memory device 880, may, in appropriate cases, be incorporated in standard fashion as part of RAM 2920 as virtual memory.
  • CPUs 2910 are also coupled to one or more input/output devices 890 that may include, but are not limited to, devices such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers. Finally, CPUs 2910 optionally may be coupled to a computer or telecommunications network, e.g., an Internet network or an intranet network, using a network connection as shown generally at 2995. With such a network connection, it is contemplated that the CPUs 2910 might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented as a sequence of instructions to be executed using CPUs 2910, may be received from and outputted to the network. The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts.
  • Graphics controller 2960 generates analog image data and a corresponding reference signal, and provides both to digital display unit 2970. The analog image data can be generated, for example, based on pixel data received from CPU 2910 or from an external encode (not shown). In one embodiment, the analog image data is provided in RGB format and the reference signal includes the VSYNC and HSYNC signals well known in the art. However, it should be understood that the present invention can be implemented with analog image, data and/or reference signals in other formats. For example, analog image data can include video signal data also with a corresponding time reference signal.
  • Although only a few embodiments of the present invention have been described, it should be understood that the present invention may be embodied in many other specific forms without departing from the spirit or the scope of the present invention. The present examples are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
  • While this invention has been described in terms of a preferred embodiment, there are alterations, permutations, and equivalents that fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing both the process and apparatus of the present invention. It is therefore intended that the invention be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.

Claims (16)

1. A method of real time optimizing transmission of a number of multimedia data packets between a multimedia source device and a multimedia display device coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device to the multimedia display device and a separate bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device, comprising:
providing a test pattern by the multimedia source device on the main link;
receiving a bit error rate at the source device by way of the auxiliary channel, the bit error rate corresponding to a transmission quality factor based on the test pattern;
optimizing the transmission of the multimedia data packets based upon the transmission quality factor if the bit error rate is greater than a predetermined threshold value bit error rate;
detecting a hot plug event that automatically determines when an active display device is connected to the main link and the auxiliary link; and
commencing the optimization immediately subsequent to the detection of the hot plug event.
2. The method as recited in claim 1 wherein the optimizing further comprises:
when the bit error rate is determined to be greater than the predetermined threshold bit error rate, then
determining if the transmission rate of the multimedia data packets on the main link is greater than a minimum transmission rate.
3. The method as recited in claim 2, wherein when the transmission rate is greater than the minimum transmission rate then,
reducing the main link transmission rate; and
determining the bit error rate based upon the reduced main link transmission rate.
4. The method as recited in claim 1, wherein the bi-directional auxiliary channel is formed of a uni-directional back channel configured to carry information from the display device to the source device and a uni-directional forward channel included as part of the main channel for carrying information from the source device to the display device in concert with the back channel.
5. The method as recited in claim 1, wherein the number of multimedia data packets are divided into a number or associated multimedia data packets streams.
6. An multimedia source device arrange to optimize transmission of a number of multimedia data packets from the multimedia source device to a multimedia display device coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device and the multimedia display device and separate a bi-directional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device, comprising:
a processor unit, the processor unit arranged to,
provide a test pattern by the multimedia source device on the main link,
receive a bit error rate by way of the auxiliary channel, the bit error rate corresponding to a transmission quality factor based on the test pattern, and
optimize the transmission of the multimedia data packets based upon the transmission quality factor if the bit error rate is greater than a predetermined threshold value bit error rate.
7. The multimedia source device as recited in claim 6, wherein the processor unit is further arranged to,
detect a hot plug event that automatically determines when an active display device is connected to the main link and the auxiliary link, and
initiate the optimization immediately subsequent to the detection of the hot plug event.
8. The multimedia source device as recited in claim 6 wherein the optimizing further comprises:
determining if the transmission rate of the multimedia data packets on the main link is greater than a minimum transmission rate when the bit error rate is determined to be greater than the predetermined threshold bit error rate.
9. The multimedia source device as recited in claim 6, wherein when the transmission rate is greater than the minimum transmission rate then the processor unit reduces the main link transmission rate and determines the bit error rate based upon the reduced main link transmission rate.
10. The multimedia source device as recited in claim 6, wherein the bidirectional auxiliary channel is formed of a unidirectional back channel configured to carry information from the display device to the source device and a unidirectional forward channel included as part of the main channel for carrying information from the source device to the display device in concert with the back channel.
11. The multimedia source device as recited in claim 10, wherein the number of multimedia data packets are divided into a number or associated multimedia data packets streams.
12. Computer readable medium for storing a computer program for real time optimizing of the transmission of a number of multimedia data packets from a multimedia source device to a multimedia display device coupled by way of a unidirectional main link arranged to carry the multimedia data packets from the multimedia source device to the multimedia display device and a separate bidirectional auxiliary channel arranged to transfer information between the multimedia source device and the multimedia display device, wherein the computer readable medium comprises:
computer code for providing a test pattern by the multimedia source device on the main link;
computer code for receiving a bit error rate at the source device by way of the auxiliary channel, the bit error rate corresponding to a transmission quality factor based on the test pattern;
computer code for optimizing the transmission of the multimedia data packets based upon the transmission quality factor if the bit error rate is greater than a predetermined threshold value bit error rate; and
computer code for detecting a hot plug event that automatically determines when an active display device is connected to the main link and the auxiliary link; and
computer code for commencing the optimization immediately subsequent to the detection of the hot plug event.
13. Computer readable medium as recited in claim 12 wherein the optimizing further comprises:
computer code for determining if the transmission rate of the multimedia data packets on the main link is greater than a minimum transmission rate when the bit error rate is determined to be greater than the predetermined threshold bit error rate.
14. Computer readable medium as recited in claim 13, wherein when the transmission rate is greater than the minimum transmission rate then,
computer code for reducing the main link transmission rate; and
computer code for determining the bit error rate based upon the reduced main link transmission rate.
15. Computer readable medium as recited in claim 14, wherein the bidirectional auxiliary channel is formed of a unidirectional back channel configured to carry information from the display device to the source device and a unidirectional forward channel included as part of the main channel for carrying information from the source device to the display device in concert with the back channel.
16. Computer program product as recited in claim 15, wherein the number of multimedia data packets are divided into a number or associated multimedia data packets streams.
US12/576,060 2003-05-01 2009-10-08 Method of real time optimizing multimedia packet transmission rate Abandoned US20100031098A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/576,060 US20100031098A1 (en) 2003-05-01 2009-10-08 Method of real time optimizing multimedia packet transmission rate

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US46780403P 2003-05-01 2003-05-01
US47408403P 2003-05-28 2003-05-28
US47408503P 2003-05-28 2003-05-28
US50406003P 2003-09-18 2003-09-18
US10/726,440 US7620062B2 (en) 2003-05-01 2003-12-02 Method of real time optimizing multimedia packet transmission rate
US12/576,060 US20100031098A1 (en) 2003-05-01 2009-10-08 Method of real time optimizing multimedia packet transmission rate

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/726,440 Continuation US7620062B2 (en) 2003-05-01 2003-12-02 Method of real time optimizing multimedia packet transmission rate

Publications (1)

Publication Number Publication Date
US20100031098A1 true US20100031098A1 (en) 2010-02-04

Family

ID=33314535

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/726,440 Expired - Fee Related US7620062B2 (en) 2003-05-01 2003-12-02 Method of real time optimizing multimedia packet transmission rate
US12/576,060 Abandoned US20100031098A1 (en) 2003-05-01 2009-10-08 Method of real time optimizing multimedia packet transmission rate

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/726,440 Expired - Fee Related US7620062B2 (en) 2003-05-01 2003-12-02 Method of real time optimizing multimedia packet transmission rate

Country Status (7)

Country Link
US (2) US7620062B2 (en)
EP (1) EP1617402A3 (en)
JP (1) JP2004336745A (en)
KR (1) KR20040094611A (en)
CN (1) CN100571139C (en)
SG (1) SG143038A1 (en)
TW (1) TW200428826A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030142629A1 (en) * 2001-12-10 2003-07-31 Rajeev Krishnamurthi Method and apparatus for testing traffic and auxiliary channels in a wireless data communication system
US20060209687A1 (en) * 2005-03-18 2006-09-21 Fujitsu Limited Communication rate control method and device
US20110035522A1 (en) * 2009-08-04 2011-02-10 Microsoft Corporation Software-Defined Radio Using Multi-Core Processor
US20110078355A1 (en) * 2009-09-30 2011-03-31 Microsoft Corporation Radio-Control Board For Software-Defined Radio Platform
US20110136439A1 (en) * 2009-12-04 2011-06-09 Microsoft Corporation Analyzing Wireless Technologies Based On Software-Defined Radio
US20110161547A1 (en) * 2009-12-24 2011-06-30 Ati Technologies Ulc Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
US20120051441A1 (en) * 2010-08-26 2012-03-01 Samsung Electronics Co., Ltd. Method and apparatus for generating uncompressed video data packet
US8248960B2 (en) 2007-05-01 2012-08-21 Sharp Kabushiki Kaisha Data transmission with dynamic modulation scheme and/or transfer rate
US20130036335A1 (en) * 2011-08-05 2013-02-07 Apple Inc. Devices and methods for bit error rate monitoring of intra-panel data link
US8627189B2 (en) 2009-12-03 2014-01-07 Microsoft Corporation High performance digital signal processing in software radios
US8929933B2 (en) 2011-05-04 2015-01-06 Microsoft Corporation Spectrum allocation for base station
US8989286B2 (en) 2011-11-10 2015-03-24 Microsoft Corporation Mapping a transmission stream in a virtual baseband to a physical baseband with equalization
US9130711B2 (en) 2011-11-10 2015-09-08 Microsoft Technology Licensing, Llc Mapping signals from a virtual frequency band to physical frequency bands
WO2015171326A1 (en) * 2014-05-06 2015-11-12 Lattice Semiconductor Corporation System for dynamic audio visual capabilities exchange
US20170102429A1 (en) * 2015-10-08 2017-04-13 Advantest Corporation Test apparatus, test signal supply apparatus, test method, and computer readable medium
WO2017151925A1 (en) * 2016-03-02 2017-09-08 Lattice Semiconductor Corporation Link training in multimedia interfaces
US20190063417A1 (en) * 2017-08-31 2019-02-28 Microjet Technology Co., Ltd. Micro-electromechanical fluid control device
US20190130815A1 (en) * 2017-11-02 2019-05-02 Dell Products L. P. Automatically selecting a set of parameter values that provide a higher link score

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7733915B2 (en) 2003-05-01 2010-06-08 Genesis Microchip Inc. Minimizing buffer requirements in a digital video system
US7068686B2 (en) 2003-05-01 2006-06-27 Genesis Microchip Inc. Method and apparatus for efficient transmission of multimedia data packets
US7567592B2 (en) * 2003-05-01 2009-07-28 Genesis Microchip Inc. Packet based video display interface enumeration method
US7405719B2 (en) * 2003-05-01 2008-07-29 Genesis Microchip Inc. Using packet transfer for driving LCD panel driver electronics
US7424558B2 (en) * 2003-05-01 2008-09-09 Genesis Microchip Inc. Method of adaptively connecting a video source and a video display
US7839860B2 (en) 2003-05-01 2010-11-23 Genesis Microchip Inc. Packet based video display interface
US8204076B2 (en) 2003-05-01 2012-06-19 Genesis Microchip Inc. Compact packet based multimedia interface
US8059673B2 (en) * 2003-05-01 2011-11-15 Genesis Microchip Inc. Dynamic resource re-allocation in a packet based video display interface
US8068485B2 (en) 2003-05-01 2011-11-29 Genesis Microchip Inc. Multimedia interface
US6992987B2 (en) * 2003-05-01 2006-01-31 Genesis Microchip Inc. Enumeration method for the link clock rate and the pixel/audio clock rate
US7088741B2 (en) 2003-05-01 2006-08-08 Genesis Microchip Inc. Using an auxilary channel for video monitor training
US7487273B2 (en) * 2003-09-18 2009-02-03 Genesis Microchip Inc. Data packet based stream transport scheduler wherein transport data link does not include a clock line
US7800623B2 (en) 2003-09-18 2010-09-21 Genesis Microchip Inc. Bypassing pixel clock generation and CRTC circuits in a graphics controller chip
US7634090B2 (en) 2003-09-26 2009-12-15 Genesis Microchip Inc. Packet based high definition high-bandwidth digital content protection
US7444558B2 (en) * 2003-12-31 2008-10-28 Intel Corporation Programmable measurement mode for a serial point to point link
DE102004057305B4 (en) * 2004-10-05 2008-05-15 Siemens Ag Pipeline for data exchange between medical image applications
US20060168291A1 (en) * 2005-01-05 2006-07-27 Van Zoest Alexander Interactive multichannel data distribution system
WO2006074093A2 (en) * 2005-01-05 2006-07-13 Divx, Inc. Media transfer protocol
US7757020B2 (en) * 2005-06-29 2010-07-13 Intel Corporation Point-to-point link negotiation method and apparatus
US8601189B2 (en) * 2006-01-27 2013-12-03 Lg Electronics Inc. Method for processing information of an object for presentation of multiple sources
CA2654331C (en) * 2006-06-20 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Loss of signalling bearer transport
TW200807290A (en) * 2006-07-21 2008-02-01 Asustek Comp Inc Portable device integrated external video signal display
US8051217B2 (en) * 2007-01-12 2011-11-01 Dell Products L.P. System and method for providing PCIe over displayport
US7853731B1 (en) * 2008-03-18 2010-12-14 Integrated Device Technology, Inc. System and method for embedded displayport link training
US7979591B2 (en) * 2008-05-27 2011-07-12 Eyran Lida Network views for a multi display network supporting CEC
WO2009147839A1 (en) * 2008-06-03 2009-12-10 キヤノン株式会社 Communication device and conversion adapter
US8516121B1 (en) * 2008-06-30 2013-08-20 Symantec Corporation Method and apparatus for optimizing computer network usage to prevent congestion
WO2010054674A1 (en) * 2008-11-13 2010-05-20 Verigy (Singapore) Pte.Ltd. Apparatus for determining a position in a bit sequence
JP5401164B2 (en) * 2009-05-01 2014-01-29 ザインエレクトロニクス株式会社 Receiver
US8429440B2 (en) 2009-05-13 2013-04-23 Stmicroelectronics, Inc. Flat panel display driver method and system
US8156238B2 (en) 2009-05-13 2012-04-10 Stmicroelectronics, Inc. Wireless multimedia transport method and apparatus
US8860888B2 (en) 2009-05-13 2014-10-14 Stmicroelectronics, Inc. Method and apparatus for power saving during video blanking periods
US8760461B2 (en) * 2009-05-13 2014-06-24 Stmicroelectronics, Inc. Device, system, and method for wide gamut color space support
US8370554B2 (en) * 2009-05-18 2013-02-05 Stmicroelectronics, Inc. Operation of video source and sink with hot plug detection not asserted
US8582452B2 (en) 2009-05-18 2013-11-12 Stmicroelectronics, Inc. Data link configuration by a receiver in the absence of link training data
US8468285B2 (en) * 2009-05-18 2013-06-18 Stmicroelectronics, Inc. Operation of video source and sink with toggled hot plug detection
US8291207B2 (en) 2009-05-18 2012-10-16 Stmicroelectronics, Inc. Frequency and symbol locking using signal generated clock frequency and symbol identification
JP2011082837A (en) * 2009-10-07 2011-04-21 Sony Corp Transmission apparatus and transmission method
US8671234B2 (en) 2010-05-27 2014-03-11 Stmicroelectronics, Inc. Level shifting cable adaptor and chip system for use with dual-mode multi-media device
US9053673B2 (en) 2011-03-23 2015-06-09 Parade Technologies, Ltd. Scalable intra-panel interface
US9106770B2 (en) * 2011-06-21 2015-08-11 Parade Technologies, Ltd. Column drivers with embedded high-speed video interface timing controller
US8630821B2 (en) * 2011-07-25 2014-01-14 Qualcomm Incorporated High speed data testing without high speed bit clock
US8848809B2 (en) * 2011-10-14 2014-09-30 Apple, Inc. Methods and apparatus for low power audio visual interface calibration
KR101917766B1 (en) * 2012-05-25 2018-11-13 삼성전자주식회사 Method and apparatus for controlling congestion in a wireless communication system
US8988416B2 (en) 2012-12-14 2015-03-24 Parade Technologies, Ltd. Power reduction technique for digital display panel with point to point intra panel interface
CN103986549B (en) * 2013-02-07 2018-03-13 辉达公司 Equipment, system and method for network data transmission
US10459674B2 (en) 2013-12-10 2019-10-29 Apple Inc. Apparatus and methods for packing and transporting raw data
US9892084B2 (en) 2013-12-10 2018-02-13 Apple Inc. Methods and apparatus for virtual channel allocation via a high speed bus interface
US9549015B2 (en) * 2014-04-15 2017-01-17 Lattice Semiconductor Corporation Communication of multimedia data streams over multiple communication lanes
JP6427979B2 (en) * 2014-06-19 2018-11-28 富士通株式会社 Cause identification method, cause identification program, information processing system
US9830289B2 (en) 2014-09-16 2017-11-28 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US9798377B2 (en) 2014-10-08 2017-10-24 Apple Inc. Methods and apparatus for recovering errors with an inter-processor communication link between independently operable processors
US10042794B2 (en) 2015-06-12 2018-08-07 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
KR102209292B1 (en) * 2015-11-04 2021-01-29 삼성전자 주식회사 Method and apparatus for providing data in multimedia system
CN108770050B (en) * 2015-11-28 2021-06-25 Oppo广东移动通信有限公司 Control method and device for carrier aggregation function
CN105577671B (en) * 2015-12-30 2019-02-01 上海芃矽半导体技术有限公司 The transmission method and Transmission system of audio signal and vision signal
US10085214B2 (en) 2016-01-27 2018-09-25 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US10572390B2 (en) 2016-02-29 2020-02-25 Apple Inc. Methods and apparatus for loading firmware on demand
US10198364B2 (en) 2016-03-31 2019-02-05 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US10523867B2 (en) 2016-06-10 2019-12-31 Apple Inc. Methods and apparatus for multi-lane mapping, link training and lower power modes for a high speed bus interface
US10775871B2 (en) 2016-11-10 2020-09-15 Apple Inc. Methods and apparatus for providing individualized power control for peripheral sub-systems
US10551902B2 (en) 2016-11-10 2020-02-04 Apple Inc. Methods and apparatus for providing access to peripheral sub-system registers
US10346226B2 (en) 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
CN107506322B (en) * 2017-09-21 2023-09-29 深圳朗田亩半导体科技有限公司 Type-C adapter for realizing detection of USB equipment and channel control method
US10331612B1 (en) 2018-01-09 2019-06-25 Apple Inc. Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US11381514B2 (en) 2018-05-07 2022-07-05 Apple Inc. Methods and apparatus for early delivery of data link layer packets
US10430352B1 (en) 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US10585699B2 (en) 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US10719376B2 (en) 2018-08-24 2020-07-21 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
US10789110B2 (en) 2018-09-28 2020-09-29 Apple Inc. Methods and apparatus for correcting out-of-order data transactions between processors
US11151075B2 (en) * 2018-12-14 2021-10-19 Ati Technologies Ulc Data communications with enhanced speed mode
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
KR20210133668A (en) * 2020-04-29 2021-11-08 주식회사 엘엑스세미콘 Data processing device, data driving device and system for driving display device
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
WO2022019897A1 (en) * 2020-07-22 2022-01-27 Hewlett-Packard Development Company, L.P. Link training
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements

Citations (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796203A (en) * 1986-08-26 1989-01-03 Kabushiki Kaisha Toshiba High resolution monitor interface and related interfacing method
US5007050A (en) * 1987-03-27 1991-04-09 Teletec Corporation Bidirectional digital serial interface for communication digital signals including digitized audio between microprocessor-based control and transceiver units of two-way radio communications equipment
US5425101A (en) * 1993-12-03 1995-06-13 Scientific-Atlanta, Inc. System and method for simultaneously authorizing multiple virtual channels
US5515296A (en) * 1993-11-24 1996-05-07 Intel Corporation Scan path for encoding and decoding two-dimensional signals
US5541919A (en) * 1994-12-19 1996-07-30 Motorola, Inc. Multimedia multiplexing device and method using dynamic packet segmentation
US5608418A (en) * 1994-01-28 1997-03-04 Sun Microsystems, Inc. Flat panel display interface for a high resolution computer graphics system
US5615376A (en) * 1994-08-03 1997-03-25 Neomagic Corp. Clock management for power reduction in a video display sub-system
US5625379A (en) * 1993-07-29 1997-04-29 Cirrus Logic, Inc. Video processing apparatus systems and methods
US5629715A (en) * 1989-09-29 1997-05-13 Kabushiki Kaisha Toshiba Display control system
US5739803A (en) * 1994-01-24 1998-04-14 Arithmos, Inc. Electronic system for driving liquid crystal displays
US5745837A (en) * 1995-08-25 1998-04-28 Terayon Corporation Apparatus and method for digital data transmission over a CATV system using an ATM transport protocol and SCDMA
US5887039A (en) * 1993-12-16 1999-03-23 Nec Corporation Data transmission system using specific pattern for synchronization
US5909465A (en) * 1996-12-05 1999-06-01 Ericsson Inc. Method and apparatus for bidirectional demodulation of digitally modulated signals
US5918002A (en) * 1997-03-14 1999-06-29 Microsoft Corporation Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network
US5926155A (en) * 1993-02-02 1999-07-20 Hitachi, Ltd. Digital video display system
US6020901A (en) * 1997-06-30 2000-02-01 Sun Microsystems, Inc. Fast frame buffer system architecture for video display system
US6026179A (en) * 1993-10-28 2000-02-15 Pandora International Ltd. Digital video processing
US6038000A (en) * 1997-05-28 2000-03-14 Sarnoff Corporation Information stream syntax for indicating the presence of a splice point
US6049769A (en) * 1993-04-16 2000-04-11 Media 100 Inc. Synchronizing digital audio to digital video
US6049316A (en) * 1997-06-12 2000-04-11 Neomagic Corp. PC with multiple video-display refresh-rate configurations using active and default registers
US6069929A (en) * 1991-04-26 2000-05-30 Fujitsu Limited Wireless communication system compulsively turning remote terminals into inactive state
US6172988B1 (en) * 1996-01-31 2001-01-09 Tiernan Communications, Inc. Method for universal messaging and multiplexing of video, audio, and data streams
US6175573B1 (en) * 1996-12-05 2001-01-16 Fujitsu Limited Multi media data storing and transmitting method and system using the same
US6177922B1 (en) * 1997-04-15 2001-01-23 Genesis Microship, Inc. Multi-scan video timing generator for format conversion
US6219736B1 (en) * 1997-04-24 2001-04-17 Edwin E. Klingman Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN)
US6223089B1 (en) * 1999-03-15 2001-04-24 Raylar Design, Inc. Method and apparatus for controlling computers remotely
US6249319B1 (en) * 1998-03-30 2001-06-19 International Business Machines Corporation Method and apparatus for finding a correct synchronization point within a data stream
US6337964B2 (en) * 1999-02-09 2002-01-08 Canon Kabushiki Kaisha Agitating member, developing apparatus and process cartridge
US20020007452A1 (en) * 1997-01-30 2002-01-17 Chandler Brendan Stanton Traw Content protection for digital transmission systems
US20020011996A1 (en) * 2000-05-24 2002-01-31 Akihiko Inoue Image display system
US6353594B1 (en) * 1998-03-04 2002-03-05 Alcatel Canada Inc. Semi-permanent virtual paths for carrying virtual channels
US6356260B1 (en) * 1998-04-10 2002-03-12 National Semiconductor Corporation Method for reducing power and electromagnetic interference in conveying video data
US20020054420A1 (en) * 2000-09-09 2002-05-09 Fergusson Richard John Optical amplitude modulator
US20020060676A1 (en) * 2000-11-17 2002-05-23 Young-Chan Kim Apparatus and method for detecting DVI connectors of a digital video display device
US20020061024A1 (en) * 2000-05-22 2002-05-23 Sarnoff Corporation Method and apparatus for providing a broadband, wireless, communications network
US20020062394A1 (en) * 2000-10-11 2002-05-23 Broadcom Corporation Cable modem system and method for dynamically mixing protocol specific header suppression techniques
US20020071055A1 (en) * 2000-11-30 2002-06-13 Junichi Ooshima Display apparatus and method
US20020071390A1 (en) * 2000-12-08 2002-06-13 Mike Reeves System and method for estabilishing a commucication path associated with an MPLS implementation on an ATM platform
US20020075902A1 (en) * 2000-09-22 2002-06-20 Abbas Syed Aun Optimum overhead framing techniques for ADSL DMT modems
US20020075250A1 (en) * 2000-10-10 2002-06-20 Kazuyuki Shigeta Image display apparatus and method, information processing apparatus using the image display apparatus, and storage medium
US20020080468A1 (en) * 2000-09-09 2002-06-27 Tom Crummey Optical amplitude demodulator
US20020085582A1 (en) * 2000-12-28 2002-07-04 Lg Electronics Inc. System and method for processing multimedia packets for a network
US20020089517A1 (en) * 1998-06-18 2002-07-11 Harold Aaron Ludtke Method of and apparatus for handling high bandwidth on - screen - display graphics data over a distributed ieee 1394 network utilizing an isochronous data transmission format
US20030035442A1 (en) * 2001-04-14 2003-02-20 Eng John Wai Tsang Full-service broadband cable modem system
US20030048852A1 (en) * 2001-09-12 2003-03-13 Hwang Seung Ho Method and system for reducing inter-symbol interference effects in transmission over a serial link with mapping of each word in a cluster of received words to a single transmitted word
US20030056051A1 (en) * 2001-09-20 2003-03-20 International Business Machines Corporation System and method for connecting a universal serial bus device to a host computer system
US6543053B1 (en) * 1996-11-27 2003-04-01 University Of Hong Kong Interactive video-on-demand system
US6542967B1 (en) * 1999-04-12 2003-04-01 Novell, Inc. Cache object store
US20030063077A1 (en) * 2001-10-01 2003-04-03 Jun Koyama Display device and electric equipment using the same
US6545688B1 (en) * 2000-06-12 2003-04-08 Genesis Microchip (Delaware) Inc. Scanning an image within a narrow horizontal line frequency range irrespective of the frequency at which the image is received
US20030067558A1 (en) * 1999-02-03 2003-04-10 Sony Corporation Supplemental data path for supporting on-screen displays from external sources in a monitor/TV receiver using a secondary analog signal path
US20030076282A1 (en) * 2001-10-19 2003-04-24 Semiconductor Energy Laboratory Co., Ltd. Display device and method for driving the same
US20030080971A1 (en) * 2001-10-31 2003-05-01 Hochmuth Roland M. System and method for communicating graphics image data over a communication network
US20030112822A1 (en) * 2001-12-19 2003-06-19 Jiang Hong System and method for streaming multimedia over packet networks
US20030138102A1 (en) * 1998-11-13 2003-07-24 Leslie Kohn Method of protecting high definition video signal
US6693895B1 (en) * 1998-07-14 2004-02-17 International Business Machines Corporation Multiple synchronous data stream format for an optical data link
US6697376B1 (en) * 1998-11-20 2004-02-24 Diva Systems Corporation Logical node identification in an information transmission network
US6704310B1 (en) * 1999-06-30 2004-03-09 Logitech Europe, S.A. Header encoding method and apparatus for packet-based bus
US20040049705A1 (en) * 2002-09-05 2004-03-11 Gateway, Inc. Monitor power management
US20040059852A1 (en) * 2002-09-24 2004-03-25 Weiyun Sun System and method of mastering a serial bus
US20040068744A1 (en) * 2000-11-14 2004-04-08 Claussen Paul J. Proximity detection using wireless connectivity in a communications system
US20040080523A1 (en) * 2002-10-24 2004-04-29 Myers Robert L. System and method for transferring data through a video interface
US20040080671A1 (en) * 2002-06-14 2004-04-29 Duane Siemens Method and circuit for generating time stamp data from an embedded-clock audio data stream and a video clock
US20040081151A1 (en) * 2002-10-28 2004-04-29 Marc Greis Method and system for early header compression
US20040088469A1 (en) * 2002-10-30 2004-05-06 Levy Paul S. Links having flexible lane allocation
US20040100583A1 (en) * 1996-02-22 2004-05-27 Seiko Epson Corporation Method and apparatus for adjusting dot clock signal
US20040103333A1 (en) * 2002-11-22 2004-05-27 Martwick Andrew W. Apparatus and method for low latency power management on a serial data link
US20040114607A1 (en) * 2002-12-17 2004-06-17 Tls Corporation Low latency digital audio over packet switched networks
US6862606B1 (en) * 2001-05-11 2005-03-01 Novell, Inc. System and method for partitioning address space in a proxy cache server cluster
US6865188B1 (en) * 1997-02-17 2005-03-08 Communication & Control Electronics Limited Local communication system
US20050062699A1 (en) * 2003-09-18 2005-03-24 Genesis Microchip Inc. Bypassing pixel clock generation and CRTC circuits in a graphics controller chip
US20050062711A1 (en) * 2003-05-01 2005-03-24 Genesis Microchip Inc. Using packet transfer for driving LCD panel driver electronics
US20050066085A1 (en) * 2003-09-18 2005-03-24 Genesis Microchip Inc. Packet based stream transport scheduler and methods of use thereof
US6874118B1 (en) * 2001-09-17 2005-03-29 Maxtor Corporation Efficient storage and error recovery of moving pictures experts group (MPEG) video streams in audio/video (AV) systems
US6873625B1 (en) * 1999-05-21 2005-03-29 Thin Multimedia, Inc. Intermediate data based video/audio streaming method
US20050103333A1 (en) * 2000-12-02 2005-05-19 Bonutti Peter M. Medical device positioning system and method
US6903716B2 (en) * 2002-03-07 2005-06-07 Hitachi, Ltd. Display device having improved drive circuit and method of driving same
US6907067B1 (en) * 1998-09-07 2005-06-14 Robert Bosch Gmbh Method and terminal equipment for integrating audiovisual coded information into a frame structured transmission standard
US6909442B2 (en) * 2001-12-20 2005-06-21 Hitachi, Ltd. Display device for decompressing compressed image data received
US20060015299A1 (en) * 2004-06-14 2006-01-19 Mcdermott Scott A Network architecture and protocol for spacecraft systems
US20060036788A1 (en) * 2002-09-24 2006-02-16 Monster Cable Products, Inc. HDMI cable interface
US7006506B1 (en) * 2000-09-18 2006-02-28 Lucent Technologies Inc. Automatic detection and configuration of OSPF virtual links
US20060059092A1 (en) * 2004-09-16 2006-03-16 Burshan Chen Y Method and apparatus for user domain based white lists
US7046631B1 (en) * 1999-01-22 2006-05-16 Alcatel Canada Inc. Method and apparatus for provisioning traffic dedicated cores in a connection oriented network
US20060117371A1 (en) * 2001-03-15 2006-06-01 Digital Display Innovations, Llc Method for effectively implementing a multi-room television system
US20060133386A1 (en) * 2001-02-06 2006-06-22 Mccormack John Multiprotocol convergence switch (MPCS) and method for use thereof
US20070019684A1 (en) * 2001-11-20 2007-01-25 Klaus Zimmermann System and method for effectively performing an audio/video synchronization procedure
US7177329B2 (en) * 2003-05-01 2007-02-13 Genesis Microchip Inc. Method and apparatus for efficient transmission of multimedia data packets
US20070049086A1 (en) * 2005-08-30 2007-03-01 Denso Corporation Flexible wiring system for electronic apparatus
US7194554B1 (en) * 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US20070097885A1 (en) * 2001-01-22 2007-05-03 Traversat Bernard A Peer-to-Peer Communication Pipes
US20080022023A1 (en) * 2004-02-18 2008-01-24 Silicon Image, Inc. Cable with Circuitry for Asserting Stored Cable Data or Other Information to an External Device or User
US20080062201A1 (en) * 2003-06-24 2008-03-13 Sandeep Bhatia System, method, and apparatus for displaying streams with dynamically changing formats
US7348957B2 (en) * 2003-02-14 2008-03-25 Intel Corporation Real-time dynamic design of liquid crystal display (LCD) panel power management through brightness control
US20080091439A1 (en) * 2001-05-04 2008-04-17 Agere Systems Inc. Hybrid multi-channel/cue coding/decoding of audio signals
US20080126824A1 (en) * 2000-11-22 2008-05-29 Silicon Image, Inc. Communications architecture for memory-based devices
US7525975B2 (en) * 2003-03-07 2009-04-28 Rami Caspi System and method for integrated audio stream manager

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369775A (en) 1988-12-20 1994-11-29 Mitsubishi Denki Kabushiki Kaisha Data-flow processing system having an input packet limiting section for preventing packet input based upon a threshold value indicative of an optimum pipeline processing capacity
FR2670973B1 (en) 1990-12-19 1994-04-15 Ouest Standard Telematique Sa PACKET TRANSMISSION SYSTEM WITH DATA COMPRESSION, METHOD AND EQUIPMENT THEREOF.
CA2034634C (en) 1991-01-21 1995-02-07 Seiji Kachi Spread packet communication system
US5838875A (en) 1993-02-05 1998-11-17 Goldstar Co., Ltd. Apparatus and method for discriminating between analog and digital video signals in high definition video cassette recorder
US5953350A (en) 1995-03-13 1999-09-14 Selsius Systems, Inc. Multimedia client for multimedia/hybrid network
US5805173A (en) 1995-10-02 1998-09-08 Brooktree Corporation System and method for capturing and transferring selected portions of a video stream in a computer system
US5835498A (en) 1995-10-05 1998-11-10 Silicon Image, Inc. System and method for sending multiple data signals over a serial link
US5940137A (en) 1996-03-01 1999-08-17 Trw Inc. Symbol timing generation and recovery for data transmission in an analog video signal
US5790083A (en) 1996-04-10 1998-08-04 Neomagic Corp. Programmable burst of line-clock pulses during vertical retrace to reduce flicker and charge build-up on passive LCD display panels during simultaneous LCD and CRT display
US6154225A (en) 1996-10-11 2000-11-28 Silicon Motion, Inc. Virtual refresh™ architecture for a video-graphics controller
JPH10145309A (en) * 1996-11-05 1998-05-29 Kokusai Electric Co Ltd Data transmission system
US5949437A (en) 1997-02-19 1999-09-07 Appian Graphics Corp. Dual video output board with a shared memory interface
US6151632A (en) 1997-03-14 2000-11-21 Microsoft Corporation Method and apparatus for distributed transmission of real-time multimedia information
JP3385301B2 (en) 1997-04-23 2003-03-10 シャープ株式会社 Data signal line drive circuit and image display device
US5852630A (en) 1997-07-17 1998-12-22 Globespan Semiconductor, Inc. Method and apparatus for a RADSL transceiver warm start activation procedure with precoding
US6326961B1 (en) 1998-09-30 2001-12-04 Ctx Opto-Electronics Corp. Automatic detection method for tuning the frequency and phase of display and apparatus using the method
WO2000020974A1 (en) * 1998-10-06 2000-04-13 Chen Huey Shiang A method for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined frame size
US6661422B1 (en) 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6446130B1 (en) 1999-03-16 2002-09-03 Interactive Digital Systems Multimedia delivery system
US6765931B1 (en) 1999-04-13 2004-07-20 Broadcom Corporation Gateway with voice
US6747970B1 (en) * 1999-04-29 2004-06-08 Christopher H. Lamb Methods and apparatus for providing communications services between connectionless and connection-oriented networks
EP1069721B1 (en) * 1999-07-12 2004-01-02 International Business Machines Corporation Apparatus and method for setting a data rate in a wireless communication system
US6598161B1 (en) 1999-08-09 2003-07-22 International Business Machines Corporation Methods, systems and computer program products for multi-level encryption
US6477252B1 (en) 1999-08-29 2002-11-05 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US6614800B1 (en) 1999-09-02 2003-09-02 International Business Machines Corporation Method and system for virtual private network administration channels
US6608828B1 (en) 1999-09-15 2003-08-19 Ericsson Inc. Methods and systems for decoding headers that are repeatedly transmitted and received along with data on a radio channel
US6633288B2 (en) 1999-09-15 2003-10-14 Sage, Inc. Pixel clock PLL frequency and phase optimization in sampling of video signals for high quality image display
US6779037B1 (en) * 1999-09-28 2004-08-17 Levan Roberto Djaparidze Method of obtaining optimum use of a shared transmission medium for multimedia traffic
JP3950926B2 (en) 1999-11-30 2007-08-01 エーユー オプトロニクス コーポレイション Image display method, host device, image display device, and display interface
JP3349490B2 (en) * 2000-02-14 2002-11-25 インターナショナル・ビジネス・マシーンズ・コーポレーション Image display method, image display system, host device, image display device, and display interface
JP4639420B2 (en) 2000-03-08 2011-02-23 ソニー株式会社 Signal transmission apparatus and signal transmission method
US20020122391A1 (en) * 2001-01-12 2002-09-05 Shalit Andrew L. Method and system for providing audio conferencing services to users of on-line text messaging services
US7161998B2 (en) 2001-01-24 2007-01-09 Broadcom Corporation Digital phase locked loop for regenerating the clock of an embedded signal
US20020163598A1 (en) 2001-01-24 2002-11-07 Christopher Pasqualino Digital visual interface supporting transport of audio and auxiliary data
US6934389B2 (en) 2001-03-02 2005-08-23 Ati International Srl Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus
TW518844B (en) 2001-03-21 2003-01-21 Ind Tech Res Inst Transmission method of multimedia data packet in network system
US6694007B2 (en) * 2001-03-22 2004-02-17 Softalk Inc. System and method for establishing long distance call connections using electronic text messages
US20020149617A1 (en) 2001-03-30 2002-10-17 Becker David F. Remote collaboration technology design and methodology
JP3744819B2 (en) 2001-05-24 2006-02-15 セイコーエプソン株式会社 Signal driving circuit, display device, electro-optical device, and signal driving method
US7295578B1 (en) 2001-09-12 2007-11-13 Lyle James D Method and apparatus for synchronizing auxiliary data and video data transmitted over a TMDS-like link
GB2383240B (en) 2001-12-17 2005-02-16 Micron Technology Inc DVi link with parallel test data
US7088398B1 (en) 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
US7216143B2 (en) * 2002-01-03 2007-05-08 International Business Machines Corporation Instant messaging with voice conference feature
US7308059B2 (en) 2002-02-06 2007-12-11 Broadcom Corporation Synchronization of data links in a multiple link receiver
US7120203B2 (en) 2002-02-12 2006-10-10 Broadcom Corporation Dual link DVI transmitter serviced by single Phase Locked Loop
JP2003241724A (en) 2002-02-15 2003-08-29 Rohm Co Ltd Display monitor device
US7099277B2 (en) * 2002-02-20 2006-08-29 Mitsubishi Electric Research Laboratories, Inc. Dynamic optimal path selection in multiple communications networks
US7161557B2 (en) 2002-04-08 2007-01-09 Clearcube Technology, Inc. Selectively updating a display in a multi-display system
KR100475060B1 (en) 2002-08-07 2005-03-10 한국전자통신연구원 The multiplexing method and its device according to user's request for multi-view 3D video
US7075987B2 (en) 2002-09-23 2006-07-11 Intel Corporation Adaptive video bit-rate control
US20040203383A1 (en) * 2002-12-31 2004-10-14 Kelton James Robert System for providing data to multiple devices and method thereof
US7197680B2 (en) 2003-04-17 2007-03-27 Arm Limited Communication interface for diagnostic circuits of an integrated circuit
US7733915B2 (en) 2003-05-01 2010-06-08 Genesis Microchip Inc. Minimizing buffer requirements in a digital video system
US6992987B2 (en) 2003-05-01 2006-01-31 Genesis Microchip Inc. Enumeration method for the link clock rate and the pixel/audio clock rate
US20040218599A1 (en) 2003-05-01 2004-11-04 Genesis Microchip Inc. Packet based video display interface and methods of use thereof
US7424558B2 (en) 2003-05-01 2008-09-09 Genesis Microchip Inc. Method of adaptively connecting a video source and a video display
US20040221312A1 (en) 2003-05-01 2004-11-04 Genesis Microchip Inc. Techniques for reducing multimedia data packet overhead
US7088741B2 (en) 2003-05-01 2006-08-08 Genesis Microchip Inc. Using an auxilary channel for video monitor training
US20040218624A1 (en) 2003-05-01 2004-11-04 Genesis Microchip Inc. Packet based closed loop video display interface with periodic status checks
US20040221315A1 (en) 2003-05-01 2004-11-04 Genesis Microchip Inc. Video interface arranged to provide pixel data independent of a link character clock
KR20050099305A (en) * 2004-04-09 2005-10-13 삼성전자주식회사 Display system and control method thereof

Patent Citations (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796203A (en) * 1986-08-26 1989-01-03 Kabushiki Kaisha Toshiba High resolution monitor interface and related interfacing method
US5007050A (en) * 1987-03-27 1991-04-09 Teletec Corporation Bidirectional digital serial interface for communication digital signals including digitized audio between microprocessor-based control and transceiver units of two-way radio communications equipment
US5629715A (en) * 1989-09-29 1997-05-13 Kabushiki Kaisha Toshiba Display control system
US6069929A (en) * 1991-04-26 2000-05-30 Fujitsu Limited Wireless communication system compulsively turning remote terminals into inactive state
US5926155A (en) * 1993-02-02 1999-07-20 Hitachi, Ltd. Digital video display system
US6049769A (en) * 1993-04-16 2000-04-11 Media 100 Inc. Synchronizing digital audio to digital video
US5625379A (en) * 1993-07-29 1997-04-29 Cirrus Logic, Inc. Video processing apparatus systems and methods
US6026179A (en) * 1993-10-28 2000-02-15 Pandora International Ltd. Digital video processing
US5515296A (en) * 1993-11-24 1996-05-07 Intel Corporation Scan path for encoding and decoding two-dimensional signals
US5425101A (en) * 1993-12-03 1995-06-13 Scientific-Atlanta, Inc. System and method for simultaneously authorizing multiple virtual channels
US5887039A (en) * 1993-12-16 1999-03-23 Nec Corporation Data transmission system using specific pattern for synchronization
US5739803A (en) * 1994-01-24 1998-04-14 Arithmos, Inc. Electronic system for driving liquid crystal displays
US5608418A (en) * 1994-01-28 1997-03-04 Sun Microsystems, Inc. Flat panel display interface for a high resolution computer graphics system
US5615376A (en) * 1994-08-03 1997-03-25 Neomagic Corp. Clock management for power reduction in a video display sub-system
US5541919A (en) * 1994-12-19 1996-07-30 Motorola, Inc. Multimedia multiplexing device and method using dynamic packet segmentation
US5745837A (en) * 1995-08-25 1998-04-28 Terayon Corporation Apparatus and method for digital data transmission over a CATV system using an ATM transport protocol and SCDMA
US6172988B1 (en) * 1996-01-31 2001-01-09 Tiernan Communications, Inc. Method for universal messaging and multiplexing of video, audio, and data streams
US20040100583A1 (en) * 1996-02-22 2004-05-27 Seiko Epson Corporation Method and apparatus for adjusting dot clock signal
US6543053B1 (en) * 1996-11-27 2003-04-01 University Of Hong Kong Interactive video-on-demand system
US6175573B1 (en) * 1996-12-05 2001-01-16 Fujitsu Limited Multi media data storing and transmitting method and system using the same
US5909465A (en) * 1996-12-05 1999-06-01 Ericsson Inc. Method and apparatus for bidirectional demodulation of digitally modulated signals
US20020007452A1 (en) * 1997-01-30 2002-01-17 Chandler Brendan Stanton Traw Content protection for digital transmission systems
US6865188B1 (en) * 1997-02-17 2005-03-08 Communication & Control Electronics Limited Local communication system
US5918002A (en) * 1997-03-14 1999-06-29 Microsoft Corporation Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network
US6177922B1 (en) * 1997-04-15 2001-01-23 Genesis Microship, Inc. Multi-scan video timing generator for format conversion
US6219736B1 (en) * 1997-04-24 2001-04-17 Edwin E. Klingman Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN)
US6038000A (en) * 1997-05-28 2000-03-14 Sarnoff Corporation Information stream syntax for indicating the presence of a splice point
US6049316A (en) * 1997-06-12 2000-04-11 Neomagic Corp. PC with multiple video-display refresh-rate configurations using active and default registers
US6020901A (en) * 1997-06-30 2000-02-01 Sun Microsystems, Inc. Fast frame buffer system architecture for video display system
US6353594B1 (en) * 1998-03-04 2002-03-05 Alcatel Canada Inc. Semi-permanent virtual paths for carrying virtual channels
US6249319B1 (en) * 1998-03-30 2001-06-19 International Business Machines Corporation Method and apparatus for finding a correct synchronization point within a data stream
US6356260B1 (en) * 1998-04-10 2002-03-12 National Semiconductor Corporation Method for reducing power and electromagnetic interference in conveying video data
US20020089517A1 (en) * 1998-06-18 2002-07-11 Harold Aaron Ludtke Method of and apparatus for handling high bandwidth on - screen - display graphics data over a distributed ieee 1394 network utilizing an isochronous data transmission format
US6693895B1 (en) * 1998-07-14 2004-02-17 International Business Machines Corporation Multiple synchronous data stream format for an optical data link
US6907067B1 (en) * 1998-09-07 2005-06-14 Robert Bosch Gmbh Method and terminal equipment for integrating audiovisual coded information into a frame structured transmission standard
US20030138102A1 (en) * 1998-11-13 2003-07-24 Leslie Kohn Method of protecting high definition video signal
US6697376B1 (en) * 1998-11-20 2004-02-24 Diva Systems Corporation Logical node identification in an information transmission network
US7194554B1 (en) * 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US7046631B1 (en) * 1999-01-22 2006-05-16 Alcatel Canada Inc. Method and apparatus for provisioning traffic dedicated cores in a connection oriented network
US20030067558A1 (en) * 1999-02-03 2003-04-10 Sony Corporation Supplemental data path for supporting on-screen displays from external sources in a monitor/TV receiver using a secondary analog signal path
US6337964B2 (en) * 1999-02-09 2002-01-08 Canon Kabushiki Kaisha Agitating member, developing apparatus and process cartridge
US6223089B1 (en) * 1999-03-15 2001-04-24 Raylar Design, Inc. Method and apparatus for controlling computers remotely
US6542967B1 (en) * 1999-04-12 2003-04-01 Novell, Inc. Cache object store
US6873625B1 (en) * 1999-05-21 2005-03-29 Thin Multimedia, Inc. Intermediate data based video/audio streaming method
US6704310B1 (en) * 1999-06-30 2004-03-09 Logitech Europe, S.A. Header encoding method and apparatus for packet-based bus
US20020061024A1 (en) * 2000-05-22 2002-05-23 Sarnoff Corporation Method and apparatus for providing a broadband, wireless, communications network
US20020011996A1 (en) * 2000-05-24 2002-01-31 Akihiko Inoue Image display system
US6545688B1 (en) * 2000-06-12 2003-04-08 Genesis Microchip (Delaware) Inc. Scanning an image within a narrow horizontal line frequency range irrespective of the frequency at which the image is received
US20020080468A1 (en) * 2000-09-09 2002-06-27 Tom Crummey Optical amplitude demodulator
US20020054420A1 (en) * 2000-09-09 2002-05-09 Fergusson Richard John Optical amplitude modulator
US7006506B1 (en) * 2000-09-18 2006-02-28 Lucent Technologies Inc. Automatic detection and configuration of OSPF virtual links
US20020075902A1 (en) * 2000-09-22 2002-06-20 Abbas Syed Aun Optimum overhead framing techniques for ADSL DMT modems
US20020075250A1 (en) * 2000-10-10 2002-06-20 Kazuyuki Shigeta Image display apparatus and method, information processing apparatus using the image display apparatus, and storage medium
US20020062394A1 (en) * 2000-10-11 2002-05-23 Broadcom Corporation Cable modem system and method for dynamically mixing protocol specific header suppression techniques
US20040068744A1 (en) * 2000-11-14 2004-04-08 Claussen Paul J. Proximity detection using wireless connectivity in a communications system
US20020060676A1 (en) * 2000-11-17 2002-05-23 Young-Chan Kim Apparatus and method for detecting DVI connectors of a digital video display device
US6577303B2 (en) * 2000-11-17 2003-06-10 Samsung Electronics Co., Ltd. Apparatus and method for detecting DVI connectors of a digital video display device
US20080126824A1 (en) * 2000-11-22 2008-05-29 Silicon Image, Inc. Communications architecture for memory-based devices
US20020071055A1 (en) * 2000-11-30 2002-06-13 Junichi Ooshima Display apparatus and method
US20050103333A1 (en) * 2000-12-02 2005-05-19 Bonutti Peter M. Medical device positioning system and method
US20020071390A1 (en) * 2000-12-08 2002-06-13 Mike Reeves System and method for estabilishing a commucication path associated with an MPLS implementation on an ATM platform
US20020085582A1 (en) * 2000-12-28 2002-07-04 Lg Electronics Inc. System and method for processing multimedia packets for a network
US20070097885A1 (en) * 2001-01-22 2007-05-03 Traversat Bernard A Peer-to-Peer Communication Pipes
US20060133386A1 (en) * 2001-02-06 2006-06-22 Mccormack John Multiprotocol convergence switch (MPCS) and method for use thereof
US20060117371A1 (en) * 2001-03-15 2006-06-01 Digital Display Innovations, Llc Method for effectively implementing a multi-room television system
US20030035442A1 (en) * 2001-04-14 2003-02-20 Eng John Wai Tsang Full-service broadband cable modem system
US20070140298A1 (en) * 2001-04-14 2007-06-21 Eng John W T Method and apparatus of downstream communication for a full-service cable modem system
US20080091439A1 (en) * 2001-05-04 2008-04-17 Agere Systems Inc. Hybrid multi-channel/cue coding/decoding of audio signals
US6862606B1 (en) * 2001-05-11 2005-03-01 Novell, Inc. System and method for partitioning address space in a proxy cache server cluster
US20030048852A1 (en) * 2001-09-12 2003-03-13 Hwang Seung Ho Method and system for reducing inter-symbol interference effects in transmission over a serial link with mapping of each word in a cluster of received words to a single transmitted word
US6874118B1 (en) * 2001-09-17 2005-03-29 Maxtor Corporation Efficient storage and error recovery of moving pictures experts group (MPEG) video streams in audio/video (AV) systems
US20030056051A1 (en) * 2001-09-20 2003-03-20 International Business Machines Corporation System and method for connecting a universal serial bus device to a host computer system
US20030063077A1 (en) * 2001-10-01 2003-04-03 Jun Koyama Display device and electric equipment using the same
US20030076282A1 (en) * 2001-10-19 2003-04-24 Semiconductor Energy Laboratory Co., Ltd. Display device and method for driving the same
US20030080971A1 (en) * 2001-10-31 2003-05-01 Hochmuth Roland M. System and method for communicating graphics image data over a communication network
US20070019684A1 (en) * 2001-11-20 2007-01-25 Klaus Zimmermann System and method for effectively performing an audio/video synchronization procedure
US20030112822A1 (en) * 2001-12-19 2003-06-19 Jiang Hong System and method for streaming multimedia over packet networks
US6909442B2 (en) * 2001-12-20 2005-06-21 Hitachi, Ltd. Display device for decompressing compressed image data received
US6903716B2 (en) * 2002-03-07 2005-06-07 Hitachi, Ltd. Display device having improved drive circuit and method of driving same
US20040080671A1 (en) * 2002-06-14 2004-04-29 Duane Siemens Method and circuit for generating time stamp data from an embedded-clock audio data stream and a video clock
US20040049705A1 (en) * 2002-09-05 2004-03-11 Gateway, Inc. Monitor power management
US20060036788A1 (en) * 2002-09-24 2006-02-16 Monster Cable Products, Inc. HDMI cable interface
US20040059852A1 (en) * 2002-09-24 2004-03-25 Weiyun Sun System and method of mastering a serial bus
US20040080523A1 (en) * 2002-10-24 2004-04-29 Myers Robert L. System and method for transferring data through a video interface
US20040081151A1 (en) * 2002-10-28 2004-04-29 Marc Greis Method and system for early header compression
US20040088469A1 (en) * 2002-10-30 2004-05-06 Levy Paul S. Links having flexible lane allocation
US20040103333A1 (en) * 2002-11-22 2004-05-27 Martwick Andrew W. Apparatus and method for low latency power management on a serial data link
US20040114607A1 (en) * 2002-12-17 2004-06-17 Tls Corporation Low latency digital audio over packet switched networks
US7348957B2 (en) * 2003-02-14 2008-03-25 Intel Corporation Real-time dynamic design of liquid crystal display (LCD) panel power management through brightness control
US7525975B2 (en) * 2003-03-07 2009-04-28 Rami Caspi System and method for integrated audio stream manager
US7177329B2 (en) * 2003-05-01 2007-02-13 Genesis Microchip Inc. Method and apparatus for efficient transmission of multimedia data packets
US20050062711A1 (en) * 2003-05-01 2005-03-24 Genesis Microchip Inc. Using packet transfer for driving LCD panel driver electronics
US20080062201A1 (en) * 2003-06-24 2008-03-13 Sandeep Bhatia System, method, and apparatus for displaying streams with dynamically changing formats
US20050062699A1 (en) * 2003-09-18 2005-03-24 Genesis Microchip Inc. Bypassing pixel clock generation and CRTC circuits in a graphics controller chip
US20050066085A1 (en) * 2003-09-18 2005-03-24 Genesis Microchip Inc. Packet based stream transport scheduler and methods of use thereof
US20080022023A1 (en) * 2004-02-18 2008-01-24 Silicon Image, Inc. Cable with Circuitry for Asserting Stored Cable Data or Other Information to an External Device or User
US20060015299A1 (en) * 2004-06-14 2006-01-19 Mcdermott Scott A Network architecture and protocol for spacecraft systems
US20060059092A1 (en) * 2004-09-16 2006-03-16 Burshan Chen Y Method and apparatus for user domain based white lists
US20070049086A1 (en) * 2005-08-30 2007-03-01 Denso Corporation Flexible wiring system for electronic apparatus

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030142629A1 (en) * 2001-12-10 2003-07-31 Rajeev Krishnamurthi Method and apparatus for testing traffic and auxiliary channels in a wireless data communication system
US8089888B2 (en) * 2001-12-10 2012-01-03 Qualcomm Incorporated Method and apparatus for testing traffic and auxiliary channels in a wireless data communication system
US8780735B2 (en) 2001-12-10 2014-07-15 Qualcomm Incorporated Method and apparatus for testing traffic and auxiliary channels in a wireless data communication system
US20060209687A1 (en) * 2005-03-18 2006-09-21 Fujitsu Limited Communication rate control method and device
US8248960B2 (en) 2007-05-01 2012-08-21 Sharp Kabushiki Kaisha Data transmission with dynamic modulation scheme and/or transfer rate
US8565811B2 (en) 2009-08-04 2013-10-22 Microsoft Corporation Software-defined radio using multi-core processor
US20110035522A1 (en) * 2009-08-04 2011-02-10 Microsoft Corporation Software-Defined Radio Using Multi-Core Processor
US20110078355A1 (en) * 2009-09-30 2011-03-31 Microsoft Corporation Radio-Control Board For Software-Defined Radio Platform
US9753884B2 (en) * 2009-09-30 2017-09-05 Microsoft Technology Licensing, Llc Radio-control board for software-defined radio platform
US8627189B2 (en) 2009-12-03 2014-01-07 Microsoft Corporation High performance digital signal processing in software radios
US20110136439A1 (en) * 2009-12-04 2011-06-09 Microsoft Corporation Analyzing Wireless Technologies Based On Software-Defined Radio
US8301813B2 (en) * 2009-12-24 2012-10-30 Ati Technologies Ulc Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
US20110161547A1 (en) * 2009-12-24 2011-06-30 Ati Technologies Ulc Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
US8984192B2 (en) 2009-12-24 2015-03-17 Ati Technologies Ulc Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
US9332321B2 (en) * 2010-08-26 2016-05-03 Samsung Electronics Co., Ltd. Method and apparatus for generating uncompressed video data packet
US20120051441A1 (en) * 2010-08-26 2012-03-01 Samsung Electronics Co., Ltd. Method and apparatus for generating uncompressed video data packet
US9918313B2 (en) 2011-05-04 2018-03-13 Microsoft Technology Licensing, Llc Spectrum allocation for base station
US8929933B2 (en) 2011-05-04 2015-01-06 Microsoft Corporation Spectrum allocation for base station
US8788890B2 (en) * 2011-08-05 2014-07-22 Apple Inc. Devices and methods for bit error rate monitoring of intra-panel data link
US20130036335A1 (en) * 2011-08-05 2013-02-07 Apple Inc. Devices and methods for bit error rate monitoring of intra-panel data link
US9130711B2 (en) 2011-11-10 2015-09-08 Microsoft Technology Licensing, Llc Mapping signals from a virtual frequency band to physical frequency bands
US8989286B2 (en) 2011-11-10 2015-03-24 Microsoft Corporation Mapping a transmission stream in a virtual baseband to a physical baseband with equalization
WO2015171326A1 (en) * 2014-05-06 2015-11-12 Lattice Semiconductor Corporation System for dynamic audio visual capabilities exchange
US20170102429A1 (en) * 2015-10-08 2017-04-13 Advantest Corporation Test apparatus, test signal supply apparatus, test method, and computer readable medium
WO2017151925A1 (en) * 2016-03-02 2017-09-08 Lattice Semiconductor Corporation Link training in multimedia interfaces
US20190063417A1 (en) * 2017-08-31 2019-02-28 Microjet Technology Co., Ltd. Micro-electromechanical fluid control device
US20190130815A1 (en) * 2017-11-02 2019-05-02 Dell Products L. P. Automatically selecting a set of parameter values that provide a higher link score
US10460649B2 (en) * 2017-11-02 2019-10-29 Dell Products L.P. Automatically selecting a set of parameter values that provide a higher link score

Also Published As

Publication number Publication date
TW200428826A (en) 2004-12-16
KR20040094611A (en) 2004-11-10
US20040221056A1 (en) 2004-11-04
US7620062B2 (en) 2009-11-17
JP2004336745A (en) 2004-11-25
SG143038A1 (en) 2008-06-27
CN1574744A (en) 2005-02-02
CN100571139C (en) 2009-12-16
EP1617402A2 (en) 2006-01-18
EP1617402A3 (en) 2006-07-19

Similar Documents

Publication Publication Date Title
US7620062B2 (en) Method of real time optimizing multimedia packet transmission rate
US6992987B2 (en) Enumeration method for the link clock rate and the pixel/audio clock rate
US7088741B2 (en) Using an auxilary channel for video monitor training
US7733915B2 (en) Minimizing buffer requirements in a digital video system
US7068686B2 (en) Method and apparatus for efficient transmission of multimedia data packets
US7424558B2 (en) Method of adaptively connecting a video source and a video display
US8068485B2 (en) Multimedia interface
US8767777B2 (en) Compact packet based multimedia interface
US7487273B2 (en) Data packet based stream transport scheduler wherein transport data link does not include a clock line
US8059673B2 (en) Dynamic resource re-allocation in a packet based video display interface
US7839860B2 (en) Packet based video display interface
US20040221315A1 (en) Video interface arranged to provide pixel data independent of a link character clock
US20070200860A1 (en) Integrated packet based video display interface and methods of use thereof
US20040218624A1 (en) Packet based closed loop video display interface with periodic status checks
US20040221312A1 (en) Techniques for reducing multimedia data packet overhead
US7567592B2 (en) Packet based video display interface enumeration method
EP1473695A2 (en) Method of adaptively connecting a video source and a video display

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION