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