JP5738639B2 - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP5738639B2
JP5738639B2 JP2011066059A JP2011066059A JP5738639B2 JP 5738639 B2 JP5738639 B2 JP 5738639B2 JP 2011066059 A JP2011066059 A JP 2011066059A JP 2011066059 A JP2011066059 A JP 2011066059A JP 5738639 B2 JP5738639 B2 JP 5738639B2
Authority
JP
Japan
Prior art keywords
data
transfer
input
unit
same
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011066059A
Other languages
English (en)
Other versions
JP2012203543A (ja
Inventor
隆輔 土田
隆輔 土田
上野 晃
晃 上野
方己 島村
方己 島村
田中 義信
義信 田中
崇志 梁田
崇志 梁田
知行 仙石
知行 仙石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2011066059A priority Critical patent/JP5738639B2/ja
Priority to US13/425,952 priority patent/US8966145B2/en
Publication of JP2012203543A publication Critical patent/JP2012203543A/ja
Application granted granted Critical
Publication of JP5738639B2 publication Critical patent/JP5738639B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Input (AREA)
  • Bus Control (AREA)

Description

本発明は、データ処理装置およびデータ処理方法に関する。
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの撮像装置では、撮像装置の画素数や速度の向上に伴って、膨大な画素のデータ(以下、「画素データ」という)が含まれる画像データを処理している。このような撮像装置においては、撮像装置内の各処理ブロックが撮影によって得られた画像データを処理する際に、データを一時的に記憶するメモリが利用されている。メモリには、各処理段階の画像データが一時記憶される。
図16は、従来の撮像装置の概略構成を示したブロック図である。例えば、図16に示した撮像装置における撮影動作では、以下のような手順で画像データの処理が行われている。
(手順1):まず、撮像処理部が、例えば、CCD(Charge Coupled Device:電荷結合素子)型の固体撮像素子によって得られた画像データを、出力DMA(Direct Memory Access)部を介してメモリに転送して一時記憶する。
(手順2):続いて、画像処理部が、メモリに一時記憶している画像データを、入力DMA部を介して読み出す。そして、画像処理部は、読み出した画像データに対して記録用の画像処理や、表示用の画像処理を行う。その後、画像処理した後の画像データを、出力DMA部を介してメモリに転送して一時記憶する。
(手順3):続いて、表示処理部が、表示用の画像処理がされた画像データを、入力DMA部を介して読み出し、表示デバイスに表示させる。
このように、撮像装置では、前段の処理ブロックが、画像データをメモリに一時記憶する。そして、後段の処理ブロックが、メモリに記録されている画像データを読み出して、次の処理を行う。このように、撮像装置内の各処理ブロックが、メモリを介して処理対象の画像データの受け渡しを行うことによって、撮像装置の全体の処理を順次行っている。
近年、静止画用カメラ、動画用カメラなどの撮像装置においては、長い時間連続して使用できることが望まれており、撮像装置内の電気回路の消費電力を低減させる技術が必要とされている。撮像装置の消費電力を低減させるための1つの方法として、各処理ブロック(電気回路)とメモリとの間での画像データの転送速度を高速にする方法が挙げられる。画像データの転送速度の高速化は、例えば、撮像装置が動作するクロックの周波数を高くしたり、各処理ブロックとメモリ間の画像データの転送期間を短縮させたりすることによって実現することができる。これらの方法は、画像データの転送速度を高速にすることによって、画像データの転送に係る消費電力を低減させるものである。
処理ブロックとメモリ間の画像データの転送期間を短縮させるための技術として、特許文献1に開示されているようなパッキングという技術が知られている。特許文献1で開示されたパッキング技術は、画像データ内の各画素データをメモリに転送する際に使用されるデータバスのバス幅を拡張し、隣接する複数の画素データをデータバスに配置(パッキング)することによって、複数の画素データを一度に転送するという技術である。この技術によって、全ての画素データを転送するために要するデータ転送の回数を、画素データを1画素毎に転送する以前のデータ転送に比べて少なくすることができ、画像データのデータ転送に係る期間を短縮することができる。例えば、図17に示したような、16行×16列のベイヤー配列のCCDから得られた画素データをメモリに転送する場合、特許文献1で開示されたパッキング技術では、4画素分の画素データを一度に転送する単位とすることによって、画像データの転送期間を1/4に短縮することができる。これにより、画素データを1画素ずつメモリに転送する場合に比べて、撮像装置内の電気回路の消費電力を低減させることができる。
また、さらに画像データの転送期間を短縮する技術として、DMAのバースト転送を利用したパッキング方法が考えられる。これは、予め定められた一定のサイクル数でメモリにアクセスする単位である1バーストを、画素データをパッキングする単位として考える方法である。図18に画素データのパッキングの一例を示す。図18(a)は、特許文献1で開示されたパッキング方法で図17に示した画素データをパッキングした場合の一例を示し、図18(b)は、バーストの単位で図17に示した画素データをパッキングした場合の一例を示している。なお、図18では、画素データをメモリに転送する際に使用するデータバス(以下、「メモリバス」という)のバス幅(以下、「メモリバス幅」という)を32bitとし、バースト転送における1サイクル分のメモリアクセス(以下、「1転送」という)を4回、すなわち、4転送で1回のバースト転送を行う場合の例を示している。そして、図18(a)および図18(b)では、それぞれ上から順に、1画素の画素データの分解能、すなわち、画素データのビット数が、9bit、10bit、12bit、および14bitである場合の一例を示している。
図18からわかるように、図18(a)に示した特許文献1で開示されたパッキング方法では、1転送あたり2画素分の画素データがメモリバスに配置され、1バーストあたり8画素分の画素データをメモリに転送することができる。これに対して図18(b)に示したバースト単位でのパッキング方法では、それぞれ、14画素分、12画素分、10画素分、および9画素分の画素データをメモリに転送することができる。これは、特許文献1で開示されたパッキング方法は、メモリバス幅、すなわち、1転送の単位で画素データを配置(パッキング)するため、配置する複数の画素データのビット数の合計がメモリバス幅を超えないようにする必要がある。このため、特許文献1で開示されたパッキング方法では、メモリバス幅内に画素データを割り当てることができないビット(以下、「未使用ビット」という)が多く存在してしまう。これに対し、バースト単位でのパッキング方法は、1バーストの単位で画素データを配置(パッキング)するため、図18(b)のように、配置する複数の画素データのビット数の合計がメモリバス幅を超えてしまう場合でも、1バーストを超えなければ次の転送に画素データを配置(パッキング)することができる。すなわち、バースト単位でのパッキング方法では、メモリバス幅が画素データの分解能の整数倍ではない場合においても、1転送の単位を跨いで画素データを配置(マッピング)することができるため、未使用ビットを少なくすることができるのである。このことにより、バースト単位でのパッキング方法は、特許文献1で開示されたパッキング方法よりも、同じ時間で多くの画素データをメモリに転送する、すなわち、画像データの転送期間を短縮することができ、撮像装置内の電気回路の消費電力を、さらに低減させることができる。
特開2007−312358号公報
一般的に、データの変化(データの“0”→“1”、もしくは“1”→“0”の変化(反転))が少ない方が、消費電力が少ないことが知られている。このため、撮像装置内の各処理ブロック(電気回路)とメモリとの間のメモリバス上のデータの変化を少なくすることによって、撮像装置の消費電力を低減させることも考えられる。図19は、撮像装置内の処理ブロックとメモリとの間のデータバス(メモリバス)上のデータの変化と消費電力との関係を説明する図である。図19(a)は、図16に示した撮像装置における撮像処理部とメモリとの間のメモリバスのバス幅が32bitである場合の一例を示している。そして、図19(b−1)〜(b−3)では、メモリバス上のデータの変化を模式的に示している。図19の一例においては、メモリバス上のデータの変化がない図19(b−1)の場合が、最も消費電力が少なく、メモリバス上のデータの変化が最も多い図19(b−3)の場合が、最も消費電力が多くなる。
このことから、撮像装置内の各処理ブロックとメモリ間のバースト転送において、連続する2転送間の画素データ(例えば、図18に示した各バースト転送の1転送目と2転送目との画素データ)の変化が多いと、画像データの転送に係る消費電力も多くなってしまうことがわかる。すなわち、メモリバス上の同一ビットが2転送間で変化している個数(ビット数)に比例して、画像データの転送に係る消費電力が変化する。
一般的に、画像データは、隣接する画素間でデータの変化量が小さく、隣接する画素のそれぞれの画素データの同一のビットで比較すると、値が反転しているビットの方が、値が反転していないビットよりも少ないことが予想される。ここで、図18に示した、特許文献1で開示されたパッキング方法と、バースト単位でのパッキング方法とを比較すると、図20に示したように、同一色の画素データで同一のビットが揃っている、特許文献1で開示されたパッキング方法の方が、画像データの転送に係る消費電力が少ないと考えられる。なお、図20は、図18に示した特許文献1で開示されたパッキング方法と、バースト単位でのパッキング方法とにおいて、1画素の画素データのビット数が9bitである場合を示している。
より具体的には、図20(a)に示した特許文献1で開示されたパッキング方法では、範囲Aに示したメモリバスの最下位ビットは、全て同一色の画素データの同一ビット(最下位ビット)である。これに対して、図20(b)に示したバースト単位でのパッキング方法では、範囲Bに示したメモリバスの最下位ビットは、全て異なる色の画素データの異なるビットである。このことから、バースト単位で画像データをパッキングすることによって、メモリバス上に配置される画素データのビットの位置が、連続する2転送間で異なってしまうと、メモリバス上の同一ビットの変化量が多くなり、画像データの転送に係る消費電力を増加させてしまうことがわかる。
すなわち、図20(a)に示した特許文献1で開示されたパッキング方法は、画像データの転送に係る消費電力が少ないが、データの転送効率が低い。また、図20(b)に示したバースト単位でのパッキング方法は、データの転送効率はよいが、画像データの転送に係る消費電力が多い。
このように、バースト単位での画素データのパッキングでは、より多くの画素データをメモリバスに配置することによって、結果的に画素データの転送期間を短縮し、画像データの転送に係る消費電力を低減させることができるが、メモリバス上に配置される画素データのビットの位置が、連続する2転送間で異なっているため、画像データの転送に係る消費電力の低減効果を十分に得ることができていない、という問題がある。
また、特許文献1で開示されたパッキング方法においては、例えば、図21に示したように、画素データをパッキングする1転送内に、3画素分の画素データを配置(パッキング)することができる。しかし、この場合には、例えば、範囲Cに示したメモリバスの最下位ビットが、画素データの同一ビット(最下位ビット)ではあるが、異なる色の画素データになってしまう。画素データは、色が異なるとその値が大きく異なる可能性が高く、特許文献1で開示されたパッキング方法でも、1転送内の画素データの配置によっては、画像データの転送に係る消費電力を低減できていないことになってしまう。
本発明は、上記の課題認識に基づいてなされたものであり、データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるデータ処理装置およびデータ処理方法を提供することを目的としている。
上記の課題を解決するため、本発明のデータ処理装置は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、を備え、前記データ変換部は、前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成部と、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成する第1のデータ配置変更部と、前記第1のデータ配置変更部によって前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データを該データ変換部における前記転送データとして出力する第1のデータ選択部と、を具備し、同一の前記変換単位に含まれる連続する2転送間の前記変更データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データの予め定められたビットの位置をシフトするための基準位置が予め定められており、前記第1のデータ配置変更部は、それぞれの前記第1の転送データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置を前記基準位置までシフトし、前記第1の転送データのシフトによって前記データバスの幅からはみ出した前記第1の転送データ内に配置された前記入力データの各ビットを、該第1の転送データにおいて前記入力データが巡回するように、該第1の転送データの反対側のビットに再配置する、ことを特徴とする。
また、本発明のデータ処理装置は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、を備え、前記データ変換部は、前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成部と、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成する第1のデータ配置変更部と、前記第1のデータ配置変更部によって前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データを該データ変換部における前記転送データとして出力する第1のデータ選択部と、を具備し、同一の前記変換単位に含まれる連続する2転送間の前記変更データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データを、同じ種類の情報を持つ前記入力データを並べ替えの単位として並べ替えるための基準位置が予め定められており、前記第1のデータ配置変更部は、それぞれの前記第1の転送データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置が前記基準位置になるように前記並べ替えの単位で並べ替える、ことを特徴とする。
また、本発明の前記基準位置は、前記入力データの内、同じ種類の情報を持つ隣接する2つの前記入力データの同一のビットが、前記転送単位の前記変更データで同一のビットに割り当てられるように、予め設定される、ことを特徴とする。
また、本発明の前記基準位置は、前記入力データの上位ビットが、同一の前記変換単位に含まれる連続する2つの前記転送単位の前記変更データの同一のビットに割り当てられる割合が大きくなるように設定される、ことを特徴とする。
また、本発明の前記第1のデータ配置変更部は、前記第1の転送データ内の前記入力データの配置を変更した後、前記入力データが配置されずに残っている前記変更データの各ビットに、同一の前記変換単位に含まれる直前の前記転送単位の前記変更データの同一のビットと同じデータをそれぞれ割り当てる、ことを特徴とする。
また、本発明の前記第1のデータ選択部は、前記第1のデータ配置変更部から入力された前記変更データを選択する際、同一の前記変換単位に含まれる連続する2つの前記転送単位の前記変更データの同一のビットに割り当てられる割合が大きくなるように、予め定められた選択順番で前記変更データを選択する、ことを特徴とする。
また、本発明の前記第1のデータ選択部は、前記第1のデータ配置変更部から入力された前記変更データを選択した後、該選択した前記変更データ内に前記入力データが配置されずに残っているビットがある場合には、該変更データ内の前記入力データが配置されずに残っている各ビットに、同一の前記変換単位に含まれる直前または直後のいずれか一方の前記転送単位の前記変更データの同一のビットと同じデータをそれぞれ割り当てる、ことを特徴とする。
また、本発明のデータ処理装置は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、を備え、前記データ逆変換部は、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成し、前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データが前記データバスから入力され、該入力された前記変更データ内に配置された複数の前記入力データの配置を元の配置に戻すように、前記変更データ内に配置された前記入力データの位置を、元の前記入力データの配置位置に変更して前記第1の転送データに戻す第2のデータ配置変更部と、前記第2のデータ配置変更部によって前記入力データの配置が元の配置に戻された前記第1の転送データを順次選択する第2のデータ選択部と、前記第2のデータ選択部によって選択された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元部と、を具備し、前記変更データは、同一の前記変換単位に含まれる連続する2転送間の前記転送データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データの予め定められたビットの位置が予め定められた基準位置までシフトされたデータであり、前記第2のデータ配置変更部は、それぞれの前記変更データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置を元の位置までシフトし、前記変更データのシフトによって前記データバスの幅からはみ出した前記変更データ内に配置された前記入力データの各ビットを、該変更データにおいて前記入力データが巡回するように、該変更データの反対側のビットに再配置する、ことを特徴とする。
また、本発明のデータ処理装置は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、を備え、前記データ逆変換部は、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成し、前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データが前記データバスから入力され、該入力された前記変更データ内に配置された複数の前記入力データの配置を元の配置に戻すように、前記変更データ内に配置された前記入力データの位置を、元の前記入力データの配置位置に変更して前記第1の転送データに戻す第2のデータ配置変更部と、前記第2のデータ配置変更部によって前記入力データの配置が元の配置に戻された前記第1の転送データを順次選択する第2のデータ選択部と、前記第2のデータ選択部によって選択された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元部と、を具備し、前記変更データは、同一の前記変換単位に含まれる連続する2転送間の前記転送データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データを、同じ種類の情報を持つ前記入力データを並べ替えの単位として予め定められた基準位置に並べ替えたデータであり、前記第2のデータ配置変更部は、それぞれの前記変更データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置が元の位置になるように前記並べ替えの単位で並べ替える、ことを特徴とする。
また、本発明の前記基準位置は、前記入力データの内、同じ種類の情報を持つ隣接する2つの前記入力データの同一のビットが、前記転送単位の前記変更データで同一のビットに割り当てられるように、予め設定されている、ことを特徴とする。
また、本発明の前記基準位置は、前記入力データの上位ビットが、同一の前記変換単位に含まれる連続する2つの前記転送単位の前記変更データの同一のビットに割り当てられる割合が大きくなるように設定されている、ことを特徴とする。
また、本発明の前記変更データは、同一の前記変換単位に含まれる直前の前記転送単位の前記変更データの同一のビットと同じデータが割り当てられている、ことを特徴とする。
また、本発明の前記変更データは、同一の前記変換単位に含まれる直前または直後のいずれか一方の前記転送単位の前記変更データの同一のビットと同じデータが割り当てられている、ことを特徴とする。
また、本発明の前記第2のデータ選択部は、前記第2のデータ配置変更部から入力された前記第1の転送データを選択する際、同一の前記変換単位に含まれる連続する2つの前記転送単位の前記第1の転送データが元の順番になるように、予め定められた選択順番で前記第1の転送データを選択する、ことを特徴とする。
また、本発明のデータ処理方法は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、を含み、前記データ変換ステップは、前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成ステップと、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成する第1のデータ配置変更ステップと、前記第1のデータ配置変更ステップによって前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データを該データ変換ステップにおける前記転送データとして出力する第1のデータ選択ステップと、を含同一の前記変換単位に含まれる連続する2転送間の前記変更データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データの予め定められたビットの位置をシフトするための基準位置が予め定められており、前記第1のデータ配置変更ステップは、それぞれの前記第1の転送データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置を前記基準位置までシフトし、前記第1の転送データのシフトによって前記データバスの幅からはみ出した前記第1の転送データ内に配置された前記入力データの各ビットを、該第1の転送データにおいて前記入力データが巡回するように、該第1の転送データの反対側のビットに再配置する、ことを特徴とする。
また、本発明のデータ処理方法は、順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、を含み、前記データ変換ステップは、前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成ステップと、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成する第1のデータ配置変更ステップと、前記第1のデータ配置変更ステップによって前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データを該データ変換ステップにおける前記転送データとして出力する第1のデータ選択ステップと、を含み、同一の前記変換単位に含まれる連続する2転送間の前記変更データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データを、同じ種類の情報を持つ前記入力データを並べ替えの単位として並べ替えるための基準位置が予め定められており、前記第1のデータ配置変更ステップは、それぞれの前記第1の転送データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置が前記基準位置になるように前記並べ替えの単位で並べ替える、ことを特徴とする。
また、本発明のデータ処理方法は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、を含み、前記データ逆変換ステップは、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成し、前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データが前記データバスから入力され、該入力された前記変更データ内に配置された複数の前記入力データの配置を元の配置に戻すように、前記変更データ内に配置された前記入力データの位置を、元の前記入力データの配置位置に変更して前記第1の転送データに戻す第2のデータ配置変更ステップと、前記第2のデータ配置変更ステップによって前記入力データの配置が元の配置に戻された前記第1の転送データを順次選択する第2のデータ選択ステップと、前記第2のデータ選択ステップによって選択された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元ステップと、を含前記変更データは、同一の前記変換単位に含まれる連続する2転送間の前記転送データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データの予め定められたビットの位置が予め定められた基準位置までシフトされたデータであり、前記第2のデータ配置変更ステップは、それぞれの前記変更データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置を元の位置までシフトし、前記変更データのシフトによって前記データバスの幅からはみ出した前記変更データ内に配置された前記入力データの各ビットを、該変更データにおいて前記入力データが巡回するように、該変更データの反対側のビットに再配置する、ことを特徴とする。
また、本発明のデータ処理方法は、複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、を含み、前記データ逆変換ステップは、前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成し、前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データが前記データバスから入力され、該入力された前記変更データ内に配置された複数の前記入力データの配置を元の配置に戻すように、前記変更データ内に配置された前記入力データの位置を、元の前記入力データの配置位置に変更して前記第1の転送データに戻す第2のデータ配置変更ステップと、前記第2のデータ配置変更ステップによって前記入力データの配置が元の配置に戻された前記第1の転送データを順次選択する第2のデータ選択ステップと、前記第2のデータ選択ステップによって選択された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元ステップと、を含み、前記変更データは、同一の前記変換単位に含まれる連続する2転送間の前記転送データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データを、同じ種類の情報を持つ前記入力データを並べ替えの単位として予め定められた基準位置に並べ替えたデータであり、前記第2のデータ配置変更ステップは、それぞれの前記変更データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置が元の位置になるように前記並べ替えの単位で並べ替える、ことを特徴とする。
本発明によれば、データの転送効率を維持した状態で、データ転送に係る消費電力を低減することができるという効果が得られる。
本発明の実施形態における撮像装置の概略構成を示したブロック図である。 本実施形態の撮像装置に備えた第1の構成のデータ変換部の概略構成を示したブロック図である。 本実施形態の撮像装置に備えた第1の構成のデータ逆変換部の概略構成を示したブロック図である。 本第1の構成のデータ変換部における第1のデータ配置方法を説明する図である。 本第1の構成のデータ変換部における第2のデータ配置方法を説明する図である。 本第1の構成のデータ変換部における第3のデータ配置方法を説明する図である。 本実施形態の撮像装置に備えた第2の構成のデータ変換部の概略構成を示したブロック図である。 本実施形態の撮像装置に備えた第2の構成のデータ逆変換部の概略構成を示したブロック図である。 本第2の構成のデータ変換部におけるデータ出力順変更方法を説明する図である。 本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別の画像データに適用した場合の一例を示した図である。 本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、さらに別の画像データに適用した場合の一例を示した図である。 本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、さらに別の画像データに適用した場合の一例を示した図である。 本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別のデータに適用した場合の一例を示した図である。 本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、別の構成のデータに適用した場合の一例を示した図である。 本実施形態の撮像装置に備えたデータ変換部によるデータ配置方法を、従来のデータ配置に適用した場合の一例を示した図である。 従来の撮像装置の概略構成を示したブロック図である。 画像データの配列の一例を示した図である。 従来のデータパッキングの一例を示した図である。 データバス上のデータの変化と消費電力との関係を説明する図である。 従来のデータパッキング方法におけるデータ配置の状態の一例を示した図である。 従来のデータパッキング方法におけるデータ配置の状態の別の一例を示した図である。
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態における撮像装置の概略構成を示したブロック図である。図1に示した撮像装置1は、CPU10と、メモリ20と、CCD30と、撮像処理部40と、画像処理部50と、表示処理部60と、表示デバイス70と、データ変換部41および51と、データ逆変換部52および62と、出力DMA部45および55と、入力DMA部56および66と、を備えている。なお、撮像装置1は、撮影した画像データを記録する機能も有しているが、説明を容易にするため、以下の説明においては、撮影した画像データを表示する場合について説明する。また、図1においては、撮像装置1内の各構成要素(処理ブロック)間での画素データの受け渡しに係るデータバスであるメモリバスの接続のみを示している。
CPU10は、撮像装置1の全体の制御を行う制御装置である。
メモリ20は、撮像装置1内の各処理ブロックが処理する画素データを一時的に記憶する、例えば、DRAM(Dynamic Random Access Memory)などのメモリである。メモリ20には、撮像装置1内の各処理ブロックによる各処理段階の画素データが一時記憶される。
CCD30は、入射した被写体光を画像信号に変換する、例えば、ベイヤー配列の固体撮像素子である。CCD30は、被写体の画素信号を撮像処理部40に出力する。
撮像処理部40は、CCD30から入力された画素信号に対して、予め定められた信号処理を行った画像データを生成する。
画像処理部50は、撮像処理部40が生成した画像データに対して、撮像装置1における種々の画像処理を行った画像データを生成する。
表示処理部60は、画像処理部50によって画像処理された画像データを、表示デバイス70に応じた表示データに変換する。表示処理部60は、変換した表示データを表示デバイス70に出力する。
表示デバイス70は、表示データを表示する、例えば、液晶などの表示装置である。
本実施形態の撮像装置1では、CCD30によって撮像された被写体の画素信号を、撮像処理部40、画像処理部50、表示処理部60が順次処理し、表示デバイス70に表示させる。このとき、各処理段階の画像データは、メモリ20を介して各処理ブロック間で受け渡される。撮像装置1内のデータ変換部41および51と、データ逆変換部52および62と、出力DMA部45および55と、入力DMA部56および66とは、各処理段階の画像データの受け渡しに係る処理ブロックである。
データ変換部41および51は、前段の処理ブロック(図1に示した本実施形態においては、撮像処理部40または画像処理部50)から入力された画像データ内の各画素データを、予め定められた配置(パッキング)方法で、メモリバスの各ビットに配置する。データ変換部41および51の構成と、データ変換部41および51による画素データのパッキング方法に関する詳細な説明は、後述する。
出力DMA部45および55は、データ変換部41または51によってメモリバスの各ビットにパッキングされた画素データからなる画像データを、DMAアクセスによってメモリ20に書き込む(記憶させる)。
入力DMA部56および66は、メモリ20に記憶されている画像データをDMAアクセスによって読み出し、読み出した画像データを、データ逆変換部52または62に出力する。
データ逆変換部52および62は、入力DMA部56または66から入力された画像データに含まれる画素データを、予め定められた配置(パッキング)方法と逆の方法で元の画像データに戻し、後段の処理ブロック(図1に示した本実施形態においては、画像処理部50または表示処理部60)に出力する。データ逆変換部52および62の構成に関する詳細な説明は、後述する。
ここで、図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に表示させる。
なお、撮像装置1が撮影した画像データを記録する場合には、画像データの記録処理を行う図示しない記録処理部が、画像処理部50によって記録用の画像処理がされた画像データを、図示しない入力DMA部およびデータ逆変換部を介して読み出し、読み出した記録用の画像データをメモリカードなどの図示しない画像データ記録部に記録する。また、撮像装置1に、例えば、音を入出力する機能を備えている場合には、音声処理を行う図示しない音声処理部が、撮影時の音声データを、図示しないデータ変換部および出力DMA部を介してメモリ20に記憶する。また、音声処理部が、メモリ20に記憶している音声データを、図示しない入力DMA部およびデータ逆変換部を介して読み出し、読み出した音声データに応じた音声を、スピーカーなどの図示しない音出力部に出力させる。
<第1の構成>
次に、撮像装置1内のデータ変換部について説明する。なお、上記に述べたように、データ変換部41とデータ変換部51とは、接続される前段の処理ブロックと後段の処理ブロックが異なるのみである。より具体的には、図1に示したように、データ変換部41は、前段の撮像処理部40と後段の出力DMA部45との間に配置され、データ変換部51は、前段の撮画像処理部50と後段の出力DMA部55との間に配置されている。従って、データ変換部41とデータ変換部51とは、入力される画像データと出力する画像データとのデータ形式(フォーマット)が異なるのみである。以下の説明においては、代表してデータ変換部41について説明する。
図2は、本実施形態の撮像装置1に備えた本第1の構成のデータ変換部41の概略構成を示したブロック図である。図2に示したように、データ変換部41は、パックデータ生成部411と、パックデータ配置変更部412と、データ選択部413と、を備えている。
なお、以下の説明においては、データ変換部41に、図17に示したような、16行×16列のベイヤー配列の画像データ(以下、「ベイヤーデータ」という)が入力され、ベイヤーデータ内の各画素データをパッキングする単位を4転送とし、4転送を1回のバースト転送の単位とする、すなわち、1バーストを画素データのパッキング単位とする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバスのバス幅(メモリバス幅)は32bitであるものとして説明する。なお、図17に示したベイヤーデータでは、各画素データの数字がCCD30内の画素の位置を表しており、数字の前の「R」,「G」,「B」がCCD30内の画素の色を表している。より具体的には、「R」がCCD30の赤色の画素の画素データ、「G」がCCD30の緑色の画素の画素データ、「B」がCCD30の青色の画素の画素データを表している。
データ変換部41は、撮像処理部40から入力された11bitの画素データの各ビットのデータを、予め定められた後述するパッキング方法のいずれか1つの方法で、メモリバス上の各ビットに配置した32bitのパックデータを生成する。そして、データ変換部41は、出力DMA部45から入力されるデータイネーブル信号に基づいて生成したパックデータを順次出力する。なお、データイネーブル信号は、出力DMA部45がバースト転送する際に何転送目のパックデータを転送するかを表す情報を含んでいる信号である。
パックデータ生成部411は、入力された画素データの各ビットのデータを、メモリバスに対応したデータバス(このデータバスはメモリバスの各ビットに対応しているため、以下の説明においては、「メモリバス」として説明する)の各ビットに順次配置する。そして、画素データを順次配置したメモリバス幅のビット数(図2においては、32bit)のパックデータ(以下、「転送パックデータ」という)をパックデータ配置変更部412に出力する。なお、パックデータ生成部411によるメモリバスへの画素データの配置方法は、従来のバースト単位でのパッキング方法と同様であるため、詳細な説明は省略する。
パックデータ配置変更部412は、パックデータ生成部411から入力された転送パックデータ内の画素データの配置を変更したパックデータ(以下、「変更パックデータ」という)を生成する。そして、パックデータ配置変更部412は、生成した1バースト分のそれぞれの変更パックデータを、データ選択部413に出力する。
より具体的には、パックデータ配置変更部412は、予め定められた後述するパッキング方法に基づいて、画素データをメモリ20にバースト転送する際の連続する2転送間のデータにおいて、隣接する同一色の画素データがメモリバス上の同一ビットに配置されるように、転送パックデータ内の画素データの配置を変更した変更パックデータを生成する。パックデータ配置変更部412には、パックデータ毎、すなわち、バースト転送における1サイクル分のメモリアクセス(1転送)毎に、転送パックデータ内の画素データの配置の変更量が予め設定されている。そして、パックデータ配置変更部412は、パックデータ生成部411から転送パックデータが入力される毎に、入力された転送パックデータが何転送目のパックデータ(転送パックデータ)であるかを判断し、その判断結果に応じた量の配置変更を行う。
なお、パックデータ配置変更部412は、上記に述べたように、パックデータ生成部411から転送パックデータが入力される毎に、予め定められた後述するパッキング方法に基づいた変更パックデータを順次生成する構成とすることもできるが、パックデータ配置変更部412内に、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitの転送パックデータを一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、パックデータ生成部411から入力された転送パックデータをメモリ部に一旦保持し、保持したそれぞれの転送パックデータに対して、何転送目の転送パックデータであるかの判断結果に応じた量の配置変更を行う。
データ選択部413は、出力DMA部45から入力されたデータイネーブル信号に基づいて、パックデータ配置変更部412から入力された変更パックデータを順次選択し、選択した変更パックデータを、データ変換部41によって生成されたパックデータとして、出力DMA部45に出力する。データ選択部413は、データイネーブル信号に基づいて、バースト転送における何転送目のパックデータを転送するかを判断し、その判断結果に基づいてパックデータ配置変更部412から入力されたそれぞれの変更パックデータの内、いずれか1つの変更パックデータを選択する。
次に、撮像装置1内のデータ逆変換部について説明する。なお、上記に述べたように、データ逆変換部52とデータ逆変換部62とは、接続される前段の処理ブロックと後段の処理ブロックが異なるのみである。より具体的には、図1に示したように、データ逆変換部52は、前段の入力DMA部56と後段の画像処理部50との間に配置され、データ逆変換部62は、前段の入力DMA部66と後段の表示処理部60との間に配置されている。従って、データ逆変換部52とデータ逆変換部62とは、入力される画像データと出力する画像データとのデータ形式(フォーマット)が異なるのみである。以下の説明においては、代表してデータ逆変換部52について説明する。
図3は、本実施形態の撮像装置1に備えた本第1の構成のデータ逆変換部52の概略構成を示したブロック図である。図3に示したように、データ逆変換部52は、パックデータ配置変更部521と、データ選択部522と、パックデータ復元部523と、を備えている。
なお、以下の説明においては、データ逆変換部52に、データ変換部41によってパッキングされた、4転送をパッキング単位とした1バーストのパックデータが、入力DMA部56を介して入力され、入力されたパックデータを、図17に示したベイヤーデータに戻す場合について説明する。従って、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとして説明する。
データ逆変換部52は、入力DMA部56から入力された32bitのパックデータの各ビットに配置されたデータを、予め定められた後述するパッキング方法のいずれか1つの方法と逆の方法で、画像処理部50が画像処理する元の画像データ(ベイヤーデータ)に戻した11bitの画素データに復元する。そして、データ逆変換部52は、入力DMA部56から入力されるデータイネーブル信号に基づいて復元した元の画素データを順次出力する。なお、データイネーブル信号は、入力DMA部56がバースト転送した際に何転送目のパックデータが転送されたかを表す情報を含んでいる信号である。
パックデータ配置変更部521は、入力されたパックデータ(このパックデータは、データ変換部41内のパックデータ配置変更部412が生成した変更パックデータと同等であるため、以下の説明においては、「変更パックデータ」として説明する)内の画素データの配置を元に戻したパックデータ(このパックデータは、変更パックデータを、パックデータ生成部411が生成した転送パックデータに戻したデータと同等であるため、以下の説明においては、「転送パックデータ」として説明する)を生成する。そして、パックデータ配置変更部521は、生成した1バースト分のそれぞれの転送パックデータを、データ選択部522に出力する。
より具体的には、パックデータ配置変更部521は、予め定められた後述するパッキング方法と逆の方法で、それぞれの転送パックデータを生成する。なお、パックデータ配置変更部521には、パックデータ毎、すなわち、バースト転送における1サイクル分のメモリアクセス(1転送)毎に、パックデータ(変更パックデータ)内の画素データの配置の変更量が予め設定されている。そして、パックデータ配置変更部521は、入力DMA部56からパックデータ(変更パックデータ)が入力される毎に、入力されたパックデータが何転送目の変更パックデータであるかを判断し、その判断結果に応じた量の配置変更を行う。
なお、パックデータ配置変更部521は、上記に述べたように、入力DMA部56から変更パックデータが入力される毎に、予め定められた後述するパッキング方法と逆の方法で、それぞれの転送パックデータを順次生成する構成とすることもできるが、パックデータ配置変更部521内に、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitのパックデータ(変更パックデータ)を一時的に保持するメモリ部を備えた構成とすることもできる。この場合には、入力DMA部56から入力された変更パックデータをメモリ部に一旦保持し、保持したそれぞれの変更パックデータに対して、何転送目の変更パックデータであるかの判断結果に応じた量の配置変更を行う。
データ選択部522は、入力DMA部56から入力されたデータイネーブル信号に基づいて、パックデータ配置変更部521から入力された転送パックデータを順次選択し、選択した転送パックデータを、パックデータ復元部523に出力する。データ選択部522は、データイネーブル信号に基づいて、バースト転送における何転送目の転送パックデータが転送されてきたかを判断し、その判断結果に基づいてパックデータ配置変更部521から入力されたそれぞれの転送パックデータの内、いずれか1つの転送パックデータを選択する。
パックデータ復元部523は、データ選択部522から入力された転送パックデータの各ビットに配置された画素データを順次分割(アンパッキング)し、元の画素データ(図3においては、11bitの画素データ)に復元する。そして、パックデータ復元部523は、複製した元の画素データを順次、画像処理部50に出力する。なお、パックデータ復元部523による転送パックデータの元の画素データへの復元方法は、従来のバースト単位でのパッキング方法における復元方法と同様であるため、詳細な説明は省略する。
次に、画素データの配置(パッキング)方法について説明する。本実施形態の撮像装置1では、データ変換部41および51が入力された画素データをメモリバスに配置したパックデータを生成し、データ逆変換部52および62が入力されたパックデータを元の画素データに戻す。なお、以下の説明においては、データ変換部41に、図17に示したベイヤーデータ内の各画素データが順次入力され、4転送を1つのパッキング単位とした1バーストのパックデータにパッキングする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとする。
なお、データ逆変換部52および62によるパックデータを元の画素データに戻す方法は、データ変換部41および51による画素データのパッキング方法と逆の方法であるため、詳細な説明は省略する。
<第1のデータ配置方法>
図4は、本第1の構成のデータ変換部41における本第1のデータ配置方法(パッキング方法)を説明する図である。図4(a)には、従来のバースト単位でのパッキング方法で生成された、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータを示している。また、図4(b)には、本第1のパッキング方法で画素データの配置が変更された変更パックデータ内の画素データの配置を示している。
上記に述べたように、画像データは、通常、隣接する画素同士の方が画素データの変化量が小さい。このため、パックデータを構築する際には、バースト転送時にメモリバスの各ビットの変化量が最も小さくなるように、隣接する画素の画素データの同一ビットを、各転送におけるメモリバスの同一のビットに配置することが望ましい。
また、ベイヤー、RGB、またはYC422点順次など、画像処理部50が画像処理する際の画像のフォーマットによって、画像データ内の各画素データが表す色の情報が異なる。このため、パックデータを構築する際には、バースト転送時にメモリバスの各ビットの変化量が最も小さくなるように、同一色の画素データを、各転送におけるメモリバスの同一のビットに配置することが望ましい。
本第1のパッキング方法では、パックデータ配置変更部412が、予め設定されたシフト基準位置に画素データの境界のビットが配置されるように、それぞれの転送パックデータ毎に各ビットの画素データをビットシフトした変更パックデータを生成する。なお、シフト基準位置は、バースト転送する際の連続する2転送間のデータにおいて、メモリバス上に配置される隣接する同一色の画素データのビットの位置がなるべく同じ位置になるように、転送パックデータ内の画素データの配置を変更するための基準となるビットの位置に予め設定される。パックデータ配置変更部412は、それぞれの転送パックデータ内の画素データのビットの配置がシフト基準位置になるように転送パックデータの各ビットの配置をシフトして、メモリバス上の各ビットの変化が最も小さくなるように、転送パックデータ内の画素データの各ビットの配置を変更する。
なお、シフト基準位置は、同一色で同一ビットの画素データが、複数転送間のメモリバスの同一ビットに多く配置される位置に設定することが望ましい。また、画像データは、隣接する画素間で画素データの変化量が小さい場合、画素データの上位ビットは変化せず、下位ビットだけが変化することが予想される。このため、各転送パックデータ内の画素データをビットシフトする際には、変化量の少ない上位のビットがメモリバス上の同一ビットに配置されるように、シフト基準位置を設定することが望ましい。
ここで、図4を用いて、本第1のパッキング方法における画素データの配置(パッキング)の一例を説明する。まず、パックデータ生成部411が、ベイヤーデータ内の各画素データ(「R0」,「G1」,「R2」,「G3」,「R4」,「G5」,「R6」,「G7」,「R8」,「G9」,「R10」)をパッキングした転送パックデータを生成する。より具体的には、パックデータ生成部411は、図4(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」を、それぞれメモリバスの最下位ビットから順次配置(パッキング)する。
なお、パックデータ生成部411は、パッキング単位内に画素データの全てのビットを配置することができない場合には、次の画素データ(例えば、ベイヤーデータ内の画素データ「G11」)をパッキングしない。これは、データ変換部41は、パッキング単位で各画素データをパッキングするため、「G11」の画素データの一部をパッキングすると、「G11」のデータがパッキング単位を跨いでしまうことになるためである。従って、画素データが配置されなかったパッキング単位内の転送パックデータのビット(図4においては、4転送目の転送パックデータのビット[25]〜ビット[31])は、未使用ビットとする。なお、未使用ビットには、全て同じ値のデータ(例えば、全て“1”または全て“0”のデータ)を配置する構成とすることもできる。
続いて、パックデータ配置変更部412が、それぞれの転送パックデータ毎に各ビットに配置された画素データをシフトして、変更パックデータを生成する。なお、ここでは、図4(a)に示した4転送目の「G9」のビット[10]と「R10」のビット[0]との境界の位置にシフト基準位置が設定されているものとする。パックデータ配置変更部412は、図4(a)に示した1転送目〜3転送目までの転送パックデータに含まれる緑色の画素データのビット[10]と赤色の画素データのビット[0]との境界の位置が、設定されたシフト基準位置になるように、それぞれの転送パックデータの各ビットをシフトして、図4(b)に示したような変更パックデータを生成する。より具体的には、パックデータ配置変更部412は、図4(a)内に示した矢印のように、1転送目の転送パックデータを右に8ビットシフトする。また、パックデータ配置変更部412は、2転送目の転送パックデータを左に2ビット、3転送目の転送パックデータを右に10ビット、それぞれシフトする。
なお、パックデータ配置変更部412は、各転送パックデータをビットシフトすることによってメモリバス幅をはみ出した各ビットの画素データを、各転送パックデータにおいて巡回するように、反対側のビットに再配置する。すなわち、パックデータ配置変更部412は、右シフトによってメモリバス幅をはみ出した下位のビットを、転送パックデータの上位のビットに再配置し、左シフトによってメモリバス幅をはみ出した上位のビットを、転送パックデータの下位のビットに再配置する。
このようにして、本第1のパッキング方法では、バースト転送における1サイクル分のメモリアクセス(1転送)毎に、転送パックデータ内の各ビットの画素データを再配置した変更パックデータを生成することによって、各転送間でのメモリバス上の画素データのビット位置のずれを少なくすることができる。これにより、隣接する同一色の画素データが、メモリバス上の同一ビットに配置される割合が大きくなり、バースト転送時におけるメモリバスの各ビットの変化量を少なくすることができる。このことにより、本第1のパッキング方法では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。
なお、変更パックデータの生成は、それぞれの転送パックデータ毎に、転送パックデータ内の画素データをビットシフトするという簡易な方法で実現することができる。このため、変更パックデータの生成に係る回路規模の増大を、最小限に抑えることができる。
<第2のデータ配置方法>
図5は、本第1の構成のデータ変換部41における本第2のデータ配置方法(パッキング方法)を説明する図である。図5(a)には、従来のバースト単位でのパッキング方法で生成された、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータを示している。また、図5(b)には、本第2のパッキング方法で画素データの配置が変更された変更パックデータ内の画素データの配置を示している。
本第2のパッキング方法では、パックデータ配置変更部412が、予め設定された並べ替え基準位置に画素データの境界が配置されるように、それぞれの転送パックデータ毎に画素データを並べ替えた変更パックデータを生成する。なお、並べ替え基準位置は、バースト転送する際の連続する2転送間のデータにおいて、メモリバス上に配置される隣接する同一色の画素データのビットの位置がなるべく同じ位置になるように、転送パックデータ内の画素データの配置を変更するための基準となるビットの位置に予め設定される。パックデータ配置変更部412は、それぞれの転送パックデータ内の画素データの配置が並べ替え基準位置になるように転送パックデータ内の画素データの配置を並べ替えて、メモリバス上の各ビットの変化が最も小さくなるように、転送パックデータ内の画素データの配置を変更する。
なお、並べ替え基準位置は、同一色で同一ビットの画素データが、複数転送間のメモリバスの同一ビットに多く配置される位置に設定することが望ましい。また、画像データは、隣接する画素間で画素データの変化量が小さい場合、画素データの上位ビットは変化せず、下位ビットだけが変化することが予想される。このため、各転送パックデータ内の画素データを並べ替える際には、変化量の少ない上位のビットがメモリバス上の同一ビットに配置されるように、並べ替え基準位置を設定することが望ましい。
ここで、図5を用いて、本第2のパッキング方法における画素データの配置(パッキング)の一例を説明する。まず、パックデータ生成部411が、ベイヤーデータ内の各画素データ(「R0」,「G1」,「R2」,「G3」,「R4」,「G5」,「R6」,「G7」,「R8」,「G9」,「R10」)をパッキングした転送パックデータを生成する。なお、第2のパッキング方法における転送パックデータの生成方法は、第1のパッキング方法と同様であるため、詳細な説明は省略する。
続いて、パックデータ配置変更部412が、それぞれの転送パックデータ毎に転送パックデータ内に配置された画素データを並べ替えて、変更パックデータを生成する。なお、ここでは、図5(a)に示した1転送目の「R0」のビット[10]と「G1」のビット[0]との境界の位置に並べ替え基準位置が設定されているものとする。パックデータ配置変更部412は、図5(a)に示した2転送目〜4転送目までの転送パックデータに含まれる赤色の画素データのビット[10]と緑色の画素データのビット[0]との境界の位置が、設定された並べ替え基準位置になるように、それぞれの転送パックデータ内の画素データを並べ替えて、図5(b)に示したような変更パックデータを生成する。より具体的には、パックデータ配置変更部412は、図5(a)内に示した矢印のように、2転送目の「G3」、「R4」、および「R2」のビット[10]を並べ替える。また、パックデータ配置変更部412は、3転送目の転送パックデータを右に2ビットシフトすることによって2転送目の転送パックデータを並べ替える。なお、ビットシフトすることによってメモリバス幅をはみ出した「G5」のビット[9]〜ビット[10]は、2転送目の転送パックデータで巡回するように、転送パックデータの上位のビットに再配置する。また、パックデータ配置変更部412は、4転送目の「G9」、「R10」、および「R8」のビット[8]〜ビット[10]を並べ替える。
このようにして、本第2のパッキング方法では、バースト転送における1サイクル分のメモリアクセス(1転送)毎に、転送パックデータ内の画素データを再配置した変更パックデータを生成することによって、各転送間でのメモリバス上の画素データのビット位置のずれを少なくすることができる。これにより、隣接する同一色の画素データが、メモリバス上の同一ビットに配置される割合を、第1のパッキング方法と同様に大きくすることができ、バースト転送時におけるメモリバスの各ビットの変化量を少なくすることができる。このことにより、本第2のパッキング方法では、第1のパッキング方法と同様に画像データの転送に係る消費電力を低減させることができる。
なお、図5に示した第2のパッキング方法では、転送パックデータ内の画素データを再配置する際に、各転送パックデータに含まれる画素データを色毎にまとめて並べ替える場合について説明したが、画素データを並べ替える方法は、本第2のパッキング方法に限定されるものではない。すなわち、同一色で同一ビットの画素データが、連続する2転送間においてメモリバス上の同一ビットに配置される方法であれば、他の並べ替え方法を適用することもできる。例えば、各画素データをそれぞれのビットに分割して、分割したビット毎に、同一色で同一ビットの画素データが、連続する2転送間のメモリバス上の同一ビットに配置されるようにすることもできる。これにより、さらに画像データの転送に係る消費電力を低減させることも可能となる。
また、変更パックデータの生成は、それぞれの転送パックデータ毎に、転送パックデータ内の画素データの配置を並べ替えるという簡易な方法で実現することができる。このため、変更パックデータの生成に係る回路規模の増大を、最小限に抑えることができる。
<第3のデータ配置方法>
図6は、本第1の構成のデータ変換部41における本第3のデータ配置方法(パッキング方法)を説明する図である。図6(a)には、第1のパッキング方法で画素データの配置が変更された変更パックデータ内の画素データの配置を示し、図6(b)には、本第3のパッキング方法で画素データの配置が変更された変更パックデータ内の画素データの配置を示している。
本第3のパッキング方法では、パックデータ配置変更部412が、第1のパッキング方法または第2のパッキング方法と同様に、連続する2転送間のデータにおいて、隣接する同一色の画素データが、メモリバス上の同一ビットに配置されるように、転送パックデータ内の画素データの配置を変更する。さらに、本第3のパッキング方法では、パックデータ配置変更部412が、パッキング単位内の転送パックデータの未使用ビットに、直前の1転送の変更パックデータに配置されている画素データと同一ビットの画素データを再度配置、すなわち、コピーして配置する。なお、第3のパッキング方法におけるパッキング単位内の転送パックデータの未使用ビット以外の画素データの配置および配置変更の方法は、第1のパッキング方法または第2のパッキング方法と同様であるため、詳細な説明は省略する。
ここで、パックデータ配置変更部412による未使用ビットの画素データの配置について、より具体的に説明する。なお、以下の説明においては、図6(a)に示したように、第1のパッキング方法によって生成された変更パックデータに対して本第3のパッキング方法を適用する場合の一例を説明する。第2のパッキング方法によって生成された変更パックデータに対して本第3のパッキング方法を適用する場合においても、同様に考えることができる。パックデータ配置変更部412は、4転送目の未使用ビット(図6においては、4転送目の変更パックデータのビット[25]〜ビット[31])に、3転送目のデータバスのビット[25]〜ビット[31]に配置した画素データ(図6においては、画素データ「R6」のビット[1]〜ビット[7])を、コピーして、再度配置する。
このようにして、本第3のパッキング方法では、パッキング単位内の転送パックデータの未使用ビットに、直前の1転送で配置した画素データと同一の値を配置している(図6における4転送目参照)。これにより、第1のパッキング方法または第2のパッキング方法よりもさらにバースト転送時におけるメモリバスの各ビットの変化量、特に、転送パックデータの未使用ビットの変化量を少なくすることができる。このことにより、本第3のパッキング方法では、第1のパッキング方法または第2のパッキング方法よりもさらに、画像データの転送に係る消費電力を低減させることができる。
上記に述べたように、本第1の構成のデータ変換部41および51では、バースト転送時におけるメモリバスの各ビットの変化量が少なくなるように、転送パックデータ内の画素データの配置を変更することができる。これにより、本第1の構成のデータ変換部41および51では、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。このことにより、撮像装置1内の各構成要素(処理ブロック)とメモリ20との間での画素データの転送、すなわち、撮像装置1内の各構成要素間での画素データの受け渡しに係る消費電力を低減させることができる。
また、本第1の構成のデータ変換部41および51では、簡易な方法で変更パックデータの生成を実現することができる。このため、変更パックデータの生成に係る回路規模の増大を、最小限に抑えることができる。
<第2の構成>
次に、本第2の構成のデータ変換部について説明する。図7は、本実施形態の撮像装置1に備えた本第2の構成のデータ変換部43の概略構成を示したブロック図である。図7に示したデータ変換部43は、第1の構成のデータ変換部41の代わりに、撮像装置1に備えられる。従って、データ変換部43は、データ変換部51の代わりに撮像装置1に備えることもできる。図7に示したように、データ変換部43は、パックデータ生成部411と、パックデータ配置変更部412と、データ選択部433と、を備えている。
本第2の構成のデータ変換部43と、図2に示した第1の構成のデータ変換部41との異なる点は、第1の構成のデータ変換部41内のデータ選択部413に代わって、データ選択部433を備えたことのみである。従って、以下の説明においては、第1の構成のデータ変換部41内の構成要素と同様の構成要素に対して同一の符号を付与し、それぞれの詳細な説明は省略する。
なお、以下の説明においては、第1の構成と同様に、データ変換部43に、図17に示したような、16行×16列のベイヤーデータが入力され、4転送をベイヤーデータ内の各画素データのパッキング単位とし、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitである場合について説明する。
データ変換部43は、第1の構成のデータ変換部41と同様に、撮像処理部40から入力された11bitの画素データの各ビットのデータを、予め定められたパッキング方法で、メモリバス上の各ビットに配置した32bitのパックデータを出力する。ただし、パックデータを出力する方法は、第1の構成のデータ変換部41と異なる。データ変換部43によるパックデータの出力方法に関する詳細な説明は、後述する。
データ選択部433は、第1の構成のデータ変換部41内のデータ選択部413と同様に、出力DMA部45から入力されたデータイネーブル信号に基づいて、パックデータ配置変更部412から入力された変更パックデータを選択して、データ変換部43によって生成されたパックデータとして、出力DMA部45に出力する。ただし、データ選択部433は、データイネーブル信号に基づいてパックデータ配置変更部412から入力された変更パックデータを順次選択するのではなく、予め定められた後述する出力順変更方法に基づいて、出力DMA部45に出力する変更パックデータの順番を入れ替える。
なお、データ選択部433内には、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitの変更パックデータを一時的に保持するメモリ部を備え、パックデータ配置変更部412から順次入力される変更パックデータを一旦保持する。そして、データ選択部433は、データイネーブル信号に基づいて、バースト転送における何転送目のパックデータを転送するかを判断し、その判断結果に基づいて保持しているそれぞれの変更パックデータの内、いずれか1つの変更パックデータを選択して出力DMA部45に出力する。
次に、本第2の構成のデータ逆変換部について説明する。図8は、本実施形態の撮像装置1に備えた本第2の構成のデータ逆変換部54の概略構成を示したブロック図である。図8に示したデータ逆変換部54は、第1の構成のデータ逆変換部52の代わりに、撮像装置1に備えられる。従って、データ逆変換部54は、データ逆変換部62の代わりに撮像装置1に備えることもできる。図8に示したように、データ逆変換部54は、パックデータ配置変更部521と、データ選択部542と、パックデータ復元部523と、を備えている。
本第2の構成のデータ逆変換部54と、図3に示した第1の構成のデータ逆変換部52との異なる点は、第1の構成のデータ逆変換部52内のデータ選択部522に代わって、データ選択部542を備えたことのみである。従って、以下の説明においては、第1の構成のデータ逆変換部52内の構成要素と同様の構成要素に対して同一の符号を付与し、それぞれの詳細な説明は省略する。
なお、以下の説明においては、第1の構成と同様に、データ逆変換部54に、データ変換部43によってパッキングされた、4転送をパッキング単位とした1バーストのパックデータが、入力DMA部56を介して入力され、入力されたパックデータを、図17に示したベイヤーデータに戻す場合について説明する。従って、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとして説明する。
データ逆変換部54は、第1の構成のデータ逆変換部52と同様に、入力DMA部56から入力された32bitのパックデータの各ビットに配置されたデータを、予め定められたパッキング方法と逆の方法で、画像処理部50が画像処理する元の画像データ(ベイヤーデータ)に戻した11bitの画素データを出力する。ただし、データ逆変換部54には、第1の構成のデータ逆変換部52と異なる順番でパックデータが入力されるため、画像データの順番を元の順番に戻して画像処理部50に出力する。
データ選択部542は、第1の構成のデータ逆変換部52内のデータ選択部522と同様に、入力DMA部56から入力されたデータイネーブル信号に基づいて、パックデータ配置変更部521から入力された転送パックデータを選択して、パックデータ復元部523に出力する。ただし、データ選択部542は、データイネーブル信号に基づいてパックデータ配置変更部521から入力された変更パックデータを順次選択するのではなく、パックデータ配置変更部521から入力された変更パックデータの順番を、予め定められた後述する出力順変更方法と逆の順番に入れ替えて、すなわち、元の順番に戻してパックデータ復元部523に出力する。
なお、データ選択部542内には、例えば、1バースト分、すなわち、パッキング単位(4転送)分の32bitの変更パックデータを一時的に保持するメモリ部を備え、パックデータ配置変更部521から順次入力される変更パックデータを一旦保持する。そして、データ選択部542は、データイネーブル信号に基づいて、バースト転送における何転送目のパックデータを転送するかを判断し、その判断結果に基づいて保持しているそれぞれの変更パックデータの内、いずれか1つの変更パックデータを選択してパックデータ復元部523に出力する。
次に、本第2の構成におけるパックデータの出力順番の変更方法(出力順変更方法)について説明する。本実施形態の撮像装置1では、例えば、データ変換部43が入力された画素データをメモリバスに配置したパックデータを生成し、データ逆変換部54が入力されたパックデータを元の画素データに戻す。従って、データ変換部43が出力するパックデータの順番が異なる場合でも、データ逆変換部54が入力されたパックデータの順番を元に戻すことによって、本実施形態の撮像装置1における一連の処理は問題なく実行することができる。なお、以下の説明においては、データ変換部43に、図17に示したベイヤーデータ内の各画素データが順次入力され、4転送を1つのパッキング単位とした1バーストのパックデータにパッキングする場合について説明する。また、ベイヤーデータ内の各画素データのビット数は11bitであり、メモリバス幅は32bitであるものとする。
なお、データ逆変換部54によるパックデータの順番を元の順番に戻す方法は、データ変換部43によるパックデータの出力順変更方法と逆の方法であるため、詳細な説明は省略する。
<データ出力順変更方法>
図9は、本第2の構成のデータ変換部43における本データ出力順変更方法を説明する図である。図9(a)には、上述した第1のパッキング方法で画素データの配置が変更された変更パックデータ内の画素データの配置を示し、図9(b)には、本データ出力順変更方法で変更パックデータを出力する順番が入れ替えられた変更パックデータ内の画素データの配置を示している。
パックデータ配置変更部412が、例えば、第1のパッキング方法によって変更パックデータを生成した後でも、1バースト内の変更パックデータ(図9においては、4つの変更パックデータ)の順番を入れ替えることによって、連続する2転送間のデータにおいて、同一色の画素データがメモリバス上の同一ビットに配置される割合が大きくなる場合がある。
本データ出力順変更方法では、データ選択部433が、予め定められた変更パックデータの出力順番に基づいて、パックデータ配置変更部412が生成した変更パックデータを出力する順番を入れ替える。変更パックデータを出力する順番は、バースト転送する際の連続する2転送間のデータにおいて、同一色の画素データがメモリバス上の同一ビットに配置される割合がなるべく大きくなるように、パッキング単位内で変更パックデータを出力する順番に予め設定される。データ選択部433は、データイネーブル信号に基づいて、予め定め設定された変更パックデータの出力順番でパックデータ配置変更部412から入力された変更パックデータを選択する。
ここで、図9を用いて、本データ出力順変更方法によって変更パックデータを出力する順番を入れ替える場合の一例を説明する。まず、パックデータ配置変更部412が、第1のパッキング方法によって変更パックデータを生成する。なお、第1のパッキング方法における変更パックデータの生成方法の詳細な説明は省略する。その後、データ選択部433が、変更パックデータ毎に順番を入れ替える。
図9に示した一例では、データ選択部433が、図9(a)に示したように、2転送目の変更パックデータを4転送目に、3転送目の変更パックデータを2転送目に、4転送目の変更パックデータを3転送目に、それぞれ入れ替える。これにより、データ選択部433から出力される変更パックデータの順番が、図9(b)に示したような順番になる。
このようにして、変更パックデータを出力する順番を入れ替えることによって、例えば、図9においては、1転送目と3転送目との上位側のメモリバス上に分かれて配置されていた、「R0」のビット[0]〜ビット[7]と「R6」のビット[0]〜ビット[7]とが、1転送目と2転送目とに連続して配置されることになる。これにより、バースト転送時の1転送目と2転送目とにおけるメモリバスの各ビットの変化量を、第1のパッキング方法よりも少なくすることができる。このことにより、画像データの転送に係る消費電力を、さらに低減させることができる。
なお、図9に示したデータ出力順変更方法においては、第1のパッキング方法で生成された変更パックデータの順番を入れ替える場合の一例について説明したが、上述した第2のパッキング方法で生成された変更パックデータの順番を入れ替える場合においても同様に考えることによって、適用することができる。
また、本データ出力順変更方法に、上述した第3のパッキング方法と同様の考え方を適用することもできる。ただし、この場合は、データ選択部433が、変更パックデータの未使用ビットに、直前または直後の1転送の変更パックデータに配置されている画素データと同一ビットの画素データをコピーして配置する。
上記に述べたように、本第2の構成のデータ変換部43では、バースト転送時の連続する2転送間において、同一色の画素データがメモリバス上の同一ビットに配置される割合が大きくなるように、パッキング単位内の変更パックデータの順番を入れ替えることができる。これにより、本第2の構成のデータ変換部43でも、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。このことにより、第1の構成のデータ変換部41および51と同様に、撮像装置1内の各構成要素(処理ブロック)とメモリ20との間での画素データの転送、すなわち、撮像装置1内の各構成要素間での画素データの受け渡しに係る消費電力を低減させることができる。
上記に述べた実施形態においては、ベイヤーデータに本実施形態のパッキング方法およびデータ出力順変更方法を適用したデータ処理装置およびデータ処理方法について説明したが、本実施形態のパッキング方法およびデータ出力順変更方法は、ベイヤーデータへの適用に限定されるものではなく、RGBデータ、YC422点順次やYC444点順次フォーマットのYCbCrデータ、またはOSDデータなど、様々な画像データに適用することができる。また、本実施形態のパッキング方法およびデータ出力順変更方法は、画像データへの適用に限定されるものではなく、音声データなど、他の形式のデータに適用することもできる。
<適用例>
次に、本実施形態のパッキング方法を、他の形式の画像データや、画像データ以外のデータに適用した場合の一例について説明する。なお、本実施形態のデータ出力順変更方法を、他の形式の画像データや、画像データ以外のデータに適用する場合については、上述したデータ出力順変更方法と同様に考えることができるため、詳細な説明は省略する。
まず、本実施形態のパッキング方法をRGBデータに適用した場合の一例について説明する。図10は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、別の画像データ(RGBデータ)に適用した場合の一例を示した図である。なお、図10では、10bitのRGBデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図10(a)参照)と、第1のパッキング方法を適用した一例(図10(b)参照)とを、それぞれ示している。
図10(a)に示したように、パックデータ生成部411は、RGBデータ(10bit×3色=30bit)を単純に配置した転送パックデータを生成する。この転送パックデータは、32bitのメモリバスの全てのビットが、異なる色の画素データになっている。パックデータ配置変更部412は、図10(b)に示したように、第1のパッキング方法によって転送パックデータ内の画素データの配置を変更(ビットシフト)し、同一色の画素データがメモリバス上の同一ビットに配置される割合を大きくした変更パックデータを生成する。
図10の例では、4転送目の「G3」のビット[9]と「B3」のビット[0]との境界の位置にシフト基準位置が設定され、パックデータ配置変更部412が、1転送目の転送パックデータを右に6ビット、2転送目の転送パックデータを右に4ビット、3転送目の転送パックデータを右に2ビット、それぞれビットシフトした場合を示している。これにより、4つの変更パックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
図11は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、さらに別の画像データ(YCbCrデータ)に適用した場合の一例を示した図である。なお、図11では、10bitのY、Cb、およびCrデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図11(a)参照)と、第1のパッキング方法を適用した一例(図11(b)参照)とを、それぞれ示している。
図11(a)に示したように、パックデータ生成部411は、YCbCrデータを単純に配置した転送パックデータを生成する。この転送パックデータは、メモリバスの全てのビットが、異なる色を表す画素データになっている。パックデータ配置変更部412は、図11(b)に示したように、第1のパッキング方法によって転送パックデータ内の画素データの配置を変更(ビットシフト)し、同一色を表す画素データがメモリバス上の同一ビットに配置される割合を大きくした変更パックデータを生成する。
図11の例では、4転送目の「Cb2」のビット[9]と「Cr2」のビット[0]との境界の位置にシフト基準位置が設定され、パックデータ配置変更部412が、1転送目の転送パックデータを右に16ビット、2転送目の転送パックデータを左に14ビット、3転送目の転送パックデータを左に8ビット、それぞれビットシフトした場合を示している。これにより、4つの変更パックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
図12は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、さらに別の画像データ(OSDデータ)に適用した場合の一例を示した図である。なお、図12では、6bitのOSDデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図12(a)参照)と、第1のパッキング方法を適用した一例(図12(b)参照)とを、それぞれ示している。
図12(a)に示したように、パックデータ生成部411は、OSDデータを単純に配置した転送パックデータを生成する。この転送パックデータは、メモリバスの全てのビットが、異なる表示データの異なるビットになっている。パックデータ配置変更部412は、図12(b)に示したように、第1のパッキング方法によって転送パックデータ内の表示データの配置を変更(ビットシフト)し、各表示データの同一のビットがメモリバス上の同一ビットに配置される割合を大きくした変更パックデータを生成する。
図12の例では、1転送目の「OSD1」のビット[5]と「OSD2」のビット[0]との境界の位置にシフト基準位置が設定され、パックデータ配置変更部412が、2転送目の転送パックデータを左に2ビット、3転送目の転送パックデータを右に2ビット、それぞれビットシフトした場合を示している。なお、1転送目の転送パックデータは、1転送目の転送パックデータと各表示データのビットの配置が同じであるため、表示データの配置変更(ビットシフト)を行わない。これにより、4つの変更パックデータの各ビットの変化量を少なくすることができ、画像データの転送に係る消費電力を低減させることができる。
図13は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法(パッキング方法)を、別のデータ(音声データ)に適用した場合の一例を示した図である。なお、図13では、それぞれ24bitのR(右)データおよびL(左)データを64bitのメモリバスに適用した場合を示している。そして、図13(a)には、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例を示し、図13(b)には、第1のパッキング方法を適用した一例を示している。
図13(a)に示したように、パックデータ生成部411は、音声データを単純に配置した転送パックデータを生成する。この音声データは、メモリバスの全てのビットが、異なるビットの音声データになっている。パックデータ配置変更部412は、図13(b)に示したように、第1のパッキング方法によって転送パックデータ内の音声データの配置を変更(ビットシフト)し、同じ側の音声データの同一のビットがメモリバス上の同一ビットに配置される割合を大きくした変更パックデータを生成する。
図13の例では、1転送目の「R0」のビット[23]と「L0」のビット[0]との境界の位置にシフト基準位置が設定され、パックデータ配置変更部412が、2転送目の転送パックデータを左に16ビット、3転送目の転送パックデータを右に16ビット、それぞれビットシフトした場合を示している。なお、1転送目の転送パックデータは、1転送目の転送パックデータと各表示データのビットの配置が同じであるため、音声データの配置変更(ビットシフト)を行わない。これにより、4つの変更パックデータの各ビットの変化量を少なくすることができ、画像データ以外の他の形式のデータでも、転送に係る消費電力を低減させることができる。
上記に述べたとおり、本発明を実施するための形態によれば、転送パックデータ内でメモリバスに配置された各データの配置を変更する。これにより、バースト転送時の連続する2転送間において、メモリバスに配置された各データの同一のビットが、メモリバス上の同一ビットに配置される割合を大きくすることができる。また、本発明を実施するための形態によれば、パッキング単位内のパックデータの順番を入れ替える。これにより、バースト転送時の連続する2転送間において、メモリバスに配置された各データの同一のビットが、メモリバス上の同一ビットに配置される割合をさらに大きくすることができる。このことにより、バースト転送時の連続する2転送間において、メモリバスの各ビットの変化量を少なくすることができる。しかも、データの転送効率は、従来と同等のデータ転送効率を維持することができる。これにより、像装置内の各構成要素(処理ブロック)とメモリとの間でのデータの受け渡しに係る消費電力の低減効果を十分に得ることができる。
なお、本実施形態においては、4転送を1回のバースト転送の単位とし、1バーストをデータのパッキング単位とした場合について説明したが、1回のバースト転送における転送の回数や、データのパッキングの単位は、本発明を実施するための形態に限定されるものではない。例えば、64転送を1回のバースト転送の単位とし、1バースト内の16転送をデータのパッキングの単位とする、すなわち、1バースト内に4つのパッキング単位が含まれる構成にすることもできる。また、例えば、16転送をデータのパッキングの単位とし、8転送を1回のバースト転送の単位とする、すなわち、パッキング単位が2回のバースト転送に跨っている構成にすることもできる。
また、本実施形態においては、撮像装置内の構成要素間でデータの受け渡しを行う場合のパッキング方法を、いくつかのデータに適用した場合について説明したが、本実施形態のパッキング方法を適用することができる範囲は、本発明を実施するための形態に限定されるものではなく、各構成要素間でデータの受け渡しを行うシステムであれば、どのようなシステムにも適用することができる。
また、本実施形態においては、例えば、データ変換部を出力DMA部の前段の処理ブロックとして配置し、データ逆変換部を入力DMA部の後段の処理ブロックとして配置した場合の一例について説明したが、データ変換部およびデータ逆変換部の配置は、本発明を実施するための形態に限定されるものではない。例えば、データ変換部を出力DMA部内の構成要素とすることや、データ逆変換部を入力DMA部内の構成要素とすることもできる。また、例えば、データ変換部を前段の撮像処理部内の構成要素とすることや、データ逆変換部を後段の画像処理部内の構成要素とすることもできる。
また、本実施形態においては、各データのビット数が同じ場合の一例について説明したが、各データのビット数は、本発明を実施するための形態に限定されるものではなく、異なる種類の情報を持つデータ同士で、それぞれのデータのビット数が異なる場合でも、同様に適用することができる。
また、本実施形態においては、データの配置を変更するための基準となるビットの位置(シフト基準位置または並べ替え基準位置)を、各データの境界の位置に設定し、4つの転送パックデータ内のいずれか1つの転送パックデータに合わせるようにデータの配置を変更する場合について説明したが、基準となるビットの位置の設定は、本発明を実施するための形態に限定されるものではない。
例えば、図14に示したように、別の構成のデータに適用することもできる。図14は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法を、別の構成のデータ(YCbCrデータ)に適用した場合の一例を示した図である。なお、図14では、図14(a)に示したような、10bitのY、8bitのCbおよびCrデータに、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された転送パックデータの一例(図14(b)参照)と、第1のパッキング方法を適用した一例(図14(c)参照)とを、それぞれ示している。
図14(b)に示したように、パックデータ生成部411は、YCbCrデータを単純に配置した転送パックデータを生成すると、メモリバスの全てのビットが、異なる色を表す画素データが配置された転送パックデータになってしまう。このような場合においても、パックデータ配置変更部412は、図14(c)に示したように、第1のパッキング方法によって転送パックデータ内の画素データの配置を変更(ビットシフト)して、同一色を表す画素データがメモリバス上の同一ビットに配置される割合を大きくした変更パックデータを生成することができる。
図14の例では、メモリバスの24ビット目にシフト基準位置を設定し、パックデータ配置変更部412が、1転送目の転送パックデータを右に4ビット、2転送目の転送パックデータを右に8ビット、3転送目の転送パックデータを右に8ビット、4転送目の転送パックデータを右に12ビット、それぞれビットシフトしている。このように、シフト基準位置は、4つの転送パックデータ内のいずれか1つの転送パックデータにおけるデータの境界の位置と異なる場合でも、パックデータ配置変更部412によるデータの配置の変更を行うことができる。これにより、変更パックデータの各ビットの変化量をさらに少なくし、データの転送に係る消費電力がさらに低減する場合がある。
また、本実施形態においては、特定の1つの転送パックデータにのみ未使用ビットが含まれる場合において、本実施形態のデータ配置方法を適用した例について説明したが、本実施形態のデータ配置方法を適用することができる転送パックデータは、本発明を実施するための形態に限定されるものではない。例えば、図21に示したような、従来のデータパッキング方法によってデータが配置されている場合においても、本実施形態のデータ配置方法を適用することができる。
図15は、本実施形態の撮像装置1に備えたデータ変換部41によるデータ配置方法を、図21に示した従来のデータパッキング方法によって配置された転送パックデータに適用した場合の一例を示した図である。なお、図15では、従来のバースト単位でのパッキング方法を適用した一例、すなわち、パックデータ生成部411によって画素データの各ビットが配置された、図21に示した転送パックデータと同様の一例(図15(a)参照)と、第1のパッキング方法を適用した一例(図15(b)参照)とを、それぞれ示している。
図15(a)に示したように、パックデータ生成部411は、ベイヤーデータ(10bit×3色=30bit)を1転送の単位を跨らないように単純に配置した転送パックデータを生成すると、メモリバスの全てのビットが、異なる色を表す画素データが配置された転送パックデータになってしまう。また、それぞれの転送パックデータには、未使用ビットが含まれる。このような場合においても、パックデータ配置変更部412は、図15(b)に示したように、第1のパッキング方法によって転送パックデータ内の画素データの配置を変更(ビットシフト)して、同一色を表す画素データがメモリバス上の同一ビットに配置される割合を大きくした変更パックデータを生成することができる。
図15の例では、メモリバスの10ビット目、すなわち、1転送目の「R0」のビット[9]と「G1」のビット[0]との境界の位置にシフト基準位置を設定し、パックデータ配置変更部412が、2転送目の転送パックデータを右に10ビット、4転送目の転送パックデータを右に10ビット、それぞれビットシフトしている。なお、パックデータ配置変更部412は、各転送パックデータをビットシフトすることによってメモリバス幅をはみ出した各ビットの画素データを、画素データが巡回するように、反対側の画素データが配置されているビットに再配置する。すなわち、パックデータ配置変更部412は、シフトによってメモリバス幅をはみ出したビット画素データを、それぞれの転送パックデータにおいて画素データが配置されていたビット(未使用ビット以外のビット)に再配置する。これは、予め設定された並べ替え基準位置に画素データの境界が配置されるように、それぞれの転送パックデータ毎に画素データを並べ替えるのと同様である。
このようにして、それぞれの転送パックデータに配置された画素データをシフトする(並べ替える)ことによって、各転送間でのメモリバス上に配置される画素データの位置のずれを少なくすることができる。これにより、隣接する同一色の画素データが、メモリバス上の同一ビットに配置される割合が大きくなり、バースト転送時におけるメモリバスの各ビットの変化量を少なくすることができる。このことにより、従来のバースト単位でのパッキング方法と同様に、画像データの転送効率を維持すると共に、従来のバースト単位でのパッキング方法よりも、画像データの転送に係る消費電力を低減させることができる。
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
1・・・撮像装置(データ処理装置)
10・・・CPU(データ処理装置)
20・・・メモリ(データ処理装置)
30・・・CCD
40・・・撮像処理部
50・・・画像処理部
60・・・表示処理部
70・・・表示デバイス
41,51・・・データ変換部(データ処理装置)
411・・・パックデータ生成部(データ生成部)
412・・・パックデータ配置変更部(第1のデータ配置変更部)
413・・・データ選択部(第1のデータ選択部)
52,62・・・データ逆変換部(データ処理装置)
521・・・パックデータ配置変更部(第2のデータ配置変更部)
522・・・データ選択部(第2のデータ選択部)
523・・・パックデータ復元部(データ復元部)
45,55・・・出力DMA部
56,66・・・入力DMA部
43・・・データ変換部(データ処理装置)
433・・・データ選択部(第1のデータ選択部)
54・・・データ逆変換部(データ処理装置)
542・・・データ選択部(第2のデータ選択部)

Claims (18)

  1. 順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、
    を備え、
    前記データ変換部は、
    前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成部と、
    前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成する第1のデータ配置変更部と、
    前記第1のデータ配置変更部によって前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データを該データ変換部における前記転送データとして出力する第1のデータ選択部と、
    を具備し、
    同一の前記変換単位に含まれる連続する2転送間の前記変更データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データの予め定められたビットの位置をシフトするための基準位置が予め定められており、
    前記第1のデータ配置変更部は、
    それぞれの前記第1の転送データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置を前記基準位置までシフトし、
    前記第1の転送データのシフトによって前記データバスの幅からはみ出した前記第1の転送データ内に配置された前記入力データの各ビットを、該第1の転送データにおいて前記入力データが巡回するように、該第1の転送データの反対側のビットに再配置する、
    ことを特徴とするデータ処理装置。
  2. 順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換部、
    を備え、
    前記データ変換部は、
    前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成部と、
    前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成する第1のデータ配置変更部と、
    前記第1のデータ配置変更部によって前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データを該データ変換部における前記転送データとして出力する第1のデータ選択部と、
    を具備し、
    同一の前記変換単位に含まれる連続する2転送間の前記変更データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データを、同じ種類の情報を持つ前記入力データを並べ替えの単位として並べ替えるための基準位置が予め定められており、
    前記第1のデータ配置変更部は、
    それぞれの前記第1の転送データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置が前記基準位置になるように前記並べ替えの単位で並べ替える、
    ことを特徴とするデータ処理装置。
  3. 前記基準位置は、
    前記入力データの内、同じ種類の情報を持つ隣接する2つの前記入力データの同一のビットが、前記転送単位の前記変更データで同一のビットに割り当てられるように、予め設定される、
    ことを特徴とする請求項または請求項に記載のデータ処理装置。
  4. 前記基準位置は、
    前記入力データの上位ビットが、同一の前記変換単位に含まれる連続する2つの前記転送単位の前記変更データの同一のビットに割り当てられる割合が大きくなるように設定される、
    ことを特徴とする請求項3に記載のデータ処理装置。
  5. 前記第1のデータ配置変更部は、
    前記第1の転送データ内の前記入力データの配置を変更した後、前記入力データが配置されずに残っている前記変更データの各ビットに、同一の前記変換単位に含まれる直前の前記転送単位の前記変更データの同一のビットと同じデータをそれぞれ割り当てる、
    ことを特徴とする請求項に記載のデータ処理装置。
  6. 前記第1のデータ選択部は、
    前記第1のデータ配置変更部から入力された前記変更データを選択する際、同一の前記変換単位に含まれる連続する2つの前記転送単位の前記変更データの同一のビットに割り当てられる割合が大きくなるように、予め定められた選択順番で前記変更データを選択する、
    ことを特徴とする請求項に記載のデータ処理装置。
  7. 前記第1のデータ選択部は、
    前記第1のデータ配置変更部から入力された前記変更データを選択した後、該選択した前記変更データ内に前記入力データが配置されずに残っているビットがある場合には、該変更データ内の前記入力データが配置されずに残っている各ビットに、同一の前記変換単位に含まれる直前または直後のいずれか一方の前記転送単位の前記変更データの同一のビットと同じデータをそれぞれ割り当てる、
    ことを特徴とする請求項に記載のデータ処理装置。
  8. 複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、
    を備え、
    前記データ逆変換部は、
    前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成し、前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データが前記データバスから入力され、該入力された前記変更データ内に配置された複数の前記入力データの配置を元の配置に戻すように、前記変更データ内に配置された前記入力データの位置を、元の前記入力データの配置位置に変更して前記第1の転送データに戻す第2のデータ配置変更部と、
    前記第2のデータ配置変更部によって前記入力データの配置が元の配置に戻された前記第1の転送データを順次選択する第2のデータ選択部と、
    前記第2のデータ選択部によって選択された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元部と、
    を具備し、
    前記変更データは、
    同一の前記変換単位に含まれる連続する2転送間の前記転送データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データの予め定められたビットの位置が予め定められた基準位置までシフトされたデータであり、
    前記第2のデータ配置変更部は、
    それぞれの前記変更データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置を元の位置までシフトし、
    前記変更データのシフトによって前記データバスの幅からはみ出した前記変更データ内に配置された前記入力データの各ビットを、該変更データにおいて前記入力データが巡回するように、該変更データの反対側のビットに再配置する、
    ことを特徴とするデータ処理装置。
  9. 複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換部、
    を備え、
    前記データ逆変換部は、
    前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成し、前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データが前記データバスから入力され、該入力された前記変更データ内に配置された複数の前記入力データの配置を元の配置に戻すように、前記変更データ内に配置された前記入力データの位置を、元の前記入力データの配置位置に変更して前記第1の転送データに戻す第2のデータ配置変更部と、
    前記第2のデータ配置変更部によって前記入力データの配置が元の配置に戻された前記第1の転送データを順次選択する第2のデータ選択部と、
    前記第2のデータ選択部によって選択された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元部と、
    を具備し、
    前記変更データは、
    同一の前記変換単位に含まれる連続する2転送間の前記転送データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データを、同じ種類の情報を持つ前記入力データを並べ替えの単位として予め定められた基準位置に並べ替えたデータであり、
    前記第2のデータ配置変更部は、
    それぞれの前記変更データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置が元の位置になるように前記並べ替えの単位で並べ替える、
    ことを特徴とするデータ処理装置。
  10. 前記基準位置は、
    前記入力データの内、同じ種類の情報を持つ隣接する2つの前記入力データの同一のビットが、前記転送単位の前記変更データで同一のビットに割り当てられるように、予め設定されている、
    ことを特徴とする請求項または請求項に記載のデータ処理装置。
  11. 前記基準位置は、
    前記入力データの上位ビットが、同一の前記変換単位に含まれる連続する2つの前記転送単位の前記変更データの同一のビットに割り当てられる割合が大きくなるように設定されている、
    ことを特徴とする請求項1に記載のデータ処理装置。
  12. 前記変更データは、
    同一の前記変換単位に含まれる直前の前記転送単位の前記変更データの同一のビットと同じデータが割り当てられている、
    ことを特徴とする請求項1に記載のデータ処理装置。
  13. 前記変更データは、
    同一の前記変換単位に含まれる直前または直後のいずれか一方の前記転送単位の前記変更データの同一のビットと同じデータが割り当てられている、
    ことを特徴とする請求項1に記載のデータ処理装置。
  14. 前記第2のデータ選択部は、
    前記第2のデータ配置変更部から入力された前記第1の転送データを選択する際、同一の前記変換単位に含まれる連続する2つの前記転送単位の前記第1の転送データが元の順番になるように、予め定められた選択順番で前記第1の転送データを選択する、
    ことを特徴とする請求項1に記載のデータ処理装置。
  15. 順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、
    を含み、
    前記データ変換ステップは、
    前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成ステップと、
    前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成する第1のデータ配置変更ステップと、
    前記第1のデータ配置変更ステップによって前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データを該データ変換ステップにおける前記転送データとして出力する第1のデータ選択ステップと、
    を含
    同一の前記変換単位に含まれる連続する2転送間の前記変更データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データの予め定められたビットの位置をシフトするための基準位置が予め定められており、
    前記第1のデータ配置変更ステップは、
    それぞれの前記第1の転送データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置を前記基準位置までシフトし、
    前記第1の転送データのシフトによって前記データバスの幅からはみ出した前記第1の転送データ内に配置された前記入力データの各ビットを、該第1の転送データにおいて前記入力データが巡回するように、該第1の転送データの反対側のビットに再配置する、
    ことを特徴とするデータ処理方法。
  16. 順次入力された複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換して順次転送する際に、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記入力データを前記変換単位内のそれぞれの前記転送データに配置するデータ変換ステップ、
    を含み、
    前記データ変換ステップは、
    前記入力データを順次前記データバスに配置した第1の転送データを生成するデータ生成ステップと、
    前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成する第1のデータ配置変更ステップと、
    前記第1のデータ配置変更ステップによって前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データを該データ変換ステップにおける前記転送データとして出力する第1のデータ選択ステップと、
    を含み、
    同一の前記変換単位に含まれる連続する2転送間の前記変更データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データを、同じ種類の情報を持つ前記入力データを並べ替えの単位として並べ替えるための基準位置が予め定められており、
    前記第1のデータ配置変更ステップは、
    それぞれの前記第1の転送データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置が前記基準位置になるように前記並べ替えの単位で並べ替える、
    ことを特徴とするデータ処理方法。
  17. 複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、
    を含み、
    前記データ逆変換ステップは、
    前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成し、前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データが前記データバスから入力され、該入力された前記変更データ内に配置された複数の前記入力データの配置を元の配置に戻すように、前記変更データ内に配置された前記入力データの位置を、元の前記入力データの配置位置に変更して前記第1の転送データに戻す第2のデータ配置変更ステップと、
    前記第2のデータ配置変更ステップによって前記入力データの配置が元の配置に戻された前記第1の転送データを順次選択する第2のデータ選択ステップと、
    前記第2のデータ選択ステップによって選択された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元ステップと、
    を含
    前記変更データは、
    同一の前記変換単位に含まれる連続する2転送間の前記転送データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データの予め定められたビットの位置が予め定められた基準位置までシフトされたデータであり、
    前記第2のデータ配置変更ステップは、
    それぞれの前記変更データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置を元の位置までシフトし、
    前記変更データのシフトによって前記データバスの幅からはみ出した前記変更データ内に配置された前記入力データの各ビットを、該変更データにおいて前記入力データが巡回するように、該変更データの反対側のビットに再配置する、
    ことを特徴とするデータ処理方法。
  18. 複数の入力データを、予め定められたビット数のデータバスと同じビット数の転送データに変換し、1つの前記転送データを1つの転送単位とし、予め定められた数の前記転送単位を1つの変換単位として、前記変換単位毎に順次転送されてきた転送データを順次逆変換して、複数の元の前記入力データに復元するデータ逆変換ステップ、
    を含み、
    前記データ逆変換ステップは、
    前記転送データの転送元のデータ処理装置が、前記転送データとして、前記入力データを順次前記データバスに配置した第1の転送データを生成し、前記第1の転送データ内に配置された複数の前記入力データにおいて同じ種類の情報を持つ前記入力データの同一のビットが、前記データバスの同一のビットで連続して転送されるように、前記第1の転送データ内に配置された前記入力データの位置を変更した変更データを生成し、前記入力データの配置が変更された前記変更データを順次選択し、該選択した前記変更データが前記データバスから入力され、該入力された前記変更データ内に配置された複数の前記入力データの配置を元の配置に戻すように、前記変更データ内に配置された前記入力データの位置を、元の前記入力データの配置位置に変更して前記第1の転送データに戻す第2のデータ配置変更ステップと、
    前記第2のデータ配置変更ステップによって前記入力データの配置が元の配置に戻された前記第1の転送データを順次選択する第2のデータ選択ステップと、
    前記第2のデータ選択ステップによって選択された前記第1の転送データに含まれる前記入力データを、それぞれの前記入力データに復元するデータ復元ステップと、
    を含み、
    前記変更データは、
    同一の前記変換単位に含まれる連続する2転送間の前記転送データに含まれる前記入力データの各ビットが略同一の位置になるように、前記第1の転送データに含まれる予め定められた種類の情報を持つ前記入力データを、同じ種類の情報を持つ前記入力データを並べ替えの単位として予め定められた基準位置に並べ替えたデータであり、
    前記第2のデータ配置変更ステップは、
    それぞれの前記変更データ毎に、前記第1の転送データ内に配置された前記予め定められた種類の情報を持つ前記入力データの前記予め定められたビットの位置が元の位置になるように前記並べ替えの単位で並べ替える、
    ことを特徴とするデータ処理方法。
JP2011066059A 2011-03-24 2011-03-24 データ処理装置およびデータ処理方法 Active JP5738639B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011066059A JP5738639B2 (ja) 2011-03-24 2011-03-24 データ処理装置およびデータ処理方法
US13/425,952 US8966145B2 (en) 2011-03-24 2012-03-21 Data conversion apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011066059A JP5738639B2 (ja) 2011-03-24 2011-03-24 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
JP2012203543A JP2012203543A (ja) 2012-10-22
JP5738639B2 true JP5738639B2 (ja) 2015-06-24

Family

ID=46878283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011066059A Active JP5738639B2 (ja) 2011-03-24 2011-03-24 データ処理装置およびデータ処理方法

Country Status (2)

Country Link
US (1) US8966145B2 (ja)
JP (1) JP5738639B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5898409B2 (ja) 2011-03-24 2016-04-06 オリンパス株式会社 データ処理装置およびデータ処理方法
JP5700228B2 (ja) * 2013-03-13 2015-04-15 コニカミノルタ株式会社 メモリ制御装置および画像形成装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463003B2 (en) * 2000-06-07 2002-10-08 Advanced Micro Devices, Inc. Power saving scheme for burst mode implementation during reading of data from a memory device
JP2002200795A (ja) * 2000-12-28 2002-07-16 Ricoh Co Ltd 画像形成装置
US7249207B2 (en) * 2005-01-31 2007-07-24 International Business Machines Corporation Internal data bus interconnection mechanism utilizing central interconnection module converting data in different alignment domains
JP4909779B2 (ja) 2006-04-17 2012-04-04 パナソニック株式会社 画像データ転送方法、画像処理装置、及び撮像システム
JP4364897B2 (ja) * 2006-11-09 2009-11-18 シャープ株式会社 データ転送装置
US7956644B2 (en) * 2007-05-10 2011-06-07 Qimonda Ag Peak power reduction using fixed bit inversion
JP5780795B2 (ja) * 2011-03-24 2015-09-16 オリンパス株式会社 データ処理装置およびデータ処理方法
JP5734715B2 (ja) * 2011-03-24 2015-06-17 オリンパス株式会社 データ処理装置およびデータ処理方法

Also Published As

Publication number Publication date
US8966145B2 (en) 2015-02-24
US20120246361A1 (en) 2012-09-27
JP2012203543A (ja) 2012-10-22

Similar Documents

Publication Publication Date Title
US8817139B2 (en) Image pickup device and signal transmitting device
JP2004023279A (ja) 半導体装置、携帯端末システムおよびセンサモジュール
JP2015222932A (ja) 画像処理装置および画像処理方法
JP5780795B2 (ja) データ処理装置およびデータ処理方法
JP5738639B2 (ja) データ処理装置およびデータ処理方法
JP5734715B2 (ja) データ処理装置およびデータ処理方法
JP4024649B2 (ja) 画像処理装置及び画像処理方法
JP2015115837A (ja) 制御装置、画像処理装置、制御方法、およびプログラム
US8565542B2 (en) Data processing apparatus and data processing method
JP5898409B2 (ja) データ処理装置およびデータ処理方法
JP6242417B2 (ja) データ処理装置およびデータ処理方法
JP2006094225A (ja) 画像処理装置、画像処理方法、およびそのプログラム
JP2006303693A (ja) 縮小画像の生成機能を備える電子カメラ
US20190238812A1 (en) Image processing apparatus, image capturing apparatus, and image processing method
JP2002091421A (ja) 画像表示制御方法及び装置、並びにコンピュータ読取可能な記録媒体
CN117714657A (zh) 图像数据转换方法、装置、电子设备和存储介质
JP6030321B2 (ja) 画像処理装置
JP5278497B2 (ja) 画像処理装置及び画像処理方法
JP2018196156A (ja) データ処理装置及び方法及びプログラム
JPWO2009095959A1 (ja) 直交変換装置および集積回路
JP2009010532A (ja) 色変換処理装置及び色変換方法
US20110066815A1 (en) Memory access control device and memory access control method
JP2006148808A (ja) データ転送装置、データ転送方法、データ転送プログラム
JP2005210262A (ja) 画像処理装置
WO2007070055A1 (en) Frame buffer circuit and method for use in high definition video display systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150422

R151 Written notification of patent or utility model registration

Ref document number: 5738639

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250