JP2020529781A - インター予測モードベースの画像処理方法及びそのための装置 - Google Patents
インター予測モードベースの画像処理方法及びそのための装置 Download PDFInfo
- Publication number
- JP2020529781A JP2020529781A JP2020505816A JP2020505816A JP2020529781A JP 2020529781 A JP2020529781 A JP 2020529781A JP 2020505816 A JP2020505816 A JP 2020505816A JP 2020505816 A JP2020505816 A JP 2020505816A JP 2020529781 A JP2020529781 A JP 2020529781A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- block
- affine
- motion
- prediction
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本発明においては、インター予測モードベースの画像処理方法及びそのための装置が開示される。具体的に、インター予測(inter prediction)をベースに画像を処理する方法において、現在ブロックの周辺ブロックのうちアフィンモードで符号化されたアフィン(affine)符号化ブロックが存在するか否かを確認するステップと、ここで、前記アフィンモードは、制御点(control point)の動きベクトルを利用して画素単位又はサブブロック単位で動きベクトルを誘導するモードを示し、前記確認の結果、前記周辺ブロックのうちアフィン符号化ブロックが存在する場合、前記アフィン符号化ブロックの動き情報に基づいて前記現在ブロックの制御点の第1動きベクトル候補(motion vector candidate)を誘導するステップとを含む。【選択図】図17
Description
本発明は、静止画又は動画の処理方法に関し、より詳細には、インター予測モード(inter prediction mode)ベースに静止画又は動画をエンコード/デコードする方法及びそれをサポートする装置に関する。
圧縮符号化とは、デジタル化した情報を通信回線を介して送信するか、格納媒体に適した形態で格納するための一連の信号処理技術を意味する。画像、イメージ、音声などのメディアが圧縮符号化の対象になることができ、特に、画像を対象として圧縮符号化を行う技術をビデオ画像圧縮と称する。
次世代ビデオコンテンツは、高解像度(high spatial resolution)、高フレーム率(high frame rate)、及び画像表現の高次元化(high dimensionality of scene representation)という特徴を有するようになるであろう。そのようなコンテンツを処理するためには、メモリ格納(memory storage)、メモリアクセス率(memory access rate)、及び処理電力(processing power)の多大な増加をもたらすだろう。
従って、次世代ビデオコンテンツをより効率的に処理するためのコーディングツールをデザインする必要がある。
従来の静止画又は動画の圧縮技術においては、画面間の予測時の動き予測(motion prediction)は予測ブロック単位で行われる。ただし、現在ブロックのために最適の予測ブロックを見つけるために、様々なサイズの予測ブロックをサポートしても平行移動されたブロックベースの予測方法のみが適用されることにより、予測正確度が低下する問題が発生する。
従って、本発明は、画面間予測(すなわち、インター予測)の性能を向上させるために平行移動されたブロックベースの予測方法だけでなく、様々な画像の動きを反映したインター予測ベースの画像処理方法を提案する。
また、本発明の目的は、ブロック内のサブブロックや画素単位の動き情報を反映できるインター予測ベースの画像を処理する方法を提案する。
また、本発明の目的は、サブブロック又は画素単位の動きの情報を反映するようにして予測の正確度を高め、圧縮性能を向上させる方法を提案する。
また、本発明の目的は、アフィン動きモデル(affine motion model)を用いて符号化/復号化を行うアフィン動き予測方法について提案する。
また、本発明の目的は、アフィンモード(affine mode)で符号化された周辺ブロックのアフィン動きモデル(又は、動き情報)を用いてアフィン動き予測を行う方法を提案する。
本発明において達成しようとする技術的課題は、以上で言及した技術的課題に制限されず、言及していない他の技術的課題は、以下の記載から本発明の属する技術分野において通常の知識を有する者に明確に理解されるであろう。
本発明の一態様は、インター予測(inter prediction)をベースに画像を処理する方法において、現在ブロックの周辺ブロックのうちアフィンモードで符号化されたアフィン(affine)符号化ブロックが存在するか否かを確認するステップと、ここで、前記アフィンモードは、制御点(control point)の動きベクトルを利用して画素単位又はサブブロック単位で動きベクトルを誘導するモードを示し、前記確認の結果、前記の周辺ブロックのうちアフィン符号化ブロックが存在する場合、前記アフィン符号化ブロックの動き情報に基づいて前記現在ブロックの制御点の第1動きベクトル予測値(motion vector predictor)を誘導するステップとを含む。
好ましくは、前記アフィン符号化ブロックが存在するか否かを確認するステップは、前記現在ブロックの左下端のブロック、上右端のブロック、前記上右端のブロックの右側に隣接するブロック、前記左下端のブロックの下側に隣接するブロック及び左上端のブロックの順序でアフィン符号化ブロックであるか否かを確認する。
好ましくは、前記第1動きベクトル予測値を誘導するステップは、前記順序上、1番目のアフィン符号化ブロックの動き情報を利用して前記第1動きベクトル予測値を誘導する。
好ましくは、前記第1動きベクトル予測値は、前記アフィン符号化ブロックの幅(width)、高さ(height)、前記アフィン符号化ブロックの制御点の動きベクトル及び前記現在ブロックの制御点の位置を利用して計算される。
好ましくは、前記確認の結果、前記周辺ブロックのうちアフィン符号化ブロックが存在しない場合、前記現在ブロックの制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて組み合わせ動きベクトル予測値を生成するステップと、前記組み合わせ動きベクトル予測値のうち動きベクトルの発散程度が小さい順に、予め定められた個数の組み合わせ動きベクトル予測値を候補リストに追加するステップとをさらに含んでもよい。
好ましくは、前記現在ブロックに対してアフィンモードが適用されるか否かを示すアフィンフラグを抽出するステップと、前記現在ブロックに前記周辺ブロックのうちアフィンモードで符号化されたブロックが存在しない場合、前記候補リストのうち特定の動きベクトル予測値を示すインデックスを抽出するステップとをさらに含んでもよい。
好ましくは、前記現在ブロックの制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて組み合わせ動きベクトル予測値を生成するステップと、前記組み合わせ動きベクトル予測値のうち動きベクトルの発散程度が小さい順序上、1番目の第2動きベクトル予測値及び2番目の第3動きベクトル予測値を候補リストに追加するステップとをさらに含んでもよい。
好ましくは、前記第1動きベクトル予測値を前記候補リストに追加するステップをさらに含んでもよい。
好ましくは、前記候補リストの第3動きベクトル予測値を前記第1動きベクトル予測値に代替し、前記候補リスト内で前記第1動きベクトル予測値に前記第2動きベクトル予測値より高い優先順位を割り当てるステップをさらに含んでもよい。
好ましくは、前記第1動きベクトル予測値を誘導するステップは、周辺ブロック間の予め設定された順序上、1番目のアフィン符号化ブロックの動き情報を利用して前記第1動きベクトル予測値を誘導するステップと、前記順序上、2番目のアフィン符号化ブロックの動き情報を利用して第4動きベクトル予測値を誘導するステップとを含んでもよい。
好ましくは、前記第1動きベクトル予測値を誘導するステップは、前記周辺ブロックのうちアフィン符号化ブロック間に重複される動き情報を除去するステップをさらに含んでもよい。
本発明の他の一態様は、インター予測(inter prediction)をベースに画像を処理する装置において、現在ブロックの周辺ブロックのうちアフィンモードで符号化されたアフィン(affine)符号化ブロックが存在するか否かを確認する周辺ブロック確認部と、ここで、前記アフィンモードは制御点(control point)の動きベクトルを利用して画素単位又はサブブロック単位で動きベクトルを誘導するモードを示し、前記確認の結果、前記周辺ブロックのうちアフィン符号化ブロックが存在する場合、前記アフィン符号化ブロックの動き情報に基づいて前記現在ブロックの制御点の第1動きベクトル予測値(motion vector predictor)を誘導する制御点動きベクトル候補決定部とを含む。
本発明の実施形態によると、アフィン(Affine)変換を用いてインター予測ベースの画像を処理することにより、画像の歪みを反映して予測の正確度を向上させることができる。
また、本発明の実施形態によると、予測ブロックを生成するにおいてサブブロック単位で予測ブロックを生成することにより、予測の正確度を高めるとともに、追加的な演算量やメモリアクセスを減少させることができる。
また、本発明の実施形態によると、周辺ブロックのアフィン動きモデルを使用することにより、動きベクトル予測値候補のうち特定の候補を示すためのインデックスシグナリングビットを節約することができ、符号化効率が向上できる。
本発明で得ることができる効果は、以上で言及した効果に制限されず、言及しない更に他の効果は以下の記載から本発明が属する技術分野で通常の知識を有する者に明確に理解できるはずである。
本発明に関する理解を助けるために詳細な説明の一部として含まれる添付図面は、本発明に対する実施形態を提供し、詳細な説明と共に本発明の技術的特徴を説明する。
以下、本発明に係る好ましい実施形態を添付された図面を参照して詳細に説明する。添付された図面とともに以下に開示される詳細な説明は、本発明の例示的な実施形態を説明しようとするものであり、本発明が実施できる唯一の実施形態を表そうとするものではない。以下の詳細な説明は、本発明の完全な理解を提供するために具体的な細部事項を含む。しかしながら、当業者は、本発明がこのような具体的な細部事項がなくとも実施できることが分かる。
幾つかの場合、本発明の概念が曖昧になることを避けるために、公知の構造及び装置は省略されるか、各構造及び装置の核心機能を中心としたブロック図形式で図示できる。
合わせて、本発明で使用される用語は、なるべく現在広く使用される一般的な用語を選択したが、特定の場合は、出願人が任意に選定した用語を使用して説明する。そのような場合には、当該部分の詳細説明でその意味を明確に記載するので、本発明の説明で使用された用語の名称だけで単純解釈されてはならず、その当該用語の意味まで把握して解釈されなければならないことを明かしておく。
以下の説明で使用される特定用語は、本発明の理解を助けるために提供されたものであって、このような特定用語の使用は、本発明の技術的思想を逸脱しない範囲で他の形態に変更できる。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各コーディング過程で適宜代替されて解釈され得るであろう。
以下、本明細書において「処理ユニット」は、予測、変換、及び/又は量子化などのエンコード/デコードの処理過程が行われる単位を意味する。以下、説明の便宜のために、処理ユニットは「処理ブロック」又は「ブロック」と呼ばれることもできる。
処理ユニットは、輝度(luma)成分に対する単位と色差(chroma)成分に対する単位とを含む意味として解釈することができる。例えば、処理ユニットは、コーディングツリーユニット(CTU:Coding Tree Unit)、コーディングユニット(CU:Coding Unit)、予測ユニット(PU:Prediction Unit)、又は変換ユニット(TU:Transform Unit)に該当する。
また、処理ユニットは、輝度(luma)成分に対する単位又は色差(chroma)成分に対する単位として解釈されることができる。例えば、処理ユニットは、輝度成分に対するコーディングツリーブロック(CTB:Coding Tree Block)、コーディングブロック(CB:Coding Block)、予測ブロック(PU:Prediction Block)、又は変換ブロック(TB:Transform Block)に該当する。または、色差成分に対するコーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PU)、又は変換ブロック(TB)に該当する。また、これに限定されるものではなく、処理ユニットは、輝度成分に対する単位と色差成分に対する単位を含む意味として解釈されることもできる。
さらに、処理ユニットは、必ず正方形のブロックに限定されるものではなく、3つ以上の頂点を有する多角形状で構成されることもできる。
図1は、本発明が適用される実施形態として、静止画又は動画信号のエンコードが行われるエンコーダの概略的なブロック図を示す。
図1に示すように、エンコーダ100は、画像分割部110、減算器115、変換部120、量子化部130、逆量子化部140、逆変換部150、フィルタリング部160、復号ピクチャバッファ(DPB:Decoded Picture Buffer)170、インター予測部180、イントラ予測部185及びエントロピーエンコード部190を含んで構成される。そして、予測部180は、インター予測部181、イントラ予測部182を含む。
画像分割部110は、エンコーダ100に入力された入力画像信号(Input video signal)(又は、ピクチャ、フレーム)を1つ以上の処理ユニットに分割する。
減算器115は、入力画像信号から、予測部180(すなわち、インター予測部181又はイントラ予測部182)から出力された予測信号(prediction signal)(又は、予測ブロック)を減算して差分信号(residual signal)(又は、差分ブロック)を生成する。生成された差分信号(又は、差分ブロック)は変換部120に送信される。
変換部120は、差分信号(又は、差分ブロック)に変換技法(例えば、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、GBT(Graph−Based Transform)、KLT(Karhunen−Loeve Transform)など)を適用して変換係数(transform coefficient)を生成する。ここで、変換部120は、差分ブロックに適用された予測モードと差分ブロックのサイズに応じて決定された変換技法を利用して変換を行うことにより、変換係数を生成することができる。
量子化部130は、変換係数を量子化してエントロピーエンコード部190に送信し、エントロピーエンコード部190は、量子化された信号(quantized signal)をエントロピーコーディングしてビットストリームに出力する。
一方、量子化部130から出力された量子化された信号(quantized signal)は予測信号を生成するために利用できる。例えば、量子化された信号(quantized signal)は、ループ内の逆量子化部140及び逆変換部150により逆量子化及び逆変換を適用することにより差分信号を復元することができる。復元された差分信号をインター予測部181又はイントラ予測部182から出力された予測信号(prediction signal)に足すことにより復元信号(reconstructed signal)が生成される。
一方、前述したような圧縮過程で隣接したブロックが相異なる量子化パラメータにより量子化されることにより、ブロック境界が見える劣化が発生し得る。このような現象をブロッキング劣化(blocking artifacts)といい、これは、画質を評価する重要な要素の1つである。このような劣化を減らすためにフィルタリング過程を行う。このようなフィルタリング過程によりブロッキング劣化を除去するとともに、現在ピクチャに対する誤差を減らすことにより、画質を向上させることができる。
フィルタリング部160は、復元信号にフィルタリングを適用して、これを再生装置に出力するか、復号ピクチャバッファ170に送信する。復号ピクチャバッファ170に送信されたフィルタリングされた信号は、インター予測部181において参照ピクチャとして使用される。このように、フィルタリングされたピクチャを画面間予測モードにおいて参照ピクチャとして用いることにより、画質だけでなく、符号化効率も向上させることができる。
復号ピクチャバッファ170は、フィルタリングされたピクチャをインター予測部181での参照ピクチャとして使用するために格納する。
インター予測部181は、復元ピクチャ(reconstructed picture)を参照して時間的重複性及び/又は空間的重複性を除去するために、時間的予測及び/又は空間的予測を行う。
ここで、予測を行うために用いられる参照ピクチャは、以前の時間に符号化/復号化の時にブロック単位で量子化と逆量子化を経て変換された信号であるので、ブロッキングアーティファクト(blocking artifact)やリンギングアーティファクト(ringing artifact)が存在し得る。
従って、インター予測部181は、このような信号の不連続や量子化による性能低下を解決するために、ローパスフィルタ(lowpass filter)を適用することによりピクセル間の信号をサブピクセル単位に補間することができる。ここで、サブピクセルは、補間フィルタを適用して生成された仮想の画素を意味し、整数ピクセルは、復元されたピクチャに存在する実際画素を意味する。補間方法としては、線形補間、双線形補間(bi−linear interpolation)、ウィーナフィルタ(wiener filter)などが適用されてもよい。
補間フィルタは、復元ピクチャ(reconstructed picture)に適用されて予測の精密度を向上させることができる。例えば、インター予測部181は、整数ピクセルに補間フィルタを適用して補間ピクセル(interpolated pixels)を生成し、補間ピクセルで構成された補間ブロック(interpolated block)を予測ブロック(prediction block)として用いて予測を行う。
イントラ予測部182は、現在符号化を行おうとするブロックの周辺にあるサンプルを参照して現在ブロックを予測する。イントラ予測部182は、イントラ予測を行うために次のような過程を行う。まず、予測信号を生成するために必要な参照サンプルを用意する。そして、用意した参照サンプルを用いて予測信号を生成する。その後、予測モードを符号化する。ここで、参照サンプルは、参照サンプルパディング及び/又は参照サンプルフィルタリングにより用意される。参照サンプルは、予測及び復元過程を経たので、量子化エラーが存在する可能性がある。従って、このようなエラーを減らすために、イントラ予測に用いられる各予測モードに対して参照サンプルフィルタリング過程が行われる。
インター予測部181又はイントラ予測部182により生成された予測信号(prediction signal)(又は、予測ブロック)は、復元信号(又は、復元ブロック)を生成するために利用されるか、差分信号(又は、差分ブロック)を生成するために利用される。
図2は、本発明が適用される実施形態として、静止画又は動画信号のデコードが行われるデコーダの概略的なブロック図を示す。
図2に示すように、デコーダ200は、エントロピーデコード部210、逆量子化部220、逆変換部230、加算器235、フィルタリング部240、復号ピクチャバッファ(DPB:Decoded Picture Buffer Unit)250、予測部260を含んで構成される。そして、予測部260は、インター予測部261及びイントラ予測部262を含む。
そして、デコーダ200を介して出力された復元画像信号(reconstructed video signal)は、再生装置により再生される。
デコーダ200は、図1のエンコーダ100から出力された信号(すなわち、ビットストリーム)を受信し、受信された信号は、エントロピーデコード部210によりエントロピーデコーディングされる。
逆量子化部220は、量子化ステップサイズ情報を利用してエントロピーデコーディングされた信号から変換係数(transform coefficient)を取得する。
逆変換部230は、逆変換技法を適用して変換係数を逆変換して差分信号(residual signal)(又は、差分ブロック)を取得する。
加算器235は、取得された差分信号(又は、差分ブロック)を予測部260(すなわち、インター予測部261又はイントラ予測部262)から出力された予測信号(predicted signal)(又は、予測ブロック)に足すことにより復元信号(reconstructed signal)(又は、復元ブロック)が生成される。
フィルタリング部240は、復元信号(reconstructed signal)(又は、復元ブロック)にフィルタリングを適用して、これを再生装置に出力するか、復号ピクチャバッファ部250に送信する。復号ピクチャバッファ部250に送信されたフィルタリングされた信号は、インター予測部261において参照ピクチャとして使用される。
本明細書において、エンコーダ100のフィルタリング部160、インター予測部181及びイントラ予測部182において説明された実施形態は、それぞれデコーダのフィルタリング部240、インター予測部261及びイントラ予測部262にも同様に適用される。
処理ユニット分割構造
一般に、静止画又は動画圧縮技術(例えば、HEVC)においては、ブロックベースの画像圧縮方法を利用する。ブロックベースの画像圧縮方法は、画像を特定ブロック単位に分けて処理する方法であって、メモリ使用と演算量を減少させることができる。
図3は、本発明に適用できるコーディングユニットの分割構造を説明するための図である。
エンコーダは、1つの画像(又は、ピクチャ)を四角形の形態のコーディングツリーユニット(CTU:Coding Tree Unit)単位に分割する。そして、ラスタースキャン順序(raster scan order)に従って1つのCTUずつ順次エンコードする。
HEVCにおいてCTUのサイズは、64×64、32×32、16×16のいずれか1つに決められる。エンコーダは、入力された画像の解像度又は入力された画像の特性などによってCTUのサイズを選択して使用することができる。CTUは、輝度(luma)成分に対するコーディングツリーブロック(CTB:Coding Tree Block)と、これに対応する2つの色差(chroma)成分に対するCTBとを含む。
1つのCTUは、クアッドツリー(Quad−tree)構造に分割されることができる。すなわち、1つのCTUは、正方形の形態を有しながら半分の水平サイズ(half horizontal size)及び半分の垂直サイズ(half vertical size)を有する4個のユニットに分割されて、コーディングユニット(CU:Coding Unit)が生成される。このようなクアッドツリー構造の分割は、再帰的に行われることができる。すなわち、CUは、1つのCTUからクアッドツリー構造で階層的に分割される。
CUは、入力画像の処理過程、例えば、イントラ(intra)/インター(inter)予測が行われるコーディングの基本単位を意味する。CUは、輝度(luma)成分に対するコーディングブロック(CB:Coding Block)と、これに対応する2つの色差(chroma)成分に対するCBとを含む。HEVCにおいてCUのサイズは、64×64、32×32、16×16、8×8のいずれか1つに決められる。
図3に示すように、クアッドツリーのルートノード(root node)はCTUと関連する。クアッドツリーはリーフノード(leaf node)に到達するまで分割され、リーフノードはCUに該当する。
より具体的に説明すると、CTUは、ルートノード(root node)に該当し、最も小さい深さ(depth)(すなわち、depth=0)値を有する。入力画像の特性に応じてCTUが分割されないこともあり、この場合、CTUはCUに該当する。
CTUは、クアッドツリー形態に分割されることができ、その結果、深さ1(depth=1)である下位ノードが生成される。そして、1の深さを有する下位ノードにおいてそれ以上分割されないノード(すなわち、リーフノード)は、CUに該当する。例えば、図3(b)においてノードa、b及びjに対応するCU(a)、CU(b)、CU(j)は、CTUにおいて1回分割され、1の深さを有する。
1の深さを有するノードの少なくともいずれか1つは、再度クアッドツリー形態に分割されることができ、その結果、深さ2(すなわち、depth=2)である下位ノードが生成される。そして、2の深さを有する下位ノードにおいてそれ以上分割されないノード(すなわち、リーフノード)は、CUに該当する。例えば、図3(b)においてノードc、h、及びiに対応するCU(c)、CU(h)、CU(i)は、CTUにおいて2回分割され、2の深さを有する。
また、2の深さを有するノードの少なくともいずれか1つは、再度クアッドツリー形態に分割されることができ、その結果、深さ3(すなわち、depth=3)である下位ノードが生成される。そして、3の深さを有する下位ノードにおいてそれ以上分割されないノード(すなわち、リーフノード)は、CUに該当する。例えば、図3(b)においてノードd、e、f、gに対応するCU(d)、CU(e)、CU(f)、CU(g)は、CTUにおいて3回分割され、3の深さを有する。
エンコーダにおいては、ビデオ画像の特性(例えば、解像度)に応じて、あるいは符号化の効率を考慮してCUの最大サイズ又は最小サイズを決定できる。そして、これに関する情報又はこれを誘導できる情報がビットストリームに含まれることができる。最大サイズを有するCUを最大コーディングユニット(LCU:Largest Coding Unit)といい、最小サイズを有するCUを最小コーディングユニット(SCU:Smallest Coding Unit)ということができる。
また、ツリー構造を有するCUは、予め決められた最大深さ情報(又は、最大レベル情報)を有して階層的に分割されることができる。そして、それぞれの分割されたCUは、深さ情報を有することができる。深さ情報は、CUの分割された回数及び/又は程度を示すので、CUのサイズに関する情報を含むこともできる。
LCUがクアッドツリー形態に分割されるので、LCUのサイズ及び最大深さ情報を利用すると、SCUのサイズを求めることができる。または逆に、SCUのサイズ及びツリーの最大深さ情報を利用すると、LCUのサイズを求めることができる。
1つのCUに対して、当該CUが分割されるか否かを示す情報(例えば、分割CUフラグ(Split_cu_flag))がデコーダに伝達される。この分割モードは、SCUを除いた全てのCUに含まれている。例えば、分割可否を示すフラグの値が「1」であると、当該CUはさらに4個のCUに分けられ、分割可否を示すフラグの値が「0」であると、当該CUはそれ以上分けられずに当該CUに対する処理過程が行われる。
前述したように、CUは、イントラ予測又はインター予測が行われるコーディングの基本単位である。HEVCは、入力画像をより効果的にコーディングするために、CUを予測ユニット(PU:Prediction Unit)単位に分割する。
PUは、予測ブロックを生成する基本単位として、1つのCU内においてもPU単位で相異なるように予測ブロックを生成できる。ただし、1つのCU内に属するPUは、イントラ予測とインター予測とが混合されて使用されず、1つのCU内に属するPUは、同一の予測方法(すなわち、イントラ予測又はインター予測)によりコーディングされる。
PUは、クアッドツリー構造に分割されず、1つのCUにおいて予め決められた形態で1回分割される。これについて、下記の図面を参照して説明する。
図4は、本発明に適用できる予測ユニットを説明するための図である。
PUは、PUが属するCUのコーディングモードとしてイントラ予測モードが使用されるか、インター予測モードが使用されるかによって相異なるように分割される。
図4(a)は、イントラ予測モードが使用される場合のPUを例示し、図4(b)は、インター予測モードが使用される場合のPUを例示する。
図4(a)に示すように、1つのCUのサイズが2N×2N(N=4、8、16、32)である場合を仮定すると、1つのCUは、2つのタイプ(すなわち、2N×2N又はN×N)に分割されることができる。
ここで、2N×2N形態のPUに分割される場合、1つのCU内に1つのPUのみが存在することを意味する。
それに対して、N×N形態のPUに分割される場合、1つのCUは、4個のPUに分割され、各PU単位別に相異なる予測ブロックが生成される。ただし、このようなPUの分割は、CUの輝度成分に対するCBのサイズが最小サイズである場合(すなわち、CUがSCUである場合)にのみ行われることができる。
図4(b)に示すように、1つのCUのサイズが2N×2N(N=4、8、16、32)である場合を仮定すると、1つのCUは、8つのPUタイプ(すなわち、2N×2N、N×N、2N×N、N×2N、nL×2N、nR×2N、2N×nU、2N×nD)に分割されることができる。
イントラ予測と類似して、N×N形態のPU分割は、CUの輝度成分に対するCBのサイズが最小サイズである場合(すなわち、CUがSCUである場合)にのみ行われることができる。
インター予測においては、横方向に分割される2N×N形態及び縦方向に分割されるN×2N形態のPU分割をサポートする。
また、非対称動き分割(AMP:Asymmetric Motion Partition)形態であるnL×2N、nR×2N、2N×nU、2N×nD形態のPU分割をサポートする。ここで、「n」は、2Nの1/4の値を意味する。ただし、AMPは、PUが属するCUが最小サイズのCUである場合、使用されることができない。
1つのCTU内の入力画像を効率的に符号化するために、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)の最適の分割構造は、下記のような実行過程を経て最小レート歪み(Rate−Distortion)値に基づいて決定されることができる。例えば、64×64CTU内の最適のCU分割過程を説明すると、64×64サイズのCUから8×8サイズのCUまでの分割過程を経ながら、レート歪みコストを計算できる。具体的な過程は、次のようである。
1)64×64サイズのCUに対してインター/イントラ予測、変換/量子化、逆量子化/逆変換、及びエントロピーエンコーディング実行により最小のレート歪み値を発生させる最適のPUとTUの分割構造を決定する。
2)64×64のCUを32×32サイズのCU4個に分割し、各32×32CUに対して最小のレート歪み値を発生させる最適のPUとTUの分割構造を決定する。
3)32×32のCUを16×16サイズのCU4個に再度分割し、各16×16CUに対して最小のレート歪み値を発生させる最適のPUとTUの分割構造を決定する。
4)16×16のCUを8×8サイズのCU4個に再度分割し、各8×8CUに対して最小のレート歪み値を発生させる最適のPUとTUの分割構造を決定する。
5)前記の3)の過程で算出した16×16のCUのレート歪み値と、前記の4)の過程で算出した4個の8×8のCUのレート歪み値との合計を比較して、16×16ブロック内において最適のCUの分割構造を決定する。この過程を残りの3個の16×16のCUに対しても同様に行う。
6)前記の2)の過程で計算された32×32CUのレート歪み値と、前記の5)の過程で取得した4個の16×16CUのレート歪み値との合計を比較して、32×32ブロック内において最適のCUの分割構造を決定する。この過程を残りの3個の32×32CUなどに対しても同様に行う。
7)最後に、前記の1)の過程で計算された64×64CUのレート歪み値と、前記の6)の過程で取得した4個の32×32CUのレート歪み値との合計を比較して、64×64ブロック内において最適のCUの分割構造を決定する。
イントラ予測モードにおいて、PU単位で予測モードが選択され、選択された予測モードに対して実際TU単位で予測と再構成が行われる。
TUは、実際予測と再構成が行われる基本単位を意味する。TUは、輝度(luma)成分に対する変換ブロック(TB:Transform Block)と、これに対応する2つの色差(chroma)成分に対するTBを含む。
前述した図3の例示において1つのCTUがクアッドツリー構造に分割されてCUが生成されることのように、TUは、コーディングしようとする1つのCUからクアッドツリー構造に階層的に分割される。
TUは、クアッドツリー構造に分割されるので、CUから分割されたTUはより小さい下位TUに再度分割されることができる。HEVCにおいては、TUのサイズは、32×32、16×16、8×8、4×4のいずれか1つに決められる。
再び図3を参照すると、クアッドツリーのルートノード(root node)は、CUと関連すると仮定する。クアッドツリーは、リーフノード(leaf node)に到達するまで分割され、リーフノードは、TUに該当する。
より具体的に説明すると、CUはルートノード(root node)に該当し、最も小さい深さ(depth)(すなわち、depth=0)値を有する。入力画像の特性に応じてCUが分割されないこともあり、この場合、CUはTUに該当する。
CUは、クアッドツリー形態に分割されることができ、その結果、深さ1(depth=1)である下位ノードが生成される。そして、1の深さを有する下位ノードにおいてそれ以上分割されないノード(すなわち、リーフノード)は、TUに該当する。例えば、図3(b)においてノードa、b、及びjに対応するTU(a)、TU(b)、TU(j)は、CUにおいて1回分割され、1の深さを有する。
1の深さを有するノードの少なくともいずれか1つは、再度クアッドツリー形態に分割されることができ、その結果、深さ2(すなわち、depth=2)である下位ノードが生成される。そして、2の深さを有する下位ノードにおいてそれ以上分割されないノード(すなわち、リーフノード)は、TUに該当する。例えば、図3(b)においてノードc、h、及びiに対応するTU(c)、TU(h)、TU(i)は、CUにおいて2回分割され、2の深さを有する。
また、2の深さを有するノードの少なくともいずれか1つは、再度クアッドツリー形態に分割されることができ、その結果、深さ3(すなわち、depth=3)である下位ノードが生成される。そして、3の深さを有する下位ノードにおいてそれ以上分割されないノード(すなわち、リーフノード)は、CUに該当する。例えば、図3(b)においてノードd、e、f、gに対応するTU(d)、TU(e)、TU(f)、TU(g)は、CUにおいて3回分割され、3の深さを有する。
ツリー構造を有するTUは、予め決められた最大深さ情報(又は、最大レベル情報)を有して階層的に分割されることができる。そして、それぞれの分割されたTUは、深さ情報を有することができる。深さ情報は、TUの分割された回数及び/又は程度を示すので、TUのサイズに関する情報を含むこともできる。
1つのTUに対して、当該TUが分割されるか否かを示す情報(例えば、分割TUフラグ(Split_transform_flag))がデコーダに伝達される。この分割情報は、最小サイズのTUを除いた全てのTUに含まれている。例えば、分割可否を示すフラグの値が「1」であると、当該TUは、さらに4個のTUに分けられ、分割可否を示すフラグの値が「0」であると、当該TUは、それ以上分けられない。
予測(prediction)
デコードが行われる現在処理ユニットを復元するために現在処理ユニットが含まれた現在ピクチャ又は他のピクチャのデコードされた部分を用いることができる。
復元に現在ピクチャのみを用いる、すなわち、画面内予測のみを行うピクチャ(スライス)をイントラピクチャ又はIピクチャ(スライス)、各ブロックを予測するために最大1つの動きベクトル及びレファレンスインデックスを用いるピクチャ(スライス)を予測ピクチャ(predictive picture)又はPピクチャ(スライス)、最大2つの動きベクトル及びレファレンスインデックスを用いるピクチャ(スライス)を双予測ピクチャ(Bi−predictive picture)又はBピクチャ(スライス)と呼ぶことができる。
イントラ予測は、同一のデコードされたピクチャ(又は、スライス)のデータ要素(例えば、サンプル値など)から現在処理ブロックを導出する予測方法を意味する。すなわち、現在ピクチャ内の復元された領域を参照して現在処理ブロックのピクセル値を予測する方法を意味する。
以下、インター予測についてより詳細に説明する。
インター予測(Inter prediction)(又は、画面間予測)
インター予測は、現在ピクチャ以外のピクチャのデータ要素(例えば、サンプル値又は動きベクトルなど)に基づいて現在処理ブロックを導出する予測方法を意味する。すなわち、現在ピクチャ以外の復元された他のピクチャ内の復元された領域を参照して現在処理ブロックのピクセル値を予測する方法を意味する。
インター予測(又は、ピクチャ間予測)は、ピクチャ間に存在する重複性を除去する技術であって、大部分は動き推定(motion estimation)及び動き補償(motion compensation)により行われる。
図5は、本発明が適用できる実施形態として、インター予測の方向を例示する図である。
図5に示すように、インター予測は、1つのブロックに対して時間軸上で過去のピクチャ又は未来のピクチャ1つのみを参照ピクチャとして用いる単方向予測(Uni−directional prediction)と、過去及び未来ピクチャを同時に参照する双方向予測(Bi−directional prediction)とに分けられる。
また、単方向予測(Uni−directional prediction)は、時間的に現在ピクチャ以前に表示(又は、出力)される1個の参照ピクチャを用いる順方向予測(forward direction prediction)と、時間的に現在ピクチャ以後に表示(又は、出力)される1個の参照ピクチャを用いる逆方向予測(backward direction prediction)とに区分されることができる。
インター予測過程(すなわち、単方向又は双方向予測)において現在ブロックを予測するのにどの参照領域(又は、参照ブロック)が用いられるかを特定するために使用される動きパラメータ(又は、情報)は、インター予測モード(inter prediction mode)(ここで、インター予測モードは、参照方向(すなわち、単方向又は双方向)と参照リスト(すなわち、L0、L1又は双方向)を指示できる)、参照インデックス(reference index)(又は、参照ピクチャインデックス又は参照リストインデックス)、動きベクトル(motion vector)情報を含む。前記動きベクトル情報は、動きベクトル、動きベクトル予測子(MVP:motion vector predictor)又は動きベクトル差分値(MVD:motion vector difference)を含むことができる。動きベクトル差分値は、前記動きベクトルと動きベクトル予測子との間の差分値を意味する。
単方向予測は、一方向に対する動きパラメータが使用される。すなわち、参照領域(又は、参照ブロック)を特定するために、1個の動きパラメータが必要であり得る。
双方向予測は、両方向に対する動きパラメータが使用される。双方向予測方式においては、最大2個の参照領域を用いることができるが、この2個の参照領域は、同一の参照ピクチャに存在してもよく、相異なるピクチャに各々存在してもよい。すなわち、双方向予測方式においては、最大2個の動きパラメータが用いられ得るが、2個の動きベクトルが同一の参照ピクチャインデックスを有してもよく、相異なる参照ピクチャインデックスを有してもよい。ここで、参照ピクチャは、時間的に現在ピクチャ以前に全て表示(又は、出力)されるか、以後に全て表示(又は、出力)されることができる。
エンコーダは、インター予測過程において現在処理ブロックと最も類似した参照領域を参照ピクチャから探す動き推定(Motion Estimation)を行う。また、エンコーダは、参照領域に対する動きパラメータをデコーダに提供する。
エンコーダ/デコーダは、動きパラメータを用いて現在処理ブロックの参照領域を取得する。前記参照領域は、前記参照インデックスを有する参照ピクチャ内に存在する。また、前記動きベクトルにより特定された参照領域のピクセル値又は補間(interpolation)された値が前記現在処理ブロックの予測値(predictor)として用いられることができる。すなわち、動き情報を用いて、以前にデコードされたピクチャから現在処理ブロックの画像を予測する動き補償(motion compensation)が行われる。
動きベクトル情報に関連した送信量を減らすために、以前にコードされたブロックの動き情報を用いて動きベクトル予測値(mvp)を取得し、これに対する差分値(mvd)のみを送信する方法を用いることができる。すなわち、デコーダは、デコードされた他のブロックの動き情報を用いて現在処理ブロックの動きベクトル予測値を求め、エンコーダから送信された差分値を用いて現在処理ブロックに対する動きベクトル値を取得する。動きベクトル予測値を取得するにおいて、デコーダは、既にデコードされた他のブロックの動き情報を用いて多様な動きベクトル候補値を取得し、そのうち1つを動きベクトル予測値として取得する。
−参照ピクチャセット及び参照ピクチャリスト
多重の参照ピクチャを管理するために、以前にデコードされたピクチャのセットが、残ったピクチャのデコードのために復号ピクチャバッファ(DPB)内に格納される。
DPBに格納された復元されたピクチャのうちインター予測に用いられる復元されたピクチャを参照ピクチャ(reference picture)という。言い換えると、参照ピクチャ(reference picture)は、デコード順序上、次のピクチャのデコードプロセスにおいてインター予測のために使用されるサンプルを含むピクチャを意味する。
参照ピクチャセット(RPS:reference picture set)は、ピクチャと関連した参照ピクチャのセットを意味し、デコード順序上、以前に関連した全てのピクチャで構成される。参照ピクチャセットは、関連したピクチャ又はデコード順序上、関連したピクチャに後続するピクチャのインター予測に用いられる。すなわち、復号ピクチャバッファ(DPB)に維持される参照ピクチャは、参照ピクチャセットと呼ばれることができる。エンコーダは、シーケンスパラメータセット(SPS:sequence parameter set)(すなわち、シンタックス要素で構成されるシンタックス構造)又は各スライスヘッダにおいて参照ピクチャセット情報をデコーダに提供することができる。
参照ピクチャリスト(reference picture list)は、Pピクチャ(又は、スライス)又はBピクチャ(又は、スライス)のインター予測のために用いられる参照ピクチャのリストを意味する。ここで、参照ピクチャリストは、2個の参照ピクチャリストに区分されることができ、各々参照ピクチャリスト0(又は、L0)及び参照ピクチャリスト1(又は、L1)と呼ぶことができる。また、参照ピクチャリスト0に属する参照ピクチャを参照ピクチャ0(又は、L0参照ピクチャ)といい、参照ピクチャリスト1に属する参照ピクチャを参照ピクチャ1(又は、L1参照ピクチャ)ということができる。
Pピクチャ(又は、スライス)のデコードプロセスにおいて、1個の参照ピクチャリスト(すなわち、参照ピクチャリスト0)が用いられ、Bピクチャ(又は、スライス)のデコードプロセスにおいて、2個の参照ピクチャリスト(すなわち、参照ピクチャリスト0及び参照ピクチャリスト1)が用いられる。このような、各参照ピクチャ別に参照ピクチャリストを区分するための情報は、参照ピクチャセット情報を介してデコーダに提供されることができる。デコーダは、参照ピクチャセット(reference picture set)情報に基づいて参照ピクチャを参照ピクチャリスト0又は参照ピクチャリスト1に追加する。
参照ピクチャリスト内のいずれか1つの特定参照ピクチャを識別するために、参照ピクチャインデックス(reference picture index)(又は、参照インデックス)が用いられる。
−分数サンプル補間(fractional sample interpolation)
インター予測された現在ブロックに対する予測ブロックのサンプルは、参照ピクチャインデックス(reference picture index)により識別される参照ピクチャ内の当該参照領域のサンプル値から取得される。ここで、参照ピクチャ内の当該参照領域は、動きベクトルの水平要素(horizontal component)及び垂直要素(vertical component)により指示される位置の領域を示す。動きベクトルが整数値を有する場合を除いて、非整数(noninteger)サンプル座標のための予測サンプルを生成するために分数サンプル補間(fractional sample interpolation)が使用される。例えば、サンプル間の距離の1/4単位の動きベクトルがサポートされることができる。
HEVCの場合、輝度成分の分数サンプル補間(fractional sample interpolation)は、8タップフィルタを横方向及び縦方向にそれぞれ適用する。そして、色差成分の分数サンプル補間(fractional sample interpolation)は、4タップフィルタを横方向及び縦方向にそれぞれ適用する。
図6は、本発明が適用できる実施形態として、1/4サンプル補間のための整数及び分数サンプル位置を例示する。
図6に示すように、大文字(upper−case letter)(A_i、j)が記載された陰影ブロックは、整数サンプル位置を示し、小文字(lower−case letter)(x_i、j)が記載された陰影のないブロックは、分数サンプル位置を示す。
分数サンプルは、水平方向及び垂直方向にそれぞれ整数サンプル値に補間フィルタが適用されて生成される。例えば、水平方向の場合、生成しようとする分数サンプルを基準にして左側の4個の整数サンプル値と右側の4個の整数サンプル値とに8タップフィルタが適用されることができる。
−インター予測モード
HEVCにおいては、動き情報の量を減らすために、マージ(Merge)モード、AMVP(Advanced Motion Vector Prediction)が用いられる。
1)マージ(Merge)モード
マージ(Merge)モードは、空間的(Spatially)又は時間的(temporally)に隣り合うブロックから動きパラメータ(又は、情報)を導出する方法を意味する。
マージモードにおいて利用可能な候補のセットは、空間的に隣り合う候補(Spatial neighbor candidates)、時間的候補(temporal candidates)及び生成された候補(generated candidates)で構成される。
図7は、本発明が適用できる実施形態として、空間的候補の位置を例示する。
図7(a)に示すように、{A1、B1、B0、A0、B2}の順序に従って各空間的候補ブロックが利用可能であるか否かが判断される。ここで、候補ブロックがイントラ予測モードでエンコードされて動き情報が存在しない場合、又は候補ブロックが現在ピクチャ(又は、スライス)の外に位置する場合は、当該候補ブロックを利用できない。
空間的候補の有効性の判断後、現在ブロックの候補ブロックから不要な候補ブロックを除くことにより、空間的マージ候補が構成され得る。例えば、現在予測ブロックの候補ブロックが同一コーディングブロック内の1番目の予測ブロックである場合、当該候補ブロックを除き、また同一の動き情報を有する候補ブロックを除くことができる。
空間的マージ候補構成が完了すると、{T0、T1}の順序に従って時間的マージ候補構成過程が進まれる。
時間的候補構成において、参照ピクチャの同一位置の(collocated)ブロックの右下端(right bottom)ブロックT0が利用可能である場合、当該ブロックを時間的マージ候補として構成する。同一位置の(collocated)ブロックは、選択された参照ピクチャにおいて現在ブロックに対応する位置に存在するブロックを意味する。それに対して、そうでない場合、同一位置の(collocated)ブロックの中央(center)に位置するブロックT1を時間的マージ候補として構成する。
マージ候補の最大個数は、スライスヘッダにおいて特定されることができる。マージ候補の個数が最大個数より大きい場合、最大個数より小さい個数の空間的候補と時間的候補が維持される。そうでない場合、マージ候補の個数は、候補個数が最大個数になるまで現在まで追加された候補を組み合わせて追加的なマージ候補(すなわち、組み合わせられた双予測マージ候補(combined bi−predictive merging candidates))が生成される。
エンコーダにおいては、前述したような方法によりマージ候補リストを構成し、動き推定(Motion Estimation)を行うことにより、マージ候補リストにおいて選択された候補ブロック情報をマージインデックス(merge index)(例えば、merge_idx[x0][y0]’)としてデコーダにシグナリングする。図7(b)においては、マージ候補リストにおいてB1ブロックが選択された場合を例示しており、この場合、マージインデックス(merge index)として「インデックス1(Index1)」がデコーダにシグナリングされることができる。
デコーダにおいては、エンコーダと同様にマージ候補リストを構成し、マージ候補リストにおいてエンコーダから受信したマージインデックス(merge index)に該当する候補ブロックの動き情報から現在ブロックに関する動き情報を導出する。そして、デコーダは、導出した動き情報に基づいて現在ブロックに対する予測ブロックを生成する(すなわち、動き補償)。
2)AMVP(Advanced Motion Vector Prediction)モード
AMVPモードは、周辺ブロックから動きベクトル予測値を誘導する方法を意味する。従って、水平及び垂直動きベクトル差分値(MVD:motion vector difference)、参照インデックス及びインター予測モードがデコーダにシグナリングされる。水平及び垂直動きベクトル値は、誘導された動きベクトル予測値とエンコーダから提供された動きベクトル差分値(MVD:motion vector difference)とを用いて計算される。
すなわち、エンコーダは、動きベクトル予測値候補リストを構成し、動き推定(Motion Estimation)を行うことにより動きベクトル予測値候補リストにおいて選択された動き参照フラグ(すなわち、候補ブロック情報)(例えば、mvp_lX_flag[x0][y0]’)をデコーダにシグナリングする。デコーダは、エンコーダと同様に動きベクトル予測値候補リストを構成し、動きベクトル予測値候補リストにおいてエンコーダから受信した動き参照フラグで示された候補ブロックの動き情報を用いて現在処理ブロックの動きベクトル予測値を導出する。また、デコーダは、導出された動きベクトル予測値とエンコーダから送信された動きベクトル差分値とを用いて現在処理ブロックに対する動きベクトル値を取得する。さらに、デコーダは、導出した動き情報に基づいて現在処理ブロックに対する予測ブロックを生成する(すなわち、動き補償)。
AMVPモードの場合、前述した図7において5個の利用可能な候補のうち2個の空間的動き候補が選択される。1番目の空間的動き候補は、左側に位置した{A0、A1}セットから選択され、2番目の空間的動き候補は、上位に位置した{B0、B1、B2}セットから選択される。ここで、隣り合う候補ブロックの参照インデックスが現在予測ブロックと同一でない場合、動きベクトルがスケーリングされる。
空間的動き候補の探索結果、選択された候補個数が2個であると、候補構成を終了するが、2個未満である場合、時間的動き候補が追加される。
図8は、本発明が適用される実施形態として、インター予測方法を例示する図である。
図8に示すように、デコーダ(特に、図2におけるデコーダのインター予測部261)は、処理ブロック(例えば、予測ユニット)に対する動きパラメータを復号化する(S801)。
例えば、処理ブロックにマージモードが適用された場合、デコーダは、エンコーダからシグナリングされたマージインデックスを復号化することができる。そして、マージインデックスで示された候補ブロックの動きパラメータから現在処理ブロックの動きパラメータを導出することができる。
さらに、処理ブロックにAMVPモードが適用された場合、デコーダは、エンコーダからシグナリングされた水平及び垂直動きベクトル差分値(MVD:motion vector difference)、参照インデックス、及びインター予測モードを復号化することができる。そして、動き参照フラグから示された候補ブロックの動きパラメータから動きベクトル予測値を導出し、動きベクトル予測値と受信した動きベクトル差分値とを用いて現在処理ブロックの動きベクトル値を導出することができる。
デコーダは、復号化した動きパラメータ(又は、情報)を用いて予測ユニットに対する動き補償を行う(S802)。
すなわち、エンコーダ/デコーダは、復号化された動きパラメータを用いて、以前にデコードされたピクチャから現在ユニットの画像を予測する動き補償(motion compensation)を行う。
図9は、本発明が適用できる実施形態として、動き補償過程を例示する図である。
図9においては、現在ピクチャ(current picture)において符号化しようとする現在ブロック(current block)のための動きパラメータは、単方向予測、LIST0、LIST0内の2番目のピクチャ(picture)、動きベクトル(−a,b)である場合を例示する。
この場合、図9に示すように、現在ブロックは、LIST0の2番目のピクチャにおいて現在ブロックと(−a,b)の分だけ離れている位置の値(すなわち、参照ブロック(reference block)のサンプル値)を用いて予測される。
双方向予測の場合は、また他の参照リスト(例えば、LIST1)と参照インデックス、動きベクトル差分値が送信されて、デコーダは、2個の参照ブロックを導出し、これに基づいて現在ブロック値を予測する。
実施形態1
HEVCを含む一般的な画像符号化技術は、符号化ブロックの動きを表現するために並進動きモデル(translation motion model)を使用する。ここで、並進動きモデルは、平行移動されたブロックベースの予測方法を示す。すなわち、符号化ブロックの動き情報は、1個の動きベクトルを用いて表現される。しかしながら、実際の符号化ブロック内において各画素別の最適の動きベクトルは相異なる可能性がある。もし、少ない情報のみで画素別又はサブブロック単位別の最適の動きベクトルを決定できると、符号化効率を向上させることができる。
従って、本発明は、画面間予測(すなわち、インター予測)の性能を向上させるために、平行移動されたブロックベースの予測方法だけでなく、画像の多様な動きを反映したインター予測ベースの画像処理方法を提案する。
また、本発明は、サブブロック又は画素単位の動きの情報を反映するようにして、予測の正確度を高め、圧縮性能を向上させる方法を提案する。
また、本発明は、アフィン動きモデル(affine motion model)を用いて符号化/復号化を行うアフィン動き予測方法について提案する。アフィン動きモデルは、制御点の動きベクトルを用いて画素単位又はサブブロック単位で動きベクトルを誘導する予測方法を示す。以下の図面を参照して説明する。
図10は、本発明が適用できる実施形態として、アフィン動きモデル(affine motion model)を説明するための図である。
図10に示すように、画像の歪みを動き情報として表現するために様々な方法が使用され、特に、アフィン動きモデルは、図10に示す4個の動きを表現することができる。
すなわち、アフィン動きモデルは、画像の拡大/縮小、画像の回転、画像のせん断(Shear)だけでなく、誘発される任意の画像歪みをモデリングする方法である。
アフィン動きモデルは、様々な方法で表現できるが、そのうち、本発明では、ブロックの特定基準点(又は、基準画素/サンプル)での動き情報を活用して歪みを表示(又は、識別)し、これを利用して画面間予測(すなわち、インター予測)を行う方法を提案する。ここで、基準点は、制御点(CP:Control Point)(又は、制御画素/サンプル)と呼ばれてもよく、このような基準点での動きベクトルは、制御点動きベクトル(CPMV:Control Point Motion Vector)と呼ばれてもよい。このような制御点の個数に応じて表現される歪みの程度が変わることがある。
アフィン動きモデルは、次の数式1のように6個のパラメータ(a、b、c、d、e、f)を利用して表現することができる。
数式1において、(x、y)は、符号化ブロックの左上端の位置を基準とする画素の位置を示す。そして、vx及びvyは(x、y)での動きベクトルを示す。本発明において、前記数式1のように6個のパラメータを利用するアフィン動きモデルは、AF6と呼ばれることができる。
図11は、本発明が適用できる実施形態として、制御点(control point)の動きベクトルを利用したアフィン動き予測方法を説明するための図である。
図11を参照すると、現在ブロック1101の左上端の制御点1102(以下、第1制御点と呼んでもよい)、右上端の制御点1103(以下、第2制御点と呼んでもよい)及び左下端の制御点1104(以下、第3制御点と呼んでもよい)は、それぞれ独立的な動き情報を有することができる。例えば、左上端の制御点1102は現在ブロックに含まれた画素に該当し、左上端の制御点1102、右上端の制御点1103及び左下端の制御点1104は現在ブロックに含まれていないが、現在ブロックに隣接した画素に該当し得る。
前記制御点のうち1つ以上の制御点の動き情報を利用して、現在ブロック1101の画素別又はサブブロック別の動き情報が誘導されることができる。
例えば、現在ブロック1101の左上端の制御点1102、右上端の制御点1103及び左下端の制御点1104の動きベクトルを利用したアフィン動きモデルは、次の数式2のように定義されることができる。
V0を左上端の制御点1102の動きベクトル、V1を右上端の制御点1103の動きベクトル、V2を左下端の制御点1104の動きベクトルとするとき、V0={v0x,v0y},V1={v1x,v1y},V2={v2x,v2y}と定義されることができる。そして、数式2においてwは現在ブロック1101の幅(width)、hは現在ブロック1101の高さ(height)を示す。そして、 V={vx,vy} は{x、y}位置の動きベクトルを示す。
また、演算複雑度を低減し、シグナリングビットを最適化するための類似(又は、簡素化)アフィンな動きモデル(Similarity(or simplified) affine motion model)が定義されることができる。前記類似アフィン動きモデルは、前記図10で説明した動きのうち、並進、スケール、回転(translation、scale、rotate)の3つの動きを表現することができる。
前記類似アフィン動きモデルは、次の数式3のように4つのパラメータ(a、b、c、d)を利用して表現することができる。
前記数式3のように4つのパラメータを利用するアフィン動きモデルは、AF4と呼ばれることができる。以下、本発明においては説明の便宜のためにAF4を基準として説明しているが、本発明はこれに限定されず、AF6の場合にも同様に適用されることができる。下記の図面を参照してAF4のアフィン動きモデルを説明する。
図12及び図13は、本発明が適用できる実施形態として、制御点(control point)の動きベクトルを利用したアフィン動き予測方法を説明するための図である。
図12に示すように、V1を現在ブロック1201の左上端の制御点1202の動きベクトル、
を右上端の制御点1203の動きベクトルとするとき、V0={v0x,v0y}, V1={v1x,v1y} と定義されることができる。ここで、AF4のアフィン動きモデルを次の数式4のように定義することができる。
を右上端の制御点1203の動きベクトルとするとき、V0={v0x,v0y}, V1={v1x,v1y} と定義されることができる。ここで、AF4のアフィン動きモデルを次の数式4のように定義することができる。
数式4において、wは現在ブロック1201の幅(width)、hは現在ブロック1201の高さ(height)を示す。そして、V={vx,vy}は{x、y}位置の動きベクトルを示す。
エンコーダ/デコーダは、CPMV(すなわち、左上端の制御点1202及び右上端の制御点1203の動きベクトル)を利用して各画素位置の動きベクトルを決定(又は、誘導)する。以下、本発明において、アフィン動きベクトルフィールドをアフィン動き予測により決定される動きベクトルの集合と定義する。このようなアフィンの動きベクトルフィールドは、前述した数式1ないし4を利用して決定されることができる。
符号化/復号化の過程において、アフィン動き予測による動きベクトルは、画素単位又は予め定義された(又は、予め設定された)ブロック(又は、サブブロック)単位で決定される。画素単位で決定される場合は、処理ブロック内の各画素を基準に動きベクトルが誘導され、サブブロック単位で決定される場合は、現在処理ブロック内の各サブブロック単位を基準に動きベクトルが誘導される。また、サブブロック単位で決定される場合、動きベクトルは、左上側画素又は中央画素を基準に当該サブブロックの動きベクトルが誘導される。
以下、本発明の説明において、説明の便宜のために、アフィン動き予測による動きベクトルが4×4サイズのブロック単位で決定される場合を中心に説明するが、本発明は、これに限定されるものではなく、本発明は、画素単位又は他のサイズのサブブロック単位で適用されることもできる。
図13に示すように、現在ブロック1301のサイズが16×16である場合を仮定する。エンコーダ/デコーダは、現在ブロック1301の左上端の制御点1302及び右上端の制御点1303の動きベクトルを利用して4×4サイズのサブブロック単位で動きベクトルを決定する。そして、各サブブロックの中央画素値を基準に当該サブブロックの動きベクトルが決定される。
アフィン動き予測は、アフィンマージモード(以下、「AFマージ」と呼んでもよい)とアフィンインターモード(以下、「AFインター」と呼んでもよい)に区分されることができる。アフィンマージモードは、一般的に既存の画像符号化技術において使用されるスキップモード又はマージモードと類似して動きベクトル差分値を符号化せずに、2つの制御点動きベクトルを誘導して符号化/復号化する方法である。アフィンインターモードは、制御点動きベクトル予測値と制御点動きベクトルを決定した後、差分値に該当する制御点動きベクトル差分値をエンコーダからデコーダにシグナリングする符号化/復号化方法である。この場合、AF4の場合は2つの制御点の動きベクトル差分値の送信が要求され、AF6の場合は3つの制御点の動きベクトル差分値の送信が要求される。
図14は、本発明が適用される実施形態として、インター予測モードに基づいて画像を符号化する方法を例示するフローチャートである。
図14に示すように、エンコーダは、現在処理ブロックに対してスキップモード、マージモード、インターモードを実行(又は、適用)する(S1401)。そして、エンコーダは、現在処理ブロック対してAFマージモードを実行する(S1402)、AFインターモードを実行する(S1403)。ここで、前記S1401ないしS1403ステップの実行順序を変更してもよい。
エンコーダは、前記S1401ないしS1403ステップで実行されたモードのうち、現在処理ブロックに適用される最適のモードを選択する(S1404)。この場合、エンコーダは、最小のレート歪み(Rate−Distortion)値に基づいて最適のモードを決定することができる。
図15は、本発明が適用される実施形態として、インター予測モードに基づいて画像を復号化する方法を例示するフローチャートである。
デコーダは、現在処理ブロックにAFマージモードが適用されるか否かを判断する(S1501)。S1501ステップで判断した結果、現在処理ブロックにAFマージモードが適用される場合、AFマージモードに基づいて復号化を行う(S1502)。AFマージモードが適用される場合、デコーダは、制御点動きベクトル予測値候補を生成し、エンコーダから受信されたインデックス(又は、フラグ)値に基づいて決定される候補を制御点動きベクトルとして決定する。
S1501ステップで判断した結果、現在処理ブロックにAFマージモードが適用されない場合、デコーダは、AFインターモードが適用されるか否かを判断する(S1503)。S1503ステップで判断した結果、現在処理ブロックにAFインターモードが適用される場合、デコーダは、AFインターモードに基づいて復号化を行う(S1504)。AFインターモードが適用される場合、デコーダは、制御点動きベクトル予測値候補を生成し、エンコーダから受信されたインデックス(又は、フラグ)値を利用して候補を決定した後、エンコーダから受信された動きベクトル予測値の差分値を合算して制御点動きベクトルを決定する。
S1503ステップで判断した結果、現在処理ブロックにAFインターモードが適用されない場合、デコーダは、AFマージ/AFインターモード以外のモードに基づいて復号化を行う(S1505)。
本発明の一実施形態においては、AFインターモードで制御点動きベクトル予測値を誘導する方法を提案する。制御点動きベクトル予測値は、第1制御点及び第2制御点の2つの動きベクトル対で構成されることができ、2つの制御点動きベクトル予測値候補が構成されることができる。そして、エンコーダは、デコーダに2つの候補のうち最適の制御点動きベクトル予測値インデックスをシグナリングすることができる。下記の図面を参照して2つの制御点動きベクトル予測値候補を決定する方法を具体的に説明する。
図16及び図17は、本発明が適用される実施形態として、制御点動きベクトル予測値候補を決定する方法を説明するための図である。
図16に示すように、エンコーダ/デコーダは、第1制御点、第2制御点及び第3制御点の動きベクトル予測値を組み合わせた組み合わせ動きベクトル予測値を生成する(S1601)。例えば、エンコーダ/デコーダは、制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて最大12個の組み合わせ動きベクトル予測値を生成する。
図17に示すように、エンコーダ/デコーダは、第1制御点1701の左上側の隣接ブロックA、上側の隣接ブロックB、左側の隣接ブロックCの動きベクトルを第1制御点1701の動きベクトル組み合わせ候補として利用することができる。そして、エンコーダ/デコーダは、第2制御点1702の上側の隣接ブロックD、右上側の隣接ブロックEを第2制御点1702の動きベクトル組み合わせ候補として利用することができる。そして、エンコーダ/デコーダは、第3制御点1703の左側の隣接ブロックF、左下側の隣接ブロックGを第3制御点1703の動きベクトル組み合わせ候補として利用することができる。ここで、各制御点の隣接ブロックは、4×4サイズのブロックであり得る。制御点にそれぞれ隣接する周辺ブロックの動きベクトル組み合わせは、下記の数式5のように表現することができる。
再び図16を参照すると、エンコーダ/デコーダは、S1601ステップで生成された組み合わせ動きベクトル予測値を制御点の動きベクトルの発散程度が小さい順に並べ替え(又は、配置)する(S1602)。動きベクトルの発散程度が小さい値を有するほど、制御点の動きベクトルが同一又は類似の方向を示すことができる。ここで、動きベクトルの発散程度は、次の数式6を利用して決定されることができる。
エンコーダ/デコーダは、S1602ステップで並べ替えた組み合わせ動きベクトル予測値のうち上位2つを動きベクトル予測値候補リスト(以下、「候補リスト」と呼んでもよい)として決定(又は、追加)する(S1603)。
もし、候補リストに追加された候補が2つより小さい場合、エンコーダ/デコーダは、AMVP候補リストの候補を候補リストに追加する(S1604)。具体的に、S1603ステップで追加された候補が0個である場合、エンコーダ/デコーダは、AMVP候補リストの上位2つの候補を候補リストに追加する。S1603ステップで追加された候補が1つである場合、エンコーダ/デコーダは、AMVP候補リストの1番目の候補を候補リストに追加する。そして、前記AMVP候補リストは、前記図7ないし図9で説明した方法を適用して生成することができる。
次の表1は、本実施形態で提案する方法によるシンタックス(Syntax)を例示する。
表1において、merge_flagは、現在処理ブロックにマージモードが適用されるか否かを示す。そして、affine_flagは、現在処理ブロックにアフィンモードが適用されるか否かを示す。もし、現在処理ブロックにマージモードが適用される場合、エンコーダ/デコーダは、affine_flagをパーシングして現在処理ブロックにAFマージモードが適用されるか否かを確認する。
もし、現在処理ブロックにマージモードが適用されない場合、エンコーダ/デコーダは、affine_flagをパーシングして現在処理ブロックにAFインターモードが適用されるか否かを確認する。そして、現在処理ブロックにAFインターモードが適用される場合、2つの候補のうちどの候補を制御点動きベクトル予測値として使用するかを示すaamvp_idxをパーシングする。
実施形態2
本発明の一実施形態において、エンコーダ/デコーダは、アフィンモードで符号化された周辺ブロックのアフィン動きモデル(又は、動き情報)を用いてアフィン動き予測を行うことができる。すなわち、エンコーダ/デコーダは、周辺ブロックのうちアフィンモードで符号化されたブロックが存在するか否かを確認し、確認結果に応じて、アフィンモードで符号化されたブロックのアフィン動きモデル(又は、動き情報)を用いて制御点の動きベクトル予測値を誘導することができる。
図18は、本発明が適用される実施形態として、周辺ブロックのアフィン動きモデルを利用してアフィン動き予測を行う方法を説明するための図である。
図18に示すように、エンコーダ/デコーダは、左下端のブロックA、上右端のブロックB、前記上右端ブロックの右側に隣接するブロックC、前記左下端のブロックの下側に隣接するブロックD及び左上端のブロックEのうちアフィンモードで符号化されたブロックが存在するか否かを確認する。
隣り合うアフィン符号化ブロックが存在しない場合、エンコーダ/デコーダは、前述した実施形態1における方法を適用することができる。
それに対して、隣り合うアフィン符号化ブロックが存在する場合、エンコーダ/デコーダは、左下端のブロックA、上右端のブロックB、前記上右端のブロックの右側に隣接するブロックC、前記左下端のブロックの下側に隣接するブロックD及び左上端のブロックEの順序上、1番目の隣り合うアフィン符号化ブロックのアフィン動きモデルによって現在ブロックの制御点動きベクトル予測値を決定することができる。
前述したように、隣り合うアフィン符号化ブロックが存在しない場合、エンコーダ/デコーダは、2つの制御点動きベクトル予測値候補を構成することができる。この場合、2つの制御点動きベクトル予測値候補のうち特定候補を示すインデックス送信が要求される。それに対して、隣り合うアフィン符号化ブロックが存在する場合、隣り合うアフィン符号化ブロックのアフィン動きモデルにより1つの制御点動きベクトル予測値候補のみを決定するため、インデックス送信が要求されない。
従って、本発明の実施形態によると、周辺ブロックのアフィン動きモデルを使用することにより、動きベクトル予測値候補のうち特定候補を示すためのインデックスシグナリングビットを節約することができ、符号化効率が向上する。
隣り合うアフィン符号化ブロックのアフィン動きモデルに基づいて動きベクトル予測値を誘導する方法を下記の図面を参照して説明する。
図19は、本発明が適用できる実施形態として、周辺ブロックのアフィン動きモデルを利用して動きベクトル予測値を決定する方法を説明するための図である。
図19に示すように、隣り合うアフィン符号化ブロックは、第1制御点1901、第2制御点1902、第3制御点1903の動きベクトルが決定されており、前述した数式2又は数式4によるアフィン動きモデルが決定されている可能性もある。
該当数学の式において隣り合うアフィン符号化ブロックの第1制御点1901の座標が(0,0)であるので、前記第1制御点1901を基準とする現在処理ブロックの第1制御点1904及び第2制御点1905の座標値を適用して、現在処理ブロックの第1制御点1904及び第2制御点1905の動きベクトル予測値を誘導(又は、取得)することができる。
図20は、本発明が適用される実施形態として、周辺ブロックのアフィン動きモデルを利用してアフィン動き予測を行う方法を例示するフローチャートである。
図20に示すように、エンコーダ/デコーダは、現在ブロックの周辺ブロックのうちアフィンモードで符号化されたアフィン符号化ブロックが存在するか否かを確認する(S2001)。ここで、アフィンモードは、制御点の動きベクトルを用いて画素単位又はサブブロック単位で動きベクトルを誘導するモードを示す。
S2001のステップで確認した結果、周辺ブロックのうちアフィン符号化ブロックが存在する場合、エンコーダ/デコーダは、予め定められたスキャン順序上、1番目のアフィン符号化ブロックのアフィン動きモデルを利用して制御点動きベクトル予測値を誘導する(S2002)。例えば、前記予め定められた順序は、前述した図18の左下端のブロックA、上右端のブロックB、前記上右端のブロックの右側に隣接するブロックC、前記左下端のブロックの下側に隣接するブロックD、左上端のブロックE位置のブロック順序であり得る。そして、前述したように、前記数式2又は4を利用して、現在処理ブロックの制御点の動きベクトル予測値を誘導することができる。
S2001のステップで確認した結果、周辺ブロックのうちアフィン符号化ブロックが存在しない場合、エンコーダ/デコーダは、実施形態1において前述した方法を適用して動きベクトル予測値候補リストを生成することができる。具体的に、S2003ないしS2006のステップは、前述した図16のS1601ないしS1604ステップと同様一に行われることができる。
次の表2は、本実施形態で提案する方法によるシンタックス(Syntax)を例示する。
表2において、merge_flagは、現在処理ブロックにマージモードが適用されるか否かを示す。そして、affine_flagは、現在処理ブロックにアフィンモードが適用されるか否かを示す。そして、aamvp_flagは、2つの制御点動きベクトル予測値候補リストのうちどの候補を利用するかを示す。
現在処理ブロックにマージモードが適用されない場合、エンコーダ/デコーダは、affine_flagをパーシングして現在処理ブロックにAFインターモードが適用されるか否かを確認する。そして、エンコーダ/デコーダは、現在ブロックの周辺ブロックのうちアフィン符号化ブロックが存在するか否かを確認して、存在する場合は、前記aamvp_flagをパーシングせずに周辺アフィン符号化ブロックのアフィン動きモデルを用いて現在処理ブロックの制御点の動きベクトル予測値を決定し、存在しない場合は、前記aamvp_flagをパーシングして生成された候補リスト内で現在の処理ブロックに適用される候補を決定する。
実施形態3
本発明の一実施形態において、エンコーダ/デコーダは、アフィンモードで符号化された周辺ブロックのアフィン動きモデル(又は、動き情報)を用いて候補リストを構成することができる。周辺アフィン符号化ブロックが存在する場合、前述した実施形態2の場合は1つのアフィン符号化ブロックのアフィン動きモデルを利用して制御点の動きベクトル予測値を生成したのに対して、本実施形態では周辺アフィン符号化ブロックが存在する場合にも2つの制御点動きベクトル予測値候補を含む候補リストを生成することができる。
図21は、本発明が適用される実施形態として、周辺ブロックのアフィン動きモデルを利用してアフィン動き予測を行う方法を例示するフローチャートである。
図21に示すように、エンコーダ/デコーダは、前記実施形態1において説明した方法を適用して2つの制御点動きベクトル予測値候補を決定する(S2101)。
エンコーダ/デコーダは、現在処理ブロックの周辺ブロックのうちアフィンモードで符号化されたブロックが存在するか否かを確認する(S2102)。
S2101のステップで確認した結果、周辺ブロックのうちアフィン符号化ブロックが存在する場合、エンコーダ/デコーダは、予め定められたスキャン順序上、1番目のアフィン符号化ブロックのアフィン動きモデルを利用して制御点動きベクトル予測値を決定(又は、誘導)し、決定された制御点動きベクトル予測値を候補リストの1番目の候補として決定する(S2103)。例えば、前記予め定められた順序は、前述した図18の左下端のブロックA、上右端のブロックB、前記上右端のブロックの右側に隣接するブロックC、前記左下端のブロックの下側に隣接するブロックD、左上端のブロックE位置のブロック順序であり得る。そして、前述したように、前述した数式2又は4を利用して、現在処理ブロックの制御点の動きベクトル予測値を誘導することができる。
エンコーダ/デコーダは、S2101ステップで決定された1番目の候補を候補リストの2番目の候補として決定する(S2104)。
S2102のステップで確認した結果、周辺ブロックのうちアフィン符号化ブロックが存在しない場合、エンコーダ/デコーダは、S2101ステップで決定された2つの動きベクトル予測値候補を候補リストに追加して候補リストを生成する(S2105)。ここで、前述した図16のS1601ないしS1604ステップが適用されることができる。
本実施形態においては、隣り合うアフィンモード符号化ブロックの有無に関係なく2つの動きベクトル予測値候補を利用して候補リストが生成されることができる。従って、隣り合うアフィンモード符号化ブロックが存在する場合にも、候補リスト内で現在処理ブロックに適用される候補を示すインデックスがエンコーダからデコーダにシグナリングされることができる。従って、本実施形態で提案する方法によるシンタックスは、前述した表1と同一に決定されることができる。
実施形態4
本発明の一実施形態において、エンコーダ/デコーダは、アフィンモードで符号化された周辺ブロックのアフィン動きモデル(又は、動き情報)を用いて候補リストを構成することができる。周辺アフィン符号化ブロックが存在する場合、スキャン順序上、1番目のアフィン符号化ブロックを利用して制御点動きベクトル予測値の候補を決定する実施形態2及び実施形態3とは異なり、本実施形態では、全ての周辺アフィン符号化ブロックを考慮して2つの制御点動きベクトル予測値候補を決定することができる。
図22は、本発明が適用される実施形態として、周辺ブロックのアフィン動きモデルを利用してアフィン動き予測を行う方法を例示するフローチャートである。
図22に示すように、エンコーダ/デコーダは、現在処理ブロックの周辺ブロックのうちアフィンモードで符号化されたブロックが存在するか否かを確認する(S2201)。ここで、エンコーダ/デコーダは、周辺アフィン符号化ブロックの個数Nを決定することができる。
エンコーダ/デコーダは、N個の制御点動きベクトル予測値候補を決定する(S2202)。例えば、エンコーダ/デコーダは、前述した図18の左下端のブロックA、上右端のブロックB、前記上右端のブロックの右側に隣接するブロックC、前記左下端のブロックの下側に隣接するブロックD、左上ブロックE位置のスキャン順序上、i番目の周辺アフィン符号化ブロックを利用してi番目の候補を決定することができる。この場合、エンコーダ/デコーダは、プルーニングチェック(pruning check)により重複する動きベクトル(又は、候補)を除去する(S2203)。
エンコーダ/デコーダは、存在する候補の個数が2つ以上であるか否かを判断する(S2204)。
もし、2つ以上である場合、エンコーダ/デコーダは、スキャン順序上、上位2つの候補を最終制御点動きベクトル予測値候補として決定する(S2205)。2つの未満である場合、エンコーダ/デコーダは、前記実施形態1で説明した方法を適用して2つの制御点動きベクトル予測値候補を決定する(S2206)。
図23は、本発明の一実施形態によるインター予測ベースの画像処理方法を例示する図である。
図23に示すように、デコーダは、現在ブロックの周辺ブロックのうちアフィンモードで符号化されたアフィン(affine)符号化ブロックが存在するか否かを確認する(S2301)。ここで、アフィンモードは、制御点(control point)の動きベクトルを用いて画素単位又はサブブロック単位で動きベクトルを誘導するモードを示す。
前述したように、デコーダは、現在ブロックの左下端のブロック、上右端のブロック、前記上右端のブロックの右側に隣接するブロック、前記左下端のブロックの下側に隣接するブロック及び左上端のブロックの順にアフィン符号化ブロックであるか否かを確認できる。
デコーダは、前記S2301のステップで確認した結果、周辺ブロックのうちアフィン符号化ブロックが存在する場合、アフィン符号化ブロックの動き情報に基づいて現在ブロックの制御点の第1動きベクトル候補(motion vector candidate)を誘導する(S2302)。
前述したように、デコーダは、スキャン順序上、1番目のアフィン符号化ブロックの動き情報(又は、動きモデル)を利用して前記第1動きベクトル候補を誘導することができる。ここで、第1動きベクトル候補は、制御点の動きベクトル予測値を含む。そして、第1動きベクトル候補は、周辺アフィン符号化ブロックのアフィン動きモデルを利用して計算されることができる。例えば、第1動きベクトル候補は、前述した数式2又は数式4を利用して計算されることができる。すなわち、第1動きベクトル候補を計算するにおいて、周辺アフィン符号化ブロックの幅(width)、高さ(height)、前記アフィン符号化ブロックの制御点の動きベクトル及び前記現在ブロックの制御点の位置が利用できる。
前述したように、デコーダは、前記確認の結果、周辺ブロックのうちアフィン符号化ブロックが存在しない場合、前述した実施形態1の方法を適用して制御点動きベクトル予測値候補を決定することができる。すなわち、周辺ブロックのうちアフィン符号化ブロックが存在しない場合、デコーダは、現在ブロックの制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて組み合わせ動きベクトル候補を生成し、生成された組み合わせ動きベクトル候補のうち動きベクトルの発散程度が小さい順に、予め決められた個数の組み合わせ動きベクトル候補を候補リストに追加する。
また、前記実施形態2で説明したように、デコーダは、現在ブロックに対してアフィンモードが適用されるか否かを示すアフィンフラグを抽出することができる。そして、前記現在ブロックに前記周辺ブロックのうちアフィンモードで符号化されたブロックが存在しない場合、デコーダは、2つ以上の候補を含む候補リストを生成することができる。デコーダは、候補リストのうち特定の動きベクトル候補を示すインデックスを抽出することができる。
また、前記実施形態3で説明したように、デコーダは、前述した実施形態1の方法を適用して制御点動きベクトル予測値候補を決定することができる。すなわち、デコーダは、現在ブロックの制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて組み合わせ動きベクトル候補を生成し、生成された組み合わせ動きベクトル候補のうち動きベクトルの発散程度が小さい順序上、1番目の第2動きベクトル候補及び2番目の第3動きベクトル候補を候補リストに追加できる。以後、デコーダは、周辺アフィン符号化ブロックの動きモデルを利用して生成された第1動きベクトル候補を候補リストに追加できる。この場合、候補リスト上の1番目の候補として第1動きベクトル候補が決定され、2番目の候補として第2動きベクトル候補が決定されることができる。そして、第3動きベクトル候補は候補リストから除去される。すなわち、デコーダは、周辺ブロックのうちアフィン符号化ブロックが存在する場合、第1動きベクトル候補及び第2動きベクトル候補を利用して候補リストを構成することができる。
一方、周辺ブロックのうちアフィン符号化ブロックが存在しない場合、デコーダは、第2動きベクトル候補及び第3動きベクトル候補を利用して候補リストを構成することができる。
また、前記実施形態4で説明したように、デコーダは、1つ以上の周辺アフィン符号化ブロックのアフィン動きモデルを利用して動きベクトル予測値候補を構成することができる。もし、周辺ブロックのうち2つ以上の周辺アフィン符号化ブロックが存在する場合、デコーダは、スキャン順序上、1番目のアフィン符号化ブロックの動き情報(又は、動きモデル)を利用して第1動きベクトル候補を決定し、スキャン順序上、2番目のアフィン符号化ブロックの動き情報(又は、動きモデル)を利用して第4動きベクトル候補を決定することができる。そして、デコーダは、候補リストから第1動きベクトル候補を一番目の候補として決定し、第4動きベクトル候補を2番目の候補として最終決定することができる。また、前述したように、デコーダは、周辺ブロックのうちアフィン符号化ブロック間の重複する動き情報を除去することができる。
図24は、本発明の一実施形態によるインター予測部を例示する図である。
図24においては、説明の便宜のために、インター予測部(図1の181及び図2の261)を1つのブロックとして示したが、インター予測部181、261は、エンコーダ及び/又はデコーダに含まれる構成として実現されてもよい。
図24に示すように、インター予測部181、261は、前記図5ないし図20で提案された機能、過程及び/又は方法を実現する。具体的に、インター予測部181、261は、周辺ブロック確認部2401、制御点動きベクトル候補決定部2402を含んで構成される。
周辺ブロック確認部2401は、現在ブロックの周辺ブロックのうちアフィンモードで符号化されたアフィン(affine)符号化ブロックが存在するか否かを確認する。ここで、アフィンモードは、制御点(control point)の動きベクトルを用いて画素単位又はサブブロック単位で動きベクトルを誘導するモードを示す。
前述したように、周辺ブロック確認部2401は、現在ブロックの左下端のブロック、上右端のブロック、前記上右端のブロックの右側に隣接するブロック、前記左下端のブロックの下側に隣接するブロック及び左上端のブロックの順にアフィン符号化ブロックであるか否かを確認する。
周辺ブロック確認部2401で確認した結果、周辺ブロックのうちアフィン符号化ブロックが存在する場合、制御点動きベクトル候補決定部2402は、アフィン符号化ブロックの動き情報に基づいて現在ブロックの制御点の第1動きベクトル候補(motion vector candidate)を誘導する。
前述したように、制御点動きベクトル候補決定部2402は、スキャン順序上、1番目のアフィン符号化ブロックの動き情報(又は、動きモデル)を利用して前記第1動きベクトル候補を誘導することができる。ここで、第1動きベクトル候補は、制御点の動きベクトル予測値を含むことができる。そして、第1動きベクトル候補は、周辺アフィン符号化ブロックのアフィン動きモデルを利用して計算されることができる。例えば、第1動きベクトル候補は、前述した数式2又は数式4を利用して計算される。すなわち、第1動きベクトル予測値を計算するのにおいて、周辺アフィン符号化ブロックの幅(width)、高さ(height)、前記アフィン符号化ブロックの制御点の動きベクトル及び前記現在ブロックの制御点の位置が利用できる。
前述したように、制御点動きベクトル候補決定部2402は、前記確認の結果、周辺ブロックのうちアフィン符号化ブロックが存在しない場合、前述した実施形態1の方法を適用して制御点動きベクトル予測値候補を決定する。すなわち、周辺ブロックのうちアフィン符号化ブロックが存在しない場合、制御点動きベクトル候補決定部2402は、現在ブロックの制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて組み合わせ動きベクトル候補を生成し、生成された組み合わせ動きベクトル候補のうち動きベクトルの発散程度が小さい順に予め定められた数の組み合わせ動きベクトル候補を候補リストに追加する。
また、前記実施形態2で説明したように、制御点動きベクトル候補決定部2402は、現在ブロックに対してアフィンモードが適用されるか否かを示すアフィンフラグを抽出する。そして、前記現在ブロックに前記周辺ブロックのうちアフィンモードで符号化されたブロックが存在しない場合、制御点動きベクトル候補決定部2402は、2つ以上の候補を含む候補リストを生成することができる。制御点動きベクトル候補決定部2402は、候補リストのうち特定動きベクトル候補を示すインデックスを抽出する。
また、前記実施形態3で説明したように、制御点動きベクトル候補決定部2402は、前述した実施形態1の方法を適用して制御点動きベクトル予測値候補を決定する。すなわち、制御点動きベクトル候補決定部2402は、現在ブロックの制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて組み合わせ動きベクトル候補を生成し、生成された組み合わせ動きベクトル候補のうち動きベクトルの発散程度が小さい順序上、1番目の第2動きベクトル候補及び2番目の第3動きベクトル候補を候補リストに追加する。その後、制御点動きベクトル候補決定部2402は、周辺アフィン符号化ブロックの動きモデルを利用して生成された第1動きベクトル候補を候補リストに追加する。この場合、候補リスト上の1番目の候補として第1動きベクトル候補が決定され、2番目の候補として第2動きベクトル候補が決定されることができる。そして、第3動きベクトル候補は候補リストから削除されてもよい。言い換えると、デコーダは、周辺ブロックのうちアフィン符号化ブロックが存在する場合、第1動きベクトル候補及び第2動きベクトル候補を利用して候補リストを構成する。
一方、周辺ブロックのうちアフィン符号化ブロックが存在しない場合、デコーダは、第2動きベクトル候補及び第3動きベクトル候補を利用して候補リストを構成することができる。
また、前記実施形態4で説明したように、制御点動きベクトル候補決定部2402は、1つ以上の周辺アフィン符号化ブロックのアフィン動きモデルを利用して動きベクトル予測値候補を構成することができる。もし、周辺ブロックのうち2つ以上の周辺アフィン符号化ブロックが存在する場合、制御点動きベクトル候補決定部2402は、スキャン順序上、1番目のアフィン符号化ブロックの動き情報(又は、動きモデル)を利用して第1動きベクトル候補を決定し、スキャン順序上、2番目のアフィン符号化ブロックの動き情報(又は、動きモデル)を利用して第4動きベクトル候補を決定することができる。そして、制御点動きベクトル候補決定部2402は、候補リストにおいて第1動きベクトル候補を1番目の候補として決定し、第4動きベクトル候補を2番目の候補として最終決定する。また、前述したように、制御点動きベクトル候補決定部2402は、周辺ブロックのうちアフィン符号化ブロック間の重複される動き情報を除去することができる。
図25は、本発明が適用される実施形態として、コンテンツのストリーミングシステム構造図を示す。
図25に示すように、本発明が適用されるコンテンツストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含むことができる。
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
前記ビットストリームは、本発明が適用されるエンコード方法又はビットストリーム生成方法によって生成されることができ、前記ストリームサーバは前記ビットストリームを送信又は受信する過程で一時的に前記ビットストリームを格納することができる。
前記ストリーミングサーバは、ウェブサーバを介するユーザリクエストに基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介としての役割を果たす。ユーザが前記ウェブサーバに希望するサービスを要求すると、前記ウェブサーバはこれをストリーミングサーバに伝達し、前記ストリーミングサーバはユーザにマルチメディアデータを送信する。ここで、前記コンテンツストリーミングシステムは、別途の制御サーバを含んでもよく、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たす。
前記ストリーミングサーバは、メディア格納所及び/又はエンコードサーバからコンテンツを受信する。例えば、前記エンコードサーバからコンテンツを受信する場合、前記コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは前記ビットストリームを一定時間格納することができる。
前記ユーザ装置の例としては、携帯電話、スマートフォン(smart phone)、ノートブックコンピュータ(laptop computer)、デジタル放送用端末機、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、スマートウォッチ(smartwatch)、スマートグラス(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ、デジタルサイネージなどを有することができる。
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営でき、この場合、各サーバで受信するデータは分散処理されることができる。
前述したように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われることができる。例えば、各図面に示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われることができる。
また、本発明が適用されるデコーダ及びエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号及びデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などが含まれる。
また、本発明が適用される処理方法は、コンピュータにより実行されるプログラムの形態で生産されることができ、コンピュータにより読み取りできる記録媒体に格納できる。本発明によるデータ構造を有するマルチメディアデータもまたコンピュータにより読み取りできる記録媒体に格納できる。前記コンピュータにより読み取りできる記録媒体は、コンピュータにより読み取りできるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータにより読み取りできる記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD−ROM、磁気テープ、フロッピ(登録商標)ディスク、及び光学データ格納装置を含むことができる。また、前記コンピュータにより読み取りできる記録媒体は、搬送波(例えば、インターネットを介する送信)の形態で実現されたメディアを含む。また、エンコード方法により生成されたビットストリームがコンピュータにより読み取りできる記録媒体に格納されるか、有無線通信ネットワークを介して送信できる。
また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現され、前記プログラムコードは、本発明の実施形態によりコンピュータにおいて行われる。前記プログラムコードは、コンピュータにより読み取りできるキャリア上に格納されることができる。
以上で説明された実施形態は、本発明の構成要素と特徴が所定の形態に結合されたものである。各構成要素又は特徴は、別途の明示的な言及がない限り、選択的なものとして考慮されなければならない。各構成要素又は特徴は、他の構成要素や特徴と結合されない形態に実施できる。また、一部の構成要素及び/又は、特徴を結合して本発明の実施形態を構成することも可能である。本発明の実施形態で説明される動作の順序は変更できる。ある実施形態の一部の構成や特徴は他の実施形態に含まれることができ、または他の実施形態の対応する構成または特徴と取替できる。特許請求範囲で明示的な引用関係がない請求項を結合して実施形態を構成するか、または出願後の補正により新たな請求項に含めることができることは自明である。
本発明による実施形態は、多様な手段、例えば、ハードウェア、ファームウエア(firmware)、ソフトウェア、またはそれらの結合などにより実現できる。ハードウェアによる実現の場合、本発明の一実施形態は1つまたはその以上のASICs(application specific integrated circuits)、DSPs(digital signal processors)、DSPDs(digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより実現できる。
ファームウエアやソフトウェアによる実現の場合、本発明の一実施形態は以上で説明された機能または動作を行うモジュール、手続、関数などの形態に実現できる。ソフトウェアコードはメモリに格納されてプロセッサにより駆動できる。前記メモリは前記プロセッサの内部または外部に位置し、既に公知された多様な手段により前記プロセッサとデータをやり取りすることができる。
本発明は本発明の必須的な特徴を逸脱しない範囲で他の特定の形態に具体化できることは通常の技術者に自明である。従って、前述した詳細な説明は全ての面で制限的に解析されてはならず、例示的なものとして考慮されなければならない。本発明の範囲は添付した請求項の合理的な解析により決定されなければならず、本発明の等価的な範囲内での全ての変更は本発明の範囲に含まれる。
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたものであり、当業者であれば、以下に添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内において、様々な他の実施形態を改良、変更、代替又は付加などが可能であろう。
Claims (12)
- インター予測(inter prediction)をベースに画像を処理する方法において、
現在ブロックの周辺ブロックのうちアフィンモードで符号化されたアフィン(affine)符号化ブロックが存在するか否かを確認するステップと、ここで、前記アフィンモードは、制御点(control point)の動きベクトルを用いて画素単位又はサブブロック単位で動きベクトルを誘導するモードを示し、
前記確認の結果、前記周辺ブロックのうちアフィン符号化ブロックが存在する場合、前記アフィン符号化ブロックの動き情報に基づいて前記現在ブロックの制御点の第1動きベクトル候補(motion vector candidate)を誘導するステップとを含む、インター予測モードベースの画像処理方法。 - 前記アフィン符号化ブロックが存在するか否かを確認するステップは、
前記現在ブロックの左下端のブロック、上右端のブロック、前記上右端のブロックの右側に隣接するブロック、前記左下端のブロックの下側に隣接するブロック及び左上端のブロックの順にアフィン符号化ブロックであるか否かを確認する、請求項1に記載のインター予測モードベースの画像処理方法。 - 前記第1動きベクトル候補を誘導するステップは、
前記順序上、1番目のアフィン符号化ブロックの動きモデル(motion model)を利用して前記第1動きベクトル候補を誘導する、請求項2に記載のインター予測モードベース画像処理方法。 - 前記第1動きベクトル候補は、前記アフィン符号化ブロックの幅(width)、高さ(height)、前記アフィン符号化ブロックの制御点の動きベクトル及び前記現在ブロックの制御点の位置を利用して計算される、請求項1に記載のインター予測モードベースの画像処理方法。
- 前記確認の結果、前記周辺ブロックのうちアフィン符号化ブロックが存在しない場合、前記現在ブロックの制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて組み合わせ動きベクトル候補を生成するステップと、
前記組み合わせ動きベクトル候補のうち動きベクトルの発散程度が小さい順に、予め決められた個数の組み合わせ動きベクトル候補を候補リストに追加するステップをさらに含む、請求項1に記載のインター予測モードベースの画像処理方法。 - 前記現在のブロックに対してアフィンモードが適用されるか否かを示すアフィンフラグを抽出するステップと、
前記現在ブロックに前記周辺ブロックのうちアフィンモードで符号化されたブロックが存在しない場合、前記候補リストのうち特定動きベクトル候補を示すインデックスを抽出するステップとをさらに含む、請求項5に記載のインター予測モードベースの画像処理方法。 - 前記現在ブロックの制御点にそれぞれ隣接する周辺ブロックの動きベクトルを組み合わせて組み合わせ動きベクトル候補を生成するステップと、
前記組み合わせ動きベクトル候補のうち動きベクトルの発散程度が小さい順序上、1番目の第2動きベクトル候補及び2番目の第3動きベクトル候補を誘導するステップとをさらに含む、請求項1に記載のインター予測モードベースの画像処理方法。 - 前記確認の結果、前記周辺ブロックのうちアフィン符号化ブロックが存在する場合、前記第1動きベクトル候補及び前記第2動きベクトル候補を利用して候補リストを生成するステップをさらに含む、請求項7に記載のインター予測モードベースの画像処理方法。
- 前記確認の結果、前記周辺ブロックのうちアフィン符号化ブロックが存在しない場合、 前記第2動きベクトル候補及び前記第3動きベクトル候補を利用して候補リストを生成するステップをさらに含む、請求項7に記載のインター予測モードベースの画像処理方法。
- 前記第1動きベクトル候補を誘導するステップは、
周辺ブロック間に予め設定された順序上、1番目のアフィン符号化ブロックの動き情報を利用して前記第1動きベクトル候補を誘導するステップと、
前記順序上、2番目のアフィン符号化ブロックの動き情報を利用して第4動きベクトル候補を誘導するステップとを含む、請求項1に記載のインター予測モードベースの画像処理方法。 - 前記第1動きベクトル候補を誘導するステップは、
前記周辺ブロックのうちアフィン符号化ブロック間に重複する動き情報を除去するステップをさらに含む、請求項10に記載のインター予測モードベースの画像処理方法。 - インター予測(inter prediction)をベースに画像を処理する装置において、
現在ブロックの周辺ブロックのうちアフィンモードで符号化されたアフィン(affine)符号化ブロックが存在するか否かを確認する周辺ブロック確認部と、ここで、前記アフィンモードは制御点(control point)の動きベクトルを用いて画素単位又はサブブロック単位で動きベクトルを誘導するモードを示し、
前記確認の結果、前記周辺ブロックのうちアフィン符号化ブロックが存在する場合、前記アフィン符号化ブロックの動き情報に基づいて前記現在ブロックの制御点の第1動きベクトル候補(motion vector candidate)を誘導する制御点の動きベクトル候補決定部とを含む、インター予測モードベースの画像処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762541088P | 2017-08-03 | 2017-08-03 | |
US62/541,088 | 2017-08-03 | ||
PCT/KR2018/007509 WO2019027145A1 (ko) | 2017-08-03 | 2018-07-03 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020529781A true JP2020529781A (ja) | 2020-10-08 |
Family
ID=65233951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020505816A Withdrawn JP2020529781A (ja) | 2017-08-03 | 2018-07-03 | インター予測モードベースの画像処理方法及びそのための装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20200244989A1 (ja) |
EP (1) | EP3664454A4 (ja) |
JP (1) | JP2020529781A (ja) |
KR (1) | KR20200023481A (ja) |
CN (1) | CN111052739A (ja) |
WO (1) | WO2019027145A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019235822A1 (ko) * | 2018-06-04 | 2019-12-12 | 엘지전자 주식회사 | 어파인 움직임 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
EP3815373A1 (en) * | 2018-06-29 | 2021-05-05 | InterDigital VC Holdings, Inc. | Virtual temporal affine candidates |
CN110868601B (zh) * | 2018-08-28 | 2024-03-15 | 华为技术有限公司 | 帧间预测方法、装置以及视频编码器和视频解码器 |
SG11202102005PA (en) * | 2018-08-28 | 2021-04-29 | Huawei Tech Co Ltd | Method for constructing candidate motion information list, inter prediction method, and apparatus |
WO2020050281A1 (ja) * | 2018-09-06 | 2020-03-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、および復号方法 |
WO2020137850A1 (ja) * | 2018-12-28 | 2020-07-02 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
CN114375573A (zh) * | 2019-06-24 | 2022-04-19 | Lg电子株式会社 | 使用合并候选推导预测样本的图像解码方法及其装置 |
WO2021107663A1 (ko) * | 2019-11-27 | 2021-06-03 | 엘지전자 주식회사 | 영상 디코딩 방법 및 그 장치 |
WO2024117533A1 (ko) * | 2022-11-29 | 2024-06-06 | 현대자동차주식회사 | 아핀 모델 기반의 예측을 이용하는 비디오 코딩방법 및 장치 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1098729A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | フレーム間予測画像の合成方法 |
JP2010524383A (ja) * | 2007-04-09 | 2010-07-15 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号処理方法及び装置 |
KR101269116B1 (ko) * | 2010-12-14 | 2013-05-29 | 엠앤케이홀딩스 주식회사 | 인터 예측 부호화된 동영상 복호화 방법 |
US9438910B1 (en) * | 2014-03-11 | 2016-09-06 | Google Inc. | Affine motion prediction in video coding |
WO2017039117A1 (ko) * | 2015-08-30 | 2017-03-09 | 엘지전자(주) | 영상의 부호화/복호화 방법 및 이를 위한 장치 |
CN108353168B (zh) * | 2015-11-20 | 2023-04-21 | 韩国电子通信研究院 | 对图像进行编/解码的方法和编/解码图像的装置 |
GB2561507B (en) * | 2016-01-07 | 2021-12-22 | Mediatek Inc | Method and apparatus for affine merge mode prediction for video coding system |
-
2018
- 2018-07-03 US US16/635,931 patent/US20200244989A1/en not_active Abandoned
- 2018-07-03 JP JP2020505816A patent/JP2020529781A/ja not_active Withdrawn
- 2018-07-03 EP EP18842175.4A patent/EP3664454A4/en not_active Withdrawn
- 2018-07-03 CN CN201880057059.0A patent/CN111052739A/zh not_active Withdrawn
- 2018-07-03 WO PCT/KR2018/007509 patent/WO2019027145A1/ko unknown
- 2018-07-03 KR KR1020207004147A patent/KR20200023481A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
CN111052739A (zh) | 2020-04-21 |
WO2019027145A1 (ko) | 2019-02-07 |
KR20200023481A (ko) | 2020-03-04 |
EP3664454A1 (en) | 2020-06-10 |
US20200244989A1 (en) | 2020-07-30 |
EP3664454A4 (en) | 2020-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880552B2 (en) | Method and apparatus for performing optimal prediction based on weight index | |
JP2020529781A (ja) | インター予測モードベースの画像処理方法及びそのための装置 | |
KR20200014913A (ko) | 인터 예측 기반의 영상 처리 방법 및 이를 위한 장치 | |
JP2019535202A (ja) | インター予測モードベースの画像処理方法及びそのための装置 | |
US20240107010A1 (en) | Intra prediction method and apparatus in image coding system | |
KR20180041211A (ko) | 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
JP7477495B2 (ja) | インター予測モードに基づいた映像処理方法及びそのための装置 | |
CN112385213B (zh) | 基于帧间预测模式处理图像的方法和用于该方法的设备 | |
KR20210142007A (ko) | Bdpcm 기반 영상 디코딩 방법 및 그 장치 | |
JP2021516502A (ja) | インター予測モードに基づいた映像処理方法およびそのための装置 | |
US20210211711A1 (en) | Image decoding method and apparatus based on affine motion prediction in image coding system | |
KR20180136967A (ko) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
CN113455006A (zh) | 图像解码方法和装置 | |
KR20210142009A (ko) | 블록 사이즈를 기반으로 bdpcm 을 수행하는 영상 디코딩 방법 및 그 장치 | |
CN112385230A (zh) | 通过使用仿射预测处理视频信号的方法和设备 | |
CN114175646A (zh) | 图像解码方法及其装置 | |
KR20220110834A (ko) | 영상 디코딩 방법 및 그 장치 | |
JP2023105163A (ja) | クロマ成分の映像デコード方法及びその装置 | |
KR20220074952A (ko) | 영상/비디오 코딩 방법 및 장치 | |
KR20220019240A (ko) | 영상 디코딩 방법 및 그 장치 | |
CN114258684A (zh) | 图像解码方法及其设备 | |
KR102644970B1 (ko) | 영상 디코딩 방법 및 그 장치 | |
KR20220003119A (ko) | 크로마 양자화 파라미터 데이터에 대한 영상 디코딩 방법 및 그 장치 | |
CN114097231A (zh) | 图像编码***中使用bdpcm来解码图像的方法及装置 | |
KR20220100063A (ko) | Ph nal 유닛 코딩 관련 영상 디코딩 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210303 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20210615 |