データ処理装置およびデータ処理方法
【課題】データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるデータ処理装置およびデータ処理方法を提供する。
【解決手段】入力データを順次データバスに配置した第1の転送データを生成するデータ生成部と、データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、第1の転送データ内に配置されたデータの配置を、単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、並べ替えられたデータの配置を表す並べ替え情報とを、転送データとして出力する第1のデータ配置変更部と、を具備し、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの転送データを1つの転送単位とし、予め定められた数の転送単位を1つの変換単位として、入力データを変換単位毎に配置するデータ変換部、を備える。
【解決手段】入力データを順次データバスに配置した第1の転送データを生成するデータ生成部と、データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、第1の転送データ内に配置されたデータの配置を、単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、並べ替えられたデータの配置を表す並べ替え情報とを、転送データとして出力する第1のデータ配置変更部と、を具備し、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの転送データを1つの転送単位とし、予め定められた数の転送単位を1つの変換単位として、入力データを変換単位毎に配置するデータ変換部、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置およびデータ処理方法に関する。
【背景技術】
【0002】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの撮像装置では、撮像装置の画素数や速度の向上に伴って、膨大な画素のデータ(以下、「画素データ」という)が含まれる画像データを処理している。このような撮像装置においては、撮像装置内の各処理ブロックが撮影によって得られた画像データを処理する際に、データを一時的に記憶するメモリが利用されている。メモリには、各処理段階の画像データが一時記憶される。
【0003】
図13は、従来の撮像装置の概略構成を示したブロック図である。例えば、図13に示した撮像装置における撮影動作では、以下のような手順で画像データの処理が行われている。
(手順1):まず、撮像処理部が、例えば、CCD(Charge Coupled Device:電荷結合素子)型の固体撮像素子によって得られた画像データを、出力DMA(Direct Memory Access)部を介してメモリに転送して一時記憶する。
(手順2):続いて、画像処理部が、メモリに一時記憶している画像データを、入力DMA部を介して読み出す。そして、画像処理部は、読み出した画像データに対して記録用の画像処理や、表示用の画像処理を行う。その後、画像処理した後の画像データを、出力DMA部を介してメモリに転送して一時記憶する。
(手順3):続いて、表示処理部が、表示用の画像処理がされた画像データを、入力DMA部を介して読み出し、表示デバイスに表示させる。
【0004】
このように、撮像装置では、前段の処理ブロックが、画像データをメモリに一時記憶する。そして、後段の処理ブロックが、メモリに記録されている画像データを読み出して、次の処理を行う。このように、撮像装置内の各処理ブロックが、メモリを介して処理対象の画像データの受け渡しを行うことによって、撮像装置の全体の処理を順次行っている。
【0005】
近年、静止画用カメラ、動画用カメラなどの撮像装置においては、長い時間連続して使用できることが望まれており、撮像装置内の電気回路の消費電力を低減させる技術が必要とされている。撮像装置の消費電力を低減させるための1つの方法として、各処理ブロック(電気回路)とメモリとの間での画像データの転送速度を高速にする方法が挙げられる。画像データの転送速度の高速化は、例えば、撮像装置が動作するクロックの周波数を高くしたり、各処理ブロックとメモリ間の画像データの転送期間を短縮させたりすることによって実現することができる。これらの方法は、画像データの転送速度を高速にすることによって、画像データの転送に係る消費電力を低減させるものである。
【0006】
処理ブロックとメモリ間の画像データの転送期間を短縮させるための技術として、特許文献1に開示されているようなパッキングという技術が知られている。特許文献1で開示されたパッキング技術は、画像データ内の各画素データをメモリに転送する際に使用されるデータバスのバス幅を拡張し、隣接する複数の画素データをデータバスに配置(パッキング)することによって、複数の画素データを一度に転送するという技術である。この技術によって、全ての画素データを転送するために要するデータ転送の回数を、画素データを1画素毎に転送する以前のデータ転送に比べて少なくすることができ、画像データのデータ転送に係る期間を短縮することができる。例えば、図14に示したような、16行×16列のベイヤー配列のCCDから得られた画素データをメモリに転送する場合、特許文献1で開示されたパッキング技術では、4画素分の画素データを一度に転送する単位とすることによって、画像データの転送期間を1/4に短縮することができる。これにより、画素データを1画素ずつメモリに転送する場合に比べて、撮像装置内の電気回路の消費電力を低減させることができる。
【0007】
また、さらに画像データの転送期間を短縮する技術として、DMAのバースト転送を利用したパッキング方法が考えられる。これは、予め定められた一定のサイクル数でメモリにアクセスする単位である1バーストを、画素データをパッキングする単位として考える方法である。図15に画素データのパッキングの一例を示す。図15(a)は、特許文献1で開示されたパッキング方法で図14に示した画素データをパッキングした場合の一例を示し、図15(b)は、バーストの単位で図14に示した画素データをパッキングした場合の一例を示している。なお、図15では、画素データをメモリに転送する際に使用するデータバス(以下、「メモリバス」という)のバス幅(以下、「メモリバス幅」という)を32bitとし、バースト転送における1サイクル分のメモリアクセス(以下、「1転送」という)を4回、すなわち、4転送で1回のバースト転送を行う場合の例を示している。そして、図15(a)および図15(b)では、それぞれ上から順に、1画素の画素データの分解能、すなわち、画素データのビット数が、9bit、10bit、12bit、および14bitである場合の一例を示している。
【0008】
図15からわかるように、図15(a)に示した特許文献1で開示されたパッキング方法では、1転送あたり2画素分の画素データがメモリバスに配置され、1バーストあたり8画素分の画素データをメモリに転送することができる。これに対して図15(b)に示したバースト単位でのパッキング方法では、それぞれ、14画素分、12画素分、10画素分、および9画素分の画素データをメモリに転送することができる。これは、特許文献1で開示されたパッキング方法は、メモリバス幅、すなわち、1転送の単位で画素データを配置(パッキング)するため、配置する複数の画素データのビット数の合計がメモリバス幅を超えないようにする必要がある。このため、特許文献1で開示されたパッキング方法では、メモリバス幅内に画素データを割り当てることができないビット(以下、「未使用ビット」という)が多く存在してしまう。これに対し、バースト単位でのパッキング方法は、1バーストの単位で画素データを配置(パッキング)するため、図15(b)のように、配置する複数の画素データのビット数の合計がメモリバス幅を超えてしまう場合でも、1バーストを超えなければ次の転送に画素データを配置(パッキング)することができる。すなわち、バースト単位でのパッキング方法では、メモリバス幅が画素データの分解能の整数倍ではない場合においても、1転送の単位を跨いで画素データを配置(マッピング)することができるため、未使用ビットを少なくすることができるのである。このことにより、バースト単位でのパッキング方法は、特許文献1で開示されたパッキング方法よりも、同じ時間で多くの画素データをメモリに転送する、すなわち、画像データの転送期間を短縮することができ、撮像装置内の電気回路の消費電力を、さらに低減させることができる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−312358号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
一般的に、データの変化(データの“0”→“1”、もしくは“1”→“0”の変化(反転))が少ない方が、消費電力が少ないことが知られている。このため、撮像装置内の各処理ブロック(電気回路)とメモリとの間のメモリバス上のデータの変化を少なくすることによって、撮像装置の消費電力を低減させることも考えられる。図16は、撮像装置内の処理ブロックとメモリとの間のデータバス(メモリバス)上のデータの変化と消費電力との関係を説明する図である。図16(a)は、図13に示した撮像装置における撮像処理部とメモリとの間のメモリバスのバス幅が32bitである場合の一例を示している。そして、図16(b−1)〜(b−3)では、メモリバス上のデータの変化を模式的に示している。図16の一例においては、メモリバス上のデータの変化がない図16(b−1)の場合が、最も消費電力が少なく、メモリバス上のデータの変化が最も多い図16(b−3)の場合が、最も消費電力が多くなる。
【0011】
このことから、撮像装置内の各処理ブロックとメモリ間のバースト転送において、連続する2転送間の画素データ(例えば、図15に示した各バースト転送の1転送目と2転送目との画素データ)の変化が多いと、画像データの転送に係る消費電力も多くなってしまうことがわかる。すなわち、メモリバス上の同一ビットが2転送間で変化している個数(ビット数)に比例して、画像データの転送に係る消費電力が変化する。
【0012】
一般的に、画像データは、隣接する画素間でデータの変化量が小さく、隣接する画素のそれぞれの画素データの同一のビットで比較すると、値が反転しているビットの方が、値が反転していないビットよりも少ないことが予想される。ここで、図15に示した、特許文献1で開示されたパッキング方法と、バースト単位でのパッキング方法とを比較すると、図17に示したように、同一色の画素データで同一のビットが揃っている、特許文献1で開示されたパッキング方法の方が、画像データの転送に係る消費電力が少ないと考えられる。なお、図17は、図15に示した特許文献1で開示されたパッキング方法と、バースト単位でのパッキング方法とにおいて、1画素の画素データのビット数が9bitである場合を示している。
【0013】
より具体的には、図17(a)に示した特許文献1で開示されたパッキング方法では、範囲Aに示したメモリバスの最下位ビットは、全て同一色の画素データの同一ビット(最下位ビット)である。これに対して、図17(b)に示したバースト単位でのパッキング方法では、範囲Bに示したメモリバスの最下位ビットは、全て異なる色の画素データの異なるビットである。このことから、バースト単位で画像データをパッキングすることによって、メモリバス上に配置される画素データのビットの位置が、連続する2転送間で異なってしまうと、メモリバス上の同一ビットの変化量が多くなり、画像データの転送に係る消費電力を増加させてしまうことがわかる。
【0014】
すなわち、図17(a)に示した特許文献1で開示されたパッキング方法は、画像データの転送に係る消費電力が少ないが、データの転送効率が低い。また、図17(b)に示したバースト単位でのパッキング方法は、データの転送効率はよいが、画像データの転送に係る消費電力が多い。
【0015】
このように、バースト単位での画素データのパッキングでは、より多くの画素データをメモリバスに配置することによって、結果的に画素データの転送期間を短縮し、画像データの転送に係る消費電力を低減させることができるが、メモリバス上に配置される画素データのビットの位置が、連続する2転送間で異なっているため、画像データの転送に係る消費電力の低減効果を十分に得ることができていない、という問題がある。
【0016】
また、特許文献1で開示されたパッキング方法においては、例えば、図18に示したように、画素データをパッキングする1転送内に、3画素分の画素データを配置(パッキング)することができる。しかし、この場合には、例えば、範囲Cに示したメモリバスの最下位ビットが、画素データの同一ビット(最下位ビット)ではあるが、異なる色の画素データになってしまう。画素データは、色が異なるとその値が大きく異なる可能性が高く、特許文献1で開示されたパッキング方法でも、1転送内の画素データの配置によっては、画像データの転送に係る消費電力を低減できていないことになってしまう。
【0017】
本発明は、上記の課題認識に基づいてなされたものであり、データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるデータ処理装置およびデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【0018】
上記の課題を解決するため、本発明のデータ処理装置は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、を備え、前記データ変換部は、前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成部と、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とを、該データ変換部における前記転送データとして出力する第1のデータ配置変更部と、を具備し、前記第1のデータ配置変更部は、該第1のデータ配置変更部からn(nは1以上の自然数)回目に出力した前記変更データ内の各ビットの値と、該第1のデータ配置変更部にn+1回目に入力された前記第1の転送データ内の各ビットの値とを比較し、該比較した結果に基づいたビットの数をビット変化数として、前記単位ビット毎に出力するビット変化数算出部と、前記単位ビット毎のビット変化数に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えるか否かを判断し、該判断した判断結果を出力するビット変化数解析部と、前記判断結果に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えた並べ替えデータを生成する第1のデータ並べ替え部と、前記並べ替えデータの内、データが配置されていない未使用ビットを含む前記並べ替えデータの予め定められた前記未使用ビットの位置に、前記判断結果を表す情報を前記並べ替え情報として結合した結合データを生成し、前記並べ替えデータ、または生成した前記結合データのいずれか1つのデータを、該前記第1のデータ配置変更部における前記変更データとして出力するデータ結合部と、を具備する、ことを特徴とする。
【0019】
また、本発明の前記ビット変化数算出部は、n回目に出力した前記変更データを、前記単位ビットのビット数毎に第1の基準データと、第2の基準データとに分割し、n+1回目に入力された前記第1の転送データを、前記単位ビットのビット数毎に第1の比較対象データと、第2の比較対象データとに分割し、前記第1の基準データと前記第1の比較対象データとを比較した第1のビット変化数と、前記第1の基準データと前記第2の比較対象データとを比較した第2のビット変化数と、前記第2の基準データと前記第1の比較対象データとを比較した第3のビット変化数と、前記第2の基準データと前記第2の比較対象データとを比較した第4のビット変化数と、をそれぞれ出力する、ことを特徴とする。
【0020】
また、本発明の前記ビット変化数解析部は、前記ビット変化数算出部から入力された前記第1のビット変化数、前記第2のビット変化数、前記第3のビット変化数、および前記第4のビット変化数に基づいて、n回目に出力した前記変更データの各ビットの値が、n+1回目に入力された前記第1の転送データの各ビットの値に変わる際に、それぞれのビットの値が異なる値になるビットの数が最も少ない数になる、n+1回目に入力された前記第1の転送データにおける前記単位ビット毎のデータの配置を決定し、該決定したデータの配置に基づいて、該n+1回目に入力された前記第1の転送データ内のデータの配置を、前記単位ビットの単位で並べ替えるか否かを判断する、ことを特徴とする。
【0021】
また、本発明のデータ処理装置は、n+1回目に入力された前記第1の転送データ内のデータの配置を前記単位ビットの単位で並べ替える場合の、前記データバス上における前記単位ビットのそれぞれの配置位置の組み合わせが予め定められており、前記ビット変化数解析部は、前記ビット変化数算出部から入力された前記第1のビット変化数、前記第2のビット変化数、前記第3のビット変化数、および前記第4のビット変化数に基づいて、前記予め定められた配置位置の組み合わせの内、n回目に出力した前記変更データの各ビットの値が、n+1回目に入力された前記第1の転送データの各ビットの値に変わる際に、それぞれのビットの値が異なる値になるビットの数が最も少ない数になる、n+1回目に入力された前記第1の転送データにおける前記単位ビット毎のデータの配置位置の組み合わせを選択し、該選択した配置位置の組み合わせの情報を、該n+1回目に入力された前記第1の転送データ内のデータの配置を、前記単位ビットの単位で並べ替えるか否かを判断した判断結果として出力する、ことを特徴とする。
【0022】
また、本発明のデータ処理装置は、前記変換単位で前記転送データを出力する際に、前記転送データとして出力される前記変更データの出力順番が予め定められており、前記データ結合部は、予め定められた前記変更データの出力順番に基づいて、前記並べ替えデータ、または前記結合データのいずれか1つのデータを、前記変更データとして出力する、ことを特徴とする。
【0023】
また、本発明のデータ処理装置は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、を備え、前記データ逆変換部は、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、該入力された前記変更データ内に配置されたデータの配置を元の配置に戻すように、前記変更データ内に配置されたデータの配置を、前記単位ビット毎に元の前記入力データの配置位置に並べ替えて前記第1の転送データに戻す第2のデータ配置変更部と、前記入力データの配置が元の配置に戻された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元部と、を具備し、前記第2のデータ配置変更部は、前記変換単位毎に順次転送されてきたそれぞれの前記転送データを、該転送データが転送されてくる毎に順次記憶することによって、前記変換単位に含まれる全ての前記転送データを、前記変更データとして記憶するデータ記憶部と、前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている、前記転送データの転送元のデータ処理装置が前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えたときの並べ替え情報を保持する並べ替え情報保持部と、前記並べ替え情報保持部に保持された前記並べ替え情報に基づいて、前記データ記憶部に記憶されたそれぞれの前記変更データ内のデータを、前記単位ビットの単位で元の配置に並べ替えた前記第1の転送データを順次生成する第2のデータ並べ替え部と、を具備する、ことを特徴とする。
【0024】
また、本発明のデータ処理装置は、前記変更データ内のデータの配置を前記単位ビットの単位で元の配置に並べ替える場合の、前記データバス上における前記単位ビットのそれぞれの配置位置の組み合わせが予め定められており、前記第2のデータ並べ替え部は、前記並べ替え情報に含まれる前記配置位置の組み合わせの情報に基づいて、前記予め定められた配置位置の組み合わせから、今回処理する前記変更データに対応した配置位置の組み合わせを選択し、該選択した配置位置の組み合わせに基づいて、今回処理する前記変更データ内のデータを元の配置に並べ替えた前記第1の転送データを生成する、ことを特徴とする。
【0025】
また、本発明のデータ処理装置は、前記転送データの転送元のデータ処理装置が、前記変換単位で前記転送データを出力する際に、前記転送データとして出力される前記変更データの出力順番が予め定められており、前記第2のデータ並べ替え部は、前記予め定められた前記変更データの出力順番に基づいて、生成する前記第1の転送データの順番が、前記転送データの転送元のデータ処理装置において生成された前記第1の転送データの元の順番になるように、前記データ記憶部に記憶された前記変更データを順次選択し、該選択した前記変更データ内のデータを元の配置に並べ替えた前記第1の転送データを順次生成する、ことを特徴とする。
【0026】
また、本発明のデータ処理方法は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、を含み、前記データ変換ステップは、前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成ステップと、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とを、該データ変換ステップにおける前記転送データとして出力する第1のデータ配置変更ステップと、を含み、前記第1のデータ配置変更ステップは、該第1のデータ配置変更ステップによってn(nは1以上の自然数)回目に出力した前記変更データ内の各ビットの値と、該第1のデータ配置変更ステップにおいてn+1回目に入力された前記第1の転送データ内の各ビットの値とを比較し、該比較した結果に基づいたビットの数をビット変化数として、前記単位ビット毎に出力するビット変化数算出ステップと、前記単位ビット毎のビット変化数に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えるか否かを判断し、該判断した判断結果を出力するビット変化数解析ステップと、前記判断結果に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えた並べ替えデータを生成する第1のデータ並べ替えステップと、前記並べ替えデータの内、データが配置されていない未使用ビットを含む前記並べ替えデータの予め定められた前記未使用ビットの位置に、前記判断結果を表す情報を前記並べ替え情報として結合した結合データを生成し、前記並べ替えデータ、または生成した前記結合データのいずれか1つのデータを、該前記第1のデータ配置変更ステップにおける前記変更データとして出力するデータ結合ステップと、を含む、ことを特徴とする。
【0027】
また、本発明のデータ処理方法は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、を含み、前記データ逆変換ステップは、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、該入力された前記変更データ内に配置されたデータの配置を元の配置に戻すように、前記変更データ内に配置されたデータの配置を、前記単位ビット毎に元の前記入力データの配置位置に並べ替えて前記第1の転送データに戻す第2のデータ配置変更ステップと、前記入力データの配置が元の配置に戻された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元ステップと、を含み、前記第2のデータ配置変更ステップは、前記変換単位毎に順次転送されてきたそれぞれの前記転送データを、該転送データが転送されてくる毎に順次記憶することによって、前記変換単位に含まれる全ての前記転送データを、前記変更データとして記憶するデータ記憶ステップと、前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている、前記転送データの転送元のデータ処理装置が前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えたときの並べ替え情報を保持する並べ替え情報保持ステップと、前記並べ替え情報保持ステップによって保持された前記並べ替え情報に基づいて、前記データ記憶ステップによって記憶されたそれぞれの前記変更データ内のデータを、前記単位ビットの単位で元の配置に並べ替えた前記第1の転送データを順次生成する第2のデータ並べ替えステップと、を含む、ことを特徴とする。
【発明の効果】
【0028】
本発明によれば、データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるという効果が得られる。
【図面の簡単な説明】
【0029】
【図1】本発明の実施形態における撮像装置の概略構成を示したブロック図である。
【図2】本実施形態の撮像装置に備えたデータ変換部およびデータ逆変換部の概略構成を示したブロック図である。
【図3】本実施形態の撮像装置に備えたデータ変換部内のパックデータ配置変更部の概略構成を示したブロック図である。
【図4】本実施形態の撮像装置に備えたデータ変換部内のパックデータ配置変更部におけるパックデータの生成方法を説明する図である。
【図5】本実施形態の撮像装置に備えたデータ逆変換部内のパックデータ配置変更部の概略構成を示したブロック図である。
【図6】本実施形態の撮像装置に備えたデータ変換部内のパックデータ配置変更部における並べ替え情報の組み合わせの一例を説明する図である。
【図7】本実施形態の撮像装置に備えたデータ変換部によって配置されたパックデータの一例を示した図である。
【図8】本実施形態の撮像装置に備えたデータ変換部によってデータ出力順が変更されたパックデータの一例を示した図である。
【図9】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別の画像データに適用した場合の一例を示した図である。
【図10】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、さらに別の画像データに適用した場合の一例を示した図である。
【図11】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、さらに別の画像データに適用した場合の一例を示した図である。
【図12】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別のデータに適用した場合の一例を示した図である。
【図13】従来の撮像装置の概略構成を示したブロック図である。
【図14】画像データの配列の一例を示した図である。
【図15】従来のデータパッキングの一例を示した図である。
【図16】データバス上のデータの変化と消費電力との関係を説明する図である。
【図17】従来のデータパッキング方法におけるデータ配置の状態の一例を示した図である。
【図18】従来のデータパッキング方法におけるデータ配置の状態の別の一例を示した図である。
【発明を実施するための形態】
【0030】
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態における撮像装置の概略構成を示したブロック図である。図1に示した撮像装置1は、CPU10と、メモリ20と、CCD30と、撮像処理部40と、画像処理部50と、表示処理部60と、表示デバイス70と、データ変換部41および51と、データ逆変換部52および62と、出力DMA部45および55と、入力DMA部56および66と、を備えている。なお、撮像装置1は、撮影した画像データを記録する機能も有しているが、説明を容易にするため、以下の説明においては、撮影した画像データを表示する場合について説明する。また、図1においては、撮像装置1内の各構成要素(処理ブロック)間での画素データの受け渡しに係るデータバスであるメモリバスの接続のみを示している。
【0031】
CPU10は、撮像装置1の全体の制御を行う制御装置である。
メモリ20は、撮像装置1内の各処理ブロックが処理する画素データを一時的に記憶する、例えば、DRAM(Dynamic Random Access Memory)などのメモリである。メモリ20には、撮像装置1内の各処理ブロックによる各処理段階の画素データが一時記憶される。
【0032】
CCD30は、入射した被写体光を画像信号に変換する、例えば、ベイヤー配列の固体撮像素子である。CCD30は、被写体の画素信号を撮像処理部40に出力する。
撮像処理部40は、CCD30から入力された画素信号に対して、予め定められた信号処理を行った画像データを生成する。
【0033】
画像処理部50は、撮像処理部40が生成した画像データに対して、撮像装置1における種々の画像処理を行った画像データを生成する。
表示処理部60は、画像処理部50によって画像処理された画像データを、表示デバイス70に応じた表示データに変換する。表示処理部60は、変換した表示データを表示デバイス70に出力する。
表示デバイス70は、表示データを表示する、例えば、液晶などの表示装置である。
【0034】
本実施形態の撮像装置1では、CCD30によって撮像された被写体の画素信号を、撮像処理部40、画像処理部50、表示処理部60が順次処理し、表示デバイス70に表示させる。このとき、各処理段階の画像データは、メモリ20を介して各処理ブロック間で受け渡される。撮像装置1内のデータ変換部41および51と、データ逆変換部52および62と、出力DMA部45および55と、入力DMA部56および66とは、各処理段階の画像データの受け渡しに係る処理ブロックである。
【0035】
データ変換部41および51は、前段の処理ブロック(図1に示した本実施形態においては、撮像処理部40または画像処理部50)から入力された画像データ内の各画素データを、予め定められた配置(パッキング)方法で、メモリバスの各ビットに配置する。データ変換部41および51の構成と、データ変換部41および51による画素データのパッキング方法に関する詳細な説明は、後述する。
【0036】
出力DMA部45および55は、データ変換部41または51によってメモリバスの各ビットにパッキングされた画素データからなる画像データを、DMAアクセスによってメモリ20に書き込む(記憶させる)。
入力DMA部56および66は、メモリ20に記憶されている画像データをDMAアクセスによって読み出し、読み出した画像データを、データ逆変換部52または62に出力する。
【0037】
データ逆変換部52および62は、入力DMA部56または66から入力された画像データに含まれる画素データを、予め定められた配置(パッキング)方法と逆の方法で元の画像データに戻し、後段の処理ブロック(図1に示した本実施形態においては、画像処理部50または表示処理部60)に出力する。データ逆変換部52および62の構成に関する詳細な説明は、後述する。
【0038】
ここで、図1に示した撮像装置1における画像データの処理について説明する。撮像装置1における撮影動作では、以下のような手順で画像データの処理が行われる。
(手順1):まず、撮像処理部40は、CCD30によって撮像された被写体の画素信号に対して、予め定められた信号処理を行った画像データ(例えば、CCD30の画素の配列に応じた画像データ)を生成する。そして、生成した画像データを、データ変換部41および出力DMA部45を介して、メモリ20に転送して一時記憶する。
(手順2):続いて、画像処理部50は、メモリ20に一時記憶している画像データを、入力DMA部56およびデータ逆変換部52を介して読み出す。そして、画像処理部50は、読み出した画像データに対して記録用の画像処理や、表示用の画像処理を行った画像データ(例えば、RGBデータや、YC422点順次フォーマットのYCbCrデータ)を生成する。その後、生成した画像データを、再びデータ変換部51および出力DMA部55を介してメモリ20に転送して一時記憶する。
(手順3):続いて、表示処理部60は、画像処理部50によって表示用の画像処理がされた画像データや、別途、メモリ20に記憶しているOSD(On−Screen Display)表示用の画像データを、入力DMA部66およびデータ逆変換部62を介して読み出し、表示デバイス70に表示させる。
【0039】
なお、撮像装置1が撮影した画像データを記録する場合には、画像データの記録処理を行う図示しない記録処理部が、画像処理部50によって記録用の画像処理がされた画像データを、図示しない入力DMA部およびデータ逆変換部を介して読み出し、読み出した記録用の画像データをメモリカードなどの図示しない画像データ記録部に記録する。また、撮像装置1に、例えば、音を入出力する機能を備えている場合には、音声処理を行う図示しない音声処理部が、撮影時の音声データを、図示しないデータ変換部および出力DMA部を介してメモリ20に記憶する。また、音声処理部が、メモリ20に記憶している音声データを、図示しない入力DMA部およびデータ逆変換部を介して読み出し、読み出した音声データに応じた音声を、スピーカーなどの図示しない音出力部に出力させる。
【0040】
次に、撮像装置1内のデータ変換部およびデータ逆変換部について説明する。なお、上記に述べたように、データ変換部41とデータ変換部51とは、接続される前段の処理ブロックと後段の処理ブロックが異なるのみである。より具体的には、図1に示したように、データ変換部41は、前段の撮像処理部40と後段の出力DMA部45との間に配置され、データ変換部51は、前段の撮画像処理部50と後段の出力DMA部55との間に配置されている。従って、データ変換部41とデータ変換部51とは、入力される画像データと出力する画像データとのデータ形式(フォーマット)が異なるのみである。以下の説明においては、代表してデータ変換部41について説明する。
【0041】
また、上記に述べたように、データ逆変換部52とデータ逆変換部62とは、接続される前段の処理ブロックと後段の処理ブロックが異なるのみである。より具体的には、図1に示したように、データ逆変換部52は、前段の入力DMA部56と後段の画像処理部50との間に配置され、データ逆変換部62は、前段の入力DMA部66と後段の表示処理部60との間に配置されている。従って、データ逆変換部52とデータ逆変換部62とは、入力される画像データと出力する画像データとのデータ形式(フォーマット)が異なるのみである。以下の説明においては、代表してデータ逆変換部52について説明する。
【0042】
図2は、本実施形態の撮像装置1に備えたデータ変換部41およびデータ逆変換部52の概略構成を示したブロック図である。図2(a)に示したように、データ変換部41は、パックデータ生成部411と、パックデータ配置変更部412と、を備えている。また、図2(b)に示したように、データ逆変換部52は、パックデータ配置変更部521と、パックデータ復元部522と、を備えている。
【0043】
まず、図2(a)に示したデータ変換部41について説明する。なお、以下の説明においては、データ変換部41に、図14に示したような、16行×16列のベイヤー配列の画像データ(以下、「ベイヤーデータ」という)が入力され、ベイヤーデータ内の各画素データをパッキングする単位を4転送とし、4転送を1回のバースト転送の単位とする、すなわち、1バーストを画素データのパッキング単位とする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバスのバス幅(メモリバス幅)は32bitであるものとして説明する。
【0044】
データ変換部41は、撮像処理部40から入力された11bitの画素データの各ビットのデータを、予め定められた後述するパッキング方法のいずれか1つの方法で、メモリバス上の各ビットに配置した32bitのパックデータを生成する。そして、データ変換部41は、例えば、出力DMA部45から入力される図示しないデータイネーブル信号に基づいて生成したパックデータを順次出力する。なお、データイネーブル信号は、出力DMA部45がバースト転送する際にパックデータを転送するタイミングを表す信号である。
【0045】
パックデータ生成部411は、入力された画素データの各ビットのデータを、メモリバスに対応したデータバス(このデータバスはメモリバスの各ビットに対応しているため、以下の説明においては、「メモリバス」として説明する)の各ビットに順次配置する。そして、画素データを順次配置したメモリバス幅のビット数(図2(a)においては、32bit)のパックデータ(以下、「転送パックデータ」という)をパックデータ配置変更部412に出力する。なお、パックデータ生成部411によるメモリバスへの画素データの配置方法は、従来のバースト単位でのパッキング方法と同様であるため、詳細な説明は省略する。
【0046】
パックデータ配置変更部412は、パックデータ生成部411から入力された32bitの転送パックデータ内のデータの配置を変更し、データ変換部41が最終的に出力する32bitのパックデータを生成する。
【0047】
より具体的には、パックデータ配置変更部412は、パックデータ生成部411から入力された転送パックデータのメモリバス幅を、予め定められたビット数(例えば、8bit:1byte)の単位(以下、「並べ替え単位」という)に区切る。そして、この並べ替え単位毎に、前回出力したパックデータの各ビットの値と今回入力された転送パックデータの各ビットの値とを比較し、並べ替え単位におけるビット毎の変化率(以下、「ビット変化率」という)をそれぞれ算出する。そして、パックデータ配置変更部412は、算出したビット変化率に基づいて、前回出力したパックデータに対してビット毎の変化率が少なくなるように、今回入力された転送パックデータ内のデータの配置を、並べ替え単位毎に並べ替えたパックデータを生成する。
【0048】
パックデータ配置変更部412は、生成したビット毎の変化率が少ないパックデータを、今回入力された転送パックデータに応じて今回出力する最終的なパックデータとして出力する。また、パックデータ配置変更部412は、転送パックデータ内のデータの配置を並べ替えた情報を、パッキング単位(4転送)内に存在する未使用ビットに付加して、パックデータと共に出力する。
【0049】
なお、パックデータ配置変更部412は、上記に述べたように、パックデータ生成部411から転送パックデータが入力される毎に、転送パックデータ内のデータの配置の並べ替えを順次行う構成とすることもできるが、パックデータ配置変更部412内に、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitの転送パックデータを一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、パックデータ生成部411から入力された転送パックデータをメモリ部に一旦保持し、保持したそれぞれの転送パックデータ内のデータの配置の並べ替えと、並べ替え情報の付加を行う。
【0050】
次に、図2(b)に示したデータ逆変換部52について説明する。なお、以下の説明においては、データ逆変換部52に、データ変換部41によってパッキングされた、4転送をパッキング単位とした1バーストのパックデータが、入力DMA部56を介して入力され、入力されたパックデータを、図14に示したベイヤーデータに戻す場合について説明する。従って、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとして説明する。
【0051】
データ逆変換部52は、入力DMA部56から入力された32bitのパックデータの各ビットに配置されたデータを、予め定められた後述するパッキング方法のいずれか1つの方法と逆の方法で、画像処理部50が画像処理する元の画像データ(ベイヤーデータ)に戻した11bitの画素データに復元する。そして、データ逆変換部52は、例えば、画像処理部50から入力される図示しないデータイネーブル信号に基づいて復元した元の画素データを順次出力する。なお、データイネーブル信号は、画像処理部50に出力するタイミングを表す信号である。
【0052】
パックデータ配置変更部521は、入力された32bitのパックデータ(このパックデータは、データ変換部41内のパックデータ配置変更部412が生成したパックデータと同等である)内のデータの配置を元に戻した32bitのパックデータ(このパックデータは、パックデータ生成部411が生成した転送パックデータに戻したデータと同等であるため、以下の説明においては、「転送パックデータ」として説明する)を生成する。そして、パックデータ配置変更部521は、生成した1バースト分のそれぞれの転送パックデータを、パックデータ復元部522に出力する。
【0053】
より具体的には、パックデータ配置変更部521は、パッキング単位(4転送)内に存在する未使用ビットに付加されている並べ替え情報に基づいて、パックデータ配置変更部412による転送パックデータ内のデータの配置の並べ替えと逆の方法で、それぞれの転送パックデータを生成する。なお、パックデータ配置変更部521には、パックデータ配置変更部412における並べ替え単位と同等のビット数が予め設定されている。そして、パックデータ配置変更部521は、パックデータ内のデータの配置を並べ替え単位毎に並べ替えた(元に戻した)転送パックデータを生成する。
【0054】
なお、パックデータ配置変更部521は、上記に述べたように、入力DMA部56からパックデータが入力される毎に、パックデータ配置変更部412による転送パックデータ内のデータの配置の並べ替えと逆の方法で、パックデータ内のデータの配置の並べ替えを順次行う構成とすることもできるが、パックデータ配置変更部521内に、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitのパックデータ(転送パックデータ)を一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、入力DMA部56から入力されたパックデータをメモリ部に一旦保持し、保持したそれぞれのパックデータ内のデータの配置の並べ替えを行う。
【0055】
パックデータ復元部522は、パックデータ配置変更部521から入力された転送パックデータの各ビットに配置された画素データを順次分割(アンパッキング)し、元の画素データ(図2(b)においては、11bitの画素データ)に復元する。そして、パックデータ復元部522は、複製した元の画素データを順次、画像処理部50に出力する。なお、パックデータ復元部522による転送パックデータの元の画素データへの復元方法は、従来のバースト単位でのパッキング方法における復元方法と同様であるため、詳細な説明は省略する。
【0056】
次に、データ変換部41に備えたパックデータ配置変更部412について、さらに詳細に説明する。図3は、本実施形態の撮像装置1に備えたデータ変換部41内のパックデータ配置変更部412の概略構成を示したブロック図である。図3に示したように、パックデータ配置変更部412は、4つのビット変化数算出部4121a〜4121d(以下、ビット変化数算出部4121a〜4121dのいずれか1つを表すときには「ビット変化数算出部4121」という)と、ビット変化数解析部4122と、並べ替え制御部4123と、データ保持部4124と、解析結果保持部4125と、データ結合部4126と、を備えている。
【0057】
上記に述べたように、パックデータ配置変更部412は、パックデータ生成部411から入力された32bitの転送パックデータ内のデータの配置を変更し、データ変換部41が最終的に出力する32bitのパックデータを生成する。しかし、以下の説明においては、説明を容易にするため、パックデータ配置変更部412に、パックデータ生成部411から16bitの転送パックデータが入力され、転送パックデータ内のデータの配置を並べ替えた16bitのパックデータを出力する場合について説明する。従って、32bitの転送パックデータと16bitの転送パックデータとを区別するため、以下の説明においては、16bitの転送パックデータを入力データDIN(15:0)と表す。また、32bitのパックデータと16bitのパックデータとを区別するため、以下の説明においては、16bitのパックデータを出力データDOUT(15:0)と表す。また、以下の説明において、入力されたデータまたは出力するデータのビットを特定しない、すなわち、入力または出力データの全てのビット範囲を表す場合には、データのビットの範囲を表す“():括弧”内の数字を省略する。
【0058】
また、以下の説明においては、16bitの入力データDIN(15:0)を、上位8bit(入力データDIN(15:8))と下位8bit(入力データDIN(7:0))との並べ替え単位に区切って、入力データDIN内のデータの配置を並べ替えた出力データDOUT(15:0)を、入力データDIN(15:0)に対応した16bitの出力データDOUT(15:0)として出力する場合について説明する。
【0059】
パックデータ配置変更部412は、入力された入力データDINをビット毎に比較して、ビット変化の少ない出力データDOUTを生成して出力する。より具体的には、パックデータ配置変更部412は、前回出力した出力データDOUTと今回入力された入力データDINとのビット変化率を、並べ替え単位で算出する。そして、パックデータ配置変更部412は、算出したそれぞれのビット変化率に基づいて、前回出力した出力データDOUTに対してビット毎の変化率が少なくなるように、今回入力された入力データDIN内のデータの配置を並べ替え単位で並び替えた出力データDOUTを生成する。そして、パックデータ配置変更部412は、生成したビット毎の変化率が少ない出力データDOUTを、今回出力する出力データDOUTとして出力する。
【0060】
また、パックデータ配置変更部412は、今回入力された入力データDIN内のデータを並べ替えたときの並べ替え情報を、パッキング単位内のいずれか1つの出力データDOUTの未使用ビットに付加して出力する。
【0061】
ビット変化数算出部4121a〜4121dは、それぞれ、入力された2つのデータの各ビットをそれぞれ比較してビットの変化数(以下、「ビット変化数」という)を算出し、算出したビット変化数の値をビット変化数解析部4122に出力する。例えば、一方のデータの値が“0xFF”で他方の値が“0x00”である場合には、ビット変化数の値が“8”と出力される。また、例えば、一方のデータの値が“0x00”で他方の値が“0x00”である場合には、ビット変化数の値が“0”と出力される。
【0062】
図3に示したパックデータ配置変更部412においては、ビット変化数算出部4121aの一方のデータとして入力データDIN(15:0)の下位の8bitの入力データDIN(7:0)が入力され、他方のデータとしてデータ保持部4124から出力されたデータD1(7:0)が入力されている。また、ビット変化数算出部4121bには、一方のデータとして入力データDIN(7:0)が入力され、他方のデータとしてデータ保持部4124から出力されたデータD1(15:8)が入力されている。また、ビット変化数算出部4121cには、一方のデータとして入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)が入力され、他方のデータとしてデータD1(7:0)が入力されている。また、ビット変化数算出部4121dには、一方のデータとして入力データDIN(15:8)が入力され、他方のデータとしてデータD1(15:8)が入力されている。そして、ビット変化数算出部4121a〜4121dのそれぞれは、一方のデータとして入力された入力データDINと、他方のデータとして入力されたデータD1との各ビットをそれぞれ比較してビットの変化数を算出する。
【0063】
ビット変化数解析部4122は、ビット変化数算出部4121a〜4121dのそれぞれから入力されたビット変化数の値に基づいて、入力データDIN内のデータの配置を並べ替える処理(以下「並べ替え処理」という)を行うか否かを判断し、その判断結果の情報を並べ替え制御部4123と解析結果保持部4125とに出力する。
【0064】
より具体的には、ビット変化数解析部4122は、ビット変化数算出部4121a〜4121dのそれぞれから入力されたビット変化数の値を解析し、ビット変化数の値が低いものを抽出する。そして、ビット変化数解析部4122は、抽出した低い値のビット変化数を出力したビット変化数算出部4121に入力されているデータに基づいて、入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)と、下位の8bitの入力データDIN(7:0)とを並べ替える並べ替え処理を行うか否かを判断する。
【0065】
なお、ビット変化数解析部4122による並べ替え処理を行うか否かの判断は、前回出力した出力データDOUTに対して今回出力する出力データDOUTのビット変化率(ビット変化数)が最も少なくなるように、出力データDOUTの全体を考慮して判断される。
【0066】
そして、ビット変化数解析部4122は、判断結果の情報を並べ替え制御部4123と解析結果保持部4125とに出力する。図3に示したパックデータ配置変更部412においては、入力データDINに対して1つの判断結果を出力するため、例えば、並べ替え処理を行わない場合には、判断結果の情報として“0”を出力し、並べ替え処理を行う場合には、判断結果の情報として“1”を出力する。
【0067】
なお、判断結果の情報の“0”は、入力データDINに対する並べ替え処理を行わずに、入力データDINをそのまま出力データDOUTとして出力することを意味している。また、判断結果の情報の“1”は、入力データDINに対して上位の8bitと下位の8bitとを並べ替える並べ替え処理を行ったデータを、出力データDOUTとして出力することを意味している。
【0068】
並べ替え制御部4123は、ビット変化数解析部4122から入力された並べ替え処理を行うか否かの判断結果の情報に基づいて、入力された入力データDINの並べ替え処理を行う。そして、並べ替え処理をした後のデータD0(15:0)を、データ保持部4124とデータ結合部4126とに出力する。より具体的には、ビット変化数解析部4122から入力された並べ替え処理を行うか否かの判断結果の情報が“0”である、すなわち、入力データDINの並べ替え処理を行わない場合には、入力された入力データDIN(15:0)をそのまま、データD0(15:0)として出力する。
【0069】
また、ビット変化数解析部4122から入力された並べ替え処理を行うか否かの判断結果の情報が“1”である、すなわち、入力データDINの並べ替え処理を行う場合には、入力された入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)と、下位の8bitの入力データDIN(7:0)とを並べ替えたデータ(入力データDIN(7:0),入力データDIN(15:8))を、データD0(15:0)として出力する。
【0070】
データ保持部4124は、並べ替え制御部4123から出力されたデータD0(15:0)を保持する。このデータ保持部4124によって保持されたD0は、前回出力した出力データDOUTとして、ビット変化数算出部4121によって、次に入力された入力データDINとのビット変化数の算出に用いられる。データ保持部4124は、保持したD0をビット変化数算出部4121の他方のデータD1として、ビット変化数算出部4121a〜4121dのそれぞれに出力する。これにより、ビット変化数算出部4121は、入力データDINの並べ替え処理をした後の出力データDOUTと、次に入力された入力データDINとのビット変化数の算出を行うことになる。
【0071】
解析結果保持部4125は、ビット変化数解析部4122から入力された並べ替え処理を行うか否かの判断結果の情報、すなわち、ビット変化数解析部4122が出力した“0”または“1”の情報を保持する。この解析結果保持部4125によって保持された判断結果の情報は、今回出力する出力データDOUTが入力データDINに対して並べ替え処理が行われたデータであるか否かを表す情報として用いられる。解析結果保持部4125は、保持した判断結果の情報を、データ結合部4126に出力する。
【0072】
なお、ビット変化数解析部4122は、入力データDIN(15:0)に対して1つの判断結果を出力する。従って、図2(a)に示した本実施形態の撮像装置1に備えたデータ変換部41では、パックデータ生成部411から32bitの転送パックデータが入力されるため、16bit毎に2つの判断結果を得ることになる。このことから、解析結果保持部4125には、2つ分の判断結果の情報を保持することができる保持容量を備えることになる。
【0073】
データ結合部4126は、並べ替え制御部4123から入力された並べ替え処理後のデータD0(15:0)を、順次出力する。このときデータ結合部4126は、解析結果保持部4125から入力された判断結果の情報を、パッキング単位内に存在する、すなわち、並べ替え制御部4123から入力されたデータD0の内、いずれかのデータD0に存在する未使用ビットに付加(ビット結合)して、データ変換部41が最終的に出力する出力データDOUTを生成する。データ結合部4126によって判断結果の情報をビット結合する方法に関する詳細な説明は、後述する。
【0074】
ここで、パックデータ配置変更部412によるデータの配置を並べ替えたパックデータの生成方法について説明する。図4は、本実施形態の撮像装置1に備えたデータ変換部41内のパックデータ配置変更部412におけるパックデータの生成方法を説明する図である。なお、以下の説明においては、図3に示したパックデータ配置変更部412の構成を参照し、入力データDIN内のデータの配置を並べ替えた出力データDOUTを生成するときの全体の流れに沿って説明する。なお、図3に示したパックデータ配置変更部412における並べ替え単位は、8bitである。
【0075】
パックデータ配置変更部412には、パックデータ生成部411から1バースト分、すなわち、パッキング単位(4転送)分の入力データDIN(15:0)が順次入力される。ここでは、図4(a)に示したような4転送分の入力データDINが、1転送目、2転送目、3転送目、4転送目というように、順次入力された場合を考える。図4(a)に示したように、パッキング単位(4転送)分の入力データDIN(15:0)の内、4転送目の入力データDINに、未使用ビットが存在している。以下の説明においては、パックデータ配置変更部412が、4転送目の出力データDOUTの未使用ビットに判断結果の情報を付加(ビット結合)するものとして説明する。
【0076】
まず、データ変換部41が動作を開始し、パックデータ生成部411から順次入力データDIN(15:0)が入力される。パックデータ配置変更部412に、パックデータ生成部411から1転送目の入力データDIN(“0xFF5A”)が入力されると、1転送目の入力データDINに応じた1転送目の出力データDOUTの生成を開始する。なお、1転送目の入力データDINは、今回のバースト転送における基準となる入力データDINである。そのため、パックデータ配置変更部412は、1転送目の出力データDOUTの生成において、1転送目の入力データDINに対する並べ替え制御部4123による並べ替え処理は行わない。
【0077】
1転送目の出力データDOUTの生成において、ビット変化数算出部4121は、1転送目のビット変化数の値として“0”を出力し、ビット変化数解析部4122は、1転送目の判断結果の情報として“0”を出力する。これにより、並べ替え制御部4123は、1転送目の入力データDINをそのまま、1転送目のデータD0(15:0)として出力する。そして、データ保持部4124は、並べ替え制御部4123から出力された1転送目のデータD0を保持し、保持した1転送目のデータD0を、1転送目のデータD1として出力する。また、データ結合部4126は、並べ替え制御部4123から入力された1転送目のデータD0を、1転送目の出力データDOUT(15:0)として出力する。
【0078】
なお、解析結果保持部4125は、ビット変化数解析部4122から出力された1転送目の判断結果の情報の保持を行わない。また、データ結合部4126は、1転送目の出力データDOUTに対する判断結果の情報の付加(ビット結合)も行わない。
【0079】
続いて、パックデータ配置変更部412に、パックデータ生成部411から2転送目の入力データDIN(“0x5AFE”)が入力されると、2転送目の入力データDINに応じた2転送目の出力データDOUTの生成を開始する。2転送目の出力データDOUTの生成において、ビット変化数算出部4121のそれぞれは、2転送目の入力データDINの各ビットと、データ保持部4124から入力された1転送目のデータD1、すなわち、1転送目の出力データDOUTの各ビットとをそれぞれ比較して、ビットの変化数を算出する。
【0080】
より具体的には、ビット変化数算出部4121aは、2転送目の下位の入力データDIN(7:0)と、1転送目の下位のデータD1(7:0)とのビットの変化数を算出する。また、ビット変化数算出部4121bは、2転送目の下位の入力データDIN(7:0)と、1転送目の上位のデータD1(15:8)とのビットの変化数を算出する。また、ビット変化数算出部4121cは、2転送目の上位の入力データDIN(15:8)と、1転送目の下位のデータD1(7:0)とのビットの変化数を算出する。また、ビット変化数算出部4121dは、2転送目の上位の入力データDIN(15:8)と、1転送目の上位のデータD1(15:8)とのビットの変化数を算出する。そして、ビット変化数算出部4121a〜4121dのそれぞれは、算出したビット変化数の値をビット変化数解析部4122に出力する。
【0081】
ここで、図4(b)を参照して、ビット変化数算出部4121によるビット変化数の算出方法について説明する。図4(b)の上段には、1転送目の下位のデータD1(7:0)、すなわち、図4(a)に示した1転送目の下位の入力データDIN(7:0)と、図4(a)に示した2転送目の下位の入力データDIN(7:0)との各ビットの値の比較を示している。また、図4(b)の下段には、1転送目の上位のデータD1(15:8)、すなわち、図4(a)に示した1転送目の上位の入力データDIN(15:8)と、図4(a)に示した2転送目の上位の入力データDIN(15:8)との各ビットの値の比較を示している。
【0082】
図4(b)の上段をみてわかるように、1転送目の下位の入力データDIN(7:0)の値(“0x5A”=“0101_1010”)と2転送目の下位の入力データDIN(7:0)の値(“0xFE”=“1111_1110”)とを比較すると、入力データDIN(7)、入力データDIN(5)、および入力データDIN(2)の3つのビットの値が異なる。すなわち、出力データDOUT(7:0)が、“0x5A”から“0xFE”に替わることによって3ビットの値が変化する。このとき、ビット変化数算出部4121は、ビット変化数の値として、“3”を出力する。
【0083】
また、図4(b)の下段をみてわかるように、1転送目の上位の入力データDIN(15:8)の値(“0xFF”=“1111_1111”)と2転送目の上位の入力データDIN(15:8)の値(“0x5A”=“0101_1010”)とを比較すると、入力データDIN(15)、入力データDIN(13)、入力データDIN(10)、および入力データDIN(8)の4つのビットの値が異なる。すなわち、出力データDOUT(15:8)が、“0xFF”から“0x5A”に替わることによって4ビットの値が変化する。このとき、ビット変化数算出部4121は、ビット変化数の値として、“4”を出力する。
【0084】
その後、ビット変化数解析部4122は、それぞれのビット変化数算出部4121から入力されたビット変化数の値に基づいて、2転送目の入力データDINに対する並べ替え処理を行うか否かを判断する。例えば、図4(c)に示したように、2転送目の入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)の値(“0x5A”)と、下位の8bitの入力データDIN(7:0)の値(“0xFE”)とを並べ替えた場合を考える。このとき、図4(b)に示した各ビットの値の比較の一例と同様に、ビット変化数を算出すると、それぞれのビット変化数が変わる。
【0085】
より具体的には、下位の出力データDOUT(7:0)は、“0x5A”から“0x5A”に替わるため、ビット変化数の値は“0”になる。また、上位の出力データDOUT(15:8)は、“0xFF”から“0xFE”に替わるため、ビット変化数の値は“1”になる。このことから、2転送目の入力データDIN(15:0)の上位の8bitと下位の8bitとを並べ替えた方が、2転送目の出力データDOUTのビット変化率が小さくなるということがわかる。このことから、ビット変化数解析部4122は、2転送目の入力データDINに対する並べ替え処理を行うという判断をする。そして、ビット変化数解析部4122は、並べ替え処理を行うという判断結果の情報である“1”を、2転送目の判断結果の情報として出力する。また、解析結果保持部4125は、ビット変化数解析部4122から出力された2転送目の判断結果の情報を保持する。
【0086】
なお、ビット変化数解析部4122による並べ替え処理を行うか否かの判断は、並べ替え単位毎ではなく、例えば、1転送目の出力データDOUTから2転送目の出力データDOUTに替わったときの出力データDOUTのビット変化率(ビット変化数)が最も少なくなるように、出力データDOUTの全体を考慮して判断される。
【0087】
より具体的には、例えば、1転送目の入力データDIN(“0xFF5A”)が入力され、続いて、2転送目の入力データDIN(“0x115A”)が入力された場合を考える。このとき、並べ替え処理を行わない場合には、下位の出力データDOUT(7:0)は、“0xFF”から“0x11”に替わるため、ビット変化数の値は“6”になり、上位の出力データDOUT(15:8)は、“0x5A”から“0x5A”に替わるため、ビット変化数の値は“0”になる。すなわち、出力データDOUTの全体でのビット変化数の値は“6”である。一方、並べ替え処理を行う場合には、下位の出力データDOUT(7:0)は、“0xFF”から“0x5A”に替わるため、ビット変化数の値は“4”になり、上位の出力データDOUT(15:8)は、“0x5A”から“0x11”に替わるため、ビット変化数の値は“4”になる。このように、並べ替え処理を行うことによって、下位の出力データDOUT(7:0)のビット変化数の値が小さくなるが、上位の出力データDOUT(15:8)のビット変化数の値が大きくなってしまい、出力データDOUTの全体でのビット変化数の値は“8”になってしまう。
【0088】
このことから、ビット変化数解析部4122は、2転送目の入力データDINに対する並べ替え処理を行わないという判断をする。そして、ビット変化数解析部4122は、並べ替え処理を行わないという判断結果の情報である“0”を、2転送目の判断結果の情報として出力する。
【0089】
その後、並べ替え制御部4123は、ビット変化数解析部4122から入力された2転送目の判断結果の情報(“1”)に基づいて、2転送目の入力データDINの並べ替え処理を行い、2転送目のデータD0(15:0)として出力する。そして、データ保持部4124は、並べ替え制御部4123から出力された2転送目のデータD0を保持し、保持した2転送目のデータD0を、2転送目のデータD1として出力する。また、データ結合部4126は、並べ替え制御部4123から入力された2転送目のデータD0を、2転送目の出力データDOUT(15:0)として出力する。なお、データ結合部4126は、2転送目の出力データDOUTに対する判断結果の情報の付加(ビット結合)は行わない。
【0090】
続いて、同様に、パックデータ配置変更部412は、パックデータ生成部411から入力された3転送目の入力データDIN(“0xFC5B”)に応じた3転送目の出力データDOUTの生成と出力を行う。なお、3転送目の出力データDOUTの生成の処理においては、2転送目のデータD1、すなわち、2転送目の出力データDOUTと3転送目の入力データDINとに基づいて、3転送目の出力データDOUTの生成が行われる。また、データ結合部4126は、3転送目の出力データDOUTに対する判断結果の情報の付加(ビット結合)は行わない。
【0091】
続いて、パックデータ配置変更部412に、パックデータ生成部411から4転送目の入力データDIN(“0x**FB”:なお、「*」は未使用ビットを表す)が入力されると、4転送目の入力データDINに応じた4転送目の出力データDOUTの生成を開始する。なお、4転送目の入力データDINの未使用ビットには、今回のバースト転送における並べ替え処理の判断結果の情報の付加(ビット結合)が行われる。そのため、パックデータ配置変更部412は、4転送目の出力データDOUTの生成において、未使用ビットが含まれる並べ替え単位に対する並べ替え処理を行わない。これにより、並べ替え処理の判断結果の情報を付加する出力データDOUT内のビットの位置を、固定の位置にすることができる。
【0092】
より詳細には、図4(a)に示した入力データDINでは、4転送目の上位の入力データDIN(15:8)が全て未使用ビットである。また、上位の入力データDIN(15:8)と並べ替え処理を行う並べ替え単位は、下位の入力データDIN(7:0)である。このため、4転送目の上位の入力データDIN(15:8)のビットの位置を、並べ替え処理の判断結果の情報を付加するビットの位置として固定する。従って、図4に示した一例においては、4転送目の入力データDINに対する並べ替え制御部4123による並べ替え処理を行わない。
【0093】
4転送目の出力データDOUTの生成において、ビット変化数算出部4121は、4転送目のビット変化数の値として“0”を出力し、ビット変化数解析部4122は、4転送目の判断結果の情報として“0”を出力する。そして、並べ替え制御部4123は、4転送目の入力データDINをそのまま、4転送目のデータD0(15:0)として出力する。これにより、並べ替え処理の判断結果の情報を付加するビットの位置が、4転送目のデータD0(15:8)に固定される。
【0094】
このように、パックデータ生成部411から入力されたパッキング単位(4転送)分、すなわち、1バースト分の入力データDIN(15:0)の並べ替え処理が順次行われる。図4(d)には、並べ替え処理前後の4転送分のデータD0を示している。図4(d)の左側は、並べ替え処理を行わず、図4(a)に示した4転送分の入力データDINがそのまま出力された場合のデータD0を示し、図4(d)の右側は、並べ替え処理を行った後のデータD0を示している。
【0095】
図4(a)に示したような4転送分の入力データDINでは、図4(d)の右側に示したように、1転送目のデータD0から2転送目のデータD0に替わるときには並べ替え処理を行い、2転送目のデータD0から3転送目のデータD0に替わるときには並べ替え処理を行わない。また、上記に述べたように、3転送目のデータD0から4転送目のデータD0に替わるときには、並べ替え処理を行わない。
【0096】
データ結合部4126は、並べ替え制御部4123から入力された4転送目のデータD0を、4転送目の出力データDOUT(15:0)として出力するときに、解析結果保持部4125に保持しているそれぞれの転送における判断結果の情報を、4転送目の出力データDOUT(15:0)の未使用ビットに順次付加(ビット結合)する。
【0097】
より具体的には、図4(e)に示したように、データ結合部4126は、解析結果保持部4125に保持している2転送目の出力データDOUTに対する判断結果の情報(“1”)を、4転送目のデータD0のビット(8)の未使用ビットに、3転送目の出力データDOUTに対する判断結果の情報(“0”)を、4転送目のデータD0のビット(9)の未使用ビットに、それぞれビット結合する。そして、判断結果の情報がビット結合された4転送目のデータD0を、最終的に出力する4転送目の出力データDOUTとして出力する。
【0098】
このようにして、パックデータ配置変更部412が入力データDIN内の各ビットの値に応じて、並べ替え単位にデータの配置を並べ替えた出力データDOUTを生成する。これにより、バースト転送時の各転送間で、出力データDOUT(パックデータ)のビット毎の変化率を少なくすることができる。このことにより、データ変換部41では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。
【0099】
なお、図3に示したパックデータ配置変更部412では、16bitの入力データDINを、上位8bitと下位8bitとの並べ替え単位に区切って、入力データDIN内のデータの配置を並べ替えた16bitの出力データDOUTを出力する場合について説明した。そして、並べ替え処理の判断結果の情報を付加するビットの位置を、バースト転送における最終のパックデータである4転送目の出力データDOUT(15:8)に固定し、4転送目の入力データDINに対する並べ替え処理を行わなかった。
【0100】
しかし、未使用ビットが含まれる並べ替え単位と、それに対応した並べ替え単位以外では、バースト転送における最終のパックデータであっても、未使用ビットが含まれる並べ替え単位に係る並べ替え単位以外の並べ替え単位同士で、並べ替え処理を行うことができる。例えば、入力データDINのビット数が多い場合(例えば、パックデータが32bitである場合)や、並べ替え単位のビット数が少なく(例えば、並べ替え単位のビット数が4bit)、未使用ビットが含まれる並べ替え単位と、それに対応した並べ替え単位以外で並べ替え処理を行える場合(例えば、パックデータ(3:0)とパックデータ(7:4)とで並べ替え単位のビット数ができる場合)には、並べ替え処理を行える並べ替え単位同士で並べ替え処理を行い、並べ替え処理の判断結果の情報を付加することができる。なお、この未使用ビットが含まれる並べ替え単位に係る並べ替え単位以外の並べ替え単位同士の並べ替え処理に関しては、上記に述べた並べ替え処理と同様であるため、詳細な説明は省略する。
【0101】
次に、データ逆変換部52に備えたパックデータ配置変更部521について、さらに詳細に説明する。図5は、本実施形態の撮像装置1に備えたデータ逆変換部52内のパックデータ配置変更部521の概略構成を示したブロック図である。図5に示したように、パックデータ配置変更部521は、データ出力制御部5211と、4つのシフトレジスタ5212a〜5212d(以下、シフトレジスタ5212a〜5212dのいずれか1つを表すときには「シフトレジスタ5212」という)と、解析結果保持部5213と、並べ替え部5214と、を備えている。
【0102】
上記に述べたように、パックデータ配置変更部521は、入力DMA部56から入力された32bitのパックデータ内のデータの配置を変更し(元に戻し)、データ変換部41内のパックデータ生成部411が生成した転送パックデータと同等の32bitのパックデータ(転送パックデータ)を生成する。そして、生成した転送パックデータを、パックデータ復元部522に出力する。しかし、以下の説明においては、説明を容易にするため、パックデータ配置変更部521に、入力DMA部56から16bitのパックデータが入力され、パックデータ内のデータの配置を並べ替えた16bitの転送パックデータを出力する場合について説明する。従って、32bitのパックデータと16bitのパックデータとを区別するため、以下の説明においては、16bitのパックデータを入力データDIN(15:0)と表す。また、32bitの転送パックデータと16bitの転送パックデータとを区別するため、以下の説明においては、16bitの転送パックデータを出力データDOUT(15:0)と表す。また、以下の説明において、入力されたデータまたは出力するデータのビットを特定しない、すなわち、入力または出力データの全てのビット範囲を表す場合には、データのビットの範囲を表す“():括弧”内の数字を省略する。
【0103】
また、以下の説明においては、データ変換部41によって図4(e)に示したようにパッキングされた、4転送をパッキング単位とした1バースト(4転送)分の入力データDINが、1転送目、2転送目、3転送目、4転送目というように順次入力され、図4(a)に示したような4転送分の出力データDOUTを出力する場合ついて説明する。
【0104】
パックデータ配置変更部521には、データ変換部41内のパックデータ配置変更部412における並べ替え単位と同じビット数の並べ替え単位が、予め設定されている。また、パックデータ配置変更部521には、入力された入力データDINに含まれる並べ替え情報(並べ替え処理の判断結果の情報)が、何転送目のどのビットに付加(ビット結合)されているか、すなわち、並べ替え処理の判断結果の情報を表すビットの位置が、予め設定されている。そして、パックデータ配置変更部521は、入力された入力データDINに含まれる並べ替え処理の判断結果の情報に基づいて、入力データDIN内のデータの配置を並べ替え単位毎に元の配置に戻した転送パックデータを生成する。
【0105】
より具体的には、図5に示したパックデータ配置変更部521には、並べ替え単位が8bitであることが、予め設定されている。また、パックデータ配置変更部521には、4転送目の入力データDINのビット(8)に2転送目の入力データDINに対する判断結果の情報が付加され、4転送目の入力データDINのビット(9)に3転送目の入力データDINに対する判断結果の情報が付加されていることが、予め設定されている。パックデータ配置変更部521は、16bitの入力データDIN(15:0)を、上位8bit(入力データDIN(15:8))と下位8bit(入力データDIN(7:0))との並べ替え単位に区切って、入力データDIN内のデータの配置を元の配置に並べ替えた(戻した)出力データDOUT(15:0)を、入力データDIN(15:0)に対応した16bitの出力データDOUT(15:0)として出力する。
【0106】
シフトレジスタ5212a〜5212dは、パックデータ配置変更部521に入力された入力データDINを順次保持するレジスタである。シフトレジスタ5212a〜5212dのそれぞれは、入力データDINが入力される毎に、次の段のシフトレジスタ5212に保持しているデータをシフトすると共に、入力されたデータを保持する。また、最終段のシフトレジスタ5212dにシフトされたデータは、並べ替え部5214に出力される。
【0107】
より具体的には、例えば、1転送目の入力データDINは、まず、シフトレジスタ5212aに入力されて保持される。そして、シフトレジスタ5212aに保持された1転送目の入力データDINは、2転送目以降の入力データDINがシフトレジスタ5212aに入力される毎に、シフトレジスタ5212a→シフトレジスタ5212b→シフトレジスタ5212c→シフトレジスタ5212dというように、順次後段のシフトレジスタ5212にシフトされる。そして、1転送目の入力データDINがシフトレジスタ5212dにシフトされた後、並べ替え部5214に出力される。このように、シフトレジスタ5212は、パックデータ配置変更部521に入力された入力データDINを順次シフトしながら、1バースト(4転送)分の全ての入力データDINを保持する。
【0108】
また、それぞれのシフトレジスタ5212に保持された入力データDINは、データ出力制御部5211から入力されるシフト命令に応じてさらにシフトされ、順次並べ替え部5214に出力される。
【0109】
なお、上述のように、シフトレジスタ5212は、1バーストの全ての入力データDINを保持する。すなわち、シフトレジスタ5212は、パッキング単位の全ての入力データDINを保持する。このことからもわかるように、パックデータ配置変更部521内には、パッキング単位に応じた数のシフトレジスタ5212を備えることになる。
【0110】
解析結果保持部5213は、パックデータ配置変更部521に入力された入力データDINに含まれる並べ替え処理の判断結果の情報、例えば、並べ替え処理を行わないことを表す判断結果の情報である“0”の情報、または上位の8bitと下位の8bitとを並べ替える並べ替え処理を行うことを表す判断結果の情報である“1”の情報を保持する。この解析結果保持部5213によって保持された判断結果の情報は、今回入力されたそれぞれの入力データDINに対して並べ替え処理を行うか否かを表す情報として用いられる。解析結果保持部5213に保持した判断結果の情報は、データ出力制御部5211から入力される出力命令に応じて、並べ替え部5214に出力される。
【0111】
なお、判断結果の情報は、入力データDIN(15:0)に対して1つの判断結果の情報が付与されている。従って、図2(b)に示した本実施形態の撮像装置1に備えたデータ逆変換部52では、32bitのパックデータが入力されるため、1つのパックデータに対して、16bit毎に2つの判断結果の情報が付与されていることになる。このことから、解析結果保持部5213には、2つ分の判断結果の情報を保持することができる保持容量を備えることになる。
【0112】
データ出力制御部5211は、シフトレジスタ5212に保持された入力データDINのシフトと、解析結果保持部5213に保持されて判断結果の情報の出力とを制御する。データ出力制御部5211は、パックデータ配置変更部521に入力された1バースト(4転送)分の全ての入力データDINが、シフトレジスタ5212のそれぞれに保持された後、シフトレジスタ5212に保持された入力データDINをシフトするためのシフト命令を、それぞれのシフトレジスタ5212に出力する。これにより、それぞれのシフトレジスタ5212に保持されている入力データDINが順次シフトされ、並べ替え部5214に順次出力される。図5に示したパックデータ配置変更部521においては、1バースト(4転送)分の全ての入力データDINがシフトレジスタ5212のそれぞれに保持された後、それぞれのシフトレジスタ5212に保持された全ての入力データDINを、順次並べ替え部5214に出力するために、4回のシフト命令を、それぞれのシフトレジスタ5212に出力する。
【0113】
また、データ出力制御部5211は、シフトレジスタ5212に保持されている入力データDINのシフトに合わせて、対応する判断結果の情報を並べ替え部5214に出力するための出力命令を、解析結果保持部5213に出力する。図5に示したパックデータ配置変更部521においては、2転送目と3転送目との入力データDINが並べ替え部5214に入力されるタイミングで、出力命令を解析結果保持部5213に出力する。これにより、並べ替え部5214に入力される入力データDINに対応した判断結果の情報(入力データDINに対して並べ替え処理を行うか否かを表す情報)が、並べ替え部5214に出力される。
【0114】
並べ替え部5214は、解析結果保持部5213から入力された判断結果の情報に基づいて、シフトレジスタ5212dから入力された入力データDINの並べ替え処理を行う。そして、並べ替え処理をした後の出力データDOUT(15:0)を、パックデータ配置変更部521からの出力として出力する。より具体的には、解析結果保持部5213から入力された判断結果の情報が“0”である、すなわち、入力データDINの並べ替え処理を行わない場合には、シフトレジスタ5212dから入力された入力データDIN(15:0)をそのまま、出力データDOUT(15:0)として出力する。
【0115】
また、解析結果保持部5213から入力された判断結果の情報が“1”である、すなわち、入力データDINの並べ替え処理を行う場合には、入力された入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)と、下位の8bitの入力データDIN(7:0)とを並べ替えたデータ(入力データDIN(7:0),入力データDIN(15:8))を、出力データDOUT(15:0)として出力する。
【0116】
なお、並べ替え部5214は、解析結果保持部5213から判断結果の情報が入力されない場合には、入力データDINの並べ替え処理を行わず、シフトレジスタ5212dから入力された入力データDIN(15:0)をそのまま、出力データDOUT(15:0)として出力する。例えば、並べ替え部5214は、図4(e)に示したようにパッキングされた入力データDINの1転送目と4転送目とに対しては、並べ替え処理を行わない。従って、並べ替え部5214に、1転送目と4転送目との入力データDINがシフトレジスタ5212dから入力されたときには、対応した判断結果の情報が解析結果保持部5213から入力されない。このため、並べ替え部5214は、シフトレジスタ5212dから入力された入力データDINに対して並べ替え処理を行わずに、そのまま出力データDOUTとして出力する。
【0117】
次に、画素データの配置(パッキング)方法について説明する。本実施形態の撮像装置1では、データ変換部41および51が入力された画素データをメモリバスに配置したパックデータを生成し、データ逆変換部52および62が入力されたパックデータを元の画素データに戻す。なお、以下の説明においては、データ変換部41に、図14に示したベイヤーデータ内の各画素データが順次入力され、4転送を1つのパッキング単位とした1バーストのパックデータにパッキングする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとする。なお、図14に示したベイヤーデータでは、各画素データの数字がCCD30内の画素の位置を表しており、数字の前の「R」,「G」,「B」がCCD30内の画素の色を表している。より具体的には、「R」がCCD30の赤色の画素の画素データ、「G」がCCD30の緑色の画素の画素データ、「B」がCCD30の青色の画素の画素データを表している。
【0118】
なお、データ逆変換部52および62によるパックデータを元の画素データに戻す方法は、データ変換部41および51による画素データのパッキング方法と逆の方法であるため、詳細な説明は省略する。
【0119】
また、以下の説明においては、データ変換部41内のパックデータ配置変更部412の並べ替え単位として8bit(1byte)が設定され、パックデータ配置変更部412は、入力された32bitの転送パックデータ(31:0)内のデータの配置を、1byteの並べ替え単位毎に並べ替えたパックデータ(31:0)を出力する場合について説明する。
【0120】
なお、32bit(4byte)の転送パックデータを1byte毎に並べ替える場合の組み合わせは、24通り存在する。パックデータ配置変更部412は、この24通りの組み合わせから、メモリバス上に出力するパックデータのビット変化率(ビット変化数)が最も少ない転送パックデータ内の画素データの配置を判断して並べ替え処理を行ったパックデータを出力することが可能である。しかし、転送パックデータ内の画素データの配置を並べ替えた24通りの並べ替え情報(並べ替え処理の判断結果の情報)を表すためのビット数は、5bitである。この5bitの判断結果の情報は、それぞれのパックデータに対応しているため、全てのパックデータ分の判断結果の情報は、「5bit×パックデータの数」のビット数になってしまう。この全てのパックデータ分の判断結果の情報をパックデータ内の未使用ビットに付加すると、パックデータ内の判断結果の情報に使用されるビットの割合が多くなり、バースト転送の効率が低下してしまうことになる。また、転送パックデータ内の画素データの配置の判断に係る回路規模も増大してしまう。このため、全ての画素データの配置の組み合わせを、判断結果の情報としてパックデータ内の未使用ビットに付加するのは、必ずしも有効な手段とならない場合がある。
【0121】
このため、パックデータ配置変更部412では、例えば、図6に示したような、予め定められた組み合わせの範囲内で、パックデータのビット変化率(ビット変化数)が最も少ない転送パックデータ内の画素データの配置を判断する。図6は、本実施形態の撮像装置1に備えたデータ変換部41内のパックデータ配置変更部412における並べ替え情報の組み合わせの一例を説明する図である。図6に示したように、パックデータ配置変更部412では、4つの並べ替えケース(並べ替えケース1〜4)が予め定められ、それぞれの並べ替えケース毎に、転送パックデータ内の画素データの並べ替え単位での配置が定められている。そして、それぞれの並べ替えケースに対応した並べ替え情報の値が決められている。なお、図6に示した表中の「単位」に続く数字は、説明を容易にするために付与した、並べ替え単位を識別する情報である。この数字は、入力された転送パックデータの並べ替え処理を行わない場合(並べ替えケース1)において、下位の並べ替え単位(1byte)から順に付与された数字であり、並べ替え処理によって画素データの配置がどの並べ替え単位の位置に並べ替えられたかを、識別するための情報である。
【0122】
なお、並べ替え情報に使用されるビット数を少なくすることは、転送パックデータに含まれる未使用ビットのビット数が少ない場合においても、必要な並べ替え情報を付加することができるため、有効な方法である。
【0123】
<データ配置方法>
図7は、本実施形態の撮像装置1に備えたデータ変換部41によって配置されたパックデータの一例を示した図である。図7(a)には、従来のバースト単位でのデータ配置方法(パッキング方法)で生成された、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータを示している。また、図7(b)には、本データ配置方法(パッキング方法)で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置を示している。
【0124】
本パッキング方法では、パックデータ配置変更部412が、予め定められた並べ替え単位(1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替えたバックデータを生成する。
【0125】
まず、パックデータ生成部411が、ベイヤーデータ内の各画素データ(「R0」,「G1」,「R2」,「G3」,「R4」,「G5」,「R6」,「G7」,「R8」,「G9」,「R10」)をパッキングした転送パックデータを生成する。より具体的には、パックデータ生成部411は、図7(a)に示したように、1転送目に「R0」、「G1」、および「R2」のビット(0)〜ビット(9)、2転送目に「R2」のビット(10)、「G3」、「R4」、および「G5」のビット(0)〜ビット(8)、3転送目に「G5」のビット(9)〜ビット(10)、「R6」、「G7」、および「R8」のビット(0)〜ビット(7)、4転送目に「R8」のビット(8)〜ビット(10)、「G9」、および「R10」を、それぞれメモリバスの最下位ビットから順次配置(パッキング)する。
【0126】
なお、パックデータ生成部411は、パッキング単位内に画素データの全てのビットを配置することができない場合には、次の画素データ(例えば、ベイヤーデータ内の画素データ「G11」)をパッキングしない。これは、データ変換部41は、パッキング単位で各画素データをパッキングするため、「G11」の画素データの一部をパッキングすると、「G11」のデータがパッキング単位を跨いでしまうことになるためである。従って、パックデータ生成部411は、画素データが配置されなかったパッキング単位内の転送パックデータのビット(図7においては、4転送目の転送パックデータのビット(25)〜ビット(31))を、未使用ビットにする。そして、この未使用ビットに、パックデータ配置変更部412が、各転送パックデータ内の画素データの配置を並べ替えた並べ替え情報を付加(ビット結合)できるようにする。
【0127】
続いて、パックデータ配置変更部412が、前回出力したパックデータの各ビットの値と今回入力された転送パックデータの各ビットの値とを比較して、並べ替え単位におけるビット変化率をそれぞれ算出する。そして、パックデータ配置変更部412は、算出したビット変化率に基づいて、図6に示した予め定められた並べ替えケースにおいて、前回出力したパックデータに対して今回出力するパックデータのビット毎の変化率が最も少なくなる並べ替えケースを選択する。そして、選択した並べ替えケースの配置となるように、今回出力するパックデータ内の画素データの配置を並べ替え単位毎に並べ替えたパックデータを生成する。
【0128】
図7(b)に示したパックデータ内のデータの配置では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース2が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース3が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替え処理を行わない並べ替えケース1が選択される。
【0129】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(図7においては、4転送目のパックデータのビット(25)〜ビット(31))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(25)およびビット(26)に並べ替えケース2に対応した並べ替え情報(“01”)を、4転送目のパックデータのビット(27)およびビット(28)に並べ替えケース3に対応した並べ替え情報(“10”)を、4転送目のパックデータのビット(29)およびビット(30)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。
【0130】
このようにして、本パッキング方法では、バースト転送における1サイクル分のメモリアクセス(1転送)毎に、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成することによって、バースト転送時における各転送間でのメモリバスの各ビットの変化量を少なくすることができる。これにより、本パッキング方法では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。
【0131】
また、転送パックデータ内の画素データを並べ替え単位毎に並べ替える組み合わせの数を、予め定められた組み合わせの数にすることによって、並べ替え情報のビット数を少なくすることができる。これにより、パックデータ内の並べ替え情報に使用されるビットの割合を少なくして、バースト転送の効率の低下を抑えると共に、並べ替えケースの選択に係る回路規模が安易に増大してしまうことを抑えることができる。
【0132】
なお、本パッキング方法では、転送パックデータ内の画素データを並べ替える組み合わせの数を、予め定められた組み合わせの数にすることによって、並べ替え情報に使用されるビット数を少なくする場合について説明したが、他の方法でも並べ替え情報に使用されるビット数を少なくすることができる。例えば、並べ替え単位のビット数を、例えば、16bit:2byteのように多くすることによって、並べ替え情報のビット数を少なくすることができる。なお、並べ替え単位のビット数を変えた場合のデータ配置方法は、図4に示したパックデータの生成方法の並べ替え単位のビット数が変わるのみであるため、詳細な説明は省略する。
【0133】
次に、本実施形態の撮像装置1に備えたデータ変換部におけるパックデータの出力順番の変更方法(出力順変更方法)について説明する。本実施形態の撮像装置1では、例えば、データ変換部41が入力された画素データをメモリバスに配置したパックデータを生成し、データ逆変換部52が入力されたパックデータを元の画素データに戻す。従って、データ変換部41が出力するパックデータの順番が異なる場合でも、データ逆変換部52が入力されたパックデータの順番を元に戻すことによって、本実施形態の撮像装置1における一連の処理は問題なく実行することができる。なお、以下の説明においては、データ変換部41に、図14に示したベイヤーデータ内の各画素データが順次入力され、4転送を1つのパッキング単位とした1バーストのパックデータにパッキングする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとする。
【0134】
なお、データ逆変換部52によるパックデータの順番を元の順番に戻す方法は、データ変換部41によるパックデータの出力順変更方法と逆の方法であるため、詳細な説明は省略する。
【0135】
<データ出力順変更方法>
図8は、本実施形態の撮像装置1に備えたデータ変換部41によってデータ出力順が変更されたパックデータの一例を示した図である。図8(a)には、従来のバースト単位でのデータ配置方法(パッキング方法)で生成された、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータを示している。また、図8(b)には、本データ出力順変更方法でパックデータを出力する順番が入れ替えられ、さらに上述したパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置を示している。
【0136】
パックデータ配置変更部412が、上述したパッキング方法によって転送パックデータ内の画素データの配置を変更する際に、事前に1バースト内の転送パックデータ(図8においては、4つのパックデータ)の順番を入れ替えることによって、バースト転送時における各転送間(連続する2転送間)のメモリバスの各ビットの変化量を少なくすることができる場合がある。
【0137】
本データ出力順変更方法では、パックデータ配置変更部412内に、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitの転送パックデータを一時的に保持するメモリ部を備え、転送パックデータ内の画素データの配置を変更する際に、並べ替え処理を行う転送パックデータの順番を入れ替える。パックデータ配置変更部412は、最初に出力するパックデータに対応した転送パックデータを、今回のバースト転送における基準の転送パックデータとして、上述したパッキング方法によって以降に出力するパックデータに対応した転送パックデータ内の画素データの配置を変更する。なお、パックデータ配置変更部412がパックデータを出力する順番は、予め設定される。パックデータ配置変更部412は、予め設定されたパックデータの出力順番に基づいて、転送パックデータに対する並べ替え処理を行い、並べ替え処理をした後のパックデータを順次出力する。
【0138】
なお、データ逆変換部52内のパックデータ配置変更部521にも、パックデータ配置変更部412に設定されたパックデータの出力順番と同様の順番が、パックデータの入力順番として予め設定される。これにより、パックデータ配置変更部521は、並べ替え情報が付加されているパックデータを認識することができる。パックデータ配置変更部521は、予め設定されたパックデータの入力順番に基づいて、上述したパッキング方法と逆の方法で、入力されたパックデータから元の転送パックデータを生成する。
【0139】
ここで、図8を用いて、本データ出力順変更方法によってパックデータを出力する順番を入れ替える場合の一例を説明する。なお、以下の説明においては、パックデータの出力順番を、パックデータ配置変更部412に転送パックデータが入力された順番と逆の順番にする場合、すなわち、1転送目〜4転送目までの転送パックデータを、4転送目→3転送目→2転送目→1転送目の順番で出力する場合について説明する。従って、パックデータ配置変更部412には、4転送目→3転送目→2転送目→1転送目の順番を表すパックデータの出力順番が予め設定されている。
【0140】
まず、パックデータ配置変更部412は、パックデータ生成部411から入力された、1バースト(4転送)分の全ての転送パックデータを、内部に備えたメモリ部に保持する。 図8に示した一例では、図8(a)に示した1転送目〜4転送目までの転送パックデータが、パックデータ配置変更部412内のメモリ部にそれぞれ保持される。そして、保持された各転送パックデータを、予め設定されたパックデータの出力順番で順次出力する。これは、例えば、図3に示したパックデータ配置変更部412では、パックデータ配置変更部412内のメモリ部に保持している転送パックデータが、入力データDINとして順次入力される動作であると考えると、容易に想定することができる。
【0141】
続いて、パックデータ配置変更部412は、最初に出力する4転送目の転送パックデータを、今回のバースト転送における基準の転送パックデータとする。この基準とした転送パックデータには、並べ替え処理を行わないため、そのまま1転送目のパックデータとして出力される。ただし、この1転送目のパックデータには、未使用ビット(図8においては、1転送目のパックデータのビット(25)〜ビット(31))が存在する。このため、全ての並べ替えケースの選択が終了した後に、データ結合部4126によって、対応する並べ替え情報の値をビット結合する必要がある。従って、この1転送目のパックデータは、パックデータ配置変更部412内に備えたメモリ部に保持される。
【0142】
なお、4転送目の転送パックデータを保持するメモリ部と、1転送目のパックデータを保持するメモリ部とは、同じメモリ部であっても、異なるメモリ部であってもよい。同じメモリ部である場合には、例えば、4転送目の転送パックデータを出力した後に、1転送目のパックデータを再度保持する構成にすることによって実現することができる。また、異なるメモリ部である場合には、例えば、1転送目のパックデータを保持するメモリ部を、データ結合部4126内に備える構成にすることもできる。
【0143】
続いて、パックデータ配置変更部412は、1転送目のパックデータの各ビットの値と次に出力する転送パックデータ(図8(a)に示した3転送目の転送パックデータ)の各ビットの値とを比較して、並べ替え単位におけるビット変化率をそれぞれ算出する。そして、パックデータ配置変更部412は、算出したビット変化率に基づいて、図6に示した予め定められた並べ替えケースにおいて、1転送目のパックデータに対して次に出力するパックデータのビット毎の変化率が最も少なくなる並べ替えケースを選択する。そして、選択した並べ替えケースの配置となるように、次に出力する3転送目の転送パックデータ内の画素データの配置を並べ替え単位毎に並べ替えたパックデータ(図8(b)に示した2転送目のパックデータ)を生成する。
【0144】
以降、同様に、図8(b)に示した3転送目のパックデータおよび4転送目のパックデータに対応した並べ替えケースを選択する。図8(b)に示したパックデータ内のデータの配置では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース2が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース3が選択され、3転送目のパックデータから4転送目のパックデータに替わるときに並べ替えケース3が選択された場合を示している。そして、同様に、選択した並べ替えケースの配置となるように、並べ替え処理を行った3転送目のパックデータおよび4転送目のパックデータを、それぞれ生成する。ここで生成した2転送目〜4転送目までのそれぞれのパックデータは、1転送目のパックデータと同様に、パックデータを保持するメモリ部にそれぞれ保持される。これは、並べ替え情報を含むパックデータが1転送目のパックデータであるため、1転送目のパックデータが出力された後に、以降のパックデータの出力を行うためである。従って、並べ替え情報を含むパックデータが、例えば、3転送目である場合には、1転送目および2転送目のパックデータは、並べ替え処理をした後に順次出力してもよい。なお、パックデータを保持するメモリ部の構成は、1転送目のパックデータを保持するメモリ部と同様の構成で、それぞれのパックデータに対応して備えられている。
【0145】
続いて、パックデータ配置変更部412は、全ての並べ替えケースの選択が終了した後、パックデータを保持するメモリ部に保持している1転送目のパックデータの未使用ビットに、2転送目〜4転送目のパックデータに対応する並べ替え情報の値をビット結合し、並べ替え情報が付加された1転送目のパックデータを出力する。より具体的には、図8(b)に示したように、1転送目のパックデータのビット(25)およびビット(26)に並べ替えケース2に対応した並べ替え情報(“01”)を、ビット(27)およびビット(28)に並べ替えケース3に対応した並べ替え情報(“10”)を、ビット(29)およびビット(30)に並べ替えケース4に対応した並べ替え情報(“11”)を、それぞれビット結合して出力する。
【0146】
続いて、パックデータ配置変更部412は、予め設定されたパックデータの出力順番に基づいて、パックデータを保持するメモリ部に保持している2転送目のパックデータ以降のパックデータを順次出力する。これにより、データ変換部41から、予め設定されたパックデータの出力順番で、それぞれのパックデータが順次出力される。より具体的には、図8(b)に示したように、図8(a)に示した4転送目の転送パックデータに対応したパックデータが1転送目に、図8(a)に示した3転送目の転送パックデータに対応したパックデータが2転送目に、図8(a)に示した2転送目の転送パックデータに対応したパックデータが3転送目に、図8(a)に示した1転送目の転送パックデータに対応したパックデータが4転送目に、それぞれ出力順番が入れ替えられて出力される。
【0147】
このようにして、本データ出力順変更方法では、出力するパックデータの順番を入れ替えることによって、図8(b)に示した4転送目の転送パックデータにおいても、並べ替え処理を行うことができるようになる。すなわち、図7に示したパッキング方法では、4転送目のパックデータには、並べ替え情報が付加されるため、並べ替え情報を付加するビットの位置を固定する必要があるため、並べ替え処理を行うことができる転送パックデータは、2転送目と3転送目との転送パックデータのみであった。これに対して、本データ出力順変更方法では、出力するパックデータの順番を入れ替えることによって、並べ替え情報が付加されるパックデータを1転送目のパックデータとしたため、4転送目のパックデータも並べ替え処理が行われたパックデータとすることができる。これにより、本データ出力順変更方法では、上述した(図7に示した)パッキング方法よりも、画像データの転送に係る消費電力を、さらに低減させることができる。
【0148】
上記に述べたように、本実施形態の撮像装置1に備えたデータ変換部41および51では、パックデータ配置変更部412が、予め定められた並べ替え単位(例えば、1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を変更することができる。このことにより、本実施形態の撮像装置1に備えたデータ変換部41および51では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。これにより、撮像装置1内の各構成要素(処理ブロック)とメモリ20との間での画素データの転送、すなわち、撮像装置1内の各構成要素間での画素データの受け渡しに係る消費電力を低減させることができる。
【0149】
また、本実施形態の撮像装置1に備えたデータ変換部41および51では、予め定められた並べ替えの組み合わせに基づいて、転送パックデータ内の画素データを並べ替え単位毎に並べ替えることができため、並べ替えケースの選択に係る回路規模の増大を、最小限に抑えることができる。
【0150】
また、本実施形態の撮像装置1に備えたデータ変換部41および51では、予め定められたパックデータの出力順番に基づいて、転送パックデータ内の画素データを並べ替えたパックデータの出力順番を変えることができる。これにより、転送パックデータ内の画素データを並べ替え単位毎に並べ替えたことによる効果を、十分に得ることができる。
【0151】
なお、上記に述べたことからわかるように、並べ替え情報が付加されるパックデータは、並べ替え情報を付加するビットの位置が固定されていることが必要である。言い換えれば、並べ替え情報をビット結合するパックデータ内のビットの位置が固定されていれば、並べ替え情報が付加されているビットを含む並べ替え単位以外の並べ替え単位同士であれば、並べ替え情報が付加されるパックデータ内であっても並べ替え処理を行うことができる。例えば、図7(b)に示したパックデータ内のデータの配置では、並べ替え情報が付加されているビットが含まれる並べ替え単位(ビット(24)〜ビット(31)の1byteの並べ替え単位)が、4転送目のみ固定されていればよい。そのため、例えば、図6に示した予め定められた並べ替えケースと同様に、4転送目のみに対応して、図6に示した並べ替えケース1の単位0〜単位2で並べ替えを行う並べ替えケースを予め定めておき、4転送目の並べ替えケースの選択においては、4転送目のみに対応した並べ替えケースから、パックデータのビット毎の変化率が最も少なくなる並べ替えケースを選択するようにすることもできる。これにより、4転送目のパックデータにおいても、並べ替え処理を行うことができ、画像データの転送に係る消費電力を、さらに低減させることができる。
【0152】
上記に述べた実施形態においては、ベイヤーデータに本実施形態のパッキング方法およびデータ出力順変更方法を適用したデータ処理装置およびデータ処理方法について説明したが、本実施形態のパッキング方法およびデータ出力順変更方法は、ベイヤーデータへの適用に限定されるものではなく、RGBデータ、YC422点順次やYC444点順次フォーマットのYCbCrデータ、またはOSDデータなど、様々な画像データに適用することができる。また、本実施形態のパッキング方法およびデータ出力順変更方法は、画像データへの適用に限定されるものではなく、音声データなど、他の形式のデータに適用することもできる。
【0153】
<適用例>
次に、本実施形態のパッキング方法を、他の形式の画像データや、画像データ以外のデータに適用した場合の一例について説明する。なお、本実施形態のパッキング方法では、図6に示した並べ替えケースから転送パックデータ内の画素データの並べ替え単位で並べ替えるときの配置を選択する場合について説明する。なお、本実施形態のデータ出力順変更方法を、他の形式の画像データや、画像データ以外のデータに適用する場合については、上述したデータ出力順変更方法と同様に考えることができるため、詳細な説明は省略する。
【0154】
まず、本実施形態のパッキング方法をRGBデータに適用した場合の一例について説明する。図9は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、別の画像データ(RGBデータ)に適用した場合の一例を示した図である。なお、図9では、10bitのRGBデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図9(a)参照)と、本実施形態のパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置の一例(図9(b)参照)とを、それぞれ示している。
【0155】
図9(a)に示したように、パックデータ生成部411は、RGBデータ(10bit×3色=30bit)を単純に配置した転送パックデータを生成する。そして、パックデータ配置変更部412は、図9(b)に示したように、本実施形態のパッキング方法によって、予め定められた並べ替え単位(例えば、1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成する。
【0156】
図9の例では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース4が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース2が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替えケース1が選択される。
【0157】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(ビット(24)〜ビット(31))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(24)およびビット(25)に並べ替えケース4に対応した並べ替え情報(“11”)を、4転送目のパックデータのビット(26)およびビット(27)に並べ替えケース2に対応した並べ替え情報(“01”)を、4転送目のパックデータのビット(28)およびビット(29)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。これにより、4つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【0158】
図10は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、さらに別の画像データ(YCbCrデータ)に適用した場合の一例を示した図である。なお、図10では、図10(a)に示したような、10bitのY、8bitのCbおよびCrデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図10(b)参照)と、本実施形態のパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置の一例(図10(c)参照)とを、それぞれ示している。
【0159】
図10(b)に示したように、パックデータ生成部411は、YCbCrデータを単純に配置した転送パックデータを生成する。そして、パックデータ配置変更部412は、図10(c)に示したように、本実施形態のパッキング方法によって、予め定められた並べ替え単位(例えば、1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成する。
【0160】
図10の例では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース3が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース4が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替えケース1が選択される。
【0161】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(ビット(22)〜ビット(31))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(22)およびビット(23)に並べ替えケース3に対応した並べ替え情報(“10”)を、4転送目のパックデータのビット(24)およびビット(25)に並べ替えケース4に対応した並べ替え情報(“11”)を、4転送目のパックデータのビット(26)およびビット(27)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。これにより、4つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【0162】
図11は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、さらに別の画像データ(OSDデータ)に適用した場合の一例を示した図である。なお、図11では、6bitのOSDデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図11(a)参照)と、本実施形態のパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置の一例(図11(b)参照)とを、それぞれ示している。
【0163】
図11(a)に示したように、パックデータ生成部411は、OSDデータを単純に配置した転送パックデータを生成する。そして、パックデータ配置変更部412は、図11(b)に示したように、本実施形態のパッキング方法によって、予め定められた並べ替え単位(例えば、1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成する。
【0164】
図11の例では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース3が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース2が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替えケース1が選択される。
【0165】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(ビット(24)〜ビット(31))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(24)およびビット(25)に並べ替えケース3に対応した並べ替え情報(“10”)を、4転送目のパックデータのビット(26)およびビット(27)に並べ替えケース2に対応した並べ替え情報(“01”)を、4転送目のパックデータのビット(28)およびビット(29)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。これにより、4つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【0166】
図12は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、別のデータ(音声データ)に適用した場合の一例を示した図である。なお、図12では、それぞれ24bitのR(右)データおよびL(左)データを64bitのメモリバスに適用した場合を示している。そして、図12(a)には、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例を示し、図12(b)には、本実施形態のパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置の一例を示している。なお、図12においては、転送パックデータ内の音声データを並べ替える並べ替え単位を、2byte(16bit)とし、図6に示した並べ替えケースにおける並べ替え単位を、2byteの単位に読み換えて、並べ替えケースを選択している場合を示している。
【0167】
図12(a)に示したように、パックデータ生成部411は、音声データを単純に配置した転送パックデータを生成する。そして、パックデータ配置変更部412は、図12(b)に示したように、本実施形態のパッキング方法によって、予め定められた並べ替え単位(2byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成する。
【0168】
図12の例では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース4が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース3が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替えケース1が選択される。
【0169】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(ビット(48)〜ビット(63))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(48)およびビット(49)に並べ替えケース4に対応した並べ替え情報(“11”)を、4転送目のパックデータのビット(50)およびビット(51)に並べ替えケース3に対応した並べ替え情報(“10”)を、4転送目のパックデータのビット(52)およびビット(53)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。これにより、4つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【0170】
上記に述べたとおり、本発明を実施するための形態によれば、予め定められた並べ替え単位毎に、転送パックデータ内のデータをビット毎に比較し、並べ替え単位毎に、転送パックデータ内のデータの配置を変更する。また、転送パックデータ内のデータの配置を変更した情報を、パックデータの未使用ビットに付加して出力する。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量を少なくすることができると共に、転送パックデータを容易に復元することができる。しかも、データの転送効率は、従来と同等のデータ転送効率を維持することができる。これにより、像装置内の各構成要素(処理ブロック)とメモリとの間でのデータの受け渡しに係る消費電力の低減効果を十分に得ることができる。
【0171】
また、本発明を実施するための形態によれば、パッキング単位内のパックデータの順番を入れ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量を、さらに少なくすることができる。
【0172】
また、本発明を実施するための形態によれば、転送パックデータ内のデータの配置を変更するときのデータの配置の組み合わせの数を、予め定められた組み合わせの数に定めておく。これにより、転送パックデータ内のデータの配置の組み合わせが多くなることによって、並べ替え情報に使用するビット数が増加し、パックデータ内の並べ替え情報に使用されるビットの割合が大きくなるのを抑えることができる。また、転送パックデータ内のデータの配置の組み合わせが多くなることによって、並べ替えケースの選択に係る回路の規模が増大してしまうことを抑えることができる。このことにより、データの転送効率の低下を抑えることができる。
【0173】
なお、本実施形態においては、4転送を1回のバースト転送の単位とし、1バーストをデータのパッキング単位とした場合について説明したが、1回のバースト転送における転送の回数や、データのパッキングの単位は、本発明を実施するための形態に限定されるものではない。例えば、64転送を1回のバースト転送の単位とし、1バースト内の16転送をデータのパッキングの単位とする、すなわち、1バースト内に4つのパッキング単位が含まれる構成にすることもできる。また、例えば、16転送をデータのパッキングの単位とし、8転送を1回のバースト転送の単位とする、すなわち、パッキング単位が2回のバースト転送に跨っている構成にすることもできる。
【0174】
また、本実施形態においては、撮像装置内の構成要素間でデータの受け渡しを行う場合のパッキング方法を、いくつかのデータに適用した場合について説明したが、本実施形態のパッキング方法を適用することができる範囲は、本発明を実施するための形態に限定されるものではなく、各構成要素間でデータの受け渡しを行うシステムであれば、どのようなシステムにも適用することができる。
【0175】
また、本実施形態においては、例えば、データ変換部を出力DMA部の前段の処理ブロックとして配置し、データ逆変換部を入力DMA部の後段の処理ブロックとして配置した場合の一例について説明したが、データ変換部およびデータ逆変換部の配置は、本発明を実施するための形態に限定されるものではない。例えば、データ変換部を出力DMA部内の構成要素とすることや、データ逆変換部を入力DMA部内の構成要素とすることもできる。また、例えば、データ変換部を前段の撮像処理部内の構成要素とすることや、データ逆変換部を後段の画像処理部内の構成要素とすることもできる。
【0176】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【0177】
1・・・撮像装置(データ処理装置)
10・・・CPU(データ処理装置)
20・・・メモリ(データ処理装置)
30・・・CCD
40・・・撮像処理部
50・・・画像処理部
60・・・表示処理部
70・・・表示デバイス
41,51・・・データ変換部(データ処理装置)
411・・・パックデータ生成部(データ生成部)
412・・・パックデータ配置変更部(第1のデータ配置変更部)
4121,4121a,4121b,4121c,4121d・・・ビット変化数算出部
4122・・・ビット変化数解析部
4123・・・並べ替え制御部(第1のデータ並べ替え部)
4124・・・データ保持部(第1のデータ配置変更部)
4125・・・解析結果保持部(第1のデータ配置変更部)
4126・・・データ結合部
52,62・・・データ逆変換部(データ処理装置)
521・・・パックデータ配置変更部(第2のデータ配置変更部)
5211・・・データ出力制御部(第2のデータ配置変更部)
5212,5212a,5212b,5212c,5212d・・・シフトレジスタ(データ記憶部)
5213・・・解析結果保持部(並べ替え情報保持部)
5214・・・並べ替え部(第2のデータ並べ替え部)
522・・・パックデータ復元部(データ復元部)
45,55・・・出力DMA部
56,66・・・入力DMA部
【技術分野】
【0001】
本発明は、データ処理装置およびデータ処理方法に関する。
【背景技術】
【0002】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの撮像装置では、撮像装置の画素数や速度の向上に伴って、膨大な画素のデータ(以下、「画素データ」という)が含まれる画像データを処理している。このような撮像装置においては、撮像装置内の各処理ブロックが撮影によって得られた画像データを処理する際に、データを一時的に記憶するメモリが利用されている。メモリには、各処理段階の画像データが一時記憶される。
【0003】
図13は、従来の撮像装置の概略構成を示したブロック図である。例えば、図13に示した撮像装置における撮影動作では、以下のような手順で画像データの処理が行われている。
(手順1):まず、撮像処理部が、例えば、CCD(Charge Coupled Device:電荷結合素子)型の固体撮像素子によって得られた画像データを、出力DMA(Direct Memory Access)部を介してメモリに転送して一時記憶する。
(手順2):続いて、画像処理部が、メモリに一時記憶している画像データを、入力DMA部を介して読み出す。そして、画像処理部は、読み出した画像データに対して記録用の画像処理や、表示用の画像処理を行う。その後、画像処理した後の画像データを、出力DMA部を介してメモリに転送して一時記憶する。
(手順3):続いて、表示処理部が、表示用の画像処理がされた画像データを、入力DMA部を介して読み出し、表示デバイスに表示させる。
【0004】
このように、撮像装置では、前段の処理ブロックが、画像データをメモリに一時記憶する。そして、後段の処理ブロックが、メモリに記録されている画像データを読み出して、次の処理を行う。このように、撮像装置内の各処理ブロックが、メモリを介して処理対象の画像データの受け渡しを行うことによって、撮像装置の全体の処理を順次行っている。
【0005】
近年、静止画用カメラ、動画用カメラなどの撮像装置においては、長い時間連続して使用できることが望まれており、撮像装置内の電気回路の消費電力を低減させる技術が必要とされている。撮像装置の消費電力を低減させるための1つの方法として、各処理ブロック(電気回路)とメモリとの間での画像データの転送速度を高速にする方法が挙げられる。画像データの転送速度の高速化は、例えば、撮像装置が動作するクロックの周波数を高くしたり、各処理ブロックとメモリ間の画像データの転送期間を短縮させたりすることによって実現することができる。これらの方法は、画像データの転送速度を高速にすることによって、画像データの転送に係る消費電力を低減させるものである。
【0006】
処理ブロックとメモリ間の画像データの転送期間を短縮させるための技術として、特許文献1に開示されているようなパッキングという技術が知られている。特許文献1で開示されたパッキング技術は、画像データ内の各画素データをメモリに転送する際に使用されるデータバスのバス幅を拡張し、隣接する複数の画素データをデータバスに配置(パッキング)することによって、複数の画素データを一度に転送するという技術である。この技術によって、全ての画素データを転送するために要するデータ転送の回数を、画素データを1画素毎に転送する以前のデータ転送に比べて少なくすることができ、画像データのデータ転送に係る期間を短縮することができる。例えば、図14に示したような、16行×16列のベイヤー配列のCCDから得られた画素データをメモリに転送する場合、特許文献1で開示されたパッキング技術では、4画素分の画素データを一度に転送する単位とすることによって、画像データの転送期間を1/4に短縮することができる。これにより、画素データを1画素ずつメモリに転送する場合に比べて、撮像装置内の電気回路の消費電力を低減させることができる。
【0007】
また、さらに画像データの転送期間を短縮する技術として、DMAのバースト転送を利用したパッキング方法が考えられる。これは、予め定められた一定のサイクル数でメモリにアクセスする単位である1バーストを、画素データをパッキングする単位として考える方法である。図15に画素データのパッキングの一例を示す。図15(a)は、特許文献1で開示されたパッキング方法で図14に示した画素データをパッキングした場合の一例を示し、図15(b)は、バーストの単位で図14に示した画素データをパッキングした場合の一例を示している。なお、図15では、画素データをメモリに転送する際に使用するデータバス(以下、「メモリバス」という)のバス幅(以下、「メモリバス幅」という)を32bitとし、バースト転送における1サイクル分のメモリアクセス(以下、「1転送」という)を4回、すなわち、4転送で1回のバースト転送を行う場合の例を示している。そして、図15(a)および図15(b)では、それぞれ上から順に、1画素の画素データの分解能、すなわち、画素データのビット数が、9bit、10bit、12bit、および14bitである場合の一例を示している。
【0008】
図15からわかるように、図15(a)に示した特許文献1で開示されたパッキング方法では、1転送あたり2画素分の画素データがメモリバスに配置され、1バーストあたり8画素分の画素データをメモリに転送することができる。これに対して図15(b)に示したバースト単位でのパッキング方法では、それぞれ、14画素分、12画素分、10画素分、および9画素分の画素データをメモリに転送することができる。これは、特許文献1で開示されたパッキング方法は、メモリバス幅、すなわち、1転送の単位で画素データを配置(パッキング)するため、配置する複数の画素データのビット数の合計がメモリバス幅を超えないようにする必要がある。このため、特許文献1で開示されたパッキング方法では、メモリバス幅内に画素データを割り当てることができないビット(以下、「未使用ビット」という)が多く存在してしまう。これに対し、バースト単位でのパッキング方法は、1バーストの単位で画素データを配置(パッキング)するため、図15(b)のように、配置する複数の画素データのビット数の合計がメモリバス幅を超えてしまう場合でも、1バーストを超えなければ次の転送に画素データを配置(パッキング)することができる。すなわち、バースト単位でのパッキング方法では、メモリバス幅が画素データの分解能の整数倍ではない場合においても、1転送の単位を跨いで画素データを配置(マッピング)することができるため、未使用ビットを少なくすることができるのである。このことにより、バースト単位でのパッキング方法は、特許文献1で開示されたパッキング方法よりも、同じ時間で多くの画素データをメモリに転送する、すなわち、画像データの転送期間を短縮することができ、撮像装置内の電気回路の消費電力を、さらに低減させることができる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−312358号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
一般的に、データの変化(データの“0”→“1”、もしくは“1”→“0”の変化(反転))が少ない方が、消費電力が少ないことが知られている。このため、撮像装置内の各処理ブロック(電気回路)とメモリとの間のメモリバス上のデータの変化を少なくすることによって、撮像装置の消費電力を低減させることも考えられる。図16は、撮像装置内の処理ブロックとメモリとの間のデータバス(メモリバス)上のデータの変化と消費電力との関係を説明する図である。図16(a)は、図13に示した撮像装置における撮像処理部とメモリとの間のメモリバスのバス幅が32bitである場合の一例を示している。そして、図16(b−1)〜(b−3)では、メモリバス上のデータの変化を模式的に示している。図16の一例においては、メモリバス上のデータの変化がない図16(b−1)の場合が、最も消費電力が少なく、メモリバス上のデータの変化が最も多い図16(b−3)の場合が、最も消費電力が多くなる。
【0011】
このことから、撮像装置内の各処理ブロックとメモリ間のバースト転送において、連続する2転送間の画素データ(例えば、図15に示した各バースト転送の1転送目と2転送目との画素データ)の変化が多いと、画像データの転送に係る消費電力も多くなってしまうことがわかる。すなわち、メモリバス上の同一ビットが2転送間で変化している個数(ビット数)に比例して、画像データの転送に係る消費電力が変化する。
【0012】
一般的に、画像データは、隣接する画素間でデータの変化量が小さく、隣接する画素のそれぞれの画素データの同一のビットで比較すると、値が反転しているビットの方が、値が反転していないビットよりも少ないことが予想される。ここで、図15に示した、特許文献1で開示されたパッキング方法と、バースト単位でのパッキング方法とを比較すると、図17に示したように、同一色の画素データで同一のビットが揃っている、特許文献1で開示されたパッキング方法の方が、画像データの転送に係る消費電力が少ないと考えられる。なお、図17は、図15に示した特許文献1で開示されたパッキング方法と、バースト単位でのパッキング方法とにおいて、1画素の画素データのビット数が9bitである場合を示している。
【0013】
より具体的には、図17(a)に示した特許文献1で開示されたパッキング方法では、範囲Aに示したメモリバスの最下位ビットは、全て同一色の画素データの同一ビット(最下位ビット)である。これに対して、図17(b)に示したバースト単位でのパッキング方法では、範囲Bに示したメモリバスの最下位ビットは、全て異なる色の画素データの異なるビットである。このことから、バースト単位で画像データをパッキングすることによって、メモリバス上に配置される画素データのビットの位置が、連続する2転送間で異なってしまうと、メモリバス上の同一ビットの変化量が多くなり、画像データの転送に係る消費電力を増加させてしまうことがわかる。
【0014】
すなわち、図17(a)に示した特許文献1で開示されたパッキング方法は、画像データの転送に係る消費電力が少ないが、データの転送効率が低い。また、図17(b)に示したバースト単位でのパッキング方法は、データの転送効率はよいが、画像データの転送に係る消費電力が多い。
【0015】
このように、バースト単位での画素データのパッキングでは、より多くの画素データをメモリバスに配置することによって、結果的に画素データの転送期間を短縮し、画像データの転送に係る消費電力を低減させることができるが、メモリバス上に配置される画素データのビットの位置が、連続する2転送間で異なっているため、画像データの転送に係る消費電力の低減効果を十分に得ることができていない、という問題がある。
【0016】
また、特許文献1で開示されたパッキング方法においては、例えば、図18に示したように、画素データをパッキングする1転送内に、3画素分の画素データを配置(パッキング)することができる。しかし、この場合には、例えば、範囲Cに示したメモリバスの最下位ビットが、画素データの同一ビット(最下位ビット)ではあるが、異なる色の画素データになってしまう。画素データは、色が異なるとその値が大きく異なる可能性が高く、特許文献1で開示されたパッキング方法でも、1転送内の画素データの配置によっては、画像データの転送に係る消費電力を低減できていないことになってしまう。
【0017】
本発明は、上記の課題認識に基づいてなされたものであり、データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるデータ処理装置およびデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【0018】
上記の課題を解決するため、本発明のデータ処理装置は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、を備え、前記データ変換部は、前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成部と、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とを、該データ変換部における前記転送データとして出力する第1のデータ配置変更部と、を具備し、前記第1のデータ配置変更部は、該第1のデータ配置変更部からn(nは1以上の自然数)回目に出力した前記変更データ内の各ビットの値と、該第1のデータ配置変更部にn+1回目に入力された前記第1の転送データ内の各ビットの値とを比較し、該比較した結果に基づいたビットの数をビット変化数として、前記単位ビット毎に出力するビット変化数算出部と、前記単位ビット毎のビット変化数に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えるか否かを判断し、該判断した判断結果を出力するビット変化数解析部と、前記判断結果に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えた並べ替えデータを生成する第1のデータ並べ替え部と、前記並べ替えデータの内、データが配置されていない未使用ビットを含む前記並べ替えデータの予め定められた前記未使用ビットの位置に、前記判断結果を表す情報を前記並べ替え情報として結合した結合データを生成し、前記並べ替えデータ、または生成した前記結合データのいずれか1つのデータを、該前記第1のデータ配置変更部における前記変更データとして出力するデータ結合部と、を具備する、ことを特徴とする。
【0019】
また、本発明の前記ビット変化数算出部は、n回目に出力した前記変更データを、前記単位ビットのビット数毎に第1の基準データと、第2の基準データとに分割し、n+1回目に入力された前記第1の転送データを、前記単位ビットのビット数毎に第1の比較対象データと、第2の比較対象データとに分割し、前記第1の基準データと前記第1の比較対象データとを比較した第1のビット変化数と、前記第1の基準データと前記第2の比較対象データとを比較した第2のビット変化数と、前記第2の基準データと前記第1の比較対象データとを比較した第3のビット変化数と、前記第2の基準データと前記第2の比較対象データとを比較した第4のビット変化数と、をそれぞれ出力する、ことを特徴とする。
【0020】
また、本発明の前記ビット変化数解析部は、前記ビット変化数算出部から入力された前記第1のビット変化数、前記第2のビット変化数、前記第3のビット変化数、および前記第4のビット変化数に基づいて、n回目に出力した前記変更データの各ビットの値が、n+1回目に入力された前記第1の転送データの各ビットの値に変わる際に、それぞれのビットの値が異なる値になるビットの数が最も少ない数になる、n+1回目に入力された前記第1の転送データにおける前記単位ビット毎のデータの配置を決定し、該決定したデータの配置に基づいて、該n+1回目に入力された前記第1の転送データ内のデータの配置を、前記単位ビットの単位で並べ替えるか否かを判断する、ことを特徴とする。
【0021】
また、本発明のデータ処理装置は、n+1回目に入力された前記第1の転送データ内のデータの配置を前記単位ビットの単位で並べ替える場合の、前記データバス上における前記単位ビットのそれぞれの配置位置の組み合わせが予め定められており、前記ビット変化数解析部は、前記ビット変化数算出部から入力された前記第1のビット変化数、前記第2のビット変化数、前記第3のビット変化数、および前記第4のビット変化数に基づいて、前記予め定められた配置位置の組み合わせの内、n回目に出力した前記変更データの各ビットの値が、n+1回目に入力された前記第1の転送データの各ビットの値に変わる際に、それぞれのビットの値が異なる値になるビットの数が最も少ない数になる、n+1回目に入力された前記第1の転送データにおける前記単位ビット毎のデータの配置位置の組み合わせを選択し、該選択した配置位置の組み合わせの情報を、該n+1回目に入力された前記第1の転送データ内のデータの配置を、前記単位ビットの単位で並べ替えるか否かを判断した判断結果として出力する、ことを特徴とする。
【0022】
また、本発明のデータ処理装置は、前記変換単位で前記転送データを出力する際に、前記転送データとして出力される前記変更データの出力順番が予め定められており、前記データ結合部は、予め定められた前記変更データの出力順番に基づいて、前記並べ替えデータ、または前記結合データのいずれか1つのデータを、前記変更データとして出力する、ことを特徴とする。
【0023】
また、本発明のデータ処理装置は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、を備え、前記データ逆変換部は、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、該入力された前記変更データ内に配置されたデータの配置を元の配置に戻すように、前記変更データ内に配置されたデータの配置を、前記単位ビット毎に元の前記入力データの配置位置に並べ替えて前記第1の転送データに戻す第2のデータ配置変更部と、前記入力データの配置が元の配置に戻された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元部と、を具備し、前記第2のデータ配置変更部は、前記変換単位毎に順次転送されてきたそれぞれの前記転送データを、該転送データが転送されてくる毎に順次記憶することによって、前記変換単位に含まれる全ての前記転送データを、前記変更データとして記憶するデータ記憶部と、前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている、前記転送データの転送元のデータ処理装置が前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えたときの並べ替え情報を保持する並べ替え情報保持部と、前記並べ替え情報保持部に保持された前記並べ替え情報に基づいて、前記データ記憶部に記憶されたそれぞれの前記変更データ内のデータを、前記単位ビットの単位で元の配置に並べ替えた前記第1の転送データを順次生成する第2のデータ並べ替え部と、を具備する、ことを特徴とする。
【0024】
また、本発明のデータ処理装置は、前記変更データ内のデータの配置を前記単位ビットの単位で元の配置に並べ替える場合の、前記データバス上における前記単位ビットのそれぞれの配置位置の組み合わせが予め定められており、前記第2のデータ並べ替え部は、前記並べ替え情報に含まれる前記配置位置の組み合わせの情報に基づいて、前記予め定められた配置位置の組み合わせから、今回処理する前記変更データに対応した配置位置の組み合わせを選択し、該選択した配置位置の組み合わせに基づいて、今回処理する前記変更データ内のデータを元の配置に並べ替えた前記第1の転送データを生成する、ことを特徴とする。
【0025】
また、本発明のデータ処理装置は、前記転送データの転送元のデータ処理装置が、前記変換単位で前記転送データを出力する際に、前記転送データとして出力される前記変更データの出力順番が予め定められており、前記第2のデータ並べ替え部は、前記予め定められた前記変更データの出力順番に基づいて、生成する前記第1の転送データの順番が、前記転送データの転送元のデータ処理装置において生成された前記第1の転送データの元の順番になるように、前記データ記憶部に記憶された前記変更データを順次選択し、該選択した前記変更データ内のデータを元の配置に並べ替えた前記第1の転送データを順次生成する、ことを特徴とする。
【0026】
また、本発明のデータ処理方法は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、を含み、前記データ変換ステップは、前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成ステップと、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とを、該データ変換ステップにおける前記転送データとして出力する第1のデータ配置変更ステップと、を含み、前記第1のデータ配置変更ステップは、該第1のデータ配置変更ステップによってn(nは1以上の自然数)回目に出力した前記変更データ内の各ビットの値と、該第1のデータ配置変更ステップにおいてn+1回目に入力された前記第1の転送データ内の各ビットの値とを比較し、該比較した結果に基づいたビットの数をビット変化数として、前記単位ビット毎に出力するビット変化数算出ステップと、前記単位ビット毎のビット変化数に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えるか否かを判断し、該判断した判断結果を出力するビット変化数解析ステップと、前記判断結果に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えた並べ替えデータを生成する第1のデータ並べ替えステップと、前記並べ替えデータの内、データが配置されていない未使用ビットを含む前記並べ替えデータの予め定められた前記未使用ビットの位置に、前記判断結果を表す情報を前記並べ替え情報として結合した結合データを生成し、前記並べ替えデータ、または生成した前記結合データのいずれか1つのデータを、該前記第1のデータ配置変更ステップにおける前記変更データとして出力するデータ結合ステップと、を含む、ことを特徴とする。
【0027】
また、本発明のデータ処理方法は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、を含み、前記データ逆変換ステップは、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、該入力された前記変更データ内に配置されたデータの配置を元の配置に戻すように、前記変更データ内に配置されたデータの配置を、前記単位ビット毎に元の前記入力データの配置位置に並べ替えて前記第1の転送データに戻す第2のデータ配置変更ステップと、前記入力データの配置が元の配置に戻された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元ステップと、を含み、前記第2のデータ配置変更ステップは、前記変換単位毎に順次転送されてきたそれぞれの前記転送データを、該転送データが転送されてくる毎に順次記憶することによって、前記変換単位に含まれる全ての前記転送データを、前記変更データとして記憶するデータ記憶ステップと、前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている、前記転送データの転送元のデータ処理装置が前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えたときの並べ替え情報を保持する並べ替え情報保持ステップと、前記並べ替え情報保持ステップによって保持された前記並べ替え情報に基づいて、前記データ記憶ステップによって記憶されたそれぞれの前記変更データ内のデータを、前記単位ビットの単位で元の配置に並べ替えた前記第1の転送データを順次生成する第2のデータ並べ替えステップと、を含む、ことを特徴とする。
【発明の効果】
【0028】
本発明によれば、データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるという効果が得られる。
【図面の簡単な説明】
【0029】
【図1】本発明の実施形態における撮像装置の概略構成を示したブロック図である。
【図2】本実施形態の撮像装置に備えたデータ変換部およびデータ逆変換部の概略構成を示したブロック図である。
【図3】本実施形態の撮像装置に備えたデータ変換部内のパックデータ配置変更部の概略構成を示したブロック図である。
【図4】本実施形態の撮像装置に備えたデータ変換部内のパックデータ配置変更部におけるパックデータの生成方法を説明する図である。
【図5】本実施形態の撮像装置に備えたデータ逆変換部内のパックデータ配置変更部の概略構成を示したブロック図である。
【図6】本実施形態の撮像装置に備えたデータ変換部内のパックデータ配置変更部における並べ替え情報の組み合わせの一例を説明する図である。
【図7】本実施形態の撮像装置に備えたデータ変換部によって配置されたパックデータの一例を示した図である。
【図8】本実施形態の撮像装置に備えたデータ変換部によってデータ出力順が変更されたパックデータの一例を示した図である。
【図9】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別の画像データに適用した場合の一例を示した図である。
【図10】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、さらに別の画像データに適用した場合の一例を示した図である。
【図11】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、さらに別の画像データに適用した場合の一例を示した図である。
【図12】本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別のデータに適用した場合の一例を示した図である。
【図13】従来の撮像装置の概略構成を示したブロック図である。
【図14】画像データの配列の一例を示した図である。
【図15】従来のデータパッキングの一例を示した図である。
【図16】データバス上のデータの変化と消費電力との関係を説明する図である。
【図17】従来のデータパッキング方法におけるデータ配置の状態の一例を示した図である。
【図18】従来のデータパッキング方法におけるデータ配置の状態の別の一例を示した図である。
【発明を実施するための形態】
【0030】
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態における撮像装置の概略構成を示したブロック図である。図1に示した撮像装置1は、CPU10と、メモリ20と、CCD30と、撮像処理部40と、画像処理部50と、表示処理部60と、表示デバイス70と、データ変換部41および51と、データ逆変換部52および62と、出力DMA部45および55と、入力DMA部56および66と、を備えている。なお、撮像装置1は、撮影した画像データを記録する機能も有しているが、説明を容易にするため、以下の説明においては、撮影した画像データを表示する場合について説明する。また、図1においては、撮像装置1内の各構成要素(処理ブロック)間での画素データの受け渡しに係るデータバスであるメモリバスの接続のみを示している。
【0031】
CPU10は、撮像装置1の全体の制御を行う制御装置である。
メモリ20は、撮像装置1内の各処理ブロックが処理する画素データを一時的に記憶する、例えば、DRAM(Dynamic Random Access Memory)などのメモリである。メモリ20には、撮像装置1内の各処理ブロックによる各処理段階の画素データが一時記憶される。
【0032】
CCD30は、入射した被写体光を画像信号に変換する、例えば、ベイヤー配列の固体撮像素子である。CCD30は、被写体の画素信号を撮像処理部40に出力する。
撮像処理部40は、CCD30から入力された画素信号に対して、予め定められた信号処理を行った画像データを生成する。
【0033】
画像処理部50は、撮像処理部40が生成した画像データに対して、撮像装置1における種々の画像処理を行った画像データを生成する。
表示処理部60は、画像処理部50によって画像処理された画像データを、表示デバイス70に応じた表示データに変換する。表示処理部60は、変換した表示データを表示デバイス70に出力する。
表示デバイス70は、表示データを表示する、例えば、液晶などの表示装置である。
【0034】
本実施形態の撮像装置1では、CCD30によって撮像された被写体の画素信号を、撮像処理部40、画像処理部50、表示処理部60が順次処理し、表示デバイス70に表示させる。このとき、各処理段階の画像データは、メモリ20を介して各処理ブロック間で受け渡される。撮像装置1内のデータ変換部41および51と、データ逆変換部52および62と、出力DMA部45および55と、入力DMA部56および66とは、各処理段階の画像データの受け渡しに係る処理ブロックである。
【0035】
データ変換部41および51は、前段の処理ブロック(図1に示した本実施形態においては、撮像処理部40または画像処理部50)から入力された画像データ内の各画素データを、予め定められた配置(パッキング)方法で、メモリバスの各ビットに配置する。データ変換部41および51の構成と、データ変換部41および51による画素データのパッキング方法に関する詳細な説明は、後述する。
【0036】
出力DMA部45および55は、データ変換部41または51によってメモリバスの各ビットにパッキングされた画素データからなる画像データを、DMAアクセスによってメモリ20に書き込む(記憶させる)。
入力DMA部56および66は、メモリ20に記憶されている画像データをDMAアクセスによって読み出し、読み出した画像データを、データ逆変換部52または62に出力する。
【0037】
データ逆変換部52および62は、入力DMA部56または66から入力された画像データに含まれる画素データを、予め定められた配置(パッキング)方法と逆の方法で元の画像データに戻し、後段の処理ブロック(図1に示した本実施形態においては、画像処理部50または表示処理部60)に出力する。データ逆変換部52および62の構成に関する詳細な説明は、後述する。
【0038】
ここで、図1に示した撮像装置1における画像データの処理について説明する。撮像装置1における撮影動作では、以下のような手順で画像データの処理が行われる。
(手順1):まず、撮像処理部40は、CCD30によって撮像された被写体の画素信号に対して、予め定められた信号処理を行った画像データ(例えば、CCD30の画素の配列に応じた画像データ)を生成する。そして、生成した画像データを、データ変換部41および出力DMA部45を介して、メモリ20に転送して一時記憶する。
(手順2):続いて、画像処理部50は、メモリ20に一時記憶している画像データを、入力DMA部56およびデータ逆変換部52を介して読み出す。そして、画像処理部50は、読み出した画像データに対して記録用の画像処理や、表示用の画像処理を行った画像データ(例えば、RGBデータや、YC422点順次フォーマットのYCbCrデータ)を生成する。その後、生成した画像データを、再びデータ変換部51および出力DMA部55を介してメモリ20に転送して一時記憶する。
(手順3):続いて、表示処理部60は、画像処理部50によって表示用の画像処理がされた画像データや、別途、メモリ20に記憶しているOSD(On−Screen Display)表示用の画像データを、入力DMA部66およびデータ逆変換部62を介して読み出し、表示デバイス70に表示させる。
【0039】
なお、撮像装置1が撮影した画像データを記録する場合には、画像データの記録処理を行う図示しない記録処理部が、画像処理部50によって記録用の画像処理がされた画像データを、図示しない入力DMA部およびデータ逆変換部を介して読み出し、読み出した記録用の画像データをメモリカードなどの図示しない画像データ記録部に記録する。また、撮像装置1に、例えば、音を入出力する機能を備えている場合には、音声処理を行う図示しない音声処理部が、撮影時の音声データを、図示しないデータ変換部および出力DMA部を介してメモリ20に記憶する。また、音声処理部が、メモリ20に記憶している音声データを、図示しない入力DMA部およびデータ逆変換部を介して読み出し、読み出した音声データに応じた音声を、スピーカーなどの図示しない音出力部に出力させる。
【0040】
次に、撮像装置1内のデータ変換部およびデータ逆変換部について説明する。なお、上記に述べたように、データ変換部41とデータ変換部51とは、接続される前段の処理ブロックと後段の処理ブロックが異なるのみである。より具体的には、図1に示したように、データ変換部41は、前段の撮像処理部40と後段の出力DMA部45との間に配置され、データ変換部51は、前段の撮画像処理部50と後段の出力DMA部55との間に配置されている。従って、データ変換部41とデータ変換部51とは、入力される画像データと出力する画像データとのデータ形式(フォーマット)が異なるのみである。以下の説明においては、代表してデータ変換部41について説明する。
【0041】
また、上記に述べたように、データ逆変換部52とデータ逆変換部62とは、接続される前段の処理ブロックと後段の処理ブロックが異なるのみである。より具体的には、図1に示したように、データ逆変換部52は、前段の入力DMA部56と後段の画像処理部50との間に配置され、データ逆変換部62は、前段の入力DMA部66と後段の表示処理部60との間に配置されている。従って、データ逆変換部52とデータ逆変換部62とは、入力される画像データと出力する画像データとのデータ形式(フォーマット)が異なるのみである。以下の説明においては、代表してデータ逆変換部52について説明する。
【0042】
図2は、本実施形態の撮像装置1に備えたデータ変換部41およびデータ逆変換部52の概略構成を示したブロック図である。図2(a)に示したように、データ変換部41は、パックデータ生成部411と、パックデータ配置変更部412と、を備えている。また、図2(b)に示したように、データ逆変換部52は、パックデータ配置変更部521と、パックデータ復元部522と、を備えている。
【0043】
まず、図2(a)に示したデータ変換部41について説明する。なお、以下の説明においては、データ変換部41に、図14に示したような、16行×16列のベイヤー配列の画像データ(以下、「ベイヤーデータ」という)が入力され、ベイヤーデータ内の各画素データをパッキングする単位を4転送とし、4転送を1回のバースト転送の単位とする、すなわち、1バーストを画素データのパッキング単位とする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバスのバス幅(メモリバス幅)は32bitであるものとして説明する。
【0044】
データ変換部41は、撮像処理部40から入力された11bitの画素データの各ビットのデータを、予め定められた後述するパッキング方法のいずれか1つの方法で、メモリバス上の各ビットに配置した32bitのパックデータを生成する。そして、データ変換部41は、例えば、出力DMA部45から入力される図示しないデータイネーブル信号に基づいて生成したパックデータを順次出力する。なお、データイネーブル信号は、出力DMA部45がバースト転送する際にパックデータを転送するタイミングを表す信号である。
【0045】
パックデータ生成部411は、入力された画素データの各ビットのデータを、メモリバスに対応したデータバス(このデータバスはメモリバスの各ビットに対応しているため、以下の説明においては、「メモリバス」として説明する)の各ビットに順次配置する。そして、画素データを順次配置したメモリバス幅のビット数(図2(a)においては、32bit)のパックデータ(以下、「転送パックデータ」という)をパックデータ配置変更部412に出力する。なお、パックデータ生成部411によるメモリバスへの画素データの配置方法は、従来のバースト単位でのパッキング方法と同様であるため、詳細な説明は省略する。
【0046】
パックデータ配置変更部412は、パックデータ生成部411から入力された32bitの転送パックデータ内のデータの配置を変更し、データ変換部41が最終的に出力する32bitのパックデータを生成する。
【0047】
より具体的には、パックデータ配置変更部412は、パックデータ生成部411から入力された転送パックデータのメモリバス幅を、予め定められたビット数(例えば、8bit:1byte)の単位(以下、「並べ替え単位」という)に区切る。そして、この並べ替え単位毎に、前回出力したパックデータの各ビットの値と今回入力された転送パックデータの各ビットの値とを比較し、並べ替え単位におけるビット毎の変化率(以下、「ビット変化率」という)をそれぞれ算出する。そして、パックデータ配置変更部412は、算出したビット変化率に基づいて、前回出力したパックデータに対してビット毎の変化率が少なくなるように、今回入力された転送パックデータ内のデータの配置を、並べ替え単位毎に並べ替えたパックデータを生成する。
【0048】
パックデータ配置変更部412は、生成したビット毎の変化率が少ないパックデータを、今回入力された転送パックデータに応じて今回出力する最終的なパックデータとして出力する。また、パックデータ配置変更部412は、転送パックデータ内のデータの配置を並べ替えた情報を、パッキング単位(4転送)内に存在する未使用ビットに付加して、パックデータと共に出力する。
【0049】
なお、パックデータ配置変更部412は、上記に述べたように、パックデータ生成部411から転送パックデータが入力される毎に、転送パックデータ内のデータの配置の並べ替えを順次行う構成とすることもできるが、パックデータ配置変更部412内に、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitの転送パックデータを一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、パックデータ生成部411から入力された転送パックデータをメモリ部に一旦保持し、保持したそれぞれの転送パックデータ内のデータの配置の並べ替えと、並べ替え情報の付加を行う。
【0050】
次に、図2(b)に示したデータ逆変換部52について説明する。なお、以下の説明においては、データ逆変換部52に、データ変換部41によってパッキングされた、4転送をパッキング単位とした1バーストのパックデータが、入力DMA部56を介して入力され、入力されたパックデータを、図14に示したベイヤーデータに戻す場合について説明する。従って、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとして説明する。
【0051】
データ逆変換部52は、入力DMA部56から入力された32bitのパックデータの各ビットに配置されたデータを、予め定められた後述するパッキング方法のいずれか1つの方法と逆の方法で、画像処理部50が画像処理する元の画像データ(ベイヤーデータ)に戻した11bitの画素データに復元する。そして、データ逆変換部52は、例えば、画像処理部50から入力される図示しないデータイネーブル信号に基づいて復元した元の画素データを順次出力する。なお、データイネーブル信号は、画像処理部50に出力するタイミングを表す信号である。
【0052】
パックデータ配置変更部521は、入力された32bitのパックデータ(このパックデータは、データ変換部41内のパックデータ配置変更部412が生成したパックデータと同等である)内のデータの配置を元に戻した32bitのパックデータ(このパックデータは、パックデータ生成部411が生成した転送パックデータに戻したデータと同等であるため、以下の説明においては、「転送パックデータ」として説明する)を生成する。そして、パックデータ配置変更部521は、生成した1バースト分のそれぞれの転送パックデータを、パックデータ復元部522に出力する。
【0053】
より具体的には、パックデータ配置変更部521は、パッキング単位(4転送)内に存在する未使用ビットに付加されている並べ替え情報に基づいて、パックデータ配置変更部412による転送パックデータ内のデータの配置の並べ替えと逆の方法で、それぞれの転送パックデータを生成する。なお、パックデータ配置変更部521には、パックデータ配置変更部412における並べ替え単位と同等のビット数が予め設定されている。そして、パックデータ配置変更部521は、パックデータ内のデータの配置を並べ替え単位毎に並べ替えた(元に戻した)転送パックデータを生成する。
【0054】
なお、パックデータ配置変更部521は、上記に述べたように、入力DMA部56からパックデータが入力される毎に、パックデータ配置変更部412による転送パックデータ内のデータの配置の並べ替えと逆の方法で、パックデータ内のデータの配置の並べ替えを順次行う構成とすることもできるが、パックデータ配置変更部521内に、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitのパックデータ(転送パックデータ)を一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、入力DMA部56から入力されたパックデータをメモリ部に一旦保持し、保持したそれぞれのパックデータ内のデータの配置の並べ替えを行う。
【0055】
パックデータ復元部522は、パックデータ配置変更部521から入力された転送パックデータの各ビットに配置された画素データを順次分割(アンパッキング)し、元の画素データ(図2(b)においては、11bitの画素データ)に復元する。そして、パックデータ復元部522は、複製した元の画素データを順次、画像処理部50に出力する。なお、パックデータ復元部522による転送パックデータの元の画素データへの復元方法は、従来のバースト単位でのパッキング方法における復元方法と同様であるため、詳細な説明は省略する。
【0056】
次に、データ変換部41に備えたパックデータ配置変更部412について、さらに詳細に説明する。図3は、本実施形態の撮像装置1に備えたデータ変換部41内のパックデータ配置変更部412の概略構成を示したブロック図である。図3に示したように、パックデータ配置変更部412は、4つのビット変化数算出部4121a〜4121d(以下、ビット変化数算出部4121a〜4121dのいずれか1つを表すときには「ビット変化数算出部4121」という)と、ビット変化数解析部4122と、並べ替え制御部4123と、データ保持部4124と、解析結果保持部4125と、データ結合部4126と、を備えている。
【0057】
上記に述べたように、パックデータ配置変更部412は、パックデータ生成部411から入力された32bitの転送パックデータ内のデータの配置を変更し、データ変換部41が最終的に出力する32bitのパックデータを生成する。しかし、以下の説明においては、説明を容易にするため、パックデータ配置変更部412に、パックデータ生成部411から16bitの転送パックデータが入力され、転送パックデータ内のデータの配置を並べ替えた16bitのパックデータを出力する場合について説明する。従って、32bitの転送パックデータと16bitの転送パックデータとを区別するため、以下の説明においては、16bitの転送パックデータを入力データDIN(15:0)と表す。また、32bitのパックデータと16bitのパックデータとを区別するため、以下の説明においては、16bitのパックデータを出力データDOUT(15:0)と表す。また、以下の説明において、入力されたデータまたは出力するデータのビットを特定しない、すなわち、入力または出力データの全てのビット範囲を表す場合には、データのビットの範囲を表す“():括弧”内の数字を省略する。
【0058】
また、以下の説明においては、16bitの入力データDIN(15:0)を、上位8bit(入力データDIN(15:8))と下位8bit(入力データDIN(7:0))との並べ替え単位に区切って、入力データDIN内のデータの配置を並べ替えた出力データDOUT(15:0)を、入力データDIN(15:0)に対応した16bitの出力データDOUT(15:0)として出力する場合について説明する。
【0059】
パックデータ配置変更部412は、入力された入力データDINをビット毎に比較して、ビット変化の少ない出力データDOUTを生成して出力する。より具体的には、パックデータ配置変更部412は、前回出力した出力データDOUTと今回入力された入力データDINとのビット変化率を、並べ替え単位で算出する。そして、パックデータ配置変更部412は、算出したそれぞれのビット変化率に基づいて、前回出力した出力データDOUTに対してビット毎の変化率が少なくなるように、今回入力された入力データDIN内のデータの配置を並べ替え単位で並び替えた出力データDOUTを生成する。そして、パックデータ配置変更部412は、生成したビット毎の変化率が少ない出力データDOUTを、今回出力する出力データDOUTとして出力する。
【0060】
また、パックデータ配置変更部412は、今回入力された入力データDIN内のデータを並べ替えたときの並べ替え情報を、パッキング単位内のいずれか1つの出力データDOUTの未使用ビットに付加して出力する。
【0061】
ビット変化数算出部4121a〜4121dは、それぞれ、入力された2つのデータの各ビットをそれぞれ比較してビットの変化数(以下、「ビット変化数」という)を算出し、算出したビット変化数の値をビット変化数解析部4122に出力する。例えば、一方のデータの値が“0xFF”で他方の値が“0x00”である場合には、ビット変化数の値が“8”と出力される。また、例えば、一方のデータの値が“0x00”で他方の値が“0x00”である場合には、ビット変化数の値が“0”と出力される。
【0062】
図3に示したパックデータ配置変更部412においては、ビット変化数算出部4121aの一方のデータとして入力データDIN(15:0)の下位の8bitの入力データDIN(7:0)が入力され、他方のデータとしてデータ保持部4124から出力されたデータD1(7:0)が入力されている。また、ビット変化数算出部4121bには、一方のデータとして入力データDIN(7:0)が入力され、他方のデータとしてデータ保持部4124から出力されたデータD1(15:8)が入力されている。また、ビット変化数算出部4121cには、一方のデータとして入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)が入力され、他方のデータとしてデータD1(7:0)が入力されている。また、ビット変化数算出部4121dには、一方のデータとして入力データDIN(15:8)が入力され、他方のデータとしてデータD1(15:8)が入力されている。そして、ビット変化数算出部4121a〜4121dのそれぞれは、一方のデータとして入力された入力データDINと、他方のデータとして入力されたデータD1との各ビットをそれぞれ比較してビットの変化数を算出する。
【0063】
ビット変化数解析部4122は、ビット変化数算出部4121a〜4121dのそれぞれから入力されたビット変化数の値に基づいて、入力データDIN内のデータの配置を並べ替える処理(以下「並べ替え処理」という)を行うか否かを判断し、その判断結果の情報を並べ替え制御部4123と解析結果保持部4125とに出力する。
【0064】
より具体的には、ビット変化数解析部4122は、ビット変化数算出部4121a〜4121dのそれぞれから入力されたビット変化数の値を解析し、ビット変化数の値が低いものを抽出する。そして、ビット変化数解析部4122は、抽出した低い値のビット変化数を出力したビット変化数算出部4121に入力されているデータに基づいて、入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)と、下位の8bitの入力データDIN(7:0)とを並べ替える並べ替え処理を行うか否かを判断する。
【0065】
なお、ビット変化数解析部4122による並べ替え処理を行うか否かの判断は、前回出力した出力データDOUTに対して今回出力する出力データDOUTのビット変化率(ビット変化数)が最も少なくなるように、出力データDOUTの全体を考慮して判断される。
【0066】
そして、ビット変化数解析部4122は、判断結果の情報を並べ替え制御部4123と解析結果保持部4125とに出力する。図3に示したパックデータ配置変更部412においては、入力データDINに対して1つの判断結果を出力するため、例えば、並べ替え処理を行わない場合には、判断結果の情報として“0”を出力し、並べ替え処理を行う場合には、判断結果の情報として“1”を出力する。
【0067】
なお、判断結果の情報の“0”は、入力データDINに対する並べ替え処理を行わずに、入力データDINをそのまま出力データDOUTとして出力することを意味している。また、判断結果の情報の“1”は、入力データDINに対して上位の8bitと下位の8bitとを並べ替える並べ替え処理を行ったデータを、出力データDOUTとして出力することを意味している。
【0068】
並べ替え制御部4123は、ビット変化数解析部4122から入力された並べ替え処理を行うか否かの判断結果の情報に基づいて、入力された入力データDINの並べ替え処理を行う。そして、並べ替え処理をした後のデータD0(15:0)を、データ保持部4124とデータ結合部4126とに出力する。より具体的には、ビット変化数解析部4122から入力された並べ替え処理を行うか否かの判断結果の情報が“0”である、すなわち、入力データDINの並べ替え処理を行わない場合には、入力された入力データDIN(15:0)をそのまま、データD0(15:0)として出力する。
【0069】
また、ビット変化数解析部4122から入力された並べ替え処理を行うか否かの判断結果の情報が“1”である、すなわち、入力データDINの並べ替え処理を行う場合には、入力された入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)と、下位の8bitの入力データDIN(7:0)とを並べ替えたデータ(入力データDIN(7:0),入力データDIN(15:8))を、データD0(15:0)として出力する。
【0070】
データ保持部4124は、並べ替え制御部4123から出力されたデータD0(15:0)を保持する。このデータ保持部4124によって保持されたD0は、前回出力した出力データDOUTとして、ビット変化数算出部4121によって、次に入力された入力データDINとのビット変化数の算出に用いられる。データ保持部4124は、保持したD0をビット変化数算出部4121の他方のデータD1として、ビット変化数算出部4121a〜4121dのそれぞれに出力する。これにより、ビット変化数算出部4121は、入力データDINの並べ替え処理をした後の出力データDOUTと、次に入力された入力データDINとのビット変化数の算出を行うことになる。
【0071】
解析結果保持部4125は、ビット変化数解析部4122から入力された並べ替え処理を行うか否かの判断結果の情報、すなわち、ビット変化数解析部4122が出力した“0”または“1”の情報を保持する。この解析結果保持部4125によって保持された判断結果の情報は、今回出力する出力データDOUTが入力データDINに対して並べ替え処理が行われたデータであるか否かを表す情報として用いられる。解析結果保持部4125は、保持した判断結果の情報を、データ結合部4126に出力する。
【0072】
なお、ビット変化数解析部4122は、入力データDIN(15:0)に対して1つの判断結果を出力する。従って、図2(a)に示した本実施形態の撮像装置1に備えたデータ変換部41では、パックデータ生成部411から32bitの転送パックデータが入力されるため、16bit毎に2つの判断結果を得ることになる。このことから、解析結果保持部4125には、2つ分の判断結果の情報を保持することができる保持容量を備えることになる。
【0073】
データ結合部4126は、並べ替え制御部4123から入力された並べ替え処理後のデータD0(15:0)を、順次出力する。このときデータ結合部4126は、解析結果保持部4125から入力された判断結果の情報を、パッキング単位内に存在する、すなわち、並べ替え制御部4123から入力されたデータD0の内、いずれかのデータD0に存在する未使用ビットに付加(ビット結合)して、データ変換部41が最終的に出力する出力データDOUTを生成する。データ結合部4126によって判断結果の情報をビット結合する方法に関する詳細な説明は、後述する。
【0074】
ここで、パックデータ配置変更部412によるデータの配置を並べ替えたパックデータの生成方法について説明する。図4は、本実施形態の撮像装置1に備えたデータ変換部41内のパックデータ配置変更部412におけるパックデータの生成方法を説明する図である。なお、以下の説明においては、図3に示したパックデータ配置変更部412の構成を参照し、入力データDIN内のデータの配置を並べ替えた出力データDOUTを生成するときの全体の流れに沿って説明する。なお、図3に示したパックデータ配置変更部412における並べ替え単位は、8bitである。
【0075】
パックデータ配置変更部412には、パックデータ生成部411から1バースト分、すなわち、パッキング単位(4転送)分の入力データDIN(15:0)が順次入力される。ここでは、図4(a)に示したような4転送分の入力データDINが、1転送目、2転送目、3転送目、4転送目というように、順次入力された場合を考える。図4(a)に示したように、パッキング単位(4転送)分の入力データDIN(15:0)の内、4転送目の入力データDINに、未使用ビットが存在している。以下の説明においては、パックデータ配置変更部412が、4転送目の出力データDOUTの未使用ビットに判断結果の情報を付加(ビット結合)するものとして説明する。
【0076】
まず、データ変換部41が動作を開始し、パックデータ生成部411から順次入力データDIN(15:0)が入力される。パックデータ配置変更部412に、パックデータ生成部411から1転送目の入力データDIN(“0xFF5A”)が入力されると、1転送目の入力データDINに応じた1転送目の出力データDOUTの生成を開始する。なお、1転送目の入力データDINは、今回のバースト転送における基準となる入力データDINである。そのため、パックデータ配置変更部412は、1転送目の出力データDOUTの生成において、1転送目の入力データDINに対する並べ替え制御部4123による並べ替え処理は行わない。
【0077】
1転送目の出力データDOUTの生成において、ビット変化数算出部4121は、1転送目のビット変化数の値として“0”を出力し、ビット変化数解析部4122は、1転送目の判断結果の情報として“0”を出力する。これにより、並べ替え制御部4123は、1転送目の入力データDINをそのまま、1転送目のデータD0(15:0)として出力する。そして、データ保持部4124は、並べ替え制御部4123から出力された1転送目のデータD0を保持し、保持した1転送目のデータD0を、1転送目のデータD1として出力する。また、データ結合部4126は、並べ替え制御部4123から入力された1転送目のデータD0を、1転送目の出力データDOUT(15:0)として出力する。
【0078】
なお、解析結果保持部4125は、ビット変化数解析部4122から出力された1転送目の判断結果の情報の保持を行わない。また、データ結合部4126は、1転送目の出力データDOUTに対する判断結果の情報の付加(ビット結合)も行わない。
【0079】
続いて、パックデータ配置変更部412に、パックデータ生成部411から2転送目の入力データDIN(“0x5AFE”)が入力されると、2転送目の入力データDINに応じた2転送目の出力データDOUTの生成を開始する。2転送目の出力データDOUTの生成において、ビット変化数算出部4121のそれぞれは、2転送目の入力データDINの各ビットと、データ保持部4124から入力された1転送目のデータD1、すなわち、1転送目の出力データDOUTの各ビットとをそれぞれ比較して、ビットの変化数を算出する。
【0080】
より具体的には、ビット変化数算出部4121aは、2転送目の下位の入力データDIN(7:0)と、1転送目の下位のデータD1(7:0)とのビットの変化数を算出する。また、ビット変化数算出部4121bは、2転送目の下位の入力データDIN(7:0)と、1転送目の上位のデータD1(15:8)とのビットの変化数を算出する。また、ビット変化数算出部4121cは、2転送目の上位の入力データDIN(15:8)と、1転送目の下位のデータD1(7:0)とのビットの変化数を算出する。また、ビット変化数算出部4121dは、2転送目の上位の入力データDIN(15:8)と、1転送目の上位のデータD1(15:8)とのビットの変化数を算出する。そして、ビット変化数算出部4121a〜4121dのそれぞれは、算出したビット変化数の値をビット変化数解析部4122に出力する。
【0081】
ここで、図4(b)を参照して、ビット変化数算出部4121によるビット変化数の算出方法について説明する。図4(b)の上段には、1転送目の下位のデータD1(7:0)、すなわち、図4(a)に示した1転送目の下位の入力データDIN(7:0)と、図4(a)に示した2転送目の下位の入力データDIN(7:0)との各ビットの値の比較を示している。また、図4(b)の下段には、1転送目の上位のデータD1(15:8)、すなわち、図4(a)に示した1転送目の上位の入力データDIN(15:8)と、図4(a)に示した2転送目の上位の入力データDIN(15:8)との各ビットの値の比較を示している。
【0082】
図4(b)の上段をみてわかるように、1転送目の下位の入力データDIN(7:0)の値(“0x5A”=“0101_1010”)と2転送目の下位の入力データDIN(7:0)の値(“0xFE”=“1111_1110”)とを比較すると、入力データDIN(7)、入力データDIN(5)、および入力データDIN(2)の3つのビットの値が異なる。すなわち、出力データDOUT(7:0)が、“0x5A”から“0xFE”に替わることによって3ビットの値が変化する。このとき、ビット変化数算出部4121は、ビット変化数の値として、“3”を出力する。
【0083】
また、図4(b)の下段をみてわかるように、1転送目の上位の入力データDIN(15:8)の値(“0xFF”=“1111_1111”)と2転送目の上位の入力データDIN(15:8)の値(“0x5A”=“0101_1010”)とを比較すると、入力データDIN(15)、入力データDIN(13)、入力データDIN(10)、および入力データDIN(8)の4つのビットの値が異なる。すなわち、出力データDOUT(15:8)が、“0xFF”から“0x5A”に替わることによって4ビットの値が変化する。このとき、ビット変化数算出部4121は、ビット変化数の値として、“4”を出力する。
【0084】
その後、ビット変化数解析部4122は、それぞれのビット変化数算出部4121から入力されたビット変化数の値に基づいて、2転送目の入力データDINに対する並べ替え処理を行うか否かを判断する。例えば、図4(c)に示したように、2転送目の入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)の値(“0x5A”)と、下位の8bitの入力データDIN(7:0)の値(“0xFE”)とを並べ替えた場合を考える。このとき、図4(b)に示した各ビットの値の比較の一例と同様に、ビット変化数を算出すると、それぞれのビット変化数が変わる。
【0085】
より具体的には、下位の出力データDOUT(7:0)は、“0x5A”から“0x5A”に替わるため、ビット変化数の値は“0”になる。また、上位の出力データDOUT(15:8)は、“0xFF”から“0xFE”に替わるため、ビット変化数の値は“1”になる。このことから、2転送目の入力データDIN(15:0)の上位の8bitと下位の8bitとを並べ替えた方が、2転送目の出力データDOUTのビット変化率が小さくなるということがわかる。このことから、ビット変化数解析部4122は、2転送目の入力データDINに対する並べ替え処理を行うという判断をする。そして、ビット変化数解析部4122は、並べ替え処理を行うという判断結果の情報である“1”を、2転送目の判断結果の情報として出力する。また、解析結果保持部4125は、ビット変化数解析部4122から出力された2転送目の判断結果の情報を保持する。
【0086】
なお、ビット変化数解析部4122による並べ替え処理を行うか否かの判断は、並べ替え単位毎ではなく、例えば、1転送目の出力データDOUTから2転送目の出力データDOUTに替わったときの出力データDOUTのビット変化率(ビット変化数)が最も少なくなるように、出力データDOUTの全体を考慮して判断される。
【0087】
より具体的には、例えば、1転送目の入力データDIN(“0xFF5A”)が入力され、続いて、2転送目の入力データDIN(“0x115A”)が入力された場合を考える。このとき、並べ替え処理を行わない場合には、下位の出力データDOUT(7:0)は、“0xFF”から“0x11”に替わるため、ビット変化数の値は“6”になり、上位の出力データDOUT(15:8)は、“0x5A”から“0x5A”に替わるため、ビット変化数の値は“0”になる。すなわち、出力データDOUTの全体でのビット変化数の値は“6”である。一方、並べ替え処理を行う場合には、下位の出力データDOUT(7:0)は、“0xFF”から“0x5A”に替わるため、ビット変化数の値は“4”になり、上位の出力データDOUT(15:8)は、“0x5A”から“0x11”に替わるため、ビット変化数の値は“4”になる。このように、並べ替え処理を行うことによって、下位の出力データDOUT(7:0)のビット変化数の値が小さくなるが、上位の出力データDOUT(15:8)のビット変化数の値が大きくなってしまい、出力データDOUTの全体でのビット変化数の値は“8”になってしまう。
【0088】
このことから、ビット変化数解析部4122は、2転送目の入力データDINに対する並べ替え処理を行わないという判断をする。そして、ビット変化数解析部4122は、並べ替え処理を行わないという判断結果の情報である“0”を、2転送目の判断結果の情報として出力する。
【0089】
その後、並べ替え制御部4123は、ビット変化数解析部4122から入力された2転送目の判断結果の情報(“1”)に基づいて、2転送目の入力データDINの並べ替え処理を行い、2転送目のデータD0(15:0)として出力する。そして、データ保持部4124は、並べ替え制御部4123から出力された2転送目のデータD0を保持し、保持した2転送目のデータD0を、2転送目のデータD1として出力する。また、データ結合部4126は、並べ替え制御部4123から入力された2転送目のデータD0を、2転送目の出力データDOUT(15:0)として出力する。なお、データ結合部4126は、2転送目の出力データDOUTに対する判断結果の情報の付加(ビット結合)は行わない。
【0090】
続いて、同様に、パックデータ配置変更部412は、パックデータ生成部411から入力された3転送目の入力データDIN(“0xFC5B”)に応じた3転送目の出力データDOUTの生成と出力を行う。なお、3転送目の出力データDOUTの生成の処理においては、2転送目のデータD1、すなわち、2転送目の出力データDOUTと3転送目の入力データDINとに基づいて、3転送目の出力データDOUTの生成が行われる。また、データ結合部4126は、3転送目の出力データDOUTに対する判断結果の情報の付加(ビット結合)は行わない。
【0091】
続いて、パックデータ配置変更部412に、パックデータ生成部411から4転送目の入力データDIN(“0x**FB”:なお、「*」は未使用ビットを表す)が入力されると、4転送目の入力データDINに応じた4転送目の出力データDOUTの生成を開始する。なお、4転送目の入力データDINの未使用ビットには、今回のバースト転送における並べ替え処理の判断結果の情報の付加(ビット結合)が行われる。そのため、パックデータ配置変更部412は、4転送目の出力データDOUTの生成において、未使用ビットが含まれる並べ替え単位に対する並べ替え処理を行わない。これにより、並べ替え処理の判断結果の情報を付加する出力データDOUT内のビットの位置を、固定の位置にすることができる。
【0092】
より詳細には、図4(a)に示した入力データDINでは、4転送目の上位の入力データDIN(15:8)が全て未使用ビットである。また、上位の入力データDIN(15:8)と並べ替え処理を行う並べ替え単位は、下位の入力データDIN(7:0)である。このため、4転送目の上位の入力データDIN(15:8)のビットの位置を、並べ替え処理の判断結果の情報を付加するビットの位置として固定する。従って、図4に示した一例においては、4転送目の入力データDINに対する並べ替え制御部4123による並べ替え処理を行わない。
【0093】
4転送目の出力データDOUTの生成において、ビット変化数算出部4121は、4転送目のビット変化数の値として“0”を出力し、ビット変化数解析部4122は、4転送目の判断結果の情報として“0”を出力する。そして、並べ替え制御部4123は、4転送目の入力データDINをそのまま、4転送目のデータD0(15:0)として出力する。これにより、並べ替え処理の判断結果の情報を付加するビットの位置が、4転送目のデータD0(15:8)に固定される。
【0094】
このように、パックデータ生成部411から入力されたパッキング単位(4転送)分、すなわち、1バースト分の入力データDIN(15:0)の並べ替え処理が順次行われる。図4(d)には、並べ替え処理前後の4転送分のデータD0を示している。図4(d)の左側は、並べ替え処理を行わず、図4(a)に示した4転送分の入力データDINがそのまま出力された場合のデータD0を示し、図4(d)の右側は、並べ替え処理を行った後のデータD0を示している。
【0095】
図4(a)に示したような4転送分の入力データDINでは、図4(d)の右側に示したように、1転送目のデータD0から2転送目のデータD0に替わるときには並べ替え処理を行い、2転送目のデータD0から3転送目のデータD0に替わるときには並べ替え処理を行わない。また、上記に述べたように、3転送目のデータD0から4転送目のデータD0に替わるときには、並べ替え処理を行わない。
【0096】
データ結合部4126は、並べ替え制御部4123から入力された4転送目のデータD0を、4転送目の出力データDOUT(15:0)として出力するときに、解析結果保持部4125に保持しているそれぞれの転送における判断結果の情報を、4転送目の出力データDOUT(15:0)の未使用ビットに順次付加(ビット結合)する。
【0097】
より具体的には、図4(e)に示したように、データ結合部4126は、解析結果保持部4125に保持している2転送目の出力データDOUTに対する判断結果の情報(“1”)を、4転送目のデータD0のビット(8)の未使用ビットに、3転送目の出力データDOUTに対する判断結果の情報(“0”)を、4転送目のデータD0のビット(9)の未使用ビットに、それぞれビット結合する。そして、判断結果の情報がビット結合された4転送目のデータD0を、最終的に出力する4転送目の出力データDOUTとして出力する。
【0098】
このようにして、パックデータ配置変更部412が入力データDIN内の各ビットの値に応じて、並べ替え単位にデータの配置を並べ替えた出力データDOUTを生成する。これにより、バースト転送時の各転送間で、出力データDOUT(パックデータ)のビット毎の変化率を少なくすることができる。このことにより、データ変換部41では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。
【0099】
なお、図3に示したパックデータ配置変更部412では、16bitの入力データDINを、上位8bitと下位8bitとの並べ替え単位に区切って、入力データDIN内のデータの配置を並べ替えた16bitの出力データDOUTを出力する場合について説明した。そして、並べ替え処理の判断結果の情報を付加するビットの位置を、バースト転送における最終のパックデータである4転送目の出力データDOUT(15:8)に固定し、4転送目の入力データDINに対する並べ替え処理を行わなかった。
【0100】
しかし、未使用ビットが含まれる並べ替え単位と、それに対応した並べ替え単位以外では、バースト転送における最終のパックデータであっても、未使用ビットが含まれる並べ替え単位に係る並べ替え単位以外の並べ替え単位同士で、並べ替え処理を行うことができる。例えば、入力データDINのビット数が多い場合(例えば、パックデータが32bitである場合)や、並べ替え単位のビット数が少なく(例えば、並べ替え単位のビット数が4bit)、未使用ビットが含まれる並べ替え単位と、それに対応した並べ替え単位以外で並べ替え処理を行える場合(例えば、パックデータ(3:0)とパックデータ(7:4)とで並べ替え単位のビット数ができる場合)には、並べ替え処理を行える並べ替え単位同士で並べ替え処理を行い、並べ替え処理の判断結果の情報を付加することができる。なお、この未使用ビットが含まれる並べ替え単位に係る並べ替え単位以外の並べ替え単位同士の並べ替え処理に関しては、上記に述べた並べ替え処理と同様であるため、詳細な説明は省略する。
【0101】
次に、データ逆変換部52に備えたパックデータ配置変更部521について、さらに詳細に説明する。図5は、本実施形態の撮像装置1に備えたデータ逆変換部52内のパックデータ配置変更部521の概略構成を示したブロック図である。図5に示したように、パックデータ配置変更部521は、データ出力制御部5211と、4つのシフトレジスタ5212a〜5212d(以下、シフトレジスタ5212a〜5212dのいずれか1つを表すときには「シフトレジスタ5212」という)と、解析結果保持部5213と、並べ替え部5214と、を備えている。
【0102】
上記に述べたように、パックデータ配置変更部521は、入力DMA部56から入力された32bitのパックデータ内のデータの配置を変更し(元に戻し)、データ変換部41内のパックデータ生成部411が生成した転送パックデータと同等の32bitのパックデータ(転送パックデータ)を生成する。そして、生成した転送パックデータを、パックデータ復元部522に出力する。しかし、以下の説明においては、説明を容易にするため、パックデータ配置変更部521に、入力DMA部56から16bitのパックデータが入力され、パックデータ内のデータの配置を並べ替えた16bitの転送パックデータを出力する場合について説明する。従って、32bitのパックデータと16bitのパックデータとを区別するため、以下の説明においては、16bitのパックデータを入力データDIN(15:0)と表す。また、32bitの転送パックデータと16bitの転送パックデータとを区別するため、以下の説明においては、16bitの転送パックデータを出力データDOUT(15:0)と表す。また、以下の説明において、入力されたデータまたは出力するデータのビットを特定しない、すなわち、入力または出力データの全てのビット範囲を表す場合には、データのビットの範囲を表す“():括弧”内の数字を省略する。
【0103】
また、以下の説明においては、データ変換部41によって図4(e)に示したようにパッキングされた、4転送をパッキング単位とした1バースト(4転送)分の入力データDINが、1転送目、2転送目、3転送目、4転送目というように順次入力され、図4(a)に示したような4転送分の出力データDOUTを出力する場合ついて説明する。
【0104】
パックデータ配置変更部521には、データ変換部41内のパックデータ配置変更部412における並べ替え単位と同じビット数の並べ替え単位が、予め設定されている。また、パックデータ配置変更部521には、入力された入力データDINに含まれる並べ替え情報(並べ替え処理の判断結果の情報)が、何転送目のどのビットに付加(ビット結合)されているか、すなわち、並べ替え処理の判断結果の情報を表すビットの位置が、予め設定されている。そして、パックデータ配置変更部521は、入力された入力データDINに含まれる並べ替え処理の判断結果の情報に基づいて、入力データDIN内のデータの配置を並べ替え単位毎に元の配置に戻した転送パックデータを生成する。
【0105】
より具体的には、図5に示したパックデータ配置変更部521には、並べ替え単位が8bitであることが、予め設定されている。また、パックデータ配置変更部521には、4転送目の入力データDINのビット(8)に2転送目の入力データDINに対する判断結果の情報が付加され、4転送目の入力データDINのビット(9)に3転送目の入力データDINに対する判断結果の情報が付加されていることが、予め設定されている。パックデータ配置変更部521は、16bitの入力データDIN(15:0)を、上位8bit(入力データDIN(15:8))と下位8bit(入力データDIN(7:0))との並べ替え単位に区切って、入力データDIN内のデータの配置を元の配置に並べ替えた(戻した)出力データDOUT(15:0)を、入力データDIN(15:0)に対応した16bitの出力データDOUT(15:0)として出力する。
【0106】
シフトレジスタ5212a〜5212dは、パックデータ配置変更部521に入力された入力データDINを順次保持するレジスタである。シフトレジスタ5212a〜5212dのそれぞれは、入力データDINが入力される毎に、次の段のシフトレジスタ5212に保持しているデータをシフトすると共に、入力されたデータを保持する。また、最終段のシフトレジスタ5212dにシフトされたデータは、並べ替え部5214に出力される。
【0107】
より具体的には、例えば、1転送目の入力データDINは、まず、シフトレジスタ5212aに入力されて保持される。そして、シフトレジスタ5212aに保持された1転送目の入力データDINは、2転送目以降の入力データDINがシフトレジスタ5212aに入力される毎に、シフトレジスタ5212a→シフトレジスタ5212b→シフトレジスタ5212c→シフトレジスタ5212dというように、順次後段のシフトレジスタ5212にシフトされる。そして、1転送目の入力データDINがシフトレジスタ5212dにシフトされた後、並べ替え部5214に出力される。このように、シフトレジスタ5212は、パックデータ配置変更部521に入力された入力データDINを順次シフトしながら、1バースト(4転送)分の全ての入力データDINを保持する。
【0108】
また、それぞれのシフトレジスタ5212に保持された入力データDINは、データ出力制御部5211から入力されるシフト命令に応じてさらにシフトされ、順次並べ替え部5214に出力される。
【0109】
なお、上述のように、シフトレジスタ5212は、1バーストの全ての入力データDINを保持する。すなわち、シフトレジスタ5212は、パッキング単位の全ての入力データDINを保持する。このことからもわかるように、パックデータ配置変更部521内には、パッキング単位に応じた数のシフトレジスタ5212を備えることになる。
【0110】
解析結果保持部5213は、パックデータ配置変更部521に入力された入力データDINに含まれる並べ替え処理の判断結果の情報、例えば、並べ替え処理を行わないことを表す判断結果の情報である“0”の情報、または上位の8bitと下位の8bitとを並べ替える並べ替え処理を行うことを表す判断結果の情報である“1”の情報を保持する。この解析結果保持部5213によって保持された判断結果の情報は、今回入力されたそれぞれの入力データDINに対して並べ替え処理を行うか否かを表す情報として用いられる。解析結果保持部5213に保持した判断結果の情報は、データ出力制御部5211から入力される出力命令に応じて、並べ替え部5214に出力される。
【0111】
なお、判断結果の情報は、入力データDIN(15:0)に対して1つの判断結果の情報が付与されている。従って、図2(b)に示した本実施形態の撮像装置1に備えたデータ逆変換部52では、32bitのパックデータが入力されるため、1つのパックデータに対して、16bit毎に2つの判断結果の情報が付与されていることになる。このことから、解析結果保持部5213には、2つ分の判断結果の情報を保持することができる保持容量を備えることになる。
【0112】
データ出力制御部5211は、シフトレジスタ5212に保持された入力データDINのシフトと、解析結果保持部5213に保持されて判断結果の情報の出力とを制御する。データ出力制御部5211は、パックデータ配置変更部521に入力された1バースト(4転送)分の全ての入力データDINが、シフトレジスタ5212のそれぞれに保持された後、シフトレジスタ5212に保持された入力データDINをシフトするためのシフト命令を、それぞれのシフトレジスタ5212に出力する。これにより、それぞれのシフトレジスタ5212に保持されている入力データDINが順次シフトされ、並べ替え部5214に順次出力される。図5に示したパックデータ配置変更部521においては、1バースト(4転送)分の全ての入力データDINがシフトレジスタ5212のそれぞれに保持された後、それぞれのシフトレジスタ5212に保持された全ての入力データDINを、順次並べ替え部5214に出力するために、4回のシフト命令を、それぞれのシフトレジスタ5212に出力する。
【0113】
また、データ出力制御部5211は、シフトレジスタ5212に保持されている入力データDINのシフトに合わせて、対応する判断結果の情報を並べ替え部5214に出力するための出力命令を、解析結果保持部5213に出力する。図5に示したパックデータ配置変更部521においては、2転送目と3転送目との入力データDINが並べ替え部5214に入力されるタイミングで、出力命令を解析結果保持部5213に出力する。これにより、並べ替え部5214に入力される入力データDINに対応した判断結果の情報(入力データDINに対して並べ替え処理を行うか否かを表す情報)が、並べ替え部5214に出力される。
【0114】
並べ替え部5214は、解析結果保持部5213から入力された判断結果の情報に基づいて、シフトレジスタ5212dから入力された入力データDINの並べ替え処理を行う。そして、並べ替え処理をした後の出力データDOUT(15:0)を、パックデータ配置変更部521からの出力として出力する。より具体的には、解析結果保持部5213から入力された判断結果の情報が“0”である、すなわち、入力データDINの並べ替え処理を行わない場合には、シフトレジスタ5212dから入力された入力データDIN(15:0)をそのまま、出力データDOUT(15:0)として出力する。
【0115】
また、解析結果保持部5213から入力された判断結果の情報が“1”である、すなわち、入力データDINの並べ替え処理を行う場合には、入力された入力データDIN(15:0)の上位の8bitの入力データDIN(15:8)と、下位の8bitの入力データDIN(7:0)とを並べ替えたデータ(入力データDIN(7:0),入力データDIN(15:8))を、出力データDOUT(15:0)として出力する。
【0116】
なお、並べ替え部5214は、解析結果保持部5213から判断結果の情報が入力されない場合には、入力データDINの並べ替え処理を行わず、シフトレジスタ5212dから入力された入力データDIN(15:0)をそのまま、出力データDOUT(15:0)として出力する。例えば、並べ替え部5214は、図4(e)に示したようにパッキングされた入力データDINの1転送目と4転送目とに対しては、並べ替え処理を行わない。従って、並べ替え部5214に、1転送目と4転送目との入力データDINがシフトレジスタ5212dから入力されたときには、対応した判断結果の情報が解析結果保持部5213から入力されない。このため、並べ替え部5214は、シフトレジスタ5212dから入力された入力データDINに対して並べ替え処理を行わずに、そのまま出力データDOUTとして出力する。
【0117】
次に、画素データの配置(パッキング)方法について説明する。本実施形態の撮像装置1では、データ変換部41および51が入力された画素データをメモリバスに配置したパックデータを生成し、データ逆変換部52および62が入力されたパックデータを元の画素データに戻す。なお、以下の説明においては、データ変換部41に、図14に示したベイヤーデータ内の各画素データが順次入力され、4転送を1つのパッキング単位とした1バーストのパックデータにパッキングする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとする。なお、図14に示したベイヤーデータでは、各画素データの数字がCCD30内の画素の位置を表しており、数字の前の「R」,「G」,「B」がCCD30内の画素の色を表している。より具体的には、「R」がCCD30の赤色の画素の画素データ、「G」がCCD30の緑色の画素の画素データ、「B」がCCD30の青色の画素の画素データを表している。
【0118】
なお、データ逆変換部52および62によるパックデータを元の画素データに戻す方法は、データ変換部41および51による画素データのパッキング方法と逆の方法であるため、詳細な説明は省略する。
【0119】
また、以下の説明においては、データ変換部41内のパックデータ配置変更部412の並べ替え単位として8bit(1byte)が設定され、パックデータ配置変更部412は、入力された32bitの転送パックデータ(31:0)内のデータの配置を、1byteの並べ替え単位毎に並べ替えたパックデータ(31:0)を出力する場合について説明する。
【0120】
なお、32bit(4byte)の転送パックデータを1byte毎に並べ替える場合の組み合わせは、24通り存在する。パックデータ配置変更部412は、この24通りの組み合わせから、メモリバス上に出力するパックデータのビット変化率(ビット変化数)が最も少ない転送パックデータ内の画素データの配置を判断して並べ替え処理を行ったパックデータを出力することが可能である。しかし、転送パックデータ内の画素データの配置を並べ替えた24通りの並べ替え情報(並べ替え処理の判断結果の情報)を表すためのビット数は、5bitである。この5bitの判断結果の情報は、それぞれのパックデータに対応しているため、全てのパックデータ分の判断結果の情報は、「5bit×パックデータの数」のビット数になってしまう。この全てのパックデータ分の判断結果の情報をパックデータ内の未使用ビットに付加すると、パックデータ内の判断結果の情報に使用されるビットの割合が多くなり、バースト転送の効率が低下してしまうことになる。また、転送パックデータ内の画素データの配置の判断に係る回路規模も増大してしまう。このため、全ての画素データの配置の組み合わせを、判断結果の情報としてパックデータ内の未使用ビットに付加するのは、必ずしも有効な手段とならない場合がある。
【0121】
このため、パックデータ配置変更部412では、例えば、図6に示したような、予め定められた組み合わせの範囲内で、パックデータのビット変化率(ビット変化数)が最も少ない転送パックデータ内の画素データの配置を判断する。図6は、本実施形態の撮像装置1に備えたデータ変換部41内のパックデータ配置変更部412における並べ替え情報の組み合わせの一例を説明する図である。図6に示したように、パックデータ配置変更部412では、4つの並べ替えケース(並べ替えケース1〜4)が予め定められ、それぞれの並べ替えケース毎に、転送パックデータ内の画素データの並べ替え単位での配置が定められている。そして、それぞれの並べ替えケースに対応した並べ替え情報の値が決められている。なお、図6に示した表中の「単位」に続く数字は、説明を容易にするために付与した、並べ替え単位を識別する情報である。この数字は、入力された転送パックデータの並べ替え処理を行わない場合(並べ替えケース1)において、下位の並べ替え単位(1byte)から順に付与された数字であり、並べ替え処理によって画素データの配置がどの並べ替え単位の位置に並べ替えられたかを、識別するための情報である。
【0122】
なお、並べ替え情報に使用されるビット数を少なくすることは、転送パックデータに含まれる未使用ビットのビット数が少ない場合においても、必要な並べ替え情報を付加することができるため、有効な方法である。
【0123】
<データ配置方法>
図7は、本実施形態の撮像装置1に備えたデータ変換部41によって配置されたパックデータの一例を示した図である。図7(a)には、従来のバースト単位でのデータ配置方法(パッキング方法)で生成された、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータを示している。また、図7(b)には、本データ配置方法(パッキング方法)で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置を示している。
【0124】
本パッキング方法では、パックデータ配置変更部412が、予め定められた並べ替え単位(1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替えたバックデータを生成する。
【0125】
まず、パックデータ生成部411が、ベイヤーデータ内の各画素データ(「R0」,「G1」,「R2」,「G3」,「R4」,「G5」,「R6」,「G7」,「R8」,「G9」,「R10」)をパッキングした転送パックデータを生成する。より具体的には、パックデータ生成部411は、図7(a)に示したように、1転送目に「R0」、「G1」、および「R2」のビット(0)〜ビット(9)、2転送目に「R2」のビット(10)、「G3」、「R4」、および「G5」のビット(0)〜ビット(8)、3転送目に「G5」のビット(9)〜ビット(10)、「R6」、「G7」、および「R8」のビット(0)〜ビット(7)、4転送目に「R8」のビット(8)〜ビット(10)、「G9」、および「R10」を、それぞれメモリバスの最下位ビットから順次配置(パッキング)する。
【0126】
なお、パックデータ生成部411は、パッキング単位内に画素データの全てのビットを配置することができない場合には、次の画素データ(例えば、ベイヤーデータ内の画素データ「G11」)をパッキングしない。これは、データ変換部41は、パッキング単位で各画素データをパッキングするため、「G11」の画素データの一部をパッキングすると、「G11」のデータがパッキング単位を跨いでしまうことになるためである。従って、パックデータ生成部411は、画素データが配置されなかったパッキング単位内の転送パックデータのビット(図7においては、4転送目の転送パックデータのビット(25)〜ビット(31))を、未使用ビットにする。そして、この未使用ビットに、パックデータ配置変更部412が、各転送パックデータ内の画素データの配置を並べ替えた並べ替え情報を付加(ビット結合)できるようにする。
【0127】
続いて、パックデータ配置変更部412が、前回出力したパックデータの各ビットの値と今回入力された転送パックデータの各ビットの値とを比較して、並べ替え単位におけるビット変化率をそれぞれ算出する。そして、パックデータ配置変更部412は、算出したビット変化率に基づいて、図6に示した予め定められた並べ替えケースにおいて、前回出力したパックデータに対して今回出力するパックデータのビット毎の変化率が最も少なくなる並べ替えケースを選択する。そして、選択した並べ替えケースの配置となるように、今回出力するパックデータ内の画素データの配置を並べ替え単位毎に並べ替えたパックデータを生成する。
【0128】
図7(b)に示したパックデータ内のデータの配置では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース2が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース3が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替え処理を行わない並べ替えケース1が選択される。
【0129】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(図7においては、4転送目のパックデータのビット(25)〜ビット(31))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(25)およびビット(26)に並べ替えケース2に対応した並べ替え情報(“01”)を、4転送目のパックデータのビット(27)およびビット(28)に並べ替えケース3に対応した並べ替え情報(“10”)を、4転送目のパックデータのビット(29)およびビット(30)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。
【0130】
このようにして、本パッキング方法では、バースト転送における1サイクル分のメモリアクセス(1転送)毎に、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成することによって、バースト転送時における各転送間でのメモリバスの各ビットの変化量を少なくすることができる。これにより、本パッキング方法では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。
【0131】
また、転送パックデータ内の画素データを並べ替え単位毎に並べ替える組み合わせの数を、予め定められた組み合わせの数にすることによって、並べ替え情報のビット数を少なくすることができる。これにより、パックデータ内の並べ替え情報に使用されるビットの割合を少なくして、バースト転送の効率の低下を抑えると共に、並べ替えケースの選択に係る回路規模が安易に増大してしまうことを抑えることができる。
【0132】
なお、本パッキング方法では、転送パックデータ内の画素データを並べ替える組み合わせの数を、予め定められた組み合わせの数にすることによって、並べ替え情報に使用されるビット数を少なくする場合について説明したが、他の方法でも並べ替え情報に使用されるビット数を少なくすることができる。例えば、並べ替え単位のビット数を、例えば、16bit:2byteのように多くすることによって、並べ替え情報のビット数を少なくすることができる。なお、並べ替え単位のビット数を変えた場合のデータ配置方法は、図4に示したパックデータの生成方法の並べ替え単位のビット数が変わるのみであるため、詳細な説明は省略する。
【0133】
次に、本実施形態の撮像装置1に備えたデータ変換部におけるパックデータの出力順番の変更方法(出力順変更方法)について説明する。本実施形態の撮像装置1では、例えば、データ変換部41が入力された画素データをメモリバスに配置したパックデータを生成し、データ逆変換部52が入力されたパックデータを元の画素データに戻す。従って、データ変換部41が出力するパックデータの順番が異なる場合でも、データ逆変換部52が入力されたパックデータの順番を元に戻すことによって、本実施形態の撮像装置1における一連の処理は問題なく実行することができる。なお、以下の説明においては、データ変換部41に、図14に示したベイヤーデータ内の各画素データが順次入力され、4転送を1つのパッキング単位とした1バーストのパックデータにパッキングする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとする。
【0134】
なお、データ逆変換部52によるパックデータの順番を元の順番に戻す方法は、データ変換部41によるパックデータの出力順変更方法と逆の方法であるため、詳細な説明は省略する。
【0135】
<データ出力順変更方法>
図8は、本実施形態の撮像装置1に備えたデータ変換部41によってデータ出力順が変更されたパックデータの一例を示した図である。図8(a)には、従来のバースト単位でのデータ配置方法(パッキング方法)で生成された、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータを示している。また、図8(b)には、本データ出力順変更方法でパックデータを出力する順番が入れ替えられ、さらに上述したパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置を示している。
【0136】
パックデータ配置変更部412が、上述したパッキング方法によって転送パックデータ内の画素データの配置を変更する際に、事前に1バースト内の転送パックデータ(図8においては、4つのパックデータ)の順番を入れ替えることによって、バースト転送時における各転送間(連続する2転送間)のメモリバスの各ビットの変化量を少なくすることができる場合がある。
【0137】
本データ出力順変更方法では、パックデータ配置変更部412内に、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitの転送パックデータを一時的に保持するメモリ部を備え、転送パックデータ内の画素データの配置を変更する際に、並べ替え処理を行う転送パックデータの順番を入れ替える。パックデータ配置変更部412は、最初に出力するパックデータに対応した転送パックデータを、今回のバースト転送における基準の転送パックデータとして、上述したパッキング方法によって以降に出力するパックデータに対応した転送パックデータ内の画素データの配置を変更する。なお、パックデータ配置変更部412がパックデータを出力する順番は、予め設定される。パックデータ配置変更部412は、予め設定されたパックデータの出力順番に基づいて、転送パックデータに対する並べ替え処理を行い、並べ替え処理をした後のパックデータを順次出力する。
【0138】
なお、データ逆変換部52内のパックデータ配置変更部521にも、パックデータ配置変更部412に設定されたパックデータの出力順番と同様の順番が、パックデータの入力順番として予め設定される。これにより、パックデータ配置変更部521は、並べ替え情報が付加されているパックデータを認識することができる。パックデータ配置変更部521は、予め設定されたパックデータの入力順番に基づいて、上述したパッキング方法と逆の方法で、入力されたパックデータから元の転送パックデータを生成する。
【0139】
ここで、図8を用いて、本データ出力順変更方法によってパックデータを出力する順番を入れ替える場合の一例を説明する。なお、以下の説明においては、パックデータの出力順番を、パックデータ配置変更部412に転送パックデータが入力された順番と逆の順番にする場合、すなわち、1転送目〜4転送目までの転送パックデータを、4転送目→3転送目→2転送目→1転送目の順番で出力する場合について説明する。従って、パックデータ配置変更部412には、4転送目→3転送目→2転送目→1転送目の順番を表すパックデータの出力順番が予め設定されている。
【0140】
まず、パックデータ配置変更部412は、パックデータ生成部411から入力された、1バースト(4転送)分の全ての転送パックデータを、内部に備えたメモリ部に保持する。 図8に示した一例では、図8(a)に示した1転送目〜4転送目までの転送パックデータが、パックデータ配置変更部412内のメモリ部にそれぞれ保持される。そして、保持された各転送パックデータを、予め設定されたパックデータの出力順番で順次出力する。これは、例えば、図3に示したパックデータ配置変更部412では、パックデータ配置変更部412内のメモリ部に保持している転送パックデータが、入力データDINとして順次入力される動作であると考えると、容易に想定することができる。
【0141】
続いて、パックデータ配置変更部412は、最初に出力する4転送目の転送パックデータを、今回のバースト転送における基準の転送パックデータとする。この基準とした転送パックデータには、並べ替え処理を行わないため、そのまま1転送目のパックデータとして出力される。ただし、この1転送目のパックデータには、未使用ビット(図8においては、1転送目のパックデータのビット(25)〜ビット(31))が存在する。このため、全ての並べ替えケースの選択が終了した後に、データ結合部4126によって、対応する並べ替え情報の値をビット結合する必要がある。従って、この1転送目のパックデータは、パックデータ配置変更部412内に備えたメモリ部に保持される。
【0142】
なお、4転送目の転送パックデータを保持するメモリ部と、1転送目のパックデータを保持するメモリ部とは、同じメモリ部であっても、異なるメモリ部であってもよい。同じメモリ部である場合には、例えば、4転送目の転送パックデータを出力した後に、1転送目のパックデータを再度保持する構成にすることによって実現することができる。また、異なるメモリ部である場合には、例えば、1転送目のパックデータを保持するメモリ部を、データ結合部4126内に備える構成にすることもできる。
【0143】
続いて、パックデータ配置変更部412は、1転送目のパックデータの各ビットの値と次に出力する転送パックデータ(図8(a)に示した3転送目の転送パックデータ)の各ビットの値とを比較して、並べ替え単位におけるビット変化率をそれぞれ算出する。そして、パックデータ配置変更部412は、算出したビット変化率に基づいて、図6に示した予め定められた並べ替えケースにおいて、1転送目のパックデータに対して次に出力するパックデータのビット毎の変化率が最も少なくなる並べ替えケースを選択する。そして、選択した並べ替えケースの配置となるように、次に出力する3転送目の転送パックデータ内の画素データの配置を並べ替え単位毎に並べ替えたパックデータ(図8(b)に示した2転送目のパックデータ)を生成する。
【0144】
以降、同様に、図8(b)に示した3転送目のパックデータおよび4転送目のパックデータに対応した並べ替えケースを選択する。図8(b)に示したパックデータ内のデータの配置では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース2が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース3が選択され、3転送目のパックデータから4転送目のパックデータに替わるときに並べ替えケース3が選択された場合を示している。そして、同様に、選択した並べ替えケースの配置となるように、並べ替え処理を行った3転送目のパックデータおよび4転送目のパックデータを、それぞれ生成する。ここで生成した2転送目〜4転送目までのそれぞれのパックデータは、1転送目のパックデータと同様に、パックデータを保持するメモリ部にそれぞれ保持される。これは、並べ替え情報を含むパックデータが1転送目のパックデータであるため、1転送目のパックデータが出力された後に、以降のパックデータの出力を行うためである。従って、並べ替え情報を含むパックデータが、例えば、3転送目である場合には、1転送目および2転送目のパックデータは、並べ替え処理をした後に順次出力してもよい。なお、パックデータを保持するメモリ部の構成は、1転送目のパックデータを保持するメモリ部と同様の構成で、それぞれのパックデータに対応して備えられている。
【0145】
続いて、パックデータ配置変更部412は、全ての並べ替えケースの選択が終了した後、パックデータを保持するメモリ部に保持している1転送目のパックデータの未使用ビットに、2転送目〜4転送目のパックデータに対応する並べ替え情報の値をビット結合し、並べ替え情報が付加された1転送目のパックデータを出力する。より具体的には、図8(b)に示したように、1転送目のパックデータのビット(25)およびビット(26)に並べ替えケース2に対応した並べ替え情報(“01”)を、ビット(27)およびビット(28)に並べ替えケース3に対応した並べ替え情報(“10”)を、ビット(29)およびビット(30)に並べ替えケース4に対応した並べ替え情報(“11”)を、それぞれビット結合して出力する。
【0146】
続いて、パックデータ配置変更部412は、予め設定されたパックデータの出力順番に基づいて、パックデータを保持するメモリ部に保持している2転送目のパックデータ以降のパックデータを順次出力する。これにより、データ変換部41から、予め設定されたパックデータの出力順番で、それぞれのパックデータが順次出力される。より具体的には、図8(b)に示したように、図8(a)に示した4転送目の転送パックデータに対応したパックデータが1転送目に、図8(a)に示した3転送目の転送パックデータに対応したパックデータが2転送目に、図8(a)に示した2転送目の転送パックデータに対応したパックデータが3転送目に、図8(a)に示した1転送目の転送パックデータに対応したパックデータが4転送目に、それぞれ出力順番が入れ替えられて出力される。
【0147】
このようにして、本データ出力順変更方法では、出力するパックデータの順番を入れ替えることによって、図8(b)に示した4転送目の転送パックデータにおいても、並べ替え処理を行うことができるようになる。すなわち、図7に示したパッキング方法では、4転送目のパックデータには、並べ替え情報が付加されるため、並べ替え情報を付加するビットの位置を固定する必要があるため、並べ替え処理を行うことができる転送パックデータは、2転送目と3転送目との転送パックデータのみであった。これに対して、本データ出力順変更方法では、出力するパックデータの順番を入れ替えることによって、並べ替え情報が付加されるパックデータを1転送目のパックデータとしたため、4転送目のパックデータも並べ替え処理が行われたパックデータとすることができる。これにより、本データ出力順変更方法では、上述した(図7に示した)パッキング方法よりも、画像データの転送に係る消費電力を、さらに低減させることができる。
【0148】
上記に述べたように、本実施形態の撮像装置1に備えたデータ変換部41および51では、パックデータ配置変更部412が、予め定められた並べ替え単位(例えば、1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を変更することができる。このことにより、本実施形態の撮像装置1に備えたデータ変換部41および51では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。これにより、撮像装置1内の各構成要素(処理ブロック)とメモリ20との間での画素データの転送、すなわち、撮像装置1内の各構成要素間での画素データの受け渡しに係る消費電力を低減させることができる。
【0149】
また、本実施形態の撮像装置1に備えたデータ変換部41および51では、予め定められた並べ替えの組み合わせに基づいて、転送パックデータ内の画素データを並べ替え単位毎に並べ替えることができため、並べ替えケースの選択に係る回路規模の増大を、最小限に抑えることができる。
【0150】
また、本実施形態の撮像装置1に備えたデータ変換部41および51では、予め定められたパックデータの出力順番に基づいて、転送パックデータ内の画素データを並べ替えたパックデータの出力順番を変えることができる。これにより、転送パックデータ内の画素データを並べ替え単位毎に並べ替えたことによる効果を、十分に得ることができる。
【0151】
なお、上記に述べたことからわかるように、並べ替え情報が付加されるパックデータは、並べ替え情報を付加するビットの位置が固定されていることが必要である。言い換えれば、並べ替え情報をビット結合するパックデータ内のビットの位置が固定されていれば、並べ替え情報が付加されているビットを含む並べ替え単位以外の並べ替え単位同士であれば、並べ替え情報が付加されるパックデータ内であっても並べ替え処理を行うことができる。例えば、図7(b)に示したパックデータ内のデータの配置では、並べ替え情報が付加されているビットが含まれる並べ替え単位(ビット(24)〜ビット(31)の1byteの並べ替え単位)が、4転送目のみ固定されていればよい。そのため、例えば、図6に示した予め定められた並べ替えケースと同様に、4転送目のみに対応して、図6に示した並べ替えケース1の単位0〜単位2で並べ替えを行う並べ替えケースを予め定めておき、4転送目の並べ替えケースの選択においては、4転送目のみに対応した並べ替えケースから、パックデータのビット毎の変化率が最も少なくなる並べ替えケースを選択するようにすることもできる。これにより、4転送目のパックデータにおいても、並べ替え処理を行うことができ、画像データの転送に係る消費電力を、さらに低減させることができる。
【0152】
上記に述べた実施形態においては、ベイヤーデータに本実施形態のパッキング方法およびデータ出力順変更方法を適用したデータ処理装置およびデータ処理方法について説明したが、本実施形態のパッキング方法およびデータ出力順変更方法は、ベイヤーデータへの適用に限定されるものではなく、RGBデータ、YC422点順次やYC444点順次フォーマットのYCbCrデータ、またはOSDデータなど、様々な画像データに適用することができる。また、本実施形態のパッキング方法およびデータ出力順変更方法は、画像データへの適用に限定されるものではなく、音声データなど、他の形式のデータに適用することもできる。
【0153】
<適用例>
次に、本実施形態のパッキング方法を、他の形式の画像データや、画像データ以外のデータに適用した場合の一例について説明する。なお、本実施形態のパッキング方法では、図6に示した並べ替えケースから転送パックデータ内の画素データの並べ替え単位で並べ替えるときの配置を選択する場合について説明する。なお、本実施形態のデータ出力順変更方法を、他の形式の画像データや、画像データ以外のデータに適用する場合については、上述したデータ出力順変更方法と同様に考えることができるため、詳細な説明は省略する。
【0154】
まず、本実施形態のパッキング方法をRGBデータに適用した場合の一例について説明する。図9は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、別の画像データ(RGBデータ)に適用した場合の一例を示した図である。なお、図9では、10bitのRGBデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図9(a)参照)と、本実施形態のパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置の一例(図9(b)参照)とを、それぞれ示している。
【0155】
図9(a)に示したように、パックデータ生成部411は、RGBデータ(10bit×3色=30bit)を単純に配置した転送パックデータを生成する。そして、パックデータ配置変更部412は、図9(b)に示したように、本実施形態のパッキング方法によって、予め定められた並べ替え単位(例えば、1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成する。
【0156】
図9の例では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース4が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース2が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替えケース1が選択される。
【0157】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(ビット(24)〜ビット(31))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(24)およびビット(25)に並べ替えケース4に対応した並べ替え情報(“11”)を、4転送目のパックデータのビット(26)およびビット(27)に並べ替えケース2に対応した並べ替え情報(“01”)を、4転送目のパックデータのビット(28)およびビット(29)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。これにより、4つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【0158】
図10は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、さらに別の画像データ(YCbCrデータ)に適用した場合の一例を示した図である。なお、図10では、図10(a)に示したような、10bitのY、8bitのCbおよびCrデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図10(b)参照)と、本実施形態のパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置の一例(図10(c)参照)とを、それぞれ示している。
【0159】
図10(b)に示したように、パックデータ生成部411は、YCbCrデータを単純に配置した転送パックデータを生成する。そして、パックデータ配置変更部412は、図10(c)に示したように、本実施形態のパッキング方法によって、予め定められた並べ替え単位(例えば、1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成する。
【0160】
図10の例では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース3が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース4が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替えケース1が選択される。
【0161】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(ビット(22)〜ビット(31))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(22)およびビット(23)に並べ替えケース3に対応した並べ替え情報(“10”)を、4転送目のパックデータのビット(24)およびビット(25)に並べ替えケース4に対応した並べ替え情報(“11”)を、4転送目のパックデータのビット(26)およびビット(27)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。これにより、4つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【0162】
図11は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、さらに別の画像データ(OSDデータ)に適用した場合の一例を示した図である。なお、図11では、6bitのOSDデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図11(a)参照)と、本実施形態のパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置の一例(図11(b)参照)とを、それぞれ示している。
【0163】
図11(a)に示したように、パックデータ生成部411は、OSDデータを単純に配置した転送パックデータを生成する。そして、パックデータ配置変更部412は、図11(b)に示したように、本実施形態のパッキング方法によって、予め定められた並べ替え単位(例えば、1byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成する。
【0164】
図11の例では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース3が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース2が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替えケース1が選択される。
【0165】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(ビット(24)〜ビット(31))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(24)およびビット(25)に並べ替えケース3に対応した並べ替え情報(“10”)を、4転送目のパックデータのビット(26)およびビット(27)に並べ替えケース2に対応した並べ替え情報(“01”)を、4転送目のパックデータのビット(28)およびビット(29)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。これにより、4つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【0166】
図12は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、別のデータ(音声データ)に適用した場合の一例を示した図である。なお、図12では、それぞれ24bitのR(右)データおよびL(左)データを64bitのメモリバスに適用した場合を示している。そして、図12(a)には、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例を示し、図12(b)には、本実施形態のパッキング方法で転送パックデータ内の画素データの配置が変更されたパックデータ内のデータの配置の一例を示している。なお、図12においては、転送パックデータ内の音声データを並べ替える並べ替え単位を、2byte(16bit)とし、図6に示した並べ替えケースにおける並べ替え単位を、2byteの単位に読み換えて、並べ替えケースを選択している場合を示している。
【0167】
図12(a)に示したように、パックデータ生成部411は、音声データを単純に配置した転送パックデータを生成する。そして、パックデータ配置変更部412は、図12(b)に示したように、本実施形態のパッキング方法によって、予め定められた並べ替え単位(2byte)毎に、転送パックデータ内の画素データの各ビットのデータをビット毎に比較し、予め定められた組み合わせの範囲内で転送パックデータ内の画素データの配置を並べ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を並べ替えたパックデータを生成する。
【0168】
図12の例では、1転送目のパックデータから2転送目のパックデータに替わるときに並べ替えケース4が選択され、2転送目のパックデータから3転送目のパックデータに替わるときに並べ替えケース3が選択された場合を示している。また、3転送目のパックデータから4転送目のパックデータに替わるときには、4転送目のパックデータの未使用ビットに、各転送におけるパックデータ内の画素データの配置を並べ替えたときの並べ替え情報が付加(ビット結合)されるため、並べ替えケース1が選択される。
【0169】
そして、パックデータ配置変更部412は、4転送目のパックデータの未使用ビット(ビット(48)〜ビット(63))に選択した並べ替えケースに対応した並べ替え情報の値をビット結合する。より具体的には、4転送目のパックデータのビット(48)およびビット(49)に並べ替えケース4に対応した並べ替え情報(“11”)を、4転送目のパックデータのビット(50)およびビット(51)に並べ替えケース3に対応した並べ替え情報(“10”)を、4転送目のパックデータのビット(52)およびビット(53)に並べ替えケース1に対応した並べ替え情報(“00”)を、それぞれビット結合する。これにより、4つのパックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
【0170】
上記に述べたとおり、本発明を実施するための形態によれば、予め定められた並べ替え単位毎に、転送パックデータ内のデータをビット毎に比較し、並べ替え単位毎に、転送パックデータ内のデータの配置を変更する。また、転送パックデータ内のデータの配置を変更した情報を、パックデータの未使用ビットに付加して出力する。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量を少なくすることができると共に、転送パックデータを容易に復元することができる。しかも、データの転送効率は、従来と同等のデータ転送効率を維持することができる。これにより、像装置内の各構成要素(処理ブロック)とメモリとの間でのデータの受け渡しに係る消費電力の低減効果を十分に得ることができる。
【0171】
また、本発明を実施するための形態によれば、パッキング単位内のパックデータの順番を入れ替える。これにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量を、さらに少なくすることができる。
【0172】
また、本発明を実施するための形態によれば、転送パックデータ内のデータの配置を変更するときのデータの配置の組み合わせの数を、予め定められた組み合わせの数に定めておく。これにより、転送パックデータ内のデータの配置の組み合わせが多くなることによって、並べ替え情報に使用するビット数が増加し、パックデータ内の並べ替え情報に使用されるビットの割合が大きくなるのを抑えることができる。また、転送パックデータ内のデータの配置の組み合わせが多くなることによって、並べ替えケースの選択に係る回路の規模が増大してしまうことを抑えることができる。このことにより、データの転送効率の低下を抑えることができる。
【0173】
なお、本実施形態においては、4転送を1回のバースト転送の単位とし、1バーストをデータのパッキング単位とした場合について説明したが、1回のバースト転送における転送の回数や、データのパッキングの単位は、本発明を実施するための形態に限定されるものではない。例えば、64転送を1回のバースト転送の単位とし、1バースト内の16転送をデータのパッキングの単位とする、すなわち、1バースト内に4つのパッキング単位が含まれる構成にすることもできる。また、例えば、16転送をデータのパッキングの単位とし、8転送を1回のバースト転送の単位とする、すなわち、パッキング単位が2回のバースト転送に跨っている構成にすることもできる。
【0174】
また、本実施形態においては、撮像装置内の構成要素間でデータの受け渡しを行う場合のパッキング方法を、いくつかのデータに適用した場合について説明したが、本実施形態のパッキング方法を適用することができる範囲は、本発明を実施するための形態に限定されるものではなく、各構成要素間でデータの受け渡しを行うシステムであれば、どのようなシステムにも適用することができる。
【0175】
また、本実施形態においては、例えば、データ変換部を出力DMA部の前段の処理ブロックとして配置し、データ逆変換部を入力DMA部の後段の処理ブロックとして配置した場合の一例について説明したが、データ変換部およびデータ逆変換部の配置は、本発明を実施するための形態に限定されるものではない。例えば、データ変換部を出力DMA部内の構成要素とすることや、データ逆変換部を入力DMA部内の構成要素とすることもできる。また、例えば、データ変換部を前段の撮像処理部内の構成要素とすることや、データ逆変換部を後段の画像処理部内の構成要素とすることもできる。
【0176】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【0177】
1・・・撮像装置(データ処理装置)
10・・・CPU(データ処理装置)
20・・・メモリ(データ処理装置)
30・・・CCD
40・・・撮像処理部
50・・・画像処理部
60・・・表示処理部
70・・・表示デバイス
41,51・・・データ変換部(データ処理装置)
411・・・パックデータ生成部(データ生成部)
412・・・パックデータ配置変更部(第1のデータ配置変更部)
4121,4121a,4121b,4121c,4121d・・・ビット変化数算出部
4122・・・ビット変化数解析部
4123・・・並べ替え制御部(第1のデータ並べ替え部)
4124・・・データ保持部(第1のデータ配置変更部)
4125・・・解析結果保持部(第1のデータ配置変更部)
4126・・・データ結合部
52,62・・・データ逆変換部(データ処理装置)
521・・・パックデータ配置変更部(第2のデータ配置変更部)
5211・・・データ出力制御部(第2のデータ配置変更部)
5212,5212a,5212b,5212c,5212d・・・シフトレジスタ(データ記憶部)
5213・・・解析結果保持部(並べ替え情報保持部)
5214・・・並べ替え部(第2のデータ並べ替え部)
522・・・パックデータ復元部(データ復元部)
45,55・・・出力DMA部
56,66・・・入力DMA部
【特許請求の範囲】
【請求項1】
順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、
を備え、
前記データ変換部は、
前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成部と、
前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とを、該データ変換部における前記転送データとして出力する第1のデータ配置変更部と、
を具備し、
前記第1のデータ配置変更部は、
該第1のデータ配置変更部からn(nは1以上の自然数)回目に出力した前記変更データ内の各ビットの値と、該第1のデータ配置変更部にn+1回目に入力された前記第1の転送データ内の各ビットの値とを比較し、該比較した結果に基づいたビットの数をビット変化数として、前記単位ビット毎に出力するビット変化数算出部と、
前記単位ビット毎のビット変化数に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えるか否かを判断し、該判断した判断結果を出力するビット変化数解析部と、
前記判断結果に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えた並べ替えデータを生成する第1のデータ並べ替え部と、
前記並べ替えデータの内、データが配置されていない未使用ビットを含む前記並べ替えデータの予め定められた前記未使用ビットの位置に、前記判断結果を表す情報を前記並べ替え情報として結合した結合データを生成し、前記並べ替えデータ、または生成した前記結合データのいずれか1つのデータを、該前記第1のデータ配置変更部における前記変更データとして出力するデータ結合部と、
を具備する、
ことを特徴とするデータ処理装置。
【請求項2】
前記ビット変化数算出部は、
n回目に出力した前記変更データを、前記単位ビットのビット数毎に第1の基準データと、第2の基準データとに分割し、
n+1回目に入力された前記第1の転送データを、前記単位ビットのビット数毎に第1の比較対象データと、第2の比較対象データとに分割し、
前記第1の基準データと前記第1の比較対象データとを比較した第1のビット変化数と、前記第1の基準データと前記第2の比較対象データとを比較した第2のビット変化数と、前記第2の基準データと前記第1の比較対象データとを比較した第3のビット変化数と、前記第2の基準データと前記第2の比較対象データとを比較した第4のビット変化数と、をそれぞれ出力する、
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記ビット変化数解析部は、
前記ビット変化数算出部から入力された前記第1のビット変化数、前記第2のビット変化数、前記第3のビット変化数、および前記第4のビット変化数に基づいて、n回目に出力した前記変更データの各ビットの値が、n+1回目に入力された前記第1の転送データの各ビットの値に変わる際に、それぞれのビットの値が異なる値になるビットの数が最も少ない数になる、n+1回目に入力された前記第1の転送データにおける前記単位ビット毎のデータの配置を決定し、該決定したデータの配置に基づいて、該n+1回目に入力された前記第1の転送データ内のデータの配置を、前記単位ビットの単位で並べ替えるか否かを判断する、
ことを特徴とする請求項2に記載のデータ処理装置。
【請求項4】
n+1回目に入力された前記第1の転送データ内のデータの配置を前記単位ビットの単位で並べ替える場合の、前記データバス上における前記単位ビットのそれぞれの配置位置の組み合わせが予め定められており、
前記ビット変化数解析部は、
前記ビット変化数算出部から入力された前記第1のビット変化数、前記第2のビット変化数、前記第3のビット変化数、および前記第4のビット変化数に基づいて、前記予め定められた配置位置の組み合わせの内、n回目に出力した前記変更データの各ビットの値が、n+1回目に入力された前記第1の転送データの各ビットの値に変わる際に、それぞれのビットの値が異なる値になるビットの数が最も少ない数になる、n+1回目に入力された前記第1の転送データにおける前記単位ビット毎のデータの配置位置の組み合わせを選択し、該選択した配置位置の組み合わせの情報を、該n+1回目に入力された前記第1の転送データ内のデータの配置を、前記単位ビットの単位で並べ替えるか否かを判断した判断結果として出力する、
ことを特徴とする請求項2に記載のデータ処理装置。
【請求項5】
前記変換単位で前記転送データを出力する際に、前記転送データとして出力される前記変更データの出力順番が予め定められており、
前記データ結合部は、
予め定められた前記変更データの出力順番に基づいて、前記並べ替えデータ、または前記結合データのいずれか1つのデータを、前記変更データとして出力する、
ことを特徴とする請求項3または請求項4に記載のデータ処理装置。
【請求項6】
複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、
を備え、
前記データ逆変換部は、
前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、該入力された前記変更データ内に配置されたデータの配置を元の配置に戻すように、前記変更データ内に配置されたデータの配置を、前記単位ビット毎に元の前記入力データの配置位置に並べ替えて前記第1の転送データに戻す第2のデータ配置変更部と、
前記入力データの配置が元の配置に戻された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元部と、
を具備し、
前記第2のデータ配置変更部は、
前記変換単位毎に順次転送されてきたそれぞれの前記転送データを、該転送データが転送されてくる毎に順次記憶することによって、前記変換単位に含まれる全ての前記転送データを、前記変更データとして記憶するデータ記憶部と、
前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている、前記転送データの転送元のデータ処理装置が前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えたときの並べ替え情報を保持する並べ替え情報保持部と、
前記並べ替え情報保持部に保持された前記並べ替え情報に基づいて、前記データ記憶部に記憶されたそれぞれの前記変更データ内のデータを、前記単位ビットの単位で元の配置に並べ替えた前記第1の転送データを順次生成する第2のデータ並べ替え部と、
を具備する、
ことを特徴とするデータ処理装置。
【請求項7】
前記変更データ内のデータの配置を前記単位ビットの単位で元の配置に並べ替える場合の、前記データバス上における前記単位ビットのそれぞれの配置位置の組み合わせが予め定められており、
前記第2のデータ並べ替え部は、
前記並べ替え情報に含まれる前記配置位置の組み合わせの情報に基づいて、前記予め定められた配置位置の組み合わせから、今回処理する前記変更データに対応した配置位置の組み合わせを選択し、該選択した配置位置の組み合わせに基づいて、今回処理する前記変更データ内のデータを元の配置に並べ替えた前記第1の転送データを生成する、
ことを特徴とする請求項6に記載のデータ処理装置。
【請求項8】
前記転送データの転送元のデータ処理装置が、前記変換単位で前記転送データを出力する際に、前記転送データとして出力される前記変更データの出力順番が予め定められており、
前記第2のデータ並べ替え部は、
前記予め定められた前記変更データの出力順番に基づいて、生成する前記第1の転送データの順番が、前記転送データの転送元のデータ処理装置において生成された前記第1の転送データの元の順番になるように、前記データ記憶部に記憶された前記変更データを順次選択し、該選択した前記変更データ内のデータを元の配置に並べ替えた前記第1の転送データを順次生成する、
ことを特徴とする請求項7に記載のデータ処理装置。
【請求項9】
順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、
を含み、
前記データ変換ステップは、
前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成ステップと、
前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とを、該データ変換ステップにおける前記転送データとして出力する第1のデータ配置変更ステップと、
を含み、
前記第1のデータ配置変更ステップは、
該第1のデータ配置変更ステップによってn(nは1以上の自然数)回目に出力した前記変更データ内の各ビットの値と、該第1のデータ配置変更ステップにおいてn+1回目に入力された前記第1の転送データ内の各ビットの値とを比較し、該比較した結果に基づいたビットの数をビット変化数として、前記単位ビット毎に出力するビット変化数算出ステップと、
前記単位ビット毎のビット変化数に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えるか否かを判断し、該判断した判断結果を出力するビット変化数解析ステップと、
前記判断結果に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えた並べ替えデータを生成する第1のデータ並べ替えステップと、
前記並べ替えデータの内、データが配置されていない未使用ビットを含む前記並べ替えデータの予め定められた前記未使用ビットの位置に、前記判断結果を表す情報を前記並べ替え情報として結合した結合データを生成し、前記並べ替えデータ、または生成した前記結合データのいずれか1つのデータを、該前記第1のデータ配置変更ステップにおける前記変更データとして出力するデータ結合ステップと、
を含む、
ことを特徴とするデータ処理方法。
【請求項10】
複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、
を含み、
前記データ逆変換ステップは、
前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、該入力された前記変更データ内に配置されたデータの配置を元の配置に戻すように、前記変更データ内に配置されたデータの配置を、前記単位ビット毎に元の前記入力データの配置位置に並べ替えて前記第1の転送データに戻す第2のデータ配置変更ステップと、
前記入力データの配置が元の配置に戻された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元ステップと、
を含み、
前記第2のデータ配置変更ステップは、
前記変換単位毎に順次転送されてきたそれぞれの前記転送データを、該転送データが転送されてくる毎に順次記憶することによって、前記変換単位に含まれる全ての前記転送データを、前記変更データとして記憶するデータ記憶ステップと、
前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている、前記転送データの転送元のデータ処理装置が前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えたときの並べ替え情報を保持する並べ替え情報保持ステップと、
前記並べ替え情報保持ステップによって保持された前記並べ替え情報に基づいて、前記データ記憶ステップによって記憶されたそれぞれの前記変更データ内のデータを、前記単位ビットの単位で元の配置に並べ替えた前記第1の転送データを順次生成する第2のデータ並べ替えステップと、
を含む、
ことを特徴とするデータ処理方法。
【請求項1】
順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、
を備え、
前記データ変換部は、
前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成部と、
前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とを、該データ変換部における前記転送データとして出力する第1のデータ配置変更部と、
を具備し、
前記第1のデータ配置変更部は、
該第1のデータ配置変更部からn(nは1以上の自然数)回目に出力した前記変更データ内の各ビットの値と、該第1のデータ配置変更部にn+1回目に入力された前記第1の転送データ内の各ビットの値とを比較し、該比較した結果に基づいたビットの数をビット変化数として、前記単位ビット毎に出力するビット変化数算出部と、
前記単位ビット毎のビット変化数に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えるか否かを判断し、該判断した判断結果を出力するビット変化数解析部と、
前記判断結果に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えた並べ替えデータを生成する第1のデータ並べ替え部と、
前記並べ替えデータの内、データが配置されていない未使用ビットを含む前記並べ替えデータの予め定められた前記未使用ビットの位置に、前記判断結果を表す情報を前記並べ替え情報として結合した結合データを生成し、前記並べ替えデータ、または生成した前記結合データのいずれか1つのデータを、該前記第1のデータ配置変更部における前記変更データとして出力するデータ結合部と、
を具備する、
ことを特徴とするデータ処理装置。
【請求項2】
前記ビット変化数算出部は、
n回目に出力した前記変更データを、前記単位ビットのビット数毎に第1の基準データと、第2の基準データとに分割し、
n+1回目に入力された前記第1の転送データを、前記単位ビットのビット数毎に第1の比較対象データと、第2の比較対象データとに分割し、
前記第1の基準データと前記第1の比較対象データとを比較した第1のビット変化数と、前記第1の基準データと前記第2の比較対象データとを比較した第2のビット変化数と、前記第2の基準データと前記第1の比較対象データとを比較した第3のビット変化数と、前記第2の基準データと前記第2の比較対象データとを比較した第4のビット変化数と、をそれぞれ出力する、
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記ビット変化数解析部は、
前記ビット変化数算出部から入力された前記第1のビット変化数、前記第2のビット変化数、前記第3のビット変化数、および前記第4のビット変化数に基づいて、n回目に出力した前記変更データの各ビットの値が、n+1回目に入力された前記第1の転送データの各ビットの値に変わる際に、それぞれのビットの値が異なる値になるビットの数が最も少ない数になる、n+1回目に入力された前記第1の転送データにおける前記単位ビット毎のデータの配置を決定し、該決定したデータの配置に基づいて、該n+1回目に入力された前記第1の転送データ内のデータの配置を、前記単位ビットの単位で並べ替えるか否かを判断する、
ことを特徴とする請求項2に記載のデータ処理装置。
【請求項4】
n+1回目に入力された前記第1の転送データ内のデータの配置を前記単位ビットの単位で並べ替える場合の、前記データバス上における前記単位ビットのそれぞれの配置位置の組み合わせが予め定められており、
前記ビット変化数解析部は、
前記ビット変化数算出部から入力された前記第1のビット変化数、前記第2のビット変化数、前記第3のビット変化数、および前記第4のビット変化数に基づいて、前記予め定められた配置位置の組み合わせの内、n回目に出力した前記変更データの各ビットの値が、n+1回目に入力された前記第1の転送データの各ビットの値に変わる際に、それぞれのビットの値が異なる値になるビットの数が最も少ない数になる、n+1回目に入力された前記第1の転送データにおける前記単位ビット毎のデータの配置位置の組み合わせを選択し、該選択した配置位置の組み合わせの情報を、該n+1回目に入力された前記第1の転送データ内のデータの配置を、前記単位ビットの単位で並べ替えるか否かを判断した判断結果として出力する、
ことを特徴とする請求項2に記載のデータ処理装置。
【請求項5】
前記変換単位で前記転送データを出力する際に、前記転送データとして出力される前記変更データの出力順番が予め定められており、
前記データ結合部は、
予め定められた前記変更データの出力順番に基づいて、前記並べ替えデータ、または前記結合データのいずれか1つのデータを、前記変更データとして出力する、
ことを特徴とする請求項3または請求項4に記載のデータ処理装置。
【請求項6】
複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、
を備え、
前記データ逆変換部は、
前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、該入力された前記変更データ内に配置されたデータの配置を元の配置に戻すように、前記変更データ内に配置されたデータの配置を、前記単位ビット毎に元の前記入力データの配置位置に並べ替えて前記第1の転送データに戻す第2のデータ配置変更部と、
前記入力データの配置が元の配置に戻された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元部と、
を具備し、
前記第2のデータ配置変更部は、
前記変換単位毎に順次転送されてきたそれぞれの前記転送データを、該転送データが転送されてくる毎に順次記憶することによって、前記変換単位に含まれる全ての前記転送データを、前記変更データとして記憶するデータ記憶部と、
前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている、前記転送データの転送元のデータ処理装置が前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えたときの並べ替え情報を保持する並べ替え情報保持部と、
前記並べ替え情報保持部に保持された前記並べ替え情報に基づいて、前記データ記憶部に記憶されたそれぞれの前記変更データ内のデータを、前記単位ビットの単位で元の配置に並べ替えた前記第1の転送データを順次生成する第2のデータ並べ替え部と、
を具備する、
ことを特徴とするデータ処理装置。
【請求項7】
前記変更データ内のデータの配置を前記単位ビットの単位で元の配置に並べ替える場合の、前記データバス上における前記単位ビットのそれぞれの配置位置の組み合わせが予め定められており、
前記第2のデータ並べ替え部は、
前記並べ替え情報に含まれる前記配置位置の組み合わせの情報に基づいて、前記予め定められた配置位置の組み合わせから、今回処理する前記変更データに対応した配置位置の組み合わせを選択し、該選択した配置位置の組み合わせに基づいて、今回処理する前記変更データ内のデータを元の配置に並べ替えた前記第1の転送データを生成する、
ことを特徴とする請求項6に記載のデータ処理装置。
【請求項8】
前記転送データの転送元のデータ処理装置が、前記変換単位で前記転送データを出力する際に、前記転送データとして出力される前記変更データの出力順番が予め定められており、
前記第2のデータ並べ替え部は、
前記予め定められた前記変更データの出力順番に基づいて、生成する前記第1の転送データの順番が、前記転送データの転送元のデータ処理装置において生成された前記第1の転送データの元の順番になるように、前記データ記憶部に記憶された前記変更データを順次選択し、該選択した前記変更データ内のデータを元の配置に並べ替えた前記第1の転送データを順次生成する、
ことを特徴とする請求項7に記載のデータ処理装置。
【請求項9】
順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、
を含み、
前記データ変換ステップは、
前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成ステップと、
前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とを、該データ変換ステップにおける前記転送データとして出力する第1のデータ配置変更ステップと、
を含み、
前記第1のデータ配置変更ステップは、
該第1のデータ配置変更ステップによってn(nは1以上の自然数)回目に出力した前記変更データ内の各ビットの値と、該第1のデータ配置変更ステップにおいてn+1回目に入力された前記第1の転送データ内の各ビットの値とを比較し、該比較した結果に基づいたビットの数をビット変化数として、前記単位ビット毎に出力するビット変化数算出ステップと、
前記単位ビット毎のビット変化数に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えるか否かを判断し、該判断した判断結果を出力するビット変化数解析ステップと、
前記判断結果に基づいて、n+1回目に入力された前記第1の転送データ内のデータを、前記単位ビットの単位で並べ替えた並べ替えデータを生成する第1のデータ並べ替えステップと、
前記並べ替えデータの内、データが配置されていない未使用ビットを含む前記並べ替えデータの予め定められた前記未使用ビットの位置に、前記判断結果を表す情報を前記並べ替え情報として結合した結合データを生成し、前記並べ替えデータ、または生成した前記結合データのいずれか1つのデータを、該前記第1のデータ配置変更ステップにおける前記変更データとして出力するデータ結合ステップと、
を含む、
ことを特徴とするデータ処理方法。
【請求項10】
複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、
を含み、
前記データ逆変換ステップは、
前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記データバスのビット幅を、予め定められたビット数の複数の単位ビットに分割し、前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えた変更データを生成し、該生成した変更データと、該変更データにおいて並べ替えられたデータの配置を表す並べ替え情報とが、前記転送データの転送元のデータ処理装置からの前記転送データとして前記データバスから入力され、該入力された前記変更データ内に配置されたデータの配置を元の配置に戻すように、前記変更データ内に配置されたデータの配置を、前記単位ビット毎に元の前記入力データの配置位置に並べ替えて前記第1の転送データに戻す第2のデータ配置変更ステップと、
前記入力データの配置が元の配置に戻された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元ステップと、
を含み、
前記第2のデータ配置変更ステップは、
前記変換単位毎に順次転送されてきたそれぞれの前記転送データを、該転送データが転送されてくる毎に順次記憶することによって、前記変換単位に含まれる全ての前記転送データを、前記変更データとして記憶するデータ記憶ステップと、
前記転送データの内、いずれかの前記転送データの予め定められたビットの位置に結合されている、前記転送データの転送元のデータ処理装置が前記第1の転送データ内に配置されたデータの配置を、前記単位ビット毎に並べ替えたときの並べ替え情報を保持する並べ替え情報保持ステップと、
前記並べ替え情報保持ステップによって保持された前記並べ替え情報に基づいて、前記データ記憶ステップによって記憶されたそれぞれの前記変更データ内のデータを、前記単位ビットの単位で元の配置に並べ替えた前記第1の転送データを順次生成する第2のデータ並べ替えステップと、
を含む、
ことを特徴とするデータ処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−203540(P2012−203540A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−66056(P2011−66056)
【出願日】平成23年3月24日(2011.3.24)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願日】平成23年3月24日(2011.3.24)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
[ Back to top ]