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