JP2019534622A - フレームレートアップコンバージョンコーディングモードに対する改善 - Google Patents

フレームレートアップコンバージョンコーディングモードに対する改善 Download PDF

Info

Publication number
JP2019534622A
JP2019534622A JP2019517085A JP2019517085A JP2019534622A JP 2019534622 A JP2019534622 A JP 2019534622A JP 2019517085 A JP2019517085 A JP 2019517085A JP 2019517085 A JP2019517085 A JP 2019517085A JP 2019534622 A JP2019534622 A JP 2019534622A
Authority
JP
Japan
Prior art keywords
block
affine motion
prediction
video
motion model
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
JP2019517085A
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2019534622A publication Critical patent/JP2019534622A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/537Motion estimation other than block-based
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

フレームレートアップコンバージョンコーディングモードについての方法、装置、およびコンピュータ可読媒体が提供され、それにおいて、両方向マッチングが行われるときにアフィン動きモデルが適用される。フレームレートアップコンバージョンコーディングモードは、ビットストリーム中で提供されるフレームからの生成された追加のフレームを含むことができる。様々なインプリメンテーションでは、両方向マッチングは、生成されているフレーム中の現在のブロックについて、第1の参照ピクチャ中の第1のブロック、第2の参照ピクチャ中の第2のブロックを識別することを含む。アフィン(例えば、非線形)動き情報は、第1のブロックと第2のブロックとの間であるとして決定されることができる。現在のブロックは、アフィン動き情報を使用して予測されることができる。【選択図】図18

Description

本願は、ビデオコーディングおよび圧縮に関する。例えば、フレームレートアップコンバージョン(FRUC)を改善するためのシステムおよび方法が説明される。
[0002]ビデオコーディング規格は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visualおよび(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264、および高効率ビデオコーディング(HEVC)またはITU−T H.265を含む。2016年に、MPEGとITU−T VCEGとは、次世代のビデオコーディング規格のための新しいコーディングツールを調査するために、JVET(共同調査ビデオチーム:a joint exploration video team)を結成した。参照ソフトウェアは、JEM(共同調査モデル:joint exploration model)と呼ばれる。
[0003]フレームレートアップコンバージョン(FRUC)技法は、低フレームレートビデオから高フレームレートビデオを生成するために使用されることができる。良い結果を生むフレームレートアップコンバージョンのためのある1つの方法は、両方向(bilateral)マッチングである。両方向マッチングと併せた、局所照明補償(local illumination compensation)の適用は、しかしながら、ビットリームサイズを低減するという観点からいかなる利得も生むことなしに、計算の複雑性を増大させる可能性がある。
[0004]フレームレートアップコンバージョン技法は、アップコンバートされたフレーム中のどこにブロックを配置するかを決定するときに平行移動(translational)動きを使用することができる。オブジェクション(Objection)の動きは、しかしながら、厳密には線形でないことがありえ、回転、ズームインまたはズームアウト、および他の非線形動きを含む可能性がある。これらの状況では、アフィン動きモデルは、平行移動動きモデルが適用される場合よりコンパクトなビットストリームを作り出しうる。
[0005]少なくとも一例によると、ビデオデータを取得することを含む、ビデオデータを処理する方法が提供される。方法はさらに、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することを含み、ここで、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されるときには、局所照明補償が当該ブロックに対して使用されることは許可されない。方法はさらに、当該ブロックについての動き情報を決定することを含み、ここで、動き情報は、当該ブロックに対して使用されるフレームレートアップコンバージョン両方向マッチングコーディングモードに基づいて決定される。
[0006]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、ビデオデータを取得するように構成され、且つ取得することができる。プロセッサは、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用するように構成され、且つ使用することができ、ここで、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されるときには、局所照明補償が当該ブロックに対して使用されることは許可されない。プロセッサは、当該ブロックについての動き情報を決定するように構成され、且つ決定することができ、ここで、動き情報は、当該ブロックに対して使用されるフレームレートアップコンバージョン両方向マッチングコーディングモードに基づいて決定される。
[0007]別の例では、プロセッサによって実行されると、ビデオデータを取得することを含む方法を実行する命令を記憶したコンピュータ可読媒体が提供される。方法はさらに、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することを含み、ここで、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されるときには、局所照明補償が当該ブロックに対して使用されることは許可されない。方法はさらに、当該ブロックについての動き情報を決定することを含み、ここで、動き情報は、当該ブロックに対して使用されるフレームレートアップコンバージョン両方向マッチングコーディングモードに基づいて決定される。
[0008]別の例では、ビデオデータを取得するための手段を含む装置が提供される。装置はさらに、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用するための手段を備え、ここにおいて、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されるときには、局所照明補償が当該ブロックに対して使用されることは許可されない。装置はさらに、当該ブロックについての動き情報を決定するための手段を備え、ここにおいて、動き情報は、当該ブロックに対して使用されるフレームレートアップコンバージョン両方向マッチングコーディングモードに基づいて決定される。
[0009]いくつかの態様では、局所照明補償フラグは、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されることに基づいて、当該ブロックに対してシグナリングされない。
[0010]いくつかの態様では、動き情報は、少なくとも1つの動きベクトルを含む。
[0011]いくつかの態様では、フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することは、第1の参照フレーム中の第1のブロックを決定することと、第2の参照フレーム中の第2のブロックを決定することとを含み、ここにおいて、第2のブロックは、第1のブロックに関連付けられている。フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することはさらに、第1のブロックから第2のブロックまでの動き軌道を決定することと、当該動き軌道の経路に沿って当該ブロックを生成することとを含むことができる。
[0012]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体は、復号デバイスによって実行されることができる、および/または復号デバイス中に含まれることができる。
[0013]いくつかの態様では、フレームレートアップカンバセーション(up-conversation)両方向マッチングは、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されることに基づいて、当該ブロックに対してシグナリングされる。これらの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対してシグナリングされることに応答して、偽(false)となるように局所照明補償フラグの値を導出することを含むことができる。これらの態様では、局所照明補償は、局所照明補償フラグが偽となるように導出されるときには使用されない。
[0014]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体は、符号化デバイスによって使用されることができる、および/または符号化デバイス中に含まれることができる。
[0015]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、動き情報を精緻化する(refine)ために1次テイラー展開最適化(a first-order Taylor expansion optimization)を実行することを含む。いくつかの態様では、1次テイラー展開最適化を実行することは、第1の参照ピクチャと第2の参照ピクチャとの時間的位置における当該ブロックの1次テイラー展開間の2乗誤差の和(a sum of squared error)(または絶対差分の和(a sum of absolute difference))を最小化することによって動きベクトルを導出することを含む。
[0016]いくつかの態様では、上述されたような装置は、ビデオデータを表示するためのディスプレイを含むことができる。
[0017]いくつかの態様では、上述されたような装置は、ピクチャをキャプチャするためのカメラを有するモバイルデバイスを含むことができる。
[0018]少なくとも一例によると、ビデオデータを取得することを含む、ビデオを処理する方法が提供される。方法はさらに、ビデオデータのブロックに対して局所照明補償を使用することを含み、ここで、局所照明補償が当該ブロックに対して使用されるときには、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されることは許可されない。方法はさらに、当該ブロックについての動き情報を決定することを含み、ここにおいて、動き情報は、局所照明補償が当該ブロックに対して使用された後に決定される。
[0019]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、ビデオデータを取得するように構成され、且つ取得することができる。プロセッサは、ビデオデータのブロックに対して局所照明補償を使用するように構成され、且つ使用することができ、ここにおいて、局所照明補償が当該ブロックに対して使用されるときには、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されることは許可されない。プロセッサは、当該ブロックについての動き情報を決定するように構成され、且つ決定することができ、ここにおいて、動き情報は、局所照明補償が当該ブロックに対して使用された後に決定される。
[0020]別の例では、プロセッサによって実行されると、ビデオデータを取得することを含む方法を実行する命令を記憶したコンピュータ可読媒体が提供される。方法はさらに、ビデオデータのブロックに対して局所照明補償を使用することを含み、ここで、局所照明補償が当該ブロックに対して使用されるときには、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されることは許可されない。方法はさらに、当該ブロックについての動き情報を決定することを含み、ここにおいて、動き情報は、局所照明補償が当該ブロックに対して使用された後に決定される。
[0021]別の例では、ビデオデータを取得するための手段を含む装置が提供される。装置はさらに、ビデオデータのブロックに対して局所照明補償を使用するための手段を備え、ここにおいて、局所照明補償が当該ブロックに対して使用されるときには、フレームレートアップコンバージョン両方向マッチングコーディングモードが当該ブロックに対して使用されることは許可されない。装置はさらに、当該ブロックについての動き情報を決定するための手段を備え、ここにおいて、動き情報は、局所照明補償が当該ブロックに対して使用された後に決定される。
[0022]いくつかの態様では、フレームレートアップコンバージョン両方向マッチングコーディングモードフラグは、局所照明補償が当該ブロックに対して使用されることに基づいて、当該ブロックに対してシグナリングされない。
[0023]いくつかの態様では、局所照明補償を使用することは、スケーリングファクタとオフセットとを導出するために最小2乗法(a least square method)を使用することを含む。
[0024]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体は、復号デバイスによって使用されることができる、および/または復号デバイス中に含まれることができる。
[0025]いくつかの態様では、局所照明補償は、局所照明補償が当該ブロックに対して使用されることに基づいて、当該ブロックに対してシグナリングされる。これらの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、局所照明補償が当該ブロックに対してシグナリングされることに応答して、偽(false)となるようにフレームレートアップコンバージョン両方向マッチングコーディングモードフラグについての値を導出することを含むことができ、ここで、フレームレートアップコンバージョン両方向マッチングコーディングモードは、フレームレートアップコンバージョン両方向マッチングコーディングモードフラグが偽となるように導出されるときには使用されない。
[0026]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体は、符号化デバイスによって使用されることができる、および/または符号化デバイス中に含まれることができる。
[0027]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、動き情報を精緻化する(refine)ために1次テイラー展開最適化を使用することを含むことができる。いくつかの態様では、1次テイラー展開最適化を使用することは、第1の参照ピクチャと第2の参照ピクチャとの時間的位置における当該ブロックの1次テイラー展開間の2乗誤差の和(または絶対差分の和)を最小化することによって動きベクトルを導出することを含む。
[0028]いくつかの態様では、上述されたような装置は、ビデオデータを表示するためのディスプレイを含むことができる。
[0029]いくつかの態様では、上述されたような装置は、ピクチャをキャプチャするためのカメラを有するモバイルデバイスを含むことができる。
[0030]少なくとも一例によると、ビデオデータビデオを取得することを含む、ビデオデータを取得する方法が提供される。方法はさらに、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することを含み、ここで、フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することは、当該ブロックにアフィン動きモデルを適用することを含む。方法はさらに、当該ブロックへのアフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定することを含む。方法はさらに、第1のアフィン動き情報と第2のアフィン動き情報とを使用して当該ブロックについての少なくとも1つの予測を決定することを含む。
[0031]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、ビデオデータを取得するように構成され、且つ取得することができる。プロセッサは、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用するように構成され、且つ使用することができ、ここにおいて、フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することは、当該ブロックにアフィン動きモデルを適用することを含む。プロセッサは、当該ブロックへのアフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定するように構成され、且つ決定することができる。プロセッサは、第1のアフィン動き情報と第2のアフィン動き情報とを使用して当該ブロックについての少なくとも1つの予測を決定するように構成され、且つ決定することができる。
[0032]別の例では、プロセッサによって実行されると、ビデオデータのビデオを取得することを含む方法を実行する命令を記憶したコンピュータ可読媒体が提供される。方法はさらに、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することを含み、ここで、フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することは、当該ブロックにアフィン動きモデルを適用することを含む。方法はさらに、当該ブロックへのアフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定することを含む。方法はさらに、第1のアフィン動き情報と第2のアフィン動き情報とを使用して当該ブロックについての少なくとも1つの予測を決定することを含む。
[0033]別の例では、ビデオデータを取得するための手段を含む装置が提供される。装置はさらに、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用するための手段を備え、ここにおいて、フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することは、当該ブロックにアフィン動きモデルを適用することを含む。装置はさらに、当該ブロックへのアフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定するための手段を備える。装置はさらに、第1のアフィン動き情報と第2のアフィン動き情報とを使用して当該ブロックについての少なくとも1つの予測を決定するための手段を備える。
[0034]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、当該ブロックについての第1の予測を決定することを含み、ここで、第1の予測は、第1の参照ピクチャと第1のアフィン動き情報とを使用して決定される。これらの態様はさらに、当該ブロックについての第2の予測を決定することを含むことができ、ここで、第2の予測は、第2の参照ピクチャと第2のアフィン動き情報とを使用して決定される。
[0035]いくつかの態様では、アフィン動きモデルは、平行移動(translation)動きモデルの代わりに適用される。
[0036]いくつかの態様では、アフィン動きモデルは、平行移動動きモデルに加えて適用される。
[0037]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、当該ブロックに平行移動動きモデルを適用することを含み、ここで、当該ブロックの平行移動動き情報は、平行移動動きモデルを使用して導出される。これらの態様はさらに、当該ブロックにアフィン動きモデルを適用することを含むことができ、ここで、平行移動動き情報は、第1のアフィン動き情報と第2のアフィン動き情報とを導出するためにアフィン動きモデルによって入力として使用される。
[0038]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、アフィン動きモデルのマッチングコストが平行移動動きモデルのマッチングコストより低いと決定することを含む。これらの態様はさらに、ビットストリーム中でアフィン動きモデルの適用をシグナリングすることを含むことができる。
[0039]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、アフィン動きモデルのマッチングコストが平行移動動きモデルのマッチングコストより高いと決定することを含む。これらの態様はさらに、ビットストリーム中で平行移動動きモデルの適用をシグナリングすることを含むことができる。
[0040]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、当該ブロックのサイズがしきい値サイズより大きいと決定することを含み、ここで、アフィン動きモデルは、当該ブロックのサイズがしきい値サイズより大きいと決定することに応答して当該ブロックに適用される。
[0041]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、当該ブロックについての少なくとも予測をリファイン(精緻化)する(refine)ために1次テイラー展開最適化を実行することを含む。いくつかの態様では、1次テイラー展開最適化を実行することは、第1の参照ピクチャと第2の参照ピクチャとの時間的位置におけるブロックの1次テイラー展開間の2乗誤差の和(または絶対差分の和)を最小化することによって動きベクトルを導出することを含む。
[0042]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体は、復号デバイスによって実施されることができる、および/または復号デバイス中に含まれることができる。
[0043]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体は、符号化デバイスによって実施されることができる、および/または符号化デバイス中に含まれることができる。
[0044]いくつかの態様では、上述されたような装置は、ビデオデータを表示するためのディスプレイを含むことができる。
[0045]いくつかの態様では、上述されたような装置は、ピクチャをキャプチャするためのカメラを有するモバイルデバイスを含むことができる。
[0046]この発明の概要は、特許請求される主題の基幹的または本質的な特徴を識別することを意図されてはおらず、特許請求される主題の範囲を決定するために単独で使用されることも意図されてはいない。主題は、この特許の明細書全体の適切な部分、任意または全ての図面、および各請求項を参照することによって理解されるべきである。
[0047]前述は、他の特徴および実施形態とともに、後続の明細書、特許請求の範囲、および添付の図面を参照するとより明らかとなるであろう。
[0048]様々なインプリメンテーションの例が、次の図面を参照して以下に詳細に説明される。
符号化デバイスおよび復号デバイスの例を例示するブロック図である。 マージモードについての空間的MV候補を導出するための方法の例を例示する。 AVMPモードについての空間的近隣MV候補を導出するための方法の例を例示する。 TMVP候補の実例的な導出を例示する 動きベクトル(MV)スケーリングの例を例示する。 フレームレートアップコンバージョンにおける一方向(unilateral)動き推定の例を例示する。 フレームレートアップコンバージョンのための両方向動き推定の例を例示する。 テンプレートマッチングベースの復号器側動きベクトル導出の例を例示する。 ミラーベースの双方向(bi-directional)動きベクトル導出の例を例示する。 pu_dmvd_flagを含むPUを復号するためのプロセスの例を例示する。 両方向マッチングの例を例示する。 テンプレートマッチングの例を例示する。 照明補償パラメータを導出するために近隣サンプルを使用する例を例示する。 現在のブロックについての簡略化されたアフィン動きモデルの例を例示する。 ブロックのサブブロックを使用して決定される動きベクトルフィールドの例を例示する。 AF_INTERモードでの動きベクトル予測の例を例示する。 AF_MERGEモードでの動きベクトル予測の例を例示する。 AF_MERGEモードでの動きベクトル予測の例を例示する。 フレームレートアップコンバージョンのためのプロセスの例を例示する。 フレームレートアップコンバージョンのためのプロセスの例を例示する。 フレームレートアップコンバージョンのためのプロセスの例を例示する。 実例的な符号化デバイスを例示するブロック図である。 実例的なビデオ復号デバイスを例示するブロック図である。
詳細な説明
[0071]ある特定の態様およびインプリメンテーションが以下に提供される。当業者に明らかであるように、これらの態様およびインプリメンテーションのうちのいくつかは、独立して適用されえ、およびそれらのうちのいくつかは、組み合わせて適用されうる。以下の説明では、説明を目的として、特定の詳細が様々なインプリメンテーションの完全な理解を提供するために記載される。しかしながら、様々なインプリメンテーションがこれらの特定の詳細なしに実施されうることは明らかであろう。図面および説明は、制限的であるとは意図されない。
[0072]次に続く説明は、実例的なインプリメンテーションのみを提供しており、本開示の範囲、適用可能性、または構成を限定することを意図されてはいない。むしろ、実例的なインプリメンテーションの次に続く説明は、ある例をインプリメントすることを可能にする説明を当業者に提供するであろう。添付された特許請求の範囲中に記載されているような本発明の精神および範囲から逸脱することなしに、要素の機能および配列において様々な変更がなされうることは理解されるべきである。
[0073]特定の詳細は、異なるインプリメンテーションの完全な理解を提供するために、以下の説明中で与えられる。しかしながら、それらのインプリメンテーションがこれらの特定の詳細なしに実施されうることは、当業者によって理解されるであろう。例えば、回路、システム、ネットワーク、プロセス、および他のコンポーネントは、不必要な詳細で例を曖昧にしないために、ブロック図形式のコンポーネントとして示されうる。他の事例では、よく知られている回路、プロセス、アルゴリズム、構造、および技法が、例を曖昧にすることを避けるために、不必要な詳細なしに示されうる。
[0074]また、個々のインプリメンテーションが、フローチャート、フロー図、データフロー図、構造図、またはブロック図として図示されるプロセスとして説明されうることに留意されたい。フローチャートは、順次的なプロセスとして動作を説明しうるが、動作の多くは、並行してまたは同時に実行されることができる。加えて、動作の順序は再配列されうる。プロセスは、その動作が完了すると終了されるが、図面に含まれていない追加のステップを有する可能性がある。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラム、等に対応しうる。プロセスが関数に対応するとき、その終了は、その関数のcalling関数またはmain関数への戻りに対応する可能性がある。
[0075]「コンピュータ可読媒体」という用語は、ポータブルまたは非ポータブル記憶デバイスと、光記憶デバイスと、命令(1つ以上)および/またはデータを記憶、包含、あるいは搬送することが可能である様々な他の媒体とを含むが、それらに限定されない。コンピュータ可読媒体は、データが記憶されることができ、且つワイヤレスにあるいはワイヤード接続を通して伝搬する搬送波および/または一時的電子信号を含まない、非一時的媒体を含みうる。非一時的媒体の例は、磁気ディスクまたはテープ、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD)、フラッシュメモリ、メモリまたはメモリデバイスのような光記憶媒体を含みうるが、それらに限定されない。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラム文の任意の組み合わせを表しうるコードおよび/または機械実行可能命令を記憶していることがありうる。コードセグメントは、情報、データ、引き数、パラメータ、またはメモリコンテンツを渡すおよび/または受け取ることによって別のコードセグメントまたはハードウェア回路に結合されうる。情報、引き数、パラメータ、データ、等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信、または同様のものを含む任意の適した手段を介して渡されうるか、転送されうるか、または送信されうる。
[0076]さらに、様々な例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによってインプリメントされうる。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードにおいてインプリメントされたとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(例えば、コンピュータプログラム製品)は、コンピュータ可読または機械可読媒体中に記憶されうる。プロセッサ(1つ以上)は、必要なタスクを実行しうる。
[0077]より多くのデバイスおよびシステムがデジタルビデオデータを消費する能力を消費者に提供するにつれて、効率的なビデオコーディング技法の必要性がより重要になる。ビデオコーディングは、デジタルビデオデータ中に存在する大量のデータを扱うのに必要な記憶および送信要件を低減するために必要とされる。様々なビデオコーディング技法は、ビデオデータをより低いビットレートを使用する形態へと圧縮しつつ、高いビデオ品質を維持するために使用されうる。ここに使用される場合、「コーディング」は、「符号化」または「復号」を指す。
[0078]図1は、符号化デバイス104および復号デバイス112を含むビデオコーディングシステム100の例を例示するブロック図である。符号化デバイス104は、ソースデバイスの一部であり得、および復号デバイス112は、受信デバイスの一部でありうる。ソースデバイスおよび/または受信デバイスは、モバイルまたは固定の電話ハンドセット(例えば、スマートフォン、セルラ電話、または同様のもの)、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス、インターネットプロトコル(IP)カメラのような電子デバイス、または任意の他の適した電子デバイスを含みうる。いくつかの例では、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための1つまたは複数のワイヤレストランシーバを含みうる。ここに説明されるコーディング技法は、(例えば、インターネットを通した)ストリーミングビデオ送信、テレビブロードキャストまたは送信、データ記憶媒体上での記憶のためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用を含む、様々なマルチメディア適用におけるビデオコーディングに適用可能である。いくつかの例では、システム100は、ビデオ会議、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、ゲーミング、および/またはビデオ電話通信のような適用をサポートするために、1方向(one-way)または2方向(two-way)のビデオ送信をサポートすることができる。
[0079]符号化デバイス104(または符号化器)は、符号化されたビデオビットストリームを生成すべく、ビデオコーディング規格またはプロトコルを使用してビデオデータを符号化するために使用されることができる。ビデオコーディング規格の例は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張を含む(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264、および高効率ビデオコーディング(HEVC)またはITU−T H.265を含む。範囲およびスクリーンコンテンツコーディング拡張、3Dビデオコーディング(3D−HEVC)およびマルチビュー拡張(MV−HEVC)およびスケーラブル拡張(SHVC)を含む、マルチレイヤビデオコーディングを扱うHEVCへの様々な拡張が存在する。HEVCおよびその拡張は、ITU−T ビデオコーディングエキスパートグループ(VCEG)およびISO/IECモーションピクチャエキスパートグループ(MPEG)のビデオコーディングに関する共同コラボレーションチーム(JCT−VC:the Joint Collaboration Team on Video Coding)ならびに3Dビデオコーディング拡張開発に関する共同コラボレーションチーム(JCT−3V:Joint Collaboration Team on 3D Video Coding Extension Development)によって開発されてきた。MPEGとITU−T VCEGとはまた、次世代のビデオコーディング規格のための新しいコーディングツールを調査するために、共同調査ビデオチーム(JVET)を結成した。参照ソフトウェアは、JEM(共同調査モデル)と呼ばれる。
[0080]ここに説明される多くの例は、JEMモデル、HEVC規格、および/またはそれらの拡張を使用した例を提供する。しかしながら、ここに説明される技法およびシステムはまた、AVC、MPEG、それらの拡張のような他のコーディング規格、あるいは現在存在する他の適したコーディング規格または将来のコーディング規格に適用可能でありうる。それ故に、ここに説明される技法およびシステムは、特定のビデオコーディング規格を参照して説明されうるが、当業者は、その説明がその特定の規格にしか適用されないと解釈されるべきではないことを認識するであろう。
[0081]図1を参照すると、ビデオソース102は、符号化デバイス104にビデオデータを提供しうる。ビデオソース102は、ソースデバイスの一部でありうるか、またはソースデバイス以外のデバイスの一部でありうる。ビデオソース102は、ビデオキャプチャデバイス(例えば、ビデオカメラ、カメラ電話、ビデオ電話、または同様のもの)、記憶されたビデオを包含するビデオアーカイブ、ビデオデータを提供するビデオサーバまたはコンテンツプロバイダ、ビデオサーバまたはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組み合わせ、または任意の他の適したビデオソースを含みうる。
[0082]ビデオソース102からのビデオデータは、1つまたは複数の入力ピクチャまたはフレームを含みうる。ビデオのピクチャまたはフレームは、あるシーンの静止画像である。符号化デバイス104の符号化器(エンコーダ)エンジン106(または符号化器)は、符号化されたビデオビットストリームを生成するためにビデオデータを符号化する。いくつかの例では、符号化されたビデオビットストリーム(あるいは、「ビデオビットストリーム」または「ビットストリーム」)は、一連の1つまたは複数のコーディングされたビデオシーケンスである。コーディングされたビデオシーケンス(CVS)は、ベースレイヤ中のランダムアクセスポイントピクチャを有し、且つある特定の特性を有するアクセスユニット(AU)から開始し、ベースレイヤ中のランダムアクセスポイントピクチャを有し、且つある特定の特性を有する次のAUまでの、およびそれを含まない一連のAUを含む。例えば、CVSを開始するランダムアクセスポイントピクチャのある特定の特性は、1に等しいRASLフラグ(例えば、NoRaslOutputFlag)を含みうる。そうでない場合は、(0に等しいRASLフラグを有する)ランダムアクセスポイントピクチャは、CVSを開始しない。アクセスユニット(AU)は、1つまたは複数のコーディングされたピクチャ、および同じ出力時間を共有するそのコーディングされたピクチャに対応する制御情報を含む。ピクチャのコーディングされたスライスは、ネットワーク抽象化レイヤ(NAL)ユニットと呼ばれるデータユニットへとビットストリームレベルでカプセル化される。例えば、HEVCビデオビットストリームは、NALユニットを含む1つまたは複数のCVSを含みうる。NALユニットの各々は、NALユニットヘッダを有する。一例では、ヘッダは、(マルチレイヤ拡張を除き)H.264/AVCの場合は1バイト、およびHEVCの場合は2バイトである。NALユニットヘッダ中のシンタックス要素は、指定されたビットを取り、したがって、とりわけ、トランスポートストリーム、リアルタイムトランスポート(RTP)プロトコル、ファイルフォーマットのような、全ての種類のシステムおよびトランスポートレイヤに対して可視である。
[0083]ビデオコーディングレイヤ(VCL)NALユニットおよび非VCL NALユニットを含む、2つのクラスのNALユニットがHEVC規格中に存在する。VCL NALユニットは、コーディングされたピクチャデータの1つのスライスまたはスライスセグメント(以下に説明される)を含み、および非VCL NALユニットは、1つまたは複数のコーディングされたピクチャに関連する制御情報を含む。いくつかのケースでは、NALユニットは、パケットと呼ばれることができる。1つのHEVC AUは、コーディングされたピクチャデータを包含するVCL NALユニットと、コーディングされたピクチャデータに対応する非VCL NALユニット(ある場合には)とを含む。
[0084]NALユニットは、ビデオ中のピクチャのコーディングされた表現のような、ビデオデータのコーディングされた表現を形成するビットのシーケンス(例えば、符号化されたビデオビットストリーム、ビットストリームのCVS、または同様のもの)を包含しうる。符号化器エンジン106は、各ピクチャを複数のスライスへと区分化することによってピクチャのコーディングされた表現を生成する。スライスは、同じピクチャ内の他のスライスからのデータへの依存なしにスライス中の情報がコーディングされるように、他のスライスとは独立している。スライスは、独立スライスセグメントと、存在する場合は、以前のスライスセグメントに従属する1つまたは複数の従属スライスセグメントとを含む1つまたは複数のスライスセグメントを含む。スライスはその後、ルーマサンプルおよびクロマサンプルのコーディングツリーブロック(CTB)へと区分化される。ルーマサンプルの1つのCTBおよびクロマサンプルの1つまたは複数のCTBは、サンプルのためのシンタックスとともに、コーディングツリーユニット(CTU)と呼ばれる。CTUは、HEVC符号化のための基本処理ユニットである。CTUは、変動するサイズの複数のコーディングユニット(CU)へと分けられることができる。CUは、コーディングブロック(CB)と呼ばれるルーマおよびクロマサンプルアレイを包含する。
[0085]ルーマおよびクロマCBはさらに、予測ブロック(PB)へとさらに分けられることができる。PBは、(利用可能であるか、または使用のためにイネーブルにされるときに)インター予測またはイントラブロックコピー予測のために同じ動きパラメータを使用するルーマ成分またはクロマ成分のサンプルのブロックである。1つのルーマPBおよび1つまたは複数のクロマPBは、関連するシンタックスとともに、予測ユニット(PU)を形成する。インター予測の場合、動きパラメータのセット(例えば、1つまたは複数の動きベクトル、参照インデックス、または同様のもの)は、各PUについてビットストリーム中でシグナリングされ、1つのルーマPBおよび1つまたは複数のクロマPBのインター予測のために使用される。動きパラメータはまた、動き情報と呼ばれることができる。CBはまた、1つまたは複数の変換ブロック(TB)へと区分化されることができる。TBは、同じ2次元変換が予測残差信号をコーディングするために適用される色成分のサンプルの正方形(square)ブロックを表す。変換ユニット(TU)は、ルーマおよびクロマサンプルのTB、および対応するシンタックス要素を表す。
[0086]CUのサイズは、コーディングモードのサイズに対応し、および形状が正方形でありうる。例えば、CUのサイズは、8×8サンプル、16×16サンプル、32×32サンプル、64×64サンプル、または最大で対応するCTUのサイズまでの任意の他の適切なサイズでありうる。「N×N」というフレーズは、垂直および水平寸法の観点からビデオブロックのピクセル寸法(例えば、8ピクセル×8ピクセル)を指すためにここでは使用されうる。ブロック中のピクセルは、行と列中に配列されうる。いくつかの例では、ブロックは、水平方向に、垂直方向と同じ数のピクセルを有さないことがありうる。CUに関連付けられたシンタックスデータは、例えば、CUの1つまたは複数のPUへの区分化を記述しうる。区分化モードは、CUがイントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なりうる。PUは、形状が非正方形になるように区分化されうる。CUに関連付けられたシンタックスデータはまた、例えば、CTUにしたがったCUの1つまたは複数のTUへの区分化を記述しうる。TUは、形状が正方形または非正方形であることができる。
[0087]HEVC規格によると、変換は、変換ユニット(TU)を使用して実行されうる。TUは、CUによって異なりうる。TUは、所与のCU内のPUのサイズに基づいてサイジングされうる。TUは、PUと同じサイズでありうるか、またはより小さくありうる。いくつかの例では、CUに対応する残差サンプルは、残差四分木(RQT)として知られる四分木構造を使用してより小さいユニットへと再分割されうる。RQTのリーフノードは、TUに対応しうる。TUに関連付けられたピクセル差分値は、変換係数を作り出すために変換されうる。変換係数はその後、符号化器エンジン106によって量子化されうる。
[0088]ビデオデータのピクチャがCUへと区分化されると、符号化器エンジン106は、予測モードを使用して各PUを予測する。予測ユニットまたは予測ブロックはその後、残差を得るために元のビデオデータから減算される(以下に説明される)。各CUについて、予測モードは、シンタックスデータを使用してビットストリーム内部でシグナリングされうる。予測モードは、イントラ予測(またはイントラピクチャ予測)あるいはインター予測(またはインターピクチャ予測)を含みうる。イントラ予測は、ピクチャ内の空間的に近隣するサンプル間の相関を利用する。例えば、イントラ予測を使用して、各PUは、例えば、PUについての平均値を見出すためのDC予測、平面表面(planar surface)をPUに合わせるための平面予測、隣接データから補外する(extrapolate)ための方向予測、または任意の他の適したタイプの予測を使用して、同じピクチャ中の隣接画像データから予測される。インター予測は、画像サンプルのブロックについての動き補償予測を導出するために、ピクチャ間の時間的相関を使用する。例えば、インター予測を使用して、各PUは、(出力順序で現在のピクチャの前または後の)1つまたは複数の参照ピクチャ中の画像データからの動き補償予測を使用して予測される。ピクチャエリアを、インターピクチャ予測を使用してコーディングするか、またはイントラピクチャ予測を使用してコーディングするかの決定は、例えば、CUレベルでなされうる。
[0089]いくつかの例では、ピクチャの1つまたは複数のスライスは、スライスタイプを割り当てられる。スライスタイプは、Iスライス、Pスライス、およびBスライスを含む。Iスライス(イントラフレーム、独立して復号可能)は、イントラ予測によってのみコーディングされるピクチャのスライスであり、およびしたがって、Iスライスがスライスの任意の予測ユニットまたは予測ブロックを予測するためにフレーム内のデータしか必要としないことから、独立して復号可能である。Pスライス(単方向(uni-directional)予測フレーム)は、イントラ予測で、および単方向インター予測でコーディングされうるピクチャのスライスである。Pスライス内の各予測ユニットまたは予測ブロックは、イントラ予測でコーディングされるか、またはインター予測でコーディングされるかのいずれかである。インター予測が適用されると、予測ユニットまたは予測ブロックは、1つの参照ピクチャによってのみ予測され、およびしたがって、参照サンプルは、1つのフレームの1つの参照領域からのもののみである。Bスライス(双方向予測フレーム)は、イントラ予測で、およびインター予測で(例えば、双予測(bi-prediction)または単予測(uni-prediction)のいずれかで)コーディングされうるピクチャのスライスである。Bスライスの予測ユニットまたは予測ブロックは、2つの参照ピクチャから双方向に予測されえ、ここで、各ピクチャは、1つの参照領域を与え(contributes)、2つの参照領域のサンプルセットは、双方向予測ブロックの予測信号を作り出すために(例えば、等しい重みで、または異なる重みで)重み付けされる。上述されたように、1つのピクチャのスライスは、独立してコーディングされる。いくつかのケースでは、ピクチャは、単に1つのスライスとしてコーディングされることができる。
[0090]PUは、予測プロセスに関連するデータ(例えば、動きパラメータまたは他の適したデータ)を含みうる。例えば、PUがイントラ予測を使用して符号化されるとき、PUは、PUに対するイントラ予測モードを記述するデータを含みうる。別の例として、PUがインター予測を使用して符号化されるとき、PUは、PUについての動きベクトルを定義するデータを含みうる。PUについての動きベクトルを定義するデータは、例えば、動きベクトルの水平成分(Δx)、動きベクトルの垂直成分(Δy)、動きベクトルについての解像度(例えば、整数精度、4分の1ピクセル精度、または8分の1ピクセル精度)、動きベクトルが指し示す参照ピクチャ、参照インデックス、動きベクトルについての参照ピクチャリスト(例えば、リスト0、リスト1、またはリストC)、あるいはそれらの任意の組み合わせを記述しうる。
[0091]符号化デバイス104はその後、変換および量子化を実行しうる。例えば、予測に続いて、符号化器エンジン106は、PUに対応する残差値を算出しうる。残差値は、コーディングされるピクセルの現在のブロック(PU)と、現在のブロックを予測するために使用される予測ブロック(例えば、予測されたバージョンの現在ブロック)との間のピクセル差分値を備えうる。例えば、予測ブロックを生成した(例えば、インター予測またはイントラ予測を出した)後に、符号化器エンジン106は、現在のブロックから予測ユニットによって作り出される予測ブロックを減算することによって残差ブロックを生成することができる。残差ブロックは、現在のブロックのピクセル値と予測ブロックのピクセル値との間の差分を定量化するピクセル差分値のセットを含む。いくつかの例では、残差ブロックは、2次元ブロックフォーマット(例えば、ピクセル値の2次元行列または配列)で表されうる。そのような例では、残差ブロックは、ピクセル値の2次元表現である。
[0092]予測が実行された後に残りうる任意の残差データは、ブロック変換を使用して変換され、それは、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、他の適した変換関数、またはそれらの任意の組み合わせに基づきうる。いくつかのケースでは、1つまたは複数のブロック変換(例えば、サイズ32×32、16×16、8×8、4×4、または同様のもの)が、各CU中の残差データに適用されうる。いくつかの例では、TUが、符号化器エンジン106によってインプリメントされる変換および量子化プロセスのために使用されうる。1つまたは複数のPUを有する所与のCUはまた、1つまたは複数のTUを含みうる。以下にさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数へと変換されえ、およびその後、エントロピーコーディングのための直列化された(serialized)変換係数を作り出すために、TUを使用して量子化および走査されうる。
[0093]いくつかの例では、CUのPUを使用するイントラ予測またはインター予測コーディングに続いて、符号化器エンジン106は、CUのTUについての残差データを算出しうる。PUは、空間的ドメイン(またはピクセルドメイン)中のピクセルデータを備えうる。TUは、ブロック変換の適用後の変換ドメイン中の係数を備えうる。前述されたように、残差データは、PUに対応する予測値および符号化されていないピクチャのピクセル間のピクセル差分値に対応しうる。符号化器エンジン106は、CUについての残差データを含むTUを形成しえ、およびその後、CUについての変換係数を作り出すためにTUを変換しうる。
[0094]符号化器エンジン106は、変換係数の量子化を実行しうる。量子化は、係数を表すために使用されるデータの量を低減するために、変換係数を量子化することによって、さらなる圧縮を提供する。例えば、量子化は、係数のうちのいくつかまたは全てに関連付けられたビット深度を低減しうる。一例では、nビット値を有する係数は、量子化中にmビット値に切り捨てられえ、nは、mよりも大きい。
[0095]量子化が実行されると、コーディングされたビデオビットストリームは、量子化された変換係数、予測情報(例えば、予測モード、動きベクトル、ブロックベクトル、または同様のもの)、区分化情報、および他のシンタックスデータのような任意の他の適したデータを含む。コーディングされたビデオビットストリームの異なる要素はその後、符号化器エンジン106によってエントロピー符号化されうる。いくつかの例では、符号化器エンジン106は、エントロピー符号化されることができる直列化されたベクトルを作り出すために、量子化された変換係数を走査するための予め定義された走査順序を利用しうる。いくつかの例では、符号化器エンジン106は、適応走査を実行しうる。ベクトル(例えば、1次元ベクトル)を形成するために、量子化された変換係数を走査した後に、符号化器エンジン106は、ベクトルをエントロピー符号化しうる。例えば、符号化器エンジン106は、コンテキスト適応可変長コーディング(context adaptive variable length coding)、コンテキスト適応バイナリ算術コーディング(context adaptive binary arithmetic coding)、シンタックスベースのコンテキスト適応バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding)、確率間隔区分化エントロピーコーディング(probability interval partitioning entropy coding)、または別の適したエントロピー符号化技法を使用しうる。
[0096]前述されたように、HEVCビットストリームは、VCL NALユニットおよび非VCL NALユニットを含む、NALユニットのグループを含む。VCL NALユニットは、コーディングされたビデオビットストリームを形成するコーディングされたピクチャデータを含む。例えば、コーディングされたビデオビットストリームを形成するビットのシーケンスは、VCL NALユニット中で再び送られる。非VCL NALユニットは、他の情報に加えて、符号化されたビデオビットストリームに関連する高レベル情報を有するパラメータセットを包含しうる。例えば、パラメータセットは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)を含みうる。パラメータセットの目的の例は、ビットレート効率、誤り耐性、およびシステムレイヤインターフェースを提供することを含む。各スライスは、スライスを復号するために復号デバイス112が使用しうる情報にアクセスすべく、単一のアクティブPPS、SPS、およびVPSを参照する。識別子(ID)は、VPS ID、SPS ID、およびPPS IDを含むパラメータセットごとにコーディングされうる。SPSは、SPS IDおよびVPS IDを含む。PPSは、PPS IDおよびSPS IDを含む。各スライスヘッダは、PPS IDを含む。IDを使用して、アクティブパラメータセットは、所与のスライスについて識別されることができる。
[0097]PPSは、所与の1ピクチャ中の全てのスライスに適用される情報を含む。このことから、1ピクチャ中の全てのスライスは、同じPPSを参照する。異なるピクチャ中のスライスもまた、同じPPSを参照しうる。SPSは、同じコーディングされたビデオシーケンス(CVS)またはビットストリーム中の全てのピクチャに適用される情報を含む。前述されたように、コーディングされたビデオシーケンスは、(上述された)ある特定のプロパティを有し、ベースレイヤ中のランダムアクセスポイントピクチャ(例えば、瞬時復号参照(IDR:instantaneous decode reference)ピクチャまたはブロークンリンクアクセス(BLA)ピクチャ、あるいは他の適切なランダムアクセスポイントピクチャ)から開始し、ベースレイヤ中にランダムアクセスポイントピクチャを有し、且つある特定のプロパティを有する次のアクセスユニット(AU)(またはビットストリームの終了)までの、およびそれを含まない一連のAUである。SPS中の情報は、コーディングされたビデオシーケンス内のピクチャごとに変化しないことがありうる。コーディングされたビデオシーケンス中のピクチャは、同じSPSを使用しうる。VPSは、コーディングされたビデオシーケンスまたはビットストリーム内の全てのレイヤに適用される情報を含む。VPSは、コーディングされたビデオシーケンス全体に適用されるシンタックス要素を有するシンタックス構造を含む。いくつかの例では、VPS、SPS、またはPPSは、符号化されたビデオビットストリームで帯域内で送信されうる。いくつかの例では、VPS、SPS、またはPPSは、コーディングされたビデオデータを包含するNALユニットとは別個の送信中で帯域外で送信されうる。
[0098]ビデオビットストリームはまた、補足エンハンスメント情報(SEI:Supplemental Enhancement Information)メッセージを含むことができる。例えば、SEI NALユニットは、ビデオビットストリームの一部であることができる。いくつかのケースでは、SEIメッセージは、復号プロセスによって必要とされない情報を包含することができる。例えば、SEIメッセージ中の情報は、復号器がビットストリームのビデオピクチャを復号するのに不可欠ではないことがありうるが、復号器は、ピクチャの表示または処理を改善するためにその情報を使用することができる(例えば、復号された出力)。SEIメッセージ中の情報は、埋め込まれたメタデータであることができる。1つの例示的な例では、SEIメッセージ中の情報は、コンテンツの見易さを改善するために復号器側エンティティによって使用されることができる。いくつかの事例では、ある特定の適用規格は、品質の改善が適用規格に適合する全てのデバイスにもたらされることができるように、ビットストリーム中におけるそのようなSEIメッセージの存在を義務付けうる(例えば、フレーム互換平面立体3DTVビデオフォーマット(frame-compatible plano-stereoscopic 3DTV video format)のためのフレームパッキングSEIメッセージ(the frame-packing SEI message)の搬送、ここで、SEIメッセージは、ビデオのフレームごとに搬送され、多くの他の例に加えて、回復ポイントSEIメッセージ(a recovery point SEI message)の処理、DVBにおけるパンスキャン走査矩形SEIメッセージ(pan-scan scan rectangle SEI message)の使用のために搬送される)。
[0099]符号化デバイス104の出力110は、受信デバイスの復号デバイス112に通信リンク120を通して、符号化されたビデオデータを構成するNALユニットを送りうる。復号デバイス112の入力114は、NALユニットを受信しうる。通信リンク120は、ワイヤレスネットワーク、ワイヤードネットワーク、またはワイヤードネットワークとワイヤレスネットワークとの組み合わせによって提供されるチャネルを含みうる。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組み合わせを含みえ、および任意の適したワイヤレスネットワーク(例えば、インターネットまたは他のワイドエリアネットワーク、パケットベースのネットワーク、WiFi(登録商標)、無線周波数(RF)、UWB、WiFi−Direct、セルラ、ロングタームエボリューション(LTE(登録商標))、WiMax(登録商標)、または同様のもの)を含みうる。ワイヤードネットワークは、任意のワイヤードインターフェース(例えば、ファイバ、イーサネット(登録商標)、電力線イーサネット、同軸ケーブルを通したイーサネット、デジタル信号線(DSL)、または同様のもの)を含みうる。ワイヤードおよび/またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチ、または同様のもののような様々な機器を使用してインプリメントされうる。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、および受信デバイスに送信されうる。
[0100]いくつかの例では、符号化デバイス104は、記憶装置(storage)108中に符号化されたビデオデータを記憶しうる。出力110は、符号化器エンジン106から、または記憶装置108から、符号化されたビデオデータを取り出しうる。記憶装置108は、多様な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちの任意のものを含みうる。例えば、記憶装置108は、ハードドライブ、記憶ディスク、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化されたビデオデータを記憶するための任意の他の適したデジタル記憶媒体を含みうる。
[0101]復号デバイス112の入力114は、符号化されたビデオビットストリームを受信し、および復号器(デコーダ)エンジン116に、または復号器エンジン116による後の使用のために記憶装置(storage)118にビデオビットストリームデータを提供しうる。復号器エンジン116は、(例えば、エントロピー復号器を使用した)エントロピー復号、および符号化されたビデオデータを構成する1つまたは複数のコーディングされたビデオシーケンスの要素を抽出することによって、符号化されたビデオビットストリームデータを復号しうる。復号器エンジン116はその後、符号化されたビデオビットストリームデータを再スケーリングし、それに対して逆変換を実行しうる。残差データはその後、復号器エンジン116の予測段に渡される。復号器エンジン116はその後、ピクセルのブロック(例えば、PU)を予測する。いくつかの例では、予測は、逆変換の出力に追加される(残差データ)。
[0102]復号デバイス112は、ビデオ宛先デバイス112に復号されたビデオを出力しえ、それは、コンテンツの消費者に復号されたビデオデータを表示するためのディスプレイまたは他の出力デバイスを含みうる。いくつかの態様では、ビデオ宛先デバイス122は、復号デバイス112を含む受信デバイスの一部でありうる。いくつかの態様では、ビデオ宛先デバイス122は、受信デバイス以外の別個のデバイスの一部でありうる。
[0103]いくつかの例では、ビデオ符号化デバイス104および/またはビデオ復号デバイス112は、それぞれ、オーディオ符号化デバイスおよびオーディオ復号デバイスと一体化されうる。ビデオ符号化デバイス104および/またはビデオ復号デバイス112はまた、1つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組み合わせのような、上述されたコーディング技法をインプリメントするのに必要な他のハードウェアまたはソフトウェアを含みうる。ビデオ符号化デバイス104およびビデオ復号デバイス112は、それぞれのデバイス中で、組み合わされた符号化器/復号器(コーデック)の一部として一体化されうる。符号化デバイス104の特定の詳細の例は、図19を参照して以下に説明される。復号デバイス112の特定の詳細の例は、図20を参照して以下に説明される。
[0104]HEVC規格への拡張は、MV−HEVCと呼ばれるマルチビュービデオコーディング拡張と、SHVCと呼ばれるスケーラブルビデオコーディング拡張とを含む。MV−HEVCおよびSHVC拡張は、レイヤードコーディングの概念を共有しており、異なるレイヤが、符号化されたビデオビットストリーム中に含まれる。コーディングされたビデオシーケンス中の各レイヤは、一意のレイヤ識別子(ID)によってアドレスされる。レイヤIDは、NALユニットが関連付けられるレイヤを識別するために、NALユニットのヘッダ中に存在しうる。MV−HEVCでは、異なるレイヤは通常、ビデオビットストリーム中の同じシーンの異なるビューを表す。SHVCでは、ビデオビットストリームを、異なる空間的解像度(またはピクチャ解像度)で、あるいは異なる再構築忠実度(reconstruction fidelities)で表す、異なるスケーラブルレイヤが提供される。スケーラブルレイヤは、(レイヤID=0の)ベースレイヤと、(レイヤID=1、2、...nの)1つまたは複数のエンハンスメントレイヤとを含みうる。ベースレイヤは、第1のバーションのHEVCのプロファイルに適合しえ、およびビットストリーム中の最下位の利用可能レイヤを表す。エンハンスメントレイヤは、ベースレイヤと比較して、増大された空間的解像度、時間的解像度またはフレームレート、および/または再構築忠実性(または品質)を有する。エンハンスメントレイヤは、階層的に編成され、およびより下位のレイヤに従属することも(またはしないことも)ありうる。いくつかの例では、異なるレイヤは、単一の標準コーデックを使用してコーディングされうる(例えば、全てのレイヤは、HEVC、SHVC、または他のコーディング規格を使用して符号化される)。いくつかの例では、異なるレイヤは、マルチ標準コーデックを使用してコーディングされうる。例えば、ベースレイヤは、AVCを使用してコーディングされえ、その一方で、1つまたは複数のエンハンスメントレイヤは、HEVC規格へのSHVCおよび/またはMV−HEVC拡張を使用してコーディングされうる。
[0105]上述されたように、各ブロックについて、(ここでは動きパラメータとも呼ばれる)動き情報のセットが利用可能であることができる。動き情報のセットは、前方(forward)および後方(backward)予測方向についての動き情報を包含することができる。ここでは、前方および後方予測方向は、双方向予測モードの2つの予測方向であり、「前方」および「後方」という用語は、必ずしも幾何学的意味を有してはいない。代わりに、前方および後方は、現在ピクチャの参照ピクチャリスト0(RefPicList0)と参照ピクチャリスト1(RefPicList1)とに対応することができる。いくつかの例では、1つの参照ピクチャリストしかピクチャまたはスライスに対して利用可能でないとき、RefPicList0のみが利用可能であり、およびスライスの各ブロックの動き情報は、常に前方である。いくつかの例では、RefPicList0は、時間的に現在のピクチャに先行する参照ピクチャを含み、およびRefPicList1は、時間的に現在のピクチャに後続する参照ピクチャを含む。
[0106]いくつかのケースでは、関連する参照インデックスとともに動きベクトルは、復号プロセスにおいて使用されることができる。関連する参照インデックスを有するそのような動きベクトルは、動き情報の単予測セットとして表される。
[0107]各予測方向について、動き情報は、参照インデックスおよび動きベクトルを包含することができる。いくつかのケースでは、簡潔さのために、動きベクトルは、関連する情報を有することができ、それから、動きベクトルが関連する参照インデックスを有する方法が想定されることができる。参照インデックスは、現在の参照ピクチャリスト(RefPicList0またはRefPicList1)中の参照ピクチャを識別するために使用されることができる。動きベクトルは、現在のピクチャ中の座標位置から参照インデックスによって識別される参照ピクチャ中の座標へのオフセットを提供する水平および垂直成分を有することができる。例えば、参照インデックスは、現在のピクチャ中のブロックに対して使用されるべき特定の参照ピクチャを示すことができ、および動きベクトルは、参照ピクチャ中で、最もマッチするブロック(現在のブロックに最もマッチするブロック)が参照ピクチャ中のどこにあるかを示すことができる。
[0108]ピクチャ順序カウント(POC)は、ピクチャの表示順序を識別するためにビデオコーディング規格において使用されることができる。1つのコーディングされたビデオシーケンス内の2つのピクチャが同じPOC値を有しうるケースが存在するが、1つのコーディングされたビデオシーケンス内において、同じPOC値を有する2つのピクチャは、頻繁には生じない。複数のコーディングされたビデオシーケンスが1つのビットストリーム中に存在するとき、同じPOC値を有するピクチャは、復号順序の観点から互いにより近いことがありうる。ピクチャのPOC値は、とりわけ、HEVCにおけるようなピクチャセットの導出、参照ピクチャリスト構築、および/または動きベクトルスケーリングのために使用されることができる。
[0109]H.264/AVCでは、各インターマクロブロック(MB)は、中でもとりわけ、1つの16×16マクロブロック区分、2つの16×8マクロブロック区分、2つの8×16マクロブロック区分、および4つの8×8マクロブロック区分を含む、4つの異なる方法へと区分化されうる。
[0110]1つのマクロブロック中の異なるマクロブロック区分は、予測方向ごとに異なる参照インデックス値を有しうる(例えば、RefPicList0およびRefPicList1についての異なる参照インデックス値)。
[0111]いくつかのケースでは、マクロブロックが4つの8×8マクロブロック区分へと区分化されないとき、マクロブロックは、各予測方向に、各マクロブロック区分について1つの動きベクトルしか有することができない。
[0112]いくつかのケースでは、マクロブロックが4つの8×8マクロブロック区分へと区分化されるとき、各8×8マクロブロック区分は、サブブロックへとさらに区分化されることができ、それらの各々は、各予測方向に異なる動きベクトルを有することができる。8×8マクロブロック区分は、中でもとりわけ、1つの8×8サブブロック、2つの8×4サブブロック、2つの4×8サブブロック、および4つの4×4サブブロックを含む、異なる方法でサブブロックへと分割されることができる。
[0113]各サブブロックは、各予測方向に異なる動きベクトルを有することができる。したがって、動きベクトルは、サブブロックに等しいか、またはそれより高いレベルで存在することができる。
[0114]AVCでは、時間的直接(temporal dirct)モードが、Bスライス中でのスキップまたは直接(direct)モードのためのマクロブロックまたはマクロブロック区分レベルのいずれかでイネーブルにされることができる。各マクロブロック区分について、現在のブロックのRefPicList1 [0]中の現在のマクロブロック区分とコロケートされるブロックの動きベクトルは、動きベクトルを導出するために使用されることができる。コロケートされたブロック中の各動きベクトルは、POC距離に基づいてスケーリングされることができる。
[0115]空間的直接(spatial direct)モードはまた、AVCにおいて実行されることができる。例えば、AVCでは、直接モードはまた、空間的隣接物から動き情報を予測することができる。
[0116]HEVCでは、スライス中の最も大きいコーディングユニットは、コーディングツリーブロック(CTB)と呼ばれる。CTBは、四分木を包含し、それのノードは、コーディングユニットである。CTBのサイズは、HEVCメインプロファイルにおいて16×16ピクセルから64×64ピクセルまでの範囲であることができる。いくつかのケースでは、8×8ピクセルCTBサイズがサポートされることができる。コーディングユニット(CU)は、CTBと同じサイズであることができ、且つ8×8ピクセルほどに小さくあることができる。いくつかのケースでは、各コーディングユニットは、1つの予測モードでコーディングされる。CUがインターコーディングされるとき、CUは、2つまたは4つの予測ユニット(PU)へとさらに区分化されうるか、またはさらなる区分化が適用されないときには1つのPUとして扱われうる。2つのPUが1つのCU中に存在するとき、2つのPUは、半分のサイズの矩形、またはCUの1/4または3/4のサイズである2つの矩形であることができる。
[0117]CUがインターコーディングされるとき、動き情報の1つのセットが、各PUについて存在することができる。加えて、各PUは、動き情報のセットを導出するために、一意のインター予測モードでコーディングされることができる。
[0118]HEVCにおける動き予測の場合、マージモード(スキップは特殊なケースのマージと見なされることに留意されたい)と高度動きベクトル予測(AMVP:advanced motion vector prediction)とを含む、予測ユニットに対する2つのインター予測モードが存在することができる。
[0119]AMVPまたはマージモードのいずれでも、動きベクトル(MV)候補リストが、複数の動きベクトル予測子(predictors)のために維持されることができる。現在のPUの、(1つまたは複数の)動きベクトル、ならびにマージモードにおける参照インデックスは、MV候補リストから1つの候補を取ることによって生成されることができる。
[0120]いくつかの例では、MV候補リストは最大で、マージモードについては5つまでの候補を、およびAMVPモードについては2つまでの候補を包含することができる。他の例では、異なる数の候補が、マージモードまたはAMVPモードについてのMV候補リスト中に含まれることができる。マージ候補は、動き情報のセット(例えば、両方の参照ピクチャリスト(リスト0およびリスト1)に対応する動きベクトル)と参照インデックスとを包含しうる。マージ候補がマージインデックスによって識別される場合、参照ピクチャは、現在ブロックの予測のために使用されることができる。参照ピクチャはまた、関連する動きベクトルを決定するために使用されることができる。AVMP候補は、動きベクトルしか包含せず、このことから、AVMPモードにおいて、参照インデックスは、リスト0またはリスト1のいずれかからの各潜在的な予測方向について、MV候補リストに対するMVPインデックスとともに、明示的にシグナリングされる必要がありうる。AMVPモードでは、予測動きベクトルは、さらに精緻化(リファインrefine)されることができる。
[0121]上記に見られることができるように、マージ候補は、動き情報のフルセットに対応するが、その一方でAMVP候補は、特定の予測方向および参照インデックスについての単に1つの動きベクトルを包含する。
[0122]両方のモードについての候補は、同じ空間的および/または時間的隣接ブロックから同様に導出されることができる。
[0123]図2Aおよび図2Bは、空間的隣接MV候補の実例的な導出を例示している。特定のPU(PU0 202)についての空間的MV候補は、PU0 202の右にロケートされた隣接PU(PU1 204)に対するものを含め、隣接ブロックから導出されることができる。
[0124]図2Aは、マージモードについての空間的MV候補を導出するための方法の例を例示する。マージモードでは、最大で5つまでの空間的MV候補が、例えば、次の順番で導出されることができる:左候補210(ブロック0)、上候補212(ブロック1)、右上候補214(ブロック2)、左下候補216(ブロック3)、および左上候補218(ブロック4)。PU0 202に対する空間的MV候補のロケーションが、図2Aに例示されている。具体的には、左候補210が、PU0 202の左下コーナーに隣接して且つその左にロケートされ、上候補212が、PU0 202の右上コーナーに隣接して且つその上にロケートされ、右上候補214が、隣接PU1 204の左上コーナーに隣接して且つその上にロケートされ、左下候補216が、左候補210の下にロケートされ、および左上候補218が、PU0 202の左上コーナーの上且つその左にロケートされている。
[0125]図2Bは、AVMPモードについての空間的隣接MV候補を導出するための方法の例を例示している。AVMPモードでは、隣接ブロックは、例えば、2つのグループへと分割される。左グループと呼ばれることができる第1のグループは、PU0 202の下且つその左にロケートされた第1のブロック220(ブロック0)と、PU0 202の左下コーナーの左且つそれに隣接してロケートされた第2のブロック222(ブロック1)とを含むことができる。上グループと呼ばれることができる第2のグループは、隣接PU1 204の左上コーナーの上且つそれに隣接してロケートされた第3のブロック224(ブロック2)と、PU0 202の右上コーナーの上且つそれに隣接してロケートされた第4のブロック226(ブロック3)と、PU0 202の左上コーナーの左且つその上にロケートされた第5のブロック228(ブロック4)とを含むことができる。各グループについて、候補隣接ブロックは、当該候補隣接ブロックがシグナリングされた参照インデックスによって示されるのと同じ参照ピクチャを参照するとき、グループの最終候補を形成するために選ばれるべきブロックの中で最も高い優先度を有することができる。いくつかのケースでは、全ての隣接ブロックが同じ参照ピクチャを指し示す動きベクトルを包含するわけではない可能性がある。したがって、そのような候補が見出されることができない場合、第1の利用可能な候補が、最終候補を形成するためにスケーリングされることができるため、時間的距離差は、補償されることができる。
[0126]時間的動きベクトル予測は、HEVCにおいて動きベクトルを決定するための別の方法である。時間的動きベクトル予測子(TMVP)候補は、イネーブルにされ且つ利用可能であるとき、例えば、空間的動きベクトル候補の後にMV候補リストに追加されることができる。TMVP候補に対する動きベクトル導出のプロセスは、マージモードとAMVPモードとの両方について同じであることができる。いくつかのケースでは、しかしながら、マージモードにおけるTMVP候補に対するターゲット参照インデックスは、常に0に設定されることができる。
[0127]図3Aは、TMVP候補の実例的な導出を例示している。TMVP候補導出のためのプライマリ(primary)ブロックロケーションは、ブロック310として図3Aに示されているような、コロケートされたPU302の外の右下ブロックである。ブロック310の右下ロケーションは、空間的隣接候補を生成するために使用されるブロックについて上且つ左方向のバイアスを補償することができる。右下ロケーション中のブロックが(ブロック312によって例示されているように)現在のCTB行306の外にロケートされるか、または動き情報が利用可能でないとき、ブロックは、PU302の中心ブロック314で代用される(substituted with)。
[0128]図3Bは、動きベクトル(MV)スケーリングの例を例示している。現在のピクチャ330中のブロック338に対して、TMVP候補336についての動きベクトルは、コロケートされたピクチャ320のコロケートされたPU328から導出されることができる。コロケートされたピクチャ320は、例えば、スライスレベルで示されることができる。具体的には、現在のピクチャ330中のブロック338に対して、コロケートされたピクチャ320中のコロケートされたPU328が決定されることができる。コロケートされたPU328は、コロケートされた動きベクトル326を有することができ、それは、コロケートされた参照ピクチャ322を参照する。コロケートされた動きベクトル326は、TMVP候補として使用されることができる。
[0129]AVCにおける時間的直接モードと同様に、いくつかのケースでは、TMVP候補336は、スケーリングされることができる。例えば、現在のピクチャ330と現在の参照ピクチャ332との間の現在の時間的距離334は、コロケートされたピクチャ320とコロケートされた参照ピクチャ322との間のコロケートされた時間的距離324とは異なる可能性がある。この例では、TMVPは、時間的距離における差分を正規化する(normalize)ためにスケーリングされることができる。
[0130]マージおよびAMVPモードは、動きベクトルスケーリング、人工的動きベクトル候補生成、および候補挿入のための刈り込み(プルーニングpruning)プロセスのような他の態様を含むことができる。
[0131]動きベクトルスケーリングに関して、動きベクトルの値が、表示時間中のピクチャの距離に比例することが想定されることができる。動きベクトルは2つのピクチャ:参照ピクチャと、動きベクトルを包含するピクチャ(包含ピクチャと呼ばれることができる)と、を関連付ける。動きベクトルが別の動きベクトルを予測するために使用されるとき、包含ピクチャと参照ピクチャとの距離は、ピクチャ順序カウント(POC)値に基づいて算出されることができる。
[0132]予測される動きベクトルの場合、予測動きベクトルに関連付けられた包含ピクチャおよび参照ピクチャとは、予測動きベクトルがそれから予測される動きベクトルに関連付けられた包含ピクチャおよび参照ピクチャとは異なりうる。このことから、予測動きベクトルの場合、(例えば、POCに基づく)新しい距離が決定されることができる。予測動きベクトルはその後、新しい距離と、予測のために使用される動きベクトルに関連付けられた距離とを使用してスケーリングされることができる。空間的隣接候補の場合、2つの動きベクトルについての包含ピクチャは同じであるが、その一方で参照ピクチャは異なりうる。HEVCでは、動きベクトルスケーリングは、空間的および時間的隣接候補に対するTMVPとAMVPとの両方に適用される。
[0133]人工的動きベクトル候補生成に関して、動きベクトル候補リストが完全でないとき、リストが候補の完全なセットを有するまで、人工的動きベクトル候補が生成され、且つ、例えば、リストの末尾に挿入されることができる。
[0134]マージモードでは、2つのタイプの疑似(artificial)MV候補:Bスライスのためにのみ導出される合成(combined)候補と、合成候補タイプが十分な疑似候補を提供しないときにAMVPのためにのみ使用されるゼロ候補と、が存在することができる。
[0135]既に候補リスト中にあり、且つ動き情報を有する候補の各ペアについて、双方向の合成動きベクトル候補が導出されることができる。双方向の合成動きベクトル候補は、第1の候補の動きベクトル、ここで、第1の候補はリスト0中のピクチャである、と、第2の候補の動きベクトル、ここで、第2の候補はリスト1中のピクチャである、との組み合わせ(combination)から導出されることができる。
[0136]候補挿入のためのプルーニングプロセスに関して、異なるブロックからの候補は同じでありえ、それは、マージおよび/またはAMVP候補リストの効率を低下させる可能性がある。プルーニングプロセスは、重複候補を取り除くために適用されることができる。プルーニングプロセスは、例えば、少なくともいくつかのケースについて、同一候補を挿入することを避けるために、ある1つの候補を現在の候補リスト中の他の複数の候補と比較することができる。処理の複雑性を低減するために、いくつかのケースでは、限定されたプルーニングプロセスが適用されえ、それにおいて、全ての候補がリスト中の全ての候補と比較されるわけではない。
[0137]フレームレートアップコンバージョン(FRUC)技法は、低フレームレートビデオから高フレームレートビデオを生成するために使用されることができる。FRUCは、ディスプレイ産業において幅広く使用されている。FRUC技法は、2つのタイプに分けられることができる。ある1つの技法は、フレーム反復または平均化によって中間フレームを補間する。この技法は、しかしながら、多くの動きを包含するビデオにおいて貧弱な結果を提供しうる。動き補償FRUC(MC−FRUC)と呼ばれる第2の技法は、中間フレームを生成しているときにオブジェクトの移動を考慮に入れることができる。MC−FRUCは、2つのステップ、すなわち第1に、動き推定(ME)、および第2に、動き補償補間(MCI:motion-compensated interpolation)、を含むことができる。動き推定は、動きベクトル(MV)を生成することができ、それは、ベクトルを使用してオブジェクトの動きを表し、および動き補償補間は、動きベクトル生成中間フレーム(motion vectors generate intermediate frames)を使用することができる。
[0138]ブロックマッチングアルゴリズム(BMA;block-matching algorithm)は、それがインプリメントするのに単純であることから、MC−FRUCにおける動き推定のために広く使用されている。ブロックマッチングアルゴリズムは、画像をブロックへと分割し、およびそれらのブロックの移動を検出する。一方向動き推定および両方向動き推定を含む、様々な種類の動き推定が、ブロックマッチングアルゴリズムのために使用されることができる。
[0139]図4は、フレームレートアップコンバージョンにおける一方向動き推定の例を例示している。図4の例によって例示されているように、一方向動き推定は、現在のフレーム402中の所与のブロック412に対して、現在のフレーム402の参照フレーム404中のベストマッチングブロック414を探索することによって動きベクトル410を取得することができる。現在のフレーム402と参照フレーム404との間に時間的にロケートされる補間フレーム406は、動きベクトル410を使用して生成されることができる。具体的には、補間ブロック416は、動きベクトル410の経路に沿ってロケートされることができるため、一貫した動きが、現在のフレーム402と参照フレーム404との間で生じることができる。この例では、3つのフレームからの3つのブロックが動き軌道をたどっている。
[0140]現在のフレーム402中のブロック412は、コーディングされたブロックに属しうるが、参照フレーム404中のベストマッチングブロック414は、コーディングされたブロックに完全には属さないことがありうる。いくつかのケースでは、補間フレーム406中の補間ブロック416も、コーディングされたブロックに属さないことがありうる。その結果として、ブロックの重なり合った領域と、満たされていない(穴)領域とが、補間フレーム406中に生じうる。重なり合う領域に対処する単純な方法は、重なり合ったピクセルの平均化および上書きを伴う。穴は、参照フレーム404または現在のフレーム402からのピクセル値によってカバーされることができる。これらの方法は、しかしながら、ブロッキングアーティファクト(blocking artifacts)および/またはぼやけ(blurring)をもたらす可能性がある。代替として、動きフィールドセグメント化(motion field segmentation)、離散ハートレー変換を使用する連続補外(successive extrapolation)、および画像インペインティング(image in-painting)が、ブロッキングアーティファクトおよびぼやけを増大させることなしに、補間フレーム中の重なり合いおよび穴に対して使用されることができる。
[0141]図5は、フレームレートアップコンバージョンのための両方向動き推定の例を例示している。両方向動き推定は、補間フレーム506中の重なり合いおよび穴を避けるために、動き補償FRUCとともに使用されることができる別の技法である。一方向動き推定と同様に、現在のフレーム502中の所与のブロック512に対して、両方向動き推定は、現在のフレーム502の参照フレーム504中のベストマッチングブロック514を使用して動きベクトル510を取得する。両方向動き推定はその後、補間フレーム506と現在のフレーム502および参照フレーム504の両方との間の時間的対称性を想定し、それにより、動きベクトル510は、補間ブロック516と現在のフレーム502との間の第1の動きベクトル520と、補間ブロックと参照フレーム504との間の第2の動きベクトル522とへと分割されることができる。
[0142]両方向動き推定が補間フレーム506中の各ブロックに対して使用されるとき、重なり合いおよび穴は、補間フレーム506をもたらすべきではない。ビデオコーディングでは、現在のブロック512は、ほとんどのケースでは、現在のフレーム502中の他のブロックに対してある特定の順序で(例えば、復号順序で)コーディングされる。現在のフレーム502中のブロックがシーケンスで処理されることから、そのシーケンスは、重なり合いまたは穴のいかなる発生もなしに生成される補間フレーム506をもたらすべきである。
[0143]動き情報をシグナリングすること(例えば、動き情報を記述することができるデータをビデオビットストリーム中へと挿入すること)は、ビットストリーム中に含まれる必要がありうるビットの量を増大させるという観点からするとコストが掛かる可能性がある。動き情報のビットコストを低減するために、復号器側動きベクトル導出(DMVD)が、復号デバイスによって使用されることができる。
[0144]テンプレートマッチングベースの復号器側動きベクトル導出は、動き情報のビットコストを低減することと、コーディング効率を増大させるための1つの方法である。図6は、テンプレートマッチングベースの復号器側動きベクトル導出の例を例示している。現在のフレーム602中の現在のブロック(例えば、予測ターゲット618)に対して、現在のブロックに対するベストマッチを探索する代わりに、テンプレート616のベストマッチ614が参照フレーム604中で探索される。テンプレート616と予測ターゲット618とが同じオブジェクトからのものであると想定すると、テンプレート616の変位612(参照フレーム604中のコロケートされたテンプレート610から導出され、ここで、コロケートされたテンプレート610は、参照フレーム604中のテンプレート616のロケーションに対応する)は、予測ターゲット618の動きベクトルとして使用されることができる。テンプレートマッチングは、符号化器と復号器との両方において行われることから、動きベクトルは、シグナリングコストを避けるために復号器側において導出されることができる。
[0145]復号器側動きベクトル導出のための別の方法は、ミラーベースの双方向動きベクトル導出である。図7は、ミラーベースの双方向動きベクトル導出の例を例示している。ミラーベースの双方向動きベクトル導出は、分数サンプル正確度で、探索中心(search centers)の周囲の中心対称(centro-symmetric)動き推定を使用することを含む。探索ウィンドウのサイズおよび/またはロケーションは、復号器に対して予め定義されることができる、および/または、ビットストリーム中でシグナリングされることができる。
[0146]図7の例に例示されているように、中心対称動き推定は、逆方向(reverse)ベストマッチングブロック714と前方ベストマッチングブロック716について、L0参照ピクチャ704(例えば、RefPicList0から選択された参照フレーム)とL1参照ピクチャ706(例えば、RefPicList1から選択された参照フレーム)との両方を探索することを含む。逆方向ベストマッチングブロック714と前方ベストマッチングブロックとはその後、逆方向動きベクトル、MV0 720と、前方動きベクトル、MV1 722とをそれぞれ決定するために使用されることができる。MV0 720とMV1 722とはその後、現在のピクチャ702中の現在のブロック712についてのロケーションを予測するために使用されることができる。いくつかのケースでは、現在のピクチャ702は、フレームレートアップコンバージョンコーディングモードを適用するプロセスにおいて生成される。
[0147]逆方向ベストマッチングブロック714と前方ベストマッチングブロック716とを決定するために、プロセスは、開始点として、逆方向予測動きベクトル、PMV0 730と、前方予測動きベクトル、PMV1 732とを使用することができる。PMV0 730とPMV1とは、L0参照ピクチャ704とL1参照ピクチャ706とをそれぞれ提供されることができるか、または、L0参照ピクチャ704とL1参照ピクチャ706とを使用して導出されることができる。L0参照ピクチャ704では、探索ウィンドウ740は、PMV0 730によって示される予測ブロック744からのオフセット、+dMV750、の様々な値をテストすることによって、ベストマッチング逆方向ブロック714を探索されることができる。同時に、L1参照ピクチャ706中の探索ウィンドウ742は、PMV1 732によって示される予測ブロック746からのオフセット、−dMV752、を使用して探索されることができる。いくつかの例では、+dMV750と−dMV752との全ての値がチェックされることができる。オフセット値はその後、MV0 720とMV1 722とを決定するために、PMV0 730とPMV1 732とに追加されることができる。いくつかのケースでは、+dMV750および/または−dMV752は、1つまたは複数の負の成分を含むことができる。
[0148]いくつかの例では、L0参照ピクチャ704およびL1参照ピクチャ706中のベストマッチングブロック間の絶対差分の和(SAD)は、中心対称動き推定(centro-symmetric motion estmatation)を決定するために使用されることができる。最小SAD値を有する動きベクトルペア(例えば、MV0 720およびMV1 722)は、中心対称動き推定の出力として選択されることができる。
[0149]図7に例示されている例は、SADマッチングのために将来の参照(例えば、現在のフレームより後の時間的位置における参照)とより前の参照(例えば、現在のフレームより前の時間的位置における参照)とを使用している。この方法はこのことから、将来の参照のみが利用可能である、Pフレームおよび低遅延Bフレームのようなフレームに対して適用可能でないことがありえる。
[0150]いくつかのケースでは、ミラーベースの双方向動きベクトル導出は、HEVCにおけるマージモードと組み合わされることができる。例えば、pu_dmvd_flagと呼ばれるフラグは、復号器側動きベクトル導出モードが現在のPUに適用されることができるかどうかを示すために、BスライスのPUに対して追加されることができる。図8は、pu_dmvd_flagを含むPUを復号するためのプロセス800の例を例示している。復号器側動きベクトル導出モードでは、復号されるビットストリームは、明示的な動きベクトル情報を含まない。pu_dmv_flagを含むことは、復号器が復号器側動きベクトル導出プロセスに従事すべきであると復号器にシグナリングすることができる。
[0151]ステップ802において、プロセス800は、PUを復号することを開始する。ステップ804において、プロセス800は、PUがマージPUであるかどうかを決定する。PUがマージPUでないとき、プロセス800は、ステップ806に進み、および非マージPUに対する標準的プロセスを使用してPUを復号する。
[0152]ステップ804において、プロセス800が、PUはマージPUであると決定すると、プロセスは、ステップ808に進む。ステップ808において、プロセス800は、pu_dmvd_flagの値を決定する。pu_dmvd_flagは、復号器が復号器側動き導出プロセスを使用すべきかどうかを示すことができる。pu_dmvd_flagが、復号器は復号器側動き導出プロセスを使用すべきでないと示すと、プロセス800は、ステップ810に進み、およびマージPUを復号するための標準的プロセスに従事する。
[0153]ステップ808において、pu_dmvd_flagが、復号器は復号器側動き導出プロセスを使用すべきであると示すと、プロセスは、ステップ812に進む。ステップ812において、プロセス800は、PUを復号するために復号器側動きベクトル導出プロセスを使用する。
[0154]ステップ806、810、および812の各々は、ステップ814に進み、ここで、PUの復号は終了される。
[0155]ブロックの動きベクトルを見出すために、高速動き探索方法(fast motion search methods)が、動きベクトル導出の計算コストを最小化するために使用されることができる。高速動き探索方法の例は、ブロックベースの勾配降下探索(BBGDS:Block-Based Gradient Descent Search)、無制限中心バイアスダイアモンド探索(UCBDS:Unrestricted Center-Biased Diamond Search)、六角形ベースの探索(HEBS:HEXagon-Based Search)、および他のものを含む。これらおよび他の方法は、予め定義された探索パターンを使用して、探索ウィンドウ内部のある特定の数の位置を探索する。ビデオにおける動きが小さく穏やかであるとき、これらの方法は、うまく機能することができる。
[0156]全ての目的のためにその全体が参照によってここに組み込まれる米国特許出願公開第2016/0286230号では、ここではFRUCモッド(mod)と呼ばれるフレームレートアップコンバージョンに基づくコーディングモードが説明された。参照中で論述されているように、FRUCモードは、特殊マージモードであり、それにおいて、ブロックの動き情報はシグナリングされない(例えば、ビットストリーム中に含まれない)が、代わりに復号器によっておいて(at by)導出される。
[0157]いくつかの例では、FRUCフラグは、マージフラグがCUについて真であるときに、CUに対してシグナリングされる(例えば、フラグは、ビットストリーム中に含まれる)。FRUCフラグが偽であるとき、マージインデックスがシグナリングされ得、および標準的マージモードが使用されることができる。FRUCフラグが真であるとき、追加のFRUCモードフラグが、CU中のブロックについての動き情報を導出するためにどの方法(例えば、両方向マッチングまたはテンプレートマッチング)が使用されるべきかを示すためにシグナリングされる。
[0158]動き導出プロセス中に、初期動きベクトルがまず、両方向マッチングまたはテンプレートマッチングを使用してCU全体について導出されることができる。まず、CUのマージリストがチェックされ、および最小マッチングコストをもたらす候補が、開始点として選択されることができる。その後、開始点の周囲での両方向マッチングまたはテンプレートマッチングに基づく局所探索が実行されることができ、および最小マッチングコストをもたらす動きベクトルが、CU全体についての動きベクトルとして見なされる(taken)ことができる。その結果として、動き情報は、開始点として導出されたCU動きベクトルを用いてサブブロックレベルでさらにリファイン(精緻化)される(refined)ことができる。
[0159]図9は、両方向マッチングの例を例示している。両方向マッチングでは、現在のフレーム902中の現在のブロック912についての動き情報が導出されることができ、ここで、現在のフレーム902は、フレームレートアップコンバージョンコーディングモードの使用を通じて生成される。具体的には、連続的動き軌道910が、第1の参照フレーム(参照フレーム0 904)中の第1のブロック914と、第2の参照フレーム(参照フレーム1 906)中の第2のブロック916との間で想定されることができる。参照フレーム0 904に対する動きベクトル(MV0 920)は、現在のブロック912について決定されることができる。例えば、現在のブロック912の中心に据えられた直交軸930によって決定されるような参照フレーム0 904中の現在のブロックの位置は、MV0 920を決定するために使用されることができる。同様に、参照フレーム1 906に対する動きベクトル(MV1 922)は、直交軸930によって与えられるような参照フレーム1 906中の現在のブロックの位置を使用して決定されることができる。動き軌道910が連続的であると想定されることから、MV0 920とMV1 922とは、現在のフレーム902と2つの参照フレームとの間の時間的距離(それぞれ、TD0 932とTD1 934と)に比例することができる。すなわち、MV0 920は、TD0 932に基づいてスケーリングされることができ、MV1は、TD1 934に基づいてスケーリングされることができる。
[0160]いくつかのケースでは、TD0 932とTD1とは同じであることができる。これらのケースでは、両方向マッチングからの結果が、ミラーベースの双方向動きベクトル導出からの結果と同じであることができる。
[0161]図9の例では、連続的動き軌道910は、非線形であると想定されることができ、そのケースにおいては、アフィン動きモデルが適用されることができる。アフィン動きモデルを使用すると、アフィン動き情報が、参照フレーム0 904と参照フレーム1 906とについて導出されることができる。
[0162]現在のブロック912を決定するためのアフィン動きの実例的な適用が続く。現在のブロック912についての予測がPであると想定すると、Pは、参照フレーム0 904と参照フレーム1 906とから予測されることができる。現在のブロック912は、MV0 920とMV1とによってそれぞれ記述されている、参照フレーム0 904と参照フレーム1 906とに対するアフィン動きを有する。次の式は、Pが参照フレーム0 904と参照フレーム1 906とから予測されることができる方法を記述している。
Figure 2019534622
[0163]上記の式では、P0は、参照フレーム0 904中の第1のブロック914を表し、P1は、参照フレーム1 906中の第2のブロック916を表している。
[0164]参照フレーム0 904中のPの時間的位置は、T0と指定されることができる。T0におけるPの1次テイラー展開は、次の式を使用して決定されることができる。
Figure 2019534622
[0165]式(2)を解くために、
Figure 2019534622
は、それぞれ、P0におけるx方向およびy方向の勾配を表すことができる。加えて、
Figure 2019534622
は、アフィン動きモデルによって定義されるような、T0における動きを表すことができる。これらの表現を使用すると、式(2)は、次のようになることができる。
Figure 2019534622
[0166]いくつかの例では、アフィン動き(Vx0,Vy0)は、次のように、4パラメータアフィンモデルによって表されることができる。
Figure 2019534622
[0167]上記の式では、Sは、同次(homogenous)スケーリングファクタを表し、Φは、回転を表し、およびcとdとは、平行移動動きベクトルである。他の例では、6パラメータまたは8パラメータアフィンモデルが使用されることができる。
[0168]便宜上、a=cosΦおよびb=sinΦとし、そのケースでは、上記の式は、次のようになる。
Figure 2019534622
[0169]現在のブロック912が参照フレーム0 904と参照フレーム1 906とから時間的に等距離であるとき、動き(Vx0,Vy0)は、次の式を使用して決定されることができる。
Figure 2019534622
[0170]上記では、回転角度および平行移動動きは、参照フレーム0 904と参照フレーム1 906との間でミラーされる(mirrored)と想定され、その一方でスケーリングファクタは、相反的である(reciprocal)と想定される。
[0171]同様に、参照フレーム1 906中のPの時間的位置は、T1と指定されることができる。T1におけるPの1次テイラー展開は、次の式を使用して決定されることができる。
Figure 2019534622
[0172]上記の式が両方向マッチングにおいて適用されることから、アフィンパラメータS、a、b、cおよびdは、式(3)と式(5)との間の2乗誤差の和を最小化することによって導出されることができ、それは、次のように数学的に表されることができる。
Figure 2019534622
[0173]数学的に、Sは、解くのが難しい可能性がある。実際には、Sの値は、ある特定の範囲に制限されることができ、Sの所与の値におけるa、b、c、およびdは、解かれることかできる。最小の2乗誤差の和をもたらす{S,a,b,c,d}の組み合わせは、ブロックについてのアフィン動きを記述するために使用されることができる。代替として、(スケーリングファクタの初期推定値を提供するための特徴点ベースの方法に関して)以下に説明される方法は、Sについての近似値を見出すために使用されることができる。
[0174]図10は、テンプレートマッチングの例を例示している。テンプレートマッチングでは、テンプレート1016は、参照フレーム(参照フレーム0 1004)から動き情報を導出するために使用されることができる。例えば、テンプレート1016は、現在のフレーム1002中に現在のブロック1012の上部および/または左隣接ブロックを含むことができる。この例では、ブロックのセットは、テンプレート1016と最もマッチする参照フレーム0 1004中に見出されることができ、ここで、ブロックのセットは、テンプレート10160と同じサイズおよび/または構成である。動きベクトル1020はその後、ブロックのセットのロケーションと、参照フレーム0 1004中の現在のブロック1012の相対的ロケーションとを使用して決定されることができる。現在のブロック1012の相対的ロケーションは、例えば、現在のブロック1012の中心を通る直交軸1030から決定されることができる。
[0175]符号化器において、CUに対してFRUCマージモードを使用するかどうかは、例えば、通常のマージ候補に対してなされるようなレート歪みコスト選択(a rate distortion cost selection)に基づくことができる。すなわち、レート歪みコストは、所与のCUに対する2つのマッチングモード(例えば、両方向マッチングおよびテンプレートマッチング)の各々について決定されることができる。最も低いコストを有するマッチングモードはさらに、他のCUモードと比較されることができる。FRUCマッチングモードが最も低いコストを有するとき、FRUCフラグは、FRUCマージモードがCUに対して使用されるべきであると示すように設定されることができる。加えて、使用されるべきマッチングモードもまた示されることができる。
[0176]局所照明補償(LIC:Local Illumination Compensation)は、1つのフレームと後続のフレームとの間の照明における変化(change in illumination)が、参照ブロックを決定するときに調整される(accommodated)ことができるプロセスである。例えば、ビデオでは、カメラフラッシュが生じていることがありえ、それにより、第1のフレーム中のオブジェクトは、第2のフレーム中でより明るく照らされる。この例では、照明変化(例えば、カメラフラッシュ)は、同じオブジェクトについてのピクセル値差分を引き起こす可能性がある。照明変化が調整されないとき、第2のフレーム中に参照ブロックをロケートすることは、難しいことがありうる。LICは、例えば、一定のピクセル値が第2のフレームに追加されたと想定する。この想定下では、参照ブロックは、より容易に見出されることができる。
[0177]LICは、照明変化についての線形モデルに基づくことができ、スケーリングファクタaとオフセットbとを使用することができる。例えば、スケーリングファクタとオフセットとは、ピクチャ中の照明変化によって誘発される不一致を補償するために使用されることができる。スケーリングファクタは、例えば、参照ブロックについてのピクセル値をスケーリングするために使用されることができる。例えば、スケーリングファクタは、参照ブロックから生成される予測サンプルによって乗算されることができる。オフセットは、例えば、スケーリングファクタを決定するために使用されたピクセルのセットを示すために使用されることができる。いくつかのケースでは、オフセットは、照らされていないバージョンのピクチャからの平均輝度変化を示すことができる。LICは、インターコーディングされたCUごとに適応的にイネーブルまたはディセーブルにされることができる。
[0178]次の式は、インタービュー予測において使用されることができる線形照明補償モデルの例を提供する。
Figure 2019534622
[0179]上記の式では、PUcは、現在の予測ユニットであり、(i,j)は、PUc中のピクセルの座標であり、(dvx,dvy)は、PUcの視差ベクトル(the disparity vector)である。p(i,j)の結果は、PUcの予測であり、ここで、rは、隣接ビューからの予測ユニットの参照ピクチャである。aおよびbは、線形ICモデルのパラメータである。
[0180]LICがCUに適用されるとき、最小2乗誤差法(a least square error method)が、aおよびbを導出するために使用されることができる。例えば、最小2乗法は、現在のCUの隣接サンプルと、当該隣接サンプルに対応する参照サンプルとを使用することができる。
[0181]図11は、照明補償パラメータを導出するために近隣サンプルを使用する例を例示している。例示されている例では、現在のCU1106の隣接サンプル1110が決定されることができる。いくつかの例では、隣接サンプル1110は、例えば、2:1のサブサンプリングを使用してサブサンプリングされる。対応するサンプル1112(例えば、参照ブロック1108の隣接サンプル)は、照明補償パラメータを決定するために使用されることができる。照明補償パラメータは、予測方向ごとに別個に導出および適用されることができる。
[0182]例示されている例では、現在のCU1106は、2つのPU、PU1 1102とPU2 1104とに再分割されている。またこの例では、参照ブロック1108は、PU1 1102についての参照ブロックであり、現在のCU1106についての、またはサブCUについての動き情報を使用してリスト0について決定される。
[0183]PUについてのパラメータaおよびbを推定するために、ピクセルの2つのセット:現在のCU(現在のPUを包含するCU)の左列および上行中の第1の利用可能な再構築された隣接ピクセルと、現在のCUの参照ブロックの第2の対応する隣接ピクセルと、が使用されることができる。現在のCUの参照ブロックは、現在のPUの視差ベクトルを使用することによって見出されることができる。例として図11を使用すると、現在のCU1106の隣接サンプル1110は、Recneighと指定されることができ、および参照ブロック1108の隣接サンプル1112は、Recrefneighと指定されることができ、加えて、2Nは、RecneighとRecreneighにおけるピクセル数を表すことができる。パラメータaおよびbはその後、次の式を使用して算出されることができる。
Figure 2019534622
[0184]CUがマージモードでコーディングされるとき、LICフラグは、隣接ブロックからコピーされることができる。例えば、動き情報がマージモードでコピーされる方法が使用されることができる。CUがマージモードでコーディングされないとき、LICフラグは、LICがCUに適用されるかどうかを示すために、CUに対してシグナリングされることができる。
[0185]いくつかのケースでは、LICおよびFRUCプロセスは、両方がイネーブルにされると、コンフリクトしうるか、または不必要な計算的な複雑性を引き起こしうる。例えば、(例えば、図9に例示されている)両方向マッチングコーディングモードがフレームレートアップコンバージョンコーディングモードについての動きベクトル導出のために使用されるとき、照明変化が、そのより後の参照フレーム中で生じていることがありうる。この例では、照明変化は、フレームレートアップコンバージョンコーディングモードの結果として生成されるフレーム中で正確には補償されないことがありうる。例えば、生成されるフレームには、照明変化前からのピクセル値がより適しているか、または照明変化後からのピクセル値がより適しているかは、明白でないことがありうる。
[0186]様々なインプリメンテーションでは、LICおよびFRUC両方向マッチングの両方をイネーブルにすることによって引き起こされるコンフリクトおよび/または複雑性は、一方または他方のプロセスのみをブロックまたはCUに対して使用されることを可能にすることによって解消されることができる。FRUC両方向マッチングコーディングモードがイネーブルにされるか、またはLICがイネーブルにされるかは、ビットストリーム中に含まれる関連するフラグの順序に依存する可能性がある。例えば、いくつかのインプリメンテーションでは、FRUCがイネーブルにされたことを示すフラグが、LICがイネーブルにされるかどうかを示すフラグより前に現れ、およびFRUC両方向マッチングコーディングモードもまたイネーブルにされるとき、LICフラグは、符号化器によって「ディセーブルにされる」ように設定される、および/または復号器によって無視される、のいずれかである。代替としてまたは加えて、LICフラグは、シグナリングされない可能性があり、それは、ビットストリームから完全に除外されることを意味する。別の例として、いくつかのインプリメンテーションでは、LICがイネーブルにされることを示すフラグが、FRUCがイネーブルにされることを示すフラグより前に現れるとき、FRUC両方向マッチングコーディングモードをイネーブルにされるフラグは、符号化器によって「無効にされる」ように設定されうる、および/または、復号器は、FRUC両方向マッチングコーディングモードは使用されることができないと想定する可能性がある。代替としてまたは加えて、FRUC両方向マッチングコーディングモードフラグは、ビットストリーム中でシグナリングされない可能性がある。
[0187]HEVCでは、いくつかのケースでは、平行移動(translational)モデルのみが、動き補償予測のために適用されうる。平行移動モデルは、線形動きを想定する。多くのケースでは、しかしながら、ビデオは、ズームイン、ズームアウト、回転、遠近(perspective)動きのような多くの非線形動き、および/または他の不規則な非線形動きを含むことができる。共同調査モデル(JEM:Joint Exploration Model)では、簡略化されたアフィン変換動き補償予測が、非線形動きを調整し、およびコーディング効率を改善するために適用されることができる。JEMは、国際電気通信連合ビデオコーディングエキスパートグループ(ITU−VCEG:the International Telecommunications Union Video Coding Experts Group)と、国際標準化機構/国際電気標準会議モーションピクチャエキスパートグループ(ISO/IEC MPEG:the International Standards Organization/International Electrotechnical Commission Motion Picture Experts Group)とのプロジェクトである。JEMは、HEVCより良い圧縮能力を有するビデオコーディング技術を研究および潜在的に標準化するためのプラットフォームを提供する。
[0188]図12は、現在のブロック1202についての簡略化されたアフィン動きモデルの例を例示している。現在のブロック1202は、例えば、フレームレートアップコンバージョンコーディングモードの使用を通じて生成されるフレーム中にあることができる。
[0189]図12に例示されている例では、現在のブロック1202のアフィン動きは、2つの制御点ベクトル、v0 1210とv1 1212とによって記述されることができる。例示されている例では、v0 1210は、現在のブロック1202の左上コーナーから決定され、およびv1 1212は、現在のブロック1202の右上コーナーから決定される。各制御点ベクトルは、2つの値、水平値と垂直値とを含むことができ、このことから、各制御点ベクトルは、2つの制御点を提供することができる。追加の制御点(例えば、6つの制御点または8つの制御点あるいは何らかの他の数の制御点)は、例えば、現在のブロック1202のより下部のコーナーおよび/または現在のブロック1202の中心に追加の制御点ベクトルを追加することによって定義されることができる。
[0190]制御点ベクトルは、例えば、両方向マッチングを使用して決定されることができ、非線形動きの可能性を想定する。例えば、第1の参照フレームと第2の参照フレームとの間で、オブジェクトが、10度回転していることがありうる。この例では、連続的動きを想定して、現在のブロック1202についての回転の度合いは、5度であると想定することができる。この例では、制御点ベクトルは、それに応じて生成されることができる。
[0191]様々な例では、2つの制御点ベクトルは、現在のブロック1202についての動きベクトルフィールド(MVF)を決定するために使用されることができる。式(1)は、動きベクトルフィールドが決定されることができる方法を例示している。
Figure 2019534622
[0192]式(1)では、(v0x,v0y)は、左上部コーナー制御点についての動きベクトル(例えば、ベクトルv0 1210を記述している動きベクトル)であり、および(v1x,v1y)は、右上部制御点についての動きベクトル(例えば、ベクトルv1 1212を記述している動きベクトル)である。式(1)は、位置(x,y)におけるピクセルについての動きベクトル(vx,vy)を計算するために使用されることができる。2つよりも多くの制御点ベクトルが使用される例では、式(1)は、それに応じて展開されることができる。
[0193]現在のブロック1202中の各ピクセルについての動きベクトルを計算することは、より詳細な動き情報をキャプチャすることができ、およびこのことから、より良いフレームレートアップコンバージョン結果を生むことができる。例えば、ビデオは、徒競走(foot race)をキャプチャしえ、それにおいて、数多くの人々が、同じ全体的な(the same general)方向に移動している。この例では、グループの全体的な動きは、制御点ベクトルによって、および/またはボック(bock)全体についての平行移動動きベクトルによって、キャプチャされることができる。グループ内では、しかしながら、個々の人々は、グループの全体的な方向に対してやや異なる方向に移動していることがありうる。動きベクトルがブロックの各ピクセルについて計算される動きベクトルフィールドは、動きにおけるこれらのバリエーションをキャプチャすることができる。
[0194]ブロック中の各ピクセルについての動きベクトルを計算することは、しかしながら、計算的に労力を要する可能性がある。計算を簡略化するために、ブロックベースのアフィン変換予測が適用されることができる。図13は、ブロック1302のサブブロックを使用して決定される動きベクトルフィールドの例を例示している。ブロック1302は、例えば、フレームレートアップコンバージョンコーディングモードの使用を通じて生成されるフレーム中にあることができる。
[0195]図13の例では、ブロック1302は、4×4サブブロックへと分割されている。各サブブロックの動きベクトルは、第1の制御点ベクトル、v0 1310と、第2の制御点ベクトル、v1 1312とを使用して決定されている。この例では、v0 1310は、ブロック1302の左上コーナーに基づき、およびv1 1312は、ブロック1302の右上コーナーに基づく。例示されている例では、各サブブロックについての動きベクトルは、式(1)を使用して、各サブブロックの中心サンプルについて計算されている。いくつかの例では、結果として生じる(vx,vy)値は、1/16の分数正確度に丸められることができる。各サブブロックの動きベクトルは、各サブブロックについての予測を生成するために使用されることができる。
[0196]いくつかの例では、動き補償予測の後に、各サブブロックの高正確度の動きベクトルは、通常の動きベクトルと同じ正確度で丸められ、および保存されることができる。
[0197]JEMを含むいくつかの例では、アフィン動きモデルは、2つのモード:(ここではAF_INTERモードと呼ばれる)アフィンインターモードと、(ここではAF_MERGEモードと呼ばれる)アフィンマージモードと、を含むことができる。
[0198]図14は、AF_INTERモードでの動きベクトル予測の例を例示している。いくつかの例では、CUが8ピクセルより大きい幅および高さを有するとき、AF_INTERモードが適用されることができる。アフィンフラグは、AF_INTERモードがCUに適用されたかどうかを示すために、CUレベルでビットストリーム中に配置されることができる。
[0199]図14の例に例示されているように、AF_INTERモードでは、動きベクトルペアの候補リストは、隣接ブロックを使用して構築されることができる。例えば、現在のブロック1402の左上コーナー中にロケートされたサブブロック、V0 1410に対して、動きベクトルv0が、それぞれ左上、上、および左方向の隣接ブロックA1420、B1422、およびC1424から選択されることができる。さらなる例として、現在のブロック1402の右上コーナー中にロケートされたサブブロック、V1 1412は、動きベクトルv1が、それぞれ上、および右上方向の隣接ブロックD1426およびE1428から選択されることができる。ブロックA1420、B1422、C1424、D1426、およびE1428に対応する動きベクトルvA、vB、vC、vD、およびvEを与えられると、動きベクトルペアの候補リストは、{(v0,v1)|v0={vA,vB,vC},v1={vD,vE}}として表されることができる。いくつかの例では、1つの隣接ブロックからの動きベクトルは、当該隣接ブロックについての参照ピクチャのPOCと、現在のCUについての参照ピクチャのPOCと、現在のCUのPOCとの間の関係に基づいてスケーリングされることができる。これらの例では、POCのうちのいくつかは、参照リストから決定されることができる。
[0200]いくつかの例では、候補リスト中の候補の数が2つ未満であるとき、候補リストは、AMVP候補の各々を複製することによって構成される動きベクトルペアでパディングされることができる。候補リストが2つより多いとき、いくつかの例では、候補リスト中の候補は、候補についての動きベクトルの一貫性にしたがって(例えば、候補に関連付けられた動きベクトルのペアの2つの動きベクトル間の類似性の度合いにしたがって)ソートされることができる。これらの例では、第1の2つの候補は保持され、および残りは破棄されうる。
[0201]いくつかの例では、レート歪みコストチェックは、リスト中の候補の中から動きベクトルペア候補を選択するために使用されることができる。選択される動きベクトルペア候補は、現在のブロック1402についての制御点動きベクトル予測(CPMVP)に関して使用されることができる。いくつかのケースでは、選択される動きベクトルペア候補の位置を示すインデックスは、ビットストリーム中で示されることができる。動きベクトルペア候補が現在のブロック1402について選択されると、アフィン動き推定が適用されることができ、および制御点動きベクトル(CPMV)が見出されることができる。いくつかのケースでは、制御点動きベクトルと制御点動きベクトル予測との間の差分は、ビットストリーム中でシグナリングされることができる。
[0202]図15Aおよび図15Bは、AF_MERGEモードでの動きベクトル予測の例を例示している。AF_MERGEモードが現在のブロック1502に適用されるとき、動きベクトルは、有効な隣接する再構成されたブロックから取得されることができる。図15Aに例示されているように、隣接ブロックは、ここではA1520、B1522、C1524、D1526、およびE1528とラベル付けされた隣接ブロックのセットの中から選択されることができる。隣接ブロックは、例えば、左隣接物(ブロックA1520)、それに続く上隣接物(ブロックB1522)、そして右上隣接物(ブロックC1524)、そして左下隣接物(ブロックD1526)、およびそして左上隣接物(ブロックE1528)のような特定の順序で検討されうる。
[0203]選択される隣接ブロックは、アフィンモードでコーディングされている第1のものである。例えば、ブロックA1520は、アフィンモードでコーディングされていることがありうる。図15Bに例示されているように、ブロックA1520は、隣接CU1504中に含まれることができる。隣接CU1504の場合、左上部コーナー(v2 1530)、右上コーナー(v3 1532)、および左下コーナー(v4 1534)についての動きベクトルが導出されていることがありうる。この例では、現在のブロック1502の左上部コーナーについての制御点動きベクトル、v0 1540と、現在のブロック1502の右上部コーナーについての制御点動きベクトル、v1 1542とは、アフィン動き公式で決定されることができ、その例は、次の通りである。
Figure 2019534622
[0204]上記の式は、v0 1540およびv1 1542を計算するために、v2 1530、v3 1532、およびv4 1534を使用するための実例的な方法を例示している。
[0205]制御点動きベクトル、v0 1540およびv1 1542が決定されると、式(1)は、現在のブロック1502についての動きベクトルフィールドを決定するために適用されることができる。
[0206]現在のブロック1502がAF_MERGEモードでコーディングされているかどうかを識別するために、アフィンフラグは、少なくとも1つの隣接ブロックがアフィンモードでコーディングされたときに、ビットストリーム中に含まれることができる。
[0207]フレームレートアップコンバージョンコーディングモードの様々なインプリメンテーションでは、平行移動(translation)動きが、動き推定を決定するときに検討される。例えば、JEMのいくつかのインプリメンテーションは、平行移動(translational)動きモデルのみを使用する。平行移動動きモデルは、しかしながら、より複雑な動きをキャプチャすることが可能ではないことがありうるか、または効率的にそのような動きをキャプチャすることが可能ではないことがありうる。例えば、平行移動動きモデルのみを使用して、ビットストリーム中で複雑な動きをシグナリングする(例えば、記述する)ことは、とても大きいビットストリームを生成しうる。信号は、復号器が、フレームレートアップコンバージョンを実行し、および最小グリッチまたはアーティファクトを有するビデオシーケンスを作り出すことが可能であるために必要でありうる。大きいビットストリームは、しかしながら、記憶およびトランスポートするにはコストが掛かる可能性がある。
[0208]様々なインプリメンテーションでは、フレームレートアップコンバージョン両方向マッチングコーディングモードを使用するとき、アフィン動きモデルは、平行移動動きモデルの代わりに、またはそれに加えて適用されることができる。いくつかのケースでは、アフィン動きモデルは、フレームから次のフレームへのオブジェクトの移動をより良く反映(reflect)し、およびこのことから、より良いフレームレートアップコンバージョン結果をもたらすことができる。
[0209]いくつかの例では、ブロック全体に対して両方向マッチングを使用するとき、平行移動動きモデルがまず、平行移動動き情報を導出するために使用されることができる。例えば、図2Aおよび図2Bに関して、例えば、論述されたような動き推定および動き予測は、参照フレームに対する参照インデックスおよび動きベクトルを決定するために使用されることができる。平行移動動き情報はその後、アフィン動き情報を導出するために、アフィン動きモデルへの入力として使用されることができる。例えば、平行移動動き情報は、現在のブロックについての単一の動きベクトルを提供することができる。この例では、上述されたようなアフィン動きモデルは、ブロックについての動きベクトルフィールドを作り出すために、動きベクトルに適用されることができる。
[0210]いくつかのインプリメンテーションでは、マッチングコストは、どちらの情報をビットストリーム中に含めるかを決定するために、平行移動動き情報とアフィン動き情報との両方について決定されることができる。マッチングコストは、各モデルの正確度の度合いに相関することができる。マッチングコストを決定することは、例えば、第1の参照フレームからのブロックを第2の参照フレームからのブロックと比較することを含むことができ、ここで、2つのブロックは、動きモデルに基づいて選択される。平行移動動きモデルの場合、オブジェクトの移動は、線形であると想定されることができ、およびこのことから、第2のブロックは、第1のブロックに対して連続的軌道に沿っていると想定されることができる。アフィン動きモデルの場合、オブジェクトの移動は、非線形であると想定されえ、およびこのことから、第2のブロックは、平行移動動きモデルを使用して選択されるブロックとは異なる、第2の参照フレームの部分中にありうる。第1のブロックと第2のブロックとの間の差分が大きいとき、マッチングコストは高い。反対に、差分が少ないとき、マッチングコストは低い。様々なインプリメンテーションでは、より小さいマッチングコストをもたらす動き情報が使用される。
[0211]いくつかのインプリメンテーションでは、アフィン動きモデルは、いくつかのブロックについてのみチェックされる。例えば、しきい値サイズ(例えば、4×4ピクセル、16×16ピクセル、または何らかの他のサイズ)より大きいブロックがチェックされうる。いくつかのケースでは、アフィン動きモデルは、より大きいブロックに対してより良い結果(例えば、より効率的なコーディング)を提供することができる。いくつかの例では、しきい値は、機械学習技法を使用して決定されることができ、それにおいて、符号化システムは、トレーニングサンプルを提供されることができ、そのシステムは、最適条件(an optimum)が決定されるまで、異なるしきい値を試すことができる。いくつかのインプリメンテーションでは、しきい値は、予め定義されることができるか、またはしきい値は、ビットストリーム中でシグナリングされることができる。例えば、しきい値は、SPS、PPS、スライスヘッダ中、補足エンハンスメント情報(SEI:a Supplemental Enhanced Information)メッセージ中、またはビットストリーム中の何らかの他の構造中で示されうる。
[0212]様々なインプリメンテーションでは、符号化器は、任意の特定のコーディングユニットに対して、平行移動動き情報が使用されるべきか、アフィン動き情報が使用されるべきかを決定することができる。これらのインプリメンテーションでは、符号化器は、動き情報を導出するために使用される方法をビットストリーム中で示すか、またはシグナリングすることができる。様々なインプリメンテーションでは、復号器は、動き情報を導出するために、ビットストリーム中の情報を使用することができる。
[0213]様々なインプリメンテーションでは、および上述されたように、フレームレートアップコンバージョンモードでコーディングされたブロックを復号するとき、生成されるブロックは、サブブロックへと再分割されることができる。これらのインプリメンテーションでは、ブロックについての動きベクトルは、各サブブロックについての動きベクトルを生成するために使用されることができる。サブブロックについての動きベクトルを生成することは、ブロック全体におけるより複雑な移動をキャプチャし、およびこのことから、より良いコーディング効率を生むことができる。ブロックについての動きベクトルは、平行移動動きモデルまたはアフィン動きモデルを使用して決定されることができる。各サブブロックについての動きベクトルは、平行移動動きモデルまたはアフィン動きモデルを使用して決定されることができる。例えば、上記の式(1)は、各サブブロックについての動きベクトルを決定するために使用されることができる。
[0214]様々なインプリメンテーションでは、特徴点ベースの方法は、初期スケーリングファクタを決定するために使用されることができ、ここで、スケーリングファクタは、サブブロックについての動きベクトルを決定するために使用されることができる。例えば、4点アフィンモデルが使用される例では、ハリスコーナー検出器(a Harris corner detector)または何らかの他のコンピュータビジョンシステムが、ブロック中の最も顕著な2つの特徴点を抽出するために使用されることができる。特徴点は、ブロック中のピクセルの特有の(distinctive)セットであることができ、ここで、ピクセルは、ピクセルが周囲とは異なる色または光度を有する、および/または特有の形状を有することから、特有である。
[0215]様々なインプリメンテーションでは、特徴点は、動きベクトル予測中にベストマッチングブロックを探索しているときに使用されることができる。例えば、正規化相互相関(normalized cross correlation)のような探索方法は、第1の参照ピクチャおよび第2の参照ピクチャ中の対応する特徴点を見出すために使用されることができる。スケーリングファクタは、例えば、第1の参照ピクチャおよび第2の参照ピクチャ中の2つの特徴点のユークリッド距離の比を算出することによって決定されることができる。代替として、例えば、顕著な特徴点の数が2つより大きいとき、比は、距離ベクトルに適合する最小2乗値を見出すことによって見出されることができ、ここで、距離ベクトルは、各特徴点から平均点までの距離(例えば、質量中心(the center of mass)までの距離)の和を算出することによって生成されることができる。算出されるスケーリングファクタは、全てのサブブロックについての動きベクトルを精緻化する(リファインするrefine)ために使用されることができる。
[0216]様々なインプリメンテーションでは、システムは、フレームレートアップコンバージョン両方向マッチングコーディングモードを行うときに、ピクセルレベルアフィン動き推定を行うように構成されうる。これらのインプリメンテーションでは、特徴点のセットは、抽出されることができ、線形方程式系(a system of linear equations)に対する最小2乗の解は、アフィンパラメータを導出するために使用されることができる。代替としてまたは加えて、ランダムサンプルコンセンサス(RANSAC:Random Sample Consensus)のようなアルゴリズムは、アフィンパラメータを見出すために使用されうる。RANSACのようなアルゴリズムは、アフィンパラメータの探索中に外れ値(outliers)を自動的に取り除くことができ、ここで、最小2乗の解のような方法は、外れ値を含みうる。RANSACのようなアルゴリズムはまた、追加の計算的な複雑性を犠牲にしてよりロバストな結果を生むことができる。
[0217]様々なインプリメンテーションでは、ビデオシステムは、重み付けされた双補間(weighted bi-interpolation)をサポートしうる。重み付けされていない双補間では、予測される逆方向動きベクトルは、予測される前方動きベクトルと同じ重みを与えられる。重み付けされた双補間では、前方および逆方向動きベクトルは、異なる重みを与えられることができる。重みを決定するために、システムは、反復探索を行うことができ、ここで、その探索は、安定した結果が達成されるか、または所定の最大数の反復が達せられたときに終了する。復号器は、例えば、重みがビットストリーム中で提供されないときに反復探索を行いうる。いくつかのケースでは、重みは、ビットストリーム中で提供されえ、および動きベクトルを導出するために復号器によって使用されることができる。
[0218]ビデオのコンテンツについての何らかの情報がないと、しかしながら、反復探索のための開始重みを決定することは、難しい可能性がある。このことから、様々なインプリメンテーションでは、平行移動動き探索は、最適重みを見出すために使用されることができる。これらおよび他のインプリメンテーションでは、重みは、両方向マッチングにおけるアフィン動き探索に適用されることができる。
[0219]いくつかのインプリメンテーションでは、サブブロック動きベクトル精緻化(refinement)のためにフレームレートアップコンバージョン両方向マッチングコーディングモードを使用するときに、1次テイラー展開が、SADベースのマッチングの代わりに、動きベクトルを最適化するために使用されることができる。例えば、現在のブロックに対する1次テイラー展開は、第1の参照フレームについて計算されることができ、および現在のブロックに対する1次テイラー展開はまた、第2の参照フレームについて計算されることができ、ここで、第1および第2の参照フレームは、異なる時間的位置にある。動きベクトルはその後、2乗誤差の和(または絶対差分の和)を最小化することによって導出されることができ、ここで、誤差は、2つの参照フレームの各々についての計算の結果の間である。この計算は、上述された式(6)に類似している。
[0220]図16は、フレームレートアップコンバージョンコーディングモードのためのプロセス1600の例を例示している。実例的なプロセス1600は、符号化デバイスまたは復号デバイスによって実行されることができる。
[0221]1602において、プロセス1600は、ビデオデータを取得することを含む。ビデオデータは、例えば、カメラのようなビデオキャプチャデバイスから取得されることができる。別の例として、ビデオデータは、符号化されたビットストリームから取得されることができる。別の例として、ビデオデータは、ファイルから、またはネットワークデータから取得されることができ、ここで、ビデオデータは、特定のフォーマットにしたがってパッケージ化される。
[0222]1604において、プロセス1600は、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することを含み、ここにおいて、フレームレートアップコンバージョン両方向マッチングコーディングモードがブロックに対して使用されるときには、局所照明補償がブロックに対して使用されることは許可されない。いくつかのインプリメンテーションでは、フレームレートアップコンバージョン両方向マッチングコーディングモードがブロックに対して使用されるとき、局所照明補償フラグは、ブロックについてのデータがビットストリームに書き込まれるときには、ブロックに対してシグナリングされない。
[0223]1606において、プロセス1600は、ブロックについての動き情報を決定することを含み、ここにおいて、動き情報は、ブロックに対して使用されるフレームレートアップコンバージョン両方向マッチングコーディングモードに基づいて決定される。動き情報は、例えば、動きベクトルを含むことができる。フレームレートアップコンバージョン両方向マッチングを使用することは、例えば、第1の参照フレーム中の第1のブロックを決定することと、第2の参照フレーム中の第2のブロックを決定することとを含むことができ、ここで、第2のブロックは、第1のブロックに関連付けられている。プロセス1600はさらに、第1のブロックから第2のブロックまでの動き軌道を決定することを含むことができる。プロセス1600はさらに、動き軌道の経路に沿ってブロックを生成することを含むことができる。
[0224]いくつかのインプリメンテーションでは、プロセス1600が復号器によって実行されるとき、プロセス1600は、フレームレートアップコンバージョン両方向マッチングコーディングモードがブロックに対してシグナリングされることに応答して、偽となるように局所照明補償フラグの値を導出することを含むことができ、ここにおいて、局所照明補償は、局所照明補償フラグが偽となるように導出されるときには使用されない。
[0225]いくつかのインプリメンテーションでは、プロセス1600はさらに、動き情報を精緻化するために1次テイラー展開最適化を実行することを含むことができる。1次テイラー展開最適化を実行することは、第1の参照ピクチャと第2の参照ピクチャとの時間的位置におけるブロックの1次テイラー展開間の2乗誤差の和(または絶対デイファーンス(differnce)の和)を最小化することによって動きベクトルを導出することを含むことができる。
[0226]図17は、フレームレートアップコンバージョンのためのプロセス1700の例を例示している。実例的なプロセス1700は、符号化デバイスまたは復号デバイスによって実行されることができる。
[0227]1702において、プロセス1700は、ビデオデータを取得することを含む。ビデオデータは、例えば、カメラのようなビデオキャプチャデバイスから取得されることができる。別の例として、ビデオデータは、符号化されたビットストリームから取得されることができる。別の例として、ビデオデータは、ファイルから、またはネットワークデータから取得されることができ、ここで、ビデオデータは、特定のフォーマットにしたがってパッケージ化される。
[0228]1704において、プロセス1700は、ビデオデータのブロックに対して局所照明補償を使用することを含み、ここにおいて、局所照明補償がブロックに対して実行されるときには、フレームレートアップコンバージョンがブロックに対して使用されることは許可されない。いくつかのインプリメンテーションでは、局所照明補償がブロックに対して使用されるとき、フレームレートアップコンバージョン両方向マッチングコーディングモードフラグは、ブロックについてのデータがビットストリームに書き込まれるときには、ブロックに対してシグナリングされない。
[0229]1706において、プロセス1700は、ブロックについての動き情報を決定することを含み、ここにおいて、動き情報は、局所照明補償がブロックに対して使用された後に決定される。いくつかのインプリメンテーションでは、局所照明補償を使用することは、スケーリングファクタとオフセットとを導出するために最小2乗方を使用することを含むことができる。
[0230]いくつかのインプリメンテーションでは、プロセス1700が復号器によって実行されるとき、プロセス1700は、局所照明補償がブロックに対してシグナリングされることに応答して、偽となるようにフレームレートアップコンバージョン両方向マッチングコーディングモードフラグの値を導出することを含むことができ、ここにおいて、フレームレートアップコンバージョン両方向マッチングは、局所照明補償フラグが偽となるように導出されるときには使用されない。
[0231]いくつかのインプリメンテーションでは、プロセス1700は、動き情報を精緻化する(refine)ために1次テイラー展開を実行することを含むことができる。
[0232]図18は、フレームレートアップコンバージョンのためのプロセス1800の例を例示している。実例的なプロセス1800は、符号化デバイスまたは復号デバイスによって実行されることができる。
[0233]1802において、プロセス1800は、ビデオデータを取得することを含む。ビデオデータは、例えば、カメラのようなビデオキャプチャデバイスから取得されることができる。別の例として、ビデオデータは、符号化されたビットストリームから取得されることができる。別の例として、ビデオデータは、ファイルから、またはネットワークデータから取得されることができ、ここで、ビデオデータは、特定のフォーマットにしたがってパッケージ化される。
[0234]1804において、プロセス1800は、ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することを含み、ここにおいて、フレームレートアップコンバージョン両方向マッチングを使用することは、ブロックにアフィン動きモデルを適用することを含む。いくつかのケースでは、アフィン動きモデルは、平行移動動きモデルの代わりに適用される。いくつかのケースでは、アフィン動きモデルは、平行移動動きモデルに加えて適用される。
[0235]1806において、プロセス1800は、ブロックへのアフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定することを含む。
[0236]1808において、プロセス1800は、第1のアフィン動き情報と第2のアフィン動き情報とを使用してブロックについての少なくとも1つの予測を決定することを含む。
[0237]いくつかのインプリメンテーションでは、プロセス1800はさらに、ブロックについての第1の予測を決定することを含むことができ、ここで、第1の予測は、第1の参照ピクチャと第1のアフィン動き情報とを使用して決定される。プロセス1800はさらに、ブロックについての第2の予測を決定することを含むことができ、ここで、第2の予測は、第2の参照ピクチャと第2のアフィン動き情報とを使用して決定される。
[0238]いくつかのインプリメンテーションでは、プロセス1800はさらに、ブロックに平行移動動きモデルを適用することを含むことができる。平行移動動きモデルの適用は、平行移動動き情報をもたらす。これらのインプリメンテーションでは、ブロックにアフィン動きモデルを適用することは、第1のアフィン動きと第2のアフィン動き情報とを導出するために、入力として平行移動動き情報を使用することを含むことができる。
[0239]いくつかのインプリメンテーションでは、プロセス1800はさらに、アフィン動きモデルのマッチングコストが平行移動動きモデルのマッチングコストより低いと決定することを含むことができる。マッチングコストがより低いとき、アフィン動きモデルの使用は、ビットストリーム中でシグナリングされることができる。
[0240]いくつかのインプリメンテーションでは、プロセス1800はさらに、アフィン動きモデルのマッチングコストが平行移動動きモデルのマッチングコストより高いと決定することを含むことができる。コストがより高いとき、平行移動動きモデルの使用は、ビットストリーム中でシグナリングされることができる。
[0241]いくつかのインプリメンテーションでは、プロセス1800はさらに、ブロックのサイズがしきい値サイズより大きいと決定することを含むことができる。これらのインプリメンテーションでは、アフィン動きモデルは、ブロックのサイズがしきい値サイズより大きいと決定することに応答してブロックに適用される。
[0242]いくつかのインプリメンテーションでは、プロセス1800はさらに、ブロックについての少なくとも予測を精緻化するために1次テイラー展開最適化を実行することを含むことができる。1次テイラー展開最適化を実行することは、第1の参照ピクチャと第2の参照ピクチャとの時間的位置におけるブロックの1次テイラー展開間の2乗誤差の和(または絶対差分の和)を最小化することによって動きベクトルを導出することを含むことができる。
[0243]ここに論述されるコーディング技法は、実例的なビデオ符号化および復号システム(例えば、システム100)においてインプリメントされうる。いくつかの例では、システムは、宛先デバイスによって後の時間に復号されることになる符号化されたビデオデータを提供するソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス、または同様のものを含む、幅広い範囲のデバイスのうちの任意のものを備えうる。いくつかのケースでは、ソースデバイスおよび宛先デバイスは、ワイヤレス通信のために装備されうる。
[0244]宛先デバイスは、コンピュータ可読媒体を介して復号されることになる符号化されたビデオデータを受信しうる。コンピュータ可読媒体は、ソースデバイスから宛先デバイスに符号化されたビデオデータを移動させることが可能である任意のタイプの媒体またはデバイスを備えうる。一例では、コンピュータ可読媒体は、ソースデバイスがリアルタイムで宛先デバイスに直接符号化されたビデオデータを送信することを可能にするための通信媒体を備えうる。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、および宛先デバイスに送信されうる。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理送信線のような任意のワイヤレスまたはワイヤード通信媒体を備えうる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークのような、パケットベースのネットワークの一部を形成しうる。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を容易にするのに役立ちうる任意の他の機器を含みうる。
[0245]いくつかの例では、符号化されたデータは、出力インターフェースから記憶デバイスに出力されうる。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされうる。記憶デバイスは、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または非揮発性メモリ、あるいは符号化されたビデオデータを記憶するための任意の他の適したデジタル記憶媒体のような、多様な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちの任意のものを含みうる。さらなる例では、記憶デバイスは、ファイルサーバ、またはソースデバイスによって生成される符号化されたビデオを記憶しうる別の中間記憶デバイスに対応しうる。宛先デバイスは、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスしうる。ファイルサーバは、符号化されたビデオデータを記憶することと、宛先デバイスにその符号化されたビデオデータを送信することとが可能である任意のタイプのサーバでありうる。実例的なファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む、任意の標準データ接続を通じて符号化されたビデオデータにアクセスしうる。これは、ファイルサーバ上に記憶された符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル(例えば、Wi−Fi接続)、ワイヤード接続(例えば、DSL、ケーブルモデム、等)、またはその両方の組み合わせを含みうる。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組み合わせでありうる。
[0246]この開示の技法は、ワイヤレス適用または設定に必ずしも限定されない。本技法は、無線テレビブロードキャスト、ケーブルテレビ送信、衛星テレビ送信、HTTPを通した動的適応型ストリーミング(DASH)のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用のような、多様なマルチメディア適用のうちの任意のものをサポートするビデオコーディングに適用されうる。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティングおよび/またはビデオ電話通信のような適用をサポートするために、1方向または2方向ビデオ送信をサポートするように構成されうる。
[0247]一例では、ソースデバイスは、ビデオソース、ビデオ符号化器、および出力インターフェースを含む。宛先デバイスは、入力インターフェース、ビデオ復号器、およびディスプレイデバイスを含みうる。ソースデバイスのビデオ符号化器は、ここに開示されている技法を適用するように構成されうる。他の例では、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは配列を含みうる。例えば、ソースデバイスは、外部カメラのような外部ビデオソースからビデオデータを受信しうる。同様に、宛先デバイスは、一体化されたディスプレイデバイスを含むというよりはむしろ、外部ディスプレイデバイスとインターフェースしうる。
[0248]上記の実例的なシステムは単に一例に過ぎない。平行してビデオデータを処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行されうる。概して、この開示の技法は、ビデオ符号化デバイスによって実行されるが、本技法はまた、典型的に「CODEC」と呼ばれるビデオ符号化器/復号器によって実行されうる。その上、この開示の技法はまた、ビデオプリプロセッサによって実行されうる。ソースデバイスおよび宛先デバイスは単に、ソースデバイスが宛先デバイスへの送信のためのコード化されたビデオデータを生成するそのようなコーディングデバイスの例に過ぎない。いくつかの例では、ソースデバイスおよび宛先デバイスは、それらデバイスの各々がビデオ符号化および復号コンポーネントを含むような実質的に対称的な方法で動作しうる。故に、実例的なシステムは、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話通信のために、ビデオデバイス間の1方向または2方向ビデオ送信をサポートしうる。
[0249]ビデオソースは、ビデオカメラのようなビデオキャプチャデバイス、以前にキャプチャされたビデオを包含するビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含みうる。さらなる代替として、ビデオソースは、ソースビデオとしてコンピュータグラフィックスベースのデータを、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ生成されたビデオの組み合わせを生成しうる。いくつかのケースでは、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラ電話またはビデオ電話を形成しうる。上述されたように、しかしながら、この開示において説明される技法は、概してビデオコーディングに適用可能でありえ、ワイヤレスおよび/またはワイヤード適用に適用されうる。各ケースでは、キャプチャされた、事前にキャプチャされた、またはコンピュータ生成されたビデオは、ビデオ符号化器によって符号化されうる。符号化されたビデオ情報はその後、コンピュータ可読媒体上に出力インターフェースによって出力されうる。
[0250]述べられたように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信のような一過性媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−rayディスク、もしくは他のコンピュータ可読媒体のような記憶媒体(すなわち、非一時的記憶媒体)を含みうる。いくつかの例では、ネットワークサーバ(図示せず)は、例えば、ネットワーク送信を介して、ソースデバイスから符号化されたビデオデータを受信し、および宛先デバイスに符号化されたビデオデータを提供しうる。同様に、ディスクスタンピング設備のような媒体製造設備のコンピューティングデバイスは、ソースデバイスから符号化されたビデオデータを受信し、および符号化されたビデオデータを包含するディスクを製造しうる。したがって、コンピュータ可読媒体は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されうる。
[0251]宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ブロックおよび他のコーディングユニット、例えば、ピクチャのグループ(GOP:group of pictures)の特性および/または処理を記述するシンタックス要素を含む、ビデオ符号化器によって定義されるシンタックス情報を含みえ、それはまた、ビデオ復号器によって使用される。ディスプレイデバイスは、ユーザに復号されたビデオデータを表示し、およびブラウン管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような多様なディスプレイデバイスのうちの任意のものを備えうる。本発明の様々な実施形態が、説明されてきた。
[0252]符号化デバイス104および復号デバイス112の特定の詳細は、それぞれ図19および図20に示されている。図19は、この開示において説明される技法のうちの1つまたは複数をインプリメントしうる実例的な符号化デバイス104を例示するブロック図である。符号化デバイス104は、例えば、ここに説明されるシンタックス構造(例えば、VPS、SPS、PPS、または他のシンタックス要素のシンタックス構造)を生成しうる。符号化デバイス104は、ビデオスライス内のビデオブロックのイントラ予測およびインター予測コーディングを実行しうる。前述されたように、イントラコーディングは、所与のビデオフレームまたはピクチャ内の空間的冗長性を低減または取り除くために空間的予測に少なくとも部分的に依拠する。インターコーディングは、ビデオシーケンスの隣接または周囲フレーム内の時間的冗長性を低減または取り除くために時間的予測に少なくとも部分的に依拠する。イントラ(I)モードは、いくつかの空間ベースの圧縮モードのうちの任意のものを指しうる。単方向予測(Pモード)または双予測(Bモード)のようなインターモードは、いくつかの時間ベースの圧縮モードのうちの任意のものを指しうる。
[0253]符号化デバイス104は、区分化ユニット35、予測処理ユニット41、フィルタユニット63、ピクチャメモリ64、加算器50、変換処理ユニット52、量子化ユニット54、およびエントロピー符号化ユニット56を含む。予測処理ユニット41は、動き推定ユニット42、動き補償ユニット44、およびイントラ予測処理ユニット46を含む。ビデオブロック再構築のために、符号化デバイス104はまた、逆量子化ユニット58、逆変換処理ユニット60、および加算器62を含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF:an adaptive loop filter)、およびサンプル適応オフセット(SAO:sample adaptive offset)フィルタのような1つまたは複数のループフィルタを表すことを意図されている。フィルタユニット63はインループフィルタ(an in loop filter)として図19に示されているが、他の構成では、フィルタユニット63は、ポストループフィルタ(a post loop filter)としてインプリメントされうる。後処理デバイス(A post processing device)57は、符号化デバイス104によって生成される符号化されたビデオデータに対して追加の処理を実行しうる。この開示の技法は、いくつかの事例では、符号化デバイス104によってインプリメントされうる。他の事例では、しかしながら、この開示の技法のうちの1つまたは複数は、後処理デバイス57によってインプリメントされうる。
[0254]図19に示されているように、符号化デバイス104は、ビデオデータを受信し、および区分化ユニット35は、データをビデオブロックへと区分化する。その区分化はまた、スライス、スライスセグメント、タイル、または他のより大きなユニットへの区分化、ならびに、例えば、LCUおよびCUの四分木構造にしたがったビデオブロック区分化を含みうる。符号化デバイス104は概して、符号化されることになるビデオスライス内のビデオブロックを符号化するコンポーネントを例示している。スライスは、複数のビデオブロックへと(およびことによると、タイルと呼ばれるビデオブロックのセットへと)分割されうる。予測処理ユニット41は、誤差結果(例えば、コーディングレートおよび歪みのレベル、または同様のもの)に基づいて、現在のビデオブロックに対して、複数のイントラ予測コーディングモードのうちの1つまたは複数のインター予測コーディングモードのうちの1つのような複数の可能なコーディングモードのうちの1つを選択しうる。予測処理ユニット41は、残差ブロックデータを生成するために加算器50に、および参照ピクチャとして使用するための符号化されたブロックを再構築するために加算器62に、結果として生じるイントラまたはインターコーディングされたブロックを提供しうる。
[0255]予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を提供するためにコード化されるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の近隣ブロックに対して、現在のビデオブロックのイントラ予測コーディングを実行しうる。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間的圧縮を提供するために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対して、現在のビデオブロックのインター予測コーディングを実行する。
[0256]動き推定ユニット42は、ビデオシーケンスについての所定のパターンにしたがって、ビデオスライスに対するインター予測モードを決定するように構成されうる。所定のパターンは、Pスライス、Bスライス、またはGPBスライスとして、シーケンス中のビデオスライスを指定しうる。動き推定ユニット42および動き補償ユニット44は、高度に一体化されうるが、概念的な目的のために別個に例示されている。動き推定ユニット42によって実行される動き推定は、動きベクトルを生成するプロセスであり、それは、ビデオブロックについての動きを推定する。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックの予測ユニット(PU)の変位を示しうる。
[0257]予測ブロックは、ピクセル差分の観点からコーディングされるべきビデオブロックのPUと密接にマッチすることを見出されるブロックであり、それは、絶対差分の和(SAD)、2乗差分の和(SSD:sum of square difference)、または他の差分メトリックによって決定されうる。いくつかの例では、符号化デバイス104は、ピクチャメモリ64中に記憶された参照ピクチャのサブ整数ピクセル位置についての値を算出しうる。例えば、符号化デバイス104は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間しうる。したがって、動き推定ユニット42は、全ピクセル位置および分数ピクセル位置に対して動き探索を実行し、および分数ピクセル精度で動きベクトルを出力しうる。
[0258]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのPUについての動きベクトルを算出する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されえ、それらの各々は、ピクチャメモリ64中に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、エントロピー符号化ユニット56および動き補償ユニット44に算出された動きベクトルを送る。
[0259]動き補償ユニット44によって実行される動き補償は、動き推定によって決定される動きベクトルに基づいて予測ブロックをフェッチするまたは生成することを伴いえ、ことによるとサブピクセル精度に対する補間を実行する。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリスト中に、動きベクトルが指し示す予測ブロックをロケートしうる。符号化デバイス104は、コーディングされる現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差ビデオブロックを形成し、ピクセル差分値を形成する。ピクセル差分値は、ブロックについての残差データを形成し、ルーマおよびクロマ差分成分の両方を含みうる。加算器50は、この減算演算を実行する1つまたは複数のコンポーネントを表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際に復号デバイス112によって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成しうる。
[0260]イントラ予測処理ユニット46は、上述されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測しうる。特に、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用するためのイントラ予測モードを決定しうる。いくつかの例では、イントラ予測処理ユニット46は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化しえ、およびイントラ予測ユニット処理46は、テストされたモードから使用するための適切なイントラ予測モードを選択しうる。例えば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードについてのレート歪み分析を使用してレート歪み値を算出しえ、およびテストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択しうる。レート歪み分析は概して、符号化されたブロックと、符号化されたブロックを作り出すために符号化された元の符号化されていないブロックとの間の歪み(または誤差)の量、ならびに符号化されたブロックを作り出すために使用されたビットレート(すなわち、ビットの数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックについての最良のレート歪み値を示すかを決定するために、様々な符号化されたブロックについての歪みおよびレートからの比を算出しうる。
[0261]いずれのケースでも、ブロックに対するイントラ予測モードを選択した後に、イントラ予測処理ユニット46は、エントロピー符号化ユニット56にブロックに対する選択されたイントラ予測モードを示す情報を提供しうる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化しうる。符号化デバイス104は、様々なブロックについての符号化コンテキストの定義、ならびに最確(most probable)イントラ予測モードのインジケーション、イントラ予測モードインデックステーブル、およびコンテキストの各々に対して使用するための修正されたイントラ予測モードインデックステーブルを、送信されたビットストリーム構成データ中に含めうる。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルと、複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)とを含みうる。
[0154]予測処理ユニット41がインター予測またはイントラ予測のいずれかを介して現在のビデオブロックについての予測ブロックを生成した後に、符号化デバイス104は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、および変換処理ユニット52に適用されうる。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換のような変換を使用して、残差ビデオデータを残差変換係数へと変換する。変換処理ユニット52は、ピクセルドメインから周波数ドメインのような変換ドメインへと残差ビデオデータをコンバートしうる。
[0262]変換処理ユニット52は、量子化ユニット54に結果として生じる変換係数を送りうる。量子化ユニット54は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数のうちのいくつかまたは全てに関連付けられたビット深度を低減しうる。量子化の度合いは、量子化パラメータを調節することによって修正されうる。いくつかの例では、量子化ユニット54はその後、量子化された変換係数を含む行列の走査を実行しうる。代替として、エントロピー符号化ユニット56が走査を実行しうる。
[0263]量子化に続いて、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、シンタックスベースのコンテキスト適応バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分化エントロピー(PIPE:probability interval partitioning entropy)コーディング、または別のエントロピー符号化技法を実行しうる。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化されたビットストリームは、復号デバイス112に送信されうるか、または復号デバイス112による後の送信または取り出しのためにアーカイブされうる。エントロピー符号化ユニット56はまた、コーディングされる現在のビデオスライスについての動きベクトルおよび他のシンタックス要素をエントロピー符号化しうる。
[0264]逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとして後に使用するためのピクセルドメイン中の残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャリスト内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを追加することによって、参照ブロックを算出しうる。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を算出するために、再構築された残差ブロックに1つまたは複数の補間フィルタを適用しうる。加算器62は、ピクチャメモリ64中での記憶のための参照ブロックを作り出すために、動き補償ユニット44によって作り出された動き補償予測ブロックに再構築された残差ブロックを追加する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、参照ブロックとして動き推定ユニット42および動き補償ユニット44によって使用されうる。
[0265]このように、図19の符号化デバイス104は、符号化されたビデオビットストリームについてのシンタックスを生成するように構成されたビデオ符号化器の例を表している。符号化デバイス104は、例えば、上述されたように、VPS、SPS、およびPPSパラメータセットを生成しうる。符号化デバイス104は、図17、18、および図19に関して上述されたプロセスを含む、ここに説明される技法のうちの任意のものを実行しうる。この開示の技法は概して、符号化デバイス104に関して説明されてきたが、上述されたように、この開示の技法のうちのいくつかはまた、後処理デバイス57によってインプリメントされうる。
[0266]図20は、実例的な復号デバイス112を例示するブロック図である。復号デバイス112は、エントロピー復号ユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、加算器90、フィルタユニット91、およびピクチャメモリ92を含む。予測処理ユニット81は、動き補償ユニット82およびイントラ予測処理ユニット84を含む。復号デバイス112は、いくつかの例では、図20からの符号化デバイス104に関して説明された符号化パスとは概して相補的な復号パスを実行しうる。
[0267]復号プロセス中に、復号デバイス112は、符号化デバイス104によって送られる符号化されたビデオスライスのビデオブロックと関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。いくつかの実施形態では、復号デバイス112は、符号化デバイス104から符号化されたビデオビットストリームを受信しうる。いくつかの実施形態では、復号デバイス112は、サーバ、媒体認識ネットワーク要素(MANE:a media-aware network element)、ビデオエディタ/スプライサ、または上述された技法のうちの1つまたは複数をインプリメントするように構成された他のそのようなデバイスのようなネットワークエンティティ79から符号化されたビデオビットストリームを受信しうる。ネットワークエンティティ79は、符号化デバイス104を含むことも含まないこともありうる。この開示において説明される技法のうちのいくつかは、ネットワークエンティティ79が復号デバイス112に符号化されたビデオビットストリームを送信するより前にネットワークエンティティ79によってインプリメントされうる。いくつかのビデオ復号システムでは、ネットワークエンティティ79および復号デバイス112は、別個のデバイスの一部でありうるが、その一方で、他の事例では、ネットワークエンティティ79に関して説明される機能は、復号デバイス112を備える同じデバイスによって実行されうる。
[0268]復号デバイス112のエントロピー復号ユニット80は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測処理ユニット81に動きベクトルおよび他のシンタックス要素を転送する。復号デバイス112は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信しうる。エントロピー復号ユニット80は、VPS、SPS、およびPPSのような、または複数のパラメータセット中の固定長シンタックス要素と可変長シンタックス要素との両方を処理および構文解析(parse)しうる。
[0269]ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされるとき、予測処理ユニット81のイントラ予測処理ユニット84は、現在のフレームまたはピクチャの以前に復号されたブロックからのデータおよびシグナリングされたイントラ予測モードに基づいて、現在のビデオスライスのビデオブロックについての予測データを生成しうる。ビデオフレームがインターコーディングされた(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについての予測ブロックを作り出す。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの1つから作り出されうる。復号デバイス112は、ピクチャメモリ92中に記憶された参照ピクチャに基づいて、デフォルト構築技法を使用して参照フレームリスト、リスト0およびリスト1を構築しうる。
[0270]動き補償ユニット82は、動きベクトルおよび他のシンタックス要素を構文解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、および復号される現在のビデオブロックについての予測ブロックを作り出すために予測情報を使用する。例えば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(例えば、イントラまたはインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)と、スライスについての1つまたは複数の参照ピクチャリストについての構築情報と、スライスの各インター符号化されたビデオブロックについての動きベクトルと、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、パラメータセット中の1つまたは複数のシンタックス要素を使用しうる。
[0271]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行しうる。動き補償ユニット82は、参照ブロックのサブ整数ピクセルについての補間された値を算出するためにビデオブロックの符号化中に、符号化デバイス104によって使用されるような補間フィルタを使用しうる。このケースでは、動き補償ユニット82は、受信されたシンタックス要素から符号化デバイス104によって使用される補間フィルタを決定しえ、および予測ブロックを作り出すために補間フィルタを使用しうる。
[0272]逆量子化ユニット86は、ビットストリーム中で提供され、且つエントロピー復号ユニット80によって復号された、量子化された変換係数を逆量子化(inverse quantizes)、すなわち逆量子化(de-quantizes)する。逆量子化プロセスは、量子化の度合い、および同様に、適用されるべき逆量子化の度合いを決定するために、ビデオスライス中の各ビデオブロックについて符号化デバイス104によって算出される量子化パラメータの使用を含みうる。逆変換処理ユニット88は、ピクセルドメイン中に残差ブロックを作り出すために、変換係数に逆変換(例えば、逆DCTまたは他の適した逆変換)、逆整数変換、あるいは概念的に同様の逆変換プロセスを適用する。
[0273]動き補償ユニット82が動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックについての予測ブロックを生成した後に、復号デバイス112は、逆変換処理ユニット88からの残差ブロックを、動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数のコンポーネントを表す。所望される場合、(コーディングループ中またはコーディングループ後のいずれかの)ループフィルタはまた、ピクセル遷移を平滑化にするために、またはそうでない場合にはビデオ品質を改善するために使用されうる。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような1つまたは複数のループフィルタを表すことを意図されている。フィルタユニット91はインループフィルタとして図20に示されているが、他の構成では、フィルタユニット91は、ポストループフィルタとしてインプリメントされうる。所与のフレームまたはピクチャ中の復号されたビデオブロックはその後、ピクチャメモリ92中に記憶され、それは、後続する動き補償のために使用される参照ピクチャを記憶する。ピクチャメモリ92はまた、図1に示されているビデオ宛先デバイス122のようなディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する。
[0274]前述の説明では、本願の態様は、その特定の実施形態に関して説明されているが、当業者は、本発明はそれに限定されないと認識するであろう。このことから、本願の例示的な実施形態がここに詳細に説明されてきたが、発明の概念は、他の方法で様々に具現化および用いられえ、および添付された特許請求の範囲は、先行技術によって限定される場合を除いて、そのような様々な変形を含むように解釈されることを意図されていることが理解されるべきである。上述された本発明の様々な特徴および態様は、個々にまたは一緒に使用されうる。さらに、実施形態は、本明細書のより広い精神および範囲から逸脱することなしに、ここに説明されたものを超えたあらゆる数の環境および適用において利用されることができる。本明細書および図面は、それ故に、制限的というよりはむしろ例示的であると見なされるべきである。例示を目的として、方法は、特定の順序で説明された。代替の実施形態では、方法は、説明されたものとは異なる順序で実行されうることが認識されるべきである。
[0275]コンポーネントがある特定の動作を実行する「ように構成される」ものとして説明される場合、そのような構成は、例えば、動作を実行するように電子回路または他のハードウェアを設計することによって、動作を実行するようにプログラマブル電子回路(例えば、マイクロプロセッサ、または他の適した電子回路)をプログラミングすることによって、またはそれらの任意の組み合わせで、達成されることができる。
[0276]ここに開示されている実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組み合わせとしてインプリメントされうる。ハードウェアおよびソフトウェアのこの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能の観点から上述されてきた。そのような機能がハードウェアとしてインプリメントされるか、またはソフトウェアとしてインプリメントされるかは、特定の適用とシステム全体に課せられた設計制約とに依存する。当業者は、特定の適用ごとに様々な方法で、説明された機能をインプリメントしうるが、そのようなインプリメンテーションの決定は、本発明の範囲からの逸脱を引き起こしていると解釈されるべきではない。
[0277]ここに説明された技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいてインプリメントされうる。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用を含む複数の用途を有する集積回路デバイスのような多様なデバイスのうちの任意のものにおいてインプリメントされうる。モジュールまたはコンポーネントとして説明されたどの特徴も、集積ロジックデバイスにおいてともに、またはディスクリートではあるが相互動作可能なロジックデバイスとして別個に、インプリメントされうる。ソフトウェアにおいてインプリメントされる場合、本技法は、実行されると、上述された方法のうちの1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって少なくとも部分的に実現されうる。コンピュータ可読データ記憶媒体は、コンピュータプログラム製品の一部を形成しえ、それは、パッケージング材料を含みうる。コンピュータ可読媒体は、同期動的ランダムアクセスメモリ(SDRAM)のようなランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、不揮発ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM(登録商標))、FLASHメモリ、磁気または光データ記憶媒体、および同様のもののようなメモリまたはデータ記憶媒体を備えうる。本技法は加えて、または代替として、伝搬される信号または波のような、命令またはデータ構造の形態でプログラムコードを搬送または通信し、且つコンピュータによってアクセス、読取、および/または実行されることができるコンピュータ可読通信媒体によって少なくとも部分的に実現されうる。
[0278]プログラムコードは、プロセッサによって実行されえ、それは、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、あるいは他の同等の集積回路またはディスクリートロジック回路のような1つまたは複数のプロセッサを含みうる。そのようなプロセッサは、この開示において説明された技法のうちの任意のものを実行するように構成されうる。汎用プロセッサは、マイクロプロセッサでありうるが、代替では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンでありうる。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としてインプリメントされうる。それ故に、「プロセッサ」という用語は、ここに使用される場合、前述の構造のうちの任意のもの、前述の構造の任意の組み合わせ、あるいはここに説明された技法のインプリメンテーションに適した任意の他の構造または装置を指しうる。加えて、いくつかの態様では、ここに説明された機能は、符号化および復号のために構成された専用ソフトウェアモジュールまたはハードウェアモジュール内で提供されうるか、あるいは組み合わされたビデオ符号化器−復号器(CODEC)中に組み込まれうる。

Claims (30)

  1. ビデオデータを処理する方法であって、
    前記ビデオデータを取得することと、
    前記ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することと、ここにおいて、前記フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することは、前記ブロックにアフィン動きモデルを適用することを含む、
    前記ブロックへの前記アフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定することと、
    前記第1のアフィン動き情報と前記第2のアフィン動き情報とを使用して、前記ブロックについての少なくとも1つの予測を決定することと、
    を備える、方法。
  2. 前記ブロックについての第1の予測を決定することと、ここにおいて、前記第1の予測は、前記第1の参照ピクチャと前記第1のアフィン動き情報とを使用して決定される、
    前記ブロックについての第2の予測を決定することと、ここにおいて、前記第2の予測は、前記第2の参照ピクチャと前記第2のアフィン動き情報とを使用して決定される、
    をさらに備える、請求項1に記載の方法。
  3. 前記アフィン動きモデルは、平行移動動きモデルの代わりに適用される、請求項1に記載の方法。
  4. 前記アフィン動きモデルは、平行移動動きモデルに加えて適用される、請求項1に記載の方法。
  5. 前記ブロックに平行移動動きモデルを適用することと、ここにおいて、前記ブロックの平行移動動き情報は、前記平行移動動きモデルを使用して導出される、
    前記ブロックに前記アフィン動きモデルを適用することと、ここにおいて、前記平行移動動き情報は、前記第1のアフィン動き情報と前記第2のアフィン動き情報とを導出するために前記アフィン動きモデルによって入力として使用される、
    をさらに備える、請求項1に記載の方法。
  6. 前記アフィン動きモデルのマッチングコストが前記平行移動動きモデルのマッチングコストより低いと決定することと、
    ビットストリーム中で前記アフィン動きモデルの適用をシグナリングすることと、
    をさらに備える、請求項5に記載の方法。
  7. 前記アフィン動きモデルのマッチングコストが前記平行移動動きモデルのマッチングコストより高いと決定することと、
    ビットストリーム中で前記平行移動動きモデルの適用をシグナリングすることと、
    をさらに備える、請求項5に記載の方法。
  8. 前記ブロックのサイズがしきい値サイズより大きいと決定すること、ここにおいて、前記アフィン動きモデルは、前記ブロックの前記サイズが前記しきい値サイズより大きいと決定することに応答して前記ブロックに適用される、
    をさらに備える、請求項1に記載の方法。
  9. 前記アフィン動きモデルを適用することは、前記ブロックに関連付けられたズーミング動き、回転動き、または遠近動きのうちの少なくとも1つを決定することを含む、請求項1に記載の方法。
  10. 前記ブロックについての前記少なくとも1つの予測を精緻化するために1次テイラー展開最適化を実行すること、
    をさらに備える、請求項1に記載の方法。
  11. 前記1次テイラー展開最適化を実行することは、前記第1の参照ピクチャと前記第2の参照ピクチャとの時間的位置における前記ブロックの1次テイラー展開間の2乗誤差の和を最小化することによって動きベクトルを導出することを含む、請求項10に記載の方法。
  12. 前記少なくとも1つの予測に基づいて前記ブロックを復号すること、
    をさらに備える、請求項1に記載の方法。
  13. 前記少なくとも1つの予測に基づいて前記ブロックを符号化すること、
    をさらに備える、請求項1に記載の方法。
  14. 装置であって、
    ビデオデータを記憶するように構成されたメモリと、
    プロセッサと、を備え、前記プロセッサは、
    前記ビデオデータを取得することと、
    前記ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することと、ここにおいて、前記フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することは、前記ブロックにアフィン動きモデルを適用することを含む、
    前記ブロックへの前記アフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定することと、
    前記第1のアフィン動き情報と前記第2のアフィン動き情報とを使用して前記ブロックについての少なくとも1つの予測を決定することと、
    を行うように構成された、装置。
  15. 前記プロセッサは、
    前記ブロックについての第1の予測を決定することと、ここにおいて、前記第1の予測は、前記第1の参照ピクチャと前記第1のアフィン動き情報とを使用して決定される、
    前記ブロックについての第2の予測を決定することと、ここにおいて、前記第2の予測は、前記第2の参照ピクチャと前記第2のアフィン動き情報とを使用して決定される、
    を行うようにさらに構成される、請求項14に記載の装置。
  16. 前記アフィン動きモデルは、平行移動動きモデルの代わりに適用される、請求項14に記載の装置。
  17. 前記アフィン動きモデルは、平行移動動きモデルに加えて適用される、請求項14に記載の装置。
  18. 前記プロセッサは、
    前記ブロックに平行移動動きモデルを適用することと、ここにおいて、前記ブロックの平行移動動き情報は、前記平行移動動きモデルを使用して導出される、
    前記ブロックに前記アフィン動きモデルを適用することと、ここにおいて、前記平行移動動き情報は、前記第1のアフィン動き情報と前記第2のアフィン動き情報とを導出するために前記アフィン動きモデルによって入力として使用される、
    を行うようにさらに構成される、請求項14に記載の装置。
  19. 前記プロセッサは、
    前記アフィン動きモデルのマッチングコストが前記平行移動動きモデルのマッチングコストより低いと決定することと、
    ビットストリーム中で前記アフィン動きモデルの適用をシグナリングすることと、
    を行うようにさらに構成される、請求項18に記載の装置。
  20. 前記プロセッサは、
    前記アフィン動きモデルのマッチングコストが前記平行移動動きモデルのマッチングコストより高いと決定することと、
    ビットストリーム中で前記平行移動動きモデルの適用をシグナリングすることと、
    を行うようにさらに構成される、請求項18記載の装置。
  21. 前記プロセッサは、
    前記ブロックのサイズがしきい値サイズより大きいと決定すること、ここにおいて、前記アフィン動きモデルは、前記ブロックの前記サイズが前記しきい値サイズより大きいと決定することに応答して前記ブロックに適用される、
    を行うようにさらに構成される、請求項14に記載の装置。
  22. 前記アフィン動きモデルを適用することは、前記ブロックに関連付けられたズーミング動き、回転動き、または遠近動きのうちの少なくとも1つを決定することを含む、請求項14に記載の装置。
  23. 前記プロセッサは、
    前記ブロックについての前記少なくとも1つの予測を精緻化するために1次テイラー展開最適化を実行すること、
    を行うようにさらに構成される、請求項14に記載の装置。
  24. 前記1次テイラー展開最適化を実行することは、前記第1の参照ピクチャと前記第2の参照ピクチャとの時間的位置における前記ブロックの1次テイラー展開間の2乗誤差の和または絶対差分の和を最小化することによって動きベクトルを導出することを含む、請求項23に記載の装置。
  25. 前記装置は、復号デバイスを含む、請求項14に記載の装置。
  26. 前記装置は、符号化デバイスを含む、請求項14に記載の装置。
  27. 前記ビデオデータを表示するためのディスプレイ、
    をさらに備える、請求項14に記載の装置。
  28. 前記装置は、ピクチャをキャプチャするためのカメラを有するモバイルデバイスを含む、請求項14に記載の装置。
  29. 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    ビデオデータを取得することと、
    前記ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用することと、ここにおいて、前記フレームレートアップコンバージョン両方向マッチングコーディングモードを使用することは、前記ブロックにアフィン動きモデルを適用することを含む、
    前記ブロックへの前記アフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定することと、
    前記第1のアフィン動き情報と前記第2のアフィン動き情報とを使用して、前記ブロックについての少なくとも1つの予測を決定することと、
    を行わせる命令を記憶した、非一時的コンピュータ可読媒体。
  30. ビデオデータを処理するための装置であって、
    前記ビデオデータを取得するための手段と、
    前記ビデオデータのブロックに対してフレームレートアップコンバージョン両方向マッチングコーディングモードを使用するための手段と、ここにおいて、前記フレームレートアップコンバージョン両方向マッチングコーディングモードを前記使用するための手段は、前記ブロックにアフィン動きモデルを適用することを含む、
    前記ブロックへの前記アフィン動きモデルの適用に基づいて、第1の参照ピクチャについての第1のアフィン動き情報と第2の参照ピクチャについての第2のアフィン動き情報とを決定するための手段と、
    前記第1のアフィン動き情報と前記第2のアフィン動き情報とを使用して、前記ブロックについての少なくとも1つの予測を決定するための手段と、
    を備える、装置。
JP2019517085A 2016-09-30 2017-09-29 フレームレートアップコンバージョンコーディングモードに対する改善 Pending JP2019534622A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662403057P 2016-09-30 2016-09-30
US62/403,057 2016-09-30
US15/719,333 US10778999B2 (en) 2016-09-30 2017-09-28 Frame rate up-conversion coding mode with affine motion model
US15/719,333 2017-09-28
PCT/US2017/054333 WO2018064495A1 (en) 2016-09-30 2017-09-29 Improvements on frame rate up-conversion coding mode

Publications (1)

Publication Number Publication Date
JP2019534622A true JP2019534622A (ja) 2019-11-28

Family

ID=61757347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019517085A Pending JP2019534622A (ja) 2016-09-30 2017-09-29 フレームレートアップコンバージョンコーディングモードに対する改善

Country Status (7)

Country Link
US (2) US10631002B2 (ja)
EP (2) EP3520406B1 (ja)
JP (1) JP2019534622A (ja)
KR (1) KR20190055104A (ja)
CN (2) CN109792527B (ja)
BR (1) BR112019006580A2 (ja)
WO (2) WO2018064492A1 (ja)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958927B2 (en) 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
CN114615493A (zh) * 2016-03-24 2022-06-10 英迪股份有限公司 视频解码方法、视频编码方法和可读记录介质
US10631002B2 (en) 2016-09-30 2020-04-21 Qualcomm Incorporated Frame rate up-conversion coding mode
US10785477B2 (en) * 2016-10-06 2020-09-22 Lg Electronics Inc. Method for processing video on basis of inter prediction mode and apparatus therefor
CN109804630A (zh) * 2016-10-10 2019-05-24 夏普株式会社 对视频数据编码执行运动补偿的系统以及方法
JP2019530299A (ja) * 2016-10-13 2019-10-17 富士通株式会社 画像コーディング/デコーディング方法、装置及び画像処理機器
CN116320475A (zh) * 2016-12-22 2023-06-23 株式会社Kt 对视频进行解码或编码的方法和发送视频数据的方法
KR20180074000A (ko) * 2016-12-23 2018-07-03 삼성전자주식회사 비디오 디코딩 방법, 이를 수행하는 비디오 디코더, 비디오 인코딩 방법, 및 이를 수행하는 비디오 인코더
US10701390B2 (en) 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US11272207B2 (en) 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
WO2019006363A1 (en) * 2017-06-30 2019-01-03 Vid Scale, Inc. LOCAL LIGHTING COMPENSATION USING GENERALIZED BI-PREDICTION
GB2564133B (en) * 2017-07-04 2021-03-17 Canon Kk Method and apparatus for encoding or decoding video data with sub-pixel motion vector refinement
US10542279B2 (en) 2017-09-25 2020-01-21 Intel Corporation Temporal motion vector prediction control in video coding
US10733739B2 (en) * 2017-09-29 2020-08-04 Nanjing Avatarmind Robot Technology Co., Ltd. Method and system for displaying target image based on robot
US10582212B2 (en) * 2017-10-07 2020-03-03 Google Llc Warped reference motion vectors for video compression
KR20200057082A (ko) 2017-10-09 2020-05-25 애리스 엔터프라이지즈 엘엘씨 적응적 동일하지 않은 가중 평면 예측
CN117336504A (zh) * 2017-12-31 2024-01-02 华为技术有限公司 图像预测方法、装置以及编解码器
EP3518543A1 (en) * 2018-01-26 2019-07-31 Thomson Licensing Illumination compensation flag in frame rate up-conversion with template matching
US11381834B2 (en) * 2018-04-02 2022-07-05 Hfi Innovation Inc. Video processing methods and apparatuses for sub-block motion compensation in video coding systems
US10958928B2 (en) * 2018-04-10 2021-03-23 Qualcomm Incorporated Decoder-side motion vector derivation for video coding
US11451816B2 (en) * 2018-04-24 2022-09-20 Mediatek Inc. Storage of motion vectors for affine prediction
CN112385211A (zh) * 2018-05-09 2021-02-19 交互数字Vc控股公司 用于视频编码和解码的运动补偿
AU2019276881B2 (en) * 2018-05-28 2023-09-14 Interdigital Vc Holdings, Inc. Data dependency in coding/decoding
KR20210016581A (ko) * 2018-06-05 2021-02-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Ibc 및 atmvp 간의 상호 작용
CN112567749B (zh) * 2018-06-18 2024-03-26 Lg电子株式会社 使用仿射运动预测来处理视频信号的方法和装置
CN116347099A (zh) 2018-06-19 2023-06-27 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
CN113115046A (zh) 2018-06-21 2021-07-13 北京字节跳动网络技术有限公司 分量相关的子块分割
TWI739120B (zh) * 2018-06-21 2021-09-11 大陸商北京字節跳動網絡技術有限公司 合併仿射模式與非合併仿射模式的統一拘束
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
CN114466197A (zh) 2018-06-29 2022-05-10 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
CA3105330C (en) 2018-06-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
CN110662064B (zh) 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 Lut中的运动候选的检查顺序
CN110662054B (zh) 2018-06-29 2023-01-06 北京字节跳动网络技术有限公司 用于视频处理的方法、装置、计算机可读存储介质
CN110662041B (zh) * 2018-06-29 2022-07-29 北京字节跳动网络技术有限公司 视频比特流处理的方法和装置,存储视频比特流的方法和非暂时性计算机可读记录介质
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
WO2020003283A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating luts
TWI734133B (zh) 2018-07-02 2021-07-21 大陸商北京字節跳動網絡技術有限公司 更新查找表的規則
CN115695791A (zh) 2018-07-02 2023-02-03 华为技术有限公司 视频图像编码方法以及用于对视频数据进行编码的设备
JP7221960B2 (ja) 2018-07-13 2023-02-14 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
US10715812B2 (en) * 2018-07-13 2020-07-14 Tencent America LLC Method and apparatus for video coding
US10462488B1 (en) * 2018-07-13 2019-10-29 Tencent America LLC Method and apparatus for video coding
CN116095312A (zh) 2018-08-04 2023-05-09 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读介质
CN116668719A (zh) * 2018-09-06 2023-08-29 Lg电子株式会社 图像解码方法、图像编码方法、存储介质和发送方法
TW202025749A (zh) 2018-09-08 2020-07-01 大陸商北京字節跳動網絡技術有限公司 計算運動向量預測值
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
US10674152B2 (en) 2018-09-18 2020-06-02 Google Llc Efficient use of quantization parameters in machine-learning models for video coding
US10869036B2 (en) 2018-09-18 2020-12-15 Google Llc Receptive-field-conforming convolutional models for video coding
CN116546213A (zh) 2018-09-19 2023-08-04 北京字节跳动网络技术有限公司 具有自适应运动矢量分辨率的仿射模式的语法重用
EP3854077A1 (en) * 2018-09-19 2021-07-28 InterDigital VC Holdings, Inc. Local illumination compensation for video encoding and decoding using stored parameters
WO2020060757A1 (en) * 2018-09-21 2020-03-26 Interdigital Vc Holdings, Inc. Translational and affine candidates in a unified list
CN110944183B (zh) 2018-09-23 2023-09-05 北京字节跳动网络技术有限公司 在帧间模式下利用非子块空时运动矢量预测
WO2020058957A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. General applications related to affine motion
WO2020058955A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Multiple-hypothesis affine mode
CN110944193B (zh) 2018-09-24 2023-08-11 北京字节跳动网络技术有限公司 视频编码和解码中的加权双向预测
WO2020070612A1 (en) 2018-10-06 2020-04-09 Beijing Bytedance Network Technology Co., Ltd. Improvement for temporal gradient calculating in bio
GB2595053B (en) * 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
GB2578151B (en) 2018-10-18 2021-06-09 Canon Kk Video coding and decoding
WO2020084470A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Storage of motion parameters with clipping for affine mode
WO2020084507A1 (en) * 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter prediction coding
WO2020084509A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter coding tools
US11212521B2 (en) * 2018-11-07 2021-12-28 Avago Technologies International Sales Pte. Limited Control of memory bandwidth consumption of affine mode in versatile video coding
WO2020094151A1 (en) 2018-11-10 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Rounding in pairwise average candidate calculations
CN112997496B (zh) * 2018-11-14 2024-05-14 北京字节跳动网络技术有限公司 仿射预测模式的改进
CN112997487A (zh) 2018-11-15 2021-06-18 北京字节跳动网络技术有限公司 仿射模式与其他帧间编解码工具之间的协调
WO2020098813A1 (en) 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Usage for history-based affine parameters
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
EP4325849A3 (en) * 2018-11-22 2024-04-17 Beijing Bytedance Network Technology Co., Ltd. Coordination method for sub-block based inter prediction
US11290743B2 (en) 2018-12-08 2022-03-29 Qualcomm Incorporated Interaction of illumination compensation with inter-prediction
JP7209092B2 (ja) 2018-12-21 2023-01-19 北京字節跳動網絡技術有限公司 動きベクトル差分によるマージ(mmvd)モードにおける動きベクトル予測
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
WO2020143774A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Merge with mvd based on geometry partition
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302918A (zh) 2019-01-15 2021-08-24 北京字节跳动网络技术有限公司 视频编解码中的加权预测
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN113302919A (zh) 2019-01-17 2021-08-24 北京字节跳动网络技术有限公司 在视频处理中使用虚拟候选预测和加权预测
KR20210121021A (ko) 2019-01-31 2021-10-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 어파인 모드 적응적 움직임 벡터 해상도 코딩 문맥
WO2020155791A1 (zh) * 2019-02-01 2020-08-06 华为技术有限公司 帧间预测方法和装置
CN111526362B (zh) * 2019-02-01 2023-12-29 华为技术有限公司 帧间预测方法和装置
CN113491125A (zh) 2019-02-22 2021-10-08 北京字节跳动网络技术有限公司 基于历史的仿射模式子表
CN113766313B (zh) * 2019-02-26 2024-03-05 深圳市商汤科技有限公司 视频数据处理方法及装置、电子设备和存储介质
EP3935861A1 (en) * 2019-03-08 2022-01-12 InterDigital VC Holdings, Inc. Local illumination compensation for video encoding or decoding
EP3706423A1 (en) * 2019-03-08 2020-09-09 InterDigital VC Holdings, Inc. Local illumination compensation for video encoding or decoding
US11997308B2 (en) 2019-03-08 2024-05-28 Interdigital Madison Patent Holdings, Sas Local illumination compensation for video encoding or decoding
US11394993B2 (en) * 2019-03-13 2022-07-19 Tencent America LLC Method and apparatus for affine inter prediction with small subblocks
CN111698515B (zh) * 2019-03-14 2023-02-14 华为技术有限公司 帧间预测的方法及相关装置
SG11202109031TA (en) * 2019-03-18 2021-09-29 Tencent America LLC Method and apparatus for video coding
US11343525B2 (en) * 2019-03-19 2022-05-24 Tencent America LLC Method and apparatus for video coding by constraining sub-block motion vectors and determining adjustment values based on constrained sub-block motion vectors
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN113661708B (zh) 2019-04-02 2023-12-15 北京字节跳动网络技术有限公司 基于双向光流的视频编解码和解码
WO2020211866A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Applicability of prediction refinement with optical flow process
KR102662024B1 (ko) 2019-04-19 2024-05-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 상이한 모션 벡터 정제의 그레디언트 계산
CN113711609B (zh) 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
EP3959886A4 (en) * 2019-04-25 2022-06-22 OP Solutions, LLC SIGNALING A GLOBAL MOTION VECTOR IN AN IMAGE HEAD
US20220224912A1 (en) * 2019-05-12 2022-07-14 Lg Electronics Inc. Image encoding/decoding method and device using affine tmvp, and method for transmitting bit stream
WO2020257629A1 (en) 2019-06-19 2020-12-24 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus for prediction refinement with optical flow
JP2022537222A (ja) * 2019-06-21 2022-08-24 インターデジタル ヴイシー ホールディングス フランス,エスエーエス 局所照明補正フラグインヘリタンス
EP3989583A4 (en) * 2019-06-23 2023-06-14 LG Electronics Inc. METHOD AND SIGNALING DEVICE FOR MERGING DATA SYNTAX IN A VIDEO/IMAGE CODING SYSTEM
CN112188236B (zh) * 2019-07-01 2022-07-19 北京新唐思创教育科技有限公司 视频插帧模型训练、视频插帧生成方法及相关装置
CN114208184A (zh) 2019-08-13 2022-03-18 北京字节跳动网络技术有限公司 基于子块的帧间预测中的运动精度
CN110708559B (zh) * 2019-09-03 2022-03-25 北京达佳互联信息技术有限公司 图像处理方法、装置及存储介质
CN114424560A (zh) * 2019-09-20 2022-04-29 北京字节跳动网络技术有限公司 用于屏幕内容的自适应分辨率变化和可缩放编解码
CN113784138A (zh) * 2019-09-23 2021-12-10 杭州海康威视数字技术股份有限公司 编解码方法、装置及设备
WO2023147262A1 (en) * 2022-01-31 2023-08-03 Apple Inc. Predictive video coding employing virtual reference frames generated by direct mv projection (dmvp)
US11871146B1 (en) * 2022-08-16 2024-01-09 Novatek Microelectronics Corp. Video processor for handling irregular input
US20240137539A1 (en) * 2022-10-18 2024-04-25 Tencent America LLC Method and apparatus for affine motion refinement
CN116542443A (zh) * 2023-03-29 2023-08-04 浙江中兴慧农信息科技有限公司 一种基于双边匹配模型的资源分配方法及设备

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558320B2 (en) * 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
US7623719B2 (en) * 2003-09-26 2009-11-24 The Regents Of The University Of California Video encoding methods and devices
CN101002480A (zh) 2004-08-13 2007-07-18 皇家飞利浦电子股份有限公司 用于降低顺序制彩色显示系统复杂性的系统与方法
JP4489033B2 (ja) 2005-03-25 2010-06-23 三洋電機株式会社 フレームレート変換装置、パン・チルト判定装置および映像装置
US8239766B2 (en) * 2005-09-27 2012-08-07 Qualcomm Incorporated Multimedia coding techniques for transitional effects
CN101313582A (zh) * 2005-09-27 2008-11-26 高通股份有限公司 使用各种运动模型的编码器辅助式帧速率提升转换
US9258519B2 (en) * 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
CN101310530A (zh) * 2005-09-27 2008-11-19 高通股份有限公司 用于过渡效果的多媒体编码技术
JP4722936B2 (ja) 2005-09-30 2011-07-13 シャープ株式会社 画像表示装置及び方法
EP1950964A4 (en) 2005-11-07 2012-05-16 Sharp Kk IMAGE DISPLAY DEVICE AND METHOD
JP4181592B2 (ja) 2006-09-20 2008-11-19 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
CN101529921B (zh) * 2006-10-18 2013-07-03 汤姆森特许公司 无显式信令的局部照明和色彩补偿
JP4615508B2 (ja) 2006-12-27 2011-01-19 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
EP2157800B1 (en) * 2008-08-21 2012-04-18 Vestel Elektronik Sanayi ve Ticaret A.S. Method and apparatus for increasing the frame rate of a video signal
US8718142B2 (en) 2009-03-04 2014-05-06 Entropic Communications, Inc. System and method for frame rate conversion that utilizes motion estimation and motion compensated temporal interpolation employing embedded video compression
US8363721B2 (en) 2009-03-26 2013-01-29 Cisco Technology, Inc. Reference picture prediction for video coding
US20100246675A1 (en) 2009-03-30 2010-09-30 Sony Corporation Method and apparatus for intra-prediction in a video encoder
US20100289944A1 (en) 2009-05-12 2010-11-18 Shing-Chia Chen Frame Rate Up-Conversion Based Dynamic Backlight Control System and Method
US8675736B2 (en) 2009-05-14 2014-03-18 Qualcomm Incorporated Motion vector processing
US8345070B2 (en) 2009-06-10 2013-01-01 Himax Media Solutions, Inc. Apparatus and method for frame rate up conversion
CN102883160B (zh) 2009-06-26 2016-06-29 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
JP5566133B2 (ja) 2010-03-05 2014-08-06 キヤノン株式会社 フレームレート変換処理装置
JP5551308B2 (ja) 2010-05-26 2014-07-16 クゥアルコム・インコーポレイテッド カメラパラメータ支援型のビデオフレームレート・アップコンバージョン
US9357229B2 (en) * 2010-07-28 2016-05-31 Qualcomm Incorporated Coding motion vectors in video coding
US8559763B2 (en) 2010-12-14 2013-10-15 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for motion-compensated interpolation (MCI) with conservative motion model
WO2013095180A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Complexity scalable frame rate up-conversion
US9877020B2 (en) * 2013-01-10 2018-01-23 Samsung Electronics Co., Ltd. Method for encoding inter-layer video for compensating luminance difference and device therefor, and method for decoding video and device therefor
JP2014138242A (ja) 2013-01-16 2014-07-28 Sony Corp 画像処理装置および画像処理方法
KR101431046B1 (ko) * 2013-02-13 2014-08-22 서강대학교산학협력단 Fruc를 위한 영상정보 인코딩 방법 및 장치, 저장매체
US9300906B2 (en) * 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
CN103220488B (zh) * 2013-04-18 2016-09-07 北京大学 一种视频帧率上转换装置及方法
US9860529B2 (en) * 2013-07-16 2018-01-02 Qualcomm Incorporated Processing illumination compensation for video coding
US10812801B2 (en) 2014-02-25 2020-10-20 Apple Inc. Adaptive transfer function for video encoding and decoding
US9438910B1 (en) 2014-03-11 2016-09-06 Google Inc. Affine motion prediction in video coding
EP3107290B1 (en) 2014-03-14 2021-07-28 Samsung Electronics Co., Ltd. Method and device for configuring merge candidate list for decoding and encoding of interlayer video
US10158884B2 (en) 2014-03-19 2018-12-18 Qualcomm Incorporated Simplified merge list construction process for 3D-HEVC
CN112087630B (zh) 2014-09-30 2022-04-08 华为技术有限公司 图像预测方法、装置、解码器及存储介质
US10958927B2 (en) 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
US10089960B2 (en) * 2015-06-05 2018-10-02 Apple Inc. Rendering and displaying HDR content according to a perceptual model
CN105163116B (zh) 2015-08-29 2018-07-31 华为技术有限公司 图像预测的方法及设备
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10631002B2 (en) 2016-09-30 2020-04-21 Qualcomm Incorporated Frame rate up-conversion coding mode
US10701390B2 (en) 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation

Also Published As

Publication number Publication date
EP3520407B1 (en) 2020-11-18
KR20190055104A (ko) 2019-05-22
CN109792527A (zh) 2019-05-21
US20180098062A1 (en) 2018-04-05
WO2018064495A1 (en) 2018-04-05
CN109792526A (zh) 2019-05-21
EP3520406A1 (en) 2019-08-07
CN109792526B (zh) 2022-05-24
EP3520406B1 (en) 2023-02-01
US20180098087A1 (en) 2018-04-05
US10778999B2 (en) 2020-09-15
WO2018064492A1 (en) 2018-04-05
EP3520407A1 (en) 2019-08-07
US10631002B2 (en) 2020-04-21
CN109792527B (zh) 2022-12-13
BR112019006580A2 (pt) 2019-07-02

Similar Documents

Publication Publication Date Title
CN109792527B (zh) 处理视频数据的方法和设备
US10701390B2 (en) Affine motion information derivation
US11057636B2 (en) Affine motion prediction
CN111567043B (zh) 对视频数据进行译码的方法、装置和计算机可读存储介质
JP6740243B2 (ja) ビデオコーディングにおける動きベクトル導出
JP6522629B2 (ja) 3dビデオコード化のためのブロックベースの高度残差予測
JP6254254B2 (ja) 3次元(3d)ビデオコーディング用の進化型マージモード
KR102112900B1 (ko) 심도 지향 인터-뷰 모션 벡터 예측
JP2019531029A (ja) 照度補償のためのテンプレートサイズを適応的に決定するシステムおよび方法
US11582475B2 (en) History-based motion vector prediction
KR20150139953A (ko) 백워드 뷰 합성 예측
CN113170123A (zh) 照明补偿与帧间预测的相互作用
CN114402617A (zh) 利用矢量裁剪的仿射译码
JP2023554269A (ja) 重複ブロック動き補償