JP5441812B2 - 動画像符号化装置、及びその制御方法 - Google Patents

動画像符号化装置、及びその制御方法 Download PDF

Info

Publication number
JP5441812B2
JP5441812B2 JP2010110595A JP2010110595A JP5441812B2 JP 5441812 B2 JP5441812 B2 JP 5441812B2 JP 2010110595 A JP2010110595 A JP 2010110595A JP 2010110595 A JP2010110595 A JP 2010110595A JP 5441812 B2 JP5441812 B2 JP 5441812B2
Authority
JP
Japan
Prior art keywords
motion vector
difference
image
motion
smaller
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
Application number
JP2010110595A
Other languages
English (en)
Other versions
JP2011239307A (ja
Inventor
晃弘 大石
寛朗 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010110595A priority Critical patent/JP5441812B2/ja
Priority to US13/097,806 priority patent/US20110280308A1/en
Publication of JP2011239307A publication Critical patent/JP2011239307A/ja
Application granted granted Critical
Publication of JP5441812B2 publication Critical patent/JP5441812B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/567Motion estimation based on rate distortion criteria
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、動画像符号化装置、及びその制御方法に関する。
従来、被写体を撮影し、撮影により得られた動画像データを圧縮符号化して記録する動画像符号化装置として、デジタルビデオカメラがよく知られている。近年では、動画像データを記録する記録媒体は、従来の磁気テープからランダムアクセス性などの利便性が高いディスク媒体や半導体メモリなどに移り変わってきている。符号化方式としては、フレーム間での動き予測を用いる符号化(動き補償予測符号化)により動画像データを高い圧縮率で圧縮可能なMPEG2方式が普及している。また、近年では、動画像データを更に高い圧縮率で圧縮可能なH.264方式なども用いられている。
動き補償予測符号化を行う動画像符号化装置は、フレーム画像を分割した符号化単位であるマクロブロック(MCブロック)単位に、フレーム間の動きベクトルを探索し、動き補償を行うことによって情報量を削減する。動きベクトルを探索するときは、符号化対象のマクロブロックの画像(符号化対象画像)と参照ブロックの画像(参照画像)との類似度が考慮される。即ち、情報量を削減するには、符号化対象画像と参照画像との間の類似度を大きくする(符号化すべき差分画像を小さくする)動きベクトルが適している。
しかしながら、動き補償を利用する場合、差分画像に加えて、動きベクトルも符号化して記録する必要がある。従って、全体としての情報量を削減するためには、符号化対象画像と参照画像との間の類似度だけではなく、動きベクトルの符号量も考慮する必要がある。そこで、一般的には以下の評価関数を用いて動きベクトルの探索が行われる。
C = D + λR (1)
ここで、Dは符号化対象画像と参照画像との間の差分、Rは動きベクトルの符号量、λは係数である。従って、Cは、使用された(候補の)動きベクトルの符号化コストを示す。差分Dは、差分二乗和や差分絶対値和などを用いて表現される。係数λとしては、量子化ステップが一般的には使用される。
ところで、動きベクトルの符号量Rは、その動きベクトルと、符号化対象のマクロブロックの周囲のマクロブロックの動きベクトルとの差分に基づいて算出される。従って、複数のマクロブロックの動きベクトルを並行して探索する場合、動きベクトルの符号量Rを算出する際に周囲のマクロブロックの動きベクトルが選択されておらず、正確な算出を行えない可能性がある。これに対処するための技術が、例えば特許文献1に記載されている。
特開2008−154072号公報
上述した式(1)に従って動きベクトルを探索する場合、差分Dを最小にしない動きベクトルが選択される可能性がある。即ち、動画像における実際の動き(変化)に最も近い動きベクトルとは異なる動きベクトルが選択され、その結果、符号化された動画像の画質が劣化する可能性がある。
一般的には、画質の劣化は視覚的にそれほど明確には認識されない。しかしながら、変化の小さな動画像(例えば、青空の中を雲が形状を維持したまま移動する動画像)の場合、画質の劣化が視覚的に認識され易い(例えば、復号画像において雲の残像として認識される)。
従来の技術では係数λが固定されているため、どのような動画像に対しても動きベクトルの符号量が同じ重みで考慮される。その結果、画質の劣化が認識され易い動画像に対しても、動画像における実際の動きにそれほど近くない動きベクトルが選択され、画質に対するユーザの満足度を低下させる可能性がある。特許文献1も、このような問題については考慮していない。
本発明はこのような状況に鑑みてなされたものであり、動き補償予測符号化において、変化の小さな動画像における画質の劣化を抑制するように動きベクトルを選択する技術を提供することを目的とする。
上記課題を解決するために、第1の本発明は、符号化対象画像の所定の位置に存在する符号化対象ブロック画像に対して、候補としての複数の動きベクトルから選択される1つの動きベクトルを使用して動き補償予測符号化を行う動画像符号化装置であって、前記複数の動きベクトルそれぞれについて、前記符号化対象ブロック画像と、前記所定の位置に対応する参照画像内の位置を動きベクトルに従って移動させた位置に存在する参照ブロック画像との差分を算出する算出手段と、選択される動きベクトルを符号化した場合の符号量が小さくなることと当該選択される動きベクトルに対応する前記差分が小さくなることとが所定のバランスで達成されるように、前記複数の動きベクトルから1つの動きベクトルを選択する選択手段と、前記選択手段で選択された動きベクトルと、当該動きベクトルについて前記算出手段で算出された差分とを符号化する符号化手段と、を備え、前記所定のバランスは、前記算出手段で算出された複数の差分の最小値が小さいほど、前記符号量が小さくなることよりも前記差分が小さくなることを優先し、当該最小値が大きいほど、当該差分が小さくなることよりも当該符号量が小さくなることを優先するバランスであることを特徴とする動画像符号化装置を提供する。
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
以上の構成により、本発明によれば、動き補償予測符号化において、変化の小さな動画像における画質の劣化を抑制するように動きベクトルを選択することが可能となる。
本実施形態に係る動画像符号化装置100の構成例を示すブロック図 ブロック画像と参照ブロック画像との差分の最小値を検索する処理を示すフローチャート 係数λの決定処理を示すフローチャート(第1の実施形態) 図2で算出されたSAD及び図3で決定された係数λに基づく、動きベクトルの選択処理を示すフローチャート 係数λの決定処理を示すフローチャート(第2の実施形態) 動きベクトル選択部103の構成を示すブロック図(第3の実施形態) 動きベクトル選択部103の構成を示すブロック図(第4の実施形態)
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
[第1の実施形態]
図1は、本実施形態に係る動画像符号化装置100の構成例を示すブロック図である。ここでは、レンズやCCD等のカメラ部を含む撮像部101と、フレームメモリ102と、動きベクトルを探索する動きベクトル選択部103と、動きベクトルに基づきインター予測画像データを生成するフレーム間動き補償部104を備える。また、イントラ予測画像データを生成するイントラ予測部105、インター予測画像データとイントラ予測画像データとのいずれかを選択する選択部106と、減算器107と、整数変換部108と、量子化部109とを備えている。さらに、逆量子化部110と、逆整数変換部111と、加算器112と、ループ内フィルタ113と、エントロピー符号化部115と、量子化制御部116と、符号量制御部117と、記録部118とを備えている。また、動画像符号化装置100には記録媒体119が装着されており、フレームメモリ102は、インター予測に用いる参照画像を記憶する参照画像メモリ114を備えている。
図1の動画像符号化装置100において、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをCPUが実行することにより、ソフトウェア的に構成されてもよい。
撮像部101により撮像して得られた動画像データは、第1フレーム、第2フレーム、第3フレーム、・・・のように生成順序で、フレームメモリ102に順次格納される。フレームメモリ102からは、例えば、第3フレーム、第1フレーム、第2フレーム、・・・と、符号化を行う順序で画像データを取り出していく。
ここで、符号化方法には、フレーム内の画像データのみで符号化するイントラ予測符号化と、フレーム間での予測も含めて符号化するインター予測符号化とがある。インター予測符号化を行うピクチャは、動き補償の単位(MCブロック)に対して1枚の参照フレームとの予測を行うPピクチャと、MCブロックに対して2枚までの参照フレームとの予測を行うBピクチャとがある。一方、イントラ予測符号化を行うピクチャは、Iピクチャである。なお、符号化するフレームの順番が入力されたフレームの順番と異なるのは、過去のフレームだけではなく、時間的に未来のフレームとの予測(後方予測)を可能にするためである。
イントラ予測符号化を行う場合、符号化単位となる符号化対象ブロックの画像データがフレームメモリ102から読み出されて、イントラ予測部105へ入力される。本実施形態では、1つの符号化対象ブロックの単位を横16画素×縦16画素とする。また、読み出された符号化対象ブロックに隣接する画素のデータもフレームメモリ102から読み出されて、イントラ予測部105へ入力される。
イントラ予測部105は、符号化対象ブロックと、その符号化対象ブロックに隣接する画素のデータから生成される複数のイントラ予測画像データとのブロックマッチングをそれぞれに行う。そして、最も相関の高いイントラ予測画像データを選択して選択部106へ出力する。イントラ予測符号化を行う場合は、選択部106は常にイントラ予測部105からの出力を選択し、イントラ予測画像データを減算器107に出力する。
減算器107には、イントラ予測画像データとフレームメモリ102から読み出される符号化対象画像のブロック画像データとが入力され、符号化対象画像のブロック画像とイントラ予測画像との画素値の差分画像データを整数変換部108へ出力する。整数変換部108は、入力された画素値の差分画像データに整数変換を施し、量子化部109は、整数変換部108により整数変換された信号に対して量子化処理を行う。
エントロピー符号化部115は、量子化部109により量子化された変換係数をエントロピー符号化し、データストリームとして記録部118に出力する。ここで、量子化部109における量子化係数は、エントロピー符号化部115で発生した符号量や、符号量制御部117から設定される目標符号量などから量子化制御部116が算出する。記録部118は、エントロピー符号化部115から出力されたデータストリームを記録媒体119に記録する。
また、量子化部109により量子化された変換係数は、逆量子化部110にも入力される。逆量子化部110は、入力された変換係数を逆量子化し、逆整数変換部111は、逆量子化された信号に対して逆整数変換処理を施す。
加算器112には、逆整数変換されたデータと、イントラ予測部105で生成されたイントラ予測画像データとが入力されて加算される。加算後のデータは復号された再構成画像データとなり、イントラ予測部105に入力されてイントラ予測画像データの生成に用いられる。また、再構成画像データは、ループ内フィルタ113によって符号化歪の軽減処理が施され、後述するインター予測符号化の際に用いる参照画像データとして参照画像メモリ114に記憶される。
一方、インター予測符号化を行う場合、符号化単位となる符号化対象画像のブロック画像がフレームメモリ102から読み出されて、動きベクトル選択部103へ入力される。また、動きベクトル選択部103は、参照画像データを参照画像メモリ114から読み出し、符号化対象画像のブロック画像と参照画像とから動きベクトルを選択して、フレーム間動き補償部104に通知する。
フレーム間動き補償部104は、動きベクトル選択部103で選択された動きベクトルと、フレームメモリ102から得られた参照画像とを用いてインター予測画像データを生成し、動きベクトルと共に選択部106に提供する。選択部106は、インター予測符号化を行う場合には、インター予測画像データを選択して減算器107に提供する。
なお、フレームによっては、符号化対象ブロックごとにインター予測かイントラ予測かを選択することができる。イントラ予測を行う場合は前述のように動作し、イントラ予測の結果を選択部106へ通知する。インター予測を行う場合、選択部106はフレーム間動き補償部104からのインター予測画像データを選択して減算器107に出力する。選択部106は、動きベクトル選択部103におけるインター予測結果とイントラ予測部105におけるイントラ予測結果とに基づき、例えば、差分値が小さい方の予測方法を選択することができる。
減算器107では、符号化対象画像のブロック画像と予測画像との差分を計算し、差分画像データが生成される。差分画像データは整数変換部108に出力され、その後の処理は前述したイントラ予測符号化の場合と同様である。
次に、図2乃至図4を参照して、動きベクトル選択部103による動きベクトルの選択処理について詳細に説明する。動きベクトル選択部103は、候補としての複数の動きベクトル(候補ベクトル)のうちの1つを選択する。候補ベクトルの集合は、符号化対象のマクロブロックの画像(ブロック画像)の位置を基準として、参照画像の所定の範囲をカバーするように定義される。以下の説明において、符号化対象ブロック画像の位置に対応する参照画像内の位置を動きベクトルに従って移動させた位置に存在するブロック画像を、参照ブロック画像と呼ぶ。なお、マクロブロックは、符号化対象画像を分割して得られる。
図2は、符号化対象画像の所定の位置に存在する符号化対象ブロック画像と参照ブロック画像との差分の最小値を検索する処理を示すフローチャートである。本実施形態では、差分として、差分絶対値和(Sum of Absolute Differences(SAD))を使用する。
S201で、動きベクトル選択部103は、ベクトル探索のための最初のアドレスiをセットする(例えば、iに0が代入され、(i+1)番目の候補ベクトルが以下のS202乃至S204において使用される)。また、動きベクトル選択部103は、SADの最小値を示す変数であるMin_SADに、十分に大きな値(MAX_DAT)をセットする。
S202で、動きベクトル選択部103は、アドレスiのSAD(SAD[i])を算出する。具体的には、動きベクトル選択部103は、符号化対象ブロック画像と、(i+1)番目の候補ベクトルに従って選択された参照ブロック画像との間のSADを算出する。
S203で、動きベクトル選択部103は、SAD[i]がMin_SADより小さいか否かを判定する。SAD[i]がMin_SADより小さい場合、S204で、動きベクトル選択部103は、Min_SADにSAD[i]を代入する。SAD[i]がMin_SADより小さくない場合、処理はS204をスキップしてS205に進む。
S205で、動きベクトル選択部103は、全ての候補ベクトルについてSADの算出が完了しているか否かを判定する。完了している場合、本フローチャートの処理は終了する。そうでない場合、S206で、動きベクトル選択部103は、アドレスを1つ進め、処理をS202に戻す。
以上の処理により、候補ベクトルの集合に対する最小SADが算出される。最小SADが小さいということは、符号化対象の動画像の変化が小さい(例えば、青空の中を雲が形状を維持したまま静止又は移動している)ということを意味する。反対に、最小SADが大きいということは、符号化対象の動画像の変化が大きい(例えば、青空の中で雲の形状が変化した、又は、符号化対象が常に変化している水の動画像である)ということを意味する。そこで、動きベクトル選択部103は次に、最小SADに基づいて、動きベクトルの選択に使用する計算式のための係数λを決定する。
図3は、係数λの決定処理を示すフローチャートである。S301で、動きベクトル選択部103は、図2で算出したMin_SADをセットする。S302で、動きベクトル選択部103は、Min_SADが閾値Th1より小さいか否かを判定する。小さい場合、処理はS303に進み、そうでない場合、処理はS304に進む。
S303で、動きベクトル選択部103は、係数λに0を代入し、本フローチャートの処理を終了する。後述する式(2)から理解できるように、係数λが0の場合、ベクトルの符号量が考慮されず、SADだけに基づいて動きベクトルが選択される。従って、全体としての情報量の削減よりも、画質の向上が優先される。
S304で、動きベクトル選択部103は、Min_SADが閾値Th2より小さいか否かを判定する。小さい場合、処理はS305に進み、そうでない場合、処理はS306に進む。
S305で、動きベクトル選択部103は、係数λにN(量子化ステップ)を代入し、本フローチャートの処理を終了する。即ち、Th1≦Min_SAD<Th2の場合、動きベクトルの符号量は係数Nを掛けた重みで考慮される。
S306で、動きベクトル選択部103は、係数λにN+α(α>0)を代入し、本フローチャートの処理を終了する。この場合、動きベクトルの符号量は、Th1≦Min_SAD<Th2の場合よりも大きな重みで考慮される。即ち、動きの大きな動画像の場合(Min_SAD≧Th2の場合)、一般的に画質の劣化は認識され難いため、画質の向上よりも全体としての情報量の削減が優先される。
図4は、図2で算出されたSAD及び図3で決定された係数λに基づく、動きベクトルの選択処理を示すフローチャートである。S401で、動きベクトル選択部103は、ベクトル探索のための最初のアドレスiをセットする(例えば、iに0が代入され、(i+1)番目の候補ベクトルが以下のS202乃至S204において使用される)。また、動きベクトル選択部103は、図3で決定した係数λをセットする。更に、動きベクトル選択部103は、符号化コストの最小値を示す変数であるMin_Costに、十分に大きな値(MAX_Cost)をセットする。
S402で、動きベクトル選択部103は、アドレスiのSAD(SAD[i])と、アドレスiの動きベクトルの符号量Rと算出する。SAD[i]については、図2のS202で算出したものを再利用できる。
S403で、動きベクトル選択部103は、アドレスiの動きベクトルを選択した場合の符号化コストがMin_Costより小さいか否かを判定する。ここで符号化コストは、
Cost = SAD[i] + λR (2)
に従って算出される。符号化コスト<Min_Costの場合、処理はS404に進み、そうでない場合、処理はS405に進む。
S404で、動きベクトル選択部103は、Min_Costに、式(2)で算出された符号化コストを代入する。また、動きベクトル選択部103は、この時のアドレスiを記憶する(既に記憶されている場合、記憶されているアドレスを、この時のアドレスiで更新する)。
S405で、動きベクトル選択部103は、全ての候補ベクトルについて符号化コストの算出が完了しているか否かを判定する。完了している場合、本フローチャートの処理は終了する。そうでない場合、S406で、動きベクトル選択部103は、アドレスを1つ進め、処理をS402に戻す。
以上の処理により、動き補償予測符号化における符号化対象ブロック画像に対して最終的に使用される動きベクトルが、候補ベクトルの集合から選択される。即ち、図4のフローチャートの処理が終了した時点で記憶されているアドレスi(S404で最後に記憶されたもの)に対応する動きベクトルが選択される。
以上の説明においては、SAD、Th1、Th2、及び式(2)のような、具体的な差分の表現、閾値、及び計算式などに言及した。しかしながら、本実施形態は、このような具体的な言及によっては限定されない。本実施形態において重要なことは、符号化対象ブロック画像と参照ブロック画像との差分が小さくなることと動きベクトルの符号量が小さくなることとが所定のバランスで達成されるように、動きベクトルが選択されることである。ここで、所定のバランスは、差分の最小値が小さいほど、動きベクトルの符号量が小さくなることよりも差分が小さくなることを優先し、差分の最小値が大きいほど、差分が小さくなることよりも動きベクトルの符号量が小さくなることを優先するバランスである。
従って、本実施形態においては、例えば、SADの代わりにSATD(Sum of Absolute Transformed Differences)が使用されてもよい。また、図3においてTh1及びTh2を使用する代わりに、λ=f(Min_SAD)という関数(SADが小さいほどλが小さくなる)によって係数λを決定してもよい。
以上説明した構成により、本実施形態によれば、動き補償予測符号化において、変化の小さな動画像における画質の劣化を抑制するように動きベクトルを選択することが可能となる。
[第2の実施形態]
第2の実施形態では、係数λを決定する際に、符号化対象ブロック画像の特徴量を利用する。第2の実施形態は、図3に示す処理が図5に示す処理に置き換わること以外は、第1の実施形態と同様である。以下、図5を参照して、第2の実施形態について説明する。図5において、図3と同一又は同様の処理が行われるステップには同一の符号を付し、説明を省略する。
S510で、動きベクトル選択部103は、符号化対象ブロック画像の特徴量を検出する。特徴量は、符号化対象ブロック画像内の各画素のばらつきの度合いを示す。本実施形態では、特徴量として、分散値を利用するが、代わりに、輝度値の平均値やダイナミックレンジなどを利用してもよい。S511で、動きベクトル選択部103は、分散値に基づいて、閾値Th1の値を決定する。
マクロブロックの特徴量として用いた分散値は、符号化難易度に相関があり、複雑な画像であれば数値は大きくなり、平坦な画像であれば数値は小さくなる。分散値が大きい画像は、動き検出で間違った位置のSADが大きくなる傾向がある。また、分散値の小さい画像は、動き検出で間違った位置のSADでもそれほど大きくならない。更に、ノイズ等により間違った位置のSADが最小となる場合がある。
このため、分散値の小さい画像では、Th1により小さい数値を代入し、係数λを0以外にする。換言すれば、第1の実施形態において説明した「差分の最小値が小さいほど、動きベクトルの符号量が小さくなることよりも差分が小さくなることを優先し、差分の最小値が大きいほど、差分が小さくなることよりも動きベクトルの符号量が小さくなることを優先するバランス」における、優先の傾向が弱められる。
[第3の実施形態]
第3の実施形態では、処理の一部を並列化することにより動きベクトルの選択を高速化する構成について説明する。
図6は、第3の実施形態に係る動きベクトル選択部103の構成を示すブロック図である。図6において、符号化対象ブロック画像取得部601、参照ブロック画像取得部602、動きベクトル設定部603、及び差分算出部604は、第1の実施形態と同様に、複数の動きベクトルそれぞれについてSADを算出する(図2参照)。
具体的には、符号化対象ブロック画像取得部601は符号化対象ブロック画像をフレームメモリ102から取得する。参照ブロック画像取得部602は、動きベクトル設定部603が設定した動きベクトルに従って、参照ブロック画像を参照画像メモリ114から取得する。動きベクトル設定部603は、候補ベクトルの第1の集合から各候補ベクトルを順に参照ブロック画像取得部602に設定する。候補ベクトルの第1の集合は、第1の実施形態における候補ベクトルの集合に対応する。差分算出部604は、符号化対象ブロック画像取得部601が取得したブロック画像と参照ブロック画像取得部602が取得した参照ブロック画像との差分(ここでは、SADとする)を算出する。差分算出部604は、算出したSADをN個の候補ベクトル選択部606−1、606−2、・・・、606−N(候補選択手段)へ出力する。差分算出部604はまた、算出したSADを、係数選択部607に出力する。ここで、差分算出部604は、第1の集合の全ての動きベクトルについてのSADの算出が完了していなくても、算出済みのSADから順に出力を行う。即ち、差分算出部604は、SAD[0]が算出された時点でSAD[0]を出力し、SAD[1]が算出された時点でSAD[1]を出力する。
SADの算出と並行して、動きベクトル設定部603は、参照ブロック画像取得部602に対して設定した動きベクトルを動きベクトル符号量算出部605に通知する。動きベクトル符号量算出部605は、設定された動きベクトルの符号量を算出し、候補ベクトル選択部606−1、606−2、・・・、606−Nへ出力する。差分算出部604によるSADの出力と同様に、動きベクトル符号量算出部605は、算出済みの符号量から順に出力を行う。
候補ベクトル選択部606−1、606−2、・・・、606−Nそれぞれは、図4を参照して説明した手順で、候補ベクトルの第1の集合から、符号化コストが最小となる動きベクトルを選択する。但し、第1の実施形態とは異なり、係数λは、候補ベクトル選択部606−1、606−2、・・・、606−Nそれぞれに対して異なる値(λ1、λ2、・・・、λN)が事前に設定されている。候補ベクトル選択部606−1、606−2、・・・、606−Nそれぞれが1つの動きベクトルを選択するので、最終的にN個の動きベクトルが選択される。このN個の動きベクトルを、候補ベクトルの第2の集合と呼ぶ。
係数選択部607は、差分算出部604が出力したSADから、Min_SADを検索する。そして、係数選択部607は、Min_SADに基づいて、係数λ1、λ2、・・・、λNのうちの1つを選択する。具体的には、λ1<λ2<・・・<λNとした場合、係数選択部607は、Min_SADが閾値Th1より小さいときはλ1を選択し、Min_SADが閾値Th2より小さいときはλ2を選択するというように、N−1個の閾値に基づいて係数の選択を行う。次に、係数選択部607は、候補ベクトルの第2の集合のうち、選択された係数に対応する候補ベクトル選択部が選択した動きベクトルを、最終的に使用する動きベクトルとして選択する。例えば係数λ2が選択された場合、係数選択部607は、候補ベクトル選択部606−2が選択した動きベクトルを最終的に使用する動きベクトルとして選択する。
前述の通り、候補ベクトル選択部606−1、606−2、・・・、606−Nに係数が事前に設定されており、算出済みのSAD及び符号量が順に出力される。従って、候補ベクトル選択部606−1、606−2、・・・、606−Nそれぞれは、SADの算出と並行して符号化コストを算出可能である(図4のS404参照)。換言すれば、第3の実施形態では、動きベクトル選択部103が複数の候補ベクトル選択部606−1、606−2、・・・、606−Nを備えるので、図2の処理と図4の処理とが並列化される。従って、動きベクトルの選択が高速化される。
[第4の実施形態]
第4の実施形態では、動きベクトルの粗い探索と詳細な探索とを組み合わせることにより処理を高速化する構成について説明する。
図7は、第4の実施形態に係る動きベクトル選択部103の構成を示すブロック図である。図7において、図6と同一又は同様の機能を有するブロックには同一の符号を付し、説明を省略する。
符号化対象ブロック画像取得縮小部701、参照ブロック画像取得縮小部702、動きベクトル設定部703、及び差分算出部704は、第1算出手段として機能し、第1の実施形態と同様に、複数の動きベクトルそれぞれについてSADを算出すると共に、Min_SADを検索する(図2参照)。但し、符号化対象ブロック画像取得縮小部701は、取得したブロック画像を縮小する。また、参照ブロック画像取得縮小部702は、取得した参照ブロック画像を取得する。処理対象の画像が縮小されているため、SADの算出処理が高速化される。
係数決定部706は、第1の実施形態と同様に、係数λを決定する(図3参照)。動きベクトル符号量算出部705及び動きベクトル仮選択部707は、第1選択手段として機能し、第1の実施形態と同様に、所定のバランス(第1のバランス)を考慮して候補ベクトルの集合から1つの動きベクトルを選択する(図4参照)。動きベクトル仮選択部707は、選択した動きベクトルを動きベクトル設定部708に通知する。
動きベクトル設定部708は、候補ベクトルの集合のうち、動きベクトル仮選択部707から通知された動きベクトルが指す位置からの距離が閾値以下の位置を指す動きベクトルそれぞれについて、参照ブロック画像取得部602に対して動きベクトルの設定を行う。符号化対象ブロック画像取得部601、参照ブロック画像取得部602、差分算出部604、及び動きベクトル設定部708は、第2算出手段として機能する。また、動きベクトル設定部708は、設定した動きベクトルを動きベクトル符号量算出部605に通知する。
動きベクトル符号量算出部605及び動きベクトル最終選択部709は、第2選択手段として機能し、候補ベクトルの集合のうち、動きベクトル仮選択部707から通知された動きベクトルが指す位置からの距離が閾値以下の位置を指す動きベクトルから、動きベクトルを選択する。具体的な処理は、第1の実施形態と同様であるが、第4の実施形態においては、係数λは事前に設定されている値である(係数決定部706が決定した値を利用してもよい)。また、符号化対象ブロック画像と参照ブロック画像との差分が小さくなることと動きベクトルの符号量が小さくなることとのバランスは、第1のバランスとは異なる第2のバランスで考慮されてもよい。また、候補ベクトルの集合の全てではなく、動きベクトル仮選択部707から通知された動きベクトルが指す位置からの距離が閾値以下の位置を指す動きベクトルが探索対象となる。
このような処理により、縮小されていない画像についての動きベクトルの探索範囲が、ベクトルを動きベクトル設定部708によって選択された動きベクトル近傍に制限される。従って、動きベクトルの選択処理が高速化される。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (8)

  1. 符号化対象画像の所定の位置に存在する符号化対象ブロック画像に対して、候補としての複数の動きベクトルから選択される1つの動きベクトルを使用して動き補償予測符号化を行う動画像符号化装置であって、
    前記複数の動きベクトルそれぞれについて、前記符号化対象ブロック画像と、前記所定の位置に対応する参照画像内の位置を動きベクトルに従って移動させた位置に存在する参照ブロック画像との差分を算出する算出手段と、
    選択される動きベクトルを符号化した場合の符号量が小さくなることと当該選択される動きベクトルに対応する前記差分が小さくなることとが所定のバランスで達成されるように、前記複数の動きベクトルから1つの動きベクトルを選択する選択手段と、
    前記選択手段で選択された動きベクトルと、当該動きベクトルについて前記算出手段で算出された差分とを符号化する符号化手段と、
    を備え、
    前記所定のバランスは、前記算出手段で算出された複数の差分の最小値が小さいほど、前記符号量が小さくなることよりも前記差分が小さくなることを優先し、当該最小値が大きいほど、当該差分が小さくなることよりも当該符号量が小さくなることを優先するバランスである
    ことを特徴とする動画像符号化装置。
  2. 前記選択手段は、前記算出手段で算出された複数の差分の最小値が小さいほど小さい値の係数を選択する係数選択手段を含み、
    前記選択手段は、選択される動きベクトルを符号化した場合の符号量と前記係数との積と、当該選択される動きベクトルに対応する前記差分と、の和が最小になるように、前記選択を行う
    ことを特徴とする請求項1に記載の動画像符号化装置。
  3. 前記符号化対象ブロック画像内の各画素の値のばらつきの度合いを検出する検出手段を更に備え、
    前記選択手段は、前記ばらつきの度合いが小さいほど、前記所定のバランスにおける前記優先の傾向を弱めて前記選択を行う
    ことを特徴とする請求項1に記載の動画像符号化装置。
  4. 前記選択手段は、
    異なる値の複数の係数それぞれについて、選択される動きベクトルを符号化した場合の符号量と係数との積と、当該選択される動きベクトルに対応する前記差分と、の和が最小になるように、前記複数の動きベクトルから1つの動きベクトルを候補ベクトルとして選択する候補選択手段と、
    前記算出手段で算出された複数の差分の最小値が小さいほど、前記複数の係数のうちの小さい値の係数について前記候補選択手段で選択された候補ベクトルを、前記選択手段が選択する1つの動きベクトルとして決定する決定手段と、
    を含むことを特徴とする請求項1に記載の動画像符号化装置。
  5. 符号化対象画像の所定の位置に存在する符号化対象ブロック画像に対して、候補としての複数の動きベクトルから選択される1つの動きベクトルを使用して動き補償予測符号化を行う動画像符号化装置であって、
    前記複数の動きベクトルそれぞれについて、前記符号化対象ブロック画像と、前記所定の位置に対応する参照画像内の位置を動きベクトルに従って移動させた位置に存在する参照ブロック画像とを縮小し、当該縮小されたブロック画像と当該縮小された参照ブロック画像との差分を算出する第1算出手段と、
    選択される動きベクトルを符号化した場合の符号量が小さくなることと当該選択される動きベクトルに対応する前記差分が小さくなることとが第1のバランスで達成されるように、前記複数の動きベクトルから1つの動きベクトルを選択する第1選択手段と、
    前記複数の動きベクトルのうち、前記第1選択手段で選択された動きベクトルが指す位置からの距離が閾値以下の位置を指す動きベクトルそれぞれについて、前記ブロック画像と前記参照ブロック画像との差分を算出する第2算出手段と、
    選択される動きベクトルを符号化した場合の符号量が小さくなることと当該選択される動きベクトルに対応する前記差分が小さくなることとが第2のバランスで達成されるように、前記複数の動きベクトルのうちの、前記第1選択手段で選択された動きベクトルが指す位置からの距離が前記閾値以下の位置を指す動きベクトルから、1つの動きベクトルを選択する第2選択手段と、
    前記第2選択手段で選択された動きベクトルと、当該動きベクトルについて前記第2算出手段で算出された差分とを符号化する符号化手段と、
    を備え、
    前記第1のバランスは、前記第1算出手段で算出された複数の差分の最小値が小さいほど、前記符号量が小さくなることよりも前記差分が小さくなることを優先し、当該最小値が大きいほど、当該差分が小さくなることよりも当該符号量が小さくなることを優先するバランスである
    ことを特徴とする動画像符号化装置。
  6. 符号化対象画像の所定の位置に存在する符号化対象ブロック画像に対して、候補としての複数の動きベクトルから選択される1つの動きベクトルを使用して動き補償予測符号化を行う動画像符号化装置の制御方法であって、
    算出手段が、前記複数の動きベクトルそれぞれについて、前記符号化対象ブロック画像と、前記所定の位置に対応する参照画像内の位置を動きベクトルに従って移動させた位置に存在する参照ブロック画像との差分を算出する算出工程と、
    選択手段が、選択される動きベクトルを符号化した場合の符号量が小さくなることと当該選択される動きベクトルに対応する前記差分が小さくなることとが所定のバランスで達成されるように、前記複数の動きベクトルから1つの動きベクトルを選択する選択工程と、
    符号化手段が、前記選択工程で選択された動きベクトルと、当該動きベクトルについて前記算出工程で算出された差分とを符号化する符号化工程と、
    を備え、
    前記所定のバランスは、前記算出工程で算出された複数の差分の最小値が小さいほど、前記符号量が小さくなることよりも前記差分が小さくなることを優先し、当該最小値が大きいほど、当該差分が小さくなることよりも当該符号量が小さくなることを優先するバランスである
    ことを特徴とする制御方法。
  7. 符号化対象画像の所定の位置に存在する符号化対象ブロック画像に対して、候補としての複数の動きベクトルから選択される1つの動きベクトルを使用して動き補償予測符号化を行う動画像符号化装置の制御方法であって、
    第1算出手段が、前記複数の動きベクトルそれぞれについて、前記符号化対象ブロック画像と、前記所定の位置に対応する参照画像内の位置を動きベクトルに従って移動させた位置に存在する参照ブロック画像とを縮小し、当該縮小されたブロック画像と当該縮小された参照ブロック画像との差分を算出する第1算出工程と、
    第1選択手段が、選択される動きベクトルを符号化した場合の符号量が小さくなることと当該選択される動きベクトルに対応する前記差分が小さくなることとが第1のバランスで達成されるように、前記複数の動きベクトルからの1つの動きベクトルを選択する第1選択工程と、
    第2算出手段が、前記複数の動きベクトルのうち、前記第1選択工程で選択された動きベクトルが指す位置からの距離が閾値以下の位置を指す動きベクトルそれぞれについて、前記ブロック画像と前記参照ブロック画像との差分を算出する第2算出工程と、
    第2選択手段が、選択される動きベクトルを符号化した場合の符号量が小さくなることと当該選択される動きベクトルに対応する前記差分が小さくなることとが第2のバランスで達成されるように、前記複数の動きベクトルのうちの、前記第1選択工程で選択された動きベクトルが指す位置からの距離が前記閾値以下の位置を指す動きベクトルから、1つの動きベクトルを選択する第2選択工程と、
    符号化手段が、前記第2選択工程で選択された動きベクトルと、当該動きベクトルについて前記第2算出工程で算出された差分とを符号化する符号化工程と、
    を備え、
    前記第1のバランスは、前記第1算出工程で算出された複数の差分の最小値が小さいほど、前記符号量が小さくなることよりも前記差分が小さくなることを優先し、当該最小値が大きいほど、当該差分が小さくなることよりも当該符号量が小さくなることを優先するバランスである
    ことを特徴とする制御方法。
  8. コンピュータに請求項6又は7に記載の制御方法の各工程を実行させるためのプログラム。
JP2010110595A 2010-05-12 2010-05-12 動画像符号化装置、及びその制御方法 Expired - Fee Related JP5441812B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010110595A JP5441812B2 (ja) 2010-05-12 2010-05-12 動画像符号化装置、及びその制御方法
US13/097,806 US20110280308A1 (en) 2010-05-12 2011-04-29 Moving image encoding apparatus and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010110595A JP5441812B2 (ja) 2010-05-12 2010-05-12 動画像符号化装置、及びその制御方法

Publications (2)

Publication Number Publication Date
JP2011239307A JP2011239307A (ja) 2011-11-24
JP5441812B2 true JP5441812B2 (ja) 2014-03-12

Family

ID=44911744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010110595A Expired - Fee Related JP5441812B2 (ja) 2010-05-12 2010-05-12 動画像符号化装置、及びその制御方法

Country Status (2)

Country Link
US (1) US20110280308A1 (ja)
JP (1) JP5441812B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011239365A (ja) 2010-04-12 2011-11-24 Canon Inc 動画像符号化装置及びその制御方法、コンピュータプログラム
US8989270B2 (en) * 2011-06-23 2015-03-24 Apple Inc. Optimized search for reference frames in predictive video coding system
US8913656B2 (en) * 2011-10-14 2014-12-16 Mediatek Inc. Method and apparatus for in-loop filtering
JP6025467B2 (ja) * 2012-09-12 2016-11-16 キヤノン株式会社 画像処理装置及び画像処理方法
US10972749B2 (en) 2019-08-29 2021-04-06 Disney Enterprises, Inc. Systems and methods for reconstructing frames
US11012718B2 (en) * 2019-08-30 2021-05-18 Disney Enterprises, Inc. Systems and methods for generating a latent space residual

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144426A (en) * 1989-10-13 1992-09-01 Matsushita Electric Industrial Co., Ltd. Motion compensated prediction interframe coding system
US5398078A (en) * 1991-10-31 1995-03-14 Kabushiki Kaisha Toshiba Method of detecting a motion vector in an image coding apparatus
JP3786300B2 (ja) * 1996-08-30 2006-06-14 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
JP3631868B2 (ja) * 1996-12-20 2005-03-23 株式会社東芝 動きベクトル検出装置および方法
JPH11243551A (ja) * 1997-12-25 1999-09-07 Mitsubishi Electric Corp 動き補償装置と動画像符号化装置及び方法
US6876703B2 (en) * 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
JP4423968B2 (ja) * 2003-12-25 2010-03-03 ソニー株式会社 符号化装置
JP2006109632A (ja) * 2004-10-06 2006-04-20 Olympus Corp モータ制御回路及びその制御方法
US20060120612A1 (en) * 2004-12-08 2006-06-08 Sharath Manjunath Motion estimation techniques for video encoding
JP2008252176A (ja) * 2007-03-29 2008-10-16 Toshiba Corp 動画像符号化装置及び方法
JP4582141B2 (ja) * 2007-11-27 2010-11-17 カシオ計算機株式会社 符号量制御装置、符号量制御方法、符号量制御プログラム、動画記録装置
JP2009141815A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 画像符号化方法、装置及びプログラム
CN102165772B (zh) * 2008-09-16 2013-07-24 杜比实验室特许公司 自适应视频编码器控制
US8363727B2 (en) * 2008-09-30 2013-01-29 Microsoft Corporation Techniques to perform fast motion estimation

Also Published As

Publication number Publication date
US20110280308A1 (en) 2011-11-17
JP2011239307A (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
KR100803611B1 (ko) 영상의 부호화, 복호화 방법 및 장치
CN112954335B (zh) 一种编解码方法、装置及其设备
US9351014B2 (en) Moving image encoding and decoding system
US8718138B2 (en) Image encoding apparatus and image encoding method that determine an encoding method, to be used for a block to be encoded, on the basis of an intra-frame-prediction evaluation value calculated using prediction errors between selected reference pixels and an input image
TWI597974B (zh) Dynamic image prediction decoding method and dynamic image prediction decoding device
US20120027092A1 (en) Image processing device, system and method
US9113170B2 (en) Motion vector decision apparatus, motion vector decision method and computer readable storage medium
TWI722842B (zh) 影像預測解碼方法
JP5441812B2 (ja) 動画像符号化装置、及びその制御方法
US20140233645A1 (en) Moving image encoding apparatus, method of controlling the same, and program
US10666970B2 (en) Encoding apparatus, encoding method, and storage medium
JP2011239365A (ja) 動画像符号化装置及びその制御方法、コンピュータプログラム
JP6313614B2 (ja) 動画像符号化装置及びその制御方法
JP2019201388A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6066583B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2012222460A (ja) 動画像符号化装置、動画像符号化方法及びプログラム
JP2022145499A (ja) 符号化装置及び方法
KR101650056B1 (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및 장치, 그리고 복수 참조에 의한 움직임 예측을 이용한 복호화 방법 및 장치
KR101590875B1 (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및 장치, 그리고 복수 참조에 의한 움직임 예측을 이용한 복호화 방법 및 장치
JP2021044706A (ja) 画像符号化装置及びその制御方法及びプログラム
KR20090027091A (ko) 동영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131030

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131217

R151 Written notification of patent or utility model registration

Ref document number: 5441812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees