(57)【要約】  本開示は、マルチメディア通信インタフェースを介した通信のためのハードウエアコンポーネントに関する。一実施形態において、ハードウエアコンポーネントは、ディスパリティ値を記憶するディスパリティ回路を含む。ディスパリティ値は、ハードウエアコンポーネントによって送信済みの１の数と０の数との差を表す。ハードウエアコンポーネントはさらに、ハードウエアコンポーネントによってスクランブルされ、エンコードされ、なおかつ送信される対象のマルチメディアデータを受信する回路システムを含む。一実施形態において、マルチメディアデータはビデオデータ及びデータアイランドデータを含む。一実施形態において、ハードウエアコンポーネントは、ビデオデータ及びデータアイランドデータ内のガードバンドデータに含まれる値に基づいて、遷移数最少の中間コードを生成する。ハードウエアコンポーネントは、遷移数最少でありなおかつ直流バランスがとれている、エンコードされたガードバンドコードを生成する。ハードウエアコンポーネントは、マルチメディア通信デバイスの差動対を介して、エンコードされたガードバンドコードを送信する。
2016526326.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディア通信インタフェースを介した通信のためのハードウエアコンポーネントであって、
送信済みの１の数と０の数との差を表すディスパリティ値を記憶するディスパリティ回路と、
回路システムと、を有し、
前記回路システムは、
ガードバンドデータを含むマルチメディアデータを受信し、
前記ガードバンドデータに基づいて、遷移数最少の中間コードを生成し、
前記遷移数最少の中間コードに基づいて、エンコードされたガードバンドコードを生成し、
前記マルチメディア通信インタフェースのチャネルを介して、前記エンコードされたガードバンドコードを送信し、
前記ガードバンドデータは、前記マルチメディアデータにおけるデータ期間の遷移に対応する、ハードウエアコンポーネント。
【請求項２】
前記回路システムは、前記ガードバンドデータをスクランブルして、スクランブルされたガードバンドデータを生成し、
前記回路システムは、前記スクランブルされたガードバンドデータに基づいて、前記遷移数最少の中間コードを生成する、請求項１に記載のハードウエアコンポーネント。
【請求項３】
前記回路システムは、前記エンコードされたガードバンドコードに含まれる１の数と０の数とに基づいて、前記ディスパリティ値を調整する、請求項１に記載のハードウエアコンポーネント。
【請求項４】
前記マルチメディアデータは、アクティブビデオデータと前記ガードバンドデータとをさらに含み、
前記ガードバンドデータは、前記アクティブビデオデータへの先行する遷移に対応する、請求項１に記載のハードウエアコンポーネント。
【請求項５】
前記回路システムはさらに、
前記アクティブビデオデータ及び前記ディスパリティ値に基づいて、エンコードされたビデオコードを生成し、
前記マルチメディア通信インタフェースの前記チャネルを介して、前記エンコードされたビデオコードを送信し、
前記エンコードされたビデオコードは、前記エンコードされたガードバンドコードとは異なる時点で送信される、請求項４に記載のハードウエアコンポーネント。
【請求項６】
前記マルチメディアデータは、アクティブビデオデータに関連付けられた補助データと前記ガードバンドデータとをさらに含み、
前記ガードバンドデータは、前記補助データへの先行する遷移又は前記補助データからの後続する遷移に対応する、請求項１に記載のハードウエアコンポーネント。
【請求項７】
前記遷移数最少の中間コードは、遷移数最少の９ビットの値であり、
前記エンコードされたガードバンドコードは、直流バランスのとれた１０ビットの値である、請求項１に記載のハードウエアコンポーネント。
【請求項８】
前記マルチメディアデータはさらに制御データを含み、
前記回路システムはさらに、
前記制御データに応じて、前記ディスパリティ回路のディスパリティ値をリセットし、
前記ディスパリティ値を用いずに、前記制御データに基づいて、エンコードされた制御コードを生成し、
前記マルチメディア通信インタフェースの前記チャネルを介して、前記エンコードされた制御コードを送信し、
前記エンコードされた制御コードは、前記エンコードされたビデオコード及び前記エンコードされたガードバンドコードとは異なる時点で送信される、請求項１に記載のハードウエアコンポーネント。
【請求項９】
マルチメディア通信リンクを介した通信のためのハードウエアコンポーネントを表すデータを記憶する非一時的コンピュータ可読媒体であって、
前記ハードウエアコンポーネントは、
送信済みの１の数と０の数との差を表すディスパリティ値を記憶するディスパリティ回路と、
回路システムと、を有し、
前記回路システムは、
ガードバンドデータを含むマルチメディアデータを受信し、
前記ガードバンドデータに基づいて、遷移数最少の中間コードを生成し、
前記遷移数最少の中間コードに基づいて、エンコードされたガードバンドコードを生成し、
前記マルチメディア通信インタフェースのチャネルを介して、前記エンコードされたガードバンドコードを送信し、
前記ガードバンドデータは、前記マルチメディアデータにおけるデータ期間の遷移に対応する、非一時的コンピュータ可読媒体。
【請求項１０】
前記回路システムは、前記ガードバンドデータをスクランブルして、スクランブルされたガードバンドデータを生成し、
前記回路システムは、前記スクランブルされたガードバンドデータに基づいて、前記遷移数最少の中間コードを生成する、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記回路システムは、前記エンコードされたガードバンドコードに含まれる１の数と０の数とに基づいて、前記ディスパリティ値を調整する、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記マルチメディアデータは、アクティブビデオデータと前記ガードバンドデータとをさらに含み、
前記ガードバンドデータは、前記アクティブビデオデータへの先行する遷移に対応する、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記回路システムはさらに、
前記アクティブビデオデータ及び前記ディスパリティ値に基づいて、エンコードされたビデオコードを生成し、
前記マルチメディア通信インタフェースの前記チャネルを介して、前記エンコードされたビデオコードを送信し、
前記エンコードされたビデオコードは、前記エンコードされたガードバンドコードとは異なる時点で送信される、請求項１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記マルチメディアデータは、アクティブビデオデータに関連付けられた補助データと前記ガードバンドデータとをさらに含み、
前記ガードバンドデータは、前記補助データへの先行する遷移又は前記補助データからの後続する遷移に対応する、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記遷移数最少の中間コードは、遷移数最少の９ビットの値であり、
前記エンコードされたガードバンドコードは、直流バランスのとれた１０ビットの値である、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記マルチメディアデータはさらに制御データを含み、
前記回路システムはさらに、
前記制御データに応じて、前記ディスパリティ回路のディスパリティ値をリセットし、
前記ディスパリティ値を用いずに、前記制御データに基づいて、エンコードされた制御コードを生成し、
前記マルチメディア通信インタフェースの前記チャネルを介して、前記エンコードされた制御コードを送信し、
前記エンコードされた制御コードは、前記エンコードされたビデオコード及び前記エンコードされたガードバンドコードとは異なる時点で送信される、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１７】
マルチメディア通信リンクを介した通信のためのハードウエアコンポーネントの動作方法であって、
前記方法は、
送信済みの１の数と０の数との差を表すディスパリティ値を受信するステップと、
ガードバンドデータを含むマルチメディアデータを受信するステップと、
前記ガードバンドデータに基づいて、遷移数最少の中間コードを生成するステップと、
前記遷移数最少の中間コードに基づいて、エンコードされたガードバンドコードを生成するステップと、
前記マルチメディア通信インタフェースのチャネルを介して、前記エンコードされたガードバンドコードを送信するステップと、を含み、
前記ガードバンドデータは、前記マルチメディアデータにおけるデータ期間の遷移に対応する、方法。
【請求項１８】
前記ガードバンドデータをスクランブルして、スクランブルされたガードバンドデータを生成するステップと、
前記スクランブルされたガードバンドデータに基づいて、前記遷移数最少の中間コードを生成するステップと、をさらに含む請求項１７に記載の方法。
【請求項１９】
前記エンコードされたガードバンドコードに含まれる１の数と０の数とに基づいて、前記ディスパリティ値を調整するステップをさらに含む、請求項１７に記載の方法。
【請求項２０】
前記遷移数最少の中間コードは、遷移数最少の９ビットの値であり、
前記エンコードされたガードバンドコードは、直流バランスのとれた１０ビットの値である、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全体を通じてデータ通信に係り、特に High-Definition Multimedia Interface（HDMI（登録商標）又は MHL）ケーブルを介した遷移数最少差動信号方式（TMDS）を用いるガードバンドデータのデータ送信に係る。
【背景技術】
【０００２】
差動信号送信を用いた HDMI（登録商標）ケーブル等のケーブルを介してソースデバイスからシンクデバイスへ異なる種別のマルチメディアデータが送信されることが多くある。ケーブルで送信される情報は、反復的性質を有し、これが望ましくない電磁干渉（Electro-Magnetic Interference: EMI）を生じる。EMI に対応するため、遷移数最少差動信号伝送方式（TMDS）でビデオデータをエンコードすることができ、これにより、遷移数を最少にし、なおかつビデオデータの直流バランスをとることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、ビデオデータに TMDS が適用された場合であっても、システムには相当量の EMI が残る。
【課題を解決するための手段】
【０００４】
本開示の実施形態は、マルチメディア通信インタフェースを介した通信のためのハードウエアコンポーネント又はハードウエアコンポーネントを表すデータに関する。一実施形態において、ハードウエアコンポーネントは、ディスパリティ値を記憶するディスパリティ回路を含む。ディスパリティ値は、ハードウエアコンポーネントによって送信済みの１の数と０の数との差を表す。ハードウエアコンポーネントはさらに、ハードウエアコンポーネントによってスクランブルされ、エンコードされ、なおかつ送信される対象のマルチメディアデータを受信する回路システムを含む。一実施形態において、マルチメディアデータはビデオデータ及びデータアイランドデータを含む。データアイランドデータは、補助情報及びオーディオ情報を含む。一実施形態において、ビデオデータ及び補助データはさらに、ビデオデータ及びデータアイランドデータ内のパケット又は情報データの後又は前のいずれかにあるガードバンドデータを含む。
【０００５】
一実施形態において、ハードウエアコンポーネントは、ガードバンドデータの値に基づいて、遷移数最少の中間コードを生成する。そしてハードウエアコンポーネントは、遷移数最少の中間コード及びディスパリティカウンタに記憶されているディスパリティ値に基づいて、エンコードされたガードバンドコードを生成する。エンコードされたガードバンドコードは、遷移数最少であり、なおかつ直流バランスがとれている。そしてハードウエアコンポーネントは、マルチメディア通信デバイスの差動対を介して、エンコードされたガードバンドコードを送信する。他の実施形態において、ガードバンドデータは、エンコード及び送信の前にスクランブルされる。
【図面の簡単な説明】
【０００６】
本明細書に記載の実施形態の教示は、以下の詳細な説明を添付の図面とともに考慮することにより、容易に理解することができる。
【０００７】
【図１】一実施形態に係るデータ通信のためのシステムの上位レベルのブロック図である。
【図２】一実施形態においてソースデバイスやシンクデバイスとして用いることに適した計算機の詳細図である。
【図３】一実施形態に係る送信機３００のブロック図であり、送信機３００は HDMI（登録商標）チャネルを介して送信されるデータのスクランブルやエンコードを行う。
【図４】一実施形態において、HDMI（登録商標）チャネルを介した送信のため、異なるデータ期間において、異なる種類のデータがどのように送信機に受信され、なおかつどのように異なったエンコードをされるのかの一例である。
【図５】一実施形態においてガードバンドデータをエンコーディングする方法のフローチャートを示している。
【図６】一実施形態において遷移数最少の９ビットのデータを生成する方法のフローチャートである。
【図７Ａ】一実施形態において１０ビットの直流バランスがとれたデータを生成する方法のフローチャートである。
【図７Ｂ】一実施形態において１０ビットの直流バランスがとれたデータを生成する方法のフローチャートである。
【図７Ｃ】一実施形態において１０ビットの直流バランスがとれたデータを生成する方法のフローチャートである。
【発明を実施するための形態】
【０００８】
図面及び以下の説明は、例示のみを目的として示す種々の実施形態に係る。なお、以下の議論より、本明細書に議論の原則から逸脱することなく、本明細書に開示の構造及び方法の代替実施形態が、採用可能且つ実行可能な代替として容易に認識される。以下、いくつかの実施形態について詳細に参照するが、これらの例は添付の図面に示されている。なお、図面において、できる限り類似の参照番号を用いて類似の機能が示される。
【０００９】
図１は、一実施形態に係るデータ通信のためのシステム１００の上位レベルのブロック図である。システム１００は、１つ以上のインタフェースケーブル１２０、１５０、１８０を介してシンクデバイス１１５と通信するソースデバイス１１０を有する。ソースデバイス１１０は、インタフェースケーブル１２０、１５０、１８０を介して、マルチメディアデータストリーム（例えばオーディオ／ビデオストリーム）をシンクデバイス１１５へ送信し、なおかつ制御データをシンクデバイス１１５とやりとりする。一実施形態において、ソースデバイス及び／又はシンクデバイス１１５は、リピータデバイスである。
【００１０】
ソースデバイス１１０は、インタフェースケーブル１２０、１５０、１８０と接続されている物理通信ポート１１２、１４２、１７２を有する。また、シンクデバイス１１５は、インタフェースケーブル１２０、１５０、１８０と接続されている物理通信ポート１１７、１４７、１７７を有する。インタフェースケーブルを介してソースデバイス１１０とシンクデバイス１１５との間でやりとりされる信号は、物理通信ポートを通過する。
【００１１】
ソースデバイス１１０とシンクデバイス１１５は種々のプロトコルを用いてデータをやりとりする。一実施形態において、インタフェースケーブル１２０は、High Definition Multimedia Interface（HDMI（登録商標））ケーブルである。HDMI（登録商標）ケーブル１２０は、data0+ 線１２１、data0- 線１２２、data1+ 線１２３、data1- 線１２４、data2+ 線１２５及び data2- 線１２６を介して送信される差動信号をサポートする。さらに HDMI（登録商標）ケーブル１２０は、クロック＋１２７とクロック−１２８という差動クロック線、Consumer Electronics Control（CEC）制御バス１２９、Display Data Channel（DDC）バス１３０、電源１３１、グラウンド１３２、ホットプラグ検出１３３、及び差動信号のための４つのシールド線８４４を有してもよい。或る実施形態では、シンクデバイス１１５は、閉ループフィードバック制御データをソースデバイス１１０に送信するために CEC 制御バス１２９を用いてもよい。
【００１２】
一実施形態において、インタフェースケーブル１５０は Mobile High-Definition Link（MHL）ケーブルである。MHL ケーブル１５０は、data0+ 線１５１、data0- 線１５２、data1+ 線１５３、data1- 線１５４、data2+ 線１５５及び data2- 線１５６を介して送信される差動信号をサポートする。MHL の或る実施形態では、差動信号線は１組でもよい（例えば１５１と１５２）。エンベッドコモンモードクロックは差動データ線を介して送信される。さらに MHL ケーブル１５０は、control bus（CBUS）１５９、電源１６０及びグラウンド１６１を有してもよい。CBUS １９５はディスカバリデータやリモート制御コマンドなどの制御情報を伝送する。
【００１３】
本開示の実施形態は、HDMI（登録商標）ケーブル１２０のようなインタフェースケーブルの差動対を介して送信されるガードバンドデータをスクランブルしたりエンコードしたりするシステムに関する。各差動対は１つの通信チャネルを表す。ガードバンドデータは、HDMI（登録商標）ケーブル１２０を介してデータを送信しつつ電磁干渉（EMI）や無線周波数干渉（Radio Frequency Interference: RFI）を最小化するために、スクランブルされたりエンコードされたりする。一実施形態において、ガードバンドデータは、遷移数最少差動信号伝送方式（TMDS）を用いてエンコードされる。
【００１４】
一実施形態において、ソースデバイス１１０、シンクデバイス１１５、又はソースデバイス１１０若しくはシンクデバイス１１５の内部の要素を表すものは、データとして、非一時的コンピュータ可読媒体（例えばハードディスク、フラッシュドライブ、光学ドライブ）に記憶されてもよい。これらを表すものは、ふるまいレベル、レジスタ転送レベル、ロジック要素レベル、トランジスタレベル、及びレイアウトジオメトリレベルの記述でよい。
【００１５】
図２は、一実施形態において図１のソースデバイス１１０やシンクデバイス１１５として用いることに適した計算機２００の詳細図である。例えば計算機２００は、携帯電話、テレビ、ノートパソコン、又はタブレットなどである。計算機２００は、プロセッサ２０２、メモリ２０３、ストレージモジュール２０４、入力モジュール２０６（例えばキーボードやマウスなど）、ディスプレイモジュール２０７（例えば液晶ディスプレイや有機 EL ディスプレイなど）、及び送受信機２０５などのコンポーネントを有し、これらはバス２０１を介して互いにデータや制御信号をやりとりする。
【００１６】
ストレージモジュール２０４は、１つ以上の非一時的なコンピュータ可読記憶媒体（ハードディスクドライブや solid state メモリなど）として実装され、メモリ２０３と協調するプロセッサ２０２によって実行されるソフトウェア命令を記憶する。オペレーティングシステムソフトウェアや他のアプリケーションソフトウェアもまた、プロセッサ２０２上で実行されるために、ストレージモジュール２０４に記憶されてもよい。
【００１７】
送受信機２０５は、マルティメディアデータや制御データの送信用又は受信用のポートに接続される。送信又は受信されるマルティメディアデータは、ビデオデータストリーム又はオーディオデータストリーム（HDMI（登録商標）データや MHL データ）を含みうる。マルティメディアデータは、High-Bandwidth Digital-Content Protection（HDCP）などの暗号化スキームを利用して、送信用に暗号化されてもよい。
【００１８】
図３は、一実施形態に係る送信機３００のブロック図であり、送信機３００は HDMI（登録商標）チャネルを介して送信されるデータのスクランブルやエンコードを行う。送信機３００は、ソースデバイス１１０の中にある Integrated Circuit（IC）などのハードウェア要素でありうる。送信機３００は様々な回路を含み、その中には、制御データ３０５、データアイランドデータ３１０及びビデオデータ３１５の中からの選択を行うマルチプレクサ３２０、マルチプレクサ３２０によって選択されたデータをスクランブルするスクランブラ３２５、スクランブルされたデータをエンコードするエンコーダ３３０、及び HDMI（登録商標）チャネル１へのインタフェース３４２が含まれる。
【００１９】
一実施形態において、HDMI（登録商標）ケーブルは４つの差動対を伝送し、それらは３つのデータチャネル（チャネル０、チャネル１及びチャネル２）及びクロックチャネルを含む。３つのデータチャネルは、ビデオデータ３１５、データアイランドデータ３１０及び制御データ３０５を伝送するために用いられる。送信機３００は、３つのデータチャネルを介して送信されるべきビデオデータ３１５、データアイランドデータ３１０及び制御データ３０５を受信する。図３は、１つの HDMI（登録商標）データチャネル（データ線１２３及び１２４）を介した通信のための回路のみを示している。残りの HDMI（登録商標）データチャネルを介した通信のための回路は、図３に示される回路と多くの部分で類似している。
【００２０】
ビデオデータ３１５はアクティブビデオデータとガードバンドデータを含む。アクティブビデオデータはビデオピクセル情報を含む。ビデオピクセル情報は、ディスプレイデバイス（シンクデバイス１１５など）に表示されるべきピクセルの色レベルを示す。ガードバンドデータはガードデータを含む。ガードデータは、アクティブビデオデータを送信するために、アクティブビデオデータよりも前に送信される。ガードバンドデータは、ビデオデータ３１５よりも前に送信された他のデータとアクティブビデオデータとの干渉を避けるためのバッファとして機能する。
【００２１】
データアイランドデータ３１０は補助データ及びガードバンドデータを含む。補助データは、アクティブビデオデータに対応づけられた音声データを含みうる。補助データは、InfoFrame、アクティブオーディオストリームやアクティブビデオストリームを表す他の情報、又はソースデバイス１１０を表す他の情報を含みうる。補助データはパケットを用いて送信される。ガードバンドデータは、補助データパケットを送信するために補助データパケットよりも前に送信されてもよいし、補助データパケットの終わりを表すためにそのパケットの後に続いてもよい。ガードバンドデータは、データアイランドデータ３１０とデータアイランドデータ３１０の前後に送信されるデータとの干渉を避けるためのバッファとしても機能する。
【００２２】
制御データ３０５は制御情報を含む。制御情報はプリアンブルでありうる。プリアンブルは、データアイランドデータ３１０又はビデオデータ３１５を表す。制御情報はまた、水平同期情報又は垂直同期情報を含みうる。
【００２３】
マルチプレクサ３２０は、１つ以上の入力信号３８０を介して、制御データ３０５、データアイランドデータ３１０及びビデオデータ３１５を受信する。その後マルチプレクサ３２０は、制御データ３０５の内の１つを選択する。マルチプレクサ３８２は、異なる期間において異なる種類のデータがマルチプレクサ３２０から出力されるように、順に制御データ３０５、データアイランドデータ３１０及びビデオデータ３１５となる。異なる期間については、図４を参照して後に詳細に説明する。
【００２４】
スクランブラ３２５は、マルチプレクサ３２０から受信した制御データ３０５、データアイランドデータ３１０又はビデオデータ３１５をスクランブルする。データをスクランブルすることは、データ送信中に生じる電磁干渉（EMI）や無線周波数干渉（RFI）を減らすことに寄与する。スクランブラ３２５は、スクランブルされたデータを生成するために様々な技術を利用しうる。例えばスクランブラ３２５は、データの一部を転置したり反転したりすることで、スクランブルされたデータを生成する。また例えば、線形フィードバックシフトレジスタ（Linear Feedback Shift Register: LFSR）が疑似乱数を生成し、スクランブラがマルチプレクサから受信したデータと LFSR によって生成された疑似乱数との排他的論理和を算出することで、スクランブルされたスクランブルデータを生成する。スクランブルされたデータ３４８は、１つ以上の信号３８４を介してエンコーダ３３０へ送信される。
【００２５】
エンコーダ３３０は、EMI と RFI をさらに減らすために、スクランブルされたデータ３４８をエンコードして、エンコードされたキャラクタコード３５０を生成し、これをエンコーダ３３０からの出力とする。一実施形態において、エンコーダは、遷移数最少差動信号伝送方式（TMDS）エンコーダ３３２、TMDS エラー削減コーディング（TMDS error reduction coding: TERC4）エンコーダ３３４及び制御データエンコーダ３３６を含む。エンコーダ３３０は、スクランブルされたデータの種類に応じて、TMDS エンコーダ３３２、TERC4 エンコーダ３３４又は制御データエンコーダ３３６を用いて、スクランブラ３２５によって生成された、スクランブルされたデータをエンコードする。
【００２６】
TMDS エンコーダ３３２は、スクランブルされたデータを、遷移数最少かつ直流バランスがとれたコードにエンコードする。一実施形態において、TMDS エンコーダ３３２は、スクランブルされたデータのうち、（１）ガードバンド及び（２）アクティブビデオに対応する部分のみをエンコードする。他の実施形態において、TMDS エンコーダ３３２は、スクランブルされたデータのうち、他の種類のデータ（例えば補助データや制御データ）に対応する他の部分をエンコードしてもよい。
【００２７】
ガードバンドデータは、その性質上繰り返しが多くなることがあり、同じ値を頻繁に繰り返し送信することが要求されうる。他の種類のデータと比較すると、そのガードバンドデータの繰り返しの性質により、EMI と RFI が増加する傾向にある。そこで、ガードバンドデータのスクランブル及びエンコードにより、EMI と RFI の大幅な減少を実現できる。
【００２８】
TMDS エンコーダ３３２は、ディスパリティ回路３４０によって記憶及び管理されるディスパリティカウンタを用いて、送信用の TMDS キャラクタ３５０を生成する。詳細は、図５を用いて後に説明する。ディスパリティ回路３４０の一例は、デジタル値を記憶できるレジスタである。ディスパリティカウンタは、過去の或る期間に送信された０（論理低ビット）の数及び１の数（論理高ビット）の差異をモニタリングする。一実施形態において、ディスパリティ回路のディスパリティ値は、エンコーダ３３０による制御データ３０５の受信に応じた制御期間において０にリセットされる。ディスパリティ値は TMDS エンコーダ３３２によって調整されてもよく、これにより、TMDS エンコーダから出力されるコードの直流バランスを時間と共に維持する。
【００２９】
TERC4 エンコーダ３３４は、スクランブルされた補助データ及びオーディオデータ（データアイランド３１０パケットデータ）を TERC4 コードにエンコードする。TERC4 コードは、スクランブルされた補助データとオーディオデータの４ビットを、所定の１０ビットコードにマッピングすることによって生成される。制御データエンコーダ３３６は、制御データの４ビットを１０ビットの制御コードにエンコードする。制御データエンコーダ３３６は、直流バランスがとれているものの遷移数最少ではない制御コードを生成してもよい。通常、制御データエンコーダ３３６は、直流バランスをとるためにディスパリティ値を利用する一方で、TMDS エンコーダ３３２によって利用されるディスパリティ値と同じ値は利用しない。
【００３０】
インタフェース３４２は、エンコードされたコード３５０を１つ以上の信号３８６を介して受信する。インタフェース３４２は、エンコードされたコード３５０をシリアライズし、HDMI（登録商標）チャネル１を介して、エンコードされたコード３５０の差動信号を送信する。インタフェース３４２は、差動信号を送信するために、カレントモードロジックを利用してもよい。
【００３１】
図４は、一実施形態において、HDMI（登録商標）チャネルを介した送信のため、異なるデータ期間において、異なる種類のデータがどのように送信機に受信され、なおかつどのように異なったエンコードをされるのかの一例である。送信機３００の動作は、３つの異なる期間（制御期間４５５、データアイランド期間４６０、及びビデオデータ期間４６５）に分けられる。これらの期間において、送信機３００は、１クロック当たり最大８ビットのデータ（D0-D7）を受信し、これらのデータは１０ビットのコード３５０としてチャネル１を介して送信される。
【００３２】
図４には、２つの制御期間４５５がある。制御期間は各データアイランド期間４６０より前にある。また制御期間４５５は、各ビデオ期間４６５よりも前にある。制御期間４５５の間、送信機３００は、プリアンブル４１５を表す制御データ３０５を受信して処理する。プリアンブル４１５は、同一の２ビットの制御キャラクタを８つ含む列であり、制御キャラクタは、制御データ３０５の後のデータがビデオデータ３１５とデータアイランドデータ３１０のどちらであるかを示すものである。プリアンブル４１５は、制御データエンコーダ３３６によってスクランブルされ、なおかつ制御コードにコンバートされる。
【００３３】
データアイランド期間４６０において、送信機３００は、データアイランドデータ３１０を受信して処理する。データアイランドデータ３１０は、先行ガードバンドデータ４２０及び後続ガードバンドデータ４２５を含む。先行ガードバンドデータ４２０は、第１の制御期間４５５からデータアイランド期間４６０への遷移を表す。後続ガードバンドデータ４２５は、データアイランド期間４６０から第２の制御期間４５５への遷移を表す。両種類のガードバンドデータ４２０及び４２３は、TMDS エンコーディングを用いる TMDS エンコーダ３３２によりスクランブル及びエンコードされる。
【００３４】
データアイランドデータ３１０はパケット形式のオーディオデータを更に含む。各パケットは、パケットデータ及びパケットデータの種類（すなわち、オーディオパケット、ヌルパケット、InfoFrame パケット）を示すヘッダを含みうる。パケット４２２は、TERC4 エンコーダ３３４により、スクランブル及び TERC4 エンコーディングされる。
【００３５】
ビデオ期間４６５において、送信機３００は、ビデオデータ３１５を受信して処理する。ビデオデータ３１０は、先行ガードバンドデータ４３０及びアクティブビデオデータ４４０を有する。先行ガードバンドデータ４２０は、第２の制御期間４５５からビデオ期間４６０への遷移を示す。先行ガードバンドデータ４３０及びアクティブビデオデータ４４０は共に、 TMDS エンコーダ３３２により、スクランブルされた後にエンコードされる。
【００３６】
一実施形態において、ディスパリティ回路３４０のディスパリティ値は、制御期間４５５においてリセットされる。ディスパリティ値は、先行ガードバンドデータ４２０及び後続ガードバンドデータ４２５をエンコードして先行ガードバンドデータ４２０及び後続ガードバンドデータ４２５の直流バランスを保つために、データアイランド期間４６０において利用される。データアイランドパケット４２２及び４２３を TERC4 エンコーディングする際、ディスパリティ値は、維持されるものの、利用されない。またディスパリティ値は、ビデオ期間４６５において、先行ガードバンドデータ４３５及びアクティブビデオデータ４４０を TMDS エンコーディングするために利用される。
【００３７】
なお、図４は、HDMI（登録商標）チャネル１についての送信機３００の動作を示している。一実施形態において、他のチャネルについての送信機３００の動作は、図４に示されるものと同様である。他の実施形態において、HDMI（登録商標）チャネル０についての送信機３００の動作は多少異なる。具体的には、或る実施形態において、HDMI（登録商標）チャネル０について、送信機３００は、データアイランドデータ３１０のガードバンドデータ４２０及び４２５に対し、TMDS エンコーディングを適用する代わりに TERC4 エンコーディングを適用しうる。
【００３８】
図５は、一実施形態においてガードバンドデータをエンコーディングする方法のフローチャートを示している。ステップ５０５において、TMDS エンコーダ３３２は８ビットのスクランブルされたガードバンドデータを受信する。スクランブルされたガードバンドデータは、データアイランドデータ３１０においては補助データの前後いずれかにあることがあり、ビデオデータ３１５においてはアクティブビデオデータの前にあることがある。TMDS エンコーダ３３２は、TMDS アルゴリズムを用いて、８ビットのスクランブルされたガードバンドデータをエンコードする。通常、ガードバンドデータの TMDS エンコーディングは２つのステップで実行される。１つ目のステップは、送信されるデータの遷移数を減らすためのものであり、２つ目のステップは、直流バランスのとれたデータを生成するためのものである。一実施形態において、図５に示された方法は、アクティブビデオデータにも適用されうる。
【００３９】
ステップ５１０において、TMDS エンコーダ３３２は、遷移数最少の９ビットのデータを生成する。詳細は図６を用いて後に説明する。TMDS エンコーダ３３２は、上記８ビットのデータについて、低ビットから高ビットへの遷移及びその逆の遷移の数を減らして、遷移数最少のデータを生成する（５１０）。遷移数を減らすことは、データ送信中に発生する EMI 及び RFI を減少させる。
【００４０】
遷移数最少の９ビットのデータを生成する（５１０）ため、TMDS エンコーダ３２２は、最初の１ビットを変更せず、後続の各ビットについて、その１つ前のビットとの排他的論理和演算又は排他的否定論理和演算を実行する。TMDS エンコーダ３３２は、どちらの演算の結果によって遷移数が最少になるかで、排他的論理和演算と排他的否定論理和演算のどちらを実行するかを決定する。変換された８ビットのデータに付加される９番目のビットは、遷移数最少のデータを生成するために排他的論理和演算と排他的否定論理和演算のどちらが使われたかを示す。
【００４１】
ステップ５１５において、遷移数最少の９ビットのデータが生成された後、TMDS エンコーダは、１０ビットの直流バランスがとれたデータを生成する。詳細は図７を用いて後に説明する。最初の８ビットのデータは、高ビットと低ビットの数のバランスをとるために選択的に反転される。これにより、一連のコード３５０における直流レベルの平均値が維持される。遷移数最少の９ビットのデータに付加される１０番目のビットは、直流レベルのバランスをとるために最初の８ビットのデータが反転されたか否かを示す。
【００４２】
図６は、一実施形態において遷移数最少の９ビットのデータを生成する方法のフローチャートである。TMDS エンコーダ３３２は８ビットのスクランブルされたデータを受信する。TMDS エンコーダ３３２は、８ビットのスクランブルされたデータ６０５についての判定６１０をするために、以下の論理演算を行う。TMDS エンコーダ３３２は、８ビットのスクランブルされたデータについて以下の３つの論理結果を割り出す。第１の結果として、TMDS エンコーダ３３２は、上記８ビットのデータに含まれる１（高ビット）の数が４つより多いか否かを割り出す。第２の結果として、TMDS エンコーダ３３２は、上記８ビットのデータに含まれる１の数が４であるか否かを割り出す。第３の結果として、TMDS エンコーダ３３２は、１番目のビットが０であるか否かを割り出す。そして、TMDS エンコーダは、判定６１０をするために以下の論理演算を行う。TMDS エンコーダは、第２の結果と第３の結果との論理積演算を行い、なおかつその論理積演算の結果と第１の結果との論理和演算を行って、判定６１０に至る。
【００４３】
判定６１０が偽の場合（６２０）、TMDS エンコーダ３３２は以下の動作を行う。中間値の１番目のビットを、８ビットのスクランブルされたデータ６０５の１番目のビットと同じものに設定する。中間値の２番目から８番目のビットを決定するために、TMDS エンコーダ３３２は、８ビットのスクランブルされたデータ６０５の各ビットと、中間値における１つ前のビットとについて排他的論理和演算を行う。例えば、中間値の２番目のビットを決定するために、TMDS エンコーダ３３２は、中間値の１番目のビットと８ビットのスクランブルされたデータ６０５の２番目のビットとについて排他的論理和演算を行う。同様に、中間値の３番目のビットを決定するために、TMDS エンコーダ３３２は、中間値の２番目のビットと、８ビットのスクランブルされたデータ６０５の３番目のビットとについて排他的論理和演算を行う。これにより、TMDS エンコーダは、中間値の２番目から８番目のビットを、８ビットのスクランブルされたデータ６０５の各ビットと中間値における１つ前のビットとについての排他的論理和演算によって算出された結果と同じものにする。中間値の９番目のビットは１に設定される。これは、８ビットのスクランブルされたデータ６０５の２番目から８番目のビットについて排他的論理和演算が実行されたことを示す。この結果である中間値は、９ビットの遷移数最少中間コード６４０である。
【００４４】
一方、判定６１０が真の場合（６３０）、TMDS エンコーダ３３２は以下の動作を行う。中間値の１番目のビットを、８ビットのスクランブルされたデータ６０５の１番目のビットと同じものに設定する。中間値の２番目から８番目のビットを決定するために、TMDS エンコーダ３３２は、８ビットのスクランブルされたデータ６０５の各ビットと、中間値における１つ前のビットとについて排他的否定論理和演算を行う。例えば、中間値の２番目のビットを決定するために、TMDS エンコーダ３３２は、中間値の１番目のビットと８ビットのスクランブルされたデータ６０５の２番目のビットとについて排他的否定論理和演算を行う。同様に、中間値の３番目のビットを決定するために、TMDS エンコーダ３３２は、中間値の２番目のビットと、８ビットのスクランブルされたデータ６０５の３番目のビットとについて排他的否定論理和演算を行う。これにより、TMDS エンコーダは、中間値の２番目から８番目のビットを、８ビットのスクランブルされたデータ６０５の各ビットと中間値における１つ前のビットとについての排他的否定論理和演算によって算出された結果と同じものにする。中間値の９番目のビットは０に設定される。これは、８ビットのスクランブルされたデータ６０５の２番目から８番目のビットについて排他的否定論理和演算が実行されたことを示す。この結果である中間値は、９ビットの遷移数最少中間コード６４０である。
【００４５】
図７Ａから７Ｃは、一実施形態において１０ビットの直流バランスがとれたデータを生成する方法のフローチャートである。TMDS エンコーダ３３２は、遷移数最少かつ直流バランスがとれた１０ビットのコードを生成するために、ディスパリティカウンタ３４０の値７０２に基づいて、９ビットの中間コード６４０に対して演算を行う。TMDS エンコーダ３３２は、９ビットの中間コード６４０について判定７１０を行うために、以下の論理演算を行う。TMDS エンコーダ３３２は、９ビットの中間コード６４０について以下の２つの結果を割り出す。第１の結果として、TMDS エンコーダ３３２は、ディスパリティカウンタ３４０の値が０に等しいか否かを割り出す。第２の結果として、TMDS エンコーダ３３２は、中間コード６４０の最初の８ビットに含まれる１の数と、中間コード６４０の最初の８ビットに含まれる０の数とが等しいか否かを割り出す。そして TMDS エンコーダは、第１の結果と第２の結果との論理和を算出して、判定７１０に至る。
【００４６】
図７Ｂは、判定７１０が偽である場合（７２０）に TMDS エンコーダ３３２によって行われる動作を示す。TMDS エンコーダ３３２は、以下の動作を行って判定７２２に至る。TMDS エンコーダ３３２は、８ビットのスクランブルされたデータ６０５について以下の４つの結果を割り出す。第１の結果として、TMDS エンコーダ３３２は、カウンタ３４０の値が０より大きいか否かを割り出す。第２の結果として、TMDS エンコーダ３３２は、中間コード６４０の最初の８ビットに含まれる１の数が、中間コード６４０の最初の８ビットに含まれる０の数より多いか否かを割り出す。第３の結果として、TMDS エンコーダ３３２は、カウンタ３４０の値が０より小さいか否かを割り出す。第４の結果として、TMDS エンコーダ３３２は、中間コード６４０の最初の８ビットに含まれる１の数が、中間コード６４０の最初の８ビットに含まれる０の数より少ないか否かを割り出す。TMDS エンコーダ３３２は、判定７２２を行うために、以下の論理演算を行う。TMDS エンコーダは、第１の結果と第２の結果とについて論理積演算を行い、第３の結果と第４の結果とについて論理積演算を行う。そして、TMDS エンコーダ３３２は、これら２つの論理積演算の結果について論理和演算を行う。
【００４７】
判定７２２が偽の場合（７２４）、TMDS エンコーダ３３２は以下の動作を行う。出力値の１０ビット目を０に設定し、出力値の９ビット目を中間コード６４０の９ビット目の値と同じものに設定する。この出力値は、送信機３００による送信のために TMDS エンコーダ３３２が生成する、１０ビットの直流バランスがとれたコードを表す。出力値の１ビット目から８ビット目を、中間コード６４０の１ビット目から８ビット目と同じものに設定する。カウンタ３４０の新たな値を「（カウンタ３４０の値）−（中間コードの９ビット目を反転した値）×２＋（中間コード６４０の最初の８ビットに含まれる１の数と０の数の差）」に等しい値に設定する。
【００４８】
判定７２２が真の場合（７２６）、TMDS エンコーダ３３２は以下の動作を行う。出力値の１０ビット目を１に設定し、出力値の９ビット目を中間コード６４０の９ビット目の値と同じものに設定する。出力値の１ビット目から８ビット目を、中間コード６４０の１ビット目から８ビット目を反転したものと同じものに設定する。カウンタ３４０の新たな値を「（カウンタ３４０の値）−（中間コードの９ビット目）×２＋（中間コード６４０の最初の８ビットに含まれる０の数と１の数との差）」に等しい値に設定する。
【００４９】
図７Ｃは、判定７１０が真である場合（７３０）において TMDS エンコーダ３３２によって行われる動作を示す。判定７１０が真である場合、TMDS エンコーダ３３２は以下の動作を行う。TMDS エンコーダ３３２は、出力値の９ビット目を中間コード６４０の９ビット目の値と同じものに設定する。出力値の１０ビット目を、中間コード６４０の９ビット目の値を反転したものと同じものに設定する。中間コード６４０の９ビット目が１であれば、出力値の１ビット目から８ビット目を、中間コード６４０の１ビット目から８ビット目と同じものに設定する。中間コード６４０の９ビット目が０であれば、代わりに、出力値の１ビット目から８ビット目を、中間コード６４０の１ビット目から８ビット目を反転したものと同じものに設定する。
【００５０】
TMDS エンコーダ３３２は、ディスパリティカウンタ３４０の値を、中間コード６４０の９ビット目の値に基づいて設定する。TMDS エンコーダ３３２は、中間コード６４０の９ビット目の値が０に等しいか否かの判定７３４を行う。判定７３４が真である場合（７３６）、TMDS エンコーダ３３２は、ディスパリティカウンタ３４０の新たな値を、「ディスパリティカウンタ３４０の値）＋（中間コード６４０の最初の８ビットに含まれる０の数と１の数の差）」に等しい値に設定する。判定７３４が偽である場合（７３８）、TMDS エンコーダ３３２は、ディスパリティカウンタ３４０の新たな値を、「ディスパリティカウンタ３４０の値）＋（中間コード６４０の最初の８ビットに含まれる１の数と０の数の差）」に等しい値に設定する。
【００５１】
本開示を読む上で、当業者は、HDMI（登録商標）ケーブル１２０の様なインタフェースケーブルの差動対を介して送信されるデータのスクランブル及びエンコードを行うシステムに関して、追加的な代替デザインを受け入れうる。よって、提案されている開示について特定の実施形態及びアプリケーションが図示及び記載されているものの、実施形態はここに開示されている構造及び構成要素に厳密に限定されるものでなく、添付の請求項に規定の本開示の思想及び範囲から逸脱することなく、本開示の方法及び装置の配置、動作、及び詳細に関して、当業者に明らかな種々の訂正、変更、及び修正が加えられてもよい。
【図１】
2016526326.tif 000003
【図２】
2016526326.tif 000004
【図３】
2016526326.tif 000005
【図４】
2016526326.tif 000006
【図５】
2016526326.tif 000007
【図６】
2016526326.tif 000008
【図７Ａ】
2016526326.tif 000009
【図７Ｂ】
2016526326.tif 000010
【図７Ｃ】
2016526326.tif 000011
【国際調査報告】
2016526326.tif 000012
2016526326.tif 000013
2016526326.tif 000014
2016526326.tif 000015