説明

送信装置、送信方法、受信装置、受信方法、およびプログラム

【課題】各種のデータを効率的に伝送することができるようにする。
【解決手段】本技術は、送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを他の装置に送信するものである。本技術は、チップ間のデータ伝送に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、送信装置、送信方法、受信装置、受信方法、およびプログラムに関し、特に、各種のデータを効率的に伝送することができるようにした送信装置、送信方法、受信装置、受信方法、およびプログラムに関する。
【背景技術】
【0002】
イメージセンサの高画質化、高フレームレート化に伴い、イメージセンサと、イメージセンサにより撮像された画像を処理するDSP(Digital Signal Processor)との間のインタフェースに求められるデータの伝送容量が高まってきている。
【0003】
このような要求に応えるため、例えば、インタフェースのクロック周波数の向上、信号の低電圧化などの手法が採用されているが、この手法によれば、DSP側でのサンプリングタイミングの生成の難易度が高くなり、データを正しく伝送することが難しくなる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Serial ATA: High Speed Serialized AT Attachment Revision 1.0a 7-January-2003
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、チップ間の伝送容量を高めるための規格としては、PCI-ExpressやSerial ATA等の規格がある。PCI-ExpressやSerial ATAにおいては、CDR(Clock Data Recovery)回路やイコライザの高性能化によって高い伝送容量が実現されている。また、携帯電話機向けのチップ間インタフェースとしてMIPI(Mobile Industry Processor Interface)規格がある。
【0006】
これらの規格は、CPU(Central Processing Unit)間のインタフェースなど、より汎用的なインタフェース規格として作られていることもあって、イメージセンサ−DSP間のインタフェースとしては冗長な機能が多い。仮に、イメージセンサ−DSP間のインタフェースにこれらの規格を採用するとした場合、イメージセンサ−DSP間のインタフェースとしては不要な機能をも実装する必要があり、回路面積、消費電力、実装コストが増加してしまう。
【0007】
特に、伝送エラー対策用の回路を実装することの影響が大きい。MIPI等の規格では、受信側のチップが送信側のチップにデータの再送を要求することによって伝送エラーの対策が行われているが、撮像特性を重視するために先端/微細トランジスタを通常用いることが難しいデバイスであるイメージセンサにとっては回路面積等の増大になってしまう。MIPI等の規格では、受信側のチップが送信側のチップにデータの再送を要求するために、送信側のチップに比較的大きなバッファを再送用バッファとして用意する必要がある。
【0008】
また、伝送エラーが生じた場合にデータの再送によってそれをカバーするものとすると、リアルタイム性が損なわれるため、高フレームレートの画像データを伝送することが困難になる。
【0009】
本技術はこのような状況に鑑みてなされたものであり、各種のデータを効率的に伝送することができるようにするものである。
【課題を解決するための手段】
【0010】
本技術の一側面の送信装置は、送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換する変換部と、所定の数の前記第2の単位のデータを含むパケットを生成するパケット生成部と、前記パケットを他の装置に送信する送信部とを備え、前記変換部は、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力する。
【0011】
前記変換部には、前記ダミービットを含む前記第2の単位のデータに続けて出力する前記第2の単位のデータとして、前記ビット数データを最後に含む前記第2の単位のデータを生成させることができる。
【0012】
前記送信対象のデータを、前記パケットのサイズと同じサイズの前記第1の単位のデータからなるデータ毎に区切って前記変換部に出力するデータ生成部をさらに設けることができる。
【0013】
前記データ生成部には、前記パケットのサイズと同じサイズのデータを構成する最後の前記第1の単位のデータを出力するときにタイミング信号を前記変換部に出力させ、前記変換部には、前記タイミング信号が供給された場合、最後の前記第1の単位のデータの最後のビットを含むデータが前記第2の単位に満たないときには、前記ダミービットを付加して前記第2の単位のデータを生成させることができる。
【0014】
前記パケットのパケットサイズを表す情報を記憶する記憶部をさらに設けることができる。この場合、前記パケット生成部には、前記ダミービットが付加された前記第2の単位のデータと、前記ビット数データを含む前記第2の単位のデータとを含む、前記記憶部に記憶されている情報により表されるパケットサイズより短いサイズの前記パケットを生成させることができる。
【0015】
本技術の他の側面の受信方法は、送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを送信するようにして他の装置から送信されてきた前記パケットを受信する受信部と、前記パケットに含まれるそれぞれの前記第2の単位のデータを分離する分離部と、前記ビット数データに基づいて前記ダミービットを特定し、前記第2の単位のデータに含まれる前記ダミービット以外のデータを前記第1の単位のデータに変換する変換部とを備える。
【0016】
前記第1の単位のデータから構成される前記送信対象のデータを生成する取得部をさらに設けることができる。
【0017】
本技術の一側面においては、送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータが前記第2の単位のデータに変換され、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータが出力され、所定の数の前記第2の単位のデータを含むパケットが生成され、前記パケットが他の装置に送信される。
【0018】
本技術の他の側面においては、送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを送信するようにして他の装置から送信されてきた前記パケットが受信され、前記パケットに含まれるそれぞれの前記第2の単位のデータが分離され、前記ビット数データに基づいて前記ダミービットが特定され、前記第2の単位のデータに含まれる前記ダミービット以外のデータが前記第1の単位のデータに変換される。
【発明の効果】
【0019】
本技術によれば、各種のデータを効率的に伝送することができる。
【図面の簡単な説明】
【0020】
【図1】伝送システムの第1の構成例を示す図である。
【図2】伝送システムの第2の構成例を示す図である。
【図3】伝送システムの第3の構成例を示す図である。
【図4】フレームフォーマットの例を示す図である。
【図5】送信部と受信部の構成例を示す図である。
【図6】ヘッダ構造を示す図である。
【図7】ヘッダ情報の内容と情報量を示す図である。
【図8】ビット配列の例を示す図である。
【図9】各画素の画素値が8ビットで表される場合のPixel to Byte変換の例を示す図である。
【図10】各画素の画素値が10ビットで表される場合のPixel to Byte変換の例を示す図である。
【図11】各画素の画素値が12ビットで表される場合のPixel to Byte変換の例を示す図である。
【図12】各画素の画素値が14ビットで表される場合のPixel to Byte変換の例を示す図である。
【図13】各画素の画素値が16ビットで表される場合のPixel to Byte変換の例を示す図である。
【図14】ペイロードデータの例を示す図である。
【図15】ペイロードデータの他の例を示す図である。
【図16】パリティが挿入されたペイロードデータの例を示す図である。
【図17】ペイロードデータにヘッダを付加した状態を示す図である。
【図18】ペイロードデータにヘッダとフッタを付加した状態を示す図である。
【図19】パリティが挿入されたペイロードデータにヘッダを付加した状態を示す図である。
【図20】パケットデータの割り当ての例を示す図である。
【図21】制御コードの例を示す図である。
【図22】K Characterの値を示す図である。
【図23】Pad Codeの挿入の例を示す図である。
【図24】制御コード挿入後のパケットデータの例を示す図である。
【図25】Data Skewの補正の例を示す図である。
【図26】撮像装置の処理について説明するフローチャートである。
【図27】図26のステップS2において行われるデータ送信処理について説明するフローチャートである。
【図28】図26のステップS3において行われるデータ受信処理について説明するフローチャートである。
【図29】レーン数を切り替える場合の制御シーケンスを示す図である。
【図30】フレームフォーマットの他の例を示す図である。
【図31】図30のフレームフォーマットの1パケットを拡大して示す図である。
【図32】ヘッダ情報の内容を示す図である。
【図33】撮像部の構成例を示す図である。
【図34】Data IDの値の意味の例を示す図である。
【図35】撮像装置の処理について説明するフローチャートである。
【図36】撮像部の他の構成例を示す図である。
【図37】Data IDの値の意味の例を示す図である。
【図38】撮像部の他の構成例を示す図である。
【図39】各フォトセンサの出力タイミングの例を示す図である。
【図40】Data IDの値の意味の例を示す図である。
【図41】画素アレイ部を構成する画素の例を示す図である。
【図42】露光時間を変えた場合のDATA1、DATA2の例を示す図である。
【図43】イメージセンサの構成例を示す図である。
【図44】Region Numberの値の意味の例を示す図である。
【図45】パケットの例を示す図である。
【図46】Line Numberの使用例を示す図である。
【図47】汎用I/Fを用いた伝送システムの第1の構成例を示す図である。
【図48】汎用I/Fを用いた伝送システムの第2の構成例を示す図である。
【図49】汎用I/Fを用いた伝送システムの第3の構成例を示す図である。
【図50】パケットのデータ構造の例を示す図である。
【図51】送信側LSIと受信側LSIの構成例を示す図である。
【図52】Byte Packingの例を示す図である。
【図53】Byte Packingの他の例を示す図である。
【図54】Byte Packing処理のシーケンスを示す図である。
【図55】パリティの挿入の例を示す図である。
【図56】伝送システムの動作について説明するフローチャートである。
【図57】図56のステップS102において行われるデータ送信処理について説明するフローチャートである。
【図58】図56のステップS103において行われるデータ受信処理について説明するフローチャートである。
【図59】送信部の構成例を示す図である。
【図60】受信部の構成例を示す図である。
【図61】コンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【0021】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.第1の実施の形態(画素データを伝送する例)
2.第2の実施の形態(画素データに限らず、所定のデータを伝送する例)
【0022】
<1.第1の実施の形態(画素データを伝送する例)>
[伝送システムの構成例]
図1は、本技術の一実施形態に係る伝送システムの第1の構成例を示す図である。
【0023】
図1の伝送システム1は、イメージセンサ11とDSP12から構成される。イメージセンサ11とDSP12はそれぞれ異なるLSI(Large Scale Integrated Circuit)により構成され、デジタルカメラや携帯電話機などの、撮像機能を有する同じ撮像装置内に設けられる。イメージセンサ11には撮像部21と1つの送信部22が設けられ、DSP12には1つの受信部31と画像処理部32が設けられている。
【0024】
イメージセンサ11の撮像部21は、CMOS(Complementary Metal Oxide Semiconductor)などの撮像素子よりなり、レンズを介して受光した光の光電変換を行う。また、撮像部21は、光電変換によって得られた信号のA/D変換などを行い、1フレームの画像を構成する画素データを、1画素のデータずつ順に送信部22に出力する。
【0025】
送信部22は、撮像部21から供給された各画素のデータを、例えば撮像部21から供給された順に複数の伝送路に割り当て、複数の伝送路を介して並列にDSP12に送信する。図1の例においては、8本の伝送路を用いて画素データの伝送が行われている。イメージセンサ11とDSP12の間の伝送路は有線の伝送路であってもよいし、無線の伝送路であってもよい。以下、適宜、イメージセンサ11とDSP12の間の伝送路をレーン(Lane)という。
【0026】
DSP12の受信部31は、8本のレーンを介して送信部22から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部32に出力する。
【0027】
画像処理部32は、受信部31から供給された画素データに基づいて1フレームの画像を生成し、生成した画像を用いて各種の画像処理を行う。イメージセンサ11からDSP12に伝送される画像データはRAWデータであり、画像処理部32においては、画像データの圧縮、画像の表示、記録媒体に対する画像データの記録などの各種の処理が行われる。
【0028】
図2は、伝送システム1の第2の構成例を示す図である。図2に示す構成のうち、図1に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0029】
図2の伝送システム1のイメージセンサ11には、撮像部21と、2つの送信部である送信部22−1,22−2が設けられ、DSP12には、2つの受信部である受信部31−1,31−2と、画像処理部32が設けられている。
【0030】
撮像部21は、撮像を行うことによって得られた1フレームの画像を構成する画素データを、1画素のデータずつ、送信部22−1と送信部22−2に並列に出力する。例えば、撮像部21は、奇数ラインの画素のデータを送信部22−1に出力し、偶数ラインの画素のデータを送信部22−2に出力する。
【0031】
送信部22−1は、撮像部21から供給された各画素のデータを、例えば撮像部21から供給された順に複数のレーンに割り当て、複数のレーンを介して並列にDSP12に送信する。送信部22−2も同様に、撮像部21から供給された各画素のデータを、例えば撮像部21から供給された順に複数のレーンに割り当て、複数のレーンを介して並列にDSP12に送信する。
【0032】
図2の例においてもイメージセンサ11とDSP12の間は8本のレーンを介して接続されている。送信部22−1と送信部22−2は、それぞれ、4本のレーンを用いて画素データを伝送する。
【0033】
DSP12の受信部31−1は、4本のレーンを介して送信部22−1から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部32に出力する。受信部31−2も同様に、4本のレーンを介して送信部22−2から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部32に出力する。
【0034】
画像処理部32は、受信部31−1から供給された画素データと受信部31−2から供給された画素データに基づいて1フレームの画像を生成し、生成した画像を用いて各種の画像処理を行う。
【0035】
図2に示すようにイメージセンサ11に2つの送信部を設け、それに対応させて2つの受信部をDSP12に設けることにより、撮像部21が出力する画素データの伝送レートが高い場合であっても画素データをDSP12に伝送することが可能になる。
【0036】
図3は、伝送システム1の第3の構成例を示す図である。図3に示す構成のうち、図1に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0037】
図3の伝送システム1においては、イメージセンサ11−1とイメージセンサ11−2の2つのイメージセンサが設けられている。イメージセンサ11−1には撮像部21−1と1つの送信部である送信部22−1が設けられ、イメージセンサ11−2には撮像部21−2と1つの送信部である送信部22−2が設けられる。DSP12には、図2の場合と同様に、2つの受信部である受信部31−1,31−2と、画像処理部32が設けられている。
【0038】
イメージセンサ11−1の撮像部21−1は、撮像を行うことによって得られた1フレームの画像を構成する画素データを、1画素のデータずつ順に送信部22−1に出力する。
【0039】
送信部22−1は、撮像部21−1から供給された各画素のデータを、例えば撮像部21−1から供給された順に複数のレーンに割り当て、複数のレーンを介して並列にDSP12に送信する。
【0040】
イメージセンサ11−2の撮像部21−2は、撮像を行うことによって得られた1フレームの画像を構成する画素データを、1画素のデータずつ順に送信部22−2に出力する。
【0041】
送信部22−2は、撮像部21−2から供給された各画素のデータを、例えば撮像部21−2から供給された順に複数のレーンに割り当て、複数のレーンを介して並列にDSP12に送信する。
【0042】
図3の例においてもイメージセンサ側とDSP12の間は8本のレーンを介して接続されている。イメージセンサ11−1とイメージセンサ11−2にはそれぞれ4本のレーンが割り当てられ、送信部22−1と送信部22−2は、それぞれ、4本のレーンを用いて画素データを伝送する。
【0043】
DSP12の受信部31−1は、4本のレーンを介してイメージセンサ11−1の送信部22−1から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部32に出力する。受信部31−2も同様に、4本のレーンを介してイメージセンサ11−2の送信部22−2から伝送されてきた画素データを受信し、各画素のデータを順に画像処理部32に出力する。
【0044】
画像処理部32は、受信部31−1から供給された画素データに基づいて1フレームの画像を生成するとともに、受信部31−2から供給された画素データに基づいて1フレームの画像を生成する。画像処理部32は、生成した画像を用いて各種の画像処理を行う。
【0045】
図3に示すように2つのイメージセンサを設けることにより、例えば、イメージセンサ11−1により撮像された左目用の画像と、イメージセンサ11−2により撮像された右目用の画像からなる3D画像を1つのDSP12で処理することが可能になる。左目用の画像と右目用の画像には視差がある。
【0046】
以上のように、伝送システム1のイメージセンサには、撮像された1フレームの画像データを伝送する送信部が1つまたは複数設けられる。一方、DSPには、イメージセンサの送信部に対応して、イメージセンサから伝送されてきたデータを受信する受信部が1つまたは複数設けられる。
【0047】
以下、イメージセンサ11に1つの送信部が設けられ、DSP12に1つの受信部が設けられる図1の伝送システム1におけるデータ伝送について説明する。図2と図3の送信部22−1−受信部31−1間、送信部22−2−受信部31−2間においても同様にしてデータ伝送が行われる。
【0048】
[フレームフォーマット]
図4は、イメージセンサ11−DSP12間で1フレームの画像データを伝送するのに用いられるフォーマットの例を示す図である。
【0049】
有効画素領域A1は、撮像部21により撮像された1フレームの画像の有効画素の領域である。有効画素領域A1の左側には、垂直方向の画素数が有効画素領域A1の垂直方向の画素数と同じであるマージン領域A2が設定される。
【0050】
有効画素領域A1の上側には、水平方向の画素数が、有効画素領域A1とマージン領域A2全体の水平方向の画素数と同じである前ダミー領域A3が設定される。図4の例においては、前ダミー領域A3にはEmbedded Dataが挿入されている。Embedded Dataは、シャッタスピード、絞り値、ゲインなどの、撮像部21による撮像に関する設定値の情報が含まれる。後ダミー領域A4にEmbedded Dataが挿入されることもある。
【0051】
有効画素領域A1の下側には、水平方向の画素数が、有効画素領域A1とマージン領域A2全体の水平方向の画素数と同じである後ダミー領域A4が設定される。
【0052】
有効画素領域A1、マージン領域A2、前ダミー領域A3、および後ダミー領域A4から画像データ領域A11が構成される。
【0053】
画像データ領域A11を構成する各ラインの前にはヘッダが付加され、ヘッダの前にはStart Codeが付加される。また、画像データ領域A11を構成する各ラインの後ろにはフッタがオプションで付加され、フッタの後ろにはEnd Codeなどの後述する制御コードが付加される。フッタが付加されない場合、画像データ領域A11を構成する各ラインの後ろにEnd Codeなどの制御コードが付加される。
【0054】
撮像部21により撮像された1フレームの画像をイメージセンサ11からDSP12に伝送する毎に、図4に示すフォーマットのデータ全体が伝送データとして伝送される。
【0055】
図4の上側の帯は下側に示す伝送データの伝送に用いられるパケットの構造を示している。水平方向の画素の並びをラインとすると、パケットのペイロードには、画像データ領域A11の1ラインを構成する画素のデータが格納される。1フレームの画像データ全体の伝送は、画像データ領域A11の垂直方向の画素数以上の数のパケットを用いて行われることになる。
【0056】
1ライン分の画素データが格納されたペイロードに、ヘッダとフッタが付加されることによって1パケットが構成される。後に詳述するように、ヘッダには、Frame Start, Frame End, Line Valid, Line Number, ECCなどの、ペイロードに格納されている画素データの付加的な情報が含まれる。各パケットには、制御コードであるStart CodeとEnd Codeが少なくとも付加される。
【0057】
このように、1フレームの画像を構成する画素データをライン毎に伝送するフォーマットを採用することによって、ヘッダ等の付加的な情報やStart Code, End Codeなどの制御コードをライン毎のブランキング期間中に伝送することが可能になる。
【0058】
[送信部22と受信部31の構成]
図5は、送信部22と受信部31の構成例を示す図である。
【0059】
図5の左側に破線で囲んで示す構成が送信部22の構成であり、右側に破線で囲んで示す構成が受信部31の構成である。送信部22と受信部31は、それぞれ、リンクレイヤの構成と物理レイヤの構成からなる。実線L2より上側に示す構成がリンクレイヤの構成であり、実線L2より下側に示す構成が物理レイヤの構成である。
【0060】
なお、実線L1の上に示す構成はアプリケーションレイヤの構成である。システム制御部51、フレームデータ入力部52、およびレジスタ53は撮像部21において実現される。システム制御部51は、送信部22のLINK-TXプロトコル管理部61と通信を行い、フレームフォーマットに関する情報を提供するなどして画像データの伝送を制御する。フレームデータ入力部52は、ユーザによる指示などに応じて撮像を行い、撮像を行うことによって得られた画像を構成する各画素のデータを送信部22のPixel to Byte変換部62に供給する。レジスタ53は、Pixel to Byte変換のビット数やLane数等の情報を記憶する。レジスタ53に記憶されている情報に従って画像データの送信処理が行われる。
【0061】
また、アプリケーションレイヤの構成のうちのフレームデータ出力部141、レジスタ142、およびシステム制御部143は画像処理部32において実現される。フレームデータ出力部141は、受信部31から供給された各ラインの画素データに基づいて1フレームの画像を生成し、出力する。フレームデータ出力部141から出力された画像を用いて各種の処理が行われる。レジスタ142は、Byte to Pixel変換のビット数やLane数などの、画像データの受信に関する各種の設定値を記憶する。レジスタ142に記憶されている情報に従って画像データの受信処理が行われる。システム制御部143は、LINK-RXプロトコル管理部121と通信を行い、モードチェンジ等のシーケンスを制御する。
【0062】
[送信部22のリンクレイヤの構成]
はじめに、送信部22のリンクレイヤの構成について説明する。
【0063】
送信部22には、リンクレイヤの構成として、LINK-TXプロトコル管理部61、Pixel to Byte変換部62、ペイロードECC挿入部63、パケット生成部64、およびレーン分配部65が設けられる。LINK-TXプロトコル管理部61は、状態制御部71、ヘッダ生成部72、データ挿入部73、およびフッタ生成部74から構成される。
【0064】
LINK-TXプロトコル管理部61の状態制御部71は、送信部22のリンクレイヤの状態を管理する。
【0065】
ヘッダ生成部72は、1ライン分の画素データが格納されたペイロードに付加されるヘッダを生成し、パケット生成部64に出力する。
【0066】
図6は、ヘッダ生成部72により生成されるヘッダの構造を示す図である。
【0067】
上述したように、1パケット全体は、ヘッダと、1ライン分の画素データであるペイロードデータから構成される。パケットにはフッタが付加されることもある。ヘッダは、ヘッダ情報とHeader ECCから構成される。
【0068】
ヘッダ情報には、Frame Start, Frame End, Line Valid, Line Number, Reservedが含まれる。各情報の内容と情報量を図7に示す。
【0069】
Frame Startは、フレームの先頭を示す1ビットの情報である。図4の画像データ領域A11の1ライン目の画素データの伝送に用いられるパケットのヘッダのFrame Startには1の値が設定され、他のラインの画素データの伝送に用いられるパケットのヘッダのFrame Startには0の値が設定される。
【0070】
Frame Endは、フレームの終端を示す1ビットの情報である。有効画素領域A1の終端ラインの画素データをペイロードに含むパケットのヘッダのFrame Endには1の値が設定され、他のラインの画素データの伝送に用いられるパケットのヘッダのFrame Endには0の値が設定される。
【0071】
Frame StartとFrame Endが、フレームに関する情報であるフレーム情報となる。
【0072】
Line Validは、ペイロードに格納されている画素データのラインが有効画素のラインであるのか否かを表す1ビットの情報である。有効画素領域A1内のラインの画素データの伝送に用いられるパケットのヘッダのLine Validには1の値が設定され、他のラインの画素データの伝送に用いられるパケットのヘッダのLine Validには0の値が設定される。
【0073】
Line Numberは、ペイロードに格納されている画素データにより構成されるラインのライン番号を表す13ビットの情報である。
【0074】
Line ValidとLine Numberが、ラインに関する情報であるライン情報となる。
【0075】
Reservedは拡張用の32ビットの領域である。ヘッダ情報全体のデータ量は6バイトになる。
【0076】
図6に示すように、ヘッダ情報に続けて配置されるHeader ECCには、6バイトのヘッダ情報に基づいて計算された2バイトの誤り検出符号であるCRC(Cyclic Redundancy Check)符号が含まれる。また、Header ECCには、CRC符号に続けて、ヘッダ情報とCRC符号の組である8バイトの情報と同じ情報が2つ含まれる。
【0077】
すなわち、1つのパケットのヘッダには、同じヘッダ情報とCRC符号の組が3つ含まれる。ヘッダ全体のデータ量は、1組目のヘッダ情報とCRC符号の組の8バイトと、2組目のヘッダ情報とCRC符号の組の8バイトと、3組目のヘッダ情報とCRC符号の組の8バイトとの、あわせて24バイトになる。
【0078】
図8は、ヘッダ情報とCRC符号の1つの組を構成する8バイトのビット配列の例を示す図である。
【0079】
ヘッダを構成する8バイトのうちの1番目の1バイトであるバイトH7には、1ビット目から順に、Frame Start, Frame End, Line Validの各1ビットと、Line Numberの13ビットのうちの1〜5ビット目が含まれる。また、2番目の1バイトであるバイトH6には、Line Numberの13ビットのうちの6〜13ビット目が含まれる。
【0080】
3番目の1バイトであるバイトH5から6番目の1バイトであるバイトH2がReservedとなる。7番目の1バイトであるバイトH1と8番目の1バイトであるバイトH0にはCRC符号の各ビットが含まれる。
【0081】
図5の説明に戻り、ヘッダ生成部72は、システム制御部51による制御に従ってヘッダ情報を生成する。例えば、システム制御部51からは、フレームデータ入力部52が出力する画素データのライン番号を表す情報や、フレームの先頭、終端を表す情報が供給される。
【0082】
また、ヘッダ生成部72は、ヘッダ情報を生成多項式に適用してCRC符号を計算する。ヘッダ情報に付加されるCRC符号の生成多項式は例えば下式(1)により表される。
【数1】

【0083】
ヘッダ生成部72は、ヘッダ情報にCRC符号を付加することによってヘッダ情報とCRC符号の組を生成し、同じヘッダ情報とCRC符号の組を3組繰り返して配置することによってヘッダを生成する。ヘッダ生成部72は、生成したヘッダをパケット生成部64に出力する。
【0084】
データ挿入部73は、スタッフィング(stuffing)に用いられるデータを生成し、Pixel to Byte変換部62とレーン分配部65に出力する。Pixel to Byte変換部62に供給されたスタッフィングデータであるペイロードスタッフィングデータは、Pixel to Byte変換後の画素データに付加され、ペイロードに格納される画素データのデータ量の調整に用いられる。また、レーン分配部65に供給されたスタッフィングデータであるレーンスタッフィングデータは、レーン割り当て後のデータに付加され、レーン間のデータ量の調整に用いられる。
【0085】
フッタ生成部74は、システム制御部51による制御に応じて、適宜、ペイロードデータを生成多項式に適用して32ビットのCRC符号を計算し、計算により求めたCRC符号をフッタとしてパケット生成部64に出力する。フッタとして付加されるCRC符号の生成多項式は例えば下式(2)により表される。
【数2】

【0086】
Pixel to Byte変換部62は、フレームデータ入力部52から供給された画素データを取得し、各画素のデータを1バイト単位のデータに変換するPixel to Byte変換を行う。例えば、撮像部21により撮像された画像の各画素の画素値(RGB)は、8ビット、10ビット、12ビット、14ビット、16ビットのうちのいずれかのビット数で表される。
【0087】
図9は、各画素の画素値が8ビットで表される場合のPixel to Byte変換の例を示す図である。
【0088】
Data[0]がLSBを表し、数字の最も大きいData[7]がMSBを表す。白抜き矢印で示すように、この場合、画素Nの画素値を表すData[0]〜[7]の8ビットは、Data[0]〜[7]からなるByte Nに変換される。各画素の画素値が8ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数と同じ数になる。
【0089】
図10は、各画素の画素値が10ビットで表される場合のPixel to Byte変換の例を示す図である。
【0090】
この場合、画素Nの画素値を表すData[0]〜[9]の10ビットは、Data[2]〜[9]からなるByte 1.25*Nに変換される。
【0091】
画素N+1〜N+3についても同様に、それぞれの画素値を表すData[0]〜[9]の10ビットが、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に変換される。各画素の画素値が10ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数の1.25倍の数になる。
【0092】
図11は、各画素の画素値が12ビットで表される場合のPixel to Byte変換の例を示す図である。
【0093】
この場合、画素Nの画素値を表すData[0]〜[11]の12ビットは、Data[4]〜[11]からなるByte 1.5*Nに変換される。
【0094】
画素N+1についても同様に、画素N+1の画素値を表すData[0]〜[11]の12ビットが、Data[4]〜[11]からなるByte 1.5*N+1に変換される。また、画素Nと画素N+1のそれぞれの下位のビットであるData[0]〜[3]が集められてByte 1.5*N+2に変換される。各画素の画素値が12ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数の1.5倍の数になる。
【0095】
図12は、各画素の画素値が14ビットで表される場合のPixel to Byte変換の例を示す図である。
【0096】
この場合、画素Nの画素値を表すData[0]〜[13]の14ビットは、Data[6]〜[13]からなるByte 1.75*Nに変換される。
【0097】
画素N+1〜N+3についても同様に、それぞれの画素値を表すData[0]〜[13]の14ビットが、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に変換される。
【0098】
同様に、画素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に変換される。各画素の画素値が14ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数の1.75倍の数になる。
【0099】
図13は、各画素の画素値が16ビットで表される場合のPixel to Byte変換の例を示す図である。
【0100】
この場合、画素Nの画素値を表すData[0]〜[15]の16ビットは、Data[0]〜[7]からなるByte 2*NとData[8]〜[15]からなるByte 2*N+1に変換される。各画素の画素値が16ビットで表される場合、Pixel to Byte変換後のバイト単位のデータの数は、画素の数の2倍の数になる。
【0101】
図5のPixel to Byte変換部62は、このようなPixel to Byte変換を例えばラインの左端の画素から順に各画素を対象として行う。また、Pixel to Byte変換部62は、Pixel to Byte変換によって得られたバイト単位の画素データに、データ挿入部73から供給されたペイロードスタッフィングデータを付加することによってペイロードデータを生成し、ペイロードECC挿入部63に出力する。
【0102】
図14は、ペイロードデータの例を示す図である。
【0103】
図14は、各画素の画素値が10ビットで表される場合のPixel to Byte変換によって得られた画素データを含むペイロードデータを示している。色を付していない1つのブロックが、Pixel to Byte変換後のバイト単位の画素データを表す。また、色を付している1つのブロックが、データ挿入部73により生成されたペイロードスタッフィングデータを表す。
【0104】
Pixel to Byte変換後の画素データは、変換によって得られた順に、所定の数のグループにグループ化される。図14の例においては、各画素データがグループ0〜15の16グループにグループ化されており、画素P0のMSBを含む画素データがグループ0に割り当てられ、画素P1のMSBを含む画素データがグループ1に割り当てられている。また、画素P2のMSBを含む画素データがグループ2に割り当てられ、画素P3のMSBを含む画素データがグループ3に割り当てられ、画素P0〜P3のLSBを含む画素データがグループ4に割り当てられている。
【0105】
画素P4のMSBを含む画素データ以降の画素データについても、グループ5以降の各グループに順に割り当てられる。ある画素データがグループ15に割り当てられたとき、それ以降の画素データは、グループ0以降の各グループに順に割り当てられる。なお、画素データを表すブロックのうち、3本の破線が内側に付されているブロックは、Pixel to Byte変換時に、画素N〜N+3のLSBを含むようにして生成されたバイト単位の画素データを表す。
【0106】
送信部22のリンクレイヤにおいては、このようにしてグループ化が行われた後、クロック信号によって規定される期間毎に、各グループにおいて同じ位置にある画素データを対象として処理が並行して行われる。すなわち、図14に示すように16のグループに画素データが割り当てられた場合、各列に並ぶ16の画素データを同じ期間内に処理するようにして画素データの処理が進められる。
【0107】
上述したように、1つのパケットのペイロードには1ラインの画素データが含まれる。図14に示す画素データ全体が、1ラインを構成する画素データである。ここでは、図4の有効画素領域A1の画素データの処理について説明しているが、マージン領域A2等の他の領域の画素データについても有効画素領域A1の画素データとともに処理される。
【0108】
1ライン分の画素データがグループ化された後、各グループのデータ長が同じ長さになるように、ペイロードスタッフィングデータが付加される。ペイロードスタッフィングデータは1バイトのデータである。
【0109】
図14の例においては、グループ0の画素データにはペイロードスタッフィングデータが付加されず、破線で囲んで示すように、グループ1〜15の各画素データには、終端にペイロードスタッフィングデータが1つずつ付加されている。画素データとスタッフィングデータからなるペイロードデータのデータ長(Byte)は下式(3)により表される。
【数3】

【0110】
式(3)のLineLengthはラインの画素数を表し、BitPixは1画素の画素値を表すビット数を表す。PayloadStuffingはペイロードスタッフィングデータの数を表す。
【0111】
図14に示すように画素データを16グループに割り当てるとした場合、ペイロードスタッフィングデータの数は下式(4)により表される。式(4)の%は剰余を表す。
【数4】

【0112】
図15は、ペイロードデータの他の例を示す図である。
【0113】
図15は、各画素の画素値が12ビットで表される場合のPixel to Byte変換によって得られた画素データを含むペイロードデータを示している。
【0114】
図15の例においては、画素P0のMSBを含む画素データがグループ0に割り当てられ、画素P1のMSBを含む画素データがグループ1に割り当てられ、画素P0と画素P1のLSBを含む画素データがグループ2に割り当てられている。画素P2のMSBを含む画素データ以降の画素データについても、グループ3以降の各グループに順に割り当てられる。画素データを表すブロックのうち、1本の破線が内側に付されているブロックは、Pixel to Byte変換時に、画素Nと画素N+1のLSBを含むようにして生成されたバイト単位の画素データを表す。
【0115】
図15の例においては、グループ0とグループ1の画素データにはペイロードスタッフィングデータが付加されず、グループ2〜15の各画素データには、終端にペイロードスタッフィングデータが1つずつ付加されている。
【0116】
このような構成を有するペイロードデータがPixel to Byte変換部62からペイロードECC挿入部63に供給される。
【0117】
ペイロードECC挿入部63は、Pixel to Byte変換部62から供給されたペイロードデータに基づいて、ペイロードデータの誤り訂正に用いられる誤り訂正符号を計算し、計算により求めた誤り訂正符号であるパリティをペイロードデータに挿入する。誤り訂正符号として、例えばリードソロモン符号が用いられる。なお、誤り訂正符号の挿入はオプションであり、例えば、ペイロードECC挿入部63によるパリティの挿入と、フッタ生成部74によるフッタの付加はいずれか一方のみを行うことが可能とされる。
【0118】
図16は、パリティが挿入されたペイロードデータの例を示す図である。
【0119】
図16に示すペイロードデータは、図15を参照して説明した、各画素の画素値が12ビットで表される場合のPixel to Byte変換によって得られた画素データを含むペイロードデータである。斜線を付して示すブロックがパリティを表す。
【0120】
図16の例においては、グループ0〜15の各グループの先頭の画素データから順に14個選択され、選択された224個(224バイト)の画素データに基づいて2バイトのパリティが求められている。2バイトのパリティが、その計算に用いられた224個の画素データに続けてグループ0,1の15番目のデータとして挿入され、224個の画素データと2バイトのパリティから1つ目のBasic Blockが形成される。
【0121】
このように、ペイロードECC挿入部63においては、基本的に、224個の画素データに基づいて2バイトのパリティが生成され、224個の画素データに続けて挿入される。
【0122】
また、図16の例においては、1つ目のBasic Blockに続く224個の画素データが各グループから順に選択され、選択された224個の画素データに基づいて2バイトのパリティが求められている。2バイトのパリティが、その計算に用いられた224個の画素データに続けてグループ2,3の29番目のデータとして挿入され、224個の画素データと2バイトのパリティから2つ目のBasic Blockが形成される。
【0123】
あるBasic Blockに続く画素データとペイロードスタッフィングデータの数である16×Mが224に満たない場合、残っている16×M個のブロック(画素データとペイロードスタッフィングデータ)に基づいて2バイトのパリティが求められる。また、求められた2バイトのパリティがペイロードスタッフィングデータに続けて挿入され、16×M個のブロックと2バイトのパリティからExtra Blockが形成される。
【0124】
ペイロードECC挿入部63は、パリティを挿入したペイロードデータをパケット生成部64に出力する。パリティの挿入が行われない場合、Pixel to Byte変換部62からペイロードECC挿入部63に供給されたペイロードデータは、そのままパケット生成部64に出力される。
【0125】
パケット生成部64は、ペイロードECC挿入部63から供給されたペイロードデータに、ヘッダ生成部72により生成されたヘッダを付加することによってパケットを生成する。フッタ生成部74によりフッタの生成が行われている場合、パケット生成部64は、ペイロードデータにフッタを付加することも行う。
【0126】
図17は、ペイロードデータにヘッダを付加した状態を示す図である。
【0127】
H0〜H23の文字を付して示す24個のブロックは、ヘッダ情報、またはヘッダ情報のCRC符号である、バイト単位のヘッダデータを表す。図6を参照して説明したように1つのパケットのヘッダには、ヘッダ情報とCRC符号の組が3組含まれる。
【0128】
例えばヘッダデータH0〜H5は1組目のヘッダ情報(6バイト)であり、ヘッダデータH6,H7は1組目のCRC符号(2バイト)である。また、ヘッダデータH8〜H13は2組目のヘッダ情報であり、ヘッダデータH14,H15は2組目のCRC符号である。ヘッダデータH16〜H21は3組目のヘッダ情報であり、ヘッダデータH22,H23は3組目のCRC符号である。
【0129】
図17の例においては、ヘッダデータH0〜H7が、グループ8からグループ15のそれぞれのペイロードデータに付加されている。また、ヘッダデータH8〜H23が、グループ0からグループ15のそれぞれのペイロードデータに付加されている。
【0130】
図18は、ペイロードデータにヘッダとフッタを付加した状態を示す図である。
【0131】
F0〜F3の文字を付して示す4個のブロックは、フッタとして生成された4バイトのCRC符号であるフッタデータを表す。図18の例においては、フッタデータF0〜F3が、グループ0からグループ3のそれぞれのペイロードデータに付加されている。
【0132】
図19は、パリティが挿入されたペイロードデータにヘッダを付加した状態を示す図である。
【0133】
図19の例においては、パリティが挿入された図16のペイロードデータに対して、図17、図18の場合と同様にヘッダデータH0〜H23が付加されている。
【0134】
パケット生成部64は、このようにして生成した1パケットを構成するデータであるパケットデータをレーン分配部65に出力する。レーン分配部65に対しては、ヘッダデータとペイロードデータからなるパケットデータ、ヘッダデータとペイロードデータとフッタデータからなるパケットデータ、または、ヘッダデータと、パリティが挿入されたペイロードデータからなるパケットデータが供給されることになる。図6のパケット構造は論理的なものであり、リンクレイヤ、物理レイヤにおいては、図6の構造を有するパケットのデータがバイト単位で処理される。
【0135】
レーン分配部65は、パケット生成部64から供給されたパケットデータを、先頭のデータから順に、Lane0〜7のうちのデータ伝送に用いる各レーンに割り当てる。
【0136】
図20は、パケットデータの割り当ての例を示す図である。
【0137】
ここでは、ヘッダデータとペイロードデータとフッタデータからなるパケットデータ(図18)の割り当てについて説明する。Lane0〜7の8レーンを用いてデータ伝送を行う場合のパケットデータの割り当ての例を白抜き矢印#1の先に示す。
【0138】
この場合、ヘッダデータH0〜H23は、先頭のヘッダデータから順にLane0〜7に割り当てられる。あるヘッダデータがLane7に割り当てられたとき、それ以降のヘッダデータは、Lane0以降の各レーンに順に割り当てられる。Lane0〜7の各レーンには3個ずつヘッダデータが割り当てられることになる。
【0139】
また、ペイロードデータは、先頭のペイロードデータから順にLane0〜7に割り当てられる。あるペイロードデータがLane7に割り当てられたとき、それ以降のペイロードデータは、Lane0以降の各レーンに順に割り当てられる。
【0140】
フッタデータF0〜F3は、先頭のフッタデータから順に各レーンに割り当てられる。図20の例においては、ペイロードデータを構成する最後のペイロードスタッフィングデータがLane7に割り当てられており、フッタデータF0〜F3がLane0〜3に1つずつ割り当てられている。
【0141】
黒色を付して示すブロックはデータ挿入部73により生成されたレーンスタッフィングデータを表す。レーンスタッフィングデータは、1パケット分のパケットデータが各レーンに割り当てられた後、各レーンに割り当てられるデータ長が同じ長さになるように、データの数が少ないレーンに割り当てられる。レーンスタッフィングデータは1バイトのデータである。図20の例においては、データの割り当て数の少ないレーンであるLane4〜7に対して、レーンスタッフィングデータが1つずつ割り当てられている。
【0142】
パケットデータがヘッダデータとペイロードデータとフッタデータからなる場合のレーンスタッフィングデータの数は下式(5)により表される。
【数5】

【0143】
式(5)のLaneNumはレーンの数を表し、PayloadLengthはペイロードデータ長(バイト)を表す。また、FooterLengthはフッタ長(バイト)を表す。
【0144】
また、パケットデータが、ヘッダデータと、パリティが挿入されたペイロードデータからなる場合のレーンスタッフィングデータの数は下式(6)により表される。式(6)のParityLengthは、ペイロードに含まれるパリティの総バイト数を表す。
【数6】

【0145】
Lane0〜5の6レーンを用いてデータ伝送を行う場合のパケットデータの割り当ての例を白抜き矢印#2の先に示す。
【0146】
この場合、ヘッダデータH0〜H23は、先頭のヘッダデータから順にLane0〜5に割り当てられる。あるヘッダデータがLane5に割り当てられたとき、それ以降のヘッダデータは、Lane0以降の各レーンに順に割り当てられる。Lane0〜5の各レーンには4個ずつヘッダデータが割り当てられることになる。
【0147】
また、ペイロードデータは、先頭のペイロードデータから順にLane0〜5に割り当てられる。あるペイロードデータがLane5に割り当てられたとき、それ以降のペイロードデータは、Lane0以降の各レーンに順に割り当てられる。
【0148】
フッタデータF0〜F3は、先頭のフッタデータから順に各レーンに割り当てられる。図20の例においては、ペイロードデータを構成する最後のペイロードスタッフィングデータがLane1に割り当てられており、フッタデータF0〜F3がLane2〜5に1つずつ割り当てられている。Lane0〜5のパケットデータの数が同じ数であるから、この場合、レーンスタッフィングデータは用いられない。
【0149】
Lane0〜3の4レーンを用いてデータ伝送を行う場合のパケットデータの割り当ての例を白抜き矢印#3の先に示す。
【0150】
この場合、ヘッダデータH0〜H23は、先頭のヘッダデータから順にLane0〜3に割り当てられる。あるヘッダデータがLane3に割り当てられたとき、それ以降のヘッダデータは、Lane0以降の各レーンに順に割り当てられる。Lane0〜3の各レーンには6個ずつヘッダデータが割り当てられることになる。
【0151】
また、ペイロードデータは、先頭のペイロードデータから順にLane0〜3に割り当てられる。あるペイロードデータがLane3に割り当てられたとき、それ以降のペイロードデータは、Lane0以降の各レーンに順に割り当てられる。
【0152】
フッタデータF0〜F3は、先頭のフッタデータから順に各レーンに割り当てられる。図20の例においては、ペイロードデータを構成する最後のペイロードスタッフィングデータがLane3に割り当てられており、フッタデータF0〜F3がLane0〜3に1つずつ割り当てられている。Lane0〜3のパケットデータの数が同じ数であるから、この場合、レーンスタッフィングデータは用いられない。
【0153】
レーン分配部65は、このようにして各レーンに割り当てたパケットデータを物理レイヤに出力する。以下、Lane0〜7の8レーンを用いてデータを伝送する場合について主に説明するが、データ伝送に用いるレーンの数が他の数の場合であっても同様の処理が行われる。
【0154】
[送信部22の物理レイヤの構成]
次に、送信部22の物理レイヤの構成について説明する。
【0155】
送信部22には、物理レイヤの構成として、PHY-TX状態制御部81、クロック生成部82、信号処理部83−0乃至83−Nが設けられる。信号処理部83−0は、制御コード挿入部91、8B10Bシンボルエンコーダ92、同期部93、および送信部94から構成される。レーン分配部65から出力された、Lane0に割り当てられたパケットデータは信号処理部83−0に入力され、Lane1に割り当てられたパケットデータは信号処理部83−1に入力される。また、LaneNに割り当てられたパケットデータは信号処理部83−Nに入力される。
【0156】
このように、送信部22の物理レイヤには、信号処理部83−0乃至83−Nがレーンの数と同じ数だけ設けられ、各レーンを用いて伝送するパケットデータの処理が、信号処理部83−0乃至83−Nのそれぞれにおいて並行して行われる。信号処理部83−0の構成について説明するが、信号処理部83−1乃至83−Nも同様の構成を有する。
【0157】
PHY-TX状態制御部81は、信号処理部83−0乃至83−Nの各部を制御する。例えば、信号処理部83−0乃至83−Nにより行われる各処理のタイミングがPHY-TX状態制御部81により制御される。
【0158】
クロック生成部82は、クロック信号を生成し、信号処理部83−0乃至83−Nのそれぞれの同期部93に出力する。
【0159】
信号処理部83−0の制御コード挿入部91は、レーン分配部65から供給されたパケットデータに対して制御コードを付加する。制御コードは、予め用意された複数種類のシンボルの中から選択された1つのシンボルにより、または複数種類のシンボルの組み合わせにより表されるコードである。制御コード挿入部91により挿入される各シンボルは8ビットのデータである。後段の回路で8B10B変換が施されることによって、制御コード挿入部91により挿入された1シンボルは10ビットのデータになる。一方、受信部31においては後述するように受信データに対して10B8B変換が施されるが、受信データに含まれる10B8B変換前の各シンボルは10ビットのデータであり、10B8B変換後の各シンボルは8ビットのデータになる。
【0160】
図21は、制御コード挿入部91により付加される制御コードの例を示す図である。
【0161】
制御コードには、Idle Code, Start Code, End Code, Pad Code, Sync Code, Deskew Code, Standby Codeがある。
【0162】
Idle Codeは、パケットデータの伝送時以外の期間に繰り返し送信されるシンボル群である。Idle Codeは、8B10B CodeであるD CharacterのD00.0(00000000)で表される。
【0163】
Start Codeは、パケットの開始を示すシンボル群である。上述したように、Start Codeはパケットの前に付加される。Start Codeは、3種類のK Characterの組み合わせであるK28.5, K27.7, K28.2, K27.7の4シンボルで表される。それぞれのK Characterの値を図22に示す。
【0164】
End Codeは、パケットの終了を示すシンボル群である。上述したように、End Codeはパケットの後ろに付加される。End Codeは、3種類のK Characterの組み合わせであるK28.5, K29.7, K30.7, K29.7の4シンボルで表される。
【0165】
Pad Codeは、画素データ帯域とPHY伝送帯域の差を埋めるためにペイロードデータ中に挿入されるシンボル群である。画素データ帯域は、撮像部21から出力され、送信部22に入力される画素データの伝送レートであり、PHY伝送帯域は、送信部22から送信され、受信部31に入力される画素データの伝送レートである。Pad Codeは、4種類のK Characterの組み合わせであるK23.7, K28.4, K28.6, K28.7の4シンボルで表される。
【0166】
図23は、Pad Codeの挿入の例を示す図である。
【0167】
図23の上段は、Pad Code挿入前の、各レーンに割り当てられたペイロードデータを示し、下段は、Pad Code挿入後のペイロードデータを示す。図23の例においては、先頭から3番目の画素データと4番目の画素データの間、6番目の画素データと7番目の画素データの間、12番目の画素データと13番目の画素データの間にPad Codeが挿入されている。このように、Pad Codeは、Lane0〜7の各レーンのペイロードデータの同じ位置に挿入される。
【0168】
Lane0に割り当てられたペイロードデータに対するPad Codeの挿入は信号処理部83−0の制御コード挿入部91により行われる。他のレーンに割り当てられたペイロードデータに対するPad Codeの挿入も同様に、信号処理部83−1乃至83−Nにおいてそれぞれ同じタイミングで行われる。Pad Codeの数は、画素データ帯域とPHY伝送帯域の差と、クロック生成部82が生成するクロック信号の周波数などに基づいて決定される。
【0169】
このように、Pad Codeは、画素データ帯域が狭く、PHY伝送帯域が広い場合に、双方の帯域の差を調整するために挿入される。例えば、Pad Codeが挿入されることによって、画素データ帯域とPHY伝送帯域の差が一定の範囲内に収まるように調整される。
【0170】
図21の説明に戻り、Sync Codeは、送信部22−受信部31間のビット同期、シンボル同期を確保するために用いられるシンボル群である。Sync Codeは、K28.5, Any**の2シンボルで表される。Any**は、どの種類のシンボルが用いられてもよいことを表す。Sync Codeは、例えば送信部22−受信部31間でパケットデータの伝送が開始される前のトレーニングモード時に繰り返し送信される。
【0171】
Deskew Codeは、レーン間のData Skew、すなわち、受信部31の各レーンで受信されるデータの受信タイミングのずれの補正に用いられるシンボル群である。Deskew Codeは、K28.5, Any**の2シンボルで表される。Deskew Codeを用いたレーン間のData Skewの補正については後述する。
【0172】
Standby Codeは、送信部22の出力がHigh-Z(ハイインピーダンス)などの状態になり、データ伝送が行われなくなることを受信部31に通知するために用いられるシンボル群である。すなわち、Standby Codeは、パケットデータの伝送を終了し、Standby状態になるときに受信部31に対して伝送される。Standby Codeは、K28.5, Any**の2シンボルで表される。
【0173】
制御コード挿入部91は、このような制御コードを付加したパケットデータを8B10Bシンボルエンコーダ92に出力する。
【0174】
図24は、制御コード挿入後のパケットデータの例を示す図である。
【0175】
図24に示すように、信号処理部83−0乃至83−Nにおいては、それぞれ、パケットデータの前にStart Codeが付加され、ペイロードデータにPad Codeが挿入される。パケットデータの後ろにはEnd Codeが付加され、End Codeの後ろにDeskew Codeが付加される。図24の例においては、Deskew Codeの後ろにIdle Codeが付加されている。
【0176】
8B10Bシンボルエンコーダ92は、制御コード挿入部91から供給されたパケットデータ(制御コードが付加されたパケットデータ)に対して8B10B変換を施し、10ビット単位のデータに変換したパケットデータを同期部93に出力する。
【0177】
同期部93は、8B10Bシンボルエンコーダ92から供給されたパケットデータの各ビットを、クロック生成部82により生成されたクロック信号に従って送信部94に出力する。
【0178】
送信部94は、Lane0を構成する伝送路を介して、同期部93から供給されたパケットデータを受信部31に送信する。8レーンを用いてデータ伝送が行われる場合、Lane1〜7を構成する伝送路をも用いてパケットデータが受信部31に送信される。
【0179】
[受信部31の物理レイヤの構成]
次に、受信部31の物理レイヤの構成について説明する。
【0180】
受信部31には、物理レイヤの構成として、PHY-RX状態制御部101、信号処理部102−0乃至102−Nが設けられる。信号処理部102−0は、受信部111、クロック生成部112、同期部113、シンボル同期部114、10B8Bシンボルデコーダ115、スキュー補正部116、および制御コード除去部117から構成される。Lane0を構成する伝送路を介して送信されてきたパケットデータは信号処理部102−0に入力され、Lane1を構成する伝送路を介して送信されてきたパケットデータは信号処理部102−1に入力される。また、LaneNを構成する伝送路を介して送信されてきたパケットデータは信号処理部102−Nに入力される。
【0181】
このように、受信部31の物理レイヤには、信号処理部102−0乃至102−Nがレーンの数と同じ数だけ設けられ、各レーンを用いて伝送されてきたパケットデータの処理が、信号処理部102−0乃至102−Nのそれぞれにおいて並行して行われる。信号処理部102−0の構成について説明するが、信号処理部102−1乃至102−Nも同様の構成を有する。
【0182】
受信部111は、Lane0を構成する伝送路を介して送信部22から伝送されてきたパケットデータを表す信号を受信し、クロック生成部112に出力する。
【0183】
クロック生成部112は、受信部111から供給された信号のエッジを検出することによってビット同期をとり、エッジの検出周期に基づいてクロック信号を生成する。クロック生成部112は、受信部111から供給された信号を、クロック信号とともに同期部113に出力する。
【0184】
同期部113は、クロック生成部112により生成されたクロック信号に従って、受信部111において受信された信号のサンプリングを行い、サンプリングによって得られたパケットデータをシンボル同期部114に出力する。クロック生成部112と同期部113によりCDR(Clock Data Recovery)の機能が実現される。
【0185】
シンボル同期部114は、パケットデータに含まれる制御コードを検出することによって、または制御コードに含まれる一部のシンボルを検出することによってシンボル同期をとる。例えば、シンボル同期部114は、Start Code, End Code, Deskew Codeに含まれるK28.5のシンボルを検出し、シンボル同期をとる。シンボル同期部114は、各シンボルを表す10ビット単位のパケットデータを10B8Bシンボルデコーダ115に出力する。
【0186】
また、シンボル同期部114は、パケットデータの伝送が開始される前のトレーニングモード時に送信部22から繰り返し送信されてくるSync Codeに含まれるシンボルの境界を検出することによってシンボル同期をとる。
【0187】
10B8Bシンボルデコーダ115は、シンボル同期部114から供給された10ビット単位のパケットデータに対して10B8B変換を施し、8ビット単位のデータに変換したパケットデータをスキュー補正部116に出力する。
【0188】
スキュー補正部116は、10B8Bシンボルデコーダ115から供給されたパケットデータからDeskew Codeを検出する。スキュー補正部116によるDeskew Codeの検出タイミングの情報はPHY-RX状態制御部101に供給される。
【0189】
また、スキュー補正部116は、Deskew Codeのタイミングを、PHY-RX状態制御部101から供給された情報により表されるタイミングに合わせるようにしてレーン間のData Skewを補正する。PHY-RX状態制御部101からは、信号処理部102−0乃至102−Nのそれぞれにおいて検出されたDeskew Codeのタイミングのうち、最も遅いタイミングを表す情報が供給されてくる。
【0190】
図25は、Deskew Codeを用いたレーン間のData Skewの補正の例を示す図である。
【0191】
図25の例においては、Lane0〜7の各レーンにおいて、Sync Code, Sync Code,…,Idle Code, Deskew Code, Idle Code, …, Idle Code, Deskew Codeの伝送が行われ、それぞれの制御コードが受信部31において受信されている。同じ制御コードの受信タイミングがレーン毎に異なり、レーン間のData Skewが生じている状態になっている。
【0192】
この場合、スキュー補正部116は、1つ目のDeskew CodeであるDeskew Code C1を検出し、Deskew Code C1の先頭のタイミングを、PHY-RX状態制御部101から供給された情報により表される時刻t1に合わせるように補正する。PHY-RX状態制御部101からは、Lane0〜7の各レーンにおいてDeskew Code C1が検出されたタイミングのうち、最も遅いタイミングであるLane7においてDeskew Code C1が検出された時刻t1の情報が供給されてくる。
【0193】
また、スキュー補正部116は、2つ目のDeskew CodeであるDeskew Code C2を検出し、Deskew Code C2の先頭のタイミングを、PHY-RX状態制御部101から供給された情報により表される時刻t2に合わせるように補正する。PHY-RX状態制御部101からは、Lane0〜7の各レーンにおいてDeskew Code C2が検出されたタイミングのうち、最も遅いタイミングであるLane7においてDeskew Code C2が検出された時刻t2の情報が供給されてくる。
【0194】
信号処理部102−1乃至102−Nのそれぞれにおいて同様の処理が行われることによって、図25の矢印#1の先に示すようにレーン間のData Skewが補正される。
【0195】
スキュー補正部116は、Data Skewを補正したパケットデータを制御コード除去部117に出力する。
【0196】
制御コード除去部117は、パケットデータに付加された制御コードを除去し、Start CodeからEnd Codeまでの間のデータをパケットデータとしてリンクレイヤに出力する。
【0197】
PHY-RX状態制御部101は、信号処理部102−0乃至102−Nの各部を制御し、レーン間のData Skewの補正などを行わせる。また、PHY-RX状態制御部101は、所定のレーンで伝送エラーが起きて制御コードが失われた場合、失われた制御コードに代えて、他のレーンで伝送されてきた制御コードを付加することによって制御コードの誤り訂正を行う。
【0198】
[受信部31のリンクレイヤの構成]
次に、受信部31のリンクレイヤの構成について説明する。
【0199】
受信部31には、リンクレイヤの構成として、LINK-RXプロトコル管理部121、レーン統合部122、パケット分離部123、ペイロードエラー訂正部124、およびByte to Pixel変換部125が設けられる。LINK-RXプロトコル管理部121は、状態制御部131、ヘッダエラー訂正部132、データ除去部133、およびフッタエラー検出部134から構成される。
【0200】
レーン統合部122は、物理レイヤの信号処理部102−0乃至102−Nから供給されたパケットデータを、送信部22のレーン分配部65による各レーンへの分配順と逆順で並び替えることによって統合する。
【0201】
例えば、レーン分配部65によるパケットデータの分配が図20の矢印#1の先に示すようにして行われている場合、各レーンのパケットデータの統合が行われることによって図20の左側のパケットデータが取得される。各レーンのパケットデータの統合時、データ除去部133による制御に従って、レーンスタッフィングデータがレーン統合部122により除去される。レーン統合部122は、統合したパケットデータをパケット分離部123に出力する。
【0202】
パケット分離部123は、レーン統合部122により統合された1パケット分のパケットデータを、ヘッダデータを構成するパケットデータとペイロードデータを構成するパケットデータに分離する。パケット分離部123は、ヘッダデータをヘッダエラー訂正部132に出力し、ペイロードデータをペイロードエラー訂正部124に出力する。
【0203】
また、パケット分離部123は、パケットにフッタが含まれている場合、1パケット分のデータを、ヘッダデータを構成するパケットデータとペイロードデータを構成するパケットデータとフッタデータを構成するパケットデータに分離する。パケット分離部123は、ヘッダデータをヘッダエラー訂正部132に出力し、ペイロードデータをペイロードエラー訂正部124に出力する。また、パケット分離部123は、フッタデータをフッタエラー検出部134に出力する。
【0204】
ペイロードエラー訂正部124は、パケット分離部123から供給されたペイロードデータにパリティが挿入されている場合、パリティに基づいて誤り訂正演算を行うことによってペイロードデータのエラーを検出し、検出したエラーの訂正を行う。例えば、図16に示すようにしてパリティが挿入されている場合、ペイロードエラー訂正部124は、1つ目のBasic Blockの最後に挿入されている2つのパリティを用いて、パリティの前にある224個の画素データの誤り訂正を行う。
【0205】
ペイロードエラー訂正部124は、各Basic Block, Extra Blockを対象として誤り訂正を行うことによって得られた誤り訂正後の画素データをByte to Pixel変換部125に出力する。パケット分離部123から供給されたペイロードデータにパリティが挿入されていない場合、パケット分離部123から供給されたペイロードデータはそのままByte to Pixel変換部125に出力される。
【0206】
Byte to Pixel変換部125は、ペイロードエラー訂正部124から供給されたペイロードデータに含まれるペイロードスタッフィングデータをデータ除去部133による制御に従って除去する。
【0207】
また、Byte to Pixel変換部125は、ペイロードスタッフィングデータを除去して得られたバイト単位の各画素のデータを、8ビット、10ビット、12ビット、14ビット、または16ビット単位の画素データに変換するByte to Pixel変換を行う。Byte to Pixel変換部125においては、図9乃至図13を参照して説明した、送信部22のPixel to Byte変換部62によるPixel to Byte変換と逆の変換が行われる。
【0208】
Byte to Pixel変換部125は、Byte to Pixel変換によって得られた8ビット、10ビット、12ビット、14ビット、または16ビット単位の画素データをフレームデータ出力部141に出力する。フレームデータ出力部141においては、例えば、ヘッダ情報のLine Validにより特定される有効画素の各ラインがByte to Pixel変換部125により得られた画素データに基づいて生成され、ヘッダ情報のLine Numberに従って各ラインが並べられることによって1フレームの画像が生成される。
【0209】
LINK-RXプロトコル管理部121の状態制御部131は、受信部31のリンクレイヤの状態を管理する。
【0210】
ヘッダエラー訂正部132は、パケット分離部123から供給されたヘッダデータに基づいてヘッダ情報とCRC符号の組を3組取得する。ヘッダエラー訂正部132は、ヘッダ情報とCRC符号の組の各組を対象として、ヘッダ情報のエラーを検出するための演算である誤り検出演算を、そのヘッダ情報と同じ組のCRC符号を用いて行う。
【0211】
また、ヘッダエラー訂正部132は、それぞれの組のヘッダ情報の誤り検出結果と、誤り検出演算により求められたデータの比較結果とのうちの少なくともいずれかに基づいて正しいヘッダ情報を推測し、正しいと推測したヘッダ情報と復号結果を出力する。誤り検出演算により求められたデータは、ヘッダ情報にCRCの生成多項式を適用することによって求められた値である。また、復号結果は、復号成功または復号失敗を表す情報である。
【0212】
ヘッダ情報とCRC符号の3つの組をそれぞれ組1、組2、組3とする。この場合、ヘッダエラー訂正部132は、組1を対象とした誤り検出演算によって、組1のヘッダ情報にエラーがあるか否か(誤り検出結果)と、誤り検出演算により求められたデータであるデータ1を取得する。また、ヘッダエラー訂正部132は、組2を対象とした誤り検出演算によって、組2のヘッダ情報にエラーがあるか否かと、誤り検出演算により求められたデータであるデータ2を取得する。ヘッダエラー訂正部132は、組3を対象とした誤り検出演算によって、組3のヘッダ情報にエラーがあるか否かと、誤り検出演算により求められたデータであるデータ3を取得する。
【0213】
また、ヘッダエラー訂正部132は、データ1とデータ2が一致するか否か、データ2とデータ3が一致するか否か、データ3とデータ1が一致するか否かをそれぞれ判定する。
【0214】
例えば、ヘッダエラー訂正部132は、組1、組2、組3を対象としたいずれの誤り検出演算によっても誤りが検出されず、誤り検出演算によって求められたデータのいずれの比較結果もが一致した場合、復号結果として、復号成功を表す情報を選択する。また、ヘッダエラー訂正部132は、いずれのヘッダ情報も正しいと推測し、組1のヘッダ情報、組2のヘッダ情報、組3のヘッダ情報のうちのいずれかを出力情報として選択する。
【0215】
一方、ヘッダエラー訂正部132は、組1を対象とした誤り検出演算でだけ誤りが検出されなかった場合、復号結果として、復号成功を表す情報を選択するとともに、組1のヘッダ情報が正しいと推測し、組1のヘッダ情報を出力情報として選択する。
【0216】
また、ヘッダエラー訂正部132は、組2を対象とした誤り検出演算でだけ誤りが検出されなかった場合、復号結果として、復号成功を表す情報を選択するとともに、組2のヘッダ情報が正しいと推測し、組2のヘッダ情報を出力情報として選択する。
【0217】
ヘッダエラー訂正部132は、組3を対象とした誤り検出演算でだけ誤りが検出されなかった場合、復号結果として、復号成功を表す情報を選択するとともに、組3のヘッダ情報が正しいと推測し、組3のヘッダ情報を出力情報として選択する。
【0218】
ヘッダエラー訂正部132は、以上のようにして選択した復号結果と出力情報をレジスタ142に出力し、記憶させる。このように、ヘッダエラー訂正部132によるヘッダ情報の誤り訂正は、複数のヘッダ情報の中から、エラーのないヘッダ情報をCRC符号を用いて検出し、検出したヘッダ情報を出力するようにして行われる。
【0219】
データ除去部133は、レーン統合部122を制御してレーンスタッフィングデータを除去し、Byte to Pixel変換部125を制御してペイロードスタッフィングデータを除去する。
【0220】
フッタエラー検出部134は、パケット分離部123から供給されたフッタデータに基づいて、フッタに格納されたCRC符号を取得する。フッタエラー検出部134は、取得したCRC符号を用いて誤り検出演算を行い、ペイロードデータのエラーを検出する。フッタエラー検出部134は、誤り検出結果を出力し、レジスタ142に記憶させる。
【0221】
[イメージセンサ11とDSP12の動作]
次に、以上のような構成を有する送信部22と受信部31の一連の処理について説明する。
【0222】
はじめに、図26のフローチャートを参照して、伝送システム1を有する撮像装置の動作について説明する。図26の処理は、例えば、撮像装置に設けられたシャッタボタンが押されるなどして撮像の開始が指示されたときに開始される。
【0223】
ステップS1において、イメージセンサ11の撮像部21は撮像を行う。撮像部21のフレームデータ入力部52(図5)は、撮像によって得られた1フレームの画像を構成する画素データを、1画素のデータずつ順に出力する。
【0224】
ステップS2において、送信部22によりデータ送信処理が行われる。データ送信処理により、1ライン分の画素データをペイロードに格納したパケットが生成され、パケットを構成するパケットデータが受信部31に対して送信される。データ送信処理については図27のフローチャートを参照して後述する。
【0225】
ステップS3において、受信部31によりデータ受信処理が行われる。データ受信処理により、送信部22から送信されてきたパケットデータが受信され、ペイロードに格納されている画素データが画像処理部32に出力される。データ受信処理については図28のフローチャートを参照して後述する。
【0226】
ステップS2において送信部22により行われるデータ送信処理と、ステップS3において受信部31により行われるデータ受信処理は、1ライン分の画素データを対象として交互に行われる。すなわち、ある1ラインの画素データがデータ送信処理によって送信されたとき、データ受信処理が行われ、データ受信処理によって1ラインの画素データが受信されたとき、次の1ラインの画素データを対象としてデータ送信処理が行われる。送信部22によるデータ送信処理と、受信部31によるデータ受信処理は、適宜、時間的に並行して行われることもある。ステップS4において、画像処理部32のフレームデータ出力部141は、1フレームの画像を構成する全てのラインの画素データの送受信が終了したか否かを判定し、終了していないと判定した場合、ステップS2以降の処理を繰り返し行わせる。
【0227】
1フレームの画像を構成する全てのラインの画素データの送受信が終了したとステップS4において判定した場合、ステップS5において、画像処理部32のフレームデータ出力部141は、受信部31から供給された画素データに基づいて1フレームの画像を生成する。
【0228】
ステップS6において、画像処理部32は、1フレームの画像を用いて画像処理を行い、処理を終了させる。
【0229】
次に、図27のフローチャートを参照して、図26のステップS2において行われるデータ送信処理について説明する。
【0230】
ステップS11において、ヘッダ生成部72は、Frame Start, Frame End, Line Valid, Line Number, Reservedからなるヘッダ情報を生成する。
【0231】
ステップS12において、ヘッダ生成部72は、ヘッダ情報を生成多項式に適用してCRC符号を計算する。
【0232】
ステップS13において、ヘッダ生成部72は、ヘッダ情報にCRC符号を付加することによってヘッダ情報とCRC符号の組を生成し、同じヘッダ情報とCRC符号の組を3組繰り返して配置することによってヘッダを生成する。
【0233】
ステップS14において、Pixel to Byte変換部62は、フレームデータ入力部52から供給された画素データを取得し、Pixel to Byte変換を行う。Pixel to Byte変換部62は、Pixel to Byte変換によって得られたバイト単位の画素データのグループ化、ペイロードスタッフィングデータの付加などを行うことによって生成したペイロードデータを出力する。ペイロードデータに対しては、適宜、ペイロードECC挿入部63によりパリティが挿入される。
【0234】
ステップS15において、パケット生成部64は、1ライン分の画素データを含むペイロードデータと、ヘッダ生成部72により生成されたヘッダに基づいてパケットを生成し、1パケットを構成するパケットデータを出力する。
【0235】
ステップS16において、レーン分配部65は、パケット生成部64から供給されたパケットデータを、データ伝送に用いられる複数のレーンに割り当てる。
【0236】
ステップS17において、制御コード挿入部91は、レーン分配部65から供給されたパケットデータに制御コードを付加する。
【0237】
ステップS18において、8B10Bシンボルエンコーダ92は、制御コードが付加されたパケットデータの8B10B変換を行い、10ビット単位のデータに変換したパケットデータを出力する。
【0238】
ステップS19において、同期部93は、8B10Bシンボルエンコーダ92から供給されたパケットデータを、クロック生成部82により生成されたクロック信号に従って出力し、送信部94から送信させる。ステップS17乃至S19の処理は信号処理部83−0乃至83−Nにより並行して行われる。1ライン分の画素データの送信が終了したとき、図26のステップS2に戻りそれ以降の処理が行われる。
【0239】
次に、図28のフローチャートを参照して、図26のステップS3において行われるデータ受信処理について説明する。
【0240】
ステップS31において、受信部111は、送信部22から伝送されてきたパケットデータを表す信号を受信する。ステップS31乃至S36の処理は信号処理部102−0乃至102−Nにより並行して行われる。
【0241】
ステップS32において、クロック生成部112は、受信部111から供給された信号のエッジを検出することによってビット同期をとる。同期部113は、受信部111において受信された信号のサンプリングを行い、パケットデータをシンボル同期部114に出力する
【0242】
ステップS33において、シンボル同期部114は、パケットデータに含まれる制御コードを検出するなどしてシンボル同期をとる。
【0243】
ステップS34において、10B8Bシンボルデコーダ115は、シンボル同期後のパケットデータに対して10B8B変換を施し、8ビット単位のデータに変換したパケットデータを出力する。
【0244】
ステップS35において、スキュー補正部116は、Deskew Codeを検出し、上述したように、Deskew CodeのタイミングをPHY-RX状態制御部101から供給された情報により表されるタイミングに合わせるようにしてレーン間のData Skewを補正する。
【0245】
ステップS36において、制御コード除去部117は、パケットデータに付加された制御コードを除去する。
【0246】
ステップS37において、レーン統合部122は、信号処理部102−0乃至102−Nから供給されたパケットデータを統合する。
【0247】
ステップS38において、パケット分離部123は、レーン統合部122により統合されたパケットデータを、ヘッダデータを構成するパケットデータとペイロードデータを構成するパケットデータに分離する。
【0248】
ステップS39において、ヘッダエラー訂正部132は、パケット分離部123により分離されたヘッダデータに含まれるヘッダ情報とCRC符号の各組を対象としてCRC符号を用いた誤り検出演算を行う。また、ヘッダエラー訂正部132は、各組の誤り検出結果と、誤り検出演算により求められたデータの比較結果とに基づいてエラーのないヘッダ情報を選択し、出力する。
【0249】
ステップS40において、Byte to Pixel変換部125は、ペイロードデータのByte to Pixel変換を行い、8ビット、10ビット、12ビット、14ビット、または16ビット単位の画素データを出力する。Byte to Pixel変換の対象となるペイロードデータに対しては、適宜、パリティを用いた誤り訂正がペイロードエラー訂正部124により行われる。
【0250】
1ライン分の画素データの処理が終了したとき、図26のステップS3に戻りそれ以降の処理が行われる。
【0251】
イメージセンサ11とDSP12の間でのデータ伝送は、以上のように、1フレームの1ラインが1パケットに相当するパケットフォーマットを用いて行われる。
【0252】
イメージセンサ11とDSP12間のデータ伝送に用いられるパケットフォーマットは、ヘッダ情報や、Start Code, End Code等のパケット境界を示す制御コードの伝送を最小限に抑えるフォーマットといえ、伝送効率の低下を防ぐことが可能になる。仮に、1パケットのペイロードに格納される画素データが1ラインより少ないパケットフォーマットを採用した場合、1フレーム全体の画素データを伝送するためにはより多くのパケットを伝送する必要があり、伝送するヘッダ情報や制御コードの数が多くなる分、伝送効率が低下してしまう。
【0253】
また、伝送効率の低下を防ぐことによって伝送レイテンシを抑えることが可能となり、大量の画像データを高速に伝送する必要がある高画素・高フレームレートのインタフェースを実現することができる。
【0254】
伝送の信頼度/冗長度を上げて受信部31側で誤り訂正を行うことを前提にしたパケットフォーマットを採用することによって、ヘッダ情報の伝送エラー対策を確保することが可能になる。Frame/Line(V/H)の同期情報等の伝送がヘッダ情報を用いて行われるため、ヘッダ情報が伝送エラーで失われると、システム上、大きな不具合となる可能性があるが、そのようなことを防ぐことができる。
【0255】
また、ヘッダ情報の伝送エラー対策を確保するための実装コストや消費電力の増大を抑えることもできる。すなわち、イメージセンサ11とDSP12間のデータ伝送に用いられるパケットフォーマットは、CRC符号が付加されていることで、ヘッダ情報の伝送エラーの有無をDSP12において検出することができるようになっている。また、ヘッダ情報とCRC符号の組を3組伝送することで、ヘッダ情報の伝送エラーが生じた場合にDSP12において正しいヘッダ情報に訂正することができるようになっている。
【0256】
仮に、ヘッダ情報の伝送エラー対策として誤り訂正符号を用いるとした場合、誤り訂正符号の計算を行う回路を送信部22に用意するとともに、誤り訂正演算を行う回路を受信部31に用意する必要があることになる。ヘッダ情報に付加されるのは誤り検出符号であるCRC符号であるため、誤り訂正に関する演算を行う回路を用意する場合に較べて、回路規模、消費電力を小さくすることができる。また、ヘッダ情報の誤りを検出した場合にヘッダ情報の再送を受信部31が送信部22に対して要求することも行われないため、再送要求のための逆方向の伝送路を用意する必要がない。
【0257】
冗長度を上げ、8B10Bコードの複数のK Characterを組み合わせて制御コードを構成することによって、制御コードのエラー確率を低減させることができ、これにより、比較的簡単な回路で制御コードの伝送エラー対策を確保することが可能になる。
【0258】
具体的には、Start Codeには3種類のK Characterを4シンボル組み合わせて用いているが、少なくともK28.5以外のシンボルを検出できれば受信部31においてStart Codeを特定することができ、伝送エラーに対する耐性が高いといえる。End Codeについても同様である。
【0259】
また、Pad Codeに4種類のK Characterを組み合わせて用いているが、他の制御コードより多くの種類のK Characterを割り当てることによって、他の制御コードよりエラー耐性を上げることが可能になる。すなわち、4種類のうちの1種類のシンボルを検出できれば受信部31においてPad Codeを特定することができる。Pad Codeは、伝送頻度がStart CodeやEnd Codeなどよりも高いため、よりエラー耐性を上げることができる構造を持たせている。
【0260】
さらに、レーン毎に、同じ制御コードを同じタイミングで伝送することによって、1つのレーンで伝送エラーが起きて制御コードが失われた場合でも、他のレーンの制御コードを使って、エラーとなった制御コードを再現することができる。
【0261】
また、K Characterの数が限られているため、必要最小限のK Characterを組合せてそれぞれの制御コードを構成するようになされている。例えば、繰り返し送信することによって伝送エラーを比較的許容できるSync Code, Deskew Code, Standby Codeについては、K Characterを追加で割り当てる必要がないようなデータ構造を用いている。
【0262】
再同期させるために必要な制御コードが1パケット(1ライン)毎に割り当てられているため、静電気等の外乱やノイズなどによりビット同期が外れてしまった場合に再同期を迅速にとることができる。また、同期外れによる伝送エラーの影響を最小限に抑えることができる。
【0263】
具体的には、クロック生成部112と同期部113により実現されるCDRにおいて8B10B変換後のビットデータの遷移/エッジを検出することでビット同期をとることができる。送信部22がデータを送り続けていれば、CDRロック時間として想定された期間内でビット同期をとることができることになる。
【0264】
また、シンボル同期が外れてしまった場合でも、特定のK Character(K28.5)をシンボル同期部114において検出することによって再同期を迅速にとることができる。K28.5はStart Code, End Code, Deskew Codeにそれぞれ用いられているから、1パケット分のパケットデータの伝送期間中に、3箇所でシンボル同期をとることが可能になる。
【0265】
また、Deskew Codeを用いてレーン間のData Skewを補正することができるようにすることによって、レーン間の同期をとることもできる。
【0266】
リンクレイヤにおいて、16個ずつなどのグループ単位(図14の例の場合、16バイト単位)で各パケットデータが並列処理されるようにすることによって、1クロック周期に1つずつパケットデータを処理する場合に較べて、回路規模やメモリ量を抑えることができる。実装上、パケットデータを1つずつ処理する場合と所定の単位毎にまとめて処理する場合とで、後者の方が回路規模等を抑えることができる。回路規模を抑えることができることによって、消費電力を抑えることも可能になる。
【0267】
また、レーン割り当ての際、連続するパケットデータを異なるレーンに割り当てることによってエラー耐性を高めることができる。あるレーンにおいてパリティの誤り訂正能力を超えた数の連続するパケットデータに跨ってエラーが生じた場合であっても、受信部31においてレーン結合が行われることによって、エラーが生じたパケットデータの位置が分散することになり、パリティを用いたエラー訂正が可能になることがある。パリティによる誤り訂正能力はパリティ長により定まる。
【0268】
さらに、物理レイヤに近い方を下位として、レーン分配・レーン統合より上位でECC処理を行うようにすることによって、送信部22と受信部31の回路規模を削減することが可能になる。例えば、送信部22において、パケットデータの各レーンへの割り当てが行われた後にペイロードにECCのパリティが挿入されるとした場合、ペイロードECC挿入部をレーン毎に用意する必要があり、回路規模が大きくなってしまうがそのようなことを防ぐことができる。
【0269】
物理レイヤにおいてはパケットデータの並列処理が複数の回路で行われるが、PHY-TX状態制御部81やクロック生成部82については共通化することによって、それらの回路をレーン毎に用意する場合に較べて回路の簡素化を図ることができる。また、レーン毎に異なる制御コードを伝送しないプロトコルを用いることによって、各レーンのパケットデータを処理する回路の簡素化を図ることができる。
【0270】
[レーン数の切り替え]
各レーンにおいて同じ制御コードを同じタイミングで伝送することは、通常のデータ伝送時だけでなく、例えばレーン数を切り替える場合にも行われる。レーン数を切り替える場合においても、アクティブなレーン(データ伝送に用いられるレーン)の状態は全て同じ状態になる。
【0271】
図29は、レーン数を切り替える場合の制御シーケンスを示す図である。
【0272】
図29の右側に垂直同期信号(XVS)、水平同期信号(XHS)のタイミングを示す。垂直同期信号が検出される時刻t1までの間に1フレームの画像を構成する各ラインの画素データが水平同期信号に従って伝送され、時刻t1のタイミングで、アクティブなレーンを4レーンから2レーンに変更する場合について説明する。時刻t1までは、4つのレーンを用いてデータ伝送が行われている。
【0273】
図29のほぼ中央には縦方向に各レーンの状態を示している。「PIX DATA」は、その文字が付されているレーンにおいて画素データの伝送が行われていることを表す。「PIX DATA」に続く「E」、「BLK」、「S」は、それぞれ、Frame End、ブランキング期間、Frame Startを表す。
【0274】
時刻t1までの1フレーム期間に伝送するフレームの画素データの伝送が終了した場合、ステップS81において、画像処理部32は、受信部31に対してレーン数を4から2に切り替えることを指示する。画像処理部32による指示はステップS71において受信部31により受信される。
【0275】
時刻t1になったとき、ステップS82において、画像処理部32は、イメージセンサ11の撮像部21に対して、モードチェンジを要求する。撮像部21に対して送信されるモードチェンジの要求には、レーン数を4から2に切り替えることを表す情報も含まれている。図1等には示していないが、撮像部21と画像処理部32の間には、シャッタスピード、ゲインなどの撮像に関する設定値の情報を画像処理部32が撮像部21に対して送信するための伝送路が設けられている。モードチェンジの要求もこの伝送路を介して撮像部21に送信される。
【0276】
ステップS51において、撮像部21は、画像処理部32からのモードチェンジの要求を受信し、ステップS52において、送信部22に対してレーン数を4から2に切り替えることを指示する。撮像部21による指示はステップS61において送信部22により受信される。
【0277】
送信部22と受信部31の間ではStandby Sequenceの処理が行われ、Lane0〜3を使ってStandby Codeが送信部22から受信部31に繰り返し伝送される。Standby Sequenceの処理が終了したとき、ステップS72において、受信部31から状態の検出結果が出力され、ステップS83において画像処理部32により受信される。また、アクティブな状態を維持するLane0とLane1についてはLowの状態となり、データ伝送を終了するLane2とLane3についてはHigh-Zの状態となる。
【0278】
送信部22と受信部31の間ではTraining Sequenceの処理が行われ、Lane0とLane1を使ってSync Codeが送信部22から受信部31に繰り返し伝送される。受信部31においてはビット同期が確保され、Sync Codeが検出されることによってシンボル同期が確保される。
【0279】
Training Sequenceの処理が終了したとき、ステップS73において、受信部31は、画像処理部32に対して準備が完了したことを通知する。受信部31による通知はステップS84において画像処理部32により受信され、レーン数を切り替える場合の一連の制御シーケンスが終了する。
【0280】
このように、レーン数を切り替える制御シーケンスにおいては、続けてデータ伝送に用いられるLane0,1と同じ状態になるように、データ伝送を終了するLane2,3においてもStandby Sequenceの処理時にStandby Codeが伝送される。例えば、Lane2,3については、Standby Codeの伝送を行わないでそのままHigh-Zの状態にすることも考えられるが、続けてデータ伝送に用いられるレーンと異なる状態になってしまい、制御が複雑になる。
【0281】
[フレームフォーマットの変形例]
図30は、イメージセンサ11−DSP12間のデータ伝送に用いられるフレームフォーマットの他の例を示す図である。上述した説明と重複する説明については適宜省略する。
【0282】
図30に示すフレームフォーマットは、各ラインの画像データに付加されるヘッダに太線L11で囲むEmbedded Line, Data ID, Region Numberの3つのデータが追加されている点で図4のフォーマットと異なる。図5のヘッダ生成部72によりこれらの情報が生成され、ヘッダに付加されることになる。
【0283】
図31は、図30のフレームフォーマットの1パケットを拡大して示す図である。1つのパケットは、ヘッダと、1ライン分の画素データであるペイロードデータから構成される。パケットにはフッタが付加されることもある。各パケットの先頭にはStart Codeが付加され、後ろにはEnd Codeが付加される。
【0284】
ヘッダ情報には、上述したFrame Start, Frame End, Line Valid, Line Numberに加えて、ライン情報としてのEmbedded Line、データ識別としてのData ID、および領域情報としてのRegion Numberが含まれる。各情報の内容を図32に示す。
【0285】
Embedded Lineは、Embedded Dataが挿入されているラインの伝送に用いられるパケットであるのか否かを表す1ビットの情報である。例えば、Embedded Dataを含むラインの伝送に用いられるパケットのヘッダのEmbedded Lineには1の値が設定され、他のラインの伝送に用いられるパケットのヘッダのEmbedded Lineには0の値が設定される。上述したように、撮像に関する設定値の情報が、Embedded Dataとして前ダミー領域A3や後ダミー領域A4の所定のラインに挿入される。
【0286】
Data IDは、ペイロードに格納されている画素データの番号を示すPビットの情報である。Pビットは1ビット以上の所定の数のビットを表す。
【0287】
Region Numberは、ペイロードに格納されている画素データが、撮像部21のどの領域のデータであるのかを示す1ビットの情報である。Data IDとRegion Numberの用い方については後述する。これらの3つのデータが追加されることによって、Reservedは30−Pビットになる。
【0288】
[撮像部21の構成例]
図33は、撮像部21の構成例を示す図である。撮像部21は、制御部201、画素アレイ部211、選択部212、ADC(Analog Digital Converter)213、および定電流回路部214から構成される。
【0289】
制御部201は、撮像部21の各部を制御し、画素データ(画素信号)の読み出し等に関する処理を実行させる。
【0290】
画素アレイ部211は、フォトダイオード等の光電変換素子を有する画素が行列状に配置されることによって構成される。画素アレイ部211は、各画素において被写体からの光の光電変換を行い、光電変換によって得られた画素信号を出力する。
【0291】
画素221と画素222は、画素アレイ部211を構成し、上下に隣接する2つの画素である。画素221と画素222は、互いに同じカラム(列)の連続する行の画素である。画素221と画素222は、それぞれ、1つの光電変換素子と4つのトランジスタから構成される。
【0292】
一般的な画素アレイにおいては、画素信号の出力線がカラム毎に1本設けられるが、画素アレイ部211においては、1カラム毎に、2本(2系統)の出力線が設けられる。1カラムの画素は、1行おきに異なる出力線に接続される。例えば、上から奇数番目の行を構成する画素が一方の出力線に接続され、偶数番目の行を構成する画素が他方の出力線に接続される。
【0293】
図33の例の場合、画素221を構成する回路は、第1の出力線である出力線VSL1に接続され、画素222を構成する回路は、第2の出力線である出力線VSL2に接続される。なお、図33には1カラム分の出力線のみを示しているが、実際には、出力線VSL1と出力線VSL2の2本の出力線が各カラムに対して設けられる。
【0294】
選択部212は、画素アレイ部211の出力線をADC213の入力に接続するスイッチを有し、画素アレイ部211とADC213との接続を制御する。画素アレイ部211から読み出された画素信号は選択部212を介してADC213に供給される。
【0295】
選択部212は、スイッチ231、スイッチ232、およびスイッチ233を有する。スイッチ231は、同じカラムに対応する2本の出力線の接続を制御する。スイッチ231がオン状態になると出力線VSL1と出力線VSL2が接続され、オフ状態になると切断される。
【0296】
詳細については後述するが、撮像部21には、各出力線に対してADCが1つずつ設けられる(カラムADC)。スイッチ232とスイッチ233がともにオン状態である場合、スイッチ231がオン状態になれば、同じカラムの2本の出力線が接続され、1画素が2つのADCに接続されることになる。逆に、スイッチ231がオフ状態になると、同じカラムの2本の出力線が切断されて、1画素の回路が1つのADCに接続されることになる。つまり、スイッチ231は、1つの画素の信号の出力先とするADCの数を選択する。
【0297】
スイッチ232は、画素221に対応する出力線VSL1と、その出力線に対応するADCとの接続を制御する。スイッチ232がオン状態になると、出力線VSL1が、対応するADCの比較器である比較器241の一方の入力に接続される。また、オフ状態になるとそれらが切断される。
【0298】
スイッチ233は、画素222に対応する出力線VSL2と、その出力線に対応するADCとの接続を制御する。スイッチ233がオン状態になると、出力線VSL2が、対応するADCの比較器である比較器251の一方の入力に接続される。また、オフ状態になるとそれらが切断される。
【0299】
なお、図33には1カラム分の2本の出力線に対する構成のみが示されているが、実際には、選択部212は、図33に示す構成と同じ構成(スイッチ231乃至スイッチ233)をカラム毎に有する。つまり、選択部212は、各カラムについて、制御部201の制御に従って、上述した接続制御と同様の制御を行う。
【0300】
ADC213は、画素アレイ部211から各出力線を介して供給される画素信号をそれぞれA/D変換し、デジタルデータとして送信部22に出力する。ADC213は、画素アレイ部211からの出力線毎のカラムADCを有する。つまり、図33の例の場合、各カラムの出力線の数は2本であるから、ADC213は、画素アレイ部211の全体のカラムの数×2個のカラムADCから構成される。1つのカラムADCは、1つの比較器、1つのD/A変換器(DAC)、および1つのカウンタを有するシングルスロープ型のADCである。
【0301】
比較器241は、DAC242の出力と、出力線VSL1を介して供給された画素信号の信号値とを比較する。比較器241は、DAC242の出力が画素信号の信号値に達したときカウンタ243によるカウントを停止させる。
【0302】
カウンタ243は、画素信号とDAC出力が等しくなるまで、カウント値(デジタル値)をインクリメントする。カウンタ243は、デジタル化することによって得られた信号をDATA1として出力する。カウンタ243は、データ出力後、次のA/D変換のためにカウント値を初期値(例えば0)に戻す。
【0303】
比較器251は、DAC252の出力と、出力線VSL2を介して供給された画素信号の信号値とを比較する。比較器251は、DAC252の出力が画素信号の信号値に達したときカウンタ253によるカウントを停止させる。
【0304】
カウンタ253は、画素信号とDAC出力が等しくなるまで、カウント値をインクリメントする。カウンタ253は、デジタル化することによって得られた信号をDATA2として出力する。カウンタ253は、データ出力後、次のA/D変換のためにカウント値を初期値に戻す。
【0305】
このように、ADC213は各カラムに対して2系統のカラムADCを有する。図33の例の場合、出力線VSL1に対して、比較器241(COMP1)、DAC242(DAC1)、およびカウンタ243(カウンタ1)が設けられ、出力線VSL2に対して、比較器251(COMP2)、DAC252(DAC2)、およびカウンタ253(カウンタ2)が設けられる。図示は省略しているが、ADC213は、他のカラムの出力線に対しても同様の構成を有する。
【0306】
これらの構成のうち、DACは共通化することが可能である。DACの共通化は系統毎に行われる。つまり、各カラムの互いに同じ系統のDACが共通化される。図33の例の場合、各カラムの出力線VSL1に対応するDACがDAC242として共通化され、各カラムの出力線VSL2に対応するDACがDAC252として共通化される。
【0307】
以下、適宜、比較器241、DAC242、およびカウンタ243を有するカラムADCをカラムADC1といい、比較器251、DAC252、およびカウンタ253を有するカラムADCをカラムADC2という。
【0308】
定電流回路部214は、各出力線に接続される定電流回路である。定電流回路部214は、出力線VSL1に対するMOSトランジスタ261(LOAD1)と、出力線VSL2に対するMOSトランジスタ262(LOAD2)から構成される。
【0309】
[画素データの読み出しについて]
ここで、撮像部21による画素データの読み出しについて説明する。画素データの読み出しは行方向に並ぶ画素単位(ライン単位)で行われる。画素222を含むラインをN行目のライン、画素221を含むラインをN+1行目のラインとして説明する。
【0310】
はじめに、スイッチ231,232,233が全てオンである場合について説明する。
【0311】
この場合、N行目のラインの読み出しタイミングでは、画素222の画素信号が、スイッチ233、出力線VSL2を介してカラムADC2に供給され、スイッチ231、スイッチ232、出力線VSL1を介してカラムADC1に供給される。N行目のラインを構成する各画素において同じ処理が行われるから、N行目のラインの各画素のデータとして、DATA1とDATA2の2つのデータが撮像部21から出力されることになる。
【0312】
撮像部21からの出力を受信した送信部22においては、N行目のラインの各画素のデータであるDATA1をペイロードに格納するパケットと、同じN行目のラインの各画素のデータであるDATA2をペイロードに格納するパケットがそれぞれ生成される。また、DATA1をペイロードに格納するパケットとDATA2をペイロードに格納するパケットが、所定のタイミングでDSP12に伝送される。
【0313】
また、N+1行目のラインの読み出しタイミングでは、画素221の画素信号が、スイッチ232、出力線VSL1を介してカラムADC1に供給され、スイッチ231、スイッチ233、出力線VSL2を介してカラムADC2に供給される。N+1行目のラインを構成する各画素において同じ処理が行われるから、N+1行目のラインの各画素のデータとして、DATA1とDATA2の2つのデータが撮像部21から出力されることになる。
【0314】
撮像部21からの出力を受信した送信部22においては、N+1行目のラインの各画素のデータであるDATA1をペイロードに格納するパケットと、N+1行目のラインの各画素のデータであるDATA2をペイロードに格納するパケットがそれぞれ生成される。また、DATA1をペイロードに格納するパケットとDATA2をペイロードに格納するパケットが、所定のタイミングでDSP12に伝送される。
【0315】
スイッチ231がオフ、スイッチ232,233がオンである場合について説明する。この場合、N行目のラインの読み出しタイミングでは、画素222の画素信号が、スイッチ233、出力線VSL2を介してカラムADC2に供給される。N行目のラインを構成する各画素において同じ処理が行われるから、N行目のラインの各画素のデータとしてDATA2が撮像部21から出力されることになる。
【0316】
撮像部21からの出力を受信した送信部22においては、N行目のラインの各画素のデータであるDATA2をペイロードに格納するパケットが生成され、所定のタイミングでDSP12に伝送される。
【0317】
また、N+1行目のラインの読み出しタイミングでは、画素221の画素信号が、スイッチ232、出力線VSL1を介してカラムADC1に供給される。N+1行目のラインを構成する各画素において同じ処理が行われるから、N+1行目のラインの各画素のデータとしてDATA1が撮像部21から出力されることになる。
【0318】
撮像部21からの出力を受信した送信部22においては、N+1行目のラインの各画素のデータであるDATA1をペイロードに格納するパケットが生成され、所定のタイミングでDSP12に伝送される。N行目のラインの読み出しタイミングとN+1行目のラインの読み出しタイミングは同じタイミングであってもよいし、違うタイミングであってもよい。
【0319】
以上のように複数のADCが各カラムに設けられる場合、パケットのペイロードに格納される画素データがDATA1とDATA2のうちのいずれのデータであるのかをDSP12側に通知する必要がある。ヘッダに格納される図31のData IDは、ペイロードに格納されている画素データが、DATA1とDATA2のうちのいずれのデータであるのかをDSP12側に通知するために用いられる。
【0320】
図34は、Data IDの値の意味の例を示す図である。例えば以上のようにしてDATA1とDATA2の2つの画素データが各画素から出力可能である場合、Data IDには1ビットが割り当てられる。
【0321】
Data IDの値が0であることは、0の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインのDATA1の画素データが含まれていることを意味する。また、Data IDの値が1であることは、1の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインのDATA2の画素データが含まれていることを意味する。
【0322】
ここで、図35のフローチャートを参照して撮像装置1の処理について説明する。図35の処理は、DATA1とDATA2の2つの画素データが撮像部21から出力される点を除いて、基本的に図26の処理と同様の処理である。
【0323】
ステップS101において、イメージセンサ11の撮像部21は、N行目のデータとしてDATA1とDATA2の2つの画素データを出力するようにして撮像を行う。撮像部21からは、1フレームを構成する1行目から順に、各ラインのDATA1とDATA2の画素データが出力される。
【0324】
ステップS102において、送信部22は、図27のフローチャートを参照して説明したデータ送信処理を行う。データ送信処理により、1ライン分の画素データをペイロードに格納したパケットが生成され、パケットを構成するパケットデータが受信部31に対して送信される。
【0325】
ステップS103において、受信部31は、図28のフローチャートを参照して説明したデータ受信処理を行う。データ受信処理により、送信部22から送信されてきたパケットデータが受信され、ペイロードに格納されている画素データが画像処理部32に出力される。
【0326】
ステップS104において、画像処理部32のフレームデータ出力部141は、1フレームの画像を構成する全てのラインのDATA1とDATA2の画素データの送受信が終了したか否かを判定する。フレームデータ出力部141は、全てのラインのDATA1とDATA2の画素データの送受信が終了していないと判定した場合、ステップS102以降の処理を繰り返し行わせる。
【0327】
全てのラインのDATA1とDATA2の画素データの送受信が終了したとステップS104において判定した場合、ステップS105において、画像処理部32のフレームデータ出力部141は、DATA1とDATA2の画素データに基づいて1フレームの画像を生成する。1フレームの画像の生成は、各ラインのDATA1の画素データを合成することによって、または各ラインのDATA2の画素データを合成することによって行われる。また、DATA1の画素データとDATA2の画素データのうちのいずれかをライン毎に選択し、選択した画素データを合成するようにして1フレームの画像が生成される。
【0328】
ステップS106において、画像処理部32は、1フレームの画像を用いて画像処理を行い、処理を終了させる。
【0329】
[Data IDの使用例]
同じ位置の画素のデータとして複数のデータを取得し、画素データの種類の識別情報を画素データとともにDSP12側に伝送することによって各種の機能を実現することが可能になる。
【0330】
[疑似ワイドダイナミックレンジ機能]
図36は、撮像部21の他の構成例を示す図である。図36の撮像部21からは、各ラインのDATA1の画素データとして低ゲインの画素データが出力され、DATA2の画素データとして高ゲインの画素データが出力される。すなわち、DAC242とDAC252にはそれぞれ異なるゲインが設定されており、各画素から出力された画素信号のA/D変換が異なるゲインを用いて行われる。
【0331】
例えばDSP12においては、高照度域の画素については低ゲインの画素データであるDATA1の方を選択し、低照度域の画素については高ゲインの画素データであるDATA2の方を選択して1フレームの画像が生成される。これにより、低照度時に輝度の高い被写体がある場合であっても白飛びを防ぐことができ、ダイナミックレンジを擬似的に拡張させることが可能になる。1フレーム内の各領域の照度に関する情報は、例えば照度センサにより検出され、DSP12に供給される。
【0332】
1フレーム内の各領域の照度に関する情報が撮像部21に供給される場合、撮像部21から出力されるデータが照度に応じて切り替えられるようにしてもよい。例えば撮像部21は、高照度域のラインの画素については低ゲインの画素データであるDATA1を出力し、低照度域のラインの画素については高ゲインの画素データであるDATA2を出力することになる。これにより、2種類のゲインを用いてDATA1とDATA2を生成し、出力する場合に較べてA/D変換にかかる時間を短縮することが可能になる。
【0333】
なお、図36においては画素222や画素信号の出力先を切り替える選択部212等の図示を省略しているが、N行目の読み出しタイミングでは、N行目の各画素の画素信号がゲインの異なる2つのADCに供給される。
【0334】
図37は、低ゲインの画素データと高ゲインの画素データが撮像部21から出力される場合のData IDの値の意味の例を示す図である。Data IDには1ビットが割り当てられる。
【0335】
Data IDの値が1であることは、1の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインの低ゲインの画素データであるDATA1の画素データが含まれていることを意味する。また、Data IDの値が0であることは、0の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインの高ゲインの画素データであるDATA2の画素データが含まれていることを意味する。
【0336】
これにより、パケットに格納された画素データを受信したDSP12は、同じN行目の画素データであっても、Data IDの値からDATA1の画素データとDATA2の画素データを識別することが可能になる。
【0337】
[マルチスロープ機能]
DAC242とDAC252のA/D変換の分解能をそれぞれ異なるものとし、各画素から出力された画素信号をビット数の異なるデータに変換するようにしてもよい。撮像部21からは、各ラインのDATA1の画素データとして12bitなどのビット数の少ない画素データが出力され、DATA2の画素データとして14bitなどのビット数の多い画素データが出力されることになる。
【0338】
例えばDSP12においては、高照度域の画素についてはビット数の少ない画素データであるDATA1を選択し、低照度域の画素についてはビット数の多い画素データであるDATA2の方を選択して1フレームの画像が生成される。これにより、低照度域の階調を高めることができるとともに、高照度域にショットノイズがのってしまうことを防ぐことができる。照度の高い領域の画素信号に対して高い分解能でA/D変換を行った場合、得られる画像にショットノイズがのってしまうことがある。
【0339】
1フレーム内の各領域の照度に関する情報が撮像部21に供給される場合、撮像部21から出力されるデータが照度に応じて切り替えられるようにしてもよい。例えば撮像部21は、高照度域のラインの画素についてはビット数の少ない画素データであるDATA1を出力し、低照度域のラインの画素についてはビット数の多い画素データであるDATA2を出力することになる。これにより、2種類の分解能を用いてDATA1とDATA2を生成し、出力する場合に較べてA/D変換にかかる時間を短縮することが可能になる。
【0340】
ヘッダに含まれる1ビットのData IDは、DAC242とDAC252の分解能が異なる場合に撮像部21から出力されるデータの種類を識別するためにも用いられる。
【0341】
例えば、Data IDの値が1であることは、1の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインのビット数の少ない画素データであるDATA1の画素データが含まれていることを意味する。また、Data IDの値が0であることは、0の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインのビット数の多い画素データであるDATA2の画素データが含まれていることを意味する。
【0342】
これにより、パケットに格納された画素データを受信したDSP12は、同じN行目の画素データであっても、Data IDの値からDATA1の画素データとDATA2の画素データを識別することが可能になる。
【0343】
[縦分光の撮像素子からの画素データの伝送機能]
図38は、撮像部21の他の構成例を示す図である。図38の撮像部21は、いわゆる縦分光型のイメージセンサである。画素アレイ部211を構成する各画素は、画素の厚み方向(光が入射する方向)にRGBのそれぞれのセンサが積層して配置されることによって構成される。
【0344】
図38に示す画素221には、フォトセンサB(B画素)、フォトセンサR(R画素)、フォトセンサG(G画素)が設けられている。各フォトセンサの出力をADC213に供給するタイミングが制御部201により制御される。
【0345】
図39は、各フォトセンサの出力をADC213に供給するタイミングの例を示す図である。図39の例においては、N行目のラインの読み出し期間中の時刻t1から時刻t2までの期間にフォトセンサGの出力がADC213に供給され、時刻t3から時刻t4までの期間にフォトセンサRの出力がADC213に供給される。また、時刻t5から時刻t6までの期間にフォトセンサBの出力がADC213に供給される。各フォトセンサの出力をADC213に供給する順序は任意である。
【0346】
フォトセンサGから出力された画素信号に対しては、比較器241、DAC242、およびカウンタ243からなるカラムADC1によりA/D変換が行われ、A/D変換により得られたG画素のデータがDATA1として出力される。また、フォトセンサRから出力された画素信号に対しては、比較器251、DAC252、およびカウンタ253からなるカラムADC2によりA/D変換が行われ、A/D変換により得られたR画素のデータがDATA2として出力される。フォトセンサBから出力された画素信号に対しては、比較器261、DAC262、およびカウンタ263からなるカラムAD32によりA/D変換が行われ、A/D変換により得られたB画素のデータがDATA3として出力される。
【0347】
撮像部21からの出力を受信した送信部22においては、N行目のラインの各画素について、G画素のデータであるDATA1をペイロードに格納するパケットと、R画素のデータであるDATA2をペイロードに格納するパケットと、B画素のデータであるDATA3をペイロードに格納するパケットがそれぞれ生成される。また、生成されたパケットが所定のタイミングでDSP12に伝送される。
【0348】
ヘッダに含まれるData IDは、各パケットのペイロードに格納される画素データがRGBのどの画素のデータであるのかを識別するために用いられる。この場合、Data IDには例えば2ビット(P=2)が割り当てられる。
【0349】
図40は、撮像部21が縦分光型のイメージセンサである場合のData IDの値の意味の例を示す図である。
【0350】
Data IDの値が00であることは、00の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインのG画素のデータであるDATA1の画素データが含まれていることを意味する。また、Data IDの値が01であることは、01の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインのR画素のデータであるDATA2の画素データが含まれていることを意味する。Data IDの値が10であることは、10の値が設定されたData IDをヘッダに含むパケットのペイロードに所定の1ラインのB画素のデータであるDATA3の画素データが含まれていることを意味する。
【0351】
これにより、パケットに格納された画素データを受信したDSP12は、同じN行目の画素データであっても、Data IDの値からRGBのそれぞれの画素データを識別することが可能になる。
【0352】
[他の使用例]
図41は、画素アレイ部211を構成する画素の例を示す図である。図41に示す各画素はハニカム構造の画素であり、各画素は、感度とダイナミックレンジが異なるR画素とS画素から構成される。
【0353】
N行目の読み出しタイミングにおいては、R画素のデータをペイロードに含むパケットと、S画素のデータをペイロードに含むパケットが送信部22によりそれぞれ生成される。R画素のデータをペイロードに含むパケットのヘッダのData IDには、ペイロードに含まれるデータがR画素のデータであることを表す値が設定される。また、S画素のデータをペイロードに含むパケットのヘッダのData IDには、ペイロードに含まれるデータがS画素のデータであることを表す値が設定される。
【0354】
パケットに格納された画素データを受信したDSP12は、同じN行目の画素データであっても、Data IDの値から、R画素のデータとS画素のデータをそれぞれ識別することができ、ハニカム構造の各画素の画素データを生成することが可能になる。
【0355】
図42は、それぞれ異なる露光時間(シャッタスピード)によって得られた画素データをDATA1、DATA2として出力する場合の例を示す図である。撮像部21の構成は、図33に示すようなDATA1、DATA2の2つのデータを各画素から出力可能な構成となる。
【0356】
例えば、DATA1はシャッタスピードを30fpsとして得られた画素データであり、DATA2はシャッタスピードを240fpsとして得られた画素データである。DATA1は、デジタルカメラなどの撮影装置において静止画の撮影前にディスプレイに表示するプレビュー用の画像のデータとして用いられ、DATA2は、コントラストAF(Auto Focus)を行うためのコントラスト解析用の画像のデータとして用いられる。
【0357】
図42A、図42Bは、読み出しのタイミングの例を示す図である。制御部201は、画素アレイ部111を制御して、N行目の各画素の画素信号を30fpsで読み出し(Read1/2)、得られた画素データをDATA1として出力する。また、制御部201は、同じN行目の別画素の画素信号を240fpsで読み出し(Read3/4)、得られた画素データをDATA2として出力する。
【0358】
水平同期信号XHSの1周期の期間と30fpsの読み出し期間とが等しいとすると、8周期分の期間においては、DATA1の出力は1回行われ、DATA2の出力は8回行われることになる。DATA1の読み出しを行うカラムADCの動作を7周期の期間分停止させることができ、DATA1の読み出しを続ける場合に較べて撮像部21の消費電力を抑えることが可能になる。
【0359】
パケットのヘッダに含まれる1ビットのData IDは、ペイロードに含まれるデータが、シャッタスピードを30fpsとして得られたDATA1であるのか、240fpsとして得られたDATA2であるのかを識別するために用いられる。
【0360】
例えば、Data IDの値が1であることは、1の値が設定されたData IDをヘッダに含むパケットのペイロードにシャッタスピードを30fpsとして得られた所定の1ラインのDATA1の画素データが含まれることを意味する。また、Data IDの値が0であることは、0の値が設定されたData IDをヘッダに含むパケットのペイロードにシャッタスピードを240fpsとして得られた所定の1ラインのDATA2の画素データが含まれることを意味する。
【0361】
これにより、パケットに格納された画素データを受信したDSP12は、同じN行目の画素データであっても、Data IDの値からDATA1の画素データとDATA2の画素データを識別することができる。また、DSP12は、プレビュー画像の表示とオートフォーカスのためのコントラストの解析を行うことが可能になる。
【0362】
画素アレイ部211を構成する画素として位相差検出用の画素と撮影用の画素が設けられているイメージセンサがある。位相差検出用の画素により検出された画素データは、DSP12側において位相差AFを行うために用いられる。この場合、Data IDは、ペイロードに格納される画素データが位相差検出用の画素の画素データであるのか、撮影用の画素の画素データであるのかを識別するため用いられる。
【0363】
[Region Numberの使用例]
図43は、イメージセンサ11の構成例を示す図である。
【0364】
図43の例においては、イメージセンサ11の画素アレイ部211が右上領域A1、右下領域A2、左上領域A3、および左下領域A4の4つの領域に分けられている。画素アレイ部211が4000×2000(横×縦)の画素から構成されるものとすると、例えば、右上領域A1は、1行目を基準として、1行目から1000行目までの範囲にある画素のうち、2001列目より右側にある画素を含む領域となる。また、右下領域A2は、最終行(2000行目)を基準として、2000行目から1001行目までの範囲にある画素のうち、2001列目より右側にある画素を含む領域となる。右上領域A1と左上領域A3を構成する画素の画素信号の読み出しは領域毎に1行目から順に行われ、右下領域A2と左下領域A4を構成する画素の画素信号の読み出しは領域毎に最終行から順に行われる。
【0365】
右上領域A1乃至A4を構成する各画素の画素信号は、ADC213−1乃至213−4にそれぞれ供給される。
【0366】
ADC213−1乃至213−4は、図33のADC213と同様にカラムADCを有している。ADC213−1は、画素アレイ部211の右上領域A1から供給された画素信号のA/D変換を行い、画素データをDATA1として出力する。上述したように異なる2つのデータがADC213−1から出力されるようにしてもよい。ADC213−1から出力されたDATA1は転送部271−1を介して送信部22−1に供給される。
【0367】
ADC213−2乃至213−4も同様に、それぞれ、右下領域A2乃至左下領域A4から供給された画素信号のA/D変換を行い、画素データを出力する。ADC213−2から出力されたDATA2は転送部271−2を介して送信部22−2に供給され、ADC213−3から出力されたDATA3は転送部271−3を介して送信部22−3に供給される。また、ADC213−4から出力されたDATA4は転送部271−4を介して送信部22−4に供給される。
【0368】
送信部22−1乃至22−4は、図5に示す送信部22の構成と同じ構成を有する。送信部22−1は、右上領域A1の画素データであるDATA1をペイロードに格納するパケットを生成し、出力する。送信部22−1が生成するパケットのヘッダに含まれるRegion NumberとLine Numberには、ペイロードに格納される画素データが右上領域A1の画素データ(DATA1)であることを示す値が設定される。
【0369】
送信部22−2乃至22−4も同様に、それぞれ、DATA2乃至4をペイロードに格納するパケットを生成し、出力する。送信部22−2が生成するパケットのヘッダに含まれるRegion NumberとLine Numberには、ペイロードに格納される画素データが右下領域A2の画素データ(DATA2)であることを示す値が設定される。また、送信部22−3が生成するパケットのヘッダに含まれるRegion NumberとLine Numberには、ペイロードに格納される画素データが左上領域A3の画素データ(DATA3)であることを示す値が設定される。送信部22−4が生成するパケットのヘッダに含まれるRegion NumberとLine Numberには、ペイロードに格納される画素データが左下領域A4の画素データ(DATA4)であることを示す値が設定される。
【0370】
図44は、Region Numberの値の意味の例を示す図である。例えば画素アレイ部211が4つの領域から構成される場合、Region Numberには1ビットが割り当てられる。
【0371】
Region Numberの値が0であることは、0の値が設定されたRegion Numberをヘッダに含むパケットのペイロードに、左側(1列目〜2000列目)の領域の所定の1ラインの画素データが含まれることを意味する。また、Region Numberの値が1であることは、1の値が設定されたRegion Numberをヘッダに含むパケットのペイロードに、右側(2001列目〜4000列目)の領域の所定の1ラインの画素データが含まれることを意味する。
【0372】
図45は、送信部22−1乃至22−4により生成されるパケットの例を示す図である。
【0373】
図45の最上段に示すように、右上領域A1の1行目の画素データをペイロードに格納するパケットのヘッダのLine Numberには1行目を表す値が設定され、Region Numberには右側の領域であることを表す1の値が設定される。また、右下領域A2の最終行の画素データをペイロードに格納するパケットのヘッダのLine Numberには最終行を表す値が設定され、Region Numberには右側の領域であることを表す1の値が設定される。
【0374】
左上領域A3の1行目の画素データをペイロードに格納するパケットのヘッダのLine Numberには1行目を表す値が設定され、Region Numberには左側の領域であることを表す0の値が設定される。また、最下段に示すように、左下領域A4の最終行の画素データをペイロードに格納するパケットのヘッダのLine Numberには最終行を表す値が設定され、Region Numberには左側の領域であることを表す0の値が設定される。
【0375】
最上段のパケットを受信したDSP12は、Line Numberの値として1〜1000行目を表す値が設定されており、Region Numberの値として右側を示す1の値が設定されていることから、ペイロードに格納される画素データがDATA1であると識別することができる。
【0376】
また、最下段のパケットを受信したDSP12は、Line Numberの値として1001〜2000行目を表す値が設定されており、Region Numberの値として左側を示す0の値が設定されていることから、ペイロードに格納される画素データがDATA4であると識別することができる。
【0377】
DSP12は、識別した各領域、各ラインの画素データを合成し、4000×2000画素からなる1フレームの画像を取得することができる。図45の例においてはLine NumberとRegion Numberの組み合わせによってペイロードに格納される画素データの位置が識別されるものとしたが、Region Numberに複数ビットを割り当て、Region Numberの値の組み合わせによって識別されるようにしてもよい。
【0378】
このように、各領域の画素データがイメージセンサ11から出力される場合であっても、DSP12は伝送されてきたデータの種類をRegion Numberから識別することができ、データの受信を1つの受信部31で実現することができる。
【0379】
[その他]
図46は、Line Numberの使用例を示す図である。図46に示すように、N行目の画素データをペイロードに格納するパケットのLine Numberにはそのことを表す値が設定され、N+1行目の画素データをペイロードに格納するパケットのLine Numberにはそのことを表す値が設定される。N+2行目の画素データをペイロードに格納するパケットのLine Numberにはそのことを表す値が設定され、N+3行目の画素データをペイロードに格納するパケットのLine Numberにはそのことを表す値が設定される。
【0380】
<2.第2の実施の形態(画素データに限らず、所定のデータを伝送する例)>
上述した複数のレーンを使ったチップ間のデータ伝送は、画像データだけでなく各種のデータの伝送にも用いることができる。
【0381】
以下、適宜、CMOSなどのイメージセンサから出力された画素データの伝送に用いられる上述したI/FをCIS(CMOS Image Sensor) I/Fといい、各種のデータの伝送に用いられるIFを汎用IFという。汎用I/Fを用いて、画像データだけでなく、オーディオデータ、テキストデータなどの各種のデータが送信側のチップから受信側のチップに対して伝送される。
【0382】
[伝送システムの構成例]
図47は、汎用I/Fを用いた伝送システムの第1の構成例を示す図である。
【0383】
図47の伝送システム301は送信側LSI311と受信側LSI312から構成される。送信側LSI311と受信側LSI312は例えば同じ装置内に設けられる。送信側LSI311には情報処理部321と1つの送信部322が設けられ、受信側LSI312には1つの受信部331と情報処理部332が設けられている。
【0384】
送信側LSI311の情報処理部321は、各種のデータの処理を行い、送信対象のデータを送信部322に出力する。情報処理部321からは、8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144ビットなどの各種のビット幅のデータが出力される。
【0385】
送信部322は、情報処理部321から供給されたデータを、例えば情報処理部321から供給された順に複数のレーンに割り当て、並列に受信側LSI312に送信する。図47の例においても、8本のレーンを用いてデータの伝送が行われている。送信側LSI311と受信側LSI312の間の伝送路は有線の伝送路であってもよいし、無線の伝送路であってもよい。
【0386】
受信側LSI312の受信部331は、8本のレーンを介して送信部322から送信されてきたデータを受信し、情報処理部332に出力する。
【0387】
情報処理部332は、受信部331から供給されたデータに基づいて、送信側LSI311側において送信対象として選択されたデータを生成し、生成したデータを用いて各種の処理を行う。送信対象のデータが例えばオーディオデータである場合、オーディオデータの再生、圧縮などの処理が行われる。
【0388】
図48は、伝送システム301の第2の構成例を示す図である。図48に示す構成のうち、図47に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0389】
図48の伝送システム301の送信側LSI311には、情報処理部321と、2つの送信部である送信部322−1,322−2が設けられ、受信側LSI312には、2つの受信部である受信部331−1,331−2と、情報処理部332が設けられている。
【0390】
情報処理部321は、送信対象のデータを分割し、送信部322−1と送信部322−2に出力する。
【0391】
送信部322−1は、情報処理部321から供給されたデータを、例えば情報処理部321から供給された順に複数のレーンに割り当て、受信側LSI312に送信する。送信部322−2も同様に、情報処理部321から供給されたデータを、例えば情報処理部321から供給された順に複数のレーンに割り当て、受信側LSI312に送信する。
【0392】
図48の例においても送信側LSI311と受信側LSI312の間は8本のレーンを介して接続されている。送信部322−1と送信部322−2は、それぞれ、4本のレーンを用いてデータを伝送する。
【0393】
受信側LSI312の受信部331−1は、4本のレーンを介して送信部322−1から送信されてきたデータを受信し、情報処理部332に出力する。受信部331−2も同様に、4本のレーンを介して送信部322−2から伝送されてきたデータを受信し、情報処理部332に出力する。
【0394】
情報処理部332は、受信部331−1から供給されたデータと受信部331−2から供給されたデータに基づいて送信対象のデータを生成し、生成したデータを対象として各種の処理を行う。
【0395】
図48に示すように送信側LSI311に2つの送信部を設け、それに対応させて2つの受信部を受信側LSI312に設けることにより、情報処理部321が出力するデータの伝送レートが高い場合であってもデータを受信側LSI312に伝送することが可能になる。
【0396】
図49は、伝送システム301の第3の構成例を示す図である。図49に示す構成のうち、図47に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0397】
図49の伝送システム301においては、送信側のLSIとして、送信側LSI311−1と送信側LSI311−2の2つのLSIが設けられている。送信側LSI311−1には情報処理部321−1と1つの送信部である送信部322−1が設けられ、送信側LSI311−2には情報処理部321−2と1つの送信部である送信部322−2が設けられる。受信側LSI312には、図48の場合と同様に、2つの受信部である受信部331−1,331−2と、情報処理部332が設けられている。
【0398】
送信側LSI311−1の情報処理部321−1は、送信対象のデータを送信部322−1に出力する。
【0399】
送信部322−1は、情報処理部321−1から供給されたデータを複数のレーンに割り当て、受信側LSI312に送信する。
【0400】
送信側LSI311−2の情報処理部321−2は、送信対象のデータを送信部322−2に出力する。
【0401】
送信部322−2は、情報処理部321−2から供給されたデータを複数のレーンに割り当て、受信側LSI312に送信する。
【0402】
図49の例においても送信側のLSIである送信側LSI311と受信側のLSIである受信側LSI312の間は8本のレーンを介して接続されている。送信側LSI311−1と送信側LSI311−2にはそれぞれ4本のレーンが割り当てられ、送信部322−1と送信部322−2は、それぞれ、4本のレーンを用いてデータを伝送する。
【0403】
受信側LSI312の受信部331−1は、4本のレーンを介して送信側LSI311−1の送信部322−1から伝送されてきたデータを受信し、情報処理部332に出力する。受信部331−2も同様に、4本のレーンを介して送信側LSI311−2の送信部322−2から伝送されてきたデータを受信し、情報処理部332に出力する。
【0404】
情報処理部332は、受信部331−1から供給されたデータに基づいて、送信側LSI311−1において送信対象として選択されたデータを生成する。また、送信部322は、受信部331−2から供給されたデータに基づいて、送信側LSI311−2において送信対象として選択されたデータを生成する。画像処理部332は、生成したデータを用いて各種の処理を行う。
【0405】
以上のように、伝送システム301の送信側のLSIには、データを伝送する送信部が1つまたは複数設けられる。一方、受信側のLSIには、送信側のLSIの送信部に対応して、データを受信する受信部が1つまたは複数設けられる。
【0406】
以下、送信側LSI311に1つの送信部が設けられ、受信側LSI312に1つの受信部が設けられる図47の伝送システム301におけるデータ伝送について説明する。図48と図49の送信部322−1−受信部331−1間、送信部322−2−受信部331−2間においても同様にしてデータ伝送が行われる。
【0407】
[パケットのデータ構造の例]
図50A乃至Dは、データ伝送に用いられるパケットのデータ構造の例を示す図である。
【0408】
図50Aは、CIS IFにおいて画素データの伝送に用いられるパケットの例を示す図である。CIS IFの1パケットは、ヘッダ、1ライン分の画素データを含むペイロード、および、適宜付加されるフッタから構成される。CIS IFの1パケットの先頭にはStart Codeが付加され、フッタの後ろにはEnd Codeが付加される。
【0409】
図50B乃至Dは、汎用IFにおいて各種のデータの伝送に用いられるパケットの例を示す図である。汎用IFの1パケットはペイロードのみから構成される。後述するように、送信部322においては、情報処理部321から供給された8〜144ビット単位の送信対象のデータを所定のサイズ毎に区切ることによってペイロードデータが生成される。パケットサイズは、入力データのビット幅である8〜144ビットと、128ビットとの公倍数となるビット数であり、Configuration Registerに設定された値によって指定される。
【0410】
Configuration Registerに設定された値により指定されたパケットサイズと同じサイズのパケットを生成し、データを伝送する場合、図50Bに示す通常パケットが用いられる。
【0411】
また、Configuration Registerに設定された値により指定されたパケットサイズより短いパケットを生成し、データを伝送する場合、図50Cまたは図50Dに示すショートパケットが用いられる。例えば、ペイロード長が128ビットの倍数である場合には図50Cのショートパケット(1)が用いられ、ペイロード長が128ビットの倍数でない場合には図50Dのショートパケット(2)が用いられる。図50Cのショートパケットと図50Dのショートパケットは、後ろに付加されるEnd Codeによって識別される。
【0412】
[送信側LSI311と受信側LSI312の構成]
図51は、送信側LSI311と受信側LSI312の構成例を示す図である。
【0413】
図51の左側に示す構成が送信側LSI311の構成であり、右側に示す構成が受信側LSI312の構成である。汎用IFのデータ伝送は、アプリケーションレイヤ、アダプテーションレイヤ、リンクレイヤ、および物理レイヤの各レイヤの構成により実現される。
【0414】
実線L1の上に示す構成がアプリケーションレイヤの構成である。情報処理部321においては、システム制御部341、データ入力部342、およびレジスタ343が実現される。
【0415】
システム制御部341は、汎用IFによるデータの伝送を制御する。例えばシステム制御部341は、データ入力部342が送信対象のデータを出力している間、入力されたデータが有効なデータであることを表す制御信号を送信部322のペイロードデータ生成部351に出力する。データ入力部342は、送信対象のデータを8〜144ビットの所定のビット単位でペイロードデータ生成部351に出力する。レジスタ343は上述したConfiguration Registerであり、パケットサイズ、Lane数等の各種の情報を記憶する。
【0416】
一方、情報処理部332においては、システム制御部441、データ出力部442、およびレジスタ443が実現される。
【0417】
システム制御部441は、汎用IFによるデータの受信を制御する。例えばシステム制御部441は、レジスタ443に設定されている値により指定されるパケットサイズの情報をペイロードデータ取得部431に出力する。データ出力部442は、ペイロードデータ取得部431から供給されたデータを取得し、図示せぬデータ処理部に出力する。レジスタ443はパケットサイズ、Lane数等の各種の情報を記憶する。
【0418】
[送信部322のアダプテーションレイヤの構成]
送信側LSI311のアダプテーションレイヤの構成について説明する。送信部322は、ペイロードデータ生成部351をアダプテーションレイヤの構成として有する。
【0419】
ペイロードデータ生成部351は、データ入力部342から所定のビット単位で供給された送信対象のデータをパケットサイズと同じサイズ毎に区切り、Byte Packing部362に出力する。ペイロードデータ生成部351からByte Packing部362に対しては、送信対象のデータを構成する所定のビット単位のデータが、パケットサイズと同じサイズ毎にまとめて出力されることになる。ペイロードデータ生成部351は、パケットサイズに満たない例えば送信対象のデータの最後のデータについては、そのままByte Packing部362に出力する。
【0420】
また、ペイロードデータ生成部351は、制御信号がオフとなり、データの入力が所定の時間以上ないことを検出した場合、パケットを構成する最後のデータの入力タイミングを表すタイミング信号であるPacket End信号をByte Packing部362に出力する。なお、ペイロードデータ生成部351は、図7、図32等を参照して説明したヘッダ情報を受信側LSI312に送信する場合、ヘッダ情報をパケット生成部364に出力する。汎用IFにおいては、ヘッダ情報についても、ペイロードデータとして送信される。
【0421】
[送信部322のリンクレイヤの構成]
送信部322は、Byte Packing部362、ペイロードECC挿入部363、パケット生成部364、およびレーン分配部365をリンクレイヤの構成として有する。
【0422】
Byte Packing部362は、ペイロードデータ生成部351から供給されたデータを、Byte Packing部362以降の各処理部が処理単位とする16バイトなどの所定の単位のパッキングデータに変換する。Byte Packing部362は、変換して得られたパッキングデータをペイロードECC挿入部363に出力する。
【0423】
図52は、Byte Packing部362によるデータ変換であるByte Packingの例を示す図である。
【0424】
図52の例においては、1パケットを構成するデータとしてペイロードデータ生成部351により制御信号に従って区切られたData1乃至Data8がByte Packing部362に入力されている。データ入力部342からペイロードデータ生成部351に対しては、80ビット単位でデータの入力が行われたものとされている。
【0425】
この場合、Byte Packing部362は、Data1乃至Data8の各ビットを入力順に16バイト(128ビット)単位のパッキングデータの各ビットに割り当てることによって、5つのパッキングデータを生成する。例えば1つ目のパッキングデータは、Data1の1〜80ビットとData2の1〜48ビットを含むデータになる。
【0426】
図53は、Byte Packing部362によるByte Packingの他の例を示す図である。
【0427】
図53の例においては、1パケットを構成するデータとしてペイロードデータ生成部351により制御信号に従って区切られたData1乃至Data5がByte Packing部362に入力されている。Data5の入力タイミングに合わせて、ペイロードデータ生成部351からByte Packing部362にPacket End信号が入力されている。Packet End信号が供給されたことに応じて、Byte Packing部362は、Data5が、1パケットを構成する最後のデータであることを認識することができる。
【0428】
この場合、Byte Packing部362は、Data1乃至Data5の各ビットを入力順にパッキングデータの各ビットに割り当てることによって、Data1全体とData2の先頭から途中までのデータを含む1つ目のパッキングデータを生成する。また、Byte Packing部362は、Data2の途中から最後までのデータと、Data3全体と、Data4の先頭から途中までのデータとを含む2つ目のパッキングデータを生成する。Byte Packing部362は、Data4の途中から最後までのデータと、Data5の先頭から途中までのデータとを含む3つ目のパッキングデータを生成する。
【0429】
Byte Packing部362は、Data5の最後のビットである80ビット目を4つ目のパッキングデータに割り当てたとき、それ以降、ダミーデータを挿入することによって16バイトの4つ目のパッキングデータを生成する。すなわち、16バイトに満たない分はダミーデータ(ダミービット)を付加するようにしてパッキングデータが生成される。ダミーデータは例えば全て値が0のビットである。
【0430】
また、Byte Packing部362は、ダミーデータが付加された4つ目のパッキングデータに続く5つ目のパッキングデータとして、4つ目のパッキングデータに含まれるダミーデータのビット数を表す8ビットをLSB側に含むパッキングデータを生成する。5つ目のパッキングデータの1ビット目から120ビット目までにはダミーデータが含まれる。
【0431】
このようなデータを受信した受信部331は、5つ目のパッキングデータに120ビットのダミーデータが含まれていることに基づいて、1つ前のパッキングデータである4つ目のパッキングデータにダミーデータが付加されていることを特定することができる。また、受信部331は、120ビットのダミーデータに続く8ビットにより表されるビット数に基づいて、4つ目のパッキングデータに付加されているダミーデータのビット数を特定し、有効データのみを抽出することが可能になる。
【0432】
図54は、Byte Packing処理のシーケンスを示す図である。
【0433】
図54の例においては、時刻t11からt14の期間と時刻t15以降、情報処理部321のシステム制御部341から供給される制御信号がオンになっている。また、制御信号がオンになることに合わせて、所定のビット単位の送信対象のデータであるData1乃至Data4がデータ入力部342から供給される。Data1乃至Data3に注目すると、時刻t11からt12の期間にData1が供給され、時刻t12からt13の期間にData2が供給され、時刻t13からt14の期間にData3が供給されている。パケットを構成する最後のデータであることを表すPacket End信号が、Data3の入力が終わったタイミングで入力されている。Data1乃至Data4は、それぞれ16バイト以上のサイズを有するデータでる。
【0434】
この場合、Byte Packing部362は、Data1の先頭から途中までの範囲aのデータを含むパッキングデータPD1を生成する。また、Byte Packing部362は、Data1の途中からData1の最後までの範囲bのデータと、Data2の先頭から途中までの範囲cのデータを含むパッキングデータPD2を生成する。
【0435】
Byte Packing部362は、Data2の途中からData2の最後までの範囲dのデータと、Data3の先頭から途中までの範囲eのデータを含むパッキングデータPD3を生成する。Byte Packing部362は、Data3の途中からData3の最後までの範囲fのデータについては、ダミーデータを加え、16バイトのパッキングデータPD4を生成する。図54において斜線を付して示す範囲のデータはダミーデータである。
【0436】
また、Byte Packing部362は、パッキングデータPD4に続けて、パッキングデータPD4に付加したダミーデータのビット数を表すビットを最後に含む16バイトのパッキングデータを生成する。
【0437】
例えば、ダミーデータが付加されたパッキングデータPD4を含む、パッキングデータPD1〜PD4からなるパケットは、図50Cまたは図50Dのショートパケットとして送信される。ショートパケットには、ダミーデータのビット数を表すビットが最後に付加されたパッキングデータも含まれる。
【0438】
ダミーデータを含めずに、制御信号がオンの期間に入力された有効なデータのみをパッキングデータに含め、通常パケットとして送信する場合について考える。この場合、Packet End信号が供給されたタイミングで、パッキングデータを有効なデータで満たすことができないときには、Data4が入力されるまで、パッキングデータに含めることができなかったData3の範囲fのデータを出力することができない。Packet End信号が供給されたタイミングでパッキングデータを有効なデータで満たすことができない場合にはダミーデータを付加して出力することにより、データの出力に遅延が生じてしまうのを防ぐことが可能になる。
【0439】
このようにして生成されたパッキングデータから構成されるデータが、Byte Packing部362から図51のペイロードECC挿入部363にペイロードデータとして供給される。
【0440】
ペイロードECC挿入部363は、Byte Packing部362から供給されたペイロードデータに基づいて、ペイロードデータの誤り訂正に用いられる誤り訂正符号を計算し、計算により求めたパリティをペイロードデータに挿入する。誤り訂正符号として、例えばリードソロモン符号が用いられる。なお、誤り訂正符号の挿入はオプションである。
【0441】
図55は、ペイロードデータに対するパリティの挿入の例を示す図である。
【0442】
ペイロードECC挿入部363は、Byte Packing部362から供給された順に14のパッキングデータを集めることによって224バイトのBasic Blockを生成する。また、ペイロードECC挿入部363は、224バイトのペイロードデータに基づいて2バイト乃至4バイトのパリティを生成し、ペイロードデータに挿入することによって、パリティが挿入された226バイト乃至228バイトのBasic Blockを生成する。
【0443】
図55の例においては、1番目から14番目までのパッキングデータからなるペイロードデータに対してParity1が生成され、付加されている。図55において斜線を付して示すデータがパリティである。
【0444】
ペイロードECC挿入部363は、あるBasic Blockに続くペイロードデータのサイズが224バイトに満たない場合、残っているペイロードデータに基づいてExtra Blockを生成する。上述したダミーデータの挿入により、Extra Blockの情報長は常に16バイトの倍数となる。また、ペイロードECC挿入部363は、Extra Blockを構成するペイロードデータに基づいて2バイト乃至4バイトのパリティを生成し、ペイロードデータに挿入することによって、パリティが挿入されたExtra Blockを生成する。
【0445】
図55の例においては、N番目からN+M番目までのペイロードデータに対してParityMが生成され、付加されている。
【0446】
ペイロードECC挿入部363は、パリティを挿入したペイロードデータをパケット生成部364に出力する。パリティの挿入が行われない場合、Byte Packing部362からペイロードECC挿入部363に供給されたペイロードデータは、そのままパケット生成部364に出力される。
【0447】
パケット生成部364は、ペイロードECC挿入部363から供給されたデータをペイロードデータとするパケットを生成する。パケット生成部364は、生成したパケットのデータをレーン分配部365に出力する。
【0448】
レーン分配部365は、パケット生成部364から供給されたパケットデータを、先頭の1バイトから順にバイト単位で、Lane0、Lane1、…、Lane(LaneNum-1)、Lane1、…といったようにデータ伝送に用いる各レーンに割り当てる。パケット長とLane数によっては各レーンに均等にデータを分配できないことがある。この場合、レーン分配部365は、各レーンに均等にデータが分配されるように、Lane Stuffingとして00hを挿入する。
【0449】
レーン分配部365は、このようにして各レーンに割り当てたパケットデータを物理レイヤに出力する。以下、Lane0〜7の8レーンを用いてデータを伝送する場合について主に説明するが、データ伝送に用いるレーンの数が他の数の場合であっても同様の処理が行われる。
【0450】
[送信部322の物理レイヤの構成]
送信部322は、PHY-TX状態制御部381、クロック生成部382、信号処理部383−0乃至383−Nを物理レイヤの構成として有する。送信部322の物理レイヤの構成は、図5を参照して説明したCIS-IFにおける送信部22の物理レイヤの構成と同じ構成である。重複する説明については適宜省略する。
【0451】
信号処理部383−0は、制御コード挿入部391、8B10Bシンボルエンコーダ392、同期部393、および送信部394から構成される。レーン分配部365から出力され、Lane0に割り当てられたパケットデータは信号処理部383−0に入力され、Lane1に割り当てられたパケットデータは信号処理部383−1に入力される。また、LaneNに割り当てられたパケットデータは信号処理部383−Nに入力される。
【0452】
PHY-TX状態制御部381は、信号処理部383−0乃至383−Nの各部を制御する。
【0453】
クロック生成部382は、クロック信号を生成し、信号処理部383−0乃至383−Nのそれぞれの同期部393に出力する。
【0454】
信号処理部383−0の制御コード挿入部391は、レーン分配部365から供給されたパケットデータにStart Code、End Codeなどの制御コードを付加する。制御コード挿入部391は、制御コードを付加したパケットデータを8B10Bシンボルエンコーダ392に出力する。
【0455】
8B10Bシンボルエンコーダ392は、制御コード挿入部391から供給されたパケットデータ(制御コードが付加されたパケットデータ)に対して8B10B変換を施し、10ビット単位のデータに変換したパケットデータを同期部393に出力する。
【0456】
同期部393は、8B10Bシンボルエンコーダ392から供給されたパケットデータの各ビットを、クロック生成部382により生成されたクロック信号に従って送信部394に出力する。
【0457】
送信部394は、Lane0を構成する伝送路を介して、同期部393から供給されたパケットデータを受信部331に送信する。8レーンを用いてデータ伝送が行われる場合、Lane1〜7を構成する伝送路をも用いてパケットデータが受信部331に送信される。
【0458】
[受信部331の物理レイヤの構成]
次に、受信側LSI312の受信部331の物理レイヤの構成について説明する。受信部331は、PHY-RX状態制御部401、信号処理部402−0乃至402−Nを物理レイヤの構成として有する。受信部331の物理レイヤの構成は、図5を参照して説明したCIS-IFにおける受信部31の物理レイヤの構成と同じ構成である。重複する説明については適宜省略する。
【0459】
信号処理部402−0は、受信部411、クロック生成部412、同期部413、シンボル同期部414、10B8Bシンボルデコーダ415、スキュー補正部416、および制御コード除去部417から構成される。Lane0を構成する伝送路を介して送信されてきたパケットデータは信号処理部402−0に入力され、Lane1を構成する伝送路を介して送信されてきたパケットデータは信号処理部402−1に入力される。また、LaneNを構成する伝送路を介して送信されてきたパケットデータは信号処理部402−Nに入力される。
【0460】
受信部411は、Lane0を構成する伝送路を介して送信部322から伝送されてきたパケットデータを表す信号を受信し、クロック生成部412に出力する。
【0461】
クロック生成部412は、受信部411から供給された信号のエッジを検出することによってビット同期をとり、エッジの検出周期に基づいてクロック信号を生成する。クロック生成部412は、受信部411から供給された信号を、クロック信号とともに同期部413に出力する。
【0462】
同期部413は、クロック生成部412により生成されたクロック信号に従って、受信部411において受信された信号のサンプリングを行い、サンプリングによって得られたパケットデータをシンボル同期部414に出力する。
【0463】
シンボル同期部414は、例えばStart Code, End Code, Deskew Codeに含まれるK28.5のシンボルを検出し、シンボル同期をとる。シンボル同期部414は、各シンボルを表す10ビット単位のパケットデータを10B8Bシンボルデコーダ415に出力する。
【0464】
10B8Bシンボルデコーダ415は、シンボル同期部414から供給された10ビット単位のパケットデータに対して10B8B変換を施し、8ビット単位のデータに変換したパケットデータをスキュー補正部416に出力する。
【0465】
スキュー補正部416は、10B8Bシンボルデコーダ415から供給されたパケットデータからDeskew Codeを検出する。スキュー補正部416によるDeskew Codeの検出タイミングの情報はPHY-RX状態制御部401に供給される。また、スキュー補正部416は、Deskew Codeのタイミングを、PHY-RX状態制御部401から供給された情報により表されるタイミングに合わせるようにしてレーン間のData Skewを補正する。
【0466】
信号処理部402−1乃至402−Nのそれぞれにおいて同様の処理が行われることによって、図25を参照して説明したようにしてレーン間のData Skewが補正される。
【0467】
スキュー補正部416は、Data Skewを補正したパケットデータを制御コード除去部417に出力する。
【0468】
制御コード除去部417は、パケットデータに付加された制御コードを除去し、Start CodeからEnd Codeまでの間のデータをパケットデータとしてリンクレイヤに出力する。
【0469】
PHY-RX状態制御部401は、信号処理部402−0乃至402−Nの各部を制御し、レーン間のData Skewの補正などを行わせる。
【0470】
[受信部331のリンクレイヤの構成]
受信部331は、レーン統合部422、パケット分離部423、ペイロードエラー訂正部424、およびByte Unpacking部425をリンクレイヤの構成として有する。
【0471】
レーン統合部422は、物理レイヤの信号処理部402−0乃至402−Nから供給されたデータを、送信部322のレーン分配部365による各レーンへの分配順と逆順で並び替えることによって統合する。レーン統合部422は、統合して得られたパケットデータをパケット分離部423に出力する。
【0472】
パケット分離部423は、レーン統合部422により統合されたパケットデータをペイロードデータとしてペイロードエラー訂正部424に出力する。ペイロードデータとしてヘッダ情報が含まれている場合、パケット分離部423は、ペイロードから抽出したヘッダ情報をペイロードデータ取得部431に出力する。
【0473】
ペイロードエラー訂正部424は、パケット分離部423から供給されたペイロードデータにパリティが挿入されている場合、パリティに基づいて誤り訂正演算を行うことによってペイロードデータのエラーを検出し、エラーの訂正を行う。例えば、図55に示すようにしてパリティが挿入されている場合、ペイロードエラー訂正部424は、1つ目のBasic Blockの最後に挿入されているパリティを用いて、パリティの前にある224バイトのデータの誤り訂正を行う。
【0474】
ペイロードエラー訂正部424は、各Basic Block, Extra Blockを対象として誤り訂正を行うことによって得られた誤り訂正後のデータをByte Unpacking部425に出力する。パケット分離部423から供給されたペイロードデータにパリティが挿入されていない場合、パケット分離部423から供給されたペイロードデータはそのままByte Unpacking部425に出力される。
【0475】
Byte Unpacking部425は、ペイロードエラー訂正部424から供給された16バイト単位のパッキングデータに対して、送信部322のByte Packing部362による処理と逆の変換処理であるByte Unpackingを行う。Byte Unpacking部425は、Byte Unpackingを行うことによって得られたデータをペイロードデータ取得部431に出力する。Byte Unpacking部425からペイロードデータ取得部431に対しては、送信部322のペイロードデータ生成部351の出力と同様に、所定のビット単位のデータが1パケット分まとめて出力されることになる。
【0476】
また、Byte Unpacking部425は、ペイロードデータを構成するパッキングデータにダミーデータが含まれているときには、ダミーデータを除去し、ダミーデータ以外のデータを対象としてByte Unpackingを行う。パッキングデータにダミーデータが含まれていることは、上述したように例えば120ビットの連続するダミーデータを検出することに基づいて特定される。また、パッキングデータに含まれるダミーデータのビット数は、120ビットのダミーデータに続く8ビットにより特定される。
【0477】
[受信部331のアダプテーションレイヤの構成]
受信部331は、ペイロードデータ取得部431をアダプテーションレイヤの構成として有する。ペイロードデータ取得部431は、Byte Unpacking部425から供給されたデータを取得し、送信側LSI311においてデータ入力部342からペイロードデータ生成部351に入力されたデータのビット幅と同じビット幅の単位で情報処理部332に出力する。
【0478】
[送信側LSI311と受信側LSI312の動作]
次に、以上のような構成を有する送信側LSI311と受信側LSI312の一連の処理について説明する。
【0479】
はじめに、図56のフローチャートを参照して、伝送システム301の動作について説明する。図56の各ステップの処理は、適宜、他の処理と並行して、または前後して行われる。
【0480】
ステップS101において、送信側LSI311の情報処理部321は、各種のデータの処理を行い、送信対象のデータを8〜144ビットの所定のビット幅の単位で送信部322に出力する。
【0481】
ステップS102において、送信部322はデータ送信処理を行う。データ送信処理により、送信対象のデータをペイロードに格納したパケットが生成され、パケットデータが受信部331に対して送信される。データ送信処理については図57のフローチャートを参照して後述する。
【0482】
ステップS103において、受信側LSI312の受信部331はデータ受信処理を行う。データ受信処理により、送信部322から送信されてきたデータが受信され、送信側LSI311において送信対象のデータとして選択されたデータが情報処理部332に出力される。データ受信処理については図58のフローチャートを参照して後述する。
【0483】
ステップS104において、情報処理部332は、受信部331から供給されたデータを取得する。
【0484】
ステップS105において、情報処理部332は、取得したデータに基づいて各種の処理を行い、処理を終了させる。
【0485】
次に、図57のフローチャートを参照して、図56のステップS102において行われるデータ送信処理について説明する。
【0486】
ステップS111において、ペイロードデータ生成部351は、データ入力部342から供給された送信対象のデータを所定のサイズ毎に区切ることによってペイロードデータを生成する。
【0487】
ステップS112において、Byte Packing部362は、ペイロードデータ生成部351から供給されたペイロードデータを、16バイトなどの所定の単位のパッキングデータに変換する。
【0488】
ステップS113において、ペイロードECC挿入部363は、ペイロードデータから構成されるBasic BlockまたはExtra Blockに基づいて誤り訂正符号を計算し、計算により求めたパリティをペイロードデータに挿入する。
【0489】
ステップS114において、パケット生成部364は、ペイロードECC挿入部363から供給されたデータをパケットデータとしてレーン分配部365に出力する。
【0490】
ステップS115において、レーン分配部365は、パケット生成部364から供給されたパケットデータを、データ伝送に用いられる複数のレーンに割り当てる。
【0491】
ステップS116において、制御コード挿入部391は、レーン分配部365から供給されたパケットデータに制御コードを付加する。
【0492】
ステップS117において、8B10Bシンボルエンコーダ392は、制御コードが付加されたパケットデータの8B10B変換を行い、10ビット単位のデータに変換したパケットデータを出力する。
【0493】
ステップS118において、同期部393は、8B10Bシンボルエンコーダ392から供給されたパケットデータを、クロック生成部382により生成されたクロック信号に従って出力し、送信部394から送信させる。ステップS116乃至S118の処理は信号処理部383−0乃至383−Nにより並行して行われる。パケットデータが送信された後、図56のステップS102に戻り、それ以降の処理が行われる。
【0494】
次に、図58のフローチャートを参照して、図56のステップS103において行われるデータ受信処理について説明する。
【0495】
ステップS131において、受信部411は、送信部322から伝送されてきたパケットデータを表す信号を受信する。ステップS131乃至S136の処理は信号処理部402−0乃至402−Nにより並行して行われる。
【0496】
ステップS132において、クロック生成部412は、受信部411から供給された信号のエッジを検出することによってビット同期をとる。同期部413は、受信部411において受信された信号のサンプリングを行い、パケットデータをシンボル同期部414に出力する
【0497】
ステップS133において、シンボル同期部414は、パケットデータに含まれる制御コードを検出するなどしてシンボル同期をとる。
【0498】
ステップS134において、10B8Bシンボルデコーダ415は、シンボル同期後のパケットデータに対して10B8B変換を施し、8ビット単位のデータに変換したパケットデータを出力する。
【0499】
ステップS135において、スキュー補正部416は、Deskew Codeを検出し、Deskew CodeのタイミングをPHY-RX状態制御部401から供給された情報により表されるタイミングに合わせるようにしてレーン間のData Skewを補正する。
【0500】
ステップS136において、制御コード除去部417は、パケットデータに付加された制御コードを除去する。
【0501】
ステップS137において、レーン統合部422は、信号処理部402−0乃至402−Nから供給されたパケットデータを統合する。
【0502】
ステップS138において、パケット分離部423は、レーン統合部422により統合されたパケットデータを、ペイロードデータとしてペイロードエラー訂正部424に出力する。
【0503】
ステップS139において、ペイロードエラー訂正部424は、パケット分離部423から供給されたペイロードデータに挿入されているパリティに基づいてペイロードデータの誤り訂正を行う。
【0504】
ステップS140において、Byte Unpacking部425は、ペイロードエラー訂正部424から供給されたペイロードデータに対して、Byte Packingと逆の変換処理を行う。Byte Unpacking部425は、得られたデータをペイロードデータ取得部431に出力する。
【0505】
ステップS141において、ペイロードデータ取得部431は、Byte Unpacking部425から供給されたデータを所定のビット幅の単位で情報処理部332に出力する。その後、図56のステップS103に戻りそれ以降の処理が行われる。
【0506】
送信側LSI311と受信側LSI312の間の汎用IFを用いたデータ伝送は、以上のようにして行われる。汎用IFにより、各種のデータを伝送することが可能になる。
【0507】
[変形例]
CIS IFによるデータ伝送と汎用 IFによるデータ伝送の両方のデータ伝送に対応した送信部を送信側のLSIに設け、受信部を受信側のLSIに設けるようにしてもよい。
【0508】
図59は、CIS IFによるデータ伝送と汎用 IFによるデータ伝送の両方のデータ伝送に対応した送信部501の構成例を示す図である。CIS IFと汎用 IFのうちのいずれのIFによってデータ伝送を行うのかを表す信号であるCIS/汎用切り替え信号が図示せぬ制御部から入力される。
【0509】
データ入力部511は、CIS IFの送信対象のデータである画素データをライン単位で受信し、選択部513に出力する。
【0510】
データ入力部512は、汎用IFの送信対象のデータを受信する。データ入力部512は、送信対象のデータを所定のサイズ毎に区切ることによってペイロードデータを生成し、選択部513に出力する。データ入力部512が、図51のペイロードデータ生成部351に対応する。
【0511】
選択部513は、CIS/汎用切り替え信号に応じて、データ入力部511から供給されたデータとデータ入力部512から供給されたデータのうちのいずれかを選択し、Byte Packing部514に出力する。
【0512】
Byte Packing部514は、選択部513から供給されたデータを所定のバイト単位のデータに変換し、ペイロードECC挿入部515に出力する。Byte Packing部514が、図5のPixel to Byte変換部62および図51のByte Packing部362に対応する。
【0513】
ペイロードECC挿入部515は、ペイロードデータに基づいて誤り訂正符号を計算し、誤り訂正符号を挿入したペイロードデータを出力する。ペイロードECC挿入部515から出力されたデータは、ヘッダ生成部516と選択部517に供給される。ペイロードECC挿入部515が、図5のペイロードECC挿入部63および図51のペイロードECC挿入部363に対応する。
【0514】
ヘッダ生成部516は、ペイロードに付加するヘッダを生成し、選択部517に出力する。ヘッダ生成部516が、図5のヘッダ生成部72に対応する。
【0515】
選択部517は、CIS IFによってデータを伝送する場合、ヘッダ生成部516によりヘッダが付加されたペイロードデータをフッタ生成部518に出力する。また、選択部517は、汎用IFによってデータを伝送する場合、ペイロードECC挿入部515から供給されたペイロードデータを選択部519に出力する。
【0516】
フッタ生成部518は、ペイロードに付加するフッタを生成し、選択部517から供給されたペイロードデータに付加して選択部519に出力する。フッタ生成部518が、図5のフッタ生成部74に対応する。
【0517】
選択部519は、CIS IFによってデータを伝送する場合、フッタ生成部518から供給された、ヘッダとフッタが付加されたペイロードデータをレーン分配部520に出力する。また、選択部519は、汎用IFによってデータを伝送する場合、選択部517から供給されたペイロードデータをレーン分配部520に出力する。
【0518】
レーン分配部520は、選択部519から供給されたデータを、データ伝送に用いられるレーンに割り当てる。図59にはデータ伝送に用いるレーンとして4レーンを示しているが、レーンの数は任意である。レーン分配部520は、各レーンに割り当てたデータをフレーム構成部521に出力する。レーン分配部520が、図5のレーン分配部65および図51のレーン分配部365に対応する。
【0519】
フレーム構成部521は、各レーンのデータに対して制御コードを付加し、8B10Bシンボルエンコーダ522−0乃至522−3に出力する。フレーム構成部521が、図5の信号処理部83−0乃至83−3の各制御コード挿入部91、および図51の信号処理部383−0乃至383−3の各制御コード挿入部391に対応する。
【0520】
8B10Bシンボルエンコーダ522−0乃至522−3は、それぞれ、制御コードが付加されたパケットデータの8B10B変換を行い、10ビット単位のデータをP/S変換部523−0乃至523−3に出力する。8B10Bシンボルエンコーダ522−0乃至522−3が、図5の信号処理部83−0乃至83−3の各8B10Bシンボルエンコーダ92、および図51の信号処理部383−0乃至383−3の各8B10Bシンボルエンコーダ392に対応する。
【0521】
P/S変換部523−0乃至523−3は、それぞれ、8B10Bシンボルエンコーダ522−0乃至522−3から供給されたデータのP/S(Parallel/Serial)変換を行い、各レーンを用いて送信する。P/S変換部523−0乃至523−3が、図5の信号処理部83−0乃至83−3の各送信部94、および図51の信号処理部383−0乃至383−3の各送信部394に対応する。
【0522】
なお、図59には、処理の流れを説明するのに必要な構成を示しており、図5、図51を参照して説明した詳細な構成については適宜図示を省略している。図60においても同様である。
【0523】
図60は、CIS IFによるデータ伝送と汎用 IFによるデータ伝送の両方のデータ伝送に対応した受信部502の構成例を示す図である。CIS IFと汎用 IFのうちのいずれのIFによってデータ伝送を行うのかを表す信号であるCIS/汎用切り替え信号が図示せぬ制御部から入力される。
【0524】
S/P変換部531−0乃至531−3は、それぞれ、送信部501のP/S変換部523−0乃至523−3から送信されたデータを受信してS/P変換を行い、10B8Bシンボルデコーダ532−0乃至532−3に出力する。S/P変換部531−0乃至531−3が、図5の信号処理部102−0乃至102−3の各受信部111、および図51の信号処理部402−0乃至402−3の各受信部411に対応する。
【0525】
10B8Bシンボルデコーダ532−0乃至532−3は、それぞれ、S/P変換部531−0乃至531−3から供給されたデータの10B8B変換を行い、8ビット単位の各レーンのデータをスキュー補正部533に出力する。10B8Bシンボルデコーダ532−0乃至532−3が、図5の信号処理部102−0乃至102−3の各10B8Bシンボルデコーダ115、および図51の信号処理部402−0乃至402−3の各10B8Bシンボルデコーダ415に対応する。
【0526】
スキュー補正部533は、各レーンのDeskew Codeを検出し、レーン間のData Skewを補正する。スキュー補正部533は、Data Skew補正後の各レーンのデータをレーン統合部534に出力する。スキュー補正部533が、図5の信号処理部102−0乃至102−3の各スキュー補正部116、および図51の信号処理部402−0乃至402−3の各スキュー補正部416に対応する。
【0527】
レーン統合部534は、スキュー補正部533から供給された各レーンのデータを統合し、パケットデータをフッタ処理部535と選択部536に出力する。レーン統合部534が、図5のレーン統合部122および図51のレーン統合部422に対応する。
【0528】
フッタ処理部535は、レーン統合部534から供給されたデータにフッタが含まれる場合、ペイロードに付加されたフッタに含まれるCRC符号を用いた誤り検出を行い、誤りのないデータを選択部536に出力する。フッタ処理部535が、図5のフッタエラー検出部134に対応する。
【0529】
選択部536は、CIS IFによってデータを伝送する場合、フッタ処理部535から供給された、ヘッダが付加されたペイロードデータをヘッダ処理部537に出力する。また、選択部536は、汎用IFによってデータを伝送する場合、レーン統合部534から供給されたペイロードデータを選択部538に出力する。
【0530】
ヘッダ処理部537は、選択部536から供給されたペイロードデータに付加されているヘッダに含まれるCRC符号を用いた誤り訂正を行い、誤りのないペイロードデータを選択部538に出力する。ヘッダ処理部537が、図5のヘッダエラー訂正部132に対応する。
【0531】
選択部538は、CIS IFによってデータを伝送する場合、ヘッダ処理部537から供給されたペイロードデータをペイロードエラー訂正部539に出力する。また、選択部538は、汎用IFによってデータを伝送する場合、選択部536から供給されたペイロードデータをペイロードエラー訂正部539に出力する。
【0532】
ペイロードエラー訂正部539は、選択部538から供給されたペイロードデータにパリティが挿入されている場合、パリティに基づいて誤り訂正演算を行うことによってペイロードデータのエラーを検出し、エラーの訂正を行う。ペイロードエラー訂正部539が、図5のペイロードエラー訂正部124および図51のペイロードエラー訂正部424に対応する。
【0533】
Byte Unpacking部540は、ペイロードエラー訂正部539から供給された16バイト単位のデータに対して、図59の送信部501のByte Packing部514によるByte Packingと逆の処理を行う。Byte Unpacking部540は、CIS IFによって伝送されてきた画素データをデータ出力部541に出力し、汎用IFによって伝送されてきたデータをデータ出力部542に出力する。Byte Unpacking部540が、図5のByte to Pixel変換部125、および図51のByte Unpacking部425に対応する。
【0534】
データ出力部541は、Byte Unpacking部540から供給された画素データを後段の画像処理部に出力する。
【0535】
データ出力部542は、Byte Unpacking部540から供給されたデータを後段の情報処理部に出力する。
【0536】
以上のように、CIS IFによるデータ伝送と汎用 IFによるデータ伝送の両方のデータ伝送に対応した送信部と受信部をLSIに設けることも可能である。
【0537】
[コンピュータの構成例]
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0538】
図61は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0539】
CPU(Central Processing Unit)601、ROM(Read Only Memory)602、RAM(Random Access Memory)603は、バス604により相互に接続されている。
【0540】
バス604には、さらに、入出力インタフェース605が接続されている。入出力インタフェース605には、キーボード、マウスなどよりなる入力部606、ディスプレイ、スピーカなどよりなる出力部607が接続される。また、入出力インタフェース605には、ハードディスクや不揮発性のメモリなどよりなる記憶部608、ネットワークインタフェースなどよりなる通信部609、リムーバブルメディア611を駆動するドライブ610が接続される。
【0541】
以上のように構成されるコンピュータでは、CPU601が、例えば、記憶部608に記憶されているプログラムを入出力インタフェース605及びバス604を介してRAM603にロードして実行することにより、上述した一連の処理が行われる。
【0542】
CPU601が実行するプログラムは、例えばリムーバブルメディア611に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部608にインストールされる。
【0543】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0544】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0545】
[構成の組み合わせ例]
本技術は、以下のような構成をとることもできる。
【0546】
(1)
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換する変換部と、
所定の数の前記第2の単位のデータを含むパケットを生成するパケット生成部と、
前記パケットを他の装置に送信する送信部と
を備え、
前記変換部は、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力する
送信装置。
【0547】
(2)
前記変換部は、前記ダミービットを含む前記第2の単位のデータに続けて出力する前記第2の単位のデータとして、前記ビット数データを最後に含む前記第2の単位のデータを生成する
前記(1)に記載の送信装置。
【0548】
(3)
前記送信対象のデータを、前記パケットのサイズと同じサイズの前記第1の単位のデータからなるデータ毎に区切って前記変換部に出力するデータ生成部をさらに備える
前記(1)または前記(2)に記載の送信装置。
【0549】
(4)
前記データ生成部は、前記パケットのサイズと同じサイズのデータを構成する最後の前記第1の単位のデータを出力するときにタイミング信号を前記変換部に出力し、
前記変換部は、前記タイミング信号が供給された場合、最後の前記第1の単位のデータの最後のビットを含むデータが前記第2の単位に満たないときには、前記ダミービットを付加して前記第2の単位のデータを生成する
前記(3)に記載の送信装置。
【0550】
(5)
前記パケットのパケットサイズを表す情報を記憶する記憶部をさらに備え、
前記パケット生成部は、前記ダミービットが付加された前記第2の単位のデータと、前記ビット数データを含む前記第2の単位のデータとを含む、前記記憶部に記憶されている情報により表されるパケットサイズより短いサイズの前記パケットを生成する
前記(4)に記載の送信装置。
【0551】
(6)
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、
前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、
所定の数の前記第2の単位のデータを含むパケットを生成し、
前記パケットを他の装置に送信する
ステップを含む送信方法。
【0552】
(7)
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、
前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、
所定の数の前記第2の単位のデータを含むパケットを生成し、
前記パケットを他の装置に送信する
ステップを含む処理をコンピュータに実行させるプログラム。
【0553】
(8)
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを送信するようにして他の装置から送信されてきた前記パケットを受信する受信部と、
前記パケットに含まれるそれぞれの前記第2の単位のデータを分離する分離部と、
前記ビット数データに基づいて前記ダミービットを特定し、前記第2の単位のデータに含まれる前記ダミービット以外のデータを前記第1の単位のデータに変換する変換部と
を備える受信装置。
【0554】
(9)
前記第1の単位のデータから構成される前記送信対象のデータを生成する取得部をさらに備える
前記(8)に記載の受信装置。
【0555】
(10)
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを送信するようにして他の装置から送信されてきた前記パケットを受信し、
前記パケットに含まれるそれぞれの前記第2の単位のデータを分離し、
前記ビット数データに基づいて前記ダミービットを特定し、前記第2の単位のデータに含まれる前記ダミービット以外のデータを前記第1の単位のデータに変換する
ステップを含む受信方法。
【0556】
(11)
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを送信するようにして他の装置から送信されてきた前記パケットを受信し、
前記パケットに含まれるそれぞれの前記第2の単位のデータを分離し、
前記ビット数データに基づいて前記ダミービットを特定し、前記第2の単位のデータに含まれる前記ダミービット以外のデータを前記第1の単位のデータに変換する
ステップを含む処理をコンピュータに実行させるプログラム。
【符号の説明】
【0557】
1 伝送システム, 11 イメージセンサ, 12 DSP, 21 撮像部, 22 送信部, 31 受信部, 32 画像処理部, 62 Pixel to Byte変換部, 63 ペイロードECC挿入部, 64 パケット生成部, 65 レーン分配部, 72 ヘッダ生成部, 83−0乃至83−N 信号処理部, 91 制御コード挿入部, 92 8B10Bシンボルエンコーダ, 93 同期部, 94 送信部, 102−0乃至102−N 信号処理部, 111 受信部, 112 クロック生成部, 113 同期部, 114 シンボル同期部, 115 10B8Bシンボルデコーダ, 116 スキュー補正部, 117 制御コード除去部, 122 レーン統合部, 123 パケット分離部, 124 ペイロードエラー訂正部, 125 Byte to Pixel変換部, 132 ヘッダエラー訂正部

【特許請求の範囲】
【請求項1】
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換する変換部と、
所定の数の前記第2の単位のデータを含むパケットを生成するパケット生成部と、
前記パケットを他の装置に送信する送信部と
を備え、
前記変換部は、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力する
送信装置。
【請求項2】
前記変換部は、前記ダミービットを含む前記第2の単位のデータに続けて出力する前記第2の単位のデータとして、前記ビット数データを最後に含む前記第2の単位のデータを生成する
請求項1に記載の送信装置。
【請求項3】
前記送信対象のデータを、前記パケットのサイズと同じサイズの前記第1の単位のデータからなるデータ毎に区切って前記変換部に出力するデータ生成部をさらに備える
請求項1に記載の送信装置。
【請求項4】
前記データ生成部は、前記パケットのサイズと同じサイズのデータを構成する最後の前記第1の単位のデータを出力するときにタイミング信号を前記変換部に出力し、
前記変換部は、前記タイミング信号が供給された場合、最後の前記第1の単位のデータの最後のビットを含むデータが前記第2の単位に満たないときには、前記ダミービットを付加して前記第2の単位のデータを生成する
請求項3に記載の送信装置。
【請求項5】
前記パケットのパケットサイズを表す情報を記憶する記憶部をさらに備え、
前記パケット生成部は、前記ダミービットが付加された前記第2の単位のデータと、前記ビット数データを含む前記第2の単位のデータとを含む、前記記憶部に記憶されている情報により表されるパケットサイズより短いサイズの前記パケットを生成する
請求項4に記載の送信装置。
【請求項6】
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、
前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、
所定の数の前記第2の単位のデータを含むパケットを生成し、
前記パケットを他の装置に送信する
ステップを含む送信方法。
【請求項7】
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、
前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、
所定の数の前記第2の単位のデータを含むパケットを生成し、
前記パケットを他の装置に送信する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項8】
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを送信するようにして他の装置から送信されてきた前記パケットを受信する受信部と、
前記パケットに含まれるそれぞれの前記第2の単位のデータを分離する分離部と、
前記ビット数データに基づいて前記ダミービットを特定し、前記第2の単位のデータに含まれる前記ダミービット以外のデータを前記第1の単位のデータに変換する変換部と
を備える受信装置。
【請求項9】
前記第1の単位のデータから構成される前記送信対象のデータを生成する取得部をさらに備える
請求項8に記載の受信装置。
【請求項10】
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを送信するようにして他の装置から送信されてきた前記パケットを受信し、
前記パケットに含まれるそれぞれの前記第2の単位のデータを分離し、
前記ビット数データに基づいて前記ダミービットを特定し、前記第2の単位のデータに含まれる前記ダミービット以外のデータを前記第1の単位のデータに変換する
ステップを含む受信方法。
【請求項11】
送信対象のデータを構成する第1の単位のデータのビット数が第2の単位のデータのビット数に満たない場合にはダミービットを付加するようにして、前記第1の単位のデータを前記第2の単位のデータに変換し、前記ダミービットを含む前記第2の単位のデータに続けて、前記ダミービットのビット数を表すビット数データを含む前記第2の単位のデータを出力し、所定の数の前記第2の単位のデータを含むパケットを生成し、前記パケットを送信するようにして他の装置から送信されてきた前記パケットを受信し、
前記パケットに含まれるそれぞれの前記第2の単位のデータを分離し、
前記ビット数データに基づいて前記ダミービットを特定し、前記第2の単位のデータに含まれる前記ダミービット以外のデータを前記第1の単位のデータに変換する
ステップを含む処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate

【図61】
image rotate


【公開番号】特開2012−120159(P2012−120159A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2011−246759(P2011−246759)
【出願日】平成23年11月10日(2011.11.10)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】