JP2010028221A - 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム - Google Patents

動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム Download PDF

Info

Publication number
JP2010028221A
JP2010028221A JP2008184041A JP2008184041A JP2010028221A JP 2010028221 A JP2010028221 A JP 2010028221A JP 2008184041 A JP2008184041 A JP 2008184041A JP 2008184041 A JP2008184041 A JP 2008184041A JP 2010028221 A JP2010028221 A JP 2010028221A
Authority
JP
Japan
Prior art keywords
motion vector
value
pixel accuracy
satd
pixel
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
JP2008184041A
Other languages
English (en)
Inventor
Naohiko Kotaka
直彦 小鷹
Munehiro Nakazato
宗弘 中里
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2008184041A priority Critical patent/JP2010028221A/ja
Priority to US12/460,132 priority patent/US8385423B2/en
Priority to EP20090165569 priority patent/EP2146509A1/en
Priority to CN2009101399395A priority patent/CN101631245B/zh
Publication of JP2010028221A publication Critical patent/JP2010028221A/ja
Pending legal-status Critical Current

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】動きベクトル探索に伴う演算量を削減する。
【解決手段】この画像符号化装置は、効率を示すコスト関数によるコスト値の比較により、複数の第1の予測モード及び複数の第2の予測モードから符号化処理に供する最適モードを所定のブロック毎に検出し、最適モードにより画像データを符号化処理する過程で第1の予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対し第1の画素精度の前記コスト値を算出し、複数のコスト値の勾配により最適な第2の画素精度の動きベクトルと、最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路6を備える。
【選択図】 図1

Description

本発明は、動きベクトル探索に伴う演算量を削減する動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラムに関する。
従来、放送局等に係る動画の伝送、記録においては、画像データの冗長性を有効に利用して効率良く画像データを伝送、蓄積する技術の開発が進められている。このような技術では、例えばMPEG(Moving Picture Experts Group)等の方式に準拠して、離散コサイン変換等の直交変換と動き補償とにより画像データをデータ圧縮する。
その一例であるMPEG2(ISO/IEC 13818-2)は、汎用の画像符号化方式として定義された方式である。飛び越し走査方式、順次走査方式の双方に対応できるように、また標準解像度画像、高精細画像の双方に対応できるように定義されている。MPEG2は、現在、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに広範に採用されている。MPEG2によれば、高画質で高い圧縮率を確保できる。
しかしながら、MPEG2は、放送用に適合した高画質符号化方式であり、MPEG1より符号量の少ない高圧縮率の符号化方式には対応していない。そこで、このMPEG1より符号量の少ない高圧縮率の符号化方式のニーズに鑑みて、MPEG4(ISO/IEC 14496-2)による符号化方式が規格化されている。
さらに、テレビ会議用の画像符号化を目的としていたH26L(ITU-T Q6/16 VCEG)の規格化が進み、MPEG4の活動の一環として、このH26Lを基礎としつつ、各種機能を取り入れ、更に一段と高い符号化効率を確保する符号化方式の標準化が、Joint Model of Enhanced-Compression Video Codingとして進められ、H264及びMPEG−4 Part10(AVC:Advanced Video Coding )として設定された。
しかるに、H.264/AVCをはじめとする画像符号化方式では、画像フレームをブロックに分割し、既に符号化したフレームからの動きを予測する動き補償が採用されている。
この種の技術として、例えば特許文献1では、動きベクトル探索において、現フレームの動き補償ブロック内の画素データと参照フレームの動き補償ブロック内の画素データとの差分に対して、簡易SATDを生成し、動き予測・補償回路が、簡易SATDを用いて規定される評価値を最小にする動きベクトルを特定する技術が開示されている。
特開2004−241957号公報
しかしながら、前述した従来技術のように、動き補償・検索回路において1/2画素精度、1/4画素精度の動き検索においては、SADよりも動き検索の精度の高いSATDを用いることが多い。このSATDでは、アダマール変換を使用し、SADと比較して演算量は増大してしまう。従って、1/2画素精度、1/4画素精度の動き検索において膨大な演算処理を要することが問題となる。
そこで、本発明は、動きベクトル探索に伴う演算量を削減することを課題とする。
本発明の第1の観点による動きベクトル検出装置は、予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備える。
従って、動き予測・補償回路により最適な第2の画素精度の動きベクトルのコスト値が算出される。
本発明の第2の観点による画像符号化装置は、符号化効率を示すコスト関数によるコスト値の比較により、複数の第1の予測モード及び複数の第2の予測モードから符号化処理に供する最適モードを所定ブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化回路を備える。さらに、前記第1の予測モード毎に最適な動きベクトルの候補となる複数の動きベクトルに対し第1の精度の前記コスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備える。
従って、動き予測・補償回路により最適な第2の画素精度の動きベクトルのコスト値が算出される。
本発明の第3の観点による動きベクトル検出装置は、予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度のコスト値の分布に応じて、該第1の画素精度の前記コスト値の断面、或いは前記複数のコスト値の勾配を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備える。
従って、第1の画素精度の前記コスト値の断面、或いは前記複数のコスト値の勾配を用いて、動き予測・補償回路により最適な第2の画素精度の動きベクトルのコスト値が算出される。
本発明の第4の観点による動きベクトル検出方法は、予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する。
従って、第1の画素精度の前記コスト値の断面を用いて、動き予測・補償回路により最適な第2の画素精度の動きベクトルのコスト値が算出される。
本発明の第5の観点によるプログラムは、コンピュータが、予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する。
従って、第1の画素精度の前記コスト値の断面を用いて、動き予測・補償回路により最適な第2の画素精度の動きベクトルのコスト値が算出される。
本発明によれば、動きベクトル探索に伴う演算量を削減する動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラムを提供することができる。
以下、図面を参照して、本発明を実施するための最良の形態(以下、単に実施の形態と称する)について詳細に説明する。
この発明の実施の形態では、予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度のコスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備える。ここで、第1の画素精度のコスト値の断面とは、所定方向の画素からなる群である。以下、これをふまえて詳述する。
(第1の実施の形態)
図1には本発明の一実施の形態に係る動きベクトル検出装置を採用した画像符号化装置の構成を示し説明する。ここでは、AVCに基づく画像符号化装置を例に挙げる。
この画像符号化装置1では、複数のイントラ予測モードと複数のインター予測モードとから最適な予測モードを選択し、この選択した予測モードによる予測値を画像データから減算して差分データを生成する。そして、この差分データに対して、直交変換処理、量子化処理、可変長符号化処理することで、画像データをイントラ符号化、インター符号化により符号化処理するものである。以下、構成及び作用を詳述する。
図1に示されるように、画像符号化装置1は、アナログ/ディジタル(A/D)変換回路2、画面並び替えバッファ3、減算回路4、イントラ予測回路5、動きベクトル検出装置に相当する動き予測・補償手段としての動き予測・補償回路6、直交変換回路7、量子化回路8、レート制御回路9、可逆符号化回路10、蓄積バッファ11、逆量子化部12、逆直交変換回路13、デブロックフィルタ14、フレームメモリ15、イントラ・インターモード判定回路16からなる。更に、動き予測・補償回路6は整数画素精度動き補償・検索回路61、1/2画素精度動き補償・検索回路62、1/4画素精度動き予測・補償回路63からなる。これらのうち、A/D変換回路2、画面並び替えバッファ3、減算回路4、イントラ予測回路5、直交変換回路7、量子化回路8、レート制御回路9、可逆符号化回路10等により符号化処理手段が構成される。尚、第1の画素精度とは、例えば1/2画素精度、第2の画素精度とは、例えば1/4画素精度である。
このような構成において、A/D変換回路2は、ビデオ信号SVをA/D変換して画像データD1を出力する。画面並べ替えバッファ3は、この画像データD1を受けて、符号化処理に係るGOP(Group of Pictures )構造に応じて該画像データD1のフレームを並べ替えて出力する。減算回路4は、この画面並べ替えバッファ3から出力される画像データD1を受け、イントラ符号化においては、イントラ予測回路5で生成される予測値との差分データD2を生成して出力する。一般的には、イントラ予測回路5では、同じ画面内の画像サンプルを使って別位置の画像を予測する。
一方、インター符号化においては、動き予測・補償回路6で生成される予測値との差分データD2を生成して出力する。
直交変換回路7は、減算回路4の出力データD2を受けて、離散コサイン変換(DCT;Discrete Cosine Transform)、カルーネン・レーベ変換等の直交変換処理を実行し、処理結果による変換係数データD3を出力する。量子化回路8は、レート制御回路9のレート制御による量子化スケールにより、この変換係数データD3を量子化して出力する。
可逆符号化回路10は、この量子化回路8の出力データを可変長符号化、算術符号化等により可逆符号化処理して出力する。また、可逆符号化回路10は、イントラ符号化に係るイントラ予測モードに関する情報、インター符号化に係る動きベクトルに関する情報等をイントラ予測回路5、動き予測・補償回路6から取得し、これらの情報を出力データD4のヘッダ情報に設定して出力する。イントラ予測モードとは、画面内予測符号化ともいう。
蓄積バッファ11は、可逆符号化回路10の出力データD4を蓄積し、伝送路の伝送速度により出力する。レート制御回路9は、この蓄積バッファ11の空き容量の監視により符号化処理による発生符号量を監視する。さらに、この監視結果により量子化回路8における量子化スケールを切り換え、発生符号量を制御する。
逆量子化回路12は、量子化回路8の出力データを逆量子化処理し、これにより量子化回路8の入力データを再生する。逆直交変換回路13は、逆量子化回路12の出力データを逆直交変換処理し、これにより直交変換回路7の入力データを再生する。
デブロックフィルタ14は、逆直交変換回路13の出力データよりブロック歪を除去して出力する。例えば、H.264/AVCでは、フレームメモリ15に復号画像を格納するに先立ち適応的にデブロックフィルタ14によってブロック歪みを除去するのである。
そして、フレームメモリ15は、このデブロックフィルタ14の出力データに、適宜、イントラ予測回路5又は動き予測・補償回路6により生成される予測値を加算して参照画像情報として記録することになる。
動き予測・補償回路6は、フレームメモリ15に保持された参照画像情報による予測フレーム(参照フレーム)を基準にして画面並べ替えバッファ3から出力される画像データの動きベクトルを検出する。また、この検出した動きベクトルによりフレームメモリ15に保持した参照画像情報を動き補償してインター予測の最適モードを検出する。また、インター予測により符号化処理を実行する場合、この最適モードにより予測画像情報を生成し、この予測画像情報による予測値を減算回路4に出力する。
イントラ予測回路5は、イントラ符号化において、フレームメモリ15に蓄積された参照画像情報に基づいてイントラ予測モードの最適モードを検出する。また、イントラ予測により符号化処理する場合には、この最適モードにより参照画像情報から予測画像情報の予測値を生成して減算回路4に出力する。
このように、この画像符号化装置1では、インター符号化とイントラ符号化とでそれぞれインター予測に係る動き補償による差分データD2とイントラ予測による差分データD2とを生成し、これらの差分データD2を直交変換処理、量子化処理、可変長符号化処理して伝送することになる。
ここで、AVCは、これらイントラ及びインター予測に係る予測モードに関して、AVCに係るJoint Model(AVC参照符号化方式)により、マルチパスエンコードを前提とした高画質モード(High Complexity Mode)と、1パスエンコードを前提とした高速モード(Low Complexity Mode)とが定義されており、該定義に従って最適モードを選択して符号化処理を実行する。
また、これらのモードのうち、Low Complexity Modeでは、符号化効率を示すコスト関数を次式により定義し、該コスト関数により得られるコスト値Cost(mode)の比較により最適モードを検出する。
Cost(mode)=SA(T)D+SA(T)D0 (1)
ここで、SA(T)Dは、原画像と予測画像との誤差値であり、これら原画像と予測画像との間の、画素値差分値の絶対値誤差和が適用される。
SA(T)D0は、誤差値SA(T)Dに与えられるオフセット値であり、ヘッダビット、モード判定の際の重みとなるコストによるものであり、動きベクトル等の付加的な情報の伝送に供するデータ量が示される。
より具体的には、絶対値誤差和SADは、各マクロブロックについて、次式により示され、それぞれ各予測モードModeにおける原画像と予測画像の差分値が適用される。
Figure 2010028221
尚、この(2)式による絶対値誤差和SADに代えて、次式による得られる差分加算値にSATD(mode)を用いてもよい。
Figure 2010028221
Hadamard()は、次式により示すように、対象の行列にアダマール変換行列を掛けるアダマール変換操作である。
Hadamard(A)=HTAH (4)
そして、アダマール変換行列は、(5)式により表され、HT は、アダマール変換行列の転置行列である。
Figure 2010028221
オフセット値SA(T)D0は、前方向予測モードにおいては、次式で示される。
SA(T)D0
=QP0(QP)・(2×code_number_of_ref_idx_fwd+Bit_to_code_MVDFW) (6)
ここで、QP0(QP)は、量子化パラメータQPを量子化スケールに変換する関数であり、MVDFWは、前方向予測に係る動きベクトルであり、ビット・トゥ・コード(Bit to code) は、この動きベクトルに係るビットストリーム上の符号量である。
そして、オフセット値SA(T)D0は、後方向予測モードでは次式で示される。
SA(T)D0=QP0(QP)×Bit_to_code_MVDBW (7)
ここで、MVDBWは、後方向予測に係る動きベクトルである。
また、オフセット値SA(T)D0は、双方向予測モードでは次式で示される。
SA(T)D0
=QP0(QP)・(2×code_number_of_ref_idx_fwd+Bit_to_code_forward_Blk_size
+Bit_to_code_backward_Blk_size+Bit_to_code_MVDFW
+Bit_to_code_MVDBW) (8)
ここで、Bit to code forward Blk size、Bit to code backward Blk size は、それぞれ前方向予測及び後方向予測に係る動き補償ブロックに関する情報の伝送に必要なビットストリーム上における符号量である。
そして、ダイレクトモードでは、オフセット値SA(T)D0は次式で示される。
SA(T)D0=−16×QP0(QP) (9)
イントラ4×4予測モードでは、オフセット値SA(T)D0は次式で示される。
SA(T)D0=24×QP0(QP) (10)
なお、このコスト関数にあっては、動きベクトルの探索にも適用され、次式で示されるように、コスト値Costを最小にする動きベクトルが検出される。
Cost=SA(T)D+SA(T)D0
SA(T)D0
=QP0(QP)・(Bits_to_code_vector+2×code_number_of_ref_index_fwd) (11)
これにより、Low Complexity Modeにおいて、最適モードを検出する場合、符号化装置1では、イントラ予測回路5及び動き予測・補償回路6において、輝度信号を用いて、それぞれイントラ符号化及びインター符号化の全ての予測モードのコスト値Costを計算する。そして、このコスト値Costの最も小さな予測モードを選択して輝度信号の最適モードを検出する。また、これによりイントラ符号化が選択された場合、色差信号について各イントラ予測モードのコスト値を計算し、この計算結果の比較により最も値の小さなコスト値によるイントラ予測モードを色差信号の最適モードに設定する。
このようなコスト関数による予測モードの選択に関しては、例えば特開2003−230149号公報等に種々の工夫が開示されている。
したがって、符号化効率を示すコスト関数によるコスト値との比較により、複数のイントラ予測モード及び複数のインター予測モードから符号化処理に供する最適モードをマクロブロック毎に検出し、最適モードにより画像データを符号化処理する画像符号化装置は、例えば、以下の作用をすることになる。
即ち、予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、最適な第2の画素精度の動きベクトルのコスト値を算出する。この第1の画素精度の前記コスト値の断面とは、所定方向の画素からなる群である。また、第1の予測モードとは、インター予測モードであり、前記第2の予測モードとは、イントラ予測モードであり、前記第1の画素精度とは1/2は画素精度であり、前記第2の画素精度とは1/4画素精度である。
以下、図2のフローチャートを参照して、本発明の一実施の形態に係る動きベクトル検出装置を用いた画像符号化装置による最適モード選択に関わる処理手順を説明する。
処理を開始すると(SA1)、動き予測・補償回路6において、候補となるインター予測モード(Inter Mode)の全てに対して(SA2)、整数画素精度動き補償・検索回路61を用いて各整数画素のコスト値Costを算出する(SA3)。この際、候補となる整数画素精度の動きベクトルに対して先に示した式(2)、(3)によりSA(T)Dを算出する。例えば、整数画素精度で縦方向100、横方向100という範囲を検索すると、SA(T)Dの演算を100x100回行うことになる。このSA(T)Dを用いて先に示した式(11)よりコスト値Costを算出して該コスト値Costが最小となる動きベクトルを求める(SA3)。
次に、1/2画素精度動き補償・検索回路62を用いて、整数画素精度でコスト値Costが最小となる動きベクトルの周辺の1/2画素精度の点の候補となる動きベクトルに対して動き補償を行う(SA4)。すなわち、例えば、図3に示すように、9つの1/2画素精度の点が候補となる動きベクトルとなる。この場合において、6タップのFIRフィルタを用いてこれらの1/2画素精度の点の画素を作成する。
続いて、これら1/2画素の各点に関してSA(T)Dとコスト値Costを算出する(SA5)。
次に、1/4画素精度動き予測・補償回路63を用いて、1/2画素精度のSA(T)D、コスト値Costから1/4素精度の最適な動きベクトルを予測し、SA(T)Dとコスト値Costを予測により算出する(SA6)。この詳細については、後に詳述する。
続いて、動き補償・検索回路6において、ダイレクトモードのコスト値Costを求める(SA7)。そして、イントラ予測回路5において全てのイントラモードに対して各コスト値Costを求める(SA8)。上記のようにして求めた複数のインター予測モード、ダイレクトモード、複数のイントラ予測モードの中のコスト値Costから最小となるものを選択することで、最適モードを決定する(SA9)。こうして、処理を終了する(SA10)。尚、ダイレクトモードには、時間ダイレクトモード、空間ダイレクトモードが概念上含まれる。
以下、図4のフローチャートを参照して、本発明の第1の実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路63による処理手順を詳述する。
以下では、1/2画素精度のコスト値CostをCost_half、1/4画素精度のコスト値CostをCost_quaterと称することにする。この図4の処理では、Cost_halfから、1/4画素精度の動きベクトルのSA(T)D、Cost_quaterを導出する点に特徴を有する。
処理を開始すると(SC1)、図5に示されるように、Cost_halfの最小点に対して、x軸、y軸に平行に例えば3点の組を作る(SC2)。即ち、図5の例では、x軸方向において符号101,102,103で示される点により組201を作り、y軸方向において符号101、104,105で示される点により組202を作る。換言すれば、ある一の方向の画素を群として、他の方向の画素を別の群として組を作ることになる。
尚、このSC2では、例えば、図6に示されるように、x軸方向に平行に並ぶ3点の各平均S4,S5,S6、y軸方向に垂直にならぶ3点の各平均S1,S2,S3を求めるようにしてもよい。
続いて、それぞれ一直線上に並んだ3点に対して(SC3)、SATD値を比較する。即ち、先ずx軸に平行な直線上の3点に対して、SATD値を比較する。例えば、図5の例では、符号101〜103で示される点に対して、SATD値を比較する。そして、SATD値の最小値が真ん中の点102であるか否かを判定する(SC4)。この条件判定をYesに分岐する場合(center)、その真ん中の点を直線上の動きベクトルと特定する (SC7)。
即ち、図7(a)に示されるように、符号301〜303の点のうちSATD値の最小値が真ん中の点302である場合、その点302を直線上の動きベクトルと特定する(図中、符号304)。
SC4の条件判定でNoとなった場合、SATD値の二番目に小さい点が真ん中の点で、一番目、二番目のSATD値の差が小さく、二番目、三番目のSATD値の差が大きいか否かを判断する(SC5)。この条件判定をYesに分岐する場合(Internal qpel)、一番目、二番目に小さい点の中間点を、1/4画素精度の直線上の動きベクトルと特定する(SC8)。
即ち、図7(b)に示されるように、符号305〜307の点のうち点305と点306のSATD値の差A1が小さく、点305と点306のSATD値の差A2が大きい場合には、点306,307の中間点308を直線上の動きベクトルと特定する。
SC5の条件判定でNoとなった場合、SATD値の二番目に小さい点が真ん中の点であり一番目、二番目のSATD値の差と、二番目、三番目のSATD値の差が同程度であるか否かを判定する(SC6)。この条件判定をYesに分岐すると(Halfpel)、一番目に小さい点を1/4画素精度の直線上の動きベクトルと特定する(SC9)。
即ち、図7(c)に示されるように、SATD値の二番目に小さい点310が真ん中の点であり、点309と310のSATD値の差A3と、点310と311のSATD値の差A4が同程度の場合には、一番小さい点309を直線上の動きベクトルと特定する(図中、符号312で示す)。
一方、SC6の条件判定でNoとなった場合、SATD値の一番目に小さい点と真ん中のSATD値の差が大きく、真ん中、逆の端(他端)の点のSATD値の差が小さい場合、二番目に小さい点から最小の点の延長上に存在する1/4画素精度の点を直線上の動きベクトルと特定する(SC10)。
即ち、図7(d)に示されるように、SATD値の一番目に小さい点313と真ん中の点314のSATD値の差A5が大きく、真ん中の点314、逆の端の点315のSATD値の差A6が小さい場合、二番目に小さい点314から最小の点313の延長上に存在する1/4画素精度の点316を、直線上の動きベクトルと特定する。即ち、換言すれば、点313と314の勾配により定まる点316を1/4画素精度の動きベクトルとして特定することになる。
続いて、図5に示したように、例えば直線204上で予測された1/4画素精度の点106と直線203上で予測された1/4画素精度の点107を求め、直線上の1/4画素精度の動きベクトルから直線に対して直交する直線(1/4画素候補線205)を規定することになる(SC11)。そして、y軸に平行な直線に対しても同様にSATD値の比較を行い、1/4画素候補線206を引くことになる(SC4〜SC11)。
こうして、1/4画素候補線205,206が交わる点108を1/4画素精度の動きベクトルと特定し、9点のSATD値の勾配からSATD値を特定し、コスト値Costを導出する(SC13)。以上で一例の処理を終了することになる。
尚、ステップSC7〜SC10の任意の条件判定の組み合わせを適用することも可能であることは勿論である。即ち、以下の(a)〜(d)の任意の組み合わせも可能である。
(a)1/2画素精度の動き探索における、予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から該1/2画素精度において一直線上にある少なくとも3点を選択し、SAD或いはSATD値の最小値が中央の点である場合、1/2画素精度で最小のSAD或いはSATD値である点を示す動きベクトルを直線上の1/4画素精度の動きベクトルと特定し、1/4画素精度の最小のSAD或いはSATD値を動きベクトルのSAD或いはSATD値とし、動きベクトルのコスト値を算出する(center)。
(b)1/2画素精度の動き探索における、予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から該1/2画素精度において一直線上にある少なくとも3点を選択し、SAD或いはSATD値の最小値が端にあり、二番目に小さい点が中央の点であり、一番目、二番目のSAD或いはSATD値の差が小さく、二番目、三番目のSAD或いはSATD値の差が大きい場合、一番目、二番目に小さい点の中間点を示す動きベクトルを、直線上の1/4画素精度の動きベクトルと特定し、一番目、二番目、三番目のSAD或いはSATD値の関係から、動きベクトルのSAD或いはSATD値とし、動きベクトルのコスト値を算出する(Internal qpel)。
(c)1/2画素精度の動き探索における、予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から該1/2画素精度において一直線上にある少なくとも3点を選択し、SAD或いはSATDの最小値が端にあり、二番目に小さい点が真ん中の点であり、一番目、二番目のSAD或いはSATD値の差と、二番目、三番目のSAD或いはSATD値の差が同程度の場合、二番目に小さい点を示す動きベクトルを、直線上の1/4画素精度の動きベクトルと特定し、二番目のSAD或いはSATD値を、動きベクトルのSAD或いはSATD値とし、動きベクトルのコスト値を算出する(Haifpel)。
(d)1/2画素精度の動き探索における、予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から該1/2画素精度において一直線上にある少なくとも3点を選択し、SAD或いはSATDの最小値が端にあり、一番目、真ん中の点のSAD或いはSATD値の差が大きく、真ん中、逆の端の点のSAD或いはSATD値の差が小さい場合、二番目に小さい点から最小の点の延長上に存在する1/4画素精度の点を示す動きベクトルを、動き補償に用いる動きベクトルと特定し、一番目、二番目、三番目のSAD或いはSATD値の関係から、前記動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する(External qpel)。
最も効果があるのは、(a)〜(d)の組み合わせであり、効果のある順番に(a)+(b)+(c)、(a)+(b)、(a)となる。条件にもれた場合には、1/2画素精度で最良(best)の点を1/4画素精度の点とする。
以上説明したように、本発明の第1の実施の形態では、1/4画素精度動き予測・補償器を用いることにより、SA(T)Dの演算回数を大幅に削減でき、サイクル数、HW規模数共に削減可能である。また、1/2画素精度の動き補償・検索の結果から、1/4画素精度の動きベクトル、SA(T)D値、Costを算出するため、1/4画素の動き検索のために1/4画素精度の画素を作成する必要がなく、メモリ素子の削減効果もある。
(第2の実施の形態)
この発明の一実施の形態に係る画像符号化装置は、符号化効率を示すコスト関数によるコスト値の比較により、複数の第1の予測モード及び複数の第2の予測モードから符号化処理に供する最適モードを所定単位毎に検出し、前記最適モードにより画像データを符号化処理するものである。
そして、特に、第1の予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対し第1の画素精度のコスト値を算出し、複数のコスト値の勾配により最適な第2の画素精度の動きベクトルと、最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備えている。
あるいは、特に第1の予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対し第1の画素精度のコスト値を算出し、第1の画素精度のコスト値に対し順位をつけ、上位N個の優劣関係により最適な第2の画素精度の動きベクトルと、最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備えている。
あるいは、第1の予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対し第1の画素精度の前記コスト値を算出し、第1の画素精度のコスト値の小さい方から3つの優劣関係により最適な第2の画素精度の動きベクトルと、最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備えている。
ここで、第1の画素精度とは、例えば荒い画素精度であり、第2の画素精度とは、例えば該第1の画素精度に比して細かい画素精度であってよい。
尚、本発明の第2の実施の形態に係る画像符号化装置の構成は先に説明した第1の実施の形態(図1)と同様であるので、ここでは重複した説明は省略し、同一構成については同一符号を用いて説明を進める。図1と同様の構成の下、この第2の実施の形態に係る画像符号化装置は、以下の作用を奏することになる。
・1/4画素精度動き予測・補償回路63が、インター予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対し1/2画素精度の前記コスト値を算出し、前記複数のコスト値の勾配により最適な1/4画素精度の動きベクトルと、前記最適な1/4画素精度の動きベクトルのコスト値を算出する。
・1/4画素精度動き予測・補償回路63が、インター予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対し1/2画素精度の前記コスト値を算出し、1/2画素精度のコスト値に対し順位をつけ、上位N個の優劣関係により最適な1/4画素精度の動きベクトルと、最適な1/4画素精度の動きベクトルのコスト値を算出する。
・1/4画素精度動き予測・補償回路63が、インター予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対し1/2画素精度の前記コスト値を算出し、1/2画素精度のコスト値の小さい方から3つの優劣関係により最適な1/4画素精度の動きベクトルと、最適な1/4画素精度の動きベクトルのコスト値を算出する。
次に、図8のフローチャートを参照して、本発明の一実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路63による処理手順を詳述する。
以下では、1/2画素精度のコスト値CostをCost_half、1/4画素精度のコスト値CostをCost_quaterと称することにする。この図3の処理では、Cost_halfから、1/4画素精度の動きベクトルのSA(T)D、Cost_quaterを導出する点に特徴を有する。
即ち、処理を開始すると(SB1)、先ず1/4画素精度動き予測・補償回路63はCost_halfの最小点の絶対値を見て著しく小さいか判断する(SB2)。このSB2にて、条件判定の結果がYesである場合には、Cost_halfの最小点を1/4画素精度の動きベクトルと特定し、1/2画素の最小のSATD値を動きベクトルのSATD値とし、この最小点のSATD値を用いてコスト値Cost_quaterを算出する(SB7)。
このSB2の条件判定の結果がNoである場合、Cost_halfの最小点のSATDの値とCost_halfが二番目に小さい点のSATDの値を比較し著しく小さいか判断する(SB3)。ここで、条件判定の結果がYesである場合には、前条件分岐と同様にCost_halfの最小点を1/4画素精度の動きベクトルと特定し、1/2画素の最小のSATD値を動きベクトルのSATD値とし、この最小点のSATD値を用いてコスト値Cost_quaterを算出する(SB7)。
即ち、例えば、図9(a)に示されるように、2つのポイントBest1,Best2を比較した結果、Best1のSATDの比(あるいは差分の絶対値)が極端に小さい場合には、Best1の位置(つまり、1/2画素精度でベストな位置)を1/4画素精度の動きベクトルとして出力し、この最小点のSATD値を用いてCost_quaterを算出する。ここで、「極端に小さい場合」とは、Best1の絶対値が770のときなどである。
このSB3の条件判定の結果がNoである場合、Cost_halfの最小点のSATDの値と二番目に小さいSATDの値を比較して小さく、二番目に小さいSATDの値と三番目に小さいSATDの値が近い(差が小さい等)か否かを判断する(SB4)。ここで、条件判定の結果がYesである場合、前条件分岐と同様にCost_halfの最小点のSATDの値を1/4画素精度の動きベクトルと特定し、この最小点のSATDの値を用いてCost_quaterを算出する(SB7)。
即ち、例えば、図9(b)に示されるように、例えば3つのポイントBest1〜Best3を比較した結果、Best1とBest2のSATDの比が小さく、Best2とBest3のSATDが近い(差が小さい)ときには、Best1の位置を1/4画素精度の動きベクトルとして出力し、この最小点のSATD値を用いてCost_quaterを算出する。ここで、「Best1とBest2の比が小さい」とは、例えばその比が0.8の場合等であり、「Best2とBest3の差分値が小さい」とは、該差分値が1000以下のとき等である。
このSB4の条件判定の結果がNoである場合、Cost_halfの最小点の値が二番目に小さい値と比較して近く、二番目に小さい値が三番目に小さい値と比較して小さいか判断する(SB5)。ここで、条件判定の結果がYesである場合には、Cost_halfの最小点と二番目に小さい値の中間の点を1/4画素精度の動きベクトルと特定し、二番目と三番目のSATDの値の勾配からこの1/4画素のSATD値を予測しCost_quaterを算出する(SB8)。
即ち、図9(c)に示されるように、例えば3つのポイントBest1〜Best3を比較した結果、Best1とBest2のSATDが近く(比が小さい、あるいは差分が小さい等)、Best2がBest3に比して極端に小さい場合(比が小さい、あるいは差分が小さい等)、Best1とBest2の中間を1/4画素精度の動きベクトルとして出力し、この最小点のSATD値を用いてCost_quaterを算出する。SATDはBest2とBest3の勾配より算出する。
ここで、「Best1とBest2の比が小さい」とは、該比が0.9等のときであり、「Best2とBest3の比が小さい」とは、該比が0.99等のときである。また、「Best1とBest2の差分が小さい」とは差分値が500等のときであり、「Best2とBest3の差分が小さい」とは差分値が250等のときである。
このSB5の条件判定の結果がNoの場合は、Cost_halfの最小点、二番目に小さいSATDの値、三番目に小さいSATDの値が近い(比が小さい、あるいは差分が小さい等)場合に相当する。このとき、最小点、二番目に小さい点、三番目に小さい点がこの順番で一直線上に並んでいるか否かを判断する(SB6)。このSB6の条件判定の結果がYesの場合、3点のSATDの値の関係、例えば二番目の点から最小点の延長上にある1/4画素の点を1/4画素精度の動きベクトルと特定し、最小点と二番目に小さい値のSATD値の勾配からこの1/4画素のSATD値を予測してCost_quaterを算出する(SB9)。
即ち、図9(d)に示されるように、例えば3つのポイントBest1〜Best3を比較した結果、Best1とBest2のSATDが近く(比が小さい、あるいは差分が小さい等)、Best2とBest3のSATDが近い(比が小さい、あるいは差分が小さい等)場合には、これらが一直線上に並んでいるかを判断する。
そして、図10(a)に示されるように、これらが一直線上に並んでいる場合には、例えばBest1〜Best3の外部の点(例えば外挿点)を1/4画素精度の動きベクトルとして出力し、この最小点のSATD値を用いCost_quaterを算出する。
ここで、「Best1とBest2の比が小さい」とは、該比が0.99等のときであり、「Best2とBest3の比が小さい」とは、該比が0.9等のときである。また、「Best1とBest2の差分が小さい」とは、該差分値が250等のときであり、「Best2とBest3の差分が小さい」とは、該差分値が500等のときである。
このSB6の条件判定の結果がNoである場合、Cost_halfの最小点、二番目に小さい点、三番目に小さい点の中間にある位置する1/4画素精度の点を示す動きベクトルを1/4画素精度の動きベクトルと特定し、最小点と二番目のSATD値の勾配からこの1/4画素のSATD値を予測し、Cost_quaterを算出する(SB10)。
即ち、図9(d)に示されるように、例えば3つのポイントBest1〜Best3を比較した結果、Best1とBest2のSATDが近く(比が小さい、あるいは差分が小さい等)、Best2とBest3のSATDが近い(比が小さい、あるいは差分が小さい等)場合には、これらが一直線上に並んでいるかを判断する。
ここで、「Best1とBest2の比が小さい」とは、該比が0.99等のときであり、「Best2とBest3の比が小さい」とは、該比が0.99等のときである。また、「Best1とBest2の差分が小さい」とは、該差分値が250のとき等であり、「Best2とBest3の差分が小さい」とは、該差分値が250のとき等である。
そして、図10(b)に示されるように、これらが一直線上に並んでおらずまとまっている場合には、Best1〜Best3の中間を1/4画素精度の動きベクトルとして出力し、この最小点のSATD値を用いCost_quaterを算出する。
こうして、一連の処理を終了する(SB11)。
また、SB7〜SB10の処理を任意に組み合わせることにより、1/2画素精度の前記コスト値から1/4画素精度の動きベクトルと、前記1/4画素精度の動きベクトルのSATD値、コスト値を算出することも可能である。
即ち、以下の(A)乃至(E)の少なくともいずれかの組み合わせを用いて、1/2画素精度の前記コスト値から1/4画素精度の動きベクトルと、前記1/4画素精度の動きベクトルのSAD或いはSATD値、コスト値を算出するようにしてもよい。
(A) 1/2画素における最小のSAD値或いはSATD値の絶対値が小さい場合、或いは1/2画素における最小のSAD或いはSATD値と二番目に小さいSAD或いはSATD値を比較し、最小のSAD或いはSATD値が極端に小さい場合、最小のSAD或いはSATD値である点を示す動きベクトルを動き補償に用いる動きベクトルと特定する。そして、1/2画素の最小のSAD或いはSATD値を前記動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する。
(B) 1/2画素における最小のSAD或いはSATD値と二番目に小さいSAD或いはSATD値を比較し最小のSAD或いはSATD値が小さく、二番目に小さいSAD或いはSATD値と三番目に小さいSAD或いはSATD値を比較し、差が小さい場合、最小のSAD或いはSATD値である点を示す動きベクトルを動き補償に用いる動きベクトルと特定する。そして、1/2画素の最小のSAD或いはSATD値を前記動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する。
(C) 1/2画素における最小のSAD或いはSATD値と二番目に小さいSAD或いはSATD値を比較し最小のSAD或いはSATD値の差が小さく、二番目に小さいSAD或いはSATD値と三番目に小さいSAD或いはSATD値を比較し差が大きい場合、最小のSAD或いはSATD値の点と二番目にSAD或いはSATD値の小さい点の中間の点を示す動きベクトルを、動き補償に用いる動きベクトルと特定する。そして、3点のSAD或いはSATD値の関係から前記動きベクトルのSAD或いはSATD値を算出し、前記動きベクトルのコスト値を算出する。
(D) 1/2画素における最小のSAD或いはSATD値と二番目に小さいSAD或いはSATD値を比較し最小のSAD或いはSATD値の差が小さく、二番目に小さいSAD或いはSATD値と三番目に小さいSAD或いはSATD値を比較し差が小さい場合に、SAD或いはSATDの最小点、二番目に小さい点、三番目に小さい点が、最小点、二番目に小さい点、三番目に小さい点の順番で直線上に並んでいる場合、二番目に小さい点から最小の点の延長上に存在する1/4画素精度の点を示す動きベクトルを動き補償に用いる動きベクトルと特定する。そして、上記3点のSAD或いはSATD値の関係から動き補償に用いる動きベクトルの点のSAD或いはSATD値を算出し、前記動きベクトルのコスト値を算出する。
(E) 1/2画素における最小のSAD或いはSATD値と二番目に小さいSAD或いはSATD値を比較し最小のSAD或いはSATD値の差が小さく、二番目に小さいSAD或いはSATD値と三番目に小さいSAD或いはSATD値を比較し差が小さい場合に、SAD或いはSATDの最小点、二番目に小さい点、三番目に小さい点が直線上に並んでいない場合、最小点、二番目に小さい点、三番目に小さい点の中間に位置する1/4画素精度の点を示す動きベクトルを動き補償に用いる動きベクトルと特定する。そして、上記3点のSAD或いはSATD値の関係から動き補償に用いる動きベクトルの点のSAD或いはSATD値を算出し、前記動きベクトルのコスト値を算出する。
最も効果があるのは、(A)乃至(E)全ての組み合わせである。その次に、効果がある順番では、(A)+(B)+(C)+(D)、(A)+(B)+(C)、(A)+(B)、(A)となる。但し、これには限定されない。条件にもれた場合には、1/2整数精度でベストの点を1/4整数精度の点としてもよい。
図11のフローチャートは(A)+(B)+(C)+(D)の組み合わせを採用した場合の処理手順を示す。図8と同じ処理には同じステップ番号を付し、重複した説明は省略する。SB6の条件判定でNoに分岐した場合、処理を終了する(SB11)。
図12のフローチャートは(A)+(B)+(C)の組み合わせを採用した場合の処理手順を示す。図8と同じ処理には同じステップ番号を付し、重複した説明は省略する。SB5の条件判定でNoに分岐した場合、処理を終了する(SB11)。
図13のフローチャートは(A)+(B)の組み合わせを採用した場合の処理手順を示す。図8と同じ処理には同じステップ番号を付し、重複した説明は省略する。SB4の条件判定でNoに分岐した場合、処理を終了する(SB11)。
図14のフローチャートは(A)の組み合わせを採用した場合の処理手順を示す。図8と同じ処理には同じステップ番号を付し、重複した説明は省略する。SB3の条件判定でNoに分岐した場合、処理を終了する(SB11)。
以上詳述したように、本発明の第2の実施の形態によれば、1/4画素精度動き予測・補償器を用いることにより、SATDの演算回数を大幅に削減することができ、サイクル数、ハードウェア規模数を共に削減することが可能となる。
なお、1/2画素精度の動き補償・検索の結果から、1/4画素精度の動きベクトルやSA(T)D値、Costを算出するため、1/4画素の動き検索のために1/4画素精度の画素を作成する必要がなく、メモリ素子の削減効果もある。
(第3の実施の形態)
この第3の実施の形態は、前述した第1の実施の形態と第2の実施の形態を組み合わせるものである。
即ち、図15のフローチャートに示すように、処理を開始すると(SD1)、Cost_halfの最小点に対して、x軸、y軸に平行に例えば3点の組を作る(SD2)。換言すれば、ある一の方向の画素を群として、他の方向の画素を別の群として組を作ることになる。
続いて、それぞれ一直線上に並んだ3点に対して、SATD値を比較する。即ち、先ずx軸に平行な直線上の3点に対して、SATD値を比較する。そして、SATD値の最小値が真ん中の点102であるか否かを判定する(SD3)。そして、動き予測・補償回路は、前記1/2画素精度のSA(T)D値の最小点が配列された画素の真ん中の点である場合には、図8の処理に従い、前記複数のコスト値の勾配を用いて、最適な1/4画素精度の動きベクトルと、最適な1/4画素精度の動きベクトルのコスト値を算出する(SD4)。
該真ん中の点でない場合には、図4の処理に従い、1/2画素精度のコスト値の断面を用いて、最適な1/4画素精度の動きベクトルと、最適な1/4画素精度の動きベクトルのコスト値を算出する(SD5)。こうして、一連の処理を終了する(SD6)。
以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
例えば、1/4画素精度動きベクトル予測回路において、ノイズレベルを示す指標、画素の分散値、平均値、隣接ブロックの動きベクトルを用いて、1/4画素精度の動きベクトルを算出する予測回路を備えるようにしてもよい。
尚、前述した実施の形態では、コスト値Cost、SAD、SATDを例に挙げて説明したが、これに限定されることはなく、MAE(Mean Absolute Error)等を採用してもよい。
Figure 2010028221
MAEは絶対誤差ei=fi-yiの重み付けされた平均である。上記式において、fiは予測値、yiは真の値である。
また、Temporal filter等の動き検出を利用したNR(Noise Reduction)装置にも本アルゴリズムは適用可能である。この場合、動きベクトルの検出を行い、コスト値Costと動きベクトルを求める。そして、このコスト値Costに応じてTemporal filterの強度を適応的に変化させ、複数枚のフレームを入力としてフィルタリングを行い、その結果、ノイズが除去されたフレームを得ることになる。
本発明の第1の実施の形態に係る動きベクトル検出装置を採用した画像符号化装置の構成を示す図である。 本発明の第1の実施の形態に係る動きベクトル検出装置を用いた画像符号化装置による最適モード選択に関わる処理手順を説明するフローチャートである。 1/2画素の配列を示す図である。 本発明の第1の実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路による処理手順を詳述するフローチャートである。 1/4画素精度の点を特定する手順を示す概念図である。 一直線上に並ぶ画素の群の平均をとる手順を示す概念図である。 (a)乃至(d)は、1/4画素精度の点を示す動きベクトルを特定する手順を説明する概念図である。 本発明の第2の実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路による処理手順を詳述するフローチャートである。 (a)乃至(d)は、1/2画素におけるSATD値の比較により1/4画素精度の点を示す動きベクトルを動き補償に用いる動きベクトルと特定する為の概念図。 (a)及び(b)は、1/2画素におけるSATD値の比較により1/4画素精度の点を示す動きベクトルを動き補償に用いる動きベクトルと特定する為の他の概念図。 本発明の第2の実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路による処理手順の改良例を詳述するフローチャートである。 本発明の第2の実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路による他の処理手順の他の改良例を詳述するフローチャートである。 本発明の第2の実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路による他の処理手順の更に他の改良例を詳述するフローチャートである。 本発明の第2の実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路による他の処理手順の別の改良例を詳述するフローチャートである。 本発明の第3の実施の形態に係る画像符号化装置の1/4画素精度動き予測・補償回路による他の処理手順を示すフローチャートである。
符号の説明
1…画像符号化装置、2…A/D変換回路、3…画像並び替えバッファ、4…減算回路、5…イントラ予測回路、6…動き予測・補償回路、7…直交変換回路、8…量子化回路、9…レート制御回路、10…可逆符号化回路、11…蓄積バッファ、12…逆量子化回路、13…逆直交変換回路、14…デブロックフィルタ、15…フレームメモリ、16…イントラ・インターモード判定回路。

Claims (17)

  1. 予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備える
    動きベクトル検出装置。
  2. 前記第1の画素精度の前記コスト値の断面とは、所定方向の画素からなる群である
    請求項1に記載の動きベクトル検出装置。
  3. 符号化効率を示すコスト関数によるコスト値の比較により、複数の第1の予測モード及び複数の第2の予測モードから符号化処理に供する最適モードを所定ブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化手段と、
    前記第1の予測モード毎に最適な動きベクトルの候補となる複数の動きベクトルに対し第1の精度の前記コスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償手段とを備える
    画像符号化装置。
  4. 前記第1の画素精度の前記コスト値の断面とは、所定方向の画素からなる群である
    請求項3に記載の画像符号化装置。
  5. 前記第1の予測モードとは、インター予測モードであり、前記第2の予測モードとは、イントラ予測モードであり、前記第1の画素精度とは1/2は画素精度であり、前記第2の画素精度とは1/4画素精度である
    請求項3に記載の画像符号化装置。
  6. 前記第2の画素精度は、前記第1の画素精度に比して精細な画素精度である
    請求項3に記載の画像符号化装置。
  7. 前記動き予測・補償手段は、前記第1の画素精度の動き探索における、予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から該第1の画素精度において一直線上にある少なくとも3点を選択し、SAD或いはSATD値の最小値が中央の点である場合、前記第1の画素精度で最小のSAD或いはSATD値である点を示す動きベクトルを上記直線上の第2の画素精度の動きベクトルと特定し、前記第2の画素精度の最小のSAD或いはSATD値を前記動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する
    請求項5に記載の画像符号化装置。
  8. 前記動き予測・補償手段は、前記第1の画素精度の動き探索における、予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から該第1の画素精度において一直線上にある少なくとも3点を選択し、SAD或いはSATD値の最小値が端にあり、二番目に小さい点が中央の点であり、一番目、二番目のSAD或いはSATD値の差が小さく、二番目、三番目のSAD或いはSATD値の差が大きい場合、一番目、二番目に小さい点の中間点を示す動きベクトルを、上記直線上の第2の画素精度の動きベクトルと特定し、一番目、二番目、三番目のSAD或いはSATD値の関係から、前記動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する
    請求項5に記載の画像符号化装置。
  9. 前記動き予測・補償手段は、前記第1の画素精度の動き探索における、予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から該第1の画素精度において一直線上にある少なくとも3点を選択し、SAD或いはSATDの最小値が端にあり、二番目に小さい点が真ん中の点であり、一番目、二番目のSAD或いはSATD値の差と、二番目、三番目のSAD或いはSATD値の差が同程度の場合、二番目に小さい点を示す動きベクトルを、上記直線上の第2の画素精度の動きベクトルと特定し、二番目のSAD或いはSATD値を、前記動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する
    請求項5に記載の画像符号化装置。
  10. 前記動き予測・補償手段は、前記第1の画素精度の動き探索における、予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から該第1の画素精度において一直線上にある少なくとも3点を選択し、SAD或いはSATDの最小値が端にあり、一番目、真ん中の点のSAD或いはSATD値の差が大きく、真ん中、逆の端の点のSAD或いはSATD値の差が小さい場合、二番目に小さい点から最小の点の延長上に存在する第2の画素精度の点を示す動きベクトルを、動き補償に用いる動きベクトルと特定し、一番目、二番目、三番目のSAD或いはSATD値の関係から、前記動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する
    請求項5に記載の画像符号化装置。
  11. 前記動き予測・補償手段は、前記第1の画素精度において一直線上にある少なくとも3点の組を二つそれぞれが直交するように選択し、各直線上における第2の画素精度の動きベクトル点、コストを導出し、前記直線に対し前記第2の画素精度動きベクトル点から直交する直線を引き、それぞれが交わる点を、第2の画素精度の動きベクトルと特定し、各直線上における第2の画素精度の動きベクトル点の予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から、上記第2の画素精度の動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する
    請求項5に記載の画像符号化装置。
  12. 前記動き予測・補償手段は、前記第1の画素精度において一直線上にある少なくとも3点の組を二つそれぞれが直交するように選択し、特に前記第1の画素精度の予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値が最小となる点において直交するように選択する予測回路を備える
    請求項5に記載の画像符号化装置。
  13. 前記動き予測・補償手段は、前記第1の画素精度において、x値が同じ値の3点の平均をとりX1, X2, X3とし、y値が同じ値の3点の平均をとりY1, Y2, Y3とし、(X1, X2, X3)、(Y1, Y2, Y3)において、所定の条件判定を用いて、それぞれの直線上における前記第2の画素精度の動きベクトル点、コストを導出し、前記直線に対し前記第2の画素精度動きベクトル点から直交する直線を引き、それぞれが交わる点を、前記第2の画素精度の動きベクトルと特定し、それぞれの直線上における前記第2の画素精度の動きベクトル点の予測誤差の絶対値和であるSAD値、或いは予測誤差をアダマール変換した絶対値和であるSATD値から、上記前記第2の画素精度の動きベクトルのSAD或いはSATD値とし、前記動きベクトルのコスト値を算出する
    請求項5に記載の画像符号化装置。
  14. 予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度のコスト値の分布に応じて、該第1の画素精度の前記コスト値の断面、或いは前記複数のコスト値の勾配を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する動き予測・補償回路を備える
    動きベクトル検出装置。
  15. 前記動き予測・補償回路は、前記第1の画素精度の予測誤差をアダマール変換した絶対値和であるSATD値の最小点が配列された画素の真ん中の点である場合には、前記複数のコスト値の勾配を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出し、該真ん中の点でない場合には、第1の画素精度の前記コスト値の断面、或いは前記複数のコスト値の勾配を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出するする動き予測・補償回路を備える
    請求項14に記載の動きベクトル検出装置。
  16. 予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する
    動きベクトル検出方法。
  17. コンピュータが、予測モード毎に、最適な動きベクトルの候補となる複数の動きベクトルに対して第1の画素精度の符号化効率を示すコスト関数によるコスト値を算出し、該第1の画素精度の前記コスト値の断面を用いて、最適な第2の画素精度の動きベクトルと、前記最適な第2の画素精度の動きベクトルのコスト値を算出する
    プログラム。
JP2008184041A 2008-07-15 2008-07-15 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム Pending JP2010028221A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008184041A JP2010028221A (ja) 2008-07-15 2008-07-15 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
US12/460,132 US8385423B2 (en) 2008-07-15 2009-07-14 Motion vector detecting device, motion vector detecting method, image encoding device, and program
EP20090165569 EP2146509A1 (en) 2008-07-15 2009-07-15 Motion vector detection
CN2009101399395A CN101631245B (zh) 2008-07-15 2009-07-15 运动矢量检测设备、检测方法、图像编码设备和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008184041A JP2010028221A (ja) 2008-07-15 2008-07-15 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2010028221A true JP2010028221A (ja) 2010-02-04

Family

ID=41255652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008184041A Pending JP2010028221A (ja) 2008-07-15 2008-07-15 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム

Country Status (4)

Country Link
US (1) US8385423B2 (ja)
EP (1) EP2146509A1 (ja)
JP (1) JP2010028221A (ja)
CN (1) CN101631245B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099242A1 (ja) * 2010-02-12 2011-08-18 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI271106B (en) * 2005-10-25 2007-01-11 Novatek Microelectronics Corp Apparatus and method for motion estimation supporting multiple video compression standards
CN101755462A (zh) * 2008-05-20 2010-06-23 松下电器产业株式会社 图像编码装置以及图像编码方法
KR101255880B1 (ko) * 2009-09-21 2013-04-17 한국전자통신연구원 기저계층의 화질을 향상시키는 스케일러블 비디오 부/복호화 방법 및 장치
CN102025985A (zh) * 2009-09-23 2011-04-20 鸿富锦精密工业(深圳)有限公司 视频编解码装置及其插值计算方法
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US8923639B2 (en) * 2010-04-15 2014-12-30 Konica Minolta Holdings, Inc. Image processing system, image processing method, and program
JP5805991B2 (ja) * 2010-05-07 2015-11-10 トムソン ライセンシングThomson Licensing ピクチャ・シーケンスを符号化する方法、それに対応する再構築方法、および当該シーケンスを表す符号化データのストリーム
CN101895755B (zh) * 2010-07-20 2012-10-03 杭州电子科技大学 一种快速4x4块帧内预测模式选择方法
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CN107105280B (zh) * 2010-12-14 2020-01-03 M&K控股株式会社 用于编码运动画面的设备
GB2487200A (en) 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
GB2491589B (en) 2011-06-06 2015-12-16 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of image
US9210438B2 (en) 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
CN107277506B (zh) * 2017-08-15 2019-12-03 中南大学 基于自适应运动矢量精度的运动矢量精度选择方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005064655A (ja) * 2003-08-08 2005-03-10 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び動きベクトル検出装置
JP2005136941A (ja) * 2003-10-10 2005-05-26 Sony Corp データ処理装置およびその方法と符号化装置
JP2008042424A (ja) * 2006-08-04 2008-02-21 Hitachi Ltd 画像マッチング装置及び画像マッチング方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3854171T2 (de) 1987-06-09 1995-12-21 Sony Corp Bewertung von Bewegungsvektoren in Fernsehbildern.
GB2222498A (en) 1988-09-05 1990-03-07 Philips Electronic Associated Picture motion measurement
US6141382A (en) 1998-09-18 2000-10-31 Sarnoff Corporation Using estimated distortion values
JP2003230149A (ja) 2002-02-05 2003-08-15 Mitsubishi Electric Corp 高圧縮符号化装置
JP4360093B2 (ja) 2003-02-05 2009-11-11 ソニー株式会社 画像処理装置および符号化装置とそれらの方法
US20070217515A1 (en) * 2006-03-15 2007-09-20 Yu-Jen Wang Method for determining a search pattern for motion estimation
US7929608B2 (en) * 2006-03-28 2011-04-19 Sony Corporation Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder
JP2008184041A (ja) 2007-01-30 2008-08-14 Mitsuba Corp ワイパ装置及びワイパ装置用防水カバー

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005064655A (ja) * 2003-08-08 2005-03-10 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び動きベクトル検出装置
JP2005136941A (ja) * 2003-10-10 2005-05-26 Sony Corp データ処理装置およびその方法と符号化装置
JP2008042424A (ja) * 2006-08-04 2008-02-21 Hitachi Ltd 画像マッチング装置及び画像マッチング方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099242A1 (ja) * 2010-02-12 2011-08-18 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JPWO2011099242A1 (ja) * 2010-02-12 2013-06-13 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP5442039B2 (ja) * 2010-02-12 2014-03-12 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法

Also Published As

Publication number Publication date
US20100020881A1 (en) 2010-01-28
EP2146509A1 (en) 2010-01-20
CN101631245A (zh) 2010-01-20
US8385423B2 (en) 2013-02-26
CN101631245B (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
US11563968B2 (en) Video encoding and decoding
US11107251B2 (en) Image processing device and method
JP2010028221A (ja) 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
KR100924850B1 (ko) 동화상 신호의 부호화 방법 및 복호화 방법
US8358860B2 (en) Motion vector detecting device, motion vector detecting method, image encoding device, and program
US8175159B2 (en) Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
JP2007329693A (ja) 画像符号化装置、及び画像符号化方法
WO2006035584A1 (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
KR20140029434A (ko) 영상 부호화 방법, 장치, 영상 복호 방법, 장치 및 그 프로그램
CN102572424A (zh) 图像处理设备、方法和程序
JP2010081498A (ja) 画像圧縮符号化方法、及び装置
KR100992599B1 (ko) 멀티 연산 기능을 구비한 영상 복호화 장치 및 방법

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20091022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110426