(57)【特許請求の範囲】
【請求項１】
撮像部と、
ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダを生成するヘッダ生成部と、
前記撮像部による撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットを生成するパケット生成部と、
前記パケット生成部により生成された前記パケットを画像処理装置に出力する出力部と
を備える画像出力装置。
【請求項２】
前記第１のフレーム情報、前記第２のフレーム情報、および前記第１のライン情報は、それぞれ１ビットの情報であり、
前記第２のライン情報は、１３ビットの情報である
請求項１に記載の画像出力装置。
【請求項３】
前記ヘッダ生成部は、前記ヘッダ情報と前記誤り検出符号との組を複数含む前記ヘッダを生成する
請求項１または２に記載の画像出力装置。
【請求項４】
前記パケット生成部により生成された前記パケットの先頭に、パケットの開始位置を表す開始コードを付加し、前記パケットの末尾に、パケットの終了位置を表す終了コードを付加する付加部をさらに備える
請求項１乃至３のいずれかに記載の画像出力装置。
【請求項５】
前記付加部は、前記画像出力装置と前記画像処理装置の間の伝送路のデータの伝送レートが、前記撮像部が出力する前記画素データの伝送レートより大きい場合、パディングコードを前記パケットのペイロードに付加する
請求項４に記載の画像出力装置。
【請求項６】
前記付加部は、複数の前記伝送路を介して伝送されてきた前記パケットのデータの同期を確保するために前記画像処理装置において用いられるスキューコードを前記終了コードに続けて付加し、
前記出力部は、前記開始コード、前記終了コード、前記スキューコードが少なくとも付加された前記パケットのデータを、複数の前記伝送路を用いて同時に前記画像処理装置に出力する
請求項５に記載の画像出力装置。
【請求項７】
前記付加部は、所定の数のビットの並びから構成される既知の情報である複数のシンボルのうち、
３種類の前記シンボルを４つ組み合わせることによって前記開始コードと前記終了コードを生成して前記パケットに付加し、
４種類の前記シンボルを４つ組み合わせることによって前記パディングコードを生成して前記パケットのペイロードに付加し、
所定の前記シンボルを２つ組み合わせることによって前記スキューコードを生成して前記パケットに付加する
請求項６に記載の画像出力装置。
【請求項８】
前記付加部は、前記開始コード、前記終了コード、および前記スキューコードを、同じ種類の前記シンボルを少なくとも１つ含むように生成する
請求項７に記載の画像出力装置。
【請求項９】
前記パケット生成部により生成された前記パケットのデータを複数の前記伝送路に割り当てる分配部をさらに備え、
前記付加部と前記出力部は、複数の前記伝送路に対応して、前記伝送路の数と同じ数だけ設けられる
請求項６に記載の画像出力装置。
【請求項１０】
前記撮像部は、同じ位置の画素のデータとして複数の画素データを出力し、
前記ヘッダ生成部は、ペイロードに含まれる画素データの識別情報をさらに含む前記ヘッダを生成する
請求項１乃至９のいずれかに記載の画像出力装置。
【請求項１１】
前記撮像部は、異なるゲインを用いてA/D変換を行うことによって得られた複数の画素データ、異なる分解能でA/D変換を行うことによって得られた複数の画素データ、異なるシャッタスピードで露光を行うことによって得られた複数の画素データ、縦分光型の配置を有する画素によって得られた複数の画素データ、または、同じ位置の画素が感度の異なる複数の画素からなる場合にそれぞれの画素から得られた複数の画素データを出力する
請求項１０に記載の画像出力装置。
【請求項１２】
前記ヘッダ生成部は、ペイロードに含まれる画素データが得られた前記撮像部の領域の識別情報をさらに含む前記ヘッダを生成する
請求項１乃至１１のいずれかに記載の画像出力装置。
【請求項１３】
撮像し、
ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダを生成し、
撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットを生成し、
生成した前記パケットを画像処理装置に出力する
ステップを含む画像出力方法。
【請求項１４】
撮像し、
ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダを生成し、
撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットを生成し、
生成した前記パケットを画像処理装置に出力する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１５】
撮像して得られた画像を構成する１ライン分の画素データを含むデータの伝送に用いられる伝送データのデータ構造であって、
パケットの先頭に付加された、前記パケットの開始位置を表す開始コードと、
ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、撮像して得られた画像を構成する１ライン分の画素データを含むペイロードに付加された前記パケットと、
前記パケットの末尾に付加された、パケットの終了位置を表す終了コードと、
前記終了コードに続けて付加された、前記パケットのデータの同期を確保するために前記パケットのデータを受信した画像処理装置において用いられるスキューコードと
からなる伝送データのデータ構造。
【請求項１６】
同じ機器内に設けられる画像出力装置において生成され、前記画像出力装置から出力された、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、前記画像出力装置の撮像部による撮影によって得られた画像を構成する１ライン分の画素データを含むペイロードに付加されたパケットを受信する受信部と、
前記受信部により受信された前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像を処理する画像処理部と
を備える画像処理装置。
【請求項１７】
前記ヘッダには、前記ヘッダ情報と前記誤り検出符号との組が複数含まれており、
それぞれの組を対象として、前記ヘッダ情報の誤りをその前記ヘッダ情報と同じ組を構成する前記誤り検出符号に基づいて検出する誤り検出部と、
前記誤り検出部により誤りが検出されなかった前記ヘッダ情報に基づいて、ペイロードに含まれる前記画素データからなる１フレームの前記画像を生成する生成部と
をさらに備え、
前記画像処理部は、前記生成部により生成された前記画像を処理する
請求項１６に記載の画像処理装置。
【請求項１８】
前記パケットの先頭には、パケットの開始位置を表す開始コードが付加され、前記パケットの末尾には、パケットの終了位置を表す終了コードが付加されており、
前記受信部は、前記開始コードを受信してから前記終了コードを受信するまでのデータを前記パケットのデータとして受信する
請求項１６または１７に記載の画像処理装置。
【請求項１９】
前記開始コードと前記終了コードを除去するとともに、前記画像出力装置と前記画像処理装置の間の伝送路の伝送レートが、前記画像出力装置の前記撮像部が出力する前記画像の画素データの伝送レートより大きい場合に前記画像出力装置において前記パケットのペイロードに付加されたパディングコードを除去する除去部をさらに備える
請求項１８に記載の画像処理装置。
【請求項２０】
前記画像出力装置においては、前記終了コードに続けてスキューコードが付加され、前記開始コード、前記終了コード、前記スキューコードが少なくとも付加された前記パケットのデータが、複数の前記伝送路を用いて同時に出力され、
前記受信部により受信されたデータの受信タイミングのずれを、前記スキューコードに基づいて補正する補正部をさらに備え、
前記受信部と前記補正部と前記除去部は、複数の前記伝送路に対応して、前記伝送路の数と同じ数だけ設けられる
請求項１９に記載の画像処理装置。
【請求項２１】
前記画像出力装置においては、所定の数のビットの並びから構成される既知の情報である複数のシンボルのうち、
３種類の前記シンボルを４つ組み合わせることによって前記開始コードと前記終了コードが生成されて前記パケットに付加され、
４種類の前記シンボルを４つ組み合わせることによって前記パディングコードが生成されて前記パケットのペイロードに付加され、
所定の前記シンボルを２つ組み合わせることによって前記スキューコードが生成されて前記パケットに付加される
請求項２０に記載の画像処理装置。
【請求項２２】
前記画像出力装置においては、前記開始コード、前記終了コード、および前記スキューコードが、同じ種類の前記シンボルを少なくとも１つ含むようにして生成される
請求項２１に記載の画像処理装置。
【請求項２３】
前記受信部は、ペイロードに含まれる画素データの識別情報を含む前記ヘッダが付加された前記パケットを受信し、
前記画像処理部は、同じ前記識別情報を含む前記ヘッダが付加されたペイロードに含まれる前記画素データを合成することによって前記画像を生成する
請求項１６乃至２２のいずれかに記載の画像処理装置。
【請求項２４】
前記受信部は、ペイロードに含まれる画素データが得られた前記撮像部の領域の識別情報を含む前記ヘッダを受信し、
前記画像処理部は、同じ前記識別情報を含む前記ヘッダが付加されたペイロードに含まれる前記画素データを合成することによって前記画像を生成する
請求項１６乃至２３のいずれかに記載の画像処理装置。
【請求項２５】
同じ機器内に設けられる画像出力装置において生成され、前記画像出力装置から出力された、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、前記画像出力装置の撮像部による撮影によって得られた画像を構成する１ライン分の画素データを含むペイロードに付加されたパケットを受信し、
受信した前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像を処理する
ステップを含む画像処理方法。
【請求項２６】
同じ機器内に設けられる画像出力装置において生成され、前記画像出力装置から出力された、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、前記画像出力装置の撮像部による撮影によって得られた画像を構成する１ライン分の画素データを含むペイロードに付加されたパケットを受信し、
受信した前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像を処理する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項２７】
画像出力装置と画像処理装置とを含む撮像装置であって、
前記画像出力装置は、
撮像部と、
ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダを生成するヘッダ生成部と、
前記撮像部による撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットを生成するパケット生成部と、
前記パケット生成部により生成された前記パケットを前記画像処理装置に出力する出力部と
を備え、
前記画像処理装置は、
前記パケットを受信する受信部と、
前記受信部により受信された前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像を処理する画像処理部と
を備える
撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、画像出力装置、画像出力方法、画像処理装置、画像処理方法、プログラム、データ構造、および撮像装置に関し、特に、画像データを効率的に伝送することができるようにした画像出力装置、画像出力方法、画像処理装置、画像処理方法、プログラム、データ構造、および撮像装置に関する。
【背景技術】
【０００２】
イメージセンサの高画質化、高フレームレート化に伴い、イメージセンサと、イメージセンサにより撮像された画像を処理するDSP(Digital Signal Processor)との間のインタフェースに求められるデータの伝送容量が高まってきている。
【０００３】
このような要求に応えるため、例えば、インタフェースのクロック周波数の向上、信号の低電圧化などの手法が採用されているが、この手法によれば、DSP側でのサンプリングタイミングの生成の難易度が高くなり、データを正しく伝送することが難しくなる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Serial ATA:  High Speed Serialized AT Attachment  Revision 1.0a  7-January-2003
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、チップ間の伝送容量を高めるための規格としては、PCI-ExpressやSerial ATA等の規格がある。PCI-ExpressやSerial ATAにおいては、CDR(Clock Data Recovery)回路やイコライザの高性能化によって高い伝送容量が実現されている。また、携帯電話機向けのチップ間インタフェースとしてMIPI(Mobile Industry Processor Interface)規格がある。
【０００６】
これらの規格は、CPU(Central Processing Unit)間のインタフェースなど、より汎用的なインタフェース規格として作られていることもあって、イメージセンサ−DSP間のインタフェースとしては冗長な機能が多い。仮に、イメージセンサ−DSP間のインタフェースにこれらの規格を採用するとした場合、イメージセンサ−DSP間のインタフェースとしては不要な機能をも実装する必要があり、回路面積、消費電力、実装コストが増加してしまう。
【０００７】
特に、伝送エラー対策用の回路を実装することの影響が大きい。MIPI等の規格では、受信側のチップが送信側のチップにデータの再送を要求することによって伝送エラーの対策が行われているが、撮像特性を重視するために先端／微細トランジスタを通常用いることが難しいデバイスであるイメージセンサにとっては回路面積等の増大になってしまう。MIPI等の規格では、受信側のチップが送信側のチップにデータの再送を要求するために、送信側のチップに比較的大きなバッファを再送用バッファとして用意する必要がある。
【０００８】
また、伝送エラーが生じた場合にデータの再送によってそれをカバーするものとすると、リアルタイム性が損なわれるため、高フレームレートの画像データを伝送することが困難になる。
【０００９】
本技術はこのような状況に鑑みてなされたものであり、画像データを効率的に伝送することができるようにするものである。
【課題を解決するための手段】
【００１０】
本技術の第１の側面の画像出力装置は、撮像部と、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダを生成するヘッダ生成部と、前記撮像部による撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットを生成するパケット生成部と、前記パケット生成部により生成された前記パケットを画像処理装置に出力する出力部とを備える。
【００１１】
前記第１のフレーム情報、前記第２のフレーム情報、および前記第１のライン情報は、それぞれ１ビットの情報であり、前記第２のライン情報は、１３ビットの情報であるようにすることができる。
【００１２】
前記ヘッダ生成部には、前記ヘッダ情報と前記誤り検出符号との組を複数含む前記ヘッダを生成させることができる。
【００１３】
前記パケット生成部により生成された前記パケットの先頭に、パケットの開始位置を表す開始コードを付加し、前記パケットの末尾に、パケットの終了位置を表す終了コードを付加する付加部をさらに設けることができる。
【００１４】
前記付加部には、前記画像出力装置と前記画像処理装置の間の伝送路のデータの伝送レートが、前記撮像部が出力する前記画素データの伝送レートより大きい場合、パディングコードを前記パケットのペイロードに付加させることができる。
【００１５】
前記付加部には、複数の前記伝送路を介して伝送されてきた前記パケットのデータの同期を確保するために前記画像処理装置において用いられるスキューコードを前記終了コードに続けて付加させ、前記出力部には、前記開始コード、前記終了コード、前記スキューコードが少なくとも付加された前記パケットのデータを、複数の前記伝送路を用いて同時に前記画像処理装置に出力させることができる。
【００１６】
前記付加部には、所定の数のビットの並びから構成される既知の情報である複数のシンボルのうち、３種類の前記シンボルを４つ組み合わせることによって前記開始コードと前記終了コードを生成して前記パケットに付加させ、４種類の前記シンボルを４つ組み合わせることによって前記パディングコードを生成して前記パケットのペイロードに付させ、所定の前記シンボルを２つ組み合わせることによって前記スキューコードを生成して前記パケットに付加させることができる。
【００１７】
前記付加部には、前記開始コード、前記終了コード、および前記スキューコードを、同じ種類の前記シンボルを少なくとも１つ含むように生成させることができる。
【００１８】
前記パケット生成部により生成された前記パケットのデータを複数の前記伝送路に割り当てる分配部をさらに設けることができる。この場合、前記付加部と前記出力部が、複数の前記伝送路に対応して、前記伝送路の数と同じ数だけ設けられるようにすることができる。
【００１９】
前記撮像部には、同じ位置の画素のデータとして複数の画素データを出力させ、前記ヘッダ生成部には、ペイロードに含まれる画素データの識別情報をさらに含む前記ヘッダを生成させることができる。
【００２０】
前記撮像部には、異なるゲインを用いてA/D変換を行うことによって得られた複数の画素データ、異なる分解能でA/D変換を行うことによって得られた複数の画素データ、異なるシャッタスピードで露光を行うことによって得られた複数の画素データ、縦分光型の配置を有する画素によって得られた複数の画素データ、または、同じ位置の画素が感度の異なる複数の画素からなる場合にそれぞれの画素から得られた複数の画素データを出力させることができる。
【００２１】
前記ヘッダ生成部には、ペイロードに含まれる画素データが得られた前記撮像部の領域の識別情報をさらに含む前記ヘッダを生成させることができる。
【００２２】
本技術の第１の側面の画像出力方法は、撮像し、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダを生成し、撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットを生成し、生成した前記パケットを画像処理装置に出力するステップを含む。
【００２３】
本技術の第１の側面のプログラムは、撮像し、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダを生成し、撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットを生成し、生成した前記パケットを画像処理装置に出力するステップを含む処理をコンピュータに実行させる。
【００２４】
本技術の第１の側面のデータ構造は、撮像して得られた画像を構成する１ライン分の画素データを含むデータの伝送に用いられる伝送データのデータ構造であって、パケットの先頭に付加された、前記パケットの開始位置を表す開始コードと、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、撮像して得られた画像を構成する１ライン分の画素データを含むペイロードに付加された前記パケットと、前記パケットの末尾に付加された、パケットの終了位置を表す終了コードと、前記終了コードに続けて付加された、前記パケットのデータの同期を確保するために前記パケットのデータを受信した画像処理装置において用いられるスキューコードとからなる構造を有する。
【００２５】
本技術の第２の側面の画像処理装置は、同じ機器内に設けられる画像出力装置において生成され、前記画像出力装置から出力された、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、前記画像出力装置の撮像部による撮影によって得られた画像を構成する１ライン分の画素データを含むペイロードに付加されたパケットを受信する受信部と、前記受信部により受信された前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像を処理する画像処理部とを備える。
【００２６】
前記ヘッダには、前記ヘッダ情報と前記誤り検出符号との組が複数含まれており、それぞれの組を対象として、前記ヘッダ情報の誤りをその前記ヘッダ情報と同じ組を構成する前記誤り検出符号に基づいて検出する誤り検出部と、前記誤り検出部により誤りが検出されなかった前記ヘッダ情報に基づいて、ペイロードに含まれる前記画素データからなる１フレームの前記画像を生成する生成部とをさらに設けることができる。この場合、前記画像処理部には、前記生成部により生成された前記画像を処理させることができる。
【００２７】
前記パケットの先頭には、パケットの開始位置を表す開始コードが付加され、前記パケットの末尾には、パケットの終了位置を表す終了コードが付加されており、前記受信部には、前記開始コードを受信してから前記終了コードを受信するまでのデータを前記パケットのデータとして受信させることができる。
【００２８】
前記開始コードと前記終了コードを除去するとともに、前記画像出力装置と前記画像処理装置の間の伝送路の伝送レートが、前記画像出力装置の前記撮像部が出力する前記画像の画素データの伝送レートより大きい場合に前記画像出力装置において前記パケットのペイロードに付加されたパディングコードを除去する除去部をさらに設けることができる。
【００２９】
前記画像出力装置においては、前記終了コードに続けてスキューコードが付加され、前記開始コード、前記終了コード、前記スキューコードが少なくとも付加された前記パケットのデータが、複数の前記伝送路を用いて同時に出力され、前記受信部により受信されたデータの受信タイミングのずれを、前記スキューコードに基づいて補正する補正部をさらに設けることができる。この場合、前記受信部と前記補正部と前記除去部が、複数の前記伝送路に対応して、前記伝送路の数と同じ数だけ設けられるようにすることができる。
【００３０】
前記画像出力装置においては、所定の数のビットの並びから構成される既知の情報である複数のシンボルのうち、３種類の前記シンボルを４つ組み合わせることによって前記開始コードと前記終了コードが生成されて前記パケットに付加され、４種類の前記シンボルを４つ組み合わせることによって前記パディングコードが生成されて前記パケットのペイロードに付加され、所定の前記シンボルを２つ組み合わせることによって前記スキューコードが生成されて前記パケットに付加されるようにすることができる。
【００３１】
前記画像出力装置においては、前記開始コード、前記終了コード、および前記スキューコードが、同じ種類の前記シンボルを少なくとも１つ含むようにして生成されるようにすることができる。
【００３２】
前記受信部には、ペイロードに含まれる画素データの識別情報を含む前記ヘッダが付加された前記パケットを受信させ、前記画像処理部には、同じ前記識別情報を含む前記ヘッダが付加されたペイロードに含まれる前記画素データを合成することによって前記画像を生成させることができる。
【００３３】
前記受信部には、ペイロードに含まれる画素データが得られた前記撮像部の領域の識別情報を含む前記ヘッダを受信させ、前記画像処理部には、同じ前記識別情報を含む前記ヘッダが付加されたペイロードに含まれる前記画素データを合成することによって前記画像を生成させることができる。
【００３４】
本技術の第２の側面の画像処理方法は、同じ機器内に設けられる画像出力装置において生成され、前記画像出力装置から出力された、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、前記画像出力装置の撮像部による撮影によって得られた画像を構成する１ライン分の画素データを含むペイロードに付加されたパケットを受信し、受信した前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像を処理するステップを含む。
【００３５】
本技術の第２の側面のプログラムは、同じ機器内に設けられる画像出力装置において生成され、前記画像出力装置から出力された、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、前記画像出力装置の撮像部による撮影によって得られた画像を構成する１ライン分の画素データを含むペイロードに付加されたパケットを受信し、受信した前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像を処理するステップを含む処理をコンピュータに実行させる。
【００３６】
本技術の第３の側面の撮像装置は、画像出力装置と画像処理装置とを含む撮像装置であって、前記画像出力装置は、撮像部と、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダを生成するヘッダ生成部と、前記撮像部による撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットを生成するパケット生成部と、前記パケット生成部により生成された前記パケットを前記画像処理装置に出力する出力部とを備え、前記画像処理装置は、前記パケットを受信する受信部と、前記受信部により受信された前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像を処理する画像処理部とを備える。
【００３７】
本技術の第１の側面においては、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが生成される。また、撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットが生成され、生成された前記パケットが画像処理装置に出力される。
【００３８】
本技術の第２の側面においては、機器内に設けられる画像出力装置において生成され、前記画像出力装置から出力された、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが、前記画像出力装置の撮像部による撮影によって得られた画像を構成する１ライン分の画素データを含むペイロードに付加されたパケットが受信され、受信された前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像が処理される。
【００３９】
本技術の第３の側面においては、画像出力装置により、ペイロードに含まれる画素データが１フレームの先頭ラインの画素データであるのか否かを表す第１のフレーム情報と、ペイロードに含まれる画素データが１フレームの終端ラインの画素データであるのか否かを表す第２のフレーム情報と、ペイロードに含まれる画素データが有効画素のデータであるのか否かを表す第１のライン情報と、ペイロードに含まれる画素データからなるラインのライン番号を表す第２のライン情報とからなるヘッダ情報と、前記ヘッダ情報の誤り検出に用いられる誤り検出符号とが含まれるヘッダが生成される。また、撮像によって得られた画像を構成する１ライン分の画素データをペイロードに含み、前記ヘッダが付加されたパケットが生成され、生成された前記パケットが画像処理装置に出力される。また、画像処理装置により、前記パケットが受信され、受信された前記パケットのペイロードに含まれる前記画素データからなるラインから構成される前記画像が処理される。
【発明の効果】
【００４０】
本技術によれば、画像データを効率的に伝送することができる。
【図面の簡単な説明】
【００４１】
【図１】伝送システムの第１の構成例を示す図である。
【図２】伝送システムの第２の構成例を示す図である。
【図３】伝送システムの第３の構成例を示す図である。
【図４】フレームフォーマットの例を示す図である。
【図５】送信部と受信部の構成例を示す図である。
【図６】ヘッダ構造を示す図である。
【図７】ヘッダ情報の内容と情報量を示す図である。
【図８】ビット配列の例を示す図である。
【図９】各画素の画素値が８ビットで表される場合のPixel to Byte変換の例を示す図である。
【図１０】各画素の画素値が１０ビットで表される場合のPixel to Byte変換の例を示す図である。
【図１１】各画素の画素値が１２ビットで表される場合のPixel to Byte変換の例を示す図である。
【図１２】各画素の画素値が１４ビットで表される場合のPixel to Byte変換の例を示す図である。
【図１３】各画素の画素値が１６ビットで表される場合のPixel to Byte変換の例を示す図である。
【図１４】ペイロードデータの例を示す図である。
【図１５】ペイロードデータの他の例を示す図である。
【図１６】パリティが挿入されたペイロードデータの例を示す図である。
【図１７】ペイロードデータにヘッダを付加した状態を示す図である。
【図１８】ペイロードデータにヘッダとフッタを付加した状態を示す図である。
【図１９】パリティが挿入されたペイロードデータにヘッダを付加した状態を示す図である。
【図２０】パケットデータの割り当ての例を示す図である。
【図２１】制御コードの例を示す図である。
【図２２】K Characterの値を示す図である。
【図２３】Pad Codeの挿入の例を示す図である。
【図２４】制御コード挿入後のパケットデータの例を示す図である。
【図２５】Data Skewの補正の例を示す図である。
【図２６】撮像装置の処理について説明するフローチャートである。
【図２７】図２６のステップＳ２において行われるデータ送信処理について説明するフローチャートである。
【図２８】図２６のステップＳ３において行われるデータ受信処理について説明するフローチャートである。
【図２９】レーン数を切り替える場合の制御シーケンスを示す図である。
【図３０】フレームフォーマットの他の例を示す図である。
【図３１】図３０のフレームフォーマットの１パケットを拡大して示す図である。
【図３２】ヘッダ情報の内容を示す図である。
【図３３】撮像部の構成例を示す図である。
【図３４】Data IDの値の意味の例を示す図である。
【図３５】撮像装置の処理について説明するフローチャートである。
【図３６】撮像部の他の構成例を示す図である。
【図３７】Data IDの値の意味の例を示す図である。
【図３８】撮像部の他の構成例を示す図である。
【図３９】各フォトセンサの出力タイミングの例を示す図である。
【図４０】Data IDの値の意味の例を示す図である。
【図４１】画素アレイ部を構成する画素の例を示す図である。
【図４２】露光時間を変えた場合のDATA1、DATA2の例を示す図である。
【図４３】イメージセンサの構成例を示す図である。
【図４４】Region Numberの値の意味の例を示す図である。
【図４５】パケットの例を示す図である。
【図４６】Line Numberの使用例を示す図である。
【図４７】汎用I/Fを用いた伝送システムの第１の構成例を示す図である。
【図４８】汎用I/Fを用いた伝送システムの第２の構成例を示す図である。
【図４９】汎用I/Fを用いた伝送システムの第３の構成例を示す図である。
【図５０】パケットのデータ構造の例を示す図である。
【図５１】送信側LSIと受信側LSIの構成例を示す図である。
【図５２】Byte Packingの例を示す図である。
【図５３】Byte Packingの他の例を示す図である。
【図５４】Byte Packing処理のシーケンスを示す図である。
【図５５】パリティの挿入の例を示す図である。
【図５６】伝送システムの動作について説明するフローチャートである。
【図５７】図５６のステップＳ１０２において行われるデータ送信処理について説明するフローチャートである。
【図５８】図５６のステップＳ１０３において行われるデータ受信処理について説明するフローチャートである。
【図５９】送信部の構成例を示す図である。
【図６０】受信部の構成例を示す図である。
【図６１】コンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【００４２】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
１．第１の実施の形態（画素データを伝送する例）
２．第２の実施の形態（画素データに限らず、所定のデータを伝送する例）
【００４３】
＜１．第１の実施の形態（画素データを伝送する例）＞
［伝送システムの構成例］
図１は、本技術の一実施形態に係る伝送システムの第１の構成例を示す図である。
【００４４】
図１の伝送システム１は、イメージセンサ１１とDSP１２から構成される。イメージセンサ１１とDSP１２はそれぞれ異なるLSI(Large Scale Integrated Circuit)により構成され、デジタルカメラや携帯電話機などの、撮像機能を有する同じ撮像装置内に設けられる。イメージセンサ１１には撮像部２１と１つの送信部２２が設けられ、DSP１２には１つの受信部３１と画像処理部３２が設けられている。
【００４５】
イメージセンサ１１の撮像部２１は、CMOS(Complementary Metal Oxide Semiconductor)などの撮像素子よりなり、レンズを介して受光した光の光電変換を行う。また、撮像部２１は、光電変換によって得られた信号のA/D変換などを行い、１フレームの画像を構成する画素データを、１画素のデータずつ順に送信部２２に出力する。
【００４６】
送信部２２は、撮像部２１から供給された各画素のデータを、例えば撮像部２１から供給された順に複数の伝送路に割り当て、複数の伝送路を介して並列にDSP１２に送信する。図１の例においては、８本の伝送路を用いて画素データの伝送が行われている。イメージセンサ１１とDSP１２の間の伝送路は有線の伝送路であってもよいし、無線の伝送路であってもよい。以下、適宜、イメージセンサ１１とDSP１２の間の伝送路をレーン（Lane）という。
【００４７】
DSP１２の受信部３１は、８本のレーンを介して送信部２２から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部３２に出力する。
【００４８】
画像処理部３２は、受信部３１から供給された画素データに基づいて１フレームの画像を生成し、生成した画像を用いて各種の画像処理を行う。イメージセンサ１１からDSP１２に伝送される画像データはRAWデータであり、画像処理部３２においては、画像データの圧縮、画像の表示、記録媒体に対する画像データの記録などの各種の処理が行われる。
【００４９】
図２は、伝送システム１の第２の構成例を示す図である。図２に示す構成のうち、図１に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【００５０】
図２の伝送システム１のイメージセンサ１１には、撮像部２１と、２つの送信部である送信部２２−１，２２−２が設けられ、DSP１２には、２つの受信部である受信部３１−１，３１−２と、画像処理部３２が設けられている。
【００５１】
撮像部２１は、撮像を行うことによって得られた１フレームの画像を構成する画素データを、１画素のデータずつ、送信部２２−１と送信部２２−２に並列に出力する。例えば、撮像部２１は、奇数ラインの画素のデータを送信部２２−１に出力し、偶数ラインの画素のデータを送信部２２−２に出力する。
【００５２】
送信部２２−１は、撮像部２１から供給された各画素のデータを、例えば撮像部２１から供給された順に複数のレーンに割り当て、複数のレーンを介して並列にDSP１２に送信する。送信部２２−２も同様に、撮像部２１から供給された各画素のデータを、例えば撮像部２１から供給された順に複数のレーンに割り当て、複数のレーンを介して並列にDSP１２に送信する。
【００５３】
図２の例においてもイメージセンサ１１とDSP１２の間は８本のレーンを介して接続されている。送信部２２−１と送信部２２−２は、それぞれ、４本のレーンを用いて画素データを伝送する。
【００５４】
DSP１２の受信部３１−１は、４本のレーンを介して送信部２２−１から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部３２に出力する。受信部３１−２も同様に、４本のレーンを介して送信部２２−２から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部３２に出力する。
【００５５】
画像処理部３２は、受信部３１−１から供給された画素データと受信部３１−２から供給された画素データに基づいて１フレームの画像を生成し、生成した画像を用いて各種の画像処理を行う。
【００５６】
図２に示すようにイメージセンサ１１に２つの送信部を設け、それに対応させて２つの受信部をDSP１２に設けることにより、撮像部２１が出力する画素データの伝送レートが高い場合であっても画素データをDSP１２に伝送することが可能になる。
【００５７】
図３は、伝送システム１の第３の構成例を示す図である。図３に示す構成のうち、図１に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【００５８】
図３の伝送システム１においては、イメージセンサ１１−１とイメージセンサ１１−２の２つのイメージセンサが設けられている。イメージセンサ１１−１には撮像部２１−１と１つの送信部である送信部２２−１が設けられ、イメージセンサ１１−２には撮像部２１−２と１つの送信部である送信部２２−２が設けられる。DSP１２には、図２の場合と同様に、２つの受信部である受信部３１−１，３１−２と、画像処理部３２が設けられている。
【００５９】
イメージセンサ１１−１の撮像部２１−１は、撮像を行うことによって得られた１フレームの画像を構成する画素データを、１画素のデータずつ順に送信部２２−１に出力する。
【００６０】
送信部２２−１は、撮像部２１−１から供給された各画素のデータを、例えば撮像部２１−１から供給された順に複数のレーンに割り当て、複数のレーンを介して並列にDSP１２に送信する。
【００６１】
イメージセンサ１１−２の撮像部２１−２は、撮像を行うことによって得られた１フレームの画像を構成する画素データを、１画素のデータずつ順に送信部２２−２に出力する。
【００６２】
送信部２２−２は、撮像部２１−２から供給された各画素のデータを、例えば撮像部２１−２から供給された順に複数のレーンに割り当て、複数のレーンを介して並列にDSP１２に送信する。
【００６３】
図３の例においてもイメージセンサ側とDSP１２の間は８本のレーンを介して接続されている。イメージセンサ１１−１とイメージセンサ１１−２にはそれぞれ４本のレーンが割り当てられ、送信部２２−１と送信部２２−２は、それぞれ、４本のレーンを用いて画素データを伝送する。
【００６４】
DSP１２の受信部３１−１は、４本のレーンを介してイメージセンサ１１−１の送信部２２−１から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部３２に出力する。受信部３１−２も同様に、４本のレーンを介してイメージセンサ１１−２の送信部２２−２から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部３２に出力する。
【００６５】
画像処理部３２は、受信部３１−１から供給された画素データに基づいて１フレームの画像を生成するとともに、受信部３１−２から供給された画素データに基づいて１フレームの画像を生成する。画像処理部３２は、生成した画像を用いて各種の画像処理を行う。
【００６６】
図３に示すように２つのイメージセンサを設けることにより、例えば、イメージセンサ１１−１により撮像された左目用の画像と、イメージセンサ１１−２により撮像された右目用の画像からなる3D画像を１つのDSP１２で処理することが可能になる。左目用の画像と右目用の画像には視差がある。
【００６７】
以上のように、伝送システム１のイメージセンサには、撮像された１フレームの画像データを伝送する送信部が１つまたは複数設けられる。一方、DSPには、イメージセンサの送信部に対応して、イメージセンサから伝送されてきたデータを受信する受信部が１つまたは複数設けられる。
【００６８】
以下、イメージセンサ１１に１つの送信部が設けられ、DSP１２に１つの受信部が設けられる図１の伝送システム１におけるデータ伝送について説明する。図２と図３の送信部２２−１−受信部３１−１間、送信部２２−２−受信部３１−２間においても同様にしてデータ伝送が行われる。
【００６９】
［フレームフォーマット］
図４は、イメージセンサ１１−DSP１２間で１フレームの画像データを伝送するのに用いられるフォーマットの例を示す図である。
【００７０】
有効画素領域Ａ１は、撮像部２１により撮像された１フレームの画像の有効画素の領域である。有効画素領域Ａ１の左側には、垂直方向の画素数が有効画素領域Ａ１の垂直方向の画素数と同じであるマージン領域Ａ２が設定される。
【００７１】
有効画素領域Ａ１の上側には、水平方向の画素数が、有効画素領域Ａ１とマージン領域Ａ２全体の水平方向の画素数と同じである前ダミー領域Ａ３が設定される。図４の例においては、前ダミー領域Ａ３にはEmbedded Dataが挿入されている。Embedded Dataは、シャッタスピード、絞り値、ゲインなどの、撮像部２１による撮像に関する設定値の情報が含まれる。後ダミー領域Ａ４にEmbedded Dataが挿入されることもある。
【００７２】
有効画素領域Ａ１の下側には、水平方向の画素数が、有効画素領域Ａ１とマージン領域Ａ２全体の水平方向の画素数と同じである後ダミー領域Ａ４が設定される。
【００７３】
有効画素領域Ａ１、マージン領域Ａ２、前ダミー領域Ａ３、および後ダミー領域Ａ４から画像データ領域Ａ１１が構成される。
【００７４】
画像データ領域Ａ１１を構成する各ラインの前にはヘッダが付加され、ヘッダの前にはStart Codeが付加される。また、画像データ領域Ａ１１を構成する各ラインの後ろにはフッタがオプションで付加され、フッタの後ろにはEnd Codeなどの後述する制御コードが付加される。フッタが付加されない場合、画像データ領域Ａ１１を構成する各ラインの後ろにEnd Codeなどの制御コードが付加される。
【００７５】
撮像部２１により撮像された１フレームの画像をイメージセンサ１１からDSP１２に伝送する毎に、図４に示すフォーマットのデータ全体が伝送データとして伝送される。
【００７６】
図４の上側の帯は下側に示す伝送データの伝送に用いられるパケットの構造を示している。水平方向の画素の並びをラインとすると、パケットのペイロードには、画像データ領域Ａ１１の１ラインを構成する画素のデータが格納される。１フレームの画像データ全体の伝送は、画像データ領域Ａ１１の垂直方向の画素数以上の数のパケットを用いて行われることになる。
【００７７】
１ライン分の画素データが格納されたペイロードに、ヘッダとフッタが付加されることによって１パケットが構成される。後に詳述するように、ヘッダには、Frame Start, Frame End, Line Valid, Line Number, ECCなどの、ペイロードに格納されている画素データの付加的な情報が含まれる。各パケットには、制御コードであるStart CodeとEnd Codeが少なくとも付加される。
【００７８】
このように、１フレームの画像を構成する画素データをライン毎に伝送するフォーマットを採用することによって、ヘッダ等の付加的な情報やStart Code, End Codeなどの制御コードをライン毎のブランキング期間中に伝送することが可能になる。
【００７９】
［送信部２２と受信部３１の構成］
図５は、送信部２２と受信部３１の構成例を示す図である。
【００８０】
図５の左側に破線で囲んで示す構成が送信部２２の構成であり、右側に破線で囲んで示す構成が受信部３１の構成である。送信部２２と受信部３１は、それぞれ、リンクレイヤの構成と物理レイヤの構成からなる。実線Ｌ２より上側に示す構成がリンクレイヤの構成であり、実線Ｌ２より下側に示す構成が物理レイヤの構成である。
【００８１】
なお、実線Ｌ１の上に示す構成はアプリケーションレイヤの構成である。システム制御部５１、フレームデータ入力部５２、およびレジスタ５３は撮像部２１において実現される。システム制御部５１は、送信部２２のLINK-TXプロトコル管理部６１と通信を行い、フレームフォーマットに関する情報を提供するなどして画像データの伝送を制御する。フレームデータ入力部５２は、ユーザによる指示などに応じて撮像を行い、撮像を行うことによって得られた画像を構成する各画素のデータを送信部２２のPixel to Byte変換部６２に供給する。レジスタ５３は、Pixel to Byte変換のビット数やLane数等の情報を記憶する。レジスタ５３に記憶されている情報に従って画像データの送信処理が行われる。
【００８２】
また、アプリケーションレイヤの構成のうちのフレームデータ出力部１４１、レジスタ１４２、およびシステム制御部１４３は画像処理部３２において実現される。フレームデータ出力部１４１は、受信部３１から供給された各ラインの画素データに基づいて１フレームの画像を生成し、出力する。フレームデータ出力部１４１から出力された画像を用いて各種の処理が行われる。レジスタ１４２は、Byte to Pixel変換のビット数やLane数などの、画像データの受信に関する各種の設定値を記憶する。レジスタ１４２に記憶されている情報に従って画像データの受信処理が行われる。システム制御部１４３は、LINK-RXプロトコル管理部１２１と通信を行い、モードチェンジ等のシーケンスを制御する。
【００８３】
［送信部２２のリンクレイヤの構成］
はじめに、送信部２２のリンクレイヤの構成について説明する。
【００８４】
送信部２２には、リンクレイヤの構成として、LINK-TXプロトコル管理部６１、Pixel to Byte変換部６２、ペイロードECC挿入部６３、パケット生成部６４、およびレーン分配部６５が設けられる。LINK-TXプロトコル管理部６１は、状態制御部７１、ヘッダ生成部７２、データ挿入部７３、およびフッタ生成部７４から構成される。
【００８５】
LINK-TXプロトコル管理部６１の状態制御部７１は、送信部２２のリンクレイヤの状態を管理する。
【００８６】
ヘッダ生成部７２は、１ライン分の画素データが格納されたペイロードに付加されるヘッダを生成し、パケット生成部６４に出力する。
【００８７】
図６は、ヘッダ生成部７２により生成されるヘッダの構造を示す図である。
【００８８】
上述したように、１パケット全体は、ヘッダと、１ライン分の画素データであるペイロードデータから構成される。パケットにはフッタが付加されることもある。ヘッダは、ヘッダ情報とHeader ECCから構成される。
【００８９】
ヘッダ情報には、Frame Start, Frame End, Line Valid, Line Number, Reservedが含まれる。各情報の内容と情報量を図７に示す。
【００９０】
Frame Startは、フレームの先頭を示す１ビットの情報である。図４の画像データ領域Ａ１１の１ライン目の画素データの伝送に用いられるパケットのヘッダのFrame Startには１の値が設定され、他のラインの画素データの伝送に用いられるパケットのヘッダのFrame Startには０の値が設定される。
【００９１】
Frame Endは、フレームの終端を示す１ビットの情報である。有効画素領域Ａ１の終端ラインの画素データをペイロードに含むパケットのヘッダのFrame Endには１の値が設定され、他のラインの画素データの伝送に用いられるパケットのヘッダのFrame Endには０の値が設定される。
【００９２】
Frame StartとFrame Endが、フレームに関する情報であるフレーム情報となる。
【００９３】
Line Validは、ペイロードに格納されている画素データのラインが有効画素のラインであるのか否かを表す１ビットの情報である。有効画素領域Ａ１内のラインの画素データの伝送に用いられるパケットのヘッダのLine Validには１の値が設定され、他のラインの画素データの伝送に用いられるパケットのヘッダのLine Validには０の値が設定される。
【００９４】
Line Numberは、ペイロードに格納されている画素データにより構成されるラインのライン番号を表す１３ビットの情報である。
【００９５】
Line ValidとLine Numberが、ラインに関する情報であるライン情報となる。
【００９６】
Reservedは拡張用の32ビットの領域である。ヘッダ情報全体のデータ量は６バイトになる。
【００９７】
図６に示すように、ヘッダ情報に続けて配置されるHeader ECCには、６バイトのヘッダ情報に基づいて計算された２バイトの誤り検出符号であるCRC(Cyclic Redundancy Check)符号が含まれる。また、Header ECCには、CRC符号に続けて、ヘッダ情報とCRC符号の組である８バイトの情報と同じ情報が２つ含まれる。
【００９８】
すなわち、１つのパケットのヘッダには、同じヘッダ情報とCRC符号の組が３つ含まれる。ヘッダ全体のデータ量は、１組目のヘッダ情報とCRC符号の組の８バイトと、２組目のヘッダ情報とCRC符号の組の８バイトと、３組目のヘッダ情報とCRC符号の組の８バイトとの、あわせて２４バイトになる。
【００９９】
図８は、ヘッダ情報とCRC符号の１つの組を構成する８バイトのビット配列の例を示す図である。
【０１００】
ヘッダを構成する８バイトのうちの１番目の１バイトであるバイトＨ７には、１ビット目から順に、Frame Start, Frame End, Line Validの各１ビットと、Line Numberの１３ビットのうちの１〜５ビット目が含まれる。また、２番目の１バイトであるバイトＨ６には、Line Numberの１３ビットのうちの６〜１３ビット目が含まれる。
【０１０１】
３番目の１バイトであるバイトＨ５から６番目の１バイトであるバイトＨ２がReservedとなる。７番目の１バイトであるバイトＨ１と８番目の１バイトであるバイトＨ０にはCRC符号の各ビットが含まれる。
【０１０２】
図５の説明に戻り、ヘッダ生成部７２は、システム制御部５１による制御に従ってヘッダ情報を生成する。例えば、システム制御部５１からは、フレームデータ入力部５２が出力する画素データのライン番号を表す情報や、フレームの先頭、終端を表す情報が供給される。
【０１０３】
また、ヘッダ生成部７２は、ヘッダ情報を生成多項式に適用してCRC符号を計算する。ヘッダ情報に付加されるCRC符号の生成多項式は例えば下式（１）により表される。
【数１】
0006014991.tif 000002
【０１０４】
ヘッダ生成部７２は、ヘッダ情報にCRC符号を付加することによってヘッダ情報とCRC符号の組を生成し、同じヘッダ情報とCRC符号の組を３組繰り返して配置することによってヘッダを生成する。ヘッダ生成部７２は、生成したヘッダをパケット生成部６４に出力する。
【０１０５】
データ挿入部７３は、スタッフィング（stuffing）に用いられるデータを生成し、Pixel to Byte変換部６２とレーン分配部６５に出力する。Pixel to Byte変換部６２に供給されたスタッフィングデータであるペイロードスタッフィングデータは、Pixel to Byte変換後の画素データに付加され、ペイロードに格納される画素データのデータ量の調整に用いられる。また、レーン分配部６５に供給されたスタッフィングデータであるレーンスタッフィングデータは、レーン割り当て後のデータに付加され、レーン間のデータ量の調整に用いられる。
【０１０６】
フッタ生成部７４は、システム制御部５１による制御に応じて、適宜、ペイロードデータを生成多項式に適用して３２ビットのCRC符号を計算し、計算により求めたCRC符号をフッタとしてパケット生成部６４に出力する。フッタとして付加されるCRC符号の生成多項式は例えば下式（２）により表される。
【数２】
0006014991.tif 000003
【０１０７】
Pixel to Byte変換部６２は、フレームデータ入力部５２から供給された画素データを取得し、各画素のデータを１バイト単位のデータに変換するPixel to Byte変換を行う。例えば、撮像部２１により撮像された画像の各画素の画素値（RGB）は、８ビット、１０ビット、１２ビット、１４ビット、１６ビットのうちのいずれかのビット数で表される。
【０１０８】
図９は、各画素の画素値が８ビットで表される場合のPixel to Byte変換の例を示す図である。
【０１０９】
Data[0]がLSBを表し、数字の最も大きいData[7]がMSBを表す。白抜き矢印で示すように、この場合、画素Nの画素値を表すData[0]〜[7]の８ビットは、Data[0]〜[7]からなるByte Nに変換される。各画素の画素値が８ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数と同じ数になる。
【０１１０】
図１０は、各画素の画素値が１０ビットで表される場合のPixel to Byte変換の例を示す図である。
【０１１１】
この場合、画素Nの画素値を表すData[0]〜[9]の１０ビットは、Data[2]〜[9]からなるByte 1.25*Nに変換される。
【０１１２】
画素N+1〜N+3についても同様に、それぞれの画素値を表すData[0]〜[9]の１０ビットが、Data[2]〜[9]からなるByte 1.25*N+1〜Byte 1.25*N+3に変換される。また、画素N〜N+3のそれぞれの下位のビットであるData[0]とData[1]が集められてByte 1.25*N+4に変換される。各画素の画素値が１０ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数の1.25倍の数になる。
【０１１３】
図１１は、各画素の画素値が１２ビットで表される場合のPixel to Byte変換の例を示す図である。
【０１１４】
この場合、画素Nの画素値を表すData[0]〜[11]の１２ビットは、Data[4]〜[11]からなるByte 1.5*Nに変換される。
【０１１５】
画素N+1についても同様に、画素N+1の画素値を表すData[0]〜[11]の１２ビットが、Data[4]〜[11]からなるByte 1.5*N+1に変換される。また、画素Nと画素N+1のそれぞれの下位のビットであるData[0]〜[3]が集められてByte 1.5*N+2に変換される。各画素の画素値が１２ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数の1.5倍の数になる。
【０１１６】
図１２は、各画素の画素値が１４ビットで表される場合のPixel to Byte変換の例を示す図である。
【０１１７】
この場合、画素Nの画素値を表すData[0]〜[13]の１４ビットは、Data[6]〜[13]からなるByte 1.75*Nに変換される。
【０１１８】
画素N+1〜N+3についても同様に、それぞれの画素値を表すData[0]〜[13]の１４ビットが、Data[6]〜[13]からなるByte 1.75*N+1〜Byte 1.75*N+3に変換される。また、画素N〜N+3のビットのうちの残ったビットが下位のビットから順に集められ、例えば、画素NのビットであるData[0]〜[5]と、画素N+1のビットであるData[0],[1]がByte 1.75*N+4に変換される。
【０１１９】
同様に、画素N+1のビットであるData[2]〜[5]と、画素N+2のビットであるData[0]〜[3]がByte 1.75*N+5に変換され、画素N+2のビットであるData[4],[5]と、画素N+3のビットであるData[0]〜[5]がByte 1.75*N+6に変換される。各画素の画素値が１４ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数の1.75倍の数になる。
【０１２０】
図１３は、各画素の画素値が１６ビットで表される場合のPixel to Byte変換の例を示す図である。
【０１２１】
この場合、画素Nの画素値を表すData[0]〜[15]の１６ビットは、Data[0]〜[7]からなるByte 2*NとData[8]〜[15]からなるByte 2*N+1に変換される。各画素の画素値が１６ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数の2倍の数になる。
【０１２２】
図５のPixel to Byte変換部６２は、このようなPixel to Byte変換を例えばラインの左端の画素から順に各画素を対象として行う。また、Pixel to Byte変換部６２は、Pixel to Byte変換によって得られたバイト単位の画素データに、データ挿入部７３から供給されたペイロードスタッフィングデータを付加することによってペイロードデータを生成し、ペイロードECC挿入部６３に出力する。
【０１２３】
図１４は、ペイロードデータの例を示す図である。
【０１２４】
図１４は、各画素の画素値が１０ビットで表される場合のPixel to Byte変換によって得られた画素データを含むペイロードデータを示している。色を付していない１つのブロックが、Pixel to Byte変換後のバイト単位の画素データを表す。また、色を付している１つのブロックが、データ挿入部７３により生成されたペイロードスタッフィングデータを表す。
【０１２５】
Pixel to Byte変換後の画素データは、変換によって得られた順に、所定の数のグループにグループ化される。図１４の例においては、各画素データがグループ０〜１５の１６グループにグループ化されており、画素Ｐ０のMSBを含む画素データがグループ０に割り当てられ、画素Ｐ１のMSBを含む画素データがグループ１に割り当てられている。また、画素Ｐ２のMSBを含む画素データがグループ２に割り当てられ、画素Ｐ３のMSBを含む画素データがグループ３に割り当てられ、画素Ｐ０〜Ｐ３のLSBを含む画素データがグループ４に割り当てられている。
【０１２６】
画素Ｐ４のMSBを含む画素データ以降の画素データについても、グループ５以降の各グループに順に割り当てられる。ある画素データがグループ１５に割り当てられたとき、それ以降の画素データは、グループ０以降の各グループに順に割り当てられる。なお、画素データを表すブロックのうち、３本の破線が内側に付されているブロックは、Pixel to Byte変換時に、画素N〜N+3のLSBを含むようにして生成されたバイト単位の画素データを表す。
【０１２７】
送信部２２のリンクレイヤにおいては、このようにしてグループ化が行われた後、クロック信号によって規定される期間毎に、各グループにおいて同じ位置にある画素データを対象として処理が並行して行われる。すなわち、図１４に示すように１６のグループに画素データが割り当てられた場合、各列に並ぶ１６の画素データを同じ期間内に処理するようにして画素データの処理が進められる。
【０１２８】
上述したように、１つのパケットのペイロードには１ラインの画素データが含まれる。図１４に示す画素データ全体が、１ラインを構成する画素データである。ここでは、図４の有効画素領域Ａ１の画素データの処理について説明しているが、マージン領域Ａ２等の他の領域の画素データについても有効画素領域Ａ１の画素データとともに処理される。
【０１２９】
１ライン分の画素データがグループ化された後、各グループのデータ長が同じ長さになるように、ペイロードスタッフィングデータが付加される。ペイロードスタッフィングデータは１バイトのデータである。
【０１３０】
図１４の例においては、グループ０の画素データにはペイロードスタッフィングデータが付加されず、破線で囲んで示すように、グループ１〜１５の各画素データには、終端にペイロードスタッフィングデータが１つずつ付加されている。画素データとスタッフィングデータからなるペイロードデータのデータ長（Byte）は下式（３）により表される。
【数３】
0006014991.tif 000004
【０１３１】
式（３）のLineLengthはラインの画素数を表し、BitPixは１画素の画素値を表すビット数を表す。PayloadStuffingはペイロードスタッフィングデータの数を表す。
【０１３２】
図１４に示すように画素データを１６グループに割り当てるとした場合、ペイロードスタッフィングデータの数は下式（４）により表される。式（４）の％は剰余を表す。
【数４】
0006014991.tif 000005
【０１３３】
図１５は、ペイロードデータの他の例を示す図である。
【０１３４】
図１５は、各画素の画素値が１２ビットで表される場合のPixel to Byte変換によって得られた画素データを含むペイロードデータを示している。
【０１３５】
図１５の例においては、画素Ｐ０のMSBを含む画素データがグループ０に割り当てられ、画素Ｐ１のMSBを含む画素データがグループ１に割り当てられ、画素Ｐ０と画素Ｐ１のLSBを含む画素データがグループ２に割り当てられている。画素Ｐ２のMSBを含む画素データ以降の画素データについても、グループ３以降の各グループに順に割り当てられる。画素データを表すブロックのうち、１本の破線が内側に付されているブロックは、Pixel to Byte変換時に、画素Nと画素N+1のLSBを含むようにして生成されたバイト単位の画素データを表す。
【０１３６】
図１５の例においては、グループ０とグループ１の画素データにはペイロードスタッフィングデータが付加されず、グループ２〜１５の各画素データには、終端にペイロードスタッフィングデータが１つずつ付加されている。
【０１３７】
このような構成を有するペイロードデータがPixel to Byte変換部６２からペイロードECC挿入部６３に供給される。
【０１３８】
ペイロードECC挿入部６３は、Pixel to Byte変換部６２から供給されたペイロードデータに基づいて、ペイロードデータの誤り訂正に用いられる誤り訂正符号を計算し、計算により求めた誤り訂正符号であるパリティをペイロードデータに挿入する。誤り訂正符号として、例えばリードソロモン符号が用いられる。なお、誤り訂正符号の挿入はオプションであり、例えば、ペイロードECC挿入部６３によるパリティの挿入と、フッタ生成部７４によるフッタの付加はいずれか一方のみを行うことが可能とされる。
【０１３９】
図１６は、パリティが挿入されたペイロードデータの例を示す図である。
【０１４０】
図１６に示すペイロードデータは、図１５を参照して説明した、各画素の画素値が１２ビットで表される場合のPixel to Byte変換によって得られた画素データを含むペイロードデータである。斜線を付して示すブロックがパリティを表す。
【０１４１】
図１６の例においては、グループ０〜１５の各グループの先頭の画素データから順に１４個選択され、選択された２２４個（２２４バイト）の画素データに基づいて２バイトのパリティが求められている。２バイトのパリティが、その計算に用いられた２２４個の画素データに続けてグループ０，１の１５番目のデータとして挿入され、２２４個の画素データと２バイトのパリティから１つ目のBasic Blockが形成される。
【０１４２】
このように、ペイロードECC挿入部６３においては、基本的に、２２４個の画素データに基づいて２バイトのパリティが生成され、２２４個の画素データに続けて挿入される。
【０１４３】
また、図１６の例においては、１つ目のBasic Blockに続く２２４個の画素データが各グループから順に選択され、選択された２２４個の画素データに基づいて２バイトのパリティが求められている。２バイトのパリティが、その計算に用いられた２２４個の画素データに続けてグループ２，３の２９番目のデータとして挿入され、２２４個の画素データと２バイトのパリティから２つ目のBasic Blockが形成される。
【０１４４】
あるBasic Blockに続く画素データとペイロードスタッフィングデータの数である16×Mが２２４に満たない場合、残っている16×M個のブロック（画素データとペイロードスタッフィングデータ）に基づいて２バイトのパリティが求められる。また、求められた２バイトのパリティがペイロードスタッフィングデータに続けて挿入され、16×M個のブロックと２バイトのパリティからExtra Blockが形成される。
【０１４５】
ペイロードECC挿入部６３は、パリティを挿入したペイロードデータをパケット生成部６４に出力する。パリティの挿入が行われない場合、Pixel to Byte変換部６２からペイロードECC挿入部６３に供給されたペイロードデータは、そのままパケット生成部６４に出力される。
【０１４６】
パケット生成部６４は、ペイロードECC挿入部６３から供給されたペイロードデータに、ヘッダ生成部７２により生成されたヘッダを付加することによってパケットを生成する。フッタ生成部７４によりフッタの生成が行われている場合、パケット生成部６４は、ペイロードデータにフッタを付加することも行う。
【０１４７】
図１７は、ペイロードデータにヘッダを付加した状態を示す図である。
【０１４８】
Ｈ０〜Ｈ２３の文字を付して示す２４個のブロックは、ヘッダ情報、またはヘッダ情報のCRC符号である、バイト単位のヘッダデータを表す。図６を参照して説明したように１つのパケットのヘッダには、ヘッダ情報とCRC符号の組が３組含まれる。
【０１４９】
例えばヘッダデータＨ０〜Ｈ５は１組目のヘッダ情報（６バイト）であり、ヘッダデータＨ６，Ｈ７は１組目のCRC符号（２バイト）である。また、ヘッダデータＨ８〜Ｈ１３は２組目のヘッダ情報であり、ヘッダデータＨ１４，Ｈ１５は２組目のCRC符号である。ヘッダデータＨ１６〜Ｈ２１は３組目のヘッダ情報であり、ヘッダデータＨ２２，Ｈ２３は３組目のCRC符号である。
【０１５０】
図１７の例においては、ヘッダデータＨ０〜Ｈ７が、グループ８からグループ１５のそれぞれのペイロードデータに付加されている。また、ヘッダデータＨ８〜Ｈ２３が、グループ０からグループ１５のそれぞれのペイロードデータに付加されている。
【０１５１】
図１８は、ペイロードデータにヘッダとフッタを付加した状態を示す図である。
【０１５２】
Ｆ０〜Ｆ３の文字を付して示す４個のブロックは、フッタとして生成された４バイトのCRC符号であるフッタデータを表す。図１８の例においては、フッタデータＦ０〜Ｆ３が、グループ０からグループ３のそれぞれのペイロードデータに付加されている。
【０１５３】
図１９は、パリティが挿入されたペイロードデータにヘッダを付加した状態を示す図である。
【０１５４】
図１９の例においては、パリティが挿入された図１６のペイロードデータに対して、図１７、図１８の場合と同様にヘッダデータＨ０〜Ｈ２３が付加されている。
【０１５５】
パケット生成部６４は、このようにして生成した１パケットを構成するデータであるパケットデータをレーン分配部６５に出力する。レーン分配部６５に対しては、ヘッダデータとペイロードデータからなるパケットデータ、ヘッダデータとペイロードデータとフッタデータからなるパケットデータ、または、ヘッダデータと、パリティが挿入されたペイロードデータからなるパケットデータが供給されることになる。図６のパケット構造は論理的なものであり、リンクレイヤ、物理レイヤにおいては、図６の構造を有するパケットのデータがバイト単位で処理される。
【０１５６】
レーン分配部６５は、パケット生成部６４から供給されたパケットデータを、先頭のデータから順に、Lane0〜7のうちのデータ伝送に用いる各レーンに割り当てる。
【０１５７】
図２０は、パケットデータの割り当ての例を示す図である。
【０１５８】
ここでは、ヘッダデータとペイロードデータとフッタデータからなるパケットデータ（図１８）の割り当てについて説明する。Lane0〜7の８レーンを用いてデータ伝送を行う場合のパケットデータの割り当ての例を白抜き矢印＃１の先に示す。
【０１５９】
この場合、ヘッダデータＨ０〜Ｈ２３は、先頭のヘッダデータから順にLane0〜7に割り当てられる。あるヘッダデータがLane7に割り当てられたとき、それ以降のヘッダデータは、Lane0以降の各レーンに順に割り当てられる。Lane0〜7の各レーンには３個ずつヘッダデータが割り当てられることになる。
【０１６０】
また、ペイロードデータは、先頭のペイロードデータから順にLane0〜7に割り当てられる。あるペイロードデータがLane7に割り当てられたとき、それ以降のペイロードデータは、Lane0以降の各レーンに順に割り当てられる。
【０１６１】
フッタデータＦ０〜Ｆ３は、先頭のフッタデータから順に各レーンに割り当てられる。図２０の例においては、ペイロードデータを構成する最後のペイロードスタッフィングデータがLane7に割り当てられており、フッタデータＦ０〜Ｆ３がLane0〜3に１つずつ割り当てられている。
【０１６２】
黒色を付して示すブロックはデータ挿入部７３により生成されたレーンスタッフィングデータを表す。レーンスタッフィングデータは、１パケット分のパケットデータが各レーンに割り当てられた後、各レーンに割り当てられるデータ長が同じ長さになるように、データの数が少ないレーンに割り当てられる。レーンスタッフィングデータは１バイトのデータである。図２０の例においては、データの割り当て数の少ないレーンであるLane4〜7に対して、レーンスタッフィングデータが１つずつ割り当てられている。
【０１６３】
パケットデータがヘッダデータとペイロードデータとフッタデータからなる場合のレーンスタッフィングデータの数は下式（５）により表される。
【数５】
0006014991.tif 000006
【０１６４】
式（５）のLaneNumはレーンの数を表し、PayloadLengthはペイロードデータ長（バイト）を表す。また、FooterLengthはフッタ長（バイト）を表す。
【０１６５】
また、パケットデータが、ヘッダデータと、パリティが挿入されたペイロードデータからなる場合のレーンスタッフィングデータの数は下式（６）により表される。式（６）のParityLengthは、ペイロードに含まれるパリティの総バイト数を表す。
【数６】
0006014991.tif 000007
【０１６６】
Lane0〜5の６レーンを用いてデータ伝送を行う場合のパケットデータの割り当ての例を白抜き矢印＃２の先に示す。
【０１６７】
この場合、ヘッダデータＨ０〜Ｈ２３は、先頭のヘッダデータから順にLane0〜5に割り当てられる。あるヘッダデータがLane5に割り当てられたとき、それ以降のヘッダデータは、Lane0以降の各レーンに順に割り当てられる。Lane0〜5の各レーンには４個ずつヘッダデータが割り当てられることになる。
【０１６８】
また、ペイロードデータは、先頭のペイロードデータから順にLane0〜5に割り当てられる。あるペイロードデータがLane5に割り当てられたとき、それ以降のペイロードデータは、Lane0以降の各レーンに順に割り当てられる。
【０１６９】
フッタデータＦ０〜Ｆ３は、先頭のフッタデータから順に各レーンに割り当てられる。図２０の例においては、ペイロードデータを構成する最後のペイロードスタッフィングデータがLane1に割り当てられており、フッタデータＦ０〜Ｆ３がLane2〜5に１つずつ割り当てられている。Lane0〜5のパケットデータの数が同じ数であるから、この場合、レーンスタッフィングデータは用いられない。
【０１７０】
Lane0〜3の４レーンを用いてデータ伝送を行う場合のパケットデータの割り当ての例を白抜き矢印＃３の先に示す。
【０１７１】
この場合、ヘッダデータＨ０〜Ｈ２３は、先頭のヘッダデータから順にLane0〜3に割り当てられる。あるヘッダデータがLane3に割り当てられたとき、それ以降のヘッダデータは、Lane0以降の各レーンに順に割り当てられる。Lane0〜3の各レーンには６個ずつヘッダデータが割り当てられることになる。
【０１７２】
また、ペイロードデータは、先頭のペイロードデータから順にLane0〜3に割り当てられる。あるペイロードデータがLane3に割り当てられたとき、それ以降のペイロードデータは、Lane0以降の各レーンに順に割り当てられる。
【０１７３】
フッタデータＦ０〜Ｆ３は、先頭のフッタデータから順に各レーンに割り当てられる。図２０の例においては、ペイロードデータを構成する最後のペイロードスタッフィングデータがLane3に割り当てられており、フッタデータＦ０〜Ｆ３がLane0〜3に１つずつ割り当てられている。Lane0〜3のパケットデータの数が同じ数であるから、この場合、レーンスタッフィングデータは用いられない。
【０１７４】
レーン分配部６５は、このようにして各レーンに割り当てたパケットデータを物理レイヤに出力する。以下、Lane0〜7の８レーンを用いてデータを伝送する場合について主に説明するが、データ伝送に用いるレーンの数が他の数の場合であっても同様の処理が行われる。
【０１７５】
［送信部２２の物理レイヤの構成］
次に、送信部２２の物理レイヤの構成について説明する。
【０１７６】
送信部２２には、物理レイヤの構成として、PHY-TX状態制御部８１、クロック生成部８２、信号処理部８３−０乃至８３−Ｎが設けられる。信号処理部８３−０は、制御コード挿入部９１、8B10Bシンボルエンコーダ９２、同期部９３、および送信部９４から構成される。レーン分配部６５から出力された、Lane0に割り当てられたパケットデータは信号処理部８３−０に入力され、Lane1に割り当てられたパケットデータは信号処理部８３−１に入力される。また、LaneNに割り当てられたパケットデータは信号処理部８３−Ｎに入力される。
【０１７７】
このように、送信部２２の物理レイヤには、信号処理部８３−０乃至８３−Ｎがレーンの数と同じ数だけ設けられ、各レーンを用いて伝送するパケットデータの処理が、信号処理部８３−０乃至８３−Ｎのそれぞれにおいて並行して行われる。信号処理部８３−０の構成について説明するが、信号処理部８３−１乃至８３−Ｎも同様の構成を有する。
【０１７８】
PHY-TX状態制御部８１は、信号処理部８３−０乃至８３−Ｎの各部を制御する。例えば、信号処理部８３−０乃至８３−Ｎにより行われる各処理のタイミングがPHY-TX状態制御部８１により制御される。
【０１７９】
クロック生成部８２は、クロック信号を生成し、信号処理部８３−０乃至８３−Ｎのそれぞれの同期部９３に出力する。
【０１８０】
信号処理部８３−０の制御コード挿入部９１は、レーン分配部６５から供給されたパケットデータに対して制御コードを付加する。制御コードは、予め用意された複数種類のシンボルの中から選択された１つのシンボルにより、または複数種類のシンボルの組み合わせにより表されるコードである。制御コード挿入部９１により挿入される各シンボルは８ビットのデータである。後段の回路で8B10B変換が施されることによって、制御コード挿入部９１により挿入された１シンボルは１０ビットのデータになる。一方、受信部３１においては後述するように受信データに対して10B8B変換が施されるが、受信データに含まれる10B8B変換前の各シンボルは１０ビットのデータであり、10B8B変換後の各シンボルは８ビットのデータになる。
【０１８１】
図２１は、制御コード挿入部９１により付加される制御コードの例を示す図である。
【０１８２】
制御コードには、Idle Code, Start Code, End Code, Pad Code, Sync Code, Deskew Code, Standby Codeがある。
【０１８３】
Idle Codeは、パケットデータの伝送時以外の期間に繰り返し送信されるシンボル群である。Idle Codeは、8B10B CodeであるD CharacterのD00.0（00000000）で表される。
【０１８４】
Start Codeは、パケットの開始を示すシンボル群である。上述したように、Start Codeはパケットの前に付加される。Start Codeは、３種類のK Characterの組み合わせであるK28.5, K27.7, K28.2, K27.7の４シンボルで表される。それぞれのK Characterの値を図２２に示す。
【０１８５】
End Codeは、パケットの終了を示すシンボル群である。上述したように、End Codeはパケットの後ろに付加される。End Codeは、３種類のK Characterの組み合わせであるK28.5, K29.7, K30.7, K29.7の４シンボルで表される。
【０１８６】
Pad Codeは、画素データ帯域とPHY伝送帯域の差を埋めるためにペイロードデータ中に挿入されるシンボル群である。画素データ帯域は、撮像部２１から出力され、送信部２２に入力される画素データの伝送レートであり、PHY伝送帯域は、送信部２２から送信され、受信部３１に入力される画素データの伝送レートである。Pad Codeは、４種類のK Characterの組み合わせであるK23.7, K28.4, K28.6, K28.7の４シンボルで表される。
【０１８７】
図２３は、Pad Codeの挿入の例を示す図である。
【０１８８】
図２３の上段は、Pad Code挿入前の、各レーンに割り当てられたペイロードデータを示し、下段は、Pad Code挿入後のペイロードデータを示す。図２３の例においては、先頭から３番目の画素データと４番目の画素データの間、６番目の画素データと７番目の画素データの間、１２番目の画素データと１３番目の画素データの間にPad Codeが挿入されている。このように、Pad Codeは、Lane0〜7の各レーンのペイロードデータの同じ位置に挿入される。
【０１８９】
Lane0に割り当てられたペイロードデータに対するPad Codeの挿入は信号処理部８３−０の制御コード挿入部９１により行われる。他のレーンに割り当てられたペイロードデータに対するPad Codeの挿入も同様に、信号処理部８３−１乃至８３−Ｎにおいてそれぞれ同じタイミングで行われる。Pad Codeの数は、画素データ帯域とPHY伝送帯域の差と、クロック生成部８２が生成するクロック信号の周波数などに基づいて決定される。
【０１９０】
このように、Pad Codeは、画素データ帯域が狭く、PHY伝送帯域が広い場合に、双方の帯域の差を調整するために挿入される。例えば、Pad Codeが挿入されることによって、画素データ帯域とPHY伝送帯域の差が一定の範囲内に収まるように調整される。
【０１９１】
図２１の説明に戻り、Sync Codeは、送信部２２−受信部３１間のビット同期、シンボル同期を確保するために用いられるシンボル群である。Sync Codeは、K28.5, Any**の２シンボルで表される。Any**は、どの種類のシンボルが用いられてもよいことを表す。Sync Codeは、例えば送信部２２−受信部３１間でパケットデータの伝送が開始される前のトレーニングモード時に繰り返し送信される。
【０１９２】
Deskew Codeは、レーン間のData Skew、すなわち、受信部３１の各レーンで受信されるデータの受信タイミングのずれの補正に用いられるシンボル群である。Deskew Codeは、K28.5, Any**の２シンボルで表される。Deskew Codeを用いたレーン間のData Skewの補正については後述する。
【０１９３】
Standby Codeは、送信部２２の出力がHigh-Z（ハイインピーダンス）などの状態になり、データ伝送が行われなくなることを受信部３１に通知するために用いられるシンボル群である。すなわち、Standby Codeは、パケットデータの伝送を終了し、Standby状態になるときに受信部３１に対して伝送される。Standby Codeは、K28.5, Any**の２シンボルで表される。
【０１９４】
制御コード挿入部９１は、このような制御コードを付加したパケットデータを8B10Bシンボルエンコーダ９２に出力する。
【０１９５】
図２４は、制御コード挿入後のパケットデータの例を示す図である。
【０１９６】
図２４に示すように、信号処理部８３−０乃至８３−Ｎにおいては、それぞれ、パケットデータの前にStart Codeが付加され、ペイロードデータにPad Codeが挿入される。パケットデータの後ろにはEnd Codeが付加され、End Codeの後ろにDeskew Codeが付加される。図２４の例においては、Deskew Codeの後ろにIdle Codeが付加されている。
【０１９７】
8B10Bシンボルエンコーダ９２は、制御コード挿入部９１から供給されたパケットデータ（制御コードが付加されたパケットデータ）に対して8B10B変換を施し、１０ビット単位のデータに変換したパケットデータを同期部９３に出力する。
【０１９８】
同期部９３は、8B10Bシンボルエンコーダ９２から供給されたパケットデータの各ビットを、クロック生成部８２により生成されたクロック信号に従って送信部９４に出力する。
【０１９９】
送信部９４は、Lane0を構成する伝送路を介して、同期部９３から供給されたパケットデータを受信部３１に送信する。８レーンを用いてデータ伝送が行われる場合、Lane1〜7を構成する伝送路をも用いてパケットデータが受信部３１に送信される。
【０２００】
［受信部３１の物理レイヤの構成］
次に、受信部３１の物理レイヤの構成について説明する。
【０２０１】
受信部３１には、物理レイヤの構成として、PHY-RX状態制御部１０１、信号処理部１０２−０乃至１０２−Ｎが設けられる。信号処理部１０２−０は、受信部１１１、クロック生成部１１２、同期部１１３、シンボル同期部１１４、10B8Bシンボルデコーダ１１５、スキュー補正部１１６、および制御コード除去部１１７から構成される。Lane0を構成する伝送路を介して送信されてきたパケットデータは信号処理部１０２−０に入力され、Lane1を構成する伝送路を介して送信されてきたパケットデータは信号処理部１０２−１に入力される。また、LaneNを構成する伝送路を介して送信されてきたパケットデータは信号処理部１０２−Ｎに入力される。
【０２０２】
このように、受信部３１の物理レイヤには、信号処理部１０２−０乃至１０２−Ｎがレーンの数と同じ数だけ設けられ、各レーンを用いて伝送されてきたパケットデータの処理が、信号処理部１０２−０乃至１０２−Ｎのそれぞれにおいて並行して行われる。信号処理部１０２−０の構成について説明するが、信号処理部１０２−１乃至１０２−Ｎも同様の構成を有する。
【０２０３】
受信部１１１は、Lane0を構成する伝送路を介して送信部２２から伝送されてきたパケットデータを表す信号を受信し、クロック生成部１１２に出力する。
【０２０４】
クロック生成部１１２は、受信部１１１から供給された信号のエッジを検出することによってビット同期をとり、エッジの検出周期に基づいてクロック信号を生成する。クロック生成部１１２は、受信部１１１から供給された信号を、クロック信号とともに同期部１１３に出力する。
【０２０５】
同期部１１３は、クロック生成部１１２により生成されたクロック信号に従って、受信部１１１において受信された信号のサンプリングを行い、サンプリングによって得られたパケットデータをシンボル同期部１１４に出力する。クロック生成部１１２と同期部１１３によりCDR(Clock Data Recovery)の機能が実現される。
【０２０６】
シンボル同期部１１４は、パケットデータに含まれる制御コードを検出することによって、または制御コードに含まれる一部のシンボルを検出することによってシンボル同期をとる。例えば、シンボル同期部１１４は、Start Code, End Code, Deskew Codeに含まれるK28.5のシンボルを検出し、シンボル同期をとる。シンボル同期部１１４は、各シンボルを表す１０ビット単位のパケットデータを10B8Bシンボルデコーダ１１５に出力する。
【０２０７】
また、シンボル同期部１１４は、パケットデータの伝送が開始される前のトレーニングモード時に送信部２２から繰り返し送信されてくるSync Codeに含まれるシンボルの境界を検出することによってシンボル同期をとる。
【０２０８】
10B8Bシンボルデコーダ１１５は、シンボル同期部１１４から供給された１０ビット単位のパケットデータに対して10B8B変換を施し、８ビット単位のデータに変換したパケットデータをスキュー補正部１１６に出力する。
【０２０９】
スキュー補正部１１６は、10B8Bシンボルデコーダ１１５から供給されたパケットデータからDeskew Codeを検出する。スキュー補正部１１６によるDeskew Codeの検出タイミングの情報はPHY-RX状態制御部１０１に供給される。
【０２１０】
また、スキュー補正部１１６は、Deskew Codeのタイミングを、PHY-RX状態制御部１０１から供給された情報により表されるタイミングに合わせるようにしてレーン間のData Skewを補正する。PHY-RX状態制御部１０１からは、信号処理部１０２−０乃至１０２−Ｎのそれぞれにおいて検出されたDeskew Codeのタイミングのうち、最も遅いタイミングを表す情報が供給されてくる。
【０２１１】
図２５は、Deskew Codeを用いたレーン間のData Skewの補正の例を示す図である。
【０２１２】
図２５の例においては、Lane0〜7の各レーンにおいて、Sync Code, Sync Code,…,Idle Code, Deskew Code, Idle Code, …, Idle Code, Deskew Codeの伝送が行われ、それぞれの制御コードが受信部３１において受信されている。同じ制御コードの受信タイミングがレーン毎に異なり、レーン間のData Skewが生じている状態になっている。
【０２１３】
この場合、スキュー補正部１１６は、１つ目のDeskew CodeであるDeskew Code Ｃ１を検出し、Deskew Code Ｃ１の先頭のタイミングを、PHY-RX状態制御部１０１から供給された情報により表される時刻ｔ１に合わせるように補正する。PHY-RX状態制御部１０１からは、Lane0〜7の各レーンにおいてDeskew Code Ｃ１が検出されたタイミングのうち、最も遅いタイミングであるLane7においてDeskew Code Ｃ１が検出された時刻ｔ１の情報が供給されてくる。
【０２１４】
また、スキュー補正部１１６は、２つ目のDeskew CodeであるDeskew Code Ｃ２を検出し、Deskew Code Ｃ２の先頭のタイミングを、PHY-RX状態制御部１０１から供給された情報により表される時刻ｔ２に合わせるように補正する。PHY-RX状態制御部１０１からは、Lane0〜7の各レーンにおいてDeskew Code Ｃ２が検出されたタイミングのうち、最も遅いタイミングであるLane7においてDeskew Code Ｃ２が検出された時刻ｔ２の情報が供給されてくる。
【０２１５】
信号処理部１０２−１乃至１０２−Ｎのそれぞれにおいて同様の処理が行われることによって、図２５の矢印＃１の先に示すようにレーン間のData Skewが補正される。
【０２１６】
スキュー補正部１１６は、Data Skewを補正したパケットデータを制御コード除去部１１７に出力する。
【０２１７】
制御コード除去部１１７は、パケットデータに付加された制御コードを除去し、Start CodeからEnd Codeまでの間のデータをパケットデータとしてリンクレイヤに出力する。
【０２１８】
PHY-RX状態制御部１０１は、信号処理部１０２−０乃至１０２−Ｎの各部を制御し、レーン間のData Skewの補正などを行わせる。また、PHY-RX状態制御部１０１は、所定のレーンで伝送エラーが起きて制御コードが失われた場合、失われた制御コードに代えて、他のレーンで伝送されてきた制御コードを付加することによって制御コードの誤り訂正を行う。
【０２１９】
［受信部３１のリンクレイヤの構成］
次に、受信部３１のリンクレイヤの構成について説明する。
【０２２０】
受信部３１には、リンクレイヤの構成として、LINK-RXプロトコル管理部１２１、レーン統合部１２２、パケット分離部１２３、ペイロードエラー訂正部１２４、およびByte to Pixel変換部１２５が設けられる。LINK-RXプロトコル管理部１２１は、状態制御部１３１、ヘッダエラー訂正部１３２、データ除去部１３３、およびフッタエラー検出部１３４から構成される。
【０２２１】
レーン統合部１２２は、物理レイヤの信号処理部１０２−０乃至１０２−Ｎから供給されたパケットデータを、送信部２２のレーン分配部６５による各レーンへの分配順と逆順で並び替えることによって統合する。
【０２２２】
例えば、レーン分配部６５によるパケットデータの分配が図２０の矢印＃１の先に示すようにして行われている場合、各レーンのパケットデータの統合が行われることによって図２０の左側のパケットデータが取得される。各レーンのパケットデータの統合時、データ除去部１３３による制御に従って、レーンスタッフィングデータがレーン統合部１２２により除去される。レーン統合部１２２は、統合したパケットデータをパケット分離部１２３に出力する。
【０２２３】
パケット分離部１２３は、レーン統合部１２２により統合された１パケット分のパケットデータを、ヘッダデータを構成するパケットデータとペイロードデータを構成するパケットデータに分離する。パケット分離部１２３は、ヘッダデータをヘッダエラー訂正部１３２に出力し、ペイロードデータをペイロードエラー訂正部１２４に出力する。
【０２２４】
また、パケット分離部１２３は、パケットにフッタが含まれている場合、１パケット分のデータを、ヘッダデータを構成するパケットデータとペイロードデータを構成するパケットデータとフッタデータを構成するパケットデータに分離する。パケット分離部１２３は、ヘッダデータをヘッダエラー訂正部１３２に出力し、ペイロードデータをペイロードエラー訂正部１２４に出力する。また、パケット分離部１２３は、フッタデータをフッタエラー検出部１３４に出力する。
【０２２５】
ペイロードエラー訂正部１２４は、パケット分離部１２３から供給されたペイロードデータにパリティが挿入されている場合、パリティに基づいて誤り訂正演算を行うことによってペイロードデータのエラーを検出し、検出したエラーの訂正を行う。例えば、図１６に示すようにしてパリティが挿入されている場合、ペイロードエラー訂正部１２４は、１つ目のBasic Blockの最後に挿入されている２つのパリティを用いて、パリティの前にある２２４個の画素データの誤り訂正を行う。
【０２２６】
ペイロードエラー訂正部１２４は、各Basic Block, Extra Blockを対象として誤り訂正を行うことによって得られた誤り訂正後の画素データをByte to Pixel変換部１２５に出力する。パケット分離部１２３から供給されたペイロードデータにパリティが挿入されていない場合、パケット分離部１２３から供給されたペイロードデータはそのままByte to Pixel変換部１２５に出力される。
【０２２７】
Byte to Pixel変換部１２５は、ペイロードエラー訂正部１２４から供給されたペイロードデータに含まれるペイロードスタッフィングデータをデータ除去部１３３による制御に従って除去する。
【０２２８】
また、Byte to Pixel変換部１２５は、ペイロードスタッフィングデータを除去して得られたバイト単位の各画素のデータを、８ビット、１０ビット、１２ビット、１４ビット、または１６ビット単位の画素データに変換するByte to Pixel変換を行う。Byte to Pixel変換部１２５においては、図９乃至図１３を参照して説明した、送信部２２のPixel to Byte変換部６２によるPixel to Byte変換と逆の変換が行われる。
【０２２９】
Byte to Pixel変換部１２５は、Byte to Pixel変換によって得られた８ビット、１０ビット、１２ビット、１４ビット、または１６ビット単位の画素データをフレームデータ出力部１４１に出力する。フレームデータ出力部１４１においては、例えば、ヘッダ情報のLine Validにより特定される有効画素の各ラインがByte to Pixel変換部１２５により得られた画素データに基づいて生成され、ヘッダ情報のLine Numberに従って各ラインが並べられることによって１フレームの画像が生成される。
【０２３０】
LINK-RXプロトコル管理部１２１の状態制御部１３１は、受信部３１のリンクレイヤの状態を管理する。
【０２３１】
ヘッダエラー訂正部１３２は、パケット分離部１２３から供給されたヘッダデータに基づいてヘッダ情報とCRC符号の組を３組取得する。ヘッダエラー訂正部１３２は、ヘッダ情報とCRC符号の組の各組を対象として、ヘッダ情報のエラーを検出するための演算である誤り検出演算を、そのヘッダ情報と同じ組のCRC符号を用いて行う。
【０２３２】
また、ヘッダエラー訂正部１３２は、それぞれの組のヘッダ情報の誤り検出結果と、誤り検出演算により求められたデータの比較結果とのうちの少なくともいずれかに基づいて正しいヘッダ情報を推測し、正しいと推測したヘッダ情報と復号結果を出力する。誤り検出演算により求められたデータは、ヘッダ情報にCRCの生成多項式を適用することによって求められた値である。また、復号結果は、復号成功または復号失敗を表す情報である。
【０２３３】
ヘッダ情報とCRC符号の３つの組をそれぞれ組１、組２、組３とする。この場合、ヘッダエラー訂正部１３２は、組１を対象とした誤り検出演算によって、組１のヘッダ情報にエラーがあるか否か（誤り検出結果）と、誤り検出演算により求められたデータであるデータ１を取得する。また、ヘッダエラー訂正部１３２は、組２を対象とした誤り検出演算によって、組２のヘッダ情報にエラーがあるか否かと、誤り検出演算により求められたデータであるデータ２を取得する。ヘッダエラー訂正部１３２は、組３を対象とした誤り検出演算によって、組３のヘッダ情報にエラーがあるか否かと、誤り検出演算により求められたデータであるデータ３を取得する。
【０２３４】
また、ヘッダエラー訂正部１３２は、データ１とデータ２が一致するか否か、データ２とデータ３が一致するか否か、データ３とデータ１が一致するか否かをそれぞれ判定する。
【０２３５】
例えば、ヘッダエラー訂正部１３２は、組１、組２、組３を対象としたいずれの誤り検出演算によっても誤りが検出されず、誤り検出演算によって求められたデータのいずれの比較結果もが一致した場合、復号結果として、復号成功を表す情報を選択する。また、ヘッダエラー訂正部１３２は、いずれのヘッダ情報も正しいと推測し、組１のヘッダ情報、組２のヘッダ情報、組３のヘッダ情報のうちのいずれかを出力情報として選択する。
【０２３６】
一方、ヘッダエラー訂正部１３２は、組１を対象とした誤り検出演算でだけ誤りが検出されなかった場合、復号結果として、復号成功を表す情報を選択するとともに、組１のヘッダ情報が正しいと推測し、組１のヘッダ情報を出力情報として選択する。
【０２３７】
また、ヘッダエラー訂正部１３２は、組２を対象とした誤り検出演算でだけ誤りが検出されなかった場合、復号結果として、復号成功を表す情報を選択するとともに、組２のヘッダ情報が正しいと推測し、組２のヘッダ情報を出力情報として選択する。
【０２３８】
ヘッダエラー訂正部１３２は、組３を対象とした誤り検出演算でだけ誤りが検出されなかった場合、復号結果として、復号成功を表す情報を選択するとともに、組３のヘッダ情報が正しいと推測し、組３のヘッダ情報を出力情報として選択する。
【０２３９】
ヘッダエラー訂正部１３２は、以上のようにして選択した復号結果と出力情報をレジスタ１４２に出力し、記憶させる。このように、ヘッダエラー訂正部１３２によるヘッダ情報の誤り訂正は、複数のヘッダ情報の中から、エラーのないヘッダ情報をCRC符号を用いて検出し、検出したヘッダ情報を出力するようにして行われる。
【０２４０】
データ除去部１３３は、レーン統合部１２２を制御してレーンスタッフィングデータを除去し、Byte to Pixel変換部１２５を制御してペイロードスタッフィングデータを除去する。
【０２４１】
フッタエラー検出部１３４は、パケット分離部１２３から供給されたフッタデータに基づいて、フッタに格納されたCRC符号を取得する。フッタエラー検出部１３４は、取得したCRC符号を用いて誤り検出演算を行い、ペイロードデータのエラーを検出する。フッタエラー検出部１３４は、誤り検出結果を出力し、レジスタ１４２に記憶させる。
【０２４２】
［イメージセンサ１１とDSP１２の動作］
次に、以上のような構成を有する送信部２２と受信部３１の一連の処理について説明する。
【０２４３】
はじめに、図２６のフローチャートを参照して、伝送システム１を有する撮像装置の動作について説明する。図２６の処理は、例えば、撮像装置に設けられたシャッタボタンが押されるなどして撮像の開始が指示されたときに開始される。
【０２４４】
ステップＳ１において、イメージセンサ１１の撮像部２１は撮像を行う。撮像部２１のフレームデータ入力部５２（図５）は、撮像によって得られた１フレームの画像を構成する画素データを、１画素のデータずつ順に出力する。
【０２４５】
ステップＳ２において、送信部２２によりデータ送信処理が行われる。データ送信処理により、１ライン分の画素データをペイロードに格納したパケットが生成され、パケットを構成するパケットデータが受信部３１に対して送信される。データ送信処理については図２７のフローチャートを参照して後述する。
【０２４６】
ステップＳ３において、受信部３１によりデータ受信処理が行われる。データ受信処理により、送信部２２から送信されてきたパケットデータが受信され、ペイロードに格納されている画素データが画像処理部３２に出力される。データ受信処理については図２８のフローチャートを参照して後述する。
【０２４７】
ステップＳ２において送信部２２により行われるデータ送信処理と、ステップＳ３において受信部３１により行われるデータ受信処理は、１ライン分の画素データを対象として交互に行われる。すなわち、ある１ラインの画素データがデータ送信処理によって送信されたとき、データ受信処理が行われ、データ受信処理によって１ラインの画素データが受信されたとき、次の１ラインの画素データを対象としてデータ送信処理が行われる。送信部２２によるデータ送信処理と、受信部３１によるデータ受信処理は、適宜、時間的に並行して行われることもある。ステップＳ４において、画像処理部３２のフレームデータ出力部１４１は、１フレームの画像を構成する全てのラインの画素データの送受信が終了したか否かを判定し、終了していないと判定した場合、ステップＳ２以降の処理を繰り返し行わせる。
【０２４８】
１フレームの画像を構成する全てのラインの画素データの送受信が終了したとステップＳ４において判定した場合、ステップＳ５において、画像処理部３２のフレームデータ出力部１４１は、受信部３１から供給された画素データに基づいて１フレームの画像を生成する。
【０２４９】
ステップＳ６において、画像処理部３２は、１フレームの画像を用いて画像処理を行い、処理を終了させる。
【０２５０】
次に、図２７のフローチャートを参照して、図２６のステップＳ２において行われるデータ送信処理について説明する。
【０２５１】
ステップＳ１１において、ヘッダ生成部７２は、Frame Start, Frame End, Line Valid, Line Number, Reservedからなるヘッダ情報を生成する。
【０２５２】
ステップＳ１２において、ヘッダ生成部７２は、ヘッダ情報を生成多項式に適用してCRC符号を計算する。
【０２５３】
ステップＳ１３において、ヘッダ生成部７２は、ヘッダ情報にCRC符号を付加することによってヘッダ情報とCRC符号の組を生成し、同じヘッダ情報とCRC符号の組を３組繰り返して配置することによってヘッダを生成する。
【０２５４】
ステップＳ１４において、Pixel to Byte変換部６２は、フレームデータ入力部５２から供給された画素データを取得し、Pixel to Byte変換を行う。Pixel to Byte変換部６２は、Pixel to Byte変換によって得られたバイト単位の画素データのグループ化、ペイロードスタッフィングデータの付加などを行うことによって生成したペイロードデータを出力する。ペイロードデータに対しては、適宜、ペイロードECC挿入部６３によりパリティが挿入される。
【０２５５】
ステップＳ１５において、パケット生成部６４は、１ライン分の画素データを含むペイロードデータと、ヘッダ生成部７２により生成されたヘッダに基づいてパケットを生成し、１パケットを構成するパケットデータを出力する。
【０２５６】
ステップＳ１６において、レーン分配部６５は、パケット生成部６４から供給されたパケットデータを、データ伝送に用いられる複数のレーンに割り当てる。
【０２５７】
ステップＳ１７において、制御コード挿入部９１は、レーン分配部６５から供給されたパケットデータに制御コードを付加する。
【０２５８】
ステップＳ１８において、8B10Bシンボルエンコーダ９２は、制御コードが付加されたパケットデータの8B10B変換を行い、１０ビット単位のデータに変換したパケットデータを出力する。
【０２５９】
ステップＳ１９において、同期部９３は、8B10Bシンボルエンコーダ９２から供給されたパケットデータを、クロック生成部８２により生成されたクロック信号に従って出力し、送信部９４から送信させる。ステップＳ１７乃至Ｓ１９の処理は信号処理部８３−０乃至８３−Ｎにより並行して行われる。１ライン分の画素データの送信が終了したとき、図２６のステップＳ２に戻りそれ以降の処理が行われる。
【０２６０】
次に、図２８のフローチャートを参照して、図２６のステップＳ３において行われるデータ受信処理について説明する。
【０２６１】
ステップＳ３１において、受信部１１１は、送信部２２から伝送されてきたパケットデータを表す信号を受信する。ステップＳ３１乃至Ｓ３６の処理は信号処理部１０２−０乃至１０２−Ｎにより並行して行われる。
【０２６２】
ステップＳ３２において、クロック生成部１１２は、受信部１１１から供給された信号のエッジを検出することによってビット同期をとる。同期部１１３は、受信部１１１において受信された信号のサンプリングを行い、パケットデータをシンボル同期部１１４に出力する
【０２６３】
ステップＳ３３において、シンボル同期部１１４は、パケットデータに含まれる制御コードを検出するなどしてシンボル同期をとる。
【０２６４】
ステップＳ３４において、10B8Bシンボルデコーダ１１５は、シンボル同期後のパケットデータに対して10B8B変換を施し、８ビット単位のデータに変換したパケットデータを出力する。
【０２６５】
ステップＳ３５において、スキュー補正部１１６は、Deskew Codeを検出し、上述したように、Deskew CodeのタイミングをPHY-RX状態制御部１０１から供給された情報により表されるタイミングに合わせるようにしてレーン間のData Skewを補正する。
【０２６６】
ステップＳ３６において、制御コード除去部１１７は、パケットデータに付加された制御コードを除去する。
【０２６７】
ステップＳ３７において、レーン統合部１２２は、信号処理部１０２−０乃至１０２−Ｎから供給されたパケットデータを統合する。
【０２６８】
ステップＳ３８において、パケット分離部１２３は、レーン統合部１２２により統合されたパケットデータを、ヘッダデータを構成するパケットデータとペイロードデータを構成するパケットデータに分離する。
【０２６９】
ステップＳ３９において、ヘッダエラー訂正部１３２は、パケット分離部１２３により分離されたヘッダデータに含まれるヘッダ情報とCRC符号の各組を対象としてCRC符号を用いた誤り検出演算を行う。また、ヘッダエラー訂正部１３２は、各組の誤り検出結果と、誤り検出演算により求められたデータの比較結果とに基づいてエラーのないヘッダ情報を選択し、出力する。
【０２７０】
ステップＳ４０において、Byte to Pixel変換部１２５は、ペイロードデータのByte to Pixel変換を行い、８ビット、１０ビット、１２ビット、１４ビット、または１６ビット単位の画素データを出力する。Byte to Pixel変換の対象となるペイロードデータに対しては、適宜、パリティを用いた誤り訂正がペイロードエラー訂正部１２４により行われる。
【０２７１】
１ライン分の画素データの処理が終了したとき、図２６のステップＳ３に戻りそれ以降の処理が行われる。
【０２７２】
イメージセンサ１１とDSP１２の間でのデータ伝送は、以上のように、１フレームの１ラインが１パケットに相当するパケットフォーマットを用いて行われる。
【０２７３】
イメージセンサ１１とDSP１２間のデータ伝送に用いられるパケットフォーマットは、ヘッダ情報や、Start Code, End Code等のパケット境界を示す制御コードの伝送を最小限に抑えるフォーマットといえ、伝送効率の低下を防ぐことが可能になる。仮に、１パケットのペイロードに格納される画素データが１ラインより少ないパケットフォーマットを採用した場合、１フレーム全体の画素データを伝送するためにはより多くのパケットを伝送する必要があり、伝送するヘッダ情報や制御コードの数が多くなる分、伝送効率が低下してしまう。
【０２７４】
また、伝送効率の低下を防ぐことによって伝送レイテンシを抑えることが可能となり、大量の画像データを高速に伝送する必要がある高画素・高フレームレートのインタフェースを実現することができる。
【０２７５】
伝送の信頼度／冗長度を上げて受信部３１側で誤り訂正を行うことを前提にしたパケットフォーマットを採用することによって、ヘッダ情報の伝送エラー対策を確保することが可能になる。Frame/Line（V/H）の同期情報等の伝送がヘッダ情報を用いて行われるため、ヘッダ情報が伝送エラーで失われると、システム上、大きな不具合となる可能性があるが、そのようなことを防ぐことができる。
【０２７６】
また、ヘッダ情報の伝送エラー対策を確保するための実装コストや消費電力の増大を抑えることもできる。すなわち、イメージセンサ１１とDSP１２間のデータ伝送に用いられるパケットフォーマットは、CRC符号が付加されていることで、ヘッダ情報の伝送エラーの有無をDSP１２において検出することができるようになっている。また、ヘッダ情報とCRC符号の組を３組伝送することで、ヘッダ情報の伝送エラーが生じた場合にDSP１２において正しいヘッダ情報に訂正することができるようになっている。
【０２７７】
仮に、ヘッダ情報の伝送エラー対策として誤り訂正符号を用いるとした場合、誤り訂正符号の計算を行う回路を送信部２２に用意するとともに、誤り訂正演算を行う回路を受信部３１に用意する必要があることになる。ヘッダ情報に付加されるのは誤り検出符号であるCRC符号であるため、誤り訂正に関する演算を行う回路を用意する場合に較べて、回路規模、消費電力を小さくすることができる。また、ヘッダ情報の誤りを検出した場合にヘッダ情報の再送を受信部３１が送信部２２に対して要求することも行われないため、再送要求のための逆方向の伝送路を用意する必要がない。
【０２７８】
冗長度を上げ、8B10Bコードの複数のK Characterを組み合わせて制御コードを構成することによって、制御コードのエラー確率を低減させることができ、これにより、比較的簡単な回路で制御コードの伝送エラー対策を確保することが可能になる。
【０２７９】
具体的には、Start Codeには３種類のK Characterを４シンボル組み合わせて用いているが、少なくともK28.5以外のシンボルを検出できれば受信部３１においてStart Codeを特定することができ、伝送エラーに対する耐性が高いといえる。End Codeについても同様である。
【０２８０】
また、Pad Codeに４種類のK Characterを組み合わせて用いているが、他の制御コードより多くの種類のK Characterを割り当てることによって、他の制御コードよりエラー耐性を上げることが可能になる。すなわち、４種類のうちの１種類のシンボルを検出できれば受信部３１においてPad Codeを特定することができる。Pad Codeは、伝送頻度がStart CodeやEnd Codeなどよりも高いため、よりエラー耐性を上げることができる構造を持たせている。
【０２８１】
さらに、レーン毎に、同じ制御コードを同じタイミングで伝送することによって、１つのレーンで伝送エラーが起きて制御コードが失われた場合でも、他のレーンの制御コードを使って、エラーとなった制御コードを再現することができる。
【０２８２】
また、K Characterの数が限られているため、必要最小限のK Characterを組合せてそれぞれの制御コードを構成するようになされている。例えば、繰り返し送信することによって伝送エラーを比較的許容できるSync Code, Deskew Code, Standby Codeについては、K Characterを追加で割り当てる必要がないようなデータ構造を用いている。
【０２８３】
再同期させるために必要な制御コードが１パケット（１ライン）毎に割り当てられているため、静電気等の外乱やノイズなどによりビット同期が外れてしまった場合に再同期を迅速にとることができる。また、同期外れによる伝送エラーの影響を最小限に抑えることができる。
【０２８４】
具体的には、クロック生成部１１２と同期部１１３により実現されるCDRにおいて8B10B変換後のビットデータの遷移／エッジを検出することでビット同期をとることができる。送信部２２がデータを送り続けていれば、CDRロック時間として想定された期間内でビット同期をとることができることになる。
【０２８５】
また、シンボル同期が外れてしまった場合でも、特定のK Character（K28.5）をシンボル同期部１１４において検出することによって再同期を迅速にとることができる。K28.5はStart Code, End Code, Deskew Codeにそれぞれ用いられているから、１パケット分のパケットデータの伝送期間中に、３箇所でシンボル同期をとることが可能になる。
【０２８６】
また、Deskew Codeを用いてレーン間のData Skewを補正することができるようにすることによって、レーン間の同期をとることもできる。
【０２８７】
リンクレイヤにおいて、１６個ずつなどのグループ単位（図１４の例の場合、１６バイト単位）で各パケットデータが並列処理されるようにすることによって、１クロック周期に１つずつパケットデータを処理する場合に較べて、回路規模やメモリ量を抑えることができる。実装上、パケットデータを１つずつ処理する場合と所定の単位毎にまとめて処理する場合とで、後者の方が回路規模等を抑えることができる。回路規模を抑えることができることによって、消費電力を抑えることも可能になる。
【０２８８】
また、レーン割り当ての際、連続するパケットデータを異なるレーンに割り当てることによってエラー耐性を高めることができる。あるレーンにおいてパリティの誤り訂正能力を超えた数の連続するパケットデータに跨ってエラーが生じた場合であっても、受信部３１においてレーン結合が行われることによって、エラーが生じたパケットデータの位置が分散することになり、パリティを用いたエラー訂正が可能になることがある。パリティによる誤り訂正能力はパリティ長により定まる。
【０２８９】
さらに、物理レイヤに近い方を下位として、レーン分配・レーン統合より上位でECC処理を行うようにすることによって、送信部２２と受信部３１の回路規模を削減することが可能になる。例えば、送信部２２において、パケットデータの各レーンへの割り当てが行われた後にペイロードにECCのパリティが挿入されるとした場合、ペイロードECC挿入部をレーン毎に用意する必要があり、回路規模が大きくなってしまうがそのようなことを防ぐことができる。
【０２９０】
物理レイヤにおいてはパケットデータの並列処理が複数の回路で行われるが、PHY-TX状態制御部８１やクロック生成部８２については共通化することによって、それらの回路をレーン毎に用意する場合に較べて回路の簡素化を図ることができる。また、レーン毎に異なる制御コードを伝送しないプロトコルを用いることによって、各レーンのパケットデータを処理する回路の簡素化を図ることができる。
【０２９１】
［レーン数の切り替え］
各レーンにおいて同じ制御コードを同じタイミングで伝送することは、通常のデータ伝送時だけでなく、例えばレーン数を切り替える場合にも行われる。レーン数を切り替える場合においても、アクティブなレーン（データ伝送に用いられるレーン）の状態は全て同じ状態になる。
【０２９２】
図２９は、レーン数を切り替える場合の制御シーケンスを示す図である。
【０２９３】
図２９の右側に垂直同期信号（XVS）、水平同期信号（XHS）のタイミングを示す。垂直同期信号が検出される時刻ｔ１までの間に１フレームの画像を構成する各ラインの画素データが水平同期信号に従って伝送され、時刻ｔ１のタイミングで、アクティブなレーンを４レーンから２レーンに変更する場合について説明する。時刻ｔ１までは、４つのレーンを用いてデータ伝送が行われている。
【０２９４】
図２９のほぼ中央には縦方向に各レーンの状態を示している。「PIX DATA」は、その文字が付されているレーンにおいて画素データの伝送が行われていることを表す。「PIX DATA」に続く「E」、「BLK」、「S」は、それぞれ、Frame End、ブランキング期間、Frame Startを表す。
【０２９５】
時刻ｔ１までの１フレーム期間に伝送するフレームの画素データの伝送が終了した場合、ステップＳ８１において、画像処理部３２は、受信部３１に対してレーン数を４から２に切り替えることを指示する。画像処理部３２による指示はステップＳ７１において受信部３１により受信される。
【０２９６】
時刻ｔ１になったとき、ステップＳ８２において、画像処理部３２は、イメージセンサ１１の撮像部２１に対して、モードチェンジを要求する。撮像部２１に対して送信されるモードチェンジの要求には、レーン数を４から２に切り替えることを表す情報も含まれている。図１等には示していないが、撮像部２１と画像処理部３２の間には、シャッタスピード、ゲインなどの撮像に関する設定値の情報を画像処理部３２が撮像部２１に対して送信するための伝送路が設けられている。モードチェンジの要求もこの伝送路を介して撮像部２１に送信される。
【０２９７】
ステップＳ５１において、撮像部２１は、画像処理部３２からのモードチェンジの要求を受信し、ステップＳ５２において、送信部２２に対してレーン数を４から２に切り替えることを指示する。撮像部２１による指示はステップＳ６１において送信部２２により受信される。
【０２９８】
送信部２２と受信部３１の間ではStandby Sequenceの処理が行われ、Lane0〜3を使ってStandby Codeが送信部２２から受信部３１に繰り返し伝送される。Standby Sequenceの処理が終了したとき、ステップＳ７２において、受信部３１から状態の検出結果が出力され、ステップＳ８３において画像処理部３２により受信される。また、アクティブな状態を維持するLane0とLane1についてはLowの状態となり、データ伝送を終了するLane2とLane3についてはHigh-Zの状態となる。
【０２９９】
送信部２２と受信部３１の間ではTraining Sequenceの処理が行われ、Lane0とLane1を使ってSync Codeが送信部２２から受信部３１に繰り返し伝送される。受信部３１においてはビット同期が確保され、Sync Codeが検出されることによってシンボル同期が確保される。
【０３００】
Training Sequenceの処理が終了したとき、ステップＳ７３において、受信部３１は、画像処理部３２に対して準備が完了したことを通知する。受信部３１による通知はステップＳ８４において画像処理部３２により受信され、レーン数を切り替える場合の一連の制御シーケンスが終了する。
【０３０１】
このように、レーン数を切り替える制御シーケンスにおいては、続けてデータ伝送に用いられるLane0,1と同じ状態になるように、データ伝送を終了するLane2,3においてもStandby Sequenceの処理時にStandby Codeが伝送される。例えば、Lane2,3については、Standby Codeの伝送を行わないでそのままHigh-Zの状態にすることも考えられるが、続けてデータ伝送に用いられるレーンと異なる状態になってしまい、制御が複雑になる。
【０３０２】
［フレームフォーマットの変形例］
図３０は、イメージセンサ１１−DSP１２間のデータ伝送に用いられるフレームフォーマットの他の例を示す図である。上述した説明と重複する説明については適宜省略する。
【０３０３】
図３０に示すフレームフォーマットは、各ラインの画像データに付加されるヘッダに太線Ｌ１１で囲むEmbedded Line, Data ID, Region Numberの３つのデータが追加されている点で図４のフォーマットと異なる。図５のヘッダ生成部７２によりこれらの情報が生成され、ヘッダに付加されることになる。
【０３０４】
図３１は、図３０のフレームフォーマットの１パケットを拡大して示す図である。１つのパケットは、ヘッダと、１ライン分の画素データであるペイロードデータから構成される。パケットにはフッタが付加されることもある。各パケットの先頭にはStart Codeが付加され、後ろにはEnd Codeが付加される。
【０３０５】
ヘッダ情報には、上述したFrame Start, Frame End, Line Valid, Line Numberに加えて、ライン情報としてのEmbedded Line、データ識別としてのData ID、および領域情報としてのRegion Numberが含まれる。各情報の内容を図３２に示す。
【０３０６】
Embedded Lineは、Embedded Dataが挿入されているラインの伝送に用いられるパケットであるのか否かを表す１ビットの情報である。例えば、Embedded Dataを含むラインの伝送に用いられるパケットのヘッダのEmbedded Lineには１の値が設定され、他のラインの伝送に用いられるパケットのヘッダのEmbedded Lineには０の値が設定される。上述したように、撮像に関する設定値の情報が、Embedded Dataとして前ダミー領域Ａ３や後ダミー領域Ａ４の所定のラインに挿入される。
【０３０７】
Data IDは、ペイロードに格納されている画素データの番号を示すＰビットの情報である。Ｐビットは１ビット以上の所定の数のビットを表す。
【０３０８】
Region Numberは、ペイロードに格納されている画素データが、撮像部２１のどの領域のデータであるのかを示す１ビットの情報である。Data IDとRegion Numberの用い方については後述する。これらの３つのデータが追加されることによって、Reservedは３０−Ｐビットになる。
【０３０９】
［撮像部２１の構成例］
図３３は、撮像部２１の構成例を示す図である。撮像部２１は、制御部２０１、画素アレイ部２１１、選択部２１２、ADC(Analog Digital Converter)２１３、および定電流回路部２１４から構成される。
【０３１０】
制御部２０１は、撮像部２１の各部を制御し、画素データ（画素信号）の読み出し等に関する処理を実行させる。
【０３１１】
画素アレイ部２１１は、フォトダイオード等の光電変換素子を有する画素が行列状に配置されることによって構成される。画素アレイ部２１１は、各画素において被写体からの光の光電変換を行い、光電変換によって得られた画素信号を出力する。
【０３１２】
画素２２１と画素２２２は、画素アレイ部２１１を構成し、上下に隣接する２つの画素である。画素２２１と画素２２２は、互いに同じカラム（列）の連続する行の画素である。画素２２１と画素２２２は、それぞれ、１つの光電変換素子と４つのトランジスタから構成される。
【０３１３】
一般的な画素アレイにおいては、画素信号の出力線がカラム毎に１本設けられるが、画素アレイ部２１１においては、１カラム毎に、２本（２系統）の出力線が設けられる。１カラムの画素は、１行おきに異なる出力線に接続される。例えば、上から奇数番目の行を構成する画素が一方の出力線に接続され、偶数番目の行を構成する画素が他方の出力線に接続される。
【０３１４】
図３３の例の場合、画素２２１を構成する回路は、第１の出力線である出力線VSL1に接続され、画素２２２を構成する回路は、第２の出力線である出力線VSL2に接続される。なお、図３３には１カラム分の出力線のみを示しているが、実際には、出力線VSL1と出力線VSL2の２本の出力線が各カラムに対して設けられる。
【０３１５】
選択部２１２は、画素アレイ部２１１の出力線をADC２１３の入力に接続するスイッチを有し、画素アレイ部２１１とADC２１３との接続を制御する。画素アレイ部２１１から読み出された画素信号は選択部２１２を介してADC２１３に供給される。
【０３１６】
選択部２１２は、スイッチ２３１、スイッチ２３２、およびスイッチ２３３を有する。スイッチ２３１は、同じカラムに対応する２本の出力線の接続を制御する。スイッチ２３１がオン状態になると出力線VSL1と出力線VSL2が接続され、オフ状態になると切断される。
【０３１７】
詳細については後述するが、撮像部２１には、各出力線に対してADCが１つずつ設けられる（カラムADC）。スイッチ２３２とスイッチ２３３がともにオン状態である場合、スイッチ２３１がオン状態になれば、同じカラムの２本の出力線が接続され、１画素が２つのADCに接続されることになる。逆に、スイッチ２３１がオフ状態になると、同じカラムの２本の出力線が切断されて、１画素の回路が１つのADCに接続されることになる。つまり、スイッチ２３１は、１つの画素の信号の出力先とするADCの数を選択する。
【０３１８】
スイッチ２３２は、画素２２１に対応する出力線VSL1と、その出力線に対応するADCとの接続を制御する。スイッチ２３２がオン状態になると、出力線VSL1が、対応するADCの比較器である比較器２４１の一方の入力に接続される。また、オフ状態になるとそれらが切断される。
【０３１９】
スイッチ２３３は、画素２２２に対応する出力線VSL2と、その出力線に対応するADCとの接続を制御する。スイッチ２３３がオン状態になると、出力線VSL2が、対応するADCの比較器である比較器２５１の一方の入力に接続される。また、オフ状態になるとそれらが切断される。
【０３２０】
なお、図３３には１カラム分の２本の出力線に対する構成のみが示されているが、実際には、選択部２１２は、図３３に示す構成と同じ構成（スイッチ２３１乃至スイッチ２３３）をカラム毎に有する。つまり、選択部２１２は、各カラムについて、制御部２０１の制御に従って、上述した接続制御と同様の制御を行う。
【０３２１】
ADC２１３は、画素アレイ部２１１から各出力線を介して供給される画素信号をそれぞれA/D変換し、デジタルデータとして送信部２２に出力する。ADC２１３は、画素アレイ部２１１からの出力線毎のカラムADCを有する。つまり、図３３の例の場合、各カラムの出力線の数は２本であるから、ADC２１３は、画素アレイ部２１１の全体のカラムの数×２個のカラムADCから構成される。１つのカラムADCは、１つの比較器、１つのD/A変換器（DAC）、および１つのカウンタを有するシングルスロープ型のADCである。
【０３２２】
比較器２４１は、DAC２４２の出力と、出力線VSL1を介して供給された画素信号の信号値とを比較する。比較器２４１は、DAC２４２の出力が画素信号の信号値に達したときカウンタ２４３によるカウントを停止させる。
【０３２３】
カウンタ２４３は、画素信号とDAC出力が等しくなるまで、カウント値（デジタル値）をインクリメントする。カウンタ２４３は、デジタル化することによって得られた信号をDATA1として出力する。カウンタ２４３は、データ出力後、次のA/D変換のためにカウント値を初期値（例えば０）に戻す。
【０３２４】
比較器２５１は、DAC２５２の出力と、出力線VSL2を介して供給された画素信号の信号値とを比較する。比較器２５１は、DAC２５２の出力が画素信号の信号値に達したときカウンタ２５３によるカウントを停止させる。
【０３２５】
カウンタ２５３は、画素信号とDAC出力が等しくなるまで、カウント値をインクリメントする。カウンタ２５３は、デジタル化することによって得られた信号をDATA2として出力する。カウンタ２５３は、データ出力後、次のA/D変換のためにカウント値を初期値に戻す。
【０３２６】
このように、ADC２１３は各カラムに対して２系統のカラムADCを有する。図３３の例の場合、出力線VSL1に対して、比較器２４１（COMP1）、DAC２４２（DAC1）、およびカウンタ２４３（カウンタ１）が設けられ、出力線VSL2に対して、比較器２５１（COMP2）、DAC２５２（DAC2）、およびカウンタ２５３（カウンタ２）が設けられる。図示は省略しているが、ADC２１３は、他のカラムの出力線に対しても同様の構成を有する。
【０３２７】
これらの構成のうち、DACは共通化することが可能である。DACの共通化は系統毎に行われる。つまり、各カラムの互いに同じ系統のDACが共通化される。図３３の例の場合、各カラムの出力線VSL1に対応するDACがDAC２４２として共通化され、各カラムの出力線VSL2に対応するDACがDAC２５２として共通化される。
【０３２８】
以下、適宜、比較器２４１、DAC２４２、およびカウンタ２４３を有するカラムADCをカラムADC1といい、比較器２５１、DAC２５２、およびカウンタ２５３を有するカラムADCをカラムADC2という。
【０３２９】
定電流回路部２１４は、各出力線に接続される定電流回路である。定電流回路部２１４は、出力線VSL1に対するMOSトランジスタ２６１（LOAD1）と、出力線VSL2に対するMOSトランジスタ２６２（LOAD2）から構成される。
【０３３０】
［画素データの読み出しについて］
ここで、撮像部２１による画素データの読み出しについて説明する。画素データの読み出しは行方向に並ぶ画素単位（ライン単位）で行われる。画素２２２を含むラインをＮ行目のライン、画素２２１を含むラインをＮ＋１行目のラインとして説明する。
【０３３１】
はじめに、スイッチ２３１，２３２，２３３が全てオンである場合について説明する。
【０３３２】
この場合、Ｎ行目のラインの読み出しタイミングでは、画素２２２の画素信号が、スイッチ２３３、出力線VSL2を介してカラムADC2に供給され、スイッチ２３１、スイッチ２３２、出力線VSL1を介してカラムADC1に供給される。Ｎ行目のラインを構成する各画素において同じ処理が行われるから、Ｎ行目のラインの各画素のデータとして、DATA1とDATA2の２つのデータが撮像部２１から出力されることになる。
【０３３３】
撮像部２１からの出力を受信した送信部２２においては、Ｎ行目のラインの各画素のデータであるDATA1をペイロードに格納するパケットと、同じＮ行目のラインの各画素のデータであるDATA2をペイロードに格納するパケットがそれぞれ生成される。また、DATA1をペイロードに格納するパケットとDATA2をペイロードに格納するパケットが、所定のタイミングでDSP１２に伝送される。
【０３３４】
また、Ｎ＋１行目のラインの読み出しタイミングでは、画素２２１の画素信号が、スイッチ２３２、出力線VSL1を介してカラムADC1に供給され、スイッチ２３１、スイッチ２３３、出力線VSL2を介してカラムADC2に供給される。Ｎ＋１行目のラインを構成する各画素において同じ処理が行われるから、Ｎ＋１行目のラインの各画素のデータとして、DATA1とDATA2の２つのデータが撮像部２１から出力されることになる。
【０３３５】
撮像部２１からの出力を受信した送信部２２においては、Ｎ＋１行目のラインの各画素のデータであるDATA1をペイロードに格納するパケットと、Ｎ＋１行目のラインの各画素のデータであるDATA2をペイロードに格納するパケットがそれぞれ生成される。また、DATA1をペイロードに格納するパケットとDATA2をペイロードに格納するパケットが、所定のタイミングでDSP１２に伝送される。
【０３３６】
スイッチ２３１がオフ、スイッチ２３２，２３３がオンである場合について説明する。この場合、Ｎ行目のラインの読み出しタイミングでは、画素２２２の画素信号が、スイッチ２３３、出力線VSL2を介してカラムADC2に供給される。Ｎ行目のラインを構成する各画素において同じ処理が行われるから、Ｎ行目のラインの各画素のデータとしてDATA2が撮像部２１から出力されることになる。
【０３３７】
撮像部２１からの出力を受信した送信部２２においては、Ｎ行目のラインの各画素のデータであるDATA2をペイロードに格納するパケットが生成され、所定のタイミングでDSP１２に伝送される。
【０３３８】
また、Ｎ＋１行目のラインの読み出しタイミングでは、画素２２１の画素信号が、スイッチ２３２、出力線VSL1を介してカラムADC1に供給される。Ｎ＋１行目のラインを構成する各画素において同じ処理が行われるから、Ｎ＋１行目のラインの各画素のデータとしてDATA1が撮像部２１から出力されることになる。
【０３３９】
撮像部２１からの出力を受信した送信部２２においては、Ｎ＋１行目のラインの各画素のデータであるDATA1をペイロードに格納するパケットが生成され、所定のタイミングでDSP１２に伝送される。Ｎ行目のラインの読み出しタイミングとＮ＋１行目のラインの読み出しタイミングは同じタイミングであってもよいし、違うタイミングであってもよい。
【０３４０】
以上のように複数のADCが各カラムに設けられる場合、パケットのペイロードに格納される画素データがDATA1とDATA2のうちのいずれのデータであるのかをDSP１２側に通知する必要がある。ヘッダに格納される図３１のData IDは、ペイロードに格納されている画素データが、DATA1とDATA2のうちのいずれのデータであるのかをDSP１２側に通知するために用いられる。
【０３４１】
図３４は、Data IDの値の意味の例を示す図である。例えば以上のようにしてDATA1とDATA2の２つの画素データが各画素から出力可能である場合、Data IDには１ビットが割り当てられる。
【０３４２】
Data IDの値が０であることは、０の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインのDATA1の画素データが含まれていることを意味する。また、Data IDの値が１であることは、１の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインのDATA2の画素データが含まれていることを意味する。
【０３４３】
ここで、図３５のフローチャートを参照して撮像装置１の処理について説明する。図３５の処理は、DATA1とDATA2の２つの画素データが撮像部２１から出力される点を除いて、基本的に図２６の処理と同様の処理である。
【０３４４】
ステップＳ１０１において、イメージセンサ１１の撮像部２１は、Ｎ行目のデータとしてDATA1とDATA2の２つの画素データを出力するようにして撮像を行う。撮像部２１からは、１フレームを構成する１行目から順に、各ラインのDATA1とDATA2の画素データが出力される。
【０３４５】
ステップＳ１０２において、送信部２２は、図２７のフローチャートを参照して説明したデータ送信処理を行う。データ送信処理により、１ライン分の画素データをペイロードに格納したパケットが生成され、パケットを構成するパケットデータが受信部３１に対して送信される。
【０３４６】
ステップＳ１０３において、受信部３１は、図２８のフローチャートを参照して説明したデータ受信処理を行う。データ受信処理により、送信部２２から送信されてきたパケットデータが受信され、ペイロードに格納されている画素データが画像処理部３２に出力される。
【０３４７】
ステップＳ１０４において、画像処理部３２のフレームデータ出力部１４１は、１フレームの画像を構成する全てのラインのDATA1とDATA2の画素データの送受信が終了したか否かを判定する。フレームデータ出力部１４１は、全てのラインのDATA1とDATA2の画素データの送受信が終了していないと判定した場合、ステップＳ１０２以降の処理を繰り返し行わせる。
【０３４８】
全てのラインのDATA1とDATA2の画素データの送受信が終了したとステップＳ１０４において判定した場合、ステップＳ１０５において、画像処理部３２のフレームデータ出力部１４１は、DATA1とDATA2の画素データに基づいて１フレームの画像を生成する。１フレームの画像の生成は、各ラインのDATA1の画素データを合成することによって、または各ラインのDATA2の画素データを合成することによって行われる。また、DATA1の画素データとDATA2の画素データのうちのいずれかをライン毎に選択し、選択した画素データを合成するようにして１フレームの画像が生成される。
【０３４９】
ステップＳ１０６において、画像処理部３２は、１フレームの画像を用いて画像処理を行い、処理を終了させる。
【０３５０】
［Data IDの使用例］
同じ位置の画素のデータとして複数のデータを取得し、画素データの種類の識別情報を画素データとともにDSP１２側に伝送することによって各種の機能を実現することが可能になる。
【０３５１】
［疑似ワイドダイナミックレンジ機能］
図３６は、撮像部２１の他の構成例を示す図である。図３６の撮像部２１からは、各ラインのDATA1の画素データとして低ゲインの画素データが出力され、DATA2の画素データとして高ゲインの画素データが出力される。すなわち、DAC２４２とDAC２５２にはそれぞれ異なるゲインが設定されており、各画素から出力された画素信号のA/D変換が異なるゲインを用いて行われる。
【０３５２】
例えばDSP１２においては、高照度域の画素については低ゲインの画素データであるDATA1の方を選択し、低照度域の画素については高ゲインの画素データであるDATA2の方を選択して１フレームの画像が生成される。これにより、低照度時に輝度の高い被写体がある場合であっても白飛びを防ぐことができ、ダイナミックレンジを擬似的に拡張させることが可能になる。１フレーム内の各領域の照度に関する情報は、例えば照度センサにより検出され、DSP１２に供給される。
【０３５３】
１フレーム内の各領域の照度に関する情報が撮像部２１に供給される場合、撮像部２１から出力されるデータが照度に応じて切り替えられるようにしてもよい。例えば撮像部２１は、高照度域のラインの画素については低ゲインの画素データであるDATA1を出力し、低照度域のラインの画素については高ゲインの画素データであるDATA2を出力することになる。これにより、２種類のゲインを用いてDATA1とDATA2を生成し、出力する場合に較べてA/D変換にかかる時間を短縮することが可能になる。
【０３５４】
なお、図３６においては画素２２２や画素信号の出力先を切り替える選択部２１２等の図示を省略しているが、Ｎ行目の読み出しタイミングでは、Ｎ行目の各画素の画素信号がゲインの異なる２つのADCに供給される。
【０３５５】
図３７は、低ゲインの画素データと高ゲインの画素データが撮像部２１から出力される場合のData IDの値の意味の例を示す図である。Data IDには１ビットが割り当てられる。
【０３５６】
Data IDの値が１であることは、１の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインの低ゲインの画素データであるDATA1の画素データが含まれていることを意味する。また、Data IDの値が０であることは、０の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインの高ゲインの画素データであるDATA2の画素データが含まれていることを意味する。
【０３５７】
これにより、パケットに格納された画素データを受信したDSP１２は、同じＮ行目の画素データであっても、Data IDの値からDATA1の画素データとDATA2の画素データを識別することが可能になる。
【０３５８】
［マルチスロープ機能］
DAC２４２とDAC２５２のA/D変換の分解能をそれぞれ異なるものとし、各画素から出力された画素信号をビット数の異なるデータに変換するようにしてもよい。撮像部２１からは、各ラインのDATA1の画素データとして12bitなどのビット数の少ない画素データが出力され、DATA2の画素データとして14bitなどのビット数の多い画素データが出力されることになる。
【０３５９】
例えばDSP１２においては、高照度域の画素についてはビット数の少ない画素データであるDATA1を選択し、低照度域の画素についてはビット数の多い画素データであるDATA2の方を選択して１フレームの画像が生成される。これにより、低照度域の階調を高めることができるとともに、高照度域にショットノイズがのってしまうことを防ぐことができる。照度の高い領域の画素信号に対して高い分解能でA/D変換を行った場合、得られる画像にショットノイズがのってしまうことがある。
【０３６０】
１フレーム内の各領域の照度に関する情報が撮像部２１に供給される場合、撮像部２１から出力されるデータが照度に応じて切り替えられるようにしてもよい。例えば撮像部２１は、高照度域のラインの画素についてはビット数の少ない画素データであるDATA1を出力し、低照度域のラインの画素についてはビット数の多い画素データであるDATA2を出力することになる。これにより、２種類の分解能を用いてDATA1とDATA2を生成し、出力する場合に較べてA/D変換にかかる時間を短縮することが可能になる。
【０３６１】
ヘッダに含まれる１ビットのData IDは、DAC２４２とDAC２５２の分解能が異なる場合に撮像部２１から出力されるデータの種類を識別するためにも用いられる。
【０３６２】
例えば、Data IDの値が１であることは、１の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインのビット数の少ない画素データであるDATA1の画素データが含まれていることを意味する。また、Data IDの値が０であることは、０の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインのビット数の多い画素データであるDATA2の画素データが含まれていることを意味する。
【０３６３】
これにより、パケットに格納された画素データを受信したDSP１２は、同じＮ行目の画素データであっても、Data IDの値からDATA1の画素データとDATA2の画素データを識別することが可能になる。
【０３６４】
［縦分光の撮像素子からの画素データの伝送機能］
図３８は、撮像部２１の他の構成例を示す図である。図３８の撮像部２１は、いわゆる縦分光型のイメージセンサである。画素アレイ部２１１を構成する各画素は、画素の厚み方向（光が入射する方向）にRGBのそれぞれのセンサが積層して配置されることによって構成される。
【０３６５】
図３８に示す画素２２１には、フォトセンサＢ（B画素）、フォトセンサＲ（R画素）、フォトセンサＧ（G画素）が設けられている。各フォトセンサの出力をADC２１３に供給するタイミングが制御部２０１により制御される。
【０３６６】
図３９は、各フォトセンサの出力をADC２１３に供給するタイミングの例を示す図である。図３９の例においては、Ｎ行目のラインの読み出し期間中の時刻t1から時刻t2までの期間にフォトセンサＧの出力がADC２１３に供給され、時刻t3から時刻t4までの期間にフォトセンサＲの出力がADC２１３に供給される。また、時刻t5から時刻t6までの期間にフォトセンサＢの出力がADC２１３に供給される。各フォトセンサの出力をADC２１３に供給する順序は任意である。
【０３６７】
フォトセンサＧから出力された画素信号に対しては、比較器２４１、DAC２４２、およびカウンタ２４３からなるカラムADC1によりA/D変換が行われ、A/D変換により得られたG画素のデータがDATA1として出力される。また、フォトセンサＲから出力された画素信号に対しては、比較器２５１、DAC２５２、およびカウンタ２５３からなるカラムADC2によりA/D変換が行われ、A/D変換により得られたR画素のデータがDATA2として出力される。フォトセンサＢから出力された画素信号に対しては、比較器２６１、DAC２６２、およびカウンタ２６３からなるカラムAD32によりA/D変換が行われ、A/D変換により得られたB画素のデータがDATA3として出力される。
【０３６８】
撮像部２１からの出力を受信した送信部２２においては、Ｎ行目のラインの各画素について、G画素のデータであるDATA1をペイロードに格納するパケットと、R画素のデータであるDATA2をペイロードに格納するパケットと、B画素のデータであるDATA3をペイロードに格納するパケットがそれぞれ生成される。また、生成されたパケットが所定のタイミングでDSP１２に伝送される。
【０３６９】
ヘッダに含まれるData IDは、各パケットのペイロードに格納される画素データがRGBのどの画素のデータであるのかを識別するために用いられる。この場合、Data IDには例えば２ビット（P=2）が割り当てられる。
【０３７０】
図４０は、撮像部２１が縦分光型のイメージセンサである場合のData IDの値の意味の例を示す図である。
【０３７１】
Data IDの値が00であることは、00の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインのG画素のデータであるDATA1の画素データが含まれていることを意味する。また、Data IDの値が01であることは、01の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインのR画素のデータであるDATA2の画素データが含まれていることを意味する。Data IDの値が10であることは、10の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の１ラインのB画素のデータであるDATA3の画素データが含まれていることを意味する。
【０３７２】
これにより、パケットに格納された画素データを受信したDSP１２は、同じＮ行目の画素データであっても、Data IDの値からRGBのそれぞれの画素データを識別することが可能になる。
【０３７３】
［他の使用例］
図４１は、画素アレイ部２１１を構成する画素の例を示す図である。図４１に示す各画素はハニカム構造の画素であり、各画素は、感度とダイナミックレンジが異なるＲ画素とＳ画素から構成される。
【０３７４】
Ｎ行目の読み出しタイミングにおいては、Ｒ画素のデータをペイロードに含むパケットと、Ｓ画素のデータをペイロードに含むパケットが送信部２２によりそれぞれ生成される。Ｒ画素のデータをペイロードに含むパケットのヘッダのData IDには、ペイロードに含まれるデータがＲ画素のデータであることを表す値が設定される。また、Ｓ画素のデータをペイロードに含むパケットのヘッダのData IDには、ペイロードに含まれるデータがＳ画素のデータであることを表す値が設定される。
【０３７５】
パケットに格納された画素データを受信したDSP１２は、同じＮ行目の画素データであっても、Data IDの値から、Ｒ画素のデータとＳ画素のデータをそれぞれ識別することができ、ハニカム構造の各画素の画素データを生成することが可能になる。
【０３７６】
図４２は、それぞれ異なる露光時間（シャッタスピード）によって得られた画素データをDATA1、DATA2として出力する場合の例を示す図である。撮像部２１の構成は、図３３に示すようなDATA1、DATA2の２つのデータを各画素から出力可能な構成となる。
【０３７７】
例えば、DATA1はシャッタスピードを30fpsとして得られた画素データであり、DATA2はシャッタスピードを240fpsとして得られた画素データである。DATA1は、デジタルカメラなどの撮影装置において静止画の撮影前にディスプレイに表示するプレビュー用の画像のデータとして用いられ、DATA2は、コントラストAF(Auto Focus)を行うためのコントラスト解析用の画像のデータとして用いられる。
【０３７８】
図４２Ａ、図４２Ｂは、読み出しのタイミングの例を示す図である。制御部２０１は、画素アレイ部１１１を制御して、Ｎ行目の各画素の画素信号を30fpsで読み出し（Read1/2）、得られた画素データをDATA1として出力する。また、制御部２０１は、同じＮ行目の別画素の画素信号を240fpsで読み出し（Read3/4）、得られた画素データをDATA2として出力する。
【０３７９】
水平同期信号XHSの１周期の期間と30fpsの読み出し期間とが等しいとすると、８周期分の期間においては、DATA1の出力は１回行われ、DATA2の出力は８回行われることになる。DATA1の読み出しを行うカラムADCの動作を７周期の期間分停止させることができ、DATA1の読み出しを続ける場合に較べて撮像部２１の消費電力を抑えることが可能になる。
【０３８０】
パケットのヘッダに含まれる１ビットのData IDは、ペイロードに含まれるデータが、シャッタスピードを30fpsとして得られたDATA1であるのか、240fpsとして得られたDATA2であるのかを識別するために用いられる。
【０３８１】
例えば、Data IDの値が１であることは、１の値が設定されたData IDをヘッダに含むパケットのペイロードにシャッタスピードを30fpsとして得られた所定の１ラインのDATA1の画素データが含まれることを意味する。また、Data IDの値が０であることは、０の値が設定されたData IDをヘッダに含むパケットのペイロードにシャッタスピードを240fpsとして得られた所定の１ラインのDATA2の画素データが含まれることを意味する。
【０３８２】
これにより、パケットに格納された画素データを受信したDSP１２は、同じＮ行目の画素データであっても、Data IDの値からDATA1の画素データとDATA2の画素データを識別することができる。また、DSP１２は、プレビュー画像の表示とオートフォーカスのためのコントラストの解析を行うことが可能になる。
【０３８３】
画素アレイ部２１１を構成する画素として位相差検出用の画素と撮影用の画素が設けられているイメージセンサがある。位相差検出用の画素により検出された画素データは、DSP１２側において位相差AFを行うために用いられる。この場合、Data IDは、ペイロードに格納される画素データが位相差検出用の画素の画素データであるのか、撮影用の画素の画素データであるのかを識別するため用いられる。
【０３８４】
［Region Numberの使用例］
図４３は、イメージセンサ１１の構成例を示す図である。
【０３８５】
図４３の例においては、イメージセンサ１１の画素アレイ部２１１が右上領域Ａ１、右下領域Ａ２、左上領域Ａ３、および左下領域Ａ４の４つの領域に分けられている。画素アレイ部２１１が4000×2000（横×縦）の画素から構成されるものとすると、例えば、右上領域Ａ１は、１行目を基準として、１行目から1000行目までの範囲にある画素のうち、2001列目より右側にある画素を含む領域となる。また、右下領域Ａ２は、最終行（2000行目）を基準として、2000行目から1001行目までの範囲にある画素のうち、2001列目より右側にある画素を含む領域となる。右上領域Ａ１と左上領域Ａ３を構成する画素の画素信号の読み出しは領域毎に１行目から順に行われ、右下領域Ａ２と左下領域Ａ４を構成する画素の画素信号の読み出しは領域毎に最終行から順に行われる。
【０３８６】
右上領域Ａ１乃至Ａ４を構成する各画素の画素信号は、ADC２１３−１乃至２１３−４にそれぞれ供給される。
【０３８７】
ADC２１３−１乃至２１３−４は、図３３のADC２１３と同様にカラムADCを有している。ADC２１３−１は、画素アレイ部２１１の右上領域Ａ１から供給された画素信号のA/D変換を行い、画素データをDATA1として出力する。上述したように異なる２つのデータがADC２１３−１から出力されるようにしてもよい。ADC２１３−１から出力されたDATA1は転送部２７１−１を介して送信部２２−１に供給される。
【０３８８】
ADC２１３−２乃至２１３−４も同様に、それぞれ、右下領域Ａ２乃至左下領域Ａ４から供給された画素信号のA/D変換を行い、画素データを出力する。ADC２１３−２から出力されたDATA2は転送部２７１−２を介して送信部２２−２に供給され、ADC２１３−３から出力されたDATA3は転送部２７１−３を介して送信部２２−３に供給される。また、ADC２１３−４から出力されたDATA4は転送部２７１−４を介して送信部２２−４に供給される。
【０３８９】
送信部２２−１乃至２２−４は、図５に示す送信部２２の構成と同じ構成を有する。送信部２２−１は、右上領域Ａ１の画素データであるDATA1をペイロードに格納するパケットを生成し、出力する。送信部２２−１が生成するパケットのヘッダに含まれるRegion NumberとLine Numberには、ペイロードに格納される画素データが右上領域Ａ１の画素データ（DATA1）であることを示す値が設定される。
【０３９０】
送信部２２−２乃至２２−４も同様に、それぞれ、DATA2乃至4をペイロードに格納するパケットを生成し、出力する。送信部２２−２が生成するパケットのヘッダに含まれるRegion NumberとLine Numberには、ペイロードに格納される画素データが右下領域Ａ２の画素データ（DATA2）であることを示す値が設定される。また、送信部２２−３が生成するパケットのヘッダに含まれるRegion NumberとLine Numberには、ペイロードに格納される画素データが左上領域Ａ３の画素データ（DATA3）であることを示す値が設定される。送信部２２−４が生成するパケットのヘッダに含まれるRegion NumberとLine Numberには、ペイロードに格納される画素データが左下領域Ａ４の画素データ（DATA4）であることを示す値が設定される。
【０３９１】
図４４は、Region Numberの値の意味の例を示す図である。例えば画素アレイ部２１１が４つの領域から構成される場合、Region Numberには１ビットが割り当てられる。
【０３９２】
Region Numberの値が０であることは、０の値が設定されたRegion Numberをヘッダに含むパケットのペイロードに、左側（1列目〜2000列目）の領域の所定の１ラインの画素データが含まれることを意味する。また、Region Numberの値が１であることは、１の値が設定されたRegion Numberをヘッダに含むパケットのペイロードに、右側（2001列目〜4000列目）の領域の所定の１ラインの画素データが含まれることを意味する。
【０３９３】
図４５は、送信部２２−１乃至２２−４により生成されるパケットの例を示す図である。
【０３９４】
図４５の最上段に示すように、右上領域Ａ１の１行目の画素データをペイロードに格納するパケットのヘッダのLine Numberには１行目を表す値が設定され、Region Numberには右側の領域であることを表す１の値が設定される。また、右下領域Ａ２の最終行の画素データをペイロードに格納するパケットのヘッダのLine Numberには最終行を表す値が設定され、Region Numberには右側の領域であることを表す１の値が設定される。
【０３９５】
左上領域Ａ３の１行目の画素データをペイロードに格納するパケットのヘッダのLine Numberには１行目を表す値が設定され、Region Numberには左側の領域であることを表す０の値が設定される。また、最下段に示すように、左下領域Ａ４の最終行の画素データをペイロードに格納するパケットのヘッダのLine Numberには最終行を表す値が設定され、Region Numberには左側の領域であることを表す０の値が設定される。
【０３９６】
最上段のパケットを受信したDSP１２は、Line Numberの値として１〜1000行目を表す値が設定されており、Region Numberの値として右側を示す１の値が設定されていることから、ペイロードに格納される画素データがDATA1であると識別することができる。
【０３９７】
また、最下段のパケットを受信したDSP１２は、Line Numberの値として1001〜2000行目を表す値が設定されており、Region Numberの値として左側を示す0の値が設定されていることから、ペイロードに格納される画素データがDATA4であると識別することができる。
【０３９８】
DSP１２は、識別した各領域、各ラインの画素データを合成し、4000×2000画素からなる１フレームの画像を取得することができる。図４５の例においてはLine NumberとRegion Numberの組み合わせによってペイロードに格納される画素データの位置が識別されるものとしたが、Region Numberに複数ビットを割り当て、Region Numberの値の組み合わせによって識別されるようにしてもよい。
【０３９９】
このように、各領域の画素データがイメージセンサ１１から出力される場合であっても、DSP１２は伝送されてきたデータの種類をRegion Numberから識別することができ、データの受信を１つの受信部３１で実現することができる。
【０４００】
［その他］
図４６は、Line Numberの使用例を示す図である。図４６に示すように、Ｎ行目の画素データをペイロードに格納するパケットのLine Numberにはそのことを表す値が設定され、Ｎ＋１行目の画素データをペイロードに格納するパケットのLine Numberにはそのことを表す値が設定される。Ｎ＋２行目の画素データをペイロードに格納するパケットのLine Numberにはそのことを表す値が設定され、Ｎ＋３行目の画素データをペイロードに格納するパケットのLine Numberにはそのことを表す値が設定される。
【０４０１】
＜２．第２の実施の形態（画素データに限らず、所定のデータを伝送する例）＞
上述した複数のレーンを使ったチップ間のデータ伝送は、画像データだけでなく各種のデータの伝送にも用いることができる。
【０４０２】
以下、適宜、CMOSなどのイメージセンサから出力された画素データの伝送に用いられる上述したI/FをCIS(CMOS Image Sensor) I/Fといい、各種のデータの伝送に用いられるIFを汎用IFという。汎用I/Fを用いて、画像データだけでなく、オーディオデータ、テキストデータなどの各種のデータが送信側のチップから受信側のチップに対して伝送される。
【０４０３】
［伝送システムの構成例］
図４７は、汎用I/Fを用いた伝送システムの第１の構成例を示す図である。
【０４０４】
図４７の伝送システム３０１は送信側LSI３１１と受信側LSI３１２から構成される。送信側LSI３１１と受信側LSI３１２は例えば同じ装置内に設けられる。送信側LSI３１１には情報処理部３２１と１つの送信部３２２が設けられ、受信側LSI３１２には１つの受信部３３１と情報処理部３３２が設けられている。
【０４０５】
送信側LSI３１１の情報処理部３２１は、各種のデータの処理を行い、送信対象のデータを送信部３２２に出力する。情報処理部３２１からは、8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144ビットなどの各種のビット幅のデータが出力される。
【０４０６】
送信部３２２は、情報処理部３２１から供給されたデータを、例えば情報処理部３２１から供給された順に複数のレーンに割り当て、並列に受信側LSI３１２に送信する。図４７の例においても、８本のレーンを用いてデータの伝送が行われている。送信側LSI３１１と受信側LSI３１２の間の伝送路は有線の伝送路であってもよいし、無線の伝送路であってもよい。
【０４０７】
受信側LSI３１２の受信部３３１は、８本のレーンを介して送信部３２２から送信されてきたデータを受信し、情報処理部３３２に出力する。
【０４０８】
情報処理部３３２は、受信部３３１から供給されたデータに基づいて、送信側LSI３１１側において送信対象として選択されたデータを生成し、生成したデータを用いて各種の処理を行う。送信対象のデータが例えばオーディオデータである場合、オーディオデータの再生、圧縮などの処理が行われる。
【０４０９】
図４８は、伝送システム３０１の第２の構成例を示す図である。図４８に示す構成のうち、図４７に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０４１０】
図４８の伝送システム３０１の送信側LSI３１１には、情報処理部３２１と、２つの送信部である送信部３２２−１，３２２−２が設けられ、受信側LSI３１２には、２つの受信部である受信部３３１−１，３３１−２と、情報処理部３３２が設けられている。
【０４１１】
情報処理部３２１は、送信対象のデータを分割し、送信部３２２−１と送信部３２２−２に出力する。
【０４１２】
送信部３２２−１は、情報処理部３２１から供給されたデータを、例えば情報処理部３２１から供給された順に複数のレーンに割り当て、受信側LSI３１２に送信する。送信部３２２−２も同様に、情報処理部３２１から供給されたデータを、例えば情報処理部３２１から供給された順に複数のレーンに割り当て、受信側LSI３１２に送信する。
【０４１３】
図４８の例においても送信側LSI３１１と受信側LSI３１２の間は８本のレーンを介して接続されている。送信部３２２−１と送信部３２２−２は、それぞれ、４本のレーンを用いてデータを伝送する。
【０４１４】
受信側LSI３１２の受信部３３１−１は、４本のレーンを介して送信部３２２−１から送信されてきたデータを受信し、情報処理部３３２に出力する。受信部３３１−２も同様に、４本のレーンを介して送信部３２２−２から伝送されてきたデータを受信し、情報処理部３３２に出力する。
【０４１５】
情報処理部３３２は、受信部３３１−１から供給されたデータと受信部３３１−２から供給されたデータに基づいて送信対象のデータを生成し、生成したデータを対象として各種の処理を行う。
【０４１６】
図４８に示すように送信側LSI３１１に２つの送信部を設け、それに対応させて２つの受信部を受信側LSI３１２に設けることにより、情報処理部３２１が出力するデータの伝送レートが高い場合であってもデータを受信側LSI３１２に伝送することが可能になる。
【０４１７】
図４９は、伝送システム３０１の第３の構成例を示す図である。図４９に示す構成のうち、図４７に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０４１８】
図４９の伝送システム３０１においては、送信側のLSIとして、送信側LSI３１１−１と送信側LSI３１１−２の２つのLSIが設けられている。送信側LSI３１１−１には情報処理部３２１−１と１つの送信部である送信部３２２−１が設けられ、送信側LSI３１１−２には情報処理部３２１−２と１つの送信部である送信部３２２−２が設けられる。受信側LSI３１２には、図４８の場合と同様に、２つの受信部である受信部３３１−１，３３１−２と、情報処理部３３２が設けられている。
【０４１９】
送信側LSI３１１−１の情報処理部３２１−１は、送信対象のデータを送信部３２２−１に出力する。
【０４２０】
送信部３２２−１は、情報処理部３２１−１から供給されたデータを複数のレーンに割り当て、受信側LSI３１２に送信する。
【０４２１】
送信側LSI３１１−２の情報処理部３２１−２は、送信対象のデータを送信部３２２−２に出力する。
【０４２２】
送信部３２２−２は、情報処理部３２１−２から供給されたデータを複数のレーンに割り当て、受信側LSI３１２に送信する。
【０４２３】
図４９の例においても送信側のLSIである送信側LSI３１１と受信側のLSIである受信側LSI３１２の間は８本のレーンを介して接続されている。送信側LSI３１１−１と送信側LSI３１１−２にはそれぞれ４本のレーンが割り当てられ、送信部３２２−１と送信部３２２−２は、それぞれ、４本のレーンを用いてデータを伝送する。
【０４２４】
受信側LSI３１２の受信部３３１−１は、４本のレーンを介して送信側LSI３１１−１の送信部３２２−１から伝送されてきたデータを受信し、情報処理部３３２に出力する。受信部３３１−２も同様に、４本のレーンを介して送信側LSI３１１−２の送信部３２２−２から伝送されてきたデータを受信し、情報処理部３３２に出力する。
【０４２５】
情報処理部３３２は、受信部３３１−１から供給されたデータに基づいて、送信側LSI３１１−１において送信対象として選択されたデータを生成する。また、送信部３２２は、受信部３３１−２から供給されたデータに基づいて、送信側LSI３１１−２において送信対象として選択されたデータを生成する。画像処理部３３２は、生成したデータを用いて各種の処理を行う。
【０４２６】
以上のように、伝送システム３０１の送信側のLSIには、データを伝送する送信部が１つまたは複数設けられる。一方、受信側のLSIには、送信側のLSIの送信部に対応して、データを受信する受信部が１つまたは複数設けられる。
【０４２７】
以下、送信側LSI３１１に１つの送信部が設けられ、受信側LSI３１２に１つの受信部が設けられる図４７の伝送システム３０１におけるデータ伝送について説明する。図４８と図４９の送信部３２２−１−受信部３３１−１間、送信部３２２−２−受信部３３１−２間においても同様にしてデータ伝送が行われる。
【０４２８】
［パケットのデータ構造の例］
図５０Ａ乃至Ｄは、データ伝送に用いられるパケットのデータ構造の例を示す図である。
【０４２９】
図５０Ａは、CIS IFにおいて画素データの伝送に用いられるパケットの例を示す図である。CIS IFの１パケットは、ヘッダ、１ライン分の画素データを含むペイロード、および、適宜付加されるフッタから構成される。CIS IFの１パケットの先頭にはStart Codeが付加され、フッタの後ろにはEnd Codeが付加される。
【０４３０】
図５０Ｂ乃至Ｄは、汎用IFにおいて各種のデータの伝送に用いられるパケットの例を示す図である。汎用IFの１パケットはペイロードのみから構成される。後述するように、送信部３２２においては、情報処理部３２１から供給された8〜144ビット単位の送信対象のデータを所定のサイズ毎に区切ることによってペイロードデータが生成される。パケットサイズは、入力データのビット幅である8〜144ビットと、128ビットとの公倍数となるビット数であり、Configuration Registerに設定された値によって指定される。
【０４３１】
Configuration Registerに設定された値により指定されたパケットサイズと同じサイズのパケットを生成し、データを伝送する場合、図５０Ｂに示す通常パケットが用いられる。
【０４３２】
また、Configuration Registerに設定された値により指定されたパケットサイズより短いパケットを生成し、データを伝送する場合、図５０Ｃまたは図５０Ｄに示すショートパケットが用いられる。例えば、ペイロード長が128ビットの倍数である場合には図５０Ｃのショートパケット（１）が用いられ、ペイロード長が128ビットの倍数でない場合には図５０Ｄのショートパケット（２）が用いられる。図５０Ｃのショートパケットと図５０Ｄのショートパケットは、後ろに付加されるEnd Codeによって識別される。
【０４３３】
［送信側LSI３１１と受信側LSI３１２の構成］
図５１は、送信側LSI３１１と受信側LSI３１２の構成例を示す図である。
【０４３４】
図５１の左側に示す構成が送信側LSI３１１の構成であり、右側に示す構成が受信側LSI３１２の構成である。汎用IFのデータ伝送は、アプリケーションレイヤ、アダプテーションレイヤ、リンクレイヤ、および物理レイヤの各レイヤの構成により実現される。
【０４３５】
実線Ｌ１の上に示す構成がアプリケーションレイヤの構成である。情報処理部３２１においては、システム制御部３４１、データ入力部３４２、およびレジスタ３４３が実現される。
【０４３６】
システム制御部３４１は、汎用IFによるデータの伝送を制御する。例えばシステム制御部３４１は、データ入力部３４２が送信対象のデータを出力している間、入力されたデータが有効なデータであることを表す制御信号を送信部３２２のペイロードデータ生成部３５１に出力する。データ入力部３４２は、送信対象のデータを8〜144ビットの所定のビット単位でペイロードデータ生成部３５１に出力する。レジスタ３４３は上述したConfiguration Registerであり、パケットサイズ、Lane数等の各種の情報を記憶する。
【０４３７】
一方、情報処理部３３２においては、システム制御部４４１、データ出力部４４２、およびレジスタ４４３が実現される。
【０４３８】
システム制御部４４１は、汎用IFによるデータの受信を制御する。例えばシステム制御部４４１は、レジスタ４４３に設定されている値により指定されるパケットサイズの情報をペイロードデータ取得部４３１に出力する。データ出力部４４２は、ペイロードデータ取得部４３１から供給されたデータを取得し、図示せぬデータ処理部に出力する。レジスタ４４３はパケットサイズ、Lane数等の各種の情報を記憶する。
【０４３９】
［送信部３２２のアダプテーションレイヤの構成］
送信側LSI３１１のアダプテーションレイヤの構成について説明する。送信部３２２は、ペイロードデータ生成部３５１をアダプテーションレイヤの構成として有する。
【０４４０】
ペイロードデータ生成部３５１は、データ入力部３４２から所定のビット単位で供給された送信対象のデータをパケットサイズと同じサイズ毎に区切り、Byte Packing部３６２に出力する。ペイロードデータ生成部３５１からByte Packing部３６２に対しては、送信対象のデータを構成する所定のビット単位のデータが、パケットサイズと同じサイズ毎にまとめて出力されることになる。ペイロードデータ生成部３５１は、パケットサイズに満たない例えば送信対象のデータの最後のデータについては、そのままByte Packing部３６２に出力する。
【０４４１】
また、ペイロードデータ生成部３５１は、制御信号がオフとなり、データの入力が所定の時間以上ないことを検出した場合、パケットを構成する最後のデータの入力タイミングを表すタイミング信号であるPacket End信号をByte Packing部３６２に出力する。なお、ペイロードデータ生成部３５１は、図７、図３２等を参照して説明したヘッダ情報を受信側LSI３１２に送信する場合、ヘッダ情報をパケット生成部３６４に出力する。汎用IFにおいては、ヘッダ情報についても、ペイロードデータとして送信される。
【０４４２】
［送信部３２２のリンクレイヤの構成］
送信部３２２は、Byte Packing部３６２、ペイロードECC挿入部３６３、パケット生成部３６４、およびレーン分配部３６５をリンクレイヤの構成として有する。
【０４４３】
Byte Packing部３６２は、ペイロードデータ生成部３５１から供給されたデータを、Byte Packing部３６２以降の各処理部が処理単位とする１６バイトなどの所定の単位のパッキングデータに変換する。Byte Packing部３６２は、変換して得られたパッキングデータをペイロードECC挿入部３６３に出力する。
【０４４４】
図５２は、Byte Packing部３６２によるデータ変換であるByte Packingの例を示す図である。
【０４４５】
図５２の例においては、１パケットを構成するデータとしてペイロードデータ生成部３５１により制御信号に従って区切られたData1乃至Data8がByte Packing部３６２に入力されている。データ入力部３４２からペイロードデータ生成部３５１に対しては、８０ビット単位でデータの入力が行われたものとされている。
【０４４６】
この場合、Byte Packing部３６２は、Data1乃至Data8の各ビットを入力順に１６バイト（１２８ビット）単位のパッキングデータの各ビットに割り当てることによって、５つのパッキングデータを生成する。例えば１つ目のパッキングデータは、Data1の１〜８０ビットとData2の１〜４８ビットを含むデータになる。
【０４４７】
図５３は、Byte Packing部３６２によるByte Packingの他の例を示す図である。
【０４４８】
図５３の例においては、１パケットを構成するデータとしてペイロードデータ生成部３５１により制御信号に従って区切られたData1乃至Data5がByte Packing部３６２に入力されている。Data5の入力タイミングに合わせて、ペイロードデータ生成部３５１からByte Packing部３６２にPacket End信号が入力されている。Packet End信号が供給されたことに応じて、Byte Packing部３６２は、Data5が、１パケットを構成する最後のデータであることを認識することができる。
【０４４９】
この場合、Byte Packing部３６２は、Data1乃至Data5の各ビットを入力順にパッキングデータの各ビットに割り当てることによって、Data1全体とData2の先頭から途中までのデータを含む１つ目のパッキングデータを生成する。また、Byte Packing部３６２は、Data2の途中から最後までのデータと、Data3全体と、Data4の先頭から途中までのデータとを含む２つ目のパッキングデータを生成する。Byte Packing部３６２は、Data4の途中から最後までのデータと、Data5の先頭から途中までのデータとを含む３つ目のパッキングデータを生成する。
【０４５０】
Byte Packing部３６２は、Data5の最後のビットである８０ビット目を４つ目のパッキングデータに割り当てたとき、それ以降、ダミーデータを挿入することによって１６バイトの４つ目のパッキングデータを生成する。すなわち、１６バイトに満たない分はダミーデータ（ダミービット）を付加するようにしてパッキングデータが生成される。ダミーデータは例えば全て値が０のビットである。
【０４５１】
また、Byte Packing部３６２は、ダミーデータが付加された４つ目のパッキングデータに続く５つ目のパッキングデータとして、４つ目のパッキングデータに含まれるダミーデータのビット数を表す８ビットをLSB側に含むパッキングデータを生成する。５つ目のパッキングデータの１ビット目から１２０ビット目までにはダミーデータが含まれる。
【０４５２】
このようなデータを受信した受信部３３１は、５つ目のパッキングデータに１２０ビットのダミーデータが含まれていることに基づいて、１つ前のパッキングデータである４つ目のパッキングデータにダミーデータが付加されていることを特定することができる。また、受信部３３１は、１２０ビットのダミーデータに続く８ビットにより表されるビット数に基づいて、４つ目のパッキングデータに付加されているダミーデータのビット数を特定し、有効データのみを抽出することが可能になる。
【０４５３】
図５４は、Byte Packing処理のシーケンスを示す図である。
【０４５４】
図５４の例においては、時刻ｔ１１からｔ１４の期間と時刻ｔ１５以降、情報処理部３２１のシステム制御部３４１から供給される制御信号がオンになっている。また、制御信号がオンになることに合わせて、所定のビット単位の送信対象のデータであるData1乃至Data4がデータ入力部３４２から供給される。Data1乃至Data3に注目すると、時刻ｔ１１からｔ１２の期間にData1が供給され、時刻ｔ１２からｔ１３の期間にData2が供給され、時刻ｔ１３からｔ１４の期間にData3が供給されている。パケットを構成する最後のデータであることを表すPacket End信号が、Data3の入力が終わったタイミングで入力されている。Data1乃至Data4は、それぞれ１６バイト以上のサイズを有するデータでる。
【０４５５】
この場合、Byte Packing部３６２は、Data1の先頭から途中までの範囲ａのデータを含むパッキングデータPD1を生成する。また、Byte Packing部３６２は、Data1の途中からData1の最後までの範囲ｂのデータと、Data2の先頭から途中までの範囲ｃのデータを含むパッキングデータPD2を生成する。
【０４５６】
Byte Packing部３６２は、Data2の途中からData2の最後までの範囲ｄのデータと、Data3の先頭から途中までの範囲eのデータを含むパッキングデータPD3を生成する。Byte Packing部３６２は、Data3の途中からData3の最後までの範囲ｆのデータについては、ダミーデータを加え、１６バイトのパッキングデータPD4を生成する。図５４において斜線を付して示す範囲のデータはダミーデータである。
【０４５７】
また、Byte Packing部３６２は、パッキングデータPD4に続けて、パッキングデータPD4に付加したダミーデータのビット数を表すビットを最後に含む１６バイトのパッキングデータを生成する。
【０４５８】
例えば、ダミーデータが付加されたパッキングデータPD4を含む、パッキングデータPD1〜PD4からなるパケットは、図５０Ｃまたは図５０Ｄのショートパケットとして送信される。ショートパケットには、ダミーデータのビット数を表すビットが最後に付加されたパッキングデータも含まれる。
【０４５９】
ダミーデータを含めずに、制御信号がオンの期間に入力された有効なデータのみをパッキングデータに含め、通常パケットとして送信する場合について考える。この場合、Packet End信号が供給されたタイミングで、パッキングデータを有効なデータで満たすことができないときには、Data4が入力されるまで、パッキングデータに含めることができなかったData3の範囲ｆのデータを出力することができない。Packet End信号が供給されたタイミングでパッキングデータを有効なデータで満たすことができない場合にはダミーデータを付加して出力することにより、データの出力に遅延が生じてしまうのを防ぐことが可能になる。
【０４６０】
このようにして生成されたパッキングデータから構成されるデータが、Byte Packing部３６２から図５１のペイロードECC挿入部３６３にペイロードデータとして供給される。
【０４６１】
ペイロードECC挿入部３６３は、Byte Packing部３６２から供給されたペイロードデータに基づいて、ペイロードデータの誤り訂正に用いられる誤り訂正符号を計算し、計算により求めたパリティをペイロードデータに挿入する。誤り訂正符号として、例えばリードソロモン符号が用いられる。なお、誤り訂正符号の挿入はオプションである。
【０４６２】
図５５は、ペイロードデータに対するパリティの挿入の例を示す図である。
【０４６３】
ペイロードECC挿入部３６３は、Byte Packing部３６２から供給された順に１４のパッキングデータを集めることによって２２４バイトのBasic Blockを生成する。また、ペイロードECC挿入部３６３は、２２４バイトのペイロードデータに基づいて２バイト乃至４バイトのパリティを生成し、ペイロードデータに挿入することによって、パリティが挿入された２２６バイト乃至２２８バイトのBasic Blockを生成する。
【０４６４】
図５５の例においては、１番目から１４番目までのパッキングデータからなるペイロードデータに対してParity1が生成され、付加されている。図５５において斜線を付して示すデータがパリティである。
【０４６５】
ペイロードECC挿入部３６３は、あるBasic Blockに続くペイロードデータのサイズが２２４バイトに満たない場合、残っているペイロードデータに基づいてExtra Blockを生成する。上述したダミーデータの挿入により、Extra Blockの情報長は常に16バイトの倍数となる。また、ペイロードECC挿入部３６３は、Extra Blockを構成するペイロードデータに基づいて２バイト乃至４バイトのパリティを生成し、ペイロードデータに挿入することによって、パリティが挿入されたExtra Blockを生成する。
【０４６６】
図５５の例においては、Ｎ番目からN+M番目までのペイロードデータに対してParityMが生成され、付加されている。
【０４６７】
ペイロードECC挿入部３６３は、パリティを挿入したペイロードデータをパケット生成部３６４に出力する。パリティの挿入が行われない場合、Byte Packing部３６２からペイロードECC挿入部３６３に供給されたペイロードデータは、そのままパケット生成部３６４に出力される。
【０４６８】
パケット生成部３６４は、ペイロードECC挿入部３６３から供給されたデータをペイロードデータとするパケットを生成する。パケット生成部３６４は、生成したパケットのデータをレーン分配部３６５に出力する。
【０４６９】
レーン分配部３６５は、パケット生成部３６４から供給されたパケットデータを、先頭の１バイトから順にバイト単位で、Lane0、Lane1、…、Lane(LaneNum-1)、Lane1、…といったようにデータ伝送に用いる各レーンに割り当てる。パケット長とLane数によっては各レーンに均等にデータを分配できないことがある。この場合、レーン分配部３６５は、各レーンに均等にデータが分配されるように、Lane Stuffingとして00hを挿入する。
【０４７０】
レーン分配部３６５は、このようにして各レーンに割り当てたパケットデータを物理レイヤに出力する。以下、Lane0〜7の８レーンを用いてデータを伝送する場合について主に説明するが、データ伝送に用いるレーンの数が他の数の場合であっても同様の処理が行われる。
【０４７１】
［送信部３２２の物理レイヤの構成］
送信部３２２は、PHY-TX状態制御部３８１、クロック生成部３８２、信号処理部３８３−０乃至３８３−Ｎを物理レイヤの構成として有する。送信部３２２の物理レイヤの構成は、図５を参照して説明したCIS-IFにおける送信部２２の物理レイヤの構成と同じ構成である。重複する説明については適宜省略する。
【０４７２】
信号処理部３８３−０は、制御コード挿入部３９１、8B10Bシンボルエンコーダ３９２、同期部３９３、および送信部３９４から構成される。レーン分配部３６５から出力され、Lane0に割り当てられたパケットデータは信号処理部３８３−０に入力され、Lane1に割り当てられたパケットデータは信号処理部３８３−１に入力される。また、LaneNに割り当てられたパケットデータは信号処理部３８３−Ｎに入力される。
【０４７３】
PHY-TX状態制御部３８１は、信号処理部３８３−０乃至３８３−Ｎの各部を制御する。
【０４７４】
クロック生成部３８２は、クロック信号を生成し、信号処理部３８３−０乃至３８３−Ｎのそれぞれの同期部３９３に出力する。
【０４７５】
信号処理部３８３−０の制御コード挿入部３９１は、レーン分配部３６５から供給されたパケットデータにStart Code、End Codeなどの制御コードを付加する。制御コード挿入部３９１は、制御コードを付加したパケットデータを8B10Bシンボルエンコーダ３９２に出力する。
【０４７６】
8B10Bシンボルエンコーダ３９２は、制御コード挿入部３９１から供給されたパケットデータ（制御コードが付加されたパケットデータ）に対して8B10B変換を施し、１０ビット単位のデータに変換したパケットデータを同期部３９３に出力する。
【０４７７】
同期部３９３は、8B10Bシンボルエンコーダ３９２から供給されたパケットデータの各ビットを、クロック生成部３８２により生成されたクロック信号に従って送信部３９４に出力する。
【０４７８】
送信部３９４は、Lane0を構成する伝送路を介して、同期部３９３から供給されたパケットデータを受信部３３１に送信する。８レーンを用いてデータ伝送が行われる場合、Lane1〜7を構成する伝送路をも用いてパケットデータが受信部３３１に送信される。
【０４７９】
［受信部３３１の物理レイヤの構成］
次に、受信側LSI３１２の受信部３３１の物理レイヤの構成について説明する。受信部３３１は、PHY-RX状態制御部４０１、信号処理部４０２−０乃至４０２−Ｎを物理レイヤの構成として有する。受信部３３１の物理レイヤの構成は、図５を参照して説明したCIS-IFにおける受信部３１の物理レイヤの構成と同じ構成である。重複する説明については適宜省略する。
【０４８０】
信号処理部４０２−０は、受信部４１１、クロック生成部４１２、同期部４１３、シンボル同期部４１４、10B8Bシンボルデコーダ４１５、スキュー補正部４１６、および制御コード除去部４１７から構成される。Lane0を構成する伝送路を介して送信されてきたパケットデータは信号処理部４０２−０に入力され、Lane1を構成する伝送路を介して送信されてきたパケットデータは信号処理部４０２−１に入力される。また、LaneNを構成する伝送路を介して送信されてきたパケットデータは信号処理部４０２−Ｎに入力される。
【０４８１】
受信部４１１は、Lane0を構成する伝送路を介して送信部３２２から伝送されてきたパケットデータを表す信号を受信し、クロック生成部４１２に出力する。
【０４８２】
クロック生成部４１２は、受信部４１１から供給された信号のエッジを検出することによってビット同期をとり、エッジの検出周期に基づいてクロック信号を生成する。クロック生成部４１２は、受信部４１１から供給された信号を、クロック信号とともに同期部４１３に出力する。
【０４８３】
同期部４１３は、クロック生成部４１２により生成されたクロック信号に従って、受信部４１１において受信された信号のサンプリングを行い、サンプリングによって得られたパケットデータをシンボル同期部４１４に出力する。
【０４８４】
シンボル同期部４１４は、例えばStart Code, End Code, Deskew Codeに含まれるK28.5のシンボルを検出し、シンボル同期をとる。シンボル同期部４１４は、各シンボルを表す１０ビット単位のパケットデータを10B8Bシンボルデコーダ４１５に出力する。
【０４８５】
10B8Bシンボルデコーダ４１５は、シンボル同期部４１４から供給された１０ビット単位のパケットデータに対して10B8B変換を施し、８ビット単位のデータに変換したパケットデータをスキュー補正部４１６に出力する。
【０４８６】
スキュー補正部４１６は、10B8Bシンボルデコーダ４１５から供給されたパケットデータからDeskew Codeを検出する。スキュー補正部４１６によるDeskew Codeの検出タイミングの情報はPHY-RX状態制御部４０１に供給される。また、スキュー補正部４１６は、Deskew Codeのタイミングを、PHY-RX状態制御部４０１から供給された情報により表されるタイミングに合わせるようにしてレーン間のData Skewを補正する。
【０４８７】
信号処理部４０２−１乃至４０２−Ｎのそれぞれにおいて同様の処理が行われることによって、図２５を参照して説明したようにしてレーン間のData Skewが補正される。
【０４８８】
スキュー補正部４１６は、Data Skewを補正したパケットデータを制御コード除去部４１７に出力する。
【０４８９】
制御コード除去部４１７は、パケットデータに付加された制御コードを除去し、Start CodeからEnd Codeまでの間のデータをパケットデータとしてリンクレイヤに出力する。
【０４９０】
PHY-RX状態制御部４０１は、信号処理部４０２−０乃至４０２−Ｎの各部を制御し、レーン間のData Skewの補正などを行わせる。
【０４９１】
［受信部３３１のリンクレイヤの構成］
受信部３３１は、レーン統合部４２２、パケット分離部４２３、ペイロードエラー訂正部４２４、およびByte Unpacking部４２５をリンクレイヤの構成として有する。
【０４９２】
レーン統合部４２２は、物理レイヤの信号処理部４０２−０乃至４０２−Ｎから供給されたデータを、送信部３２２のレーン分配部３６５による各レーンへの分配順と逆順で並び替えることによって統合する。レーン統合部４２２は、統合して得られたパケットデータをパケット分離部４２３に出力する。
【０４９３】
パケット分離部４２３は、レーン統合部４２２により統合されたパケットデータをペイロードデータとしてペイロードエラー訂正部４２４に出力する。ペイロードデータとしてヘッダ情報が含まれている場合、パケット分離部４２３は、ペイロードから抽出したヘッダ情報をペイロードデータ取得部４３１に出力する。
【０４９４】
ペイロードエラー訂正部４２４は、パケット分離部４２３から供給されたペイロードデータにパリティが挿入されている場合、パリティに基づいて誤り訂正演算を行うことによってペイロードデータのエラーを検出し、エラーの訂正を行う。例えば、図５５に示すようにしてパリティが挿入されている場合、ペイロードエラー訂正部４２４は、１つ目のBasic Blockの最後に挿入されているパリティを用いて、パリティの前にある２２４バイトのデータの誤り訂正を行う。
【０４９５】
ペイロードエラー訂正部４２４は、各Basic Block, Extra Blockを対象として誤り訂正を行うことによって得られた誤り訂正後のデータをByte Unpacking部４２５に出力する。パケット分離部４２３から供給されたペイロードデータにパリティが挿入されていない場合、パケット分離部４２３から供給されたペイロードデータはそのままByte Unpacking部４２５に出力される。
【０４９６】
Byte Unpacking部４２５は、ペイロードエラー訂正部４２４から供給された１６バイト単位のパッキングデータに対して、送信部３２２のByte Packing部３６２による処理と逆の変換処理であるByte Unpackingを行う。Byte Unpacking部４２５は、Byte Unpackingを行うことによって得られたデータをペイロードデータ取得部４３１に出力する。Byte Unpacking部４２５からペイロードデータ取得部４３１に対しては、送信部３２２のペイロードデータ生成部３５１の出力と同様に、所定のビット単位のデータが１パケット分まとめて出力されることになる。
【０４９７】
また、Byte Unpacking部４２５は、ペイロードデータを構成するパッキングデータにダミーデータが含まれているときには、ダミーデータを除去し、ダミーデータ以外のデータを対象としてByte Unpackingを行う。パッキングデータにダミーデータが含まれていることは、上述したように例えば１２０ビットの連続するダミーデータを検出することに基づいて特定される。また、パッキングデータに含まれるダミーデータのビット数は、１２０ビットのダミーデータに続く８ビットにより特定される。
【０４９８】
［受信部３３１のアダプテーションレイヤの構成］
受信部３３１は、ペイロードデータ取得部４３１をアダプテーションレイヤの構成として有する。ペイロードデータ取得部４３１は、Byte Unpacking部４２５から供給されたデータを取得し、送信側LSI３１１においてデータ入力部３４２からペイロードデータ生成部３５１に入力されたデータのビット幅と同じビット幅の単位で情報処理部３３２に出力する。
【０４９９】
［送信側LSI３１１と受信側LSI３１２の動作］
次に、以上のような構成を有する送信側LSI３１１と受信側LSI３１２の一連の処理について説明する。
【０５００】
はじめに、図５６のフローチャートを参照して、伝送システム３０１の動作について説明する。図５６の各ステップの処理は、適宜、他の処理と並行して、または前後して行われる。
【０５０１】
ステップＳ１０１において、送信側LSI３１１の情報処理部３２１は、各種のデータの処理を行い、送信対象のデータを8〜144ビットの所定のビット幅の単位で送信部３２２に出力する。
【０５０２】
ステップＳ１０２において、送信部３２２はデータ送信処理を行う。データ送信処理により、送信対象のデータをペイロードに格納したパケットが生成され、パケットデータが受信部３３１に対して送信される。データ送信処理については図５７のフローチャートを参照して後述する。
【０５０３】
ステップＳ１０３において、受信側LSI３１２の受信部３３１はデータ受信処理を行う。データ受信処理により、送信部３２２から送信されてきたデータが受信され、送信側LSI３１１において送信対象のデータとして選択されたデータが情報処理部３３２に出力される。データ受信処理については図５８のフローチャートを参照して後述する。
【０５０４】
ステップＳ１０４において、情報処理部３３２は、受信部３３１から供給されたデータを取得する。
【０５０５】
ステップＳ１０５において、情報処理部３３２は、取得したデータに基づいて各種の処理を行い、処理を終了させる。
【０５０６】
次に、図５７のフローチャートを参照して、図５６のステップＳ１０２において行われるデータ送信処理について説明する。
【０５０７】
ステップＳ１１１において、ペイロードデータ生成部３５１は、データ入力部３４２から供給された送信対象のデータを所定のサイズ毎に区切ることによってペイロードデータを生成する。
【０５０８】
ステップＳ１１２において、Byte Packing部３６２は、ペイロードデータ生成部３５１から供給されたペイロードデータを、１６バイトなどの所定の単位のパッキングデータに変換する。
【０５０９】
ステップＳ１１３において、ペイロードECC挿入部３６３は、ペイロードデータから構成されるBasic BlockまたはExtra Blockに基づいて誤り訂正符号を計算し、計算により求めたパリティをペイロードデータに挿入する。
【０５１０】
ステップＳ１１４において、パケット生成部３６４は、ペイロードECC挿入部３６３から供給されたデータをパケットデータとしてレーン分配部３６５に出力する。
【０５１１】
ステップＳ１１５において、レーン分配部３６５は、パケット生成部３６４から供給されたパケットデータを、データ伝送に用いられる複数のレーンに割り当てる。
【０５１２】
ステップＳ１１６において、制御コード挿入部３９１は、レーン分配部３６５から供給されたパケットデータに制御コードを付加する。
【０５１３】
ステップＳ１１７において、8B10Bシンボルエンコーダ３９２は、制御コードが付加されたパケットデータの8B10B変換を行い、１０ビット単位のデータに変換したパケットデータを出力する。
【０５１４】
ステップＳ１１８において、同期部３９３は、8B10Bシンボルエンコーダ３９２から供給されたパケットデータを、クロック生成部３８２により生成されたクロック信号に従って出力し、送信部３９４から送信させる。ステップＳ１１６乃至Ｓ１１８の処理は信号処理部３８３−０乃至３８３−Ｎにより並行して行われる。パケットデータが送信された後、図５６のステップＳ１０２に戻り、それ以降の処理が行われる。
【０５１５】
次に、図５８のフローチャートを参照して、図５６のステップＳ１０３において行われるデータ受信処理について説明する。
【０５１６】
ステップＳ１３１において、受信部４１１は、送信部３２２から伝送されてきたパケットデータを表す信号を受信する。ステップＳ１３１乃至Ｓ１３６の処理は信号処理部４０２−０乃至４０２−Ｎにより並行して行われる。
【０５１７】
ステップＳ１３２において、クロック生成部４１２は、受信部４１１から供給された信号のエッジを検出することによってビット同期をとる。同期部４１３は、受信部４１１において受信された信号のサンプリングを行い、パケットデータをシンボル同期部４１４に出力する
【０５１８】
ステップＳ１３３において、シンボル同期部４１４は、パケットデータに含まれる制御コードを検出するなどしてシンボル同期をとる。
【０５１９】
ステップＳ１３４において、10B8Bシンボルデコーダ４１５は、シンボル同期後のパケットデータに対して10B8B変換を施し、８ビット単位のデータに変換したパケットデータを出力する。
【０５２０】
ステップＳ１３５において、スキュー補正部４１６は、Deskew Codeを検出し、Deskew CodeのタイミングをPHY-RX状態制御部４０１から供給された情報により表されるタイミングに合わせるようにしてレーン間のData Skewを補正する。
【０５２１】
ステップＳ１３６において、制御コード除去部４１７は、パケットデータに付加された制御コードを除去する。
【０５２２】
ステップＳ１３７において、レーン統合部４２２は、信号処理部４０２−０乃至４０２−Ｎから供給されたパケットデータを統合する。
【０５２３】
ステップＳ１３８において、パケット分離部４２３は、レーン統合部４２２により統合されたパケットデータを、ペイロードデータとしてペイロードエラー訂正部４２４に出力する。
【０５２４】
ステップＳ１３９において、ペイロードエラー訂正部４２４は、パケット分離部４２３から供給されたペイロードデータに挿入されているパリティに基づいてペイロードデータの誤り訂正を行う。
【０５２５】
ステップＳ１４０において、Byte Unpacking部４２５は、ペイロードエラー訂正部４２４から供給されたペイロードデータに対して、Byte Packingと逆の変換処理を行う。Byte Unpacking部４２５は、得られたデータをペイロードデータ取得部４３１に出力する。
【０５２６】
ステップＳ１４１において、ペイロードデータ取得部４３１は、Byte Unpacking部４２５から供給されたデータを所定のビット幅の単位で情報処理部３３２に出力する。その後、図５６のステップＳ１０３に戻りそれ以降の処理が行われる。
【０５２７】
送信側LSI３１１と受信側LSI３１２の間の汎用IFを用いたデータ伝送は、以上のようにして行われる。汎用IFにより、各種のデータを伝送することが可能になる。
【０５２８】
［変形例］
CIS IFによるデータ伝送と汎用 IFによるデータ伝送の両方のデータ伝送に対応した送信部を送信側のLSIに設け、受信部を受信側のLSIに設けるようにしてもよい。
【０５２９】
図５９は、CIS IFによるデータ伝送と汎用 IFによるデータ伝送の両方のデータ伝送に対応した送信部５０１の構成例を示す図である。CIS IFと汎用 IFのうちのいずれのIFによってデータ伝送を行うのかを表す信号であるCIS/汎用切り替え信号が図示せぬ制御部から入力される。
【０５３０】
データ入力部５１１は、CIS IFの送信対象のデータである画素データをライン単位で受信し、選択部５１３に出力する。
【０５３１】
データ入力部５１２は、汎用IFの送信対象のデータを受信する。データ入力部５１２は、送信対象のデータを所定のサイズ毎に区切ることによってペイロードデータを生成し、選択部５１３に出力する。データ入力部５１２が、図５１のペイロードデータ生成部３５１に対応する。
【０５３２】
選択部５１３は、CIS/汎用切り替え信号に応じて、データ入力部５１１から供給されたデータとデータ入力部５１２から供給されたデータのうちのいずれかを選択し、Byte Packing部５１４に出力する。
【０５３３】
Byte Packing部５１４は、選択部５１３から供給されたデータを所定のバイト単位のデータに変換し、ペイロードECC挿入部５１５に出力する。Byte Packing部５１４が、図５のPixel to Byte変換部６２および図５１のByte Packing部３６２に対応する。
【０５３４】
ペイロードECC挿入部５１５は、ペイロードデータに基づいて誤り訂正符号を計算し、誤り訂正符号を挿入したペイロードデータを出力する。ペイロードECC挿入部５１５から出力されたデータは、ヘッダ生成部５１６と選択部５１７に供給される。ペイロードECC挿入部５１５が、図５のペイロードECC挿入部６３および図５１のペイロードECC挿入部３６３に対応する。
【０５３５】
ヘッダ生成部５１６は、ペイロードに付加するヘッダを生成し、選択部５１７に出力する。ヘッダ生成部５１６が、図５のヘッダ生成部７２に対応する。
【０５３６】
選択部５１７は、CIS IFによってデータを伝送する場合、ヘッダ生成部５１６によりヘッダが付加されたペイロードデータをフッタ生成部５１８に出力する。また、選択部５１７は、汎用IFによってデータを伝送する場合、ペイロードECC挿入部５１５から供給されたペイロードデータを選択部５１９に出力する。
【０５３７】
フッタ生成部５１８は、ペイロードに付加するフッタを生成し、選択部５１７から供給されたペイロードデータに付加して選択部５１９に出力する。フッタ生成部５１８が、図５のフッタ生成部７４に対応する。
【０５３８】
選択部５１９は、CIS IFによってデータを伝送する場合、フッタ生成部５１８から供給された、ヘッダとフッタが付加されたペイロードデータをレーン分配部５２０に出力する。また、選択部５１９は、汎用IFによってデータを伝送する場合、選択部５１７から供給されたペイロードデータをレーン分配部５２０に出力する。
【０５３９】
レーン分配部５２０は、選択部５１９から供給されたデータを、データ伝送に用いられるレーンに割り当てる。図５９にはデータ伝送に用いるレーンとして４レーンを示しているが、レーンの数は任意である。レーン分配部５２０は、各レーンに割り当てたデータをフレーム構成部５２１に出力する。レーン分配部５２０が、図５のレーン分配部６５および図５１のレーン分配部３６５に対応する。
【０５４０】
フレーム構成部５２１は、各レーンのデータに対して制御コードを付加し、8B10Bシンボルエンコーダ５２２−０乃至５２２−３に出力する。フレーム構成部５２１が、図５の信号処理部８３−０乃至８３−３の各制御コード挿入部９１、および図５１の信号処理部３８３−０乃至３８３−３の各制御コード挿入部３９１に対応する。
【０５４１】
8B10Bシンボルエンコーダ５２２−０乃至５２２−３は、それぞれ、制御コードが付加されたパケットデータの8B10B変換を行い、１０ビット単位のデータをP/S変換部５２３−０乃至５２３−３に出力する。8B10Bシンボルエンコーダ５２２−０乃至５２２−３が、図５の信号処理部８３−０乃至８３−３の各8B10Bシンボルエンコーダ９２、および図５１の信号処理部３８３−０乃至３８３−３の各8B10Bシンボルエンコーダ３９２に対応する。
【０５４２】
P/S変換部５２３−０乃至５２３−３は、それぞれ、8B10Bシンボルエンコーダ５２２−０乃至５２２−３から供給されたデータのP/S(Parallel/Serial)変換を行い、各レーンを用いて送信する。P/S変換部５２３−０乃至５２３−３が、図５の信号処理部８３−０乃至８３−３の各送信部９４、および図５１の信号処理部３８３−０乃至３８３−３の各送信部３９４に対応する。
【０５４３】
なお、図５９には、処理の流れを説明するのに必要な構成を示しており、図５、図５１を参照して説明した詳細な構成については適宜図示を省略している。図６０においても同様である。
【０５４４】
図６０は、CIS IFによるデータ伝送と汎用 IFによるデータ伝送の両方のデータ伝送に対応した受信部５０２の構成例を示す図である。CIS IFと汎用 IFのうちのいずれのIFによってデータ伝送を行うのかを表す信号であるCIS/汎用切り替え信号が図示せぬ制御部から入力される。
【０５４５】
S/P変換部５３１−０乃至５３１−３は、それぞれ、送信部５０１のP/S変換部５２３−０乃至５２３−３から送信されたデータを受信してS/P変換を行い、10B8Bシンボルデコーダ５３２−０乃至５３２−３に出力する。S/P変換部５３１−０乃至５３１−３が、図５の信号処理部１０２−０乃至１０２−３の各受信部１１１、および図５１の信号処理部４０２−０乃至４０２−３の各受信部４１１に対応する。
【０５４６】
10B8Bシンボルデコーダ５３２−０乃至５３２−３は、それぞれ、S/P変換部５３１−０乃至５３１−３から供給されたデータの10B8B変換を行い、８ビット単位の各レーンのデータをスキュー補正部５３３に出力する。10B8Bシンボルデコーダ５３２−０乃至５３２−３が、図５の信号処理部１０２−０乃至１０２−３の各10B8Bシンボルデコーダ１１５、および図５１の信号処理部４０２−０乃至４０２−３の各10B8Bシンボルデコーダ４１５に対応する。
【０５４７】
スキュー補正部５３３は、各レーンのDeskew Codeを検出し、レーン間のData Skewを補正する。スキュー補正部５３３は、Data Skew補正後の各レーンのデータをレーン統合部５３４に出力する。スキュー補正部５３３が、図５の信号処理部１０２−０乃至１０２−３の各スキュー補正部１１６、および図５１の信号処理部４０２−０乃至４０２−３の各スキュー補正部４１６に対応する。
【０５４８】
レーン統合部５３４は、スキュー補正部５３３から供給された各レーンのデータを統合し、パケットデータをフッタ処理部５３５と選択部５３６に出力する。レーン統合部５３４が、図５のレーン統合部１２２および図５１のレーン統合部４２２に対応する。
【０５４９】
フッタ処理部５３５は、レーン統合部５３４から供給されたデータにフッタが含まれる場合、ペイロードに付加されたフッタに含まれるCRC符号を用いた誤り検出を行い、誤りのないデータを選択部５３６に出力する。フッタ処理部５３５が、図５のフッタエラー検出部１３４に対応する。
【０５５０】
選択部５３６は、CIS IFによってデータを伝送する場合、フッタ処理部５３５から供給された、ヘッダが付加されたペイロードデータをヘッダ処理部５３７に出力する。また、選択部５３６は、汎用IFによってデータを伝送する場合、レーン統合部５３４から供給されたペイロードデータを選択部５３８に出力する。
【０５５１】
ヘッダ処理部５３７は、選択部５３６から供給されたペイロードデータに付加されているヘッダに含まれるCRC符号を用いた誤り訂正を行い、誤りのないペイロードデータを選択部５３８に出力する。ヘッダ処理部５３７が、図５のヘッダエラー訂正部１３２に対応する。
【０５５２】
選択部５３８は、CIS IFによってデータを伝送する場合、ヘッダ処理部５３７から供給されたペイロードデータをペイロードエラー訂正部５３９に出力する。また、選択部５３８は、汎用IFによってデータを伝送する場合、選択部５３６から供給されたペイロードデータをペイロードエラー訂正部５３９に出力する。
【０５５３】
ペイロードエラー訂正部５３９は、選択部５３８から供給されたペイロードデータにパリティが挿入されている場合、パリティに基づいて誤り訂正演算を行うことによってペイロードデータのエラーを検出し、エラーの訂正を行う。ペイロードエラー訂正部５３９が、図５のペイロードエラー訂正部１２４および図５１のペイロードエラー訂正部４２４に対応する。
【０５５４】
Byte Unpacking部５４０は、ペイロードエラー訂正部５３９から供給された１６バイト単位のデータに対して、図５９の送信部５０１のByte Packing部５１４によるByte Packingと逆の処理を行う。Byte Unpacking部５４０は、CIS IFによって伝送されてきた画素データをデータ出力部５４１に出力し、汎用IFによって伝送されてきたデータをデータ出力部５４２に出力する。Byte Unpacking部５４０が、図５のByte to Pixel変換部１２５、および図５１のByte Unpacking部４２５に対応する。
【０５５５】
データ出力部５４１は、Byte Unpacking部５４０から供給された画素データを後段の画像処理部に出力する。
【０５５６】
データ出力部５４２は、Byte Unpacking部５４０から供給されたデータを後段の情報処理部に出力する。
【０５５７】
以上のように、CIS IFによるデータ伝送と汎用 IFによるデータ伝送の両方のデータ伝送に対応した送信部と受信部をLSIに設けることも可能である。
【０５５８】
［コンピュータの構成例］
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０５５９】
図６１は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０５６０】
CPU(Central Processing Unit)６０１、ROM(Read Only Memory)６０２、RAM(Random Access Memory)６０３は、バス６０４により相互に接続されている。
【０５６１】
バス６０４には、さらに、入出力インタフェース６０５が接続されている。入出力インタフェース６０５には、キーボード、マウスなどよりなる入力部６０６、ディスプレイ、スピーカなどよりなる出力部６０７が接続される。また、入出力インタフェース６０５には、ハードディスクや不揮発性のメモリなどよりなる記憶部６０８、ネットワークインタフェースなどよりなる通信部６０９、リムーバブルメディア６１１を駆動するドライブ６１０が接続される。
【０５６２】
以上のように構成されるコンピュータでは、CPU６０１が、例えば、記憶部６０８に記憶されているプログラムを入出力インタフェース６０５及びバス６０４を介してRAM６０３にロードして実行することにより、上述した一連の処理が行われる。
【０５６３】
CPU６０１が実行するプログラムは、例えばリムーバブルメディア６１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部６０８にインストールされる。
【０５６４】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０５６５】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０５９４】
１  伝送システム，  １１  イメージセンサ，  １２  DSP，  ２１  撮像部，  ２２  送信部，  ３１  受信部，  ３２  画像処理部，  ６２  Pixel to Byte変換部，  ６３  ペイロードECC挿入部，  ６４  パケット生成部，  ６５  レーン分配部，  ７２  ヘッダ生成部，  ８３−０乃至８３−Ｎ  信号処理部，  ９１  制御コード挿入部，  ９２  8B10Bシンボルエンコーダ，  ９３  同期部，  ９４  送信部，  １０２−０乃至１０２−Ｎ  信号処理部，  １１１  受信部，  １１２  クロック生成部，  １１３  同期部，  １１４  シンボル同期部，  １１５  10B8Bシンボルデコーダ，  １１６  スキュー補正部，  １１７  制御コード除去部，  １２２  レーン統合部，  １２３  パケット分離部，  １２４  ペイロードエラー訂正部，  １２５  Byte to Pixel変換部，  １３２  ヘッダエラー訂正部
【図１】
0006014991.tif 000008
【図２】
0006014991.tif 000009
【図３】
0006014991.tif 000010
【図４】
0006014991.tif 000011
【図５】
0006014991.tif 000012
【図６】
0006014991.tif 000013
【図７】
0006014991.tif 000014
【図８】
0006014991.tif 000015
【図９】
0006014991.tif 000016
【図１０】
0006014991.tif 000017
【図１１】
0006014991.tif 000018
【図１２】
0006014991.tif 000019
【図１３】
0006014991.tif 000020
【図１４】
0006014991.tif 000021
【図１５】
0006014991.tif 000022
【図１６】
0006014991.tif 000023
【図１７】
0006014991.tif 000024
【図１８】
0006014991.tif 000025
【図１９】
0006014991.tif 000026
【図２０】
0006014991.tif 000027
【図２１】
0006014991.tif 000028
【図２２】
0006014991.tif 000029
【図２３】
0006014991.tif 000030
【図２４】
0006014991.tif 000031
【図２５】
0006014991.tif 000032
【図２６】
0006014991.tif 000033
【図２７】
0006014991.tif 000034
【図２８】
0006014991.tif 000035
【図２９】
0006014991.tif 000036
【図３０】
0006014991.tif 000037
【図３１】
0006014991.tif 000038
【図３２】
0006014991.tif 000039
【図３３】
0006014991.tif 000040
【図３４】
0006014991.tif 000041
【図３５】
0006014991.tif 000042
【図３６】
0006014991.tif 000043
【図３７】
0006014991.tif 000044
【図３８】
0006014991.tif 000045
【図３９】
0006014991.tif 000046
【図４０】
0006014991.tif 000047
【図４１】
0006014991.tif 000048
【図４２】
0006014991.tif 000049
【図４３】
0006014991.tif 000050
【図４４】
0006014991.tif 000051
【図４５】
0006014991.tif 000052
【図４６】
0006014991.tif 000053
【図４７】
0006014991.tif 000054
【図４８】
0006014991.tif 000055
【図４９】
0006014991.tif 000056
【図５０】
0006014991.tif 000057
【図５１】
0006014991.tif 000058
【図５２】
0006014991.tif 000059
【図５３】
0006014991.tif 000060
【図５４】
0006014991.tif 000061
【図５５】
0006014991.tif 000062
【図５６】
0006014991.tif 000063
【図５７】
0006014991.tif 000064
【図５８】
0006014991.tif 000065
【図５９】
0006014991.tif 000066
【図６０】
0006014991.tif 000067
【図６１】
0006014991.tif 000068