CN1902880A - 高数据速率接口 - Google Patents

高数据速率接口 Download PDF

Info

Publication number
CN1902880A
CN1902880A CNA2004800392411A CN200480039241A CN1902880A CN 1902880 A CN1902880 A CN 1902880A CN A2004800392411 A CNA2004800392411 A CN A2004800392411A CN 200480039241 A CN200480039241 A CN 200480039241A CN 1902880 A CN1902880 A CN 1902880A
Authority
CN
China
Prior art keywords
data
grouping
client computer
main frame
link
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.)
Pending
Application number
CNA2004800392411A
Other languages
English (en)
Inventor
乔恩·詹姆斯·安德森
布赖恩·斯蒂尔
乔治·A·威利
沙尚克·谢卡尔
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1902880A publication Critical patent/CN1902880A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/724094Interfacing with a device worn on the user's body to provide access to telephonic functionalities, e.g. accepting a call, reading or composing a message
    • H04M1/724097Worn on the head
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • 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/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

一种数据接口,其使用链接在一起的分组结构来经由通信路径在主机和客户机之间传送数字数据,所述分组结构链接起来而形成用于传递数字控制和呈现数据的预选集合的通信协议。所述信号协议由链路控制器使用,所述链路控制器被配置成生成、传输并且接收形成通信协议的分组,并且使数字数据形成为一种或多种类型的数据分组,其中至少一个链路控制器驻留在主机设备中并且通过通信路径耦合至客户机。所述接口经由短程“串行”类型的数据链路提供划算的、低功率、双向、高速数据传送机制,这使其能够利用那些特别适用于将诸如可佩带的微型显示器的显示器元件连接到便携式计算机以及无线通信设备的小型连接器和细软电缆来实现。

Description

高数据速率接口
根据35 U.S.C §119的优先权要求
本专利申请要求于2003年10月29日提交、标题为“SwitchableThreshold Differential Interface”、转让给本受让人的第60/515,948号临时申请的优先权,在此明确将其引入作为参考。
技术领域
在本公开内容中,本发明的实施例涉及用于在主机设备和客户机设备之间以高数据速率进行信号传递或者信号传送的一种数字信号协议和处理过程。更具体地说,本公开内容涉及一种技术,这种技术使用具有内部和外部设备应用的低功率、高数据速率传送机制,把多媒体以及其它类型的数字信号从主机或者控制器设备传送到客户机设备,以便呈现或者显示给最终用户。
背景技术
近几年,计算机、电子游戏相关产品和各种视频技术(例如DVD和高清晰度VCR)获得了显著的进展,从而能够向这种装置的最终用户提供分辩率不断提高的静止、视频、视频点播和图形图像,甚至还包括某些类型的文本。这些进展继而要求采用更高分辨率的电子观看设备,例如高清晰度视频监视器、HDTV监视器或者专用图像投影元件。例如,在使用CD类型的声音再现、DVD以及同样具有相关音频信号输出的其它设备时,把这种可视图像与高清晰度或者高质量的音频数据相结合,从而为最终用户产生更加逼真、内容更丰富或者更加真切的多媒体体验。另外,已经开发了诸如MP3播放器之类的高移动性、高质量的音响系统和音乐传输机制,以便向最终用户呈现单纯音频。这已经导致从计算机到电视甚至电话这种商业电子设备的典型用户,对高品质或者一流质量的输出越来越习惯和并且越来越多的期望高品质或者优质的输出。
在典型的视频呈现情形中,涉及电子产品的视频数据通常是用当前技术以每秒一到数十千比特数量级上的速率来传送的,这一速率被恰当地称为慢速或中速。然后,把这些数据缓存或者储存在临时或者长期存储器设备中,以便在所期望的观看设备上延迟(稍后)播出。例如,可以利用驻留在具有调制解调器或者其他类型的互联网连接设备的计算机上的程序,“通过”或者使用因特网来传送图像,以便接收或者发送能够用来以数字方式表现图像的数据。使用诸如配备有无线调制解调器的便携式计算机、无线个人数字助理(PDA)或者无线电话之类的无线设备也能够进行类似的传送。
一旦收到数据,就在本地将数据储存在存储器元件、电路或者设备中,例如储存在RAM或者快闪存储器中,还包括存储在内部或外部存储设备中,例如,小尺寸硬盘,以便进行回放。根据数据量和图像分辨率,回放可以较快开始或者长时间延迟后再呈现回放。也就是说,在某些情况下,对于不需要大量数据或者使用某种缓存的小图像或者低分辨率图像而言,图像呈现允许某种程度的实时回放,因此经过了较小延迟之后,一些内容呈现出来,而更多内容则还在传送过程中。假设传送链路不发生任何中断,或者没有来自相对于正在使用的传送信道的其他系统或用户的干扰,那么一旦呈现开始,这一传送对于观看设备的最终用户而言就是适当(reasonably)透明的。自然,当多个用户共享一条通信路径(例如,一条有线互联网连接)时,传输可能会中断,或者,比预期的要慢。
用于产生静止图像或者运动视频的数据经常使用几种众所周知的技术之一来进行压缩,诸如由联合图像专家组(JPEG)、运动图像专家组(MPEG)以及介质、计算机和通信行业中众所周知的其它标准组织或公司规范的那些技术,以加速通信链路上数据的传送。这些技术使用较小数量的比特来传送给定信息量,从而允许更快地传送图像或者数据。
一旦把数据传送到诸如计算机或者其它接收器设备之类的“本地”设备,其中,计算机具有存储机制,如存储器,或者磁或光存储元件,就将得到的信息解压缩(或者使用特殊解码播放器播放),如果需要,则进行解码,并且基于相应的可用呈现分辩率和控制要素为适当的呈现做好准备。例如,用X×Y像素屏幕分辩率表示的典型的计算机视频分辨率通常从低到480×640像素到600×800再到1024×1024,当然根据需要或要求,一般还可能有各种其它分辩率。
就某些预定色彩等级或者色彩浓度(用于生成颜色的每一像素的位)和强度以及所采用的任何额外开销位而言,图像呈现还受图像内容和给定视频控制器操纵图像的能力的影响。例如,典型的计算机呈现预期每像素大约8至32位或更多位,从而表现各种颜色(浓淡和色调),但也会遇到其它值。
从上述值可以看出,在从最低到最高的典型分辩率和浓度的范围上,给定的屏幕图像将要求分别传送从2.45兆比特(Mb)到33.55Mb左右的数据。以30帧每秒的速率观看视频或者运动类型的图像时,所需要的数据量大约73.7至1,006兆比特数据每秒(Mbps),或者大约9.21至125.75兆字节每秒(MBps)。另外,人们还可能希望将音频数据和图像一起呈现,例如多媒体呈现,或者希望将音频数据作为独立的高分辨率音频呈现,例如CD质量的音乐。还可以采用处理交互式命令、控制或者信号的额外的信号。这些选项中每一项都增加了更多的待传送数据。此外,涉及高清晰度(HD)电视和电影录制的更新传输技术可能会添加更多的数据和控制信息。在任何情况下,当人们希望向最终用户传送高质量或者高分辨率图像数据和高质量音频信息或者数据信号以便产生内容丰富的体验时,在呈现元件和配置成提供这种数据的源或主机设备之间需要具有高数据传送速率的链路。
通常,115千字节每秒(kBps)或者920千比特每秒(kbps)左右的数据速率能够由现代串行接口来处理。如USB串行接口的其它接口能够支持高达12MBps速率的数据传送,而诸如使用电气与电子工程师协会(IEEE)1394标准配置的那种专用高速传送则能够以100至400MBps数量级的速率进行。但是,这些速率未能达到所期望的上述高数据速率,所期望的这些速率的目的是能够供将来的无线数据设备和服务使用,以便提供高分辨率、内容丰富的输出信号来驱动便携式视频显示器或者音频设备。这包括用于商务和其他呈现的计算机、游戏设备等。另外,这些接口要求使用数目巨大的主机或者系统以及客户机软件来工作。它们的软件协议栈还产生不期望的大量开销,特别是在考虑到移动无线设备或者电话应用的情况下更为突出。这种设备具有严格的存储器和功耗限制,以及已经负担过重的计算能力。此外,一些接口使用大体积的电缆或者利用复杂的连接器,对于高度要求美观的移动应用而言,这些大体积的电缆太过笨重,不能令人满意,而这些复杂的连接器又增加了成本,或者是功耗实在太大。
还有其它已知接口,例如模拟视频图形适配器(VGA)、数字视频交互(DVI)或者千兆位视频接口(GVIF)。这些接口中的前两个是并行类型的接口,用于以更高的传送速率来处理数据,但是它们也采用笨重的电缆并且消耗大量功率,大约有几瓦的量级。这些特性没有一个可供便携式消费电子设备使用。甚至第三个接口也消耗太多的功率并且使用昂贵的或者体积庞大的连接器。
对于上述接口中的一些以及其它非常高速率数据系统/协议或者与固定安装的计算机设备的数据传送相关联的传送机制来说,存在另一个主要缺陷。为了支持所需要的数据传送速率,还需要相当大的功率和/或用大电流工作。这样做极大地降低了将这种技术用于面向消费者的高移动性产品的可用性。
一般说来,为了支持这种数据传输速率而使用诸如光纤类型的连接以及传送元件之类的替代物,还需要多个额外的转换器和元件,与真正面向消费者的商业产品所需求的相比,这样做复杂度更大、成本更高。到目前为止,除了光学系统一般都非常昂贵的本性以外,它们对功率的要求以及它们的复杂性同样妨碍了它们在轻便、低功率、便携式应用方面的普遍应用。
便携式、无线或者移动应用行业所缺乏的是这样一种技术,即:向高移动性的最终用户提供高质量呈现体验,而不管它是基于音频、视频还是多媒体的。也就是说,当使用便携式计算机、无线电话、PDA或者其它高移动性通信设备或者装置时,当前正在使用的视频和音频呈现系统或设备根本无法以所期望的高质量水平来传递输出。感觉到质量的缺乏往往是无法获得传送高质量呈现数据所需要的高数据速率的结果。这包括向更加有效、先进或充满特性的外部设备传送以便向最终用户呈现,或者在主机和如计算机、游戏机这种便携式设备内部的客户机之间传送,以及在主机和包括诸如移动电话之类的无线设备之间传送。
在后者的情况下,在添加越来越高分辨率的内部视频屏幕以及其它专业输入和/或输出设备,并且连接至诸如所谓的第三代电话的无线设备以及所谓的膝上型计算机方面,已经迈进了一大步。然而,内部数据总线和连接可以包括桥接旋转或者滑动铰链或者类似铰链的结构,这些结构将视频屏幕或者其它元件安装或者连接至安装了主机和/或各种其它控制元件和输出部件的主外壳。使用现有技术来构造高吞吐量数据传送接口是非常难的,例如在无线电话中,现有技术要求高达90个导线或者更多,来实现所期望的吞吐量。这样做在有关制造、成本限制和可靠性方面存在许多难题尚待解决。
对于固定位置的装置,也会有这种问题和需求,其中,例如,通信或计算类设备添加在家用电器和其他消费设备中,以提供先进的数据能力、互联网和数据传输连接,或内置在娱乐中。另一个例子是飞机和汽车,其中,单独的视频和音频呈现屏安装在座椅靠背中。但是,在这些情形中,更便利、高效和易用的做法是,让主存储、处理或通信控制单元远离可视屏或音频输出端,用互联的链路或信道来呈现信息。这种链路将需要处理相当数量的数据以实现如上所述的期望吞吐量。
因此,需要一种新的传送机制来提高提供数据的主机设备和向最终用户呈现输出的客户机显示器设备或元件之间的数据吞吐量。
在序号为10/020,520和10/236,657,标题均为“Generating andImplementing ACommunication Protocol and Interface for High DataRate Signal Transfer”,目前已授权的美国专利申请中,申请人已经提出了这种新的传送机制,这两篇申请已经转让给本发明的受让人,在这里将它们引入作为参考。此外,还有序号为10/860,116、标题为“Generating and Implementing a Signal Protocol and Interface forHigher Data Rates”的申请。在这些申请中讨论的技术能够极大地提高高速度数据信号中大量数据的传送速率。然而,不断提高数据速率,特别是涉及视频呈现的速率的需求不断增长。即使是利用数据信号技术领域正在开发的其它进展,仍然需要为进一步加快传送速率,提高通信链路效率,并且使通信链路更加强大而继续努力。因此,仍然需要开发用来提高主机和客户机设备之间数据吞吐量的新的或者改进的传送机制。
发明内容
通过本发明的实施例,所述领域现存的上述以及其它缺陷将得以解决,在本发明的实施例中,已经开发了用于在主机设备和接收方客户机设备之间以高数据速率传送数据的新协议和数据传送手段、方法和机制。
本发明的实施例致力于一种在主机设备和客户机设备之间经由通信路径以高速率传送数字数据的移动数据数字接口(Mobile DataDigital Interface,MDDI),它采用多个或一系列链接起来的分组结构来形成通信协议,以便在主机和客户机设备之间传递数字控制和呈现数据的预选集合。信号通信协议或者链路层由主机或者客户机链路控制器的物理层使用。驻留在主机设备中的至少一个链路控制器经由通信路径或者链路耦合至客户机设备,并且被配置成生成、发射并且接收形成该通信协议的分组,并且将数字呈现数据形成为一个或多个类型的数据分组。所述接口在主机和客户机之间提供信息的双向传送,所述主机和客户机能够存在于公共的整体外壳或支撑结构内。
除了差分驱动器和接收器之外,所述实现方式在本质上通常全部是数字化的,其中所述驱动器和接收器很容易就能够在数字CMOS芯片上实现,它们需要少数几个信号,如6个信号,并且几乎能够以对于系统设计员来说极为便利的任何数据速率工作。这种简单的物理和链路层协议使其便于集成,这种简单性加上休眠状态使得这种便携式系统具有非常低的系统功耗。
为了有助于使用和接受,所述接口将增加极少的设备成本,能够在使用标准电池电压经由所述接口供电显示的同时,允许消耗极少的功率,并且能够使设备具有能装入口袋的外形因素。所述接口是可升级的,以便支持HDTV以上的分辩率,该接口还支持显示器设备的同步立体视频和7.1音频,对任何屏幕区域执行有条件的更新并且双向支持多种数据类型。
按照本发明的实施例的另一方面,至少一个客户机链路控制器或者客户机接收器被设置在客户机设备中,并且经由通信路径或者链路耦合至所述主机设备。所述客户机链路控制器也被配置成生成、传输并且接收形成通信协议的分组,并且将数字呈现数据形成为一个或多个类型的数据分组。一般说来,主机或者链路控制器采用状态机来处理用在命令或者某些类型的信号预备和查询处理中的数据分组,但是其也能够使用更慢的通用处理器来操纵数据和用于所述通信协议的某些不那么复杂的分组。所述主机控制器包括一个或多个差分线路驱动器;而客户机接收器包括一个或多个耦合至所述通信路径的差分线路接收器。
所述分组在主机和客户机设备之间通信的介质帧内被组合在一起,这些介质帧具有预定义固定长度,其中预定数目的分组具有不同的可变长度。所述分组均包括分组长度字段、一个或多个分组数据字段和循环冗余校验字段。子帧报头分组被传送或者定位在来自主机链路控制器的其它分组传送的开头。所述通信协议使用一个或多个视频流类型分组和音频流类型分组,以便从主机经由正向链路向客户机分别传送视频类型数据和音频类型数据,从而向客户机设备用户呈现。所述通信协议使用一个或多个反向链路封装类型分组,以便把数据从客户机设备传送到主机链路控制器。在一些实施例中,这些传送包括把数据从具有至少一个MDDI设备的内部控制器传送至内部视频屏幕。其它实施例包括向内部音响系统传送,并且从包括游戏操纵杆和复杂键盘的各种输入设备向内部主机设备传送。
由所述主机链路控制器生成填充符类型分组,以便占据没有数据的正向链路传输的周期。所述通信协议使用多个其它分组,以便传送视频信息。这些分组包括色彩映射、位块传送、位图区域填充、位图图案填充和透明色彩启用类型分组。所述通信协议使用用户定义的流类型分组以便传送接口-用户定义的数据。所述通信协议使用键盘数据和指示设备数据类型分组以便向与所述客户机设备相关联的用户输入设备传送数据或从这些设备中传送出来。所述通信协议使用链路关闭类型分组来终止沿任何一个方向经由所述通信路径的数据传送。
所述通信路径通常包括或者采用具有一系列四个或更多导线和一个屏蔽的电缆。另外,根据需要,可以使用印刷线路或者导线,其中有一些线路或者导线驻留在柔性衬底上。
所述主机链路控制器从客户机设备请求显示器能力信息,以便确定所述客户机经由所述接口能够支持什么类型的数据和数据速率。所述客户机链路控制器使用至少一个显示器能力类型分组向主机链路控制器传递显示或者呈现能力。通信协议使用多个传送模式,每个传送模式均允许在给定时间段上并行传送不同的最大数目不同的数据位,每一模式均可以通过主机和客户机链路控制器之间的协商来选择。这些传送模式可以在数据传送期间动态地调整,并且在反向链路上不必使用与正向链路上所使用的传送模式那样使用同一相同的模式。
在本发明某些实施例的其它方面中,所述主机设备包括无线通信设备,诸如无线电话、无线PDA或者具有其中设置有无线调制解调器的便携式计算机。典型的客户机设备包括便携式视频显示器,诸如微型显示器设备,和/或便携式音频呈现系统。此外,主机可以使用储存模块或元件以储存待传送以便呈现给客户机设备用户的呈现或者多媒体数据。
在某些实施例的其他方面中,所述主机设备包括具有下述的存在于便携式电子设备内的驱动器的控制器或者通信链路控制设备,所述便携式电子设备诸如无线通信设备,诸如无线电话、无线PDA或者便携式计算机。这一配置的典型客户机设备包括客户机电路、集成电路或者模块,其耦合至主机并且与之驻留在同一设备中,并且耦合至如移动电话和/或便携式音频呈现系统,或者一些可选类型的输入系统或设备中的高分辨率屏幕之类的内部视频显示器。
附图说明
下面参考附图详细说明本发明的其它特征和优点,以及本发明各种实施例的结构和操作。在这些附图中,相同的标号一般表示相同,功能上类似和/或结构上类似的元件或处理步骤,并且元件首次出现的附图用标号中最左边的数字来表示。
图1A示出了本发明的实施例能够工作的基本环境,包括与便携式计算机或其他数据处理设备结合使用的微型显示器设备或投影仪的使用。
图1B示出了本发明的实施例能够工作的基本环境,包括与无线收发器结合使用的微型显示器设备或投影仪和音频呈现元件的使用。
图1C示出了本发明的实施例能够工作的基本环境,包括用在与便携式计算机中的内部显示器设备或音频呈现设备的使用。
图1D示出了了本发明的实施例能够工作的基本环境,包括在无线收发器中使用内部显示器或音频呈现元件的使用。
图2示出了具有主机和客户机互连的移动数字数据接口的总体概念。
图3示出了用于实现从客户机设备到主机设备的数据传送的分组结构。
图4示出了MDDI链路控制器的使用,以及在主机和客户机之间经由类型1接口的物理数据链路导线传递的信号类型。
图5示出了MDDI链路控制器的使用,以及在主机和客户机之间经由类型2、3、4型接口的物理数据链路导线传递的信号类型。
图6示出了用于实现所述接口协议的帧和子帧的帧结构。
图7示出了用于实现所述接口协议的分组的通用结构。
图8示出了子帧报头分组的格式。
图9示出了填充符分组的格式和内容。
图10示出了视频流分组的格式。
图11A-11E示出了图10中使用的视频数据格式描述符的格式和内容。
图12示出了数据的打包的和未打包的格式的使用。
图13示出了音频流分组的格式。
图14示出了数据的按字节对准且打包的PCM格式的使用。
图15示出了用户定义的流分组的格式。
图16示出了色彩映射分组的格式。
图17示出了反向链路封装分组的格式。
图18示出了客户机能力分组的格式。
图19示出了键盘数据分组的格式。
图20示出了指示设备数据分组的格式。
图21示出了链路关闭分组的格式。
图22示出了客户机请求和状态分组的格式。
图23示出了位块传送分组的格式。
图24示出了位图区域填充分组的格式。
图25示出了位图图案填充分组的格式。
图26示出了通信链路数据通道分组的格式。
图27示出了接口类型切换请求分组的格式。
图28示出了接口类型确认分组的格式。
图29示出了执行类型切换分组的格式。
图30示出了正向音频通道启用分组的格式。
图31示出了反向音频采样速率分组的格式。
图32示出了数字内容保护开销分组的格式。
图33示出了透明色彩启用分组的格式。
图34示出了往返行程延迟测量分组的格式。
图35示出了往返行程延迟测量分组期间事件的时序。
图36示出了用于实现本发明的CRC生成器和校验器的示例性实现方式。
图37A示出了图36所示装置发送数据分组时CRC信号的时序。
图37B示出了图36所示装置接收数据分组时CRC信号的时序。
图38示出了没有竞争的典型服务请求的处理步骤。
图39示出了在链路重启序列开始之后维持(assert)的典型服务请求与链路启动之间进行竞争的处理步骤。
图40示出了如何使用DATA-STB编码来传输数据序列。
图41示出了可用于在主机中根据输入数据生成DATA和STB信号,然后在客户机中恢复数据的电路。
图42示出了可用于实现一个实施例的驱动器和终端电阻。
图43示出了由客户机采用以便保证来自主机的服务的安全,以及由主机提供这种服务的步骤和信号电平。
图44示出了Data0、其它数据线(DataX)和选通线(Stb)上的跃迁(transition)之间的相对间隔。
图45示出了当主机传送分组之后禁用主机驱动器时会出现的,响应中存在的延迟。
图46示出了主机启用主机驱动器传送分组时会出现的,作为响应而存在的延迟。
图47示出了主机接收器输入端正在传送的数据的时序与选通脉冲前后沿之间的关系。
图48示出了反向数据时序引发的切换特性和相应的客户机输出延迟。
图49示出了能够使用状态机实现同步的信号处理步骤和条件的高级图表。
图50示出了在采用MDDI的系统中正向路径和反向路径上信号处理遇到的典型延迟量。
图51示出了临界的往返行程延迟测量。
图52示出了反向链路数据速率的变化。
图53绘出了反向速率除数的值随正向链路数据速率变化的图形表示。
图54A和54B示出了接口操作中进行的步骤。
图55示出了处理分组的接口装置的概况。
图56示出了正向链路分组的格式。
图57示出了类型1的链路接口中的传播延迟和偏离(skew)的典型值。
图58示出了对于经由所述接口的示例性信号处理而言,在类型1链路上的Data(数据)、Stb(选通)和Clock(时钟)恢复时序。
图59示出了类型2、3或4链路接口中传播延迟和偏离的典型值。
图60A、60B和60C示出了两个数据信号和MDDI_Stb之间相对时序的不同可能性,分别对应于理想情况、提早情况和推迟情况。
图61示出了类型1/类型2接口所用示例性连接器的接口管脚分配。
图62A和62B分别示出了类型1和类型2接口可能的MDDI_Data和MDDI_Stb波形。
图63示出了能够使用状态机实现同步的可选的信号处理步骤和条件的高级图表。
图64示出了一系列时钟周期与各种反向链路分组位的时序以及除数值之间的相对时序。
图65示出了示例性的错误代码传送处理。
图66示出了可用于错误代码传送处理的装置。
图67A示出了用于代码重载的错误代码传送处理。
图67B示出了用于代码接收的错误代码传送处理。
图68A示出了主机启动的唤醒的处理步骤。
图68B示出了客户机启动的唤醒的处理步骤。
图68C示出了带有竞争的主机和客户机启动的唤醒的处理步骤。
图69示出了请求VCP特征分组的格式。
图70示出了VCP特征应答分组的格式。
图71示出了VCP特征应答列表的格式。
图72示出了设置VCP特征分组的格式
图73示出了请求有效参数分组的格式。
图74示出了有效参数应答分组的格式。
图75示出了阿尔法光标图像能力分组的格式。
图76示出了阿尔法光标透明度映射分组的格式。
图77示出了阿尔法光标图像偏移分组的格式。
图78示出了阿尔法光标视频流分组的格式。
图79示出了可缩放视频流能力分组的格式。
图80示出了可缩放视频流设置分组的格式。
图81示出了可缩放视频流确认分组的格式。
图82示出了可缩放视频流分组的格式。
图83示出了请求特定状态分组的格式。
图84示出了有效状态应答列表分组的格式。
图85A示出了分组处理延迟参数分组的格式。
图85B示出了分组延迟参数列表项的格式。
图86示出了个人显示器能力分组的格式。
图87A示出了客户机错误报告分组的格式。
图87B示出了错误报告列表项的格式。
图88示出了客户机标识分组的格式。
图89示出了可选显示器能力分组的格式。
图90示出了寄存器访问分组的格式。
图91A-91C示出了使用两个显示器缓冲器来减少可视赝像(visible artifacts)。
图92示出了显示刷新快于图像传送的两个缓冲器。
图93示出了显示刷新慢于图像传送的两个缓冲器。
图94示出了显示刷新比图像传送快得多的两个缓冲器。
图95示出了显示刷新快于图像传送的三个缓冲器。
图96示出了显示刷新慢于图像传送的三个缓冲器。
图97示出了显示刷新快于图像传送的一个缓冲器。
图98示出了经由串级链(daisy-chain)和集线器的主机-客户机连接。
图99示出了经由集线器和串级链的组合连接的客户机设备。
图100示出了色彩映射。
图101示出了漏电流分析。
具体实施方式
I.概述
本发明总的目的在于提供一种移动显示数字接口(MDDI,MobileDisplay Digital Interface),如下所述,它能够得到或者提供具有性价比高、低功耗的传送机制,这种传送机制使用“串行”类型的数据链路或者通道,能够在主机设备和如显示器元件的这种客户机设备之间的近距离通信链路上实现高速或者非常高速的数据传送。这一机制适于利用小型连接器和细软电缆来实现,这些小型连接器和细软电缆特别适合于把内部(至外壳或者支架)显示器元件或者输入设备连接至中央控制器,或者把如可佩带的微型显示器(护目镜或者投影仪)之类的外部显示器元件或设备连接至便携式计算机、无线通信设备或者娱乐设备。
尽管术语移动和显示与所述协议的命名相关联,但是应该理解,这仅仅是为了便于让本领域中研究接口和协议的技术人员容易地理解标准的名称。然而,在阅读以下给出的实施例后,很容易理解的是,许多与非移动性和非显示相关的应用也会得益于应用本协议和所得到的接口结构,而MDDI标记并不意味着对本发明的特性或用途或其实施例施加任何限制。
本发明的实施例的一个优点是为数据传送提供一种技术,它复杂度低、成本低、可靠性高,非常适合于使用环境,并且非常稳定,同时保持了非常高的灵活性。
可以将本发明的实施例用于各种情况,以便把通常用于音频、视频或者多媒体应用的大量数据从生成或储存这种数据的主机或者源设备以高速率传递或者传送到客户机显示器或者呈现设备。下面讨论的一个典型应用是从便携式计算机、无线电话或调制解调器向可视显示器设备的数据传送,其中可视显示器设备例如为小型视频屏幕或可佩带的微型显示器用品(micro-display appliance),比如护目镜形式或者包含小型投影透镜和屏幕的头盔形式,或者在这种部件内从主机向客户机设备的数据传送。也就是说,从处理器到内部屏幕或其它呈现元件,并且从各种内部输入设备或者采用客户机的外部输入设备到安装在内部的(一起置在同一个设备外壳或者支撑结构内)主机。
MDDI的特性或属性不依赖于具体的显示或呈现技术。无论数据的内部结构,还是数据或其执行的命令的功能方面如何,MDDI都是用于以高速率传送数据的高灵活性机制。它允许调节正在传送的分组的时序以适应特定客户机设备的特性,例如针对某些设备的独特显示需求的特性,或者为满足某些A-V系统组合音频和视频的要求的特性,或者针对如游戏操纵杆、触摸盘等等的某些输入设备的特性。这种接口不需要了解采用的是什么显示器元件或者客户机设备,只要它们遵循所选的协议即可。另外,总的串行链路数据或数据速率能够在几个数量级上改变,这就使得通信系统或者主机设备的设计者能够对成本、功率要求、客户机设备的复杂程度以及客户机设备的更新速率进行优化。
这种数据接口主要用于经由“有线”信号链路或者小型电缆传送大量高速率数据。然而,某些应用也可以利用无线链路,包括基于光的链路,只要将这些链路配置成使用为这一接口协议开发的相同分组和数据结构,并且能够以足够低的功耗或者复杂性来实现所期望的传送水平,以便保持实用性。
II.环境
在图1A和1B中可以看到典型的应用,其中示出了分别与显示器设备104和106以及音频再现系统108和112传递数据的便携式或者膝上型计算机100和无线电话或者PDA设备102。另外,图1A示出了与较大的显示器或者屏幕114或者图像投影仪116的潜在连接,为了清楚,仅仅在一个图中示出,但是其也可以与无线设备102相连。无线设备有可能目前正在接收数据或者已经在存储元件或设备中预先储存了一定量的多媒体类型数据,以便稍候呈现给无线设备的最终用户来观看和/或倾听。由于大多数时间使用典型的无线设备来进行语音和简单文本的通信,所以它具有相当小的显示屏和简单的音频系统(扬声器)来向设备102的用户传递信息。
计算机100具有非常大的屏幕,但是还缺少外部音响系统,并且仍达不到诸如高清晰度电视或者电影屏幕之类的其它多媒体呈现设备的水平。使用计算机100是出于说明的目的,本发明也可以使用其它类型的处理器、交互式视频游戏或者消费电子设备。计算机100能够采用无线调制解调器或者其它嵌入设备来进行无线通信,或者根据需要使用电缆或者无线链路与这种设备相连,但是不局限于此。
这样做不足以使得更加复杂或者“丰富”的数据的呈现提供有益或令人愉快的体验。因此,该行业正在开发其它机制和设备来向最终用户呈现信息并且提供所期望的享受或积极体验的最低水平。
正如先前所述的那样,已经开发或者目前正在开发几种类型的显示器设备来向设备100的最终用户呈现信息。例如,一个或多个公司已经开发了多组可佩带的护目镜,用于在设备用户的眼睛前方投影图像以便呈现可视显示。正确定位的时候,这种设备可以有效地“投射”一个虚拟图像,就像用户眼睛感觉到的那样,这个图像比提供视觉输出的元件大得多。也就是说,非常小的投影元件使得用户的眼睛“看到”的图像比利用典型LCD屏幕等等可能看到的图像大得多。使用较大的虚拟屏幕图像还能够使用远高于利用更加有限的LCD屏幕显示器所能获得的分辨率的图像。其它显示器设备可以包括但不局限于小型LCD屏幕或者各种平板显示器元件、用于将图像投射在表面上的投影透镜和显示驱动器等等。
还存在连接至无线设备102或计算机100或者与它们的使用相关联的附加元件,以便向其它用户或者向其它设备呈现输出,其中所述其它设备还把信号传送到其它地方或者储存信号。例如,可以把数据储存在快闪存储器中,以光学形式,例如使用可写CD介质,储存或者储存在诸如磁带记录器的磁介质上或类似设备中,供以后使用。
另外,许多无线设备和计算机目前具有内置MP3音乐解码能力,以及其它先进的声音解码器和系统。通常,便携式计算机利用CD和DVD播放能力,并且有一些还具有小型专用快闪存储器读取器来接收预先记录的音频文件。具有这种能力的问题在于:数字音乐文件许诺能够提供高度增加的特性丰富的体验,但是只有当解码和播放处理能够跟上时才可实现。这对于数字视频文件也是一样。
为了帮助声音再现,图1A中示出了外部扬声器114,其还附带有诸如超低音扬声器或者用于前后方声音投射的“环绕声”扬声器之类的附加元件。同时,将扬声器或者耳机108示出为嵌入支架或者图1B的微型显示器设备106的机制的形式示出。众所周知,还可以使用包括功率放大或者声音成形设备的其它音频或者声音再现元件。
在任何情况下,如上所述,当人们希望经由一个或多个通信链路110从数据源向最终用户传送高质量或者高分辨率图像数据和高质量音频信息或者数据信号时,要求高数据速率。也就是说,传送链路110显然是数据通信过程中潜在的瓶颈,就象早先讨论的那样,并且由于当前的传送机制无法实现通常期望的高数据速率,所以限制了系统性能。如上所述,例如对于1024×1024像素的较高图像分辨率、每像素24~32位的色彩浓度并且处于30fps的数据速率来说,数据速率能够接近超过755Mbps的速率或者更高。另外,这种图像可以作为多媒体呈现的一部分来呈现,该多媒体呈现包括音频数据以及处理交互式游戏或通信、或者各种命令、控制或信号的潜在附加信号,这进一步增加了数据量和数据速率。
此外显而易见的是,建立数据链路所需的电缆或者互连越少,意味着与显示器相关联的移动设备越易于使用,并且越可能被更多的用户采用。在通常使用多个设备来建立完全的音频-视频体验的情况下,尤为如此,并且随着显示器和音频输出设备质量水平的提高而更为突出。
涉及视频屏幕以及其它输出或者输入设备方面的上述以及其它改善的其它典型应用可以从图1C和1D中看到,其中示出了分别与“内部”显示器设备134和144以及音频再现系统136和146传递数据的便携式或者膝上型计算机130以及无线电话或者PDA设备140。
在图1C和1D中,用整个电子设备或者产品的小切开(cut-away)部分来示出设备的一部分中的一个或多个内部主机和控制器的位置,通过整个电子行业目前使用的某些已知类型的转动铰链,通用通信链路(此处分别为138和148)把这些内部主机和控制器连接到具有相应客户机的视频显示器元件或者屏幕。人们可以看出,这些传送所涉及的数据量要求大量导线来构成链路138和148。由于并行接口或者其它已知接口技术的类型可用于传送这种数据,因此据估计,这种通信链路具有接近于90个或更多的导线,以便满足现在对利用这种设备上的先进的彩色和图形接口、显示器元件的不断增长的需要。
但是,这种更高数据速率超出了当前用于传送数据的可用现有技术。就每单位时间需要传送的原始数据量而言,并且就制造可靠的低成本的实用传送机制而言,均是如此。
所需要的是这样一种用来在呈现元件和数据源之间的数据传送链路或者通信路径上以高速率传送数据的技术、结构、装置或方法,从而实现一贯低功耗、重量轻并且尽可能简单和经济的电缆结构。本申请人已经开发了一种新的技术、方法和装置来实现这些以及其它目的,以便使一系列移动式、便携式乃至固定位置的设备能够以非常高的数据速率向所期望的显示器、微型显示器或者音频传送元件传送数据,同时维持所期望的低功耗和低复杂性。
III.高速率数字数据接口系统体系结构
为了创建并且高效地利用新的设备接口,已经配制了使用低功率信号来提供很高的数据传送速率的信号协议和系统体系结构。所述协议基于分组和公共帧结构或者链接起来以便形成协议的结构,以用于传递预选数据集或者数据类型以及施加在接口上的命令或者操作结构。
A.概述
把经由MDDI链路连接或者通信的设备称为主机和客户机,所述客户机通常是某些类型的显示器设备,但是也可以考虑其它输出和输入设备。在由主机启用时,从主机到显示器的数据沿正向传送(称为正向业务或者链路),从客户机到主机的数据沿反向传送(称为反向业务或者链路)。在图2中示出的基本结构中说明这些。在图2中,主机202使用双向通信通道206与客户机204相连,所述双向通信通道是按照包括正向链路208和反向链路210的形式示出的。然而,这些通道是由公共导线集合形成的,其中这些公共导线集合的数据传送可在正向和反向链路操作之间有效切换。这样能够极大地减少导线数量,立即解决了在诸如移动式电子设备的低功耗环境下进行高速数据传送的当前方法所面对的许多问题之一。
如同其它地方讨论的那样,所述主机包括能够得益于使用本发明的多种类型的设备之一。例如,主机202可以是具有手持、膝上型或者类似移动计算设备的形式的便携式计算机,它也可以是个人数字助理(PDA)、寻呼设备或者多种无线电话或者调制解调器之一。作为选择,主机202可以是便携式娱乐或者呈现设备,如便携式DVD或者CD播放器,或者是游戏设备。
此外,所述主机可以作为主机设备或者控制元件而存在于各种其它广泛使用或者规划的商业产品中,这些产品与客户机之间需要建立高速通信链路。例如,主机可用于以高速率从视频记录设备向基于存储的客户机传送数据以改善响应,或者向高分辨率的大屏幕传送数据以便呈现。结合有板上清点(onboard inventory)或计算系统和/或与其它家庭设备的蓝牙连接的家电,如冰箱,当在互联网或者蓝牙连接的模式下工作时,具有改善了的显示器能力,或者在电子计算机或者控制系统(主机)存在于室内其它地方的时候,降低了室内显示器(客户机)和小键盘或者扫描仪(客户机)的连线需要。总体上讲,本领域技术人员会了解,各种各样的现代电子设备和家电将得益于使用这种接口,而且通过利用新增加的或现有的连接器或者电缆中可用的有限数量的导线来实现信息的更高数据速率传输能够翻新旧式设备。
同时,客户机204可以包括用于向最终用户呈现信息或者从用户向主机呈现信息的各种设备。例如,并入护目镜或者眼镜的微型显示器、嵌入帽子或者头盔的投影设备、嵌入诸如车辆的窗户或者挡风玻璃中的小型屏幕乃至全息元件、或者用于呈现高质量声音或者音乐的各种扬声器、头戴耳机或者音响系统。其他呈现设备包括用于呈现会议信息或电影和电视图像的投影仪或投影设备。另一实例是使用触摸板或者敏感设备、语音识别输入设备、安全扫描仪,以及其他能够被调用以从设备或系统用户处传递大量信息,其中该设备或系统用户具有来自用户的除触摸和声音以外的不太实际的“输入”。此外,计算机和车辆配件或台式机配件的扩展坞(docking station)和无线电话的持有者也可以作为对于最终用户或其他设备和装置的接口设备,并且可以利用客户机(如鼠标的输出或输入设备)或主机来帮助传送数据,特别是在涉及高速网络的情况下。
然而,本领域技术人员会很容易认识到,本发明不局限于这些设备,市场上还有许多其它设备供使用,这些设备或者以储存和传送的方式,或者以播放时呈现的方式,向最终用户提供高质量图像和声音。本发明在各种元件或者设备之间提高数据吞吐量方面十分有用,从而能够适应用于实现所期望的用户体验所需的高数据速率。
可以将本发明的MDD接口和通信信号协议用来简化设备内(内部模式)的主机处理器、控制器或电路组件(例如)和设备或设备外壳或结构中的显示器之间的互联(称为内部模式),以降低这些连接的成本或复杂度以及相关功率和控制要求或这些连接的约束条件,并且提高可靠性,而不仅仅连接到或用于外部元件、设备或装置(外部模式)。
由此接口结构使用的每一信号对上总的串行链路数据速率可以在多个数量级上改变,这一点允许系统或设备设计者易于对成本、功率、实现方式的复杂性和显示器更新速率进行优化。MDDI的属性不依赖显示器或其他呈现设备(目标客户机)的技术。可以容易地调节经由接口传送的数据分组的时序,以适应特定客户机的特性,该客户机如显示器设备、音响系统、存储器和控制元件,或者适应音频-视频系统的组合时序要求的特性。虽然这样做允许系统消耗尽可能小的功率,但是它并不要求各客户机具有帧缓冲器以便至少在一定级别使用MDDI协议。
B.接口类型
所述MDD接口被构想为能够处理在通信和计算机行业中可以找到的多少有些不同的至少四个或者更多的接口的物理类型。将这些类型的接口简单标记为类型1、类型2、类型3类型4,当然本领域技术人员也可以根据所针对的具体应用或与之相关的行业而应用其它标记或者名称。例如,简单音频系统使用少于复杂多媒体系统的连接,并且可以不同地引用如“通道”的特性等等。
所述类型1接口被配置成6线(6-wire)或其他类型导线或传导元件的接口,这种接口使其适用于移动式或者无线电话、PDA、电子游戏和诸如CD播放器或者MP3播放器的便携式媒体播放器,以及类似设备或在类似类型的电子消费技术上所使用的设备。在一个实施例中,一个被配置成8线(导线)接口的接口可更加适用于膝上型计算机、笔记本或者台式个人计算机以及类似设备或应用,这些设备不要求快速的数据更新,也没有嵌入式MDDI链路控制器。这种接口类型还能够通过使用额外的双线通用串行总线(USB)接口来区别此接口类型,其中的USB非常适用于支持在大多数个人计算机上常见的现存操作系统或者软件支持。
类型2、类型3和类型4接口适用于高性能客户机或设备,并且使用带有额外的双绞线类型导线的更大的复杂电缆来为数据信号提供适当的屏蔽和低损耗传送。
类型1接口传递包括显示、音频、控制和有限信令信息的信号,并且通常用于移动式客户机或者不要求高分辨率全速率视频数据的客户机设备。在30fps外加5.1声道音频的情况下,类型1接口可以容易地支持SVGA分辩率,并且在最小配置中,总计只使用三个线对,两对用于数据传输,一对用于功率传送。这种类型的接口主要用于如移动无线设备的设备,这种设备内通常没有USB主机端进行连接和传送信号。在这种配置中,所述移动无线设备是MDDI主机设备,并且充当用于控制来自所述主机的通信链路的“主控设备”,其中所述主机通常向客户机发送数据(正向业务或者链路)以用于呈现、显示或者播放。
在这种接口中,通过向客户机发送特殊的命令或者分组类型,主机能够在该主机处接收来自客户机的通信数据(反向业务或者链路),从而允许客户机在指定的持续时间段内占据总线(链路),并且把数据作为反向分组发送到主机。这些内容在图3中示出,其中称为封装分组的分组类型(将在下面讨论)用来支持该传送链路上的反向分组传送,以创建所述反向链路。分配给主机用来轮询客户机的数据的时间间隔由主机预先确定,并且该时间间隔是基于每一指定应用的要求。在没有USB端口用来传送来自客户机的信息或者数据时,这种类型的半双工双向数据传送是特别有益的。
能够显示HDTV类型或者类似高分辨率的高性能显示器要求1.5Gbps左右速率的数据流以支持全运动视频。所述类型2接口通过并行传输2位来支持高数据速率,所述类型3通过并行传输4位来支持,而类型4接口并行传送8位。类型2和类型3使用与类型1相同的电缆和连接器,但是能够工作在两倍和四倍的数据速率上以便支持便携式设备上的更高性能的视频应用。类型4接口适用于极高性能的客户机或者显示器,并且需要包含附加双绞线数据信号的稍大电缆。
通常,通过协商议定所能使用的最高数据速率,由MDDI使用的协议允许类型1、2、3和4的主机中的每一个与类型1、2、3和4的客户机中的任意一个进行通信。将可以称为最小能力设备的能力或者可用特征被用来设置链路的性能。通常,即使是主机和客户机均能够是使用类型2、类型3或者类型4接口的系统,二者也都以类型1接口开始工作。然后,主机确定目标客户机的能力,并且协商议定切换到或重新配置操作到类型2、类型3或类型4中的一个模式,只要其对于特定的应用合适即可。
对于主机而言,通常能够使用正确的链路层协议(下文进一步讨论)并且通常在任何时候都逐级下降或者再次重新配置操作到较慢模式以便节省功耗,或者逐级上升到较快模式来支持如高分辨率显示内容的更高速度传送。例如,当系统从如电池的电源切换至交流电源时,或者当显示媒体源切换到更低或者更高分辨率格式时,主机可以改变接口类型,或者可以将这些或者其它条件或者事件的组合认为是改变接口类型或者传送模式的基础。
系统还能够在一个方向上使用一种模式而在另一个方向上使用另一模式来传递数据。例如,可以将类型4接口模式用于以高速率传送数据给显示器,而从如键盘或者指示设备这种外围设备向主机设备传送数据时则使用类型1模式。本领域普通技术人员会明白,主机和客户机能够以不同速率传递输出数据。
MDDI协议的用户常常可以将“外部”模式和“内部”模式区分开来。外部模式描述的是利用该协议和接口把一个设备中的主机连接到该设备外部的且距离该设备最多2米左右的客户机。在这种情况下,主机还可以向外部客户机送电,以便使两个设备都易于在移动环境下工作。内部模式描述的是主机与同一设备内部包含的客户机相连,例如处于公共外壳或者支架或者某种结构内。一个实例可以是无线电话或者其它无线设备内、或者便携式计算机或者游戏设备内的应用,其中客户机是显示器或者显示驱动器,或如键盘或触摸板的输入设备,或音响系统,而主机是中央控制器、图形引擎或者CPU元件。与外部模式应用相反,由于在内部模式应用中客户机位于非常靠近主机的地方,所以在这种结构中通常不要求将电源连接至客户机。
C.物理接口结构
图4和5中示出了用于在主机和客户机设备之间建立通信的设备或者链路控制器的一般配置。在图4和5中,所示出的MDDI链路控制器402和502安装在主机设备202中,并且所示出的MDDI链路控制器404和504安装在客户机设备204中。如前所述,主机202使用包括一系列导线的双向通信通道406与客户机204相连。如下所述,主机和客户机链路控制器两者都可以使用单一电路设计制作为集成电路,所述设计可以被设置、调节或者编程以作为主机控制器(驱动器)或者客户机控制器(接收器)来进行响应。由于需要更大规模地制造单个电路设备,这样做的成本更低。
在图5中,所示出的MDDI链路控制器502安装在主机设备202’中,并且所示出的MDDI链路控制器504安装在客户机设备204’中。如前所述,主机202′使用包括一系列导线的双向通信通道506与客户机204′相连。如上所述,主机和客户机链路控制器两者都可以使用单个电路设计来加以制造。
在图4和5中还说明在主机和如显示器设备之类的客户机之间经由MDDI链路或者所使用的物理导线来传递的信号。如图4和5所示,用于经由MDDI传送数据的主要路径或者机制使用标记为MDDI_Data0+/-和MDDI_Stb+/-的数据信号。这些信号的每一个均为经由电缆中的差分电线对来传送的低压数据信号。对于通过所述接口发送的每一位,MDDI_Data0对或者MDDI_Stb对上只存在一个跃迁。这是基于电压而非基于电流的传送机制,因此静态电流消耗接近零。主机把MDDI_Stb信号驱动到客户机显示器。
当数据可以经由MDDI_Data对沿正反方向流动时,也就是说它是双向传送路径时,主机是数据链路的主控设备或者控制器。所述MDDI_Data0和MDDI_Stb信号路径按照差分模式工作,以便使抗扰能力最强。这些线路上信号的数据速率是由主机发送的时钟速率来确定的,并且能够在1kbps直到400Mbps或更大的范围内改变。
除了类型1接口的数据对或路径以外,类型2接口还包含一个附加数据对或者导线或者路径,称为MDDI_Data1+/-。除了类型2接口的那些数据对或路径以外,类型3接口包含两个附加数据对或者信号路径,称为MDDI_Data2+/-和MDDI_Data3+/-。除类型3接口的数据对或路径以外,类型4接口包含另外四个数据对或者信号路径,分别称为:MDDI_Data4+/-、MDDI_Data5+/-、MDDI_Data6+/-和MDDI_Data7+/-。在上述接口配置的每一个中,主机可以使用线对或者指定为HOST_Pwr(主机电源)和HOST_Gnd(主机地)的信号来向客户机或者显示器提供电力。如下文将进一步讨论的,如果需要,当正在使用的接口“类型”采用的导线少于在其他模式中可用的或存在的导线时,在某些配置中MDDI_Data4+/-、MDDI_Data5+/-、MDDI_Data6+/-或者MDDI_Data7+/-导线,也可以用于进行电力传送。虽然一些应用存在差异,但电力传送通常为外部模式所使用,内部模式通常不需要电力传送。
下面,按照接口类型,在表I中说明了在各种模式下,经由MDDI链路在主机和客户机(显示器)之间传递的信号的概要。
                                   表I
  类型1HOST_Pwr/GndMDDI_Stb+/-MDDI_Data0+/-可选Pwr可选Pwr可选Pwr可选Pwr   类型2HOST_Pwr/GndMDDI_Stb+/-MDDI_Data0+/-MDDI_Data1+/-可选Pwr可选Pwr可选Pwr可选Pwr   类型3HOST_Pwr/GndMDDI_Stb+/-MDDI_Data0+/-MDDI_Data1+/-MDDI_Data2+/-MDDI_Data3+/-可选Pwr可选Pwr可选Pwr可选Pwr   类型4HOST_Pwr/GndMDDI_Stb+/-MDDI_Data0+/-MDDI_Data1+/-MDDI_Data2+/-MDDI_Data3+/-MDDI_Data4+/-MDDI_Data5+/-MDDI_Data6+/-MDDI_Data7+/-
还应注意的是,用于从主机传送的HOST_Pwr/Gnd连接通常是为外部模式提供的。内部应用或者操作模式通常让客户机直接从其它内部资源接电源,而不使用MDDI来控制电源分布,正如对于本领域普通技术人员显而易见的那样,因此没有在此处进一步详细地描述这种分布。然而,正如本领域普通技术人员将理解的那样,当然能够经由MDDI接口来分配电源以方便例如某种电源控制、同步或者互连。
通常用于实现上述结构和操作的电缆标称为大约1.5米的长度,一般为2米或者更短,并包括三对双绞线导线,每一导线还是多股30AWG线。把箔屏蔽覆盖物包裹或者形成在三对双绞线之上,作为另外的地线(drain wire)。所述双绞线和屏蔽地线导线在显示器连接器中终止,屏蔽层与客户机的屏蔽层连接,还有一个绝缘层,覆盖整个电缆,这些都正如所属技术领域已知的那样。所述电线按以下方式配对:Host_Gnd与Host_Pwr;MDDI_Stb+与MDDI_Stb-;MDDI_Data0+与MDDI_Data0-;MDDI_Data1+与MDDI_Data1-;等等。然而,如本领域已知的那样,可以根据特定的应用,使用各种导线和电缆来实现本发明的实施例。例如,在一些应用中,重的外部覆盖物或金属层可用于包含电缆,而细的、扁平的传导带型结构可能非常适合于其他应用。
D.数据类型和速率
为了实现用于用户体验和应用的有用接口,移动式数字数据接口(MDDI,Mobile Digital Data Interface)支持各种客户机和显示信息、音频转换器、键盘、指示设备和可以集成到移动式显示器设备或者与之协同工作的多种其它输入/输出设备,以及控制信息和它们的组合。所述MDD接口被设计成能够适应各种潜在类型的数据流,这些数据流使用最小数目的电缆或者导线沿正向或者反向链路方向在主机和客户机之间传送。同步流和异步流(更新)都得以支持。只要总计数据速率小于或等于最大的期望MDDI链路速率,许多数据类型的组合都是可能的。这一MDDI链路速率受到最大串行速率和所采用的数据对数目的限制。这些数据速率可以包括但不局限于下面表II和III中列出的那些项。
                             表II
  从主机向客户机传送
  同步视频数据  720×480,12位,30f/s   ~124.5Mbps
  同步立体声音频数据  44.1kHz,16位,立体声   ~1.4Mbps
  异步图形数据  800×600,12位,10f/s,立体声   ~115.2Mbps
  异步控制  最小值   <<1.0Mbps
                            表III
  从客户机向主机传送
  同步语音数据  8kHz,8位   <<1.0Mbps
  同步视频数据  640×480,12位,24f/s   ~88.5Mbps
  异步状态、用户输入等等  最小值   <<1.0Mbps
为了满足未来系统的灵活性要求,所述接口不是固定的,而是可扩展的,因此它可以支持包括用户定义的数据的各种信息“类型”的传送。所支持的数据的具体实例是:全运动视频,具有全屏幕或部分屏幕位图字段的形式或者压缩视频形式的视频;处于低速率以便节省功率并且降低实现成本的静态位图;以多种分辩率或者速率的PCM或者压缩音频数据;指示设备定位和选择,以及针对待定义能力的用户可定义数据。这种数据还可以随控制或状态信息一起传送,以便检测设备能力或设置操作参数。
本发明的实施例推进了用于数据传送的技术,所述技术包括但不局限于:观看电影(视频显示和音频);使用具有有限个人观看的个人计算机(图形显示、有时结合视频和音频);在PC、控制台或者个人设备上玩视频游戏(运动图形显示或者合成的视频和音频);使用视频电话,静态数字图像照相机,或用于拍摄数字视频图像的摄录一体机形式的设备在因特网上“冲浪”(双向低速率视频和音频);使用扩展有投影仪的电话或者PDA来呈现或者与连接至视频监视器、键盘以及鼠标的台式扩展坞扩展连接;以及使用蜂窝电话、智能电话或者PDA,包括无线指示设备和键盘数据,来增强生产力或者用于娱乐。
如下所述的高速数据接口是以经由通信或者传送链路提供大量A-V类型数据的形式而提供的,所述通信或者传送链路通常被配置成电线线路或者电缆类型链路。然而,显而易见,可以调节信号结构、协议、时序或者传送机制以便提供光学或者无线介质形式的链路,只要该链路可以保持所需要的数据传送水平即可。
MDD接口信号把通称为公共帧速率(CFR)的概念用于基本信号协议或者结构。支持使用公共帧速率的思想在于为同时的同步数据流提供同步脉冲。客户机设备可以使用这一公共帧速率作为时间基准。通过减少用于传输子帧报头的开销,低CF速率提高了通道效率。另一方面,高CF速率能够减少等待时间,并且允许将弹性更小的数据缓冲器用于音频采样。本发明的接口的CF速率是可动态编程的,并且可以被设置为适合于特殊应用中使用的多个同步流的多个值之一。也就是说,根据需要,选择所述CF值来最佳地适应给定的客户机和主机结构。
表IV中示出了例如视频或微型显示器之类的应用中很可能使用的同步数据流的每个子帧通常需要的字节数目,这个数目是可调节的或者是可编程的。
                                       表IV
  公共帧速率(CFR)=300Hz
  X   Y   位   帧速率   通道   速率(Mbps)   字节/子帧
  计算机游戏   720   480   24   30   1   248.832   103680
  计算机图形   800   600   24   10   1   115.200   48000
  视频   640   480   12   29.97或者30   1   221.184   92160
  CD音频   1   1   16   44100   2   1.4112   588
  语音   1   1   8   8000   1   0.064   26-2/3
使用简单的可编程M/N计数器结构可以很容易地计算出每子帧的分数字节。例如,通过传送2个27字节的帧,每次后面跟随一个26字节的帧,可以实现对每个CF 26-2/3字节的计数。可以选择更小的CF速率来产生每个子帧的整数字节。然而,一般说来,与较大音频采样FIFO缓冲器所需的区域相比,在用于实现本发明的部分或者所有实施例的集成电路芯片或者电子模块中,用硬件实现简单的M/N计数器需要的区域较小。
说明不同数据传送速率和数据类型的影响的示例性应用是卡拉OK系统。对于卡拉OK系统来说,最终用户或者多个最终用户与音乐视频节目一起演唱。将歌曲的歌词显示在屏幕的某处,通常在屏幕底部,因此,用户知道将演唱的词,并且大致知道歌曲的时间安排。这一应用需要不经常进行图形更新的视频显示,并且把一个或者多个用户语音与立体声音频流混合。
如果人们假定公共帧速率是300Hz,那么每一子帧将包括:经由正向链路至客户机显示器设备的92,160字节的视频内容和588字节的音频内容(在立体声中基于147 16-位采样),以及从麦克风送回到移动式卡拉OK机的平均值为26.67(26-2/3)字节的语音。在主机和显示器(有可能是头带式的)之间发送异步分组。这包括最多768字节的图形数据(四分之一屏幕高度),以及少于约200字节(几字节)用于各种各样的控制和状态命令。
表V示出了对于卡拉OK实例而言,在子帧内如何分配数据。将使用的总速率选择为约279Mbps。稍高于280Mbps的速率允许传送每子帧大约又一400字节的数据,这样就允许利用偶尔出现的控制和状态信息。
                               表V
  元素速率   每个子帧的开销字节   每个子帧的介质字节
  640×480像素,30fps的音乐视频   2*28=56   92160
  640×120像素,1fps的歌词文本10个子帧中更新,1/30秒   28   768
  44,100sps,立体声,16位的CD音频   2*16=32   588
  8,000sps,单声道,8位的语音   28+8+8+(4*16)+(3*27)=125   26.67
  子帧报头   22
  总字节/CF   263   115815
  总速率(Mbps)   (263+115815)*8*300=278.5872
III.(继续)高速率数字数据接口系统体系结构
E.链路层
使用MDD接口高速串行数据信号传送的分组括时间复用分组流,其中这些分组一个接着一个地链接。即使传输设备没有要发送的数据,MDDI链路控制器通常也自动地发送填充符分组,由此维持分组流。因此,简单分组结构的使用能够确保视频和音频信号或者数据流可靠的同步时序。
多组分组包括在称为子帧的信号元素(signal element)或者结构内,而子帧组则包含在称为介质帧的信号元素或者结构内。根据子帧各自的大小和数据传送用途,子帧包含一个或多个分组,而介质帧则包含一个或多个子帧。这里给出的实施例所采用的协议提供的最大子帧大约为232-1或者4,294,967,295字节的量级,而最大介质帧的大小大约为216-1或者65,535个子帧的量级。
特殊的子帧报头分组包含唯一的标识符,该标识符在每一子帧开始时出现,正如下面将讨论的那样。当启动主机和客户机之间的通信时,该标识符还用于获取客户机设备处的帧时序。下面比较详细地讨论链路时序的获得。
通常,显示全运动视频时,每一介质帧更新一次显示屏幕。显示帧速率与介质帧速率相同。根据所需要的应用,链路协议支持整个显示器上的全运动视频,或者仅仅支持由静态图像围绕的全运动视频内容的一个小区域。在某些低功率移动式应用中,诸如观看网页或者电子邮件,只须偶而更新显示屏。在这些情况下,传输单个子帧,然后关闭链路或者撤销链路以便使功耗最小是非常有益的。所述接口还支持诸如立体视觉的效果,并且处理图形图元。
子帧允许系统能够周期性地传输高优先级分组。这样做允许同时发生的同步流与最小量的数据缓存共存。这是提供给显示过程的一个有益实施例,它允许多个数据流(视频、语音、控制、状态、指示设备数据等等的高速通信)基本上共享共同通道。该接口使用相对少数的信号传送信息。该接口还允许存在特定于显示技术动作,诸如用于CRT监视器的水平同步脉冲和消隐间隔(blanking intervals),或其他特定于客户机-技术的动作。
F.链路控制器
图4和5中示出的MDDI链路控制器将按照完全数字化实现方式来制造或者装配,其中不包括用来接收MDDI数据和选通信号的差分线路接收器。然而,例如当制作CMOS型IC时,差分线路驱动器和接收器甚至可以与链路控制器一起在同一数字集成电路中实现。不需要模拟功能或者锁相环(PLL)来进行位恢复或者实现链路控制器的硬件。除包含用于链路同步的状态机的客户机接口之外,主机和客户机链路控制器包含非常类似的功能。因此,本发明的实施例允许创建单个控制器设计或电路,并可以将它配置为主机或者客户机,这有利于实际应用,而且总的来说,这样做可以降低链路控制器的制造成本。
IV.接口链路协议
A.帧结构
图6中示出了用于实现分组传送的正向链路通信的信号协议或者帧结构。如图6所示,把信息或者数字数据组合为公知为分组的元素(element)。继而,多个分组又被组合在一起以形成所谓“子帧”,并且多个子帧又被组合在一起以形成“介质”帧。为了控制帧的形成和子帧的传送,每一子帧从专门预定的分组开始,该分组称为子帧报头分组(SHP)。
所述主机设备选择将用于给定传送的数据速率。主机设备可以基于主机的最大传送能力、由主机从信息源取回(retrieve)的数据,以及客户机或者该数据将要传送到的其它设备的最大能力,而动态地改变此速率。
设计成或者能够与MDDI或者本发明的信号协议协同工作的接收方客户机设备能够由主机进行查询,以便确定该客户机可以使用的最大或者当前最大的数据传送速率,或者可以使用的默认较慢最小速率以及可用的数据类型和所支持的特征。这一信息可以使用显示器能力分组(DCP)来传送,如下文将进一步讨论的那样。所述客户机显示器设备能够使用所述接口以预选最小数据速率或者在最小数据速率范围内传送数据或者与其它设备通信,并且所述主机将使用此范围内的数据速率执行查询以便确定客户机设备的全部能力。
可以在状态分组中向主机传送定义位图属性和客户机的视频帧速率能力的其它状态信息,因此主机可以按照在任何系统限制范围内的实际情况或需要,尽可能高效或优化地配置所述接口。
当在本子帧中没有(更多)将要传送的分组时,或者当主机无法以足以跟上(keep pace)正向链路所选数据传输速率的速率进行传送时,所述主机发送填充符分组。由于每一子帧从子帧报头分组开始,所以前一子帧的末尾包含正好填充前一子帧的分组(很可能是填充符分组)。在承载数据的分组本身缺乏空间的情况下,填充符分组很可能是子帧中最后的分组,或者在紧邻的先前(next previous)子帧的结尾并且在子帧报头分组之前。在主机设备中,控制操作的任务就是确保对于该子帧内待传输的每个分组在子帧中都保留有足够的空间。同时,一旦主机设备开始发送数据分组,主机就必须能够成功地使帧内该大小的分组完整,而不能引起数据欠载(under-run)情况。
在实施例的一个方面中,子帧传输具有两种模式。一种模式是周期性的子帧模式,或者周期性的时元(periodic timing epochs),用于传输实况播送的视频和音频流。在这种模式中,把子帧长度定义为是非零的。第二种模式是异步或者非周期性模式,其中当有新的信息时,才使用帧来把位图数据提供给客户机。这种模式是通过在子帧报头分组中把子帧长度设置为零来定义的。使用周期性模式时,当客户机与正向链路帧结构同步时,可以开始子帧分组接收。这对应于按照下文就图49或图63讨论的状态图定义的“同步中(in sync)”的状态。在异步非周期性子帧模式中,在收到第一子帧报头分组之后开始接收。
B.总体分组结构
下面说明由所述实施例实现的用于规定通信或信令协议或传送数据的方法和手段的分组格式或者结构,应记住的是,所述接口是可扩展的,根据需要可以添加附加分组结构。所述分组就其在接口中的功能,即它们传送的或与之相关的命令、信息、数值或数据而言,被标记为或者分为不同的“分组类型”。因此,对于用于操纵被传送的分组和数据的给定分组,每一分组类型表示一个预定义的分组结构。显而易见,所述分组可以具有预选长度,或者根据各自功能具有可变或者动态可变的长度。所述分组还可以拥有不同的名称,虽然实现的仍然是相同的功能,正如在将协议接受到标准里去的过程中协议发生改变时出现的情况一样。用于各种分组的字节或者字节值被配置成多位(8或16位)无符号整数。所采用的分组概要以及它们的“类型”指定被按照类型顺序列出,并在表VI-1至VI-4中示出。
为了便于举例说明和理解,每一表均给出总体分组结构内的通用“类型”分组。这些分组不暗含或者表示对本发明的某些限制或者其它影响,并且根据需要可以按照多个其它方式来组织所述分组。还指出了认为分组传送有效的方向。
                       表VI-1
                    链路控制分组
  分组名称   分组类型   正向有效   反向有效
  子帧报头分组   15359   x
  填充符分组   0   x   x
  反向链路封装分组   65   x
  链路关闭分组   69   x
  接口类型切换请求分组   75   x
  接口类型确认分组   76   x
  执行类型切换分组   77   x
  正向音频信道启动分组   78   x
  往返行程延迟测量分组   82   x
  正向链路偏离校准分组   83   x
                      表VI-2
                  基本媒体流分组
  分组名称   分组类型   正向有效   反向有效
  视频流分组   16   x   x
  音频流分组   32   x   x
  反向流分组   1-15,18-31,33-35   x   x
  用户定义的流分组   56-63   x   x
  色彩映射分组   64   x   x
  反向音频采样速率分组   79   x
  透明色彩启用分组   81   x
                         表VI-3
                  客户机状态和控制分组
  分组名称   分组类型   正向有效   反向有效
  客户机能力分组   66   x
  键盘数据分组   67   x   x
  指示设备数据分组   68   x   x
  客户机请求和状态分组   70   x
  数字内容保护开销分组   80   x   x
  请求VCP特征分组   128   x
  VCP特征应答分组   129   x
  设置VCP特征分组   130   x
  请求有效参数分组   131   x
  有效参数应答分组   132   x
  请求特定状态分组   138   x
  有效状态应答列表分组   139   x
  分组处理延迟参数分组   140   x
  个人显示器能力分组   141   x
  客户机错误报告分组   142   x
  可缩放视频流能力分组   143   x
  显示器标识分组   144   x
  可选显示器能力分组   145   x
  寄存器访问分组   146   x   x
                            表VI-4
                     高级图形和显示分组
  分组名称   分组类型   正向有效   反向有效
  位块传送分组   71   x
  位图区域填充分组   72   x
  位图图案填充分组   73   x
  读取帧缓冲器分组   74   x
  阿尔法-光标图像能力分组   133   x
  阿尔法-光标透明度映射分组   134   x
  阿尔法-光标图像偏移分组   135   x
  阿尔法-光标视频流分组   17   x
  可缩放视频流能力分组   143   x
  可缩放视频流设置分组   136   x
  可缩放视频流确认分组   137   x
  可缩放视频流分组   18   x
根据本文中的其它讨论可以清楚了解的是,虽然对于外部模式操作而言,反向封装分组、客户机能力分组以及客户机请求和状态分组被认为是非常重要的,甚至在通信接口的许多实施例中是需要的,但是可以认为它们对于内部模式操作而言是可选的。这样做产生了另一类型的MDD接口协议,该协议允许利用缩减的通信分组集合以非常高的速度来传递数据,并且相应地简化控制与时序。
分组具有公共基本结构或者最少字段的总体集合,所述最少字段包括分组长度字段、分组类型字段、数据字节字段和CRC字段,这些内容在图7中示出。如图7所示,分组长度字段包含具有多位或者字节值形式的信息,用于指定分组的总位数,或者指定分组长度字段和CRC字段之间的长度。在一个实施例中,所述分组长度字段包含16位或者2字节宽的无符号整数,它说明分组长度。分组类型字段是又一多位字段,它指明分组内包含的信息的类型。在一个示例性的实施例中,该分组类型字段是16位或者2字节宽、具有16位无符号整数形式的值,并且将这些数据类型说明为显示器能力、切换、视频或者音频流、状态等等。
第三个字段是数据字节字段,它包含在主机和客户机设备之间作为分组的一部分传送或者发送的位或者数据。按照被传送数据的具体类型,为每个分组类型具体定义了数据格式,并且该分组格式可以分割成一系列附加字段,每一个都具有自身的格式要求。也就是说,每一分组类型将具有对这一部分或者字段的已定义格式。最后的字段是CRC字段,它包含在数据字节、分组类型和分组长度字段上计算出来的16位循环冗余校验的结果,该结果用来确认分组中信息的完整性。换言之,该结果是在除CRC字段本身之外的整个分组上计算出来的。客户机通常保存检测到的CRC错误的总计数,并且在客户机请求和状态分组(参见下文)中将此计数报告给主机。
通常,这些字段宽度和组织结构被设计成能使2字节字段在偶数字节边界上对准,4字节字段在4字节边界上对准。这样做允许分组结构易于嵌入主机和客户机的,或者与之相关联的主存储器空间,而不会违反大多数或者通常使用的处理器或者控制电路中遇到的数据类型对准规则。
在传送所述分组期间,字段首先从最低有效位(LSB)开始传输,并且最后以传输最高有效位(MSB)结束。一个以上字节长度的参数首先传输最低有效字节,这样得到的用于传输长度大于8位的参数的位传输模式,与首先传输LSB的较短参数所使用的位传输模式相同。每一分组的数据字段通常按照在下文后续段落定义的顺序来传输,所列出的第一字段首先传输,而最后描述的字段最后传输。在类型1、类型2、类型3或者类型4这些模式中的任意一个模式里,MDDI_Data0信号路径上的数据与接口上传输的字节的‘0’位对准。
当操纵数据来显示时,像素阵列的数据首先按照行,然后按照列来传输,就像电子技术领域中常规执行的那样。换言之,位图中同一行里出现的所有像素按照顺序传输,最左侧的像素首先传输,最右侧的像素最后传输。在一行中最右侧像素传输完之后,然后按照顺序下一像素是下一行最左侧的像素。对于大多数显示器而言,像素的行通常按照自上而下的顺序来传输,但也可以根据需要采用其它配置方式。此外,在处理位图的过程中,常规方法也就是此处遵循的方法是通过将位图左上角标记为位置或者偏移“0,0”来定义基准点的。当分别接近位图的右侧和底部时,用于定义或者确定在位图中的位置的X和Y坐标的值增大。第一行第一列(图像的左上角)从下标值零开始。从显示器用户的角度观看时,朝向图像右侧X坐标的数值增加,朝向图像的底部Y坐标的数值增加。
显示窗是位图的可视部分,即,位图中用户能够在物理显示介质上看见的那部分像素。显示窗和位图经常大小相同。显示窗左上角始终显示位图像素位置0,0。显示窗的宽度对应于位图的X轴,并且显示窗宽度小于或等于相应位图的宽度。窗的高度对应于位图的Y轴,并且显示窗高度小于或等于对应位图的高度。显示窗本身在协议中没有被涉及,这是因为仅仅将它定义为位图的可视部分。
位图和显示窗之间的关系是计算机、电子领域,因特网通信和其他电子相关领域中公知的。因此这里未给出这些原理的进一步讨论或说明。
C.分组定义
1.子帧报头分组
子帧报头分组是每一子帧的第一个分组,并且具有如图8所示的基本结构。子帧报头分组用于主机-客户机同步,每一主机应该能够生成这个分组,同时每一客户机应该能够接收并且解释这个分组。正如可以在图8中看到的那样,通常将这种类型的分组构造为按顺序具有分组长度、分组类型、唯一字、保留1、子帧长度、协议版本、子帧计数和介质帧计数字段。在一个实施例中,通常将这种类型的分组标识为类型15359(十六进制0x3bff)分组,并且使用20字节的预选固定长度,不包括分组长度字段。
所述分组类型字段和唯一字字段均使用2字节值(16位无符号整数)。将这两个字段的4字节组合在一起形成了具有良好的自相关性的32位唯一字。在一个实施例中,实际的唯一字是0x005a3bff,其中低16位作为分组类型首先传输,然后传输最高16位。
保留1字段包含2字节的保留空间以备将来之用,并且在这里一般将其配置成将所有位均置零。此字段的一个目的在于让后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。保留最低有效字节,以表明所述主机是否能够访问多个客户机设备。这个字节保留为零这个值,以表明这个主机只能够与单个客户机设备一起工作。
子帧长度字段包含4字节的信息或者值,用于说明每个子帧的字节数。在一个实施例中,这个字段的长度可以被设置为等于零,以便表明在链路被关闭而进入空闲状态之前,主机将只传输一个子帧。从一个子帧跃迁到下一子帧时,这个字段中的值可以“在工作过程中(on-the-fly)”动态地改变。为了在同步脉冲中进行较小时序调整以便支持同步数据流,这一能力是十分有用的。如果子帧报头分组的CRC无效,那么链路控制器就应该使用已知完好的先前的子帧报头分组的子帧长度来估计当前子帧的长度。
协议版本字段包含2字节,用于说明由主机使用的协议的版本。将协议版本字段设置为‘0’说明正在使用的协议的第一个或者当前版本。当创建了新版本的时候,此值将随时间而改变,并且对于一些版本字段已经更新到值1。正如所公知的那样,版本值很可能或通常遵从包括如MDDI接口的已批准的标准文档的当前版本号。
子帧计数字段包含2字节,指明一个序号,该序号表明自介质帧开始处已经传输的子帧的数目的序号。介质帧的第一子帧的子帧计数为零。介质帧最后子帧具有n-1的值,其中n是每介质帧的子帧数目。子帧计数字段的值等于在前一子帧分组中发送的子帧计数再加1。应注意的是,如果子帧长度被设置为等于零(表明非周期性的子帧),那么子帧计数也必须被设置为等于零。
介质帧计数字段包含4字节(32位无符号整数),用于说明一个序号,该序号表明自正在传送的当前介质项或者数据的开始处,已经传输的介质帧的数目的序号。介质项目的第一介质帧的介质帧计数为零。介质帧计数刚好在每一介质帧的第一子帧之前增加,并且在使用了最大介质帧计数(例如,介质帧数目232-1=4,294,967,295)之后返回零。介质帧计数值通常随时可由主机重置,以便适应最终应用的需求。
2.填充符分组
填充符分组是没有其它信息可以用来在正向或者反向链路上发送时,被传送到客户机设备或从客户机设备传送的分组。建议填充符分组具有最小长度,以便当需要时,在发送其它分组的过程中具有最大的灵活性。在子帧或者反向链路封装分组(参见下文)的结尾,链路控制器设置填充符分组的大小以便填充剩余空间,从而保持分组的完整性。当主机或者客户机没有信息要发送或交换时,所述填充符分组对于保持链路上的时序十分有用。每一主机和客户机都应该能够发送并且接收这个分组,以便有效使用所述接口。
图9中示出了填充符分组的格式和内容的一个示例性的实施例。如图9所示,将这种类型的分组构造为具有分组长度、分组类型、填充符字节和CRC字段。在一个实施例中,通常将这种类型的分组标识为类型0,这在2字节类型字段中表明。填充符字节字段中的位或者字节包括可变数目的全零的位值,以便允许填充符分组具有所期望的长度。最小填充符分组在这个字段中不包含字节。也就是说,所述分组只包括分组长度、分组类型和CRC,并且在一个实施例中,使用6字节的预选固定长度或者分组长度值4。为分组中的所有字节确定所述CRC值,其中包括分组长度,但是在其它分组类型中,该分组长度是被排除的。
3.视频流分组
视频流分组通常携带视频数据来更新显示器设备的通常为矩形的区域。此区域的大小可以像单个像素那么小,或者像整个显示器那么大。可以有几乎无限数目的流被同时显示,但其受系统资源的限制,这是因为视频流分组内包含显示一个流所需要的所有上下文。图10中示出了视频流分组(视频数据格式描述符)的一个实施例的格式。如图10所示,在一个实施例中,将这种类型的分组构造为具有分组长度(2字节)、分组类型、bClient ID、视频数据描述符、像素显示属性、X左沿、Y顶沿、X右沿、Y底沿、X和Y起始、像素计数、参数CRC、像素数据和CRC字段。通常将这种类型的分组标识为类型16,其在2字节类型字段中表明。在一个实施例中,客户机使用客户机能力分组中的RGB、单色和Y Cr Cb能力字段来表明接收视频流分组的能力。
在一个实施例中,bClient ID字段包含为客户机ID保留的2字节信息。由于这是最新开发的通信协议,所以实际的客户机ID仍无法获知或者足以被传送。因此,这个字段中的位通常设置为等于零,直到获知这个ID值为止,当或者这个ID时,可以插入或者使用所述ID值,正如对于本领域技术人员显而易见的那样。对于以下讨论的客户机ID字段通常也执行与此相同的处理。
上述的公共帧概念是用于最小化音频缓冲区大小并且减少等待时间的一种有效方式。然而,对于视频数据来说,可能必需将一个视频帧的像素扩展到介质帧内的多个视频流分组。还可能单个视频流分组中的像素不会正好对应于显示器上完整的矩形窗。对于30帧每秒的示例性视频帧速率来说,每秒有300子帧,这使得每一介质帧有10个子帧。如果每一帧中有480行像素,那么每一子帧中的每一视频流分组将包含48行像素。在其它情况中,视频流分组可能不包含整数个像素行。这对于每一介质帧的子帧数目不能被每一视频帧的行数(亦称视频行)均分的其它视频帧大小而言是这样的。为了有效操作,每一视频流分组通常必须包含整数个像素,即便它未必包含整数个像素行。如果每个像素均大于一个字节,或者如果它们具有如图12所示的分组格式,那么这是非常重要的。
图11A-11E中示出了如上所述的用于实现示例性视频数据描述符字段的操作所采用的格式和内容。在图11A-11E中,视频数据格式描述符字段包含具有16位无符号整数形式的2字节,用于说明当前分组的当前流中像素数据内每一像素的格式。不同的视频流分组可能使用不同的像素数据格式,即视频数据格式描述符中使用不同的值,同样,流(显示区域)可以在工作过程中(on-the-fly)改变其数据格式。像素数据格式应该符合按照客户机能力分组定义的至少一个客户机有效格式分组。只有在当前分组的像素格式暗含在特定视频流的使用期内,不再继续使用不变的格式的时候,视频数据格式描述符才定义当前分组的像素格式。
图11A至11D说明视频数据格式描述符是如何编码的。正如这些图中所使用的那样,并且在这个实施例中,当位[15:13]等于‘000’时,如图11A所示,那么所述视频分组括单色像素阵列,其中每一像素的位数由视频数据格式描述符字的位3至位0定义。通常保留位11至4以便将来使用或者用于其它应用,并且在这种情况下被设置为零。当位[15:13]换成等于值‘001’时,如图11B所示,那么所述视频分组括一个彩色像素阵列,其中每一个像素都通过色彩映射(调色板)来指定一种颜色。在这种情况下,视频数据格式描述符字的位5至0定义每一像素的位数,并且位11至6通常被保留下来以供将来使用或应用,并且这些位被设置为等于零。当位[15:13]换成等于值‘010’时,如图11C所示,那么所述视频分组括彩色像素阵列,其中每一像素红色的位数由位11至8定义,每一像素绿色的位数由7至4位定义,并且每一像素蓝色的位数由位3至0来定义。在这种情况下,每一像素中位数的总数是红色、绿色和蓝色所使用的位数和。
然而,当位[15:13]换成等于值或字串‘011’时,如图11D所示,那么视频分组括具有4:2:2的YCbCr格式的带有亮度和色度信息的一个视频数据阵列,其中每一像素亮度(Y)的位数由位11至8定义,Cb分量的位数由位7至4定义,Cr分量的位数由位3至0定义。每一像素中位数总数是红色、绿色和蓝色所使用的位数和。Cb和Cr分量是以Y分量一半的速率发送。另外,这个分组的像素数据部分中的视频采样被组织为:Cbn,Yn,Crn,Yn+1,Cbn+2,Yn+2,Crn+2,Yn+3,...,其中Cbn和Crn与Yn和Yn+1相关联,并且Cbn+2和Crn+2与Yn+2和Yn+3相关联等等。
Yn,Yn+1,Yn+2和Yn+3是单个行中从左至右的四个连续像素的亮度值。如果在视频流分组所定位的窗口的一行中存在有奇数个像素(X右沿-X左沿+1),那么对应于每一行中最后像素的Y值后面将跟随有下一行第一像素的Cb值,并且不发送该行中最后像素的Cr值。建议使用Y Cb Cr格式的窗口具有偶数个像素的宽度。分组中的像素数据应该包含偶数个像素。在像素数据的最后像素对应于视频流分组报头中指定的窗口里的行的最后像素的情况下,即,当像素数据中最后像素的X位置等于X右沿时,像素数据可以包含奇数或者偶数个像素。
当位[15:13]换成等于‘100’时,那么视频分组括一个间隔(Bayer)像素阵列,其中每一像素的位数由视频数据格式描述符字的位3至0定义。像素组图案由位5和4定义,如图11E所示。像素数据的顺序可以是水平或者垂直的,处于行或列中的像素可以按照向前或向后的顺序来发送,并且由位8至6来定义。位11至9应该被设置为零。间隔(Bayer)格式中像素组内的四个像素的组类似于在一些显示技术中经常称作耽搁像素的情况。然而,在间隔(Bayer)格式中的一个像素只是该像素组拼接(mosaic)图案中四个彩色像素中的一个。
对于图中示出的所有五个格式来说,指定为“P”的位12说明像素数据采样是打包的像素数据,还是字节对准的像素数据。这个字段中的值‘0’表明像素数据字段中的每一像素都与MDD接口字节边界字节对准。值‘1’表明对像素数据中每一像素内的每一像素和每一颜色打包,从而相对于像素内的先前像素或色彩没有未使用位。图12更加具体地示出了字节对准的像素格式和打包的像素数据格式之间的差别,其中可以清楚地看到字节对准数据留有数据子帧的未使用部分,这与打包像素格式中未留有未使用部分的情况相对。
用于特定显示窗的介质帧的第一个视频流分组中的第一个像素会进入由X左沿和Y顶沿定义的流窗口的左上角,而所接收的下一像素则放置在同一行的下一像素位置,等等。在介质帧的该第一个分组中,X起始值通常等于X左沿,而Y起始值通常等于Y顶沿。在对应于同一屏幕窗口的后续分组中,通常将X和Y起始值设置为屏幕窗口中该像素的位置,该像素位置通常跟随在在先前子帧中传输的视频流分组中发送的最后一个像素之后。
4.音频流分组
音频流分组携带将通过客户机音频系统播放的或者用于独立的音频呈现设备的音频数据。可以把不同的音频数据流分配给音响系统中独立的音频通道,例如:左前、右前、中央、左后和右后,这取决于正使用的音频系统的类型。为包含增强的空间声信号处理的耳机提供全部音频通道。客户机使用客户机能力分组的音频通道能力和音频采样速率字段来表明接收音频流分组的能力。图13中说明音频流分组的格式。
如图13所示,在一个实施例中将这种类型的分组构造为具有分组长度、分组类型、bClient ID、音频通道ID、保留1、音频采样计数、每个采样的位及其打包、音频采样速率、参数CRC、数字音频数据和音频数据CRC字段。在一个实施例中,通常将这种类型的分组标识为类型32分组。
bClient ID字段包含为客户机ID保留的2字节信息,如先前使用的那样。保留1字段包含被保留下来以备将来之用的2字节,并且在这里配置为将所有位设置为零。
每个采样的位及其打包字段包含具有8位无符号整数形式的1个字节,用于说明音频数据的打包格式。通常采用的格式是使用位4至0来定义每一PCM音频采样的位数。然后,位5说明数字音频数据采样是否被打包。图14中示出了已打包音频采样和字节对准音频采样之间的差异,这里使用10-位采样。值‘0’表明数字音频数据字段中的每一PCM音频采样与MDDI接口字节边界字节对准,并且值‘1’表明每一连续PCM音频采样被相对于先前音频采样而打包。通常只有当位4至0(每一PCM音频采样的位数)定义的值不是8的倍数时,这一位才是有效的。位7至6被保留以供将来使用,并且通常设置为零。
5.保留的流分组
在一个实施例中,根据遇到的各种应用的要求,分组类型1至15、18至31和33至55为待定义的保留的流分组,以供将来版本或者分组协议变化之用。与其它技术相比,这是使MDD接口更加灵活并且面对不断变化的技术和系统设计依然十分有用的一部分。
6.用户定义的流分组
保留称为类型56至63的8个数据流类型,以便用于专有的应用,这些数据流类型可以由设备制造商来定义以便与MDDI链路一同使用。这些分组被称为用户定义的流分组。这种分组可以用于任何目的,但主机和客户机只有在非常了解或者知道这种使用结果的情况下才应该采用这种分组。将对这些分组类型的流参数和数据的具体定义留给实现这种分组类型或者探寻其用途的具体设备制造商。用户定义的流分组的某些示例性用途为传送测试参数和测试结果、工厂校准数据和专有的特殊数据。图15中示出了用于一个实施例的用户定义的流分组的格式。如图15所示,将这种类型的分组构造为具有分组长度(2字节)、分组类型、bClient ID号、流参数、参数CRC、流数据和流数据CRC字段。
7.色彩映射分组
色彩映射分组说明用于向客户机呈现色彩的色彩映射查找表的内容。某些应用可能要求比单个分组能够传输的数据量更大的色彩映射。在这种情况下,通过使用如下所述的偏移和长度字段,可以传送多个色彩映射分组,每个色彩映射分组均具有色彩映射的不同子集。图16示出了一个实施例中的色彩映射分组的格式。如图16所示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、色彩映射项目计数、色彩映射偏移、参数CRC、色彩映射数据和数据CRC字段。在一个实施例中,通常将这种类型的分组标识为类型64分组(视频数据格式和色彩映射分组),如分组类型字段(2字节)中所说明的那样。客户机使用客户机能力分组中的色彩映射大小和色彩映射宽度字段来表明接收色彩映射分组的能力。
8.反向链路封装分组
在一个示例性的实施例中,使用反向链路封装分组沿反向传送数据。发送一个正向链路分组,并且大约在这个分组的中部改变MDDI链路操作或者让它转向(传送方向),从而能够沿反向发送分组。图17示出一个实施例中的反向链路封装分组的格式。如图17所示,将这种类型的分组构造为具有分组长度、分组类型、hCLient ID、反向链路标志、反向速率除数、转向(Turn-Around)1长度、转向2长度、参数CRC、全零1、转向1、反向数据分组、转向2和全零2。在一个实施例中,通常将这种类型的分组标识为类型65分组。对于外部模式来说,每一主机必须能够生成这个分组并且接收数据,每一客户机必须能够接收并且向主机发送数据。这个分组的实现方式对于内部模式来说是可选的,但是反向链路封装分组用于主机接收来自客户机的数据。
当发送反向链路封装分组时,MDDI链路控制器按照特定方式运行。MDD接口具有始终由作为链路控制器的主机驱动的选通信号。主机的行为好像它正在为反向链路封装分组的转向和反向数据分组部分的每一位传输零。所述主机在两个转向期间并且在分配给反向数据分组的期间,在每一位的边界处翻转(toggle)MDDI选通信号。(这与传输全零数据的行为相同。)
所述主机在由转向1指定的时间段期间禁用其MDDI数据信号线路驱动器,并且客户机在由转向2字段指定的时间段之后的驱动器重新启用字段期间重新启用其线路驱动器。所述客户机读取转向长度参数,并且在转向1字段的最后一位之后,立即向主机驱动数据信号。也就是说,如下文以及其它地方的分组内容描述中说明的那样,在MDDI选通脉冲的某些上升沿处,所述客户机把新数据按照时钟输入(clock into)链路中。客户机使用分组长度和转向长度参数来了解其可以用来向主机发送分组的时间长度。当没有数据要发送到主机时,客户机可以发送填充符分组或者把数据线驱动至零状态。如果数据线被驱动为零,那么所述主机将其解释为具有零长度(不是一个有效长度)的分组,并且在当前反向链路封装分组期间,主机不再接收来自客户机的任何分组。
在全零1字段期间,所述主机把MDDI_Data信号驱动为逻辑零电平,并且在转向2字段开始以前,也就是在全零2字段期间,客户机在至少一个反向链路时钟周期内把MDDI数据线驱动为逻辑零电平。这样做使数据线在转向1和转向2字段的时间段期间保持在确定的状态中。如果客户机没有更多分组要发送,那么它甚至可以在把数据线驱动为逻辑零电平之后禁用它们,这是因为在反向数据分组字段的剩余时间,或者在约16个或更多正向链路字节的期间,休眠偏置电阻(其它地方讨论)使数据线保持在逻辑零电平。
在一个实施例中,可以利用客户机请求和状态分组的反向链路请求字段通知主机所述客户机在反向链路封装分组中需要把数据送回到主机的字节数。主机试图通过在反向链路封装分组中分配至少该字节数来允许所述请求。主机可以在子帧中发送一个以上的反向链路封装分组。客户机几乎可以在任何时候发送客户机请求和状态分组,所述主机将把反向链路请求参数解释为一个子帧中请求的字节总数。
9.客户机能力分组
主机必须知道与之通信的客户机(显示器)的能力,以便按照通常最优或者所需要的方式来配置主机至客户机的链路。建议在获得正向链路同步之后,显示器把客户机能力分组发送给主机。当由主机使用反向链路封装分组中的反向链路标志来请求时,应该考虑这种分组的传输。客户机能力分组用来通知主机客户机的能力。对于外部模式来说,每一主机必须能够接收这个分组,而每一客户机必须能够发送这个分组以便完全地利用这一接口和协议。这个分组的实现方式对于内部模式而言是可选的,这是由于在这种情况下,如显示器、键盘或其他输入/输出设备之类的客户机的能力应在制造的时候或者装配到某些类型的单个部件或单元时,就应该已经被明确定义并且为主机所知。
图18中示出了一个实施例中客户机能力分组的格式。如图18所示,对于本实施例,将这种类型的分组构造为具有分组长度、分组类型、保留cClient ID,协议版本、最小协议版本、数据速率能力,接口类型能力,可选显示器数目,保留1,位图宽度、位图高度、显示窗宽度,显示窗高度,色彩映射大小,色彩映射RGB宽度,RGB能力,单色能力、保留2,Y Cr Cb能力、间隔(Bayer)能力,阿尔法光标图像平面,客户机特征能力、最大视频帧速率,最小视频帧速率,最小子帧速率,音频缓冲区深度,音频通道能力,音频采用速率能力,音频采样分辨率,麦克风音频采样速率,麦克风采样速率能力,键盘数据格式,指示设备数据格式,内容保护类型,制造商名称,产品代码,保留3,序号,制造星期,制造年份,以及CRC字段。在一个示例性的实施例中,通常将这种类型的分组标识为类型66分组。
10.键盘数据分组
键盘数据分组用来从客户机设备向主机发送键盘数据。无线(或者有线)键盘可以与各种显示器或者音频设备结合使用,包括但不限于头带视频显示器/音频呈现设备。键盘数据分组把从几个已知的类似键盘的设备收到的键盘数据中继至主机。这个分组还可以在正向链路上使用以便向键盘发送数据。客户机使用客户机能力分组中的键盘数据字段来表明发送和接收键盘数据分组的能力。
图19中示出了键盘数据分组的格式,并且包含来自或者用于键盘的可变字节数量的信息。如图19所示,将这种类型的分组构造为具有分组长度、分组类型、bClient ID、键盘数据格式、键盘数据和CRC字段。在这里,通常将这种类型的分组标识为类型67分组。
所述bClient ID是一个保留字段,如前所述,并且对分组的所有字节执行CRC。键盘数据格式字段包含用于描述键盘数据格式的2字节值。位6至0应该与客户机能力分组中的键盘数据格式字段相同。这个值不等于127。位15至7被保留以供将来使用,因此目前将它们设置为零。
11.指示设备数据分组
指示设备数据分组用作一种用来将来自无线鼠标或者其它指示设备的位置信息从客户机发送给主机的方法、结构或手段。还可以使用这个分组在正向链路上将数据发送给指示设备。图20中示出了指示设备数据分组的示例性格式,并且该分组格式包含来自或者用于指示设备的可变字节数的信息。如图20所示,将这种类型的分组构造为具有分组长度、分组类型、bClient ID,指示设备格式、指示设备数据和CRC字段。在一个示例性的实施例中,通常在1个字节的类型字段中,将这种类型的分组标识为类型68分组。
12.链路关闭分组
将链路关闭分组从主机发送到客户机,作为一种用于表明MDDI数据和选通脉冲将被关闭,并且进入低功耗“休眠”状态的方法和手段。在将静态位图从移动通信设备发送到显示器之后,或者当暂时没有进一步的信息需要从主机传送到客户机时,这个分组对关闭链路并且节省功率十分有用。当主机再次发送分组时,恢复正常操作。休眠之后发送的第一分组是子帧报头分组。图21中示出了客户机状态分组的格式。如图21所示,将这种类型的分组构造为具有分组长度、分组类型和CRC和全零字段。在一个实施例中,通常在1个字节的类型字段中将这种类型的分组标识为类型69分组,并且使用3字节的预选固定长度。
在低功率休眠状态中,所述MDDI_Data驱动器被禁用为高阻状态,并且使用可以由客户机过度驱动的高阻偏置网络把MDDI_Data信号拉至逻辑零状态。在休眠状态中,由所述接口使用的选通信号被设置为逻辑零电平以便最小化功耗。如其它地方讨论的那样,主机或者客户机都可以让MDDI链路从休眠状态中“唤醒”,这是本发明的关键性进步和优势。
13.客户机请求和状态分组
主机需要来自客户机的少量信息,以便使其可以按照总的来说最优的方式来配置主机至客户机的链路。建议客户机向主机每一子帧发送一个客户机状态分组。客户机应该把这个分组作为反向链路封装分组中的第一个分组来发送,以便确保将该分组可靠地发送至主机。当由主机使用反向链路封装分组中的反向链路标志来请求该分组时,也可实现该分组的转送。客户机请求和状态分组可用于向主机报告错误和状态。每个主机应该能够接收该分组,并且每个客户机应该能够发送该分组,以便恰当和优化地使用该MDD接口协议。
图22中示出了客户机请求和状态分组的格式。如图22所示,将这种类型的分组构造为具有分组长度、分组类型、cClient ID,反向链路请求、能力变化、图像故障(Graphics Bugs)、CRC错误计数和CRC字段。在1个字节的类型字段中,通常将这种类型的分组标识为类型70分组,并且使用12个字节的预选固定长度。
所述反向链路请求字段可以用来通知主机所述客户机在反向链路封装分组中需要的字节数目,以便其把数据发送回主机。主机应该试图通过在反向链路封装分组中分配至少这个数目的字节来允许所述请求。主机可以在子帧中发送一个以上的反向链路封装分组以便接纳数据。客户机可以在任何时候发送客户机请求和状态分组,并且所述主机可将该反向链路请求参数解释为一个子帧中请求的字节总数。下文示出如何将反向链路数据送回至主机的具体实例的其它细节。
14.位块传送分组
位块传送分组提供了用于沿任意方向滚动显示器区域的方法。具有这一能力的显示器将在客户机能力分组的显示器特征能力指示符字段的位0中报告所述能力。图23中示出了一个实施例的位块传送分组的格式。如图23所示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、左上X值、左上Y值、窗口宽度、窗口高度、窗口X移动、窗口Y移动和CRC字段。通常将这种类型的分组标识为类型71分组,并且使用15个字节的预选固定长度。
这些字段用来说明待移动的窗口左上角的坐标的X和Y值,待移动的窗口的宽度和高度,以及窗口将要分别水平并且垂直移动的像素数目。后两个字段的正值使得窗口将向下向右移动,而负值让窗口向上向左移动。
15.位图区域填充分组
位图区域填充分组提供了很容易地把显示区域初始化为单色的手段、结构或方法。具有这一能力的显示器将在客户机能力分组的客户机特征能力指示符字段的位1中报告所述能力。图24中示出了位图区域填充分组的格式的一个实施例。如图24所示,在这种情况下,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、左上X值、左上Y值、窗口宽度、窗口高度、数据格式描述符、像素区域填充值和CRC字段。在1个字节的类型字段中,通常将这种类型的分组标识为类型72分组,并且使用17个字节的预选固定长度。
16.位图图案填充分组
位图图案填充分组提供了很容易地把显示区域初始化为预选图案的手段和结构。具有这一能力的显示器将在客户机能力分组的客户机特征能力指示符字段的位2中报告所述能力。填充图案的左上角与待填充的窗口的左上角对准,除非水平或垂直图案偏移为非零。如果待填充的窗口比填充图案更宽或者更高,那么可以多次水平或者垂直地重复所述图案以便填充窗口。根据需要将最后重复的图案的右侧或底部截断。如果窗口比填充图案小,那么可以截断填充图案的右侧或者底部以便适应所述窗口。
如果水平图案偏移为非零,那么在窗口左边和该左边加上该水平图案偏移之间的像素用该图案最右侧的像素填充。该水平图案偏移将小于该图案的宽度。类似地,如果垂直图案偏移为非零,则在该窗口顶边和该顶边加上垂直图案偏移之间的像素用该图案的最下侧的像素填充。该垂直图案偏移小于该图案高度。
图25中示出了位图图案填充分组的格式的一个实施例。如图25所示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、左上X值、左上Y值、窗口宽度、窗口高度、图案宽度、图案高度、水平图案偏移、垂直图案偏移、数据格式描述符、参数CRC、图案像素数据和像素数据CRC字段。在1个字节类型字段中,通常将这种类型的分组标识为类型73分组。
17.通信链路数据通道分组
通信链路数据通道分组提供了用于使如PDA的这种具有高级计算能力的客户机与如蜂窝电话或者无线数据端口设备的这种无线收发器通信的结构、手段或方法。在这种情况下,所述MDDI链路充当通信设备和具有移动式显示器的计算设备之间的便利高速接口,其中这种分组在设备的操作系统的数据链路层传送数据。例如,如果网页浏览器、电子邮件客户机或者整个PDA被嵌入移动式显示器中,就可以使用这个分组。具有这一能力的显示器将在客户机能力分组的客户机特征能力指示符字段的位3中报告所述能力。
图26中示出了通信链路数据通道分组的一个实施例的格式。如图26所示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、参数CRC、通信链路数据和通信数据CRC字段。在一个实施例中,在类型字段中,通常将这种类型的分组标识为类型74分组。
18.接口类型切换请求分组
接口类型切换请求分组提供了一种手段、方法或结构,其使得主机能够请求客户机或者显示器从现有或者当前模式切换至类型1(串行)、类型2(2位并行)、类型3(4位并行)或者类型4(8位并行)模式。在主机请求特定模式以前,它应该通过检查客户机能力分组的显示器特征能力指示符字段的位6和7,来确认客户机能够工作在所期望的模式下。图27中示出了接口类型切换请求分组格式的一个实施例。如图27所示,将这种类型的分组构造为具有分组长度、分组类型、接口类型、保留1和CRC字段。通常将这种类型的分组标识为类型75分组,并且使用4字节的预选固定长度。
19.接口类型确认分组
接口类型确认分组由客户机发送,并提供使得客户机能够确认接收到接口类型切换请求分组的手段、方法和结构。所请求的模式,即:类型1(串行)、类型2(2位并行)、类型3(4位并行)或者类型4(8位并行)模式,作为这个分组中的一个参数返回给主机。图28中示出了接口类型确认分组的一个实施例的格式。如图28所示,将这种类型的分组构造为具有分组长度、分组类型、cClient ID、接口类型、保留1和CRC字段。通常将这种类型的分组标识为类型76分组,并且使用4字节的预选固定长度。
20.执行类型切换分组
执行类型切换分组是用于使主机命令客户机切换至这个分组中指定的模式的一种手段、结构或方法。这个模式与接口类型切换请求分组和接口类型确认分组先前请求并且确认的模式相同。在发送这个分组之后,主机和客户机应该切换到达成一致的模式。客户机可能在模式改变期间失去并且重新获得链路同步。图29中示出了执行类型切换分组的一个实施例的格式。如图29所示,将这种类型的分组构造为具有分组长度、分组类型、分组类型、保留1和CRC字段。在1个字节的类型字段中,通常将这种类型的分组标识为类型77分组,并且使用4字节的预选固定长度。
21.正向音频通道启用分组
这个分组提供使得主机能够启用或者禁用客户机中的音频通道的结构、方法或手段。这一能力十分有用,因为在主机没有音频输出时,客户机(如显示器)可以使音频放大器或者类似电路元件断电以便节省功率。仅仅使用音频流的存在与否作为指示符显然较难实现。客户机系统上电时的缺省状态是启用所有音频通道。图30中示出了正向音频通道启用分组的一个实施例的格式。如图30所示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、音频通道启用掩码和CRC字段。在1个字节的类型字段中,通常将这种类型的分组标识为类型78分组,并且使用4字节的预选固定长度。
22.反向音频采样速率分组
这个分组使得主机能够启用或者禁用反向链路音频通道,并且设置这一流的音频数据采样速率。所述主机选择在客户机能力分组中被定义为有效的采样速率。如果主机选择无效的采样速率,那么客户机不会向主机发送音频流,并且在客户机错误报告分组中可向主机发送适当的错误、错误值、或错误信号。主机可以通过把采样速率设置为值255来禁用反向链路音频流。当客户机系统最初上电或者连接时假定的缺省状态为禁用反向链路音频流。图31中示出了反向音频采样速率分组的一个实施例的格式。如图31所示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、音频采样速率、保留1和CRC字段。通常将这种类型的分组标识为类型79分组,并且使用4字节的预选固定长度。
23.数字内容保护开销分组
这个分组提供了一种使得主机和客户机能够交换与正使用的数字内容保护方法相关的消息的结构、方法或手段。目前设想了两种类型的内容保护,数字传输内容保护(DTCP)或者高带宽数字内容保护系统(HDCP),并且为将来可替代的保护方案名称保留了空间。所使用的方法由这个分组中的内容保护类型参数说明。图32中示出了数字内容保护开销分组的一个实施例格式。如图32所示,将这种类型的分组构造为具有分组长度、分组类型、bClient ID、内容保护类型、内容保护开销消息和CRC字段。通常将这种类型的分组标识为类型80分组。
24.透明色彩启用分组
透明色彩启用分组是一种用来说明在显示器中哪些色彩是透明的,并且启用或者禁用利用透明色彩来显示图像的结构、方法或手段。具有这一能力的显示器在客户机能力分组的客户机特征能力指示符字段的位4中报告该能力。当具有透明色彩值的像素被写入位图时,色彩不会从先前值发生变化。图33中示出了透明色彩启用分组的格式。如图33所示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、透明色彩启用、保留1、阿尔法光标标识符、数据格式描述符、透明像素值和CRC字段。在1个字节的类型字段中,通常将这种类型的分组标识为类型81分组,并且使用10个字节的预选固定长度。
25.往返行程延迟测量分组
往返行程延迟测量分组提供了一种用来测量从主机到客户机(显示器)的传播延迟加上从客户机(显示器)回到主机的延迟的结构、方法或手段。这一测量固有地包括线路驱动器和接收器以及互联子系统中存在的延迟。这一测量用来设置上文大体描述的反向链路封装分组中的转向延迟和反向链路速率除数参数。当MDDI链路以用于特定应用的最大速度运行时,这种分组是最有用的。可以在类型1模式下以较低数据速率发送分组,从而增加往返形成延迟测量的范围。所述MDDI_Stb信号的行为是如同在如下字段发送全零数据:两个保护时间、全零和测量周期。这样做使得MDDI_Stb以一半的数据速率翻转,因此可以在测量周期中在客户机里将MDDI_Stb用作周期性的时钟。
在一个实施例中,客户机通常通过客户机能力分组的客户机特征能力指示符字段中的位18来指示支持往返行程延迟测量分组的能力。建议所有客户机都支持往返行程延迟测量,但主机也可能基于最大电缆延迟和最大驱动器和接收器延迟来获知最差情况下的往返行程延迟。主机还可在内部模式下预先获MDDI链路的往返行程延迟,这是因为这是使用该接口的设备的已知设计要素(导线长度、电路类型和特性,等等)中的一个方面。
图34中示出了往返行程延迟测量分组的格式。如图34所示,在一个实施例中,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、参数CRC、保护时间1、测量周期、全零和保护时间2字段。通常将这种类型的分组标识为类型82分组,并且使用159位的预选固定长度。
图35中示出了在往返行程延迟测量分组期间发生的事件的时序。在图35中,主机发送往返行程延迟测量分组,这通过其后跟随有全零和保护时间1字段的参数CRC和选通对准字段的出现来示出。在所述分组到达客户机显示器设备或者处理电路以前,延迟3502发生。当客户机收到所述分组时,客户机在尽可能准确到实际的测量周期的开始时刻传输0xff、0xff、和30个字节的0x0模式(pattern),其中该测量周期开始是由客户机确定的。客户机开始发送这一序列的实际时间距从主机的角度看的测量周期的开始有延迟。这一延迟量基本上是所述分组用来通过线路驱动器和接收器以及互联子系统(电缆、导线)进行传送所花费的时间。对于把该模式从客户机传送回到主机来说,经历了类似的延迟量3504。
为了准确地确定往返于客户机的信号的往返行程延迟时间,主机对测量周期开始之后出现的正向链路位时间周期的数目进行计数,直到检测到0xff、0xff、和30个字节的0x0序列的开头到达为止。这一信息用来确定往返信号从主机传递至客户机并且再返回的时间量。然后,将这一数量的一半左右归因于到达客户机的单向信号通道所产生的延迟。
在两个保护时间期间,主机和客户机都将线路驱动到逻辑零电平,以保持MDDI_DATA线路处于所定义的状态。在两个保护时间期间,主机和客户机的启用和禁用时间使得MDDI_Data信号对于任何有效的往返行程延迟时间都处于有效低电平。
26.正向链路偏离校准分组
正向链路偏离校准分组允许客户机或者显示器针对MDDI_Data信号相对于所述MDDI_Stb信号的传播延迟差异来校准自己。在没有延迟偏离补偿的情况下,最大数据速率通常是受限的以解决这些延迟中潜在的最坏情况下的变化。通常只有当正向链路数据速率被配置成50Mbps左右或者更低的速率时,才发送这个分组。在发送这个分组以便校准显示器之后,数据速率可以逐级提高至50Mbps以上。如果在偏离校准过程期间数据速率被设置得过高,那么显示器有可能同步到一个该位周期的假信号(alias)上,这可以令延迟偏离补偿被设置为偏离一个以上的位时间,从而导致数据时钟错误。在发送正向链路偏离校准分组之前,选择接口的最高数据速率类型或者最大可能性的接口类型,从而校准所有存在的数据位。
图56中示出了正向链路偏离校准分组格式的一个实施例。如图56所示,将这种类型的分组构造为具有分组长度(2字节)、分组类型、hClient ID、参数CRC、全零、校准数据序列和CRC字段。在类型字段中,通常将这种类型的分组标识为类型82分组,并且在一个实施例中具有515的预选长度。
虚拟控制面板
虚拟控制面板(VCP)的使用允许主机设置客户机中的某些用户控制。通过允许由主机来调节这些参数,客户机中的用户界面得以简化,这是因为可以通过主机软件而不是通过客户机中的一个或多个微处理器来生成允许用户调节诸如音量或显示亮度之类的参数的屏幕画面。主机具有读取客户机中的参数设置,并且确定每一控制的有效值范围的能力。客户机具有向主机返回其所能调节的控制参数的报告的能力。
通常指定的控制代码(VCP代码)和相关联的数据值被用于说明客户机中的控制和设置。MDDI规范中的VCP代码被扩展为16位,以便在分组定义中保持正确的数据字段对准,并且将来支持补充值,所述补充值对于这一接口或者将来的增强是唯一的。
27.请求VCP特征分组
请求VCP特征分组提供了一种使主机请求具体控制参数或者所有有效控制参数的当前设置的手段、机制或方法。通常,客户机利用VCP特征应答分组中适当的信息来响应VCP分组。在一个实施例中,客户机使用客户机能力分组中的客户机特征能力指示符字段的位20来表明支持请求VCP特征分组的能力。
图69中示出了一个实施例中请求VCP特征分组的格式。如图69所示,将这种类型的分组构造为具有分组长度、分组类型、hClientID、MCCS VCP代码和CRC字段。在一个实施例中,通常将这种类型的分组标识为类型128,这是在2字节的类型字段中表明的。分组长度说明分组中不包括分组长度字段的字节总数,并且对于这种类型的分组而言,该分组长度通常被固定在8字节的长度。
所述hClient ID字段被保留以供未来实现中客户机ID使用并通常设置为零。所述MCCS VCP代码字段包括2字节的信息,用于说明MCCS VCP控制代码参数。0至255的范围内的值令VCP特征应答分组以单个项返回,该单个表项为在对应于指定的MCCS代码的VCP特征应答列表中的表项。为65535(0xffff)的MCCS VCP代码用于请求一个具有VCP特征应答列表的VCP特征应答分组,所述VCP特征应答列表包含由客户机支持的每个控制的特征应答列表项。对于这个字段而言,256至65534的值被保留以供将来使用并且目前没有使用。
28.VCP特征应答分组
VCP特征应答分组提供了一种使客户机利用具体控制参数或者所有有效控制参数的当前设置来响应主机请求的手段、机制或方法。总体而言,客户机响应于请求VCP特征分组而发送所述VCP特征应答分组。这个分组对确定具体参数的当前设置,确定具体控制的有效范围,确定客户机是否支持具体的控制或者确定由客户机支持的控制集合十分有用。如果发送涉及客户机中没有实现的具体控制的请求VCP特征,那么利用与包含适当错误代码的未实现控制相对应的单个VCP特征应答列表项来返回VCP特征应答分组。在一个实施例中,所述客户机使用客户机能力分组的客户机特征能力指示符字段的位20来表明支持VCP特征应答分组的能力。
图70中示出了一个实施例中的VCP特征应答分组的格式。如图70所示,将这种类型的分组构造为具有分组长度、分组类型、cClientID、MCCS版本、应答序号、VCP特征应答列表和CRC字段。在一个实施例中,通常将这种类型的分组标识为类型129,如在2字节的类型字段中表明的那样。
所述cClient ID字段包含保留给客户机ID的信息。这个字段被保留以供将来使用并且通常设置为零。MCCS版本字段包含2字节的信息,用于说明由客户机实现的VESA MCCS规范的版本。
2字节的应答序号字段包含说明由客户机返回的VCP特征应答分组的序号的信息或者数据。所述客户机,响应于具有值为65535的MCCS控制代码的请求VCP特征分组,返回一个或多个VCP特征应答分组。所述客户机可以经由多个VCP特征应答分组扩展特征应答列表。在这种情况下,客户机向每一连续分组分配序号,并且响应单个请求VCP特征分组而发送的VCP特征应答分组的序号是从零开始并且每次加1。最后的VCP特征应答分组中的最后一个VCP特征列表项应该包含等于0xffff的MCCS VCP控制代码值,以便确定所述分组是最后一个并且包含返回的分组组的最高序号。如果响应于请求VCP特征分组只发送了一个VCP特征应答分组,那么该单个分组中的应答序号就为零,并且VCP特征应答列表包含具有等于0xffff的MCCS VCP控制代码的记录。
列表中特征数目字段包含2字节,用于说明该分组的VCP特征应答列表中的VCP特征列表项的数目,而所述VCP特征应答列表字段则是包含一个或多个VCP特征应答列表项的一组字节。图71中示出了一个实施例中单个VCP特征应答列表项的格式。
如图71所示,每一VCP特征应答列表项的长度是12字节,并且包括MCCS VCP代码、结果代码、最大值和当前值字段。2字节的MCCS VCP代码字段包含说明与这一列表项相关联的MCCS VCP控制代码参数的数据或者信息。对于本实施例,只是在VESA MCCS规范版本2和后来版本中定义的控制代码值被认为是有效的。2字节的结果代码字段包含用于说明错误代码的信息,所述错误代码与关于所指定的MCCS VCP控制的信息请求相关。这个字段中的值‘0’意味着没有错误,而值‘1’则意味着指定的控制未在客户机中实现。这个字段的其它值2至65535目前被保留以便将来使用以及用于实现所述领域设想的其它应用,但是现在不使用。
4字节的最大值字段包含32位无符号整数,用于说明可以设置为指定的MCCS控制的最大可能值。如果所请求的控制没有在客户机中实现,就将这一值设置为零。如果返回值在长度上小于32位(4字节),就把所述值换算为32位整数,将最高有效(未使用)字节设置为零。4字节的当前值字段包含用于说明指定的MCCS VCP连续(C)或者不连续(NC)控制的当前值的信息。如果所请求的控制没有在客户机中实现,或者实现了所述控制但是是表(T)数据类型,就将这一值设置为零。如果就每一VESA MCCS规范而言,返回值在长度上小于32位(4字节),就把所述值换算为32位整数,将最高有效(未使用)字节设置为零。
29.设置VCP特征分组
设置VCP特征分组提供用于使主机为客户机中连续和不连续的控制设置VCP控制值的手段、机制或者方法。在一个实施例中,所述客户机使用客户机能力分组的客户机特征能力指示符字段的位20来表明支持设置VCP特征分组的能力。
图72中示出了一个实施例中设置VCP特征分组的格式。如图72所示,将这种类型的分组构造为具有分组长度、分组类型、hClientID、MCCS VCP代码、列表中值的数量、控制值列表和CRC字段。通常将这种类型的分组标识为类型130,如2字节的类型字段中所示那样,且该类型的分组不包括分组长度字段是20字节长。
所述hClient ID字段再次使用2字节值来说明或者充当客户机ID。将这个字段保留下来以供将来使用并且目前将其设置为零。所述MCCS VCP代码字段使用2字节的信息或者值来说明要调节的MCCS VCP控制代码参数。所述2字节的列表中值的数量字段包含用于说明控制值列表中存在的16位值的数目的信息或者值。所述控制值列表通常包含一项,除非MCCS控制代码涉及客户机中的表。在不涉及表的控制的情况下,所述控制值列表将包含一个值,该值用于说明将要写入由MCCS VCP代码字段指定的控制参数的新值。对于涉及表的控制来说,控制值列表中数据的格式是由指定的MCCSVCP代码的参数描述来指定的。如果所述列表包含大于一个字节的值,那么首先传输最低有效字节,这与其它地方定义的方法相一致。最后,2字节的CRC字段包含分组中所有字节的16位CRC,其中包括分组长度在内。
30.请求有效参数分组
请求有效参数分组用作请求该客户机返回有效参数应答分组的手段或者机制,该有效参数应答分组包含由所指定的不连续(NC)或者表(T)控制支持的一参数列表。这个分组只应当指定不连续的控制或者涉及客户机中的表的控制,而不指定用于指定所有控制的值为65535(0xffff)的MCCS VCP代码值。如果指定了不支持或者无效的MCCS VCP代码,就在有效参数应答分组中返回适当的错误值。在一个实施例中,所述客户机使用客户机能力分组的客户机特征能力指示符字段的位20来表明支持请求有效参数分组的能力。
图73中示出了一个实施例中的请求有效参数分组的格式。如图73所示,将这种类型的分组构造为具有分组长度、分组类型、hClientID、MCCS VCP代码和CRC字段。在一个实施例中,通常将这种类型的分组标识为类型131,如在2字节的类型字段中表明的那样。
如2字节分组长度字段中表明的分组长度通常被设置为具有分组中的字节总数,但不包括分组长度字段的8个字节。所述hClient ID再一次指定客户机ID,但是正如对于本领域普通技术人员显而易见的那样,目前被保留下来以供将来之用,并且被设置为零。2字节MCCS VCP代码字段包含用于说明待查询的不连续的MCCS VCP控制代码参数的值。这个字段中的值应该对应于客户机中实现的不连续的控制。值256至65535(0xffff)通常被保留下来或者被认为是无效的,并且被认为是错误响应中未实现的控制。
31.有效参数应答分组
有效参数应答分组是响应于请求有效参数分组而发送的。它用作识别不连续的MCCS VCP控制或者用于返回表的内容的控制的有效设置的手段、方法或机制。如果所述控制涉及客户机中的表,那么VCP参数应答列表仅仅包含被请求的顺序表值的具体列表。如果所述表的内容无法正好放进单个有效参数应答分组,就可以由客户机发送具有顺序的应答序号的多个分组。在一个实施例中,客户机使用客户机能力分组的客户机特征能力指示符字段的位20来表明支持有效参数应答分组的能力。
主机可以按照以下方式请求表的内容:主机发送一个包含必要或者需要的参数的设置VCP特征分组,如读/写参数、LUT偏移和RGB选择;然后由主机发送用于说明所需控制的请求有效参数分组;然后客户机返回包含该表数据的一个或多个有效参数应答分组。这一操作序列执行与MCCS操作模型中描述的表读取功能相似的功能。
如果客户机不支持具体的客户机参数,那么在一个实施例中,这个分组的相应字段将包含值255。对于客户机中使用的参数来说,相应的字段应该包含客户机中的参数值。
图74中示出了用于一个实施例的有效参数应答分组的格式。如图74所示,将这种类型的分组构造为具有分组长度、分组类型、cClientID、MCCS VCP代码、响应代码、应答序号、列表中值的数量、VCP参数应答列表和CRC字段。对于一个实施例而言,通常将这种类型的分组标识为类型132,如在2字节的类型字段中表明的那样。
所述cClient ID字段被保留给将来的客户机ID,正如根据上文讨论可以获知的那样,而3字节的MCCS VCP代码分组则包含用于说明由这个分组描述的不连续MCCS VCP控制代码参数的值。如果请求有效参数分组指定了无效的MCCS VCP控制代码,那么用响应代码字段中的适当值来指定这个字段中同样的无效参数值。如果所述MCCS控制代码是无效的,那么VCP参数应答列表将具有零长度。
所述响应代码字段包含2字节的信息或者值,它说明与请求相关的响应的属性,所述请求为关于所指定的MCCS VCP控制的信息的请求。如果这个字段中的值等于0,那么认为对于该数据类型而言不存在错误,并且发送了序列中的最后的有效参数应答分组,该分组具有最高应答序号。如果这个字段中的值等于1,那么认为不存在错误,但是将要发送具有更高序号的其它有效参数应答分组。如果这个字段中的值等于2,那么认为所指定的控制在客户机中没有实现。如果这个字段中的值等于3,那么所指定的控制不是不连续控制(它是一个连续控制且始终具有从零到其最大值的所有值的有效集合)。等于4至65535的这个字段的值被保留下来以供将来使用并且通常不使用。
2字节的应答序号字段指定由客户机返回的有效参数应答分组的序号。所述客户机,响应于一个请求有效参数分组,返回一个或多个有效参数应答分组。所述客户机可以将所述VCP参数应答列扩展到整个多个有效参数应答分组中。在后一情况下,客户机将向每一连续的分组分配序号,并且在除序列中最后一个分组之外的所有分组中,把响应代码设置为1。序列中最后的有效参数应答分组将具有最高的应答序号,并且所述响应代码包含的值为0。
所述2字节的列表中值的数量字段说明所述VCP参数应答列表中存在的16位值的数目。如果所述响应代码不等于零,那么列表中值的数量的参数是零。所述VCP参数应答列表字段包含一列0至32760的2字节值,用于表明由MCCS控制代码字段指定的不连续控制的有效值集合。在VESA MCCS规范中给出了不连续控制代码的定义。最后,在这个实施例中,所述CRC字段包含分组中所有字节的16位CRC,其中包括分组长度在内。
阿尔法光标图像
用于经由通信链路传递数据的MDD接口和关联的本发明的协议及机制提供了对互相重叠并且具有不同程度透明度的多重图像平面的支持。硬件光标可以使用具有可变X-Y偏移的重叠图像来实现。下面提供对阿尔法光标功能和相关协议支持的概述。在响应于请求特定状态分组而发送的阿尔法光标图像能力分组中定义了支持阿尔法光标图像分组的能力。
32.阿尔法光标图像能力分组
阿尔法光标图像能力分组用来定义客户机中的阿尔法光标图像和相关联的透明度映射的特性。在一个实施例中,客户机使用有效状态应答列表分组的有效参数应答列表中参数值133来表明支持阿尔法光标图像能力分组的能力。对于一个实施例而言,把分组长度字段中指定的分组长度设置为固定值20,其不包括所述分组长度字段。
图75中示出一个实施例中的阿尔法光标图像能力分组的格式。如图75所示,将这种类型的分组构造为具有分组长度、分组类型、cClient ID、阿尔法光标标识符、阿尔法光标位图宽度、阿尔法光标位图高度、RGB能力、单色能力、保留1、y Cr Cb能力、透明度映射分辨率、能力位(Capability Bits)和CRC字段。通常保留所述cClientID字段以供将来客户机ID使用,并且目前将它设置为零。
阿尔法光标标识符字段(2字节)包含用于识别具体阿尔法光标平面的值。如果客户机支持n个阿尔法光标图像平面,那么阿尔法光标标识符具有0至n-1的有效范围。在一个实施例中,值n是由客户机能力分组的阿尔法光标图像平面字段指定的。所述客户机为每个阿尔法光标图像平面返回唯一的阿尔法光标图像能力分组。
2字节的阿尔法光标位图宽度字段值说明以像素个数表示的阿尔法光标位图图像的宽度,而2字节的阿尔法光标位图高度字段值则说明以像素个数表示的阿尔法光标位图图像的高度。
RGB能力字段-使用2字节来说明可以按照RGB格式显示的分辩率的位数。如果客户机无法使用RGB格式,那么这一值是零。所述RGB能力字包括三个独立的值,在一个实施例中,它是这样实现的:位3至0定义每一像素中蓝色(蓝色强度)的最大位数;位7至4定义每一像素中绿色(绿色强度)的最大位数;位11至8定义每一像素中红色(红色强度)的最大位数;位15至12被保留下来以便将来用于呈现RGB能力信息,而现在被设置为零。
1字节的单色能力字段用来指定可以按照单色格式显示的分辩率的位数。如果客户机无法使用单色格式,那么这一值是零。位7至4被保留以供将来使用,并且因此通常设置为零。位3至0定义每一像素中可以存在的灰度级的最大位数。这四位能够说明每个像素由1至15位构成。如果所述值是零,那么客户机不支持所述单色格式。
1字节的保留1字段包含通常被保留以备将来之用的值,并且因此,这个字段中的所有位都被设置为零。这将令后续2字节字段与16位字地址(address)对准,并且令4字节字段与32位字地址对准。
2字节的Y Cb Cr能力字段包含用于说明可以按照Y Cb Cr格式显示的分辩率的位数的值或者信息。如果客户机无法使用Y Cr Cb格式,那么这一值是零。通常,在一个实施例中,所述Y Cb Cr能力字包括三个独立的值:位3至0定义用于说明Cr采样的最大位数;位7至4定义用于说明Cb采样的最大位数;位11至8定义用于说明Y采样的最大位数;并且位15至12被保留以供将来用于呈现Y Cb Cr能力信息或者值,但是目前被设置为零。
1字节的透明度映射分辩率字段包含用于说明阿尔法光标图像透明度映射的每一像素位置中的位数(深度)的值或者信息。这一值在从1至8的范围内。如果所述值是零,那么对于这一阿尔法光标图像缓冲器(由阿尔法光标标识符字段指定的缓冲器)来说,不支持透明度映射。
1字节的能力位字段提供包含一组标志的值或者信息,所述标志说明与阿尔法光标图像缓冲器相关联的能力。在一个实施例中,所述标志是如此定义的:位0用于选择将要置于分组格式中的阿尔法光标视频流分组中的像素数据。位1用于表明阿尔法光标透明度分组中的透明度映射数据是分组格式。图76中示出了字节对准并且打包的透明度映射数据的实例。位2用于表明使用阿尔法光标图像偏移分组阿尔法光标图像平面能够支持图像偏移能力。位3用于表明阿尔法光标图像平面能够支持色彩映射数据格式。与用于主图像缓冲器和可缩放视频流的情况一样,同样的色彩映射表可用于阿尔法光标图像平面。所述色彩映射是使用其它地方描述的色彩映射分组来配置的。
保留位7至4以供将来使用,并且因此通常将其设置为零值或逻辑零电平。
33.阿尔法光标透明度映射分组
阿尔法光标透明度映射分组定义了指定的阿尔法光标图像平面的图像透明度映射的内容。某些应用可能要求一个透明度映射,且该透明度映射的数据量大于能够在单个分组中传输的数据量。在这种情况下,通过使用如下所述的透明度映射X和Y起始字段,可以发送多个阿尔法光标透明度映射分组,每个均具有透明度映射的不同子集。这些字段按照类似于视频流分组的X起始和Y起始字段的方式进行工作。在一个实施例中,客户机使用每个具体阿尔法光标平面的阿尔法光标图像能力分组的透明度映射分辨率字段来表明其支持阿尔法光标透明度映射分组的能力,其中阿尔法光标平面是由阿尔法光标图像能力分组的阿尔法光标标识符字段指定的。所述分组长度和客户机ID字段如上文就其它分组所述的方式使用。在一个实施例中,分组类型字段中的值134用来把分组标识为阿尔法光标透明度映射分组。
图76中示出了用于一个实施例的阿尔法光标透明度映射分组的格式。如图76所示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、阿尔法光标标识符、透明度映射X起始、透明度映射Y起始、透明度映射分辨率、保留1、参数CRC、透明度映射介质和透明度映射数据CRC字段。
2字节的阿尔法光标标识符字段具有用于标识具体阿尔法光标平面的值。如果客户机支持n个阿尔法光标图像平面,那么阿尔法光标标识符具有0至n-1的有效范围。
2字节的透明度映射X和Y起始字段均指定绝对的X和Y坐标,其中所述点(透明度映射X起始,透明度映射Y起始)是下面的透明度映射数据字段中的第一像素。
所述透明度映射分辨率字段(1字节)包含用于说明透明度映射的分辨率以及所述数据是否被打包的值。在这个字段的一个实施例中,位3至0定义所有透明度映射表项中存在的分辨率的位数。有效的值说明宽度是从1至8位。值0和9至15被认为是无效的。这一值应该与客户机在阿尔法光标图像能力分组中的透明度映射分辨率字段中返回的值匹配。位6至4被保留以供将来使用,并且因此此时通常设置为逻辑零。这一字节的位7说明透明度映射数据是打包形式还是字节对准形式。如果位7等于‘1’,那么透明度映射数据是打包的形式,而如果是‘0’,所述数据就是字节对准形式。在其他地方示出了打包的和字节对准的透明度映射数据的一个实例。这一位的值必须与阿尔法光标图像能力分组的能力位字段中位1的值匹配。
1字节的保留1字段被保留以备将来之用,因此,这个字段中的所有位通常被设置为等于逻辑零电平。这个字段的一个目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。参数CRC字段包含从分组长度到保留1字段的所有字节的16位CRC。如果这一CRC未能通过校验,就丢弃整个分组。
对于透明度映射数据字段来说,每一透明度映射位置在宽度上是1至8位。如果单个透明度映射无法刚好放进一个阿尔法和光标透明度映射分组,那么整个透明度映射可以通过发送多个分组来指定,每一分组中具有不同透明度映射数据和透明度映射X和Y起始值。
2字节的透明度映射数据CRC字段包含只有透明度映射数据的16位CRC。如果这一CRC未能通过校验,那么透明度映射数据仍可被使用,不过CRC错误计数将增加。
34.阿尔法光标图像偏移分组
阿尔法光标图像偏移分组指定光标距离主显示图像左上角的X和Y偏移。图77中说明阿尔法光标图像偏移分组的格式。如图77所示,在一个实施例中,所述阿尔法光标图像偏移分组被构造为具有分组长度、分组类型、hClient ID、阿尔法光标X偏移、阿尔法光标Y偏移和CRC字段。在一个实施例中,客户机使用每个具体阿尔法光标平面的阿尔法光标图像能力分组中的能力位字段的位2来表明其支持阿尔法光标图像偏移分组的能力,其中该阿尔法光标平面是由阿尔法光标图像能力分组的阿尔法光标标识符字段指定的。在一个实施例中,所述分组长度被固定在10,如2字节的分组长度字段所示。在一个实施例中,分组类型135把该分组标识为阿尔法光标图像偏移分组。
2字节的阿尔法光标X和Y偏移字段包含用于分别说明光标图像的像素的最左列和顶行距离主图像左侧和顶部的水平和垂直偏移的值。所述2字节的hClient ID包含保留给客户机ID的16位无符号整数。这个字段被保留供将来使用并且通常将这些位设置为逻辑零电平或值。
35.阿尔法光标视频流分组
阿尔法光标视频流分组承载视频数据来更新阿尔法光标图像平面的矩形区域。这一区域的大小可以象单个像素那么小,或者象整个显示器那么大。图78说明阿尔法光标视频流分组的格式。如图78所示,在一个实施例中,阿尔法光标视频流分组被构造为具有分组长度、分组类型、bClient ID、视频数据格式属性、X左沿、Y顶沿、X右沿、Y底沿、X起始、Y起始、像素计数、参数Crc、像素数据和像素数据CRC字段。在一个实施例中,客户机通过使用每个具体阿尔法光标平面的阿尔法光标图像能力分组来表明其支持阿尔法光标视频流分组及其相关参数的能力,其中所述阿尔法光标平面由阿尔法光标图像能力分组的阿尔法光标标识符字段指定,并且分组类型字段中的值17表明或者把该分组标识为阿尔法光标视频流分组。所述hClient ID字段(2字节)被保留以供将来用作客户机ID,并且同时将其通常设置为零,正如所述领域将了解的那样。
2字节的视频数据格式描述符字段包含用于说明当前分组的当前流中像素数据内的每一像素的格式的信息或者值。像素数据格式必须符合如在阿尔法光标图像能力分组中所定义的阿尔法光标图像平面的至少一个有效格式。所述视频数据格式描述符字段包含只用于定义当前分组的像素格式的值,并且不暗指在特定视频流的可使用期间(lifetime)将持续使用不变的格式。上述图11示出视频数据格式描述符是如何编码的。所述格式如下:
在一个实施例中,当位[15:13]是‘000’时,那么所述视频分组括单色像素阵列,其中每一像素的位数由视频数据格式描述符字的位3至0定义。然后位11至4被设置为零。当位[15:13]是‘001’时,那么所述视频分组括彩色像素阵列,其均通过色彩映射(调色板)来指定颜色。视频数据格式描述符字的5至0位定义每一像素的位数,而位11至6被设置为零。当位[15:13]是‘010’时,那么所述视频分组括具有原始RGB格式的彩色像素阵列,其中每一像素红色的位数由位11至8定义,每一像素绿色的位数由位7至4定义,每一像素蓝色的位数由位3至0定义。每一像素中位数总数是红色、绿色和蓝色的位数和。
当位[15:13]是‘011’时,那么视频分组括具有亮度和色度信息的4:2:2的Y Cb Cr格式的视频数据阵列。每像素亮度(Y)的位数是由位11至8定义的,Cb分量的位数是由位7至4定义的,而Cr分量的位数是由位3至0定义的。Cb和Cr分量是以Y分量一半的速率发送的。这个分组的像素数据部分中的视频采样按照如下方式组织:Cbn,Yn,Crn,Yn+1,Cbn+2,Yn+2,Crn+2,Yn+3,……,其中Cbn和Cm与Yn和Yn+1相关联,并且Cbn+2和Crn+2与Yn+2和Yn+3相关联等等。Yn,Yn+1,Yn+2和Yn+3是单个行中从左至右的四个连续像素的亮度值。色彩分量的顺序与微软公司UYVY FOURCC格式相同。如果在由视频流分组所定位的窗口的一行中存在有奇数个(X右沿-X左沿+1)像素,那么对应于每一行中最后像素的Cb值后面将跟随有下一行第一像素的Y值。
建议使用Y Cb Cr格式的窗口具有偶数个像素的宽度。分组中的像素分组含偶数个像素。在像素数据的最后像素对应于视频流分组报头中指定的窗口里的行的最后像素的情况下,即,当像素数据中最后像素的X位置等于X右沿时,像素数据可以包含奇数或者偶数个像素。
对于所有五个格式来说,位12(在图中标为“P”)指定像素数据采样是否被打包。当位12的值是‘0’时,那么把像素数据字段中每一像素和每一像素内的每一色彩与MDDI接口字节边界字节对准。当位12的值是‘1’时,那么对像素数据中的每一像素和每一像素内的每一颜色进行打包从而相对于先前像素或色彩没有未使用位。
在一个实施例中,像素数据属性字段(2字节)具有按照如下方式解释的一系列位值。位1和0选择如何路由显示像素数据。对于位值‘11’来说,向两只眼睛显示数据,对于位值‘10’来说,只把数据路由至左眼,而对于位值‘01’来说,只把位值路由至右眼。
像素数据属性字段的位2表明像素数据是否以隔行格式提供,值‘0’意味着像素数据处于标准的逐行格式,并且从一行前进至下一行时,行号(像素Y坐标)加1。当这一位具有值‘1’时,像素数据处于隔行格式,并且从一行前进到下一行时,行号加2。位3表明像素数据处于交替像素格式。这与位2允许的标准隔行模式相似,但是这里隔行是垂直的,而不是水平的。当位3是‘0’时,像素数据处于标准逐个像素格式,接收到每一连续像素时,列号(像素X坐标)加1。当位3是‘1’时,像素数据处于交替像素格式,接收到每一像素时,列号加2。
像素数据属性字段的位4表明像素数据涉及显示器还是照相机,即,数据是被传送至无线电话或者类似设备甚至便携式计算机或如上所述的其它设备的内部显示器或者从中传送出来,或数据被传送到嵌入或者直接耦合到所述设备的照相机或者从中传送出来的情况。当位4是‘0’时,像素数据被传送到显示器帧缓冲器或者从中传送出来。当位4是‘1’时,像素数据被传送到某些类型的照相机或者视频设备或者从中传送出来,这种设备是所属领域众所周知的。
像素数据属性字段的位5被保留以供将来使用或者用于MDD接口的应用,因此通常被设定为零值或者‘0’。
像素数据属性字段的位7和6是显示器更新位,用于说明将将要写入像素数据的帧缓冲器。其它地方讨论了更多的具体效果。对于位值‘01’来说,像素数据被写入离线图像缓冲器中。对于位值‘00’来说,像素数据被写入用于刷新显示器的图像缓冲器中。对于位值‘11’来说,像素数据被写入所有图像缓冲器中。位值或者组合‘10’被当做无效值或者标记,并且将该像素数据忽略,而不写入任何图像缓冲器。这一值可能对于所述接口的将来应用是有用的。位8至15被保留以供将来使用,并且因此通常设置为零。
在一个实施例中,2字节的X起始和Y起始字段说明像素数据字段中第一像素的点(X起始,Y起始)的绝对X和Y坐标。2字节的X左沿和Y顶沿字段说明由像素数据字段填充的阿尔法光标图像窗口的左沿的X坐标以及顶沿的Y坐标,而X右沿和Y底沿字段则说明被更新的阿尔法光标图像窗口的右沿的X坐标以及底沿的Y坐标。
像素计数字段(2字节)说明下面的像素数据字段中的像素数目。2字节的参数CRC字段包含从分组长度到像素计数的所有字节的CRC。如果这一CRC未能通过校验,就丢弃整个分组。
所述像素数据字段包含将被显示的原始视频信息,并且按照由视频数据格式描述符字段描述的方式对该原始视频信息进行格式化。如其它地方所讨论的那样,数据每次传输一“行”。像素数据CRC字段(2字节)包含只对该像素数据的16位CRC。如果这一值的CRC验证失败,那么像素数据仍可以使用,但是CRC错误计数增加。
可缩放视频流图像
所述MDD接口或者协议机制、结构、手段或者方法对可缩放视频流图像提供支持,它允许主机向客户机发送与原始图像相比按比例放大或缩小的图像,并且所述可缩放图像(the scaled image)被复制到主图像缓冲器。对可缩放视频流(scaled video stream)的功能以及相关联的协议支持的概述在其他地方给出。支持可缩放视频流的能力被定义在响应于请求特定状态分组而发送的可缩放视频流能力分组内或者由其定义。
36.可缩放视频流能力分组
可缩放视频流能力分组定义了客户机中的或者由其使用的可缩放视频流源图像的特性。图79中总体上示出了可缩放视频流能力分组的格式。如图79所示,在一个实施例中,可缩放视频流能力分组被构造为具有分组长度、分组类型、cClient ID、最大流数、源最大X大小、源最大Y大小、RGB能力、单色能力、保留1、Y Cr Cb能力、保留2和CRC字段。在一个实施例中,分组长度被选择为固定的20字节,如在长度字段中所示,其包括2字节的cClient ID字段和CRC字段,其中cClient ID字段被保留以供客户机ID之用,否则被设置为零。在一个实施例中,所述客户机使用有效状态应答列表分组中有效参数应答列表内的参数值143来表明其支持可缩放视频流能力分组的能力。
2字节的最大流数字段包含用于标识可以一次分配的同步可缩放视频流的最大数目的值。在一个实施例中,如果可缩放视频流的最大数目已被分配,那么客户机应该拒绝分配可缩放视频流的请求。如果分配了小于最大数目的可缩放视频流,那么客户机还可以基于客户机中的其它资源限制来拒绝分配请求。
源最大X大小以及Y大小字段(2字节)分别指定以像素数量表示可缩放视频流源图像的最大宽度和高度的值。
RGB能力字段使用一些值来指定可以按照RGB格式显示的分辨率的位数。如果可缩放视频流无法使用RGB格式,那么这一值被设置为等于零。所述RGB能力字包括三个独立的无符号值:位3至0定义每一像素中蓝色(蓝色强度)的最大位数,位7至4定义每一像素中绿色(绿色强度)的最大位数,位11至8定义每一像素中红色(红色强度)的最大位数,而位15至12被保留下来以供今后用于将来的能力定义,通常设置为零。
1字节的单色能力字段包含用来说明可以按照单色格式显示的分辨率的位数的值。如果可缩放视频流无法使用单色格式,那么这一值是零。位7至4被保留以供将来使用,并且因此对于当前应用而言应该设置为零(‘0’),当然该值可以随时间而改变,如同本领域技术人员将理解的那样。位3至0定义每一像素中可以存在的灰度级的最大位数。这四位能够说明每一像素包括1至15位。如果所述值是零,那么可缩放视频流不支持所述单色格式。
保留1字段(在这里是1字节)被保留以供将来用于提供与可缩放视频流分组信息或者数据相关的值。因此,目前,这个字段中的所有位都被设置为逻辑‘0’。这个字段的一个目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。
2字节的Y Cb Cr能力字段包含用于说明可以按照Y Cb Cr格式显示的分辨率的位数的值。如果可缩放视频流无法使用Y Cb Cr格式,那么这一值是零。所述Y Cb Cr能力字包括三个独立的无符号值:位3至0定义了用于说明Cr采样的最大位数;位7至4定义了用于说明Cb采样的最大位数;位11至8定义了用于说明Y采样的最大位数;位15至12被保留以供将来使用并且通常设置为零。
1字节的能力位字段包含8位无符号整数,它包含一组用于说明与可缩放视频流相关联的能力的标志。所述标志定义如下:位0覆盖了可缩放视频流分组中的像素数据能够为打包格式的情况。在先前图12中示出了打包的和字节对准的像素数据的实例。位1被保留以供将来使用并且被设置为零;位2也被保留供将来使用并且设置为零;位3覆盖了可缩放视频流能够按照色彩映射数据格式指定的情况。用于可缩放视频流的色彩映射表与用于主要图像缓冲器和所述阿尔法光标图像平面的色彩映射表相同。使用其它地方描述的色彩映射分组可配置所述色彩映射;并且位7至4被保留以供将来使用并且通常设置为零。
保留2字段(在这里是1字节)被保留以供将来用于提供与可缩放视频流分组信息或者数据相关的值。因此,目前,这个字段中的所有位都被设置为逻辑‘0’。这个字段的一个目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。
37.可缩放视频流设置分组
可缩放视频流设置分组用来定义可缩放视频流的参数,并且客户机使用所述信息来分配内部存储器以便缓存并且缩放所述图像。通过利用发送其中X图像大小和Y图像大小字段为零的分组,可以解除对流的分配。解除分配的可缩放视频流稍后可以利用相同的或者不同的流参数来重新分配。在一个实施例中,客户机使用有效状态应答列表分组的有效参数应答列表中的参数值143,并且通过使用可缩放视频流能力分组的最大流数字段中的非零值,来表明其支持可缩放视频流设置分组的能力。
图80总体示出了可缩放视频流设置分组的格式。如图80所示,在一个实施例中,可缩放视频流设备分组被构造为具有分组长度、分组类型、hClient ID、流ID、可视数据格式描述符、像素数据属性、X左沿、Y顶沿、X右沿、Y底沿、X图像大小、Y图像大小和CRC字段。
2字节的分组长度字段说明了分组中不包括分组长度字段的字节总数。在一个实施例中,这个分组的分组长度固定为24。2字节的分组类型字段使用值136将所述分组标识为可缩放视频流设置分组。2字节的hClient ID字段被保留以供将来使用,并且暂时通常以逻辑零值设置所有位,或者知道协议用户确定了将要使用的ID值,正如将会了解的情况。
流ID字段使用2字节说明流ID的唯一标识符。这一值是由主机分配的,并且在从零到客户机能力分组中指定的最大流ID值的范围内变化。所述主机必须小心管理流ID值的使用,以便确保每一激活的流被分配有唯一的值,并且确保不再激活的流被解除分配或者重新分配。
在一个实施例中,视频数据格式描述符使用2字节说明当前分组的当前流中像素数据的每一像素的格式。像素数据格式必须符合在阿尔法光标图像能力分组中所定义的阿尔法光标图像平面的至少一个有效格式。所述视频数据格式描述符只定义当前分组的像素格式,而不暗含在特定视频流的使用期间将会持续使用不变的格式。图11示出了视频数据格式描述符是如何编码的一个实施例,以及以上针对其他分组的讨论。
2字节的像素数据属性字段具有的值可解释如下:
位1和0选择像素数据将要被路由至的显示器。
位[1:0]=11或者00-把数据显示给两个眼睛
位[1:0]=10-只把数据路由到左眼。
位[1:0]=01-只把数据路由到右眼。
位2表明像素数据处于隔行格式。当位2是0时,像素数据处于标准逐行格式。当从一行前进到下一行时,行号(像素Y坐标)加1。当位2是1-时像素数据处于隔行格式。当从一行前进到下一行时,行号(像素Y坐标)加2。
位3表明像素数据处于交替像素格式。这与位2允许的标准隔行模式相似,但是这里的隔行是垂直的而不是水平的。当位3是0-时像素数据处于标准逐行像素格式。当接收到每一连续像素时,列号(像素X坐标)加1。位3是1-时,像素数据处于交替像素格式。当接收到每一像素时,列号(像素X坐标)加2。
位4表明像素数据涉及显示器还是照相机。当位4是0-时,像素数据被送入显示帧缓冲器或者从中送出。当位4是1-时,像素数据被送入照相机或者从中送出。位5被保留供将来使用并且由此通常设置为零。
位7和6是显示器更新位,它用于说明将要写入像素数据的帧缓冲器。帧更新位的效果在其他地方作了更加详细的描述。当位[7:6]为01时,像素数据被写入离线图像缓冲器。当位[7:6]为00时,像素数据被写入用于刷新显示器的图像缓冲器。当位[7:6]为11时,像素数据被写入所有图像缓冲器。如果位[7:6]为10,则视作无效值。这些位当前被保留供将来之用。在这种情况下,像素数据被忽略并且不写入任何图像缓冲器。
位8至15被保留供将来使用,并且通常设置为逻辑零电平或值。
38.可缩放视频流确认分组
可缩放视频流确认分组允许客户机确认接收到可缩放视频流设置分组。所述客户机经由有效状态应答列表分组的有效参数应答列表中的参数值143并且经由可缩放视频流能力分组的最大流数字段中的非零值来表明其支持可缩放视频流确认分组的能力。
图81示出了可缩放视频流确认分组的格式。如图81所示,在一个实施例中,将可缩放视频流确认分组构造成具有分组长度分组、分组类型、cClient ID、流ID、ACK代码和CRC字段。2字节的分组长度说明了分组中不包括分组长度字段的字节总数,且对于这个分组类型而言,分组长度值是10,而分组类型137将该分组标识为可缩放视频流确认分组。
2字节的cClient ID字段-被被保留供将来使用,并且通常设置为零。2字节的流ID字段说明了流ID的唯一标识符。这与可缩放视频流设置分组中由主机分配的值相同。
2字节的确认代码字段提供了包含一个代码的值,该代码用于描述试图更新指定的可缩放视频流的结果。在一个实施例中,所述代码按如下方式定义:
0-流分配尝试成功。
1-流解除分配尝试成功。
2-对一个已经分配了的流ID的分配尝试无效。
3-对一个已经解除分配的流ID的解除分配尝试无效。
4-客户机不支持可缩放视频流
5-流参数与客户机能力不一致。
6-流ID值大于客户机允许的最大值。
7-客户机没有足够资源可以用来分配指定的流。
2字节的CRC字段包含了分组包括分组长度在内的分组中所有字节的CRC。
39.可缩放视频流分组
可缩放视频流分组用来传输与特定的可缩放视频流相关联的像素数据。这个分组涉及的区域大小是由可缩放视频流设置分组定义的。所述客户机经由有效状态应答列表分组的有效参数应答列表中的参数值143,并且经由可缩放视频流确认分组的确认代码字段中的成功的可缩放视频流分配响应,来表明其支持可缩放视频流分组的能力。
图82示出了可缩放视频流分组的一个实施例的格式。如图82所示,将可缩放视频流分组构造为具有分组长度、分组类型、hClient ID、流ID、参数CRC、像素计数、像素数据和像素数据CRC字段。2字节的分组类型字段使用值18将该分组标识为可缩放视频流分组。hClient ID字段是为客户机ID保留的,并且通常设置为零。如前所述,2字节的流ID字段说明了流ID的唯一标识符。这一值是在可缩放视频流设置分组中由主机指定的,并且在可缩放视频流确认分组中被确认。
2字节的像素计数字段说明了像素数据字段中像素数目。2字节的参数CRC字段具有从分组长度到像素计数的所有字节的CRC。如果这一CRC未能通过校验,就丢弃整个分组。2字节的像素数据字段包含将要缩放并随后被显示的原始视频信息。数据是按照由视频数据格式描述符字段所述的方式来进行格式化的。按照前面定义的方式每次传输一行所述数据。
2字节的像素数据CRC字段包含只对像素数据的CRC。如果这一CRC未能通过校验,那么所述像素数据仍可被使用,不过CRC错误计数增加。
40.请求特定状态分组
请求特定状态分组为主机提供了用于请求客户机按照这个分组中指定的方式把能力或者状态分组送回到主机的手段、机制或方法。客户机在下一个反向链路封装分组中返回指定类型的分组。如果所述客户机具有响应该请求特定状态分组的能力,那么客户机将设置分组客户机能力分组中的客户机特征能力字段中的位17。客户机可使用分组客户机能力分组的客户机特征能力字段的位21来表明其支持请求特定状态分组的能力。
图83示出了请求专业状态分组的一个实施例的格式。分组如图83所示,将请求专业状态分组构造为具有分组长度、分组类型、hClientID、状态分组ID和CRC字段。分组长度字段说明了分组中不包括分组长度字段的字节总数,并且对于这个分组类型而言,分组长度通常固定为值10。分组类型138分组把所述分组标识为请求特定状态分组。hClient ID(2字节)字段被保留以供将来客户机ID使用,并且现在设置为零,而2字节的状态分组ID字段说明了客户机将要发送到主机的能力或者状态分组的类型。典型的分组类型为:
66-由客户机发送分组客户机能力分组。
133-由客户机发送阿尔法光标图像能力分组。
139-发送有效状态应答列表分组,用于标识客户机能够发送的能力和状态分组的准确类型。
140-由客户机发送分组处理延迟参数分组。
141-由客户机发送个人分组客户机能力分组。
142-由客户机发送客户机错误报告分组。
143-由客户机发送可缩放视频流能力分组。
144-由客户机发送客户机标识分组。
分组类型56至63可以用于特定于制造商能力和状态标识符。
CRC字段包含包括分组长度在内的分组中所有字节的CRC。
41.有效状态应答列表分组
有效状态应答列表分组提供了使得主机具有客户机有能力对其做出响应的一系列状态和能力分组的结构、手段或方法。客户机能够使用分组客户机能力分组中的客户机特征能力字段的位21来表明其支持有效状态应答列表分组的能力。
图84示出了有效状态应答列表分组的一个实施例的格式。如图84所示,将有效状态应答列表分组构造为具有分组长度、分组类型、cClient ID、列表中值的数量、有效参数应答列表和CRC字段。这一类型的分组的分组长度通常固定为数值10,并且类型值139将该分组标识为有效状态应答分组。cClient ID字段被保留供将来用作客户机ID,并通常设置为零。2字节的列表中值的数量字段说明了随后的有效参数应答列表中项目的数目。
有效参数应答列表字段保护2-字节参数的列表,其用于说明客户机可以发送到主机的能力或者状态分组的类型。如果客户机已经表明它可以响应请求特定状态分组(利用分组客户机能力分组中的客户机特征能力字段的位21),那么它能够发送至少分组客户机能力分组(分组类型==66)和有效状态应答列表分组(分组类型==139)。可由客户机发送并且可包括在该列表中的分组类型以及本实施例中其各自分配目的是:
66-分组客户机能力分组。
133-阿尔法光标图像能力分组。
139-有效状态应答列表分组,用于标识客户机能够发送的能力和状态分组的准确类型。
140-分组处理延迟参数分组。
141-个人显示器能力分组。
142-客户机错误报告分组。
143-可缩放视频流能力分组。
144-客户机标识分组。
145-其他显示器能力分组。
分组类型56至63可用于特定于制造商能力和状态标识符。
CRC字段包含分组包括分组长度在内分组中所有字节的CRC。
42.分组处理延迟参数分组
分组处理延迟参数分组提供一组参数来允许主机计算完成与特定分组类型的接收相关联的处理需要的时间。由主机发送的某些命令无法由客户机在零时间内完成。主机可以轮询客户机请求和状态分组中的状态位,以便确定某些功能是否已经由客户机完成,或者主机可以使用由客户机在分组处理延迟参数分组中返回的参数来计算完成时间。所述客户机能够利用有效状态应答列表分组中有效参数应答列表中的参数值140来表明其支持分组处理延迟参数分组的能力。
图85A总体示出了分组处理延迟参数分组的一个实施例的格式。如图85A所示,将分组处理延迟参数分组构造为具有分组长度、分组类型、cClient ID、列表项数、延迟参数应答列表和CRC字段。这个分组类型的分组长度通常固定为数值10,并且类型值140把所述分组标识为分组处理延迟参数分组。cClient ID字段被保留以供将来用作客户机ID,并且通常设置为零。2字节的列表项数-说明了随后有效参数应答列表中项目的数目。
延迟参数应答列表字段是一个或多个延迟参数列表项的列表。图85B示出了单个延迟参数列表项的一个实施例的格式,其中示出了延迟分组类型、像素延迟、水平像素延迟、垂直像素延迟和固定延迟字段。
每一延迟参数列表项在长度上通常限定为6字节,并且按如下定义。2字节的延迟分组类型字段说明了随后延迟参数应用的分组类型。像素延迟字段(1字节)包括延迟值索引(index)。将从表中读取的值乘以该分组的目的字段中的像素总数。该像素总数是由该分组定位的位图的目的区域的宽度乘高度。1字节的水平像素延迟字段包含作为延迟值表(与DPVL相同的表)的索引的值。将从表中读取的这个值乘以分组中目的字段中的宽度(以像素为单位)。1字节的垂直像素延迟字段包含作为延迟值表(通常使用与DPVL相同的表)的索引的值。将从表中读取的该值乘以分组目的字段中的高度(以像素为单位)。
固定延迟字段使用1字节作为延迟值表(与DPVL相同的表)的索引。从所述表中读取的该值是固定延迟参数,其表示处理与分组中指定的任何参数值无关的分组所需的时间。总延迟,或分组处理完成的时间延迟可根据如下关系加以确定:
延迟=(分组处理延迟(像素延迟)·像素总数)+
      (分组处理延迟(水平像素延迟)·宽度)+
      (分组处理延迟(垂直像素延迟)·高度)+
      分组处理延迟(固定延迟)
对于某些分组来说,不使用总像素数、宽度或者高度,这是因为在相应的分组中没有引用这些参数。在这些情况下,相应的像素延迟参数通常设置为零。
43.个人显示器能力分组
个人显示器能力分组提供一组参数,用于描述诸如头带显示器或者显示器眼镜的个人显示器设备的能力。这使得主机能够按照客户机的具体能力来自定义显示信息。另一方面,客户机通过使用有效状态应答列表分组的有效参数应答列表中的相应参数来表明其能够发送个人显示器能力分组的能力。
图86示出了个人显示器能力分组的一个实施例的格式。如图86所示,将个人显示器能力分组构造为具有分组长度、分组类型、cClientID、所述子像素布局、像素形状、水平视场、垂直视场、可视轴交叉、左/右图像、透明度(see through)、最大亮度、光学能力、最小IPD、最大IPD、视场曲率点列表和CRC字段。在一个实施例中,该分组长度固定为68。分组类型值141将分组标识为个人显示器能力分组。cClient ID字段被保留以供将来使用,并且现在通常设置为零。
子像素布局字段使用以下值来说明子像素自上而下并且从左到右的物理布局,其中:使用0表明子像素布局并未定义;使用1表明红色、绿色、蓝色条纹;使用2表明蓝色、绿色、红色条纹;使用3表明具有2×2子像素排列的四个像素,该排列为红色处于顶部左侧,蓝色处于底部右侧以及两个绿色子像素,其中一个绿色子像素位于底部左侧,另一个位于顶部右侧;使用4来表明具有2×2的子像素排列的四个像素,该排列包括红色处于底部左侧、蓝色处于顶部右侧以及两个绿色子像素,其中一个位于顶部左侧,另一个处于底部右侧;使用5来表明Δ(Delta)(三元组);使用6来表明以红色、绿色和蓝色重叠(例如,利用场序色彩的LCOS显示)的马赛克;并且值7至255通常被保留供将来之用。
像素形状字段使用以下值说明了由特定配置的子像素组成的每一像素的形状,其中:使用0来表明子像素形状未定义;使用1表明圆形;使用2表明正方形;使用3表明矩形;使用4来表明卵形;使用5来表明椭圆形;并且值6至255被保留以供将来用于表明所需要的形状,正如本领域普通技术人员理解的那样。
1字节的水平视场(HFOV)字段说明了以0.5度递增的水平视场(例如,如果HFOV是30度,那么其值是60)。如果其值是零,那么不指定HFOV。
1字节的垂直视场(VFOV)字段说明了以0.5度递增的垂直视场(例如,如果VFOV是30度,那么其值是60)。如果其值是零,那么不指定VFOV。
1字节的视轴交叉字段说明了以0.01屈光度(1/m)递增的视轴交叉(例如,如果视轴交叉是2.22米,那么其值是45)。如果其值是零,视轴交叉未指定。{注意:这个参数的指定适合于大多数应用中所期望的范围}
1字节的左/右图像重叠字段说明了左右图像重叠百分比。图像重叠的容许范围的百分比是1到100。值101到255是无效的并且通常不使用。如果其值是零,那么不指定图像重叠。
1字节的透明度(see through)字段说明了图像的透明度百分比。透明度的容许范围的百分比是0到100。值101到254是无效的并且将不会使用。如果其值是255,那么透明度百分比就未指定。1字节的最大亮度字段说明了以20尼特递增的最大亮度(例如,如果最大亮度是100尼特,那么其值是5)。如果其值是零,那么最大亮度就未被指定。
2字节的光学能力标志字段-包含说明显示器光学能力的各种字段。通常按照如下情况分配这些位的值:
位15至5被保留供将来之用,通常设置为零。
位4选择眼镜聚焦调节,且0值意味着显示器不具有眼镜聚焦调节。1值意味着显示器具有眼镜聚焦调节。
位3至2按照如下情况选择双目功能:数值0意味着显示器是双目的,并且只可以显示2维(2D)图像;数值1意味着显示器是双目的,并且可以显示3维(3D)图像;数值2-意味着所述显示器是单目的,而数值3被保留供将来之用。
位1至0选择左右视场曲率对称性,数值0-值意味着视场曲率没有定义。如果这个字段是零,那么除了点C3以外的从A1至E5的所有视场曲率值设置为零,点C3指定显示器的焦距,或者其被设置为零以便表明焦距没有被指定。数值1-意味着左右显示器具有相同对称性。数值2-意味着左右显示器在垂直轴(列C)上互为镜像。数值3-被保留以供将来使用。
1字节的最小瞳孔间距(IPD)字段用于以毫米(mm)为单位来指定最小瞳孔间距。如果其值是零,那么最小瞳孔间距没有被指定。1字节的最大瞳孔间距(IPD)用于以毫米(mm)为单位来指定最大瞳孔间距。如果其值是零,那么最大瞳孔间距没有被指定。
视场曲率点列表字段包含一列25个2-字节的参数,用于在1到65535的范围以千分之一的屈光度(1/m)为单位来指定焦距(例如,1是0.001屈光度,并且65535是65.535屈光度)。视场曲率点列表中的25个元素被标记为A1至E5,如下所示。所述点应在显示器的激活区域上均匀分布。列C对应于显示器的纵轴,行3对应于显示器的横轴。列A和E分别对应于显示器的左右沿。并且行1和5分别对应于显示器的顶部和底沿。列表中25个点的顺序是:A1,B1,C1,D1,E1,A2,B2,C2,D2,E2,A3,B3,C3,D3,E3,A4,B4,C4,D4,E4,A5,B5,C5,D5,E5。
2字节的CRC字段包含分组中包括分组长度在内的所有字节的CRC。
44.客户机错误报告分组
客户机错误报告分组充当用于允许客户机向主机提供一列操作错误的机制或者手段。作为从主机接收到某些命令的结果,客户机可以检测其正常操作情况下的各种各样的错误。这些错误的实例包括:客户机已经得到命令在其不支持的模式中操作;所述客户机可能已经接收到包含某些参数的分组,而这些参数超出客户机能力或者范围;所述客户机可能得到命令按照不正确的序列进入一种模式。所述客户机错误报告分组可以用来检测正常操作期间的错误,但是对系统设计员和集成商最有用的是在主机和客户机系统的开发和集成过程中诊断问题。所述客户机使用有效状态应答列表分组的有效参数应答列表中的参数值142来表明其发送显示器错误报告分组的能力。
图87A示出了客户机错误报告数据的一个实施例的格式。如图87A所示,将客户机错误报告数据构造为具有分组长度、分组类型、cClient ID、列表项数、错误代码列表和CRC字段。分组类型值142将一个分组标识为客户机错误报告分组。cClient ID字段被保留供将来使用,并现在通常设置为零。列表项数(2字节)字段说明了随后的错误代码列表中项目的数目。错误代码列表字段(这里8个字节)是一个包含一个或多个错误报告列表项的列表。图87B示出了单个错误报告列表项的格式。
在一个实施例中,如图87B所示,每一错误报告列表项在长度上正好是4字节,并且在一个实施例中,其具有这样的结构,包括:用于说明所报告的错误类型的2字节显示器错误代码字段,用于说明与由客户机错误代码分组定义的错误有关的更加详细的细节的2字节错误子代码字段。每一客户机错误代码的具体定义由客户机的制造商定义。不必为每一显示器错误代码定义错误子代码,并且在错误子代码未被定义的情况下,所述值被设置为零。每一错误子代码的具体定义由客户机的制造商定义。
45.客户机标识分组
客户机标识分组允许客户机响应于请求特定状态分组来返回标识数据。在一个实施例中,客户机使用有效状态应答列表分组的有效参数应答列表中的参数值144来表明发送客户机标识分组的能力。能够通过读取来自客户机的这些数据,而确定客户机设备的制造商名称和型号,对于主机而言是十分有用的。所述信息可以用来确定客户机是否具有分组客户机能力分组中无法描述的特殊能力。大概存在两种可能的方法、手段或机制用于从客户机读取识别信息。一种是通过使用分组客户机能力分组来实现,该分组客户机能力分组包含的字段类似于基本EDID结构中的那些字段。另一个方法是通过使用包含比分组客户机能力分组中类似字段更加丰富的信息集合的客户机标识分组。它允许主机识别没有被分配3字符EISA代码的制造商,并且允许序号包含字母数字字符。
图88示出了客户机标识分组的一个实施例的格式。如图88所示,将客户机标识分组构造为具有分组长度、分组类型、cClient ID、制造星期、制造年份、制造商名称长度、产品名称长度、序号长度、制造商名称字符串、序号字符串和CRC字段。
2字节的分组类型字段包含用于把分组标识为客户机标识分组的值。在一个实施例中,将这一值选择为144。所述cClient ID字段(2字节)也被保留以供将来用于客户机ID,并且通常设置为零。CRC字段(2字节)包含包括分组长度在内的分组中的所有字节的16位CRC。
1字节的制造星期字段包含用于定义显示器制造的星期的值。在至少一个实施例中,如果客户机支持这个字段,那么这一值在1到53的范围之内。如果客户机不支持这个字段,那么通常将其设置为零。1字节的制造年份字段包含用于定义客户机(显示器)制造的年份的值。这一值是从作为起点的1990年的偏离值,当然也可以使用其它基准年。这个字段可以表示1991到2245范围内的年份。例如,2003年对应于制造年份值13。如果客户机不支持这个字段,那么通常将其设置为零。
制造商名称长度、产品名称长度以及序号长度字段均包含2字节的值,分别用于说明包括任何空终止符或者空填充字符的制造商名称字符串字段的长度,包括任何空终止符或空填充字符的产品名称字符串字段的长度,以及包括任何空终止符或者空填充字符的序号字符串字段的长度。
制造商名称字符串、产品名称字符串以及序号字符串字段均包含分别由制造商名称、产品名称和序号的长度字段指定的可变字节数,且包含ASCII字符串,分别用于说明制造商、产品名称以及显示器字母数字序号。这些字符串的每个均由至少一个空字符来终止。
46.可选(alternate)显示器能力分组
可选显示器能力分组表明连接于MDDI客户机控制器的可选显示器的能力。该分组是响应于请求特定状态分组而发送的。当被提示时,客户机设备为所支持的每个可选显示器发送可选显示器能力分组。所述客户机能够经由有效状态应答列表分组的有效参数应答列表中的参数值145来表明其发送可选显示器能力分组的能力。
对于按照内部模式操作的MDDI系统来说,具有一个以上连接至MDDI客户机控制器的显示器是非常普遍的。一个示例性应用是移动电话在翻盖内部具有较大显示器而在外部具有较小显示器。内部模式的客户机不必返回可选显示器能力分组,原因有二。其一,在维护期间,主机可能已经被编程或得知这些能力,因为,它们用在公共设备或外壳中。其二,由于合而为一,客户机不能很容易地与到主机的连接断开或分离开,主机可以包含客户机能力的硬编码副本,或者,至少知道它们不随客户机的变化而改变,否则就可能会发生这种情况。
客户机能力分组的可选显示器数目字段用来报告所连接的一个以上的显示器,并且可选显示器能力分组报告每一可选显示器的能力。所述视频流分组在像素数据属性字段中包含4位以便访问客户机设备中的每一可选显示器。
图89示出了可选显示器能力分组的一个实施例的格式。如图89所示,将可选显示器能力分组构造为具有分组长度、分组类型、cClientID、可选显示器号、保留1、位图宽度、位图高度、显示器窗口宽度、显示器窗口高度、色彩映射RGB宽度、RGB能力、单色能力、保留2、Y Cb Cr能力、显示器特征能力、保留3和CRC字段。分组类型值145将一个分组标识为可选显示器能力分组。cClient ID字段被保留供将来客户机ID使用,并通常设置为零。
可选显示器号字段使用1字节用0到15范围内的整数表明可选显示器的身份。第一可选显示器通常指定为0号,而其它可选显示器用唯一可选显示器号的值来标识,且最大值是可选显示器总数减去1。不应该使用大于可选显示器总数减去1的值。例如:具有主显示器和连接至MDDI客户机的主叫ID显示器的移动电话具有一个可选显示器,因此主叫ID显示器的可选显示器号是零,并且显示器能力分组的可选显示器数目字段的值为1。
保留1字段(1字节)被保留供将来之用。这个字段中的所有位都设置为零。这个字段的目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。
位图宽度字段使用2字节来说明以像素个数表示的位图宽度。位图高度字段使用2字节来说明以像素个数表示的位图高度。显示窗宽度字段使用2字节来说明以像素个数表示的显示窗宽度。显示窗高度字段使用2字节来说明以像素个数表示的显示窗高度。
色彩映射RGB宽度字段使用2字节来说明可以按照色彩映射(调色板)显示模式显示的红色、绿色和蓝色色彩分量的位数。每个色彩分量(红色、绿色和蓝色)最多可以使用8位。即便在色彩映射分组中发送每一色彩分量的8位,也仅仅使用在这个字段中定义的每一色彩分量的最低有效位的位数。如果显示器客户机无法使用色彩映射(调色板)格式,那么这一值是零。所述色彩映射RGB宽度字包括三个独立的无符号值:
位3至0定义每一像素中蓝色的最大位数,且数值0至8被认为是有效的。位7至4定义每一像素中绿色的最大位数,且数值0至8被认为是有效的。位11至8定义每一像素中红色的最大位数,且数值0至8被认为是有效的。当位14至12被保留供将来使用并且通常设置为零。位15用于表明客户机接受打包或未打包格式的色彩映射像素数据的能力。当位15被设置为逻辑1电平时,它表明客户机能够接受打包或未打包格式的色彩映射像素数据。如果位15被设置为逻辑0电平,它表明客户机只能接受未打包格式的色彩映射像素数据。
RGB能力字段使用2字节来说明可以按照RGB格式显示的分辨率的位数。在一个实施例中,如果客户机无法使用RGB格式,那么这一值是零。所述RGB能力字包括三个独立的无符号值:位3至0定义每一像素中蓝色(蓝色强度)的最大位数。位7至4定义每一像素中绿色(绿色强度)的最大位数。位11至8定义每一像素中红色(红色强度)的最大位数。位14至12被保留供将来使用并且设置为零。位15用于表明客户机接受打包或未打包格式的RGB像素数据的能力。当位15被设置为逻辑1电平时,它表明客户机能够接受打包或未打包格式的RGB像素数据。如果位15被设置为逻辑0电平,它表明客户机只能接受未打包格式色彩映射像素数据。
1字节的单色能力字段包含用来指定可以按照单色格式显示的分辨率的位数的值或信息。如果客户机无法使用单色格式,那么这一值是零。位6至4被保留供将来使用并且通常设置为零。位3至0定义每一像素中可以存在的灰度级的最大位数。这四位能够指定每一像素包括1至15位。如果所述值是零,那么客户机不支持所述单色格式。当位7被设置为1时,它表明客户机能够接受打包或未打包的单色像素数据。如果位7被设置为0,它表明客户机只能接受未打包格式的单色像素数据。
保留2字段是为将来之用保留的1字节宽的字段,并且通常将这个字段中的所有位都应设置为零。在一个实施例中,这个字段的目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。
2字节的Y Cb Cr能力字段说明了可以按照Y Cb Cr格式显示的分辨率的位数。如果客户机无法使用Y Cb Cr格式,那么这一值是零。所述Y Cb Cr能力字包括三个独立的无符号值:位3至0定义用于说明Cb采样的最大位数。位7至4定义用于说明Cr采样的最大位数。位11至8定义用于说明Y采样的最大位数。位14至12被保留供将来使用并且设置为零。当位15被设置为1时,它表明客户机能够接受打包或未打包的Y Cb Cr像素数据。如果位15被设置为0,它表明客户机只能接受未打包格式的Y Cb Cr像素数据。
1字节的Bayer能力字段说明能够以Bayer格式传送的分辨率的位数、像素组和像素顺序。如果客户机不能使用间隔格式,那么这个值被置为零。Bayer能力字段由以下值组成:位3至0定义每个像素中存在的强度的最大位数;位5至4定义所需要的像素组图案;位8至6定义用于所需要的像素顺序;位14至9被保留供将来使用并且设置为零。当位15被设置为1时,它表明客户机能够接受打包或未打包的Bayer像素数据。如果位15被设置为0,它表明客户机只能接受未打包格式的Bayer像素数据。
2字节的CRC字段包含包括分组长度在内的分组中所有字节的16位CRC。
47.寄存器访问分组
寄存器访问分组向主机或者客户机提供用于访问MDDI链路对端的配置和状态寄存器的手段、机制或方法。这些寄存器对于每个显示器或设备控制器而言很可能是唯一的。这些寄存器已存在于许多显示器中,它们要求设置配置、操作模式并且具有其它有益的和必需的设置。所述寄存器访问分组允许MDDI主机或者客户机对寄存器进行写操作,并且使用MDDI链路请求读取寄存器。当主机或者客户机请求读取寄存器时,对端应该通过以相同的分组类型发送寄存器数据,并且通过利用读/写信息字段来表明这是从特定寄存器读取的数据而作为响应。寄存器访问分组可以用来通过指定大于1的寄存器计数来读取或者写入多个寄存器。客户机使用分组客户机能力分组的客户机特征能力字段的位22表明支持寄存器访问分组的能力。
图90示出寄存器访问分组的一个实施例的格式。如图90所示,将寄存器访问分组构造为具有分组长度、分组类型、bClient ID、读/写标志、寄存器地址、参数CRC、寄存器数据列表和寄存器数据CRC字段。分组类型值146将一个分组标识为寄存器访问分组。bClient ID字段被保留供将来之用,并且通常设置为零。
2字节的读/写标志字段将这个特定分组说明为写、读或者对读的响应,并且提供这些数据值的计数。
位15至14用作读/写标志。如果位[15:14]为00,那么该分组包含待写入由寄存器地址字段寻址的寄存器的数据。待写入指定寄存器的分组含在寄存器数据列表字段中。如果位[15:14]为10,那么这是从由寄存器地址字段寻址的一个或多个寄存器请求数据。如果位[15:14]为11分组,那么这个分组响应于具有位15:14的读/写标志设置为10的寄存器访问分组而包含所请求的数据。寄存器地址字段包含对应于第一寄存器数据列表项的寄存器地址,而寄存器数据列表字段包含从所述一个或多个地址中读取的数据。如果位[15:14]位01,则这一值被保留以供将来使用并且不应该使用。
位13:0使用14位无符号整数来说明将于寄存器数据列表字段中传送的32位寄存器数据项的数目。如果分组位15:14等于“00”,那么位13:0指定32-位寄存器数据项的数目,该寄存器数据项包含在寄存器数据列表字段,且待写入从寄存器地址字段指定的寄存器开始的寄存器中。如果分组位15:14是“10”,那么位13:0指定接收设备发送至请求读取该寄存器的设备的32-位寄存器数据项的数目。该分组中的寄存器数据列表字段应该不包含项目并且长度是零。位15:14等于“11”,那么位13:0分组指定已经从寄存器中读出的包含在寄存器数据列表字段中的寄存器数据项的数目。目前,位15:14不会被设置为等于“01”,这被视为无效值,否则被保留以供将来指定或使用。
寄存器地址字段使用4字节来表明待将要被写入或者将要从中读取的寄存器的地址。为了对地址小于32位的寄存器寻址,高位应被设置为零。
2字节的参数CRC字段包含从分组长度到寄存器地址在分组所有字节的CRC。如果该CRC未能通过校验,则丢弃整个分组。
寄存器数据列表字段包含待写入客户机寄存器的一列4-字节寄存器数据值,或已经从客户机设备寄存器中读取的值。
2字节的寄存器数据CRC字段包含只对寄存器数据列表的CRC。如果该CRC未能通过校验,则寄存器数据仍可使用,不过CRC错误计数将递增。
D.分组CRC
CRC字段出现在分组的结尾,有时出现在分组中的某些更关键的参数之后,这些参数具有明显较大数据字段,从而增大了传送期间出错的可能性。在具有两个CRC字段的分组中,当只有一个CRC被使用时,CRC生成器在第一CRC之后被重新初始化,因此跟随长数据字段的CRC计算不受分组开始时的参数影响。
在一个示例性的实施例中,用于CRC计算的多项式为CRC-16或者X16+X15+X2+X0。图36说明可用于实现本发明的CRC生成器和校验器3600的示例性实现方式。在图36中,CRC寄存器3602正好在传送被输入到Tx_MDDI_Data_Before_CRC(发送在CRC之前的MDDI数据)线路上的分组的第一位之前被初始化为值0x0001,然后分组的字节首先从LSB开始被移入寄存器。应注意的是,该图中的寄存器位数对应于所使用的多项式的阶数,而不是由MDDI使用的位的位置。CRC寄存器沿单向移位更加有效,这使得CRC位15出现在MDDI CRC字段的位位置0处,CRC寄存器位14出现在MDDICRC字段位位置1处等等,直到到达MDDI位位置14。
举例来说,如果客户机请求和状态分组的分组内容是:0x000c、0x0046、0x000、0x0400、0x00、0x0000(或者表示为一个字节序列:0xoc,0x00,0x46,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00),并且使用多路复用器3604和3606以及与非(NAND)门3608的输入来提交(submit),Tx_MDDI_Data_With_CRC(发送具有CRC的MDDI数据)线路上输出的最终CRC是0xd9aa(或者表示为一个序列0xaa,0xd9序列)。
当CRC生成器和校验器3600被配置成CRC校验器时,在Rx_MDDI_Data(接收MDDI数据)线路上接收的CRC被输入至多路复用器3604和NAND门3608,并且使用或非(NOR)门3610、异或(XOR)门3612和与(AND)门3614逐位与CRC寄存器中发现的值进行比较。如果存在任何错误,如AND门3614输出的那样,那么针对包含CRC错误的每个分组,通过把门3614的输出连接至寄存器3602的输入,CRC增加一次。应注意的是,图36中示出的示例性电路可以输出给定CHECK_CRC_NOW(现在校验CRC)窗口内一个以上的CRC错误信号(参见图37B)。因此,所述CRC错误计数器通常只对在CHECK_CRC_NOW激活的每一间隔内的第一个CRC错误事例计数。如果被配置成CRC生成器,那么在与分组末尾对齐的时刻,将CRC按照时钟从所述CRC寄存器输出。
图37A和37B中以图形方式说明输入和输出信号以及使能信号的时序。图37A用Gen_Reset(生成复位)、Check_CRC_Now(现在校验CRC)、Generate_CRC_Now(现在生成CRC)和Sending_MDDI_Data(发送MDDI数据)信号的状态以及Tx_MDDI_Data_Before_CRC(发送CRC之前的MDDI数据)和Tx_MDDI_Data_With_CRC(发送具有CRC的MDDI数据)信号的状态(0或者1)示出了CRC的生成和数据的分组的传输。图37B中以Gen_Reset、Check_CRC_Now、Generate_CRC_Now和Sending_MDDI_Data信号以及Rx_MDDI_Data(接收MDDI数据)和CRC_Error(CRC错误)信号的状态示出了数据的分组的接收和CRC值的校验。
E.分组CRC的错误代码重载(overload)
每当在主机和客户机之间只传送数据的分组和CRC时,其中不容纳错误代码。唯一的错误是失去同步。否则,必须等待链路因缺乏良好的数据传送路径或者流水线而超时,然后重置所述链路并且继续进行。但是,这样做既耗时效率又低。
针对一个实施例中的使用,已经开发了这样一种新技术,其中分组的CRC部分用来传送错误代码信息。这在图65中大体上示出。也就是说,由处理数据传送的处理器或设备生成一个或多个错误代码,其表明通信处理或者链路内可能出现的特定预定错误或者缺陷。遇到错误时,使用分组的CRC位来生成并且传送适当的错误代码。也就是说,利用所需要的错误代码来重载或者重写所述CRC值,该所需的错误代码可以在接收端由用于监视CRC字段值的错误监视器或者校验器检测到。对于错误代码与CRC值因为某些原因而相匹配的情况,传送错误码的补码以便防止混淆。
在一个实施例中,为了提供稳固(robust)的错误警告和检测系统,使用一系列分组、通常是所有分组传送若干次错误代码,这些分组是在已经检测到错误之后才被传送或者发送的。这种情况将一直出现,直到从系统中清除产生错误的条件时为止,此时传送正常的CRC位,而不用另一个值来重载。
重载CRC值的这种技术对系统错误提供非常快的响应,同时使用了最小量的额外位或字段。
如图66所示,利用错误检测器或者检测模块6602示出了CRC重写机制或者装置6600,它能够形成先前描述或者了解的其它电路的一部分,用于检测通信链路或者过程内错误的存在或出现。可以形成为其它电路的一部分或者使用诸如查阅表来储存预选错误消息的技术的错误代码生成器或者模块6604生成一个或多个错误代码,以表明已经检测到的出现的特定的预定错误或者缺陷。易于理解的是,设备6602和6604根据需要可以形成为单个电路或者设备,或者作为用于其它已知处理器和元件的被编程的步骤序列的一部分。
示出的CRC值比较器或者比较模块6606,用于检查所选择的一个或多个错误代码是否与被传送的CRC值相同。如果是,就利用代码补码生成器或者生成模块或设备来提供错误代码的补码,以免错误代码被误认为是原来的CRC模式(pattern)或者值,从而使检测方案混淆或者使其复杂。然后,错误代码选择器或者选择模块元件或设备6610选择期望插入或者重写的错误代码,或者它们各自的补码,这视情况而定。错误代码CRC重写器或者重写机制或者模块6612是一种设备,用于接收数据流、分组和待插入的期望的代码,并且重写相应的或者适当的CRC值,以便把期望的错误代码传送至接收设备。
如上所述,可以使用一系列分组多次传送错误代码,因此重写器6612可以在处理或者调用来自先前元件或者其它已知存储单元的这些代码期间,利用存储器储存元件来保存代码的副本,其中这些存储单元根据需要或期望用于储存或者保留它们的值。
图67A和67B中更加详细地示出了图66的重写机制实现的总体处理的实现。在67A中,在步骤6702,在通信数据或者过程中检测到一个或多个错误,并且在步骤6704,选择错误代码来表明这一条件。同时,或者在适当点,在步骤6706校验待更换的CRC值,并且在步骤6708将其与需要的错误代码进行比较。如早先讨论的那样,这一比较的结果是确定所需要的代码或者其它代表值是否与当前CRC值相同。如果是,那么处理进行到步骤6712,把所述补码或者在某些情况下根据需要是其它代表值,选为代码来插入。一旦在步骤6710和6714中确定了将会插入什么样的错误代码或者值,就选择这个适当的代码以便插入。为了清楚起见,把这些步骤作为独立的步骤示出,但是它通常表现为基于步骤6708判定的输出所作的单一选择。最后,在步骤6716,在CRC位置中重写这些适当值,以便与作为所述过程的目标的分组一起传送。
在分组接收侧,如图67B所示,在步骤6722中监视分组CRC值。通常,所述CRC值由系统内的一个或多个过程监视,以便确定数据传送中的错误是否已经出现,并且确定是否请求重新传送一个或多个分组,或是禁止进一步操作等等,其中一些上文已经讨论过了。作为这种监视的一部分,还可以使用所述信息与已知的或者预选错误码或者代表值进行比较,并检测错误的出现。或者,也可以实现独立的错误检测过程和监视器。如果好像存在这样一个代码,就在步骤6724提取它或者标注它,以便进一步处理。在步骤6726中可以确定这是实际代码还是补码,在这种情况下,将附加步骤6728用来把所述值转换为所需要的代码值。不论是哪种情况,在步骤6730最终提取的代码、补码或者其它恢复值都可用于从已传输的代码中检测已经出现了哪些错误。
V.链路休眠
MDDI链路可以快速进入休眠状态,并且快速从休眠中苏醒。由于MDDI链路能够非常快速地再次苏醒以便使用,因而这种响应允许通信系统和设备强制MDDI链路经常进入休眠以降低功耗。在一个实施例中,当外部模式的客户机第一次从休眠中苏醒时,它以数据速率以及选通脉冲时序进行如此操作,其中选通脉冲时序与1Mbps的速率一致,也就是说,MDDI_Stb对应以500kHz的速率翻转。一旦客户机的特性已经被主机发现或者其特性已经传递到主机,那么主机通产可以以从1Mbps到客户机能够运行的最大速率之间的任意速率唤醒链路。内部模式的客户机能够以主机和客户机双方均可运行的任意速率苏醒。这通常也适用于内部模式客户机第一次苏醒。
在一个实施例中,当链路从休眠中苏醒时,主机和客户机交换脉冲序列。使用低速线路接收器可检测到这些脉冲,该低速线路接收器仅消耗差分接收器以最大链路运行速度接收信号所需的电流的一部分。主机或者客户机都能够唤醒链路,从而唤醒协议被设计成能够处理主机和客户机同时试图进行唤醒时出现的可能的竞争。
在休眠状态期间,MDDI_Data和MDDI_Stb差分驱动器被禁用并且跨在所有差分对上的差分电压为零电压。在从休眠苏醒期间用于检测脉冲序列的差分线路接收器具有有意的电压偏移。在一个实施例中,这些接收器中逻辑1和逻辑0电平之间的阈值近似为125mV。这使得未驱动的差分线对在链路苏醒序列期间将被视为逻辑零电平。
为了进入休眠状态,主机在链路关闭分组的CRC之后发送64个MDDI_Stb周期。主机禁用CRC之后的在15至56个MDDI_Stb周期(包括输出禁用传播延迟)的范围内主机的MDDI_Data0输出。主机在链路关闭分组的CRC之后且在其发起唤醒序列之前发送64个MDDI_Stb周期。在一个实施例中,主机发起的唤醒被定义为主机在MDDI_Data0达到有效逻辑1电平之后且在驱动MDDI_Stb上的脉冲之前必须等待100纳秒。在一个实施例中,客户机在链路关闭分组的CRC之后且在将等待MDDI_Data0驱动到逻辑1电平以试图唤醒主机之前需要等待至少60个MDDI_Stb周期。
为了从休眠状态中“苏醒”,需要执行几个动作和过程。当客户机,这里是显示器,需要来自主机的数据或通信、服务时,客户机将MDDI_Data0线路驱动到逻辑1状态且持续大约70到1000微秒,而MDDI_Stb处于非激活状态,且在MDDI_Stb变为激活状态之后仍保持MDDI_Data0被驱动为逻辑1电平大约70个MDDI_Stb周期(在60到80的范围上),但也可根据需要使用其他时段。然后客户机通过将MDDI_Data0驱动器置为高阻状态而禁用MDDI_Data0驱动器。
如果在休眠期间MDDI_Stb处于激活状态,尽管这不太可能,那么客户机只能将MDDI_Data0驱动到逻辑1状态大约70个MDDI_Stb周期(在60到80的范围上)。这一动作使得主机启动和重启在正向链路(208)上的数据业务并询问客户机的状态。
主机必须检测请求脉冲的出现并开始启动序列,即,先将MDDI_Stb驱动为逻辑0电平和将MDDI_Data0驱动为逻辑高电平达至少100nsec。然后,在翻转MDDI_Stb的同时,继续将MDDI_Data0驱动为逻辑1电平且持续150个MDDI_Stb周期(在140到160的范围上),并将MDDI_Data0驱动为逻辑0电平且持续50个MDDI_Stb周期(在40到60的范围上)。如果显示器检测到MDDI_Data0处于逻辑1状态多于70个MDDI_Stb周期,那么显示器不应发送服务请求。在主机将MDDI_Data0驱动到逻辑0电平且持续50个MDDI_Stb周期的时间后,主机随后开始在链路上发送分组。发送的第一个分组是子帧报头分组。以下进一步讨论与休眠处理和启动序列相关的世界选择属性和时间间隔容差。(参见以下的图68A-C)
主机可通过首先启用MDDI_Stb而发起唤醒,并同时将其驱动至逻辑0电平。直至脉冲按照如下所述方式输出,MDDI_Stb才被驱动至逻辑1电平。在MDDI_Stb达到有效逻辑0电平后,主机启用MDDI_Data0并同时将其驱动到逻辑1电平。直到如下所述MDDI_Data0被驱动到逻辑0电平且持续50个MDDI_Stb脉冲的间隔时,MDDI_Data0才应被驱动到逻辑0电平。主机应该在MDDI_Data0达到逻辑1电平之后且在驱动MDDI_Stb上脉冲之前等待至少100纳秒。当考虑到最差情况的输出启用延迟时,出现这种时序关系。这基本确保了客户机在其MDDI_Stb接收器由被主机驱动的MDDI_Data0上的逻辑1电平唤醒之后有充足的时间来完全启用该MDDI_Stb接收器。
图38示出了在没有竞争的情况下典型服务请求事件3800的处理步骤的实例,其中为了说明的方便,使用字母A、B、C、D、E、F和G来标记所述事件。所述过程在点A处开始,此时主机向客户机设备发送链路关闭分组,以便通知它所述链路将转变为低功率休眠状态。在下一步,通过禁用MDDI_Data0驱动器并且把MDDI_Stb驱动器设置为逻辑0,所述主机进入低功率休眠状态,如B点处所示。通过高阻抗偏置网络将MDDI_Data0驱动为逻辑0电平。在某时间段之后,客户机通过把MDDI_Data0驱动至逻辑1电平来向主机发送服务请求,如点C处所示那样。所述主机仍然使用高阻抗偏置网络来维持(asserts)逻辑0电平,但是客户机中的驱动器强制所述线路进入逻辑1电平。在50微秒内,所述主机识别这一服务请求脉冲,并且通过启用其驱动器在MDDI_Data0上维持逻辑1,如点D处所示。然后,客户机停止试图维持服务请求脉冲的努力,并且所述客户机将其驱动器置于高阻状态,如点E处所示。主机把MDDI_Data0驱动至逻辑0电平且持续50微秒,如点F处所示,并且按照与MDDI_Data0上的逻辑0电平相一致的方式来生成MDDI_Stb。在把MDDI_Data0置于逻辑0电平并且驱动MDDI_Stb 50微秒之后,所述主机开始通过发送子帧报头分组在正向链路上传输数据,如点G所示。
图39中说明类似的实例,其中在已经开始链路重启序列之后维持(assert)服务请求,并且也使用字母A、B、C、D、E、F和G来标记所述事件。这代表来自客户机的请求脉冲或者信号非常接近破坏子帧报头分组的最坏情况。所述过程在点A处开始,此时主机向客户机设备再次发送链路关闭分组,通知它所述链路将转变到低功率休眠状态。在下一步,所述主机通过禁用MDDI_Data0驱动器并且把MDDI_Stb驱动器设置为逻辑0电平,而进入低功率休眠状态,如B点处所示。如前所述,通过高阻抗偏置网络将MDDI_Data0驱动为逻辑0电平。经过一段时间以后,主机通过把MDDI_Data0驱动为逻辑1电平且持续150微秒来开始所述链路重启序列,如点C处所示。在链路重启序列开始之后且在经过50微秒之前,所述显示器还维持MDDI_Data0为1达70微秒的持续时间,如点D处所示。发生这种情况是因为显示器需要向主机请求服务并且尚未识别出所述主机已开始链路重启序列。然后,客户机不再试图维持服务请求脉冲,并且所述客户机将其驱动器置于高阻状态,如点E处所示。主机继续把MDDI_Data0驱动至逻辑1电平。主机把MDDI_Data0驱动至逻辑0电平且持续50微秒,如点F所示,并且按照与MDDI_Data0上为逻辑0电平相一致的方式来生成MDDI_Stb。在把MDDI_Data0维持到逻辑0电平并且驱动MDDI_Stb达50微秒之后,所述主机通过发送子帧报头分组开始在正向链路上传输数据,如点G所示。
根据上面的讨论,人们可以看出:作为唤醒序列的一部分,先前解决方案涉及让主机经历两个状态。对于第一状态来说,主机把MDDI_Data0信号驱动为高且持续150微秒,然后把MDDI_Data0信号驱动为低且持续50微秒,同时激活MDDI_Stb线路,然后开始传输MDDI分组。就使用MDDI装置和方法可获得的数据速率而言,这一过程可很好地用于提高现有技术水平。然而,如前所述,就减少对条件的响应时间或能够更快选择下一步骤或过程(即,简化处理或元件的能力)而言,始终要求更快的速度。
申请人已经发现了一种新的创新方法来唤醒处理和时序,其中主机使用基于时钟周期的时序进行信号翻转(toggle)。按照这一配置,在主机于唤醒序列开始时把MDDI_Data0信号驱动为高之后,所述主机从0至10微秒开始翻转MDDI_Stb,并且直到信号被驱动为低才等待。在唤醒序列期间,主机翻转MDDI_Stb,就好象MDDI_Data0信号始终处于逻辑0电平。这样做有效地把时间概念从客户机侧去除,并且对于这些周期而言,主机从最初两个状态的150微秒和50微秒时间段改变为针对这些时间段的150个时钟周期和50个时钟周期。
现在,主机负责把该数据线驱动为高,并且在10个时钟周期内开始传输选通信号,就好像所述数据线是零。在主机已经把数据线驱动为高且持续150个时钟周期之后,主机把数据线驱动为低并持续50个时钟周期,同时继续传输选通信号。在主机已经完成这两个过程之后,主机可以开始传输第一子帧报头分组。
在客户机侧,现在,客户机实现方式可以使用所生成的时钟计算数据线首先为高、然后为低的时钟周期的数目。在驱动为高状态的数据线上需要存在的时钟周期数目是150,在驱动为低状态的数据线上的时钟周期数目是50。这意味着对于正确的唤醒序列来说,客户机应该能够对数据线处于高状态的至少150个连续时钟周期,及其后跟随的数据线处于低状态的至少50个连续时钟周期进行计数。一旦这两个条件得到满足,客户机就可以开始搜索第一子帧的唯一字。把这一模式中的中断用作把计数器返回初始状态的基础,其中客户机再次寻找数据线处于高状态的最初150个连续时钟周期。
如先前所讨论的情况,基于主机的从休眠中唤醒的本发明的客户机实现方式,除了没有强制时钟速率起始于1Mbps以外,非常类似于初次启动的情况。相反,可以将时钟速率设置为从任何先前速率重新开始,该先前速率为通信链路进入休眠时处于激活状态的速率。如果主机如上所述开始传输选通信号,那么客户机应该能够再次对数据线处于高状态的至少150个连续时钟周期,和其后跟随的数据线处于低状态的至少50个连续时钟周期进行计数。一旦已经符合这两个条件,客户机就可以开始搜索唯一字。
基于客户机的从休眠中唤醒的本发明的客户机实现方式,除了它通过让客户机驱动数据线来启动之外,与基于主机的唤醒相似。客户机可以在没有时钟的情况下异步地驱动数据线来唤醒主机设备。一旦主机识别出所述数据线被客户机驱动为高状态,它就可以开始其唤醒序列。客户机可以对开始时或者在其唤醒过程期间的主机生成的时钟周期的数目进行计数。一旦客户机数出数据线处于高状态的70个连续时钟周期,它就可以停止将数据线驱动为高状态。在这一刻,主机也应该已经把数据线驱动为高状态。于是客户机可以对数据线处于高状态的另外80个连续时钟周期进行计数,以便使数据线处于高状态的时钟周期达到150个,并且因此能寻找数据线处于低状态的50个时钟周期。一旦符合这三个条件,客户机就可以开始寻找唯一字。
这种唤醒处理的新实现方式的优势在于它不需要时间测量设备。无论它是振荡器、电容器放电电路还是其它这种已知的设备,客户机不再需要这种外部设备来确定启动条件。当在客户机设备板上实现控制器、计数器等等的时候,这样做节省资金和电路面积。虽然对于主机而言,未必象对于客户机那样有益,但是就用于核心电路的超高密度逻辑(VHDL)而言,这一技术应该也能够简化所述主机。使用数据和选通线路作为唤醒通知和测量源的功耗也非常低,这是因为不需要为核心元件运行任何外部电路,以使其等待基于主机的唤醒。所使用的周期或者时钟周期的数目是示例性的,还可以使用其它周期,这对于本领域普通技术人员是显而易见的。
这种唤醒处理的新实现方式的优势在于它不需要时间测量设备。无论它是振荡器、电容器放电电路还是其它这种已知的设备,客户机不再需要这种外部设备来确定启动条件。当实现控制器、计数器等等的时候,这样做节省资金和电路面积,因此节省客户机设备板上的面积。虽然对于主机而言,未必象对于客户机那样有益,但就用于核心电路的超高密度逻辑(VHDL)而言,这一技术应该也能够简化所述主机。使用数据和选通线路作为唤醒通知和测量源时的功耗也非常低,这是因为核心元件等待基于主机的唤醒不需要任何外部电路。
为了阐明并且举例说明这一新技术的操作,图68A、68B和68C中示出了MDDI_Data0、MDDI_Stb和相对于所述时钟周期的各种操作的时序。
图68A中示出了在没有竞争的情况下典型主机启动的唤醒的处理步骤的实例,其中为了便于说明,也使用字母A、B、C、D、E、F和G来标记所述事件。所述过程在点A处开始,此时主机向客户机设备发送链路关闭分组以便通知它所述链路将转变到低功率休眠状态。在下一步中,B点处,主机翻转(toggle)MDDI_Stb且持续翻转约64个周期(根据系统设计需要),以便在停止MDDI_Stb翻转之前允许客户机的处理完成,其停止客户机设备中的已恢复时钟。主机最初也把MDDI_Data0设置为逻辑0电平,然后在CRC之后,在16~48个周期的范围内(通常包括输出禁用传播延迟)禁用MDDI_Data0输出。这可能需要在CRC后的48周期之后,并且在下一阶段(C)之前的某时,把用于客户机中的MDDI_Data0和MDDI_Stb的高速接收器置于低功率状态。在链路关闭分组的CRC之后的第48个MDDI_Stb周期的上升沿之后的任意时刻,客户机将其MDDI_Data0和MDDI_Stb的高速接收器置于休眠。所建议的是,在链路关闭分组的CRC之后的第64个MDDI_Stb周期的上升沿之前,客户机将其MDDI_Data0和MDDI_Stb的高速接收器置于休眠。
通过禁用MDDI_Data0和MDDI_Stb驱动器并且把主机控制器置于低功率休眠状态,所述主机在点C或者步骤C进入低功率休眠状态。还可以根据需要把MDDI_Stb驱动器设置为逻辑0电平(使用高阻抗偏置网络)或者设置为在休眠期间连续翻转。所述客户机也处于低功率电平的休眠状态。
在某时间段之后,所述主机通过启用MDDI_Data0和MDDI_Stb驱动器输出,在点D开始链路重启序列。所述主机把MDDI_Data0驱动为逻辑1电平,并且把MDDI_Stb驱动至逻辑0电平,且其持续时间与驱动器完全启用它们各自的输出所应占用的时间一样长。在这些输出达到所需要的逻辑电平之后,并且在驱动MMDI_Stb上的脉冲之前,主机通常等待200纳秒左右。这样,客户机有时间准备接收。
当主机驱动器被启用并且MDDI_Data0被驱动为逻辑1电平时,主机开始翻转MDDI_Stb且使其持续翻转150个MDDI_Stb周期,如点E处所示。主机把MDDI_Data0驱动至逻辑0电平且持续50个周期,如点F所示,并且在MDDI_Data0处于逻辑0电平达40个MDDI_Stb周期之久后,客户机开始寻找子帧报头分组。主机通过发送子帧报头分组开始在正向链路上传输数据,如点G所示。
图68B中说明在没有竞争的情况下典型客户机启动的唤醒的处理步骤的实例,其中为了便于说明,也使用字母A、B、C、D、E、F、G、H和I来标记所述事件。如前所述,所述过程在点A处开始,此时主机向客户机发送链路关闭分组,通知它所述链路将转变为低功率状态。
在B点,主机翻转MDDI_Stb且持续翻转64个周期(根据系统设计需要),以便允许在停止MDDI_Stb翻转之前完成客户机处理,这一信号用于停止客户机设备中的已恢复时钟。主机最初也把MDDI_Data0设置为逻辑0电平,然后在CRC之后,在16至48个周期(通常包括输出禁用传播延迟)的范围内,禁用MDDI_Data0输出。在CRC后的48个周期之后,并且在下一阶段(C)之前的某时,需要把客户机中的MDDI_Data0和MDDI_Stb的高速接收器置于低功率状态中。
通过禁用MDDI_Data0和MDDI_Stb驱动器并且把主机控制器置于低功率休眠状态,所述主机在点C或者步骤C进入低功率休眠状态。还可以根据需要把MDDI_Stb驱动器设置为逻辑0电平(使用高阻抗偏置网络)或者设置为在休眠期间继续翻转。所述客户机也处于低功率电平休眠状态。
在某时间段之后,客户机通过启用MDDI_Stb接收器并且启用在MDDI_Stb接收器中的一个偏移,在点D开始链路重启序列,以便确保在主机启用其MDDI_Stb驱动之前,在客户机中所接收的MDDI_Stb的版本的状态是逻辑0电平。根据需要,可能需要客户机稍微超前于启用接收器时启用该偏移(offset),以便确保接收到有效的差分信号并且防止错误信号。客户机启用MDDI_Data0驱动器,同时把MDDI_Data0线路驱动至逻辑1电平。如果启动偏移和标准MDDI_Data0差分接收器的时间为100纳秒,则可以同时启用MDDI_Data0和MDDI_Stb。
在约1毫秒内,在点E处,主机识别来自客户机的服务请求脉冲,并且主机通过启用MDDI_Data0和MDDI_Stb驱动器输出来开始链路重启序列。所述主机把MDDI_Data0驱动为逻辑1电平,并把MDDI_Stb驱动至逻辑0电平,且其持续时间与驱动器启用它们各自的输出所应占用的时间一样长。在这些输出达到所需要的逻辑电平之后,并且在驱动MMDI_Stb上的脉冲之前,主机通常等待200纳秒左右。这样,客户机就有时间准备接收。
当主机驱动器被启用并且MDDI_Data0被驱动为逻辑1电平时,主机在MDDI_Stb上输出脉冲且持续150个MDDI_Stb周期的持续时间,如点F处所示。当客户机识别出MDDI_Stb上的第一个脉冲时,它禁用其MDDI_Stb接收器中的偏移(offset)。客户机继续把MDDI_Data0驱动至逻辑1电平且持续70个MDDI_Stb周期,并且在点G禁用其MDDI_Data0驱动器。
如点G和H处所示,主机把MDDI_Data0驱动至逻辑0电平且持续50个周期,并且客户机在MDDI_Data0处于逻辑0电平达40个MDDI_Stb周期后,客户机开始寻找子帧报头分组。主机通过发送子帧报头分组开始在正向链路上传输数据,如点I所示。
图68C中说明具有来自客户机的竞争,也就是客户机也希望唤醒所述链路的典型主机启动的唤醒的处理步骤的实例。为了便于说明,也使用字母A、B、C、D、E、F、G、H和I来标记所述事件。如前所述,所述过程在点A处开始,此时主机向客户机设备发送链路关闭分组,以便通知客户机所述链路将转变到低功率状态,然后进行到B点,在点B处MDDI_Stb被翻转且持续翻转约64个周期(或者根据系统设计需要),以便允许由客户机执行的处理完成,然后进行到点C,此时所述主机通过禁用MDDI_Data0和MDDI_Stb驱动器并且把主机控制器置于低功率休眠状态来进入低功率休眠状态。在某时间段之后,所述主机通过启用MDDI_Data0和MDDI_Stb驱动器输出在点D开始链路重启序列,并且开始翻转MDDI_Stb且使其持续翻转150个MDDI_Stb周期的持续时间,如点E处所示。
在点E之后的多达70个MDDI_Stb周期处,在这里为点F,客户机还没有识别到主机正在把MDDI_Data0驱动至逻辑1电平,因此客户机也把MDDI_Data0驱动至逻辑1电平。出现这种情况是因为客户机需要请求服务,但是没有识别到其正在试图与之通信的主机已经开始链路重启序列。在点G,客户机停止驱动MDDI_Data0,并且通过禁用其输出将其驱动器置于高阻状态。所述主机继续把MDDI_Data0驱动至逻辑1电平且使其持续80个附加周期。
主机把MDDI_Data0驱动至逻辑0电平且使其持续50个周期,如点H所示,并且客户机在MDDI_Data0处于逻辑0电平达40个MDDI_Stb周期之久后,该客户机开始寻找子帧报头分组。主机通过发送子帧报头分组开始在正向链路上传输数据,如点I所示。
VI.接口电气规范
在一个示例性的实施例中,使用数据选通信号或者DATA-STB格式对非归零(NRZ)格式的数据进行编码,这样就将时钟信息嵌入数据和选通信号中。所述时钟可以在没有复杂的锁相环的情况下加以恢复。数据由双向差分链路承载,这通常是使用有线线路电缆来实现的,当然如前所述也可以使用其它导线、印刷线路或者传送元件。选通信号(STB)是在仅由主机驱动的单向链路上承载的。每当存在背靠背(back-to-back)状态,0或1时,即数据线或者信号上保持不变时,选通信号将值翻转(0或者1)。
图40中以图形形式示出了如何使用DATA-STB(数据-选通)编码来传输如位“1110001011”的数据序列的实例。在图40中,DATA(数据)信号4002显示在信号时序图的顶行上,并且STB(选通)信号4004显示在第二行上,根据适当的需要(公共起点)二者每次都对准。随着时间推移,当DATA线路4002(信号)上出现的状态发生改变时,那么STB线路4004(信号)保持先前状态,从而,DATA信号的第一个‘1’状态与STB信号的第一个‘0’状态也就是它的起始值相互关联。然而,如果DATA信号的状态、电平不改变时,那么STB信号翻转至相对状态,即在本实例中为‘1’状态,如同图40中DATA提供又一‘1’值的情况那样。也就是说,每个位周期在DATA和STB之间有并且只有一个转变。因此,当DATA信号保持在‘1’时,STB信号再次转变,此时为‘0’,并且在DATA信号的电平改变为‘0’时,STB保持这一电平。当DATA信号保持在‘1’时,STB信号翻转至相反状态,即当前实例中的‘1’,以及随着DATA信号改变或者保持电平或者值,STB信号保持或者转变,等等。
收到这些信号时,对DATA和STB信号执行异或(XOR)运算以便产生时钟信号4006,该时钟信号显示在时序图的底部,以便与所需要的数据和选通信号相比较。图41中示出了一电路实例,该电路可用于在主机处根据输入数据生成DATA和STB输出或者信号,然后在客户机处根据DATA和STB信号恢复或者重获数据。
在图41中,传输部分4100用来生成并且经由中间信号路径4102传输原始DATA和STB信号,而接收部分4120用来接收信号并且恢复数据。如图41所示,为了从主机向客户机传送数据,把DATA信号输入到两个D-型触发器电路元件4104和4106,并且输入时钟信号以便触发所述电路。然后,使用两个差分线路驱动器4108和4110(电压模式)把两个触发电路的输出(Q)分别分为MDDI_Data0+、MDDI_Data0-和MDDI_Stb+、MDDI_Stb-的信号差分对。三输入同或(XNOR)门、电路或逻辑元件4112被连接以便接收DATA以及两个触发器的输出,并且生成用于向第二触发器提供数据输入的输出,这第二触发器则生成所述MDDI_Stb+、MDDI_Stb-信号。为方便起见,在XNOR门上画了一个反相泡泡,以便表明它有效地使生成选通信号的触发器的Q输出反相。
在图41的接收部分4120中,由两个差分线路接收器4122和4124中的每一个接收MDDI_Data0+、MDDI_Data0-和MDDI_Stb+、MDDI_Stb-信号,差分线路接收器根据差分信号生成单端输出。然后,放大器的输出被输入至双输入异或(XOR)门、电路或逻辑元件4126的每一输入端,所述逻辑元件4126用于产生时钟信号。所述时钟信号用来触发两个D-型触发器电路4128和4130中的每一个,所述D-型触发器电路用于通过延迟元件4132接收DATA信号的延迟版本,所述D-型触发器之一(4128)生成数据‘0’值,而另一个(4130)生成数据‘1’值。所述时钟还具有来自XOR逻辑的独立输出。由于时钟信息被分配给DATA和STB线路,所以状态之间的信号转变均慢于一半的时钟速率。由于使用DATA和STB信号的异或处理来再现时钟,所以与直接经由单根专用数据线发送时钟信号的情况相比,系统实际上容许在输入数据和时钟之间存在两倍的偏离量。
MDDI数据对MDDI_Stb+和MDDI_Stb-信号采用差分模式工作,以便最大程度上免除噪声的负面影响。差分对中的每一个都是利用传送信号的电缆或者导线的特性阻抗来并联端接(parallel terminated)的。通常,所有的并联终端电阻都驻留在客户机设备中。这近似于正向业务(从主机向客户机发送数据)的差分接收器,但其在电缆或其他导线或传送元件的驱动端部是用于反向业务的(从客户机向主机发送数据)。对于反向业务,信号由客户机驱动,由主机处的高阻抗接收器反射,并在客户机处端接。这避免了对于将增加电流消耗的双终端电阻的需要。其也工作在大于电缆往复行程延迟的倒数的数据速率上。所述MDDI_Stb+和MDDI_Stb-导线或信号只由主机驱动。
图42中示出了作为本发明的MDD接口一部分,可以用来实现传送信号的驱动器、接收器和终端电阻的元件的示例性配置。这一示例性接口使用低压检测,在这里是200mV,具有小于1伏的电压摆幅和低功耗。每个信号对的驱动器具有一个差分电流输出。当接收MDDI分组时,该MDDI_Data和MDDI_Stb对使用传统的差分接收器且电压阈值为零伏。在休眠状态,驱动器输出被禁用,并且并联终端电阻将每个信号对上的电压上拉到零伏。在休眠期间,在MDDI_Data0对上的专用接收器具有正125mV的偏移输入阈值,该阈值使得休眠线路接收器将未驱动信号对解释未逻辑零电平。
有时,主机或客户机同时将差分对驱动到逻辑1电平或逻辑0电平,以便确保当数据流方向改变时(从主机到客户机或从客户机到主机)在该差分对上的逻辑电平有效。输出电压范围和输出规范仍然应满足驱动到相同逻辑电平的同时驱动输出。在一些系统中,还必须将小电流驱动到端接的差分对中,以在休眠期间的特定时刻和链路从休眠状态被唤醒时创建的小偏移电压。在一些情况下,启用的偏移电流偏置驱动的电流电平表示为:IESD-and-Rx-内部ESD二极管和差分接收器输入,其中IESD-and-Rx≤1μA;ITx-Hi-Z-在高阻态的差分驱动器输出,其中ITx-Hi-z≤1μA;Iexternal-ESD-通过外部ESD保护二极管的泄漏,其中Iexternal-ESD≤3μA。
图101示出了这些泄漏电流中的每一种。在所有泄漏都同时出现时,上拉和下拉电路必须达到上述最差情况的泄漏条件下的最小的差分电压。对于没有外部ESD保护二极管的内部模式,总泄漏是≤4μA,对于具有外部ESD保护的外部模式,总泄漏是≤10μA。
表VIII描述了差分线路驱动器和线路接收器的电气参数和特性。在功能上,驱动器将输入端上的逻辑电平直接传送到正输出端,并且将所述输入端的反相传送到负输出端。从输入端到输出端的延迟与以差分方式驱动的差分线路很好地匹配。在大多数实现中,输出端上的电压摆幅小于输入端上的摆幅,从而使得功耗和电磁辐射最小化。表VIII表示最小电压摆幅大约0.5V。然而,其他值也是可用的,正如本领域技术人员而言所公知的那样,并且发明人考虑到在一些实施例中根据设计约束条件还可以是更小的值。
差分线路接收器具有与高速电压比较器相同的特性。在图41中,没有泡泡的输入端是正输入端,而有泡泡的输入端是负输入端。如果(V输入+)-(V输入-)大于0,那么输出端是逻辑1。用于描述它的另一方式是具有非常大(事实上无限的)增益,输出端钳制在逻辑0和1电压电平的差分放大器。
不同对之间的延迟偏离应被最小化,以便以最高的速度来操作差分传输系统。
在图42中,主机控制器4202和客户机或者显示器控制器4204经由通信链路4206传送分组。主机控制器采用一系列三个驱动器4210、4212和4214来接收待传送的主机DATA和STB信号,并且接收待传送的客户机数据信号,而客户机采用三个驱动器4230、4232和4234。负责主机DATA传递的驱动器(4212)采用使能信号输入端以便通常只有当需要从主机向客户机传送时,才允许激活通信链路。由于STB信号是作为数据传送的一部分来形成的,所以对于该驱动器(4212)而言没有采用附加使能信号。客户机DATA和STB接收器(4132、4230)驱动器中每一个的输入端都具有分别跨接(paceaccross)在其上的终端阻抗或电阻4218和4220。客户机控制器中的驱动器4234用于准备从客户机传送到主机的数据信号,其中输入侧的驱动器4214处理这些数据。
专用接收器(驱动器)4216和4236与DATA线路耦合或连接,并产生或使用先前所讨论的125mV的电压偏移,作为其他地方所讨论的休眠控制的一部分。该偏移使得休眠线路接收器将未驱动信号对解释为逻辑0电平。
上述驱动器和阻抗可以作为分立元件或者作为电路模块的一部分来形成,或者作为专用集成电路(ASIC)来形成,该专用集成电路充当更节省成本的编码器或者解码器方案。
很容易看出:使用标记为HOST_Pwr和HOST_Gnd的信号经由一对导线从主机设备向客户机设备或者显示器传送功率。信号的HOST_Gnd部分充当客户机设备的基准地和电源返回路径或者信号。HOST_Pwr信号充当客户机设备的电源,该电源由主机设备驱动。在示例性的配置中,对于低功率应用,所述客户机设备被允许使用最多500mA。可以从便携式电源提供HOST_Pwr信号,例如但不局限于驻留在主机设备的锂离子类型的电池或者电池组,并且相对于HOST_Gnd可以在3.2到4.3伏的范围内。
VII.时序特性
A.概述
图43说明由客户机采用以便确保来自主机的服务安全步骤和信号电平,以及由主机采用以便提供这种服务的步骤和信号电平。在图43中,所示出的第一部分信号示出了从主机传送的链路关闭分组,然后使用高阻抗偏置电路把数据线驱动为逻辑0状态。此时,已经禁用其驱动器的客户机显示器或者主机不传送数据。由于在链路关闭分组期间MDDI_Stb是激活的,所以可以在底部看见MDDI_Stb信号线路的一系列选通脉冲。当主机把偏置电路和逻辑驱动至零时,一旦这一分组结束并且逻辑电平变成0,所述MDDI_Stb信号线路也变为逻辑0电平。这种情况代表从主机传送的最后信号或者来自主机的服务结束,并且这可能发生在过去的任意时刻,而且这被包括以便示出服务在先中止以及在服务开始前的信号状态。如果需要,例如可以只发送信号以便把通信链路重置为适当的状态,而无需一个已经由这一主机设备进行的‘已知’的在先通信。
如图43所示,来自客户机的信号输出的逻辑电平最初被设置为零。换言之,客户机输出端处于高阻抗,驱动器被禁用。当请求服务时,客户机启用其驱动器并且向主机发送服务请求,这是一个时间段,表示为“tservice”,在这期间,所述线路被驱动为逻辑1电平。然后,在主机检测到所述请求之前,经过或者可能需要一定量的时间,这段时间表示为“thost-detect”,此后,主机通过把所述信号驱动至逻辑1电平来以链路启动序列做出响应。在这一刻,客户机不再维持(de-assert)所述请求,并且禁用服务请求驱动器,因此来自客户机的输出线路也进入0逻辑电平。在这期间,所述MDDI_Stb信号处于逻辑0电平。
在称为“trestart-high”的时间段内,所述主机把主机数据输出端驱动为‘1’电平,此后,所述主机把该逻辑电平驱动至零并且激活MDDI_Stb且在称为“trestart-low”的时间段内保持,此后,第一正向业务以子帧报头分组开始,然后传送正向业务分组。在trestart-low时间段期间以及后续子帧报头分组期间,所述MDDI_Stb信号是处于激活状态的。
表VII和VIII示出了上述各种时间段的长度的代表时间处理时间段,以及示例性的最小和最大数据速率之间的关系,其中:
t bit = 1 Link _ Data _ Rate , 其中Link_Data_Rate是单个数据对的位速率。
                                        表VII
参数 描述   最小值 典型值 最大值 单位
  tservice   显示器服务请求脉冲期间   60   70   80   微秒
  trestart-high   主机链路重启高脉冲期间   140   150   160   微秒
  trestart-low   主机链路重启低脉冲期间   40   50   60   微秒
tdisplay-detect   显示器检测链路重启序列的时间   1   50   微秒
thost-detect   主机检测服务请求脉冲的时间 1 50 微秒
tst-stb   从MDDI_Data0高到MDDI_Stb翻转的时间 0 10 微秒
1/tbit-min-perf   最小性能设备的链路数据速率 1 1000 Kbps
1/tbit-min-perf   最小性能设备的链路数据速率 0.001 1.1 Mbps
1/tbit-max-perf   设备的最大链路数据速率范围,外部的 0.001 400 Mbps
1/tbit-max-perf   设备的最大链路数据速率范围,内部的 550 Mbps
  反向链路数据速率   0.0005   50   Mbps
tbit   一个正向链路数据位的周期,外部模式 2.5 106 纳秒
  tbit   一个正向链路数据位的周期,   1.8   106   纳秒
  内部模式
                                       表VIII
参数 描述   最小值 典型值 最大值 单位
trestart-high 主机链路重启高脉冲期间 140 150 160   Stb时钟
trestart-low 主机链路重启低脉冲期间 50 50 50   Stb时钟
tstb-data-enable   MDDI_Stb完全被启用到MDDI_Data0被启用的链路重启序列 0 微秒
tclient-startup   主机在MDDI_Data0达到逻辑高电平之后保持MDDI_Stb在逻辑0电平的时间 100 纳秒
thost-detect   从MDDI_Data0高到MDDI_Stb翻转的时间 0 1000 微秒
Tclient-detect   客户机检测MDDI_Data0为逻辑高电平性能设备 60 80   stb时钟
tstb-startup   在主机开始MDDI_Stb翻转之前保持MDDI_Stb为逻辑0电平的时间 100 纳秒
本领域技术人员将易于理解,图41和42中举例说明的各个元件的功能是众所周知的,并且通过图43中的时序图确认图42中元件的功能。把图42中示出的串联的终端电阻和休眠电阻的细节从图41省略,这是因为对于描述如何执行数据-选通编码并且根据它恢复时钟而言,所述信息是不必要的。
B.数据-选通时序正向链路
表IX中示出了在正向链路上从主机驱动器输出端传送数据的切换特性。表IX用表格形式对照发生的某些信号转变的典型时间给出了所需要的最小和最大值。例如,从数据值(‘0’或者‘1’的输出)的开始到结束发生转变(称为ttdd-(host-output)的Data0到Data0转变)的典型时间长度是ttbit,而最小时间大约为ttbit-0.5纳秒,而最大时间大约为ttbit+0.5纳秒。图44中说明Data0、其它数据线(DataX)和选通线路(Stb)上的转变之间的相对间隔,其中示出了Data0至选通、选通至选通、选通至Data0、Data0至非Data0、非Data0至非Data0、非Data0至选通以及选通至非Data0的转变间隔,将其分别称为ttds-(host-output)、ttss-(host-output)、ttsd-(host-output)、ttddx-(host-output)、ttdxdx-(host-output)、ttdxs-(host-output)以及ttsdx-(host-output)
                                       表IX
参数   描述   最小值   典型值   最大值   单位
ttdd-(host-output)   Data0至Data0转变   ttbit-0.5   ttbit   ttbit+0.5   纳秒
ttds-(host-output)   Data0至选通转变   ttbit-0.8   ttbit   ttbit+0.8   纳秒
ttss-(host-output)   选通至选通转变   ttbit-0.5   ttbit   ttbit+0.5   纳秒
ttsd-(host-output)   选通至Data0转变   ttbit-0.8   ttbit   ttbit+0.8   纳秒
ttddx-(host-output)   Data0至非Data0转变   ttbit   纳秒
ttdxdx-(host-output)   非Data0至非Data0转变   ttbit-0.5   ttbit   ttbit+0.5   纳秒
ttdxs-(host-output)   非Data0至选通转变   ttbit   纳秒
ttsdx-(host-output)   选通至非Data0转变   ttbit   纳秒
表X中示出了用于在正向链路上传送同一信号的客户机接收器输入的典型MDDI时序要求。由于除了时间延迟之外讨论的是相同的信号,所以不需要新的附图来举例说明各个标记的信号特性或者意义,正如本领域技术人员将理解的那样。
                                        表X
  参数   描述   最小值   典型值   最大值   单位
  ttdd-(display-input)   Data0至Data0转变   ttbit-1.0   ttbit   ttbit+1.0   纳秒
  ttds-(display-input)   Data0至选通转变   ttbit-1.5   ttbit   ttbit+1.5   纳秒
  ttss-(display-ihput)   选通至选通转变   ttbit-1.0   ttbit   ttbit+1.0   纳秒
  ttsd-(display-input)   选通至Data0转变   ttbit-1.5   ttbit   ttbit+1.5   纳秒
  ttddx-(host-output)   Data0至非Data0转变   ttbit   纳秒
ttdxdx-(host-output)   非Data0至非Data0转变   ttbit   纳秒
ttdxs-(host-output)   非Data0至选通转变   ttbit   纳秒
ttsdx-(host-output)   选通至非Data0转变   ttbit   纳秒
图45和46分别说明当主机禁用或启用主驱动器时作为响应存在的延迟。在主机传送某些分组的情况下,诸如反向链路封装分组或者往返行程延迟测量分组,主机在所需分组被传送之后,禁用所述线路驱动器,所需分组例如为图45中举例说明的已经传送的参数CRC、选通对准以及全零分组。然而,如图45所示,所述线路的状态不必即刻从‘0’切换至所需要的高位值,尽管这是利用现有某些控制或电路元件就能够实现的,而是要经历被称为主机驱动器禁用延迟周期的时间段来做出响应。虽然这种切换事实上可以立即进行,从而使此时间段在长度上是0纳秒(nsec),但是它也可以很容易地延续更长的周期,即作为需要的最大周期长度的10纳秒,这是在保护时间1或者转向1分组周期期间进行的。
参见图46,当主机驱动器被启用以便传送诸如反向链路封装分组或者往返行程延迟测量分组这样的分组时,人们会看到信号电平发生改变。在这里,在保护时间2或者转向2分组周期之后,主机驱动器被启用并且开始驱动电平(在这里是‘0’),在经历称为主机驱动器启用延迟周期的时间段后接近或者达到该值,该主机驱动器启用延迟周期是在第一分组被发送之前,在驱动器重新启用周期期间出现的。
客户机设备的驱动器和信号传送出现类似的过程,这里的客户机为显示器。下面,表XI中示出了这些周期的长度的通用准则以及它们各自的关系。
                     表XI
  描述   最小值   最大值   单位
  主机驱动器禁用延迟   0   10   纳秒
  主机驱动器启用延迟   0   2.0   纳秒
  显示器驱动器禁用延迟   0   10   纳秒
  显示器驱动器启用延迟   0   2.0   纳秒
C.数据-选通时序反向链路
图47和48中示出了用于在反向链路上从客户机驱动器输出端传送数据的数据和选通信号的切换特性以及时序关系。下面讨论某些信号转变的典型时间。图47说明在主机接收器输入端,正在传送数据的时序和选通脉冲的前后沿之间的关系。也就是什么是称为选通信号的上升沿和前沿的建立时间tsu-sr,以及什么是称为选通信号的后沿或者下降沿的建立时间tsu-sf。这些建立周期的典型持续时间最少是在大约8纳秒的量级。
图48说明由反向数据时序呈现的切换特性和相应的客户机输出延迟。在图48中,人们可以看出被传送数据的时序和选通脉冲的前后沿之间的关系,以便说明导致延迟的原因。也就是什么是称为选通信号的上升沿或者前沿与数据(有效)之间的传播延迟tpd-sr,以什么是称为做数据和选通信号的后沿或者下降沿之间的传播延迟tpd-sf。这些传播延迟周期的典型最大时间长度大约是在8纳秒的量级。
VIII.链路控制(链路控制器操作)的实现方式
A.状态机分组处理器
经由MDDI链路传送的分组通常以大约300Mbps或更大的速率,如400Mbps,被非常快速地传递,当然需要的时候肯定也能支持更低的速率。对于目前可以购买到的(经济的)通用微处理器等等而言,这种类型的总线或者传送链路的速度太高以至无法控制。因此,用于实现这种类型的信号传送的实际实现方式在于利用可编程状态机来解析输入分组流以便产生被传送或被重定向至它们应该去的适当的音频-视频子系统的分组。这种设备是公知的,并且使用通常专用于有限数目的操作、功能或者状态的电路,以便实现所需要的高速度或者超高速操作。
可以将通用控制器、处理器或者处理元件用于更适当地作用于或者操纵具有较低速度要求的某些信息,诸如控制或者状态分组。收到那些分组(控制、状态或者其它预定义分组)时,状态机应该让它们经由数据缓冲器或者类似处理元件传递至通用处理器,从而能够对所述分组进行操作以便提供所需要的结果(效果),同时音频和视觉分组被传送到其适当目的地以便进行动作。如果将来,制造出来微处理器或者其它通用控制器、处理器或者处理元件能够实现更高数据速率的处理能力,那么还可以使用这种设备的软件控制来实现下面讨论的状态或者状态机,所述设备通常作为诸如储存在存储元件或者介质上的程序。
在一些实施例中,所述通用处理器功能可以利用处理能力或者多余的周期来实现,所述处理能力或者多余的周期可以从计算机应用中的微处理器(CPU)或者控制器、处理器、数字信号处理器(DSP)、专用电路或者无线设备中发现的ASIC得到,其实现的方式非常类似于某些调制解调器或者图像处理器利用计算机中发现的CPU的处理能力来执行某些功能,并且减少硬件的复杂性和成本。然而,这种周期的共享或者使用会给处理速度、时序或者这种元件的整个操作带来消极影响,因此在许多应用中,专用电路或元件更适合于这种通用处理。
为了能够在显示器(微型显示器)上观看图像数据,或者可靠地接收由主机设备发送的所有分组,所述客户机信号处理与正向链路通道时序同步。也就是说,到达客户机和客户机电路的信号在时间上基本上要同步,以便正确进行信号处理。图49中说明可以实现这种同步的信号处理步骤或者方法实现的状态的高级图表。在图49中示出用于状态机4900的可能正向链路同步“状态”被分类为一个“异步帧状态”4904,两个“获得同步状态”4902和4906以及三个“同步中状态”4908、4910和4912。
如开始步骤或者状态4902所示,诸如呈现设备之类的显示器或者客户机以预选“非同步(no sync)”状态开始,并且搜索检测到的第一子帧报头分组中的唯一字。应当注意,这种非同步状态表示选择类型1接口时的最小通信设置或者“后退(fall-back)”设置。当在搜索期间发现所述唯一字时,客户机保存子帧长度字段。在处理这一第一帧时不对CRC位进行校验,或者直到获得同步为止才校验。如果这一子帧长度是零,那么同步状态处理因此继续进行至状态4904,在这里标记为“异步帧(async frame)”状态,这表明还没有实现同步。在图49中,在处理中把这一步骤标记为具有cond 3,或者条件3。另外,如果帧长大于零,那么同步状态处理进行到状态4906,其中接口状态被设定为“发现一个同步帧”。在图49中,把处理中的这一步骤标记为具有cond 5,或者条件5。另外,如果对于帧长度大于零的帧,状态机看到帧报头分组并且确定具有良好的CRC,那么处理进行到“发现一个同步帧”状态。在图49中,将其标记为符合cond6,或者条件6。
在系统处于除“非同步”之外的状态的每一种情况下,当确定了子帧报头分组有良好的CRC结果,接口状态改变为“同步中”状态4908。在图49中,把处理中的这一步骤标记为符合cond 1,或者条件1。另一方面,如果任何分组中的CRC不正确,那么同步状态处理继续进行或者返回到“非同步帧”状态的接口状态4902。在图49的状态图中,将处理中的这一部分标记为符合cond 2,或者条件2。
B.同步获得时间
所述接口可以被配置成在判定失去同步之前允许特定数量的“同步错误”,并且返回到“非同步帧”状态。在图49中,一旦状态机已经达到“同步中状态”并且未发现错误,那么它将连续地遇到cond 1的结果,并且保持在“同步中”状态。然而,一旦检测到一个cond 2结果,那么处理过程把状态改变为“一个同步错误(one-sync-error)”状态4910。在这一刻,如果处理过程检测到又一cond 1的结果,那么状态机返回到“同步中”状态,否则它遇到又一cond 2的结果,并且移动到“两个同步错误”状态4912。此外,如果cond 1发生,那么处理把状态机返回至“同步中”状态。否则,遇到又一cond 2,并且状态机返回到“非同步”状态。还可以理解的是,如果接口遇到“链路关闭分组”,那么这将让链路终止数据传送并且返回到“非同步帧”状态,就像没有什么可以与之同步似的,在图49所示的状态图中,将其称为符合cond 4。
应该理解的是,有可能存在唯一字的重复“错误副本(falsecopy)”,它可能出现在子帧内的某个固定位置处。在那些情况下,状态机极其不可能与这个子帧同步,这是因为进行处理时为了使MDD处理进行到“同步中”状态,子帧报头分组上的CRC也必须是有效的。
子帧报头分组中的子帧长度可以被设置为零,以便表明在链路关闭,并且将MDD接口设置在或者配置为空闲的休眠状态之前,主机只传输一个子帧。在这种情况下,客户机在检测到子帧报头分组之后必须立即经由正向链路接收分组,这是因为在链路转变至空闲状态以前只发送了一个子帧。在正常的或者典型的操作中,子帧长度是非零的,并且客户机只处理正向链路分组,而所述接口处于在图49中集中显示为“同步中”状态的那些状态。
外部模式的客户机设备可连接到主机,而主机已正在发送正向链路序列。在这种情况下,客户机必须同步到主机。客户机同步到正向链路信号所需的时间随着子帧大小和正向链路数据速率而改变。当子帧尺寸较大时,在正向链路中检测到作为所述随机数据或者更多随机数据一部分的唯一字的“错误副本”的可能性较大。同时,当正向链路数据速率较慢时,从错误检测中恢复的能力更低,而执行这一操作所花费的时间更长。
C.初始化
如前所述,在“启动”时,主机配置正向链路以便以低于最小要求或者需要的1Mbps的数据速率工作,或者就以此速率工作,并且针对给定应用适当地配置子帧长度和介质帧速率。也就是说,正反链路都使用类型1接口开始工作。当主机确定客户机显示器(或者其它类型的客户机设备)的能力或者所需要的配置时,通常只是临时使用这些参数。所述主机经由正向链路发送或者传送子帧报头分组,其后跟随有反向链路封装分组,该分组将请求标志的位‘0’设置为值一(1),以便请求显示器或者客户机以客户机能力分组来响应。一旦显示器在(或者与)正向链路上获得同步,它就经由反向链路或者通道发送客户机能力分组和客户机请求和状态分组。
主机检查客户机能力分组的内容,以便出于最优考虑或者所需要的性能级别,确定如何重新配置链路。主机检查协议版本和最小协议版本字段以便确认所述主机和客户机使用了彼此兼容的协议版本。所述协议版本通常是保存为客户机能力分组的开头两个参数,因此即使协议的其它元素不兼容或者不能完全理解为兼容,也可以确定兼容性。
D.CRC处理
对于所有分组类型来说,分组处理器状态机确保CRC校验器被适当或正确地控制。当检测到CRC比较产生了一个或多个错误时,还增加CRC错误计数器,并且在被处理的每一子帧开始时重置所述CRC计数器。
E.可选失去同步校验
虽然上述系列步骤或者状态能够产生更高数据速率或者吞吐速度,但是申请人已经发现:还可以使用其它的替换设置或者条件的改变来有效地实现甚至更高的数据速率或者吞吐量,其中客户机使用这些条件来声明与主机失去同步。本发明新的实施例具有相同的基本结构,但是改变状态的条件发生了变化。另外,实现新的计数器以便有助于进行子帧同步检查。相对于图63给出了这些步骤和条件,该图示出用于建立方法或者状态机的操作的一系列状态和条件。为了清楚,只示出了“获得同步状态”和“同步中状态”部分。另外,由于得到的状态与状态机本身基本上是相同的,所以它们使用相同的编号。然而,改变状态(和状态机操作)的条件多少有些改变,因此为了使两个图都清楚,全部进行重新编号(1,2,3,4,5和6相对于61,62,63,64,和65),以便于识别差异。由于在这一讨论中不考虑异步帧状态,所以在这个图中有一个状态(4904)和条件(6)不再使用。
在图63中,所述系统或者客户机(用于显示或者呈现)从预选“非同步”状态4902中的状态机5000开始,这与图49相同。从非同步条件4902改变状态的第一次状态改变是在发现同步模式的条件64下进行的。假定子帧报头的CRC也在这个分组上传递(符合条件61),分组处理器状态机的状态可以改变为同步中状态4908。同步错误也就是条件62将让状态机切换至状态4910,并且当第二次出现这个条件时切换至状态4912。然而,已经发现MDDI分组的任何CRC失败都将让状态机移出同步中状态4908,进入一个同步错误状态4910。任何MDDI分组的又一CRC失败会导致移到两个同步失败状态4912。利用正确的CRC值解码的分组将导致状态机返回同步中状态4908。
发生了变化的地方是利用了CRC值或者对‘每一’分组的CRC确定。也就是说,要让状态机注意(look at)每一分组的CRC值以便确定失去同步,而不是只观察子帧报头分组。在这一结构或者过程中,不是使用唯一字和仅仅使用子帧报头CRC值来确定失去同步。
这种新的接口实现方式允许MDD接口链路更加快速地识别同步失败,从而同样更加迅速地从中恢复。
为了使这种系统更加稳固,客户机还应该添加或利用子帧计数器。于是,在信号中唯一字被预期到达或者出现时,客户机检查唯一字的存在。如果唯一字没有在正确时间出现,那么客户机可以更加快速地识别出同步失败已经出现,这种识别出同步失败的速度要比它必须等待几(在这里是三)个分组时间或者周期快的多,且其中所述分组要比子帧长度大得多。如果对唯一字的测试表明它未出现,换言之,时序是不正确的,那么客户机立即声明链路失去同步,并且移到非同步状态。检查正确的唯一字出现的过程向状态机添加了条件65(cond65),说明唯一字不正确。如果期望在客户机上接收到子帧分组但是不相配,那么客户机可以立即进入非同步状态4902,从而节省等待多个同步错误(条件62)的附加时间,该多个错误同步通常是通过状态4910和4912而遇到的。
这种改变使用附加计数器或者客户机核心中的计数功能来对子帧长度计数。在一个实施例中,使用递减计数功能,如果计数器期满,就中断目前正处理的任何分组的传送,以便检查子帧唯一字。作为选择,所述计数器也可以递增计数,将所述计数与所需要的最大或者特定需要值相比,在这个值对应的时刻校验当前分组。这一过程保护客户机不用对客户机上不正确地接收的长度特别长的分组解码。如果子帧长度计数器需要中断正被解码的某些其它分组,那么由于分组不应跨越子帧边界,所以可以确定已经失去同步。
IX.分组处理
对于状态机接收的上述每个类型的分组来说,它进行特定的处理步骤或者系列步骤来实现接口的操作。通常按照下面表XII列出的示例性处理过程来处理正向链路分组。
                          表XII
 分组类型   分组处理器状态机响应
子帧报头(SH)   确认良好的分组,获取子帧长度字段并且向通用处理器发送分组参数。
 填充符(F)   忽略数据。
视频流(VS)   解释视频数据格式描述符以及其它参数,必要时对已打包的像素数据,必要时通过色彩映射变换像素,并且把像素数据写入位图中的适当位置。
音频流(AS)   向音频采样时钟发生器发送音频采样速率设置,分离指定大小的音频采样,必要时拆开音频采样数据,并且把音频采样路由至适当音频采样FIFO
色彩映射(CM)   读取色彩映射大小和偏移参数,并且把色彩映射数据写入色彩映射存储器或者存储单元。
反向链路封装(REL)   便于在适当时间按照反向发送分组。检查反向链路标志,需要的时候发送客户机能力分组。只要合适,还发送客户机请求和状态分组。
客户机能力(CC)   当主机请求时,使用反向链路封装分组的反向链路标志字段来发送这种类型的分组。
键盘(K)   如果存在键盘型设备并且需要使用,就把这些分组传递至与该键盘类型设备通信的通用处理器并且从该通用处理器接收这些分组。
  分组类型   分组处理器状态机响应
指示设备(PD)   如果存在指示型设备并且需要使用,就把这些分组传递至与该指示类型设备通信的通用处理器并且从该通用处理器接收这些分组。
  链路关闭(LS)   记录链路被关闭的事实并且通知通用处理器。
  客户机服务请求和状态(CSRS)   发送这个分组作为反向链路封装分组中的第一分组。
位块传送(BPT)   解释诸如视频数据格式描述符之类的分组参数,确定哪些像素首先移动,并且根据需要移动位图中的像素。
位图区域填充(BAF)   解释分组参数,必要时通过色彩映射来变换像素,并且把像素数据写入位图中的适当位置,
位图图案填充(BPF)   解释分组参数,必要时拆开已打包的像素数据,必要时通过色彩映射来变换像素,并且把像素数据写入位图中的适当位置。
  通信链路通道(CLC)   直接把这一数据发送至通用处理器。
  休眠期间的客户机服务请求(CSR)   通用处理器控制发送请求的低级功能并且检测与其自身上的链路重启的竞争。
接口类型切换请求(ITHR)和接口类型确认(ITA)   可以这些分组可传递至通用处理器并从中传递出来。用于接收这种类型的分组并且以确认来构成响应的逻辑基本上是最小的。因此,这一操作还可以在分组处理器状态机内实现。得到的切换作为低级物理层动作存在,并且不可能影响通用处理器的功能。
执行类型切换(PTH)   可能直接作用于这种分组或者通过把这种分组传送至通用处理器,以及命令硬件进行模式变换来实现。
X.降低反向链路数据速率
发明人已经观察到:用于主机链路控制器的某些参数可以按照特定的方式进行调节或者配置,以便实现最大或更优化(规模)的反向链路数据速率,这是非常需要的。例如,在用于传送反向链路封装分组的反向数据分组字段期间,MDDI_Stb信号对进行翻转(toggle)从而以正向链路数据速率的一半产生周期性的数据时钟。出现这种情况是因为在好像MDDI_Data0正在发送全零的情况下,所述主机链路控制器生成对应于MDDI_Data0信号的MDDI_Stb信号。MDDI_Stb信号从主机被传送至客户机,在客户机中将它用来生成时钟信号以便从客户机传送反向链路数据,反向数据借此被送回主机。图50中示出了在采用MDDI的系统中在正向和反向路径上的信号传送和处理遇到的典型延迟量。在图50中,在Stb+/-生成、电缆传送至客户机、客户机接收器、时钟生成、信号时钟、Data0+/-生成、电缆传送至主机和主机接收器级的处理部分附近,分别示出了一系列延迟值,即:1.5纳秒、8.0纳秒、2.5纳秒、2.0纳秒、1.0纳秒、1.5纳秒、8.0纳秒以及2.5纳秒。
根据正向链路数据速率以及遇到的信号处理延迟,可能需要MDDI_Stb信号上一周期以上的时间来用于“往返行程”效应或者完成一组事件,这导致了时间或者周期量的不期望的消耗。为了防止这一问题的发生,反向速率除数使反向链路上的一位时间得以跨越MDDI_Stb信号的多个周期。这意味着反向链路数据速率小于正向链路速率。
应该注意的是,通过所述接口的信号延迟的实际长度随着每一特定主机-客户机系统或者使用的硬件不同而有所不同。尽管不是必需的,但是通过使用往返行程延迟测量分组来测量系统中的实际延迟,由此将反向速率除数设置为最佳值,每一系统通常可以更好地运行。主机可以支持较简单但以低速度运行的基本数据采样,或者也可支持较复杂但支持更高反向数据速率的高级数据采样。同样,也考虑了支持这两种方法的客户机能力。
往返行程延迟是通过让主机把往返行程延迟测量分组发送至客户机来测量的。客户机通过在该分组中称为测量周期字段的预选测量窗内或者在这个预选测量窗期间里,把一个1序列发送回主机,以响应这个分组。先前描述了这一测量的详细时序。往返行程延迟用来确定可以对反向链路数据安全采样的速率。
往返行程延迟测量包括确定、检测在测量周期字段开始和在主机接收到来自客户机的0xff、0xff、0x00响应序列这个时间段开始之间出现的正向链路数据时钟间隔的数目,或者对其进行计数。应注意的是,有可能在测量计数即将增加以前的一小部分正向链路时钟周期,收到来自客户机的响应。如果将这一未修改的值用来计算反向速率除数,那么它会导致由于不可靠的数据采样而在反向链路上产生位错误。图51中说明这种情况的一个实例,其中按照图形方式示出了代表主机处MDDI_Data、主机处MDDI_Stb、主机内部的正向链路数据时钟以及延迟计数的信号。在图51中,在延迟计数即将从6增加到7之前的一部分正向链路时钟周期,从客户机收到响应序列。如果把延迟假定为6,那么主机将刚好转变之后或者可能在位转变当中对反向数据采样。这样做会导致主机处采样错误。为此,测量出的延迟在用来计算反向速率除数以前,通常应该加1。
反向速率除数是主机对反向链路数据采样以前应该等待的MDDI_Stb周期数目。由于MDDI_Stb是以正向链路速率一半来周期性循环的,所以正确的往返行程延迟测量结果需要除以2,然后进位舍入至下一整数。这一关系表示为公式是:
Figure A20048003924101341
对于给定实例来说,它变为:
如果用于这一实例的往返行程延迟测量结果是7而不是6,那么反向速率除数也等于4。
所述反向链路数据由主机在反向链路时钟的上升沿时刻采样。主机和客户机(显示器)中都存在计数器或者类似已知的电路或设备用来生成反向链路时钟。计数器被初始化,因此反向链路时钟的第一上升沿出现在反向链路封装分组的反向链路分组字段的第一位开始处。在图52中说明用于以下给出的实例的情况。所述计数器在MDDI_Stb信号每一上升沿增加1,并且计数数目一直增加直到反向链路封装分组中的反向速率除数参数设定该计数返回(wrap around)零。由于MDDI_Stb信号是以正向链路速率的一半来翻转的,所以反向链路速率是正向链路速率的一半除以反向速率除数。例如,如果正向链路速率是200Mbps,而反向速率除数是4,那么反向链路数据速率可以表示为:
1 2 · 200 Mbps 4 = 25 Mbps
图52中示出了反向链路封装分组中的MDDI_Data0和MDDI_Stb信号线的时序的实例,其中用于举例说明的分组参数具有如下值:
分组长度=1024(0x0400)            转向1长度=1
分组类型=65(0x41)                转向2长度=1
反向链路标志=0                   反向速率除数=2
参数CRC=0xdb43                   全零是0x00
分组长度和参数CRC字段之间的分组数据是:
0x00,0x04,0x41,0x00,0x02,0x01,0x01,0x43,0xdb,0x00,……
从客户机返回的第一反向链路分组是具有分组长度7和分组类型70的客户机请求和状态分组。这个分组从字节值0x07,0x00,0x46,……等等开始。然而,图52中只可以看到第一字节(0x07)。在图中这个第一反向链路分组时间上移动了一个反向链路时钟周期,以便举例说明实际的反向链路延迟。把主机至客户机往返行程延迟为零的理想波形显示为虚线轨迹。
传送参数CRC字段的MS字节,CRC的前面是分组类型,然后是全零字段。当来自主机的数据改变电平时,来自主机的选通从一切换至零,并且回到一,从而形成较宽的脉冲。当数据变为零时,选通信号以更高速率切换,只有数据线上的数据改变导致在对准字段的末尾附近产生改变。对于图中其余部分而言,由于数据信号具有固定0或1电平且延续若干时间周期,所以选通信号以所述更高速率切换,并且这种转变落在脉冲图案(沿)上。
主机的反向链路时钟处于零,直到转向1周期结束为止,此时时钟开始支持反向链路分组。图中较低部分的箭头表示数据采样的时刻,正如从公开内容的其余部分可明显看出的那样。图中示出正传送的分组字段的第一字节(在这里是11000000)在转向1之后开始出现,并且线路电平因为主机驱动器被禁用而稳定。在数据信号的虚线中可以看出第一位的传递(passage)中的延迟,并且正如位三所看到的那样。
在图53中可以看到基于正向链路数据速率的反向速率除数的典型值。实际的反向速率除数是作为往返行程链路测量结果而确定的,以便确保正确的反向链路操作。第一区域5302对应于安全操作区域,第二区域5304对应于边缘性能区域,而第三区域5306则表明大不可能正确工作的设置。
在正向或者反向链路上利用所述接口类型设置中的任意设置工作的时候,往返行程延迟测量和反向速率除数设置是相同的,这是因为它们是根据实际时钟周期而不是传输或者接收的位数来表示并且操作的。
XI.转向和保护时间
如早先讨论的那样,反向链路封装分组中的转向1字段和往返行程延迟测量分组中的保护时间1字段,指定了允许在启用客户机接口驱动器以前禁用主机接口驱动器的时间长度值。转向2和保护时间2字段提供用于允许在启用主机驱动器以前客户机驱动器被禁用的时间值。保护时间1和保护时间2字段通常以不能调节的预置长度或者预选长度值来填充。根据正使用的接口硬件,可以使用经验数据来获得这些值并且在某些情况下调节它们以便改善操作。
有几个因素有助于确定转向1的长度,这些因素是正向链路数据速率以及主机中MDDI_Data驱动器的最大禁用时间。在表XI中说明了最大主机驱动器禁用时间,其中表明驱动器花费最多约10纳秒的时间来完成禁用并且约2纳秒来完成启用。主机驱动器被禁用所需的正向链路时钟的最小数目按照如下关系来表示:
转向1的允许值范围按照如下关系来表示:
Figure A20048003924101362
其中对于类型1来说,接口类型因子是1,对于类型2来说是2,对于类型3来说是4,而对于类型4来说是8。
结合上述两个等式可以看出,接口类型因子项可以抵消,于是转向1被定义为:
Figure A20048003924101371
例如,1500Mbps的类型3正向链路会使用以下转向1延迟:
Figure A20048003924101372
随着往返行程延迟增加,时序边缘从主机被禁用的时间点改进到客户机被启用的时间点。
用于确定通常用于转向2的时间长度的因素是正向链路数据速率、客户机中MDDI_Data驱动器的最大禁用时间以及通信链路的往返行程延迟。禁用客户机驱动器所需要的时间的计算基本上与上述主机驱动器的情况相同,并且按照如下关系被定义为:
Figure A20048003924101373
并且转向2的允许值范围可以表示为:
Figure A20048003924101374
例如,具有10个正向链路时钟的往返行程延迟的1500Mbps的类型3正向链路通常使用以下数量级的转向2延迟:
Figure A20048003924101375
XII.可选反向链路时序
虽然使用上述的时序和保护带(guard band)能够实现高数据传送速率接口,但是本发明的发明人已经发现了一种技术,通过改变反向时序发现(reverse timing discovery)来提供短于往返行程时间的反向位长。
如上所述,反向链路时序的先前方式被如此配置,即,从反向时序分组的保护时间1的最后位开始计数时钟周期的数目,直到在IO时钟的上升沿对第一位进行采样为止。这就是用于给MDD接口的输入和输出进行定时的时钟信号。于是,反向速率除数的计算由以下等式给出:
Figure A20048003924101381
这样做提供了等于往返行程延迟的位宽度,由此能够得到非常可靠的反向链路。然而,已经说明了反向链路能够更快地运行,或者以更高数据传送速率运行,这是发明人希望利用的。本发明新的技术允许利用接口的附加能力来达到更高速度。
这是通过让主机对时钟周期数目进行计数,直到对一个1完成采样来实现的,但是在反向时序分组期间,主机在上升沿和下降沿上均对数据线采样。这样做允许主机选择反向位内的最有用的甚至最佳采样点,以便确保所述位是稳定的。也就是说,发现最有用的或者最佳的上升沿来对反向业务的反向封装分组上的数据进行采样。最佳采样点取决于反向链路除数和是在上升沿还是下降沿检测到第一个1。新的时序方法允许主机只寻找在反向链路时序内由客户机发送的0xFF0xFF 0x00模式的第一沿,以便确定在反向封装分组中的什么地方采样。
在图64中说明到达的反向位并且该位将如何寻找各种反向速率除数的实例,以及从保护时间1的最后位开始已经出现的时钟周期数目。在图64中可以看出,如果第一沿出现在上升和下降沿(标记为上升/下降)之间,那么对于反向速率除数为1的最佳采样点,即该最佳采样点是标记为‘b’的时钟周期沿,因为它是反向位周期内出现的唯一上升沿。对于反向速率除数为2的情况来说,由于周期沿‘c’比‘b’更接近位沿,所以最佳采样点可能仍是时钟周期前沿‘b’。对于反向速率除数为4的情况来说,最佳采样点可能是时钟周期沿‘d’,因为它更加接近其值可能已经稳定的反向位的后沿。
回到图64,然而,如果第一沿出现在下降和上升沿(标记为下降/上升)之间,那么对于反向速率除数为1的最佳采样点是采样点时钟周期沿‘a’,因为这是反向位时间周期内出现的唯一上升沿。对于反向速率除数为2的情况来说,最佳采样点是沿‘b’,并且对于反向速率除数为4的情况来说,最佳采样点是沿‘c’。
可以看出,由于最佳采样点应该是最靠近中部的上升沿,所以随着反向速率除数越来越大,最佳采样点变得更便于确定或者选择。
主机使用这一技术可以找到在数据线上观察到的时序分组的上升数据沿之前的上升时钟沿的数目。因此,基于所述沿是出现在上升和下降沿之间还是下降和上升沿之间,以及反向速率除数是什么,有多少附加时钟周期要添加到计数器,就可做出决定,以便合理地确保所述位的采样始终尽可能靠近中部。
一旦主机已经选择或者确定时钟周期的数目,它就可以利用客户机来“调查(explore)”各种反向速率除数,以便确定特定反向速率除数是否能用。所述主机(和客户机)可以以除数1启动,并且校验从客户机接收的反向状态分组的CRC,以便确定这一反向速率是否能够正确地传送数据。如果CRC被破坏,那么有可能存在采样错误,主机可以增大反向速率除数,并试图再次请求状态分组。如果第二次请求的分组被破坏,那么可以再次增大除数,并且再次进行请求。如果这个分组被正确地解码,那么这一反向速率除数可以用于所有将来的反向分组。
这一方法是有效的并且是有用的,因为自从初始的往返行程时序估算开始反向时序不应该发生改变。如果正向链路是稳定的,那么即使存在反向链路故障,客户机也应该继续对正向链路分组解码。当然,由于这一方法不确保反向链路是理想的,所以设置所述链路的反向链路除数仍是主机的职责。另外,所述除数将主要取决于用于生成IO时钟的时钟质量。如果该时钟具有很大的抖动量,那么存在采样误差的可能性更大。这一错误概率随着往返行程延迟中的时钟周期量的增加而增加。
这种实现方式看来似乎最适用于类型1的反向数据,但是对类型2到类型4的反向数据来说可能会出现问题,这是由于数据线之间的偏离可能过大,以至于无法以最适用于仅仅一个数据对的速率运行所述链路。然而,即使是采用类型2至类型4进行操作,所述数据速率也许不需要降低到先前方法。如果在每一数据线上重复该方法以便选择理想的或者最佳时钟采样位置,那么这种方法也可能起到最好的作用。如果对于每个数据对来说,它们处于相同的采样时间,那么这种方法能够继续工作。如果它们处于不同的采样周期,那么可以使用两个不同的方式。第一种是为每个数据点选择所需要的或更优化的采样位置,即使对于每一数据对而言该采样位置并不同。于是,所述主机能够在对来自所述数据对集合的所有位进行采样之后重构数据流:类型2是两位,类型3是四位而类型4是八位。对于主机而言,另一个选项是增大反向速率除数,从而使每一数据对的数据位可以在相同的时钟沿采样。
XIII.链路延迟和偏离的效应
正向链路上MDDI_Data对和MDDI_Stb之间的延迟偏离会限制可能的最大数据速率,除非采用延迟偏离补偿。产生时序偏离的延迟差异起因于以下概述的控制器逻辑、线路驱动器和接收器以及电缆和连接器。
A.由偏离限制的链路时序分析(MDDI类型1)
1.类型1链路的延迟和偏离实例
图57中示出了类似于图41所示的,用于支持类型1接口链路的典型接口电路。在图57中,为MDDI类型1的正向链路的多个处理或接口级的每个示出了传播延迟和偏离的示例性值或者典型值。MDDI_Stb和MDDI_Data0之间的延迟中的偏离导致输出时钟的占空比(duty-cycle)扭曲。使用触发器5728、5732的接收器触发器(RXFF)级的D输入端的数据在时钟沿之后稍微改变,从而该数据能够被可靠地采样。所述图示出了两个级联延迟线5732a和5732b,其利用产生这一时序关系来解决两个不同问题。在实际实现方式中,可以将它们合并成单个延迟元件。
图58示出了用于经由所述接口进行示例性信号处理的类型1链路上的数据、Stb和时钟恢复时序。
通常明显的总延迟偏离出现或者来自如下级中偏离的总和:具有触发器5704、5706的发射器触发器(TXFF);具有驱动器5708、5710的发射器驱动器(TXDRVR);电缆(CABLE)5702;具有接收器5722、5724的接收器线路接收器(RXRCVR)以及接收器XOR逻辑(RXXOR)。延迟1 5732a应该匹配或者超过RXXOR级的XOR门5736的延迟,通过如下关系可确定该延迟:
            tPD-min(延迟1)≥tPD-max(XOR)
最好符合这一要求,以便接收器触发器5728、5732的D输入端不会在其时钟输入以前改变。如果RXFF的保持时间是零,那么这是有效的。
延迟2(Delay2)的目的或功能在于按照如下关系来补偿RXFF触发器的保持时间:
              tPD-min(延迟2)=tH(RXFF)
在许多系统中,这个值将是零,因为保持时间是零,在这种情况下,延迟2的最大延迟当然也是零。
接收器XOR级中偏离的最坏情况是数据-迟到/选通-提早这种情况,其中延迟1处于最大值,而来自XOR门的时钟输出按照如下关系尽可能早地到达:
     t偏离-max(RXXOR)=tPD-max(Delay1)-tPD-min(XOR)
在这种情况下,数据可以在两个位周期n和n+1之间改变,且改变时刻非常接近位n+1被按照时钟打入接收器触发器的时刻。
MDDI类型1链路的最大数据速率(最小位周期)是MDDI链路中通过所有驱动器、电缆和接收器而遇到的最大偏离加上设置到RXFF级中的总计数据的函数。链路中直到RXRCVR级输出端的总延迟偏离可以表示为:
t偏离-max(LINK)=t偏离-max(TXFF)+t偏离-max(TXDRVR)+t偏离-max(电缆)+t偏离-max(RXRCVR)
并且最小位周期由如下等式给出:
t位-min=t偏离-max(链路)+t偏离-max(RXXOR)+tPD-max(Delay2)+tSU(RXFF)
在图57所示的实例中,t偏离-max(链路)=1.4纳秒,并且最小位周期可以表示为:
                t位-min=1.4+0.3+0.2+0.5=2.4纳秒,
或者近似表示为416Mbps。
B.MDDI类型2、类型3和类型4的链路时序分析
在图59中示出了类似于图41和57中示出的典型接口电路,用于支持类型2、3、和4的接口链路。在TXFF(5904)、TXDRVR(5908)、RXRCVCR(5922)和RXFF(5932,5928,5930)级中使用附加元件,以便支持附加信号处理。在图59中,为MDDI类型2正向链路的多个处理或接口级的每个示出了传播延迟和偏离的示例性值或者典型值。除影响输出时钟占空比(duty-cycle)的MDDI_Stb和MDDI_Data0之间的延迟中的偏离以外,在这两个信号和其它MDDI数据信号之间也存在偏离。由触发器5928和5930组成的接收器触发器B(RXFFB)级的D输入端的数据,在时钟沿之后稍微改变,从而能够可靠地对该数据进行采样。如果MDDI_Data1比MDDI_Stb或者MDDI_Data0提早到达,那么MDDI_Data1应被延迟,以便至少以延迟偏离量来对MDDI_Data1进行采样。为了实现这些,使用延迟3(Delay3)延迟线来延迟数据。如果MDDI_Data1比MDDI_Stb和MDDI_Data0晚到,并且它也通过延迟3来延迟,那么MDDI_Data1改变处的点被移动至更接近下一时钟沿。这一过程决定了MDDI类型2、类型3或者类型4链路的数据速率的上限。图60A、60B和60C中示出了两个数据信号和MDDI_Stb相对于彼此的时序或者偏离关系的某些示例性的不同可能性。
当MDDI DataX尽早到达时,为了在RXFFB中可靠地对数据采样,按照如下关系来设置延迟3:
    tPD-min(Delay3)≥t偏离-max(LINK)+tH(RXFFB)+tPD-max(XOR)
最大链路速度由允许的最小位周期确定。当MDDI_DataX尽可能晚到达时,该速度最受影响。在这种情况下,允许的最小周期时间通过如下等式给出:
t位-min=t偏离-max(LINK)+tPD-max(Delay3)+tSU(RXFFB)-tPD-min(XOR)
于是,链路速度的上限为:
              tPD-max(Delay3)=tPD-min(Delay3)
并且在以上假定下:
t位-min(lower-bound)=2t偏离-max(LINK)+tPD-max(XOR)+tSU(RXFFB)+tH(RXFFB)
在上文给出的实例中,最小位周期的下限通过如下关系给出:
t位-min(lower-bound)=2·(1000+2·125+625+200)+1500+100+0=5750psec,这大约是174Mbps。
这比可以用于类型1链路的最大数据速率慢得多。MDDI的自动延迟偏离补偿能力明显降低了延迟偏离对最大链路速率因子的影响,仅仅是有效数据建立的边缘。MDDI_Data0和MDDI_Stb之间的校准偏离是,并且最小位周期是:
tBIT-min-calibrated=tSKEW-max(calibrated)+2tB-TP4+tAsymmetry+tjitter-host+tSKEW-max(RXAND+RXXOR)+tSU(RXI
在图8-5给出的示例中,tSKEW-max(Data0-Stb-Caliberated)=300psec,而最小位周期是:
tBIT-min-calibrated=300+2·125+625+200+175+100=1650psec,这大约是606Mbps。
当MDDI_Data1尽早到达时,为了在RXFFB中可靠地对数据采样,将关联的可编程延迟调整到最佳设定,精度为一个抽头,为安全起见,增加附加的抽头延迟。最大的链路速度取决于最小的允许位时段。当MDDI_Data1尽晚到达时,影响最大。在这种情况下,最小允许周期时间为:
tBIT-min-Data1-calibrated=2·tTAP-Spacing-max+2·tTA-TP4
在图8-5给出的示例中,基于采样MDDI_Data1的最小位时段的下限是:
tBIT-min-Data1-calibrated=2·150+2·125=550psec
XIV.物理层互连描述
可用于实现本发明的接口的物理连接可以使用能够购买到的零件来实现,诸如在主机侧,可以是由Hirose Electric Company Ltd.制造的零件号为3260-8S2(01)的零件,并且在客户机设备侧,可以是由Hirose E1ectric Company Ltd.制造的零件号为3240-8P-C的零件。表XIII中列出了供类型1/类型2接口使用的这种连接器的示例性接口引脚分配或者“引脚引出线”,并且在图61中举例说明。
                                    表XIII
 信号名称   引脚号   颜色   信号名称   引脚号   颜色
 MDDI_Pwr   1   白色   MDDI_Gnd   2   与白色配对的黑色
 MDDI_Stb+   3   绿色   MDDI_Stb-   4   与绿色配对的黑色
 MDDI_Data0+   7   蓝色   MDDI_Data0-   8   与篮色配对的黑色
 MDDI_Data1+   11   棕色   MDDI_Data1-   12   与棕色配对的黑色
 MDDI_Data2+   15   红色   MDDI_Data2-   16   与红色配对的黑色
 MDDI_Data3+   19   桔红色   MDDI_Data3-   20   与桔红色配对的黑色
 MDDI_Data4+   17   TBD1   MDDI_Data4-   18   与TBD1配对的黑色
 MDDI_Data5+   13   TBD2   MDDI_Data5-   14   与TBD2配对的黑色
 MDDI_Data6+   9   TBD3   MDDI_Data6-   10   与TBD3配对的黑色
 MDDI_Data7+   5   TBD4   MDDI_Data7-   6   与TBD4配对的黑色
  屏蔽
所述屏蔽与主机接口中的HOST_Gnd相连,并且电缆中的屏蔽地线与客户机连接器的屏蔽相连。然而,这个屏蔽和地线不与客户机内部的电路地相连。
选择或者设计互连元件或设备,以便使其足够小以用于移动通信和计算设备,如PDA和无线电话,或者便携式游戏设备,而在与相关设备尺寸的比较中不会超出或者显得不美观。任何连接器和电缆都应该在典型用电设备环境下足够耐用,并且尺寸要小,对电缆而言更是如此,并且成本相对要低。传送元件应该支持作为差分NRZ数据的数据和选通信号,对于类型1和类型2而言,该差分NRZ数据具有高达450Mbps左右的传送速率,而对于8位并行类型4的版本而言,具有高达3.6Gbps的传送速率。
对于内部模式应用来说,同样对于所使用的导线没有连接器,或者这种连接元件倾向于小型化。一个实例为零插入力“插座”,用于接受插入主机或者客户机设备的集成电路或元件。另一实例是主机和客户机驻留在具有各种互联导线的印刷电路板上的情况,并且具有从外壳中伸出的“引脚”或触点,这些引脚或触点被焊接至用于集成电路互联的导线上。
XV.操作
图54A和54B中示出了使用本发明实施例的接口操作期间,在处理数据和分组的时候进行的通用步骤的概况,并且图55中示出了处理所述分组的接口装置的概况。在这些图中,所述过程在步骤5402开始,确定客户机和主机是否使用通信路径(在这里是电缆)连接。这可以通过主机使用软件或者硬件来周期性轮询而进行,所述软件或硬件用于检测在主机的输入端是否存在连接器、电缆或者信号(例如USB接口),或者这也通过其它已知的技术进行。如果没有客户机连接至主机,那么根据应用,它只可以进入某个预定长度的等待状态,进入休眠模式,或者处于非激活状态以便等待将来使用,这会要求用户采取行动来重新激活主机。例如,当主机驻留在计算机类型的设备上时,用户可能必须点击屏幕图标或者请求程序,从而激活主机处理以寻找客户机。此外,仅仅插入USB类型连接就可以激活主机处理,这取决于主机或者驻留主机软件的能力和配置。
一旦客户机与主机相连,或者反过来,或者客户机被检测为存在,那么在步骤5404和5406,客户机或者主机发送适当的请求服务分组。在步骤5404,客户机可以发送客户机服务请求或者状态分组。应注意的是,如上所述,所述链路先前可能已经关闭或者处于休眠模式,因此随后的未必是通信链路的完整初始化。一旦通信链路是同步的,并且主机试图与客户机通信,客户机就也向主机提供客户机能力分组,如步骤5408。主机现在可以开始确定客户机能够支持的支持类型,包括传送速率。
通常,在步骤5410,主机和客户机还议定待使用的服务模式的类型(速率/速度),例如类型1、类型2等等。一旦服务类型被建立,主机就能开始传送信息。另外,主机可以与其它信号处理并行地使用往返行程延迟测量分组来优化通信链路的时序,如步骤5411所示。
如前所述,所有传送从步骤5412示出的正在传送的子帧报头分组开始,继之为在步骤5414示出的正在传送的数据类型和填充符分组,在这里数据类型是视频和音频流分组。所述音频和视频数据已经预先预备好或者映射到分组中,并且根据需要或者期望插入填充符分组以便填充介质帧所需要的位数。主机能发送如正向音频通道启用分组的分组来激活音响设备。另外,在步骤5416中,主机能使用上述其它分组类型来传送命令和信息,在这里显示为色彩映射、位块传送或者其它分组的传送。此外,所述主机和客户机能使用适当的分组交换涉及键盘或者指示设备的数据。
在操作期间,多个不同事件之一会出现,这将导致主机或者客户机需要不同的数据速率或者不同的接口模式类型。例如,用于传递数据的计算机或者其它设备可能在处理数据的过程中遇到装载条件(loading conditions),所述条件导致分组的预备或者呈现速度减慢。接收数据的客户机有可能从专用交流电源换成更加有限的电池电源,并且在有限的功率设定下,可能不能迅速地传送数据,容易地处理命令,也无法使用同一分辨率或者色彩浓度。或者,限制条件也可能减少或者消失,从而允许设备以更高的速率传送数据。这更加需要做出请求以改变为更高传送速率模式。
如果这些或者其它类型的已知条件出现或者改变,主机或者客户机会检测到它们并且试图重新协商议定接口模式。这一点在步骤5420中示出,其中所述主机向客户机发送接口类型切换请求分组以请求切换到另一模式,所述客户机发送接口类型确认分组,以便确认寻求改变,并且所述主机发送执行类型切换分组以便改变为指定的模式。
虽然不要求有特定的处理顺序,但是所述客户机和主机还可以交换涉及某些数据的分组,这些数据是要发送给主要与客户机连接的指示设备、键盘或其它用户类型输入设备的,或者是从这些设备中收到的数据,当然这些元件还可以存在于主机一侧。这些分组通常使用通用处理器类型的元件而非状态机来处理(5502)。另外,上述某些命令也由通用处理器(5504,5508)处理。
在主机和客户机间已经交换了数据和命令之后,在某一点,就是否传送附加数据或者主机或客户机是否要停止为所述传送提供的服务而做出决定。这在步骤5422中示出。如果所述链路将进入休眠状态或者完全关闭,那么主机向客户机发送链路关闭分组,并且两侧终止传送数据。
使用先前相对于主机和客户机控制器讨论的驱动器和接收器来传送在上述操作处理中传送的分组。这些线路驱动器以及其它逻辑元件与上述状态机和通用处理器相连,如图55的概述所示。在图55中,状态机5502和通用处理器5504和5508可以进一步与未示出的其它元件相连,如专用USB接口、存储器元件或驻留在与它们相互作用的链路控制器外部的其它部件,包括但不限于数据源和用于观看显示器设备的视频控制芯片。
处理器和状态机提供对驱动器的启用和禁用控制,正如上文就保护时间等等所讨论的那样,以便确保有效建立或终止通信链路,并且传送分组。
XVI显示器帧缓冲器
与计算机图形相比,视频数据的缓存要求对于运动视频图像是不同的。像素数据经常储存在客户机的本地帧缓冲器中,因此客户机上的图像能本地刷新。
正在显示全运动视频(每一介质帧中显示器中几乎每一像素都要改变)时,通常优选在一个帧缓冲器中储存正在输入的像素数据,而从第二帧缓冲器中刷新显示器上的图像。可以用两个以上的显示缓冲器来消除可视假象(visible artifact),如下所述。当已经在一个帧缓冲器中接收了整个图像时,就可以交换缓冲器的角色,将最新接收的图像用于刷新所述显示器,并且将图像的下一帧填充另一个缓冲器。图91A中示出了这一概念,其中通过把显示器更新位设置为“01”来把像素数据写入离线图像缓冲器。
在其它应用中,所述主机只需要更新小部分图像,而不必重新绘制整个图像。在这种情况下,需要把新的像素直接写入用于刷新显示器的缓冲器,如图91B中所示。
在具有较小视频窗口的固定图像的应用中,把固定图像写入两个缓冲器(显示器更新位等于“11”)是最容易的,如图91C所示,并且随后通过把显示器更新位设置为“01”把运动图像像素写入离线缓冲器。
如下规则描述了缓冲器指针的有益操纵,同时把新的信息写入客户机并且刷新显示器。存在三个缓冲器指针:current_fill(当前填充)指向当前正在由MDDI链路上的数据填充的缓冲器;iust_filled(刚刚填充)指向最近被填充的缓冲器;being_displayed(正在显示)指向目前正用于刷新显示器的缓冲器。所有三个缓冲器指针可以包含从0到N-1的值,其中N是显示器缓冲器的数目,而N≥2。对缓冲器指针的运算是对N取模(mod N),例如,当N=3并且current_fill=2时,增加current_fill让current_fill被设置为0。在N=2的简单情况下,iust_filled始终是current_fill的补码。在每一MDDI介质帧边界上(子帧计数字段的子帧报头分组等于零)按照指定的顺序来执行如下操作:将iust_filled设置为等于current_fill,并且设置current_fill等于current_fill+1。
MDDI视频流分组按照如下结构或方法来更新缓冲器:当显示器更新位等于‘01’时,把像素数据写入由current_fill指定的缓冲器;当显示器更新位等于‘00’时,把像素数据写入由just_filled指定的缓冲器;当显示器更新位等于“11”时,把像素数据写入所有缓冲器。由being_displayed指针指定的缓冲器来刷新显示器。在显示器刷新一个帧刷新时期(epoch)中的最后像素之后并且在它开始刷新下一帧刷新时期中的第一像素以前,显示器更新处理执行把being_refreshed(正在刷新)设置为等于just_filled的操作。
所述视频流分组包含一对显示器更新位,说明将写入像素数据的帧缓冲器。所述客户机能力分组具有三个附加位,其表明客户机中所支持的显示器更新位的组合。在许多情况下,计算机生成的图像需要基于用户输入递增地刷新,或者根据从计算机网络接收的信息来导出。显示器更新位组合“00”和“11”通过让像素数据写入正在显示的帧缓冲器或者写入两个帧缓冲器来支持这一操作模式。
当支持视频图像时,图92说明当显示器更新位等于“01”,且经由MDDI链路传输视频数据时,如何使用一对帧缓冲器来显示视频图像。在MDDI链路上检测到介质帧边界之后,在当前正刷新的帧的刷新处理完成时,显示器刷新处理将开始从下一帧缓冲器刷新。
涉及图92的一个重要假设是:图像是作为像素的连续流从主机接收的,所述像素的连续流是按照客户机从帧缓冲器读取像素以便刷新显示器的顺序来传输的(通常从左上开始,逐行读取,直到屏幕的右下角)。在显示器刷新和图像传送操作涉及相同的帧缓冲器的情况下,这是重要的细节。
显示器刷新帧速率需要大于图像传送帧速率,以免显示出部分图像。图93示出了在显示器刷新速率较慢情况下,也就是说,显示器刷新比图像传送慢的情况下,图像碎片是如何出现的。
在包含计算机图形图像和运动视频图像的组合的图像中,视频像素数据可能占据小部分介质帧。在显示器刷新操作和图像传送涉及相同的帧缓冲器的情况下,这是十分重要的。这些情况通过图94中的交叉影线的阴影示出,其中从缓冲器中读取以便刷新显示器的像素可能是两帧以前写入缓冲器的像素,或者它们可以对应于正要被写入同一帧缓冲器的帧。
客户机中使用三个帧缓冲器来解决访问帧缓冲器的小窗口竞争问题,如图95所示。
然而,如果显示器刷新速率小于MDDI链路上的介质帧速率,那么仍存在问题,如图96所示。
运动视频图像使用单个缓冲器多少存在问题,如图97所示。当显示器刷新快于图像传送到缓冲器中时,正刷新的图像有时将显示正写入的帧的上部,而图像的较低部分则是先前传送的帧。当显示器刷新快于图像传送(优选操作模式)时,示出类似分裂图像的帧的情况将更加频繁地出现。
XVII.延迟值表
分组处理延迟参数分组使用表查找功能来计算所预测的延迟,以便处理客户机中的某些命令。表中的值按照对数方式增加,以便提供动态范围非常宽的延迟值。在下面的表XX中可以找出用于实现本发明实施例的延迟值的示例性表,相应的索引与延迟值对照。
                                          表XX
  0-无延迟   37-1.5ns   74-51ns   111-1.8us   148-62us   185-2.2ms   222-75ms
  1-46ps   38-1.6ns   75-56ns   112-2.0us   149-68us   186-2.4ms   223-83ms
  2-51ps   39-1.8ns   76-62ns   113-2.2us   150-75us   187-2.6ms   224-91ms
  3-56ps   40-2.0ns   77-68ns   114-2.4us   151-83us   188-2.9ms   225-100ms
  4-62ps   41-2.2ns   78-75ns   115-2.6us   152-91us   189-3.2ms   226-110ms
  5-68ps   42-2.4ns   79-83ns   116-2.9us   153-100us   190-3.5ms   227-120ms
  6-75ps   43-2.6ns   80-91ns   117-3.2us   154-110us   191-3.8ms   228-130ms
  7-83ps   44-2.9ns   81-100ns   118-3.5us   155-120us   192-4.2ms   229-150ms
  8-91ps   45-3.2ns   82-110ns   119-3.8us   156-130us   193-4.6ms   230-160ms
  9-100ps   46-3.5ns   83-120ns   120-4.2us   157-150us   194-5.1ms   231-180ms
  10-110ps   47-3.8ns   84-130ns   121-4.6us   158-160us   195-5.6ms   232-200ms
  11-120ps   48-4.2ns   85-150ns   122-5.1us   159-180us   196-6.2ms   233-220ms
  12-130ps   49-4.6ns   86-160ns   123-5.6us   160-200us   197-6.8ms   234-240ms
  13-150ps   50-5.1ns   87-180ns   124-6.2us   161-220us   198-7.5ms   235-260ms
  14-160ps   51-5.6ns   88-200ns   125-6.8us   162-240us   199-8.3ms   236-290ms
  15-180ps   52-6.2ns   89-220ns   126-7.5us   163-260us   200-9.1ms   237-320ms
  16-200ps   53-6.8ns   90-240ns   127-8.3us   164-290us   201-10ms   238-350ms
  17-220ps   54-7.5ns   91-260ns   128-9.1us   165-320us   202-11ms   239-380ms
  18-240ps   55-8.3ns   92-290ns   129-10us   166-350us   203-12ms   240-420ms
  19-260ps   56-9.1ns   93-320ns   130-11us   167-380us   204-13ms   241-460ms
  20-290ps   57-10ns   94-350ns   131-12us   168-420us   205-15ms   242-510ms
  21-320ps   58-11ns   95-380ns   132-13us   169-460us   206-16ms   243-560ms
  22-350ps   59-12ns   96-420ns   133-15us   170-510us   207-18ms   244-620ms
  23-380ps   60-13ns   97-460ns   134-16us   171-560us   208-20ms   245-680ms
  24-420ps   61-15ns   98-510ns   135-18us   172-620us   209-22ms   246-750ms
  25-460ps   62-16ns   99-560ns   136-20us   173-680us   210-24ms   247-830ms
  26-51ops   63-18ns   100-620ns   137-22us   174-750us   211-26ms   248-910ms
  27-560ps   64-20ns   101-680ns   138-24us   175-830us   212-29ms   249-1.0sec
  28-620ps   65-22ns   102-750ns   139-26us   176-910us   213-32ms   250-1.1sec
  29-680ps   66-24ns   103-830ns   140-29us   177-1.0ms   214-35ms   251-1.2sec
  30-750ps   67-26ns   104-910ns   141-32us   178-1.1ms   215-38ms   252-1.3sec
  31-830ps   68-29ns   105-1.0us   142-35us   179-1.2ms   216-42ms   253-1.5sec
  32-910ps   69-32ns   106-1.1us   143-38us   180-1.3ms   217-46ms   254-1.6s
  33-1.0ns   70-35ns   107-1.2us   144-42us   181-1.5ms   218-51ms   255-不确定的
  34-1.1ns   71-38ns   108-1.3us   145-46us   182-1.6ms   219-56ms
  35-1.2ns   72-42ns   109-1.5us   146-51us   183-1.8ms   220-62ms
  36-1.3ns   73-46ns   110-1.6us   147-56us   184-2.0ms   221-68ms
通过将指定参数作为表的索引进行表格查找来计算延迟。这意味着延迟等于分组处理表(索引)。例如:如果来自延迟参数列表项的参数之一是等于134的8位值,那么延迟等于分组处理表(134),即,16微秒。值255表明无法通过计算确定命令完成时间,主机必须检查客户机请求和状态分组中的图形繁忙标志或者MCCS VCP控制参数B7h。
在某些情况下,把这一延迟乘以目标图像的高度、宽度或者像素数目,并且将其加到其它延迟上去,以计算整个分组处理延迟。
XVIII多客户机支持
当前协议版本看起来无法直接支持多个客户机设备。然而,大部分分组包含保留的客户机ID字段,该客户机ID可用于对具有多个客户机的系统中的特定客户机设备进行寻址。目前,对于许多应用来说,这一客户机ID或者这些客户机ID被设置为零。所述子帧报头分组还包含用于表明主机是否支持多个客户机系统的字段。因此,存在这样一种方式,其中在MDD接口或者协议的未来应用中有可能将多个客户机设备连接起来并进行寻址,以便帮助系统设计师规划将来与多个客户机主机和客户机的兼容性。
在具有多个客户机的系统中,把客户机经由客户机的串级链(Daisy-chained)或者使用集线器连接至主机,如图98所示,或者使用如图99所示的这些技术的组合将客户机连接至主机都是十分有益的。
XVIII.附录
除了上面讨论的用于实现本发明实施例的体系结构和协议的格式、结构和内容以外,在这里对某些分组类型提供了更加详细的字段内容或操作。在这里给出这些内容是为了进一步阐明它们各自的用途或操作,以便使本领域技术人员更加易于理解以及将本发明用于各种应用。在这里只讨论没有讨论过的少数几个字段。另外,这些字段是相对于上文给出的实施例以示例性的定义和值给出的。然而,不应该把这些值看作是对本发明的限制,而是它们代表实现这些接口和协议有用的一个或多个实施例,并且无需一起或者同时实施所有的实施例。其它实施例也可以采用其它值以便实现所需要的数据或数据速率传送结果的呈现,正如本领域技术人员将理解的那样。
A.关于视频流分组
在一个实施例中,像素数据属性字段(2字节)具有如下解释的一系列位值。位1和0选择如何路由该显示器像素数据。对于位值‘11’来说,向或为两只眼睛显示数据,对于位值‘10’来说,只把数据路由至左眼,而对于位值‘01’来说,只把数据路由至右眼,而对于位值‘00’来说,把数据路由至可选显示器,正如下面讨论的由位8至11所指定的那样。
位2表明是否以隔行的格式提供像素数据,值‘0’意味着像素数据处于标准的逐行格式,从一行前进至下一行时,行号(像素Y坐标)加1。当这一位具有值‘1’时,像素数据处于隔行的格式,并且从一行前进到下一行时,行号加2。位3表明像素数据处于交替像素格式。这与位2启用的标准隔行模式相似,但是这里的隔行是垂直的而不是水平的。当位3是‘0’时,像素数据处于标准的逐个像素格式,当接收到每一连续像素时,列号(像素X坐标)加1。当位3是‘1’时,像素数据处于交替像素格式,接收到每一像素时,列号加2。
位4表明像素数据涉及显示器还是照相机,即,其中数据被传送至无线电话或者类似设备甚至便携式计算机或如上所述的其它设备的内部显示器,或者从这些设备中传送出来,或者数据被传送到嵌入或者直接耦合到所述设备的照相机或者从该照相机中传送出来。当位4是‘0’时,像素数据正传送到显示器帧缓冲器或者从中传送出来。当位4是‘1’时,像素数据被传送到某些类型的照相机或者视频设备或者从中传送出来,这种设备是所属领域众所周知的。
位5用来表明何时像素分组含显示器中下一连续行的像素。当位5被设置为等于‘1’时,被认为是这样的情况。当位5被设置为‘1’时,那么X左沿、Y顶沿、X右沿、Y底沿、X起始和Y起始参数不被定义并且被客户机忽略。当位15被设置为逻辑1电平时,它表明该分组中的像素数据是所述图像中最后一行像素的像素数据。客户机能力分组的客户机特征能力标识符字段的位8表明支持该特征。
位7和6是显示器更新位,用于说明将写入像素数据的帧缓冲器。其它地方讨论了更加具体的效果。对于位值‘01’来说,像素数据被写入离线图像缓冲器中。对于位值‘00’来说,像素数据被写入用于刷新显示器的图像缓冲器中。对于位值‘11’来说,像素数据被写入所有图像缓冲器中。所述位值或者组合‘10’被当做无效值或者指定,并且像素数据被忽略,而不被写入任何图像缓冲器。这一值可能对于所述接口的将来应用具有用途。
位8至11形成4位无符号整数,用于说明要将要把像素数据路由到的可选显示器或者显示器位置。位0和1被设置为等于00,以便使显示器客户机把位8至11解释为可选显示器号。如果位0和1不等于00,那么位8至11被设置为零。
位12至14被保留以供将来使用并且通常应设定为逻辑零。所讨论的位15与位5结合使用,并且将位15设置位逻辑1表明像素数据段中像素的行是数据帧中的最后一行像素。位5设置为逻辑1的下一个视频流分组对应于下一个视频帧的第一行像素。
2字节的X起始和Y起始字段指定像素数据字段中第一像素的点(X起始,Y起始)的绝对X和Y坐标。2字节的X左沿和Y顶沿字段指定由像素数据字段填充的屏幕窗口的左沿的X坐标以及顶沿的Y坐标,而X右沿和Y底沿字段则指定正在更新的窗口的右沿的X坐标以及底沿的Y坐标。
像素计数字段(2字节)指定以下像素数据字段中的像素数目。
参数CRC字段(2字节)包含从分组长度到像素计数的所有字节的CRC。如果这一CRC未能通过校验,就丢弃整个分组。
所述像素数据字段包含将被显示的原始视频信息,并且按照视频数据格式描述符字段描述的方式格式化。如同其它地方讨论的那样,数据每次传输一“行”。当像素数据属性字段的位5设置为逻辑1电平时,像素数据字段刚好包含一行像素,且正在传输的第一个像素对应于最左像素,而传输的最后一个像素对应于最右像素。
像素数据CRC字段(2字节)只包含像素数据的16位CRC。如果这一值的CRC校验失败,那么像素数据仍可使用,但是CRC错误计数增加。
B.关于音频流分组
在一个实施例中,音频通道ID字段(1字节)使用8位无符号整数值来标识特定音频通道,其中客户机设备把音频数据发送至该通道。物理音频通道通过这个字段按照值0,1,2,3,4,5,6或者7被指定或者映射到物理通道,这些值分别表明左前、右前、左后、右后、前方中心、超低音扬声器、环绕左以及环绕右通道。音频通道ID值254表明数字音频采样的单个流被发送给左前和右前通道。这样做简化了一些应用的通信,如将立体声耳机用于语音通信的应用,对PDA使用的生产力改进的应用,或者简单用户接口生成报警声的其它应用。在从8至253和255的范围内的ID字段值目前被保留,以便在新设计需要附加标记的情况下使用,正如本领域技术人员可预见的那样。
保留1字段(1字节)通常被保留以备将来之用,并且将这个字段中的所有位都设置为零。这个字段的一个功能是让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。
音频采样计数字段(2字节)指定这个分组中音频采样的数目。
每个采样位数和打包字段包含1字节,用于说明音频数据的打包格式。在一个实施例中,通常采用的格式是使用位4至0来定义每一PCM音频采样的位数。然后,位5说明所述数字音频数据采样是否被打包。如上所述,图12说明打包的音频采样和字节对准音频采样之间的差异。位5的值‘0’表明数字音频数据字段中每一PCM音频采样与接口的字节边界是字节对准的,并且值‘1’表明每一连续PCM音频采样相对于先前音频采样被打包。通常只有当位4至0(每一PCM音频采样的位数)中定义的值不是8的倍数时,这一位才是有效的。位7至6被保留以供系统设计需要附加标识时使用,并且通常设置为零值。
音频采样速率字段(1字节)指定音频PCM采样速率。所采用的格式分别是:值0时速率是8,000个采样每秒(sps),值1表明16,000sps,值2表明24,000sps,值3表明32,000sps,值4表明40,000sps,值5表明48,000sps,值6表明11,025sps,值7表明22,050sps并且值8表明44,100sps,而值9至255被保留供将来之用,因此它们目前被设置为零。
参数CRC字段(2字节)包含从分组长度到音频采样速率的所有字节的16位CRC。如果这一CRC未能适当地通过校验,就丢弃整个分组。数字音频数据字段包含待播放的原始音频采样,并且通常具有无符号整数的线性格式的形式。音频数据CRC字段(2字节)包含只针对音频数据的16位CRC。如果这一CRC未能通过校验,那么所述音频数据仍可被使用,不过CRC错误计数增加。
C.关于用户定义的流分组
在一个实施例中,2字节的流ID号字段用来标识特定的用户定义的流。流参数和流数据字段的内容通常由MDDI设备制造商定义。2字节的流参数CRC字段包含从分组长度开始到音频编码字节的流参数的所有字节的16位CRC。如果这一CRC未能通过校验,就丢弃整个分组。如果MDD接口的最终应用不需要流参数和流参数CRC字段,即它们被看作可选的,那么流参数和流参数CRC字段都可以被丢弃。2字节的流数据CRC字段包含只针对流数据的CRC。如果这一CRC未能适当地通过校验,那么流数据的使用是可选的,这取决于所述应用的要求。流数据的使用随CRC的良好性而定,通常要求缓存流数据直到CRC被确认为是良好的为止。如果CRC没有通过校验,那么所述CRC错误计数增加。
D.关于色彩映射分组
2字节的hClient ID字段包含为客户机ID保留的信息或值,如先前使用的那样。由于这个字段通常被保留供将来之用,所以当前通过把这些位设置为‘0’来将其设置为零。
2字节的色彩映射项目计数字段使用值来指定3-字节色彩映射项目的总数,这些项目包含在色彩映射数据字段中,或者指定存在于这个分组的色彩映射数据中的色彩映射表的条目的总数。在这个实施例中,色彩映射数据中的字节数目是色彩映射项目计数的3倍。色彩映射项目计数被设置为等于零以便不发送色彩映射数据。如果色彩映射大小是零,那么色彩映射偏移值通常仍被发送,但是被显示器忽略。色彩映射偏移字段(4字节)指定这个分组中色彩映射数据距客户机设备中的色彩映射表的开始的偏移量。
2字节的参数CRC字段包含从分组长度到音频编码字节的所有字节的CRC。如果这一CRC未能通过校验,就丢弃整个分组。
对于色彩映射数据字段来说,每一色彩映射位置的宽度是由色彩映射项大小字段指定的,其中在一个实施例中,第一部分指定蓝色数值,第二部分指定绿色数值而第三部分指定红色数值。色彩映射大小字段指定存在于色彩映射数据字段中的3字节色彩映射表项的数目。如果单个色彩映射无法符合(fit into)视频数据格式和色彩映射分组,那么可以通过发送多个分组来指定整个色彩映射,其中每一分组中具有不同色彩映射数据和色彩映射偏移。每一色彩映射数据项中蓝色、绿色和红色的位数应该与显示器能力分组的色彩映射RGB宽度字段指定的相同。
2字节的色彩映射数据CRC字段只包含色彩映射数据的CRC。如果这一CRC未能通过校验,那么所述色彩映射数据仍可使用,但是CRC错误计数增加。
每一色彩映射数据项将会按照如下的顺序传输:蓝色、绿色、红色,每一分量的最低有效位首先传输。将每一色彩映射项目的单个红色、绿色和蓝色分量打包,但是每一色彩映射项目(蓝色分量的最低有效位)应该按字节对准。图100示出了具有6位蓝色、8位绿色和7位红色的色彩映射数据项的实例。对于这一实例来说,色彩映射分组中的色彩映射项大小等于21,而客户机能力分组的色彩映射RGB宽度字段等于0x0786。
E.关于反向链路封装分组
参数CRC字段(2字节)包含从分组长度到转向长度的所有字节的16位CRC。如果这一CRC未能通过校验,就丢弃整个分组。
在一个实施例中,反向链路标志字段(1字节)包含用于请求来自客户机的信息的一组标志。如果位(例如位0)被设置为逻辑1电平,那么主机使用客户机能力分组从显示器请求指定信息。如果所述位被设置为逻辑零电平,那么主机不需要来自客户机的信息。剩余位(在这里是位1至7)被保留以供将来使用并且被设置为零。然而,还可以根据需要使用更多位来设置用于反向链路的标志。
反向速率除数字段(1字节)指定与反向链路数据时钟相关而出现的MDDI_Stb周期的数目。所述反向链路数据时钟等于正向链路数据时钟除以两倍的反向速率除数。反向链路数据速率涉及反向链路数据时钟和反向链路上的接口类型。在一个实施例中,对于类型1的接口来说,反向数据速率等于反向链路数据时钟,对于类型2、类型3和类型4的接口来说,反向数据速率分别等于2倍、4倍和8倍的反向链路数据时钟。
全零1字段包含一组字节,这里是8,通过将各个位设置成逻辑0电平可将全零1字段设置为等于零,并且该字段可用来确保所有MDDI_Data信号在转向1字段期间禁用主机线路驱动器之前能够处于逻辑零电平达足够的时间,以便允许客户机仅利用MDDI_Stb开始恢复时钟。在一个实施例中,全零1字段的长度大于或等于电缆的往返行程延迟中的正向链路字节传输次数的数目。
转向1长度字段(1字节)指定分配给转向1的字节总数,用于建立第一转向周期。在主机中的线路驱动器被禁用之前,分配由转向长度参数指定的字节数目,以便允许启用客户机中的MDDI_Data线路驱动器。在转向1的位0期间,所述客户机启用其MDDI_Data线路驱动器,并且主机禁用其输出端以便在转向1的最后位之前完全禁用其输出端。客户机驱动器启用和主机驱动器禁用的时序进行如下处理,即,使得当在主机处由线路接收器观察时,一个或两个驱动器在整个转向1期间将MDDI_Data信号驱动到逻辑0电平。MDDI_Stb信号表现得如同在整个转向1周期期间MDDI_Data0均处于逻辑0电平。上面给出了转向1设置的更加完整的说明。
反向分组字段包含一系列从客户机传送到主机的数据的分组。当客户机没有数据要发送到主机时,客户机可发送填充分组或将MDDI_Data线路驱动到逻辑0状态或电平。在本实施例中,如果MDDI_Data线路被驱动到0,主机则将其解释为具有0长度的分组(不是有效长度),并且主机在当前反向链路封装分组期间将不再从客户机接收另外的分组。
转向2长度字段(1字节)指定分配给转向2的字节总数,用于建立第二转向周期。分配由转向长度参数指定的字节数目,以便允许主机中的MDDI_Data线路驱动器在客户机中的线路驱动器被禁用以前被启用。在转向2中的第一个字节的位0期间,所述主机启用其MDDI_Data线路驱动器,并且客户机禁用其输出端,从而在转向2的最后位期间通常其输出端被完全禁用。客户机驱动器禁用和主机驱动器启用的时序进行如下处理,即,使得由主机中的线路接收器观察时,一个或两个驱动器在整个转向2期间将MDDI_Data信号驱动到逻辑0电平。MDDI_Stb信号表现得如同MDDI_Data0在整个转向2周期期间处于逻辑0电平。上面给出了转向2设置的描述。
反向数据分组字段包含从客户机传送到主机的一系列数据分组。如前所述,发送填充符分组以便填充其它分组类型未使用的剩余空间。
全零2字段包含一组被设置为等于零值的字节,这是通过将这些位设置成逻辑0电平来实现的,并且该字段用来确保在跟随转向2字段启动了主机线路驱动器之后,所有MDDI_Data信号能够处于零状态达足够的时间,以便客户机能够使用MDDI_Data0和MDDI_Stb二者开始恢复时钟。
F.关于客户机能力分组
如一个实施例所示,协议版本字段使用2字节来指定由客户机所使用的协议版本。初始版本目前被设置为等于1,并且随着新版本的产生,该初始版本也会随时间而改变,正如将会知道的那样,而最小协议版本字段使用2字节来指定客户机能采用或者解释的最小协议版本。在这种情况下,0值也是有效值。数据速率能力字段(2字节)指定客户机在接口的正向链路上的每个数据对上能接收的最大数据速率,并且以每秒百万位(Mbps)的形式来指定。接口类型能力字段(1字节)指定正反链路上支持的接口类型。设置为“1”的位表明支持指定的接口,而设置为“0”的位表明不支持该指定类型。主机和客户机应该在正反向链路上至少支持类型1。不需要支持接口类型的相邻范围。例如,只支持接口中的类型1和类型3而不支持类型3和类型4将是非常有效的。也不需要正反向链路使用相同的接口类型来运行。然而,当链路从休眠中苏醒时,正反向链路应该在类型1模式开始运行直到协商议定或选择出其他模式,或者主机和由客户机二者均同意使用其他模式为止。
在一个实施例中,通过选择位0、位1或者位2表明支持的接口类型,以便分别选择正向链路上的类型2(2位)、类型3(4位)或者类型4(8位)模式,而位3、位4或位5则分别选择反向链路上的类型2、类型3或者类型4模式;位6和7被保留并且通常设置为零。位图宽度和高度字段(2字节)分别以像素为单位指定位图的宽度和高度。
单色能力字段(1字节)用来指定可以按照单色格式显示的分辨率的位数。如果显示器无法使用单色格式,那么这一值被设置为零。位7至4被保留以供将来使用,从而设置为零。位3至0定义每一像素中可以存在的灰度级的最大位数。这四位能够为每一像素指定值1至15。如果所述值是零,那么该显示器不支持所述单色格式。
Bayer能力字段使用1个字节能够以Bayer格式传送的分辨率的位数、像素组和像素顺序。如果客户机不能使用Bayer格式那么该值为零。Bayer能力字段由以下值构成:位3至0定义了每个像素中存在的强度的最大位数,而位5至4定义了必要的像素组模式,而位8至6定义了必要的像素顺序;位14至9被保留以供将来使用并且同时通常设置为零。位15设置为1时,表明客户机能够接受打包的或未打包格式的Bayer像素数据。如果位15被设置为0,这表明客户机只能够接受未打包格式的Bayer像素数据。
色彩映射能力字段(3字节)指定显示器色彩映射表中存在的表项的最大数目。如果显示器无法使用色彩映射格式,那么这一值是零。
RGB能力字段(2字节)指定可以按照RGB格式显示的分辨率的位数。如果显示器无法使用RGB格式,那么这一值等于零。RGB能力字包括三个独立的无符号值,其中:在每一像素中,位3至0定义蓝色的最大位数,位7至4定义绿色的最大位数,而位11至8定义红色的最大位数。目前,位14至12被保留以供将来使用并且通常设置为零。位15设置为1时,表明客户机能够接受打包的或未打包格式的RGB像素数据。如果位15被设置为逻辑0电平,这表明客户机只能够接受未打包格式的RGB像素数据。
Y Cr Cb能力字段(2字节)指定可以按照Y Cr Cb格式显示的分辨率的位数。如果显示器无法使用Y Cr Cb格式,那么这一值被设置为等于零。所述Y Cr Cb能力字包括三个独立的无符号值,其中:位3至0定义Cb采样中的最大位数,位7至4定义Cr采样中的最大位数,位11至8定义Y采样中的最大位数,而位15至12目前被保留供将来之用并且被设置为零。
客户机特征能力指示符字段使用4字节,它包含一组用于表明客户机中所支持的特定特征的标志。设置为逻辑1电平的位表明支持所述能力,而设置为逻辑零电平的位表明不支持所述能力。在一个实施例中,位0的值表明是否支持位图块传送分组(分组类型71)。位1、2和3的值分别表明是否支持位图区域填充分组(分组类型72)、位图图案填充分组(分组类型73)或者通信链路数据通道分组(分组类型74)。位4的值表明客户机是否有能力使一种颜色透明,而位5和6的值分别表明客户机能否接受打包格式的视频数据或者音频数据,而位7的值表明客户机能否从照相机发送反向链路视频流。位8的值表明客户机是否有能力接收全线路(full line)的像素数据并忽略如视频流分组的像素数据属性字段的位5指定的显示器寻址,并且客户机还可使用像素数据属性字段的位15检测帧同步或视频帧数据的末尾。
位11和12的值分别表明客户机是正在与指示设备通信并且能发送和接收指示设备数据的分组,还是正在与键盘通信并且能发送和接收键盘数据的分组。位13的值表明客户机是否有能力通过支持VCP特征分组来设置一个或多个音频或视频参数,其中VCP特征分组如:请求VCP特征分组、VCP特征应答分组、设置VCP特征分组、请求有效参数分组和有效参数应答分组。位14的值表明客户机是否有能力将像素数据写入离线显示器帧缓冲器。如果该位的值被设置位逻辑1电平,那么显示器更新位(视频流分组的像素数据属性字段的位7和6)可被设置为值“01”。
位15的值表明客户机是否有能力将像素数据只写入当前正在用于刷新显示器图像的显示器帧缓冲器。如果该位被设置为1,那么显示器更新位(视频流分组的像素数据属性字段的位7和6)可被设置为值“00”。位16的值表明客户机有能力将来自单个视频流分组的像素数据写入所以显示器帧缓冲器的情况。如果该位被设置为1,那么显示器更新位(视频流分组的像素数据属性字段的位7和6)可被设置为值“11”。
位17的值表明何时客户机有能力响应于请求特定状态分组,位18的值表明何时客户机有能力响应于往复行程延迟测量分组,位19的值表明何时客户机有能力响应正向链路偏离校准分组,位20的值表明何时客户机有能力响应于前向链路偏离校准分组。
位21的值表明何时客户机有能力解释请求专业状态分组,并利用有效状态应答列表分组做出响应。如在其他地方所述,客户机表明有能力在有效状态应答列表分组的有效参数应答列表字段中返回另外的状态。
位22表明客户机是否有能力响应于寄存器访问分组。位9至10和位23至31表明目前被保留供将来之用,或者用作对系统设计员有益的可选标记,并且通常被设置为等于零。
显示器视频帧速率能力字段(1字节)指定以每秒帧数为单位的显示器的最大视频帧更新能力。主机可以选择以慢于该字段中指定的值的速率来更新所述图像。
所述音频缓冲器深度字段(2字节)指定专用于每一音频流的显示器中的弹性缓冲器的深度。
音频通道能力字段(2字节)包含一组标志,用于表明客户机或客户机连接设备支持哪些音频通道。设置为1的位表明该通道是可支持的,而设置为零的位表明该通道是不支持的。将位的位置分配给不同的通道,例如在一个实施例中,位位置0、1、2、3、4、5、6或者7分别表明左前、右前、左后、右后、前方中心、超低音扬声器、环绕左以及环绕右通道。位8至14目前保留以供将来使用并且通常设置为零。在一个实施例中,位15用于表明客户机是否提供对正向音频通道启用分组的支持。如果是这种情况,位15被设置为逻辑1电平。然而,如果作为正向音频通道启用分组的结果,客户机不能禁用音频通道,或者如果客户机不支持任何音频能力,那么这一位被设置为逻辑0电平或值。
用于正向链路的2字节的音频采样速率能力字段包含一组标志,用于表明客户机设备的音频采样速率能力。因此,把位位置分配给不同速率,诸如位0、1、2、3、4、5、6、7和8被分别分配给8,000、16,000、24,000、32,000、40,000、48,000、11,025、22,050和44,100采样数每秒(SPS),位9至15被保留以供将来使用或者根据需要用于可选速率,因此它们目前被设置为‘0’。把这些位之一的位值被设置为‘1’表明可支持该特定的采样速率,而把该位设置为‘0’表明该采样速率是不支持的。
最小子帧速率字段(2字节)指定以每秒帧数为单位的最小子帧速率。最小子帧速率保持足以读取显示器中的某些传感器或者指示设备的显示状态刷新速率。
用于反向链路的2字节的麦克风采样速率能力字段包含一组标志,用于表明客户机设备的麦克风的音频采样速率能力。出于利用MDDI的目的,客户机设备麦克风被配置成最低限度支持最少8,000个采样每秒的速率。把用于这个字段的位位置分配给不同速率,例如,其中位位置0、1、2、3、4、5、6、7和8分别用于代表8,000、16,000、24,000、32,000、40,000、48,000、11,025、22,050和44,100采样数每秒(SPS),位9至15被保留以供将来使用或者根据需要用于可选速率,因此它们目前被设置为‘0’。把这些位之一的位值设置为‘1’表明该特定的采样速率是支持的,而把该位设置为‘0’表明该采样速率是不支持的。如果没有连接麦克风,那么麦克风采样速率能力位的每位均被设置为等于零。
键盘数据格式字段(这里1个字节)说明键盘是否连接到客户机系统以及所连接的键盘的类型。在一个实施例中,由位6至0建立的值用于定义所连接的键盘的类型。如果该值为零,则键盘类型被视作未知。当为1值时,键盘数据格式被认为是标准PS-2方式。目前未使用2至125范围内的值,这些值被保留下来以供系统设计人员或接口公司(incorporator)或产品开发商用来定义与MDD接口或相应的客户机或主机一同使用的特定的键盘或输入设备。值126用于表明用户定义的键盘数据格式,而值127用于表明不能连接到客户机的键盘。此外,位7能够用于表明键盘是否能够与客户机通信。该位的预期使用是用于表明键盘使用无线链路与客户机通信的情况。如果位6至0表明键盘不能连接的客户机,那么位7将被设置为0电平。因此,对于一个实施例而言,当位7的值是0时,键盘和客户机不通信,而如果位7的值是1,那么键盘和客户机已经确认它们能够彼此通信。
指示设备数据格式字段(这里是1字节)说明了指示设备是否连接到客户机系统以及所连接的指示设备的类型。在一个实施例中,由位6至0建立的值用于定义所连接的指示设备的类型。如果该值为零(0),则指示设备类型被视作未知。当为1值时,指示设备数据格式被认为是标准PS-2方式。目前未使用2至125范围内的值,这些值被保留下来以供系统设计人员或接口公司(incorporator)或产品开发商用来定义与MDD接口或相应的客户机或主机一同使用的特定的指示设备或输入设备。值126用于表明用户定义的指示设备数据格式,而值127用于表明不能连接到客户机的指示设备。此外,位7能够用于表明指示设备是否能够与客户机通信。该位的预期使用是用于表明指示设备使用无线链路与客户机通信的情况。如果位6至0表明指示设备不能连接的客户机,那么位7将被设置为0电平。因此,对于一个实施例而言,当位7的值是0时,指示设备和客户机不能通信,而如果位7的值是1,那么指示设备和客户机已经确认它们能够彼此通信。
内容保护类型字段(2字节)包含一组标志,用于表明由显示器支持的数字内容保护类型。目前,位位置0用来表明支持DTCP的情况,而位位置1用来表明支持HDCP的情况,且位位置2至15被保留以供所需要的或可用的其他保护方案之用,因此它们目前被设置为零。
制造商名称字段(这里是2个字节)包括制造商的EISA 3-字符ID,并且按照与VESA EDID规范中相同的方式将其打包成3个5-位的字符。字符“A’’被表示为二进制的00001,字符“Z”被表示为二进制的11010,而且所有“A”和“Z”之间的所有字母都被表示为对应于“A”和“Z”之间的字母表顺序的顺序的二进制值。制造商名称的最高有效位未被使用,并且通常设置为逻辑0,直到用于未来实现为止。例如,由字符串“XYZ”表示的制造商将具有值为0x633a的制造商名称。如果客户机不支持该字段,那么其将被设置为0。产品代码使用2个字节,来包含由显示器制造商分配的产品代码。如果客户机不支持该字段,那么该字段将被设置为0。
保留1、保留2和保留3字段(这里是2个字节)保留,以便将来用于透露信息。这些字段中的所有位通常被设置为0。这些字段的目的现在是使得所有连续的2字节字段与16位字地址对准,并且使得4字节字段与32位字地址对准。
在该实施例中,序列号字段用4个字节来表明显示器的数字形式序号。如果客户机不支持该字段,那么该字段将被设置为0。制造星期字段用1个字节,来定义该显示器的制造星期。如果客户机支持该字段,那么该值在1-53的范围内。如果客户机不支持该字段,那么该字段将被设置为0。制造年份字段是1个字节,其定义了该显示器的制造年份。该值是距离1990年的偏移量。该字段表示的年份的范围是1991-2245。例如,2003年对应于值为13的制造年份。如果客户机不支持该字段,那么该字段将被设置为0。
2字节的CRC包含包括分组长度在内的分组中所有字节的一个16-位的CRC值。
G.关于客户机请求和状态分组
反向链路请求字段(3字节)指定了客户机在下一子帧中在反向链路上向主机发送信息所需要的字节数目。
CRC错误计数字段(1字节)表明自从介质帧开始以来已经出现有多少CRC错误。发送子帧计数为零的子帧报头分组时,CRC计数重置。如果CRC错误的实际数目超出255,那么这一值通常在255饱和。
能力改变字段使用1字节来表明显示器能力的改变。如果用户连接诸如麦克风、键盘或者显示器之类的外围设备,或者出于其它原因,可能出现这种情况。当位[7:0]等于0时,那么自从发送了上次的客户机能力分组以后,能力没有改变。然而,当位[7:0]等于1至255时,能力已经改变。检查客户机能力分组以便确定新的显示器特性。
H.关于位块传送分组
窗口左上坐标X值和Y值字段均使用2字节来指定待移动的窗口左上角的坐标的X和Y值。窗口宽度和高度字段均使用2字节用于说明待移动的窗口的宽度和高度。窗口X移动和Y移动字段均使用2字节用于分别指定窗口水平和垂直移动的像素数目。通常,这些坐标被如此配置,即,X的正值让窗口将向右侧移动,负值让其向左侧移动,而Y的正值让窗口向下移动,且负值使其向上移动。
I.关于位图区域填充分组
窗口左上坐标X值和Y值字段均使用2字节用于说明待填充的窗口左上角坐标的X和Y值。窗口宽度和高度字段(均2字节)用于说明待填充的窗口的宽度和高度。视频数据格式描述符字段(2字节)指定像素区域填充值的格式。所述格式与视频流分组中的同一字段相同。像素区域填充值字段(4字节)包含待填充到由上述字段指定的窗口中的像素值。在视频数据格式描述符字段中指定了这一像素的格式。
J.关于位图图案填充分组
窗口左上坐标X值和Y值字段均使用2字节来指定待填充的窗口左上角坐标的X和Y值。窗口宽度和高度字段(均2字节)用于说明待填充的窗口的宽度和高度。图案宽度和图案高度字段(均2字节)分别用于说明填充图案的宽度和高度。水平图案偏移字段(2字节)指定了距离待填充的指定窗口的左沿的像素数据图案的水平偏移。该值被指定为小于图案宽度字段中的值。垂直图案偏移字段(2字节)指定了距离待填充的指定窗口的顶沿的像素数据图案的垂直偏移。该值被指定为小于图案高度字段中的值。
2字节的视频数据格式描述符字段指定像素区域填充值的格式。图11说明视频数据格式描述符是如何编码的。所述格式与视频流分组中的同一字段相同。
参数CRC字段(2字节)包含从分组长度到视频格式描述符的所有字节的CRC。如果这一CRC未能通过校验,就丢弃整个分组。图案像素数据字段包含原始视频信息,用于说明以视频数据格式描述符指定的格式的填充图案。数据被打包为字节,并且每一行的第一像素将按字节对准。所述填充图案数据每次传输一行。图案像素数据CRC字段(2字节)包含只对图案像素数据的CRC。如果这一CRC未能通过校验,那么所述图案像素数据仍可被使用,但是CRC错误计数增加。
K.通信链路数据通道分组
参数CRC字段(2字节)包含从分组长度到分组类型的所有字节的一个16-位CRC。如果这一CRC未能通过校验,就丢弃整个分组。
通信链路数据字段包含来自通信信道的原始数据。这一数据仅仅被传递到显示器中的计算设备上。
通信链路数据CRC字段(2字节)包含只对通信链路数据的16-位CRC。如果这一CRC未能通过校验,那么所述通信链路数据仍可使用或者仍是有用的,不过CRC错误计数增加。
L.关于接口类型切换请求分组
所述接口类型字段(1字节)指定要使用的新的接口类型。这个字段中的值按照以下方式指定接口类型。如果位7的值等于‘0’,那么类型切换请求是针对正向链路的,如果等于‘1’,那么类型切换请求是针对反向链路的。位6至3被保留以供将来使用并且通常设置为零。位2至0用来定义将使用的接口类型,值1意味着切换至类型1模式,值2意味着切换至类型2模式,值3意味着切换至类型3模式,而值4意味着切换至类型4模式。值‘0’以及5至7被保留以供将来可选模式或者模式组合的标记使用。
M.关于接口类型确认分组
接口类型字段(1字节)具有用于确认要使用的新的接口类型的值。这个字段中的值按照以下方式指定接口类型。如果位7的值等于‘0’,那么类型切换请求是针对正向链路的,或者,如果等于‘1’,那么类型切换请求是针对反向链路的。位位置6至3目前被保留以便根据需要用于指明其它切换类型,并且通常设置为零。然而,位位置2至0用于定义将使用的接口类型,其中值‘0’表示否定确认,或者所请求的切换无法执行,值‘1’、‘2’、‘3’和‘4’分别表示切换至类型1、类型2、类型3和类型4模式。值5至7被保留以便根据需要用作模式的可选标记。
N.关于执行类型切换分组
1字节的接口类型字段表明要使用的新的接口类型。这个字段中存在的值通过首先使用位7的值确定是对正向还是反向链路进行类型切换来指定接口类型。值‘0’表明类型切换请求是针对正向链路的,而值‘1’表明类型切换请求是针对向反向链路的。位6至3被保留以供将来使用并且通常设置为零值。然而,位2至0用来定义将使用的接口类型,值1、2、3和4分别指定切换至类型1、类型2、类型3和类型4模式。这些位的值0以及5至7的使用被保留以供将来使用。
O.关于正向音频通道启用分组
音频通道启用掩码字段(1字节)包含一组标志,用于表明哪些音频通道将会在客户机中被启用。设置为1的位启用相应的通道,设置为零的位禁用相应的通道。位0至5分别指明位于左前、右前、左后、右后、前方中心和超低音扬声器通道的通道0到通道5。位7至6被保留以供将来使用,同时通常设置为零。
P.关于反向音频采样速率分组
音频采样速率字段(1字节)指定数字音频采样速率。把这个字段的值分配给不同的速率,其中值0、1、2、3、4、5、6、7和8分别用于指明8,000、16,000、24,000、32,000、40,000、48,000、11,025、22,050和44,100采样数每秒(SPS),值9至254被保留以便根据需要供可选速率使用,因此它们目前被设置为‘0’。值255用来禁用反向链路音频流。
采样格式字段(1字节)指定数字音频采样的格式。当位[1:0]等于‘0’时,数字音频采样是线性格式的,当它们等于1时,数字音频采样是μ-律格式的,而当它们等于2时,数字音频采样是A-律格式的。位[7:2]被保留以便根据需要可替代地用于指明音频格式,并且通常设置为等于零。
Q.关于数字内容保护开销分组
内容保护类型字段(1字节)指定所使用的数字内容保护方法。值‘0’表明数字传输内容保护(DTCP),而值1表明高带宽数字内容保护系统(HDCP)。2至255的值范围目前为被指定,而是被保留以便根据需要用于可选保护方案。内容保护开销消息字段是包含在主机和客户机之间发送的内容保护消息的长度可变字段。
R.关于透明色彩启用分组
透明色彩启用字段(1字节)指定启用或者禁用透明色彩模式的情况。如果位0等于0,那么透明色彩模式被禁用,如果等于1,那么透明色彩模式被启用,并且透明色彩通过如下两个参数指定。这一字节的位1至7被保留以供将来使用并且通常设置为等于零。
视频数据格式描述符字段(2字节)指定像素区域填充值的格式。图11说明视频数据格式描述符是如何编码的。所述格式通常与视频流分组中的同一字段相同。
像素区域填充值字段使用4字节分配给待填充到如上指定的窗口中的像素值。在视频数据格式描述符字段中指定这一像素的格式。
S.关于往返行程延迟测量分组
两字节的分组长度字段指定了不包括分组长度字段的分组中的字节总数,并且在一个实施例中选择159的固定长度。
在一个实施例中,参数CRC字段(2字节)包含从分组长度到分组类型的所有字节的16-位CRC。如果这一CRC未能通过校验,就丢弃整个分组。
保护时间1字段(这里是64字节)用来允许客户机中的MDDI_Data线路驱动器在主机中的线路驱动器被禁用以前被启用。在保护时间1的位0期间,所述客户机启用MDDI_Data线路驱动器,并且主机禁用其线路驱动器以便在保护时间1的最后位之前,该线路驱动器被完全禁用。在保护时间1期间,主机和客户机在其未被禁用时都驱动逻辑零电平。该字段的另一个目的是确保:在禁用主机线路驱动器之前,所有MDDI_Data信号处于逻辑零电平达足够的时间,以便允许客户机仅仅利用MDDI_Stb开始恢复时钟或时钟信号
测量周期字段是64字节窗口,用于允许客户机以正向链路上使用的一半数据速率利用0xff、0xff和30个字节的0x0来作出响应。这一数据速率对应于反向链路速率除数为1的情况。客户机一旦发觉处于测量周期开始时,就立即返回这一响应。在测量周期的第一位在主机处开始之后经过精确的链路往返行程延迟加上客户机的逻辑延迟的时刻,主机接收来自客户机的这一响应。
全零1字段(2字节)包含多个零,以便允许主机和客户机中的MDDI_Data线路驱动器交迭,从而MDDI_Data总是被驱动。主机在保护时间2的位0期间启用MDDI_Data,而客户机按照其在测量周期末尾的做法,也将信号驱动到逻辑0电平。
保护时间2字段(64字节)中的值在往返行程延迟处于测量周期能够测量的最大值时,允许由客户机驱动的测量周期交迭。客户机在保护时间2的位0期间禁用其线路驱动器,而主机在保护时间2的最后一位之后立即启用其线路驱动器。在保护时间2期间,主机和客户机二者在其未被禁用时都驱动逻辑0电平。该字段的另一目的是确保所有MDDI_Data信号处于逻辑0电平达足够的时间,以便允许客户机在启用主机的线路驱动器之后,使用MDDI_Data0和MDDI_Stb开始恢复时钟信号。
T.关于正向链路偏离校准分组
在一个实施例中,参数CRC字段(2字节)包含从分组长度到分组类型的所有字节的16-位CRC。如果这一CRC未能通过校验,就丢弃整个分组。
全零1字段使用1个字节,确保在参数CRC字段结束时在MDDI_Stb上有转变。
校准数据序列字段包含数据序列,用于让MDDI_Data信号在每一数据周期翻转。校准数据序列字段的长度取决于上行链路上使用的接口。在处理校准数据序列期间,所述MDDI主机控制器把所有MDDI_Data信号设置为等于选通信号。校准数据序列字段由客户机显示器接收的时候,所述客户机时钟恢复电路应该只使用MDDI_Stb而不是MDDI_Stb与MDDI_Data0的异或来恢复数据时钟。根据校准数据序列字段开始时MDDI_Stb信号的准确相位,基于发送这个分组时正在使用的接口类型,校准数据序列通常将是如下情况之一:
类型I-(64字节数据序列)0xaa,0xaa……或者0x55,0x55……
类型II-(128字节数据序列)0xcc,0xcc……或者0x33,0x33……
类型III-(256字节数据序列)0xf0,0xf0……或者0x0f,0x0f……
类型IV-(512字节数据序列)0xff,0x00,0xff,0x00……或者0x00,0xff,0x00,0xff……
图62A和62B中分别示出了类型1和类型2接口的可能的MDDI_Data和MDDI_Stb波形的实例。
XVII.结束语
虽然已经描述了本发明的各种实施例,但是应该理解的是,仅仅是以举例方式来给出它们,而不是限制性的。因此,本发明的广度和范围不应该受到上述任何示例性实施例的限制,而是仅仅根据如下的权利要求书及其等效物来限定。

Claims (70)

1.一种用于经由通信路径在主机设备和客户机设备之间以高速率传送数字呈现数据的数字数据接口,包括:
多个分组结构,其链接在一起而形成通信协议,该通信协议用于经由所述通信路径在主机和客户机之间传递数字的控制和呈现数据的预选集合;以及
至少一个链路控制器,其驻留在通过所述通信路径耦合至所述客户机的所述主机设备中,所述链路控制器被配置成生成、传输以及接收形成所述通信协议的分组,并且将数字的呈现数据形成为一种或多种类型的数据分组。
2.如权利要求1所述的接口,还包括在介质帧内成组在一起的所述分组,其中所述介质帧是在所述主机和客户机之间传递的,且具有预定义的固定长度,而预定数目的所述分组具有不同的并且可变的长度。
3.如权利要求1所述的接口,还包括子帧报头分组,其位于来自所述主机的分组传送的开始处。
4.如权利要求1所述的接口,其中所述链路控制器是主机链路控制器,并且还包括至少一个客户机链路控制器,该客户机链路控制器驻留在通过所述通信路径耦合至所述主机的所述客户机设备中,且被配置成生成、传输以及接收形成所述通信协议的分组,并且将数字的呈现数据形成为一种或多种类型的数据分组。
5.如权利要求1所述的接口,还包括视频类型数据的一个或多个视频流分组以及音频类型数据的音频流分组,其用于经由正向链路将数据从所述主机传送到所述客户机,从而呈现给客户机用户。
6.如权利要求2所述的接口,还包括:
多种传送模式,每种传送模式均允许在给定时间周期上并行传送最大数目不同的数据位,其中每一模式可通过所述主机和客户机的链路驱动器之间的协商来选择;以及
其中在传送数据期间,所述传送模式可在所述多种模式之间动态地调整。
7.如权利要求1所述的接口,还包括多个用于传送视频信息的分组,这些视频信息是从由色彩映射、位块传送、位图区域填充、位图图案填充以及透明色彩启用类型分组构成的组中选出的。
8.如权利要求1所述的接口,还包括由所述主机生成的用于占据没有数据的正向链路传输周期的填充符类型分组。
9.如权利要求1所述的接口,还包括用户定义的流类型分组,用于传送接口用户定义的数据。
10.如权利要求1所述的接口,还包括由所述主机传输给所述客户机的链路关闭类型分组,用于终止所述通信路径上沿任何一个方向的数据传送。
11.如权利要求1所述的接口,还包括用于让所述客户机将所述主机从休眠状态唤醒的模块。
12.一种用于经由通信路径在主机设备和客户机设备之间以高速率传送数字数据以便呈现给用户的方法,包括:
生成多个预定义分组结构中的一个或多个,并且把这些分组结构链接在一起而形成预定义的通信协议;
使用所述通信协议,经由所述通信路径,在所述主机和所述客户机设备之间传递数字的控制和呈现数据的预选集合;
通过所述通信路径,将驻留在所述主机设备中的至少一个主机链路控制器耦合至所述客户机设备,所述主机链路控制器被配置成生成、传输以及接收形成所述通信协议的分组,并且将数字的呈现数据形成为一种或多种类型的数据分组;以及
使用所述链路控制器,经由所述通信路径以分组形式传送数据。
13.如权利要求12所述的方法,还包括:在用于在所述主机和客户机之间传递的介质帧中将所述分组成组在一起,所述介质帧具有预定义的固定长度,而预定数目的所述分组具有不同的并且可变的长度。
14.如权利要求12所述的方法,还包括:利用子帧报头类型分组,开始从所述主机传送分组。
15.如权利要求12所述的方法,还包括:经由所述通信链路,在所述主机和客户机之间双向地传送信息。
16.如权利要求12所述的方法,还包括至少一个客户机链路控制器,该客户机链路控制器驻留在通过所述通信路径耦合至所述主机设备的所述客户机设备中,且被配置成生成、传输以及接收形成所述通信协议的分组,并且将数字呈现数据形成为一种或多种类型的数据分组。
17.如权利要求16所述的方法,其中所述主机链路控制器包括一个或多个差分线路驱动器;并且所述客户机链路控制器包括耦合至所述通信路径的一个或多个差分线路接收器。
18.如权利要求12所述的方法,还包括:由主机链路控制器从所述客户机请求显示器能力信息,以便确定所述客户机能够通过所述接口支持什么样的数据类型和数据速率。
19.如权利要求12所述的方法,还包括:通过所述链路控制器中的每一个,将USB数据接口用作所述通信路径的一部分。
20.如权利要求12所述的方法,其中每一个所述分组均包括分组长度字段、一个或多个分组数据字段和循环冗余校验字段。
21.如权利要求13所述的方法,还包括:
在所述主机和客户机的链路驱动器之间协商每一方向上使用的多种传送模式之一,每一种传送模式均允许在给定时间周期上并行传送数据的最大数目不同的数据位;并且
在传送数据期间,在所述多种传送模式之间进行动态调整。
22.如权利要求12所述的方法,还包括:使用多个分组的一个或多个来传送从由色彩映射、位块传送、位图区域填充、位图图案填充以及透明色彩启用类型分组构成的组中选出的视频信息。
23.如权利要求12所述的方法,还包括:由所述主机生成填充符类型分组,用于占据没有数据的正向链路传输周期。
24.如权利要求12所述的方法,还包括:使用由所述主机传输到所述客户机的链路关闭类型分组,终止所述通信路径上沿任何一个方向的数据传送。
25.如权利要求12所述的方法,还包括:通过与所述客户机的通信,将所述主机从休眠状态中唤醒。
26.用于经由通信路径在主机设备和客户机设备之间以高速率传送数字数据以便呈现给用户的装置,包括:
至少一个主机链路控制器,其设置在所述主机设备中,用于生成多个预定义分组结构中的一个或多个,并且把这些分组结构链接在一起而形成预定义的通信协议,以及用于使用所述通信协议经由所述通信路径在所述主机和所述客户机设备之间传递数字的控制和呈现数据的预选集合;
至少一个客户机控制器,其设置在所述客户机设备中,并且通过所述通信路径耦合至所述主机链路控制器;以及
每个链路控制器被配置成生成、传输以及接收形成所述通信协议的分组,并且将数字的呈现数据形成为一种或多种类型的数据分组。
27.如权利要求26所述的装置,其中所述主机控制器包括状态机。
28.如权利要求26所述的装置,其中所述主机控制器包括通用信号处理器。
29.如权利要求26所述的装置,还包括子帧报头类型分组,其位于来自所述主机的分组传送的开始处。
30.如权利要求26所述的装置,其中所述链路控制器被配置成经由所述通信链路在所述主机和客户机设备之间双向地传送信息。
31.如权利要求30所述的装置,其中所述主机控制器包括一个或多个差分线路驱动器;并且所述客户机接收器包括耦合至所述通信路径的一个或多个差分线路接收器。
32.如权利要求26所述的装置,还包括:在将数据从所述主机传送到所述客户机以便呈现给客户机用户时的视频类型数据的视频流类型分组以及音频类型的音频流类型分组。
33.如权利要求26所述的装置,还包括一个或多个反向链路封装类型分组,用于将数据从所述客户机传送到所述主机。
34.如权利要求33所述的装置,还包括至少一个显示器能力类型分组,用于将显示或者呈现能力从客户机链路控制器传递给所述主机链路控制器。
35.如权利要求26所述的装置,其中每一个所述分组均包括分组长度字段、一个或多个分组数据字段和循环冗余校验字段。
36.如权利要求26所述的装置,其中所述主机和客户机的链路控制器被配置成在每个方向上使用多种传送模式之一,每一种传送模式均允许在给定时间周期上并行传送最大数目不同的数据位;并且能够在传送数据期间在各所述传送模式之间进行动态调整。
37.如权利要求26所述的装置,还包括用于传送视频信息的多个分组中的一个或多个,其中所述视频信息是从由色彩映射、位块传送、位图区域填充、位图图案填充以及透明色彩启用类型分组构成的组中选出的。
38.如权利要求26所述的装置,还包括由所述主机传送的填充符类型分组,用于占据没有数据的正向链路传输周期。
39.如权利要求26所述的装置,其中所述主机控制器被配置成向所述客户机模块传输链路关闭类型分组,用于终止所述通信路径上沿任何一个方向的数据传送。
40.一种计算机程序产品,用于经由通信路径在主机设备和客户机设备之间以高速率传送数字数据以便呈现给用户的电子系统中,该计算机程序产品包括:
计算机可用介质,具有嵌入所述介质的计算机可读程序代码模块,用于让应用程序在所述计算机系统上执行,其中所述计算机可读程序代码模块包括:
计算机可读第一程序代码模块,用于让所述计算机系统生成多个预定义分组结构的一个或多个,并且把这些分组结构链接在一起而形成预定义的通信协议;
计算机可读第二程序代码模块,用于让所述计算机系统使用所述通信协议经由所述通信路径在所述主机和所述客户机设备之间传递数字的控制和呈现数据的预选集合;
计算机可读第三程序代码模块,用于让所述计算机系统通过所述通信路径将设置在所述主机设备中的至少一个主机链路控制器耦合到设置在所述客户机设备中的至少一个客户机控制器,所述链路控制器被配置成生成、传输以及接收形成所述通信协议的分组,并且将数字呈现数据形成为一种或多种类型的数据分组;以及
计算机可读第四程序代码模块,用于让所述计算机系统使用所述链路控制器经由所述通信路径以分组的形式传送数据。
41.经由通信路径在主机设备和客户机设备之间以高速率传送数字数据以便呈现给用户的装置,包括:
用于生成多个预定义分组结构中的一个或多个,并且把这些分组结构链接在一起而形成预定义的通信协议的模块;
用于使用所述通信协议经由所述通信路径在所述主机和所述客户机设备之间传递数字的控制和呈现数据的预选集合的模块;
用于通过所述通信路径把至少两个链路控制器耦合在一起的模块,在所述主机和客户机的每一个中各有一个该模块,并且均被配置成生成、传输以及接收形成所述通信协议的分组,并且将数字呈现数据形成为一种或多种类型的数据分组;以及
用于使用所述链路控制器经由所述通信路径以分组的形式来传送数据的模块。
42.如权利要求41所述的装置,还包括用于利用子帧报头类型分组开始从所述主机传送分组的模块。
43.如权利要求41所述的装置,还包括经由所述通信链路在所述主机和客户机之间双向地传送信息的模块。
44.如权利要求41所述的装置,还包括由主机链路控制器从客户机请求显示器能力信息,以便确定所述客户机能够通过所述接口支持什么样的数据类型和数据速率的模块。
45.如权利要求44所述的装置,还包括用于使用至少一个显示器能力类型分组把显示或者呈现能力从客户机链路控制器传递给所述主机链路控制器的模块。
46.如权利要求42所述的装置,还包括:
用于在所述主机和客户机的链路驱动器之间协商每一方向上使用的多种传送模式之一的模块,每一种传送模式均允许在给定时间周期上并行传送最大数目不同的数据位;以及
用于在传送数据期间,在各所述传送模式之间进行动态调节的模块。
47.如权利要求41所述的装置,还包括用于使用多个分组中的一个或多个来传送从由色彩映射、位块传送、位图区域填充、位图图案填充以及透明色彩启用类型分组构成的组中选出的视频信息的模块。
48.一种在电子系统中使用的处理器,该电子系统用于经由通信路径在主机设备和客户机设备之间以高速率传送数字数据,所述处理器被配置成生成多个预定义分组结构中的一个或多个,并且把这些分组结构链接在一起而形成预定义的通信协议;将数字呈现数据形成为一种或多种类型的数据分组;使用所述通信协议经由所述通信路径在所述主机和所述客户机设备之间传递数字的控制和呈现数据的预选集合;以及,经由所述通信路径以分组的形式传送数据。
49.一种用于在电子系统中获得同步的状态机,其中该电子系统用于经由通信路径在主机设备和客户机设备之间以高速率传送数字数据,所述状态机被配置成具有至少一个异步帧状态的同步状态、至少两个获得同步状态的同步状态以及至少三个同步中状态的同步状态。
50.一种用于在电子系统中获得同步的状态机,其中该电子系统用于经由通信路径在主机设备和客户机设备之间以高速率传送数字数据,所述状态机被配置成具有至少一个获得同步状态的同步状态以及至少两个同步中状态的同步状态。
51.如权利要求50所述的状态机,其中在获得同步状态和第一同步中状态之间转换的一个条件是在通信链路中检测到存在同步模式。
52.如权利要求51所述的状态机,其中在获得同步状态和第一同步中状态之间转换的第二个条件是检测到存在子帧报头分组和在帧边界处有正确的CRC值。
53.如权利要求50所述的状态机,其中在第一同步中状态和获得同步状态之间转换的一个条件是检测到不存在同步模式或者在子帧边界处存在错误的CRC值。
54.如权利要求50所述的状态机,其中在第一同步中状态和第二同步中状态之间转换的一个条件是检测到不存在同步模式或者在子帧边界处存在错误的CRC值。
55.如权利要求50所述的状态机,其中在获得同步状态和第一同步中状态之间转换的一个条件是在通信链路中检测到存在同步模式,并且检测到存在正确的分组CRC值。
56.如权利要求50所述的状态机,其中在第一同步中状态和获得同步状态之间转换的条件是在分组中检测到存在错误的CRC值。
57.一种用于在电子系统中获得同步的状态机,其中该电子系统用于经由通信路径在主机设备和客户机设备之间以高速率传送数字数据,所述状态机被配置成具有至少一个获得同步状态的同步状态和至少两个同步中状态的同步状态,其中在第一同步中状态和获得同步状态之间直接转换的条件是在一系列分组中的任意一个分组中检测到存在错误的CRC值。
58.如权利要求57所述的状态机,其中在第一同步中状态和获得同步状态之间直接转换的条件是检测到唯一字没有在期望其到达的时候出现。
59.如权利要求26所述的方法,还包括:由所述主机通过把数据线路驱动至高状态且至少持续10个时钟周期,并且按照所述数据线路为零的方式开始传输选通信号,唤醒通信链路。
60.如权利要求59所述的方法,还包括:在所述主机已经把所述数据线路驱动为高状态达150个时钟周期之后,由所述主机把所述数据线路驱动为低状态且持续50个时钟周期,同时继续传输选通信号。
61.如权利要求59所述的方法,还包括:由所述主机开始传输第一个子帧报头分组。
62.如权利要求60所述的方法,还包括:由所述客户机对处于高状态的数据线路的至少150个连续时钟周期进行计数,继而对处于低状态的数据线路的至少50个连续时钟周期进行计数。
63.如权利要求62所述的方法,还包括:由所述客户机搜索第一子帧的唯一字。
64.如权利要求60所述的方法,还包括:所述客户机对处于高状态的数据的70个连续时钟周期计数之后,停止把数据线路驱动为高状态。
65.如权利要求64所述的方法,还包括:由所述客户机对处于高状态的数据线路的另外80个连续时钟周期进行计数,以便达到处于高状态的数据线路的150个时钟周期,并且寻找处于低状态的数据线路的50个时钟周期,以及寻找所述唯一字。
66.如权利要求26所述的方法,还包括:对出现的时钟周期数目进行计数,直到所述主机通过在反向时序分组期间在上升沿和下降沿上对数据线路进行采样而采样得到一个1为止。
67.一种在通信系统中传送错误代码的方法,在所述通信系统中,数字数据以具有CRC值的分组形式经由通信路径在主机设备和客户机设备之间传送,所述方法包括:检测错误的存在,选择对应于所述错误的预定错误代码,并且利用所述代码来重写所述CRC值。
68.如权利要求67所述的方法,还包括:在正在传送的连续多个分组中重写所述CRC值,直到所述错误被纠正为止。
69.一种经由通信路径在主机设备和客户机设备之间以高速率传送数字数据以便呈现给用户的方法,包括:
生成多个预定义分组结构中的一个或多个,每一个分组结构都包括至少一个CRC字段,并且把这些分组结构链接在一起而形成预定义的通信协议;
使用所述通信协议经由所述通信路径在所述主机和所述客户机设备之间传递数字的控制和呈现数据的预选集合;
通过所述通信路径把驻留在所述主机设备中的至少一个主机链路控制器耦合至所述客户机设备,所述主机链路控制器被配置成生成、传输以及接收形成所述通信协议的分组,并且将数字呈现数据形成为一种或多种类型的数据分组;
使用所述链路控制器经由所述通信路径以分组的形式传送数据;
检测所述通信链路的错误的存在;
选择对应于所述错误的预定错误代码;并且利用所述代码重写所述CRC值。
70.如权利要求69所述的方法,还包括:在正在传送的连续多个分组中重写所述CRC值,直到所述错误被纠正为止。
CNA2004800392411A 2003-10-29 2004-10-29 高数据速率接口 Pending CN1902880A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51594803P 2003-10-29 2003-10-29
US60/515,948 2003-10-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2009102091023A Division CN101827074B (zh) 2003-10-29 2004-10-29 高数据速率接口

Publications (1)

Publication Number Publication Date
CN1902880A true CN1902880A (zh) 2007-01-24

Family

ID=34549466

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2009102091023A Expired - Fee Related CN101827074B (zh) 2003-10-29 2004-10-29 高数据速率接口
CNA2004800392411A Pending CN1902880A (zh) 2003-10-29 2004-10-29 高数据速率接口

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2009102091023A Expired - Fee Related CN101827074B (zh) 2003-10-29 2004-10-29 高数据速率接口

Country Status (11)

Country Link
US (1) US8756294B2 (zh)
EP (1) EP1692842A1 (zh)
KR (1) KR100827573B1 (zh)
CN (2) CN101827074B (zh)
AU (2) AU2004307162A1 (zh)
BR (1) BRPI0416054A (zh)
CA (1) CA2544030A1 (zh)
IL (1) IL175181A0 (zh)
RU (1) RU2331160C2 (zh)
TW (1) TWI401601B (zh)
WO (1) WO2005043862A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013170436A1 (zh) * 2012-05-15 2013-11-21 深圳市华奥通通信技术有限公司 一种无线通信系统及方法
US8982780B2 (en) 2008-11-04 2015-03-17 Htc Corporation Method and apparatus for improving uplink transmission in a wireless communication system

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
KR101166734B1 (ko) 2003-06-02 2012-07-19 퀄컴 인코포레이티드 고속 데이터 레이트를 위한 신호 프로토콜 및 인터페이스의 생성 및 구현
EP2363991A1 (en) 2003-08-13 2011-09-07 Qualcomm Incorporated A signal interface for higher data rates
US8719334B2 (en) 2003-09-10 2014-05-06 Qualcomm Incorporated High data rate interface
CN102801595A (zh) 2003-10-15 2012-11-28 高通股份有限公司 高数据速率接口
KR20090042861A (ko) 2003-11-12 2009-04-30 콸콤 인코포레이티드 향상된 링크 제어를 제공하는 고속 데이터 레이트 인터페이스
WO2005053272A1 (en) 2003-11-25 2005-06-09 Qualcomm Incorporated High data rate interface with improved link synchronization
CA2731265A1 (en) 2003-12-08 2005-06-23 Qualcomm Incorporated High data rate interface with improved link synchronization
WO2005060127A1 (en) * 2003-12-19 2005-06-30 Nokia Corporation Selection of radio resources in a wireless communication device
MXPA06010312A (es) 2004-03-10 2007-01-19 Qualcomm Inc Aparato y metodo de interfaz de velocidad de datos elevada.
US8705521B2 (en) 2004-03-17 2014-04-22 Qualcomm Incorporated High data rate interface apparatus and method
WO2005096594A1 (en) 2004-03-24 2005-10-13 Qualcomm Incorporated High data rate interface apparatus and method
DE102004044785A1 (de) * 2004-04-10 2005-10-27 Leica Microsystems Semiconductor Gmbh Vorrichtung und Verfahren zur Bestimmung von Positionierkoordinaten für Halbleitersubstrate
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
ATE518343T1 (de) 2004-06-04 2011-08-15 Qualcomm Inc Schnittstellenvorrichtung und -verfahren für hohe datenraten
US7733294B2 (en) * 2004-11-03 2010-06-08 Sony Corporation Method and system for wireless transmission
US7719482B2 (en) * 2004-11-03 2010-05-18 Sony Corporation Method and system for processing wireless digital multimedia
US8723705B2 (en) 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8873584B2 (en) * 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
KR100685664B1 (ko) 2005-08-12 2007-02-26 삼성전자주식회사 호스트 및 클라이언트로 구성된 데이터 통신 시스템 및데이터 통신 시스템의 작동 방법
JP2007060446A (ja) * 2005-08-26 2007-03-08 Sony Corp メタデータ生成装置、情報処理装置、撮像装置、テレビ会議システム、セキュリティシステム、メタデータ生成方法及びプログラム
US7395401B2 (en) 2005-09-30 2008-07-01 Sigmatel, Inc. System and methods for accessing solid-state memory devices
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
BRPI0708569B1 (pt) 2006-03-07 2019-08-20 Thomson Licensing Dispositivo de comunicação portátil e base adaptada para comunicar-se com um dispositivo de comunicação portátil
TW200742988A (en) * 2006-05-05 2007-11-16 Inventec Appliances Corp Interface transmission structure between modules and its method
US20080045149A1 (en) * 2006-05-26 2008-02-21 Dinesh Dharmaraju Wireless architecture for a traditional wire-based protocol
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US9058032B2 (en) * 2006-09-29 2015-06-16 Rockwell Automation Technologies, Inc. Hosting requirements for services
US9231790B2 (en) 2007-03-02 2016-01-05 Qualcomm Incorporated N-phase phase and polarity encoded serial interface
US9112815B2 (en) 2012-06-15 2015-08-18 Qualcomm Incorporated Three-phase-polarity safe reverse link shutdown
US9711041B2 (en) 2012-03-16 2017-07-18 Qualcomm Incorporated N-phase polarity data transfer
US8064535B2 (en) 2007-03-02 2011-11-22 Qualcomm Incorporated Three phase and polarity encoded serial interface
US8462784B2 (en) * 2007-04-27 2013-06-11 Cisco Technology Inc. Security approach for transport equipment
US8667144B2 (en) * 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
US8848810B2 (en) * 2008-03-05 2014-09-30 Qualcomm Incorporated Multiple transmitter system and method
US8811294B2 (en) 2008-04-04 2014-08-19 Qualcomm Incorporated Apparatus and methods for establishing client-host associations within a wireless network
US8006212B2 (en) * 2008-07-30 2011-08-23 Synopsys, Inc. Method and system for facilitating floorplanning for 3D IC
CN101651510B (zh) * 2008-08-14 2013-01-16 中兴通讯股份有限公司 业务数据同步发送的恢复处理方法和装置
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
ES2538811T3 (es) * 2008-12-15 2015-06-24 Xinjiang Tiandi Group Dispositivo de retracción de cable de auricular, auricular de retracción de cable automático, teléfono móvil por cable sin radiación y dispositivo electrónico
US20100205321A1 (en) * 2009-02-12 2010-08-12 Qualcomm Incorporated Negotiable and adaptable periodic link status monitoring
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
US8700723B2 (en) * 2010-06-15 2014-04-15 Netzyn, Inc. Hierarchical display-server system and method
US9071992B2 (en) * 2010-08-11 2015-06-30 Qualcomm Incorporated Signaling for extended MPDU, A-MPDU and A-MSDU frame formats
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
US8996740B2 (en) 2012-06-29 2015-03-31 Qualcomm Incorporated N-phase polarity output pin mode multiplexer
US9025860B2 (en) * 2012-08-06 2015-05-05 Microsoft Technology Licensing, Llc Three-dimensional object browsing in documents
US20150134983A1 (en) * 2014-08-19 2015-05-14 Leef Technology LTD Providing power to a mobile device using a flash drive
EP3201784A4 (en) 2014-09-30 2018-10-03 Hewlett-Packard Development Company, L.P. Managing access to peripheral devices
CN104883625B (zh) * 2015-06-12 2018-03-09 腾讯科技(北京)有限公司 信息展示方法、终端设备、服务器和系统
US20170118125A1 (en) * 2015-10-23 2017-04-27 Qualcomm Incorporated Radio frequency front end devices with high data rate mode
US10878879B2 (en) * 2017-06-21 2020-12-29 Mediatek Inc. Refresh control method for memory system to perform refresh action on all memory banks of the memory system within refresh window
US11263143B2 (en) * 2017-09-29 2022-03-01 Intel Corporation Coherent accelerator fabric controller
US10530523B2 (en) 2017-11-20 2020-01-07 International Business Machines Corporation Dynamically adjustable cyclic redundancy code rates
CN111223459B (zh) 2018-11-27 2022-03-08 元太科技工业股份有限公司 移位寄存器以及栅极驱动电路
CN109407656B (zh) * 2018-12-29 2021-04-09 深圳市道通科技股份有限公司 车辆中的电子控制单元的扫描方法及其汽车诊断设备
US10649946B1 (en) * 2019-01-15 2020-05-12 Nxp Usa, Inc. Fast link turnaround using MIPI D-PHY
TWI727581B (zh) * 2019-11-25 2021-05-11 瑞昱半導體股份有限公司 資料傳輸系統
US11184264B2 (en) 2020-02-21 2021-11-23 Rohde & Schwarz Gmbh & Co. Kg Error rate test method and test system for testing a device under test
KR102638279B1 (ko) * 2022-11-29 2024-02-19 주식회사 임팩트럼 엘이디 디스플레이 장치의 엘이디 소자 픽셀 교정 데이터 전송 및 교정방법

Family Cites Families (462)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2306082A (en) 1940-04-27 1942-12-22 Clarence O Prest Method for line or design reproduction by electrolysis
US7274652B1 (en) 2000-06-02 2007-09-25 Conexant, Inc. Dual packet configuration for wireless communications
US3594304A (en) 1970-04-13 1971-07-20 Sun Oil Co Thermal liquefaction of coal
US4042783A (en) 1976-08-11 1977-08-16 International Business Machines Corporation Method and apparatus for byte and frame synchronization on a loop system coupling a CPU channel to bulk storage devices
US4393444A (en) 1980-11-06 1983-07-12 Rca Corporation Memory addressing circuit for converting sequential input data to interleaved output data sequence using multiple memories
US4363123A (en) 1980-12-01 1982-12-07 Northern Telecom Limited Method of and apparatus for monitoring digital transmission systems in which line transmission errors are detected
JPS57136833A (en) 1981-02-17 1982-08-24 Sony Corp Time-division multiplex data transmitting method
US4660096A (en) 1984-12-11 1987-04-21 Rca Corporation Dividing high-resolution-camera video signal response into sub-image blocks individually raster scanned
DE3531809A1 (de) 1985-09-06 1987-03-26 Kraftwerk Union Ag Katalysatormaterial zur reduktion von stickoxiden
US4769761A (en) 1986-10-09 1988-09-06 International Business Machines Corporation Apparatus and method for isolating and predicting errors in a local area network
JPS63226762A (ja) 1987-03-16 1988-09-21 Hitachi Ltd デ−タ処理方式
US4764805A (en) 1987-06-02 1988-08-16 Eastman Kodak Company Image transmission system with line averaging preview mode using two-pass block-edge interpolation
US4821296A (en) 1987-08-26 1989-04-11 Bell Communications Research, Inc. Digital phase aligner with outrigger sampling
US5227783A (en) 1987-10-13 1993-07-13 The Regents Of New Mexico State University Telemetry apparatus and method with digital to analog converter internally integrated within C.P.U.
JPH0727571B2 (ja) 1987-10-26 1995-03-29 テクトロニックス・インコーポレイテッド ラスタ走査表示装置及び図形データ転送方法
US5155590A (en) * 1990-03-20 1992-10-13 Scientific-Atlanta, Inc. System for data channel level control
US4891805A (en) 1988-06-13 1990-01-02 Racal Data Communications Inc. Multiplexer with dynamic bandwidth allocation
US5167035A (en) 1988-09-08 1992-11-24 Digital Equipment Corporation Transferring messages between nodes in a network
US5136717A (en) 1988-11-23 1992-08-04 Flavors Technology Inc. Realtime systolic, multiple-instruction, single-data parallel computer system
US5079693A (en) 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US6014705A (en) 1991-10-01 2000-01-11 Intermec Ip Corp. Modular portable data processing terminal having a higher layer and lower layer partitioned communication protocol stack for use in a radio frequency communications network
US5224213A (en) 1989-09-05 1993-06-29 International Business Machines Corporation Ping-pong data buffer for transferring data from one data bus to another data bus
US5495482A (en) 1989-09-29 1996-02-27 Motorola Inc. Packet transmission system and method utilizing both a data bus and dedicated control lines
US5543939A (en) 1989-12-28 1996-08-06 Massachusetts Institute Of Technology Video telephone systems
US5138616A (en) 1990-03-19 1992-08-11 The United States Of America As Represented By The Secretary Of The Army Continuous on-line link error rate detector utilizing the frame bit error rate
JPH0465711A (ja) 1990-07-05 1992-03-02 Nippon Avionics Co Ltd 表示装置の表示制御方式
US5111455A (en) 1990-08-24 1992-05-05 Avantek, Inc. Interleaved time-division multiplexor with phase-compensated frequency doublers
US5131012A (en) 1990-09-18 1992-07-14 At&T Bell Laboratories Synchronization for cylic redundancy check based, broadband communications network
GB2249460B (en) 1990-09-19 1994-06-29 Intel Corp Network providing common access to dissimilar hardware interfaces
JP3007926B2 (ja) 1990-11-15 2000-02-14 オムロン株式会社 データキャリア及び識別システム
GB2250668B (en) 1990-11-21 1994-07-20 Apple Computer Tear-free updates of computer graphical output displays
IL100213A (en) 1990-12-07 1995-03-30 Qualcomm Inc Mikrata Kedma phone system and its antenna distribution system
US5359595A (en) 1991-01-09 1994-10-25 Rockwell International Corporation Skywave adaptable network transceiver apparatus and method using a stable probe and traffic protocol
US5345542A (en) 1991-06-27 1994-09-06 At&T Bell Laboratories Proportional replication mapping system
US5231636A (en) 1991-09-13 1993-07-27 National Semiconductor Corporation Asynchronous glitchless digital MUX
DE69232639T2 (de) 1991-10-01 2003-02-20 Norand Corp Lokales funkfrequenznetzwerk
US5396636A (en) 1991-10-21 1995-03-07 International Business Machines Corporation Remote power control via data link
US5751445A (en) 1991-11-11 1998-05-12 Canon Kk Image transmission system and terminal device
CA2064541C (en) 1992-03-31 1998-09-15 Thomas A. Gray Cycling error count for link maintenance
US5331642A (en) 1992-09-01 1994-07-19 International Business Machines Corporation Management of FDDI physical link errors
JP3305769B2 (ja) 1992-09-18 2002-07-24 株式会社東芝 通信装置
JPH06124147A (ja) 1992-10-13 1994-05-06 Sanyo Electric Co Ltd 情報処理装置
GB9222282D0 (en) 1992-10-22 1992-12-09 Hewlett Packard Co Monitoring network status
US5513185A (en) 1992-11-23 1996-04-30 At&T Corp. Method and apparatus for transmission link error rate monitoring
US5867501A (en) 1992-12-17 1999-02-02 Tandem Computers Incorporated Encoding for communicating data and commands
US5619650A (en) 1992-12-31 1997-04-08 International Business Machines Corporation Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
GB9304638D0 (en) 1993-03-06 1993-04-21 Ncr Int Inc Wireless data communication system having power saving function
JPH06332664A (ja) 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US5418452A (en) 1993-03-25 1995-05-23 Fujitsu Limited Apparatus for testing integrated circuits using time division multiplexing
WO1994024200A1 (en) 1993-04-16 1994-10-27 Akzo Nobel N.V. Liquid stabilizer comprising metal soap and solubilized metal perchlorate
JP3197679B2 (ja) 1993-04-30 2001-08-13 富士写真フイルム株式会社 写真撮影システムおよび方法
US5420858A (en) 1993-05-05 1995-05-30 Synoptics Communications, Inc. Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium
US5519830A (en) 1993-06-10 1996-05-21 Adc Telecommunications, Inc. Point-to-multipoint performance monitoring and failure isolation system
JP2768621B2 (ja) 1993-06-25 1998-06-25 沖電気工業株式会社 分散送信される畳み込み符号の復号装置
US5477534A (en) 1993-07-30 1995-12-19 Kyocera Corporation Acoustic echo canceller
US5430486A (en) 1993-08-17 1995-07-04 Rgb Technology High resolution video image transmission and storage
US5426694A (en) 1993-10-08 1995-06-20 Excel, Inc. Telecommunication switch having programmable network protocols and communications services
US5490247A (en) 1993-11-24 1996-02-06 Intel Corporation Video subsystem for computer-based conferencing system
US5510832A (en) 1993-12-01 1996-04-23 Medi-Vision Technologies, Inc. Synthesized stereoscopic imaging system and method
US5583562A (en) 1993-12-03 1996-12-10 Scientific-Atlanta, Inc. System and method for transmitting a plurality of digital services including imaging services
US5565957A (en) 1993-12-27 1996-10-15 Nikon Corporation Camera
US5724536A (en) 1994-01-04 1998-03-03 Intel Corporation Method and apparatus for blocking execution of and storing load operations during their execution
US5844606A (en) 1994-03-03 1998-12-01 Fuji Photo Film Co., Ltd. Videocamera having a multiconnector connectable to a variety of accessories
JP2790034B2 (ja) 1994-03-28 1998-08-27 日本電気株式会社 非運用系メモリ更新方式
US5483185A (en) 1994-06-09 1996-01-09 Intel Corporation Method and apparatus for dynamically switching between asynchronous signals without generating glitches
JP3329076B2 (ja) 1994-06-27 2002-09-30 ソニー株式会社 ディジタル信号伝送方法、ディジタル信号伝送装置、ディジタル信号受信方法及びディジタル信号受信装置
US5560022A (en) 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
US5748891A (en) 1994-07-22 1998-05-05 Aether Wire & Location Spread spectrum localizers
DE59504093D1 (de) 1994-07-25 1998-12-03 Siemens Ag Verfahren zum verbindungsaufbau und zum steuern der bildtelefonkommunikation
US5664948A (en) 1994-07-29 1997-09-09 Seiko Communications Holding N.V. Delivery of data including preloaded advertising data
US5733131A (en) 1994-07-29 1998-03-31 Seiko Communications Holding N.V. Education and entertainment device with dynamic configuration and operation
JP3592376B2 (ja) 1994-08-10 2004-11-24 株式会社アドバンテスト 時間間隔測定装置
US5816921A (en) 1994-09-27 1998-10-06 Sega Enterprises, Ltd. Data transferring device and video game apparatus using the same
GB2296123B (en) 1994-12-13 1998-08-12 Ibm Midi playback system
US5559459A (en) 1994-12-29 1996-09-24 Stratus Computer, Inc. Clock signal generation arrangement including digital noise reduction circuit for reducing noise in a digital clocking signal
FR2729528A1 (fr) 1995-01-13 1996-07-19 Suisse Electronique Microtech Circuit de multiplexage
GB2298109B (en) * 1995-02-14 1999-09-01 Nokia Mobile Phones Ltd Data interface
US5530704A (en) 1995-02-16 1996-06-25 Motorola, Inc. Method and apparatus for synchronizing radio ports in a commnuication system
US5646947A (en) 1995-03-27 1997-07-08 Westinghouse Electric Corporation Mobile telephone single channel per carrier superframe lock subsystem
US6400392B1 (en) 1995-04-11 2002-06-04 Matsushita Electric Industrial Co., Ltd. Video information adjusting apparatus, video information transmitting apparatus and video information receiving apparatus
US5521907A (en) 1995-04-25 1996-05-28 Visual Networks, Inc. Method and apparatus for non-intrusive measurement of round trip delay in communications networks
US5963564A (en) 1995-06-13 1999-10-05 Telefonaktiebolaget Lm Ericsson Synchronizing the transmission of data via a two-way link
SE506540C2 (sv) 1995-06-13 1998-01-12 Ericsson Telefon Ab L M Synkronisering av överföring av data via en dubbelriktad länk
JPH0923243A (ja) 1995-07-10 1997-01-21 Hitachi Ltd 電子紙面情報配信システム
WO1997003508A1 (fr) 1995-07-13 1997-01-30 Sony Corporation Procede, appareil et systeme de transmission de donnees
JPH0936871A (ja) 1995-07-17 1997-02-07 Sony Corp データ伝送システムおよびデータ伝送方法
US5604450A (en) 1995-07-27 1997-02-18 Intel Corporation High speed bidirectional signaling scheme
JPH0955667A (ja) 1995-08-10 1997-02-25 Mitsubishi Electric Corp マルチプレクサ,及びデマルチプレクサ
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
WO1997011428A1 (en) 1995-09-19 1997-03-27 Microchip Technology Incorporated Microcontroller wake-up function having digitally programmable threshold
US5748642A (en) * 1995-09-25 1998-05-05 Credence Systems Corporation Parallel processing integrated circuit tester
US5732352A (en) 1995-09-29 1998-03-24 Motorola, Inc. Method and apparatus for performing handoff in a wireless communication system
US5818255A (en) 1995-09-29 1998-10-06 Xilinx, Inc. Method and circuit for using a function generator of a programmable logic device to implement carry logic functions
US5550489A (en) 1995-09-29 1996-08-27 Quantum Corporation Secondary clock source for low power, fast response clocking
US5751951A (en) 1995-10-30 1998-05-12 Mitsubishi Electric Information Technology Center America, Inc. Network interface
EP0772119A3 (en) 1995-10-31 1997-12-29 Cirrus Logic, Inc. Automatic graphics operation
US5958006A (en) 1995-11-13 1999-09-28 Motorola, Inc. Method and apparatus for communicating summarized data
US7003796B1 (en) 1995-11-22 2006-02-21 Samsung Information Systems America Method and apparatus for recovering data stream clock
US5844918A (en) 1995-11-28 1998-12-01 Sanyo Electric Co., Ltd. Digital transmission/receiving method, digital communications method, and data receiving apparatus
US5790551A (en) 1995-11-28 1998-08-04 At&T Wireless Services Inc. Packet data transmission using dynamic channel assignment
US6865610B2 (en) 1995-12-08 2005-03-08 Microsoft Corporation Wire protocol for a media server system
EP0781068A1 (en) 1995-12-20 1997-06-25 International Business Machines Corporation Method and system for adaptive bandwidth allocation in a high speed data network
JP3427149B2 (ja) 1996-01-26 2003-07-14 三菱電機株式会社 符号化信号の復号回路及びその同期制御方法, 同期検出回路及び同期検出方法
US5903281A (en) 1996-03-07 1999-05-11 Powertv, Inc. List controlled video operations
US6243596B1 (en) 1996-04-10 2001-06-05 Lextron Systems, Inc. Method and apparatus for modifying and integrating a cellular phone with the capability to access and browse the internet
US5815507A (en) 1996-04-15 1998-09-29 Motorola, Inc. Error detector circuit for digital receiver using variable threshold based on signal quality
US6130602A (en) 1996-05-13 2000-10-10 Micron Technology, Inc. Radio frequency data communications device
JPH09307457A (ja) 1996-05-14 1997-11-28 Sony Corp パラレルシリアル変換回路
US5982362A (en) 1996-05-30 1999-11-09 Control Technology Corporation Video interface architecture for programmable industrial control systems
US5983261A (en) 1996-07-01 1999-11-09 Apple Computer, Inc. Method and apparatus for allocating bandwidth in teleconferencing applications using bandwidth control
GB9614561D0 (en) 1996-07-11 1996-09-04 4Links Ltd Communication system with improved code
US6298387B1 (en) 1996-07-12 2001-10-02 Philips Electronics North America Corp System for detecting a data packet in a bitstream by storing data from the bitstream in a buffer and comparing data at different locations in the buffer to predetermined data
KR100221028B1 (ko) 1996-07-23 1999-09-15 윤종용 그래픽 가속기 및 이를 이용한 메모리 프리패치 방법
US6886035B2 (en) 1996-08-02 2005-04-26 Hewlett-Packard Development Company, L.P. Dynamic load balancing of a network of client and server computer
US6185601B1 (en) 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US5969750A (en) 1996-09-04 1999-10-19 Winbcnd Electronics Corporation Moving picture camera with universal serial bus interface
CA2214743C (en) 1996-09-20 2002-03-05 Ntt Mobile Communications Network Inc. A frame synchronization circuit and communications system
US5990852A (en) 1996-10-31 1999-11-23 Fujitsu Limited Display screen duplication system and method
US5864546A (en) 1996-11-05 1999-01-26 Worldspace International Network, Inc. System for formatting broadcast data for satellite transmission and radio reception
US6308239B1 (en) 1996-11-07 2001-10-23 Hitachi, Ltd. Interface switching apparatus and switching control method
US6078361A (en) 1996-11-18 2000-06-20 Sage, Inc Video adapter circuit for conversion of an analog video signal to a digital display image
US6002709A (en) 1996-11-21 1999-12-14 Dsp Group, Inc. Verification of PN synchronization in a direct-sequence spread-spectrum digital communications system
KR100211918B1 (ko) 1996-11-30 1999-08-02 김영환 비동기식전송모드셀 경계 식별장치
US5862160A (en) 1996-12-31 1999-01-19 Ericsson, Inc. Secondary channel for communication networks
US5995512A (en) 1997-01-17 1999-11-30 Delco Electronics Corporation High speed multimedia data network
US6064649A (en) 1997-01-31 2000-05-16 Nec Usa, Inc. Network interface card for wireless asynchronous transfer mode networks
US6081513A (en) 1997-02-10 2000-06-27 At&T Corp. Providing multimedia conferencing services over a wide area network interconnecting nonguaranteed quality of services LANs
EP0859326A3 (en) 1997-02-14 1999-05-12 Canon Kabushiki Kaisha Data transmission apparatus, system and method, and image processing apparatus
US6584144B2 (en) 1997-02-24 2003-06-24 At&T Wireless Services, Inc. Vertical adaptive antenna array for a discrete multitone spread spectrum communications system
US6359923B1 (en) 1997-12-18 2002-03-19 At&T Wireless Services, Inc. Highly bandwidth efficient communications
DE19733005B4 (de) 1997-03-12 2007-06-21 Storz Endoskop Gmbh Einrichtung zur zentralen Überwachung und/oder Steuerung wenigstens eines Gerätes
US6480521B1 (en) 1997-03-26 2002-11-12 Qualcomm Incorporated Method and apparatus for transmitting high speed data in a spread spectrum communications system
US7143177B1 (en) 1997-03-31 2006-11-28 West Corporation Providing a presentation on a network having a plurality of synchronized media types
US5963557A (en) 1997-04-11 1999-10-05 Eng; John W. High capacity reservation multiple access network with multiple shared unidirectional paths
US6405111B2 (en) 1997-05-16 2002-06-11 Snap-On Technologies, Inc. System and method for distributed computer automotive service equipment
JP3143079B2 (ja) 1997-05-30 2001-03-07 松下電器産業株式会社 辞書索引作成装置と文書検索装置
US5867510A (en) 1997-05-30 1999-02-02 Motorola, Inc. Method of and apparatus for decoding and processing messages
KR100550190B1 (ko) 1997-06-03 2006-04-21 소니 가부시끼 가이샤 휴대용정보처리장치의제어방법,및휴대용정보처리장치
US6236647B1 (en) * 1998-02-24 2001-05-22 Tantivy Communications, Inc. Dynamic frame size adjustment and selective reject on a multi-link channel to improve effective throughput and bit error rate
US6314479B1 (en) 1997-08-04 2001-11-06 Compaq Computer Corporation Universal multi-pin plug and display connector for standardizing signals transmitted between a computer and a display for a PC theatre interconnectivity system
WO1999010719A1 (en) 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
US6288739B1 (en) 1997-09-05 2001-09-11 Intelect Systems Corporation Distributed video communications system
US6574661B1 (en) 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
JP4426093B2 (ja) 1997-10-14 2010-03-03 サイプレス セミコンダクター コーポレイション ディジタル無線周波数トランシーバー
US6574211B2 (en) 1997-11-03 2003-06-03 Qualcomm Incorporated Method and apparatus for high rate packet data transmission
US6894994B1 (en) 1997-11-03 2005-05-17 Qualcomm Incorporated High data rate wireless packet data communications system
TW408315B (en) 1997-11-07 2000-10-11 Sharp Kk Magnetic recording device, magnetic recording and reproducing device, and magnetic recording method
US6246876B1 (en) 1997-11-13 2001-06-12 Telefonaktiebolaget L M Ericsson (Publ) Synchronization messages for hand-off operations
US6091709A (en) 1997-11-25 2000-07-18 International Business Machines Corporation Quality of service management for packet switched networks
US20010012293A1 (en) 1997-12-02 2001-08-09 Lars-Goran Petersen Simultaneous transmission of voice and non-voice data on a single narrowband connection
US6049837A (en) 1997-12-08 2000-04-11 International Business Machines Corporation Programmable output interface for lower level open system interconnection architecture
US6393008B1 (en) 1997-12-23 2002-05-21 Nokia Movile Phones Ltd. Control structures for contention-based packet data services in wideband CDMA
KR100286080B1 (ko) 1997-12-30 2001-04-16 윤종용 데이터링크를이용한데이터송신및수신방법
KR100251963B1 (ko) 1997-12-31 2000-04-15 윤종용 종합정보통신망과 연동 가능한 비동기전송모드 망 접속영상전화 단말장치
TW459184B (en) 1998-01-23 2001-10-11 Shiu Ming Wei Multimedia message processing system
IL137628A (en) 1998-02-20 2005-09-25 Deep Video Imaging Ltd Multi-layer display and a method for displaying images on such a display
JP3004618B2 (ja) 1998-02-27 2000-01-31 キヤノン株式会社 画像入力装置及び画像入力システム及び画像送受信システム及び画像入力方法及び記憶媒体
JPH11249987A (ja) 1998-03-05 1999-09-17 Nec Corp メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体
CA2323446C (en) 1998-03-16 2016-11-08 Ejaz Ul Haq High speed signaling for interfacing vlsi cmos circuits
DE69927198T2 (de) 1998-03-19 2006-06-29 Hitachi, Ltd. Rundfunk-Informationsversorgungssystem
US6243761B1 (en) 1998-03-26 2001-06-05 Digital Equipment Corporation Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server
US6199169B1 (en) 1998-03-31 2001-03-06 Compaq Computer Corporation System and method for synchronizing time across a computer cluster
CN1327630C (zh) 1998-04-01 2007-07-18 松下图像通信系统公司 带有隐式信道探头的多种xDSL调制解调器的启动
US6252888B1 (en) 1998-04-14 2001-06-26 Nortel Networks Corporation Method and apparatus providing network communications between devices using frames with multiple formats
US6101601A (en) 1998-04-20 2000-08-08 International Business Machines Corporation Method and apparatus for hibernation within a distributed data processing system
US6430196B1 (en) 1998-05-01 2002-08-06 Cisco Technology, Inc. Transmitting delay sensitive information over IP over frame relay
KR100413417B1 (ko) 1998-05-04 2004-02-14 엘지전자 주식회사 이동통신시스템에서 단말기의 호 접속 제어 방법.
US6611503B1 (en) 1998-05-22 2003-08-26 Tandberg Telecom As Method and apparatus for multimedia conferencing with dynamic bandwidth allocation
JP3792894B2 (ja) 1998-05-27 2006-07-05 キヤノン株式会社 固体撮像素子及び固体撮像装置
US6043693A (en) 1998-06-01 2000-03-28 3Dfx Interactive, Incorporated Multiplexed synchronization circuits for switching frequency synthesized signals
US6850282B1 (en) 1998-06-02 2005-02-01 Canon Kabushiki Kaisha Remote control of image sensing apparatus
JP3475081B2 (ja) 1998-06-03 2003-12-08 三洋電機株式会社 立体映像再生方法
US6092231A (en) 1998-06-12 2000-07-18 Qlogic Corporation Circuit and method for rapid checking of error correction codes using cyclic redundancy check
JP4267092B2 (ja) 1998-07-07 2009-05-27 富士通株式会社 時刻同期方法
US6510503B2 (en) * 1998-07-27 2003-01-21 Mosaid Technologies Incorporated High bandwidth memory interface
US6359479B1 (en) 1998-08-04 2002-03-19 Juniper Networks, Inc. Synchronizing data transfers between two distinct clock domains
US6532506B1 (en) 1998-08-12 2003-03-11 Intel Corporation Communicating with devices over a bus and negotiating the transfer rate over the same
US6728263B2 (en) 1998-08-18 2004-04-27 Microsoft Corporation Dynamic sizing of data packets
EP1112642A2 (en) 1998-09-11 2001-07-04 Sharewave, Inc. Method and apparatus for controlling communication within a computer network
JP2000188626A (ja) 1998-10-13 2000-07-04 Texas Instr Inc <Ti> 一体のマイクロコントロ―ラ・エミュレ―タを有するリンク/トランザクション層コントロ―ラ
US6411647B1 (en) 1998-10-30 2002-06-25 Broadcom Corporation Fully integrated ethernet transmitter architecture with interpolating filtering
US7180951B2 (en) 1998-10-30 2007-02-20 Broadcom Corporation Reduction of aggregate EMI emissions of multiple transmitters
US6836829B2 (en) 1998-11-20 2004-12-28 Via Technologies, Inc. Peripheral device interface chip cache and data synchronization method
TW466410B (en) 2000-06-16 2001-12-01 Via Tech Inc Cache device inside peripheral component interface chipset and data synchronous method to externals
US6545979B1 (en) 1998-11-27 2003-04-08 Alcatel Canada Inc. Round trip delay measurement
US6791379B1 (en) 1998-12-07 2004-09-14 Broadcom Corporation Low jitter high phase resolution PLL-based timing recovery system
US6363439B1 (en) 1998-12-07 2002-03-26 Compaq Computer Corporation System and method for point-to-point serial communication between a system interface device and a bus interface device in a computer system
KR100315670B1 (ko) 1998-12-07 2001-11-29 윤종용 부호분할다중접속 통신시스템의 단속 송신장치 및 방법
US6297684B1 (en) 1998-12-14 2001-10-02 Seiko Epson Corporation Circuit and method for switching between digital signals that have different signal rates
US6252526B1 (en) 1998-12-14 2001-06-26 Seiko Epson Corporation Circuit and method for fast parallel data strobe encoding
JP3557975B2 (ja) 1998-12-14 2004-08-25 セイコーエプソン株式会社 信号切り替え回路及び信号切り替え方法
JP4018827B2 (ja) 1998-12-14 2007-12-05 Necエンジニアリング株式会社 データ多重化回路及びデータ分離回路
JP2000196986A (ja) 1998-12-25 2000-07-14 Olympus Optical Co Ltd 電子的撮像装置
US6950428B1 (en) 1998-12-30 2005-09-27 Hewlett-Packard Development Company, L.P. System and method for configuring adaptive sets of links between routers in a system area network (SAN)
US6549538B1 (en) 1998-12-31 2003-04-15 Compaq Information Technologies Group, L.P. Computer method and apparatus for managing network ports cluster-wide using a lookaside list
US6836469B1 (en) 1999-01-15 2004-12-28 Industrial Technology Research Institute Medium access control protocol for a multi-channel communication system
JP2000216843A (ja) 1999-01-22 2000-08-04 Oki Electric Ind Co Ltd デジタル復調器
US6636508B1 (en) 1999-02-12 2003-10-21 Nortel Networks Limted Network resource conservation system
US6493824B1 (en) 1999-02-19 2002-12-10 Compaq Information Technologies Group, L.P. Secure system for remotely waking a computer in a power-down state
US6199099B1 (en) 1999-03-05 2001-03-06 Ac Properties B.V. System, method and article of manufacture for a mobile communication network utilizing a distributed communication network
EP1163607A2 (en) 1999-03-05 2001-12-19 Accenture LLP Method and apparatus for creating an information summary
JP4181685B2 (ja) 1999-03-12 2008-11-19 富士通株式会社 電力制御方法及び電子機器並びに記録媒体
US6429867B1 (en) 1999-03-15 2002-08-06 Sun Microsystems, Inc. System and method for generating and playback of three-dimensional movies
US6636922B1 (en) 1999-03-17 2003-10-21 Adaptec, Inc. Methods and apparatus for implementing a host side advanced serial protocol
US6609167B1 (en) * 1999-03-17 2003-08-19 Adaptec, Inc. Host and device serial communication protocols and communication packet formats
FI107424B (fi) 1999-03-22 2001-07-31 Nokia Mobile Phones Ltd Menetelmä ja järjestelmä multimediaan liittyvän informaation välittämiseen valmistautumiseksi pakettikytkentäisessä solukkoradioverkossa
JP2000278141A (ja) 1999-03-26 2000-10-06 Mitsubishi Electric Corp マルチプレクサ
KR100350607B1 (ko) 1999-03-31 2002-08-28 삼성전자 주식회사 음성 및 화상 송수신을 위한 휴대용 복합 통신단말기 및 그 동작방법과 통신시스템
US6222677B1 (en) 1999-04-12 2001-04-24 International Business Machines Corporation Compact optical system for use in virtual display applications
JP2000358033A (ja) 1999-06-14 2000-12-26 Canon Inc データ通信システム及びデータ通信方法
US6618360B1 (en) 1999-06-15 2003-09-09 Hewlett-Packard Development Company, L.P. Method for testing data path of peripheral server devices
US6457090B1 (en) 1999-06-30 2002-09-24 Adaptec, Inc. Structure and method for automatic configuration for SCSI Synchronous data transfers
JP2001025010A (ja) 1999-07-09 2001-01-26 Mitsubishi Electric Corp マルチメディア情報通信装置およびその方法
US6865609B1 (en) 1999-08-17 2005-03-08 Sharewave, Inc. Multimedia extensions for wireless local area network
US6597197B1 (en) 1999-08-27 2003-07-22 Intel Corporation I2C repeater with voltage translation
KR20010019734A (ko) 1999-08-30 2001-03-15 윤종용 유무선 통신을 이용한 컴퓨터 교육용 시스템
US7010607B1 (en) 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
JP3116090B1 (ja) 1999-09-17 2000-12-11 郵政省通信総合研究所長 通信システム、送信装置、受信装置、送信方法、受信方法、および、情報記録媒体
JP4207329B2 (ja) 1999-09-20 2009-01-14 富士通株式会社 フレーム同期回路
US6782277B1 (en) 1999-09-30 2004-08-24 Qualcomm Incorporated Wireless communication system with base station beam sweeping
US6643787B1 (en) * 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
US6662322B1 (en) 1999-10-29 2003-12-09 International Business Machines Corporation Systems, methods, and computer program products for controlling the error rate in a communication device by adjusting the distance between signal constellation points
WO2001035544A1 (de) 1999-11-11 2001-05-17 Ascom Powerline Communications Ag Kommunikationssystem insbesondere für den indoor-bereich
US6438363B1 (en) * 1999-11-15 2002-08-20 Lucent Technologies Inc. Wireless modem alignment in a multi-cell environment
ATE252298T1 (de) 1999-11-16 2003-11-15 Broadcom Corp Verfahren und netzwerkvermittlungsstelle mit datenserialisierung durch gefahrlose mehrstufige störungsfreie multiplexierung
TW513636B (en) 2000-06-30 2002-12-11 Via Tech Inc Bus data interface for transmitting data on PCI bus, the structure and the operating method thereof
US6804257B1 (en) 1999-11-25 2004-10-12 International Business Machines Corporation System and method for framing and protecting variable-lenght packet streams
JP4058888B2 (ja) 1999-11-29 2008-03-12 セイコーエプソン株式会社 Ram内蔵ドライバ並びにそれを用いた表示ユニットおよび電子機器
JP4191869B2 (ja) 1999-12-20 2008-12-03 富士フイルム株式会社 ディジタルカメラを用いたコンピュータシステム
US7383350B1 (en) 2000-02-03 2008-06-03 International Business Machines Corporation User input based allocation of bandwidth on a data link
JP3490368B2 (ja) 2000-02-07 2004-01-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 信号出力装置、ドライバ回路、信号伝送システム、および信号伝送方法
US6778493B1 (en) 2000-02-07 2004-08-17 Sharp Laboratories Of America, Inc. Real-time media content synchronization and transmission in packet network apparatus and method
JP2001236304A (ja) 2000-02-21 2001-08-31 Mitsubishi Electric Corp マイクロコンピュータ
JP4449141B2 (ja) 2000-02-22 2010-04-14 ソニー株式会社 電源制御装置、電源制御システム
EP2271148B1 (en) 2000-03-03 2012-10-31 Qualcomm Incorporated Communication device and its corresponding method for providing security in a group communication network
US6477150B1 (en) 2000-03-03 2002-11-05 Qualcomm, Inc. System and method for providing group communication services in an existing communication system
JP2001282714A (ja) 2000-03-30 2001-10-12 Olympus Optical Co Ltd マルチカメラデータ転送方式及びデータ転送方式
JP2001292146A (ja) 2000-04-07 2001-10-19 Sony Corp 電子機器およびディジタルシリアルデータのインタフェース装置のバス初期化フェーズにおける処理方法
US6882361B1 (en) 2000-04-19 2005-04-19 Pixelworks, Inc. Imager linked with image processing station
JP2001306428A (ja) 2000-04-25 2001-11-02 Canon Inc ネットワーク機器、ネットワークシステム、通信方法及び記録媒体
JP2001319745A (ja) 2000-05-08 2001-11-16 Honda Tsushin Kogyo Co Ltd 変換用アダプタ
JP2001320280A (ja) 2000-05-10 2001-11-16 Mitsubishi Electric Corp 並列−直列変換回路
US6760722B1 (en) 2000-05-16 2004-07-06 International Business Machines Corporation Computer implemented automated remote support
JP4292685B2 (ja) 2000-05-23 2009-07-08 日本電気株式会社 データ転送システム、データ送受信システム、データ送受信方法、フォーマット変換装置、フォーマット変換方法およびフォーマット変換プログラムを記録したコンピュータ読み取り可能な記録媒体
KR100360622B1 (ko) 2000-06-12 2002-11-13 주식회사 문화방송 엠펙 데이터 프레임과 이를 이용한 송수신 시스템
US6754179B1 (en) 2000-06-13 2004-06-22 Lsi Logic Corporation Real time control of pause frame transmissions for improved bandwidth utilization
JP3415567B2 (ja) * 2000-06-21 2003-06-09 エヌイーシーマイクロシステム株式会社 Usb転送制御方法およびusbコントローラ
US6714233B2 (en) 2000-06-21 2004-03-30 Seiko Epson Corporation Mobile video telephone system
US6999432B2 (en) 2000-07-13 2006-02-14 Microsoft Corporation Channel and quality of service adaptation for multimedia over wireless networks
EP1308045B1 (en) 2000-08-08 2013-10-30 The DirecTV Group, Inc. Method and system for remote television replay control
US6784941B1 (en) 2000-08-09 2004-08-31 Sunplus Technology Co., Ltd. Digital camera with video input
EP1179962B1 (en) 2000-08-09 2004-07-14 SK Telecom Co., Ltd. Handover method in wireless telecommunication systems supporting USTS
JP2002062990A (ja) 2000-08-15 2002-02-28 Fujitsu Media Device Kk インターフェイス装置
US6725412B1 (en) 2000-08-15 2004-04-20 Dolby Laboratories Licensing Corporation Low latency data encoder
GB2366926A (en) 2000-09-06 2002-03-20 Sony Uk Ltd Combining material and data
US7138989B2 (en) 2000-09-15 2006-11-21 Silicon Graphics, Inc. Display capable of displaying images in response to signals of a plurality of signal formats
US6747964B1 (en) 2000-09-15 2004-06-08 Qualcomm Incorporated Method and apparatus for high data rate transmission in a wireless communication system
US7466978B1 (en) 2000-09-18 2008-12-16 International Business Machines Corporation Telephone network node device
JP4146991B2 (ja) 2000-09-18 2008-09-10 キヤノン株式会社 電子カメラシステム、電子カメラ及び電子カメラシステムの制御方法
US6760882B1 (en) 2000-09-19 2004-07-06 Intel Corporation Mode selection for data transmission in wireless communication channels based on statistical parameters
US6738344B1 (en) 2000-09-27 2004-05-18 Hewlett-Packard Development Company, L.P. Link extenders with link alive propagation
US7336613B2 (en) 2000-10-17 2008-02-26 Avaya Technology Corp. Method and apparatus for the assessment and optimization of network traffic
US6690655B1 (en) 2000-10-19 2004-02-10 Motorola, Inc. Low-powered communication system and method of operation
US7869067B2 (en) 2000-10-20 2011-01-11 Visioneer, Inc. Combination scanner and image data reader system including image management and software
US7278069B2 (en) * 2000-10-31 2007-10-02 Igor Anatolievich Abrosimov Data transmission apparatus for high-speed transmission of digital data and method for automatic skew calibration
US8996698B1 (en) 2000-11-03 2015-03-31 Truphone Limited Cooperative network for mobile internet access
CA2397323C (en) 2000-11-17 2006-04-11 Samsung Electronics Co., Ltd. Apparatus and method for measuring propagation delay in an nb-tdd cdma mobile communication system
US7464877B2 (en) 2003-11-13 2008-12-16 Metrologic Instruments, Inc. Digital imaging-based bar code symbol reading system employing image cropping pattern generator and automatic cropped image processor
FI115802B (fi) 2000-12-04 2005-07-15 Nokia Corp Kuvakehyksien päivittäminen muistillisessa näytössä
GB2369974B (en) 2000-12-06 2004-08-11 Fujitsu Ltd Processing high-speed digital signals
US6973039B2 (en) 2000-12-08 2005-12-06 Bbnt Solutions Llc Mechanism for performing energy-based routing in wireless networks
AU2735902A (en) 2000-12-15 2002-06-24 Qualcomm Inc Generating and implementing a communication protocol and interface for high datarate signal transfer
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
JP2002208844A (ja) 2001-01-12 2002-07-26 Nec Eng Ltd グリッチ除去回路
US6947436B2 (en) * 2001-02-01 2005-09-20 Motorola, Inc. Method for optimizing forward link data transmission rates in spread-spectrum communications systems
US7301968B2 (en) 2001-03-02 2007-11-27 Pmc-Sierra Israel Ltd. Communication protocol for passive optical network topologies
KR20020071226A (ko) 2001-03-05 2002-09-12 삼성전자 주식회사 이동통신 시스템에서 역방향 링크 송신 제어 장치 및 방법
JP4106226B2 (ja) 2001-03-26 2008-06-25 松下電器産業株式会社 電源制御装置
CN1165141C (zh) 2001-03-27 2004-09-01 华为技术有限公司 路由器接口驱动数据转发过程的方法
JP2002300299A (ja) 2001-03-29 2002-10-11 Shunichi Toyoda 携帯電話材のメモリを利用した情報端末装置による教育システム
JP3497834B2 (ja) 2001-03-30 2004-02-16 株式会社東芝 ルートリピータ、usb通信システム、usb通信制御方法
JP2002359774A (ja) 2001-03-30 2002-12-13 Fuji Photo Film Co Ltd 電子カメラ
CN1159935C (zh) 2001-03-30 2004-07-28 华为技术有限公司 一种提高市区环境下蜂窝移动台定位精度的方法和装置
US20020159437A1 (en) 2001-04-27 2002-10-31 Foster Michael S. Method and system for network configuration discovery in a network manager
US6889056B2 (en) * 2001-04-30 2005-05-03 Ntt Docomo, Inc. Transmission control scheme
JP3884322B2 (ja) 2001-05-16 2007-02-21 株式会社リコー ネットワークインターフェース
US7392541B2 (en) 2001-05-17 2008-06-24 Vir2Us, Inc. Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments
JP2002351689A (ja) 2001-05-30 2002-12-06 Nec Corp データ転送システム
US7191281B2 (en) 2001-06-13 2007-03-13 Intel Corporation Mobile computer system having a navigation mode to optimize system performance and power management for mobile applications
US7165112B2 (en) 2001-06-22 2007-01-16 Motorola, Inc. Method and apparatus for transmitting data in a communication system
JP2003006143A (ja) 2001-06-22 2003-01-10 Nec Corp バス共有化システムと装置及び方法
US6745364B2 (en) 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
JP2003046595A (ja) 2001-07-06 2003-02-14 Texas Instruments Inc データ通信の方法および装置
US7051218B1 (en) 2001-07-18 2006-05-23 Advanced Micro Devices, Inc. Message based power management
WO2003010766A1 (en) 2001-07-23 2003-02-06 Matsushita Electric Industrial Co., Ltd. Information recording medium, and apparatus and method for recording information on information recording medium
US7184408B2 (en) 2001-07-31 2007-02-27 Denton I Claude Method and apparatus for programmable generation of traffic streams
WO2003013080A1 (en) 2001-07-31 2003-02-13 Comverse Ltd. Email protocol for a mobile environment and gateway using same
JP2003044184A (ja) 2001-08-01 2003-02-14 Canon Inc データ処理装置及び電力制御方法
GB2415314B (en) 2001-08-08 2006-05-03 Adder Tech Ltd Video switch
US6758678B2 (en) 2001-08-14 2004-07-06 Disney Enterprises, Inc. Computer enhanced play set and method
JP4733877B2 (ja) 2001-08-15 2011-07-27 富士通セミコンダクター株式会社 半導体装置
JP2003069544A (ja) 2001-08-23 2003-03-07 Hitachi Kokusai Electric Inc 通信制御方法及び通信制御装置
JP4322451B2 (ja) 2001-09-05 2009-09-02 日本電気株式会社 Dspメモリ間あるいはdspメモリとcpu用メモリ(dpram)間データ転送方式
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
MXPA04002212A (es) 2001-09-06 2004-08-11 Qualcomm Inc Generar e implementar una interfaz y protocolo de comunicacion para la transferencia de senal de alta velocidad de datos.
DE10145722A1 (de) 2001-09-17 2003-04-24 Infineon Technologies Ag Konzept zur sicheren Datenkommunikation zwischen elektronischen Bausteinen
US20030061431A1 (en) 2001-09-21 2003-03-27 Intel Corporation Multiple channel interface for communications between devices
KR100408299B1 (ko) 2001-09-29 2003-12-01 삼성전자주식회사 모드 판단 장치 및 방법
JP3633538B2 (ja) 2001-10-02 2005-03-30 日本電気株式会社 輻輳制御システム
US7570668B2 (en) 2001-10-03 2009-08-04 Nokia Corporation Data synchronization
KR100408525B1 (ko) 2001-10-31 2003-12-06 삼성전자주식회사 네트워크에 적응적인 실시간 멀티미디어 스트리밍 시스템및 방법
US20030125040A1 (en) 2001-11-06 2003-07-03 Walton Jay R. Multiple-access multiple-input multiple-output (MIMO) communication system
US7126945B2 (en) 2001-11-07 2006-10-24 Symbol Technologies, Inc. Power saving function for wireless LANS: methods, system and program products
US6990549B2 (en) 2001-11-09 2006-01-24 Texas Instruments Incorporated Low pin count (LPC) I/O bridge
US7536598B2 (en) 2001-11-19 2009-05-19 Vir2Us, Inc. Computer system capable of supporting a plurality of independent computing environments
US6891545B2 (en) 2001-11-20 2005-05-10 Koninklijke Philips Electronics N.V. Color burst queue for a shared memory controller in a color sequential display system
GB2382502B (en) 2001-11-23 2005-10-19 Actix Ltd Network testing systems
JP2003167680A (ja) 2001-11-30 2003-06-13 Hitachi Ltd ディスク装置
US20030112758A1 (en) 2001-12-03 2003-06-19 Pang Jon Laurent Methods and systems for managing variable delays in packet transmission
US7486693B2 (en) 2001-12-14 2009-02-03 General Electric Company Time slot protocol
US6993393B2 (en) 2001-12-19 2006-01-31 Cardiac Pacemakers, Inc. Telemetry duty cycle management system for an implantable medical device
JP2003198550A (ja) 2001-12-25 2003-07-11 Matsushita Electric Ind Co Ltd 通信装置及び通信方法
KR100428767B1 (ko) 2002-01-11 2004-04-28 삼성전자주식회사 트래픽 정보를 이용한 가입자 라우팅 설정 방법 및 이를위한 기록매체
US20030144006A1 (en) 2002-01-25 2003-07-31 Mikael Johansson Methods, systems, and computer program products for determining the location of a mobile terminal based on delays in receiving data packets from transmitters having known locations
US20050120208A1 (en) 2002-01-25 2005-06-02 Albert Dobson Robert W. Data transmission systems
US6690201B1 (en) * 2002-01-28 2004-02-10 Xilinx, Inc. Method and apparatus for locating data transition regions
US6867668B1 (en) 2002-03-18 2005-03-15 Applied Micro Circuits Corporation High frequency signal transmission from the surface of a circuit substrate to a flexible interconnect cable
US7145411B1 (en) 2002-03-18 2006-12-05 Applied Micro Circuits Corporation Flexible differential interconnect cable with isolated high frequency electrical transmission line
US7336139B2 (en) 2002-03-18 2008-02-26 Applied Micro Circuits Corporation Flexible interconnect cable with grounded coplanar waveguide
US6797891B1 (en) 2002-03-18 2004-09-28 Applied Micro Circuits Corporation Flexible interconnect cable with high frequency electrical transmission line
US20030185220A1 (en) 2002-03-27 2003-10-02 Moshe Valenci Dynamically loading parsing capabilities
US7310535B1 (en) 2002-03-29 2007-12-18 Good Technology, Inc. Apparatus and method for reducing power consumption in a wireless device
US7425986B2 (en) 2002-03-29 2008-09-16 Canon Kabushiki Kaisha Conversion apparatus for image data delivery
JP2003303068A (ja) 2002-04-10 2003-10-24 Ricoh Co Ltd 画像出力システム、画像出力方法、プログラム及び記憶媒体
US7430001B2 (en) 2002-04-12 2008-09-30 Canon Kabushiki Kaisha Image sensing system, communication apparatus and image sensing apparatus having remote control function, and their control method
TWI235917B (en) 2002-04-15 2005-07-11 Via Tech Inc High speed data transmitter and transmission method thereof
US7158539B2 (en) 2002-04-16 2007-01-02 Microsoft Corporation Error resilient windows media audio coding
US7599689B2 (en) 2002-04-22 2009-10-06 Nokia Corporation System and method for bookmarking radio stations and associated internet addresses
JP4029390B2 (ja) 2002-04-23 2008-01-09 ソニー株式会社 情報処理システム、情報処理装置および方法、プログラム格納媒体、並びにプログラム
US7284181B1 (en) 2002-04-24 2007-10-16 Juniper Networks, Inc. Systems and methods for implementing end-to-end checksum
US7206516B2 (en) * 2002-04-30 2007-04-17 Pivotal Decisions Llc Apparatus and method for measuring the dispersion of a fiber span
US7574113B2 (en) 2002-05-06 2009-08-11 Sony Corporation Video and audio data recording apparatus, video and audio data recording method, video and audio data reproducing apparatus, and video and audio data reproducing method
US20050091593A1 (en) 2002-05-10 2005-04-28 General Electric Company Method and system for coordinated transfer of control of a remote controlled locomotive
US6886067B2 (en) 2002-05-23 2005-04-26 Seiko Epson Corporation 32 Bit generic asynchronous bus interface using read/write strobe byte enables
US7269153B1 (en) 2002-05-24 2007-09-11 Conexant Systems, Inc. Method for minimizing time critical transmit processing for a personal computer implementation of a wireless local area network adapter
US7036066B2 (en) 2002-05-24 2006-04-25 Sun Microsystems, Inc. Error detection using data block mapping
US7543326B2 (en) 2002-06-10 2009-06-02 Microsoft Corporation Dynamic rate control
JP2003098583A (ja) 2002-06-10 2003-04-03 Nikon Corp 書換え可能なメモリを使用するカメラ
JP2004021613A (ja) 2002-06-17 2004-01-22 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
EP1376945B1 (en) 2002-06-18 2006-06-07 Matsushita Electric Industrial Co., Ltd. Receiver-based RTT measurement in TCP
KR100469427B1 (ko) 2002-06-24 2005-02-02 엘지전자 주식회사 이동통신 시스템의 동영상 재생 방법
US7486696B2 (en) 2002-06-25 2009-02-03 Avaya, Inc. System and method for providing bandwidth management for VPNs
JP4175838B2 (ja) 2002-07-09 2008-11-05 三菱電機株式会社 待機モード付情報処理装置およびその待機モード開始方法と待機モード解除方法
DE10234991B4 (de) 2002-07-31 2008-07-31 Advanced Micro Devices, Inc., Sunnyvale Hostcontrollerdiagnose für einen seriellen Bus
US7403511B2 (en) 2002-08-02 2008-07-22 Texas Instruments Incorporated Low power packet detector for low power WLAN devices
US6611221B1 (en) 2002-08-26 2003-08-26 Texas Instruments Incorporated Multi-bit sigma-delta modulator employing dynamic element matching using adaptively randomized data-weighted averaging
US7876821B2 (en) 2002-09-05 2011-01-25 Agency For Science, Technology And Research Method and an apparatus for controlling the rate of a video sequence; a video encoding device
WO2004025365A1 (en) 2002-09-13 2004-03-25 Digimarc Id Systems, Llc Enhanced shadow reduction system and related techniques for digital image capture
US7257087B2 (en) 2002-10-04 2007-08-14 Agilent Technologies, Inc. System and method to calculate round trip delay for real time protocol packet streams
CN1266976C (zh) 2002-10-15 2006-07-26 华为技术有限公司 一种移动台定位方法及其直放站
US20040082383A1 (en) 2002-10-24 2004-04-29 Motorola, Inc Methodology and wireless device for interactive gaming
JP4028356B2 (ja) 2002-10-31 2007-12-26 京セラ株式会社 通信システム、無線通信端末、データ配信装置及び通信方法
US7949777B2 (en) 2002-11-01 2011-05-24 Avid Technology, Inc. Communication protocol for controlling transfer of temporal data over a bus between devices in synchronization with a periodic reference signal
GB0226014D0 (en) 2002-11-08 2002-12-18 Nokia Corp Camera-LSI and information device
US7336667B2 (en) 2002-11-21 2008-02-26 International Business Machines Corporation Apparatus, method and program product to generate and use CRC in communications network
US7327735B2 (en) 2002-11-27 2008-02-05 Alcatel Canada Inc. System and method for detecting lost messages transmitted between modules in a communication device
JP3642332B2 (ja) 2002-12-20 2005-04-27 松下電器産業株式会社 折り畳み式携帯電話装置
US7191349B2 (en) 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
US6765506B1 (en) 2003-01-06 2004-07-20 Via Technologies Inc. Scrambler, de-scrambler, and related method
GB2397709B (en) 2003-01-27 2005-12-28 Evangelos Arkas Period-to-digital converter
US7047475B2 (en) 2003-02-04 2006-05-16 Hewlett-Packard Development Company, L.P. CRC encoding scheme for conveying status information
JP4119764B2 (ja) 2003-02-13 2008-07-16 京セラ株式会社 カメラ付き携帯端末
US20040176065A1 (en) 2003-02-20 2004-09-09 Bo Liu Low power operation in a personal area network communication system
US7787886B2 (en) 2003-02-24 2010-08-31 Invisitrack, Inc. System and method for locating a target using RFID
US6944136B2 (en) 2003-02-28 2005-09-13 On-Demand Technologies, Inc. Two-way audio/video conferencing system
US20040184450A1 (en) 2003-03-19 2004-09-23 Abdu H. Omran Method and system for transport and routing of packets over frame-based networks
JP4112414B2 (ja) 2003-03-28 2008-07-02 京セラ株式会社 携帯端末装置
US7260087B2 (en) 2003-04-02 2007-08-21 Cellco Partnership Implementation methodology for client initiated parameter negotiation for PTT/VoIP type services
JP2004309623A (ja) 2003-04-03 2004-11-04 Konica Minolta Opto Inc 撮像装置及び携帯端末並びに撮像装置製造方法
US7403487B1 (en) 2003-04-10 2008-07-22 At&T Corporation Method and system for dynamically adjusting QOS
JP4288994B2 (ja) 2003-04-10 2009-07-01 株式会社日立製作所 端末装置、配信サーバ、映像データの受信方法及び映像データの送信方法
WO2004093452A2 (en) 2003-04-17 2004-10-28 Thomson Licensing Data requesting and transmitting devices and processes
US20040221315A1 (en) 2003-05-01 2004-11-04 Genesis Microchip Inc. Video interface arranged to provide pixel data independent of a link character clock
US6895410B2 (en) 2003-05-02 2005-05-17 Nokia Corporation Method and apparatus for providing a multimedia data stream
US7477604B2 (en) 2003-05-14 2009-01-13 Ntt Docomo, Inc. Packet communications system
US7580380B2 (en) 2003-05-28 2009-08-25 Artimi Ltd Communications systems and methods
US7110420B2 (en) 2003-05-30 2006-09-19 North Carolina State University Integrated circuit devices having on-chip adaptive bandwidth buses and related methods
US6975145B1 (en) 2003-06-02 2005-12-13 Xilinx, Inc. Glitchless dynamic multiplexer with synchronous and asynchronous controls
JP4278439B2 (ja) 2003-06-02 2009-06-17 パイオニア株式会社 情報通信装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
KR101166734B1 (ko) 2003-06-02 2012-07-19 퀄컴 인코포레이티드 고속 데이터 레이트를 위한 신호 프로토콜 및 인터페이스의 생성 및 구현
US20040260823A1 (en) 2003-06-17 2004-12-23 General Instrument Corporation Simultaneously transporting multiple MPEG-2 transport streams
JP3834819B2 (ja) 2003-07-17 2006-10-18 船井電機株式会社 プロジェクタ
KR100538226B1 (ko) 2003-07-18 2005-12-21 삼성전자주식회사 복수의 아날로그 입력 신호를 고속으로 처리하는아날로그/디지털 변환 장치 및 이를 이용한 디스플레이 장치
US7526350B2 (en) 2003-08-06 2009-04-28 Creative Technology Ltd Method and device to process digital media streams
EP2363991A1 (en) 2003-08-13 2011-09-07 Qualcomm Incorporated A signal interface for higher data rates
US8719334B2 (en) 2003-09-10 2014-05-06 Qualcomm Incorporated High data rate interface
US7467202B2 (en) 2003-09-10 2008-12-16 Fidelis Security Systems High-performance network content analysis platform
US7015838B1 (en) 2003-09-11 2006-03-21 Xilinx, Inc. Programmable serializing data path
KR20050028396A (ko) 2003-09-17 2005-03-23 삼성전자주식회사 멀티 세션 방식을 이용한 데이터 기록 방법 및 그정보저장매체
JP2005107683A (ja) 2003-09-29 2005-04-21 Sharp Corp 通信コントローラ、通信システム、通信機器、および通信方法
ATE387824T1 (de) 2003-10-08 2008-03-15 Research In Motion Ltd Verfahren und vorrichtung zur dynamischen paketübertragung in cdma2000 netzwerken
CN102801595A (zh) 2003-10-15 2012-11-28 高通股份有限公司 高数据速率接口
KR20090042861A (ko) 2003-11-12 2009-04-30 콸콤 인코포레이티드 향상된 링크 제어를 제공하는 고속 데이터 레이트 인터페이스
US7447953B2 (en) 2003-11-14 2008-11-04 Intel Corporation Lane testing with variable mapping
US7143207B2 (en) 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device
US7219294B2 (en) 2003-11-14 2007-05-15 Intel Corporation Early CRC delivery for partial frame
WO2005053272A1 (en) 2003-11-25 2005-06-09 Qualcomm Incorporated High data rate interface with improved link synchronization
CA2731265A1 (en) 2003-12-08 2005-06-23 Qualcomm Incorporated High data rate interface with improved link synchronization
US7451362B2 (en) 2003-12-12 2008-11-11 Broadcom Corporation Method and system for onboard bit error rate (BER) estimation in a port bypass controller
US7340548B2 (en) 2003-12-17 2008-03-04 Microsoft Corporation On-chip bus
US20050163085A1 (en) 2003-12-24 2005-07-28 International Business Machines Corporation System and method for autonomic wireless presence ping
US7317754B1 (en) 2004-01-12 2008-01-08 Verizon Services Corp. Rate agile rate-adaptive digital subscriber line
US8466924B2 (en) 2004-01-28 2013-06-18 Entropic Communications, Inc. Displaying on a matrix display
US7158536B2 (en) 2004-01-28 2007-01-02 Rambus Inc. Adaptive-allocation of I/O bandwidth using a configurable interconnect topology
US7868890B2 (en) 2004-02-24 2011-01-11 Qualcomm Incorporated Display processor for a wireless device
JP3786120B2 (ja) 2004-03-09 2006-06-14 セイコーエプソン株式会社 データ転送制御装置及び電子機器
MXPA06010312A (es) 2004-03-10 2007-01-19 Qualcomm Inc Aparato y metodo de interfaz de velocidad de datos elevada.
US8705521B2 (en) 2004-03-17 2014-04-22 Qualcomm Incorporated High data rate interface apparatus and method
WO2005096594A1 (en) 2004-03-24 2005-10-13 Qualcomm Incorporated High data rate interface apparatus and method
DE102004014973B3 (de) 2004-03-26 2005-11-03 Infineon Technologies Ag Parallel-Seriell-Umsetzer
RU2341018C2 (ru) 2004-04-21 2008-12-10 Самсунг Электроникс Ко., Лтд. Устройство и способ обработки данных из нескольких источников в беспроводном терминале
US20050265333A1 (en) 2004-06-01 2005-12-01 Texas Instruments Incorporated Method for enabling efficient multicast transmission in a packet-based network
US7068230B2 (en) 2004-06-02 2006-06-27 Research In Motion Limited Mobile wireless communications device comprising multi-frequency band antenna and related methods
US20060034301A1 (en) 2004-06-04 2006-02-16 Anderson Jon J High data rate interface apparatus and method
ATE518343T1 (de) 2004-06-04 2011-08-15 Qualcomm Inc Schnittstellenvorrichtung und -verfahren für hohe datenraten
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
US7383399B2 (en) 2004-06-30 2008-06-03 Intel Corporation Method and apparatus for memory compression
US7095435B1 (en) 2004-07-21 2006-08-22 Hartman Richard L Programmable multifunction electronic camera
AU2005263526A1 (en) 2004-07-22 2006-01-26 Ucb Pharma Sa Indolone derivatives, processes for preparing them and their uses
CN101041989A (zh) 2004-08-05 2007-09-26 邱则有 一种钢筋砼立体承力结构楼盖
KR100604323B1 (ko) 2004-08-28 2006-07-24 삼성테크윈 주식회사 내장형 카메라 장치 및 이를 구비한 휴대폰
KR100624311B1 (ko) 2004-08-30 2006-09-19 삼성에스디아이 주식회사 프레임 메모리 제어 방법 및 그것을 이용한 표시 장치
US7161846B2 (en) 2004-11-16 2007-01-09 Seiko Epson Corporation Dual-edge triggered multiplexer flip-flop and method
US6990335B1 (en) 2004-11-18 2006-01-24 Charles G. Shamoon Ubiquitous connectivity and control system for remote locations
US7315265B2 (en) 2004-11-24 2008-01-01 Qualcomm Incorporated Double data rate serial encoder
BRPI0518264A2 (pt) 2004-11-24 2008-11-11 Qualcomm Inc dispositivo de interface de dados digitais
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
EP2503719A3 (en) 2004-11-24 2012-10-24 Qualcomm Incorporated Methods and systems for updating a buffer
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US20060161691A1 (en) 2004-11-24 2006-07-20 Behnam Katibian Methods and systems for synchronous execution of commands across a communication link
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8723705B2 (en) 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
KR100672987B1 (ko) 2004-12-20 2007-01-24 삼성전자주식회사 고속 아날로그 인벨롭 디텍터
JP2006211394A (ja) 2005-01-28 2006-08-10 Toshiba Corp 折り畳み型携帯端末装置
US7412642B2 (en) 2005-03-09 2008-08-12 Sun Microsystems, Inc. System and method for tolerating communication lane failures
JP4428272B2 (ja) 2005-03-28 2010-03-10 セイコーエプソン株式会社 表示ドライバ及び電子機器
US7605837B2 (en) 2005-06-02 2009-10-20 Lao Chan Yuen Display system and method
JP2007012937A (ja) 2005-06-30 2007-01-18 Seiko Epson Corp 表示ドライバ
JP4756950B2 (ja) 2005-08-08 2011-08-24 キヤノン株式会社 撮像装置及びその制御方法
US7302510B2 (en) 2005-09-29 2007-11-27 International Business Machines Corporation Fair hierarchical arbiter
US20070098002A1 (en) 2005-10-28 2007-05-03 Inventec Corporation Media center operating mode selection control method and system
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US7813451B2 (en) 2006-01-11 2010-10-12 Mobileaccess Networks Ltd. Apparatus and method for frequency shifting of a wireless signal and systems using frequency shifting
US7893990B1 (en) 2006-07-31 2011-02-22 Cisco Technology, Inc. Digital video camera with retractable data connector and resident software application
JP4250648B2 (ja) 2006-09-21 2009-04-08 株式会社東芝 情報処理装置
US7912503B2 (en) 2007-07-16 2011-03-22 Microsoft Corporation Smart interface system for mobile communications devices
JP2009284281A (ja) 2008-05-23 2009-12-03 Nec Electronics Corp 無線通信機器、及び無線通信状態表示方法
KR200469360Y1 (ko) 2008-12-26 2013-10-11 대성전기공업 주식회사 시트 온도 조절 스위치 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8982780B2 (en) 2008-11-04 2015-03-17 Htc Corporation Method and apparatus for improving uplink transmission in a wireless communication system
CN102685913B (zh) * 2008-11-04 2015-04-15 宏达国际电子股份有限公司 无线通讯系统中改善上行链路传输的方法
WO2013170436A1 (zh) * 2012-05-15 2013-11-21 深圳市华奥通通信技术有限公司 一种无线通信系统及方法

Also Published As

Publication number Publication date
CN101827074A (zh) 2010-09-08
IL175181A0 (en) 2006-09-05
US8756294B2 (en) 2014-06-17
CN101827074B (zh) 2013-07-31
AU2009200423A1 (en) 2009-02-26
KR100827573B1 (ko) 2008-05-07
KR20060092278A (ko) 2006-08-22
CA2544030A1 (en) 2005-05-12
RU2331160C2 (ru) 2008-08-10
AU2004307162A1 (en) 2005-05-12
US20050144225A1 (en) 2005-06-30
TWI401601B (zh) 2013-07-11
BRPI0416054A (pt) 2007-01-02
RU2006118349A (ru) 2007-12-10
TW200532543A (en) 2005-10-01
EP1692842A1 (en) 2006-08-23
WO2005043862A1 (en) 2005-05-12

Similar Documents

Publication Publication Date Title
CN1902880A (zh) 高数据速率接口
CN1914875A (zh) 具有改进链路同步的高数据速率接口
CN1902886A (zh) 具有改进链路控制的高数据速率接口
CN1894931A (zh) 高数据速率接口
CN101053232A (zh) 具有改进链路同步的高数据速率接口
CN1961560A (zh) 高数据速率接口装置和方法
CN1879383A (zh) 高数据速率接口
CN1993948A (zh) 高数据速率接口设备和方法
CN1575448A (zh) 用于高数据速率信号传送的通信协议和接口的产生和实现
CN1826786A (zh) 生成并实施一用于更高数据率的讯号协议和接口
CN1543734A (zh) 用于高数据速率信号传送的通信协议和接口的产生和实现
CN101827103B (zh) 具有改进链路同步的高数据速率接口
CN101194482B (zh) 一种使通信系统中的主机与客户机间读写至少一个寄存器的方法与系统
EP1735986B1 (en) High data rate interface apparatus and method
CN1977511A (zh) 高数据速率接口装置和方法
CN1951084A (zh) 具有改进链路同步的高数据速率接口
TW200534098A (en) High data rate interface with improved link synchronization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1097133

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20070124

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1097133

Country of ref document: HK