(57)【特許請求の範囲】
【請求項１】
順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、１つの前記転送データを１つの転送単位とし、予め定められた数の前記転送単位を１つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、
を備え、
前記データ変換部は、
前記入力データを、予め定めた第１のビット数の第１の分離データと、予め定めた第２のビット数の第２の分離データとに分離する第１のビット分離部と、
該データ変換部からｎ（ｎは１以上の自然数）回目に出力した前記第１の分離データに応じた第１の出力データ内の各ビットの値と、該データ変換部にｎ＋１回目に入力された前記第１の分離データ内の各ビットの値とを比較し、該比較したビットの比較情報を出力するビット比較部と、
前記比較情報に基づいて、異なる値となっているビットの数を表すビット変化数を算出し、該算出した前記ビット変化数と、前記ｎ回目に入力された前記第１の分離データにおける各ビットの値を反転したか否かを表す情報と、予め定めたビット数とに基づいて、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値を、ビット毎に反転するか否かを判定し、該判定した結果を反転情報として出力するビット判定部と、
前記反転情報に基づいて、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転した第１の反転データ、または前記ｎ＋１回目に入力された前記第１の分離データのいずれか一方のデータを、第１の反転処理データとして出力する第１のビット反転部と、
前記第１の反転処理データの各ビットと前記第２の分離データの各ビットとを、前記データバスの各ビットに配置した第１の転送データを生成し、該第１の転送データを前記転送データとして出力する際に、前記変換単位内の前記第１の転送データの内、データが配置されていない未使用ビットを含む前記第１の転送データの予め定められた前記未使用ビットの位置に、前記反転情報を結合した結合データを生成し、前記第１の転送データ、または前記結合データのいずれか１つのデータを、該データ変換部における前記転送データとして出力する第１のビット結合部と、
を具備する、
ことを特徴とするデータ処理装置。
【請求項２】
前記ビット判定部は、
前記ビット変化数が、前記第１の分離データのビット数の過半数である場合に、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転すると判定し、
前記ビット変化数が、前記第１の分離データのビット数の半数以下である場合に、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転しないと判定する、
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記ビット判定部は、
前記ビット変化数が、前記第１の分離データのビット数の半数である場合、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転するか否かの判定を、ｎ回目に入力された前記第１の分離データに対して行った判定の結果と同じ判定にする、
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記データ変換部は、
前記第２の分離データを、データの変化が１である場合には、必ず１ビットだけしか変化しないグレイコードで表す第１のコード変換部、
を、さらに具備し、
前記第１のビット結合部は、
前記第１の反転処理データの各ビットと前記グレイコードで表された前記第２の分離データの各ビットとを、前記データバスの各ビットに配置した第１の転送データを生成する、
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記第１のビット分離部は、
同一の前記転送単位に配置された複数の前記入力データのそれぞれの前記第１の分離データをまとめて１つの前記第１の分離データとし、
前記ビット比較部は、
前記まとめられた前記第１の分離データの単位で各ビットの値を比較し、
前記ビット判定部は、
前記まとめられた前記第１の分離データの単位で各ビットの値をビット毎に反転するか否かを判定し、
前記第１のビット反転部は、
前記まとめられた前記第１の分離データの単位の第１の反転処理データを出力し、
前記第１のビット結合部は、
前記まとめたれた単位の前記第１の反転処理データの各ビットと、それぞれの前記第２の分離データの各ビットとを、前記データバスの各ビットに配置し、前記まとめられた単位で判定された前記反転情報を結合する、
ことを特徴とする請求項１から請求項４のいずれか１の項に記載のデータ処理装置。
【請求項６】
複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、１つの前記転送データを１つの転送単位とし、予め定められた数の前記転送単位を１つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、
を備え、
前記データ逆変換部は、
前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを、予め定めた第１のビット数の第１の分離データと、予め定めた第２のビット数の第２の分離データとに分離し、前記第１の分離データの各ビットの値をビット毎に反転した第１の反転データ、または前記第１の分離データのいずれか一方のデータを第１の反転処理データとし、前記第２の分離データの各ビットと前記第１の反転処理データの各ビットとが前記データバスの各ビットに配置された第１の転送データと、ｎ（ｎは１以上の自然数）回目に出力した前記第１の分離データにおける各ビットの値を反転したか否かを表す情報を含めて判定された、前記第１の反転データまたは前記第１の分離データのいずれのデータが前記第１の反転処理データとして選択されているかを表す反転情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている前記反転情報と、前記第１の転送データとに分離し、さらに前記第１の転送データを、前記第２の分離データと第１の反転処理データとに分離する第２のビット分離部と、
前記反転情報に基づいて、前記第１の反転処理データの各ビットの値をビット毎に反転した第２の反転データ、または前記第１の反転処理データのいずれか一方のデータを、前記第１の分離データとして出力する第２のビット反転部と、
前記第１の分離データと前記第２の分離データとを結合して元の前記入力データに戻す第２のビット結合部と、
を具備する、
ことを特徴とするデータ処理装置。
【請求項７】
前記データ逆変換部は、
グレイコードで表されている前記第２の分離データを、バイナリコードに戻して表す第２のコード変換部、
を、さらに具備し、
前記第２のビット結合部は、
前記第１の分離データと前記バイナリコードに戻して表された前記第２の分離データとを結合して元の前記入力データに戻す、
ことを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記転送データは、
同一の前記転送単位に配置された複数の前記入力データのそれぞれの前記第１の分離データがまとめて１つの前記第１の分離データとして処理されており、
前記第２のビット分離部は、
前記第１の転送データから、前記まとめられた単位の前記第１の分離データからなる第１の反転処理データを分離し、
前記第２のビット反転部は、
前記第１の反転処理データから前記まとめられた単位の前記第１の分離データを出力し、
前記第２のビット結合部は、
前記まとめられた単位の前記第１の分離データを、それぞれの前記第１の分離データに分離し、該分離した前記第１の分離データと対応する前記第２の分離データと結合して元の前記入力データに戻す、
ことを特徴とする請求項６または請求項７に記載のデータ処理装置。
【請求項９】
順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、１つの前記転送データを１つの転送単位とし、予め定められた数の前記転送単位を１つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、
を含み、
前記データ変換ステップは、
前記入力データを、予め定めた第１のビット数の第１の分離データと、予め定めた第２のビット数の第２の分離データとに分離する第１のビット分離ステップと、
該データ変換ステップによってｎ（ｎは１以上の自然数）回目に出力した前記第１の分離データに応じた第１の出力データ内の各ビットの値と、該データ変換においてｎ＋１回目に入力された前記第１の分離データ内の各ビットの値とを比較し、該比較したビットの比較情報を出力するビット比較ステップと、
前記比較情報に基づいて、異なる値となっているビットの数を表すビット変化数を算出し、該算出した前記ビット変化数と、前記ｎ回目に入力された前記第１の分離データにおける各ビットの値を反転したか否かを表す情報と、予め定めたビット数とに基づいて、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値を、ビット毎に反転するか否かを判定し、該判定した結果を反転情報として出力するビット判定ステップと、
前記反転情報に基づいて、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転した第１の反転データ、または前記ｎ＋１回目に入力された前記第１の分離データのいずれか一方のデータを、第１の反転処理データとして出力する第１のビット反転ステップと、
前記第１の反転処理データの各ビットと前記第２の分離データの各ビットとを、前記データバスの各ビットに配置した第１の転送データを生成し、該第１の転送データを前記転送データとして出力する際に、前記変換単位内の前記第１の転送データの内、データが配置されていない未使用ビットを含む前記第１の転送データの予め定められた前記未使用ビットの位置に、前記反転情報を結合した結合データを生成し、前記第１の転送データ、または前記結合データのいずれか１つのデータを、該データ変換ステップにおける前記転送データとして出力する第１のビット結合ステップと、
を含む、
ことを特徴とするデータ処理方法。
【請求項１０】
複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、１つの前記転送データを１つの転送単位とし、予め定められた数の前記転送単位を１つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、
を含み、
前記データ逆変換ステップは、
前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを、予め定めた第１のビット数の第１の分離データと、予め定めた第２のビット数の第２の分離データとに分離し、前記第１の分離データの各ビットの値をビット毎に反転した第１の反転データ、または前記第１の分離データのいずれか一方のデータを第１の反転処理データとし、前記第２の分離データの各ビットと前記第１の反転処理データの各ビットとが前記データバスの各ビットに配置された第１の転送データと、ｎ（ｎは１以上の自然数）回目に出力した前記第１の分離データにおける各ビットの値を反転したか否かを表す情報を含めて判定された、前記第１の反転データまたは前記第１の分離データのいずれのデータが前記第１の反転処理データとして選択されているかを表す反転情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている前記反転情報と、前記第１の転送データとに分離し、さらに前記第１の転送データを、前記第２の分離データと第１の反転処理データとに分離する第２のビット分離ステップと、
前記反転情報に基づいて、前記第１の反転処理データの各ビットの値をビット毎に反転した第２の反転データ、または前記第１の反転処理データのいずれか一方のデータを、前記第１の分離データとして出力する第２のビット反転ステップと、
前記第１の分離データと前記第２の分離データとを結合して元の前記入力データに戻す第２のビット結合ステップと、
を含む、
ことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置およびデータ処理方法に関する。
【背景技術】
【０００２】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの撮像装置では、撮像装置の画素数や速度の向上に伴って、膨大な画素のデータ（以下、「画素データ」という）が含まれる画像データを処理している。このような撮像装置においては、撮像装置内の各処理ブロックが撮影によって得られた画像データを処理する際に、データを一時的に記憶するメモリが利用されている。メモリには、各処理段階の画像データが一時記憶される。
【０００３】
図１８は、従来の撮像装置の概略構成を示したブロック図である。例えば、図１８に示した撮像装置における撮影動作では、以下のような手順で画像データの処理が行われている。
（手順１）：まず、撮像処理部が、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）型の固体撮像素子によって得られた画像データを、出力ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）部を介してメモリに転送して一時記憶する。
（手順２）：続いて、画像処理部が、メモリに一時記憶している画像データを、入力ＤＭＡ部を介して読み出す。そして、画像処理部は、読み出した画像データに対して記録用の画像処理や、表示用の画像処理を行う。その後、画像処理した後の画像データを、出力ＤＭＡ部を介してメモリに転送して一時記憶する。
（手順３）：続いて、表示処理部が、表示用の画像処理がされた画像データを、入力ＤＭＡ部を介して読み出し、表示デバイスに表示させる。
【０００４】
このように、撮像装置では、前段の処理ブロックが、画像データをメモリに一時記憶する。そして、後段の処理ブロックが、メモリに記録されている画像データを読み出して、次の処理を行う。このように、撮像装置内の各処理ブロックが、メモリを介して処理対象の画像データの受け渡しを行うことによって、撮像装置の全体の処理を順次行っている。
【０００５】
近年、静止画用カメラ、動画用カメラなどの撮像装置においては、長い時間連続して使用できることが望まれており、撮像装置内の電気回路の消費電力を低減させる技術が必要とされている。撮像装置の消費電力を低減させるための１つの方法として、各処理ブロック（電気回路）とメモリとの間での画像データの転送速度を高速にする方法が挙げられる。画像データの転送速度の高速化は、例えば、撮像装置が動作するクロックの周波数を高くしたり、各処理ブロックとメモリ間の画像データの転送期間を短縮させたりすることによって実現することができる。これらの方法は、画像データの転送速度を高速にすることによって、画像データの転送に係る消費電力を低減させるものである。
【０００６】
処理ブロックとメモリ間の画像データの転送期間を短縮させるための技術として、特許文献１に開示されているようなパッキングという技術が知られている。特許文献１で開示されたパッキング技術は、画像データ内の各画素データをメモリに転送する際に使用されるデータバスのバス幅を拡張し、隣接する複数の画素データをデータバスに配置（パッキング）することによって、複数の画素データを一度に転送するという技術である。この技術によって、全ての画素データを転送するために要するデータ転送の回数を、画素データを１画素毎に転送する以前のデータ転送に比べて少なくすることができ、画像データのデータ転送に係る期間を短縮することができる。例えば、図１９に示したような、１６行×１６列のベイヤー配列のＣＣＤから得られた画素データをメモリに転送する場合、特許文献１で開示されたパッキング技術では、４画素分の画素データを一度に転送する単位とすることによって、画像データの転送期間を１／４に短縮することができる。これにより、画素データを１画素ずつメモリに転送する場合に比べて、撮像装置内の電気回路の消費電力を低減させることができる。
【０００７】
また、さらに画像データの転送期間を短縮する技術として、ＤＭＡのバースト転送を利用したパッキング方法が考えられる。これは、予め定められた一定のサイクル数でメモリにアクセスする単位である１バーストを、画素データをパッキングする単位として考える方法である。図２０に画素データのパッキングの一例を示す。図２０（ａ）は、特許文献１で開示されたパッキング方法で図１９に示した画素データをパッキングした場合の一例を示し、図２０（ｂ）は、バーストの単位で図１９に示した画素データをパッキングした場合の一例を示している。なお、図２０では、画素データをメモリに転送する際に使用するデータバス（以下、「メモリバス」という）のバス幅（以下、「メモリバス幅」という）を３２ｂｉｔとし、バースト転送における１サイクル分のメモリアクセス（以下、「１転送」という）を４回、すなわち、４転送で１回のバースト転送を行う場合の例を示している。そして、図２０（ａ）および図２０（ｂ）では、それぞれ上から順に、１画素の画素データの分解能、すなわち、画素データのビット数が、９ｂｉｔ、１０ｂｉｔ、１２ｂｉｔ、および１４ｂｉｔである場合の一例を示している。
【０００８】
図２０からわかるように、図２０（ａ）に示した特許文献１で開示されたパッキング方法では、１転送あたり２画素分の画素データがメモリバスに配置され、１バーストあたり８画素分の画素データをメモリに転送することができる。これに対して図２０（ｂ）に示したバースト単位でのパッキング方法では、それぞれ、１４画素分、１２画素分、１０画素分、および９画素分の画素データをメモリに転送することができる。これは、特許文献１で開示されたパッキング方法は、メモリバス幅、すなわち、１転送の単位で画素データを配置（パッキング）するため、配置する複数の画素データのビット数の合計がメモリバス幅を超えないようにする必要がある。このため、特許文献１で開示されたパッキング方法では、メモリバス幅内に画素データを割り当てることができないビット（以下、「未使用ビット」という）が多く存在してしまう。これに対し、バースト単位でのパッキング方法は、１バーストの単位で画素データを配置（パッキング）するため、図２０（ｂ）のように、配置する複数の画素データのビット数の合計がメモリバス幅を超えてしまう場合でも、１バーストを超えなければ次の転送に画素データを配置（パッキング）することができる。すなわち、バースト単位でのパッキング方法では、メモリバス幅が画素データの分解能の整数倍ではない場合においても、１転送の単位を跨いで画素データを配置（マッピング）することができるため、未使用ビットを少なくすることができるのである。このことにより、バースト単位でのパッキング方法は、特許文献１で開示されたパッキング方法よりも、同じ時間で多くの画素データをメモリに転送する、すなわち、画像データの転送期間を短縮することができ、撮像装置内の電気回路の消費電力を、さらに低減させることができる。
【０００９】
しかし、一般的に、データの変化（データの“０”→“１”、もしくは“１”→“０”の変化（反転））が少ない方が、消費電力が少ないことが知られている。このため、撮像装置内の各処理ブロック（電気回路）とメモリとの間のメモリバス上のデータの変化を少なくすることによって、撮像装置の消費電力を低減させることも考えられる。図２１は、撮像装置内の処理ブロックとメモリとの間のデータバス（メモリバス）上のデータの変化と消費電力との関係を説明する図である。図２１（ａ）は、図１８に示した撮像装置における撮像処理部とメモリとの間のメモリバスのバス幅が３２ｂｉｔである場合の一例を示している。そして、図２１（ｂ−１）〜（ｂ−３）では、メモリバス上のデータの変化を模式的に示している。図２１の一例においては、メモリバス上のデータの変化がない図２１（ｂ−１）の場合が、最も消費電力が少なく、メモリバス上のデータの変化が最も多い図２１（ｂ−３）の場合が、最も消費電力が多くなる。
【００１０】
このことから、撮像装置内の各処理ブロックとメモリ間のバースト転送において、連続する２転送間の画素データ（例えば、図２０に示した各バースト転送の１転送目と２転送目との画素データ）の変化が多いと、画像データの転送に係る消費電力も多くなってしまうことがわかる。すなわち、メモリバス上の同一ビットが２転送間で変化している個数（ビット数）に比例して、画像データの転送に係る消費電力が変化する。
【００１１】
一般的に、画像データは、隣接する画素間でデータの変化量が小さく、隣接する画素のそれぞれの画素データの同一のビットで比較すると、値が反転しているビットの方が、値が反転していないビットよりも少ないことが予想される。ここで、図２０に示した、特許文献１で開示されたパッキング方法と、バースト単位でのパッキング方法とを比較すると、図２２に示したように、同一色の画素データで同一のビットが揃っている、特許文献１で開示されたパッキング方法の方が、画像データの転送に係る消費電力が少ないと考えられる。なお、図２２は、図２０に示した特許文献１で開示されたパッキング方法と、バースト単位でのパッキング方法とにおいて、１画素の画素データのビット数が９ｂｉｔである場合を示している。
【００１２】
より具体的には、図２２（ａ）に示した特許文献１で開示されたパッキング方法では、範囲Ａに示したメモリバスの最下位ビットは、全て同一色の画素データの同一ビット（最下位ビット）である。これに対して、図２２（ｂ）に示したバースト単位でのパッキング方法では、範囲Ｂに示したメモリバスの最下位ビットは、全て異なる色の画素データの異なるビットである。このことから、バースト単位で画像データをパッキングすることによって、メモリバス上に配置される画素データのビットの位置が、連続する２転送間で異なってしまうと、メモリバス上の同一ビットの変化量が多くなり、画像データの転送に係る消費電力を増加させてしまうことがわかる。
【００１３】
すなわち、図２２（ａ）に示した特許文献１で開示されたパッキング方法は、画像データの転送に係る消費電力が少ないが、データの転送効率が低い。また、図２２（ｂ）に示したバースト単位でのパッキング方法は、データの転送効率はよいが、画像データの転送に係る消費電力が多い。
【００１４】
このように、バースト単位での画素データのパッキングでは、より多くの画素データをメモリバスに配置することによって、結果的に画素データの転送期間を短縮し、画像データの転送に係る消費電力を低減させることができるが、メモリバス上に配置される画素データのビットの位置が、連続する２転送間で異なっているため、画像データの転送に係る消費電力の低減効果を十分に得ることができていない。
【００１５】
また、特許文献１で開示されたパッキング方法においては、例えば、図２３に示したように、画素データをパッキングする１転送内に、３画素分の画素データを配置（パッキング）することができる。しかし、この場合には、例えば、範囲Ｃに示したメモリバスの最下位ビットが、画素データの同一ビット（最下位ビット）ではあるが、異なる色の画素データになってしまう。画素データは、色が異なるとその値が大きく異なる可能性が高く、特許文献１で開示されたパッキング方法でも、１転送内の画素データの配置によっては、画像データの転送に係る消費電力を低減できていないことになってしまう。
【００１６】
そこで、連続する２転送間における、メモリバス上に配置されるデータの変化を少なくするための技術として、特許文献２のような技術が開示されている。特許文献２は、時系列的に変化する画像データを液晶パネルなどの表示装置に転送する場合において、転送されるデータの変化量を削減する方法、その変化量の判定方法、およびその利用方法についての技術である。そして、表示装置に転送される画像データの変化量を削減することによって、ＥＭＩ（Ｅｌｅｃｔｒｏ  Ｍａｇｎｅｔｉｃ  Ｉｎｔｅｒｆｅｒｅｎｃｅ）輻射および消費電力の低減を期待している。
【００１７】
特許文献２で開示された技術では、データの送り手側が、入力されたｎビットのデータと１つ前のタイミングで入力されたｎビットのデータとをビット毎に比較することによって、値が変化しているビットの数を多数決判定する。多数決判定においては、入力されたデータのそれぞれのビットの値が変化しているビットの数が、半数を超えている場合に入力されたデータを反転し、値が変化しているビットの数が半数以下の場合に入力されたデータは反転しないと判定する。そして、送り手側は、多数決判定を行った結果に応じて、入力されたデータを反転したデータ、またはそのままのデータを、受け手側に出力する。このとき、データを反転したか否かを表す信号も受け手側に出力される。また、データの受け手側は、データを反転したか否かを表す信号に応じて、受け取ったデータを反転して受け取る、またはそのまま受け取ることによって、送り手側に入力されたデータを復元する。
【００１８】
ここで、特許文献２で開示された、転送するデータ（転送データ）のデータ変化量を削減する方法の具体例について説明する。図２４は、特許文献２に開示された、従来のデータ処理装置の概略構成を示したブロック図である。特許文献２に開示された従来のデータ処理装置のデータ送信側（送り手側）は、以下のような流れ（フロー）で、時系列的に入力されたデータをデータ受信側（受け手側）に転送する。
【００１９】
（フロー１）：転送するデータが入力されると、まず、最初に、ＥＸＯＲ（排他的論理和）１回路が、今回入力された３６ビットのデータ（以下、「データＤ１」という）と、時間的に１つ前のタイミングで入力された３６ビットデータ（以下、「データＤ０」という）とを、ビット毎に比較する。
【００２０】
（フロー２）：続いて、多数決回路が、ＥＸＯＲ１回路から入力されたビット毎の比較結果から、データＤ１の値が変化しているビットの数（以下、「ビット変化数」という）を検出する。そして、多数決回路は、データＤ１のデータ幅（ビット数：ｎビット）に対して、検出したビット変化数が過半数であるか否かを判定する。そして、多数決回路は、判定した多数決の結果に応じて、データＤ１を反転して出力するか、非反転のまま出力するかを表す制御信号（以下、「反転ビット」という）を出力する。図２４に示した従来のデータ処理装置の多数決回路では、ビット変化数がデータのビット数の過半数を占める（＞ｎ／２）場合に、データＤ１の全てのビットを反転すると判定し、反転ビットとして“１”の値を出力する。また、多数決回路は、ビット変化数がデータのビット数の半数以下（≦ｎ／２）の場合に、データＤ１の全てのビットは非反転とする判定し、反転ビットとして“０”の値を出力する。なお、ここで、反転とは、データの各ビットの値を、“１”から“０”、または“０”から“１”にすることを表している。
【００２１】
（フロー３）：続いて、ＥＸＯＲ２回路が、フロー２で多数決回路から出力された、データＤ１に対応した反転ビットの値と、データＤ０に対応した反転ビットの値とを比較する。このＥＸＯＲ２回路による比較結果が、最終的にデータＤ１のデータの全てのビットを反転して出力するか、非反転のまま出力するかを表す制御信号（以下、「反転ビット」という）となる。すなわち、図２４に示した従来のデータ処理装置では、データＤ１の全てのビットを反転して出力する反転処理を行うか、データＤ１の全てのビットを非反転のまま出力する非反転処理を行うかを、時間的に１つ前のタイミングで入力されたデータＤ０が反転処理されて出力されたか否かの状態によって決定している。より具体的には、データＤ０に対応した反転ビットの値が“０”（非反転）であった場合、多数決回路から入力されたデータＤ１に対応した反転ビットを、最終的にデータＤ１のデータに対応する反転ビットにする。また、データＤ０に対応した反転ビットの値が“１”（反転）であった場合、多数決回路から入力されたデータＤ１に対応した反転ビットと逆の信号を、最終的にデータＤ１のデータに対応する反転ビットとする。これは、例えば、データＤ０を反転処理して出力した後、次のタイミングでもデータＤ１を反転処理して出力すると、すでに１つ前のタイミングで出力されたデータＤ０は反転しているデータであるため、データＤ１が、反転して出力されたデータＤ０に対して反転した、すなわち、反転の反転で非反転のデータになってしまうのを回避するためである。
【００２２】
（フロー４）：そして、次のタイミングで、ＥＸＯＲ３回路が、データＤ１の全てのビットを、反転ビットに応じて反転処理または非反転処理したデータＤ１を出力（転送）する。また、同じタイミングで、反転ビットも出力（転送）する。このようなフローによって、図２４に示した従来のデータ処理装置では、時系列的に入力されたデータの値が変化しているビットの数が半数を超えている場合に、入力されたデータを反転処理することによって、値が変化しているビットの数を半数以下にして転送する。これにより、入力されたデータを転送する際の、各ビットの変化量を少なくすることができ、データの転送に係る消費電力を低減させることができる。
【００２３】
また、データ受信側は、ＥＸＯＲ４回路が、データ送信側から転送されてきたデータＤ１の全てのビットを、同じく転送されてきた反転ビットに応じて反転処理または非反転処理する。これにより、データ受信側に入力された元のデータＤ１を復元することができる。
【００２４】
ここで、従来のデータ処理装置において、出力するデータの変化量が少なくなることを示す具体的なデータの値の一例について説明する。図２５は、特許文献２に開示された、従来のデータ処理装置において、データの変化量を削減する場合の一例を示した図である。図２５（ａ）は、従来のデータ処理装置に入力された入力データとビット変化数とを示し、図２５（ｂ）には、従来のデータ処理装置から出力される出力データおよび反転ビットとビット変化数を示している。従来のデータ処理装置には、図２５（ａ）に示したような入力データが、上段から下段に向かって時系列的に順次入力される。そして、従来のデータ処理装置は、入力データが入力される毎に、ビット変化数を検出し、検出したビット変化数に応じて入力データの全てのビットを反転処理または非反転処理した、図２５（ｂ）に示したような出力データを出力する。なお、以下の説明においては、説明を容易にするため、従来のデータ処理装置に８ビットの入力データが入力され、８ビットの出力データを出力する場合について説明する。
【００２５】
図２５（ａ）からわかるように、入力データが入力される毎に、入力データの各ビットの値を順次比較する、すなわち、図２５（ａ）に示した入力データのそれぞれの段において、各ビットの値を上段の入力データの値と比較すると、例えば、図２５（ａ）の「Ａ」の段の入力データのように、ビット変化数が過半数になっている入力データが存在する。また、図２５（ａ）に示した入力データの全体では、ビット変化数の合計が３８ビットである。
【００２６】
そこで、従来のデータ処理装置では、上述したフロー１〜フロー４のような流れで、入力データに対して反転処理または非反転処理した出力データを出力することにより、図２５（ｂ）の「Ａ」の段のように、ビット変化数が半数以下になる。これにより、出力データの全体では、ビット変化数の合計が３０ビットとなり、データの変化量が８ビット削減される。このように、入力データの各ビットの値を順次比較し、ビット変化数が大きい入力データに対して反転処理を行って出力することにより、反転処理を行わずにデータを転送する場合に比べて、データを転送するときの全体でのデータの変化量を削減することができる。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開２００７−３１２３５８号公報
【特許文献２】特開２０００−１４８６０５号公報
【発明の概要】
【発明が解決しようとする課題】
【００２８】
上述したように、一般的に、画像データは、隣接する画素間でデータの変化量が小さい。このため、隣接する画素の画素データ間に高い相関性を持っていることが予想される。また、画素データ同士の相関性は、画素データの上位のビットほど高く、下位のビットほど低い傾向にある。これは、隣接する画素同士でも、画素データの下位ビットの方が、例えば、撮像装置１内のノイズ成分による影響が大きいため、相関性が低くなってしまうためである。
【００２９】
しかしながら、特許文献２で開示されたデータの変化量の削減方法では、データの全てのビットに対して、ビット変化数の検出、反転または非反転の判定、および反転処理または非反転処理を行っている。このため、転送するデータが、画像データであった場合には、データの変化量の削減の効果を十分に得ることができないことがある。これは、上述のように、画素データの上位のビットは相関性が高いため、値の変化が少ない（データの変化頻度が低い）と予想されるのに対し、特許文献２で開示されたデータの変化量の削減方法では、画素データの上位のビットまで含めて処理することになるためである。
【００３０】
この場合の一例を、図２６を用いて説明する。図２６は、画像データにおけるデータの変化量の一例を示した図である。例えば、図２６（ａ）に示したように、自然画像データとして８ビットの画素データが順次入力される場合において、自然画像データ内の画素データが、上段の値から下段の値になる場合を考える。なお、以下の説明においては、図２６（ａ）に示したように、画素データの上位４ビットの相関性が高く、下位４ビットの相関性が低いものとする。
【００３１】
特許文献２に開示された従来のデータ処理装置では、データ変化数を図２６（ａ）に示した枠Ａ内の８ビット全てのデータのビットに基づいてビット変化数を検出する。図２６に示した一例では、ビット変化数が３ビットであると検出される。しかし、相関性が低い（データの変化頻度の高い）、枠Ｂ内の下位４ビットに着目してビット変化数を検出しても、ビット変化数が３ビットであると検出される。すなわち、図２６（ａ）に示した一例においては、下位４ビットの値のみが変化している。
【００３２】
そして、特許文献２に開示された従来のデータ処理装置では、検出したビット変化数に基づいて、多数決の判定が行われる。しかしながら、多数決の判定結果は、８ビット全てのデータにおける判定と、下位４ビットのデータにおける判定とでは異なってくる。そして、この多数決の判定結果の違いは、画素データに対する反転または非反転の判定に影響する。より具体的には、図２６（ｂ）に示したように、枠Ａ内の全てのビット（８ビット）をデータ幅として多数決の判定を行うと、検出したビット変化数は、データ幅の半数以下（３ビット≦（８／２）ビット）ため、全てのビットは非反転とする判定され、反転ビットとして“０”の値が出力される。一方、枠Ｂ内の下位４ビットをデータ幅として多数決の判定を行うと、検出したビット変化数は、データ幅の過半数を占める（３ビット＞（４／２）ビット）ため、全てのビットは反転する判定され、反転ビットとして“１”の値が出力される。
【００３３】
このように、画像データを転送する場合には、画素データの全てのビットをデータ幅として多数決の判定を行うと、データの変化頻度の高い下位のビットの変化が反映されず、データの変化量の削減の効果を十分に得ることができていない、という問題がある。従って、特許文献２に開示された従来のデータ処理装置は、液晶パネルなどの表示装置に転送する画像データを想定しているが、画像データの相関性を考慮していないため、画像データの転送に係る消費電力を十分に低減できていないことになってしまう。
【００３４】
本発明は、上記の課題認識に基づいてなされたものであり、データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるデータ処理装置およびデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【００３５】
上記の課題を解決するため、本発明のデータ処理装置は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、１つの前記転送データを１つの転送単位とし、予め定められた数の前記転送単位を１つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、を備え、前記データ変換部は、前記入力データを、予め定めた第１のビット数の第１の分離データと、予め定めた第２のビット数の第２の分離データとに分離する第１のビット分離部と、該データ変換部からｎ（ｎは１以上の自然数）回目に出力した前記第１の分離データに応じた第１の出力データ内の各ビットの値と、該データ変換部にｎ＋１回目に入力された前記第１の分離データ内の各ビットの値とを比較し、該比較したビットの比較情報を出力するビット比較部と、前記比較情報に基づいて、異なる値となっているビットの数を表すビット変化数を算出し、該算出した前記ビット変化数と、前記ｎ回目に入力された前記第１の分離データにおける各ビットの値を反転したか否かを表す情報と、予め定めたビット数とに基づいて、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値を、ビット毎に反転するか否かを判定し、該判定した結果を反転情報として出力するビット判定部と、前記反転情報に基づいて、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転した第１の反転データ、または前記ｎ＋１回目に入力された前記第１の分離データのいずれか一方のデータを、第１の反転処理データとして出力する第１のビット反転部と、前記第１の反転処理データの各ビットと前記第２の分離データの各ビットとを、前記データバスの各ビットに配置した第１の転送データを生成し、該第１の転送データを前記転送データとして出力する際に、前記変換単位内の前記第１の転送データの内、データが配置されていない未使用ビットを含む前記第１の転送データの予め定められた前記未使用ビットの位置に、前記反転情報を結合した結合データを生成し、前記第１の転送データ、または前記結合データのいずれか１つのデータを、該データ変換部における前記転送データとして出力する第１のビット結合部と、を具備する、ことを特徴とする。
【００３６】
また、本発明の前記ビット判定部は、前記ビット変化数が、前記第１の分離データのビット数の過半数である場合に、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転すると判定し、前記ビット変化数が、前記第１の分離データのビット数の半数以下である場合に、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転しないと判定する、ことを特徴とする。
【００３７】
また、本発明の前記ビット判定部は、前記ビット変化数が、前記第１の分離データのビット数の半数である場合、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転するか否かの判定を、ｎ回目に入力された前記第１の分離データに対して行った判定の結果と同じ判定にする、ことを特徴とする。
【００３８】
また、本発明の前記データ変換部は、前記第２の分離データを、データの変化が１である場合には、必ず１ビットだけしか変化しないグレイコードで表す第１のコード変換部、を、さらに具備し、前記第１のビット結合部は、前記第１の反転処理データの各ビットと前記グレイコードで表された前記第２の分離データの各ビットとを、前記データバスの各ビットに配置した第１の転送データを生成する、ことを特徴とする。
【００３９】
また、本発明の前記第１のビット分離部は、同一の前記転送単位に配置された複数の前記入力データのそれぞれの前記第１の分離データをまとめて１つの前記第１の分離データとし、前記ビット比較部は、前記まとめられた前記第１の分離データの単位で各ビットの値を比較し、前記ビット判定部は、前記まとめられた前記第１の分離データの単位で各ビットの値をビット毎に反転するか否かを判定し、前記第１のビット反転部は、前記まとめられた前記第１の分離データの単位の第１の反転処理データを出力し、前記第１のビット結合部は、前記まとめたれた単位の前記第１の反転処理データの各ビットと、それぞれの前記第２の分離データの各ビットとを、前記データバスの各ビットに配置し、前記まとめられた単位で判定された前記反転情報を結合する、ことを特徴とする。
【００４３】
また、本発明のデータ処理装置は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、１つの前記転送データを１つの転送単位とし、予め定められた数の前記転送単位を１つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、を備え、前記データ逆変換部は、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを、予め定めた第１のビット数の第１の分離データと、予め定めた第２のビット数の第２の分離データとに分離し、前記第１の分離データの各ビットの値をビット毎に反転した第１の反転データ、または前記第１の分離データのいずれか一方のデータを第１の反転処理データとし、前記第２の分離データの各ビットと前記第１の反転処理データの各ビットとが前記データバスの各ビットに配置された第１の転送データと、ｎ（ｎは１以上の自然数）回目に出力した前記第１の分離データにおける各ビットの値を反転したか否かを表す情報を含めて判定された、前記第１の反転データまたは前記第１の分離データのいずれのデータが前記第１の反転処理データとして選択されているかを表す反転情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている前記反転情報と、前記第１の転送データとに分離し、さらに前記第１の転送データを、前記第２の分離データと第１の反転処理データとに分離する第２のビット分離部と、前記反転情報に基づいて、前記第１の反転処理データの各ビットの値をビット毎に反転した第２の反転データ、または前記第１の反転処理データのいずれか一方のデータを、前記第１の分離データとして出力する第２のビット反転部と、前記第１の分離データと前記第２の分離データとを結合して元の前記入力データに戻す第２のビット結合部と、を具備する、ことを特徴とする。
【００４４】
また、本発明の前記データ逆変換部は、グレイコードで表されている前記第２の分離データを、バイナリコードに戻して表す第２のコード変換部、を、さらに具備し、前記第２のビット結合部は、前記第１の分離データと前記バイナリコードに戻して表された前記第２の分離データとを結合して元の前記入力データに戻す、ことを特徴とする。
【００４５】
また、本発明の前記転送データは、同一の前記転送単位に配置された複数の前記入力データのそれぞれの前記第１の分離データがまとめて１つの前記第１の分離データとして処理されており、前記第２のビット分離部は、前記第１の転送データから、前記まとめられた単位の前記第１の分離データからなる第１の反転処理データを分離し、前記第２のビット反転部は、前記第１の反転処理データから前記まとめられた単位の前記第１の分離データを出力し、前記第２のビット結合部は、前記まとめられた単位の前記第１の分離データを、それぞれの前記第１の分離データに分離し、該分離した前記第１の分離データと対応する前記第２の分離データと結合して元の前記入力データに戻す、ことを特徴とする。
【００４９】
また、本発明のデータ処理方法は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、１つの前記転送データを１つの転送単位とし、予め定められた数の前記転送単位を１つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、を含み、前記データ変換ステップは、前記入力データを、予め定めた第１のビット数の第１の分離データと、予め定めた第２のビット数の第２の分離データとに分離する第１のビット分離ステップと、該データ変換ステップによってｎ（ｎは１以上の自然数）回目に出力した前記第１の分離データに応じた第１の出力データ内の各ビットの値と、該データ変換においてｎ＋１回目に入力された前記第１の分離データ内の各ビットの値とを比較し、該比較したビットの比較情報を出力するビット比較ステップと、前記比較情報に基づいて、異なる値となっているビットの数を表すビット変化数を算出し、該算出した前記ビット変化数と、前記ｎ回目に入力された前記第１の分離データにおける各ビットの値を反転したか否かを表す情報と、予め定めたビット数とに基づいて、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値を、ビット毎に反転するか否かを判定し、該判定した結果を反転情報として出力するビット判定ステップと、前記反転情報に基づいて、前記ｎ＋１回目に入力された前記第１の分離データの各ビットの値をビット毎に反転した第１の反転データ、または前記ｎ＋１回目に入力された前記第１の分離データのいずれか一方のデータを、第１の反転処理データとして出力する第１のビット反転ステップと、前記第１の反転処理データの各ビットと前記第２の分離データの各ビットとを、前記データバスの各ビットに配置した第１の転送データを生成し、該第１の転送データを前記転送データとして出力する際に、前記変換単位内の前記第１の転送データの内、データが配置されていない未使用ビットを含む前記第１の転送データの予め定められた前記未使用ビットの位置に、前記反転情報を結合した結合データを生成し、前記第１の転送データ、または前記結合データのいずれか１つのデータを、該データ変換ステップにおける前記転送データとして出力する第１のビット結合ステップと、を含む、ことを特徴とする。
【００５１】
また、本発明のデータ処理方法は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、１つの前記転送データを１つの転送単位とし、予め定められた数の前記転送単位を１つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、を含み、前記データ逆変換ステップは、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを、予め定めた第１のビット数の第１の分離データと、予め定めた第２のビット数の第２の分離データとに分離し、前記第１の分離データの各ビットの値をビット毎に反転した第１の反転データ、または前記第１の分離データのいずれか一方のデータを第１の反転処理データとし、前記第２の分離データの各ビットと前記第１の反転処理データの各ビットとが前記データバスの各ビットに配置された第１の転送データと、ｎ（ｎは１以上の自然数）回目に出力した前記第１の分離データにおける各ビットの値を反転したか否かを表す情報を含めて判定された、前記第１の反転データまたは前記第１の分離データのいずれのデータが前記第１の反転処理データとして選択されているかを表す反転情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている前記反転情報と、前記第１の転送データとに分離し、さらに前記第１の転送データを、前記第２の分離データと第１の反転処理データとに分離する第２のビット分離ステップと、前記反転情報に基づいて、前記第１の反転処理データの各ビットの値をビット毎に反転した第２の反転データ、または前記第１の反転処理データのいずれか一方のデータを、前記第１の分離データとして出力する第２のビット反転ステップと、前記第１の分離データと前記第２の分離データとを結合して元の前記入力データに戻す第２のビット結合ステップと、を含む、ことを特徴とする。
【発明の効果】
【００５３】
本発明によれば、データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるという効果が得られる。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施形態における撮像装置の概略構成を示したブロック図である。
【図２】本実施形態の撮像装置に備えた第１の構成のデータ変換部の概略構成を示したブロック図である。
【図３】本実施形態の撮像装置に備えた第１の構成のデータ逆変換部の概略構成を示したブロック図である。
【図４】本実施形態の撮像装置に備えた第１の構成のデータ変換部における転送画素データの生成方法を説明する図である。
【図５】本実施形態の撮像装置に備えた第１の構成のデータ変換部における転送画素データの生成方法を説明する図である。
【図６】本実施形態の撮像装置に備えた第１の構成のデータ変換部における第１のデータ配置方法を説明する図である。
【図７】本実施形態の撮像装置に備えた第１の構成のデータ変換部における第２のデータ配置方法を説明する図である。
【図８】本実施形態の撮像装置に備えた第２の構成のデータ変換部の概略構成を示したブロック図である。
【図９】本実施形態の撮像装置に備えた第２の構成のデータ逆変換部の概略構成を示したブロック図である。
【図１０】本実施形態の撮像装置に備えた第２の構成のデータ変換部における転送画素データの生成方法を説明する図である。
【図１１】本実施形態の撮像装置に備えた第３の構成のデータ変換部の概略構成を示したブロック図である。
【図１２】本実施形態の撮像装置に備えた第３の構成のデータ変換部における反転処理の適用範囲の一例を説明する図である。
【図１３】本実施形態の撮像装置に備えた第３の構成のデータ逆変換部の概略構成を示したブロック図である。
【図１４】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別の画像データに適用した場合の一例を示した図である。
【図１５】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、さらに別の画像データに適用した場合の一例を示した図である。
【図１６】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、さらに別の画像データに適用した場合の一例を示した図である。
【図１７】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別のデータに適用した場合の一例を示した図である。
【図１８】従来の撮像装置の概略構成を示したブロック図である。
【図１９】画像データの配列の一例を示した図である。
【図２０】従来のデータパッキングの一例を示した図である。
【図２１】データバス上のデータの変化と消費電力との関係を説明する図である。
【図２２】従来のデータパッキング方法におけるデータ配置の状態の一例を示した図である。
【図２３】従来のデータパッキング方法におけるデータ配置の状態の別の一例を示した図である。
【図２４】従来のデータ処理装置の概略構成を示したブロック図である。
【図２５】従来のデータ処理装置においてデータの変化量を削減する一例を示した図である。
【図２６】画像データにおけるデータの変化量の一例を示した図である。
【発明を実施するための形態】
【００５５】
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態における撮像装置の概略構成を示したブロック図である。図１に示した撮像装置１は、ＣＰＵ１０と、メモリ２０と、ＣＣＤ３０と、撮像処理部４０と、画像処理部５０と、表示処理部６０と、表示デバイス７０と、データ変換部４１および５１と、データ逆変換部５２および６２と、出力ＤＭＡ部４５および５５と、入力ＤＭＡ部５６および６６と、を備えている。なお、撮像装置１は、撮影した画像データを記録する機能も有しているが、説明を容易にするため、以下の説明においては、撮影した画像データを表示する場合について説明する。また、図１においては、撮像装置１内の各構成要素（処理ブロック）間での画素データの受け渡しに係るデータバスであるメモリバスの接続のみを示している。
【００５６】
ＣＰＵ１０は、撮像装置１の全体の制御を行う制御装置である。
メモリ２０は、撮像装置１内の各処理ブロックが処理する画素データを一時的に記憶する、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリである。メモリ２０には、撮像装置１内の各処理ブロックによる各処理段階の画素データが一時記憶される。
【００５７】
ＣＣＤ３０は、入射した被写体光を画像信号に変換する、例えば、ベイヤー配列の固体撮像素子である。ＣＣＤ３０は、被写体の画素信号を撮像処理部４０に出力する。
撮像処理部４０は、ＣＣＤ３０から入力された画素信号に対して、予め定められた信号処理を行った画像データを生成する。
【００５８】
画像処理部５０は、撮像処理部４０が生成した画像データに対して、撮像装置１における種々の画像処理を行った画像データを生成する。
表示処理部６０は、画像処理部５０によって画像処理された画像データを、表示デバイス７０に応じた表示データに変換する。表示処理部６０は、変換した表示データを表示デバイス７０に出力する。
表示デバイス７０は、表示データを表示する、例えば、液晶などの表示装置である。
【００５９】
本実施形態の撮像装置１では、ＣＣＤ３０によって撮像された被写体の画素信号を、撮像処理部４０、画像処理部５０、表示処理部６０が順次処理し、表示デバイス７０に表示させる。このとき、各処理段階の画像データは、メモリ２０を介して各処理ブロック間で受け渡される。撮像装置１内のデータ変換部４１および５１と、データ逆変換部５２および６２と、出力ＤＭＡ部４５および５５と、入力ＤＭＡ部５６および６６とは、各処理段階の画像データの受け渡しに係る処理ブロックである。
【００６０】
データ変換部４１および５１は、前段の処理ブロック（図１に示した本実施形態においては、撮像処理部４０または画像処理部５０）から入力された画像データ内の各画素データを、予め定められた配置（パッキング）方法で、メモリバスの各ビットに配置する。データ変換部４１および５１の構成と、データ変換部４１および５１による画素データのパッキング方法に関する詳細な説明は、後述する。
【００６１】
出力ＤＭＡ部４５および５５は、データ変換部４１または５１によってメモリバスの各ビットにパッキングされた画素データからなる画像データを、ＤＭＡアクセスによってメモリ２０に書き込む（記憶させる）。
入力ＤＭＡ部５６および６６は、メモリ２０に記憶されている画像データをＤＭＡアクセスによって読み出し、読み出した画像データを、データ逆変換部５２または６２に出力する。
【００６２】
データ逆変換部５２および６２は、入力ＤＭＡ部５６または６６から入力された画像データに含まれる画素データを、予め定められた配置（パッキング）方法と逆の方法で元の画像データに戻し、後段の処理ブロック（図１に示した本実施形態においては、画像処理部５０または表示処理部６０）に出力する。データ逆変換部５２および６２の構成に関する詳細な説明は、後述する。
【００６３】
ここで、図１に示した撮像装置１における画像データの処理について説明する。撮像装置１における撮影動作では、以下のような手順で画像データの処理が行われる。
（手順１）：まず、撮像処理部４０は、ＣＣＤ３０によって撮像された被写体の画素信号に対して、予め定められた信号処理を行った画像データ（例えば、ＣＣＤ３０の画素の配列に応じた画像データ）を生成する。そして、生成した画像データを、データ変換部４１および出力ＤＭＡ部４５を介して、メモリ２０に転送して一時記憶する。
（手順２）：続いて、画像処理部５０は、メモリ２０に一時記憶している画像データを、入力ＤＭＡ部５６およびデータ逆変換部５２を介して読み出す。そして、画像処理部５０は、読み出した画像データに対して記録用の画像処理や、表示用の画像処理を行った画像データ（例えば、ＲＧＢデータや、ＹＣ４２２点順次フォーマットのＹＣｂＣｒデータ）を生成する。その後、生成した画像データを、再びデータ変換部５１および出力ＤＭＡ部５５を介してメモリ２０に転送して一時記憶する。
（手順３）：続いて、表示処理部６０は、画像処理部５０によって表示用の画像処理がされた画像データや、別途、メモリ２０に記憶しているＯＳＤ（Ｏｎ−Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ）表示用の画像データを、入力ＤＭＡ部６６およびデータ逆変換部６２を介して読み出し、表示デバイス７０に表示させる。
【００６４】
なお、撮像装置１が撮影した画像データを記録する場合には、画像データの記録処理を行う図示しない記録処理部が、画像処理部５０によって記録用の画像処理がされた画像データを、図示しない入力ＤＭＡ部およびデータ逆変換部を介して読み出し、読み出した記録用の画像データをメモリカードなどの図示しない画像データ記録部に記録する。また、撮像装置１に、例えば、音を入出力する機能を備えている場合には、音声処理を行う図示しない音声処理部が、撮影時の音声データを、図示しないデータ変換部および出力ＤＭＡ部を介してメモリ２０に記憶する。また、音声処理部が、メモリ２０に記憶している音声データを、図示しない入力ＤＭＡ部およびデータ逆変換部を介して読み出し、読み出した音声データに応じた音声を、スピーカーなどの図示しない音出力部に出力させる。
【００６５】
＜第１の構成＞
次に、撮像装置１内のデータ変換部について説明する。なお、上記に述べたように、データ変換部４１とデータ変換部５１とは、接続される前段の処理ブロックと後段の処理ブロックが異なるのみである。より具体的には、図１に示したように、データ変換部４１は、前段の撮像処理部４０と後段の出力ＤＭＡ部４５との間に配置され、データ変換部５１は、前段の撮画像処理部５０と後段の出力ＤＭＡ部５５との間に配置されている。従って、データ変換部４１とデータ変換部５１とは、入力される画像データと出力する画像データとのデータ形式（フォーマット）が異なるのみである。以下の説明においては、代表してデータ変換部４１について説明する。
【００６６】
データ変換部４１には、図１９に示したような、１６行×１６列のベイヤー配列の画像データ（以下、「ベイヤーデータ」という）が入力される。そして、データ変換部４１は、入力されたベイヤーデータ内の画素データを、予め定められたパッキング方法で、メモリバスに配置（パッキング）したパックデータを出力する。例えば、ベイヤーデータ内の各画素データのビット数が１０ｂｉｔであり、メモリバスのバス幅（メモリバス幅）が３２ｂｉｔである場合、データ変換部４１は、ベイヤーデータ内の各画素データをパッキングする単位を４転送とし、４転送を１回のバースト転送の単位とする、すなわち、１バーストを画素データのパッキング単位としてパッキングした３２ｂｉｔのパックデータを出力する。なお、図１９に示したベイヤーデータでは、各画素データの数字がＣＣＤ３０内の画素の位置を表しており、数字の前の「Ｒ」，「Ｇ」，「Ｂ」がＣＣＤ３０内の画素の色を表している。より具体的には、「Ｒ」がＣＣＤ３０の赤色の画素の画素データ、「Ｇ」がＣＣＤ３０の緑色の画素の画素データ、「Ｂ」がＣＣＤ３０の青色の画素の画素データを表している。
【００６７】
データ変換部４１は、撮像処理部４０から順次入力された１０ｂｉｔの画素データの各ビットのデータを、予め定められた後述するパッキング方法のいずれか１つの方法で、メモリバス上の各ビットに配置した３２ｂｉｔのパックデータを生成する。そして、データ変換部４１は、例えば、出力ＤＭＡ部４５から入力される図示しないデータイネーブル信号に基づいて生成したパックデータを順次出力する。なお、データイネーブル信号は、出力ＤＭＡ部４５がバースト転送する際にパックデータを転送するタイミングを表す信号である。
【００６８】
データ変換部４１がパックデータを生成する際には、まず、入力された画素データをビット毎に比較して、ビット変化の少ない画素データ（以下、「転送画素データ」という）を生成する。より具体的には、データ変換部４１は、入力された画素データを予め定められたビット数の上位の画素データと下位の画素データとに分離する。そして、前回出力した下位の画素データの各ビットの値と、今回分離した下位の画素データの各ビットの値とを比較し、前回出力した下位の画素データに対して、値が変化しているビットの数が少ない下位の画素データを生成する。その後、今回分離した上位の画素データと結合し、転送画素データとする。また、データ変換部４１は、下位の画素データの値が変化しているビットの数（ビット変化数）に応じた、転送画素データを生成したときの情報を出力する。
【００６９】
その後、データ変換部４１は、予め定められたパッキング方法で、転送画素データの各ビットのデータを、メモリバスに対応したデータバス（このデータバスはメモリバスの各ビットに対応しているため、以下の説明においては、「メモリバス」として説明する）の各ビットに配置（パッキング）し、最終的に出力するパックデータとして出力する。また、データ変換部４１は、転送画素データを生成したときの情報を、パッキング単位（４転送）内に存在する未使用ビットに付加して、パックデータと共に出力する。
【００７０】
なお、データ変換部４１は、上記に述べたように、画素データが入力される毎に、転送画素データを生成し、生成した転送画素データおよび転送画素データを生成したときの情報を順次パッキングしたパックデータを順次出力することもできるが、データ変換部４１内に、例えば、１バースト分、すなわち、パッキング単位（４転送）分の３２ｂｉｔのパックデータを一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、入力された画素データをメモリ部に一旦保持し、保持したそれぞれの画素データに基づいた転送画素データを生成し、生成した転送画素データのパッキングと、転送画素データを生成したときの情報の付加とを行う。
【００７１】
また、入力された画素データを最初にパッキングし、その後、ビット変化の少ないパックデータの生成と、パックデータを生成したときの情報の付加とを行う構成とすることもできる。この場合には、最初にパッキングしたパックデータを、入力された画素データと同様に扱って処理する。
【００７２】
図２は、本実施形態の撮像装置１に備えた第１の構成のデータ変換部４１の概略構成を示したブロック図である。図２に示したように、データ変換部４１は、ビット分離部４１１と、ＥＸＯＲ（排他的論理和）回路４１２と、Ｄ−ＦＦ４１３と、ＥＸＯＲ回路４１４と、多数決判定部４１５と、ビット結合部４１６と、を備えている。
【００７３】
上記に述べたように、データ変換部４１は、入力された１０ｂｉｔの画素データの値が変化しているビットの数が少ない転送画素データをパッキングして、データ変換部４１が最終的に出力する３２ｂｉｔのパックデータを生成する。しかし、以下の説明においては、説明を容易にするため、データ変換部４１に８ｂｉｔの画素データが順次入力され、入力された画素データから転送画素データを生成し、転送画素データを生成したときの情報を付加した９ｂｉｔのパックデータを出力する場合について説明する。すなわち、データ変換部４１は、１つの転送画素データをパッキングしたパックデータを生成する場合について説明する。なお、複数の転送画素データをパッキングしたパックデータの生成方法に関する詳細な説明は、後述する。
【００７４】
以下の説明においては、データ変換部４１に入力される１０ｂｉｔの画素データと８ｂｉｔの画素データとを区別するため、８ｂｉｔの画素データを入力データＤＩＮ［７：０］と表す。また、３２ｂｉｔのパックデータと９ｂｉｔのパックデータとを区別するため、以下の説明においては、９ｂｉｔのパックデータを出力データＤＯＵＴ［８：０］と表す。なお、以下の説明において、入力データＤＩＮまたは出力データＤＯＵＴのビットを特定しない、すなわち、入力データＤＩＮまたは出力データＤＯＵＴの全てのビット範囲を表す場合には、データのビットの範囲を表す“［］：括弧”内の数字を省略する。
【００７５】
また、以下の説明においては、８ｂｉｔの入力データＤＩＮを、上位４ｂｉｔと下位４ｂｉｔとに分離して、ビット変化の少ない転送画素データを生成する場合について説明する。
【００７６】
ビット分離部４１１は、入力された８ｂｉｔの入力データＤＩＮ［７：０］を、上位４ｂｉｔの入力データＤＩＮ［７：４］と下位４ｂｉｔの入力データＤＩＮ［３：０］とに分離する。そして、入力データＤＩＮ［７：４］をビット結合部４１６に、入力データＤＩＮ［３：０］をＥＸＯＲ回路４１２とＥＸＯＲ回路４１４とに出力する。
【００７７】
ＥＸＯＲ回路４１２は、多数決判定部４１５から入力された反転ビットに応じて、ビット分離部４１１から入力された下位の入力データＤＩＮの各ビットの値を、ビット毎に反転（“１”から“０”、または“０”から“１”）した反転データ［３：０］、または下位の入力データＤＩＮの各ビットの値がそのままの非反転データ［３：０］を、ビット結合部４１６とＤ−ＦＦ４１３とに出力する。なお、以下の説明においては、ＥＸＯＲ回路４１２から出力される反転データまたは非反転データを、「下位画像データ」という。また、ビット分離部４１１から出力される上位４ｂｉｔの入力データＤＩＮを、「上位画像データ」という。また、以下の説明においては、ＥＸＯＲ回路４１２が、多数決判定部４１５から入力された反転ビットに応じて、反転データまたは非反転データを出力する処理を、「反転処理」という。
【００７８】
Ｄ−ＦＦ４１３は、ＥＸＯＲ回路４１２から出力された下位画像データ［３：０］を保持する。このＤ−ＦＦ４１３によって保持された下位画像データは、前回出力した出力データＤＯＵＴの下位４ｂｉｔの出力データＤＯＵＴ［３：０］として、ＥＸＯＲ回路４１４に出力される。
【００７９】
ＥＸＯＲ回路４１４は、ビット分離部４１１から入力された下位の入力データＤＩＮ［３：０］と、Ｄ−ＦＦ４１３から入力された下位の出力データＤＯＵＴ［３：０］との２つのデータの各ビットの値を比較して、値が変化しているビットの有無を検出する。そして、ＥＸＯＲ回路４１４は、値が変化しているビットであることを表す値＝“１”、または値が変化しているビットではないことを示す値＝“０”を、比較したそれぞれのビット毎に出力する。
【００８０】
より具体的には、ＥＸＯＲ回路４１４による２つのデータの比較においては、下位の入力データＤＩＮの各ビットと、下位の出力データＤＯＵＴの各ビットとの排他的論理和がとられる。これにより、下位の入力データＤＩＮのビットの値と下位の出力データＤＯＵＴのビットの値とが同じ値のときに“０”が出力され、下位の入力データＤＩＮのビットの値と下位の出力データＤＯＵＴのビットの値とが異なる値のときに“１”が出力される。
【００８１】
多数決判定部４１５は、ＥＸＯＲ回路４１４から入力された値が変化しているビットの有無を検出した結果に基づいて、下位の入力データＤＩＮ［３：０］が、次に下位の出力データＤＯＵＴ［３：０］として出力されるときに、値が変化するビットの数（ビット変化数）を算出する。そして、多数決判定部４１５は、算出したビット変化数と、下位の入力データＤＩＮのビット数（データ幅：４ビット）との多数決判定を行い、反転データまたは非反転データのいずれのデータを、下位画像データとして出力するかを決定する。これにより、多数決判定部４１５は、前回入力された入力データＤＩＮを反転処理した後の出力データＤＯＵＴと、今回入力された入力データＤＩＮとのビット変化数に基づいて、多数決判定を行うことになる。そして、決定したデータを表す情報を反転ビットとして、ＥＸＯＲ回路４１２とビット結合部４１６とに出力する。
【００８２】
多数決判定部４１５による多数決判定は、算出したビット変化数が、下位の入力データＤＩＮのビット数の過半数であるか否かによって判定される。より具体的には、ビット変化数が下位の入力データＤＩＮのビット数の過半数を占める（＞２）場合に、反転データを出力すると判定し、反転ビットとして“１”の値を出力する。また、多数決判定部４１５は、ビット変化数が下位の入力データＤＩＮのビット数の半数以下（≦２）の場合に、非反転データを出力すると判定し、反転ビットとして“０”の値を出力する。この反転ビットの値に応じて、ＥＸＯＲ回路４１２による反転処理が行われる。
【００８３】
ＥＸＯＲ回路４１２による反転処理においては、下位の入力データＤＩＮの各ビットと、反転ビットとの排他的論理和がとられる。これにより、ＥＸＯＲ回路４１２から反転ビットに応じた下位画像データが出力される。より具体的には、反転ビットが“１”のとき、下位の入力データＤＩＮ［３：０］の各ビットの値が反転された反転データ［３：０］が出力され、反転ビットが“０”のとき、下位の入力データＤＩＮ［３：０］の各ビットの値がそのままの非反転データ［３：０］が出力される。
【００８４】
なお、多数決判定部４１５による多数決判定は、上記に述べたように、前回出力した下位の出力データＤＯＵＴと今回出力する下位の出力データＤＯＵＴのビット変化数に基づいて行われる。しかし、例えば、下位の入力データＤＩＮのビット数が偶数である場合には、ビット変化数が下位の入力データＤＩＮのビット数の半数になる場合がある。この場合、ＥＸＯＲ回路４１２は、下位画像データとして、反転データまたは非反転データのいずれのデータを出力してもよい。
【００８５】
しかし、反転ビットも出力データＤＯＵＴ（パックデータ）に付加されて出力されるため、反転処理の結果に応じて反転ビットが異なる値に変化すると、反転ビットの変化が下位の出力データＤＯＵＴの各ビットの変化数に加算されてしまう。このため、前回出力した下位の出力データＤＯＵＴに対して今回出力する下位の出力データＤＯＵＴのビット変化数が最も少なくなるようにするためには、下位の出力データＤＯＵＴと反転ビットとを含めた全体を考慮して、下位画像データを出力するのが望ましい。このため、多数決判定部４１５は、反転ビットも含めて多数決判定を行う。より具体的には、多数決判定部４１５は、前回出力した下位の出力データＤＯＵＴが、反転データであったか非反転データであったか、すなわち、反転ビットが“１”であったか“０”であったかに基づいて、多数決判定を行う。そして、多数決判定部４１５は、ビット変化数が下位の入力データＤＩＮのビット数の半数（＝２）である場合には、前回出力した下位の出力データＤＯＵＴに対応した反転ビットの値と同じ値の反転ビットを、今回出力する下位の出力データＤＯＵＴに対応した反転ビットとして出力する。これにより、反転ビットの変化が下位の出力データＤＯＵＴの各ビットの変化数に加算されてしまうということを回避することができる。
【００８６】
ビット結合部４１６は、ビット分離部４１１から入力された上位画像データ［７：４］と、ＥＸＯＲ回路４１２から出力された下位画像データ［３：０］とを結合した転送画素データ［７：０］を生成する。また、ビット結合部４１６は、さらに、生成した転送画素データの最上位ビットの上位側の次のビットに、多数決判定部４１５から入力された反転ビットを付加（ビット結合）した出力データＤＯＵＴ［８：０］を生成する。ここで生成された出力データＤＯＵＴが、データ変換部４１から最終的に出力する出力データＤＯＵＴ（パックデータ）として、出力ＤＭＡ部４５に出力される。
【００８７】
次に、撮像装置１内のデータ逆変換部について説明する。なお、上記に述べたように、データ逆変換部５２とデータ逆変換部６２とは、接続される前段の処理ブロックと後段の処理ブロックが異なるのみである。より具体的には、図１に示したように、データ逆変換部５２は、前段の入力ＤＭＡ部５６と後段の画像処理部５０との間に配置され、データ逆変換部６２は、前段の入力ＤＭＡ部６６と後段の表示処理部６０との間に配置されている。従って、データ逆変換部５２とデータ逆変換部６２とは、入力される画像データと出力する画像データとのデータ形式（フォーマット）が異なるのみである。以下の説明においては、代表してデータ逆変換部５２について説明する。
【００８８】
なお、以下の説明においては、データ逆変換部５２に、データ変換部４１によってパッキングされた、４転送をパッキング単位とした１バーストのパックデータが、入力ＤＭＡ部５６を介して入力され、入力されたパックデータを、図１９に示したベイヤーデータに戻す場合について説明する。従って、ベイヤーデータ内の各画素データのビット数は１０ｂｉｔであり、メモリバス幅は３２ｂｉｔであるものとして説明する。
【００８９】
データ逆変換部５２は、入力ＤＭＡ部５６から順次入力された３２ｂｉｔのパックデータの各ビットに配置されたデータを、予め定められた後述するパッキング方法のいずれか１つの方法と逆の方法で、画像処理部５０が画像処理する元の画像データ（ベイヤーデータ）に戻した１０ｂｉｔの画素データに復元する。そして、データ逆変換部５２は、例えば、画像処理部５０から入力される図示しないデータイネーブル信号に基づいて復元した元の画素データを順次出力する。なお、データイネーブル信号は、画像処理部５０に出力するタイミングを表す信号である。
【００９０】
データ逆変換部５２が画素データを復元する際には、まず、入力された３２ｂｉｔのパックデータ（このパックデータは、データ変換部４１が生成したパックデータと同等である）から、データ変換部４１によるパッキング方法と逆の方法で、それぞれのデータ（このデータは、データ変換部４１が生成した転送画素データと同等であるため、以下の説明においては、「転送画素データ」として説明する）に、順次分割（アンパッキング）する。
【００９１】
その後、データ逆変換部５２は、パッキング単位（４転送）内に存在する未使用ビットに付加されている、転送画素データを生成したときの情報に基づいて、データ変換部４１によってパックデータを生成した方法と逆の方法で、それぞれの画素データを生成する。より具体的には、データ逆変換部５２は、転送画素データを、予め定められたビット数の上位の転送画素データと下位の転送画素データとに分離する。そして、転送画素データを生成したときの情報に基づいて、下位の転送画素データに対して反転処理を行う。その後、今回分離した上位の転送画素データと結合し、元の画素データとする。
【００９２】
なお、データ逆変換部５２は、上記に述べたように、入力ＤＭＡ部５６からパックデータが入力される毎に、転送画素データに分割し、分割した転送画素データに対する反転処理を順次行うこともできるが、データ逆変換部５２内に、例えば、１バースト分、すなわち、パッキング単位（４転送）分の３２ｂｉｔのパックデータを一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、入力ＤＭＡ部５６から入力されたパックデータをメモリ部に一旦保持し、保持したそれぞれのパックデータからの転送画素データの分割と、転送画素データを生成したときの情報に基づいた反転処理を行う。
【００９３】
また、入力ＤＭＡ部５６から入力されたパックデータを最初に、ビット変化の少ないパックデータと、パックデータを生成したときの情報とに分割し、元のパックデータに戻した後に、元のパックデータに配置されたそれぞれの画素データに分割（アンパッキング）する構成とすることもできる。この場合には、入力ＤＭＡ部５６から入力されたパックデータを、転送画素データと同様に扱って処理する。
【００９４】
図３は、本実施形態の撮像装置１に備えた第１の構成のデータ逆変換部５２の概略構成を示したブロック図である。図３に示したように、データ逆変換部５２は、ビット分離部５２１と、ＥＸＯＲ回路５２２と、ビット結合部５２３と、を備えている。
【００９５】
上記に述べたように、データ逆変換部５２は、入力ＤＭＡ部５６から入力された３２ｂｉｔのパックデータから転送画素データを分割し、分割した転送画素データに反転処理を行って、元に戻した画素データを生成する。しかし、以下の説明においては、説明を容易にするため、データ逆変換部５２に、入力ＤＭＡ部５６から転送画素データを生成したときの情報が付加された９ｂｉｔのパックデータが入力され、パックデータから分割した転送画素データから元の画素データを生成する場合について説明する。すなわち、データ逆変換部５２は、１つの転送画素データがパッキングされたパックデータから、１つの画素データを復元する場合について説明する。
【００９６】
以下の説明においては、３２ｂｉｔのパックデータと９ｂｉｔのパックデータとを区別するため、以下の説明においては、９ｂｉｔのパックデータを入力データＤＩＮ［８：０］と表す。また、１０ｂｉｔの画素データと８ｂｉｔの画素データとを区別するため、以下の説明においては、８ｂｉｔの画素データを出力データＤＯＵＴ［７：０］と表す。なお、以下の説明において、入力データＤＩＮまたは出力データＤＯＵＴのビットを特定しない、すなわち、入力データＤＩＮまたは出力データＤＯＵＴの全てのビット範囲を表す場合には、データのビットの範囲を表す“［］：括弧”内の数字を省略する。
【００９７】
また、以下の説明においては、９ｂｉｔのパックデータの最上位ビット（入力データＤＩＮ［８］）に転送画素データを生成したときの情報である反転ビットが付加されており、転送画素データを、上位４ｂｉｔと下位４ｂｉｔとに分離して、元の画素データに復元する場合について説明する。
【００９８】
ビット分離部５２１は、入力された９ｂｉｔの入力データＤＩＮ［８：０］を、最上位の入力データＤＩＮ［８］、すなわち、反転ビットと、入力データＤＩＮ［７：０］、すなわち、転送画素データとに分離する。さらに、ビット分離部５２１は、入力データＤＩＮ［７：０］を、上位４ｂｉｔの入力データＤＩＮ［７：４］と下位４ｂｉｔの入力データＤＩＮ［３：０］とに分離する。そして、入力データＤＩＮ［７：４］をビット結合部５２３に、入力データＤＩＮ［８］と入力データＤＩＮ［３：０］とをＥＸＯＲ回路５２２に出力する。
【００９９】
ＥＸＯＲ回路５２２は、ビット分離部５２１から入力された反転ビットに応じて、同じくビット分離部５２１から入力された下位の入力データＤＩＮの各ビットの値を、ビット毎に反転（“１”から“０”、または“０”から“１”）した下位のデータ［３：０］、または下位の入力データＤＩＮの各ビットの値がそのままの下位のデータ［３：０］を、ビット結合部５２３に出力する。なお、ＥＸＯＲ回路５２２が出力する下位のデータは、データ変換部４１が生成した反転データまたは非反転データと同等であるため、以下の説明においては、「反転データ」または「非反転データ」として説明する。また、以下の説明においては、ＥＸＯＲ回路５２２から出力される反転データまたは非反転データを、データ変換部４１と同様に、「下位画像データ」という。また、ビット分離部５２１から出力される上位４ｂｉｔの入力データＤＩＮも、データ変換部４１における上位画像データと同様であるため、「上位画像データ」という。また、以下の説明においては、ＥＸＯＲ回路５２２が、ビット分離部５２１から入力された反転ビットに応じて、反転データまたは非反転データを出力する処理を、データ変換部４１と同様に、「反転処理」という。
【０１００】
ＥＸＯＲ回路５２２による反転処理においては、データ変換部４１内のＥＸＯＲ回路４１２と同様に、下位の入力データＤＩＮの各ビットと、反転ビットとの排他的論理和がとられる。これにより、ＥＸＯＲ回路５２２から反転ビットに応じた下位の画像データが出力される。すなわち、ＥＸＯＲ回路５２２からは、ＥＸＯＲ回路４１２と同様に、反転ビットが“１”のときに、下位の入力データＤＩＮ［３：０］の各ビットの値が反転された反転データ［３：０］が出力され、反転ビットが“０”のときに、下位の入力データＤＩＮ［３：０］の各ビットの値がそのままの非反転データ［３：０］が出力される。
【０１０１】
ビット結合部５２３は、ビット分離部５２１から入力された上位画像データ［７：４］と、ＥＸＯＲ回路５２２から出力された下位画像データ［３：０］とを結合した出力データＤＯＵＴ  ［７：０］を生成する。ここで生成された出力データＤＯＵＴが、データ逆変換部５２によって復元された、すなわち、データ変換部４１に入力された、元の画素データとして、画像処理部５０に出力される。
【０１０２】
＜反転処理方法＞
次に、データ変換部４１による転送画素データの生成方法について説明する。図４は、本実施形態の撮像装置１に備えた第１の構成のデータ変換部４１における転送画素データの生成方法を説明する図である。なお、以下の説明においては、説明を容易にするため、データ変換部４１に８ビットの入力データＤＩＮが入力され、９ビットの出力データＤＯＵＴを出力する場合について説明する。ここでは、図２５（ａ）に示した入力データと同じデータが、入力データＤＩＮとしてデータ変換部４１に入力される場合を考える。そして、データ変換部４１が、１つの転送画素データをパッキングしたパックデータを生成する場合について説明する。図４（ａ）は、図２５（ａ）に示した入力データ（入力データＤＩＮ）と下位の入力データＤＩＮのビット変化数とを示し、図４（ｂ）には、データ変換部４１から出力される出力データＤＯＵＴおよび反転ビット（パックデータ）と、出力データＤＯＵＴ全体のビット変化数とを示している。
【０１０３】
データ変換部４１には、図４（ａ）に示したような入力データＤＩＮが、上段から下段に向かって時系列的に順次入力される。データ変換部４１は、入力データＤＩＮが入力される毎に、下位の入力データＤＩＮの各ビットの値を順次比較する。より具体的には、図４（ａ）に示した入力データＤＩＮのそれぞれの段において、下位の入力データＤＩＮの各ビットの値を上段の下位の入力データＤＩＮの値と比較し、ビット変化数を算出する。これにより、図４（ａ）に示したような下位の入力データＤＩＮのビット変化数を得る。図４（ａ）からわかるように、データ変換部４１に入力された入力データＤＩＮにおける下位の入力データＤＩＮ［３：０］のビット変化数は、「Ａ」の段のビット変化数が半数を超えている。
【０１０４】
そこで、データ変換部４１は、算出したビット変化数に応じて、下位の入力データＤＩＮに対して反転処理を行った転送画素データを生成し、さらに、生成した転送画素データの最上位ビットの上位側の次のビットに反転ビットを付加して、図４（ｂ）に示したようなパックデータを、最終的に出力するパックデータとして順次出力する。図４（ｂ）をみてわかるように、データ変換部４１が生成したパックデータに含まれる転送画素データにおけるビット変化数の合計は、２６ビットになる。これは、図２５（ｂ）に示した従来のデータ処理装置における反転処理よりも、データの変化量が４ビット削減されている。
【０１０５】
このように、データ変換部４１は、データの相関性が低い（データの変化頻度の高い）下位の入力データＤＩＮの各ビットの値を順次比較し、ビット変化数が大きい下位の入力データＤＩＮに対して反転処理を行う。これにより、図２４に示した従来のデータ処理装置による反転処理よりも、データを転送するときの全体でのデータの変化量を削減することができる。すなわち、反転処理によるデータの変化量の削減効果を、より多く得ることができる。なお、図４（ｂ）の「Ｂ」の段では、転送画素データのビット変化数が、過半数になっている。これは、上位の入力データＤＩＮのビット変化数が、多いことに起因している。
【０１０６】
また、図２４に示した従来のデータ処理装置では、入力データの全てのビットに対して反転処理を行っているのに対して、データ変換部４１では、入力データＤＩＮの下位のビットにのみ反転処理を行っている。このため、データ変換部４１では、多数決判定部４１５など、反転処理に係る回路規模の削減の効果も得ることができる。
【０１０７】
ここで、反転ビットも考慮したビット変化数について考える。図５は、本実施形態の撮像装置１に備えた第１の構成のデータ変換部４１における転送画素データの生成方法を説明する図である。図５においては、図４（ｂ）に示した出力データＤＯＵＴと反転ビットとを合わせた全体を考慮した、パックデータの生成方法を示している。そして、図５（ａ）には、図４（ｂ）に示した出力データＤＯＵＴおよび反転ビット（パックデータ）と、反転ビットを含めた出力データＤＯＵＴ全体のビット変化数とを示し、図５（ｂ）には、反転ビットを考慮した判定によって生成された出力データＤＯＵＴおよび反転ビット（パックデータ）と、パックデータ全体のビット変化数とを示している。
【０１０８】
図４（ｂ）に示した出力データＤＯＵＴと反転ビットとを合わせたビット変化数は、図５（ａ）に示したように、反転ビットの変化がビットの変化数に加算される。このため、図５（ａ）の場合においては、図２５（ｂ）に示した従来のデータ処理装置において反転ビットを含めた場合のビット変化数よりも削減されるものの、得られるデータの変化量の削減効果は少なくなる。また、図５（ａ）からわかるように、「Ｃ」の段のビット変化数が半数を超えている。
【０１０９】
そこで、多数決判定部４１５が、反転ビットも含めて多数決判定を行うことによって、図５（ｂ）に示したようなパックデータを、最終的に出力するパックデータとする。図５（ｂ）をみてわかるように、データ変換部４１が反転ビットを考慮して生成したパックデータに含まれる転送画素データにおけるビット変化数の合計は、２８ビットになる。なお、図示していないが、図２５（ｂ）に示した従来のデータ処理装置において反転ビットを考慮した場合のビット変化数の合計は、３３ビットである。このように、反転ビットを含めた場合においても、従来のデータ処理装置における反転処理よりも、データの変化量を削減することができる。なお、図５（ｂ）の「Ｄ」の段では、転送画素データのビット変化数が、過半数になっている。これは、上位の入力データＤＩＮのビット変化数が、多いことに起因している。
【０１１０】
次に、画素データの配置（パッキング）方法について説明する。本実施形態の撮像装置１では、データ変換部４１および５１が入力された画素データをメモリバスに配置したパックデータを生成し、データ逆変換部５２および６２が入力されたパックデータを元の画素データに戻す。なお、以下の説明においては、データ変換部４１に、図１９に示したベイヤーデータ内の各画素データが順次入力され、４転送を１つのパッキング単位とした１バーストのパックデータにパッキングする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は１０ｂｉｔであり、メモリバス幅は３２ｂｉｔであるものとする。そして、１転送あたり３画素分の画素データを、３２ｂｉｔのメモリバスに配置するものとする。
【０１１１】
なお、データ逆変換部５２および６２によるパックデータを元の画素データに戻す方法は、データ変換部４１および５１による画素データのパッキング方法と逆の方法であるため、詳細な説明は省略する。
【０１１２】
また、以下の説明においては、１０ｂｉｔの画素データのそれぞれを、上位６ｂｉｔと下位４ｂｉｔとに分離し、１転送内に含まれる３つの画素データの下位４ｂｉｔに共通の反転ビットを、１転送内に存在する未使用ビットの内、下位側のビットに付加する場合について説明する。従って、多数決判定部４１５は、４ｂｉｔ×３画素＝１２ｂｉｔの画素データを、図２の説明における下位の入力データＤＩＮと同様に扱って、多数決判定を行い、多数決判定の結果に応じた１つの反転ビットを出力する。また、図２の説明における上位の入力データＤＩＮは、６ｂｉｔ×３画素＝１８ｂｉｔの画素データである。
【０１１３】
＜第１のデータ配置方法＞
図６は、本実施形態の撮像装置１に備えた第１の構成のデータ変換部４１における第１のデータ配置方法を説明する図である。図６（ａ）には、従来のバースト単位でのデータ配置方法（パッキング方法）によって画素データの各ビットが配置されたパックデータを示している。また、図６（ｂ）には、データ変換部４１によってパックデータ内の画素データに対する反転ビットが付加されたパックデータ内のデータの配置を示している。以下の説明においては、データ変換部４１が、図６（ａ）に示したパックデータ内の画素データの配置と同様の配置で、反転処理された画素データが配置された、図６（ｂ）に示したパックデータを生成する場合について説明する。
【０１１４】
本第１のパッキング方法では、１転送のメモリバスに配置するそれぞれの画素データの下位のビットをまとめて反転処理し、画素データの上位のビットと、反転処理した後の画素データの下位ビットとを、それぞれ１転送のメモリバスに配置する。さらに、画素データの下位のビットを反転処理したときの情報を表す反転ビットを、１転送のメモリバス内に存在する未使用ビットに付加して、最終的な１転送のデータとする。
【０１１５】
なお、図６に示したように、それぞれの１転送のデータには、３つの画素データが含まれているため、データ変換部４１は、３つの画素データを１つのデータとして扱う。このため、データ変換部４１は、例えば、３つの画素データを一時的に保持するメモリ部を備え、順次入力された３つの画素データをメモリ部に一旦保持し、保持したそれぞれの画素データに基づいて反転処理、パッキング、および反転ビットの付加を行う。
【０１１６】
より具体的には、まず、ビット分離部４１１に１転送目の３つの画素データ「Ｒ０」、「Ｇ１」、「Ｒ２」が入力されると、ビット分離部４１１は、入力されたそれぞれの画素データを、それぞれ保持する。そして、ビット分離部４１１は、メモリ部に保持した「Ｒ０」のビット［９］〜ビット［４］、「Ｇ１」のビット［９］〜ビット［４］、および「Ｒ２」のビット［９］〜ビット［４］の１８ｂｉｔのデータを、１転送目の上位画像データ［１７：０］として、ビット結合部４１６に出力する。また、ビット分離部４１１は、メモリ部に保持した「Ｒ０」のビット［３］〜ビット［０］、「Ｇ１」のビット［３］〜ビット［０］、および「Ｒ２」のビット［３］〜ビット［０］の１２ｂｉｔのデータを、１転送目の下位の画素データ［１１：０］として、ＥＸＯＲ回路４１２とＥＸＯＲ回路４１４とに出力する。
【０１１７】
ここで、１転送目の下位の画素データ［１１：０］は、バースト転送において最初に出力されるデータであるため、多数決判定部４１５からは、反転ビットとして“０”の値が出力されている。このため、ＥＸＯＲ回路４１２は、１転送目の下位の画素データ［１１：０］がそのままの１転送目の下位画像データ［１１：０］を出力する。また、Ｄ−ＦＦ４１３は、１転送目の下位画像データ［１１：０］を保持する。
【０１１８】
その後、ビット結合部４１６は、ビット分離部４１１から入力された１転送目の上位画像データ［１７：０］と、ＥＸＯＲ回路４１２から入力された１転送目の下位画像データ［１１：０］とを、図６（ｂ）の１転送目に示したように、それぞれの画素データ（「Ｒ０」、「Ｇ１」、「Ｒ２」）毎に３２ｂｉｔのメモリバスに配置する。より具体的には、１転送目の下位画像データ［３：０］、すなわち、反転処理された「Ｒ０」のビット［３］〜ビット［０］を、メモリバスのビット［３］〜ビット［０］に配置し、１転送目の上位画像データ［５：０］、すなわち、「Ｒ０」のビット［９］〜ビット［４］を、メモリバスのビット［９］〜ビット［４］に配置する。また、１転送目の下位画像データ［７：４］、すなわち、反転処理された「Ｇ１」のビット［３］〜ビット［０］を、メモリバスのビット［１３］〜ビット［１０］に配置し、１転送目の上位画像データ［１１：６］、すなわち、「Ｇ１」のビット［９］〜ビット［４］を、メモリバスのビット［１９］〜ビット［１４］に配置する。また、１転送目の下位画像データ［１１：８］、すなわち、反転処理された「Ｒ２」のビット［３］〜ビット［０］を、メモリバスのビット［２３］〜ビット［２０］に配置し、１転送目の上位画像データ［１７：１２］、すなわち、「Ｒ０」のビット［９］〜ビット［４］を、メモリバスのビット［２９］〜ビット［２４］に配置する。
【０１１９】
また、ビット結合部４１６は、多数決判定部４１５から入力された１転送目の下位画像データ［１１：０］に対応した反転ビットを、メモリバスのビット［３０］に配置する。なお、メモリバスのビット［３１］は、未使用ビットにする。
【０１２０】
続いて、ビット分離部４１１に２転送目の３つの画素データ「Ｇ３」、「Ｒ４」、「Ｇ５」が入力されると、ビット分離部４１１は、入力されたそれぞれの画素データを、それぞれ保持する。そして、ビット分離部４１１は、メモリ部に保持した「Ｇ３」のビット［９］〜ビット［４］、「Ｒ４」のビット［９］〜ビット［４］、および「Ｇ５」のビット［９］〜ビット［４］の１８ｂｉｔのデータを、２転送目の上位画像データ［１７：０］として、ビット結合部４１６に出力する。また、ビット分離部４１１は、メモリ部に保持した「Ｇ３」のビット［３］〜ビット［０］、「Ｒ４」のビット［３］〜ビット［０］、および「Ｇ５」のビット［３］〜ビット［０］の１２ｂｉｔのデータを、２転送目の下位の画素データ［１１：０］として、ＥＸＯＲ回路４１２とＥＸＯＲ回路４１４とに出力する。
【０１２１】
ＥＸＯＲ回路４１４は、ビット分離部４１１から入力された２転送目の下位の画素データ［１１：０］の各ビットの値と、Ｄ−ＦＦ４１３から入力された１転送目の下位画像データ［１１：０］の各ビットの値とを比較して、値が変化しているビットの有無を検出する。そして、ＥＸＯＲ回路４１４は、それぞれのビット毎に、値が変化しているビットの有無を表す値を、多数決判定部４１５に出力する。そして、多数決判定部４１５は、ＥＸＯＲ回路４１４から入力された値が変化しているビットの有無を検出した結果に基づいて多数決判定を行い、反転ビットを出力する。これにより、ＥＸＯＲ回路４１２は、２転送目の下位の画素データ［１１：０］を反転処理した２転送目の下位画像データ［１１：０］を出力する。また、Ｄ−ＦＦ４１３は、２転送目の下位画像データ［１１：０］を保持する。
【０１２２】
その後、ビット結合部４１６は、ビット分離部４１１から入力された２転送目の上位画像データ［１７：０］と、ＥＸＯＲ回路４１２から入力された２転送目の下位画像データ［１１：０］とを、図６（ｂ）の２転送目に示したように、それぞれの画素データ（「Ｇ３」、「Ｒ４」、「Ｇ５」）毎に３２ｂｉｔのメモリバスに配置する。より具体的には、２転送目の下位画像データ［３：０］、すなわち、反転処理された「Ｇ３」のビット［３］〜ビット［０］を、メモリバスのビット［３］〜ビット［０］に配置し、２転送目の上位画像データ［５：０］、すなわち、「Ｇ３」のビット［９］〜ビット［４］を、メモリバスのビット［９］〜ビット［４］に配置する。また、２転送目の下位画像データ［７：４］、すなわち、反転処理された「Ｒ４」のビット［３］〜ビット［０］を、メモリバスのビット［１３］〜ビット［１０］に配置し、２転送目の上位画像データ［１１：６］、すなわち、「Ｒ４」のビット［９］〜ビット［４］を、メモリバスのビット［１９］〜ビット［１４］に配置する。また、２転送目の下位画像データ［１１：８］、すなわち、反転処理された「Ｇ５」のビット［３］〜ビット［０］を、メモリバスのビット［２３］〜ビット［２０］に配置し、２転送目の上位画像データ［１７：１２］、すなわち、「Ｇ５」のビット［９］〜ビット［４］を、メモリバスのビット［２９］〜ビット［２４］に配置する。
【０１２３】
また、ビット結合部４１６は、多数決判定部４１５から入力された２転送目の下位画像データ［１１：０］に対応した反転ビットを、メモリバスのビット［３０］に配置する。なお、メモリバスのビット［３１］は、未使用ビットにする。
【０１２４】
以降、同様に、データ変換部４１は、入力された３転送目の３つの画素データ「Ｒ６」、「Ｇ７」、「Ｒ８」、４転送目の３つの画素データ「Ｇ９」、「Ｒ１０」、「Ｇ１１」、が入力される毎に、処理後の画素データをメモリバスのビット［２９］〜ビット［０］に配置すると共に、下位画像データ［１１：０］に対応した反転ビットをメモリバスのビット［３０］に配置する。なお、同様に、メモリバスのビット［３１］は、未使用ビットにする。
【０１２５】
このようにして、本第１のパッキング方法では、バースト転送における１サイクル分のメモリアクセス（１転送）毎に、画素データの上位のビットと、反転処理した画素データの下位のビットと、反転ビットとをメモリバスのそれぞれのビットに配置する。これにより、バースト転送時における各転送間でのメモリバスの各ビットの変化量を少なくすることができる。
【０１２６】
＜第２のデータ配置方法＞
図７は、本実施形態の撮像装置１に備えた第１の構成のデータ変換部４１における第２のデータ配置方法を説明する図である。図７（ａ）には、本第２のデータ配置方法（パッキング方法）におけるパックデータの第１のデータ配置の一例を示している。また、図７（ｂ）には、本第２のデータ配置方法（パッキング方法）におけるパックデータの第２のデータ配置の一例を示している。
【０１２７】
画像データは、通常、隣接する画素同士の方が画素データの変化量が小さい。このため、パックデータを構築する際には、バースト転送時にメモリバスの各ビットの変化量が最も小さくなるように、隣接する画素の画素データの同一ビットを、各転送におけるメモリバスの同一のビットに配置することが望ましい。
【０１２８】
また、ベイヤー、ＲＧＢ、またはＹＣ４２２点順次など、画像処理部５０が画像処理する際の画像のフォーマットによって、画像データ内の各画素データが表す色の情報が異なる。このため、パックデータを構築する際には、バースト転送時にメモリバスの各ビットの変化量が最も小さくなるように、同一色の画素データを、各転送におけるメモリバスの同一のビットに配置することが望ましい。
【０１２９】
本第２のパッキング方法では、第１のパッキング方法と同様に、１転送のメモリバスに配置するそれぞれの画素データの下位のビットをまとめて反転処理し、反転処理した後の画素データの下位ビットと、上位ビットとを、それぞれ１転送のメモリバスに配置する。このとき、本第２のパッキング方法では、バースト転送する際の連続する２転送間のデータにおいて、メモリバス上に配置される隣接する同一色の画素データのビットの位置がなるべく同じ位置になるように、画素データの上位のビットと、反転処理した後の画素データの下位ビットとを、それぞれ１転送のメモリバスに配置する。さらに、第１のパッキング方法と同様に、画素データの下位のビットを反転処理したときの情報を表す反転ビットを、１転送のメモリバス内に存在する未使用ビットに付加して、最終的な１転送のデータとする。
【０１３０】
なお、本第２のパッキング方法は、上位画像データおよび下位画像データの配置位置が、第１のパッキング方法と異なるのみである。しかし、同じ１転送のメモリバスに配置する画素データは、第１のパッキング方法と異なり、データ変換部４１に連続して入力される画素データではない。このため、データ変換部４１は、１バースト分、すなわち、パッキング単位（４転送）分の１０ｂｉｔの画素データを一時的に保持するメモリ部を備え、１バースト（４転送）分の全ての画素データをメモリ部に一旦保持する。そして、メモリ部に保持したそれぞれの画素データの内、同じ１転送のメモリバスに配置する３つの画素データを１つのデータとして扱って、反転処理を行う。なお、保持した画素データに基づいた反転処理、多数決判定、および反転ビットの付加は、第１のパッキング方法と同様であるため、詳細な説明は省略する。
【０１３１】
図７（ａ）に示した本第２のパッキング方法におけるパックデータの第１のデータ配置の一例では、バースト転送における連続する２転送間のデータにおいて、隣接する同一色の画素データのビットの位置がなるべく同じ位置になるように、上位画像データおよび下位画像データをメモリバス上に配置する。
【０１３２】
より具体的には、図７（ａ）に示したように、１転送目におけるメモリバスへの上位画像データおよび下位画像データの配置では、１転送目の下位画像データ［３：０］（反転処理された「Ｒ０」のビット［３］〜ビット［０］）をメモリバスのビット［３］〜ビット［０］に配置し、１転送目の上位画像データ［５：０］（「Ｒ０」のビット［９］〜ビット［４］）をメモリバスのビット［９］〜ビット［４］に配置する。また、１転送目の下位画像データ［７：４］（反転処理された「Ｇ１」のビット［３］〜ビット［０］）をメモリバスのビット［１３］〜ビット［１０］に配置し、１転送目の上位画像データ［１１：６］（「Ｇ１」のビット［９］〜ビット［４］）をメモリバスのビット［１９］〜ビット［１４］に配置する。また、１転送目の下位画像データ［１１：８］（反転処理された「Ｒ８」のビット［３］〜ビット［０］）をメモリバスのビット［２３］〜ビット［２０］に配置し、１転送目の上位画像データ［１７：１２］（「Ｒ８」のビット［９］〜ビット［４］）をメモリバスのビット［２９］〜ビット［２４］に配置する。また、１転送目の下位画像データ［１１：０］に対応した反転ビットを、メモリバスのビット［３０］に配置し、メモリバスのビット［３１］は、未使用ビットにする。
【０１３３】
２転送目におけるメモリバスへの上位画像データおよび下位画像データの配置では、２転送目の下位画像データ［３：０］（反転処理された「Ｒ２」のビット［３］〜ビット［０］）をメモリバスのビット［３］〜ビット［０］に配置し、２転送目の上位画像データ［５：０］（「Ｒ２」のビット［９］〜ビット［４］）をメモリバスのビット［９］〜ビット［４］に配置する。また、２転送目の下位画像データ［７：４］（反転処理された「Ｇ３」のビット［３］〜ビット［０］）をメモリバスのビット［１３］〜ビット［１０］に配置し、２転送目の上位画像データ［１１：６］（「Ｇ３」のビット［９］〜ビット［４］）をメモリバスのビット［１９］〜ビット［１４］に配置する。また、２転送目の下位画像データ［１１：８］（反転処理された「Ｒ１０」のビット［３］〜ビット［０］）をメモリバスのビット［２３］〜ビット［２０］に配置し、２転送目の上位画像データ［１７：１２］（「Ｒ１０」のビット［９］〜ビット［４］）をメモリバスのビット［２９］〜ビット［２４］に配置する。また、２転送目の下位画像データ［１１：０］に対応した反転ビットを、メモリバスのビット［３０］に配置し、メモリバスのビット［３１］は、未使用ビットにする。
【０１３４】
以降、同様に、データ変換部４１は、３転送目の３つの画素データ「Ｒ４」、「Ｇ５」、「Ｇ９」、４転送目の３つの画素データ「Ｒ６」、「Ｇ７」、「Ｇ１１」にそれぞれ対応した上位画像データおよび下位画像データを、メモリバスのビット［２９］〜ビット［０］に配置する。また、データ変換部４１は、同様に、それぞれの下位画像データに対応した反転ビットを、メモリバスのビット［３０］に配置し、メモリバスのビット［３１］は、未使用ビットにする。
【０１３５】
図７（ｂ）に示した本第２のパッキング方法におけるパックデータの第２のデータ配置の一例では、第１のデータ配置の一例と同様に、バースト転送における連続する２転送間のデータにおいて、隣接する同一色の画素データのビットの位置がなるべく同じ位置になるように、上位画像データおよび下位画像データをメモリバス上に配置する。このとき、本第２のデータ配置の一例では、上位画像データと下位画像データとを分けて、メモリバス上に配置する。
【０１３６】
より具体的には、図７（ｂ）に示したように、１転送目におけるメモリバスへの上位画像データおよび下位画像データの配置では、１転送目の上位画像データ［５：０］（「Ｒ０」のビット［９］〜ビット［４］）をメモリバスのビット［５］〜ビット［０］に配置し、１転送目の上位画像データ［１１：６］（「Ｇ１」のビット［９］〜ビット［４］）をメモリバスのビット［１１］〜ビット［６］に配置し、１転送目の上位画像データ［１７：１２］（「Ｒ８」のビット［９］〜ビット［４］）をメモリバスのビット［１７］〜ビット［１２］に配置する。また、１転送目の下位画像データ［３：０］（反転処理された「Ｒ０」のビット［３］〜ビット［０］）をメモリバスのビット［２１］〜ビット［１８］に配置し、１転送目の下位画像データ［７：４］（反転処理された「Ｇ１」のビット［３］〜ビット［０］）をメモリバスのビット［２５］〜ビット［２２］に配置し、１転送目の下位画像データ［１１：８］（反転処理された「Ｒ８」のビット［３］〜ビット［０］）をメモリバスのビット［２９］〜ビット［２６］に配置する。また、１転送目の下位画像データ［１１：０］に対応した反転ビットを、メモリバスのビット［３０］に配置し、メモリバスのビット［３１］は、未使用ビットにする。
【０１３７】
２転送目におけるメモリバスへの上位画像データおよび下位画像データの配置では、２転送目の上位画像データ［５：０］（「Ｒ２」のビット［９］〜ビット［４］）をメモリバスのビット［５］〜ビット［０］に配置し、２転送目の上位画像データ［１１：６］（「Ｇ３」のビット［９］〜ビット［４］）をメモリバスのビット［１１］〜ビット［６］に配置し、２転送目の上位画像データ［１７：１２］（「Ｒ１０」のビット［９］〜ビット［４］）をメモリバスのビット［１７］〜ビット［１２］に配置する。また、２転送目の下位画像データ［３：０］（反転処理された「Ｒ２」のビット［３］〜ビット［０］）をメモリバスのビット［２１］〜ビット［１８］に配置し、２転送目の下位画像データ［７：４］（反転処理された「Ｇ３」のビット［３］〜ビット［０］）をメモリバスのビット［２５］〜ビット［２２］に配置し、２転送目の下位画像データ［１１：８］（反転処理された「Ｒ１０」のビット［３］〜ビット［０］）をメモリバスのビット［２９］〜ビット［２６］に配置する。また、２転送目の下位画像データ［１１：０］に対応した反転ビットを、メモリバスのビット［３０］に配置し、メモリバスのビット［３１］は、未使用ビットにする。
【０１３８】
以降、同様に、データ変換部４１は、３転送目の３つの画素データ「Ｒ４」、「Ｇ５」、「Ｇ９」、４転送目の３つの画素データ「Ｒ６」、「Ｇ７」、「Ｇ１１」にそれぞれ対応した上位画像データを、メモリバスのビット［１７］〜ビット［０］に配置する。また、３転送目の３つの画素データ「Ｒ４」、「Ｇ５」、「Ｇ９」、４転送目の３つの画素データ「Ｒ６」、「Ｇ７」、「Ｇ１１」にそれぞれ対応した下位画像データを、メモリバスのビット［２９］〜ビット［１８］に配置する。また、データ変換部４１は、同様に、それぞれの下位画像データに対応した反転ビットを、メモリバスのビット［３０］に配置し、メモリバスのビット［３１］は、未使用ビットにする。
【０１３９】
このようにして、本第２のパッキング方法でも、第１のパッキング方法と同様に、バースト転送における１サイクル分のメモリアクセス（１転送）毎に、画素データの上位のビットと、反転処理した画素データの下位のビットと、反転ビットとをメモリバスのそれぞれのビットに配置する。また、本第２のパッキング方法では、バースト転送する際の連続する２転送間のデータにおいて、メモリバス上に配置される隣接する同一色の画素データのビットの位置がなるべく同じ位置になるように、反転処理した後の画素データの下位ビットと、上位ビットとを、それぞれ１転送のメモリバスに配置する。これにより、バースト転送時における各転送間でのメモリバスの各ビットの変化量が、さらに少なくなる場合がある。
【０１４０】
なお、図７に示した第２のパッキング方法では、反転処理した後の画素データの下位ビットと上位ビットとをメモリバスに配置する際に、画素データの各色をまとめて、それぞれ１転送のメモリバスに配置する場合について説明したが、画素データをメモリバスに配置する方法は、本第２のパッキング方法に限定されるものではない。すなわち、同一色で同一ビットの画素データが、連続する２転送間においてメモリバス上の同一ビットに配置される方法であれば、他の配置方法を適用することもできる。例えば、各画素データをそれぞれのビットに分割して、分割したビット毎に、同一色で同一ビットの画素データが、連続する２転送間のメモリバス上の同一ビットに配置されるようにすることもできる。
【０１４１】
上記に述べたように、本第１の構成のデータ変換部４１および５１では、データの相関性が低い（データの変化頻度の高い）下位の画素データの各ビットの値を順次比較し、ビット変化数が大きい下位の画素データに対して反転処理を行うことにより、バースト転送時におけるメモリバスの各ビットの変化量を少なくした画素データを、メモリバスに配置することができる。これにより、本第１の構成のデータ変換部４１および５１では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。このことにより、撮像装置１内の各構成要素（処理ブロック）とメモリ２０との間での画素データの転送、すなわち、撮像装置１内の各構成要素間での画素データの受け渡しに係る消費電力を低減させることができる。
【０１４２】
一般的に、画素データは、バイナリコードで表される。しかし、バイナリコードの場合、相関性が高く、値の変化が少ない（データの変化頻度が低い）データであっても、データの変化によっては、各ビットの値が全て異なる値になってしまう場合がある。例えば、データの値が“１２８”から“１２７”に変化した場合、バイナリコードでは、“１０００＿００００”から“０１１１＿１１１１”に変化するため、全てのビットの値が変化してしまう。そこで、バイナリコードの代わりに、グレイコードを用いて画素データを表すことを検討する。
【０１４３】
グレイコードは、その特徴として、データの変化が“１”である場合には、必ず１ビットだけしか変化しないという特徴があるデータコードである。画素データをグレイコードで表すことによって、バイナリコードのように、データの変化が“１”であるにもかかわらず全てのビットの値が変化してしまう、ということを回避することができる。例えば、画素データが８ｂｉｔである場合、画素データの値が“１２８”および“６４”の近辺で微小に変動した場合などに、グレイコードにおいてはビットの値の変化が少ないという効果を得ることができる。
【０１４４】
＜第２の構成＞
次に、本第２の構成のデータ変換部について説明する。図８は、本実施形態の撮像装置１に備えた第２の構成のデータ変換部４３の概略構成を示したブロック図である。図８に示したデータ変換部４３は、第１の構成のデータ変換部４１の代わりに、撮像装置１に備えられる。従って、データ変換部４３は、データ変換部５１の代わりに撮像装置１に備えることもできる。図８に示したように、データ変換部４３は、ビット分離部４１１と、ＥＸＯＲ回路４１２と、Ｄ−ＦＦ４１３と、ＥＸＯＲ回路４１４と、多数決判定部４１５と、ビット結合部４１６と、コード変換部４３１と、を備えている。
【０１４５】
本第２の構成のデータ変換部４３と、図２に示した第１の構成のデータ変換部４１との異なる点は、第１の構成のデータ変換部４１に加えて、コード変換部４３１を備えたことのみである。従って、以下の説明においては、第１の構成のデータ変換部４１内の構成要素と同様の構成要素に対して同一の符号を付与し、それぞれの詳細な説明は省略する。
【０１４６】
なお、以下の説明においては、第１の構成と同様に、データ変換部４３に、図１９に示したような、１６行×１６列のベイヤーデータが入力され、４転送をベイヤーデータ内の各画素データのパッキング単位とし、ベイヤーデータ内の各画素データのビット数は１０ｂｉｔであり、メモリバス幅は３２ｂｉｔである場合について説明する。
【０１４７】
データ変換部４３は、第１の構成のデータ変換部４１と同様に、撮像処理部４０から順次入力された１０ｂｉｔの画素データの各ビットのデータを、上述したような予め定められたパッキング方法で、メモリバス上の各ビットに配置した３２ｂｉｔのパックデータを出力する。ただし、  データ変換部４３がパックデータを生成する際に、入力された画素データをビット毎に比較して生成する転送画素データの生成方法が、第１の構成のデータ変換部４１と異なる。
【０１４８】
より具体的には、データ変換部４３は、第１の構成のデータ変換部４１と同様に、入力された画素データを予め定められたビット数の上位の画素データと下位の画素データとに分離する。そして、今回分離した下位の画素データは、第１の構成のデータ変換部４１と同様に、反転処理して、値が変化しているビットの数が少ない下位の画素データを生成する。また、データ変換部４３は、今回分離した上位の画素データのデータコードを、バイナリコードからグレイコードに変換する。その後、グレイコードに変換した上位の画素データと、反転処理した下位の画素データとを結合し、転送画素データとする。また、データ変換部４３は、第１の構成のデータ変換部４１と同様に、下位の画素データを反転処理したときの情報を表す反転ビットを付加する。
【０１４９】
その後、データ変換部４３は、第１の構成のデータ変換部４１と同様に、上述したような予め定められたパッキング方法で、転送画素データの各ビットのデータと、反転ビットとを、メモリバスの各ビットに配置し、最終的に出力するパックデータとして出力する。
【０１５０】
上記に述べたように、データ変換部４３は、入力された１０ｂｉｔの画素データの値が変化しているビットの数が少ない転送画素データをパッキングして、最終的に出力する３２ｂｉｔのパックデータを生成する。しかし、以下の説明においては、説明を容易にするため、データ変換部４３に８ｂｉｔの画素データが順次入力され、入力された画素データから転送画素データを生成し、転送画素データを生成したときの情報を付加した９ｂｉｔのパックデータを出力する場合について説明する。すなわち、データ変換部４３においても、第１の構成のデータ変換部４１と同様に、１つの転送画素データをパッキングしたパックデータを生成する場合について説明する。なお、複数の転送画素データをパッキングしたパックデータの生成方法は、図６に示した上述した第１のパッキング方法および図７に示した上述した第２のパッキング方法と同様であるため、それぞれの詳細な説明は省略する。
【０１５１】
また、以下の説明においては、第１の構成のデータ変換部４１と同様に、データ変換部４３に入力される１０ｂｉｔの画素データと８ｂｉｔの画素データとを区別するため、８ｂｉｔの画素データを入力データＤＩＮ［７：０］と表す。また、３２ｂｉｔのパックデータと９ｂｉｔのパックデータとを区別するため、９ｂｉｔのパックデータを出力データＤＯＵＴ［８：０］と表す。なお、入力データＤＩＮまたは出力データＤＯＵＴのビットを特定しない、すなわち、入力データＤＩＮまたは出力データＤＯＵＴの全てのビット範囲を表す場合には、データのビットの範囲を表す“［］：括弧”内の数字を省略する。
【０１５２】
また、以下の説明においては、８ｂｉｔの入力データＤＩＮを、上位４ｂｉｔと下位４ｂｉｔとに分離して、ビット変化の少ない転送画素データを生成する場合について説明する。
【０１５３】
コード変換部４３１は、ビット分離部４１１から入力された上位画像データ［７：４］のデータコードを、バイナリコードからグレイコードに変換する。そして、コード変換部４３１は、グレイコードに変換した上位画像データを、ビット結合部４１６に出力する。
【０１５４】
ビット結合部４１６は、コード変換部４３１から入力されたグレイコードに変換された上位画像データ［７：４］と、ＥＸＯＲ回路４１２から出力された下位画像データ［３：０］とを結合した転送画素データ［７：０］を生成する。また、ビット結合部４１６は、さらに、生成した転送画素データの最上位ビットの上位側の次のビットに、多数決判定部４１５から入力された反転ビットを付加（ビット結合）した出力データＤＯＵＴ［８：０］を生成する。ここで生成された出力データＤＯＵＴが、データ変換部４３から最終的に出力する出力データＤＯＵＴ（パックデータ）として、出力ＤＭＡ部４５に出力される。
【０１５５】
次に、本第２の構成のデータ逆変換部について説明する。図９は、本実施形態の撮像装置１に備えた第２の構成のデータ逆変換部５４の概略構成を示したブロック図である。図９に示したデータ逆変換部５４は、第１の構成のデータ逆変換部５２の代わりに、撮像装置１に備えられる。従って、データ逆変換部５４は、データ逆変換部６２の代わりに撮像装置１に備えることもできる。図９に示したように、データ逆変換部５４は、ビット分離部５２１と、ＥＸＯＲ回路５２２と、ビット結合部５２３と、コード変換部５４１と、を備えている。
【０１５６】
本第２の構成のデータ逆変換部５４と、図３に示した第１の構成のデータ逆変換部５２との異なる点は、第１の構成のデータ逆変換部５２に加えて、コード変換部５４１を備えたことのみである。従って、以下の説明においては、第１の構成のデータ逆変換部５２内の構成要素と同様の構成要素に対して同一の符号を付与し、それぞれの詳細な説明は省略する。
【０１５７】
なお、以下の説明においては、第１の構成と同様に、データ逆変換部５４に、データ変換部４３によってパッキングされた、４転送をパッキング単位とした１バーストのパックデータが、入力ＤＭＡ部５６を介して入力され、入力されたパックデータを、図１９に示したベイヤーデータに戻す場合について説明する。従って、ベイヤーデータ内の各画素データのビット数は１０ｂｉｔであり、メモリバス幅は３２ｂｉｔであるものとして説明する。
【０１５８】
データ逆変換部５４は、第１の構成のデータ逆変換部５２と同様に、入力ＤＭＡ部５６から順次入力された３２ｂｉｔのパックデータの各ビットに配置されたデータを、上述したような予め定められたパッキング方法のいずれか１つの方法と逆の方法で、画像処理部５０が画像処理する元の画像データ（ベイヤーデータ）に戻した１０ｂｉｔの画素データに復元する。ただし、データ逆変換部５４が画素データを復元する際に、分割されたそれぞれの転送画素データを、元の画素データに復元する方法が、第１の構成のデータ逆変換部５２と異なる。
【０１５９】
より具体的には、データ逆変換部５４は、第１の構成のデータ逆変換部５２と同様に、入力された３２ｂｉｔのパックデータから、データ変換部４３によるパッキング方法と逆の方法で、それぞれの転送画素データに、順次分割（アンパッキング）する。
【０１６０】
その後、データ逆変換部５４は、第１の構成のデータ逆変換部５２と同様に、転送画素データを、予め定められたビット数の上位の転送画素データと下位の転送画素データとに分離する。そして、パッキング単位（４転送）内に存在する未使用ビットに付加されている、転送画素データを生成したときの情報を表す反転ビットに基づいて、今回分離した下位の転送画素データに対して反転処理を行う。また、データ逆変換部５４は、今回分離した上位の転送画素データのデータコードを、グレイコードからバイナリコードに変換する。その後、バイナリコードに変換した上位の転送画素データと、反転処理した下位の転送画素データとを結合し、元の画素データとする。
【０１６１】
上記に述べたように、データ逆変換部５４は、入力ＤＭＡ部５６から入力された３２ｂｉｔのパックデータから転送画素データを分割し、分割した転送画素データに反転処理を行って、元に戻した画素データを生成する。しかし、以下の説明においては、説明を容易にするため、データ逆変換部５４に、入力ＤＭＡ部５６から転送画素データを生成したときの情報が付加された９ｂｉｔのパックデータが入力され、パックデータから分割した転送画素データから元の画素データを生成する場合について説明する。すなわち、データ逆変換部５４においても、第１の構成のデータ逆変換部５２と同様に、１つの転送画素データがパッキングされたパックデータから、１つの画素データを復元する場合について説明する。
【０１６２】
また、以下の説明においては、第１の構成のデータ逆変換部５２と同様に、３２ｂｉｔのパックデータと９ｂｉｔのパックデータとを区別するため、９ｂｉｔのパックデータを入力データＤＩＮ［８：０］と表す。また、１０ｂｉｔの画素データと８ｂｉｔの画素データとを区別するため、８ｂｉｔの画素データを出力データＤＯＵＴ［７：０］と表す。なお、入力データＤＩＮまたは出力データＤＯＵＴのビットを特定しない、すなわち、入力データＤＩＮまたは出力データＤＯＵＴの全てのビット範囲を表す場合には、データのビットの範囲を表す“［］：括弧”内の数字を省略する。
【０１６３】
また、以下の説明においては、９ｂｉｔのパックデータの最上位ビット（入力データＤＩＮ［８］）に転送画素データを生成したときの情報である反転ビットが付加されており、転送画素データを、上位４ｂｉｔと下位４ｂｉｔとに分離して、元の画素データに復元する場合について説明する。
【０１６４】
コード変換部５４１は、ビット分離部５２１から入力された上位画像データ［７：４］のデータコードを、グレイコードからバイナリコードに変換する。そして、コード変換部５４１は、バイナリコードに変換した上位画像データを、ビット結合部５２３に出力する。
【０１６５】
ビット結合部５２３は、コード変換部５４１から入力されたバイナリコードに変換された上位画像データ［７：４］と、ＥＸＯＲ回路５２２から出力された下位画像データ［３：０］とを結合した出力データＤＯＵＴ  ［７：０］を生成する。ここで生成された出力データＤＯＵＴが、データ逆変換部５４によって復元された、すなわち、データ変換部４３に入力された、元の画素データとして、画像処理部５０に出力される。
【０１６６】
＜反転処理方法＞
次に、データ変換部４３による転送画素データの生成方法について説明する。図１０は、本実施形態の撮像装置１に備えた第２の構成のデータ変換部４３における転送画素データの生成方法を説明する図である。なお、以下の説明においては、説明を容易にするため、データ変換部４３に８ビットの入力データＤＩＮが入力され、９ビットの出力データＤＯＵＴを出力する場合において、８ｂｉｔの入力データＤＩＮを、上位４ｂｉｔと下位４ｂｉｔとに分離して、ビット変化の少ない転送画素データを生成する場合について説明する。そして、データ変換部４３が、１つの転送画素データをパッキングしたパックデータを生成する場合について説明する。図１０（ａ）は、入力データＤＩＮと上位および下位のそれぞれの入力データＤＩＮのビット変化数とを示し、図１０（ｂ）には、データ変換部４３から出力される出力データＤＯＵＴおよび反転ビット（パックデータ）と、上位および下位のそれぞれの出力データＤＯＵＴのビット変化数とを示している。
【０１６７】
ここでは、データ変換部４３に、図１０（ａ）に示したような入力データＤＩＮが、上段から下段に向かって時系列的に順次入力される場合を考える。図１０（ａ）は、入力データＤＩＮの値が“１２８”または“６４”の近辺で微小に変動している場合を示している。図１０（ａ）をみてわかるように、入力データＤＩＮのデータの相関性が高い（データの変化頻度が低い）場合であっても、それぞれのビットの値は変化している。ここで、図１０（ａ）に示した入力データＤＩＮを、上位の入力データＤＩＮと下位の入力データＤＩＮとに分けて、それぞれビット変化数をみると、上位の入力データＤＩＮのビット変化数の合計は２７ビットであり、下位の入力データＤＩＮのビット変化数の合計は２６ビットである。なお、図１０（ａ）をみてわかるように、上位４ｂｉｔの入力データＤＩＮの変化は、“１”である。
【０１６８】
データ変換部４３は、入力データＤＩＮが入力される毎に、第１の構成のデータ変換部４１と同様に、下位の入力データＤＩＮの各ビットの値を順次比較し、下位の入力データＤＩＮに対して反転処理を行った下位画像データを生成する。また、データ変換部４３は、入力データＤＩＮが入力される毎に、上位の入力データＤＩＮのバイナリコードを、グレイコードに変換した上位画像データを生成する。そして、データ変換部４３は、グレイコードに変換された上位画像データと、反転処理された下位画像データとを結合した転送画素データを生成し、さらに、生成した転送画素データの最上位ビットの上位側の次のビットに反転ビットを付加して、図１０（ｂ）に示したようなパックデータを、最終的に出力するパックデータとして順次出力する。
【０１６９】
図１０（ｂ）をみてわかるように、データ変換部４３が生成したパックデータに含まれる下位の転送画素データおけるビット変化数の合計は、１６ビットになる。これは、図１０（ｂ）に示した下位の入力データＤＩＮのビット変化数よりも、データの変化量が１０ビット削減されている。また、図１０（ｂ）をみてわかるように、データ変換部４３が生成したパックデータに含まれる上位の転送画素データおけるビット変化数の合計は、９ビットになる。これは、図１０（ｂ）に示した上位の入力データＤＩＮのビット変化数よりも、データの変化量が１８ビット削減されている。
【０１７０】
このように、データ変換部４３は、第１の構成のデータ変換部４１と同様に、データの相関性が低い（データの変化頻度の高い）下位の入力データＤＩＮの各ビットの値を順次比較し、ビット変化数が大きい下位の入力データＤＩＮに対して反転処理を行う。また、データ変換部４３は、データの相関性が高い（データの変化頻度が低い）上位の入力データＤＩＮに対しては、バイナリコードをグレイコードに変換する。これにより、入力データＤＩＮのデータの相関性が高い（データの変化頻度が低い）場合であっても、ビット変化の少ないパックデータを生成することができる。特に、画素データの上位ビットは、相関性が高く、値の変化が少ないデータであるが、上位ビットのデータのデータコードを、バイナリコードからグレイコードに変換することによって、上位ビットの画像データは、さらに相関性が高まる。また、第１の構成のデータ変換部４１のように、下位の入力データＤＩＮに対してのみ反転処理するよりも、データを転送するときの全体でのデータの変化量を削減することができる。なお、図１０（ｂ）の「Ｂ」の段における上位の転送画素データのビット変化数が、“２”になっているが、これは、入力データＤＩＮの値が“１２８”近辺の値から“６４”近辺の値に変化したことに起因している。
【０１７１】
上記に述べたように、本第２の構成のデータ変換部４３では、データの相関性が低い（データの変化頻度の高い）下位の画素データと、データの相関性が高い（データの変化頻度が低い）上位の画素データとのそれぞれに、異なる処理を行うことにより、バースト転送時におけるメモリバスの各ビットの変化量を少なくした画素データを、メモリバスに配置することができる。これにより、本第２の構成のデータ変換部４３では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法および第１の構成のデータ変換部４１よりも、画像データの転送に係る消費電力を低減させることができる。このことにより、撮像装置１内の各構成要素（処理ブロック）とメモリ２０との間での画素データの転送、すなわち、撮像装置１内の各構成要素間での画素データの受け渡しに係る消費電力を低減させることができる。
【０１７２】
上記に述べた第１の構成のデータ変換部４１および第２の構成のデータ変換部４３においては、予め定められたビット数の下位の画像データ、すなわち、画像データ内の１つのビットの範囲に対して反転処理を行う場合について説明した。しかし、反転処理を行う画像データのビットの範囲は、予め定められた１つの範囲のみではなく、画像データ内の複数のビットの範囲に対して反転処理を行う構成にすることもできる。
【０１７３】
＜第３の構成＞
次に、本第３の構成のデータ変換部について説明する。図１１は、本実施形態の撮像装置１に備えた第３の構成のデータ変換部４７の概略構成を示したブロック図である。図１１に示したデータ変換部４７は、第１の構成のデータ変換部４１または第２の構成のデータ変換部４３の代わりに、撮像装置１に備えられる。従って、データ変換部４７は、データ変換部５１の代わりに撮像装置１に備えることもできる。
【０１７４】
図１１に示したように、データ変換部４７は、４つのビット反転部４７１ａ〜４７１ｄ（以下、ビット反転部４７１ａ〜４７１ｄのいずれか１つを表すときには「ビット反転部４７１」という）と、機能選択部４７２と、Ｄ−ＦＦ４７３と、４つのＥＸＯＲ回路４７４ａ〜４７４ｄ（以下、ＥＸＯＲ回路４７４ａ〜４７４ｄのいずれか１つを表すときには「ＥＸＯＲ回路４７４」という）と、４つのビット加算部４７５ａ〜４７５ｄ（以下、ビット加算部４７５ａ〜４７５ｄのいずれか１つを表すときには「ビット加算部４７５」という）と、比較部４７６と、ビット結合部４７７と、を備えている。
【０１７５】
なお、以下の説明においては、第１の構成および第２の構成と同様に、データ変換部４７に、図１９に示したような、１６行×１６列のベイヤーデータが入力され、４転送をベイヤーデータ内の各画素データのパッキング単位とし、ベイヤーデータ内の各画素データのビット数は１０ｂｉｔであり、メモリバス幅は３２ｂｉｔである場合について説明する。
【０１７６】
データ変換部４７は、撮像処理部４０から順次入力された１０ｂｉｔの画素データの各ビットのデータを、上述したような予め定められたパッキング方法のいずれか１つの方法で、メモリバス上の各ビットに配置した３２ｂｉｔのパックデータを生成する。そして、データ変換部４７は、例えば、出力ＤＭＡ部４５から入力される図示しないデータイネーブル信号に基づいて生成したパックデータを順次出力する。なお、データイネーブル信号は、出力ＤＭＡ部４５がバースト転送する際にパックデータを転送するタイミングを表す信号である。
【０１７７】
データ変換部４７がパックデータを生成する際には、まず、入力された画素データを、例えば、図１２に示したような、予め定められた反転処理の適用範囲に応じて反転処理したそれぞれの画素データ（以下、「反転画素データ」という）を生成する。図１２は、本実施形態の撮像装置１に備えた第３の構成のデータ変換部４７における反転処理の適用範囲の一例を説明する図である。より具体的には、データ変換部４７には、図１２に示したように、４つの反転処理の適用範囲に対応した反転ケース（反転ケースａ〜ｄ）が予め定められ、入力された画素データに対して、それぞれの反転ケースに応じた反転処理を行った、それぞれの反転画素データを生成する。なお、ここで、反転処理とは、第１の構成および第２の構成と同様に、画素データの各ビットの値を、ビット毎に反転（“１”から“０”、または“０”から“１”）する処理である。
【０１７８】
そして、データ変換部４７は、前回出力した反転画素データの各ビットの値と、今回生成した反転画素データの各ビットの値とをそれぞれ比較し、前回出力した反転画素データに対して、値が変化しているビットの数が少ない反転画素データを選択する。そして、選択した反転画素データを、今回出力する反転画素データとする。また、データ変換部４７は、選択した反転画素データに対応した機能選択ビットを、反転画素データを選択したときの情報として出力する。この機能選択ビットは、画素データに対して適用した反転処理の範囲を表している。また、図１２に示した反転処理の適用範囲では、４つの反転処理の適用範囲を予め設定しているため、機能選択ビットのビット数は、２ｂｉｔである。
【０１７９】
その後、データ変換部４７は、上述したような予め定められたパッキング方法で、反転画素データの各ビットのデータを、メモリバスに対応したデータバス（このデータバスはメモリバスの各ビットに対応しているため、以下の説明においては、「メモリバス」として説明する）の各ビットに配置（パッキング）し、最終的に出力するパックデータとして出力する。また、データ変換部４７は、反転画素データを選択したときの情報（機能選択ビット）を、パッキング単位（４転送）内に存在する未使用ビットに付加して、パックデータと共に出力する。
【０１８０】
なお、データ変換部４７は、上記に述べたように、画素データが入力される毎に、それぞれの反転ケースに応じた反転画素データを生成し、選択した反転画素データおよび機能選択ビットを順次パッキングしたパックデータを順次出力することもできるが、データ変換部４７内に、例えば、１バースト分、すなわち、パッキング単位（４転送）分の３２ｂｉｔのパックデータを一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、入力された画素データをメモリ部に一旦保持し、保持したそれぞれの画素データに基づいた反転画素データを生成し、選択した反転画素データのパッキングと、機能選択ビットの付加とを行う。
【０１８１】
また、入力された画素データを最初にパッキングし、その後、予め定められた反転ケースに応じた反転画素データと同様のパックデータの生成と、パックデータを選択したときの情報（パックデータに対して適用した反転処理の範囲を表す情報）の付加とを行う構成とすることもできる。この場合には、最初にパッキングしたパックデータを、入力された画素データと同様に扱って処理する。
【０１８２】
上記に述べたように、データ変換部４７は、入力された１０ｂｉｔの画素データから、予め定められた反転ケースに応じて生成した反転画素データのいずれかを選択し、選択した反転画素データをパッキングして、データ変換部４７が最終的に出力する３２ｂｉｔのパックデータを生成する。しかし、以下の説明においては、説明を容易にするため、データ変換部４７に８ｂｉｔの画素データが順次入力され、入力された画素データから生成した反転画素データのいずれかを選択し、選択した反転画素データに２ｂｉｔの機能選択ビットを付加した１０ｂｉｔのパックデータを出力する場合について説明する。すなわち、データ変換部４７は、１つの反転画素データをパッキングしたパックデータを生成する場合について説明する。なお、複数の反転画素データをパッキングしたパックデータの生成方法は、図６に示した上述した第１のパッキング方法および図７に示した上述した第２のパッキング方法と同様であるため、それぞれの詳細な説明は省略する。
【０１８３】
以下の説明においては、第１の構成のデータ変換部４１および第２の構成のデータ変換部４３と同様に、データ変換部４７に入力される１０ｂｉｔの画素データと８ｂｉｔの画素データとを区別するため、８ｂｉｔの画素データを入力データＤＩＮ［７：０］と表す。また、３２ｂｉｔのパックデータと１０ｂｉｔのパックデータとを区別するため、以下の説明においては、１０ｂｉｔのパックデータを出力データＤＯＵＴ［９：０］と表す。なお、以下の説明において、入力データＤＩＮまたは出力データＤＯＵＴのビットを特定しない、すなわち、入力データＤＩＮまたは出力データＤＯＵＴの全てのビット範囲を表す場合には、データのビットの範囲を表す“［］：括弧”内の数字を省略する。
【０１８４】
また、以下の説明においては、８ｂｉｔの入力データＤＩＮを、図１２に示したような、予め定められた反転ケースに応じて反転処理した、それぞれの反転画素データを生成する場合について説明する。
【０１８５】
ビット反転部４７１ａ〜４７１ｄは、それぞれ、図１２に示した反転処理の適用範囲に応じて、入力された８ｂｉｔの入力データＤＩＮ［７：０］の各ビットの値を、ビット毎に反転処理した反転画素データを生成する。ビット反転部４７１ａ〜４７１ｄのそれぞれは、生成した反転画素データを、機能選択部４７２と、対応するＥＸＯＲ回路４７４ａ〜４７４ｄとに出力する。なお、ビット反転部４７１ａ〜４７１ｄは、それぞれ、反転ケースａ〜ｄに対応している。そして、以下の説明において、ビット反転部４７１ａ〜４７１ｄが生成した反転画素データを区別する場合には、ビット反転部４７１ａ〜４７１ｄに付与した符号の最後の１文字を反転画素データにも付与し、「反転画素データａ」、「反転画素データｂ」、「反転画素データｃ」、および「反転画素データｄ」という。
【０１８６】
ここで、ビット反転部４７１ａ〜４７１ｄのそれぞれの処理について、より具体的に説明する。ビット反転部４７１ａにおける反転処理は、反転ケースａ、すなわち、「反転しない」である。ビット反転部４７１ａは、入力データＤＩＮ［７：０］の各ビットの値がそのままの反転画素データａ［７：０］を出力する。また、ビット反転部４７１ｂにおける反転処理は、反転ケースｂ、すなわち、「下位２ビット反転」である。ビット反転部４７１ｂは、入力データＤＩＮ［７：０］の下位の２ビット（入力データＤＩＮ［１：０］）の値を反転し、その他のビット（入力データＤＩＮ［７：２］）の値がそのままの反転画素データｂ［７：０］を出力する。また、ビット反転部４７１ｃにおける反転処理は、反転ケースｃ、すなわち、「下位４ビット反転」である。ビット反転部４７１ｃは、入力データＤＩＮ［７：０］の下位の４ビット（入力データＤＩＮ［３：０］）の値を反転し、その他のビット（入力データＤＩＮ［７：４］）の値がそのままの反転画素データｃ［７：０］を出力する。また、ビット反転部４７１ｄにおける反転処理は、反転ケースｄ、すなわち、「全ビット反転」である。ビット反転部４７１ｄは、入力データＤＩＮ［７：０］の全てのビットの値を反転した反転画素データｄ［７：０］を出力する。
【０１８７】
機能選択部４７２は、比較部４７６から入力された機能選択ビットに応じて、ビット反転部４７１ａ〜４７１ｄのそれぞれから入力された反転画素データａ〜ｄの内、いずれか１つの反転画素データを選択する。そして、選択した反転画素データを、ビット結合部４７７とＤ−ＦＦ４７３とに出力する。なお、以下の説明においては、機能選択部４７２によって選択され、出力された反転画素データを、「選択画素データ」という。
【０１８８】
Ｄ−ＦＦ４７３は、機能選択部４７２から出力された選択画素データ［７：０］を保持する。このＤ−ＦＦ４７３によって保持された選択画素データは、前回出力した出力データＤＯＵＴ［７：０］として、ＥＸＯＲ回路４７４ａ〜４７４ｄのそれぞれに出力される。
【０１８９】
ＥＸＯＲ回路４７４ａ〜４７４ｄは、それぞれ、ビット反転部４７１ａ〜４７１ｄから入力された反転画素データａ［７：０］〜ｄ［７：０］と、Ｄ−ＦＦ４７３から入力された出力データＤＯＵＴ［７：０］との２つのデータの各ビットの値を比較して、値が変化しているビットの有無を検出する。そして、ＥＸＯＲ回路４７４ａ〜４７４ｄのそれぞれは、値が変化しているビットであることを表す値＝“１”、または値が変化しているビットではないことを示す値＝“０”を、比較したそれぞれのビット毎に出力する。
【０１９０】
より具体的には、ＥＸＯＲ回路４７４のそれぞれによる２つのデータの比較においては、反転画素データの各ビットと、出力データＤＯＵＴの各ビットとの排他的論理和がとられる。これにより、反転画素データのビットの値と出力データＤＯＵＴのビットの値とが同じ値のときに“０”が出力され、反転画素データのビットの値と出力データＤＯＵＴのビットの値とが異なる値のときに“１”が出力される。
【０１９１】
ビット加算部４７５ａ〜４７５ｄは、それぞれ、対応するＥＸＯＲ回路４７４ａ〜４７４ｄから入力された値が変化しているビットの数を計数し、値が変化しているビットの数の合計（以下、「ビット変化数」という）を算出する。そして、算出したビット変化数を、比較部４７６に出力する。例えば、ＥＸＯＲ回路４７４ａから入力された、値が変化しているビットの値が、“１１１１＿００００”である場合には、ビット変化数の値として“４”が出力される。このように、ビット加算部４７５ａ〜４７５ｄのそれぞれは、反転画素データ［７：０］が、次に出力データＤＯＵＴ［７：０］として出力されるときに、値が変化するビットの数（ビット変化数）を出力する。
【０１９２】
比較部４７６は、ビット加算部４７５ａ〜４７５ｄのそれぞれから入力されたビット変化数の内、ビット変化数が最も少ないものを判定し、最も少ないビット変化数を出力したビット加算部４７５を特定（選択）する。そして、最も少ないビット変化数を出力したビット加算部４７５を表す情報を、機能選択ビットとして、機能選択部４７２とビット結合部４７７とに出力する。これにより、前回出力した反転画素データ（出力データＤＯＵＴ）に対して、値が変化しているビットの数が最も少ない反転画素データを選択することになる。
【０１９３】
ビット結合部４７７は、機能選択部４７２からから入力された選択画素データ［７：０］の最上位ビットの上位側の次の２ビットに、比較部４７６から入力された機能選択ビットを付加（ビット結合）した出力データＤＯＵＴ［９：０］を生成する。ここで生成された出力データＤＯＵＴが、データ変換部４７から最終的に出力する出力データＤＯＵＴ（パックデータ）として、出力ＤＭＡ部４５に出力される。
【０１９４】
次に、本第２の構成のデータ逆変換部について説明する。図１３は、本実施形態の撮像装置１に備えた第３の構成のデータ逆変換部５８の概略構成を示したブロック図である。図１３に示したデータ逆変換部５８は、第１の構成のデータ逆変換部５２または第２の構成のデータ逆変換部５４の代わりに、撮像装置１に備えられる。従って、データ逆変換部５８は、データ逆変換部６２の代わりに撮像装置１に備えることもできる。
【０１９５】
図１３に示したように、データ逆変換部５８は、ビット分離部５８１と、４つのビット復元部５８２ａ〜５８２ｄ（以下、ビット復元部５８２ａ〜５８２ｄのいずれか１つを表すときには「ビット復元部５８２」という）と、機能選択部５８３と、を備えている。
【０１９６】
なお、以下の説明においては、第１の構成および第２の構成と同様に、データ逆変換部５８に、データ変換部４７によってパッキングされた、４転送をパッキング単位とした１バーストのパックデータが、入力ＤＭＡ部５６を介して入力され、入力されたパックデータを、図１９に示したベイヤーデータに戻す場合について説明する。従って、ベイヤーデータ内の各画素データのビット数は１０ｂｉｔであり、メモリバス幅は３２ｂｉｔであるものとして説明する。
【０１９７】
データ逆変換部５８は、入力ＤＭＡ部５６から順次入力された３２ｂｉｔのパックデータの各ビットに配置されたデータを、上述したような予め定められたパッキング方法のいずれか１つの方法と逆の方法で、画像処理部５０が画像処理する元の画像データ（ベイヤーデータ）に戻した１０ｂｉｔの画素データに復元する。そして、データ逆変換部５８は、例えば、画像処理部５０から入力される図示しないデータイネーブル信号に基づいて復元した元の画素データを順次出力する。なお、データイネーブル信号は、画像処理部５０に出力するタイミングを表す信号である。
【０１９８】
また、データ逆変換部５８には、図１２に示したデータ変換部４７が画素データに対して反転処理するときの反転ケースと同じ反転処理の適用範囲である反転ケース（反転ケースａ〜ｄ）が、予め設定されている。
【０１９９】
データ逆変換部５８が画素データを復元する際には、まず、入力された３２ｂｉｔのパックデータ（このパックデータは、データ変換部４７が生成したパックデータと同等である）から、データ変換部４７によるパッキング方法と逆の方法で、それぞれのデータ（このデータは、データ変換部４７が生成した選択画素データと同等であるため、以下の説明においては、「選択画素データ」として説明する）に、順次分割（アンパッキング）する。
【０２００】
その後、データ逆変換部５８は、パッキング単位（４転送）内に存在する未使用ビットに付加されている、画素データに対して適用した反転ケースを表す情報（機能選択ビット）に基づいて、データ変換部４７が画素データに対して行った反転処理と逆の方法で、選択画素データを反転処理し、それぞれの画素データを生成する。より具体的には、データ逆変換部５８は、機能選択ビットに基づいて、データ変換部４７によって選択された反転ケースに対応した反転ケースを選択する。そして、データ逆変換部５８は、選択した反転ケース（反転処理の適用範囲）に応じた反転処理を、選択画素データに対して行って、元の画素データに復元する。
【０２０１】
なお、データ逆変換部５８は、上記に述べたように、入力ＤＭＡ部５６からパックデータが入力される毎に、選択画素データに分割し、分割した選択画素データに対する反転処理を順次行うこともできるが、データ逆変換部５８内に、例えば、１バースト分、すなわち、パッキング単位（４転送）分の３２ｂｉｔのパックデータを一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、入力ＤＭＡ部５６から入力されたパックデータをメモリ部に一旦保持し、保持したそれぞれのパックデータからの選択画素データの分割と、選択画素データを生成したときの情報に基づいた反転処理を行う。
【０２０２】
また、入力ＤＭＡ部５６から入力されたパックデータを最初に、選択画素データ（反転画素データ）と同様のパックデータと、パックデータを選択したときの情報（パックデータに対して適用した反転処理の範囲を表す情報）とに分割し、元のパックデータに戻した後に、元のパックデータに配置されたそれぞれの画素データに分割（アンパッキング）する構成とすることもできる。この場合には、入力ＤＭＡ部５６から入力されたパックデータを、選択画素データ（反転画素データ）と同様に扱って処理する。
【０２０３】
上記に述べたように、データ逆変換部５８は、入力ＤＭＡ部５６から入力された３２ｂｉｔのパックデータから選択画素データを分割し、分割した選択画素データに反転処理を行って、元に戻した画素データを生成する。しかし、以下の説明においては、説明を容易にするため、データ逆変換部５８に、入力ＤＭＡ部５６から、画素データに対して適用した反転処理の範囲を表す２ｂｉｔの機能選択ビットが付加された１０ｂｉｔのパックデータが入力され、パックデータから分割した選択画素データに対して、機能選択ビットで表された、データ変換部４７が画素データに対して行った反転処理の適用範囲と同じ範囲に反転処理を行って、元の画素データを生成する場合について説明する。すなわち、データ逆変換部５８は、１つの選択画素データがパッキングされたパックデータから、１つの画素データを復元する場合について説明する。
【０２０４】
以下の説明においては、第１の構成のデータ逆変換部５２および第２の構成のデータ逆変換部５４と同様に、３２ｂｉｔのパックデータと１０ｂｉｔのパックデータとを区別するため、以下の説明においては、１０ｂｉｔのパックデータを入力データＤＩＮ［９：０］と表す。また、１０ｂｉｔの画素データと８ｂｉｔの画素データとを区別するため、以下の説明においては、８ｂｉｔの画素データを出力データＤＯＵＴ［７：０］と表す。なお、以下の説明において、入力データＤＩＮまたは出力データＤＯＵＴのビットを特定しない、すなわち、入力データＤＩＮまたは出力データＤＯＵＴの全てのビット範囲を表す場合には、データのビットの範囲を表す“［］：括弧”内の数字を省略する。
【０２０５】
また、以下の説明においては、１０ｂｉｔのパックデータの最上位ビットから２ビット（入力データＤＩＮ［９：８］）に、画素データに対して適用した反転ケースを表す情報である機能選択ビットが付加されており、選択画素データを、機能選択ビットによって表されている反転処理の適用範囲に応じて反転処理して、元の画素データに復元する場合について説明する。
【０２０６】
ビット分離部５８１は、入力された１０ｂｉｔの入力データＤＩＮ［９：０］を、最上位から２ビットの入力データＤＩＮ［９：８］、すなわち、機能選択ビットと、入力データＤＩＮ［７：０］、すなわち、選択画素データとに分離する。そして、ビット分離部５８１は、分離した選択画素データを、ビット復元部５８２ａ〜５８２ｄに出力する。また、ビット分離部５８１は、分離した機能選択ビットを機能選択部５８３に出力する。なお、選択画素データは、データ変換部４７内のビット反転部４７１によって生成された反転画素データａ〜ｄの内、いずれか１つの反転画素データと同等である。
【０２０７】
ビット復元部５８２ａ〜５８２ｄは、それぞれ、予め設定されている図１２に示した反転処理の適用範囲と同じ反転処理の適用範囲に応じて、入力された選択画素データ［７：０］の各ビットの値を、ビット毎に反転処理した反転出力データを生成する。ビット復元部５８２ａ〜５８２ｄのそれぞれは、生成した反転出力データを、機能選択部５８３に出力する。
【０２０８】
なお、ビット復元部５８２ａ〜５８２ｄは、それぞれ、図１２に示した反転ケースａ〜ｄに対応している。そして、以下の説明において、ビット復元部５８２ａ〜５８２ｄが生成した反転出力データを区別する場合には、ビット復元部５８２ａ〜５８２ｄに付与した符号の最後の１文字を反転出力データにも付与し、「反転出力データａ」、「反転出力データｂ」、「反転出力データｃ」、および「反転出力データｄ」という。
【０２０９】
ここで、ビット復元部５８２ａ〜５８２ｄのそれぞれの処理について、より具体的に説明する。ビット復元部５８２ａにおける反転処理は、反転ケースａ、すなわち、「反転しない」である。ビット復元部５８２ａは、選択画素データ［７：０］の各ビットの値がそのままの反転出力データａ［７：０］を出力する。また、ビット復元部５８２ｂにおける反転処理は、反転ケースｂ、すなわち、「下位２ビット反転」である。ビット復元部５８２ｂは、選択画素データ［７：０］の下位の２ビット（選択画素データ［１：０］）の値を反転し、その他のビット（選択画素データ［７：２］）の値がそのままの反転出力データｂ［７：０］を出力する。また、ビット復元部５８２ｃにおける反転処理は、反転ケースｃ、すなわち、「下位４ビット反転」である。ビット復元部５８２ｃは、選択画素データ［７：０］の下位の４ビット（選択画素データ［３：０］）の値を反転し、その他のビット（選択画素データ［７：４］）の値がそのままの反転出力データｃ［７：０］を出力する。また、ビット復元部５８２ｄにおける反転処理は、反転ケースｄ、すなわち、「全ビット反転」である。ビット復元部５８２ｄは、選択画素データ［７：０］の全てのビットの値を反転した反転出力データｄ［７：０］を出力する。
【０２１０】
機能選択部５８３は、ビット分離部５８１から入力された機能選択ビットに応じて、ビット復元部５８２ａ〜５８２ｄのそれぞれから入力された反転出力データａ〜ｄの内、いずれか１つの反転出力データを選択する。そして、選択した反転出力データを、出力データＤＯＵＴ［７：０］として出力する。ここで出力された出力データＤＯＵＴが、データ逆変換部５８によって復元された、すなわち、データ変換部４７に入力された、元の画素データとして、画像処理部５０に出力される。
【０２１１】
上記に述べたように、本第３の構成のデータ変換部４７では、反転処理を行う画素データのビットの範囲の数を、予め定められた反転処理の適用範囲の複数の範囲にする。そして、反転処理の適用範囲に応じた複数の反転画素データを生成し、ビット変化数が最も少ない反転画素データを選択して出力する。これにより、バースト転送時のメモリバスの各ビットの変化量が少なくなる場合がある。
【０２１２】
なお、反転処理を行う画像データのビットの範囲を複数にすることによって、反転処理を行ったビットの範囲を表す情報が複数必要になる。しかし、本第３の構成のデータ変換部４７では、反転処理を行うビットの範囲（反転処理の適用範囲）の数を、予め定められた数にすることによって、反転処理の適用範囲を表す情報に使用するビット数を少なくしている。これにより、パックデータ内の反転処理の適用範囲を表す情報に使用されるビットの割合を少なくして、バースト転送の効率の低下を抑えると共に、反転処理の適用範囲の選択に係る回路規模が安易に増大してしまうことを抑えることができる。
また、反転処理を行う画素データのビットの範囲の数を、予め定められた反転処理の適用範囲の複数の範囲にすることは、パックデータに含まれる未使用ビットのビット数が少ない場合においても、必要な反転処理の適用範囲を表す情報を付加することができるため、有効な方法である。
【０２１３】
なお、本第３の構成のデータ変換部４７においては、反転処理の適用範囲を画素データの全てのビットの範囲に設定した反転ケースも設定した場合について説明したが、反転処理の適用範囲の設定は、本第３の構成のデータ変換部４７での設定に限定されるものではない。例えば、データの相関性が低い（データの変化頻度の高い）下位の画素データの範囲内で、反転処理の適用範囲を設定することもできる。この場合、下位の画素データにおいて、各ビットの変化量が少なくなることが期待される。
【０２１４】
また、本第３の構成のデータ変換部４７において、反転せずにそのまま出力するデータに対して、例えば、第２の構成のデータ変換部４３に備えたコード変換部４３１と同様の機能を適用することもできる。また、例えば、本第３の構成のデータ変換部４７の機能をデータの相関性が低い（データの変化頻度の高い）下位の画素データに適用し、第２の構成のデータ変換部４３に備えたコード変換部４３１と同等に機能を、データの相関性が高い（データの変化頻度が低い）上位の画素データに適用することもできる。この場合、本第３の構成のデータ変換部４７の効果に加えて、グレイコードによるデータの変化量の削減の効果も、同時に得ることができる。
【０２１５】
上記に述べた実施形態においては、ベイヤーデータに本実施形態のパッキング方法および反転処理方法を適用したデータ処理装置およびデータ処理方法について説明したが、本実施形態のパッキング方法および反転処理方法は、ベイヤーデータへの適用に限定されるものではなく、ＲＧＢデータ、ＹＣ４２２点順次やＹＣ４４４点順次フォーマットのＹＣｂＣｒデータ、またはＯＳＤデータなど、様々な画像データに適用することができる。また、本実施形態のパッキング方法および反転処理方法は、画像データへの適用に限定されるものではなく、音声データなど、他の形式のデータに適用することもできる。
【０２１６】
＜適用例＞
次に、本実施形態のパッキング方法を、他の形式の画像データや、画像データ以外のデータに適用した場合の一例について説明する。なお、本実施形態の反転処理方法を、他の形式の画像データや、画像データ以外のデータに適用する場合については、上述した反転処理方法と同様に考えることができるため、詳細な説明は省略する。
【０２１７】
まず、本実施形態のパッキング方法をＲＧＢデータに適用した場合の一例について説明する。図１４は、本実施形態の撮像装置１に備えたデータ変換部４１によるデータ配置方法（パッキング方法）を、別の画像データ（ＲＧＢデータ）に適用した場合の一例を示した図である。なお、図１４では、１０ｂｉｔのＲＧＢデータを、従来のバースト単位でのデータ配置方法（パッキング方法）によって画素データの各ビットが配置されたパックデータの一例（図９（ａ）参照）と、本実施形態のパッキング方法でパックデータ内の画素データに対する反転ビットが付加されたパックデータ内のデータの配置の一例（図９（ｂ）参照）とを、それぞれ示している。
【０２１８】
図１４（ａ）に示したように、ＲＧＢデータ（１０ｂｉｔ×３色＝３０ｂｉｔ）が単純に配置されたパックデータ内の画素データの配置と同様の配置で、反転処理された画素データを配置する場合、データ変換部４１は、１転送のメモリバスに配置するそれぞれの画素データの下位のビットをまとめて反転処理する。そして、図１４（ｂ）に示したように、画素データの上位のビットと、反転処理した後の画素データの下位ビットとを、それぞれ１転送のメモリバスに配置する。さらに、画素データの下位のビットを反転処理したときの情報を表す反転ビットを、１転送のメモリバス内に存在する未使用ビットに付加して、最終的な１転送のデータとする。これにより、バースト転送時の連続する２転送間において、メモリバスの各ビットの変化量を少なくする。
【０２１９】
図１４の例では、それぞれの１転送のデータには、３つの画素データが含まれているため、データ変換部４１は、３つの画素データを１つのデータとして扱う。より具体的には、例えば、１転送目では、それぞれの画素データの下位４ｂｉｔ（「Ｒ０」のビット［３］〜ビット［０］、「Ｇ０」のビット［３］〜ビット［０］、および「Ｂ０」のビット［３］〜ビット［０］）をまとめて、反転処理する下位の画素データ［１１：０］とする。その後、反転処理した後の下位の画素データ［１１：０］をそれぞれの画素データに分割して、それぞれの画素データの上位６ｂｉｔ（「Ｒ０」のビット［９］〜ビット［４］、「Ｇ０」のビット［９］〜ビット［４］、および「Ｂ０」のビット［９］〜ビット［４］）と結合し、それぞれ１転送のメモリバスに配置する。そして、さらに、下位の画素データ［１１：０］に対応した反転ビットを、メモリバスのビット［３０］に配置する。なお、メモリバスのビット［３１］は、未使用ビットのままである。これにより、４つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【０２２０】
図１５は、本実施形態の撮像装置１に備えたデータ変換部４１によるデータ配置方法（パッキング方法）を、さらに別の画像データ（ＹＣｂＣｒデータ）に適用した場合の一例を示した図である。なお、図１５では、図１５（ａ）に示したような、９ｂｉｔのＹ、６ｂｉｔのＣｂおよびＣｒデータを、従来のバースト単位でのデータ配置方法（パッキング方法）によって画素データの各ビットが配置されたパックデータの一例（図１５（ｂ）参照）と、本実施形態のパッキング方法でパックデータ内の画素データに対する反転ビットが付加されたパックデータ内のデータの配置の一例（図１５（ｃ）参照）とを、それぞれ示している。
【０２２１】
図１５（ｂ）に示したように、ＹＣｂＣｒデータが単純に配置されたパックデータ内の画素データの配置と同様の配置で、反転処理された画素データを配置する場合、データ変換部４１は、１転送のメモリバスに配置するそれぞれの画素データの下位のビットをまとめて反転処理する。そして、図１５（ｃ）に示したように、画素データの上位のビットと、反転処理した後の画素データの下位ビットとを、それぞれ１転送のメモリバスに配置する。さらに、画素データの下位のビットを反転処理したときの情報を表す反転ビットを、１転送のメモリバス内に存在する未使用ビットに付加して、最終的な１転送のデータとする。これにより、バースト転送時の連続する２転送間において、メモリバスの各ビットの変化量を少なくする。
【０２２２】
図１５の例では、それぞれの１転送のデータには、４つの画素データが含まれているため、データ変換部４１は、４つの画素データを１つのデータとして扱う。より具体的には、例えば、１転送目では、Ｙデータの下位４ｂｉｔと、ＣｂおよびＣｒデータの下位２ｂｉｔ（「Ｙ０」のビット［３］〜ビット［０］、「Ｙ１」のビット［３］〜ビット［０］、「Ｃｂ０」のビット［１］〜ビット［０］、および「Ｃｒ０」のビット［１］〜ビット［０］）をまとめて、反転処理する下位の画素データ［１１：０］とする。その後、反転処理した後の下位の画素データ［１１：０］をそれぞれの画素データに分割して、Ｙデータの上位５ｂｉｔ（「Ｙ０」のビット［８］〜ビット［４］、および「Ｙ１」のビット［８］〜ビット［４］）と、ＣｂおよびＣｒデータの上位４ｂｉｔ（「Ｃｂ０」のビット［５］〜ビット［２］、および「Ｃｒ０」のビット［５］〜ビット［２］）と結合して、それぞれ１転送のメモリバスに配置する。
【０２２３】
なお、図１５の例では、図１５（ｃ）に示したように、それぞれの画素データをメモリバスへの配置する際に、メモリバス上に配置される隣接する同一色の画素データのビットの位置が同じ位置になるように、上位の画像データと下位の画像データとを分けて、メモリバス上に配置した例を示している。
【０２２４】
そして、さらに、下位の画素データ［１１：０］に対応した反転ビットを、メモリバスのビット［３０］に配置する。なお、メモリバスのビット［３１］は、未使用ビットのままである。これにより、４つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【０２２５】
図１６は、本実施形態の撮像装置１に備えたデータ変換部４１によるデータ配置方法（パッキング方法）を、さらに別の画像データ（ＯＳＤデータ）に適用した場合の一例を示した図である。なお、図１６では、６ｂｉｔのＯＳＤデータを、従来のバースト単位でのデータ配置方法（パッキング方法）によって画素データの各ビットが配置されたパックデータの一例（図１６（ａ）参照）と、本実施形態のパッキング方法でパックデータ内の画素データに対する反転ビットが付加されたパックデータ内のデータの配置の一例（図１６（ｂ）参照）とを、それぞれ示している。
【０２２６】
図１６（ａ）に示したように、ＯＳＤデータが単純に配置されたパックデータ内の画素データの配置と同様の配置で、反転処理された画素データを配置する場合、データ変換部４１は、１転送のメモリバスに配置するそれぞれの画素データの下位のビットをまとめて反転処理する。そして、図１６（ｂ）に示したように、画素データの上位のビットと、反転処理した後の画素データの下位ビットとを、それぞれ１転送のメモリバスに配置する。さらに、画素データの下位のビットを反転処理したときの情報を表す反転ビットを、１転送のメモリバス内に存在する未使用ビットに付加して、最終的な１転送のデータとする。これにより、バースト転送時の連続する２転送間において、メモリバスの各ビットの変化量を少なくする。
【０２２７】
図１６の例では、それぞれの１転送のデータには、５つのＯＳＤデータが含まれているため、データ変換部４１は、５つのＯＳＤデータを１つのデータとして扱う。より具体的には、例えば、１転送目では、それぞれのＯＳＤデータの下位２ｂｉｔ（「ＯＳＤ０」〜「ＯＳＤ４」のビット［１］〜ビット［０］）をまとめて、反転処理する下位のＯＳＤデータ［９：０］とする。その後、反転処理した後の下位のＯＳＤデータ［９：０］をそれぞれのＯＳＤデータに分割して、それぞれのＯＳＤデータの上位４ｂｉｔ（「ＯＳＤ０」〜「ＯＳＤ４」のビット［５］〜ビット［２］）と結合し、それぞれ１転送のメモリバスに配置する。そして、さらに、下位のＯＳＤデータ［９：０］に対応した反転ビットを、メモリバスのビット［３１］に配置する。なお、メモリバスのビット［３０］は、未使用ビットのままである。これにより、４つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【０２２８】
なお、図１６（ｂ）をみてわかるように、反転ビットを配置するメモリバス上の位置は、未使用ビットであれば、いかなるところにも配置することができる。図１６（ｂ）の例では、メモリバスのビット［３１］に配置した例を示している。
【０２２９】
図１７は、本実施形態の撮像装置１に備えたデータ変換部４１によるデータ配置方法（パッキング方法）を、別のデータ（音声データ）に適用した場合の一例を示した図である。なお、図１７では、それぞれ２４ｂｉｔのＲ（右）データおよびＬ（左）データを６４ｂｉｔのメモリバスに適用した場合を示している。そして、図１７（ａ）には、従来のバースト単位でのデータ配置方法（パッキング方法）によって音声データの各ビットが配置されたパックデータの一例を示し、図１７（ｂ）には、本実施形態のパッキング方法でパックデータ内の音声データに対する反転ビットが付加されたパックデータ内のデータの配置の一例を示している。なお、図１７においては、２４ｂｉｔのＲ（右）データおよびＬ（左）データを連続せずにメモリバスに配置した場合を示している。
【０２３０】
図１７（ａ）に示したように、音声データが単純に配置されたパックデータ内の音声データの配置と同様の配置で、反転処理された音声データを配置する場合、データ変換部４１は、１転送のメモリバスに配置するそれぞれの音声データの下位のビットをまとめて反転処理する。そして、図１７（ｂ）に示したように、音声データの上位のビットと、反転処理した後の音声データの下位ビットとを、それぞれ１転送のメモリバスに配置する。さらに、音声データの下位のビットを反転処理したときの情報を表す反転ビットを、１転送のメモリバス内に存在する未使用ビットに付加して、最終的な１転送のデータとする。これにより、バースト転送時の連続する２転送間において、メモリバスの各ビットの変化量を少なくする。
【０２３１】
図１７の例では、それぞれの１転送のデータには、Ｒ（右）データおよびＬ（左）データが分かれて配置されている。しかし、メモリバス上の音声データは、合わせて２つである。データ変換部４１は、２つの音声データを１つのデータとして扱う。より具体的には、例えば、１転送目では、それぞれの音声データの下位８ｂｉｔ（「Ｒ０」のビット［７］〜ビット［０］、および「Ｌ０」のビット［７］〜ビット［０］）をまとめて、反転処理する下位の音声データ［１５：０］とする。その後、反転処理した後の下位の音声データ［１５：０］をそれぞれの音声データに分割して、それぞれの音声データの上位１６ｂｉｔ（「Ｒ０」のビット［２３］〜ビット［８］、および「Ｌ０」のビット［２３］〜ビット［８］）と結合し、それぞれ１転送のメモリバスに配置する。そして、さらに、下位の音声データ［１５：０］に対応した反転ビットを、メモリバス上の未使用ビットに配置する。これにより、４つのパックデータの各ビットの変化量を少なくすることができ、音声データの転送に係る消費電力を低減させることができる。
【０２３２】
なお、図１７（ｂ）をみてわかるように、反転ビットを配置するメモリバス上の位置は、未使用ビットであれば、いかなるところにも配置することができる。図１７（ｂ）の例では、Ｒ（右）データに対応した反転ビットを、メモリバスのビット［２４］に配置した例を示している。また、Ｌ（左）データに対応した反転ビットを、４転送目のメモリバスのビット［５９］〜ビット［５６］に配置した例を示している。このように、反転ビットは、１転送毎のメモリバスに配置するのみではなく、予め定められた１転送のメモリバスに、複数の反転ビットをまとめて配置することもできる。
【０２３３】
上記に述べたとおり、本発明を実施するための形態によれば、データの相関性にも基づいて、転送するデータを予め定められたビットの範囲に分割する。そして、相関性が低い（変化頻度の高い）データの各ビットの値と、前回転送した対応するビットの値とを、ビット毎に比較し、変化しているビットの数が多い場合に、そのデータに対して反転処理を行う。また、反転処理したときの情報を、パックデータの未使用ビットに付加して出力する。これにより、各ビットの変化量を少なくしたデータを、メモリバスに配置することができ、バースト転送時の連続する２転送間において、メモリバスの各ビットの変化量を少なくすることができると共に、パックデータを容易に復元することができる。しかも、データの転送効率は、従来と同等のデータ転送効率を維持することができる。これにより、像装置内の各構成要素（処理ブロック）とメモリとの間でのデータの受け渡しに係る消費電力の低減効果を十分に得ることができる。
【０２３４】
また、本発明を実施するための形態においては、データの全てのビットに対して反転処理を行うのではなく、データの相関性に基づいて予め定めた一部のビットの範囲にのみ反転処理を行う。そして、反転処理は、相関性が低い（変化頻度の高い）データのビットに対して行う。このため、反転処理によるデータの変化量の削減効果を、より多く得ることができる。さらに、反転処理に係る回路規模が削減できるという効果も得ることができる。
【０２３５】
また、本発明を実施するための形態によれば、反転処理を適用するビットの範囲を複数設定し、それぞれの反転処理の適用範囲に応じた複数の反転処理後のデータから、ビット変化数が最も少ない反転処理後のデータを選択して出力することができる。これにより、バースト転送時のメモリバスの各ビットの変化量を効率的に少なくすることができる。また、反転処理を適用するビットの範囲の設定数を、予め定められた数に定めておく。これにより、ビットの範囲の設定数が多くなることによって、反転処理の適用範囲を表す情報に使用するビット数が増加し、パックデータ内の反転処理の適用範囲を表す情報に使用されるビットの割合が大きくなるのを抑えることができる。また、ビットの範囲の設定数が多くなることによって、反転処理および反転処理後のデータの選択に係る回路の規模が増大してしまうことを抑えることができる。このことにより、データの転送効率の低下を抑えることができる。
【０２３６】
また、本発明を実施するための形態によれば、相関性が高い（変化頻度が低い）データを、グレイコードを用いて表すことにより、相関性が低い（変化頻度の高い）データに対する反転処理と異なる処理を行う。これにより、データの相関性に応じた、効率的なビットの変化量の削減を行うことができる。
【０２３７】
なお、本実施形態においては、前回出力したデータの各ビットの値と、今回入力されたデータの各ビットの値とを比較した結果から、反転処理した後のデータを切り替える（選択する）ための情報（反転ビット）を得る場合について説明したが、反転ビットを得るための方法は、本発明を実施するための形態に限定されるものではない。
例えば、特許文献２で開示された技術と同様に、前回入力されたデータの各ビットの値と、今回入力されたデータの各ビットの値とを比較した結果から今回の反転ビットを得て、その後、前回の反転ビットと比較して、最終的な今回の反転ビットにする構成にすることもできる。
【０２３８】
また、本実施形態においては、４転送を１回のバースト転送の単位とし、１バーストをデータのパッキング単位とした場合について説明したが、１回のバースト転送における転送の回数や、データのパッキングの単位は、本発明を実施するための形態に限定されるものではない。例えば、６４転送を１回のバースト転送の単位とし、１バースト内の１６転送をデータのパッキングの単位とする、すなわち、１バースト内に４つのパッキング単位が含まれる構成にすることもできる。また、例えば、１６転送をデータのパッキングの単位とし、８転送を１回のバースト転送の単位とする、すなわち、パッキング単位が２回のバースト転送に跨っている構成にすることもできる。
【０２３９】
また、本実施形態においては、撮像装置内の構成要素間でデータの受け渡しを行う場合のパッキング方法を、いくつかのデータに適用した場合について説明したが、本実施形態のパッキング方法を適用することができる範囲は、本発明を実施するための形態に限定されるものではなく、各構成要素間でデータの受け渡しを行うシステムであれば、どのようなシステムにも適用することができる。
【０２４０】
また、本実施形態においては、例えば、データ変換部を出力ＤＭＡ部の前段の処理ブロックとして配置し、データ逆変換部を入力ＤＭＡ部の後段の処理ブロックとして配置した場合の一例について説明したが、データ変換部およびデータ逆変換部の配置は、本発明を実施するための形態に限定されるものではない。例えば、データ変換部を出力ＤＭＡ部内の構成要素とすることや、データ逆変換部を入力ＤＭＡ部内の構成要素とすることもできる。また、例えば、データ変換部を前段の撮像処理部内の構成要素とすることや、データ逆変換部を後段の画像処理部内の構成要素とすることもできる。
【０２４１】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【０２４２】
１・・・撮像装置（データ処理装置）
１０・・・ＣＰＵ（データ処理装置）
２０・・・メモリ（データ処理装置）
３０・・・ＣＣＤ
４０・・・撮像処理部
５０・・・画像処理部
６０・・・表示処理部
７０・・・表示デバイス
４１，５１・・・データ変換部（データ処理装置）
４１１・・・ビット分離部（第１のビット分離部）
４１２・・・ＥＸＯＲ回路（第１のビット反転部）
４１３・・・Ｄ−ＦＦ（ビット比較部）
４１４・・・ＥＸＯＲ回路（ビット比較部）
４１５・・・多数決判定部（ビット判定部）
４１６・・・ビット結合部（第１のビット結合部）
５２，６２・・・データ逆変換部（データ処理装置）
５２１・・・ビット分割部（第２のビット分離部）
５２２・・・ＥＸＯＲ回路（第２のビット反転部）
５２３・・・ビット結合部（第２のビット結合部）
４５，５５・・・出力ＤＭＡ部
５６，６６・・・入力ＤＭＡ部
４３・・・データ変換部（データ処理装置）
４３１・・・コード変換部（第１のコード変換部）
５４・・・データ逆変換部（データ処理装置）
５４１・・・コード変換部（第２のコード変換部）
４７・・・データ変換部（データ処理装置）
４７１，４７１ａ，４７１ｂ，４７１ｃ，４７１ｄ・・・ビット反転部（第１のビット反転部）
４７２・・・機能選択部（第１のデータ選択部）
４７３・・・Ｄ−ＦＦ（ビット比較部）
４７４，４７４ａ，４７４ｂ，４７４ｃ，４７４ｄ・・・ＥＸＯＲ回路（ビット比較部）
４７５，４７５ａ，４７５ｂ，４７５ｃ，４７５ｄ・・・ビット加算部（ビット変化数算出部）
４７６・・・比較部（データ判定部）
４７７・・・ビット結合部（第１のビット結合部）
５８・・・データ逆変換部（データ処理装置）
５８１・・・ビット分離部（第２のビット分離部）
５８２，５８２ａ，５８２ｂ，５８２ｃ，５８２ｄ・・・ビット復元部（第２のビット反転部）
５８３・・・機能選択部（第２のデータ選択部）
【図１】
0005780796.tif 000002
【図２】
0005780796.tif 000003
【図３】
0005780796.tif 000004
【図４】
0005780796.tif 000005
【図５】
0005780796.tif 000006
【図６】
0005780796.tif 000007
【図７】
0005780796.tif 000008
【図８】
0005780796.tif 000009
【図９】
0005780796.tif 000010
【図１０】
0005780796.tif 000011
【図１１】
0005780796.tif 000012
【図１２】
0005780796.tif 000013
【図１３】
0005780796.tif 000014
【図１４】
0005780796.tif 000015
【図１５】
0005780796.tif 000016
【図１６】
0005780796.tif 000017
【図１７】
0005780796.tif 000018
【図１８】
0005780796.tif 000019
【図１９】
0005780796.tif 000020
【図２０】
0005780796.tif 000021
【図２１】
0005780796.tif 000022
【図２２】
0005780796.tif 000023
【図２３】
0005780796.tif 000024
【図２４】
0005780796.tif 000025
【図２５】
0005780796.tif 000026
【図２６】
0005780796.tif 000027