(57)【要約】【課題】良好に信号を伝送し得る信号処理装置及び信号処理方法を提供する。【解決手段】複数の第１レーンと、第１の駆動手段によって駆動され、複数の第１レーンの各々に制御コードを含む信号を供給する第１送信手段と、複数の第１レーンのうち、制御コードが検出された第１レーンの数に基づく第１検出信号を生成する第１処理手段と、を備える第１のリンクと、複数の第２レーンと、第２の駆動手段によって駆動され、複数の第２レーンの各々に制御コードを含む信号を供給する第２送信手段と、複数の第２レーンのうち、制御コードが検出された第２レーンの数に基づく第２検出信号を生成する第２処理手段と、を備える第２のリンクと、第１検出信号および第２検出信号に基づいて、複数の第１レーンで伝送される複数の信号と、複数の第２レーンで伝送される複数の信号とのタイミングを調整する調整手段と、を備えている。【選択図】図１
2019036833.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１レーンと、
第１の駆動手段によって駆動され、前記複数の第１レーンの各々に制御コードを含む信号を供給する第１送信手段と、
前記複数の第１レーンのうち、前記制御コードが検出された前記第１レーンの数に基づく第１検出信号を生成する第１処理手段と、
を備える第１のリンクと、
複数の第２レーンと、
第２の駆動手段によって駆動され、前記複数の第２レーンの各々に制御コードを含む信号を供給する第２送信手段と、
前記複数の第２レーンのうち、前記制御コードが検出された前記第２レーンの数に基づく第２検出信号を生成する第２処理手段と、
を備える第２のリンクと、
前記第１検出信号および前記第２検出信号に基づいて、前記複数の第１レーンで伝送される複数の信号と、前記複数の第２レーンで伝送される複数の信号とのタイミングを調整する調整手段と、
を備える信号処理装置。
【請求項２】
前記第１処理手段は、
前記複数の第１レーンのうちの前記制御コードが検出された前記第１レーンの数に基づいて前記第１検出信号を生成する第１のモードと、
前記複数の第１レーンのうちの前記制御コードが検出された前記第１レーンの数および前記複数の第２レーンのうちの前記制御コードが検出された前記第２レーンの数に基づいて、前記第１検出信号を生成する第２のモードと、
で動作し得ることを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記信号は、複数種の前記制御コードを含み、
前記複数種の制御コードのうちの第１の制御コードの検出に基づいて、前記第１のモードから前記第２のモードへの遷移が行われ、
前記第１の制御コードと異なる第２の制御コードの検出は、前記第２のモードで行われる
ことを特徴とする請求項２に記載の信号処理装置。
【請求項４】
前記第１の制御コードは、同期コードであり、
前記第２の制御コードは、無効コード又は終了コードであることを特徴とする請求項３に記載の信号処理装置。
【請求項５】
前記第１の制御コードを構成するシンボルの数は、前記第２の制御コードを構成するシンボルの数より多いことを特徴とする請求項３または４に記載の信号処理装置。
【請求項６】
前記第１のモードから前記第２のモードへの遷移が行われてから所定の時間が経過した後に、前記第２のモードから前記第１のモードへの遷移が行われることを特徴とする請求項２乃至５のいずれか１項に記載の信号処理装置。
【請求項７】
前記第１のモードから前記第２のモードへの遷移が行われた後に供給される水平同期信号又は垂直同期信号に応じたタイミングで、前記第２のモードから前記第１のモードへの遷移が行われることを特徴とする請求項２乃至６のいずれか１項に記載の信号処理装置。
【請求項８】
前記信号は、調整コードを更に含み、
前記第１のリンクは、前記複数の第１レーンをそれぞれ伝搬する信号のスキューを、前記調整コードを用いて解消する第１調整手段を備え、
前記第２のリンクは、前記複数の第２レーンをそれぞれ伝搬する信号のスキューを、前記調整コードを用いて解消する第２調整手段を備えることを特徴とする請求項１乃至７のいずれか１項に記載の信号処理装置。
【請求項９】
前記第１調整手段および前記第２調整手段は、前記調整コードを構成する複数のシンボルのうちの正常に検出されたシンボルの数が第１閾値以上である場合に、前記調整コードを検出することを特徴とする請求項８に記載の信号処理装置。
【請求項１０】
前記第１処理手段および前記第２処理手段は、前記制御コードを構成する複数のシンボルのうちの正常に検出されたシンボルの数が、第２閾値以上である場合に前記制御コードを検出することを特徴とする請求項１乃至９のいずれか１項に記載の信号処理装置。
【請求項１１】
各第１レーンおよび各第２レーンは、
パラレル信号をシリアル信号に変換するパラレルシリアル変換器と、
前記パラレルシリアル変換器の後段に備えられるとともに、前記パラレルシリアル変換器から出力された前記シリアル信号をパラレル信号に変換するシリアルパラレル変換器と、
前記シリアルパラレル変換器の後段に備えられるとともに、前記制御コードを検出する制御コード検出手段と
を備える
ことを特徴とする請求項１乃至１０のいずれか１項に記載の信号処理装置。
【請求項１２】
画像を取得する画像取得手段を更に有し、
前記パラレルシリアル変換器によって変換される前記パラレル信号は、前記画像取得手段から出力される画像信号である
ことを特徴とする請求項１１に記載の信号処理装置。
【請求項１３】
前記画像取得手段と、前記パラレルシリアル変換器と、前記第１送信手段と、前記第２送信手段とは、第１チップに設けられ、
前記シリアルパラレル変換器と、前記制御コード検出手段と、前記第１処理手段と、前記第２処理手段とは、前記第１チップと異なる第２チップに設けられることを特徴とする請求項１２に記載の信号処理装置。
【請求項１４】
前記第１チップは、入力された光学像に基づいて画像信号を出力する撮像素子であり、
前記第２チップは、前記撮像素子から取得した前記画像信号を処理する画像処理チップであることを特徴とする請求項１３に記載の信号処理装置。
【請求項１５】
第１の駆動手段によって駆動される第１送信手段によって複数の第１レーンの各々に制御コードを含む信号を供給するとともに、第２の駆動手段によって駆動される第２送信手段によって複数の第２レーンの各々に制御コードを含む信号を供給し、前記複数の第１レーンのうち、前記制御コードが検出された前記第１レーンの数に基づく第１検出信号を生成するとともに、前記複数の第２レーンのうち、前記制御コードが検出された前記第２レーンの数に基づく第２検出信号を生成するステップと、
前記第１検出信号および前記第２検出信号に基づいて、前記複数の第１レーンで伝送される複数の信号と、前記複数の第２レーンで伝送される複数の信号とのタイミングを調整するステップと
を有することを特徴とする信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置及び信号処理方法に関する。
【背景技術】
【０００２】
近年のイメージセンサの高画質化、高フレームレート化に伴い、イメージセンサによって取得される画像データを高速に読み出す技術が求められている。例えば、複数の画像データを並行にシリアル伝送することによって、画像データを高速に読み出すことが提案されている。特許文献１には、並行にシリアル伝送された画像データに対して同期を調整する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２６７９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、提案されている技術では、必ずしも良好に信号を伝送し得ない場合があった。
本発明の目的は、良好に信号を伝送し得る信号処理装置及び信号処理方法を提供することにある。
【課題を解決するための手段】
【０００５】
実施形態の一観点によれば、複数の第１レーンと、第１の駆動手段によって駆動され、前記複数の第１レーンの各々に制御コードを含む信号を供給する第１送信手段と、前記複数の第１レーンのうち、前記制御コードが検出された前記第１レーンの数に基づく第１検出信号を生成する第１処理手段と、を備える第１のリンクと、複数の第２レーンと、第２の駆動手段によって駆動され、前記複数の第２レーンの各々に制御コードを含む信号を供給する第２送信手段と、前記複数の第２レーンのうち、前記制御コードが検出された前記第２レーンの数に基づく第２検出信号を生成する第２処理手段と、を備える第２のリンクと、前記第１検出信号および前記第２検出信号に基づいて、前記複数の第１レーンで伝送される複数の信号と、前記複数の第２レーンで伝送される複数の信号とのタイミングを調整する調整手段と、を備える信号処理装置が提供される。
【発明の効果】
【０００６】
本発明によれば、良好に信号を伝送し得る信号処理装置及び信号処理方法を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態による信号処理装置の一部を示すブロック図である。
【図２】送信データ処理回路を示すブロック図である。
【図３】リンク内スキュー調整回路を示すブロック図である。
【図４】リンク内スキュー調整回路の動作の例を示す図である。
【図５】データ処理回路を示すブロック図である。
【図６】レーン内制御コード検出部を示すブロック図である。
【図７】レーン内制御コード検出部の動作の例を示す図である。
【図８】リンク間スキュー調整回路を示すブロック図である。
【図９】リンク間スキュー調整回路の動作の例を示す図である。
【図１０】第１実施形態による信号処理装置を示すブロック図である。
【図１１】リンク内スキュー調整回路の動作の例を示す図である。
【図１２】送信データ処理回路を示すブロック図である。
【図１３】レーン内制御コード検出部を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されるものではない。
【０００９】
［第１実施形態］
第１実施形態による信号処理装置及び信号処理方法を図１乃至図１１を用いて説明する。図１０は、本実施形態による信号処理装置１００１を示すブロック図である。ここでは、本実施形態による信号処理装置１００１が撮像装置である場合を例に説明するが、これに限定されるものではない。
【００１０】
図１０に示すように、本実施形態による信号処理装置１００１は、撮像素子１００と、画像処理部１４０と、システム制御部１００３と、操作部１００４と、表示部１００５とを有する。信号処理装置１００１には、撮像光学系（レンズユニット）１００２が備えられる。また、信号処理装置１００１には、記憶部１００６が備えられる。撮像光学系１００２及び記憶部１００６は、信号処理装置１００１の本体（ボディ）から着脱可能であってもよいし、着脱不能であってもよい。
【００１１】
システム制御部１００３は、信号処理装置１００１の各部を制御するとともに、信号処理装置１００１全体の制御を司る。撮像素子１００は、例えばＣＣＤイメージセンサ又はＣＭＯＳイメージセンサである。撮像素子１００の撮像面（図示せず）には、撮像光学系１００２によって形成される被写体の光学像が結像される。撮像素子１００の撮像面には、画素部（画像取得手段）１０５（図１参照）が備えられている。画素部１０５には、被写体の光学像を電気信号に変換するための不図示の複数の光電変換素子（フォトダイオード）が２次元的に配列されている。撮像素子１００は、撮像光学系１００２によって形成される被写体の光学像を光電変換することによってアナログの画素信号を生成し、アナログの画素信号に対してアナログ／デジタル変換を行うことによってデジタルの画素信号（画像データ）を生成する。撮像素子１００によって取得される画像データは、例えば高速シリアル通信によって画像処理部１４０に送信される。
【００１２】
画像処理部１４０は、撮像素子１００によって取得された画像データに対して所定の画像処理を行い、画像処理を施した画像データに対して圧縮処理等を行う。なお、撮像素子１００と、画像処理部１４０とは、互いに異なるチップに集積されている。
【００１３】
操作部１００４は、信号処理装置１００１に対する操作をユーザが行うためのものである。例えば、撮影を行うための操作が、操作部１００４を介してユーザによって行われる。また、撮影によって取得された画像の表示画角の変更の操作が、操作部１００４を介してユーザによって行われる。表示部１００５には、例えば、ライブビュー画像、又は、撮影によって取得された画像が表示される。また、表示部１００５には、操作メニューが表示される。また、表示部１００５には、信号処理装置１００１の設定状態を示す情報等が表示される。信号処理装置１００１によって取得された画像は、所定のファイル形式で記憶部１００６に記憶される。
【００１４】
図１は、本実施形態による信号処理装置を示すブロック図である。図１には、信号処理装置１００１に備えられた様々な構成要素のうちの撮像素子１００と発振器１０１と画像処理部１４０とが抜き出して示されている。
【００１５】
撮像素子１００は、タイミングジェネレータ（ＴＧ：Ｔｉｍｉｎｇ  Ｇｅｎｅｒａｔｏｒ）１０２〜１０４と、画素部１０５と、送信データ処理回路１０６、１０７と、パラレルシリアル変換器１０８〜１１３とを有する。撮像素子１００は、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）１１４、１１５と、送信ドライバ１１６〜１２１とを更に有する。撮像素子１００のこれらの構成要素は、第１チップに集積されている。
【００１６】
画像処理部１４０は、同期信号発生器（ＳＳＧ：Ｓｙｎｃ  Ｓｉｇｎａｌ  Ｇｅｎｅｒａｔｏｒ）１２２と、受信ドライバ１２３〜１２８と、シリアルパラレル変換器１２９〜１３４と、リンク内スキュー調整回路１３５、１３６とを有する。画像処理部１４０は、データ処理回路１３７、１３８と、リンク間スキュー調整回路１３９と、クロック乗せ換え回路１４１とを更に有する。画像処理部１４０のこれらの構成要素は、第１チップとは異なる第２チップ（画像処理チップ）に集積されている。
【００１７】
本実施形態では、画素部１０５から出力される画素信号（画像信号）が、例えば２つの処理経路、即ち、リンクＡの処理経路である第１の処理経路１５０と、リンクＢの処理経路である第２の処理経路１５１とによって並行して処理される。第１の処理経路１５０には、送信データ処理回路１０６、パラレルシリアル変換器１０８〜１１０、ＰＬＬ１１４、送信ドライバ１１６〜１１８、受信ドライバ１２３〜１２５、及び、シリアルパラレル変換器１２９〜１３１が備えられている。第１の処理経路１５０には、リンク内スキュー調整回路１３５、及び、データ処理回路１３７が更に備えられている。第２の処理経路１５１には、送信データ処理回路１０７、パラレルシリアル変換器１１１〜１１３、ＰＬＬ１１５、送信ドライバ１１９〜１２１、受信ドライバ１２６〜１２８、及び、シリアルパラレル変換器１３２〜１３４が備えられている。第２の処理経路１５１には、リンク内スキュー調整回路１３６、及び、データ処理回路１３８が更に備えられている。クロック乗せ換え回路１４１は、第１の処理経路１５０と第２の処理経路１５１とにおいて共用される。
【００１８】
リンクＡには、信号を伝送するレーンが例えば３つ備えられており、リンクＢにも、信号を伝送するレーンが例えば３つ備えられている。パラレルシリアル変換器１０８、送信ドライバ１１６、受信ドライバ１２３及びシリアルパラレル変換器１２９は、リンクＡの第１レーンＬａｎｅＡ１に備えられている。パラレルシリアル変換器１０９、送信ドライバ１１７、受信ドライバ１２４及びシリアルパラレル変換器１３０は、リンクＡの第２レーンＬａｎｅＡ２に備えられている。パラレルシリアル変換器１１０、送信ドライバ１１８、受信ドライバ１２５及びシリアルパラレル変換器１３１は、リンクＡの第３レーンＬａｎｅＡ３に備えられている。パラレルシリアル変換器１１１、送信ドライバ１１９、受信ドライバ１２６及びシリアルパラレル変換器１３２は、リンクＢの第１レーンＬａｎｅＢ１に備えられている。パラレルシリアル変換器１１２、送信ドライバ１２０、受信ドライバ１２７及びシリアルパラレル変換器１３３は、リンクＢの第２レーンＬａｎｅＢ２に備えられている。パラレルシリアル変換器１１３、送信ドライバ１２１、受信ドライバ１２８及びシリアルパラレル変換器１３４は、リンクＢの第３レーンＬａｎｅＢ３に備えられている。
【００１９】
発振器１０１は、信号処理装置１００１の動作の基準となるクロック信号（基準クロック）を、撮像素子１００の各機能ブロック及び画像処理部１４０の各機能ブロックに供給する。図１に示すように、発振器１０１から出力されるクロック信号は、タイミングジェネレータ１０２〜１０４、送信データ処理回路１０６，１０７，ＰＬＬ１１４，１１５，同期信号発生器１２２にそれぞれ入力される。なお、発振器１０１から出力されるクロック信号は、これらの機能ブロックのみならず、他の機能ブロックにも適宜供給される。撮像素子１００の各機能ブロック及び画像処理部１４０の各機能ブロックは、発振器１０１から供給されるクロック信号に従って動作する。同期信号発生器１２２は、発振器１０１から供給されるクロック信号に同期するように、水平同期信号ＨＤ及び垂直同期信号ＶＤを出力する。タイミングジェネレータ（駆動手段）１０２は、同期信号発生器１２２から供給される水平同期信号ＨＤ及び垂直同期信号ＶＤに基づいて、撮像素子１００の各機能ブロックを駆動するための駆動パルス信号（駆動信号）を生成する。
【００２０】
画素部１０５は、撮像素子１００の撮像面に配されている。画素部１０５には、上述したように、被写体の光学像を電気信号に変換するための複数の光電変換素子が２次元的に配列されている。光電変換素子によって得られる画素信号は、タイミングジェネレータ１０２から供給される駆動パルス信号に従って、不図示の信号線に出力される。当該信号線に出力される画素信号は、不図示のアンプによって増幅される。アンプによって増幅されたアナログの画素信号は、不図示のＡ／Ｄ変換器によってデジタルの画素信号に変換される。こうして得られるデジタルの画素信号が画素部１０５から出力される。画素部１０５から出力される画素信号は、リンクＡの処理経路である第１の処理経路１５０とリンクＢの処理経路である第２の処理経路１５１とによって並行処理される。なお、ここでは、リンクが２つである場合を例に説明するが、処理経路の数は２つに限定されるものではない。また、ここでは、リンクＡに３つのレーンが備えられており、リンクＢにも３つのレーンが備えられている場合を例に説明するが、リンクＡ、Ｂにそれぞれ備えられるレーンの数は３つに限定されるものではない。
【００２１】
タイミングジェネレータ１０３は、タイミングジェネレータ１０２から供給される水平同期信号ＨＤ及び垂直同期信号ＶＤに基づいてタイミング信号を生成し、生成したタイミング信号を第１の処理経路１５０に備えられた送信データ処理回路１０６に供給する。タイミングジェネレータ１０４は、タイミングジェネレータ１０２から供給される水平同期信号ＨＤ及び垂直同期信号ＶＤに基づいてタイミング信号を生成し、生成したタイミング信号を第２の処理経路１５１に備えられた送信データ処理回路１０７に供給する。タイミングジェネレータ１０３は、第１の処理経路１５０の各部を駆動するために最適な位置に配されている。一方、タイミングジェネレータ１０４は、第２の処理経路１５１の各部を駆動するために最適な位置に配されている。このため、タイミングジェネレータ１０２とタイミングジェネレータ１０３との間の配線長と、タイミングジェネレータ１０２とタイミングジェネレータ１０４との間の配線長とは異なっている。配線長がこのように異なっているため、タイミングジェネレータ１０３から第１の処理経路１５０の各部に供給されるタイミング信号と、タイミングジェネレータ１０４から第２の処理経路１５１の各部に供給されるタイミング信号とは同期しない。このため、第１の処理経路１５０の各部と第２の処理経路１５１の各部とは、非同期で動作する。
【００２２】
送信データ処理回路（送信手段）１０６、１０７には、発振器１０１から出力されるクロック信号と、タイミングジェネレータ１０３、１０４からそれぞれ出力されるタイミング信号と、画素部１０５から出力される画素信号とがそれぞれ入力される。送信データ処理回路１０６、１０７は、発振器１０１からのクロック信号と、タイミングジェネレータ１０３、１０４からのタイミング信号とに基づいて、所定のプロトコルに従った処理を画素信号に対して行い、送信データを生成する。送信データ処理回路１０６、１０７は、生成した送信データをパラレルデータとして出力する。送信データ処理回路１０６、１０７は、画素部１０５によって取得される画素信号に基づくデータのみならず、トレーニングシーケンスのデータや制御コード等をも出力する。送信データ処理回路１０６、１０７は、伝送プロトコル上のリンク層に該当する。送信データ処理回路１０６、１０７は、それぞれ非同期で動作する。
【００２３】
パラレルシリアル変換器１０８〜１１０は、送信データ処理回路１０６の後段に位置している。パラレルシリアル変換器１１１〜１１３は、送信データ処理回路１０７の後段に位置している。パラレルシリアル変換器１０８〜１１３は、送信データ処理回路１０６、１０７からそれぞれ出力されるパラレルデータ（シリアル信号）をシリアルデータ（パラレル信号）に変換する。パラレルシリアル変換器１０８〜１１３によって得られたシリアルデータは、送信ドライバ１１６〜１２１を介して撮像素子１００から出力される。
【００２４】
画像処理部１４０には、受信ドライバ１２３〜１２８が備えられている。送信ドライバ１１６〜１２１と受信ドライバ１２３〜１２８とは、配線によってそれぞれ電気的に接続されている。撮像素子１００の送信ドライバ１１６〜１２１を介して出力されるシリアルデータは、受信ドライバ１２３〜１２８によってそれぞれ受信される。
【００２５】
ＰＬＬ１１４、１１５は、パラレルシリアル変換器１０８〜１１３のシリアル伝送レートに応じたシリアルクロックをクロック信号からそれぞれ生成し、生成したシリアルクロックをパラレルシリアル変換器１０８〜１１０、１１１〜１１３にそれぞれ供給する。パラレルシリアル変換器１０８〜１１０において用いられるシリアルクロックと、パラレルシリアル変換器１１１〜１１３において用いられるシリアルクロックとは、周波数は同じであるが、異なるＰＬＬ１１４、１１５から供給されるものである。このため、パラレルシリアル変換器１０８〜１１０において用いられるシリアルクロックと、パラレルシリアル変換器１１１〜１１３において用いられるシリアルクロックとは、同期していない。
【００２６】
送信データ処理回路１０６から出力される複数のパラレルデータは、第１の処理経路１５０において処理される。送信データ処理回路１０７から出力される複数のパラレルデータは、第２の処理経路１５１において処理される。なお、ここでは、送信データ処理回路１０６、１０７が、それぞれ３つの出力セレクタ２０６〜２０８（図２参照）を介してデータを出力する場合を例に説明するが、これに限定されるものではない。
【００２７】
上述したように、第１の処理経路１５０と第２の処理経路１５１とは非同期で動作する。このため、リンクＡに備えられた第１の処理経路１５０を伝搬するデータとリンクＢに備えられた第２の処理経路１５１を伝搬するデータとの間にはスキューが生じ得る。このようなスキューは、リンク間スキューと称される。タイミングジェネレータ１０３とタイミングジェネレータ１０４とにタイミングジェネレータ１０２から分配される水平同期信号ＨＤは、第１の処理経路１５０と第２の処理経路１５１とにおいて非同期で取り扱われる。このため、リンク間スキューの量は、水平転送期間（ＨＤ期間）毎に変動する。
【００２８】
送信データ処理回路１０６から出力されるデータは、例えば３つのレーンを伝搬する。パラレルシリアル変換器１０８〜１１０におけるリセット解除のタイミングの相違や、各々のレーンの配線長の相違に起因して、これらのレーンを伝搬するデータ間にはスキューが生じ得る。このようなスキューは、リンク内スキューと称される。また、送信データ処理回路１０７から出力されるデータも、例えば３つのレーンを伝搬する。パラレルシリアル変換器１１１〜１１３におけるリセット解除のタイミングの相違や、各々のレーンの配線長の相違に起因して、これらのレーンを伝搬するデータ間にもリンク内スキューが生じ得る。リンク内スキューの発生要因は動的に変化しないため、リンク内スキューの量は一定である。
【００２９】
図２は、送信データ処理回路１０６を示すブロック図である。なお、ここでは、送信データ処理回路１０６について説明するが、送信データ処理回路１０７の構成も、送信データ処理回路１０６の構成と同様である。送信データ処理回路１０６は、カウンタ２０１と、ステートマシン（ＦＳＭ：Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）２０２と、制御コード生成部２０３と、トレーニングシーケンス生成部２０４とをそれぞれ有する。送信データ処理回路１０６は、更に、ＩＤＬＥコード生成部２０５と、出力セレクタ２０６〜２０８とをそれぞれ有する。
【００３０】
カウンタ２０１には、発振器１０１から供給されるクロック信号が入力される。カウンタ２０１は、クロック信号に基づいて処理サイクルのカウントを行い、カウントにより得られたカウント値をステートマシン２０２に供給する。ステートマシン２０２は、カウンタ２０１から供給されるカウント値と、タイミングジェネレータ１０３から供給されるタイミング信号とに基づいて制御信号を生成し、生成した制御信号を出力セレクタ２０６〜２０８に供給する。制御コード生成部２０３は、制御コードを生成し、生成した制御コードを出力セレクタ２０６〜２０８の各々に供給する。制御コード生成部２０３は、複数種の制御コードを生成する。制御コード生成部２０３によって生成される制御コードは、例えば、同期コード、無効コード及び終了コードである。同期コードは、水平同期信号ＨＤに対応するように、データ列に挿入される。無効コードは、有効なデータが存在しない場合に、データ列に挿入される。終了コードは、１つの水平転送期間に対応するデータ列の末尾に付される。制御コードは、予め決定された語長の特定のパターンのデータ（シンボル）である。制御コードは、例えば４つのシンボルによって構成されるが、これに限定されるものではない。同期コードは、例えば、｛第１の同期コード、第２の同期コード、第３の同期コード、第４の同期コード｝＝｛０ｘ００、０ｘ００、０ｘＦＦ、０ｘＦＦ｝とすることができるが、これに限定されるものではない。このような特定のパターンのデータ（シンボル）を例えばパターンマッチングによって検出することによって、同期コードと、当該同期コードの位相とを検出することが可能である。トレーニングシーケンス生成部２０４は、トレーニングシーケンスのデータを生成し、生成したトレーニングシーケンスのデータを出力セレクタ２０６〜２０８の各々に供給する。トレーニングシーケンスのデータには、予め定められた特定の調整コードが含まれる。このような特定の調整コードは、リンク内スキューを解消する際に用いられる。ＩＤＬＥコード生成部２０５は、ＩＤＬＥコードを生成し、生成したＩＤＬＥコードを出力セレクタ２０６〜２０８の各々に供給する。ＩＤＬＥコードは、送信すべき有効なデータが画素部１０５から出力されていない際に用いられる。画素部１０５から出力される画像データは、出力セレクタ２０６〜２０８の各々に供給される。
【００３１】
ステートマシン２０２から出力セレクタ２０６〜２０８に供給される制御信号は、所定のプロトコルに従って出力セレクタ２０６〜２０８からデータを出力するためのものである。ステートマシン２０２は、トレーニングシーケンス生成部２０４によって生成されるトレーニングシーケンスのデータが、出力セレクタ２０６〜２０８からそれぞれ出力されるデータ列の先頭に配されるように、出力セレクタ２０６〜２０８を制御する。ステートマシン２０２は、制御コード生成部２０３によって生成される制御コードが、出力セレクタ２０６〜２０８から出力されるデータ列の適切な位置に配されるように、出力セレクタ２０６〜２０８を制御する。ステートマシン２０２は、水平転送期間以外の期間においては、ＩＤＬＥコード生成部２０５によって生成されたＩＤＬＥコードが出力セレクタ２０６〜２０８からそれぞれ出力されるように、出力セレクタ２０６〜２０８を制御する。なお、図２において、第１の出力データは、送信データ処理回路１０６からリンクＡの第１レーンＬａｎｅＡ１に出力されるデータを意味している。また、図２において、第２の出力データは、送信データ処理回路１０６からリンクＡの第２レーンＬａｎｅＡ２に出力されるデータを意味している。また、図２において、第３の出力データは、送信データ処理回路１０６からリンクＡの第３レーンＬａｎｅＡ３に出力されるデータを意味している。
【００３２】
図１に示すように、受信ドライバ１２３〜１２８の後段には、シリアルパラレル変換器１２９〜１３４がそれぞれ備えられている。シリアルパラレル変換器１２９〜１３４には、受信ドライバ１２３〜１２８を介してシリアルデータが入力される。シリアルパラレル変換器１２９〜１３４は、入力されるシリアルデータを内部のシフトレジスタに蓄える。シリアルパラレル変換器１２９〜１３４は、シフトレジスタに蓄えたシリアルデータのうちから、予め決定された語長の特定のパターンのデータ（シンボル）を検出する。シリアルパラレル変換器１２９〜１３４は、特定のパターンのデータ（シンボル）が検出されたタイミングに従って、予め決定された語長毎にパラレルデータをクロック乗せ換え回路１４１に出力する。また、シリアルパラレル変換器１２９〜１３４は、シリアルパラレル変換器１２９〜１３４に入力されるシリアルデータから書き込みクロック信号をそれぞれ生成し、生成した各々の書き込みクロック信号をクロック乗せ換え回路１４１にそれぞれ供給する。また、シリアルパラレル変換器１２９〜１３４は、書き込みクロック信号をパラレルデータの語長に対応するように分周し、分周により得られた読み出しクロック信号をクロック乗せ換え回路１４１に出力する。なお、読み出しクロック信号を生成する手法は、これに限定されるものではない。例えば、不図示の発振器を設け、当該発振器から供給されるクロック信号をシリアルパラレル変換器１２９〜１３４から出力されるパラレルデータの語長に対応する周波数と同等になるように逓倍することによって、読み出しクロック信号を得るようにしてもよい。
【００３３】
クロック乗せ換え回路１４１は、ＦＩＦＯの機能ブロックを備える。クロック乗せ換え回路１４１には、シリアルパラレル変換器１２９〜１３４から出力される信号、具体的には、パラレルデータ、書き込みクロック信号及び読み出しクロック信号が入力される。シリアルパラレル変換器１２９〜１３４からそれぞれ供給される書き込みクロック信号を用いて、クロック乗せ換え回路１４１に備えられたＦＩＦＯにパラレルデータが書き込まれる。シリアルパラレル変換器１２９〜１３４からそれぞれ供給される読み出しクロック信号のうちのいずれかを用いて、クロック乗せ換え回路１４１に備えられたＦＩＦＯからパラレルデータが読み出される。従って、シリアルパラレル変換器１２９〜１３４からそれぞれ出力されるパラレルデータは、共通の読み出しクロック信号に同期してクロック乗せ換え回路１４１から出力される。
【００３４】
シリアルパラレル変換器１２９〜１３１からそれぞれ出力され、クロック乗せ換え回路１４１によって共通の読み出しクロック信号に同期されたパラレルデータは、リンク内スキュー調整回路１３５に入力される。シリアルパラレル変換器１３２〜１３４からそれぞれ出力され、クロック乗せ換え回路１４１によって共通の読み出しクロック信号に同期されたパラレルデータは、リンク内スキュー調整回路１３６に入力される。リンク内スキュー調整回路１３５、１３６は、読み出しクロック信号に同期して動作する。リンク内スキュー調整回路１３５、１３６は、各々のパラレルデータのリンク内スキューを取り除き、リンク内スキューを取り除いたパラレルデータをデータ処理回路１３７、１３８にそれぞれ出力する。
【００３５】
リンク内スキュー調整回路１３５、１３６は、リンク内スキューを解消するためのものである。図３は、リンク内スキュー調整回路１３５を示すブロック図である。なお、ここでは、リンク内スキュー調整回路１３５について説明するが、リンク内スキュー調整回路１３６の構成も、リンク内スキュー調整回路１３５の構成と同様である。
【００３６】
リンク内スキュー調整回路１３５は、バッファ制御部３０１と、バッファ制御部３１１と、バッファ制御部３２１と、リードポインタ生成部３３０とを有する。バッファ制御部３０１には、カウンタ３０２と、調整コード検出部３０７と、出力セレクタ３０８と、バッファ群３０９とが備えられている。カウンタ３０２には、クロック信号が入力される。カウンタ３０２は、クロック信号に基づいて制御信号を生成し、生成した制御信号をスイッチ３１０に供給する。スイッチ３１０は、バッファ制御部３０１に入力されるパラレルデータの格納先となるバッファを切り換えるためのものである。バッファ群３０９には、例えば８つのバッファを含むバッファ群が備えられている。バッファ制御部３０１に入力されるパラレルデータの格納先は、カウンタ３０２から供給される制御信号に従って順次切り換えられる。このため、バッファ制御部３０１に入力されるパラレルデータは、バッファ群３０９に備えられた複数のバッファの各々に順次格納される。第１の期間においては、バッファ制御部３０１に入力されるパラレルデータは、第１のバッファ３０３ａに格納される。第１の期間の次の第２の期間においては、バッファ制御部３０１に入力されるパラレルデータは、第２のバッファ３０３ｂに格納される。第２の期間の次の第３の期間においては、バッファ制御部３０１に入力されるパラレルデータは、第３のバッファ３０３ｃに格納される。同様にして、バッファ制御部３０１に入力されるパラレルデータは、不図示の第４のバッファ、不図示の第５のバッファ、不図示の第６のバッファ、不図示の第７のバッファ及び第８のバッファ３０３ｈに順次格納される。第８のバッファ３０３ｈへの格納が完了した後には、バッファ制御部３０１に入力されるパラレルデータの格納先は第１のバッファ３０３ａに戻り、上記のような動作が繰り返される。出力セレクタ３０８は、バッファ群３０９に備えられた複数のバッファのうちのいずれかからの信号を選択的に出力する。調整コード検出部３０７は、予め決定された特定の調整コードをパラレルデータのうちから検出する。なお、図３において、第１のパラレルデータは、リンクＡの第１レーンＬａｎｅＡ１を伝搬してリンク内スキュー調整回路１３５に入力されるパラレルデータを示している。また、図３において、第２のパラレルデータは、リンクＡの第２レーンＬａｎｅＡ２を伝搬してリンク内スキュー調整回路１３５に入力されるパラレルデータを示している。また、図３において、第３のパラレルデータは、リンクＡの第３レーンＬａｎｅＡ３を伝搬してリンク内スキュー調整回路１３５に入力されるパラレルデータを示している。
【００３７】
調整コード検出部３０７は、調整コードを検出した場合には、調整コードを検出したことを示す調整コード検出信号をリードポインタ生成部３３０に供給する。なお、バッファ制御部３１１、３２１の構成とバッファ制御部３０１の構成とは同様であるため、ここでは、バッファ制御部３１１、３２１の構成の説明を省略する。図３において、第１の調整コード検出信号は、バッファ制御部３０１からリードポインタ生成部３３０に供給される調整コード検出信号を意味している。また、図３において、第２の調整コード検出信号は、バッファ制御部３１１からリードポインタ生成部３３０に供給される調整コード検出信号を意味している。また、図３において、第３の調整コード検出信号は、バッファ制御部３２１からリードポインタ生成部３３０に供給される調整コード検出信号を意味している。
【００３８】
リードポインタ生成部３３０は、以下のような処理を行う。即ち、各々のバッファ制御部３０１、３１１、３２１から調整コード検出信号が供給されたタイミングと、全てのバッファ制御部３０１、３１１、３２１から調整コード検出信号が供給されるに至ったタイミングとに基づいて、以下のような処理を行う。リードポインタ生成部３３０は、これらに基づいて、各々のバッファ制御部３０１、３１１、３２１間の位相差を算出する。リードポインタ生成部３３０は、こうして算出された位相差に基づいて、各々のバッファ制御部３０１、３１１、３２１に対してバッファのリードポインタを通知する。図３において、第１のリードポインタは、リードポインタ生成部３３０からバッファ制御部３０１に供給されるリードポインタを意味している。第２のリードポインタは、リードポインタ生成部３３０からバッファ制御部３１１に供給されるリードポインタを意味している。第３のリードポインタは、リードポインタ生成部３３０からバッファ制御部３２１に供給されるリードポインタを意味している。また、図３において、第１の出力データは、リンク内スキュー調整回路１３５からリンクＡの第１レーンＬａｎｅＡ１に出力されるデータを意味している。第２の出力データは、リンク内スキュー調整回路１３５からリンクＡの第２レーンＬａｎｅＡ２に出力されるデータを意味している。第３の出力データは、リンク内スキュー調整回路１３５からリンクＡの第３レーンＬａｎｅＡ３に出力されるデータを意味している。
【００３９】
図１１は、リンク内スキュー調整回路１３５の動作の例を示す図である。なお、ここでは、リンク内スキュー調整回路１３５の動作を説明するが、リンク内スキュー調整回路１３６の動作もリンク内スキュー調整回路１３５の動作と同様である。リードポインタ生成部３３０は、バッファ制御部３０１、３１１、３２１から調整コード検出信号が供給されるのを待つ。リードポインタ生成部３３０は、バッファ制御部３０１、３１１、３２１のうちのいずれかから調整コード検出信号が出力されると、内部リードポインタのインクリメントを開始する。ここでは、バッファ制御部３０１からの第１の調整コード検出信号の供給に基づいて、内部リードポインタのインクリメントを開始する場合を例として示している。リードポインタ生成部３３０は、内部リードポインタと、調整コード検出信号が通知されるタイミングとに基づいて、各々のバッファ制御部３０１、３１１、３２１間のオフセット値を判定する。図１１に示す例においては、第２の調整コード検出信号がＨｉｇｈレベルになったタイミングにおいて、内部リードポインタが１となっているため、リードポインタ生成部３３０は、バッファ制御部３１１のオフセットを１と判定する。また、図１１に示す例においては、第３の調整コード検出信号がＨｉｇｈレベルになったタイミングにおいて、内部リードポインタが２となっているため、バッファ制御部３２１のオフセットを２と判定する。
【００４０】
バッファ制御部３０１、３１１、３２１の全てから調整コード検出信号が供給されるに至ると、リードポインタ生成部３３０は、各々のバッファ制御部３０１、３１１、３２１に対して、以下のような処理を行う。即ち、リードポインタ生成部３３０は、リンク内スキューを取り除くためのオフセット値を内部リードポインタに加えることにより得られるリードポインタを、バッファ制御部３０１、３１１、３２１に通知する。各々のバッファ制御部３０１、３１１、３２１は、こうして得られたリードポインタに従って、バッファ群３０９からデータを読み出す。このため、リンク内スキュー調整回路１３５は、リンク内スキューが取り除かれたデータを各々のレーンに出力することができる。
【００４１】
図４は、リンク内スキュー調整回路１３５、１３６の動作の例を示す図である。図４（ａ）は、リンク内スキュー調整回路１３５、１３６に入力されるデータの例を示している。図４（ｂ）は、リンク内スキュー調整回路１３５、１３６から出力されるデータの例を示している。図４における横軸は時間である。入力データ４０１、４０２、４０３は、リンクＡの第１レーンＬａｎｅＡ１〜第３レーンＬａｎｅＡ３をそれぞれ経てリンク内スキュー調整回路１３５に入力されるデータの例を示している。入力データ４０４、４０５、４０６は、リンクＢの第１レーンＬａｎｅＢ１〜第３レーンＬａｎｅＢ３をそれぞれ経てリンク内スキュー調整回路１３６に入力されるデータの例を示している。各々の入力データは、例えば、トレーニングシーケンスのデータと、各々の水平ラインの先頭に対応するように設けられる同期コードと、画像データと、水平転送期間中に有効な画像データが存在しない場合に用いられる無効コードとを含む。各々の入力データは、例えば、１つの水平転送期間に対応するデータ列の終了を示す終了コードと、水平転送期間以外の期間において用いられるＩＤＬＥコードとを更に含む。
【００４２】
トレーニングシーケンスのデータ中には、予め定められた特定の調整コードが含まれている。リンク内スキュー調整回路１３５、１３６は、トレーニングシーケンスのデータに含まれている調整コードを調整コード検出部３０７によって検出するとともに、上記のような処理を行うことにより、リンク内スキューを解消する。
【００４３】
出力データ４０７、４０８、４０９は、リンクＡの処理経路である第１の処理経路１５０の第１から第３のレーンにリンク内スキュー調整回路１３５からそれぞれ出力されるデータの例を示している。出力データ４１０、４１１、４１２は、リンクＢの処理経路である第２の処理経路１５１の第１から第３のレーンにリンク内スキュー調整回路１３５からそれぞれ出力されるデータの例を示している。図４に示すように、リンク内スキューは解消されているが、リンク間スキューは解消されていない。
【００４４】
なお、リンク内スキュー調整回路１３５を、リンクＡとリンクＢの全てのレーンに対して適用し、全てのレーンにおいてスキューを解消することも考えられる。しかし、上述したように、リンク間スキューの量は、水平転送期間毎に変化し、一定ではない。このため、この段階では、リンク内スキューを解消することに留めておくことが好ましい。
【００４５】
データ処理回路１３７、１３８は、入力データに含まれる制御コードを検出し、検出した制御コードが所定の条件を満たす場合に、制御コードを検出したことを示す制御コード検出信号を出力するものである。換言すると、データ処理回路１３７、１３８は、入力データに含まれる制御コードを検出し、検出した制御コードを所定の条件に基づいて確定し、確定した制御コードに応じた制御コード検出信号を出力するものであるともいえる。図５は、データ処理回路１３７を示すブロック図である。データ処理回路１３７は、レーン内制御コード検出部５０１、５０２、５０３と、加算器５０４、５０６と、比較器５０５と、遅延素子５０８〜５３１と、セレクタ５０７、５３２、５３４と、デコーダ５３３とを有する。
【００４６】
遅延素子５０８〜５３１は、例えばフリップフロップによって構成されている。遅延素子５０８〜５３１のクロック入力端子には、クロック信号がそれぞれ入力される。遅延素子５０８〜５３１は、クロック信号に同期して動作する。遅延素子５０８〜５３１は、入力されたデータをそれぞれ出力方向（図５における右方向）にシフトする。
【００４７】
リンクＡの処理経路である第１の処理経路１５０の各々のレーンを伝搬する入力データは、レーン内制御コード検出部５０１〜５０３にそれぞれ入力される。図５において、第１の入力データは、リンクＡの第１レーンＬａｎｅＡ１を伝搬してデータ処理回路１３７に入力されるデータを意味している。また、図５において、第２の入力データは、リンクＡの第２レーンＬａｎｅＡ２を伝搬してデータ処理回路１３７に入力されるデータを意味している。また、図５において、第３の入力データは、リンクＡの第３レーンＬａｎｅＡ３を伝搬してデータ処理回路１３７に入力されるデータを意味している。レーン内制御コード検出部５０１〜５０３は、入力データのうちに含まれる制御コードをそれぞれ検出する。レーン内制御コード検出部５０１〜５０３は、制御コードを検出すると、制御コードを検出したことを示すレーン内制御コード検出信号を加算器５０４にそれぞれ出力する。加算器５０４は、レーン内制御コード検出部５０１〜５０３から供給されるレーン内制御コード検出信号を加算する。加算器５０４によって得られる加算値は、直列に接続された遅延素子５２０〜５２３によって遅延され、加算器５０６とセレクタ５０７とに供給される。また、加算器５０４によって得られる加算値は、第１の制御コード検出信号としてデータ処理回路１３７から出力され、データ処理回路１３８に供給される。
【００４８】
遅延素子５０８〜５１１は、直列に接続されている。遅延素子５１２〜５１５は、直列に接続されている。遅延素子５１６〜５１９は、直列に接続されている。遅延素子５０８〜５１１は、レーン内制御コード検出部５０１を通過した第１の入力データを遅延させる。遅延素子５１２〜５１５は、レーン内制御コード検出部５０２を通過した第２の入力データを遅延させる。遅延素子５１６〜５１９は、レーン内制御コード検出部５０３を通過した第３の入力データを遅延させる。図５において、第１の出力データは、遅延素子５０８〜５１１によって遅延されたデータを意味している。また、図５において、第２の出力データは、遅延素子５１２〜５１５によって遅延されたデータを意味している。また、図５において、第３の出力データは、遅延素子５１６〜５１９によって遅延されたデータを意味している。データ処理回路１３７からは、第１の出力データと第２の出力データと第３の出力データとを含む第１のパラレルデータがリンク間スキュー調整回路１３９に出力される。
【００４９】
データ処理回路１３８の構成は、図５に示すデータ処理回路１３７の構成と同様である。但し、データ処理回路１３８からは、第１の制御コード検出信号の代わりに、第２の制御コード検出信号が出力される。また、データ処理回路１３８からは、第１のリンク内制御コード検出信号の代わりに、第２のリンク内制御コード検出信号が出力される。データ処理回路１３８から出力される第２の制御コード検出信号は、データ処理回路１３７に供給される。直列接続された遅延素子５２４〜５３１は、データ処理回路１３８から供給される第２の制御コード検出信号を遅延させる。
【００５０】
遅延素子５２４〜５３１の各々から出力される信号が、セレクタ５３２に入力される。セレクタ５３２は、遅延素子５２４〜５３１からそれぞれ供給される信号のうちから１つの信号を選択し、選択した信号を加算器５０６に供給する。セレクタ５３２は、リンク間スキュー調整回路１３９から供給される遅延サイクル数信号に基づいて、遅延素子５２４〜５３１からそれぞれ供給される複数の信号のうちのいずれかを選択する。
【００５１】
データ処理回路１３８から供給される第２の制御コード検出信号を用いることなく、レーン内制御コード検出部５０１〜５０３を用いて制御コードを検出するモードを、第１の検出モードと称することとする。一方、レーン内制御コード検出部５０１〜５０３を用いるのみならず、データ処理回路１３８から供給される第２の制御コード検出信号をも用いて制御コードを検出するモードを、第２の検出モードと称することとする。
【００５２】
加算器５０６は、遅延素子５２３からの信号と、セレクタ５３２からの信号とを加算し、加算により得た信号をセレクタ５０７に供給する。セレクタ５０７は、遅延素子５２３からの信号と、加算器５０６からの信号とのうちの一方を選択し、選択した信号を出力する。第１の検出モードにおいては前者が選択され、第２の検出モードにおいては後者が選択される。
【００５３】
セレクタ５３４は、比較器５０５において用いられる閾値を、予め決定された２種類の閾値のうちから選択し、選択した閾値を比較器５０５に出力する。第１の検出モードにおいては、セレクタ５３４は第１の閾値を選択する。第２の検出モードにおいては、セレクタ５３４は、第２の閾値を選択する。
【００５４】
デコーダ５３３は、リンク間スキュー調整回路１３９から供給されるリンク間同期確立信号をデコードすることによりモード切り換え信号を生成し、生成したモード切り換え信号をセレクタ５０７、５３４にそれぞれ供給する。セレクタ５０７、５３４は、デコーダ５３３から供給されるモード切り換え信号に基づいて切り換え動作を行う。
【００５５】
セレクタ５０７によって選択された信号と、セレクタ５３４によって選択された信号とが、比較器５０５に入力される。比較器５０５は、セレクタ５０７からの信号と、セレクタ５３４からの信号とを比較し、セレクタ５０７からの信号がセレクタ５３４から供給される閾値以上となった場合に第１のリンク内制御コード検出信号を出力する。
【００５６】
第１の検出モードにおける動作の例について以下に説明する。例えば、レーン内制御コード検出部５０１、５０２からはレーン内制御コード検出信号が出力され、レーン内制御コード検出部５０３からはビットエラー等の要因によりレーン内制御コード検出信号が出力されない場合には、以下のようになる。レーン内制御コード検出部５０１、５０２からレーン内制御コード検出信号がそれぞれ供給され、レーン内制御コード検出部５０３からレーン内制御コード検出信号が供給されないため、加算器５０４によって得られる値は２となる。セレクタ５０７は、遅延素子５２３からの信号を出力するため、比較器５０５の一方の入力端子には、２という値が入力される。第１の検出モードにおいては、セレクタ５３４は第１の閾値を選択する。第１の閾値が例えば２である場合、比較器５０５の他方の入力端子には、２という値が入力される。セレクタ５０７から供給される値が、セレクタ５３４から供給される値以上であるため、比較器５０５は、第１のリンク内制御コード検出信号を出力する。
【００５７】
第２の検出モードにおける動作の例について以下に説明する。例えば、データ処理回路１３７においては、レーン内制御コード検出部５０１からレーン内制御コード検出信号が出力され、レーン内制御コード検出部５０２、５０３からはビットエラー等の要因によりレーン内制御コード検出信号が出力されないものとする。一方、データ処理回路１３８においては、全てのレーン内制御コード検出部５０１〜５０３からレーン内制御コード検出信号が出力されるものとする。この場合、データ処理回路１３７においては、加算器５０４から出力される値は１となり、データ処理回路１３８においては、加算器５０４から出力される値は３となる。データ処理回路１３８に備えられた加算器５０４から出力される値が３であるため、データ処理回路１３８からデータ処理回路１３７に供給される第２の制御コード検出信号の値は３となる。遅延素子５２３から出力される値が１であり、セレクタ５３２から出力される値が３であるため、加算器５０６から出力される値は４となる。第２の検出モードにおいては、セレクタ５０７は、加算器５０６からの信号を選択するため、比較器５０５の一方の入力端子には４という値が入力される。第２の検出モードにおいては、セレクタ５３４は第２の閾値を選択する。第２の閾値が例えば４である場合、比較器５０５の他方の入力端子には４という値が入力される。セレクタ５０７から供給される値が、セレクタ５３４から供給される値以上であるため、比較器５０５は、第１のリンク内制御コード検出信号を出力する。
【００５８】
なお、データ処理回路１３８から供給される第２の制御コード検出信号は、遅延素子５２４〜５３１によって遅延される。そして、リンク間スキュー調整回路１３９から供給される遅延サイクル数信号に応じた位相の第２の制御コード検出信号がセレクタ５３２によって選択される。このため、遅延素子５２３から加算器５０６に供給される信号の位相と、セレクタ５３２から加算器５０６に供給される信号の位相とが合致し、加算器５０６からは適切な加算値が出力される。
【００５９】
このように、本実施形態によれば、複数のレーンの制御コード検出結果を総合的に評価することが可能である。このため、特定のレーンでビットエラーが生じ、当該レーンにおいて制御コードを検出できない場合であっても、良好に動作することが可能である。即ち、本実施形態によれば、十分なエラー耐性を確保することが可能となる。
【００６０】
デコーダ５３３から供給されるモード切り換え信号によって、第１の検出モードと第２の検出モードとが切り換えられる。デコーダ５３３は、例えば以下のように動作する。デコーダ５３３は、例えば、リンク間スキュー調整回路１３９から供給されるリンク間同期確立信号を受信した直後のサイクルにおいて、第１の検出モードから第２の検出モードに遷移するようなモード切り換え信号をセレクタ５０７、５３４に供給する。このようなモード切り換え信号を出力した後、デコーダ５３３は、デコーダ５３３内に備えられたカウンタによって所定のサイクルをカウントする。所定のサイクルをカウントした後、デコーダ５３３は、第２の検出モードから第１の検出モードに遷移するようなモード切り換え信号をセレクタ５０７、５３４に供給する。従って、第１の検出モードから第２の検出モードへの遷移が行われてから所定の時間が経過した後に、第２の検出モードから第１の検出モードへの遷移が行われることとなる。例えば、第１の検出モードから第２の検出モードへの遷移が行われた後に供給される水平同期信号ＨＤに応じたタイミングで、第２の検出モードから第１の検出モードへの遷移が行われる。所定のサイクルを、水平転送期間に応じたサイクル数とすれば、同期コードについては第１の検出モードで検出することができ、無効コード及び終了コードについては第２の検出モードで検出することができる。これにより、データ処理回路１３７が無効コード又は終了コードを閾値以下しか検出できない場合であっても、データ処理回路１３８が検出した無効コード又は終了コードの数と合わせて評価することにより、無効コードもしくは終了コードを検出し得る。したがって、レーンごとに同期コードを検出する場合よりも、エラー耐性を高めることできる。例えば、レーン内制御コード検出信号を出力しないレーン内制御コード検出部が、同期コードが検出された後に増加した場合であっても、無効コードや終了コードを検出することが可能となる。これにより、エラー耐性の向上を図ることができる。
【００６１】
なお、ここでは、リンク間スキュー調整回路１３９から供給されるリンク間同期確立信号に基づいてデコーダ５３３がモード切り換え信号を生成する場合を例に説明したが、これに限定されるものではない。例えば、データ処理回路１３７において同期コードが検出された際に、当該同期コードが検出されたことを示す信号をデコーダ５３３に供給するようにしてもよい。そして、デコーダ５３３が、当該信号に基づいて、モード切り換え信号を生成するようにしてもよい。
【００６２】
データ処理回路１３７は、制御コードの検出を確定する処理手段として機能し得る。データ処理回路１３７は、第１の検出モードにおいては、リンクＡに備えられた複数のレーンのうちの制御コードが検出されたレーンの数に基づいて制御コードの検出を確定する。データ処理回路１３７は、第１の検出モードにおいては、リンクＢに備えられた複数のレーンのうちの制御コードが検出されたレーンの数に基づくことなく、制御コードの検出を確定する。データ処理回路１３７は、第２のモードにおいては、リンクＡに備えられた複数のレーンのうちの制御コードが検出されたレーンの数と、リンクＢに備えられた複数のレーンのうちの制御コードが検出されたレーンの数とに基づいて、制御コードの検出を確定する。
【００６３】
図６は、レーン内制御コード検出部５０１を示すブロック図である。なお、ここでは、レーン内制御コード検出部５０１を例として説明するが、レーン内制御コード検出部５０２の構成も、レーン内制御コード検出部５０３の構成も、レーン内制御コード検出部５０１の構成と同様である。また、ここでは、各々の制御コードが４つのシンボルによって構成されている場合を例に説明する。また、制御コードとしては、同期コードと、無効コードと、終了コードとが検出され得る場合を例に説明する。
【００６４】
図６に示すように、レーン内制御コード検出部５０１は、遅延素子６０１〜６０４と、比較器６０５〜６０８、６１１〜６１４、６１７〜６２０と、加算器６０９、６１５、６２１と、比較器６１０、６１６、６２２とを有する。
【００６５】
遅延素子６０１〜６０４は、直列に接続されており、入力データを遅延させる。遅延素子６０１〜６０４のクロック入力端子には、クロック信号が入力される。遅延素子６０１の出力は、比較器６０５、６１１、６１７にそれぞれ入力される。遅延素子６０２の出力は、比較器６０６、６１２、６１８にそれぞれ入力される。遅延素子６０３の出力は、比較器６０７、６１３、６１９にそれぞれ入力される。遅延素子６０４の出力は、比較器６０８、６１４、６２０にそれぞれ入力される。比較器６０８は、遅延素子６０４の出力と期待値Ｘ１とが一致した場合には１を出力し、遅延素子６０４の出力と期待値Ｘ１とが一致しない場合には０を出力する。比較器６０７は、遅延素子６０３の出力と期待値Ｘ２とが一致した場合には１を出力し、遅延素子６０３の出力と期待値Ｘ２とが一致しない場合には０を出力する。比較器６０６は、遅延素子６０２の出力と期待値Ｘ３とが一致した場合には１を出力し、遅延素子６０２の出力と期待値Ｘ３とが一致しない場合には０を出力する。比較器６０５は、遅延素子６０１の出力と期待値Ｘ４とが一致した場合には１を出力し、遅延素子６０１の出力と期待値Ｘ４とが一致しない場合には０を出力する。比較器６１４は、遅延素子６０４の出力と期待値Ｙ１とが一致した場合には１を出力し、遅延素子６０４の出力と期待値Ｙ１とが一致しない場合には０を出力する。比較器６１３は、遅延素子６０３の出力と期待値Ｙ２とが一致した場合には１を出力し、遅延素子６０３の出力と期待値Ｙ２とが一致しない場合には０を出力する。比較器６１２は、遅延素子６０２の出力と期待値Ｙ３とが一致した場合には１を出力し、遅延素子６０２の出力と期待値Ｙ３とが一致しない場合には０を出力する。比較器６１１は、遅延素子６０１の出力と期待値Ｙ４とが一致した場合には１を出力し、遅延素子６０１の出力と期待値Ｙ４とが一致しない場合には０を出力する。比較器６２０は、遅延素子６０４の出力と期待値Ｚ１とが一致した場合には１を出力し、遅延素子６０４の出力と期待値Ｚ１とが一致しない場合には０を出力する。比較器６１９は、遅延素子６０３の出力と期待値Ｚ２とが一致した場合には１を出力し、遅延素子６０３の出力と期待値Ｚ２とが一致しない場合には０を出力する。比較器６１８は、遅延素子６０２の出力と期待値Ｚ３とが一致した場合には１を出力し、遅延素子６０２の出力と期待値Ｚ３とが一致しない場合には０を出力する。比較器６１７は、遅延素子６０１の出力と期待値Ｚ４とが一致した場合には１を出力し、遅延素子６０１の出力と期待値Ｚ４とが一致しない場合には０を出力する。期待値Ｘ１〜Ｘ４は、例えば、同期コードの４つのシンボルの値にそれぞれ対応している。期待値Ｙ１〜Ｙ４は、例えば、無効コードの４つのシンボルの値にそれぞれ対応している。期待値Ｚ１〜Ｚ４は、例えば、終了コードの４つのシンボルの値にそれぞれ対応している。比較器６０５〜６０８からそれぞれ出力される信号は、加算器６０９に供給される。比較器６１１〜６１４からそれぞれ出力される信号は、加算器６１５に供給される。比較器６１７〜６２０からそれぞれ出力される信号は、加算器６２１に供給される。加算器６０９、６１５、６２１によって得られた加算値は、比較器６１０、６１６、６２２にそれぞれ供給される。比較器６１０、６１６、６２２は、加算器６０９、６１５、６２１からそれぞれ供給される値と、予め設定された閾値とをそれぞれ比較する。比較器６１０は、加算器６０９によって得られた加算値が閾値以上である場合に、同期コード検出信号を出力する。比較器６１６は、加算器６１５によって得られた加算値が閾値以上である場合に、無効コード検出信号を出力する。比較器６２２は、加算器６２１によって得られた加算値が閾値以上である場合に、終了コード検出信号を出力する。これらの検出信号は束ねられ、レーン内制御コード検出信号として出力される。また、遅延素子６０１〜６０４によって遅延されたデータは、出力データとしてレーン内制御コード検出部５０１からそれぞれ出力される。
【００６６】
なお、第１のリンク内制御コード検出信号、第２のリンク内制御コード検出信号、第１の制御コード検出信号及び第２の制御コード検出信号のフォーマットは、特に限定されるものではない。例えば、第１のリンク内制御コード検出信号、第２のリンク内制御コード検出信号、第１の制御コード検出信号及び第２の制御コード検出信号が、複数ビットの信号の別々のフィールドにそれぞれ割り当てられていてもよい。
【００６７】
図７は、レーン内制御コード検出部５０１の動作の例を示す図である。なお、ここでは、レーン内制御コード検出部５０１を例として説明するが、レーン内制御コード検出部５０２も、レーン内制御コード検出部５０３も、レーン内制御コード検出部５０１と同様に動作し得る。図７には、レーン内制御コード検出部５０１に入力されるデータの例と、制御コードの期待値の例とが示されている。期待値の第１番目のシンボルは例えばオール０、即ち、０ｘ００である。一方、入力データの第１番目のシンボルも例えばオール０である。従って、第１番目のシンボルについては、期待値と入力データとは一致している。期待値の第２番目のシンボルは例えばオール０である。一方、入力データの第２番目のシンボルもオール０である。従って、第２番目のシンボルについても、期待値と入力データとは一致している。期待値の第３番目のシンボルは例えばオール１、即ち、０ｘＦＦである。一方、入力データの第３番目のシンボルは、例えばビットエラー等によってデータが破損しており、０ｘＦＤとなっている。従って、この場合、第３番目のシンボルについては、期待値と入力データとが一致していない。期待値の第４番目のシンボルは例えばオール１である。一方、入力データの第４番目のシンボルも、オール１である。従って、第４番目のシンボルについては、期待値と入力データとが一致している。このように、図７に示す例においては、期待値と入力データとの間で、３つのシンボルが一致している。閾値が３である場合、期待値のシンボルと入力データのシンボルの一致数は閾値以上であるため、レーン内制御コード検出部５０１から制御コード検出信号が出力される。このように、レーン内制御コード検出部５０１は、制御コードを構成する複数のシンボルのうちの正常に検出されたシンボルの数に基づいて制御コードを検出する。このようにして制御コードを検出するため、本実施形態によれば、エラー耐性の向上を図ることができる。
【００６８】
リンク間スキュー調整回路１３９は、リンク間スキューを解消するためのものである。図８は、リンク間スキュー調整回路１３９を示すブロック図である。図８に示すように、リンク間スキュー調整回路１３９は、遅延素子８０１〜８２４と、デコーダ８２５と、ロード付きＤタイプフリップフロップ８２６と、セレクタ８２７とを有する。遅延素子８０１〜８２４は、例えばフリップフロップによって構成されている。遅延素子８０１〜８２４のクロック入力端子には、クロック信号がそれぞれ入力される。遅延素子８０１〜８２４は、クロック信号に同期して動作する。遅延素子８０１〜８２４は、入力されたデータをそれぞれ出力方向（図８における右方向）にシフトする。
【００６９】
直列接続された遅延素子８０１〜８０４は、データ処理回路１３７から供給される第１のパラレル信号を遅延する。直列接続された遅延素子８０５〜８０８は、データ処理回路１３７から供給される第１のリンク内制御コード検出信号を遅延する。直列接続された遅延素子８０９〜８１６は、データ処理回路１３８から供給される第２のパラレル信号を遅延する。遅延素子８０９〜８１６の各々から出力される信号が、セレクタ８２７に入力される。直列接続された遅延素子８１７〜８２４は、データ処理回路１３８から供給される第２のリンク内制御コード検出信号を遅延する。遅延素子８１７〜８２４の各々から出力される信号ｄｌｙＦ１〜ｄｌｙＦ８が、デコーダ８２５に入力される。
【００７０】
デコーダ８２５は、第２のリンク内制御コード検出信号が有効、即ち、「１」となっている信号を、遅延素子８１７〜８２４の各々から出力される信号ｄｌｙＦ１〜ｄｌｙＦ８のうちから検出する。デコーダ８２５は、第２のリンク内制御コード検出信号が有効となったタイミングと同じタイミングの第２のパラレル信号が保持されている遅延素子８０９〜８１６の出力がセレクタ８２７によって選択されるようなデコードデータ（デコード信号）を出力する。ロード付きＤタイプフリップフロップ８２６は、遅延素子８０８の出力がハイレベルになった際に、デコーダ８２５の出力をラッチする。セレクタ８２７は、ロード付きＤタイプフリップフロップ８２６から供給されるデコードデータに応じて、遅延素子８０９〜８１６のいずれかからの出力を選択する。遅延素子８０４から出力される第１のデータと、セレクタ８２７によって選択された第２のデータとが連結されて、出力データとなる。遅延素子８０８の出力は、リンク間制御コード検出信号としてリンク間スキュー調整回路１３９から出力される。
【００７１】
遅延素子８０８から出力されるリンク間制御コード検出信号は、リンク間同期確立信号として、データ処理回路１３７、１３８に供給される。また、デコーダ８２５の出力は、遅延サイクル数信号としてデータ処理回路１３７、１３８に供給される。
【００７２】
図９は、リンク間スキュー調整回路１３９の動作の例を示す図である。ここでは、データ処理回路１３７から供給される第１のパラレル信号と、データ処理回路１３８から供給される第２のパラレル信号との間に、クロック信号の１サイクル分に相当するスキューが生じている場合を例に説明する。
【００７３】
上述したように、デコーダ８２５は、第２のリンク内制御コード検出信号が有効となったタイミングと同じタイミングの第２のパラレル信号が保持されている遅延素子８０９〜８１６の出力がセレクタ８２７によって選択されるようなデコードデータを出力する。
【００７４】
上述したように、デコーダ８２５の出力は、遅延素子８０８の出力がハイレベルになった際にラッチされる。このため、クロック信号の例えば４サイクル分に相当する時間だけ遅延させた第１のパラレル信号と、クロック信号の例えば３サイクル分に相当する時間だけ遅延させた第２のパラレル信号とが、揃った状態で出力データとして出力される。
【００７５】
このように、本実施形態によれば、リンクに備えられた複数のレーンのうちの制御コードが検出されたレーンの数に基づいて、制御コードの検出を確定する。このため、本実施形態によれば、制御コードを検出できないレーンがビットエラー等によって生じた場合であっても、制御コードを検出することができる。従って、本実施形態によれば、エラー耐性の高い信号処理装置及び信号処理方法を提供することができる。
【００７６】
また、本実施形態によれば、第１の検出モードにおいては、リンクＡに備えられた複数のレーンのうちの制御コードが検出されたレーンの数に基づいて、制御コードの検出を確定する。第１の検出モードにおいては、リンクＢに備えられた複数のレーンのうちの制御コードが検出されたレーンの数に基づくことなく、制御コードの検出を確定する。一方、第２の検出モードにおいては、リンクＡに備えられた複数のレーンのうちの制御コードが検出されたレーンの数と、リンクＢに備えられた複数のレーンのうちの制御コードが検出されたレーンの数とに基づいて、制御コードの検出を確定する。このため、制御コードを検出し得ないレーンが、例えば同期コードが検出された後に増加した場合であっても、例えば無効コード及び終了コードを検出することが可能となる。これにより、本実施形態によれば、エラー耐性の向上を図ることができる。
【００７７】
また、本実施形態によれば、リンク間スキューのみならずレーン間スキューをも解消し得るため、良好に伝送を行うことができる。
【００７８】
［第２実施形態］
第２実施形態による信号処理装置及び信号処理方法を図１１及び図１２を用いて説明する。図１乃至図１０に示す第１実施形態による信号処理装置及び信号処理方法と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
【００７９】
本実施形態による信号処理装置は、同期コードのシンボル数が、無効コード及び終了コードのシンボル数と異なるものである。
【００８０】
図１２は、本実施形態による信号処理装置に備えられた送信データ処理回路１０６を示すブロック図である。なお、ここでは、送信データ処理回路１０６について説明するが、送信データ処理回路１０７の構成も、送信データ処理回路１０６の構成と同様である。
【００８１】
本実施形態による送信データ処理回路１０６は、制御コード生成部２０９が更に設けられている点が、第１実施形態による送信データ処理回路１０６と相違している。制御コード生成部２０３は、例えば同期コードを生成し、生成した同期コードを出力セレクタ２０６〜２０８の各々に供給する。制御コードは、例えば４つのシンボルによって構成される。制御コード生成部２０９は、例えば無効コード及び終了コードを生成し、生成した無効コード及び終了コードを出力セレクタ２０６〜２０８の各々に供給する。無効コード及び終了コードは、例えば３つのシンボルによって構成される。
【００８２】
図１３は、本実施形態による信号処理装置に備えられたレーン内制御コード検出部５０１を示すブロック図である。なお、ここでは、レーン内制御コード検出部５０１について説明するが、レーン内制御コード検出部５０２の構成も、レーン内制御コード検出部５０３の構成も、レーン内制御コード検出部５０１の構成と同様である。
【００８３】
本実施形態におけるレーン内制御コード検出部５０１は、比較器６１１、６１７が設けられていない点が、第１実施形態におけるレーン内制御コード検出部５０１と相違している。遅延素子６０１の出力は、比較器６０５のみに入力される。遅延素子６０２の出力は、比較器６０６、６１２、６１８にそれぞれ入力される。遅延素子６０３の出力は、比較器６０７、６１３、６１９にそれぞれ入力される。遅延素子６０４の出力は、比較器６０８、６１４、６２０にそれぞれ入力される。期待値Ｘ１〜Ｘ４は、例えば、同期コードの４つのシンボルの値にそれぞれ対応している。期待値Ｙ１〜Ｙ３は、例えば、無効コードの３つのシンボルの値にそれぞれ対応している。期待値Ｚ１〜Ｚ３は、終了コードの３つのシンボルの値にそれぞれ対応している。比較器６０５〜６０８からそれぞれ出力される信号は、加算器６０９に供給される。比較器６１２〜６１４からそれぞれ出力される信号は、加算器６１５に供給される。比較器６１８〜６２０からそれぞれ出力される信号は、加算器６２１に供給される。
【００８４】
加算器６０９、６１５、６２１によって得られた加算値は、比較器６１０、６１６、６２２にそれぞれ供給される。比較器６１０、６１６、６２２は、加算器６０９、６１５、６２１からそれぞれ供給される値と、予め設定された閾値とをそれぞれ比較する。比較器６１０は、加算器６０９によって得られた加算値が閾値以上である場合に、同期コード検出信号を出力する。比較器６１６は、加算器６１５によって得られた加算値が閾値以上である場合に、無効コード検出信号を出力する。比較器６２２は、加算器６２１によって得られた加算値が閾値以上である場合に、終了コード検出信号を出力する。これらの検出信号は束ねられ、レーン内制御コード検出信号として出力される。また、遅延素子６０１〜６０４によって遅延されたデータは、出力データとしてレーン内制御コード検出部５０１からそれぞれ出力される。
【００８５】
本実施形態では、無効コード及び終了コードのシンボル数が同期コードのシンボル数よりも少ないが、無効コード及び終了コードは第２の検出モードで検出される。第２の検出モードにおいては、リンクＡに備えられた複数のレーンにおいて検出される制御コードのみならず、リンクＢに備えられた複数のレーンにおいて検出される制御コードにも基づいて制御コードが確定される。このため、無効コード及び終了コードのシンボル数が少なくても、十分なエラー耐性を確保し得る。
【００８６】
このように、本実施形態によれば、無効コード及び終了コードのシンボル数が少ないため、データ量の低減に寄与することができる。無効コード及び終了コードは第２の検出モードで検出されるため、十分なエラー耐性は確保される。
【００８７】
［変形実施形態］
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
例えば、上記実施形態では、制御コードを複数のシンボルによって構成し、制御コードを構成する複数のシンボルのうちの正常に検出されたシンボルの数に基づいて制御コードを検出する場合を例に説明したが、これに限定されるものではない。例えば、調整コードを複数のシンボルによって構成し、調整コードを構成する複数のシンボルのうちの正常に検出されたシンボルの数に基づいて調整コードを検出するようにしてもよい。
【００８８】
また、上記実施形態では、リンク間スキューの量が水平転送期間毎に変動する場合を例に説明したが、これに限定されるものではない。例えば、リンク間スキューの量が垂直転送期間（ＶＤ期間）毎に変動し、水平転送期間毎に変動しない場合には、以下のようにすることができる。即ち、垂直転送期間において最初に検出される同期コードは第１の検出モードで検出し、垂直転送期間において最初に検出される同期コード以外の同期コードは第２の検出モードで検出するようにする。無効コード及び終了コードは、いずれも第２の検出モードで検出する。この場合には、第１の検出モードから第２の検出モードへの遷移が行われた後に供給される垂直同期信号ＶＤに応じたタイミングで、第２の検出モードから第１の検出モードへの遷移が行われる。
【００８９】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９０】
１００…撮像素子
１４０…画像処理部
【図１】
2019036833.tif 000003
【図２】
2019036833.tif 000004
【図３】
2019036833.tif 000005
【図４】
2019036833.tif 000006
【図５】
2019036833.tif 000007
【図６】
2019036833.tif 000008
【図７】
2019036833.tif 000009
【図８】
2019036833.tif 000010
【図９】
2019036833.tif 000011
【図１０】
2019036833.tif 000012
【図１１】
2019036833.tif 000013
【図１２】
2019036833.tif 000014
【図１３】
2019036833.tif 000015