JP2006340139A - 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム - Google Patents

動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム Download PDF

Info

Publication number
JP2006340139A
JP2006340139A JP2005163786A JP2005163786A JP2006340139A JP 2006340139 A JP2006340139 A JP 2006340139A JP 2005163786 A JP2005163786 A JP 2005163786A JP 2005163786 A JP2005163786 A JP 2005163786A JP 2006340139 A JP2006340139 A JP 2006340139A
Authority
JP
Japan
Prior art keywords
data
motion vector
search range
vector search
stored
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.)
Pending
Application number
JP2005163786A
Other languages
English (en)
Inventor
Kei Itani
慶 井澗
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan 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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2005163786A priority Critical patent/JP2006340139A/ja
Publication of JP2006340139A publication Critical patent/JP2006340139A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】動きベクトル検出の際に、外部メモリと内部メモリとの間で行われているデータ転送を効率的に行う。
【解決手段】動画像符号化装置1は、動画像圧縮器2と、SDRAM等の外部RAM3とが外部バス4を介し接続され、動画像圧縮器2は、CPU11と、内部RAM12と、内部RAM12と外部RAM3との間でDMA転送等を行うメモリコントローラ13とがローカルバス14を介し接続され構成されている。CPU11が、動き補償MC、動き推定ME、量子化Qなどの動画像圧縮符号化の各処理を内部RAM12にデータを記憶して処理する。動きベクトル検出の際は、メモリコントローラ13が、外部RAM3から内部RAM12へ、動きベクトル検出に新たに必要とされる差分データのみをDMA転送して動きベクトルを検出する。
【選択図】 図1

Description

本発明は、動画像符号化装置、動画像符号化方法、および動画像符号化用プログラムに関し、特に、過去に符号化されたフレームの局所復号画像から、動きベクトルを用いて予測画像の取得を行う、いわゆる動き補償を行う画像符号化において使用される動きベクトルを検出時のメモリ使用効率を向上させた動画像符号化装置、動画像符号化方法、および動画像符号化用プログラムに関する。
動画像の高能率符号化方式の代表的なものとして、ITU(国際電気通信連合 電気通信標準化部門)のH.261、H.263、ISO(国際標準化機構)のMPEG(Moving Picture Experts Group)−1、MPEG−2、MPEG−4などがある。これらの符号化方式では、動きベクトル検出:ME(Motion Estimation)、離散コサイン変換:DCT(Discrete Cosine Transform)、量子化:Q(quantization)、可変長符号化:VLC(variable-length coding)という流れで符号化を行う。この動画像符号化方式に共通の技術として、動きベクトルの検出がある。動きベクトルの検出は、フレームメモリに記憶された画像データを、例えば、16画素×16画素などで構成されるマクロブロック単位で読み出し、その動きベクトルを検出する。ここで、動きベクトル検出時においては、各フレームの画像データを、Iピクチャ(フレーム内符号化)、Pピクチャ(前方予測符号化)、またはBピクチャ(両方向予測符号化)のうちの何れかとして処理する。
ここで、動きベクトルの検出は、画像データの画像サイズや探索領域の大きさに比例して画像データ量および演算量が増え、演算回路規模や消費電力の増大を招いてしまうため、例えば、外部メモリに画像データおよび参照データの画像データを格納しておき、動きベクトルを検出する際に、現在符号化の対象となっているフレームにおける16画素×16ラインのマクロマクロブロックデータと、参照データにおける探索領域の画像データとを内部メモリに転送して、内部メモリにおいてパターンマッチング(ブロックマッチング)等をすることによりマクロブロックの動きベクトルを検出して、なるべく外部メモリへのアクセス回数を減少させるようにした従来技術がある。(例えば、特許文献1参照)。
特開2004−236321号公報
しかし、前述の特許文献1に記載の動画像符号化装置では、動きベクトルを検出する際、符号化対象である現在のマクロブロックと、動きベクトル探索領域の参照データをメモリコントローラにより外部メモリから内部メモリへ転送して、極力、内部メモリでデータ処理して、外部メモリへのアクセス回数を減らしているものの、動きベクトル探索領域の参照データを更新するたびに、動きベクトル探索領域の参照データ全てを外部メモリから内部メモリへ転送しなければならず、依然、データ転送効率が悪く、消費電力が大きい、という問題があった。
特に、CPUなどのプロセッサの動作クロックが上がり、メモリ動作スピードとの差が大きくなって、外部メモリアクセスが頻繁に発生すると、外部メモリアクセスによるウエイトサイクルが入るので、高精細な映像のように規模の大きいデータを扱う処理では、プロセッサの実効性能が低下する、という問題もある。
また、動き補償予測符号化では、動きベクトル検出処理の割合が大きく、動きベクトル検出処理時には頻繁に外部モリへのアクセスを行うことから、符号化処理全体の速度の低下を招くことにもなる。
本発明は、このような課題に着目してなされたもので、動きベクトル検出の際に、外部メモリと内部メモリとの間で行われているデータ転送を効率的に行って、消費電力の増大、プロセッサの実効性能の低下、および符号化処理全体の速度の低下を防止することができる動画像符号化装置、動画像符号化方法、および動画像符号化用プログラムを提供することを目的とする。
上記課題を解決するため、本発明は、動き補償予測符号化により参照画像を参照して動きベクトルを検出し、検出した動きベクトルを用いて入力動画像を圧縮符号化する際、外部メモリに記憶された前記参照画像から現在の動きベクトル探索範囲のデータと次の動きベクトル探索範囲のデータとの間の差分データを取り出して内部メモリに転送し、その差分データにより現在の動きベクトル探索範囲のデータを更新して次の動きベクトル探索範囲のデータとして記憶させて、前記内部メモリに保存された次の動きベクトル探索範囲のデータを用いて次の動きベクトルを検出して入力動画像を圧縮符号化する、ようにしたものである。
本発明によれば、動きベクトルを用いて入力動画像を圧縮符号化する際、外部メモリに記憶された参照画像から現在の動きベクトル探索範囲のデータと次の動きベクトル探索範囲のデータとの間の差分データを取り出して内部メモリに転送すればよいため、動きベクトル検出の際のデータ転送を効率的に行うことができ、消費電力の増大、プロセッサの実効性能の低下、および符号化処理全体の速度の低下を防止することができる。
以下、図面に基づき本発明の実施形態について説明する。
図1は、本発明の実施の形態に係る動画像符号化装置の構成例を示すブロック図である。
図1おいて、本実施の形態の動画像符号化装置1は、動画像圧縮器2と、SDRAM等の外部RAM3とが外部バス4を介し接続され構成されている。動画像圧縮器2は、システムオンチップ等で構成され、動画像圧縮化器2の機能等を果たすCPU11と、CPU11が動画像符号化処理の際、ワーキングバッファ(メインメモリ)としてデータを保持する内部RAM12と、内部RAM12と外部RAM3との間でデータのDMA転送等を行うメモリコントローラ13とがローカルバス14を介し接続され構成されている。
図2は、図1に示す実施の形態の動画像符号化装置の機能をハードウエア的に示した構成例を示すブロック図である。
図2において、この動画像符号化装置1の機能をハードウエア的に説明しておくと、動画像符号化装置1は、フレームメモリ21と、減算器22と、DCT部23と、量子化部(Q)24と、逆量子化部(IQ)25と、逆DCT部26と、加算器27と、フレームメモリ28と、動き補償部(MC)29、動き推定部(ME)30と、可変長符号化部(VLC)31とから構成されることにな、これらの各構成要素の機能を、図1に示す動画像符号化装置1が達成することになる。つまり、図1に示す動画像符号化装置1におけるCPU11が、図示されていないプログラムを実行等することにより内部RAM12を使用して、減算器22や、DCT部23、量子化部(Q)24、逆量子化部(IQ)25、逆DCT部26、加算器27、動き補償部(MC)29、動き推定部(ME)30、可変長符号化部(VLC)31等の処理を実行する一方、外部RAM3および内部RAM12が、フレームメモリ21およびフレームメモリ28として機能することになる。なお、メモリコントローラ13は、主に、外部RAM3と内部RAM12との間のデータ転送を行っているので、図2において対応する構成は示していない。
次に、本実施の形態の動作を説明する。
図1に示すように、動画像圧縮器2上で動画像データを動きベクトルを検出して圧縮処理を行う場合、メモリコントローラ13は、動きベクトル探索時、外部メモリ3に格納された画像データおよび参照データから、それぞれ動きベクトル検出対象のマクロブロックデータと、動きベクトルを探索する領域の動きベクトル探索領域データとを内部RAM12に後述するようにDMA転送して格納して、CPU11が動きベクトルの検出を行う。なお、本実施の形態では、動きベクトル検出対象のマクロブロックデータは、16×16画素からなり、動きベクトル探索領域データは、参照データにおいてそのマクロブロックデータを中心として上下左右2マクロブロック分とった5×5マクロブロックデータとする。
ここで、従来は、動きベクトル検出の際、常に、参照データからマクロブロック25個分の動きベクトル探索領域(参照ブロック)データを外部RAM3から外部バス4を介して内部RAM12へ移動させていた。そのため、消費電力が大きいと共に、プロセッサの実効性能および符号化処理全体の速度の低下を招き、効率が悪かった。
しかし、本実施の形態では、後述するように、動きベクトル検出の際、メモリコントローラ13が今回参照する参照ブロックデータと、その前に参照した参照ブロックデータとの差分データとの間の差分データを2次元的に外部RAM3から内部RAM12へDMA転送し、かつ、内部RAM12では、今回使用されないブロックデータの格納位置に1画素ずつずらしたアドレスにその差分データを格納している。このような本実施の形態による2次元的なデータ転送技術は、近年発売されているプロセッサに採用されていてデジタル信号処理などに有効であり、メモリアドレス上では1次元的に配列されているデータを2次元的にブロック転送する技術である。
図3は、マクロブロッデータ♯22の動きベクトル検出時、メモリコントローラ13により外部RAM3から内部RAM12へ2次元的に転送される参照ブロックデータを示す図である。
つまり、図3に示すように、外部RAM3には、例えば、0番目〜98番目までの99個の16×16画素のマクロブロックからなるQCIFサイズ(176×144画素)の参照フレームデータ30が格納されている。ここで、図3では、0番目〜21番目のマクロブロックデータ♯0〜♯21について動きベクトルの検出が終了し、続いて22番目のマクロブロックデータ♯22について動きベクトル検出のために、メモリコントローラ13が外部RAM3から内部RAM12へDMA転送する参照ブロックデータを示している。なお、この場合には、符号化対象の画像データから動きベクトル検出対象の22番目のマクロブロックデータ♯22も転送される。
その際、内部RAM12には、前回動きベクトルを求めたマクロブロックデータ♯21を中心とした5×5の参照ブロックデータ31が格納されているので、メモリコントローラ13は、前回のマクロブロックデータ♯21を中心とした5×5の参照ブロックデータと、今回のマクロブロックデータ♯22を中心とした5×5の参照ブロックデータ31との間の差分データ、すなわち今回はマクロブロックデータ♯22を中心とした5×5の参照ブロックデータ31全てを外部RAM3から内部RAM12へDMA転送する。
すると、CPU11は、画像データにおけるマクロブロックデータ♯22の動きベクトルを算出するため、参照フレームデータ30におけるマクロブロックデータ♯22を中心とする5×5のマクロブロックからなる参照ブロックデータ31を参照してマッチング計算を行い、マクロブロックデータ♯22を中心にその周囲2マクロブロック分の範囲、すなわちマクロブロック25個分を探索して移動する。この場合、1画素(ピクセル)=1Byteのデータサイズとすると16×16×25=6400Byte分のデータの移動が必要となる。
なお、動きベクトル検出時には、対象マクロブロック外側のブロックを参照する必要があるので、図3において、“P”というブロックは、0番目〜98番目までの対象マクロブロック(16×16画素)を参照するため、0番目〜98番目までの対象マクロブロックを内挿や外挿によりパディング(追加)したパディング領域のマクロブロックのことである。この時、パディングされたマクロブロック♯Pは、例えば、隣接するマクロブロックと同じ値を持つことになる。
なお、図3に示す場合、内部RAM12へDMA転送された5×5のマクロブロック25個分の参照ブロックデータ31は、内部RAM12にて図3に示すように2次元的に配列され、連続したシーケンスなアドレスが与えられて格納されることになる。
図4は、マクロブロックデータ♯23の動きベクトル検出時、メモリコントローラ13により外部RAM3から内部RAM12へ2次元的に転送される参照ブロックデータを示す図である。
ここで、マクロブロックデータ♯23の動きベクトル検出の際、内部RAM12には、前回のマクロブロックデータ♯22を中心とした5×5の参照ブロックデータが格納されているので、今回メモリコントローラ13によって外部バス4を介し内部RAM12へDMA転送される参照ブロックデータ41は、前回のマクロブロックデータ♯22を中心とした5×5の参照ブロックデータ31と、今回のマクロブロックデータ♯23を中心とした5×5の参照ブロックデータ41との間の差分データ、すなわち図4上最も左側のパディングしたマクロブロックデータPを1列目としてカウントした6列目のマクロブロックデータ♯3,♯14,♯25,♯36,♯47からなる1列分のブロックデータ42となる。
すると、内部RAM12では、前回転送された動きベクトル探索範囲のマクロブロック31のうち1列目の5個のマクロブロックPからなる参照ブロックデータは捨てて、そこに6列目のマクロブロックデータ♯3,♯14,♯25,♯36,♯47からなる1列分のマクロブロックデータ42を格納する。これにより、内部RAM12では、6列目のマクロブロックデータ♯3,♯14,♯25,♯36,♯47からなる1列分のマクロブロックデータ42と、前回転送された動きベクトル探索範囲のマクロブロック31のうち2〜5列目のマクロブロックデータ43とをあわせて、マクロブロックデータ♯23についての動きベクトル探索用の5×5マクロブロック分の参照ブロックデータ41を構成することになる。
その際、図4に示すように、内部RAM12では、6列目のマクロブロックデータ♯3,♯14,♯25,♯36,♯47からなる1列分のマクロブロックデータ42を、前回転送された動きベクトル探索範囲のマクロブロックデータ43のうち5列目のマクロブロックデータ♯2,♯13,♯24,♯35,♯46からなるマクロブロックデータの次(図4上右隣)ではなく、前回転送された動きベクトル探索範囲のマクロブロック42のうち今回不要とされる1列目のマクロブロック♯P,♯P,♯P,♯P,♯Pからなるマクロブロックデータの位置で、かつ、1画素分アドレスを後方(図上、下方向)にずらして格納する。
これは、6列目のマクロブロックデータ♯3,♯14,♯25,♯36,♯47からなる1列分のマクロブロックデータ41を、前回の動きベクトル探索範囲のマクロブロック41のうち今回使用されない1列目のマクロブロックデータ♯P,♯P,♯P,♯P,♯Pからなるマクロブロックデータの位置(図上最も左隣)に格納することにより、前回動きベクトル検出に使用された参照ブロックデータのうち、今回も動きベクトル検出に使用された参照ブロックデータは、格納位置もアドレスも変更されずに格納されるからである。
また、このように6列目のマクロブロックデータ♯3,♯14,♯25,♯36,♯47からなる1列分のマクロブロックデータ42それぞれを、16画素、すなわち1ラインにわたり1画素分アドレスを後方(図上、下方向)にずらして格納しているので、ブロックデータ42とブロックデータ43とからなる参照ブロックデータ41の読み出しアドレスは、シーケンスにつながるからである。
図5は、マクロブロックデータ♯22の動きベクトル検出時、内部RAM12に格納された参照ブロックデータ31の読み出しアドレスがシーケンスにつながることを説明する図である。
図5では、図3に示す参照ブロックデータ31を構成する各画素に読み出し順に対応した番号を割り振っている。参照ブロックデータ31は、図3に示すように、マクロブロックデータ♯22の動きベクトル検出時の参照ブロックデータであるので、その最も左上端の参照ブロックデータ♯Pの1行目の左端の画素から順に図上右側方向に、読み出し順位が振られることになる。
その結果、図5に示すように、参照マクロブロックデータ♯Pの1行目の16個の画素には、0〜15の読み出し順位が振られ、最も右端の参照マクロブロックデータ♯2の1行目の画素には、64〜79の読み出し順位が振られることになる。
参照ブロックデータ31における1行目の画素について読み出し順位が振られると、次は、2行目の画素に読み出し順位を振るため、最も左端の参照マクロブロックデータ♯Pの2行目に戻る。2行目の画素の画素も同様に、左端の画素から順に図上右方向に振られ、90〜159の読み出し順位が振られることになる。このようなことを繰り返していくと、図5に示していないが、図3に示す参照マクロブロックデータ46の16行目の画素には、6384〜6399の読み出し順位が振られて、この読み出し順位の順に読み出しアドレスがシーケンスに並ぶことになる。
図6は、マクロブロックデータ♯23の動きベクトル検出時、内部RAM12に格納された参照ブロックデータ41の読み出しアドレスがシーケンスにつながることを説明する図である。
この場合、マクロブロックデータ♯23の動きベクトル検出時であるので、本実施の形態では、内部RAM12には、更新された最も左端のマクロブロックデータ♯3の1行目の画素は、16画素分、すなわち図上1ライン分にわたり1画素分後方(図上、下方)にシフトして格納されるので、マクロブロックデータ♯3の1行目の各画素には、80〜95の読み出し順位が振られることになる。
そのため、CPU11は、マクロブロックデータ♯23について動きベクトルを算出する際、最も読み出し順位が小さい2列目のマクロブロックPの1行目の読み出し順位16のデータから順に読み出していき、最も右端のマクロブロック2の1行目の読み出し順位79のデータが読み出されると、次に読み出し順位80のデータ、すなわち左端のマクロブロック2の1行目のデータから読み出されることになり、シーケンスなアドレスで順に参照ブロックデータ41の画素を読み出していくことになる。
このように、本実施の形態によれば、次の動きベクトルを検出する際には、現在の動きベクトル探索範囲のマクロブロックと、次の動きベクトル探索範囲のマクロブロックとの差分データを外部RAM3から読み出し内部RAM12に2次元的にDMA転送等し、内部RAM12では、更新された差分データのみを、図4に示すように16画素、すなわち1ラインにわたり1画素分ずらして格納しているので、CPU11上からは、内部RAM12に保存されているマクロブロック領域にアクセスする時は、従来のように毎回5×5のマクロブロックを転送している場合と同様に、リニアにマクロブロックが並んでいるように見え、アドレス変換の必要もなくなる。
図7は、本実施の形態によりマクロブロック22を中心とする5×5の最初の動きベクトル探索範囲のマクロブロック31から、マクロブロック32を中心とする5×5の動きベクトル探索範囲のマクロブロックまでの動きベクトル探索の際、内部RAM12における参照マクロブロックの遷移を示す図である。
まず、1回目のマクロブロックデータ♯22の動きベクトル検出の際は、メモリコントローラ13は、上述したように、マクロブロックデータ♯22を中心とした25個分の参照ブロックデータ31を外部RAM3から内部RAM12へDMA転送等で移動させる。次の2回目のマクロブロックデータ♯23の動きベクトル検出の際は、前のマクロブロックデータ♯22を中心とした参照ブロックデータと、今回のマクロブロックデータ♯23を中心とした参照ブロックデータとの間の差分データ、すなわち6列目のマクロブロックデータ♯3,♯14,♯25,♯36,♯47は、参照ブロックデータ41における今回更新される1列目の位置に、1ラインにわたり1画素ずつずらしたアドレスに格納される。
3回目のマクロブロックデータ♯24の動きベクトル計算時には、前回のマクロブロックデータ♯23を中心とした参照ブロックデータと、今回のマクロブロックデータ♯24を中心とした参照ブロックデータとの間の差分データ、すなわち参照フレームデータ30における7列目のマクロブロックデータ♯3,♯14,♯25,♯36,♯47が、参照ブロックデータ71における今回更新される2列目の位置に、1ラインにわたり1画素ずつずらしたアドレスに格納される。次の4回目のマクロブロックデータ♯25の動きベクトル計算時には、参照フレームデータ30における8列目のマクロブロックデータ♯5,♯16,♯27,♯38,♯49が、参照ブロックデータ72における今回更新される3列目の位置に、1ラインにわたり1画素ずつずらしたアドレスに格納される。
6回目のマクロブロックデータ♯27の動きベクトル計算時には、参照フレームデータ30における10行目の1列分のマクロブロックデータ♯7,♯18,♯29,♯40,♯51は、参照ブロックデータ74における今回更新される5列目の位置に、1ラインにわたり1画素ずつずらしたアドレスに格納される。このときの5×5の参照ブロックデータ74は、全て1画素分ずれて格納されることになる。
7回目のマクロブロックデータ♯28の動きベクトル計算時には、参照フレームデータ30における11列目のマクロブロックデータ♯8,♯19,♯30,♯41,♯52は、参照ブロックデータ75における今回更新される1列目の位置に、1ラインにわたり2画素ずつずらしたアドレス、すなわち相対的には、10列目のマクロブロックデータ♯7,♯18,♯29,♯40,♯51などの格納位置よりさらに1画素ずらされて、シーケンスな読み出しアドレスとなるように格納される。
そして、11回目のマクロブロックデータ♯32の動きベクトル計算時には、参照フレームデータ30における15行目の1列分のマクロブロックデータ♯P,♯P,♯P,♯P,♯Pは、参照ブロックデータ79における今回更新される5列目の位置に、1ラインにわたり2画素ずつずらしたアドレスに格納することになる。その結果、このときの5×5の参照ブロックデータ79は、全て2画素分ずれて格納されることになる。
そのため、内部RAM12では、マクロブロックデータ♯32までは1回の動きベクトル計算時に1列、すなわちマクロブロック5個分のデータ更新だけですむことになる。一列のデータ転送量は16×16×5=1280Byteであるので、従来のように動きベクトル探索範囲全体のデータ、すなわち5×5マクロブロックデータ分のデータ転送量16×16×5×5=6400Byteを転送するより、5120Byteのデータ転送量の削減が見込めることになる。
本実施の形態では、内部RAM12における参照ブロックデータの以上のような更新処理を、外部RAM3に格納されたQCIFサイズの参照フレームデータ30全てについて行う。
このように、本実施の形態では、動きベクトル検出の際、メモリコントローラ13は、前回の動きベクトル検出に使用した参照ブロックデータと、今回の動きベクトルの検出に使用する参照ブロックデータとの間の差分データを内部RAM12へ2次元的にDMA転送し、内部RAM12では、16画素分、すなわち図上1ライン分にわたり1画素分後方(図上、下方)にシフトしてその差分データを格納するようにしたので、動きベクトル検出時における外部RAM3と動画像圧縮機2との間における外部バス4を介したデータ転送量が減少することになり、外部RAM3へのアクセス量が減少すると共に、外部バス4におけるバス占有帯域を減少させることができる。
その結果、動画像符号化装置1を搭載したチップの電力消費量を減少することができると共に、外部RAM3へのアクセスによるウエイトサイクルを減らし、動きベクトル検出の高速化を行うことができ、消費電力の削減、CPU11の実効性能の低下、および符号化処理全体の速度の低下を防止して、符号化/復号化処理全体の高速化を実現することができる。
なお、本実施の形態では、図3等に示すように本来の参照ブロックデータだけでなく、内挿や外挿入によるパディングしたマクロブロックデータ♯Pまで外部RAM3から内部RAM12へ転送するように説明したが、本発明では、これに限らず、外部RAM3ではパディングを実行せず、CPU11が内部RAM12にて転送された周囲の画素からパディングを行うようにして、パディングしたマクロブロックデータ♯Pは、内部RAM12へ転送しないようにしても良い。このようにすれば、データの転送量がパディングしたマクロブロックデータ♯Pの転送分さらに減少するので、さらにデータ効率が向上することになる。
また、本実施の形態における参照フレームデータ30の大きさであるQCIFサイズや、動きベクトルを求める単位(マクロブロックデータの大きさ)は16×16画素、参照ブロックデータ31等の大きさである5×5参照マクロブロックデータ等は、あくまで一例であり、本発明では、これらの大きさに、何ら限定されるものではない。例えば、参照フレームデータの大きさが、CIFサイズであっても良く、また、動きベクトルを求める単位は16×8画素、参照ブロックデータ等の大きさである5×10参照マクロブロックデータであっても勿論かまわない。
本発明の実施の形態に係る動画像符号化装置の構成例を示すブロック図である。 図1に示す実施の形態の動画像符号化装置の機能をハードウエア的に示した構成例を示すブロック図である。 マクロブロックデータ♯22の動きベクトル検出時、メモリコントローラにより外部RAMから内部RAMへ2次元的に転送される参照ブロックデータを示す図である。 マクロブロックデータ♯23の動きベクトル検出時、メモリコントローラにより外部RAMから内部RAMへ2次元的に転送される参照ブロックデータを示す図である。 マクロブロックデータ♯22の動きベクトル検出時、内部RAMに格納されたマクロブロックデータの読み出しアドレスがシーケンスにつながることを説明する図である。 マクロブロックデータ♯23の動きベクトル検出時、内部RAMに格納されたマクロブロックデータの読み出しアドレスがシーケンスにつながることを説明する図である。 内部RAMにおける参照マクロブロックデータ♯の遷移を示す図である。
符号の説明
1 動画像符号化装置
2 動画像圧縮器
3 外部RAM(外部メモリ)
4 外部バス
11 CPU(符号化手段)
12 内部RAM(内部メモリ)
13 メモリコントローラ(メモリ制御手段)
14 ローカルバス14

Claims (4)

  1. 動き補償予測符号化により参照画像を参照して動きベクトルを検出し、検出した動きベクトルを用いて入力動画像を圧縮符号化する動画像符号化装置であって、
    前記参照画像を記憶する外部メモリと、
    前記外部メモリに記憶された前記参照画像から現在の動きベクトル探索範囲のデータと次の動きベクトル探索範囲のデータとの間の差分データを取り出して転送するメモリ制御手段と、
    前記メモリ制御手段から前記差分データを入力して、受信した前記差分データにより現在の動きベクトル探索範囲のデータを更新して次の動きベクトル探索範囲のデータとして記憶する内部メモリと、
    前記内部メモリに保存された前記次の動きベクトル探索範囲のデータを用いて次の動きベクトルを検出して前記入力動画像を圧縮符号化する符号化手段と、
    を有する動画像符号化装置。
  2. 前記内部メモリは、
    動きベクトル探索範囲のデータを2次元的に格納して記憶しており、前記メモリ制御手段から前記差分データを入力して、受信した前記差分データにより現在の動きベクトル探索範囲のデータを更新する際、現在の動きベクトル探索範囲のデータのうち次の動きベクトル探索範囲のデータとして使用されないデータの格納位置に、1画素分アドレスを後方にずらして格納する、請求項1記載の動画像符号化装置。
  3. 動き補償予測符号化により参照画像を参照して動きベクトルを検出し、検出した動きベクトルを用いて入力動画像を圧縮符号化する際の動画像符号化方法であって、
    外部メモリに記憶された前記参照画像から現在の動きベクトル探索範囲のデータと次の動きベクトル探索範囲のデータとの間の差分データを取り出して内部メモリに転送し、その差分データにより現在の動きベクトル探索範囲のデータを更新して次の動きベクトル探索範囲のデータとして記憶させて、前記内部メモリに保存された次の動きベクトル探索範囲のデータを用いて次の動きベクトルを検出して入力動画像を圧縮符号化する、動画像符号化方法。
  4. 動き補償予測符号化により参照画像を参照して動きベクトルを検出し、検出した動きベクトルを用いて入力動画像を圧縮符号化させることを、コンピュータに実行させるための動画像符号化用プログラムであって、
    外部メモリに記憶された参照画像から現在の動きベクトル探索範囲のデータと次の動きベクトル探索範囲のデータとの間の差分データを取り出して前記内部メモリに転送させ、その差分データにより現在の動きベクトル探索範囲のデータを更新して次の動きベクトル探索範囲のデータとして記憶させ、
    前記内部メモリに保存された前記次の動きベクトル探索範囲のデータを用いて次の動きベクトルを検出して前記入力動画像を圧縮符号化させる、
    ことをコンピュータに実行させるための動画像符号化用プログラム。

JP2005163786A 2005-06-03 2005-06-03 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム Pending JP2006340139A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005163786A JP2006340139A (ja) 2005-06-03 2005-06-03 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005163786A JP2006340139A (ja) 2005-06-03 2005-06-03 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム

Publications (1)

Publication Number Publication Date
JP2006340139A true JP2006340139A (ja) 2006-12-14

Family

ID=37560267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005163786A Pending JP2006340139A (ja) 2005-06-03 2005-06-03 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム

Country Status (1)

Country Link
JP (1) JP2006340139A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019239951A1 (ja) * 2018-06-11 2019-12-19 日本電信電話株式会社 バッファ装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019239951A1 (ja) * 2018-06-11 2019-12-19 日本電信電話株式会社 バッファ装置
JP2019216324A (ja) * 2018-06-11 2019-12-19 日本電信電話株式会社 バッファ装置
JP7060802B2 (ja) 2018-06-11 2022-04-27 日本電信電話株式会社 バッファ装置
US11451805B2 (en) 2018-06-11 2022-09-20 Nippon Telegraph And Telephone Corporation Buffer apparatus

Similar Documents

Publication Publication Date Title
US9351003B2 (en) Context re-mapping in CABAC encoder
JP5390773B2 (ja) オーバーラップスムージングおよびインループデブロッキングの区分的な処理
TWI382764B (zh) 用於儲存中間迴路過濾資料之暫存記憶體(scratch pad)
US9807410B2 (en) Late-stage mode conversions in pipelined video encoders
KR100952861B1 (ko) 디지털 비디오 데이터 처리
US9948934B2 (en) Estimating rate costs in video encoding operations using entropy encoding statistics
KR100772379B1 (ko) 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
CN101166277B (zh) 在用于处理运动图像的设备中访问存储器的方法
US20060133512A1 (en) Video decoder and associated methods of operation
JP2009267689A (ja) 動画像符号化装置、及び動画像符号化方法
JP4346573B2 (ja) 符号化装置と方法
US20160050431A1 (en) Method and system for organizing pixel information in memory
JP2006157925A (ja) パイプラインデブロッキングフィルタ
KR20040095742A (ko) 화상 복호 유닛과 그것을 이용한 화상 부호화 장치 및부호화 방법, 및 화상 복호 장치 및 복호 방법
US8879629B2 (en) Method and system for intra-mode selection without using reconstructed data
JP2007503787A (ja) メモリ帯域幅要求が低いビデオ処理装置
JP4590335B2 (ja) 画像処理装置及び画像処理方法
US20150055707A1 (en) Method and Apparatus for Motion Compensation Reference Data Caching
JP3322233B2 (ja) 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体
JP5580541B2 (ja) 画像復号化装置および画像復号化方法
JP2006340139A (ja) 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム
US20130156114A1 (en) Data Movement Reduction In Video Compression Systems
JP2008289105A (ja) 画像処理装置およびそれを搭載した撮像装置
KR100636911B1 (ko) 색도 신호의 인터리빙 기반 동영상 복호화 방법 및 그 장치
JP5867050B2 (ja) 画像処理装置