1. Field of the Invention
The present invention relates generally to data communications. More particularly, the invention relates to digital transmission links using cyclic redundancy checks.
2. Background
Computers, mobile telephones, mobile telephone cameras and video capture devices, personal data assistants, electronic game related products and various video technologies (e.g., DVD's and high definition VCRs) have advanced significantly over the last few years to provide for capture and presentation of increasingly higher resolution still, video, video-on-demand, and graphics images. Combining such visual images with high quality audio data, such as CD type sound reproduction, DVDs, and other devices having associated audio signal outputs, creates a more realistic, content rich, or true multimedia experience for an end user. In addition, highly mobile, high quality sound systems and music transport mechanisms, such as MP3 players, have been developed for audio only presentations to users.
The explosion of high quality data presentation drove the need to establish specialized interfaces that could transfer data at high data rates, such that data quality was not degraded or impaired. One such interface is a Mobile Display Digital Interface (MDDI), used, for example, to exchange high speed data between the lower and upper clamshells of a cellular telephone that has a camera. MDDI is a cost-effective, low power consumption, transfer mechanism that enables very-high-speed data transfer over a short-range communication link between a host and a client. MDDI requires a minimum of just four wires plus power for bi-directional data transfer that with present technology can deliver a maximum bandwidth of up to 3.2 Gbits per second.
While MDDI and other data interfaces can be used to efficiently provide high speed data rates across interfaces, there are increasing needs to optimize performance and more effectively use digital transmission links, such as an MDDI link.
The present invention provides systems and methods for implementing cyclic redundancy checks (CRCs) to improve link initialization processing and to exchange system error information, such that digital transmission links can be used more effectively. In one aspect of the invention, a CRC checker is provided that includes a unique pattern detector, a CRC generator, a CRC initializer and a CRC verifier. The CRC checker prepopulates the CRC generator for a unique pattern. Because the CRC generator is prepopulated, upon receipt of the unique pattern within a data stream received over a digital transmission link, the CRC checker can proceed to check CRCs without the need to queue and store data.
In another aspect of the invention, a CRC generator system is provided that intentionally corrupts CRC values to transmit system or related system error information. The CRC generator system includes a CRC generator, a CRC corrupter, an error detector and an error value generator. The CRC generator generates a CRC value based on data to be included in a data packet to be transmitted over a digital transmission link. The CRC corrupter corrupts the CRC value generated by the CRC generator to convey host or related system status information. The error detector detects an error condition within a host or related system and provides instructions for the CRC corrupter to intentionally corrupt a CRC value.
In a further aspect of the invention, the CRC generator system can provide specific information as to the type of error that is included. In this case, in addition to the above elements, the CRC generator system includes an error value generator that instructs the CRC corrupter to replace a CRC value generated by the CRC generator with a specific CRC error value that indicates a type of system error or status condition.
In one example, the digital transmission link is an MDDI link. The present invention is not limited to MDDI links, and can be used with any type of digital transmission link in which CRCs are used.
Further embodiments, features, and advantages of the invention, as well as the structure and operation of the various embodiments of the invention are described in detail below with reference to the accompanying drawings.
The invention is described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. The drawing in which an element first appears is indicated by the left-most digit in the corresponding reference number.
This specification discloses one or more embodiments that incorporate the features of this invention. The disclosed embodiment(s) merely exemplify the invention. The scope of the invention is not limited to the disclosed embodiment(s). The invention is defined by the claims appended hereto.
The embodiment(s) described, and references in the specification to “one embodiment”, “an embodiment”, “an example embodiment”, etc., indicate that the embodiment(s) described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is understood that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Embodiments of the invention may be implemented in hardware, firmware, software, or any combination thereof. Embodiments of the invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), and others. Further, firmware, software, routines, instructions may be described herein as performing certain actions. However, it should be appreciated that such descriptions are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc.
Peripheral device 180 can include, but is not limited to, a camera, a bar code reader, an image scanner, an audio device, and a sensor. In general peripheral 180 can include any type of audio, video or image capture and display device in which digital presentation data is exchanged between a peripheral and a processing unit. Peripheral 180 includes control blocks 190. When peripheral 180 is a camera, for example, control blocks 190 can include, but are not limited to lens control, flash or white LED control and shutter control. Digital presentation data can include digital data representing audio, image and multimedia data.
Digital data interface device 100 transfers digital presentation data at a high rate over a communication link 105. In one example, an MDDI communication link can be used which supports bi-directional data transfer with a maximum bandwidth of 3.2 Gbits per second. Other high rates of data transfer that are higher or lower than this example rate can be supported depending on the communications link. Digital data interface device 100 includes a message interpreter module 110, a content module 120, a control module 130 and a link controller 140.
Link controller 140, which is located within digital data interface 100, and link controller 170, which is located within digital device 150 establish communication link 105. Link controller 140 and link controller 170 may be MDDI link controllers.
The Video Electronics Standards Association (“VESA”) MDDI Standard, which is incorporated herein by reference in its entirety, describes the requirements of a high-speed digital packet interface that lets portable devices transport digital images from small portable devices to larger external displays. MDDI applies a miniature connector system and thin flexible cable ideal for linking portable computing, communications and entertainment devices to emerging products such as wearable micro displays. It also includes information on how to simplify connections between host processors and a display device, in order to reduce the cost and increase the reliability of these connections. Link controllers 140 and 170 establish communication path 105 based on the VESA MDDI Standard.
U.S. Pat. No. 6,760,772, entitled Generating and Implementing a Communication Protocol and Interface for High Data Rate Signal Transfer, issued to Zou et al. on Jul. 6, 2004 ('772 Patent”) describes a data interface for transferring digital data between a host and a client over a communication path using packet structures linked together to form a communication protocol for presentation data. Embodiments of the invention taught in the '772 Patent are directed to an MDDI interface. The signal protocol is used by link controllers, such as link controllers 140 and 170, configured to generate, transmit, and receive packets forming the communications protocol, and to form digital data into one or more types of data packets, with at least one residing in the host device and being coupled to the client through a communications path, such as communications path 105.
The interface provides a cost-effective, low power, bi-directional, high-speed data transfer mechanism over a short-range “serial” type data link, which lends itself to implementation with miniature connectors and thin flexible cables. An embodiment of link controllers 140 and 170 establishes communication path 105 based on the teachings of the '772 Patent. The '772 Patent is herein incorporated by reference in its entirety.
In other embodiments, link controllers 140 and 170 can both be a USB link controller or they both can include a combination of controllers, such as for example, an MDDI link controller and another type of link controller, such as, for example, a USB link controller. Alternatively, link controllers 140 and 170 can include a combination of controllers, such as an MDDI link controller and a single link for exchanging acknowledgement messages between digital data interface device 100 and digital device 150. Link controllers 140 and 170 additionally can support other types of interfaces, such as an Ethernet or RS-232 serial port interface. Additional interfaces can be supported as will be known by individuals skilled in the relevant arts based on the teachings herein.
Within digital data interface device 100, message interpreter module 110 receives commands from and generates response messages through communication link 105 to system controller 160, interprets the command messages, and routes the information content of the commands to an appropriate module within digital data interface device 100.
Content module 120 receives data from peripheral device 180, stores the data and transfers the data to system controller 160 through communication link 105.
Control module 130 receives information from message interpreter 130, and routes information to control blocks 190 of peripheral device 180. Control module 130 can also receive information from control blocks 190 and routes the information to the message interpreter module 110.
Referring to
MDDI link 210 connects camera module 218 to MSM 204. Typically, an MDDI link controller is provided for each of camera module 218 and MSM 204. Within cellular telephone 200, for example, an MDDI Host 222 is integrated into interface system 230 which is coupled to camera module 212, while an MDDI Client 206 resides on the MSM side of the MDDI link 210. Typically, the MDDI host is the master controller of the MDDI link.
In cellular telephone 200 pixel data from camera module 218 are received and formatted into MDDI packets by interface system 230 using MDDI Host 222 before being transmitted onto MDDI link 210. MDDI client 206 receives the MDDI packets and re-converts them into pixel data of the same format as generated by camera module 218. The pixel data are then sent to an appropriate block in MSM 204 for processing.
Similarly, MDDI link 212 connects LCD module 216 to MSM 204. MDDI link 212 interconnects an MDDI Host 208, integrated into MSM 204, and an MDDI Client 220 integrated into interface system 232 which is coupled to LCD module 216. Display data generated by a graphics controller of MSM 204 are received and formatted into MDDI packets by MDDI Host 208 before being transmitted onto MDDI link 212. MDDI client 220 receives the MDDI packets and re-converts them into display data and processes the display data through interface system 232 for use by LCD module 216.
Interface systems 230 and 232 represent different embodiments of digital data device interface 100. In the case of interface system 230, digital data device interface 100 elements will be implemented to support data transfer of camera images and camera control functions for a camera. In the case of interface system 232, digital data device interface 100 elements will be implemented to support data display to an LCD and control functions for the LCD. Interface system 230 is further explained to illustrate an embodiment of digital data device interface 100 when used in a cellular telephone with a camera, such as cellular telephone 200 with camera module 218.
The relationship between the devices in
Recall that interface system 230 corresponds to digital data device interface 100. The components of interface system 230 correspond to the components of digital data device interface 100 in the following manner. Camera message interpreter 302 corresponds to message interpreter module 100. Camera video interface 304 corresponds to content module 120. Collectively, I2C master 303, motor control 308 and flash/white LED timer 310 correspond to control module 130.
Camera message interpreter 302 receives commands and generates response messages through MDDI host 222 to MSM 204. Camera message interpreter 302 interprets the messages and routes the information content to the appropriate block within interface system 230, which can be referred to as an MDDI camera interface device. Camera video interface 304 receives image data from camera 320, stores the image data, and transfers the image data to MDDI host 222. Collectively, I2C master 306, motor control 308 and flash/white LED timer 310 form a camera control block. In this case I2C master 306 provide controls for managing camera 320, motor control 308 provides controls for managing lens 322 (e.g., lens zoom functions), and flash/white LED timer 310 provides controls for managing flash/white LED 324 (e.g., flash brightness and duration.)
Command processor 420 processes commands received from the host processor. The commands include powering down MDDI link 210, powering MDDI link 210 up, resetting MDDI host 222, and generating certain types of data packets.
Registers 430 store registers for the transmission of data across MDDI link 210. The registers within registers 430 control the behavior of MDDI link 210, as well as the configuration of MDDI host 222.
DMA interface 440 provides burst requests to external memory to receive information from interface system 230 to buffer data for MDDI packet builder 450. DMA interface 440 parses data of link list node headers and adjusts pointers to read the actual packet data. DMA interface 440 presents the information about the next data packet to send out to MDDI packet builder 450.
MDDI packet builder 450 makes decisions about what packet to send next as well as building the physical packets that will need to go over MDDI link 222. The packets are built from internal registers, counters, and data retrieved by DMA interface 440. When data is to be output over MDDI link 222, output data can be generated from several sources. The first source of packets are control type packets that are generated internally to MDDI packet builder 450. Example packets include sub-frame header packets, fill packets and link shutdown packets. Another source of packets is through DMA interface 440. These packets include packets passed via linked lists. In other embodiments video data, when the peripherals include a video camera, can be passed directly to MDDI packet builder 450. Regardless of the source of the packets, all packets are processed through a CRC generator system that resides within MDDI packet builder 450.
Data handshake module 460 manages the physical MDDI link 210. This is accomplished with a state machine that is responsible for the handshaking process, data output, round trip delay measurements and reverse data. Data handshake module 460 receives data from MDDI packet builder 450 and pass the data out to data pad 470, which shifts the data out onto MDDI link 222.
Example packet types are described with reference to
Packet length field 610 includes a 16 bit (2 bytes) value that specifies the total number of bytes in a packet not including packet length field 610. Packet type field 620 includes a 2 byte unsigned integer that specifies the type of information contained in a packet.
Fields 620 through 665 are each 2 byte fields that contain parameter data related to how a video display should be formatted. The specific definitions for these fields can be found within the VESA MDDI Interface Standard. Parameter CRC field 670 is a two byte field that contains a CRC value generated by processing the parameter data in fields 610 through 665.
Pixel data field 675 includes any amount of pixel data up to an amount allowed by the size of the packet and the pixel count field. Pixel CRC field 680 is a two byte field that contains a CRC value generated by processing the pixel data within pixel data field 675.
Every packet sent over the MDDI link 210 will include at least one CRC field, such as CRC field 550 within sub-frame header packet format 500. In some longer packets, the packet will include two CRC fields, such as parameter CRC field 670 and pixel CRC field 680 within video stream packet format 600.
A CRC produces a small number of bits, from a large block of data, such as a packet of network traffic or a block of a computer file, in order to detect errors in transmission or storage. A CRC is computed as a function of the data to be sent and appended before transmission or storage (for example, with CRC field 550), and verified afterwards to confirm that no changes occurred.
A CRC is computed by pushing packet data through a CRC generator, such as CRC generator system 454, to create a unique CRC value associated with the packet data. A CRC checker, such as CRC checker 456, generates a received data CRC value based on the received data. The received data CRC value is then compared to the CRC value that was sent. If the two match, then the data is considered to be valid data, otherwise a CRC error is generated.
CRCs are popular because they are simple to implement in binary hardware, are easy to analyze mathematically, and are particularly good at detecting common errors caused by noise in transmission channels. Specific implementations for CRC generators will be known to individuals skilled in the relevant arts.
As illustrated in
There is a remote possibility for packets containing multiple bit errors to produce a good CRC. The probability of detecting a good CRC on a packet with errors approaches 7.6×10−6 on very long packets containing many errors. By design, the MDDI link will have a very low or zero error rate. The CRC is intended to be used to monitor the health of the link, and is not intended to detect errors on specific packets to determine whether packets should be retransmitted.
In an exemplary embodiment, the polynomial used for the CRC calculation is known as the CRC-16, or X16+X15+X2+X0. A sample implementation of a CRC generator 454 and CRC checker 456 useful for implementing the invention is shown in
As an example, if the packet contents are: 0x000c, 0x0046, 0x000, 0x0400, 0x00, 0x00, 0x0000 (or represented as a sequence of bytes as: 0x0c, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00), and are submitted using the inputs of the multiplexors 472 and 473, and AND gate 474, the resulting CRC output on the Tx_MDDI_Data_With_CRC line is 0xd9aa (or represented as a sequence as 0xaa, 0xd9).
When CRC generator 454 and CRC checker 456 is configured as a CRC checker, the CRC that is received on the Rx_MDDI_Data line is input to multiplexor 472 and exclusive-OR (XOR) gate 476, and is compared bit by bit with the value found in the CRC register using NOR gate 475, AND gate 474, and AND gate 477. If there are any errors, as output by AND gate 477, the CRC is incremented once for every packet that contains a CRC error by connecting the output of gate 477 to the input of register 471. Note that the example circuit shown in the diagram of
The timing for the input and output signals, and the enabling signals, is illustrated graphically in
The presence of CRCs within packets presents operational challenges and also affords various opportunities to more efficiently utilize MDDI Link 210. While the discussions focus on CRC uses in the context of MDDI link 210, the present invention is not limited to the MDDI context. The present invention can be applied to any type of digital data transmission link in which CRCs are used.
One challenge associated with the use of CRCs relates to link initialization. When a link is brought up, a sub frame header packet, such as sub-frame header packet 500, will be sent by MDDI host 222 to MDDI client 206. Upon link initialization, ordinarily CRC checker 456 would not know the alignment of data within the data stream. That is, it would not know, for example, whether it was processing data within the unique word field 530 or CRC field 550. As a result CRC checker 456 would need to continually queue data into memory until it recognized where within the data stream it was. This leads to inefficiencies and requires more memory and chip area used to queue and store data. Without knowing the precise location within the data stream, CRC checker 456 would not be able to generate a CRC that could be compared to a received CRC to validate the received data.
Method 800 begins in step 810. In step 810, a request to initialize or wake-up a transmission link is received. For example, MDDI client 206 could receive a request from MDDI host 222 to initialize or wake-up MDDI link 210. Within MDDI client 206, CRC checker 456 would be initialized by this link wake-up request. In particular, CRC initializer 730 would be initialized by the request.
In step 820, a CRC generator is pre-populated with the data values associated with the unique pattern and the packet length field 510, such that the CRC values associated with the unique pattern and packet length field can be generated by the CRC generator. As indicated above, in one embodiment, the packet length field is assumed to be fixed. For example, CRC initializer 730 can provide the unique pattern and packet length field to CRC generator 720. In the case of MDDI, the unique pattern is the data values associated with the data contained within the packet type field 520 and unique word field 530. Upon waking up a link, the values of these fields will be known a priori. Thus, CRC initializer 730 can store them and be in a position to provide them to CRC generator 730 when a wake-up link request is received. In an alternative approach, rather that provide the data values to a CRC generator, a CRC checker can be preloaded with the precalculated CRC value that would have been generated by a CRC generator had the unique pattern and packet length field been provided to the CRC generator.
In step 830, a CRC generator, such as CRC generator 720, is disabled. The generator is disabled so as to not process further data that would change the CRC value until the unique pattern and packet length field are received.
In step 840, incoming data is monitored to check for receipt of the unique data pattern. For example, unique pattern detector 710 monitors the received data from MDDI link 210.
In step 850, a determination is made that the unique pattern has been received. For example, unique pattern detector 710 determines that packet length field 510, packet type field 520 and unique word field 530 have been received.
In step 860, the CRC generator is enabled. Upon being enabled, CRC generator 720 will build upon the existing CRC value that was generated using the preloaded unique pattern. As a result, CRC generator 720 is immediately aligned with the data, and there is no need to queue or store data in memory. Upon receipt of the CRC value contained in CRC field 550, CRC verifier 740 can compare the value within CRC field 550 to the value generated by CRC generator 720 to determine whether a CRC error exists. In step 870, method 800 ends.
Ordinarily, CRC values are used to determine whether a problem on a transmission link corrupted the data during transmission. In another aspect of the invention, CRC values are used to convey information related to system errors and status. In this way, the CRC fields within messages can be used more efficiently to support both identification of transmission link problems and system status or error information.
In one embodiment of the invention, the CRC field data is corrupted to indicate simply that something is wrong with the system transmitting the data and therefore there may be problems with the data that is being received. For example, in some cases the data going out over MDDI link 210 would be corrupted because the data coming into MDDI packet builder 450 was not received quickly enough. Even though insufficient data was available for the packet, the MDDI specification states that a packet still should be sent. Thus, even though a packet is sent the data may not be valid or in some way insufficient.
In this case, the CRC value, such as parameter CRC 670 or pixel data CRC 680 could be intentionally corrupted, so that MDDI client 206 can recognize that something happened to impair the integrity of the packet that was transmitted. Within the MDDI specification, this is a way to advise MDDI client 206 that there was a problem with the data. Alternatively, another message would need to be sent that follows the packet containing the errors that in effect says, ‘the last packet that I sent was bad.’
When MDDI client 206 receives a packet in which the CRC value has been intentionally corrupted, it makes a decision on how to handle the packet. Algorithms can be developed to detect and determine how to handle a packet having an intentionally corrupted CRC value. For certain types of packets MDDI client 206 may simply record a CRC error and continue to use the data. While in other situations, MDDI client 206 may discard the received packet and request a new packet.
For example, within video packets, such as video stream packet 600, if the pixel data CRC value 680 is intentionally corrupted, MDDI client 220 would not notify the logic outside of MDDI client 220 that a packet was corrupted. In this case, the received data could be buffered before providing any sort of error notification. There is not enough memory to buffer potentially all of the video data (i.e., all pixel data to be displayed). Thus, as soon as pixel data is received it is provided to the display. As a result if there is a CRC error somewhere in the video information, it is too late to stop the video information from being used. In this case, nothing is done other than to record that a problem had occurred. In summary, if an intentionally corrupted CRC error occurs in the pixel data and not in the parameter data, the MDDI client simply records the CRC error in an error counter, but still uses the subsequent pixel data. If, on the other hand, a parameter CRC value is intentionally corrupted, then the MDDI client will not use the pixel data.
CRC generator 910 generates a CRC value based on data to be included in a data packet to be transmitted over a digital transmission link, such as, but not limited to, MDDI link 210.
CRC corrupter 920 corrupts a CRC value generated by CRC generator 910 to convey host or remote system status information. For example, if interface system 230 is unable to provide data quickly enough to MDDI host 222 to properly populate an MDDI packet, CRC corrupter 920 intentionally corrupts the CRC value of the packet to be sent.
Error detector 930 detects an error condition within a host system, such as either MDDI host 222, or receives error condition information based on information received from interface system 230 and provides instructions for the CRC corrupter 920 to intentionally corrupt a CRC value. In one embodiment, error detector 930 simply detects that something is wrong, but does not determine a specific error condition. In another embodiment, error detector 930 determines a specific type of error condition. In the latter embodiment, error detector 930 conveys the nature of the error to error value generator 940. Error value generator 940 instructs CRC corrupter 940 to replace a CRC value generated by the CRC generator 910 with a specific value that indicates a type of system error or status condition.
When corrupting the CRC value, algorithms must be chosen to ensure that the intentional corruption does not lead to a CRC value that could correspond to valid data, and therefore would not be received as a unique CRC value by a CRC checker on the receiving end of a transmission link. One possible algorithm would be to identify those CRC values that would not be produced by valid data, and use those values as the unique values for intentionally corrupting a CRC value. Based on the teachings herein, individuals skilled in the relevant arts will determine other algorithms, which are included within the spirit and scope of the present invention.
Within the present invention, CRC fields may also be used to transmit error code information to represent types of errors. Whenever only data packets and CRC are being transferred between the host and client, there are no error codes being accommodated. The only error is a loss of synchronization. Otherwise, one has to wait for the link to timeout from a lack of a good data transfer path or pipeline and then reset the link and proceed. Unfortunately, this is time consuming and somewhat inefficient.
For use in one embodiment, a new technique has been developed in which the CRC portion of packets is used to transfer error code information. That is, one or more error codes are generated by the processors or devices handling the data transfer which indicate specific predefined errors or flaws that might occur within the communication processing or link. When an error is encountered, that the appropriate error code is generated and transferred using the bits for the CRC of a packet. That is, the CRC value is overloaded, or overwritten, with the desired error code, which can be detected on the receiving end by an error monitor or checker that monitors the values of the CRC field. For those cases in which the error code matches the CRC value for some reason, the compliment of the error is transferred to prevent confusion.
In one embodiment, to provide a robust error warning and detection system, the error code may be transferred several times, using a series of packets, generally all, that are transferred or sent after the error has been detected. This occurs until the point at which the condition creating the error is cleared from the system, at which point the regular CRC bits are transferred without overloading by another value.
This technique of overloading the CRC value provides a much quicker response to system errors while using a minimal amount of extra bits or fields.
As shown in
A CRC value comparator or comparison means 1206, such as CRC verifier 1030, is shown for checking to see if the selected error code or codes are the same as the CRC value being transferred. If that is the case then a code compliment generator or generation means or device is used to provide the compliment of the error codes as to not be mistaken as the original CRC pattern or value and confuse or complicate the detection scheme. An error code selector or selection means element or device 1210 then selects the error code or value it is desired to insert or overwrite, or their respective compliments as appropriate. An error code CRC over-writer or over writing mechanism or means 1212, such as CRC corrupter 920, is a device that receives the data stream, packets, and the desired codes to be inserted and overwrites the corresponding or appropriate CRC values, in order to transfer the desired error codes to a receiving device.
As mentioned, the error code may be transferred several times, using a series of packets, so the over-writer 1212 may utilize memory storage elements in order to maintain copies of the codes during processing or recall these codes from previous elements or other known storage locations which can be used to store or hold their values as needed, or as desired.
The general processing of the overwriting mechanism of
On the packet reception side, as shown in
Exemplary embodiments of the present invention have been presented. The invention is not limited to these examples. These examples are presented herein for purposes of illustration, and not limitation. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the invention.
All publications, patents and patent applications mentioned in this specification are indicative of the level of skill of those skilled in the art to which this invention pertains, and are herein incorporated by reference to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated by reference.
The present application is a continuation-in-part and claims priority under 35 U.S.C. 120 of U.S. patent application Ser. No. 11/107,536, entitled High Data Rate Interface Apparatus and Method, filed Apr. 14, 2005, which in turn claims priority under 35 U.S.C. 119 to U.S. Provisional Application No. 60/577,500, entitled Switchable Threshold Differential Interface, filed Jun. 4, 2004 and claims priority under 35 U.S.C. 120 to U.S. patent application Ser. No. 11/089,643, entitled High Data Rate Interface Apparatus and Method filed Mar. 24, 2005, which claims priority to U.S. Provisional Application No. 60/556,345, filed on Mar. 24, 2004. All of the above listed applications are hereby incorporated by reference. The present application also claims priority under 35 U.S.C. 119 to U.S. Provisional Application No. 60/630,853, entitled MDDI Host Core Design, filed Nov. 24, 2004; U.S. Provisional Application No. 60/631,549, entitled Mobile Display Digital Interface Host Camera Interface Device, filed Nov. 30, 2004; U.S. Provisional Application No. 60/632,825, entitled Camera MDDI Host Device, filed Dec. 2, 2004; U.S. Provisional Application No. 60/632,852, entitled MDDI Host Core and Pathfinder, filed Dec. 2, 2004; U.S. Provisional Application No. 60/633,071, entitled MDDI Overview, filed Dec. 2, 2004; and U.S. Provisional Application No. 60/633,084, entitled MDDI Host Core Pad Design, all of which are hereby expressly incorporated by reference herein in their entireties. The present application is also related to commonly assigned U.S. patent application Ser. No. 11/285,379, entitled Digital Data Interface Device, filed on Nov. 23, 2005 and to U.S. patent application Ser. No. 11/285,389, entitled Digital Data Interface Device Message Format, filed on Nov. 23, 2005, both of which are hereby expressly incorporated by reference herein in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
3594304 | Chan | Jul 1971 | A |
4042783 | Gindi | Aug 1977 | A |
4363123 | Grover | Dec 1982 | A |
4393444 | Weinberg | Jul 1983 | A |
4491943 | Iga et al. | Jan 1985 | A |
4660096 | Arlan et al. | Apr 1987 | A |
4764805 | Rabbani et al. | Aug 1988 | A |
4769761 | Downes et al. | Sep 1988 | A |
4812296 | Schmelz et al. | Mar 1989 | A |
4821296 | Cordell | Apr 1989 | A |
4891805 | Fallin | Jan 1990 | A |
5079693 | Miller | Jan 1992 | A |
5111455 | Negus | May 1992 | A |
5131012 | Dravida | Jul 1992 | A |
5138616 | Wagner, Jr. et al. | Aug 1992 | A |
5155590 | Beyers, II et al. | Oct 1992 | A |
5167035 | Mann et al. | Nov 1992 | A |
5224213 | Dieffenderfer et al. | Jun 1993 | A |
5227783 | Shaw et al. | Jul 1993 | A |
5231636 | Rasmussen | Jul 1993 | A |
5331642 | Valley et al. | Jul 1994 | A |
5345542 | Wye | Sep 1994 | A |
5359595 | Weddle et al. | Oct 1994 | A |
5377188 | Seki | Dec 1994 | A |
5396636 | Gallagher et al. | Mar 1995 | A |
5418452 | Pyle | May 1995 | A |
5418952 | Morley et al. | May 1995 | A |
5420858 | Marshall et al. | May 1995 | A |
5422894 | Abe et al. | Jun 1995 | A |
5430486 | Fraser et al. | Jul 1995 | A |
5477534 | Kusano | Dec 1995 | A |
5483185 | Scriber et al. | Jan 1996 | A |
5490247 | Tung et al. | Feb 1996 | A |
5502499 | Birch et al. | Mar 1996 | A |
5510832 | Garcia | Apr 1996 | A |
5513185 | Schmidt | Apr 1996 | A |
5519830 | Opoczynski | May 1996 | A |
5521907 | Ennis, Jr. et al. | May 1996 | A |
5524007 | White et al. | Jun 1996 | A |
5530704 | Gibbons et al. | Jun 1996 | A |
5535336 | Smith et al. | Jul 1996 | A |
5543939 | Harvey et al. | Aug 1996 | A |
5546121 | Gotanda et al. | Aug 1996 | A |
5550489 | Raab | Aug 1996 | A |
5559459 | Back et al. | Sep 1996 | A |
5559952 | Fujimoto | Sep 1996 | A |
5560022 | Dunstan et al. | Sep 1996 | A |
5565957 | Goto | Oct 1996 | A |
5575951 | Anderson | Nov 1996 | A |
5604450 | Borkar et al. | Feb 1997 | A |
5619650 | Bach et al. | Apr 1997 | A |
5621664 | Phaal | Apr 1997 | A |
5646947 | Cooper et al. | Jul 1997 | A |
5664948 | Dimitriadis et al. | Sep 1997 | A |
5680404 | Gray | Oct 1997 | A |
5726990 | Shimada et al. | Mar 1998 | A |
5732352 | Gutowski et al. | Mar 1998 | A |
5733131 | Park | Mar 1998 | A |
5734118 | Ashour et al. | Mar 1998 | A |
5751445 | Masunaga | May 1998 | A |
5751951 | Osborne et al. | May 1998 | A |
5777999 | Hiraki et al. | Jul 1998 | A |
5790551 | Chan | Aug 1998 | A |
5798720 | Yano et al. | Aug 1998 | A |
5802351 | Frampton | Sep 1998 | A |
5815507 | Vinggaard et al. | Sep 1998 | A |
5816921 | Hosokawa | Oct 1998 | A |
5818255 | New et al. | Oct 1998 | A |
5822603 | Hansen et al. | Oct 1998 | A |
5844918 | Kato | Dec 1998 | A |
5847752 | Sebestyen | Dec 1998 | A |
5862160 | Irvin et al. | Jan 1999 | A |
5864546 | Campanella | Jan 1999 | A |
5867501 | Horst et al. | Feb 1999 | A |
5867510 | Steele | Feb 1999 | A |
5881262 | Abramson et al. | Mar 1999 | A |
5903281 | Chen et al. | May 1999 | A |
5935256 | Lesmeister | Aug 1999 | A |
5953378 | Hotani et al. | Sep 1999 | A |
5958006 | Eggleston et al. | Sep 1999 | A |
5963557 | Eng | Oct 1999 | A |
5963564 | Petersen et al. | Oct 1999 | A |
5963979 | Inoue et al. | Oct 1999 | A |
5969750 | Hsieh et al. | Oct 1999 | A |
5982362 | Crater et al. | Nov 1999 | A |
5983261 | Riddle | Nov 1999 | A |
5990852 | Szamrej | Nov 1999 | A |
5990902 | Park | Nov 1999 | A |
5995512 | Pogue, Jr. | Nov 1999 | A |
6002709 | Hendrickson | Dec 1999 | A |
6014705 | Koenck et al. | Jan 2000 | A |
6047380 | Nolan et al. | Apr 2000 | A |
6049837 | Youngman | Apr 2000 | A |
6055247 | Kubota et al. | Apr 2000 | A |
6064649 | Johnston | May 2000 | A |
6078361 | Reddy | Jun 2000 | A |
6081513 | Roy | Jun 2000 | A |
6091709 | Harrison et al. | Jul 2000 | A |
6092231 | Sze | Jul 2000 | A |
6097401 | Owen et al. | Aug 2000 | A |
6101601 | Matthews et al. | Aug 2000 | A |
6118791 | Fichou et al. | Sep 2000 | A |
6151067 | Suemoto et al. | Nov 2000 | A |
6151320 | Shim et al. | Nov 2000 | A |
6154156 | Tagato | Nov 2000 | A |
6154466 | Iwasaki et al. | Nov 2000 | A |
6185601 | Wolff | Feb 2001 | B1 |
6192230 | Van Bokhorst et al. | Feb 2001 | B1 |
6198752 | Lee | Mar 2001 | B1 |
6199169 | Voth et al. | Mar 2001 | B1 |
6222677 | Budd et al. | Apr 2001 | B1 |
6236647 | Amalfitano et al. | May 2001 | B1 |
6242953 | Thomas | Jun 2001 | B1 |
6243596 | Kikinis | Jun 2001 | B1 |
6243761 | Mogul et al. | Jun 2001 | B1 |
6246876 | Hontzeas | Jun 2001 | B1 |
6252526 | Uyehara | Jun 2001 | B1 |
6252888 | Fite, Jr. et al. | Jun 2001 | B1 |
6256509 | Tanaka et al. | Jul 2001 | B1 |
6288739 | Hales et al. | Sep 2001 | B1 |
6297684 | Uyehara et al. | Oct 2001 | B1 |
6308239 | Osakada et al. | Oct 2001 | B1 |
6335696 | Aoyagi et al. | Jan 2002 | B1 |
6359479 | Oprescu | Mar 2002 | B1 |
6363439 | Battles et al. | Mar 2002 | B1 |
6393008 | Cheng et al. | May 2002 | B1 |
6397286 | Chatenever et al. | May 2002 | B1 |
6400392 | Yamaguchi et al. | Jun 2002 | B1 |
6400654 | Sawamura et al. | Jun 2002 | B1 |
6400754 | Fleming et al. | Jun 2002 | B2 |
6421735 | Jung et al. | Jul 2002 | B1 |
6429867 | Deering | Aug 2002 | B1 |
6430196 | Baroudi | Aug 2002 | B1 |
6430606 | Haq | Aug 2002 | B1 |
6434187 | Beard et al. | Aug 2002 | B1 |
6438363 | Feder et al. | Aug 2002 | B1 |
6457090 | Young | Sep 2002 | B1 |
6475245 | Gersho et al. | Nov 2002 | B2 |
6477186 | Nakura et al. | Nov 2002 | B1 |
6480521 | Odenwalder et al. | Nov 2002 | B1 |
6483825 | Seta | Nov 2002 | B2 |
6487217 | Baroudi | Nov 2002 | B1 |
6493357 | Fujisaki | Dec 2002 | B1 |
6493713 | Kanno | Dec 2002 | B1 |
6493824 | Novoa et al. | Dec 2002 | B1 |
6545979 | Poulin | Apr 2003 | B1 |
6549538 | Beck et al. | Apr 2003 | B1 |
6549958 | Kuba | Apr 2003 | B1 |
6574211 | Padovani et al. | Jun 2003 | B2 |
6583809 | Fujiwara | Jun 2003 | B1 |
6594304 | Chan | Jul 2003 | B2 |
6609167 | Bastiani et al. | Aug 2003 | B1 |
6611221 | Soundarapandian et al. | Aug 2003 | B1 |
6611503 | Fitzgerald et al. | Aug 2003 | B1 |
6618360 | Scoville et al. | Sep 2003 | B1 |
6621809 | Lee et al. | Sep 2003 | B1 |
6621851 | Agee et al. | Sep 2003 | B1 |
6636508 | Li et al. | Oct 2003 | B1 |
6636922 | Bastiani et al. | Oct 2003 | B1 |
6662322 | Abdelilah et al. | Dec 2003 | B1 |
6690201 | Simkins et al. | Feb 2004 | B1 |
6714233 | Chihara et al. | Mar 2004 | B2 |
6715088 | Togawa | Mar 2004 | B1 |
6728263 | Joy et al. | Apr 2004 | B2 |
6738344 | Bunton et al. | May 2004 | B1 |
6745364 | Bhatt et al. | Jun 2004 | B2 |
6754179 | Lin | Jun 2004 | B1 |
6760722 | Raghunandan | Jul 2004 | B1 |
6760772 | Zou et al. | Jul 2004 | B2 |
6760882 | Catreux et al. | Jul 2004 | B1 |
6765506 | Lu | Jul 2004 | B1 |
6771613 | O'toole et al. | Aug 2004 | B1 |
6778493 | Ishii | Aug 2004 | B1 |
6782039 | Alamouti et al. | Aug 2004 | B2 |
6784941 | Su et al. | Aug 2004 | B1 |
6791379 | Wakayama et al. | Sep 2004 | B1 |
6797891 | Blair et al. | Sep 2004 | B1 |
6804257 | Benayoun et al. | Oct 2004 | B1 |
6810084 | Jun et al. | Oct 2004 | B1 |
6813638 | Sevanto et al. | Nov 2004 | B1 |
6816929 | Ueda | Nov 2004 | B2 |
6831685 | Ueno et al. | Dec 2004 | B1 |
6836469 | Wu | Dec 2004 | B1 |
6850282 | Makino et al. | Feb 2005 | B1 |
6865240 | Kawataka | Mar 2005 | B1 |
6865609 | Gubbi et al. | Mar 2005 | B1 |
6865610 | Bolosky et al. | Mar 2005 | B2 |
6867668 | Dagostino et al. | Mar 2005 | B1 |
6882361 | Gaylord | Apr 2005 | B1 |
6886035 | Wolff | Apr 2005 | B2 |
6892071 | Park et al. | May 2005 | B2 |
6894994 | Grob et al. | May 2005 | B1 |
6895410 | Ridge | May 2005 | B2 |
6897891 | Itsukaichi | May 2005 | B2 |
6906762 | Witehira | Jun 2005 | B1 |
6927746 | Lee et al. | Aug 2005 | B2 |
6944136 | Kim et al. | Sep 2005 | B2 |
6947436 | Harris et al. | Sep 2005 | B2 |
6950428 | Horst et al. | Sep 2005 | B1 |
6956829 | Lee | Oct 2005 | B2 |
6973039 | Redi et al. | Dec 2005 | B2 |
6973062 | Han | Dec 2005 | B1 |
6975145 | Vadi et al. | Dec 2005 | B1 |
6990549 | Main et al. | Jan 2006 | B2 |
6993393 | Von Arx et al. | Jan 2006 | B2 |
6999432 | Zhang et al. | Feb 2006 | B2 |
7003796 | Humpleman | Feb 2006 | B1 |
7010607 | Bunton | Mar 2006 | B1 |
7012636 | Hatanaka | Mar 2006 | B2 |
7015838 | Groen et al. | Mar 2006 | B1 |
7023924 | Keller et al. | Apr 2006 | B1 |
7030796 | Shim et al. | Apr 2006 | B2 |
7036066 | Weibel et al. | Apr 2006 | B2 |
7042914 | Zerbe et al. | May 2006 | B2 |
7047475 | Sharma et al. | May 2006 | B2 |
7051218 | Gulick et al. | May 2006 | B1 |
7062264 | Ko et al. | Jun 2006 | B2 |
7062579 | Tateyama et al. | Jun 2006 | B2 |
7068666 | Foster et al. | Jun 2006 | B2 |
7095435 | Hartman et al. | Aug 2006 | B1 |
7110420 | Bashirullah et al. | Sep 2006 | B2 |
7126945 | Beach | Oct 2006 | B2 |
7138989 | Mendelson et al. | Nov 2006 | B2 |
7143177 | Johnson et al. | Nov 2006 | B1 |
7143207 | Vogt | Nov 2006 | B2 |
7145411 | Blair et al. | Dec 2006 | B1 |
7151940 | Diao | Dec 2006 | B2 |
7158536 | Ching et al. | Jan 2007 | B2 |
7158539 | Zhang et al. | Jan 2007 | B2 |
7161846 | Padaparambil | Jan 2007 | B2 |
7165112 | Battin et al. | Jan 2007 | B2 |
7178042 | Sakagami | Feb 2007 | B2 |
7180951 | Chan | Feb 2007 | B2 |
7184408 | Denton et al. | Feb 2007 | B2 |
7187738 | Naven et al. | Mar 2007 | B2 |
7191281 | Bajikar | Mar 2007 | B2 |
7219294 | Vogt | May 2007 | B2 |
7231402 | Dickens | Jun 2007 | B2 |
7251231 | Gubbi | Jul 2007 | B2 |
7257087 | Grovenburg | Aug 2007 | B2 |
7260087 | Bao et al. | Aug 2007 | B2 |
7269153 | Schultz et al. | Sep 2007 | B1 |
7274652 | Webster et al. | Sep 2007 | B1 |
7278069 | Abrosimov et al. | Oct 2007 | B2 |
7284181 | Venkatramani | Oct 2007 | B1 |
7301968 | Haran et al. | Nov 2007 | B2 |
7310535 | MacKenzie et al. | Dec 2007 | B1 |
7315265 | Wiley et al. | Jan 2008 | B2 |
7315520 | Xue et al. | Jan 2008 | B2 |
7317754 | Remy et al. | Jan 2008 | B1 |
7327735 | Robotham et al. | Feb 2008 | B2 |
7336139 | Blair et al. | Feb 2008 | B2 |
7336667 | Allen et al. | Feb 2008 | B2 |
7340548 | Love et al. | Mar 2008 | B2 |
7349973 | Saito et al. | Mar 2008 | B2 |
7373155 | Duan et al. | May 2008 | B2 |
7383350 | Moore et al. | Jun 2008 | B1 |
7383399 | Vogt et al. | Jun 2008 | B2 |
7392541 | Largman et al. | Jun 2008 | B2 |
7403487 | Foladare et al. | Jul 2008 | B1 |
7403511 | Liang et al. | Jul 2008 | B2 |
7405703 | Qi et al. | Jul 2008 | B2 |
7412642 | Cypher | Aug 2008 | B2 |
7430001 | Fujii | Sep 2008 | B2 |
7447953 | Vogt | Nov 2008 | B2 |
7451362 | Chen et al. | Nov 2008 | B2 |
7487917 | Kotlarsky et al. | Feb 2009 | B2 |
7508760 | Akiyama et al. | Mar 2009 | B2 |
7515705 | Segawa et al. | Apr 2009 | B2 |
7526323 | Kim et al. | Apr 2009 | B2 |
7536598 | Largman et al. | May 2009 | B2 |
7543326 | Moni | Jun 2009 | B2 |
7557633 | Yu | Jul 2009 | B2 |
7574113 | Nagahara et al. | Aug 2009 | B2 |
7595834 | Kawai et al. | Sep 2009 | B2 |
7595835 | Kosaka et al. | Sep 2009 | B2 |
7634607 | Honda | Dec 2009 | B2 |
7643823 | Shamoon et al. | Jan 2010 | B2 |
7729720 | Suh et al. | Jun 2010 | B2 |
7800600 | Komatsu et al. | Sep 2010 | B2 |
7813451 | Binder et al. | Oct 2010 | B2 |
7831127 | Wilkinson | Nov 2010 | B2 |
7835280 | Pang et al. | Nov 2010 | B2 |
7844296 | Yuki | Nov 2010 | B2 |
7873343 | Gollnick et al. | Jan 2011 | B2 |
7876821 | Li et al. | Jan 2011 | B2 |
7877439 | Gallou et al. | Jan 2011 | B2 |
7912503 | Chang et al. | Mar 2011 | B2 |
7945143 | Yahata et al. | May 2011 | B2 |
7949777 | Wallace et al. | May 2011 | B2 |
8031130 | Tamura | Oct 2011 | B2 |
8077634 | Maggenti et al. | Dec 2011 | B2 |
8325239 | Kaplan et al. | Dec 2012 | B2 |
20010005385 | Ichiguchi et al. | Jun 2001 | A1 |
20010012293 | Petersen et al. | Aug 2001 | A1 |
20010032295 | Tsai et al. | Oct 2001 | A1 |
20010047450 | Gillingham et al. | Nov 2001 | A1 |
20010047475 | Terasaki | Nov 2001 | A1 |
20010053174 | Fleming et al. | Dec 2001 | A1 |
20020011998 | Tamura | Jan 2002 | A1 |
20020045448 | Park et al. | Apr 2002 | A1 |
20020067787 | Naven et al. | Jun 2002 | A1 |
20020071395 | Redi et al. | Jun 2002 | A1 |
20020131379 | Lee et al. | Sep 2002 | A1 |
20020140845 | Yoshida et al. | Oct 2002 | A1 |
20020146024 | Harris et al. | Oct 2002 | A1 |
20020188907 | Kobayashi | Dec 2002 | A1 |
20020193133 | Shibutani | Dec 2002 | A1 |
20030003943 | Bajikar et al. | Jan 2003 | A1 |
20030028647 | Grosu | Feb 2003 | A1 |
20030033417 | Zou et al. | Feb 2003 | A1 |
20030034955 | Gilder et al. | Feb 2003 | A1 |
20030035049 | Dickens et al. | Feb 2003 | A1 |
20030039212 | Lloyd et al. | Feb 2003 | A1 |
20030061431 | Mears et al. | Mar 2003 | A1 |
20030081557 | Mettala et al. | May 2003 | A1 |
20030086443 | Beach et al. | May 2003 | A1 |
20030091056 | Paul Hulme Walker et al. | May 2003 | A1 |
20030093607 | Main et al. | May 2003 | A1 |
20030125040 | Walton et al. | Jul 2003 | A1 |
20030144006 | Johansson et al. | Jul 2003 | A1 |
20030158979 | Tateyama et al. | Aug 2003 | A1 |
20030185220 | Valenci | Oct 2003 | A1 |
20030191809 | Mosley et al. | Oct 2003 | A1 |
20030194018 | Chang | Oct 2003 | A1 |
20030235209 | Garg et al. | Dec 2003 | A1 |
20040008631 | Kim | Jan 2004 | A1 |
20040024920 | Gulick et al. | Feb 2004 | A1 |
20040028415 | Eiselt | Feb 2004 | A1 |
20040049616 | Dunstan et al. | Mar 2004 | A1 |
20040073697 | Saito et al. | Apr 2004 | A1 |
20040082383 | Muncaster et al. | Apr 2004 | A1 |
20040100966 | Allen et al. | May 2004 | A1 |
20040128563 | Kaushik et al. | Jul 2004 | A1 |
20040130466 | Lu et al. | Jul 2004 | A1 |
20040140459 | Haigh et al. | Jul 2004 | A1 |
20040153952 | Sharma et al. | Aug 2004 | A1 |
20040176065 | Liu | Sep 2004 | A1 |
20040184450 | Omran | Sep 2004 | A1 |
20040199652 | Zou et al. | Oct 2004 | A1 |
20040221315 | Kobayashi | Nov 2004 | A1 |
20040260823 | Tiwari et al. | Dec 2004 | A1 |
20050012905 | Morinaga | Jan 2005 | A1 |
20050020279 | Markhovsky et al. | Jan 2005 | A1 |
20050021885 | Anderson et al. | Jan 2005 | A1 |
20050033586 | Savell | Feb 2005 | A1 |
20050055399 | Savchuk | Mar 2005 | A1 |
20050088939 | Hwang et al. | Apr 2005 | A1 |
20050091593 | Peltz | Apr 2005 | A1 |
20050108611 | Vogt | May 2005 | A1 |
20050117601 | Anderson et al. | Jun 2005 | A1 |
20050120079 | Anderson et al. | Jun 2005 | A1 |
20050120208 | Dobson et al. | Jun 2005 | A1 |
20050125840 | Anderson et al. | Jun 2005 | A1 |
20050135390 | Anderson et al. | Jun 2005 | A1 |
20050138260 | Love et al. | Jun 2005 | A1 |
20050144225 | Anderson et al. | Jun 2005 | A1 |
20050154599 | Kopra et al. | Jul 2005 | A1 |
20050163085 | Cromer et al. | Jul 2005 | A1 |
20050163116 | Anderson et al. | Jul 2005 | A1 |
20050165970 | Ching et al. | Jul 2005 | A1 |
20050184993 | Ludwin et al. | Aug 2005 | A1 |
20050204057 | Anderson et al. | Sep 2005 | A1 |
20050213593 | Anderson et al. | Sep 2005 | A1 |
20050216421 | Barry et al. | Sep 2005 | A1 |
20050216599 | Anderson et al. | Sep 2005 | A1 |
20050216623 | Dietrich et al. | Sep 2005 | A1 |
20050248685 | Seo et al. | Nov 2005 | A1 |
20050259670 | Anderson et al. | Nov 2005 | A1 |
20050265333 | Coffey et al. | Dec 2005 | A1 |
20050271072 | Anderson et al. | Dec 2005 | A1 |
20050286466 | Tagg et al. | Dec 2005 | A1 |
20060004968 | Vogt | Jan 2006 | A1 |
20060034301 | Anderson et al. | Feb 2006 | A1 |
20060034326 | Anderson et al. | Feb 2006 | A1 |
20060120433 | Baker et al. | Jun 2006 | A1 |
20060128399 | Duan et al. | Jun 2006 | A1 |
20060161691 | Katibian et al. | Jul 2006 | A1 |
20060164424 | Wiley et al. | Jul 2006 | A1 |
20060168496 | Steele et al. | Jul 2006 | A1 |
20060171414 | Katibian et al. | Aug 2006 | A1 |
20060179164 | Katibian et al. | Aug 2006 | A1 |
20060179384 | Wiley et al. | Aug 2006 | A1 |
20060212775 | Cypher | Sep 2006 | A1 |
20060274031 | Yuen et al. | Dec 2006 | A1 |
20060288133 | Katibian et al. | Dec 2006 | A1 |
20070008897 | Denton et al. | Jan 2007 | A1 |
20070073949 | Fredrickson et al. | Mar 2007 | A1 |
20070098002 | Liu et al. | May 2007 | A1 |
20070274434 | Arkas et al. | Nov 2007 | A1 |
20080036631 | Musfeldt | Feb 2008 | A1 |
20080088492 | Wiley et al. | Apr 2008 | A1 |
20080129749 | Wiley et al. | Jun 2008 | A1 |
20080147951 | Love | Jun 2008 | A1 |
20080282296 | Kawai et al. | Nov 2008 | A1 |
20090055709 | Anderson et al. | Feb 2009 | A1 |
20090070479 | Anderson et al. | Mar 2009 | A1 |
20090290628 | Matsumoto | Nov 2009 | A1 |
20100128626 | Anderson et al. | May 2010 | A1 |
20100260055 | Anderson et al. | Oct 2010 | A1 |
20110013681 | Zou et al. | Jan 2011 | A1 |
20110022719 | Anderson et al. | Jan 2011 | A1 |
20110199383 | Anderson et al. | Aug 2011 | A1 |
20110199931 | Anderson et al. | Aug 2011 | A1 |
20120008642 | Katibian et al. | Jan 2012 | A1 |
Number | Date | Country |
---|---|---|
88101302 | Oct 1988 | CN |
1234709 | Nov 1999 | CN |
1310400 | Aug 2001 | CN |
1377194 | Oct 2002 | CN |
1467953 | Jan 2004 | CN |
1476268 | Feb 2004 | CN |
0594006 | Apr 1994 | EP |
0872085 | Dec 1996 | EP |
0850522 | Jul 1998 | EP |
0896318 | Feb 1999 | EP |
0969676 | Jan 2000 | EP |
1217602 | Jun 2002 | EP |
1309151 | May 2003 | EP |
1423778 | Jun 2004 | EP |
1478137 | Nov 2004 | EP |
1544743 | Jun 2005 | EP |
1580964 | Sep 2005 | EP |
1630784 | Mar 2006 | EP |
2729528 | Jul 1996 | FR |
2250668 | Jun 1992 | GB |
2265796 | Oct 1993 | GB |
53131709 | Nov 1978 | JP |
62132433 | Jun 1987 | JP |
64008731 | Jan 1989 | JP |
H01129371 | May 1989 | JP |
1314022 | Dec 1989 | JP |
4167715 | Jun 1992 | JP |
4241541 | Aug 1992 | JP |
5199387 | Aug 1993 | JP |
5219141 | Aug 1993 | JP |
5260115 | Oct 1993 | JP |
6037848 | Feb 1994 | JP |
06053973 | Feb 1994 | JP |
06317829 | Nov 1994 | JP |
7115352 | May 1995 | JP |
08037490 | Feb 1996 | JP |
H0854481 | Feb 1996 | JP |
08-274799 | Oct 1996 | JP |
09-006725 | Jan 1997 | JP |
H0923243 | Jan 1997 | JP |
09230837 | Sep 1997 | JP |
09261232 | Oct 1997 | JP |
9270951 | Oct 1997 | JP |
9307457 | Nov 1997 | JP |
10200941 | Jul 1998 | JP |
10234038 | Sep 1998 | JP |
10312370 | Nov 1998 | JP |
11017710 | Jan 1999 | JP |
11032041 | Feb 1999 | JP |
11122234 | Apr 1999 | JP |
11163690 | Jun 1999 | JP |
11225182 | Aug 1999 | JP |
11225372 | Aug 1999 | JP |
11249987 | Sep 1999 | JP |
11282786 | Oct 1999 | JP |
11341363 | Dec 1999 | JP |
11355327 | Dec 1999 | JP |
2000188626 | Jul 2000 | JP |
2000216843 | Aug 2000 | JP |
2000236260 | Aug 2000 | JP |
2000278141 | Oct 2000 | JP |
2000295667 | Oct 2000 | JP |
2000324135 | Nov 2000 | JP |
2000358033 | Dec 2000 | JP |
200144960 | Feb 2001 | JP |
200194542 | Apr 2001 | JP |
2001094524 | Apr 2001 | JP |
2001177746 | Jun 2001 | JP |
2001222474 | Aug 2001 | JP |
2001282714 | Oct 2001 | JP |
2001292146 | Oct 2001 | JP |
2001306428 | Nov 2001 | JP |
2001319745 | Nov 2001 | JP |
2001320280 | Nov 2001 | JP |
2001333130 | Nov 2001 | JP |
2002500855 | Jan 2002 | JP |
2002503065 | Jan 2002 | JP |
2002062990 | Feb 2002 | JP |
2002208844 | Jul 2002 | JP |
2002281007 | Sep 2002 | JP |
2002300229 | Oct 2002 | JP |
2002300299 | Oct 2002 | JP |
2003006143 | Jan 2003 | JP |
2003009035 | Jan 2003 | JP |
2003044184 | Feb 2003 | JP |
2003046595 | Feb 2003 | JP |
2003046596 | Feb 2003 | JP |
2003058271 | Feb 2003 | JP |
2003069544 | Mar 2003 | JP |
2003076654 | Mar 2003 | JP |
2003098583 | Apr 2003 | JP |
2003111135 | Apr 2003 | JP |
2003167680 | Jun 2003 | JP |
2003198550 | Jul 2003 | JP |
2004005683 | Jan 2004 | JP |
2004007356 | Jan 2004 | JP |
2004021613 | Jan 2004 | JP |
2004046324 | Feb 2004 | JP |
2004153620 | May 2004 | JP |
2004246023 | Sep 2004 | JP |
2004297660 | Oct 2004 | JP |
2004531916 | Oct 2004 | JP |
20047309623 | Nov 2004 | JP |
2004363687 | Dec 2004 | JP |
2005107683 | Apr 2005 | JP |
2005536167 | Nov 2005 | JP |
2005539464 | Dec 2005 | JP |
1020060056989 | May 1999 | KR |
199961245 | Sep 1999 | KR |
0222225 | Oct 1999 | KR |
1019990082741 | Nov 1999 | KR |
200039224 | Jul 2000 | KR |
1999-0058829 | Jan 2001 | KR |
100286080 | Jan 2001 | KR |
20010019734 | Mar 2001 | KR |
20020071226 | Sep 2002 | KR |
2003-0061001 | Jul 2003 | KR |
1020047003852 | May 2004 | KR |
2004-69360 | Aug 2004 | KR |
1020060053050 | May 2006 | KR |
2004-0014406 | Feb 2007 | KR |
2111619 | May 1998 | RU |
2150791 | Jun 2000 | RU |
2337497 | Oct 2008 | RU |
2337497 | Oct 2008 | RU |
459184 | Oct 2001 | TW |
466410 | Dec 2001 | TW |
488133 | May 2002 | TW |
507195 | Oct 2002 | TW |
513636 | Dec 2002 | TW |
515154 | Dec 2002 | TW |
529253 | Apr 2003 | TW |
535372 | Jun 2003 | TW |
540238 | Jul 2003 | TW |
542979 | Jul 2003 | TW |
200302008 | Jul 2003 | TW |
546958 | Aug 2003 | TW |
552792 | Sep 2003 | TW |
200304313 | Sep 2003 | TW |
563305 | Nov 2003 | TW |
569547 | Jan 2004 | TW |
595116 | Jun 2004 | TW |
9210890 | Jun 1992 | WO |
9410779 | May 1994 | WO |
WO9410779 | May 1994 | WO |
9619053 | Jun 1996 | WO |
9642158 | Dec 1996 | WO |
9802988 | Jan 1998 | WO |
WO9915979 | Apr 1999 | WO |
9923783 | May 1999 | WO |
0130038 | Apr 2001 | WO |
WO0137484 | May 2001 | WO |
WO0138970 | May 2001 | WO |
WO0138982 | May 2001 | WO |
WO0158162 | Aug 2001 | WO |
0249314 | Jun 2002 | WO |
WO02098112 | Dec 2002 | WO |
03023587 | Mar 2003 | WO |
03040893 | May 2003 | WO |
WO03039081 | May 2003 | WO |
03061240 | Jul 2003 | WO |
WO2004015680 | Feb 2004 | WO |
WO2004110021 | Dec 2004 | WO |
WO2005018191 | Feb 2005 | WO |
2005073955 | Aug 2005 | WO |
2005088939 | Sep 2005 | WO |
2005091593 | Sep 2005 | WO |
2005096594 | Oct 2005 | WO |
2005122509 | Dec 2005 | WO |
WO2006008067 | Jan 2006 | WO |
2006058045 | Jun 2006 | WO |
2006058050 | Jun 2006 | WO |
2006058051 | Jun 2006 | WO |
2006058052 | Jun 2006 | WO |
2006058053 | Jun 2006 | WO |
2006058067 | Jun 2006 | WO |
2006058173 | Jun 2006 | WO |
WO2007051186 | May 2007 | WO |
Entry |
---|
Plug and Display Standard, Video Electronics Standards Association (VESA) San Jose, CA (Jun. 11, 1997). |
Search Report, dated Nov. 8, 2006, for International Application No. PCT/US05/42415, 8 pages. |
International Search Report PCT/US05/008073—International Search Authority—US May 25, 2005. |
Internation Search Report PCT/US05/008832- International Search Authority—US Sep. 7, 2005. |
International Search Report PCT/US05/009944—International Search Authority—US Sep. 7, 2005. |
International Search Report PCT/US05/019530—International Search Authority—US Sep. 21, 2005. |
Video Electronics Standards Association (VESA), “Mobile Displey Digital Interface Standard (MDDI)”, Jul. 2004. |
J. Sevanto, “Multimedia messaging service for GPRS and UMTS”, IEEE on WCNC, Sep. 1999, pp. 1422-1426, vol. 3. |
International Search Report, PCT/US2005/042643. International Searching Authority—United States Patent and Trademark Office, Oct. 5, 2006. |
International Search Report, PCT/US2005/042402. International Searching Authority—United States Patent and Trademark Office, Feb. 20, 2007. |
International Search Report, PCT/US2005/042414. International Searching Authority—United States Patent and Trademark Office, May 23, 2007. |
International Search Report, PCT/US2005/042436. International Searching Authority—United States Patent and Trademark Office, Oct. 2, 2006. |
“V4400,” Product Brochure, May 31, 2004. |
Liptak, “Instrument Engineer's Handbook, Third Edition, Volume Three: Process Software and Digital Networks, Section 4.17, Proprietary Networks, pp. 627-637, Boca Raton” CRC Press, Jun. 26, 2002. |
VESA Mobile Display Digital Interface, Proposed Standard, Version 1 p. Draft 1 0, Aug. 13, 2003. pp. 76-151. |
VESA Mobile Display Digital Interface, Proposed Standard, Version 1P, Draft 14, Oct. 29, 2003, pp. 76-158. |
VESA Mobile Display Digital Interface, Proposed Standard: Version 1P, Draft 10, Aug. 13, 2003, pp. 1-75. |
VESA Mobile Display Digital Interface, Proposed Standard: Version 1P, Draft 13, Oct. 15, 2003, pp. 76-154. |
VESA Mobile Display Digital Interface, Proposed Standard: Version 1P, Draft 15, Nov. 12, 2003, pp. 1-75. |
VESA Mobile Display Digital Interface, Proposed Standard: Version 1P, Draft 15, Nov. 12, 2003, pp. 76-160. |
VESA Mobile Display Digital Interface, Proposed Standard; Version 1P, Draft 11, Sep. 10, 2003, pp. 1-75. |
VESA Mobile Display Digital Interface. Proposed Standard, Version 1P, Draft 11, Sep. 10, 2003, pp. 76-150. |
VESA Mobile Display Digital Interface; Proposed Standard, Version 1P, Draft 13, Oct. 15, 2003. pp. 1-75. |
VESA Mobile Display Digital Interface, Proposed Standard: Version1P, Draft 14, Oct. 29, 2003, pp. 1-75. |
International Search Report and Written Opinion—PCT/US05/042412, International Search Authority—European Patent Office—Jul. 8, 2008. |
“Transmission and Multiplexing; High Bit Rate Digital Subscriber Line (HDSL) Transmission System on Metallic Local Lines; HDSL Core Specification and Applications for 2 048 Kbit/S Based Access Digital Sections; ETR 152” European Telecommunications Standard, Dec. 1996. |
IEEE STD 1394B;IEEE Standard for High Performace Serial Bus-Amendment 2(Dec. 2002). |
Written Opinion PCT/US05/042643, International Search Authority US, Oct. 5, 2006. |
International search report and Written Opinion—PCT/US05/042413, International Search Authority—European Patent Office—Aug. 25, 2008. |
International Search Report and Written Opinion—PCT/US05/042415, International Search Authority—European Patent Office—Nov. 8, 2006. |
Written Opinion—PCT/US05/042436-International Search Authority—US Oct. 2, 2006. |
European Search Report—EP05852048, Search Authority—The Hague Patent Office, Nov. 18, 2010. |
European Search Report—EP10172872, Search Authority—Munich Patent Office, Dec. 17, 2010. |
European Search Report—EP10172878, Search Authority—Munich Patent Office, Dec. 17, 2010. |
European Search Report—EP10172882, Search Authority—Munich Patent Office, Dec. 29, 2010. |
European Search Report—EP10172885, Search Authority—Munich Patent Office, Dec. 13, 2010. |
Hopkins, K. et al.: “Display Power Management,” IP.com Journal; IP.com Inc., West Henrietta, NY (Mar. 1, 1995), XP013103130, ISSN: 1533-0001, vol. 38 No. 3 pp. 425-427. |
Masnick, B. et al.: “On Linear Unequal Error Protection Codes,” IEEE Transactions on Information Theory, vol. IT-3, No. 4, (Oct. 1, 1967), pp. 600-607. |
STMicroelectronics: “STV0974 Mobile Imaging DSP Rev.3”, Datasheet internet, (Nov. 30, 2004), XP002619368. Retrieved from the Internet: URL: http://pdf1.alldatasheet.com/datasheet-pdf/view/112376/STMICROELECTRONICS/STV0974.html [retrieved on Jan. 27, 2011], pp. 1-69. |
Supplementary European Search Report—EP05849651, Search Authority—The Hague Patent Office, Jan. 31, 2011. |
Supplementary European Search Report—EP05852047, Search Authority—The Hague Patent Office, Jul. 6, 2010. |
Taiwan Search Report—TW093127510—TIPO—Apr. 1, 2011. |
Translation of Office Action in Chinese application 201010183254.3 corresponding to U.S. Appl. No. 11/008,024, dated Apr. 29, 2011. |
“Universal Serial Bus Specification—Revision 2.0: Chapter 9—USB Device Framework,” Universal Serial Bus Specification, Apr. 27, 2000, pp. 239-274, XP002474828. |
VESA: “VESA Mobile Display Digital Interface Standard: Version 1.” Milpitas, CA (Jul. 23, 2004), pp. 87-171. |
3GPP C.S0047-0. “Link-Layer Assisted Service Options for Voice-over-IP: Header Remover (SO60) and Robust Header Compression (SO61),” Version 1.0, Apr. 14, 2003, pp. 1-36. |
Taiwan Search Report—TW094141287—TIPO—May 5, 2012. |
“Nokia 6255”, Retrieved from the Internet: URL: http://nokiamuseum.com/view.php″model=6255 [retrieved on Feb. 4, 2012]. |
European Search Report—EP11155762—Search Authority—Hague—Feb. 13, 2012. |
Taiwan Search Report—TW093134825—TIPO—Jan. 28, 2012. |
Taiwan Search Report—TW093133101—TIPO—Feb. 2, 2012. |
Taiwan Search Report—TW094141284 —TIPO—Aug. 21, 2012. |
Number | Date | Country | |
---|---|---|---|
20060168496 A1 | Jul 2006 | US |
Number | Date | Country | |
---|---|---|---|
60630853 | Nov 2004 | US | |
60631549 | Nov 2004 | US | |
60632825 | Dec 2004 | US | |
60632852 | Dec 2004 | US | |
60633071 | Dec 2004 | US | |
60633084 | Dec 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11107536 | Apr 2005 | US |
Child | 11285391 | US |