(57)【要約】      （修正有）【課題】複数の経路で伝送されるデータの間のタイミングのずれを効率的に補正する撮像装置を提供する。【解決手段】複数の処理経路のそれぞれにおいて、出力手段は、複数の出力手段の間で同期した制御コードを含む第１のデータと、複数の出力手段の間で同期していない同期コードと画素信号とを含む第２のデータと、を出力し、複数のＰ／Ｓ変換手段及び複数のＳ／Ｐ変換手段は、出力されたデータを変換し、第１のスキュー補正手段は、変換された複数の第１のデータから制御コードを検出して変換された複数の第２のデータの間のタイミングのずれを補正し、同期コード検出手段は、補正された複数の第２のデータから同期コードを検出する。同期コードが検出されたタイミングに基づいて、複数の処理経路のそれぞれの補正された複数の第２のデータについて、複数の処理経路の間のタイミングのずれを補正する第２のスキュー補正手段を更に備える。【選択図】図１Ｂ
2018082282.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置であって、
複数の処理経路と、
第１のタイミング信号により駆動され、前記複数の処理経路のそれぞれに対して画素信号を出力する画素部と、
を備え、
前記複数の処理経路のそれぞれは、
複数の出力手段であって、各出力手段は前記第１のタイミング信号に関連する第２のタイミング信号により駆動され、前記第２のタイミング信号は前記複数の出力手段の間で同期していない、複数の出力手段と、
前記複数の出力手段のそれぞれに対応して設けられ、パラレル形式のデータをシリアル形式のデータに変換する複数のＰ／Ｓ変換手段と、
前記複数のＰ／Ｓ変換手段のそれぞれに対応して設けられ、シリアル形式のデータをパラレル形式のデータに変換する複数のＳ／Ｐ変換手段と、
第１のスキュー補正手段と、
同期コード検出手段と、
を含み、
前記複数の出力手段のそれぞれは、前記複数の出力手段の間で同期した制御コードを含むパラレル形式の第１のデータと、前記第２のタイミング信号に同期した同期コードと前記画素部から入力された画素信号とを含むパラレル形式の第２のデータと、を出力するように構成され、
前記複数のＰ／Ｓ変換手段のそれぞれは、対応する前記出力手段から出力された前記第１のデータ及び前記第２のデータをシリアル形式に変換するように構成され、
前記複数のＳ／Ｐ変換手段のそれぞれは、対応する前記Ｐ／Ｓ変換手段から出力された前記第１のデータ及び前記第２のデータをパラレル形式に変換するように構成され、
前記第１のスキュー補正手段は、前記複数のＳ／Ｐ変換手段のそれぞれから出力された前記第１のデータから前記制御コードを検出し、当該検出のタイミングに基づいて、前記複数のＳ／Ｐ変換手段から出力された複数の前記第２のデータの間のタイミングのずれを補正するように構成され、
前記同期コード検出手段は、前記第１のスキュー補正手段により補正された前記複数の前記第２のデータから前記同期コードを検出し、
前記撮像装置は、前記複数の処理経路のそれぞれの前記同期コード検出手段により前記同期コードが検出されたタイミングに基づいて、前記複数の処理経路のそれぞれの前記第１のスキュー補正手段により補正された前記複数の前記第２のデータについて、前記複数の処理経路の間のタイミングのずれを補正する第２のスキュー補正手段を更に備える
ことを特徴とする撮像装置。
【請求項２】
前記同期コードは、第１のパターンを持つシンボル群であり、
前記同期コード検出手段は、前記第１のスキュー補正手段により補正された前記複数の前記第２のデータのそれぞれについて、第１の閾値以上の数のシンボルが前記第１のパターンに一致するシンボル群を検出した場合に、前記同期コードを検出したと判断する
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第２のスキュー補正手段は、前記複数の処理経路のそれぞれについて、前記第１のスキュー補正手段により補正された前記複数の前記第２のデータのうちの第２の閾値以上の数の前記第２のデータから前記同期コードが検出されたタイミングを、前記同期コード検出手段により前記同期コードが検出されたタイミングとして扱う
ことを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記制御コードは、第２のパターンを持つシンボル群であり、
前記第１のスキュー補正手段は、前記複数のＳ／Ｐ変換手段のそれぞれから出力された複数の前記第１のデータのそれぞれについて、第３の閾値以上の数のシンボルが前記第２のパターンに一致するシンボル群を検出した場合に、前記制御コードを検出したと判断する
ことを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
クロックを発生する発振手段と、
前記クロックに基づいて水平同期信号及び垂直同期信号を発生する同期信号発生手段と、
前記クロック、前記水平同期信号、及び前記垂直同期信号に基づいて前記第１のタイミング信号を発生する第１の信号発生手段と、
前記複数の処理経路のそれぞれに対応して設けられた複数の第２の信号発生手段と、
を更に備え、
前記複数の前記第２の信号発生手段のそれぞれは、前記クロック、前記水平同期信号、及び前記垂直同期信号に基づいて前記第２のタイミング信号を発生する
ことを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記複数の出力手段のそれぞれが出力する前記第２のデータに含まれる前記同期コードは、前記第２のタイミング信号において前記水平同期信号に対応する信号に同期する
ことを特徴とする請求項５に記載の撮像装置。
【請求項７】
クロックを発生する発振手段と、
前記クロックに基づいて垂直同期信号を発生する同期信号発生手段と、
前記クロック及び前記垂直同期信号に基づいて、水平同期信号を含む前記第１のタイミング信号を発生する第１の信号発生手段と、
前記複数の処理経路のそれぞれに対応して設けられた複数の第２の信号発生手段と、
を更に備え、
前記複数の前記第２の信号発生手段のそれぞれは、前記クロック、前記水平同期信号、及び前記垂直同期信号に基づいて前記第２のタイミング信号を発生する
ことを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項８】
前記複数の出力手段のそれぞれは、前記複数のＰ／Ｓ変換手段が起動した後、最初に前記第２のデータを出力するタイミングで、前記第２のデータの出力に先立って前記第１のデータを出力する
ことを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【請求項９】
前記複数の出力手段のそれぞれは、前記複数のＰ／Ｓ変換手段が起動したタイミングで、前記第１のデータを出力する
ことを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関する。
【背景技術】
【０００２】
近年の撮像素子の高画質化及び高フレームレート化に伴って、撮像素子からの画素データの高速な読み出しが求められている。このような高速な画素データの読み出しに対処できる撮像素子として、アナログデータを複数の経路で並行して出力できる撮像素子が使用されている。
【０００３】
また、このアナログデータをアナログデジタル変換（Ａ／Ｄ変換）したデジタルデータの転送方法として、パラレルシリアル変換（Ｐ／Ｓ変換）によりデータをシリアル化して高速に伝送する方法が知られている。このようなデータ転送方法を採用して、上述の撮像素子から出力される各経路のアナログデータをＡ／Ｄ変換し、各経路のデジタルデータをＰ／Ｓ変換して各経路でシリアルデータとして伝送することが考えられる。この場合、複数の経路のシリアルデータが並行して送信されるため、各経路のシリアルデータの同期を取ることが必要となる。
【０００４】
複数の経路で並行して送信されるデータの同期に関する技術として、特許文献１が知られている。特許文献１によれば、送信側は、各経路のパラレルデータに同期コードを付加し、各経路のパラレルデータに個別に対応して設けられた複数のＰ／Ｓ変換器のそれぞれから出力されるシリアルデータを転送する。複数のＰ／Ｓ変換器のそれぞれが異なるＰＬＬ回路から生成されたシリアルクロックを用いて動作しているため、シリアルクロックは周波数が同じでも同期関係がなく、各経路のシリアルデータは同期関係がない。受信側は、同期コードを検出し、各経路のシリアルデータを対応するシリアルパラレル変換器（Ｓ／Ｐ変換器）によってパラレルデータに変換し、同期コードに基づいて複数の経路のパラレルデータの同期を調整する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２６７９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、各ＰＬＬ回路に複数のＰ／Ｓ変換器のうちの１つが対応する構成を開示しているだけであり、各ＰＬＬ回路に２以上のＰ／Ｓ変換器が対応する構成については考慮していない。２以上のＰ／Ｓ変換器が同じＰＬＬ回路から生成されたシリアルクロックを用いる場合であっても、各Ｐ／Ｓ変換器のリセット解除のタイミングによっては同期関係がなくなる場合があるが、特許文献１は、このような場合については考慮していない。即ち、特許文献１は、複数のＰＬＬ回路が使用されるということと、１つのＰＬＬ回路を２以上のＰ／Ｓ変換器が使用することという、２つの原因により生じる同期の問題を扱うものではない。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、複数の経路で伝送されるデータの間のタイミングのずれを効率的に補正する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、撮像装置であって、複数の処理経路と、第１のタイミング信号により駆動され、前記複数の処理経路のそれぞれに対して画素信号を出力する画素部と、を備え、前記複数の処理経路のそれぞれは、複数の出力手段であって、各出力手段は前記第１のタイミング信号に関連する第２のタイミング信号により駆動され、前記第２のタイミング信号は前記複数の出力手段の間で同期していない、複数の出力手段と、前記複数の出力手段のそれぞれに対応して設けられ、パラレル形式のデータをシリアル形式のデータに変換する複数のＰ／Ｓ変換手段と、前記複数のＰ／Ｓ変換手段のそれぞれに対応して設けられ、シリアル形式のデータをパラレル形式のデータに変換する複数のＳ／Ｐ変換手段と、第１のスキュー補正手段と、同期コード検出手段と、を含み、前記複数の出力手段のそれぞれは、前記複数の出力手段の間で同期した制御コードを含むパラレル形式の第１のデータと、前記第２のタイミング信号に同期した同期コードと前記画素部から入力された画素信号とを含むパラレル形式の第２のデータと、を出力するように構成され、前記複数のＰ／Ｓ変換手段のそれぞれは、対応する前記出力手段から出力された前記第１のデータ及び前記第２のデータをシリアル形式に変換するように構成され、前記複数のＳ／Ｐ変換手段のそれぞれは、対応する前記Ｐ／Ｓ変換手段から出力された前記第１のデータ及び前記第２のデータをパラレル形式に変換するように構成され、前記第１のスキュー補正手段は、前記複数のＳ／Ｐ変換手段のそれぞれから出力された前記第１のデータから前記制御コードを検出し、当該検出のタイミングに基づいて、前記複数のＳ／Ｐ変換手段から出力された複数の前記第２のデータの間のタイミングのずれを補正するように構成され、前記同期コード検出手段は、前記第１のスキュー補正手段により補正された前記複数の前記第２のデータから前記同期コードを検出し、前記撮像装置は、前記複数の処理経路のそれぞれの前記同期コード検出手段により前記同期コードが検出されたタイミングに基づいて、前記複数の処理経路のそれぞれの前記第１のスキュー補正手段により補正された前記複数の前記第２のデータについて、前記複数の処理経路の間のタイミングのずれを補正する第２のスキュー補正手段を更に備えることを特徴とする撮像装置を提供する。
【０００９】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【００１０】
本発明によれば、複数の経路で伝送されるデータの間のタイミングのずれを効率的に補正することが可能となる。
【図面の簡単な説明】
【００１１】
【図１Ａ】センサ１００の構成を示すブロック図。
【図１Ｂ】画像処理部１４０の構成を示すブロック図。
【図２】送信データ処理回路１０６，１０７の構成を示すブロック図。
【図３】リンク内スキュー補正回路１３５，１３６の構成を示すブロック図。
【図４】リンク内スキュー補正回路１３５，１３６の入力と出力とを表した概念図。
【図５】データ処理回路１３７，１３８の構成を示すブロック図。
【図６】レーン内同期コード検出部５０１〜５０３の構成を示すブロック図。
【図７】レーン内同期コード検出部５０１〜５０３に入力されるパラレルデータの各シンボルと、同期コードの期待値のシンボルとを示す概念図。
【図８】リンク間スキュー補正回路１３９の構成を示すブロック図
【図９】リンク間スキュー補正回路１３９の入力と出力とを表した概念図。
【図１０】撮像装置１００１の構成を示すブロック図。
【図１１】リンク内スキュー補正回路１３５，１３６の動作の例を示す図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１３】
［第１の実施形態］
図１０は、第１の実施形態に係る撮像装置１００１の構成を示すブロック図である。撮像光学系１００２は、レンズを含み、撮影する画像をセンサ１００に結像させる。センサ１００は、画像データを生成する。センサ１００は、後述のように画素部やその周辺の回路を含み、これらの回路が１つの集積回路チップとして構成されている。画像処理部１４０は、画像データに対して画像処理及び圧縮処理等を行う。操作部１００４は、ユーザが撮像装置１００１に対して撮影操作や再生画像の表示画角変更の操作などを指示するための操作部である。表示部１００５は、ライブビュー画像や撮影画像の再生表示、及び、カメラ操作パラメータの設定や確認のためのメニュー表示等の表示を行う。記憶部１００６は、画像処理部１４０で処理した撮影画像を記憶する。システム制御部１００３は、撮像装置１００１の各部を制御することにより撮像装置１００１全体を制御する。画像処理部１４０及びシステム制御部１００３は、１つの集積回路チップとして構成されてもよい。
【００１４】
次に、図１Ａ及び図１Ｂを参照して、センサ１００及び画像処理部１４０の詳細について説明する。なお、図１Ａ及び図１Ｂにおいては、本実施形態の説明に不要な構成要素については図示を省略している。
【００１５】
図１Ａにおいて、発振器１０１は、動作の基準となる基準クロックをセンサ１００と画像処理部１４０に対して出力する。この発振器１０１から出力される基準クロックに基づいて、後述する各部が動作する。ＳＳＧ１２２（同期信号発生器）は、基準クロックに同期して水平同期信号ＨＤ及び垂直同期信号ＶＤを出力する。ＴＧ１０２（タイミング信号発生器）は、ＳＳＧ１２２から供給される同期信号ＨＤ／ＶＤに基づいて、センサ１００を駆動するための駆動パルス信号（第１のタイミング信号）を発生する。ここでは、ＳＳＧ１２２からＴＧ１０２へ同期信号ＨＤ／ＶＤを供給する例を示すが、ＳＳＧ１２２からＴＧ１０２へ垂直同期信号ＶＤのみを供給してもよい。この場合、ＴＧ１０２は、垂直同期信号ＶＤを供給されたタイミングをきっかけに、予め定められた周期に基づいて水平同期信号ＨＤを発生させることにより、駆動パルス信号（第１のタイミング信号）を発生する。
【００１６】
画素部１０５は、例えばＣＣＤやＣＭＯＳから構成される撮像素子の画素部である。この画素部１０５は、その内部に、光電変換を行うフォトダイオード等の受光素子と、この受光素子で得られた画素信号をＴＧ１０２から供給される駆動パルス信号（駆動信号）に従って順次出力する転送路とを有する。画素部１０５は更に、画素信号を増幅するアンプ、画素信号をデジタル信号に変換するＡ／Ｄ変換器等を有する。画素部１０５は、各画素のデータを、１画素（サンプル）ｎビット（ｎは２以上の整数）のデジタルデータとして出力する。
【００１７】
図１Ａでは、画素部１０５が画素信号を２つの処理経路に出力する例を示しているが、処理経路の数は２つに限定されるものではない。各処理経路に対しては、各々を駆動するためのＴＧ１０３，１０４をそれぞれ備える。ＴＧ１０３，１０４は、基準クロック及びＴＧ１０２から分配された同期信号ＨＤ／ＶＤに基づき、処理経路を駆動するタイミング信号（第２のタイミング信号）を発生させる。従って、ＴＧ１０３，１０４が発生するタイミング信号は、ＴＧ１０２が発生する駆動パルス信号に関連している。ＴＧ１０３，１０４は、それぞれ対応する処理経路を適切に駆動するのに適した位置に配置されており、ＴＧ１０２からの信号の配線距離が異なるので、それぞれ非同期に動作する。なお、前述のようにＳＳＧ１２２からＴＧ１０２へ垂直同期信号ＶＤのみを供給する構成の場合、ＴＧ１０２からＴＧ１０３，１０４へ分配される水平同期信号ＨＤは、ＴＧ１０２により発生された水平同期信号ＨＤである。
【００１８】
送信データ処理回路１０６，１０７は、基準クロック、ＴＧ１０３，１０４からのタイミング信号、及び画素部１０５からの画素信号に基づき、所定のプロトコルに従った送信データを生成してパラレル形式のデータ（パラレルデータ）として出力する。具体的には、送信データ処理回路１０６，１０７は、有効な画素信号を送信する前に予め行われるトレーニングシーケンスのデータや、同期コードの付加等を行う。同期コードは、タイミング信号（より厳密には、タイミング信号において水平同期信号ＨＤに対応する信号）に同期している。送信データ処理回路１０６，１０７は、伝送プロトコル上のリンク層にあたり、それぞれ非同期で駆動している。
【００１９】
Ｐ／Ｓ変換器１０８〜１１３は、対応する送信データ処理回路１０６，１０７から出力されるパラレルデータをシリアル形式のデータ（シリアルデータ）に変換する。変換されたシリアルデータは、送信ドライバ１１６〜１２１により、基板やケーブルを経由して受信ドライバ１２３〜１２８（図１Ｂ）へ供給される。送信ドライバ１１６〜１２１と受信ドライバ１２３〜１２８の間は、それぞれ通信ラインなどで接続される。
【００２０】
ＰＬＬ１１４，１１５は、それぞれ発振器１０１からの基準クロックの周波数を逓倍し、所定の周波数のシリアルクロックを生成する。ＰＬＬ１１４，１１５は、Ｐ／Ｓ変換器１０８〜１１３によるシリアルデータへの変換レートに合わせた周波数のシリアルクロックを、Ｐ／Ｓ変換器１０８〜１１３へ供給する。Ｐ／Ｓ変換器１０８〜１１０に供給されるシリアルクロックとＰ／Ｓ変換器１１１〜１１３に供給されるシリアルクロックとは、周波数は同じであるが、異なるＰＬＬから出力されるため、同期関係はない。
【００２１】
図１Ａでは、送信データ処理回路１０６，１０７のそれぞれが３セットのパラレルデータを出力する例を示している。以下、送信データ処理回路１０６から送信される複数セットのパラレルデータを処理する経路のことをリンクＡの処理経路、送信データ処理回路１０７から送信される複数セットのパラレルデータを処理する経路のことをリンクＢの処理経路と呼ぶ。また、複数セットのパラレルデータの各々に対応する経路の各々を、「レーン」と呼ぶ。リンクＡの処理経路とリンクＢの処理経路とは非同期に動作するので、タイミング信号の受け渡しタイミングによっては、処理するデータにスキューが生じることがある。このスキューを、リンク間スキューと呼ぶ。また、リンクＡ及びリンクＢそれぞれの処理経路内においても、Ｐ／Ｓ変換器のリセット解除タイミングの違いや、送信ドライバから受信ドライバへの伝送路の配線長差による伝搬遅延時間の違いによって、スキューが生じる。このスキューを、リンク内スキューと呼ぶ。リンク間スキューは、ＴＧ１０２から分配される水平同期信号ＨＤがリンクＡの処理経路とリンクＢの処理経路とで非同期に取り扱われることに起因する。リンク間スキューは、各水平同期期間でスキューの量が変化し、一定ではない。他方、リンク内スキューは、スキューの発生要因が動的に変化するものではないため、スキューの量は変化せず、一定である。
【００２２】
図２を参照して、送信データ処理回路１０６の構成について説明する。送信データ処理回路１０７の構成は、送信データ処理回路１０６の構成と同様である。図２において、カウンタ２０１は、基準クロックに従って処理サイクルをカウントする。ＦＳＭ２０２（ステートマシン回路）は、カウンタ２０１のカウント値と、ＴＧ１０３からのタイミング信号とに従い、出力セレクタ２０６〜２０８の出力が所定のプロトコルに従ったデータとなるよう切り替える指示信号を出力する。具体的には、送信データ処理回路１０６は、データの先頭に、トレーニングシーケンス生成部２０４が出力するトレーニングシーケンスのデータを所定時間出力する。
【００２３】
トレーニングシーケンスのデータには、予め定められた特定の制御コードが含まれており、後述するリンク内スキューを補正（解消）する動作に使用される。また、トレーニングシーケンスは、例えば、撮像装置１００１の電源投入後、センサ１００が画像データを最初に送信するまでの間に実行される。そして、本実施形態では、一度トレーニングシーケンスを実行した後は、リンク内スキューの原因となる構成要素（Ｐ／Ｓ変換器１０８〜１１３など）の電源がオフになるまではトレーニングシーケンスを実行しないものとする。なお、センサ１００の駆動周波数を外部から変更可能な構成とした場合には、センサ１００の駆動周波数が変更になった後、画像データを最初に送信するまでの間にトレーニングシーケンスが実行される構成としてもよい。
【００２４】
同期コード生成部２０３は、画素信号の各水平ラインに対して、タイミング信号（より厳密には、タイミング信号において水平同期信号ＨＤに対応する信号）に同期した同期コードの付加を行う。同期コードとは、予め決められたシンボル長のデータ（シンボル）の特定のパターンを意味する。例えば、同期コードが４シンボルで構成されるとすると、同期コードは、｛同期コード１，同期コード２，同期コード３，同期コード４｝＝｛０ｘ００，０ｘ００，０ｘＦＦ，０ｘＦＦ｝といったデータの並びである。受信側は、これらのデータパターンをパターンマッチングにより検出し、同期コードとその位相を検出できる。
【００２５】
ＩＤＬＥコード生成部２０５は、送信するべきデータが無い場合に、無効データ期間であることを示すＩＤＬＥコードを生成して出力する。
【００２６】
ここで再び図１Ｂを参照する。Ｓ／Ｐ変換器１２９〜１３４はそれぞれ、受信ドライバ１２３〜１２８からのシリアルデータを取得して内部のシフトレジスタに蓄える。Ｓ／Ｐ変換器１２９〜１３４は、蓄えられたシリアルデータから、予め決められたシンボル長のデータのうち特定のデータを検出し、その検出タイミングに従って、予め決められたシンボル長毎にパラレルデータとして出力する。更に、Ｓ／Ｐ変換器１２９〜１３４はそれぞれ、データを受信するためのクロックをシリアルデータから復元する。また、Ｓ／Ｐ変換器１２９〜１３４は、復元したクロックをパラレルデータのシンボル長に合わせて分周し、この分周したクロックも出力する。
【００２７】
クロック乗り換え回路１４１は、例えば書き込みクロックと読み出しクロックが別々に入力されるＦＩＦＯで構成される。クロック乗り換え回路１４１は、書き込みクロックとして、Ｓ／Ｐ変換器１２９〜１３４それぞれから出力されるクロックを使用する。クロック乗り換え回路１４１は、読み出しクロックとして、Ｓ／Ｐ変換器１２９〜１３４から出力されるクロックのうちどれか１つを選択して使用する。Ｓ／Ｐ変換器１２９〜１３４から出力されるパラレルデータは、前述の選択したクロックに同期したタイミングで後段の回路へ出力される。後段の回路は、クロック乗り換え回路１４１において選択された、読み出し用のクロックに同期して動作する。なお、クロック乗り換え回路１４１における読み出し用のクロックに関しては、ここで説明した例に限定されない。他の例として、外部の発振器からのクロックを各Ｓ／Ｐ変換器から出力されるパラレルクロックと同じ周波数に逓倍したものを、読み出し用のクロックとしてクロック乗換え回路１４１へ入力してもよい。
【００２８】
リンク内スキュー補正回路１３５，１３６は、入力された３レーンのパラレルデータのリンク内スキューを補正してデータ処理回路１３７，１３８へ出力する。図３を参照して、リンク内スキュー補正回路１３５の構成について説明する。リンク内スキュー補正回路１３６の構成は、リンク内スキュー補正回路１３５の構成と同様である。
【００２９】
図３において、バッファ制御部１  ３０１に入力されたパラレルデータは、クロックで動作するカウンタ３０２に従って、順次バッファ０  ３０３、バッファ１  ３０４・・・の順に格納される。また、同時に、制御コード検出部３０７は、パラレルデータから予め定められた特定の制御コードを検出し、検出したことをリードポインタ生成部３３０へ通知する。バッファ制御部２  ３１１及び，バッファ制御部３  ３２１については、バッファ制御部１  ３０１と同様の構成であるので説明を省略する。
【００３０】
なお、制御コードが所定のパターンを持つ複数のシンボル（シンボル群）として定義されている場合、閾値を利用した判定を行うことにより、ビットエラーが起きて制御コードの一部が壊れてしまうといったケースに対してエラー耐性を持つことができる。この場合、制御コード検出部３０７は、閾値以上の数のシンボルが制御コードのパターンに一致するシンボル群をパラレルデータから検出した場合に、制御コードを検出したと判断する。これを実現する具体的な回路構成としては、例えば、図６及び図７を参照して後述するレーン内同期コード検出部５０１による同期コードの検出の場合と同様の回路構成を利用可能である。
【００３１】
リードポインタ生成部３３０は、各バッファ制御部からの制御コード検出結果を受けたタイミングと、全バッファ制御部の制御コード検出結果が揃ったタイミングとに基づき、バッファ制御部間の位相差を算出する。そして、リードポインタ生成部３３０は、算出した位相差に基づき、各バッファ制御部に対してバッファのリードポインタを通知する。
【００３２】
リンク内スキュー補正回路１３５，１３６の動作の例を図１１に示す。リードポインタ生成部３３０は、各バッファ制御部から通知される制御コード検出結果を待ち、いずれかのバッファ制御部から制御コード検出結果が出力されると、内部リードポインタをインクリメントし始める。図１１では、バッファ制御部１  ３０１からの制御コード検出結果１により内部リードポインタのインクリメントが開始する例を示している。この内部リードポインタと制御コード検出結果が通知されたタイミングとから、バッファ制御部間のオフセットを判断できる。図１１では、制御コード検出結果２が通知されたタイミングでは内部リードポインタは１に進んでいるので、バッファ制御部２  ３１１のオフセットは１である。また、制御コード検出結果３が通知されたタイミングでは内部リードポインタは２に進んでいるので、バッファ制御部３  ３２１のオフセットは２である。
【００３３】
リードポインタ生成部３３０は、全バッファ制御部から制御コード検出結果が出力されたことを検知すると、各バッファ制御部に対して、内部リードポインタにリンク内スキューを取り除くためのオフセットを加えた値を、リードポインタとして通知する。このリードポインタに従って各バッファ制御部がバッファからのデータを読み出すことで、リンク内スキューが取り除かれた状態になる。トレーニングシーケンスにおいては、制御コードの直前には有効データが送信されず、無効データが送信される。そのため、このように各バッファ制御部がリードポインタに応じてバッファを選択した場合でも、有効データがスキップされて出力されなくなることはない。
【００３４】
図４は、リンク内スキュー補正回路１３５，１３６の入力と出力とを表した概念図である。データ４０１〜４０６はそれぞれ、受信ドライバ１２３〜１２８に対応する経路（レーン）から入力されるデータである。データ４０１〜４０６はそれぞれ、トレーニングシーケンスのデータと、各水平ラインの先頭を示す同期コードと、画素信号と、無効期間を示すデータ（ＩＤＬＥコード）とから構成される。トレーニングシーケンスのデータ中には、予め定められた特定の制御コードが含まれている。リンク内スキュー補正回路１３５，１３６は、各レーンでこの制御コードを検出し、検出タイミングに基づいてリンク内スキューを補正する。データ４０７〜４１２はそれぞれ、データ４０１〜４０６に対応する出力データである。
【００３５】
前述のように、リンク内スキューはスキューの発生要因が動的に変化するものではないため、スキューの量は変化せず、一定である。そのため、トレーニングシーケンスにおいてリンク内スキューが補正された後は、リンク内での位相差が発生することはない。
【００３６】
一方、この時点では各リンクのリンク内スキューが補正されているだけで、リンク間スキューは残ったままである。リンク間スキューを補正するため、リンク内スキュー補正回路１３５，１３６と同様の構成をリンクＡの処理経路とリンクＢの処理経路の全てのレーンに対して適用し、全レーンのスキューを一括して補正してしまう構成も考えられる。
【００３７】
しかしながら、前述したようにリンク間スキューは各水平同期期間でスキューの量が動的に変化する。そのため、たとえトレーニングシーケンス中の制御コードによってデータの先頭でスキューが補正されたとしても、その後各水平同期期間でデータにスキューが生じてしまう。そのため、本実施形態では、リンクＡの処理経路とリンクＢの処理経路のそれぞれに対するリンク内スキューを補正しておくのに留める。
【００３８】
なお、図４の例では、トレーニングシーケンスのデータは画素信号の前に付加されている。即ち、送信データ処理回路１０６，１０７は、リンク内スキューの原因となる構成要素（Ｐ／Ｓ変換器１０８〜１１３など）が起動した後、最初に同期コード及び画素信号を出力するタイミングを利用している。このタイミングで、送信データ処理回路１０６，１０７は、同期コード及び画素信号（第２のデータ）の出力に先立ってトレーニングシーケンスのデータ（第１のデータ）を出力する。しかしながら、トレーニングシーケンスのデータは、他のタイミングで画素信号から独立して単独で伝送されてもよい。例えば、リンク内スキューの原因となる構成要素（Ｐ／Ｓ変換器１０８〜１１３など）が起動したタイミングで、送信データ処理回路１０６，１０７は、トレーニングシーケンスのデータのみを生成し、パラレルデータとして出力する。リンク内スキュー補正回路１３５，１３６は、受信ドライバ１２３〜１２８等を介してトレーニングシーケンスのデータを受信し、各バッファ制御部（図３参照）のオフセットを判断する。その後、画素部１０５が画素信号を出力すると、リンク内スキュー補正回路１３５，１３６は、画素信号に同期データ（及び、必要に応じてＩＤＬＥコード）を付加し、パラレルデータとして出力する。リンク内スキュー補正回路１３５，１３６は、このパラレルデータを取得すると、事前に判断したオフセットに基づいてリンク内スキューを補正する。
【００３９】
図１Ｂに戻り、データ処理回路１３７，１３８は、入力されたデータに含まれる同期コードの検出を行い、同期コードを検出したことを示す同期コード検出信号を出力する。図５を参照して、データ処理回路１３７の構成について説明する。データ処理回路１３８の構成は、データ処理回路１３７の構成と同様である。
【００４０】
図５において、レーン内同期コード検出部５０１〜５０３は、リンク内の各々のレーンで同期コードを検出する。加算器５０４は、各レーン内同期コード検出部からの同期コード検出信号を加算する。比較器５０５は、加算結果と予め設定された閾値とを比較し、加算結果が閾値以上となった場合にリンク内同期コード検出信号を出力する。例えば、レーン内同期コード検出部５０１，５０２からは同期コード検出信号が出力され、レーン内同期コード検出部５０３からはビットエラー等の要因により同期コード検出信号が出力されなかったとする。このような場合、閾値を２とすると、同期コード検出信号は２つ出力されているので、比較器５０５は、リンク内同期コード検出信号を出力する。
【００４１】
レーン内同期コード検出部５０１〜５０３より出力される各サンプルのデータは１つにまとめられて出力データとして出力される。ここで、レーン内同期コード検出部５０１〜５０３に入力されるパラレルデータ１〜３は既に同期している。そのため、例えば、レーン内同期コード検出部５０１〜５０３に入力されるデータが１サンプルｎビットである場合、レーン内同期コード検出部５０１〜５０３より出力される各サンプルのデータは１つにまとめられ、３ｎビットのデータとして出力される。
【００４２】
このように、複数のレーンの同期コード検出結果を合わせて評価することで、特定のレーンでビットエラーが起きてそのレーンで同期コードが検出できないといったケースに対してエラー耐性を持つことができる。
【００４３】
図６を参照して、レーン内同期コード検出部５０１の構成について説明する。レーン内同期コード検出部５０２，５０３の構成は、レーン内同期コード検出部５０１の構成と同様である。ここでは、同期コードが４シンボルで構成される例を示している。
【００４４】
図６において、遅延素子６０１〜６０４は、入力されたパラレルデータを遅延させる。比較器６０５〜６０８はそれぞれ、対応する遅延素子６０１〜６０４の出力を、４シンボルの同期コードの各シンボルの期待値と比較する。各比較器は、遅延素子６０１〜６０４の出力が期待値と一致した場合は１を出力し、一致しない場合は０を出力する。加算器６０９は、各比較器からの出力を加算する。比較器６１０は、加算結果と予め設定された閾値とを比較し、加算結果が閾値以上となった場合に同期コード検出信号を出力する。
【００４５】
図７は、レーン内同期コード検出部５０１〜５０３に入力されるパラレルデータの各シンボルと、同期コードの期待値のシンボルとを示す概念図である。図７の例では、パラレルデータの１シンボル目、２シンボル目、及び４シンボル目は、それぞれ期待値１、期待値２、期待値４と一致している。パラレルデータの３シンボル目は、ビットエラーによるデータ壊れが発生しており、ＡＬＬ  １の期待値３に対して異なる値となっている。このような場合、閾値を３とすると、期待値と一致する入力シンボルは３つであるので、レーン内同期コード検出部５０１は、同期コード検出信号を出力する。
【００４６】
このように、同期コードは所定のパターンを持つ複数のシンボル（シンボル群）として定義されており、レーン内同期コード検出部５０１は、各々のシンボルの期待値との比較結果を合わせて評価する。即ち、レーン内同期コード検出部５０１は、閾値以上の数のシンボルが同期コードのパターンに一致するシンボル群をパラレルデータから検出した場合に、同期コードを検出したと判断する。これにより、あるサイクルでビットエラーが起きて同期コードの一部が壊れてしまうといったケースに対してエラー耐性を持つことができる。
【００４７】
図１Ｂに戻り、リンク間スキュー補正回路１３９は、データ処理回路１３７から出力されるパラレルデータＡ及びリンク内同期コード検出信号Ａと、データ処理回路１３８から出力されるパラレルデータＢ及びリンク内同期コード検出信号Ｂとを受信する。そして、リンク間スキュー補正回路１３９は、リンク内同期コード検出信号Ａ，Ｂに基づき、パラレルデータＡ，Ｂに関するリンク間スキューを補正する。
【００４８】
図８を参照して、リンク間スキュー補正回路１３９の構成について説明する。図８において、遅延素子８０１〜８０４は、パラレルデータＡを遅延させる。遅延素子８０５〜８０８は、リンク内同期コード検出信号Ａを遅延させる。遅延素子８０９〜８１６は、パラレルデータＢを遅延させる。遅延素子８１７〜８２４は、リンク内同期コード検出信号Ｂを遅延させる。これらの遅延素子はフリップフロップで構成されており、それぞれパラレルクロックに同期して、入力したデータを右（出力）方向にシフトする。
【００４９】
デコーダ８２５は、遅延素子８１７〜８２４の各出力ｄｌｙＦ１〜ｄｌｙＦ８を取得してデコードする。ロード付きＤＦＦ８２６（Ｄタイプのフリップフロップ）は、デコーダ８２５の出力を、遅延素子８０８の出力がハイレベルになったときにラッチする。セレクタ８２７は、ロード付きＤＦＦ８２６から出力されるデコードデータに応じて、遅延素子８０９〜８１６の何れかの出力を選択する。こうして、セレクタ８２７から出力されるデータＢと、遅延素子８０４から出力されるデータＡとが連結されて出力データとなり、遅延素子８０８の出力がリンク間同期コード検出信号の出力となる。
【００５０】
図９は、リンク間スキュー補正回路１３９の入力と出力とを表した概念図である。パラレルデータＡとパラレルデータＢとの間には、クロック１サイクル分のスキューがついている。デコーダ８２５のデコード条件は、リンク内同期コード検出信号Ｂが有効（即ち「１」）であるタイミングと同時に入力されたパラレルデータＢを保持している遅延素子８０９〜８１６のいずれかの出力をセレクタ８２７により選択するものである。デコーダ８２５の出力は遅延素子８０８の出力がハイレベルになったときにラッチされるので、結果として、パラレルデータＡが４サイクル遅延した信号とパラレルデータＢが３サイクル遅延した信号が揃った状態で出力されることとなる。
【００５１】
以上説明したように、第１の実施形態によれば、リンク内スキューは、その原因となる構成要素（Ｐ／Ｓ変換器１０８〜１１３など）が起動した後は、スキューの量が変化しない。また、リンク間スキューは、各水平同期期間でスキューの量が変化する。このような状況において、撮像装置１００１は、最初に画素信号を伝送する前に、制御コードに基づいてリンク内スキューの量（図３の各バッファ制御部のオフセット）を特定する。そして、撮像装置１００１は、画素信号を伝送する場合、リンク内スキューを補正した後に、リンク間スキューを補正する。これにより、複数の経路で伝送されるデータの間のタイミングのずれを効率的に補正することが可能となる。
【００５２】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５３】
１０５…画素部、１０６，１０７…送信データ処理回路、１０８〜１１３…Ｐ／Ｓ変換器、１２９〜１３４…Ｓ／Ｐ変換器、１３５，１３６…リンク内スキュー補正回路、１３７，１３８…データ処理回路、１３９…リンク間スキュー補正回路
【図１Ａ】
2018082282.tif 000003
【図１Ｂ】
2018082282.tif 000004
【図２】
2018082282.tif 000005
【図３】
2018082282.tif 000006
【図４】
2018082282.tif 000007
【図５】
2018082282.tif 000008
【図６】
2018082282.tif 000009
【図７】
2018082282.tif 000010
【図８】
2018082282.tif 000011
【図９】
2018082282.tif 000012
【図１０】
2018082282.tif 000013
【図１１】
2018082282.tif 000014