JP2020529811A - ビデオ画像符号化および復号方法、装置、およびデバイス - Google Patents

ビデオ画像符号化および復号方法、装置、およびデバイス Download PDF

Info

Publication number
JP2020529811A
JP2020529811A JP2020507658A JP2020507658A JP2020529811A JP 2020529811 A JP2020529811 A JP 2020529811A JP 2020507658 A JP2020507658 A JP 2020507658A JP 2020507658 A JP2020507658 A JP 2020507658A JP 2020529811 A JP2020529811 A JP 2020529811A
Authority
JP
Japan
Prior art keywords
length
affine
image
vertical direction
subblock
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
JP2020507658A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2020529811A publication Critical patent/JP2020529811A/ja
Pending legal-status Critical Current

Links

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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/527Global motion vector estimation
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

本発明はビデオ画像復号方法を提供する。本方法では、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズが、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて決定され、ここで、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、最後に、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理が実行される。本方法によれば、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックの属性に基づく最適なサイズに、適応的に調整され得る。このようにして、復号品質が保証され得、復号複雑度が低減され得、復号効率が効果的に改善され得る。

Description

本出願は、2017年8月11日に中国特許庁に出願され「VIDEO IMAGE ENCODING AND DECODING METHOD, APPARATUS, AND DEVICE」と題する中国特許出願第201710687117.5号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
本発明は、ビデオ画像処理の分野に関し、詳細には、ビデオ画像符号化方法、ビデオ画像復号方法、符号化装置、復号装置、符号化デバイス、および復号デバイスに関する。
インターネット技術が急速に発展し、人々の用具および精神文化がますます豊かになるにつれて、ビデオの適用に対して、特に高精細ビデオの適用に対して、インターネット上に増大した需要がある。しかしながら、高精細ビデオは極めて大量のデータを有する。帯域幅が限定されたインターネット上で高精細ビデオを送信するために、最初に解決される必要がある問題は高精細ビデオの圧縮および符号化である。現在、ビデオコーディング規格の策定に専用の2つの国際機関、すなわち、国際標準化機構(International Organization for Standardization、略して「ISO」)/国際電気標準会議(International Electrotechnical Commission、略して「IEC」)のムービングピクチャエキスパートグループ(Motion Picture Experts Group、略して「MPEG」)、および国際電気通信連合電気通信標準化部門(International Telecommunication Union-Telecommunication Standardization Sector、略して「ITU-T」)のビデオコーディングエキスパートグループ(Video Coding Experts Group、略して「VCEG」)がある。1986年に確立されたMPEGは、マルチメディア分野におけるインターネットまたはワイヤレスネットワークなどでの、記憶、ブロードキャストテレビジョン、ストリーミングメディアに主に適用される関係する規格を策定することに専門化されている。ITU-Tは、ビデオ電話、ビデオ会議、または他の用途などの、リアルタイムビデオ通信の分野のためのビデオコーディング規格を主に策定する。
過去数十年間において、ビデオコンパクトディスク(Video Compact Disc、略して「VCD」)のためのMPEG-1規格、デジタル多用途ディスク(Digital Video Disc、略して「DVD」)およびデジタルビデオブロードキャスティング(Digital Video Broadcasting、略して「DVB」)のためのMPEG-2規格、ビデオ会議のためのH.261規格、H.263規格、およびH.264規格、任意の形状でのオブジェクトの符号化を可能にするMPEG-4規格、ならびに最新の高効率ビデオコーディング(High Efficiency Video Coding、略して「HEVC」)規格を主に含む、様々な用途に特有のビデオコーディング規格が、国際的に首尾よく策定されている。
現在広く使用されるビデオコーディング規格H.264と最新のビデオコーディング規格HEVCの両方によれば、ブロックベース予測、変換、およびエントロピー符号化などの様々なタイプの符号化動作は、基本単位として画像ブロックを使用することによって実行される。画像ブロックは、正方形アレイまたは長方形アレイであってよい2次元のサンプリングポイントアレイである。たとえば、4×4というサイズを有する画像ブロックは、合計4×4個、すなわち16個のサンプリングポイントを含む正方形サンプリングポイントアレイと見なされてよい。図1に示すように、画像ブロックはBとして示されてよい。画像ブロック信号とは、画像ブロックの中のサンプリングポイントのサンプリング値であり、B(x,y)、x,y=0...3として表されてよく、ただし、(x,y)は画像ブロックの中の各サンプリングポイントの座標を表す。同様に、画像はまた、2次元のサンプリングポイントアレイとして表されてよく、画像ブロックに対して使用される方法と類似の方法を使用することによって示される。加えて、サンプリングポイントは、ピクセルと呼ばれることもあり、本発明の本明細書において区別なしに使用されることになる。
ビデオシーケンスは、フレームごとに配列された画像を含む。一般に、連続した画像が極めて短い時間区間において生成され、画像はわずかに変化する。したがって、連続した画像の間に小さい差分がある。したがって、現在の画像と参照画像との間の差分のみが、連続した画像の間の時間相関に基づいて符号化されてよい。参照画像は、通常、その生成時間が現在の画像の生成時間に近い再構成かつ符号化された画像である。このようにして、符号化されるべき情報の量が低減され、信号圧縮効果が達成される。ビデオコーディング技術では、このタイプの方法はフレーム間予測コーディング技術と呼ばれ、その技術は現在のビデオコーディング規格において広く使用される。図2は、フレーム間予測符号化アーキテクチャを示す。通常はビデオの中の各画像/画像の各フレームである、符号化されるべき画像が入力され、互いに重複しない画像ブロックに分割される。エンコーダは、動き推定を通じて画像ブロックの動きベクトルを取得し、エンコーダは、動き補償を通じて、画像ブロックの動きベクトルを使用することによって画像ブロックの動き補償予測信号を取得する。次いで、画像ブロックの元の信号から動き補償予測信号が減算されて、予測残差信号を取得する。変換、量子化、およびエントロピー符号化を受けた後、予測残差信号がビットストリームの中に書き込まれる。符号化プロセスの中で、画像ブロックの取得された動き補償予測信号がより正確である場合、取得される予測残差信号の数量はより少なく、符号化される必要があるビットの数量はより少なく、画像ブロックの圧縮率はより大きい。
動き推定とは、同じサイズを有し現在の画像ブロックに最良に整合する画像ブロックB'を、現在の画像ブロックBを使用することによって参照画像から見つけることである。空間の中でのB'に対する画像ブロックBのロケーションオフセットは、画像ブロックBの動きベクトルと呼ばれる。動き補償とは、画像ブロックBの動きベクトルに基づいて参照画像から予測信号を取得するプロセスである。取得される信号は動き補償予測信号と呼ばれる。
デコーダ側は、画像ブロックの予測残差信号に逆量子化および逆変換を実行して、再構成された残差信号を取得し、次いで、画像ブロックの動きベクトルに基づいて動き補償予測を通じて参照画像から動き補償予測信号を取得し、画像ブロックの動き補償予測信号と再構成された残差信号とを加算することによって、画像ブロックの再構成された信号を取得し得る。
図3は、画像ブロックの分割および画像ブロックと動きベクトルとの間の関係を示す。瞬間tにおける画像A(t)は、異なるサイズを有し互いに重複しない画像ブロックに分割される。各画像ブロックの中の矢印は、エンコーダ側によって決定される動きベクトルを概略的に表し、長さおよび方向は、それぞれ、現在の画像ブロックの移動強度および移動方向を表す。各画像ブロックの動きベクトルは、画像ブロックの中のすべてのサンプリングポイントに適用される。詳細には、各画像ブロックの予測信号は、動きベクトルによって表されるロケーションオフセットに基づいて、画像ブロックの中のすべてのサンプリングポイントに対する指定された参照画像から取得される。
ブロック構造に基づく動き補償予測は、ソフトウェアおよびハードウェアで実装しやすく、小さい複雑度しか有さず、コンピューティングリソースが限定されるときに比較的良好な圧縮効率をもたらすことができる。しかしながら、いくつかの弱点もある。たとえば、その方法では、画像ブロックの中のすべてのピクセルの動きを示すために1つの動きベクトルが使用される。すべてのピクセルが、たとえば、並進移動において、同じ移動方向および同じサイズを有するとき、その方法は、すべてのピクセルの動きを正確に示すために使用され得る。画像ブロックの中のピクセルが、たとえば、変倍および回転などの移動において、異なる移動方向またはサイズを有するとき、その方法は、すべてのピクセルの動きを正確に示すためには使用され得ない。したがって、正確な予測信号が取得され得ず、圧縮性能が劣化する。
既存の動き補償予測技術の弱点を克服するために、線形に変化する動きベクトルフィールドに基づく動き補償予測技術が提案される。動きベクトルフィールドは、画像ブロックの動きベクトルフィールドである。画像ブロックは、より小さい副次単位に分割される。副次単位はピクセルと同じくらい小さくてよい。各副次単位は動きベクトルを有する。画像ブロックの中のすべての副次単位の動きベクトルは、画像ブロックの動きベクトルフィールドを形成する。画像ブロックの動きベクトルフィールドは、線形または非線形に変化し得る。画像ブロックの動きベクトルフィールドが線形に変化することは、画像ブロックの中の隣接する副次単位の動きベクトルが均等に変化することを意味する。画像ブロックの中の隣接する単位の動きベクトルが不均等に変化する場合、画像ブロックの動きベクトルフィールドは非線形に変化する。本明細書は、線形に変動する動きベクトルフィールドに基づく動き補償予測技術に主に焦点を当てる。Na Zhang、Xiaopeng Fan、Debin Zhao、およびWen Gaoによって提案された「Motion Vector Derivation of Deformable Block」(Image Processing (ICIP), the 2012 19th IEEE International Conference on, vol. No., pp.1549-1552, September 30, 2012 to October 3, 2012)という名称を有する文書では、画像ブロックの中の4つの頂点が制御点として使用され、画像ブロックの中の各4×4単位の動きベクトルを取得するために、4つの制御点の動きベクトルに双線形補間方法が実行されることが提案されている。画像ブロックの中の4つの頂点の動きベクトルが、周囲の画像ブロックの動きベクトルに基づいて取得され、すべての4×4単位の動きベクトルが、画像ブロックの動きベクトルフィールドを形成する。次いで、画像ブロックの動き補償予測信号が、動きベクトルフィールドに基づいて参照画像から取得される。動きベクトルフィールドに基づく動き補償予測技術では、独立した動きベクトルを有する単位のサイズが縮小し、回転および変倍などの非並進移動がより正確に示され得、より正確な動き補償予測信号が取得され得る。上記の動きベクトルフィールドは、制御点の動きベクトルに双線形補間を実行することによって取得され、動きベクトルフィールドは双線形モデルを満たす。双線形補間は数学的補間方法である。図4を参照しながら、特定の補間方法が次のように説明される。
P=(x,y)における関数fの値が計算される必要があること、ならびに4つの点Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)、およびQ22=(x2,y2)における関数fの値がすでに知られていることを想定する。最初に、xの方向において線形補間が実行されて、
を取得する。
次いで、yの方向において線形補間が実行されて、
を取得する。
点Pにおける値は、式(1)から取得された結果を式(2)に代入することによって取得され得る。画像ブロックの中のすべての点の動きベクトルは、補間方法を使用することによって、制御点の動きベクトルに基づいて取得され得る。
この方法では、制御点の動きベクトルは周囲の画像ブロックの動きベクトルに基づいて選択され、選択される動きベクトルは不正確である場合がある。制御点の動きベクトルが動き推定および動き探索を通じて取得される場合、制御点の動きベクトルはビットストリームの中に書き込まれる必要がある。この場合、画像ブロックの動きベクトルフィールドを示すために、より効率的な方法が必要とされ、たとえば、アフィン変換モデルが使用される。したがって、アフィン変換に基づく動き補償予測技術が提案される。
アフィン変換は、2つの空間の間のマッピング関係を表し、通常のアフィン変換は、回転、変倍、および並進を含む。画像ブロックの、アフィン変換モデルを使用することによって取得される動きベクトルフィールドは、線形に変化し、動きベクトルフィールドはアフィン変換を満たす。通常の6パラメータアフィン変換モデルは、上記の3つの動きを表してよい。詳細には、式(3)に示すように、(x,y)は現在の画像の中のピクセルPの座標であり、(x',y')は参照画像の中にありピクセルPに整合するピクセルP'の座標であり、a、b、c、d、e、fはアフィン変換パラメータである。アフィンパラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
アフィンパラメータは、通常、画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算される。動きベクトルは式(4)によって表現されてよい。
式(3)が式(4)に代入されて、
を取得する。
アフィン変換パラメータの特定の値は、知られている動きベクトルの複数のグループ、たとえば、知られている動きベクトルの3つのグループを式(5)に代入することによって取得され得る。したがって、画像ブロックの中のすべての点の動きベクトルは、式(3)および式(4)を使用することによって計算され得る。実際には、概して、画像ブロックの中の隅角点(制御点)の動きベクトルが動き推定を通じて最初に取得され、次いで、隅角点の動きベクトルに基づいてアフィン変換パラメータが計算され、画像ブロックの中のすべてのピクセルの動きベクトルが計算される。隅角点の動きベクトルが図5aおよび図5bに示される。図5aは画像ブロックXを示す。画像ブロックの幅はwであり、高さはhである。左上隅角点の座標は(0,0)であり、動きベクトルは、
である。右上隅角点の座標は(w,0)であり、動きベクトルは、
である。左下隅角点の座標は(0,h)であり、動きベクトルは、
である。以下の6パラメータアフィン変換モデルは、3つの動きベクトル
を、別々に式5に代入することによって取得され得る。
画像ブロックの中の3つの頂点の動きベクトルは異なる場合がある。図5bに示すように、参照画像の中の画像ブロックのマッピング関係が破線によって示される。画像ブロックの中のすべての点の動きベクトルが計算された後、画像ブロックの中のすべての点の動き補償予測信号が動き補償予測を通じて取得される。
上記の内容では、一例として6パラメータアフィン変換モデルが使用される。しかしながら、アフィン変換モデルは6パラメータモデルに限定されず、式(7)および式(8)に示す4パラメータアフィン変換モデル、式(9)に示す2パラメータ変倍モデルなどであってよい。動き補償予測のために画像ブロックに対して4パラメータアフィン変換モデルが選択される場合、アフィンモデルは4つの未知パラメータを有し、モデルのパラメータは動きベクトルの2つのグループを使用することによって取得され得る。動きベクトルの2つのグループは、画像ブロックの中の2つの隅角点の動きベクトルであってよく、または画像ブロックの中の2つの点の動きベクトルであってもよい。
式(3)が式(7)に代入されて、
を取得する。
左上隅角点の座標は(0,0)であり、動きベクトルは、
である。右上隅角点の座標は(w,0)であり、動きベクトルは、
である。両方の隅角点の座標および動きベクトルが式(10)に代入され、左上隅角点および右上隅角点がそれに対して制御点として使用される動きモデル式
が取得され得る。
左上隅角点の座標は(0,0)であり、動きベクトルは、
である。左下隅角点の座標は(0,h)であり、動きベクトルは、
である。両方の隅角点の座標および動きベクトルが式(10)に代入され、左上隅角点および左下隅角点がそれに対して制御点として使用される動きモデル式
が取得され得る。
最新のビデオコーディング規格HEVCと比較して、回転および変倍移動を含むビデオフレーム/画像シーケンスに対して、線形に変化する動きベクトルフィールドに基づく動き補償予測技術は、符号化性能を著しく改善することができる。線形に変化する上記の動きベクトルフィールドは、アフィン変換を使用することによって生成される動きベクトルフィールド、および双線形モデルを使用することによって生成される動きベクトルフィールドを含む。アフィン変換に基づく動き補償予測技術は、一例として使用される。画像ブロックのアフィン変換パラメータが取得された後、画像ブロックの中の各点の動きベクトルが計算される必要があり、動き補償予測が各点の動きベクトルに基づいて実行されて、各点の動き補償予測信号を取得する。画像ブロックの中のすべてのピクセルの動きベクトルが異なる場合があるので、異なる演算が動きベクトルに基づいてピクセル上で実行される必要がある。ピクセルベース動き補償予測は複雑度が大きい。符号化/復号複雑度を低減するために、関連技術では、画像ブロックは画像サブブロックにさらに分割されるように試みられ、各画像サブブロックの動きベクトルが計算され、次いで、各画像サブブロックの動き補償予測信号が取得される。
しかしながら、関連技術では、画像サブブロックのサイズは固定されている。サイズが過剰に小さい画像サブブロックは比較的大きい符号化/復号複雑度につながり、サイズが過剰に大きい画像サブブロックは符号化/復号性能を劣化させる。したがって、そのような効率的な符号化方法の適用は、実際には大幅に限定される。
本発明は、ビデオ画像復号方法、ビデオ画像符号化方法、復号装置、符号化装置、復号デバイス、および符号化デバイスを提供する。符号化/復号複雑度を低減し符号化/復号性能を改善するために、全体の画像ブロックが処理のための同じサイズを有する複数の画像サブブロックに分割されるように、適切なサイズを有する画像サブブロックが選択されてよい。
第1の態様によれば、アフィン画像ブロックの動きベクトル差分を決定することと、アフィン画像ブロックの動きベクトル精度を決定することと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することとを含む、ビデオ画像復号方法が提供される。
本発明の第1の態様において提供されるビデオ画像復号方法では、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、デコーダ側における複雑度を大幅に低減すること、および復号効率を改善することができる。
本発明の第1の態様に基づくと、アフィン動き補償画像サブブロックのサイズを決定および調整するプロセスは、詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分/第2の成分に対する動きベクトル精度の比率に基づいて第1の水平/垂直距離を比例的に調整すること、および水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整することであってよい。この特定の実装形態では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、アフィン動き補償画像サブブロックのサイズがアフィン画像ブロックの動きベクトル精度に整合することができるように、動きベクトル精度と動きベクトル差分の第1の成分/第2の成分との間の比率関係に基づいて、制御点の間の第1の水平/垂直距離を調整することによって取得される。このことは、復号品質を保証し復号複雑度を低減する。
本発明の第1の態様に基づくと、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整することは、詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させること、および、次いで、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで上記の解決策を循環的に実行することであってよい。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。加えて、上記の調整は、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを固定のステップサイズだけ調整する、すなわち増大/減少させることであってよく、ステップサイズは、調整値、すなわち、各サイクルの中で水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位である。ステップサイズは任意の値であってよく、通常は上記の1単位ピクセルであり、または2.5単位ピクセルなどの別の値であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平/垂直方向におけるアフィン動き補償画像サブブロックの初期長さ(すなわち、調整されていない長さ)の偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。この実装形態では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、水平/垂直方向におけるアフィン画像の長さがそれによって割り切れる値に急速に接近できることが保証され得、複雑度がさらに低減される。
効率を改善し動作時間を短縮するために、本発明の第1の態様において提供される復号方法では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。水平/垂直方向におけるアフィン動き補償画像サブブロックの長さと、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる隣接する2つの値との間の差分が等しい場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。
水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平/垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平/垂直方向におけるアフィン画像ブロックの可能な最大長さである。水平/垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平/垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平/垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平/垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、システム複雑度が低減され計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、本発明の第1の態様において提供される復号方法では、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが次の2つの条件を満たすかどうかが決定される必要がある。
(1)水平/垂直方向におけるアフィン画像ブロックの長さが、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ
(2)水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平/垂直方向におけるアフィン画像ブロックの長さは、水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよく、あるいはSは2nに等しく、ここで、nは0または正の整数である。Sの値はアフィン画像ブロックのサイズ以下とすべきであることに留意されたい。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるか、またはアフィン画像ブロックのサイズが2N×2Nであり、すなわち、正方形の形状をなすとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。
本発明の第1の態様において提供される復号方法では、アフィン動き補償画像サブブロックのサイズが無効である、すなわち、許容される最小サイズよりも小さいがアフィン画像ブロックのサイズよりも大きい事例を回避するために、水平/垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式で決定される長さに対して、振幅限定動作が選択および実行されてよい。詳細には、比較方式が使用されて水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが下限Tm/Tnから上限W/Hまでの範囲内に入ることを可能にする。Tm/Tnは事前設定された値であり通常は4であり、W/Hは水平/垂直方向におけるアフィン画像ブロックの長さである。
さらに、本発明の第1の態様において提供される復号方法は、3つの制御点に基づくアフィン変換モデルおよび2つの制御点に基づくアフィン変換モデルに適用可能である。3つの制御点に基づくアフィン変換モデルでは、垂直方向および水平方向におけるアフィン動き補償画像サブブロックの長さは、独立して取得かつ独立して調整される必要がある。それに対応して、2つの制御点に基づくアフィン変換モデルでは、水平方向および垂直方向のうちの一方におけるアフィン動き補償画像サブブロックの、独立して取得される必要がある長さだけが取得され、他方の方向における長さはさらに推測され、両方の方向における長さは独立して調整される必要がある。アフィン画像ブロックのサイズが2N×2Nの通常の正方形であるとき、水平方向および垂直方向におけるアフィン画像ブロックの長さが同じであるので、水平方向および垂直方向におけるアフィン画像ブロックの長さのうちの一方しか決定および調整される必要がない。
第2の態様によれば、アフィン画像ブロックの動きベクトル差分を決定することと、アフィン画像ブロックの動きベクトル精度を決定することと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルであることと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行する、決定することとを主に含む、ビデオ画像符号化方法が提供される。
本発明の第2の態様において提供されるビデオ画像符号化方法では、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、エンコーダ側における複雑度を大幅に低減すること、および符号化効率を改善することができる。本発明の第2の態様におけるビデオ画像符号化方法は、本発明の第1の態様におけるビデオ画像復号方法と同じコアステップ、すなわち、アフィン動き補償画像サブブロックのサイズを決定することと、アフィン動き補償画像サブブロックのサイズを調整することとを含むが、異なる最後のステップを含む。したがって、第1の態様におけるビデオ画像復号方法での解決策も、本発明の第2の態様におけるビデオ画像符号化方法に適用可能である。詳細については、第1の態様におけるビデオ画像復号方法の上記の説明を参照されたい。
第3の態様によれば、アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行するように構成された、復号モジュールとを主に含む、ビデオ画像復号装置が提供される。
本発明の第3の態様において提供されるビデオ画像復号装置は、本発明の第1の態様において提供されるビデオ画像復号方法に対応し、本発明の第1の態様において提供されるビデオ画像復号方法におけるすべてのステップを実施する機能を有し、同じ技術的効果を達成することができ、すなわち、デコーダ側における複雑度を大幅に低減すること、および復号効率を改善することができる。
第4の態様によれば、アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュールとを主に含む、ビデオ画像符号化装置が提供される。
本発明の第4の態様において提供されるビデオ画像符号化装置は、本発明の第2の態様において提供されるビデオ画像符号化方法に対応し、本発明の第2の態様において提供されるビデオ画像符号化方法におけるすべてのステップを実施する機能を有し、同じ技術的効果を達成することができ、すなわち、エンコーダ側における複雑度を大幅に低減すること、および符号化効率を改善することができる。
第5の態様によれば、プロセッサおよび不揮発性メモリを含む、ビデオ画像復号デバイスが提供され、ここで、プロセッサは、本発明の第1の態様において提供される復号方法を実施するために、メモリの中に記憶されたプログラムコードを呼び出す。
第6の態様によれば、プロセッサおよび不揮発性メモリを含む、ビデオ画像符号化デバイスが提供され、ここで、プロセッサは、第2の態様において提供される符号化方法を実施するために、メモリの中に記憶されたプログラムコードを呼び出す。
上記の技術的解決策に基づくと、本発明の実施形態におけるビデオ画像符号化方法、ビデオ画像復号方法、符号化装置、復号装置、符号化デバイス、および復号デバイスによれば、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、符号化/復号複雑度を低減し符号化/復号効率を改善する。
本発明の実施形態における技術的解決策をより明瞭に説明するために、以下のことは、本実施形態または従来技術を説明するために必要とされる添付図面を手短に説明する。明らかに、以下の説明における添付図面は本発明のいくつかの実施形態を示すにすぎず、当業者はやはり創造的な取り組みを伴わずにこれらの添付図面から他の図面を導出し得る。
ビデオ画像符号化プロセスにおける画像ブロックの概略図である。 基本的なビデオ画像符号化手順の概略図である。 ビデオ画像符号化プロセスにおける、画像ブロックの分割および画像ブロックと動きベクトルとの間の関係の概略図である。 双線形補間を通じて画像ブロックの動きベクトルフィールドを取得することの概略図である。 アフィン変換モデルを使用することによって画像ブロックの動きベクトルフィールドを取得することの概略図である。 アフィン変換モデルを使用することによって画像ブロックの動きベクトルフィールドを取得することの概略図である。 本発明の一実施形態による復号方法のために使用されるビデオデコーダの概略フレームワーク図である。 本発明の一実施形態によるビデオ画像復号方法の概略フローチャートである。 本発明の一実施形態によるアフィン画像ブロックおよび制御点の概略図である。 本発明の一実施形態によるアフィン画像ブロックおよび制御点の別の概略図である。 本発明の一実施形態による、アフィン画像ブロックの中の重複しない3つのピクセルの概略図である。 本発明の一実施形態によるアフィン画像ブロックのさらに別の概略図である。 本発明の一実施形態によるビデオ画像復号方法の別の概略フローチャートである。 本発明の一実施形態によるビデオ画像復号方法のさらに別の概略フローチャートである。 本発明の一実施形態によるビデオ画像符号化方法の概略フローチャートである。 本発明の一実施形態によるビデオ画像符号化方法の別の概略フローチャートである。 本発明の一実施形態によるビデオ画像符号化方法のさらに別の概略フローチャートである。 本発明の一実施形態による復号装置の概略ブロック図である。 本発明の一実施形態による符号化装置の概略ブロック図である。 本発明の一実施形態による復号デバイスの概略ブロック図である。 本発明の一実施形態による符号化デバイスの概略ブロック図である。
本発明の目的は、方法が効果的に実行可能であり得るように、アフィン変換に基づく動き補償予測性能を維持しながら符号化/復号複雑度を低減することである。本明細書では、アフィン変換パラメータを独立して有する画像ブロックは、アフィン画像ブロック、すなわち、Affineブロックと呼ばれる。アフィン画像ブロックからの分割を通じて取得され動き補償予測のために使用される画像サブブロックは、アフィン動き補償(Affine Motion Compensation、略して「Affine-MC」)副画像と呼ばれ、Affine-MCブロックとして示される。本発明で提供される技術的解決策は、符号化/復号要件に従って、同じサイズを有する複数のAffine-MCブロックにAffineブロックを適応的に分割することになる。特定の方法は、Affineブロックの動きベクトル精度、Affineブロックの動きベクトル、およびAffineブロックの中の制御点の間の距離に基づいて、要件を満たすAffine-MCブロックにAffineブロックを適応的に分割することになる。
特定の実施形態を使用することによって本発明の解決策を説明するために、以下では一例としてデコーダ側が使用される。
デコーダ側において、デコーダは、通常、復号方法を実施するために使用され、符号化ビデオビットストリームを復号および再構成する。デコーダの基本論理構造が図6に示される。ビデオデコーダ60は、エントロピー復号ユニット650、予測処理ユニット652、逆量子化ユニット654、逆変換処理ユニット656、再構成ユニット658、フィルタユニット659、および復号画像バッファ660を含む。予測処理ユニット652は、動き補償ユニット662およびフレーム内予測処理ユニット664を含む。エントロピー復号ユニット650は、標準CABAC符号化/復号エンジン666およびバイパス符号化/復号エンジン668を含む。別の実施形態では、ビデオデコーダ60は、より多数もしくはより少数の、または異なる機能構成要素を含んでよい。
ビデオデコーダ60の基本作業プロセスは次の通りである。符号化ビデオビットストリーム(以下では略してビットストリームと呼ばれる)を受信した後、エントロピー復号ユニット650が、ビットストリームから構文要素を抽出するためにビットストリームをパース(parse)する。ビットストリームパーシングの一部として、エントロピー復号ユニット650は、ビットストリームの中にありエントロピー符号化がそこで実行されている構文要素をパースアウト(parse out)し得る。予測処理ユニット652、逆量子化ユニット654、逆変換処理ユニット656、再構成ユニット658、およびフィルタユニット659は、ビットストリームから抽出された構文要素に基づいてビデオデータを復号し得、すなわち、復号ビデオデータを生成し得る。構文要素は、標準CABAC符号化/復号バイナリコードワードおよびバイパス符号化/復号バイナリコードワードを含んでよい。エントロピー復号ユニット650は、標準CABAC符号化/復号バイナリコードワードを復号するために標準CABAC符号化/復号エンジン666を使用してよく、バイパス符号化/復号バイナリコードワードを復号するためにバイパス符号化/復号エンジン668を使用してよい。
予測処理ユニット652は、動き補償ユニット662およびフレーム内予測処理ユニット664を含む。復号されるべき画像ブロックに対してフレーム間予測符号化が使用されるとき、動き補償ユニット662は、復号されるべき画像ブロックの動き情報に基づいて1つまたは複数の参照ブロックを決定してよく、復号されるべき画像ブロックの予測ピクセルブロックを、参照ブロックに基づいて生成してよい。復号されるべき画像ブロックに対してフレーム内予測符号化が使用されるとき、フレーム内予測処理ユニット664は、画像ブロックの予測ピクセルブロックを生成するためにフレーム内予測を実行する。フレーム内予測処理ユニット664は、フレーム内予測モードを使用することによって、復号されるべき画像ブロックの予測ピクセルブロックを、空間的に隣接する画像ブロックのピクセルに基づいて生成してよい。
再構成ユニット658は、予測処理ユニット652によって取得された予測ピクセルブロック、ならびに逆量子化ユニット654および逆変換処理ユニット656によって処理された復号されるべき画像ブロックの残差データを再構成して、復号されるべき画像ブロックの再構成された画像ブロックを取得する。複数の画像ブロックを含む画像のフレームは、フィルタユニット659によってフィルタ処理され、次いで、復号画像バッファ660の中に記憶される。このようにして、符号化ビデオビットストリームの復号が完了する。復号画像バッファ660の中に記憶された復号画像は、表示のために表示デバイスに直接出力されてよく、または後続のビットストリーム復号プロセスにおける参照画像として使用されてもよい。
本発明の技術的解決策は、動き補償ユニット662が動き補償予測復号を実行するプロセスに適用される。例示的な復号プロセスが図7に示される。本発明における復号方法および符号化方法が本質的に同じであり、復号方法が符号化方法の逆のプロセスであることに留意されたい。以下では一例として復号方法が使用されるが、明瞭に述べられていない限り、方法は基本的に符号化方法と同じである。したがって、以下で説明する復号プロセスでは、符号化に関係する説明および記述は、本解決策とのいかなる競合または矛盾も与えない。
図7は、本発明の一実施形態によるビデオ画像符号化方法の概略フローチャートである。詳細には、図7に示すように、方法700は以下のステップを含む。
S710。アフィン画像ブロックの動きベクトル差分を決定する。
S720。アフィン画像ブロックの動きベクトル精度を決定する。
S730。動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズは水平方向における長さおよび垂直方向における長さを含み、制御点は動きベクトル差分を決定するために使用されるピクセルである。
S740。アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行する。
詳細には、復号/符号化デバイスは、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、復号/符号化デバイスは、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを復号する。アフィン画像ブロックが、通常、通常の長方形または正方形の形状をなすことに留意されたい。それに対応して、アフィン動き補償画像サブブロックも、通常の長方形または正方形の形状をなす。したがって、水平方向および垂直方向におけるアフィン動き補償副画像の長さが決定された後、アフィン動き補償副画像の全体的なサイズが決定され得る。水平方向および垂直方向は、当技術分野において通常使用されるとともに、ビデオ画像の中での画像ブロック/アフィン画像ブロックの位置を特定するために使用される、基準座標系である。水平方向は、概して、通常の長方形ビデオ画像の長辺の方向を表し、垂直方向は、概して、通常の長方形ビデオ画像の短辺の方向を表し、水平方向および垂直方向は互いに直交している。一般性を失わずに、水平方向は第1の方向と置き換えられてよく、垂直方向は、第1の方向に直交する第2の方向と置き換えられてよい。しかしながら、説明しやすいように、本明細書における説明のために水平方向および垂直方向が使用される。加えて、本明細書における復号方法で説明する「アフィン画像ブロックを復号すること」とは、ビットストリームから符号化データをパースアウトし、基本単位としてアフィン画像ブロックを使用することによって符号化画像を再構成および復元するプロセスである。「アフィン画像ブロックを復号すること」が使用されるとはいえ、アフィン画像ブロックが再構成されていると見なすことはできない。
本発明のこの実施形態におけるビデオ画像復号方法を実行することによって、動き補償ユニット662は、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン動き補償画像サブブロックのサイズに基づいて、同じサイズを有する複数のアフィン動き補償副画像にアフィン画像ブロックを分割し、次いで、復号処理を実行する。したがって、復号プロセスの中で、適切なサイズを有するアフィン動き補償画像サブブロックが、上記のパラメータの変化に基づいて適応的に選択され得、復号複雑度が低減され、性能が改善される。
本発明のこの実施形態では、アフィン画像(Affine)ブロックとは、すべての単位のその動きベクトルが同じアフィンモデル、たとえば、1つの同じアフィンモデルを満たし、かつ同じパラメータまたはパラメータの同じグループを使用することによって表され得る、画像ブロックであることを理解されたい。単位はピクセルのグループであり、たとえば、ピクセルであってよく、または1×3もしくは2×4ブロック構造などであってもよい。このことは本発明において限定されない。加えて、本発明のこの実施形態では、重複しない任意のピクセルが、Affineブロックの動きベクトル差分を決定するための制御点として選択されてよい。このことは本発明において限定されない。
好ましくは、S710は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに/または
同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することを含む。
第1の制御点と第2の制御点との間に第1の水平距離があり、第3の制御点と第4の制御点との間に第1の垂直距離がある。ステップS710の中に含まれる解決策における「および/または」が、詳細には、以下の3つの異なる技術的解決策を示すことに留意されたい。
解決策1:3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することと、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することとを含む。
解決策2:水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することを含む。
解決策3:垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することを含む。
本発明のこの実施形態では、動きベクトル差分の第1の成分が動きベクトル差分の水平成分であり、動きベクトル差分の第2の成分が動きベクトル差分の垂直成分であることを理解されたい。解決策1では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を共同で反映する。しかしながら、解決策2および解決策3では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を独立して反映する。言い換えれば、解決策1では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分を含み、解決策2では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分を含み、解決策3では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第2の成分を含む。本発明のこの実施形態では、第1、第2、第3、および第4が、ピクセルの間を区別するために使用されるにすぎず、本発明の保護範囲にいかなる限定も与えるべきでないことも理解されたい。たとえば、第1の制御点が第2の制御点と呼ばれることもあり、第2の制御点が第1の制御点と呼ばれることがある。
随意に、本発明のこの実施形態では、第1の制御点および第3の制御点は同じピクセルである。詳細には、3つの制御点が選択され、3つの制御点のうちの1つは、他の2つの制御点のうちの1つと同じ水平線上に位置し、最後の制御点と同じ垂直線上に位置する。
随意に、本発明のこの実施形態では、第1の制御点、第2の制御点、第3の制御点、および第4の制御点は、Affineブロックの頂点である。Affineブロックの中の4つの頂点が、それぞれ、左上頂点、左下頂点、右上頂点、および右下頂点として示されることを想定する。
解決策1では、Affineブロックの動きベクトル差分を決定するために、2つの直交方向における任意の3つの頂点が選択されてよい。たとえば、左上頂点、左下頂点、および右上頂点が選択されてよく、または左上頂点、右上頂点、および右下頂点が選択されてもよい。
解決策2では、Affineブロックの動きベクトル差分を決定するために、同じ水平線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および右上頂点が選択されてよく、または左下頂点および右下頂点が選択されてもよい。
解決策3では、Affineブロックの動きベクトル差分を決定するために、同じ垂直線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および左下頂点が選択されてよく、または右上頂点および右下頂点が選択されてもよい。このことは本発明において限定されない。
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点の動きベクトルの、2つの方向(水平方向および垂直方向、またはx方向およびy方向と呼ばれる)のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第1の成分として決定されてよく、第3の制御点および第4の制御点の動きベクトルの、2つの方向のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第2の成分として決定されてよい。動きベクトル差分を決定する方式は、解決策1、2、および3に適用可能である。代替として、符号化複雑度および符号化性能に対する実際の要件に従って、2つの方向における第1の制御点および第2の制御点の動きベクトルの成分の間の2つの差分の間の値が、第1の成分として選択および決定されてよく、2つの方向における第3の制御点および第4の制御点の動きベクトルの成分の間の2つの差分の間の値が、第2の成分として選択および決定されてよい。このことは本発明において限定されない。
第1の制御点〜第4の制御点の各々の動きベクトルは、通常、2つの成分、すなわち、水平成分および垂直成分を含む。したがって、上記のステップでは、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することは、詳細には、以下の方式、すなわち、
第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定し、第1の水平成分差分および第1の垂直成分差分のうちの大きい方を動きベクトル差分の第1の成分として決定すること、ならびに
それに対応して、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定し、第2の水平成分差分および第2の垂直成分差分のうちの大きい方を動きベクトル差分の第2の成分として決定することで、実施され得る。
詳細には、vx(x,y)およびvy(x,y)が、位置(x,y)上のピクセルの動きベクトルの水平成分および垂直成分を表すために使用される場合、アフィンブロックの動きベクトル差分は、式(13)および式(14)に従って決定され得る。
Δmvhor=max(|vx(W,y)-vx(0,y)|,|vy(W,y)-vy(0,y)|) (13)
Δmvver=max(|vx(x,H)-vx(x,0)|,|vy(x,H)-vy(x,0)|) (14)
maxは最大値を表し、ΔmvhorはAffineブロックの動きベクトル差分の水平成分を表し、ΔmvverはAffineブロックの動きベクトル差分の垂直成分を表し、Wは第1の制御点と第2の制御点との間の第1の水平距離を表し、Hは第3の制御点と第4の制御点との間の第1の垂直距離を表す。図8を参照すると、式(13)は、動きベクトル水平差分Δmvhorが、同じ水平方向における2つの制御点の動きベクトルの成分の最大デルタであること、言い換えれば、動きベクトル差分の絶対値が最大であることを表現する。たとえば、Δmvhorを計算するための制御点として頂点0および1または頂点2および3が選択されてよい。式(14)は、動きベクトル垂直差分Δmvverが、同じ垂直方向における2つの制御点の動きベクトルの成分の最大デルタであること、言い換えれば、動きベクトル差分の絶対値が最大であることを表現する。たとえば、Δmvverを計算するための制御点として頂点0および2または頂点1および3が選択されてよい。式(13)および式(14)が解決策1、2、および3のうちのいずれか1つに適用可能であることが理解され得る。詳細は次の通りである。
解決策1では、アフィン画像ブロックの動きベクトル差分は3つの制御点に基づいて決定され、動きベクトル差分は第1の成分および第2の成分を含む。したがって、解決策1では、アフィン画像ブロックの動きベクトル差分は式(13)と式(14)との組合せを使用することによって取得される。
解決策2では、アフィン画像ブロックの動きベクトル差分は水平方向における2つの制御点に基づいて決定され、動きベクトル差分は第1の成分しか含まない。したがって、解決策2では、アフィン画像ブロックの動きベクトル差分は式(13)を使用することによって取得される。図8は一例として使用される。たいていの場合、Affineブロックの中の頂点の動きベクトルが知られている。この場合、動きベクトル差分は、Affineブロックの中の頂点の動きベクトルに基づいて直接計算され得る。
図8におけるAffineブロックの中の頂点の動きベクトル
が知られている場合、
Δmvhor=max(|vx1-vx0|,|vy1-vy0|) (15)
である。
図8におけるAffineブロックの中の頂点の動きベクトル
が知られている場合、
Δmvhor=max(|vx3-vx2|,|vy3-vy2|) (16)
である。
知られている他の動きベクトルの組合せも選択されてよい。このことは本発明において限定されない。
上記の解決策において使用される制御点の動きベクトルは、アフィン変換モデルに基づいて取得され得る。たとえば、4パラメータアフィン変換モデルが使用され、かつアフィン画像ブロックの中の左上隅角上の(0,0)および右上隅角上の(W,0)が制御点として使用されるとき、モデル式は次の通りである。
(vx0,vy0)および(vx1,vy1)は、それぞれ、左上隅角および右上隅角における制御点の動きベクトルである。左下隅角および右下隅角における制御点の座標(0,h)および(w,h)が式に代入される場合、(vx2,vy2)および(vx3,vy3)が取得され得る。
解決策3では、アフィン画像ブロックの動きベクトル差分は垂直方向における2つの制御点に基づいて決定され、動きベクトル差分は第2の成分しか含まない。したがって、解決策3では、アフィン画像ブロックの動きベクトル差分は式(14)を使用することによって取得される。図8は一例として使用される。たいていの場合、Affineブロックの中の頂点の動きベクトルが知られている。この場合、動きベクトル差分は、Affineブロックの中の頂点の動きベクトルに基づいて直接計算され得る。
図8におけるAffineブロックの中の頂点の動きベクトル
が知られている場合、
Δmvver=max(|vx2-vx0|,|vy2-vy0|) (18)
である。
図8におけるAffineブロックの中の頂点の動きベクトル
が知られている場合、
Δmvver=max(|vx3-vx1|,|vy3-vy1|) (19)
である。
知られている他の動きベクトルの組合せも選択されてよい。このことは本発明において限定されない。
上記の解決策において使用される制御点の動きベクトルは、アフィン変換モデルに基づいて取得され得る。たとえば、4パラメータアフィン変換モデルが使用され、かつ左上隅角上の(0,0)および左下隅角上の(0,H)が制御点として使用されるとき、モデル式は次の通りである。
(vx0,vy0)および(vx2,vy2)は、それぞれ、左上隅角および左下隅角における制御点の動きベクトルである。右上隅角および右下隅角における制御点の座標(w,0)および(w,h)が式に代入される場合、(vx1,vy1)および(vx3,vy3)が取得され得る。
随意に、本発明のこの実施形態では、動きベクトル差分はアフィンモデルに基づいて取得され、すなわち、動きベクトル差分は、アフィン画像ブロックの中のピクセルのアフィン変換パラメータを決定することによって取得される。アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有することに留意されたい。
それに対応して、第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の水平距離に基づいて第1の水平成分差分および第1の垂直成分差分を決定することであり、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の垂直距離に基づいて第2の水平成分差分および第2の垂直成分差分を決定することである。
上記のプロセスのシーケンス番号が実行シーケンスを示さないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能および内部論理に基づいて決定されるべきであり、本発明のこの実施形態の実装プロセスにいかなる限定も与えるべきでない。
随意に、本発明のこの実施形態では、アフィン変換モデルは、従来技術の6パラメータアフィン変換モデルであってよく、または従来技術の4パラメータもしくは2パラメータアフィン変換モデルであってもよい。6パラメータアフィン変換モデルは、3つの制御点に基づく解決策1におけるシナリオに主に適用され、4パラメータアフィン変換モデルは、2つの制御点に基づく解決策2および解決策3におけるシナリオに主に適用される。以下のことは、一例として、6パラメータアフィン変換モデルおよび4パラメータアフィン変換モデルを別々に使用することによってアフィン変換パラメータに基づいて動きベクトル差分を取得するプロセスを説明する。
6パラメータアフィン変換モデルにおいて、(x,y)が現在の画像の中のピクセルPの座標であること、(x',y')が参照画像の中にありピクセルPに整合するピクセルP'の座標であること、およびa、b、c、d、e、fがアフィン変換パラメータであることを想定する。アフィン変換パラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
x'=ax+by+e (21)
y'=cx+dy+f (22)
アフィン変換パラメータは、通常、アフィン画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算されてよく、動きベクトルの水平成分および垂直成分は、それぞれ、式(23)および式(24)によって表現されてよい。
vx=x-x' (23)
vy=y-y' (24)
式(21)が式(23)に代入されるとともに式(22)が式(24)に代入されて、その座標が(x,y)であるピクセルの動きベクトルの水平成分および垂直成分を取得し、ここで、水平成分および垂直成分は、それぞれ、式(25)および式(26)によって表現される。
vx=(1-a)x-by-e (25)
vy=(1-d)y-cx-f (26)
式(25)が式(13)に代入され、式(26)が式(14)に代入される。このようにして、式(13)および式(14)は、それぞれ、式(27)および式(28)に変換される。
Δmvhor=max(|(1-a)W|,|-cW|) (27)
Δmvver=max(|-bH|,|(1-d)H|) (28)
Affineブロックの動きベクトル差分の第1の成分および第2の成分は、制御点の間の距離に基づいて、かつアフィン変換パラメータa、b、c、およびdを決定することによって、決定され得る。
4パラメータアフィン変換モデルにおいて、(x,y)が現在の画像の中のピクセルPの座標であること、(x',y')が参照画像の中にありピクセルPに整合するピクセルP'の座標であること、およびa、b、e、fがアフィン変換パラメータであることを想定する。アフィン変換パラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
式(29)は、アフィン画像ブロックの動きベクトル差分が水平方向における2つの制御点に基づいて決定される、解決策2におけるシナリオに対応する。式(30)は、アフィン画像ブロックの動きベクトル差分が垂直方向における2つの制御点に基づいて決定される、解決策3におけるシナリオに対応する。
アフィン変換パラメータは、通常、画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算され得る。動きベクトルの水平成分および垂直成分については、式(23)および式(24)を参照されたい。式(29)および式(30)が、それぞれ、式(23)および式(24)に代入されて、その座標が(x,y)であるピクセルの動きベクトルの水平成分および垂直成分を取得し、ここで、水平成分および垂直成分は、それぞれ、式(31)および式(32)によって表現される。
式(31)および式(32)が、式(13)および式(14)に代入される。このようにして、式(13)および式(14)は、それぞれ、式(33)および式(34)に変換される。
Δmvhor=max(|(1-a)W|,|bW|) (33)
Δmvver=max(|bH|,|(1-a)H|) (34)
解決策2または解決策3におけるシナリオでのAffineブロックの動きベクトル差分の第1の成分または第2の成分は、制御点の間の距離に基づいて、かつアフィン変換パラメータaおよびbを決定することによって、決定され得る。
2パラメータアフィン変換モデルが使用されるときに動きベクトル差分を決定するための方法が、6パラメータアフィン変換モデルまたは4パラメータアフィン変換モデルが使用されるときに動きベクトル差分を決定するための方法と本質的に同じであることを理解されたい。簡潔のために、詳細は本明細書で再び説明しない。
随意に、本発明のこの実施形態では、復号プロセスの中で、アフィン変換パラメータは、パラメータにおける反復的な計算を実行することによって取得され得る。たとえば、モデルに基づく動き補償予測信号が最適であるかどうかを決定するために、パラメータaは1だけ増大される。代替として、アフィン変換パラメータは、隣接するAffineブロックのアフィン変換パラメータに基づく推測を通じて取得されてよい。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、アフィン画像ブロックの動きベクトル差分を決定するために、第1の制御点の動きベクトル、第2の制御点の動きベクトル、第3の制御点の動きベクトル、および第4の制御点の動きベクトルが決定され得る。
それに対応して、解決策1におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定され、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
解決策2におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定される。
解決策3におけるシナリオでは、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
詳細には、制御点の動きベクトルは直接決定されてよく、Affineブロックの動きベクトル差分の第1の成分および第2の成分は、動きベクトルの成分の間の差分を計算することによって直接取得され得る。
たとえば、図9は、本発明の一実施形態によるアフィン画像ブロックおよび制御点の概略図である。距離wを有する2つの制御点AおよびBは同じ水平線上に位置し、距離hを有する2つの制御点CおよびDは同じ垂直線上に位置する。制御点A、B、C、およびDの動きベクトルが知られている場合、Affineブロックの動きベクトル差分の第1の成分および第2の成分は式(11)および式(12)に従って決定され得る。
Δmvhor=max(vxB-vxA,vyB-vyA) (35)
Δmvver=max(vxC-vxD,vyC-vyD) (36)
随意に、本発明のこの実施形態では、制御点AおよびCは同じピクセルであってよい。
随意に、本発明のこの実施形態では、制御点A、B、C、およびDは、Affineブロックの頂点であってよい。この場合、制御点AとBとの間の距離はAffineブロックの幅Wであり、制御点CとDとの間の距離はAffineブロックの高さHである。
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点は、隣接する2つのピクセルであり、第3の制御点および第4の制御点は、隣接する2つのピクセルである。言い換えれば、制御点は、必ずしもアフィン画像ブロックの中の、頂点とも呼ばれる4つの隅角点から選択されるとは限らないが、シグナリングを使用することによってビットストリームの中で明示的に示されるか、または周囲のアフィン画像ブロックの中の制御点に基づく推定もしくは複製を通じて取得される、アフィン画像ブロックの中の任意の位置上にありエンコーダ側およびデコーダ側によって共同で設定される点であってよい。この場合、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分を決定することは、詳細には次の通りである。
第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、および第3のピクセルの動きベクトルが決定され、ここで、第1のピクセル、第2のピクセル、および第3のピクセルは、互いに重複しないピクセルであり、第1のピクセルと第2のピクセルとの間の第2の水平距離および第2の垂直距離が決定され、第1のピクセルと第3のピクセルとの間の第3の水平距離および第3の垂直距離が決定され、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分が、第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、第3のピクセルの動きベクトル、第2の水平距離、第2の垂直距離、第3の水平距離、および第3の垂直距離に基づいて決定される。上記のことは、一例として3つの制御点に基づく解決策1を使用することによって説明されている。2つの制御点に基づく解決策2または解決策3と3つの制御点に基づく解決策1との間の差異があり、すなわち、解決策1における第1の成分差分または第2の成分差分のみが、2つの制御点に基づくアフィン画像の動きベクトル差分として使用される。
詳細には、A、B、およびCが、互いに重複しない、画像ブロックの中の任意の3つのピクセルであることを想定し、3つのピクセルの位置が図10に示され、3つのピクセルの動きベクトルは、それぞれ、(vxA,vyA)、(vxB,vyB)、および(vxC,vyC)である。水平方向におけるピクセルAとピクセルBとの間の距離はw1であり、垂直方向におけるピクセルAとピクセルBとの間の距離はh1である。水平方向におけるピクセルAとピクセルCとの間の距離はw2であり、垂直方向におけるピクセルAとピクセルCとの間の距離はh2である。水平方向におけるピクセルBとピクセルCとの間の距離はw2-w1であり、垂直方向におけるピクセルBとピクセルCとの間の距離はh1+h2である。水平方向において隣接している2つのピクセルの動きベクトルの水平成分の間の差分が、それぞれ、ΔmvxhorおよびΔmvyhorであること、ならびに垂直方向において隣接している2つのピクセルの動きベクトルの垂直成分の間の差分が、それぞれ、ΔmvxverおよびΔmvyverであることを想定する。画像ブロックの中の動きベクトルが線形に変化するので、Δmvxhor、Δmvyhor、Δmvxver、およびΔmvyverは、ピクセルA、B、およびCの動きベクトルを決定することによって決定されてよく、画像ブロックの中の隣接するピクセルの間の動きベクトル差分が決定され得る。詳細には、動きベクトル差分は式(37)〜式(40)に従って決定されてよい。
vxB=vxA+w1・Δmvxhor+h1・Δmvxver (37)
vyB=vyA+w1・Δmvyhor+h1・Δmvyver (38)
vxC=vxA+w2・Δmvxhor+h2・Δmvxver (39)
vyC=vyA+w2・Δmvyhor+h2・Δmvyver (40)
代替として、動きベクトル差分は、式(37)および式(38)ならびに式(41)および式(42)に従って決定されてよい。
vxC=vxB+(w2-w1)・Δmvxhor+(h2+h1)・Δmvxver (41)
vyC=vyB+(w2-w1)・Δmvyhor+(h2+h1)・Δmvyver (42)
随意に、本発明のこの実施形態では、復号デバイスは、動き推定および動き探索を通じてすべての制御点の動きベクトルを取得してよく、周囲の画像ブロックに基づいてすべての制御点の動きベクトルを取得してよく、またはアフィン変換モデルに基づいてすべての制御点の動きベクトルを計算してもよい。代替として、復号デバイスは、動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、隣接する画像ブロックに基づいて他の制御点の動きベクトルを取得してよい。代替として、復号デバイスは、アフィン動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。代替として、復号デバイスは、隣接する画像ブロックに基づいていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。ただし、このことは本発明において限定されない。
随意に、S720において、事前設定される最初の値が、アフィン画像ブロックの動きベクトル精度として決定されてよく、またはアフィン画像ブロックの動きベクトル精度は、アフィン画像ブロックの隣接する画像ブロックの特徴に基づいて決定されてもよい。隣接する画像ブロックとは、空間においてかつ/または時間においてアフィン画像ブロックに隣接する画像ブロックである。
詳細には、Affineブロックの動きベクトルの値は整数であってよい。この場合、動きベクトルは整数ピクセル精度として取られ、すなわち、ピクセル精度が1である。代替として、動きベクトルの値は整数でなくてもよい。この場合、動きベクトルは、1/2、1/4、または1/8などの精度を含むサブピクセル精度として取られる。図11は、4×4画像ブロックを示し、ここで、xは整数ピクセル位置上のピクセルを表し、収集された画像は、整数ピクセル位置上のピクセルのみを有し、Oは1/2精度位置上のピクセルを表し、1/2精度位置上のピクセルは、整数ピクセル位置上のピクセルに補間を実行することによって取得される必要がある。別の精度位置上のピクセルの値は、整数ピクセル精度を有するピクセルまたは1/2精度を有するピクセルにさらなる補間を実行することによって、取得される必要がある。現在のピクセルの動きベクトルが整数である場合、現在のピクセルは参照画像の中の×の位置を指す。現在のピクセルの動きベクトル精度が1/2である場合、現在のピクセルは参照画像の中のOの位置を指す。
Affineブロックの動きベクトル精度は、Affineブロックの中のすべてのピクセルにとって最も高い動きベクトル精度である。Affineブロックの動きベクトル精度は、たとえば、整数ピクセル精度、または1/2、1/4、1/8、もしくは1/16などの精度に、事前設定されてよい。代替として、Affineブロックの動きベクトル精度は、Affineブロックの隣接する画像ブロックの特徴に基づいて決定されてよい。たとえば、周囲の画像が比較的滑らかである場合、現在のAffineブロックも滑らかであることが予測されてよく、比較的高い動きベクトル精度、たとえば、1/8または1/16などの精度が選択されてよく、そうでない場合、比較的低い動きベクトル精度、たとえば、整数ピクセル精度または1/2の精度が選択される。取得される精度はMvAcとして示される。
随意に、図12に示すように、S730は、詳細には以下のステップを含む。
S1201。水平方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分に対する動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
詳細には、動きベクトル差分の第1の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第1の成分に対する動きベクトル精度の割合である。その割合と第1の水平距離との積は、水平方向におけるアフィン動き補償画像サブブロックの長さであり、水平方向における初期長さと呼ばれることもある。場合によっては水平方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、水平方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、水平方向におけるアフィン変換画像ブロックの長さ以下とすべきである。水平方向における初期長さまたは水平方向における丸められた初期長さが適切であるかどうかは、水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、水平方向における初期長さまたは水平方向における丸められた初期長さに基づいて、水平方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、水平方向における初期長さまたは水平方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、水平方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で水平方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平方向におけるアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または水平方向におけるアフィン画像ブロックの長さと水平方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
加えて、効率を改善し動作時間を短縮するために、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが7であり、水平方向におけるアフィン画像ブロックの長さが16である。この場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、水平方向におけるアフィン動き補償画像サブブロックの長さが5である場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。水平方向におけるアフィン動き補償画像サブブロックの長さと、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが6であり、水平方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
加えて、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平方向におけるアフィン画像ブロックの可能な最大長さである。水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1201において水平方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、水平方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
(1)水平方向におけるアフィン画像ブロックの長さが、水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
水平方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平方向におけるアフィン画像ブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。区別のために、第1の時間に対して実行される調整は第1の調整と呼ばれることがあり、(必要な場合)第2の時間に対して実行される調整は再調整と呼ばれることがある。
随意に、水平方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは水平方向におけるアフィン画像ブロックの長さである。
S1203。垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第2の成分に対する動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、垂直方向におけるアフィン動き補償画像サブブロックの長さを調整する。
詳細には、動きベクトル差分の第2の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第2の成分に対する動きベクトル精度の割合である。その割合と第1の垂直距離との積は、垂直方向におけるアフィン動き補償画像サブブロックの長さであり、垂直方向における初期長さと呼ばれることもある。場合によっては垂直方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、垂直方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、垂直方向におけるアフィン変換画像ブロックの長さ以下とすべきである。垂直方向における初期長さまたは垂直方向における丸められた初期長さが適切であるかどうかは、垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、垂直方向における初期長さまたは垂直方向における丸められた初期長さに基づいて、垂直方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、垂直方向における初期長さまたは垂直方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、垂直方向におけるアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。垂直方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または垂直方向におけるアフィン画像ブロックの長さと垂直方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
加えて、効率を改善し動作時間を短縮するために、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが7であり、垂直方向におけるアフィン画像ブロックの長さが16である。この場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、垂直方向におけるアフィン動き補償画像サブブロックの長さが5である場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。垂直方向におけるアフィン動き補償画像サブブロックの長さと、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが6であり、垂直方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
加えて、ステップS1203において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは垂直方向におけるアフィン画像ブロックの可能な最大長さである。垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1203において垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1203において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
(1)垂直方向におけるアフィン画像ブロックの長さが、垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、垂直方向におけるアフィン画像ブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。区別のために、第1の時間に対して実行される調整は第1の調整と呼ばれることがあり、(必要な場合)第2の時間に対して実行される調整は再調整と呼ばれることがある。
上記のステップS1201およびS1203は、3つの制御点に基づく解決策1におけるシナリオに適用可能である。3つの制御点に基づくシナリオでは、水平方向および垂直方向におけるアフィン動き補償画像サブブロックの長さは別々に計算される。2つの制御点に基づく解決策2および解決策3におけるシナリオの場合、ステップS1201またはステップS1203だけが実行されて、水平方向におけるアフィン動き補償画像サブブロックの長さまたは垂直方向におけるアフィン動き補償画像サブブロックの長さを独立して計算してよい。次いで、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さ、または水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、他方の方向における、すなわち、垂直/水平方向における、アフィン動き補償画像サブブロックの初期長さとして使用され、上記の決定は別々に実行され、すなわち、
垂直/水平方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定するか、または
垂直/水平方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、かつ垂直/水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍であるかどうかを決定する。
2つの制御点に基づく解決策2および解決策3のシナリオでは、要件に従って、水平方向におけるアフィン動き補償画像サブブロックの長さだけが解決策3において計算されてよく、または垂直方向におけるアフィン動き補償画像サブブロックの長さだけが計算されてもよく、アフィン動き補償画像サブブロックの他方のサイズ成分は、取得された一方のサイズ成分、すなわち、水平方向における長さまたは垂直方向における長さに基づいて、推測または計算される。アフィン画像ブロックのサイズが通常の2N×2N正方形の形状をなすとき、水平方向および垂直方向におけるアフィン画像ブロックの長さが同じであるので、水平方向および垂直方向におけるアフィン画像ブロックの長さのうちの一方しか決定される必要がないことが理解され得る。
随意に、垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは垂直方向におけるアフィン画像ブロックの長さである。
詳細には、取得される動きベクトル差分ΔmvhorおよびΔmvverは通常は比較的小さく、各ピクセルの動きベクトルの精度が過剰に高いこと、たとえば、1/32または1/64であることを示す。過剰に高い動きベクトル精度は、ビデオの圧縮性能にほとんど寄与せず、膨大な量の計算を引き起こす。したがって、Affineブロックは、以前に取得された予想される動きベクトル精度MvAcに基づいて複数のAffine-MCブロックに分割されて、各Affine-MCブロックの動きベクトル精度がMvAcに達することを確実にする。ΔmvhorおよびΔmvverのうちの小さい方の値はMvAc以上である。
随意に、本発明のこの実施形態では、第1の制御点と第2の制御点との間の水平距離がWであること、および第3の制御点と第4の制御点との間の垂直距離がHであることを想定し、Affine-MCブロックの幅がaMcWであるかまたはMとして示されること、および高さがaMcHであるかまたはNとして示されることを想定する。
解決策1におけるシナリオでは、3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(43)を使用することによって実施されてよく、すなわち、MおよびNは式(43)に従って決定される。
このことは、
ことと等価である。
解決策2におけるシナリオでは、水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(46)を使用することによって実施されてよく、すなわち、MおよびNは式(46)に従って決定される。
このことは、
ことと等価である。
解決策3におけるシナリオでは、垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(48)を使用することによって実施されてよく、すなわち、MおよびNは式(48)に従って決定される。
このことは、
ことと等価である。
MおよびNが式(45)、式(47)、および式(49)に従って計算された後、アルゴリズムを簡略化するために、MおよびNが演算を容易にするかどうか、すなわち、幅Wおよび高さHを有するアフィン画像ブロックが整数の数量のアフィン動き補償画像サブブロックに均等に分割され得るかどうかが、さらに決定される必要がある。詳細には、WがMで割り切れるかどうか、およびHがNで割り切れるかどうかが、決定される必要がある。WがMで割り切れずかつ/またはHがNで割り切れない場合、Wおよび/またはHがそれによって割り切れない値、すなわち、Mおよび/またはNは、WがMで割り切れ、HがNで割り切れ、MおよびNがTm≦M≦WかつTn≦N≦Hを満たすように、調整される。
調整方法は次の通りであってよい。
(1)WがMで割り切れないとき、WがMで割り切れるまで、Mは徐々に減少/増大される。HがNで割り切れないとき、HがNで割り切れるまで、Nは徐々に減少/増大される。M=Nであるとき、MおよびNのいずれかのみが調整される必要がある。
随意に、Mの上限および下限ならびにNの上限および下限は、Tm≦M≦W、Tn≦N≦Hとなるように限定され、TmおよびTnは、通常は4に設定される。
(2)テーブルルックアップ方式が使用される。すなわち、構成された2次元テーブルにおいて、WおよびMが入力され、条件を満たすMが出力され、HおよびNが入力され、条件を満たすNが出力される。
随意に、MおよびNが式(45)、式(47)、および式(49)に従って計算された後、MおよびNは、WがMで割り切れ、HがNで割り切れ、MおよびNが各々、Sの倍数でありTm≦M≦WかつTn≦N≦Hを満たすように、さらに調整される。
調整方法は次の通りであってよい。
(1)WがMで割り切れないか、またはMがSの倍数でないとき、WがMで割り切れMがSの倍数となるまで、Mは徐々に減少される。HがNで割り切れないか、またはNがSの倍数でないとき、HがNで割り切れNがSの倍数となるまで、Nは徐々に減少される。Sは、通常は4に設定される。M=Nであるとき、MおよびNのいずれかのみが調整される必要がある。
随意に、Mの上限および下限ならびにNの上限および下限は、Tm≦M≦W、Tn≦N≦Hとなるように限定され、TmおよびTnは、通常は4に設定される。
(2)テーブルルックアップ方式が使用される。すなわち、構成された2次元テーブルにおいて、WおよびMが入力され、条件を満たすMが出力され、HおよびNが入力され、条件を満たすNが出力される。
詳細には、上記の解決策は、表1における以下の例示的なアルゴリズムコードを使用することによって実施されてよい。
したがって、本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに均等に分割され得るように、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定する。このようにして、方法はハードウェア/ソフトウェアを使用することによって実装され、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
随意に、図13に示すように、S740は以下のステップを含む。
S1301。アフィン動き補償画像サブブロックの中の各アフィン動き補償画像サブブロックの動きベクトルを決定する。
S1303。各アフィン動き補償画像サブブロックの動きベクトルに基づいて各アフィン動き補償画像サブブロックの動き補償予測信号を決定する。
S1305。各アフィン動き補償画像サブブロックの動き補償予測信号に基づいて各アフィン動き補償画像サブブロックを復号する。
本発明のこの実施形態では、各Affine-MCブロックが複数のピクセルを含んでよいこと、およびピクセルの動きベクトルがAffine-MCブロックの動きベクトルとして各Affine-MCブロックから選択される必要があることを理解されたい。
随意に、S1301において、Affine-MCブロックの中心位置上のピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてよく、Affine-MCブロックの中のすべてのピクセルの動きベクトルの平均値が、Affine-MCブロックの動きベクトルとして使用されてよく、またはAffine-MCブロックの中の左上ピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてもよい。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、各アフィン動き補償画像サブブロックの中の境界ピクセルの信号がフィルタ処理され、境界ピクセルとは、各アフィン動き補償画像サブブロックの境界における1つまたは複数の行のピクセルである。
随意に、本発明のこの実施形態では、境界ピクセルの信号は、動き補償予測信号および/または再構成された信号を含み、再構成された信号は、動き補償予測信号と再構成された残差信号との和である。
詳細には、図11に示すように、太い実線ブロックはAffineブロックを表し、細い実線ブロックはAffine-MCブロックを表し、破線ボックスは隣接するAffine-MCブロックの境界におけるピクセルを表し、交差点はピクセルを表す。図11の中の破線ボックスの領域は、隣接するAffine-MCブロックのそれぞれの境界において、隣接するAffine-MCブロックの中に2行または2列のピクセルを含み、あるいは隣接するAffine-MCブロックのそれぞれの境界において、1行または1列、3行または3列などのピクセルを含んでもよい。隣接するAffine-MCブロックの動きベクトルが異なる場合があるので、参照画像から取得される予測信号は参照画像の中で隣接しない。このことは、隣接するAffine-MCブロックの境界において予測信号の不連続性を引き起こし、さらに残差の不連続性を引き起こし、残差の画像符号化/復号性能に影響を及ぼす。したがって、Affine-MCブロックの境界において動き補償予測信号をフィルタ処理することが検討される。
再構成された信号は、通常、動き補償予測信号と再構成された残差信号とを加算することによって取得される。通常、残差信号に不可逆符号化が実行される。このことは、元の残差信号に対して、再構成された残差信号のひずみを引き起こす。隣接するAffine-MCブロックの境界におけるピクセルのひずみ事例は異なる場合がある。たとえば、第1のAffine-MCブロックの中の右側におけるピクセルは、ひずみに起因してより大きくなり、第1のAffine-MCブロックに隣接しその右にあるAffine-MCブロックの中の左側におけるピクセルは、ひずみに起因してより小さくなる。このことは、Affine-MCブロックの中の再構成されたピクセルの境界ピクセル値の不連続性を引き起こし、主観的および客観的な効果を損なう。したがって、再構成された信号はフィルタ処理される必要がある。
随意に、本発明のこの実施形態では、フィルタ処理は、境界領域の中のピクセル値がより滑らかに変化するように、低域通過フィルタを使用することによって実行されてよい。たとえば、フィルタ処理は、ガウスフィルタを使用することによって実行される。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、フィルタ処理は、重複ブロック動き補償(Overlapped block motion compensation、略して「OBMC」)方法を使用することによって実行されてよい。フィルタ処理されるべきピクセルに隣接するAffine-MCブロックの動きベクトルを使用することによって、フィルタ処理されるべきピクセルに動き補償予測が実行され、取得された動き補償予測信号、およびフィルタ処理されるべきピクセルの動きベクトルを使用することによって取得された動き補償予測信号に重み付き平均化が実行されて、最終の動き補償予測信号を取得する。
本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
随意に、本発明における復号方法はまた、
アフィン画像ブロックの動きベクトル差分およびアフィン画像ブロックの動きベクトル精度を取得するためにビットストリームをパースすることであって、ここで、アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有する、パースすること、
動きベクトル差分、動きベクトル精度、およびアフィン画像ブロックの中の制御点の間の距離に基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定すること、ならびに
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行すること、または
アフィン画像ブロックについての情報を取得するためにビットストリームをパースすること、
アフィン画像ブロックについての情報に基づいてアフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、サイズが、水平方向における長さおよび垂直方向における長さを含み、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍である、決定すること、ならびに
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することであってよい。
このようにして、デコーダ側は、アフィン動き補償画像サブブロックのサイズを決定するために、再計算を実行する必要がなくてよいが、エンコーダ側によってデコーダ側へ送信されたパラメータを直接使用してよい。したがって、計算複雑度がさらに低減される。
上記のことは、本発明の実施形態によるビデオ画像復号方法を、図1〜図13を参照しながら詳細に説明している。上記のことは、デコーダ側およびエンコーダ側におけるこの解決策の実装方式が基本的に同じであることをさらに説明している。このことをより明瞭に説明するために、以下のことは、本発明の実施形態によるビデオ画像符号化方法を、図14〜図16を参照しながら説明する。エンコーダ側における関係する動作がデコーダ側における関係する動作と本質的に同じであるので、繰り返しを避けるために、実装詳細が本明細書で再び説明されないことに留意されたい。
図14は、本発明の一実施形態によるビデオ画像復号方法の概略フローチャートである。
図14に示す方法は、符号化デバイスによって実行され得る。たとえば、デコーダと同様に、エンコーダは、通常、予測処理ユニット、残差生成ユニット、変換処理ユニット、量子化ユニット、逆量子化ユニット、逆変換処理ユニット、再構成ユニット、フィルタユニット、復号画像バッファ、およびエントロピー符号化ユニットを含む。エントロピー符号化ユニットは、標準CABAC符号化/復号エンジンおよびバイパス符号化/復号エンジンを含む。予測処理ユニットは、フレーム間予測処理ユニットおよびフレーム内予測処理ユニットを含む。フレーム間予測処理ユニットは、動き推定ユニットおよび動き補償ユニットを含む。別の実施形態では、エンコーダは、より多数もしくはより少数の、または異なる機能構成要素を含んでよい。デコーダと同様に、本発明の符号化方法は、フレーム間予測処理ユニットによるフレーム間予測を実行するプロセスに主に適用される。エンコーダの各機能ユニットの詳細な構造については、H.265規格などの従来技術における規制および記述を参照されたい。本発明では詳細な説明は提供されない。本発明では、以下の実施形態は、本発明のこの実施形態における方法ではどのようにアフィン動き補償画像サブブロックのサイズを適応的に決定し符号化を実行するのかという、基本プロセスを説明するために使用されるにすぎない。
詳細には、図14に示すように、方法1400は以下のステップを含む。
S1410。アフィン画像ブロックの動きベクトル差分を決定する。
S1430。アフィン画像ブロックの動きベクトル精度を決定する。
S1450。動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズは水平方向における長さおよび垂直方向における長さを含み、制御点は動きベクトル差分を決定するために使用されるピクセルである。
S1470。アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行する。
詳細には、復号デバイスは、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、符号化デバイスは、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを符号化する。
したがって、本発明のこの実施形態におけるビデオ画像符号化方法を実行することによって、フレーム間予測処理ユニットは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン動き補償画像サブブロックのサイズに基づいて、同じサイズを有する複数のアフィン動き補償副画像にアフィン画像ブロックを分割し、次いで、符号化処理を実行する。したがって、符号化プロセスの中で、適切なサイズを有するアフィン動き補償画像サブブロックが、上記のパラメータの変化に基づいて適応的に選択され得、符号化複雑度が低減され、符号化性能、すなわち圧縮効率が改善される。
好ましくは、S1410は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに/または
同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することを含む。
第1の制御点と第2の制御点との間に第1の水平距離があり、第3の制御点と第4の制御点との間に第1の垂直距離がある。ステップS1410の中に含まれる解決策における「および/または」が、詳細には、以下の3つの異なる技術的解決策を示すことに留意されたい。
解決策1:3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することと、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することとを含む。
解決策2:水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することを含む。
解決策3:垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することを含む。
本発明のこの実施形態では、動きベクトル差分の第1の成分が動きベクトル差分の水平成分であり、動きベクトル差分の第2の成分が動きベクトル差分の垂直成分であることを理解されたい。解決策1では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を共同で反映する。しかしながら、解決策2および解決策3では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を独立して反映する。言い換えれば、解決策1では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分を含み、解決策2では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分を含み、解決策3では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第3の成分を含む。本発明のこの実施形態では、第1、第2、第3、および第4が、ピクセルの間を区別するために使用されるにすぎず、本発明の保護範囲にいかなる限定も与えるべきでないことも理解されたい。たとえば、第1の制御点が第2の制御点と呼ばれることもあり、第2の制御点が第1の制御点と呼ばれることがある。
随意に、本発明のこの実施形態では、第1の制御点および第3の制御点は同じピクセルである。詳細には、3つの制御点が選択され、3つの制御点のうちの1つは、他の2つの制御点のうちの1つと同じ水平線上に位置し、最後の制御点と同じ垂直線上に位置する。
随意に、本発明のこの実施形態では、第1の制御点、第2の制御点、第3の制御点、および第4の制御点は、Affineブロックの頂点である。Affineブロックの中の4つの頂点が、それぞれ、左上頂点、左下頂点、右上頂点、および右下頂点として示されることを想定する。
解決策1では、Affineブロックの動きベクトル差分を決定するために、2つの直交方向における任意の3つの頂点が選択されてよい。たとえば、左上頂点、左下頂点、および右上頂点が選択されてよく、または左上頂点、右上頂点、および右下頂点が選択されてもよい。
解決策2では、Affineブロックの動きベクトル差分を決定するために、同じ水平線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および右上頂点が選択されてよく、または左下頂点および右下頂点が選択されてもよい。
解決策3では、Affineブロックの動きベクトル差分を決定するために、同じ垂直線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および左下頂点が選択されてよく、または右上頂点および右下頂点が選択されてもよい。このことは本発明において限定されない。
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点の動きベクトルの、2つの方向(水平方向および垂直方向、またはx方向およびy方向と呼ばれる)のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第1の成分として決定されてよく、第3の制御点および第4の制御点の動きベクトルの、2つの方向のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第2の成分として決定されてよい。動きベクトル差分を決定する方式は、解決策1、2、および3に適用可能である。代替として、符号化複雑度および符号化性能に対する実際の要件に従って、2つの方向における第1の制御点および第2の制御点の動きベクトルの成分の間の2つの差分の間の値が、第1の成分として選択および決定されてよく、2つの方向における第3の制御点および第4の制御点の動きベクトルの成分の間の2つの差分の間の値が、第2の成分として選択および決定されてよい。このことは本発明において限定されない。
第1の制御点〜第4の制御点の各々の動きベクトルは、通常、2つの成分、すなわち、水平成分および垂直成分を含む。したがって、上記のステップでは、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することは、詳細には、以下の方式、すなわち、
第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定し、第1の水平成分差分および第1の垂直成分差分のうちの大きい方を動きベクトル差分の第1の成分として決定すること、ならびに
それに対応して、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定し、第2の水平成分差分および第2の垂直成分差分のうちの大きい方を動きベクトル差分の第2の成分として決定することで、実施され得る。
随意に、本発明のこの実施形態では、動きベクトル差分はアフィンモデルに基づいて取得され、すなわち、動きベクトル差分は、アフィン画像ブロックの中のピクセルのアフィン変換パラメータを決定することによって取得される。アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有することに留意されたい。
それに対応して、第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の水平距離に基づいて第1の水平成分差分および第1の垂直成分差分を決定することであり、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の垂直距離に基づいて第2の水平成分差分および第2の垂直成分差分を決定することである。
上記のプロセスのシーケンス番号が実行シーケンスを示さないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能および内部論理に基づいて決定されるべきであり、本発明のこの実施形態の実装プロセスにいかなる限定も与えるべきでない。
随意に、本発明のこの実施形態では、アフィン変換モデルは、従来技術の6パラメータアフィン変換モデルであってよく、または従来技術の4パラメータもしくは2パラメータアフィン変換モデルであってもよい。6パラメータアフィン変換モデルは、3つの制御点に基づく解決策1におけるシナリオに主に適用され、4パラメータアフィン変換モデルは、2つの制御点に基づく解決策2および解決策3におけるシナリオに主に適用される。特定の内容については、本明細書における復号方法の説明を参照されたい。
随意に、本発明のこの実施形態では、アフィン画像ブロックの動きベクトル差分を決定するために、第1の制御点の動きベクトル、第2の制御点の動きベクトル、第3の制御点の動きベクトル、および第4の制御点の動きベクトルが決定され得る。
それに対応して、解決策1におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定され、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
解決策2におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定される。
解決策3におけるシナリオでは、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
詳細には、制御点の動きベクトルは直接決定されてよく、Affineブロックの動きベクトル差分の第1の成分および第2の成分は、動きベクトルの成分の間の差分を計算することによって直接取得され得る。
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点は、隣接する2つのピクセルであり、第3の制御点および第4の制御点は、隣接する2つのピクセルである。言い換えれば、制御点は、必ずしもアフィン画像ブロックの中の、頂点とも呼ばれる4つの隅角点から選択されるとは限らないが、シグナリングを使用することによってビットストリームの中で明示的に示されるか、または周囲のアフィン画像ブロックの中の制御点に基づく推定もしくは複製を通じて取得される、アフィン画像ブロックの中の任意の位置上にありエンコーダ側およびデコーダ側によって共同で設定される点であってよい。この場合、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分を決定することは、詳細には次の通りである。
第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、および第3のピクセルの動きベクトルが決定され、ここで、第1のピクセル、第2のピクセル、および第3のピクセルは、互いに重複しないピクセルであり、第1のピクセルと第2のピクセルとの間の第2の水平距離および第2の垂直距離が決定され、第1のピクセルと第3のピクセルとの間の第3の水平距離および第3の垂直距離が決定され、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分が、第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、第3のピクセルの動きベクトル、第2の水平距離、第2の垂直距離、第3の水平距離、および第3の垂直距離に基づいて決定される。上記のことは、一例として3つの制御点に基づく解決策1を使用することによって説明されている。2つの制御点に基づく解決策2または解決策3と3つの制御点に基づく解決策1との間の差異があること、すなわち、解決策1における第1の成分差分または第2の成分差分のみが、2つの制御点に基づくアフィン画像の動きベクトル差分として使用されることが、上記の例から知られ得る。
随意に、本発明のこの実施形態では、符号化デバイスは、動き推定および動き探索を通じてすべての制御点の動きベクトルを取得してよく、周囲の画像ブロックに基づいてすべての制御点の動きベクトルを取得してよく、またはアフィン変換モデルに基づいてすべての制御点の動きベクトルを計算してもよい。代替として、符号化デバイスは、動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、隣接する画像ブロックに基づいて他の制御点の動きベクトルを取得してよい。代替として、符号化デバイスは、アフィン動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。代替として、符号化デバイスは、隣接する画像ブロックに基づいていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。ただし、このことは本発明において限定されない。
随意に、S1430において、事前設定される最初の値が、アフィン画像ブロックの動きベクトル精度として決定されてよく、またはアフィン画像ブロックの動きベクトル精度は、アフィン画像ブロックの隣接する画像ブロックの特徴に基づいて決定されてもよい。隣接する画像ブロックとは、空間においてかつ/または時間においてアフィン画像ブロックに隣接する画像ブロックである。
随意に、図15に示すように、S1450は、詳細には以下のステップを含む。
S1501。水平方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分に対する動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
詳細には、動きベクトル差分の第1の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第1の成分に対する動きベクトル精度の割合である。その割合と第1の水平距離との積は、水平方向におけるアフィン動き補償画像サブブロックの長さであり、水平方向における初期長さと呼ばれることもある。場合によっては水平方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、水平方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、水平方向におけるアフィン変換画像ブロックの長さ以下とすべきである。水平方向における初期長さまたは水平方向における丸められた初期長さが適切であるかどうかは、水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、水平方向における初期長さまたは水平方向における丸められた初期長さに基づいて、水平方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、水平方向における初期長さまたは水平方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平方向におけるアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または水平方向におけるアフィン画像ブロックの長さと水平方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
加えて、効率を改善し動作時間を短縮するために、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが7であり、水平方向におけるアフィン画像ブロックの長さが16である。この場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、水平方向におけるアフィン動き補償画像サブブロックの長さが5である場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。水平方向におけるアフィン動き補償画像サブブロックの長さと、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが6であり、水平方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
加えて、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平方向におけるアフィン画像ブロックの可能な最大長さである。水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1501において水平方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1501において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、水平方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
(1)水平方向におけるアフィン画像ブロックの長さが、水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
水平方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平方向におけるアフィン画像ブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。
随意に、水平方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは水平方向におけるアフィン画像ブロックの長さである。
S1503。垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第2の成分に対する動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
詳細には、動きベクトル差分の第2の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第2の成分に対する動きベクトル精度の割合である。その割合と第1の垂直距離との積は、垂直方向におけるアフィン動き補償画像サブブロックの長さであり、垂直方向における初期長さと呼ばれることもある。場合によっては垂直方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、垂直方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、垂直方向におけるアフィン変換画像ブロックの長さ以下とすべきである。垂直方向における初期長さまたは垂直方向における丸められた初期長さが適切であるかどうかは、垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、垂直方向における初期長さまたは垂直方向における丸められた初期長さに基づいて、垂直方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、垂直方向における初期長さまたは垂直方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、垂直方向におけるアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。垂直方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または垂直方向におけるアフィン画像ブロックの長さと垂直方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
加えて、効率を改善し動作時間を短縮するために、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが7であり、垂直方向におけるアフィン画像ブロックの長さが16である。この場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、垂直方向におけるアフィン動き補償画像サブブロックの長さが5である場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。垂直方向におけるアフィン動き補償画像サブブロックの長さと、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが6であり、垂直方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
加えて、ステップS1503において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは垂直方向におけるアフィン画像ブロックの可能な最大長さである。垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1503において垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1503において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
(1)垂直方向におけるアフィン画像ブロックの長さが、垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、垂直方向におけるアフィン画像ブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。
随意に、垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは垂直方向におけるアフィン画像ブロックの長さである。
アフィン動き補償画像サブブロックのサイズを決定および調整する特定の実装形態については、本明細書における復号方法の特定の説明を参照されたい。
したがって、本発明のこの実施形態におけるビデオ画像符号化方法によれば、符号化デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
随意に、図16に示すように、S1470は以下のステップを含む。
S1601。アフィン動き補償画像サブブロックの中の各アフィン動き補償画像サブブロックの動きベクトルを決定する。
S1603。各アフィン動き補償画像サブブロックの動きベクトルに基づいて各アフィン動き補償画像サブブロックの動き補償予測信号を決定する。
S1605。各アフィン動き補償画像サブブロックの動き補償予測信号に基づいて各アフィン動き補償画像サブブロックを符号化する。
本発明のこの実施形態では、各Affine-MCブロックが複数のピクセルを含んでよいこと、およびピクセルの動きベクトルがAffine-MCブロックの動きベクトルとして各Affine-MCブロックから選択される必要があることを理解されたい。
随意に、S1601において、Affine-MCブロックの中心位置上のピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてよく、Affine-MCブロックの中のすべてのピクセルの動きベクトルの平均値が、Affine-MCブロックの動きベクトルとして使用されてよく、またはAffine-MCブロックの中の左上ピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてもよい。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、各アフィン動き補償画像サブブロックの中の境界ピクセルの信号がフィルタ処理され、境界ピクセルとは、各アフィン動き補償画像サブブロックの境界における1つまたは複数の行のピクセルである。
随意に、本発明のこの実施形態では、境界ピクセルの信号は、動き補償予測信号および/または再構成された信号を含み、再構成された信号は、動き補償予測信号と再構成された残差信号との和である。
再構成された信号は、通常、動き補償予測信号と再構成された残差信号とを加算することによって取得される。通常、残差信号に不可逆符号化が実行される。このことは、元の残差信号に対して、再構成された残差信号のひずみを引き起こす。隣接するAffine-MCブロックの境界におけるピクセルのひずみ事例は異なる場合がある。たとえば、第1のAffine-MCブロックの中の右側におけるピクセルは、ひずみに起因してより大きくなり、第1のAffine-MCブロックに隣接しその右にあるAffine-MCブロックの中の左側におけるピクセルは、ひずみに起因してより小さくなる。このことは、Affine-MCブロックの中の再構成されたピクセルの境界ピクセル値の不連続性を引き起こし、主観的および客観的な効果を損なう。したがって、再構成された信号はフィルタ処理される必要がある。
随意に、本発明のこの実施形態では、フィルタ処理は、境界領域の中のピクセル値がより滑らかに変化するように、低域通過フィルタを使用することによって実行されてよい。たとえば、フィルタ処理は、ガウスフィルタを使用することによって実行される。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、フィルタ処理は、重複ブロック動き補償(Overlapped block motion compensation、略して「OBMC」)方法を使用することによって実行されてよい。フィルタ処理されるべきピクセルに隣接するAffine-MCブロックの動きベクトルを使用することによって、フィルタ処理されるべきピクセルに動き補償予測が実行され、取得された動き補償予測信号、およびフィルタ処理されるべきピクセルの動きベクトルを使用することによって取得された動き補償予測信号に重み付き平均化が実行されて、最終の動き補償予測信号を取得する。
本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
以下のことは、図17を参照しながら、本発明を実施するための復号装置1700を説明する。復号装置1700は、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュール1710と、
アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュール1730と、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュール1750であって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュール1750と、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行するように構成された、復号モジュール1770とを含む。
詳細には、復号装置は、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、復号装置は、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを復号する。復号装置のモジュールは、本発明の復号方法の中に含まれる様々な実行ステップの機能を実施する。詳細には、モジュールは、本発明の復号方法におけるすべての方法ステップ、たとえば、ステップS710〜S740ならびにこれらのステップの拡張および変形の機能を実施する。詳細については、本明細書における復号方法の説明を参照されたい。簡潔のために、詳細は本明細書で再び説明しない。
以下のことは、図18を参照しながら、本発明の一実施形態による符号化装置を詳細に説明する。符号化装置1800は、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュール1810と、
アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュール1830と、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュール1850であって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュール1850と、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュール1870とを含む。
詳細には、符号化装置は、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、符号化装置は、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを符号化する。符号化装置のモジュールは、本発明の復号方法の中に含まれる様々な実行ステップの機能を実施する。詳細には、モジュールは、本発明の復号方法におけるすべての方法ステップ、たとえば、ステップS1410〜S1470ならびにこれらのステップの拡張および変形の機能を実施する。詳細については、本明細書における復号方法の説明を参照されたい。簡潔のために、詳細は本明細書で再び説明しない。
図19に示すように、本発明の一実施形態は、プロセッサ1910、メモリ1930、およびバスシステム1950を含む、復号デバイス1900をさらに提供する。プロセッサおよびメモリは、バスシステムを使用することによって接続されている。メモリは、命令を記憶するように構成されている。プロセッサは、メモリの中に記憶された命令を実行するように構成されている。符号化デバイスのメモリはプログラムコードを記憶する。プロセッサは、本発明の復号方法700におけるすべてのステップおよびステップの拡張、すなわち、図7〜図13で説明したすべての方法を実行するために、メモリの中に記憶されたプログラムコードを呼び出してよい。
たとえば、プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、本発明の復号方法における完全な動作、すなわち、
アフィン画像ブロックの動きベクトル差分を決定することと、
アフィン画像ブロックの動きベクトル精度を決定することと、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することとを実行し得る。
復号プロセスの中で、適切なサイズを有する画像サブブロックが選択され得、画像サブブロックのサイズは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割されるように調整される。このようにして、復号複雑度が低減され、復号性能が改善される。
本発明のこの実施形態では、プロセッサ1910が中央処理装置(Central Processing Unit、略して「CPU」)であってよいことを理解されたい。代替として、プロセッサ1910は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。
メモリ1930は、読取り専用メモリおよびランダムアクセスメモリを含んでよく、命令およびデータをプロセッサ1910に提供し得る。メモリ32の一部は不揮発性ランダムアクセスメモリをさらに含んでよい。たとえば、メモリ1930はデバイスタイプについての情報をさらに記憶してよい。
データバスに加えて、バスシステム1950は、電力バス、制御バス、ステータス信号バスなどをさらに含んでよい。ただし、明瞭な説明のために、図における様々なタイプのバスがバスシステム1950としてマークされている。
実装プロセスの中で、プロセッサ1910の中のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、上記の方法のステップが実施され得る。本発明の実施形態を参照しながら開示する方法のステップは、ハードウェアプロセッサによって直接実行されてよく、またはプロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体の中に位置してよい。記憶媒体がメモリ1930の中に位置し、プロセッサ1910はメモリ1930から情報を読み取り、プロセッサのハードウェアと組み合わせて上記の方法のステップを完了させる。
図20に示すように、本発明の一実施形態は、プロセッサ2010、メモリ2030、およびバスシステム2050を含む、符号化デバイス2000をさらに提供する。プロセッサ2010およびメモリ2030は、バスシステム2050を使用することによって接続されている。メモリ2030は、命令を記憶するように構成されている。プロセッサ2010は、メモリ2030の中に記憶された命令を実行するように構成されている。符号化デバイス2000のメモリ2030はプログラムコードを記憶する。プロセッサ2010は、本発明の復号方法1400におけるすべてのステップおよびステップの拡張、すなわち、図14〜図16で説明したすべての方法ステップを実行するために、メモリ2030の中に記憶されたプログラムコードを呼び出してよい。たとえば、プロセッサ2010は、メモリ2030の中に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、
アフィン画像ブロックの動きベクトル差分を決定することと、
アフィン画像ブロックの動きベクトル精度を決定することと、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行することとを実行し得る。
符号化プロセスの中で、適切なサイズを有する画像サブブロックが選択され得、画像サブブロックのサイズは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割されるように調整される。このようにして、符号化複雑度が低減され、符号化性能が改善される。
本発明のこの実施形態では、プロセッサ2010が中央処理装置(Central Processing Unit、略して「CPU」)であってよいことを理解されたい。代替として、プロセッサ2010は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。
メモリ2030は、読取り専用メモリおよびランダムアクセスメモリを含んでよく、命令およびデータをプロセッサ2010に提供し得る。メモリ2030の一部は不揮発性ランダムアクセスメモリをさらに含んでよい。たとえば、メモリ2030はデバイスタイプについての情報をさらに記憶してよい。
データバスに加えて、バスシステム2050は、電力バス、制御バス、ステータス信号バスなどをさらに含んでよい。ただし、明瞭な説明のために、図における様々なタイプのバスがバスシステム2050としてマークされている。
実装プロセスの中で、プロセッサ2010の中のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、上記の方法のステップが実施され得る。本発明の実施形態を参照しながら開示する方法のステップは、ハードウェアプロセッサによって直接実行されてよく、またはプロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体の中に位置してよい。記憶媒体がメモリ2030の中に位置し、プロセッサ2010はメモリ2030から情報を読み取り、プロセッサのハードウェアと組み合わせて上記の方法のステップを完了させる。繰り返しを避けるために、詳細は本明細書で再び説明しない。
60 ビデオデコーダ
650 エントロピー復号ユニット
652 予測処理ユニット
654 逆量子化ユニット
656 逆変換処理ユニット
658 再構成ユニット
659 フィルタユニット
660 復号画像バッファ
662 動き補償ユニット
664 フレーム内予測処理ユニット
666 標準CABAC符号化/復号エンジン
668 バイパス符号化/復号エンジン
1700 復号デバイス
1710 動きベクトル差分決定モジュール
1730 動きベクトル精度決定モジュール
1750 画像サブブロックサイズ決定モジュール
1770 復号モジュール
1800 符号化デバイス
1810 動きベクトル差分決定モジュール
1830 動きベクトル精度決定モジュール
1850 画像サブブロックサイズ決定モジュール
1870 符号化モジュール
1900 復号デバイス
1910 プロセッサ
1930 メモリ
1950 バスシステム
2000 符号化デバイス
2010 プロセッサ
2030 メモリ
2050 バスシステム
本発明は、ビデオ画像処理の分野に関し、詳細には、ビデオ画像符号化方法、ビデオ画像復号方法、ビデオ画像符号化装置、ビデオ画像復号装置、符号化デバイス、および復号デバイスに関する。
インターネット技術が急速に発展し、人々の用具および精神文化がますます豊かになるにつれて、ビデオの適用に対して、特に高精細ビデオの適用に対して、インターネット上に増大した需要がある。しかしながら、高精細ビデオは極めて大量のデータを有する。帯域幅が限定されたインターネット上で高精細ビデオを送信するために、最初に解決される必要がある問題は高精細ビデオの圧縮および符号化である。現在、ビデオコーディング規格の策定に専用の2つの国際機関、すなわち、国際標準化機構(International Organization for Standardization、略してISO)/国際電気標準会議(International Electrotechnical Commission、略してIEC)モーションピクチャエキスパートグループ(Motion Picture Experts Group、略してMPEG)、および国際電気通信連合電気通信標準化部門(International Telecommunication Union-Telecommunication Standardization Sector、略してITU-T)のビデオコーディングエキスパートグループ(Video Coding Experts Group、略してVCEG)がある。1986年に確立されたMPEGは、マルチメディア分野におけるインターネットまたはワイヤレスネットワークなどでの、記憶、ブロードキャストテレビジョン、ストリーミングメディアに主に適用される関係する規格を策定することに専門化されている。ITU-Tは、ビデオ電話、ビデオ会議、または他の用途などの、リアルタイムビデオ通信の分野のためのビデオコーディング規格を主に策定する。
過去数十年間において、ビデオコンパクトディスク(Video Compact Disc、略してVCD)のためのMPEG-1規格、デジタル多用途ディスク(Digital Video Disc、略してDVD)およびデジタルビデオブロードキャスティング(Digital Video Broadcasting、略してDVB)のためのMPEG-2規格、ビデオ会議のためのH.261規格、H.263規格、およびH.264規格、任意の形状でのオブジェクトの符号化を可能にするMPEG-4規格、ならびに最新の高効率ビデオコーディング(High Efficiency Video Coding、略してHEVC)規格を主に含む、様々な用途に特有のビデオコーディング規格が、国際的に首尾よく策定されている。
現在広く使用されるビデオコーディング規格H.264と最新のビデオコーディング規格HEVCの両方によれば、ブロックベース予測、変換、およびエントロピー符号化などの様々なタイプの符号化動作は、基本単位として画像ブロックを使用することによって実行される。画像ブロックは、正方形アレイまたは長方形アレイであってよい2次元のサンプリングポイントアレイである。たとえば、4×4というサイズを有する画像ブロックは、合計4×4個、すなわち16個のサンプリングポイントを含む正方形サンプリングポイントアレイと見なされてよい。図1に示すように、画像ブロックはBとして示されてよい。画像ブロック信号とは、画像ブロックの中のサンプリングポイントのサンプリング値であり、B(x,y)、x,y=0...3として表されてよく、ただし、(x,y)は画像ブロックの中の各サンプリングポイントの座標を表す。同様に、画像はまた、2次元のサンプリングポイントアレイとして表されてよく、画像ブロックに対して使用される方法と類似の方法を使用することによって示される。加えて、サンプリングポイントは、ピクセルと呼ばれることもあり、本発明の本明細書において区別なしに使用されることになる。
ビデオシーケンスは、フレームごとに配列された画像を含む。一般に、連続した画像が極めて短い時間区間において生成され、画像はわずかに変化する。したがって、連続した画像の間に小さい差分がある。したがって、現在の画像と参照画像との間の差分のみが、連続した画像の間の時間相関に基づいて符号化されてよい。参照画像は、通常、その生成時間が現在の画像の生成時間に近い再構成かつ符号化された画像である。このようにして、符号化されるべき情報の量が低減され、信号圧縮効果が達成される。ビデオコーディング技術では、このタイプの方法はフレーム間予測コーディング技術と呼ばれ、その技術は現在のビデオコーディング規格において広く使用される。図2は、フレーム間予測符号化アーキテクチャを示す。通常はビデオの中の各画像/画像の各フレームである、符号化されるべき画像が入力され、互いに重複しない画像ブロックに分割される。エンコーダは、動き推定を通じて画像ブロックの動きベクトルを取得し、エンコーダは、動き補償を通じて、画像ブロックの動きベクトルを使用することによって画像ブロックの動き補償予測信号を取得する。次いで、画像ブロックの元の信号から動き補償予測信号が減算されて、予測残差信号を取得する。変換、量子化、およびエントロピー符号化を受けた後、予測残差信号がビットストリームの中に書き込まれる。符号化プロセスの中で、画像ブロックの取得された動き補償予測信号がより正確である場合、取得される予測残差信号の数量はより少なく、符号化される必要があるビットの数量はより少なく、画像ブロックの圧縮率はより大きい。
動き推定とは、同じサイズを有し現在の画像ブロックに最良に整合する画像ブロックB'を、現在の画像ブロックBを使用することによって参照画像から見つけることである。空間の中でのB'に対する画像ブロックBのロケーションオフセットは、画像ブロックBの動きベクトルと呼ばれる。動き補償とは、画像ブロックBの動きベクトルに基づいて参照画像から予測信号を取得するプロセスである。取得される信号は動き補償予測信号と呼ばれる。
デコーダ側は、画像ブロックの予測残差信号に逆量子化および逆変換を実行して、再構成された残差信号を取得し、次いで、画像ブロックの動きベクトルに基づいて動き補償予測を通じて参照画像から動き補償予測信号を取得し、画像ブロックの動き補償予測信号と再構成された残差信号とを加算することによって、画像ブロックの再構成された信号を取得し得る。
図3は、画像ブロックの分割および画像ブロックと動きベクトルとの間の関係を示す。瞬間tにおける画像A(t)は、異なるサイズを有し互いに重複しない画像ブロックに分割される。各画像ブロックの中の矢印は、エンコーダ側によって決定される動きベクトルを概略的に表し、長さおよび方向は、それぞれ、現在の画像ブロックの移動強度および移動方向を表す。各画像ブロックの動きベクトルは、画像ブロックの中のすべてのサンプリングポイントに適用される。詳細には、各画像ブロックの予測信号は、動きベクトルによって表されるロケーションオフセットに基づいて、画像ブロックの中のすべてのサンプリングポイントに対する指定された参照画像から取得される。
ブロック構造に基づく動き補償予測は、ソフトウェアおよびハードウェアで実装にフレンドリであり、小さい複雑度しか有さず、コンピューティングリソースが限定されるときに比較的良好な圧縮効率をもたらすことができる。しかしながら、いくつかの弱点もある。たとえば、その方法では、画像ブロックの中のすべてのピクセルの動きを示すために1つの動きベクトルが使用される。すべてのピクセルが、たとえば、並進移動において、同じ移動方向および同じサイズを有するとき、その方法は、すべてのピクセルの動きを正確に示すために使用され得る。画像ブロックの中のピクセルが、たとえば、変倍および回転などの移動において、異なる移動方向またはサイズを有するとき、その方法は、すべてのピクセルの動きを正確に示すためには使用され得ない。したがって、正確な予測信号が取得され得ず、圧縮性能が劣化する。
既存の動き補償予測技術の弱点を克服するために、線形に変化する動きベクトルフィールドに基づく動き補償予測技術が提案される。動きベクトルフィールドは、画像ブロックの動きベクトルフィールドである。画像ブロックは、あるシナリオでは、より小さい副次単位に分割される。副次単位はピクセルと同じくらい小さくてよいし、元のブロックと同じくらい大きくてもよい。各副次単位は動きベクトルを有する。画像ブロックの中のすべての副次単位の動きベクトルは、画像ブロックの動きベクトルフィールドを形成する。画像ブロックの動きベクトルフィールドは、線形または非線形に変化し得る。画像ブロックの動きベクトルフィールドが線形に変化することは、画像ブロックの中の隣接する副次単位の動きベクトルが均等に変化することを意味する。画像ブロックの中の隣接する単位の動きベクトルが不均等に変化する場合、画像ブロックの動きベクトルフィールドは非線形に変化する。本明細書は、線形に変動する動きベクトルフィールドに基づく動き補償予測技術に主に焦点を当てる。Na Zhang、Xiaopeng Fan、Debin Zhao、およびWen Gaoによって提案されたMotion Vector Derivation of Deformable Block(Image Processing (ICIP), the 2012 19th IEEE International Conference on, pp.1549-1552, September 30, 2012 to October 3, 2012)という名称を有する文書では、画像ブロックの中の4つの頂点が制御点として使用され、画像ブロックの中の各4×4単位の動きベクトルを取得するために、4つの制御点の動きベクトルに双線形補間方法が実行されることが提案されている。画像ブロックの中の4つの頂点の動きベクトルが、周囲の画像ブロックの動きベクトルに基づいて取得され、すべての4×4単位の動きベクトルが、画像ブロックの動きベクトルフィールドを形成する。次いで、画像ブロックの動き補償予測信号が、動きベクトルフィールドに基づいて参照画像から取得される。動きベクトルフィールドに基づく動き補償予測技術では、独立した動きベクトルを有する単位のサイズが縮小し、回転および変倍などの非並進移動がより正確に示され得、より正確な動き補償予測信号が取得され得る。上記の動きベクトルフィールドは、制御点の動きベクトルに双線形補間を実行することによって取得され、動きベクトルフィールドは双線形モデルを満たす。双線形補間は数学的補間方法である。図4を参照しながら、特定の補間方法が次のように説明される。
P=(x,y)における関数fの値が計算される必要があること、ならびに4つの点Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)、およびQ22=(x2,y2)における関数fの値がすでに知られていることを想定する。最初に、xの方向において線形補間が実行されて、
を取得する。
次いで、yの方向において線形補間が実行されて、
を取得する。
点Pにおける値は、式(1)から取得された結果を式(2)に代入することによって取得され得る。画像ブロックの中のすべての点の動きベクトルは、補間方法を使用することによって、制御点の動きベクトルに基づいて取得され得る。
この方法では、制御点の動きベクトルは周囲の画像ブロックの動きベクトルに基づいて選択され、選択される動きベクトルは不正確である場合がある。制御点の動きベクトルが動き推定および動き探索を通じて取得される場合、制御点の動きベクトルはビットストリームの中に書き込まれる必要がある。この場合、画像ブロックの動きベクトルフィールドを示すために、より効率的な方法が必要とされ、たとえば、アフィン変換モデルが使用される。したがって、アフィン変換に基づく動き補償予測技術が提案される。
アフィン変換は、2つの空間の間のマッピング関係を表し、通常のアフィン変換は、回転、変倍、および並進を含む。画像ブロックの、アフィン変換モデルを使用することによって取得される動きベクトルフィールドは、線形に変化し、動きベクトルフィールドはアフィン変換を満たす。通常の6パラメータアフィン変換モデルは、上記の3つの動きを表してよい。詳細には、式(3)に示すように、(x,y)は現在の画像の中のアフィン画像ブロックのピクセルPの座標であり、(x',y')は参照画像の中にありピクセルPに整合するピクセルP'の座標であり、a、b、c、d、e、fはアフィン変換パラメータである。アフィン変換パラメータが知られている場合、参照画像の中でのピクセルP=(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
アフィンパラメータは、通常、画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算される。動きベクトルは式(4)によって表現されてよい。
式(3)が式(4)に代入されて、
を取得する。
アフィン変換パラメータの特定の値は、知られている動きベクトルの複数のグループ、たとえば、知られている動きベクトルの3つのグループを式(5)に代入することによって取得され得る。したがって、画像ブロックの中のすべての点の動きベクトルは、式(3)および式(4)を使用することによって計算され得る。実際には、概して、画像ブロックの中の隅角点(制御点)の動きベクトルが動き推定を通じて最初に取得され、次いで、隅角点の動きベクトルに基づいてアフィン変換パラメータが計算され、画像ブロックの中のすべてのピクセルの動きベクトルが計算される。隅角点の動きベクトルが図5aおよび図5bに示される。図5aは画像ブロックXを示す。画像ブロックの幅はwであり、高さはhである。左上隅角点の座標は(0,0)であり、動きベクトルは、
である。右上隅角点の座標は(w,0)であり、動きベクトルは、
である。左下隅角点の座標は(0,h)であり、動きベクトルは、
である。以下の6パラメータアフィン変換モデルは、3つの動きベクトル
を、別々に式5に代入することによって取得され得る。
画像ブロックの中の3つの頂点の動きベクトルは異なる場合がある。図5bに示すように、参照画像の中の画像ブロックのマッピング関係が破線によって示される。画像ブロックの中のすべての点の動きベクトルが計算された後、画像ブロックの中のすべての点の動き補償予測信号が動き補償予測を通じて取得される。
上記の内容では、一例として6パラメータアフィン変換モデルが使用される。しかしながら、アフィン変換モデルは6パラメータモデルに限定されず、式(7)および式(8)に示す4パラメータアフィン変換モデル、式(9)に示す2パラメータ変倍モデルなどであってよい。動き補償予測のために画像ブロックに対して4パラメータアフィン変換モデルが選択される場合、アフィンモデルは4つの未知パラメータを有し、モデルのパラメータは動きベクトルの2つのグループを使用することによって取得され得る。動きベクトルの2つのグループは、画像ブロックの中の2つの隅角点の動きベクトルであってよく、または画像ブロックの中の2つの点の動きベクトルであってもよい。
式(3)が式(7)に代入されて、
を取得する。
左上隅角点の座標は(0,0)であり、動きベクトルは、
である。右上隅角点の座標は(w,0)であり、動きベクトルは、
である。両方の隅角点の座標および動きベクトルが式(10)に代入され、左上隅角点および右上隅角点がそれに対して制御点として使用される動きモデル式
が取得され得る。
左上隅角点の座標は(0,0)であり、動きベクトルは、
である。左下隅角点の座標は(0,h)であり、動きベクトルは、
である。両方の隅角点の座標および動きベクトルが式(10)に代入され、左上隅角点および左下隅角点がそれに対して制御点として使用される動きモデル式
が取得され得る。
最新のビデオコーディング規格HEVCと比較して、回転および変倍移動を含むビデオフレーム/画像シーケンスに対して、線形に変化する動きベクトルフィールドに基づく動き補償予測技術は、符号化性能を著しく改善することができる。線形に変化する上記の動きベクトルフィールドは、アフィン変換モデルを使用することによって生成される動きベクトルフィールド、および双線形モデルを使用することによって生成される動きベクトルフィールドを含む。アフィン変換に基づく動き補償予測技術は、一例として使用される。画像ブロックのアフィン変換パラメータが取得された後、画像ブロックの中の各点の動きベクトルが計算される必要があり、動き補償予測が各点の動きベクトルに基づいて実行されて、各点の動き補償予測信号を取得する。画像ブロックの中のすべてのピクセルの動きベクトルが異なる場合があるので、異なる演算が動きベクトルに基づいてピクセル上で実行される必要がある。ピクセルベース動き補償予測は複雑度が大きい。符号化/復号複雑度を低減するために、関連技術では、画像ブロックは画像サブブロックにさらに分割されるように試みられ、各画像サブブロックの動きベクトルが計算され、次いで、各画像サブブロックの動き補償予測信号が取得される。
しかしながら、関連技術では、画像サブブロックのサイズは固定されている。サイズが過剰に小さい画像サブブロックは比較的大きい符号化/復号複雑度につながり、サイズが過剰に大きい画像サブブロックは符号化/復号性能を劣化させる。したがって、そのような効率的な符号化方法の適用は、実際には大幅に限定される。
本発明は、ビデオ画像復号方法、ビデオ画像符号化方法、復号装置、符号化装置、復号デバイス、および符号化デバイスを提供する。符号化/復号複雑度を低減し符号化/復号性能を改善するために、全体の画像ブロックが処理のための同じサイズを有する複数の画像サブブロックに分割されるように、適切なサイズを有する画像サブブロックが選択されてよい。
第1の態様によれば、アフィン画像ブロックの動きベクトル差分を決定することと、アフィン画像ブロックの動きベクトル精度を決定することと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することとを含む、ビデオ画像復号方法が提供される。
本発明の第1の態様において提供されるビデオ画像復号方法では、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像ブロックのサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、デコーダ側における複雑度を大幅に低減すること、および復号効率を改善することができる。
本発明の第1の態様に基づくと、アフィン動き補償画像サブブロックのサイズを決定および調整するプロセスは、詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分/第2の成分に対する動きベクトル精度の比率に基づいて第1の水平/垂直距離を比例的に調整すること、および水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整することであってよい。この特定の実装形態では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、アフィン動き補償画像サブブロックのサイズがアフィン画像ブロックの動きベクトル精度に整合することができるように、動きベクトル精度と動きベクトル差分の第1の成分/第2の成分との間の比率関係に基づいて、制御点の間の第1の水平/垂直距離を調整することによって取得される。このことは、復号品質を保証し復号複雑度を低減する。
本発明の第1の態様に基づくと、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整することは、詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させること、および、次いで、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで上記の解決策を循環的に実行することであってよい。単位長さは、通常は1単位ピクセルである。詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。加えて、上記の調整は、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを固定のステップサイズだけ調整する、すなわち増大/減少させることであってよく、ステップサイズは、調整値、すなわち、各サイクルの中で水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位である。ステップサイズは任意の値であってよく、通常は上記の1単位ピクセルであり、または2.5単位ピクセルなどの別の値であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平/垂直方向におけるアフィン動き補償画像サブブロックの初期長さ(すなわち、調整されていない長さ)の偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。この実装形態では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる値に急速に接近できることが保証され得、複雑度がさらに低減される。
効率を改善し動作時間を短縮するために、本発明の第1の態様において提供される復号方法では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。水平/垂直方向におけるアフィン動き補償画像サブブロックの長さと、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる隣接する2つの値との間の差分が等しい場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。
水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平/垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平/垂直方向におけるアフィン画像ブロックの可能な最大長さである。水平/垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平/垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平/垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平/垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、システム複雑度が低減され計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、本発明の第1の態様において提供される復号方法では、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが次の2つの条件を満たすかどうかが決定される必要がある。
(1)水平/垂直方向におけるアフィン画像ブロックの長さが、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ
(2)水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平/垂直方向におけるアフィン画像ブロックの長さは、水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよく、あるいはSは2nに等しく、ここで、nは0または正の整数である。Sの値はアフィン画像ブロックのサイズ以下とすべきであることに留意されたい。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるか、またはアフィン画像ブロックのサイズが2N×2Nであり、すなわち、正方形の形状をなすとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。
本発明の第1の態様において提供される復号方法では、アフィン動き補償画像サブブロックのサイズが無効である、すなわち、許容される最小サイズよりも小さいがアフィン画像ブロックのサイズよりも大きい事例を回避するために、水平/垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式で決定される長さに対して、振幅限定動作が選択および実行されてよい。詳細には、比較方式が使用されて水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが下限Tm/Tnから上限W/Hまでの範囲内に入ることを可能にする。Tm/Tnは事前設定された値であり通常は4であり、W/Hは水平/垂直方向におけるアフィン画像ブロックの長さである。
さらに、本発明の第1の態様において提供される復号方法は、3つの制御点に基づくアフィン変換モデルおよび2つの制御点に基づくアフィン変換モデルに適用可能である。3つの制御点に基づくアフィン変換モデルでは、垂直方向および水平方向におけるアフィン動き補償画像サブブロックの長さは、独立して取得かつ独立して調整される必要がある。それに対応して、2つの制御点に基づくアフィン変換モデルでは、水平方向および垂直方向のうちの一方におけるアフィン動き補償画像サブブロックの、独立して取得される必要がある長さだけが取得され、他方の方向における長さはさらに推測され、両方の方向における長さは独立して調整される必要がある。アフィン画像ブロックのサイズが2N×2Nの通常の正方形であるとき、水平方向および垂直方向におけるアフィン画像ブロックの長さが同じであるので、水平方向および垂直方向におけるアフィン画像ブロックの長さのうちの一方しか決定および調整される必要がない。
第2の態様によれば、アフィン画像ブロックの動きベクトル差分を決定することと、アフィン画像ブロックの動きベクトル精度を決定することと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルであることと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行する、決定することとを主に含む、ビデオ画像符号化方法が提供される。
本発明の第2の態様において提供されるビデオ画像符号化方法では、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、エンコーダ側における複雑度を大幅に低減すること、および符号化効率を改善することができる。本発明の第2の態様におけるビデオ画像符号化方法は、本発明の第1の態様におけるビデオ画像復号方法と同じコアステップ、すなわち、アフィン動き補償画像サブブロックのサイズを決定することと、アフィン動き補償画像サブブロックのサイズを調整することとを含むが、異なる最後のステップを含む。したがって、本発明の第1の態様におけるビデオ画像復号方法での解決策も、本発明の第2の態様におけるビデオ画像符号化方法に適用可能である。詳細については、第1の態様におけるビデオ画像復号方法の上記の説明を参照されたい。
第3の態様によれば、アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行するように構成された、復号モジュールとを主に含む、ビデオ画像復号装置が提供される。
本発明の第3の態様において提供されるビデオ画像復号装置は、本発明の第1の態様において提供されるビデオ画像復号方法に対応し、本発明の第1の態様において提供されるビデオ画像復号方法におけるすべてのステップを実施する機能を有し、同じ技術的効果を達成することができ、すなわち、デコーダ側における複雑度を大幅に低減すること、および復号効率を改善することができる。
第4の態様によれば、アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュールとを主に含む、ビデオ画像符号化装置が提供される。
本発明の第4の態様において提供されるビデオ画像符号化装置は、本発明の第2の態様において提供されるビデオ画像符号化方法に対応し、本発明の第2の態様において提供されるビデオ画像符号化方法におけるすべてのステップを実施する機能を有し、同じ技術的効果を達成することができ、すなわち、エンコーダ側における複雑度を大幅に低減すること、および符号化効率を改善することができる。
第5の態様によれば、プロセッサおよび不揮発性メモリを含む、ビデオ画像復号デバイスが提供され、ここで、プロセッサは、本発明の第1の態様において提供される復号方法を実施するために、メモリの中に記憶されたプログラムコードを呼び出す。
第6の態様によれば、プロセッサおよび不揮発性メモリを含む、ビデオ画像符号化デバイスが提供され、ここで、プロセッサは、第2の態様において提供される符号化方法を実施するために、メモリの中に記憶されたプログラムコードを呼び出す。
上記の技術的解決策に基づくと、本発明の実施形態におけるビデオ画像符号化方法、ビデオ画像復号方法、符号化装置、復号装置、符号化デバイス、および復号デバイスによれば、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、符号化/復号複雑度を低減し符号化/復号効率を改善する。
本発明の実施形態における技術的解決策をより明瞭に説明するために、以下のことは、本実施形態を説明するために必要とされる添付図面を手短に説明する。明らかに、以下の説明における添付図面は本発明のいくつかの実施形態を示すにすぎず、当業者はやはり創造的な取り組みを伴わずにこれらの添付図面から他の図面を導出し得る。
ビデオ画像符号化プロセスにおける画像ブロックの概略図である。 基本的なビデオ画像符号化手順の概略図である。 ビデオ画像符号化プロセスにおける、画像ブロックの分割および画像ブロックと動きベクトルとの間の関係の概略図である。 双線形補間を通じて画像ブロックの動きベクトルフィールドを取得することの概略図である。 アフィン変換モデルを使用することによって画像ブロックの動きベクトルフィールドを取得することの概略図である。 アフィン変換モデルを使用することによって画像ブロックの動きベクトルフィールドを取得することの概略図である。 本発明の一実施形態による復号方法のために使用されるビデオデコーダの概略フレームワーク図である。 本発明の一実施形態によるビデオ画像復号方法の概略フローチャートである。 本発明の一実施形態によるアフィン画像ブロックおよび制御点の概略図である。 本発明の一実施形態によるアフィン画像ブロックおよび制御点の別の概略図である。 本発明の一実施形態による、アフィン画像ブロックの中の重複しない3つのピクセルの概略図である。 本発明の一実施形態によるアフィン画像ブロックのさらに別の概略図である。 本発明の一実施形態によるビデオ画像復号方法の別の概略フローチャートである。 本発明の一実施形態によるビデオ画像復号方法のさらに別の概略フローチャートである。 本発明の一実施形態によるビデオ画像符号化方法の概略フローチャートである。 本発明の一実施形態によるビデオ画像符号化方法の別の概略フローチャートである。 本発明の一実施形態によるビデオ画像符号化方法のさらに別の概略フローチャートである。 本発明の一実施形態による復号装置の概略ブロック図である。 本発明の一実施形態による符号化装置の概略ブロック図である。 本発明の一実施形態による復号デバイスの概略ブロック図である。 本発明の一実施形態による符号化デバイスの概略ブロック図である。
本発明の目的は、方法が効果的に実行可能であり得るように、アフィン変換に基づく動き補償予測性能を維持しながら符号化/復号複雑度を低減することである。本明細書では、アフィン変換パラメータを独立して有する画像ブロックは、アフィン画像ブロック、すなわち、Affineブロックと呼ばれる。アフィン画像ブロックからの分割を通じて取得され動き補償予測のために使用される画像サブブロックは、アフィン動き補償(Affine Motion Compensation、略してAffine-MC)副画像と呼ばれ、Affine-MCブロックとして示される。本発明で提供される技術的解決策は、符号化/復号要件に従って、同じサイズを有する複数のAffine-MCブロックにAffineブロックを適応的に分割することになる。特定の方法は、Affineブロックの動きベクトル精度、Affineブロックの動きベクトル、およびAffineブロックの中の制御点の間の距離に基づいて、要件を満たすAffine-MCブロックにAffineブロックを適応的に分割することになる。
特定の実施形態を使用することによって本発明の解決策を説明するために、以下では一例としてデコーダ側が使用される。
デコーダ側において、デコーダは、通常、復号方法を実施するために使用され、符号化ビデオビットストリームを復号および再構成する。デコーダの基本論理構造が図6に示される。ビデオデコーダ60は、エントロピー復号ユニット650、予測処理ユニット652、逆量子化ユニット654、逆変換処理ユニット656、再構成ユニット658、フィルタユニット659、および復号画像バッファ660を含む。予測処理ユニット652は、動き補償ユニット662およびフレーム内予測処理ユニット664を含む。エントロピー復号ユニット650は、標準CABAC符号化/復号エンジン666およびバイパス符号化/復号エンジン668を含む。別の実施形態では、ビデオデコーダ60は、より多数もしくはより少数の、または異なる機能構成要素を含んでよい。
ビデオデコーダ60の基本作業プロセスは次の通りである。符号化ビデオビットストリーム(以下では略してビットストリームと呼ばれる)を受信した後、エントロピー復号ユニット650が、ビットストリームから構文要素を抽出するためにビットストリームをパース(parse)する。ビットストリームパーシングの一部として、エントロピー復号ユニット650は、ビットストリームの中にありエントロピー符号化がそこで実行されている構文要素をパースアウト(parse out)し得る。予測処理ユニット652、逆量子化ユニット654、逆変換処理ユニット656、再構成ユニット658、およびフィルタユニット659は、ビットストリームから抽出された構文要素に基づいてビデオデータを復号し得、すなわち、復号ビデオデータを生成し得る。構文要素は、標準CABAC符号化/復号バイナリコードワードおよびバイパス符号化/復号バイナリコードワードを含んでよい。エントロピー復号ユニット650は、標準CABAC符号化/復号バイナリコードワードを復号するために標準CABAC符号化/復号エンジン666を使用してよく、バイパス符号化/復号バイナリコードワードを復号するためにバイパス符号化/復号エンジン668を使用してよい。
予測処理ユニット652は、動き補償ユニット662およびフレーム内予測処理ユニット664を含む。復号されるべき画像ブロックに対してフレーム間予測符号化が使用されるとき、動き補償ユニット662は、復号されるべき画像ブロックの動き情報に基づいて1つまたは複数の参照ブロックを決定してよく、復号されるべき画像ブロックの予測ピクセルブロックを、参照ブロックに基づいて生成してよい。復号されるべき画像ブロックに対してフレーム内予測符号化が使用されるとき、フレーム内予測処理ユニット664は、画像ブロックの予測ピクセルブロックを生成するためにフレーム内予測を実行する。フレーム内予測処理ユニット664は、フレーム内予測モードを使用することによって、復号されるべき画像ブロックの予測ピクセルブロックを、空間的に隣接する画像ブロックのピクセルに基づいて生成してよい。
再構成ユニット658は、予測処理ユニット652によって取得された予測ピクセルブロック、ならびに逆量子化ユニット654および逆変換処理ユニット656によって処理された復号されるべき画像ブロックの残差データを再構成して、復号されるべき画像ブロックの再構成された画像ブロックを取得する。複数の画像ブロックを含む画像のフレームは、フィルタユニット659によってフィルタ処理され、次いで、復号画像バッファ660の中に記憶される。このようにして、符号化ビデオビットストリームの復号が完了する。復号画像バッファ660の中に記憶された復号画像は、表示のために表示デバイスに直接出力されてよく、または後続のビットストリーム復号プロセスにおける参照画像として使用されてもよい。
本発明の技術的解決策は、動き補償ユニット662が動き補償予測復号を実行するプロセスに適用される。例示的な復号プロセスが図7に示される。本発明における復号方法および符号化方法が本質的に同じであり、復号方法が符号化方法の逆のプロセスであることに留意されたい。以下では一例として復号方法が使用されるが、明瞭に述べられていない限り、方法は基本的に符号化方法と同じである。したがって、以下で説明する復号プロセスでは、符号化に関係する説明および記述は、本解決策とのいかなる競合または矛盾も与えない。
図7は、本発明の一実施形態によるビデオ画像復号方法の概略フローチャートである。詳細には、図7に示すように、方法700は以下のステップを含む。
S710。アフィン画像ブロックの動きベクトル差分を決定する。
S720。アフィン画像ブロックの動きベクトル精度を決定する。
S730。動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズは水平方向における長さおよび垂直方向における長さを含み、制御点は動きベクトル差分を決定するために使用されるピクセルである。
S740。アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行する。
詳細には、復号/符号化デバイスは、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、復号/符号化デバイスは、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを復号する。アフィン画像ブロックが、通常、通常の長方形または正方形の形状をなすことに留意されたい。それに対応して、アフィン動き補償画像サブブロックも、通常の長方形または正方形の形状をなす。したがって、水平方向および垂直方向におけるアフィン動き補償副画像の長さが決定された後、アフィン動き補償副画像の全体的なサイズが決定され得る。水平方向および垂直方向は、当技術分野において通常使用されるとともに、ビデオ画像の中での画像ブロック/アフィン画像ブロックの位置を特定するために使用される、基準座標系である。水平方向は、概して、通常の長方形ビデオ画像の長辺の方向を表し、垂直方向は、概して、通常の長方形ビデオ画像の短辺の方向を表し、水平方向および垂直方向は互いに直交している。一般性を失わずに、水平方向は第1の方向と置き換えられてよく、垂直方向は、第1の方向に直交する第2の方向と置き換えられてよい。しかしながら、説明しやすいように、本明細書における説明のために水平方向および垂直方向が使用される。加えて、本明細書における復号方法で説明するアフィン画像ブロックを復号することとは、ビットストリームから符号化データをパースアウトし、基本単位としてアフィン画像ブロックを使用することによって符号化画像を再構成および復元するプロセスである。アフィン画像ブロックを復号することが使用されるとはいえ、アフィン画像ブロックが再構成されていると見なすことはできない。
本発明のこの実施形態におけるビデオ画像復号方法を実行することによって、動き補償ユニット662は、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン動き補償画像サブブロックのサイズに基づいて、同じサイズを有する複数のアフィン動き補償副画像にアフィン画像ブロックを分割し、次いで、復号処理を実行する。したがって、復号プロセスの中で、適切なサイズを有するアフィン動き補償画像サブブロックが、上記のパラメータの変化に基づいて適応的に選択され得、復号複雑度が低減され、性能が改善される。
本発明のこの実施形態では、アフィン画像(Affine)ブロックとは、すべての単位のその動きベクトルが同じアフィンモデル、たとえば、1つの同じアフィンモデルを満たし、かつ同じパラメータまたはパラメータの同じグループを使用することによって表され得る、画像ブロックであることを理解されたい。単位はピクセルのグループであり、たとえば、ピクセルであってよく、または1×3もしくは2×4ブロック構造などであってもよい。このことは本発明において限定されない。加えて、本発明のこの実施形態では、重複しない任意のピクセルが、Affineブロックの動きベクトル差分を決定するための制御点として選択されてよい。このことは本発明において限定されない。
好ましくは、S710は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに/または
同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することを含む。
第1の制御点と第2の制御点との間に第1の水平距離があり、第3の制御点と第4の制御点との間に第1の垂直距離がある。ステップS710の中に含まれる解決策におけるおよび/またはが、詳細には、以下の3つの異なる技術的解決策を示すことに留意されたい。
解決策1:3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することと、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することとを含む。
解決策2:水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することを含む。
解決策3:垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することを含む。
本発明のこの実施形態では、動きベクトル差分の第1の成分が動きベクトル差分の水平成分であり、動きベクトル差分の第2の成分が動きベクトル差分の垂直成分であることを理解されたい。解決策1では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を共同で反映する。しかしながら、解決策2および解決策3では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を独立して反映する。言い換えれば、解決策1では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分を含み、解決策2では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分を含み、解決策3では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第2の成分を含む。本発明のこの実施形態では、第1、第2、第3、および第4が、ピクセルの間を区別するために使用されるにすぎず、本発明の保護範囲にいかなる限定も与えるべきでないことも理解されたい。たとえば、第1の制御点が第2の制御点と呼ばれることもあり、第2の制御点が第1の制御点と呼ばれることがある。
随意に、本発明のこの実施形態では、第1の制御点および第3の制御点は同じピクセルである。詳細には、3つの制御点が選択され、3つの制御点のうちの1つは、他の2つの制御点のうちの1つと同じ水平線上に位置し、最後の制御点と同じ垂直線上に位置する。
随意に、本発明のこの実施形態では、第1の制御点、第2の制御点、第3の制御点、および第4の制御点は、Affineブロックの頂点である。Affineブロックの中の4つの頂点が、それぞれ、左上頂点、左下頂点、右上頂点、および右下頂点として示されることを想定する。
解決策1では、Affineブロックの動きベクトル差分を決定するために、2つの直交方向における任意の3つの頂点が選択されてよい。たとえば、左上頂点、左下頂点、および右上頂点が選択されてよく、または左上頂点、右上頂点、および右下頂点が選択されてもよい。
解決策2では、Affineブロックの動きベクトル差分を決定するために、同じ水平線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および右上頂点が選択されてよく、または左下頂点および右下頂点が選択されてもよい。
解決策3では、Affineブロックの動きベクトル差分を決定するために、同じ垂直線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および左下頂点が選択されてよく、または右上頂点および右下頂点が選択されてもよい。このことは本発明において限定されない。
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点の動きベクトルの、2つの方向(水平方向および垂直方向、またはx方向およびy方向と呼ばれる)のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第1の成分として決定されてよく、第3の制御点および第4の制御点の動きベクトルの、2つの方向のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第2の成分として決定されてよい。動きベクトル差分を決定する方式は、解決策1、2、および3に適用可能である。代替として、符号化複雑度および符号化性能に対する実際の要件に従って、2つの方向における第1の制御点および第2の制御点の動きベクトルの成分の間の2つの差分の間の値が、第1の成分として選択および決定されてよく、2つの方向における第3の制御点および第4の制御点の動きベクトルの成分の間の2つの差分の間の値が、第2の成分として選択および決定されてよい。このことは本発明において限定されない。
第1の制御点〜第4の制御点の各々の動きベクトルは、通常、2つの成分、すなわち、水平成分および垂直成分を含む。したがって、上記のステップでは、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することは、詳細には、以下の方式、すなわち、
第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定し、第1の水平成分差分および第1の垂直成分差分のうちの大きい方を動きベクトル差分の第1の成分として決定すること、ならびに
それに対応して、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定し、第2の水平成分差分および第2の垂直成分差分のうちの大きい方を動きベクトル差分の第2の成分として決定することで、実施され得る。
詳細には、vx(x,y)およびvy(x,y)が、位置(x,y)上のピクセルの動きベクトルの水平成分および垂直成分を表すために使用される場合、アフィンブロックの動きベクトル差分は、式(13)および式(14)に従って決定され得る。
Δmvhor=max(|vx(W,y)-vx(0,y)|,|vy(W,y)-vy(0,y)|) (13)
Δmvver=max(|vx(x,H)-vx(x,0)|,|vy(x,H)-vy(x,0)|) (14)
maxは最大値を表し、ΔmvhorはAffineブロックの動きベクトル差分の水平成分を表し、ΔmvverはAffineブロックの動きベクトル差分の垂直成分を表し、Wは第1の制御点と第2の制御点との間の第1の水平距離を表し、Hは第3の制御点と第4の制御点との間の第1の垂直距離を表す。図8を参照すると、式(13)は、動きベクトル水平差分Δmvhorが、同じ水平方向における2つの制御点の動きベクトルの成分の最大デルタであること、言い換えれば、動きベクトル差分の絶対値が最大であることを表現する。たとえば、Δmvhorを計算するための制御点として頂点0および1または頂点2および3が選択されてよい。式(14)は、動きベクトル垂直差分Δmvverが、同じ垂直方向における2つの制御点の動きベクトルの成分の最大デルタであること、言い換えれば、動きベクトル差分の絶対値が最大であることを表現する。たとえば、Δmvverを計算するための制御点として頂点0および2または頂点1および3が選択されてよい。式(13)および式(14)が解決策1、2、および3のうちのいずれか1つに適用可能であることが理解され得る。詳細は次の通りである。
解決策1では、アフィン画像ブロックの動きベクトル差分は3つの制御点に基づいて決定され、動きベクトル差分は第1の成分および第2の成分を含む。したがって、解決策1では、アフィン画像ブロックの動きベクトル差分は式(13)と式(14)との組合せを使用することによって取得される。
解決策2では、アフィン画像ブロックの動きベクトル差分は水平方向における2つの制御点に基づいて決定され、動きベクトル差分は第1の成分しか含まない。したがって、解決策2では、アフィン画像ブロックの動きベクトル差分は式(13)を使用することによって取得される。図8は一例として使用される。たいていの場合、Affineブロックの中の頂点の動きベクトルが知られている。この場合、動きベクトル差分は、Affineブロックの中の頂点の動きベクトルに基づいて直接計算され得る。
図8におけるAffineブロックの中の頂点の動きベクトル
が知られている場合、
Δmvhor=max(|vx1-vx0|,|vy1-vy0|) (15)
である。
図8におけるAffineブロックの中の頂点の動きベクトル
が知られている場合、
Δmvhor=max(|vx3-vx2|,|vy3-vy2|) (16)
である。
知られている他の動きベクトルの組合せも選択されてよい。このことは本発明において限定されない。
上記の解決策において使用される制御点の動きベクトルは、アフィン変換モデルに基づいて取得され得る。たとえば、4パラメータアフィン変換モデルが使用され、かつアフィン画像ブロックの中の左上隅角上の(0,0)および右上隅角上の(W,0)が制御点として使用されるとき、モデル式は次の通りである。
(vx0,vy0)および(vx1,vy1)は、それぞれ、左上隅角および右上隅角における制御点の動きベクトルである。左下隅角および右下隅角における制御点の座標(0,h)および(w,h)が式に代入される場合、(vx2,vy2)および(vx3,vy3)が取得され得る。
解決策3では、アフィン画像ブロックの動きベクトル差分は垂直方向における2つの制御点に基づいて決定され、動きベクトル差分は第2の成分しか含まない。したがって、解決策3では、アフィン画像ブロックの動きベクトル差分は式(14)を使用することによって取得される。図8は一例として使用される。たいていの場合、Affineブロックの中の頂点の動きベクトルが知られている。この場合、動きベクトル差分は、Affineブロックの中の頂点の動きベクトルに基づいて直接計算され得る。
図8におけるAffineブロックの中の頂点の動きベクトル
が知られている場合、
Δmvver=max(|vx2-vx0|,|vy2-vy0|) (18)
である。
図8におけるAffineブロックの中の頂点の動きベクトル
が知られている場合、
Δmvver=max(|vx3-vx1|,|vy3-vy1|) (19)
である。
知られている他の動きベクトルの組合せも選択されてよい。このことは本発明において限定されない。
上記の解決策において使用される制御点の動きベクトルは、アフィン変換モデルに基づいて取得され得る。たとえば、4パラメータアフィン変換モデルが使用され、かつ左上隅角上の(0,0)および左下隅角上の(0,H)が制御点として使用されるとき、モデル式は次の通りである。
(vx0,vy0)および(vx2,vy2)は、それぞれ、左上隅角および左下隅角における制御点の動きベクトルである。右上隅角および右下隅角における制御点の座標(w,0)および(w,h)が式に代入される場合、(vx1,vy1)および(vx3,vy3)が取得され得る。
随意に、本発明のこの実施形態では、動きベクトル差分はアフィンモデルに基づいて取得され、すなわち、動きベクトル差分は、アフィン画像ブロックの中のピクセルのアフィン変換パラメータを決定することによって取得される。アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有することに留意されたい。
それに対応して、第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の水平距離に基づいて第1の水平成分差分および第1の垂直成分差分を決定することであり、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の垂直距離に基づいて第2の水平成分差分および第2の垂直成分差分を決定することである。
上記のプロセスのシーケンス番号が実行シーケンスを示さないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能および内部論理に基づいて決定されるべきであり、本発明のこの実施形態の実装プロセスにいかなる限定も与えるべきでない。
随意に、本発明のこの実施形態では、アフィン変換モデルは、従来技術の6パラメータアフィン変換モデルであってよく、または従来技術の4パラメータもしくは2パラメータアフィン変換モデルであってもよい。6パラメータアフィン変換モデルは、3つの制御点に基づく解決策1におけるシナリオに主に適用され、4パラメータアフィン変換モデルは、2つの制御点に基づく解決策2および解決策3におけるシナリオに主に適用される。以下のことは、一例として、6パラメータアフィン変換モデルおよび4パラメータアフィン変換モデルを別々に使用することによってアフィン変換パラメータに基づいて動きベクトル差分を取得するプロセスを説明する。
6パラメータアフィン変換モデルにおいて、(x,y)が現在の画像の中の現在のアフィン画像ブロックのピクセルPの座標であること、(x',y')が参照画像の中にありピクセルPに整合するピクセルP'の座標であること、およびa、b、c、d、e、fがアフィン変換パラメータであることを想定する。アフィン変換パラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
x'=ax+by+e (21)
y'=cx+dy+f (22)
アフィン変換パラメータは、通常、アフィン画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算されてよく、動きベクトルの水平成分および垂直成分は、それぞれ、式(23)および式(24)によって表現されてよい。
vx=x-x' (23)
vy=y-y' (24)
式(21)が式(23)に代入されるとともに式(22)が式(24)に代入されて、その座標が(x,y)であるピクセルの動きベクトルの水平成分および垂直成分を取得し、ここで、水平成分および垂直成分は、それぞれ、式(25)および式(26)によって表現される。
vx=(1-a)x-by-e (25)
vy=(1-d)y-cx-f (26)
式(25)が式(13)に代入され、式(26)が式(14)に代入される。このようにして、式(13)および式(14)は、それぞれ、式(27)および式(28)に変換される。
Δmvhor=max(|(1-a)W|,|-cW|) (27)
Δmvver=max(|-bH|,|(1-d)H|) (28)
Affineブロックの動きベクトル差分の第1の成分および第2の成分は、制御点の間の距離に基づいて、かつアフィン変換パラメータa、b、c、およびdを決定することによって、決定され得る。
4パラメータアフィン変換モデルにおいて、(x,y)が現在の画像の中のアフィン画像ブロックのピクセルPの座標であること、(x',y')が参照画像の中にありピクセルPに整合するピクセルP'の座標であること、およびa、b、e、fがアフィン変換パラメータであることを想定する。アフィン変換パラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
式(29)は、アフィン画像ブロックの動きベクトル差分が水平方向における2つの制御点に基づいて決定される、解決策2におけるシナリオに対応する。式(30)は、アフィン画像ブロックの動きベクトル差分が垂直方向における2つの制御点に基づいて決定される、解決策3におけるシナリオに対応する。
アフィン変換パラメータは、通常、画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算され得る。動きベクトルの水平成分および垂直成分については、式(23)および式(24)を参照されたい。式(29)および式(30)が、それぞれ、式(23)および式(24)に代入されて、その座標が(x,y)であるピクセルの動きベクトルの水平成分および垂直成分を取得し、ここで、水平成分および垂直成分は、それぞれ、式(31)および式(32)によって表現される。
式(31)および式(32)が、式(13)および式(14)に代入される。このようにして、式(13)および式(14)は、それぞれ、式(33)および式(34)に変換される。
Δmvhor=max(|(1-a)W|,|bW|) (33)
Δmvver=max(|bH|,|(1-a)H|) (34)
解決策2または解決策3におけるシナリオでのAffineブロックの動きベクトル差分の第1の成分または第2の成分は、制御点の間の距離に基づいて、かつアフィン変換パラメータaおよびbを決定することによって、決定され得る。
2パラメータアフィン変換モデルが使用されるときに動きベクトル差分を決定するための方法が、6パラメータアフィン変換モデルまたは4パラメータアフィン変換モデルが使用されるときに動きベクトル差分を決定するための方法と本質的に同じであることを理解されたい。簡潔のために、詳細は本明細書で再び説明しない。
随意に、本発明のこの実施形態では、復号プロセスの中で、アフィン変換パラメータは、パラメータにおける反復的な計算を実行することによって取得され得る。たとえば、モデルに基づく動き補償予測信号が最適であるかどうかを決定するために、パラメータaは1だけ増大される。代替として、アフィン変換パラメータは、隣接するAffineブロックのアフィン変換パラメータに基づく推測を通じて取得されてよい。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、アフィン画像ブロックの動きベクトル差分を決定するために、第1の制御点の動きベクトル、第2の制御点の動きベクトル、第3の制御点の動きベクトル、および第4の制御点の動きベクトルが決定され得る。
それに対応して、解決策1におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定され、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
解決策2におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定される。
解決策3におけるシナリオでは、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
詳細には、制御点の動きベクトルは直接決定されてよく、Affineブロックの動きベクトル差分の第1の成分および第2の成分は、動きベクトルの成分の間の差分を計算することによって直接取得され得る。
たとえば、図9は、本発明の一実施形態によるアフィン画像ブロックおよび制御点の概略図である。距離wを有する2つの制御点AおよびBは同じ水平線上に位置し、距離hを有する2つの制御点CおよびDは同じ垂直線上に位置する。制御点A、B、C、およびDの動きベクトルが知られている場合、Affineブロックの動きベクトル差分の第1の成分および第2の成分は式(35)および式(36)に従って決定され得る。
Δmvhor=max(vxB-vxA,vyB-vyA) (35)
Δmvver=max(vxC-vxD,vyC-vyD) (36)
随意に、本発明のこの実施形態では、制御点AおよびCは同じピクセルであってよい。
随意に、本発明のこの実施形態では、制御点A、B、C、およびDは、Affineブロックの頂点であってよい。この場合、制御点AとBとの間の距離はAffineブロックの幅Wであり、制御点CとDとの間の距離はAffineブロックの高さHである。
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点は、隣接する2つのピクセルであり、第3の制御点および第4の制御点は、隣接する2つのピクセルである。言い換えれば、制御点は、必ずしもアフィン画像ブロックの中の、頂点とも呼ばれる4つの隅角点から選択されるとは限らないが、シグナリングを使用することによってビットストリームの中で明示的に示されるか、または周囲のアフィン画像ブロックの中の制御点に基づく推定もしくは複製を通じて取得される、アフィン画像ブロックの中の任意の位置上にありエンコーダ側およびデコーダ側によって共同で設定される点であってよい。この場合、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分を決定することは、詳細には次の通りである。
第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、および第3のピクセルの動きベクトルが決定され、ここで、第1のピクセル、第2のピクセル、および第3のピクセルは、互いに重複しないピクセルであり、第1のピクセルと第2のピクセルとの間の第2の水平距離および第2の垂直距離が決定され、第1のピクセルと第3のピクセルとの間の第3の水平距離および第3の垂直距離が決定され、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分が、第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、第3のピクセルの動きベクトル、第2の水平距離、第2の垂直距離、第3の水平距離、および第3の垂直距離に基づいて決定される。上記のことは、一例として3つの制御点に基づく解決策1を使用することによって説明されている。2つの制御点に基づく解決策2または解決策3と3つの制御点に基づく解決策1との間の差異があり、すなわち、解決策1における第1の成分差分または第2の成分差分のみが、2つの制御点に基づくアフィン画像ブロックの動きベクトル差分として使用される。
詳細には、A、B、およびCが、互いに重複しない、画像ブロックの中の任意の3つのピクセルであることを想定し、3つのピクセルの位置が図10に示され、3つのピクセルの動きベクトルは、それぞれ、(vxA,vyA)、(vxB,vyB)、および(vxC,vyC)である。水平方向におけるピクセルAとピクセルBとの間の距離はw1であり、垂直方向におけるピクセルAとピクセルBとの間の距離はh1である。水平方向におけるピクセルAとピクセルCとの間の距離はw2であり、垂直方向におけるピクセルAとピクセルCとの間の距離はh2である。水平方向におけるピクセルBとピクセルCとの間の距離はw2-w1であり、垂直方向におけるピクセルBとピクセルCとの間の距離はh1+h2である。水平方向において隣接している2つのピクセルの動きベクトルの水平成分の間の差分が、それぞれ、ΔmvxhorおよびΔmvyhorであること、ならびに垂直方向において隣接している2つのピクセルの動きベクトルの垂直成分の間の差分が、それぞれ、ΔmvxverおよびΔmvyverであることを想定する。画像ブロックの中の動きベクトルが線形に変化するので、Δmvxhor、Δmvyhor、Δmvxver、およびΔmvyverは、ピクセルA、B、およびCの動きベクトルを決定することによって決定されてよく、画像ブロックの中の隣接するピクセルの間の動きベクトル差分が決定され得る。詳細には、動きベクトル差分は式(37)〜式(40)に従って決定されてよい。
vxB=vxA+w1・Δmvxhor+h1・Δmvxver (37)
vyB=vyA+w1・Δmvyhor+h1・Δmvyver (38)
vxC=vxA+w2・Δmvxhor+h2・Δmvxver (39)
vyC=vyA+w2・Δmvyhor+h2・Δmvyver (40)
代替として、動きベクトル差分は、式(37)および式(38)ならびに式(41)および式(42)に従って決定されてよい。
vxC=vxB+(w2-w1)・Δmvxhor+(h2+h1)・Δmvxver (41)
vyC=vyB+(w2-w1)・Δmvyhor+(h2+h1)・Δmvyver (42)
随意に、本発明のこの実施形態では、復号デバイスは、動き推定および動き探索を通じてすべての制御点の動きベクトルを取得してよく、周囲の画像ブロックに基づいてすべての制御点の動きベクトルを取得してよく、またはアフィン変換モデルに基づいてすべての制御点の動きベクトルを計算してもよい。代替として、復号デバイスは、動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、隣接する画像ブロックに基づいて他の制御点の動きベクトルを取得してよい。代替として、復号デバイスは、アフィン動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。代替として、復号デバイスは、隣接する画像ブロックに基づいていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。ただし、このことは本発明において限定されない。
随意に、S720において、事前設定される最初の値が、アフィン画像ブロックの動きベクトル精度として決定されてよく、またはアフィン画像ブロックの動きベクトル精度は、アフィン画像ブロックの隣接する画像ブロックの特徴に基づいて決定されてもよい。隣接する画像ブロックとは、空間においてかつ/または時間においてアフィン画像ブロックに隣接する画像ブロックである。
詳細には、Affineブロックの動きベクトルの値は整数であってよい。この場合、動きベクトル精度は整数ピクセル精度として取られ、すなわち、ピクセル精度が1である。代替として、動きベクトルの値は整数でなくてもよい。この場合、動きベクトル精度は、1/2、1/4、または1/8などの精度を含むサブピクセル精度として取られる。図11は、4×4画像ブロックを示し、ここで、xは整数ピクセル位置上のピクセルを表し、収集された画像は、整数ピクセル位置上のピクセルのみを有し、Oは1/2精度位置上のピクセルを表し、1/2精度位置上のピクセルは、整数ピクセル位置上のピクセルに補間を実行することによって取得される必要がある。別の精度位置上のピクセルの値は、整数ピクセル精度を有するピクセルまたは1/2精度を有するピクセルにさらなる補間を実行することによって、取得される必要がある。現在のピクセルの動きベクトル精度が整数である場合、現在のピクセルは参照画像の中の×の位置を指す。現在のピクセルの動きベクトル精度が1/2である場合、現在のピクセルは参照画像の中のOの位置を指す。
Affineブロックの動きベクトル精度は、Affineブロックの中のすべてのピクセルにとって最も高い動きベクトル精度である。Affineブロックの動きベクトル精度は、たとえば、整数ピクセル精度、または1/2、1/4、1/8、もしくは1/16などの精度に、事前設定されてよい。代替として、Affineブロックの動きベクトル精度は、Affineブロックの隣接する画像ブロックの特徴に基づいて決定されてよい。たとえば、周囲の画像が比較的滑らかである場合、現在のAffineブロックも滑らかであることが予測されてよく、比較的高い動きベクトル精度、たとえば、1/8または1/16などの精度が選択されてよく、そうでない場合、比較的低い動きベクトル精度、たとえば、整数ピクセル精度または1/2の精度が選択される。取得される精度はMvAcとして示される。
随意に、図12に示すように、S730は、詳細には以下のステップを含む。
S1201。水平方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分に対する動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
詳細には、動きベクトル差分の第1の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第1の成分に対する動きベクトル精度の割合である。その割合と第1の水平距離との積は、水平方向におけるアフィン動き補償画像サブブロックの長さであり、水平方向における初期長さと呼ばれることもある。場合によっては水平方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。予測精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、水平方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、水平方向におけるアフィン画像ブロックの長さ以下とすべきである。水平方向における初期長さまたは水平方向における丸められた初期長さが適切であるかどうかは、水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、水平方向における初期長さまたは水平方向における丸められた初期長さに基づいて、水平方向における整数の数量のサブブロックに分割され得ることを示す。調整方式は、通常、水平方向における初期長さまたは水平方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、水平方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で水平方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平方向におけるアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または水平方向におけるアフィン画像ブロックの長さと水平方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
加えて、効率を改善し動作時間を短縮するために、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが7であり、水平方向におけるアフィン画像ブロックの長さが16である。この場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、水平方向におけるアフィン動き補償画像サブブロックの長さが5である場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。水平方向におけるアフィン動き補償画像サブブロックの長さと、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが6であり、水平方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
加えて、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平方向におけるアフィン画像ブロックの可能な最大長さである。水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1201において水平方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、水平方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
(1)水平方向におけるアフィン画像ブロックの長さが、水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
水平方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平方向におけるアフィン画像ブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。区別のために、第1の時間に対して実行される調整は第1の調整と呼ばれることがあり、(必要な場合)第2の時間に対して実行される調整は再調整と呼ばれることがある。
随意に、水平方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは水平方向におけるアフィン画像ブロックの長さである。
S1203。垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第2の成分に対する動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、垂直方向におけるアフィン動き補償画像サブブロックの長さを調整する。
詳細には、動きベクトル差分の第2の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第2の成分に対する動きベクトル精度の割合である。その割合と第1の垂直距離との積は、垂直方向におけるアフィン動き補償画像サブブロックの長さであり、垂直方向における初期長さと呼ばれることもある。場合によっては垂直方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、垂直方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、垂直方向におけるアフィン画像ブロックの長さ以下とすべきである。垂直方向における初期長さまたは垂直方向における丸められた初期長さが適切であるかどうかは、垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、垂直方向における初期長さまたは垂直方向における丸められた初期長さに基づいて、垂直方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、垂直方向における初期長さまたは垂直方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、垂直方向におけるアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。垂直方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または垂直方向におけるアフィン画像ブロックの長さと垂直方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
加えて、効率を改善し動作時間を短縮するために、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが7であり、垂直方向におけるアフィン画像ブロックの長さが16である。この場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、垂直方向におけるアフィン動き補償画像サブブロックの長さが5である場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。垂直方向におけるアフィン動き補償画像サブブロックの長さと、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが6であり、垂直方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
加えて、ステップS1203において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは垂直方向におけるアフィン画像ブロックの可能な最大長さである。垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1203において垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1203において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
(1)垂直方向におけるアフィン画像ブロックの長さが、垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、垂直方向におけるアフィン画像ブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。区別のために、第1の時間に対して実行される調整は第1の調整と呼ばれることがあり、(必要な場合)第2の時間に対して実行される調整は再調整と呼ばれることがある。
上記のステップS1201およびS1203は、3つの制御点に基づく解決策1におけるシナリオに適用可能である。3つの制御点に基づくシナリオでは、水平方向および垂直方向におけるアフィン動き補償画像サブブロックの長さは別々に計算される。2つの制御点に基づく解決策2および解決策3におけるシナリオの場合、ステップS1201またはステップS1203だけが実行されて、水平方向におけるアフィン動き補償画像サブブロックの長さまたは垂直方向におけるアフィン動き補償画像サブブロックの長さを独立して計算してよい。次いで、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さ、または水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、他方の方向における、すなわち、垂直/水平方向における、アフィン動き補償画像サブブロックの初期長さとして使用され、上記の決定は別々に実行され、すなわち、
垂直/水平方向におけるアフィン画像ブロックの長さが垂直/水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定するか、または
垂直/水平方向におけるアフィン画像ブロックの長さが垂直/水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、かつ垂直/水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍であるかどうかを決定する。
2つの制御点に基づく解決策2および解決策3のシナリオでは、要件に従って、水平方向におけるアフィン動き補償画像サブブロックの長さだけが3つの制御ポイントシナリオのために計算されてよく、または垂直方向におけるアフィン動き補償画像サブブロックの長さだけが計算されてもよく、アフィン動き補償画像サブブロックの他方のサイズ成分は、取得された一方のサイズ成分、すなわち、水平方向における長さまたは垂直方向における長さに基づいて、推測または計算される。アフィン画像ブロックのサイズが通常の2N×2N正方形の形状をなすとき、水平方向および垂直方向におけるアフィン画像ブロックの長さが同じであるので、水平方向および垂直方向におけるアフィン画像ブロックの長さのうちの一方しか決定される必要がないことが理解され得る。
随意に、垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは垂直方向におけるアフィン画像ブロックの長さである。
詳細には、取得される動きベクトル差分ΔmvhorおよびΔmvverは通常は比較的小さく、各ピクセルの動きベクトルの精度が過剰に高いこと、たとえば、1/32または1/64であることを示す。過剰に高い動きベクトル精度は、ビデオの圧縮性能にほとんど寄与せず、膨大な量の計算を引き起こす。したがって、Affineブロックは、以前に取得された予想される動きベクトル精度MvAcに基づいて複数のAffine-MCブロックに分割されて、各Affine-MCブロックの動きベクトル精度がMvAcに達することを確実にする。ΔmvhorおよびΔmvverのうちの小さい方の値はMvAc以上である。
随意に、本発明のこの実施形態では、第1の制御点と第2の制御点との間の水平距離がWであること、および第3の制御点と第4の制御点との間の垂直距離がHであることを想定し、Affine-MCブロックの幅がaMcWであるかまたはMとして示されること、および高さがaMcHであるかまたはNとして示されることを想定する。
解決策1におけるシナリオでは、3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(43)を使用することによって実施されてよく、すなわち、MおよびNは式(43)または(44)に従って決定される。
このことは、
ことと等価である。
解決策2におけるシナリオでは、水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(46)を使用することによって実施されてよく、すなわち、MおよびNは式(46)に従って決定される。
このことは、
ことと等価である。
解決策3におけるシナリオでは、垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(48)を使用することによって実施されてよく、すなわち、MおよびNは式(48)に従って決定される。
このことは、
ことと等価である。
MおよびNが式(45)、式(47)、および式(49)に従って計算された後、アルゴリズムを簡略化するために、MおよびNが演算を容易にするかどうか、すなわち、幅Wおよび高さHを有するアフィン画像ブロックが整数の数量のアフィン動き補償画像サブブロックに均等に分割され得るかどうかが、さらに決定される必要がある。詳細には、WがMで割り切れるかどうか、およびHがNで割り切れるかどうかが、決定される必要がある。WがMで割り切れずかつ/またはHがNで割り切れない場合、Wおよび/またはHがそれによって割り切れない値、すなわち、Mおよび/またはNは、WがMで割り切れ、HがNで割り切れ、MおよびNがTm≦M≦WかつTn≦N≦Hを満たすように、調整される。
調整方法は次の通りであってよい。
(1)WがMで割り切れないとき、WがMで割り切れるまで、Mは徐々に減少/増大される。HがNで割り切れないとき、HがNで割り切れるまで、Nは徐々に減少/増大される。M=Nであるとき、MおよびNのいずれかのみが調整される必要がある。
随意に、Mの上限および下限ならびにNの上限および下限は、Tm≦M≦W、Tn≦N≦Hとなるように限定され、TmおよびTnは、通常は4に設定される。
(2)テーブルルックアップ方式が使用される。すなわち、構成された2次元テーブルにおいて、WおよびMが入力され、条件を満たすMが出力され、HおよびNが入力され、条件を満たすNが出力される。
随意に、MおよびNが式(45)、式(47)、および式(49)に従って計算された後、MおよびNは、WがMで割り切れ、HがNで割り切れ、MおよびNが各々、Sの倍数でありTm≦M≦WかつTn≦N≦Hを満たすように、さらに調整される。
調整方法は次の通りであってよい。
(1)WがMで割り切れないか、またはMがSの倍数でないとき、WがMで割り切れMがSの倍数となるまで、Mは徐々に減少される。HがNで割り切れないか、またはNがSの倍数でないとき、HがNで割り切れNがSの倍数となるまで、Nは徐々に減少される。Sは、通常は4に設定される。M=Nであるとき、MおよびNのいずれかのみが調整される必要がある。
随意に、Mの上限および下限ならびにNの上限および下限は、Tm≦M≦W、Tn≦N≦Hとなるように限定され、TmおよびTnは、通常は4に設定される。
(2)テーブルルックアップ方式が使用される。すなわち、構成された2次元テーブルにおいて、WおよびMが入力され、条件を満たすMが出力され、HおよびNが入力され、条件を満たすNが出力される。
詳細には、上記の解決策は、表1における以下の例示的なアルゴリズムコードを使用することによって実施されてよい。
したがって、本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに均等に分割され得るように、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定する。このようにして、方法はハードウェア/ソフトウェアを使用することによって実装され、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
随意に、図13に示すように、S740は以下のステップを含む。
S1301。アフィン画像ブロックの中の各アフィン動き補償画像サブブロックの動きベクトルを決定する。
S1303。各アフィン動き補償画像サブブロックの動きベクトルに基づいて各アフィン動き補償画像サブブロックの動き補償予測信号を決定する。
S1305。各アフィン動き補償画像サブブロックの動き補償予測信号に基づいて各アフィン動き補償画像サブブロックを復号する。
本発明のこの実施形態では、各Affine-MCブロックが複数のピクセルを含んでよいこと、およびピクセルの動きベクトルがAffine-MCブロックの動きベクトルとして各Affine-MCブロックから選択される必要があることを理解されたい。
随意に、S1301において、Affine-MCブロックの中心位置上のピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてよく、Affine-MCブロックの中のすべてのピクセルの動きベクトルの平均値が、Affine-MCブロックの動きベクトルとして使用されてよく、またはAffine-MCブロックの中の左上ピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてもよい。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、各アフィン動き補償画像サブブロックの中の境界ピクセルの信号がフィルタ処理され、境界ピクセルとは、各アフィン動き補償画像サブブロックの境界における1つまたは複数の行のピクセルである。
随意に、本発明のこの実施形態では、境界ピクセルの信号は、動き補償予測信号および/または再構成された信号を含み、再構成された信号は、動き補償予測信号と再構成された残差信号との和である。
詳細には、太い実線ブロックはAffineブロックを表し、細い実線ブロックはAffine-MCブロックを表し、破線ボックスは隣接するAffine-MCブロックの境界におけるピクセルを表し、交差点はピクセルを表す。図11の中の破線ボックスの領域は、隣接するAffine-MCブロックのそれぞれの境界において、隣接するAffine-MCブロックの中に2行または2列のピクセルを含み、あるいは隣接するAffine-MCブロックのそれぞれの境界において、1行または1列、3行または3列などのピクセルを含んでもよい。隣接するAffine-MCブロックの動きベクトルが異なる場合があるので、参照画像から取得される予測信号は参照画像の中で隣接しない。このことは、隣接するAffine-MCブロックの境界において予測信号の不連続性を引き起こし、さらに残差の不連続性を引き起こし、残差の画像符号化/復号性能に影響を及ぼす。したがって、Affine-MCブロックの境界において動き補償予測信号をフィルタ処理することが検討される。
再構成された信号は、通常、動き補償予測信号と再構成された残差信号とを加算することによって取得される。通常、残差信号に不可逆符号化が実行される。このことは、元の残差信号に対して、再構成された残差信号のひずみを引き起こす。隣接するAffine-MCブロックの境界におけるピクセルのひずみ事例は異なる場合がある。たとえば、第1のAffine-MCブロックの中の右側におけるピクセルの値は、ひずみに起因してより大きくなり、第1のAffine-MCブロックに隣接しその右にあるAffine-MCブロックの中の左側におけるピクセルの値は、ひずみに起因してより小さくなる。このことは、Affine-MCブロックの中の再構成されたピクセルの境界ピクセル値の不連続性を引き起こし、主観的および客観的な効果を損なう。したがって、再構成された信号はフィルタ処理される必要がある。
随意に、本発明のこの実施形態では、フィルタ処理は、境界領域の中のピクセル値がより滑らかに変化するように、低域通過フィルタを使用することによって実行されてよい。たとえば、フィルタ処理は、ガウスフィルタを使用することによって実行される。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、フィルタ処理は、重複ブロック動き補償(Overlapped block motion compensation、略してOBMC)方法を使用することによって実行されてよい。フィルタ処理されるべきピクセルに隣接するAffine-MCブロックの動きベクトルを使用することによって、フィルタ処理されるべきピクセルに動き補償予測が実行され、取得された動き補償予測信号、およびフィルタ処理されるべきピクセルの動きベクトルを使用することによって取得された動き補償予測信号に重み付き平均化が実行されて、最終の動き補償予測信号を取得する。
本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
随意に、本発明における復号方法はまた、
アフィン画像ブロックの動きベクトル差分およびアフィン画像ブロックの動きベクトル精度を取得するためにビットストリームをパースすることであって、ここで、アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有する、パースすること、
動きベクトル差分、動きベクトル精度、およびアフィン画像ブロックの中の制御点の間の距離に基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定すること、ならびに
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行すること、または
アフィン画像ブロックについての情報を取得するためにビットストリームをパースすること、
アフィン画像ブロックについての情報に基づいてアフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、サイズが、水平方向における長さおよび垂直方向における長さを含み、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍である、決定すること、ならびに
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することであってよい。
このようにして、デコーダ側は、アフィン動き補償画像サブブロックのサイズを決定するために、再計算を実行する必要がなくてよいが、エンコーダ側によってデコーダ側へ送信されたパラメータを直接使用してよい。したがって、計算複雑度がさらに低減される。
上記のことは、本発明の実施形態によるビデオ画像復号方法を、図1〜図13を参照しながら詳細に説明している。上記のことは、デコーダ側およびエンコーダ側におけるこの解決策の実装方式が基本的に同じであることをさらに説明している。このことをより明瞭に説明するために、以下のことは、本発明の実施形態によるビデオ画像符号化方法を、図14〜図16を参照しながら説明する。エンコーダ側における関係する動作がデコーダ側における関係する動作と本質的に同じであるので、繰り返しを避けるために、実装詳細が本明細書で再び説明されないことに留意されたい。
図14は、本発明の一実施形態によるビデオ画像符号化方法の概略フローチャートである。
図14に示す方法は、符号化デバイスによって実行され得る。たとえば、デコーダと同様に、エンコーダは、通常、予測処理ユニット、残差生成ユニット、変換処理ユニット、量子化ユニット、逆量子化ユニット、逆変換処理ユニット、再構成ユニット、フィルタユニット、復号画像バッファ、およびエントロピー符号化ユニットを含む。エントロピー符号化ユニットは、標準CABAC符号化/復号エンジンおよびバイパス符号化/復号エンジンを含む。予測処理ユニットは、フレーム間予測処理ユニットおよびフレーム内予測処理ユニットを含む。フレーム間予測処理ユニットは、動き推定ユニットおよび動き補償ユニットを含む。別の実施形態では、エンコーダは、より多数もしくはより少数の、または異なる機能構成要素を含んでよい。復号方法と同様に、本発明の符号化方法は、フレーム間予測処理ユニットによるフレーム間予測を実行するプロセスに主に適用される。エンコーダの各機能ユニットの詳細な構造については、H.265規格などの従来技術における規制および記述を参照されたい。本発明では詳細な説明は提供されない。本発明では、以下の実施形態は、本発明のこの実施形態における方法ではどのようにアフィン動き補償画像サブブロックのサイズを適応的に決定し符号化を実行するのかという、基本プロセスを説明するために使用されるにすぎない。
詳細には、図14に示すように、方法1400は以下のステップを含む。
S1410。アフィン画像ブロックの動きベクトル差分を決定する。
S1430。アフィン画像ブロックの動きベクトル精度を決定する。
S1450。動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズは水平方向における長さおよび垂直方向における長さを含み、制御点は動きベクトル差分を決定するために使用されるピクセルである。
S1470。アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行する。
詳細には、符号化デバイスは、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、符号化デバイスは、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを符号化する。
したがって、本発明のこの実施形態におけるビデオ画像符号化方法を実行することによって、フレーム間予測処理ユニットは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン動き補償画像サブブロックのサイズに基づいて、同じサイズを有する複数のアフィン動き補償副画像にアフィン画像ブロックを分割し、次いで、符号化処理を実行する。したがって、符号化プロセスの中で、適切なサイズを有するアフィン動き補償画像サブブロックが、上記のパラメータの変化に基づいて適応的に選択され得、符号化複雑度が低減され、符号化性能、すなわち圧縮効率が改善される。
好ましくは、S1410は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに/または
同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することを含む。
第1の制御点と第2の制御点との間に第1の水平距離があり、第3の制御点と第4の制御点との間に第1の垂直距離がある。ステップS1410の中に含まれる解決策におけるおよび/またはが、詳細には、以下の3つの異なる技術的解決策を示すことに留意されたい。
解決策1:3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することと、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することとを含む。
解決策2:水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することを含む。
解決策3:垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することを含む。
本発明のこの実施形態では、動きベクトル差分の第1の成分が動きベクトル差分の水平成分であり、動きベクトル差分の第2の成分が動きベクトル差分の垂直成分であることを理解されたい。解決策1では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を共同で反映する。しかしながら、解決策2および解決策3では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を独立して反映する。言い換えれば、解決策1では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分を含み、解決策2では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分を含み、解決策3では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第2の成分を含む。本発明のこの実施形態では、第1、第2、第3、および第4が、ピクセルの間を区別するために使用されるにすぎず、本発明の保護範囲にいかなる限定も与えるべきでないことも理解されたい。たとえば、第1の制御点が第2の制御点と呼ばれることもあり、第2の制御点が第1の制御点と呼ばれることがある。
随意に、本発明のこの実施形態では、第1の制御点および第3の制御点は同じピクセルである。詳細には、3つの制御点が選択され、3つの制御点のうちの1つは、他の2つの制御点のうちの1つと同じ水平線上に位置し、最後の制御点と同じ垂直線上に位置する。
随意に、本発明のこの実施形態では、第1の制御点、第2の制御点、第3の制御点、および第4の制御点は、Affineブロックの頂点である。Affineブロックの中の4つの頂点が、それぞれ、左上頂点、左下頂点、右上頂点、および右下頂点として示されることを想定する。
解決策1では、Affineブロックの動きベクトル差分を決定するために、2つの直交方向における任意の3つの頂点が選択されてよい。たとえば、左上頂点、左下頂点、および右上頂点が選択されてよく、または左上頂点、右上頂点、および右下頂点が選択されてもよい。
解決策2では、Affineブロックの動きベクトル差分を決定するために、同じ水平線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および右上頂点が選択されてよく、または左下頂点および右下頂点が選択されてもよい。
解決策3では、Affineブロックの動きベクトル差分を決定するために、同じ垂直線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および左下頂点が選択されてよく、または右上頂点および右下頂点が選択されてもよい。このことは本発明において限定されない。
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点の動きベクトルの、2つの方向(水平方向および垂直方向、またはx方向およびy方向と呼ばれる)のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第1の成分として決定されてよく、第3の制御点および第4の制御点の動きベクトルの、2つの方向のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第2の成分として決定されてよい。動きベクトル差分を決定する方式は、解決策1、2、および3に適用可能である。代替として、符号化複雑度および符号化性能に対する実際の要件に従って、2つの方向における第1の制御点および第2の制御点の動きベクトルの成分の間の2つの差分の間の値が、第1の成分として選択および決定されてよく、2つの方向における第3の制御点および第4の制御点の動きベクトルの成分の間の2つの差分の間の値が、第2の成分として選択および決定されてよい。このことは本発明において限定されない。
第1の制御点〜第4の制御点の各々の動きベクトルは、通常、2つの成分、すなわち、水平成分および垂直成分を含む。したがって、上記のステップでは、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することは、詳細には、以下の方式、すなわち、
第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定し、第1の水平成分差分および第1の垂直成分差分のうちの大きい方を動きベクトル差分の第1の成分として決定すること、ならびに
それに対応して、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定し、第2の水平成分差分および第2の垂直成分差分のうちの大きい方を動きベクトル差分の第2の成分として決定することで、実施され得る。
随意に、本発明のこの実施形態では、動きベクトル差分はアフィンモデルに基づいて取得され、すなわち、動きベクトル差分は、アフィン画像ブロックの中のピクセルのアフィン変換パラメータを決定することによって取得される。アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有することに留意されたい。
それに対応して、第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の水平距離に基づいて第1の水平成分差分および第1の垂直成分差分を決定することであり、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の垂直距離に基づいて第2の水平成分差分および第2の垂直成分差分を決定することである。
上記のプロセスのシーケンス番号が実行シーケンスを示さないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能および内部論理に基づいて決定されるべきであり、本発明のこの実施形態の実装プロセスにいかなる限定も与えるべきでない。
随意に、本発明のこの実施形態では、アフィン変換モデルは、従来技術の6パラメータアフィン変換モデルであってよく、または従来技術の4パラメータもしくは2パラメータアフィン変換モデルであってもよい。6パラメータアフィン変換モデルは、3つの制御点に基づく解決策1におけるシナリオに主に適用され、4パラメータアフィン変換モデルは、2つの制御点に基づく解決策2および解決策3におけるシナリオに主に適用される。特定の内容については、本明細書における復号方法の説明を参照されたい。
随意に、本発明のこの実施形態では、アフィン画像ブロックの動きベクトル差分を決定するために、第1の制御点の動きベクトル、第2の制御点の動きベクトル、第3の制御点の動きベクトル、および第4の制御点の動きベクトルが決定され得る。
それに対応して、解決策1におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定され、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
解決策2におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定される。
解決策3におけるシナリオでは、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
詳細には、制御点の動きベクトルは直接決定されてよく、Affineブロックの動きベクトル差分の第1の成分および第2の成分は、動きベクトルの成分の間の差分を計算することによって直接取得され得る。
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点は、隣接する2つのピクセルであり、第3の制御点および第4の制御点は、隣接する2つのピクセルである。言い換えれば、制御点は、必ずしもアフィン画像ブロックの中の、頂点とも呼ばれる4つの隅角点から選択されるとは限らないが、シグナリングを使用することによってビットストリームの中で明示的に示されるか、または周囲のアフィン画像ブロックの中の制御点に基づく推定もしくは複製を通じて取得される、アフィン画像ブロックの中の任意の位置上にありエンコーダ側およびデコーダ側によって共同で設定される点であってよい。この場合、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分を決定することは、詳細には次の通りである。
第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、および第3のピクセルの動きベクトルが決定され、ここで、第1のピクセル、第2のピクセル、および第3のピクセルは、互いに重複しないピクセルであり、第1のピクセルと第2のピクセルとの間の第2の水平距離および第2の垂直距離が決定され、第1のピクセルと第3のピクセルとの間の第3の水平距離および第3の垂直距離が決定され、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分が、第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、第3のピクセルの動きベクトル、第2の水平距離、第2の垂直距離、第3の水平距離、および第3の垂直距離に基づいて決定される。上記のことは、一例として3つの制御点に基づく解決策1を使用することによって説明されている。2つの制御点に基づく解決策2または解決策3と3つの制御点に基づく解決策1との間の差異があること、すなわち、解決策1における第1の成分差分または第2の成分差分のみが、2つの制御点に基づくアフィン画像の動きベクトル差分として使用されることが、上記の例から知られ得る。
随意に、本発明のこの実施形態では、符号化デバイスは、動き推定および動き探索を通じてすべての制御点の動きベクトルを取得してよく、周囲の画像ブロックに基づいてすべての制御点の動きベクトルを取得してよく、またはアフィン変換モデルに基づいてすべての制御点の動きベクトルを計算してもよい。代替として、符号化デバイスは、動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、隣接する画像ブロックに基づいて他の制御点の動きベクトルを取得してよい。代替として、符号化デバイスは、アフィン動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。代替として、符号化デバイスは、隣接する画像ブロックに基づいていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。ただし、このことは本発明において限定されない。
随意に、S1430において、事前設定される最初の値が、アフィン画像ブロックの動きベクトル精度として決定されてよく、またはアフィン画像ブロックの動きベクトル精度は、アフィン画像ブロックの隣接する画像ブロックの特徴に基づいて決定されてもよい。隣接する画像ブロックとは、空間においてかつ/または時間においてアフィン画像ブロックに隣接する画像ブロックである。
随意に、図15に示すように、S1450は、詳細には以下のステップを含む。
S1501。水平方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分に対する動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
詳細には、動きベクトル差分の第1の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第1の成分に対する動きベクトル精度の割合である。その割合と第1の水平距離との積は、水平方向におけるアフィン動き補償画像サブブロックの長さであり、水平方向における初期長さと呼ばれることもある。場合によっては水平方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、水平方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、水平方向におけるアフィン画像ブロックの長さ以下とすべきである。水平方向における初期長さまたは水平方向における丸められた初期長さが適切であるかどうかは、水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、水平方向における初期長さまたは水平方向における丸められた初期長さに基づいて、水平方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、水平方向における初期長さまたは水平方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、水平方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で水平方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平方向におけるアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または水平方向におけるアフィン画像ブロックの長さと水平方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
加えて、効率を改善し動作時間を短縮するために、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが7であり、水平方向におけるアフィン画像ブロックの長さが16である。この場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、水平方向におけるアフィン動き補償画像サブブロックの長さが5である場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。水平方向におけるアフィン動き補償画像サブブロックの長さと、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが6であり、水平方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
加えて、ステップS1501において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平方向におけるアフィン画像ブロックの可能な最大長さである。水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1501において水平方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1501において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、水平方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
(1)水平方向におけるアフィン画像ブロックの長さが、水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
水平方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平方向におけるアフィン画像ブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。
随意に、水平方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは水平方向におけるアフィン画像ブロックの長さである。
S1503。垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第2の成分に対する動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、垂直方向におけるアフィン動き補償画像サブブロックの長さを調整する。
詳細には、動きベクトル差分の第2の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第2の成分に対する動きベクトル精度の割合である。その割合と第1の垂直距離との積は、垂直方向におけるアフィン動き補償画像サブブロックの長さであり、垂直方向における初期長さと呼ばれることもある。場合によっては垂直方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、垂直方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、垂直方向におけるアフィン画像ブロックの長さ以下とすべきである。垂直方向における初期長さまたは垂直方向における丸められた初期長さが適切であるかどうかは、垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、垂直方向における初期長さまたは垂直方向における丸められた初期長さに基づいて、垂直方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、垂直方向における初期長さまたは垂直方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、垂直方向におけるアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。垂直方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または垂直方向におけるアフィン画像ブロックの長さと垂直方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
加えて、効率を改善し動作時間を短縮するために、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが7であり、垂直方向におけるアフィン画像ブロックの長さが16である。この場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、垂直方向におけるアフィン動き補償画像サブブロックの長さが5である場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。垂直方向におけるアフィン動き補償画像サブブロックの長さと、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが6であり、垂直方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
加えて、ステップS1503において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは垂直方向におけるアフィン画像ブロックの可能な最大長さである。垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1503において垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1503において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
(1)垂直方向におけるアフィン画像ブロックの長さが、垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、垂直方向におけるアフィン画像ブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。
随意に、垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは垂直方向におけるアフィン画像ブロックの長さである。
アフィン動き補償画像サブブロックのサイズを決定および調整する特定の実装形態については、本明細書における復号方法の特定の説明を参照されたい。
したがって、本発明のこの実施形態におけるビデオ画像符号化方法によれば、符号化デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
随意に、図16に示すように、S1470は以下のステップを含む。
S1601。アフィン動き補償画像サブブロックの中の各アフィン動き補償画像サブブロックの動きベクトルを決定する。
S1603。各アフィン動き補償画像サブブロックの動きベクトルに基づいて各アフィン動き補償画像サブブロックの動き補償予測信号を決定する。
S1605。各アフィン動き補償画像サブブロックの動き補償予測信号に基づいて各アフィン動き補償画像サブブロックを符号化する。
本発明のこの実施形態では、各Affine-MCブロックが複数のピクセルを含んでよいこと、およびピクセルの動きベクトルがAffine-MCブロックの動きベクトルとして各Affine-MCブロックから選択される必要があることを理解されたい。
随意に、S1601において、Affine-MCブロックの中心位置上のピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてよく、Affine-MCブロックの中のすべてのピクセルの動きベクトルの平均値が、Affine-MCブロックの動きベクトルとして使用されてよく、またはAffine-MCブロックの中の左上ピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてもよい。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、各アフィン動き補償画像サブブロックの中の境界ピクセルの信号がフィルタ処理され、境界ピクセルとは、各アフィン動き補償画像サブブロックの境界における1つまたは複数の行のピクセルである。
随意に、本発明のこの実施形態では、境界ピクセルの信号は、動き補償予測信号および/または再構成された信号を含み、再構成された信号は、動き補償予測信号と再構成された残差信号との和である。
再構成された信号は、通常、動き補償予測信号と再構成された残差信号とを加算することによって取得される。通常、残差信号に不可逆符号化が実行される。このことは、元の残差信号に対して、再構成された残差信号のひずみを引き起こす。隣接するAffine-MCブロックの境界におけるピクセルのひずみ事例は異なる場合がある。たとえば、第1のAffine-MCブロックの中の右側におけるピクセルは、ひずみに起因してより大きくなり、第1のAffine-MCブロックに隣接しその右にあるAffine-MCブロックの中の左側におけるピクセルは、ひずみに起因してより小さくなる。このことは、Affine-MCブロックの中の再構成されたピクセルの境界ピクセル値の不連続性を引き起こし、主観的および客観的な効果を損なう。したがって、再構成された信号はフィルタ処理される必要がある。
随意に、本発明のこの実施形態では、フィルタ処理は、境界領域の中のピクセル値がより滑らかに変化するように、低域通過フィルタを使用することによって実行されてよい。たとえば、フィルタ処理は、ガウスフィルタを使用することによって実行される。ただし、このことは本発明において限定されない。
随意に、本発明のこの実施形態では、フィルタ処理は、重複ブロック動き補償(Overlapped block motion compensation、略してOBMC)方法を使用することによって実行されてよい。フィルタ処理されるべきピクセルに隣接するAffine-MCブロックの動きベクトルを使用することによって、フィルタ処理されるべきピクセルに動き補償予測が実行され、取得された動き補償予測信号、およびフィルタ処理されるべきピクセルの動きベクトルを使用することによって取得された動き補償予測信号に重み付き平均化が実行されて、最終の動き補償予測信号を取得する。
本発明のこの実施形態におけるビデオ画像符号化方法によれば、復号デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
以下のことは、図17を参照しながら、本発明を実施するための復号装置1700を説明する。復号装置1700は、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュール1710と、
アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュール1730と、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュール1750であって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュール1750と、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行するように構成された、復号モジュール1770とを含む。
詳細には、復号装置は、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、復号装置は、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを復号する。復号装置のモジュールは、本発明の復号方法の中に含まれる様々な実行ステップの機能を実施する。詳細には、モジュールは、本発明の復号方法におけるすべての方法ステップ、たとえば、ステップS710〜S740ならびにこれらのステップの拡張および変形の機能を実施する。詳細については、本明細書における復号方法の説明を参照されたい。簡潔のために、詳細は本明細書で再び説明しない。
以下のことは、図18を参照しながら、本発明の一実施形態による符号化装置を詳細に説明する。符号化装置1800は、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュール1810と、
アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュール1830と、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュール1850であって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュール1850と、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュール1870とを含む。
詳細には、符号化装置は、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、符号化装置は、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを符号化する。符号化装置のモジュールは、本発明の符号化方法の中に含まれる様々な実行ステップの機能を実施する。詳細には、モジュールは、本発明の符号化方法におけるすべての方法ステップ、たとえば、ステップS1410〜S1470ならびにこれらのステップの拡張および変形の機能を実施する。詳細については、本明細書における符号化方法の説明を参照されたい。簡潔のために、詳細は本明細書で再び説明しない。
図19に示すように、本発明の一実施形態は、プロセッサ1910、メモリ1930、およびバスシステム1950を含む、復号デバイス1900をさらに提供する。プロセッサおよびメモリは、バスシステムを使用することによって接続されている。メモリは、命令を記憶するように構成されている。プロセッサは、メモリの中に記憶された命令を実行するように構成されている。復号デバイスのメモリはプログラムコードを記憶する。プロセッサは、本発明の復号方法700におけるすべてのステップおよびステップの拡張、すなわち、図7〜図13で説明したすべての方法を実行するために、メモリの中に記憶されたプログラムコードを呼び出してよい。
たとえば、プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、本発明の復号方法における完全な動作、すなわち、
アフィン画像ブロックの動きベクトル差分を決定することと、
アフィン画像ブロックの動きベクトル精度を決定することと、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することとを実行し得る。
復号プロセスの中で、適切なサイズを有する画像サブブロックが選択され得、画像サブブロックのサイズは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割されるように調整される。このようにして、復号複雑度が低減され、復号性能が改善される。
本発明のこの実施形態では、プロセッサ1910が中央処理装置(Central Processing Unit、略してCPU)であってよいことを理解されたい。代替として、プロセッサ1910は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。
メモリ1930は、読取り専用メモリおよびランダムアクセスメモリを含んでよく、命令およびデータをプロセッサ1910に提供し得る。メモリ1930の一部は不揮発性ランダムアクセスメモリをさらに含んでよい。たとえば、メモリ1930はデバイスタイプについての情報をさらに記憶してよい。
データバスに加えて、バスシステム1950は、電力バス、制御バス、ステータス信号バスなどをさらに含んでよい。ただし、明瞭な説明のために、図における様々なタイプのバスがバスシステム1950としてマークされている。
実装プロセスの中で、プロセッサ1910の中のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、上記の方法のステップが実施され得る。本発明の実施形態を参照しながら開示する方法のステップは、ハードウェアプロセッサによって直接実行されてよく、またはプロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体の中に位置してよい。記憶媒体がメモリ1930の中に位置し、プロセッサ1910はメモリ1930から情報を読み取り、プロセッサのハードウェアと組み合わせて上記の方法のステップを完了させる。
図20に示すように、本発明の一実施形態は、プロセッサ2010、メモリ2030、およびバスシステム2050を含む、符号化デバイス2000をさらに提供する。プロセッサ2010およびメモリ2030は、バスシステム2050を使用することによって接続されている。メモリ2030は、命令を記憶するように構成されている。プロセッサ2010は、メモリ2030の中に記憶された命令を実行するように構成されている。符号化デバイス2000のメモリ2030はプログラムコードを記憶する。プロセッサ2010は、本発明の符号化方法1400におけるすべてのステップおよびステップの拡張、すなわち、図14〜図16で説明したすべての方法ステップを実行するために、メモリ2030の中に記憶されたプログラムコードを呼び出してよい。たとえば、プロセッサ2010は、メモリ2030の中に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、
アフィン画像ブロックの動きベクトル差分を決定することと、
アフィン画像ブロックの動きベクトル精度を決定することと、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行することとを実行し得る。
符号化プロセスの中で、適切なサイズを有する画像サブブロックが選択され得、画像サブブロックのサイズは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割されるように調整される。このようにして、符号化複雑度が低減され、符号化性能が改善される。
本発明のこの実施形態では、プロセッサ2010が中央処理装置(Central Processing Unit、略してCPU)であってよいことを理解されたい。代替として、プロセッサ2010は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。
メモリ2030は、読取り専用メモリおよびランダムアクセスメモリを含んでよく、命令およびデータをプロセッサ2010に提供し得る。メモリ2030の一部は不揮発性ランダムアクセスメモリをさらに含んでよい。たとえば、メモリ2030はデバイスタイプについての情報をさらに記憶してよい。
データバスに加えて、バスシステム2050は、電力バス、制御バス、ステータス信号バスなどをさらに含んでよい。ただし、明瞭な説明のために、図における様々なタイプのバスがバスシステム2050としてマークされている。
実装プロセスの中で、プロセッサ2010の中のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、上記の方法のステップが実施され得る。本発明の実施形態を参照しながら開示する方法のステップは、ハードウェアプロセッサによって直接実行されてよく、またはプロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体の中に位置してよい。記憶媒体がメモリ2030の中に位置し、プロセッサ2010はメモリ2030から情報を読み取り、プロセッサのハードウェアと組み合わせて上記の方法のステップを完了させる。繰り返しを避けるために、詳細は本明細書で再び説明しない。
60 ビデオデコーダ
650 エントロピー復号ユニット
652 予測処理ユニット
654 逆量子化ユニット
656 逆変換処理ユニット
658 再構成ユニット
659 フィルタユニット
660 復号画像バッファ
662 動き補償ユニット
664 フレーム内予測処理ユニット
666 標準CABAC符号化/復号エンジン
668 バイパス符号化/復号エンジン
1700 復号デバイス
1710 動きベクトル差分決定モジュール
1730 動きベクトル精度決定モジュール
1750 画像サブブロックサイズ決定モジュール
1770 復号モジュール
1800 符号化デバイス
1810 動きベクトル差分決定モジュール
1830 動きベクトル精度決定モジュール
1850 画像サブブロックサイズ決定モジュール
1870 符号化モジュール
1900 復号デバイス
1910 プロセッサ
1930 メモリ
1950 バスシステム
2000 符号化デバイス
2010 プロセッサ
2030 メモリ
2050 バスシステム

Claims (38)

  1. ビデオ画像復号方法であって、
    アフィン画像ブロックの動きベクトル差分を決定するステップと、
    前記アフィン画像ブロックの動きベクトル精度を決定するステップと、
    前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するステップであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、ステップと、
    前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに復号処理を実行するステップと
    を備えるビデオ画像復号方法。
  2. 前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整するステップであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
    請求項1に記載の方法。
  3. 前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整するステップであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
    請求項1に記載の方法。
  4. 前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整するステップであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整するステップであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
    請求項1に記載の方法。
  5. 前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
    請求項2から4のいずれか一項に記載の方法。
  6. 前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
    前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
    前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
    請求項2から4のいずれか一項に記載の方法。
  7. 前記方法が、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定するステップと、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定するステップと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップとをさらに備える、
    請求項2から6のいずれか一項に記載の方法。
  8. 前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
    前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するステップを備え、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満たす、
    請求項1に記載の方法。
  9. 前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項8に記載の方法。
  10. ビデオ画像符号化方法であって、
    アフィン画像ブロックの動きベクトル差分を決定するステップと、
    前記アフィン画像ブロックの動きベクトル精度を決定するステップと、
    前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するステップであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、ステップと、
    前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに符号化処理を実行するステップと
    を備えるビデオ画像符号化方法。
  11. 前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整するステップであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
    請求項10に記載の方法。
  12. 前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整するステップであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
    請求項10に記載の方法。
  13. 前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整するステップであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整するステップであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
    請求項10に記載の方法。
  14. 前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
    請求項11から13のいずれか一項に記載の方法。
  15. 前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
    前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
    前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
    請求項11から13のいずれか一項に記載の方法。
  16. 前記方法が、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定するステップと、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定するステップと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップとをさらに備える、
    請求項11から15のいずれか一項に記載の方法。
  17. 前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
    前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するステップを備え、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
    請求項10に記載の方法。
  18. 前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項17に記載の方法。
  19. ビデオ画像復号装置であって、
    アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、
    前記アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、
    前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、
    前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに復号処理を実行するように構成された、復号モジュールと
    を備えるビデオ画像復号装置。
  20. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整することであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
    請求項19に記載の装置。
  21. 前記画像サブブロックサイズ決定モジュールが、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整することであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
    請求項19に記載の装置。
  22. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整することであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整することであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
    請求項19に記載の方法。
  23. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成される、
    請求項20から22のいずれか一項に記載の装置。
  24. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成され、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを前記調整することが、
    前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを備える、
    請求項20から22のいずれか一項に記載の装置。
  25. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定することと、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定することと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることとを行うようにさらに構成される、
    請求項20から24のいずれか一項に記載の方法。
  26. 前記画像サブブロックサイズ決定モジュールが、
    前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するように構成され、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
    請求項19に記載の装置。
  27. 前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項26に記載の装置。
  28. ビデオ画像符号化装置であって、
    アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、
    前記アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、
    前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、
    前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュールと
    を備えるビデオ画像符号化装置。
  29. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整することであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
    請求項28に記載の装置。
  30. 前記画像サブブロックサイズ決定モジュールが、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整することであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
    請求項28に記載の装置。
  31. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整することであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整することであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
    請求項28に記載の方法。
  32. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成される、
    請求項29から31のいずれか一項に記載の装置。
  33. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
    前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復することとを行うようにさらに構成され、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを前記調整することが、
    前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
    前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復することとを備える、
    請求項29から31のいずれか一項に記載の装置。
  34. 前記画像サブブロックサイズ決定モジュールが、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定することと、
    前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定することと、
    前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることとを行うようにさらに構成される、
    請求項29から33のいずれか一項に記載の装置。
  35. 前記画像サブブロックサイズ決定モジュールが、
    前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するように構成され、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
    請求項28に記載の方法。
  36. 前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項35に記載の装置。
  37. プロセッサおよび不揮発性メモリを備える復号デバイスであって、前記プロセッサが、請求項1から9のいずれか一項に記載の復号方法を実施するために、前記メモリの中に記憶されたプログラムコードを呼び出す、復号デバイス。
  38. プロセッサおよび不揮発性メモリを備える符号化デバイスであって、前記プロセッサが、請求項9から18のいずれか一項に記載の符号化方法を実施するために、前記メモリの中に記憶されたプログラムコードを呼び出す、符号化デバイス。
JP2020507658A 2017-08-11 2018-08-09 ビデオ画像符号化および復号方法、装置、およびデバイス Pending JP2020529811A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710687117.5 2017-08-11
CN201710687117.5A CN109391814B (zh) 2017-08-11 2017-08-11 视频图像编码和解码的方法、装置及设备
PCT/CN2018/099512 WO2019029590A1 (zh) 2017-08-11 2018-08-09 视频图像编码和解码的方法、装置及设备

Publications (1)

Publication Number Publication Date
JP2020529811A true JP2020529811A (ja) 2020-10-08

Family

ID=65270850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020507658A Pending JP2020529811A (ja) 2017-08-11 2018-08-09 ビデオ画像符号化および復号方法、装置、およびデバイス

Country Status (13)

Country Link
US (2) US11039127B2 (ja)
EP (1) EP3664452A1 (ja)
JP (1) JP2020529811A (ja)
KR (1) KR102357575B1 (ja)
CN (4) CN109391814B (ja)
AU (1) AU2018315106B2 (ja)
BR (1) BR112020002656A2 (ja)
CA (1) CA3072712A1 (ja)
MX (1) MX2020001646A (ja)
PH (1) PH12020500307A1 (ja)
SG (1) SG11202001199QA (ja)
TW (1) TWI692247B (ja)
WO (1) WO2019029590A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117354541A (zh) * 2017-10-27 2024-01-05 松下电器(美国)知识产权公司 编码装置、解码装置、生成装置、发送装置和存储介质
US10999596B2 (en) * 2018-06-19 2021-05-04 Qualcomm Incorporated Unification of affine motion field derivation and affine motion compensation
WO2019244051A1 (en) 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Selected mvd precision without mvp truncation
US11582458B2 (en) * 2018-08-29 2023-02-14 Vid Scale, Inc. Adaptive motion vector precision for affine motion model based video coding
EP4325859A3 (en) * 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
CN113170192B (zh) * 2018-11-15 2023-12-01 北京字节跳动网络技术有限公司 仿射的merge与mvd
US11102476B2 (en) * 2018-12-28 2021-08-24 Qualcomm Incorporated Subblock based affine motion model
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
CN111247804B (zh) * 2019-03-12 2023-10-13 北京大学 图像处理的方法与装置
WO2020181540A1 (zh) * 2019-03-13 2020-09-17 北京大学 一种视频处理方法、装置、编码设备及解码设备
CN113785592A (zh) * 2019-06-25 2021-12-10 Oppo广东移动通信有限公司 运动补偿的处理方法、编码器、解码器以及存储介质
CN110636301B (zh) * 2019-09-18 2021-08-03 浙江大华技术股份有限公司 仿射预测方法、计算机设备和计算机可读存储介质
WO2021056220A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频编解码的方法与装置
CN112770113A (zh) * 2019-11-05 2021-05-07 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US20240040141A1 (en) * 2022-07-18 2024-02-01 Tencent America LLC Method for affine motion refinement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016184261A1 (zh) * 2015-05-15 2016-11-24 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2129133A3 (en) * 1995-08-29 2012-02-15 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
KR100359115B1 (ko) 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
JP3681342B2 (ja) * 2000-05-24 2005-08-10 三星電子株式会社 映像コーディング方法
KR100571920B1 (ko) * 2003-12-30 2006-04-17 삼성전자주식회사 움직임 모델을 이용한 매쉬 기반의 움직임 보상방법을제공하는 영상의 부호화 방법 및 그 부호화 장치
KR100631777B1 (ko) * 2004-03-31 2006-10-12 삼성전자주식회사 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치
DE102009026983A1 (de) * 2009-06-16 2010-12-30 Trident Microsystems (Far East) Ltd. Bildverarbeitungsverfahren mit einer Bewegungsschätzung und Bildverarbeitungsanordnung
CN108462874B (zh) 2010-04-09 2022-06-07 三菱电机株式会社 运动图像编码装置以及运动图像解码装置
CN102611884B (zh) * 2011-01-19 2014-07-09 华为技术有限公司 图像编解码方法及编解码设备
CN107734335B (zh) 2014-09-30 2020-11-06 华为技术有限公司 图像预测方法及相关装置
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016184261A1 (zh) * 2015-05-15 2016-11-24 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIE ZHAO, ET AL.: "On Affine Motion Vectors", JOINT VIDEO EXPLORATION TEAM (JVET)OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-D0151, JPN6021005156, 11 October 2016 (2016-10-11), pages 1 - 4, ISSN: 0004771931 *

Also Published As

Publication number Publication date
CN111935482B (zh) 2023-04-11
RU2020110025A (ru) 2021-09-14
CN111935482A (zh) 2020-11-13
EP3664452A4 (en) 2020-06-10
WO2019029590A1 (zh) 2019-02-14
CN110999302A (zh) 2020-04-10
CN109391814B (zh) 2023-06-06
US11496732B2 (en) 2022-11-08
KR20200033331A (ko) 2020-03-27
AU2018315106A1 (en) 2020-03-12
BR112020002656A2 (pt) 2020-08-18
CN116708780A (zh) 2023-09-05
RU2020110025A3 (ja) 2021-11-03
AU2018315106B2 (en) 2022-10-06
CA3072712A1 (en) 2019-02-14
US20210243432A1 (en) 2021-08-05
US11039127B2 (en) 2021-06-15
US20200177877A1 (en) 2020-06-04
TWI692247B (zh) 2020-04-21
TW201919402A (zh) 2019-05-16
MX2020001646A (es) 2020-08-03
EP3664452A1 (en) 2020-06-10
CN109391814A (zh) 2019-02-26
KR102357575B1 (ko) 2022-02-08
PH12020500307A1 (en) 2021-02-08
SG11202001199QA (en) 2020-03-30

Similar Documents

Publication Publication Date Title
JP2020529811A (ja) ビデオ画像符号化および復号方法、装置、およびデバイス
US11368678B2 (en) Image prediction method and device
US11949908B2 (en) Adaptive affine motion compensation unit determining in video picture coding method, video picture decoding method, coding device, and decoding device
RU2683165C1 (ru) Внутреннее предсказание блочного копирования с асимметричными разделами и схемами поиска на стороне кодера, диапазоны поиска и подходы к разделению
TWI504237B (zh) 視訊寫碼中之緩衝預測資料
TW201943272A (zh) 以角度模式延伸之位置相關框內預測組合
TW201906406A (zh) 與視訊寫碼中之變換處理一起應用之內部濾波
US20180160138A1 (en) Method and device for performing deblocking filtering
KR20200005648A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102094222B1 (ko) 참조 영상 인코딩 방법, 참조 영상 디코딩 방법, 참조 영상 인코딩 디바이스 및 참조 영상 디코딩 디바이스
TW201939952A (zh) 用於360度視訊之框內預測
RU2771955C2 (ru) Устройство, оборудование, способ кодирования и декодирования видеоизображений
WO2024108391A1 (zh) 视频编解码方法、装置、设备、系统、及存储介质
WO2024092425A1 (zh) 视频编解码方法、装置、设备、及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200331

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220516