(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-29
(45)【発行日】2024-02-06
(54)【発明の名称】撮像装置および撮像方法
(51)【国際特許分類】
H04L 1/00 20060101AFI20240130BHJP
H04N 1/32 20060101ALI20240130BHJP
H04N 23/60 20230101ALI20240130BHJP
【FI】
H04L1/00 B
H04L1/00 A
H04N1/32 609
H04N23/60 300
(21)【出願番号】P 2020040048
(22)【出願日】2020-03-09
【審査請求日】2022-09-27
(73)【特許権者】
【識別番号】000000376
【氏名又は名称】オリンパス株式会社
(74)【代理人】
【識別番号】100109209
【氏名又は名称】小林 一任
(72)【発明者】
【氏名】齊藤 陽子
【審査官】北村 智彦
(56)【参考文献】
【文献】特開2019-036833(JP,A)
【文献】特開2017-175403(JP,A)
【文献】特開2006-340228(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 1/00
H04N 1/32
H04N 23/60
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
複数の画素を有し、複数の画素によって撮像して画素データを出力する撮像素子と、
上記撮像素子から伝送路を通じて上記画素データを受信する画像処理回路と、
上記受信された画素データを記憶するためのメモリと、
を有する撮像装置において、
上記撮像素子は、上記画素データの列の中の所定の位置に特殊情報を付加して出力し、
上記画像処理回路は、上記受信された画素データの列の上記特殊情報を検出し、上記特殊情報の検出結果に基づいて上記伝送路の伝送エラーを判別し、
上記画像処理回路は、上記受信した画素データを補正する補正回路と、を有し、
上記画像処理回路は、上記画素データの列の中に、上記伝送エラーに関する情報を付加した画素データの列を生成し、上記メモリに記憶させ、
上記補正回路は、上記伝送エラーに関する情報に基づいて、上記メモリに記憶された画素データの列の画素データを補正するにあたって、
上記受信された画素データの列の中で、
(a)上記所定の位置の一つである第1の位置または隣接する上記所定の位置である複数の第1の位置に上記伝送エラーが発生し、
(b
)一つの
上記第1の位置または上記複数の第1の位置の直前の上記所定の位置の一つである第2の位置に上記伝送エラーが発生しておらず、及び
(c
)一つの
上記第1の位置または上記複数の第1の位置の直後の上記所定の位置の一つである第3の位置に上記伝送エラーが発生していない場合または上記所定の位置の一つである第3の位置であって上記受信された画素データの列の最後の上記所定の位置に上記伝送エラーが発生した場合に、
上記第2の位置と上記第3の位置の間の位置に対応する上記メモリに記憶された上記画素データを補正する、
ことを特徴とする撮像装置。
【請求項2】
上記画像処理回路は、
上記受信された画素データの列の中の上記所定の位置に上記特殊情報を検出できない場合に上記伝送エラーと判別することを特徴とする請求項1に記載の撮像装置。
【請求項3】
上記伝送路は、複数のレーンを含み、
上記撮像素子は、上記複数のレーンにて同期して伝送される複数の画素データの列の中の同一の位置に上記特殊情報を付加して出力し、
上記画像処理回路は、上記
受信された画素データ
の列の中の上記特殊情報の位置を上記複数のレーンの間で比較することにより、上記伝送エラーと判別する、
ことを特徴とする請求項
1に記載の撮像装置。
【請求項4】
上記補正回路は、上記伝送エラーに関する情報に対応する上記画素データ
が位置する上記撮像素子の撮像面1列分の画素データの列とは異なる
上記撮像素子の撮像面1列分の画素データの列の画素データに基づいて
、上記伝送エラーに関する情報に対応する上記画素データを補正することを特徴とする請求項
1乃至3に記載の撮像装置。
【請求項5】
撮像素子の複数の画素によって撮像して画素データを出力し、
上記撮像素子から伝送路を通じて上記画素データを受信する撮像方法において、
上記撮像素子は、上記画素データの列の中の所定の位置に特殊情報を付加して出力し、
上記出力された画素データの列を受信し、受信した画素データの列の上記特殊情報を検出し、上記特殊情報の検出結果に基づいて上記伝送路の伝送エラーを判別し、
上記受信した画素データの列の中に、上記伝送エラーに関する情報を付加した画素データの列を生成し、
上記伝送エラーに関する情報に基づいて、上記生成された画素データの列の画素データを補正するにあたって、
上記受信された画素データの列の中で、
(a)上記所定の位置の一つである第1の位置または隣接する上記所定の位置である複数の第1の位置に上記伝送エラーが発生し、
(b
)一つの
上記第1の位置または上記複数の第1の位置の直前の上記所定の位置の一つである第2の位置に上記伝送エラーが発生しておらず、及び
(c
)一つの
上記第1の位置または上記複数の第1の位置の直後の上記所定の位置の一つである第3の位置に上記伝送エラーが発生していない場合または上記所定の位置の一つである第3の位置であって上記受信された画素データの列の最後の上記所定の位置に上記伝送エラーが発生した場合に、
上記第2の位置と上記第3の位置の間の位置に対応する上記生成された画素データを補正する、
ことを特徴とする撮像方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像素子から出力された画素データの伝送経路中において伝送エラーが発生したことを検出することができる撮像装置および撮像方法に関する。
【背景技術】
【0002】
撮像素子において撮像面上に入射された像を画像データに変換し、画像処理部等に送信する際に伝送エラーが発生してしまうことがある。そこで、撮像素子において撮像した画像データを、誤り訂正符号化処理(ECC処理)し、この誤り符号化処理を行った画像データを画像処理部に送信し、画像処理部において符号化データに基づき誤り訂正復号して画像データの伝送エラーを訂正することが提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の誤り符号化処理による訂正は、1画素分のデータ内の小規模な伝送エラーの場合には、画像データを訂正することができる。しかし、近年の撮像素子の高画素化に伴う画像データ量の増大と通信速度の高速化により、画素データ単位で消失したり、また重複送信により画素データが増加したりするような、大規模な伝送エラーが発生することがある。このような場合は、誤り訂正符号化処理では画像データの補正ができず画質が低下してしまう。
【0005】
本発明は、このような事情を鑑みてなされたものであり、大規模な伝送エラーが発生した場合であっても、誤りを訂正でき、画質が低下することのない撮像装置および撮像方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため第1の発明に係る撮像装置は、複数の画素を有し、複数の画素によって撮像して画素データを出力する撮像素子と、上記撮像素子から伝送路を通じて上記画素データを受信する画像処理回路と、上記受信された画素データを記憶するためのメモリと、を有する撮像装置において、上記撮像素子は、上記画素データの列の中の所定の位置に特殊情報を付加して出力し、上記画像処理回路は、上記受信された画素データの列の上記特殊情報を検出し、上記特殊情報の検出結果に基づいて上記伝送路の伝送エラーを判別し、上記画像処理回路は、上記受信した画素データを補正する補正回路と、を有し、上記画像処理回路は、上記画素データの列の中に、上記伝送エラーに関する情報を付加した画素データの列を生成し、上記メモリに記憶させ、上記補正回路は、上記伝送エラーに関する情報に基づいて、上記メモリに記憶された画素データの列の画素データを補正するにあたって、上記受信された画素データの列の中で、(a)上記所定の位置の一つである第1の位置または隣接する上記所定の位置である複数の第1の位置に上記伝送エラーが発生し、(b)一つの上記第1の位置または上記複数の第1の位置の直前の上記所定の位置の一つである第2の位置に上記伝送エラーが発生しておらず、及び(c)一つの上記第1の位置または上記複数の第1の位置の直後の上記所定の位置の一つである第3の位置に上記伝送エラーが発生していない場合または上記所定の位置の一つである第3の位置であって上記受信された画素データの列の最後の上記所定の位置に上記伝送エラーが発生した場合に、上記第2の位置と上記第3の位置の間の位置に対応する上記メモリに記憶された上記画素データを補正する。
【0007】
第2の発明に係る撮像装置は、上記第1の発明において、上記画像処理回路は、上記受信された画素データの列の中の上記所定の位置に上記特殊情報を検出できない場合に上記伝送エラーと判別する。
【0008】
第3の発明に係る撮像装置は、上記第1の発明において、上記伝送路は、複数のレーンを含み、上記撮像素子は、上記複数のレーンにて同期して伝送される複数の画素データの列の中の同一の位置に上記特殊情報を付加して出力し、上記画像処理回路は、上記受信された画素データの列の中の上記特殊情報の位置を上記複数のレーンの間で比較することにより、上記伝送エラーと判別する。
【0010】
第4の発明に係る撮像装置は、上記第1乃至第3の発明において、上記補正回路は、上記伝送エラーに関する情報に対応する上記画素データが位置する上記撮像素子の撮像面1列分の画素データの列とは異なる上記撮像素子の撮像面1列分の画素データの列の画素データに基づいて、上記伝送エラーに関する情報に対応する上記画素データを補正する。
【0011】
第5の発明に係る撮像方法は、撮像素子の複数の画素によって撮像して画素データを出力し、上記撮像素子から伝送路を通じて上記画素データを受信する撮像方法において、 上記撮像素子は、上記画素データの列の中の所定の位置に特殊情報を付加して出力し、上記出力された画素データの列を受信し、受信した画素データの列の上記特殊情報を検出し、上記特殊情報の検出結果に基づいて上記伝送路の伝送エラーを判別し、上記受信した画素データの列の中に、上記伝送エラーに関する情報を付加した画素データの列を生成し、上記伝送エラーに関する情報に基づいて、上記生成された画素データの列の画素データを補正するにあたって、上記受信された画素データの列の中で、(a)上記所定の位置の一つである第1の位置または隣接する上記所定の位置である複数の第1の位置に上記伝送エラーが発生し、(b)一つの上記第1の位置または上記複数の第1の位置の直前の上記所定の位置の一つである第2の位置に上記伝送エラーが発生しておらず、及び(c)一つの上記第1の位置または上記複数の第1の位置の直後の上記所定の位置の一つである第3の位置に上記伝送エラーが発生していない場合または上記所定の位置の一つである第3の位置であって上記受信された画素データの列の最後の上記所定の位置に上記伝送エラーが発生した場合に、上記第2の位置と上記第3の位置の間の位置に対応する上記生成された画素データを補正する。
【発明の効果】
【0012】
本発明によれば、大規模な伝送エラーが発生した場合であっても、誤りを訂正でき、画質が低下することのない撮像装置および撮像方法を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態に係るデジタルカメラ(以下、カメラと称す)の主として電気的構成を示すブロック図である。
【
図2】本発明の一実施形態に係るカメラの画像処理回路において、主として画素データの誤り訂正に関連する回路の構成を示すブロック図である。
【
図3】本発明の一実施形態に係るカメラにおいて、撮像素子から画像処理回路に送信される画素データが正常な場合と誤りを含む場合を説明する図である。
【
図4】本発明の一実施形態に係るカメラにおいて、エラー情報の付加を説明する図である。
【
図5】本発明の一実施形態におけるカメラにおいて、画像補正を説明する図である。
【
図6】本発明の一実施形態におけるカメラにおいて、スタートコード検出の動作について説明するフローチャートである。
【
図7】本発明の一実施形態におけるカメラにおいて、画素データ検出の動作について説明するフローチャートである。
【
図8】本発明の一実施形態におけるカメラにおいて、画素データカウントの動作について説明するフローチャートである。
【
図9】本発明の一実施形態におけるカメラにおいて、エラー検出の動作について説明するフローチャートである。
【
図10】本発明の一実施形態におけるカメラにおいて、画素データ並び替えの動作について説明するフローチャートである。
【
図11】本発明の一実施形態におけるカメラにおいて、エラー情報付加の動作について説明するフローチャートである。
【
図12】本発明の一実施形態におけるカメラにおいて、付加エラー情報解析の動作について説明するフローチャートである。
【
図13】本発明の一実施形態におけるカメラにおいて、画素補正の動作について説明するフローチャートである。
【
図14A】本発明の一実施形態におけるカメラにおいて、画素データ中における、エラーと特殊コードについて説明する図である。
【
図14B】本発明の一実施形態におけるカメラにおいて、画素データ中における、エラーと特殊コードについて説明する図である。
【
図14C】本発明の一実施形態におけるカメラにおいて、画素データ中における、エラーと特殊コードについて説明する図である。
【
図14D】本発明の一実施形態におけるカメラにおいて、画素データ中における、エラーと特殊コードについて説明する図である。
【
図15A】本発明の一実施形態におけるカメラにおいて、画素データ中における、補正領域の範囲を示す図である。
【
図15B】本発明の一実施形態におけるカメラにおいて、画素データ中における、補正領域の範囲を示す図である。
【
図15C】本発明の一実施形態におけるカメラにおいて、画素データ中における、補正領域の範囲を示す図である。
【
図15D】本発明の一実施形態におけるカメラにおいて、画素データ中における、補正領域の範囲を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態として本発明をカメラに適用した例について説明する。このカメラは、撮像部を有し、この撮像部によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面に配置した表示部にライブビュー表示する。撮影者はライブビュー表示を観察することにより、構図やシャッタタイミングを決定する。レリーズ操作時には、画像データが記録媒体に記録される。記録媒体に記録された画像データは、再生モードを選択すると、表示部に再生表示することができる。
【0015】
また、本実施形態に係るカメラは、撮像素子から画像処理回路への画像データの伝送路において発生した画素データ単位の伝送エラーを検出し、この検出結果に基づいてエラー情報を作成し、さらに、エラー情報に基づいて画像データのエラー発生部分を補正する。具体的には、カメラの撮像部は、画像データを画像処理回路に伝送路を通じて画像処理回路に送信する。画像データの送信にあったって、撮像部は画像データ中の所定の位置に特殊コードを配置し、この画像データを画像処理回路に送信する。画像処理回路は、特殊コードの配置が所定の位置にあるか否かを判定し、この判定結果に基づいて、伝送路にエラーが発生した否かを検出する(例えば、
図2の画素データ検出部33、
図7のS17参照)。画像データの伝送にエラーが検出されると、画像処理回路は、画像データの補正を行い、エラーを除去した画像を生成する(例えば、
図2の画素補正部36、
図13のS147参照)。
【0016】
まず、
図1を用いて、本実施形態に係るカメラについて説明する。このカメラは、
図1に示すように、レンズ1と、撮像素子2aを有する撮像部2と、画像処理部3と、AF(オートフォーカス)評価値演算部4と、表示部5と、手振検出部7と、手振補正部8と、露光制御部9と、フォーカス制御部10と、カメラ操作部11と、カメラ制御部12と、を備えている。なお、
図1にはメモリカード6が記載されているが、このメモリカード6は撮像装置に対して着脱可能に構成されているために、撮像装置に固有の構成でなくても構わない。
【0017】
レンズ1は、被写体の光学像を撮像素子2a上に結像する撮像光学系である。このレンズ1は、焦点位置(ピント位置)を調節してフォーカシングを行うためのフォーカスレンズと、通過する光束の範囲を制御するための絞りと、を備え、さらに、本実施形態においては手振補正機能も備えている。
【0018】
撮像部2は、撮像素子2aおよび撮像処理回路等を備え、レンズ1により結像された被写体の光学像を撮像素子2aにより光電変換して映像情報を生成し、画像データとして出力する。また、本実施形態における撮像部2内の撮像素子2aは、レンズ1の撮影光軸に垂直な面内において移動することができるように構成されており、手振補正機能を備えている。
【0019】
撮像部2内の撮像処理回路は、A/D変換器を備え、高速化を果たすために、例えば列並列型A/D変換器を備え、1ライン分の画素データを同時的にデジタル信号に変換することができる。また、後述する
図2に示すように、撮像部2は送信部2bを備え、この送信部2bから画像データを画像処理部3に出力する。また、画像データ中には、画素データに加えて、後述するように、スタートコード、特殊コード、エンドコード等を含む。特殊コードは、画素データの同一列中では同一の位置に配置される(例えば、
図14A~
図15D参照)。
【0020】
撮像素子2aは、複数の画素を有し、複数の画素によって撮像して画素データを出力する撮像素子として機能する。撮像素子は、画素データの列の中の所定の位置に特殊情報を付加して出力する(例えば、
図14A~
図15D参照)。撮像素子は、複数のレーンにて同期して伝送される複数の画素データの列の中の同一の位置に特殊情報を付加して出力する(例えば、
図14A~
図15D参照)。
【0021】
画像処理部3は、撮像部2から出力される画像データを入力して、入力した画像データに各種の画像処理を行い、表示用あるいは記録用の画像データを生成する。画像処理部3は、撮像部2から出力された画素データにエラー(誤り)がある場合に、エラーを検出し、画像データを補正する。このエラーを検出し、画像補正処理を行うための回路については、
図2を用いて後述する。なお、伝送エラーは、静電気等の外来ノイズの影響を受けて、撮像部2や画像処理部31の電源電圧が変動すること、伝送路のクロック信号、データ信号のデューティがずれること、波形が劣化すること等により発生する。
【0022】
画像処理部3は、上述したように、画素データの誤りに基づく画像補正処理を行うと、この補正された画像データまたは内部メモリ30(
図2参照)に保存された画像データに対して露出補正やノイズ処理、WBゲイン補正、輪郭強調、偽色補正等の様々な画像処理を施す。さらに、画像処理部3は、上述の画像処理を施した画像データに対して、記録データ形式に変換する処理(現像処理)も行う。
【0023】
また、画像処理部3は、本実施形態においては、画像処理演算を行う演算回路で構成する専用の画像処理プロセッサである。しかし、この構成に限らずに、例えば画像処理演算を画像処理プログラムに基づいて、デジタル信号プロセッサ(DSP)等の汎用の信号処理プロセッサに展開する構成であってもよい。また、1チップのプロセッサに限らず、機能を分割し、複数チップのプロセッサであってもよい。
【0024】
画像処理部3は、撮像素子から伝送路を通じて画素データを受信する画像処理回路として機能する(例えば、
図2参照)。画像処理回路は、画素データの列の特殊情報を検出し、特殊情報の検出結果に基づいて伝送路の伝送エラーを判別する(例えば、
図7のS17、
図14A参照)。画像処理回路は、特殊情報を検出できない場合に伝送エラーと判別する(例えば、
図7のS17、
図14B参照)。
【0025】
画像処理回路は、画素データの列の中の特殊情報の位置に基づいて伝送エラーと判別する(例えば、
図7のS17参照)。撮像素子から画像処理回路への伝送路は複数のレーンを含む(例えば、
図14A~
図15D参照)。画像処理回路は、画素データ列の中の特殊情報の位置を複数のレーンの間で比較することにより、伝送エラーと判別する(例えば、
図7のS17、
図14A参照)。画像処理回路は、画素データの列の中に、伝送エラーに関する情報を付加した画素データの列を生成し、メモリに記憶させる(例えば、
図2の画素データ検出部33、
図7のS19参照)。
【0026】
AF評価値演算部4は、撮像部2から出力され、画像処理部3において処理された画像データを受信し、合焦状態を示すAF評価値を算出する。AF評価値はカメラ制御部12へ出力する。
【0027】
表示部5は、表示用のディスプレイを有し、画像処理部3により表示用に画像処理された信号に基づき、画像を表示する。この表示部5は、ライブビュー表示、撮影直後の静止画像表示、記録済みの静止画像再生表示、動画録画中表示、動画再生表示等を行うとともに、このカメラに係る各種の情報等も表示する。
【0028】
メモリカード6は、画像処理部3により記録用に画像処理された信号(静止画像信号、動画像信号など)を保存するための記録媒体である。このメモリカード6は、電気的に書き換え可能な不揮発性メモリであり、カメラ本体に着脱自在であってもよく、また固定されていてもよい。さらに、メモリカードの代わりにハードディスク等のメモリであってもよい。
【0029】
手振検出部7は、加速度センサや角速度センサ等を有して構成され、このカメラに加えられた動き、例えば、手振れを検出し、検出結果をカメラ制御部12へ出力する。
【0030】
手振補正部8は、カメラ制御部12の制御に基づいて、検出された手振れを相殺するようにレンズ1と撮像素子2aとの少なくとも一方を移動させ、撮像素子2aに結像される光学的な被写体像に手振れの影響が生じるのを軽減する。
【0031】
露光制御部9は、カメラ制御部12により決定されたシャッタ速度(露光時間)に基づいて、カメラ制御部12の制御の下に、撮像素子2aの素子シャッタ(カメラが光学シャッタを備えているときには光学シャッタ)を制御し、撮像部2に画像を取得させる。さらに、露光制御部9は、カメラ制御部12により決定された絞り値に基づいて、レンズ1に含まれる絞りの制御等も行う。
【0032】
シャッタ速度および絞り値は、撮像部2から出力された画像信号に基づいて算出された測光データと、カメラ操作部11により設定された(またはカメラ制御部12により自動設定された)ISO感度等を用いて、例えばAPEXシステムに従ったプログラム線図等に基づきカメラ制御部12により決定される。また、露光制御部9は、撮像部2の駆動情報をカメラ制御部12へ出力する。
【0033】
フォーカス制御部10は、焦点位置(ピント位置)を調節するためにレンズ1を駆動する。すなわち、フォーカス制御部10は、AF評価値演算部4からAF評価値を受けたカメラ制御部12の制御に基づいて、レンズ1に含まれるフォーカスレンズを駆動し、撮像素子2aに結像される被写体像のピントが合うようにする。また、フォーカス制御部10は、レンズ位置などのレンズ駆動情報をカメラ制御部12へ出力する。
【0034】
カメラ操作部11は、ユーザがカメラに対する各種の操作を指示するためのインターフェースである。このカメラ操作部11には、カメラの電源をオン/オフするための電源スイッチ、静止画撮影または動画撮影などを指示入力するためのレリーズボタン、静止画撮影モード、動画撮影モード、ライブビューモード、静止画/動画再生モードなどを設定するためのモードボタン等の操作部材が含まれている。
【0035】
カメラ制御部12は、CPU(Central Processing Unit:中央処理装置)等を含み、種々の周辺回路を含むASIC(Application Specific Integrated Circuit:特定用途向け集積回路)で構成されたプロセッサである。このプロセッサは、単一のプロセッサであってもよく、また複数のプロセッサによって構成してもよい。
【0036】
カメラ制御部12は、フォーカス制御部10からのレンズ駆動情報やAF評価値演算部4からのAF評価値、露光制御部9からの撮像部2の駆動情報、画像処理部3からの処理情報、手振検出部7からの手振情報、カメラ操作部11からの操作入力などに基づいて、画像処理部3、メモリカード6、手振補正部8、露光制御部9、フォーカス制御部10等を含むこのカメラ全体を制御する。
【0037】
次に、
図2を用いて、撮像部2および画像処理部3の内、エラー検出と、画像補正処理を行う回路部分について説明する。
【0038】
図2において、撮像部2内には、撮像素子2aから読み出された画素データを画像処理部3に送信するための送信部2bが設けられている。この送信部2bは、送信回路を含み、撮像素子2aから読み出された撮像面の1列分の画素データ(例えば、
図2の左下に示す画像データのy1列)を分割し、分割された画素データは複数のレイン(lane)を用いて並行して画像処理部3のデータ受信部31に送信する。複数レーンで並行してデータを送信することにより、画素データを高速に送信することができる。本実施形態においては、
図14A~
図15Dに示すように、6レーンで送信している。
図2では、複数レーンを簡略化し、1レーンとして示している。
【0039】
撮像素子2aは、
図2の左下に示すようにR画素、G画素、B画素が交互に二次元的配列されるベイヤー配列となっている。画素データを送信するにあたっては、まずy1列の画素データを順次送信し、続いて、y2列、y3列、・・・の画素データを送信する。この画素データは、送信部2bとデータ受信部31の間の画像データが示すように、1列分の画素データを送信する際に、先頭部分にスタートコードSTCを位置させ、その後に、画素データを位置させる。スタートコードSTCは、予め決められたデータであり、画素データとは区別できるように構成されている。スタートコードSTCと画素データのビット数は同じである。後述するように、たとえばy1列の画素データを複数レーンに分割して送信するので、複数レーンの各1列分の画素データの先頭部分にそれぞれスタートコードSTCを位置させる。また、撮像素子2aは、複数レーンの各1列分の画素データ中において予め決められた位置に特殊コードを配置して送信する。スタートコードSTCと同様に、特殊コードも予め決められたデータであり、画素データと区別可能に、また、同じビット数で構成されている。
【0040】
図2に示す例では、送信部2bからデータ受信部31に送信する画像データの先頭は、スタートコードSTC1であり、続いて、赤色画素データPr1、緑色画素データPg1、・・・、赤色画素データPr2、緑色画素データPg2、・・・、スタートコードSTC2、緑色画素データPg3、青色画素データPb3、・・・緑色画素データPg4、青色画素データPb4の順となっている。
【0041】
画像処理部3内には、データ受信部31、スタートコード検出部32、画素データ検出部33、画素データ並び替え部34、エラー情報付加部35、画素補正部36、画素データカウント部37、エラー検出部38、付加エラー情報解析部39、メモリ30が設けられている。これらの各部は、ハードウエア回路で構成され、カメラ制御部12からの制御信号に基づいて動作する。なお、これらの各部は、ハードウエア回路に限らず、ソフトウエア的に実現してもよく、ハードウエア回路とソフトウエアの組み合わせで実現してもよい。
【0042】
データ受信部31は、送信部2bから複数レーンに分けて送信されてきた画像データを受信する。この送信されるデータは、
図2の左下の撮像部2の撮像素子が撮像した画像データであって、左上のy1列の画素データ、y2列の画素データ、・・・の順に連続的に並んでいる画像データである。この画像データの中には、撮像素子2aの各画素からの画素データの他に、スタートコードや、後述する特殊コード、エンドコードが含まれ、さらに、何の情報を有さない単なる空情報のデータも含まれている。また、画素データは、パリティチェック等の誤り訂正用のデータも含んでいる。
【0043】
スタートコード検出部32は、データ受信部31から出力された画像データを入力し、この中からスタートコードSTCを検出する。前述したように、画像データの中に、複数のレーンの各列の先頭の画素データの直前にスタートコードSTCが配置されている。このスタートコードSTCを検出すれば、各列の画素データの先頭位置を検出できる。スタートコード検出部32は、スタートコードSTCを検出すると、画素データカウント部37、エラー検出部38、エラー情報付加部35に、スタートコード検出を通知する。このスタートコード検出部32における詳しい動作については、
図6を用いて後述する。
【0044】
画素データカウント部37は、画像データの内の画素データの位置をカウントするカウンタである。前述したように、画像データの中には画素データ以外にも種々のデータが含まれている。しかし、各列の画素データの先頭にはスタートコードが配置されているので、画素データカウント部37は、このスタートコードを基準に画素データの位置をカウントする。画素データカウント部37の詳しい動作については、
図8を用いて後述する。
【0045】
画素データ検出部33は、スタートコード検出部32から画像データを入力し、この中から画素データを検出し、さらに、特殊コード等の位置に基づいてエラー検出を行う。画素データ検出部33が、エラーを検出すると、画素データカウント部37およびエラー検出部38にエラー検出を通知する。また、画像データ中には、特殊コード、エラーコード、エンドコードが含まれており、この特殊コード等のコードを検出すると、その位置とコード内容を示すコード情報を画素データ並び替え部34に通知する。画素データ検出部33は、
図2に示すように画像データに同期した別の信号でコード情報を画素データ並び替え部34へ送信してもよいし、画像データ内にコード情報を組み込んで画像データの一部として画素データ並び替え部34に送信してもよい。画素データ検出部33における詳しい動作については、
図7を用いて後述する。
【0046】
画素データ並び替え部34は、画素データ検出部33から画像データを入力し、画像データの中からスタートコード等、画素データ以外を削除し、画像データの所定のサイズに対する不足分、過剰分に応じて、画素データにダミーデータを追加または不要データを削除する。画素データ並び替え部34がエラーを検出すると、エラー検出部38にエラー検出を通知する。また、画素データ並び替え部34は、複数レーンに分割された画素データを撮像面の1列分の画素データの配列の並び替える処理を行う。画素データ並び替え部34における画素データの並び替えの行い方については
図3を用いて、また画素データ並び替え部34における詳しい動作については、
図10を用いて後述する。
【0047】
エラー検出部38は、画素データカウント部37から画素データの位置に関するカウント情報(カウンタ値)を入力し、またスタートコード検出部32からスタートコード検出情報を入力し、また画素データ検出部33および画素データ並び替え部34からエラー検出情報を入力する。エラー検出部38は、これらの情報に基づいて、エラー情報をエラー情報付加部35に出力する。エラー検出部38における詳しい動作については、
図9を用いて後述する。
【0048】
エラー情報付加部35は、画素データ並び替え部34から画素データのみから構成される画像データを入力すると、すなわち撮像面の1列分の画素データを取得すると、エラー検出部38から入力したエラー情報を撮像面の1列分の画素データの末尾に付加し、エラー情報を含む画像データを生成する。エラー情報付加部35におけるエラー情報の付加については
図4を用いて、また、エラー情報付加部35における詳しい動作については
図11を用いて後述する。
【0049】
付加エラー情報解析部39は、エラー情報付加部35からエラー情報を含む画像データを入力し、エラー情報に基づいて画素補正する範囲等を解析し、この解析結果に基づく補正指示を画素補正部36に出力する。付加エラー情報解析部39における詳しい動作については、
図12を用いて、また補正指示に含まれる補正範囲については、
図15Aないし
図15Dを用いて後述する。
【0050】
画素補正部36は、エラー情報付加部35から入力した画像データに対し、付加エラー情報解析部39から入力した補正指示に基づいて画素補正を行う。画素補正部36における画素補正処理については
図5を用いて、また画素補正部36における詳しい動作については、
図13を用いて後述する。
【0051】
画素補正部36は、受信した画素データを補正する補正回路として機能する。補正回路は、エラーに関する情報(補正指示)に基づいて、エラー情報付加部35から入力した画素データ列(画像データ)の画素データを補正する(例えば、
図5、
図13のS147参照)。補正回路は、エラーに関する情報(補正指示)に対応する画素データの列とは異なる画素データの列の画素データに基づいて、エラー情報に対応する画素データを補正する(例えば、
図5、
図13のS147参照)。
【0052】
メモリ30は、画像処理部3において、各部において処理された画素データ等の画像データを一時的に記憶する。メモリ30は、電気的書き換え可能な不揮発性メモリまたは電気的に書き換え可能な揮発性メモリである。メモリ30は、画素データを記憶するためのメモリとして機能する。
【0053】
次に、
図3を用いて、画素データ並び替え部34による画素データの並び替えについて説明する。
図3(a)は、データ受信部31(画像処理部3)が受信した画素データが全て伝送エラーを含まず正常な場合を示す。なお、ここでは簡単化のため複数レーンの記載を省略し、画像データが1レーンで送信されるものとしている。前述したように、画像データの内、各画素データ列の先頭には、スタートコードSTCが配置されている。そこで、データ受信部31が受信し、シリアルデータ(受信した画像データ)に変換したデータの内、スタートコードSTCが検出され、次のスタートコードが検出される前までのデータが、撮像面の1列分の画像データとなる。
図3は、画像データ1(y1列)~画像データ6(y6列)までを示す。
【0054】
シリアルデータ(受信した画像データ)の内、撮像面の1列分の画像データを、順次、縦方向(行)に並べると、
図3(a)の右下に示すように、撮像素子2aにおいて撮像した2次元状の画像データを得ることができる。
図3(a)に示す例では、全ての画素データに伝送エラーがないことから、正常な画像データが示されている。
【0055】
図3(b)は、画素データEbに伝送エラーが発生して一部が欠落し、この画素データEbの後に受信した画素データが間違った値の画素データとなった場合を示す。
図3(b)に示す例では、画像データ3の7番目の画素データEbが崩れてしまった、例えば、ビット数が減少してしまったために、それ以降、次のスタートコードSTCの位置までの画素データのビット位置がずれてしまい、画素データが正常ではない。この例では、画像データにおいてy3列の内、x7~x10行までの画素データが壊れてしまっている。
【0056】
図3(c)は、画素データLbが伝送エラーによって全て欠落した場合を示す。
図3(c)に示す例では、画像データ3の7番目の画素データLbが無くなってしまったために、それ以降、次のスタートコードSTCの位置までの画素データが1つ欠落したままである。この例では、画像データにおいてy3列の内、x7~x9行までの画素データが壊れてしまい、またx10行の画素データが存在しない。画素データ並び替え部34は、欠落しているy3列、x10行の位置にダミーのデータを画素データとして付加し画素データの数を所定の数に整える。
【0057】
次に、
図4を用いて、エラー情報付加部35によるエラー情報の付加について説明する。画素データ並び替え部34によって並び替えられた画像データ(
図3(a))に対して、エラー情報付加部35が各列の末尾にエラー情報を付加する。
図4(a)は、
図3(a)に示したように、全ての画素データが正常であった場合を示す。この場合には、各列の末尾に正常だったことを示すエラー情報Eiが付加される。
【0058】
図4(b)は、
図3(b)に示したように、伝送エラーのために、伝送エラーが発生した画素データ以降が間違った画素データとなった場合を示す。この場合には、y1、y2、y4、y5、y6列の末尾には正常だったことを示すエラー情報Eiが付加される。しかし、y3列の場合、x7~x10行の画素データが破損していることから、y3列の末尾にはエラーを検出し、x7~x10行の画素データが破損したことを示すエラー情報Eitが付加される。
【0059】
図4(c)は、
図3(c)に示したように、伝送エラーのために、伝送エラーが発生した画素データが欠落してしまい、1列分の画像データの末尾の画素データが欠落した場合を示す。この場合には、y1、y2、y4、y5、y6列の末尾には正常だったことを示すエラー情報Eiが付加される。しかし、y3列の場合、x7行の画素データが欠落し、x7~x10行の画素データが異常であることから、y3列の末尾であって、x10行の位置に伝送エラーが発生したことを示すエラー情報Eitが付加される。なお、y3列のx10行の位置には、ダミーデータDを追加している。
【0060】
次に、
図5を用いて、画素補正部36による画素補正処理について説明する。画素補正処理にあたっては、画像データの各列の末尾に付加したエラー情報に基づいて、エラーが検出された画素データに対して、同じ行でエラーが検出されなかった上下の列の画素データを用いて補正を行う。
図5(a)に示す例は、
図4(b)で説明した例と同様であり、y3列のx7~x10行の位置の画素データが欠落している。このy3列は、赤色(R)画素と緑色(G)画素が交互に配列されているため、この画素配置と同色の配列であるy1列と、y5列にある同一の行の画素データを用いて補正する。
【0061】
図5(a)における補正にあたって、エラーが検出された画素データを、エラーが検出された列の上下の列の同一の行に位置するエラーが検出されなかった画素データの平均値と比較し、値が異なる場合は、エラーが検出された画素データをこの平均値に置き換える。例えば、y3列のx10行の位置の画素データは、エラー情報Eitに基づき破損していることから、y3列の上下の列でエラーが検出されなかった(x10、y1)および(x10、y5)の位置にある画素データの平均値に置き換える。この場合、y3列のx1~x6行の画素データは破損していないので、補正処理を施さない。
図5(a)の左側の画像データにおいて補正処理を行うと、
図5(a)の右側に示すように、y3列のx7~x10行の画素データが補正されて正常な値となり、画像データ全体が正常となる。
【0062】
図5(b)に示す例は、
図4(c)で説明した例と同様であり、y3列のx7行の位置の画素データが欠落したために、y3列の画素データの数が1つ減少している。この例でも、エラーが検出された画素データを、エラーが検出された列の上下の列の同一の行に位置するエラーが検出されなかった列の画素データの平均値と比較し、値が異なる場合は、エラーが検出された画素データをこの平均値に置き換える。また、画素データが欠落している位置は、エラー情報Eitや画素数から認識できる。また、y3列のように、エラーが発生した列であっても、エラー情報Eiに基づきx1~x6行までの画素データは破損していないので、補正処理を施さない。
図5(b)の左側の画像において補正処理を行うと、
図5(b)の右側に示すように、y3列のx7~x10行の画素データが補正された正常な値となり、画像データ全体が正常となる。
【0063】
次に、
図6に示すフローチャートを用いて、スタートコード検出部32におけるスタートコード検出の動作について説明する。スタートコード検出部32は、複数レーンに対応するスタートコードの検出を並行して処理するが、簡略化して1レーンに対応する処理について説明する。スタートコード検出の動作が開始すると、まず、データを取り込む(S1)。ここでは、スタートコード検出部32は、データ受信部31によって受信した、予め決められたビット数単位で画像データを取り込み、メモリ30に保存する。予め決められたビット数は、1画素分の画素データに相当し、またスタートコードを表すデータにも相当する。
図2を用いて前述したように、撮像素子2aの各画素から読み出した画素データが、左上の画素から順次、シリアルデータの形式で取り込まれ、各画素データ列の先頭にはスタートコードが配置されている。
【0064】
データを取り込むと、次に、スタートコードを検出した否かを判定する(S3)。スタートコード検出部32は、画像データの予め決められたビット数のデータを検出し、その中に、スタートコードSTCがあるか否かを検出する。この判定の結果、ステップS1において取り込んだデータが画素データ等であり、スタートコードSTCでない場合には、このフローを終了する。次のデータを取り込むと、ステップS1からスタートする。
【0065】
一方、ステップS3における判定の結果、スタートコードSTCを検出した場合には、スタートコードの情報を付加する(S5)。スタートコードと検出されたデータは画素データではないので、スタートコード検出部32は、スタートコードのデータ内に、画素データでないことを識別するための識別信号を追加する。
【0066】
続いて、外部のブロックに通知を行う(S7)。ここでは、スタートコード検出部32は、受信した画像データが、スタートコードSTCである旨を、外部のブロック、すなわち画素データカウント部37、エラー検出部38、およびエラー情報付加部35に通知する。前述したように、スタートコードSTCを検出したことにより、次に受信するデータは、その列の先頭の画素データであることを各部に通知するためである。外部ブロックに通知すると、スタートコード検出の動作を終了する。次のデータを読み込むと、ステップS1から再開する。
【0067】
次に、
図7に示すフローチャートを用いて、画素データ検出部33における画素データ検出の動作について説明する。画素データ検出部33は、複数レーンに対応する画素データを並行して処理するが、簡略化し1レーンに対応する処理について説明する。画素データ検出の動作が開始すると、まず、データを読み込む(S11)。ここでは、画素データ検出部33が、スタートコード検出部32から出力される画像データを読み込み、メモリ30に保存する。
【0068】
データを読み込むと、次に、有効データか否かを判断する(S13)。前述したように、スタートコードは画素データではなく、スタートコードの後に位置する不図示のヘッダに付加情報として画素データでない旨が記録されている。画素データ検出部33は、ヘッダの付加情報にて画素データと記録されていなければ、有効データと判断する。このステップでの判定の結果、有効データでない場合には、画素データ検出のフローを終了する。
【0069】
ステップS13における判定の結果、有効データであれば、次に、特殊コードであるか否かの判断を行う(S15)。特殊コードは、画像データの各レーンの列に、所定の画素データと、その次の画素データの間に配置され、画素データと同数のビット数のデータである。画素データとは識別できるデータで構成される。特殊コードは、各レーンで同じ位置に配置されている。このため、特殊コードの配置位置が、他のレーンと相違していると、その位置に伝送エラーが発生したことが推測できる。なお、特殊コードは、各レーンで同じ位置に配置されていることから、画素データの各レーンの伝送速度の調整に使用することができる。このステップでは、画素データ検出部33は、ステップS11において読み込んだデータの内容に基づいてこのデータが特殊コードであるか否かを判定する。
【0070】
ステップS15における判定の結果、特殊コードであった場合には、次に、特殊コードでのエラー検出か否かを判定する(S17)。前述したように、特殊コードは、各レーンで同じ位置に配置されていることから、この位置が他のレーンと異なっている場合には、伝送エラーが発生したことを検出したと判定できる。ここでは、画素データ検出部33が、この判定を行う。
【0071】
ステップS17における判定の結果、エラーを検出した場合には、エラー検出部38にコードエラーを通知する(S19)。ここでは、画素データ検出部33は、画素データカウント部37とエラー検出部38に、特殊コードに関するエラー(コードエラー)を検出したことを通知する。
【0072】
一方、ステップS17における判定の結果、エラーを検出しなかった場合、またはステップ19でエラー検出部にコードエラーを通知した場合には、特殊コード情報を付加する(S21)。ここでは、画素データ検出部33は、エラーを検出しなかった場合に、特殊コードの位置およびデータは正常であったことを特殊コードの情報として画像データに付加する。また画素データ検出部33は、エラーを検出した場合はエラーを検出したことを特殊コードの情報として画像データに付加する。。また、画像データ検出部33は、この特殊コードの情報を、画像データに同期した別の信号で画素データ並び替え部34へ送信してもよい(
図2)。
【0073】
ステップS21において特殊コードの情報を付加することを行うと、次に、エンドコードを検出したか否かを判定する(S23)。画像データの内、各レーンに対応する列の最後の画素データの次に、エンドコードが配置されている。エンドコードは、画素データと同数のビット数であり、他の画素データ、スタートコード、特殊コードとは識別できるデータによって構成される。このステップにおいて、画素データ検出部33は、エンドコードを検出したか否かを判定する。この判定の結果、エンドコードを検出しなかった場合には、ステップS15に戻る。
【0074】
ステップS23における判定の結果、エンドコードを検出した場合には、エンドコードの情報を付加する(S25)。画素データ検出部33は、エンドコード内に、エンドコードを検出した情報、つまり、エンドコードあることを識別するための識別信号を付加する。
【0075】
エンドコードの情報を付加すると、次に、次のスタートコードを検出した後か否かを判定する(S27)。複数レーンに対応する各画素データ列の先頭には、スタートコードが配置されており、ここでは、画素データ検出部33は、次の画素データ列のスタートコードを検出したか否かを判定する。次のスタートコードを検出すると、画素データ検出のフローを終了する。
【0076】
一方、次のスタートコードを検出しない場合には、ステップS15に戻り、特殊コードを検出した否かを判定する。この判定の結果、特殊コードを検出しない場合には、エンドコード検出前か否かを判定する(S29)。前述したように、エンドコードの検出は、ステップS23において行っており、ここでの検出の結果、エンドコードを検出した後(但し、次のスタートコードの検出前)であれば、ステップS15に戻る。ステップS15において特殊コードでないと判断された場合には、スタートコードとエンドコードの間に配置されているデータは画素データと判断できる。また、エンドコードを検出した以降のデータは不要なデータと判断する。
【0077】
一方、ステップS29における判定の結果、エンドコード検出前であれば、次に、画素データカウント部37に通知する(S31)。前述したように、スタートコードとエンドコードの間のデータは、画素データと判断できることから、画素データカウント部37に通知し、画素データカウント部37は画素データの数のカウントアップを行う(
図8のS47参照)。
【0078】
続いて、画素データでのエラーを検出する(S33)。画像データ中の画素データには、特許文献1に記載されているような誤り訂正用のデータが付加されている。このステップでは、画素データ検出部33は、誤り訂正用のデータに基づいて、画素データのエラーが検出されたかを判定する。この判定の結果、エラーが検出されなかった場合には、ステップS15に戻る。
【0079】
一方、ステップS33における判定の結果、エラーを検出した場合には、エラー検出部38にデータエラーを通知する(S35)。ここでは、画素データ検出部33は、エラー検出部38と画素データカウント部37にデータエラーを通知する。エラー検出部38は、データエラーの通知を受けると画素データカウント値とエラー情報をメモリ30に保存する(S57、S59、S61参照)。エラー通知を行うとステップ15に戻る。
【0080】
このように、画素データ検出のフローにおいては、特殊コードの位置、およびデータからコードエラーを検出し(S17、S19)、またエンドコードを検出し(S23、S25)、および画素データのデータエラーを検出している(S33、S35)。また、この間、読み込まれたデータが画素データであれば、その旨を画素データカウント部37に通知している。
【0081】
次に、
図8に示すフローチャートを用いて、画素データカウント部37における画素データカウントの動作について説明する。画素データカウントの動作が開始すると、まず、スタートコード受信の通知があったか否かを判定する(S41)。前述したようにスタートコード検出部32は、スタートコードを検出すると、画素データカウント部37に、その旨を通知する(
図6のS7参照)。ここでは、画素データカウント部37は、スタートコード検出の通知を受けたか否かを判定する。
【0082】
ステップS41における判定の結果、スタートコード受信の通知を受け取った場合には、カウントリセットを行う(S43)。ここでは、画素データカウント部37は、画素データの位置(数)をカウントするためのカウンタをリセットする。
【0083】
ステップS43においてカウントリセットを行うと、またはステップS41における判定の結果、スタートコード受信の通知がない場合には、次に、画素データ検出の通知を受けたか否かを判定する(S45)。画素データ検出部33は、スタートコード検出からエンドコード検出の間で、特殊コードを検出した場合を除いて、1画素分の画素データを検出する毎に、画素データ検出を画素データカウント部37に通知してくる(
図7のS31参照)。ここでは、画素データカウント部37は、この通知を受け取ったか否かに基づいて判定する。この判定の結果、画素データ検出の通知を受けていない場合には、ステップS41に戻る。
【0084】
ステップS45における判定の結果、画素データ検出の通知を受けた場合には、データのカウントアップを行う(S47)。ここでは、画素データカウント部37は、画素データのカウンタをアップする。カウントアップを行うと、ステップS41に戻る。
【0085】
このように、画素データカウントのフローでは、スタートコードを検出したときから(S41、S43)、1画素分の画素データを受信するたびに(S45)、カウンタがアップする。このため、画素データカウント部37のカウンタの値をみれば、スタートコードを基準として画素データ検出部33で検出されている画素データの位置(数)が分かる。
【0086】
次に、
図9に示すフローチャートを用いて、エラー検出部38におけるエラー検出の動作について説明する。エラー検出の動作が開始すると、まず、コードエラーを検出したか否かを判定する(S51)。前述したように、画像データにおいて複数のレーンの各画素データ列の特定の位置に特殊コードが配置されており、画素データ検出部33は、この位置からコードエラーを検出した否かを判定し、コードエラーを検出した場合にはその旨をエラー検出部38に通知する(
図7のS17、S19参照)。このステップでは、エラー検出部38が、このコードエラー通知を受けたか否かを判定する。
【0087】
ステップS51における判定の結果、コードエラーを検出した場合には、画素データカウンタを取得する(S53)。ここでは、エラー検出部38が、画素データカウント部37から特殊コードのエラー(コードエラー)を検出した画像データ内の位置に対応するカウンタ値を取得する。
【0088】
続いて、エラー情報を保存する(S55)。ここでは、エラー検出部38は、特殊コードのエラーの検出と、その位置を示すカウンタ値と、エラーを検出した特殊コードの1つ前の特殊コードのカウンタ値をメモリ30に保存する。
【0089】
ステップS55においてエラー情報を保存すると、またはステップS51における判定の結果、コードエラーを検出しない場合には、次に、データエラーを検出したか否かを判定する(S57)。前述したように、画素データには、誤り訂正用のデータも含まれており、画素データ検出部33は、このデータに基づいてデータエラーを検出した場合には、その旨がエラー検出部38に送信される(
図7のS33、S35参照)。このステップでは、エラー検出部38が、画素データ検出部33からデータエラーの通知を受けたか否かを判定する。
【0090】
ステップS57における判定の結果、データエラーを検出した場合には、画素データカウンタを取得する(S59)。ここでは、エラー検出部38が、画素データカウント部37からデータエラーを検出した画像データ内の位置に対応するカウンタ値を取得する。
【0091】
続いて、エラー情報を保存する(S61)。ここでは、エラー検出部38は、画素データのエラーに検出と、検出した位置を示すカウンタ値をメモリ30に保存する。画素データのエラー検出は、パリティチェックなどのデータのビットを確認する方法など様々な方式がある。
【0092】
ステップS61においてエラー情報を保存すると、またはステップS57における判定の結果、データエラーを検出しなかった場合には、エンドコードエラーを検出した否かを判定する(S63)。エンドコードエラーは、後述する画素データ並び替えのフローにおいて画素データ並び替え部34にて検出され、検出された場合にはエラー検出部38に通知される(
図10のS99参照)。このステップでは、エンドコードエラーの通知がなされたか否かを判定する。
【0093】
ステップS63における判定の結果、エンドコードエラーを検出した場合には、画素データカウンタを取得する(S65)。ここでは、エラー検出部38が、画素データカウント部37からエンドコードエラーを検出した画像データの位置に対応するカウンタ値を取得する。
【0094】
続いて、エラー情報を保存する(S67)。ここでは、エラー検出部38は、エンドコードエラーの検出と、画素データの過不足の情報をメモリ30に保存する。
【0095】
ステップS67においてエラー情報を保存すると、またはステップS63における判定の結果、エンドコードエラーを検出しない場合には、次に、次のスタートコードを検出したか否かを判定する(S69)。画像データ中において、エンドコードと次のスタートコードの間には、空のデータが配置されている場合がある。スタートコード検出部32は、スタートコードを検出すると、その旨をエラー検出部38に送信する(
図6のS7参照)。ここでは、エラー検出部38は、スタートコードを検出したか否かに基づいて判定する。この判定の結果、次のスタートコードを検出していない場合には、ステップS51に戻る。
【0096】
一方、ステップS69における判定の結果、次のスタートコードを検出した場合には、保存したエラー情報をエラー情報付加部に送信する(S71)。ここでは、エラー検出部38は、ステップS55、S61、S67において保存したエラー情報を、エラー情報付加部35に送信する。
【0097】
このように、エラー検出のフローにおいては、画素データ検出部33および画素データ並び替え部34において検出されたエラーの種類と、そのエラーを検出した画像データ内の位置を取得し、これらをエラー情報としてメモリ30に保存している(S55、S61、S67)。そして、1列分の画素データの取得が完了し、次の画素データ列に移る際に、保存したエラー情報をエラー情報付加部35に送信している(S71)。
【0098】
次に、
図10に示すフローチャートを用いて、画素データ並び替え部34における画素データ並び替えの動作について説明する。画素データ並び替え部34は、複数レーンに対応する画素データを並行して処理するが、ここでは、1レーンに対応する処理について説明する。画素データ並び替えの動作が開始すると、まず、データを読み込む(S81)。ここでは、画素データ並び替え部34が、画素データ検出部33から出力される画像データを読み込み、メモリ30に保存する。
【0099】
データを読み込むと、次に、特殊コードの情報付加があるか否かを判定する(S83)。読み込んだデータが、特殊コードがあった場合には、その旨がデータに付加されている(
図7のS19参照)。このステップでは、画素データ並び替え部34が、読み込んだデータに特殊コードであることの情報が付加されているか否かを判定する。
【0100】
ステップS83における判定の結果、特殊コード情報が付加されていた場合には、特殊コードを削除する(S85)。特殊コードであることの情報が付加されているデータは、画素データではなく特殊コードであり後段のブロックでは不要であるため、特殊コードであることの情報が付加されているデータである特殊コードを削除する。
【0101】
ステップS85において特殊コードであることの情報が付加されていたデータを削除すると、またはステップS83における判定の結果、データに特殊コードであることの情報が付加されていなかった場合には、次に、エンドコード情報が付加されているか否かを判定する(S87)。前述したように読み込んだデータにエンドコードが検出された場合には、データ内にエンドコードであることの情報が付加されている(
図7のS23、S25参照)。このステップでは、画素データ並び替え部34は、ステップS81において取得したデータにエンドコードであることの情報が付加されているか否かを判定する。
【0102】
ステップS87における判定の結果、エンドコードであることの情報が付加されていない場合には、画素データを順番に保存する(S89)。読み込んだデータが、特殊コードおよびエンドコードでない場合は、画素データであることから、読み込んだ順番にメモリ30に保存する。この時、複数のレーンに分割された画素データを統合して画素データの順番を考慮し並び替えてメモリ30に格納する。画素データを保存すると、ステップS83に戻る。
【0103】
一方、ステップS87における判定の結果、エンドコードであることの情報が付加されていた場合には、設定した画像サイズか否かを判定する(S91)。撮像素子2aから読み出された画素データは、予め設定されている画像サイズであり、スタートコードの後からエンドコードの前までの画素データを全て読み込んだので、読み込んだ画素データのデータ量と画像サイズを照合する。そこで、画素データ並び替え部34は、ステップS89において順番にメモリ30に保存した画素データのデータ容量が、予め設定されている画像データのデータ容量と同じか否かを判定する。
【0104】
ステップS91における判定の結果、設定した画像サイズでない場合には、次に、取得データ不足か否かを判定する(S93)。ここでは、画素データ並び替え部34は、ステップS89において順番にメモリ30に保存した画素データのデータ容量が、予め設定されている画像データのデータ容量よりも少ないか否かを判定する。
【0105】
ステップS93における判定の結果、データが不足している場合には、ダミーデータを追加、保存する(S95)。この場合は、
図3(c)において説明したように、画素データが欠落し、そのため画素データのデータ量が不足している状態である。そこで、画素データが欠落しているデータ量だけ、ダミーデータを追加して画像サイズを整え、追加した後のデータをメモリ30に保存する。
【0106】
一方、ステップS93における判定の結果、取得データが不足していない場合、すなわちデータ量が多い場合には、過剰データを削除し、削除した後のデータを保存する(S97)。この場合は、画素データが誤って多くなったことから、設定サイズよりも多い分を削除し画像データのサイズを整え、削除後のデータをメモリ30に保存する。
【0107】
ステップS95またはS97においてデータを保存すると次に、エラー検出部38にエンドコードエラーを通知する(S99)。ここでは、画素データ並び替え部34は、エラー検出部38にエンドコードエラーを通知する(
図9のS63参照)。
【0108】
ステップS99において、エンドコードエラーを通知すると、またはステップS91における判定の結果、取得した画像データのサイズが設定したサイズである場合には、次に、エンドコードの削除を行う(S101)。エンドコードの情報が付加されているデータ部分は画素データではないので後段のブロックでは不要であり、画素データ並び替え部34は、このエンドコードであることの情報が付加されているデータ部分を削除する。エンドコードに対応するデータ部分を削除すると、画素データ並び替えのフローを終了する。
【0109】
この画素データ並び替えのフローでは、特殊コード情報が付加されているデータ部分を削除し、画素データのみの画像データに並び替える(S81~S89参照)。そして、エンドコードの情報を検出すると、取得した画像データのデータ容量が予め設定されているサイズであるか否かを判定する。そして、設定通りの画像データのサイズでない場合には、ダミーデータを追加または過剰データを削除して画像データのサイズを設定通りとし、エンドコードエラーの通知を行う(S91~S99)。最後に、エンドコード情報が付加されているデータ部分を削除する(S101)。画素データ並び替えのフローが終了すると、1列分の画素データのみの画像データがメモリ30に保存される。
【0110】
次に、
図11に示すフローチャートを用いて、エラー情報付加部35におけるエラー情報付加の動作について説明する。エラー情報付加の動作が開始すると、まず、スタートコードを検出したか否かを判定する(S111)。スタートコード検出部32は、スタートコードを検出するとその旨をエラー情報付加部35に通知する(
図6のS7参照)。このステップでは、エラー情報付加部35は、スタートコード検出部32から通知を受信したか否かを判定する。ステップS111における判定の結果、スタートコード検出しない場合には、スタートコードの検出を待つ。
【0111】
ステップS111における判定の結果、スタートコードを検出すると、次に、画素データを取得する(S113)。このステップでは、エラー情報付加部35は、画素データ並び替え部34がステップS89において保存した画素データを取得する。
【0112】
ステップS113において画素データを取得すると、次に、設定した画像サイズか否かを判定する(S115)。ここでは、ステップS113において取得した画素データの量に基づく画像データのサイズが、予め設定された画像サイズに達したか否かを判定する。この判定の結果、設定した画像サイズでない場合には、ステップS113に戻り、順番に画素データを取得する。設定した画像サイズは、例えば、撮像面の1列分に対応する全画素データのデータ量である(
図3の例えばy1列)。
【0113】
一方、ステップS115における判定の結果、設定した画像サイズになると、エラー情報を付加する(S117)。ここでは、エラー情報付加部35は、ステップS71においてエラー検出部38が送信したエラー情報を受信し、設定した画像サイズとなった画素データ列の最後に、受信したエラー情報を付加する。エラー情報を付加すると、エラー情報付加のフローを終了する。
【0114】
エラー情報付加のフローでは、設定した画像サイズとなった画素データ列、つまり画像データの最後に、エラー情報を付加している(S117参照)。エラー情報は、コードエラー、データエラー、エンドコードエラーの種別とそのエラーを検出した画素データの位置を示している。エラー情報付加部35は、エラー情報を付加した画像データ(
図2参照)を画素補正部36へ送信する(
図2)。
【0115】
次に、
図12に示すフローチャートを用いて、画素補正部36内の付加エラー情報解析部39における付加エラー情報解析の動作について説明する。付加エラー情報解析の動作が開始すると、まず、データエラー情報が付加されているか否かを判定する(S121)。ここでは、付加エラー情報解析部39は、エラー情報付加部35から受信した画素データ列の最後に位置するエラー情報にデータエラー情報が付加されているか否かを判定する。データエラー情報は、パリティチェック等、誤り訂正のデータに基づいてエラーを検出したことを示す。
【0116】
ステップS121における判定の結果、データエラー情報が付加されていた場合には、エラー位置情報を取得し(S123)、補正領域を決定する(S125)。データエラー情報にはエラー位置の情報が記録されているので、付加エラー情報解析部39は、このエラー位置情報を取得する。またエラー位置が分かると、付加エラー情報解析部39は、その位置に基づいてデータエラーを補正する領域を決めることができる。
【0117】
ステップS125において補正領域を決定すると、またはステップS121における判定の結果、データエラー情報が付加されていない場合には、次に、コードエラー情報が付加されているか否かを判定する(S127)。ここでは、付加エラー情報解析部39は、エラー情報にコードエラー情報が付加されているか否かを判定する。コードエラー情報は、特殊コードの位置がずれていたことや特殊コードが検出できなかったことから、データにエラーが発生していることを示す。
【0118】
ステップS127における判定の結果、コードエラー情報が付加されていた場合には、エラー位置情報を取得し(S129)、補正領域を決定する(S131)。コードエラー情報にはエラー位置の情報が記録されているので、付加エラー情報解析部39は、このエラー位置情報を取得する。またエラー位置が分かると、付加エラー情報解析部39は、その位置に基づいて画素データを補正する領域を決めることができる。
【0119】
ステップS131において補正領域を決定すると、またはステップS127における判定の結果、コードエラー情報が付加されていない場合には、次に、エンドコードエラー情報が付加されているか否かを判定する(S133)。ここでは、付加エラー情報解析部39は、エラー情報にエンドコードエラー情報が付加されているか否かを判定する。エンドコードエラー情報は、画像サイズが設定サイズより多いまたは少ない場合やエンドコードを検出できない場合に、画像データにエラーが発生していることを示す。
【0120】
ステップS133における判定の結果、エンドコードエラー情報が付加されていた場合には、次に、エラー位置情報を取得し(S135)、補正領域を決定する(S137)。エンドコードエラー情報にはエラー位置の情報が記録されているので、付加エラー情報解析部39は、このエラー位置情報を取得する。またエラー位置が分かると、付加エラー情報解析部39は、その位置に基づいて画素データを補正する領域を決めることができる。ステップS137において補正領域を決定すると、またはステップS139における判定の結果、エンドコードエラー情報が付加されていない場合には、付加エラー情報解析のフローを終了する。
【0121】
このように、付加エラー情報解析のフローでは、データエラー情報、コードエラー情報、およびエンドコードエラー情報に基づいて、エラー位置を取得し、この位置から画素データの補正領域を決定している。画素補正部36は、付加エラー情報解析部39が決定した補正領域を補正指示として画素補正を行う。
【0122】
次に、
図13に示すフローチャートを用いて、画素補正部36における画素補正の動作について説明する。画素補正は、画像データ列毎に行う。画素補正の動作が開始すると、まず、画素補正が必要か否かを判定する(S141)。ここでは、画素補正部36は、付加エラー情報解析部39における解析結果である補正指示に基づいて、画素補正が必要か否かを判定する。すなわち、データエラー、コードエラー、エンドコードエラー情報がある場合に補正指示を受信し、画素補正が必要と判定する。この判定の結果、画素補正が必要なければ、画素補正のフローを終了する。
【0123】
ステップS141における判定の結果、画素補正が必要な場合には、次に、補正開始位置と補正終了位置を取得する(S143)。画素が補正を行う場合には、エラー位置のみならず、その前後の位置でも補正を行う場合がある。このステップでは、画素補正部86は補正指示に含まれる画素補正を行う範囲(補正領域)を取得する。この補正範囲については、
図15Aないし
図15Dを用いて後述する。
【0124】
ステップS143において補正範囲の位置を取得すると、次に、補正開始位置にあるか否かを判定する(S145)。ここでは、画素補正部36は、ステップS113において取得した画素データについて、画素データの指定位置を順次変更していき、その画素データの位置が補正開始位置であるか否かを判定する。
【0125】
ステップS145における判定の結果、補正開始位置になると、画素補正を行う(S147)。このステップでは、画素補正部36が画素データの補正を開始する。画素データの補正の方法は、種々あり、例えば、補正開始位置(行)の上下の列に位置する同色の画素の画素データの平均値に置き換える。また、適応型画素欠陥補正で画素データが明らかに不適正な画素データを補正するようにしてもよい。
【0126】
続いて、補正終了位置か否かを判定する(S149)。このステップでは、画素補正部36は画素データの指定位置が画素補正の補正終了位置にあるか否かを判定する。この判定の結果、補正終了位置にない場合には、ステップS147に戻り、次の位置の画素データについて、画素補正を行う。補正終了位置に達すると、画素補正のフローを終了する。
【0127】
このように、画素補正のフローでは、画素補正が必要な領域、すなわち補正開始位置と補正終了位置の情報を取得する(S143)。そして、画素データの位置を順次ずらしながら、画素データを取得し、補正領域の画素データの位置になると、上下の同色画素のデータの平均値に置き換える等の補正処理を行う。この画素補正を補正指示のある画素データにおいて行うことにより、伝送エラーが訂正された画像データを得ることができる。
【0128】
次に、
図14Aないし
図14Dを用いて、画像データ中の伝送エラーと画素補正の領域について説明する。
図14Aないし
図14Dは、複数のレーン毎のスタートコード、画素データ、特殊コード、エンドコードを示す。前述したように、撮像部2の送信部2bから、画像処理部3のデータ受信部31の間は、複数レーンで画像データが送受信されている。この
図14Aないし
図14Dは、送信部2bとデータ受信部31の間で送受信される画像データを示している。
【0129】
図14Aは、複数レーンの内、第3番目のレーン(以下、レーン3と称す)に不要なデータが追加されてしまった伝送エラーとなった場合を示す。すなわち、
図14Aに示す例では、破線位置Aにおいて、各レーンに特殊コードが配置されている。しかし、レーン3の特殊コードの位置に、不要なデータが追加されてしまったために、その位置以降、エンドコードの位置まで、画素データの位置がずれてしまっている(範囲B、範囲C)。この場合には、画素データ検出部33が、特殊コードエラーが発生したと判定する(
図7のS17参照)。また、レーン3の破線位置Cにおけるエンドコードの位置がずれ、画素数データが合わないことから、画素データ並び替え部34はエンドコードエラーと判定する(
図10のS97、S99参照)。このようなときには、画素補正部36は、特殊コードエラーであることから、特殊コードエラーの検出後のデータの領域Bの画素データを補正する。
【0130】
図14Bは、複数レーンの内、レーン3における特殊コードで、伝送エラーが発生した場合を示す。すなわち、
図14Bに示す例では、破線位置Aにおいて、各レーンに特殊コードが配置されている。しかしレーン3の特殊コードの位置以降において、全てのデータが伝送エラーとなってしまっている。この場合も、
図14Aの場合と同様に、画素データ検出部33が、レーン3の位置Aにおいて特殊コードの位置が合っていないことから、特殊コードエラーが発生したと判定し、画素データ数が設定画像サイズと合わないことから、画素データ並び替え部34がエンドコードエラーと判定する(
図7のS17、
図10のS97、S99参照)。このようなときには、画素補正部36は、特殊コードエラーであることから、特殊コードエラーの検出後のデータの領域Bの画素データを補正する。
【0131】
図14Cは、複数レーンの内、レーン3におけるエンドコードで、伝送エラーが発生した場合を示す。すなわち、
図14Cに示す例では、破線位置Cにおいて、各レーンにエンドコードが配置されている。しかしレーン3のエンドコードの位置におけるデータが伝送エラーとなってしまっている。この場合は、レーン3のエンドコードが検出できないために、画素データ並び替え部34が、エンドコードエラーと判定する(
図10のS97、S99参照)。画素補正部36は、特殊コードエラーではない(正常)と判定された特殊コードの位置(破線位置A)からエンドコードの位置(破線位置C)の間の全ての画素データを補正する。これは、特殊コードエラーではないと判定された特殊コードの位置から、エンドコードエラーと検出されたエンドコードの位置の間の画素データの一部または全部において伝送エラーが発生している可能性があるからである。
【0132】
図14Dは、複数レーンの内、レーン3における画素データが欠落してしまう伝送エラーが発生した場合を示す。すなわち、
図14Dに示す例では、各レーンの特殊コードと特殊コード(またはエンドコード)の間に画素データが配置されている。しかし、レーン3の画素データの位置Dにおいて、画素データが欠落した場合を示している。このため、エンコードの位置が通常の破線位置Cより1画素データ分だけ前になり、レーン3の画素データ数が所定数と合わないために、画素データ並び替え部34が、エンドコードエラーと判定する(
図10のS97、S99参照)。画素補正部36は、特殊コードエラーではない(正常)と判定された特殊コードの位置(破線位置A)からエンドコードエラーと検出されたエンドコードの位置(破線位置C)の間の全ての画素データを補正する。画素データ検出部33は、位置Dにおいて画素データが欠落したことを検出できない、つまり、特殊コードエラーではないと判定された特殊コードの位置(破線位置A)とエンドコードエラーと検出されたエンドコードの位置(破線位置C)の間の、どの画素データにエラーが発生したかを検出できない場合がある。位置Dにおいて1個の画素データが全て欠落した場合は、データエラーを検出することができないからである。このように、特殊コードエラーではない(正常)と判定された特殊コードの位置(破線位置A)からエンドコードエラーと検出されたエンドコードの位置(破線位置C)の間の画素データの一部または全部において伝送エラーが発生している可能性がある。補正領域の決定方法については後述する。
【0133】
次に、
図15Aないし
図15Dを用いて、付加エラー情報解析部39における補正領域の決定方法について説明する(
図12のS125、S131、S137参照)。
図15Aないし
図15Dに示す例では、6レーンの伝送路で送信部2bからデータ受信部31に送信する画像データを示している。各図において、6レーンの画像データは、横長になるため、上段に示した各レーンは、途中から下段に示している。接続関係はレーン1とレーン6についてのみ実線で示しているが、レーン2~レーン5について同様であるので、接続を示す実線は省略している。
【0134】
図15Aは、特殊コードエラーを検出した場合であって、特殊コードの位置で伝送エラーが発生し、その次の特殊コード以降は正常となっている場合を示す。
図15Aの例において、各レーンの破線位置E、F、Gに特殊コードが位置している。但し、レーン3においては破線位置Fの特殊コードの位置のデータに伝送エラーが発生し、特殊コードは隣の画素データの位置に移動している。このようにレーン3の破線位置Fから伝送エラーにより特殊コードの位置が移動しているが、破線位置Gでは伝送エラーが発生せず、正常に特殊コードが配置されている。
【0135】
図15Aに示す例では、破線位置Eと破線位置Gにおいて特殊コードエラーは検出されず、破線位置Fにおいて特殊コードエラーと判定される。破線位置Eの特殊コードと破線位置Gの特殊コードの間の一部または全部の画素データ(領域K、L)において伝送エラーが発生している可能性があるため、付加エラー情報解析部39は、破線位置Eと破線位置Gの間の範囲の画素データを補正範囲と決定する。画素補正部36は、特殊コードエラーが発生した破線位置Fより前側と後側の画素データの領域、すなわち領域Kおよび領域Lを補正する。
【0136】
図15Bは、特殊コードエラーを検出した場合であって、特殊コードの位置において伝送エラーが発生し、次の特殊コード以降も順次位置がずれている場合を示す。
図15Bの例において、各レーンの破線位置E、F、Gに特殊コードが位置し、破線位置Hにエンドコードが位置している。但し、レーン3においては破線位置Fの特殊コードの位置のデータに伝送エラーが発生し、特殊コードは隣の位置に移動し、以降、画素データと特殊コードが1画素データ分、位置がずれ、さらに、破線位置Hに画素データが位置し、その隣にエンドコードが位置している。このように破線位置F以降は、データが1画素分ずつ隣に移動している。
【0137】
特殊コードエラーを検出した場合、特殊コード以降は画素データがずれている可能性があるため、付加エラー情報解析部39は、エラーを検出した特殊コードから次のエラーを検出しなかった特殊コード(エンドコードを含む)までを補正領域とする。また、エラーを検出した特殊コードの直前のエラーを検出しなかった特殊コードからエラーを検出した特殊コードまでの一部または全部の画素データに伝送エラーが発生した破壊されている可能性があるので、付加エラー情報解析部39はその間を補正領域とする。
図15Bに示す例においては、画素補正部36は、エラーが発生したと検出した破線位置Fより前側と後側の画素データの領域、すなわち領域J、領域K、および領域Lを補正する。
【0138】
図15Cは、エンドコードエラーを検出した場合を示す。
図15Cの例では、破線位置Hにおいて各レーンにエンドコードが配置される。但し、レーン3においては、伝送エラーが発生している。エンドコードエラーが発生したと検出した場合には、付加エラー情報解析部39は、直前の正常に検出された特殊コードからエンドコードまでの範囲を補正領域とする。直前の正常に検出された特殊コードからエンドコードの間の画素データの一部または全てが伝送エラーにより破壊されている可能性があるからである。
図15Cに示す例では、画素補正部36は、破線位置Gにある特殊コードから最後までの画素データの領域、すなわち領域Mを補正する。
【0139】
図15Dは、画素データで伝送エラーが発生し検出した場合を示す。前述したように、画素データには、パリティチェック等の誤り訂正のためのデータが組み込まれている。
図15Dに示す例では、特殊コードは破線位置F、G等に位置しているが、いずれの特殊コードでもエラーが検出されていない。しかし、レーン3の破線位置Fから3番目の画素データにてデータエラーが検出されている。この場合には、画素補正部36は、この3番目の画素位置の画素データを補正する。なお、画素データが正常か否かはパリティチェック等の誤り訂正のデータを検出すればよい。このように、画素データのエラー(データエラー)が検出された場合、データエラーが検出された画素データだけを補正領域とする。
【0140】
以上説明したように、本発明の一実施形態に係る撮像装置は、撮像素子の複数の画素によって撮像して画素データを出力し、撮像素子から伝送路を通じて画素データを受信する(例えば、
図2参照)。そして、撮像素子は、画素データの列の中の所定の位置に特殊情報を付加して出力し(例えば、
図14A、
図14B参照)、画素データの列の特殊情報を検出し、特殊情報の検出結果に基づいて伝送路の伝送エラーを判別している(例えば、
図2の画素データ検出部32、
図7のS17参照)。このため、大規模な伝送エラーが発生した場合であっても、誤りを訂正でき、画質が低下することがない。すなわち、静電気等の外来ノイズの影響により、画素データ単位で消失、重複送信により画素データが増加、といった大規模な伝送エラーの場合は、誤り訂正符号化では画像データの補正ができない。しかし、本実施形態によれば、特殊情報を検出することにより、大規模は伝送エラーが発生していることを検知できる。この検知結果に基づいて、画像補正処理すれば、画質が低下することがない。
【0141】
なお、本発明の一実施形態においては、特殊情報を用いて伝送エラーを検出することに加えて、エンドコードエラーや、データエラー等を検出し、補正していたが、これらは適宜省略してもよく、また他のエラー検出方法と併用しても勿論構わない。
【0142】
また、本発明の一実施形態においては、画像データ内において、特殊コードの配置を、複数のレーンにて同一の位置としていたが、これに限定されない。撮像素子2aは、複数のレーンにおいて予め決められた異なる位置に特殊データを配置してもよい。また撮像素子2aは、任意の予め決められた位置に特殊コードを配置してもよい。画像処理部3は、予め決められた位置に基づいて特殊コードを検出することができる。また、撮像素子2aは、予め決められた位置ではなく、撮像動作や画像データの送信の度にランダムに特殊コードの位置を変更してもよい。この場合、撮像素子2aは、画像データの送信に先立ち、特殊コードの配置情報を画像処理部3へ送信する。そして、画像処理部3は、受信した特殊コードの配置情報に基づいて、画像データ内の特殊コードを検出することができる。
【0143】
また、本発明の一実施形態においては、カメラ制御部12は、CPU、メモリ、および周辺回路等から構成されているプロセッサとして説明した。しかし、CPUとプログラムによってソフトウエア的に構成する以外にも、各部の一部または全部をハードウエア回路で構成してもよく、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またDSP(Digital Signal Processor)等のソフトを利用したハードウエア構成を利用してもよい。これらは適宜組み合わせてもよいことは勿論である。
【0144】
また、カメラ制御部12は、CPUに限らず、コントローラとしての機能を果たす素子であればよく、上述した各部の処理は、ハードウエアとして構成された1つ以上のプロセッサが行ってもよい。例えば、各部は、それぞれが電子回路として構成されたプロセッサであっても構わないし、FPGA(Field Programmable Gate Array)等の集積回路で構成されたプロセッサにおける各回路部であってもよい。または、1つ以上のCPUで構成されるプロセッサが、記録媒体に記録されたコンピュータプログラムを読み込んで実行することによって、各部としての機能を実行しても構わない。
【0145】
また、本実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ(例えば、医療用内視鏡)、顕微鏡等の科学機器用のカメラ、工業用内視鏡、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、撮像素子から画像処理部に画像データを伝送する機器であれば、本発明を適用することができる。
【0146】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【0147】
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
【0148】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【0149】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0150】
1・・・レンズ、2・・・撮像部、2a・・・撮像素子、2b・・・送信部、3・・・画像処理部、4・・・AF評価値演算部、5・・・表示部、6・・・メモリカード、7・・・手振検出部、8・・・手振補正部、9・・・露光制御部、10・・・フォーカス制御部、11・・・カメラ操作部、12・・・カメラ制御部、30・・・メモリ、31・・・データ受信部、32・・・スタートコード検出部、33・・・画素データ検出部、34・・・画素データ並び替え部、35・・・エラー情報付加部、36・・・画素補正部、37・・・画素データカウント部、38・・・エラー検出部、39・・・付加エラー情報解析部