(57)【要約】【課題】画素データを並列に処理して誤り訂正符号を生成するのに有利な技術を提供すること。【解決手段】  複数の画素が行列状に配置された画素部と、前記画素部から信号を読み出す読出し回路と、前記読出し回路から出力される複数の信号を対応する複数のデジタルデータに変換するＡＤ変換部と、前記ＡＤ変換部から出力される前記複数のデジタルデータを複数のグループにグループ分けして前記複数のデジタルデータについて誤り訂正符号を生成する信号処理部とを備え、前記信号処理部は、前記複数のグループのそれぞれにおいて、そのグループを構成するデジタルデータのデータの長さの合計が前記誤り訂正符号の長さ以上になるように前記グループ分けを行う。【選択図】  図６
2019114913.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素が行列状に配置された画素部と、
前記画素部から信号を読み出す読出し回路と、
前記読出し回路から出力される複数の信号を対応する複数のデジタルデータに変換するＡＤ変換部と、
前記ＡＤ変換部から出力される前記複数のデジタルデータを複数のグループにグループ分けして前記複数のデジタルデータについて誤り訂正符号を生成する信号処理部と、を備え、
前記信号処理部は、前記複数のグループのそれぞれにおいて、そのグループを構成するデジタルデータのデータの長さの合計が前記誤り訂正符号の長さ以上になるように前記グループ分けを行うことを特徴とする撮像装置。
【請求項２】
前記信号処理部は、誤り訂正符号を生成するための演算を前記複数のグループに対して順に行い、
最後に演算されるグループよりも少なくとも１つ前に処理されるいずれかのグループの前記データの長さが、それより前に処理されるいずれか１つのグループの前記データの長さより短く、かつ、前記誤り訂正符号の長さ以上になるように、前記グループ分けを行うことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記グループ分けは前記複数のデジタルデータの順序を変更しないように行われることを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記読出し回路は、前記画素部からビニングモードで信号を読出すことを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記読出し回路は、前記画素部から間引きモードで信号を読み出すことを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項６】
前記読出し回路は、前記画素部の所定の領域の信号を読み出すことを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項７】
前記信号処理部は、前記複数のデジタルデータの末尾にデータの最後を示す符号を付加することを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
前記信号処理部は、前記データの最後を示す符号を検出することに応じて前記複数のデジタルデータを前記グループ分けすることを特徴とする請求項７に記載の撮像装置。
【請求項９】
前記信号処理部は、前記検出に応じて前記複数のデジタルデータの長さを判定することを特徴とする請求項８に記載の撮像装置。
【請求項１０】
前記信号処理部は、前記グループ分けされたデータについて並列に計算を行うことにより前記誤り訂正符号を生成することを特徴とする請求項１乃至９のいずれか１項に記載の撮像装置。
【請求項１１】
請求項１乃至１０のいずれか１項に記載の撮像装置と、
前記撮像装置からの出力信号を処理する画像信号処理部と、
を備えることを特徴とする撮像システム。
【請求項１２】
光電変換により得られた複数のデジタルデータを複数のグループにグループ分けし、かつ、前記複数のデジタルデータについて誤り訂正符号を生成する信号処理部を備え、
前記信号処理部は、前記複数のグループのそれぞれにおいて、そのグループを構成するデジタルデータのデータの長さの合計が前記誤り訂正符号の長さ以上になるように前記グループ分けを行うことを特徴とする信号処理装置。
【請求項１３】
前記信号処理部は、誤り訂正符号を生成するための演算を前記複数のグループに対して順に行い、
最後に演算されるグループよりも少なくとも１つ前に処理されるいずれかのグループの前記データの長さが、それより前に処理されるいずれか１つのグループの前記データの長さより短く、かつ、前記誤り訂正符号の長さ以上になるように、前記グループ分けを行うことを特徴とする請求項１２に記載の信号処理装置。
【請求項１４】
前記グループ分けは前記複数のデジタルデータの順序を変更しないように行われることを特徴とする請求項１２または１３に記載の信号処理装置。
【請求項１５】
光電変換により得られた複数のデジタルデータを複数のグループにグループ分けし、かつ、前記複数のデジタルデータについて誤り訂正符号を生成する信号処理方法であって、
前記複数のグループのそれぞれにおいて、そのグループを構成するデジタルデータのデータの長さの合計が前記誤り訂正符号の長さ以上になるように前記グループ分けを行うことを特徴とする信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正符号処理を備える撮像装置、撮像システム、信号処理装置及び信号処理方法に関する。
【背景技術】
【０００２】
近年、撮像装置の画素数は多画素化する一方、高速被写体の撮影のため、撮像装置を高速に駆動することが望まれる。このため、撮像装置から大量のデータが高速に出力される。また信号を高速に伝送する際に、ノイズによりデータが破壊されやすいことがわかっている。そのため近年の撮像装置では、出力信号に対して誤り訂正符号を付加するものがある。特許文献１には撮像装置における誤り訂正符号の付加方法が開示されている。また特許文献２にはデータをパラレルに読み出して、パラレルに読み出したデータに対して誤り訂正符号の処理をすることが開示されている。
【０００３】
しかし、画素データから誤り訂正符号を生成する場合に、生成される誤り訂正符号の符号長と誤り生成符号を生成する対象となるデータの長さとが所定の関係の場合に、誤り訂正符号を生成することができないことがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１２０１５９号公報
【特許文献２】特開平４−２８４５４１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、画素データに対する誤り訂正符号を生成するのに有利な技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の撮像装置は、複数の画素が行列状に配置された画素部と、前記画素部から信号を読み出す読出し回路と、前記読出し回路から出力される複数の信号を対応する複数のデジタルデータに変換するＡＤ変換部と、前記ＡＤ変換部から出力される前記複数のデジタルデータを複数のグループにグループ分けして前記複数のデジタルデータについて誤り訂正符号を生成する信号処理部とを備え、前記信号処理部は、前記複数のグループのそれぞれにおいて、そのグループを構成するデジタルデータのデータの長さの合計が前記誤り訂正符号の長さ以上になるように前記グループ分けを行うことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、画素データに対する誤り訂正符号を生成するのに有利な技術を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る撮像装置１のブロック図。
【図２】実施例１に係る画素部１０、ＡＤ変換部１１とその周辺の回路のブロック図。
【図３】実施例１に係るビットバイト変換部１２１のブロック図。
【図４】実施例１に係るビットバイト変換部１２１の処理の一例。
【図５】実施例１に係るビットバイト変換部１２１の動作を示すタイミングチャートの一例。
【図６】実施例１に係る誤り訂正符号処理部１２２のブロック図。
【図７】実施例１に係る処理部１２２１の回路図。
【図８】実施例１に係る誤り訂正符号計算部１２２２のブロック図。
【図９】実施例１に係る処理部１２２１、誤り訂正符号計算部１２２２の動作を示すタイミングチャートの一例。
【図１０】実施例１に係る処理部１２２１、誤り訂正符号計算部１２２２の動作を示すタイミングチャートの一例。
【図１１】誤り訂正符号を生成する対象のデータの例。
【図１２】実施例１に係るビットバイト変換部１２１の動作を示すタイミングチャートの一例。
【図１３】実施例１に係るビットバイト変換部１２１の動作を示すタイミングチャートの一例。
【図１４】実施例１に係るビットバイト変換部１２１の動作を示すタイミングチャートの一例。
【図１５】実施例１に係る処理部１２２１、誤り訂正符号計算部１２２２の動作を示すタイミングチャートの一例。
【図１６】実施例２に係る誤り訂正符号処理部１２２のブロック図。
【図１７】実施例２に係る比較部１２２３の動作を示すタイミングチャートの一例。
【図１８】実施例２に係る比較部１２２３の回路図。
【図１９】実施例に係る撮像装置。
【発明を実施するための形態】
【０００９】
（実施例１）
図１は、本発明を実施するための撮像装置１のブロック図を示したものである。画素部１０には光電変換素子を含む画素が複数、行列状に配置されている。画素部１０から出力されたアナログデータである画素データは、ＡＤ変換部１１において、アナログデータからデジタルデータへと変換される。ＡＤ変換部１１から出力されたデジタルデータは、信号処理部１２内の演算処理部１２３において、信号値についての演算処理が行われる。信号処理部１２は、ビットバイト変換部１２１、誤り訂正符号処理部１２２を含む。ビットバイト変換部１２１では、入力されるＤａｔａ１を、所定の単位、例えばバイト単位のデータに変換する処理を行い、Ｄａｔａ２として出力する。誤り訂正符号処理部１２２では、Ｄａｔａ２に対して、誤り訂正符号の生成を行う。誤り訂正符号処理部１２２において生成された誤り訂正符号は、画像のデジタルデータと共に、誤り訂正符号処理部１２２からＤａｔａ５として出力される。Ｄａｔａ５は、信号処理部１２から出力され、信号出力部１３を通じて、撮像装置１から出力される。
【００１０】
図２は、撮像装置１の画素部１０、ＡＤ変換部１１の構成を示したものである。画素部１０は、垂直デコーダ１０１と、画素アレイ１０２と、垂直出力線１０５、スイッチ１０３、アンプ１０４を含む。図２では説明のために行に配置された１６個の画素Ｐｉｘ１１〜Ｐｉｘ８２を示す。列に配置された画素は省略されている。実際は、画素部１０には行列状に非常に多くの画素が配置されている。画素からの信号は、垂直デコーダ１０１、行選択線１０１１、アンプ１０４からなる読出し回路により読み出されて、ＡＤ変換部１１へ出力される。垂直デコーダ１０１は行アドレス信号線１０８２により指定された行アドレスを選択する。選択された行の画素１０２１のデータが、垂直出力線１０５を通じて、アンプ１０４から、ＡＤ変換部１１へ出力される。ＡＤ変換部１１は、ＡＤ変換実施部１１１と、データ保持部１１２を含む。ＡＤ変換部１１に入力された信号は、ＡＤ変換実施部１１１でデジタル信号に変換され、データ保持部１１２で保持される。本実施例では、１画素からの信号を１４ビットのデジタル信号へ変換しているものとする。また、列アドレス信号線１０８１により、水平デコーダ１０６が特定の列を指定し、指定された列のデータ保持部１１２で保持されたデジタルデータが、水平出力線１０９１、１０９２に出力される。本実施例では、水平出力線が２本の場合を示す。２本の水平出力線１０９１、１０９２をＣＨ１、ＣＨ２と称する。図２で示すように、破線１００で囲まれた構成は繰り返し並んで配置されている。
【００１１】
図２における、画素部１０の画素データの読み出し方式の一つに、画素部１０の全ての画素１０２１のデータを読み出す方式である全画素読み出しモードがある。この方式では、垂直デコーダ１０１により選択された行の画素の信号が、ＡＤ変換されて各々の列のデータ保持部１１２に保持される。保持されたデジタルデータは、列アドレス信号線１０８１によって指定される列の水平出力線１０９１、１０９２に出力される。図２に示す例では、列アドレス信号線１０８１が１のときには、水平出力線１０９１に画素Ｐｉｘ１１、水平出力線１０９２に画素Ｐｉｘ１２の信号に相当するデジタルデータが出力されるものとする。同様に、列アドレス信号線１０８１が２のときには、水平出力線１０９１に画素Ｐｉｘ２１、水平出力線１０９２に画素Ｐｉｘ２２の信号に相当するデジタルデータが出力される。このときの、列アドレス信号線１０８１と水平出力線１０９１、１０９２に出力されるデータの関係を図５に示す。このように、列アドレス信号線１０８１を走査することにより行アドレス信号線１０８２によって選択された行の全画素のデータを水平出力線１０９１及び水平出力線１０９２へ読み出すことができる。以下では全画素読出しモードを例に、誤り訂正符号を生成する場合について説明をする。
【００１２】
本実施例ではデータの処理をバイト単位で行う場合について説明する。ＡＤ変換部１１からのデジタルデータは処理のためにバイト単位のデータに変換される。図３にビットバイト変換部１２１を示す。ビットバイト変換部１２１にはＣＨ１、ＣＨ２を介してそれぞれ１画素あたり１４ビットのＤａｔａ１が入力される。ここで、１バイトを８ビットとすると、入力された、１４ビットを１単位とするＤａｔａ１をもとに、ビットバイト変換部１２１は、バイト単位のＤａｔａ２を出力する。図３は、後の説明の便宜のために、ビットバイト変換部１２１からはバイト単位のデータが６つに分かれて出力されていることを示しているが、ビットバイト変換部１２１はバイト単位のデータをシリアルに出力してもよい。
【００１３】
図４によりビットバイト変換部１２１でのバイト単位のデータの生成を説明する。ＣＨ１、ＣＨ２を介して、それぞれの水平出力線から２画素、合計では４画素（Ｐｉｘ１１、Ｐｉｘ１２、Ｐｉｘ２１、Ｐｉｘ２２）のＤａｔａ１をＤａｔａ２に変換する場合を示している。１画素あたりのデータが１４ビットであるため、合計５６ビットの入力データが入力される。５６ビットのデータは、７バイトに相当する。そのため、図４に示す例では、４画素のデータはＢｙｔｅ１１〜Ｂｙｔｅ１７からなる７バイトのＤａｔａ２に変換される。
【００１４】
図５に、ビットバイト変換部１２１に図２の画素部１０に配置されたＰｉｘ１１〜Ｐｉｘ８２で示す1行分の１６画素の信号が入力された場合のタイミングチャートを示す。１６画素のＤａｔａ１は１４ビット×１６画素＝２２４ビットに相当する。そのため、バイト１１〜バイト５４で示す合計２８バイト（２８×８ビット＝２２４ビット）のＤａｔａ２に変換される。ここでは説明のために画素部１０の１行分を１６画素としたが実際はもっと多くの画素が配置されている。また以下では画素部１０の１行分のデータについて誤り訂正符号を生成することを説明するが、１画面（１フレーム）のデータについて生成してもよい。誤り訂正符号を付加する対象のデータの量は任意に定めることができる。なお、図５では後の説明の便宜のためにＤａｔａ２を、６バイトのグループ４つと４バイトのグループ１つにグループ分けして示している。Ｂｙｔｅ１１、１２、１３、１４、１５、１６が誤り訂正符号を付加する対象のデータの最初のグループを構成し、Ｂｙｔｅ５１、Ｂｙｔｅ５２、Ｂｙｔｅ５３、Ｂｙｔｅ５４は対象のデータの最後のグループを構成していることを示す
図６は、誤り訂正符号処理部１２２のブロック図を示す。誤り訂正符号処理部１２２を、誤り訂正符号を計算する前の処理を実施するための処理部１２２１と誤り訂正符号を計算する誤り訂正符号計算部１２２２とに分けて説明をする。誤り訂正符号処理部１２２内では、入力されたＤａｔａ２が、必要に応じて処理されて、Ｄａｔａ３とされる。Ｄａｔａ３に対して誤り訂正符号計算部１２２２により誤り訂正符号を生成する計算が行われる。誤り訂正符号の生成が行われたのち、Ｄａｔａ３と、計算結果である誤り訂正符号とを組み合わせてＤａｔａ５が出力される。本実施例では、誤り訂正符号計算部１２２２は並列に入力されるバイト単位のデータを複数含むグループからなるデータに対してパラレル処理により誤り訂正符号を生成している。この誤り訂正符号の生成方法に関しては、例えば先行特許文献２に開示された方法を利用することができる。誤り訂正符号は、任意のバイト数のデータに対して所定長の符号を付加することができる。例えば、２８バイトのデータに対して、４バイトの誤り訂正符号を付加する場合、２８バイトのデータの末尾に４バイトの誤り訂正符号が付加される。図９は、Ｄａｔａ２のＢｙｔｅ１１〜５４の２８バイトのデータに対してＤａｔａ５に示すように、Ｐａｒｉｔｙ１〜４の４バイトの誤り訂正符号が付加されることを示す。誤り訂正符号のバイト数によって、誤り訂正符号を付加する対象のデータに対する誤り訂正能力が決まる。そのため、所望の誤り訂正能力によって、誤り訂正の対象のデータ長と誤り訂正符号のバイト数を決定する。
【００１５】
図７は、ハードウェアで構成した場合の処理部１２２１の例を示す。ここではＤａｔａ２はバイト単位で並列に入力されるものとする。図７にはバイト単位にデータが入力されていることの詳細については省略して記載されている。Ｄａｔａ２は２入力１出力の選択回路Ｓ１〜Ｓ６に入力される。選択回路Ｓ１〜Ｓ６はＳｉｇｎａｌが０か１かに応じて入力された信号を切り替えて出力するように構成されている。Ｓｉｇｎａｌが０のときは処理部１２２１に入力された信号はそのまま出力される。Ｓｉｇｎａｌが１のときは処理部１２２１の上側の２つの入力端子に入力された信号はＳ３及びＳ４から出力され、ラッチＤ１，Ｄ２によりラッチされた一つ前のタイミングの下側の２つの入力端子に入力された信号がＳ１及びＳ２から出力される。つまり、Ｓｉｇｎａｌが１のときは、Ｄａｔａ２は一つ前のタイミングのデータと調整が行われ、Ｄａｔａ３として出力される。このようにＳｉｇｎａｌは、誤り訂正符号処理部１２２において、データの調整が必要な場合に１になる信号である。Ｓｉｇｎａｌは、撮像装置１から読み出される総画素数、誤り訂正符号長などが決まれば、それに応じて値が制御される。Ｓｉｇｎａｌは、誤り訂正符号計算部１２２２に並列に入力されるデータのバイト数（以下、並列処理数と呼ぶ）と誤り訂正符号のバイト数（以下、誤り訂正符号長）が、（並列処理数＜誤り訂正符号長）とならないように調整を行うための信号である。言い換えれば、誤り訂正符号計算部が誤り訂正符号を生成する際に、複数サイクル回計算を行うが、その際の１サイクルに計算対象とするデータの長さを並列処理数とする。このときに誤り訂正符号の長さを誤り訂正符号長としたときに、上記の関係を満たすように調整することにより誤り訂正符号の生成を都合よく行うことができる。
【００１６】
Ｄａｔａ３に対して誤り訂正符号計算部１２２２において誤り訂正符号の生成を行う。ここではデータの長さの単位としてバイトを使ってデータの長さを示したが、「ビット」を長さの単位として、上記条件に基づいて誤り訂正符号を計算してもよい。あるいは１ワードを１６ビットとする等、単位は適宜に決めることができる。所定の定められた長さ（ビット数）を一つのデータ単位として考えてもよい。また、（並列処理数＜誤り訂正符号長）とならないようにすることが誤り訂正符号の生成に都合がよいことについては後に説明をする。
【００１７】
誤り訂正符号の長さは、誤り訂正符号の生成に用いる生成多項式によって決まる。生成多項式が決まると、誤り訂正符号の長さは一意に決まる。また、誤り訂正の対象となる画素データのバイト数は、読み出す画素数とＡＤ変換の際の出力ビット数とが決まれば一意に定まる。図９は２８バイトの画素データに対して４バイトの誤り訂正符号を付加した例を示しているが、後述するように、画素部１０の画素数により、１４バイトの画素データに対して４バイトの誤り訂正符号を付加することが必要になる場合もある。いずれにしろ、画素部１０から読み出された誤り訂正の対象とする画素の数、誤り訂正符号のバイト数（誤り訂正符号長）、誤り訂正符号を付加するための処理における並列処理数に応じて、誤り訂正符号を生成するのに不都合な場合は判断できる。つまり、誤り訂正符号を付加する対象のデータの長さ、誤り訂正符号の長さや一度に処理するデータの長さに応じて並列処理数が分かる。そのため、誤り訂正符号を生成するのに不都合な場合には、所定のタイミングでＳｉｇｎａｌを１にすることで、誤り訂正符号計算部１２２２に入力されるデータの長さを制御することができる。なお、並列処理数とは、本実施例では誤り訂正符号計算部１２２２にパラレルに一度に入力されて処理されるデータのバイト数のことである。言い換えれば、並列処理数は順次パラレルに入力されるデータに対してパラレルに計算を行い、これを数サイクル繰り返して最終的にデータ全部に対する誤り訂正符号を生成するときの計算の１サイクルにおいて計算の対象とするバイト単位のデータの個数である。あるいは誤り訂正符号計算部１２２２にいくつのバイト単位のデータがパラレルに入力されたかを示す数ということができる。データ単位がバイトの場合に、６バイトのデータがバイト単位で並列に誤り訂正符号回路に入力されるときの並列処理数は６である。
【００１８】
撮像装置１において、画素部１０から読み出したデジタルデータと読み出すタイミングの情報からＳｉｇｎａｌを１にするタイミングを生成し、誤り訂正符号の生成に有利なように符号を生成する対象となるデータの構成を調整することができる。画素数や誤り訂正符号の長さなどは既知だから、画素部１０からのデータの読出しモードに応じて撮像装置１の外部から、そのタイミングを与えることもできる。この動作に関して、以下で具体的に記載する。なお、並列処理数は誤り訂正符号を計算するための計算速度に関係するから、計算速度やデータの画素数と読出し速度に応じて適当な値を設定することができる。説明のために、本実施例では並列処理数の最大を６としている。
【００１９】
本実施例では、誤り訂正符号の長さを４バイトとした場合の例を示す。なお、本実施例の説明では、（並列処理数）＜（誤り訂正符号長）になるときに、Ｓｉｇｎａｌを１にしている。しかし上述したように、（並列処理数）＜（誤り訂正符号長）となる状態が発生するケースはデータを読み出す前に知ることができる。したがって、（並列処理数）＜（誤り訂正符号長）となる状況が発生しないように誤り訂正符号を付加する対象のデータを適切にグループ分けして並列処理数を調整することができる。
【００２０】
図８は、並列に入力されるデータに対する誤り訂正符号計算部１２２２のブロック図を示す。計算部１２２２−２では、入力されるＤａｔａ４に対して、誤り訂正符号を計算する。計算された誤り訂正符号は、誤り訂正符号として計算部１２２２−２から出力される。誤り訂正符号を付加する対象であるＤａｔａ３のすべてのデータが、計算部１２２２−２に入力された後の、計算部１２２２−２の出力である誤り訂正符号が、Ｄａｔａ３に対する誤り訂正符号になる。すべてのデータの計算が終了するまでは誤り訂正符号計算部１２２２に入力されるＤａｔａ３は、排他的論理和回路１２２２−１において、計算部１２２２−２が出力した誤り訂正符号と排他的論理和の計算が行われる。誤り訂正符号が計算されていない状態である初期状態では、Ｄａｔａ３がそのままＤａｔａ４として出力される。誤り訂正符号計算部１２２２からは、誤り訂正符号とＤａｔａ３とがスイッチ１２２２−３により選択されて出力される。スイッチ１２２２−３によって、Ｄａｔａ５として、Ｄａｔａ３に続いて生成された誤り訂正符号がＤａｔａ３に付加されて出力される。
【００２１】
図９に並列処理数の調整を行わない場合の、処理部１２２１、誤り訂正符号計算部１２２２の動作を示すタイミングチャートを示す。Ｄａｔａ２として、Ｂｙｔｅ１１〜バイト５４からなる合計２８バイトのデータが誤り訂正符号処理部１２２入力される。このとき、ＣＬＫで規定される最初のサイクル０では並列に入力されるＢｙｔｅ１１、１２、１３、１４、１５及び１６を含むグループの６バイトが計算の対象となる。サイクル１〜３においてもそれぞれのグループの６バイトが計算対象となっている。サイクル４ではＢｙｔｅ５１〜５４の４バイトからなるグループが計算の対象となっている。このように各サイクルにおいてグループに含まれるデータは、（並列処理数）≧（誤り訂正符号長）を満足するので、調整は必要なくＳｉｇｎａｌは常に０となる。Ｄａｔａ３には、Ｄａｔａ２が１サイクル遅れて出力される。誤り訂正符号計算部１２２２に入力したＤａｔａ３は、排他的論理和回路１２２２−１において、誤り訂正符号と排他的論理和処理が行われて、Ｄａｔａ４に出力される。
【００２２】
図９において、ＢｙｔｅＸＸ’と示したデータはＤａｔａ３のＢｙｔｅＸＸとフィードバックされた誤り訂正符号との間で、排他的論理和１２２２−１により排他的論理和が取られたデータを示す。排他的論理和の出力Ｄａｔａ４を計算部１２２２−２に入力し、再び排他的論理和にフィードバックすることにより誤り訂正符号Ｐａｒｉｔｙ１１〜４４及びＰａｒｉｔｙ１〜４が生成される。つまりＤａｔａ４に示すＢｙｔｅ１１’〜Ｂｙｔｅ５４’からなる２８バイトが計算部１２２２−２に入力された結果として、最終的にＰａｒｉｔｙ１〜４が、Ｂｙｔｅ１１〜Ｂｙｔｅ５４からなるＤａｔａ２に対する誤り訂正符号として生成される。
【００２３】
計算方法について簡単に説明すると、最初のサイクルでは６バイトの内の排他的論理和の出力４バイトと残り２バイトとの剰余を生成多項式により計算する。この結果得られたＰａｒｉｔｙ１１、１２、１３、１４とＢｙｔｅ２１、２２、２３、２４との排他的論理和をとる。この結果はＢｙｔｅ２１’、２２’、２３’、２４’となる。次のサイクルでは、Ｂｙｔｅ２１’、２２’、２３’、２４’及びＢｙｔｅ２５、２６の６バイトに対して剰余を計算する。これを繰り返して最終的に得られたＰａｒｉｔｙ１〜４が２８バイトのデータに対するパリティとなる。各サイクルで計算はパラレルに入力されるデータに対して行うことにより、誤り訂正符号の生成を高速化できる。
【００２４】
次に、誤り訂正符号の生成に不都合なデータがＤａｔａ２として与えられる場合の例について図１０により説明する。図５に示すＤａｔａ２は、２８バイトのデータであるのに対して、図１０に示すＤａｔａ２は１４バイトのデータである。図５に示すＤａｔａ２は、１４ビット、１６画素のデータであったが、１４ビット、８画素のデータの場合には図１０に示すような１４バイトのＤａｔａ２が発生する。誤り訂正符号は任意のデータバイト数に対して付加することができると述べた。そのため、Ｄａｔａ２が１４バイトの場合も誤り訂正符号を計算することができる。しかし、１４バイトを２８バイトのときと同様に処理しようとすると誤り訂正を行う最終サイクルにおける計算対象のデータ数は２バイト（並列処理数＝２）となる。そのため、最終サイクルにおいて、データ多項式の次数が生成多項式の次数より大きくなり、（並列処理数）＜（誤り訂正符号長）となる関係が発生する。そのため、誤り訂正符号を生成することができなくなる。このようなときはＳｉｇｎａｌを１とすることで、誤り訂正符号を生成するのに有利なＤａｔａ３を生成する。図１０のＤａｔａ３で斜線がかかっているデータＢｙｔｅ２５及びＢｙｔｅ２６は３番目のグループの先頭に配置される。Ｂｙｔｅ１１からＢｙｔｅ３２の順序は変えていない。Ｄａｔａ３から先の動作の概要については、図９の説明と同様である。図１０に示す例では、１４バイトのデータであるＤａｔａ２が誤り訂正符号計算部１２２２に入力されるときに、データの配置がＤａｔａ３に示すように調整される。この結果、最初のサイクルでは６バイト（Ｂｙｔｅ１１〜１６）、次のサイクルでは４バイト（Ｂｙｔｅ２１〜２４）、最後のサイクルでは４バイト（Ｂｙｔｅ２５〜３２）のデータが誤り訂正符号計算部１２２２へ入力される。
【００２５】
誤り訂正符号の計算に対する制約は次のようにも説明できる。１４バイトのデータに対して、６バイトずつパラレルに計算を２回行うと、計算の最終サイクルのグループに含まれるデータは２バイトになる。このとき、排他的論理和回路１２２２−１における計算は、最終サイクルで入力されるデータが２バイトなのに対して、付加すべき誤り訂正符号が４バイトとなる。このとき排他的論理和回路１２２２−１において、計算する二つのデータ、つまり入力データ（２バイト）とフィードバックされたパリティ（４バイト）のバイト数とが一致しない。そのため、正しい計算が行われないことになる。そこで、（並列処理数）＜（誤り訂正符号長）になるようなデジタルデータが誤り訂正符号計算部１２２２に入力されないように、誤り訂正符号長と並列処理数とに応じて、処理部１２２１においてＤａｔａ３が生成される。
【００２６】
図１１にはＣａｓｅＡ、ＣａｓｅＢで示す二通りのデータの列を例示している。ＣａｓｅＡ及びＣａｓｅＢで示すデータ列は画素部から読み出されてＡＤ変換されたデータの出力の例である。ここでは２８バイトのデータに４バイトの誤り訂正符号を付加する場合を例とする。最終の計算を行う１つ前のタイミングまではＣａｓｅＡとＣａｓｅＢとは共に２８バイトを誤り訂正の計算対象とする。しかし、画素部から読み出されるデータ量の違いにより、最終の計算は、それぞれＣａｓｅＡでは２８バイト、ＣａｓｅＢでは１４バイトのデータを対象にする。ここまでの説明で、並列数が最大６のとき、２８バイトのデータに対して４バイトの誤り訂正符号を生成する際には、誤り訂正符号の生成には支障がないことを述べた。しかし、１４バイトのデータのときにはグループに含まれるデータ数の調整が必要であると述べた。そのため、ＣａｓｅＡのようなデータに対しては、調整は必要ないが、ＣａｓｅＢのようなデータの場合には、調整が必要になる。撮像装置１の画素部１０から読み出されるデータの量によってはいつもＣａｓｅＡのような場合になるとは限らずに、ＣａｓｅＢのような場合が発生する。ＣａｓｅＢのような場合には、誤り訂正の対象となるデータを構成する複数のグループ内のデータ数（並列処理数）を調整することで、画素数が違う撮像装置においても、誤り訂正符号を生成できる。
【００２７】
以上をまとめると、従来技術では、誤り訂正符号を生成する対象のデータの量によっては、データを構成する複数のグループに対して計算を行う場合、誤り訂正符号を生成するのに不都合な場合があった。それに対して、本実施例のように、グループに含まれるパラレルに計算されるデータの数を調整することにより、誤り訂正符号を生成するときの不都合を解消することが可能になる。具体的には、画素部の画素数、ＡＤ変換の際の変換ビット数、誤り訂正符号が付加されるひとかたまりのデータの量、誤り訂正符号長などに基づいて並列処理されるグループに含まれるデータの数（並列処理数）を調整する。この結果、誤り訂正符号計算部１２２２には常に（並列処理数）≧（誤り訂正符号長）を満たすデータが入力されるようにする。そのため、グループに含まれるデータ数（並列処理数）と誤り訂正符号バイト数（誤り訂正符号長）との間の制約を解消し、誤り訂正符号を生成することができる。なお、データ単位としてバイトを例に説明しているが、データ単位はバイトに限らず、ビット数としても良い。また処理部１２２１の構成は２バイト処理をする構成に限らない。（並列処理数）≧（誤り訂正符号長）を満たすようなデータ数の調整を実行できるようにすればよい。信号処理部１２の各機能は、コンピュータによりプログラムを実行することにより実現することができる。
【００２８】
（実施例２）
実施例１では、全画素読み出しモードにおいて、画素部の画素数がいろいろであっても、並列に出力されるデータに誤り訂正符号を付加することが可能であることを示した。これは、誤り訂正符号を付加する対象のデータのバイト数が変化しても、その変化に対応して、グループのデータ数の調整を行うことにより可能になる。撮像装置１において誤り訂正符号を付加する対象のデータのバイト数が変化する例は他にもある。本実施例では、誤り訂正符号を付加する対象のデータのバイト数が変化する場合でも対応できることを示す。
【００２９】
図２に示した構成において、画素部１０の画素データの読み出し方式の一つに、複数の画素１０２１のデータをビニングして読み出す方式であるビニングモードがある。ビニングモードでは垂直方向の走査に関しては、全画素読み出しモードと同様に各行を選択して読み出す。しかしビニングモードでは、読出し回路のスイッチ１０３をオン（クローズ状態）、スイッチ１０７をオフ（オープン状態）にする。同じ行の２つの画素の信号はスイッチ１０３によりビニングされて、一方の垂直出力線１０５に接続されているＡＤ変換部１１とデータ保持部１１２を介して出力される。本実施例でも水平出力線が２本ある場合について説明する。列アドレス信号線はビニングされた画素を選択する。列アドレス信号線１０８１が１のときには、水平出力線１０９１にＰｉｘ１１とＰｉｘ１２のデータがビニングされて出力され、水平出力線１０９２には画素データが出力されない。同様に、列アドレス信号線１０８１が２のときには、水平出力線１０９１にＰｉｘ２１とＰｉｘ２２の画素データがビニングされて出力され、水平出力線１０９２には画素データが出力されない。このときの列アドレス信号線１０８１とＤａｔａ１との関係を図１２に示す。このように、列アドレス信号線１０８１を走査していくことで、行アドレス信号線１０８２によって指定された行の画素データをビニングしながら読み出すことができる。この例では、ＡＤ変換部１１においてデジタルデータに変換される前に画素データをビニングしているが、データのビニングは信号処理部１２内の演算処理部１２３で行われても問題ない。演算処理部１２３においてビニングを行うことで、画素部１０内にあるスイッチ１０３や１０７がなくても、画素データのビニングを行うことができる。また、図１２に示すＤａｔａ１をバイト単位のデータに変換した結果のＤａｔａ２は、図１２に示すようにＢｙｔｅ１１〜Ｂｙｔｅ３２の１４バイトのデータとなる。この１４バイトは誤り訂正符号の４バイトを付加する対象のデータである。
【００３０】
また、図２に示した構成において、画素部１０の画素データの読み出し方式の一つに、画素１０２１のデータを間引いて読み出す方式である間引き読み出しモードがある。垂直方向の走査に関しては、全画素読み出しモードと同様である。この方式では、スイッチ１０３をオフ（オープン状態）、スイッチ１０７をオフ（オープン状態）にする。このとき、水平アドレスが１のときには、水平出力線１０９１にＰｉｘ１１のデータが出力され、水平出力線１０９２には画素データが出力されない。同様に、列アドレス信号線１０８１が２のときには、水平出力線１０９１にＰｉｘ２１の画素データがされて出力され、水平出力線１０９２には画素データが出力されない。このときのＤａｔａ１と列アドレス信号線１０８１との関係を図１３に示す。このように、列アドレス信号線１０８１を走査していくことで、行アドレス信号線１０８２によって指定された行の画素データを間引きながら読み出すことができる。この場合の処理を演算処理部１２３において実施しても問題ない。演算処理部１２３において、間引き処理を行う場合は、画素部１０内にあるスイッチ１０３や１０７がなくても、画素データの間引きを行うことができる。また、図１３に示すＤａｔａ１をバイト単位のデータに変換した結果であるＤａｔａ２は、図１３に示すように、Ｂｙｔｅ１１〜Ｂｙｔｅ３２の１４バイトのデータとなる。本実施例では、画素を一つおきに間引いているが、画素を間引く間隔は一つおきに限らず、いくつであってもよい。
【００３１】
さらに、図２に示した構成において、画素部１０の画素データの読み出し方式の一つに、画素部１０の任意の領域を切り出して、領域に含まれる画素１０２１のデータを読み出す方式である切り出しモードがある。垂直方向の走査に関しては、全画素読み出しモードと同様である。この方式では、スイッチ１０３をオフ（オープン状態）、スイッチ１０７をオン（クローズ状態）にする。このとき、水平アドレスを読み出し始めるアドレスから指定する。例えば、水平アドレスを２から操作する。水平アドレスが２のときには、水平出力線１０９１にＰｉｘ２１のデータが出力され、水平出力線１０９２にはＰｉｘ２２の画素データが出力される。同様に、列アドレス信号線１０８１を３から順に走査する。このように、列アドレス信号線１０８１の走査を１から行わないことで、ここでは、Ｐｉｘ１１、Ｐｉｘ１２を読み出さずに、特定の領域を切り出して出力することができる。この時のＤａｔａ１と列アドレスとの関係を図１４に示す。ここではバイト単位に変換した１４バイトのデータをＤａｔａ２に示している。水平アドレス、列アドレス信号線１０８１を、データを読み出したい所望の位置から設定することができる。同様に行アドレス信号線１０８２による制御もできる。信号を読み出すアドレスを指定することにより切り出されるデータの量は変動する。
【００３２】
図１２〜１４に示した例は、Ｄａｔａ２が１４バイトになる。これを実施例１で示したように誤り訂正符号長を４バイトとすると、並列処理数６で最初の１２バイトを計算すると最終サイクルにおいて、（並列処理数）＜（誤り訂正長）となる関係になる。そのため、計算の前に不都合を解消するためにグループのデータ数を調整して誤り訂正符号計算部１２２２に入力する。誤り訂正符号の生成方法に関しては、実施例１と同様である。このように、撮像装置１の読出しのモードを変化させると、誤り訂正符号を生成する対象のデータのバイト数が変化することがある。本発明によると、上記のような場合においても誤り訂正符号が不都合なく生成できる。
【００３３】
図１５は、図１２〜１４に示したＤａｔａ２の各グループに含まれるデータ数を調整した場合のＤａｔａ２〜Ｄａｔａ５の関係を示す。誤り訂正符号計算部１２２２に入力されるＤａｔａ３のすべてのサイクルにおいて各グループに含まれるデータ数が４バイト以上に調整される。この結果、（並列処理数）≧（誤り訂正長）が成立しているから、誤り訂正符号を不都合なく生成できる。
【００３４】
（実施例３）
実施例１に示した構成において、動画撮影モードや静止画撮影モードを切り替える場合を考える。このとき、ＡＤ変換部１１が画素からの信号をデジタル信号へ変換するときに、１画素あたりに変換するビット数を変化させる場合がある。例えば、静止画撮影モードでは１画素あたり１４ビットに変換し、動画撮影モードでは１画素あたり１０ビットに変換するといったように、ＡＤ変換部１１が１画素あたりのビット数を変化させる。このとき、誤り訂正符号を生成する対象のデータの量（変化する。そのため誤り訂正符号計算部１２２２に（並列処理数）＜（誤り訂正符号長）となるデータが入力される可能性がある。このような場合においても、グループに含まれるデータ数を調整することにより並列処理数が条件を満たすようにすることにより不都合なく誤り訂正符号を生成することが可能になる。
【００３５】
（実施例４）
本実施例は、誤り訂正符号計算部１２２２に入力されるグループに含まれるデータ数の調整を、入力されるＤａｔａ２の長さを誤り訂正信号処理部１２２が判定して行う例である。図１６に、本実施例の誤り訂正符号処理部１２２の構成を示す。誤り訂正符号処理部１２２の構成が実施例１と異なるのは、誤り訂正符号処理部１２２がＤａｔａ２の末尾を検出する比較部１２２３が含まれている点である。比較部１２２３は、データの末尾を検出することができる。比較部１２２３は末尾を検出することによりＤａｔａ２のデータ長を検出し、Ｄａｔａ２を遅延させてＤａｔａ２’として出力する。比較部１２２３は、検出したデータ長に基づいて誤り訂正符号計算部１２２２へデータを入力する際のデータ数を調整する必要があるかどうかを判定する。誤り訂正符号のバイト数は前もって決定されている数値なので、比較部１２２３はデータ長を判定し、誤り訂正符号バイト数と並列処理数とを比較することにより、処理部１２２１に調整を指示するＳｉｇｎａｌを生成する。処理部１２２１はＳｉｇｎａｌに応じてグループのデータ数（並列処理数）の調整を行うことができる。データ長の判定は誤り訂正符号を付加する対象のデータの末尾にデータの最後を示すＥｎｄＣｏｄｅとよばれるデータを付加しておき判断する方法がある。このＥｎｄＣｏｄｅは、誤り訂正符号処理部１２２にデータが入力されるときに誤り訂正符号を生成する対象となるデータの末尾に付加されればよい。具体的には、外部から与えられたデータの長さに関する情報に基づいて、誤り訂正符号処理部１２２がＥｎｄＣｏｄｅを付加する。誤り訂正符号処理部１２２がＥｎｄＣｏｄｅを生成したタイミングやＥｎｄＣｏｄｅの入力に応じて、Ｓｉｇｎａｌが生成される。以下でＥｎｄＣｏｄｅから並列処理数を制御する場合の動作例を示す。
【００３６】
図１７に、比較部１２２３における動作を示したタイミングチャートを示す。ここでは図１５に示すＤａｔａ２と同じデータを比較部１２２３に入力した場合を考える。この時、誤り訂正符号の対象であるデータの末尾にＥｎｄＣｏｄｅが付加されている。比較部１２２３ではデータの先頭を検出した後、ＥｎｄＣｏｄｅを検知することでデータ長を判定し、最後のサイクルでの並列処理数がバイト３１，バイト３２の２バイトになることが分かる。このとき、並列処理数の２を誤り訂正符号バイト数の４と比較することで、並列処理数を調整する必要があることを検出することができる。また、比較部１２２３はＤａｔａ２を遅延させて出力することで、Ｄａｔａ２’を生成する。比較部１２２３から出力されるＤａｔａ２’の最後の２バイトと調整を指示するＳｉｇｎａｌの位相関係は図１５に示すように一致している。比較部１２２３から出力されるＤａｔａ２’とＳｉｇｎａｌに基づいて、処理部１２２１はＤａｔａ２’のグループに含まれる並列処理数を調整する。本実施例は誤り訂正符号処理部１２２が入力データ自身からデータ長を判定し、並列処理数を制御する点で実施例１と異なる。このような構成にすることで、誤り訂正信号処理部１２２自体でグループのデータ数の調整を判定しデータ数を制御することができるので、外部からの指示が不要となりデータ長に応じた柔軟な制御が可能になる。
【００３７】
図１８に、比較部１２２３をハードウェアで構成した場合の例を示す。誤り訂正符号のバイト数を４とすると、最終サイクルの並列処理数が１〜３のとき、（並列処理数）≧（誤り訂正符号長）を満たさない。つまり、Ｂｙｔｅ１のみにデータが入る場合と、Ｂｙｔｅ１〜２のみにデータが入る場合と、Ｂｙｔｅ１〜３のみにデータが入る場合においてＳｉｇｎａｌを１にする必要がある。それぞれの場合において、ＥｎｄＣｏｄｅは、データの一つ後ろのＢｙｔｅ２，Ｂｙｔｅ３，Ｂｙｔｅ４に有る。そのため、比較部１２２３はＢｙｔｅ２〜４にＥｎｄＣｏｄｅが入力された場合に、比較部１２２３からＥｎｄＣｏｄｅが検出されるように構成される。
【００３８】
以上のように、本実施例の構成例でも、データ量に応じて並列処理数の調整が行われるため、誤り訂正符号計算部１２２２には（並列処理数）≧（誤り訂正符号長）を満たすデータが入力される。そのため、画素データのデータ数と誤り訂正符号長との間の制約受けないで、誤り訂正符号を生成することができるようになる。
【００３９】
また、実施例２、３で示したような撮影モードが変化する場合でも、上記と同じようにデータの末尾にＥｎｄＣｏｄｅを付加することにより比較部を使って並列処理数の調整を制御して、誤り訂正符号を生成することができる。上記の各実施例においても、信号処理部１２の各機能は、コンピュータがプログラムを実行することにより実現することができる。
【００４０】
（実施例５）
図１９は、撮像システム２の構成例を示す図である。撮像システム２は、例えば、光学部２１０、撮像装置１、画像信号処理部２３０、記録・通信部２４０、タイミング制御部２５０、システム制御部２６０、及び再生・表示部２７０を含む。撮像部２２０は、撮像装置１及び画像信号処理部２３０を有する。撮像装置１は、先の実施例で説明した撮像装置１が用いられる。
【００４１】
レンズ等の光学系である光学部２１０は、被写体からの光を撮像装置１の複数の画素が行列状に配置された画素部１０に結像させ、被写体の像を形成する。撮像装置１は、タイミング制御部２５０からの信号に基づくタイミングで、画素部１０に結像された光に応じた信号と信号に対応した誤り訂正符号とを出力する。撮像装置１からの出力信号は、画像信号処理部２３０に入力され、画像信号処理部２３０が、プログラム等によって定められた方法に従って信号処理を行う。このとき誤り訂正符号に基づいた処理も行われる。画像信号処理部２３０での処理によって得られた信号は画像データとして記録・通信部２４０に送られる。記録・通信部２４０は、画像を形成するための信号を再生・表示部２７０に送り、再生・表示部２７０に動画や静止画像を再生・表示させる。記録・通信部２４０は、また、画像信号処理部２３０からの信号を受けて、システム制御部２６０と通信を行うほか、不図示の記録媒体に、画像を形成するための信号を記録する動作も行う。
【００４２】
システム制御部２６０は、撮像システムの動作を統括的に制御するものであり、光学部２１０、タイミング制御部２５０、記録・通信部２４０、及び再生・表示部２７０の駆動を制御する。また、システム制御部２６０は、例えば記録媒体である不図示の記憶装置を備え、ここに撮像システムの動作を制御するのに必要なプログラム等が記録される。また、システム制御部２６０は、例えばユーザの操作に応じて駆動モードを切り替える信号を撮像システム内に供給する。具体的な例としては、読み出す行やリセットする行の変更、電子ズームに伴う画角の変更や、電子防振に伴う画角のずらし等である。タイミング制御部２５０は、システム制御部２６０による制御に基づいて撮像装置１及び画像信号処理部２３０の駆動タイミングを制御する。
【符号の説明】
【００４３】
１２２：誤り訂正符号処理部、１２２１：処理部、１２２２：誤り訂正符号計算部
【図１】
2019114913.tif 000003
【図２】
2019114913.tif 000004
【図３】
2019114913.tif 000005
【図４】
2019114913.tif 000006
【図５】
2019114913.tif 000007
【図６】
2019114913.tif 000008
【図７】
2019114913.tif 000009
【図８】
2019114913.tif 000010
【図９】
2019114913.tif 000011
【図１０】
2019114913.tif 000012
【図１１】
2019114913.tif 000013
【図１２】
2019114913.tif 000014
【図１３】
2019114913.tif 000015
【図１４】
2019114913.tif 000016
【図１５】
2019114913.tif 000017
【図１６】
2019114913.tif 000018
【図１７】
2019114913.tif 000019
【図１８】
2019114913.tif 000020
【図１９】
2019114913.tif 000021