JP3968774B2 - 情報処理装置および情報処理方法、記録媒体、並びにプログラム - Google Patents
情報処理装置および情報処理方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP3968774B2 JP3968774B2 JP2002001290A JP2002001290A JP3968774B2 JP 3968774 B2 JP3968774 B2 JP 3968774B2 JP 2002001290 A JP2002001290 A JP 2002001290A JP 2002001290 A JP2002001290 A JP 2002001290A JP 3968774 B2 JP3968774 B2 JP 3968774B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- block
- pixel
- sum
- processing
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置および情報処理方法、記録媒体、並びにプログラムに関し、特に、MPEGによって動画像データを圧縮する場合に用いて好適な情報処理装置および情報処理方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
デジタル動画像データを圧縮する技術として、MPEG(Moving Picture Experts Group)が広く用いられている。なお、MPEGには動画像データ圧縮とともに、音声データの圧縮も含まれる。MPEGは、離散コサイン変換(DCT:Discrete Cosine Transform)、動き予測、および圧縮効率を高めるためのインターフレーム符号化を圧縮方法として利用している。すなわち、MPEGを用いてデジタル動画像データを圧縮する場合、基本的には、動画像の1コマ目のデータをもとに、2コマ目はそれと違う部分だけ、3コマ目は2コマ目と違う部分だけと、コマ(フレーム)の間の差分を記録することで圧縮を実現する。
【0003】
Video−CDなどに使われているMPEG1は、H.261(電気通信サービス事業者が中心となって定めた動画圧縮技術)をベースに標準化されている。MPEG1においては、画像内での物体の動く方向を予測し、そのベクトルだけを保存するなどの処理により、データを圧縮している。MPEG1は、CD−ROMなどの蓄積メディアにおける保存、もしくは再生処理を考慮したものであり、その再生品質はVTR再生並みである。更に、放送メディアでの使用を考慮し、HDTVなみの再生品質をもつ、MPEG2も制定されている。
【0004】
MPEG4は、10kbps乃至2Mbpsでの動画符号化技術である。MPEG4は、MPEG1およびMPEG2と同じ基礎技術を圧縮方法として利用している。しかしながら、MPEG1およびMPEG2が、キーフレーム画像で変化した部分のみを分解していくのに対して、MPEG4では、フレームの画像をオブジェクトに分解(すなわち、MPEG4では、映像を構成する要素を、例えば、背景、人物、建物などに分解)し、それぞれのオブジェクトに応じて差分を記録する。
【0005】
MPEG4では、符号化すべきVOP(Video Object Plane)を含むようなn×n画素からなる画素ブロックを設定し、探索範囲内の参照画像にマッチングして、その画素の差分の絶対値和AD(absolute difference )を求め、ADが最小となるときの移動量を動きベクトルMV(Motion Vector)として検出する動き探索によって符号化を行っている。そして、マクロブロック毎に動き補償が行われると同時に、各マクロブロックのモード情報(VOPの内側であるか否か、動き補償の適用が可であるか否かなど)が決定される。そして、その後に、マクロブロックのサイズ変換が行なわれる。また、形状情報の動き補償においては、形状情報そのものから得られるMVと、テクスチャ情報から得られる通常のMVの双方が考慮される。
【0006】
【発明が解決しようとする課題】
上述した動き探索処理は、MPEG4のみならず、MPEG全体の処理において、最も時間の掛かる処理である。従って、動き探索の高速化あるいは処理量の削減は、例えば、MPEG4において、実時間における動画の符号化を可能とするための、非常に重要な課題である。
【0007】
本発明はこのような状況に鑑みてなされたものであり、MPEGによる動画圧縮時の計算量を削減することができるようにするものである。
【0008】
【課題を解決するための手段】
本発明の情報処理装置は、画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックを抽出する抽出手段と、第1のブロックの各画素の画素値の和と、抽出手段により抽出された第2のブロックの各画素の画素値の和との差の絶対値である第1の値を演算する第1の演算手段と、第1の演算手段により演算された第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、小さいものを設定する第1の設定手段と、第1の演算手段により演算された第1の値と、第2の値とを比較する第1の比較手段と、第1の比較手段により、第1の値が、第2の値より小さいと判断された場合、第1のブロックの各画素と、第2のブロックの各画素の差分の絶対値和である第3の値を演算する第2の演算手段と、第2の値と、第2の演算手段により演算された第3の値を比較し、第3の値の方が小さかった場合、第2の値として、第3の値を再設定する第2の設定手段とを備え、抽出手段は、予め定められた探索範囲内の全ての第2のブロックを順次抽出することを特徴とする。
【0009】
抽出手段には、探索範囲内において、第1のブロックを中心としたらせん状に、第2のブロックを抽出する位置を移動させるようにすることができる。
【0011】
抽出手段により抽出された全ての第2のブロックに対する処理の終了後の第2の値を用いて、第1のブロックのブロックタイプを判定するか、もしくは、第1のブロックの符号化を実行するために用いる動きベクトルを演算して、その結果を出力する出力手段を更に備えさせるようにすることができる。
【0012】
本発明の情報処理方法は、画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックを抽出する抽出ステップと、第1のブロックの各画素の画素値の和と、抽出ステップの処理により抽出された第2のブロックの各画素の画素値の和との差の絶対値である第1の値を演算する第1の演算ステップと、第1の演算ステップの処理により演算された第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、小さいものを設定する第1の設定ステップと、第1の演算ステップの処理により演算された第1の値と、第2の値とを比較する第1の比較ステップと、第1の比較ステップの処理により、第1の値が、第2の値より小さいと判断された場合、第1のブロックの各画素と、第2のブロックの各画素の差分の絶対値和である第3の値を演算する第2の演算ステップと、第2の値と、第2の演算ステップの処理により演算された第3の値を比較し、第3の値の方が小さかった場合、第2の値として、第3の値を再設定する第2の設定ステップとを含み、抽出ステップの処理では、予め定められた探索範囲内の全ての第2のブロックを順次抽出することを特徴とする。
【0013】
本発明の記録媒体に記録されているプログラムは、画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックを抽出する抽出ステップと、第1のブロックの各画素の画素値の和と、抽出ステップの処理により抽出された第2のブロックの各画素の画素値の和との差の絶対値である第1の値を演算する第1の演算ステップと、第1の演算ステップの処理により演算された第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、小さいものを設定する第1の設定ステップと、第1の演算ステップの処理により演算された第1の値と、第2の値とを比較する第1の比較ステップと、第1の比較ステップの処理により、第1の値が、第2の値より小さいと判断された場合、第1のブロックの各画素と、第2のブロックの各画素の差分の絶対値和である第3の値を演算する第2の演算ステップと、第2の値と、第2の演算ステップの処理により演算された第3の値を比較し、第3の値の方が小さかった場合、第2の値として、第3の値を再設定する第2の設定ステップとを含み、抽出ステップの処理では、予め定められた探索範囲内の全ての第2のブロックを順次抽出することを特徴とする。
【0014】
本発明のプログラムは、画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックを抽出する抽出ステップと、第1のブロックの各画素の画素値の和と、抽出ステップの処理により抽出された第2のブロックの各画素の画素値の和との差の絶対値である第1の値を演算する第1の演算ステップと、第1の演算ステップの処理により演算された第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、小さいものを設定する第1の設定ステップと、第1の演算ステップの処理により演算された第1の値と、第2の値とを比較する第1の比較ステップと、第1の比較ステップの処理により、第1の値が、第2の値より小さいと判断された場合、第1のブロックの各画素と、第2のブロックの各画素の差分の絶対値和である第3の値を演算する第2の演算ステップと、第2の値と、第2の演算ステップの処理により演算された第3の値を比較し、第3の値の方が小さかった場合、第2の値として、第3の値を再設定する第2の設定ステップとを含み、抽出ステップの処理では、予め定められた探索範囲内の全ての第2のブロックを順次抽出することを特徴とする。
【0015】
本発明の情報処理装置および情報処理方法、並びにプログラムにおいては、画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックが抽出され、第1のブロックの各画素の画素値の和と、第2のブロックの各画素の画素値の和との差の絶対値である第1の値が演算され、第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、いずれか小さいものが設定され、第1の値と、第2の値とが比較され、第1の値が、第2の値より小さいと判断された場合、第1のブロックの各画素と、第2のブロックの各画素の差分の絶対値和である第3の値が演算され、第2の値と、第3の値が比較されて、第3の値の方が小さかった場合、第2の値として、第3の値が再設定され、予め定められた探索範囲内の全ての第2のブロックが順次抽出される。
【0016】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【0017】
例えば、インターネットや電話回線網などを介して、情報を送受信することが可能なパーソナルコンピュータは、その内部に保存されている動画像データを、MPEG4を用いて圧縮し、例えば、携帯型電話機や、PDA、あるいは、他のパーソナルコンピュータなどに送信することができる。
【0018】
図1は、パーソナルコンピュータ1の構成を示すブロック図である。
【0019】
CPU(Central Processing Unit)11は、入出力インターフェース12および内部バス13を介して、ユーザが、入力部14を用いて入力した各種指令に対応する信号や、ネットワークインターフェース20を介して、他の装置から入力された信号を受け、入力された信号に基づいた各種処理を実行する。ROM(Read Only Memory)15は、CPU11が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM(Random Access Memory)16は、CPU11の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。CPU11、ROM15、およびRAM16は、内部バス13により相互に接続されている。
【0020】
内部バス13は、入出力インターフェース12とも接続されている。入力部14は、例えば、キーボード、タッチパッド、ジョグダイヤル、あるいはマウスなどからなり、ユーザがCPU11に各種の指令を入力するとき操作される。表示部17は、例えば、CRT(Cathode Ray Tube)や液晶表示装置などで構成され、各種情報をテキスト、あるいはイメージなどで表示する。
【0021】
HDD(hard disk drive)18は、ハードディスクを駆動し、それらにCPU11によって実行するプログラムや情報を記録または再生させる。ドライブ19には、必要に応じて磁気ディスク21、光ディスク22、光磁気ディスク23、あるいは半導体メモリ24が装着され、データの授受を行う。
【0022】
ネットワークインターフェース20は、ネットワークや他の装置などと接続され、情報の授受を行う。
【0023】
これらの入力部14乃至ネットワークインターフェース20は、入出力インターフェース12および内部バス13を介してCPU11に接続されている。
【0024】
HDD18に保存されている動画像を、例えば、MPEG4によって符号化する場合、CPU11は、MPEG4の動き探索処理として、図2のように、入力された画像(カレント画像)を、16×16画素のマクロブロック(MB(Macro Block))に分割し、カレント画像に対して指定された探索範囲内(ここでは、S×S画素の範囲内)に、参照画像とするマクロブロックのマッチング位置を動かしながら、次に示す式(1)の演算を行って、カレントマクロブロックと、参照マクロブロックとの画素の差分の絶対値和ADの値を求める。
【0025】
【数1】
ただし、式(1)において、c(i,j)はカレントマクロブロックの画素(i,j)における画素値であり、r(i,j)は、参照マクロブロックの画素(i,j)における画素値であるものとする。
【0026】
そして、CPU11は、探索範囲内で得られた値ADが最小になるような相対位置を、動きベクトルとして求める。
【0027】
従来の動き探索処理においては、全ての参照マクロブロックに対する差分の絶対値を計算して、最小の値MinADを求めていたが、本発明においては、式(1)の計算量を減らすために、次の式(2)の不等式が成立することを利用して、式(3)が成立する場合のみ、差分の絶対値和ADを計算(すなわち、式(1)を計算)する。
【0028】
【数2】
【数3】
【0029】
ここで、MinADは、後述する動き探索処理中に更新される差分の絶対値和ADの最小値である。
【0030】
次に、図3のフローチャートを参照して、本発明を適応した動き探索処理について説明する。
【0031】
ここでは、HDD18に予め記録されている動画像データ、もしくは、ネットワークインターフェース20などを介して外部から入力され、一旦HDD18に供給して記録させた動画像データを、MPEG4を用いて圧縮処理する場合について説明する。
【0032】
ステップS1において、CPU11は、HDD18に記録されている画像データを読み込み、カレント画像データから、カレントマクロブロックを抽出し、その画素値の和Σc(i,j)を計算する。
【0033】
ステップS2において、CPU11は、カレント画像に対する初期位置の参照マクロブロックを抽出し、その画素値の和Σr(i,j)を計算する。
【0034】
ステップS3において、図5を用いて後述するMinAD初期値計算処理が実行される。
【0035】
ステップS4において、CPU11は、現在の差分の絶対値和ADの最小値MinADと、ステップS1において算出されるカレントマクロブロックの画素値の和Σc(i,j)、並びに、ステップS2もしくは後述するステップS9において算出される参照マクロブロックの画素値の和Σr(i,j)を用いて、上述した式(3)が成立するか否かを判断する。
【0036】
ステップS4において、上述した式(3)が成立しないと判断された場合、処理は、ステップS8に進む。
【0037】
ステップS4において、上述した式(3)が成立すると判断された場合、ステップS5において、CPU11は、上述した式(1)を用いて、カレントマクロブロックと、現在の参照マクロブロックの画素値の差分の絶対値和ADを計算する。
【0038】
ステップS6において、CPU11は、ステップS5において算出した画素値の差分の絶対値和ADと、差分の絶対値和ADの現在における最小値MinADを比較し、AD<MinADが成立するか否かを判断する。
【0039】
ステップS6において、AD<MinADが成立しないと判断された場合、処理は、ステップS8に進む。
【0040】
ステップS6において、AD<MinADが成立すると判断された場合、ステップS7において、CPU11は、ステップS5において算出した画素値の差分の絶対値和ADの値を、絶対値和ADの現在における最小値MinADとする。
【0041】
ステップS4において、上述した式(3)が成立しないと判断された場合、ステップS6において、AD<MinADが成立しないと判断された場合、もしくは、ステップS7の処理の終了後、ステップS8において、CPU11は、探索範囲内の全ての位置の探索が終了したか否かを判断する。
【0042】
ステップS8において、探索範囲内の全ての位置の探索が終了していないと判断された場合、ステップS9において、CPU11は、探索位置をずらして、新たな参照マクロブロックの画素値の和Σr(i,j)を計算し、処理は、ステップS4に戻り、それ以降の処理が繰り返される。
【0043】
ここで、ステップS9における探索位置の変更は、例えば、図4に示されるように、カレントマクロブロックの位置をスタート点として、参照マクロブロックを、中心から外側に向かってらせん状に変更するようにする。実際の動画像では、それぞれのシーンにおいて、確率的に多くのマクロブロックが小さな動きベクトルを有している。従って、図4のように参照マクロブロックをらせん状にサーチすることにより、より小さな差分の絶対値和ADの最小値MinADを早い探索段階で発見することができ、上述したステップS5乃至ステップS7の処理を省略することができる可能性が高くなる。更に、らせん状に探索位置を変更していくことにより、同値の差分の絶対値和ADの最小値MinADが存在する場合に、より小さい値のベクトルを最終的な動きベクトルとして選択することが可能となる。
【0044】
ステップS8において、探索範囲内の全ての位置の探索が終了したと判断された場合、ステップS10において、図6を用いて後述するブロックタイプ判断および動きベクトル出力処理が実行され、処理が終了される。
【0045】
以上説明した処理により、動き探索処理に必要な計算量を減少することができる。
【0046】
また、ステップS9において実行される新たな参照マクロブロックの画素値の和Σr(i,j)の計算は、新たな参照マクロブロックの16×16画素全ての画素値の和を算出する必要はない。すなわち、前の参照マクロブロックからずれている画素のみの画素値を、それぞれ減算および加算するようにすればよい。
【0047】
例えば、参照マクロブロックが1ライン(16画素)分だけ水平、もしくは、垂直方向にシフトした場合、前の参照マクロブロックの画素値の和Σr(i,j)から、新たな参照マクロブロックに含まれない16画素の画素値を減算し、新たな参照マクロブロックに含まれる16画素の画素値を加算するようにすればよい。図2を用いて説明したように、らせん状に参照マクロブロックをサーチする場合、ステップS9の演算処理は、16の画素値の減算処理と、16の画素値の加算処理となる。
【0048】
次に、図5のフローチャートを参照して、図3のステップS3において実行されるMinAD初期値計算処理について説明する。
【0049】
ステップS21において、CPU11は、マクロブロック内の画素値の平均値と、それぞれの画素との差分の絶対値和MAD、および動きベクトルが0のときの差分の絶対値和AD0を計算する。
【0050】
ステップS22において、CPU11は、マクロブロックがイントラマクロブロックであるか、インターマクロブロックであるかを判断するための閾値Intra_Boundary_ADの値を、ステップS21において算出した値MADを用いて計算する。
【0051】
閾値Intra_Boundary_ADと、差分の絶対値和ADの最小値MinADを比較して、最小値MinADが大きいか、等しい場合、そのマクロブロックはイントラマクロブロックである。イントラマクロブロックは、参照画像を持たない新たな画像のマクロブロックであり、参照画像から情報を得ることが出来ないため、動きベクトルの符号量を省いて、隣接ブロックを参照して、AC/DC予測を行い、DCTを行うことによって符号化を行う。これに対して、最小値MinADが閾値Intra_Boundary_ADより小さい場合、そのマクロブロックは、インターマクロブロックである。インターマクロブロックは、参照画像を基に、動きベクトルに基づいて動き補償を行い、DCTを行うことによって符号化することができる。
【0052】
ステップS23において、CPU11は、動きベクトルを0とするか否か、換言すれば、動き補償を行うか否かを判断するための閾値NoMC_Boundary_ADの値を、ステップS21において算出した、動きベクトルが0のときの差分の絶対値和AD0を用いて計算する。
【0053】
閾値NoMC_Boundary_ADは、実際の画像では動きがないような場面であっても、ノイズが動きベクトルとして検出されてしまうことを防ぐために設けられる閾値であり、閾値NoMC_Boundary_ADと、差分の絶対値和ADの最小値MinADとを比較して、最小値MinADが大きいか等しい場合、得られた動きベクトルを用いずに、動きベクトルを0として処理が実行される。
【0054】
ステップS24において、CPU11は、ステップS22において計算された閾値Intra_Boundary_ADと、ステップS23において計算された閾値NoMC_Boundary_ADとを比較し、Intra_Boundary_AD<NoMC_Boundary_ADが成立するか否かを判断する。
【0055】
ステップS24において、Intra_Boundary_AD<NoMC_Boundary_ADが成立すると判断された場合、CPU11は、ステップS25において、差分の絶対値和ADの最小値MinADの初期値を、ステップS22において計算されたIntra_Boundary_ADの値とし、ステップS26において、MinAD0_fiag=1として、それぞれRAM16に記憶し、処理は、図3のステップS4に戻る。
【0056】
ステップS24において、Intra_Boundary_AD<NoMC_Boundary_ADが成立しないと判断された場合、CPU11は、ステップS27において、差分の絶対値和ADの最小値MinADの初期値を、ステップS23において計算されたNoMC_Boundary_ADの値とし、ステップS28において、MinAD0_fiag=2として、それぞれRAM16に記憶し、処理は、図3のステップS4に戻る。
【0057】
ここで、AD0を基に算出される閾値NoMC_Boundary_ADの値は、実際には、AD0より小さいか、同一の値となる。従って、閾値Intra_Boundary_ADと、閾値NoMC_Boundary_ADとのうちの値の小さい方は、必ずAD0より小さいか、同一の値となる。すなわち、図5を用いて説明した処理により、差分の絶対値和ADの最小値MinADの値を小さな値に設定することが可能となり、図3を用いて説明した動き探索処理のうち、イントラマクロブロック、もしくは動き補償を行わないマクロブロックと判定される部分のマッチング処理(ステップS5乃至ステップS7の処理)を省略することができるので、計算処理量を削減することが可能となる。
【0058】
次に、図6のフローチャートを参照して、図3のステップS10において実行されるブロックタイプ判断および動きベクトル出力処理について説明する。
【0059】
ステップS41において、CPU11は、RAM16に記憶されているMinAD0_fiagの値と、差分の絶対値和ADの最小値MinADの値を参照し、MinAD0_fiag=1、すなわち、MinADの初期値は、Intra_Boundary_ADであり、かつ、探索範囲内の全ての探索処理が終了した後のMinADの値がIntra_Boundary_ADと等しいか否かを判断する。
【0060】
ステップS41において、MinAD0_fiag=1かつMinAD=Intra_Boundary_ADであると判断された場合、ステップS42において、CPU11は、処理中のマクロブロックは、他に参照画像を持たないイントラマクロブロックであるとして、処理を終了する。
【0061】
ステップS41において、MinAD0_fiag=1かつMinAD=Intra_Boundary_ADではないと判断された場合、ステップS43において、CPU11は、RAM16に記憶されているMinAD0_fiagの値と、差分の絶対値和ADの最小値MinADの値を参照し、MinAD0_fiag=2、すなわち、MinADの初期値がNoMC_Boundary_ADであり、かつ、探索範囲内の全ての探索処理が終了した後のMinADの値がNoMC_Boundary_ADと等しいか否かを判断する。
【0062】
ステップS43において、MinAD0_fiag=2かつMinAD=NoMC_Boundary_ADであると判断された場合、ステップS44において、CPU11は、処理中のマクロブロックは、動き補償無しマクロブロックであるとして、処理を終了する。
【0063】
ステップS43において、MinAD0_fiag=2かつMinAD=NoMC_Boundary_ADではないと判断された場合、処理中のマクロブロックは、参照画像を用いて符号化処理を行うインターマクロブロックであり、かつ、動き補償ありのマクロブロックであるから、ステップS45において、CPU11は、カレントマクロブロックから、差分の絶対値和ADの最小値MinADをあたえた参照マクロブロックへの移動量を基に、動きベクトルMV(x,y)を求め、その値を出力して、処理を終了する。
【0064】
以上説明した処理により求められたマクロブロックタイプ、もしくは動きベクトルは、マクロブロックの符号化に用いられる(続いて行われるマクロブロックの符号化処理に対して、これらの結果が出力される)。
【0065】
マクロブロックが16×16画素で構成され、S×Sの探索範囲内において動きベクトルを探索する場合について、従来の処理により実行される計算量と本発明を適応した場合に実行される処理により実行される計算量とを比較する。
【0066】
従来の計算方法によって、カレント画像のマクロブロックと、参照画像のマクロブロックとの差分の絶対値和ADを求める場合、カレントマクロブロックと、参照マクロブロックにおいて、256個の画素毎に画素値の差を求め、それぞれの絶対値を取り、更に256の値の和を計算しなければならない。そして、動きベクトルを探索するためには、更に、この演算をS×Sの探索範囲内の全てにおいて実施する必要がある。従って、従来の方法による計算量T1は、次の式(4)で示される。
【0067】
T1=(256(減算)+256(絶対値演算)+256(加算))×S×S・・・(4)
【0068】
これに対して、本発明を適応した計算方法によれば、差分の絶対値和ADを算出する前に、まず、ステップS1において、カレント画像のマクロブロックの256個の画素値の和が算出され、ステップS2において、最初の参照画像のマクロブロックの256個の画素値の和が算出される。そして、探索範囲内の全てのマクロブロック(S×S個)において、ステップS4が実行される。すなわち、1回の減算、1回の絶対値計算および1回の比較計算がS×S回実行される。
【0069】
そして、ステップS4の比較結果に基づいて、ステップS5の差分の絶対値和ADの算出処理が実行される。この処理は、上述したように、カレントマクロブロックと、参照マクロブロックにおいて、256個の画素毎に画素値の差を求め、それぞれの絶対値を取り、更に256の値の和を計算する必要がある。ここで、ステップS4において、式(3)が成立したと判断され、ステップS5が実行される回数をa(0<a<S×S)とする。
【0070】
そして、ステップS8において、全ての探索範囲の処理が終了したと判断されるまで、すなわち、S×S回、ステップS9の処理が実行され、次の探索位置の参照マクロブロックのΣr(i,j)を求めるために、前の参照マクロブロックからずれた16画素それぞれの減算処理および加算処理が行われる。
【0071】
従って、本発明を適応した場合の計算量T2は、次の式(5)で示される。
【0072】
【0073】
そして、上述した式(4)と式(5)を比較して、式(5)の演算量のほうが少なければ、本発明を利用した動き探索処理の演算量は従来における演算量よりも少ないといえる。本発明においては、図4を用いて説明しているように、参照マクロブロックをらせん状にサーチし、図5のフローチャートを用いて説明したように、MinADの初期値をできるだけ小さい値に設定するようにしているので、図3のステップS5の処理回数、すなわち、式(5)におけるaの値は、非常に小さくなる。従って、本発明を利用した動き探索処理の演算量は従来における演算量よりも少ないといえる。
【0074】
本発明を適応した場合、圧縮処理を実行する画像の内容にもよるが、差分の絶対値和ADの最小値MinADの初期値として小さな値があたえられ、更に、参照マクロブロックを、カレントマクロブロックに対してらせん状にサーチするようにしたので、最終的なMinADが早い段階で得られる可能性が高くなるとともに、カレントマクロブロックと参照マクロブロックとのマッチング処理の実行回数が削減される。本発明は、探索範囲が広く設定されているような動き探索処理の演算回数を削減するのに、特に有効である。
【0075】
上述した処理においては、MPEG4を用いて動画像データを圧縮する場合について説明したが、本発明は、MPEG4のみならず、MPEGによる画像圧縮処理全体に対して適応することが可能である。
【0076】
また、本実施の形態においては、パーソナルコンピュータ1の処理として説明したが、本発明は、例えば、PDA、携帯型電話機、画像記録再生装置など、画像処理を実行することができる全ての装置において適応することが可能である。
【0077】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0078】
この記録媒体は、図1に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク21(フレキシブルディスクを含む)、光ディスク22(CD−ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク23(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ24などよりなるパッケージメディアなどにより構成される。
【0079】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0080】
【発明の効果】
本発明によれば、MPEGを用いて動画像データを圧縮する場合の動き探索処理を行うことができ、その場合に、動き探索処理のための演算量を減少することができる。
【図面の簡単な説明】
【図1】パーソナルコンピュータ1の構成を示すブロック図である。
【図2】マクロブロック、探索範囲、および動きベクトルを説明する図である。
【図3】本発明を適応した動き探索処理を説明するフローチャートである。
【図4】動き探索処理において、らせん状に画像を探索することを説明する図である。
【図5】図3のステップS3におけるMinAD初期値計算処理を説明するフローチャートである。
【図6】図3のステップS10におけるブロックタイプ判断および動きベクトル出力処理を説明するフローチャートである。
【符号の説明】
1 パーソナルコンピュータ, 11 CPU, 16 RAM, 18 HDD, 20 ネットワークインターフェース
Claims (6)
- MPEGを用いて画像データを圧縮する情報処理装置において、
前記画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックを抽出する抽出手段と、
前記第1のブロックの各画素の画素値の和と、前記抽出手段により抽出された前記第2のブロックの各画素の画素値の和との差の絶対値である第1の値を演算する第1の演算手段と、
前記第1の演算手段により演算された前記第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、小さいものを設定する第1の設定手段と、
前記第1の演算手段により演算された前記第1の値と、前記第2の値とを比較する第1の比較手段と、
前記第1の比較手段により、前記第1の値が、前記第2の値より小さいと判断された場合、前記第1のブロックの各画素と、前記第2のブロックの各画素の差分の絶対値和である第3の値を演算する第2の演算手段と、
前記第2の値と、前記第2の演算手段により演算された前記第3の値を比較し、前記第3の値の方が小さかった場合、前記第2の値として、前記第3の値を再設定する第2の設定手段と
を備え、
前記抽出手段は、予め定められた探索範囲内の全ての前記第2のブロックを順次抽出する
ことを特徴とする情報処理装置。 - 前記抽出手段は、前記探索範囲内において、前記第1のブロックを中心としたらせん状に、前記第2のブロックを抽出する位置を移動する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記抽出手段により抽出された全ての前記第2のブロックに対する処理の終了後の前記第2の値を用いて、前記第1のブロックのブロックタイプを判定するか、もしくは、前記第1のブロックの符号化を実行するために用いる動きベクトルを演算して、その結果を出力する出力手段
を更に備えることを特徴とする請求項1に記載の情報処理装置。 - MPEGを用いて画像データを圧縮する情報処理装置の情報処理方法において、
前記画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックを抽出する抽出ステップと、
前記第1のブロックの各画素の画素値の和と、前記抽出ステップの処理により抽出された前記第2のブロックの各画素の画素値の和との差の絶対値である第1の値を演算する第1の演算ステップと、
前記第1の演算ステップの処理により演算された前記第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、小さいものを設定する第1の設定ステップと、
前記第1の演算ステップの処理により演算された前記第1の値と、前記第2の値とを比較する第1の比較ステップと、
前記第1の比較ステップの処理により、前記第1の値が、前記第2の値より小さいと判断された場合、前記第1のブロックの各画素と、前記第2のブロックの各画素の差分の絶対値和である第3の値を演算する第2の演算ステップと、
前記第2の値と、前記第2の演算ステップの処理により演算された前記第3の値を比較し、前記第3の値の方が小さかった場合、前記第2の値として、前記第3の値を再設定する第2の設定ステップと
を含み、
前記抽出ステップの処理では、予め定められた探索範囲内の全ての前記第2のブロックを順次抽出する
ことを特徴とする情報処理方法。 - MPEGを用いて画像データを圧縮する情報処理装置用のプログラムであって、
前記画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックを抽出する抽出ステップと、
前記第1のブロックの各画素の画素値の和と、前記抽出ステップの処理により抽出された前記第2のブロックの各画素の画素値の和との差の絶対値である第1の値を演算する第1の演算ステップと、
前記第1の演算ステップの処理により演算された前記第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、小さいものを設定する第1の設定ステップと、
前記第1の演算ステップの処理により演算された前記第1の値と、前記第2の値とを比較する第1の比較ステップと、
前記第1の比較ステップの処理により、前記第1の値が、前記第2の値より小さいと判断された場合、前記第1のブロックの各画素と、前記第2のブロックの各画素の差分の絶対値和である第3の値を演算する第2の演算ステップと、
前記第2の値と、前記第2の演算ステップの処理により演算された前記第3の値を比較し、前記第3の値の方が小さかった場合、前記第2の値として、前記第3の値を再設定する第2の設定ステップと
を含み、
前記抽出ステップの処理では、予め定められた探索範囲内の全ての前記第2のブロックを順次抽出する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - MPEGを用いて画像データを圧縮する情報処理装置を制御するコンピュータが実行可能なプログラムであって、
前記画像データのうちの所定の数の画素からなる第1のブロックに対する参照ブロックである第2のブロックを抽出する抽出ステップと、
前記第1のブロックの各画素の画素値の和と、前記抽出ステップの処理により抽出された前記第2のブロックの各画素の画素値の和との差の絶対値である第1の値を演算する第1の演算ステップと、
前記第1の演算ステップの処理により演算された前記第1の値と比較する第2の値の初期値として、動き補償の有無を判断するための第1の閾値と、前記第1のブロックが参照ブロックを用いて符号化するブロックであるか否かを判断するための第2の閾値とのうち、小さいものを設定する第1の設定ステップと、
前記第1の演算ステップの処理により演算された前記第1の値と、前記第2の値とを比較する第1の比較ステップと、
前記第1の比較ステップの処理により、前記第1の値が、前記第2の値より小さいと判断された場合、前記第1のブロックの各画素と、前記第2のブロックの各画素の差分の絶対値和である第3の値を演算する第2の演算ステップと、
前記第2の値と、前記第2の演算ステップの処理により演算された前記第3の値を比較し、前記第3の値の方が小さかった場合、前記第2の値として、前記第3の値を再設定する第2の設定ステップと
を含み、
前記抽出ステップの処理では、予め定められた探索範囲内の全ての前記第2のブロックを順次抽出する
ことを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002001290A JP3968774B2 (ja) | 2002-01-08 | 2002-01-08 | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
US10/336,961 US20030152150A1 (en) | 2002-01-08 | 2003-01-06 | Information processing apparatus and method, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002001290A JP3968774B2 (ja) | 2002-01-08 | 2002-01-08 | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003204548A JP2003204548A (ja) | 2003-07-18 |
JP3968774B2 true JP3968774B2 (ja) | 2007-08-29 |
Family
ID=27641455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002001290A Expired - Fee Related JP3968774B2 (ja) | 2002-01-08 | 2002-01-08 | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030152150A1 (ja) |
JP (1) | JP3968774B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100987765B1 (ko) * | 2003-09-30 | 2010-10-13 | 삼성전자주식회사 | 동영상 부호화기에서의 예측 수행 방법 및 장치 |
US20050254716A1 (en) * | 2004-05-11 | 2005-11-17 | Princeton Technology Corporation | Method for compressing workload of digital-animation calculation |
US7706442B2 (en) * | 2005-02-15 | 2010-04-27 | Industrial Technology Research Institute | Method for coding mode selection of intra prediction in video compression |
JP4906458B2 (ja) * | 2006-09-29 | 2012-03-28 | キヤノン株式会社 | 画像符号化装置、画像符号化方法 |
US8270490B2 (en) | 2006-07-06 | 2012-09-18 | Canon Kabushiki Kaisha | Motion vector detection apparatus, motion vector detection method, image encoding apparatus, image encoding method, and computer program |
JP4445989B2 (ja) * | 2007-09-10 | 2010-04-07 | Necアクセステクニカ株式会社 | 端部検出装置及び端部検出方法 |
US20100104022A1 (en) * | 2008-10-24 | 2010-04-29 | Chanchal Chatterjee | Method and apparatus for video processing using macroblock mode refinement |
US20100118982A1 (en) * | 2008-10-24 | 2010-05-13 | Chanchal Chatterjee | Method and apparatus for transrating compressed digital video |
US20100104015A1 (en) * | 2008-10-24 | 2010-04-29 | Chanchal Chatterjee | Method and apparatus for transrating compressed digital video |
CN102308586B (zh) * | 2009-02-06 | 2015-03-25 | 汤姆森特许公司 | 用于视频编码器和解码器隐式和半隐式帧内模式信令的方法和装置 |
US8811485B1 (en) * | 2009-05-12 | 2014-08-19 | Accumulus Technologies Inc. | System for generating difference measurements in a video processor |
US8705623B2 (en) * | 2009-10-02 | 2014-04-22 | Texas Instruments Incorporated | Line-based compression for digital image data |
US9628795B2 (en) * | 2013-07-17 | 2017-04-18 | Qualcomm Incorporated | Block identification using disparity vector in video coding |
CN109961519A (zh) * | 2017-12-26 | 2019-07-02 | ***通信集团辽宁有限公司 | 移动增强现实的实现方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6310983B1 (en) * | 1998-06-16 | 2001-10-30 | Xerox Corporation | Efficient search for a gray-level pattern in an image using ranges of sums |
JP4027513B2 (ja) * | 1998-09-29 | 2007-12-26 | 株式会社ルネサステクノロジ | 動き検出装置 |
KR100727910B1 (ko) * | 2000-10-11 | 2007-06-13 | 삼성전자주식회사 | 하이브리드형 고속 움직임 추정 방법 및 그 장치 |
-
2002
- 2002-01-08 JP JP2002001290A patent/JP3968774B2/ja not_active Expired - Fee Related
-
2003
- 2003-01-06 US US10/336,961 patent/US20030152150A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2003204548A (ja) | 2003-07-18 |
US20030152150A1 (en) | 2003-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4536325B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
KR100955152B1 (ko) | 비디오 인코딩을 위한 다차원 인접 블록 예측 | |
JP3968774B2 (ja) | 情報処理装置および情報処理方法、記録媒体、並びにプログラム | |
US9571831B2 (en) | Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program | |
JP4528441B2 (ja) | ブロック整合法及び統合投射法を用いた階層的動き評価処理及び装置 | |
JP5406222B2 (ja) | 連続的な動き推定を利用した映像符号化並びに復号化方法及び装置 | |
US20110200107A1 (en) | Apparatus and method for motion estimation and image processing apparatus | |
US20110200098A1 (en) | Video encoding/decoding apparatus and adaptive overlapped block motion compensation method and apparatus employing adaptive weights therefor | |
TWI722842B (zh) | 影像預測解碼方法 | |
JP2003519989A (ja) | 隣接マクロブロックを用いた動き推定方法及び装置 | |
JPH1169358A (ja) | 動画像の動きベクトル予測方法 | |
CN112203085B (zh) | 图像处理方法、装置、终端和存储介质 | |
KR20090014371A (ko) | 움직임 검출 장치 | |
US20050089232A1 (en) | Method of video compression that accommodates scene changes | |
CN112203086B (zh) | 图像处理方法、装置、终端和存储介质 | |
CN110557642A (zh) | 一种视频帧编码运动搜索方法及图像编码器 | |
US9615091B2 (en) | Motion picture encoding/decoding apparatus, and method and apparatus for hybrid block motion compensation/overlapped block motion compensation for same | |
JP2009111647A (ja) | 動きベクトル検出装置および動きベクトル検出方法 | |
WO2005079075A1 (en) | A method for encoding of decoding video data and an apparatus thereof | |
JPH11346368A (ja) | 画像処理方法,画像処理装置,及びデ―タ記憶媒体 | |
KR20060109440A (ko) | 전력 최적화 콜로케이팅된 움직임 추정 방법 | |
JP2000350209A (ja) | リアルタイム動映像符号化のための高速動き推定方法及びその装置 | |
KR20050027247A (ko) | 정보 신호 처리 장치, 정보 신호 처리 방법, 화상 신호처리 장치 및 화상 표시 장치, 그것에 사용되는 보정데이터의 생성 장치 및 생성 방법, 계수 데이터의 생성장치 및 생성 방법, 및 각 방법을 실행하기 위한 프로그램및 그 프로그램을 기록한 컴퓨터 판독 가능한 매체 | |
WO2022021310A1 (zh) | 编码方法、装置、计算处理设备、计算机程序及存储介质 | |
JP5038400B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070329 |
|
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: 20070514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070527 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |