(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0031】
I.概要
本発明の総合的目的は、後述するように、「シリアル」タイプのデータリンク又はチャネルを使用して、表示要素等の、ホストデバイスとクライアントデバイス間の短距離通信リンク上で高速又は非常に高速のデータ転送を可能にする費用効果が高い、低消費電力転送機構を生じさせる、又は提供するモバイルディスプレイデジタルインタフェース(MDDI)を提供することである。本機構は内蔵(又はハウジング又はサポートフレームに対する)表示要素又は入力装置を中央コントローラに、あるいはウェアラブルマイクロディスプレイ(ゴーグル又はプロジェクタ)などの外部表示要素又はデバイスをポータブルコンピュータ、無線通信装置又はエンターテインメントデバイスに接続する際に特に有効である小型コネクタと細い可撓ケーブルを用いたインプリメンテーションに役立つ。
【0032】
本発明の実施形態の利点は、非常に柔軟である一方で複雑度が低く、低価格で、信頼性が高く、使用環境内によく適合し、非常にロバストであるデータ転送のための技法が提供される点である。
【0033】
本発明の実施形態は、一般的には音声応用例、ビデオ応用例又はマルチメディア応用例のための大量のデータを、このようなデータが生成又は記憶されるホスト又はソースデバイスからクライアントディスプレイ又はプレゼンテーションデバイスに高速で通信する、又は転送するために種々の状況で使用できる。後述される典型的な応用例は、ポータブルコンピュータ又は無線電話又はモデムのどれかから、小型投射レンズと画面を含むゴーグル又はヘルメットの形の小型ビデオ画面又はウェアラブルマイクロディスプレイ機器などの画像表示装置への、あるいはホストからこのような構成要素の中のクライアントデバイスへのデータの転送である。つまり、クライアントを利用する多様な内部又は外部入力装置から内部に位置する(同じデバイス筐体又はサポート構造内に配置される)ホストへだけではなく、プロセッサから内部画像又は他のプレゼンテーション要素へである。
【0034】
MDDIの特性又は属性は、それらが特殊な表示技術とは無関係であるほどである。これは、そのデータの内部構造にも、それが実現するデータ又はコマンドの機能上の態様にも関係なく高速でデータを転送するためのきわめて柔軟な機構である。これにより、転送されているデータパケットのタイミングを、特定のデバイスに対する独特な表示要求についてなど特定のクライアントデバイスの特異性に適応する、あるいは何らかのA−Vシステムのための、あるいはジョイスティック、タッチパッド等の特定の入力装置のための結合された音声とビデオの要件を満たすように調整できる。インタフェースは、選択されたプロトコルに従う限り非常に表示要素又はクライアントデバイスに不可知(agnostic)である。加えて総計シリアルリンクデータ又はデータレートは、通信システム又はホストデバイス設計者が費用、電力要件、クライアントデバイス複雑度、及びクライアントデバイス更新速度を最適化できるようにする数桁以上も変化する場合がある。
【0035】
データインタフェースは、おもに大量の高速データを「有線」信号リンク又は小さいケーブルで転送する際に使用するために提示される。しかしながら、いくつかの応用例では、それがインタフェースプロトコルのために開発される同じパケットとデータ構造を使用するように構成されるのであれば、光ベースのリンクを含む無線リンクも活用してよく、十分に低い電力消費量又は実際的であり続ける複雑度での転送の所望されるレベルを持続できる。
【0036】
II.環境
典型的なアプリケーションは、ポータブルつまりラップトップコンピュータ100及び無線電話又はPDAデバイス102が、音声再生システム108と112とともにそれぞれ表示装置104と106とデータを通信するのが示されている
図1A及び
図1Bに見られる。さらに
図1Aは、より大きなディスプレイ又は画面114、あるいはイメージプロジェクタ116への潜在的な接続を示しており、これらは明確にするために1つの図でのみ示されるが無線デバイス102にも接続可能である。無線装置は、現在データを受信中である、あるいは無線装置のエンドユーザが見る、及び/又は聞くために後で提示するためにメモリエレメント又はメモリ素子に特定の量のマルチメディアタイプのデータを過去に記憶していた。典型的な無線装置は時間の大部分、音声と単純なテキスト通信に使用されるため、デバイス102ユーザに情報を伝達するためにやや小さい表示画面及び単純な音声システム(スピーカ)を有する。
【0037】
コンピュータ100ははるかに大型の画面を有するが依然として不適当な外部サウンドシステムを有し、高精度テレビや映画のスクリーンなどの他のマルチメディアプレゼンテーションデバイスには及ばない。コンピュータ100は、表示の目的に使用され、他の種類のプロセッサ、対話型ビデオゲーム、又は消費財も本発明と使用できる。コンピュータ100は、無線通信のための無線モデル又は他の内蔵デバイスを利用できる、あるいは所望されるようにケーブル又は無線リンクを使用してこのようなデバイスに接続できるが、これらに限定されない。
【0038】
これにより、より複雑な又は「リッチ」なデータの表示は、決して有効又は楽しめる経験にはならない。したがって、業界は、エンドユーザに情報を提示するため、及び所望される楽しみの最小レベルつまり好ましい経験を与えるために、他の機構とデバイスを開発中である。
【0039】
前述されたように、デバイス100のエンドユーザに情報を提示するために複数の種類の表示装置が開発された、あるいは現在開発中である。例えば、一社又は複数の企業が画像表示を提示するためにデバイスユーザの目の前に画像を投影するウェアラブルゴーグルのセットを開発した。正しく配置されると、このようなデバイスは、視覚的な出力を提供する要素よりはるかに大きい「仮想画像」を、ユーザの目によって知覚されるように効果的に「投射」する。つまり、非常に小さい投射要素により、ユーザの目(複数の場合がある)は、典型的なLCD画面等で可能であるよりはるかに大きな尺度で画像を「見る」ことができる。さらに大きな仮想画像を使用すると、より限られたLCD画面ディスプレイで可能になるよりはるかに高い解像度の画像の使用も可能になる。他の表示装置は、画像を面に映写する等のために、小型LCD画面又は多様なフラットパネルディスプレイ要素、映写レンズ、及び表示ドライバを含むが、これらに限定されないであろう。
【0040】
別のユーザに、又は代わりに信号を他のどこかに転送するか、それらを記憶する別のデバイスに出力を提示するための無線装置102又はコンピュータ100の使用に関係がある、あるいは対応する追加の要素がある場合がある。例えば、データは後で使用するために、フラッシュメモリに、光形式で、例えば書き込み可能CD媒体を使用して、又は磁気テープレコーダと類似するデバイス内でのような磁気媒体上で記憶されてよい。
【0041】
さらに、多くの無線装置及びコンピュータは現在、他の高度なサウンドデコーダ及びシステムだけではなく、内蔵MP3音楽復号機能も有している。ポータブルコンピュータは、原則としてCDとDVDのプレイバック機能を活用し、事前に録音された音声ファイルを受信するための小型専用フラッシュメモリ読取装置を有するものもある。このような機能を有することの問題点は、復号とプレイバックプロセスが調歩できる場合にだけ、デジタル音楽ファイルがきわめて高いフィーチャリッチ経験を約束するという点である。同じことはデジタルビデオファイルにも当てはまる。
【0042】
音声再生を支援するために、サブウーファー、つまりフロントサウンドプロジェクションとリアサウンドプロジェクション用の「サラウンドサウンド」スピーカなどの追加要素も付随できるであろう外部スピーカ114が
図1aに図示される。同時に、スピーカ又はイヤホン108が
図1bのマイクロディスプレイデバイス106のサポートフレーム又は機構に内蔵されると示されている。理解されるように、電力増幅装置又は音声整形装置を含む他の音声又はサウンド再生要素が使用できる。
【0043】
いずれにせよ、前述されるように、1つ又は複数の通信リンク110上でデータソースからエンドユーザに高品質又は高解像度の画像データ及び高品質の音声情報又はデータ信号を転送することを所望する場合、高速データレートが必要とされる。つまり、転送リンク110は明らかに前述されたようなデータの通信における潜在的なボトルネックであり、現在の転送機構は通常所望される高データレートを達成しないため、システム性能を制限している。例えば前述されたように、カラー階調が1ピクセルあたり24ビットから32ビット、30fpsというデータレートでの1024ピクセル×1024ピクセルなどのさらに高い画像解像度の場合、データレートは755Mbps以上を超えるレートに近づくことがある。さらに、このような画像は、データの量とデータレートをさらに増加する、対話型ゲーム又は通信、あるいは多様なコマンド、コントロール又は信号と対処する音声データ及び潜在的に追加の信号を含むマルチメディアプレゼンテーションの一部として提示されてよい。
【0044】
また、データリンクを確立するために必要とされるより少ないケーブル又は相互接続が、ディスプレイと関連付けられるモバイル機器が使用しやすい、さらに大型のユーザベースに採用される可能性が高いことを意味することも明らかである。これは特に、複数のデバイスが完全な視聴覚経験を確立するために通常使用される場合に、及びさらに特にディスプレイと音声出力装置の品質レベルが高くなるにつれて当てはまる。
【0045】
ビデオ画面及び他の出力装置又は入力装置での前記の及び他の改善策の多くに関連する別の典型的な応用例は、ポータブルつまりラップトップコンピュータ130及び無線電話又はPDA装置140が、音声再生システム136と146とともにそれぞれ「内部」表示装置134と144とデータを通信しているのが示されている
図1Cと
図1Dで見られる。
【0046】
図1C及び
図1Dでは、全体的な電子デバイス又は製品の小さい断面図が、今日のエレクトロニクス業界全体で使用されている何らかの公知のタイプの回転式ジョイントを横切って、対応するクライアントを有するビデオ表示要素又は画面にそれらを接続する、汎用通信リンク、ここではそれぞれ138と148のある、デバイスの一部分における1つ又は複数の内部ホスト及びコントローラの位置を示すために使用される。これらの転送に関与するデータの量は、多数の導体がリンク138と148を備えることを必要とすることが分かる。このような通信リンクが、並列又はこのようなデータを転送するために使用可能な他の公知のインタフェース技法のタイプのための、このようなデバイス上で高度な色とグラフィックインタフェース、表示要素を活用するために今日の高まりつつあるニーズを満たすために90以上の導体に近づきつつあることが推定される。
【0047】
残念なことに、単位時間あたりで転送されることを必要とするデータの未処理量に関して、信頼できる費用効果の高い物理的な転送機構を製造することに関しての両方で、より高速のデータレートはデータを転送するために使用できる現在の技術を越えている。
【0048】
必要とされているのは、プレゼンテーション要素とデータソースの間のデータ転送リンク又は通信経路のためにさらに高速の速度でデータを転送するための、一貫して(さらに)低電力で、軽量、且つ可能な限り簡単で経済的なケーブル布線構造を可能にする技法である。出願人は、所望される低い消費電力及び複雑度を保ちながら、多くのモバイル機器、携帯機器、又は固定位置のデバイスも所望されるディスプレイ、マイクロディスプレイ、又は音声転送要素に、非常に高速のデータレートでデータを転送できるようにするこれらの及び他の目標を達成するために新しい技法、又は方法及び装置を開発した。
【0049】
III.高速デジタルデータインタフェースシステムアーキテクチャ
新しいデバイスインタフェースを作成し、効率的に活用するために、低電力信号を使用して非常に高いデータ転送速度を提供する信号プロトコル及びシステムアーキテクチャが考案された。プロトコルはパケット及び共通フレーム構造、あるいはインタフェースに課されるコマンド又は操作構造とともにデータ又はデータタイプの事前に選択されたセットを通信するためのプロトコルを形成するためにともにリンクされる構造に基づいている。
【0050】
A.概要
MDDIリンクによって接続される、あるいはMDDIリンク上で通信するデバイスはホストとクライアントと呼ばれ、他の出力装置及び入力装置が考案されるが、クライアントは通常、何らかの種類の表示装置である。ホストからディスプレイまでのデータは(順方向トラフィック又はリンクと呼ばれる)順方向で移動し、クライアントからホストまでのデータは、ホストによってイネーブルされるように逆方向(逆方向トラフィック又はリンク)で移動する。これは
図2に示される基本的な構成に描かれている。
図2では、ホスト202は、順方向リンク208と逆方向リンク210を備えるとして描かれている双方向通信チャネル206を使用してクライアント204に接続される。しかしながら、これらのチャネルは、そのデータ転送が順方向リンク動作と逆方向リンク動作の間で効果的に切り替えられる導体の共通集合によって形成される。これにより、はるかに削減された数の導体が可能になり、モバイル電子デバイスなどの低電力環境における高速データ転送に対する現在の手法が直面する多くの問題の1つにただちに対処する。
【0051】
前述されたように、ホストは本発明を使用することから恩恵を得ることができる複数の種類のデバイスの内の1つを備える。例えば、ホスト202は、ハンドヘルド、ラップトップ、又は類似したモバイルコンピューティングデバイスの形を取るポータブルコンピュータであり、それはパーソナルデータアシスタント(PDA)、ページングデバイス、又は多くの無線電話又はモデムの内の1つであろう。代わりにホスト202は、ポータブルDVD又はCDプレーヤ、又はゲーム機等のポータブルエンターテインメントデバイス又はプレゼンテーションデバイスであろう。
【0052】
さらに、ホストは、ホストデバイス又は制御要素として、高速通信リンクがクライアントと所望される種々の他の幅広く使用されている又は計画されている商業製品に常駐できる。例えば、ホストは、改善された応答のために記憶装置ベースのクライアントに、又はプレゼンテーションのために高解像度のさらに大型の画面に、ビデオ録画装置から高速でデータを転送するために使用できるであろう。内蔵在庫又はコンピューティングシステム及び/又は他の家庭用デバイスへのブルーツース(Bluetooth(登録商標))接続を組み込んだ冷蔵庫などの機器は、インターネット又はブルーツース接続モードで動作するとき表示能力を改善することができるか、あるいは電子コンピュータ又は制御システム(ホスト)がキャビネット内のどこか他の場所にある間、ドア内(in−the−dor)ディスプレイ(クライアント)及びキーパッド又はスキャナ(クライアント)に対する配線ニーズを削減できる。一般的には、当業者は、コネクタ又はケーブルで使用可能な制限された数の導体を活用して情報の高速データレートトランスポートでより旧いデバイスを改良する能力だけではなく、このインタフェースの使用から恩恵を受けてよい多種多様の現代的な電子デバイスと機器を認識するであろう。
【0053】
同時に、クライアント204はエンドユーザに情報を提示する、あるいはユーザからホストに情報を提示するために有効な種々のデバイスを備えることができるであろう。例えば、ゴーグル又は眼鏡に組み込まれるマイクロディスプレイ、帽子又はヘルメットの中に内蔵される映写装置、又はウィンドウ又はフロントガラスなどの車両に内蔵される小さい画面又はホログラフィック素子、又は高品質のサウンド又は音楽を提示するための多様なスピーカ、ヘッドフォン、又はサウンドシステム。別の例は、ユーザからの接触又はサウンド以外にほとんど実際の「入力」がない、相当量の情報をユーザから転送することを望む可能性があるタッチパッド又は敏感なデバイス、音声認識入力装置、セキュリティスキャナ等の使用であろう。
【0054】
しかしながら、当業者は、本発明がこれらのデバイスに限定されず、これらは、エンドユーザに記憶及びトランスポートに関して、又はプレイバック時のプレゼンテーションに関してのどちらかで高品質の画像とサウンドを提供することを目的とする市販され、使用に提案されている多くの他のデバイスであることを容易に認識するであろう。本発明は、所望されるユーザ経験を実現するために必要とされる高速データレートに対処するために多様な要素又はデバイス間でデータスループットを増加する上で有効である。
【0055】
本発明のMDDインタフェース及び通信信号プロトコルは、外部要素(外部モード)だけではなく、これらの接続の費用を削減し、信頼性を改善するために、ホストプロセッサとデバイス内のディスプレイ(内蔵モード)の間の相互接続をさらに簡略化するために使用されてよい。このインタフェース構造によって使用される各信号ペアの総計シリアルリンクデータレートは、何桁にも渡って変化することがあリ、システム又はデバイス設計者が、費用、電力、インプリメンテーションの複雑度、表示更新速度を容易に最適化できるようにする。MDDIの属性は表示技術と無関係である。該インタフェースを介して転送されるデータパケットのタイミングは、特定の表示装置の特異性、又は音声−ビデオシステムの結合されたタイミング要件に適応するように容易に調整できる。これによりシステムは考えられる最小の電力消費を有することができるが、MDDIを使用するためにフレームバッファを有することはディスプレイの要件ではない。
【0056】
B.インタフェースのタイプ
MDDIインタフェースは、通信業界とコンピュータ業界で見られる5つ又は6つ以上のいくぶん異なった物理的種類のインタフェースに対処するとして意図される。他のラベル又は名称は、それらが使用される応用例に応じて当業者によって適用されてよいが、これらは単にI型、II型、III型、IV型及びU型と呼ばれる。
【0057】
I型インタフェースは携帯電話又は無線電話、PDA、e−ブック、電子ゲーム、及びCDプレーヤやMP3プレーヤ等のポータブルメディアプレーヤ、及び類似するデバイス又は類似するタイプの消費財技術で使用されるデバイスにそれを適したものにする6線(導線)インタフェースとして構成される。ある実施形態では、U型インタフェースは、ラップトップ、ノートブック、デスクトップパーソナルコンピュータ、及びディスプレイを迅速に更新される必要がなく、内蔵MDDIリンクコントローラを有さない類似するデバイス又はアプリケーションにより適している8線(導線)インタフェースとして構成される。このインタフェースタイプは、大部分のパーソナルコンピュータに見られる既存のオペレーティングシステム又はソフトウェアサポートに対処する上できわめて有効である、追加の2線ユニバーサルシリアルバス(USB)インタフェースを使用することによっても区別される。U型インタフェースは、コンピュータ又は類似するデバイス上、例えばデジタルカメラ又はビデオプレーヤなどのこのようなポートを備える消費財などの標準USBポートに接続するUSBコネクタを単に有するUSB専用モードでも使用できる。
【0058】
II型、III型及びIV型インタフェースは、高性能クライアント又はデバイスに適切であり、データ信号に適切なシールド及び低損失転送を提供するために、追加のツイストペア型導線とともにより大きくさらに複雑なケーブル布線を使用する。
【0059】
I型インタフェースは表示、音声、制御及び制限されたシグナリング情報を備えることができる信号を送出し、通常、高解像度フルレートビデオデータを必要としないモバイルクライアント又はクライアントデバイスに使用される。I型インタフェースは、5.1チャネル音声を加えた30fpsでSVGA解像度を容易にサポートでき、最小の構成では、データ伝送のための2組、電力伝達のために1組の合計3つのワイヤ組だけを使用する可能性がある。この種のインタフェースはおもに、USBホストが通常は信号の接続及び転送のためにこのようなデバイス内で利用できないモバイル無線機器などのデバイス向けである。この構成では、モバイル無線機器はMDDIホストデバイスであり、一般的にはプレゼンテーション、表示又はプレイバックのためにクライアントにデータを送信する(順方向トラフィック又はリンク)ホストから通信リンクを制御する「マスタ」として働く。
【0060】
このインタフェースでは、ホストは、それが指定された持続時間バス(リンク)を占有し、逆方向パケットとしてホストにデータを送信できるようにする、特殊コマンド又はパケットタイプをクライアントに送信することによって、クライアントからのホスト(逆方向トラフィック又はリンク)での通信データの受信を可能にする。これは、(後述される)カプセル化パケットと呼ばれるある種のパケットが転送リンクでの逆方向パケットの転送に対処し、逆方向リンクを生じさせるために使用される
図3に描かれている。ホストがデータのためにクライアントをポーリングするために割り当てられる時間間隔はホストによって事前に決定され、それぞれの指定された応用例の要件に基づいている。この種の半二重双方向データ転送は、USBポートがクライアントからの情報又はデータの転送の為に使用できない場合に特に有利である。
【0061】
HDTV型又は類似した高解像度を可能にする高性能ディスプレイは、フルモーションビデオをサポートするために、約1.5Gpbs速度のデータストリームを必要とする。II型インタフェースは、並列で2ビットを送信することによって、III型は並列で4ビットを送信することによって高いデータレートをサポートし、IV型インタフェースは並列で8ビットを転送する。II型とIII型はI型と同じケーブルとコネクタを使用するが、携帯機器でさらに高性能のビデオアプリケーションをサポートするために2倍と4倍のデータレートで動作できる。IV型は非常に高性能のクライアント又はディスプレイに適しており、追加のツイストペアデータ信号を含むわずかに大きなケーブルを必要とする。
【0062】
MDDIによって使用されるプロトコルは、通常、それぞれのI型、II型、III型又はIV型のホストが、使用できる最高のデータレートが何であるのかを交渉することにより、I型、II型、III型又はIV型のクライアントと通信できる。最も能力が低いデバイスと呼ぶことのできるものの能力又は使用可能な機能は、リンクの性能を設定するために使用される。一般に、ホストとクライアントの両方ともII型、III型又はIV型のインタフェースを使用できるシステムの場合でも、ともにI型インタフェースとして動作を開始する。次にホストはターゲットクライアントの能力を決定し、特定の応用例に対して適宜にII型モード、III型モード、又はIV型モードのどれかに従ってハンドオフ又は再構成動作を交渉する。
【0063】
一般的には、ホストが(さらに後述される)適切なリンク層プロトコルを使用し、省電力のためにより低速なモードに通常どんなときでも下げる、つまり再び動作を設定し直す、あるいは高解像度表示コンテンツなどのより高速な転送をサポートするためにより高速なモードに上げることが可能である。例えば、ホストは、システムが電池からAC電源等、電源から切り替わるとき、あるいは表示媒体のソースがより低い解像度又はより高い解像度のフォーマットに切り替わるとき、あるいはこれらの組み合わせ、あるいは他の状態又はイベントがインタフェースタイプ又は転送モードを変更するための基礎として考えられてよいときにインタフェースタイプを変更してよい。
【0064】
システムが、ある方向であるモードを、及び別の方向で別のモードを使用してデータを通信することも可能である。例えば、IV型インタフェースモードは表示にデータを高速で転送するときに使用され、I型又はU型のモードはキーボード又はポインティングデバイスなどの周辺装置からホストデバイスにデータを転送するときに使用される。当業者によって、ホスト及びクライアントがさまざまな速度で発信データを通信してよいことが理解されるであろう。
【0065】
多くの場合、MDDIプロトコルのユーザは、「外部」モードと「内部」モードを区別してよい。外部モードは、あるデバイス内のホストを、該ホストから最高約2メートルであるそのデバイスの外部のクライアントに接続するためにMDDIを使用することを説明する。この状況では、ホストは、両方のデバイスがモバイル環境で容易に動作できるように外部クライアントに電力を送信してもよい。内部モードは、ホストがある種の共通ハウジング又はサポートフレーム又は構造内等、同じデバイスの内側に含まれるクライアントに接続されるときを説明する。例は、無線電話又は他の無線装置内での応用例、又はクライアントがディスプレイ又はディスプレイドライバであり、ホストが中央コントローラ、グラフィックスエンジン、又はCPUエレメントであるポータブルコンピュータ又はゲーム機となるであろう。クライアントは、外部モード応用例と対照的に、内部モード応用例ではホストにはるかに近く位置するため、一般的には、このような構成でのクライアントへの電力接続のために説明される要件はない。
【0066】
C.物理インタフェース構造
ホストとクライアントの間で通信を確立するためのデバイス又はリンクコントローラの一般的な配置は
図4及び
図5に示されている。
図4及び
図5では、MDDIリンクコントローラ402と502がホストデバイス202にインストールされて示され、及びMDDIリンクコントローラ404と504がクライアントデバイス204にインストールされて示されている。前述されたように、ホスト202は、一連の導体を備える双方向通信チャネル406を使用してクライアント204に接続される。後述されるように、ホストリンクコントローラとクライアントリンクコントローラは、ホストコントローラ(ドライバ)又はクライアントコントローラ(受信機)のどちらかとして対応するように設定、調整、又はプログラミングできる単一回路設計を使用する1つの集積回路として製造できる。これは、単一回路装置の大規模製造のためのより低いコストを可能にする。
【0067】
図5では、MDDIリンクコントローラ502がホストデバイス202’内に設置されて示され、MDDIリンクコントローラ504はクライアントデバイス204’内に設置されて示されている。前述のようにホスト202’は一連の導体を備える双方向通信チャネル506を使用してクライアント204’に接続される。後述されるように、ホストリンクコントローラとクライアントリンクコントローラは単一回路設計を使用して製造できる。
【0068】
MDDIリンク上で、あるいは使用される物理的な導体の上でホストと表示装置などのクライアントの間で渡される信号も
図4と
図5に描かれている。
図4と
図5で分かるように、MDDIを通してデータを転送するための一次的な経路又は機構はMDDI_Data0+/−及びMDDI_Stb+/−と呼ばれるデータ信号を使用する。これらのそれぞれはケーブルの中のワイヤの差動組上で転送される低圧データ信号である。インタフェース(binterface)上で送信されるビットごとにMDDI_Data0組又はMDDI_Stb組のどちらかに唯一の遷移がある。これは、電流をベースにしない電圧をベースにした転送機構であるため、静電流消費はゼロに近い。ホストはMDDI_Stb信号をクライアントディスプレイに駆動する。
【0069】
データはMDDI_Data組上で順方向と逆方向両方で流れる、つまりそれは双方向転送経路であるが、ホストはデータリンクのマスタ又はコントローラである。MDDI_Data0及びMDDI−Stb信号経路は雑音排除性を最大限にするために差動モードで操作される。これらの回線での信号のためのデータレートはホストによって送信されるクロックのレートによって決定され、約1kbpsから最高400Mbps上までの範囲で可変である。
【0070】
II型インタフェースはMDDI_Data1+/1と呼ばれるI型より多くの1つの追加データ組又は導体又は経路を含む。III型インタフェースは、MDDI_Data2+/−及びMDDI_Data3+/−と呼ばれるII型インタフェースより多くの2組の追加のデータ組又は信号経路を含む。IV型インタフェースは、それぞれMDDI_data4+/−、MDDI_Data5+/−、MDDI_Data6+/−、及びMDDI_Data7+/−と呼ばれるIII型インタフェースより多くの4つのさらに多くのデータ組又は信号経路を含む。前記インタフェース構成のそれぞれでは、ホストは、MDDI_Pwr及びMDDI_Gndと示されるワイヤ組又は信号を使用してクライアント又はディスプレイに電力を送信できる。さらに後述されるように、電力伝達は、使用可能であるあるいは他のモードのために存在するよりさらに少ない導体を利用するインタフェース「タイプ」が使用されているとき、所望される場合、MDDI_data4+/−、MDDI_Data5+/−、MDDI_Data6+/−、又はMDDI_Data7+/−導体でのいくつかの構成で対処できる。
【0071】
多様なモードのためにMDDIリンク上でホスト及びクライアント(ディスプレイ)の間で渡される信号の要約は、インタフェースタイプに従って以下の表Iに描かれている。
【表1】
【0072】
ホストからの転送のためのMDDI Pwr/Gnd接続は一般的に外部モードのために提供される。内部応用例又は運転モードは、一般的には、当業者にとって明らかであるように、他の内部資源から直接的に電力を引き出し、配電を制御するためにMDDIを使用しないクライアントを有するため、このような配電はここでは以下に詳説しない。しかしながら、当業者によって理解されるように、例えばある種の電力制御、同期、又は相互接続便宜を可能にするためにMDDIインタフェースを通して配電することは確かに可能である。
【0073】
前記構造及び動作を実現するために使用されるケーブル布線は名目上長さ約1.5メートル、一般的には2メートル以下であり、3組のツイストペア導線を含み、それぞれは同様にマルチストランド30AWGワイヤである。箔シールド被膜は、該3組のツイストペアに巻き付けられる、あるいはそれ以外の場合、追加ドレインワイヤとして、該3組のツイストペアの上に形成される。ツイストペア及びシールドドレイン導体はディスプレイコンテクタ内で成端し、該シールドはディスプレイ(クライアント)用のシールドに接続されており、技術で周知であるようにケーブル全体を覆う絶縁層がある。ワイヤはMDDI_GndとMDDI_Pwr、MDDI_Stb+とMDDI_Stb−、MDDI_Data0+とMDDI_Data0−、MDDI_Data1+とMDDI_Datal−等として組にされる。
【0074】
D.データタイプ及びレート
フルレンジのユーザ経験及び応用例のための有効なインタフェースを達成するために、モバイルデジタルデータインタフェース(MDDI)は、制御情報及びその組み合わせとともにモバイル表示装置に統合される、又は合わせて作動する可能性のある、種々のクライアント及び表示情報、音声トランスデューサ、キーボード、ポインティングデバイス、及び多くの他の入力装置と出力装置に対するサポートを提供する。MDDIインタフェースは最少数のケーブル又は導体を使用して順方向リンク方向又は逆方向リンク方向のどちらかでホストとクライアントの間で行き来する種々の潜在的なタイプのデータのストリームに対処できるように設計されている。等時性のストリームと非同期ストリーム(更新)の両方ともサポートされる。データタイプの多くの組み合わせは、総計データレートが最大所望MDDIリンクレート未満、又は等しい限り可能であり、利用される最大シリアルレート及びデータエア(data airs)数によって制限される。これらは以下の表IIと表IIIに一覧されるそれらの項目を含むが、これらに限定されない。
【表2】
【表3】
【0075】
インタフェースは、固定されず、それが将来のシステムの柔軟性のためにユーザによって定義されるデータを含む種々の情報「タイプ」の転送をサポートできるように拡張可能である。対処されるデータの特定の例は以下のとおりである。つまり、フル画面又は部分的な画面のビットマップフィールド又は圧縮ビデオの形のどちらかを取るフルモーションビデオ、節電し、インプリメンテーション費用を削減するための低速度の静的ビットマップ、種々の解像度又は速度でのPCM又は圧縮音声データ、ポインティングデバイスの位置及び選択、ならびにまだ定義されていない機能のためのユーザによって定義可能なデータである。このようなデータはデバイス能力検出するため又は運転パラメータを設定するために制御情報又はステータス情報とともに転送されてよい。
【0076】
本発明の実施形態は、映画(ビデオディスプレイ及び音声)を見る、個人的な閲覧が制限された(ときにはビデオと音声に結合されるグラフィックディスプレイ)パソコンを使用する、PC、コンソール又はパーソナルデバイス上でビデオゲームをする(モーショングラフィックスディスプレイ、又は合成ビデオと音声)、ビデオフォン(双方向低速ビデオ及び音声)の形を取るデバイスを使用してインターネットを「サーフィン」する、静止デジタル画像のためのカメラ、又はデジタルビデオ画像を捕捉するためのカムコーダ、プレゼンテーションを行うためにプロジェクタにドッキングされた、あるいはビデオモニタ、キーボード、及びマウスに接続されたデスクトップドッキングステーションにドッキングされた電話又はPDAを使用する、及び無線ポインティングデバイスとキーボードデータを含む携帯電話、スマートフォン、又はPDAとの生産性向上又は娯楽使用のためを含むが、これらの限定されないデータ転送で使用するための技術を推進する。
【0077】
後述されるようなモバイルデータインタフェースは、一般的にワイヤライン又はケーブルタイプリンクとして構成される通信又は転送リンク上で大量のA−V型データを提供することに関して提示される。しかしながら、信号構造、プロトコル、タイミング又は転送機構は、それが所望されるレベルのデータ転送を持続できるのであれば、光媒体又は無線媒体の形でリンクを提供するために調整できるであろうことは容易に明らかである。
【0078】
MDDIインタフェース信号は、基本的な信号プロトコル又は構造用の共通フレーム(CF)として知られている概念を使用する。共通フレームを使用する背景にある考えとは、同時等時性データストリームに同期パルスを提供することである。クライアントデバイスはこの共通フレームレートを時間基準として使用できる。低CFレートは、サブフレームヘッダを送信するためにオーバヘッドを減少することによりチャネル効率を上げる。他方、高CFレートは待ち時間を減少し、音声サンプルのためのより小さい融通の利くデータバッファを可能にする。本発明のインタフェースのCFレートは動的にプログラム可能であり、特定の用途で使用される等時性ストリームに適切な多くの値の1つで設定されてよい。すなわち、CF値は、所望されるように、既定のクライアントとホスト構成に最も適するように選択される。
【0079】
ヘッドマウントマイクロディスプレイなどの応用例と使用される可能性が高い等時性データストリームの場合に、調節可能又はプログラム可能である、一般的に1共通フレームあたりに必要とされるバイト数が表IVに示されている。
【表4】
【0080】
1共通フレームあたりの断片カウントは、単純なプログラマブルM/Nカウンタ構造を使用して容易に得られる。例えば、1CFあたり26−2/3バイトというカウントは、それぞれの後に26バイトの1フレームが続く、27バイトの2つのフレームを転送することにより実現される。さらに小さなCFレートは、整数の1CFあたりバイトを生じさせるために選択されてよい。しかしながら、一般的にはハードウェアで単純なM/Nカウンタを実現するには、本発明の実施形態の一部又はすべてを実現するために使用される集積回路チップ又は電子モジュール内では、さらに大きな音声サンプルFIFOバッファに必要とされる面積より少ない面積を必要とするはずである。
【0081】
異なるデータ転送速度及びデータタイプの影響を描く例示的な応用例はカラオケシステムである。カラオケの場合、エンドユーザつまり複数のユーザがミュージックビデオプログラムと合わせて歌うシステム。歌の歌詞は、画面のどこか、通常は下部に表示されるため、ユーザは歌われる言葉及び歌のタイミングを大まかに知っている。この応用例は、グラフィックスの更新が不定期なビデオディスプレイ及びユーザの声、つまり複数の声のステレオ音声ストリームとの混合を必要とする。
【0082】
300Hzという共通フレームレートを想定する場合には、各CFは、クライアント表示装置への順方向リンク上での(ステレオの147の16ビットサンプルに基づき)92,160バイトのビデオコンテンツと588バイトの音声コンテンツからなり、平均26.67(26−2/3)バイトの音声がマイクからモバイルカラオケ機械に送り返される。非同期パケットがホストとおそらくヘッドマウント式のディスプレイの間で送信される。これは、多くとも768バイトのグラフィックデータ(4分の1の画面高さ)及び他の制御コマンド及びステータスコマンド用の約200バイト(数)バイト未満を含む。
【0083】
表Vは、データがカラオケの例について1つの共通フレームの中でどのように割り当てられるのかを示している。使用されている総レートは、約225Mbpsとなるように選択される。226Mbpsというわずかに高いレートは、偶発的な制御メッセージとステータスメッセージの使用を可能にする、転送される1サブフレームあたり約400バイトの別のデータを転送できるようにする。
【表5】
【0084】
III.高速デジタルデータインタフェースシステムアーキテクチャ
E.リンク層
MDDインタフェース高速シリアルデータ信号を使用して転送されるデータは、次々にリンクされる時分割されたパケットのストリームからなる。送信側デバイスに送信するデータがないときでさえ、MDDIリンクコントローラは通常自動的にフィラーパケットを送信し、このようにしてパケットのストリームを維持する。単純なパケット構造の使用は、ビデオ信号及び音声信号又はデータストリームのための信頼できる等時性のタイミングを保証する。
【0085】
パケットのグループは、サブフレームと呼ばれる信号要素又は構造の中に含まれ、サブフレームのグループはメディアフレームと呼ばれる信号要素又は構造の中に含まれる。サブフレームは、それぞれのサイズ及びデータ転送使用に応じて1個又は複数個のパケットを含み、メディアフレームはもう1つのサブフレームを含む。ここに提示される実施形態によって利用されるプロトコルによって提供される最大のサブフレームは約232−1つまり4,294,967,295バイトであり、最大媒体フレームサイズは次に約216−1つまり65,535サブフレームになる。
【0086】
特殊ヘッダパケットは、後述されるように各サブフレームの始まりに出現する一意の識別子を含む。その識別子は、ホストとクライアントの間の通信が開始されるとクライアントデバイスでフレームタイミングを獲得するためにも使用される。リンクタイミング取得はさらに詳細に後述される。
【0087】
通常、表示画面は、フルモーションビデオが表示されている間は1メディアフレームあたりに1回更新される。表示フレームレートはメディアフレームレートと同じである。リンクプロトコルは、所望される応用例に応じて、ディスプレイ全体でのフルモーションビデオを、あるいは静的画像によって囲まれたフルモーションビデオコンテンツの小さな領域だけをサポートする。ウェブページ又はeメールを表示する等のいくつかの低電力モバイル応用例では、表示画面はときおり更新される必要があるだけである。それらの状況では、電力消費量を最小限に抑えるため人単一のサブフレームを送信してから、リンクをシャットダウンするか、あるいは非アクティブ化することが有利である。インタフェースはステレオビジョンなどのエフェクトもサポートし、グラフィックスプリミティブも処理する。
【0088】
サブフレームによってシステムは、周期的に高優先順位パケットの伝送を可能にできる。これにより同時の等時性ストリームが最少量のデータバッファリングで共存できる。これは、実施形態が表示プロセスに提供する一つの利点であり、複数のデータストリーム(ビデオ、音声、コントロール、ステータス、ポインティングデバイスデータ等の高速通信)が、コマンドチャネルを本質的に共用できるようにする。それは相対的に少ない信号を使用して情報を転送する。それは、また水平同期パルス及びCRTモニタのブランキング間隔などの表示技術に特殊なアクションが存在できるようにする。
【0089】
F.リンクコントローラ
図4及び
図5に示されているMDDIリンクコントローラは、MDDIデータ及びストローブ信号を受信するために使用される差動ラインレシーバを例外として完全にデジタルなインプリメンテーションとなるように製造される、又は組み立てられる。しかしながら、差動ラインドライバとレシーバも、CMOS型ICを作成するとき等、リンクコントローラとともに同じデジタル集積回路内に実現できる。ビット回復のために、あるいはリンクコントローラのためにハードウェアを実現するためにはアナログ関数又は位相ロックループ(PLL)も必要とされない。ホストリンクコントローラとクライアントリンクコントローラは、状態機械又はリンク同期を含むクライアントインタフェースを例外として、非常に類似した関数を含む。したがって、本発明の実施形態は、ホスト又はクライアントのどちらかとして構成できる単一のコントローラ設計又は回路を作成できるという実際的な利点を可能にし、リンクコントローラの製造費を全体として削減できる。
【0090】
IV.インタフェースリンクプロトコル
A.フレーム構造
パケット転送用の順方向リンク通信を実現するために使用される信号プロトコル又はフレーム構造が
図6に描かれている。
図6に図示されるように、情報又はデジタルデータはパケットとして公知の要素にグループ化される。複数のパケットは同様に「サブレーム」と呼ばれるものを形成するためにともにグループ化され、複数のサブフレームは同様に「メディア」フレームを形成するためにともにグループ化される。フレームの形成及びサブフレームの転送を制御するために、各サブフレームは、特にサブフレームヘッダパケット(SHP)と呼ばれる特に所定のパケットで開始する。
【0091】
ホストデバイスは、既定の転送に使用されるデータレートを選択する。この速度はホストの最大転送能力、又はホストによってソースから取り出されるデータ、及びクライアントの最大能力、又はデータが転送されている他のデバイスに基づいてホストデバイスによって動的に変更できる。
【0092】
MDDI又は本発明の信号プロトコルとともに作業するために設計される、又は作業できる受取クライアントデバイスは、最大、現在の最大、それが使用できるデータ転送速度を決定するためにホストによって照会できるか、あるいは使用可能なデータタイプとサポートされている機能だけではなくデフォルトのより低速な最小レートも使用されてよい。この情報は、後述されるように表示能力パケット(DCP)を使用して転送できるであろう。クライアント表示装置はデータを転送したり、事前に選択された最小データレートで、あるいは最小データレート範囲内でインタフェースを使用して他のデバイスと通信することができ、ホストはクライアントデバイスの完全な能力を決定するためにこの範囲内でデータレートを使用して照会を実行する。
【0093】
ディスプレイのビットマップ及びビデオフレームレート能力の性質を定義する他のステータス情報は、ホストがインタフェースをできる限り効率的又は最適になるように構成できるように、ホストへのステータスパケットで転送することができる、あるいは任意のシステム制約の中で所望される。
【0094】
現在のサブフレームの中に転送される(これ以上の)データパケットがないときに、あるいはホストが順方向リンクのために選ばれたデータ伝送速度についていくために十分な速度で転送することができないとき、ホストはフィラーパケットを送信する。各サブフレームはサブフレームヘッダパケットで開始するので、過去のサブフレームの最後に過去のサブフレームを正確に満たすパケット(十中八九フィラーパケット)を含む。本来データを運ぶパケットのための余地が欠如する場合、フィラーパケットは、サブフレームの中の、つまり次に過去のサブフレームの最後で、サブフレームヘッダの前の最後のパケットである可能性が高い。各パケットをそのサブフレームの中で転送するためにサブフレームに留まる十分なスペースがあることを確実にすることは、ホストデバイス内の制御動作のタスクである。同時に、いったんホストデバイスがデータパケットの送信を開始すると、ホストは、データアンダーラン条件を生じさせずにフレーム内でそのサイズのパケットを無事に完了できなければならない。
【0095】
実施形態の1つの態様では、サブフレーム伝送には2つのモードがある。1つのモードは、ライブビデオストリームと音声ストリームを送信するために使用される、周期的なサブフレームモード又は周期的なタイミングエポックである。このモードではサブフレーム長は非ゼロであると定義される。第2のモードは、新しい情報が入手可能であるときにだけクライアントにビットマップデータを提供するためにフレームが使用される非同期又は非周期モードである。このモードはサブフレームヘッダパケット内でサブフレーム長をゼロに設定することにより定義される。周期的なモードを使用するとき、サブフレームパケット受信は、ディスプレイが順方向リンクフレーム構造に同期したときに開始してよい。これは、
図49又は
図63を参照して後述される状態図に従って定義される「同期中」状態に対応する。非同期非周期サブフレームモードでは、受信は第1のサブフレームヘッダパケットが受信された後に開始する。
【0096】
B.全体的なパケット構造
実施形態により実現されるシグナリングプロトコルを考案するために使用されるパケットのフォーマット又は構造は、インタフェースが拡張可能であり、追加パケット構造が所望されるように追加できることを念頭に、以下に提示される。パケットは、インタフェースでのその機能、つまりそれらが転送するコマンドやデータという点で異なる「パケットタイプ」として名付けられる、あるいは分割される。したがって、各パケットタイプは転送されているパケット及びデータを操作する上で使用される既定のパケットのための所定のパケット構造を示す。容易に明らかとなるように、パケットは事前に選択された長さ、あるいはそのそれぞれの機能に応じて可変又は動的に変更可能な長さを有してよい。プロトコルが規格に受け入れるまでに変化するときに発生することがあるように、パケットに同じ機能が実現されていても、異なる名前が付けられることがあるであろう。多様なパケットで使用されるバイト又はバイト値は、マルチビット(8ビット又は16ビット)符号なし整数として構成される。タイプ順に一覧表示されるその「タイプ」名称とともに利用されるパケットの要約が表VI−1からVI−4に示される。
【0097】
各表は、説明と理解を容易にするために全体的なパケット構造の中のパケットの一般的な「タイプ」を表す。これらのグループ分けによる本発明に対して暗示される又は明示される制限又は他の制約はなく、パケットは所望されるように多くの他の様式で編成できる。パケットの転送が有効と見なされる方向も注記される。
【表6-1】
【表6-2】
【表6-3】
【表6-4】
【0098】
本文の中の他の説明から明らかである何かとは、逆方向カプセル化パケット、表示能力パケット及び表示要求及びステータスパケットがそれぞれ非常に重要とも見なされる、あるいは外部モード動作に必要であるとも見なされるが、それらは内部モード動作のオプションと見なすこともできる。これは、通信パケットのセットが削減され、制御とタイミングの対応する簡略化のある、非常に高速でのデータの通信を可能にするさらに別のタイプのMDDIインタフェースプロトコルを作成する。
【0099】
パケットは、
図7に描かれている、パケット長フィールド、パケットタイプフィールド、データバイトフィールド(複数の場合がある)及びCRCフィールドを含む最小フィールドの共通の基本構造又は全体的なセットを有する。
図7に示されるように、パケット長フィールドは、パケットの中のビット総数又はパケット長フィールドとCRCフィールドの間のその長さを指定する、マルチビット値又はマルチバイト値の形式で情報を含む。一実施形態では、パケット長フィールドが、パケット長を指定する16ビット又は2バイト幅の符号なし整数を含む。パケットタイプフィールドはパケットの中に含まれる情報のタイプを示す別のマルチビットフィールドである。例示的な実施形態では、これは16ビットの符号無し整数の形を取る16ビット又は2バイト幅の値であり、表示能力、ハンドオフ、ビデオストリーム又は音声ストリーム、ステータス等のデータタイプを指定する。
【0100】
第3のフィールドは、そのパケットの一部としてホストとクライアントデバイスの会い亜で転送又は送信されるビット又はデータを含むデータバイトフィールドである。データのフォーマットは転送中の特定のタイプのデータに従って特にパケットタイプごとに定義され、一連の追加フィールドに分離されてよく、それぞれが独自のフォーマット要件を備える。すなわち、各パケットタイプはこの部分又はフィールドの定義されたフォーマットを有するであろう。最後のフィールドは、パケット内の情報の完全性を確認するために使用される、データバイトフィールド、パケットタイプフィールド、及びパケット長フィールド上で計算される16ビットのサイクリックリダンダンシーチェックの結果を含むCRCフィールドである。言い換えると、CRCフィールド自体を除いてパケット全体で計算される。クライアントは一般的に検出されるCRCエラーの総カウントを保ち、表示要求とステータスパケット(さらに以下を参照されたい)内でホストにこのカウントを報告し直す。
【0101】
一般的には、これらのフィールド幅及び編成は、偶数バイト境界で2バイトフィールドを整列させ、4バイト境界で4バイトフィールドを整列させておくように設計される。これによってパケット構造をメインメモリ空間内に容易に構築できる、あるいは大部分の遭遇する、あるいは典型的に使用されるプロセッサ又は制御回路データタイプ整列規則に違反せずにホスト及びクライアントとともに関連付けられる。
【0102】
パケットの転送の間、フィールドは最下位ビット(LSB)で最初に開始し、最後に送信される最上位ビット(MSB)で終了する。長さが2バイトを超えるパラメータは、最下位バイトを最初に使用して送信され、その結果、LSBが最初に送信されるさらに短いパラメータに使用されるように、同じビット伝送パターンが長さ8ビットを超えるパラメータに使用されることになる。各パケットのデータフィールドは、通常は以後の項に定められる順序で送信され、一覧表示されている最初のフィールドが最初に送信され、説明されている最後のフィールドは最後に送信される。MDDI_Data0信号経路でのデータは、I型、II型、III型又はIV型のどれかのモードのインタフェースで送信されるビット「0」と位置合わせさせられる。
【0103】
ディスプレイのためにデータを操作するとき、ピクセルのアレイのためのデータは、エレクトロニクス技術で従来行われるように、最初に行、次に列単位で送信される。言い換えると、ビットマップの同じ行に表示されるすべてのピクセルは、最初に送信される一番左のピクセルで、最後に送信される一番右のピクセルの順番で送信される。行の一番右のピクセルが送信された後、シーケンスの中の次のピクセルは続く行の一番左のピクセルである。他の構成も必要に応じて対処できるが、ピクセルの行は、一般的には大部分のディスプレイについて上部から下部の順で送信される。さらに、ビットマップを処理する上で、ここで従われる従来の手法は、ビットマップの一番左の角をロケーション又はオフセット「0,0」として呼ぶことによって基準点を定めることである。ビットマップの中で位置を定める、又は決めるために使用されるX座標とY座標は、それぞれビットマップの右と下部に近づくにつれて値を増す。第1行と第1列(画像の左上角)はゼロというインデックス値で始まる。X座標の大きさは画像の右側に向かって大きくなり、Y座標の大きさはディスプレイのユーザによって見られるように画像の下部に向かって大きくなる。
【0104】
ディスプレイウィンドウは、ビットマップの可視部分、つまり物理的な表示媒体上でユーザが見ることができる、ビットマップの中のピクセルの部分である。多くの場合、ディスプレイウィンドウとビットマップが同じサイズになる。ディスプレイウィンドウの左上角はつねにビットマップピクセルロケーション0,0を表示する。ディスプレイウィンドウの幅がビットマップのX軸に一致し、ディスプレイウィンドウの幅は対応するビットマップの幅未満又は幅に等しくなるものとする。ウィンドウの高さはビットマップのY軸に相当し、ディスプレイウィンドウの高さは対応するビットマップの高さ未満又は高さに等しくなるものとする。ディスプレイウィンドウ自体は、ビットマップの可視部分として定義されるに過ぎないため、プロトコルでアドレス指定可能ではない。ビットマップとディスプレイウインドウの関係は図示される。
【0105】
C.パケット定義
1.サブフレームヘッダパケット
サブフレームヘッダパケットとは、あらゆるサブフレームの最初のパケットであり、
図8に描かれるような基本構造を有する。サブフレームヘッダパケットはホスト−クライアント同期に使用され、あらゆるクライアントはこのパケットを受信し、解釈するために利用できなければならず、あらゆるホストはこのパケットを生成できなければならない。
図8で分かるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、一意ワードフィールド、確保済み1フィールド、サブフレーム長フィールド、プロトコルバージョンフィールド、サブフレームカウントフィールド、及びメディアフレームカウントフィールドを、一般的にはその順序で有するように構造化される。一実施形態では、この種のパケットは通常15359型(0x3bff16進)パケットとして識別され、パケット長フィールドを含まず、20バイトという事前に選択された固定長を使用する。
【0106】
パケットタイプフィールドと一意ワードフィールドはそれぞれ2バイト値(16ビット符号なし整数)を使用する。これらの2つのフィールドの4バイトの組み合わせは、良好な自己相関がある32ビットの一意のワードをともに形成する。一実施形態では、実施の一意のワードは0x005a3bffであり、低い方の16ビットは最初にパケットタイプとして送信され、最上位16ビットは後に送信される。
【0107】
確保済み1フィールドは、将来の使用のための確保された空間である2バイトを含み、通常この点ですべてのビットがゼロに設定された状態で構成される。このフィールドの目的は、以後の2バイトフィールドを16ビットワードアドレスに位置合わせさせ、4バイトフィールドを32ビットワードアドレスに位置合わせさせることである。最下位バイトは、ホストが複数のクライアントデバイスをアドレス指定できることを示すために確保される。ゼロという値は、ホストが単一のクライアントデバイスとのみ動作できることを示すために確保される。
【0108】
サブフレーム長フィールドは、4バイトの情報又はサブフレームあたりのバイト数を指定する値を含む。一実施形態では、このフィールドの長さは、リンクがシャットダウンされアイドル状態になる前にはただ1つのサブフレームだけがホストによって送信されることを示すためにゼロに設定されてよい。このフィールドの値は、あるサブフレームから次のサブフレームに遷移するときに「オンザフライで」動的に変更できる。この機能は、等時性のあるデータストリームに対処するために同期パルス内でマイナーなタイミング調整を行うために有効である。サブフレームヘッダパケットのCRCが有効ではない場合には、リンクコントローラは現在のサブフレームの長さを推定するために過去の公知の良好なサブフレームヘッダパケットのサブフレーム長を使用する必要がある。
【0109】
プロトコルバージョンフィールドは、ホストによって使用されるプロトコルバージョンを指定する2バイトを含む。プロトコルバージョンフィールドは、プロトコルの第1の又はカレントバージョンを、使用されているとして指定するために「0」に設定される。この値は、新しいバージョンが作成されるにつれて経時的に変化する。サブフレームカウントフィールドは、メディアフレームの開始以来送信されたサブフレーム数を示すシーケンス番号を指定する2バイトを含む。メディアフレームの第1のサブフレームは、ゼロというサブフレームカウントを有する。メディアフレームの最後のサブフレームはn−1という値を有し、nはメディアフレームあたりのサブフレーム数である。サブフレーム長が(周期的ではないサブフレームを示す)ゼロに等しく設定される場合には、サブフレームカウントもゼロに等しく設定されなければならないことに注意する。
【0110】
メディアフレームカウントフィールドは、転送中の現在のメディアアイテム又はデータの開始以来送信されたメディアフレーム数を示すシーケンス番号を指定する4バイト(32ビットの符号なし整数)を含む。メディアアイテムの第1のメディアフレームはゼロというメディアフレームカウントを有する。メディアフレームカウントは、各メディアフレームの第1のサブフレームの直前に増分し、最大メディアフレームカウント(例えば、メディアフレーム数232−1=4,294,967,295)が使用された後にゼロにラップバックする(wraps back to)。メディアフレームカウント値は、通常、エンドアプリケーションのニーズに合うようにホストによっていつでもリセットされてよい。
【0111】
2.フィラーパケット
フィラーパケットは、他の情報が、順方向リンク又は逆方向リンクどちらかで送信するために使用できないときにクライアントデバイスに、あるいはクライアントデバイスから転送されるパケットである。必要とされる時に他のパケットを送信する上で最大の柔軟性を可能にするためにフィラーパケットが最小の長さを有することが勧められる。サブフレーム又は逆方向カプセル化パケット(以下を参照されたい)のまさに最後で、リンクコントローラは残りの空間を充填し、パケット完全性を維持するためにフィラーパケットのサイズを設定する。フィラーパケットは、ホスト又はクライアントが送信又は交換する情報がないときにリンク上でタイミングを維持するために有効である。あらゆるホスト及びクライアントは、インタフェースを効果的に使用するためにこのパケットを送信し、受信できる必要がある。
【0112】
フィラーパケットのフォーマット及びコンテンツは
図9に図示される。
図9に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、フィラーバイトパケット及びCRCフィールドを有するように構造化される。一実施形態では、この種のパケットは通常、2バイトのタイプフィールドに示される0型として識別される。フィラーバイトフィールド内のビット又はバイトはフィラーパケットを所望される長さとできるように、可変数のすべてのゼロビット値を備える。最小フィラーパケットはこのフィールドにバイトを含まない。つまり、パケットはパケット長、パケットタイプ及びCRCだけからなり、一実施形態では、6バイトという事前に選択された固定長又は4というパケット長値を使用する。CRC値はパケット長を含むパケット内のすべてのバイトについて決定され、他のいくつかのパケットタイプでは除外されてよい。
【0113】
3.ビデオストリームパケット
ビデオストリームパケットは、ディスプレイ装置の通常は矩形の領域を更新するためにビデオデータを搬送する。この領域のサイズはただ1個のピクセルほど小さい、あるいはディスプレイ全体ほど大きくてもよい。ストリームを表示するために必要とされるすべてのコンテキストはビデオストリームパケット内に含まれるため、システム資源によって制限される、同時に表示されるストリームの数はほぼ無制限であってよい。ビデオストリームパケットの一実施形態のフォーマット(ビデオデータフォーマット記述子)は
図10に示される。
図10に示されるように、一実施形態では、この種のパケットはパケット長(2バイト)フィールド、パケットタイプフィールド、bClient IDフィールド、ビデオデータ記述子フィールド、ピクセル表示属性フィールド、X左端フィールド、Y上端フィールド、X右端フィールド、Y下部端縁フィールド、X開始フィールドとY開始フィールド、ピクセルカウントフィールド、パラメータCRCフィールド、ピクセルデータフィールド、及びCRCフィールドを有するように構造化される。この種のパケットは一般的には、2バイトのタイプフィールドに示されるタイプ16として識別される。一実施形態では、クライアントは、表示能力パケットのRGBフィールド、白黒フィールド、及びY Cr Cb機能フィールドを使用してビデオストリームパケットを受信する能力を示す。
【0114】
一実施形態では、bClient IDフィールドはクライアントIDに確保される2バイトの情報を含む。これは新規に開発された通信プロトコルであるので、実際のクライアントIDはまだ知られていないか、あるいは十分に容易に伝達できない。従って、このフィールド内のビットは、当業者に明らかとなるように、このようなID値が知られ、その時点でID値を挿入又は使用できるようになるまで通常ゼロに等しく設定される。
【0115】
前述された共通フレームの概念は、音声バッファサイズを最小限に抑え、待ち時間を減少するための効果的な方法である。しかしながら、ビデオデータの場合、メディアフレーム内で1つのビデオフレームのピクセルを複数のビデオストリームパケットの中で広げることが必要となる場合がある。また、単一のビデオストリームパケット内のピクセルがディスプレイ上の完全に矩形のウィンドウに正確に一致しない可能性もある。毎秒30コマという例示的なビデオフレームレートの場合、毎秒300のサブフレームがあり、1メディアフレームあたり10のサブフレームを生じさせる。各フレームに48行のピクセルがある場合には、各サブフレーム内の各ビデオストリームパケットは48行のピクセルを含むであろう。他の状況では、ビデオストリームパケットは整数行のピクセル行を含まない可能性がある。これは、メディアフレームあたりのサブフレーム数が、1ビデオフレームあたりの行数(ビデオ行とも呼ばれる)に均等に分けられない、他のビデオフレームサイズに当てはまる。各ビデオストリームパケットは、それが整数行のピクセルを含まない可能性もあるが、通常整数のピクセルを含まなければならない。これはピクセルがそれぞれ複数バイトである場合に、あるいはそれらが
図12に図示されるようなパックされたフォーマットである場合重要である。
【0116】
例示的なビデオデータ記述子フィールドの演算を実現するために利用されるフォーマット及びコンテンツは、前述されたように、
図11aから
図11dに示されている。
図11aから
図11dでは、ビデオデータフォーマット記述子フィールドは本パケットの中の本ストリームのピクセルデータ内の各ピクセルのフォーマットを指定する16ビットの符号なし整数の形を取る2バイトを含む。さまざまなビデオストリームパケットはさまざまなピクセルデータフォーマットを使用してよい、つまりビデオデータフォーマット記述子内の別の値を使用してよく、同様にストリーム(ディスプレイの領域)はそのデータフォーマットを「オンザフライで」変更してよい。ピクセルデータフォーマットは、表示能力パケットに定められるようにクライアントにとって有効なフォーマットの少なくとも1つに準拠しなければならない。ビデオフォーマット記述子は、ある特定のビデオストリームの存続期間中に一定のフォーマットが使用され続けることを暗示しない本パケット専用のピクセルフォーマットを定義する。
【0117】
図11aから
図11dは、ビデオデータフォーマット記述子がどのようにコード化される(coded)のかを示す。これらの図に使用されるように、及びこの実施形態においてのように、
図11aに示されるようにビット「15:13」が「000」に等しいときは、ビデオデータは、ピクセルあたりのビット数はビデオデータフォーマット記述子ワードのビット3から0によって定義される白黒ピクセルのアレイからなる。ビット11から4は、通常、将来の使用又は用途のために確保され、この状況ではゼロに設定される。
図11bに示されるように、ビット[15:13]が代わりに「001」に等しいときには、ビデオデータは、それぞれがカラーマップ(パレット)を通して色を指定するカラーピクセルのアレイからなる。この状況では、ビデオデータフォーマット記述子ワードのビット5から0は、1ピクセルあたりのビット数を定め、ビット11から6は通常将来の使用又は用途のために確保され、ゼロに等しく設定される。
図11cに示されるように、ビット[15:13]が代わりに「010」に等しいときには、ビデオデータは赤の1ピクセルあたりのビット数がビット11から8によって定められるカラーピクセルのアレイからなり、緑の1ピクセルあたりのビット数はビット7から4によって定められ、青の1ピクセルあたりのビット数はビット3から0によって定められる。この状況では、各ピクセルのビット総数は赤、緑及び青に対して使用されるビット数の合計である。
【0118】
しかしながら、
図11dに示されるように、ビット[15:13]が代わりに「011」に等しいときには、ビデオデータは、輝度とクロミナンスの情報がある4:2:2のYCbCrフォーマットのビデオデータのアレイからなり、この場合輝度(Y)の1ピクセルあたりのビット数はビット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等と関連付けられる。
【0119】
Yn、Yn+1、Yn+2、及びYn+3は、左から右へ単一行で4個の連続ピクセルの輝度値である。本発明はこのフォーマットに制限されないが、色成分の順序付けは通常マイクロソフト社(Microsoft Corporation)によってそのソフトウェアで使用されるUYVY FOURCEフォーマットと同じフォーマットで選ばれる。ビデオストリーム亜Pケットによって参照されるウィンドウ内の行(X右端縁−X左端縁+1)に奇数のピクセルがある場合、各行の最後のピクセルに相当するY値の後には次の行の最初のピクセルのCb値が続き、Cr値は行の中の最後のピクセルのために送信されない。Y Cb Crフォーマットを使用するウィンドウが偶数のピクセルである幅を有することが勧められる。パケット内のピクセルデータは偶数のピクセルを含まなければならない。ピクセルデータの最後のピクセルがビデオストリームパケットヘッダ内で指定されるウィンドウの中の行の最後のピクセルに一致する場合には、つまりピクセルデータの中の最後のピクセルのXロケーションがX右端縁に等しいときにはそれは奇数又は偶数のピクセルを含んでよい。
【0120】
ビット[15:13]が代わりに「100」に等しいとき、ビデオデータは1ピクセルあたりのビット数がビデオデータフォーマット記述子ワードのビット3から0によって定められるバイヤー(Bayer)ピクセルのアレイからなる。ピクセルパターンはError!Reference source not found(エラー!参照ソースが検出されない)(バイヤー)に図示されるように、ビット5と4で定義される。ピクセルデータの順序は水平又は垂直であってよく、行又は列の中のピクセルは順方向又は逆方向の順序で送信されてよく、Error!Reference source not found(エラー!参照ソースが検出されない)に示されるようにビット8から6で定められる。ビット11から9はゼロに設定されなければならない。
【0121】
図に示される4つのすべてのフォーマットの場合、「P」として示されるビット12はピクセルデータサンプルがパックされるかどうか、又はバイト位置合わせされたピクセルデータであるかどうかを指定する。このフィールドの「0」という値は、ピクセルデータフィールドの各ピクセルがMDDインタフェースバイト境界とバイト位置合わせされることを示す。「1」という値は、ピクセルデータの各ピクセル及び各ピクセル内の各色が未使用のビットを残していないピクセルの中の過去のピクセル又は色と対照して詰め込まれる(packed up)ことを示す。
【0122】
ある特定のディスプレイウィンドウのメディアフレームの第1のビデオストリームパケットの中の第1のピクセルは、X左端縁とY上端縁により形成されるストリームウィンドウの左上角に入り、受信される次のピクセルは同じ行等の次のピクセルロケーションに配置される。メディアフレームのこの第1のパケット、つまりX開始値は通常X左端縁に等しく、Y開始値は通常Y上端縁に等しい。同じ画面ウィンドウに対応する以後のパケットでは、X開始値とY開始値は通常、過去のサブフレーム内で送信されたビデオストリームパケットで送信される最後のピクセルの後に続く、画面ウィンドウ内のピクセルロケーションに設定される。
【0123】
4.音声ストリームパケット
音声ストリームパケットは、クライアントの音声システムを通して、あるいはスタンドアロン音声プレゼンテーションデバイスのために再生される音声データを搬送する。さまざまな音声データストリームは、使用されている音声システムのタイプに応じて、例えば、左前、右前、中心、左後ろ、及び右後ろなどのサウンドシステムの別々の音声チャネルに割り当てられてよい。音声チャネルの完全な補完は、改善された空間−音響信号処理を含むヘッドセットのために提供される。クライアントは、表示能力パケットの音声チャネル機能フィールドと音声サンプルレートフィールドを使用して音声ストリームパケットを受信する能力を示す。音声ストリームパケットのフォーマットは
図13に描かれる。
【0124】
図13に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、bClient IDフィールド、音声チャネルIDフィールド、確保1フィールド、音声サンプルカウントフィールド、サンプル及びパッキングあたりビットフィールド、音声サンプルレートフィールド、パラメータCRCフィールド、デジタル音声データフィールド、及び音声データCRCフィールドを有するように構造化される。一実施形態では、この種のパケットは通常タイプ32パケットとして識別される。
【0125】
bClient IDフィールドは過去に使用されたように、クライアントIDのために確保される2バイトの情報を含む。確保される1フィールドは、将来の使用のために確保される2バイトを含み、すべてのビットがゼロに設定され、通常この点で構成される。
【0126】
1サンプル及びパッキングあたりビットフィールドは音声データのパッキングフォーマットを指定する8ビット符号なし整数の形で1バイトを含む。通常利用されるフォーマットは、1PCM音声サンプルあたりのビット数を定めるためのビット4から0である。次に、ビット5はデジタル音声データサンプルがパッキングされるかどうかを指定する。パッキングされたサンプルとバイト位置合わせされた音声サンプルの差異は
図14に描かれている。「0」という値は、デジタル音声データフィールド内の各PCM音声サンプルがMDDIインタフェースバイト境界とバイト位置あわせされていることを示し、「1」という値は、各連続PCM音声サンプルが過去の音声サンプルに照らし合わせて詰め込まれることを示す。このビットは、通常、ビット4から0に定められる値(1PCM音声サンプルあたりのビット数)が8の倍数ではないときにだけ効果的である。ビット7から6は、将来の使用のために確保され、一般的にはゼロという値で設定される。
【0127】
5.確保ストリームパケット
一実施形態では、パケットタイプ1から15、18から31、及び33から55は、遭遇される多様な応用例について所望されるように、パケットプロトコルの将来のバージョン又は変形で使用するために定められるストリームパケットに確保される。再び、これは、他の技術に比較してつねに絶え間なく変わる技術とシステム設計に直面して、MDIインタフェースをさらに柔軟に、有効にすることの一部である。
【0128】
6.ユーザによって設定されるストリームパケット
タイプ56からタイプ63として知られている8つのデータストリームタイプが、MDDIリンクとともに使用するために装置の製造メーカによって定義されてよい独自仕様のアプリケーションでの使用に確保される。これらは、ユーザ定義ストリームパケットとして公知である。このようなパケットは任意の目的に使用されてよいが、ホストとクライアントはこのような使用の結果が非常によく理解されるあるいは公知である状況だけでこのようなパケットを使用しなくてはならない。これらのパケットタイプのストリームパラメータ及びデータの特定の定義はこのようなパケットタイプを実現する、あるいはその使用を追及する特定の装置製造メーカに委ねられる。ユーザ定義ストリームパケットのいくつかの例示的な使用は、試験パラメータ及び試験結果、工場校正データ、及び独自仕様の特殊使用データを伝達することである。一実施形態において使用されるユーザによって設定されるストリームパケットのフォーマットは
図15に描かれている。
図15に示されるように、この種のパケットは、パケット長(2バイト)フィールド、パケットタイプフィールド、bClient ID番号フィールド、ストリームパラメータフィールド、パラメータCRCフィールド、ストリームデータフィールド及びストリームデータCRCフィールドを有するように構造化される。
【0129】
7.カラーマップパケット
カラーマップパケットは、クライアントのための色を提示するために使用されるカラーマップルックアップテーブルのコンテンツを指定する。単一のパケットで送信できるデータ量より多いカラーマップを必要とする応用例もある。これらのケースでは、複数のカラーマップパケットが転送されてよく、それぞれが後述されるオフセットフィールドと長さフィールドを使用することによりカラーマップの別のサブセットを備える。一実施形態のカラーマップパケットのフォーマットは
図16に描かれている。
図16に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、bClientIDフィールド、カラーマップアイテムカウントフィールド、カラーマップオフセットフィールド、パラメータCRCフィールド、カラーマップデータフィールド及びデータCRCフィールドを有するように構造化される。一実施形態では、この種のパケットは、通常、パケットタイプフィールド(2バイト)に指定されるようにタイプ64パケット(ビデオデータフォーマットとカラーマップパケット)として識別される。クライアントは、表示能力パケットのカラーマップサイズフィールドとカラーマップ幅フィールドを使用してカラーマップパケットを受信する能力を示す。
【0130】
8.逆方向リンクカプセル化パケット
例示的な実施形態では、データは逆方向リンクカプセル化パケットを使用して逆方向に転送される。順方向リンクパケットは送信され、MDDIリンク動作(転送方向)は、パケットを逆方向で送信できるように変更される、又はこのパケットの真中あたりで回転される。一実施形態における逆方向リンクカプセル化パケットのフォーマットは
図17に描かれている。
図17に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、hCLient IDフィールド、逆方向リンクフラグフィールド、逆方向レート除数フィールド、ターンアラウンド1長フィールド、ターンアラウンド2長フィールド、パラメータCRCフィールド、全ゼロ1フィールド、ターンアラウンド1フィールド、逆方向データパケットフィールド、全ゼロ2フィールド、ターンアラウンド2フィールド、及びドライバ再イネーブルフィールドを有するように構造化される。この種のパケットは、通常、タイプ65パケットとして識別される。外部モードの場合、あらゆるホストがこのパケットを生成し、データを受信できなければならず、あらゆるクライアントがデータを受信し、データをホストに送信できなければならない。このパケットのインプリメンテーションは内部モードのためにオプションである。
【0131】
MDDIリンクコントローラは、逆方向リンクカプセル化パケットを送信中に特別に動作する。MDDIインタフェースはつねにリンクのコントローラであるホストによって駆動されるストローブ信号を有する。ホストは、それが逆方向リンクカプセル化パケットのターンアラウンドパケット又は逆方向データパケットの部分のビットごとにゼロを送信するかのように動作する。ホストは、各ビット境界で、2回のターンアラウンドの間、及び逆方向データパケットに割り当てられる時間の間、MDDI_Strobe信号をトグルする。(これは、あたかもそれが全ゼロデータを送信しているかと同じ動作である)。ホストはそのMDDIデータ信号線ドライバを、ターンアラウンド1で指定される期間の間にディスエーブルし、クライアントがターンアラウンド2フィールドによって指定される期間の後に続くドライバ再イネーブルフィールドの間でそのラインドライバを再イネーブルする。クライアントは、ターンアラウンド長パラメータを読み取り、ターンアラウンド1フィールドの最後のビットの直後にホストに向かってデータ信号を駆動する。つまり、クライアントは以下のパケットコンテンツ説明、及び他のどこかで指定されるようなMDDIストローブの特定の立ち上がりでリンクに新しいデータを記録する(clocks)。クライアントは、それがホストにパケットを送信するために使用できる時間の長さを知るためにパケット長パラメータとターンアラウンド長パラメータ長を使用する。クライアントは、ホストに送信するデータがない場合には、フィラーパケットを送信するか、あるいはデータラインをゼロ状態に駆動してよい。データラインがゼロに駆動されると、ホストはこれをゼロ長(有効ではない長さ)のパケットとして解釈し、ホストは現在の逆方向リンクカプセル化パケットの期間中クライアントからこれ以上パケットを受け入れない。
【0132】
ホストは全ゼロ1フィールドの間MDDI_Data信号を論理ゼロレベルに駆動し、クライアントは、ターンアラウンド2フィールドの開始前の少なくとも1逆方向リンククロック期間の間、つまり全ゼロ2フィールド期間の間、MDDIデータラインを論理ゼロレベルに駆動する。これによりデータラインはターンアラウンド1フィールド期間とターンアラウンド2フィールド期間中決定論的状態に保たれる。クライアントにこれ以上送信するパケットがない場合には、ハイバネーションバイアスレジスタ(他の個所で説明される)がデータラインを逆方向データパケットフィールドの残りの間、つまり約16の順方向リンクバイト以上の間論理ゼロレベルに保つため、それは論理ゼロレベルにそれらを駆動した後にデータラインをディスエーブルしてもよい。
【0133】
一実施形態では、表示要求及びステータスパケットの逆方向リンク要求フィールドが、クライアントがホストにデータを送り返すために逆方向リンクカプセル化パケットで必要とするバイト数をホストに知らせるために使用されてよい。ホストは逆方向リンクカプセル化パケットで少なくともそのバイト数を割り当てることによって要求を許可しようとする。ホストはサブフレーム内で複数の逆方向リンクカプセル化パケットを送信してよい。ディスプレイはほぼつねに表示要求及びステータスパケットを送信してよく、ホストは1個のサブフレームで要求されるバイト総数として逆方向リンク要求パラメータを解釈する。
【0134】
9.表示能力パケット
ホストは、一般的に最適な又は所望される方法でホスト対クライアントリンクを構成するためにそれが通信しているクライアント(ディスプレイ)の機能を知る必要がある。ディスプレイが、順方向リンク同期が取得された後にホストに表示能力パケットを送信することが勧められる。このようなパケットの伝送は、逆方向リンクカプセル化パケットで逆方向リンクフラグを使用するホストによって要求されるときに必要と見なされる。表示能力パケットは、ホストにディスプレイの機能を知らせるために使用される。外部モードの場合、あらゆるホストはこのパケットを受信できなければならず、あらゆるディスプレイはこのインタフェースとプロトコルを完全に活用するためにこのパケットを送信できなければならない。このパケットのインプリメンテーションは、製造又は何らかの種類の単一の構成部品又はユニットに組み込まれる時点でディスプレイの機能はすでに明確でなければならず、ホストに公知でなければならないため、内部モードにとってはオプションである。
【0135】
一実施形態における表示能力パケットのフォーマットは、
図18に描かれている。
図18に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、プロトコルバージョンフィールド、最小プロトコルバージョンフィールド、ビットマップ幅フィールド、ビットマップ高さフィールド、白黒機能フィールド、カラーマップ機能フィールド、RGB機能フィールド、Y Cr Cb機能フィールド、表示特徴能力フィールド、データレート機能フィールド、フレームレート機能フィールド、音声バッファ深度フィールド、音声ストリーム機能フィールド、音声レート機能フィールド、最小サブフレームレートフィールド、及びCRCフィールドを有するように構造化される。例示的な実施形態では、この種のパケットは通常、66型タイプとして認識される。
【0136】
10.キーボードデータパケット
キーボードデータパケットは、クライアントデバイスからホストにキーボードデータを送信するために使用される。無線(又は有線)キーボードは、ヘッドマウント式ビデオディスプレイ/音声プレゼンテーションデバイスを含むが、これらに限定されない多様なディスプレイ又は音声デバイスとともに使用されてよい。キーボードデータパケットは複数の公知のキーボード状のデバイスの1つから受信されたキーボードデータをホストに中継する。このパケットはキーボードにデータを送信するために順方向で使用することもできる。クライアントは、表示能力パケットの中のキーボードデータフィールドを使用してキーボードデータパケットを送受する能力を示す。
【0137】
キーボードデータパケットのフォーマットは
図19に示され、キーボードからの又はキーボードのための可変長のバイトの情報を含む。
図19に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、bClient IDフィールド、キーボードデータフォーマットフィールド、キーボードデータフィールド及びCRCフィールドを有するように構造化される。ここでは、この種のパケットは通常タイプ67パケットとして識別される。
【0138】
bClient IDは、前述されたように確保されたフィールドであり、CRCがパケットの全バイトで実行される。キーボードデータフォーマットフィールドは、キーボードデータフォーマットを記述する2バイトの値を含む。ビット6から0は、表示能力パケットのキーボードデータフォーマットフィールドと同一でなければならない。この値は127に等しくない。ビット15から7は将来の使用のための確保されるため、現在はゼロに設定されている。
【0139】
11.ポインティングデバイスデータパケット
ポインティングデバイスデータパケットは、ディスプレイからホストへ、無線マウス又は他のポインティングデバイスからの位置情報を送信するために使用される。データは、このパケットを使用して順方向リンクでもポインティングデバイスに送信できる。ポインティングデバイスデータパケットの例示的なフォーマットは
図20に示され、ポインティングデバイスからの又はポインティングデバイスのための可変数のバイトの情報を含む。
図20に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、ポインティングデバイスデータフィールド、及びCRCフィールドを有するように構造化される。例示的な実施形態では、この種のパケットは通常1バイトタイプフィールドのタイプ68パケットとして識別される。
【0140】
12.リンクシャットダウンパケット
リンクシャットダウンパケットは、MDDIデータとストローブがシャットダウンされ、低電力消費「ハイバネーション」状態に入ることを示すためにホストからクライアントディスプレイに送信される。このパケットは、静的ビットマップが移動体通信装置からディスプレイに送信された後、あるいは当面ホストからクライアントに転送する追加の情報がないときに、リンクをシャットダウンし、節電するために有効である。通常の動作は、ホストがパケットを再び送信すると再開される。ハイバネーション後に送信される最初のパケットがサブフレームヘッダパケットである。表示ステータスパケットのフォーマットは、
図21に示される。
図21に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、及びCRCフィールドを有するように構造化される。一実施形態においては、この種のパケットは、通常1バイトタイプフィールドのタイプ69パケットとして識別され、事前に選択された固定長の3バイトを使用する。
【0141】
低電力ハイバネーション状態では、MDDI_Dataドライバが高インピーダンス状態にディスエーブルされ、MDDI_Data信号が、ディスプレイによって無効にできる高インピーダンスバイアスネットワークを使用して論理ゼロ状態に引かれる。インタフェースによって使用されるストローブ信号は、電力消費を最小限に抑えるためにハイバネーション状態で論理ゼロレベルに設定される。ホスト又はクライアントのどちらかによって、MDDIリンクは、他の個所に説明されるような、本発明にとっての重要な進歩であり、本発明の利点であるハイバネーション状態から「ウェークアップ」する。
【0142】
13.表示要求及びステータスパケット
ホストは、一般的に最適にホスト対ディスプレイリンクを構成できるように、ディスプレイから少量の情報を必要とする。ディスプレイが1つのディスプレイステータスパケットをホストの各サブフレームに送信することが勧められる。ディスプレイは、逆方向リンクカプセル化パケット内の第1のパケットとして、それが確実にホストに配信されることを確実にするためにこのパケットを送信する必要がある。ディスプレイステータスパケットのフォーマットは
図22に示されている。
図22に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、逆方向リンク要求フィールド、CRCエラーカウントフィールド及びCRCフィールドを有するように構造化される。この種のパケットは一般的には1バイトタイプフィールドのタイプ70パケットとして通常識別され、8バイトの事前に選択された固定長を使用する。
【0143】
逆方向リンク要求フィールドは、ホストにデータを送り返すために逆方向リンクカプセル化パケットでディスプレイが必要とするバイト数をホストに知らせるために使用されてよい。ホストは、逆方向リンクカプセル化パケットの中の少なくともそのバイト数を割り当てることによって要求を許可しようとする。ホストは、データを収容するためにサブフレーム内の複数の逆方向リンクカプセル化パケットを送信してよい。クライアントはいつでも表示要求及びステータスパケットを送信してよく、ホストは1つのサブフレームで要求されるバイトの総数として逆方向リンク要求パラメータを解釈する。逆方向リンクデータがホストにどのようにして送り返されるのか追加の詳細及び特殊な例は以下に示される。
【0144】
14.ビットブロック転送パケット
ビットブロック転送パケットは、任意の方向でディスプレイの領域をスクロールするための手段を提供する。この機能を有するディスプレイは、表示能力パケットの表示特徴能力インジケータフィールドのビット0で機能を報告する。ビットブロック転送パケットのフォーマットは
図23に示される。
図23に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、上部左X値フィールド、上部左Y値フィールド、ウィンドウ幅フィールド、ウィンドウ高さフィールド、ウィンドウX移動フィールド、ウィンドウY移動フィールド及びCRCフィールドを有するように構造化される。この種のパケットは通常タイプ71パケットとして識別され、15バイトという事前に選択される固定長を使用する。
【0145】
フィールドは、移動されるウィンドウの左上角の座標のX値とY値、移動されるウィンドウの幅と高さ、及びウィンドウがそれぞれ水平に及び垂直に移動されるピクセル数を指定するために使用される。後者の2つのフィールドの正の値により、ウィンドウを右及び下に移動させ、負の値がそれぞれ左及び上への移動を引き起こす。
【0146】
15.ビットマップ領域塗りつぶしパケット
ビットマップ領域塗りつぶしパケットは、ディスプレイの領域を単一の色に容易に初期化するための手段となる。この機能を有するディスプレイは、表示能力パケットの表示特徴能力インジケータフィールドのビット1で機能を報告する。ビットマップ領域塗りつぶしパケットのフォーマットは
図24に示されている。
図24に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、上部左X値フィールド、上部左Y値フィールド、ウィンドウ幅フィールド、ウィンドウ高さフィールド、データフォーマット記述子フィールド、ピクセル領域塗りつぶし値フィールド、及びCRCフィールドを有するように構造化される。この種のパケットは通常1バイトタイプフィールドでタイプ72パケットとして識別され、17バイトという事前に選択された固定長を使用する。
【0147】
16.ビットマップパターン塗りつぶしパケット
ビットマップパターン塗りつぶしパケットは、事前に選択されたパターンにディスプレイの領域を容易に初期化する手段となる。この機能を有するディスプレイは、表示能力パケットの表示特徴能力インジケータフィールドのビット2で機能を報告する。塗りつぶしパターンの左上角は、塗りつぶされるウィンドウの左上角と位置合わせされている。塗りつぶされるウィンドウが塗りつぶしパターンより幅広い又は背が高い場合には、パターンはウィンドウを塗りつぶすために水平に又は垂直に数回繰り返されてよい。最後に繰り返されるパターンの右又は下部は必要に応じて切り捨てられる。ウィンドウが塗りつぶしパターンより小さい場合には、ウィンドウに適合するために塗りつぶしパターンの右側又は底部が切り捨てられてよい。
【0148】
ビットマップパターン塗りつぶしパケットのフォーマットは
図25に図示される。
図25に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、上部左X値フィールド、上部左Y値フィールド、ウィンドウ幅フィールド、ウィンドウ高さフィールド、パターン幅フィールド、パターン高さフィールド、データフォーマット記述子フィールド、パラメータCRCフィールド、パターンピクセルデータフィールド、及びピクセルデータCRCフィールドを有するように構造化される。この種のパケットは通常1バイトタイプフィールドでタイプ73パケットとして識別される。
【0149】
17.通信リンクデータチャネルパケット
通信リンクデータチャネルパケットは、携帯電話又は無線データポートデバイスなどの無線トランシーバと通信するために、PDAなどの高レベル計算能力を備えたディスプレイ用の手段となる。この状況では、MDDIリンクは、通信装置とモバイルディスプレイ付きの計算装置の間の便利な高速インタフェースとして働いており、その場合このパケットはデバイス用のオペレーティングシステムのデータリンクでデータをトランスポートする。例えば、このパケットは、ウェブブラウザ、eメールクライアント、又はPDA全体がモバイルディスプレイに組み込まれると使用できるであろう。この機能を有するディスプレイは、表示能力パケットの表示特徴能力インジケータフィールドのビット3で機能を報告する。
【0150】
通信リンクデータチャネルパケットのフォーマットは
図26に示されている。
図26に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、パラメータCRCフィールド、通信リンクデータフィールド、及び通信データCRCフィールドを有するように構造化される。この種のパケットは通常タイプフィールドでタイプ74パケットとして識別される。
【0151】
18.インタフェースタイプハンドオフ要求パケット
インタフェースタイプハンドオフ要求パケットによって、ホストはクライアント又はディスプレイが既存のモード又はカレントモードからI型(直列)、II型(2ビット並列)、III型(4ビット並列)、又はIV型(8ビット並列)モードにシフトすることを要求できるようにする。ホストは、特定のモードを要求する前に、表示能力パケットの表示特徴能力インジケータフィールドのビット6と7を調べることによって、ディスプレイが所望されるモードで動作できることを確認する必要がある。インタフェースタイプハンドオフ要求パケットのフォーマットは
図27に示される。
図27に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、インタフェースタイプフィールド、及びCRCフィールドを有するように構造化される。この種のパケットは、通常タイプ75パケットとして識別され、4バイトという事前に選択された固定長を使用する。
【0152】
19.インタフェースタイプ肯定応答パケット
インタフェースタイプ肯定応答パケットは、インタフェースタイプハンドオフパケットの受領を確認するためにディスプレイによって送信される。要求されるモード、I型(直列)、II型(2ビット並列)、III型(4ビット並列)、又はIV型(8ビット並列)モードはこのパケットの中のパラメータとしてホストにエコーバックされる。インタフェースタイプ肯定応答パケットのフォーマットは
図28に示される。
図28に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、インタフェースタイプフィールド、及びCRCフィールドを有するように構造化される。この種のパケットは、一般的にはタイプ76パケットとして識別され、4バイトという事前に選択された固定長を使用する。
【0153】
20.実行型ハンドオフパケット
実行型ハンドオフパケットは、このパケットに指定されるモードにハンドオフするようにホストがディスプレイに命令するための手段である。これは、インタフェースタイプハンドオフ要求パケットとインターネットタイプ肯定応答パケットによって過去に要求され、肯定応答されたのと同じモードでなければならない。ホストとディスプレイはこのパケットが送信された後に合意されたモードに切り替わる必要がある。ディスプレイはモード変更の間にリンク同期を失い、取得し直す可能性がある。実行型ハンドオフパケットのフォーマットは
図29に示される。
図29に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、及びCRCフィールドを有するように構造化される。この種のパケットは通常1バイトタイプフィールドでタイプ77パケットとして識別され、4バイトという事前に選択された固定長を使用する。
【0154】
21.順方向音声チャネルイネーブルパケット
このパケットにより、ホストはディスプレイ内の音声チャネルをイネーブル又はディスエーブルできる。この機能は有効であるため、ディスプレイ(クライアント)はホストによって出力される音声がない時には電力を節約するために音声増幅器又は類似する回路要素をオフに切り替えることができる。これは、インジケータとして音声ストリームの存在又は不在を使用するだけで暗示的に実現するためには著しく困難である。ディスプレイシステムの電源投入時のデフォルト状態は、すべての音声チャネルがイネーブルされることである。順方向音声チャネルイネーブルパケットのフォーマットは
図30に示される。
図30に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、音声チャネルイネーブルマスクフィールド、及びCRCフィールドを有するように構造化される。この種のパケットは通常1バイトタイプフィールドでタイプ78パケットとして識別され、4バイトという事前に選択された長さを使用する。
【0155】
22.逆方向音声サンプルレートパケット
このパケットにより、ホストは、逆方向リンク音声チャネルをイネーブル又はディスエーブルし、このストリームの音声データサンプルレートを設定できる。ホストは表示能力パケットで有効であると定められるサンプルレートを選択する。ホストが無効サンプルレートを選択すると、ディスプレイは音声ストリームをホストに送信しないであろう。ホストはサンプルレートを255に設定することにより逆方向リンク音声ストリームをディスエーブルしてよい。ディスプレイシステムが初期に電源投入される、又は接続されるトきに想定されるデフォルト状態では、逆方向リンク音声ストリームはディスエーブルされている。逆方向音声サンプルレートパケットのフォーマットは
図31に示される。
図31に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、音声サンプルレートフィールド、及びCRCフィールドを有するように構造化される。この種のパケットは普通タイプ79パケットとして識別され、4バイトという事前に選択された固定長を使用する。
【0156】
23.デジタルコンテンツ保護オーバヘッドパケット
このパケットにより、ホストとディスプレイは使用されているデジタルコンテンツ保護方法に関連するメッセージを交換できる。現在では、2種類のコンテンツ保護、つまりデジタル伝送コンテンツ保護(DTCP)又は広帯域幅デジタルコンテンツ保護システム(HDCP)が意図され、将来の代替保護方式指定のために余地が確保されている。使用されている方法は、このパケットのコンテンツ保護タイプパラメータによって指定される。デジタルコンテンツ保護オーバヘッドパケットのフォーマットは、
図32に示される。
図32に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、コンテンツ保護タイプフィールド、コンテンツ保護オーバヘッドメッセージフィールド、及びCRCフィールドを有するように構造化される。この種のパケットは通常タイプ80パケットとして識別される。
【0157】
24.透明色イネーブルパケット
透明色イネーブルパケットは、ディスプレイにおいてどの色が透明であるのかを指定するため、及び画像を表示するために透明色の使用をイネーブルする又はディスエーブルするために使用される。この機能を有するディスプレイは、表示能力パケットの表示特徴能力インジケータフィールドのビット4でその機能を報告する。透明色の値を持つピクセルがビットマップに書き込まれると、色は過去の値から変化しない。透明色イネーブルパケットのフォーマットは
図33に示される。
図33に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、透明色イネーブルフィールド、データフォーマット記述子フィールド、透明ピクセル値フィールド、及びCRCフィールドを有するように構造化される。この種のパケットは、通常1バイトタイプフィールドのタイプ81パケットとして識別され、10バイトの事前に選択された固定長を使用する。
【0158】
25.往復遅延測定パケット
往復遅延測定パケットは、クライアント(ディスプレイ)からホストに戻るまでの遅延を加えた、ホストからクライアント(ディスプレイ)までの伝搬遅延を測定するために使用される。この測定値は本来ラインドライバとラインレシーバ、及び相互接続サブシステムに存在する遅延を含む。この測定値は、一般的に前述されたように、逆方向リンクカプセル化パケットの中のターンアラウンド遅延パラメータ及び逆方向リンクレート除数パラメータを設定するために使用される。このパケットは、特定の応用例向けにMDDIリンクが最大速度で実行しているときに最も有効である。MDDI_Stb信号は、全ゼロデータが以下のフィールドの間に送信されているかのように動作する。つまり、全ゼロ、ガード回数と測定期間の両方である。これによりMDDI_Stbは、それが測定期間中のディスプレイの周期クロックとして使用できるようにデータレートの半分でトグルする。
【0159】
往復遅延測定パケットのフォーマットは
図34に示される。
図34に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、パラメータCRCフィールド、全ゼロフィールド、ガード時間1フィールド、測定期間フィールド、ガード時間2フィールド、及びドライバ再イネーブルフィールドを有するように構造化される。この種のパケットは、通常、タイプ82パケットとして識別され、533ビットという事前に選択された固定長を使用する。
【0160】
往復遅延測定パケットの間に発生するイベントのタイミングが
図35に示される。
図35では、ホストは、全ゼロフィールドとガード時間1フィールドが後に続く、パラメータCRCフィールドとストローブ位置合わせフィールドの存在により示される往復遅延測定パケットを送信する。遅延3502は、パケットがクライアントディスプレイ装置又は処理回路網に達する前に発生する。ディスプレイはパケットを受信すると、ディスプレイによって決定されるような測定期間の始まりに可能な限り実際的に0xff、0xff、0x0パターンを送信する。ディスプレイがこのシーケンスを送信し始める実際の時間は、ホストの観点からの測定期間の始まりから遅延する。実質的には、この遅延量が、パケットがラインドライバとラインレシーバ及び相互接続サブシステムを通って伝搬するのに要する時間である。類似する遅延量3504は、ディスプレイからホストに伝搬し直されるパターンについて発生する。
【0161】
クライアントに、及びクライアントから行き来する信号の往復遅延時間を正確に求めるために、ホストは測定期間の開始後、0xff、0xff、0x0シーケンスの始まりが到着時に検出されるまで発生するビット期間の数をカウントする。この情報は、往復信号がホストからクライアントに、及び再び戻るための時間量を求めるために使用される。それからこの量の約2分の1は信号のクライアントへの片道通過のために生じる遅延に起因する。
【0162】
ディスプレイは、そのラインドライバを実質的に0xff、0xff、0x0パターンの最後のビットを送信した直後にディスエーブルする。ガード時間2によりディスプレイのラインドライバが、ホストが次のパケットのパケット長を送信する前の高インピーダンス状態に完全になるための時間を可能にする。ハイバネーションプルアップ抵抗とプルダウン抵抗(
図42を参照されたい)は、MDDI_Data信号が、ラインドライバがホストとディスプレイの両方でディスエーブルされる間隔で有効な低レベルに保持されることを確実にする。
【0163】
26.順方向リンク歪み校正パケット
順方向リンク歪み構成パケットにより、クライアント又はディスプレイはMDDI_Stb信号に関してMDDI_Data信号の伝搬遅延の差異についてそれ自体を校正できるようにする。遅延歪み補償を行わないと、最大データレートは通常これらの遅延の潜在的な最悪の変動を考慮するために制限される。一般的には、このパケットは順方向リンクデータレートが約50Mbps以下の速度に構成されるときにだけ送信される。ディスプレイを校正するためにこのパケットを送信した後、データレートは50Mbpsを超えて強化されてよい。データレートが歪み校正プロセスの間に高すぎて設定されると、遅延は遅延歪み補償設定値を1ビットを超える時間オフにし、誤ったデータ計時を生じさせるであろうビット期間のエイリアスに同期する可能性がある。インタフェースの最高のデータレートタイプ又は考えられる最大のインタフェースタイプは、すべての既存のデータビットが校正されるように順方向リンク歪み校正パケットを送信する前に選択される。
【0164】
順方向リンク歪み構成パケットのフォーマットは
図56に示される。
図56に示されるように、この種のパケットはパケット長(2バイト)フィールドと、パケットタイプフィールドと、パラメータCRCフィールドと、校正データシーケンスフィールドとCRCフィールドを有するように構造化される。この種のパケットは通常タイプフィールドでタイプ83パケットとして識別され、515という事前に選択された長さを有する。
【0165】
仮想制御パネル
仮想制御パネル(VCP)によって、ホストはクライアントにおいて特定のユーザ制御を設定できる。これらのパラメータがホストによって調整されるのを可能にすることによって、クライアントのユーザインタフェースは簡略化できる。ユーザが、音量又は表示輝度などのパラメータを調整できるようにする画面は、クライアントの1台又は複数台のマイクロプロセッサによってよりむしろホストソフトウェアによって生成できるためである。ホストは、クライアントのパラメータ設定値を読み取り、各コントロールごとに有効な値の範囲を決定する能力を有する。クライアントはホストに、どの制御パラメータを調整できるのかを報告し返す機能を有する。
【0166】
一般的に指定されるコントロールコード(VCPコード)と関連付けられたデータ値は、クライアントでコントロールと設定値を指定するために活用される。MDDI仕様のVCPコードは、パケット定義の中で適切なデータフィールド位置合わせを保ち、将来にはこのインタフェース又は将来のエンハンスメントに一意である補足値をサポートするために16ビットに拡大される。
【0167】
27.要求VCP特徴パケット
要求VCP特徴パケットは、特定の制御パラメータの現在の設定値、又はすべての有効な制御パラメータをホストが要求するための手段、機構又は方法を提供する。一般的には、クライアントはVCP特徴応答パケットの中の適切な情報とともにVCPパケットに応える。一実施形態では、表示能力パケットのクライアントは表示特徴能力インジケータフィールドの20ビットを使用して要求VCP特徴パケットをサポートする能力を示す。
【0168】
一実施形態において要求VCP特徴パケットのフォーマットは
図69に示される。
図69で分かるようにこの種のパケットはパケット長フィールド、パケットタイプフィールド、hClient IDフィールド、MCCS VCPコードフィールド及びCRCフィールドを有するように構造化される。この種のパケットは通常一実施形態でタイプ128として識別され、それは2バイトタイプフィールドに示される。パケット長フィールドを含まないパケットの中の総バイト数を指定するパケット長は、通常8バイトの長さでこの種のbパケットに固定される。
【0169】
hClient IDフィールドはクライアントIDによって確保される16ビット符号なし整数を含む。このフィールドは将来の使用のために確保され、通常ゼロに設定される。MCCS VCPコードフィールドは、MCCS VCP 制御コードパラメータを指定する2バイトの情報を備える。0から255の範囲の値により、VCP機能応答パケットを、指定されたMCCSコードに対応するVCP機能応答リストの中の単一のアイテムととも返させる。65535(0xffff)というMCCS VCPコードは、クライアントによってサポートされるコントロールごとに機能回答項目を含むVCP機能応答リストとともにVCP特徴応答パケットを要求する。このフィールドのための256から65534までの値は、将来の使用のために確保され、現在使用されていない。
【0170】
28.VCP特徴応答パケット
VCP特徴応答パケットは、クライアントが特殊制御パラメータ又はすべての有効な制御パラメータの現在設定値でホスト要求に応えるための手段、機構又は方法を提供する。一般的には、クライアントが要求VCP特徴パケットに応えてVCP特徴応答パケットを送信する。このパケットは、特定のパラメータの現在設定値を求めるために、特定の制御の有効範囲を決定するために、特殊な制御がクライアントによってサポートされるかどうかを判断するため、あるいはクライアントによってサポートされる制御のセットを決定するために有効である。クライアントで実現されない特殊な制御を参照する要求VCP特徴が送信される場合には、VCP特徴応答パケットは、適切なエラーコードを含む実現されない制御に対応する単一のVCP特徴応答リスト項目とともに返される。一実施形態では、クライアントは、表示能力パケットの表示特徴能力インジケータフィールドのビット20を使用してVCP機能回答パケットをサポートする能力を示す。
【0171】
一実施形態におけるVCP特徴回答パケットのフォーマットは、
図70に示される。
図70に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、cClientIDフィールド、MCCSバージョンフィールド、回答シーケンス番号フィールド、VCP特徴回答リストフィールド及びCFCフィールドを有するように構造化される。この種のパケットは、通常、2バイトタイプフィールドで示されるように、タイプ129として一実施形態で識別される。
【0172】
cClientIDフィールドはClientICに確保される情報を含む。このフィールドは将来の使用のために確保され、通常ゼロに設定される。MCCSバージョンフィールドはクライアントによって実現されるVESA MCCS仕様のバージョンを指定する2バイトの情報を含む。
【0173】
2バイトの回答シーケンス番号フィールドは、クライアントによって戻されるVCP特徴回答パケットのシーケンス番号を指定する情報又はデータを含む。クライアントは65535というMCCS制御コード値とともに要求VCP特徴パケットに応えて1つ又は複数のVCP特徴回答パケットを返す。クライアントは複数のVCP特徴応答パケット上で特徴回答リストを広げてよい。この場合、クライアントは各連続パケットにシーケンス番号を割り当て、単一要求VCP特徴パケットに応えて送信されるVCP特徴回答パケットのシーケンス番号がゼロで開始し、1分増分する。最後のVCP特徴回答パケットの中の最後のVCP特徴リストアイテムは、パケットが最後のパケットであり、返されるパケットのグループの最高シーケンス番号を含むことを識別するために0xffffに等しいMCCS VCP制御コードを含む必要がある。ただ1つのVCP特徴者回答パケットが要求VCP特徴パケットに応えて送信される場合には、その単一なパケットの応答シーケンス番号がゼロであり、VCP特徴回答リストが0xffffに等しいMCCS VCP制御コードを有するレコードを含む。
【0174】
VCP特徴回答リストフィールドは、1つ又は複数のVCP特徴回答リスト項目を含むバイトのグループである一方、リスト内の特徴数フィールドはこのパケットの中のVCP特徴回答リスト内にあるVCP特徴リストアイテムの数を指定する2バイトを含む。一実施形態における単一のVCP特徴回答リストアイテムのフォーマットは
図71に示される。
【0175】
図71に示されるように、各VCP特徴回答リスト項目は長さが正確に12バイトであり、MCCS VCPコードフィールド、結果コードフィールド、最大値フィールド及び現在値フィールドを備える。2バイトのMCCS VCPコードフィールドは、このリストアイテムと関連付けられたMCCS VCP制御コードパラメータを指定するデータ又は情報を含む。VESA MCCS仕様バージョン2以降に定義される制御コード値だけが有効と見なされる。2バイトの結果コードフィールドは、指定されたMCCS VCP制御に関する情報に対する要求に関するエラーコードを指定する情報を含む。「1」という値は指定された制御がクライアントで実現されないことを意味するが、このフィールドの「0」はエラーがないことを意味する。このフィールドの2から65535という追加の値は現在、技術で意図される他の応用例の将来の使用及びインプリメンテーションのために確保されているが、いまのところ使用されていない。
【0176】
4バイト最大値フィールドは、指定MCCS制御を設定できる、考えられる最大の値を指定する32ビット符号なし整数を含む。要求された制御がクライアントでは実現されない場合、値はゼロに設定される。返される値の長さが32ビット(4バイト)未満である場合には、値は32ビット整数に入れられ、最上位(未使用)バイトをゼロに設定された状態にする。4バイトの現在値フィールドは指定されたMCCS VCP連続(C)又は非連続(NC)制御の現在値を指定する情報を含む。要求された制御がクライアントで実現されない場合、あるいは制御が実現されるが、テーブル(T)データタイプである場合には、この値はゼロに設定される。返される値のVESA MCCS仕様を通じた長さが32ビット(4バイト)未満である場合、値は32ビット整数に入れられ、最上位(未使用)バイトをゼロに設定された状態にする。
【0177】
29.VCP特徴設定パケット
VCP特徴設定パケットは、ホストがクライアント内の連続制御と非連続制御の両方のためにVCP制御値を設定するための手段、機構又は方法となる。一実施形態では、クライアントは表示能力パケットの表示特徴能力インジケータのビット20を使用してVCP特徴設定パケットをサポートする能力を示す。
【0178】
一実施形態におけるVCP特徴パケットのフォーマットは
図72に示される。
図72に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、bClient IDフィールド、MCCS VCPコードフィールド、リスト内の値(Vlaues)数フィールド、制御値リストフィールド、CRCフィールドを有するように構造化される。この種のパケットは、2バイトタイプフィールドに示されるように通常タイプ130として識別され、パケット長フィールドを除き長さ20バイトである。
【0179】
hClient IDフィールドは、Client IDを指定する、あるいはClient IDとして働くために再び2バイト値を使用する。このフィールドは将来の使用のために確保され、現在はゼロに設定される。MCCS VCPコードフィールドは調整されるMCCS VCP制御コードパラメータを指定するために2バイトの情報又は値を使用する。2バイトのリスト内値数フィールドは、制御値リストに存在する16ビット値の数を指定する情報又は値を含む。制御値リストは、通常、MCCS制御コードがクライアント内のテーブルに関さない限り、1つのアイテムを含む。非テーブル関連制御の場合、制御値リストはMCCS VCPコードフィールドによって指定される制御パラメータに書き込まれる新しい値を指定する値を含む。テーブル関連制御の場合、制御値リストの中のデータのフォーマットは、指定されるMCCS VCPコードのパラメータ記述により指定される。リストが1バイトより大きい値を含む場合には、他の個所で定義される方法に一貫して、最下位バイトが最初に送信される。最後に2バイトのCRCフィールドはパケット長を含むパケット内のすべてのバイトの16ビットCRCを含む。
【0180】
30.有効パラメータ要求パケット
有効パラメータ要求パケットは、クライアントが、指定された非連続(NC)又はテーブル(T)制御によってサポートされるパラメータのリストを含む有効パラメータ回答パケットを返すことを要求するための手段又は機構として使用される。このパケットは、すべての制御を指定するために65535(0xffff)というMCCS VCPコードを指定するのではなく、非連続制御又はクライアント内のテーブルに関する制御だけを指定する必要がある。サポートされていない、つまり無効MCCS VCPコードが指定される場合には、適切なエラー値が有効パラメータ回答パケットに返される。一実施形態では、クライアントは、表示能力パケットの表示特徴能力インジケータフィールドのビット20を使用して有効パラメータ要求パケットをサポートする能力を示す。
【0181】
一実施形態における有効パラメータ要求パケットのフォーマットは
図73に示される。
図73に示されるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、hClient IDフィールド、MCCS VCPコードフィールド、及びCRCフィールドを有するように構造化される。この種のパケットは、2バイトタイプフィールドに示されるように、一実施形態において通常タイプ131として識別される。
【0182】
2バイトのパケット長フィールドに示されるようなパケット長は、通常、8というパケット長フィールドを含まず、パケットの中のバイト総数を有するように設定される。hClient IDはClient IDを再び指定するが、当業者に明らかとなるように現在は将来の使用のために確保され、ゼロに設定されている。2バイトMCCS VCPコードフィールドは照会される非連続MCCS VCP制御コードパラメータを指定する値を含む。このフィールドの値は、クライアントで実現される非連続制御に対応しなければならない。値256から65535(0xffff)は、通常、確保される、あるいは無効と見なされ、エラー応答の実現されない制御と見なされる。
【0183】
31.有効パラメータ回答パケット
有効パラメータ回答パケットは有効パラメータ要求パケットに応えて送信される。それは、非連続MCCS VCP制御又はテーブルのコンテンツを返す制御の有効設定値を識別するための手段、方法又は機構として使用される。制御がクライアント内のテーブルに関する場合には、VCPパラメータ回答リストは単に要求された連続テーブル値の特定のリストを含むだけである.テーブルのコンテンツが単一の有効パラメータ回答パケットのなかに適合できない場合には、連続回答シーケンス番号付きの複数のパケットがクライアントによって送信できる。ある実施形態では、クライアントは、表示能力パケットの表示特徴能力インジケータフィールドのビット20を使用して有効パラメータ回答パケットをサポートする能力を示す。
【0184】
ホストは以下のようにテーブルのコンテンツを要求してよい。ホストは、読み取り/書き込みパラメータ、LUTオフセット及びRGB選択などの必要な又は所望されるパラメータを含むVCP特徴パケット設定を送信する。次に、所望される制御を指定するパラメータ要求パケットがホストによって送信される。次にクライアントはテーブルデータを含む1つ又は複数の有効パラメータ回答パケットを返す。この動作のシーケンスは、MCCS運転モデルに説明される関数を読み取るテーブルとして類似した機能を実行する。
【0185】
特定のクライアントパラメータがクライアントによってサポートされない場合、一実施形態ではこのパケットの対応するフィールドが255という値を含むであろう。クライアントで使用されるパラメータの場合、対応するフィールドはクライアント内のパラメータの値を含む必要がある。
【0186】
一実施形態の有効パラメータ応答パケットのフォーマットは
図74に示される。
図74に見られるように、この種のパケットはパケット長フィールド、パケットタイプフィールド、cClient IDフィールド、MCCS VCPコードフィールド、応答コードフィールド、回答シーケンス番号フィールド、リスト内番号値フィールド、VCPパラメータ回答リストフィールド及びCRCフィールドを有するように構造化される。この種のパケットは、通常、2バイトタイプフィールドに示されるように、タイプ132として一実施形態について識別される。
【0187】
3バイトのMCCS VCPコードパケットはこのパケットによって記述される非連続MCCS VCP制御コードパラメータを指定する値を含むが、cClient IDフィールドは、前記説明から公知であるように将来のクライアントIDのために確保される。無効のMCCS VCP制御コードが有効パラメータ要求パケットによって指定される場合、同じ無効パラメータ値が、応答コードフィールドに適切な値が指定されるこのフィールドで指定される。MCCS制御コードが無効である場合は、VCPパラメータ回答リストはゼロ長を有するであろう。
【0188】
応答コードフィールドは、指定されたMCCS VCP制御に関する情報に対する要求に関連する応答の性質を指定する2バイトの情報又は値を含む。このフィールドの値が0に等しい場合には、このデータタイプにはエラーが存在しないと見なされ、シーケンスの最後の有効パラメータ回答パケットが送信され、それが最高の回答シーケンス番号を有する。このフィールドの値が1に等しい場合には、エラーは存在すると見なされないが、さらに高いシーケンス番号を有する他の有効パラメータ回答パケットが送信される。このフィールドの値が2に等しい場合には、指定された制御はクライアントで実現されているとは見なされない。このフィールドの値が3に等しい場合には、指定される制御は非連続制御ではない(ゼロからその最大値まですべての値の有効な集合をつねに有するのは連続制御である)。4から65535に等しいこのフィールドの値は、将来の使用のために確保され、一般的には使用されない。
【0189】
2バイト回答シーケンス番号フィールドはクライアントによって返される有効パラメータ回答パケットのシーケンス番号を指定する。クライアントは有効パラメータ要求パケットに応えて1つ又は複数の有効パラメータ回答パケットを返す。クライアントは、複数の有効パラメータ回答パケット上でVCPパラメータ回答リストを拡散してよい。この後者の場合、クライアントは各連続パケットに各連続パケットにシーケンス番号を割り当て、シーケンスの最後のパケット以外のすべてで応答コードを1に設定する。シーケンスの最後の有効パラメータ回答パケットは最高の回答シーケンス番号を有し、応答コードは0という値を含む。
【0190】
2バイトのリスト内値数は、VCPパラメータ回答リストに存在する16ビット値の数を指定する。応答コードがゼロに等しくない場合には、リスト内値数はゼロである。VCPパラメータ回答リストフィールドは、MCCS制御コードフィールドによって指定される非連続制御のための有効値の集合を示す0から32760個の2バイトの値のリストを含む。非連続制御コードはVESA MCCS仕様に指定される。最後にこの実施形態では、CRCフィールドがパケット長を含むパケットのすべてのバイトの16ビットCRCを含む。
【0191】
アルファ−カーソル画像
通信リンク上でデータを通信するためのMDDインタフェース及び関連(associate)発明プロトコル及び機構が、互いに重複し、さまざまな透明度を有することがある複数の画像平面にサポートを提供する。ハードウェアカーソルは、可変X−Yオフセットを有する重複画像を使用して実現できる。アルファ−カーソル機能性及び関連付けられたプロトコルサポートの概要が以下に示される。アルファ−カーソル画像パケットをサポートする能力は、特定ステータス要求パケットに応えて個体得て送信されるアルファ−カーソル画像機能パケットに指定される。
【0192】
32.アルファ−カーソル画像機能パケット
アルファ−カーソル画像機能パケットは、クライアントにおけるアルファ−カーソル画像及び関連トランスペアレンシーマップの特性を定義するために使用される。一実施形態では、クライアントは有効ステータス回答リストパケットの有効パラメータ回答リスト内で133というパラメータ値を使用してアルファ−カーソル画像機能パケットをサポートする能力を示す。パケット長フィールドで指定されるパケット長は、パケット長フィールドを含まず、一実施形態のために20という固定値に設定される。
【0193】
アルファ−カーソル画像機能パケットのフォーマとは
図75に示される。
図75に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、cClientIDフィールド、アルファ−カーソル識別子フィールド、アルファ−カーソルビットマップ幅フィールド、アルファ−カーソルビットマップ高さフィールド、白黒機能フィールド、確保1フィールド、Y Cr Cb機能フィールド、トランスペアレンシーマップRes.フィールド、機能ビットフィールド、及びCRCフィールドを有するように構造化される。cClient IDフィールドは、通常、将来のクライアントIDの使用のために確保され、現在ではゼロに設定されている。
【0194】
アルファカーソル識別子フィールド(2バイト)は、特定のアルファ−カーソル平面を識別する値を含む。クライアントがn個のアルファ−カーソル画像平面をサポートする場合は、アルファ−カーソル識別子は0からn−1の有効範囲を有する。一実施形態では、値nが表示能力パケットのアルファ−カーソル画像平面によって指定される。クライアントは、アルファ−カーソル画像平面ごとに一意のアルファ−カーソル画像機能パケットを返す。
【0195】
2バイトのアルファ−カーソルビットマップ高さフィールド値はピクセル数として表されるアルファ−カーソルビットマップ画像の高さを指定するが、2バイトのアルファ−カーソルビットマップ幅フィールド値は、ピクセルの数として表されるアルファ−カーソルビットマップ画像の幅を指定する。
【0196】
RGB機能フィールド−RGBフォーマットで表示できる解像度のビット数を指定する16ビットの整数の符号なしを含む2バイト。クライアントがRGBフォーマットを使用できない場合には、この値はゼロである。RGB機能ワードは、一実施形態においてビット3から0が各ピクセルの青(青い輝度)最大ビット数を定め、ビット7から4が各ピクセルの緑(緑の輝度)の最大ビット数を定め、ビット11から8が各ピクセルの赤(赤い輝度)の最大ビット数を定め、ビット15から12がRGB機能情報を提示する上で将来の使用のために確保され、現在はゼロに設定されるように実現される3つの別々の値から構成されている。
【0197】
1バイトの白黒機能フィールドは、白黒フォーマットで表示できる解像度のビット数を指定するために使用される。クライアントが白黒フォーマットを使用できない場合、この値はゼロである。ビット7から4は、将来の使用のために確保されるため、通常ゼロに設定される。ビット3から0は各ピクセルに存在することがあるグレイスケールの最大ビット数を定める。これらの4つのビットによって、各ピクセルが1ビットから15ビットからなることを指定することが可能になる。値がゼロではない場合、白黒フォーマットはクライアントによってサポートされていない。
【0198】
1バイトの確保1フィールドは、通常将来の使用のために確保される値を含み、したがってこのフィールド内のすべてのビットはゼロに設定される。これは、以後の2バイトフィールドを16ビットワードアドレスに位置合わせし、4バイトフィールドを32ビットワードアドレスに位置合わせさせる。
【0199】
2バイトのY Cb Cr機能フィールドは、Y Cb Crフォーマットで表示できる解像度のビット数を指定する値又は情報を含む。クライアントがY Cr Cbフォーマットを使用できない場合には、この値はゼロである。一般的には、一実施形態では、Y Cb Cr機能性ワードは以下の3つの別々の値から構成される。ビット3から0はCrサンプルを指定する最大ビット数を定め、ビット7から4はCbサンプルを指定する最大ビット数を定め、ビット11から8はYサンプルを指定する最大ビット数を定め、ビット15から12はY Cb Cr機能情報又は値を提示する上で将来の使用に確保されているが、現在はゼロに設定されている。
【0200】
1バイトのトランスペアレンシーマップ解像度フィールドは、アルファ−カーソル画像トランスペアレンシーマップの各ピクセル位置のビット数(深度)を指定する値又は情報を含む。この値は1から8の範囲となる可能性がある。値がゼロである場合には、トランスペアレンシーマップは個のアルファ−カーソル画像バッファ(アルファ−カーソル識別子フィールドによって指定されるバッファ)についてサポートされない。
【0201】
1バイト機能ビットフィールドは、アルファ−カーソル画像バッファに関連付けられた機能を指定するフラグのセットを含む値又は情報を提供する。一実施形態では、フラグは、ビット0がアルファ−カーソルビデオストリームパケット内で、パックされたフォーマットとなるようにピクセルデータを選択するために働くように定義される。ビット1はアルファ−カーソルトランスペアレンシーパケット内のトランスペアレンシーマップデータがパケットフォーマットであることを示すために働く。ビット位置合わせされ、パックされたトランスペアレンシーマップデータの例は
図76に示される。ビット2は、アルファ−カーソル画像平面がアルファ−カーソル画像オフセットパケットを使用して画像オフセット機能をサポートすることを示すために働く。ビット3は、アルファ−カーソル画像平面がカラーマップデータフォーマットをサポートできることを示すために働く。同じカラーマップテーブルは、メイン画像バッファ及びスケーリングされたビデオストリームに使用されるように、アルファ−カーソル画像平面のために使用される。カラーマップは、他の個所に説明されるカラーマップパケットを使用して構成される。
【0202】
ビット7から4は将来の使用のために確保されるため、通常ゼロ値又は論理レベルに設定される。
【0203】
33.アルファ−カーソルトランスペアレンシーマップパケット
アルファ−カーソルトランスペアレンシーマップパケットは、指定されるアルファ−カーソル画像平面のための画像トランスペアレンシーマップのコンテンツを定める。単一のパケットで送信できるデータ量より多いトランスペアレンシーマップを必要とする応用例もある。これらの場合には、複数のアルファ−カーソルトランスペアレンシーマップパケットが送信され、それぞれが後述されるトランスペアレンシーマップX開始フィールドとトランスペアレンシーマップY開始フィールドを使用することによって、トランスペアレンシーマップの別の部分集合を備える。これらのフィールドは、ビデオストリームパケットのX開始フィールドとY開始フィールドと同様に動作する。クライアントは、アルファ−カーソル画像機能パケットのアルファ−カーソル識別子フィールドによって指定されるそれぞれの特定のアルファ−カーソル平面のためのアルファ−カーソル画像機能パケットのトランスペアレンシーマップ解像度フィールドを使用する一実施形態でアルファ−カーソルトランスペアレンシーマップパケットをサポートする能力を示す。パケット長フィールドとクライアントIDフィールドは、前述された他のパケットについて前記のように動作する。ある実施形態では、パケットタイプフィールドの134という値は、アルファ−カーソルトランスペアレンシーマップパケットとしてパケットを識別するために使用される。
【0204】
一実施形態のためのアルファ−カーソルトランスペアレンシーマップパケットのフォーマットは
図76に示される。
図76に示されるように、この種のパケットは、パケット長フィールド、パケットタイプフィールド、hClient IDフィールド、アルファ−カーソル識別子フィールド、トランスペアレンシーマップX開始フィールド、トランスペアレンシーマップY開始フィールド、トランスペアレンシーマップ解像度フィールド、確保1フィールド、パラメータCRCフィールド、トランスペアレンシーマップ媒体フィールド、及びトランスペアレンシーマップデータCRフィールドを有するように構造化される。
【0205】
2バイトのアルファカーソル識別子フィールドは、特定のアルファ−カーソル平面を識別する値を有する。クライアントがn個のアルファカーソル画像平面をサポートする場合には、アルファ−カーソル識別子は0からn−1の有効範囲を有する。
【0206】
2バイトのトランスペアレンシーマップX開始フィールドとY開始フィールドは、それぞれ絶対X座標とY座標を指定し、点(トランスペアレンシーマップX開始、トランスペアレンシーマップY開始)は、後述されるトランスペアレンシーマップデータフィールド内の第1のピクセルである。
【0207】
トランスペアレンシーマップ解像度フィールド(1バイト)は、トランスペアレンシーマップの解像度、及びデータがパックされるかどうかを指定する値を含む。このフィールドの一実施形態では、ビット3から0がすべてのトランスペアレンシーマップテーブル項目に存在する解像度のビット数を定める。有効値は1ビットから8ビットである幅を指定する。値0と9から15は無効と見なされる。この値は、アルファ−カーソル画像機能パケットのトランスペアレンシーマップ解像度フィールドの中でクライアントによって返される値に一致する必要がある。ビット6から4は将来の使用のために確保されているため、この時点では通常論理ゼロに設定されるものとする。このバイトのビット7は、トランスペアレンシーマップデータがパック形式であるのか、バイト位置合わせ形式であるのかどうかを指定する。ビット7が1に等しい場合には、トランスペアレンシーマップはパック形式であり、「0」の場合、データはバイト位置あわせされている。パックされるトランスペアレンシーマップとバイト位置合わせトランスペアレンシーマップデータの一例は、Error!Reference source not found.(エラー!情報源が検出されない)に示される。このビットの値はアルファ−カーソル画像機能パケットの機能ビットフィールドのビット1の値に一致しなければならない。
【0208】
1 bute確保1フィールドは将来の使用のために確保されるため、このフィールドのすべてのビットは通常論理ゼロレベルに設定される。このフィールドの1つの目的とは、すべての以後の2バイトフィールドを16ビットワードアドレスに位置合わせさせ、4バイトフィールドを32ビットワードアドレスに位置合わせさせることである。
【0209】
パラメータCRCフィールドは、パケット長から確保1フィールドまでのすべてのバイトの16バイトCRCを含む。このCRCがチェックできない場合には、パケット全体が廃棄されなければならない。
【0210】
トランスペアレンシーマップデータフィールドの場合、各トランスペアレンシーマップロケーションは幅1ビットから8ビットである。単一のトランスペアレンシーマップが1つのアルファカーソルトランスペアレンシーマップパケットの中に収まらない場合には、トランスペアレンシーマップ全体が、各パケットの中に異なるトランスペアレンシーマップデータとランスペアレンシーマップX開始値とY開始値がある複数のパケットを送信することによって指定されてよい。
【0211】
2バイトのトランスペアレンシーマップデータCRCフィールドはトランスペアレンシーマップデータだけの16ビットCRCを含む。このCRCがチェックできない場合には、トランスペアレンシーマップデータは依然として使用できるが、CRCエラーカウントは増分されるものとする。
【0212】
34.アルファ−カーソル画像オフセットパケット
アルファ−カーソル画像オフセットパケットは、メイン表示画像の左上角からカーソルのXオフセットとYオフセットを指定する。アルファ−カーソル画像オフセットパケットのフォーマットは
図77に示される。
図77に示されるように、一実施形態では、アルファ−カーソル画像オフセットパケットはパケット長フィールド、パケットタイプフィールド、hClient IDフィールド、アルファ−カーソルXオフセットフィールド、アルファ−カーソルYオフセットフィールド及びCRCフィールドで構造化される。一実施形態では、クライアントはアルファ−カーソル画像機能パケットのアルファ−カーソル識別子フィールドにより指定されるそれぞれの特定のアルファカーソル平面のためのアルファ−カーソル画像機能パケットの機能ビットフィールドのビット2を使用してアルファ−カーソル画像オフセットパケットをサポートする能力を示す。一実施形態では、パケット長は、2バイトパケット長フィールドで示されるように、10で固定される。一実施形態では、135というパケットタイプがアルファ−カーソル画像オフセットパケットとしてパケットを識別する。
【0213】
2バイトのアルファカーソルXオフセットフィールドとYオフセットフィールドは、メイン画像の左側と上部からのカーソル画像のピクセルのそれぞれの一番左の列と上部行の水平と垂直のオフセットをそれぞれ指定する値を含む。hClient ID−クライアントIDに確保される16ビットの符号なし整数を含む2バイト。このフィールドは将来の使用のために確保されており、ゼロに設定されるものとする。
【0214】
35.アルファ−カーソルビデオストリームパケット
アルファ−カーソルビデオストリームパケットは、アルファ−カーソル画像平面の矩形領域を更新するためにビデオデータを搬送する。この領域のサイズは単一のピクセルほど小さい、あるいはディスプレイ全体ほど大きくてよい。アルファ−カーソルビデオストリームパケットのフォーマットは
図78に描かれる。
図78に示されるように、一実施形態では、アルファ−カーソルビデオストリームパケットは、パケット長フィールド、パケットタイプフィールド、bClient IDフィールド、ビデオデータフォーマット属性フィールド、X左端縁フィールド、Y上端縁フィールド、X右端縁フィールド、Y下端縁フィールド、X開始フィールド、Y開始フィールド、ピクセルカウントフィールド、パラメータCrcピクセルデータフィールド、及びピクセルデータCRCフィールドで構造化される。一実施形態では、クライアントは、アルファ−カーソル画像機能パケットのアルファ−カーソル識別子フィールドにより指定されるそれぞれの特殊なアルファ−カーソル平面のためのアルファ−カーソル画像機能パケットを使用することによってアルファ−カーソルビデオストリームパケット及びその関連付けられたパラメータをサポートする能力を示し、パケットタイプフィールドの17という値はアルファ−カーソルビデオストリームパケットであるとしてパケットを示す、又は識別する。hClient IDフィールド(2バイト)は、クライアントIDとして将来の使用のために確保され、通常、技術で十分に理解されるように当面はゼロに設定される。
【0215】
2バイトビデオデータフォーマット記述子フィールドは、本パケットの本ストリームの中でピクセルデータの各ピクセルのフォーマットを指定する情報又は値を含む。ピクセルデータフォーマットは、アルファ−カーソル画像機能パケットで定められるようにアルファカーソル画像平面のための有効なフォーマットの少なくとも1つと準拠しなければならない。ビデオデータフォーマット記述子フィールドは、カレントパケットだけのためのピクセルフォーマットを定義し、一定のフォーマットがある特定のビデオストリームの存続期間の間使用し続けられることを暗示しない値を含む。Error!Reference source not found.(エラー!情報源が検出されない)は、ビデオデータフォーマット記述子がどのようにしてコード化されるのかを描く。フォーマットは以下のとおりである。
【0216】
一実施形態では、ビット[15:13]が「000」であるときには、ビデオデータは白黒ピクセルのアレイからなり、1ピクセルあたりのビット数はビデオデータフォーマット記述子ワードのビット3から0によって定義される。ビット11から4は次にゼロに設定される。ビット[15:13]が「001」であるときには、ビデオデータは、それぞれカラーマップ(パレット)を通して色を指定するカラーピクセルのアレイからなる。ビデオデータフォーマット記述子のビット5から0は1ピクセルあたりのビット数を定義し、ビット11から6はゼロに設定される。ビット[15:13]が「010」であるときには、ビデオデータは未処理RGBフォーマットのカラーピクセルのアレイからなり、赤の1ピクセルあたりのビット数はビット11から8で定義され、緑の1ピクセルあたりのビット数はビット7から4で定義され、青の1ピクセルあたりのビット数はビット3から0で定義される。各ピクセルのビット総数は赤、緑及び青に使用されるビット数の合計である。
【0217】
ビット[15:13]が「011」であるときには、ビデオデータは輝度及びクロミナンス情報とともに4:2:2のY Cb Crフォーマットのビデオデータのアレイからなる。輝度(Y)の1ピクセルあたりのビット数は、ビット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は左から右へ単一行の4個の連続ピクセルの輝度値である。カラー成分の順序付けはMicrosoft UYVY FOURCCフォーマットと同じである。ビデオストリームパケットにより参照されるウィンドウの一行に奇数のピクセル(X.右端縁−X左端縁+1)がある場合、各行の最後のピクセルに対応するCb値の後には次の行の第1のピクセルのY値が続く。Y Cb Crフォーマットを使用するウィンドウが偶数のピクセルである幅を有することが勧められる。パケット内のピクセルデータは、偶数のピクセルを含むものとする。それは、ピクセルデータの最後のピクセルがビデオストリームパケットヘッダに指定されるウィンドウ内の行の最後のピクセルに対応する場合、つまりピクセルデータの最後のピクセルのXロケーションがX右端縁に等しいとき、奇数又は偶数のピクセルを含んでよい。4つすべてのフォーマットについて、(図中「P」で示される)ビット12が、ピクセルデータサンプルがパックされるかどうかを指定する。ビット12の値が「0」であるときには、ピクセルデータフィールド内の各ピクセルと各色がMDDIインタフェースバイト境界でバイト位置合わせされる。ビット12の値が「1」であるときには、ピクセルデータの各ピクセル中の各ピクセルと各色がピクセル内の各ピクセル又は色に照らし合わせてパックされ、未使用のビットを残さない。
【0218】
一実施形態では、ピクセルデータ属性フィールド(2バイト)が、以下のように解釈される一連のビット値を有する。ビット1と0は、表示ピクセルデータがどのようにして送られるのかを選択する。「11」というビット値の場合、データは両目に対して又は両目のために表示され、ビット値「10」の場合、データは左眼だけに送られ、ビット値「01」の場合、データは右目だけにしか送られない。
【0219】
ビット2は、ピクセルデータがインタレースフォーマットで提示されるかどうかを示し、「0」という値はピクセルデータが標準漸次フォーマットであり、ある行から次の行に進むときに行番号(ピクセルY座標)が1増分されることを意味する。このビットが「1」という値を有するときには、ピクセルデータはインタレースフォーマットであり、行番号は、ある行から次の行に進むときに2増分される。ビット3は、ピクセルデータが代替ピクセルフォーマットであることを示す。これは、ビット2でイネーブルされる標準インタレースモードに類似しているが、インタレースは水平の代わりに垂直である。ビット3が「0」であるとき、ピクセルデータは標準漸次フォーマットであり、列番号(ピクセルX座標)は、それぞれの継続ピクセルが受信されるにつれ1増分される。ビット3が「1」であるとき、ピクセルデータは代替ピクセルフォーマットであり、列番号は、各ピクセルが受信されると2増分される。
【0220】
ビット4は、データは無線電話又は類似した装置又はポータブルコンピュータ、あるいは前述されたように他のデバイスのための内蔵ディスプレイとの間で転送されている、あるいはデバイスに直接的に結合されるカメラとの間で転送されているため、ピクセルデータがディスプレイに関するのか、あるいはカメラに関するのかを示す。ビット4が「0」であるとき、ピクセルデータはディスプレイフレームバッファとの間で転送されている。ビット4が「1」であるとき、ピクセルデータは、何らかの型のカメラ又はビデオデバイスの間で転送されており、このようなデバイスは技術で周知である。
【0221】
ビット5は、MDDIインタフェースの将来の使用又は応用例のために確保されているため、一般的にはゼロ値つまり「0」に設定される。
【0222】
ビット7と6は、ピクセルデータが書き込まれるフレームバッファを指定する表示更新ビットである。さらに特定の影響は他の個所で説明される。「01」というビット値の場合、ピクセルデータはオフライン画像バッファに書き込まれる。「00」というビット値の場合、ピクセルデータは表示をリフレッシュするために使用される画像バッファに書き込まれる。「11」というビット値の場合、ピクセルデータはすべての画像バッファに書き込まれる。「10」というビット値又は組み合わせは無効値あるいは指定として処理され、ピクセルデータは無視され、画像バッファのどれにも書き込まれない。この値はインタフェースの将来の応用例のための用途を有する場合がある。
【0223】
ビット8から15は、将来の使用のために確保されているため、通常はゼロとして設定される。
【0224】
一実施形態では、2バイトのX開始フィールドとY開始フィールドは、ピクセルデータフィールドの第1のピクセルの点(X開始、Y開始)の絶対X座標とY座標を指定する。X右端縁フィールドとY下端縁フィールドは、更新されているアルファ−カーソル画像の右端縁のX座標及び下端縁のY座標を指定するが、2バイトのX左端縁フィールド及びY上端縁フィールドはピクセルデータフィールドによって塗りつぶされるアルファ−カーソル画像ウィンドウの左端縁のX座標と上端縁のY座標を指定する。
【0225】
ピクセルカウントフィールド(2バイト)は、以下のピクセルデータフィールドのピクセル数を指定する。
【0226】
2バイトのパラメータCRCフィールドは、パケット長からピクセルカウントまでの全バイトのCRCを含む。このCRCがチェックできない場合には、パケット全体が廃棄される。
【0227】
ピクセルデータフィールドは表示されなければならず、ビデオデータフォーマット記述子フィールドによって記述されるようにフォーマットされる未処理ビデオ情報を含む。データは他の個所に説明されるように一度に一「行」ずつ送信される。
【0228】
ピクセルデータCRCフィールド(2倍と)は、ピクセルデータだけの16ビットのCRCを含む。この値のCRC検証が失敗すると、ピクセルデータは依然として使用できるが、CRCエラーカウントが増分される。
【0229】
スケーリングされたビデオストリーム画像
MDDIインタフェース又はプロトコル機構又は方法は、ホストが下の画像より大きく又は小さくスケーリングされる画像をクライアントに送信できるようにするスケーリング済みビデオストリーム画像に対するサポートを提供し、該スケーリングされた画像はメイン画像バッファにコピーされる。スケーリング済みビデオストリーム機能性及び関連プロトコルサポートの概要は他の個所に示され、スケーリング済みのビデオストリームをサポートする能力は特殊ステータス要求パケットに応えて送信されるスケーリング済みビデオストリーム機能パケットによって、又はスケーリング済みビデオストリーム機能パケット内で定義される。
【0230】
36.スケーリング済みビデオストリーム機能パケット
スケーリング済みビデオストリーム機能パケットは、クライアント内の又はクライアントによって使用されるスケーリングされたビデオストリームソース画像の特性を定める。スケーリングされたビデオストリーム機能パケットのフォーマットは概して
図79に示される。
図79に示されるように、一実施形態では、スケーリング済みビデオストリーム機能パケットは、パケット長フィールド、パケットタイプフィールド、cClient IDフィールド、ストリーム最大数パケットフィールド、ソース最大Xサイズフィールド、ソース最大Yサイズフィールド、RGB機能フィールド、白黒機能フィールド、確保1フィールド、Y Cr Cb機能フィールド、確保2フィールド及びCRCフィールドを有するように構造化される。パケット長は、一実施形態では、クライアントIDに使用するために確保され、それ以外の場合ゼロに設定される2バイトのcClient IDフィールド、及び.CRCフィールドを含む長さフィールドに示されるように固定20バイトとなるように選択される。一実施形態では、クライアントは有効ステータス回答リストパケットの有効パラメータ回答リストの中で143というパラメータ値を使用してスケーリングされたビデオストリーム機能パケットをサポートする能力を示す。
【0231】
2バイトのストリーム最大数フィールドは、一度に割り当てられてよい同時スケーリング済みビデオストリームの最大数を識別するための値を含む。一実施形態では、クライアントは、スケーリング済みビデオストリームの最大数がすでに割り当てられている場合、スケーリング済みのビデオストリームを割り当てるという要求を否定しなければならない。最大数未満のスケーリング済みビデオストリームが割り当てられると、クライアントはクライアントにおける他のリソース制限に基づいて割り当て要求を否定する可能性もある。
【0232】
ソース最大XサイズフィールドとYサイズフィールド(2バイト)は、多くのピクセルとして表されるスケーリング済みのビデオストリームソース画像の、それぞれ最大幅と高さの値を指定する。
【0233】
RGB機能フィールドは、RGBフォーマットで表示できる解像度のビット数を指定するための値を使用する。スケーリング済みビデオストリームがRGBフォーマットを使用できない場合には、この値はゼロに等しく設定される。RGB機能ワードは、3つの別々の符号なし値から構成され、ビット15から12は将来の機能定義で使用するために確保され、通常はゼロに設定されるが、ビット3から0は各ピクセルの青(青の輝度)の最大ビット数を定め、ビット7から4は各ピクセルの緑(緑輝度)の最大ビット数を定め、ビット11から8は各ピクセルの赤(赤輝度)の最大ビット数を定める。
【0234】
1バイト白黒機能フィールドは、白黒フォーマットで表示できる解像度のビット数を指定する値を含む。スケーリング済みビデオストリームが白黒フォーマットを使用できない場合は、この値はゼロである。ビット7から4は、将来の使用のために確保されているため、当業者によって理解されるように、これは経時的に変化する可能性があるが現在の応用例についてはゼロ(「0」)に設定される。ビット3から0は、各ピクセルに存在できるグレイスケールの最大ビット数を定める。これらの4ビットにより、各ピクセルが1ビットから15ビットからなることを指定できるようになる。値がゼロである場合には、白黒フォーマットはスケーリング済みビデオストリームによってサポートされていない。
【0235】
確保1フィールド(ここでは1バイト)が、スケーリング済みビデオストリームパケット情報又はデータに関連する値を提供する上で将来の使用のために確保される。従って、現在ではこのフィールドの中のすべてのビットは論理「0」に設定される。このフィールドの1つの目的は、以後すべての2バイトフィールドを16ビットワードアドレスに位置合わせさせ、4バイトフィールドを32ビットワードアドレスに位置併せさせることである。
【0236】
2バイトのY Cb Cr機能フィールドは、Y Cb Crフォーマットで表示できる解像度のビット数を指定する値を含む。スケーリングされたビデオストリームがY Cb Crフォーマットを使用できない場合、この値はゼロである。Y Cb Cr機能ワードは3つの別々の符号なし値から構成される。つまりビット3から0はCrサンプルを指定する最大ビット数を定め、ビット7から4はCbサンプルを指定する最大ビット数を定め、ビット11から8はYサンプルを指定する最大ビット数を定め、ビット15から12は将来の使用のために確保され、通常ゼロに設定される。
【0237】
1バイトの機能ビットフィールドは、スケーリング済みビデオストリームと関連付けられる機能を指定するフラグの集合を含む8ビットの符号なし整数を含む。フラグは以下のとおりに定義される。ビット0はスケーリング済みビデオストリームパケットの中のピクセルデータをカバーし、パックされた形式となる。パックされたピクセルデータとバイト位置合わせされたピクセルデータの例がError!Reference source not found.(エラー!情報源が検出されない)に示される。ビット1は、将来の使用のために確保され、ゼロに設定されるものとする。ビット2は将来の使用のために確保され、ゼロに設定されるものとする。ビット3はカラーマップデータフォーマットに指定できるスケーリング済みビデオストリームをカバーする。同じカラーマップテーブルは、メイン画像バッファとアルファ−カーソル画像平面に使用されるようにスケーリング済みビデオストリームに使用される。カラーマップは他の個所で説明されるカラーマップパケットを使用して構成され、ビット7から4が将来の使用に確保され、通常ゼロに設定される。
【0238】
確保2フィールド(ここでは1バイト)は、スケーリング済みビデオストリームパケット情報又はデータに関連する値を提供する上で将来の使用に確保される。したがって、現在では、このフィールドの全ビットが論理「0」に設定される。このフィールドの1つの目的は、以後すべての2バイトフィールドを16ビットワードアドレスに位置合わせさせ、4バイトフィールドを32ビットワードアドレスに位置合わせさせることである。
【0239】
37.スケーリング済みビデオストリームセットアップパケット
スケーリング済みビデオストリームセットアップパケットは、スケーリング済みビデオストリームのパラメータを定義するために使用され、クライアントは画像のバッファリング及びスケーリングのための内部記憶領域を割り当てるために情報を使用する。ストリームは、X画像サイズフィールドとY画像サイズフィールドがゼロに等しいこのパケットを送信することによって割り当てを解除されてよい。割り当て解除されたスケーリング済みのビデオストリームは、後に同じ又は別のストリームパラメータで割り当てし直されてよい。一実施形態では、クライアントは、有効ステータス回答リストパケットの有効パラメータ回答リストの中で143というパラメータ値を使用し、スケーリング済みビデオストリーム機能パケットのストリーム最大数フィールドで非ゼロ値を使用することによって、スケーリング済みビデオストリームセットアップパケットをサポートする能力を示す。
【0240】
パケット定義はError!Reference source not found.(エラー!情報源が検出されない)に描かれている。
【0241】
パケットコンテンツ:
パケット長−パケット長フィールドを含まない、パケット内のバイト総数を指定する16ビット符号なし整数を含む2バイト。このパケットのパケット長はつねに24である。
【0242】
パケットタイプ−16ビット符号なし整数を含む2バイト。136というパケットタイプはスケーリング済みビデオストリームセットアップパケットとしてパケットを識別する。
【0243】
hClient ID−クライアントIDのために確保される16ビット符号なし整数を含む2バイト。このフィールドは将来の使用のために確保され、ゼロに設定されるものとする。
【0244】
ストリームID−ストリームIDに一意の識別子を指定する16ビット符号なし整数を含む2バイト。この値はホストによって割り当てられ、ゼロから表示能力パケットに指定される最大ストリームID値までとする。ホストは、各アクティブストリームに一意の値が割り当てられ、もはやアクティブではないストリームは割り当て解除される、又は割り当てし直されることを確実にするために注意深くストリームID値の使用を管理しなければならない。
【0245】
ビデオデータフォーマット記述子−本パケット内の本ストリーム内のピクセルデータの各ピクセルのフォーマットを指定する16ビットの符号なし整数を含む2バイト。ピクセルデータフォーマットは、アルファ−カーソル画像機能パケットに定義されるようにアルファ−カーソル画像平面のための有効なフォーマットの少なくとも1つに準拠しなければならない。ビデオデータフォーマット記述子は、現在のパケット専用のピクセルフォーマットを定め、一定のフォーマットがある特定のビデオストリームの存続期間中使用され続けることを暗示しない。Error!Reference source not found.(エラー!情報源が検出されない)は、ビデオデータフォーマット記述子がどのようにしてコード化されるのかを描く。フォーマットは以下のとおりである。
【0246】
ビット[15:13]=000の場合には、ビデオデータは、1ピクセルあたりのビット数がビデオデータフォーマット記述子ワードの3から0ビットによって定義される白黒ピクセルのアレイからなる。ビット11から4はゼロに設定されるものとする。
【0247】
ビット[15:13]=001の場合、ビデオデータは、それぞれがカラーマップ(パレット)によって色を指定するカラーピクセルのアレイからなる。ビデオデータフォーマット記述子ワードのビット5から0は1ピクセルあたりのビット数を定める。ビット11から6はゼロに設定されるものとする。
【0248】
ビット[15:13]=010の場合、ビデオデータは、赤の1ピクセルあたりビット数がビット11から8によって定義され、緑の1ピクセルあたりのビット数がビット7から4によって定義され、青のピクセルあたりのビット数がビット3から0によって定義される未処理RGBフォーマットのカラーピクセルのアレイからなる。各ピクセルのビットの総数は、赤、緑、及び青に使用されるビット数の合計である。
【0249】
[15:13]=011、ビデオデータは輝度とクロミナンス情報のある4:2:2Y 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とCrnはYnとYn+1と関連付けられ、Cbn+2とCrn+2はYn+2とYn+3と関連付けられる等である。Yn、Yn+1、Yn+2、及びYn+3は左から右への単一行の4個の連続するピクセルの輝度値である。色成分の順序付けはMicrosoft UYVY FOURCCフォーマットと同じである。ビデオストリームパケットによって参照されるウィンドウ内の行(X右端縁−X左端縁+1)に奇数のピクセルがある場合には、各行の最後のピクセルに対応するCb値の後に次の行の第1のピクセルのY値が続く。Y Cb Crフォーマットを使用するウィンドウが、偶数のピクセルである幅を有することが勧められる。パケットのピクセルデータは偶数のピクセルを含むものとする。ピクセルデータの最後のピクセルがビデオストリームパケットヘッダ内に指定されるウィンドウの中の行の最後のピクセルに相当する場合、つまりピクセルデータの最後のピクセルのXロケーションがX右端縁に等しいとき、それは奇数又は偶数のピクセルを含んでよい。
【0250】
4つすべてのフォーマットに対して、(Error!Reference source not found.(エラー!情報源が検出されない)で「P」と示される)ビット12は、ピクセルデータサンプルがパックされるかどうかを指定する。Error!Reference source not found.(エラー!情報源が検出されない)は、パックされたデータとバイト位置合わせされたピクセルデータの差異を描く。
【0251】
0−ピクセルデータフィールドの各ピクセルの中の各ピクセルと各色は、MDDIインタフェースバイト境界とバイト位置合わせされる。
【0252】
1−ピクセルデータの各ピクセルの中の各ピクセルと各色は、前のピクセル又はピクセルの中の色に照らし合わせてパックされ、未使用ビットを残さない。
【0253】
ピクセルデータ属性−以下のとおりに解釈される16ビット符号なし整数を含む2バイト。
【0254】
ビット1と0は、ピクセルデータが送られるものとするディスプレイを選択する。
【0255】
ビット「1:0」=11又は00−データは両目に表示される。
【0256】
ビット[1:0]=10−データは左目だけに送られる。
【0257】
ビット[1:0]=01−データは右目だけに送られる。
【0258】
ビット2は、ピクセルデータがインタレースフォーマットであることを示す。
【0259】
ビット2は0である−ピクセルデータは標準漸次フォーマットである。行番号(ピクセルY座標)は、ある行から次の行に進むときに、1、増分されるものとする。
【0260】
ビット2は1である−ピクセルデータはインタレースフォーマットである。行番号(ピクセルY座標)は、ある行から次の行に進むときに2、増分されるものとする。
【0261】
ビット3は、ピクセルデータが代替ピクセルフォーマットであることを示す。これは、ビット2によってイネーブルされる標準インタレースモードに類似しているが、インタレースは水平の代わりに垂直である。
【0262】
ビット3は0である―ピクセルデータは標準漸次フォーマットである。列番号(ピクセルX座標)は、各継続ピクセルが受信されると1、増分されるものとする。
【0263】
ビット3は1である―ピクセルデータは代替ピクセルフォーマットである。列番号(ピクセルX座標)は、各ピクセルが受信されると2、増分されるものとする。
【0264】
ビット4は、ピクセルデータがディスプレイに関するのか、カメラに関するのかを示す。
【0265】
ビット4は0である―ピクセルデータはディスプレイフレームバッファへ、又はディスプレイフレームバッファからである。
【0266】
ビット4は1である―ピクセルデータはカメラへ、又はカメラからである。
【0267】
ビット5は、将来の使用のために確保され、ゼロに設定されるものとする。
【0268】
ビット7と6は、ピクセルデータが書き込まれるものとするフレームバッファを指定する表示更新ビットである。フレーム更新ビットの効果は項、Error!Reference source not found.(エラー!情報源が検出されない)とError!Reference source not found.(エラー!情報源が検出されない)にさらに詳しく説明される。
【0269】
ビット[7:6]=01―ピクセルデータがオフライン画像バッファに書き込まれる。
【0270】
ビット[7:6]=00―ピクセルデータが表示をリフレッシュするために使用される画像バッファに書き込まれる。
【0271】
ビット[7:6]=11―ピクセルデータが全画像バッファに書き込まれる。
【0272】
ビット[7:6]=10−無効。将来の使用のために確保。ピクセルデータは無視され、画像バッファのどれにも書き込まれない。
【0273】
ビット8から15は将来の使用のために確保され、ゼロに設定されるものとする。
【0274】
X左端縁―宛て先画像の左端縁のX座標を指定する16ビット符号なし整数を含む2バイト。
【0275】
Y上端縁―宛て先画像の上端縁のY座標を指定する16ビット符号なし整数を含む2バイト。
【0276】
X右端縁―宛て先画像の右端縁のX座標を指定する16ビット符号なし整数を含む2バイト。
【0277】
Y下端縁―宛て先画像の下端縁のY座標を指定する16ビット符号なし整数を含む2バイト。
【0278】
X画像サイズ―ソース画像の幅を指定する16ビット符号なし整数を含む2バイト。
【0279】
Y画像サイズ―ソース画像の高さを指定する16ビット符号なし整数を含む2バイト。
【0280】
CRC―パケット長を含むパケットのすべてのバイトの16ビットCRCを含む2バイト。
【0281】
スケーリング済みビデオストリーム肯定応答パケット
スケーリング済みビデオストリーム肯定応答パケットにより、クライアントはスケーリング済みビデオストリームセットアップパケットの受信を肯定応答できる。クライアントは、有効ステータス回答リストの有効パラメータ回答リストの143というパラメータ値を介して、及びスケーリング済みビデオストリーム機能パケットの最大ストリーム数フィールドのゼロではない値を介してスケーリング済みビデオストリーム肯定応答パケットをサポートするその能力を示すものとする。
【0283】
パケットコンテンツ:
パケット長―パケット長フィールドを含まないパケット内の総バイト数を指定する16ビット符号なし整数を含む2バイト。このパケットのパケット長はつねに10である。
【0284】
パケットタイプ―137というパケットタイプは、スケーリング済みビデオストリーム肯定応答パケットとしてパケットを識別する。
【0285】
cClient ID―クライアントIDのために確保される16ビット符号なし整数を含む2バイト。このフィールドは将来の使用のために確保され、ゼロに設定されるものとする。
【0286】
ストリームID―ストリームIDのための一意の識別子を指定する16ビット符号ない整数を含む2バイト。これは、スケーリング済みビデオストリームセットアップパケット内のホストによって割り当てられるのと同じ値である。
【0287】
2バイトAck(肯定応答コード)フィールドは、指定されたスケーリング済みビデオストリームを更新する試みの結果を説明するコードを含む値を提供する。該コードは以下のように定義される。
【0288】
0―ストリーム割り当て試行が成功した。
【0289】
1―ストリーム割り当て解除試行が成功した。
【0290】
2―すでに割り当てられているストリームIDを割り当てようとする無効な試み。
【0291】
3―すでに割り当て解除されているストリームIDを割り当て解除しようとする無効な試み。
【0292】
4―クライアントはスケーリング済みのビデオストリームをサポートしない。
【0293】
5―ストリームパラメータはクライアントの機能と一貫性がない。
【0294】
6―クライアントにより許可される最大値より大きなストリームID値。
【0295】
7―指定されたストリームを割り当てるためにクライアント内で使用可能な不十分な資源。
【0296】
CRC―パケット長を含むパケット内のすべてのバイトの16ビットCRCを含む2バイト。
【0297】
スケーリング済みビデオストリームパケット
スケーリング済みビデオストリームパケットは、特定のスケーリング済みビデオストリームと関連付けられるピクセルデータを送信するために使用される。このパケットによる領域基準の(the region reference by)サイズはスケーリング済みビデオストリームセットアップパケットによって定義される。クライアントは、有効ステータス回答リストパケットの有効パラメータ回答リスト内の143というパラメータ値を介して、及びスケーリング済みビデオストリーム肯定応答パケットのAckコードフィールドの成功したスケーリング済みビデオストリーム割り当て応答を介してスケーリング済みビデオストリームパケットをサポートするその能力を示すものとする。
【0299】
図1、スケーリング済みビデオストリームパケット
パケットコンテンツ:
パケット長―パケット長フィールドを含まないパケット内のバイト総数を指定する16ビット符号なし整数を含む2バイト。
【0300】
パケットタイプ―16ビット符号なし整数を含む2バイト。18というパケットタイプは、スケーリング済みのビデオストリームパケットとしてパケットを識別する。
【0301】
hClient ID―クライアントIDに確保される16ビット符号なし整数を含む2バイト。このフィールドは将来の使用ために確保され、ゼロに設定されるものとする。
【0302】
ストリームID―ストリームIDの一意の識別子を指定する16ビット符号なし整数を含む2バイト。この値は、スケーリング済みビデオストリームセットアップパケットの中のホストによって指定され、スケーリング済みビデオストリーム肯定応答パケットで確認される。
【0303】
ピクセルカウント―以下のピクセルデータフィールドの中のピクセル数を指定する16ビット符号なし整数を含む2バイト。
【0304】
パラメータCRC―パケット長からピクセルカウントまでの全バイトの16ビットCRCを含む2バイト。このCRCがチェックできない場合には、パケット全体を廃棄するものとする。
【0305】
ピクセルデータ―スケーリングされてから、表示される未処理ビデオ情報。データは、ビデオデータフォーマット記述子フィールドによって記述される方法でフォーマットされる。データは、項Error!Reference source not found.(エラー!情報源が検出されない)に定義されるように一度に1行ずつ送信される。
【0306】
ピクセルデータCRC―ピクセルデータだけの16ビットCRCを含む2バイト。このCRCがチェックできない場合には、ピクセルデータは依然として使用されるが、CRCエラーカウントが増分されるものとする。
【0307】
特殊ステータス要求パケット
特殊ステータス要求パケットは、クライアントがこのパケットに指定されるようにホストに機能パケット又はステータスパケットを送信することをホストが要求するための手段となる。クライアントは、次の逆方向リンクカプセル化パケットで指定されるタイプのパケットを戻すものとする。クライアントは特殊ステータス要求パケットに応答する能力がある場合は、表示能力パケットの表示特徴能力インジケータフィールドにビット17を設定する。クライアントは、表示能力パケットの表示特徴能力インジケータフィールドのビット21を介して特殊ステータス要求パケットをサポートするその能力を示すものとする。
【0308】
図、特殊ステータス要求パケット
パケットコンテンツ:
パケット長―パケット長フィールドを含まないパケット内の総バイト数を指定する16ビット符号なし整数を含む2バイト。このパケットのパケット長はつねに10である。
【0309】
パケットタイプ―16ビット符号なし整数を含む2バイト。138というパケットタイプは特殊ステータス要求パケットとしてパケットを識別する。
【0310】
hClient ID―クライアントIDに確保される16ビット符号なし整数を含む2バイト。このフィールドは将来の使用に確保され、ゼロに設定されるものとする。
【0311】
ステータスパケットID―以下のとおりにホストにクライアントが送信するものとする機能パケット又はステータスパケットのタイプを指定する16ビット符号なし整数を含む2バイト。
【0312】
66―表示能力パケットはクライアントにより送信されるものとする。
【0313】
133―アルファ−カーソル画像機能パケットはクライアントにより送信されるものとする。
【0314】
139―クライアントが送信できる機能パケットとステータスパケットの正確なタイプを識別する有効ステータス回答リストパケットが送信されるものとする。
【0315】
140―パケット処理遅延パラメータパケットはクライアントによって送信されるものとする。
【0316】
141―パーソナルディスプレイ機能パケットはクライアントにより送信されるものとする。
【0317】
142―エラーレポート表示パケットはクライアントにより送信されるものとする。
【0318】
143―スケーリング済みビデオストリーム機能パケットはクライアントにより送信されるものとする。
【0319】
144―表示識別パケットはクライアントにより送信されるものとする。
【0320】
56から63―製造メーカに特殊な機能識別子及びステータス識別子のために使用できる。
【0321】
CRC―パケット長を含むパケットの全バイトの16ビットCRCを含む2バイト。
【0322】
有効ステータス回答リストパケット
有効ステータス回答リストパケットは、ホストに、クライアントが応答する機能を有するステータスパケットと機能パケットのリストを提供する。クライアントは、表示能力パケットの表示特徴能力インジケータフィールドのビット21を介して有効ステータス回答リストパケットをサポートするその能力を示すものとする。
【0323】
パケットコンテンツ:
パケット長―パケット長フィールドを含まないパケット内の総バイト数を指定する16ビット符号なし整数を含む2バイト。このパケットのパケット長はつねに10である。
【0324】
パケットタイプ―16ビット符号なし整数を含む2バイト。139というパケットタイプが有効ステータス回答パケットとしてパケットを識別する。
【0325】
cClient−ID―クライアントIDに確保される16ビット符号なし整数を含む2バイト。このフィールドは将来の使用に確保され、ゼロに設定されるものとする。
【0326】
リスト内の値数―次の有効パラメータ回答リストの中のアイテム数を指定する16ビット符号なし整数を含む2バイト。
【0327】
有効パラメータ回答リスト―クライアントがホストに送信できる機能パケット又はステータスパケットのタイプを指定する2バイトパラメータのリスト。クライアントが、(表示能力パケットの中の表示特徴能力インジケータフィールドのビット21を介して)ステータス要求パケットに応答できることを示した場合、それはつねに少なくとも表示能力パケット(パケットタイプ==66)と有効ステータス回答リストパケット(パケットタイプ=139)を送信できるものとする。このリスト及びその意味に含まれてよいパケットタイプは、以下のとおりである。
【0328】
66―表示能力パケットはクライアントによって送信されるものとする。
【0329】
133―アルファ−カーソル画像機能パケットはクライアントにより送信されるものとする。
【0330】
139―クライアントが送信できる機能パケットとステータスパケットの正確なタイプを識別する有効ステータス回答リストパケットが送信されるものとする。
【0331】
140―パケット処理遅延パラメータパケットはクライアントによって送信されるものとする。
【0332】
141―パーソナルディスプレイ機能パケットはクライアントにより送信されるものとする。
【0333】
142―エラーレポート表示パケットはクライアントにより送信されるものとする。
【0334】
143―スケーリング済みビデオストリーム機能パケットはクライアントにより送信されるものとする。
【0335】
144―表示識別パケットはクライアントにより送信されるものとする。
【0336】
56から63―製造メーカに特殊な機能識別子及びステータス識別子のために使用できる。
【0337】
CRC―パケット長を含むパケットの全バイトの16ビットCRCを含む2バイト。
【0338】
パケット処理遅延パラメータパケット
パケット処理遅延パラメータパケットは、ホストが、特定のパケットタイプの受信に関連付けられる処理を完了するために要する時間を計算できるようにするためのパラメータのセットを提供する。ホストによって送信されるいくつかのコマンドは、ゼロ時間でクライアントにより完了することはできない。ホストは、クライアントによって特定の機能が完了されているかどうかを判断するために要求ステータス表示パケットでステータスビットをポーリングしてよいか、あるいはホストはパケット処理遅延パラメータパケットでクライアントにより返されるパラメータを使用して完了時間を計算してよい。クライアントは、有効ステータス回答リストパケットの有効パラメータ回答リストの中の140というパラメータ値を介してパケット処理遅延パラメータパケットをサポートするその能力を示すものとする。
【0339】
パケットコンテンツ:
パケット長―パケット長フィールドを含まないパケット内の総バイト数を指定する16ビット符号なし整数を含む2バイト。このパケットのパケット長はつねに10である。
【0340】
パケットタイプ―16ビット符号なし整数を含む2バイト。140というパケットタイプは、パケット処理遅延パラメータパケットとしてパケットを識別する。
【0341】
cClient ID―クライアントIDに確保される16ビット符号なし整数を含む2バイト。このフィールドは将来に確保され、ゼロに設定されるものとする。
【0342】
リストアイテム数―以下の有効パラメータ回答リスト内の項目数を指定する16ビット符号なし整数を含む2バイト。
【0343】
有効パラメータ回答リスト―1つ又は複数の遅延パラメータリスト項目を含むリスト。単一遅延パラメータリスト項目のフォーマットは、Error!Reference source not found.(エラー!情報源が検出されない)に示される。
【0344】
CRC―パケット長を含むパケット内の全バイトの16ビットCRCを含む2バイト。
【0345】
各遅延パラメータリスト項目の長さは正確に6バイトであり、以下のように定義される。
【0346】
遅延用パケットタイプ―以下の遅延パラメータが適用するパケットタイプを指定する16ビット符号なし整数を含む2バイト。
【0347】
ピクセル遅延―遅延値に対する指数である8ビット符号なし整数を含む1バイト。テーブルから読み取られる値は、パケットの宛て先フィールドの総ピクセル数で乗算される。総ピクセル数は幅にパケットによって参照されるビットマップの宛て先領域の高さをかける。方程式0から1は総遅延を計算するために使用される。
【0348】
水平ピクセル遅延―遅延値テーブル(DPVLと同じ表)に対する指数である8ビット符号なし整数を含む1バイト。テーブルから読み取られる値は、パケットの宛て先フィールドの(ピクセル単位の)幅で乗算される。方程式0から1は総遅延を計算するために使用される。
【0349】
垂直ピクセル遅延―遅延値テーブル(DPVLと同じ表)に対する指数である8ビット符号なし整数を含む1バイト。テーブルから読み取られる該値は、パケットの宛て先フィールドの(ピクセル単位の)高さで乗算される。方程式0から1は総遅延を計算するために使用される。
【0350】
固定遅延―遅延値テーブル(DPVLと同じ表)に対する指数である8ビット符号なし整数を含む1バイト。テーブルから読み取られる値は、パケット内に指定されるあらゆるパラメータ値に関係のないパケットを処理するために要する時間を表す固定遅延パラメータである。方程式0から1は総遅延を計算するために使用される。
【0351】
遅延=(PacketProcessingDelay(PixelDelay)・TotalPixels)+
(PacketProcessingDelay(HorizontalPixelDelay)・Width)+
(PacketProcessingDelay(VerticalPixelDelay)・Height)+
PacketProcessingDelay(FixedDelay)
方程式0から1、パケット処理完了時間遅延
いくつかのパケットの場合、それらのパラメータは対応するパケットで参照されないため、TotalPixels、幅、又は高さは適用しない。それらのケースでは、対応するピクセル遅延パラメータはゼロになるものとする。
【0352】
パーソナルディスプレイ機能パケット
パーソナルディスプレイ機能パケットは、ヘッドマウント式ディスプレイ又はディスプレイめがね(display glasses)などのパーソナルディスプレイデバイスの機能を記述するパラメータのセットを提供する。これによりホストはクライアントの特定の機能に従って表示情報をカスタマイズできる。他方、クライアントは、有効ステータス回答リストパケットの有効パラメータ回答リストに対応するパラメータを使用することによってパーソナルディスプレイ機能パケットを送信する能力を示す。
【0353】
パケットコンテンツ
パケット長―パケット長フィールドを含まないパケット内の総バイト数を指定する16ビット符号なし整数を含む2バイト。このパケットのパケット長はつねに68である。
【0354】
パケットタイプ―16ビット符号なし整数を含む2バイト。141のパケットタイプはパーソナルディスプレイ機能パケットとしてパケットを識別する。
【0355】
cClient ID―クライアントIDに確保される16ビット符号なし整数を含む2バイト。このフィールドは将来に確保され、ゼロに設定されるものとする。
【0356】
サブピクセルレイアウトフィールドは、以下の値を使用して、上から下へ及び左から右へサブピクセルの物理的なレイアウトを指定する8ビット符号なし整数を含む。つまり、0は、サブピクセルレイアウトが画定されていないことを示し、1は赤、緑、青の縞を示し、2は青、緑、赤の縞を示し、3は、左上に赤、右下に青の2×2のサブピクセル、及び左下に一方、右上に他方の2つの緑のサブピクセルの配列を有する4倍ピクセルを示し、4は左下に赤、右上に青の2×2のサブピクセル配列、及び左上に一方、右下に他方の2つの緑のサブピクセルの配列を有する4倍ピクセルを示し、5は、デルタ(トライアド)を示し、6は(フィールドシーケンシャルカラーのLCOSディスプレイなど)赤、緑、及び青がオーバレイされたモザイクを示し、7から255は通常将来の使用に確保される。
【0357】
ピクセル形状フィールドは、以下の値を使用して特定の構成のサブピクセルから構成される各ピクセルの形状を指定する8ビット符号なし整数を含む。つまり、0はサブピクセル形状が画定されていないことを示し、1は円形を示し、2は正方形を示し、3は矩形を示し、4は小判形を示し、5は楕円系を示し、値6から255は当業者が理解されるように所望される形状を示す上で将来の使用に確保されている。
【0358】
水平視野(HFOV)フィールド―0.5度の増分で水平視野を指定する8ビット符号なし整数を含む1バイト(例えば、HFOVが30度である場合、この値は60である)。この値がゼロである場合には、HFOVは指定されない。
【0359】
垂直視野(VFOV)フィールド―0.5度の増分で垂直視野を指定する8ビット符号なし整数を含む1バイト(例えば、HFOVが30度である場合、この値は60である)。この値がゼロである場合には、VFOVは指定されない。
【0360】
視軸交差フィールド―0.01ジオプター(1/m)増分で、視軸交差を指定する8ビット符号なし整数を含む1バイト(例えば、視軸交差が2.22メートルである場合、この値は45である)。この値がゼロである場合、視軸交差は指定されない{注意:本パラメータの仕様は大部分の用途での所望される範囲に適切か}。
【0361】
左/右画像重複フィールド―左画像と右画像の重複のパーセンテージを指定する8ビット符号なし整数を含む1バイト。画像重複のパーセント単位の許容範囲は1から100である。101から255という値は無効であり、使用されないものとする。この値がゼロである場合には、画像重複は指定されない。
【0362】
シースルーフィールド―画像のシースルーパーセンテージを指定する8ビット符号なし整数を含む1バイト。シースルーのパーセント単位の許容範囲は0から100である。101から254という値は無効であり、使用されないものとする。この値が255である場合には、シースルーパーセンテージは指定されない。
【0363】
最大輝度フィールド―20nitsの増分で最大輝度を指定する8ビット符号なし整数を含む1バイト(例えば最大輝度が100nitsの場合、この値は5である)。この値がゼロである場合には、最大輝度は指定されない。
【0364】
光学機能フラグフィールド―ディスプレイの光学機能を指定する多様なフィールドを含む16ビット符号なし整数を含む2バイト。
【0365】
ビット15から5―将来の使用に確保され、ゼロに設定されるものとする。
【0366】
ビット4―眼鏡焦点調整
0―ディスプレイは眼鏡焦点調整を有さない。
【0367】
1―ディスプレイは眼鏡焦点調整を有する。
【0368】
ビット3から2―両眼機能
0―ディスプレイは双眼であり、二次元(2D)画像だけを表示できる。
【0369】
1―ディスプレイは双眼であり、三次元(3D)画像を表示できる。
【0372】
ビット1から0―左−右視野湾曲対称
0―視野湾曲は定義されていない。このフィールドがゼロである場合には、A1からE5までのすべての視野湾曲値は、ディスプレイの焦点距離を指定する、あるいは焦点距離が指定されていないことを示すためにゼロに設定されるものとする点C3を除いてゼロに設定されるものとする。
【0373】
1―左ディスプレイと右ディスプレイは同じ対称性を有する。
【0374】
2―左ディスプレイと右ディスプレイは、垂直軸(列C)でミラーリングされる。
【0376】
瞳孔間距離(IPD)最小―ミリメートル(mm)単位で最小瞳孔間距離を指定する8ビット符号なし整数を含む1バイト。この値がゼロである場合には、最小瞳孔間距離は指定されない。
【0377】
瞳孔間距離(IPD)最大―ミリメートル(mm)単位で最大瞳孔間距離を指定する8ビット符号なし整数を含む1バイト。この値がゼロである場合には、最大瞳孔間距離は指定されない。
【0378】
視野湾曲点リスト―焦点距離を、1から65535の範囲(例えば、1は0.001ジオプターであり、65535は65.535ジオプターである)でジオプターの1000分の1(1/m)で指定する25の2バイトのパラメータのリスト。視野湾曲点リストの中の25の要素は、以下のError!Reference source not found.(エラー!情報源が検出されない)に示されるように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
CRC―パケット長を含むパケット内の全バイトの16ビットCRCを含む2バイト。
【0379】
エラーレポート表示パケット
エラーレポート表示パケットは、クライアントがホストに操作エラーのリストを提供できるようにするための機構又は手段として働く。クライアントはホストから特定のコマンドを受信した結果としてその正常な動作の過程で幅広いエラーを検出してよい。これらのエラーの例は以下を含む。クライアントはそれがサポートしていないモードで動作するように命令された可能性があり、クライアントが、クライアントの能力の範囲外又は能力を超えている特定のパラメータを含むパケットを受信した可能性があり、クライアントが不適切なシーケンスでモードに入るように命令された可能性がある。エラーレポート表示パケットは、正常な動作中にエラーを検出するために使用されてよいが、ホストシステムとクライアントシステムの開発及び統合にける問題点を診断するためにシステム設計者とインテグレータにとって最も有用である。クライアントは有効ステータス回答リストパケットの有効パラメータ回答リストの142というパラメータ値を介してエラーレポート表示パケットを送信するその能力を示すものとする。
【0380】
パケットコンテンツ
パケット長―パケット長フィールドを含まないパケットの総バイト数を指定する16ビット符号なし整数を含む2バイト。
【0381】
パケットタイプ―16ビット符号なし整数を含む2バイト。142というパケットタイプはエラーレポート表示パケットとしてパケットを識別する。
【0382】
cClient ID―クライアントIDに確保される2バイト。このフィールドは将来の使用に確保され、ゼロに設定されるものとする。
【0383】
リストアイテム数―以下のエラーコードリストのアイテム数を指定する16ビット符号なし整数を含む2バイト。
【0384】
エラーコードリスト―1つ又は複数のエラーレポートリストアイテムを含むリスト。単一エラーレポートリストのフォーマットは、Error!Reference source not found.(エラー!情報源が検出されない)に示される。
【0385】
一実施形態では、各エラーレポートリストアイテムの長さは正確に4倍であり、一実施形態では、報告されるエラーのタイプを指定する2バイトの表示エラーコードフィールド、表示エラーコードパケットにより定められるエラーに関するさらに大きな詳細のレベルを指定する2バイトのエラーサブコードフィールドを備える構造を有する。各表示エラーコードの特定の定義は、クライアントの製造メーカによって定められる。エラーサブコードはあらゆる表示エラーコードに定められる必要はなく、エラーサブコードが定義されていない場合、値はゼロに設定される。各エラーサブコードの特定の定義はクライアントの製造メーカにより定義される。
【0386】
表示識別パケット
表示識別パケットは、クライアントが特殊ステータス要求に応えて識別データを返すことができるようにする。一実施形態では、クライアントは、有効ステータス回答リストパケットの有効パラメータ回答リストで144というパラメータ値を使用して表示識別パケットを送信する能力を示す。ホストが、このデータをクライアントから読み取ることによってクライアントデバイス製造メーカ名及び型番を決定できることが有効である。情報は、クライアントが、表示能力パケットで説明できない特殊な能力を有するかどうかを判断するために使用されてよい。クライアントから識別情報を読み取るには潜在的に2つの方法、手段又は機構がある。一方の方法は、ベースEDID構造ないのフィールドに類似したフィールドを含む表示能力パケットを使用することによる。他方の方法は、表示能力パケットの類似するフィールドに比較してさらに優れた情報セットを含む表示識別パケットを使用することによる。これにより、ホストは3文字EISAコードを割り当てられていない製造メーカを識別することができるようになり、通し番号が英数字文字を含むことができる。
【0387】
2バイトのパケットタイプフィールドは、表示識別パケットとしてパケットを識別する値を含む。この値は一実施形態において144であることが選択される。cClient IDフィールド(2バイト)が再びクライアントIDの将来の使用に確保され、通常ゼロに設定される。CRCフィールド(2バイト)は、パケット長を含むパケット内の全バイトの16ビットCRCを含む。
【0388】
1バイトの製造週フィールドは、ディスプレイの製造週を定める値を含む。少なくとも一実施形態では、この値は、それがクライアントによってサポートされる場合には1から53の範囲にある。このフィールドがクライアントによってサポートされない場合には、それは通常ゼロに設定される。1バイトの製造年フィールドはディスプレイの製造年を定める値を含む。他のベース年も使用できるであろうが、この値は開始点として1990年からのオフセットである。1991年から2245年の範囲の年はこのフィールドによって表すことができる。例:2003年は、13という製造年値に相当する。このフィールドがクライアントによってサポートされていない場合、それはゼロという値に設定されなければならない。
【0389】
製造名長フィールド、製品名長フィールド、及び通し番号長フィールドは、それぞれあらゆるヌル終了文字又はヌルパッド文字を含む製造名文字列フィールドの長さ、あらゆるヌル終了文字又はヌルパッド文字を含む製品名文字列フィールドの長さ、及びあらゆるヌル終了文字又はヌルパッド文字を含む通し番号文字列フィールドの長さを指定する2バイト値を含む。
【0390】
製造メーカ名文字列フィールド、製品名文字列フィールド、及び通し番号文字列フィールドはそれぞれ、それぞれディスプレイの製造メーカ、製品名、及び英数字通し番号を指定するASCII文字列を含む、それぞれ製造名フィールド、製品名フィールド、又は通し番号フィールドによって指定される可変数のバイトを含む。これらの文字列のそれぞれは少なくとも1つのヌル文字によって終了する。
【0391】
代替表示能力パケット
代替表示能力パケットは、MDDIクライアントコントローラに取り付けられた代替ディスプレイの能力を示す。それは、特殊ステータス要求パケットに応えて送信される。プロンプトを出されると、クライアントデバイスは、サポートされる代替ディスプレイごとに代替表示能力パケットを送信する。クライアントは有効ステータス回答リストパケットの有効パラメータ回答リスト内の145というパラメータ値を介して代替表示能力パケットを送信するその能力を示すものとする。
【0392】
内部モードで動作されるMDDIシステムの場合、MDDIクライアントコントローラに複数のディスプレイが接続されることは共通である場合がある。例の応用例は、フリップの内側に大型ディスプレイを備え、外側に小型のディスプレイを備える携帯電話である。表示能力パケットの代替表示番号フィールドは、複数のディスプレイが取り付けられていることを報告するために使用され、代替表示能力パケットは各代替ディスプレイの能力を報告する。ビデオストリームパケットは、クライアントデバイス内の各代替ディスプレイをアドレス指定するためにピクセルデータ属性フィールドの4ビットを含む。
【0393】
パケットコンテンツ
パケットタイプ―16ビット符号なし整数を含む2バイト。145というパケットタイプは、代替表示能力パケットとしてパケットを識別する。
【0394】
cClient ID―クライアントIDに確保される16ビット符号なし整数を含む2バイト。このフィールドは将来の使用に確保され、ゼロに設定されるものとする。
【0395】
代替表示番号―0から15の範囲内の整数で代替ディスプレイのアイデンティティを示す8ビット符号なし整数を含む1バイト。第1の代替ディスプレイは番号0となるものとし、他の代替ディスプレイは、使用される最大値が代替ディスプレイの総数から1を差し引いた、一意の代替ディスプレイ番号値で識別されるものとする。代替ディスプレイの総数から1を引いたものより大きい値は使用されないものとする。例:一次ディスプレイとMDDIクライアントに接続される発呼者IDディスプレイを有する携帯電話は、1つの代替ディスプレイを有し、その結果、発呼者IDディスプレイの代替ディスプレイ番号はゼロであり、表示能力パケットの代替ディスプレイフィールドの番号は1という値を有する。
【0396】
確保1―将来の使用に確保される8ビット符号なし整数を含む1バイト。このフィールドのすべてのビットはゼロに設定されるものとする。このフィールドの目的は、以後すべての2バイトフィールドを16ビットワードアドレスに位置合わせさせ、4バイトフィールドを32ビットワードアドレスに位置合わせさせることである。
【0397】
ビットマップ幅―ピクセルの数として表されるビットマップの幅を指定する16ビット符号なし整数を含む2バイト。
【0398】
ビットマップ高さ―ピクセルの数として表されるビットマップの高さを指定する16ビット符号なし整数を含む2バイト。
【0399】
表示ウィンドウ幅―ピクセル数として表されるディスプレイウィンドウの幅を指定する16ビット符号なし整数を含む2バイト。
【0400】
表示ウィンドウ高さ―ピクセル数として表されるディスプレイウィンドウの高さを指定する16ビット符号なし整数を含む2バイト。
【0401】
カラーマップRGB幅―カラーマップ(パレット)表示モードで表示できる赤、緑及び青の成分のビット数を指定する16ビット符号なし整数を含む2バイト。色成分(赤、緑、及び青)ごとの最大8ビットを使用できる。8ビットの各色成分がカラーマップパケットで送信されても、このフィールドで定められる各色成分の最下位ビットの数だけが使用される。ディスプレイクライアントがカラーマップ(パレット)フォーマットを使用できない場合には、この値はゼロに設定される。カラーマップRGB幅ワードは3つの別々の符号なし値から構成される。
【0402】
ビット3から0は、各ピクセルの中の青の最大ビット数を定義する。0から8が有効である。
【0403】
ビット7から4が各ピクセルの中の緑の最大ビット数を定義する。0から8が有効である。
【0404】
ビット11から8は、各ピクセルの中の赤の最大ビット数を定義する。0から8が有効である。
【0405】
ビット15から12は、将来の使用に確保され、ゼロに設定されるものとする。
【0406】
RGB能力―RGBフォーマットで表示できる解像度のビット数を指定する16ビット符号なし整数を含む2バイト。クライアントがRGB形式を使用できない場合には、この値はゼロである。RGB機能ワードは3つの別々の符号なし値から構成される。
【0407】
ビット3から0は、各ピクセルの中の青(青い輝度)の最大ビット数を定義する。
【0408】
ビット7から4は、各ピクセルの中の緑(緑の輝度)の最大ビット数を定義する。
【0409】
ビット11から8は、各ピクセルの中の赤(赤の輝度)の最大ビット数を定義する。
【0410】
ビット15から12は将来の使用に確保され、ゼロに設定されるものとする。
【0411】
白黒機能―白黒フォーマットで表示できる解像度のビット数を指定する8ビット符号なし整数を含む1バイト。クライアントが白黒フォーマットを使用できない場合には、この値はゼロである。ビット7から4は将来の使用に確保され、ゼロに設定されるものとする。ビット3から0は、各ピクセルで存在できるグレイスケールの最大ビット数を定義する。これらの4つのビットにより、各ピクセルが1ビットから15ビットからなることを指定できる。値がゼロである場合には、白黒フォーマットはクライアントによってサポートされない。
【0412】
確保2―将来の使用に確保される8ビット符号なし整数を含む1バイト。このフィールド内のすべてのビットはゼロに設定されるものとする。このフィールドの目的は、以後のすべての2バイトフィールドを16ビットワードアドレスに位置合わせさせ、4バイトフィールドを32ビットワードアドレスに位置合わせさせることである。
【0413】
Y Cb Cr機能―Y Cb Crフォーマットで表示できる解像度のビット数を指定する16ビット符号なし整数を含む2バイト。クライアントがY Cb Crフォーマットを使用できない場合、この値はゼロである。Y Cb Cr機能ワードは、3つの別々の符号なし値から構成される。
【0414】
ビット3から0は、Cbサンプルを指定する最大ビット数を定義する。
【0415】
ビット7から4は、Crサンプルを指定する最大ビット数を定義する。
【0416】
ビット11から8は、Yサンプルを指定する最大ビット数を定義する。
【0417】
ビット15から12は将来の使用に確保され、ゼロに設定されるものとする。
【0418】
表示特徴能力インジケータ―クライアントの特定の特徴がサポートされているかどうかを示すフラグのセットを含む8ビット符号なし整数を含む1バイト。1に設定されるビットは能力がサポートされていることを示し、ゼロに設定されるビットは能力がサポートされていないことを示す。
【0419】
ビット0―クライアントはパックされたフォーマットのビデオデータを受け入れることができる。
【0420】
ビット1から7―将来の使用に確保され、ゼロに設定されるものとする。
【0421】
確保3―将来の使用に確保される8ビット符号なし整数を含む1バイト。このフィールドのすべてのビットはゼロに設定されるものとする。このフィールドの目的は、以後すべての2バイトフィールドを16ビットワードアドレスと位置合わせさせ、4バイトフィールドを32ビットワードアドレスと位置合わせさせることである。
【0422】
CRC―パケット長を含むパケットのすべてのバイトの16ビットCRCを含む2バイト。
【0423】
レジスタアクセスパケット
レジスタアクセスパケットは、MDDIリンクの反対側にある構成レジスタとステータスレジスタにアクセスするための手段、機構又は方法をホスト又はクライアントのどちらかに提供する。これらのレジスタは、ディスプレイ又はデバイスコントローラごとに1つしか存在しない可能性が高い。これらのレジスタはすでに、設定構成、運転モードを必要とし、他の有効且つ必要な設定値を有する多くのディスプレイの中に存在している。レジスタアクセスパケットを使用すると、MDDIホスト又はクライアントはMDDIリンクを使用してレジスタに書き込む及びレジスタを読み取るように要求することができる。ホスト又はクライアントがレジスタを読み取ることを要求すると、反対側は同じパケットタイプのレジスタデータを送信することによって、また、これが読み取り/書き込み情報フィールドを使用してある特定のレジスタから読み取られるデータであることを示すことによっても応答する必要がある。レジスタアクセスパケットは、1より大きいレジスタカウントを指定することによって複数のレジスタを読み取る、又は書き込むために使用されてよい。クライアントは、表示能力パケットの表示特徴能力インジケータフィールドのビット22を使用してレジスタアクセスパケットをサポートする能力を示す。
【0424】
レジスタアクセスパケット
2バイトのパケット長フィールドは、パケット長フィールドを含まないパケット内の総バイト数を指定する16ビット符号なし整数を含む。
【0425】
パケットタイプ―16ビット符号なし整数を含む2バイト。146というパケットタイプはパケットをレジスタアクセスパケットとして識別する。
【0426】
bClient ID―クライアントIDに確保される16ビット符号なし整数を含む2バイト。このフィールドは将来の使用に確保され、ゼロに設定されるものとする。
【0427】
読み取り/書き込み情報―特定のパケットを書き込み又は読み取り又は読み取りに対する応答のどれかとして指定し、データ値のカウントを提供する16ビット符号なし整数を含む2バイト。
【0428】
BitBits15から14―読み取り/書き込みフラグ
BitBits[15:14]=10―ホスト これは(Host this)レジスタアドレスフィールドによりアドレス指定される1台又は複数台のレジスタからのデータに対する要求である。
【0429】
BitBIts[15:14]=00―writethisパケットは、レジスタアクセスフィールドによってアドレス指定されるレジスタに書き込まれるデータを含む。指定されたレジスタに書き込まれるデータはレジスタデータフィールドに含まれる。
【0430】
BitBits[15:14]=11―that containhisパケットは、読み取り/書き込みフラグを10に設定させるレジスタアクセスパケットに応えて要求されたデータを含む。レジスタアクセスフィールドは、第1のレジスタデータアイテムに対応するレジスタのアドレスを含むものとし、レジスタデータフィールドは1つ又は複数のアドレスから読み取られたデータを含むものとする。
【0431】
BitBits[15:14]=10―この値は、将来の使用に確保され、使用されないものとする。
【0432】
ビット13:0―レジスタデータリストフィールドで転送される32ビットレジスタデータアイテムの数を指定する14ビット符号なし整数。
【0433】
ビット15がホストにより送信されるパケットの中で0である場合には、ビット13:0は、レジスタアドレスフィールドによって指定されるレジスタで開始するクライアントレジスタに書き込まれるパケットのレジスタデータリストフィールドに含まれるレジスタデータアイテムの数を指定する。
【0434】
ビット15がホストにより送信されるパケット内で1である場合、ビット13:0はクライアントがホストに送信するものとするレジスタデータアイテム数を指定する。ホストによって送信されるレジスタデータフィールドは、アイテムを含まないものとし、ゼロ長である。
【0435】
ビット15がクライアントにより送信されるパケット内で1である場合には、ビット13:0はレジスタデータリストフィールドに含まれるレジスタデータアイテム数を指定する。
【0436】
ビット15はクライアントによって送信されるパケットの0に設定されないものとする。これは有効な値ではない。
【0437】
レジスタアドレス―書き込まれる、又は読み取られるレジスタアドレスを含む32ビット符号なし整数を含む4バイト。そのアドレス指定が32ビット未満である、アドレス指定の場合、上部ビットがゼロに設定されるものとする。
【0438】
レジスタデータリスト―クライアントデバイスレジスタから読み取られたクライアントレジスタ又は値に書き込まれる4バイトのレジスタデータ値のリスト。
【0439】
CRC―パケット長を含むパケット内のすべてのバイトの16ビットCRCを含む2バイト。
【0440】
フレーム同期パケット
フレーム同期パケットとは、ホストにラスタ画像の開始を示す能力を与え、クライアントがビデオストリームパケット内のピクセル及びウィンドウアドレス指定能力を使用するのを回避できるようにする。これは、画像の各フレームの開始時にフレーム同期パケットを送信することによって達成され、その結果(ビット5がピクセルデータ属性フィールドに設定された)1つのビデオストリームパケットが画像データの各行について送信される。一実施形態においては、クライアントは表示能力パケットの表示特徴能力インジケータのフィールドのビット23を使用してフレーム同期パケットをサポートする能力を示す。
【0442】
パケットタイプ―16ビット符号なし整数を含む2バイト。147というパケットタイプはフレーム同期パケットとしてパケットを識別する。
【0443】
bClient ID―クライアントIDに確保される16ビット符号なし整数を含む2バイト。
【0444】
D.パケットCRC
CRCフィールドはパケットの最後に表示され、著しく大きなデータフィールドを有してよいパケット内の特定のより重大なパラメータの後に出現することがあり、したがって転送中のエラーの尤度は高い。2つのCRCフィールドを有するパケットの場合、CRCジェネレータは、ただ1つだけが使用されるときに、長いデータフィールドに続くCRC計算がパケットの始まりでパラメータによって影響を及ぼされないように第1のCRCの後に再初期化される。
【0445】
例示的な実施形態では、CRC計算に使用される多項式はCRC−16、つまりX16+X15+X2+X0として公知である。本発明を実現するために有効なCRCジェネレータ及びチェッカのサンプルインプリメンテーション3600が
図36に示されている。
図36では、CRCレジスタ3602は、Tx_MDDI_Data_Before_CRC線路上の入力であるパケットの第1のビットの転送直前に0x0001の値に初期化され、次にパケットのバイトが最初にLSBで始まるレジスタにシフトされる。この図のレジスタビット番号が、使用されている多項式の順序に相当し、ビット位置がMDDIによいって使用されていないことを注記する。単独の方向でCRCレジスタをシフトする方がより効率的であり、この結果MDDI CRCフィールドのビット位置0にCRCビット15を表示させ、MDDI CRCフィールドビット位置1にCRCレジスタビット14を表示させる等、MDDIビット一14に達するまで表示させる。
【0446】
例として、表示要求とステータスパケットのパケットコンテンツは以下のとおりである。0x07、0x46、0x000400、0x00(又は0x07、0x00、0x46、0x00、0x04、0x00、0x00のようなバイトのシーケンスとして表現される)であり、マルチプレクサ3604と3606及びNANDゲート3608の入力を使用して提出され、Tx_MDDI_Data_With_CRCラインで結果として生じるCRC出力は0x0ea1である(あるいは0xal、0x0eのようなシーケンスとして表現される)。
【0447】
CRCジェネレータ及びチェッカ3600がCRCチェッカとして構成されるとき、Rx_MDDI_Dataライン上で受信されるCRCはマルチプレクサ3604とNANDゲート3608に入力され、NORゲート3610、排他的論理和(XOR)ゲート3612、及び論理積(AND)ゲート3604を使用してCRCレジスタ内で検出される値とビット単位で比較される。論理積ゲート3614によって出力されるように、エラーがある場合、CRCは、レジスタ3602の入力にゲート3614の出力を連結することによりCRCエラーを含むパケットごとに一度増分される。
図36の図に示される例の回路が、既定のCHECK_CRC_NOWウィンドウ内で複数のCRCエラー信号を出力できる(
図37Bを参照されたい)ことに注意する。したがって、CRCエラーカウンタは通常、CHECK_CRC_NOWがアクティブである各間隔の中の第1のCRCエラーインスタンスだけをカウントする。CRCジェネレータとして構成される場合、CRCはパケットの最後と一致するときにCRCレジスタからの退出時間が記録される(clocked out)。
【0448】
入力信号と出力信号、及びイネーブル信号のためのタイミングは、
図37Aと
図37Bに概して図解される。CRCの生成及びデータのパケットの伝送は、Tx_MDDI_Data_Before_CRCとTx_MDDI_Data_With_CRC信号とともに、Gen_Reset、Check_CRC_Now、Generate_CRC_Now、及びSending_MDDI_Data_信号の状態(0又は1)とともに
図37Aに示される。データのパケットの受信及びCRC値のチェックが、Gen_Reset、Check_CRC_Now、Generate_CRC_Now及びSending_MDDI_Data信号の状態とともに、Rx_MDDI_Data及びCRCエラー信号とともに
図37Bに示される。
【0449】
パケットCRCのエラーコードオーバーロード
パケットCRCホストとクライアントの間でデータパケットCRCだけが転送されているときはつねに、対処されるエラーコードはない。唯一のエラーは同期の損失である。それ以外の場合、良好なデータ転送経路又はパイプラインの欠如からリンクがタイムアウトし、次にリンクをリセットし、先に進むのを待機しなければならない。残念なことに、これは多大な時間を必要とし、非効率的である場合もある。
【0450】
ある実施形態で使用するために、パケットのCRC部分がエラーコード情報を転送するために使用される新しい技法が開発された。これは全体的に
図65に示されている。つまり、1つ又は複数のエラーコードが通信処理又はリンク内で発生する可能性のある特定の所定のラー又は欠陥を示すデータ転送を処理するプロセス又はデバイスによって生成される。エラーに遭遇すると、その適切なエラーコードが生成され、パケットのCRCのためのビットを使用して転送され、つまり、CRC値は、CRCフィールドの値を監視するエラーモニタ又はチェッカによって受信端で検出できる所望されるエラーコードでオーバロードされ、又は上書きされる。エラーコードが何らかの理由からCRC値に一致するそれらのケースでは、エラーのコンプリメントが混乱を防止するために転送される。
【0451】
ある実施形態では、ロバストなエラー警告検出システムを提供するために、エラーコードが、エラーが検出されてから転送又は送信される一連の、通常はすべてのパケットを使用して数回転送されてよい。これは、エラーを生じさせる条件がシステムからクリアされる点まで発生し、その点で定期的なCRCビットは別の値でオーバロードすることなく転送される。
【0452】
CRC値をオーバロードするこの技法は、最少量の余分なビット又はフィールドを使用しながらシステムエラーにはるかに迅速な応答を提供する。
【0453】
図66に示されるように、前述されたあるいは公知の他の回路網の一部を形成することができ、通信リンク又はプロセス内のエラーの存在又は実存を検出する、エラー検出器又は検出手段6602を使用するCRC上書き機構又は装置6600が示される。他の回路網の一部として形成される、あるいは事前に選択されたエラーメッセージを記憶するための、ルックアップテーブルなどの技法を使用できるエラーコードジェネレータ又は手段6604は、発生すると検出された特定の所定のエラー又は欠陥を示すために1つ又は複数のエラーコードを作成する。デバイス6602と6604は、所望されるように単一の回路又はデバイスとして、あるいは他の公知のプロセッサ及びエレメントのためのステップのプログラミングされたシーケンスの一部として形成できることが容易に理解される。
【0454】
選択された1つ又は複数のエラーコードが転送されるCRC値と同じであるかどうかを確かめるためにチェックするためのCRC値コンパレータ又は比較手段6606が示される。それが当てはまる場合には、コードコンプリメントジェネレータ又は作成手段又はデバイスが、オリジナルのCRCパターン又は値として間違われず、検出方式を混乱させる又は複雑化することなくエラーコードのコンプリメントを提供するために使用される。エラーコードセレクタ又は選択手段エレメント又はデバイス6610は、次に、挿入する又は上書きすることが所望されるエラーコード又は値、又はそのそれぞれのコンプリメントを適宜に選択する。エラーコードCRC上書き器(over−writer)又は上書き機構又は手段6612は、デーアストリーム、パケット及び挿入される所望されるコードを受け取り、所望されるエラーコードを受信装置に転送するために、対応する又は適切なCRC値を上書きするデバイスである。
【0455】
言及されたように、エラーコードは、一連のパケットを使用して複数回転送されてよく、したがって上書き器6612は処理中にコードのコピーを維持する、あるいはその値を必要に応じて、あるいは所望されるように記憶する、又は保持するために使用できる前記エレメント又は他の公知の記憶場所からこれらのコードをリコールするために記憶装置要素を活用してよい。
【0456】
図66の上書き機構が実現される一般的な処理は、
図67Aと
図67Bにさらに詳細に示される。
図67Aでは、1つ又は複数のエラーが、通信データ又はプロセスにおいてステップ6702で検出され、エラーコードはこの状態を示すためにステップ6704で選択される。同時に、あるいは適切な点で、置換されるCRC値はステップ6706でチェックされ、ステップ6708で所望されるエラーコードに比較される。この比較の結果は、前述されたように、所望されるコード、つまり他の代表値が存在するCRC値と同じとなるかどうかに関する判断である。これが当てはまる場合には、処理は、コンプリメントが、あるいはいくつかのケースでは別の代表値が、所望されるように、挿入するコードとして選択されるステップ6712に進む。ステップ6710と6714でどのエラーコード又は値が挿入されなければならないのかがいったん決定されると、その適切なコードは挿入のために選択される。これらのステップは、明確にするために別々として描かれているが、通常はステップ6708決定の出力に基づいて単一の選択肢を表現する。最後に、ステップ6716では、パケットがプロセスによってターゲットにされる転送のために、CRCロケーションで適切な値が上書きされる。
【0457】
パケット受信側では、
図67Bに示されるように、パケットCRC値はステップ6722で監視されている。一般的には、CRC値はデータ転送のエラーが発生したかどうか、及び1つ又は複数のパケットの再送を要求するかどうか、あるいは追加の動作等を禁じるかどうかを決定するためにシステム内の1つ又は複数のプロセスによって監視されており、その内のいくつかが前述されている。このような監視の一部として、値を公知の、又は事前に選択されたエラーコード、又は代表値に比較し、エラーの存在を検出するためにこの情報を使用することもできる。代わりに、別々のエラー検出プロセスと監視が実現できる。コードが存在すると考えられる場合には、それは抽出される、あるいはそれ以外の場合追加処理のためにステップ6724で注記される。ステップ6726では、これが実際のコードであるのか、あるいはコンプリメントであるのかに関する決定を下すことができ、そのケースでは追加のステップ6728が値を所望されるコード値に変換するために使用される。どちらかのケースでは、結果として生じる抽出されたコード、コンプリメント、又は他の回復された値が、ステップ6730の送信済みコードから、どのエラーが発生したのかを検出するために使用される。
【0458】
V.ハイバネーションからのリンク再開
ホストは、ハイバネーション状態から順方向リンクを再開すると、約150μsecの間論理1状態にMDDI_Dataを駆動してから、MDDI_Stbをアクティブ化し、同時にMDDI_Dataを50μsecの間論理ゼロ状態に駆動してから、サブフレームヘッダパケットを送信することによって順方向リンクトラフィックを開始する。これによって、通常、信号間に十分な整定時間を提供することによってサブフレームヘッダパケットが送信される前にバス競合を解決できる。
【0459】
クライアント、ここではディスプレイがホストからのデータ又は通信を必要とするとき、それは、他の期間も所望されるように使用できるが、約70μsecの間、MDDI_Data0ラインを論理1状態に駆動し、次にそれを高インピーダンス状態にすることによってドライバをディスエーブルする。このアクションによって、ホストは順方向リンク(208)でデータトラフィックを開始又は再開させ、そのステータスについてクライアントをポーリングさせる。ホストは、50μsecの間に要求パルスの存在を検出し、次にMDDI_Data0を150μsecの間論理1に、及び50μsecの間論理ゼロに駆動する起動シーケンスを開始しなければならない。ディスプレイは、それが50μsecを超えて論理1状態のMDDI_Data0を検出すると、サービス要求パルスを送信してはならない。ハイバネーション処理及び起動シーケンスに関する時間の選択及び時間間隔の公差が後述される。
【0460】
競合のない典型的なサービス要求イベント3800のための処理ステップの例は
図38に描かれ、イベントは便宜的に図中文字A、B、C、D、E、F及びGを使用して名付けられている。プロセスは、ホストがクライアントデバイスに、リンクがさらに低電力のハイバネーション状態に遷移することを知らせるためにリンクシャットダウンパケットを送信すると、ポイントAで開始する。次のステップでは、ホストは、ポイントBで示されるように、MDDI_Data0ドライバをディスエーブルし、MDDI_Stbドライバを論理ゼロに設定することによって低電力ハイバネーション状態に入る。MDDI_Data0は高インピーダンスバイアスネットワークによって論理ゼロレベルに駆動される。ある期間後、クライアントは、ポイントCで見られるようにMDDI_Daa0を論理1レベルに駆動することによってホストにサービス要求パルスを送信する。ホストは、高インピーダンスバイアスネットワークを使用して論理ゼロレベルを依然としてアサートするが、クライアント内のドライバによってラインは論理1レベルに押しやられる。50μsec以内に、ホストはサービス要求パルスを認識し、ポイントDで見られるように、そのドライバをイネーブルすることによってMDDI_Data0で論理1レベルをアサートする。クライアントは、次にサービス要求パルスをアサートしようとするのをやめ、ポイントEで見られるように、クライアントはそのドライバを高インピーダンス状態にする。ホストは、ポイントFで示されるように、MDDI_Data0を50μsecの間論理ゼロレベルに駆動し、MDDI_Data0で論理ゼロレベルと一貫した方法でMDDI_Stbも生成し始める。MDDI_Data0を論理ゼロレベルにアサートし、MDDI_Stbを50μsecの間駆動した後に、ホストは、ポイントGで示されるようにサブフレームヘッダパケットを送信することによって順方向リンクでデータの送信を開始する。
【0461】
類似する例は、リンク再起動シーケンスが開始した後にサービス要求がアサートされ、イベントが再び文字A、B、C、D、E、F及びGを使用して名付けられる
図39に描かれる。これは、クライアントからの要求パルス又は信号がサブフレームヘッダパケットを破壊するのに最も近くなる最悪のケースのシナリオを表す。プロセスは、ホストがクライアントデバイスに対し、それにリンクが定電力ハイバネーション状態に遷移することを知らせるために再びリンクシャットダウンパケットを送信すると、ポイントAで開始する。次のステップでは、ホストは、MDDI_Data0ドライバをディスエーブルし、点Bで図示されるように、MDDI_Stbドライバを論理ゼロに設定することによって低電力ハイバネーション状態に入る。前述されたように、MDDI_Data0は高インピーダンスバイアスネットワークによって論理ゼロレベルに駆動される。ある期間後、ホストは点Cで見られるように150μsecの間、MDDI_Data0を論理1レベルに駆動することによってリンク再起動シーケンスを開始する。リンク再起動シーケンス開始後50μsecが経過する前に、ディスプレイもポイントDで見られるように70μsecの期間MDDI_Data0をアサートする。これは、ディスプレイがホストからのサービスを要求するニーズがあり、ホストがリンク再起動シーケンスをすでに開始していないことを認識しないために発生する。次に、クライアントはサービス要求パルスをアサートしようとするのをやめ、ポイントEで見られるように、クライアントはそのドライバを高インピーダンス状態にする。ホストは論理1レベルにMDDI_Data0を駆動し続ける。ホストはポイントFで示されるように50μsecの間MDDI_Data0を論理ゼロレベルに駆動し、MDDI_Data0の論理ゼロレベルと一貫した方法でMDDI_Stbの生成も開始する。MDDI_Data0を論理ゼロレベルにアサートし、50μsecの間MDDI_Stbを駆動した後に、ホストは、ポイントGで示されるように、サブフレームヘッダパケットを送信することによって順方向リンクでデータを転送し始める。
【0462】
前記説明から、従来の解決策がホストにウェークアップシーケンスの一部として2つの状態を経験させることを必要としたことが分かる。第1の状態の場合、ホストは150μsの間MDDI_Data0信号を高に駆動してからMDDI_Data0信号を50μsの間、MDDI_Stbを活性化する一方で、低に駆動し、次にMDDIパケットの送信を始める。このプロセスは、MDDI装置及び方法を使用して達成可能なデータレートに関して最先端に進めるためにうまく働く。しかしながら、前述されたように、状態に対する応答時間短縮という点でのさらに多くの速度、あるいは次のステップ又はプロセスをさらに迅速に選択できることは、処理又はエレメントを簡略化する能力であり、つねに要求されている。
【0463】
出願人は、ホストが信号トグルのためにクロックサイクルベースのタイミングを使用するウェークアップ処理及びタイミングに対する新しい発明性のある手法を発見した。この構成では、ホストは、MDDI_Data0信号をウェークアップシーケンスの始まりで高に駆動した後に0μsecから10μsec、MDDI_Stbをトグル開始し、信号が低に駆動されるまで待機しない。ウェークアップシーケンスの間、ホストは、MDDI_Data0信号がつねに論理ゼロレベルにあるかのように、MDDI_Stbをトグルする。これにより、クライアント側から時間の概念が効果的に取り除かれ、ホストは、第1の2つの状態のための以前の150μs期間と50μs期間からこれらの期間について、150クロックサイクルと5クロックサイクルに変化する。
【0464】
ホストは、ここでそのデータラインを高に駆動することに関与することになり、10クロックサイクル内に、データラインがあたかもゼロであったかのようにストローブ信号の送信を開始する。ホストがデータラインを150クロックサイクルの間、高に駆動した後、ホストは、ストローブ信号を送信し続ける一方でデータラインを50クロックサイクルの間、低に駆動する。ホストは、これらのプロセスの両方とも完了した後、第1のサブフレームヘッダパケットの送信を開始できる。
【0465】
クライアント側では、クライアントインプリメンテーションは、現在データラインが最初に高であり、次に低であるクロックサイクルの数を計算するために生成されたクロックを使用できる。データライン被駆動高状態とデータライン被駆動低状態で発生する必要のあるクロックサイクル数は150と50である。つまり、適当なウェークアップシーケンスの間、クライアントは、データラインが低である少なくとも50連続クロックサイクルが続くデータラインが高い、少なくとも150の連続クロックサイクルをカウントできなければならない。いったんこれらの2つの条件が満たされると、クライアントは第1のサブフレームの一意のワードを検索し始めることができる。このパターンの中断は、クライアントが再びデータラインが高い第1の150連続クロックサイクルを探す初期状態にカウンタを戻すための基礎として使用される。
【0466】
ホストベースのハイバネーションからのウェークアップのための本発明のクライアントインプリメンテーションは、前述されたようにクロックレートが1Mbpsで強制的に開始されない点を除き初期の起動ケースに非常に類似している。代わりに、クロックレートは、通信リンクがハイバネーションに入ったときにどのような過去の速度でアクティブであっても再開するように設定できる。ホストが前述されたようにストローブ信号の伝送を開始する場合、クライアントは、再び、低であるデータラインの少なくとも50連続クリックサイクルが後に続く、高であるデータラインの少なくとも150の連続クロックサイクルでカウントできなければならない。いったんこれらの2つの条件が満たされると、クライアントは一意のワードの検索を開始できる。
【0467】
クライアントベースのハイバネーションからのウェークアップのための本発明のクライアントインプリメンテーションは、それがクライアントにデータラインを駆動させることによって開始する点を除き、ホストベースのウェークアップに類似している。クライアントは、ホストデバイスをウェークアップするためにクロックを使用せずにデータラインを非同期で駆動できる。ホストがいったん、データラインがクライアントによって高に駆動されていることを認識すると、それはそのウェークアップシーケンスを開始できる。クライアントは、ホストがそのウェークアッププロセスを開始することによって、又はそのウェークアッププロセスの間に生成されるクロックサイクル数をカウントできる。クライアントはいったん高であるデータの70の連続クロックサイクルをカウントすると、データラインを高に駆動することを停止できる。この点で、ホストはやはりすでにデータラインを高に駆動していなければならない。クライアントは、次に、高であるデータラインの150クロックサイクルに達するために高であるデータラインの別の80連続クロックサイクルをカウントしてから、低であるデータラインの50クロックサイクルを探すことができる。いったんこれらの条件が満たされると、クライアントは一意のワードを探し始めることができる。
【0468】
ウェークアップ処理のこの新しいインプリメンテーションの利点は、それが時間測定装置に対するニーズを削除する点である。これが発振器であるのか、あるいはコンデンサ放電回路であるのか、あるいは他のこのような公知のデバイスであるのかに関係なく、クライアントは起動状態を決定するためにこのような外部装置を必要としていない。これによりコントローラ、カウンタ等をクライアントデバイス基板上に実現するときに金額と回路面積が削減される。これはクライアントにとって有利ではない可能性があるが、ホストにとっては、この技法はコア回路網に使用されている超高密度ロジック(very high density logic)(VHDL)に関してホストを潜在的に簡略化するだろう。データラインとストローブラインをウェークアップ通知測定ソースとして使用することの電力消費量も、ホストベースのウェークアップを待機するコア要素のために外部回路を実行する必要がないため、さらに低くなるであろう。
【0469】
使用されるサイクル数又はクロック期間は例示的であり、当業者に明らかになるように他の期間を使用することもできる。
【0470】
ウェークアップ処理のこの新しいインプリメンテーションの利点は、それが時間測定装置に対する必要性を削除するという点である。これが発振器であるのか、あるいはコンデンサ放電回路であるのか、あるいは他のこのような公知のデバイスであるのかに関係なく、クライアントは起動状態を決定するためにこのような外部装置の必要がなくなった。これによりコントローラ、カウンタ等をクライアントデバイス基板上に実現するときに金額と回路面積が削減される。これはクライアントにとって有利ではない可能性があるが、ホストにとっては、この技法はコア回路網に使用されている超高密度ロジック(very high density logic)(VHDL)に関してホストを潜在的に簡略化するだろう。データラインとストローブラインをウェークアップ通知測定ソースとして使用することの電力消費量も、ホストベースのウェークアップを待機するコア要素のために外部回路を実行する必要がないため、さらに低くなるであろう。
【0471】
この新しい技法の動作を明確にし、説明するために、クロックサイクルを基準にしたMDDI_Data0、MDDI_Stb及び多様な動作のタイミングは
図68A、
図68B及び
図68Cに示されている。
【0472】
競合のない典型的なホスト起動型ウェークアップのための処理ステップの例は
図68Aに描かれており、イベントは再び便宜的に図中、文字A、B、C、D、E、F及びGを使用して呼ばれている。プロセスは、ホストがクライアントデバイスに対して、リンクが低電力ハイバネーション状態に遷移することをそれに知らせるためにリンクシャットダウンパケットを送信すると、点Aで開始する。次のステップ、点Bでは、ホストが、クライアントデバイスの中の回復したクロックを停止する、MDDI_Stbがトグルするのを停止する前にクライアントによる処理を完了できるために約64サイクル(又はシステム設計のために所望されるように)MDDI_Stbをトグルする。また、ホストはMDDI_Data0を初期に論理ゼロレベルに設定してから、CRC後に16サイクルから48サイクルの範囲でMDDI_Data0出力をディスエーブルする(通常、出力ディスエーブル伝搬遅延を含む)。クライアントにおいて、MDDI_Data0及びMDDI_Stb用の高速受信機をCRC後の48サイクルの後、及び次の段階(C)の前のしばらく低電力状態にすることが望ましい場合がある。
【0473】
ホストは、MDDI_Data0ドライバとMDDI_Stbドライバをディスエーブルし、低電力ハイバネーション状態にホストコントローラを入れることによって点つまりステップCで低電力ハイバネーション状態になる。所望されるように、(高インピーダンスバイアスネットワークを使用して)MDDI_Stbドライバを論理ゼロレベルに設定する、あるいはハイバネーションの間トグルを続けることもできる。クライアントも低電力レベルハイバネーション状態である。
【0474】
しばらくしてから、ホストはMDDI_Data0とMDDI_Stbドライバ出力をイネーブルすることによって、点Dでリンク再起動シーケンスを開始する。ホストは、ドライバがそのそれぞれの出力を完全にイネーブルするのに要する限り、MDDI_Data0を論理1レベルに駆動し、MDDI_Stbを論理ゼロレベルに駆動する。ホストは通常、MMDI_Stbでパルスを駆動する前に、これらの出力が所望される論理レベルに達した後に約200ナノ秒待機する。これによりクライアントに受信に備えるための時間が与えられる。
【0475】
ホストドライバがイネーブルされ、MDDI_Data0が論理1レベルに駆動された状態で、ホストは点Eで見られるように、150 MDDI_Stbサイクルの期間、MDDI_Stbをトグルし始める。ホストは、点Fに示されるように50サイクルの間MDDI_Data0を論理ゼロレベルに駆動し、クライアントは、MDDI_Data0が40MDDI_Stbサイクルの間論理ゼロレベルになった後でサブフレームヘッダパケットを探し始める。ホストは、点Gで示されるようにサブフレームヘッダパケットを送信することによって順方向リンクでデータを送信し始める。
【0476】
競合がない典型的なクライアント起動型ウェークアップのための処理ステップの一例は
図68Bに描かれ、イベントは再び便宜的に図中文字A、B、C、D、E、F、G、H、及びIを使用して呼ばれている。前記のように、プロセスは、ホストがクライアントに、リンクが低電力状態に遷移することを知らせるためにリンクシャットダウンパケットを送信すると、点Aで開始する。
【0477】
点Bでは、ホストはMDDI_Stbを、クライアントデバイス内の回復されたクロックを停止する、MDDI_Stbがトグルするのを停止する前にクライアントによる処理を完了できるために約64サイクルの間(又はシステム設計のために所望されるように)トグルする。またホストはMDDI_Data0を論理ゼロレベルに設定してから、CRC後、(通常、出力ディスエーブル伝搬遅延を含む)16サイクルから48サイクルの範囲でMDDI_Data0出力をディスエーブルする。クライアントにおいて、MDDI_Data0及びMDDI_Stb用の高速受信機をCRC後の48サイクルの後、及び次の段階(C)の前のしばらく低電力状態にすることが望ましい場合がある。
【0478】
ホストは、MDDI_Data0ドライバとMDDI_Stbドライバをディスエーブルし、低電力ハイバネーション状態にホストコントローラを入れることによって点つまりステップCで低電力ハイバネーション状態になる。所望されるように、(高インピーダンスバイアスネットワークを使用して)MDDI_Stbドライバを論理ゼロレベルに設定する、あるいはハイバネーションの間トグルを続けることもできる。クライアントも低電力レベルハイバネーション状態である。
【0479】
しばらくしてから、クライアントは、ホストがそのMDDI_Stbドライバをイネーブルする前にMDDI_Stbの受信されたバージョンの状態がクライアント内で論理ゼロレベルであることを保証するために、MDDL_Stb受信機をイネーブルし、MDDI_Stb受信機のオフセットもイネーブルすることによって、点Dでリンク再起動シーケンスを開始する。クライアントが、受信機が有効な差動信号の受信を確実にし、所望されるように誤った信号を抑制することができるようにするわずかに前に、オフセットをイネーブルすることが望ましい場合がある。クライアントは、MDDI_Data0ラインを論理1レベルに駆動する間に、MDDI_Data0ドライバをイネーブルする。
【0480】
約1msec以内に、ポイントE、ホストはクライアントからのサービス要求パルスを認識し、ホストはMDDI_Data0ドライバ出力とMDDI_Stbドライバ出力をイネーブルすることによってリンク再起動シーケンスを開始する。ホストは、ドライバがそのそれぞれの出力をイネーブルするのに要する間、MDDI_Data0を論理1レベルに、MDDI_Stbを論理ゼロレベルに駆動する。ホストは、これらの出力が、通常、MDDI_Stbでパルスを駆動する前に所望される論理レベルに到達した後、約200ナノ秒待機する。これによりクライアントに受信に備えるための時間が与えられる。
【0481】
ホストドライバがイネーブルされ、MDDI_Data0が論理1レベルに駆動される状態で、ホストは、点Fで見られるように、150のMDDI_Stbサイクル期間中、MDDI_Stbでパルスの出力を開始する。クライアントは、がMDDI_Stbで第1のパルスを認識すると、そのMDDI_Stb受信機でオフセットをディスエーブルする。クライアントは70 MDDI_Stbサイクルの間、MDDI_Data0を論理1レベルに駆動し続け、点GでそのMDDI_Data0ドライバをディスエーブルする。
【0482】
点GとHで見られるように、ホストは50サイクルの間MDDI_Data0を論理ゼロレベルに駆動し、クライアントは、MDDI_Data0が40MDDI_Stbサイクルの間論理ゼロレベルとなった後に、サブフレームヘッダパケットを探し始める。ホストは、点Iに示されるようにサブフレームヘッダパケットを送信することによって順方向リンクでデータを送信し始める。
【0483】
クライアントからの競合がある典型的なホスト起動型のウェークアップのための処理ステップの、つまりクライアントもリンクをウェークアップすることを望む例は、
図68Cに描かれている。イベントは、再び便宜的に図中文字A、B、C、D、E、F、G、H、及びIを使用して呼ばれている。前記のように、プロセスは、ホストがクライアントに、リンクが低電力状態に遷移することを知らせるためにリンクシャットダウンパケットを送信すると、点Aで開始し、クライアントによる処理を完了できるようにするためにMDDI_Stbが約64サイクル(又はシステム設計のために所望されるように)トグルされる点Bに進み、次に、MDDI_Data0ドライバとMDDI_Stbドライバをディスエーブルし、ホストコントローラを低電力ハイバネーション状態にすることによって、ホストが低電力ハイバネーション状態になる点Cに進む。しばらくしてから、ホストは、MDDI_Data0とMDDI_Stbドライバ出力をイネーブルすることによってポイントDでリンク再起動シーケンスを開始し、点Eに見られるように、150 MDDI_Stbサイクルという期間MDDI_Stbをトグルし始める。
【0484】
点Eの後、最高70 MDDI_Stbサイクル、ここでは点Fで、クライアントは、クライアントもMDDI_Data0を論理1レベルに駆動するように、ホストがMDDI_Data0を論理1レベルに駆動していることをまだ認識していない。これは、クライアントがサービスを要求することを所望しているが、それが通信しようとしているホストがすでにリンク再起動シーケンスを開始したことを認識していないためにここで発生する。点Gで、クライアントはMDDI_Data0を駆動するのを止め、そのドライバをその出力をディスエーブルすることによって高インピーダンス状態にする。ホストは、追加の80サイクルの間、MDDI_Data0を論理1レベルに駆動し続ける。
【0485】
ホストは、点Hで示されるように50サイクルの間、MDDI_Data0を論理ゼロレベルに駆動し、クライアントは、MDDI_Data0が40MDDI_Stbサイクルの間論理ゼロレベルにあった後に、サブフレームヘッダパケットを探し始める。ホストは、点Iに示されるように、サブヘッダパケットを送信することによって順方向リンク上でデータの送信を開始する。
【0486】
VI.インタフェース電気仕様
例の実施形態では、非ゼロ復帰(NRZ)フォーマットのデータは、クロック情報をデータ信号とストローブ信号の中に埋め込むことを可能にするデータストローブ信号又はDATA−STBフォーマットを使用して符号化される。クロックは複雑な位相ロックループ回路網を使用せずに回復できる。前述したように他の導線、プリント配線、又は転送要素を使用できるが、データは、通常ワイヤラインケーブルを使用して実現される双方向差動リンク上を伝搬される。ストローブ信号(STB)は、ホストだけに駆動される単一指向性リンク上で伝搬される。ストローブ信号は、データライン又は信号上で同じであり続ける逆並列状態、0又は1があるときはつねに値(0又は1)をトグルする。
【0487】
「1110001101」ビットなどのデータシーケンスをDATA−STB符号化を使用してどのようにして送信できるのかの例は、
図40のグラフィック形式に示される。
図40では、DATA信号4002は、信号タイミングチャートの上部線に示され、STB信号4004は第2の線に示され、それぞれ適宜に時間を合わせられている(共通開始点)。時間が経過するにつれて、DATAライン4002(信号)で発生する状態の変化があるときには、STBライン4004(信号)は過去の状態を維持し、したがって、DATA信号の第1の「1」状態は、STB信号の第1の「0」状態、その開始値と相関する。しかしながら、DATA信号の状態、レベルが変化しない場合、又は変化しないときには、STB信号は、DATAが別の「1」の値を提供している
図40のケースでのように本例では反対の状態、つまり「1」にトグルする。すなわち、DATAとSTBの間にはビットサイクルあたりただ1つの遷移しかない。したがって、DATA信号が「1」のままであるときは、STB信号は再び、今回は「0」に遷移し、DATA信号がレベルを「0」に変更するとこのレベル又は値を保持する。DATA信号は変化したり、レベル又は値を保持するので、DATA信号が「1」のままでいるとき、本例ではSTB信号は反対の状態、つまり「1」等にトグルする。
【0488】
これらの信号を受信すると、所望されるデータ信号とストローブ信号との相対的な比較のためにタイミング図の下部に示されるクロック信号4006を生じさせるために、排他的論理和(XOR)演算がDATA信号とSTB信号で実行される。ホストにある入力データからDATA出力とSTB出力又は信号を発生し、次にクライアントでDATA信号とSTB信号からデータを回収する、又は捕捉しなおすために有効な回路網の例は、
図41に示される。
【0489】
図41では、受信部分4120は信号を受信し、データを回収するために使用されるが、伝送部分4100は、中間信号経路4002でオリジナルのDATA信号とSTB信号を発生し、送信するために使用される。
図41に示されるように、ホストからクライアントにデータを転送するために、DATA信号は、回路をトリガするためのクロック信号とともに2つのD型フリップフロップ回路要素4104と4106に入力される。2つのフリップフロップ回路出力(Q)は、次に2つの差動ラインドライバ4108と4110(電圧モード)を使用して、それぞれ信号MDDI_Data0+、MDDI_Data−0及びMDDI_Stb+、MDDI_Stb−の差動組に分割される。3入力排他的(XNOR)ゲート、回路、又は論理素子4112は、両方のフリップフロップのDATAと出力を受信するために接続され、同様にMDDI_Stb+信号、MDDI_Stb−信号を発生させる第2のフリップフロップのためのデータ入力を提供する出力を生成する。便宜上、XNORゲートは、それがストローブを生成するフリップフロップのQ出力を効果的に反転して言えることを示すために配置される反転バブル(inversion bubble)を有する。
【0490】
図41の受信部分4120では、MDDI_Data0+、MDDI_Data0−信号、及びMDDI_Stb+、MDDI_Stb−信号が、差動信号から単一の出力を生成する2台の差動ラインレシーバ4122と4124のそれぞれによって受信される。増幅器の出力は、次に、クロック信号を発生させる、2入力排他的論理和(XOR)ゲート、回路、又は論理素子4126の入力のそれぞれに入力される。クロック信号は、遅延素子4132を通してDATA信号の遅延バージョンを受信する2つのD型フリップフロップ回路4128と4130のそれぞれをトリガするために使用され、その内の一方(4128)がデータ「0」値を生成し、他方(4130)がデータ「1」値を生成する。クロックは、XOR論理からの独立出力も有する。クロック情報はDATAラインとSTBラインの間で分散されるため、信号はクロックレートの半分より速く状態間で遷移しない。クロックはDATA信号とSTB信号の排他的論理和処理を使用して再生されるため、システムは、クロック信号が単一専用データライン上でじかに送信されるときの状況に比較して、入力データとクロック間の歪み量の2倍に効果的に耐える。
【0491】
MDDIデータ組、MDDI_Stb+信号とMDDI_Stb−信号は、雑音のマイナス影響からの免疫性を最大限にするために差動モードで操作される。差動信号経路の各部はソース終端され、ケーブル又は導線の特性インピーダンスの2分の1は信号を転送するために使用される。MDDIデータ組は、ホスト端部とクライアント端部の両方で終端する。これらの2つのドライバの内の一方だけしか既定のときにアクティブでないため、終端は転送リンクのためのソースに継続的に存在する。MDDI_Stb+信号とMDDI_Stb−信号はホストによってだけ駆動される。
【0492】
MDDI_DataとMDDI_Stbの対応するDC電気仕様は表IIに示されているが、本発明のMDDインタフェースの一部として信号を転送するためのドライバ、受信機、及び終端を達成するために有効な要素の例示的な構成は
図42に示されている。例示的なインタフェースは、ここでは200mV、1ボルト未満の脱調、及び低電力排出の低圧検知を使用する。
【表7】
【0493】
差動ラインドライバとラインレシーバの電気的なパラメータ及び特性は表VIIIに記述される。機能上、ドライバは入力での論理レベルを直接的に正の出力に、入力の逆数を負の出力に転送する。入力から出力への遅延は差動して駆動される差動ラインに調和している。大部分のインプリメンテーションでは、出力での電圧振幅は電力消費及び電磁放射線を最小限に押させるために入力での振幅より少ない。表VIIIは、最小電圧振幅を約0.5Vであると提示している。しかしながら、当業者により公知であるように、他の値を使用することができ、本発明者は設計制約に応じていくつかの実施形態ではさらに小さい値を意図する。
【0494】
差動ラインレシーバは、高速電圧コンパレータと同じ特性を有する。
図41では、バブルのない入力は正の入力であり、バブルのある入力は負の入力である。出力は、(Vinput+)−(Vinput−)がゼロより大きい場合には論理1である。これを説明する別の方法は、非常に大きな(実質的には無限の)利得があり、出力が論理0と1電圧レベルでクリッピングされる差動増幅器である。
【0495】
さまざまな組の間の遅延歪みは、潜在的な最高速度で差動伝送システムを操作するためには最小限に抑えられなければならない。
【0496】
図42では、ホストコントローラ4202とクライアントコントローラ又はディスプレイコントローラ4204が、通信リンク4206上でパケットを転送していると示されている。ホストコントローラは、転送されるクライアントデータ信号を受信するためだけではなく、転送されるホストDATA信号とST信号を受信するためにも、一連の3台のドライバ4210、4212、4214を利用する。ホストDATAの通過に関与するドライバは、通常ホストからクライアントへの転送が所望されるときにだけ通信リンクの活性化を可能にするイネーブル信号入力を利用する。STB信号はデータの転送の一部として形成されるため、追加のケーブル信号はそのドライバ(4212)について利用されない。DATAドライバとSTBドライバのそれぞれの出力は、それぞれ終端インピーダンスつまり抵抗器4216a、4216b、4216c及び4216dに接続される。
【0497】
追加の終端抵抗4216eと4216fはクライアントデータ処理受信機4222の入力でそれぞれ抵抗器4216cと4216dと直列で配置されるが、終端抵抗4216aと4216bも、STB信号処理のためのクライアント側受信機4220の入力でインピーダンスとして作用する。クライアントコントローラの第6のドライバ4226は、クライアントからホストに転送されるデータ信号を作製するために使用され、ドライバ4214は、終端抵抗4216cと4216dを通して、入力側で、処理のためのホストへの転送のためにデータを処理する。
【0498】
2つの追加抵抗器4218aと4218bは、他の個所で説明されるハイバネーション制御の一部として、それぞれ終端抵抗と接地と電圧ソース4220の間に配置される。電圧源は、データの流れを管理するために前述された高レベル又は低レベルとなるように転送ラインを駆動するために使用される。
【0499】
前記のドライバ及びインピーダンスは、離散構成要素として、あるいは回路モジュールの一部として、あるいはさらに費用効果が高いエンコーダ又はデコーダ解決策として働く特定用途向け集積回路(ASIC)として形成できる。
【0500】
MDDI_PwrとMDDI_Gndと呼ばれる信号を1組の導線上で使用して、ホストデバイスからクライアントデバイス、つまりディスプレイに電力が転送されることは容易に分かる。信号のMDDI_Gnd部分は基準接地、電源リターンパス又は表示装置用の信号として働く。MDDI_Pwr信号は、ホストデバイスによって駆動される表示装置電源として働く。例示的な構成では、低電力応用例のために、表示装置は最高500mAまで引き出すことができる。MDDI_Pwr信号は、リチウムイオン型電池、又はホストデバイスに常駐している電池パックなどであるが、これらに限定されない携帯用電源から提供でき、MDDI_Gndに関して3.2ボルトから4.3ボルトの範囲となってよい。
【0501】
VII.タイミング特性
A.概要
クライアントによって、ホストからのサービスを確保するために、及びホストによってこのようなサービスを提供するために利用されるステップ及び信号レベルが
図43に描かれている。
図43では、描かれている信号の第1の部分は、ホストから転送されているリンクシャットダウンパケットを示し、データラインは次に高インピーダンスバイアス回路を使用して論理ゼロ状態に駆動される。ドライバがディスエーブルされたクライアントディスプレイ又はホストによって転送されているデータはない。MDDI_Stb信号ラインのための一連のストローブパルスは、MDDI_Stbがリンクシャットダウンパケットの間アクティブであるため下部に見ることができる。いったんこのパケットが終了し、ホストがバイアス回路及び論理をゼロに駆動し、論理レベルがゼロに変化すると、MDDI_Stb信号ラインも論理ゼロレベルに変化する。これは、ホストからの最後の信号転送又はサービスの終端を表し、過去のいかなる時点でも発生できたであろうし、サービスの先の停止、及びサービス開始前の信号状態を示すために含まれる。所望される場合、このような信号は「公知」の先の通信がこのホストデバイスによって行われない状態で、適切な状態に通信リンクをリセットするために送信できる。
【0502】
図43に示されるように、クライアントからの信号出力は当初ゼロという論例レベルで設定される。言い換えると、クライアント出力が高インピーダンスにあり、ドライバはディスエーブルされている。サービスが要求されているとき、クライアントはそのドライバをイネーブルし、ホストに、ラインがその間に論理1レベルに駆動される期間、指定tserviceであるサービス要求を送信する。それからホストがthost−detectと呼ばれる要求を検出する前に、特定の時間が経過する、あるいは必要とされる場合があり、その後ホストは信号を論理1レベルに駆動することによってリンク起動シーケンスで応答する。この時点で、クライアントは要求をアサート停止し、クライアントからの出力ラインが再びゼロ論理レベルになるようにサービス要求ドライバをディスエーブルする。この時間の間、MDDI_Stb信号は論理ゼロレベルにある。
【0503】
ホストは、trestart−highと呼ばれる期間、「1」レベルとしてホストデータ出力を駆動し、その後、ホストは論理レベルをゼロに駆動し、trestart−lowと呼ばれる期間、MDDI_Stbをアクティブ化し、その後、第1の順方向トラフィックがサブフレームヘッダパケットで開始し、順方向トラフィックパケットが次に転送される。MDDI_Stb信号はtrestart−lowと以後のサブフレームヘッダパケットの期間中アクティブである。
【0504】
表VIIIは、前述された多様な期間の長さの代表的な時間と、例示的な最小データレートと最大データレートに対する関係性を示し、
【数1】
【表8】
【0505】
当業者は、
図41と
図42に描かれている個々の要素の機能が周知であり、
図42の中の要素の機能が
図43のタイミング図で確認されることを容易に理解する。
図42に示されている直列終端及びハイバネーション抵抗器についての詳細は、その情報は、データ−ストローブ符号化を実行し、それからクロックを回復する方法の説明には不必要であるため、
図41から省略された。
【0506】
B.データ−ストローブタイミング順方向リンク
順方向リンクのデータのホストドライバ出力からの転送のための切り替え特性は表IXに示されている。表IXは、特定の信号遷移が発生する通常の時間に対する、表形式の所望される最小値と最大値を提示する。最小時間は約ttbit−0.5nsecであり、最大は約ttbit+0.5nsecであるが、例えば、データ値(「0」又は「1」の出力)の開始から最後までに発生する遷移の典型的な時間長、ttdd−(ホスト−出力)と呼ばれるData0からData0遷移はttbitである。それぞれttds−(ホスト−出力)、ttss−(ホスト−出力)、ttsd−(ホスト−出力)、ttddx−(ホスト−出力)、ttdxdx−(ホスト−出力)、ttdxs−(ホスト−出力)及びttsdx−(ホスト−出力)と呼ばれる、Data0からストローブ、ストローブからストローブ、ストローブからData0、Data0から非Data0、非Data0から非Data0、非Data0からストローブ、及びストローブから非Data0の遷移が示されるData0、他のデータライン(DataX)、及びストローブライン(Stb)での遷移間の相対的な間隔は、
図44に描かれている。
【表9】
【0507】
順方向リンクでデータを転送する同じ信号のためのクライアント受信機入力のための典型的なMDDIタイミング要件は、表Xに示されている。同じ信号が説明されているが、時間遅延しているため、当業者によって理解されるように、信号特性又はそれぞれのラベルの意味を描くために新しい図は必要とされない。
【表10】
【0508】
図45と
図46は、ホストがホストドライバをそれぞれディスエーブルする、又はイネーブルすると発生することがある応答遅延の存在を描く。逆方向リンクカプセル化パケット又は往復遅延測定パケット等の特定のパケットを転送しているホストの場合、転送されているとして
図45に描かれているパラメータCRCパケット、ストローブ位置合わせパケット、及び全ゼロパケット等の所望されるパケットが転送された後に、ホストはラインドライバをディスエーブルする。しかしながら、
図45に示されるように、これは潜在的には存在している特定の制御要素又は回路要素で達成できるが、回線の状態は必ずしも「0」から所望されるより高い値に瞬時に切り替わらず、ホストドライバディスエーブル遅延期間と呼ばれる期間、応答するのに要する。それはこの期間の長さが0ナノ秒(nsec)であるように実質的に瞬時に発生できるが、それは、ガード時間1パケット期間又はターンアラウンド1パケット期間の間に発生する所望される最大期間長である10nsecのさらに長い期間でさらに容易に広がるであろう。
【0509】
図46を見ると、ホストドライバが、逆方向リンクカプセル化パケット又は往復遅延測定パケット等のパケットを転送するためにイネーブルされるときに信号レベル変化が経験されることが分かる。ここでは、ガード時間2パケット期間又はターンアラウンド2パケット期間の後、ホストドライバはイネーブルされ、レベル、ここでは「0」を駆動し始め、その値には、第1のパケットが送信される前に、ドライバ再イネーブル期間の間に発生するホストドライバイネーブル遅延期間と呼ばれる期間に近づく又は達する。
【0510】
類似するプロセスは、ドライバについて発生し、信号はクライアントデバイス、ここではディスプレイのために転送する。これらの期間の長さの一般的な指針及びその関係性は以下の表XIに示される。
【表11】
【0511】
C.データ−ストローブタイミング逆方向リンク
クライアントドライバ出力からの逆方向リンクでデータを転送するために使用されるデータ信号とストローブ信号の切り替え特性及びタイミング関係性は、
図47と
図48に示される。特定の信号遷移のための典型的な時間は後述される。
図47は、転送されているデータとストローブパルスの前縁と後縁のタイミングのホスト受信機入力での関係性を描く。つまり、ストローブ信号の立ち上がり又は前縁のためのセットアップ時間、tsu−srと、ストローブ信号の立下り又は後縁のためのセットアップ時間、tsu−sfと呼ばれるものである。これらのセットアップ期間のための典型的な時間の長さは最低で約8ナノ秒である。
【0512】
図48は、切り替え特性及び逆方向データタイミングによって生じる対応するクライアント出力遅延を示す。
図48では、転送されるデータのタイミングと誘発遅延の原因となるストローブパルスの前縁と後縁の間の関係性を見ることができる。つまり、ストローブ信号の立ち上がりつまり前縁とデータ(有効)の間の伝播遅延tpd−sr、及びデータとストローブ信号の立下り、つまり後縁の間の伝搬遅延tpd−sfと呼ばれるものである。これらの伝搬遅延の典型的な時間の最大の長さは約8ナノ秒である。
【0513】
VIII.リンク制御(リンクコントローラ動作)のインプリメンテーション
A.状態機械パケットプロセッサ
より低いレートが所望されるように確かに対処されるが、MDDIリンク上で転送されるパケットは非常に急速に、通常、例えば400Mbps等の約300Mbps以上のレートでディスパッチされる。この種のバス又は転送リンク速度は、現在市販されている(経済的な)汎用マイクロプロセッサ等が制御するには速過ぎる。したがって、この種の信号転送を達成するための実際的なインプリメンテーションは、それらが対象とする適切な視聴覚サブシステムに転送される、又はリダイレクトされるパケットを生じさせるために入力パケットストリームを解析するためにプログラマブル状態機械を活用することである。このようなデバイスは周知であり、通常、所望される高速又は超高速の動作を達成するために制限された数の動作、機能又は状態専用である回路を使用する。
【0514】
汎用コントローラ、プロセッサ、又は処理要素は、速度要求が低い制御パケット又はステータスパケット等の何らかの情報により適切に作用する、又は操作するために使用できる。それらのパケット(制御、ステータス、又は他の所定のパケット)が受信されると、ステータス機械は、音声パケットと視覚パケットが処置のためにその適切な宛て先に転送される間に所望される結果(効果)を提供するために作用を受けることができるように、それらをデータバッファ又は類似する処理要素を通して汎用プロセッサに渡す必要がある。将来、マイクロプセッサ又は他の汎用コントローラ、プロセッサ又は処理要素がさらに高いデータレート処理能力を達成するために製造される場合には、後述される状態又は状態機械は、通常記憶素子又は媒体上で記憶されるプログラムとして、このようなデバイスのソフトウェア制御を使用して実現される可能性がある。
【0515】
汎用プロセッサ機能は、コンピュータアプリケーションのマイクロプロセッサ(CPU)、又はコントローラ、プロセッサ、デジタル信号プロセッサ(DSP)、特殊回路又は無線装置で見られるASICに使用可能な処理能力又は過剰なサイクルを、いくつかのモデム又はグラフィックプロセッサが何らかの機能を実行するためにコンピュータで見られるCPUの処理力を活用し、ハードウェアの複雑さと費用を削減するのとほぼ同じ方法で活用することによりいくつかの実施形態で実現できる。このサイクル共用又は使用はこのような素子の処理速度、タイミング又は全体的な動作にマイナス影響を与えることがあるため、多くの応用例では、専用の回路又は要素がこの汎用処理のために好ましい。
【0516】
画像データがディスプレイ(マイクロディスプレイ)上で表示されるために、あるいはホストデバイスによって送信されるすべてのパケットを確実に受信するために、表示信号処理は順方向リンクチャネルタイミングと同期される。つまり、ディスプレイ及び表示回路に到達する信号は、適切な信号処理が発生するために実質的に時間同期される必要がある。このような同期が実施されるのに使われる信号処理ステップ又は方法によって達成される状態の高水準図は、
図49の図に提示される。
図49では、状態機械4900の考えられる順方向リンク同期「状態」が1つのASYNC FRAMES STATE(非同期フレーム状態)4904、2つのACQUIRING SYNC STATES(同期状態獲得)4902と4906、及び3つのIN−SYNC STATES(同期状態)4908、4910及び4912として分類されている。
【0517】
開始ステップ又は状態4902によって示されるように、提示装置等のディスプレイ又はクライアントは事前に選択された「同期なし」状態で開始し、検出される第1のサブフレームヘッダパケットで一意のワードを検索する。この同期なし状態は、最小の通信設定値又はI型インタフェースが選択される「フォールバック」設定値を表すことに注意する必要がある。一意のワードが検索中に発見されると、ディスプレイはサブフレーム長フィールドを保存する。この第1のフレームでの処理のためには、あるいは同期が得られるまでは、CRCビットのチェックはない。このサブフレーム長がゼロである場合、同期状態処理は、同期がまだ達成されていないことを示す「非同期フレーム」状態としてここで呼ばれる状態4904に相応して進む。処理のこのステップは、
図49で、cond3、つまり状態3に遭遇したと呼ばれる。それ以外の場合、フレーム長がゼロより大きい場合には、同期状態処理はインタフェース状態が「1同期フレームを発見」として設定される状態4906に進む。処理のこのステップは、
図49でcond 5、つまり条件5に遭遇したとして呼ばれる。さらに、状態機械がフレームヘッダパケット及びゼロより大きいフレーム長について良好なCRC決定を見るならば、処理は「1同期フレーム発見」状態に進む。これは、
図49でcond 6、つまり条件6を満たすと呼ばれる。
【0518】
システムが「非同期」以外の状態にある各状況では、一意のワードが検出され、良好なCRC結果がサブフレームヘッダパケットに対して決定され、サブフレーム長がゼロより大きいときには、インタフェース状態が「同期中」状態4908に変更される。処理のこのステップは、
図49でcond1つまり条件1に遭遇したと呼ばれる。他方、サブフレームヘッダパケットの中の一意のワード又はCRCのどちらかが正しくないと、同期状態処理は「NO SYNC FRAME(同期フレームなし)」状態のインタフェース状態4902に進む、又は戻る。処理のこの部分は、
図49の状態図のcond 2、つまり条件2に遭遇したと呼ばれる。
【0519】
B.同期のための取得時間
インタフェースは、同期が失われたと決定し、「NO SYNC FRAME(同期フレームなし)」状態に戻る前に特定数の「同期エラー」に対処するように構成できる。
図49では、いったん状態機械が「IN−SYNC STATES(同期状態)」に到達し、エラーが検出されないと、それは連続してcond1結果に遭遇しつづけ、「IN−SYNC(同期中)」状態のままとなる。しかしながら、いったん1つのcond2結果が検出されると、処理は状態を「1同期エラー」状態4910に変更する。この時点で、処理が別のcond1結果を検出することになる場合は、状態機械は「同期中」状態に戻る。それ以外の場合、それは別のcond2結果に遭遇し、「TWO−SYNC−ERRORS(2同期エラー)」状態4912に移動する。再び、cond1が発生すると、処理は状態機械を「IN−SYNC(同期中)」状態に戻す。それ以外の場合、別のcond2に遭遇し、状態機械は「同期なし」状態に戻る。当然、インタフェースが万一「リンクシャットダウンパケット」に遭遇すると、これがリンクにデータ転送を終了させ、
図49の状態図の中でcond4、つまり条件4を満たすと呼ばれる、同期するものが何もないため「同期なしフレーム」状態に戻らせる。
【0520】
サブフレーム内の何らかの固定したロケーションに出現する可能性がある一意のワードの反復する「偽のコピー」があると考えられることが理解される。その状況では、サブフレームヘッダパケット上のCRCも、MDDインタフェース処理が「IN SYNC(同期中)」状態に進むために、処理時に有効でなければならないために、状態機械がサブフレームに同期する可能性はかなり低い。
【0521】
サブフレームヘッダパケット内のサブフレーム長は、リンクがシャットダウンする前にホストがただ1つのサブフレームを送信することを示すためにゼロに設定されてよく、MDDインタフェースはアイドルハイバネーション状態になる、あるいはなるように構成される。この場合、ディスプレイは、リンクがアイドル状態に遷移する前に単一のサブフレームだけが送信されるため、サブフレームヘッダパケットを検出した後にただちに順方向リンク上でパケットを受信しなければならない。通常の又は典型的な動作では、サブフレーム長は非ゼロであり、ディスプレイは、インタフェースが
図49の「IN−SYNC(同期中)」状態として集合的に示されるそれらの状態にある間、順方向リンクパケットだけを処理する。
【0522】
ディスプレイが順方向リンク信号に同期するために要する時間は、サブフレームサイズと順方向リンクデータレートに応じて可変である。一意のワードの「偽のコピー」を順方向リンクの無作為な、あるいはさらに無作為なデータの一部として検出する尤度は、サブフレームサイズが大きくなるにつれて高くなる。同時に、順方向リンクデータレートが低速化すると、偽検出から回復する能力は低くなり、そのようにするのに要する時間は長くなる。
【0523】
C.初期化
前述されたように、「起動」時、ホストは順方向リンクを、1Mbpsという最小の必須、つまり所望されるデータレートで、又は以下で動作するように構成し、サブフレーム長及びメディアフレームレートを既定の応用例に適切に構成する。すなわち、順方向リンクと逆方向リンクの両方ともI型インタフェースを使用して動作を開始する。これらのパラメータは通常、ホストがクライアントディスプレイ(又は他のタイプのクライアントデバイス)の能力、つまり所望される構成を決定する間に一時的に使用される。ホストは、ディスプレイ又はクライアントが表示能力パケットで応答することを要求するために、要求フラグのビット「0」が一(1)という値に設定される逆方向リンクカプセル化パケットが後に続く順方向リンク上でサブフレームヘッダパケットを送信する又は転送する。ディスプレイはいったん順方向リンク上で(又は、順方向リンクとの)同期を取得すると、逆方向リンク又はチャネル上で表示能力パケット及び表示要求及びステータスパケットを送信する。
【0524】
ホストは、性能の最適レベル又は性能の所望されるレベルのためにリンクを再構成する方法を決定するために、表示能力パケットのコンテンツを調べる。ホストは、ホストとディスプレイが互いと互換性のあるプロトコルのバージョンを使用していることを確認するためにプロトコルバージョンフィールドと最小プロトコルバージョンフィールドを調べる。プロトコルバージョンは、プロトコルの他の要素が互換性がない可能性がある、あるいは互換性があると完全に理解されるときにも互換性を確認できるように、通常、表示能力パケットの最初の2つのパラメータとして残る。
【0525】
D.CRC処理
全パケットタイプについて、パケットプロセッサ状態機械は、CRCチェッカが適切に又は相応に制御されることを確実にする。また、それは、CRC比較が1つ又は複数のエラーが検出された結果となり、それが処理中の各サブフレームの始まりでCRCカウンタをリセットすると、CRCエラーカウンタを増分する。
【0526】
E.代替同期損失チェック
前記一連のステップ又は状態はさらに高いデータレート又はスループット速度を生じさせるために作用するが、出願人は、クライアントがホストとの同期の損失があることを宣言するために使用する代替の装置又は状態の変化がなおさらに高いデータレート又はスループットを効果的に達成するために使用できることを発見した。新しい発明の実施形態は同じ基本構造を有するが、状態を変更するための条件が変更された状態である。さらに、サブフレーム同期についてチェックするのに役立つために新しいカウンタが実現される。これらのステップと条件は、方法又は状態機械の動作を確立する上で有効な一連の状態と条件を描く、
図63に関して提示されている。明確にするために、「ACQUIRING−SYNC STATES(同期獲得状態)」と「IN−SYNC STATES(同期状態)の部分だけが示される。加えて、結果として生じる状態は、状態機械自体と実質的に同じであるため、それらは同様の番号付けを使用する。しかしながら、状態(及び状態機械動作)を変更するための条件はいくぶん変化し、その結果、差異を識別する上で便宜で2つの図(1、2、3、4、5及び6対61、62、63、64、及び65)の間で明確にするためにすべてが番号を付け直される。ASYNC FRAME(非同期フレーム)状態はこの説明では検討されないため、1つの状態(4904)及び条件(6)はもはや図では使用されない。
【0527】
図63では、(ディスプレイ又はプレゼンテーションのための)システム又はクライアントは、
図49においてのように事前に選択された「同期なし」状態4902の状態機械5000と開始する。同期なし状態4902から状態を変更するための第1の状態変化は、同期パターンの発見である条件64にある。サブフレームヘッダのCRCもこのパケットを順送りにする(条件61「を満たす」)と仮定すると、パケットプロセッサ状態機械の状態は同期中状態4908に変更できる。同期エラー、条件62は、状態機械を状態4910へシフトさせ、第2の発生を状態4912にシフトさせる。しかしながら、MDDIパケットのCRC失敗により、状態機械は同期中状態4906から外れ、1同期エラー状態に移動することが発見された。MDDIパケットの別のCRC失敗は、2つの同期失敗状態4912への移動を引き起こす。正しいCRC値で復号されるパケットにより、状態機械は同期中状態4908に戻る。
【0528】
変更されたのは、「あらゆる」パケットのCRC値又は決定を活用することである。つまり、単にサブフレームヘッダパケットを観察する代わりに、あらゆるパケットが同期の損失を決定するために状態機械にCRC値を見させることである。この構成又はプロセスでは、同期の損失は、一意のワード及びちょうどサブフレームヘッダCRCだけの値を使用して決定されない。
【0529】
この新しいインタフェースインプリメンテーションによりMDDインタフェースリンクは同期失敗をはるかに迅速に認識し、その結果それらからさらに迅速に回復することもできる。
【0530】
このシステムをさらにロバストにするために、クライアントはサブフレームカウンタを追加又は活用する必要もある。次に、クライアントは、それが信号内で到達する又は発生すると予想される時間に一意のワードの存在がないかチェックする。一意のワードが正しい時に発生しない場合、クライアントは、同期失敗が、それが、サブフレーム長より大きかった複数(ここでは3)のパケット時間又は期間待機しなければならない場合よりはるかに迅速に発生したことを認識できる。一意のワードについての試験が、それが存在しない、言い換えると、タイミングが間違っていることを示す場合には、クライアントは同期のリンク損失をただちに宣言し、同期なし状態に移動できる。適切な一意のワードの存在がないかチェックするプロセスは、条件65(cond65)を、一意のワードが間違っていると言う状態機械に追加する。サブフレームパケットがクライアントで受信されると予想され、うまく調和しない場合、クライアントはただちに同期なし状態4902に移動し、状態4910と4912を行き来して通常遭遇される複数の同期エラー(条件62)を待機する追加の時間を節約する。
【0531】
この変化は、サブフレーム長をカウントするためにクライアントコアで追加のカウンタ又はカウント機能を使用する。一実施形態では、カウントダウン機能が使用され、現在処理されていた任意のパケットの転送は、カウンタが期限切れになった場合にサブフレーム一意ワードがないかチェックするために中断される。代わりに、カウンタはカウントアップすることもでき、カウントは所望される最大値又は特定の所望される値と比較され、その時点で現在のパケットがチェックされる。このプロセスはクライアントを、異常に長いパケット長でクライアントで間違って受信されるパケットを復号することから保護する。サブフレーム長カウンタが復号されていた何らかの他のパケットを中断することを必要とした場合、パケットはサブフレーム境界を交差してはならないため、同期の損失が決定できる。
【0532】
IX.パケット処理
状態機械が受信する前述された各種のパケットについて、それはインタフェースの動作を実現するための特定の処理ステップ又は一連のステップに取り掛かる。順方向リンクパケットは、以下の表XIIにリストされる例示的な処理に従って処理される。
【表12-1】
【表12-2】
【0533】
X.逆方向リンクデータレートの削減
発明者によって、ホストリンクコントローラに使用される特定のパラメータが、非常に望ましい最大逆方向リンクデータレート又はさらに最適化された(スケール)逆方向リンクデータレートを達成するために特定の方法で調整又は構成できることが観察された。例えば、逆方向リンクカプセル化パケットの逆方向データパケットフィールドを転送するために使用される時間中、MDDI_Stb信号組は順方向リンクデータレートの半分で周期的なデータクロックを生じさせるためにトグルする。これは、ホストリンクコントローラが、それがあたかもすべてのゼロを送信しているかのようにMDDI_Data0信号に対応するMDDI_Stb信号を生じさせるために発生する。MDDI_Stb信号はホストから、それがディスプレイから逆方向リンクデータを転送するためのクロック信号を発生させるために使用させれるクライアントに転送され、逆方向データはそれとともにホストに送り返される。MDDIを利用するシステム内の順方向経路と逆方向経路で信号転送及び処理のために遭遇される典型的な遅延の量の説明図は
図50に示される。
図50では、一連の遅延値1.5nsec、8.0nsec、2.5nsec、2.0nsec、1.0nsec、1.5nsec、8.0nsec、及び2.5nsecが、それぞれStb+/−生成、ケーブル転送から表示(transfer−to−display)、表示受信機、クロック生成、信号計時、Data0+/−生成、ケーブル転送からホスト(transfer−to−host)及びホスト受信機段階について、処理部分の近くに示される。
【0534】
順方向リンクデータレート及び遭遇される信号処理遅延に応じて、この「往復」影響又はイベントのセットを完了するために、MDDI_Stb信号で1サイクル以上の時間を要し、その結果、望ましくない時間量又はサイクルの消費が生じる。この問題を回避するために、逆方向レート除数によって逆方向リンク上の1ビット時間がMDDI_Stb信号の複数のサイクルに及ぶことが可能になる。つまり、逆方向リンクデータレートは順方向リンクレート未満である。
【0535】
インタフェースを通した信号遅延の実際の長さは、使用されているそれぞれの特定のホストクライアントシステム又はハードウェアに応じて異なってよいことに注意されたい。必要とされないが、逆方向レート除数が最適値に設定できるように、システム内の実際の遅延を測定するために往復遅延測定パケットを使用することによって、各システムはさらによく実行させることができる。
【0536】
往復遅延は、ホストに往復遅延測定パケットをディスプレイに送信させることによって測定される。ディスプレイは、測定期間フィールドと呼ばれるそのパケットの中の事前に選択された測定ウィンドウの内部で、あるいはその間に1のシーケンスをホストに送り返すことによってこのパケットに応答する。この測定の詳細なタイミングは前述された。往復遅延は、逆方向リンクデータが安全にサンプリングできるレートを決定するために使用される。
【0537】
往復遅延測定は、測定期間フィールドの始まりと、0xff、0xff、0x00応答シーケンスがクライアントからホストで受け直される期間の始まりの間で発生する順方向リンクデータクロック間隔の数を求める、検出する、又はカウントすることからなる。測定カウントがまさに増分しそうになる前に順方向リンククロック期間の小さい部分、クライアントからの応答が受信できることが可能であることに注記する。この未修正の値が逆方向除数を計算するために使用される場合、それは信頼できないデータサンプリングのために逆方向リンク上のビットエラーを引き起こすであろう。この状況の例は、ホストでのMDDI_Data、ホストでのMDDI_Stb、ホスト内部の順方向リンクデータクロック、及び遅延カウントを表す信号がグラフィック形式で示されている
図51に描かれている。
図51では、応答シーケンスは、遅延カウントが6から7に増分しそうになる前に順方向クロック期間の一部、ディスプレイから受信された。遅延が6であると仮定されると、ホストは、ビットトランザクションの直後に、あるいはビットトランザクションのおそらく中間に逆方向データをサンプリングする。これによりホストで誤ったサンプリングをもたらすこともある。このため、測定された遅延は、通常、それが逆方向レート除数を計算するために使用される前に1、増分されなければならない。
【0538】
逆方向レート除数は、ホストが逆方向リンクデータをサンプリングする前に待機しなければならないMDDI_Stbサイクルの数である。MDDI_Stbは順方向リンクレートの2分の1である速度で循環するので、補正された往復遅延測定は、2で除算されてから、次の整数に切り上げられる必要がある。公式として表現すると、この関係性は以下のとおりである。
【数2】
【0539】
既定の例の場合、これは以下になる。
【数3】
【0540】
この例で使用される往復遅延測定が6と対照的に7であると、逆方向速度除数も4に等しくなるであろう。
【0541】
逆方向リンクデータは、逆方向リンククロックの立ち上がりでホストによってサンプリングされる。逆方向リンククロックを生成するには、ホストとクライアント(ディスプレイ)の両方に存在するカウンタ又は類似した公知の回路又はデバイスがある。カウンタは、逆方向リンククロックの第1の立ち上がりが、逆方向リンクカプセル化パケットの逆方向リンクパケットフィールド内の第1のビットの始まりで発生するように初期化される。これは、例えば以下に示される例の場合、
図52に描かれている。MDDI_Stb信号の各立ち上がりでカウンタは増分し、それらがラップアラウンドするまでに発生するカウント数は逆方向リンクカプセル化パケット内の逆方向レート除数パラメータによって設定される。MDDI_Stb信号は順方向リンクレートの2分の1でトグルするので、逆方向リンクレートは逆方向レート除数により除算される順方向リンクレートの2分の1である。例えば、順方向リンクレートが200Mbpsであり、逆方向レート除数が4である場合には、逆方向リンクデータレートは以下のように表される。
【数4】
【0542】
逆方向リンクカプセル化パケット内のMDDI_Data0信号ラインとMDDI_Stb信号ラインのタイミングを示す例は、図解に使用されるパケットパラメータが以下の値を有する
図52に示される。
【0543】
パケット長=1024(0x0400) ターンアラウンド1長=1
パケットタイプ=65(0x41) ターンアラウンド2長=1
逆方向リンクフラグ=0 逆方向レート除数=2
パラメータCRC=0xdb43 全ゼロは0x00である
パケット長フィールドとパラメータCRCフィールドの間のパケットデータは以下のとおりである。
【0544】
0x00,0x04,0x41,0x00,0x02,0x01,0x01,0x43,0xdb,0x00,...
ディスプレイから戻される第1の逆方向リンクパケットは、パケット長が7、パケットタイプが70の表示要求ステータスパケットである。このパケットはバイト値0x07、0x00、0x46...等で開始する。しかしながら、最初のバイト(0x07)だけが
図54で可視である。この第1の逆方向リンクパケットは、実際の逆方向リンク遅延を示すために図中ほぼ1逆方向リンククロックで時分割される。ホストからディスプレイ往復遅延がゼロの理想的な波形は点線のトレースで示されている。
【0545】
パラメータCRCフィールドのMSバイトは転送され、パケットタイプ、次に全ゼロフィールドが先行する。ホストからのストローブは、ホストからのデータがレベルを変更し、より幅広いパルスを形成すると、1からゼロ、ゼロから1に切り替わる。データがゼロになると、ストローブはさらに速い速度で切り替わり、データライン上のデータの変化だけがアラインメントフィールドの最後近くで変化を引き起こす。ストローブは図の残りの部分について、延長された期間、データ信号の固定された0レベル又は1レベル、及びパルスパターン(エッジ)に当たる遷移のためにさらに速い速度で切り替わる。
【0546】
ホストのための逆方向リンククロックは、クロックが逆方向リンクパケットに対処するために開始されるターンアラウンド1期間の最後までゼロである。図の下部の矢印は、開示の残りから明らかとなるように、いつデータがサンプリングされるのかを示す。転送されているパケットフィールドの第1のバイト(ここでは、11000000)はターンアラウンド1後に開始すると示され、ラインレベルはディスエーブルされているホストドライバから安定した。ビット3について見られるように、第1のビットの通過の遅延はデータ信号の点線で見られる。
【0547】
図53では、順方向リンクデータレートに基づいた逆方向レート除数の典型的な値を観察できる。実際の逆方向レート除数は適切な逆方向リンク動作を保証するために往復リンク測定の結果求められる。第3の領域5306は、適切に機能しない可能性がある設定値を示しているが、第1の領域5302は、安全な動作の領域に相当し、第2の領域5304は限界に近い性能の領域に相当する。
【0548】
往復遅延測定及び逆方向レート除数設定値は、それらは送信される又は受信されるビット数よりむしろ実際のクロック期間の単位で表され、作動されるため、順方向リンク又は逆方向リンクのどちらかのインタフェース型の設定値のどれかで作動している間は同じである。
【0549】
XI.ターンアラウンド及びガード時間
前述されたように、逆方向リンクカプセル化パケットのターンアラウンド1フィールド、及び往復遅延測定パケットのガードタイム1フィールドは、表示インタフェースドライバがイネーブルされる前にホストインタフェースドライバをディスエーブルできるようにする。ターンアラウンド2フィールドとガードタイム2フィールドは、ホストドライバがイネーブルされる前にディスプレイドライバをディスエーブルできるようにする時間値を提供する。ガードタイム1フィールドとガードタイム2フィールドは、通常、調整されることを意図されない長さの事前に設定された又は事前に選択された値で満たされる。使用されるインタフェースハードウェアに応じて、これらの値は実証的データを使用して作成され、動作を改善するためにいくつかの例で調整されてよい。
【0550】
複数の要因がターンアラウンド1の長さの決定に寄与し、これらは順方向リンクデータレート、及びホスト内のMDDI_Dataドライバの最大ディスエーブル時間である。最大ホストドライバディスエーブル時間は表XIに指定され、ドライバがディスエーブルするには最大約10nsec、イネーブルするには約2nsecを要することを示す。ディスエーブルされるホストドライバに必要とされる順方向リンククロックの最小数は以下の関係性に従って表される。
【数5】
【0551】
ターンアラウンド1の許容値範囲は以下の関係性に従って表され、
【数6】
【0552】
インタフェース型係数は、I型の場合1、II型の場合2、III型の場合4、及びIV型の場合8である。
【0553】
前記からの2つの方程式を結合すると、インタフェース型係数の項が無効になり、ターンラウンド1が以下のように定義される。
【数7】
【0554】
例えば、1500Mbps III型順方向リンクは以下のターンアラウンド1遅延を使用するであろう。
【数8】
【0555】
往復遅延が増加するにつれて、タイミングマージンは、ホストがディスエーブルされる時点から、ディスプレイがイネーブルされる時間へ改善する。
【0556】
ターンアラウンド2のために概して使用される時間の長さを決定する係数は、順方向リンクデータレート、ディスプレイの中のMDDI_Dataドライバの最大ディスエーブル時間、及び通信リンクの往復遅延である。ディスプレイドライバをディスエーブルするために要する時間の計算は、本来、前述されたホストドライバのための計算と同じであり、以下の関係性に従って定義され、
【数9】
【0557】
ターンアラウンド2の許容値範囲は、以下のように表される。
【数10】
【0558】
例えば、10順方向リンククロックという往復遅延のある1500Mbps III型順方向リンクは、通常、以下に似通ったターンアラウンド2遅延を使用する。
【数11】
【数12】
【0559】
XII.代替逆方向リンクタイミング
前述されたタイミングと保護周波数帯を使用することは高速データ転送レートインタフェースを達成するのに役立つが、発明者は逆方向タイミング発見を変更することによって、往復運動時間より短い逆方向ビット長を可能にする技法を発見した。
【0560】
前記に提示されたように、逆方向リンクに対するタイミングについての前記の手法は、クロックサイクルの数が、第1のビットがIOクロックの立ち上がりでサンプリングされるまで、クロックサイクル数が逆方向タイミングパケットのガードタイム1の最後のビットからカウントされるように構成される。これが、MDDインタフェースについての入力および出力の時間を計ることに使われるクロックシグナルである。逆方向レート除数のための計算は以下によって示される。
【数13】
【0561】
これは、非常に信頼性の高い逆方向リンクを生じさせる往復遅延に等しいビット幅を提供する。しかしながら、逆方向リンクは、発明者が利用することを希望するさらに高速に、つまりさらに高速のデータ転送レートで運転できることが示されている。新しい発明の技法により、さらに高速に達するためにインタフェースの追加の機能を活用することが可能になる。
【0562】
これは、1がサンプリングされるまでのクロックサイクルの数をホストにカウントさせることによって達成されるが、ホストは逆方向タイミングパケットの間立ち上がりと立ち下がり両方でデータラインをサンプリングする。これにより、ホストはビットが安定していることを確実にするために、逆方向ビットの中の最も有効な又は最適のサンプリング点を選ぶことができる。つまり、逆方向トラフィック逆方向カプセル化パケットでデータをサンプリングするために最も有効な又は最適な立ち上がりを発見するためにである。最適サンプリング点は、逆方向リンク除数と、第1のエッジ(that)が立ち上がりで検出されたのか、あるいは立下りで検出されたのか次第である。新しいタイミング方法により、ホストは、逆方向カプセル化パケットのどこでサンプリングするのかを決定するために、クライアントによって送信される0xFF 0xFF 0x00のパターン第1のエッジを単に探すことができる。
【0563】
到着する逆方向ビットと、そのビットが多様な逆方向レート除数をどのようにして探すのかの例が、ガードタイム1の最後のビット以来発生したクロックサイクル数とともに、
図64に描かれる。
図64では、(上昇/下降と呼ばれる)立ち上がりと立下りの間で第1のエッジが発生すると、それは逆方向ビットの期間内に発生するただ1つの立ち上がりであるため、1という逆方向レート除数のための最適サンプリング点が「b」と呼ばれるクロックサイクルエッジであることが分かる。2という逆方向レート除数の場合、サイクルエッジ「c」は「b」よりビットエッジに近いため、最適サンプリング点はおそらく依然としてクロックサイクル前縁「b」である。4という逆方向レート除数の場合、それは、値がおそらく安定化した逆方向ビットの後端により近いため、最適サンプリング点はおそらくクロックサイクルエッジ「d」である。
【0564】
図64に戻ると、しかしながら、第1のエッジが(下降/上昇と呼ばれる)後縁と前縁の間で発生する場合には、1という逆方向レート除数の最適サンプリング点は、それが逆方向ビット期間内の唯一の立ち上がりであるため、サンプリング点クロックサイクルエッジ「a」である。2という逆方向レート除数の場合、最適サンプリング点はエッジ「b」であり、4という逆方向レート除数の場合、最適サンプリング点はエッジ「c」である。
【0565】
真中に最も近いのは立ち上がりでなければならないため、逆方向レート除数が大きくなるにつれて、最適サンプリング点を確かめる又は選択するのが容易になることがわかる。
【0566】
ホストは、データラインでタイミングパケットデータのデータ立ち上がりが観測されるまでクロック立ち上がりの数を発見するためにこの技法を使用できる。したがって、ホストは、エッジが立ち上がりと立ち下がりの間で発生するのか、それとも立下りと立ち上がりの間で発生するのか及び逆方向レート除数がいくつであるのかに基づいて、ビットがつねに可能な限り真中近くでサンプリングされることを無理なく確実にするために、番号カウンタにいくつの追加クロックサイクルを追加するのかを決定できる。
【0567】
ホストは、いったんクロックサイクルの数を選択又は決定すると、特定の逆方向レート除数が働くかどうかを判断するためにクライアントと多様な逆方向レート除数を「探索」できる。ホスト(及びクライアント)は1という除数で開始し、この逆方向レートがデータを転送するために適切に機能するかどうかを判断するために、クライアントから受信される逆方向ステータスパケットのCRCをチェックする。CRCが間違いが多い場合には、おそらくサンプリングエラーがあり、ホストは逆方向レート除数を大きくし、ステータスパケットを再度要求しようとすることができる。第2の要求パケットに間違い多い場合は、除数を再び大きくし、再び要求を行うことができる。このパケットが正しく復号される場合には、この逆方向レート除数は将来のすべての逆方向パケットに使用できる。
【0568】
この方法は、逆方向タイミングが初期の往復タイミング推定値から変化してはならないため効果的且つ有用である。順方向リンクが安定している場合には、クライアントは、逆方向リンクの失敗があるとしても、順方向リンクパケットの復号を続ける必要がある。言うまでもなく、この方法は完全な逆方向リンクを保証しないため、リンクに逆方向リンク除数を設定することは依然としてホストの責任である。加えて、除数はおもにIOクロックを生成するために使用されるクロックの品質に依存する。そのクロックに十分な量のジッタがある場合には、サンプリングエラーの可能性は大きくなる。このエラーの蓋然性は、往復遅延でのクロックサイクル量とともに上昇する。
【0569】
このインプリメンテーションはI型の逆方向データにもっともうまく作用するように思われるが、II型からIV型の逆方向データにとって、データライン間の歪みが潜在的に大きすぎて、ただ1つのデータペアにとって最もうまく作用するレートでリンクを実行できないという問題点を提示する可能性がある。しかしながら、動作のためのII型からIV型の操作でも、データレートはおそらく過去の方法まで削減される必要はない。この方法は理想的な又は最適なクロックサンプルロケーションを選択するために各データラインで重複されると最もうまく働く可能性がある。それらがデータ組ごとに同じサンプル時間にある場合、この方法は機能し続けるであろう。それらが異なるサンプル期間にある場合、2つの異なる手法が使用されてよい。第1の手法は、たとえそれがデータペアごとに同じではない場合にもデータポイントごとに所望される、あるいはさらに最適化されたサンプルロケーションを選択することである。ホストは、データペアのセットからビットのすべてをサンプリングした後にデータストリームを再構築できる。II型に2ビット、III型に4ビット、及びIV型に8ビットである。他のオプションは、データ組ごとのデータビットが同じクロックエッジでサンプリングできるように、ホストが逆方向レート除数を増加することである。
【0570】
XIII.リンク遅延及び歪みの影響
遅延歪み補償が使用されない限り、MDDI_Data組とMDDI_Stbの間の順方向リンクでの遅延歪みによって、最大可能データレートが制限されることがある。タイミング歪みを引き起こす遅延の差異は、下記に概略されるように、コントローラの論理、ラインドライバとラインレシーバ、及びケーブルとコネクタを原因とする。
【0571】
A.歪みによって制限されるリンクタイミング分析(MDDI I型)
1.I型リンクの遅延と歪みの例
図41に示されるインタフェース回路に類似する典型的なインタフェース回路は、I型インタフェースリンクに対処するために
図57に示される。
図57では、伝搬遅延及び歪みのための例示的な又は典型的な値が、MDDI I型順方向リンクの複数の処理又はインタフェース段階のそれぞれに示される。MDDI_StbとMDDI_Data0の間の遅延の歪みにより、出力クロックのデューティサイクルが歪む。フリップフロップ5728、5732を使用する受信機フリップフロップ(RXFF)段階のD入力でのデータは、それが確実にサンプリングできるようにクロックエッジの後にわずかに変化しなければならない。図は、このタイミング関係を生じさせることにまつわる2つの異なる問題点を解決するために使用される2つのカスケード式遅延ライン5732aと5732bを示す。実際のインプリメンテーションでは、これらは単一の遅延要素に結合されてよい。
【0572】
インタフェースを通る例示的な信号処理のためのI型リンクでのデータ、Stb及びクロック回復タイミングは、
図58に描かれる。
【0573】
大きい層遅延歪みは、以下の段階での歪みの合計から生じる、又は由来する。つまり、フリップフロップ5704、5706付きの送信機フリップフロップ(TXFF)、ドライバ5708、5710付きの送信機ドライバ(TXDRVR)、ケーブル5702、受信機5722、5724付きの受信機ラインレシーバ(RXRCVR)、受信機XOR論理(RXXOR)である。Delay1 5732aは、以下の関係性により決定されるRXXOR段階でのXORゲート5736の遅延に一致する、又は超える必要がある。
【数14】
【0574】
受信機フリップフロップ5728、5732のD入力がそのクロック入力の前に変化しないようにこの要件を満たすことが望ましい。これはRXFFの保持時間がゼロである場合に有効である。
【0575】
Delay2の目的又は機能は、以下の関係性に従ってRXFFフリップフロップの保持時間を補償することである。
【数15】
【0576】
多くのシステムでは、保持時間がゼロであるためゼロになり、言うまでもなくそのケースではDelay2の最大遅延もゼロである場合がある。
【0577】
受信機XOR段階での歪みに対する最悪の場合の寄与は、Delay1が最大値となり、XORゲートからのクロック出力が以下の関係性に従って可能な限り早期に出現するデータ−遅延/ストローブ−早期のケースである。
【数16】
【0578】
この状況では、データは、ビットn+1が受信機フリップフロップの中に記録される時間に非常に近い、2つのビット期間、nとn+1の間で変化することがある。
【0579】
MDDI I型リンクの最大データレート(最小ビット期間)は、RXFF段階の中に総データセットアップを加えたMDDIリンクの中のすべてのドライバ、ケーブル及び受信機を通して遭遇される最大歪みの関数である。RXRCVR段階の出力までのリンクの総遅延歪みは以下として表すことができ、
【数17】
【0580】
最小ビット期間は以下によって示される。
【数18】
【0581】
図57に示される例では、t
SKEW−max(LINK)=1.4 nsecであり、最小ビット期間は以下のように表すことができる。
【数19】
【0582】
あるいは約416Mbpsと述べられる。
【0583】
B.MDDI II型、III型、及びIV型のリンクタイミング分析
図41と
図57に示されるインタフェース回路に類似した典型的なインタフェース回路は、II型、III型及びIV型のインタフェースリンクに対処するために
図59に示されている。追加の要素は、追加の信号処理に対処するために、TXFF(5904)段階、TXDRVR(5908)段階、RXRCVCR(5922)段階、及びRXFF(5932、5928、5930)段階で使用される。
図59では、伝搬遅延及び歪みの例示的な又は典型的な値が、MDDI II型順方向リンクの複数の処理段階又はインタフェース段階のそれぞれに示される。出力クロックのデューティサイクルに影響を及ぼすMDDI_StbとMDDI_Data0の間の遅延の歪みに加えて、これらの2つの信号と他のMDDI_Data信号の両方の間にも歪みがある。フリップフロップ5928と5930からなる受信機フリップフロップB(RXFFB)段階のD入力でのデータは、それが確実にサンプリングできるようにクロックエッジの後わずかに変更される。MDDI_DataがMDDI_Stb又はMDDI_DATA0より早く到達すると、MDDI_Data1が少なくとも遅延歪みの量、サンプリングされるのを遅延されなければならない。これを達成するためには、データはDelay3遅延ラインを使用して遅延される。MDDI_Data1がMDDI_StbとMDDI_Data0より遅く到達し、それもDelay3遅延される場合には、MDDI_Data1が変化する点は次のクロックエッジ近くに移動される。この処理は、MDDI II型、III型及びIV型のリンクのデータレートの上限を決定する。互いに関する2つのデータ信号とMDDI_Stbのタイミング又は歪みの関係性のいくつかの例示的な異なる可能性は
図60A、
図60B及び
図60Cに描かれる。
【0584】
MDDI_DataXが可能な限り早く到達するときにRXFFBで確実にデータをサンプリングするために、Delay3は以下の関係性に従って設定される。
【数20】
【0585】
最大リンク速度は、最小許容ビット期間により決定される。これは、MDDI_DataXが可能な限り遅く到着すると最も影響を及ぼされる。その場合、最少許容サイクル時間は以下により示される。
【数21】
【0586】
リンク速度の上限は以下のとおりであり、
【数22】
【0588】
前述の例では、最小ビット期間の下限は以下の関係性によって示され、
【数24】
【0590】
これは、I型リンクで使用できる最大データレートよりはるかに低速である。MDDIの自動遅延歪み補償能力は、遅延歪みが最大リンクレートに及ぼす影響を著しく削減する。
【0591】
XIV.物理層相互接続説明
本発明に従ってインタフェースを実現するために有効な物理的な接続は、ホスト側ではヒロセデンキカブシキカイシャ(Hirose Electric Company Ltd.)製のパーツ番号3260−8S2(01)等の市販されているパーツ、表示装置側でヒロセデンキカブシキカイシャ(Hirose Electric Company Ltd.)製のパーツ番号3240−8P−Cを使用して実現できる。I型/II型インタフェースとともに使用されるこのようなコネクタの例示的なインタフェースピン割り当て、つまり「ピン配列」は、表XIIに一覧表示され、
図61に図解されている。
【表13】
【0592】
シールドは、ホストインタフェース内でMDDI_Gndに接続され、ケーブル内のシールドドレインワイヤはディスプレイコネクタのシールドに接続される。しかしながら、シールドとドレインワイヤはディスプレイ内部の回路接地に接続されない。
【0593】
相互接続要素又はデバイスは、相対的なデバイスサイズと比較してひどく目立ったり、趣味が悪くなることなく、PDAと無線電話、又は携帯ゲーム機などのモバイル通信及びコンピュータデバイスと使用するために十分に小型となるために選ばれる、又は設計される。あらゆるコネクタとケーブル布線は典型的な消費者環境での使用に十分に耐久性があり、特にケーブル布線のために小さいサイズに対処し、相対的に低価格でなければならない。転送要素は、I型とII型の場合約450Mbpsまで、8ビット並列IV型バージョンの場合3.6Gbpsまでの転送レートを有する差動NRZデータであるデータ信号とストローブ信号に対処しなければならない。
【0594】
内部モード応用例の場合、使用されている導線にとって同じ意味でのコネクタはない、あるいはこのような接続要素は非常に小型化する傾向がある。1つの例は、ホスト又はクライアントデバイスどちらかを収容する、集積回路又は要素を受け入れるためのZIF「ソケット」である。別の例は、ホストとクライアントが多様な相互接続導線によりプリント回路基板上に存在し、集積回路の相互接続のために導線上での接点にはんだ付けされるハウジングから伸張する「ピン」又は接点を有する場合である。
【0595】
XI.動作
本発明の実施形態を使用するインタフェースの動作中にデータとパケットを処理する上で取られる一般的なステップの要約は、
図55のパケットを処理するインタフェース装置の概要とともに、
図54Aと
図54Bに示される。これらの図では、プロセスはクライアントとホストが通信経路、ここではケーブルを使用して接続されるかどうかに関する決定とともにステップ5402で開始する。これは、(USBインタフェースについて見られるような)ホストに対する入力でコネクタ又はケーブル又は信号の存在を検出するソフトウェア又はハードウェアを使用して、あるいは他の公知の技法を使用してホストによる周期的なポーリングを使用することで発生する場合がある。ホストに接続されるクライアントがない場合には、それは単に、応用例に応じてある所定の長さの待機状態に入る、ハイバネーションモードに入る、あるいはホストを再アクティブ化するためにユーザが処置を講じることを必要とする可能性がある将来の使用に待機するために非アクティブ化されるだけである。例えば、ホストがコンピュータ型のデバイスに常駐するとき、ユーザは画面上でクリックする、あるいはクライアントを探すためにホスト処理をアクティブ化するプログラムを要求する必要がある場合がある。再び、U型インタフェースに使用されるようなUSB型接続の簡単なプラグは、ホスト又は常駐するホストソフトウェアの能力と構成に応じてホスト処理をアクティブ化できるであろう。
【0596】
いったんクライアントがホストに接続される、又はその逆の場合、あるいは存在するとして検出されると、クライアント又はホストのどちらかがステップ5404と5406でサービスを要求する適切なパケットを送信する。クライアントは、ステップ5404で表示サービス要求パケット又はステータスパケットのどちらかを送信できるであろう。前述されたように、これが、続く通信リンクの完全な初期化とはならないように、リンクが過去に停止した、あるいはハイバネーションモードであることが注記される。通信リンクがいったん同期され、ホストがクライアントと通信しようとすると、クライアントはステップ5408でのようにホストに表示能力も提供する。ホストは、ここでクライアントが対処できる転送速度を含むサポートの種別の決定を開始できる。
【0597】
一般的には、ホストとクライアントは、ステップ5410で例えばI型、U型、II型等使用されるサービスモードの型(レート/速度)も交渉する。いったんサービスタイプが確立されると、ホストが情報の転送を開始できる。加えて、ホストはステップ5411に示されるように他の信号処理と平行して通信リンクのタイミングを最適化するため往復遅延測定パケットを使用してよい。
【0598】
前述されたように、すべての転送は、ステップ5412で転送されていると示されるサブフレームヘッダパケットで開始、後にデータのタイプ、ここではステップ5414で転送されていると示されるビデオストリームパケットと音声ストリームパケット、フィラーパケットが続く。音声データとビデオデータは過去に作成された、あるいはパケットにマッピングされており、フィラーパケットはメディアフレームのための必須ビット数を書き込む(fill out)ために必要に応じて又は所望されるように挿入される。ホストはサウンドデバイスをアクティブ化するために、順方向音声チャネルイネーブルパケットなどのパケットを送信できる。加えて、ホストはここではステップ5416のカラーマップの転送、ビットブロック転送、又は他のパケットとして示される、前述された他のパケットタイプを使用してコマンドと情報を転送できる。さらに、ホストとクライアントは
適切なパケットを使用してキーボード又はポインティングデバイスに関するデータを交換できる。
【0599】
動作中、インタフェースモードの異なるデータレート又はタイプを所望するホスト又はクライアントにつながる複数の異なるイベントの1つが発生する場合がある。例えば、コンピュータ又はデータを通信する他のデバイスは、パケットの作成又は提示において減速を引き起こすデータを処理する上での荷重条件に遭遇することがあるであろう。データを受信するディスプレイは、専用AC電源からさらに制限されたバッテリ電源に変更することができ、迅速にデータを転送し、コマンドを容易に処理することはできない、あるいはさらに制限された電力設定値の下で同じ程度の解像度又はカラー階調を使用することはできないであろう。代わりに、制限条件は和らげられるあるいは消滅し、どちらかのデバイスがさらに高速でデータを転送できるようになる。これがより望ましく、より高速の転送速度モードに変更するように要求できる。
【0600】
これらの種類又は他の種類の既知の条件が発生する又は変化する場合、ホスト又はクライアントのどちらかがそれらを検出し、インタフェースモードを再交渉しようとしてよい。これは、ホストが別のモードへのハンドオフを要求して、クライアントにインタフェースタイプハンドオフ要求パケットを送信し、クライアントが変更が求められていることを確認するインタフェースタイプ肯定応答パケットを送信し、ホストが指定モードに変更を加えるために実行型ハンドオフパケットを送信するステップ5420に示される。
【0601】
処理の特定の順序は要求していないが、クライアントとホストは、このような要素はホスト側に存在してもよいが、ポインティングデバイス、キーボード又はおもにクライアントに関連する他のユーザ型入力装置向けのデータ、又はポインティングデバイス、キーボード又はおもにクライアントに関連する他のユーザ型入力装置から受信されるデータに関するパケットを交換できる。これらのパケットは、通常、状態機械(5502)ではなく、汎用プロセッサ型要素を使用して処理される。加えて、前述されたコマンドのいくつかも汎用プロセッサ(5504、5508)により処理されるであろう。
【0602】
データ及びコマンドがホストとクライアントの間で交換された後、何らかの時点で、追加のデータが転送されるべきか、あるいはホスト又はクライアントが転送にサービスを提供するのをやめるかどうかに関する決定が下される。これはステップ5422に示される。リンクがハイバネーション状態になる、又は完全にシャットダウンされるかのどちらかの場合、ホストは、クライアントにリンクシャットダウンパケットを送信し、両側がデータの転送を終了する。
【0603】
前記動作処理で転送されているパケットは、ホストコントローラとクライアントコントローラに関して前述されたドライバとレシーバを使用して転送される。これらのラインドライバと他の論理素子は、
図55の概要に示されるように、前述された状態機械と汎用プロセッサに接続される。
図55では、状態機械5502及び汎用プロセッサ5504と5508は、さらに専用USBインタフェース、メモリエレメント、又はデータソース、及びビュー表示装置用のビデオ制御チップを含むが、これらに限定されない、それらが対話するリンクコントローラの外部に存在する他の構成要素等の他の要素(不図示)に接続されてよい。
【0604】
プロセッサ及び状態機械は、通信リンクの効率的な確立又は終了、及びパケットの転送を保証するために、ガードタイム等に関して前述されたようなドライバのイネーブル及びディスエーブルに関する制御を提供する。
【0605】
XVI.ディスプレイフレームバッファ
ビデオデータバッファリング要件は、コンピュータグラフィックスと比べてビデオ動画に対して異なる。ピクセルデータは、ディスプレイ上の画像を局所的にリフレッシュできるように、ほとんどの場合、クライアントのローカルフレームバッファに記憶される。
【0606】
フルモーションビデオが表示されている(ディスプレイのほぼすべてのピクセルが各メディアフレームを変更する)とき、通常は、ディスプレイ上の画像は第2のフレームバッファからリフレッシュされている間に、入信ピクセルデータを1つのフレームバッファに記憶することが好ましい。3つ以上のディスプレイバッファは、後述されるような可視アーチファクトを排除するために使用されてよい。画像全体が1つのフレームバッファ内で受信されると、バッファの役割をスワッピングし、新規に受信された画像が表示をリフレッシュするために使用され、他のバッファが画像の次のフレームで充填される。この概念は、ピクセルデータが表示更新ビットを「01」に設定することによってオフライン画像バッファに書き込まれる
図91Aに描かれている。
【0607】
他の応用例では、ホストは画像全体を塗り直すことなく画像の小さな部分だけを更新する必要がある。この状況では、
図91Bに詳細に描かれるように、表示をレフレッシュするために使用されるバッファに直接的に新しいピクセルを書き込むことが所望される。
【0608】
小型ビデオウィンドウで固定画像を有する応用例では、
図9Cに図示されているように固定画像を両方のバッファに書き込み(表示更新ビットは「11」に等しい)、以後、表示更新ビットを「01」に設定することによって、動画のピクセルをオフラインバッファに書き込むのが最も簡単である。
【0609】
以下の規則は、同時にクライアントに新しい情報を書き込み、表示をリフレッシュする一方で、バッファポインタの有効な動作を説明する。3つのバッファポインタが存在する。つまり、current_fillは、MDDIリンク上でデータから現在充填されているバッファを指す。just_filledは、最も最近充填されたバッファを指す。being_displayedは、ディスプレイをリフレッシュするために現在使用されているバッファを指す。3つすべてのバッファポインタは、0からN−1の値を含むことがあり、Nは表示バッファの数で、N≧2である。バッファポインタ上の算術はNを係数とする。例えば、N=3およびcurrent_fill=2であるとき、current_fillを増分すると、current_fillは0に設定される。N=2の単純な場合、just_filledはつねにcurrent_fillの補数である。あらゆるMDDIメディアフレーム境界(サブフレームカウントフィールドがゼロに等しい、サブフレームヘッダパケット)では、以下の演算を指定された順序で実行する。つまり、just_filledをcurrent_fillに等しく設定し、current_fillをcurrent_fill+1に等しく設定する。
【0610】
MDDIビデオストリームパケットは、表示更新ビットが「01」に等しいとき、ピクセルデータがcurrent_fillにより指定されるバッファに書き込まれ、表示更新ビットが「00」に等しいとき、ピクセルデータがjust_filledによって指定されるバッファに書き込まれ、表示更新ビットが「11」に等しいと機に、ピクセルデータが全バッファに書き込まれるという構造又は方法論に従ってバッファを更新する。ディスプレイは、being_displayedポインタによって指定されるバッファかありフレッシュされる。ディスプレイが1フレームリフレッシュエポックの中の最後のピクセルをリフレッシュした後、それが次のリフレッシュエポックの最初のピクセルのリフレッシュを開始する前に、ディスプレイ更新プロセスはbeing_refreshedをjust_filledに等しく設定する動作を実行する。
【0611】
ビデオストリームパケットは、ピクセルデータが書き込まれるものとするフレームバッファを指定する1組の表示更新ビットを含む。表示能力パケットは、クライアントで表示更新ビットのどの組み合わせがサポートされているのかを示す3つの追加のビットを有する。多くのケースでは、コンピュータによって生成された画像はユーザ入力に基づいて増分的に更新されるか、コンピュータネットワークから引き出された情報から引き出される必要がある。表示更新ビット組み合わせ「00」と「11」は、ピクセルデータを表示されているフレームバッファ又は両方のフレームバッファに書き込ませることにより、この運転モードをサポートする。
【0612】
ビデオ画像に対処するとき、
図92は、ビデオデータが表示更新ビットが「01」に等しく設定されて、MDDIリンク上で送信されるときに1組のフレームバッファを使用してどのようにしてビデオ画像を表示するのかを示す。メディアフレーム境界がMDDIリンクで検出された後、表示リフレッシュプロセスは、現在リフレッシュされているフレームのためのリフレッシュプロセスが完了すると、次のフレームバッファからリフレッシュを開始する。
【0613】
図92に関係する重要な仮定は、画像がホストから、クライアントが表示をリフレッシュするためにフレームバッファからピクセルを読み取るために使用する同じ順序で(通常、左上、行ごとに画面の右下角に行単位で読み取る)送信されるピクセルの連続ストリームとして受信されるという点である。これは、表示リフレッシュ動作と画像転送動作が同じフレームバッファを参照する場合に重要な詳細である。
【0614】
部分的な画像を表示するのを回避するために、表示リフレッシュフレームレートが画像転送フレームレートより大きくなることが必要である。
図93は、低速表示リフレッシュ速度で画像断片化がどのようにして発生するのか、つまり表示リフレッシュが画像転送より遅いことを示す。
【0615】
コンピュータグラフィックス画像とビデオ動画の組み合わせを含む画像の場合、ビデオピクセルデータは、メディアフレームの小さい部分を占める可能性がある。これは、表示リフレッシュ動作と画像転送が同じフレームバッファを参照する状況では重要となるであろう。これらの状況は、表示をリフレッシュするためにバッファから読み取られたピクセルが、2コマ前にバッファに書き込まれたピクセルである可能性がある、あるいはそれらが同じフレームバッファにただちに書き込まれるフレームに相当する、
図94の斜交平行陰影によって示される。
【0616】
クライアントで3つのフレームバッファを使用すると、
図95に示されるようなフレームバッファへのアクセスに対する競合の小さなウィンドウの問題は解決される。
【0617】
しかしながら、表示リフレッシュ速度が
図96に示されるようにMDDIリンク上でメディアフレームレート未満である場合には依然として問題がある。
【0618】
ビデオ動画画像のために単一のバッファを使用することは、
図97に示されるようにいくぶん入り組んだ問題である。バッファへの画像転送より高速の表示リフレッシュを用いると、リフレッシュされている画像が書き込まれているフレームの上部を示し、画像の下部は過去に転送されたフレームとなる。画像転送より高速の表示リフレッシュ(好ましい運転モード)を使用すると、類似した分割画像を示すフレームの例がさらに頻繁になる。
【0619】
XVII.表示値テーブル
パケット処理遅延パラメータパケットは、クライアントにおいて特定のコマンドを処理するために予測される遅延を計算するためにテーブルルックアップ機能を使用する。テーブルの中の値は非常に幅広い動的な範囲の遅延値を提供するために対数的に増加する。本発明の実施形態を実現するために有効な遅延値の例示的な表は、遅延値に対比される対応するインデックス値とともに以下の表XXに示される。
【表14】
【0620】
遅延は、指定されたパラメータを表の中にインデックスとして使用し、テーブルルックアップを実行することにより計算される。つまり、遅延はPacketProcessingTable(インデックス)に等しい。例えば、遅延パラメータリスト項目のパラメータの1つが134に等しい8ビット値である場合、遅延は16μsecであるPacketProcessingTable(134)に等しい。値255は、コマンド完了時間が計算では求めることができないこと、及びホストが表示要求及びステータスパケット又はMCCS VCP制御パラメータB7hでグラフィックスビジーフラグにチェックしなければならないことを示す。
【0621】
いくつかのケースでは、この遅延は、目的地画像のピクセルの高さ、幅又は数で乗算され、全体的なパケット処理遅延を計算するために他の遅延に加算される。
【0622】
XVIII.複数のクライアントサポート
現在のプロトコルバージョンは、複数のクライアントデバイスを直接的にサポートしていないように見える。しかしながら、大部分のパケットは、複数のクライアントがいるシステムの中で特定のクライアントデバイスに対処するために使用できる確保されたクライアントIDフィールドを含む。現在、多くの応用例では、この1つの又はこれらの複数のクライアントIDがゼロになるように設定される。サブフレームヘッダパケットは、ホストが複数クライアントシステムをサポートするかどうかを示すためのフィールドも含む。したがって、複数のクライアントデバイスが、複数のクライアントホストとクライアントとの将来の互換性についてシステム設計者が計画するのを支援するために、MDDインタフェース又はプロトコルの将来の応用例で接続され、対処されるであろう方法がある。
【0623】
複数のクライアントを有するシステムでは、クライアントのデイジーチェーンを介して、又はハブを使用してクライアントがホストに接続されるのが有効である。
【0624】
XVIII.補遺
本発明の実施形態のためのアーキテクチャ及びプロトコルを実現するために使用される多様なパケットのために前述されたフォーマット、構造及びコンテンツに加えて、パケットタイプのいくつかについて、さらに詳細なフィールドコンテンツ又は動作がここに提示される。これらは、当業者が種々の応用例のために本発明をさらに容易に理解し、利用できるようにするためにそのそれぞれの用途又は動作をさらに明確にするためにここに提示される。すでに説明されていないフィールドの数個だけがここでさらに説明される。加えて、これらのフィールドには、前記に提示された実施形態に関連して、例示的な定義と値が提示される。しかしながら、このような値は本発明の制限として解釈されるべきではなく、インタフェースとプロトコルを実現するために有効な1つ又は複数の実施形態を表し、すべての実施形態がともに、あるいは同時に実践される必要はない。当業者によって理解されるように、データ又はデータレート転送結果の所望される提示を達成するために他の値を他の実施形態で使用することができる。
【0625】
A.ビデオストリームパケット用
ある実施形態では、ピクセルデータ属性フィールド(2バイト)は、以下のように解釈される一連のビット値を有する。ビット1とビット0は、表示ピクセルデータがどのように送信されるのかを選択する。「11」というビット値の場合、データは両目に対して、又は両目のために表示され、ビット値「10」の場合は、データは左眼だけに送られ、ビット値「01」の場合、データは右目だけに送られ、「00」というビット値の場合、データは、後述されるビット8から11によって指定されてよいように代替ディスプレイに送られる。
【0626】
ビット2は、ピクセルデータがインタレースフォーマットで提示されるかどうかを示し、「0」という値は、ピクセルデータが標準漸次フォーマットであること、及び行番号(ピクセルY座標)が、ある行から次の行に進むと1増分されることを意味する。このビットに「1」という値があるとき、ピクセルデータはインタフェースフォーマットであり、行番号は、ある行から次の行に進むと、2増分される。ビット3は、ピクセルデータが代替ピクセルフォーマットであることを示す。これは、ビット2によってイネーブルされる標準インタレースモードに類似しているが、インタレースは水平の代わりに垂直である。ビット3が「0」であるとき、ピクセルデータは標準漸次フォーマットとなり、列番号(ピクセルX座標)が、各連続ピクセルが受信されると1増分される。ビット3が「1」であるとき、ピクセルデータは代替ピクセルフォーマットを取り、列番号は、各ピクセルが受信されると2増分される。
【0627】
ビット4は、データが無線電話又は類似装置、又はポータブルコンピュータ用の内部ディスプレイ、あるいは前述されたような他のデバイスに、あるいは無線電話又は類似装置、又はポータブルコンピュータ用の内部ディスプレイ、あるいは前述されたような他のデバイスから転送されている、あるいはデータはデバイスに内蔵される又は調節的に結合されるカメラに、又はカメラから転送されているので、ピクセルデータがディスプレイに関するのか、あるいはカメラに関するのかを示す。ビット4が「0」であるとき、ピクセルデータはディスプレイフレームバッファに、又はディスプレイフレームバッファから転送されている。ビット4が「1」であるとき、ピクセルデータはカメラ又は何らかの種類のビデオデバイスに、又はカメラ又は何らかの種類のビデオデバイスから転送されており、このようなデバイスは技術で周知である。
【0628】
ビット5は、ピクセルデータが、いつディスプレイの中のピクセルの次の連続行を含むのかを示すために使用される。これは、ビット5が「1」に等しく設定されるときのケースと考えられる。ビット5が「1」に設定されると、X左端縁パラメータ、Y上端縁パラメータ、X右端縁パラメータ、Y下端縁パラメータ、X開始パラメータ、及びY開始パラメータは定義されず、クライアントによって無視される。フレーム同期パケットは、画像の一番上の行となるように次の行を定義する。
【0629】
ビット7と6は、ピクセルデータが書き込まれなければならないフレームバッファを指定する表示更新ビットである。さらに具体的な効果は他の個所に説明される。「01」というビット値の場合、ピクセルデータはオフライン画像バッファに書き込まれる。「00」というビット値の場合、ピクセルデータは表示をリフレッシュするために使用される画像バッファに書き込まれる。「11」というビット値の場合、ピクセルデータはすべての画像バッファに書き込まれる。ビット値又は「10」の組み合わせは無効値又は指定として処理され、ピクセルデータは無視され、画像バッファのどれにも書き込まれない。この値はインタフェースの将来の応用例に用途がある可能性がある。
【0630】
ビット8から11は、ピクセルデータが送られなければならない代替ディスプレイ又は表示ロケーションを指定する4ビット符号なし整数を形成する。ビット0と1は、ディスプレイクライアントがビット8から11を代替表示番号として解釈するために00に等しい。ビット0と1が00に等しくない場合には、ビット8から11がゼロに設定される。
【0631】
ビット12から15は将来の使用に確保され、通常ゼロとして設定される。
【0632】
2バイトのX開始フィールドとY開始フィールドは、ピクセルデータフィールドの中の第1のピクセルの点の絶対X座標とY座標(X開始、Y開始)を指定する。X右端縁フィールドとY下端縁フィールドは更新されているウィンドウの右端縁のX座標と下端縁のY座標を指定するが、2バイトのX左端縁フィールドとY上端縁フィールドはピクセルデータフィールドによって充填される画面ウィンドウの左端縁のX座標と上端縁のY座標を指定する。
【0633】
ピクセルカウントフィールド(2バイト)は、以下のピクセルデータフィールド内のピクセル数を指定する。
【0634】
パラメータCRCフィールド(2バイト)は、パケット長からピクセルカウントまでの全バイトのCRCを含む。このCRCがチェックできない場合、パケット全体が廃棄される。
【0635】
ピクセルデータフィールドは、表示されなければならず、ビデオデータフォーマット記述子フィールドによって記述される方法でフォーマットされる未処理ビデオ情報を含む。データは、他の個所に説明されるように一度に1「行」づつ送信される。
【0636】
ピクセルデータCRCフィールド(2バイト)は、ピクセルデータ専用の16ビットCRCを含む。この値のCRC検証が失敗すると、ピクセルデータは依然として使用できるが、CRCエラーカウントが増分される。
【0637】
B.音声ストリームパケット用
一実施形態では、音声チャネルIDフィールド(1バイト)は、クライアントデバイスによって音声データ送信されるある特定の音声チャネルを識別するために、8ビット符号なし整数値を使用する。物理音声チャネルは、それぞれ左前チャネル、右前チャネル、左後チャネル、右後チャネル、前中心フロントセンタチャネル、サブウーファチャネル、サラウンド左チャネル、サラウンド右チャネルを示す0、1、2、3、4、5、6、7という値としてこのフィールドにより物理チャネルで指定される、あるいは物理チャネルにマッピングされる。254という音声チャネルID値は、デジタル音声サンプルの単一のストリームが左前チャネルと右前チャネルの両方に送信されることを示す。これは、ステレオヘッドセットが音声通信に使用される、生産性向上appsがPDAで使用される、あるいは簡略なユーザインタフェースが警告音を生じさせる他の応用例等の応用例の通信を簡略化する。8から253と255の範囲のIDフィールドの値は、当業者により予想されるように、現在、新しい設計が追加の指定を所望される用途のために確保されている。
【0638】
確保1フィールド(1バイト)は、通常将来の使用に確保され、このフィールド内のすべてのビットはゼロに設定される。このフィールドの1つの機能は、以後すべての2倍とフィールドを16ビットワードアドレスに位置合わせし、4バイトフィールドを32ビットワードアドレスに位置合わせさせることである。
【0639】
音声サンプルカウントフィールド(2バイト)は、このパケットの音声サンプル数を指定する。
【0640】
サンプルあたりビット及び圧縮フィールドは、音声データの圧縮フォーマットを指定する1バイトを含む。一実施形態では、概して利用されるフォーマットは、PCM音声サンプルあたりのビット数を定めるためのビット4から0用である。ビット5は、次にデジタル音声データサンプルが圧縮されるかどうかを指定する。前述されたように、
図12は圧縮された音声サンプルとバイト位置合わせされた音声サンプルの差異を描く。ビット5の「0」という値は、デジタル音声データフィールドの中の各PCM音声サンプルがインタフェースバイト境界とバイト位置合わせされることを示し、「1」という値が、各連続PCM音声サンプルが前の音声サンプルに照らし合わせて圧縮されることを示す。このビットは、ビット4から0に定められる値(PCM音声サンプルあたりのビット数)が8の倍数ではないときにのみ効果的である。ビット7から6は、システム設計が追加の指定を所望する場合に使用するために確保され、通常ゼロという値に設定される。
【0641】
音声サンプルレートフィールド(1バイト)は、音声PCMサンプルレートを指定する。利用されるフォーマットは、0という値は毎秒あたり8000サンプルという速度を示し、それぞれ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という値は将来の使用に確保されているため、それらは現在ゼロに設定されている。
【0642】
パラメータCRCフィールド(2バイト)は、パケット長から音声サンプルレートまでのすべてのバイトの16ビットCRCを含む。このCRCが適切にチェックできない場合、パケット全体が廃棄される。デジタル音声データフィールドは、再生される未処理の音声サンプルを含み、通常、符号なし整数として線形フォーマットの形を取る。音声データCRCフィールド(2バイト)は、音声データだけの16ビットCRCを含む。このCRCがチェックできない場合、音声データは依然として使用できるが、CRCエラーカウントは増分される。
【0643】
C.ユーザ定義ストリームパケット
一実施形態では、2バイトストリームID番号フィールドは、特定のユーザ定義ストリームを識別するために使用される。ストリームパラメータフィールドとストリームデータフィールドのコンテンツは、通常、MDDI装置製造メーカによって定義される。2バイトのストリームパラメータCRCフィールドは、パケット長から始まり、音声コード化バイトまでのストリームパラメータのすべての16ビットCRCを含む。このCRCがチェックできない場合には、パケット全体が廃棄される。MDDインタフェースの最終用途によって必要とされない場合、つまりそれらがオプションであると見なされる場合には、ストリームパラメータフィールドとストリームパラメータCRCフィールドの両方とも廃棄されてよい。2バイトのストリームデータCRCフィールドはストリームデータだけのCRCを含む。このCRCが適切にチェックできない場合には、ストリームデータの使用は、用途の要件に応じてオプションとなる。CRCが優良であることに付随してストリームデータを使用するには、通常CRCが優良であるとして確認されるまでストリームデータがバッファに入れられることが必要となる。CRCエラーカウントは、CRCがチェックしない場合に増分される。
【0644】
D.カラーマップパケット用
2バイトのhClient IDフィールドは、前記に使用されるようにクライアントIDに確保される情報又は値が含まれる。このフィールドは通常将来の使用に確保されるため、現在値は、ビットを「0」に設定することによってゼロに設定される。
【0645】
2バイトのカラーマップアイテムカウントフィールドは、カラーマップデータフィールドに含まれる3バイトのカラーマップアイテムの総数、あるいはこのパケットのカラーマップデータに存在するカラーマップテーブルエントリを指定するための値を使用する。この実施形態では、カラーマップデータのバイト数はカラーマップアイテムカウントの3倍である。カラーマップアイテムカウントは、カラーマップデータを送信しないようにゼロに等しく設定される。カラーマップサイズがゼロであると、カラーマップオフセット値は通常依然として送信されるが、それはディスプレイによって無視される。カラーマップオフセットフィールド(4バイト)は、クライアントデバイス内のカラーマップテーブルの始まりからのこのパケットのカラーマップデータのオフセットを指定する。
【0646】
2バイトのパラメータCRCフィールドは、パケット長から音声コード化バイトまでのすべてのバイトのCRCを含む。このCRCがチェックできない場合は、パケット全体が廃棄される。
【0647】
カラーマップデータフィールドの場合、各カラーマップロケーションの幅はカラーマップアイテムサイズフィールドによって指定され、一実施形態では、第1の部分(bart)が青の大きさを指定し、第2の部分が緑の大きさを指定し、第3の部分が赤の大きさを指定する。カラーマップサイズフィールドは、カラーマップデータフィールドに存在する3バイトのカラーマップテーブルアイテムの数を指定する。単一のカラーマップが一つのビデオデータフォーマットカラーマップパケットの中に収まらない場合には、カラーマップ全体が、異なるカラーマップデータとカラーマップオフセットの付いた複数のパケットをそれぞれのパケットで送信することによって指定されてよい。各カラーマップデータアイテムの中の青のビット数、緑のビット数、及び赤のビット数は、表示能力パケットのカラーマップRGB幅フィールドに指定されるのと同じとする。
【0648】
2バイトのカラーマップデータCRCフィールドは、カラーマップデータだけのCRCを含む。このCRCがチェックできない場合には、カラーマップデータは依然として使用できるが、CRCエラーカウントが増分される。
【0649】
各カラーマップデータアイテムは次の順序で送信されなければならない。つまり、青、緑、赤で、各成分の最下位ビットが最初に送信される。各カラーマップアイテムの個々の赤、緑及び青の成分は圧縮されるものとするが、各カラーマップアイテム(青の成分の最下位ビット)はバイト位置合わせされる必要がある。Error!Reference source not found.(エラー!情報源が検出されない)(新しいZ)は、6ビットの青、8ビットの緑及び7ビットの赤のあるカラーマップデータアイテムの一例を示す。この例の場合、カラーマップパケットのカラーマップアイテムサイズは21に等しく、表示能力パケットのカラーマップRGB幅フィールドは0x0786に等しい。
【0650】
E.逆方向リンクカプセル化パケット用
パラメータCRCフィールド(2バイト)は、パケット長からターンアラウンド長までのすべてのバイトの16ビットCRCを含む。このCRCがチェックできない場合には、パケット全体が廃棄される。
【0651】
一実施形態では、逆方向リンクフラグフィールド(1バイト)が、ディスプレイから情報を要求するためのフラグのセットを含む。ビット(例えばビット0)が1に設定されると、ホストは表示能力パケットを使用してディスプレイから指定される情報を要求する。ビットがゼロである場合は、ホストはディスプレイから情報を必要としない。残りのビット(ここではビット1から7)は、将来の使用に確保され、ゼロに設定される。しかしながら、多くのビットは、逆方向リンク用のフラグを設定するために所望されるように使用できる。
【0652】
逆方向レート除数フィールド(1バイト)は、逆方向リンクデータクロックに関して発生するMDDI_Stbサイクル数を指定する。逆方向リンクデータクロックは、2倍された逆方向レート除数(two times the Reverse Rate Divisor)で除算された順方向リンクデータクロックに等しい。逆方向リンクデータレートは、逆方向リンクでの逆方向リンクデータクロックとインタフェースタイプに関連する。I型インタフェースの場合、逆方向データレートは、逆方向リンクデータクロックに等しく、II型、III型、及びIV型のインタフェースの場合、逆方向データレートは、それぞれ逆方向リンクデータクロックの2倍、4倍及び8倍に等しい。
【0653】
全ゼロ1フィールドは、論理ゼロレベルでビットを設定することによって値のゼロに等しく設定されるバイトのグループを含み、すべてのMDDI_Data信号が、第1のガード時間期間の間にラインドライバをディスエーブルする前にゼロ状態にあり、反映された論理1レベルが、ターンアラウンド1フィールドの間にホストのラインドライバをディスエーブルする前に消失できることを確実にするために使用される。一実施形態では、全ゼロ1フィールドの長さはケーブルの往復遅延の順方向リンクバイト伝送回数より大きい、又は等しい。
【0654】
ターンアラウンド1長フィールド(1バイト)はターンアラウンド1に割り当てられ、第1のターンアラウンド期間を確立するバイト総数を指定する。ターンアラウンド長パラメータにより指定されるバイト数は、ホスト内のMDDI_Dataラインドライバが、クライアント内のラインドライバがイネーブルされる前にディスエーブルできるようにするために割り当てられる。ホストは、ターンアラウンド1のビット0の間にそのMDDI_Dataラインドライバをディスエーブルし、クライアントはその出力をイネーブルし、ターンアラウンド1の最後のビットの間にMDDI_Data0を論理0に駆動する。MDDI_Stb信号は、ターンアラウンド1期間がすべてゼロであるかのように動作する.ターンアラウンド1の推奨される長さは、ホスト内のMDDI_Dataドライバが出力をディスエーブルさせるために必要とされるバイト数である。これは、前述された出力ディスエーブル時間、順方向リンクデータレート及び使用されている順方向リンクインタフェースタイプ選択に基づいている。ターンアラウンド1の設定値のさらに完全な説明は前述される。
【0655】
全ゼロ2フィールドは、ビットを論理ゼロレベルで設定することによってゼロに等しく設定されるバイトのグループを含み、すべてのMDDI_Data信号がゼロ状態にあり、ターンアラウンド1フィールドの間にホストのラインドライバをディスエーブルする前に反映された論理1レベルが消失できることを確実にするために使用される。一実施形態では、全ゼロ2フィールドの長さは、ケーブルの往復遅延の順方向リンクバイト伝送回数より大きい又は等しい。
【0656】
ターンアラウンド2長フィールド(1バイト)は第2のターンアラウンド期間を確立するためにターンアラウンド2に割り当てられるバイトの総数を指定する。バイト数はターンアラウンド長パラメータによって指定されクライアントの中のMDDI_Dataラインドライバがホスト内のラインドライバがイネーブルされる前にディスエーブルできるために割り当てられる。クライアントはターンアラウンド2のビット0の間にそのMDDI_Dataラインドライバをディスエーブルし、ホストはその出力をイネーブルし、ターンアラウンド2の最後のビットの間にMDDI_Data0を論理0に駆動する。MDDI_Stb信号は、MDDI_Data0があたかもターンアラウンド2期間全体で論理ゼロレベルにあるかのように動作する。ターンアラウンド2の推奨される長さは、ディスプレイのMDDI_Dataドライバが、往復遅延が加えられたその出力をディスエーブルするのに要するバイト数である。ターンアラウンド2の設定値の説明は前述される。
【0657】
逆方向データパケットフィールドは、クライアントからホストに転送される一連のデータパケットを含む。前述されたように、他のパケットタイプによって使用されない残りの空間を充填するためにフィラーパケットが送信される。
【0658】
ドライバ再イネーブルフィールドは、すべてのMDDI_Data信号が、次のパケットのパケット長フィールドの前に再イネーブルされることを確実にするために論理ゼロに等しい1バイトを使用する。
【0659】
F.表示能力パケット用
一実施形態では、プロトコルバージョンフィールドが、クライアントによって使用されるプロトコルバージョンを指定するために2バイトを使用する。最小プロトコルバージョンフィールドは、クライアントが利用する又は解釈することができる最小のプロトコルバージョンを指定するために2バイトを使用するが、初期バージョンはゼロに等しく設定される。表示データレート能力フィールド(2バイト)は、インタフェースの順方向リンクでディスプレイが受信できる最大データレートを指定し、毎秒メガビット(Mbps)の形で指定される。インタフェースタイプ能力フィールド(1バイト)は、順方向リンクと逆方向リンクでサポートされるインタフェースタイプを指定する。これは、それぞれ順方向リンク上でII型モード、III型モード、又はIV型モードのどれかを選択するためにビット0、ビット1、ビット2を、及びそれぞれ逆方向リンクでII型、III型、又はIV型モードのどれかを選択するためにビット3、ビット4又はビット5を選択することによって現在示される。ビット6と7は確保され、ゼロに設定されている。ビットマップ幅高さフィールド(2バイト)は、ピクセル単位でビットマップの幅と高さを指定する。
【0660】
白黒能力フィールド(1バイト)は、白黒フォーマットで表示できる解像度のビット数を指定するために使用される。ディスプレイが白黒フォーマットを使用できない場合には、この値はゼロに設定される。ビット7から4は、将来の使用に確保され、したがってゼロとして設定される。ビット3から0はピクセルごとに存在できるグレースケールの最大ビット数を定める。これらの4つのビットは、ピクセルごとに1から15の値を指定できるようにする。値がゼロである場合には、白黒フォーマットはディスプレイによってサポートされない。
【0661】
カラーマップ能力フィールド(3バイト)は、ディスプレイのカラーマップテーブルに存在するテーブルアイテムの最大数を指定する。ディスプレイがカラーマップフォーマットを使用できない場合には、この値はゼロである。
【0662】
RGB能力フィールド(2バイト)は、RGBフォーマットで表示できる解像度のビット数を指定する。ディスプレイがRGBフォーマットを使用できない場合は、この値はゼロに等しい。RGB能力ワードは3つの別々の符号なし値から構成される。つまり、各ピクセルにおいて、ビット3から0は青の最大ビット数を定め、ビット7から4は緑の最大ビット数を定め、ビット11から8は赤の最大ビット数を定める。現在、ビット15から12は将来の使用に確保され、通常ゼロに設定される。
【0663】
Y Cr Cb能力フィールド(2バイト)は、Y Cr Cbフォマットで表示できる解像度のビット数を指定する。ディスプレイがY Cr Cbフォーマットを使用できない場合、この値はゼロに等しく設定される。Y Cr Cb能力ワードはこれらの別々の符号なし値から構成される。つまり、ビット3から0はCbサンプルの最大ビット数を定め、ビット7から4はCrサンプルの最大ビット数を定め、ビット11から8はYサンプルの最大ビット数を定め、ビット15から12は現在、将来の使用のために確保され、ゼロに設定されている。
【0664】
ディスプレイ機能能力インジケータフィールドは、サポートされるディスプレイの特定の機能を示すフラグのセットを含む4バイトを使用する。1に設定されるビットは、能力がサポートされていることを示し、ゼロに設定されるビットは能力がサポートされていないことを示す。ビット0の値は、ビットマップブロック転送パケット(パケットタイプ71)がサポートされているかどうかを示す。ビット1、2、3の値は、ビットマップ領域塗りつぶしパケット(パケットタイプ72)、ビットマップパターン塗りつぶしパケット(パケットタイプ73)、又は通信リンクデータチャネルパケット(パケットタイプ74)がそれぞれサポートされているか否かを示す。ビット4はディスプレイに1つの色を透明にする能力があるかどうかを示し、ビット5と6の値は、ディスプレイがそれぞれ圧縮形式のビデオデータそれとも音声データを受け入れることができるのか示し、ビット7の値は、ディスプレイがカメラから逆方向リンクビデオストリームを送信できるかどうかを示す。ビット11と12の値は、それぞれ、クライアントがいつポインティングデバイスと通信しており、ポインティングデバイスデータパケットを送受できるのか、あるいはキーボードを用いてキーボードデータパケットを送受できるのかを示す。ビット13から31は、現在、将来の使用又はシステム設計者にとって有効な代替の指定に確保され、通常ゼロに等しく設定される。
【0665】
ディスプレイビデオフレームレート能力フィールド(1バイト)は、1秒当たりフレームでディスプレイの最大ビデオフレーム更新能力を指定する。ホストは、このフィールドに指定される値より低速で画像を更新することを選んでよい。
【0666】
音声バッファ深度フィールド(2バイト)は、各音声ストリームに専用であるディスプレイのエラスティックバッファ(elastic buffer)の深度を指定する。
【0667】
音声チャネル能力フィールド(2バイト)は、ディスプレイ(クライアント)によってどの音声チャネルがサポートされているのかを示すフラグのグループを含む。1に設定されるビットは、チャネルがサポートされていることを示し、ゼロに設定されるビットは、チャネルがサポートされていないことを示す。ビット位置はさまざまなチャネルに割り当てられている。例えば、ビット位置0、1、2、3、4、5、6、7は、左前チャネル、右前チャネル、左後チャネル、右後チャネル、前中心チャネル、サブウーファチャネル、サラウンド左チャネル、及びサラウンド右チャネルを示す。ビット8から15は現在は将来の使用に確保され、通常ゼロに設定される。
【0668】
2バイトの音声サンプルレート能力フィールドは、順方向リンクの場合、クライアントデバイスの音声サンプルレート能力を示すためのフラグのセットを含む。ビット位置は、さまざまな速度に相応して割り当てられ、例えばビット0、1、2、3、4、5、6、7及び8は、それぞれ8,000毎秒サンプル(SPS)、16,000SPS、24,000SPS、32,000SPS、40,000SPS、48,000SPS、11,025SPS、22,050SPS、及び44,100SPSであり、ビット9から15は、所望されるように将来の又は代替速度の使用のために確保されため、それらは現在「0」に設定される。これらのビットの1つのビット値を「1」に設定すると、特定のサンプルレートがサポートされることを示し、ビットを「0」に設定すると、そのサンプルレートがサポートされていないことを示す。
【0669】
最小サブフレームレートフィールド(2バイト)は、毎秒コマで最小サブフレーム速度を指定する。最小サブフレーム速度は、表示ステータスを、ディスプレイの特定のセンサ又はポインティングデバイスを読み取るのに十分な更新レートに保つ。
【0670】
2バイトのMicサンプルレート能力フィールドは、逆方向リンクの場合、クライアントデバイスのマイクの音声サンプルレート能力を示すフラグのセットを含む。MDDIの目的のため、クライアントデバイスマイクは、少なくとも毎秒8,000サンプルの速度を最小でもサポートするように構成される。このフィールドのビット位置はさまざまな速度に割り当てられ、ビット位置0、1、2、3、4、5、6、7、及び8は例えば、それぞれ8,000毎秒サンプル(SPS)、16,000SPS、24,000SPS、32,000SPS、40,000SPS、48,000SPS、11,025SPS、22,050SPS及び44,100SPSを表すために使用され、ビット9から15は、所望されるように将来の又は代替の速度に確保されるため、現在は「0」に設定されている。これらのビットの1つのビット値を「1」に設定すると、その特定のサンプルレートがサポートされ、ビットを「0」に設定することはサンプルレートがサポートされていないことを示す。マイクが接続されていない場合には、Micサンプルレート能力ビットのそれぞれはゼロに等しく設定される。
【0671】
コンテンツ保護タイプフィールド(2バイト)は、ディスプレイによってサポートされるデジタルコンテンツ保護のタイプを示すフラグのセットである。現在、ビット位置0は、DTCPがサポートされることを示すために使用され、ビット位置1は、HDCPがサポートされることを示すために使用され、ビット位置2から15は、所望されるように、又は使用できるように他の保護方式との使用に確保されているため、それらは現在ゼロに設定されている。
【0672】
G.ディスプレイ要求パケット及びステータスパケット
逆方向リンク要求フィールド(3バイト)は、ホストに情報を送信するために次のサブフレームで、ディスプレイが逆方向リンクで必要とするバイト数を指定する。
【0673】
CRCエラーカウントフィールド(1バイト)は、メディアフレームの開始以来いくつのCRCエラーが発生したのかを示す。CRCカウントは、ゼロというサブフレームカウント付きのサブフレームヘッダパケットが送信されるとリセットされる。CRCエラーの実際の数は255を超えると、この値は通常255で飽和する。
【0674】
能力変化フィールドは、ディスプレイの能力の変化を示すために1バイトを使用する。これは、ユーザがマイク、キーボード、又はディスプレイ等の周辺装置を他の何らかの理由から接続する場合に発生するであろう。ビット[7:0]が0に等しいときには、能力は前回の表示能力パケットが送信されたときから変化していない。しかしながら、ビット[7:0]が1から255に等しいとき、能力は変更している。ディスプレイ能力パケットは、新しい表示能力を決定するために調べられる。
【0675】
H.ビットブロック転送パケット
ウィンドウ左上座標X値とY値のフィールドは、それぞれ移動されるウィンドウの左上角の座標のX値とY値を指定するために2バイトを使用する。ウィンドウフィールドと高さフィールドは、それぞれ移動されるウィンドウの幅と高さを指定するために2バイトを使用する。ウィンドウX移動フィールドとY移動フィールドは、ウィンドウがそれぞれ水平に及び垂直に移動されるピクセル数を指定するためにそれぞれ2バイトを使用する。通常、これらの座標は、Yの正の値がウィンドウを下に移動させ、不の値が上方への移動を引き起こす一方で、Xの正の値がウィンドウを右に移動させ、不の値が左側への移動を引き起こすように構成される。
【0676】
I.ビットマップ領域塗りつぶしパケット
ウィンドウ左上座標X値フィールドとY値フィールドは、塗りつぶされるウィンドウの左上角の座標のX値とY値を指定するためにそれぞれ2バイトを使用する。ウィンドウ幅フィールドと高さフィールド(各2バイト)は、塗りつぶされるウィンドウの幅と高さを指定する。ビデオデータフォーマット記述子フィールド(2バイト)は、ピクセル領域塗りつぶし値のフォーマットを指定する。フォーマットはビデオストリームパケット内の同じフィールドと同じである。ピクセル領域塗りつぶし値フィールド(4バイト)は、前述されたフィールドによって指定されるウィンドウの中に充填されるピクセル値を含む。このピクセルのフォーマットはビデオデータフォーマット記述子フィールドに指定される。
【0677】
J.ビットマップパターン塗りつぶしパケット
ウィンドウ左上座標X値とY値フィールドは、塗りつぶされるウィンドウの左上角の座標のX値とY値を指定するためにそれぞれ2バイトを使用する。ウィンドウ幅フィールドと高さフィールド(各2バイト)は、塗りつぶされるウィンドウの幅と高さを指定する。パターン幅フィールドとパターン高さフィールド(各2バイト)は、塗りつぶしパターンのそれぞれ幅と高さを指定する。2バイトのビデオデータフォーマット記述子フィールドは、ピクセル領域塗りつぶし値のフォーマットを指定する。
図11は、ビデオデータフォーマット記述子がどのようにしてコード化されるのかを描く。フォーマットは、ビデオストリームパケットの同じフィールドと同じである。
【0678】
パラメータCRCフィールド(2バイト)は、パケット長からビデオフォーマット記述子にすべてのバイトのCRCを含む。このCRCがチェックできない場合、パケット全体が廃棄さえる。パターンピクセルデータフィールドは、ビデオデータフォーマット記述子によって指定されるフォーマットの塗りつぶしパターンを指定する未処理ビデオ情報を含む。データはバイトに圧縮され、各行の最初のピクセルはバイト位置合わせされなければならない。塗りつぶしパターンデータは一度に1行づつ送信される。パターンピクセルデータCRCフィールド(2バイト)は、パターンピクセルデータだけのCRCを含む。CRCがチェックできない場合、パターンピクセルデータは依然として使用できるが、CRCエラーカウントが増分される。
【0679】
K.通信リンクデータチャネルパケット
パラメータCRCフィールド(2バイト)は、パケット長からパケットタイプまでのすべてのバイトの16ビットCRCを含む。このCRCがチェックできない場合には、パケット全体が廃棄される。
【0680】
通信リンクデータフィールドは、通信チャネルから未処理データを含む。このデータは、単にディスプレイ内でコンピュータデバイスに渡されるだけである。
通信リンクデータCRCフィールド(2バイト)は、通信リンクデータだけの16ビットCRCを含む。CRCがチェックできない場合、通信リンクデータは依然として使用される又は有効であるが、CRCエラーカウントが増分される。
【0681】
L.インタフェースタイプハンドオフ要求パケット
インタフェースタイプフィールド(1バイト)は、使用するための新しいインタフェースタイプを指定する。このフィールドの値は、以下のようにインタフェースタイプを指定する。ビット7の値は「0」に等しい場合、タイプハンドオフ要求は順方向リンク向けであり、それが「1」に等しい場合には、タイプハンドオフ要求は逆方向リンク向けである。ビット6から3は将来の使用に確保され、通常ゼロに設定される。ビット2から0は、使用されるインタフェースタイプを定義するために使用され、1という値は、I型モードへのハンドオフを意味し、2という値はII型モードへのハンドオフを意味し、3という値はIII型モードへのハンドオフを意味し、4という値はIV型モードへのハンドオフを意味する。「0」及び5から7という値は、代替モードの将来の指定又はモードの組み合わせのために確保される。
【0682】
M.インタフェースタイプ肯定応答パケット
インタフェースタイプフィールド(1バイト)は、使用するための新しいインタフェースタイプを確認する値を有する。このフィールドの値は、以下のようにインタフェースタイプを指定する。ビット7が「0」に等しい場合、タイプハンドオフ要求は順方向リンク向けである。代わりに、それが「1」に等しい場合、タイプハンドオフ要求は、逆方向リンク向けである。ビット位置6から3は、現在、所望されるように他のハンドオフタイプを指定する際の使用に確保され、通常ゼロに設定される。しかしながら、ビット位置2から0は、否定応答を示す「0」という値と使用するためのインタフェース型を、あるいは要求されたハンドオフは実行できず、「1」、「2」、「3」、「4」という値は、それぞれI型モード、II型モード、III型モード、及びIV型モードへのハンドオフを示すことを定義するために使用される。値5から7は、所望されるように、モードの代替指定と使用するために確保される。
【0683】
N.実行型ハンドオフパケット
1バイトのインタフェースタイプフィールドは、使用する新しいインタフェースタイプを示す。このフィールドに存在する値は、タイプハンドオフが順方向リンク向けであるのか否か、あるいは逆方向リンク向けであるのか否かを判断するためにビット7の値を最初に使用することによってインタフェースタイプを指定する。「0」という値は、タイプハンドオフ要求が順方向リンク向けであることを示し、「1」という値は逆方向リンク向けである。ビット6から3は、将来の使用に確保され、したがって通常ゼロという値に設定される。しかしながら、ビット2から0は使用されるインタフェースタイプを設定するために使用され、値1、2、3及び4は、それぞれI型モード、II型モード、III型モード及びIV型モードへのハンドオフの使用を指定する。これらのビットに対する値0及び5から7の使用は将来の使用に確保される。
【0684】
O.順方向音声チャネルイネーブルパケット
音声チャネルイネーブルマスクフィールド(1バイト)は、クライアント内でどの音声チャネルをイネーブルしなければならないのかを示すフラグのグループを含む。1に設定されるビットは、対応するチャネルをイネーブルし、ゼロに設定されるビットは対応するチャネルをディスエーブルする。ビット0から5は、それぞれ左前チャネル、右前チャネル、左後チャネル、右後チャネル、前中心チャネル、及びサブウーファチャネルを扱うチャネル0から5を指定する。ビット6と7は、将来の使用に確保され、当座は通常ゼロに等しく設定される。
【0685】
P.逆方向音声サンプルレートパケット
音声サンプルレートフィールド(1バイト)は、デジタル音声サンプルレートを指定する。このフィールドの値は異なる速度に割り当てられ、0、1、2、3、4、5、6、7及び8という値がそれぞれ8,000毎秒サンプル(SPS)、16,000SPS、24,000(SPS)、32,000(SPS)、40,000(SPS)、48,000(SPS)、11,025(SPS)、22,050(SPS)及び44,100SPSを示すために使用され、9から254という値は、所望されるように代替速度との使用に確保されるため、それらは現在「0」に設定されている。255という値は、逆方向リンク音声ストリームをディスエーブルするために使用される。
【0686】
サンプルフォーマットフィールド(1バイト)は、デジタル音声サンプルのフォーマットを指定する。ビット[1:0]が「0」に等しいとき、デジタル音声サンプルは線形フォーマットであり、それらが1に等しいとき、デジタル音声サンプルはμ法則フォーマットであり、それらが2に等しいとき、デジタル音声サンプルはA−法則フォーマットである。ビット[7:2]は、所望されるように音声フォーマットを指定する上での代替しように確保され、通常はゼロに等しく設定される。
【0687】
Q.デジタルコンテンツ保護オーバヘッドパケット
コンテンツ保護タイプフィールド(1バイト)は、使用されるデジタルコンテンツ保護方法を指定する。1という値が高帯域幅デジタルコンテンツ保護システム(HDCP)を示す一方、「0」という値はデジタル伝送コンテンツ保護(DTP)を示す。2から255の値範囲は、現在指定されていないが、所望されるように代替保護方式との使用に確保される。コンテンツ保護オーバヘッドメッセージフィールドはホストとクライアントの間で送信されるコンテンツ保護メッセージを含む可変長のフィールドである。
【0688】
R.透明色イネーブルパケット
透明色イネーブルフィールド(1バイト)は、透明色モードがいつイネーブル又はディスエーブルされるのかを指定する。ビット0が0に等しい場合には、透明色モードはディスエーブルされる。それが1に等しい場合には、透明色モードはイネーブルされ、透明色は以下の2つのパラメータで指定される。このバイトのビット1から7は、将来の使用に確保され、通常ゼロに等しく設定される。
【0689】
ビデオデータフォーマット記述子フィールド(2バイト)はピクセル領域塗りつぶし値のフォーマットを指定する。
図11は、ビデオデータフォーマット記述子がどのようにしてコード化されるのかを描く。フォーマットは通常ビデオストリームパケット内の同じフィールドと同じである。
【0690】
ピクセル領域塗りつぶし値フィールドは、前記に指定されたウィンドウの中に充填されるピクセル値に割り当てられる4バイトを使用する。このピクセルのフォーマットは、ビデオデータフォーマット記述子フィールドに指定される。
【0691】
S.往復遅延測定パケット
一実施形態では、パラメータCRCフィールド(2バイト)は、パケット長からパケットタイプまでのすべてのバイトの16ビットCRCを含む。このCRCがチェックできない場合には、パケット全体が廃棄される。
【0692】
全ゼロフィールド(1バイト)は、第1のガードタイム期間中にラインドライバをディスエーブルする前にすべてのMDDI_Daa信号がゼロ状態にあることを確実にするためにゼロを含む。
【0693】
ガードタイム1フィールド(8バイト)は、ホスト内のMDDI_Dataラインドライバが、クライアント(ディスプレイ)内のラインドライバがイネーブルされる前にディスエーブルできるようにするために使用される。ホストは、ガードタイム1のビット0の間にそのMDDI_Dataラインドライバをディスエーブルし、ディスプレイは、ガードタイム1の最後のビットの直後にそのラインドライバをイネーブルする。
【0694】
測定期間フィールドは、ディスプレイが順方向リンクで使用されるデータレートの半分で、0xff、0xff、0x0で応答できるようにするために使用される512バイトのウィンドウである。この速度は、1という逆方向リンクレート除数に相当する。ディスプレイはこの応答を測定期間の始まりに即座に返す。この応答はホストでの測定期間の第1のビットの開始後に正確にリンクの往復遅延でホストで受信される。ディスプレイのMDDI_Dataラインドライバは、ディスプレイからの0xff、0xff、0X00応答の直前と直後にディスエーブルされる。
【0695】
ガードタイム2フィールド(8バイト)の値により、クライアントMDDI_Dataラインドライバは、ホスト内のラインドライバがイネーブルされる前にディスエーブルできる。ガードタイム2は、つねに存在するが、往復遅延が、測定期間で測定できる最大量にあるときにだけ必要とされる。クライアントは、ガードタイム2のビット0の間にそのラインドライバをディスエーブルし、ホストはガードタイム2の最後のビットの直後にそのラインドライバをイネーブルする。
【0696】
ドライバ再イネーブルフィールド(1バイト)は、すべてのMDDI_Data信号が、次のパケットのパケット長フィールドの前に再イネーブルされることを確実にするために、ゼロに等しく設定される。
【0697】
T.順方向リンク歪み校正パケット
一実施形態では、パラメータCRCフィールド(2バイト)は、パケット長からパケットタイプまでのすべてのバイトの16ビットCRCを含む。このCRCがチェックできない場合には、パケット全体が廃棄される。
【0698】
校正データシーケンスフィールドは、MDDI_Data信号をデータ期間ごとにトグルさせる512バイトのデータシーケンスを含む。校正データシーケンスの処理中、MDDIホストコントローラは、すべてのMDDI_Data信号をストローブ信号に等しく設定する。ディスプレイクロック回復回路は、校正データシーケンスフィールドがクライアントディスプレイによって受信されている間にデータクロックを回復するためにMDDI_Stb Xor MDDI_Data0よりむしろMDDI_Stbだけを使用する必要がある。校正データシーケンスフィールドの始まりのMDDI_Stb信号の正確な位相に応じて、校正データシーケンスは、通常、このパケットが送信されるときに使用されるインタフェースタイプに基づいて以下の1つとなる。
【0699】
I型−0xaa,0xaa...または0x55,0x55...
II型−0xcc,0xcc...または0x33,0x33...
III型−0xf0,0xf0...または0x0f,0x0f...
IV型−0xff,0x00,0xff,0x00...または0x00,0xff,0x00,0xff...
I型インタフェースとII型インタフェースの両方の考えられるMDDI_Data波形とMDDI_Stb波形の例は、それぞれ
図62Aと
図62Bに示される。
【0700】
XVII.結論
本発明の多様な実施形態が前述されたが、それらが制限ではなく、例証としてのみ提示されたことが理解されなければならない。したがって、本発明の大きさ及び範囲は、前述された例示的な実施形態のいずれによっても制限されるのではなく、以下の請求項及びその同等物に従ってのみ定義されなければならない。
なお、以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]通信経路上、ホストデバイスとクライアントデバイスの間で高速でデジタルプレゼンテーションデータを転送するためのデジタルデータインタフェースであって、
デジタル前記通信経路上、ホストとクライアントの間でデジタルコントロールとプレゼンテーションデータの事前に選択されたセットを通信するための通信プロトコルを形成するためにともにリンクされる複数のパケット構造と、
前記通信経路を通して前記クライアントに結合される前記ホストデバイスに存在し、前記通信プロトコルを生成するパケットを生成、送信及び受信するように、及びデジタルプレゼンテーションデータを1つ又は複数のタイプのデータパケットに形成するように構成される少なくとも1つのリンクコントローラと、
を備える、インタフェース。
[C2]所定の固定長を有し、所定数の前記パケットが異なる、可変の長さを有する、前記ホストとクライアントの間で通信されるメディアフレーム内でともにグループ化される前記パケットをさらに備える、C1に記載のインタフェース。
[C3]前記ホストからのパケットの転送の始まりに配置されるサブフレームヘッダパケットをさらに備える、C1に記載のインタフェース。
[C4]前記リンクコントローラはホストリンクコントローラであり、前記通信経路を通して前記ホストに結合される前記クライアントデバイスに常駐する少なくとも1つのクライアントリストコントローラをさらに備え、前記通信プロトコルを形成するパケットを生成し、送信し、受信するように、及び1つ又は複数のタイプのデータパケットにデジタルプレゼンテーションデータを形成するように構成される、C1に記載のインタフェース。
[C5]クライアントユーザに対するプレゼンテーションのために順方向リンク上で、前記ホストから前記クライアントにデータを転送するための、ビデオタイプデータ用の1つ又は複数のビデオストリームパケットと、音声タイプデータ用の音声ストリームパケットをさらに備える、C1に記載のインタフェース。
[C6]それぞれが既定の期間で並行に異なる最大ビット数のデータの転送を可能にする複数の転送モードであって、各モードが前記ホストとクライアントリンクドライバの間の交渉によって選択される複数の転送モードをさらに備え、
前記転送モードがデータの転送中に前記モード間で動的に調整可能である、
C2に記載のインタフェース。
[C7]カラーマップ、ビットブロック転送、ビットマップ領域塗りつぶし、ビットマップパターン塗りつぶし、及び透明色イネーブルタイプのパケットのグループから選ばれるビデオ情報を転送するために使用可能な複数のパケットをさらに備える、C1に記載のインタフェース。
[C8]データを持たない順方向リンク伝送の期間を占有するために前記ホストによって生成されるフィラータイプのパケットをさらに備える、C1に記載のインタフェース。
[C9]インタフェース−ユーザ定義データを転送するために、ユーザ定義ストリームタイプのパケットをさらに備える、C1に記載のインタフェース。
[C10]前記通信経路上のどちらかの方向でデータの転送を終了するために、前記ホストによる前記クライアントに対する伝送のためのリンクシャットダウンタイプのパケットをさらに備える、C1に記載のインタフェース。
[C11]前記クライアントが、ハイバネーション状態から前記ホストをウェークアップするための手段をさらに備える、C1に記載のインタフェース。
[C12]ユーザに対するプレゼンテーションのために、通信経路上でホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送する方法であって、
複数の所定のパケット構造の1つ又は複数を生成し、所定の通信プロトコルを形成するためにそれらをともにリンクすることと、
前記通信プロトコルを使用して、前記通信経路上で、前記ホストデバイスと前記クライアントデバイスの間でデジタルコントロールとプレゼンテーションデータの事前に選択されたセットを通信することと、
前記通信経路を通して前記クライアントデバイスに、前記ホストデバイスに常駐する少なくとも1つのホストリンクコントローラを結合し、前記ホストリンクコントローラが前記通信プロトコルを形成するパケットを生成、送信及び受信するように、及び1つ又は複数のタイプのデータパケットにデジタルプレゼンテーションデータを形成するように構成されることと、
前記リンクコントローラを使用して前記通信経路上でパケットの形式のデータを転送することと、
を備える方法。
[C13]前記ホストとクライアントの間の通信のためにメディアフレーム内で前記パケットをともにグループ化することをさらに備え、前記メディアフレームが所定の固定長を有し、所定数の前記パケットが異なる、可変長を有する、C12に記載の方法。
[C14]サブフレームヘッダタイプパケットで前記ホストからパケットの転送を開始することをさらに備える、C12に記載の方法。
[C15]前記通信リンク上で、双方向に前記ホストとクライアントの間で情報を転送することをさらに備える、C12に記載の方法。
[C16]前記通信経路を通して前記ホストデバイスに結合される前記クライアントデバイスに常駐し、前記通信プロトコルを形成するパケットを生成、送信及び受信するように、及び1つ又は複数のタイプのデータパケットにデジタルプレゼンテーションデータを形成するように構成される少なくとも1台のクライアントリンクコントローラをさらに備える、C12に記載の方法。
[C17]前記ホストリンクコントローラが1台又は複数台の差動ラインドライバを備え、前記クライアントリンクコントローラが前記通信経路に結合される1台又は複数台の差動ラインレシーバを備える、C16に記載の方法。
[C18]前記クライアントが前記インタフェースを通してどのタイプのデータとデータレートに対処できるのかを判断するために、ホストリンクコントローラによってクライアントから表示能力情報を要求することをさらに備える、C12に記載の方法。
[C19]前記リンクコントローラのそれぞれによって前記通信経路の一部としてUSBデータインタフェースを操作することをさらに備える、C12に記載の方法。
[C20]前記パケットは、それぞれパケット長フィールド、1つ又は複数のパケットデータフィールド、及びサイクリックリダンダンシーチェックフィールドを備える、C12に記載の方法。
[C21]それぞれが既定の期間で並行してデータの異なる最大ビット数の転送が可能である、複数の転送モードの各方向での1つの使用を前記ホストとクライアントリンクドライバの間で交渉し、
データの転送中に前記転送モード間で動的に調整することと、
をさらに備える、C13に記載の方法。
[C22]カラーマップ、ビットブロック転送、ビットマップ領域塗りつぶし、ビットマップパターン塗りつぶし、及び透明色イネーブルタイプのパケットのグループから選ばれるビデオ情報を転送するために複数のパケットの1つ又は複数を使用することをさらに備える、C12に記載の方法。
[C23]データを有さない順方向リンク伝送の期間を占有するために、前記ホストによってフィラータイプパケットを生成することをさらに備える、C12に記載の方法。
[C24]前記ホストによる前記クライアントへの伝送のために、リンクシャットダウンタイプのパケットを使用して前記通信経路上でどちらかの方向のデータの転送を終了することをさらに備える、C12に記載の方法。
[C25]前記クライアントとの通信によって、ハイバネーション状態から前記ホストをウェークアップすることをさらに備える、C12に記載の方法。
[C26]ユーザに対するプレゼンテーションのために、通信経路上でホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送するための装置であって、
複数の所定のパケット構造の1つ又は複数を生成し、所定の通信プロトコルを形成するためにそれらをリンクするため、及び前記通信プロトコルを使用して前記通信経路上で、前記ホストと前記クライアントデバイスの間でデジタルコントロールとプレゼンテーションデータの所定のセットを通信するために前記ホストデバイス内に置かれた少なくとも1台のホストリンクコントローラと、
前記クライアントデバイス内に配置され、前記通信経路を通して前記ホストリンクコントローラに結合される少なくとも1台のクライアントコントローラと、
前記通信プロトコルを形成するパケットを生成、送信及び受信するように、及び1つ又は複数のタイプのデータパケットにデジタルプレゼンテーションデータを形成するように構成される各リンクコントローラと、
を備える、装置。
[C27]前記ホストコントローラは状態機械である、C26に記載の装置。
[C28]前記ホストコントローラは汎用信号プロセッサを備える、C26に記載の装置。
[C29]前記ホストからのパケットの転送の開始時にサブフレームヘッダタイプのパケットをさらに備える、C26に記載の装置。
[C30]前記リンクコントローラは、前記通信リンク上で双方向で前記ホストとクライアントデバイスの間で情報を転送するように構成される、C26に記載の装置。
[C31]前記ホストコントローラは1台又は複数台のリンクドライバを備え、前記クライアントレシーバは前記通信経路に結合される1台又は複数台の差動ラインレシーバを備える、C30に記載の装置。
[C32]クライアントユーザへのプレゼンテーションのために、前記ホストから前記クライアントにデータを転送するときに、ビデオタイプデータのためのビデオストリームタイプパケットと、音声タイプのための音声ストリームタイプのパケットとをさらに備える、C26に記載の装置。
[C33]前記クライアントから前記ホストへデータを転送するための1つ又は複数の逆方向リンクカプセル化タイプのパケットをさらに備える、C26に記載の装置。
[C34]クライアントリンクコントローラから前記ホストリンクコントローラに表示能力又はプレゼンテーション能力を伝えるための少なくとも1つの表示能力タイプのパケットをさらに備える、C33に記載の装置。
[C35]前記パケットは、それぞれパケット長フィールドと、1つ又は複数のパケットデータフィールドと、サイクリックリダンダンシーチェックフィールドとを備える、C26に記載の装置。
[C36]前記ホストとクライアントリンクコントローラは、それぞれが既定の期間で並行してデータの異なる最大ビット数の転送を可能にする、データの転送中前記転送モードの間で動的に調整できる複数の転送モードの内の1つを各方向で使用するように構成される、C26に記載の装置。
[C37]カラーマップ、ビットブロック転送、ビットマップ領域塗りつぶし、ビットマップパターン塗りつぶし、及び透明色イネーブルのタイプのパケットから選ばれるビデオ情報を転送するために複数のパケットの1つ又は複数をさらに備える、C26に記載の装置。
[C38]データを有さない順方向リンク伝送の期間を占有するために、前記ホストによる転送のためのフィラータイプのパケットをさらに備える、C26に記載の装置。
[C39]前記ホストコントローラは、前記通信経路上でどちらかの方向でのデータの転送を終了するための前記クライアント手段にリンクシャットダウンタイプのパケットを送信するように構成される、C26に記載の装置。
[C40]ユーザに対するプレゼンテーションのために、通信経路上、ホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送するための電子システムで使用するために、
コンピュータ使用可能媒体であって、アプリケーションプログラムをコンピュータシステム上で実行させるために前記媒体で具現化されるコンピュータ読み取り可能プログラムコード手段を有し、前記コンピュータ読み取り可能プログラムコード手段が、
前記コンピュータシステムに複数の所定のパケット構造の1つ又は複数を生成させ、所定の通信プロトコルを形成するためにそれらをともにリンクさせるためのコンピュータ読み取り可能第1プログラムコード手段と、
前記コンピュータシステムに、前記通信プロトコルを使用して前記通信経路上、前記ホストと前記クライアントデバイスの間でデジタルコントロールとプレゼンテーションデータの事前に選択されたセットを通信させるためのコンピュータ読み取り可能第2プログラムコード手段と、
前記コンピュータシステムに、前記通信経路を通して前記クライアントデバイスに配置される少なくとも1台のクライアントコントローラに、前記ホストデバイスに配置される少なくとも1台のホストリンクコントローラを結合させるための、前記リンクコントローラが前記通信プロトコルを形成するパケットを生成、送信及び受信するように、及び1つ又は複数のタイプのデータパケットにデジタルプレゼンテーションデータを形成するように構成されるコンピュータ読み取り可能第3プログラムコード手段と、
前記コンピュータシステムに前記リンクコントローラを使用して前記通信経路上でパケットの形でデータを転送させるためのコンピュータ読み取り可能第4プログラムコード手段と、
を備えるコンピュータ使用可能媒体、
を備える、コンピュータプログラム製品。
[C41]ユーザに対するプレゼンテーションのために通信経路上、ホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送するための装置であって、
複数の所定のパケット構造の1つ又は複数を生成し、所定の通信プロトコルを形成するためにそれらをともにリンクさせるための手段と、
前記通信プロトコルを使用して前記通信経路上、前記ホストと前記クライアントデバイスの間でデジタルコントロールとプレゼンテーションデータの事前に選択されたセットを通信するための手段と、
前記通信経路を通して、前記ホストとクライアントのそれぞれに1台、ともに少なくとも2台のリンクコントローラを結合するための手段であって、それぞれが前記通信経路を形成するパケットを生成、送信及び受信するように、及び1つ又は複数のタイプのデータパケットにデジタルプレゼンテーションデータを形成するように構成される手段と、
前記リンクコントローラを使用して、前記通信経路でパケットの形でデータを転送するための手段と、
を備える、装置。
[C42]サブフレームヘッダタイプのパケットで前記ホストからの転送を開始するための手段をさらに備える、C41に記載の装置。
[C43]前記通信リンクで双方向に前記ホストとクライアントの間で情報を転送するための手段をさらに備える、C41に記載の装置。
[C44]どのタイプのデータとデータレートに前記クライアントが前記インタフェースを通して対処できるのかを決定するために、ホストリンクコントローラによって前記クライアントから表示能力情報を要求するための手段をさらに備える、C41に記載の装置。
[C45]少なくとも1つの表示能力タイプのパケットを使用してクライアントリンクコントローラから前記ホストリンクコントローラに表示能力又はプレゼンテーション能力を伝達するための手段をさらに備える、C44に記載の装置。
[C46]それぞれが既定の期間で並行してデータの異なる最大ビット数の転送を可能にする、各方向での複数の転送モードの1つの前記使用を前記ホストとクライアントリンクドライバの間で交渉するための手段と、
データの転送中に前記転送モードの間で動的に調整するための手段と、
をさらに備える、C42に記載の装置。
[C47]カラーマップ、ビットブロック転送、ビット領域塗りつぶし、ビットマップパターン塗りつぶし及び透明色イネーブルのタイプのパケットのグループから選ばれるビデオ情報を転送するために複数のパケットの1つ又は複数を使用するための手段をさらに備える、C41に記載の装置。
[C48]通信経路上、ホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送するための電子システムで使用するためのプロセッサであって、複数の所定のパケット構造の1つ又は複数を生成し、所定の通信プロトコルを形成するためにそれらをともにリンクさせるように、1つ又は複数のタイプのデータパケットにデジタルプレゼンテーションデータを形成し、前記通信プロトコルを使用して前記通信経路上、前記ホストと前記クライアントデバイスの間でデジタルコントロールとプレゼンテーションデータの所定のセットを通信するように、及び前記通信経路上でパケットの形式でデータを転送するように構成される、プロセッサ。
[C49]通信経路上、ホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送する電子システムで同期を得る際に使用するための状態機械であって、少なくとも1つの非同期フレーム状態同期状態と、少なくとも2つの同期状態獲得同期状態と、少なくとも3つの同期中状態同期状態を有するように構成される、状態機械。
[C50]通信経路上、ホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送する電子システム内で同期を得る際に使用するための状態機械であって、少なくとも1つの同期獲得状態同期状態と、少なくとも2つの同期中同期状態とを有するように構成される、状態機械。
[C51]同期獲得状態と第1の同期中状態の間でシフトするための1つの条件が、通信リンク内の同期パターンの存在を検出する、C50に記載の状態機械。
[C52]同期獲得状態と第1の同期中状態の間でシフトするための第2の条件が、フレーム境界でサブフレームヘッダパケットと良好なCRC値の存在を検出する、C51に記載の状態機械。
[C53]第1の同期中状態と同期獲得状態の間でシフトするための1つの条件が、サブフレーム境界での同期パターンなし、又は不良CRC値の存在を検出する、C50に記載の状態機械。
[C54]第1の同期中状態と第2の同期中状態の間でシフトするための1つの条件が、サブフレーム境界で同期パターンなし又は不良CRC値の存在を検出する、C50に記載の状態機械。
[C55]同期獲得状態と第1の同期中状態の間でシフトするための1つの条件が、通信リンク内の同期パターンの存在を検出し、良好なパケットCRC値の存在を検出する、C50に記載の状態機械。
[C56]第1の同期中状態と同期獲得状態の間でシフトするための条件が、パケット内の不良CRCの存在を検出する、C50に記載の状態機械。
[C57]通信経路上、ホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送する電子システム内で同期を得る際に使用するための状態機械であって、少なくとも1つの同期獲得状態同期状態と、少なくとも2つの同期中状態同期状態とを有するように構成され、第1の同期中状態と同期獲得状態の間で直接的にシフトするための条件が、一連のパケットのどれかの中で不良CRC値の存在を検出する、状態機械。
[C58]第1の同期中状態と同期獲得状態の間で直接的にシフトするための条件が、一意のワードが、それが到着することを予想されるときにいつ発生しないのかを検出する、C57に記載の状態機械。
[C59]少なくとも10クロックサイクルの間高状態にデータラインを駆動し、データラインがゼロであるかのように、前記ホストによってストローブ信号を送信し始めることによって通信リンクをウェークアップすることをさらに備える、C26に記載の方法。
[C60]ホストが150クロックサイクルの間データラインを高に駆動した後に、ストローブ信号を送信し続ける間に前記ホストによって50クロックサイクルの間データラインを低に駆動することをさらに備える、C59に記載の方法。
[C61]前記ホストにより第1のサブフレームヘッダパケットを送信し始めることをさらに備える、C59に記載の方法。
[C62]低であるデータラインの少なくとも50の連続クロックサイクルが後に続く、高であるデータラインの少なくとも150の連続クロックサイクルを前記クライアントによりカウントすることをさらに備える、C60に記載の方法。
[C63]前記クライアントにより第1のサブフレームの一意のワードを検索することをさらに備える、C62に記載の方法。
[C64]クライアントが高であるデータの70の連続クロックサイクルをカウントした後に、前記クライアントによってデータラインを高に駆動するのを停止することをさらに備える、C60に記載の方法。
[C65]高であるデータラインの前記150のクロックサイクルに達するために高である前記データラインの別の80の連続クロックサイクルを、前記クライアントによりカウントし、低である前記データラインの50のクロックサイクルを探し、前記一意のワードを探すことをさらに備える、C64に記載の方法。
[C66]前記逆方向タイミングパケットの間に立ち上がりと立下り両方で前記データラインをサンプリングすることによって、1が前記ホストによってサンプリングされるまでに発生するクロックサイクルの前記数をカウントすることとをさらに備える、C26に記載の方法。
[C67]デジタルデータが通信経路上、ホストデバイスとクライアントデバイスの間でCRC値を有するパケットの形で転送される通信システムにおいてエラーコードを転送する方法であって、エラーの前記存在を検出することと、前記エラーに対応する所定のエラーコードを選択することと、前記コードで前記CRC値を上書きすることとを備える、方法。
[C68]前記エラーが補正されるまで転送されるパケットの連続するものの中で前記CRC値を上書きすることをさらに備える、C67に記載の方法。
[C69]ユーザに対するプレゼンテーションのために、通信経路上、ホストデバイスとクライアントデバイスの間で高速でデジタルデータを転送する方法であって、
それぞれが少なくとも1つのCRCフィールドを含む複数の所定のパケット構造の1つ又は複数を生成し、所定の通信プロトコルを形成するためにそれらをともにリンクすることと、
前記通信プロトコルを使用して、前記通信経路上、前記ホストと前記クライアントデバイスの間でデジタルコントロールとプレゼンテーションデータの事前に選択されたセットを通信することと、
前記通信経路を通して前記クライアントデバイスに前記ホストデバイス内に常駐する少なくとも1台のホストリンクコントローラを結合し、前記ホストリンクコントローラが前記通信プロトコルを生成、送信及び受信するように、及び1つ又は複数のデータパケットにデジタルプレゼンテーションデータを形成するように構成されることと、
前記リンクコントローラを使用して前記通信経路でパケットの形でデータを転送することと、
前記通信リンクについてエラーの前記存在を検出することと、
前記エラーに対応する所定のエラーコードを選択し、前記コードで前記CRC値を上書きすることと、
を備える、方法。
[C70]前記エラーが補正されるまで転送されているパケットの連続するものの前記CRC値を上書きすることをさらに備える、C69に記載の方法。