(57)【要約】【課題】送信側装置のLFSRと受信側装置のLFSRとの間の同期がずれた場合であっても、即座に正常状態に復帰させることができるスクランブル補正回路を提供する。【解決手段】スクランブルがかけられたパラレルデータをデスクランブルして、スクランブルがかけられる前のパラレルデータに順次復元するデスクランブル回路と、スクランブルがかけられる前のパラレルデータのうちの第１パラレルデータおよび第２パラレルデータのコードが、あらかじめ決められたコードなのか否かを検出するデータ検出回路と、あらかじめ決められたコードではない場合に、生成多項式、第１パラレルデータおよび第２パラレルデータに基づいて、時間的に前の第０デスクランブルコードを算出するコード算出回路と、を備える。デスクランブル回路は、第０デスクランブルコードを用いて、時間的に後の第３デスクランブルコードを補正する。【選択図】図１
2020048059.tif 000002
【特許請求の範囲】
【請求項１】
生成多項式に対応する構成の送信側装置のLFSRにより順次算出されるスクランブルコードを用いてスクランブルがかけられ、順次送信されてくるパラレルデータを、前記生成多項式に対応する構成の受信側装置のLFSRにより順次生成されるデスクランブルコードを用いてデスクランブルして、スクランブルがかけられる前のパラレルデータに順次復元するデスクランブル回路と、
時間的に連続して復元される複数の前記スクランブルがかけられる前のパラレルデータのうちの第１パラレルデータおよび第２パラレルデータのコードが、あらかじめ決められたコードなのか否かを検出するデータ検出回路と、
前記第１パラレルデータおよび第２パラレルデータのコードが、前記あらかじめ決められたコードではない場合に、前記生成多項式、前記第１パラレルデータおよび第２パラレルデータに基づいて、前記第１パラレルデータおよび第２パラレルデータをデスクランブルして復元するための第１デスクランブルコードおよび第２デスクランブルコードよりも時間的に前の第０デスクランブルコードを算出するコード算出回路と、を備え、
前記デスクランブル回路は、前記第０デスクランブルコードを用いて、前記第１デスクランブルコードおよび第２デスクランブルコードよりも時間的に後の第３デスクランブルコードを補正する、スクランブル補正回路。
【請求項２】
前記複数のスクランブルがかけられる前のパラレルデータは、１つの前記スクランブルがかけられる前のパラレルデータを１つのシンボルデータとして、各々が一定数のシンボルデータからなる、複数のシンボルデータ列を含み、
前記データ検出回路は、
前記複数のシンボルデータ列の各々に含まれる一定数のシンボルデータの中から、前記シンボルデータの時間的な位置を検出する位置検出回路と、
前記位置検出回路によって時間的な位置が検出された、前記第１パラレルデータおよび第２パラレルデータであるシンボルデータのコードが、前記あらかじめ決められたコードなのか否かをチェックするコードチェック回路と、を備える、請求項１に記載のスクランブル補正回路。
【請求項３】
前記各々のシンボルデータ列は、あらかじめコードが決められた垂直同期信号のシンボルデータおよび水平同期信号のシンボルデータを含み、前記第１パラレルデータおよび第２パラレルデータは、前記垂直同期信号のシンボルデータおよび前記水平同期信号のシンボルデータである、請求項２に記載のスクランブル補正回路。
【請求項４】
前記複数のスクランブルがかけられる前のパラレルデータは、FSBPの前記複数のシンボルデータ列および前記FSBPの複数のシンボルデータ列よりも時間的に前のFSBSのシンボルデータ列を含み、前記FSBPの複数のシンボルデータ列は、FSBPの前記垂直同期信号のシンボルデータおよびFSBPの前記水平同期信号のシンボルデータを含み、前記FSBSのシンボルデータ列は、FSBSの前記垂直同期信号の極性を表すシンボルデータおよびFSBSの前記水平同期信号の極性を表すシンボルデータを含み、前記FSBPの垂直同期信号のシンボルデータおよび前記FSBPの水平同期信号のシンボルデータのコードは、8'h00または8'hFFであり、前記FSBSの垂直同期信号の極性を表すシンボルデータおよび前記FSBSの水平同期信号の極性を表すシンボルデータのコードは、SYNLまたはSYNHであり、
前記コード算出回路は、前記FSBSの垂直同期信号の極性を表すシンボルデータのコードが、SYNLおよびSYNHの場合に、それぞれ、前記FSBPの垂直同期信号のシンボルデータのコードが、8'h00および8'hFFであり、かつ、前記FSBSの水平同期信号の極性を表すシンボルデータのコードが、SYNLおよびSYNHの場合に、それぞれ、前記FSBPの水平同期信号のシンボルデータのコードが、8'h00および8'hFFであると推定して前記第０デスクランブルコードを算出する、請求項３に記載のスクランブル補正回路。
【請求項５】
前記コード算出回路は、前記第３デスクランブルコードを用いてデスクランブルして復元されたスクランブルがかけられる前のパラレルデータのコードが、8'h00または8'hFFにならない場合に、前記FSBPの水平同期信号のシンボルデータのコードおよび前記FSBPの垂直同期信号のシンボルデータのコードの順に、8'h00と8'hFFとを入れ替えて前記第０デスクランブルコードを算出し直すことを、前記第３デスクランブルコードを用いてデスクランブルされて復元されたスクランブルがかけられる前のパラレルデータのコードが、8'h00または8'hFFになるまで繰り返す、請求項４に記載のスクランブル補正回路。
【請求項６】
前記複数のスクランブルがかけられる前のパラレルデータは、FSBPの前記複数のシンボルデータ列および前記FSBPの複数のシンボルデータ列よりも時間的に１ライン前のFSBEのシンボルデータ列を含み、前記FSBPの複数のシンボルデータ列は、FSBPの前記垂直同期信号のシンボルデータおよびFSBPの前記水平同期信号のシンボルデータを含み、前記FSBEのシンボルデータ列は、FSBEの前記垂直同期信号の極性を表すシンボルデータおよびFSBEの前記水平同期信号の極性を表すシンボルデータを含み、
前記コード算出回路は、前記FSBEの垂直同期信号のシンボルデータのコードおよび前記FSBEの水平同期信号のシンボルデータのコードを保持するコード保持回路を備え、
前記FSBPの垂直同期信号のシンボルデータのコードおよび前記FSBPの水平同期信号のシンボルデータのコードが、それぞれ、前記コード保持回路に保持された前記FSBEの垂直同期信号のシンボルデータのコードおよび前記FSBEの水平同期信号のシンボルデータのコードと同じであると推定して前記第０デスクランブルコードを算出する、請求項３に記載のスクランブル補正回路。
【請求項７】
前記複数のスクランブルがかけられる前のパラレルデータは、FSBPの前記複数のシンボルデータ列を含み、前記FSBPの複数のシンボルデータ列は、FSBPの前記垂直同期信号のシンボルデータおよびFSBPの前記水平同期信号のシンボルデータを含み、
前記FSBPの垂直同期信号のシンボルデータのコードおよび前記FSBPの水平同期信号のシンボルデータのコードは、8'h00または8'hFFであり、
前記コード算出回路は、前記FSBPの垂直同期信号のシンボルデータのコードおよび前記FSBPの水平同期信号のシンボルデータのコードが、8'h00および8'h00、8'h00および8'hFF、8'hFFおよび8'h00、または、8'hFFおよび8'hFFであると推定して４つの前記第０デスクランブルコードを算出し、前記４つの第０デスクランブルコードに対応する４つの前記第３デスクランブルコードを用いてデスクランブルして復元された４つのスクランブルがかけられる前のパラレルデータのコードのうち、前記あらかじめ決められたコードとなるスクランブルがかけられる前のパラレルデータに対応する第０デスクランブルコードを使用する、請求項３に記載のスクランブル補正回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクランブルがかけられたパラレルデータをデスクランブルして、スクランブルがかけられる前のパラレルデータに復元するために用いられるデスクランブルコードを補正するスクランブル補正回路に関する。
【背景技術】
【０００２】
画像データの高速シリアル通信では、EMI（Electro Magnetic Interference：電磁妨害）対策として、スクランブル／デスクランブルという手法が用いられている。この手法では、送信側装置が、パラレルデータである送信データにスクランブルをかけて乱数化し、シリアルデータに変換して送信し、受信側装置が、受信したシリアルデータをパラレルデータである受信データに変換し、スクランブルがかけられた受信データをデスクランブルして、スクランブルがかけられる前のデータに戻すことが行われている。
【０００３】
具体的には、送信側装置および受信側装置は、あらかじめ決められた同じ生成多項式に対応する構成のLFSR（Linear Feedback Shift Register：線形帰還シフトレジスタ）備えている。送信側装置は、送信データと、送信側装置のLFSRにより算出されるスクランブルコードと、のEXOR演算を行って乱数化し、送信する。一方、受信側装置は、スクランブルがかけられた受信データと、受信側装置のLFSRにより算出されるデスクランブルコードと、のEXOR演算を行ってスクランブルがかけられる前のデータに戻す処理を行う。
【０００４】
ここで、送信側装置のLFSRおよび受信側装置のLFSRは、特定のタイミングで初期化されることにより同期が取られている。
【０００５】
例えば、画像データの高速シリアル通信の規格の１つであるV-By-Oneの場合、シンボルデータ（パラレルデータ）BE_SR(Blanking End and Scrambler Reset)と呼ばれるコードを送信／受信したタイミングで送信側装置のLFSRおよび受信側装置のLFSRの初期化が行われる。このシンボルデータBE_SRの送信は、１ライン毎に送受信されるシンボルデータBE(Blanking End)を、フレームの最初、および、その後の５１２ライン毎に１回、シンボルデータBE_SRに置き換えて送受信することで実施される。
【０００６】
ところで、差動信号として送受信されるシンボルデータBEおよびシンボルデータBE_SRのコードは、V-By-Oneの規格では、8B/10B変換後、それぞれ、BE=0011110101/1100001010、BE_SR=0011110100/1100001011であり、１ビットの違いしかない。
【０００７】
そのため、ノイズ等の影響により、シンボルデータBEがシンボルデータBE_SRに化けた信号、および、シンボルデータBE_SRがシンボルデータBE_SR以外のシンボルデータに化けた信号等を受信した場合、送信側装置のLFSRと受信側装置のLFSRとの間の同期がずれてしまい、次のシンボルデータBE_SRが送受信されるまでの間、受信側装置において、デスクランブルを正常に行うことができなくなる。
【０００８】
図１０に示すように、例えばフレームの最初にシンボルデータBE_SRが送受信された後、途中で送信側装置のLFSRと受信側装置のLFSRとの間の同期がずれると、次のシンボルデータBE_SRが送受信されるまでの長い期間、正常状態に復帰させることができない。
【０００９】
また、シリアル通信の各レーンを介して送受信されるシリアルデータにはレーン間スキューがあるため、受信側装置のLFSRから出力されるデスクランブルコードをレーン間で逐次比較することによりデスクランブルコードを補正することも困難である。
【００１０】
ここで、本発明に関連性のある先行技術文献としては、特許文献１〜６がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１４−１９２８８６号公報
【特許文献２】特開２０１５−１４４３９２号公報
【特許文献３】特開２０１５−２０４５１３号公報
【特許文献４】特許第４１７１１７１号公報
【特許文献５】特許第４２５４２０１号公報
【特許文献６】国際公開第２０１２／０４９８１５号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、送信側装置のLFSRと受信側装置のLFSRとの間の同期がずれた場合であっても、即座に正常状態に復帰させることができるスクランブル補正回路を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明は、生成多項式に対応する構成の送信側装置のLFSRにより順次算出されるスクランブルコードを用いてスクランブルがかけられ、順次送信されてくるパラレルデータを、前記生成多項式に対応する構成の受信側装置のLFSRにより順次生成されるデスクランブルコードを用いてデスクランブルして、スクランブルがかけられる前のパラレルデータに順次復元するデスクランブル回路と、
時間的に連続して復元される複数の前記スクランブルがかけられる前のパラレルデータのうちの第１パラレルデータおよび第２パラレルデータのコードが、あらかじめ決められたコードなのか否かを検出するデータ検出回路と、
前記第１パラレルデータおよび第２パラレルデータのコードが、前記あらかじめ決められたコードではない場合に、前記生成多項式、前記第１パラレルデータおよび第２パラレルデータに基づいて、前記第１パラレルデータおよび第２パラレルデータをデスクランブルして復元するための第１デスクランブルコードおよび第２デスクランブルコードよりも時間的に前の第０デスクランブルコードを算出するコード算出回路と、を備え、
前記デスクランブル回路は、前記第０デスクランブルコードを用いて、前記第１デスクランブルコードおよび第２デスクランブルコードよりも時間的に後の第３デスクランブルコードを補正する、スクランブル補正回路を提供する。
【００１４】
ここで、前記複数のスクランブルがかけられる前のパラレルデータは、１つの前記スクランブルがかけられる前のパラレルデータを１つのシンボルデータとして、各々が一定数のシンボルデータからなる、複数のシンボルデータ列を含み、
前記データ検出回路は、
前記複数のシンボルデータ列の各々に含まれる一定数のシンボルデータの中から、前記シンボルデータの時間的な位置を検出する位置検出回路と、
前記位置検出回路によって時間的な位置が検出された、前記第１パラレルデータおよび第２パラレルデータであるシンボルデータのコードが、前記あらかじめ決められたコードなのか否かをチェックするコードチェック回路と、を備えることが好ましい。
【００１５】
また、前記各々のシンボルデータ列は、あらかじめコードが決められた垂直同期信号のシンボルデータおよび水平同期信号のシンボルデータを含み、前記第１パラレルデータおよび第２パラレルデータは、前記垂直同期信号のシンボルデータおよび前記水平同期信号のシンボルデータであることが好ましい。
【００１６】
また、前記複数のスクランブルがかけられる前のパラレルデータは、FSBPの前記複数のシンボルデータ列および前記FSBPの複数のシンボルデータ列よりも時間的に前のFSBSのシンボルデータ列を含み、前記FSBPの複数のシンボルデータ列は、FSBPの前記垂直同期信号のシンボルデータおよびFSBPの前記水平同期信号のシンボルデータを含み、前記FSBSのシンボルデータ列は、FSBSの前記垂直同期信号の極性を表すシンボルデータおよびFSBSの前記水平同期信号の極性を表すシンボルデータを含み、前記FSBPの垂直同期信号のシンボルデータおよび前記FSBPの水平同期信号のシンボルデータのコードは、8'h00または8'hFFであり、前記FSBSの垂直同期信号の極性を表すシンボルデータおよび前記FSBSの水平同期信号の極性を表すシンボルデータのコードは、SYNLまたはSYNHであり、
前記コード算出回路は、前記FSBSの垂直同期信号の極性を表すシンボルデータのコードが、SYNLおよびSYNHの場合に、それぞれ、前記FSBPの垂直同期信号のシンボルデータのコードが、8'h00および8'hFFであり、かつ、前記FSBSの水平同期信号の極性を表すシンボルデータのコードが、SYNLおよびSYNHの場合に、それぞれ、前記FSBPの水平同期信号のシンボルデータのコードが、8'h00および8'hFFであると推定して前記第０デスクランブルコードを算出することが好ましい。
【００１７】
また、前記コード算出回路は、前記第３デスクランブルコードを用いてデスクランブルして復元されたスクランブルがかけられる前のパラレルデータのコードが、8'h00または8'hFFにならない場合に、前記FSBPの水平同期信号のシンボルデータのコードおよび前記FSBPの垂直同期信号のシンボルデータのコードの順に、8'h00と8'hFFとを入れ替えて前記第０デスクランブルコードを算出し直すことを、前記第３デスクランブルコードを用いてデスクランブルされて復元されたスクランブルがかけられる前のパラレルデータのコードが、8'h00または8'hFFになるまで繰り返すことが好ましい。
【００１８】
また、前記複数のスクランブルがかけられる前のパラレルデータは、FSBPの前記複数のシンボルデータ列および前記FSBPの複数のシンボルデータ列よりも時間的に１ライン前のFSBEのシンボルデータ列を含み、前記FSBPの複数のシンボルデータ列は、FSBPの前記垂直同期信号のシンボルデータおよびFSBPの前記水平同期信号のシンボルデータを含み、前記FSBEのシンボルデータ列は、FSBEの前記垂直同期信号の極性を表すシンボルデータおよびFSBEの前記水平同期信号の極性を表すシンボルデータを含み、
前記コード算出回路は、前記FSBEの垂直同期信号のシンボルデータのコードおよび前記FSBEの水平同期信号のシンボルデータのコードを保持するコード保持回路を備え、
前記FSBPの垂直同期信号のシンボルデータのコードおよび前記FSBPの水平同期信号のシンボルデータのコードが、それぞれ、前記コード保持回路に保持された前記FSBEの垂直同期信号のシンボルデータのコードおよび前記FSBEの水平同期信号のシンボルデータのコードと同じであると推定して前記第０デスクランブルコードを算出することが好ましい。
【００１９】
また、前記複数のスクランブルがかけられる前のパラレルデータは、FSBPの前記複数のシンボルデータ列を含み、前記FSBPの複数のシンボルデータ列は、FSBPの前記垂直同期信号のシンボルデータおよびFSBPの前記水平同期信号のシンボルデータを含み、
前記FSBPの垂直同期信号のシンボルデータのコードおよび前記FSBPの水平同期信号のシンボルデータのコードは、8'h00または8'hFFであり、
前記コード算出回路は、前記FSBPの垂直同期信号のシンボルデータのコードおよび前記FSBPの水平同期信号のシンボルデータのコードが、8'h00および8'h00、8'h00および8'hFF、8'hFFおよび8'h00、または、8'hFFおよび8'hFFであると推定して４つの前記第０デスクランブルコードを算出し、前記４つの第０デスクランブルコードに対応する４つの前記第３デスクランブルコードを用いてデスクランブルして復元された４つのスクランブルがかけられる前のパラレルデータのコードのうち、前記あらかじめ決められたコードとなるスクランブルがかけられる前のパラレルデータに対応する第０デスクランブルコードを使用することが好ましい。
【発明の効果】
【００２０】
本発明によれば、例えばフレームの最初にシンボルデータBE_SRが送受信された後、送信側装置のLFSRと受信側装置のLFSRとの間の同期がずれた場合であっても、FSBS(Framing Symbols Blanking Start)のシンボルデータ列の直後にデスクランブルコードの補正を実施するため、次のシンボルデータBE_SRの送受信を待つことなく、次のラインにおいて即座に正常状態に復帰させることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明のスクランブル補正回路の構成を表す一実施形態のブロック概念図である。
【図２】送信側装置のスクランブル回路の構成を表す一実施形態の回路概念図である。
【図３】受信側装置のデスクランブル回路の構成を表す一実施形態の回路概念図である。
【図４】データ検出回路の構成を表す一実施形態の回路概念図である。
【図５】スクランブル補正回路の動作を表す一実施形態のタイミングチャートである。
【図６】図５のタイミングチャートにおけるパラレルデータDATA_IN[7:0]＝D1, D2の付近の拡大図である。
【図７】スクランブル補正回路の動作を表す一実施形態のフローチャートである。
【図８】スクランブル補正回路の動作を表す別の実施形態のタイミングチャートである。
【図９】本発明のスクランブル補正回路の動作を表す一実施形態の概念図である。
【図１０】従来のスクランブル補正回路の動作を表す一例の概念図である。
【発明を実施するための形態】
【００２２】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のスクランブル補正回路を詳細に説明する。
【００２３】
図１は、本発明のスクランブル補正回路の構成を表す一実施形態のブロック概念図である。図１に示すスクランブル補正回路１０は、V-By-Oneの規格に対応する通信装置の受信側装置において備えられるものであり、通信装置の送信側装置から送信されてくる、スクランブルがかけられたパラレルデータDATA_IN[7:0]をデスクランブルして、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]に復元するために用いられるデスクランブルコードLFSR[15:0]を補正する。尚、Kデータについては、後述するように、スクランブル／デスクランブルを行わないように制御する。
【００２４】
スクランブル補正回路１０は、画像データの高速シリアル通信等で用いられる通信装置で使用可能なものである。この場合、例えば送信側回路においては、送信用のパラレルデータにスクランブルがかけられ、シリアルデータに変換され、送信される。一方、受信側装置においては、送信側装置から送信されてくるシリアルデータが受信され、パラレルデータに変換され、デスクランブルされ、スクランブルがかけられる前のパラレルデータに復元される。
【００２５】
スクランブル補正回路１０の説明の前に、まず、表１を参照して、本実施形態と関連性のあるV-By-Oneの規格について簡単に説明する。
【００２６】
【表１】
2020048059.tif 000003
【００２７】
V-By-Oneの規格では、画像の１ピクセルのデータは、バイトモード信号に対応する複数のシンボルデータ（パラレルデータ）からなるシンボルデータ列で構成される。表１に示すように、バイトモード（Byte Mode）には、３バイトモード（3Byte Mode）、４バイトモード（4Byte Mode）、および５バイトモード（5Byte Mode）がある。例えば、３バイトモードの場合、１ピクセルのデータは、３バイトのシンボルデータ（Framing Symbol）Byte0, Byte1, Byte2からなるシンボルデータ列で構成される。
【００２８】
データイネーブル信号DEは、イネーブル（Enable）の場合に、画像の表示期間であることを表し、ディスエーブル（Disable）の場合に、ブランキング期間（水平ブランキング期間および垂直ブランキング期間）であることを表す。
【００２９】
画像の表示期間において、図５に示すように、送信側装置から受信側装置に対して、ピクセルデータであるFSACTIVEのシンボルデータ列が繰り返し送信される。例えば、３バイトモードの場合、FSACTIVEのシンボルデータ列の１〜３番目のシンボルデータByte0, Bytee1, Byte2のコードとして、ピクセルデータを表すシンボルデータDA0, DA1, DA2のコードが順次送信される。
【００３０】
また、ブランキング期間において、図５に示すように、送信側装置から受信側装置に対して、まず、ブランキング期間の開始を表す１つのFSBSのシンボルデータ列が送信され、続いて、ブランキング期間中の垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードを表すFSBPのシンボルデータ列が繰り返し送信され、最後に、ブランキング期間の終了を表す１つのFSBEのシンボルデータ列が送信される。
【００３１】
FSBSのシンボルデータ列の１番目のシンボルデータByte0のコードとして、垂直同期信号VSYNCがLレベル（ローレベル）およびHレベル（ハイレベル）の場合に、それぞれ、垂直同期信号VSYNCの極性を表すシンボルデータSYNL, SYNHのコードが送信される。２番目のシンボルデータByte1のコードとして、水平同期信号HSYNCがLレベルおよびHレベルの場合に、それぞれ、水平同期信号HSYNCの極性を表すシンボルデータSYNL, SYNHのコードが送信される。３番目のシンボルデータByte2のコードとして、ブランキングの開始を表すシンボルデータBSのコードが送信される。
【００３２】
FSBPのシンボルデータ列の１番目のシンボルデータByte0のコードとして、垂直同期信号VSYNCがLレベルおよびHレベルの場合に、それぞれ、8'h00または8'hFFが送信される。8'h00および8'hFFは、VerilogのHDL（Hardware Description Language：ハードウェア記述言語）での記述例であり、それぞれ、８ビットの１６進数の‘00’および‘FF’を表す。これ以降も同様に記載されている。２番目のシンボルデータByte1のコードとして、水平同期信号HSYNCがLレベルおよびHレベルの場合に、それぞれ、8'h00または8'hFFが送信される。つまり、各々のFSBPのシンボルデータ列は、あらかじめコードが決められた垂直同期信号VSYNCのシンボルデータおよび水平同期信号HSYNCのシンボルデータを含む。３番目のシンボルデータByte2のコードとして、コントロール信号のシンボルデータCTL0のコードが送信される。コントロール信号のシンボルデータCTL0, CTL1, CTL2のコードは、ユーザが任意に設定可能である。
【００３３】
FSBEのシンボルデータ列の１番目および２番目のシンボルデータByte0, Byte1のコードは、FSBSのシンボルデータ列の場合と同じである。３番目のシンボルデータByte2のコードとして、ブランキングの終了を表すシンボルデータBEのコード、または、LFSRの初期化を指示するシンボルデータBE_SRのコードが送信される。シンボルデータBE_SRは、前述のように、フレームの最初、および、その後の５１２ライン毎に１回、シンボルデータBEに置き換えて送信される。
【００３４】
次に、図１に戻って、スクランブル補正回路１０について説明する。
【００３５】
図１に示すスクランブル補正回路１０は、BE_SR検出回路１２と、デスクランブル回路１４と、データ検出回路１６と、コード算出回路１８と、を備えている。
【００３６】
BE_SR検出回路１２には、パラレルデータDATA_IN[7:0]が入力される。
BE_SR検出回路１２は、パラレルデータDATA_IN[7:0]が、シンボルデータBE_SRのコードなのか否かを検出し、その検出結果を出力する。シンボルデータBE_SRのコードは、Kデータであるため、デスクランブルは行わずに検出できる。
【００３７】
続いて、デスクランブル回路１４は、生成多項式に対応する構成の送信側装置のLFSRにより順次算出されるスクランブルコードを用いてスクランブルがかけられ、順次送信されてくるパラレルデータを、送信側装置と同じ生成多項式に対応する構成の受信側装置のLFSRにより順次生成されるデスクランブルコードLFSR[8:15]を用いてデスクランブルして、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]に順次復元する。
【００３８】
デスクランブル回路１４は、LFSR２０と、８個のEXOR回路２２と、を備えている。
【００３９】
LFSR２０には、BE_SR検出回路１２の出力信号およびコード算出回路１８の出力信号が入力され、LFSR２０からは、デスクランブルコードLFSR[8:15]が出力される。８個のEXOR回路２２には、それぞれ、パラレルデータDATA_IN[7:0]の各ビットおよびLFSR２０からのデスクランブルコードLFSR[8:15]の各ビットが入力される。８個のEXOR回路２２からは、デスクランブルされたスクランブルがかけられる前のパラレルデータDATA_OUT[7:0]が出力される。
【００４０】
LFSR２０は、図示していないリンククロックLINK_CLKに同期して、生成多項式に対応するデスクランブルコードLFSR[15:0]を順次生成する。リンククロックLINK_CLKは、パラレルデータを処理するためのクロックである。また、LFSR２０は、シンボルデータBE_SRのコードが検出された場合に初期化される。つまり、デスクランブル回路１４は、シンボルデータBE_SRのコードが検出された場合に初期化される。
【００４１】
８個のEXOR回路２２は、パラレルデータDATA_IN[7:0]の各ビットとデスクランブルコードLFSR[8:15]の各ビットとの排他的論理和をとることにより、パラレルデータDATA_IN[7:0]をデスクランブルしたスクランブルがかけられる前のパラレルデータDATA_OUT[7:0]を出力する。
【００４２】
続いて、データ検出回路１６は、時間的に連続して復元される複数のスクランブルがかけられる前のパラレルデータDATA_OUT[7:0]のうちのシンボルデータ列の第１パラレルデータおよび第２パラレルデータのコード、本実施形態の場合、垂直同期信号VSYNCのシンボルデータのコードおよび水平同期信号HSYNCのシンボルデータのコードが、それぞれ、あらかじめ決められたコードなのか否かを検出する。
【００４３】
複数のパラレルデータDATA_IN[7:0]は、図５に示すように、１つのパラレルデータDATA_IN[7:0]を１つのシンボルデータとして、各々が一定数のシンボルデータ、本実施形態の場合、各々が３バイトのシンボルデータからなる、１つのFSBSのシンボルデータ列、複数のFSBPのシンボルデータ列、および１つのFSBEのシンボルデータ列を時間的に連続して含む。
【００４４】
データ検出回路１６は、VSYNC/HSYNC位置検出回路２４と、VSYNC/HSYNCコードチェック回路２６と、を備えている。
【００４５】
VSYNC/HSYNC位置検出回路２４は、本発明の位置検出回路であり、時間的に連続して復元される複数のスクランブルがかけられる前のパラレルデータDATA_OUT[7:0]から、バイトモード信号に対応する複数のシンボルデータからなるFSBS, FSBP, FSBEのシンボルデータ列を順次抽出する。
また、図８の信号SYNCとして示すように、FSBSのシンボルデータ列に含まれる一定数のシンボルデータの中から、垂直同期信号VSYNCの極性を表すシンボルデータおよび水平同期信号HSYNCの極性を表すシンボルデータの時間的な位置を検出し、さらに信号SYNC_TRIGを生成する。
図８の信号SYNC_TRIGとして示すように、複数のFSBPのシンボルデータ列の各々に含まれる一定数のシンボルデータの中から、第１パラレルデータおよび第２パラレルデータである垂直同期信号VSYNCのシンボルデータおよび水平同期信号HSYNCのシンボルデータの時間的な位置を検出する。
FSBEのシンボルデータ列に含まれる一定数のシンボルデータの中から、垂直同期信号VSYNCの極性を表すシンボルデータおよび水平同期信号HSYNCの極性を表すシンボルデータの時間的な位置を検出する。
なお、VSYNC/HSYNC位置検出回路２４は、FSBPのシンボルデータ列以外のシンボルデータ列、第１パラレルデータおよび第２パラレルデータ以外のパラレルデータを用いてシンボルデータの時間的な位置を検出してもよい。
【００４６】
VSYNC/HSYNCコードチェック回路２６は、本発明のコードチェック回路であり、VSYNC/HSYNC位置検出回路２４によって時間的な位置が検出された、第１パラレルデータおよび第２パラレルデータである垂直同期信号VSYNCのシンボルデータのコードおよび水平同期信号HSYNCのシンボルデータのコードが、それぞれ、あらかじめ決められたコードなのか否か、つまり、8'h00または8'hFFなのか否かをチェックする。
【００４７】
その結果、詳細は後述するが、垂直同期信号VSYNCのシンボルデータのコードおよび水平同期信号HSYNCのシンボルデータのコードが、あらかじめ決められたコードではない場合、デスクランブルコードLFSR[8:15]を補正する時に、水平同期信号HSYNCのシンボルデータのコードおよび垂直同期信号VSYNCのシンボルデータのコードの順に、パラレルデータDATA_IN[7:0]をそのまま使用するか、反転して使用するかが切り替えられる。
【００４８】
続いて、コード算出回路１８は、第１パラレルデータおよび第２パラレルデータである垂直同期信号VSYNCのシンボルデータのコードおよび水平同期信号HSYNCのシンボルデータのコードが、あらかじめ決められたコードではない場合に備えて、生成多項式、第１パラレルデータおよび第２パラレルデータに基づいて、後述する、第１パラレルデータおよび第２パラレルデータをデスクランブルして復元するための第１デスクランブルコードおよび第２デスクランブルコードよりも時間的に前の第０デスクランブルコードを算出する。
【００４９】
コード算出回路１８は、８個のEXOR回路２８と、逆LFSR３０と、を備えている。
【００５０】
８個のEXOR回路２８の一方の入力端子には、それぞれ、パラレルデータDATA_IN[7:0]の各ビットが入力され、他方の入力端子には、データ検出回路１６の出力信号が共通に入力される。８個のEXOR回路２８からは、パラレルデータDATA_IN2[7:0]が出力される。逆LFSR３０には、EXOR回路２８の出力信号が入力され、逆LFSR３０からは、第０デスクランブルコードが出力される。
【００５１】
８個のEXOR回路２８は、パラレルデータDATA_IN[7:0]と、データ検出回路１６の出力信号と、の排他的論理和をとって、その結果のパラレルデータDATA_IN2[7:0]を出力する。８個のEXOR回路２８は、データ検出回路１６の出力信号、つまり、VSYNC/HSYNCコードチェック回路２６の出力信号に応じて、出力信号がLの場合、パラレルデータDATA_IN[7:0]をそのまま出力し、出力信号がHの場合、パラレルデータDATA_IN[7:0]を反転して出力する。
【００５２】
逆LFSR３０は、生成多項式と、EXOR回路２８の出力信号であるパラレルデータDATA_IN2[7:0]、つまりFSBPのシンボルデータ列の、垂直同期信号VSYNCのシンボルデータおよび水平同期信号HSYNCのシンボルデータと、に基づいて、第０デスクランブルコードを算出する。
【００５３】
次に、送信側装置のスクランブル回路および受信側装置のデスクランブル回路１４について説明する。
【００５４】
図２は、送信側装置のスクランブル回路の構成を表す一実施形態の回路概念図である。図２に示すスクランブル回路３２は、パラレルデータD[7:0]にスクランブルをかけて乱数化したパラレルデータH〜Aを出力する。
【００５５】
スクランブル回路３２は、LFSR３４と、８個のEXOR回路３６と、を備えている。
【００５６】
LFSR３４は、生成多項式G(X)=X16+X5+X4+X3+1に対応する構成のものであり、リンククロックLINK_CLKに同期して、生成多項式に対応するスクランブルコードLFSR[15:0]を順次算出する。また、シンボルデータBE_SRによって初期化される。
【００５７】
LFSR３４は、１６個のDFF（D Flip-Flop：Dフリップフロップ）３８（０〜１５）と、３個のEXOR回路４０ａ、４０ｂ、４０ｃと、を備えている。
【００５８】
１６個のDFF３８（０−１５）は、３番目と４番目のDFF３８（２，３）の間、４番目と５番目のDFF３８（３，４）の間、および５番目と６番目のDFF３８（４，５）の間に、それぞれ、EXOR回路４０ａ、４０ｂ、４０ｃを挟んでリング状に接続されている。
【００５９】
EXOR回路４０ａには、３番目および１６番目のDFF３８（２，１５）の出力信号が入力され、EXOR回路４０ａの出力信号は、４番目のDFF３８（３）に入力される。同様に、EXOR回路４０ｂには、４番目および１６番目のDFF３８（３，１５）の出力が入力され、EXOR回路４０ｂの出力信号は、５番目のDFF３８（４）に入力される。EXOR回路４０ｃには、５番目および１６番目のDFF３８（４，１５）の出力が入力され、EXOR回路４０ｃの出力信号は、６番目のDFF３８（５）に入力される。
【００６０】
生成多項式G(X)=X16+X5+X4+X3+1は、図２に示すように、１６番目（X16）のDFF３８（１５）の出力信号が、５番目（X5）、４番目（X4）、および３番目（X3）のDFF３８（４，３，２）の後段に各々配置されたEXOR回路４０ｃ、４０ｂ、４０ａと、１番目（1）のDFF３８（０）と、にフィードバックされることを意味する。
【００６１】
８個のEXOR回路３６には、それぞれ、パラレルデータD[7:0]の各ビットのデータおよびスクランブルコードLFSR[8:15]の各ビットのデータが入力され、８個のEXOR回路３６からは、パラレルデータH〜Aが出力される。
８個のEXOR回路３６は、それぞれ、パラレルデータD[7:0]の各ビットと、スクランブルコード[8:15]の各ビットと、の排他的論理和をとることにより、パラレルデータD[7:0]にスクランブルをかけて乱数化したパラレルデータH〜Aを出力する。
【００６２】
スクランブル回路３２は、D/Kデータの信号線を備えている。D/Kデータは、DデータまたはKデータを表す。D/KデータがDデータの場合、８個のEXOR回路３６はイネーブル（Enable）であり、パラレルデータD[7:0]にスクランブルがかけられ、パラレルデータH〜Aとして出力される。一方、D/KデータがKデータの場合、８個のEXOR回路３６はディスエーブル（Disable）であり、パラレルデータD[7:0]にはスクランブルがかけられず、そのままパラレルデータH〜Aとして出力される。
【００６３】
例えば、シンボルデータがSYNL, SYNH, BS, BE, BE_SRの場合、D/KデータはKデータとなり、スクランブルがかけられない。一方、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータ、コントロール信号CTLの場合、D/KデータはDデータとなり、スクランブルがかけられる。
【００６４】
図３は、受信側装置のデスクランブル回路の構成を表す一実施形態の回路概念図である。
図３に示すデスクランブル回路１４は、LFSR２０と、８個のEXOR回路２２と、を備えている。
デスクランブル回路１４は、スクランブル回路３２において、パラレルデータD[7:0]と、パラレルデータH〜Aと、が入れ替えられた構成のものである。
【００６５】
つまり、８個のEXOR回路２２には、それぞれ、パラレルデータH〜Aの各ビットのデータおよびデスクランブルコードLFSR[8:15]の各ビットのデータが入力され、８個のEXOR回路２２からは、パラレルデータD[7:0]が出力される。
８個のEXOR回路２２は、それぞれ、パラレルデータH〜Aの各ビットと、デスクランブルコードLFSR[8:15]の各ビットと、の排他的論理和をとることにより、パラレルデータH〜AをデスクランブルしたパラレルデータD[7:0]を出力する。
【００６６】
次に、データ検出回路１６について説明する。
【００６７】
図４は、データ検出回路の構成を表す一実施形態の回路概念図である。
図４に示すデータ検出回路１６は、VSYNC/HSYNC位置検出回路２４と、VSYNC/HSYNCコードチェック回路２６と、を備えている。また、図４においては、データイネーブル生成回路４２および同期信号出力回路４４も示されている。
【００６８】
VSYNC/HSYNC位置検出回路２４は、各々８個のDFFからなる５組のDFF４６と、シンボルカウンタ４８と、各々８個のDFFからなる５組のマルチプレクサ５０と、各々８個のDFFからなる５組のDFF５２および５組のDFF５４と、を備えている。５バイトモードのため、５組備えており、後述するようにバイトモード信号により選択される。以降、５バイトモードの場合で説明する。
【００６９】
５組のDFF４６は直列に接続されている。その初段の８個のDFF４６には、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]が入力される。５組のDFF４６からは、それぞれ、シンボルデータDATA_OUT1[39:32], DATA_OUT1[31:24], DATA_OUT1[23:16], DATA_OUT1[15:8], DATA_OUT1[7:0]が出力される。シンボルデータDATA_OUT1[39:32], DATA_OUT1[31:24], DATA_OUT1[23:16], DATA_OUT1[15:8], DATA_OUT1[7:0]は、それぞれ、５バイトモードのシンボルデータ列の５〜１番目のシンボルデータである。
【００７０】
シンボルカウンタ４８には、バイトモード信号Byte Modeが入力され、シンボルカウンタ４８からは、ロード信号LOADが出力される。
【００７１】
５組のマルチプレクサ５０の入力端子A1には、それぞれ、シンボルデータDATA_OUT1[39:32], DATA_OUT1[31:24], DATA_OUT1[23:16], DATA_OUT1[15:8], DATA_OUT1[7:0]が入力され、入力端子A0には、それぞれ、後述するシンボルデータDATA_OUT3[39:32], DATA_OUT3[31:24], DATA_OUT3[23:16], DATA_OUT3[15:8], DATA_OUT3[7:0]が入力され、選択入力端子Sには、ロード信号LOADが共通に入力される。５組のマルチプレクサ５０からは、それぞれ、シンボルデータDATA_OUT2[39:32], DATA_OUT2[31:24], DATA_OUT2[23:16], DATA_OUT2[15:8], DATA_OUT2[7:0]が出力される。
【００７２】
５組のDFF５２には、それぞれ、シンボルデータDATA_OUT2[39:32], DATA_OUT2[31:24], DATA_OUT2[23:16], DATA_OUT2[15:8], DATA_OUT2[7:0]が入力され、５組のDFF５２からは、それぞれ、シンボルデータDATA_OUT3[39:32], DATA_OUT3[31:24], DATA_OUT3[23:16], DATA_OUT3[15:8], DATA_OUT3[7:0]が出力される。
【００７３】
５組のDFF５４には、それぞれ、シンボルデータDATA_OUT3[39:32], DATA_OUT3[31:24], DATA_OUT3[23:16], DATA_OUT3[15:8], DATA_OUT3[7:0]が入力され、５組のDFF５４からは、それぞれ、シンボルデータDATA_OUT4[39:32], DATA_OUT4[31:24], DATA_OUT4[23:16], DATA_OUT4[15:8], DATA_OUT4[7:0]が出力される。シンボルデータ列DATA_OUT4[39:0]は、VSYNC/HSYNC位置検出回路２４からシンボルデータ列DATA_OUT4[39:0]として出力される。
【００７４】
図示省略しているが、DFF４６、シンボルカウンタ４８、DFF５２、DFF54、後述するDFF６４、RSFF６６、DFF６８ａ、６８ｂには、リンククロックLINK_CLKが入力される。リンククロックLINK_CLKは、図６に示すように、パラレルデータ（シンボルデータ）を処理するためのクロックである。
【００７５】
VSYNC/HSYNC位置検出回路２４において、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]は、５組のDFF４６により、リンククロックLINK_CLKに同期して、順次後段のDFF４６へシフトされる。
【００７６】
シンボルカウンタ４８は、バイトモード信号Byte Modeに対応するバイトモードのバイト数分だけ、リンククロックLINK_CLKをカウントする毎に、ロード信号LOADとして、Hレベルを出力する。例えば、３バイトモードの場合、シンボルカウンタ４８は、３クロック分のリンククロックLINK_CLKをカウントする毎に、ロード信号LOADとして、Hレベルを出力する。
【００７７】
ロード信号LOADがLレベルの場合、５組のマルチプレクサ５０からは、シンボルデータ列DATA_OUT2[39:0]として、シンボルデータ列DATA_OUT3[39:0]が出力される。つまり、シンボルデータ列DATA_OUT2[39:0]のコードは変化しない。ロード信号LOADがHレベルになると、５組のマルチプレクサ５０からは、シンボルデータ列DATA_OUT2[39:0]として、シンボルデータ列DATA_OUT1[39:0]が出力される。つまり、次のシンボルデータ列のコードが出力される。これにより、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]をFSBS, FSBP, FSBEのシンボルデータ列毎に分けている。
【００７８】
シンボルデータ列DATA_OUT2[39:0]は、５組のDFF５２により、リンククロックLINK_CLKに同期して保持され、シンボルデータ列DATA_OUT3[39:0]として出力される。続いて、シンボルデータ列DATA_OUT3[39:0]は、５組のDFF５４により、リンククロックLINK_CLKに同期して保持され、シンボルデータ列DATA_OUT4[39:0]として出力される。
【００７９】
続いて、VSYNC/HSYNCコードチェック回路２６は、垂直同期チェック回路５６と、水平同期チェック回路５８と、AND回路６０と、を備えている。
【００８０】
垂直同期チェック回路５６には、シンボルデータDATA_OUT4[7:0]、つまり、垂直同期信号VSYNCのシンボルデータが入力され、垂直同期チェック回路５６からは、垂直同期信号VSYNCのチェック結果信号が出力される。
【００８１】
垂直同期チェック回路５６は、垂直同期信号VSYNCのシンボルデータのコードが、期待値EXP[7:0]＝8'h00または8'hFFと等しいのか否かをチェックする。
そのチェック結果信号として、期待値EXP[7:0]＝8'h00または8'hFFと等しい場合、つまり、垂直同期信号VSYNCのシンボルデータのコードが正しい場合、Lレベルを出力する。一方、期待値EXP[7:0]＝8'h00または8'hFFと等しくない場合、つまり、垂直同期信号VSYNCのシンボルデータのコードが間違っている場合、デスクランブルコードLFSR[8:15]を補正する時に、パラレルデータDATA_IN[7:0]をそのまま使用する場合は、Lレベルを出力し、反転して使用する場合は、Hレベルを出力する。
【００８２】
水平同期チェック回路５８には、シンボルデータDATA_OUT4[15:8]、つまり、水平同期信号HSYNCのシンボルデータが入力され、水平同期チェック回路５８からは、水平同期信号HSYNCのチェック結果信号が出力される。
【００８３】
水平同期チェック回路５８は、水平同期信号HSYNCのシンボルデータのコードが、期待値EXP[7:0]＝8'h00または8'hFFと等しいのか否かをチェックする。
そのチェック結果信号として、期待値EXP[7:0]＝8'h00または8'hFFと等しい場合、つまり、水平同期信号HSYNCのシンボルデータのコードが正しい場合、Lレベルを出力する。一方、期待値EXP[7:0]＝8'h00または8'hFFと等しくない場合、つまり、水平同期信号HSYNCのシンボルデータのコードが間違っている場合、デスクランブルコードLFSR[8:15]を補正する時に、パラレルデータDATA_IN[7:0]をそのまま使用する場合は、Lレベルを出力し、反転して使用する場合は、Hレベルを出力する。
【００８４】
AND回路６０には、垂直同期信号VSYNCのチェック結果信号、水平同期信号HSYNCのチェック結果信号、およびデータイネーブル信号DEの反転信号が入力される。AND回路６０からは、同期信号のチェック結果信号Check_resultが出力される。
【００８５】
AND回路６０からは、データイネーブル信号DEがHレベルの場合、つまり、表示期間中において、同期信号のチェック結果信号Check_resultとして、Lレベルが出力される。
【００８６】
また、データイネーブル信号DEがLレベル、つまり、ブランキング期間中において、垂直同期信号VSYNCおよび水平同期信号HSYNCのいずれかのチェック結果信号がLレベルの場合、AND回路６０からは、同期信号のチェック結果信号Check_resultとして、Lレベルが出力される。一方、垂直同期信号VSYNCおよび水平同期信号HSYNCのチェック結果信号がともにHレベルの場合、AND回路６０からは、同期信号のチェック結果信号Check_resultとして、Hレベルが出力される。
【００８７】
同期信号のチェック結果信号Check_resultとして、Lレベルが出力された場合、デスクランブルコードLFSR[8:15]を補正する時に、コード算出回路１８のEXOR回路２８によりパラレルデータDATA_IN[7:0]は反転されず、そのまま使用される。一方、同期信号のチェック結果信号Check_resultとして、Hレベルが出力された場合、デスクランブルコードLFSR[8:15]を補正する時に、EXOR回路２８によりパラレルデータDATA_IN[7:0]が反転されて使用される。
【００８８】
続いて、データイネーブル生成回路４２は、データイネーブル信号DEを生成する。
【００８９】
データイネーブル生成回路４２は、各々８個のコンパレータからなる２組のコンパレータ６２ａ、６２ｂと、８個のDFFからなるDFF６４と、８個のRSFFからなるRSFF（Reset Set FF：リセット・セット・フリップフロップ）６６と、を備えている。
【００９０】
コンパレータ６２ａの入力端子Aには、３番目のシンボルデータDATA_OUT3[23:16]が入力され、入力端子Bには、シンボルデータBEが入力される。コンパレータ６２ａからは、シンボルデータBEの比較結果信号が出力される。
コンパレータ６２ａは、シンボルデータDATA_OUT3[23:16]と、シンボルデータBEと、を比較し、両者が一致する場合に、シンボルデータBEの比較結果信号として、Hレベルを出力する。
【００９１】
コンパレータ６２ｂの入力端子Aには、同様にシンボルデータDATA_OUT3[23:16]が入力され、入力端子Bには、シンボルデータBSが入力される。コンパレータからは、シンボルデータBSの比較結果信号が出力される。
コンパレータ６２ｂは、シンボルデータDATA_OUT3[23:16]と、シンボルデータBSと、を比較し、両者が一致する場合に、シンボルデータBSの比較結果信号として、Hレベルを出力する。
【００９２】
DFF６４には、シンボルデータBSの比較結果信号が入力され、DFF６４からは、シンボルデータBSの比較結果信号の遅延信号が出力される。
シンボルデータBSの比較結果信号は、DFF６４により、リンククロックLIKN_CLKに同期して保持され、シンボルデータBSの比較結果信号が１クロック分のリンククロックLINK_CLKの時間だけ遅延された遅延信号が出力される。
【００９３】
RSFF６６の入力端子Sには、シンボルデータBEの比較結果信号が入力され、入力端子Rには、シンボルデータBSの比較結果信号の遅延信号が入力される。RSFF６６からは、データイネーブル信号DEが出力される。
RSFF６６により、データイネーブル信号DEは、シンボルデータBEの比較結果信号がHレベルになるとセットされてHレベルになり、シンボルデータBSの比較結果信号の遅延信号がHレベルになるとリセットされてLレベルになる。
【００９４】
続いて、同期信号出力回路４４は、垂直同期信号VSYNCおよび水平同期信号HSYNCを出力する。
【００９５】
同期信号出力回路４４は、各々８個のDFFからなる２組のDFF６８ａ、６８ｂを備えている。
【００９６】
２組のDFF６８ａ、６８ｂには、それぞれ、１番目および２番目のシンボルデータDATA_OUT3[7:0], [15:8]が入力され、２組のDFF６８ａ、６８ｂからは、それぞれ、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータが出力される。
シンボルデータDATA_OUT3[7:0], [15:8]は、２組のDFF６８ａ、６８ｂにより、それぞれ、リンククロックLINK_CLKに同期して保持され、垂直同期信号VSYNCのシンボルデータおよび水平同期信号HSYNCのシンボルデータとして出力される。
【００９７】
次に、コード算出回路１８による第０デスクランブルコードの算出方法について説明する。
【００９８】
V-By-Oneの規格では、前述のように、ブランキング期間において、FSBPのシンボルデータ列の１番目および２番目のシンボルデータとして、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードが送信される。垂直同期信号VSYNCがLレベルおよびHレベルの場合、垂直同期信号VSYNCのシンボルデータのコードとして、それぞれ、8'h00および8'hFFが送信される。水平同期信号HSYNCの場合も同じである。
【００９９】
従って、送信側装置のLFSR３４と受信側装置のLFSR２０との間の同期がずれた場合、ブランキング期間において、デスクランブルされた垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードは、8'h00または8'hFFではないコードになる。
【０１００】
また、送信側装置から受信側装置に対して、パラレルデータDATA[7:0]の各ビットと、スクランブルコード[8:15]の各ビットとの排他的論理和をとることにより、スクランブルがかけられたパラレルデータDATA[7:0]が送信される。
【０１０１】
従って、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードとして、例えば8'h00が送信される場合、パラレルデータDATA[7:0]＝8'h00とスクランブルコードLFSR[8:15]との排他的論理和がとられるため、スクランブルがかけられたパラレルデータDATA[7:0]のコードは、スクランブルコードLFSR[8:15]そのままのコードになる。
【０１０２】
一方、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードとして、8'hFFが送信される場合、スクランブルがかけられたパラレルデータDATA[7:0]のコードは、スクランブルコードLFSR[8:15]の各ビットが反転されたコードになる。
【０１０３】
なお、実際には、スクランブルがけかられたパラレルデータDATA[7:0]は、送信側装置において8B10Bエンコードされ、受信側装置において8B10Bデコードされた後、デスクランブルされる。
【０１０４】
ここで、垂直同期信号VSYNCのシンボルデータDATA1[7:0]をデスクランブルして復元するためのデスクランブルコードLFSR[15:0]を第１デスクランブルコードLFSR1[15:0]、水平同期信号HSYNCのシンボルデータDATA2[7:0]をデスクランブルして復元するためのデスクランブルコードLFSR[15:0]を第２デスクランブルコードLFSR2[15:0]、デスクランブルコードLFSR1[15:0]よりも時間的に１つ前のデスクランブルコードLFSR[15:0]を第０デスクランブルコードLFSR0[15:0]とすると、LFSR２０の生成多項式に基づいて、第１デスクランブルコードLFSR1[15:0], 及び第２デスクランブルコードLFSR2[15:0]は、第０デスクランブルコードLFSR0[15:0]を用いて下記式により表される。
【０１０５】
LFSR1[15] = LFSR0[7]
LFSR1[14] = LFSR0[6]
LFSR1[13] = LFSR0[5]
LFSR1[12] = LFSR0[4]^LFSR0[15]
LFSR1[11] = LFSR0[3]^LFSR0[15]^LFSR0[14]
LFSR1[10] = LFSR0[2]^LFSR0[15]^LFSR0[14]^LFSR0[13]
LFSR1[9] = LFSR0[1]^LFSR0[14]^LFSR0[13]^LFSR0[12]
LFSR1[8] = LFSR0[0]^LFSR0[13]^LFSR0[12]^LFSR0[11]
LFSR1[7] = LFSR0[15]^LFSR0[12]^LFSR0[11]^LFSR0[10]
LFSR1[6] = LFSR0[14]^LFSR0[11]^LFSR0[10]^LFSR0[9]
LFSR1[5] = LFSR0[13]^LFSR0[10]^LFSR0[9]^LFSR0[8]
LFSR1[4] = LFSR0[12]^LFSR0[9]^LFSR0[8]
LFSR1[3] = LFSR0[11]^LFSR0[8]
LFSR1[2] = LFSR0[10]
LFSR1[1] = LFSR0[9]
LFSR1[0] = LFSR0[8]
【０１０６】
LFSR2[15] = LFSR0[10]^LFSR0[11]^LFSR0[12]^LFSR0[15]
LFSR2[14] = LFSR0[10]^LFSR0[11]^LFSR0[14]^LFSR0[9]
LFSR2[13] = LFSR0[10]^LFSR0[13]^LFSR0[8]^LFSR0[9]
LFSR2[12] = LFSR0[12]^LFSR0[7]^LFSR0[8]^LFSR0[9]
LFSR2[11] = LFSR0[11]^LFSR0[6]^LFSR0[7]^LFSR0[8]
LFSR2[10] = LFSR0[10]^LFSR0[5]^LFSR0[6]^LFSR0[7]
LFSR2[9] = LFSR0[15]^LFSR0[4]^LFSR0[5]^LFSR0[6]^LFSR0[9]
LFSR2[8] = LFSR0[14]^LFSR0[3]^LFSR0[4]^LFSR0[5]^LFSR0[8]
LFSR2[7] = LFSR0[13]^LFSR0[15]^LFSR0[2]^LFSR0[3]^LFSR0[4]^LFSR0[7]
LFSR2[6] = LFSR0[12]^LFSR0[14]^LFSR0[1]^LFSR0[2]^LFSR0[3]^LFSR0[6]
LFSR2[5] = LFSR0[0]^LFSR0[11]^LFSR0[13]^LFSR0[15]^LFSR0[1]^LFSR0[2]^LFSR0[5]
LFSR2[4] = LFSR0[0]^LFSR0[11]^LFSR0[14]^LFSR0[15]^LFSR0[1]^LFSR0[4]
LFSR2[3] = LFSR0[0]^LFSR0[11]^LFSR0[12]^LFSR0[13]^LFSR0[14]^LFSR0[15]^LFSR0[3]
LFSR2[2] = LFSR0[13]^LFSR0[14]^LFSR0[15]^LFSR0[2]
LFSR2[1] = LFSR0[12]^LFSR0[13]^LFSR0[14]^LFSR0[1]
LFSR2[0] = LFSR0[0]^LFSR0[11]^LFSR0[12]^LFSR0[13]
「＾」は排他的論理和を表す。
【０１０７】
垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードとして、例えば8'h00が送信される場合、垂直同期信号VSYNCのシンボルデータDATA1[7:0]＝第１デスクランブルコードLFSR1[8:15]となり、水平同期信号HSYNCのシンボルデータDATA2[7:0]＝第２デスクランブルコードLFSR2[8:15]となる。従って、垂直同期信号VSYNCのシンボルデータDATA1[7:0]および水平同期信号HSYNCのシンボルデータDATA2[7:0]から、下記式に示すように、第０デスクランブルコードLFSR0[15:0]を導き出すことができる。
【０１０８】
LFSR0[0] = D1[0]^D1[3]^D1[4]^D1[7]^D2[2]^D2[3]^D2[4]^D2[5]^D2[7]
LFSR0[1] = D1[4]^D1[6]^D2[1]^D2[2]^D2[3]^D2[4]^D2[6]^D2[7]
LFSR0[2] = D1[3]^D1[5]^D2[0]^D2[1]^D2[2]^D2[3]^D2[5]^D2[6]
LFSR0[3] = D1[0]^D1[2]^D1[3]^D2[0]^D2[1]^D2[3]^D2[7]
LFSR0[4] = D1[0]^D1[1]^D2[0]^D2[3]^D2[4]^D2[5]^D2[6]
LFSR0[5] = D1[2]
LFSR0[6] = D1[1]
LFSR0[7] = D1[0]
LFSR0[8] = D1[2]^D1[3]^D1[4]^D2[7]
LFSR0[9] = D1[1]^D1[2]^D1[3]^D2[6]
LFSR0[10] = D1[0]^D1[1]^D1[2]^D2[5]
LFSR0[11] = D1[0]^D1[1]^D1[2]^D1[3]^D1[4]^D2[4]^D2[7]
LFSR0[12] = D1[0]^D1[1]^D1[4]^D2[3]^D2[6]^D2[7]
LFSR0[13] = D1[0]^D1[2]^D1[4]^D2[2]^D2[5]^D2[6]^D2[7]
LFSR0[14] = D1[1]^D1[2]^D1[4]^D2[1]^D2[4]^D2[5]^D2[6]^D2[7]
LFSR0[15] = D1[0]^D1[1]^D1[3]^D2[0]^D2[3]^D2[4]^D2[5]^D2[6]
D1, D2は、それぞれ、DATA1, DATA2を表す。
【０１０９】
このように、FSBPのシンボルデータ列の、垂直同期信号VSYNCのシンボルデータDATA1[7:0]および水平同期信号HSYNCのシンボルデータDATA2[7:0]から第０デスクランブルコードLFSR0[15:0]の正常なコードを導き出すことができるので、デスクランブルされた垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードが、期待値EXP[7:0]＝8'h00または8'hFFと一致しない場合、上記のように逆算した第０デスクランブルコードLFSR0[15:0]を算出して、デスクランブルコードLFSR[15:0]を補正することができる。
【０１１０】
例えば、第１デスクランブルコードLFSR1[15:0], 第２デスクランブルコードLFSR2[15:0]よりも時間的に１つ後のデスクランブルコードLFSR[15:0]を第３デスクランブルコードLFSR3[15:0]とすると、第３デスクランブルコードLFSR3[15:0]は、LFSR２０の生成多項式に基づいて、下記式に示すように、第０デスクランブルコードLFSR0[15:0]から計算することができる。第３デスクランブルコードLFSR3[15:0]以降の第４デスクランブルコードLFSR4[15:0], 第５デスクランブルコードLFSR5[15:0], …も自動的に補正される。
【０１１１】
LFSR3[0] = LFSR0[14]^LFSR0[3]^LFSR0[4]^LFSR0[5]
LFSR3[1] = LFSR0[15]^LFSR0[4]^LFSR0[5]^LFSR0[6]
LFSR3[2] = LFSR0[5]^LFSR0[6]^LFSR0[7]
LFSR3[3] = LFSR0[14]^LFSR0[3]^LFSR0[4]^LFSR0[5]^LFSR0[6]^LFSR0[7]
LFSR3[4] = LFSR0[14]^LFSR0[15]^LFSR0[3]^LFSR0[6]^LFSR0[7]
LFSR3[5] = LFSR0[14]^LFSR0[15]^LFSR0[3]^LFSR0[5]^LFSR0[7]
LFSR3[6] = LFSR0[15]^LFSR0[4]^LFSR0[6]^LFSR0[8]
LFSR3[7] = LFSR0[5]^LFSR0[7]^LFSR0[9]
LFSR3[8] = LFSR0[10]^LFSR0[6]^LFSR0[8]
LFSR3[9] = LFSR0[11]^LFSR0[7]^LFSR0[9]
LFSR3[10] = LFSR0[10]^LFSR0[12]^LFSR0[8]
LFSR3[11] = LFSR0[0]^LFSR0[11]^LFSR0[13]^LFSR0[9]
LFSR3[12] = LFSR0[0]^LFSR0[10]^LFSR0[12]^LFSR0[14]^LFSR0[1]
LFSR3[13] = LFSR0[0]^LFSR0[11]^LFSR0[13]^LFSR0[15]^LFSR0[1]^LFSR0[2]
LFSR3[14] = LFSR0[12]^LFSR0[14]^LFSR0[1]^LFSR0[2]^LFSR0[3]
LFSR3[15] = LFSR0[13]^LFSR0[15]^LFSR0[2]^LFSR0[3]^LFSR0[4]
【０１１２】
前述のように、第０デスクランブルコードLFSR0[15:0]は、FSBPのシンボルデータ列の垂直同期信号VSYNCのシンボルデータDATA1[7:0]および水平同期信号HSYNCのシンボルデータDATA2[7:0]から導き出されるので、第３デスクランブルコードLFSR3[15:0]は、下記式により計算することができる。
【０１１３】
LFSR3[15] = D1[0]^D1[3]^D1[4]^D1[5]
LFSR3[14] = D1[1]^D1[4]^D1[5]^D1[6]
LFSR3[13] = D1[2]^D1[5]^D1[6]^D1[7]
LFSR3[12] = D1[3]^D1[6]^D1[7]^D2[0]
LFSR3[11] = D1[4]^D1[7]^D2[0]^D2[1]
LFSR3[10] = D1[5]^D2[0]^D2[1]^D2[2]
LFSR3[9] = D1[6]^D2[1]^D2[2]^D2[3]
LFSR3[8] = D1[7]^D2[2]^D2[3]^D2[4]
LFSR3[7] = D2[0]^D2[3]^D2[4]^D2[5]
LFSR3[6] = D2[1]^D2[4]^D2[5]^D2[6]
LFSR3[5] = D2[2]^D2[5]^D2[6]^D2[7]
LFSR3[4] = D2[3]^D2[6]^D2[7]
LFSR3[3] = D2[4]^D2[7]
LFSR3[2] = D2[5]
LFSR3[1] = D2[6]
LFSR3[0] = D2[7]
【０１１４】
ところで、送信側装置のLFSR３４と受信側装置のLFSR２０との間の同期がずれた場合、ブランキング期間において、デスクランブルされたFSBPのシンボルデータ列の、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードは、8'h00または8'hFFではないコードになるが、スクランブルされる前の垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードの期待値[7:0]として、8'h00なのか8'hFFなのかは受信側装置においては判断できない。
【０１１５】
スクランブルがかけられる前の垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードが、8'h00の場合、スクランブルがかけられたパラレルデータDATA_IN[7:0]をそのまま使用し、8'hFFの場合、パラレルデータDATA_IN[7:0]を反転して使用して第０デスクランブルコードLFSR0[15:0]を計算する必要がある。デスクランブルコードLFSR[8:15]を補正する時に、パラレルデータをそのまま使用するか、反転して使用するかの判定方法として、以下の方法１〜３が考えられる。
【０１１６】
（方法１）
直前のFSBSのシンボルデータ列、つまり、FSBPの複数のシンボルデータ列よりも時間的に前の同じラインのFSBSのシンボルデータ列に含まれる、垂直同期信号VSYNCの極性を表すシンボルデータのコードが、SYNLおよびSYNHの場合に、それぞれ、垂直同期信号VSYNCのシンボルデータのコードが、8'h00および8'hFFであり、かつ、水平同期信号HSYNCの極性を表すシンボルデータのコードが、SYNLおよびSYNHの場合に、それぞれ、水平同期信号HSYNCのシンボルデータのコードが、8'h00および8'hFFであると推定して第０デスクランブルコードLFSR0[15:0]を算出する。
【０１１７】
この場合、第１デスクランブルコードLFSR1[15:0], 第２デスクランブルコードLFSR2[15:0], …を用いてデスクランブルして復元されたスクランブルがかけられる前のパラレルデータDATA_OUT[7:0]のコードが、8'h00または8'hFFにならない場合に、水平同期信号HSYNCのシンボルデータのコードおよび垂直同期信号VSYNCのシンボルデータのコードの順に、8'h00と8'hFFとを入れ替えて第１デスクランブルコードLFSR1[15:0], 第２デスクランブルコードLFSR2[15:0], …を算出し直すことを、第１デスクランブルコードLFSR1[15:0], 第２デスクランブルコードLFSR2[15:0], …を用いてデスクランブルされて復元されたスクランブルがかけられる前のパラレルデータDATA_OUT[7:0]のコードが、8'h00または8'hFFになるまで繰り返すことにより、正しい第０デスクランブルコードLFSR0[15:0]から第３デスクランブルコードLFSR3[15:0], …を算出することができる。
【０１１８】
（方法２）
前のラインのFSBEのシンボルデータ列、つまり、FSBPの複数のシンボルデータ列よりも時間的に１ライン前のFSBEのシンボルデータ列の垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードを保持するコード保持回路を備えておき、垂直同期信号VSYNCのシンボルデータのコードおよび水平同期信号HSYNCのシンボルデータのコードが、それぞれ、コード保持回路に保持された垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードと同じであると推定して第０デスクランブルコードLFSR0[15:0]を算出する。
【０１１９】
この場合、例えば１つ前のラインにおいて、FSBEのシンボルデータの垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードをコード保持回路に保持しておく。垂直同期信号VSYNCおよび水平同期信号HSYNCの時間的な位置がライン毎に変わることはないため、１つ前のラインにおいて保持されたFSBEのシンボルデータの垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードを用いることにより、正しい第０デスクランブルコードLFSR0[15:0]を算出することができる。
【０１２０】
（方法３）
垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードが、8'h00および8'h00、8'h00および8'hFF、8'hFFおよび8'h00、または、8'hFFおよび8'hFFであると推定して４つの第０デスクランブルコードLFSR0[15:0]を算出し、４つの第０デスクランブルコードLFSR0[15:0]に対応する４つの第３デスクランブルコードLFSR3[15:0]を用いてデスクランブルして復元された４つのスクランブルがかけられる前のパラレルデータのコードのうち、8'h00または8'hFFとなるスクランブルがかけられる前のパラレルデータに対応する第０デスクランブルコードLFSR0[15:0]を使用する。
【０１２１】
この場合、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードの全ての組み合わせを実施することにより、正しい第０デスクランブルコードLFSR0[15:0]を確実に算出することができる。
【０１２２】
次に、図５および図６に示すタイミングチャートと、図７に示すフローチャートと、を参照して、スクランブル補正回路１０の動作を説明する。
【０１２３】
図５は、スクランブル補正回路の動作を表す一実施形態のタイミングチャートである。図５は、ブランキング期間におけるスクランブル補正回路の動作を表す。垂直同期信号VSYNCおよび水平同期信号HSYNCは、それぞれ、垂直ブランキング期間および水平ブランキング期間にLレベルとなり、それ以外の期間はHレベルとなる。パラレルデータEXP[7:0]は、パラレルデータDATA_OUT[7:0]の期待値である。期待値は、8'h00および8'hFFであり、どちらか一方と一致した場合、期待値と一致したものとする。
【０１２４】
図６は、図５のタイミングチャートにおけるパラレルデータDATA_IN[7:0]＝D1, D2の付近の拡大図である。
【０１２５】
まず、BE_SR検出回路１２により、パラレルデータDATA_IN[7:0]が、シンボルデータBE_SRのコードなのか否かが検出される（S1）。
【０１２６】
その結果、シンボルデータBE_SRのコードが検出された場合（ステップS2でyes）、LFSR２０は初期化され（S3）、送信側装置のLFSR３４と受信側装置のLFSR20との間の同期がとられる。その後、ステップS1へ戻る。
【０１２７】
一方、シンボルデータBE_SRのコードが検出されない場合（ステップS2でno）、続いて、シンボルデータ列がFSBSのシンボルデータ列なのか否かが検出される（S4）。
【０１２８】
その結果、シンボルデータ列がFSBSのシンボルデータ列ではない場合（ステップS5でno）、ステップS4へ戻る。
【０１２９】
一方、シンボルデータ列がFSBSのシンボルデータ列である場合（ステップS5でyes）、デスクランブル回路１４により、図５，図６に示すように、LFSR２０により算出される第１デスクランブルコードLFSR1[8:15]を用いて、パラレルデータDATA_IN[7:0]＝D1、つまり、垂直同期信号VSYNCのシンボルデータがデスクランブルされて、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]＝DD1に復元される（S6）。
【０１３０】
図示省略しているが、図５のタイミングチャートにおいて、パラレルデータDATA_IN[7:0]＝D1の、デスクランブルデータがパラレルデータDATA_OUT[7:0]＝DD1となり、パラレルデータDATA_OUT[7:0]＝DD1と、期待値EXP[7:0]を比較する。その他のパラレルデータDATA_IN[7:0]＝D2, D3, …についても同様である。
【０１３１】
続いて、データ検出回路１６により、パラレルデータDATA_IN[7:0]＝D1に対応する、パラレルデータDATA_OUT[7:0]＝DD1のコードが、図５，図６に示すように、パラレルデータDATA_OUT[7:0]＝DD1のコードと、期待値EXP[7:0]コードと、を比較することにより、期待値と一致するか否かが検出される（S7）。
【０１３２】
その結果、パラレルデータDATA_OUT[7:0]＝DD1、つまり、垂直同期信号VSYNCのシンボルデータのコードが、期待値と一致する場合（ステップS8でyes）、つまり、送信側装置のLFSR３４と受信側装置のLFSR２０との間の同期がとれている場合、続いて、デスクランブル回路１４により、補正されていない第４デスクランブルコードLFSR4[8:15], 第５デスクランブルコードLFSR5[15:0], …を用いて、パラレルデータDATA_IN[7:0]＝D4, D5, …、つまり、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルコードが順次デスクランブルされて、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]＝DD4, DD5, …に順次復元される（S15）。その後、ステップS1へ戻る。
【０１３３】
一方、パラレルデータDATA_OUT[7:0]＝DD1のコードが、期待値と一致しない場合（ステップS8でno）、続いて、デスクランブル回路１４により、LFSR２０により算出される第２デスクランブルコードLFSR2[8:15]を用いて、パラレルデータDATA_IN[7:0]＝D2、つまり、水平同期信号HSYNCのシンボルデータがデスクランブルされて、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]＝DD2に復元される（S9）。
【０１３４】
続いて、データ検出回路１６により、パラレルデータDATA_IN[7:0]＝D2に対応するスクランブルがかけられる前のパラレルデータDATA_OUT[7:0]＝DD2のコードが、図５，図６に示すように、パラレルデータDATA_OUT[7:0]＝DD2のコードと、期待値EXP[7:0]のコードと、を比較することにより、期待値と一致するか否かが検出される（S10）。
【０１３５】
その結果、パラレルデータDATA_OUT[7:0]＝DD2、つまり、水平同期信号HSYNCのシンボルデータのコードが、期待値と一致する場合（ステップS11でyes）、同様にステップS15へ進む。
【０１３６】
一方、パラレルデータDATA_OUT[7:0]＝DD2のコードが、期待値と一致しない場合（ステップS11でno）、つまり、送信側装置のLFSR３４と受信側装置のLFSR２０との間の同期がずれている場合、続いて、コード算出回路１８により、図５，図６に示すように、生成多項式と、パラレルデータDATA_IN[7:0]＝D1, D2、つまり、スクランブルがかけられた垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータと、に基づいて、第０デスクランブルコードLFSR0[15:0]が算出される（S12）。
【０１３７】
続いて、図５，図６に示すように、デスクランブル回路１４により、第０デスクランブルコードLFSR0[15:0]を用いて、第３デスクランブルコードLFSR3[15:0]が補正される（S13）。これに応じて、LFSR２０により第３デスクランブルコードLFSR3[15:0]以降に計算される第４デスクランブルコードLFSR4[15:0], 第５デスクランブルコードLFSR5[15:0], …も自動的に順次補正される。
【０１３８】
続いて、デスクランブル回路１４により、図５に示すように、補正された第４デスクランブルコードLFSR4[8:15], 第５デスクランブルコードLFSR5[15:0], …を用いて、パラレルデータDATA_IN[7:0]＝D4, D5, …、つまり、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルコードが順次デスクランブルされて、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]＝DD4, DD5, …に順次復元される（S14）。その後、ステップS1へ戻る。
【０１３９】
次に、図８に示すタイミングチャートを参照して、方法１に従って、デスクランブルコードLFSR[15:0]を補正する場合のスクランブル補正回路１０の動作を説明する。
【０１４０】
図８は、スクランブル補正回路の動作を表す別の実施形態のフローチャートである。信号SYNCは、FSBSのシンボルデータ列に含まれる、垂直同期信号VSYNCおよび水平同期信号HSYNCの極性を表すシンボルデータの時間的な位置を示す信号である。また、信号SYNC_TRIGは、FSBPのシンボルデータ列に含まれる、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータの、１シンボルデータ列時間後の、時間的な位置を示す信号である。
【０１４１】
本実施形態の場合、図８に示すように、FSBSのシンボルデータ列に含まれる、垂直同期信号VSYNCおよび水平同期信号HSYNCの極性を表すシンボルデータのコードは、それぞれ、SYNLおよびSYNLである。
【０１４２】
この場合、まず、パラレルデータDATA_IN[7:0]＝D1, D2に対応するパラレルデータDATA_OUT[7:0]＝DD1, DD2、つまり、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードが、それぞれ、8'h00, 8'h00であるか否かがチェックされる。
【０１４３】
その結果、パラレルデータDATA_OUT[7:0]＝DD1, DD2のコードが、それぞれ、8'h00, 8'h00になっていれば、補正されていない第４デスクランブルコードLFSR4[15:0], 第５デスクランブルコードLFSR5[15:0], …を用いて、パラレルデータDATA_IN[7:0]＝D4, D5, …が順次デスクランブルされ、スクランブルがかけられる前のパラレルデータDATA_OUT[7:0]＝DD4, DD5, …、が順次復元される。
【０１４４】
一方、パラレルデータDATA_OUT[7:0]＝DD1, DD2のコードが、それぞれ、8'h00, 8'h00にならない場合、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータのコードが、それぞれ、8'h00, 8'h00であると推定して第０デスクランブルコードLFSR0[15:0]が算出される。
【０１４５】
続いて、デスクランブル回路１４により、第０デスクランブルコードLFSR0[15:0]を用いて、第３デスクランブルコードLFSR3[15:0], 第４デスクランブルコードLFSR4[15:0], 第５デスクランブルコードLFSR5[15:0]が順次補正され、デスクランブル回路１４により、補正された第４デスクランブルコードLFSR4[8:15], 第５デスクランブルコードLFSR5[8:15]を用いてスクランブルがかけられる前のパラレルデータDATA_OUT[7:0]＝DD4, DD5、が順次復元される。
【０１４６】
同様に、パラレルデータDATA_OUT[7:0]＝DD4, DD5のコードが、それぞれ、8'h00, 8'h00になっていれば、補正された第７デスクランブルコードLFSR7[8:15], 第８デスクランブルコードLFSR8[8:15], …を用いて、パラレルデータDATA_OUT[7:0]＝DD7, DD8, …が順次復元される。
【０１４７】
一方、パラレルデータDATA_OUT[7:0]＝DD4, DD5のコードが、それぞれ、8'h00, 8'h00にならない場合、続いて、水平同期信号HSYNCのシンボルデータのコードとして、8'h00と8'hFFとを入れ替えて、つまり、水平同期信号HSYNCのシンボルデータのコードを、8'h00から8'hFFに変更して第３デスクランブルコードLFSR3[15:0]の算出がやり直され、第６デスクランブルコードLFSR6[15:0], 第７デスクランブルコードLFSR7[15:0], 第８デスクランブルコードLFSR8[7:0]が順次補正される。
【０１４８】
以下同様にして、パラレルデータDATA_OUT[7:0]＝DD7, DD8のコードが、それぞれ、8'h00, 8'h00になっていれば、補正された第１０デスクランブルコードLFSR10[8:15], 第１１デスクランブルコードLFSR11[8:15], …を用いて、パラレルデータDATA_OUT[7:0]＝DD10, DD11, …が順次復元される。
【０１４９】
一方、パラレルデータDATA_OUT[7:0]＝DD7, DD8のコードが、それぞれ、8'h00, 8'h00にならない場合、続いて、垂直同期信号VSYNCのシンボルデータのコードを、8'h00から8'hFFに変更し、かつ、水平同期信号HSYNCのシンボルデータのコードを、8'hFFから8'h00に変更して第６デスクランブルコードLFSR6[15:0]の算出がやり直され、第９デスクランブルコードLFSR9[15:0], 第１０デスクランブルコードLFSR10[15:0], 第１１デスクランブルコードLFSR11[15:0]が順次補正される。
【０１５０】
図８では省略しているが、パラレルデータDATA_OUT[7:0]＝DD10, DD11のコードは、それぞれ、8'h00, 8'h00になる。これ以降は、補正された第１０デスクランブルコードLFSR10[8:15], 第１１デスクランブルコードLFSR11[8:15], …を用いて、パラレルデータDATA_OUT[7:0]＝DD10, DD11, …が順次復元される。
【０１５１】
スクランブル補正回路１０においては、図９に示すように、例えばフレームの最初にシンボルデータBE_SRが送受信された後、送信側装置のLFSRと受信側装置のLFSRとの間の同期がずれた場合であっても、FSBSのシンボルデータ列の直後にデスクランブルコードLFSR[8:15]の補正を実施するため、次のシンボルデータBE_SRの送受信を待つことなく、次のラインにおいて即座に正常状態に復帰させることができる。
【０１５２】
なお、上記実施形態の場合、第０デスクランブルコードLFSR0[15:0]を算出しているが、第０デスクランブルコードLFSR0[15:0]よりもさらに時間的に前のデスクランブルコードを算出してもよい。また、第３デスクランブルコードLFSR3[15:0]を補正しているが、第３デスクランブルコードLFSR3[15:0]よりもさらに時間的に後のデスクランブルコードを補正してもよい。
【０１５３】
本発明は、V-By-One等の画像データの高速シリアル通信の規格に限らず、生成多項式に対応する構成のLFSRを用いてパラレルデータをデスクランブルする受信側装置のデスクランブル回路において適用可能である。
【０１５４】
また、コントロール信号のシンボルデータを、垂直同期信号VSYNCおよび水平同期信号HSYNCのシンボルデータの代わりに使用してデスクランブルコードLFSR[15:0]を補正することができる。この場合、各々のFSBPのシンボルデータ列は、あらかじめコードが決められたコントロール信号のシンボルデータ列を含み、第１パラレルデータおよび第２パラレルデータは、コントロール信号のシンボルデータとなる。
【０１５５】
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【符号の説明】
【０１５６】
１０  スクランブル補正回路
１２  BE_SR検出回路
１４  デスクランブル回路
１６  データ検出回路
１８  コード算出回路
２０、３４  LFSR
２２、２８、３６、４０ａ、４０ｂ、４０ｃ  EXOR回路
２４  VSYNC/HSYNC位置検出回路
２６  VSYNC/HSYNCコードチェック回路
３０  逆LFSR
３２  スクランブル回路
３８（０〜１５）、４６、５２、５４、６４、６８ａ、６８ｂ  DFF
４２  データイネーブル生成回路
４４  同期信号出力回路
４８  シンボルカウンタ
５０  マルチプレクサ
５６  垂直同期チェック回路
５８  水平同期チェック回路
６０  AND回路
６２ａ、６２ｂ  コンパレータ
６６  RSFF
【図１】
2020048059.tif 000004
【図２】
2020048059.tif 000005
【図３】
2020048059.tif 000006
【図４】
2020048059.tif 000007
【図５】
2020048059.tif 000008
【図６】
2020048059.tif 000009
【図７】
2020048059.tif 000010
【図８】
2020048059.tif 000011
【図９】
2020048059.tif 000012
【図１０】
2020048059.tif 000013