JP2005514849A - シリアルリンクを利用したビデオ及び複数のフォーマットにおけるパケット化されたオーディオデータの伝送方法及びシステム - Google Patents
シリアルリンクを利用したビデオ及び複数のフォーマットにおけるパケット化されたオーディオデータの伝送方法及びシステム Download PDFInfo
- Publication number
- JP2005514849A JP2005514849A JP2003559026A JP2003559026A JP2005514849A JP 2005514849 A JP2005514849 A JP 2005514849A JP 2003559026 A JP2003559026 A JP 2003559026A JP 2003559026 A JP2003559026 A JP 2003559026A JP 2005514849 A JP2005514849 A JP 2005514849A
- Authority
- JP
- Japan
- Prior art keywords
- data
- video
- audio
- format
- transmitter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
- H04L1/203—Details of error rate determination, e.g. BER, FER or WER
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
- H04L1/206—Arrangements for detecting or preventing errors in the information received using signal quality detector for modulated signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
- G09G2370/045—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial
- G09G2370/047—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial using display data channel standard [DDC] communication
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
受信器と送信器とシリアルリンクを具備する通信システムであって、エンコード処理されたデータ(例えば、ビデオ、オーディオ、及び追加的に他の補助データ)が送信器から受信器に伝送される。シリアルリンクは、TMDSリンク又はTMDSライクリンクとすることができるが、そうでなくてもよい。典型的な実施の形態においては、エンコード処理されたオーディオデータのパケットが、エンコード処理されたビデオデータのバースト同士の間のデータアイランド期間に、1以上の各チャンネルを利用して伝送される。本発明にかかる他の実施の形態は、シリアルリンクを利用して伝送するためビデオデータの(好ましくは複数のビデオフォーマットにおけるどんなフォーマットを持ったものでも)エンコード処理を行い、オーディオデータの(好ましくは複数のオーディオフォーマットにおけるどんなフォーマットを持ったものでも)エンコード処理及びパケット化を行うために用いる送信器と、このようなデータを受信し(そして好ましくは再フォーマット)する受信器と、受信したデータ又は、シリアルリンクを利用して伝送すべきデータの、フォーマット処理、エンコード処理、パケット化、デコード処理、及び再フォーマット処理を行うための方法である。
Description
本発明は、シリアルリンクを利用したエンコードされたビデオデータと少なくとも1つの他のエンコードされたデータのストリーム(例えばエンコードされたビデオデータと、エンコードされたオーディオのパケット及び/又は他の付属データ)を伝送するための方法及びシステム、並びに、このようなシステムに用いられる送信装置と受信装置に関する。好ましい実施形態においては、シリアルリンクとは、トランジッションを最小化した差動信号(「TMDS」)リンク、又は、TMDSリンクの特性の全部を有しないが一部を有するリンクである。
関連出願の相互参照
この出願は、2002年6月14日に出願され、本特許出願の譲受人に委託された係属中の米国特許出願番号10/171,860の一部継続出願であり、2002年3月12日に出願され、本特許出願の譲受人に委託された係属中の米国特許出願番号10/095,422の一部継続出願であり、2001年12月24日に出願され、本特許出願の譲受人に委託された係属中の米国特許出願番号10/036,234の一部継続出願である。
この出願は、2002年6月14日に出願され、本特許出願の譲受人に委託された係属中の米国特許出願番号10/171,860の一部継続出願であり、2002年3月12日に出願され、本特許出願の譲受人に委託された係属中の米国特許出願番号10/095,422の一部継続出願であり、2001年12月24日に出願され、本特許出願の譲受人に委託された係属中の米国特許出願番号10/036,234の一部継続出願である。
発明の技術的背景
本明細書全般において、10進数(基数「10」)は、接頭辞又は接尾辞をつけないで表示し、時には以下のような表記を使用する。
本明細書全般において、10進数(基数「10」)は、接頭辞又は接尾辞をつけないで表示し、時には以下のような表記を使用する。
「ビット0」は、バイト又はワードにおける最下位ビットであることを示す。
接頭辞「0x」は、以下の記号が16進数で表した数字であることを示す(例えば、「0xC」は2進数で11000を意味する)。そして、
接頭辞「0b」は、以下の記号が2進数(基数2)で表した数字であることを示す(例えば、「0b100」は10進数で8を意味する)。
接頭辞「0b」は、以下の記号が2進数(基数2)で表した数字であることを示す(例えば、「0b100」は10進数で8を意味する)。
本発明の要素は、シリアルリンクの特性に基づいている。データやクロック信号を送るための様々なシリアルリンクが周知である。
従来のシリアルリンクの1つは、ホストプロセッサ(例えばパーソナルコンピュータ)からモニタへのビデオデータの高速伝送に主として用いられ、トランジッションを最小化した差動信号インターフェース(transition minimized differential signaling interface)(「TMDS」リンク)として知られている。TMDSリンクの特徴として以下が含まれる。
1.ビデオデータがエンコードされて、エンコードされたワードとして伝送される(デジタルビデオデータの各8ビットが、伝送される前にエンコードされた10ビットワードに変換される)。
a)エンコード処理により、1組の「帯域内」ワードと1組の「帯域外」ワードとが決められる。(このエンコーダは、コントロール又は同期信号に応答して、「帯域外」ワードを生成することができるにもかかわらず、ビデオデータに応答して、「帯域内」ワードのみ生成することができる。各帯域内ワードは、1つの入力ビデオデータワードをエンコードした結果得られた、エンコードされたワードである。このリンクを利用して伝送される帯域内ワードでないすべてのワードは、「帯域外」ワードである。)
b)ビデオデータのエンコード処理は、帯域内ワードにおいてトランジッションが最低限になるようになされる。(帯域内ワードの順序は、最小化又は減少させたトランジッションの数を持つ。)
c)ビデオデータのエンコード処理は、帯域内ワードがDCバランスされるように実行される。(このエンコード処理は、一連の帯域内ワードの伝送に用いられる電圧波形の各々が、予め定めた閾値以上に参照電圧と相違することを防止する。具体的には、各「帯域内」ワードの10番目のビットは、それにより、先にエンコードされたデータビットのストリーム中の1とゼロの数における不均衡を訂正するために、他の9ビットの内の8ビットがエンコード処理の間に反転されたかどうかを示す。)
b)ビデオデータのエンコード処理は、帯域内ワードにおいてトランジッションが最低限になるようになされる。(帯域内ワードの順序は、最小化又は減少させたトランジッションの数を持つ。)
c)ビデオデータのエンコード処理は、帯域内ワードがDCバランスされるように実行される。(このエンコード処理は、一連の帯域内ワードの伝送に用いられる電圧波形の各々が、予め定めた閾値以上に参照電圧と相違することを防止する。具体的には、各「帯域内」ワードの10番目のビットは、それにより、先にエンコードされたデータビットのストリーム中の1とゼロの数における不均衡を訂正するために、他の9ビットの内の8ビットがエンコード処理の間に反転されたかどうかを示す。)
2.エンコードされたビデオデータとビデオクロック信号は、差動信号として伝送される。(ビデオクロックとエンコードされたビデオデータは導線対を利用して差動信号として伝送される。)
3.3つの導線対がエンコードされたビデオを伝送するために用いられ、4番目の導線対がビデオクロック信号を伝送するために用いられる。
。
4.信号伝送は、送信器(通常は、デスクトップやポータブルコンピュータ、又は他のホストに結びつく)から受信器(通常はモニタや他の表示装置の素子である)へと、一方向に行われる。
TMDSの使用とは、ディジタルディスプレイワーキンググループ(Digital Display Working Group)により採用された「ディジタルビジュアル」インターフェース(Digital Visual Interface)(「DVI」リンク)を用いることである。これについて、図1を参照して説明する。DVIリンクは、送信器と受信器の間の付加的な制御線のみならず、(ビデオクロック信号を伝送するために共通の導線対を共有する)2つのTMDSリンク又は1つのTMDSリンクを含ませるよう実施される。図1のDVIリンクは送信器1、受信器3、及び送信器と受信器間に以下の導線を具備している。すなわち、4つの導線対(ビデオデータ用のチャンネル0、チャンネル1、チャンネル2、及びビデオクロック信号用のチャンネルC)、送信器と通常の「ディスプレイデータチャンネルスタンダード(Display Data Channel Standard)」(Video Electronics Standard Associationの1996年4月9日付け「Display Data Channel Standard」Version 2, Rev. 0)に基づく受信器に関連付けられたモニタとの間を双方向に通信するためのディスプレイデータチャンネル(「DDC」)ライン、ホットプラグ検出(HPD)ライン(これにより、送信器に関連付けられたプロセッサがモニタの存在を識別することを可能とする信号をモニタは伝送する)、(アナログビデオを受信器に伝送するための)アナログライン、(及び受信器と受信器に関連付けられたモニタにDC電源を提供する)パワーラインである。ディスプレイデータチャンネルスタンダードは、モニタの様々な特性を規定するExtended Display Identification(「EDID」)メッセージのモニタによる伝送と、モニタへの制御信号の送信器による伝送とを含んで、送信器と受信器に関連付けられたモニタとの間を双方向に通信するプロトコルを規定する。送信器1は、3個の同一のエンコーダ/並直列変換器ユニット(ユニット2、4、及び6)を含む。受信器3は、3個の同一のリカバリ/デコーダユニット(ユニット8、10、及び12)と図示のチャンネル間整合回路14と、付加的な回路(図示せず)とを含む。
図1に示したように、回路2はデータをチャンネル10で送信するようにエンコードし、エンコードされたビットを直列信号に変換する。同様に、回路4はデータをチャンネル1で送信するようにエンコードし、(そしてエンコードされたビットを直列信号に変換し、)回路6はデータをチャンネル2で送信するようにエンコードし、(そしてエンコードされたビットを直列信号に変換する)。回路2,4,及び6の各々は、(データイネーブル「DE」信号が高の値を取ることに応答して)ディジタルビデオワードを、又は(「DE」信号が低の値を取ることに応答して)制御又は同期信号対を、選択的にエンコードして、制御信号(データイネーブル「DE」信号として動作中のハイ・バイナリ制御信号)に応答する。エンコーダ2,4,及び6の各々は、相異なる制御又は同期信号対を受け取る。すなわち、エンコーダ2は、水平及び垂直同期信号(HSYNC及びVSYNC)を受け取り、エンコーダ4は、コントロールビットCTL0とCTL1とを受け取り、エンコーダ6は、コントロールビットCTL2とCTL3とを受け取る。このようにして、エンコーダ2,4,及び6の各々は、(DE信号が高の値を取ることに応答して)ビデオデータを表す帯域内ワードを生成し、エンコーダ2は、(DE信号が低の値を取ることに応答して)HSYNC及びVSYNCの値を示す帯域外ワードを生成し、エンコーダ4は、(DE信号が低の値を取ることに応答して)CTL0とCTL1の値を示す帯域外ワードを生成し、エンコーダ6は、(DE信号が低の値を取ることに応答して)CTL2とCTL3の値を示す帯域外ワードを生成する。DE信号が低の値を取ることに応答して、エンコーダ2,4,及び6の各々は、それぞれコントロールビットCTL0とCTL1に(又はCTL2とCTL3に)00,01,10,又は11の値を示す4個の具体的な帯域外ワードの内の1つを生成する。
これは、シリアルリンクで伝送するビデオデータを暗号化するために提案されていたものである。例えば、DVIリンクで伝送するビデオデータを暗号化し、DVI受信器で復号するための「広帯域ディジタルコンテントプロテクション」(「HDCP」)として知られる暗号化プロトコルを用いることが提案されていた。HDCPを満たすDVI送信器は、ビデオがアクティブな期間(つまり、DEが高のとき)、cout[23:0]として知られる、24ビットバスを出力する。この24ビットのcoutデータは(送信器のロジック回路において)「排他的論理和演算された」もので、ビデオデータを暗号化するために送信器に入力された24ビットのRGBビデオデータが含まれる。暗号化されたデータは、次に、送信のために(TMDS標準に基づき)エンコードされる。同じcoutデータは、また受信器でも生成される。TMDS復号処理を経て、受信器でエンコードされ暗号化されたデータが受け取られた後、coutデータは、デコードされたデータを復号し、入力された元のビデオデータを復元するために、ロジック回路で復号化されたビデオとともに処理される。
送信器がHDCPによる暗号化され、エンコードされたビデオデータを送信しはじめる前に、送信器と受信器は、認証プロトコルを実行するために(受信器が保護された内容を受信することが認められ、入力データの暗号化と暗号化された伝送されたデータの復号に用いる共通の秘密の値を確立することが認められていることを確かめるため)お互いに双方向に交信する。受信器が認証された後、コントロール信号に応答して送信器は、(入力ビデオデータの最初の行の暗号化のために)暗号キーの最初のセットを計算し、コントロール信号を、(DEが低のとき、各々垂直ブランキング期間に)受信器に復号キーの最初のセットを計算させるために、受信器に送信する。暗号/復号キーの最初のセットを生成に続いて、送信器と受信器は、各(垂直又は水平)ブランキングインターバルに再度キー生成を行い、ビデオデータの次の行に暗号化(又は復号)のための新しいキーのセットを生成する。そして、実際の入力ビデオデータの暗号化(又は、受け取った、デコードされたビデオデータの復号)は、最後のキーのセットのみを用いて、DEが高のとき(ブランキングインターバル期間でないとき)に行われる。
送信器と受信器の各々には、リニアフィードバックシフトレジスタ(LFSR)モジュール、LFSRモジュールの出力につながったブロックモジュール、及びブロックモジュールの出力につながった出力モジュールを具備するHDCP暗号回路(ここでは時々「HDCP暗号」と称する)が含まれる。LFSRモジュールは、セッションキー(Ks)とフレームキー(Ki)を用いて、イネーブル信号の各アサーションに応答してブロックモジュールの再キーのために用いられる。ブロックモジュールは、(フレームの垂直ブランキングインターバルに起こるコントロール信号のエッジの立ち上がりに応答して)セッションの開始時にキーKsを生成し(そしてLFSRモジュールに伝送し)、ビデオデータの各フレーム開始時にキーKiの新しい値を生成する(そしてLFMSモジュールに適用する)。
ブロックモジュールは、「ラウンドファンクションK」と「ラウンドファンクションB」として知られる、2つの半片から成る。ラウンドファンクションKには、28ビットのレジスタKx,Ky,及びKzと、7個のSボックス(各々参照テーブルを含む4出力ビットごとに4入力ビットのSボックスである)と、リニアトランスフォーメーションユニットKとがふくまれる。ラウンドファンクションBには、28ビットのレジスタBx,By,及びBzと、7個のSボックス(各々参照テーブルを含む4出力ビットごとに4入力ビットのSボックスである)と、リニアトランスフォーメーションユニットBとが含まれる。ラウンドファンクションKとラウンドファンクションBは似たデザインになっているが、ラウンドファンクションKは、LFSRモジュールの出力に応答して、クロックサイクルごとに異なった1対の28ビットラウンドキー(KyとKz)を(出力モジュールに)アサートするために、クロックサイクルごとに一連のブロック暗号を形成する、そして、ラウンドファンクションBは、ラウンドファンクションKとLFSRモジュールからの28ビットラウンドキーKyの出力に応答して、クロックサイクルごとに異なった1対の28ビットラウンドキー(ByとBz)を(出力モジュールに)アサートするために、クロックサイクルごとに一連のブロック暗号を形成する。送信器は、認証プロトコルを開始するときに数値Anを生成し、受信器は認証処理の期間にそれに応答する。数値Anはセッションキーのランダム化のために使われる。ブロックモジュールは、各フレームの開始時に出力モジュールによって更新される認証用数値Anと初期化値(Mi、完全性照合キーとも言う)に応答して動作する。
各リニアトランスフォーメーションユニットK及びBは、クロックサイクル毎に56ビットを出力する。これらの出力ビットは、各トランスフォーメーションユニット内にある8個の拡散ネットワークを結合させた出力である。リニアトランスフォーメーションユニットKの各拡散ネットワークは、レジスタKx及びKyにおける7個の現在の出力ビットに応答して7個の出力を生成する。トランスフォーメーションユニットBの4個の拡散ネットワークの各々は、レジスタBy,Bz,及びKyにおける7個の現在の出力ビットに応答して7個の出力を生成し、トランスフォーメーションユニットBの他の4個の拡散ネットワークの各々は、レジスタBy,Bzにおける7個の現在の出力ビットに応答して7個の出力を生成する。
出力モジュールは、各クロックサイクルの期間にブロックモジュールにより(合計112ビット)アサートされた、28ビットキー(By,Bz,Ky,及びKz)により圧縮操作がなされ、クロックサイクル毎に、1つの24ビットブロックの偽のランダムビットcout[23:0]を生成する。出力モジュールにおける24の出力ビットの各々は、9タームの排他的論理和(「XOR」)により構成される。
送信器において、ロジック回路は各24ビットブロックのcoutデータと、24ビット入力RGBビデオデータワードとを受け取り、ビデオデータの暗号化のためにビット単位で排他的論理和演算を行い、これにより、暗号化されたRGBビデオデータが生成される。一般には、暗号化されたデータは、引き続き、受信器に送信される前に、TMDSエンコードを受ける。受信器において、ロジック回路は各24ビットブロックのcoutデータと、復号された24ビット入力RGBビデオデータワードとを受け取り、(復号されたデータがTMDSデコード処理された後)、ビデオデータ解読のためにビット単位で排他的論理和演算を行う。
本明細書を通して、「TMDSライクリンク」という表現は、シリアルリンクであって、送信器から受信器にエンコードされたデータ(例えばエンコードされたビデオデータ)とエンコードされたデータのためのクロックとを伝送する能力を持ち、1以上の付加的な信号(例えば、エンコードされたディジタルオーディオデータや他のエンコードされたデータ)を送信器と受信器間で(双方向又は一方向に)伝送する能力を持つものであり、TMDSリンク又はTMDSリンクの特性のすべては有しないが一部を有するものに用いられる。TMDSライクリンクの例として、10ビットのTMDSコードワードではないNビットコードワード(例えばN 10)としてデータをエンコード処理する点のみがTMDSリンクとは異なるリンク、及び、3対を超える又は3対未満の導線対を用いてエンコードされたビデオを伝送する点のみがTMDSリンクとは異なるリンクが含まれる。
用語「送信器」は、ここでは、広く、データをエンコード処理することができ、エンコードされたデータを、シリアルリンクを用いて伝送することができる(そして、任意に、伝送すべきデータを暗号化することと、データのエンコード処理、伝送、又は暗号化に関連する他の処理を含む、付加的な機能を実行することもできる)すべての装置に用いられる。用語「受信器」は、ここでは、広く、シリアルリンクを用いて伝送されてきた、デコード処理されたデータを受信することができる(そして、任意に、伝送すべきデータを復号することと、データのデコード処理、受信、又は復号に関連する他の処理を含む、付加的な機能を実行することもできる)すべての装置に用いられる。例えば、送信器という用語は、送信器の機能のみならず受信器の機能も持つトランシーバを意味することもできる。さらに具体例をあげると、送信器という用語は、(オーディオでない補助的なデータをTMDSライクリンク又は他のシリアルリンクを用いて伝送する装置に関して)、ビデオデータとオーディオデータを、リンクを用いて受け取り、リンクを用いてオーディオでない補助的なデータを送信するように作られたトランシーバを意味することもできる。
TMDSライクリンクは、伝送すべき入力ビデオデータを、TMDSリンクに用いられる特有のアルゴリズム以外のコーディングアルゴリズムを用いて入力されたデータより多くのビットからなるエンコードされたワードにエンコードし、エンコードされたビデオデータを帯域内キャラクタとして、他のエンコードされたデータを帯域外キャラクタとして伝送する。キャラクタを、トランジッションを最小限にすること及び、DCバランス基準に従っているかを基準に、帯域内又は帯域外に分類する必要はない。むしろ、他の分類基準を適用すべきである。TMDSリンクに使われるもの以外であるが、TMDSライクリンクで使われるエンコード処理アルゴリズムの1つの例として、IBM8b10bコーディングがある。(帯域内キャラクタと帯域外キャラクタの)分類はトランジッションの数の多寡による必要はない。例えば、帯域内キャラクタと帯域外キャラクタの各々のトランジッション数は、(ある実施形態では)単一の範囲にすることができる(中間の範囲は、トランジッション数の最大値及び最小値により定義される)。
送信器とTMDSライクリンクの受信器間で伝送されるデータは、そうされなくてもよいが、(導線対を利用して)差動伝送され得る。また、TMDSライクリンクは(単一ピクセルバージョンにおいて)3対はビデオデータで他の1対はビデオクロックである4対の差動導線対を持つにもかかわらず、TMDSライクリンクは違った数の導線又は導線対を持つこともできる。
一般に、TMDSリンクにより伝送される最初のデータはビデオデータである。これについてしばしば特徴的なことは、ビデオデータは連続的でなく、その代わりブランキングインターバルを持つことである。これらのブランキングインターバルは、(本発明のある実施形態で活用されるが)補助データを移送する機会を与え、使われないバンド幅を意味する。しかし、多くのシリアルリンクは、ブランキングインターバルを持つデータを伝送せず、したがって、データイネーブル信号に応答して(伝送するため)入力データをエンコードしない。
「補助データ」という表現は、ここでは広く使われ、ディジタルオーディオデータや、ビデオデータ及びビデオデータに対するタイミング情報(例えばビデオクロック)以外のすべてのタイプのデータを意味する。たとえば、オーディオデータに対するタイミング情報(例えば、伝送されたオーディオデータを受信するためのクロック)は「補助データ」の範疇に含まれる。本発明による伝送された「補助データ」の他の例には、コンピュータキーボード信号、(例えばカメラにより生成された)静止画像信号、テキストデータ、電源制御信号、映像データ中の映像、モニタ制御情報(オーディオボリューム、明るさ、電源状態)、モニタやキーボード上の表示灯制御情報、オーディオ以外又はビデオ以外の制御情報などが含まれる。
データの「ストリーム」という用語は、ここでは、全データが同じタイプであって同じクロック周期で伝送されることを意味する。用語「チャンネル」は、ここでは、データを伝送するために用いられるシリアルリンクの部分(例えば、それを用いてデータが伝送される送信器と受信器間の特定の導線又は導線対、及び、データの伝送及び/又は復元に使われる送信器及び/又は受信器内の具体的な回路)と、リンクを用いてデータを伝送するために採用されるる技術を示す。なぜなら、本発明の重要な応用例において、多くの異なる補助データのストリームを伝送することが望ましく、本発明の好ましい実施の形態において、リンクを用いて双方向に(つまり、ビデオデータに沿って及び逆らって)補助データを伝送するチャンネルを含む、補助データ伝送のための複数のチャンネルが提供されるからである。ある実施形態では、1つの補助データのストリームを伝送するためにチャンネルが用いられる。他の実施形態では、2以上の補助データのストリームを伝送するためにチャンネルが用いられる。本発明の実施形態では、シリアルビデオデータの2つの(又は2以上の)ストリームが(1又は2又は3以上のチャンネルを用いて)伝送され、1又は2又は3以上のシリアル補助データのストリームもまた伝送される。
1999年12月7日に発行された米国特許5,999,571によれば、(例えばコラム5で)TMDSを利用して伝送された(ビデオデータを示す)コードワードは、トランジッションを最小限にしたワード(コードワードセットの最初のサブセット)であり、同期ワード(トランジッションを最小限にしたワードとは区別できる)は、エンコードされたビデオデータが伝送されない「前置」期間にリンクを利用して伝送されることができる。この同期ワードは、コードワードセットの(最初のサブセットから切り離した)第2のサブセットの一部であるトランジッションが最大のワードであることができる。米国特許5,999,571によれば、(受信器中の)デコーダが速く正確に1つの同期ワードにおける特定のトランジッション(例えば先行エッジ)を特定し、(送信器中の)エンコーダとの同期を確立することができるように、同期ワードの数回の(例えば3回の)繰り返しは連続して伝送すべきである。
2000年11月21日に発行された米国特許6,151,334では、各々が、トランジッションを最小化した、データを表示するコードワードと区別することができる、いくつかの違ったタイプのエンコードされた制御ワードの(TMDSリンクを利用した)伝送を教示している。少なくとも制御ワードの内のいくつかは、トランジッションを最大化したワードであり得る。制御ワードの1つは、データのバーストの前後に伝送され、バーストの前又は後を示し、バースト期間中に伝送されるデータのタイプを示す、「データストリーム分離」ワードである。制御ワードの他の1つは、一般にブランキングインターバルの開始時又は終了時に伝送され、ブランキングインターバルのタイプ(例えば、水平又は垂直)を示し、ブランキングインターバルの開始時と終了時を区別する、同期キャラクタである「等時性データ転送」である。例えば、最初の等時性データ転送ワードは、垂直ブランキングインターバルの開始を示し、次いで、最初のデータストリーム分離ワードは、垂直ブランキングインターバルにおけるバーストの開始を示し、次に、第2のデータストリーム分離ワードは、そのようなデータバーストの終了を示し、次いで、第2の等時性データ転送ワードは、垂直ブランキングインターバルの終了を示す。最初の等時性データ転送ワード、最初のデータストリーム分離ワード、第2のデータストリーム分離ワード、及び第2の等時性データ転送ワードの各々は、トランジッションを最大化したコードワードであり、トランジッションを最小化したコードワードは、(垂直ブランキングインターバルに伝送された)データバーストのデータの各ワードを示し、垂直ブランキングインターバルの後に、(ビデオデータのストリームの開始を示す)第3のデータストリーム分離ワードからなるアクティブビデオ期間が続き、その後に、ビデオデータそのものを示すトランジッションを最小化したコードワードが続く。
発明の概要
実施の形態において、本発明は、送信器から受信器へ、リンクにおける1以上のチャンネルの各々を用いて、エンコードされたビデオデータのストリームと、エンコードされたデータの他のストリーム(例えばエンコードされたオーディオデータ)のうち、少なくとも1つを伝送するための、送信器、受信器、及び(少なくとも1つのチャンネルを持つ)シリアルリンクを具備する通信システムである。好ましい実施の形態において、シリアルリンクは、TMDSリンク又はTMDSライクリンクである。好ましい実施の形態において、送信器は、アクティブビデオ期間に、このリンクにおける1以上のチャンネルの各々を用いて、エンコードされたビデオを受信器に送信し、データアイランド期間に、少なくとも1つのビデオチャンネルの各々を用いて、エンコードされた補助データ(例えばオーディオデータ)を含んだパケットを受信器に送る。送信器は、制御データ期間に、少なくとも1つのビデオチャンネルの各々を用いて、制御データを受信器に送ることが好ましい。ここで、制御データ期間は、データアイランドのいずれとも同時に起こることも、重複することもなくまた、アクティブビデオ期間のいずれとも同時に起こることも、重複することもない。本発明の他の特徴は、シリアルリンクを用いて伝送するために多数のデータのストリームをフォーマットしエンコードするのに用いるための送信器と、シリアルリンクを用いて伝送された多数のデータのストリームを、受信しデコードするための受信器と、シリアルリンクを用いて多数のエンコードされたデータのストリームを伝送する方法である。
実施の形態において、本発明は、送信器から受信器へ、リンクにおける1以上のチャンネルの各々を用いて、エンコードされたビデオデータのストリームと、エンコードされたデータの他のストリーム(例えばエンコードされたオーディオデータ)のうち、少なくとも1つを伝送するための、送信器、受信器、及び(少なくとも1つのチャンネルを持つ)シリアルリンクを具備する通信システムである。好ましい実施の形態において、シリアルリンクは、TMDSリンク又はTMDSライクリンクである。好ましい実施の形態において、送信器は、アクティブビデオ期間に、このリンクにおける1以上のチャンネルの各々を用いて、エンコードされたビデオを受信器に送信し、データアイランド期間に、少なくとも1つのビデオチャンネルの各々を用いて、エンコードされた補助データ(例えばオーディオデータ)を含んだパケットを受信器に送る。送信器は、制御データ期間に、少なくとも1つのビデオチャンネルの各々を用いて、制御データを受信器に送ることが好ましい。ここで、制御データ期間は、データアイランドのいずれとも同時に起こることも、重複することもなくまた、アクティブビデオ期間のいずれとも同時に起こることも、重複することもない。本発明の他の特徴は、シリアルリンクを用いて伝送するために多数のデータのストリームをフォーマットしエンコードするのに用いるための送信器と、シリアルリンクを用いて伝送された多数のデータのストリームを、受信しデコードするための受信器と、シリアルリンクを用いて多数のエンコードされたデータのストリームを伝送する方法である。
各データアイランド期間中に、1以上のパケットが送信され得る。各制御データ期間(しばしば、「制御データインターバル」又は「コントロール期間」と呼ぶ)中に、エンコードされた制御ワード(同期ワード及び「前置」ワードを含む)が伝送される。
本発明を実施するシステムにおいて、(TMDSエンコード処理アルゴリズムを用いて、トランジッションを最低限にしたコードワードである10ビットであるとして、各々エンコードされた)8ビットのビデオデータワードは、アクティブビデオ期間に、TMDSリンク(又は、シリアルビデオを伝送するための多数チャンネルを持った他のTMDSライクリンク)のビデオチャンネルを用いて伝送される。アクティブビデオ期間同士の間のデータアイランド期間に、4ビットワードを含む(一般に、4ビットのオーディオデータワードを含む)パケットが、トランジッションを最低限にしたコードワードであり、10ビットのゴールデンワードであることが好ましい、10ビットであるとして、TMDSエンコード処理アルゴリズムにより各々エンコードされ、ビデオチャンネルの少なくともいくつかを用いて伝送される。アクティブビデオ期間とデータアイランド期間の間のコントロールデータ期間中に、送信器は、(各々、2個の制御ビット、すなわち、CTL0とCTL1または、CTL2とCTL3を示す、トランジッションを最低限にしたコードワードである10ビットとしてエンコードされた)制御ワードと、(各々、2個の同期ビット、すなわち、HSYNC及びVSYNCを示す、トランジッションを最大限にしたコードワードである10ビットとしてエンコードされた)同期ワードを、ビデオチャンネルを用いて送信する。各アクティブビデオ期間中、HSYNC、VSYNC、CTL0、CTL1、CTL2、及びCTL3は、アクティブビデオ期間が始まったとき、受信器により、持っていた値を保っているとみなされる。
HSYNC及びVSYNCビットを示す、トランジッションを最低限にした(例えば、ピクセルクロック周期ごとの1つのコードワードであって、各ワードはHSYNCビット、VSYNCビット、パケットヘッダビット、及び他のビットを示す)コードワードが、各データアイランド期間に、1つのチャンネル(例えば、CH0)を用いて伝送されることが好ましい。
1実施の形態において、本発明は、少なくとも1つのビデオチャンネルを有するシリアルリンクと接続するよう設定されている送信器である。この送信器は、ビデオデータと(I2Sフォーマットのオーディオデータ及び/又はDSDフォーマットのオーディオデータを含む)オーディオデータを受信するための入力と、リンクに接続されるよう設定された少なくとも1つの出力と、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、補助データのパケットを示すコードワードを生成し、エンコード処理されたビデオデータを、アクティブビデオ期間に少なくとも1つの出力にアサートし、補助データのパケットを示すコードワードをデータアイランド期間に少なくとも1つの出力にアサートするように構成された回路とを具備する。
本発明に係る送信器の他の実施の形態において、送信器は(I2Sフォーマットのオーディオデータ及び/又はDSDフォーマットのオーディオデータであっても良いが必ずしもその必要はない)複数のオーディオデータのストリームを受け取る。送信器は、マルチプレクサ回路とデータパケット化回路を具備する。このマルチプレクサ回路は、入力オーディオのストリームを受信し、このストリームのうちあらかじめ定めたものをあらかじめ定めたタイミングでデータパケット化回路にアサートする。
他の実施の形態において、本発明は、少なくとも1つのビデオチャンネルを有するシリアルリンクと接続するよう設定された送信器である。この送信器は、埋め込まれたクロックとビデオデータを有する少なくとも1つのオーディオデータのストリームを受信するための入力と、リンクに接続されるよう設定された少なくとも1つの出力と、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、前記埋め込まれたクロックとは位相関係が未知の第2のクロックによりオーディオデータのストリームをサンプリングすることにより再サンプリングされたオーディオデータを生成し、補助データのパケットを示すコードワードを生成し、アクティブビデオ期間中のピクセルクロックに応答して、エンコード処理されたビデオデータを、前記少なくとも1つの出力にアサートし、データアイランド期間のピクセルクロックに応答して、補助データのパケットを示す前記コードワードを、前記少なくとも1つの出力にアサートするよう構成された回路とを具備する。この補助データには、タイムコードデータと、再サンプリングされたオーディオデータと、第2のクロックを示すピクセルクロックを含んだタイムコードが含まれる。
他の実施の形態において、本発明は、少なくとも1つのビデオチャンネルを有するシリアルリンクと接続するよう設定された送信器である。この送信器は、埋め込まれたクロックとビデオデータを有する少なくとも1つのオーディオデータのストリームを受信するための入力と、リンクに接続されるよう設定された少なくとも1つの出力と、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、前記埋め込まれたクロックとは位相関係が未知の第2のクロックによりオーディオデータのストリームをサンプリングすることにより再サンプリングされたオーディオデータを生成し、補助データのパケットを示すコードワードを生成し、アクティブビデオ期間中のピクセルクロックに応答して、エンコード処理されたビデオデータを、前記少なくとも1つの出力にアサートし、データアイランド期間のピクセルクロックに応答して、補助データのパケットを示す前記コードワードを、前記少なくとも1つの出力にアサートするよう構成された回路とを具備する。この補助データには、再サンプルされたオーディオデータが含まれる。
一実施の形態において、本発明に係る送信器は、補助データのパケットを示すコードワードを生成し、このパケットのうち少なくともいくつかはオーディオサンプルパケットである。各オーディオサンプルパケットは、ヘッダを持ちオーディオデータのうちの少なくとも1つのサンプルを具備することができる。ヘッダには、オーディオサンプルにはオーディオデータサンプルが含まれるかどうか、及び当該オーディオデータはフラットラインサンプルであるかどうかを示す、少なくとも1つのあらかじめ定めたタイムスロット内のヘッダデータが含まれる。
他の実施の形態において、本発明はビデオクロックチャンネルと少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された受信器である。この受信器は、(ビデオクロックチャンネルに接続されるクロック入力を含む)リンクと接続されるよう設定された少なくとも2つの入力と、リンクから復元されたビデオデータとオーディオデータをアサートするための出力と、クロック入力からピクセルクロックを受信し、ピクセルクロックに応答して、アクティブビデオ期間に少なくとも1つの入力にて受信したエンコード処理されたビデオデータをデコード処理することにより、復元されたビデオデータを生成し、復元されたビデオデータを出力の少なくとも1つにアサートし、ピクセルクロックに応答して、データアイランド期間に少なくとも1つの入力にて受信したエンコード処理された補助データのパケットのコードワードをデコード処理することにより、デコード処理されたデータを生成し、デコード処理されたデータから少なくとも1つのI2Sフォーマットのオーディオデータデータ(及び/又は、DSDフォーマットのオーディオデータ)のストリームを生成し、このオーディオデータのストリームを少なくとも1つの前記出力にアサートするよう設定された回路とを具備する。デコード処理されたデータの少なくともいくつかは、タイムスタンプを示す。ピクセルクロックと共にタイムコードデータはオーディオデータの各ストリームに対するオーディオクロックを示す。
一実施の形態において、本発明に係る受信器はオーディオデータの複数のストリームを復元し、復元されたオーディオデータの各ストリームをあらかじめ定めたタイミングで少なくとも1つのあらかじめ定めた出力にアサートするよう設定されたマルチプレクサ回路を具備する。
好ましい実施の形態において、本発明に係る送信器は、第1のフォーマットを持つ入力ビデオに応答して第2のフォーマットを持つビデオを示すエンコード処理されたビデオデータを生成するよう設定される。好ましい実施の形態において、第2のフォーマットを持つビデオを示すエンコード処理されたビデオデータに応答して第1のフォーマットを持つ復元されたビデオデータを生成するよう設定される。
上述の通り、(ここで使われている)データの「ストリーム」という用語は、全データが同じタイプであって同じクロック周期で伝送されることを意味し、(ここで使われている)用語「チャンネル」は、ここでは、データを伝送するために用いられるシリアルリンクの部分(例えば、それを用いてデータが伝送される送信器と受信器間の特定の導線又は導線対、及び、データの伝送及び/又は復元に使われる送信器及び/又は受信器内の具体的な回路)と、リンクを用いてデータを伝送するために採用される技術を示す。
オーディオ(又は他の補助)データをリンクを用いて伝送するとき、オーディオデータの多数のストリームを伝送することが好ましく、多数チャンネルのリンクが補助データの伝送に利用できることに価値がある。例えば、2個のオーディオのストリーム(左右のステレオオーディオ)、6個のストリーム(例えば「5.1」サラウンドサウンド)、又は8個までのストリーム(例えば「7.1」サラウンドサウンド)がある。あるいは、ビデオと共にさらに外のオーディオのストリームを伝送することや、コーディオとビデオと共にオーディオでない補助データを伝送することが望ましい。このような補助データのストリームはすべて、普通同じ時間基準に置かれるが、他の時間基準に基づく又は異なったサンプルレートを持ったオーディオ(又は他の補助)データがあってもかまわない。例えば、パルスコードモジュレーションされた(PCM)オーディオデータの6個のストリームをリンクを用いて伝送することは、1クロックで行うことができる。他の圧縮されたオーディオの2個のストリームを、あるいは(例えば、数を減らしたスピーカで再生するために)ダウンミックスしたものも、同様にビデオやPCMと共に伝送してもよい。
高速デジタル伝送において、データは、トランジッションの数を最大化又は最小化するため、及び、直流レベルをバランスさせるため、しばしばエンコードされる。例えば、少なくとも1個TMDSリンクを含む本発明に係るシステムの実施の形態において、トランジッションを最小化させ、直流バランスさせたTMDSエンコードされたビデオデータは、TMDSリンクの3個のチャンネルを用いて伝送され、エンコードされた補助データ(例えばオーディオデータ)は、アクティブビデオ期間とアクティブビデオ期間の間のブランキング期間にこれらの3個のチャンネルの内の1個を用いて伝送され得る。補助データからの要求帯域が一次データ(ビデオデータ)の帯域より狭く、補助データチャンネルに顕著なシンボル間干渉(ISI)(ケーブル長が長いためであることもある)がある場合、補助データは、ビデオデータをエンコードするために用いられるトランジッションを最小化させたTMDSコードワードの、(ゴールデンワードを具備する)サブセットを用いてエンコードすることが好ましい。
本発明の実施の形態は、図2に示したシステムにより実施することができる。図2における送信器1’と2’との間のTMDSリンクは、図1における送信器1と3との間のTMDSリンクと同じであるが、導線は図1には示されているが、(簡略化のため)図2には示されていない導線もある。図2のシステムは、図1のシステムの機能を実行し、図1のシステムと同じ一般的方法により、ビデオデータをエンコードするのみならず、オーディオデータ(又は他の補助データ)をエンコードし、TMDSリンクのチャンネル1、チャンネル2、及び、チャンネル3、の内の1つ以上を用いてエンコードされた補助データを伝送し、(また、エンコードされたビデオデータをこのチャンネルを用いて伝送し、)(エンコードされたビデオデータと)エンコードされた補助データをデコードするために設定される。
図2の送信器1’と受信器2’は、各々、図1の送信器1と受信器3に対応するが、図1の送信器1と受信器3では実行されない補助データのエンコード処理、伝送、及びデコード処理も実行する。図2の送信器1’は、図のように接続されたMPEG2デコーダ13とマイクロコントローラ15を具備するソースディバイスの一要素である。デコーダ13は、入力ビデオ(「DigVideo」)を、送信器1’のビデオデータ処理サブシステムにアサートし、入力オーディオデータ(「SPDIF」)とオーディオ参照クロック(「MCLK」)を送信器1’のオーディオデータ処理サブシステムにアサートする。入力オーディオSPDIFには、2以上のオーディオデータ(例えば左右のステレオ信号)のストリームを表示することができる。EEPロムはキー値と、受信器2’に伝送された内容のHDCP暗号化で用いるキー値と識別ビットを記憶している。
図2の受信器2’は、図のように接続されたEDID ロム23、マイクロコントローラ25、表示回路26、及びデジタル−アナログ変換機27(「DAC」27)を具備するシンクディバイスの一要素である。EDID ロム23は、TMDSリンクのDDCチャンネルに接続され、DDCチャンネルを介してマイクロコントローラ15に読み込まれる、状態ビットと構成ビットを記憶する。受信器2’はまた、DDCチャンネルを介してマイクロコントローラ15と通信するため、インターフェース(例えば、図14のインターフェース201)に接続されている。EEPロム24は、送信器1’から受け取った内容をHDCP暗号解読に用いるためのキー値と識別ビットを記憶している。
シンクディバイスも、受信器2’により復元されたアナログ又は/ディジタルビデオを受信する表示回路26と、受信器2’により復元されたデジタルオーディオを受信するディジタル−アナログ変換機27(DAC27)を具備する。
図2のシステムは、TMDSリンクの導線対(図2においてチャンネルCと表記)を介してビデオクロックを伝送し、リンクの少なくとも1つのチャンネルを介して補助データのクロックを伝送することが好ましい。例えば、送信器1’は、ビデオデータをアクティブビデオ期間に、(図1のシステムにおける同一番号のチャンネルと同一の)チャンネル0,1,及び2を介して受信器2’に伝送し、オーディオデータ(例えば左右のステレオ信号)を、アクティブビデオ期間以外の期間に、チャンネル0,1,及び2を介して伝送し、連続的に、チャンネルCを介してビデオクロック(例えば、バイナリ波形の立ち上がり部を検出することにより決定される)を伝送し、オーディオデータの各バーストと共に(チャンネル0,1,及び2のうちの1つ以上を介して)タイムスタンプデータを伝送する。上述の2001年9月12日に出願された米国特許出願番号09/954,663に記載されているように、タイムスタンプデータはオーディオデータのクロックを決定する。受信器2’は、オーディオデータを伝送するために採用されるオーディオクロックを再生成するために、タイムスタンプデータを処理するよう設定されている。伝送されたタイムスタンプデータからクロックを再生成する方法及びシステムについてはいかに詳述する。
一般にオーディオデータストリームのためのクロックは、ビデオのストリームのためのピクセルクロックよりはるかに低い周波数を持つ。しかしながら、ほとんどの分野で、オーディオクロックは、ジッタを軽減するために、ピクセルクロックよりもっと精度の高いものが要求される。(ジッタを有するディジタルオーディオデータから生成された)アナログオーディオの歪みは、(アナログオーディオを聞く者に)、同じ量のジッタを持つディジタルビデオから生成され表示されたビデオプログラム内の歪みより簡単に識別できるので、このことは事実である。
図2のシステムにおいて、8ビットのビデオデータのソースワードは、その後直列化され、チャンネル媒体(チャンネル0,1,及び2として表現された導体対のうちの1つ)を用いて伝送される、トランジットを最小化した10ビットのコードワードにエンコードされる。受信器2’において、各10ビットのコードワードは、エラーが存在しなければ、デコードされ元の8ビットのワードに復元される。各コードワードは9ビットの基本パターン(その最上位のビットが、この基本パターンがトランジッションを最小限化したものであることを示すトランジッションを最小限にした29通りの9ビットパターンの組であって、基本パターンの8個の最下位ビットが直流バランス演算手順に従い、変更されているのか又は変更されずにいるのかを示す10番目のビットと結合される)からなる。送信器1’において、各8ビットのソースワードは、まず9ビットのベースパターンン1つにエンコードされ、そして、9ビットベースパターンのストリームが10ビットのコードワードのストリームとして(伝送された10ビットコードワードのストリームの直流バランスを改善するような方法で)エンコードされる。しかしながら、デコードされたビデオデータは、具体的なチャンネル媒体と具体的な伝送されたシリアルビットのストリームのデータパターンによっては、(特にそのチャンネルに顕著なシンボル間干渉がある場合)、エラーを包含する。
もし送信器1’と受信器2’が、ビデオデータをエンコードしデコードするのと同じ方法で補助データをエンコードしデコードし、両方のタイプのエンコードされたデータをシリアルリンクの同じチャンネルを用いて伝送するよう動作したとすると、デコードされた補助データは、同じ割合でエラーになってしまうであろう。このようなエラーになる割合は、たとえビデオデータには受け入れられるものであったとしても、補助データには(特に補助データがオーディオデータの場合)到底受け入れられるものではない。この補助データがエラーになる割合を低減させるため、送信器1’は、以下に説明する「ゴールデンワード」を用いて補助データをエンコードするよう設定される。あるいは、送信器1’は、「ゴールデンワード」を用いてビデオデータをエンコードするよう(又は、「ゴールデンワード」を用いてビデオデータと補助データの両方をエンコードするような動作が可能なように)設定してもよい。しかしながら、(「フルセット」のコードワードの堅固なサブセットである)「ゴールデンワード」を用いてエンコードされたデータは、(エンコードされた両方のビットのストリームが同じクロック周波数で伝送されたと仮定すると)同じ「フルセット」のコードワードを用いてエンコードされた同じデータより必ず低い伝送速度となるから、多くの応用例で、もし「ゴールデンワード」を用いてエンコードされると、ビデオデータは、現実には適当な速度で伝送されなくなってしまう。このように、図2のシステムの一般的な実施においては、補助データのみをゴールデンワードを用いてエンコードする。
実施例において、本発明に係る送信器と受信器は、(アクティブビデオ期間同士の間の)各ブランキング期間を少なくとも3つの部分に区別する。すなわち、初期部分(この期間に「データアイランド前置」が伝送される)、それに続く補助データ部分(しばしば「データアイランド」と称される)、及びそれに続く最終部分(この期間に「ビデオ前置」が伝送される)である。状況に応じて、ブランキング期間に2以上のデータアイランド、DEの立下り部(ブランキング期間の開始部)と最初のデータアイランドの間に初期部分、ブランキング期間中の各データアイランドの前に追加部分(他のデータアイランド前置を含む)、及び最後のデータアイランドと次のアクティブビデオ期間の間に最終部分(ビデオ前置を含む)が有るようにする。各ブランキング期間における最初のデータアイランド前置期間に、具体的なコントロールビットCTL3,CTL2,CTL1,及びCTL0のパターンを示すコードワードの繰り返しと状況に応じて初期ビットパターン(例えば、チャンネルCH2とCH1の初期補助前置の開始時の図5における「Rsvd」と表示される時間間隔のパターン)が伝送される。各ブランキング期間におけるビデオ前置期間に、具体的なコントロールビットCTL3,CTL2,CTL1,及びCTL0の他のパターンを示すコードワードの繰り返しと状況に応じて初期ビットパターン(例えば、チャンネルCH2とCH1のビデオ前置の開始時の図6における「Rsvd」と表示される時間間隔のパターン)が伝送される。各データアイランド期間中、エンコードされた補助データを示すコードワードのパケットと保護帯域ワードが伝送されることが好ましい。
既述の通り、2以上のデータアイランドが連続して(その間にアクティブビデオ期間なしに)伝送される。さらに、2以上のアクティブビデオ期間が、連続して(その間にデータアイランド期間なしに)、あるいはデータアイランドとアクティブビデオ期間とが入れ代わって、伝送される。
実施の形態においては、ビデオ前置期間に以下の信号が伝送される。すなわち、CTL3=0,CTL2=0を示すコードワード「0010101011」の繰り返しがCH2を用いて(好ましくは「Rsvd」期間中の初期ビットパターンの後に)伝送され、CTL1=0,CTL0=0を示す同じコードワード「0010101011」の繰り返しがCH1を用いて(好ましくは初期ビットパターンの後に)伝送され、同期ビットHSYNCとVSYNCの4つの可能な組み合わせの内の1つを示すコードワードの繰り返しがCH0を用いて伝送される。典型的な動作において、ビデオ前置の最終の12ピクセルクロック期間に(図6に示したDEの0から1へのトランジッションの直前に)、HSYNC=0,VSYNC=0を示すコードワード(すなわち、図6の下部に示した「0010101011」コードワード)を、CH0を用いて伝送するために、両方の同期ビットHSYNCとVSYNCが0の値を持つ。
このような実施の形態において、データアイランド前置期間に(図3及び5に示すように)以下の信号が伝送される。すなわち、CTL3=0,CTL2=1を示すコードワード「1101010100」の繰り返しがCH2を用いて(好ましくは「Rsvd」期間中の初期ビットパターンの後に)伝送され、CTL1=1,CTL0=0を示すコードワード「0010101010」の繰り返しがCH1を用いて(好ましくは初期ビットパターンの後に)伝送され、同期ビットHSYNCとVSYNCの4つの可能な組み合わせの内の1つを示すコードワードの繰り返しがCH0を用いて伝送される。
シリアルリンクを用いて、送信器1から受信器へ送信する間、シンボル間インターフェース(「ISI」)が、受信したデータが伝送されたデータと違ってしまう原因となるようなエラーを起こすことがある。このようなエラーが起きる割合は、チャンネル媒体や、データが2ビットのパターンのとき、伝送される特別なビットパターンのような要因に依存する。本発明の好ましい実施の形態において、データ(例えば、アクティブオーディオ期間同士の間のデータアイランド期間に伝送されるオーディオデータ)は、リンクを用いて伝送されるときに同じデータを従来のエンコードバージョンにより決定されたパターンよりISIの影響を受けにくいビットパターンで送信されるようエンコードされる。このように、データはこのような好ましい実施の形態において、同じデータを従来通りにエンコードされたバージョンより、信頼性が高くかつエラー発生率を低減させて、伝送される。さらに具体的には、好ましい実施の形態において、データは、コードワードの全部のサブセット(「堅固な」サブセット)を用いてエンコードされる。概して、フルセットのコードワードは同じ長さである(例えばNビット)。堅固なサブセットは、ここでは、「選択された」又は「発明に係る」コードワードのセットと呼ばれ、堅固なサブセット中のコードワードはしばしば、「発明に係る」コードワード(又は「ゴールデンワード」)と呼ばれる。堅固なサブセットは、伝送されたエンコードされた(発明に係るコードワードセットのメンバのみを用いてコードされた)データのストリームが、(発明に係るコードワードセットのメンバを用いてコードされていたもののみならず、発明に係るコードワードセットのメンバ以外のフルセットのコードワードを用いてコードされていた)同じデータを従来通りエンコードされて伝送されることにより定めたパターンより、シリアルリンクを用いて伝送するときに、ISIの影響を受けないようなパターンを持つように選択される。フルセットには発明に係るコードワードより多くのコードワードがあるため、伝送されるデータが従来通りフルセットのコードワードを用いてエンコードされた場合に比べて、伝送されるデータが発明に係るコードワードのみを用いてエンコードされた場合の方が、単位時間にリンクを利用して伝送されるデータのワードがより少なくなる。
本発明にしたがってエンコードされたデータは、エンコードされたデータが、長い導線や、さもなければ伝送中にISIによるエラーの危険が高くなるような他の状況で伝送されるような応用例において、特に有益である。
実施の形態において、送信器1’は、以下のとおり、本発明によりアクティブビデオ期間同士の間に伝送された補助データをエンコードするよう設定される。フルセットの10ビットTMDSコードワードのサブセットは、各伝送された10ビットワードのエンコードされた補助データ(発明に係るコードワードのみからなり、しばしば「ゴールデンワード」と呼ばれる)が、同じデータ(発明に係るコードワードのみならず、発明に係るコードワードでないフルセットのメンバも含む)をTMDSエンコードされて伝送されたストリームにより決定されたパターンより、シンボル間干渉の影響を受けないパターンを持つような「発明に係る」コードワードセットとして選択される。
ある実施の形態においては、10ビットTMDSコードワードのフルセットの2Mビットのサブセット(ここでM<8である)は、発明に係るコードワードセットとして選択される。状況に応じて、発明に係るコードワードセットは、保護帯域ワードとして用いられる1以上のフルセットのコードワードもまた含む。図3と4を参照して以下に説明する17個の発明に係るコードワード(各々10ビットからなる)は、追加の保護帯域ワードが追加された、このような2Mビットのサブセット(ここでM=4である)の一例である。受信器2’は、受信した10ビットの発明に係るコードワードの各々をデコードしてMビットの補助データワードとするために使用される。受信器2’は、アクティブビデオ期間に受信したエンコードされた従来のビデオワードに対してなされるのと同じデコード処理操作を、ブランキング期間に受信したエンコードされた補助ワードに対して行う。しかしながら、元の補助データを(発明に係るコードワードを用いて)エンコーディングしている間、送信器1’は、元のビデオデータを従来通りにエンコード処理している間に実行するような(この間に、前にあるN個のエンコードされたビデオワードの直流ドリフトが所定の閾値に達したとき、N+1番目の最下位8ビットのエンコードされたビデオワードは、変換され、その結果生じた9ビットは識別性のある10番目の最上位ビットと結び付けられ、それ以外は、N+1番目の最下位8ビットのエンコードされたビデオワードは、変換されず、その代わり、識別性のある10番目の最上位ビットと結び付けられ、)、従来の直流バランスを行わない。むしろ、送信器1’は、その結果現れた発明に係るコードワードのストリームの累積した直流ドリフトに考慮せず、(また、発明に係るコードワードのMSBが1なのか0なのかを考慮せず)単純に、補助データのもとの各4ビットを対応する発明に係るコードワードで置き換えるように設定する。発明に係るコードワードは、発明に係るコードワードのストリームのビットが、電圧のトランジッションの上下の連続としてシリアルリンクを介して伝送されるとき、電圧のドリフトが許容範囲に収まるように、発明に係るコードワードのそのようなストリームのビットパターンがDCバランスされ(あるいはDCバランスされる確率が高く)るように、選択されることが好ましい。
他の実施の形態において、送信器1’は、(発明に係るコードワードを用いて)元の補助データをエンコード処理する期間、及び、元のビデオデータを従来通りエンコード処理する期間に同様のDCバランスステップを実行する。これは、発明に係るコードワードセットの選択において考慮に入れられている。具体的には、発明に係るコードワードセットの各コードワードは、10ビットのTMDSコードワードのフルセットから9ビットのベースパターンを選択したメンバであり、(発明に係る10ビットのコードワードに置き換えるために)元の4ビットワードの補助データをエンコード処理する期間、先にエンコードされた補助ワードのストリームの累積した直流ドリフトが所定の閾値に達しているかどうかに応じて、この9ビットのベースパターンの最下位8ビットが変換され、その結果生じたパターンは第1番目の値を持つ10番目の(そして最上位の)ビットと結び付けられるのか、あるいは、このベースパターンが変換されずに、第2番目の値を持つ10番目の(そして最上位の)ビットと結び付けられる、9ビットのベースパターンを持つ。これらの実施の形態において、受信器2’は、アクティブビデオ期間に受信した従来通りエンコードされたビデオデータワードに実行される、ブランキング期間に受信したエンコードされた補助データワードに同じデコード処理を実行し、ついで、各8ビットワードを、各々Mビットの長さを持つ2Mの補助データワードの1つにマッピングするために用いられる。
図2に描かれた実施の形態におけるシステムにおいて、補助データをエンコード処理する空間(発明に係るコードワードセットによりエンコードされ得る、異なる補助データワードの数)が、本発明によれば、28(=256)から2M(ここでM<8である)に低減され、そして、補助データを伝送することができる実効速度が、1チャンネルで、1クロック期間あたり8ビットから、1チャンネルで、1クロック期間あたりMビットに低減される。M値を減らすことにより(すなわち、発明に係るコードワードのセットをフルセットより小さく選ぶことにより)、より低いビットエラー率(BER)が達成できるが、データの割合が小さくなる。逆にいえば、M値を増加させると、データの割合が大きくなるが、BER増大の代償を払わなくてはならない。
次に、図3と4を参照して、発明に係るコードワードセットの実施の形態について説明する。このコードワードセットは、従来の10ビットTMDSコードワードのフルセットのサブセットであり、補助データがビデオデータの半分の転送速度で伝送されることが適当であれば、(従来10ビットTMDSコードワードを用いてエンコードされていた)8ビットのビデオワードもそれを利用して伝送される、TMDS(又はTMDSライク)リンクを利用して伝送するために、4ビットの補助データをエンコード処理するのに役に立つ。一般的に、2進数の補助データの8ビット入力ワードは、バッファに格納され、各4個の最下位ビットは(例えば、図2の送信器1’内で)エンコードされ、図4の左欄の16個の8ビットワード「AD0−AD15」の1つとなり、各4個の最上位ビットもまたエンコードされ、16個の8ビットワード「AD0−AD15」の内の適切な1つとなる。ワードAD0−AD15の各々は図4の左から2番目の欄に示された16進数で表現される。次いで、ワードAD0−AD15の各々はエンコードされ、図4の3番目の欄(「TMDS結果」の欄)に示された10ビットパターンの内の適切な1つとなる。コードワードの集合をマッピングすることに関する本発明の特徴に関連して、以下に図4の他の欄について説明しなければならない。
図4(及び図3)において、各コードワードの左のビットはLSBであり(各々10ビットのコードワードの場合)シリアルリンクを用いて伝送される最初のビットである。また、各コードワードの右のビットはMSBであり(各々10ビットのコードワードの場合)シリアルリンクを用いて伝送される最後のビットである。
例えば、入力補助データワード10000000(このLSBは1である)は2つの半片(1000と0000)に切り分けられ、この2つの半片は、次にエンコードされ、おのおのAD1とAD0になる。次いで、ワードAD0はエンコードされて10ビットの発明に係るワード「0011100101」になり、ワードAD1はエンコードされて10ビットの発明に係るワード「0110001101」になる。次いで、入力ワードの「最上位の」半片(0000)を示す「0011100101」ビットが伝送された後に、入力ワードの最下位の半片(1000)を示すビット「0110001101」が伝送されるという具合に、この2つの発明に係るワードは、直列化されシリアルリンクを用いて順番に伝送される。受信器では、各10ビットの発明に係るワードは、8ビットのワードAD0−AD15の内の1つにデコードされ、各ワードAD0−AD15と各8ビットの入力補助データ1つの半片(4ビット)とは1対1のマッピングとなっているので、復元されたワードAD0−AD15から、元の8ビット入力補助データワードを再構成することができる。
もちろん、送信器(例えば送信器1’)にアサートされた入力補助データは4ビットワードとすることができ、この場合は、エンコードして連続するワードAD0−AD15にする前に、送信器は、受信した入力補助データワードを4ビットのフォーマットに切り分ける(又は他の方法でパックする)必要はない。その代わり、入力補助データは、前もって連続する8ビットワードAD0−AD15としてエンコードしておくことができ、その後、前もってエンコードされている補助データを、連続する8ビットワードAD0−AD15の形で送信器に送ることができる。
一般的に、エンコードされた補助データは、ビデオデータが伝送されるTMDSリンクの同じチャンネル(CH0,CH1,及びCH2)を用いて伝送されるが、この補助データは、ビデオデータが伝送されるアクティブビデオ期間同士の間にあるブランキング期間に伝送される。図5と6はこのような本発明の実施の形態で伝送される信号のタイミング図である。図5の上部にある9個の信号は、コントロールデータ期間に送信器に入力される信号と、(ブランキング期間の)データアイランドを示し、図5の下部にある3個の信号は、補助データと、コントロールデータ期間に、チャンネルCH0,CH1,及びCH2を使って伝送される、エンコードされた制御と同期信号と、上部の9個の信号に呼応するデータアイランドを示す。同様に、図6の上部にある9個の信号は、ブランキング期間(図5のブランキング期間)の最後の制御データ期間とこのような制御データ期間の後に続くアクティブビデオ期間に、送信器に入力される信号を示し、図6の下部にある3個の信号は、(図4の10ビットワードを用いてエンコードされた)補助データと、(普通にエンコードされた)ビデオデータと、上部の9個の信号に呼応してチャンネルCH0,CH1,及びCH2を使って伝送される(以下に論じる)エンコードされた制御と同期信号とを示す。
図5と6において、
24ビットの入力データがエンコード処理のために、送信器のエンコード回路に送られる。図5は、補助データのワードのようなワード(各々図5においてD[23:0]のように識別される)に関連する。図6は、ビデオデータのワードのようなワード(各々図6においてD[23:0]のように識別される)に関連する。8ビットの各入力ワード(D[23:16])は、エンコードされ、直列化され、CH2を用いて(10ビットのエンコードされたワードCH2[0:9]として)伝送され、他の8ビットのこのようなワードの各々(D[15:8])は、エンコードされ、直列化され、CH1を用いて(10ビットのエンコードされたワードCH2[0:9]として)伝送され、また、他の8ビットのこのようなワードの各々(D[7:0])は、エンコードされ、直列化され、CH0を用いて(10ビットのエンコードされたワードCH2[0:9]として)伝送される。実施の形態においては、ビデオデータはRGBフォーマットとなっている(そして、赤、緑、及び青の画素は各々チャンネルCH2,CH1,及びCH0を使って伝送される)。かかる観点から、チャンネルCH2,CH1,及びCH0は、ここではしばしば、(図3のように)各々赤(又は「R」)チャンネル、緑(又は「G」)チャンネル、及び青(又は「B」)チャンネルのように呼ばれる。あるいは、エンコードされ(伝送された)ビデオデータは、ルミナンス−クロミナンスフォーマットとなる。
24ビットの入力データがエンコード処理のために、送信器のエンコード回路に送られる。図5は、補助データのワードのようなワード(各々図5においてD[23:0]のように識別される)に関連する。図6は、ビデオデータのワードのようなワード(各々図6においてD[23:0]のように識別される)に関連する。8ビットの各入力ワード(D[23:16])は、エンコードされ、直列化され、CH2を用いて(10ビットのエンコードされたワードCH2[0:9]として)伝送され、他の8ビットのこのようなワードの各々(D[15:8])は、エンコードされ、直列化され、CH1を用いて(10ビットのエンコードされたワードCH2[0:9]として)伝送され、また、他の8ビットのこのようなワードの各々(D[7:0])は、エンコードされ、直列化され、CH0を用いて(10ビットのエンコードされたワードCH2[0:9]として)伝送される。実施の形態においては、ビデオデータはRGBフォーマットとなっている(そして、赤、緑、及び青の画素は各々チャンネルCH2,CH1,及びCH0を使って伝送される)。かかる観点から、チャンネルCH2,CH1,及びCH0は、ここではしばしば、(図3のように)各々赤(又は「R」)チャンネル、緑(又は「G」)チャンネル、及び青(又は「B」)チャンネルのように呼ばれる。あるいは、エンコードされ(伝送された)ビデオデータは、ルミナンス−クロミナンスフォーマットとなる。
波形「DCK」はデータクロックを示す。データクロックの各周期において、補助データ(又は保護帯域)を示す10ビットの発明に係る各コードワードの1つ、又は、ビデオデータを示す通常のTMDSの10ビットのコードワードの各々は、対応するチャンネルCH0,CH1,及びCH2の1つを用いて順番に伝送される。現実の実施において、移相回路が、複数の移相されたクロックDCKを生成するために用いられ、このDCKは(DCK自身と共に)エンコード処理、伝送、及びデコード処理のクロックとして用いられる。他の現実の実施において、DCKの10倍の周波数のクロック(ただしDCKと同じ移相を持つ)を、エンコード処理、伝送、及びデコード処理のクロックとして用い、1つのコードビットを、この、より速いクロックの各周期に伝送することもできる。
(図6の)波形「DE」は、ビデオデータイネーブル信号であり、波形「AUXDE」は、補助データイネーブル信号である。DE=1で、AUXDE=0のとき、(図6のD[23:16]、D[15:8]、及びD[7:0]により特定される)ビデオデータが、エンコードされ、エンコードされたビデオの直列化された10ビットのワードが、チャンネルCH0,CH1,及びCH2を用いて伝送される。DE=0で、AUXDE=1のとき、(図5のD[23:16]、D[15:8]、及びD[7:0]により特定される)補助データがエンコードされ、エンコードされた補助データの直列化された10ビットのワードが、チャンネルCH0,CH1,及びCH2を用いて伝送される。DE=0で、AUXDE=0のとき、送信器は、データ入力にアサートされた信号を無視し、かわりに制御入力(図5と6に、「CTL[3:2]」として示されたビットCTL3とCTL3と、図5と6に、「CTL[1:0]」として示されたビットCTL1とCTL0)にアサートされた制御ビット対を(10ビットTMDSコードワードとして)エンコードし、これらのコードワードを直列化して、直列化したコードワードをチャンネルCH1とCH2を利用して伝送する。DVIシステムにおいて、DE=0のとき、送信器は、sync入力にアサートされたsyncビット対(HSYNCとVSYNC)を(10ビットのトランジッションを最大化したワードとして)エンコードし、これらのコードワードを直列化し、直列化したコードワードをCH0を用いて伝送する。しかしながら、本発明の好ましい実施の形態において、各データアイランドの期間、HSYNCとVSYNCを示す10ビットのトランジッションを最少化したワードは、各ピクセルクロック周期にCH0を利用して伝送される(例えば、HSYNC ビットを表すコードワード、VSYNCビット、及び2個の他のビットが各ピクセルクロック周期に伝送される)。このように、HSYNCとVSYNCとを、データアイランド期間にパケットを送ることが要求される32ピクセルクロック周期を使って繰り返し伝送することができる。データアイランド期間中に伝送される各パケットは、32ビットのパケットヘッダが含まれることが好ましく、また、データアイランド期間中に伝送される、HSYNCとVSYNCとを表示する各コードワードもまた、パケットヘッダの1つのビットを表示することが好ましい。したがって、すべての32ビットのパケットヘッダを伝送するために、32ピクセルのクロック周期が必要である。
図5と6で、2つのデータイネーブル信号「DE」及び「AUXDE」を参照して説明したが、発明に係る送信器は、単一のデータイネーブル信号(例えば、信号DEとAUXDEに対して論理「和」演算の実行結果を示す結合されたイネーブル信号)と、ビデオ又は補助データのどちらか一方を表示する単一のデータ入力(「D[23:0]」)に応答して、説明したすべてのエンコード処理、直列化、及び伝送を行うよう構成された部分(例えば、図13の送信器100の「コア」プロセッサ114)によって、実行されることをもくろむものである。コアの外側の付加的な回路は、補助データ(例えば、24ビット補助データワード)とビデオデータ(例えば、24ビットビデオデータワード)の別々の組を受信し、データイネーブル信号DEと補助データイネーブル信号AUXDEの両方を受信するよう構成される。データイネーブル信号は、以下のような値を順番に繰り返す。まず、(DE=0,AUXDE=0)、続いて(DE=1,AUXDE=0)、続いて(DE=0,AUXDE=0)、続いて(DE=0,AUXDE=1)の順番である。もちろん、データイネーブル信号は、繰り返すことのない順序とすることを含めて、他の順序で値を発生させても良い。例えば、状況によって、補助データはビデオブランキング期間中に伝送されるのではあるが、すべてのビデオブランキング期間中に伝送されるようにしなくてもよい。従って、信号DEとAUXDEとが以下のような順序を持つことで、補助データはあるブランキング期間中に伝送されるが、次のブランキング期間中には伝送されない。まず、(DE=0,AUXDE=0)、続いて(DE=1,AUXDE=0)、続いて(DE=0,AUXDE=0)、続いて(DE=0,AUXDE=1)、続いて、(DE=0,AUXDE=0)、続いて(DE=1,AUXDE=0)、続いて(DE=0,AUXDE=0)、続いて(DE=1,AUXDE=0)の順序である。送信器に付加された回路には、DEとAUXDEの信号を論理和で結合する論理回路を含ませることができる。付加された回路はまた、補助データを4ビットフォーマットに詰め込み、補助データの各4ビット部分を図4に示したワードAD0−AD15の1つとしてエンコードし、適当なタイミングで、AD0−AD15の補助データワードのストリームに、保護帯域ワードを付加し、そしてビデオデータのストリームに、ビデオ保護帯域ワードを付加すること(または、適当なタイミングで、ビデオデータのワードをビデオ保護帯域ワードに置き換えること)ができる。付加された回路は、コアに一連の(ビデオ保護帯域ワードが加えられた)ビデオデータのバーストと(保護帯域ワードが加えられた)補助データとをアサートすることができ(例えば、ビデオデータのバーストとビデオ保護帯域ワードとを交互に入れ替え、補助データと保護帯域ワードとを交互に入れ替えることができ)、また、コアに結合されたデータイネーブル信号をアサートすることもできる。コアは、(別々のDEとAUXDE信号よりむしろ)結合されたデータイネーブル信号とビデオと補助データのバーストに応答して、図5と6に関連して説明したすべてのエンコード処理、直列化、及び伝送を行う。
前段で説明した実施形態を変形させた形態では、送信器に「付加された回路」は結合されて、2以上の補助データの組(各組は異なったタイプの補助データからなる)をエンコードするよう設定される。付加された回路はまた、結合されて、ビデオデータ、補助データの各組に対する補助データイネーブル信号(例えば、第1と第2の補助データイネーブル信号「DE」と「AUXDE」)、及びビデオデータイネーブル信号(「DE」)を受信し、送信器のコアに、一連のビデオデータのバーストとエンコードされた補助データのバーストをアサートするよう設定される。ビデオデータイネーブル信号(「DE」)と補助データイネーブル信号(「AUX1DE」と「AUX2DE」)は、以下のような繰り返し順序の値を持つことができる。まず、(DE=0,AUX1DE=0,AUX2DE=0)続いて、(DE=1,AUX1DE=0,AUX2DE=0)続いて、(DE=0,AUX1DE=0,AUX2DE=0)続いて、(DE=0,AUX1DE=1,AUX2DE=0)続いて、(DE=0,AUX1DE=0,AUX2DE=1)の順序となる。付加された回路には、DE、AUX1DE、及びAUX2DEの信号を論理和で結合し、結合されたデータイネーブル信号を生成する論理回路を含ませることができ、コアに、(個々のビデオデータイネーブル信号と補助データイネーブル信号よりむしろ)結合されたデータイネーブル信号をアサートすることができる。シリアルリンクの少なくとも1つのチャンネルの各々(例えば、TMDSリンクに対してなされた本発明にしたがってデータを伝送する場合には、各チャンネルCH2,CH1)において、1つの適切な本発明に係るコードワード(又は、2つ以上の適切な本発明に係る保護帯域ワード)は、エンコードされた補助データの各バーストの開始時(すなわち、各ブランキング期間の各「補助前置」の直後)、エンコードされた補助データの各バーストの終了時、及びエンコードされたビデオデータの各バーストの開始時(すなわち、各ブランキング期間の各「ビデオ前置」の直後)に(保護帯域ワード又は保護帯域ワードの組として)伝送されるのが好ましい。
本発明の好ましい実施の形態において、データアイランド期間に伝送されるべきもとのデータは、フルセットのコードワードの「堅固な」サブセットを用いてエンコードされる。各「堅固な」サブセットは、(ここではしばしば、「ゴールデンセット」と呼ばれる)コードワードセットからなり、各ゴールデンセットは、1以上の(ここではしばしば、「ゴールデンワード」と呼ばれる)コードワードからなる。ゴールデンセットの各「ゴールデンワード」は、単一のソースデータ値(例えばソースデータワード)を表現する。ゴールデンセットが2以上のゴールデンワードを具備する場合は、これらの各ゴールデンワードは同じ発信源のデータ値を表現する。フルセットにおけるコードワードのクラスタが決定される。各クラスタは、「ゴールデンセット」を含み、状況に応じて、フルセットの付加的な1以上のコードワードを含む。ここで、付加的なコードワードの各々は、各付加的なコードワードが、伝送又は伝送とデコード処理中に、このようなゴールデンワードに起こりうるビットエラーン結果生成されることが多いという点で、クラスタのゴールデンセットのゴールデンワードに「類似」する。クラスタの1つにおける受信された各コードワードは、クラスタのゴールデンセットにより決定されたもとのデータ値にマッピングされる。受信したコードワードにおけるクラスタの、単一のソースデータへのマッピングは、クラスタ内のエラーを包含するワードを、エラーを包含するワードに対応しそうなソースデータ値にマッピングすることにより、エラーの修正を行うことができる。
フルセットのコードワードは、シリアルリンクのチャンネルを利用して伝送するために、1つのデータのタイプ(例えばビデオデータ)をエンコードするために用いることができ、堅固なサブセットは、シリアルリンクのチャンネルを利用して伝送するために、他のデータのタイプ(例えば、ビデオデータに関連する又はビデオデータに有用なオーディオデータや他の「補助」データ)をエンコードするために用いることができる。
ある実施の形態においては、各ゴールデンセットの各コードワードは、MビットワードをエンコードしたNビットのワードである。ここで、MはNより小さい整数である。Nビットの連続したゴールデンワードをシリアルリンクを用いて伝送した後、受信したNビットのコードワードは、(伝送エラーが起こった場合)ゴールデンワードの1つと違っていてもよく、また伝送されたゴールデンワードの1つと同一でもよい。クラスタの1つにある受信したNビットのコードワードは、デコードされ、デコードされたMビットワードを生成し、このようなデコードされたMビットワードの各々は、クラスタのゴールデンセットにより決定されるソースデータ値にマッピングされる。
例えば、実施の形態において、フルセットのコードワードは、256個の8ビットのソースワードを表現する、トランジッションを最小限にしTMDSエンコードされた、10ビットのワードの組である。フルセット中の堅固なサブセットは、256個の8ビットのソースワードのサブセットを表現する、8ビットの「ゴールデンワード」からなる。この場合の好ましい実施の形態において、堅固なサブセットは、16個のゴールデンセットからなり、各ゴールデンセットは、1つの8ビットのソースワードを表現する10ビットのTMDSコードワードからなり、10ビットTMDSコードワードの各クラスタは、ゴールデンセットの1つと、このようなゴールデンセット内にあるコードワードに類似の10ビットTMDSコードワードの内の少なくとも1つからなる。かかる好ましい実施の形態において、1つのクラスタ内で、受信した10ビットコードワードは、TMDSデコーディング手順(又はその修正された手順)に従いデコードされ、8ビットワードが復元され、各復元された8ビットワードは、クラスタにより決定された8ビットのソースワードにマッピングされる。
図7に関連して、受信したワードのクラスタ(例えば、図7のクラスタSaとSb)を、本発明の好ましい実施の形態で採用した伝送されたソースデータワードの各々(例えばワード「a」と「b」)にマッピングすることの概念についてさらに説明する。そして、図4に関連したマッピングの具体例について説明する。
図7に関連して、(例えば、補助データがフルセットの「ゴールデンワード」のみを用いた本発明にしたがってエンコードされたとき、最初のデータをエンコードするために用いることができる)フルセットコードワードは、各ソースデータワードがNビットの命令セットである2N個の異なるソースデータワードをエンコードするために用いられるようなコードワード(「2N空間」)である。ゴールデンワード(「2n空間」)は、各ソースデータワードが「n」ビット(ここで「n」はNより小さい整数)の命令セットである2n個の異なるソースデータワードをエンコードするために用いられるような、フルセットのコードワードのサブセットである。最初に、生のソースデータ(任意の長さのワードからなる)をバッファに蓄え、nビットフォーマットに(2nのソースデータワードのセットにおけるnビットのメンバに)まとめることができる。次いで、相異なる各nビットのソースデータワードを、1つのゴールデンワードとして(「2n空間」に)エンコードし、シリアルリンク(一般に、シリアルリンクの単一チャンネル)を用いて伝送することができる。
クラスタは、フルセットのコードワードのクラスタは、各クラスタが「ゴールデンセット」を含み、状況に応じて、1以上の付加的なフルセットのコードワードを含むよう予め決められ、各付加的なコードワードはクラスタのゴールデンセットのゴールデンワードに類似している。図7において、例えば、クラスタ「Sa」はソースワード「a」をエンコードするゴールデンワードの各々からなるゴールデンセットを含み、クラスタ「Sb」は、ソースワード「b」をエンコードするゴールデンワードの各々からなるゴールデンセットを含む。クラスタの1つに受信された各コードワードは、クラスタのゴールデンセットにより決められるソースデータ値にマッピングされる。
N=8でn=4となる実施の形態において、2N空間の各コードワードは、10ビットTMDSエンコードされたワードであり、2n空間は、フルセットの10ビットTMDSエンコードされたワードのサブセットである。伝送された10ビットTMDSコードワードは、8ビットのコードワードを生成するために、TMDSデコード処理手順(又はそれを修正した手順)に従いデコードされる。本発明のこれら及び他の実施の形態において、ゴールデンワードの伝送(または、ゴールデンワードによる任意のデコード処理)は、エラーとなることもあり、エラーなしとなることもある。
具体的な各ゴールデンワードに対して、チャンネルにシンボル間干渉又は他の劣化があるとき、ある形の伝達エラーが予想される。したがって、各ゴールデンワードに対して(すなわち、各Nビットの2n空間のメンバに対して)このようなゴールデンワードを含むクラスタには、このゴールデンワードの伝送中にかかるエラーが起こってしまいそうなすべてのNビットの2n空間のメンバを含めることが好ましい。しかしながら、クラスタは互いに共通元を持たないので、クラスタ中のNビットワードは、他のすべてのクラスタから除外される。
本発明の各実施の形態において、ゴールデンセットの各ゴールデンワードに加えて少なくとも1つのコードを含む少なくとも1つの(一般には2つ以上の)クラスタが採用される。本発明のある実施の形態において、ゴールデンセットの各ゴールデンワードに加えて少なくとも1つのコードを含む少なくとも1つのクラスタと、ゴールデンセットの各ゴールデンワード以外にコードを含まない少なくとも1つの他のクラスタが採用される。すべてのクラスタ(例えば、図7のクラスタSa及びSb等)はお互いに共通元を持たないので、伝送中(又は伝送及びデコード処理中に)にエラーが起こっても起こらなくても、クラスタが受信したNビットコードを含んでいれば、受信したコードは正しいソースワードにマッピングされる。
図7の実施において、フルセットのコードワード(「2N空間」)はフルセットの10ビットTMDSコードワードであり、「2n空間」は、予め決められた16個の異なる8ビットソースデータワードのセットを表現するこれらのTMDSコードワードからなる。したがって、各クラスタは、16個の異なるソースデータワードの1つを表現するゴールデンワードを含む。通常は、4ビットワードの生のソースデータは、予め16個の異なる8ビットソースデータワードにエンコードされ、次いで、その結果としての8ビットソースデータワードは、伝送するために、2n空間の10ビットメンバの1つにエンコードされる。(フルセットのTMDSコードワードの)堅固なサブセットは、(TMDSデコーディング手順又はその修正版に従いデコードされるとき)16個の予め決められた8ビットソースデータワードを決定する10ビットTMDSコードワードから成り立っている。各クラスタは、ゴールデンセットのゴールデンワードを含むのみならず、他のTMDSコードワードよりゴールデンワードの伝送時にビットエラーの結果となりやすいという点で、ゴールデンワードの1つに「類似」する、少なくとも1つの10ビットTMDSコードワードを含む(例えば、ゴールデンワードに「類似」するコードワードは、ビットの1つの値のみが、ゴールデンワードと異なる)。
フルセットのコードワードからゴールデンセットを選択する過程が非常に重要である。一般に、フルセットの2進数コードワードから選択された具体的なゴールデンワードの選択の最適性は、フルセット(すなわち、フルセット中の各々のコードワードにおけるビットがゼロなのか1なのかの詳細)により実行された特別のコード処理に依存する。上述のように、好ましい実施の形態において、ゴールデンセットのコードワードは、(伝送中の)そのシリアルパターンにおいて、ゼロと1の連続する量が(例えば、平均値が)少なく、したがって、選択されなかったフルセット中のコードワードに比べて、伝送中のISIの影響が少なくなるようなシリアルパターンになるように選択される。(例えば、コードワード当たり、ゴールデンワードのゼロと1の連続する数の平均値が、コードワード当たり、ゴールデンワードとして選択されなかったフルセットにおけるコードワードの、ゼロと1の連続する数の平均値より少ない。)
他の好ましい実施の形態において、ゴールデンワードは、クラスタ中の任意のゴールデンワードと他のクラスタ中の任意のゴールデンワードと間のハミングディスタンスが閾値を越えているという基準、又は、相異なるクラスタ中のゴールデンワード間のハミングディスタンスが、クラスタがお互いに共通元を持たないということを条件として、現実的な範囲で、(ある意味で)最大となる基準(例えば、相異なるクラスタ中のゴールデンワード間の平均ハミングディスタンスが最大となる基準)、を満たすように選択される。これは、クラスタがお互いに共通元を持たないという制限を維持しながら、各クラスタに含まれる「エラーコード」(ゴールデンセットのゴールデンコード以外のコード)の数を増やす手助けとなる。
他の好ましい実施の形態において、ゴールデンワードは、クラスタ中の任意のゴールデンワードと他のクラスタ中の任意のゴールデンワードと間のハミングディスタンスが閾値を越えているという基準、又は、相異なるクラスタ中のゴールデンワード間のハミングディスタンスが、クラスタがお互いに共通元を持たないということを条件として、現実的な範囲で、(ある意味で)最大となる基準(例えば、相異なるクラスタ中のゴールデンワード間の平均ハミングディスタンスが最大となる基準)、を満たすように選択される。これは、クラスタがお互いに共通元を持たないという制限を維持しながら、各クラスタに含まれる「エラーコード」(ゴールデンセットのゴールデンコード以外のコード)の数を増やす手助けとなる。
本発明を実施するために、受信器(図14の受信器200)は、クラスタの1要素を示す各入力に応じた(例えば、受信した4個のコードワードの各々に応じて、ここで、クラスタが1個のゴールデンワードを有し、3個のコードワードがゴールデンワードに類似する)、各クラスタにより決められた値(例えば、ソースデータワード)を出力する所定の表を含むように構成されることが好ましい。この表は、各クラスタ内の受信した各コードワードを、クラスタのゴールデンセットにより決定されるソースワードに、又は、各クラスタ内の受信した各コードワードを、クラスタのゴールデンセットのゴールデンワード(これは次に、従来のハードウエア又はソフトウエアで、受信器の中または外で、クラスタのゴールデンセットにより決定されるソースワードにマッピングされる)に、又は、各クラスタ内の受信した各コードワードをデコードしたものを、クラスタのゴールデンセットにより決定されるソースワードに、又は、各クラスタ内の受信した各コードワードをデコードしたものを、単一のデコードされたコードワード(これは次に、従来のハードウエア又はソフトウエアで、受信器の中または外で、クラスタのゴールデンセットにより決定されるソースワードにマッピングされる)に、マッピングすることを実行する。
例えば、図14の受信器200には、(コードワード回復回路を含む)コアプロセッサ214と、このような表により実行する(サブシステム208の)マッピング及びデコード処理回路20が含まれる。回路214はTMDSチャンネルCH0,CH1,及びCH2の各々で受信したデータから10ビットTMDSコードワードを復元するよう設定される。回路20は、クラスタの1つにおいて復元された各ワードを、(表を用いて)クラスタのゴールデンワードにマッピングし、デコードされた8ビット値(図4の左の欄に記載の17個の8ビットワード内の1つ)を生成するために各ゴールデンワードをデコードする。このデコードされた8ビット値は、ソースワードを表現する。本発明の実施の形態において、マッピング及びデコード処理回路は、各デコードされた8ビットのワードに応答して4ビットの生のソースデータワードを生成するが、図14の回路20は、解読回路21に8ビットのデコードされたワードをアサートする。
クラスタは、(したがって、受信器内における前述の表への入力は)、フルセットのコードワード(例えば、図7の2N空間)の1区分になることができ、クラスタの集合は、コードワードの全空間(例えば、図7の全2N空間)をカバーし、このクラスタは互いに共通元を持たない。しかしながら、1個のゴールデンワードの伝送に応答してフルセットにおけるコードワードが受信される確率は非常に小さいか又は無視できるので、全クラスタから、このようなコードワードを除外することができ、(表から落とすことができる)。後者のケースでは、クラスタの集合は、コードワードの全空間(例えば、図7における全ての2N空間)をカバーしない。
便宜上、請求項において、「クラスタの各コードワードは、クラスタの好ましいワードセット(又はゴールデンセット)により決定された入力データ値(又はソースデータ値)にマッピングされる」という表現、又は、この表現の変形として、クラスタの各コードワードを、直接クラスタの好ましいワードセット(又はゴールデンセット)により決定されたソースデータ値(又は入力データ値)にマッピングすることを意味する、あるいは、クラスタの各コードワードを、クラスタのゴールデンセット(又は好ましいワードセット)のゴールデンワード(又は好ましいワード)にマッピングし、場合によっては、それに引き続いて、ゴールデンワード(又は好ましいワード)を、クラスタのゴールデンセット(又は好ましいワードセット)により決定されたソースデータ値(又は入力データ値)に、一般的なマッピングを行うことを意味する、あるいは、クラスタの各コードワードのデコードされたものを、クラスタのゴールデンセット(又は好ましいワードセット)により決定されたソースデータ値(又は入力データ値)にマッピングすることを意味する、あるいは、クラスタの各コードワードのデコードされたものを、単一のデコードされたコードワードにマッピングし、場合によっては、それに引き続いて、デコードされたコードワードを、クラスタのゴールデンセット(又は好ましいワードセット)により決定されたソースデータ値(又は入力データ値)に、一般的なマッピングを行うことを意味する、という表現を使っている。
各クラス他のワードをゴールデンコードにマッピングすることは、例えば、ゴールデンコードを、ゴールデンコードを含む所定のクラスタに属する各受信ワードと置き換えるために、クロックロジックを使って、ある意味では「すぐさま」行われる。例えば、ある実施の形態において、受信器には、受信したコードワードの誤りのあると思われる1つのビットを決定し、そして、受信したコードワードを、誤りである可能性が高いと判断した各ビットを反転することで、ゴールデンコードにマッピングするための規則を適用したロジックが(例えば図14の回路20に)含まれる。あるいは、各クラスタのワードの、ゴールデンコードへのマッピングは、ゴールデンコードを含むクラスタの各ワードに応答して、ゴールデンコードを出力する検索表を用いて行っても良い。
一般に、ゴールデンコード中の最も損傷を受けエラーとなりやすいビット(「損傷を受けやすい」ビットと称される)を決める手順を(ソフトウエア又はロジック回路により)実行することができ、次いで、それにより、ゴールデンコード中の損傷を受けやすいビットを、誤りのあるものに置き換える処理が実行され、これにより「エラーを含んでいそうなコードワード」を決定し、そして、「エラーを含んでいそうなコードワード」(又は、このサブセット)の全てを、実際に受信したコードワードと比較する処理を実行し、「エラーを含んでいそうなコードワード」である受信したコードワードの各々を対応するゴールデンワードにマッピングする。損傷を受けやすいビットを特定する手順は、最もシンボル間干渉を受けやすいビットを特定することが好ましい。「1」のビットのストリーム中の単一の「0」ビットが適するだろう。
一旦損傷を受けやすいビットが見つかると、これらはゴールデンワードからはじかれて、それにより、「エラーを含んでいそうなコードワード」が生成される。単一の損傷を受けやすいビットがはじかれるのか又は2以上の損傷を受けやすいビットがはじかれるのかは、それらの各々がどの程度損傷を受けてエラーになりやすいかによる。他の処理方法として、どのビットパターンが損傷を受けやすいビットを含んでいるかを人が決定し、設計者がゴールデンワードと共に扱おうとしている各ビットパターンと共に一連のマスクを保存する方法がある。
各クラスタ内に含まれるコードワードを選ぶ処理は、ロジック回路(又はソフトウエア)を用いることにより自動化することが可能である。例えば、一組のゴールデンコードのどのビットが、伝送エラー又は/及び復元エラーの結果、変換(又は欠落)されそうなのか、また、ゴールデンワードを含むクラスタに含まれるゴールデンワードの各々における、最もエラーを含んでいそうなものを、ソフトウエア(又はロジック回路)を使って、システム的に、決定することができる。他の例では、既にクラスタに含まれるコードワードの各々にたいして、4個の付加的なコードワードを自動的にクラスタに付加することができる。すなわち、規則の適用は、同じコードワードを2つの異なるクラスタに割り当てないという条件で、左にシフトした2個のコードワード(開放点で1個の「0」、開放点の他で「1」)、及び右にシフトした2個のコードワード(開放点で1個の「0」、開放点の他で「1」)である。
クラスタは厳密に互いに共通元を持たないこととしているが、2以上のクラスタが、条件によっては、同一のコードワード(便宜上「多値」コードワードと呼ばれる)を含むことがあり、多値コードワードは、所定の条件に合致することだけを条件として、クラスタのゴールデンワードにマッピングされるという意味でクラスタ内に「条件付きで含まれる」。異なるクラスタ内の多値コードワードと関連するこの条件は、お互いに異ならなくてはならない。そして、受信器が多値コードワードを、どんな場合でも具体的なクラスタのゴールデンワードとマッピングすることができるように、どんな場合でも条件の1つを満たさなければならない。このような実施の形態において、受信器は、各々の場合に適した条件に決めるために予め存在する条件に対して、所定の規則を適用する。受信したエラーを含むワード「A」が「X」という条件の下で、ワード「B」として伝送されそうであり、違った条件「Y」の下では、ワード「C」として伝送されそうであったと仮定する。最初のクラスタは、ワード「B」と条件付きで(条件「X」の下で)ワード「A」を含んでいる。2番目のクラスタは、ワード「C」と条件付きで(条件「Y」の下で)ワード「A」を含んでいる。このような例では、受信器は、所定の情報に対する手順を、コードワードの伝送時に適合するのは条件XとYのどちらなのかを決定するために適用する。例えば、受信器は、最新の発明に係るコードワードであるストリーム「Z」のビットパターンが直流バランスされているかを決定することができるであろうし、また、条件X(ただし条件Yではない)は、ビットパターンが正方向において直流バランスされている条件に適合するか、さもなければ条件Y(ただし条件Xではない)が適合するかどうかを決定することができるであろう。この例では、既存の情報が特定のビットパターンの直流バランスレベルになっている。あるいは、既存の情報は、エラーのタイプの履歴又は、ピクセルクロック周波数又は、ジッタのタイプ又は、他の情報でも良い。
多量のエラーが発生する可能性があるので、(2つの異なるゴールデンセットにおいて)2つの異なるゴールデンワードを伝送する上で悪影響を与えそうだと予測されるエラーが、同じ受信コードを生成することが起こりえる。このことは、クラスタの内の1つが受信コードを除外するよう予め設定されていない限り(又は、前段で説明したように、受信コードが条件付きで2以上のクラスタに含まれていない限り)、2つのゴールデンセットを含むクラスタ内で重複を引き起こす。クラスタ間での重複を避けるために、起こりそうもない受信コードを、関係のあるクラスタから除外しておくことが好ましい。例えば、最初のクラスタが最初のゴールデンワードを含み、2番目のクラスタが2番目のゴールデンワードを含み、(ゴールデンワードではない)受信コードワードが(P1の確率で)最初のゴールデンワードの伝送から得られ、同じ受信コードが(P2の確率で、ただしP2はP1より小さい)2番目のゴールデンワードの伝送から得られることが期待されるとすると、最初のクラスタには受信コードワードが含まれるであろうが、受信コードワードは2番目のクラスタには含まれない。
例えば、受信したエラーを含むワード「A」がゴールデンワード「B」として伝送されていた可能性が最も高く、ワード「C」(ここで、ワード「B」はワード「C」とは1ビットだけが異なっている)として伝送されていた可能性が少しだけある場合を想定する。好ましい実施の形態において、コードワードA,B,及びCを具備する互いに共通元を持たない2つのクラスタは、以下のように決められる。すなわち、最初のクラスタはゴールデンワードBとワードA(及び、普通はBに類似する他のワード)を具備し、2番目のクラスタは、ゴールデンワードC、及び、最初のクラスタには含まれていないCに類似する1以上の他のワードを具備する。このようにクラスタを決定することで、ワードCの伝送、(伝送及び/又は伝送されたワードCの受信におけるエラーの結果としての)ワードAの受信、及び受信したワードAのゴールデンワードBへのマッピングには、1ビットのエラーしか現れない。受信器はエラー補正回路(ECC)を具備し、受信器は、受信した(クラスタに属する)ワードをゴールデンワードにマッピングを行った結果のコードワードをECCにアサートするよう設定されることが好ましい。適切なケースでは、ECCは、コードワードのブロックにおけるワードBを、ワードCに置き換えるであろう。例えば、ECCがこのようなワードBには不良ビットが含まれると判断した場合、ワードBは、このビットをはじき落としてワードCに変換され、そして、そのビットが、ECCブロック全体において唯一つの不良ビットである場合は、ECCは不良ビットをはじき落とすことでエラーを修正することができ、それによりワードBをワードCに変換することができるであろう。
説明したように、本発明の実施において、ゴールデンワードを受信したものを2ステージで、ソースデータ値へのマッピングを行う。すなわち、第1のステージでは、クラスタにおける各受信コードワードは、クラスタにおけるゴールデンセットのゴールデンワードにマッピングされ、第2のステージでは、第1のステージで決定されたゴールデンワードは、クラスタにおけるゴールデンセットにより決定されたソースワードにマッピングされる。このような実施において、追加したエラー修正コードのブロックが各ゴールデンワードのセットと共に伝送され、受信器は、(エラーを包含する、クラスタのメンバではない受信コードワードを修正するために、これらを可能な範囲でゴールデンワードに置き換える)エラー修正コードを用いてエラーの修正を行う前に第1のステージのマッピングを行うよう設定される。後者の実施において、本発明に係るゴールデンワードとクラスタは、エラー修正の実施により与えられる自由度を活用したマッピングを実施するために選ばれることが好ましい。例えば、ゴールデンワードを、異なったクラスタにおける2つのゴールデンワードのハミング距離が現実的な範囲で(あるいは最大限でない範囲で)最小化されるよう、そしてクラスタが互いに共通元を持たないように選択することができる。クラスタがこのようなゴールデンワードを具備するので、受信器中のエラー修正回路により検出されるエラーのあるビットの数を最小限にすることができ、したがって、エラー修正コードのための手間を最小限にすることができる。
例えば、図14の受信器200は、「マッピング及びデコーディング」回路からのデコードされたワードを受信し解読する解読回路21と、解読され、デコードされたワードを受け取るために回路21の出力に接続されたエラー修正回路22とを具備する。回路20は、本発明に係るクラスタの1つのメンバである復元されたコードワードに応答したゴールデンワードを生成(そして、回路21にアサート)する第1ステージのマッピングを実行するために設定されるが、復元されたワードにエラーがある場合、回路20におけるエラーを含む復元されたワードのゴールデンワードへのマッピングが妨げられる。回路20により決定された解読されたゴールデンワード、エラーを含む復元されたワードと、コードワードに復元されたエラー修正コードは、エラー修正回路222アサートされる。回路22は、受信した解読されたゴールデンワードを通って、本発明に係るクラスタのいずれのメンバでもない、エラーを含んだコードワードを修正するために、エラー修正コードを用いてエラーを修正し、これにより、できうる限り、このようなエラーを含んだコードワードをゴールデンワードに置き換える。受信器200について別の実施形態においては、エラー修正は行われず、回路22は省略される。
図4を参照して、次に本発明の好ましい実施の形態に用いられた17のゴールデンワードとコードワードのクラスタ(各々ゴールデンワードの1つを含んでいる)の具体例について説明する。図4において、(左から)3番目の欄は上述の17個のゴールデンワードを示す。16個のゴールデンワードは16の異なる8ビットソースデータワード(各8ビットソースデータワードは、4ビットの生のソースデータを示す)にエンコードするために使われ、他のゴールデンワード(最初の行の「1100110010」のワード)は保護帯域ワードとしてのみ用いられる。各ゴールデンワードは10ビットのTMDSでエンコードされたワードである。(左から)4番目の欄は各10ビットゴールデンワードにエラーがある場合を示したものであり、5番目の欄は、従来のTMDSデコードアルゴリズムにより、4番目の欄にある対応する10ビットワードをデコードした結果得られた8ビットワードを示し、6番目の欄は、対応する5番目の欄の値を単に16進数で示したものである。(左から)7番目の欄は、4番目の欄の対応するワードが、3番目の欄の対応するゴールデンワードを含むクラスタのメンバかどうかを示すための表示が含まれている。具体的には、7番目の欄の用語「IGNOR」が、4番目の欄の対応するワードは、3番目の欄の対応するゴールデンワードを含むクラスタのメンバではないことを示す。
ここには、(図4において水平線により分割された)17個のクラスタがある。第1番目のクラスタには、ゴールデンワード「1100110010」とコードワード「1110110010」と「1100010010」(全て、「プレデータ」である補助保護帯域ワード「01010101」にマッピングされる)が含まれる。第2番目のクラスタには、(ソースワードAD0をエンコードするために)ゴールデンワード「0011100101」とコードワード「1011100101」、「0001100101」、「0011110101」、及び「0011100001」が含まれる(全てソースワードAD0にマッピングされる)。第3番目のクラスタには、(ソースワードAD1をエンコードするために)ゴールデンワード「0110001101」とコードワード「0111001101」、及び「0110000101」が含まれる(全てソースワードAD0にマッピングされる)。そして、14個の他の表示されたクラスタである(各クラスタには、他の14個のゴールデンワードの内の1つが含まれ、ソースワードAD2−AD15の内の異なったソースワードにマッピングされるワードが含まれる)。
受信器が表示されたクラスタの1つの(図4の4番目の欄にある)コードワードを復元したとき(このように復元されたコードワードに対応する7番目の欄に「IGNOR」表示がないであろう)、受信器は復元したコードワードをクラスタのゴールデンワードにより決定される(図4の1番目の欄にある)ソースワードにマッピングする(これは復元されたコードワードを3番目の欄にあるクラスタのゴールデンワードにマッピングするのと等価である)。
4番目の欄にあり、7番目の欄で「IGNOR」と表示されたこれらのコードワードは、対応するゴールデンワードを含むクラスタのメンバではない。例えば、図4の3番目の行にあるコードワード「1100111010」は、(ゴールデンワード「1100110010」を含んだ)第1番目のクラスタのメンバではない。なぜなら、このコードワードは、ゴールデンワード「1000111010」を含むくラスタのメンバであり、このクラスタは切り離されるべきだからである。受信器は、ゴールデンワード「1100110010」の伝送において(かなり高い確率で起こる)1ビットのエラーにより、あるいはゴールデンワード「1000111010」(図4の45番目の行にある)の伝送において、(これもまたかなり高い確率で起こる)1ビットのエラーにより、コードワード「1100111010」を復元してしまうにもかかわらず、受信器は、受信したワードを、ゴールデンワード「1100110010」により決定されるソースワード(「01010101」)にマッピングするよりむしろ、(受信したワードをゴールデンワード「1000111010」にマッピングすることと等価な)8ビットのソースワード「AD10」にマッピングする。
他の1つの例として、送信器が(図4の1番目の行にある)ゴールデンワード「1100110010」を送信したとき、(非常に高い確率で起こる)エラーなし伝送がなされたならば、受信器はコードワード「1100110010」を復元する。受信器は、従来のTMDSデコーディングアルゴリズムによりこの復元されたワードをデコードし、デコードされた8ビットワード「01010101」を決定して、デコードされた8ビットワードを(プレデータ補助保護帯域ワードである)ソースワード「01010101」にマッピングする。受信器は、ゴールデンワード「0011001101」の伝送において(かなり高い確率で起こる)1ビットのエラーにより、(図4の52番目の行にある)ワード「0011001111」を復元し、受信器は、従来のTMDSデコーディングアルゴリズム(DCバランスビットの結果として8個の最小有効ビットが変換される)によりこの復元されたワードをデコードし、同一の8ビットソースワード(「01010101」)を決定する。受信器は、この受信したワードをソースワード「01010101」(これは受信したワードをゴールデンワード「1000111010」にマッピングすることと等価である)にマッピングする。
ここでしばしば、ゴールデンワードを10ビットの「ゴールデン」コードワード(例えば図4の左から3番目の欄にある)により決定される8ビットワードのソースワード(例えば図4の左の欄にある)の意味で使う。
本発明に係る上述の保護帯域ワードに関しては、各保護帯域ワードが(図4に例示したように)ゴールデンワードとなることができ、この場合、各保護帯域ワードにクラスタがあり、この各クラスタは、2以上の(保護帯域ワードを含んだ)コードワードを含む。あるいは、保護帯域ワードはゴールデンワードではないがゴールデンワードとは十分な信頼性を持って区別できる。
少なくとも1つの保護帯域ワードを用いる本発明の実施の形態において、各保護帯域ワードは、受信器に、さらに信頼度高く適切なトランジッション(保護帯域ワードによって示される)をエンコードされたコントロール(又はsync)ワードのトランジッションとエンコードされたデータのトランジッションとの間で、特定すべきである。このようにして、本発明に係るゴールデンセットの選択における付加機能は、ゴールデンセットが適切な保護帯域ワードを含むことであり(すなわち保護帯域ワードがゴールデンワードとなる)、あるいは、ゴールデンセットの各ゴールデンワードが、使われる各保護帯域ワードと高信頼度で区別できることである。例えば、図4に示された17個のゴールデンワードのセットには、補助データのバースト開始を特定するために使われる特別な(ビットパターン「1100110010」を持ち、図4の3番目の欄の1行目に示された)補助保護帯域ワードが含まれる。図5に示すように、この「プレデータ」補助保護帯域ワードの2回の繰り返しは、CH2とCH1の各チャンネルにおいてエンコードされた補助データの各バースト開始時(すなわち、各補助プレアンブルの直後)に伝送されることが好ましい。CH2とCH1の各チャンネルにおいて伝送された各特定のエンコードされたコントロールワードの最後のビットは上述のとおり「0」なので、プレデータ補助保護帯域ワードとして選択されたコードワードの最初の伝送されたビットは、受信器が伝送された補助データのバーストの開始を特定することができる程度に信頼性を上げるために、「1」としている。
図4に示した17個のゴールデンワードには、補助データのバーストの終了を特定するために用いられるとともに、ビデオ保護帯域ワードとしても用いられるワード(入力ワードAD11に対応するゴールデンワード「0011001101」)が含まれる。図5に示すように、この「ポストデータ」補助保護帯域ワードの2回の繰り返しは、CH2とCH1の各チャンネルにおいてエンコードされた補助データの各バースト終了時(すなわち、各ビデオプレアンブルの直前)に伝送されることが好ましい。プレデータ補助保護帯域ワードは、各補助データバーストの開始時に繰り返す(2回伝送する)必要はなく、ポストデータ補助保護帯域ワードは、各補助データのバースト終了時に繰り返す必要はない。(図5に示した)好ましい実施の形態において、各々は、受信器がより簡単に、伝送中にチャンネル間で起こることがあるデータシフトエラー(例えばチャンネルCH1で受信したデータの長さとチャンネルCH2で受信したデータの長さとを比較したときのエラー)を認識し修正しデータを復元することができるよう、繰り返される。本発明の他の実施の形態において、補助保護帯域ワードは、各補助データバーストの開始時に3回以上繰り返され(又は1度だけ伝送され)、及び/又は、各補助データのバースト終了時に3回以上繰り返され(又は1度だけ伝送され)る。
図4を参照すると、(入力ワードAD11に対応する)ゴールデンワード「0011001101」がビデオ保護帯域ワードとしてビデオデータバーストの開始を特定するために用いられ、入力ワードAD11により示された補助データの4ビット量をエンコードするために使われるのに加えて、ポストデータ補助保護帯域ワードとして用いられる。図6に示すように、このビデオ保護帯域ワードの2回の繰り返しは、エンコードされたビデオデータの各バーストの開始時(すなわち、各ビデオプレアンブルの直後)に伝送されることが好ましい。CH2とCH1の各チャンネルにおいて伝送されたエンコードされたコントロール又はsyncワードの最後の2ビットは上述のようにおそらく「11」となるので、ビデオ保護帯域ワードの最初に伝送される2ビットは、受信器が伝送されたビデオデータのバースト開始時を特定する上での信頼性を上げるため、「00」に選定される。
ビデオ保護帯域ワードは、各ビデオデータバーストの開始時に繰り返す(2回伝送する)必要はない。図6に示した実施の形態において、これは、バースト中にピクセルの偶数番号を示すコードワードの(チャンネルCH0,CH1,及びCH2の各々における)伝送を確実にするため繰り返される。他の実施の形態において、ビデオ保護帯域ワードビデオデータバーストの開始時に3回以上繰り返される(又は1回だけ伝送される)。
本発明の実施の形態において、2(又は3以上)のビデオデータのストリームが(1,2,又は3以上のチャンネルを用いて)伝送される。例えば、2以上のビデオデータのストリームは、図2におけるCH0,CH1,及びCH2の内の1以上のチャンネルの各々を用いて、多重通信により伝送される。もしビデオデータの異なったバーストのストリームが1つのチャンネルを用いて順番に伝送されたとすると、異なったビデオ保護帯域ワードが各バーストの開始時(及び/又は終了時)に伝送され、異なったビデオ保護帯域ワードにより各異なったストリームが特定される。同様に2(又は3以上の)補助データが1,2,又は3以上のチャンネルを用いてを用いて伝送される。もし異なった補助データのストリームが1つのチャンネルを用いて順番に伝送されたとすると、異なった補助データが各バーストの開始時(及び/又は終了時)に伝送され、異なった保護帯域ワードにより各異なったストリームが特定される。
エンコードされたデータが複数の独立したチャンネルを用いて直列に伝送されると、各チャンネルにおける保護帯域ワードを用いて(本発明により)各チャンネルにおけるDE信号のずれが各々独立に修正される。双方向の1つのピクセルクロックサイクル(又は2以上のピクセルクロックサイクル)によりTMDSリンク(又はTMDSライクリンク又は他のシリアルリンク)の複数のチャンネルを用いて伝送されたビットにより表示されたDEトランジッション間に(リンク上のISI又は他のノイズ源により)ずれが生じるので、各チャンネルを用いて伝送される本発明に係るコードワードを用いてエンコードされたデータの各バーストの開始時又は/及び終了時に(例えば、各チャンネルの各補助プレアンブルの最後に、及び/又は、各チャンネルのビデオプレアンブルの最初に、及び/又は、各チャンネルのビデオプレアンブルの最後に)、一組の特定の保護帯域ワード(本発明に係るコードワードの組)を本発明に従い伝送することが好ましい。これはチャンネルとチャンネルとの平衡性とデータの完全性を良くする。適切な数の保護帯域ワードを有効にする必要性は本発明に係るコードワードの選択における1つの要因となる。
保護帯域ワードの(予定のビットパターンとこのようなパターンの後に続く本発明によりエンコードされたデータのバーストとの間、又は、本発明によりエンコードされたデータのバーストとこのようなデータの後に続く予定のビットパターンとの間のどちらの場合においても)伝送を繰り返す目的は、伝送の2つのタイプの識別誤り、すなわち伝送の早すぎる識別と遅すぎる識別、を防止するためである。一連のN個の保護帯域ワードを繰り返して伝送することで、本発明は、どちらの方向に対してもこのようなN回までのピクセルがずれる誤りを防止することができる。例えば、N個のポストデータ保護帯域ワードがエンコードされたデータバーストに付加されたなら、本発明により、N個のピクセルが左にずれたとき、最後のデータ値は失われない(ポストデータ保護帯域ワードのみが失われる)。一般に、一連のN個のポストデータ保護帯域ワードは、一連のN個のプレデータ保護帯域ワードと共に用いることが必要である。(図5に示した)好ましい実施の形態において、CH2及びCH1の各補助データバーストの開始時と終了時に伝送された補助保護帯域ワードは、CH0の各補助データバーストの開始時と終了時には伝送されない。むしろ特殊なエンコード処理が、CH0の各補助データバーストにおいて伝送された本発明に係る最初の2個と最後の2個の10ビットコードワードを決定するために用いられる。具体的には、各補助データバーストの最初の2個又は最後の2個の各ピクセルクロックサイクルの期間に、2ビットの入力補助データがエンコードされ伝送される(ここで、上述のとおり、各補助データバーストの他の全てのピクセルクロックサイクルの期間に、4ビットの入力補助データがエンコードされ伝送される)。最初のクロックサイクルの期間に伝送される2ビットの入力補助データは、図4における、AD0,AD1,AD2,及びAD3の内の1つとしてエンコードされ、2番目のクロックサイクルの期間に伝送される2ビットの入力補助データは、AD0,AD1,AD2,及びAD3の内の他の1つとしてエンコードされる。このように、バースト期間中に伝送された最初の2個の10ビットワードは、これらの2個のワードAD0,AD1,AD2,及びAD3(そして、最初の4ビットの入力補助データ)を示す本発明に係るコードワードである。同様に、最後のクロックサイクルの1つ前のクロックサイクルの期間に伝送される2ビットの入力補助データは、図4における、AD0,AD1,AD2,及びAD3の内の1つとしてエンコードされ、最後のクロックサイクルの期間に伝送される2ビットの入力補助データは、AD0,AD1,AD2,及びAD3の内の他の1つとしてエンコードされる。バースト期間中に伝送された最後の2個の10ビットワードは、これらの2個のワードAD0,AD1,AD2,及びAD3(そして、最後の4ビットの入力補助データ)を示す本発明に係るコードワードである。4個の10ビットゴールデンワードを用いて2ビットの入力補助データをエンコードする処理はここではしばしば「TERC2」エンコード処理と称される。一方、16個の10ビットゴールデンワードを用いて4ビットの入力補助データをエンコードする処理はここではしばしば「TERC4」エンコード処理と称される。
さらに一般的には、異なるコントロール又は同期ビット(例えば、DVI仕様におけるCTL0:CTL1あるいはCTL2:CTL3に示された10ビットのコントロールキャラクタ)により、直列データ伝送チャンネルにISIが存在するとき、コントロールキャラクタの直後に伝送されたビデオ(又は補助)データビットに異なった誤りが発生する可能性がある。これは、ビデオ(又は補助)データを伝送する場合に用いる本発明に係るコードワードの選定における一要素として認識し用いることが好ましい。あるいは、データの直前に送信した(本発明に従いエンコードされた)コントロールコードがISIの影響を減少させるために制御される。
本発明の他の実施の形態において、エンコードされた補助データのバーストとエンコードされたビデオデータのバーストがシリアルリンク(これはTMDSリンクである必要はない)を用いて伝送され、補助データが、本発明に係るコードワードを用いて、本発明に従いエンコードされる。本発明に係るコードワードには、エンコードされた各ビデオデータのバースト開始時に伝送される「ビデオ」保護帯域ワードと、エンコードされた各補助データのバースト開始時に伝送される「補助」保護帯域ワードが含まれる。ある実施例によれば、ビデオ保護帯域ワードは第2の目的、すなわち補助データをエンコードするためにも用いられる。かかる実施の形態における好ましい実施例では、エンコードされたビデオデータは、ビデオデータイネーブル信号が高となる(例えば、コントロール信号「DE」がDE=1となる)アクティブビデオ期間内に伝送され、エンコードされたコントロール信号(又は同期信号)とエンコードされた補助データがアクティブビデオ期間間のブランキング期間(このとき、ビデオデータイネーブル信号が低となる)に伝送される。ビデオ保護帯域ワードはアクティブビデオ期間の開始時に伝送される。各ブランキング期間は、規定の形式のコントロール(又はsync)信号が伝送される(ビデオデータイネーブル信号の下降エッジと補助データのバーストとの間にある)「補助」プレアンブル期間と、補助プレアンブル期間の後に来る少なくとも1つの補助データ期間(各補助データ期間は、補助保護帯域ワードとそれに続くエンコードされた補助データのバーストを具備する)と、最後のデータ期間と次のアクティブビデオ期間との間にある「ビデオ」プレアンブル期間を具備する。一般に、本発明に基づき保護帯域ワードを用いる目的は、受信器がエンコードされたデータバースト開始時に伝送される最初の保護帯域ワードとこのような保護帯域ワードの前に伝送される最後のビットとの間にあるトランジッションと、エンコードされたデータバースト終了時に伝送される最後の保護帯域ワードとこのような保護帯域ワードの後に伝送される最初のビットとの間にあるトランジッションを認識することを保証するためにある。
本発明の実施の形態において、シリアルリンクを用いてバースト期間に伝送するためのプレリミナリデータ(これはビデオデータであっても良いが必ずしもその必要はない)をエンコードするために、従来のエンコード処理アルゴリズムが用いられ、補助データ(例えば、オーディオデータ又はプレリミナリデータより低速度で伝送することができる他のタイプのデータ)は、シリアルリンクを用いてバースト期間(エンコードされたプレリミナリデータのバースト間隔)に伝送するために本発明に基づいてエンコードされる。プレリミナリデータをエンコードするためのコードワードの全セットは、プレリミナリデータ(しばしばソースデータワードと称される)の2N個の異なるワード毎に少なくとも1つのコードワードを持つ。このようなコードワードの全セットの本発明に係るサブセットは、補助データ(これもしばしばソースデータワードと称される)の2M個(ここでM<N)を越えない異なるワード毎に少なくとも1つのコードワードを持つ。補助データはバッファされ、Mビットフォーマットで(すなわち、各々Mビットのワードに)収納される。Mビットのソースデータがとりうる各値は、本発明に係るコードワードにより提供される2M個のワード空間からあらかじめ選ばれたコードを持つ。このMビットワードの補助データは、2M個のワード空間中の本発明に係るコードワードにマッピングされ、リンクを用いて伝送される。
本発明に従いエンコードされたデータ(例えば、ビデオデータとは区別される補助データ)を伝送するために用いる本発明に係るゴールデンワードの選択において、(複数ビットのエンコードされたワードのうち)あるビットは他のこのようなビットよりエラーの危険性が大きくなることを考慮することが重要である。例えば、TMDSでエンコードされたゴールデンワードを用いて補助データを伝送するとき、DCバランスビットとトランジッションコントロールビット(例えばビットQ[9]とQ[8])は他のビットと比べてエラーの危険性が大きくなる。DCバランスビットとトランジッションコントロールビットの処理において、ビットエラーが起こると、どんなビットエラーであっても他の複数ビットのエンコードされたワードに影響を及ぼす可能性がある。それゆえに、クリティカルビットの内の1つのビットエラーはバーストエラーに変換される。TMDSでエンコードされたワードの全セットから、本発明に係るコードワードを選択する場合に、この効果を考慮することが望ましい。
図2と図8を参照して、本発明に係る好ましい実施の形態の場合において、TMDSリンクを用いてデータを伝送するときのフォーマットとタイミングについて、次に説明する。この実施の形態において、送信器(例えば図2における送信器1’)は、コントロール信号(DE)が高となるアクティブビデオ期間内に、TMDSリンクのビデオチャンネル(CH0,CH1,及びCH2)を用いて、8ビットのビデオデータワード(各々TMDSエンコード処理アルゴリズムを用いて、10ビット、トランジッションを最小化したコードワードとして、エンコードされる)を伝送する。アクティブビデオ期間同士の間のデータアイランドの期間(この期間中DEはまだ高である)、送信器は、4ビットワードのパケット(一般には4ビットのオーディオデータワードが含まれる)をビデオチャンネルを用いて伝送する。この各々は、TMDSエンコード処理アルゴリズムに従い、10ビット、トランジッションを最小化したコードワードとして、エンコードされ、そして、これは10ビットゴールデンワードであることが好ましい。アクティブビデオ期間とデータアイランドの間の「コントロールデータ」期間中(この期間中DEは低である)に、送信器は、CH1及びCH2を用いてコントロールワード(各々トランジッションを最大化した10ビットのコードワードにエンコードされ、このコードワードは、CTL0とCTL1又はCTL2とCTL3の2つのコントロールビットを示す)を、CH0を用いてsyncワード(各々トランジッションを最大化した10ビットのコードワードにエンコードされ、このコードワードは、HSYNCとVSYNC2つのコントロールビットを示す)を伝送する。各アクティブビデオ期間において、HSYNC,VSYNC,CTL0,CTL1,CTL2,及びCTL3は、受信器(例えば図2における受信器2’)によって、アクティブビデオ期間開始時の値を保持しているものとみなされる。
各データアイランドは、少なくとも1つのパケットを含み、各パケットは32ピクセルのクロックサイクルを用いて伝送される。図8に示したように、各パケットの部分は32ピクセルのクロック期間中にCH0,CH1,及びCH2の各チャンネルを用いて伝送される。各ピクセルクロックサイクルに、送信器は、CH0,CH1,及びCH2の各チャンネルを用いて、直列化した1個の10ビットTMDSコードワードを伝送することは理解できるであろう。このように、各パケットには、96(=3*32)個のTMDSコードワードが含まれ、各コードワードは、4ビットのソースワードを示す。
各データアイランドの期間、トランジッションを最小化したHSYNCビットとVSYNCビットを示すコードワードはチャンネルCH0を用いて伝送される(例えば、HSYNCビットとVSYNCビットと他の2つのビットを示す1個のコードワードがピクセルクロックサイクル毎に伝送される)。データアイランド期間中に送られた各パケットには32ビットのパケットヘッダが含まれ、データアイランド期間中に送られるHSYNCとVSYNCを示す各コードワードは、パケットヘッダの1個のビットをも示す。
データアイランドが伝送されないモードにおいては、各コントロールデータ期間は、連続した2つのアクティブビデオ期間同士の間にある水平(又は垂直)ブランキング期間である。他のモードにおいては、送信器は、各水平ブランキング期間と垂直ブランキング期間(又はブランキング期間の各サブセット)に1以上のデータアイランドを挿入する。
各チャンネルCH1及びCH2において、「データアイランド」のプレアンブルワードは各データアイランドの直前に(コントロールデータ期間に)繰り返し伝送され、ビデオプレアンブルワードは各アクティブビデオアイランドの直前に(コントロールデータ期間に)繰り返し伝送される。このような各チャンネルにおいて、8個の同一データアイランドプレアンブルにおける1個のバーストは、各データアイランドの直前に繰り返し伝送され、8個の同一ビデオプレアンブルにおける1個のバーストは、各アクティブビデオアイランドの直前に繰り返し伝送されることが好ましい。チャンネルCH1を用いて伝送された各データアイランドプレアンブルワードは、CTL0=1とCTL1=0を示す10ビットのTMDSコードワードであり、チャンネルCH2を用いて伝送された各データアイランドプレアンブルワードは、CTL2=1とCTL3=0を示す10ビットのTMDSコードワードである。チャンネルCH1を用いて伝送された各ビデオプレアンブルワードは、CTL0=1とCTL1=0を示す10ビットのTMDSコードワードであり、チャンネルCH2を用いて伝送された各ビデオプレアンブルワードは、CTL2=0とCTL3=0を示す10ビットのTMDSコードワードである。
図2と図8を参照して説明した好ましい実施の形態において、各チャンネルCH1及びCH2の各データアイランドは、2個の同一の保護帯域ワード(上述のデータアイランド保護帯域ワード「データアイランドGB」=Ob1100110010)のバーストにより始まりそして終わり、各アクティブビデオ期間は2個の同一の保護帯域ワード(上述のワード、チャンネルCH0,CH2において「ビデオGB(CH0,CH2)」=Ob0011001101、チャンネルCH1において「ビデオGB(CH1)」=Ob1100110010)のバーストにより始まる。前段落で説明したこのような保護帯域ワードとプレアンブルワードは、受信器が高信頼度で各データアイランドの各立ち上がり及び各立ち下がりとアクティブビデオ期間中の各立ちあがりを特定することができるように選択される。チャンネルCH0の各データアイランドは、2個の同一の保護帯域ワード(受信器が高信頼度でデータアイランドの各立ち上がり及び各立ち下がりを特定することができるような、HSYNCとVSYNCの値によって、OxC、OxD、OxE及びOxFのいずれかの値を示す、トランジッションを最小限にしたTMDS10ビットのコードワード)のバーストにより始まりそして終わる。
好ましい実施の形態において、以下のエンコード処理(しばしば「TERC4コーディング」と称される)が、図4を用いて説明したものよりむしろ、4ビットのオーディオデータを、データアイランドの期間に直列化され伝送される10ビットのトランジッションを最小限にしたTMDSコードワードにエンコードすることにはよく用いられる(リストに挙げたTMDSコードワードは「ゴールデンワード」である)。
ソースワード TMDSコードワード
(ビット1、ビット2、ビット0):
0000: q_out[0:9]=Ob0011100101;
0001: q_out[0:9]=Ob1100011001;
0010: q_out[0:9]=Ob0010011101;
0011: q_out[0:9]=Ob0100011101;
0100: q_out[0:9]=Ob1000111010;
0101: q_out[0:9]=Ob0111100010;
0110: q_out[0:9]=Ob0111000110;
0111: q_out[0:9]=Ob0011110010;
1000: q_out[0:9]=Ob0011001101;
1001: q_out[0:9]=Ob1001110010;
1010: q_out[0:9]=Ob0011100110;
1011: q_out[0:9]=Ob0110001101;
1100: q_out[0:9]=Ob0111000101;
1101: q_out[0:9]=Ob1000111001;
1110: q_out[0:9]=Ob1100011010;
1111: q_out[0:9]=Ob1100001101;
ビデオGB: q_out[0:9]=Ob1100110010;
(CH1)
ビデオGB: q_out[0:9]=Ob0011001101;
(CH0,CH2)
データアイランドGB: q_out[0:9]=Ob1100110010;
(CH0,CH2)
(ビット1、ビット2、ビット0):
0000: q_out[0:9]=Ob0011100101;
0001: q_out[0:9]=Ob1100011001;
0010: q_out[0:9]=Ob0010011101;
0011: q_out[0:9]=Ob0100011101;
0100: q_out[0:9]=Ob1000111010;
0101: q_out[0:9]=Ob0111100010;
0110: q_out[0:9]=Ob0111000110;
0111: q_out[0:9]=Ob0011110010;
1000: q_out[0:9]=Ob0011001101;
1001: q_out[0:9]=Ob1001110010;
1010: q_out[0:9]=Ob0011100110;
1011: q_out[0:9]=Ob0110001101;
1100: q_out[0:9]=Ob0111000101;
1101: q_out[0:9]=Ob1000111001;
1110: q_out[0:9]=Ob1100011010;
1111: q_out[0:9]=Ob1100001101;
ビデオGB: q_out[0:9]=Ob1100110010;
(CH1)
ビデオGB: q_out[0:9]=Ob0011001101;
(CH0,CH2)
データアイランドGB: q_out[0:9]=Ob1100110010;
(CH0,CH2)
TMDSコードワードに関する上記リストにおいて、各コードワードの最下位ビット(q_out[0])は最初に伝送されるビットであり、最上位ビット(q_out[9])は最後に伝送されるビットであり、「ビデオGB(CH1)」はチャンネルCH1で伝送されるビデオ保護帯域ワードであり、「ビデオGB(CH0,CH2)」はチャンネルCH0とCH2で伝送されるビデオ保護帯域ワードであり、「データアイランドGB(CH0,CH2)」はチャンネルCH0とCH2で伝送されるデータアイランド保護帯域ワードである。上記リストに挙げたゴールデンワードがデータアイランド期間中に、TMDSリンクのCH0,CH1,及びCH2を用いて伝送される実施の形態において、アクティブビデオ期間中に、CH0,CH1,及びCH2を用いて伝送されるビデオワードは、トランジッションを最小限にしたTMDSコードワードの全セットを用いてエンコードされる。
前述のコードワードのリストを用いるとき、ビデオプレアンブルは、コントロールビット値がCTL0、CTL1=1,0であることを表示するトランジッションを最大限にした(CH1で伝送される)10ビットTMDSコードワードと、コントロールビット値がCTL2、CTL3=0,0であることを表示するトランジッションを最大限にした(CH2で伝送される)10ビットTMDSコードワードとの繰り返し(8回の繰り返しが好ましい)により決定され、そして、データアイランドプレアンブルは、コントロールビット値がCTL0、CTL1=1,0であることを表示するトランジッションを最大限にした(CH1で伝送される)10ビットTMDSコードワードと、コントロールビット値がCTL2、CTL3=1,0であることを表示するトランジッションを最大限にした(CH2で伝送される)10ビットTMDSコードワードとの繰り返し(8回の繰り返しが好ましい)により決定される。
前記2つの段落で検討したコードワードとプレアンブルワードのリストを用いるときには、チャンネルCH0の各データアイランドにおいて伝送された最初の2個と最後の2個の本発明に係る10ビットコードワードを決定するために特別なコーディング処理を用いることが好ましい。具体的には、各データアイランドの最初と最後の2ピクセルクロックサイクルの各々の期間において、チャンネルCH0を用いて2ビットの入力補助データがエンコードされ伝送されることが好ましい(ここでは、上述のように各データアイランドにおける全ての他のピクセルクロックサイクルの期間にチャンネルCH0を用いて4ビットの補助データがエンコードされ伝送される)。各データアイランドの最初と、2番目と、最後の1つ手前と、最後のピクセルクロックサイクル期間中にCH0を用いて伝送される2ビット入力補助データは、上記リストのコードワードOb0111000101,Ob1000111001,Ob1100011010,及びOb1100001101の内の1つとしてエンコードされることが好ましい。
図2と図8を用いて説明した本発明に係るシステムの好ましい実施の形態において、各データアイランドには少なくとも1個のパケットが含まれる(先頭の保護帯域として2ピクセルクロックサイクルと最後の保護帯域として2ピクセルサイクルとを含んで、最低継続期間を36ピクセルクロックサイクルに制限する)。各データアイランドには、整数のパケットを含まなければならず、(データアイランド内におけるデータの信頼性を確保するため)各データアイランドにおける最大パケット数は14であることが好ましい。エラーの検出と修正は(よく知られたエラーの検出と修正技術である、開発者Bose, Chauduri, Hocquenghemにちなんで名づけられた、BCHによるエラーの検出と修正が好ましい)、各データアイランド期間における各パケットに適用される。
各パケットについて好ましいフォーマットを図9を参照して説明する。図9の下にあるパケット「P」のように、各パケットは32ビット(4バイト)のパケットヘッダと4個のサブパケットを持つ。図9において、サブパケットは、サブパケット0(又は「SP0」),サブパケット1,サブパケット2,及びサブパケット3と名づけられる。各サブパケットには、56のデータビット(すなわち7バイト、各バイトは1個の10ビットTMDSコードワードに対応する)とそれに続く8BCHパリティビットが含まれる。9個のデータビットのパケットはピクセルクロックサイクル毎に伝送される。これらについて、1個のデータビット(ヘッダビット)は、ピクセルクロックサイクル毎に(10ビットTMDSコードワードの形式で、これはまたHSYNCとVSYNCをエンコードする)チャンネルCH0で伝送され、4個のデータビットは、(10ビットTMDSコードワードの形式で)ピクセルクロックサイクル毎にチャンネルCH1とCH2の各々で伝送される。ピクセルクロックサイクル毎に、受信器のTMDSデコーディング回路がチャンネルCH0からの4ビットのデータ(すなわち1個のTMDSコードワード)を修復し、チャンネルCH1からの4ビットの追加データを修復し、チャンネルCH2からの4ビットの追加データを修復する。
図9において、サブパケット0のデータとパリティビットは「BCHブロック0」として特定され、サブパケット1のデータとパリティビットは「BCHブロック1」として特定され、サブパケット2のデータとパリティビットは「BCHブロック2」として特定され、そして、サブパケット3のデータとパリティビットは「BCHブロック3」として特定される。パケットヘッダには、24のデータビット(3バイトのデータ)とそれに続く8BCHのパリティビットが含まれる(これらのデータとパリティビットは図9において「BCHブロック4」として特定される)。
各パケットヘッダに対するBCHパリティビットは、図9に示した(127回の繰り返しを持つ)要素による多項式G(x)=1+x6+x7+x8を用いて生成されるBCH(32,24)ビットである。サブパケットに対するBCHパリティビットは、図9に示した(127回の繰り返しを持つ)要素による多項式G(x)=1+x6+x7+x8を用いて生成されるBCH(64,56)ビットであることが好ましい。好ましい実施の形態における本発明の送信器には、各サブパケットの56データビットに対するBCHパリティビットを発生する図9Bの回路と、各パケットヘッダの24データビットに対するBCHパリティビットを発生する図9Aの回路とが含まれる。
図9Aの回路と図9Bの回路とを用いてBCHパリティビットが付加されたパケットを受信する、好ましい実施の形態における本発明の受信器には、(64ビットの各サブパケットからBCHシンドロームを生成するための)図9Dの回路と、(32ビットの各パケットヘッダのからBCHシンドロームを生成するための)図9Cの回路とが含まれる。
より一般的には、図9Bの回路及図9Dの回路は、BCH多項式のような巡回多項式からの修復ビットを発生させるために必要なサイクル数を減少させるため、及び、巡回多項式によって生成されたコードのシンドロームを計算するのに必要なサイクル数を減少させるために、入力データの並列ストリームからエラー修正コードビット(例えばパリティビット又はシンドロームビット)を生成するのに、様々な状況において有益な本発明の一側面を具体化するものである。本発明のこの側面は、エラー修正コード(例えばBCHパリティビット、及びBCHパリティビットとデータから生成されるシンドローム)を一部並列化されたデータストリームに対して生成しなければならない場合、及び現在の入力データブロックに対するエラー修正コードの生成中に、入力データの次のブロックに対する小さな数(例えば2)の入力ビットが有効な場合に、様々なシステムに対して有用である。このようなシステムにおいて、入力データの各ブロックの偶数ビットは、本発明に従い、減少された数のクロックサイクルの各ブロックに対するエラー修正コードを生成するために、各入力データブロックの奇数ビットと共に同時に(並列に)処理される。本発明を用いなければ、本発明に従い、エラー修正コードが生成される時間と同じ時間で同じエラー修正コードを生成させるためには、システムクロック(エラー修正コードを生成するため以外の目的でシステムによって用いられるクロック)の周波数で(例えば2x,3x,または4xに)乗算した周波数のクロックを採用する必要があっただろう。システムクロックを倍数にして用いることは、クロックロジックを速く走らせることを必要とし、システムクロックの周波数を倍増したものを必要とするため、不利益となる(このようなクロックの周波数を倍増させることは、一般にPLLを有するクロック乗算回路を必要とするので、一般に高価となる)。
図9Aと図9Bの各回路により生成されたエラー修正コードは、入力部で受け取った入力データを出力部まで通過させるのかどうか、あるいは、出力部でエラー修正コードをアサートするのかを制御する制御ビットC1を採用する。図9Aを参照すると、制御ビットC1は、最初の「z」クロックサイクル期間、高であり、入力データ(INPUT)のzビットブロックをシフトレジスタに送り、ブロックがマルチプレクサ300も通って出力する間に、エラー修正コードを生成させる。図9Aの回路が本発明に係る送信器の好ましい実施の形態(例えば、図13の送信器100)において具体化されたとき、24ビットのパケットヘッダデータは、C1が高のとき入力され(出力部へ送られる)。そしてC1が低になると、入力データに代わってレジスタQ7の出力がマルチプレクサ300を通過する。C1が低の間、8クロックサイクルで、一連の8ビットBCHパリティビットがレジスタQ7を移動する。C1が低の間、入力データのソースは、静止している。
図9Bの回路は、図9Aの回路と同様な動作を行うが、図9Bの回路には、(図9Aに示すように1入力を有するシフトレジスタよりむしろ)2つの入力点と2つの出力点を具備するシフトレジスタが含まれ、各入力点は異なったサブセットの入力ビットを受信し、8個のBCHパリティビットを生成するために、(N/2)+1クロックサイクルを必要とし(図9Aの回路では、このために、N+1クロックサイクルを必要とする)、8個のBCHパリティビットを移動させるために追加の4クロックサイクルを必要とする(4個のBCHパリティビットをレジスタQ7から移動させる間に、4個のBCHパリティビットをレジスタQ6から移動させる)。入力データの現在のブロックにおけるアサーションの終わりに(図9Bの各レジスタQ0−Q7に)レジスタ値を与え、入力データの次のブロックにおける最初の偶数ビット(「IN[0]」)と最初の奇数ビット(「IN[1]」)を与えると、入力データの現在のブロックに対する(2つのシフトレジスタからマルチプレクサ301及び302にアサートされた)BCHパリティビットが常に決定される。図9Bの回路が本発明に係る送信器の好ましい実施の形態(例えば、図13の送信器100の好ましい実施の形態)において具体化されたとき、サブパケットにおける56個のデータビットが、C1が高のとき28クロックサイクル期間に、入力で受信される(そして出力に送られる)と共に、異なった組のサブパケットIN[0]とIN[1]がクロックサイクル毎に受信される。一般に図9Bの変数を、「m」入力節点を持つシフトレジスタを採用し、現在のブロックに対するエラー修正コードを生成する間に、入力データの次のブロックにおける「m」ビットを(各シフトレジスタの入力に「m」ビットの1つを)受信するように設定すると、「k/m+p」クロックサイクルで、現在の入力データのブロックに対するエラー修正コード(例えばBCHパリティビット)を生成することができ、「n/m」サイクルで(例えばC1が低のとき)エラー修正コードを移動させることができる。ここで「n」,「p」,及び「k」は、各入力ブロックの大きさ及び各入力ブロックに対して生成されるエラー修正コードのビット数により決定される変数である。
図9Bにおける典型的な動作において、入力データの次のブロックにおける最初の偶数ビットIN[0]と最初の奇数ビットIN[1]は、C1が高から低へのトランジッションを受けるときに図9Bの回路における入力へアサートされ、これらの値IN[0]とIN[1]は、C1が低である間に入力にアサートされる。C1が高から低へのトランジッションを受けるときに、レジスタQ0,Q1,Q2,Q3,Q4,Q5,Q6,又はQ7の各々のビットを示すために、「Q0,Q1,Q2,Q3,Q4,Q5,Q6,又はQ7」という表記を用いる。C1が低のとき、(この処理の間、アンドゲート308が低となっているので)ビットQ0,Q2,Q4,及びQ6がシフトレジスタの出力端からマルチプレクサ301に移動し、(この処理の間、アンドゲート309が低となっているので)ビットQ1,Q3,Q5,及びQ7がシフトレジスタの出力端からマルチプレクサ302に移動する。これらのビットの値は、
Q0=((Q7^IN[0])^(Q6^IN[1]))&C1
Q1=((Q7^IN[0])&C1
Q2=Q0
Q3=Q1
Q4=Q2
Q5=Q3
Q6=Q4^(((Q7^IN[0])^(Q6^IN[1]))&C1)
Q7=Q5^((Q6^IN[1])&C1)
ここで「^」は排他的論理和演算を意味し、「&」は論理積演算を意味する。ビットQ0,Q1,Q2,Q3,Q4,Q5,Q6,及びQ7はC1が高のとき生成される。
Q0=((Q7^IN[0])^(Q6^IN[1]))&C1
Q1=((Q7^IN[0])&C1
Q2=Q0
Q3=Q1
Q4=Q2
Q5=Q3
Q6=Q4^(((Q7^IN[0])^(Q6^IN[1]))&C1)
Q7=Q5^((Q6^IN[1])&C1)
ここで「^」は排他的論理和演算を意味し、「&」は論理積演算を意味する。ビットQ0,Q1,Q2,Q3,Q4,Q5,Q6,及びQ7はC1が高のとき生成される。
C1が低のとき、図9Bの回路は、Q0,Q2,Q4,及びQ6をマルチプレクサ301を通って移動させ、Q1,Q3,Q5,及びQ7をマルチプレクサ302を通って移動させるシフトレジスタとしての機能を果たす。図9Bの回路からの出力Q0,Q1,Q2,Q3,Q4,Q5,Q6,及びQ7と同じ値が図9Aの回路からの出力となるであろうが(このとき、ビットC1の高から低へのトランジッションを受ける前に同じ入力値が図9Aの回路と図9Bの回路にアサートされ、次のブロックに入力値として最初の奇数ビットIN[1]のアサーションに続くクロック端で、コントロールビットC1が高から低へのトランジッションを受けるものとみなす)、図9Aの回路では、マルチプレクサ300にこれらを移動させるのに8クロックサイクルを必要とするのに対し、図9Bの回路では、マルチプレクサ301と302にこれらを移動させるのに4クロックサイクルを必要とするだけである。
シンドロームは、エラー修正コードと共に伝送された数列が破損しているかどうかを示すものである。破損がなければシンドロームはゼロとなる。もしいずれかのビットが破損していたら、シンドロームはゼロでない値をとる。破損したビットの数とエンコードされた数列のハミングディスタンスに応じて、このシンドロームは破損したビットの修正に用いられる。
図9C及び9Dにおけるシンドローム生成回路は、回路が入力部で受信した入力データを出力部に送るかどうか、あるいは、回路が出力部でシンドロームビットをアサートするかどうかを制御する制御ビットC2を採用する。図9Cを参照すると、制御ビットC1は、最初の「z」クロックサイクル期間、高であり、入力データ(INPUT)のzビットブロックをシフトレジスタに送り、マルチプレクサ303を通って出力させる。図9Cの回路が本発明に係る受信器の好ましい実施の形態(例えば、図14の好ましい実施の形態の受信器200)において具体化されたとき、32ビットのパケットヘッダは、C2が高の各期間に入力され(出力部へ送られる)。そしてC2が低になると、入力データに代わってレジスタQ7の出力がマルチプレクサ303を通過する。C2が低の間、8クロックサイクルで、一連の8ビットシンドロームビットがレジスタQ7を移動する。
図9Dの回路は、図9Cの回路と同様な動作を行うが、図9Dの回路には、(図9Cに示すように1入力を有するシフトレジスタよりむしろ)2つの入力点と2つの出力点を具備するシフトレジスタが含まれ、各入力点は異なったサブセットの入力ビットを受信し、8個のシンドロームビットを生成するために、(N/2)+1クロックサイクルを必要とし(図9Cの回路では、このために、N+1クロックサイクルを必要とする)、8個のシンドロームビットを移動させるために追加の4クロックサイクルを必要とする(4個のシンドロームビットをレジスタQ7から移動させる間に、4個のシンドロームビットをレジスタQ6から移動させる)。入力データの現在のブロックにおけるアサーションの終わりに(図9Dの各レジスタQ0−Q7に)レジスタ値を与え、入力データの次のブロックにおける最初の偶数ビット(「IN[0]」)と最初の奇数ビット(「IN[1]」)を与えると、入力データの現在のブロックに対する(トレジスタQ6及びQ7からマルチプレクサ304及び305にアサートされた)シンドロームビットが常に決定される。図9Dの回路が本発明に係る受信器の好ましい実施の形態(例えば、図14の受信器200の好ましい実施の形態)において具体化されたとき、サブパケットにおける64ビットが、C2が高のとき32クロックサイクル期間に、入力で受信される(そして出力に送られる)と共に、異なった組のサブパケットIN[0]とIN[1]がクロックサイクル毎に受信され、異なった組のサブパケットIN[0]とIN[1]がクロックサイクル毎に出力される。一般に図9Dの変数を、「m」入力節点を持つシフトレジスタを採用し、現在のブロックに対するシンドロームビットを生成する間に、入力データの次のブロックにおける「m」ビットを(各シフトレジスタの入力に「m」ビットの1つを)受信するように設定すると、「k/m+p」クロックサイクルで、現在の入力データのブロックに対するシンドロームビットを生成することができ、「n/m」サイクルで(例えばC2が低のとき)シンドロームビットを移動させることができる。ここで「n」,「p」,及び「k」は、各入力ブロックの大きさ及び各入力ブロックに対して生成されるシンドロームビットのビット数により決定される変数である。
図9Dにおける典型的な動作において、入力データの次のブロックにおける最初の偶数ビットIN[0]と最初の奇数ビットIN[1]は、C2が高から低へのトランジッションを受けるときに図9Bの回路における入力へアサートされ、これらの値IN[0]とIN[1]は、C2が低である間に入力にアサートされる。C2が高から低へのトランジッションを受けるときに、レジスタQ0,Q1,Q2,Q3,Q4,Q5,Q6,又はQ7の各々のビットを示すために、「Q0,Q1,Q2,Q3,Q4,Q5,Q6,又はQ7」という表記を用いる。C2が低のとき、(この処理の間、アンドゲート311が低となっているので)ビットQ0,Q2,Q4,及びQ6がシフトレジスタの出力端からマルチプレクサ305に移動し、(この処理の間、アンドゲート310が低となっているので)ビットQ1,Q3,Q5,及びQ7がシフトレジスタの出力端からマルチプレクサ304に移動する。これらのビットの値は、
Q0=IN[1]^((Q6^Q7)&C1)
Q1=IN[0]^(Q7^&C2)
Q2=Q0
Q3=Q1
Q4=Q2
Q5=Q3
Q6=Q4^((Q6^Q7)&C2)
Q7=Q5^Q6
ここで「^」は排他的論理和演算を意味し、「&」は論理積演算を意味する。
Q0=IN[1]^((Q6^Q7)&C1)
Q1=IN[0]^(Q7^&C2)
Q2=Q0
Q3=Q1
Q4=Q2
Q5=Q3
Q6=Q4^((Q6^Q7)&C2)
Q7=Q5^Q6
ここで「^」は排他的論理和演算を意味し、「&」は論理積演算を意味する。
ビットQ0,Q1,Q2,Q3,Q4,Q5,Q6,及びQ7はC2が高のとき生成される。C2が低のとき、図9Dの回路は、Q0,Q2,Q4,及びQ6をマルチプレクサ305を通って移動させ、Q1,Q3,Q5,及びQ7をマルチプレクサ304を通って移動させるシフトレジスタとしての機能を果たす。
図9Dの回路からの出力Q0,Q1,Q2,Q3,Q4,Q5,Q6,及びQ7と同じ値が図9Cの回路からの出力となるであろうが(このとき、ビットC2の高から低へのトランジッションを受ける前に同じ入力値が図9Cの回路と図9Dの回路にアサートされ、次のブロックに入力値として最初の奇数ビットIN[1]のアサーションに続くクロック端で、コントロールビットC1が高から低へのトランジッションを受けるものとみなす)、図9Cの回路では、マルチプレクサ303にこれらを移動させるのに8クロックサイクルを必要とするのに対し、図9Dの回路では、マルチプレクサ304と305にこれらを移動させるのに4クロックサイクルを必要とするだけである。
また、本発明に係るシステムにおいてBCHによるエラー検出の信頼性を向上させるため、送信器は、(入力データのストリームをサブパケットにグルーピングしているとき)入力データのストリームに自動的にゼロビットを挿入し、挿入したゼロビットがデータビットとして有用な各サブパケットの56スロットにおける既知の位置で発生するように設定することが好ましい。(このような送信器と共に用いられる)受信器におけるエラー検出回路は、各復元したデータのサブパケットの予期されるスロット内のゼロ値をチェックし、各復元したデータのサブパケットにおけるエラーを特定するために用いるように設定することが好ましい。
パケット伝送において、32ピクセルクロックサイクルの1つ期間にCH0で伝送される10ビットのコードワードにより決定される4ビットワードの3番目のビット(図9における「ビット2」)は、パケットヘッダのビットの内の1つである。パケット伝送において、32ピクセルクロックサイクルの期間にCH1で伝送される10ビットのコードワードにより決定される4ビットワードは、偶数ビットのサブパケットである。パケット伝送において、32ピクセルクロックサイクルの期間にCH2で伝送される10ビットのコードワードにより決定される4ビットワードは、奇数ビットのサブパケットである。
もっと明確には、図9に示すように、「N」番目のピクセルクロックサイクルにCH1で伝送される10ビットの各コードワードは、各サブパケット0,1,2,及び3の偶数ビットを決定し、「N」番目のピクセルクロックサイクルにCH2で伝送される10ビットの各コードワードは、各サブパケット0,1,2,及び3の奇数ビットを決定する。「N」番目のピクセルクロックサイクルにCH0で伝送される10ビットの各コードワードは、(1つのHSYNCビットと1つのVSYNCビットと共に)パケットヘッダの内の1ビットを決定する。「N+1」番目のピクセルクロックサイクルにCH1で伝送される10ビットの各コードワードは、各サブパケット0,1,2,及び3の次の偶数ビットを決定し、「N+1」番目のピクセルクロックサイクルにCH2で伝送される10ビットの各コードワードは、各サブパケット0,1,2,及び3の次の奇数ビットを決定する。「N+1」番目のピクセルクロックサイクルにCH0で伝送される10ビットの各コードワードは、(次のHSYNCビットと次のVSYNCビットと共に)パケットヘッダの内の次の1ビットを決定する。
パケットヘッダのBCHパリティビット(パケットヘッダの最後の8ビット)は、パケットヘッダの24データビットについて計算され、パケットの最後の8ピクセルクロックサイクル期間にCH0で伝送されるコードワードにより決定される。各サブパケットのBCHパリティビットは、サブパケットの56データビットについて計算され、パケットの最後の4ピクセルクロックサイクル期間にCH1とCH2で伝送されるコードワードにより決定される(各サブパケットのパリティビットには、2つのチャンネルCH1とCH2で伝送されるビットが含まれる)。
このようにして、好ましい実施の形態において、送信器は、(データアイランド期間に)3チャンネル(CH0,CH1,及びCH2)のTMDSリンクで広がるパケットと、2つのチャンネル(CH1及びCH2)のリンクで広がるパケットの各サブパケットを伝送するのみならず、送信器は、パケットの各サブパケットに対して個別にBCHパリティビットを生成し、これらのBCHパリティビットがリンクの2つのチャンネル(CH1及びCH2)で広がるような各サブパケットのBCHパリティビットを伝送する。
各パケットヘッダの最初のバイトは「パケットタイプ」コードであり、各パケットヘッダの2番目と3番目のバイトは、パケット固有のデータを示すことが好ましい。送信器は、少なくとも4つのタイプのパケット、すなわち、空パケット(パケットタイプコード0x00=0b00000000で示される)、オーディオクロック再生(「ACR」)パケット(パケットタイプコード0x01=0b00000001で示される)、オーディオサンプルパケット(パケットタイプコード0x02=0b00000010で示される)、インフォフレームパケット(パケットタイプコード0x80+インフォフレームタイプ=0b1xxxxxxxで示され、ここで7個の最下位ビットはEIA/CEA−861B仕様で定義されるインフォフレームのタイプを示す)、を生成できることが好ましい。
次に、好ましい実施の形態における4種類のパケットについてそのフォーマットと使用法について説明する。
送信器はいつでも空パケットを伝送することができるが、受信器は空パケットからデータを復元することができない。受信器が(パケットヘッダの最初のバイトで0x00値を確認することにより)空パケットであることを認定すると、受信器はパケットヘッダの最初のバイト以降の空パケットにおける全ての値を無視する(「未定義」として扱う)。
オーディオクロック再生(ACR)パケットには、オーディオクロック再生に用いる、CTS(サイクルタイムスタンプ)値とN値(以下に説明する)が含まれる。ACRパケットの4個のサブパケットは同一である。各サブパケットは20ビットの「N」値と20ビットの「CTS」値を持つ。CTS値が0であるときは、新しいCTS値がないことを示している。
オーディオサンプルパケットは、1,2,3,又は4対のオーディオサンプル(パケットにおける異なったサブパケットにより決定される各サンプルペア)を含むことができる。これらは、異なるサンプル、異なるパーシャルサンプル(例えば6チャンネル中の2チャンネル)、あるいは繰り返しサンプルであってもよい。オーディオサンプルパケットのヘッダにおける2番目と3番目のバイトは、パケットにおける各サブパケットの構成、各サブパケットにはサンプルが含まれるか否か、及び各サブパケットには、「フラットライン(flatline)」サンプル(すなわち振幅ゼロのもの)が含まれる否かを示している。パケットヘッダにおける2番目のバイトの4個の各LSBは、対応するサブパケットがオーディオサンプルを含むかどうかを示し、パケットヘッダにおける3番目のバイトの4個の各LSBは、対応するサブパケットが「フラットライン(flatline)」サンプルを含むかどうかを示すが、3番目のバイトの全てのLSBが「1」値(フラットラインサンプルを示す)であることは、対応する2番目のバイト(2番目のバイトの4個のLSBの内の1つ)の「現在」ビットがサブパケットがサンプルを含むことを示しているときのみ有効である、とすることが好ましい。オーディオサンプルパケットの各サブパケットには、オーディオサンプルであることを示すビットのみならず、チャンネルステータスビットとパリティビットが含まれる。
(オーディオサンプルパケットの)各サブパケットにおけるオーディオデータは、IEC_60958又はIEC_61937のフレームに良く似た構成にフォーマットされるが、IEC_60958又はIEC_61937のフレームにおける各サブフレームの多ビットプレアンブルを(パケットヘッダ内の)「スタート」ビットに置き換えることが好ましい。オーディオサンプルパケットの各サブパケットは、2個の28ビットワード(例えば、左のステレオ信号の28ビットワードと右のステレオ信号の28ビットワードと)を含むことができ、各28ビットワードには、IEC_60958のフレームにおける2つのサブフレームの内の1つに対応し、有効ビット、パリティビット、チャンネルステータスビット及びユーザーデータビットのみならず24ビットのオーディオデータも含まれる。オーディオサンプルパケットの各サブパケット内の全てのフィールドは、IEC_60958又はIEC_61937の仕様書に説明された対応する規則に従うことが好ましい。
好ましい実施の形態において、オーディオサンプルパケットのパケットヘッダにおける3番目のバイトの4個の各MSBは、対応するサブパケットがオーディオサンプルのIEC_60958(又はIEC_61937)のフレームにおけるブロックの最初のフレームを含むかどうかを示す「スタート」ビットである。送信器は、対応するサブパケットがブロックにおける最初の「B,W」フレームを含むとき、スタートビットを「1」にセットし、対応するサブパケットがブロックにおける最初の「M,W」フレームを含むとき、スタートビットを「0」にクリアする。
本発明に係るシステムはIEC_60958又はIEC_61937による、サンプルレートが32kHz,44.1kHz,又は48kHz(これらはステレオ又は圧縮されたサラウンドサウンド信号を定める)のオーディオ信号を伝送することができ、IEC_60958又はIEC_61937による4データ(例えば8チャンネルステレオ)のストリームを、最大96kHzのサンプルレートで伝送することができ、あるいは、IEC_60958又はIEC_61937による少なくとも1データのストリームを、192kHzのサンプルレートで伝送することができることが好ましい。
インフォフレームパケットには、フォーマット情報と、伝送されるオーディオ及び/又はビデオに関する関連情報を含むことができる。EIA/CEA−861B規格により、フォーマット情報を含む1以上の「インフォフレーム(InfoFrames)」からなる「インフォパケット(InfoPacket)」データ構造と、伝送されたデジタルオーディオ及び/又はデジタルビデオデータに関する関連情報が定義される。好ましい実施の形態において、本発明のシステムにより伝送された各インフォフレームパケットには、以下の制限をつけて、EIA/CEA−861Bのインフォパケットの情報が含まれる。本発明に係るインフォパケットには、最大30バイト(インフォフレームのタイプコードを示すパケットヘッダの最初のバイトの7個のLSB、バージョン番号フィールドを示すパケットヘッダの第2番目のバイト、及びインフォフレーム長さフィールドを示す第3番目のバイトを含む)のサイズを持った単一のEIA/CEA−861Bのインフォパケットの情報を含まれるのみである。そして、(タイプコードは、パケットヘッダの最初のバイトにおける7個のLSBにより示されるため)タイプコードは0から127の間になければならない。インフォフレームタイプコードの例は、0X02(インフォフレームパケットには、補助ビデオ情報(「AVI」)インフォフレームが含まれることを示す),0X03(インフォフレームパケットには、オーディオデータのインフォフレームが含まれることを示す),及び0x04(インフォフレームパケットには、DVD制御情報データのインフォフレームが含まれることを示す)である。インフォフレーム長さフィールドは、EIA/CEA−861B標準により、パケットヘッダの3バイト及び、チェックサムを含むパケットの有効バイトを含み、バイトで示されたインフォフレームパケット長さを示す(したがって、長さの最大値は「31」である)。
補助ビデオ情報(「AVI」)インフォフレームパケットは、ビデオデータがRGB,YCbCr4:2:2,YCbCr4:4:4のフォーマットなのか、ビデオデータがオーバスキャンなのかアンダースキャンなのか、画像アスペクト比(及び画像が水平に又は垂直に縮小されているか)、ビデオコンポーネントのビット深さ、ラインあたりのピクセル数とフレームあたりのライン数、及びピクセル繰り返し数(すなわち、各ピクセルが繰り返されないのか、N回送られるのか、ここで、Nは2以上の整数)のような、受信器に伝送される現在のビデオ信号ストリームの様々な側面を示す。オーディオインフォフレームパケットは、オーディオデータのストリームの数、各ストリームにおけるサンプリング周波数、及びサンプルサイズ(ビット数)のような、受信器に伝送されるオーディオデータの様々な側面を示す。
本発明に係るシステムは、適当なオーディオバンド幅を提供するための必要性に応じてビデオピクセルの再生ができるようにすることが好ましい。例えば、ビデオのフレームがLのラインからなり(このピクセルは最初のピクセルクロックにて繰り返しのない様式で伝送される)、2Lのデータアイランド(各々ビデオのラインに続くブランキングインターバルに挿入される)が対応するビデオの1フレーム中にオーディオビットを伝送するために必要とされるとき、本システムは、各ピクセルが繰り返し伝送されるような様式で実行可能とすることが好ましい。ピクセルクロック周波数が変更されないならば、各ピクセルの繰り返し伝送は、(2本の繰り返されたピクセルは、各繰り返しなしのラインのピクセルの伝送を必要とするため)ビデオ伝送レートを実質的に半分にするが、繰り返しなしのビデオにおける全フレームのビデオに対してオーディオビットを、2Lのデータアイランド期間に伝送させるようにする。ここで、オーディオビットは、フレームのピクセルが繰り返し伝送されるアクティブビデオ期間2Lの1つに続いて伝送される。一般に、ピクセルクロック周波数は(繰り返しなしのピクセル伝送に採用されるクロック周波数と比較して)、ピクセルが繰り返し伝送される各モードにおいて、増大する。例えば、ピクセルクロック周波数が2倍となり、各ピクセルが1度繰り返されるようなモードの場合、オーディオデータは、2倍の速度で(2倍のピクセルクロックを基本としたタイムスタンプで)、アクティブビデオ期間同士の間に伝送されるが、有効ビデオピクセル伝送速度は変化しない。ピクセルが繰り返し伝送されるモードでは、各ピクセルは2回以上繰り返される(例えばピクセルクロックの3倍周波数を用いて、各々が3回伝送される)。ピクセルが繰り返し伝送されるモードにおいて、伝送されたビデオデータを受信するとき、受信器は各アクティブビデオ期間に受信した同一のビデオサンプルのうち1つのサンプル(例えば各ピクセルが2回伝送される場合は、全ての奇数のサンプル又は全ての偶数のサンプル)を除いて残りを棄てるが、アクティブビデオ期間同士の間のデータアイランドの機関に受信したパケット化されたデータの全てのサンプルを受信器は処理する。
送信器におけるピクセル繰り返しの使用については、伝送されたAVIインフォフレームパケッ内のピクセル繰り返し回数フィールドにより表示されていることが好ましい。このようなフィールドは、各ピクセルが何回繰り返し伝送されたかを受信器に示す。繰り返しなしのピクセル伝送において、このフィールドの値はゼロとなる。ピクセル繰り返しモードにおいて、フィールドの値は、受信器により廃棄されるべき(連続して受信した各ピクセルの)ピクセルの番号を示す。各ラインにおける最初のピクセルクロックサイクル期間に伝送されたビデオサンプルはユニークであるが(かつ廃棄されていないが)、ピクセルが繰り返されるモードにおいては、これらのサンプルの繰り返されたものは廃棄されることが好ましい。
好ましい実施の形態において、本発明に係るシステムは、TMDSリンクを用いていくつかの異なったフォーマットのいずれのフォーマットででもビデオデータを伝送するように設定され、また受信器はこのようなフォーマットのいずれのフォーマットででもデータを復元するよう設定されている。本システムは、このようなリンクのチャンネルCH0,CH1,及びCH2を用いてビデオを、YCbCr4:4:4、YCbCr4:2:2、又はRGBのいずれかのフォーマットで、ピクセルの繰り返しなしに、あるいは、ピクセルを繰り返して、伝送できることが好ましい。どんな場合でも、24ビットまではこれらのチャンネルで、ピクセルクロックサイクル毎に伝送することができる。図10に示すように、RGBビデオの伝送において、各ピクセルクロックサイクル期間に、8ビットの赤色要素は、チャンネルCH2を用いて伝送され、8ビットの緑色要素は、チャンネルCH1を用いて伝送され、8ビットの青色要素は、チャンネルCH0を用いて伝送される。各ラインにおける最初のピクセルのR,G,及びB要素は、ビデオ保護帯域の後の(例えば、2つの連続するビデオ保護帯域コードの後の)最初のピクセルクロックサイクルの期間に転送される。
図11に示すように、YCbCr4:4:4ビデオの伝送において、各ピクセルクロックサイクル期間に、8ビットの「Cr」サンプルは、チャンネルCH2を用いて伝送され、8ビットのルミナンス「Y」サンプルは、チャンネルCH1を用いて伝送され、8ビットの「Cb」サンプルは、チャンネルCH0を用いて伝送される。
YCbCr4:2:2のみが、ピクセルクロックサイクル毎に、2つの要素を伝送する必要があるので、1つの要素により多くのビットが割り当てられる。可能な24ビットがY要素の12ビットとC要素の12ビットに分割される。図12に示すように、YCbCr4:2:2の伝送におけるN番目のピクセルクロックサイクル期間に、12ビットのルミナンス(「Y」)サンプルがチャンネルCH0及びCH1を用いて伝送され、12ビットのCbサンプルがチャンネルCH0及びCH2を用いて伝送される。Yサンプルの最下位4ビットとCbサンプルの最下位4ビットは、CH0を用いて伝送されたTMDSコードにより判断される。次いで、次の(「N+1」番目の)ピクセルクロック期間に、次の12ビットのYサンプルがチャンネルCH0及びCH1を用いて伝送され、12ビットのCbサンプルがチャンネルCH0及びCH2を用いて伝送される。Yサンプルの最下位4ビットとCrサンプルの最下位4ビットは、CH0を用いて伝送されたTMDSコードにより判断される。N番目のクロックサイクル期間に伝送されたCbサンプルのビットは、同じクロックサイクル期間に伝送されたYサンプルを含むピクセルとして存在する。N+1番目のクロックサイクル期間に伝送されたCrサンプルのビットは、同じ(「N+1番目」の)クロックサイクル期間に伝送されたYサンプルを含むピクセルとして存在する。もし各Y,Cb,及びCrサンプルの各々が12より少ないビットで構成されるなら、有効ビットは左揃えすべきであり(最下位有効ビットは位置合わせされ)、最下位ビットの下にゼロを付加すべきである。
ピクセルを二重にするモードでビデオの伝送を行うとき、N番目のピクセルクロックサイクル期間に伝送された全てのデータは、N+1番目のピクセルクロックサイクル期間に再び伝送され、次のデータが次の(N+2番目の)ピクセルクロックサイクル期間に伝送され、そして、このようにして伝送が続けられる。
好ましい実施の形態において、本発明に係る送信器には、データのHDCP暗号化をサポートし、(例えばTMDSリンクのDDCチャンネルを利用して)受信器と交信し、受信器とHDCP認証の交換を行い、そしてHDCPによる内容保護が実行されていることに関する問い合わせを受信器のレジスタに行うようプログラムされたプロセッサ(例えば、図2のマイクロコントローラ15)が含まれる。プロセッサは、送信器を(例えば図13のインターフェース101を介して)セットアップし、受信器を(例えばDDCチャンネルを介して)データアイランドオペレーションの期間(以下に説明する)HDCP暗号化を行うシステムソフトウエアと共にプログラムされることが好ましい。すなわち、システムソフトウエアは、送信器がデータアイランドモードに移行させ、(以下に説明するように)パケットを受信器に送って受信器がデータアイランドモードに入るきっかけを作り、そして、(DDCインターフェースを介して)受信器の適切なレジスタに受信器がデータアイランドモードに移行したことを確かめるよう問い合わせる。送信器と受信器の両方ともデータアイランドモードになると、送信器内のプロセッサはHDCP認証ソフトウエアを実行し、(認証が成功裏に完了したことを条件に)送信器に、アクティブビデオ期間とデータアイランド期間に伝送されるデータの暗号化を行わせる。
データアイランドモードの好ましい実施の形態において、アクティブビデオ期間にTMDSリンクのチャンネルCH0,CH1,及びCH2を介して伝送されるデータは(ビデオ保護帯域ワードが暗号化されないことを除いて)HDCP暗号化され、各データアイランド期間に、チャンネルCH0,CH1,及びCH2を介して伝送されるコードワードのみがHDCP暗号化される(しかし、先行データアイランド保護帯域ワードとトレイリングデータアイランド保護帯域ワードは暗号化されない)。
DVIモードにおいて(HDCP暗号化が可能なとき)、DEが高の値であることは、ビデオデータが伝送中であること(又は、アクティブビデオ期間同士の間の期間に補助データが伝送されていること)を示し、DEが高の値である期間に伝送された全てのデータは暗号化される。加えて、HDCP再変換は、DEの高から低への移行により開始される。実際の「DE」信号が伝送されないとき、トランジッションを最大化したコードワードの伝送はDEが低であることを示し、トランジッションを最小化したコードワードの伝送はDEが高であることを示す。
データアイランドモードの好ましい実施の形態において、伝送されたデータが暗号化されていることを示す単一のDE値の代わりに、2個のバイナリ暗号モード値が、データが暗号化されているかどうかを効果的に判断する。実質的には、第1の暗号モード信号(M1)の値が高であるとき、ビデオデータピクセルが暗号化されていることを示し、第2の暗号モード信号(M2)の値が高であるとき、(データアイランド期間に伝送された)補助データが暗号化されていることを示す。M1とM2の値も、M1とM2の「論理和演算」した値も、DVIモードで採用されたDE値に対応しない。M1は、ビデオデータ(しかしビデオ保護帯域ではない)を示すトランジッションを最小化したコードワードが、TMDSリンクのチャンネルCH0,CH1,及びCH2を介して伝送されるときのみ高となる。M2は、トランジッションを最小化したコードワード(しかし、先行データアイランド保護帯域ワードでも追尾データアイランド保護帯域ワードでもない)が、データアイランド期間に、チャンネルCH0,CH1,及びCH2を介して伝送されるときのみ高となる。このように、ビデオ保護帯域の伝送期間に、DEは高となるが、M1もM2も高とはならない。
(M1が高のとき)24ビットのビデオピクセルを暗号化するために、送信器内のHDCP暗号化エンジンにより、周知の(前述の)方法で生成した24ビット擬似乱数値を用いて、ビット単位に排他的論理和演算が行われる。本発明の好ましい実施の形態におけるデータアイランド中のピクセルクロックサイクル毎に(M2が高のとき)伝送されるべき8ビットのオーディオデータを暗号化するために、送信器内のHDCP暗号化エンジンにより、従来の方法で生成した擬似乱数の24ビット擬似乱数値から選択された8ビットのサブセットを用いて、8個のオーディオデータビットに対してビット単位に排他的論理和演算が行われる。
データアイランドモードの好ましい実施の形態において、HDCP再変換はM1の各高から低へのトランジッションに応答して(すなわち、各アクティブビデオ期間の終了時に)行われる。再変換は、Yピクセルクロックサイクル内(例えば、M1の高から低へのトランジッションの58ピクセルクロック期間内に)に完了しなければならず、送信器は、HDCP暗号化回路が再変換を完了させ、データアイランドに伝送されるべきパッケージ化されたデータの暗号化準備を行う、アクティブビデオ期間とアクティブビデオ期間との間のタイムスロットに、各データアイランドを置くように構成される。
データアイランドモードの好ましい実施の形態において、本発明に係る送信器は、HDCP暗号標識(4個のコントロールビットCTL0,CTL1,CTL2,及びCTL3の具体的な組み合わせ、CTL3=1,CTL2=0,CTL1=0,CTL0=1が好ましい)を、受信器のHDCP暗号化エンジンがフレームキー計算を開始することを示すために受信器に送る。受信器は、フレームキー演算を行うことでこのようなHDCP暗号標識に応答するよう設定される。HDCP暗号標識は、ブランキングインターバル期間にTMDSリンクのCH1及びCH2を介して伝送される、2個のトランジッションを最大化した(予め定めたコントロールビットCTL0,CTL1,CTL2,及びCTL3の値を示す)TMDSコントロールワードにより示されることが好ましく、ブランキングインターバル期間は、垂直ブランキングインターバルの期間が好ましい。図3において下から2番目と3番目の行に、このようなHDCP暗号標識を示すコードワードが示されている。
このようなHDCP暗号標識(ここではしばしば「キーコントロール」データ又は「復号コントロール」データと称す)を用いることにより、受信器が(送信器と受信期間でHDCP認証の交換を成功裏に完了した後)フレームキー演算を行うべき時を判断するための信頼性を上げる。暗号化標識が(コントロールビットCTL3だけというより)4個のコントロールビット全てに依存するので、信頼性が増大し、将来の拡張が可能となる。
受信器は、コードワードが予め定めた値のビットCTL0,CTL1,CTL2,及びCTL3(例えば、CTL3=1,CTL2=0,CTL1=0,CTL0=1のとき)を、VSYNCのアクティブエッジに続いて、予め定められた期間(好ましくは72ピクセルクロック期間)を持つ機会窓(window of opportunity「WOO」)の期間に予め定めた最小の連続するピクセルサイクル(好ましくは16の連続するピクセルクロックサイクル)の各々の期間に検出したときのみ、HDCP暗号標識を検出するよう設定されることが好ましい。HDCP暗号標識上のこのような制限は、標識が送信器により伝送され、受信器により期待されたときに、受信器が標識を検出する上での信頼性を上げるために付加される。
指摘したように、データアイランド又はアクティブビデオ期間に先立つプレアンブルにおいて、コントロールキャラクタ(具体的な値にセットされたCTL0,CTL1,CTL2,及びCTL3)は、やがて来るDEが高となる期間がデータアイランドなのかアクティブビデオ期間なのかを特定することが好ましい。各データアイランドとアクティブビデオ期間の(2つのピクセルクロックサイクル期間に伝送される)最初の2個のコードワードは非常に堅固なDE立ち上がり部を生成するために設計された保護帯域コードである。送信器は、保護帯域コードワードを決して暗号化しないように設定すべきであり、受信器は保護帯域コードワードを決して復号化しないように設定すべきである。
好ましい実施の形態において、本発明に係るシステムの送信器と受信器は、少なくとも1つのTMDSリンクにより結び付けられ、デジタルビジュアルインターフェース(「DVI」)モード又は「データアイランド」モードで動作可能である。DVIモードでは、受信器は、一般的なトランジッションを最大化した(帯域外)コードワードが、送信器からのTMDSチャンネルCH0のHSYNC/VSYNCを表示するものと期待し、CH0,CH1,及びCH2上に入ってくるコードワードが、(ブランキングインターバルの)帯域外コードワードなのか(アクティブビデオ期間と補助データバーストの)帯域内コードワードなのかを認識することで、ブランキングインターバルをアクティブビデオ期間と(場合によっては、ブランキング期間の補助データのバーストからも)区別し、データアイランドモードに入れる表示のために入ってくるデータを監視する。データアイランドモードでは、受信器は、アクティブビデオ期間とアクティブビデオ期間の間のデータアイランドにおけるオーディオデータ(又は他の補助データ)のパケットを待ち、HSYNC,VSYNC,及びデータアイランド期間におけるチャンネルCH0のパケットヘッダを待ち、先行するビデオ保護帯域を検出することで、アクティブビデオ期間を特定する。送信器と受信器は、DVIモードからデータアイランドモードへの同期化された(そしてほとんど同時に起こる)移行を受けることが好ましい。
送信器がデータアイランドモードに入り、受信器により検出されたデータアイランドを送ったときに、各DVIからデータアイランドモードへの移行が起こることが好ましい。データアイランドは、後にデータアイランドが続き、少なくとも1個の特有の保護帯域コード(2つの連続する特有の保護帯域コードであって、CH1とCH2の各々に、各々0X55の値を持つ)がプレアンブルの後に続くことを示す(CH1及びCH2の両方により送られ、CH2ではCTL3,CTL2=0であり、CH1ではCTL1,CTL0=1である)プレアンブルによって示される。データアイランドの検出に応答して(例えばデータアイランドプレアンブルを検出し、次いで(データアイランドプレアンブルの後の最初のピクセルクロックサイクルに)、保護帯域ワード0X55を検出し、次に(データアイランドプレアンブルの後の2番目のピクセルクロックサイクルに)保護帯域ワード0X55を検出し)受信器はデータアイランドモードに入る。データアイランドモードに入るとすぐに、受信器は、送信器によって読み取り可能なレジスタに(データアイランドモード動作であることを表示する)ビットを設定することが好ましい。例えば、受信器は、HDCPレジスタ空間(例えば図14のレジスタ203)のあるレジスタに送信器がDDCチャンネルを介して読み取り可能なビットを設定する。このビットは、受信器でのハードウエアによるリセットによってのみクリアできることが好ましい。
データアイランドモードでは、受信器の回路は、アクティブビデオ期間を示す各プレアンブル/保護帯域結合への入力データと、データアイランドを示す各プレアンブル/保護帯域結合とを監視する。
好ましい実施の形態において、送信器は、受信モードの状態(すなわち、受信器はDVIモードなのかデータアイランドなのか、及び受信器はどのタイプのHDCP暗号化を実行しているのか)をDDCチャンネルを介して判断する。もし送信器が、受信器はデータアイランドであり特定のタイプのHDCPをサポートしていることを示すレジスタビットを(DDCチャンネルを介して)読み込むと、送信器は、データアイランドモード(トランジッションを最大化したコードワードよりむしろトランジッションを最小化したTMDSコードワードにより決定されたビットとして、データアイランド期間にHSYNC/VSYNCを送ることを含む)で動作し、伝送するデータを暗号化するために適当なHDCP状態となる体制を採用する(しかしビデオ保護帯域は暗号化しない)。
データアイランドモードにおいて、送信器は、(例えば図2のロム23から)EDIDデータ構造(EDIDに対して拡張されたEIA/CEA−861Bの定義を含めることが好ましい)を読み込むことによって、受信器の能力と特性を判断するためにDDCチャンネルを用いることが好ましい。さらに、送信器は、様々なクラスタ毎の制御動作に用いるため、それ自体の物理アドレスを決定するために、DDCチャンネルを用いることができる。送信器は、受信器の暗号化能力(もしあれば)の判断に応じてどのタイプの暗号化を用いるべきかを検定し、受信器に選択した暗号化モードを伝えることが好ましい。
好ましい実施の形態において、送信データのHDCP暗号化と共に、データアイランドモード動作を開始させるために、送信器は、以下のステップを取らなければならない。
1.初期状態にするために、送信器の状態はリセットされる。
2.受信器がデータアイランドモードで動作できるかどうかを判断するために受信器のEDIDデータ(例えば、DDCチャンネルを介して記憶された図2のロム23のEDIDデータ)を読み込む。
3.もし、受信器がデータアイランドモードで動作できるならば、送信器は識別モードビット(例えばデータアイランドモード=1)を(送信器のコンフィグレーションレジスタに)書き込む。
4.送信器はデータアイランドパケット(例えば空パケット)を受信器に送る。
5.送信器は、DDCチャンネルを介して、受信器のレジスタ中の識別モードビット(例えば、図14のレジスタ203の所定の位置にあるデータアイランドモードビット)を読み込む。
6.もし、受信器の識別モードビットがセットされたなら(もし、データアイランドモードビット=1なら)、送信器と受信器はステップ7に進む。それ以外の場合は、ステップ4に進む。
7.この点で、送信器と受信器の両方は、データアイランドモードで動作し、送信器は、HDCP認証処理を開始する。
8.ステップ7の後、HDCP認証処理が完了したとき、送信器は、送信器のコンフィグレーションレジスタにビット(例えば「HDCP認証済み」のビット)を設定する。これにより、送信器のHDCPのエンジンが使えるようになる。
2.受信器がデータアイランドモードで動作できるかどうかを判断するために受信器のEDIDデータ(例えば、DDCチャンネルを介して記憶された図2のロム23のEDIDデータ)を読み込む。
3.もし、受信器がデータアイランドモードで動作できるならば、送信器は識別モードビット(例えばデータアイランドモード=1)を(送信器のコンフィグレーションレジスタに)書き込む。
4.送信器はデータアイランドパケット(例えば空パケット)を受信器に送る。
5.送信器は、DDCチャンネルを介して、受信器のレジスタ中の識別モードビット(例えば、図14のレジスタ203の所定の位置にあるデータアイランドモードビット)を読み込む。
6.もし、受信器の識別モードビットがセットされたなら(もし、データアイランドモードビット=1なら)、送信器と受信器はステップ7に進む。それ以外の場合は、ステップ4に進む。
7.この点で、送信器と受信器の両方は、データアイランドモードで動作し、送信器は、HDCP認証処理を開始する。
8.ステップ7の後、HDCP認証処理が完了したとき、送信器は、送信器のコンフィグレーションレジスタにビット(例えば「HDCP認証済み」のビット)を設定する。これにより、送信器のHDCPのエンジンが使えるようになる。
動作開始時は、受信器はビデオとオーディオの出力を不可能とすることが好ましい。なぜなら、送信器がデータアイランドモードになっているとき、開始するために時間がかかるが、受信器はまだDVIモードになっており、このことは、受信器から思わぬビデオ出力を出す原因になるからである。
図13は、本発明に係る送信器の実施形態における送信器100のブロック図である。送信器100には、外部から受け取ったビデオデータ[23:0]にパイプライン暗号化と他のパイプライン処理を行うビデオサブシステム106が含まれる。通常は、ビデオデータクロック(IDCK、ここでは「ピクセルクロック」と称す)、ビデオデータイネーブル信号(DE)、及び水平垂直sync制御信号(HSYNCとVSYNC)が、外部からの入力ビデオデータと共に受信される。送信器100はふつう、25MHzから112MHzの範囲を持つピクセルクロックに応答して動作するよう設定される。サブシステム106は、暗号化エンジン104の擬似乱数値を用いて入力ビデオデータ(又はフォーマッタあるいは他の処理がなされた入力ビデオ)を暗号化し、マルチプレクサ118の最初の入力に暗号化されたビデオをアサートする。動作中、暗号化エンジン104はレジスタ103のビットを用いる。レジスタ103には、インターフェース101及び/又はインターフェース102を介して受信した値がロードされる。
一般に、インターフェース101は、マイクロコントローラ(例えば、図2のマイクロコントローラ15)と交信するために12Cで結合される。このマイクロコントローラはまた、TMDSリンクのDDCチャンネルとも結合され、入力データソース(例えばビデオソース)につながる。インターフェース101は、情報と構成ビット(例えばインフォフレームビット)と他のビット(例えばHDCP認証処理の間に受け取ったキー値)を受け取るため12Cのスレーブプロトコルを実行することができ、このようなビットをレジスタ105及び103に記憶させる。
送信器100が集積回路として提供される場合は、(復号に用いられる)キー値と識別ビットがあらかじめ記憶されたEEPロムを、送信器100とEEPロムの両方を含む別々の安全な多数チップモジュール(「MCM」)として用いることもができる。このようなEEPロムの例が図2のEEPロム14である。インターフェース102は、送信器100とEEPロムのインターフェースを提供する。インターフェース102は、HDCP認証を受信器と行う時のような適当な時に、EEPロムからの値を回収する。インターフェース102は、EEPロムとの交信12Cに用いるためのクロック(例えば100KHzクロック)を発生させるためにリング発信器113の出力(64MHz又は51.2MHzから76.8MHzの範囲の周波数が好ましい)を用いることが好ましい。
送信器100には、パイプライン化されたフォーマット、パッケージ、暗号化、その他のパイプライン化した処理を、外部ソースから受信したオーディオデータAUDに行うオーディオサブシステム108が含まれる(AUDはオーディオデータ以外の補助データであってもよいが、簡単のためにオーディオデータと称す)。典型的な実施の形態において、送信器100は、サンプルレートFsが32MHzから48MHzの範囲であるS/PDIFフォーマット、又は様々な他のフォーマット(例えば、2チャンネル非圧縮PCMデータ又は複数チャンネルデータを示す圧縮されたビットストリーム)のオーディオデータAUDを受信することができる。オーディオ参照クロック(「MCLK」)は、入力データAUDと一緒に受信される。クロックMCLK(マスタークロックとも称される)は、好ましい実施の形態において、少なくとも256*Fs(又は384*Fs)の周波数を持つ。
主となる位相固定ループ(「PLL」)116は、安定化されたピクセルクロックIDCKを生成する。
リセット回路112は、外部プロセッサからリセットビットを受け取るためのリセットピンとつながっている。送信器100は、リセットビットのあらかじめ定めた値に応答して、自らを初期状態にリセットするよう設定されている。テスト回路110は外部ソースからテストモードビットを受信するためのテストピンとつながっている。送信器100は、テストモードビットの値により、テストモード又はノーマル動作モードのどちらでも動作するよう設定されている。
サブシステム108は、安定化されたピクセルクロック(ピクセルクロックは2*128Fsより大きいという条件で、MCLK又は周波数を乗算したMCLK)を用いてオーディオデータをサンプリングすることができる。サブシステム108は、サンプリングされたオーディオデータを含むパケットを生成し、パケット内のデータを暗号化し、TERC2エンコード又はTERC4エンコードを用いて暗号化されたデータをエンコードし、暗号化されエンコードされたデータを含むパケットをマルチプレクサ118の第2の入力にアサートする。TERC4エンコードを行うとき、サブシステム108は、各暗号化されたサンプルの最下位4ビットを16の「ゴールデンワード」(例えば図4の左の欄の8ビットワード「AD0−AD15」)の1つとしてエンコードし、各暗号化されたサンプルの最上位4ビットをもう1つのゴールデンワードとしてエンコードする。
サブシステム108は、また、データアイランド(各データアイランドには、1以上のパケットが含まれる)がマルチプレクサ118にアサートされる(DEに関する)タイミングを定める。サブシステム108は、また、データアイランドと共にコントロールワードを時分割多重化する。ここで、このコントロールワードには、データアイランドプレアンブル(例えば、サブシステム108が各データアイランドの直前に8ピクセルクロックサイクルの補助データプレアンブルワードを挿入する)、HSYNCとVSYNC(例えば、サブシステム108が各補助データプレアンブルワードのバーストの前に12ピクセルクロックサイクルの同期ワードを挿入する)、先行及び追尾データアイランド保護帯域(例えば、サブシステム108が各データアイランドの最初の2ワードとして2ピクセルクロックサイクルの先行保護帯域ワードを挿入し、各データアイランドの最後の2ワードとして2ピクセルクロックサイクルの追尾保護帯域ワードを挿入する)、ビデオプレアンブル(例えば、サブシステム108が各データアイランドの後にビデオプレアンブルワードを挿入する)、及びビデオ保護帯域(例えば、サブシステム108が各ビデオプレアンブルの後に2ピクセルクロックサイクルのビデオ保護帯域ワードを挿入する)が含まれる。
DE(DE信号はインターフェース107で受信される)を表示するコントロール信号に応答して、マルチプレクサ118は、(DEが高のとき)サブシステム106からのビデオデータ又は(DEが低のとき)サブシステム108の出力のどちらか一方をTMDSコアプロセッサ114に送る。
コアプロセッサ114は、安定化されたピクセルクロック(PLL116により生成される)に応答して動作し、上述の、8ビットのデータワードを10ビットのTMDSコードワードとしてエンコードし、データを直列化し、この直列化したデータ(及び安定化されたピクセルクロック)をTMDSリンクを用いて図14の受信器200(本発明の実施の形態に係る受信器)に伝送することを実行する。
図14に示したとおり、受信器200には、動作時TMDSリンクとつながるコアプロセッサ214が含まれる。プロセッサ214はリンクのクロックチャンネルからピクセルクロックを復元し、メインPLLは復元されたピクセルクロックに応答し安定化されたピクセルクロックを生成する。安定化されたピクセルクロックに応答し、プロセッサ214は、上述の動作、リンクを介して受信したデータを非直列化し、8ビットコードワードを復元するために非直列化された10ビットのTMDSコードワードをデコーディングし、分割ユニット218に8ビットのコードワードをアサートする。
ユニット218は、また、プロセッサ214から、DEを表示する信号と、安定化され復元されたピクセルクロックを受信する。ユニット218は、各データアイランドの開始と終了、及びプロセッサ214からのコードワードのストリーム中の各アクティブ期間を検出し(上述したタイプのガードバンドとプレアンブルコードワードを特定することにより検出することを含む)、(各データアイランドの)各オーディオデータパケットをパイプライン化されたオーディオサブシステム208に送り、残りの(全てのビデオデータのバーストを含む)データをパイプライン化されたビデオサブシステム206に送る。動作モードによっては、ユニット218によりアサートされたデータには、HSYNCとVSYNCのコードワードが含まれる。
ビデオサブシステム206は、ユニット218から受信したビデオデータに対して復元その他の処理(例えば、フォーマット、アップサンプリング又はサブサンプリング、及び/又は色空間変換)を行う。サブシステム206は、ユニット218からのビデオデータを、暗号エンジン204からの擬似乱数値を用いて(8ビットの復元されたワードを生成するために)復元し、復元されたビデオをこれらに他の処理を行うためのパイプライン化回路にアサートする。後者の回路は、一般に、最終フォーマットした後に、復元され処理されたビデオビットQ[23:0]を、対応するDE,HSYNC,及びVSYNC信号とピクセルクロックと共に、出力する。場合によって、サブシステム206には、また、8ビットの復元され処理されたビデオワードに応じて、赤、緑、及び青の色要素信号又はルミナンスとクロルミナンス信号であるアナログビデオ信号(AnRpr,AnGY,及びAnBPb)が含まれる。動作中、暗号化エンジン204は、レジスタ203中のビットを用いる。レジスタ203には、インターフェース201及び/又はインターフェース202を介して受け取った値と共に保存される。
受信器200が集積回路として提供される場合は、(復号に用いられる)キー値と識別ビットがあらかじめ記憶されたEEPロムを、受信器200とEEPロムの両方を含む別々の安全な多数チップモジュール(「MCM」)として用いることもができる。このようなEEPロムの例が図2のEEPロム24である。インターフェース202は、受信器200とEEPロムのインターフェースを提供する。インターフェース202は、HDCP認証を送信器と行う時のような適当な時に、EEPロムからの値を回収する。インターフェース202は、EEPロムとの交信12Cに用いるためのクロックを発生させるためにリング発信器213の出力(64MHz又は51.2MHzから76.8MHzの範囲の周波数が好ましい)を用いることが好ましい。
インターフェース201は、TMDSリンクのDDCチャンネルと結合することができ、DDCチャンネルを介して送信器と交信するためのスレーブプロトコルI2Cを実行することができる(例えば、DDCチャンネルを介してレジスタ203にて受信したキー値をロードすることを含むHDCP認証処理の実行が可能である)。
場合によって、受信器200がリピータである(送信器100からのデータを受信するよう設定されているのに加えて、データを他の受信器に送信するよう設定されている)場合は、受信器200にはインターフェース207が含まれる。インターフェース207で、ホスト装置に接続されることができ、情報と構成ビットを受信するためのプロトコル12Cを実行することができ、これらのビットをレジスタ205及び203に記憶させることができる。適当な時に(すなわち、あらかじめ定められた状態、情報、又はエラー状態に応答して)、割り込み(「INT」)がソフトウエア的な注意を要求するために、ホスト装置にレジスタ205からアサートされる。受信器には、ユニット218からのオーディオデータを受信し処理するパイプライン化されたオーディオサブシステム208もまた含まれる。サブシステム208は、(送信器が、オーディオデータをエンコードするためにTERC4エンコード処理を採用するときは)ゴールデンワードの各ペアにより指定された8ビットワード、又は、(送信器が、オーディオデータをエンコードするためにTERC2エンコード処理を採用するときは)ゴールデンワードの各ペアにより指定された4ビットワードを決定するためにパケット中のゴールデンワードをデコードする。サブシステム208は、デコードされたオーディオサンプルを(暗号エンジン204からの擬似乱数値を用いて)解読し、デコードされ解読されたオーディオサンプルのエラー修正を行い、デコードされ解読されエラー修正されたサンプルをパケットから取り出し(そしてパケットから取り出した設定と状態ビットを適当なレジスタに送り)、そして、取り出したオーディオサンプルに他の処理を行う(例えば、オーディオデータをS/PDIF及びI2Sのためにまとめ、まとめたデータにこのようなエンジンで処理を行い、S/PDIF又はI2Sの両方又はその一方のデータを生成する)。一般に、サブシステム208は、多数の異なるどのフォーマットで(例えば、2チャンネル非圧縮PCMデータとして、又は、多数チャンネルデータを示す圧縮されたビットストリームとして)でもオーディオデータを出力することができる。異なる動作モードでは、サブシステム208は、(オーディオデータの出力と共に)周波数がオーディオビット速度の1以上のビットクロック(「SCK」)、送信器100により採用されたMCLKクロックから取り戻したオーディオ参照クロック(「MCLK」)、2つのオーディオチャンネルを示す時分割多重化出力オーディオデータスのストリームを逆多重化するために用いる、直列データ出力クロック(SDO)、及びワードセットクロック(「WS」)をアサートする。
メインPLL216は、受信器のインターフェース214と他の要素で使用するために、TMDSリンクのクロックチャンネルから取り戻した安定化されたピクセルクロックを生成する。リセット回路212は外部プロセッサからのリセットビットを受信するためのリセットピンにつながっている。受信器200は、リセットビットのあらかじめ定められた値に応答して、自らを初期状態にリセットするよう設定されている。テスト回路210は、外部ソースからテストモードビットを受信するためテストピンにつながっている。受信器200は、テストモードビットの値に応じて、テストモード又は通常動作モードのいずれでも動作するよう設定される。一般に、本発明に係るシステムの実施に用いられる各送信器と受信器は、詳細な仕様を満足する。各送信器と受信器は、この仕様を満足することを効率的にテストすることができるような状況で製造されることが好ましい。
例えば、好ましい実施の形態において、本発明に係る送信器にはテストパターン発生器(例えば図13の送信器のテストパターン発生器119)がふくまれ、本発明に係る受信器には(例えば図14の受信器のテスト回路210に)同一のテストパターン発生器がふくまれる。送信器と受信期間のシリアルリンクにおけるエラー率を決めるために、受信器中のテストパターン発生器はテストモードにおいて送信器により制御できるか又は、送信器のテストパターン発生器と受信器のテストパターン発生器は、別々に(ホスト装置で)制御できるようにすることが好ましい。例えば、テストモードにおいて、送信器100のテストパターン発生器119は、マルチプレクサ118を介して、テストデータをコアプロセッサ114にアサートし、プロセッサ114は、テストデータをエンコードして、エンコードされたテストデータをTMDSリンクを用いて受信器200に伝送する。テストモードにおいて、受信器200はデータの受信とデコードを行い、回復したデータをテスト回路210にアサートする。テスト回路210中のエラー検出及び集積ロジックで、回復されたデータが、回路210のテストパターン発生器により生成されたテストデータと比較される。テスト結果は、回復されたテストデータの計測されたエラー率と共に、リンクのDDCチャンネルを用いて(例えば、インターフェース201を用いて)送信器100に送り返され、そして/あるいは(例えば、インターフェース207を用いて)ホスト装置にアサートされる。送信器のテストパターン発生器と受信器の同一のテストパターン発生器には、擬似乱数のテストパターンを発生するリニアフィードバックシフトレジスタ(LFSR)が含まれることが好ましく、両方のテストパターン発生器は、テストモード動作において、同じ擬似乱数のテストパターンを発生させるように、同じ初期状態からスタートすることが好ましい。
このテストモード(又は他のテストモード動作)の期間、DDCチャンネルをバックチャンネルとして用いることで、送信器(例えば、図2のマイクロコントローラ15)に受信器のテストパターン及びエラー検出と集積の状態を問い合わせさせることができる。テストモードの期間、DDCチャンネル(又はシリアルリンクの他のチャンネル)を、エラー検出のバックチャンネルとして用いることで、送信器(例えば、図2のマイクロコントローラ15)に、送信器の1以上のパラメータを変更させ、送信器におけるパラメータの各組み合わせ結果としての(受信器での)エラー率を決定させることができる。したがって、送信器は、運転パラメータの様々な組み合わせの関数としてのリンクの信頼性を決定することができ、送信器は、受信器でのエラーを削減又は最小化するためその運転パラメータを最適化することができる。
本発明に係る各受信器及び送信器は、テストピン(図13においてテスト回路につながるピン、又は、図14においてテスト回路につながるピン)のアサーションにより可能となった堅固なテスト機能をサポートするように実行される。個々のテストモードは、テストモード動作中テスト修正ピンとして再設計された入力可能ピンを介して、あるいは、レジスタビットを介して選択される。場合によって、テストモードを可能にすることは、例えば、インターフェースI2C(図14のインターフェース207、又は、図13のインターフェース101)を経由して、レジスタ(例えば図14の受信器200におけるレジスタ205、又は、図13の送信器におけるレジスタ105)にビットをロードすることにより実行される。レジスタビットをロードすることでテストモードを可能にすることは、大量のベクトル量をテストモードにすることを必要とし、その間、送信器又は受信器がより少ない入力ピンで動作するよう設計することが可能になる。8ビットテストモードレジスタは、64の異なったテストモードを許容する。
テストモードには、ロジックテスト(例えばフルスキャン)、EEPロムテスト(例えば、BISTチェックサム、又は組み込まれた自己テスト)、TMDSコアテスト(コア114又は214が切り離されテストされる)、DACテスト(例えば、受信器DAC回路が切り離されテストパターンを用いてテストされる)、PLLテスト、リング発振器テスト、及び1以上のデバッグテスト(例えば、内部信号が入/出力ピンで多重化される)が含まれることが好ましい。
一般にフルスキャンロジックテストは、ロジックテストモードでの動作中テストピンとして設定される、テストを目的とする入/出力ピンを必要とする。一般には、BIST法に基づくチェックサムは外部のキーEEPロム(例えばズ2のEEPロム14又はEEPロム24)により実行される。実行可能な状態で、テスト回路はEEPロムの内容を読み取り、チェックサム計算を行い、EEPロムから読み取ったチェックサムと比較する。簡単な合/否表示がテスト回路によりアサートされ、安全性が維持される。
本発明に係る受信器の典型的なTMDSコアテストにおいて、コア214(図14)は回路206又は208の出力に直接多重化される。再現されたピクセルクロックもアイダイアグラムテスト処理を行うために出力ピンに多重化されることが好ましい。本発明に係る受信器の典型的なDACテストにおいて、外部装置が直接DACのクロックを制御できるように、入力ピンは、テストするDAC(例えば回路206又は208)に直接テストクロックを供給する。そして、カウンタと状態機械を介して、具体的なテストパターンが、行き届いた制御テストを提供するためにDACに提供される。PLLの一般的なテストにおいて、(テストすべき各PLLからの)LOCK表示器は出力ピンに多重化される。典型的なリング発振器のテストにおいて、テストすべきリング発振器(例えばリング発振器113又は213)のクロック信号が出力ピンに多重化される。
説明したとおり、実施の形態において、本発明に係る受信器は、コントロールデータ期間(すなわち、データアイランド期間及びアクティブビデオ期間以外)に、シリアルリンクを通って伝送された(プレアンブルコードワードを含む)コントロール信号に応答する。このような制御信号の各々はビットパターン(例えば、ビットCTL0とCTL1又はビットCTL2とCTL3を表示する10ビットTMDSコードワード)により判断される。好ましい実施の形態において、受信器は、ビットパターンの最小の繰り返しを検出したときにのみ、又はコントロールデータ期間のあらかじめ定めた領域(時間窓)においてビットパターン(又は、その最小の繰り返し)を検出したときのみに制御信号に応答するよう設定される。一般に、受信器は、過去のXピクセルクロックサイクル内で、少なくともYの受信したビットパターンがあらかじめ定めたパターンZと一致したかどうかを判断するよう設定される。もしそうなら、受信器はパターンZにより決定される制御信号に応答する。例えば、受信器は、過去の8ピクセルクロックサイクル内で、チャンネルCH1で受信した少なくとも8のビットパターンが、制御ビット値CTL0、CTL1=1,0を示す10ビットのトランジッションを最大化したTMDSコードワードと一致すること、及び、チャンネルCH2で受信した少なくとも8のビットパターンが、制御ビット値CTL2、CTL3=0,0を示す10ビットのトランジッションを最大化したTMDSコードワードと一致すること、を判断することによりのみ、ビデオプレアンブルを認識することが好ましい。他の例において、受信器は、過去の8ピクセルクロックサイクル内で、チャンネルCH1で受信した少なくとも8のビットパターンが、制御ビット値CTL0、CTL1=1,0を示す10ビットのトランジッションを最大化したTMDSコードワードと一致すること、及び、チャンネルCH2で受信した少なくとも8のビットパターンが、制御ビット値CTL2、CTL3=1,0を示す10ビットのトランジッションを最大化したTMDSコードワードと一致すること、を判断することによりのみ、データアイランドプレアンブルを認識することが好ましい。
好ましい実施の形態において、本発明に係る受信器は、TMDSリンクのチャンネルCH0,CH1,及びCH2で入力される信号を、伝送器から受信器へ(一般的には長いケーブルを)伝わる間に受ける信号の質の低下を補償するように設計された方法でフィルタ処理を行うことにより均一化を実行する。例えば、図14の受信器200におけるコアプロセッサ214の好ましい実施の形態においてはそのようなフィルタが含まれる。均一化フィルタの設計のために、どの「ケーブルフィルタ」が、信号を伝送させるときに信号に効果的に適用できるかを決めるために、ケーブルのフィルタ効果が分析され、均一化フィルタとしてこのケーブルフィルタを逆変換したものが選ばれる。このようにして、均一化フィルタがケーブルフィルタを補償(好ましくは解消)する。
本発明に係るシステムの好ましい実施の形態においては、伝送された補助及びビデオデータの復元期間に、受信器において均一化フィルタが採用されるのみならず、伝送する補助データをエンコードするために「ゴールデンワード」(上述のフルセットのコードワードのサブセット)のみを用いる。2つの技術は復元されたデータのエラー率を減少させるのに効果的である。
好ましい実施の形態において、本発明に係る受信器には、データアイランド期間に伝送された少なくともオーディオデータ(又は補助データ)において検出されたエラーを修正するために、場合によっては、アクティブビデオ期間に伝送されたビデオデータにおいて検出されたエラーもまた修正するために、エラー修正回路(例えば、図14の受信器における回路22)が含まれる。
例えば、データアイランドで伝送されたパケットの各コードワードは繰り返し伝送される。コーディングを3回繰り返すことで、例えば、ブランキングインターバルを決める特別な帯域外ワードを特定するためにTMDSリンクのビデオチャンネルにおいて一般的に用いられる技術と同じ技術を用いて、パケット化されたデータは信頼度高く復元される。復元されたデータを3回繰り返して伝送する期間に起こるエラーは、受信器で、「バブルコレクション」によるエラー修正法を実行することにより普通に修正される。
バブルコレクションは、近傍にあるデータ値と比較して(単一クロック幅を持った)疑わしいデータ値を除去し置き換えるものである。次に、バブルコレクションの例を説明する。ここでは、クロックサイクル毎に1つのコードワードが伝送され、3回繰り返しコーディング(異なるコードワードが各々3回伝送される)が採用され、受信器は、各10ビットTMDSコードワードの連続(各10ビットTMDSコードワードは4ビットワードにデコードされる)に応答して4個の連続する単一ビットを生成するとみなす。この例において、受信器がN番目のビットと「N+2」番目のビットが同一で、異なるビットで引き離されている(すなわち「N+1」番目のビットはN番目のビットとは異なる)ことを認識した場合は、受信器内のエラー修正回路により、中央のビット(「N+1」番目のビット)を隣のビット(N番目のビット)で置き換えることで、バブルコレクションを実行する。
バブルコレクションを実行した後、復元された一連の単一の補助データビットに対するサンプリング点は、TMDSエンコードされたビデオデータのストリームにおいて、ブランキングインターバルを特定するために、TMDSのデジタルPLLにより一般的に実行される方法と本質的に同じ方法で決定される。しかしながら、TMDSエンコードされたビデオデータのストリームにおけるブランキングインターバルを特定する間、補助データのサンプリング点を決定する回路は、TMDS受信器のデジタルPLLほど速くする必要はない。しかし、補助データを復元する間、最適サンプリング点を選択するためにデジタルPLLを採用する必要はない。むしろ、発明者は、トランジッション(すなわち、デジタルアイランドの開始)の後次のトランジッションまで3サンプル毎に、単純に(単一の復元された補助データビットの一連のストリームの内の)2番目のサンプルを選択することが一般に適当であると認識している。
他の実施の形態においては、本発明に係る受信器は、復元されたデータ中に検出されたエラーを隠すための補間機能を具備する。線形補間技術や、高次曲線補間技術を含むあらゆる補間技術が採用される。
好ましい実施の形態において、本発明に係る送信器は、2つのアクティブビデオ期間の間に伝送され、他の信号(例えば、暗号エンジンの再入力に採用される信号)の伝送と衝突せず、暗号化プロトコル(例えばHDPC)要求を考慮した各データアイランドの一時的な場所と時間を決定する。好ましい実施の形態において、送信器は、データアイランドフォーマットにおいて以下のような制限に従っている。すなわち、データアイランドには少なくとも1つのパケットが含まれる(したがって、最小継続時間は36ピクセルクロックサイクルである)。各アイランドは整数のパケットを具備する。そして、(データアイランド中のデータの信頼性を確保するために)データアイランドには14パケット以上は含まれない。
送信器は、(伝送するためにエンコードされるべき)一連のビデオフレームにおけるアクティブビデオ期間及びブランキング期間が発生する、前のライン又はフレームから、送信器が次のライン又はフレームの発生する期間を自動的に知り、次のライン又はフレーム内に(HDCP再入力イベントのような)他のイベントを発生させる必要のある時を自動的に決定するよう設定される。このようにブランキング期間を自動的に決定することにより、送信器は、(次のアクティブビデオ期間又は次のHDCP再入力又は他の必要なイベントの前に、必要な同期信号が全て伝送されたとみなして、パケットの32ビットにデータアイランド保護帯域ワードの4クロックサイクルとビデオプレアンブルコードワードの8ピクセルクロックサイクルを加えた、少なくとも44ピクセルクロックサイクルを必要とする)データアイランドを開始すべきか、(パケットの32ビットに追尾保護帯域ワードの2クロックサイクルとビデオプレアンブルコードワードの8ピクセルクロックサイクルを加えた、少なくとも42ピクセルクロックサイクルを必要とする)他のパケットトともにデータアイランドを続けるべきかを決定することができる。もし、送信器が、データアイランド(又は付加的なパケット)の伝送が完了する前に他のアクティブビデオ期間の開始を期待する場合は、送信器は、一般にデータアイランドの伝送(又はデータアイランド内における他のパケットの伝送)を延期する。ビデオソースから送信器に新しいビデオデータのラインがアサートされたとき送信器がデータアイランドを伝送していたならば、送信器は、D-タアイランドが完了するまでソースからのビデオピクセルの入力を無視し、ビデオ先行保護帯域を伝送し、そしてはじめて、エンコードされたビデオピクセルの伝送を始める必要があるだろう。もちろん、表示するつもりであったピクセルを省略することは送信器にとって望ましくはない。
他の好ましい実施の形態において、送信器は、ブランキングインターバルの期間におけるレジスタの表示に基づいてデータアイランドの伝送を始めるよう設定される。このような実施の形態において、送信器には、一連のビデオフレームのアクティブビデオ期間及びブランキング期間が起こるとき(続いてフレーム及びラインが伝送される)と、続くフレーム及びラインの伝送中の(HDCP再入力イベントのような)他の必要なイベントが起こるときとを示すビットを記憶させることができるレジスタが含まれる。ホスト装置(例えばビデオソース)は、レジスタに入力するクリティカル値を表示するビットをロードすることができる。このことにより、送信器は、前のライン又はフレームから、一連のビデオフレームにおけるアクティブビデオとブランキング期間とクリティカルイベントが起こるときを、自動的に検出する回路を含める必要がなくなる。レジスタのビットにより示されるクリティカル値は、送信器にそのタイミングが知られた、例えば、HSYNCやビデオソースからのビデオDEの立ちあがり(アクティブビデオ期間の開始)への(送信器への)アサーションの、イベントと結び付けられる必要がある。例えば、送信器には、HSYNCの立ちあがり端(ビデオDEの又は立ち上がり又は立ち下がり端)のXピクセル後にビデオDEの立ち上がり端の発生を示すビットを記憶するレジスタを含ませることができる。送信器がHSYNCの次の立ち上がり端(または次のビデオDEの又は立ち上がり又は立ち下がり端)を見たとき、送信器中のカウンタはカウントを開始する。送信器がデータアイランドを伝送することを望むと判断したとき、カウンタをチェックし、そのときのカウンタ値から、現時点から次に予想されるビデオDEの立ち上がり端までのピクセルクロックサイクルが全てのデータアイランドを伝送するのに十分であるかどうかを判断する。
図13Aと13Cの回路は、2つのアクティブ期間の間にデータアイランドを挿入するかどうかを判断し、挿入すべき各データアイランドの時間的配置と継続時間を定め、各データアイランドを適当な時間スロットに挿入するために、好ましい実施の形態における本発明に係る送信器において実施されたものである。図13Aと13Cの回路は、図13の送信器における好ましい実施の形態において、マルチプレクサ118、コア114、及びサブシステム106と108に接続される。
図13Aの回路は、送信器がブランキングインターバル中にデータアイランドを挿入するのに(又は既に挿入したデータアイランドに他のパケットを追加するのに)十分な時間が現在のブランキングインターバル中に残っているかどうかを示す信号(「ok_to_xmit」)を発生する。図13Aのカウンタ140と142及びロジックユニット141と143は、ピクセルクロックと送信器にアサートされたデータイネーブル信号「DE」を受け取り、信号をリセットする。図13Bは、動作中、図13Aの回路により受信され生成された信号v_blk_inc,ok_to_xmit_h,ok_to_xmit_v,及びok_to_xmitのタイミング図である。
各垂直ブランキングインターバルにおいて、ユニット141は、タイミング信号「v_blk_inc」(DEの立ち上がり端において、送信器にアサートされたビデオの入力ライン毎に1回起こる立ち上がりエッジを生成する一連のパルス)をカウンタ140と142にアサートする。
各バーティカルインターバルの期間、カウンタ142は、信号「v_blank_inc」,DE,及びピクセルクロック(「clk」)の信号に応答して、バーティカルブランキングインターバルが始まってから経過したピクセルクロックサイクルの数を示す総計(「v_blk_count[5:0]」)を生成する。カウンタ140は、最後のDEの立ち上がり端、又は最後の「v_blk_inc」の立ち上がり端から経過したピクセルクロックサイクルの数を示す総計(「h_count[11:0]」)を生成する。このように、カウンタ140は、垂直ブランキングインターバル期間中であっても、「h_count[11:0]」を生成する。ロジック回路143は、カウンタ142から「v_blk_count[5:0]」値と、送信器にアサートされた入力ビデオの各垂直ブランキングインターバルのあらかじめ決められた長さを示す「v_blank_lth[5:0]」値を(一般には送信器のコンフィギュレーションレジスタから)受信する。これに応答して、ユニット143は、出力信号「ok_to_xmit_v」を生成する。出力信号「ok_to_xmit_v」の立ち上がり端は垂直ブランキングインターバルに受信した「v_blank_inc」の最初のパルスの端に一致し、「ok_to_xmit_v」の立ち下がり端は、データアイランドを挿入するための十分な時間が垂直ブランキングインターバル中にないときに発生する。ロジックユニット141は「h_count」値をカウンタ140から、送信器にアサートされた入力ビデオの各水平ラインのあらかじめ定められた長さを表示する「h_total[11:0]」値を(一般には送信器のコンフィギュレーションレジスタから)受信する。これに応答して、ユニット141は、出力信号「ok_to_xmit_h」を生成する。出力信号「ok_to_xmit_h」は、最後の水平ブランキングインターバル(又は「v_blank_inc」の最後のパルス)の終了から、あらかじめ定められた数のピクセルクロックサイクルが経過したときに立ち上がり端を持ち、データアイランドを挿入するに十分な時間が水平ブランキングインターバル中に残っていないとき立ち下がり端を持つ。
論理和ゲート144の1つの入力は、信号「ok_to_xmit_h」を受信し、論理和ゲート144の他の入力は信号「ok_to_xmit_v」を受信し、論理和ゲート144は、出力端に「ok_to_xmit」をアサートする。
図13Cの回路のロジックユニット151は、論理和ゲート144から信号「ok_to_xmit」を受信する。ロジックユニット151は、VSWOO(「VSYNC window of opportunity」)発生器150の出力、と信号「packet_req」(データアイランドにおいて送信器はパケット伝送準備が完了しているかどうかを示す)、「HDMI_mode」(データアイランドにおいて、シリアルリンクにパケットをアサートするモードで、送信器が動作しているかどうかを示す)、及び「hdcp_enc_en」(送信器のHDCP暗号化エンジンが有効かどうかを示す)もまた受信する。ロジックユニット151は、アクティブビデオアイランド期間同士の間にデータアイランドを挿入するために、及びデータアイランド中に各保護帯域及びパケットを伝送するために必要なタイミング及び制御信号を発生させるために設定されている。ユニット151は、以下の信号を出力することが好ましい。すなわち、vidDEnoGBとaudDEnoGB(HDCP暗号化エンジンにアサートされ、各々ビデオ保護帯域を含まないアクティブビデオ期間の部分と、データアイランド保護帯域を含まないデータアイランドの部分を示す)、vidDEとaudDE(各々アクティブビデオ期間とデータアイランドを示す)、DE(audDE と論理和演算されたvidDE)、hdcp_vs(チャンネルCH1とCH2における上述のHDCP暗号化表示を示すコードワードを送信器が伝送できる期間を示す)、data_sel[2:0](ビデオデータ、ビデオ保護帯域、先行又は追尾データアイランド保護帯域、あるいはパケット化されたデータアイランドデータがコントロールデータ期間とは別の時間に伝送されるべきことを示す)、control[3:0](コントロールデータ期間に伝送するためにエンコードされるCTL0、CTL1、CTL2、及びCTL3の値を示す)及びload_pkt(データアイランドのデータは伝送のためにパケット化されることを示す)である。ユニット151は、汎用目的カウンタ152からのカウント値(cnt)に応答して動作し、コントロールビット(ld_cnt)をカウンタ152がどこまで計数すべきかを決定するために、カウンタ152にアサートする。カウンタ152は、これらのコントロールビット、ピクセルクロック、及びリセット信号を受信するために、接続される。
VSWOO発生器150は、データイネーブル(DE)、ピクセルクロック(「clk」)、及び送信器へのVSYNC信号、及びリセット信号を受信し、送信器が上述のHDCP暗号化表示を伝送すべきVSYNCの各アクティブ端に続くあらかじめ定められた継続時間を持った 上述のwindow of opportunity(「WOO」)信号を生成する。発生器150は、WOOの継続時間を72ピクセルクロックサイクルに定めるよう設定することが好ましく、発生器150は、以下の信号を出力することが好ましい。すなわち、vswoo(WOOの期間、高となる)、vswoo_start_pとvswoo_end_p(WOOの始まりと終わりを示す)、vswoo_48_p(送信器へのVSYNCパルスのアサーション終了後48番目のピクセルクロックであることを示す)、vsync_end_p(送信器へのVSYNCパルスのアサーションの終了を示す)、及びde_start_pとde_end_p(ブランキングインターバルの始まりと終わりを示す)である。
ユニット151によりアサートされるタイミング信号により、各vidDEnoGBの立ち下がりから48ピクセルクロックサイクルの時点で(かつそれより早くない時点で)データアイランドのプレアンブルが伝送される。上述のとおり、本発明に係る送信器の好ましい実施の形態では、TMDSリンクのチャンネルCH0,CH1,及びCH2を利用して、各データアイランドの直前に8個の同一のデータアイランドプレアンブルコードワードのバーストと、各アクティブビデオ期間の直前に8個の同一のデータアイランドプレアンブルコードワードのバーストとが伝送される。好ましい実施の形態において、送信器は、データアイランドのプレアンブルコードワードの各バーストをアサートするのに先立って、各チャンネルCH1及びCH2を利用して、デフォールトのコントロールワード(「idle」)を送信する。
ピクセルクロック速度の変化により、しばしば、本発明に係るシステムにおいて、送信器と受信器との間で同期を失う結果となる。本発明の実施の形態に従い、(ピクセルクロック速度を変える前に)送信器と受信器を「消音(mute)」状態にすることで、送信器と受信器の暗号化及び復号化回路は同期を失うことなくピクセルクロック速度の変化に応答することができる。これは、送信器に(一般にはコントロールビットによる)警告を送信することにより実行することが好ましい。警告に応答して、送信器は、消音状態になり、パケット内に受信器警告(一般にはコントロールビットの1以上の消音状態により示される)を含ませ、パケットをデータアイランド期間中に受信器に伝送する。受信器に対する警告に応答して、受信器は消音状態になる。
警告に応答して、送信器は一般にフラグ(「AVMUTE」フラグ)をセットする。図13の送信器100における一般的な実施の形態において、警告はインターフェース101により受信され、送信器のレジスタ103及び/又はレジスタ105に「AVMUTE」フラグをセットさせる。受信器警告に応答して、受信器もまた一般にフラグ(「AVMUTE」フラグ)をセットする。図14の受信器200における一般的な実施の形態において、受信器警告は、受信器のレジスタ203及び/又はレジスタ205にAVMUTEフラグをセットさせる。送信器内のAVMUTEフラグに応答して、暗号化回路(例えば、図13の送信器100における暗号化エンジン104)は、ビデオの現在のフレーム処理を完了した後アイドル状態に移行する。受信器内のAVMUTEフラグに応答して、暗号化回路(例えば、図14の受信器200における暗号化エンジン204)は、ビデオの現在のフレーム処理を完了した後アイドル状態に移行する。送信器は、暗号化回路がアイドル状態に移行すると、消音状態になり、受信器は、暗号化回路がアイドル状態に移行すると、消音状態になる。
本発明に係る送信器の好ましい実施の形態において、AVMUTEフラグをセットした後に起こる次の垂直ブランキングインターバルにおけるVSYNCのアクティブ端に続く、window of opportunity(上述の「WOO」)の終わりに、暗号化回路の動作が凍結する(そしてアイドル状態に移行する)。このとき、送信器は消音状態になり、パケット内の有用な補助データ(例えばオーディオデータ)の伝送を停止し、有用なビデオ情報の伝送を停止する(例えば、送信器のビデオとオーディオの出力は、アサートされた入力オーディオとビデオに応答して変化することはない)。送信器は(消音状態において)、データアイランドの期間(例えば、VSYNCがアクティブでないときデータアイランド期間に、パケット内の1以上のビットとして、好ましくは先のアクティブ期間のHSYNC期間)に受信器に受信器警告を送信する。
本発明に係る受信器の好ましい実施の形態において、受信器のAVMUTEフラグをセットした後に起こる次の垂直ブランキングインターバルにおけるVSYNCのアクティブ端に続く、window of opportunity(上述の「WOO」)の終わりに、暗号化回路の動作が凍結する(そしてアイドル状態に移行する)。このとき、受信器は消音状態になり、パケット内の有用な補助データ(例えばパケットから抽出されたオーディオデータ)のアサートを停止し、有用なビデオ情報の出力端におけるアサートを停止する。このように、消音状態の動作において、リンクを介して受信器に、送信器がたとえ有用な情報(例えばビデオ及び/又はオーディオ)の伝送を止めなかったとしても、消音状態にある受信器は、見え、聞こえ、又は出力端から再送される、どんな有用な情報も遮断する。
送信器における暗号化回路と受信器における復号化回路がアイドル状態になったとき、ピクセルクロック速度の変化が起こりうる。ピクセルクロックが決定し、受信器の全てのPLLが決定した後、送信器と受信器に(「消音停止(mute off)」命令に応答して)消音状態を解除させ、オーディオとビデオの暗号化と復号化と「消音解除(unmuting)」状態を回復するメッセージを送信することが好ましい。ピクセルクロックレートが変化している間、本発明に係る一般的な実施の形態では、受信したデータの信頼性のあるデコード能力を失う。この期間、全ての信頼の置けない信号は受信器のデコーダから出てくるかもしれない。このため、ピクセルクロックの変化は、受信器が消音状態の間に起こり、受信器の出力は消音状態の期間消されることが好ましい。
消音状態からの解除は、「消音停止(mute off)」信号(一般にはコントロールビットにより指示される)を送信器に送ることにより実行することが好ましい。消音停止(mute off)信号に(及び、好ましくは暗号表示にも)応答して、送信器は、消音状態を解除し、「受信器消音停止(receiver mute off)」データ(一般には1以上の消音状態コントロールビットにより表示される)をパケットに含み、そしてこのパケットをデータアイランド期間に受信器に伝送する。受信器消音停止データに(及び、好ましくは好ましくは暗号表示にも)応答して、受信器は消音状態を解除する。
一般に、消音停止信号により送信器は上述のAVMUTEフラグと「受信器消音停止(mute off)」データを消去し、受信器はAVMUTEフラグを消去する。送信器におけるAVMUTEフラグの消去に応答して、送信器内の暗号回路(例えば暗号化エンジン104)は、AVMUTEフラグが消去された後に起こる次の垂直ブランキングインターバルにおけるVSYNCのアクティブ端に続いてアサートされる暗号表示に応答して自由にアイドル状態から抜け出せる(送信器は、暗号表示を受信すると、消音状態を解除する)。受信器におけるAVMUTEフラグの消去に応答して、受信器内の暗号回路(例えば暗号化エンジン204)は、AVMUTEフラグが消去された後に起こる次の垂直ブランキングインターバルにおけるVSYNCのアクティブ端に続いてwindow of opportunityで受信される暗号表示(例えば上述のHDCP暗号表示)に応答して自由にアイドル状態から抜け出せる。受信器はこの暗号表示を受信すると、消音状態を解除する。
好ましい実施の形態において、本発明は、伝送されたデータを受信し処理するためのほとんどの又は全ての必要な回路を具備する第1のチップ(例えば図2の受信器2’、又はEEPロム24を除く図2の受信器2’)と、強化されたディスプレイ識別データ(EDID)ロム(一般にはEPロムとして組み込まれる)を具備するもう1つのチップとを少なくとも具備するマルチチップモジュール(「MCM」)である。工場において、EDIDロムチップは、受信器の構成及び/又は能力と共に、及び、付加的に暗号化のために用いるキーと識別データと共にプログラムされる。場合によって、このようなMCMには、暗号化のために用いるキーと識別データを安全に保存するEEPロム(例えば、図2のEEPロム24)を具備する3番目のチップを含ませることができる。
他の好ましい実施の形態において、本発明に係る送信器は、暗号化のために用いるキーと識別データ、及び、インフォフレームデータを安全に保存するPロム(例えば、図2のEEPロム14)を具備する。上述のとおり、EIA/CEA−861B仕様により、デジタルオーディオ及び/又はデジタルビデオデータに関するフォーマット情報と関連する情報を具備する1以上のインフォフレームからなるインフォパケット構造を定義する。Pロムに保存されたインフォフレームデータはこのようなフォーマット情報と関連情報を示すものであることが好ましい。ある実施の形態においては、Pロムは、MCM内の別のチップとして提供され、MCMはデータをエンコード処理し伝送するために必要な回路のほとんど又は全てを提供する他の1つのチップを少なくとも具備する。このような別のPロムチップは、工場で、HDCP又は他の暗号化キーデータ及びインフォフレームデータと共にプログラムされ、MCOMに安全に組み込まれる。
他の実施の形態において、本発明に係る送信器又は受信器は、選択的にホストがアクセス可能な領域(例えば、テストモード動作のとき、例えばテスト結果ヤ送信器の構成や受信器の構成をテストのためにホスト装置から読み込み可能な領域)と、ホストがアクセスできない領域(例えば、暗号化や復号のために用いられるキー及び識別データを安全に保存するため用いられる)とを持つロムを含むチップを具備するMCMである。例えば図2のEEPロムは、このようなチップとして提供され、図2の送信器1’は、他のチップとして提供され、両方とも、MCMの中に組み入れられる。EEPロム14の集積回路としてこのように組み込まれたようなホストがアクセスできない領域には、送信器1’に組み込まれた集積回路によってのみアクセス可能であり、送信器1’以外のどんな部品からもアクセスできない、HDCPキー及び/又は暗号化キーデータを保存することができる。
他の実施の形態において、本発明に係る送信器又は受信器は、暗号化と復号のために用いられるキーと識別データ(例えばHDCPキー)、及び/又は、強化されたディスプレイ識別データを保存する少なくとも1つのPロムを具備する集積回路として提供される。本発明に係る送信器のこのような集積回路として提供されたPロムは、HDCP又は他のキーと共に工場でプログラムされるべきである。本発明に係る受信器のこのような集積回路として提供されたPロムは、HDCP又は他のキー及び/又は受信器の構成及び/又は能力を示すEDIDデータと共に工場でプログラムされるべきである。
実施の形態において、本発明に係る送信器は、好ましくは上述のインフォフレームパケットフォーマット及び他のフォーマットを持つインフォーメーションパケットを含む、どんなフォーマットでも(データアイランドにおいて)パケットを伝送するよう設定される。もし受信が特殊なフォーマットでパケットを受信するよう設定されるなら、このようなフォーマットを示すデータを(例えばEDIDロムに)保存するよう設定することが好ましく、送信器は、このデータに(TMDSリンクのDDCチャンネルを介して)アクセスし、このようなフォーマットで受信器にパケットを伝送することで応答するよう設定することが好ましい。あるいは、受信器は、送信器が受信器にパケットを送るときに使うべきフォーマットを定義するために、送信器に信号を送ることもできる。
このように送信器を組み込むことによって、将来パケットのフォーマット(例えばパケットフォーマット情報)を、一度に受信器に伝送するのか繰り返して受信器に伝送するのかのどちらでも定義することが可能となる。
送信器と受信器は、パケット(例えば修正可能なパケット)の自動伝送を制御するため2ビットの信号装置(あるいは、他の信号装置)を用いるよう設定することが好ましい。例えば、送信器と受信器は、インフォフレームパケット又は他のフォーマットのパケットを制御するために、お互いに2ビットのコードを送るように設定する。1つのビットは「送信」ビットである。受信器は、送信器にパケットの送信又は送信の停止を行わせるために、送信ビットを送信器に送る。2番目のビットは、「繰り返し」ビットである。送信器は、「繰り返し」ビットに、受信器が繰り返されたパケットを伝送していることを示す値で上書きすることで受信器からの送信ビットに応答し、そして、受信器にこのような「繰り返し」ビットを含む2ビットコードを送信するように設定される。受信器は、送信器にもう1つ別の送信ビットをアサートすることでこれに応答する。ある実施の形態においては、この2ビットコードは、他の1以上のチャンネル(例えばTMDSリンクのCH0,CH1,及びCH2)を用いてパケットの伝送を行わせるために、DDCリンク(又は他の送信器と受信器との間での双方向チャンネル)を用いて送信される。本発明に係る送信器及び/又は受信器は、伝送されたあるいは伝送されるべきオーディオ及び/又はビデオデータに関するオーディオ及び/又はビデオフォーマット情報とそれに関連する情報のような、インフォフレームパケット(又は他のフォーマットを持つ情報パケット)から抽出されたデータを保存するために外部装置から(I2Cリンクを介して)アクセス可能なレジスタスペースを具備する。例えば、外部情報源は、送信器のこのようなレジスタにこのようなデータをロードすることができ、送信器は、データアイランド期間に受信器に送信するためのパケットに含めるためのデータを得るためにレジスタを読み取ることができる。送信器は、インフォフレームパケット(又は他の情報パケット)の具体的な時間スロットにレジスタ空間をマッピングするよう設定されることが好ましく、例えば、レジスタからの(外部情報源から受信しレジスタに保存された)ビットを読み取るように設定された回路を具備し、インフォフレームパケットトして伝送するために、具体的にあらかじめ決められたアセンブルされたデータのストリームの時間スロットにこのビットを挿入する。受信器は、(データアイランド期間に、例えばTMDSリンクのCH0,CH1,及びCH2を用いて)受信器に送られたパケットからデータを抽出し、アクセス可能なレジスタ(例えば図14のレジスタ205)に抽出したデータを保存することが好ましい。これで、外部装置は、好ましくはI2Cリンクを介して、受信器のレジスタにアクセス可能となる。例えば送信器は、TMDSリンクのDDCチャンネルを介して、受信器のレジスタにアクセス可能となり、あるいは、ホスト装置は、TMDSリンクのDDCチャンネル以外のI2Cリンクを介して、受信器のこのようなレジスタにアクセス可能となる。
受信器は、ホスト(例えば受信器につながったCPU又は他のプロセッサ)が保存されたパケットにアクセスすることができるよう、(TMDSリンク又は他のシリアルリンクを介して受信した)認識されなかった情報パケットを保存するよう設定することが好ましい。これにより、このような保存されたパケットを解析するためのソフトウエアをホストにプログラムさせることができ、解析されたパケットに記載された方法で、リンクを介して伝送されるべきオーディオ及び/又はビデオデータを処理するよう受信器に対して設定を行うためのビットを、受信器のレジスタに保存させることが好ましい。
本発明に係る受信器には、TMDSリンク(又は他のシリアルリンク)を介して受信した補助ビデオ情報(AVI)インフォフレームパケットを解析し、自動設定カラー空間変換(CSC)回路、色度上昇/下降サンプリング回路、及びパケットにより定められた方法で、付加的にビデオ処理を行う他の回路のハードウエアが組み込まれていることが好ましい。このように、AVIインフォフレームパケットが(データアイランド中に)ビデオと共に受信器に伝送されると、受信器は、ビデオを処理するために、ビデオ処理回路を適切に設定することによりAVIインフォフレームパケットのデータに対応することができる。
本発明に係る受信器には、TMDSリンク(又は他のシリアルリンク)を介して受信したオーディオインフォフレーム(AI)パケット(又は他の情報パケット)を解析し、このパケットにより定めた方法で受信器中のオーディオデータ処理回路を自動設定するハードウエアが組み込まれていることが好ましい。このように、AIパケットがデータアイランド中に、オーディオと共に受信器に伝送されると、受信器は、オーディオを処理するために、オーディオデータ処理回路を適切に設定することによりAIパケットのデータに対応することができる。AIパケットは、オーディオが圧縮されているかどうかなどの様々な情報を表示することができる。
好ましい実施の形態において、本発明に係る送信器は、少なくとも1つのI2Sリンクを介して、オーディオ又は他の補助データを受信するよう設定された入力インターフェース(例えば、図13の好ましい実施の形態におけるインターフェース109)を持ち、各I2Sリンクを介して受信した入力データを、パケットのシリアルリンクを介して伝送するために(好ましくは、上述のフォーマットを持ったオーディオサンプルパケットにおけるデータアイランド期間にTMDSリンクのCH0,CH1,及びCH2を介して伝送するために)フォーマットするよう設定される。「I2S」の表現はここでは広い意味で用いられ、データ(一般にはオーディオデータ)に対応する第1の導線、ビットクロックに対応する第2の導線、及びワードクロック(例えば、第1の導線を用いて送られたデータのチャンネルを特定するための左/右ワード選択クロック)を含む3本の導線によるリンクを意味する。受信器は、少なくとも1つのI2S出力ポートを持ち、伝送されたパケット(例えばオーディオサンプルパケット)からオーディオデータを抽出し、少なくとも1つのI2Sリンクを介してアサートするために必要なデータとして抽出したデータをフォーマットし、抽出したデータをI2Sフォーマットで少なくとも1つのI2S出力ポートアサートするように設定される。
本発明に係る送信器は、I2SリンクからのPCM入力データ(すなわち、非圧縮I2Sデータ)を受け取るように設定され、入力データに応答して、S/PDIFオーディオデータを伝送するために、上述の本発明に係る好ましい実施の形態に用いられたものと同じフォーマットのオーディオサンプルパケットで伝送するためのデータとして再フォーマットするよう設定された、入力インターフェースを持つことが好ましい。送信器は、必要な再フォーマット処理を行うために(入力データソースから)入力データフォーマットを示すチャンネル状態ビットをプログラムしたレジスタを採用することが好ましい。例えば、I2Sデータワードの第1のサイクルで、送信器は、I2Sデータビットクロックの選択された端で入力データをサンプルすることができ、このサンプルを(FIFOを経由して)S/PDIFサンプルの「左」チャンネルに対するサブパケットのタイムスロットに挿入し、そして、I2Sデータワードの次のサイクルで、I2Sデータビットクロックの選択された端で入力データのサンプル処理を続け、このサンプルを(FIFOを経由して)S/PDIFサンプルの「右」チャンネルに対するサブパケットのタイムスロットに挿入する。オーディオデータのサンプルに沿って、適切なチャンネル状態、有効性、ユーザデータ、及びパリティビットがサブパケットの適切なタイムスロットに挿入され、適切なタイミングでパケットヘッダにスタートビットが挿入されることが好ましい。
好ましい実施の形態において、本発明に係る送信器は、1から4までのI2Sリンクからのオーディオデータ入力を受信することができるインターフェースを有する。このような実施の形態において、送信器は、1、2、3、又は4のI2Sリンク上のマルチチャンネルシステムからのオーディオ入力データを受信し、パケット(好ましくは、上述のフォーマットを持ったオーディオサンプルパケット)として伝送するためにデータをフォーマットすることができる。マルチチャンネルシステムにおいては、I2Sリンクは、(I2S導線の3、6、又は12の入力の全ての情報が、3、4、5、又は6の入力I2S導線、すなわち1本のビットクロック導線、1本のデータクロック導線及び1、2、3又は4本のデータ導線に含まれるように、)全て同じビットとワードクロックを用いる。他のこのような実施の形態において、送信器は、各I2S入力が(全ての入力I2S導線から受け取ったビットがパケット化されるように)独立のクロックを持っていたとしても、4つのI2S入力の内の1つから入力オーディオデータを受け取ることのできる入力インターフェースを持ち、パケット(好ましくは、上述のフォーマットを持ったオーディオサンプルパケット)として伝送するためにフォーマットする。
好ましい実施の形態において、本発明に係る送信器には、データを伝送するためにパケット化する可能なチャンネル/スピーカ配置により制限された中で、入力オーディオデータのストリーム/チャンネルのマッピングを再設定することのできるマルチプレクサ回路が(例えば、図13のインターフェース109のデータキャプチャブロックに)含まれる。したがって、このような送信器は、あらゆるフォーマットの入力オーディオデータ(例えば1以上のI2Sリンクからの入力オーディオデータ)を受け入れることができ、このデータを、パケット(好ましくは、上述のフォーマットを持ったオーディオサンプルパケット)として伝送することができる他のフォーマット(各々特有のストリーム/チャンネルマップ処理により)に再フォーマットすることができる。
S/PDIFデータのストリームは、(データサンプルに埋め込まれた)独自のクロックを持つ。ある実施の形態においては、本発明に係る送信器は、入力S/PDIFデータ(一般には、S/PDIFオーディオデータ)のストリームを、入力データに埋め込まれたクロックとの位相関係が未知であるピクセルクロックでサンプルし、その後、ピクセルクロックでサンプルされたデータを伝送するよう設定される。他の実施の形態において、送信器は、入力S/PDIFデータのストリームを、少なくとも256*Fs(又は、好ましい実施の形態においては384*Fs)の周波数を持つオーディオリファレンスクロック(ここでは、しばしば「MCLK」又はマスタークロックと称す)によりサンプルするよう設定される。ここで、Fsは、S/PDIFデータのサンプルレートであり、入力データに埋め込まれたクロックとの位相関係は未知である。
ある実施の形態においては、本発明に係る送信器は、多数の独立な同期化可能なS/PDIFのストリームを受け取り同期化するように設定される。
本発明に係る送信器は、フラットラインのS/PDIF入力(全部ゼロからなる)をパケットで効率的に伝送できるフォーマットに変換するよう設定される。例えば、送信器は、関連するサブパケットが「フラットライン」サンプル(すなわち、全部ゼロからなるサンプル)を含むかどうかを示す4ビットのパケットヘッダを定めるように設定される。例えば、送信器は、関連するサブパケットが「フラットライン」サンプルを含むかどうかを示すパケットヘッダの3番目のバイトにおける4つのLSBを定めるよう設定される。この場合、受信器は、これらのどの「1」値も、ヘッダの対応する2番目のバイトにおける「現在の」ビットが対応するサブパケットがサンプルを含むことを示している場合のみ、有効であるとして扱うよう設定されることが好ましい。
好ましい実施の形態において、本発明に係る送信器は、DSD(Direct Stream Digital)入力データを受け取り、この入力データをIEC60958タイプのパケットでデータアイランド期間に伝送するよう変換する。従来のDSD(Direct Stream Digital)フォーマットのオーディオデータは3本の導線によるリンク、つまり、一本の導線はビットクロック、2本の導線は各々異なるチャンネル(すなわち、1つは左チャンネルの導線、1つは右チャンネルの導線)、により伝送される。受信器は、少なくとも1つのDSD出力ポートを持ち伝送されたパケット(例えばオーディオサンプルパケット)からオーディオデータを抽出し、アサートするのに必要なDSD出力のストリームとして抽出されたデータを再フォーマットし、そして少なくとも1つのDSD出力ポートに、抽出されたDSDフォーマットのデータをアサートすることが好ましい。
本発明に係る送信器は、DSD入力データを受け取るよう設定された入力インターフェースを持ち、DSD入力データに応答して、S/PDIFオーディオデータを伝送するために、上述の本発明に係るシステムの好ましい実施の形態として用いたものと同じフォーマットを持つオーディオサンプルパケットとして伝送するために、このデータを再フォーマットすることが好ましい。送信器は、必要な再フォーマットを実行するために、(入力データソースから)入力データフォーマットを示すチャンネル状態ビットがプログラムされたレジスタを採用することが好ましい。
好ましい実施の形態において、本発明に係る送信器は、DSDフォーマットの入力オーディオにおける複数のストリームを受け取る能力のある入力インターフェースを持つことが好ましい。このような実施の形態において、送信器は、(全ての入力DSD導線において受信されたビットをパケット化するように)各DSDのストリームが独立のクロックを持っていても、複数のDSDリンクからのDSDフォーマットの入力オーディオデータを受け取ることができる入力インターフェースを持ち、パケットとしてデータを伝送するために(好ましくは上述のフォーマットを持つオーディオサンプルパケットとして)フォーマットする。
送信器が上述のように、I2Sフォーマット(一本の導線はビットクロック、一本はL/Rクロック、もう一本はデータ、の3本の導線による)の入力オーディオデータを受け取るよう設定されている場合は、同じ3本の導線の入力ポートで、DSDフォーマットのオーディオデータを受け取り伝送するよう設定されていることもまた好ましい。このような送信器には、上述のフォーマットを持ったオーディオサンプルパケットとして伝送させるよう入力データをフォーマットするために3個の入力のストリームを回路に割り付けるマルチプレクサが含まれることが好ましい。
好ましい実施の形態において、本発明に係る受信器は少なくとも1つのI2S出力インターフェースを持ち、オーディオサンプルパケットからPCMデータを復元させ、復元されたデータを(例えば、送信器から送られたオーディオインフォフレーム(AI)パケットでオーディオサンプルパケットと共に受信器に送るチャンネル状態ビットでプログラムされたレジスタを用いて)I2Sフォーマットに変換するよう設定される。
好ましい実施の形態において、受信器は、1から4のI2S出力(各出力は3導線のI2Sリンクに接続されるよう設定されている)からI2Sフォーマットで(オーディオサンプルパケットから復元された)オーディオデータを出力するよう設定される。
好ましい実施の形態において、本発明に係る受信器は、4個の内の1つのI2S出力(異なった出力に、独立の異なったクロックを持った、異なったI2Sデータのストリームをアサートしたものを含む)からI2Sフォーマットで(オーディオサンプルパケットから復元された)オーディオデータを出力するよう設定される。
好ましい実施の形態において、本発明に係る受信器には、データのパケット化のためにチャンネル/スピーカに対する割り当ての可能性による制限範囲で、パケットから抽出されたオーディオデータのストリーム/チャンネルへの割付を再設定するマルチプレクサ回路が含まれる。したがって、このような受信器は、パケット(好ましくは上述のフォーマットを持つオーディオサンプルパケット)からデータを抽出し、パケット化された許容されるフォーマットの内の異なったフォーマットから抽出したデータを再フォーマットした後、どんなフォーマットのオーディオデータでも(1以上のI2Sリンクで)出力する。
好ましい実施の形態において、本発明に係る受信器は、S/PDIFフォーマットでデータを出力するよう設定される。この受信器は、フラットラインのS/PDIFデータ(全てゼロからなる)を示すパケット化されたコードをS/PDIFフォーマットのフラットライン出力データに変換するよう設定される。ある実施の形態においては、受信器は、対応するサブパケットが「フラットライン」サンプルを含むかどうかを示した4ビットのパケットヘッダを認識するよう設定される。例えば、受信器は、パケットヘッダの3番目のバイトにおける4個のLSBを、対応するサブパケットには「フラットライン」サンプルが含まれるかどうかを示すものとして認識し、これらのLSBを、ヘッダの2番目のバイトにおける対応する「現在の」ビット(2番目のバイトにおける4個のLSBの内の1つ)は、対応するサブパケットがサンプルを含むことを示している場合にのみ、「1」値として扱うよう設定される。
本発明に係る受信器は、エンコードされたDSDデータを含むオーディオサンプルパケットに応答したDSDフォーマットでデータを出力するよう設定される。受信器は、エンコードされたDSDデータを含むオーディオサンプルパケットに応答して、独立のクロックで複数のDSDデータのストリームを出力するよう設定されることが好ましい。受信器が出力ポートにおいて、オーディオサンプルパケットに応答して、(一本の導線はビットクロック、一本はL/Rクロック、もう一本はデータ、の3本の導線に接続するため)I2Sフォーマットでオーディオデータを出力するよう設定されている場合、同じ出力ポートにおいて、DSDフォーマットでオーディオデータを出力するよう設定することが好ましい(例えば、受信器には、オーディオサンプルパケットから復元した3個の入力のストリームを適当な出力ポートの導線に割り当てるようなマルチプレクサが含まれる)。
本発明の好ましい実施の形態によれば、シリアルリンクを介するオーディオの伝送は、ピクセルクロックのみによりなされ、その結果、元のオーディオサンプルクロックはオーディオクロックリジェネレーション(Audio Clock Regeneration「ACR」)として知られる操作により受信器で再生成させなければならない。
上述の通り、本発明に係る好ましいシステムは、(TMDS又は他のシリアルリンクを介してデータアイランド中に伝送されたオーディオデータの)オーディオクロックを示すタイムスタンプ(「CTS」値)を伝送し、オーディオクロックリジェネレーションに用いる「CTS」値と「N」値の両方を含んだ「オーディオクロックリジェネレーション」パケットを伝送することが好ましい。「N」値は、受信器がピクセルクロックにオーディオクロックを再生成させるために乗算する分数の分子を示す「被序数」値である。
本発明に係るシステムの受信器に組み込むことのできる種々のクロック再生成方法がある。多くのビデオ源になる装置では、共通のクロックからオーディオとビデオクロックが生成される。この場合、オーディオとビデオクロックとの間には合理的な関係(整数を整数で割り算する)が存在する。クロックを再生成させる機構は、この合理的な関係を利用することができ、これらの2つのクロックにこのような関係がないような環境においても、すなわち、2つのクロックが完全に非同期でそれらの関係がわからない場合でも、機能できる。
図15は、本発明に係るオーディオクロックリジェネレーションのためのシステムの好ましい実施の形態に用いられる全体的なシステム構成のブロック図である。送信器は、ピクセルクロック(ビデオクロック)とオーディオリファレンスクロック(「MCLK」又はマスタークロックとして知られる。MCLKがZ*Fsに等しい周波数を持つ場合、Fsはオーディオサンプル速度で、Zは一般にY*128等しい。ここで、Yは1、2、又は3のような小さな整数である)との分数関係を決定する。送信器は、この関数の分子(「N」)と分母(「CTS」)、及びピクセルクロックを、(送信器におけるフォーマット処理、エンコード処理、及び送信回路138を経由して)シリアルリンクを介して受信器に送る。受信器の受信及びデコード処理回路139は、ピクセルクロックとNとCTSの値を示すデータを受け取り、受信器は、クロック除算器132とクロック乗算器133とを用いて、ピクセルクロック(この周波数は「PixelClock」を意味する)からMCLKクロックを復元する。クロック乗算器133は、一般に、図16に示すように接続された位相検出器134、ローパスフィルタ135、電圧制御発振器136、及び周波数分割器137を有するPLLとして実施される。MCLKの周波数と、ピクセルクロックとの正確な関係は、Z*Fs=PixelClock*N/CTSである。
送信器は、分子「N」の値を決め、図15に示すように、レジスタ129に「N」(一般には、入力データ源から入力される)を示すデータを保存する。Nの値はクロック除算器で用いられ、ここでは、MCLK(Z*Fsの周波数を持つ)も受け取り、MCLKよりNで除算した分だけ遅い中間クロックを発生する。ピクセルクロックと中間クロックは、カウンタ131にアサートされる。カウンタ131は、中間クロックの各サイクル期間に(最後のCTS値をアサートしてから)経過したピクセルクロックサイクルの数を計数することで、CTS(サイクルタイムスタンプ)数を生成する。
NとCTSの値を示すデータは、受信器に(好ましくは、データアイランド期間にTMDSリンクを介して、フォーマットされ、エンコードされ、送信回路138により伝送された各オーディオクロックリジェネレーションパケットに入れて)伝送され、ピクセルクロックは、受信器にアサートされる。ピクセルクロックは、TMDSリンクのクロックチャンネル(例えば図2のチャンネルCHC)で(図15の回路138により)受信器に伝送されることが好ましい。MCLKとピクセルクロックとの間に一定の分数関係があり、2つのクロックが正確に同期するなら、引き続くCTS値は急速に一定値収束する。MCLKとピクセルクロックが非同期なら、又はそれらの間にいくらかのジッタがあるなら、引き続くCTS値は一般に2つ又は3個の異なる値の間を交互に取る。
好ましい実施の形態において、本発明に係る送信器は、128*FSの倍数の周波数を持つMCLK(ちょうど128*FSの周波数を持つMCLKではない)を受け取るように設定され、同じ被除数値「N」を用いてこのようなMCLKを周波数分割するように設定される。
他の好ましい実施の形態(ここでは、いくつかのタイプのオーディオデータが送信器に入力される、そしてその各々は、FS=32kHzのデータ、FS=44.1kHzのデータ、及びFS=48kHzのデータのような異なったサンプル速度を持つ)において、本発明に係る送信器は、オーディオクロックを「割り下げた(divided-down)」もの(周波数が全ての可能なオーディオサンプル周波数の最大公約数である)を基準にしたオーディオクロックを受け取るよう設定される。このようなオーディオクロックの周波数は、Z*Fs/Mであり、ここでZとMは整数、Fはオーディオサンプル周波数、そしてFs/Mは、可能な全てのオーディオサンプル周波数の最大公約数である。このような送信器と共に使用するために、受信器は、「割り下げた」オーディオクロックを送信器のタイムスタンプから再生成させるように設定され、さらに、再生成されたクロックから、適当な値を再生成されたクロックの周波数に乗算することにより元のオーディオクロックを生成するよう設定されていることが好ましい。
最小の周波数(ここでは「ベース周波数」と称す)の小さな組を乗算したいくつかのクロック周波数でのデータをサポートするために交信リンクが必要なときは、要求の周波数に対応するベース周波数のみが伝送に必要とされ、受信器において、要求の周波数はベース周波数に適当な係数を乗算することで再生成させることができる。これは、受信器に単純でおそらくもっと信頼性の高いクロックの再生成を行うPLLを実行させるという利点がある。
例えば、一般にオーディオフォーマットに使われているデータ速度は、32kHz又は48kHzの倍数である。両方の周波数をサポートするよう設計したPLLは32kHzから48kHzまでの周波数レンジを必要とする。もしデータが割り下げたオーディオクロック(周波数が最大公約数の16kHz)で伝送されるなら、クロック再生成PLLは、リファレンス周波数が16kHzになるよう実行される(受信器は、元のオーディオクロックを再生成させるために、2と3の係数を持つ周波数乗算回路を含むよう設定される必要がある)。
代案として、もっと複雑な実施の形態では、伝送クロック周波数として32kHzを用いることである。この場合のオーディオデータの伝送周波数は48kHzであり、2つの欠点があるため、この実施形態を非効率的なものにしている。第1に、送信器の側で、48kHzのクロックは、2/3倍演算回路を用いて32kHzのクロックを再合成しなければならず、これは送信器の側に複雑なPLLを必要とする。一方、前段落で説明した実施形態では、ハードウエア内でもっと効率的に実施できる分割器(カウンタ)を送信器の側に必要とするだけである。同様に、受信器の側で、受信した32kHzのクロックを必要とする48kHzのクロックに再合成するために、3/2倍演算回路を必要とする。これは、複雑なクロック発生回路を受信器に必要とし、2つの可能な実施形態がある。1つは、PLLの位相検出器(例えば図16の位相検出器134)の前に(32kHzクロックを発生した周波数を半分にする)周波数除算器を置き、PLLの周波数除算器により3分割する(図16の周波数除算器の実施においてN=3とする)。又は、3分割周波数除算器(図16の周波数除算器の実施においてN=3とする)を有するPLLをおき、その後に、PLLで作られた96kHzのクロックの周波数を半分にする周波数除算器が続く。プロセス技術や今までのデザインの再利用のような要因により、一般には、2番目の実施形態はVCO出力(96kHz)が実際に必要とする最大の周波数(48kHz)より高く、このことは、必要以上にPLLVCOの設計を困難にするという欠点があるが、これらのPLL設計の内の1つが最も効率的であろう。
上記の例では、オーディオクロックの周波数を32kHz及び48kHzと想定したが、これは単に例示を目的としたものである。実際には、インパンに用いられるオーディオ周波数は現在32kHz、44.1kHz、及び48kHzのx1、x2、及びx4倍したものとなっており、さらに高いあるいは低い倍数の周波数が開発されつつある。
3個の一般に用いられる周波数32kHz、44.1kHz、及び48kHzに対しても、16kHz(=32kHz/2=48kHz/3)又は22.05(=44.1kHz/2)に等しい基本周波数(B)または、両方の基本周波数の積(MB)を持つオーディオクロックを送信器にアサートし、送信器に、タイムスタンプ(CTS値)、分子値「N」と「L」、分母値「D」及びピクセルクロックを、このようなオーディオクロックに応答して受信器にアサートするよう動作させることで、本発明に従った、受信器の実施形態の単純化が行われている。受信器は、タイムスタンプとピクセルクロックから(B/Nの周波数を持った)中間クロックを再生成させる周波数除算器(図15における回路132の実施形態)と、PLLを有する再生成回路(図15における回路133の実施形態)とで実行され、「N」と「L」から、必要な周波数BL=32kHz、BL=44.1kHz、BL=48kHzのいずれかの周波数を持ったオーディオクロックを再生成させるために、中間周波数を適切に乗算することを成し遂げる。このことは、受信器の再生成回路におけるPLLの参照周波数の範囲を32kHz−48kHzから16kHz−22.5kHzに減らすので、設計上の要求を緩和させる。この実施の形態においては、送信器にPLLを必要とせず、また、受信器におけるPLLの実施における要求が減らされる。サポートする入力オーディオ周波数の範囲を増大させるために、受信器での簡単化した実施の形態は、これに応じて大きくなる。
もっと一般的には、本発明の好ましい実施の形態において、送信器は「割り下げた」入力オーディオクロックの基準とする(周波数Bが、可能な全ての入力オーディオクロック周波数の最大公約数である)オーディオクロックを受け取り、タイムスタンプ(CTS値)、分子値「N」と「L」、分母値「D」及びピクセルクロックを、このようなオーディオクロックに応答して受信器にアサートするよう設定される。受信器は、タイムスタンプとピクセルクロックから(B/Nの周波数を持った)中間クロックを再生成させる周波数除算器(図15における回路132の実施形態)と、PLLを有する再生成回路(図15における回路133の実施形態)とで実行され、「N」と「L」から、周波数BL(BLは、可能な全てのサンプル周波数の内のいずれかに等しい)を持ったオーディオクロックを再生成させるために、中間周波数を適切に乗算することを成し遂げる。あるいは、送信器は「L」値をアサートせずに、受信器の再生成回路が中間クロックと「N」値から「割り下げた」(Bに等しい周波数を持つ)入力ビデオクロックのみをアサートする。
タイムスタンプ値(「CTS」値)とピクセルクロックを受信器に送信することでオーディオクロックが伝送される本発明に係るシステムの好ましい実施の形態において、送信器は、オーディオクロック(図15の送信器にアサートされたMCLK)とピクセルクロックが共通のクロックから由来するという意味で一貫しているとき、両方のクロックを同期化するための自動位相調整を行うよう設定される。これはタイムスタンプ値が時間の経過と共に変化しないことを担保する。ピクセルクロック(以下では「ビデオクロック」とも称す)とオーディオクロックが同期又はほぼ同期されているとき、オーディオクロック情報は、オーディオクロック毎のビデオクロック期間の数を数えることでリンクを通して送られる。もしオーディオとビデオが同期しているならば、この数は一定となるべきである。しかしながら、オーディオクロックの立ち上がり端がビデオクロックの立ち上がり端のごく近くで起こっているならば、少量のジッタによりオーディオクロックの端がビデオクロックの端の前後を動いてしまう。このことは、時間の経緯により、「オーディオクロック毎のビデオクロック期間」(「CTS」値)が変化する結果となる。CTS値におけるこのジッタは、元のオーディオクロックにおける少量のジッタが増幅されるような程度であるとはいえ、(再生成されたオーディオクロックは元のオーディオクロックより品質が悪いという意味で)潜在的に再生成されたオーディオクロックの品質に悪影響を与える。
オーディオクロックにおけるジッタのためにCTSでのジッタの問題に取り組むため、本発明に係る好ましい実施の形態においては、準備し維持するタイミングを最大化する結果となる遅れを自動的に選択するため、クロック領域の「境界」(オーディオクロックとビデオクロックの境界)にオーバーサンプリングの技術を用いる。言い換えると、(例えば、ビデオクロックそのものや反転させたビデオクロックのような、複数のビデオクロックを用いて「オーバーサンプリング」することにより)複数の位相をずらしたオーディオクロックが生成され、CTSジッタが結果的に最小となるサンプルのストリームを選択する。このことは、入力オーディオクロックとビデオクロックが同期しており、適当に安定している限り、どんな「CTSジッタ」も防止することができる。この設計の重要な利点は、システムのレベル設計を簡単化することである(本発明は、オーディオクロックのビデオクロックに対する歪みに対する配慮を省略することができるため)。
ある実施の形態において、送信器は、ビデオクロック(VCLK)と反転したビデオクロック(VCLK_bar)の両方を用いて、オーディオクロック端を数え、2つのCTS値と比較し時間の経過に対して変化の少ない法を決めるために、2つのCTS値を発生させる。まずVCLKを基準とする出力が(受信器に伝送されるCTS値として)選択され、VCLK_barを基準とする出力に、時間経過に対してCTS値が少ない場合は、選択的に切り替えられる。これらの実施の形態は、純粋にデジタル設計を用いるという利点があり、これを実行する回路は集積回路に自動的に組み入れられ(配置され配線され)、新しい集積回路製造工程に簡単に移行することができる。
他の実施の形態においては、複数のビデオクロックを発生させるためのいくつかの時間遅れセルを採用して、複数のCTS値を発生させ、相異なるビデオクロックを用いてCTS値を発生させる。送信器は、CTS値の変動を監視し、変動の最も少ないものを選択する。この方法は、送信チップの小さな領域を使うが、タイミングの限界部分における配置とデザインを手で行う必要がある。
この「自動整列」が行われる(異なるCTS値経切り替える)速さはかなり小さい(秒単位、又は、起動時とオーディオクロックとビデオクロックが変化するときのみ)。これは、オーディオクロックとビデオクロックの間にゆっくりした(すなわち温度に関係した)位相のずれがない限り、首尾一貫したオーディオとビデオが送信される特別なデザインにおいて、オーディオクロックとビデオクロックのタイミングは大きく変化しないと予想されるからである。もし、オーディオクロックとビデオクロックの相対的タイミングがかなりしばしば変化するなら(すなわち、一貫性のないオーディオとビデオの場合は)、リンクを介して送られたCTS値は、変化することがCTS計数法の目的であるので、変化しなければならない。もし、自動整列が継続的に行われるようであれば、オーディオクロックとビデオクロックが十分同期化されていない場合に、送られたCTS値が正確であることを担保するために必要な追加のロジックが必要となる。これは図22を調べることにより検証することができる。
図22を参照して、まず、オーディオクロックのVCLKに対するタイミングは、ケース1に示す通りとし、VCLKの立ち下がり端が参照として使われ、VCLKカウンタの立ち上がり端と立ち下がり端の公称CTS計数値は27,000回とする(すなわち、一方のCTSはVCLKをベースとして計数し、他方は反転させたVCLKをベースとする)。そこで、もし、オーディオクロック端がケース2に示すように右にずれた場合、VCLK立ち下がり端を越えてしまうので、「VCLKの立ち上がり端」によるCTS値は一定のままである一方、「VCLKの立ち下がり端」によるCTS値は、オーディオCLKの端がVCLKの立ち下がり端を越えたとき1増える(もし、クロック間にジッタがある場合、立ち下がり端によるCTS値は+1跳ね上がり、公称値より−1小さくなる。しかし、立ち上がり端が最終的に端の右側にあるとき、計数の積算値はVCLKの立ち上がり端による値より1小さくなる)。このときまでに、本発明に係る送信器の自動整列が「VCLKの立ち上がり端」によるCTS値を選択している。議論のために、この切換は、オーディオクロックが立ち下がり端で跳ね上がりそして元に戻った後、なされたと仮定する。この場合、送られたCTS値は、平均値27,000回の周囲で跳ね上がるが、全体としての平均値はなお27,000回である。この後、一定値27,000回の「VCLKの立ち上がり端」によるCTS値が用いられる。後になって、ケース3で、タイミングがさらにずれて、オーディオクロックの端が再びVCLKの立ち上がり端を通過する。ここで同様のことが起こったと仮定する。すなわち、自動整列回路によりVCLKクロック端が切り替えられる前に、オーディオクロック端がジッタによりVCLKの立ち上がり端の近くで前後したと仮定し、オーディオクロック端がまだVCLKの立ち上がり端の左側にあるときに、VCLKクロック端が切り替わったとする。再び、平均CTS値が立ち上がり端により送られCTSカウンタは27,000回となる。送信器は、「VCLKの立ち下がり端」によるCTS値に切り替え、一定値27,000回を送信する。したがって、送られたCTS値は常に27,000回を保つが、実際の積算されたCTS値は1回多くなる。この影響に対処するため、送信器の好ましい実施の形態においては、積算したCTS値と「VCLKの立ち上がり端及び立ち下がり端」によるCTS値の差を計数し、自動整列回路が新しいVCLKの端に切り替わったとき、この差(送られたCTS値の積算計数値と、新しいVCLKの端に基づき計数した積算値の間での差)の計数値がこのようなエラーを防止するため受信器に送られる。
オーディオクロック内のジッタのため、再生成された(CTS値を用いて再生成された)オーディオクロックの(上述の、オーディオクロックとピクセルクロックの位相整列による)ジッタの増幅を減らすもう1つの方法は、上述の(オーディオクロックをサンプル処理するために採用するピクセルクロックの異なったバージョンに基づいて異なるCTS値を選択する)自動整列技術の代案となるが、ピクセルクロックより高い周波数でサンプル処理を行うような送信器を提供することである。上述のとおり、元のオーディオクロックにおけるジッタは、再生成されたオーディオクロックの質に、元のオーディオクロックにおける少量のジッタを増幅させた程度にまで、(再生成されたオーディオクロックはもとのオーディオクロックより質が悪くなるという意味で)悪影響を与えるCTS値のジッタとなる。最悪の状態は、オーディオクロック端がビデオクロック端に近い場合であるが、しかしこれはこの端の前後を動く。この場合は、少量のオーディオク又はビデオクロックのジッタ(例えば、1ナノセカンドのジッタ)により、CTS値が(25MHzのピクセルクロックを用いた場合40nsまで)前後に動いた場合、さらに大きなジッタを引き起こす。このCTSジッタは、復元されたオーディオクロックの質を低下させる。
(より高い周波数でサンプル処理を行うことによる)より正確なオーディオクロックの計測による他の利点は、再生成されたオーディオクロックの実際のジッタをさらに正確に追跡する点である。ジッタのより正確な計測により、MCLK再生成回路がカバーしなければならない周波数範囲を減少させ、ある条件下で、受信器のデザイン部分を実装しやすくなる。
オーディオクロック期間のより細かい分解能での計測を行うための簡単なオーバーサンプル処理法は、オーディオクロック期間を計測するため、ビデオクロックの立ち上がり端と立ち下がり端の両方を用いることである。もしビデオクロックの負荷サイクルが50%に近ければ、ビデオクロックの立ち上がり端(又は立ち下がり端)のみを用いることで2倍の分解能を持つ測定を行うこととなる。他のオーバーサンプリング法は、(一般には、図13の送信器100におけるプロセッサ114のような、TMDSコアプロセッサに使うためのような他の目的のために生成された)オーバーサンプル処理されたピクセルクロックを用いることである。これは、10x又は30xの時間分解について改善がえられるが、より複雑な回路を必要とし、これらのより細かい分解能での計測値を、リンクを介して伝送するために適切なフォーマットを持ったパケットを使うことが必要となる。また、受信器は、追加の情報を用いるよう設定する必要がある。
もしMCLKとピクセルクロックが(「オーディオクロック期間毎のピクセルクロック期間」を示す、CTS値がオーディオデータにおける単一のストリームの伝送中に変化しないと予想される)共通のクロックから生み出されたものであるという意味で、両方とも首尾一貫したものであるなら、本発明に係る送信器は、(例えば、CTS値を生成するための、図15の送信器における要素130及び131の回路よりむしろ)プログラム可能なCTSレジスタに含まれるように提供される。外部の装置が時々(好ましくは周期的に)CTSレジスタに、更新されたCTS値を送り、送信器は、受信器に伝送された各オーディオクロック再生成パケット内に(CTSレジスタの)CTS値が含まれるように設定される。
本発明に係る受信器の好ましい実施の形態において、オーディオクロック再生成(「ACR」)回路は、ピクセルクロック、タイムスタンプ値、及び送信器からの他の値の内の1つ(例えば、上述の分子値「N」、及び送信器からのいくつかの異なる値と共にアサートされた乗算値「M」の内の1つの値)に応答して、最初の周波数Z*Fs(ここでZは一般に128である)のいくつかの倍数値M*Z*Fsの内の1つに等しい周波数を持った、再生成されたオーディオクロック(MCLK)を(出力に)アサートするよう設定される。例えば、受信器は、M=1に応答して周波数が128*FsのMCLKを、M=2に応答して周波数が256*FsのMCLKを、そしてM=3に応答して周波数が384*FsのMCLKを出力する。
好ましい実施の形態において、本発明に係る受信器は、2つのモードで運転するよう設定される。第1のモードでは、オーディオクロック(MCLK)を再生成させるために、及び任意的にこのオーディオクロックの倍数の周波数を持った1以上のクロックを生成させるために、内部オーディオクロック再生成(ACR)回路(PLLを含む)が採用される。第2のモードでは、内部ACR回路はバイパスされ、その代わり、送信器から受け取ったCTSとN値とピクセルクロックが、MCLKクロック再生成のために外部装置(例えば、図15の外部PLLユニット160)にアサートされる。第2のモードにおける受信器は、外部装置からの再生成された(VCOを持つ内部のPLL回路により安定化されたことを含む)MCLKを用い、そして/又は、他のオーディオ装置に送る。このような好ましい、ある実施の形態においては、図15の受信器は、外部ACR装置を動作させるため、そして外部ACR装置から再生成されたMCLKを受信するため、受信器における動作の第2のモード(ここでは中間クロックはZ*Fs/Nの周波数を持つ)において、クロック除算器132により生成された中間クロックを出力するよう設定するために、少し変更される。このように変更された図15の受信器は、受信器が外部装置から受信した再生成されたMCLKを出力することも、再生成されたMCLKを(例えば、PLLを組み込んだクロック乗算器133内で、又は、VCOを有する他の内部PLL回路により安定化することにより)さらに処理を加えることもできる。ある実施の形態においては、変更された図15の受信器に(その第2のモードの動作で)再生成されたMCLKを提供する外部ACR装置は、比較的狭い周波数範囲の安定したMCLKを提供するPLL(例えば、電圧制御結晶発振器又は「VCXO」)を具備する。このような場合、受信器は、自動的にクロックの拡大又は縮小を行うことにより(すなわち、必要なときに外部PLLからの再生成されたMCLKの周波数を増加又は減少させたものを発生することで)、又は、自動的にサンプルの繰り返し又は削除を行うことにより(すなわち、パケット化ら復元されたオーディオデータをサンプル処理するためであるが、そこに同じサンプルを挿入、又はそこからサンプルを削除し、出力される復元されたオーディオサンプルのストリームは、復元されたMCLK信号の周波数とは違うサンプルレートを持ったオーディオサンプルのストリームの出力を生み出すように、外部PLLから復元されたMCLKを用いることによって)、このような外部PLLをサポートするよう設定することができる。
好ましい、ある実施の形態において、本発明に係る受信器は、オーディオクロックの再生成のために「フラクショナル−N」周波数のシンセサイザPLLを採用する。例えば、図15の受信器におけるクロック乗算器133に組み込まれたPLLは、効果的に回路133からのクロック信号を整数でない値「N」で乗算するよう設定される。例えば、このようなシンセサイザPLLは、図16の要素134,135,136,及び137から構成され、周波数除算器は2重モジュールの周波数除算器である。このようなPLLにおいて、位相検出器134は、周波数除算器132と137の出力を受け取り、対応する相対位相を示す信号を発生し、ループフィルタ135は、位相検出器134の出力を受け取りローパスフィルタにかけ、除算器137との相対位相を示すエラー信号を出力し、VCO136は、フィルタ135からのエラー信号に応答して(ほぼZ*Fsに等しい)出力クロックをアサートする。ここで、「N」は、I<N<I+1を満足する非整数値で、Iは整数であり、周波数除算器137は、出力クロックを受け取り、それに応答して、Z*Fs/I又はZ*Fs/I+1の周波数を持つクロックを出力する。両方のモジュール(モジュールIそれに続くモジュールI+1、それに続くモジュールI、等々)により繰り返し動作する除算器137により、除算器137がモジュールIにより動作する負荷サイクルと、除算器137がモジュールI+1により動作する負荷サイクルの制御により、出力クロックの周波数値において以下の平均値が得られる。
(Z*Fs)av=W*Fs ここでZ<W<(Z+1)
(Z*Fs)av=W*Fs ここでZ<W<(Z+1)
除算器137は、負荷サイクルがNとNに最も近い整数との差で設定され、出力クロック周波数の平均値がZ*Fsの数値と受忍可能な程度以上に違っていないように、設定される。
好ましい実施の形態において、本発明に係る受信器は、オーディオクロックの復元のために狭い範囲のPLL(例えば、周波数除算器137からの入力クロックの周波数が狭いVCO周波数範囲以内の時にのみ安定かつ正確な、図15におけるクロック乗算器133に組み込まれたPLL)を含む回路を採用する。このような受信器内のACR回路は、狭い範囲のPLLからの、再生成された出力クロック信号にいくつかの異なった数字を乗算する。ここでPLLは、狭い幅の周波数を持った再生成されたクロックを出力する能力のみを持ち、この範囲から外れる周波数を持った再生されたクロックが必要とされる。しかしながら、本発明のこれらの実施形態において、一般には、(クロックの再生成のための)狭い範囲のPLLが、1以上の(周波数を乗算するための)PLLと組み合わせて、クロック再生成のための広い範囲のPLLより簡単で安価となる場合にのみ役に立つよう、周波数乗算は、それ自体PLLを必要とする。
ある実施の形態において、本発明に係る受信器は、少なくとも2個のチップからなる。最初のチップには、オーディオクロックの再生成のために使われるPLLを除くほとんどのあるいは全ての回路が含まれ、2番目のチップにはPLLが含まれる。このようなマルチチップモジュール(MCM)により実施することは、同じ回路を単一チップで実施する場合に比べて顕著にノイズを低減することができる。代案として、2番目のチップ(例えば図16の回路161)にPLLに採用されるローパスフィルタのみを組み込み、PLLの残り部分及び他のクロック復元回路は最初のチップに組み込む。後者の実施の形態により構成された図16の場合、ローパスフィルタ135を省略することができ、その機能を外部フィルタ161で実行させることができる。あるいはフィルタ135を具備し、内部フィルタ135又は外部フィルタ161のどちらか一方を用いて動作するよう受信器を設定することができる。
他の実施の形態において、本発明に係る受信器には、送信器が同じピクセルクロックからタイムスタンプ(CTSv)を生成するのと同時に、ピクセルクロックから「安定な」タイムスタンプ(CTSx)を生成するために、安定なクロック(例えばクリスタルクロック)を用いるオーディオクロック再生成回路が含まれる。受信器は、他にピクセルクロックのジッタに起因して起こる再生成されたオーディオクロック(タイムスタンプCTSx又はCTSvのどちらか一方を用いて生成されたオーディオクロック)のエラーを低減するために、適時受信器から通常に伝送されるタイムスタンプ(CTSv)に代えて安定なタイムスタンプ(CTSx)を用いる。本発明に係るシステムの好ましい実施の形態において、送信器と受信器とのオーディオクロック(例えばMCLK)の伝送にタイムスタンプ法を用いる。この場合、各MCLK期間にピクセルクロックサイクル(VCLKサイクル)の数を計数することで、デジタルサイクルタイムスタンプ(CTS)が決定され、CTS値は受信器に伝送される。受信器では、再生成されたMCLKの期間ごとに、「CTS」VCLKサイクルを数えることでMCLKが再構築される。この処理において、元のMCLKとVCLK(「VCLK」はピクセルクロックを意味する)の位相を合わせることにより発生するジッタのみならず元のMCLKにあるジッタのような、多くのジッタ源が存在する。MCLKとVCLKは独立した源を持つため、CTS値は一般に時間と共に変化し、したがって、再生成されたMCLKにジッタを引き起こす。これらのあるいは他のジッタ源は重要であり、最終的なオーディオの質に影響を与える一方、これらは全て、VCLKジッタを除いて、オーディオの質を落とさないように、他の技術(ここでは開示されていない)を用いて処理することが可能である。
次に記載する実施の形態において説明する問題は、VCLKジッタによるオーディオの質の低下である。このような質の低下は次のような状態で見られる。MCLK周波数を1kHz(1ms期間)とし、VCLKは0.5kHz(2ms期間)のジッタ成分を持つものとし、CTS値は、VCLKジッタの最初の半サイクル期間に測定され(例えば、VCLK期間が平均より長いときは、平均値を使ったとしたときよりCTSの計数値は小さくなる)、そしてこの平均値より小さいCTS値がリンクを介して伝送され、VCLKジッタの2番目の半サイクル期間(VCLK期間が平均より小さいとき)にMCLKを再生成するために用いられるものと仮定する。この平均値より小さいCTS値を、これもまた平均値より小さいVCLK期間を計数するために使うと、理想的なMCLKより短い期間のMCLKを再生成する結果となる。実際にMCLKジッタは、VCLKジッタを増幅した(2倍にした)ものとなる。これはリンクの両側でVCLKを使った結果である。これは最悪の場合であり、オーディオの質を顕著に悪化させる。
要約すると、VCLKジッタをMCLKへ移転してしまうという問題は、VCLKのジッタが1つはCTSの計測と同時に起こり、他は、MCLK再生成時に起こることになる。上述の最悪のケースの状態で、CTSの計測とMCLKの再生成との特定の時間間隔は、本発明に従い修正することができる最大のVCLKジッタの周波数に影響を与える範囲までとすることが重要である。基本的には、VCLKジッタが、計測時間、伝送時間、及び特定のCTS値を用いる時間に比べて速く変化する場合は、VCLKジッタを効率的にふるい落とせない。したがって、CTS経路において長い時間遅れがあるということは、500Hzまでの(最良の場合は1kHzのCTSクロック速さまでの)VCLKジッタをふるい落とす代わりに、例えば、500Hzより十分低い周波数のジッタをふるい落とすことができるだけであるということを意味する。
VCLKジッタの問題を克服するために、安定な(ジッタを無視することができる)時間基準を受信器に用い、受信器において、安定な時間基準に基づき「CTS」VCLKサイクルを計数し、同時に、送信器において、MCLK期間を計測するため「CTS」VCLKサイクルを計数する。一度、受信器で安定な時間基準に基づく計数値が分かると、この計数値は、安定な時間基準を用いているので、ジッタを引き起こすことなく、後のどんなときにもMCLKを再生成するために使うことができる。
受信器における安定な時間基準は、結晶を用い外部から受信器に安定なクロック(XCLK)を提供するような形態で実施されることが好ましい。
上述の案を実施する上での主な難しさは、2つある。第1は、本処理において、伝送器の側でMCLK期間内のVCLKの数(「CTSv」)を測定することは、受信器の側で同じMCLK期間内のXCLKの数を測定することと同時に行う必要がある点である(後者の計数値は「CTSx」である)。すなわち、計数をリンクの両側で同時に(又はほとんど同時に)開始しなければならない。このことは、送信器と受信器で計数の開始を同期化させる方法を必要とする。第2の難しさは、受信器は、送信器で同時に計測されるVCLKサイクルでの同じCTSvの数を(XCLKサイクルで)計数する必要があり、CTSv値は、計測する毎に変化するので、受信器は、送信器で計測された正確な値を、CTSv値を含んだパケットがリンクを用いて伝送されてくるまで、知ることができないという点である。このことは、受信器が、リンクの両側で同時に(又はほとんど同時に)計数を終了させるような、現在送信器で計測しているCTSv値を予想する方法を必要とする。
送信器での計数と、受信器での計数とを同期化する多くの異なる方法が可能である。一般に、同期化は、どの時点で計数を開始させるかの(VCLKサイクルの数のような)インターバルが定義されるような、送信器と受信器の両方で共通する(VSYNCのような)同一発生源の信号の使用を必要とする。このような信号をリンクを利用して送ることで、受信器におけるCTSxの計数は、早く開始されるかもしれないが、送信器と受信器とで計数を同期化するために適当な値の時間遅れを持たせることができる。あらゆる再同期化処理は、MCLKとビデオ信号の発信源が独立している状況を取り扱うことができる。
リンクの両側で同時に(又はほとんど同時に)計数を終了させるような、受信器が送信器において現時点で測定されているCTSv値を予想する方法は、CTS値が一般に時間によって大きく変化しないと考えられる事実(一般に、CTS値は、プラス又はマイナス1程度の変化しかないと考えられる)を活用するものである。これは、受信器に、一連のCTSv値における少しの範囲としてCTSx値を計数し保存させ、実際のCTSvがリンクを介して送られて来たとき、受信器は、実際のCTSv値を、CTSxを修正するための単なる指針として用いるものである。この方法では、CTSvをMCLKの期間に再生成のために用いることができる前に、リンクを介してCTSvパケットが送られる最悪の時間遅れの場合まで、CTSx値をバッファしておく必要がある。これは、安定した時間基準により、ジッタを生じさせることなくこのような待ち時間を許すので、一般的には実行可能である。
図23のタイミング図は、送信器での計数と受信器での計数を再同期化する方法の一例を示している。送信器のCTSv計数値は、VSYNCの先行端(この値は図23で「CTS_sync」で示される)で捕まえられ、高い優先度を持ってリンクを介して送られる。対応するMCLK期間(この値は図23で「CTS_0」で示される)に対するCTS_syncとCTSvの値を用いて、送信器での計数と受信器での計数との間の時間遅れは、送信器での計数がVSYNCの先行端で最初に始まったかどうかで判断することができる。そして、受信器での計数は、送信器での計数とほぼ同期化される、この点以降、VCLKジッタはMCLKの再生成に悪影響を与えることはない(なぜなら、受信器は適切なCTSx値をMCLKの再生成に用いるからである)。
ある実施の形態においては、(MCLKから生成される)参照クロックのタイムスタンプは、MCLK自身のためのタイムスタンプの代わりに、リンクを介して伝送される。
好ましい実施の形態において、送信器と受信器間での同期信号の遅れを注意深く扱わなければならない。この遅れは、実際には送信器にアサートされた遅延したVSYNC信号に受信器が同期するので、送信器と受信器間に固定のずれをもたらす。このずれが小さい場合は許容できるが、最大の遅れは調整できなければならない。もう1つの選択肢として、受信器で適切な調整をどのように行うかを決定するために、送信器の遅れを用いることができるように、送信機の遅れをパケットに入れてリンクを用いて伝送することである。
受信器は、典型的なCTSv値のみを計数するので、受信器でCTSv値が利用可能になったときに継続的に、計数の開始点を修正する必要がある。(長期ドリフトを避けるため)計数においてVCLKサイクルもXCLKサイクルもどちらも削除も追加もされないことは重要であるので、計数の開始が調整されれば、変化は前のCTSx値を調整したことで説明される必要がある。
上述の実施の形態における変形として、CTS_sync値は、(VSYNCに基づくと仮定して)ビデオフレームごとに一度送られる。このことにより、送信器と受信器間での計数の同期化における長時間のドリフトを避けるためのフレーム基準による小さな修正を受信器が行うことを可能とする。他の実施の形態においては、同期化の計数のために送信器にCTS_sync値を伝送させる必要があるとホストに表示させるために、受信器は適当なときにホストに割り込みをアサートする。
もしVCLKジッタがそれほど厳しくなければ、VCLKジッタが(本発明に従い)オーディオの質を下げるように扱われないような標準的な動作モードでクリスタルクロックを用いないで受信器を使うことが可能である。一方、高いオーディオの質が求められるアプリケーションでは、VCLKジッタの影響を除去するために上述した外部クリスタルが提供され用いられる。
VCLKジッタを再生成されたMCLKに転送することを防止するための上述の技術は、リンクを用いてスペクトル拡散クロックを行うことを可能とする(EMIを減少させるためにVCLKの周波数を意図的に変化させる)。受信器における実施形態は周波数変動の最悪のケースをサポートする。
多くのCTSxを保存し、CTSvの値を用いて保存された正しい値を選択するもう一つの方法は、受信器に典型的なCTSv値に対応するCTSxのみを計測するようにさせ、CTSv値が利用可能になったとき、CTSxの修正を計算させる。後者の方法は、CTSv値の変動が±1より十分大きい状況で、役に立つと期待される。これはリンクを用いてスペクトル拡散クロックを行う場合であろう。計算すべき多くのクロックサイクルが存在するので、ハードウエアで実行するためには、不利益となる領域を多くは必要としないであろう。同期化と受信器における計数の開始の調整は依然として必要である。
好ましい他の実施の形態において、受信器に送られるCTS値のデジタルフィルタ処理(ローパスフィルタ処理)が実行される。伝送されたCTS値を用いてクロックを再生成している間(例えば、オーディオクロックを再生成している間)、伝送された実際のCTS値は、ピクセルクロックジッタ(再生成すべきクロックのサンプリング処理に用いられるクロックにおけるジッタ)のみならず量子化エラーにより平均値(短期間の平均値)からずれる。このずれは、再生成されたクロックにジッタをもたらす。
好ましいある実施の形態において、CTS値は、量子化エラーとピクセルクロックジッタによる再生成されたクロックジッタを低減するためにデジタル的なフィルタ処理がなされる。このデジタルフィルタは、タイムスタンプの変動における高周波数成分を低減するためのローパスフィルタとしての機能を果たし、それに相応して、再生成されたクロックジッタの高周波成分を低減する。
このフィルタ出力のために必要とするワード長は、元のタイムスタンプされた値より長くてもよい。言い換えれば、デジタル的にフィルタ処理されたタイムスタンプされた値は、元の整数のタイムスタンプと比較すると小数点以下の部分がある(すなわち74の代わりに74.25)。もしこの長いタイムスタンプワードが単純に端数を切り捨てて整数にしたとすると、このフィルタは高周波ジッタを低減する機能を持つであろう。しかし、端数を切り捨てたタイムスタンプ値は元の一連のタイムスタンプ値の平均値と等しくならず、再生成されたクロック周波数は正確でなく、元のクロックに比べてクロックは長い時間のドリフトを持つであろう。再生成されたクロックによるクロックに乗せて伝送された一定のデータのストリームも存在するならば、再生成されたクロックのこのようなどリフトは、データ送信側と受信側とでデータ速度の齟齬をきたし、受信側でギャップやデータの消失を生じさせる。長期のドリフトに加えて、フィルタ処理されたタイムスタンプ値の端数切捨てにより、再生成されたクロックジッタを増大する切り捨てエラーをもたらす。
したがって、フィルタ処理されたCTS値の端数部を、クロックが再生成するときに保存しておくことが重要である。ある実施の形態において、より長いワードを(上述のように)保存するために、フラクショナル−NタイプのPLLが受信器において用いられる。
このクラスにおける実施の形態において1つの重要な応用例は、タイムスタンプ法を用いてデジタルオーディオクロックを伝送することである。特に、タイムスタンプ更新率がオーディオバンドと同じかその近くにある場合は、タイムスタンプの変動により生まれるジッタは最終のアナログオーディオに変調され、オーディオの質の低下を招く。オーディオバンドにおけるジッタ周波数を低減するために、デジタルフィルタを用いることで、オーディオの質に及ぼすジッタの影響は減少又は削除される。アナログ技術を用いて同じ利点を生み出すためには、非常に狭いバンド幅のクロック再生成PLL(例えば100Hzのオーダのバンド幅のPLL)を必要とし、これは組み込むことが困難であり、設計、テスト、及び製造(ICレベルでもボードレベルでも)に非常な努力を必要とする。それに比べて、デジタル法は、一度適切に設計されると、非常に簡単に製造とテストができ、ボードレベルでの設計に適用することが簡単にできる。
好ましい実施の形態において、本発明に係る送信器は、ITU−BT.656又はYCbCr4:2:2フォーマットでの入力ビデオを受け取り、入力ビデオを、伝送のため、ITU−BT.656フォーマットからYCbCr4:2:2フォーマットに変換するよう設定される。送信器は、ITU−BT.656ビデオ、又はYCbCr4:2:2ビデオの2つの(合わせて時分割多重化した)ストリームを(各ストリームはNビットのコンポーネントからなる)(1つのチャンネルで)受け取り、伝送のため、入力ビデオをYCbCr4:2:2フォーマット(2Nビットのコンポーネントからなり、各2Nビットコンポーネントは入力ビデオの2つのコンポーネントを示す)に変換することが好ましい。
他の好ましい実施の形態において、本発明に係る送信器は、DDR YCbCr4:4:4フォーマットでの入力ビデオを受け取るよう設定される(DDRは「ダブルデータレート」を意味する。DDRフォーマットのビデオを、クロック立ち上がり端のみならずクロック立下り端で、同期DRAMの1タイプであるDDRRAMに書き込むことができる)。送信器は、伝送のため、このような入力ビデオを普通の(DDRでない)YCbCr4:4:4フォーマットに変換することができる。場合によっては、あるいは追加的に、送信器は、DDR YCbCr4:2:2フォーマットの入力ビデオを受け取り、この入力ビデオを、伝送のため、普通のYCbCr4:2:2フォーマットに変換するように設定する。送信器は、ITU−BT.656フォーマットの入力ビデオの(1つのチャンネルで)2つの(合わせて時分割多重化した)ストリームを受け取り、この入力ビデオを、伝送のため、普通のYCbCr4:2:2フォーマットに変換することが好ましい。
他の好ましい実施の形態において、本発明にかかる送信器は、データに埋め込まれたsyncビット、又は、別のHSYNCとVSYNCと共に、(多くの送信装置をサポートすることができるように)あらゆる種類のYCbCrフォーマットの入力ビデオを受け取るように設定され、この入力ビデオを、伝送のため、YCbCr4:4:4フォーマット、又は、YCbCr4:2:2フォーマットに変換するよう設定される。
他の好ましい実施の形態において、本発明に係る送信器は、YCbCr4:2:2フォーマットの入力ビデオを受け取るよう設定され、入力データを、伝送のため、YCbCr4:4:4フォーマットに変換するためのアップコンバージョン回路を具備する。
他の好ましい実施の形態において、本発明に係る送信器は、様々なYCbCrフォーマットの入力ビデオを受け取るよう設定され、(プログラマブル又は固定の係数で)YCbCrをRGBカラースペースに変換する回路と、伝送のため入力ビデオをRGBフォーマットに変換する汎用マッピング回路とを具備する。
好ましい実施の形態において、本発明に係る受信器は、ITU−BT.656フォーマットのビデオのストリームを出力するよう設定され、YCbCr4:2:2フォーマットで受信したビデオのY、Cb、及びCr成分をITU−BT.656フォーマットに変換するマルチプレクサ回路を具備する。受信器は、ITU−BT.656出力ビデオのストリームと共に、別の(タイミングがITU−BT.656に埋め込まれたsyncと一致する)HSYNC信号とVSYNC信号をアサートできることが好ましい。受信器は、復元されたYCbCr4:2:2ビデオ(2Nビット成分からなり、各2Nビット成分は出力ビデオの2つの成分を示す)に応答して、ITU−BT.656ビデオ(各々Nビット成分からなる)の(互いに時分割多重化した)2つのストリームを(1つのチャンネルに)出力するよう設定されることが好ましい。もっと一般的には、復元されたYCbCr4:2:2フォーマットのビデオを、Y、Cb、及びCr成分(例えばITU−BT.656フォーマット)の出力、又は/及び、Y、Cb、及びCr成分の出力のストリームとは別のHSYNCとVSYNC出力のストリームに埋め込まれたsyncビットを含ませることができる所望の出力フォーマットに変換するよう設定される。
他の好ましい実施の形態において、本発明に係る受信器は、DDR YCbCr4:4:4フォーマット、DDR YCbCr4:2:2フォーマット、あるいは、DDR ITU−BT.656フォーマット(DDRは「ダブルデータレート」を意味する)のビデオを出力するよう設定され、一般的な(DDRでない)YCbCr4:4:4フォーマット又はYCbCr4:4:4フォーマットで復元されたビデオを、DDR YCbCr4:4:4出力フォーマット、DDR YCbCr4:2:2出力フォーマット、又はDDR ITU−BT.656出力フォーマットに変換するための回路を具備することが好ましい。
他の好ましい実施の形態において、本発明に係る受信器は、様々なYCbCrフォーマットのビデオを出力するよう設定され、復元された一般的なYCbCr4:4:4又はYCbCr4:2:2フォーマットのビデオを所望の出力フォーマットに変換する汎用マッピング回路とを具備する。
他の好ましい実施の形態において、本発明に係る受信器は、復元したビデオをダウンコンバージョン又はアップコンバージョンするための回路(例えば、YCbCr4:4:4フォーマットで復元したビデオをYCbCr4:2:2フォーマットでビデオ出力する、又はYCbCr4:2:2フォーマットで復元したビデオをYCbCr4:4:4フォーマットでビデオ出力する)を具備する。
他の好ましい実施の形態において、本発明に係る受信器は、様々なYCbCrフォーマットのビデオを出力するよう設定され、(プログラマブル又は固定の係数で)RGBをYCbCrカラースペースに変換する回路と、RGBフォーマットで復元されたビデオを所望の出力フォーマットに変換する汎用マッピング回路とを具備する。
次に、改善された方法でリンクの完全性のチェックを実行する、本発明の実施の形態を説明する。
シリアルリンクを用いて伝送するために、ビデオデータ及び/又はパケット化された補助データを暗号化する本発明に係るシステムの好ましい実施の形態を含めて、内容を保護するシステムは、一般的に、システムがなお適切に動作しているかどうかを検証する何らかの方法を必要とする。システムの適切な動作には、リンクを利用して伝送されるデータは送信器により暗号化され受信器により復号されるという要件と、暗号化と復号動作の適切な同期化が保持されるという要件とが含まれる。
1つの検証法は、リンクの両側で「結果」ベクトルを周期的に読み込むことである。もしベクトルが変化し、その変化が予定の順序で(ふつうはリンクの両側において同じ値で)起こったとき、これはシステムが適切に働いてきることを強固に示している。普通のHDCPプロトコルは、「リンクインテグリティチェック」として知られる、このような方法を採用する。
しかしながら、リンクインテグリティチェックは、全ての場合においてフールプルーフな方法であるとはいえない。このような方法は自ら正確に同時刻にリンクの両側でサンプルすることはできない。さらに、サンプルレートは、結果ベクトルが変化するレートとは違ったレートとなるかもしれない(実際に、この2つの事象は完全に非同期かもしれない)。これらの要素は、壊れていなくても、リンクが壊れているかもしれないという異常を導く。さらに悪くゆけば、実際に壊れていてもリンクが正常であるかのように見えるかもしれない。
本発明に係るシステムの好ましい実施の形態においては、改善された方法でリンクの正常性の検証を実行する。
以下の議論において、HDCP内容保護プロトコルが用いられ、本発明の正常性の検証をリンクに具体化する、本発明のある実施形態においては、HDCP以外の保護プロトコルが含まれると仮定する。本発明に係るリンクの正常性検証方法及び装置は、シリアルリンクを用いて暗号化されたビデオを伝送するシステムにおいて、このシステムがデータアイランド期間又はアクティブビデオ期間にリンクを利用して暗号化されたオーディオデータ(又は他の補助データ)のパケットもまた伝送するように設定されているか否かにかかわらず、有用である。
ある実施の形態においては、本発明に係る送信器は、ビデオを暗号化し、HDCPを用いてオーディオデータをパケット化し、送信器と受信器の両方から16ビットの結果ベクトル(Riと呼ぶ)をつかまえ、これらが一致するかどうかを確かめるために、2秒毎にこれらの値を比較することで、128個のビデオフレーム毎にリンクの正常性検証機能を実行する。この手順は以下の欠陥を持つ。
すなわち、送信器と受信器の暗号化エンジンが正確に同期化しているという確証がない。もしそれらが少しずれていたら、Ri値は、ほとんどの時間で一致するように見える。
採用されるRiの「スナップショット」(サンプル)値が比較されるレートと関係していない。レートは完全に非同期かも知れず、この場合、送信器と受信器は、サンプルがスナップショットの領域を越えているので、しばしば異なった値を示す。
そして、反対に、サンプルレートが同期化(又はほとんど同期化)するかもしれない。このことは、たまに起こる領域を越えることによるエラーを防止する。しかし、正常性の検証が、スナップショットの領域を越える検証を行った場合、状況は不健全なものとなり、回復不可能となるかもしれない。
これらの問題を説明するために、まず図17について考える。図17に示すように、送信器と受信器のRiスナップショットは正確に同期化されている。リンクの正常性検証は、同じように、しかす少し異なるレートで行われる。送信器の正常性検証と受信器の正常性検証の両方は、ほとんどの時間、Riスナップショット間の同じ「窓」で行われる。これは、両方のRi値が一致することを意味し、リンクの正常性検証がうまく行くことを意味する。しかしながらある場合において、送信器と受信器の正常性検証はRiスナップショットを越える。これは検証されたRi値が異なることを意味する。一般に、HDCPを組み込んだシステムは、このような事象が起こったとき、短時間の後に再度正常性検証を行うよう設定される。
次に、図18と図19にて、リンクの正常性検証が、Riスナップショットと正確に同じレートで行われる状況について考える。典型的な従来のHDCPシステムはリンクの正常性検証をこのように行う。なぜなら、通常は、図18に示すように、リンクの正常性検証は、常に相対的に同時刻に行われ、Ri値はいつも一致するからである。しかしながら、図19に示すように、リンクの正常性検証がいつもRiスナップショットの範囲を越え、したがってRi値が決して一致しないような病的な(したがって非常に悪い)場合がある。
上述の場合は、早い機会に(Ri値が一致しないという検証結果となったとき)リンクの正常性検証を再度行うことにより、予期せぬ付加的な負担をかけ複雑さを増すことになるが、実質的なリンクの正常性を確立するための信頼のおける手段を提供することになる。
次に、図20と図21を参照して、送信器と受信器の暗号化エンジンが適切に調整されない場合について考える。これは、例えば、VSYNCジッタがある場合に起こりえる。このような場合、リンクを介してどんな有用なビデオも伝送されない。しかしながら、図20に示すように、多くの場合において、リンクの正常性検証がスナップショット間の同じ窓で行われ、Ri値が正しように見えることが起こりえる。このように、システムが正常に動作していないにもかかわらず正常であるかのように見える。
結局、(図20の左から4番目の正常性検証のように)リンクの正常性検証がRiスナップショットの範囲を越える場合があるが、これがタイムリーに起こるのか全く起こらないのかの保証がない。このような幸運な事象間の時間間隔はRiスナップショット間隔とリンクの正常性検証間隔によって引き起こされるうなり周波数に逆比例し、このうなり周波数はゼロかもしれない。
この最悪のシナリオを図21に示す。ここでは、リンクの正常性検証周波数がRiスナップショットと同期化(又はほとんど同期化)しているが、位相のずれが十分大きいため、暗号化機械での一連のエラーに対して盲目になっている。このシステムは、適切に動作せず、リンクの正常性検証は、外部の代理人が(例えば不満を持ったユーザが)間に入らなければ、この事実を認識することができない。
上述の問題を防止し、不適切なシステムの動作を早く正確に検出することを保証するために、本発明に従い、下記のうち1以上の改良がなされる。
送信器と受信器は、送信器と受信器の暗号化エンジンの位相を外れさせるエラーを減少又は削除させるために、
位相にかかわらず、Riスナップショットを送信器と受信器の両方で確実に同時に起こさせる方法で、リンクの正常性検証が行われる。
位相にかかわらず、Riスナップショットを送信器と受信器の両方で確実に同時に起こさせる方法で、リンクの正常性検証が行われる。
Riスナップショットと既知の関係でリンクの正常性検証が行われる。これは、これらが同期化していなければならないことを意味せず、単にこれらが完全に非同期ではありえないことを意味する。特に、リンクの正常性検証がRiスナップショットの範囲外にならないことを保証することが可能でなければならず、そして、
不適切なシステム動作状態(例えば「スノーノイズ」状態)を示す、受信した、暗号化されたデータを、直接的に検証するための方法が提供される。例えば、周期的に(又は時々)既知のデータパターンを送信器に入力し、暗号化し、伝送し、受信し、復号し、そして、受信した復号したパターンが既知のデータパターンと一致するかどうかを検証する。
不適切なシステム動作状態(例えば「スノーノイズ」状態)を示す、受信した、暗号化されたデータを、直接的に検証するための方法が提供される。例えば、周期的に(又は時々)既知のデータパターンを送信器に入力し、暗号化し、伝送し、受信し、復号し、そして、受信した復号したパターンが既知のデータパターンと一致するかどうかを検証する。
送信器と受信器の暗号化エンジンは、もし制御信号に明らかに不具合があった場合その局面から出てゆくことができる。例えば、受信器がVSYNC信号を見なければ、遅れる。もし、受信器が特別のVSYNC信号を受け取ったなら、先に進む。このようなことが起こると受信器は適切に暗号化することができない、そして画面は「スノーノイズ」を表示する。
受信器がRi値の「スナップショット」を受け取る点も同じように動いた(遅れたり進んだりした)場合、受信器は、正しいRi値を出しつづける。これは、Riシーケンスが一定値を出す機能であり、フレームシーケンスだからである。これは仲介のデータに依存しない。これは、図20又は図21に似た状況を引き起こし、ほとんどの時間でリンクの正常性検証は正しくなる。実際に、受信器が1フレーム分だけ前又は後ろにある場合、そのRi値は128フレームから抜き出した127フレームにおいて正確に一致する。これは非常に大きな窓であり、したがってエラーが発見されるまでかなりの時間がかかる。
このような起こりえるシナリオを減少させる方法は、暗号装置の機構を、Riスナップショットが起こったとき、各々の進展を制御するために異なった信号を採用することで制御を行う機構から除外することである。このように、信号の欠陥は1つの機構を同期化状態から除外するが、他には影響を与えることは少ないであろう。例えば、VSYNCを、暗号化エンジンの進行を制御するために使うことができ、CTL3をスナップショットカウンタの進行を制御するために使うことができる。もし、スナップショットが、暗号化エンジンのサイクルにおいて相対的に異なった点で起こったならば、Riシーケンスが全く異なることは明らかであろう。
他の方法は、送信器又は受信器のいずれかに、リンクの正常性検証が行われるべき時に、信号に「割り込み」能力を提供することである。この機能は、これらの検証を開始させるシステムの要素内(例えば、HDCPを実行するシステム内の送信器)に入れるべきである。この方法は、もし割り込み待ち時間が常にビデオフレームより短い場合にうまく行く。なぜなら、これにより、範囲から外れることがないこと、及び、受信器が1以上前のフレームで受け取ったエラーを検出することを保証するからである。このことはより一般的な場合であることが予想される。なぜなら、故障は、VSYNCを完全に削除するよりむしろVSYNCに端を付加させるであろうからである。この方法は、もし割り込み待ち時間が、複数のフレームに広がるならば(あらかじめこのことが予想できない限り)、又は受信器の暗号化エンジンが跡の異常のフレームを受け取るなら、うまく行かないだろう。
さらに良いアプローチは、受信器及び/又は送信器を外部からある形式の刺激が加えられたときのみスナップショットを取るように設計することである。このようにして、送信器と受信器が同時にスナップショットを取ることを保証することができる(このようにして、暗号化エンジンの状態における矛盾点を強調することもできる)。例えば、送信器に対して、自分自身の暗号化エンジンと受信器内の暗号化エンジンの両方にスナップショットの伝送を要求させる命令を送信器に伝達する。そうすると、送信器と受信器の両方が(VSYNCの次の前端のような)同期化された事象を待ち、そのとき両方がスナップショットを取る。そして、送信器及び/又は受信器の信号は元の命令を完了させる。この点で、システム(例えばシステムにより実行されるソフトウエア、又は、ハードウエア)は、次の命令が出されるまで新しいスナップショットが起こりえないので、リンクの正常性検証に時間を割くことができる。
このアプローチは数々の利点を持つ。第1に、スナップショットが常にリンクの両サイドで同時に起こることである。第2に、リンクの正常性検証が、次のスナップショットの前に高い信頼度で完了できることである。第3に、リンクの正常性検証を、システムの要求に適しただけの頻度で、しばしば、あるいはときたまに行うことができることである。この割合は、必要に応じて頻繁に変更することができる。この最後のポイントにおいて、リンクの正常性検証が、少なくとも最小限受け入れられるだけの間隔で実行されているかどうかを検証するために、送信器に「デッドマンタイマ」を含めることは有用であり好ましい。あるいは、送信器は一般に、適切に暗号化されない限りシステムから内容が出てゆかないようにすることを保証する責任があるので、また、それゆえに送信器は適切な検証と評価の機能がおかれているので、一般には送信器にデッドマンタイマを含めることが好ましいのであるが、受信器にデッドマンタイマを含めるよう設定することもできる。
本発明の他の特徴によれば、本発明に係るシステムの実施の形態における受信器は、送信器から受信器に送られたデータのみを用いて、送信器と受信器の暗号化エンジン間における同期が失われているかどうかを直接検出する。本発明のこの特徴を実行する好ましい実施の形態において、送信器と受信器はHDCP内容保護プロトコルを実行し、送信器は、(アクティブビデオ期間に)TMDSリンクのビデオチャンネルを利用して、暗号化されたビデオデータを受信器に送信し、暗号化されたオーディオ(又は補助データ)を含んだパケットは、アクティブビデオ期間同士の間の期間に、ビデオチャンネルを利用して送信される。各パケットには、ヘッダと少なくとも2個のサブパケットが含まれ、各パケットのヘッダには、(一般には暗号化されない)ヘッダデータとヘッダデータのBCHパリティビットが含まれ、各サブパケットには、データとサブパケットのデータのBCHパリティビットが含まれる。受信器は、受信され復号されたデータで発生したエラーのタイプを検証し、この情報からこのエラーの多くが伝送エラーなのかHDCP復号エラーなのかを決定するよう設定される。具体的には、暗号化されたデータは上述のTERC4暗号化技術を用いて暗号化されている場合、BCHエラー修復回路が複合化されたサブパケットのデータに含まれるエラーを検出し修復するのに対し、もし、受信器がTERC4暗号化処理において、少ししか(あるいは全く)ゴールデンコードの受け取りがなかったと判断した場合、受信器は、HDCP復号は達成できていない結論付ける。同様に、もし受信器が、(暗号化されたデータとして伝送され、受信器で復号される)サブパケットデータと(暗号化されないデータとして伝送される)パケットヘッダデータにおけるBCHエラー修復の割合に顕著な相違があると判断したならば、受信器は、HDCP復号は達成できていないと結論付ける。受信器に、このような結論に信頼性を与えることを可能にする単純な処理を採用することを実行させることができる。複数のパケット(例えば、ビデオのフィールド又はフレーム、又はあらかじめ定めた数のピクセル、又はあらかじめ定めた時間)にわたって(受信器のより生成される)検出したエラー率の情報にフィルタをかけることは、検出を完璧又はほぼ完璧にする。
一般的な実施の形態において、送信器は、(データアイランドの)パケットを、オーディオと他の補助データを送るために送信する。このようなサブパケットは各々24ビットのパケットヘッダデータと56ビットのサブパケットデータブロックで構成されるのが好ましい。受信器は、パケットヘッダデータに対してBCH(32,24)による誤り検出と補修を行い、各サブパケットに対してBCH(64,56)による誤り検出と補修を行う。送信器は、チャンネル1又はチャンネル2で伝送するTMDSコードワードとしてエンコードするために、各4ビット量に対してHDCP暗号化を行うが、チャンネル0で伝送するためにエンコードしたデータにはHDCP暗号化は行わない。送信器は、チャンネル0で伝送すべきデータ(パケットヘッダデータ)とチャンネル1及び2で伝送すべきデータ(サブパケットデータ)にTERC4エンコード処理を行う。受信器では、この処理の反対を行う。すなわち、チャンネル0、1、及び2で受信したデータにTERC4デコード処理、チャンネル1と2で受信したデコードされたデータのHDCP復号処理、チャンネル0で得られたデコードされたデータとチャンネル1及び2で得られたデコードされ復号されたデータのBCHによる誤り検出と修正、及び取り出しである。
受信器におけるこれらの動作を実行するための回路は、一般にエラーを検出(及び時には修正)する能力を持つ(又は簡単に持たせることができる)。このことは、受信器に起こったエラーのもっともらしい障害発生点を決定させる。伝送エラーは一般に、受信した値が伝送されたはずの値(すなわちゴールデンコードワードの1つ)と直接一致するかどうかにより、TERC4デコード処理回路で検出される。暗号化エラーの原因となる、HDCP同期はずれエラーは、BCHエラー検出及び修正回路の一般的動作により容易に検出される。もし、TERC4デコード処理回路が低レベルのエラーを示しているときに、BCHエラー検出及び修正回路が高レベルのエラーを示すならば、これは、全ての又はほとんど全てのエラーがHDCP復号処理の過程で起こっていることを強く暗示している。
パケットヘッダデータが暗号化されておらず、サブパケットデータが送信器で暗号化されているとき、受信器は、これらの2つのタイプのデータにおけるエラー率を比較することによって暗号化が失敗しているかどうかを判断することができる。もし、サブパケットデータにおけるBCHのエラー率が、パケットヘッダデータにおけるエラー率よりも顕著に高ければ、これは暗号化が原因であることを強く暗示している。
受信器での2つ以上のエラー率を検出し比較する機構は、受信器において暗号化の誤りを検出し、しかも、暗号化回路が適切に動作しているのにもかかわらず、暗号化の誤りであると受信器が結論付けてしまうような「擬陽性」の判断を行うことがないという高い信頼性を提供する。
他の実施の形態において、既知のデータパターンが送信器に提供され、あるいは、既存のデータがあらかじめ定められた方法で修正され、それが暗号化され伝送される。そして、受信器がそのデータを復号したとき、期待した結果が出ているかどうかを点検することができる。もし受信器にて期待通りの結果が出ていれば、復号は適切に行われているとみなされる。さもなければ、暗号化/復号機能が適切に動作していないとみなすべきである。このアプローチは、非常に直接的であるという利点を持つ。つまり、Riのような結果ベクトルからの間接的な証拠に依存しない。このアプローチは、既存のプロトコルと下位互換性があり、外部または内部に少しロジックを加えるだけで一般のHDCPシステムに付加することができ、リンクの振る舞いに変更を加える必要がない。例えば、最初の2個のピクセルの各フレームを「A」及び「B」と定義する。これらのピクセルは、画面の上部左のごく小さな部分を表す。これらは、背景色、そしてしばしば同じ色又は非常に似た色である。受信器は、ピクセルAとピクセルBの最下位ビットを修正し、ピクセルAとピクセルBにおいて常にこれらが一致するようにし、その後、ビデオを暗号化し伝送するよう設定される。例えば、送信器は、ピクセルAとピクセルBの各3色の要素におけるビット(0)を、A赤(0)=B赤(0)、A青(0)=B青(0)、A緑(0)=B緑(0)のように修正することができる。採用される正確なアルゴリズムは、実施形態により異なり、(全体の画像に最小限の影響しか与えないように)公平に採用可能である。唯一の要求は、最終結果があらかじめ定められた(既知の)形式をもった修正されたデータだということである。
修正されたフレームが暗号化され、そして復号されたとき、受信器は復号されたデータのあらかじめ定められたパターンについて点検することができる。受信器はリンクにおける少量のビットエラーを評価するような方法で点検を行うべきである。これは検知された結果に閾値を設けることによって行っても良い。例えば、上述の3つの等式の内の2つを満足すれば十分である。または、ある数のフレームにおける平均演算を行っても良い。どの場合も、受信器は、暗号化/復号機能が適切に動作しているかどうかの結果のみより適切かどうかを判断するよう設定されるべきである。受信器は、この結果を何らかの方法でホストに連絡する。それを行う方法は、レジスタにビットを直接設定する方法である。結果を連絡する他の方法は、間接的なものである(例えば、Ri値を意図的に変更する)。後者の方法は、リンク(伝送器と受信器の組を結び付けるリンク)の割り込みが上流のホストに容易に伝達できる、繰り返し環境の下でうまく行くという利点がある。
先の2つの段落で示したアプローチは、以下のように下位互換性がある。つまり、「新しい」送信器は「古い」受信器に有害な影響を与えずにこれを実行することができ、「新しい」受信器はこれを実行することができるが、「古い」送信器を使う場合は、その点検ができない。また、「古い」送信器と受信器は、外部ロジックに、適切な方法でデータ通路を取り付けることによって、この機能を付加することが容易にできる。
もし下位互換性が決定的なものでないならば、多少なりともビデオ画像に影響を及ぼさない他の方法で、既知のデータパターンを実行することができる。例えば、特別な「テスト」パケットをデータのストリームに挿入することができ、あるいは、「テスト」データを他のパケット又は場所に挿入することができる。ビデオラインを「テスト」データを受け入れるように拡張することもでき、その後受信器にて元のサイズに縮めることもできる。
ここに本発明の具体的な形態について説明したが、本発明は請求の範囲の記載により定められるもので、記載され図示された具体的な実施形態に制限されるものではないことは了解されよう。
Claims (70)
- 少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された送信器であって、当該送信器は、
ビデオデータとI2Sフォーマットのオーディオデータを含むオーディオデータを受信するための入力と
前記リンクに接続されるよう設定された少なくとも1つの出力と、
前記入力と前記各出力に接続され、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、補助データのパケットを示すコードワードを生成し、前記エンコード処理されたビデオデータを、アクティブビデオ期間に少なくとも1つの出力にアサートし、補助データのパケットを示す前記コードワードをデータアイランド期間に少なくとも1つの出力にアサートするように構成された回路と、
を具備し、
ここで、前記各データアイランドは、どんなアクティブビデオ期間とも同時に起こることも重複することもない時間間隔であり、前記補助データにはオーディオデータが含まれる、
送信器。 - 少なくともいくつかのパケットは、ヘッダと少なくとも2個のサブパケットを有するオーディオサンプルパケットであり、前記サブパケットには前記オーディオデータのサンプルが含まれる、請求項1に記載の送信器。
- 少なくとも1つのオーディオサンプルパケットの各サブパケットには、2個のNビットワードが含まれ、前記各Nビットワードには、I2Sフォーマットのオーディオデータにより決定されるMビットのオーディオサンプルデータが含まれる、請求項2に記載の送信器。
- N=28で、かつ、M=24である、請求項3に記載の送信器。
- 前記各Nビットワードは、IEC_60958フレームのサブフレームのフォーマットに対応するフォーマットを有する、請求項3に記載の送信器。
- 前記回路は、オーディオサンプルパケットを示すコードワードを生成するI2Sフォーマットのオーディオデータのフォーマットを示すプログラムされたレジスタビットを採用するよう設定されている、請求項3に記載の送信器。
- 前記入力は、2+M本の導体によりI2Sフォーマットのオーディオデータを受信するよう設定され、当該導体には、ビットクロック導体、ワードクロック導体、及びM個のデータ導体が含まれ、ここで1≦M≦4であり、前記オーディオサンプルパケットには、前記各データ導体により受信されたI2Sフォーマットのオーディオにより決定されるオーディオサンプルデータが含まれる、請求項2に記載の送信器。
- 前記回路は、エンコード処理されたビデオデータを、ピクセルクロックに応答して、少なくとも1つの前記出力にアサートし、パケットを示す前記コードワードを、ピクセルクロックに応答して、少なくとも1つの前記出力にアサートし、タイムコードデータを前記パケットの少なくともいくつかに付け加えるように構成され、当該タイムコードデータは、ピクセルクロックと共に、I2Sフォーマットのオーディオデータに対するオーディオクロックを示している、請求項7に記載の送信器。
- 前記オーディオクロックは、前記ビットクロック導体により受信されたビットクロックである、請求項8に記載の送信器。
- 前記入力は、3M本の導体によりI2Sフォーマットのオーディオデータを受信するよう設定され、当該導体には、ビットクロック導体、ワードクロック導体、及びM個のデータ導体が含まれ、ここで1≦M≦4であり、前記オーディオサンプルパケットには、前記各データ導体により受信されたI2Sフォーマットのオーディオデータにより決定されるオーディオサンプルデータが含まれ、
前記回路は、エンコード処理されたビデオデータを、ピクセルクロックに応答して、少なくとも1つの前記出力にアサートし、パケットを示す前記コードワードを、ピクセルクロックに応答して、少なくとも1つの前記出力にアサートし、タイムコードデータを前記パケットの少なくともいくつかに付け加えるように構成され、当該タイムコードデータは、ピクセルクロックと共に、各データ導体により受信したI2Sフォーマットのオーディオの各ストリームに対するオーディオクロックを示している、
請求項2に記載の送信器。 - 前記回路は、コントロールデータ期間に、コントロールデータを、少なくとも1つの前記出力にアサートするよう構成され、ここでコントロールデータ期間は、前記どんなデータアイランドと同時に起こることも、重複することもなく、また、前記どんなアクティブビデオ期間と同時に起こることも、重複することもない期間である、請求項1に記載の送信器。
- 少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された送信器であって、当該送信器は、
ビデオデータと、第1のフォーマットを持つオーディオデータのストリームと第2のフォーマットを持つオーディオデータのストリームを含む、オーディオデータの複数のストリームを受信する入力と、
前記リンクに接続されるよう設定された少なくとも1つの出力と、
前記入力と前記各出力に接続され、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、補助データのパケットを示すコードワードを生成し、前記エンコード処理されたビデオデータを、アクティブビデオ期間に少なくとも1つの出力にアサートし、補助データのパケットを示す前記コードワードをデータアイランド期間に少なくとも1つの出力にアサートするように構成された回路と、
を具備し、
前記回路には、マルチプレクサ回路、及び、当該マルチプレクサ回路に接続されてデータをパッケージ化するための回路がふくまれ、ここで、前記マルチプレクサ回路は、前記オーディオデータのストリームに接続され、当該オーディオデータのストリームを受け取り、前記ストリームの内あらかじめ定めたものを、前記データをパッケージ化するための回路にあらかじめ定めたタイミングでアサートする、
送信器 - 前記パケットの内の少なくともいくつかは、オーディオサンプルパケットであり、前記パッケージ化するための回路は、前記オーディオパケットに包含させるために前記オーディオデータをフォーマットするよう構成され、前記各オーディオサンプルパケットには、Nビットのオーディオサンプルワードが含まれ、前記各オーディオサンプルワードには、前記オーディオデータにより決定されるオーディオサンプルが含まれ、前記各オーディオサンプルは、IEC_60958フレームのサブフレームのフォーマットに対応するフォーマットを有する、請求項12に記載の送信器。
- 前記入力は、2個のクロックのストリームとI2SデータのストリームからなるI2Sフォーマットのオーディオデータ、及び、DSDビットクロックのストリームと第1のDSDデータのストリームと第2のDSDデータのストリームからなるオーディオデータを受信するよう設定され、前記マルチプレクサ回路は、前記入力がI2Sフォーマットのオーディオデータを受信したとき、あらかじめ定めたタイミングで、前記データをパッケージ化するための回路に、I2Sデータのストリームをアサートするよう構成され、前記マルチプレクサ回路は、前記入力がDSDフォーマットのオーディオデータを受信したとき、あらかじめ定めたタイミングで、前記データをパッケージ化するための回路に、第1のDSDデータのストリームと第2のDSDデータのストリームのデータをアサートするよう構成されている、請求項12に記載の送信器。
- 少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された送信器であって、
埋め込まれたクロックとビデオデータを有する少なくとも1つのオーディオデータのストリームを受信するための入力と
前記リンクに接続されるよう設定された少なくとも1つの出力と、
前記入力と前記各出力に接続され、前記回路は、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、前記埋め込まれたクロックとは位相関係が未知の第2のクロックによりオーディオデータのストリームをサンプリングすることにより再サンプリングされたオーディオデータを生成し、補助データのパケットを示すコードワードを生成し、アクティブビデオ期間中のピクセルクロックに応答して、エンコード処理されたビデオデータを、前記少なくとも1つの出力にアサートし、データアイランド期間のピクセルクロックに応答して、補助データのパケットを示す前記コードワードを、前記少なくとも1つの出力にアサートする構成された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、前記補助データには、タイムコードデータと、再サンプリングされたオーディオデータと、前記第2のクロックを示すピクセルクロックを含んだタイムコードが含まれる、
送信器 - 前記オーディオデータのストリームは、入力オーディオのサンプルレートを持ち、前記第2のクロックは、Z*128*Fsの周波数を持ち、ここでZは2未満でない整数であり、Fsは入力オーディオのサンプルレートである、請求項15に記載の送信器。
- 少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された送信器であって、
埋め込まれたクロックとビデオデータを有する少なくとも1つのオーディオデータのストリームを受信するための入力と
前記リンクに接続されるよう設定された少なくとも1つの出力と、
前記入力と前記各出力に接続され、前記回路は、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、前記埋め込まれたクロックとは位相関係が未知のピクセルクロックによりオーディオデータのストリームをサンプリングすることにより再サンプリングされたオーディオデータを生成し、補助データのパケットを示すコードワードを生成し、アクティブビデオ期間中の前記ピクセルクロックに応答して、エンコード処理されたビデオデータを、前記少なくとも1つの出力にアサートし、データアイランド期間の前記ピクセルクロックに応答して、補助データのパケットを示す前記コードワードを、前記少なくとも1つの出力にアサートする構成された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、前記補助データには再サンプリングされたオーディオデータが含まれる、
送信器 - 少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された送信器であって、
ビデオデータとオーディオデータを受信するための入力と、
前記リンクに接続されるよう設定された少なくとも1つの出力と、
前記入力と前記各出力に接続され、前記回路は、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、補助データのパケットを示すコードワードを生成し、アクティブビデオ期間中に、エンコード処理されたビデオデータを、前記少なくとも1つの出力にアサートし、データアイランド期間に、補助データのパケットを示す前記コードワードを、前記少なくとも1つの出力にアサートするよう構成された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、前記補助データにはオーディオデータが含まれ、
前記パケットの少なくともいくつかはオーディオサンプルパケットであり、前記各オーディオサンプルパケットは、ヘッダを有し、少なくとも前記オーディオの1つのサンプルを含み、前記ヘッダは、前記オーディオサンプルパケットにオーディオデータが含まれるかどうか、及び、前記各オーディオサンプルはフラットラインサンプルかどうかを示す、あらかじめ定めた少なくとも1つのタイムスロット内のヘッダデータを含む、
送信器。 - 前記各オーディオサンプルパケットは、少なくとも2個のサブパケットを有し、当該各サブパケットには、前記オーディオデータの少なくとも1つのサンプルを含むことができ、前記ヘッダデータは、前記各サブパケットにはオーディオデータサンプルが含まれるかどうかを示す、あらかじめ定めた第1のタイムスロット内のデータを含み、前記ヘッダデータはまた、前記各オーディオデータサンプルはフラットラインサンプルかどうかを示す、あらかじめ定めた第2のタイムスロット内のデータを含む、請求項18に記載の送信器。
- 少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された送信器であって、
ビデオデータと、DSDフォーマットのオーディオデータを含むオーディオデータを受信するための入力と、
前記リンクに接続されるよう設定された少なくとも1つの出力と、
前記入力と前記各出力に接続され、前記回路は、ビデオデータをエンコード処理することによりエンコード処理されたビデオデータを生成し、補助データのパケットを示すコードワードを生成し、アクティブビデオ期間中に、エンコード処理されたビデオデータを、前記少なくとも1つの出力にアサートし、データアイランド期間に、補助データのパケットを示す前記コードワードを、前記少なくとも1つの出力にアサートするよう構成された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、前記補助データにはオーディオデータが含まれる、
送信器。 - 前記パケットの少なくともいくつかは、ヘッダと少なくとも2個のサブパケットを有するオーディオサンプルパケットであり、前記サブパケットは前記オーディオデータのサンプルを含んでいる、請求項20に記載の送信器。
- 少なくとも1つの前記オーディオサンプルパケットの各サブパケットには、2個のNビットワードが含まれ、当該各Nビットワードには、DSDフォーマットオーディオデータにより決定されるMビットのオーディオサンプルデータが含まれる、請求項21に記載の送信器。
- 前記各Nビットワードは、IEC_60958フレームのサブフレームのフォーマットに対応するフォーマットを有する、請求項22に記載の送信器。
- 前記回路は、オーディオサンプルパケットを示すコードワードを生成するDSDフォーマットのオーディオデータのフォーマットを示すプログラムされたレジスタビットを採用するよう設定されている、請求項22に記載の送信器。
- 前記入力は、1+2M本の導体によりDSDフォーマットのオーディオデータを受信するよう設定され、当該導体には、ビットクロック導体が含まれ、ここで1≦M≦4であり、前記オーディオサンプルパケットには、前記各データ導体により受信されたDSDフォーマットのオーディオにより決定されるオーディオサンプルデータが含まれる、請求項21に記載の送信器。
- 前記回路は、エンコード処理されたビデオデータを、ピクセルクロックに応答して、少なくとも1つの前記出力にアサートし、パケットを示す前記コードワードを、ピクセルクロックに応答して、少なくとも1つの前記出力にアサートし、タイムコードデータを前記パケットの少なくともいくつかに付け加えるように構成され、当該タイムコードデータは、ピクセルクロックと共に、DSDフォーマットのオーディオデータに対するオーディオクロックを示している、請求項25に記載の送信器。
- 前記入力は、3M本の導体によりDSDフォーマットのオーディオデータを受信するよう設定され、当該導体には、ビットクロック導体、及び2M個のデータ導体が含まれ、ここで1≦M≦4であり、前記オーディオサンプルパケットには、前記各データ導体により受信されたDSDフォーマットのオーディオデータにより決定されるオーディオサンプルデータが含まれ、
前記回路は、エンコード処理されたビデオデータを、ピクセルクロックに応答して、少なくとも1つの前記出力にアサートし、パケットを示す前記コードワードを、ピクセルクロックに応答して、少なくとも1つの前記出力にアサートし、タイムコードデータを前記パケットの少なくともいくつかに付け加えるように構成され、当該タイムコードデータは、ピクセルクロックと共に、各データ導体により受信したDSDフォーマットのオーディオの各ストリームに対するオーディオクロックを示している、
請求項21に記載の送信器。 - ビデオクロックチャンネルと少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された受信器であって、当該受信器は、
前記ビデオクロックチャンネルに接続されるよう設定されたクロック入力を含む、前記リンクに接続されるよう設定された少なくとも2つの入力と、
前記リンクから復元されたビデオデータとオーディオデータをアサートするための出力と、
前記入力と前記各出力に接続され、前記クロック入力からピクセルクロックを受信し、前記ピクセルクロックに応答して、アクティブビデオ期間に少なくとも1つの前記入力にて受信したエンコード処理されたビデオデータをデコード処理することにより、復元されたビデオデータを生成し、前記復元されたビデオデータを前記出力の少なくとも1つにアサートし、前記ピクセルクロックに応答して、データアイランド期間に少なくとも1つの前記入力にて受信したエンコード処理された補助データのパケットのコードワードをデコード処理することにより、デコード処理されたデータを生成し、当該デコード処理されたデータから少なくとも1つのI2Sフォーマットのオーディオデータデータを生成し、前記各I2Sフォーマットのオーディオデータのストリームを少なくとも1つの前記出力にアサートするよう設定された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、
前記デコード処理されたデータの少なくともいくつかは、タイムスタンプを示すタイムコードデータであり、当該タイムコードデータは、ピクセルクロックと共に、前記I2Sフォーマットのオーディオのストリームに対するオーディオクロックを示している、
受信器。 - 前記回路は、前記デコード処理されたデータからI2SフォーマットのオーディオデータのN個のストリームを生成し、ここでNは1より大きく、前記I2Sフォーマットの各オーディオデータのストリームを前記出力の異なるサブセットにアサートするよう設定されている、請求項28に記載の受信器。
- 前記I2Sフォーマットの各オーディオデータのストリームは前記オーディオクロックを共有している、請求項29に記載の受信器。
- 前記タイムコードデータはピクセルクロックと共に、前記I2Sフォーマットの各オーディオデータのストリームに対する異なったオーディオクロックを示す、請求項29に記載の受信器。
- N=4である、請求項29に記載の受信器。
- ビデオクロックチャンネルと少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された受信器であって、当該受信器は、
前記リンクと接続されるよう設定された少なくとも1つの入力と、
前記リンクから復元されたビデオデータとオーディオデータをアサートするための出力と、
前記出力と前記各入力に接続され、アクティブビデオ期間に少なくとも1つの前記入力にて受信したエンコード処理されたビデオデータをデコード処理することにより、復元されたビデオデータを生成し、前記復元されたビデオデータを前記出力の少なくとも1つにアサートし、データアイランド期間に少なくとも1つの前記入力にて受信したエンコード処理された補助データのパケットのコードワードをデコード処理することにより、デコード処理されたデータを生成し、当該デコード処理されたデータから復元されたオーディオデータの少なくとも1つのストリームを生成するよう設定された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、
前記回路には、あらかじめ定めた少なくとも1つ前記出力に接続され、あらかじめ定めたタイミングで復元された前記各オーディオデータのストリームをアサートするよう設定されたマルチプレクサ回路が含まれる、
受信器。 - 前記パケットの少なくともいくつかはオーディオサンプルパケットであり、当該各オーディオサンプルパケットにはオーディオサンプルワードが含まれ、当該各オーディオサンプルワードには、N個のオーディオサンプルビットが含まれ、当該オーディオサンプルビットは復元されたオーディオデータを決定し、前記オーディオサンプルワードはIEC_60958フレームのサブフレームのフォーマットに対応するフォーマットを有する、請求項33に記載の受信器。
- 前記出力には、2つのクロックのストリームとI2SデータのストリームからなるI2Sフォーマットのオーディオデータ、又は、DSDビットクロックのストリームと2つのDSDデータのストリームからなるDSDフォーマットのオーディオデータのいずれかをアサートするよう設定された3つの出力が含まれ、前記回路は、前記デコード処理されたデータから3つの復元されたオーディオデータのストリームを生成するようなモードで動作可能であり、前記マルチプレクサ回路は、前記3つの復元されたオーディオデータのストリームを、I2Sフォーマットのオーディオデータ又はDSDフォーマットのオーディオデータとして前記3つの出力にアサートするよう設定されている、請求項33に記載の受信器。
- ビデオクロックチャンネルと少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された受信器であって、当該受信器は、
前記リンクと接続されるよう設定された少なくとも1つの入力と、
前記リンクから復元されたビデオデータとオーディオデータをアサートするための出力と、
前記出力と前記各入力に接続され、アクティブビデオ期間に少なくとも1つの前記入力にて受信したエンコード処理されたビデオデータをデコード処理することにより、復元されたビデオデータを生成し、前記復元されたビデオデータを前記出力の少なくとも1つにアサートし、データアイランド期間に少なくとも1つの前記入力にて受信したエンコード処理された補助データのパケットのコードワードをデコード処理することにより、デコード処理されたデータを生成し、当該デコード処理されたデータから復元されたオーディオデータの少なくとも1つのストリームを生成するよう設定された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、前記パケットの少なくともいくつかはオーディオサンプルパケットであり、前記各オーディオサンプルパケットはヘッダを有し、前記オーディオデータの少なくとも1つのサンプルを含むことができ、前記ヘッダは、前記オーディオサンプルパケットにオーディオデータが含まれるかどうか、及び、前記各オーディオサンプルはフラットラインサンプルかどうかを示す、あらかじめ定めた少なくとも1つのタイムスロット内のヘッダデータを含み、
前記回路は、前記パケットの内の1つはフラットラインサンプルを含むオーディオサンプルパケットであることを示すヘッダデータの受信に応答して、復元された前記オーディオデータのストリームの少なくとも1つにおけるフラットラインデータを含むように設定される、
受信器 - ビデオクロックチャンネルと少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された受信器であって、当該受信器は、
前記ビデオクロックチャンネルに接続されるよう設定されたクロック入力を含む、前記リンクに接続されるよう設定された少なくとも2つの入力と、
前記リンクから復元されたビデオデータとオーディオデータをアサートするための出力と、
前記入力と前記各出力に接続され、前記クロック入力からピクセルクロックを受信し、前記ピクセルクロックに応答して、アクティブビデオ期間に少なくとも1つの前記入力にて受信したエンコード処理されたビデオデータをデコード処理することにより、復元されたビデオデータを生成し、前記復元されたビデオデータを前記出力の少なくとも1つにアサートし、前記ピクセルクロックに応答して、データアイランド期間に少なくとも1つの前記入力にて受信したエンコード処理された補助データをデコード処理することにより、デコード処理されたデータを生成し、当該デコード処理されたデータから少なくとも1つのDSDフォーマットのオーディオデータデータを生成し、前記各DSDフォーマットのオーディオデータのストリームを少なくとも1つの前記出力にアサートするよう設定された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、
前記デコード処理されたデータの少なくともいくつかは、タイムスタンプを示すタイムコードデータであり、当該タイムコードデータは、ピクセルクロックと共に、前記DSDフォーマットのオーディオのストリームに対するオーディオクロックを示している、
受信器。 - 前記回路は、前記デコード処理されたデータからDSDフォーマットのオーディオデータのN個のストリームを生成し、ここでNは1より大きく、前記DSDフォーマットの各オーディオデータのストリームを前記出力の異なるサブセットにアサートするよう設定されている、請求項37に記載の受信器。
- 前記各DSDフォーマットのオーディオデータのストリームは、オーディオクロックを共有する、請求項38に記載の受信器。
- 前記タイムコードデータは、ピクセルクロックと共に、前記各DSDフォーマットのオーディオデータのストリームに対する異なったオーディオクロックを示す、請求項38に記載の受信器。
- N=4である、請求項38に記載の受信器。
- ビデオクロックチャンネルと少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された送信器であって、当該送信器は、
入力ビデオデータとオーディオデータを受信するための入力と、
前記リンクと接続されるよう設定された少なくとも1つの出力と、
前記入力と前記各出力に接続された回路であって、当該回路は、前記ビデオデータをエンコード処理することにより、エンコード処理されたビデオデータを生成し、補助データのパケットを示すコードワードを生成し、前記エンコード処理されたビデオデータを、アクティブビデオ期間に、前記少なくとも1つの出力にアサートし、補助データのパケットを示す前記コードワードを、データアイランド期間に、前記少なくとも1つの出力にアサートするよう設定された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、
前記回路は、第1のフォーマットを有する入力ビデオに応答して第2のフォーマットを有するビデオを示す、前記エンコード処理されたビデオデータを生成するよう設定されている、
送信器。 - 前記回路は、ITU−BT.656フォーマット又はYCbCr4:2:2フォーマットを有する入力ビデオに応答して、YCbCr4:2:2フォーマットを有するビデオを示すエンコード処理されたビデオデータを生成するように設定されている、請求項42に記載の送信器。
- 前記回路は、NビットコンポーネントのITU−BT.656フォーマット又はYCbCr4:2:2フォーマットを有する2つの時分割多重化された入力ビデオのストリームからなる入力ビデオに応答して、2NビットコンポーネントのYCbCr4:2:2フォーマットを有するビデオを示すエンコード処理されたビデオデータを生成するように設定されている、請求項42に記載の送信器。
- 前記回路は、DDRYCbCr4:4:4フォーマット又はDDRYCbCr4:2:2フォーマットを有する入力ビデオに応答して、従来のYCbCr4:4:4フォーマット又は従来のYCbCr4:2:2フォーマットを有するビデオであることを示すエンコード処理されたビデオデータを生成するように設定されている、請求項42に記載の送信器。
- 前記回路は、ITU−BT.656フォーマットを有する2つの時分割多重化された入力ビデオのストリームに応答して、従来のYCbCr4:2:2フォーマットを有するビデオを示すエンコード処理されたビデオデータを生成するように設定されている、請求項42に記載の送信器。
- 前記回路は、入力ビデオサンプルと共にsyncビットが埋め込まれた少なくとも1つのフォーマットと、入力ビデオサンプルと共にsyncビットが埋め込まれていない少なくとも1つのフォーマットを含む、少なくとも2つのYCbCrフォーマットの内のあらゆるフォーマットを有する入力ビデオに応答して、YCbCr4:4:4フォーマットを有するビデオを示すエンコード処理されたビデオデータを生成するように設定されている、請求項42に記載の送信器。
- 前記回路は、入力ビデオサンプルと共にsyncビットが埋め込まれた少なくとも1つのフォーマットと、入力ビデオサンプルと共にsyncビットが埋め込まれていない少なくとも1つのフォーマットを含む、少なくとも2つのYCbCrフォーマットの内のあらゆるフォーマットを有する入力ビデオに応答して、YCbCr4:2:2フォーマットを有するビデオであることを示すエンコード処理されたビデオデータを生成するように設定されている、請求項42に記載の送信器。
- 前記回路には、YCbCr4:2:2フォーマットで入力ビデオを受信するために接続されたアップコンバージョン回路が含まれ、前記回路は、YCbCr4:2:2フォーマットの前記入力ビデオに応答してYCbCr4:4:4フォーマットを有するビデオ示すエンコード処理されたビデオデータを生成するよう構成されている、請求項42に記載の送信器。
- 前記回路には、YCbCrからRGBへの色空間変換回路が含まれ、前記回路は、YCbCrフォーマットの入力ビデオに応答して、RGBフォーマットを有するビデオを示すエンコード処理されたビデオデータを生成するよう構成されている、請求項42に記載の送信器。
- ビデオクロックチャンネルと少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された受信器であって、当該受信器は、
前記リンクと接続されるよう設定された少なくとも1つの入力と、
前記リンクから復元されたビデオデータとオーディオデータをアサートするための出力と、
前記出力と前記各入力に接続され、アクティブビデオ期間に少なくとも1つの前記入力にて受信したエンコード処理されたビデオデータをデコード処理することにより、復元されたビデオデータを生成し、前記復元されたビデオデータを前記出力の少なくとも1つにアサートし、データアイランド期間に少なくとも1つの前記入力にて受信したエンコード処理された補助データのパケットのコードワードをデコード処理することにより、デコード処理されたデータを生成し、当該デコード処理されたデータから復元されたオーディオデータの少なくとも1つのストリームを生成するよう設定された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、前記回路は、第2のフォーマットを有するビデオを示すエンコード処理されたビデオデータに応答して、第1のフォーマットを持つ復元されたビデオデータを生成するよう設定されている、
受信器。 - 前記回路は、YCbCr4:2:2フォーマットを有するビデオを示すエンコード処理されたビデオデータに応答して、ITU−BT.656フォーマットを持つ復元されたビデオデータを生成するよう設定されている、請求項51に記載の受信器。
- 前記回路は、2NビットコンポーネントのYCbCr4:2:2フォーマットを有するビデオであることを示すエンコード処理されたビデオデータに応答して、各々がNビットコンポーネントのITU−BT.656フォーマットを持つ復元されたビデオデータの2つのストリームを生成するよう設定されている、請求項51に記載の受信器。
- 前記回路は、YCbCr4:2:2フォーマットを有するビデオであることを示すエンコード処理されたビデオデータに応答して、入力ビデオサンプルと共にsyncビットが埋め込まれた少なくとも1つのフォーマットと、入力ビデオサンプルと共にsyncビットが埋め込まれていない少なくとも1つのフォーマットを含む、少なくとも2つのYCbCrフォーマットにおけるあるフォーマットを持つ復元されたビデオデータを生成するよう設定されている、請求項51に記載の受信器。
- 前記回路は、従来のYCbCr4:4:4フォーマット又は従来のYCbCr4:2:2フォーマットを有するビデオであることを示すエンコード処理されたビデオデータに応答して、DDRYCbCr4:4:4フォーマット、DDRYCbCr4:2:2フォーマット、又はDDRITU−BT.656フォーマットを持つ復元されたビデオを生成するよう設定されている、請求項51に記載の受信器。
- 前記回路は、第2のYCbCrフォーマットを有するビデオであることを示すエンコード処理されたビデオデータに応答して、第1のYCbCrフォーマットを有する復元されたビデオデータを生成するように設定されている、請求項51に記載の受信器。
- 前記回路は、ダウンコンバージョン又はアップコンバージョンの内の少なくとも1つを行うことによるものを含む、第2のYCbCrフォーマットを有するビデオであることを示すエンコード処理されたビデオデータに応答して、第1のYCbCrフォーマットを持つ復元されたビデオデータを生成するよう設定された、請求項51に記載の受信器。
- 前記回路は、RGBフォーマットを有するビデオであることを示すエンコード処理されたビデオデータに応答して、YCbCrフォーマットを持つ復元されたビデオデータを生成するよう設定された、請求項51に記載の受信器。
- データのブロックに対するエラー修正コードを生成する回路であって、当該回路は、
第1の入力は第1のデータのストリームを受信するために接続され、第2の入力は第2のデータのストリームを受信するために接続された、少なくとも第1の入力と、第2の入力と、
少なくとも第1の出力と、第2の出力と、
前記第1の入力、前記第2の入力、前記第1の出力、及び前記第2の出力と結びつけられたエラー修正コード生成ロジックであって、当該エラー修正コード生成ロジックは、前記データのブロックにおける第1のサブセットと前記データのそれに続くブロックの少なくとも1つのデータビットからなる第1のストリームのデータ、及び、前記ブロックにおける第2のサブセットと前記データのそれに続くブロックの少なくとも1つの他のデータビットからなる第2のストリームのデータに応答して、前記データの前記ブロックに対するエラー修正コードの第1のサブセットを、前記第1の出力にアサートし、前記ブロックに対するエラー修正コードの第2のサブセットを、前記第2の出力にアサートするよう設定された、エラー修正コード生成ロジックと、
を具備する回路。 - 前記エラー修正コード生成ロジックには、シフトレジスタと、Z個のビットからなるブロックと、これに続くZ個のビットからなるブロックと、Y個のエラー修正コードビットからなるブロックに対するエラー修正コードが含まれ、前記エラー修正コード生成ロジックは、Y/2クロックサイクルより長くならない期間に、前記シフトレジスタから前記ブロックに、Y個のエラー修正コードビットをシフトアウトさせるように動作するよう設定されている、請求項59に記載の回路。
- 前記エラー修正コードはBCHパリティビットからなる、請求項59に記載の回路。
- 前記エラー修正コードはシンドロームビットからなる、請求項59に記載の回路。
- 少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された送信器であって、
ビデオデータを受信するため接続されたの少なくとも1つの入力と、補助データを受信するため接続された少なくとも1つの入力と、
前記リンクに接続されるよう設定された少なくとも1つの出力と、
前記各入力と前記各出力に接続された回路であって、ビデオデータと補助データをエンコード処理することによりエンコード処理されたビデオデータとエンコード処理された補助データを生成し、アクティブビデオ期間中にエンコード処理されたビデオデータを少なくとも1つの前記出力にアサートし、データアイランド期間にエンコード処理された補助データ少なくとも1つの前記出力にアサートするよう設定された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、
前記パケットの少なくともいくつかは、データの少なくとも1つのブロックと前記ブロックに対するBCHパリティビットを示し、前記回路には、少なくとも第1の入力と、第2の入力と、第1の出力と、第2の入力が含まれ、前記パリティビット生成ロジックは接続されて、前記第1の入力で受信された前記データの第1のストリームと前記第2の入力で受信された前記データの第2のストリームを含むデータの少なくとも2つのストリームに応答して前記各ブロックに対するBCHパリティを発生し、前記ブロックに対するBCHパリティの第1のサブセットを前記第1の出力にアサートし、前記ブロックの前記データの第1のサブセットとそれに続く前記データのブロックの少なくとも1つのデータビットからなる前記第1のストリームのデータと、前記ブロックの前記データの第2のサブセットとそれに続くデータのブロックの少なくとも1つの他のデータビットからなる前記第2のストリームのデータに応答して、前記ブロックに対するBCHパリティビットの第2のサブセットを前記第2の出力にアサートするよう設定されている、
送信器、 - 前記パリティビット発生ロジックにはシフトレジスタが含まれ、前記パリティビット発生ロジックは、前記BCHパリティビットの内の少なくとも2つは、各クロックサイクル期間に前記レジスタからシフトアウトされるように動作するよう設定される、請求項63に記載の送信器。
- 前記各ブロックとそれに続くブロックはZ個のビットからなり、前記ブロックに対するBCHパリティビットはY個のパリティビットからなり、前記パリティビット発生ロジックは、Y/2クロックサイクルより長くならない期間に、前記シフトレジスタから前記ブロックに、前記Y個のパリティビットをシフトアウトさせるように動作するよう設定されている、請求項64に記載の送信器。
- 前記第1のストリームにおけるデータは、前記ブロックの前記データにおける前記第1のサブセットと、それに続くブロックの第1のデータビットからなり、前記第2のストリームにおけるデータは、前記ブロックの前記データにおける前記第2のサブセットと、それに続くデータのブロックにおける第2のデータビットからなり、前記パリティビット発生ロジックは、Y/2クロックサイクル期間に、前記シフトレジスタから前記ブロックに、前記Y個のパリティビットをシフトアウトさせるように動作するよう設定されている、請求項65に記載の送信器。
- 前記回路は、前記各パケットはヘッダと少なくとも2つのサブパケットを持ち、各パケットのヘッダにはヘッダデータとヘッダパリティビットが含まれ、前記各サブパケットにはサブパケットデータと当該サブパケットデータに対するサブパケットパリティビットが含まれ、データの前記各ブロックは前記サブパケットデータのブロックであり、前記サブパケットデータの前記各ブロックに対するパリティビット発生ロジックにより生成されたBCHパリティビットが前記サブパケットのパリティビットであるような前記サブパケットをアサートするよう設定されている、請求項63に記載の送信器。
- ビデオクロックチャンネルと少なくとも1つのビデオチャンネルからなるシリアルリンクと接続されるよう設定された受信器であって、当該受信器は、
前記リンクと接続されるよう設定された少なくとも1つの入力と、
前記リンクから復元されたビデオデータをアサートするための少なくとも1つの出力と、前記リンクから復元されたオーディオデータをアサートするための少なくとも1つの出力と、
前記各入力と前記各出力に接続された回路であって、アクティブビデオ期間に少なくとも1つの前記入力にて受信したエンコード処理されたビデオデータをデコード処理することにより、復元されたビデオデータを生成し、前記復元されたビデオデータを少なくとも1つのビデオ出力にアサートし、データアイランド期間に少なくとも1つの前記入力にて受信した前記パケットであることを示すコードワードをデコード処理することにより、補助データを含むパケットを復元し、当該復元されたパケットから抽出されたデータからオーディオデータの少なくとも1つのストリームを生成し、前記各オーディオデータのストリームを前記少なくとも1つのオーディオ出力にアサートするよう設定された回路と、
を具備し、
ここで、前記各データアイランドは、前記どんなアクティブビデオ期間と同時に起こることも重複することもない期間であり、
前記復元されたパケットの少なくともいくつかから抽出されたデータは、一連のデータブロックを示し、前記回路には、前記ブロックのデータにおける少なくとも2つのストリームに応答して前記各ブロックにシンドロームビットを発生させるよう設定されたシンドローム生成ロジックが接続され、当該シンドローム生成ロジックには、データの第1のストリームを受信するために接続された第1の入力と、データの第2のストリームを受信するために接続された第2の入力と、第1の出力と、第2の出力が含まれ、前記シンドローム生成ロジックは、前記ブロックの各々における前記データの第1のサブセットと前記ブロックにおける次のデータの内の少なくとも1つのデータからなる第1のデータと、前記ブロックの各々における前記データの第2のサブセットと前記ブロックにおける次のデータの内の少なくとも1つのデータからなる第2のデータに応答して、前記第1の出力にて前記各ブロックに対する前記シンドロームビットの第1のサブセットをアサートし、前記第2の出力にて前記各ブロックに対する前記シンドロームビットの第2のサブセットをアサートするよう設定されている、
受信器。 - 前記シンドローム生成ロジックにはシフトレジスタが含まれ、前記各ブロックはZ個のビットからなり、前記各ブロックに対してY個の前記シンドロームビットがあり、前記シンドローム生成ロジックは、Y/2クロックサイクルより長くならない期間に、前記シフトレジスタから前記各ブロックに、Y個のシンドロームビットをシフトアウトさせるように動作するよう設定されている、請求項68に記載の受信器。
- 前記第1のストリームにおけるデータは、前記各ブロックの前記データにおける前記第1のサブセットと次のブロックにおける第1のデータビットからなり、前記第2のストリームにおけるデータは、前記各ブロックの前記データにおける前記第2のサブセットと次のブロックにおける第2のデータビットからなり、前記シンドローム発生ロジックは、Y/2クロックサイクル期間に、前記シフトレジスタから前記各ブロックに、前記Y個のシンドロームビットをシフトアウトさせるように動作するよう設定されている、請求項68に記載の送信器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/036,234 US7359437B2 (en) | 2001-09-12 | 2001-12-24 | Encoding method and system for reducing inter-symbol interference effects in transmission over a serial link |
US10/095,422 US7257163B2 (en) | 2001-09-12 | 2002-03-12 | Method and system for reducing inter-symbol interference effects in transmission over a serial link with mapping of each word in a cluster of received words to a single transmitted word |
US10/171,860 US7088398B1 (en) | 2001-12-24 | 2002-06-14 | Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data |
US19223302A | 2002-07-10 | 2002-07-10 | |
PCT/US2002/038948 WO2003058826A2 (en) | 2001-12-24 | 2002-12-05 | System for serial transmission of video and packetized audio data in multiple formats |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005514849A true JP2005514849A (ja) | 2005-05-19 |
Family
ID=27488352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003559026A Pending JP2005514849A (ja) | 2001-12-24 | 2002-12-05 | シリアルリンクを利用したビデオ及び複数のフォーマットにおけるパケット化されたオーディオデータの伝送方法及びシステム |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1459532A2 (ja) |
JP (1) | JP2005514849A (ja) |
CA (1) | CA2471541A1 (ja) |
WO (1) | WO2003058826A2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007028645A (ja) * | 2005-06-24 | 2007-02-01 | Silicon Image Inc | シリアルリンクを経てnビットビデオデータを送信するための方法及びシステム |
WO2007097099A1 (ja) | 2006-02-20 | 2007-08-30 | Matsushita Electric Industrial Co., Ltd. | 送信装置及び送受信装置 |
WO2009044762A1 (ja) * | 2007-10-02 | 2009-04-09 | Sony Corporation | 送信装置、画像データ送信方法、受信装置および受信装置における画像表示方法 |
US8194186B2 (en) | 2008-04-23 | 2012-06-05 | Silicon Library, Inc. | Receiver capable of generating audio reference clock |
JP2012531098A (ja) * | 2009-06-18 | 2012-12-06 | シリコン イメージ,インコーポレイテッド | 受信データに対するエラー検出を利用する暗号化の検出 |
KR20130002794A (ko) * | 2011-06-29 | 2013-01-08 | 삼성전자주식회사 | 방송 수신 장치 및 그의 방송 수신 방법 |
KR101319549B1 (ko) | 2007-07-16 | 2013-10-21 | 삼성전자주식회사 | 오디오 데이터 송수신방법 및 이 방법을 이용한 전자장치 |
KR101445368B1 (ko) | 2006-09-19 | 2014-09-29 | 에스.아이.에스브이.이엘. 쏘시에타‘ 이탈리아나 퍼 로 스빌루포 델‘엘레트로니카 에스.피.에이. | 오디오 비디오 시퀀스를 재생하기 위한 방법 및 장치 |
JP2020120409A (ja) * | 2020-04-24 | 2020-08-06 | マクセル株式会社 | 映像送信装置 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100435564C (zh) | 2003-05-28 | 2008-11-19 | 松下电器产业株式会社 | 数字接口解码接收装置 |
GB2407006A (en) * | 2003-10-08 | 2005-04-13 | Sony Uk Ltd | Communicating streamed payload data and packet based auxiliary data |
JP4426249B2 (ja) * | 2003-10-27 | 2010-03-03 | パイオニア株式会社 | 信号伝送装置及び伝送方法 |
JP3876899B2 (ja) * | 2004-08-03 | 2007-02-07 | 船井電機株式会社 | テレビジョン受信装置 |
KR100641928B1 (ko) * | 2004-08-23 | 2006-11-02 | 엘지전자 주식회사 | 앰팩 오디오 데이터 변환 출력장치 및 방법 |
KR101101812B1 (ko) * | 2006-01-09 | 2012-01-05 | 삼성전자주식회사 | 디스플레이장치 및 그 제어방법 |
JP4303256B2 (ja) * | 2006-04-04 | 2009-07-29 | パナソニック株式会社 | デジタル信号受信装置およびデジタル信号受信方法 |
KR101403682B1 (ko) * | 2007-12-13 | 2014-06-05 | 삼성전자주식회사 | 오디오 데이터를 전송하는 영상기기 및 그의 오디오 데이터전송방법 |
US8189681B1 (en) | 2008-09-24 | 2012-05-29 | Matrox Graphics Inc. | Displaying multiple compressed video streams on display devices |
US8750176B2 (en) | 2010-12-22 | 2014-06-10 | Apple Inc. | Methods and apparatus for the intelligent association of control symbols |
US8990645B2 (en) | 2012-01-27 | 2015-03-24 | Apple Inc. | Methods and apparatus for error rate estimation |
US8897398B2 (en) | 2012-01-27 | 2014-11-25 | Apple Inc. | Methods and apparatus for error rate estimation |
US9838226B2 (en) | 2012-01-27 | 2017-12-05 | Apple Inc. | Methods and apparatus for the intelligent scrambling of control symbols |
US9450790B2 (en) | 2013-01-31 | 2016-09-20 | Apple Inc. | Methods and apparatus for enabling and disabling scrambling of control symbols |
US8917194B2 (en) | 2013-03-15 | 2014-12-23 | Apple, Inc. | Methods and apparatus for context based line coding |
US9210010B2 (en) | 2013-03-15 | 2015-12-08 | Apple, Inc. | Methods and apparatus for scrambling symbols over multi-lane serial interfaces |
EP2811483A3 (en) * | 2013-05-17 | 2015-06-03 | Apple Inc. | Methods and apparatus for error rate estimation |
JP6307856B2 (ja) * | 2013-11-28 | 2018-04-11 | ソニー株式会社 | 送信装置、広色域画像データ送信方法、受信装置、広色域画像データ受信方法およびプログラム |
CN106303575B (zh) * | 2016-11-08 | 2022-04-05 | 天津光电安辰信息技术股份有限公司 | 一种基于国产商用密码模块的视频加密系统及实现方法 |
CN108668144B (zh) * | 2017-03-29 | 2020-06-26 | 华为机器有限公司 | 一种数据流控方法、装置及设备 |
US20190095273A1 (en) * | 2017-09-27 | 2019-03-28 | Qualcomm Incorporated | Parity bits location on i3c multilane bus |
CN108809639B (zh) * | 2018-05-25 | 2021-02-09 | 中国计量大学 | 一种恶劣环境下的wsn动态密钥生成方法 |
US11176907B2 (en) | 2019-09-18 | 2021-11-16 | Sitronix Technology Corp. | Video data displaying device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475421A (en) * | 1992-06-03 | 1995-12-12 | Digital Equipment Corporation | Video data scaling for video teleconferencing workstations communicating by digital data network |
US5515373A (en) * | 1994-01-11 | 1996-05-07 | Apple Computer, Inc. | Telecommunications interface for unified handling of varied analog-derived and digital data streams |
US5521979A (en) * | 1994-04-22 | 1996-05-28 | Thomson Consumer Electronics, Inc. | Packet video signal inverse transport system |
US6141691A (en) * | 1998-04-03 | 2000-10-31 | Avid Technology, Inc. | Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements |
-
2002
- 2002-12-05 CA CA002471541A patent/CA2471541A1/en not_active Abandoned
- 2002-12-05 EP EP02795758A patent/EP1459532A2/en not_active Withdrawn
- 2002-12-05 JP JP2003559026A patent/JP2005514849A/ja active Pending
- 2002-12-05 WO PCT/US2002/038948 patent/WO2003058826A2/en active Application Filing
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007028645A (ja) * | 2005-06-24 | 2007-02-01 | Silicon Image Inc | シリアルリンクを経てnビットビデオデータを送信するための方法及びシステム |
WO2007097099A1 (ja) | 2006-02-20 | 2007-08-30 | Matsushita Electric Industrial Co., Ltd. | 送信装置及び送受信装置 |
KR101445368B1 (ko) | 2006-09-19 | 2014-09-29 | 에스.아이.에스브이.이엘. 쏘시에타‘ 이탈리아나 퍼 로 스빌루포 델‘엘레트로니카 에스.피.에이. | 오디오 비디오 시퀀스를 재생하기 위한 방법 및 장치 |
KR101319549B1 (ko) | 2007-07-16 | 2013-10-21 | 삼성전자주식회사 | 오디오 데이터 송수신방법 및 이 방법을 이용한 전자장치 |
WO2009044762A1 (ja) * | 2007-10-02 | 2009-04-09 | Sony Corporation | 送信装置、画像データ送信方法、受信装置および受信装置における画像表示方法 |
JP2009089209A (ja) * | 2007-10-02 | 2009-04-23 | Sony Computer Entertainment Inc | 送信装置、画像データ送信方法、受信装置および受信装置における画像表示方法 |
US8194186B2 (en) | 2008-04-23 | 2012-06-05 | Silicon Library, Inc. | Receiver capable of generating audio reference clock |
JP2012531098A (ja) * | 2009-06-18 | 2012-12-06 | シリコン イメージ,インコーポレイテッド | 受信データに対するエラー検出を利用する暗号化の検出 |
KR20130002794A (ko) * | 2011-06-29 | 2013-01-08 | 삼성전자주식회사 | 방송 수신 장치 및 그의 방송 수신 방법 |
KR101706181B1 (ko) * | 2011-06-29 | 2017-02-13 | 삼성전자주식회사 | 방송 수신 장치 및 그의 방송 수신 방법 |
JP2020120409A (ja) * | 2020-04-24 | 2020-08-06 | マクセル株式会社 | 映像送信装置 |
JP7037598B2 (ja) | 2020-04-24 | 2022-03-16 | マクセル株式会社 | 映像送信装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2003058826A3 (en) | 2003-11-13 |
CA2471541A1 (en) | 2003-07-17 |
WO2003058826A2 (en) | 2003-07-17 |
EP1459532A2 (en) | 2004-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4309765B2 (ja) | シリアルリンクを利用したビデオ及び付属データの伝送方法及びシステム | |
JP4176643B2 (ja) | シリアルリンク上をビデオデータと共に伝送された補助データのためのクロックを再生する方法および装置 | |
JP2005514849A (ja) | シリアルリンクを利用したビデオ及び複数のフォーマットにおけるパケット化されたオーディオデータの伝送方法及びシステム | |
US7283566B2 (en) | Method and circuit for generating time stamp data from an embedded-clock audio data stream and a video clock | |
JP4229836B2 (ja) | 一群の受信ワードの各ワードを単一送信ワードにマッピングすることで連続リンク送信上のシンボル間干渉効果を低減させる方法および装置。 | |
US7797536B1 (en) | Cryptographic device with stored key data and method for using stored key data to perform an authentication exchange or self test | |
US7359437B2 (en) | Encoding method and system for reducing inter-symbol interference effects in transmission over a serial link | |
US7295578B1 (en) | Method and apparatus for synchronizing auxiliary data and video data transmitted over a TMDS-like link | |
KR100699469B1 (ko) | 데이터 전송을 위한 클록을 재생성하기 위한 시스템 | |
KR100699452B1 (ko) | 비디오 및 패킷화된 오디오 데이터를 다수의 포맷으로직렬 전송하기 위한 시스템 | |
EP1330910B1 (en) | Method and system for reducing inter-symbol interference effects in transmission over a serial link with mapping of each word in a cluster of received words to a single transmitted word |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071120 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080415 |