JP4909779B2 - 画像データ転送方法、画像処理装置、及び撮像システム - Google Patents

画像データ転送方法、画像処理装置、及び撮像システム Download PDF

Info

Publication number
JP4909779B2
JP4909779B2 JP2007075709A JP2007075709A JP4909779B2 JP 4909779 B2 JP4909779 B2 JP 4909779B2 JP 2007075709 A JP2007075709 A JP 2007075709A JP 2007075709 A JP2007075709 A JP 2007075709A JP 4909779 B2 JP4909779 B2 JP 4909779B2
Authority
JP
Japan
Prior art keywords
data transfer
image
unit
storage unit
address
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
JP2007075709A
Other languages
English (en)
Other versions
JP2007312358A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007075709A priority Critical patent/JP4909779B2/ja
Priority to US11/785,414 priority patent/US7978198B2/en
Priority to CN2007100902602A priority patent/CN101060628B/zh
Publication of JP2007312358A publication Critical patent/JP2007312358A/ja
Application granted granted Critical
Publication of JP4909779B2 publication Critical patent/JP4909779B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理を行う装置に関し、特に、画像を転送する方法及び装置に関する。
高い圧縮率で動画像を圧縮することのできる技術が発達し、デジタルカメラやデジタルビデオカメラに用いられている。動画像の圧縮方法として、ISO(International Organization for Standardization)で規格化されたMPEG(Moving Picture Experts Group)が一般的に知られている。
MPEGでは、画像内の水平NX×垂直NY画素で構成されるマクロブロック毎にフレーム内相関を利用した符号化(Intra符号化)、又はフレーム間相関を利用した符号化(Inter符号化)が行われて得られたビットストリームが扱われる。Intra符号化のみが行われて構成された画像はIピクチャと呼ばれ、Intra符号化及びInter符号化が混在して行われた画像はPピクチャ又はBピクチャと呼ばれる。
符号化時に生成されたMPEGビットストリーム、及び復号化時に入力されたMPEGビットストリームには、逆量子化、逆DCT、及び動き補償等の各処理が行われ、得られた再構成画像が一時データ記憶部に格納される。格納された画像は、参照画像として読み出される。
一時データ記憶部としてSDRAM(synchronous dynamic random-access memory)を用いる場合を考える。符号化/復号化処理の際には、このSDRAMに対して再構成画像及び参照画像の転送が多回数発生する。この転送を高速で行う一般的な方法として、SDRAMのデータバス幅を拡張して複数の画素を一度に転送する方法がある。例えば、SDRAMのデータバス幅が画素データの幅の4倍であれば、図11のような水平16×垂直16画素のデータをSDRAMに転送する際に、図12のように水平方向に並んだ4画素のデータ毎にパッキングしてデータ転送の単位とし、図13のような水平4×垂直16個のデータ転送単位(パッキングデータ)を転送するようにすることができる。この場合、1画素毎に転送する場合に比べて転送期間を1/4に削減することができる。
実際に1マクロブロックの再構成画像の輝度信号の転送を考える。図51は、SDRAMに格納されたデータのマッピングの例を示す説明図である。図13のパッキングデータP0,P1,P2,P3,…,P60,…,P63を、図51のようにSDRAMのアドレスSD(ADX,ADY),SD(ADXR+1,ADY),SD(ADXR+2,ADY),SD(ADXR+3,ADY),…,SD(ADX,ADYR+15),…,SD(ADXR+3,ADYR+15)にそれぞれ転送する場合には、次の手順で転送を行う。
すなわち、ロウアドレスをADYに設定後、パッキングデータP0〜P3を転送する。次にロウアドレスをADYR+1に変更後、パッキングデータP4〜P7を転送する。次にロウアドレスをADYR+2に変更後、パッキングデータP8〜P11を転送する。その後、同様にロウアドレスを変更してパッキングデータP12〜P63を転送する。
また、ラインメモリを用いて参照画像の転送を削減した符号化装置の例が、特許文献1に開示されている。
特開2002−152756号公報
図13のパッキングデータP0〜P7の転送についてもう少し詳しく説明する。図52は、図51のようにパッキングデータの書き込みを行う際のSDRAMのタイミングチャートである。SDRAMのバースト長(BL)は、4であるとする。
まず、時刻t0においてロウアドレスADYの設定(“act”コマンド)が行われ、時刻t1においてカラムアドレスADXの設定(“write”コマンド)が行われ、パッキングデータP0〜P3が連続して書き込まれる。
続いて、SDRAMは、ロウアドレスを切り替えるために、時刻t5において“pre”コマンドを実行し、時刻t6において次のロウアドレスADYR+1の設定(“act”コマンド)を行う。そして、時刻t7においてカラムアドレスADXR+1の設定(“write”コマンド)が行われ、パッキングデータP4〜P7が連続して書き込まれる。以後、同様の処理が繰り返される。
ここで、“act”コマンドから次の“act”コマンドまでを再構成画像の1ライン分を転送するのに必要な期間と考えると、1ラインを転送するのに8サイクルの期間を要している。そのうち、データ転送処理が行われているのは僅か4サイクルのみで、それ以外の期間はアドレス設定処理のために必要となっている。つまり、4データ転送する度に4サイクル用いてアドレス設定が行われており、非常に非効率的である。
次に参照画像の読み出しについて説明する。図53は、図51のように格納されたパッキングデータの読み出しを行う際のSDRAMのタイミングチャートである。ここでは、1マクロブロックサイズ、すなわち、水平方向4×垂直方向16のパッキングデータを有する参照画像を読み出す場合について示している。この読み出し処理においても、4データの転送に8サイクルを要し、そのうち4サイクルはアドレス設定処理に要している。
図54は、17画素の転送について示す模式図である。参照画像は水平17×垂直17画素の画像となる場合がある。水平方向に4画素パッキングを行っているので、1行分の17画素を送るには5パッキングデータが必要である。例えば、再構成画像R0内のデータP0に含まれる最も左の画素から、水平方向に4n(n:整数)画素ずれた位置を読み出し開始位置とした場合には、5パッキングデータを読み出せば17画素の全ての情報を得ることが可能である(図54(a)参照)。同様に、最も左の画素から水平方向に4n+1,4n+2,4n+3画素ずれた位置を読み出し開始位置とした場合にも、5パッキングデータを読み出せば17画素の全ての情報を得ることが可能である(それぞれ図54(b),(c),(d)参照)。
図55は、参照画像が水平17×垂直17画素である場合に、図51のように格納されたパッキングデータの読み出しを行う際のSDRAMのタイミングチャートである。垂直方向に関しては画素パッキングを行わないので、17ライン分のデータを読み出せば、垂直17画素の情報を得ることができる。したがって、水平方向5データ×垂直方向17データの読み出しを行えばよい。
ここで、SDRAMのバースト長(BL)=4であるとしているので、1回の“read”コマンドによって4データしか読み出すことができない。このため、同一ロウアドレスにおいて5データ連続してデータを読み出せるように、時刻t4にて再度“read”コマンドを実行し、その後、時刻t5においてロウアドレス変更に向け“pre”コマンドを実行するようにする。
以上のことから、参照画像の転送においても、ライン数分だけアドレス設定処理を行う必要があり再構成画像の転送と同様に非効率的である。この読み出し/書き込み転送サイクル数は、次式、すなわち、
(SDRAMの同一ロウアドレスへのアクセス数+SDRAMのアドレス設定期間)
× SDRAMのロウアドレス変更回数 …(C1)
を用いて計算することができる。そのうちSDRAMのアドレス設定に要する期間は、
SDRAMのアドレス設定期間×SDRAMのロウアドレス変更回数 …(C2)
である。
ここで用いられているSDRAMにおいて、“SDRAMのアドレス設定期間”=4サイクルとなることは、図52(書き込み時)、図53(読み出し時)からも理解できる。マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=4であり、“SDRAMのロウアドレス変更回数”=16であるので、1マクロブロック分の再構成画像の書き込みサイクル数は、(4+4)×16=128サイクルである。よって、1パッキングデータを転送するのに2(=128/64)サイクル必要となることがわかる。
同様に、4:2:0形式の色差信号の転送についても考える。輝度信号が1マクロブロック当り水平16×垂直16画素であるので、青色差信号及び赤色差信号は、いずれも1マクロブロック当り水平8×垂直8画素である。水平4画素パッキングした場合には、一方の色差信号のパッキングデータ数は、水平2×垂直8となる。式(C1)を用いて転送サイクル数を計算すると、“SDRAMの同一ロウアドレスへのアクセス数”=2、“SDRAMのロウアドレス変更回数”=8であるので、(2+4)×8=48サイクル必要となる。また、両色差信号を転送するには96サイクル(=48×2)必要となる。よって、1データ転送するのに3(=96/32)サイクル必要となることがわかる。
これらの期間はフレームサイズに比例して増える。HD(high definition)サイズの画像は、1フレーム当り2,073,600画素を有するので、毎秒60フレーム処理する場合には、処理すべき総画素数は、毎秒124,416,000(=2,073,600×60)画素となる。また、高速転送を実現するために、前述のようにデータパッキング(4画素パッキング)を行うこととすると、SDRAMに対するアクセスデータ数は、毎秒31,104,000(=124,416,000/4)データとなる。
このようにパッキングされたデータのSDRAMへの転送を考える。いま、再構成画像及び参照画像の転送マクロブロック数が、いずれも1マクロブロック当り1となるシステムを仮定した場合、転送すべきデータは合計で毎秒62,208,000(=31,104,000×2)データという莫大な量となる。輝度信号のSDRAMアクセスサイクルは「1データ=2サイクル」であるので、1秒分の輝度信号を全て転送し終えるには、124,416,000(=62,208,000×2)サイクル必要となる。そのうちの1/2は、SDRAMのアドレス設定期間である。
同じく色差信号の転送について計算する。4:2:0形式の色差信号(青色差信号+赤色差信号)は、輝度信号の半分の情報量を持つので、SDRAMへ転送すべきデータ数は、毎秒31,104,000(=62,208,000/2)となる。色差信号のSDRAMアクセスサイクルは「1データ=3サイクル」であるので、1秒分の色差信号を全て転送し終えるには、93,312,000(=31,104,000×3)サイクル必要となる。そのうちの2/3は、SDRAMのアドレス設定期間である。
したがって、輝度信号と2つの色差信号とを合わせて1秒当り217,728,000サイクル必要となる。そのうちの124,416,000サイクルは、SDRAMのアドレス設定期間である。これは、実に非効率的な転送である。このように高速な転送を行うためには、当然SDRAMを高速に動作させることが必要であり、消費電力も大きくなる。
図56は、フィールド毎にSDRAMの異なる領域に格納されたデータのマッピングの例を示す説明図である。インタレース処理では、マクロブロックを2つのフィールド、すなわち図26に示すような奇数ラインの画素(P0,P1,P2,P3,P8,P9,P10,P11,…,P59)からなるトップフィールドと、偶数ラインの画素(P4,P5,P6,P7,P12,P13,P14,P15,…,P63)からなるボトムフィールドとに分けて処理する。
この両フィールドをSDRAM上に格納する際には、図56に示すようにトップフィールドとボトムフィールドとを異なる領域に格納することが多い。これは、SDRAMからの読み出し(参照画像の転送)の際にフィールド単位で転送要求が発生することがあり、その場合、両フィールドのデータが混在していては、高効率な転送ができないためである。
図56の場合について、式(C1)を用いて転送に必要なサイクル数を求める。マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=4、“SDRAMのロウアドレス変更回数”=8であるので、マクロブロック毎に(4+4)×8=64サイクル必要であり、両フィールド合わせると128(=64×2)サイクル必要となる。よって、1データ転送するのに2(=128/64)サイクル必要となり、この転送は、図51のようなプログレッシブ処理時と同様に、非効率な転送である。
本発明は、画像処理を行う装置と画像データを記憶するメモリ等との間での画像データのデータ転送効率を向上させることを目的とする。
前記課題を解決するため、本発明に係る画像データ転送方法は、第1の画像記憶部に格納され、第1及び第2の方向の座標でそれぞれの位置が表される複数の画素を有する2次元画像の画素のデータを、前記第1の方向に隣接する所定の数の画素のデータ毎にパッキングし、得られたデータ転送単位を前記第2の方向にスキャンして読み出すステップ(a)と、前記ステップ(a)で読み出されたデータ転送単位を、第1及び第2のアドレスの組み合わせで指定された位置にデータを格納する一時データ記憶部に対して、前記第1のアドレスが連続し前記第2のアドレスが一定の領域に、前記第2の方向における前記データ転送単位の順序が前記第1のアドレスに関して保たれるように、かつ、前記第1の方向における前記データ転送単位の順序が前記第2のアドレスに関して保たれるように、バースト書き込みするステップ(b)と、前記一時データ記憶部に書き込まれたデータ転送単位を、前記第1のアドレスが連続し前記第2のアドレスが一定の領域からバースト読み出しし、第2の画像記憶部に書き込むステップ(c)とを有するものである。
これによると、データ転送単位の数は、第1の方向についてはパッキング前の画素の数よりも減少し、第2の方向についてはパッキング前の画素の数と同じである。第2の方向にスキャンして読み出されたデータ転送単位に対してバースト書き込み及びバースト読み出しを行うので、一時データ記憶部との間のデータ転送効率が高くなり、データ転送を高速化することができる。
また、本発明に係る画像処理装置は、第1の画像記憶部に格納され、第1及び第2の方向の座標でそれぞれの位置が表される複数の画素を有する2次元画像の画素のデータを、前記第1の方向に隣接する所定の数の画素のデータ毎にパッキングし、得られたデータ転送単位を前記第2の方向にスキャンして読み出し、前記読み出されたデータ転送単位を、第1及び第2のアドレスの組み合わせで指定された位置にデータを格納する一時データ記憶部に対して、前記第1のアドレスが連続し前記第2のアドレスが一定の領域に、前記第2の方向における前記データ転送単位の順序が前記第1のアドレスに関して保たれるように、かつ、前記第1の方向における前記データ転送単位の順序が前記第2のアドレスに関して保たれるように、バースト書き込みする第1の読み出し部と、前記一時データ記憶部に書き込まれたデータ転送単位を、前記第1のアドレスが連続し前記第2のアドレスが一定の領域からバースト読み出しし、第2の画像記憶部に書き込む第1の書き込み部とを備えるものである。
また、本発明に係る撮像システムは、アナログ画像信号をデジタル信号に変換するアナログ/デジタル変換器と、前記デジタル信号に対する画像処理を行う画像処理装置とを備え、前記画像処理装置は、前記画像処理が行われて第1の画像記憶部に格納され、第1及び第2の方向の座標でそれぞれの位置が表される複数の画素を有する2次元画像の画素のデータを、前記第1の方向に隣接する所定の数の画素のデータ毎にパッキングし、得られたデータ転送単位を前記第2の方向にスキャンして読み出し、前記読み出されたデータ転送単位を、第1及び第2のアドレスの組み合わせで指定された位置にデータを格納する一時データ記憶部に対して、前記第1のアドレスが連続し前記第2のアドレスが一定の領域に、前記第2の方向における前記データ転送単位の順序が前記第1のアドレスに関して保たれるように、かつ、前記第1の方向における前記データ転送単位の順序が前記第2のアドレスに関して保たれるように、バースト書き込みする読み出し部と、前記一時データ記憶部に書き込まれたデータ転送単位を、前記第1のアドレスが連続し前記第2のアドレスが一定の領域からバースト読み出しし、第2の画像記憶部に書き込む書き込み部とを備えるものである。
以上のように本発明によれば、画像記憶部と一時データ記憶部との間のデータ転送を高速化することができるので、一時データ記憶部としてSDRAM等のバースト転送可能なメモリを用いた画像処理の高速化を図ることができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。同一の構成要素には同一の参照番号を付す。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る画像処理装置の構成を示すブロック図である。この画像処理装置は、フレーム構造の画像の転送効率を向上させるものである。
図1の画像処理装置100は、減算器12と、DCT(discrete cosine transform)処理部14と、量子化処理部16と、可変長符号化復号化部18と、スイッチ21,22と、逆量子化処理部26と、逆DCT処理部28と、再構成画像生成部30と、動き探索/補償部40と、マクロブロック(MB)タイプ制御部52と、レート制御部54とを備えている。再構成画像生成部30は、フレーム垂直スキャン読み出し部32と、第1の画像記憶部としての再構成画像記憶部34とを有している。動き探索/補償部40は、フレーム垂直スキャン書き込み部42と、第2の画像記憶部としての参照画像記憶部44とを有している。
フレーム垂直スキャン読み出し部32は、データを再構成画像記憶部34から読み出して一時データ記憶部2に書き込む。フレーム垂直スキャン書き込み部42は、データを一時データ記憶部2から読み出して参照画像記憶部44に書き込む。ここでは例として、一時データ記憶部2は、SDRAM(synchronous dynamic random-access memory)であるとする。以下では、このSDRAMのバースト長(BL)は4であるとする。再構成画像記憶部34及び参照画像記憶部44は、例えばSRAM(static random-access memory)やフリップフロップである。
− 符号化時 −
符号化時における画像処理装置100の動作について説明する。符号化対象画像のピクチャ符号化タイプ(Iピクチャ、Pピクチャ、又はBピクチャ)を示すピクチャ符号化タイプ信号TYが、スイッチ21及びMBタイプ制御部52に入力されている。
スイッチ21は、ピクチャ符号化タイプがIピクチャであることをピクチャ符号化タイプ信号TYが示す場合にはオフ(非導通状態)となり、ピクチャ符号化タイプがPピクチャ又はBピクチャであることをピクチャ符号化タイプ信号TYが示す場合にはオン(導通状態)となる。
MBタイプ制御部52は、ピクチャ符号化タイプ信号TY及び動き探索/補償部40からの信号に基づいて、スイッチ22の制御を行う。具体的には、MBタイプ制御部52は、ピクチャ符号化タイプがIピクチャであることをピクチャ符号化タイプ信号TYが示す場合にはスイッチ22をオフにする。また、MBタイプ制御部52は、ピクチャ符号化タイプがPピクチャ又はBピクチャであることをピクチャ符号化タイプ信号TYが示す場合には、動き探索/補償部40から出力された動き探索の結果に従ってマクロブロックの符号化タイプをIntra符号化又はInter符号化に決定する。
スイッチ22は、符号化タイプがIntra符号化であるときにはオフになり、符号化タイプがInter符号化であるときにはオンになる。MBタイプ制御部52は、マクロブロックの符号化タイプを可変長符号化復号化部18にも出力する。レート制御部54は、可変長符号化復号化部18が発生する符号量を監視し、それに応じて量子化パラメータを決定し、量子化処理部16に出力する。
Iピクチャの生成について説明する。ピクチャ符号化タイプ信号TYが示すピクチャ符号化タイプがIピクチャである場合、スイッチ21,22はオフになる。符号化対象画像IMがマクロブロック毎に減算器12に入力される。スイッチ22がオフであるので、減算器12は、符号化対象画像IMをそのままDCT処理部14に出力する。
DCT処理部14は、減算器12の出力データにDCT処理を行い、その結果を量子化処理部16に出力する。量子化処理部16は、DCT処理後のデータに量子化処理を行い、その結果を可変長符号化復号化部18及び逆量子化処理部26に出力する。可変長符号化復号化部18は、量子化処理後のデータに可変長符号化処理を行い、得られた符号CDを外部に出力する。
逆量子化処理部26は、量子化処理部16から受け取った量子化処理後のデータに逆量子化処理を行い、その結果を逆DCT処理部28に出力する。逆DCT処理部28は、逆量子化処理後のデータに逆DCT処理を行い、その結果を再構成画像生成部30に出力する。
スイッチ22がオフであるので、動き探索/補償部40の出力は再構成画像生成部30には与えられない。このため、再構成画像生成部30は、逆DCT処理部28から送られたデータをそのまま再構成画像記憶部34に書き込む。その後、フレーム垂直スキャン読み出し部32は、再構成画像記憶部34のデータを読み出し、一時データ記憶部2に格納させる。再構成画像記憶部34に格納され、一時データ記憶部2へ送られる画像データは、再構成画像と呼ばれ、Pピクチャ又はBピクチャを符号化する際の参照画像として使用される。
Pピクチャの生成について説明する。ピクチャ符号化タイプ信号TYが示すピクチャ符号化タイプがPピクチャである場合、スイッチ21はオンになる。符号化対象画像IMがマクロブロック毎に減算器12及び動き探索/補償部40に入力される。
図2は、動き探索に関する説明図である。フレーム垂直スキャン書き込み部42は、入力された符号化対象画像IM(対象ブロック)と同一位置の画像及びその近傍の画像を一時データ記憶部2から読み出し、参照画像記憶部44に格納する。この読み出される画素の領域を参照領域という。符号化対象画像IMは水平NX×垂直NY画素(NX,NYは自然数)を有しており、参照領域(水平MX×垂直MY画素)は符号化対象画像IMよりも大きい(MX,MYは、MX>NX,MY>NYを満たす整数)。動き探索/補償部40は、符号化対象画像IMと参照領域上の参照ブロック(水平NX×垂直NY画素)とを用いて、動き探索を行う。
一般的な動き探索手法の1つとして、ブロックマッチング法がある。ブロックマッチング法は、対象ブロックと参照領域の参照ブロックとの比較を行い、対象ブロックと最もマッチングの取れている参照ブロックの位置を求め、その参照ブロックの位置と対象ブロックの位置との間の座標の差を動きベクトルとして検出する方法である。
対象ブロックと参照ブロックとのブロックマッチングは、ブロックを構成する画素が有する画素値の差分の絶対値の和である評価関数、すなわち、
(評価関数)=Σ|Ref(Mx+x,My+y)−Org(x,y)| …(1)
が最小値となる参照ブロックを求めることにより行われる。ここで、Ref(Mx+x,My+y)は、対象ブロックに対して相対位置(Mx,My)にある参照ブロック内の位置(Mx+x,My+y)における画素値を示し、Org(x,y)は対象ブロック内の位置(x,y)における画素値を表す。
動き探索/補償部40は、評価関数の最小値を求め、その結果をMBタイプ制御部52に出力する。MBタイプ制御部52は、この評価関数の最小値に基づいて、マクロブロックの符号化タイプをIntra符号化又はInter符号化のいずれかに決定し、その結果を可変長符号化復号化部18及びスイッチ22に出力する。可変長符号化復号化部18は、マクロブロックの符号化タイプを示す符号を生成し、出力する。
符号化タイプがIntra符号化に決定された場合には、スイッチ22はオフとなり、以後の符号化処理はIピクチャの生成時と同様である。符号化タイプがInter符号化に決定された場合には、動き探索/補償部40は、動き補償画像の生成を行う。この動き補償画像は、前述した動き探索処理を行って評価関数が最小値となった参照ブロックのことをいう。Inter符号化の場合、スイッチ22はオンとなり、動き探索/補償部40は、生成した動き補償画像を、スイッチ22を経由して減算器12に出力する。減算器12は、生成された動き補償画像を、外部より入力される符号化対象画像IMから減じ、その結果をDCT処理部14に出力する。
スイッチ22がオン(Inter符号化時)である場合には、再構成画像生成部30は、DCT処理部14、量子化処理部16、逆量子化処理部26、及び逆DCT処理部28で処理された画像と動き探索/補償部40から出力された動き補償画像とを加算し、その結果を再構成画像記憶部34に書き込む。また、スイッチ22がオフ(Intra符号化時)である場合には、再構成画像生成部30は、逆DCT処理部28から出力された画像をそのまま再構成画像記憶部34に書き込む。
その後、フレーム垂直スキャン読み出し部32は、再構成画像記憶部34内のデータを読み出し、読み出された再構成画像を一時データ記憶部2に書き込む。その他の点は、Iピクチャの生成の場合とほぼ同様である。
Bピクチャの生成について説明する。図3は、Pピクチャ及びBピクチャを生成する際のピクチャの参照についての説明図である。Pピクチャを生成する際には、時間的に前のIピクチャ又はPピクチャを参照領域(前方参照領域)として用いるのに対し、Bピクチャを生成する際には、時間的に前のIピクチャ又はPピクチャを参照領域(前方参照領域)として用いるだけではなく、時間的に後のIピクチャ又はPピクチャをも参照領域(後方参照領域)として用いる。このため、Bピクチャの後方参照領域として使用されるIピクチャ又はPピクチャは、そのBピクチャよりも前に符号化処理する必要がある(図3参照)。したがって、図1の動き探索/補償部40は、前方参照領域だけではなく、後方参照領域をも一時データ記憶部2から読み出す必要がある。
また、Bピクチャの生成時に生成される再構成画像は他ピクチャの参照画像として使用されることはないので、Bピクチャの生成時は、逆量子化処理部26、逆DCT処理部28、及び再構成画像生成部30による再構成画像の生成処理は行われない。その他の点は、Pピクチャの生成の場合とほぼ同様である。
− 復号化時 −
復号化時には、可変長符号化復号化部18は、入力された符号CDを復号化する。この時、ピクチャ符号化タイプ(Iピクチャ、Pピクチャ、Bピクチャ)及びマクロブロックタイプ(Intra/Inter符号化)が得られ、MBタイプ制御部52に送られる。
MBタイプ制御部52は、可変長符号化復号化部18から送られてくるフレームタイプ及びマクロブロックタイプに応じてスイッチ22の制御を行う。具体的には、フレームタイプがIピクチャの時、又はフレームタイプがPピクチャ若しくはBピクチャであってマクロブロックタイプがIntra符号化である時には、スイッチ22をオフにする。フレームタイプがPピクチャ又はBピクチャであってマクロブロックタイプがInter符号化である時には、スイッチ22をオンにする。
Iピクチャの復号化の際には、再構成画像生成部30は、可変長符号化復号化部18、逆量子化処理部26、及び逆DCT処理部28で処理されたデータを再構成画像記憶部34に書き込む。再構成画像生成部30は、再構成画像記憶部34に格納されたデータを外部に再生画像RPとして出力する。また、フレーム垂直スキャン読み出し部32は、再構成画像記憶部34のデータを読み出して一時データ記憶部2に格納させる。一時データ記憶部2のデータは、Pピクチャ又はBピクチャの復号化時の参照画像として使用される。
Pピクチャの復号化について説明する。可変長符号化復号化部18は、符号CDを復号化して得られた動きベクトル情報を動き探索/補償部40に出力する。動き探索/補償部40は、一時データ記憶部2から参照画像を読み出し、この画像に動きベクトル情報に基づいて動き補償を行い、その結果をスイッチ22に出力する。
スイッチ22がオン(Inter符号化時)である場合には、再構成画像生成部30は、可変長符号化復号化部18、逆量子化処理部26、及び逆DCT処理部28で処理された画像と動き探索/補償部40から出力された動き補償画像とを加算し、その結果を再構成画像記憶部34に書き込む。また、スイッチ22がオフ(Intra符号化時)である場合には、再構成画像生成部30は、逆DCT処理部28から出力された画像をそのまま再構成画像記憶部34に書き込む。
Iピクチャの場合と同様に、再構成画像生成部30は、再構成画像記憶部34に格納されたデータを外部に再生画像RPとして出力する。また、フレーム垂直スキャン読み出し部32は、再構成画像記憶部34のデータを読み出して一時データ記憶部2に格納させる。一時データ記憶部2のデータは、Pピクチャ又はBピクチャの復号化時の参照画像として使用される。
Bピクチャの復号化の場合は、時間的に前のIピクチャ又はPピクチャだけではなく、時間的に後のIピクチャ又はPピクチャをも参照領域として用い、再構成画像の生成処理は行われない。その他の点は、Pピクチャの復号化の場合とほぼ同様である。
− 再構成画像の転送 −
図4は、符号化処理の対象とする画像の例を示す説明図である。図4の画像は、水平方向及び垂直方向の座標でそれぞれの位置が表される水平64×垂直64個の画素を有している。マクロブロックのサイズを水平16×垂直16画素とすると、図4の画像は、16個(水平4×垂直4)のマクロブロックM0,M1,…,M15を有することになる。符号化処理は、マクロブロックM0,M1,…,M15の順でマクロブロック単位で行われる。マクロブロックM0〜M15に対応して、再構成画像R0,R1,…,R15がそれぞれ生成される。再構成画像は、R0,R1,…,R15の順で生成され、再構成画像記憶部34に格納される。
図5は、図1の再構成画像記憶部34における再構成画像を示す説明図である。再構成画像R0〜R15は、水平64×垂直64画素のフレーム全体のイメージを再構成画像記憶部34上において再現するように、フレーム内の画素間の関係を損なうことなく、再構成画像記憶部34に格納される。これは、参照画像の転送の際にマクロブロックを跨ぐ参照画像の転送が必要な場合があり、その際に容易に参照画像の切り出しが行えるようにするためである。
図6は、輝度信号及び色差信号(4:4:4形式)の例を示す説明図である。再構成画像は、輝度信号(Y)及び2種類の色差信号(すなわち、青色差信号(Cb)及び赤色差信号(Cr))の3信号を有している。4:4:4形式の場合には、図6のように3信号とも同じ情報量を持つ。
図7は、輝度信号及び色差信号(4:2:2形式)の例を示す説明図である。人間の眼は輝度に対しては敏感であるが、色に対してはさほど敏感ではないので、色差信号の情報量を輝度信号よりも少なくする場合がある。例えば、NTSC(national television system committee)規格においては、1フレーム当り、輝度信号が水平720×垂直480画素であるのに対し、青色差信号及び赤色差信号は水平方向にサブサンプル(間引き)が行われ、水平360×垂直480画素しかない(図7)。青色差信号及び赤色差信号の画素数は、いずれも輝度信号の半分である。
図8は、輝度信号及び色差信号(4:2:0形式)の例を示す説明図である。4:2:0形式の場合には、輝度信号が水平720×垂直480画素であるのに対し、青色差信号及び赤色差信号は水平及び垂直両方向にサブサンプルが行われ、水平360×垂直240画素しかない。この場合、青色差信号及び赤色差信号の画素数は、いずれも輝度信号の1/4である。図6〜図8のいずれの場合も、再構成画像の輝度信号、青色差信号及び赤色差信号は、それぞれ一時データ記憶部2内の異なる領域に格納される。
図9は、動き探索に用いられる参照領域の例を示す説明図である。図9は、動き探索範囲を水平方向及び垂直方向共に±16画素とした場合において、図4のマクロブロックM5の動き探索に用いられる輝度信号の参照領域を示している。この場合、動き探索/補償部40は、水平3×垂直3マクロブロック、すなわち水平48×垂直48画素のデータを読み出し、動き探索を行う。
動き探索/補償部40が「動き探索及び動き補償」の双方を行う場合と、「動き補償」のみを行う場合とでは、一時データ記憶部2から読み出される参照領域の範囲が異なる。当然、動き探索を実行する場合は、より広範囲の参照画像を読み出す必要がある。動き探索は符号化時にのみ行われ、復号時には行われない。また、一般に、動き探索に使用されるデータは輝度信号のみであり、色差信号は使用されない。
図10は、1/2画素精度での探索に用いる参照領域を示す説明図である。動き探索の際には、整数画素精度での探索が行われる場合の他に、1/2画素精度での探索が行われる場合がある。
水平方向に1/2画素ずれた点を探索する場合には、動き探索/補償部40は、水平方向に隣り合う2画素の補間を行い(図10右下参照)、1/2画素精度の画素を生成し、この1/2画素精度の画素を用いて動き探索を行う。このため、水平17×垂直16画素の整数画素が必要となる。同様に、垂直方向に1/2画素ずれた点を探索する場合には、水平16×垂直17画素の整数画素が必要となる。水平及び垂直両方向に1/2画素ずれた点を探索する場合には、動き探索/補償部40は、水平2×垂直2の4画素を用いて補間を行い(図10右下参照)、1/2画素精度の画素を生成する。このため、水平17×垂直17画素の整数画素が必要となる。
次に動き補償について説明する。動き探索/補償部40は、整数画素精度での探索、又は1/2画素精度での探索により評価関数最小点を決定すると、その点に対し動き補償(水平16×垂直16画素の参照画像の生成)を実施する。評価関数最小点が1/2画素精度の点であれば、当然、水平又は垂直17画素を用いて補償を行うことになる。
符号化時の輝度信号に対しては、動き探索/補償部40は、動き探索用に一時データ記憶部2から読み出した参照画像を使用して動き補償を実施すればよい。符号化時の色差信号、及び、復号化時の輝度信号及び色差信号に対しては、動き探索/補償部40は、画素を改めて一時データ記憶部2から読み出し、動き補償を行う。
図11は、図1の再構成画像記憶部34に格納されている再構成画像の1マクロブロックの画素データ(輝度信号)を示す説明図である。1つのマクロブロックは、16×16画素で構成されている。一時データ記憶部2を構成するSDRAMのデータバス幅が、画素データの幅(例えば8ビット)の4倍であるとする。フレーム垂直スキャン読み出し部32は、図11の画素データを水平方向に隣接する4画素のデータ毎にパッキングして、4画素の画素データを1つのデータ転送単位(以下ではパッキングデータと称する)とし、パッキングデータ毎に一時データ記憶部2に転送を行うこととする。
図12は、図11の画素データをパッキングデータを用いて示した説明図である。パッキングデータを用いると、転送を4×16回行えばよいので、画素毎にデータ転送を行う場合に比べて画像データの転送に要する時間を短縮することができる。以下では例として、画素データの幅が1バイトであり、SDRAMのデータバス幅が4バイトであるとする。
図13は、1マクロブロックの輝度信号のパッキングデータを画像上の位置に対応させて示す説明図である。パッキングデータP0は、図12の画素D0,D1,D2,D3に対応し、同様に、パッキングデータP1,P2,…,P63は、画素D4〜D7,画素D8〜D11,…,画素D252〜D255にそれぞれ対応している。
図14は、図1のフレーム垂直スキャン読み出し部32による図13のデータの転送順を示す説明図である。フレーム垂直スキャン読み出し部32は、再構成画像記憶部34から、まず図14の最も左の列のデータをパッキングデータP0,P4,P8,…,P60の順で一時データ記憶部2に転送する。次にフレーム垂直スキャン読み出し部32は、再構成画像記憶部34から、図14の左から2列目のデータをパッキングデータP1,P5,P9,…,P61の順で一時データ記憶部2に転送する。
次にフレーム垂直スキャン読み出し部32は、再構成画像記憶部34から、図14の左から3列目のデータをパッキングデータP2,P6,P10,…,P62の順で一時データ記憶部2に転送する。次にフレーム垂直スキャン読み出し部32は、再構成画像記憶部34から、図14の最も右の列のデータをパッキングデータP3,P7,P11,…,P63の順で一時データ記憶部2に転送する。以上のように垂直方向にスキャンを行って、1マクロブロックの転送が終了する。
図15は、図1の一時データ記憶部2に格納されたデータのマッピングの例を示す説明図である。以下では、一時データ記憶部2が有するSDRAMにおけるデータの格納位置を、カラムアドレスADX及びロウアドレスADYを用いて、アドレスSD(ADX,ADY)で表す。フレーム垂直スキャン読み出し部32は、図14の1列分のパッキングデータを、一時データ記憶部2に対して、カラムアドレスADXが連続しロウアドレスADYが一定の領域にバースト書き込みする。
具体的には、フレーム垂直スキャン読み出し部32は、図14の左端の列のパッキングデータP0,P4,P8,…,P60を、一時データ記憶部2のアドレスSD(ADX,ADY),SD(ADXR+1,ADY),SD(ADXR+2,ADY),…,SD(ADXR+15,ADY)のそれぞれに、ロウアドレスを変更せずにバースト書き込みする。その後、フレーム垂直スキャン読み出し部32は、ロウアドレスをADYからADYR+1に変更し、図14の左から2番目の列のパッキングデータP1,P5,P9,…,P61を、アドレスSD(ADX,ADYR+1),SD(ADXR+1,ADYR+1),SD(ADXR+2,ADYR+1),…,SD(ADXR+15,ADYR+1)のそれぞれに、ロウアドレスを変更せずにバースト書き込みする。
同様に、フレーム垂直スキャン読み出し部32は、ロウアドレスをADYR+2に変更して図14の左から3番目の列のデータを同一のロウに書き込み、ロウアドレスをADYR+3に変更して図14の右端列のデータを同一のロウに書き込む。このようにすることで、1マクロブロックを転送する際にロウアドレスを変更する回数を、16回から4回に削減することができる。
以上のようにして図15のようにパッキングデータを格納することを、フレームマッピングでの格納と称する。
図16は、図14及び図15のようにデータの書き込みを行う際における図1の一時データ記憶部2のタイミングチャートである。まず、フレーム垂直スキャン読み出し部32は、一時データ記憶部2に対して、時刻t0においてロウアドレスADYの設定(“act”コマンド)を行い、時刻t1において、カラムアドレスADXを設定し、パッキングデータの書き込み(“write”コマンド)を開始する。時刻t1〜t4の間にパッキングデータP0,P4,P8,P12が連続して書き込まれる。
その後、フレーム垂直スキャン読み出し部32は、一時データ記憶部2に対して、t5においてカラムアドレスADXR+4を設定し、パッキングデータの書き込み(“write”コマンド)を開始する。すると、パッキングデータP16,P20,P24,P28が連続して書き込まれる。同様に、図14の左端の列の残りのパッキングデータP32,P36,…,P60も“write”コマンド毎に4つずつ書き込まれる。
続いて、フレーム垂直スキャン読み出し部32は、一時データ記憶部2に対して、ロウアドレスを切り替えるために時刻t8において“pre”コマンドを実行させ、時刻t9において次のロウアドレスADYR+1の設定(“act”コマンド)を行う。そして、時刻t10において、カラムアドレスADXを設定し、パッキングデータの書き込み(“write”コマンド)を開始する。すると、パッキングデータP1,P5,P9,P13が連続して書き込まれる。同様に、図14の左から2列目の残りのパッキングデータP17,P21,…,P61も“write”コマンド毎に4つずつ書き込まれる。
いま、“act”コマンドから次の“act”コマンドまでを、再構成画像の1列分を転送するのに必要な期間と考えると、1列転送するのに20サイクルの期間要している。そのうち、データ転送処理が行われているのは16サイクルで、それ以外の期間はアドレス設定処理に必要となっている。よって、1画素当りの転送サイクル数は1.25サイクルとなり、図52のような再構成画像の転送(1画素当り2サイクル必要)に比べると転送効率が向上したことが確認できる。
このように、本実施形態においては、再構成画像を垂直方向にスキャンして読み出し、一時データ記憶部2は読み出されたデータの書き込みをロウアドレスが一定である方向にスキャンして行う。すなわち、図15等における一時データ記憶部2(SDRAM)上の横方向(ロウアドレスが一定である方向)が再構成画像の垂直方向、縦方向(カラムアドレスが一定である方向)が再構成画像の水平方向に対応している。
− マクロブロック間の位置の関係 −
図17は、図1の一時データ記憶部2において各マクロブロックが格納される位置を示す説明図である。図17においては、水平方向の座標がカラムアドレスに対応し、垂直方向の座標がロウアドレスに対応している。一時データ記憶部2は、図5に示された再構成画像R0〜R15(マクロブロックM0〜M15がそれぞれ対応する)を、図17のように格納する。
例えば、マクロブロックM6はマクロブロックM5の次に処理されるマクロブロックであり、原画像のフレーム上ではマクロブロックM6はマクロブロックM5の右側に位置する(図4,図5)。一時データ記憶部2は、これらのマクロブロックの再構成画像を格納する時には、再構成画像R6を再構成画像R5の下側に(すなわち、カラムアドレスは再構成画像R5と同様にし、ロウアドレスは再構成画像R5よりも4だけ増加させて)格納する。
図18は、図5の一部をパッキングデータを単位として示した説明図である。図19は、図1の一時データ記憶部2に格納されたパッキングデータのマッピングを複数のマクロブロックについて示す説明図である。
図18において、マクロブロックM5のデータP3の上及び右にそれぞれ位置するマクロブロックM1のデータP63、及びマクロブロックM6のデータP0、並びに、マクロブロックM5のデータP63の下及び右にそれぞれ位置するマクロブロックM9のデータP3、及びマクロブロックM6のデータP60に着目して説明する。
一時データ記憶部2では、再構成画像記憶部34とは水平軸と垂直軸とを入れ替えてマッピングされているので、マクロブロックM1のデータP63及びマクロブロックM6のデータP0は、図19では、マクロブロックM5のデータP3の左及び下にそれぞれ位置することとなる。また、マクロブロックM9のデータP3及びマクロブロックM6のデータP60は、図19では、マクロブロックM5のデータP63の右及び下にそれぞれ位置する。
このように、水平軸と垂直軸とが入れ替わった一時データ記憶部2上においても画素データ間の位置関係が損なわれないので、再構成画像の必要な部分のみを切り出して参照画像として転送することが容易にできる。
図20は、図1の一時データ記憶部2において各マクロブロックが格納される位置を、輝度信号及び各色差信号について示す説明図である。一時データ記憶部2は、再構成画像R0〜R15の輝度信号、青色差信号、及び赤色差信号を、図20のようにそれぞれ異なる領域に格納する。
図21は、水平4画素パッキングされた水平64×垂直64画素の再構成画像と、その一時データ記憶部2上におけるマッピングイメージとを示す説明図である。再構成画像においては横(水平)方向4×縦(垂直)方向16データであるのに対し、一時データ記憶部2においては、横方向(同一ロウアドレス)16×縦方向(同一カラムアドレス)4データとなる。
− 参照画像の転送 −
次に参照画像の転送(一時データ記憶部2からの読み出し)について説明する。図22は、参照画像として読み出される領域の例を示す説明図である。ここでは、1マクロブロック分の参照画像を読み出すことを考える。この領域のデータは、横方向16×縦方向4個のアドレスで指定される領域に格納されている。
図23は、図22の参照画像の読み出しを行う際における図1の一時データ記憶部2のタイミングチャートである。フレーム垂直スキャン書き込み部42は、図22の参照画像の各行について、一時データ記憶部2に書き込まれたパッキングデータを、カラムアドレスADXが連続しロウアドレスADYが一定の領域からバースト読み出しし、参照画像記憶部44に書き込む。
具体的には、フレーム垂直スキャン書き込み部42は、一時データ記憶部2に対して、時刻t0において“act”コマンドを実行させてロウアドレスADYの設定を行い、時刻t1において“read”コマンドを実行させてカラムアドレスADXを設定する。一時データ記憶部2は、所定のサイクル後(時刻t2)にアドレスSD(ADX,ADY)〜SD(ADXS+3,ADY)までの4アドレスのパッキングデータQ0,Q1,Q2,Q3をバースト読み出しして出力する。
その後、フレーム垂直スキャン書き込み部42は、一時データ記憶部2に対して、時刻t3,t4,t5において“read”コマンドを実行させてカラムアドレスADXS+4,ADXS+8,ADXS+12をそれぞれ設定し、一時データ記憶部2は、4アドレス分ずつパッキングデータQ4〜Q7,Q8〜Q11,Q12〜Q15を出力する。
このように、一時データ記憶部2は、同一のロウアドレスにおいてパッキングデータQ0〜Q15を読み出す。参照画像記憶部44は、読み出されたパッキングデータQ0〜Q15を格納する。“read”コマンド実行後、データが出力されるまでに所定の数のサイクルが必要であるので、それを考慮して事前に“act”コマンドを実行する必要がある。
フレーム垂直スキャン書き込み部42は、パッキングデータQ0〜Q15が全て読み出されるのを見計らって、ロウアドレス変更のために一時データ記憶部2に“pre”コマンド(時刻t6)及び“act”コマンド(時刻t7)を実行させ、ロウアドレスADYS+1を設定する。その後、同様にこのロウのパッキングデータQ16〜Q31の読み出し処理を行う。
同様に、フレーム垂直スキャン書き込み部42は、ロウアドレスをADYS+2に変更して参照画像の3番目の行のデータを同一のロウから読み出し、ロウアドレスをADYS+3に変更して参照画像の4番目の行のデータを同一のロウに書き込む。参照画像記憶部44は、読み出された各行のパッキングデータを格納する。このようにすることで、1マクロブロックを転送する際にロウアドレスを変更する回数を、4回にすることができる。
図24は、図1の参照画像記憶部44におけるパッキングデータを示す説明図である。フレーム垂直スキャン書き込み部42は、パッキングデータを一時データ記憶部2から読み出して、図24のように参照画像記憶部44に書き込む。すなわち、一時データ記憶部2で同一のロウに格納されていたパッキングデータを参照画像記憶部44の同一の列に書き込むようにするので、水平軸と垂直軸とを入れ替えたことになり、元の画像を復元することができる。
1マクロブロックを参照画像として転送する場合について考える。前出の式(C1)を参照して計算すると、“SDRAMの同一ロウアドレスへのアクセス数”=16、“SDRAMのアドレス設定期間”=4、“SDRAMのロウアドレス変更回数”=4であるので、1マクロブロックの転送に(16+4)×4=80サイクル必要であり、パッキングデータ当りの転送サイクル数は1.25(=80/64)サイクルである。従来(パッキングデータ当り2サイクル)に比べると、転送効率が向上したことが参照画像の転送においても確認できる。
また、水平17×垂直17画素を参照画像として転送する場合についても考える。本実施形態の転送方法を用いない場合には、同一ロウアドレスへのアクセス数が5、ロウアドレス変更回数が17であり、(5+4)×17=153サイクル必要であった。これに対し、図23と同様に転送を行うと、同一ロウアドレスへのアクセス数が17、ロウアドレス変更回数が5であるので、(17+4)×5=105サイクルで転送が完了する。このとき、パッキングデータ当りの転送サイクル数は、約1.23サイクルである。
色差信号についても輝度信号と同様に転送処理が行われる。色差信号について、一時データ記憶部2に関する転送の転送サイクル数を式(C1)を参照して計算する。なお、一時データ記憶部2へ書き込む場合も、一時データ記憶部2から読み出す場合も、同じ転送サイクル数が必要である。
4:2:0形式の場合、各色差信号(青色差信号又は赤色差信号)は、マクロブロック当り水平8×垂直8画素を有しているので、水平方向に並んだ4画素をパッキングすると、水平2×垂直8個のパッキング結果が得られる。1マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=8、“SDRAMのロウアドレス変更回数”=2であるので、転送に(8+4)×2=24サイクル必要である。また、両色差信号を転送するには48サイクル必要となる。したがって、パッキングデータ当りの転送サイクル数は1.5(=48/(2×8×2))サイクルである。
本実施形態の転送方法を用いない場合には、1マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=2、“SDRAMのロウアドレス変更回数”=8であるので、転送に(2+4)×8=48サイクル必要である。すなわち、パッキングデータ当り3サイクル必要であるので、本実施形態によると、転送効率が向上したことがわかる。
4:2:2形式の場合、各色差信号は、マクロブロック当り水平8×垂直16画素を有しているので、水平方向に並んだ4画素をパッキングすると、水平2×垂直16個のパッキング結果が得られる。1マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=16、“SDRAMのロウアドレス変更回数”=2であるので、転送に(16+4)×2=40サイクル必要である。また、両色差信号を転送するには80サイクル必要となる。したがって、パッキングデータ当りの転送サイクル数は1.25(=80/(2×16×2))サイクルである。
本実施形態の転送方法を用いない場合には、1マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=2、“SDRAMのロウアドレス変更回数”=16であるので、転送に(2+4)×16=96サイクル必要である。すなわち、パッキングデータ当り3サイクル必要であるので、本実施形態によると、転送効率が向上したことがわかる。
色差信号が4:4:4形式の場合は、輝度信号と同様に計算することができるので、説明を省略する。
マクロブロックが水平方向4×垂直方向16個のパッキングデータを有している場合について説明したが、マクロブロックが有するパッキングデータの数はこれには限らない。例えば、マクロブロックが水平方向DX×垂直方向DY個(DX,DYは自然数)のパッキングデータを有している場合に、DX>=DYであればマクロブロックを水平方向にスキャンしてパッキングデータをDX個ずつ一時データ記憶部2の連続するアドレスにバースト書き込みし、DX<DYであればマクロブロックを垂直方向にスキャンしてパッキングデータをDY個ずつ一時データ記憶部2の連続するアドレスにバースト書き込みするようにしてもよい。
これによると、パッキングデータの並び方に応じてスキャン方向を切り替えるので、パッキングデータが占める画像上の形や画像の縦横比等にかかわらず、データ転送を高速化することができる。
(第2の実施形態)
図25は、本発明の第2の実施形態に係る画像処理装置の構成を示すブロック図である。この画像処理装置は、フィールド構造の画像の転送効率を向上させるものである。
図25の画像処理装置200は、図1の画像処理装置100において、再構成画像生成部30及び動き探索/補償部40に代えて再構成画像生成部230及び動き探索/補償部240をそれぞれ備えたものである。再構成画像生成部230は、フィールド垂直スキャン読み出し部33と、再構成画像記憶部34とを有している。動き探索/補償部240は、フィールド垂直スキャン書き込み部43と、参照画像記憶部44とを有している。
図26は、図13の画素データをフィールド毎に分けて示した説明図である。図27は、図25のフィールド垂直スキャン読み出し部33による図26のデータの転送順を示す説明図である。フィールド垂直スキャン読み出し部33は、図13の画像の奇数番目のライン(トップ(TOP)フィールド)に属するパッキングデータと、偶数番目のライン(ボトム(BOTTOM)フィールド)に属するパッキングデータとを独立して読み出し、一時データ記憶部2に書き込む。
具体的には、フィールド垂直スキャン読み出し部33は、再構成画像記憶部34から、まず図27のトップフィールド画像のうち、最も左の列のデータをパッキングデータP0,P8,P16,…,P56の順で一時データ記憶部2に転送する。次にフィールド垂直スキャン読み出し部33は、再構成画像記憶部34から、図27のトップフィールド画像のうち、左から2列目のデータをパッキングデータP1,P9,P17,…,P57の順で一時データ記憶部2に転送する。
次にフィールド垂直スキャン読み出し部33は、再構成画像記憶部34から、図27のトップフィールド画像のうち、左から3列目のデータをパッキングデータP2,P10,P18,…,P58の順で一時データ記憶部2に転送する。次にフィールド垂直スキャン読み出し部33は、再構成画像記憶部34から、図27のトップフィールド画像のうち、最も右の列のデータをパッキングデータP3,P11,P19,…,P59の順で一時データ記憶部2に転送する。以上により、1マクロブロックのトップフィールドの転送が終了する。
その後、フィールド垂直スキャン読み出し部33は、再構成画像記憶部34から、図27のボトムフィールド画像のうち、最も左の列のデータをパッキングデータP4,P12,P20,…,P60の順で一時データ記憶部2に転送する。以下同様に、フィールド垂直スキャン読み出し部33は、再構成画像記憶部34から、図27のボトムフィールド画像をパッキングデータP5,P13,P21,…,P61,P6,P14,P22,…,P62,P7,P15,P23,…,P63の順で一時データ記憶部2に転送する。以上により、1マクロブロックのボトムフィールドの転送が終了し、1マクロブロックの転送が完了する。
図28は、図25の一時データ記憶部2に格納されたデータのマッピングの例を示す説明図である。フィールド垂直スキャン読み出し部33は、トップフィールドに属するパッキングデータと、ボトムフィールドに属するパッキングデータとを、一時データ記憶部2の異なる領域にバースト書き込みする。
具体的には、フィールド垂直スキャン読み出し部33は、図27のトップフィールドの左端の列のパッキングデータP0,P8,P16,…,P56を、一時データ記憶部2のアドレスSD(ADX,ADY),SD(ADXR+1,ADY),SD(ADXR+2,ADY),…,SD(ADXR+7,ADY)のそれぞれに、ロウアドレスを変更せずにバースト書き込みする。その後、フィールド垂直スキャン読み出し部33は、ロウアドレスをADYからADYT+1に変更し、トップフィールドの左から2番目の列のパッキングデータP1,P9,P17,…,P57を、アドレスSD(ADX,ADYT+1),SD(ADXR+1,ADYT+1),SD(ADXR+2,ADYT+1),…,SD(ADXR+7,ADYT+1)のそれぞれに、ロウアドレスを変更せずにバースト書き込みする。
同様に、フィールド垂直スキャン読み出し部33は、ロウアドレスをADYT+2に変更してトップフィールドの左から3番目の列のデータを同一のロウに書き込み、ロウアドレスをADYT+3に変更してトップフィールドの右端列のデータを同一のロウに書き込む。
これに続いて、フィールド垂直スキャン読み出し部33は、図27のボトムフィールドの左端の列のパッキングデータP4,P12,P20,…,P60を、一時データ記憶部2のアドレスSD(ADX,ADY),SD(ADXR+1,ADY),SD(ADXR+2,ADY),…,SD(ADXR+7,ADY)のそれぞれに、ロウアドレスを変更せずにバースト書き込みする。
同様に、フィールド垂直スキャン読み出し部33は、ロウアドレスをADYB+1に変更してボトムフィールドの左から2番目の列のデータを同一のロウに書き込み、ロウアドレスをADYB+2に変更してボトムフィールドの左から3番目の列のデータを同一のロウに書き込み、ロウアドレスをADYB+3に変更してボトムフィールドの右端列のデータを同一のロウに書き込む。このようにすることで、フィールド構造の画像においても、データ転送の際にロウアドレスを変更する回数を削減することができる。
以上のようにして図28のようにパッキングデータを格納することを、フィールドマッピングでの格納と称する。
一時データ記憶部2へ再構成画像を転送する場合には、1マクロブロック毎に、各フィールドについて、“SDRAMの同一ロウアドレスへのアクセス数”=8、“SDRAMのアドレス設定期間”=4、“SDRAMのロウアドレス変更回数”=4である。式(C1)を参照して計算すると、1マクロブロックの一方のフィールドの転送に(8+4)×4=48サイクル必要であり、パッキングデータ当りの転送サイクル数は1.5(=48×2/64)サイクルである。従来(パッキングデータ当り2(=(4+4)×8×2/64)サイクル)に比べると、転送効率が向上したことがわかる。
図29は、図25の一時データ記憶部2において各マクロブロックが格納される位置を、輝度信号及び色差信号について示す説明図である。一時データ記憶部2は、図29のように再構成画像R0〜R15のトップフィールド用の信号とボトムフィールド用の信号とを異なる領域に格納する。
図21の場合と同様に、一時データ記憶部2上においても画素データ間の位置関係が損なわれないので、再構成画像の必要なフィールドの必要な部分のみを切り出して参照画像として転送することが容易にできる。
フィールド垂直スキャン書き込み部43は、一時データ記憶部2から、トップフィールドのパッキングデータとボトムフィールドのパッキングデータとを独立してバースト読み出しする点の他は、図23の場合とほぼ同様に参照画像の転送(読み出し)を行う。すなわち、フィールド毎に4(水平17×垂直17画素を参照画像とする場合は5)個のロウアドレスからの読み出しを行い、同一のロウアドレスからは8(水平17×垂直17画素を参照画像とする場合は9)個のカラムアドレスのパッキングデータを読み出す。
1マクロブロックを参照画像として転送する場合について考える。フィールド毎に、“SDRAMの同一ロウアドレスへのアクセス数”=8、“SDRAMのアドレス設定期間”=4、“SDRAMのロウアドレス変更回数”=4であるので、一時データ記憶部2への転送の場合と同様に、1マクロブロックの1フィールドの転送に48サイクル必要であり、パッキングデータ当りの転送サイクル数は1.5サイクルである。従来(パッキングデータ当り2サイクル)に比べると、転送効率が向上したことが参照画像の転送においても確認できる。
水平17×垂直17画素を参照画像として転送する場合について考える。本実施形態の転送方法を用いない場合には、フィールド毎に、同一ロウアドレスへのアクセス数が5、ロウアドレス変更回数が9であり、式(C1)を参照すると、(5+4)×9=81サイクル必要であった。これに対し、本実施形態によると、同一ロウアドレスへのアクセス数が9、ロウアドレス変更回数が5であるので、(9+4)×5=65サイクルで転送が完了する。このとき、パッキングデータ当りの転送サイクル数は、約1.44サイクルである。
色差信号についても輝度信号と同様に転送処理が行われる。色差信号について、一時データ記憶部2に関する転送の転送サイクル数を式(C1)を参照して計算する。なお、一時データ記憶部2へ書き込む場合も、一時データ記憶部2から読み出す場合も、同じ転送サイクル数が必要である。
4:2:0形式の場合、各色差信号(青色差信号又は赤色差信号)は、1マクロブロック当り水平8×垂直8画素を有しているので、水平方向に並んだ4画素をパッキングすると、フィールド毎に水平2×垂直4個のパッキング結果が得られる。1マクロブロックのフィールド毎に、“SDRAMの同一ロウアドレスへのアクセス数”=4、“SDRAMのロウアドレス変更回数”=2であるので、転送に(4+4)×2=16サイクル必要である。また、両フィールドの両色差信号を転送するには64サイクル必要となる。したがって、パッキングデータ当りの転送サイクル数は2(=64/(2×4×2×2))サイクルである。
本実施形態の転送方法を用いない場合には、1マクロブロックのフィールド毎に、“SDRAMの同一ロウアドレスへのアクセス数”=2、“SDRAMのロウアドレス変更回数”=4であるので、転送に(2+4)×4=24サイクル必要である。すなわち、パッキングデータ当り3サイクル必要であるので、本実施形態によると、転送効率が向上したことがわかる。
4:2:2形式の場合、各色差信号は、マクロブロック当り水平8×垂直16画素を有しているので、水平方向に並んだ4画素をパッキングすると、フィールド毎に水平2×垂直8個のパッキング結果が得られる。1マクロブロックのフィールド毎に、“SDRAMの同一ロウアドレスへのアクセス数”=8、“SDRAMのロウアドレス変更回数”=2であるので、転送に(8+4)×2=24サイクル必要である。また、両フィールドの両色差信号を転送するには96サイクル必要となる。したがって、パッキングデータ当りの転送サイクル数は1.5(=96/(2×8×2×2))サイクルである。
本実施形態の転送方法を用いない場合には、1マクロブロックのフィールド毎に、“SDRAMの同一ロウアドレスへのアクセス数”=2、“SDRAMのロウアドレス変更回数”=8であるので、転送に(2+4)×8=48サイクル必要である。すなわち、パッキングデータ当り3サイクル必要であるので、本実施形態によると、転送効率が向上したことがわかる。
色差信号が4:4:4形式の場合は、輝度信号と同様に計算することができるので、説明を省略する。
一時データ記憶部2において、図28のように、トップフィールドのデータが格納されるカラムアドレスの範囲ADX〜ADXR+7と、ボトムフィールドのデータが格納されるカラムアドレスの範囲とが同じ場合について説明したが、それぞれのフィールドのデータが格納されるカラムアドレスの範囲は異なっていてもよい。
図30は、図25の一時データ記憶部2に格納されたデータのマッピングの他の例を示す説明図である。図30はフィールドマッピングの他の例であって、このように、トップフィールドのラインに属するパッキングデータとボトムフィールドのラインに属するパッキングデータとを、ロウアドレスを同一にして書き込むようにしてもよい。
例えばトップフィールドのデータとボトムフィールドのデータとを交互に転送するようにする。すなわち、図26のパッキングデータを転送する際に、まずパッキングデータP0,P8,P16,…,P56の順でトップフィールドの最左列を転送する。その後、パッキングデータP4,P12,P20,…,P60の順でボトムフィールドの最左列を転送する。このとき、これらのパッキングデータを図30のように同じロウアドレスADYに格納する。
続いて、パッキングデータP1,P9,P17,…,P57の順でトップフィールドの2列目を転送し、その後、パッキングデータP5,P13,P21,…,P61の順でボトムフィールドの2列目を転送する。これらのパッキングデータは図30のロウアドレスADYR+1に格納する。
更に、パッキングデータP2,P10,P18,…,P58の順でトップフィールドの3列目を転送し、その後、パッキングデータP6,P14,P22,…,P62の順でボトムフィールドの3列目を転送する。これらのパッキングデータは図30のロウアドレスADYR+2に格納する。
最後に、パッキングデータP3,P11,P19,…,P59の順でトップフィールドの最右列を転送し、その後、パッキングデータP7,P15,P23,…,P63の順でボトムフィールドの最右列を転送し、1マクロブロック分の転送を完了する。これらのパッキングデータは図30のロウアドレスADYR+3に格納する。
図30のようなマッピングで格納すると、トップフィールド及びボトムフィールドの再構成画像の同列の画素を同じロウアドレスに格納するので、トップフィールドとボトムフィールドとを合わせて、ロウアドレスをマクロブロック当り4回変更するだけで済む。ロウアドレスをフィールド毎に4回変更する必要がなくなるので、データ転送を高速化することができる。
(第3の実施形態)
本実施形態では、色差信号の格納の例について説明する。まず、図1の画像処理装置がフレーム構造の画像を処理する場合について説明する。
図31は、フレーム構造の画像における1マクロブロックの青色差信号及び赤色差信号(4:2:0形式)のパッキングデータを画面上の位置に対応させて示す説明図である。図31では、輝度信号と同様に、各色差信号(それぞれ水平8×垂直8画素)を水平方向に4画素ずつパッキングしている。
図32は、図1の一時データ記憶部2における色差信号のマッピングの例を示す説明図である。この図は、第1の実施形態のように青色差信号と赤色差信号とを異なる領域に格納する場合について示している。この場合、図1のフレーム垂直スキャン読み出し部32は、図31の青色差信号をP0→P2→…→P14→P1→P3→…→P15の順で、その後、赤色差信号をP0→P2→…→P14→P1→P3→…→P15の順で一時データ記憶部2に図32のように書き込む。このとき、青色差信号P0,P2,…,P14が同一のロウアドレスに書き込まれ、赤色差信号P0,P2,…,P14がこれとは異なる同一のロウアドレスに書き込まれる。
図33は、図1の一時データ記憶部2における色差信号のマッピングの他の例を示す説明図である。画像形式が4:4:4形式、4:2:2形式、又は4:2:0形式のいずれであっても、青色差信号と赤色差信号の情報量は同じである。また、両色差信号の同位置のデータ(例えば、図31における青色差信号P0と赤色差信号P0)は、同じ画素を表示するために使用されるので、同じタイミングで読み出されるべきである。
そこで、図1のフレーム垂直スキャン読み出し部32は、図31の青色差信号P0→赤色差信号P0→青色差信号P2→赤色差信号P2→…→青色差信号P14→赤色差信号P14の順で一時データ記憶部2に図33のように書き込む。このとき、青色差信号P0,P2,…,P14及び赤色差信号P0,P2,…,P14が同一のロウアドレスに書き込まれる。すなわち、図31の青色差信号のパッキングデータの1列と赤色差信号のパッキングデータの1列とを同一のロウアドレスに格納して、両色差信号を同一の領域に格納する。
図32の場合には、1マクロブロック当りロウアドレスを4回指定して色差信号を転送する必要がある。式(C1)を用いて両色差信号の転送に必要な転送サイクル数を計算すると、マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=8、“SDRAMのアドレス設定期間”=4、“SDRAMのロウアドレス変更回数”=4であるので、転送に(8+4)×4=48サイクル必要であり、パッキングデータ当りの転送サイクル数は1.5(=48/(2×8×2))サイクルである。
図33の場合には、1マクロブロック当りロウアドレスを2回指定すればよい。マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=16、“SDRAMのロウアドレス変更回数”=2であるので、両色差信号の転送に必要な転送サイクル数は、(16+4)×2=40サイクルである。パッキングデータ当りの転送サイクル数は1.25(=40/(2×8×2))サイクルとなり、転送効率が向上する。
次に、図25の画像処理装置がフィールド構造の画像を処理する場合について説明する。図34は、フィールド構造の画像における1マクロブロックの青色差信号及び赤色差信号(4:2:0形式)のパッキングデータを画面上の位置に対応させて示す説明図である。図34では、輝度信号と同様に、各色差信号(それぞれ水平8×垂直8画素)を水平方向に4画素ずつパッキングしている。
図35は、図25の一時データ記憶部2における色差信号のマッピングの例を示す説明図である。この図は、第2の実施形態のように青色差信号と赤色差信号とを異なる領域に格納する場合について示している。この場合、図1のフィールド垂直スキャン読み出し部33は、図34のトップフィールドの青色差信号をP0→P4→…→P12→P1→P5→…→P13の順で、ボトムフィールドの青色差信号をP2→P6→…→P14→P3→P7→…→P15の順で、その後、トップフィールドの赤色差信号をP0→P4→…→P12→P1→P5→…→P13の順で、ボトムフィールドの赤色差信号をP2→P6→…→P14→P3→P7→…→P15の順で一時データ記憶部2に図35のように書き込む。このとき、青色差信号P0,P4,…,P12が同一のロウアドレスに書き込まれ、赤色差信号P0,P4,…,P12がこれとは異なる同一のロウアドレスに書き込まれる。
図36は、図25の一時データ記憶部2における色差信号のマッピングの他の例を示す説明図である。フィールド構造の画像においても、両色差信号の同位置のデータ(例えば、図34における青色差信号P0と赤色差信号P0)は、同じ画素を表示するのに使用されるので、同じタイミングで読み出されるべきである。
そこで、図25のフィールド垂直スキャン読み出し部33は、図34の青色差信号P0→赤色差信号P0→青色差信号P4→赤色差信号P4→…→青色差信号P12→赤色差信号P12の順で一時データ記憶部2に図36のように書き込む。このとき、青色差信号P0,P4,…,P12及び赤色差信号P0,P4,…,P12が同一のロウアドレスに書き込まれる。すなわち、図34の青色差信号のパッキングデータの1列と赤色差信号のパッキングデータの1列とを同一のロウアドレスに格納して、両色差信号を同一の領域に格納する。
図35の場合には、1マクロブロック当りロウアドレスを8回指定して色差信号を転送する必要がある。式(C1)を用いて両色差信号の転送に必要な転送サイクル数を計算すると、マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=4、“SDRAMのアドレス設定期間”=4、“SDRAMのロウアドレス変更回数”=8であるので、転送に(4+4)×8=64サイクル必要であり、パッキングデータ当りの転送サイクル数は2(=64/(2×8×2))サイクルである。
図36の場合には、1マクロブロック当りロウアドレスを4回指定すればよい。マクロブロック毎に、“SDRAMの同一ロウアドレスへのアクセス数”=8、“SDRAMのロウアドレス変更回数”=4であるので、両色差信号の転送に必要な転送サイクル数は、(8+4)×4=48サイクルである。パッキングデータ当りの転送サイクル数は1.5(=48/(2×8×2))サイクルとなり、転送効率が向上する。
4:2:0形式の画像の場合について説明したが、4:2:2形式又は4:4:4形式の画像の場合にも図33及び図36と同様に色差信号を格納することができる。
図37は、図1の一時データ記憶部2における輝度信号及び色差信号のマッピングの例を示す説明図である。画像形式が4:4:4形式の場合には、輝度信号、青色差信号、及び赤色差信号の情報量が全て同じになるので、図1のフレーム垂直スキャン読み出し部32は、図37のように1画素分毎に、輝度信号、青色差信号、及び赤色差信号を順に一時データ記憶部2の同一のロウアドレスに格納させるようにしてもよい。
図38は、図25の一時データ記憶部2における輝度信号及び色差信号のマッピングの例を示す説明図である。画像形式が4:4:4形式の場合には、図25のフィールド垂直スキャン読み出し部33は、図38のように1画素分毎に、輝度信号、青色差信号、及び赤色差信号を順に一時データ記憶部2の同一のロウアドレスに格納させるようにしてもよい。
図37及び図38によると、データ転送の際にSDRAMのロウアドレスを変更する回数を減らすことができるので、転送効率を向上させることができる。
また、処理すべき画像の形式に応じて適応的に一時データ記憶部2へのデータの格納方法を切り替えるようにしてもよい。すなわち、画像形式が4:2:0形式又は4:2:2形式のときには、図33又は図36のような色差信号のみを交互にマッピングする方法を採用し、画像形式が4:4:4形式のときには、図37又は図38のような輝度信号も含めて交互にマッピングする方法を採用するようにしてもよい。
また、図35,図36,図38のそれぞれにおいて、図30のように、トップフィールドの画素のデータ(輝度信号及び色差信号)とボトムフィールドの画素のデータとを同じロウアドレスに格納するようにしてもよい。
また、符号化時において、輝度信号についてはフレームマッピングでの格納を行い、両色差信号についてはフレームマッピング、フィールドマッピング、又はフレームマッピング及びフィールドマッピングの双方、のいずれか1つを選択して格納を行うようにしてもよい。
(第4の実施形態)
図39は、本発明の第4の実施形態に係る画像処理装置の構成を示すブロック図である。図39の画像処理装置300は、図1の画像処理装置において、再構成画像生成部30及び動き探索/補償部40に代えて、再構成画像生成部330及び動き探索/補償部340をそれぞれ備えるようにしたものである。
再構成画像生成部330は、図1の再構成画像生成部30がフィールド垂直スキャン読み出し部33を更に備えたものであり、動き探索/補償部340は、図1の動き探索/補償部40がフィールド垂直スキャン書き込み部43を更に備えたものである。また、一時データ記憶部2に代えてデータを一時データ記憶部2A,2Bを用いる。ここでは例として、一時データ記憶部2A,2Bは、SDRAMであるとする。
第1の実施形態とほぼ同様に、フレーム垂直スキャン読み出し部32は、図14のように画像を垂直方向にスキャンして、輝度信号のパッキングデータをマクロブロック単位でスキャン順に再構成画像記憶部34から一時データ記憶部2Aに転送し、フレームマッピングで格納させる。フレーム垂直スキャン読み出し部32は、同様に画像を垂直方向にスキャンして、色差信号のパッキングデータをマクロブロック単位でスキャン順に再構成画像記憶部34から一時データ記憶部2Aに転送し、フレームマッピングで格納させる。
第2の実施形態とほぼ同様に、フィールド垂直スキャン読み出し部33は、図27のように画像を垂直方向にスキャンして、輝度信号のパッキングデータをマクロブロック単位でスキャン順に再構成画像記憶部34から一時データ記憶部2Bに転送し、フィールドマッピングで格納させる。フィールド垂直スキャン読み出し部33は、同様に画像を垂直方向にスキャンして、色差信号のパッキングデータをマクロブロック単位でスキャン順に再構成画像記憶部34から一時データ記憶部2Bに転送し、フィールドマッピングで格納させる。
また、動き探索/補償部340は、一時データ記憶部2A,2Bから、参照画像の読み出しをマクロブロック単位で行う。この動き探索/補償部340は、マクロブロック単位でフレーム探索/補償とフィールド探索/補償とを切り替え可能である。
すなわち、フレーム探索/補償時には、フレーム垂直スキャン書き込み部42が、フレームマッピングにてデータが格納されている一時データ記憶部2Aからデータを読み出し、参照画像記憶部44に格納させる。フィールド探索/補償時には、フィールド垂直スキャン書き込み部43が、フィールドマッピングにてデータが格納されている一時データ記憶部2Bからデータを読み出し、参照画像記憶部44に格納させる。
このように一時データ記憶部2Aと一時データ記憶部2Bとを用いて、画像をフレームマッピング及びフィールドマッピングの双方で格納しておくので、フレーム処理又はフィールド処理のいずれを行うかに応じて参照画像の転送を高効率に行うことができる。また、一時データ記憶部2A及び一時データ記憶部2Bに並列して書き込みを行うことができるので、再構成画像の書き込みを高速に行うことができる。
参照画像は、一時データ記憶部2A又は一時データ記憶部2Bのどちらか一方から読み出される。このため、一時データ記憶部2A,2Bのうち、読み出しに使用されない方にはクロックの供給を停止するようにしてもよい。これにより、消費電力を削減することができる。
図40は、図39の画像処理装置と高速動作可能な一時データ記憶部2Cとを示すブロック図である。このように、図39の画像処理装置が一時データ記憶部2Cを用いるようにしてもよい。一時データ記憶部2Cは、例えばSDRAMであり、図39の一時データ記憶部2A又は2Bの2倍の速度でデータ転送が可能であるとする。
図40において、フレーム垂直スキャン読み出し部32及びフィールド垂直スキャン読み出し部33は、一時データ記憶部2A及び2Bではなく、一時データ記憶部2Cの異なる領域にデータを転送し、格納させる。また、フレーム垂直スキャン書き込み部42又はフィールド垂直スキャン書き込み部43は、一時データ記憶部2Cからデータを読み出し、参照画像記憶部44に格納させる。このように、一時データ記憶部2Cを1つのみ持つようにしてもよい。
図41は、図39の画像処理装置の変形例の構成を示すブロック図である。図41の画像処理装置300Bは、図39の画像処理装置において、再構成画像生成部330に代えて図1の再構成画像生成部30を備え、フレーム/フィールド変換部4を更に備えるものである。
フレーム垂直スキャン読み出し部32は、第1の実施形態とほぼ同様に、輝度信号及び色差信号のパッキングデータを再構成画像記憶部34から一時データ記憶部2Cに転送し、フレームマッピングで格納させる。その後、フレーム/フィールド変換部4が、一時データ記憶部2Cに格納されているフレームマッピングの再構成画像を読み出し、読み出されたデータを、一時データ記憶部2Cのフレームマッピング用の領域とは異なる領域にフィールドマッピングで格納させる。
このように、図41の画像処理装置によってもフレームマッピング及びフィールドマッピングの双方で再構成画像を格納することができる。
図42は、図39の画像処理装置の他の変形例の構成を示すブロック図である。図42の画像処理装置300Cは、図39の画像処理装置において、再構成画像生成部330に代えて図25の再構成画像生成部230を備え、フィールド/フレーム変換部5を更に備えるものである。
フィールド垂直スキャン読み出し部33は、第2の実施形態とほぼ同様に、輝度信号及び色差信号のパッキングデータを再構成画像記憶部34から一時データ記憶部2Cに転送し、フィールドマッピングで格納させる。その後、フィールド/フレーム変換部5が、一時データ記憶部2Cに格納されているフィールドマッピングの再構成画像を読み出し、読み出されたデータを、一時データ記憶部2Cのフィールドマッピング用の領域とは異なる領域にフレームマッピングで格納させる。
このように、図42の画像処理装置によってもフレームマッピング及びフィールドマッピングの双方で再構成画像を格納することができる。
図41及び図42の画像処理装置によると、再構成画像生成部30,230から転送される再構成画像データは減るものの、一時データ記憶部2Cが動作する期間は延びるというトレードオフの関係がある。
図40〜図42の一時データ記憶部2Cには、基本的には、フレームマッピング用及びフィールドマッピング用の両方のデータ領域を確保する必要がある。しかし、一時データ記憶部2Cには、フレームマッピング又はフィールドマッピングの一方のみによる再構成画像データを格納させるようにしてもよい。また、条件に応じて、フレームマッピングのみ、フィールドマッピングのみ、又はフレームマッピング及びフィールドマッピングの両方(以下では、マッピング3方法と称する)による再構成画像データを適応的に一時データ記憶部2Cに格納させるようにしてもよい。
処理すべき画像のサイズがCIF(水平384×垂直288画素)である場合には、両マッピングを使用して処理させることは容易であるが、処理すべき画像のサイズがHD(水平1920×垂直1080画素)である場合には、両マッピングを使用して処理させるためには一時データ記憶部2C上にHDサイズの領域を2面(フレームマッピング用及びフィールドマッピング用)確保する必要があるので、大容量のSDRAMが必要となり、コストが高くなる。そこで、例えばHD画像の処理時には、フレームマッピング又はフィールドマッピングのいずれか一方の再構成画像データを用いて処理するようにする。すなわち、処理対象の画像のサイズに応じてマッピング3方法のいずれかによる再構成画像データを用いるようにする。これにより、一時データ記憶部2Cをどのように構成しても、その構成に応じた最高性能を発揮させることができる。
また、復号時においては、可変長符号化復号化部18が復号されるコードのヘッダを解析し、そのヘッダ情報に含まれる画像サイズ情報に応じて一時データ記憶部2Cにおけるマッピング方法を選択するようにしてもよい。これにより、画像サイズに応じた領域を用いることができ、復号化処理を効率よく行うことができる。
また、一時データ記憶部2Cを他の処理部が兼用して使用するシステムを考えた場合、一時データ記憶部2Cに対するアクセス負荷によってマッピング方法を切り替えるようにしてもよい。例えば、他の処理部が頻繁に一時データ記憶部2Cを使用する場合には一時データ記憶部2Cへのアクセスを少なくするマッピング、すなわちフレームマッピング又はフィールドマッピングを使用し、他の処理部からのアクセスが少ない場合には両マッピングを使用するようにしてもよい。
このように一時データ記憶部2Cに対する負荷(バスのトラフィック)に応じてマッピング方法の切り替えを行うと、一時データ記憶部2Cは、どのような負荷が与えられても高い性能を発揮することができる。
図43は、マルチコーデック処理の例を示すタイミングチャートである。図40の画像処理装置が4つのクライアント、すなわち、クライアントCLI0,CLI1,CLI2,CLI3からの要求を処理する場合について考える。各クライアントの要求は、
クライアントCLI0…SD(水平720×垂直480)サイズ画像の符号化処理
クライアントCLI1…QVGA(水平320×垂直240)サイズ画像の復号化処理
クライアントCLI2…CIF(水平384×垂直288)サイズ画像の符号化処理
クライアントCLI3…HD(水平1920×垂直1080)サイズ画像の復号化処理
であるとする。
図43の時刻t0においては、どのクライアントからの要求もない。時刻t1では、クライアントCLI0からSDサイズ画像の符号化処理要求が発生し、図40の画像処理装置300は、この符号化処理を開始する。時刻t2では、クライアントCLI1からQVGAサイズ画像の復号化処理要求が発生し、画像処理装置300は、時刻t2以降はクライアントCLI0の符号化処理とクライアントCLI1の復号化処理とを、フレーム単位で切り替えて交互に時分割で処理する。
時刻t3では、クライアントCLI2からのCIFサイズ画像の符号化処理要求が発生し、画像処理装置300は、クライアントCLI0の符号化処理と、クライアントCLI1の復号化処理と、クライアントCLI2の符号化処理とを、フレーム単位で切り替えて交互に処理する。その後、時刻t4においてクライアントCLI0の符号化処理が終了し、時刻t5においてクライアントCLI1の復号化処理が終了する。時刻t5からクライアントCLI3のHDサイズ画像の復号化処理要求が発生する時刻t6までの間は、画像処理装置300は、クライアントCLI2の符号化処理のみを実行する。
時刻t6からは、画像処理装置300は、クライアントCLI2の符号化処理に加え、クライアントCLI3の復号化処理もフレーム単位で処理していく。時刻t7においてクライアントCLI3の復号化処理が終了し、時刻t8においてクライアントCLI2の符号化処理が終了し、全てのクライアントからの要求が終了する。なお、各クライアントの処理は、一時データ記憶部2C内の異なる領域を使用して処理するものとする。
時刻t1におけるクライアントCLI0のSDサイズ画像の符号化処理を、フレームマッピング及びフィールドマッピングを使用して行っていた場合、その後の時刻t2におけるクライアントCLI1のQVGAサイズ画像の復号化処理については、一時データ記憶部2C内の、クライアントCLI0の符号化処理で使用されていない領域を使用する必要がある。
画像処理装置300は、クライアントCLI1から復号化処理要求を受けると、一時データ記憶部2C内の使用されていない領域の容量を求め、求められた容量に応じてマッピングを選択する。すなわち、両マッピングを使用するだけの領域が確保できれば、両マッピングを使用してクライアントCLI1の処理を開始すればよいし、もし確保できなければ、フレームマッピング又はフィールドマッピングの一方のみを使用して処理を開始すればよい。このように制御することで、クライアントからの要求開始時に、その新規クライアントに対し一時データ記憶部2C内の最適な領域を与えることが可能となる。
なお、新規クライアントから画像処理要求を受けたとき、又は処理終了時において、現在処理中のクライアントを含めて全てのクライアントについて、マッピング方法の再選択を行い、領域を再割り当てしてもよい。時刻t3においては、クライアントCLI2からの処理要求が発生する。例えばこの時点において既に領域を確保して処理中のクライアントCLI0及びCLI1を含む3クライアントに対して、マッピング方法の再選択を行う。また、時刻t4においてクライアントCLI0の処理が終了する。例えばこの時点で処理中のクライアントCLI1及びCLI2の2クライアントに対し、マッピング方法の再選択を行う。
このように、クライアント数が変更する度に全てのクライアントの処理に対するマッピング方法を決定するので、各処理に対するマッピング方法を常に最適となるようにすることができる。
また、各クライアントが処理要求時に希望するマッピング方法を指定できるようにし、その要求に沿ったマッピング領域を確保できない場合は、そのクライアントに対し通知するようにしてもよい。例えば、両マッピングを使用して処理することを希望したクライアントが処理要求を開始した際に、その処理に必要な両マッピングを使用するだけの領域を一時データ記憶部2Cに確保できれば、両マッピングを使用して処理すればよいし、領域を確保できなければ、その旨をクライアントに通知する。
その通知を受けたクライアントは、確保する領域を限定した処理(例えば、フレームマッピングのみを使用する処理)に変更して再度処理要求を出してもよいし、領域を譲り受けるために、現在実行中の他クライアントに対し破棄要求を出してもよい。クライアントは、必要な領域を確保できない場合には通知を受けるので、一時データ記憶部2Cの残容量を調べることなく、処理要求を行うことができる。
図43のマルチコーデック処理における具体例を説明する。時刻t5においてはクライアントCLI2以外の要求はないので、一時データ記憶部2C内にはクライアントCLI2の符号化処理で使用する両マッピング分の領域確保だけがなされている状態であるとする。その後の時刻t6においてクライアントCLI3からの“両マッピングを使用した処理”を希望するHDサイズ画像の復号化処理要求が入力される。
この時、画像処理装置300は、一時データ記憶部2C内にてクライアントCLI2が使用していない領域を調べ、その領域にて両マッピングを行えるだけの領域が確保できるか否かを確認する。画像処理装置300は、確保できるのであれば、両マッピングを使用してクライアントCLI3の処理を開始し、確保できないのであれば、クライアントCLI3に対して確保できないことを通知する。
クライアントCLI3の処理をフレームマッピング又はフィールドマッピングを行って処理してもよい状況下であれば、クライアントCLI3は、再度“フレームマッピングを使用した処理”又は“フィールドマッピングを使用した処理”を指定して、復号要求を発生すればよい。
しかし、“両マッピングを使用した処理”が必要であるような状況下であれば、処理を開始することができない。この場合、クライアントCLI3は、処理自体を諦めるか、他クライアント(この場合、クライアントCLI2)に対し、領域を譲ってもらうべく要求を出す。もしクライアントCLI2がその要求に応じて領域を譲ると、画像処理装置300は、その領域に対し両マッピング分の領域を確保できるか否かを判断し、確保できるのであれば両マッピングを使用して処理を開始し、確保できないのであれば、その旨をクライアントCLI3に対して通知する。これにより、処理に必要な領域の確保が容易になる。
このように、一時データ記憶部2C内の領域の割り当てをリアルタイムで監視し、常に最適な領域の割り当てを実現できるので、一時データ記憶部2Cについて高効率な転送を行うことができる。
図44は、図39の画像処理装置の更に他の変形例の構成を示すブロック図である。図44の画像処理装置400は、図39の画像処理装置において、セレクタ23,24を更に備えるものである。
セレクタ23は、外部から入力されたマッピングタイプ信号MTに従って、フレーム垂直スキャン読み出し部32又はフィールド垂直スキャン読み出し部33を選択する。フレーム垂直スキャン読み出し部32が選択された場合には、一時データ記憶部2Cには再構成画像がフレームマッピングで格納され、フィールド垂直スキャン読み出し部33が選択された場合には、一時データ記憶部2Cには再構成画像がフィールドマッピングで格納される。
セレクタ24は、マッピングタイプ信号MTに従って、フレーム垂直スキャン書き込み部42又はフィールド垂直スキャン書き込み部43を選択する。一時データ記憶部2Cに格納された再構成画像は、フレーム垂直スキャン書き込み部42及びフィールド垂直スキャン書き込み部43のうち、選択されたものに転送される。
マッピングタイプ信号MTはフレーム単位で切り替わるので、画像処理装置400によると、プログレッシブ画像とインタレース画像とが混在した動画において、プログレッシブ画像にはフレームマッピング方式を、インタレース画像にはフィールドマッピング方式を採用するというように、適切なマッピングタイプを動的に選択可能である。したがって、画像の種類に応じて適切な領域を一時データ記憶部2Cに確保することができる。
このマッピングタイプ信号MTは、符号化/復号化時においてはシステムのアプリケーションによって指定されるようにしてもよいし、また、復号化時においては復号化されるコードのヘッダを解析し、そのヘッダ情報に応じて適切に切り替えるようにしてもよい。
(第5の実施形態)
本実施形態は、第1の実施形態における一時データ記憶部2への再構成画像の格納方法を変形したものである。図1を参照して説明する。
図45は、本発明の第5の実施形態において一時データ記憶部2に格納された再構成画像を示す説明図である。図45は、図17のようにマッピングされた領域が、更にカラム方向(処理対象画像の垂直方向)に2マクロブロック分拡張された領域を示している。ここでは、例として、処理対象画像のフレームサイズを図4のような水平64×垂直64画素(水平4×垂直4マクロブロック)、動き探索範囲を水平、垂直方向共に±16画素とする。
n(n:自然数)フレーム目の再構成画像は、n+1フレーム目の処理において参照画像として使用される。その際、n+1フレーム目の再構成画像が生成され、生成された再構成画像が次のn+2フレーム目の参照画像として使用される。n+1フレーム目を処理する際には、既に前フレーム(nフレーム)の再構成画像(R0n0,R1n0,…,R15n0)が一時データ記憶部2に書き込まれている。
フレーム垂直スキャン書き込み部42は、n+1フレーム目のマクロブロックM0(図4参照)の処理のために、参照画像として処理対象のマクロブロックM0に対応する再構成画像R0n0とその周囲のマクロブロックに対応する再構成画像R1n0,R4n0,R5n0を読み出して参照画像記憶部44に書き込む。
同様に、フレーム垂直スキャン書き込み部42は、マクロブロックM1を処理する際には、マクロブロックM1に対応する再構成画像R1n0とその周囲のマクロブロックに対応する再構成画像R0n0,R2n0,R4n0,R5n0,R6n0を読み出し、マクロブロックM5を処理する際には、マクロブロックM5に対応する再構成画像R5n0とその周囲のマクロブロックに対応する再構成画像R0n0,R1n0,R2n0,R4n0,R6n0,R8n0,R9n0,R10n0を読み出す。
n+1フレーム目のマクロブロックM0の処理の際には、再構成画像R0n1が生成され、これをフレーム垂直スキャン読み出し部32は一時データ記憶部2に書き込む。マクロブロックM1,M4,M5の処理の際にも再構成画像R0n0が必要であるので、マクロブロックM5の処理が終わるまでは再構成画像R0n0を保持し続ける必要がある。つまり、再構成画像R0n1を図45の再構成画像R0n0の領域に格納することはできない。他のマクロブロックの処理をも考慮すると、n+1フレーム目の再構成画像を、再構成画像R0n0〜R15n0の領域以外の領域に格納することが必要である。
そこで、再構成画像を格納する領域をカラム方向に2マクロブロック分拡張し、拡張領域にn+1フレーム目の再構成画像R0n1〜R7n1を格納させる。マクロブロックM7の処理が終わると、図45の左端の列の再構成画像R0n0〜R3n0は参照画像として読み出されることがなくなり、不要となるので、その領域にn+1フレーム目の再構成画像R8n1〜R11n1を格納させ、マクロブロックM11の処理が終わると、図45の左から2番目の列の再構成画像R4n0〜R7n0は不要となるので、その領域にn+1フレーム目の再構成画像R12n1〜R15n1を格納させる。
同様に、再構成画像R8n0〜R15n0の領域にn+2フレーム目の再構成画像R0n2〜R7n2を格納させ、再構成画像R0n1〜R7n1の領域にn+2フレーム目の再構成画像R8n2〜R15n2を格納させる。その後も同様に、1フレーム分の再構成画像が格納できる領域に拡張領域を加えた領域を、リングバッファとして用いて、再構成画像を格納させる。
このように、1画面分の再構成画像領域の他に、図4の符号化処理の対象とする画像におけるマクロブロック2行分に対応する再構成画像を格納させる拡張領域を確保すればよく、2画面分の再構成画像を格納させる領域を確保する必要がない。このため、符号化/復号化装置の回路規模を抑えることができる。
拡張領域は、動き探索/補償範囲に応じて確保する必要がある。一般化すると、一時データ記憶部2にフレームマッピングでデータを格納する場合には、拡張領域は、符号化処理の対象とする2次元画像のマクロブロックの行のうち、処理対象のマクロブロック及びこれよりも上方の動き探索又は動き補償に用いられるマクロブロックが属する行を格納可能な容量を有すればよい。
また、一時データ記憶部2にフィールドマッピングでデータを格納する場合には、各フィールドのデータを格納する領域毎に拡張領域を確保するようにする。この場合、各拡張領域は、フレームマッピングでデータを格納する場合の拡張領域の半分の容量を有すればよい。
(第6の実施形態)
図46は、本発明の第6の実施形態に係る画像処理装置の構成を示すブロック図である。図46の画像処理装置500は、図1の画像処理装置において、再構成画像生成部30及び動き探索/補償部40に代えて、再構成画像生成部530及び動き探索/補償部540をそれぞれ備えるようにしたものである。
再構成画像生成部530は、フレーム垂直スキャン読み出し部532と、再構成画像記憶部34とを有している。動き探索/補償部540は、フレーム垂直スキャン書き込み部542と、参照画像記憶部44とを有している。フレーム垂直スキャン読み出し部532及びフレーム垂直スキャン書き込み部542は、以下に説明する点の他は、図1のフレーム垂直スキャン読み出し部32及びフレーム垂直スキャン書き込み部42とそれぞれ同様である。
本実施形態では、複数の装置(クライアント)が一時データ記憶部2を共用する場合について説明する。メモリ調停部8は、各クライアントによる一時データ記憶部2へのアクセスを調停する。
図47は、調停が行われる場合におけるデータ転送の一例について示すタイミングチャートである。ここでは、図13の行毎に一時データ記憶部2への書き込みが行われる場合、すなわち、パッキングデータP0〜P3をバースト転送し、その後パッキングデータP4〜P7,P8〜P11,…を順にバースト転送する場合について示している。簡単のため、他のクライアントからは転送要求が出力されていないとする。
まず、メモリ調停部8とクライアントとの間でハンドシェイクが行われる(期間HS)。図47のように、クライアントは、転送要求信号TRANS_REQ、行おうとしている転送が「書き込み」又は「読み出し」のいずれに関する転送であるかを示す信号TRANS_WR、その転送のデータ量(パッキングデータを単位とする)を示す信号TRANS_SIZE、及び、転送されるデータが書き込まれるメモリ空間内の位置、又は転送されるデータが読み出されるメモリ空間内の位置を示す信号TRANS_XPOS/TRANS_YPOSを、メモリ調停部8に対して出力する。このような転送要求を受けると、メモリ調停部8は、要求を出力したクライアントとの間でデータの送受信が可能な状況であれば、応答信号TRANS_ACKをそのクライアントに出力する。これでハンドシェイクが成立する。
ハンドシェイクが成立すると、次にデータの転送が行われる。メモリ調停部8は、転送イネーブル信号TRANS_ENを有効にする。この信号が有効である期間DTにデータ転送が行われる。なお、クライアントが転送イネーブル信号TRANS_ENを出力するようにしてもよい。
データ転送の際には、1サイクル毎に1つのパッキングデータが転送される。図47の場合、4つのパッキングデータの転送を行う毎に、ハンドシェイクのために2サイクル必要である。このように、転送が行われる度にハンドシェイクが行われ、そのために2サイクルを要するので、転送の効率が低い。
図48は、調停が行われる場合における図46の画像処理装置によるデータ転送の例について示すタイミングチャートである。まず、メモリ調停部8と画像処理装置500のフレーム垂直スキャン読み出し部532との間のデータ転送について説明する。
再構成画像記憶部34から読み出されたパッキングデータを転送するために、メモリ調停部8とフレーム垂直スキャン読み出し部532との間でハンドシェイクが行われる。これは、データ量を示す信号TRANS_SIZEが16である点以外は、図47の場合と同様である。
ハンドシェイクが成立すると、メモリ調停部8は、転送イネーブル信号TRANS_ENを有効にする。フレーム垂直スキャン読み出し部532は、図14を参照して説明したように、垂直方向にスキャンしながらパッキングデータを再構成画像記憶部34から読み出す。フレーム垂直スキャン読み出し部532は、読み出された16個のパッキングデータを、1バースト転送単位として、転送イネーブル信号TRANS_ENが有効である期間DTにメモリ調停部8に出力する。やはりハンドシェイクのために2サイクル必要であるが、ハンドシェイクが行われるのは16個のパッキングデータの転送毎であるので、図47の場合よりも転送の効率が高くなる。
このように、図46の画像処理装置によると、フレーム垂直スキャン読み出し部532が、読み出し時に垂直スキャンを行い、1列分のパッキングデータをバースト転送するので、図48のように、転送回数を減らすことができる。ハンドシェイクが行われる頻度を減らすことができるので、メモリ調停部8による調停が行われる場合においても、フレーム構造の画像の転送効率を高くすることができる。
次に、メモリ調停部8と一時データ記憶部2との間のデータ転送について説明する。フレーム垂直スキャン読み出し部532とメモリ調停部8との間のデータバス幅が1つのパッキングデータのサイズに等しく、メモリ調停部8と一時データ記憶部2との間のデータバス幅が2つのパッキングデータのサイズに等しいとする。この場合、メモリ調停部8は、2つのパッキングデータを再パッキングし、得られた再パッキングデータを一時データ記憶部2に転送する。メモリ調停部8は、1サイクル毎に再パッキングデータを転送する。
図49(a)は、パッキングデータと再パッキングデータとの関係を、両者の先頭の位置が一致する場合について示す説明図である。図49(b)は、パッキングデータと再パッキングデータとの関係を、両者の先頭の位置が一致しない場合について示す説明図である。
図49(a)の場合には、メモリ調停部8は、画像処理装置500から受け取った16個のパッキングデータを、再パッキングして、8サイクルで一時データ記憶部2に書き込むことができる。一方、図49(b)の場合には、受け取った16個のパッキングデータを一時データ記憶部2に書き込むためには9サイクルが必要である。このように、データバス幅が一定ではない場合には、転送効率が悪くなる可能性がある。図46の画像処理装置は、16個のパッキングデータ毎にバースト転送を行うので、図49(b)のように転送効率が低下する機会を、図47のように4個のパッキングデータ毎にバースト転送を行う場合の1/4にすることができる。
転送効率の低下を防ぐ方法について、図9及び図13を参照して説明する。例として、図9のマクロブロックR5のデータを転送する場合について考える。図9のマクロブロックR5は、図13のようにパッキングデータで構成されており、いま、図13の最も左の列のパッキングデータP0,P4,P8,…,P60を転送するとする。
パッキングデータと再パッキングデータとの関係が図49(b)のようになっている場合には、最初の再パッキングデータにはパッキングデータP0のみが含まれ、最後の再パッキングデータにはパッキングデータP60のみが含まれている。ここで、転送効率の低下を防ぐために、メモリ調停部8は、マクロブロックR5のパッキングデータP0とマクロブロックR1のパッキングデータP60とを再パッキングし、得られた再パッキングデータを一時データ記憶部2に転送する。また、メモリ調停部8は、マクロブロックR5のパッキングデータP60とマクロブロックR9のパッキングデータP0とを再パッキングし、得られた再パッキングデータを一時データ記憶部2に転送する。
すなわち、マクロブロックR1における再パッキングの際に1つのパッキングデータP60が残った場合には、メモリ調停部8は、マクロブロックR5のパッキングデータP0が送られて来るまで、マクロブロックR1のパッキングデータP60を保持し、これらのデータが揃ってから、これらを用いて再パッキングデータを求める。同様に、マクロブロックR5における再パッキングの際に1つのパッキングデータP60が残った場合には、メモリ調停部8は、マクロブロックR9のパッキングデータP0が送られて来るまで、マクロブロックR5のパッキングデータP60を保持し、これらのデータが揃ってから、これらを用いて再パッキングデータを求める。
このように、図49(b)のような場合には、メモリ調停部8は、最下行のパッキングデータP60,P61,P62,P63を、下に隣接するマクロブロックの最上行のパッキングデータP0,P1,P2,P3のそれぞれと再パッキングして、メモリ調停部8と一時データ記憶部2との間のデータバス幅に等しいサイズの再パッキングデータを作成し、得られた再パッキングデータを転送する。再パッキングデータの一部が空にならないようにすることができるので、転送効率の低下を防ぐことができる。
一時データ記憶部2からデータが読み出される場合には、以上の逆の順で転送が行われる。すなわち、メモリ調停部8は、一時データ記憶部2から再パッキングデータを読み出し、パッキングデータに分解する。メモリ調停部8と画像処理装置500のフレーム垂直スキャン書き込み部542との間ではハンドシェイクが行われ、ハンドシェイクが成立した後に、メモリ調停部8は、得られたパッキングデータをフレーム垂直スキャン書き込み部542に転送する。
なお、画像処理装置500がメモリ調停部8に対して出力したメモリ空間内の位置を示す信号TRANS_XPOS/TRANS_YPOS(図48)の値を、メモリ調停部8が変更して一時データ記憶部2に対して出力するようにしてもよい。、
また、本実施形態は、第1の実施形態においてメモリ調停部8を更に用いるようにしたものに相当するが、第2〜第4の実施形態において、同様にメモリ調停部8を用いるようにしてもよい。
(第7の実施形態)
図50は、本発明の第7の実施形態に係る撮像システムの構成を示すブロック図である。図50の撮像システム700は、例えばデジタルスチルカメラであって、光学系712と、センサ714と、アナログ/デジタル変換器(ADC)716と、画像処理装置718と、記録転送回路722と、再生回路724と、一時データ記憶部726と、タイミング制御回路732と、システム制御回路734とを備えている。画像処理装置718は、第1〜第6の実施形態で説明した画像処理装置のいずれかであり、一時データ記憶部726は、その画像処理装置に対応した一時データ記憶部である。
光学系712は、入射した画像(入射光)ILをセンサ714上に結像させる。センサ714は、タイミング制御回路732によって駆動されており、入射した画像ILを蓄積し、電気信号へ光電変換し、得られたアナログ画像信号をアナログ/デジタル変換器716に出力する。アナログ/デジタル変換器716は、この信号をデジタル信号に変換し、画像処理装置718に出力する。
画像処理装置718は、Y/C処理、エッジ処理、画像の拡大縮小、及び第1〜第6の実施形態のような一時データ記憶部726との間での画像データの転送を伴う画像の符号化/復号化(圧縮伸張処理)等の画像処理を行う。画像処理装置718は、画像処理後の信号を記録転送回路722に出力し、記録転送回路722は、この信号を記録メディアへ記録したり、撮像システム700の外に転送したりする。また、記録転送回路722は、記録メディアから信号を読み出し、又は外部から転送された信号を受け取り、再生回路724に出力する。再生回路724は、受け取った信号を再生する。
アナログ/デジタル変換器716及び画像処理装置718は、タイミング制御回路732に制御されており、システム制御回路734は、この撮像システム700の全体を制御している。
なお、画像処理装置718は、光学系712を介してセンサ714に入射する入射光ILに基づく信号に対してのみ画像処理を行うものではなく、例えば撮像システム700の外部から電気信号として入力された画像信号を処理するようにしてもよい。
なお、以上の実施形態においては、一時データ記憶部2,2A,2B,2CにSDRAMを用いるものとして説明したが、その他のバーストリード/ライト可能な記憶素子等を用いるようにしてもよい。
また、以上の実施形態では、再構成画像記憶部34及び参照画像記憶部44にSRAMを用いるものとして説明したが、ランダムアクセス可能な他の記憶素子等を用いてもよい。
また、以上の実施形態では、画像符号化/復号化処理について具体例を挙げて説明したが、ブロック単位で処理を行う他の画像処理に対しても同様の技術を用いることができる。
また、一時データ記憶部2,2A,2B,2Cが用いるロウアドレス及びカラムアドレスは、一時データ記憶部2,2A,2B,2Cの物理アドレスであってもよいし、論理アドレスであってもよい。
以上説明したように、本発明は、画像処理装置とメモリ等との間のデータ転送を高速化することができるので、画像処理装置として有用であり、特に、デジタルカメラ、カメラ付きの携帯電話、デジタルビデオカメラ、ネットワークカメラ等の動画撮影機能を有する機器等について有用である。
本発明の第1の実施形態に係る画像処理装置の構成を示すブロック図である。 動き探索に関する説明図である。 Pピクチャ及びBピクチャを生成する際のピクチャの参照についての説明図である。 符号化処理の対象とする画像の例を示す説明図である。 図1の再構成画像記憶部における再構成画像を示す説明図である。 輝度信号及び色差信号(4:4:4形式)の例を示す説明図である。 輝度信号及び色差信号(4:2:2形式)の例を示す説明図である。 輝度信号及び色差信号(4:2:0形式)の例を示す説明図である。 動き探索に用いられる参照領域の例を示す説明図である。 1/2画素精度での探索に用いる参照領域を示す説明図である。 図1の再構成画像記憶部に格納されている再構成画像の1マクロブロックの画素データ(輝度信号)を示す説明図である。 図11の画素データをパッキングデータを用いて示した説明図である。 1マクロブロックの輝度信号のパッキングデータを画像上の位置に対応させて示す説明図である。 図1のフレーム垂直スキャン読み出し部による図13のデータの転送順を示す説明図である。 図1の一時データ記憶部に格納されたデータのマッピングの例を示す説明図である。 図14及び図15のようにデータの書き込みを行う際における図1の一時データ記憶部のタイミングチャートである。 図1の一時データ記憶部において各マクロブロックが格納される位置を示す説明図である。 図5の一部をパッキングデータを単位として示した説明図である。 図1の一時データ記憶部に格納されたパッキングデータのマッピングを複数のマクロブロックについて示す説明図である。 図1の一時データ記憶部において各マクロブロックが格納される位置を、輝度信号及び各色差信号について示す説明図である。 水平4画素パッキングされた水平64×垂直64画素の再構成画像と、その一時データ記憶部上におけるマッピングイメージとを示す説明図である。 参照画像として読み出される領域の例を示す説明図である。 図22の参照画像の読み出しを行う際における図1の一時データ記憶部のタイミングチャートである。 図1の参照画像記憶部におけるパッキングデータを示す説明図である。 本発明の第2の実施形態に係る画像処理装置の構成を示すブロック図である。 図13の画素データをフィールド毎に分けて示した説明図である。 図25のフィールド垂直スキャン読み出し部による図26のデータの転送順を示す説明図である。 図25の一時データ記憶部に格納されたデータのマッピングの例を示す説明図である。 図25の一時データ記憶部において各マクロブロックが格納される位置を、輝度信号及び色差信号について示す説明図である。 図25の一時データ記憶部に格納されたデータのマッピングの他の例を示す説明図である。 フレーム構造の画像における1マクロブロックの青色差信号及び赤色差信号(4:2:0形式)のパッキングデータを画面上の位置に対応させて示す説明図である。 図1の一時データ記憶部における色差信号のマッピングの例を示す説明図である。 図1の一時データ記憶部における色差信号のマッピングの他の例を示す説明図である。 フィールド構造の画像における1マクロブロックの青色差信号及び赤色差信号(4:2:0形式)のパッキングデータを画面上の位置に対応させて示す説明図である。 図25の一時データ記憶部における色差信号のマッピングの例を示す説明図である。 図25の一時データ記憶部における色差信号のマッピングの他の例を示す説明図である。 図1の一時データ記憶部における輝度信号及び色差信号のマッピングの例を示す説明図である。 図25の一時データ記憶部2における輝度信号及び色差信号のマッピングの例を示す説明図である。 本発明の第4の実施形態に係る画像処理装置の構成を示すブロック図である。 図39の画像処理装置と高速動作可能な一時データ記憶部とを示すブロック図である。 図39の画像処理装置の変形例の構成を示すブロック図である。 図39の画像処理装置の他の変形例の構成を示すブロック図である。 マルチコーデック処理の例を示すタイミングチャートである。 図39の画像処理装置の更に他の変形例の構成を示すブロック図である。 本発明の第5の実施形態において一時データ記憶部に格納された再構成画像を示す説明図である。 本発明の第6の実施形態に係る画像処理装置の構成を示すブロック図である。 調停が行われる場合におけるデータ転送の一例について示すタイミングチャートである。 調停が行われる場合における図46の画像処理装置によるデータ転送の例について示すタイミングチャートである。 (a)は、パッキングデータと再パッキングデータとの関係を、両者の先頭の位置が一致する場合について示す説明図である。(b)は、パッキングデータと再パッキングデータとの関係を、両者の先頭の位置が一致しない場合について示す説明図である。 本発明の第7の実施形態に係る撮像システムの構成を示すブロック図である。 SDRAMに格納されたデータのマッピングの例を示す説明図である。 図51のようにパッキングデータの書き込みを行う際のSDRAMのタイミングチャートである。 図51のように格納されたパッキングデータの読み出しを行う際のSDRAMのタイミングチャートである。 17画素の転送について示す模式図である。 参照画像が水平17×垂直17画素である場合に、図51のように格納されたパッキングデータの読み出しを行う際のSDRAMのタイミングチャートである。 フィールド毎にSDRAMの異なる領域に格納されたデータのマッピングの例を示す説明図である。
符号の説明
4 フレーム/フィールド変換部
5 フィールド/フレーム変換部
8 メモリ調停部
23,24 セレクタ
30 再構成画像生成部
32 フレーム垂直スキャン読み出し部
33 フィールド垂直スキャン読み出し部
34 再構成画像記憶部(第1の画像記憶部)
40 動き探索/補償部
42 フレーム垂直スキャン書き込み部
43 フィールド垂直スキャン書き込み部
44 参照画像記憶部(第2の画像記憶部)
100,200,300,300B,300C,400,500 画像処理装置
700 撮像システム
712 光学系
714 センサ
716 アナログ/デジタル変換器

Claims (44)

  1. 第1の画像記憶部に格納され、第1及び第2の方向の座標でそれぞれの位置が表される複数の画素を有する2次元画像の画素のデータを、前記第1の方向に隣接する所定の数の画素のデータ毎にパッキングし、得られたデータ転送単位を前記第2の方向にスキャンして読み出すステップ(a)と、
    前記ステップ(a)で読み出されたデータ転送単位を、第1及び第2のアドレスの組み合わせで指定された位置にデータを格納する一時データ記憶部に対して、前記第1のアドレスが連続し前記第2のアドレスが一定の領域に、前記第2の方向における前記データ転送単位の順序が前記第1のアドレスに関して保たれるように、かつ、前記第1の方向における前記データ転送単位の順序が前記第2のアドレスに関して保たれるように、バースト書き込みするステップ(b)と、
    前記一時データ記憶部に書き込まれたデータ転送単位を、前記第1のアドレスが連続し前記第2のアドレスが一定の領域からバースト読み出しし、第2の画像記憶部に書き込むステップ(c)とを備える
    画像データ転送方法。
  2. 請求項1に記載の画像データ転送方法において、
    前記ステップ(a)は、
    前記2次元画像における前記第2の方向に奇数番目のラインに属するデータ転送単位と偶数番目のラインに属するデータ転送単位とを独立して前記第2の方向にスキャンして読み出すものであり、
    前記ステップ(b)は、
    前記奇数番目のラインに属するデータ転送単位が書き込まれる領域と前記偶数番目のラインに属するデータ転送単位が書き込まれる領域とが異なる領域となるようにするものである
    ことを特徴とする画像データ転送方法。
  3. 請求項2に記載の画像データ転送方法において、
    前記ステップ(b)は、
    前記読み出された奇数番目のラインに属するデータ転送単位と、偶数番目のラインに属するデータ転送単位とを、前記第2のアドレスを同一にして書き込むものである
    ことを特徴とする画像データ転送方法。
  4. 請求項2に記載の画像データ転送方法において、
    前記一時データ記憶部に書き込まれたデータ転送単位を読み出し、読み出されたデータ転送単位を、フレームマッピングで前記一時データ記憶部に再び書き込むフィールド/フレーム変換ステップを更に備える
    ことを特徴とする画像データ転送方法。
  5. 請求項1に記載の画像データ転送方法において、
    前記一時データ記憶部に書き込まれたデータ転送単位を読み出し、読み出されたデータ転送単位を、フィールドマッピングで前記一時データ記憶部に再び書き込むフレーム/フィールド変換ステップを更に備える
    ことを特徴とする画像データ転送方法。
  6. 請求項5に記載の画像データ転送方法において、
    前記フレーム/フィールド変換ステップは、
    前記読み出された前記2次元画像における前記第2の方向に奇数番目のラインに属するデータ転送単位と、偶数番目のラインに属するデータ転送単位とを、前記第2のアドレスを同一にして書き込むものである
    ことを特徴とする画像データ転送方法。
  7. 請求項1に記載の画像データ転送方法において、
    前記ステップ(a)は、
    青色差信号と赤色差信号とを前記画素のデータとしてそれぞれパッキングし、得られたデータ転送単位を読み出すものであり、
    前記ステップ(b)は、
    青色差信号のデータ転送単位と赤色差信号のデータ転送単位とを交互に書き込むものである
    ことを特徴とする画像データ転送方法。
  8. 請求項1に記載の画像データ転送方法において、
    前記ステップ(a)は、
    輝度信号、青色差信号及び赤色差信号を前記画素のデータとしてそれぞれパッキングし、得られた各信号のデータ転送単位を読み出すものであり、
    前記ステップ(b)は、
    輝度信号、青色差信号及び赤色差信号のそれぞれのデータ転送単位を順に書き込むものである
    ことを特徴とする画像データ転送方法。
  9. 請求項1に記載の画像データ転送方法において、
    前記第1の画像記憶部に格納された前記2次元画像における前記第2の方向に奇数番目のラインに属するデータ転送単位と偶数番目のラインに属するデータ転送単位とを独立して前記第2の方向にスキャンして読み出すステップ(a1)と、
    前記読み出された奇数番目のラインに属するデータ転送単位を、第3及び第4のアドレスの組み合わせで指定された位置にデータを格納する他の一時データ記憶部に対して、前記第3のアドレスが連続し前記第4のアドレスが一定の領域にバースト書き込みするステップ(b1)と、
    前記読み出された偶数番目のラインに属するデータ転送単位を、前記他の一時データ記憶部に対して、前記ステップ(b1)によって書き込みが行われる領域とは異なり前記第3のアドレスが連続し前記第4のアドレスが一定の領域にバースト書き込みするステップ(b2)と、
    前記他の一時データ記憶部に書き込まれたデータ転送単位を、前記第3のアドレスが連続し前記第4のアドレスが一定の領域からバースト読み出しし、前記第2の画像記憶部に書き込むステップ(c1)とを更に備え、
    前記ステップ(c)又は(c1)のいずれか一方を行う
    ことを特徴とする画像データ転送方法。
  10. 請求項9に記載の画像データ転送方法において、
    前記ステップ(b1)及び(b2)は、
    前記読み出された奇数番目のラインに属するデータ転送単位と、偶数番目のラインに属するデータ転送単位とを、前記第4のアドレスを同一にして書き込むものである
    ことを特徴とする画像データ転送方法。
  11. 請求項9に記載の画像データ転送方法において、
    前記ステップ(c)が行われる場合には、前記他の一時データ記憶部へのクロック供給を停止し、前記ステップ(c1)が行われる場合には、前記一時データ記憶部へのクロック供給を停止する
    ことを特徴とする画像データ転送方法。
  12. 請求項1に記載の画像データ転送方法において、
    前記第1の画像記憶部に格納された前記2次元画像における前記第2の方向に奇数番目のラインに属するデータ転送単位と偶数番目のラインに属するデータ転送単位とを独立して前記第2の方向にスキャンして読み出すステップ(a1)と、
    前記読み出された奇数番目のラインに属するデータ転送単位を、前記一時データ記憶部に対して、前記ステップ(b)によって書き込みが行われる領域とは異なり前記第1のアドレスが連続し前記第2のアドレスが一定の領域にバースト書き込みするステップ(b1)と、
    前記読み出された偶数番目のラインに属するデータ転送単位を、前記一時データ記憶部に対して、前記ステップ(b)及び(b1)によって書き込みが行われる領域とは異なり前記第1のアドレスが連続し前記第2のアドレスが一定の領域にバースト書き込みするステップ(b2)とを更に備える
    ことを特徴とする画像データ転送方法。
  13. 請求項12に記載の画像データ転送方法において、
    前記ステップ(b)を行うことと、前記ステップ(b1)及び(b2)を行うこととのいずれか一方を、入力されたマッピングタイプ信号に従って選択して行う
    ことを特徴とする画像データ転送方法。
  14. 請求項13に記載の画像データ転送方法において、
    前記マッピングタイプ信号は、フレーム単位で切り替わる
    ことを特徴とする画像データ転送方法。
  15. 請求項13に記載の画像データ転送方法において、
    再生すべき動画像がプログレッシブ画像である場合には前記ステップ(b)を、再生すべき動画像がインタレース画像である場合には前記ステップ(b1)及び(b2)を行うように、前記マッピングタイプ信号を切り替える
    ことを特徴とする画像データ転送方法。
  16. 請求項12に記載の画像データ転送方法において、
    前記ステップ(b)を行うことと、前記ステップ(b1)及び(b2)を行うことと、前記ステップ(b)、(b1)及び(b2)を行うこととのうちのいずれか1つを適応的に選択して行う
    ことを特徴とする画像データ転送方法。
  17. 請求項16に記載の画像データ転送方法において、
    処理対象の画像のフレームサイズに応じて前記選択を行う
    ことを特徴とする画像データ転送方法。
  18. 請求項16に記載の画像データ転送方法において、
    前記一時データ記憶部に対する負荷に応じて前記選択を行う
    ことを特徴とする画像データ転送方法。
  19. 請求項16に記載の画像データ転送方法において、
    ヘッダ情報に含まれる画像サイズ情報に応じて前記選択を行う
    ことを特徴とする画像データ転送方法。
  20. 請求項16に記載の画像データ転送方法において、
    複数のクライアントからの画像処理要求を時分割で処理し、前記複数のクライアントのそれぞれについて前記選択を行う
    ことを特徴とする画像データ転送方法。
  21. 請求項20に記載の画像データ転送方法において、
    新規クライアントから画像処理要求を受けると、前記一時データ記憶部の使用されていない領域の容量を求め、前記使用されていない領域の容量に応じて前記選択を行う
    ことを特徴とする画像データ転送方法。
  22. 請求項21に記載の画像データ転送方法において、
    処理に必要な領域が確保できない場合には、前記新規クライアントに対して通知を行う
    ことを特徴とする画像データ転送方法。
  23. 請求項22に記載の画像データ転送方法において、
    前記ステップ(b)、(b1)及び(b2)を行うための領域が確保できない場合には、前記通知を行う
    ことを特徴とする画像データ転送方法。
  24. 請求項22に記載の画像データ転送方法において、
    前記新規クライアントは、前記通知を受けると、前記複数のクライアントのうち、前記ステップ(b)、(b1)及び(b2)を行うクライアントに対して領域の一部を譲るように依頼するステップと、
    領域が譲られると、譲られた領域を用いて前記新規クライアントの処理を行うステップとを更に備える
    ことを特徴とする画像データ転送方法。
  25. 請求項20に記載の画像データ転送方法において、
    新規クライアントから画像処理要求を受けると、前記複数のクライアント及び前記新規クライアントについて、前記選択を改めて行う
    ことを特徴とする画像データ転送方法。
  26. 請求項1に記載の画像データ転送方法において、
    前記ステップ(a)は、
    前記2次元画像内における前記データ転送単位の前記第1の方向の個数が前記第2の方向の個数よりも少ない場合には、前記データ転送単位を前記第2の方向にスキャンして読み出し、その他の場合には、前記データ転送単位を前記第1の方向にスキャンして読み出すものである
    ことを特徴とする画像データ転送方法。
  27. 請求項1に記載の画像データ転送方法において、
    前記第1の画像記憶部には、動画像の符号化又は復号化の際に生成される再構成画像が格納され、前記第2の画像記憶部からは、動画像の符号化又は復号化の際に用いられる参照画像が読み出される
    ことを特徴とする画像データ転送方法。
  28. 請求項27に記載の画像データ転送方法において、
    前記ステップ(b)は、
    1フレーム分の再構成画像が格納できる領域に拡張領域を加えた領域に対して書き込みを行う
    ことを特徴とする画像データ転送方法。
  29. 請求項28に記載の画像データ転送方法において、
    前記拡張領域は、前記2次元画像のマクロブロックの行のうち、処理対象のマクロブロック及びこれよりも上方の動き探索又は動き補償に用いられるマクロブロックが属する行を格納可能な容量を有する
    ことを特徴とする画像データ転送方法。
  30. 請求項27に記載の画像データ転送方法において、
    前記第1の画像記憶部に格納された前記2次元画像における前記第2の方向に奇数番目のラインに属するデータ転送単位と偶数番目のラインに属するデータ転送単位とを独立して前記第2の方向にスキャンして読み出すステップ(a1)と、
    前記読み出された奇数番目のラインに属するデータ転送単位を、前記一時データ記憶部に対して、前記ステップ(b)によって書き込みが行われる領域とは異なり前記第1のアドレスが連続し前記第2のアドレスが一定の領域にバースト書き込みするステップ(b1)と、
    前記読み出された偶数番目のラインに属するデータ転送単位を、前記一時データ記憶部に対して、前記ステップ(b)及び(b1)によって書き込みが行われる領域とは異なり前記第1のアドレスが連続し前記第2のアドレスが一定の領域にバースト書き込みするステップ(b2)とを更に備え、
    輝度信号については前記ステップ(b)を行い、
    青色差信号及び赤色差信号については、前記ステップ(b)を行うことと、前記ステップ(b1)及び(b2)を行うことと、前記ステップ(b)、(b1)及び(b2)を行うこととのうちのいずれか1つを選択して行う
    ことを特徴とする画像データ転送方法。
  31. 請求項30に記載の画像データ転送方法において、
    前記ステップ(b1)及び(b2)は、それぞれ、
    1フィールド分の再構成画像が格納できる領域に拡張領域を加えた領域に対して書き込みを行う
    ことを特徴とする画像データ転送方法。
  32. 請求項31に記載の画像データ転送方法において、
    前記拡張領域は、それぞれ、前記2次元画像のマクロブロックの行のうち、処理対象のマクロブロック及びこれよりも上方の動き探索又は動き補償に用いられるマクロブロックが属する行を格納可能な容量の半分の容量を有する
    ことを特徴とする画像データ転送方法。
  33. 請求項1に記載の画像データ転送方法において、
    前記ステップ(b)は、
    前記ステップ(a)で読み出されたデータ転送単位を転送するために、前記第1及び第2の画像記憶部を有する装置とメモリ調停部との間でハンドシェイクを行うステップ(d)と、
    前記ステップ(a)で読み出されたデータ転送単位を、前記メモリ調停部を経由して前記一時データ記憶部に転送するステップ(e)とを備え、
    前記ステップ(c)は、
    前記一時データ記憶部から読み出されたデータ転送単位を転送するために、前記装置と前記メモリ調停部との間でハンドシェイクを行うステップ(f)と、
    前記一時データ記憶部から読み出されたデータ転送単位を、前記メモリ調停部を経由して前記第2の画像記憶部に転送するステップ(g)とを備える
    ことを特徴とする画像データ転送方法。
  34. 請求項33に記載の画像データ転送方法において、
    前記ステップ(e)は、
    前記メモリ調停部によって、前記ステップ(a)で読み出されたデータ転送単位を所定の数ずつパッキングして新たなデータ転送単位を求め、求められた新たなデータ転送単位を前記一時データ記憶部に転送し、前記所定の数に満たない数のデータ転送単位が残った場合には、前記残ったデータ転送単位に前記第2の方向において隣接するデータ転送単位が読み出された後に、前記残ったデータ転送単位と前記隣接するデータ転送単位とを用いて前記所定の数のデータ転送単位を有する新たなデータ転送単位を求め、転送するものである
    ことを特徴とする画像データ転送方法。
  35. 第1の画像記憶部に格納され、第1及び第2の方向の座標でそれぞれの位置が表される複数の画素を有する2次元画像の画素のデータを、前記第1の方向に隣接する所定の数の画素のデータ毎にパッキングし、得られたデータ転送単位を前記第2の方向にスキャンして読み出し、前記読み出されたデータ転送単位を、第1及び第2のアドレスの組み合わせで指定された位置にデータを格納する一時データ記憶部に対して、前記第1のアドレスが連続し前記第2のアドレスが一定の領域に、前記第2の方向における前記データ転送単位の順序が前記第1のアドレスに関して保たれるように、かつ、前記第1の方向における前記データ転送単位の順序が前記第2のアドレスに関して保たれるように、バースト書き込みする第1の読み出し部と、
    前記一時データ記憶部に書き込まれたデータ転送単位を、前記第1のアドレスが連続し前記第2のアドレスが一定の領域からバースト読み出しし、第2の画像記憶部に書き込む第1の書き込み部とを備える
    画像処理装置。
  36. 請求項35に記載の画像処理装置において、
    前記第1の読み出し部は、
    前記2次元画像における前記第2の方向に奇数番目のラインに属するデータ転送単位と偶数番目のラインに属するデータ転送単位とを独立して前記第2の方向にスキャンして読み出し、前記奇数番目のラインに属するデータ転送単位が書き込まれる領域と前記偶数番目のラインに属するデータ転送単位が書き込まれる領域とが異なる領域となるようにするものである
    ことを特徴とする画像処理装置。
  37. 請求項36に記載の画像処理装置において、
    前記一時データ記憶部に書き込まれたデータ転送単位を読み出し、読み出されたデータ転送単位を、フレームマッピングで前記一時データ記憶部に再び書き込むフィールド/フレーム変換部を更に備える
    ことを特徴とする画像処理装置。
  38. 請求項35に記載の画像処理装置において、
    前記第1の画像記憶部に格納された前記2次元画像における前記第2の方向に奇数番目のラインに属するデータ転送単位と偶数番目のラインに属するデータ転送単位とを独立して前記第2の方向にスキャンして読み出し、前記読み出された奇数番目のラインに属するデータ転送単位を、第3及び第4のアドレスの組み合わせで指定された位置にデータを格納する他の一時データ記憶部に対して、前記第3のアドレスが連続し前記第4のアドレスが一定の領域にバースト書き込みし、前記読み出された偶数番目のラインに属するデータ転送単位を、前記他の一時データ記憶部に対して、前記奇数番目のラインに属するデータ転送単位の書き込みが行われる領域とは異なり前記第3のアドレスが連続し前記第4のアドレスが一定の領域にバースト書き込みする第2の読み出し部と、
    前記他の一時データ記憶部に書き込まれたデータ転送単位を、前記第3のアドレスが連続し前記第4のアドレスが一定の領域からバースト読み出しし、前記第2の画像記憶部に書き込む第2の書き込み部とを更に備える
    ことを特徴とする画像処理装置。
  39. 請求項35に記載の画像処理装置において、
    前記第1の画像記憶部に格納された前記2次元画像における前記第2の方向に奇数番目のラインに属するデータ転送単位と偶数番目のラインに属するデータ転送単位とを独立して前記第2の方向にスキャンして読み出し、前記読み出された奇数番目のラインに属するデータ転送単位を、前記一時データ記憶部に対して、前記第1の読み出し部によって書き込みが行われる領域とは異なり前記第1のアドレスが連続し前記第2のアドレスが一定の領域にバースト書き込みし、前記読み出された偶数番目のラインに属するデータ転送単位を、前記一時データ記憶部に対して、前記第1の読み出し部によって書き込みが行われる領域及び前記奇数番目のラインに属するデータ転送単位の書き込みが行われる領域とは異なり前記第1のアドレスが連続し前記第2のアドレスが一定の領域にバースト書き込みする第2の読み出し部を更に備える
    ことを特徴とする画像処理装置。
  40. 請求項39に記載の画像処理装置において、
    マッピングタイプ信号に従って、前記第1及び第2の読み出し部のいずれか一方の出力を選択して前記一時データ記憶部に出力するセレクタを更に備える
    ことを特徴とする画像処理装置。
  41. 請求項35に記載の画像処理装置において、
    前記一時データ記憶部に書き込まれたデータ転送単位を読み出し、読み出されたデータ転送単位を、フィールドマッピングで前記一時データ記憶部に再び書き込むフレーム/フィールド変換部を更に備える
    ことを特徴とする画像処理装置。
  42. 請求項35に記載の画像処理装置において、
    前記第1の読み出し部との間、及び前記第1の書き込み部との間でハンドシェイクを行うメモリ調停部を更に備え、
    前記第1の読み出し部は、
    前記メモリ調停部との間でハンドシェイクを行った後に、前記一時データ記憶部に書き込まれるべきデータ転送単位を、前記メモリ調停部を経由して前記一時データ記憶部に転送するものであり、
    前記第1の書き込み部は、
    前記メモリ調停部との間でハンドシェイクを行った後に、前記一時データ記憶部から読み出されたデータ転送単位を、前記メモリ調停部を経由して受け取るものである
    ことを特徴とする画像処理装置。
  43. アナログ画像信号をデジタル信号に変換するアナログ/デジタル変換器と、
    前記デジタル信号に対する画像処理を行う画像処理装置とを備え、
    前記画像処理装置は、
    前記画像処理が行われて第1の画像記憶部に格納され、第1及び第2の方向の座標でそれぞれの位置が表される複数の画素を有する2次元画像の画素のデータを、前記第1の方向に隣接する所定の数の画素のデータ毎にパッキングし、得られたデータ転送単位を前記第2の方向にスキャンして読み出し、前記読み出されたデータ転送単位を、第1及び第2のアドレスの組み合わせで指定された位置にデータを格納する一時データ記憶部に対して、前記第1のアドレスが連続し前記第2のアドレスが一定の領域に、前記第2の方向における前記データ転送単位の順序が前記第1のアドレスに関して保たれるように、かつ、前記第1の方向における前記データ転送単位の順序が前記第2のアドレスに関して保たれるように、バースト書き込みする読み出し部と、
    前記一時データ記憶部に書き込まれたデータ転送単位を、前記第1のアドレスが連続し前記第2のアドレスが一定の領域からバースト読み出しし、第2の画像記憶部に書き込む書き込み部とを備えるものである
    撮像システム。
  44. 請求項43の撮像システムにおいて、
    画像を前記アナログ画像信号へ変換して出力するセンサと、
    入射した画像を前記センサ上に結像させる光学系とを更に備える
    ことを特徴とする撮像システム。
JP2007075709A 2006-04-17 2007-03-23 画像データ転送方法、画像処理装置、及び撮像システム Active JP4909779B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007075709A JP4909779B2 (ja) 2006-04-17 2007-03-23 画像データ転送方法、画像処理装置、及び撮像システム
US11/785,414 US7978198B2 (en) 2006-04-17 2007-04-17 Image data transfer method, image processing device, and imaging system
CN2007100902602A CN101060628B (zh) 2006-04-17 2007-04-17 图像数据传输方法、图像处理装置和摄像系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006113560 2006-04-17
JP2006113560 2006-04-17
JP2007075709A JP4909779B2 (ja) 2006-04-17 2007-03-23 画像データ転送方法、画像処理装置、及び撮像システム

Publications (2)

Publication Number Publication Date
JP2007312358A JP2007312358A (ja) 2007-11-29
JP4909779B2 true JP4909779B2 (ja) 2012-04-04

Family

ID=38789554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007075709A Active JP4909779B2 (ja) 2006-04-17 2007-03-23 画像データ転送方法、画像処理装置、及び撮像システム

Country Status (3)

Country Link
US (1) US7978198B2 (ja)
JP (1) JP4909779B2 (ja)
CN (1) CN101060628B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010035378A1 (ja) * 2008-09-29 2010-04-01 パナソニック株式会社 画像符号化装置、画像符号化方法及び撮像システム
CN102301723A (zh) * 2008-12-09 2011-12-28 索尼公司 图像处理设备和方法
EP2584524A4 (en) * 2010-06-17 2017-05-24 NTT Electronics Corporation Image processing device
JP5734715B2 (ja) 2011-03-24 2015-06-17 オリンパス株式会社 データ処理装置およびデータ処理方法
JP5780795B2 (ja) 2011-03-24 2015-09-16 オリンパス株式会社 データ処理装置およびデータ処理方法
JP5898409B2 (ja) 2011-03-24 2016-04-06 オリンパス株式会社 データ処理装置およびデータ処理方法
JP5738639B2 (ja) 2011-03-24 2015-06-24 オリンパス株式会社 データ処理装置およびデータ処理方法
JP5780796B2 (ja) 2011-03-24 2015-09-16 オリンパス株式会社 データ処理装置およびデータ処理方法
JP6012207B2 (ja) * 2012-03-08 2016-10-25 株式会社メガチップス データ転送装置
CN102647541B (zh) * 2012-04-28 2014-08-20 大连民族学院 一种基于有损压缩链码的图像编码方法
JP6490896B2 (ja) * 2013-12-17 2019-03-27 株式会社メガチップス 画像処理装置
CN104658578A (zh) * 2015-03-10 2015-05-27 广东工业大学 一种高速数据采集系统中的sdram控制方法
CN111746400B (zh) * 2020-06-29 2021-11-05 珠海全志科技股份有限公司 倒车冷启动影像快速显示方法、计算机装置及计算机可读存储介质
CN113259540B (zh) * 2020-12-18 2024-04-02 深圳怡化电脑股份有限公司 扫描图像数据的处理方法、装置、设备及存储介质
CN114422853B (zh) * 2021-12-29 2023-09-26 南京汇川工业视觉技术开发有限公司 图像传输方法、装置、设备、视觉系统以及存储介质

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54130830A (en) * 1978-03-21 1979-10-11 Vital Ind Special television effect device
US4266242A (en) * 1978-03-21 1981-05-05 Vital Industries, Inc. Television special effects arrangement
US4288242A (en) * 1980-03-25 1981-09-08 Monsanto Company Alpha-chloro-alkoxymethyl-N-(2,6-dialkoxyphenyl)acetamides as effective turfgrass regulants
FR2520177B1 (fr) * 1982-01-15 1986-05-23 Pierre Jutier Dispositif de saisie et de restitution en temps reel d'une image formee de trames successives de lignes de balayage
US4620136A (en) * 1984-11-29 1986-10-28 Rca Corporation Digital vertical beam landing correction circuit
JPS6211977A (ja) * 1985-07-10 1987-01-20 Toshiba Corp 画像メモリ
US4763203A (en) * 1985-10-17 1988-08-09 Ampex Corporation Time base corrector with accurate timing corrector control
US4926247A (en) * 1986-10-15 1990-05-15 Olympus Optical Co., Ltd. Color imaging apparatus including a means for electronically non-linearly expanding and compressing dynamic range of an image signal
FR2648254B2 (fr) * 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US4905084A (en) * 1989-01-30 1990-02-27 Carole Broadcasting Technologies, Inc. Compatible and spectrum efficient high definition television
EP0444368B1 (en) * 1990-02-28 1997-12-29 Texas Instruments France Digital Filtering with SIMD-processor
KR970010395B1 (ko) * 1992-07-08 1997-06-25 미쯔비시덴끼 가부시끼가이샤 컬러화상 표시장치
US5880786A (en) * 1994-06-15 1999-03-09 Hitachi, Ltd. Apparatus for picture decoding having frame memories commonly connected to one data bus and one address bus
TW245871B (en) * 1994-08-15 1995-04-21 Gen Instrument Corp Method and apparatus for efficient addressing of dram in a video decompression processor
US5581310A (en) * 1995-01-26 1996-12-03 Hitachi America, Ltd. Architecture for a high definition video frame memory and an accompanying data organization for use therewith and efficient access therefrom
US5663961A (en) * 1995-02-24 1997-09-02 Motorola, Inc. Packet switch with centralized buffering for many output channels
KR100203243B1 (ko) 1995-07-31 1999-06-15 윤종용 에스디알에이엠에 프레임의 영상신호를 기록하는 방법
US5629723A (en) * 1995-09-15 1997-05-13 International Business Machines Corporation Graphics display subsystem that allows per pixel double buffer display rejection
JP3307807B2 (ja) * 1995-09-29 2002-07-24 三洋電機株式会社 映像信号処理装置
US5765023A (en) * 1995-09-29 1998-06-09 Cirrus Logic, Inc. DMA controller having multiple channels and buffer pool having plurality of buffers accessible to each channel for buffering data transferred to and from host computer
FR2745650B1 (fr) * 1996-02-29 1998-05-22 Sgs Thomson Microelectronics Adressage d'une zone memoire d'un decodeur mpeg
US5995080A (en) * 1996-06-21 1999-11-30 Digital Equipment Corporation Method and apparatus for interleaving and de-interleaving YUV pixel data
DE19636380A1 (de) * 1996-09-09 1998-03-12 Dystar Textilfarben Gmbh & Co Dispersionsfarbstoffmischungen
EP0841820A3 (en) * 1996-11-08 2005-11-09 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding, multiplexing and transmitting a video signal
JPH1155676A (ja) * 1997-08-07 1999-02-26 Hitachi Ltd 同期型メモリを用いた動画像データ符号化装置
US6061094A (en) * 1997-11-12 2000-05-09 U.S. Philips Corporation Method and apparatus for scaling and reducing flicker with dynamic coefficient weighting
US6028612A (en) * 1997-11-18 2000-02-22 Stmicroelectronics, Inc. Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
US6311237B1 (en) * 1998-01-05 2001-10-30 Canon Kabushiki Kaisha System including single host buffer for transmit and receive data and reception buffer in interface device having stand-by area for use by host buffer when abnormal state is detected
US6388241B1 (en) * 1998-02-19 2002-05-14 Photobit Corporation Active pixel color linear sensor with line—packed pixel readout
US6359911B1 (en) * 1998-12-04 2002-03-19 Koninklijke Philips Electronics N.V. (Kpenv) MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information
JP2003521039A (ja) * 2000-01-21 2003-07-08 ソーセロン インコーポレイテッド ネットワーク上で豊富なメディアコンテンツを送達するためのシステム及び方法
JP2002152756A (ja) 2000-11-09 2002-05-24 Mitsubishi Electric Corp 動画像符号化装置
US7228550B1 (en) * 2002-01-07 2007-06-05 Slt Logic, Llc System and method for making communication streams available to processes executing under control of an operating system but without the intervention of the operating system
SG105533A1 (en) * 2002-01-31 2004-08-27 St Microelectronics Asia Memory transfer controller and method of transfer control of video line data and macroblock data
EP1530373A2 (en) * 2003-11-06 2005-05-11 Matsushita Electric Industrial Co., Ltd. Memory arrangement for a quick read access to image blocks according to a different scan order
JP4376040B2 (ja) * 2003-11-27 2009-12-02 株式会社日立製作所 複数のプロセッサを用いて情報処理を行う装置及び方法
JP4458864B2 (ja) * 2004-01-30 2010-04-28 キヤノン株式会社 撮像装置及びその制御方法及びプログラム及び記憶媒体
KR100668302B1 (ko) * 2004-07-28 2007-01-12 삼성전자주식회사 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법
US7333177B2 (en) * 2004-11-30 2008-02-19 Asml Netherlands B.V. Lithographic apparatus and device manufacturing method
US8099548B2 (en) * 2006-03-23 2012-01-17 Microsoft Corporation Power efficient media playback on general purpose portable devices

Also Published As

Publication number Publication date
US7978198B2 (en) 2011-07-12
CN101060628B (zh) 2011-02-09
CN101060628A (zh) 2007-10-24
US20070279426A1 (en) 2007-12-06
JP2007312358A (ja) 2007-11-29

Similar Documents

Publication Publication Date Title
JP4909779B2 (ja) 画像データ転送方法、画像処理装置、及び撮像システム
US8428126B2 (en) Image decoding device with parallel processors
US8442107B2 (en) Memory mapping apparatus and method for video decoder/encoder
JP3395166B2 (ja) 統合ビデオ復号化システム、フレーム・バッファ、符号化ストリーム処理方法、フレーム・バッファ割当て方法及び記憶媒体
US6104416A (en) Tiling in picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
US8175157B2 (en) Apparatus and method for controlling data write/read in image processing system
WO2009133671A1 (ja) ビデオ符号化・復号化装置
US6028612A (en) Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
JPH0818953A (ja) 動画像復号表示装置
JP2011223519A (ja) データ変換装置
KR100192696B1 (ko) 화상 재생 방식 및 장치
JP3168922B2 (ja) デジタル画像情報の記録再生装置
JPH08289302A (ja) 画像復号化装置
KR20070035958A (ko) 화상 처리 장치
US7336302B2 (en) Frame memory device and method with subsampling and read-out of stored signals at lower resolution than that of received image signals
JP3990392B2 (ja) 可変長復号化装置、可変長復号化方法および撮像システム
US7542612B2 (en) Signal processing method and signal processing device
JP2950367B2 (ja) 逆離散余弦変換器におけるデータ出力順序変換方法及び回路
JP3569961B2 (ja) ディジタル映像信号復号装置
JP4559785B2 (ja) 信号処理方法および信号処理装置
JPH0730903A (ja) 画像処理用メモリ集積回路
JP3078990B2 (ja) 低遅延モード画像復号方法
JPH11308620A (ja) 画像復号装置
JPH06237453A (ja) 動画像信号復号化装置
JPH114443A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

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: 20111220

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120116

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4909779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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