JP2000278696A - 動画圧縮符号化装置、動画圧縮符号化方法、及び記憶媒体 - Google Patents

動画圧縮符号化装置、動画圧縮符号化方法、及び記憶媒体

Info

Publication number
JP2000278696A
JP2000278696A JP7831899A JP7831899A JP2000278696A JP 2000278696 A JP2000278696 A JP 2000278696A JP 7831899 A JP7831899 A JP 7831899A JP 7831899 A JP7831899 A JP 7831899A JP 2000278696 A JP2000278696 A JP 2000278696A
Authority
JP
Japan
Prior art keywords
pixel
block
motion detection
integer
error
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
JP7831899A
Other languages
English (en)
Inventor
Takeshi Kasahara
毅 笠原
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP7831899A priority Critical patent/JP2000278696A/ja
Publication of JP2000278696A publication Critical patent/JP2000278696A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

(57)【要約】 【課題】 本発明の課題はフレーム間の予測符号化にお
ける半画素精度の動き検出に関する冗長な処理を排除
し、その処理効率を向上することにより、動画像データ
の高速な符号化を実現する動画圧縮符号化装置、動画圧
縮符号化方法、及び記憶媒体を提供することである。 【解決手段】 動き検出を行う際、半画素単位の動き検
出を行うことにより動き補償が改善される可能性がある
か否かを判断し、改善される可能性がない場合は半画素
単位の動き検出を省略することで、動き検出における冗
長な処理を排除し、動画像の高速な符号化処理を実現す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、動画圧縮符号化装
置、動画圧縮符号化方法、及び記憶媒体に係り、詳細に
は、動画像データの高速な符号化を可能とする動画圧縮
符号化装置、動画圧縮符号化方法、及び記憶媒体に関す
る。
【0002】
【従来の技術】近時、マルチメディア関連の画像符号化
の国際標準化が急速に進められている。例えば、静止画
符号化標準であるJPEG(Joint Photographic Exper
ts Group)、動画の通信メディア用符号化標準である
H.263、動画の蓄積メディア用符号化標準であるM
PEG(Moving Picture Experts Group)等が挙げられ
る。これら各符号化方式には、それぞれの目的に合わせ
たビットレート(伝送速度)を実現する符号化アルゴリ
ズムが採用されている。
【0003】例えば、上述のJPEGは、ハフマン符号
化とDCT(Discrete Cosine Transform;離散コサイ
ン変換)とを基本とした方式により色データの間引きを
行う。一方、H.263やMPEGをはじめとする、近
年標準化が進んだ動画像圧縮符号化方式には、空間的情
報量削減にJPEGと同様にDCTを用い、時間的情報
量削減にはMC(Motion Compensation;動き補償)を
用いる、MC+DCTハイブリット方式を採用している
ものが大部分である。
【0004】DCTは、フーリエ変換の一種で、2次元
の画像を2次元の周波数に変換することで、人間の目に
つきやすい低周波成分と、識別しにくい高周波成分に分
離でき、また、情報を遍在させることができる。8×8
の2次元DCTの変換式を数式(1)に、その逆変換I
DCTの変換式を数式(2)に示す。
【0005】
【数1】
【0006】
【数2】
【0007】ここで、C(u)=1/√2 (u=0) C(u)=1 (u≠0) C(v)=1/√2 (v=0) C(v)=1 (v≠0) IDCT(i,j):画素値 DCT(u,v):DCT係数 とする。
【0008】MCは、入力画像を16×16画素の正方
領域であるマクロブロック単位に参照画像内の所定のサ
ーチ範囲を探索して前記マクロブロックとの誤差が最小
となるブロックを検出し、その動き分を補償して行われ
るフレーム間予測である。検出した参照画像内の誤差の
最小となるブロックの水平方向及び垂直方向の移動量を
表すベクトルを動きベクトルという。
【0009】フレーム間予測符号化は、入力画像と参照
画像との差分を符号化する方法で、デコーダ側では符号
から差分データに戻した後、参照画像に加算して新しい
画像とする。一般的に連続した動画では、前後の画像と
注目している画像とはよく似ていることから、符号化し
ようとしている画像と、Pピクチャ(前方予測画像)で
は時間的に前方の画像との差分を、またBピクチャ(両
方向予測画像)では時間的に前方、後方もしくは前方と
後方とから作られた補完画像との差分をとり、その差分
値を符号化して伝送することにより、時間軸方向の冗長
度を減らし、伝送する情報量を少なくしている。
【0010】次に図13を参照して、動きベクトルサー
チを説明する。図13は動きベクトルサーチの概念を説
明するための図である。動きベクトルサーチは、参照画
像の所定のサーチ範囲において、入力画像のマクロブロ
ック単位に動きベクトルを算出することをいう。動きベ
クトルによる予測方法には、順方向予測(過去の画像か
らの予測)、逆方向予測(未来の画像からの予測)、双
方向予測(過去、未来の画像からの予測)の三つのタイ
プがある。三つのタイプには、予測無しのIピクチャ
(Intra Picture)、順方向予測のPピクチャ(Predict
ive Picture)、双方向予測のBピクチャ(Bidirectio
nary Predictive Picture)がある。また、参照画像を
時間的に離れた画像とする場合には、予測のフレーム間
隔を表すためにエフ・コード(f code)が用いられる。
エフ・コードは2の累乗のフレーム間隔を表すコードで
ある。
【0011】図13において、currは時刻t2に入
力されるこれから符号化するフレームであり、pred
は時刻t1に入力され、既に符号化されている参照フレ
ームである。符号化しようとするcurr内のマクロブ
ロックYに対して、pred内の所定のサーチ範囲R内
からマクロブロックYに最もよく近似したブロックXを
探索して、ブロックXとマクロブロックYとの相対位置
を表す動きベクトルVを算出することをME(Motion E
stimation;動き推定)という。MEにより検出された
動きベクトルVからブロックXを参照してマクロブロッ
クYの動きが予測される。
【0012】MC+DCTハイブリット方式では、符号
化中の画像currと動きベクトルVにより動き補償
(MC)した予測画像との差分を計算し、この差分につ
いてDCTにより符号化処理を行う。
【0013】更に、MPEG1などの標準では、参照画
像predを線形補完して解像度を倍にすることによ
り、より高度な動き推定を行い、検出された半画素単位
の動きベクトルにより動き補償を行うハーフペルMC
(Half Pel Motion Compensation)が採用されている。
ハーフペルMCは、符号化効率を高め、ブロック境界を
スムーズにする働きをする。
【0014】予測符号化にハーフペルMCを採用する際
の動きベクトルサーチは、そのサーチ範囲を通常の整数
位置の画素におけるサーチに加え、半画素位置の画素に
おけるサーチを行うものである。したがって、ハーフペ
ルMCにおいて検出される動きベクトルには、整数画素
単位の動きベクトルと半画素単位の動きベクトルとがあ
る。
【0015】図14は、整数画素Fと線形補完された半
画素Hとを示す図である。線形補完された画素を半画素
H、元の画素を整数画素Fとする。線形補完された半画
素Hの画素値H1〜H5を以下の数式(3)〜(7)に
示す。数式(3)〜(7)において、F1〜F4は整数
画素の画素値を示し、記号「//」は、丸めつき平均を示
す。
【0016】
【数3】
【0017】
【数4】
【0018】
【数5】
【0019】
【数6】
【0020】
【数7】
【0021】一般に動きベクトルサーチには、各ブロッ
クに含まれる画素についての誤差の算出、比較といった
莫大な処理を要する。さらに、ハーフペルMCを用いて
予測符号化を行う場合は、整数画素に対するサーチ処理
のみならず、線形補完した半画素に対する画素値の算出
や半画素ブロックについての誤差計算といったサーチ処
理が加わるため、高詳細な動き検出を実現する一方で、
より多くの処理量を必要とする。
【0022】
【発明が解決しようとする課題】しかしながら、従来の
ハーフぺルMCでは、各ブロックについての動きベクト
ルをサーチする際に、サーチ対象となるすべての半画素
について画素値を求め、誤差を求めることにより動きベ
クトルを探索している。しかしながら、各半画素ブロッ
クはその大半の半画素が他の半画素ブロックに重なって
いるにも関わらず、重なり部分の半画素の画素値を繰り
返し計算して動きベクトルを探索しているため、その処
理に冗長な部分が見られた。
【0023】また、半画素ブロックよりも整数画素ブロ
ックの方がよりよく入力画像を近似する場合にも、半画
素ブロックについて動き検出を行っていたため、結果的
に半画素単位の動きベクトルサーチの結果が利用されな
いような場合が存在し、半画素単位の動きベクトルサー
チに費やした処理や時間を無駄にしてしまうという問題
があった。
【0024】本発明の課題は、上述の問題に鑑み、フレ
ーム間の予測符号化における半画素精度の動き検出に関
する冗長な処理を排除し、その処理効率を向上すること
により、動画像データの高速な符号化を実現する動画圧
縮符号化装置、動画圧縮符号化方法、及び記憶媒体を提
供することである。
【0025】
【課題を解決するための手段】請求項1記載の発明は、
時間的に異なるフレームを構成する整数画素ブロックま
たは半画素ブロックを参照して現フレームの各ブロック
について整数画素単位または半画素単位に動き検出を行
うことにより動画像データの動き補償を行って符号化す
る動画圧縮符号化装置において、半画素単位の動き検出
を行った場合に動き補償が改善される可能性があるか否
かを判断する判断手段と、前記判断手段により動き補償
が改善される可能性があると判断された場合に、半画素
単位の動き検出を行う半画素単位動き検出手段と、を備
えたことを特徴としている。
【0026】この請求項1記載の発明の動画圧縮符号化
装置によれば、時間的に異なるフレームを構成する整数
画素ブロックまたは半画素ブロックを参照して現フレー
ムの各ブロックについて整数画素単位または半画素単位
に動き検出を行うことにより動画像データの動き補償を
行って符号化する動画圧縮符号化装置において、半画素
単位の動き検出を行った場合に動き補償が改善される可
能性があるか否かを判断し、動き補償が改善される可能
性があると判断された場合に、半画素単位の動き検出を
行う。
【0027】したがって、半画素単位の動き検出を行っ
た場合の動き補償の改善の可能性を判断し、改善が見込
まれない場合には、半画素単位の動き検出を省略するこ
とができ、半画素ブロックよりも整数画素ブロックの方
がよりよく現フレームのブロックを近似するような場合
は、半画素単位の動き検出に費やされる冗長な時間を排
除することができ、動画像データの符号化処理を効率よ
く、かつ高速に行うことができる。
【0028】また請求項2記載の発明のように、請求項
1記載の発明の動画圧縮符号化装置において、前記整数
画素ブロックと前記現フレームのブロックとの誤差を算
出する誤差算出手段と、この誤差算出手段により算出さ
れた誤差が最小となる整数画素ブロックの周囲の各整数
画素ブロックについての誤差の平均値を算出する平均値
算出手段と、この平均値算出手段により算出された誤差
の平均値と、前記誤差算出手段により算出された誤差の
最小値とを比較して比較値を算出する比較値算出手段
と、を更に備え、前記判断手段は、この比較値算出手段
により算出された比較値と所定の閾値との大小を判断す
ることにより、半画素単位の動き検出を行った場合に動
き補償が改善される可能性があるか否かを判断すること
が有効である。
【0029】この請求項2記載の発明の動画圧縮符号化
装置によれば、請求項1記載の発明の効果に加え、整数
画素単位の動き検出の過程において求められる整数画素
ブロックについての誤差から、誤差が最小となる整数画
素ブロックの周囲の各整数画素ブロックについての誤差
の平均値を算出し、この算出された平均値と、誤差の最
小値とを比較して比較値を算出し、比較値と所定の閾値
との大小を判断することにより半画素単位の動き検出を
行った場合に動き補償が改善される可能性があるか否か
を判断するので、その判断に要する処理を効率よく行う
ことができるとともに、その処理量は半画素単位の動き
検出に伴う処理と比較して大幅に少ないので、動画像デ
ータの符号化処理を効率よく、かつ高速に行うことが可
能となる。
【0030】請求項3記載の発明は、時間的に異なるフ
レームを構成する整数画素ブロックまたは半画素ブロッ
クを参照して現フレームの各ブロックについて整数画素
単位または半画素単位に動き検出を行うことにより動画
像データの動き補償を行って符号化する動画圧縮符号化
装置において、半画素の画素値を算出する画素値算出手
段と、この画素値算出手段により算出された半画素の画
素値を記憶する記憶手段と、この記憶手段に記憶された
半画素の画素値を参照することにより、半画素単位の動
き検出を行う半画素単位動き検出手段と、を備えたこと
を特徴としている。
【0031】この請求項3記載の発明の動画圧縮符号化
装置によれば、時間的に異なるフレームを構成する整数
画素ブロックまたは半画素ブロックを参照して現フレー
ムの各ブロックについて整数画素単位または半画素単位
に動き検出を行うことにより動画像データの動き補償を
行って符号化する動画圧縮符号化装置において、半画素
の画素値を算出し、算出された半画素の画素値を記憶手
段に記憶し、この記憶手段に記憶された半画素の画素値
を参照することにより、半画素単位の動き検出を行う。
【0032】したがって、半画素の画素値を繰り返し算
出せずに、記憶された半画素の画素値を参照することに
より、半画素単位の動き検出を行うので、半画素の画素
値を重複して算出するという冗長な処理を排除すること
ができ、半画素単位の動き検出における処理量を大幅に
削減することができ、動画像データの符号化処理を効率
よく、かつ高速に行うことができる。
【0033】また請求項4記載の発明にように、請求項
3記載の発明の動画圧縮符号化装置において、前記画素
値算出手段は、前記整数画素ブロックと前記現フレーム
のブロックとの誤差が最小となる整数画素ブロックの周
囲の各半画素ブロックに含まれる半画素の画素値を算出
することが有効である。
【0034】この請求項4記載の発明の動画圧縮符号化
装置によれば、請求項3記載の発明の効果に加え、誤差
の最小となる整数画素ブロックの周囲の各半画素ブロッ
クに含まれる半画素はその多くが互いに重なっており、
この重なり部分にある半画素の画素値の重複した計算を
行う必要がなくなるので、冗長な処理をより有効に排除
することができ、動画像データの符号化処理をより効率
よく、かつ高速に行うことができる。
【0035】請求項5記載の発明は、時間的に異なるフ
レームを構成する整数画素ブロックまたは半画素ブロッ
クを参照して現フレームの各ブロックについて整数画素
単位または半画素単位に動き検出を行うことにより動画
像データの動き補償を行って符号化する動画圧縮符号化
装置において、前記半画素ブロックについて半画素単位
の動き検出の結果を推定する推定手段と、この推定手段
により動き検出の結果が妥当と推定される半画素ブロッ
クについて真の動き検出を行う半画素単位動き検出手段
と、を備えたことを特徴としている。
【0036】この請求項5記載の発明の動画圧縮符号化
装置によれば、時間的に異なるフレームを構成する整数
画素ブロックまたは半画素ブロックを参照して現フレー
ムの各ブロックについて整数画素単位または半画素単位
に動き検出を行うことにより動画像データの動き補償を
行って符号化する動画圧縮符号化装置において、前記半
画素ブロックについて半画素単位の動き検出の結果を推
定し、動き検出の結果が妥当と推定される半画素ブロッ
クについて真の動き検出を行う。
【0037】したがって、半画素ブロックについて動き
検出の結果を推定し、推定された結果が動き検出の結果
としてふさわしくない半画素ブロックについては、真の
動き検出を省くことができるので、動き検出の処理量を
削減することが可能となり、動画像データの符号化処理
を効率よく、かつ高速に行うことができる。
【0038】また請求項6記載の発明にように、請求項
5記載の発明の動画圧縮符号化装置において、前記整数
画素ブロックと前記現フレームのブロックとの誤差を算
出する誤差算出手段と、この誤差算出手段により算出さ
れた誤差に基いて、当該誤差が最小となる整数画素ブロ
ックの周囲の各半画素ブロックについて、前記現フレー
ムのブロックとの誤差の推定値を算出する推定値算出手
段と、を更に備え、前記推定手段は、この推定値算出手
段により算出された推定値の大きさを判定することによ
り半画素単位の動き検出の結果を推定し、前記半画素単
位動き検出手段は、前記推定手段により前記推定値が小
さいと判定された半画素ブロックについて、前記現フレ
ームのブロックとの真の誤差を算出することにより真の
動き検出を行うことが有効である。
【0039】この請求項6記載の発明の動画圧縮符号化
装置によれば、請求項5記載の発明の効果に加え、整数
画素単位の動き検出の過程で求められる整数画素ブロッ
クについての誤差に基いて、半画素ブロックについての
誤差の推定値を算出することにより半画素単位の動き検
出の結果を推定するので、半画素単位の動き検出の結果
を効率よく推定できるとともに、この推定に要する処理
量は、すべての半画素ブロックについて真の動き検出を
行った場合と比較して大幅に少なく、高速に行うことが
できるので、動画像データの符号化処理を効率よく高速
に行うことができる。
【0040】
【発明の実施の形態】以下、図1〜図12を参照して本
発明に係る動画圧縮符号化装置の実施の形態を詳細に説
明する。
【0041】[第1の実施の形態]まず、図1〜図7を
参照して、第1の実施の形態における動画圧縮符号化装
置1を説明する。本第1の実施の形態における動画圧縮
符号化装置1は、半画素単位の動きベクトルサーチによ
り動き補償が改善される可能性があるか否かを判断し、
改善される可能性がない場合は半画素単位の動きベクト
ルサーチを省略することで、動きベクトルサーチの処理
量を減ずることにより、高速な動き検出を実現する。
【0042】まず構成を説明する。図1は、動画圧縮符
号化装置1の構成を示すブロック図である。図1に示す
ように、動画圧縮符号化装置1は、制御部2、入力装置
3、表示装置4、RAM(Random Access Memory)5、
記憶装置6、記憶媒体7により構成され、記憶媒体7を
除く各部は、バス8によって接続されている。
【0043】制御部2は、記憶装置6に記憶されている
当該動画圧縮符号化装置1に対応する各種アプリケーシ
ョンプログラムの中から指定されたアプリケーションプ
ログラム、入力装置3から入力される各種指示あるいは
データをRAM5内のワークメモリ5aに格納し、この
入力指示及び入力データに応じてRAM5内に格納した
アプリケーションプログラムに従って各種処理を実行
し、その処理結果をRAM5内のワークメモリ5aに格
納するとともに、表示装置4に表示する。そして、ワー
クメモリ5aに格納した処理結果を入力装置3から入力
指示される記憶装置6内の保存先に保存する。
【0044】また、制御部2は、動画像データを符号化
する処理を行う。図2は、動画像データの符号化処理の
概念図である。以下、動画像データの符号化処理を説明
する。
【0045】1フレームの画像が外部から入力される
と、制御部2は、入力された画像を16×16画素のマ
クロブロックMBに分割する(ブロック化30a)。そ
の後、符号化しようとするマクロブロックMBに対して
予測を行う場合は、マクロブロック単位の動きベクトル
を算出することによりフレーム間の動きを推定する(動
き検出30b)。動き検出により検出された動きベクト
ルと参照画像とに基いて動き補償機能付きの画像メモリ
30jにおいて動き補償して、予測画像を生成する。動
きベクトルは水平及び垂直方向の2成分で表されてお
り、この水平方向成分と垂直方向成分とを符号化した後
(可変長符号化30f)、出力する。
【0046】そして入力画像と前記予測画像との差分を
計算し(差分器30c)、この差分のDCTを計算し
(DCT30d)、更にDCT係数の量子化を行って
(量子化30e)、量子化差分画像を平均的な符号長が
短くなるように符号化した後(可変長符号化30f)、
出力する。
【0047】更に、制御部2は、量子化した差分画像を
逆量子化(逆量子化30g)し、DCT係数のIDCT
を計算し(逆DCT30h)、入力段において差分計算
に用いた予測画像を加える(加算器30i)ことによ
り、次の予測に用いる参照画像を復元するための局部復
号化を行い、画像メモリ30jに保持する。
【0048】上述の動き検出30bにおいて、制御部2
は、後述する第1の動きベクトルサーチ処理(図4参
照)を実行して、入力画像の各マクロブロック単位に動
きベクトルを検出する。本第1の実施の形態において、
動き検出の参照画像は、時間的に隣接する画像であって
も、離れた画像であってもよい。また予測方向は、順方
向、逆方向、双方向の何れでもよく、前後両方の予測に
よる内挿的予測でもよい。内挿的予測とは、順方向予測
と逆方向予測の二つの予測を対応画素間で、(丸め付き)
平均することである。このとき、動きベクトルはマクロ
ブロックに2個付く。
【0049】後述する第1の動きベクトルサーチ処理
(図4参照)において、制御部2は、整数画素単位の動
きベクトルサーチを行い、また半画素単位の動きベクト
ルサーチを実行することにより動き補償が改善される可
能性の有無を判断し、改善される可能性があると判断し
た場合に半画素単位の動きベクトルサーチを行う。その
他の場合は、半画素単位の動きベクトルサーチを行わ
ず、整数画素単位の動きベクトルサーチにより算出した
動きベクトルを動き検出結果とする。
【0050】図3は、第1の動きベクトルサーチ処理の
概念を説明するために各ブロックを模式的に示す図であ
る。図3中、マーク「○」は各整数画素ブロックの左上
に位置する整数画素、マーク「×」は各半画素ブロック
の左上に位置する半画素を示す。以下、図3の説明にお
いてマーク「○」及びマーク「×」により示される画素
をその画素の属するブロックを表すものとする。この図
3において、符号化する入力画像のマクロブロックMB
を最もよく近似する参照画像内の整数画素ブロックをF
BK0とし、この周囲8近傍の整数画素ブロックをFB
K1〜FBK8と示す。また、FBK0に対して線形補
完により求められた半画素ブロックをHBK1〜HBK
8と示す。
【0051】制御部2は、所定のサーチ範囲内におい
て、入力画像のマクロブロックMBの動きを整数画素ブ
ロックについて探索する。即ち、マクロブロックMBと
整数画素ブロックとの絶対値誤差SAD(Sum of Absol
ute Difference)を算出し、絶対値誤差SADが最も小
さくなるブロックFBK0を決定する。サーチ範囲は、
画像の右側を水平の正方向、上側を垂直の正方向とした
場合に、例えば参照画像と予測画像とを水平および垂直
に−16から+15画素ずらした範囲内である。
【0052】さらに制御部2は、このブロックFBK0
の周囲8近傍の整数画素ブロックFBK1〜FBK8の
各絶対値誤差SAD1〜SAD8の平均Aを算出する。
制御部2は、絶対値誤差SAD1〜SAD8の平均Aと
絶対値誤差の最も小さくなるブロックFBK0の絶対値
誤差SAD0とを比較して、その比較値が閾値Θより大
きくなる場合は、ブロックFBK0の周囲の半画素ブロ
ックにおいて入力画像のマクロブロックMBをよりよく
近似するブロックがあり、動き補償が改善される可能性
が有ると判断して、半画素単位の動きベクトルサーチ処
理を更に実行する。
【0053】入力装置3は、カーソルキー、数字入力キ
ー及び各種機能キー等を備えたキーボードとポインティ
ングデバイスであるマウスとを備え、キーボードで押下
されたキーの押下信号を制御部2に出力するとともに、
マウスによる操作信号を制御部2に出力する。
【0054】表示装置4は、CRT(Cathode Ray Tub
e)、液晶表示装置等により構成され、制御部2から入
力される表示制御信号にしたがって、表示データを表示
する。
【0055】RAM5は、ワークメモリ5a、絶対値誤
差メモリ5b、半画素参照画像メモリ5c等の本発明の
動画圧縮符号化装置1の実行する処理に対応した各種デ
ータを格納する領域を有する。
【0056】ワークメモリ5aは、指定されたアプリケ
ーションプログラム、入力指示、入力データ及び処理結
果等を格納する。
【0057】絶対値誤差メモリ5bには、動きベクトル
サーチの際に算出される、参照されるブロックFBKj
又はHBKjとマクロブロックMBとの絶対値誤差SA
Dj(j∈サーチ範囲)が格納される。
【0058】半画素参照画像メモリ5cには、絶対値誤
差SADを最小とする整数画素ブロックFBK0の周囲
の半画素ブロックHBK1〜HBK8に含まれる各半画
素の画素値が格納される。
【0059】記憶装置6は、プログラムやデータ等が予
め記憶されている記憶媒体7を有しており、この記憶媒
体7は磁気的、光学的記録媒体、若しくは半導体メモリ
で構成されている。この記憶媒体7は記憶装置6に固定
的に設けたもの、若しくは着脱自在に装着するものであ
り、この記憶媒体7には当該動画圧縮符号化装置1に対
応する各種アプリケーションプログラムで処理されたデ
ータ等を記憶する。
【0060】また、この記憶媒体7に記憶するプログラ
ム、データ等は、通信回線等を介して接続された他の機
器から受信して記憶する構成にしてもよく、更に、通信
回線等を介して接続された他の機器側に上記記憶媒体7
を備えた記憶装置を設け、この記憶媒体7に記憶されて
いるプログラム、データ等を通信回線を介して使用する
構成にしてもよい。
【0061】次に動作を説明する。図4は、第1の動き
ベクトルサーチ処理の流れを示すフローチャートであ
る。
【0062】まず、制御部2は、入力画像の各マクロブ
ロックMB毎に、復号化された参照画像を予測値とし
て、整数画素単位の動きベクトルサーチを行う(ステッ
プS101)。即ち、マクロブロックMBと参照画像中
のサーチ範囲の各整数画素ブロックとの絶対値誤差SA
Dを求める。
【0063】図5は、整数画素単位の動きベクトルサー
チの概念図である。例として4×4の整数画素位置の画
素からなるブロックを1ブロックとして説明する。ま
た、図5中、マーク「○」は整数画素を示し、整数画素
ブロックFBKのj番目のブロックをFBKj(j∈サ
ーチ範囲)として表す。また、整数画素ブロックFBK
j内に存在するi番目(この例では、i=1〜16)の
整数画素の画素値をFi,jとする。
【0064】動きベクトルを探索する際は、参照画像を
所定画素数のブロックに分割し、各ブロックFBKjに
含まれる各整数画素の画素値Fi,jをマクロブロックM
Bに含まれる対応位置の画素の画素値fiと比較して、
参照画像内の整数画素ブロックFBKjとマクロブロッ
クMBとの絶対値誤差SADjを算出する。
【0065】図6は、絶対値誤差SADj算出の概念図
である。ここで入力画像のマクロブロックMB(この図
6においては、例として4×4画素を1ブロックとして
いる。)は、図6(a)に示すように画素値fi(i=
1〜16)の各画素により構成されており、参照画像の
整数画素ブロックFBKjは、図6(b)に示すように
画素値Fi,j(i=1〜16,j∈サーチ範囲)の各整
数画素により構成されている。また、入力画像のマクロ
ブロックMBと整数画素ブロックFBKjとの絶対値誤
差SADjは、以下の数式(8)に基いて算出される。
【0066】
【数8】
【0067】このように、制御部2は、サーチ範囲内に
おいて入力画像のマクロブロックMBと整数画素ブロッ
クFBKjとの絶対値誤差SADjを求めてRAM5の
絶対値誤差メモリ5bに格納し、最小となる絶対値誤差
SAD0を決定し、また絶対値誤差が最小となるブロッ
クFBK0の周囲8近傍の整数画素ブロックFBK1〜
FBK8の絶対値誤差SAD1〜SAD8をRAM5の
絶対値誤差メモリ5bに格納する。
【0068】図7は整数画素ブロックFBK0とその周
囲8近傍の整数画素ブロックFBK1〜FBK8を示す
図である。各ブロックの右側を水平正方向、上側を垂直
正方向とすると、図7(a)はブロックFBK0に対し
て、水平方向に−1、垂直方向に+1移動したブロック
FBK1を示し、図7(b)はブロックFBK0に対し
て、水平方向の移動はなく垂直方向に+1移動したブロ
ックFBK1を示し、図7(c)はブロックFBK0に
対して、水平方向に+1、垂直方向に+1移動したブロ
ックFBK1を示し、図7(d)はブロックFBK0に
対して、水平方向に−1移動し、垂直方向の移動はない
ブロックFBK4を示し、図7(e)はブロックFBK
0であり、図7(f)はブロックFBK0に対して、水
平方向に+1、垂直方向の移動はないブロックFBK5
を示し、図7(g)はブロックFBK0に対して、水平
方向に−1、垂直方向に−1移動したブロックFBK6
を示し、図7(h)はブロックFBK0に対して、水平
方向に移動はなく、垂直方向に−1移動したブロックF
BK7を示し、図7(i)はブロックFBK0に対し
て、水平方向に+1、垂直方向に−1移動したブロック
FBK8を示す。
【0069】制御部2は、これら周辺8近傍の整数画素
ブロックFBK1〜FBK8について各絶対値誤差SA
D1〜SAD8の平均Aを以下に示す数式(9)に基い
て算出する(ステップS102)。
【0070】
【数9】
【0071】その後、制御部2は絶対値誤差SAD1〜
SAD8の平均Aと絶対値誤差の最小値SAD0との差
をとり、予め設定されている閾値Θとの大小を判断する
(ステップS103)。この閾値Θは、動きベクトルサ
ーチの精度を示すものであり、閾値Θの値が大きく設定
されている場合は、動きベクトルサーチの精度は低く、
閾値Θの値が小さく設定されている場合は、動きベクト
ルサーチの精度は高くなる。
【0072】制御部2は、算出した絶対値誤差の平均A
と絶対値誤差SAD0との差が閾値Θ以下である(|A
−SAD0|≦Θ)と判断した場合(ステップS10
3;No)は、ブロックFBK0がマクロブロックMB
に対して最も誤差が少ないものとして、このブロックF
BK0のマクロブロックMBからの水平方向及び垂直方
向の移動量を求めて動きベクトルを決定し、処理を終了
する。
【0073】絶対値誤差SAD1〜SAD8の平均Aと
絶対値誤差SAD0との差が閾値Θよりも大きい(|A
−SAD0|>Θ)と判断する場合(ステップS10
3;Yes)は、半画素ブロックについて動きベクトル
サーチを行うことにより動き補償が更に改善されると判
断し、半画素単位の動きベクトルサーチを行う(ステッ
プS104)。
【0074】半画素単位の動きベクトルサーチは、絶対
値誤差を最小とする整数画素ブロックFBK0の周囲の
HBK1〜HBK8について行われる(図3参照)。即
ち、制御部2は半画素ブロックHBK1〜HBK8に含
まれるそれぞれ半画素の画素値を算出し、各半画素ブロ
ックについてマクロブロックMBとの絶対値誤差を算出
して、絶対値誤差が最小となる半画素ブロックを決定
し、絶対値誤差が最小となる半画素ブロックのマクロブ
ロックMBの位置との水平方向、及び垂直方向の移動量
を求めて動きベクトルを決定し、半画素単位の動きベク
トルサーチを終了する。
【0075】なお、この半画素単位の動きベクトルサー
チは、後述する第2の実施の形態における半画素単位の
動きベクトルサーチ処理(図8参照)を適用することが
考えられる。半画素単位の動きベクトルサーチを終了す
ると、検出した動きベクトルを動き検出の結果として出
力し、第1の動きベクトルサーチ処理を終了する。
【0076】以上説明したように、第1の実施の形態に
おいて、動画圧縮符号化装置1は、参照画像の整数画素
ブロックについて、入力画像のマクロブロックMBとの
絶対値誤差を算出し、絶対値誤差が最小となるブロック
を決定することにより整数画素単位の動き検出を実行し
た後、当該絶対値誤差を最小とするブロックの近傍の整
数画素ブロックについて絶対値誤差の平均を算出し、当
該絶対値誤差の平均と最小の絶対値誤差とを比較して、
この比較値が所定の閾値よりも大きくなるか否かを判断
することにより、半画素単位の動き検出を行うことによ
る動き補償の改善の可能性の有無を判断し、この判断に
より動き補償が改善される、即ち絶対値誤差の平均と最
小の絶対値誤差との比較値が所定の閾値よりも大きくな
ると判断される場合に、半画素単位の動き検出を続けて
実行する。
【0077】従って、半画素単位の動きベクトルサーチ
を行う前に、半画素単位の動き検出を行うことによる動
き補償の改善の可能性を判断し、改善が見込まれない場
合は、半画素単位の動きベクトルサーチを行わないの
で、動き検出の処理量を削減することができ、高速な動
きベクトルを検出することができる。
【0078】また、整数画素単位の動きベクトルサーチ
の過程において求められるマクロブロックMBと整数画
素ブロックについての絶対値誤差から、誤差が最小とな
る整数画素ブロックFBK0の周囲の各整数画素ブロッ
クFBK1〜FBK8についての誤差の平均値を算出
し、この算出された平均値と、誤差の最小値とを比較し
て比較値を算出し、比較値と所定の閾値Θとの大小を判
断することにより半画素単位の動き検出を行った場合に
動き補償が改善される可能性があるか否かを判断するの
で、その判断に要する処理を効率よく行うことができ
る。更に、判断に要する処理量は、半画素単位の動き検
出を行う場合と比較して大幅に少なく、高速に行うこと
ができるので、動画像データの符号化処理を効率よく、
かつ高速に行うことが可能となる。
【0079】[第2の実施の形態]次に図8〜図9を参
照して、第2の実施の形態における動画圧縮符号化装置
1について詳細に説明する。
【0080】第2の実施の形態に係る動画圧縮符号化装
置1は、半画素単位の動きベクトルサーチにおける半画
素の画素値の繰り返し計算という冗長な処理を排除して
動き検出の高速化を実現する。
【0081】第2の実施の形態に係る動画圧縮符号化装
置1の構成は、第1の実施の形態における動画圧縮符号
化装置1の構成と同様であるのでその説明を省略し、動
画圧縮符号化装置1と同一の各部は同一の符号を付して
説明する。
【0082】第2の実施の形態において、制御部2は、
第1の実施の形態と同様に動画像データを符号化する処
理を行う。この動画像データを符号化する処理(図2参
照)は、第1の実施の形態における処理と同様であるの
で、説明を省略する。
【0083】また、制御部2は、半画素単位の動き検出
を行う際は、後述する半画素単位の動きベクトルサーチ
処理(図8参照)を実行して、入力画像のマクロブロッ
クMB単位に半画素精度で動きベクトルを検出する。動
き検出の参照画像は、第1の実施の形態と同様に、時間
的に隣接する画像であっても離れた画像であってもよ
く、また予測方向は、順方向、逆方向、双方向の何れで
もよく、前後両方の予測による内挿的予測でもよい。
【0084】後述する半画素単位の動きベクトルサーチ
処理(図8参照)において、制御部2は、予め所定範囲
の半画素の画素値を求めてRAM5の半画素参照画像メ
モリ5cに記憶しておき、この記憶されている半画素の
画素値を参照してマクロブロックMBに対する半画素ブ
ロックを生成する。そして制御部2は、半画素ブロック
に含まれる各半画素の画素値を計算するという同一計算
の繰り返しを経ずに、生成した半画素ブロックを用い
て、半画素単位の動きベクトルサーチを行う。
【0085】次に図8、図9を参照して、半画素単位の
動きベクトルサーチを詳細に説明する。図8は、半画素
単位の動きベクトルサーチ処理の流れを示すフローチャ
ートであり、図9は、半画素ブロックに含まれる半画素
の構成を示す図である。
【0086】なお、ここで説明する半画素単位の動きベ
クトルサーチ処理は、ひとつのマクロブロックMBにつ
いて整数画素単位の動きベクトルサーチを実行した後に
絶対値誤差の最小となるブロックFBK0の近傍の範囲
について半画素単位の動きベクトルサーチを行う際に適
用する場合だけでなく、複数のマクロブロックMBに対
する各サーチ範囲について半画素単位の動きベクトルサ
ーチを実行する際に適用してもよい。
【0087】例えば、ひとつのマクロブロックMBにつ
いて整数画素単位の動きベクトルサーチを実行した後に
絶対値誤差の最小となるブロックFBK0の近傍の範囲
について半画素単位の動きベクトルサーチを行う場合
は、第1の実施の形態に示すように、半画素単位の動き
ベクトルサーチを実行する前に絶対値誤差SADを最小
とする整数画素ブロックFBK0の周囲の半画素ブロッ
クHBK1〜HBK8(図3参照)に含まれる各半画素
の画素値を求めてRAM5の半画素参照画像メモリ5c
に記憶しておき、半画素単位の動きベクトルサーチを実
行する際に、半画素の画素値を重複して算出することな
く、前記半画素参照画像メモリ5cに記憶されている画
素値を参照することにより半画素ブロックHBK1〜H
BK8を生成し、動きベクトルサーチを実行する。
【0088】即ち、図3に示すように、整数画素ブロッ
クFBK0の周囲の半画素ブロックとしては、図3中
「×」により模式的に示された半画素ブロックHBK1
〜HBK8が存在する。更に図9に示すように、一つの
半画素ブロックに含まれる半画素としては、整数画素の
上下に存在する半画素(図9(a)中、「□」に示すも
の)、整数画素の左右に存在する半画素(図9(b)
中、「△」に示すもの)、及び上下左右4つの整数画素
の中間に存在する半画素(図9(c)中、「×」に示す
もの)がある。
【0089】一つの整数画素ブロックに含まれる整数画
素の個数を縦n×横n個とすると、上記各半画素の個数
は、上下に存在する半画素にあっては、縦(n+1)×
横n個、左右に存在する半画素にあっては縦n×横(n
+1)個、中間に存在する半画素にあっては、縦(n+
1)×横(n+1)個となる。半画素ブロックHBK1
〜HBK8は互いに重なり合っている。
【0090】まず、制御部2は、整数画素ブロックFB
K0の周囲の半画素ブロックに含まれる半画素のすべて
の画素値を予め算出し、RAM5の半画素参照画像メモ
リ5cに格納する。そして、算出した半画素の画素値か
ら半画素ブロックHBK1〜HBK8を作成する(ステ
ップS201)。
【0091】次いで、制御部2は、半画素ブロックHB
K1〜HBK8について、マクロブロックMBとの絶対
値誤差を算出し、絶対値誤差が最小となるブロックを決
定する(ステップS202)。絶対値誤差が最小となる
ブロックはマクロブロックMBと最も近似するブロック
であるので、この絶対値誤差が最小となる半画素ブロッ
クのマクロブロックMBの位置からの水平方向及び垂直
方向の移動量を求め、動きベクトルとして決定し、処理
を終了する。
【0092】従って、整数画素単位の動きベクトルサー
チを実行した後に絶対値誤差の最小となる整数画素ブロ
ックFBK0の近傍の範囲について半画素単位の動きベ
クトルサーチを行う際に、本第2の実施の形態における
半画素単位の動きベクトルサーチを適用すれば、各半画
素ブロックHBK1〜HBK8の重なった領域の半画素
を重複して算出するという冗長な処理を排除することが
できるので、半画素単位の動きベクトルサーチの処理量
を大幅に削減することができ、動画圧縮符号化装置1の
実行する符号化処理を高速にすることが可能となる。
【0093】また例えば、入力画像を構成する複数のマ
クロブロックMBに対する参照画像中の各サーチ範囲に
ついて半画素単位の動きベクトルサーチを実行する際
に、本第2の実施の形態の動きベクトルサーチを適用す
る場合には、以下のような動作を行う。
【0094】即ち、入力画像のマクロブロックMB1に
対する参照画像のサーチ範囲R1とマクロブロックMB
2に対する参照画像のサーチ範囲R2とが重なっている
とする。制御部2は、まず、サーチ範囲R1において整
数画素単位の動きベクトルサーチを行って、マクロブロ
ックMB1との誤差が最小となる整数画素ブロックFB
K01を決定し、その整数画素ブロックFBK01の周
囲の半画素ブロックHBK1〜HBK8に含まれる半画
素を算出し、RAM5の半画素参照画像メモリ5cに格
納する。そして制御部2は、この半画素参照画像メモリ
5cに格納された半画素を参照して半画素単位の動きベ
クトルサーチを行い、動きベクトルを検出すると、マク
ロブロックMB1に対する動き検出を終了する。
【0095】その後、制御部2はサーチ範囲R2におい
て整数画素単位の動きベクトルサーチを行って、マクロ
ブロックMB2との誤差が最小となる整数画素ブロック
FBK02を決定する。この際、その整数画素ブロック
FBK02の位置がマクロブロックMB1との誤差が最
小となる整数画素ブロックFBK01と重なる場合があ
る。このような場合、制御部2は、整数画素ブロックF
BK02の周囲の半画素ブロックに含まれる半画素を算
出する際に、RAM5の半画素参照画像メモリ5cに既
に格納されている半画素、即ち整数画素ブロックFBK
01の周囲の半画素ブロックに含まれる半画素としてそ
の画素値が算出されているものについては、重複した計
算を行わずに半画素参照画像メモリ5cに記憶されてい
る画素値を参照して半画素単位の動きベクトルサーチを
行い、動きベクトルを検出すると、マクロブロックMB
2に対する動き検出を終了する。
【0096】従って、複数のマクロブロックに対するサ
ーチ範囲について半画素単位の動きベクトルサーチを実
行する際に、本第2の実施の形態の動きベクトルサーチ
を適用することにより、各マクロブロックに対する動き
ベクトルサーチにより既に算出されている半画素の画素
値を参照して、それぞれのマクロブロックの半画素単位
の動きベクトルサーチを行うので、半画素の画素値の計
算量を更に低減することができ、動きベクトルサーチを
より高速に行うことを可能とする。
【0097】以上説明したように、第2の実施の形態に
おいて、制御部2は、予め半画素の画素値を算出し、こ
の算出された半画素の画素値をRAM5の半画素参照画
像メモリ5cに格納し、半画素単位の動きベクトルを探
索する際は、前記半画素参照画像メモリ5cに格納した
半画素の画素値を参照して半画素ブロックを生成し、こ
れらの生成された半画素ブロックの中から、入力画像の
マクロブロックMBを最も良く近似する半画素ブロック
を検出して、この半画素ブロックのマクロブロックMB
の位置からの水平方向及び垂直方向の移動量を求め、動
きベクトルとして決定する。
【0098】更に他のマクロブロックについて半画素単
位の動き検出を行う場合にも、前記半画素参照画像メモ
リ5cに記憶されている半画素の画素値を利用し、前記
半画素参照画像メモリ5cに記憶されていない半画素の
画素値については新たに半画素の画素値を算出して、半
画素参照画像メモリ5cに追加して記憶し、この半画素
参照画像メモリ5cに記憶された半画素の画素値を参照
して、動き検出を行う。
【0099】従って、第2の実施の形態において、整数
画素単位の動きベクトルサーチを実行した後に絶対値誤
差の最小となる整数画素ブロックFBK0の近傍の各半
画素ブロックHBK1〜HBK8の重なった領域の半画
素を重複して算出するという冗長な処理を排除すること
ができるので、半画素単位の動きベクトルサーチの処理
量を大幅に削減することができ、動画圧縮符号化装置1
の実行する符号化処理を効率よく、かつ高速に行うこと
が可能となる。
【0100】また、複数のマクロブロックについて半画
素単位の動きベクトルサーチを行う際に、各マクロブロ
ックに対する動きベクトルサーチにより既に算出され、
記憶されている半画素の画素値を利用して、他のマクロ
ブロックの半画素単位の動きベクトルサーチを行うこと
もできるので、当該他のマクロブロックの半画素単位の
動きベクトルサーチにおける半画素の画素値の計算量を
更に低減することができ、動きベクトルサーチをより高
速に行うことが可能となる。
【0101】[第3の実施の形態]次に図10〜図12
を参照して、第3の実施の形態における動画圧縮符号化
装置10について詳細に説明する。
【0102】この第3の実施の形態において、動画圧縮
符号化装置10は、整数画素単位の動き検出を実行した
後、この整数画素単位の動き検出結果に基づいて、各半
画素ブロックについて動き検出を行った場合の結果を推
定し、動き検出の結果が妥当と推定される半画素ブロッ
クについて真の半画素単位の動き検出を実行すること
で、半画素単位の動き検出の処理量を削減し、高速な動
画像データの符号化処理を実現する。
【0103】まず構成を説明する。図10は、動画圧縮
符号化装置10の構成を示すブロック図である。図10
に示すように、動画圧縮符号化装置10は、制御部1
1、入力装置12、表示装113、RAM14、記憶装
置15、記憶媒体16により構成され、記憶媒体16を
除く各部は、バス17によって接続されている。
【0104】制御部11は、上述の第1又は第2の実施
の形態における動画圧縮符号化装置1の制御部2と同様
に、記憶装置15に記憶されている当該動画圧縮符号化
装置10に対応する各種アプリケーションプログラムの
中から指定されたアプリケーションプログラム、入力装
置12から入力される各種指示あるいはデータをRAM
14内のワークメモリ14aに格納し、この入力指示及
び入力データに応じてRAM14内に格納したアプリケ
ーションプログラムに従って各種処理を実行し、その処
理結果をRAM14内のワークメモリ14aに格納する
とともに、表示装置13に表示する。そして、ワークメ
モリ14aに格納した処理結果を入力装置12から入力
指示される記憶装置15内の保存先に保存する。
【0105】また、制御部11は、動画像データを符号
化する処理を行う。この動画像データを符号化する処理
(図2参照)は、第1の実施の形態における処理と同様
であるので、説明を省略する。そして制御部11は、入
力画像の動き検出を行う際は、後述する第2の動きベク
トルサーチ処理(図12参照)を実行して、入力画像の
マクロブロックMB単位に動きベクトルを検出する。本
第3の実施の形態では、第1及び第2の実施の形態と同
様に、動き検出の参照画像は、時間的に隣接する画像で
あっても離れた画像であってもよく、また予測方向は、
順方向、逆方向、双方向の何れでもよく、前後両方の予
測による内挿的予測でもよい。
【0106】後述する第2の動きベクトルサーチ処理
(図12参照)において、制御部11は整数画素単位の
動きベクトルサーチに加えて、半画素単位の動きベクト
ルサーチを行うが、絶対値誤差を最小とする整数画素ブ
ロックFBK0とその近傍の整数画素ブロックFBK1
〜FBK8の絶対値誤差SAD1〜SAD8とから、ブ
ロックFBK0の周囲の半画素ブロックHBK1〜HB
K8の絶対値誤差の推定値SAD'1〜SAD'8を算出
し、当該推定値が最小となるブロックに関して真の半画
素単位の絶対値誤差SAD'xを算出し、算出された真
の半画素単位の絶対値誤差SAD'xと前記整数画素ブ
ロックFBK0の絶対値誤差SAD0とを比較して、小
さい値をとるブロックについての動きベクトルを採用す
る。
【0107】ここで真の半画素単位の絶対値誤差SA
D'xとは、絶対値誤差を算出しようとする半画素ブロ
ックに含まれる各半画素の画素値を、隣接する整数画素
の画素値から計算により算出し、さらに算出された半画
素の画素値とマクロブロックMBに含まれる画素の画素
値との誤差を算出することにより求められた絶対値誤差
である。また、真の動き検出とは、真の半画素単位の絶
対値誤差SAD'xを算出することにより動きベクトル
を探索することをいう。
【0108】図11は、第2の動きベクトルサーチ処理
の概念を説明するために各ブロックを模式的に示す図で
ある。図11中、マーク「○」は各整数画素ブロックの
左上に位置する整数画素、マーク「×」は各半画素ブロ
ックの左上に位置する半画素を示す。以下、図11の説
明において、マーク「○」及びマーク「×」により示さ
れる画素をその画素の属するブロックを表すものとす
る。また、整数画素ブロックFBK0〜FBK8にそれ
ぞれ対応する絶対値誤差はSAD0〜SAD8と示し、
計算により算出する各半画素ブロックHBK1〜HB8
の絶対値誤差の推定値はSAD'1〜SAD'8と示す。
【0109】この図11に示すように、制御部11は、
整数画素ブロックFBK0の周囲の半画素ブロックHB
K1〜HBK8について絶対値誤差を算出する前に、既
に算出されている整数画素ブロックFBK0〜FBK8
についての絶対値誤差SAD0〜SAD8の値からブロ
ックFBK0の周囲の半画素ブロックHBK1〜HBK
8について絶対値誤差の推定値SAD'1〜SAD'8を
算出し、当該推定値SAD'1〜SAD'8のうち最小値
をとる半画素ブロックについて、真の半画素単位の絶対
値誤差SAD'xを算出し、真の半画素単位の絶対値誤
差SAD'xと整数画素ブロックFBK0についての絶
対値誤差SAD0とを比較して、その比較結果に応じ
て、マクロブロックMBに最も近似するブロックを決定
することにより、動きベクトルを求める。
【0110】RAM14は、ワークメモリ14a、絶対
値誤差メモリ14b等の本第3の実施の形態に係る動画
圧縮符号化装置10の実行する処理に対応した各種デー
タを格納する領域を有する。
【0111】ワークメモリ14aは、指定されたアプリ
ケーションプログラム、入力指示、入力データ及び処理
結果等を格納する。
【0112】絶対値誤差メモリ14bには、動きベクト
ルサーチの際に算出される、参照ブロックFBKj又は
HBKjとマクロブロックMBとの絶対値誤差SADj
(j∈サーチ範囲)、各半画素ブロックの絶対値誤差の
推定値SAD'1〜SAD'8、真の半画素単位の絶対値
誤差SAD'xが記憶される。
【0113】入力装置12、表示装置13、記憶装置1
5、記憶媒体16の各部は、第1の実施の形態における
入力装置3、表示装置4、記憶装置6、記憶媒体7と同
様であるので、説明を省略する。
【0114】次に動作を説明する。図12は、第2の動
きベクトルサーチ処理の流れを示すフローチャートであ
る。
【0115】まず、制御部11は、ブロック化された入
力画像の各マクロブロックMB毎に、復号化された参照
画像を予測値として、マクロブロックMBと参照画像中
の各整数画素ブロックFBKとの絶対値誤差SADを求
め、絶対値誤差SADを最小とするブロックを探索する
(ステップS301)。
【0116】即ち、制御部11は、マクロブロックMB
と整数画素ブロックFBKj(j=1,2,…;j∈サ
ーチ範囲)との絶対誤差SADj(j=1,2,…;j
∈サーチ範囲)を求め、最小となる絶対値誤差を決定
し、この最小となる絶対値誤差をSAD0とする。ま
た、絶対値誤差が最小となる整数画素ブロックをFBK
0として、このブロックFBK0の周囲8近傍の整数画
素ブロックFBK1〜FBK8の絶対値誤差SAD1〜
SAD8をRAM14の絶対値誤差メモリ5bに格納す
る。
【0117】次いで、制御部11は、絶対値誤差が最小
となるブロックFBK0の周囲の半画素ブロックHBK
1〜HBK8について、以下に示す数式(10)〜(1
7)に基いて、絶対値誤差の推定値SAD'1〜SAD'
8を算出し(ステップS302)、算出した絶対値誤差
の推定値SAD'1〜SAD'8をRAM14の絶対値誤
差メモリ14bに格納する。
【0118】
【数10】
【0119】
【数11】
【0120】
【数12】
【0121】
【数13】
【0122】
【数14】
【0123】
【数15】
【0124】
【数16】
【0125】
【数17】
【0126】その後、制御部11は、算出した絶対値誤
差の推定値SAD'1〜SAD'8の最小値を求め、この
最小となる推定値に対応する半画素ブロックについて、
真の半画素単位の絶対値誤差SAD'xを算出し(ステ
ップS303)、絶対値誤差メモリ14bに格納する。
【0127】真の半画素単位の絶対値誤差SAD'xの
算出は、まず、最小となる推定値をとる半画素ブロック
に含まれる各半画素の画素値を算出し、各半画素の画素
値HiとマクロブロックMBに含まれる各画素の画素値
fiとの誤差を以下の数式(18)に基いて、算出す
る。
【0128】
【数18】
【0129】ここで、fiはマクロブロックMBに含ま
れる画素の画素値であり、Hiは絶対値誤差の推定値S
AD'の最小値に対応する位置の半画素ブロックに含ま
れる半画素の画素値である。
【0130】その後、制御部11は、算出した真の半画
素単位の絶対値誤差SAD'xと整数画素単位の最小と
なる絶対値SAD0との大小を比較する(ステップS3
04)。真の半画素単位の絶対値誤差SAD'xが整数
画素単位の最小となる絶対値SAD0以上(SAD'x
≧SAD0)となる場合(ステップS304;No)
は、SAD0であるブロックFBK0の動きベクトルを
採用する(ステップS305)。真の半画素単位の絶対
値誤差SAD'xが整数画素単位の最小となる絶対値S
AD0より小さい値(SAD'x<SAD0)である場
合(ステップS304;Yes)は、SAD'xの位置
に対応する半画素ブロックHBKの動きベクトルを採用
する(ステップS306)。
【0131】以上説明したように、第3の実施の形態に
おいて、動画圧縮符号化装置10は、参照画像のサーチ
範囲内の各整数画素ブロックについて、マクロブロック
MBとの絶対値誤差を算出し、絶対値誤差が最小となる
整数画素ブロックFBK0を決定することにより整数画
素単位の動き検出を行った後、決定された整数画素ブロ
ックFBK0の周囲の各半画素ブロックHBK1〜HB
K8の絶対値誤差の推定値SAD'1〜SAD'8を所定
の数式に基いて算出することにより各半画素ブロックに
ついての動き検出の結果を推定し、推定値SAD'1〜
SAD'8の最小値に対応する位置の半画素ブロックに
関して真の半画素単位の絶対値誤差SAD'xを算出す
ることにより真の半画素単位の動き検出を行い、この真
の半画素単位の絶対値誤差SAD'xが最小の絶対値誤
差SAD0より大きくなる場合は、SAD0位置に対応
する動きベクトルを採用し、真の半画素単位の絶対値誤
差SAD'xが最小の絶対値誤差SAD0以下となる場
合は、SAD'x位置に対応する動きベクトルを採用す
る。
【0132】従って、半画素ブロックについて動き検出
の結果を推定し、推定された結果が動き検出の結果とし
てふさわしくない半画素ブロックについては、真の動き
検出を省くことができるので、動き検出の処理量を削減
することが可能となり、動画像データの符号化処理を効
率よく、かつ高速に行うことができる。
【0133】また、整数画素単位の動き検出の過程で求
められる整数画素ブロックについての誤差に基いて、半
画素ブロックについての誤差の推定値を算出することに
より半画素単位の動き検出の結果を推定するので、半画
素単位の動き検出の結果を効率よく推定できる。更に、
この推定に要する処理量は、すべての半画素ブロックに
ついて真の動き検出を行った場合と比較して大幅に少な
く、高速に行うことができるので、動画像データの符号
化処理の高速化を効率よく高速に行うことができる。
【0134】なお、ここで説明した例では、絶対値誤差
の推定値SAD'1〜SAD'8の中から最小値を決定
し、この最小値に対応する半画素ブロックについて真の
誤差SAD'xを算出する例を示したが、これに限るこ
となく、例えば、絶対値誤差の推定値SAD'1〜SA
D'8の中から2つ目または3つ目までの小さい値をと
る半画素ブロックについてそれぞれ真の誤差を算出し、
算出された真の誤差のうち、最小となるものを半画素単
位の動き検出の結果としてもよい。
【0135】また、上述の第1、第2、及び第3の実施
の形態の説明において、マクロブロックMBと参照する
ブロックとの誤差は、すべて絶対値誤差を計算して求め
られる例を説明したが、絶対値誤差に限ることなく自乗
誤差としても良い。
【0136】更に、本発明の第1の実施の形態における
整数画素単位のサーチに本第3の実施の形態における半
画素単位の動きベクトルサーチを組み合わせても良い。
【0137】即ち、第1の実施の形態における整数画素
単位の動き検出に本第3の実施の形態における半画素単
位の動き検出を組み合わせた場合は、ブロックFBK0
の周囲8近傍の整数画素ブロックFBK1〜FBK8の
絶対値誤差の平均Aと最小の絶対値誤差SAD0とを比
較して、この比較値が所定の閾値Θより大きくなる場合
に、半画素ブロックHBK1〜HBK8の絶対値誤差の
推定値SAD'1〜SAD'8を算出し、この推定値が最
小となる半画素ブロックについて、真の半画素単位の絶
対値誤差SAD'xを算出して、SAD0またはSAD'
xのうち小さい値を取るブロックに対応する動きベクト
ルを採用する。
【0138】このように第1の実施の形態における整数
画素単位のサーチに本第3の実施の形態における半画素
単位の動きベクトルサーチを組み合わせた場合は、動き
補償改善の可能性がある場合に、整数画素ブロックの絶
対値誤差SAD0〜SAD8から半画素ブロックの絶対
値誤差の推定値SAD'1〜SAD'8を算出し、さらに
推定値の最小となるブロックに対して、真の動き検出を
行うので、半画素の画素値の算出を更に削減することが
でき、より高速な符号化処理を実現する。
【0139】更に、上述の第1、第2、及び第3の実施
の形態において、16×16画素のマクロブロック単位
での動き検出を説明したが、動き検出の単位をこのよう
なブロック・ベースに限るものではなく、その他の方
式、例えば、各ブロックを矩形ではなく三角形を使って
動き検出を行うものなどとしても良い。
【0140】
【発明の効果】請求項1,7,及び10記載の発明によ
れば、半画素単位の動き検出を行った場合の動き補償の
改善の可能性を判断し、改善が見込まれない場合には、
半画素単位の動き検出を省略することができる。特に半
画素ブロックよりも整数画素ブロックの方がよりよく現
フレームのブロックを近似するような場合は、半画素単
位の動き検出に費やされる冗長な時間を排除することが
でき、動画像データの符号化処理を効率よく、かつ高速
に行うことができる。
【0141】請求項2記載の発明によれば、整数画素単
位の動き検出の過程において求められる整数画素ブロッ
クについての誤差から、誤差が最小となる整数画素ブロ
ックの周囲の各整数画素ブロックについての誤差の平均
値を算出し、この算出された平均値と、誤差の最小値と
を比較して比較値を算出し、比較値と所定の閾値との大
小を判断することにより半画素単位の動き検出を行った
場合に動き補償が改善される可能性があるか否かを判断
するので、その判断に要する処理を効率よく行うことが
できるとともに、その処理量は、半画素単位の動き検出
を行う場合と比較して大幅に少なく、高速に行うことが
できるので、動画像データの符号化処理を効率よく、か
つ高速に行うことが可能となる。
【0142】請求項3,8,及び11記載の発明によれ
ば、半画素の画素値を繰り返し算出せずに、記憶された
半画素の画素値を参照することにより、半画素単位の動
き検出を行うので、半画素の画素値を重複して算出する
という冗長な処理を排除することができ、半画素単位の
動き検出における処理量を大幅に削減することができ、
動画像データの符号化処理を効率よく、かつ高速に行う
ことができる。
【0143】請求項4記載の発明によれば、誤差の最小
となる整数画素ブロックの周囲の各半画素ブロックに含
まれる半画素はその多くが互いに重なっており、この重
なり部分にある半画素の画素値の重複した計算を行う必
要がなくなるので、冗長な処理をより有効に排除するこ
とができ、動画像データの符号化処理をより効率よく、
かつ高速に行うことができる。
【0144】請求項5,9,及び12記載の発明によれ
ば、半画素ブロックについて動き検出の結果を推定し、
推定された結果が動き検出の結果としてふさわしくない
半画素ブロックについては、真の動き検出を省くことが
できるので、動き検出の処理量を削減することが可能と
なり、動画像データの符号化処理を効率よく、かつ高速
に行うことができる。
【0145】請求項6記載の発明によれば、整数画素単
位の動き検出の過程で求められる整数画素ブロックにつ
いての誤差に基いて、半画素ブロックについての誤差の
推定値を算出することにより半画素単位の動き検出の結
果を推定するので、半画素単位の動き検出の結果を効率
よく推定できるとともに、この推定に要する処理量は、
すべての半画素ブロックについて真の動き検出を行った
場合と比較して大幅に少なく、高速に行うことができる
ので、動画像データの符号化処理を効率よく高速に行う
ことができる。
【図面の簡単な説明】
【図1】動画圧縮符号化装置1の構成を示すブロック図
である。
【図2】動画像データの符号化処理の概念図である。
【図3】第1の実施の形態における第1の動きベクトル
サーチの概念を説明するための図である。
【図4】第1の動きベクトルサーチ処理の流れを示すフ
ローチャートである。
【図5】整数画素単位の動きベクトルサーチの概念図で
ある。
【図6】絶対値誤差SADj算出の概念図である。
【図7】整数画素ブロックFBK0の周囲8近傍の整数
画素ブロックFBK1〜FBK8を示す図である。
【図8】半画素単位の動きベクトルサーチ処理の流れを
示すフローチャートである。
【図9】半画素ブロックに含まれる半画素の構成を示す
図である。
【図10】動画圧縮符号化装置10の構成を示すブロッ
ク図である。
【図11】第2の動きベクトルサーチ処理の概念を説明
するための図である。
【図12】第2の動きベクトルサーチ処理の流れを示す
フローチャートである。
【図13】動きベクトルサーチの概念を説明するための
図である。
【図14】整数画素Fと線形補完された半画素Hとを示
す図である。
【符号の説明】
1,10 動画圧縮符号化装置 2,11 制御部 3,12 入力装置 4,13 表示装置 5,14 RAM 5a,14a ワークメモリ 5b,14b 絶対値誤差メモリ 5c 半画素参照画像メモリ 6,15 記憶装置 7,16 記憶媒体 8,17 バス MB マクロブロック FBK 整数画素ブロック HBK 半画素ブロック SAD 絶対値誤差 SAD' 絶対値誤差の推定値

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】時間的に異なるフレームを構成する整数画
    素ブロックまたは半画素ブロックを参照して現フレーム
    の各ブロックについて整数画素単位または半画素単位に
    動き検出を行うことにより動画像データの動き補償を行
    って符号化する動画圧縮符号化装置において、 半画素単位の動き検出を行った場合に動き補償が改善さ
    れる可能性があるか否かを判断する判断手段と、 前記判断手段により動き補償が改善される可能性がある
    と判断された場合に、半画素単位の動き検出を行う半画
    素単位動き検出手段と、 を備えたことを特徴とする動画圧縮符号化装置。
  2. 【請求項2】前記整数画素ブロックと前記現フレームの
    ブロックとの誤差を算出する誤差算出手段と、 この誤差算出手段により算出された誤差が最小となる整
    数画素ブロックの周囲の各整数画素ブロックについての
    誤差の平均値を算出する平均値算出手段と、 この平均値算出手段により算出された誤差の平均値と、
    前記誤差算出手段により算出された誤差の最小値とを比
    較して比較値を算出する比較値算出手段と、を更に備
    え、 前記判断手段は、この比較値算出手段により算出された
    比較値と所定の閾値との大小を判断することにより、半
    画素単位の動き検出を行った場合に動き補償が改善され
    る可能性があるか否かを判断することを特徴とする請求
    項1記載の動画圧縮符号化装置。
  3. 【請求項3】時間的に異なるフレームを構成する整数画
    素ブロックまたは半画素ブロックを参照して現フレーム
    の各ブロックについて整数画素単位または半画素単位に
    動き検出を行うことにより動画像データの動き補償を行
    って符号化する動画圧縮符号化装置において、 半画素の画素値を算出する画素値算出手段と、 この画素値算出手段により算出された半画素の画素値を
    記憶する記憶手段と、 この記憶手段に記憶された半画素の画素値を参照するこ
    とにより、半画素単位の動き検出を行う半画素単位動き
    検出手段と、 を備えたことを特徴とする動画圧縮符号化装置。
  4. 【請求項4】前記画素値算出手段は、前記整数画素ブロ
    ックと前記現フレームのブロックとの誤差が最小となる
    整数画素ブロックの周囲の各半画素ブロックに含まれる
    半画素の画素値を算出することを特徴とする請求項3記
    載の動画圧縮符号化装置。
  5. 【請求項5】時間的に異なるフレームを構成する整数画
    素ブロックまたは半画素ブロックを参照して現フレーム
    の各ブロックについて整数画素単位または半画素単位に
    動き検出を行うことにより動画像データの動き補償を行
    って符号化する動画圧縮符号化装置において、 前記半画素ブロックについて半画素単位の動き検出の結
    果を推定する推定手段と、 この推定手段により動き検出の結果が妥当と推定される
    半画素ブロックについて真の動き検出を行う半画素単位
    動き検出手段と、 を備えたことを特徴とする動画圧縮符号化装置。
  6. 【請求項6】前記整数画素ブロックと前記現フレームの
    ブロックとの誤差を算出する誤差算出手段と、 この誤差算出手段により算出された誤差に基いて、当該
    誤差が最小となる整数画素ブロックの周囲の各半画素ブ
    ロックについて、前記現フレームのブロックとの誤差の
    推定値を算出する推定値算出手段と、を更に備え、 前記推定手段は、この推定値算出手段により算出された
    推定値の大きさを判定することにより半画素単位の動き
    検出の結果を推定し、 前記半画素単位動き検出手段は、前記推定手段により前
    記推定値が小さいと判定された半画素ブロックについ
    て、前記現フレームのブロックとの真の誤差を算出する
    ことにより真の動き検出を行うことを特徴とする請求項
    5記載の動画圧縮符号化装置。
  7. 【請求項7】時間的に異なるフレームを構成する整数画
    素ブロックまたは半画素ブロックを参照して現フレーム
    の各ブロックについて整数画素単位または半画素単位に
    動き検出を行うことにより動画像データの動き補償を行
    って符号化する動画圧縮符号化方法において、 半画素単位の動き検出を行った場合に動き補償が改善さ
    れる可能性があるか否かを判断し、 動き補償が改善される可能性があると判断された場合
    に、半画素単位の動き検出を行うことを特徴とする動画
    圧縮符号化方法。
  8. 【請求項8】時間的に異なるフレームを構成する整数画
    素ブロックまたは半画素ブロックを参照して現フレーム
    の各ブロックについて整数画素単位または半画素単位に
    動き検出を行うことにより動画像データの動き補償を行
    って符号化する動画圧縮符号化方法において、 半画素の画素値を算出し、 算出された半画素の画素値を記憶手段に記憶し、 この記憶手段に記憶された半画素の画素値を参照するこ
    とにより、半画素単位の動き検出を行うことを特徴とす
    る動画圧縮符号化方法。
  9. 【請求項9】時間的に異なるフレームを構成する整数画
    素ブロックまたは半画素ブロックを参照して現フレーム
    の各ブロックについて整数画素単位または半画素単位に
    動き検出を行うことにより動画像データの動き補償を行
    って符号化する動画圧縮符号化方法において、 前記半画素ブロックについて半画素単位の動き検出の結
    果を推定し、 動き検出の結果が妥当と推定される半画素ブロックにつ
    いて真の動き検出を行うことを特徴とする動画圧縮符号
    化方法。
  10. 【請求項10】コンピュータが実行可能なプログラムを
    格納した記憶媒体であって、 時間的に異なるフレームを構成する整数画素ブロックま
    たは半画素ブロックを参照して現フレームの各ブロック
    について整数画素単位または半画素単位に動き検出を行
    うためのコンピュータが実行可能なプログラムコード
    と、 半画素単位の動き検出を行った場合に動き補償が改善さ
    れる可能性があるか否かを判断するためのコンピュータ
    が実行可能なプログラムコードと、 動き補償が改善される可能性があると判断された場合
    に、半画素単位の動き検出を行うためのコンピュータが
    実行可能なプログラムコードと、 を含むプログラムを格納したことを特徴とする記憶媒
    体。
  11. 【請求項11】コンピュータが実行可能なプログラムを
    格納した記憶媒体であって、 時間的に異なるフレームを構成する整数画素ブロックま
    たは半画素ブロックを参照して現フレームの各ブロック
    について整数画素単位または半画素単位に動き検出を行
    うためのコンピュータが実行可能なプログラムコード
    と、 半画素の画素値を算出するためのコンピュータが実行可
    能なプログラムコードと、 算出された半画素の画素値を記憶手段に記憶するための
    コンピュータが実行可能なプログラムコードと、 この記憶手段に記憶された半画素の画素値を参照するこ
    とにより、半画素単位の動き検出を行うためのコンピュ
    ータが実行可能なプログラムコードと、 を含むプログラムを格納したことを特徴とする記憶媒
    体。
  12. 【請求項12】コンピュータが実行可能なプログラムを
    格納した記憶媒体であって、 時間的に異なるフレームを構成する整数画素ブロックま
    たは半画素ブロックを参照して、現フレームの各ブロッ
    クについて整数画素単位または半画素単位に動き検出を
    行うためのコンピュータが実行可能なプログラムコード
    と、 前記半画素ブロックについて半画素単位の動き検出の結
    果を推定するためのコンピュータが実行可能なプログラ
    ムコードと、 動き検出の結果が妥当と推定される半画素ブロックにつ
    いて真の動き検出を行うためのコンピュータが実行可能
    なプログラムコードと、 を含むプログラムを格納したことを特徴とする記憶媒
    体。
JP7831899A 1999-03-23 1999-03-23 動画圧縮符号化装置、動画圧縮符号化方法、及び記憶媒体 Pending JP2000278696A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7831899A JP2000278696A (ja) 1999-03-23 1999-03-23 動画圧縮符号化装置、動画圧縮符号化方法、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7831899A JP2000278696A (ja) 1999-03-23 1999-03-23 動画圧縮符号化装置、動画圧縮符号化方法、及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2000278696A true JP2000278696A (ja) 2000-10-06

Family

ID=13658607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7831899A Pending JP2000278696A (ja) 1999-03-23 1999-03-23 動画圧縮符号化装置、動画圧縮符号化方法、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2000278696A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144772B2 (en) 2005-03-07 2012-03-27 Kabushiki Kaisha Toshiba Moving picture processor, method for processing a moving picture, and computer program product for executing an application for a moving picture processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144772B2 (en) 2005-03-07 2012-03-27 Kabushiki Kaisha Toshiba Moving picture processor, method for processing a moving picture, and computer program product for executing an application for a moving picture processor

Similar Documents

Publication Publication Date Title
EP3197165B1 (en) Image prediction method and relevant device
US8705611B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
JP3774954B2 (ja) 動画像の符号化方法
CN116233463A (zh) 用于多参考预测的运动矢量修正
US20060120455A1 (en) Apparatus for motion estimation of video data
US20120300845A1 (en) Method, apparatus and computer program product for image motion prediction
JPH08265780A (ja) ビデオ信号符号化/復号化装置及び方法
JPH09172644A (ja) アフィン変換による動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
KR20060037352A (ko) 고속 검색 블록 매칭에 의한 움직임 추정
JP4494803B2 (ja) 動き補償に基づいた改善されたノイズ予測方法及びその装置とそれを使用した動画符号化方法及びその装置
KR20230122686A (ko) 디코더 측 모션 벡터 정제를 위한 에러 표면 기반 서브픽셀 정밀 정제 방법
KR20040070490A (ko) 비월 주사 방식의 동영상 부호화/복호화 방법 및 그 장치
US8792549B2 (en) Decoder-derived geometric transformations for motion compensated inter prediction
KR100286818B1 (ko) 실시간 영상압축을 위한 고속 움직임 예측방법
US20130114721A1 (en) Predicted motion vectors
KR100723840B1 (ko) 영상 움직임 추정 장치
JP2001078188A (ja) 画像圧縮符号化装置、及び記憶媒体
KR20120072205A (ko) 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법
EP1683361B1 (en) Power optimized collocated motion estimation method
JP2001016594A (ja) 動画像の動き補償方法
JP2000278696A (ja) 動画圧縮符号化装置、動画圧縮符号化方法、及び記憶媒体
CN112313950B (zh) 视频图像分量的预测方法、装置及计算机存储介质
CN111970517B (zh) 基于双向光流的帧间预测方法、编码方法及相关装置
JPH0865675A (ja) 画像符号化装置および画像復号化装置
KR100635009B1 (ko) 화면 전체의 움직임을 고려한 움직임예측방법 및 그 장치