【解決手段】 本発明は、複数のレーンを介して画像データの伝送を行う画像伝送システムの受信装置であり、LFSRによりスクランブルされた画像データをLFSRによりデスクランブルするデスクランブル部を含む。各レーンのデスクランブル部は、特殊コードを検出するコード検出部と、更新されるシード値に基づいてLFSR演算を行うLFSR演算部と、前記シード値と初期値を共通にする予備シード値を更新する予備シード算出部とを備える。前記LFSR演算部は、第1のコードの検出により前記シード値を初期化し、前記予備シード算出部は、前記第1のコード又は第2のコードの検出により前記予備シード値を初期化する。前記LFSR演算部は、前記シード値が前記複数のレーンのうちの所定数以上のレーンにおける所定のシード値に一致するように、前記シード値を前記予備シード値で更新する。
前記LFSR演算部は、前記第2のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定数以上のレーンに対応する前記他のデスクランブル部において前記第1のコードが検出されたと判定される場合に、前記所定のシード値を、前記第1の予備シード算出部から出力される前記第1の予備シード値により更新する、請求項2に記載の受信装置。
前記第2の予備シード算出部は、前記第2のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定数以上のレーンに対応する前記他のデスクランブル部において前記第1のコードが検出されたと判定される場合に、前記第2の予備シード値を、前記第1の予備シード算出部から出力される前記第1の予備シード値により更新する、
請求項3に記載の受信装置。
前記LFSR演算部は、前記第1のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定所定数以上のレーンに対応する前記他のデスクランブル部において前記第2のコードが検出されたと判定される場合に、前記所定のシード値を、前記第2の予備シード算出部から出力される前記第2の予備シード値により更新する、
請求項3又は4に記載の受信装置。
前記第2の予備LFSR演算部は、前記第1のコードが検出された場合又は前記第2のコードが検出された場合に対応して前記第2の予備シード値を初期化することなく、前記第2の予備シード値の更新を継続する、
請求項2乃至5のいずれかに記載の受信装置。
前記デスクランブル部は、前記複数のレーンにそれぞれ対応する前記デスクランブル部前記コード検出部による検出結果に基づいて、前記第1のコードが受信されたと判定するコード受信判定部をさらに備える、
請求項2乃至5のいずれかに記載の受信装置。
前記所定のシード値を更新することは、前記第2のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定数以上のレーンにおいて前記第1のコードが検出されたと判定される場合に、前記第1の予備シード値により前記所定のシード値を更新することを含む、
請求項12に記載の作動方法。
前記少なくとも1つの予備シード値を初期化することは、前記第2のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定数以上のレーンにおいて前記第1のコードが検出されたと判定される場合に、前記第1の予備シード値により前記第2の予備シードを更新することを含む、
請求項13に記載の作動方法。
前記所定のシード値を更新することは、前記第1のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定所定数以上のレーンにおいて前記第2のコードが検出されたと判定される場合に、前記第2の予備シード値により前記所定のシード値を更新することを含む、
請求項13又は14に記載の作動方法。
【発明の概要】
【発明が解決しようとする課題】
【0007】
表示装置の高解像度化に伴い、膨大な量の画像データを所定のデータレートで送受信するために、より多くの数のレーンが必要になっている。複数のレーンを用いた場合、送信側及び受信側で、複数のレーンに対して同じタイミングで同期をとる必要がある。しかしながら、実際問題としては、各レーンにおける固有のスキューの発生により、すべてのレーン間について同じタイミングで同期をとることは非常に難しい。
【0008】
また、上述した特許文献1に示す送受信システムにおいては、同期信号が1サイクルにおける第2レベルである期間に特定データが出力されることで、送信装置における符号化処理と受信装置における復号化処理との間の同期を図っているが、レーン間の同期タイミングを考慮するものでなかった。
【0009】
そこで、本発明は、複数のレーンを有する画像伝送システムにおいて、適時のタイミングで同期をとることにより、画像データに混入したノイズ等による画像乱れを早期に復旧することができるようにすることを目的とする。
【0010】
また、本発明は、送信側及び受信側で、複数のレーン間で適時のタイミングで同期をとることができる画像伝送システム及び当該システムにおけるデータ伝送方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するための本発明は、以下に示す発明特定事項ないしは技術的特徴を含んで構成される。
【0012】
すなわち、ある観点に従う本発明は、複数のレーンを介して、画像データ列の伝送を行う画像伝送システムの受信装置であり得る。前記受信装置は、前記複数のレーンのそれぞれに対応し、LFSRに基づいてスクランブルされた画像データ列を前記LFSRに基づいてデスクランブルするデスクランブル部を備え得る。各前記デスクランブル部は、所定のコードを検出するコード検出部と、クロックの周期に従って、所定のシード値を更新し、更新された現時点の前記所定のシード値を前記LFSRに与えてLFSR演算を行うLFSR演算部と、前記クロックの周期に従って、前記所定のシード値と初期値を共通にする少なくとも1つの予備シード値を更新し、更新された前記少なくとも1つの予備シード値を前記LFSR演算部に出力する予備シード算出部と、を備え得る。前記LFSR演算部は、前記コード検出部によって第1のコードが検出された場合に、前記所定のシード値を初期化することにより前記初期値に戻し得る。また、前記予備シード算出部は、前記コード検出部によって第1のコード及び第2のコードの少なくともいずれか一方が検出された場合に、前記少なくとも1つの予備シード値を初期化することにより前記初期値に戻し得る。そして、前記LFSR演算部は、自身の前記所定のシード値が前記複数のレーンのうちの所定数以上のレーンに対応する他の前記デスクランブル部における該LFSR演算部の所定のシード値に一致するように、前記自身の所定のシード値を前記少なくとも1つの予備シード値により更新し得る。
【0013】
これにより、受信装置は、ビット誤りによって、意図せずに所定のシード値を初期化し、又は、意図せずに所定のシード値を初期化できなかった場合であっても、レーン全体におけるコード(例えば、初期化コード)の受信状況を考慮して、所定のシード値を、予備的に算出しておいた予備シード値により更新することができるようになる。
【0014】
前記コード検出部は、前記所定のコードとして第1のコード(例えば、初期化コードSR)を検出する第1のコード検出部と、前記所定のコードとして第2のコード(例えば、ブランキングエンドコードBE)を検出する第2のコード検出部とを備え得る。また、前記予備LFSR演算部は、
前記クロックの周期に従って前記所定のシード値と初期値を共通にする第1の予備シード値を算出し、前記LFSR演算部に出力する第1の予備シード算出部と、
前記クロックの周期に従って前記所定のシード値と初期値を共通にする第2の予備シード値を算出し、前記LFSR演算部に出力する第2の予備シード算出部と、を備え得る。
【0015】
前記LFSR演算部は、前記第2のコード検出部により前記第2のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定数以上のレーンに対応する前記他のデスクランブル部における該第1のコード検出部により前記第1のコードが検出されたと判定される場合に、前記所定のシード値を、前記第1の予備シード算出部から出力される前記第1の予備シード値により更新し得る。
【0016】
これにより、前記デスクランブル部は、意図せずに前記所定のシード値を初期化できなかった場合であっても、レーン全体におけるコード(例えば、初期化コードSR)の受信状況を考慮して、前記所定のシード値を、予備的に初期化しておいた前記予備シード値により更新することができるようになる。
【0017】
また、前記第2の予備シード算出部は、前記第2のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定数以上のレーンに対応する前記他のデスクランブル部において前記第1のコードが検出されたと判定される場合に、前記第2の予備シード値を、前記第1の予備シード算出部から出力される前記第1の予備シード値により更新し得る。
【0018】
これにより、前記デスクランブル部は、本来のコードとは異なるコードを誤って受信した場合であっても、レーン全体におけるコードの受信状況を考慮して、前記第2の予備シード値を前記所定のシード値に合わせることができるようになる。
【0019】
また、前記LFSR演算部は、前記第1のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定所定数以上のレーンに対応する前記他のデスクランブル部において前記第2のコードが検出されたと判定される場合に、前記所定のシード値を、前記第2の予備シード算出部から出力される前記第2の予備シード値により更新し得る。一方、前記第2の予備LFSR演算部は、前記第1のコードが検出された場合又は前記第2のコードが検出された場合に対応して前記第2の予備シード値を初期化することなく、前記第2の予備シード値の更新を継続する。
【0020】
これにより、前記デスクランブル部は、本来のコードとは異なるコードを誤って受信し、所定のシード値を初期化してしまった場合であっても、レーン全体におけるコードの受信状況を考慮して、初期化せずに更新しておいた前記第2の予備LFSRにより前記所定のシード値を更新することができるようになる。
【0021】
また、前記デスクランブル部は、前記複数のレーンにそれぞれ対応する前記デスクランブル部前記コード検出部による検出結果に基づいて、前記第1のコードが受信されたと判定するコード受信判定部をさらに備え得る。
【0022】
さらに、前記デスクランブル部は、前記画像データ列に関するデータイネーブル信号の遷移を検出するデータイネーブル信号検出部をさらに備え得る。そして、前記コード受信判定部は、前記データイネーブル信号検出部によって、前記複数のレーンの前記画像データ列に関するデータイネーブル信号が第1の値になったと判断される場合、前記第1のコードが受信されたと判定し得る。
【0023】
前記第1のコードと前記第2のコードとは、互いに類似したビット構成であり得る。
【0024】
また、ある観点に従う本発明は、前記受信装置と、前記受信装置に対して、前記複数のレーンを介して、前記画像データ列を送信する送信装置とを備える画像伝送システムであり得る。
【0025】
また、ある観点に従う本発明は、複数のレーンを介して、画像データ列の伝送を行う画像伝送システムの受信装置の作動方法であり得る。前記作動方法は、前記複数のレーンのそれぞれにおいて、LFSRに基づいてスクランブルされた画像データ列を受信することと、前記受信した画像データ列を、前記LFSRに基づいてデスクランブルすることと、
デスクランブルされた前記画像データ列を出力することと、を含み得る。また、前記デスクランブルすることは、クロックの周期に従って、所定のシード値を更新する一方で、更新された現時点のシード値を前記LFSRに与えてLFSR演算を行うことと、受信した前記画像データ列から所定のコードを検出することと、前記クロックの周期に従って、前記所定のシード値と初期値を共通にする少なくとも1つの予備シード値を更新する一方で、更新された現時点の前記少なくとも1つの予備シード値を前記LFSR演算部に出力することと、前記所定のコードとして第1のコードが検出された場合に、前記所定のシード値を初期化することと、前記所定のコードとして第1のコード及び第2のコードの少なくともいずれか一方が検出された場合に、前記少なくとも1つの予備シード値を初期化することと、前記所定のシード値が前記複数のレーンのうちの所定数以上のレーンにおける所定のシード値に一致するように、前記予備シード値により前記所定のシード値を更新することと、を含み得る。
【0026】
前記少なくとも1つの予備シード値を算出することは、前記クロックの周期に従って前記所定のシード値と初期値を共通にする第1の予備シード値を算出することと、前記クロックの周期に従って前記所定のシード値と初期値を共通にする第2の予備シード値を算出することと、を含み得る。
【0027】
また、前記少なくとも1つの予備シード値を初期化することは、前記第1のコード及び前記第2のコードの少なくともいずれか一方が検出された場合に、前記第1の予備シード値を初期化することを含み得る。
【0028】
また、前記所定のシード値を更新することは、前記第2のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定数以上のレーンにおいて前記第1のコードが検出されたと判定される場合に、前記第1の予備シード値により前記所定のシード値を更新することを含み得る。
【0029】
また、前記少なくとも1つの予備シード値を初期化することは、前記第2のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定数以上のレーンにおいて前記第1のコードが検出されたと判定される場合に、前記第1の予備シード値により前記第2の予備シード値を更新することを含み得る。
【0030】
また、前記所定のシード値を更新することは、前記第1のコードが検出された場合であって、かつ、前記複数のレーンのうちの所定所定数以上のレーンにおいて前記第2のコードが検出されたと判定される場合に、前記第2の予備シード値により前記所定のシード値を更新することを含み得る。
【0031】
また、ある観点に従う本発明は、複数のレーンを介して、画像データ列の伝送を行う画像伝送システムの受信装置であり得る。前記受信装置は、前記複数のレーンのそれぞれに対応するように、LFSRに基づいてスクランブルされた画像データ列を前記LFSRに基づいてデスクランブルするデスクランブル部を備える。各前記デスクランブル部は、所定のコードを検出するコード検出部と、クロックの周期に従って所定のシード値に基づくLFSR演算を行って乱数値を生成するLFSR演算部と、前記クロックの周期に従って前記所定のシード値に基づく予備LFSRの演算を行って予備乱数値を生成し、前記LFSR演算部に出力する予備LFSR演算部とを備え得る。前記LFSR演算部は、前記コード検出部によって第1のコードが検出された場合に、前記シード値を初期化する。また、前記予備LFSR演算部は、前記コード検出部によって第1のコード及び第2のコードの少なくともいずれか一方が検出された場合に、自身の前記シード値を初期化し得る。そして、前記LFSR演算部は、前記複数のレーンのうちの所定数以上のレーンに対応する他の前記デスクランブル部におけるコード検出結果に合うように、自身の前記乱数値を、前記予備LFSR演算部によって演算された前記予備乱数値で更新し得る。
【0032】
なお、本明細書等において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、1つの手段が有する機能が2つ以上の物理的手段により実現されても、2つ以上の手段の機能が1つの物理的手段により実現されても良い。
【発明の効果】
【0033】
本発明によれば、LFSRを用いた画像伝送システムのあるレーンにおいて、ビット誤りが発生し、これによって画像の乱れが発生した場合であっても、規定の同期タイミングまで待つことなく、早期にビット誤りを訂正することができ、画像の乱れを最小限に抑えることができるようになる。
【0034】
本発明の他の技術的特徴、目的、及び作用効果ないしは利点は、添付した図面を参照して説明される以下の実施形態により明らかにされる。
【発明を実施するための形態】
【0036】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。本発明は、その趣旨を逸脱しない範囲で種々変形(例えば各実施形態を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0037】
図1は、本発明の一実施形態に係る画像伝送システムを説明するブロックダイアグラムである。同図に示すように、画像伝送システム100は、所定のデータ伝送インターフェースに準拠して設計されたシステムであって、例えば、ソースである送信装置110とシンクである受信装置120とを含み構成され、所定の伝送チャネルを介して所定の画像データを送受信する。所定のデータ伝送インターフェースは、例えば、LVDS(Low Voltage Differential Signaling)や、DisplyaPort等であり得る。画像データは、例えば、ピクセル単位で構成されるデータであり、1フレームを構成する複数のラインデータ列を1フレーム画像データとする。各ラインデータ列は、例えば、データ伝送インターフェースに応じたいくつかの特殊コードを含み得る。送信装置110と受信装置120とは、本例では4レーンの、すなわち4つの差動信号線ペアを含む伝送チャネルによって接続されるが、これに限られない。例えば、8レーンや16レーンで構成され得る。送信装置110と受信装置120とは、後述するように、共通のLFSR(線形フィードバックシフトレジスタ)を保持し、所定のタイミングで同期(又はリセット)をとるように動作する。
【0038】
特殊コードは、例えば、データがイネーブル/ディセーブルされるべきタイミングで付加されるコードである。特殊コードの一例として、垂直同期位置を指示する垂直同期コードVSYN、水平同期位置を指示する水平同期コードHSYN、ブランク位置の始まりを指示するブランキングスタートコードBS、及びブランク位置の終わりを示すブランキングエンドコードBE等がある。また、後述するように、データ伝送時に、所定のタイミングで、LFSRのシード値の初期化(リセット)のための初期化コードSRが、特殊コードとして、画像データに付加され得る。例えば、小振幅差動信号を用いたあるシリアル・インターフェース技術では、初期化コードSRは、「BE_SR(K28.0)」として定義されている。この場合、ブランキングエンドコードBE(K28.2)の差動信号は、“0011110101/1100001010”である一方、初期化コードBE_SR(K28.0)の差動信号は、“0011110100/1100001011”であり、これらは、互いに最下位ビットのみ相違するビットパターンとなっている。
【0039】
送信装置110は、例えば、図示しない表示装置に表示すべき画像データを、所定の形式の伝送データに変換し、これを受信装置120に送信する装置である。送信装置110は、例えば、複数のレーンのそれぞれに対応した複数の送信処理部111を含み構成され(図中、1つの送信処理部111のみが示されている。)、複数の送信処理部111のそれぞれは、例えば、スクランブル部112と、8B/10B符号化部113と、パラレル/シリアル変換部(以下「P/S変換部」という。)114とを含み構成される。
【0040】
スクランブル部112は、送出される例えば8ビット/パラレル形式の画像データに対してランダム符号化を行う。具体的には、スクランブル部112は、例えば、保持されたLFSRのシードに基づいて乱数値を生成し、生成した乱数値と画像データとの排他的論理和(EXOR)演算を行って、スクランブルデータを生成する。この場合、スクランブル部112は、LFSRに従った所定のタイミングで、初期化コードSRを画像データに付加ないしは挿入する。一例として、スクランブル部112は、初期化コードSRを、フレームの最初(1ライン目の最初)、及び所定数のライン間隔を空けた位置(例えば512ライン目の最初)に付加する。スクランブル部112は、生成したスクランブルデータを8B/10B符号化部113に送出する。
【0041】
8B/10B符号化部113は、スクランブルデータを10ビット形式の画像データに変換する。このようなデータ変換は、典型的には、高速シリアルデータ伝送のために行われる。具体的には、8B/10B符号化部113は、例えば、図示しない所定の変換テーブルに従って、8ビット形式のある画像データ例えば‘HGFEDCBA’を‘HGF/EDCBA’の3ビット/5ビットに分け、それぞれに1ビットのクロックビットを付加して‘abcdei/fghj’の6ビット/4ビットからなる10ビット形式の画像データ(伝送用画像データ)に変換する。8B/10B符号化部113は、変換した伝送用画像データをP/S変換部114に送出する。
【0042】
P/S変換部114は、パラレル形式の伝送用画像データをシリアル形式の伝送用画像データに変換する。P/S変換部114は、変換したシリアル形式の伝送用画像データを対応するレーンに出力する。P/S変換部114は、パラレル/シリアル変換のためのバッファメモリを含み得る。
【0043】
受信装置120は、例えば、送信装置110から送信される画像データを受信して、これを元の画像データに復元し、表示装置(図示せず)に出力する装置である。受信装置120は、例えば、複数のレーンのそれぞれに対応した複数の受信処理部を含み構成され(図中、1つの受信処理部121のみが示されている。)、複数の受信処理部121のそれぞれは、シリアル/パラレル変換部(以下「S/P変換部」という。)122と、8B/10B復号化部123と、デスクランブル部124とを含み構成される。
【0044】
S/P変換部122は、対応するレーンから受信したシリアル形式の伝送用画像データをパラレル形式の画像データに変換する。パラレル変換された画像データは、10ビット形式のデータである。S/P変換部122は、パラレル変換した画像データを、8B/10B復号化部123に送出する。
【0045】
8B/10B復号化部123は、所定の変換テーブルに従って、テーブル10ビット形式の画像データを8ビット形式の画像データに変換する。8B/10B復号化部123は、変換した画像データを、制御コード(すなわち、Kコード)とともに、デスクランブル部124に送出する。
【0046】
デスクランブル部124は、8ビット/パラレル形式の画像データに対してデスクランブルを行う。デスクランブル部124は、概略的には、保持されたLFSR(線形フィードバックシフトレジスタ)に対するシード値に基づいて乱数値を生成し、生成した乱数値と画像データとの排他的論理和(EXOR)演算を行って、デスクランブルデータ(元の画像データ)を生成する。デスクランブル部124は、復元した画像データを表示装置に送出する。本実施形態のデスクランブル部124は、後述するように、レーン間の伝送データの同期を補償するための機構を備える。
【0047】
図2は、本発明の一実施形態に係る受信装置120のデスクランブル部124の概略的構成を示すブロックダイアグラムである。なお、同図は、第0レーンの受信処理部121のデスクランブル部124の概略的構成を例示している。これとの関連で、図中、一部の信号については、対応するレーンのデスクランブル部124における信号であることを区別するため、ラベルに番号が付記されているが、以下の説明において、特に区別する必要がないときは、その番号が省略される。また、以下では、初期化コードSRのデータ構成ビットが、そのビット構成において、ブランキングエンドBEと類似しているものとして説明する。例えば、そのビット構成が、1〜数ビット程度のみ異なる場合、それらは、互いに類似しているといえ、ビット誤りが発生した場合に、誤って認識される可能性が高い関係にある。
【0048】
同図に示すように、デスクランブル部124は、例えば、初期化コード検出部(以下「SR検出部」という。)1241と、ブランキングエンド検出部(以下「BE検出部」という。)1242と、初期化コード受信判定部(以下「SR受信判定部」という。)1243と、データイネーブル信号検出部(以下「DE信号検出部」という。)1244と、LFSR演算部1245と、第1の予備シード算出部1246と、第2の予備シード算出部1247と、EXOR演算部1248とを含み構成される。
【0049】
SR検出部1241は、入力される画像データ列DATA_INから初期化コードSRを検出する。具体的には、SR検出部1241は、Kコードを示すK_IN信号に従い、画像データ列DATA_INをデータブロックごとに順次に取り込み、取り込んだデータブロックが初期化コードSRであるか否かを判断する。SR検出部1241は、データブロックが初期化コードSRであると判断する場合、SR検出信号SR_DをLFSR演算部1245及び第1の予備シード算出部1246に出力する。また、SR検出部1241は、該SR検出信号SR_Dを自身のSR受信判定部1243に出力するとともに、他のレーン(本例では、第1〜第3レーン)のデスクランブル部124のSR受信判定部1243に出力する。SR検出信号SR_Dの出力は、例えば、SR検出信号SR_Dを第1の値(例えば“L”)から第2の値(例えば“H”)に遷移させることにより行われる。
【0050】
BE検出部1242は、入力される画像データ列DATA_INからブランキングエンドコードBEを検出する。具体的には、BE検出部1242は、K_IN信号に従い、画像データ列DATA_INをデータブロックごとに順次に取り込み、取り込んだデータブロックがブランキングエンドコードBEであるか否かを判断する。BE検出部1242は、データブロックがブランキングコードBEであると判断する場合、BE検出信号BE_Dを第1の予備シード算出部1246に出力する。BE検出信号BE_Dの出力は、例えば、BE検出信号BE_Dを第1の値(例えば“L”)から第2の値(例えば“H”)に遷移させることにより行われる。
【0051】
SR受信判定部1243は、所定の時点で、受信装置120における各レーンのデスクランブル部124が、初期化コードSRを受信したか否かを判定する。具体的には、SR受信判定部1243は、例えば、すべてのレーンのデータイネーブル信号DEの立ち上がりエッジを検出した時点で、すべてのレーンのデスクランブル部124のうちで所定数以上(例えば過半数以上)のデスクランブル部124が初期化コードSRを受信したと判断する場合、初期化コードSRを受信したものと判定する。SR受信判定部1243は、当該時点で、初期化コードSRを受信したものと判定する場合、初期化コードSRを受信したことを示す第1のシード更新信号SEED_UPDATEをLFSR演算部1245及び第2の予備シード算出部1247にそれぞれ出力する一方、当該時点で、初期化コードSRを受信しなかったとものと判定する場合、初期化コードSRを受信しなかったことを示す第2のシード更新信号SEED_UPDATE#をLFSR演算部1245及び第2の予備シード算出部1247にそれぞれ出力する。
【0052】
なお、本実施形態では、すべてのレーンのデスクランブル部124について、初期化コードSRが受信されたか否かを判定しているが、これに限るものでなく、例えば、初期化コードSRの受信を判定するためのデスクランブル部124をいくつか定めておき、これらのデスクランブル部124について、初期化コードSRが受信されたか否かを判定するように構成しても良い。例えば、16レーンある場合に、SR受信判定部1243は、そのうちの予め定めた半分の8レーンのデスクランブル部124からSR検出信号を受信し、これらに基づいて、初期化コードSRが受信されたか否かを判定しても良い。
【0053】
DE信号検出部1244は、受信装置120におけるすべてのデータイネーブル信号DEが所定の値になったことを検出する。具体的には、DE信号検出部1244は、各データイネーブル信号DEの値を監視し、すべてのデータイネーブル信号DEの立ち上がりを検出した場合に、全DE検出トリガ信号DE_ALL_TRIGをSR受信判定部1243に出力する。データイネーブル信号DEは、例えば、1フレーム中の各ラインの最初と最後との間で、第1の値(例えば“H”)を示す信号である。
【0054】
LFSR演算部1245は、所定の多項式を内蔵したLFSRを保持し、クロックの周期ごとに算出されるその時点のシード値をLFSRに与えることによって、乱数値を生成する。また、LFSR演算部1245は、SR検出信号SR_Dを受信すると、LFSRに対するシード値の初期化を行う。つまり、初期化により、シード値は初期値(例えば“FFFF”)にリセットされる。本実施形態では、LFSR演算部1245は、ビット誤りがあったと判断される場合、その時点のシード値を、第1の予備シード算出部1246及び第2の予備シード算出部1247のいずれか一方から出力される予備シード値によって更新ないしは書き換え、それに基づいて乱数値を生成するように構成される。
【0055】
第1の予備シード算出部1246は、LFSR演算部1245と共通のシード値を保持し、クロックの周期ごとに該シード値を算出し、これをLFSR演算部1245及び第2の予備シード算出部1246にそれぞれ出力する。ここでは、第1の予備シード算出部1246により算出されるシード値を、第1の予備シード値と呼ぶことにする。また、第1の予備シード算出部1246は、SR検出信号SR_D又はBE検出信号BE_Dのいずれかを受信すると、第1の予備シード値の初期化を行う。つまり、第1の予備シード算出部1246は、初期化コードSRと類似したビット構成のコード(本例では、ブランキングコードBE)が検出された場合にも、第1の予備シード値の初期化を行っておき、これにより、後にビット誤りがあったと判断される場合に、第1の予備シード値で、LFSR演算部1245におけるシード値を書き換えることができるようにするとともに、これと併せて、第2の予備シード算出部1247の第2の予備シード値も書き換えることができるようにしている。ここでいうビット誤りとは、例えば、初期化コードSRにビット誤りがあって、これに類似したビット構成のコード(本例では、ブランキングエンドコードBE)として認識される場合である。以下では、このようなビット誤りを第1形態のビット誤りと呼ぶこととする。
【0056】
第2の予備シード算出部1247もまた、LFSR演算部1245と共通のLFSRのシード値を保持し、クロックの周期ごとに該シード値を算出し、LFSR演算部1245に出力する。ここでは、第2の予備シード算出部1247により算出されるシード値を、第2の予備シード値と呼ぶことにする。第2の予備シード算出部1247は、例えば1フレーム画像データを受信中、初期化コードSRを受信したか否かに拘わらず、第2の予備LFSRの初期化を行わないことに留意されるべきである。本例では、第2の予備シード算出部1247は、例えば規格技術に準拠して1フレームの最初にのみシード値の初期化を行う。つまり、第2の予備シード算出部1247は、1フレーム画像データ列の送信が開始されると、第2の予備シード値の初期化を行わずにしておき、これにより、後にビット誤りがあったと判断される場合には、第2の予備シード値で、LFSR演算部1245におけるシード値を書き換えることができるようにしている。ここでいうビット誤りとは、例えば、ブランキングエンドコードBEにビット誤りがあって、これに類似したビット構成のコード(本例では、初期化コードSR)として認識される場合である。以下では、このようなビット誤りを第2形態のビット誤りと呼ぶこととする。また、第2の予備シード算出部1247は、いずれかのレーンにおいて第1形態のビット誤りがあったと判断される場合であって、初期化コードSRが正しく受信されていたと判断される場合にも、第2の予備シード値を、第1の予備シード算出部1246から出力される第1の予備シード値によって書き換える。
【0057】
EXOR演算部1248は、LFSR演算部から入力される乱数値と画像データ列DATA_INとの間で排他的論理和(EXOR)演算を行い、元の画像データ列を復元し、これを出力画像データ列DATA_OUTとして表示装置(図示せず)に出力する。
【0058】
本開示では、表示装置は図示されていないが、表示装置は、例えば、液晶パネルや有機ELパネルを含み構成されるデバイスであるが、これらに限られない。また、表示装置は、受信装置120とは別体として構成されても良いし、受信装置120の一部として構成されても良い。
【0059】
図3は、小振幅差動信号を用いたシリアル・インターフェース技術に準拠した、画像データ列の一例を説明するための図である。送信される画像データ列は、典型的には、ピクセル単位(3バイト、4バイト又は5バイト)のデータブロックで送信される。同図は、3−Byteモード時の送信コードを示しており、データイネーブル信号DEが立ち上がりのタイミングで、所定の特殊コード(“VSYN H/L”,“HSYN H/L”,及び“BE”又は“BE_SR”)が送信される。BE_SRは、初期化コードであり、フレームの最初、及び512ライン間隔で送信される。画面データ本体は、データイネーブル信号DEが立ち上がっている間、送信される。そして、データイネーブル信号DEが立ち下がりのタイミングで、所定の特殊コード(“VSYN H/L”,“HSYN H/L”,“BS”)が送信される。
【0060】
画像データ列において、初期化コードSR(すなわち、上記技術における“BE_SR”)が受信されたと推定される例としては、さまざまなデータブロック(シンボル)の並びパターンが考えられる。
図4は、本発明の一実施形態に係る画像伝送システムにおける画像データ列中の初期化コードSRの受信推定パターンの一例を示す図である。すなわち、同図(a)は、3−Byteモードの場合の初期化コードSRの受信推定例を示す。同様に、同図(b)は、4−Byteモードの場合の初期化コードSRの受信推定例を示し、同図(b)は、5−Byteモードの場合の初期化コードSRの受信推定例を示す。図中、1行目の画像データ列は、ビット誤りがない状態を示している。したがって、上述したSR検出部1241は、このようなパターンを考慮して、初期化コードSRを検出するように構成され得る。これは、BE検出部1242についても同様である。
【0061】
図5は、本発明の一実施形態に係るデスクランブル部124のSR受信判定部1243の構成の一例を示すブロックダイアグラムである。
【0062】
SR受信判定部1243は、すべてのレーンのデータイネーブル信号DEの立ち上がりを検出した時点で、例えば、DE信号検出部1244から、全DE検出トリガ信号DE_ALL_TRIGを受信した時点で、すべてのレーンのデスクランブル部124のうちで例えば過半数以上のデスクランブル部124が初期化コードSRを受信したと判断した場合に、初期化コードSRを受信したと判定する。同図に示すように、SR受信判定部1243は、第1〜第3の加算器501a〜501cと、比較器502と、LFSR更新信号出力部503とを含み構成される。
【0063】
第1〜第3の加算器501a〜501cのそれぞれは、2つの入力どうしを加算して、その結果を出力する。例えば、SR検出信号SR_D0が第1の値(例えば“H”)であり、SR検出信号SR_D1〜SR_D3が第2の値(例えば“L”)である場合、第3の加算器501cの出力は、“1”となる。
【0064】
比較器502は、第3の加算器501cの出力を入力として、その入力と所定値とを比較し、その入力が所定値を超えている場合には、第1の値(例えば“H”)を出力し、超えていない場合には、第2の値(例えば“L”)を出力する。本例では、レーン数は、4レーンであるため、所定値は、“2”に設定されている。
【0065】
シード更新信号出力部503は、例えば、第1のANDゲートと第2のANDゲートとを含む。シード更新信号出力部503は、全DE検出トリガ信号DE_ALL_TRIGを検出した場合に、比較器502からの出力を、シード更新信号SEED_UPDATE及びSEED_UPDATE#として出力する。具体的には、全DE検出トリガ信号DE_ALL_TRIGが第1の値(例えば“H”)の場合、第1のANDゲート503aは、比較器502からの出力を第1のシード更新信号SEED_UPDATEとして出力する一方、第2のANDゲート503bは、比較器502からの出力の論理否定を第2のシード更新信号SEED_UPDATE#として出力する。つまり、第1のシード更新信号SEED_UPDATEは、初期化コードSRを受信していることを示すパルスであり、第2のシード更新信号SEED_UPDATE#は、初期化コードSRを受信していないことを示すパルスであって、第1のシード更新信号SEED_UPDATEと論理否定の関係にある。言い換えれば、第1のANDゲート503aは、比較器502からの出力が“H”の場合に、第1のシード更新信号SEED_UPDATEを“H”として出力し、第2のANDゲート503bは、比較器502からの出力が“L”の場合に、第2のシード更新信号SEED_UPDATE#を“H”として出力する。
【0066】
図6乃至
図10は、本発明の一実施形態に係る受信装置120のデスクランブル部124の動作を説明するためのフローチャートであり、具体的には、
図6は、デスクランブル部124が、受信した画像データ列に対する特殊コードの検出処理を示す。また、
図7は、デスクランブル部124のLFSR演算部1245の処理を示す。また、
図8は、デスクランブル部124の第1の予備シード算出部1246の処理を示し、
図9は、デスクランブル部124の第2の予備シード算出部1247の処理を示す。さらに、
図10は、デスクランブル部124におけるSR受信判定部1243の処理を示す。
【0067】
まず、
図6を参照して、デスクランブル部124は、画像データ列DATA_INを受信する(S601)。これにより、デスクランブル部124のSR検出部1241は、画像データ列DATA_IN中に、初期化コードSRが含まれているか否かを判断する一方(S602a)、BE検出部1242は、ブランキングエンドコードBEが含まれているか否かを判断し(S602b)する。SR検出部1241は、初期化コードSRを検出した場合には(S602aのYes)、SR検出信号SR_Dを出力する(S603a)。また、BE検出部1242は、ブランキングコードBEを検出した場合には(S602bのYes)、BE検出信号BE_Dを出力する(S603b)。
【0068】
次に、
図7を参照して、LFSR演算部1245は、まず、第1の予備シード算出部1246から出力される第1の予備シード値及び第2の予備シード算出部1247から出力される第2の予備シード値をそれぞれ受信する(S701)。また、LFSR演算部1245は、SR検出信号SR_Dを受信したか否かを判断する(S702)。LFSR演算部1245は、SR検出信号SR_Dを受信したと判断する場合には(S702のYes)、自身のシード値を初期化し(S703)、その後、後述するように、初期化したシード値に基づいてLFSR演算を行う(S708)。
【0069】
LFSR演算部1245は、SR検出信号SR_Dを受信していないと判断する場合(S702のNo)、続いて、シード更新信号の値をチェックする(704及び706)。すなわち、LFSR演算部1245は、第1のシード更新信号SEED_UPDATEが第1の値(例えば“H”)であるか否かを判断し(S704)、第1のシード更新信号SEED_UPDATEが第1の値であると判断する場合に(S704のYes)、現時点のシード値を、第1の予備シード算出部1246から受信した第1の予備シード値で書き換える(S705)。また、LFSR演算部1245は、第1のシード更新信号SEED_UPDATEが第1の値でないと判断する場合に(S704のNo)、続いて、第2のシード更新信号SEED_UPDATE#が第1の値(例えば“H”)であるか否かを判断する(S706)。LFSR演算部1245は、第2のシード更新信号SEED_UPDATE#が第1の値であると判断する場合(S706のYes)、現時点のシード値を、第2の予備シード算出部1247から受信した第2の予備シード値で書き換える(S707)。一方、LFSR演算部1245は、第2のシード更新信号SEED_UPDATE#が第1の値でないと判断する場合(S706のNo)、受信した予備シード値によって自身のシード値を書き換えない。
【0070】
続いて、LFSR演算部1245は、現時点のシード値に基づいて、LFSR演算を行う(S708)。すなわち、LFSR演算部1245は、現時点のシード値を所定の多項式に代入することによって乱数値を生成し、これを出力する。そして、LFSR演算部1245は、シード値を更新する(S709)。シード値の更新は、例えばカウントアップにより行われるが、これに限られるものではない。
【0071】
以上のとおり、LFSR演算部1245は、現時点のシード値に基づいてLFSR演算により乱数値を生成、出力するところ、SR検出信号SR_Dを受信した場合には、該シード値をリセットするように動作する。また、LFSR演算部1245は、シード更新信号によりシード値の書き換えが指示された場合には、自身のシード値を第1の予備シード値又は第2の予備シード値のいずれかで書き換えるように動作する。
【0072】
次に、
図8を参照して、第1の予備シード算出部1246は、SR検出部1241から出力されるSR検出信号SR_D及びBE検出部1242から出力されるBE検出信号BE_Dの少なくともいずれか一方を受信したか否かを監視する(S801)。第1の予備シード算出部1246は、SR検出信号SR_D及びBE検出信号BE_Dの少なくともいずれか一方を受信したと判断する場合(S801のYes)、現時点の第1の予備シード値を初期化し(S802)、該初期化した第1の予備シード値をLFSR演算部1245及び第2の予備シード算出部に出力する(S803)。一方、第1の予備シード算出部1246は、SR検出信号SR_D及びDE検出信号DE_Dのいずれも受信していないと判断する場合(S801のNo)、現時点の第1の予備シード値をLFSR演算部1245及び第2の予備シード算出部にそのまま出力する(S803)。第1の予備シード値算出部1246は、第1の予備シード値の出力後、第1のシード値を更新する(S804)。
【0073】
以上のとおり、第1の予備シード算出部1246は、SR検出信号SR_D及びBE検出信号BE_Dの少なくともいずれかを受信した場合には、第1の予備シード値を初期化し、該初期化した第1の予備シード値をLFSR演算部1245及び第2の予備シード算出部に出力する一方、SR検出信号SR_D及びBE検出信号BE_Dのいずれも受信しない場合には、現時点の第1の予備シード値をLFSR演算部1245及び第2の予備シード算出部にそのまま出力するように動作する。
【0074】
続いて、
図9を参照して、第2の予備シード算出部1247は、まず、第1の予備シード算出部1246から出力される第1の予備シード値を受信する(S901)。次に、第2の予備シード算出部1247は、第2のシード更新信号SEED_UPDATE#が第1の値(例えば“H”)であるか否かを判断する(S902)。第2の予備シード算出部1247は、第2のシード更新信号SEED_UPDATE#が第1の値であると判断する場合(S902のYes)、現時点の第2の予備シード値を第1の予備シード値で書き換え(S903)、書き換えた第2のシード値をLFSR演算部1245に出力する(S904)。一方、第2の予備シード算出部1247は、第2のシード更新信号SEED_UPDATE#が第1の値でないと判断する場合(S902のNo)、現時点の第2のシード値をLFSR演算部1245にそのまま出力する(S905)。第2の予備シード値算出部1247は、第2の予備シード値の出力後、第2のシード値を更新する(S905)。
【0075】
以上のとおり、第2の予備シード算出部1247は、第2のシード更新信号SEED_UPDATE#によりシード値の書き換えが指示された場合には、現時点の第2の予備シード値を第1の予備シード値で書き換え、該書き換えた第2の予備シード値をLFSR演算部1245に出力する一方、シード値の書き換えが指示されなかった場合には、現時点の第2の予備シード値をLFSR演算部1245にそのまま出力するように動作する。
【0076】
なお、図に示されていないが、第2の予備シード算出部1247においては、上述したように、シード値は、例えばフレーム画像データ列の最初の時点で初期化される。
【0077】
次に、
図10を参照して、デスクランブル部124のDE信号検出部1244は、すべてのレーンのデータイネーブル信号DEの立ち上がりエッジを検出したか否かを監視する(S1001)。DE信号検出部1244は、すべてのレーンのデータイネーブル信号DEの立ち上がりエッジを検出したと判断する場合(S1001のYes)、続いて、デスクランブル部124のSR受信判定部1243は、すべてのレーンのデスクランブル部124のうちで所定数以上のデスクランブル部124が該SR受信検出部1241により初期化コードSRを受信したか否かを判断する(S1002)。デスクランブル部124のSR受信判定部1243は、すべてのレーンのデスクランブル部124のうちで所定数以上のデスクランブル部124が初期化コードSRを受信したと判断する場合(S1002のYes)、第1のシード更新信号SEED_UPDATEをLFSR演算部1245及び第2の予備シード算出部1247のそれぞれに出力する(S1003)。これにより、LFSR演算部1245は、現時点の自身のシード値を、第1の予備シード算出部1246から出力された第1の予備シード値で書き換える一方、第2の予備シード算出部1247は、現時点の自身のシード値(すなわち第2の予備シード値)を、第1の予備シード算出部1246から出力された第1の予備シード値で書き換えられる。
【0078】
これに対して、デスクランブル部124のSR受信判定部1243は、すべてのレーンのデスクランブル部124のうちで所定数以上のデスクランブル部124が該SR受信検出部1241により初期化コードSRを受信しなかったと判断する場合(S1002のNo)、第2のシード更新信号SEED_UPDATE#を、LFSR演算部1245及び第2の予備シード算出部1247にそれぞれ出力する(S1004)。これにより、LFSR演算部1245は、現時点の自身のシード値を、第2の予備シード算出部1246から出力された第2の予備シード値で書き換える。
【0079】
以上のようにして、デスクランブル部124は、現時点のシード値を用いてLFSR演算部1245により生成される乱数値と画像データ列DATA_INの対応するデータブロックとのEXOR演算を行って、その結果を画像データ列DATA_OUTとして出力する。
【0080】
次に、デスクランブル部124の動作例を説明する。
図11A及び11Bは、本発明の一実施形態に係る受信装置120のデスクランブル部124の動作例を示すタイミングチャートであり、具体的には、同
図Aは、受信装置120の各レーンにおいて、ブランキングエンドコードBEが正しく受信された場合のシード値の書き換え処理を説明しており、また、同
図Bは、受信装置120の各レーンにおいて、初期化コードSRが正しく受信された場合のシード値の書き換え処理を説明している。図中、クロックLINK_CLKに従って動作する、4つのレーンのそれぞれに対応するデスクランブル部124(0)〜124(3)におけるデータ及び信号が示されている。また、これらのデータ及び信号を示す各ラベルの末尾の数字は、各レーンの番号を示している。
【0081】
同
図Aを参照して、デスクランブル部124(0)〜124(3)のそれぞれは、クロックLINK_CLKに従って、画像データ列DATA_INを受信している。また、デスクランブル部124(0)〜124(3)におけるシード値SEED0〜SEED3、第1の予備シード値SEED0_1〜SEED3_1、及び第2の予備シード値SEED0_2〜SEED3_2は、それぞれ、クロックLINK_CLKに従って順次に更新されている。なお、受信装置120において、各レーンの固有のスキューの発生が無視できず、したがって、本例では、第2レーン及び第3レーンに対して、第0レーンが1クロック分遅延し、第1レーンが2クロック分遅延しているものとする。
【0082】
まず、時点t1において、第2レーンのデスクランブル部124(2)及び第3レーンのデスクランブル部124(3)は、初期化コードSRを受信したため、時点t2において、SR検出信号SR_D2及びSR_D3を、それぞれ、“L”から“H”に遷移させる。また、第2レーンのデスクランブル部124(2)は、シード値SEED2及び第1の予備シード値SEED2_1を“FFFF”にそれぞれ初期化し、また、第3レーンのデスクランブル部124(3)は、シード値SEED3及び第1の予備シード値SEED3_1を“FFFF”にそれぞれ初期化する。
【0083】
また、時点t2において、第0レーンのデスクランブル部124(0)は、初期化コードSRを受信したため、時点t3において、SR検出信号SR_D0を“L”から“H”に遷移させる。また、第0レーンのデスクランブル部124(0)は、シード値SEED0及び第1の予備シード値SEED0_1を“FFFF”にそれぞれ初期化する。
【0084】
同様に、時点t3において初期化コードSRを受信した第1レーンのデスクランブル部124(1)は、時点t4において、SR検出信号SR_D1を“L”から“H”に遷移させ、また、シード値SEED1及び第1の予備シード値SEED1_1を“FFFF”にそれぞれ初期化する。
【0085】
以上のような状況で、すべてのレーンのデータイネーブル信号DE0〜DE3が、時点t6において、“L”から“H”に遷移したとする。これにより、デスクランブル部124(0)〜124(3)のそれぞれは、SR検出信号SR_D0〜SR_D3に基づいて、すべてのレーンの所定数以上のデスクランブル部124が初期化コードSRを受信したか否かを判断し、第1のシード更新信号SEED_UPDATE及び第2のシード更新信号SEED_UPDATE#を生成する。この場合、すべてのデスクランブル部124において、第1のシード更新信号SEED_UPDATEが“H”であるため、シード値SEED0〜SEED3は、第1の予備シード値SEED0_1〜SEED3_1でそれぞれ書き換えられるとともに、第2の予備シード値SEED0_2〜SEED3_2もまた、第1の予備シード値SEED0_1〜SEED3_1でそれぞれ書き換えられる。デスクランブル部124(0)〜124(3)は、これ以降、書き換えられたシード値SEED0〜SEED3及び第2の予備シード値SEED0_2〜SEED3_2から更新を継続するが、本例では、初期化コードSRを正しく受信しているため、書き換えが生じていても、シード値SEED0〜SEED3及び第2の予備シード値SEED0_2〜SEED3_2に実質的に変化はない。
【0086】
次に、同
図Bを参照して、まず、時点t1において第2レーンのデスクランブル部124(2)及び第3レーンのデスクランブル部124(3)は、ブランキングエンドコードBEを受信したため、時点t2において、第2レーンのデスクランブル部124(2)は、第1の予備シード値SEED2_1を“FFFF”に初期化し、また、第3レーンのデスクランブル部124(3)は、第1の予備シード値SEED3_1を“FFFF”に初期化する。また、時点t2においてブランキングエンドコードBEを受信した第0レーンのデスクランブル部124(0)は、時点t3において、第1の予備シード値SEED0_1を“FFFF”に初期化する。同様に、時点t3においてブランキングエンドコードBEを受信した第1レーンのデスクランブル部124(1)は、時点t4において、第1の予備シード値SEED1_1を“FFFF”に初期化する。本例では、デスクランブル部124(0)〜124(3)のそれぞれはブランキングエンドコードBEを受信しているため、SR検出信号SR_D0〜SR_D3は、“L”のままである。
【0087】
以上のような状況で、すべてのレーンのデータイネーブル信号DE0〜DE3が、時点t6において、“L”から“H”に遷移したとする。これにより、デスクランブル部124(0)〜124(3)のそれぞれは、SR検出信号SR_D0〜SR_D3に基づいて、すべてのレーンの所定数以上のデスクランブル部124が初期化コードSRを受信したか否かを判断し、第1のシード更新信号SEED_UPDATE及び第2のシード更新信号SEED_UPDATE#を生成する。この場合、すべてのデスクランブル部124において、第2のシード更新信号SEED_UPDATE#が“H”であるため、シード値SEED0〜SEED3は、第2の予備シード値SEED0_2〜SEED3_2でそれぞれ書き換えられる。デスクランブル部124(0)〜124(3)は、これ以降、書き換えられたシード値SEED0〜SEED3から更新を継続するが、本例では、ブランキングエンドコードBEを正しく受信しているため、書き換えが生じていても、シード値SEED0〜SEED3に実質的に変化はない。
【0088】
図12A及び12Bは、本発明の一実施形態に係る受信装置120のデスクランブル部124の動作例を示すタイミングチャートであり、具体的には、同
図Aは、受信装置120の第0レーンにおいて、初期化コードSRが、ビット誤りにより、ブランキングエンドコードBEとして認識される場合(第1形態のビット誤りの場合)の、シード値の書き換え処理を説明しており、また、同
図Bは、受信装置120の第0レーンにおいて、ブランキングエンドコードBEが、ビット誤りにより、初期化コードSRとして認識される場合(第2形態のビット誤りの場合)の、シード値の書き換え処理を説明している。
【0089】
同
図Aを参照して、各デスクランブル部124(0)〜(3)は、クロックLINK_CLKに従って、画像データ列DATA_INを受信している。この場合において、デスクランブル部124(0)が受信する画像データ列DATA_IN0において、本来、初期化コードSRを受信すべきところ、ビット誤りにより、ブランキングエンドコードBEを受信した場合を考える。
【0090】
まず、時点t1において、第2レーンのデスクランブル部124(2)及び第3レーンのデスクランブル部124(3)は、初期化コードSRを受信する。したがって、時点t2において、初期化コードSRを受信した第2レーンのデスクランブル部124(2)及び第3レーンのデスクランブル部124(3)は、SR検出信号SRを“L”から“H”に遷移させる。また、第2レーンのデスクランブル部124(2)は、シード値SEED2及び第1の予備シード値SEED2_1を“FFFF”にそれぞれ初期化し、また、第3レーンのデスクランブル部124(3)は、シード値SEED3及び第1の予備シード値SEED3_1を“FFFF”にそれぞれ初期化する。第2レーンのデスクランブル部124(2)及び第3レーンのデスクランブル部124(3)は、それぞれ、クロックLINK_CLKに従って、初期化されたシード値SEED2及びSEED3並びに第1の予備シード値SEED2_1及びSEED3_1から更新を継続する。
【0091】
また、時点t2において、第0レーンのデスクランブル部124(0)は、本来、初期化コードSRを受信すべきところ、ビット誤りにより、ブランキングエンドコードBEを受信している。したがって、第0レーンのデスクランブル部124(0)は、SR検出信号SRを“L”のまま遷移させない。また、ブランキングエンドコードBEを受信したデスクランブル部124(0)は、時点t3において、第1の予備シード値0_1を“FFFF”に初期化する。第0レーンのデスクランブル部124(0)は、クロックLINK_CLKに従って、初期化された第1の予備シード値SEED0_1から更新を継続する。
【0092】
また、時点t3において、第1レーンのデスクランブル部124(1)は、初期化コードSRを受信したため、時点t4において、SR検出信号を“L”から“H”に遷移させる。また、初期化コードSRを受信した第1レーンのデスクランブル部124(1)は、シード値SEED1及び第1の予備シード値SEED1_1を“FFFF”にそれぞれ初期化する。第1レーンのデスクランブル部124(1)は、クロックLINK_CLKに従って、初期化されたシード値及び第1の予備シード値から更新を継続する。
【0093】
以上のような状況で、すべてのレーンのデータイネーブル信号DE0〜DE3が、時点t6において、“L”から“H”に遷移したとする。これにより、デスクランブル部124(0)〜124(3)のそれぞれは、SR検出信号SR_D0〜SR_D3に基づいて、すべてのレーンの所定数以上のデスクランブル部124が初期化コードSRを受信したか否かを判断し、第1のシード更新信号SEED_UPDATE及び第2のシード更新信号SEED_UPDATE#を生成する。本例では、デスクランブル部124(1)〜124(3)が初期化コードSRを受信する一方、デスクランブル部124(0)が初期化コードSRを受信しなかったので、この結果、初期化コードSRを受信しなかったデスクランブル部124(0)は、時点t7において、本来、初期化コードSRが受信されるべきであったとして、シード値SEED0及び第2の予備シード値SEED0_2を、第1の予備シード値SEED0_1で書き換える。図中、シード値SEED0は、時点t7において“4”に書き換えられている。したがって、これ以降、デスクランブル部124(0)は、書き換えられたシード値SEED0及び第2の予備シード値SEED0_2から更新を継続する。
【0094】
なお、初期化コードSRを正しく受信したデスクランブル部124(1)〜124(3)は、時点t7において、シード値SEED1〜SEED3及び第2の予備シード値SEED1_2〜SEED3_2を、第1の予備シード値SEED1_1〜SEED3_1でそれぞれ書き換える。
【0095】
このように、あるレーンの画像データ列DATA_INにおいて、ビット誤りが発生し、デスクランブル部124は、本来のコードとは異なるブランキングエンドコードBEを受信したと判断し、シード値の初期化をしなかった場合であっても、他のレーンの画像データ列DATA_INの受信状況を考慮して、初期化した後の本来のシード値に戻すことができる。これにより、例えば、データ伝送規格によって定められたタイミング(例えば、フレームの1ライン目の最初又は512ライン目の最初)まで待つことなく、受信した画像データ列を訂正することができ、したがって、視認できる程度の画像中のノイズの発生を防止することができる。
【0096】
次に、同
図Bを参照して、デスクランブル部124(0)が受信する画像データ列DATA_IN0において、本来、ブランキングエンドコードBEを受信すべきところ、ビット誤りにより初期化コードSRを受信した場合を考える。
【0097】
まず、時点t1において、第2レーンのデスクランブル部124(2)及び第3レーンのデスクランブル部124(3)は、ブランキングエンドコードBEを受信したため、時点t2において、第2レーンのデスクランブル部124(2)は、第1の予備シード値SEED2_1を“FFFF”に初期化し、また、第3レーンのデスクランブル部124(3)は、第1の予備シード値SEED3_1を“FFFF”に初期化する。第2レーンのデスクランブル部124(2)及び第3レーンのデスクランブル部124(3)は、初期化した第1の予備シード値SEED3_1から更新を継続する。同様に、時点t3においてブランキングエンドコードBEを受信した第1レーンのデスクランブル部124(1)は、時点t4において、第1の予備シード値SEED1_1を“FFFF”に初期化する。本例では、デスクランブル部124(1)〜124(3)のそれぞれはブランキングエンドコードBEを受信しているため、これらにおけるSR検出信号SR_D1〜SR_D3は、“L”のままである。
【0098】
一方、時点t2において、第0レーンのデスクランブル部124(0)は、本来、ブランキングエンドコードBEを受信すべきところ、ビット誤りにより、初期化コードSRを受信している。したがって、時点t3において、初期化コードSRを受信した第0レーンのデスクランブル部124(0)は、SR検出信号SR_D0を“L”から“H”に遷移させる。また、デスクランブル部124(0)は、シード値SEED0及び第1の予備シード値SEED0_1を“FFFF”にそれぞれ初期化する。デスクランブル部124(0)は、初期化したシード値SEED0及び第1の予備シード値SEED0_1から更新を継続する。
【0099】
以上のような状況で、すべてのレーンのデータイネーブル信号DE0〜DE3が、時点t6において、“L”から“H”に遷移したとする。これにより、デスクランブル部124(0)〜124(3)のそれぞれは、SR検出信号SR_D0〜SR_D3に基づいて、すべてのレーンの所定数以上のデスクランブル部124が初期化コードSRを受信したか否かを判断し、第1のシード更新信号SEED_UPDATE及び第2のシード更新信号SEED_UPDATE#を生成する。本例では、デスクランブル部124(0)のみが初期化コードSRを受信し、残りのデスクランブル部124(1)〜124(3)が初期化コードSRを受信しなかったので、この結果、ブランキングエンドコードBEを受信しなかったデスクランブル部124(0)は、時点t7において、本来、ブランキングエンドコードBEが受信されるべきであったとして、シード値SEED0を、第2の予備シード値SEED0_2で書き換える。図中、シード値SEED0は、時点t7において“n+5”に書き換えられている。したがって、デスクランブル部124(0)は、これ以降、書き換えられたシード値SEED0から更新を継続する。
【0100】
このように、あるレーンの画像データ列DATA_INにおいて、ビット誤りが発生し、デスクランブル部124は、本来のコードとは異なる初期化コードSRを受信したと判断し、シード値を初期化してしまった場合であっても、他のレーンの画像データ列DATA_INの受信状況を考慮して、初期化する前のシード値に戻すことができる。これにより、例えば、データ伝送規格によって定められたタイミング(例えば、フレームの1ライン目の最初又は512ライン目の最初)まで待つことなく、受信した画像データ列を訂正することができ、したがって、視認できる程度の画像中のノイズの発生を防止することができる。
【0101】
以上のように、本発明によれば、意図せずにLFSRを初期化し、又は、意図せずにLFSRを初期化できなかった場合であっても、レーン全体におけるコード(例えば、初期化コード)の受信状況を考慮して、シード値を予備的に算出しておいた予備シード値で更新することができ、更新したシード値に基づいて正しいLFSR演算を行うことができる。
【0102】
したがって、本発明によれば、LFSRを用いた画像伝送システムのあるレーンにおいて、ビット誤りが発生し、これによって画像の乱れが発生した場合であっても、規定の同期タイミングまで待つことなく、早期にビット誤りを訂正することができ、画像の乱れを最小限に抑えることができるようになる。
【0103】
なお、上記の例では、第1の予備シード算出部1246及び第2の予備シード算出部1247のそれぞれは、クロックの周期に従って、常時、予備シード値をLFSR演算部1245に出力するようにしているが、例えば、SR受信判定部1243からのシード更新信号の受信をトリガにして、予備シード値をLFSR演算部1245に出力し、LFSR演算部1245は、受信したシード値により自身のシード値を更新するようにしても良い。
【0104】
図13は、本発明の他の実施形態に係る受信装置120のデスクランブル部124’の概略的構成を示すブロックダイアグラムである。図中、
図2に示した要素と同じものは、同一の符号で示されている。本実施形態のデスクランブル部124’は、第1の予備シード算出部1246及び第2の予備シード算出部1247に代え、第1の予備LFSR演算部1301及び第2の予備LFSR演算部1302を含み構成される点で、
図2に示したデスクランブル部124と異なる。すなわち、第1の予備シード算出部1246及び第2の予備シード算出部1247のそれぞれは、シード値をLFSR演算部1245’に出力するのではなく、予備乱数値をLFSR演算部1245’に出力し、LFSR演算部1245’は、シード更新信号に従って、乱数値そのものを書き換える。これにより、LFSR演算部1245’は、ビット誤りにより、所定の特殊コードを受信できずにシード値を初期化せず、又は所定の特殊コードを受信してシード値を意図せず初期化してしまい、該シード値に基づいて乱数値を生成した場合であっても、正しい乱数値に戻すことができるようになる。
【0105】
また、上記の例では、第1の予備LFSR演算部1301及び第2の予備LFSR演算部1302のそれぞれは、クロックに従って、常時、予備乱数値をLFSR演算部1245’に出力するようにしているが、例えば、シード更新信号の受信をトリガにして、予備乱数値をLFSR演算部1245’に出力し、LFSR演算部1245’は、受信した予備乱数値により自身の乱数値を更新するようにしても良い。
【0106】
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。
【0107】
例えば、本明細書に開示される方法においては、その結果に矛盾が生じない限り、ステップ、動作又は機能を並行して又は異なる順に実施しても良い。説明されたステップ、動作及び機能は、単なる例として提供されており、ステップ、動作及び機能のうちのいくつかは、発明の要旨を逸脱しない範囲で、省略でき、また、互いに結合させることで一つのものとしても良く、また、他のステップ、動作又は機能を追加しても良い。
【0108】
また、本明細書では、さまざまな実施形態が開示されているが、一の実施形態における特定のフィーチャ(技術的事項)を、適宜改良しながら、他の実施形態に追加し、又は該他の実施形態における特定のフィーチャと置換することができ、そのような形態も本発明の要旨に含まれる。