JP2013535913A - ビデオコーディング中の動きベクトルコーディング - Google Patents

ビデオコーディング中の動きベクトルコーディング Download PDF

Info

Publication number
JP2013535913A
JP2013535913A JP2013521827A JP2013521827A JP2013535913A JP 2013535913 A JP2013535913 A JP 2013535913A JP 2013521827 A JP2013521827 A JP 2013521827A JP 2013521827 A JP2013521827 A JP 2013521827A JP 2013535913 A JP2013535913 A JP 2013535913A
Authority
JP
Japan
Prior art keywords
motion vector
reference picture
video
motion
picture list
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.)
Granted
Application number
JP2013521827A
Other languages
English (en)
Other versions
JP5551317B2 (ja
Inventor
チエン、ウェイ−ジュン
カークゼウィックズ、マルタ
チェン、ペイソン
ワン、シャンリン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2013535913A publication Critical patent/JP2013535913A/ja
Application granted granted Critical
Publication of JP5551317B2 publication Critical patent/JP5551317B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/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/162User input
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/177Methods 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 a group of pictures [GOP]
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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/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/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
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic 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

本開示は、ビデオコーディングにおいて予測情報をコーディングするコストを低減するための技法に関する。一般化P/B(GPB)フレーム中のビデオブロックは、同一の2つの別個の参照ピクチャリスト中の参照ピクチャから計算された2つまでの動きベクトルを使用して符号化される。したがって、GPBフレームのビデオブロックは、第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと第2の参照ピクチャリスト中の同じまたは実質的に類似する参照ピクチャからの第2の動きベクトルとを用いる双方向予測モードを使用して符号化され得る。本技法は、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイントコーディングすることを含む。本技法は、隣接ブロックの動きベクトルから生成された第1の動き予測子に対して第1の動きベクトルをコーディングすることと、第1の動きベクトルに対して第2の動きベクトルをコーディングすることとを含む。

Description

本開示は、ビデオコーディングに関し、より詳細には、ビデオインターコーディング技法に関する。
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、または新生の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および/または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスがビデオブロックまたはコーディングユニット(CU:coding unit)に区分され得る。イントラコード化(I)フレームまたはスライス中のビデオブロックは、近隣ブロックに関する空間的予測を使用して符号化される。インターコード化(PまたはB)フレームまたはスライス中のビデオブロックは、同じフレームまたはスライス中の近隣ブロックに関する空間的予測、あるいは他の参照ピクチャに関する時間的予測を使用し得る。双方向予測(B)フレーム中のビデオブロックは、従来、過去のピクチャの1つのリストと将来のピクチャの1つのリストとである2つの異なる参照ピクチャリストから2つの動きベクトルを計算するために双方向予測を使用して符号化される。単方向予測(P)フレーム中のビデオブロックは、従来、過去のピクチャのリストである単一の参照ピクチャリストから単一の動きベクトルを計算するために単方向予測を使用して符号化される。
[0004]概して、本開示は、ビデオコーディングにおいて予測情報をコーディングするコストを低減するための技法に関する。インターコード化ビデオフレームのビデオブロックは、第1の参照ピクチャリストと第2の参照ピクチャリストとのうちの1つの中の参照ピクチャからの動きベクトルを用いる単方向予測モード、または第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測モードのいずれかを使用してコーディングされ得る。新たに登場したHEVC規格では、双方向予測(B)フレーム概念の特殊な場合であり得る一般化P/B(GPB)フレームが導入されている。GPBフレーム中のビデオブロックは、同一の(identical)2つの別個の参照ピクチャリスト中の参照ピクチャから計算された2つまでの動きベクトルを使用して符号化される。したがって、GPBフレームの1つまたは複数のビデオブロックは、同じ参照ピクチャまたは実質的に類似する(substantially similar)参照ピクチャのいずれかからの2つの動きベクトルを用いる双方向予測モードを使用して符号化され得る。参照ピクチャリストは、代替的に参照フレームリストと呼ばれることがある。
[0005]本開示の技法は、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイントコーディングすることを含む。コーディングされたビデオブロックについての動きベクトル情報を示す1つまたは複数のシンタックス要素がビデオデコーダにシグナリングされ得る。本技法は、隣接ブロックの動きベクトルから生成された第1の動き予測子に対して第1の動きベクトルをコーディングすることと、第1の動きベクトルに対して第2の動きベクトルをコーディングすることとを含む。このようにして、第2の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の差としてコーディングされ得る。したがって、本技法は、従来、第2の動きベクトルを表すために使用されるシンタックス要素を低減するかまたは削除することによって、動きベクトル情報をシグナリングするために使用されるビットを低減し得る。
[0006]一例では、本開示は、第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶すること、第1の参照ピクチャリストと第2の参照ピクチャリストとは同一であり、第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測を使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングすることと、ビデオブロックについて第1の動きベクトルと第2の動きベクトルとをジョイントコーディングすることと、を備えるビデオデータをコーディングする方法を対象とする。
[0007]別の例では、本開示は、第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶するメモリと、第1の参照ピクチャリストと第2の参照ピクチャリストとは同一であり、第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測モードを使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングすることと、ビデオブロックについて第1の動きベクトルと第2の動きベクトルとをジョイントコーディングすることとを行うプロセッサとを備えるビデオコーディングデバイスを対象とする。
[0008]さらなる例では、本開示は、第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶する手段と、第1の参照ピクチャリストと第2の参照ピクチャリストとは同一であり、第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測モードを使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングする手段と、ビデオブロックについての第1の動きベクトルと第2の動きベクトルとをジョイントコーディングする手段と、を備えるビデオコーディングデバイスを対象とする。
[0009]別の例では、本開示は、プロセッサ中で実行されると、プロセッサに、第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶させ、第1の参照ピクチャリストと第2の参照ピクチャリストとは同一であり、第1の参照ピクチャリストからの第1の動きベクトルと第2の参照ピクチャリストからの第2の動きベクトルとを用いる双方向予測を使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングさせ、ビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイントコーディングさせる、ビデオデータをコーディングするための命令を備える、コンピュータ可読記憶媒体を対象とする。
ビデオフレームのビデオブロックについての予測情報を効率的にコーディングするための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 GPBフレームを含む例示的なビデオシーケンスを示す概念図。 ビデオフレームのビデオブロックについての予測情報を効率的にコーディングするための技法を実装し得る例示的なビデオエンコーダを示すブロック図。 ビデオフレームのビデオブロックについての予測情報を効率的にコーディングするための技法を実装し得る例示的なビデオデコーダを示すブロック図。 単方向予測モードを使用してGPBフレームのビデオブロックがコーディングされることを示すシングルビットシンタックス要素を符号化する例示的な動作を示すフローチャート。 単方向予測モードを使用してGPBフレームのビデオブロックがコーディングされることを示すシングルビットシンタックス要素を復号する例示的な動作を示すフローチャート。 2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用してビデオブロックがコーディングされることを示す1つまたは複数のシンタックス要素を符号化する例示的な動作を示すフローチャート。 2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用してビデオブロックがコーディングされることを示す1つまたは複数のシンタックス要素を符号化する別の例示的な動作を示すフローチャート。 双方向予測モードを使用して符号化されたGPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイントコーディングする例示的な動作を示すフローチャート。
[0019]本開示は、ビデオコーディングにおいて予測情報をコーディングするコストを低減するための技法に関する。インターコード化フレームのビデオブロックは、第1の参照ピクチャリストと第2の参照ピクチャリストとのうちの1つの中の参照ピクチャに関する単一の動きベクトルを用いる単方向予測モード、または第1の参照ピクチャリスト中の参照ピクチャに関する第1の動きベクトルと第2の参照ピクチャリスト中の参照ピクチャに関する第2の動きベクトルとを用いる双方向予測モードのいずれかを使用してコーディングされ得る。いくつかの例では、本開示は、詳細には、一般化P/B(GPB)フレームが使用可能であり、したがって、第1の参照ピクチャリストと第2の参照ピクチャリストとが同一である場合に関する。概して、参照ピクチャリストは、代替的に参照フレームリストと呼ばれることがある。
[0020]本開示の技法は、ビデオブロックの動き予測方向を示す1つまたは複数のシンタックス要素をシグナリングするためのビットを低減することを含む。参照ピクチャリストのうちの1つが、他の参照ピクチャリストよりも好適であるとき、デフォルトで、単方向予測モードのために好適参照ピクチャリストを使用することがより効率的であり得る。これは、特に、GPBフレームが使用可能であるときに当てはまる。その場合、2つの同一の参照ピクチャリストのいずれも単方向予測モードのために使用され得る。本開示の技法は、2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックがコーディングされることを示す1つまたは複数のシンタックス要素をコーディングすることを含む。
[0021]本開示の技法はまた、双方向予測モードを使用して符号化されるビデオブロックについての動きベクトル情報をシグナリングするためのビットを低減することを含む。GPBフレームの1つまたは複数のブロックは、同じ参照ピクチャまたは実質的に類似する(substantially similar)参照ピクチャのいずれかからの2つの動きベクトルを用いる双方向予測モードを使用して符号化され得る。本開示の技法は、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイントコーディングすることを含み得る。
[0022]図1は、ビデオフレームのビデオブロックについての予測情報を効率的にコーディングするための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、通信チャネル16を介してビデオ情報を通信することができるワイヤレス通信デバイスを備え、その場合、通信チャネル16はワイヤレスである。
[0023]しかし、ビデオブロックについての予測情報を効率的にコーディングすることに関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用し得る。したがって、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得、デバイス12、14は、携帯電話、スマートフォン、デジタルメディアプレーヤ、セットトップボックス、テレビジョン、ディスプレイ、デスクトップコンピュータ、ポータブルコンピュータ、タブレットコンピュータ、ゲームコンソール、ポータブルゲームデバイスなどの様々なワイヤードまたはワイヤレス媒体デバイスのいずれかを備え得る。
[0024]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラ、ビデオストレージアーカイブ、コンピュータグラフィックスソースなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0025]図1の図示のシステム10は一例にすぎない。ビデオブロックについての予測情報の効率的なコーディングのための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。本技法はまた、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。さらに、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14の各々がビデオ符号化構成要素および復号構成要素を含むので、デバイス12、14は、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話通信のためのビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
[0026]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィード(video feed)を含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォン(camera phone)またはビデオフォン(video phone)を形成し得る。ただし、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび/またはワイヤードアプリケーションに適用可能であり得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオはビデオエンコーダ20によって符号化され得る。次いで、符号化ビデオ情報は、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
[0027]本開示によれば、ソースデバイス12のビデオエンコーダ20は、ビデオブロックについての予測情報をコーディングするコストを低減するための技法を適用するように構成され得る。たとえば、単方向予測モードの場合、ビデオエンコーダ20は、2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つまたは複数のシンタックス要素を符号化し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、またはGPBフレームが使用可能であるとき、2つの同一の(identical)参照ピクチャリストのいずれかであり得る。参照ピクチャリストは、代替的に参照フレームリストと呼ばれることがある。別の例として、双方向予測モードの場合、ビデオエンコーダ20は、2つの同一の参照ピクチャリストからの2つの動きベクトルを用いてGPBフレームの1つまたは複数のビデオブロックを符号化し、ビデオブロックの各々について2つの動きベクトルをジョイント符号化し得る。その2つの動きベクトルは、同じ参照ピクチャまたは実質的に類似する参照ピクチャからのものであり得る。
[0028]宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28は情報を復調する。チャネル16を介して通信される情報は、ビデオエンコーダ20によって定義されるシンタックス情報を含み、それは、ビデオデコーダ30によっても使用され、予測ユニット(PU:prediction unit)、コーディングユニット(CU:coding unit)またはコーディングされたビデオの他のユニット、たとえば、ビデオスライス、ビデオフレーム、およびビデオシーケンスまたはピクチャグループ(GOP:group of pictures)の特性および/または処理を記述するシンタックス要素を含む。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0029]本開示によれば、宛先デバイス14のビデオデコーダ30は、ビデオブロックについての予測情報をコーディングするコストを低減するための技法を適用するように構成され得る。たとえば、単方向予測モードの場合、ビデオデコーダ30は、2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックがコーディングされることを示す1つまたは複数のシンタックス要素を復号し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、またはGPBフレームが使用可能であるとき、2つの同一の参照ピクチャリストうちののいずれかであり得る。別の例として、双方向予測モードの場合、ビデオデコーダ30は、GPBフレームの1つまたは複数のビデオブロックの各々について2つの動きベクトルをジョイント復号し、2つの同一の参照ピクチャリストからの2つの動きベクトルを用いてビデオブロックの各々を復号し得る。その2つの動きベクトルは、同じ参照ピクチャまたは実質的に類似する参照ピクチャからのものであり得る。
[0030]図1の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、一般に、ワイヤードまたはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0031]ビデオエンコーダ20およびビデオデコーダ30は、高効率ビデオコーディング(HEVC)規格または代替的にMPEG−4、Part10、アドバンストビデオコーディング(AVC)とも呼ばれるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は特定のコーディング規格に限定されない。他の例にはMPEG−2およびITU−T H.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0032]HEVCの規格化の成果は、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を想定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供する。
[0033]HMは、ビデオデータのブロックをコーディングユニット(CU:coding unit)と称する。ビットストリーム内のシンタックスデータは、ピクセルの数に関する最大コーディングユニット(LCU:largest coding unit)である最大コーディングユニットを定義し得る。概して、CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。したがって、CUは、複数のサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コーディングユニットまたはLCUのサブCUを指すことがある。LCUは複数のサブCUに分割され得、各サブCUは、さらに、複数のサブCUに分割され得る。ビットストリームについてのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。したがって、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。
[0034]さらに分割されないCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分を表し、そのPUについての基準サンプルを検索するためのデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、そのPUのためのイントラ予測モードを記述するデータを含む。別の例として、PUがインターモード符号化されるとき、PUは、そのPUのための動きベクトルを定義するデータを含む。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指し示す(point)参照ピクチャ、および/または動きベクトルについての参照ピクチャリスト(たとえば、リスト0またはリスト1)について説明し得る。また、(1つまたは複数の)PUを定義するCUについてのデータは、たとえば、CUを1つまたは複数のPUへ分割することについて記述し得る。分割モードは、CUが、スキップまたはダイレクトモード符号化されるか、インター予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。
[0035]1つまたは複数のPUを有するCUはまた、1つまたは複数の変換ユニット(TU:transform unit)を含み得る。PUを使用した予測に続いて、ビデオエンコーダは、PUに対応するCUの一部分についての残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するために、変換係数に変換され、量子化され、スキャンされ得るピクセル差分値に対応する。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUについての対応するPUよりも大きくても小さくてもよい。いくつかの例では、TUの最大サイズは、対応するCUのサイズである。本開示は、CU、PU、またはTUのいずれかを指すために「ビデオブロック」という用語を使用する。
[0036]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
[0037]ビデオシーケンスは、通常、一連のビデオフレームを含む。ピクチャグループ(GOP)は、概して、一連の1つまたは複数のビデオフレームを備える。GOPは、GOP中に含まれるいくつかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つまたは複数のフレームのヘッダ、または他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、通常、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して作用する。ビデオブロックは、コーディングユニット(CU)またはCUのパーティションユニット(PU)に対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは、1つまたは複数のPUを含み得る、複数のCUを含み得る。
[0038]一例として、HEVCテストモデル(HM)は、様々なCUサイズでの予測をサポートする。LCUのサイズは、シンタックス情報によって定義され得る。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×Nのサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称サイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2Nのインター予測のための非対称分割をサポートする。非対称分割では、CUの一方向は分割されないが、他の方向が25%と75%とに分割される。25%の分割に対応するCUの一部分は、「n」の後ろに付く「Up」、「Down」、「Left」、または「Right」という指示によって示される。したがって、たとえば「2N×nU」は、上部に2N×0.5N PUと下部に2N×1.5N PUとの水平方向に分割される2N×2N CUを指す。
[0039]本開示では、「N×N」と「N by N」とは、垂直ディメンションおよび水平ディメンションに関するビデオブロック(たとえば、CU、PU、またはTU)のピクセルディメンション、たとえば、16×16ピクセルまたは16 by 16ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは、非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックは、N×Mピクセルを備え得、Mは必ずしもNに等しいとは限らない。
[0040]イントラ予測コーディングまたはインター予測コーディングを行ってCUのためのPUを生成した後、ビデオエンコーダ20は、残差データを計算して、CUのための1つまたは複数の変換ユニット(TU)を生成し得る。CUの複数のPUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備え、一方、CUの複数のTUは、たとえば、残差ビデオデータに対し離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後、変換領域において係数を備える。残差データは、非符号化ピクチャ(unencoded picture)のピクセルとCUのPUの予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUについての残差データを含む1つまたは複数のTUを形成し得る。ビデオエンコーダ20は、次いで、TUを変換し得る。
[0041]変換係数を生成するための変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に丸められる。ここで、nはmよりも大きい。
[0042]いくつかの例では、ビデオエンコーダ20は、エントロピー符号化されるシリアル化ベクトルを生成するために、量子化変換係数をスキャン(走査)するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は、適応型走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型2値算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。
[0043]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルを符号化するためにあるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接シンボルが非ゼロであるか否かに関係し得る。ビデオエンコーダ20は、次いで、コンテキストに基づいてシンボルに割り当てられた確率を参照することによって、シンボルを表すための値を割り当て得る。場合によっては、値は、小数ビット、すなわち、1ビット未満であり得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードがより確率の高いシンボルに対応し、より長いコードがより確率の低いシンボルに対応するように構築され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルのコンテキストに基づき得る。
[0044]ビデオエンコーダ20はまた、ビデオブロックを符号化するときに生成される動き予測方向と動きベクトル情報とについてのシンタックス要素をエントロピー符号化し得る。本開示の技法によれば、ビデオエンコーダ20は、ビデオブロックについての予測情報をコーディングするコストを低減し得る。たとえば、単方向予測モードの場合、ビデオエンコーダ20は、2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つまたは複数のシンタックス要素を符号化し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、またはGPBフレームが使用可能であるとき、2つの同一の参照ピクチャリストのうちのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオエンコーダ20は、2つの同一の参照ピクチャリストからの2つの動きベクトルを用いてGPBフレームの1つまたは複数のビデオブロックを符号化し、ビデオブロックの各々について2つの動きベクトルをジョイント符号化し得る。その2つの動きベクトルは、同じ参照ピクチャまたは実質的に類似する参照ピクチャからのものであり得る。
[0045]ビデオデコーダ30は、ビデオエンコーダ20の動作と本質的に対称的な形で動作し得る。たとえば、ビデオデコーダ30は、符号化されたPUデータとTUデータとを含む符号化されたCUを表す、エントロピー符号化されたデータを受信し得る。この受信データは、ビデオブロックを符号化するときに生成される動き予測方向と動きベクトル情報とについてのシンタックス要素を含み得る。ビデオデコーダ30はまた、ビデオブロックについての予測情報をコーディングするコストを低減し得る。たとえば、単方向予測モードの場合、ビデオデコーダ30は、2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つまたは複数のシンタックス要素を復号し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、またはGPBフレームが使用可能であるとき、2つの同一の参照ピクチャリストのうちのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオデコーダ30は、GPBフレームの1つまたは複数のビデオブロックの各々について2つの動きベクトルをジョイント復号し、2つの同一の参照ピクチャリストから計算される2つの動きベクトルを用いてビデオブロックの各々を復号し得る。その2つの動きベクトルは、同じ参照ピクチャまたは実質的に類似する参照ピクチャから計算され得る。
[0046]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0047]図2は、一般化P/B(GPB)フレーム36A〜36Bおよび38A〜38Bを含む例示的なビデオシーケンス33を示す概念図である。場合によっては、ビデオシーケンス33はピクチャグループ(GOP)と呼ばれることがある。ビデオシーケンス33は、図示のように、表示順でフレーム35A、36A、38A、35B、36B、38B、および35C、ならびに最終フレーム39を含む。フレーム34は、シーケンス33の前に発生するシーケンスの表示順における最終フレームである。図2は、概して、ビデオシーケンスの例示的な予測構造を表し、単に、様々なインターモードフレームタイプを符号化するために使用されるフレーム参照を示すものである。実際のビデオシーケンスは、様々なフレームタイプのより多いまたはより少ないビデオフレームを異なる表示順で含み得る。
[0048]ブロックベースビデオコーディングの場合、シーケンス33中に含まれるビデオフレームの各々はビデオブロックまたはコーディングユニット(CU)に分割され得る。ビデオフレームの各CUは、1つまたは複数の予測ユニット(PU)を含み得る。イントラコード化(I)フレーム中のビデオブロックまたはPUは、同じフレーム中の隣接ブロックに関する空間的予測を使用して符号化される。インターコード化(PまたはBまたはGPB)フレーム中のビデオブロックまたはPUは、同じフレーム中の隣接ブロックに関する空間的予測、または他の参照ピクチャに関する時間的予測を使用し得る。
[0049]Bフレーム中の複数のビデオブロックは、2つの異なる参照ピクチャリスト(従来は1つの過去のフレームと1つの将来フレーム)からの2つの動きベクトルを計算する双方向予測を使用して符号化される。場合によっては、Bフレーム中の複数のビデオブロックは、2つの異なる参照ピクチャリストのうちの1つからの単方向予測を使用して符号化され得る。Pフレーム中の複数のビデオブロックは、単一の参照ピクチャリスト(従来は過去のフレーム)からの単一の動きベクトルを計算する単方向予測を使用して符号化される。新たに登場したHEVC規格によれば、GPBフレーム中の複数のビデオブロックは、2つの同一の参照ピクチャリストのうちの1つから単一の動きベクトルを計算する単方向予測、または、2つの同一の参照ピクチャリストから2つの動きベクトルを計算する双方向予測のいずれかを使用して符号化される。この2つ同一の参照ピクチャリストは、過去の参照ピクチャを含み得る。
[0050]場合によっては、GPBフレームが、所与のビデオスライス、ビデオフレーム、またはビデオシーケンスのために全体的に使用可能であるとき、標準Pフレームの代わりにGPBフレームが使用され得る。この場合、すべての標準Pフレームは、GPBフレームとして扱われ、したがって、ビデオエンコーダは、インターモードフレームをBフレームまたはGPBフレームとして符号化することを判断し得る。他の場合には、GPBフレームが部分的に使用可能であるとき、3つすべてのインター予測モードが使用され得る。この場合、ビデオエンコーダは、インターモードフレームをBフレーム、PフレームまたはGPBフレームとして符号化することを判断し得る。
[0051]図2の例では、最終フレーム39は、イントラモードコーディングのためにIフレームに指定される。他の例では、最終フレーム39は、例えば、前のシーケンスの最終フレーム34を参照したPフレームとしてインターモードコーディングを用いてコーディングされ得る。ビデオフレーム35A〜35C(総称して「ビデオフレーム35」)は、過去のフレームと将来のフレームとを参照する双方向予測を使用してBフレームとしてコーディングするように指定される。図示の例では、フレーム34とフレーム36Aとからビデオフレーム35Aへの矢印によって示されるように、フレーム35Aは、最終フレーム34とフレーム36Aとを参照するBフレームとして符号化される。フレーム35Bおよび35Cは同様に符号化される。
[0052]ビデオフレーム36A〜36B(総称して「ビデオフレーム36」)は、過去のフレームを参照する単方向予測を使用して標準PフレームまたはGPBフレームのいずれかにコーディングするように指定され得る。図示の例では、フレーム34からビデオフレーム36Aへの矢印によって示されるように、フレーム36Aは、最終フレーム34を参照してPフレームまたはGPBフレームとして符号化される。フレーム36Bは、同様に符号化される。
[0053]ビデオフレーム38A〜38B(総称して「ビデオフレーム38」)は、同じ過去のフレームを参照する双方向予測を使用してGPBフレームとしてコーディングするように指定され得る。他の例では、GPBフレームは、同じ参照ピクチャリスト中に含まれる実質的に類似する過去のフレームを参照する双方向予測を使用して符号化され得る。図示の例では、フレーム36Aからビデオフレーム38Aへの2つの矢印によって示されように、フレーム38Aは、フレーム36Aへの2つの参照を用いてGPBフレームとして符号化される。フレーム38Bは、同様に符号化される。
[0054]図3は、ビデオフレームのビデオブロックについての予測情報を効率的にコーディングするための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、複数のCU、または複数のCUの複数のPUを含む、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード(登録商標))は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)、双方向予測(Bモード)、または一般化P/B予測(GPBモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
[0055]図3に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図3の例では、ビデオエンコーダ20は、モード選択ユニット40と、予測ユニット41と、参照ピクチャメモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクト(blockiness artifacts)を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図3に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。
[0056]符号化プロセス中に、ビデオエンコーダ20はコーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のCUまたはビデオブロックに分割され得る。モード選択ユニット40は、誤差結果に基づいて現在のビデオブロックのためのコーディングモード、すなわちイントラまたはインターのうちの1つを選択し、予測ユニット41は、得られたイントラまたはインターコード化ブロックを、残差ブロックデータを生成する加算器50と、参照ピクチャとして使用するための符号化ブロックを再構成する加算器62に供給し得る。
[0057]予測ユニット41内のイントラ予測ユニット46は、コーディングされるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行し、空間圧縮を提供する。予測ユニット41内の動き推定ユニット42および動き補償ユニット44は、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行し、時間圧縮を提供する。この1つまたは複数の参照ピクチャは、第1の参照ピクチャリスト(リスト0)66および/または第2の参照ピクチャリスト(リスト1)68から選択され、これらの参照ピクチャリストは、参照ピクチャメモリ64に記憶された参照ピクチャについての識別子を含む。
[0058]動き推定ユニット42は、ビデオシーケンスの予め定められたパターンに従ってビデオフレームのためのインター予測モードを判断するように構成される。予め定められたパターンは、シーケンス中のビデオフレームをPフレームおよび/またはBフレームに指定し得る。場合によっては、GPBフレームが使用可能であり、したがって、1つまたは複数のビデオフレームがGPBフレームに指定され得る。他の場合には、GPBフレームが使用可能であるとき、動き推定ユニット42は、当初指定されたPフレームをGPBフレームとして符号化するかどうかを判断し得る。後者の場合は、GPBフレームが全体的に使用可能であるのか部分的に使用可能であるのかに依存し得る。
[0059]動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレーム内のPUまたはビデオブロックの変位を示し得る。予測ブロックは、コーディングされるべきPUを含むCUの一部分と、ピクセル差分に関して、ほぼ一致すると判断されたブロックであり、それは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得る。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を計算し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0060]動き推定ユニット42は、インターコード化フレームのPUまたはビデオブロックのための動きベクトルを、当該PUと、リスト0 66またはリスト1 68のいずれかの中で識別される1つの参照ピクチャ内の複数のブロックとを比較することによって、計算する。たとえば、インターコード化フレームがPフレームを備えるとき、動き推定ユニット42は、Pフレーム中のビデオブロックのために単方向予測を使用し、リスト0 66とリスト1 68とのうちの1つであって、過去のフレームのための識別子を含むリスト(従来はリスト0 66)から、単一の動きベクトルを計算し得る。
[0061]インターコード化フレームがBフレームを備えるとき、たとえば、リスト0 66とリスト1 68とは、異なる参照ピクチャ、従来は過去のピクチャと将来のピクチャとのための識別子を含む。動き推定ユニット42は、Bフレームのビデオブロックのために双方向予測を使用し、リスト0 66とリスト1 68とから2つの動きベクトルを計算し得る。場合によっては、動き推定ユニット42は、Bフレームのビデオブロックのために単方向予測を使用し、参照ピクチャリスト66、68のうちの1つから単一の動きベクトルを計算し得る。
[0062]新たに登場したHEVC規格によれば、インターコード化フレームがGPBフレームを備えるとき、リスト0 66とリスト1 68とは、同じ複数の参照ピクチャのための識別子を含む。より詳細には、リスト0 66とリスト1 68との各々の中に含まれるピクチャの数は同じであり、リスト0 66中の各インデックスエントリによって示されるピクチャは、リスト1 68中の同じインデックスエントリによって示されるピクチャと同一である。リスト0 66とリスト1 68との中に含まれる参照ピクチャは、過去のピクチャを備え得る。この場合、動き推定ユニット42は、GPBフレームのビデオブロックのために双方向予測を使用し、リスト0 66とリスト1 68とから2つの動きベクトルを計算し得る。動き推定ユニット42はまた、GPBフレームのビデオブロックのために単方向予測を使用し、リスト0 66とリスト1 68とのうちの1つから単一の動きベクトルを計算し得る。
[0063]参照ピクチャリストのうちの1つが他の参照ピクチャリストよりも好適であるとき、デフォルトで、単方向予測のために好適参照ピクチャリストを使用することがより効率的であり得る。これは、Bフレームのための単方向予測が、ほとんどの場合、参照ピクチャリストのうちの一方よりも他方に基づいて実行される場合である。たとえば、Pフレームと同様に、Bフレームのための単方向予測は、一般に、リスト0 66からの過去の参照ピクチャに基づいて実行され得る。その例では、動き補償ユニット44は、リスト0 66が好適参照ピクチャリストであると判断し得る。GPBフレームが使用可能であり、したがって、リスト0 66とリスト1 68とが同一であるとき、動き補償ユニット44は、2つの同じ参照ピクチャリスト間で選択する代わりに、単方向予測のためにリスト0 66とリスト1 68とのいずれか一方を交互に使用し得る。
[0064]動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動き補償ユニット44によって実行される動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを含む。ビデオエンコーダ20は、コーディングされている現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。
[0065]動き補償ユニット44は、PUについての動きベクトルによって識別される予測ブロックを取り出すことによって、現在のCUの当該Pについての予測情報を計算し得る。予測情報は、たとえば、動き予測方向と動き予測子(motion predictor)とを含む動きベクトル情報と、参照ピクチャリスト情報とを含み得る。動き補償ユニット44はまた、現在のビデオブロックまたはPUについて計算される予測情報を表すように定義されるシンタックス要素を生成し得る。ビデオエンコーダ20は、次いで、予測情報を示すシンタックス要素を符号化し、ビデオデコーダ30にシンタックス要素をシグナリングし得る。
[0066]本開示の技法によれば、ビデオエンコーダ20は、ビデオブロックについての予測情報をコーディングするコストを低減し得る。たとえば、単方向予測モードの場合、ビデオエンコーダ20は、2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックがコーディングされることを示す1つまたは複数のシンタックス要素を符号化し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、またはGPBフレームが使用可能であるとき、2つの同じ参照ピクチャリストのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオエンコーダ20は、2つの同じ参照ピクチャリストからの2つの動きベクトルを用いてGPBフレームの1つまたは複数のビデオブロックを符号化し、ビデオブロックの各々について2つの動きベクトルをジョイント符号化し得る。その2つの動きベクトルは、同じ参照ピクチャまたは実質的に類似する参照ピクチャからのものであり得る。
[0067]最初に、単方向予測の場合にビデオブロックについての予測情報をコーディングするコストを低減するための技法について説明する。動き補償ユニット44は、現在のビデオブロックの動き予測方向についてのシンタックス要素を生成し得る。Bフレーム中のビデオブロックの動き予測方向についての従来のシンタックス要素、inter_pred_idcは、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示す第1のビットと、単方向予測のために使用される参照ピクチャリストを示す第2のビットとを含む。同一の参照ピクチャリストの場合、参照ピクチャリストのいずれも単方向予測モードのために互換的に使用され得るので、従来のシンタックス要素の第2のビットは冗長であり得る。
[0068]本開示の技法によれば、動き補償ユニット44は、単方向予測モードのために使用される参照ピクチャリストの指示を削除することによって、動き予測方向についてのシングルビットシンタックス要素を生成し得る。ビデオエンコーダ20は、次いで、ビデオブロックレベルまたはPUレベルにおいて、現在のビデオフレームの各ビデオブロックについての動きベクトル情報とともに、動き予測方向についてのシングルビットシンタックスを符号化し、ビデオデコーダ30にシグナリングする。
[0069]現在のビデオフレームがGPBフレームに指定されるとき、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された同一の参照ピクチャのための識別子を含んでいるリスト0 66とリスト1 68とを記憶する。リスト0 66とリスト1 68とは同じ参照ピクチャを含むので、動き補償ユニット44は、単方向予測モードのために2つの同一の参照ピクチャリストのいずれも互換的に使用し得る。ビデオエンコーダ20は、参照ピクチャリストのうちの1つの中の参照ピクチャに関する単方向予測モードを使用してGPBフレームの1つまたは複数のビデオブロックを符号化する。
[0070]動き補償ユニット44は、単方向予測モードを使用して符号化されるGPBフレームのビデオブロックの動き予測方向を表すためのシングルビットシンタックスを生成し得る。ビデオエンコーダ20はまた、現在のビデオフレームがGPBフレームとして符号化されることを示すために、ビデオデコーダ30にGPBフレームフラグをシグナリングし得る。そのGPBフレームフラグは、シーケンス内の所与のビデオフレームがGPBフレームとして符号化され、したがって、ビデオブロックの動き予測方向がシングルビットシンタックスで符号化されることをビデオデコーダ30に明示的に通知するために使用され得る。この明示的シグナリングによって、ビデオデコーダ30は、動き予測方向を決定するためにシングルビットシンタックスをパースすることが可能になり得る。場合によっては、ビデオエンコーダ20は、GPBフレームフラグを明示的にシグナリングしないが、参照ピクチャリストが同一であるとき、所与のフレームがGPBフレームとして符号化されることを暗黙的にシグナリングし得る。GPBフレームフラグについては、以下でより詳細に説明する。
[0071]一例では、GPBフレームのビデオブロックが単方向予測モードを使用して符号化されるのか双方向予測モードを使用して符号化されるのかを示すように定義されたシングルビットシンタックス要素、たとえば、bi_pred_flagを備えるGPBフレームに対して別個のシンタックスが定義され得る。シングルビットシンタックス要素の導入によって、上記で説明した、従来のシンタックス要素、すなわち、inter_pred_idcとの混同が回避され得る。動き補償ユニット44は、GPBフレームの複数のビデオブロックのそれぞれの動き予測方向を表すためのシングルビットシンタックス要素を生成し得る。ビデオエンコーダ20は、次いで、単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示すために、GPBフレームのビデオブロックのうちの1つまたは複数についてのシングルビットシンタックス要素を符号化する。同一の参照ピクチャリストのいずれもが単方向予測のために使用され得るので、GPBフレームのビデオブロックを符号化するために参照ピクチャリスト66、68のどちらが使用されるのかを明示的にシグナリングする必要がない。
[0072]別の例では、GPBフレームのビデオブロックが単方向予測モードを使用して符号化されるのか双方向予測モードを使用して符号化されるのかを示すためにシンタックス要素の第1のビットのみが使用されるGPBフレームに対して、従来のシンタックス要素、すなわち、inter_pred_idcのシングルビットモードが定義され得る。動き補償ユニット44は、GPBフレームの複数のビデオブロックのそれぞれの動き予測方向を表すための従来のシンタックス要素の第1のビットのみを生成し得る。ビデオエンコーダ20は、次いで、単方向予測を使用してビデオブロックが符号化されることを示すために、GPBフレームのビデオブロックのうちの1つまたは複数についてのシンタックス要素の第1のビットのみを符号化する。参照ピクチャリストのいずれもが単方向予測のために使用され得るので、動き補償ユニット44は、GPBフレームのビデオブロックについてのシンタックス要素の第2のビットを削除し得る。
[0073]以下に提示する表1は、GPBフレームのビデオブロックのための単方向予測を示すために第1のビットのみが符号化される動き予測方向についての従来のシンタックス要素、すなわち、inter_pred_idcのシングルビットモードを用いた初期結果を与える。表1は、低遅延、高効率構成におけるHMのバージョン0.7内のいくつかのビデオテストシーケンスについて、GPBフレームのビデオブロックの動き予測方向を表すための低減ビットシンタックスによるビット深度(bit-depth)レート低減率を提示する。低減ビットシンタックス要素による平均ビット深度レート低減は、0.88%である。
Figure 2013535913
[0074]場合によっては、ビデオエンコーダ20は、参照ピクチャリストからの単方向予測モードを使用して符号化される任意のタイプのインターコード化フレームのビデオブロックの動き予測方向を示すシンタックス要素を表すための低減ビット値を割り当て得る。上記で説明したように、ビデオフレームがBフレームに指定されるとき、参照ピクチャリストは、ほとんどの場合、単方向予測のための使用される2つの異なる参照ピクチャリストのうちの好適な参照ピクチャリストであり得る。ビデオフレームがGPBフレームに指定されるとき、参照ピクチャリストは、2つの同じ参照ピクチャリストのうちのいずれかであり得る。
[0075]たとえば、動き補償ユニット44は、動き予測方向を示すシンタックス要素に適用される2値化を、シングルビット2値化で好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表すように適応させ得る。エントロピー符号化ユニット56は、各シンタックス要素を、1ビットまたはバイナリビットのシーケンスに2値化し得る。従来、動き予測方向を示すシンタックス要素では、2値化の0は、双方向予測モードを表し、2値化の10は、リスト0中の参照ピクチャに関する単方向予測モードを表し、2値化の11は、リスト1中の参照ピクチャに関する単方向予測モードを表す。
[0076]しかしながら、動き補償ユニット44は、シングルビット2値化の0が、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを示すシンタックス要素にリンクされるように、シンタックス要素を異なる2値化に適応的にリンクし得る。動き補償ユニット44は、動き予測方向を示すシンタックス要素の各ステータスがどれくらいの頻度で発生するかに基づいて2値化を適応させ得る。好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードが他の予測モードよりも頻繁に使用されるとき、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードに、シングルビット2値化の0をリンクすることがより効率的であり得る。たとえば、動き補償ユニット44は、シングルビット2値化の0が、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表し、2値化の10が、非好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表し、2値化の11が、双方向予測モードを表すように2値化を適応させ得る。
[0077]動き補償ユニット44は、現在のフレームの複数のビデオブロックのそれぞれの動き予測方向を表すためのシンタックス要素を生成し得る。ビデオエンコーダ20は、次いで、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用してビデオブロックが符号化されることを示すために、1つまたは複数のビデオブロックについてのシンタックス要素にシングルビット2値化を割り当てる。ビデオエンコーダ20は、ビデオブロックまたはPUレベル、CUレベル、ビデオスライスレベル、ビデオフレームレベル、あるいはビデオシーケンスレベルのうちの1つにおいて、動き予測方向を示すシンタックス要素の適応型2値化をビデオデコーダ30にシグナリングし得る。このシグナリングによって、ビデオデコーダ30は、同様に、動き予測方向を示すシンタックス要素にその2値化を適応させることが可能になり得る。場合によっては、ビデオデコーダ30は、動き予測方向を示すシンタックス要素の各ステータスがどれくらいの頻度で発生するかに基づいてシンタックス要素を単独で適応的に2値化し得る。
[0078]別の例として、動き補償ユニット44は、シンタックス要素が好適参照ピクチャリストを示す確率を、シンタックス要素が非好適参照ピクチャリストを示す確率よりも高くなるようにバイアスする構成データを参照し得る。たとえば、構成データは、動き予測方向についての従来のシンタックス要素、すなわち、inter_pred_idcの第2のビットの確率初期設定(probability initialization)を好適参照ピクチャリストのほうへバイアスし得る。エントロピー符号化ユニット56は、同じフレーム中の隣接ビデオブロックのシンタックス値から判断される現在のビデオブロックベースコンテキストについて、シンタックス要素の各ビットが1または0である確率を推定する。各コンテキストについて、状態機械(state machine)は、過去の値を追跡し、現在のビデオブロックについてのシンタックス要素の確率の最良の推定として現在の状態を与える。たとえば、状態値が、0から128まで変動する場合、状態値0は、ビットが0である確率が0.9999であることを意味し得、状態値128は、ビットが0である確率が0.0001であることを意味し得る。エントロピー符号化ユニット56は、確率判断に基づいて割り当てられた値を使用してシンタックス要素を符号化し得る。確率が高くなればなるほど、シンタックス要素を表すために使用される値がより短くなる。場合によっては、値は、小数ビット、すなわち、1ビット未満であり得る。
[0079]単方向予測モードの場合、単方向予測について、参照ピクチャリストのうちの一方が他方の参照ピクチャリストよりも好適であるとき、構成データは、シンタックス要素が好適参照ピクチャリストを示す確率を高める。たとえば、動き補償ユニット44は、構成データに基づいて従来のシンタックス要素の第2のビットの状態値を0に設定し、したがって、そのビットが0である確率、すなわち、好適参照ピクチャリストを示す確率は0.9999である。
[0080]動き補償ユニット44は、現在のフレームの複数のビデオブロックのそれぞれの動き予測方向を示すシンタックス要素を生成し得る。ビデオエンコーダ20は、単方向予測を使用してビデオブロックが符号化されることを示すために、1つまたは複数のビデオブロックについてのシンタックス要素の第1のビットにシングルビット値を割り当て得る。ビデオエンコーダ20は、次いで、単方向予測モードのために好適参照ピクチャリストが使用されることを示すために、1つまたは複数のビデオブロックについてのシンタックス要素の第2のビットに小数ビット値、すなわち、1ビット未満を割り当て得る。シンタックス要素の第2のビットが好適参照ピクチャリストを示す確率がより高くなると、ビデオエンコーダ20は第2のビットに小数ビット値を割り当てることが可能になる。
[0081]上記で説明した動き予測方向についての修正シンタックスに加えて、本開示の技法はまた、動き予測方向のためにGPBフレームが使用されるとき、および/または低減ビットシンタックスが使用されるときを明示的に示すために、ビデオデコーダ30にフラグをシグナリングすることを含む。たとえば、GPBフレームが現在のビデオフレームに対して使用可能であるかまたは許可された場合、ビデオエンコーダ20は、GPBフレームが使用可能であることを示すために、ビデオデコーダ30にGPB使用可能フラグ(GPB enable flag)をシグナリングし得る。ビデオエンコーダ20は、ビデオフレームレベルまたはビデオシーケンスレベルのいずれかにおいて、シンタックス中でGPB使用可能フラグをシグナリングし得る。GPB使用可能フラグは、GPBフレームが使用不能であること、全体的に使用可能であること、または部分的に使用可能であることを示すように定義され得る。GPBフレームが使用不能であるとき、当初指定されたPフレームは、PUごとに1つの動きベクトルを用いて従来のPフレームとして符号化される。GPBフレームが全体的に使用可能であるとき、当初指定されたPフレームは、PUごとに1つまたは2つの動きベクトルを用いるGPBフレームとして扱われ得る。GPBフレームが部分的に使用可能であるとき、Pフレーム概念、Bフレーム概念、およびGPBフレーム概念は別個の概念として扱われ得る。
[0082]GPBフレームは使用可能であるが、GPBフレームに対して新しいスライスタイプが定義されないことがあり、したがってGPBフレームはBスライスおよび/またはPスライスとして符号化され得る。この場合、ビデオエンコーダ20は、標準Bおよび/またはPフレームとGPBフレームとを区別するために、ビデオデコーダ30に追加の明示的または暗黙的指示を送る必要があり得る。その追加の指示はまた、動き予測方向を表すために低減ビットシンタックスが使用されるときをビデオデコーダ30に通知するために使用され得る。
[0083]たとえば、すべてのGPBフレームは、従来のBフレームの場合には異なる参照ピクチャリストと、GPBフレームの場合には同一の参照ピクチャリストとのいずれかを用いてBスライスとしてコーディングされ得る。GPBフレームが全体的に使用可能であり、しがたって、すべてのインター予測フレームが、同一の参照ピクチャリストを用いてまたは用いずにBスライスとして符号化され得るとき、GPBフレームを符号化するこのモードが好ましいことがある。
[0084]場合によっては、ビデオエンコーダ20は、従来のBフレームとGPBフレームとを区別するために、ビデオフレームがGPBフレームとして符号化されるときを示すためにビデオデコーダ30にGPBフレームフラグ、たとえば、gpb_pred_flagまたはslice_gpb_flagを明示的にシグナリングし得る。ビデオエンコーダ20は、ビデオスライスレベル、ビデオフレームレベル、またはビデオシーケンスレベルのうちの1つにおいて、シンタックス中でGPBフレームフラグをシグナリングし得る。ただし、場合によっては、ビデオエンコーダ20は、GPBフレーム符号化を明示的にシグナリングしないことがある。それらの場合には、ビデオエンコーダ20は、参照ピクチャリストが同一であるとき、所与のフレームがGPBフレームとして符号化されることをビデオデコーダ30に暗黙的に通知し得る。
[0085]BスライスとしてコーディングされたGPBフレームについてのスライスヘッダシンタックスは、動き予測方向についての低減ビットシンタックス要素を定義し得る。一例では、低減ビットシンタックス要素は、Bフレームの動き予測方向についての従来のシンタックス要素、すなわち、inter_pred_idcの1つのモードであり得、そのモードでは、シンタックス要素の第1のビットのみが使用される。別の例では、低減ビットシンタックス要素は、以下でより詳細に説明する、新たに定義されたシングルビットシンタックス要素、たとえば、bi_pred_flagであり得る。
[0086]BスライスとしてコーディングされたGPBフレームの動き予測方向についての低減ビットシンタックス要素の一例を定義するための修正とともに、以下の表2に、ビデオブロックまたはPUレベルにおけるシンタックスからの抜粋を提示する。
Figure 2013535913
predition_unitシンタックスは、ビデオフレーム内の、開始ピクセル(originating pixel)またはサブピクセル座標(x0、y0)に位置し、currPredUnitSizeによって与えられるあるサイズを有する、所与のPUに対して定義される。表2のC列は、現在のビデオブロックのどのデータパーティション中にシンタックス要素が含まれるのかを定義する各シンタックス要素のカテゴリーを示す。表2の記述子列は、ビデオデコーダ30におけるシンタックス要素の適切なパーシングを可能にするためにシンタックス要素のために使用されるコーディングのタイプを示す。たとえば、記述子「ue(v)」は、指数ゴロムコーディング(exponential-Golomb coding)を示す。表2のシンタックスの抜粋に示すように、現在のビデオブロックまたはPUを含むビデオフレームがBスライスと見なされたが、GPBフレームではなかった場合、動き補償ユニット44は、従来のBフレームのビデオブロックのパーティションiの動き予測方向をシグナリングするために、従来の2ビットシンタックス要素、inter_pred_idc[i]を生成する。しかしながら、ビデオフレームがBスライスと見なされ、GPBフレームであった場合、動き補償ユニット44は、GPBフレームのビデオブロックのパーティションiの動き予測方向をシグナリングするために、従来のシンタックス要素、inter_pred_idc[i]の第1のビットのみを生成する。ビデオフレームがGPBフレームとして符号化されることを示すために、ビデオエンコーダ20がより高いレベルにおいてGPBフレームフラグを明示的にシグナリングするとき、または、参照ピクチャリストが同一であると判断されるとき、予測ユニットシンタックステーブルにおいて使用されるGPBフラグ変数、isGPBSliceFlagは真であると判断され得る。
[0087]別の例では、すべてのGPBフレームは、GPBフレームの場合にはオプションの双方向予測を用いてPスライスとしてコーディングされ得る。このモードのGPBフレーム符号化は、GPBフレームが部分的に使用可能であり、しがたって、インター予測フレームが、双方向予測を用いてまたは用いずにBスライスまたはPスライスとして符号化され得るとき、好ましいことがある。場合によっては、ビデオエンコーダ20は、従来のPフレームとGPBフレームとを区別するために、ビデオフレームがGPBフレームとして符号化されるときを示すためにビデオデコーダ30などのビデオデコーダにGPBフレームフラグ、たとえば、gpb_pred_flagまたはslice_gpb_flagを明示的にシグナリングし得る。ビデオエンコーダ20は、ビデオスライスレベル、ビデオフレームレベル、またはビデオシーケンスレベルのうちの1つにおいて、シンタックス中でGPBフレームフラグをシグナリングし得る。
[0088]PスライスとしてコーディングされたGPBフレームについてのスライスヘッダシンタックスは、動き予測方向についての低減ビットシンタックス要素を定義し得る。一例では、低減ビットシンタックス要素は、新たに定義されたシングルビットシンタックス要素、たとえば、bi_pred_flagであり得る。シングルビットシンタックス要素は、ビデオブロックが単方向予測を使用して符号化されるのか双方向予測を使用して符号化されるのかを示すように定義され得る。シングルビットシンタックス要素は、Bフレームの動き予測方向についての従来の2ビットシンタックス要素との混同を回避するために異なる名前を有し得る。たとえば、シングルビットシンタックス要素は、「inter_pred_idc」の代わりに「bi_pred_flag」と命名され得る。別の例では、低減ビットシンタックス要素は、Bフレームの動き予測方向についての従来のシンタックス要素、すなわち、inter_pred_idcの1つのモードであり得、そのモードでは、シンタックス要素の第1のビットのみが使用される。
[0089]PスライスとしてコーディングされたGPBフレームの動き予測方向についての低減ビットシンタックス要素の一例を定義するための修正とともに、ビデオブロックまたはPUレベルにおけるシンタックスからの抜粋を以下の表3に提示する。
Figure 2013535913
predition_unitシンタックスは、ビデオフレーム内の、開始ピクセルまたはサブピクセル座標(x0、y0)に位置し、currPredUnitSizeによって与えられるあるサイズを有する、所与のPUに対して定義される。表3のC列は、現在のビデオブロックのどのデータパーティション中にシンタックス要素が含まれるのかを定義する各シンタックス要素のカテゴリーを示す。表3の記述子列は、ビデオデコーダ30におけるシンタックス要素の適切なパーシングを可能にするためにシンタックス要素のために使用されるコーディングのタイプを示す。たとえば、記述子「ue(v)」は、指数ゴロムコーディングを示す。表3のシンタックスの抜粋に示すように、現在のビデオブロックまたはPUを含むビデオフレームがBスライスと見なされた場合、動き補償ユニット44は、従来のBフレームのビデオブロックのパーティションiの動き予測方向をシグナリングするために、従来の2ビットシンタックス要素、inter_pred_idc[i]を生成する。しかし、ビデオフレームがPスライスと見なされ、GPBフレームであった場合、動き補償ユニット44は、GPBフレームのビデオブロックのパーティションiの動き予測方向をシグナリングするために、シングルビットシンタックス要素、bi_pred_flag[i]を生成する。ビデオフレームがGPBフレームとして符号化されることを示すために、ビデオエンコーダ20がより高いレベルにおいてGPBフレームフラグを明示的にシグナリングするとき、シンタックスにおいて使用されるGPBフラグ、slice_gpb_flagは真であると判断され得る。
[0090]場合によっては、GPBフレームが使用可能であるとき、GPBフレームに対して新しいスライスタイプが定義され得る。この場合、現在のビデオフレームがGPBフレームとして符号化されることを示すために追加の明示的または暗黙的シグナリングは必要ない。GPBスライスとしてコーディングされたGPBフレームについてのスライスヘッダシンタックスは、動き予測方向についての低減ビットシンタックス要素を定義し得る。一例では、低減ビットシンタックス要素は、上記で説明した、新たに定義されたシングルビットシンタックス要素、たとえば、bi_pred_flagであり得る。別の例では、低減ビットシンタックス要素は、Bフレームの動き予測方向についての従来のシンタックス要素、すなわち、inter_pred_idcの1つのモードであり得、そのモードでは、シンタックス要素の第1のビットのみが使用される。
[0091]GPBスライスとしてコーディングされたGPBフレームの動き予測方向についての低減ビットシンタックス要素の一例を定義するための修正とともに、ビデオブロックまたはPUレベルにおけるシンタックスからの抜粋を以下の表4に提示する。
Figure 2013535913
predition_unitシンタックスは、ビデオフレーム内の、開始ピクセルまたはサブピクセル座標(x0、y0)に位置し、currPredUnitSizeによって与えられるあるサイズを有する、所与のPUに対して定義される。表4のC列は、現在のビデオブロックのどのデータパーティション中にシンタックス要素が含まれるのかを定義する各シンタックス要素のカテゴリーを示す。表4の記述子列は、ビデオデコーダ30におけるシンタックス要素の適切なパーシングを可能にするためにシンタックス要素のために使用されるコーディングのタイプを示す。たとえば、記述子「ue(v)」は、指数ゴロムコーディングを示す。シンタックスの抜粋に示すように、現在のビデオブロックまたはPUを含むビデオフレームがBスライスと見なされた場合、動き補償ユニット44は、従来のBフレームのビデオブロックのパーティションiの動き予測方向をシグナリングするために、従来の2ビットシンタックス要素、inter_pred_idc[i]を生成する。しかしながら、ビデオフレームがGPBスライスと見なされた場合、動き補償ユニット44は、GPBフレームのビデオブロックのパーティションiの動き予測方向をシグナリングするために、シングルビットシンタックス要素、bi_pred_flag[i]を生成する。
[0092]次に、双方向予測の場合にビデオブロックについての予測情報をコーディングするコストを低減するための技法について説明する。上記で説明したように、動き推定ユニット42は、GPBフレームの現在のビデオブロックのためのリスト0 66からの第1の動きベクトルとリスト1 68からの第2の動きベクトルとを計算する双方向予測を使用し得る。動き補償ユニット44は、次いで、現在のビデオブロックのための動きベクトルを示すように定義されるシンタックス要素を生成し得る。動きベクトルについての従来のシンタックス要素は、動きベクトルと動き予測子との間の差を示すように定義された第1のシンタックス要素、すなわち、mvdと、動き予測子が生成される参照ピクチャの参照ピクチャリスト中のインデックスを示すように定義された第2のシンタックス要素、すなわち、ref_idxとを含む。
[0093]現在のビデオフレームがGPBフレームに指定されるとき、ビデオエンコーダ20は、同一の参照ピクチャのための識別子を含んでいるリスト0 66とリスト1 68とを記憶する。リスト0 66とリスト1 68とは同じ参照ピクチャを含むので、動き推定ユニット42は、同じ2つ参照ピクチャすなわち実質的に類似する2つ参照ピクチャのうちのいずれかから第1の動きベクトルと第2の動きベクトルとを計算し得る。したがって、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとは高度に相関する。高度に相関する動きベクトルの各々についてシンタックス要素を単独で生成するのは冗長であり得、2つの動きベクトルをジョイント符号化することがより効率的である。
[0094]本開示の技法によれば、動き補償ユニット44は、従来第2の動きベクトルを表すために使用されるシンタックス要素を低減するかまたは削除することによって、動きベクトルをシグナリングするために使用されるビットを低減し得る。ビデオエンコーダ20は、次いで、第1の動きベクトルと第2の動きベクトルとをジョイント符号化する。たとえば、ビデオエンコーダ20は、従来、動き予測子に関して第1の動きベクトルを符号化し、次いで、第1の動きベクトルに関して第2の動きベクトルを符号化する。ビデオエンコーダ20は、ビデオブロックまたはPUレベルにおいて、GPBフレームの各ビデオブロックについての他の予測シンタックスとともに、ジョイント符号化された動きベクトルをビデオデコーダ30にシグナリングする。
[0095]動き補償ユニット44は、動き推定ユニット42からGPBフレームの現在のビデオブロックのための第1の動きベクトルと第2の動きベクトルとを受信する。動き補償ユニット44は、次いで、隣接ビデオブロックの動きベクトルから第1の動きベクトルのための第1の動き予測子を生成する。たとえば、現在のビデオブロックのための第1の動きベクトルは、リスト0 66からの参照ピクチャ中の予測ブロックをさし示す。したがって、第1の動き予測子は、リスト0 66からの同じ参照ピクチャ中の別のブロックをさし示す、GPBフレーム中の隣接ビデオブロックの動きベクトルから生成され得る。
[0096]動き補償ユニット44は、第1の動き予測子に対する第1の動きベクトルを表すためのシンタックス要素を生成する。たとえば、動き補償ユニット44は、第1の動きベクトルと第1の動き予測子との間の差を示すように定義された第1のシンタックス要素、すなわち、mvdと、第1の動き予測子が生成された参照ピクチャのリスト0 66中のインデックスを示すように定義された第2のシンタックス要素、すなわち、ref_idxとを生成する。このようにして、ビデオエンコーダ20は、従来、動き補償ユニット44によって生成されたシンタックス要素を用いて、第1の動き予測子に対して第1の動きベクトルを符号化する。
[0097]動き補償ユニット44は、隣接ビデオブロックからの第2の動きベクトルのための第2の動き予測子を生成しないことがあるが、代わりに第2の動き予測子として第1の動きベクトルを使用する。ビデオエンコーダ20は、次いで、第1の動きベクトルに対して、ビデオブロックのための第2の動きベクトルを符号化する。このようにして、第2の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の差として符号化され得る。いくつかの例では、動き補償ユニット44は、第2の動きベクトルについてのいかなるシンタックス要素も生成しないことがある。他の例では、動き補償ユニット44は、第2の動きベクトルと第1の動きベクトルとの間の差を示すように定義される第1のシンタックス要素のみを生成し得る。
[0098]場合によっては、動きベクトルが同じ参照ピクチャまたは実質的に類似する参照ピクチャをさし示す(ポイントする)とき、ビデオエンコーダ20は、第1の動きベクトルと第2の動きベクトルとを単にジョイント符号化し得る。第1の動きベクトルと第2の動きベクトルとが同じ参照ピクチャをさし示さないとき、第2の動き予測子として第1の動きベクトルを使用する前に、第1の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の時間距離に従ってスケーリングされ得る。
[0099]いくつかの例では、現在のブロックの動きベクトルのための動き予測子は、隣接ブロックの複数の動きベクトルから生成され得る。この場合、動き補償ユニット44は、隣接ビデオブロックの複数の候補動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成し得る。動き補償ユニット44はまた、第1の動きベクトルを含む複数の候補動きベクトルから、現在のビデオブロックの第2の動きベクトルのための第2の動き予測子を生成し得る。この場合、第2の動きベクトルは、依然として、第1の動きベクトルに対して符号化され得るが、第1の動きベクトルに基づくことに限定するものではない。
[0100]所与の参照ピクチャリストからの動きベクトルのための動き予測子は、一般に、同じ参照ピクチャリスト中の同じフレームから計算される、隣接ビデオブロックの動きベクトルから生成される。しかしながら、現在のフレームがGPBフレームであり、したがって、第1の参照ピクチャリストと第2の参照ピクチャリストとが同一の参照ピクチャのための識別子を含んでいるとき、動き予測子は、隣接ビデオブロックの動きベクトルとは異なるリストから生成され得る。たとえば、隣接ビデオブロックの動きベクトルがリスト0 66中の参照ピクチャを指す場合、動き補償ユニット44は、リスト0 66またはリスト1 68のいずれかの中の参照ピクチャから、現在のビデオブロックの動きベクトルのための第1の動き予測子を生成し得る。
[0101]場合によっては、第1の動き予測子を生成するために使用される隣接ビデオブロックの動きベクトルは、同じ参照ピクチャリスト、たとえばリスト0 66中で、現在のビデオブロックの第1の動きベクトルとして利用可能でないことがある。本開示の技法によれば、隣接ビデオブロックの動きベクトルがリスト0 66中で利用可能でないとき、動き補償ユニット44は、リスト1 68から第1の動き予測子を計算し得る。これは、隣接ビデオブロックの動きベクトルが当初リスト1 68から計算されて、リスト0 66に記憶されなかった場合に行われ得る。追加の解決策として、動き推定ユニット42は、各参照ピクチャリストから計算される動きベクトルを両方の参照ピクチャリストに記憶する。たとえば、動き推定ユニット42が、GPBフレーム中の隣接ビデオブロックについて、リスト0 66から動きベクトルを計算するとき、動き推定ユニット42は、リスト0 66とリスト1 68の両方に当該動きベクトルを記憶する。このようにして、動き補償ユニット44は、常に、参照ピクチャリスト66、68のいずれかから、隣接ビデオブロックの動きベクトルのための動き予測子を生成し得る。
[0102]動き補償ユニット44が、動きベクトルに基づいて現在のビデオブロックのための予測ブロックを生成し、現在のビデオブロックについての予測情報を表すためのシンタックス要素を生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。変換ユニット52は、残差ブロックから1つまたは複数の変換ユニット(TU:transform unit)を形成し得る。変換ユニット52は、離散コサイン変換(DCT:discrete cosine transform)または概念的に同様の変換などの変換をTUに適用し、残差変換係数を備えるビデオブロックを生成する。変換は、残差ブロックをピクセル領域から周波数領域などの変換領域に変換し得る。
[0103]変換ユニット52は、得られた変換係数を量子化ユニット54へ送る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0104]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、または別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ30などのビデオデコーダに送信されるか、あるいは後で送信または検索するためにアーカイブされる(アーカイブに保存する)。
[0105]エントロピー符号化ユニット56はまた、コーディングされている現在のビデオブロックのための動きベクトルと他の予測シンタックス要素とをエントロピー符号化し得る。たとえば、エントロピー符号化ユニット56は、符号化されたビットストリーム中で送信するために動き補償ユニット44によって生成された適切なシンタックス要素を含むヘッダ情報を構築し得る。PUまたはビデオブロックレベルにおいて、シンタックス要素は、動きベクトルと動き予測方向とを含み得る。より高レベルにおいて、シンタックス要素は、GPBフレームが所与のビデオフレームについて使用可能であるかどうかを示すGPB使用可能フラグと、所与のビデオフレームがGPBフレームとして符号化されるかどうかを示すGPB符号化フラグ(GPB encoded flag)とを含み得る。ビデオデコーダは、予測ブロックを取り出し、ビデオエンコーダ20によって符号化された元のビデオブロックを再構成するために、これらのシンタックス要素を使用し得る。
[0106]シンタックス要素をエントロピー符号化するために、エントロピー符号化ユニット56は、コンテキストモデルに基づいてシンタックス要素を1つまたは複数のバイナリビットに2値化し得る。この例では、エントロピー符号化ユニット56は、好適参照ピクチャ中の参照ピクチャに関する単方向予測モードを示すシンタックス要素にシングルビット2値化をリンクするために動き補償ユニット44によって適応された2値化を適用し得る。さらに、エントロピー符号化ユニット56は、好適参照リストのほうへバイアスされたビットの確率初期設定に基づいて、シンタックス要素のビットを小数ビット値として符号化し得る。
[0107]逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックをリスト0 66またはリスト1 68内の複数の参照ピクチャのうちの1つ参照ピクチャの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム中のブロックをインター予測する(inter-predict)ために、動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0108]図4は、ビデオフレームのビデオブロックについての予測情報を効率的にコーディングするための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図4の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、参照ピクチャメモリ92とを含む。予測ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図3)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0109]復号プロセス中に、ビデオデコーダ30は、符号化されたビデオフレームと、ビデオエンコーダ20などのビデオエンコーダからのコーディング情報を表すシンタックス要素とを含む符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数、動きベクトル、および他の予測シンタックスを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測ユニット81に動きベクトルと他の予測シンタックスとを転送する。ビデオデコーダ30はシンタックス要素を、ビデオブロックまたはPUレベル、ビデオスライスレベル、ビデオフレームレベルおよび/またはビデオシーケンスレベルにおいて受信し得る。
[0110]予測ユニット81のイントラ予測ユニット84は、シグナリングされたイントラ予測モードと現在のフレームの前に復号されたブロックからのデータとに基づいて、現在のビデオフレームのビデオブロックについての予測データを生成し得る。予測ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信した動きベクトルと予測シンタックスとに基づいて予測ブロックを生成する。予測ブロックは、第1の参照ピクチャリスト(リスト0)94および/または第2の参照ピクチャリスト(リスト1)96のうちの1つまたは複数から生成され得、それらの参照ピクチャリストは、参照ピクチャメモリ92に記憶された参照ピクチャのための識別子を含む。
[0111]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、ビデオブロックの符号化の間にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット82は、受信したシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
[0112]動き補償ユニット82は、動きベクトルと予測シンタックスとをパースすることによって現在のビデオブロックについての予測情報を決定し、当該予測情報使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。動き補償ユニット82は、現在のビデオフレームを復号するために、受信したシンタックス要素のいくつかを使用して、現在のフレームを符号化するために使用されるCUのサイズと、フレームの各CUがどのように分割されるのかを記述する分割情報と、各分割がどのように符号化されるのかを示すモード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、フレームのための1つまたは複数の参照ピクチャリストと、フレームの各インター符号化PUまたはCUのための動きベクトルと、フレームの各インター符号化PUまたはCUの動き予測方向と、他の情報とを決定する。
[0113]動き補償ユニット82は、GPBフレームが現在のビデオフレームに対して使用可能であるかまたは許可されるかどうかを判断するために、ビデオフレームレベルまたはビデオシーケンスレベルにおいてシンタックスをパースし得る。たとえば、動き補償ユニット82は、ビデオフレームレベルまたはビデオシーケンスレベルのいずれかにおいてシンタックス中で受信されるGPB使用可能フラグに基づいて、GPBフレームが使用可能であると判断し得る。GPB使用可能フラグは、図3に関して詳細に説明されており、GPBフレームが使用不能であること、全体的に使用可能であること、または部分的に使用可能であることを示すように定義され得る。動き補償ユニット82はまた、現在のビデオフレームについての参照ピクチャリスト情報を決定するために、ビデオスライスレベルまたはビデオフレームレベルにおいてシンタックスをパースし得る。ビデオデコーダ30は、次いで、シンタックスによって示される、参照ピクチャのための識別子を含むリスト0 94とリスト1 96とを記憶する。現在のビデオフレームがGPBフレームであるとき、リスト0 94とリスト1 96とは、同一の複数の参照ピクチャの識別子を含む。より詳細には、リスト0 94とリスト1 96との各々の中に含まれるピクチャの数は同一であり、リスト0 94中の各インデックスエントリによって示されるピクチャは、リスト1 96中の同じインデックスエントリによって示されるピクチャと同一である。
[0114]本開示の技法によれば、ビデオデコーダ30は、ビデオブロックについての予測情報をコーディングするコストを低減し得る。たとえば、単方向予測モードの場合、ビデオデコーダ30は、2ビット未満を使用して1つの参照ピクチャリスト中の1つの参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックがコーディングされることを示す、1つまたは複数のシンタックス要素を復号し得る。該参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、またはGPBフレームが使用可能であるとき、2つの同一の参照ピクチャリストのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオデコーダ30は、GPBフレームの1つまたは複数のビデオブロックの各々について2つの動きベクトルをジョイント復号し、2つの同一の参照ピクチャリストから計算される2つの動きベクトルを用いてビデオブロックの各々を復号し得る。その2つの動きベクトルは、同じ参照ピクチャまたは類似の参照ピクチャから計算され得る。
[0115]最初に、単方向予測の場合にビデオブロックについての予測情報をコーディングするコストを低減するための技法について説明する。動き補償ユニット82は、現在のビデオブロックの動き予測方向についての1つまたは複数のシンタックス要素をパースし得る。Bフレーム中のビデオブロックの動き予測方向についての従来のシンタックス要素、inter_pred_idcは、ブロックを符号化するために単方向予測モードが使用されるのか双方向予測モードが使用されるのかを示す第1のビットと、単方向予測のために使用される参照ピクチャリストを示す第2のビットとを含む。同一の参照ピクチャリストの場合、参照ピクチャリストのいずれも単方向予測モードのために互換的に使用され得るので、従来のシンタックス要素の第2のビットは冗長であり得る。
[0116]本開示の技法によれば、動き補償ユニット82は、参照ピクチャリスト中の参照ピクチャに関する単方向予測を使用して現在のビデオブロックが符号化されることを示す動き予測方向を示すシンタックス要素の低減ビットコーディングをパースし得る。現在のフレームがGPBフレームであると判断され、したがって、リスト0 94とリスト1 96とが同一であるとき、動き補償ユニット82は、単方向予測モードのために2つの同一の参照ピクチャリストのいずれも互換的に使用し得る。
[0117]動き補償ユニット82は、図3に関して説明した明示的にシグナリングされたGPBフレームフラグに基づいて、現在のビデオフレームがGPBフレームとして符号化されるかどうかを判断し得る。動き補償ユニット82は、ビデオスライスレベル、ビデオフレームレベル、またはビデオシーケンスレベルのいずれかにおいてGPBフレームフラグを受信し得る。そのGPBフレームフラグは、現在のビデオフレームがGPBフレームとして符号化され、よって、ビデオブロックの動き予測方向がシングルビットシンタックスで符号化されることをビデオデコーダ30に明示的に通知するために使用され得る。その明示的シグナリングにより、ビデオデコーダ30は、ビデオシーケンス復号の開始時にかかわらず、動き予測方向を判断するためにシングルビットシンタックス要素を正しくパースすることが可能になり得る。GPBフレームフラグに基づいて、ビデオデコーダ30は、フレームがGPBフレームであるときを常に気づき、動き予測方向についてのシングルビットシンタックスをパースすることを予期する。
[0118]他の場合には、動き補償ユニット82は、リスト0 94とリスト1 96とを比較し、リスト0 94とリスト1 96とが同一の参照ピクチャを含んでいるとき、現在のフレームがGPBフレームであると判断し得る。しかしながら、その2つの参照ピクチャリストは、復号中に参照ピクチャが追加または更新される前のビデオシーケンスの始めにビデオデコーダ30には同一にしか見えないことになる。したがって、暗黙的シグナリングは、ビデオデコーダ30がビデオシーケンスの始めに復号を開始した場合にのみ、シングルビットシンタックス要素の正しいパーシングが可能になり得る。そうでない場合、ビデオデコーダ30は、フレームがGPBフレームとして符号化されていることに気づかないことになり、動き予測方向についてのシングルビットシンタックスをパースすることを予期しないことになる。
[0119]GPBフレーム符号化の明示的または暗黙的通知は、GPBフレームがBスライスまたはPスライスとして符号化されるときに必要であり得る。他の場合には、動き補償ユニット82は、GPBフレームに対して定義された新しいスライスタイプに基づいて、現在のフレームがGPBフレームであることを判断し得、その新しいスライスタイプによって、GPBフレーム符号化の追加の明示的または暗黙的通知が不要になる。
[0120]一例では、GPBフレームのビデオブロックが単方向予測を使用して符号化されるのか双方向予測を使用して符号化されるのかを示すように定義されたシングルビットシンタックス要素、たとえば、bi_pred_flagを備えるGPBフレームに対して別個のシンタックスが定義され得る。シングルビットシンタックス要素の導入により、上記で説明した、従来のシンタックス要素、すなわち、inter_pred_idcとの混同が回避され得る。動き補償ユニット82は、GPBフレームの現在のビデオブロックが単方向予測を使用してコーディングされることを示すシングルビットシンタックス要素をパースし得る。同一の参照ピクチャリスト94、96のいずれも単方向予測モードのために使用され得るので、動き補償ユニット82は、単方向予測のためにいずれか一方の参照ピクチャリストを使用する。
[0121]別の例では、GPBフレームのビデオブロックが単方向予測モードを使用して符号化されるのか双方向予測モードを使用して符号化されるのかを示すためにシンタックス要素の第1のビットのみが使用されるGPBフレームに対して、従来のシンタックス要素、すなわち、inter_pred_idcのシングルビットモードが定義され得る。動き補償ユニット82は、ビデオブロックが単方向予測を使用して符号化されることを示すシンタックス要素の第1のビットのみについてシンタックス要素をパースし得る。動き補償ユニット82は、単方向予測のためにずれかの一方の参照ピクチャリストを使用する。
[0122]場合によっては、動き補償ユニット82は、参照ピクチャリスト中の参照ピクチャに関する単方向予測を使用して符号化される任意のタイプのインターコード化フレームのビデオブロックの動き予測方向を示すシンタックス要素に割り当てられた低減ビット値を復号し得る。ビデオフレームがBフレームに指定されるとき、参照ピクチャリストは、参照ピクチャリストのうち、単方向予測のための頻繁に使用される好適な参照ピクチャリストであり得る。ビデオフレームがGPBフレームに指定されるとき、参照ピクチャリストは、2つの同一の参照ピクチャリストのいずれかであり得る。
[0123]一例として、動き補償ユニット82は、ビデオエンコーダ20からのシンタックス中で動き予測方向を示すシンタックス要素の適応型2値化を受信し得る。動き補償ユニット82は、ビデオブロックまたはPUレベル、CUレベル、ビデオスライスレベル、ビデオフレームレベル、あるいはビデオシーケンスレベルのうちの1つにおいて適応型2値化を受信し得る。
[0124]受信した適応型2値化に従って、動き補償ユニット82は、動き予測方向を示すシンタックス要素の各ステータスを異なる2値化に適応的にリンクし得、したがって、シングルビット2値化が、好適参照ピクチャリスト中の1つの参照ピクチャに関する単方向予測モードにリンクされる。たとえば、動き補償ユニット82は、シングルビット2値化の0が好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表し、2値化の10が非好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表し、2値化の11が双方向予測モードを表すように、2値化を適応させ得る。場合によっては、動き補償ユニット82は、独立して、動き予測方向を示すシンタックス要素の各ステータスがどれくらいの頻度で発生するかに基づいて動き予測方向についてのシンタックス要素を適応的に2値化し得る。適応型2値化に基づいて、動き補償ユニット82は、現在のビデオブロックが好適参照リスト中の参照ピクチャに関する単方向予測モードを使用して符号化されていることを示すように定義されたシンタックス要素のシングルビット2値化を復号し得る。
[0125]別の例として、動き補償ユニット82は、現在のビデオブロックの動き予測方向についての従来のシンタックス要素、すなわち、inter_pred_idcを表すために割り当てられた値を受信し得る。動き補償ユニット82は、単方向予測モードを使用して現在のビデオブロックが符号化されていることを示すように定義されたシンタックス要素の第1のビットに割り当てられたシングルビット値を復号し得る。動き補償ユニット82は、次いで、単方向予測モードのために好適参照ピクチャリストが使用されることを示すように定義されたシンタックス要素の第2のビットに割り当てられた小数ビット値を復号し得る。第2のビットを表すために使用される小数ビット値は、構成データに従って好適参照ピクチャリストのほうへバイアスされた第2のビットの確率初期設定に基づき得る。確率が高いほど、シンタックス要素を表すために使用される値の長さがより短くなる。第2のビットが好適参照ピクチャリストを示す確率が高いと、第2のビットを小数ビット値、すなわち、1ビット未満によって表すことが可能になる。
[0126]次に、双方向予測の場合にビデオブロックについての予測情報をコーディングするコストを低減するための技法について説明する。ビデオデコーダ30は、ビデオエンコーダ20から受信したシンタックスから現在のビデオフレームのための動きベクトルを復号する。動きベクトルについての従来のシンタックス要素は、動きベクトルと動き予測子との間の差を示すように定義された第1のシンタックス要素、すなわち、mvdと、当該動き予測子が生成される参照ピクチャの参照ピクチャリスト中のインデックスを示すように定義された第2のシンタックス要素、すなわち、ref_idxとを含む。現在のビデオフレームがGPBフレームに指定され、したがって、リスト0 94とリスト1 96とが同一の参照ピクチャのための識別子を含むとき、第1の動きベクトルと第2の動きベクトルとは、同じ参照ピクチャまたは実質的に類似する参照ピクチャのいずれかを指し示す。したがって、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとは、高度に相関し、ジョイント符号化され得る。
[0127]本開示の技法の一例によれば、ビデオデコーダ30は、シンタックス要素に基づいてGPBフレームの現在のビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイント復号する。このようにして、動き補償ユニット82は、従来、動きベクトルを個別に復号するために使用されるシンタックス要素を低減するかまたは削除することによって、動きベクトルをシグナリングするために使用されるビットを低減し得る。
[0128]第1の動きベクトルは、従来、第1の動きベクトルと第1の動き予測子との間の差を示す第1のシンタックス要素、すなわち、mvdと、第1の動き予測子が生成された参照ピクチャのリスト0 94中のインデックスを示す第2のシンタックス要素、すなわち、ref_idxとに基づいて復号され得る。動き補償ユニット82は、第2のシンタックス要素によって識別されるビデオフレーム中の隣接ビデオブロックの動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成する。このようにして、ビデオデコーダ30は、第1のシンタックス要素に基づいて、第1の動き予測子に対してビデオブロックのための第1の動きベクトルを復号し得る。
[0129]第2の動きベクトルは、次いで、第1の動きベクトルに対して復号され得る。動き補償ユニット82は、隣接ビデオブロックからの第2の動きベクトルのための第2の動き予測子を生成しないことがあるが、代わりに第2の動き予測子として第1の動きベクトルを使用する。このようにして、ビデオデコーダ30は、第1の動きベクトルと第2の動きベクトルとの間の差に基づいて第2の動きベクトルを復号し得る。いくつかの例では、動き補償ユニット82は、第2の動きベクトルについてのいかなるシンタックス要素も受信しないことがある。他の例では、動き補償ユニット82は、第2の動きベクトルと第1の動きベクトルとの間の差を示すように定義された第1のシンタックス要素のみを受信し得る。
[0130]いくつかの例では、現在のブロックの動きベクトルのための動き予測子は、隣接ブロックの複数の動きベクトルから生成され得る。この場合、動き補償ユニット82は、隣接ビデオブロックの複数の候補動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成し得る。動き補償ユニット82はまた、第1の動きベクトルを含む複数の候補動きベクトルから、現在のビデオブロックの第2の動きベクトルのための第2の動き予測子を生成し得る。この場合、第2の動きベクトルは、依然として、第1の動きベクトルに対して復号され得るが、第1の動きベクトルに基づくことに限定するものではない。
[0131]現在のフレームがGPBフレームであり、したがって、第1の参照ピクチャリストと第2の参照ピクチャリストとが同一の参照ピクチャのための識別子を含むとき、動き予測子は、隣接ビデオブロックの動きベクトルとは異なるリストから生成され得る。たとえば、隣接ビデオブロックの動きベクトルがリスト0 94中の参照ピクチャをさし示す場合、動き補償ユニット82は、リスト0 94またはリスト1 96のいずれかの中の参照ピクチャから、現在のビデオブロックの動きベクトルのための第1の動き予測子を生成し得る。リスト0 94とリスト1 96とは、同じ順序で同一の複数の参照ピクチャを含むので、動き予測子が生成され、動きベクトルについての第2のシンタックス要素によって識別される参照ピクチャのインデックスは、両方の参照ピクチャリスト94、96の中の同じ参照ピクチャを参照する。
[0132]場合によっては、第1の動き予測子を生成するために使用される、隣接ビデオブロックの動きベクトルは、現在のビデオブロックの第1の動きベクトルとして、同じ参照ピクチャリスト、たとえば、リスト0 94中で利用可能でないことがある。本開示の技法によれば、隣接ビデオブロックの動きベクトルがリスト0 94中で利用可能でないとき、動き補償ユニット82は、リスト1 96から第1の動き予測子を計算し得る。これは、隣接ビデオブロックの動きベクトルが当初リスト1 96から復号され、リスト0 94に記憶されなかった場合に起こり得る。追加の解決策として、動き補償ユニット82は、各参照ピクチャリストから復号される動きベクトルを両方の参照ピクチャリストに記憶し得る。たとえば、動き補償ユニットが、GPBフレーム中の隣接ビデオブロックについて、リスト0 94から動きベクトルを復号するとき、動き補償ユニット82は、リスト0 94とリスト1 96の両方に当該動きベクトルを記憶し得る。このようにして、動き補償ユニット82は、常に、参照ピクチャリスト94、96のいずれかから、隣接ビデオブロックの動きベクトルのための動き予測子を生成し得る。
[0133]逆量子化ユニット86は、ビットストリームで供給され、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度、および同様に、適用されるべき逆量子化の程度を判断するために、各CUまたはビデオブロックについてビデオエンコーダ20によって計算される量子化パラメータQPYの使用を含み得る。逆変換ユニット88は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域における残差ブロックを生成する。
[0134]動き補償ユニット82が、動きベクトルと予測シンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号されたビデオブロックは、次いで、参照ピクチャメモリ92に記憶され、参照ピクチャメモリ92は、その後の動き補償のために参照ピクチャの参照ブロックを与える。参照ピクチャメモリ92はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での表示のために、復号されたビデオを生成する。
[0135]図5は、単方向予測モードを使用してGPBフレームのビデオブロックがコーディングされることを示すシングルビットシンタックス要素を符号化する例示的な動作を示すフローチャートである。図示の動作について、図3からのビデオエンコーダ20を参照しながら説明する。
[0136]ビデオエンコーダ20は、符号化されるべきビデオフレームのCUまたはビデオブロックを受信する。GPBフレームが現在のビデオフレームに対して使用可能であるかまたは許可された場合、ビデオエンコーダ20は、GPBフレームが使用可能であることを示すために、ビデオデコーダ30などのデコーダにGPB使用可能フラグをシグナリングする(98)。ビデオエンコーダ20は、ビデオフレームレベルまたはビデオシーケンスレベルのいずれかにおいて、シンタックス中でGPB使用可能フラグをシグナリングし得る。GPB使用可能フラグは、GPBフレームが使用不能であること、全体的に使用可能であること、または部分的に使用可能であることを示すように定義され得る。GPBフレームが全体的に使用可能であるとき、当初指定されたPフレームは、ブロックごとに1つまたは2つの動きベクトルを用いるGPBフレームとして扱われ得る。GPBフレームが部分的に使用可能であるとき、Pフレーム概念(concept)、Bフレーム概念、およびGPBフレーム概念は別個の概念として扱われ得る。
[0137]ビデオエンコーダ20は、次いで、GPBフレームとして現在のビデオフレームを符号化することを決定する(100)。場合によっては、ビデオエンコーダ20の動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中の1つまたは複数のビデオフレームをGPBフレームに指定し得る。他の場合には、動き推定ユニット42は、当初指定されたPフレームをGPBフレームとして符号化すべきかどうかを判断し得る。後者の場合は、GPBフレームが全体的に使用可能であるのか部分的に使用可能であるのかに依存し得る。
[0138]オプションで、ビデオエンコーダ20は、現在のビデオフレームがGPBフレームとして符号化されることを示すために、ビデオデコーダ30にGPBフレームフラグをシグナリングする(102)。ビデオエンコーダ20は、ビデオスライスレベル、ビデオフレームレベル、またはビデオシーケンスレベルのうちの1つにおいて、シンタックス中でGPBフレームフラグをシグナリングし得る。そのGPBフレームフラグは、シーケンス内の所与のフレームがGPBフレームとして符号化され、したがって、動き予測方向が低減ビットシンタックスで符号化されることをビデオデコーダ30に明示的に通知するために使用され得る。しかし、場合によっては、ビデオエンコーダ20は、GPBフレーム符号化を明示的にシグナリングしないことがある。その場合には、ビデオエンコーダ20は、参照ピクチャリストが同一であるとき、所与のフレームがGPBフレームとして符号化されることをビデオデコーダ30に暗黙的にシグナリングし得る。GPBフレーム符号化の明示的または暗黙的通知は、GPBフレームがBフレームまたはPフレームとして符号化されるときに必要であり得る。他の場合には、GPBフレームに対して新しいフレームまたはスライスタイプが定義され得、それにより、GPBフレーム符号化の追加の明示的または暗黙的通知が不要になる。
[0139]現在のビデオフレームがGPBフレームとして符号化さると判断されるとき、ビデオエンコーダ20は、同一の参照ピクチャのための識別子を含む、GPBフレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(104)。リスト0 66とリスト1 68とは同一の参照ピクチャを含むので、ビデオエンコーダ20の動き補償ユニット44は、単方向予測のために2つの同一の参照ピクチャリストのどちらかを互換的に使用し得る。
[0140]ビデオエンコーダ20は、参照ピクチャリストのいずれかの中の参照ピクチャに関する単方向予測を使用してGPBフレームの1つまたは複数のビデオブロックを符号化する(106)。本開示の技法によれば、動き補償ユニット44は、次いで、単方向予測を使用して符号化されるビデオブロックの各々の動き予測方向を表すためにシングルビットシンタックスを生成する。場合によっては、ビデオブロックが単方向予測を使用して符号化されるのか双方向予測を使用して符号化されるのかを示すように定義されたシングルビットシンタックス要素を備える、GPBフレームに対する別個のシンタックスが定義される(108)。シングルビットシンタックス要素の導入により、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示すように定義された第1のビットと、どの参照ピクチャリストが単方向予測のために使用されるのかを示すように定義された第2のビットとを含む従来のシンタックス要素との混同が回避され得る。
[0141]GPBフレームに対して別個のシンタックス要素が定義されているとき(108のYES分岐)、動き補償ユニット44は、シングルビットシンタックス要素を生成する。ビデオエンコーダ20は、単方向予測を使用してビデオブロックが符号化されることを示すために、ビデオブロックの各々についてシングルビットシンタックス要素を符号化する(110)。同一の参照ピクチャリストのいずれもが単方向予測のために使用され得るので、GPBフレームのビデオブロックを符号化するために参照ピクチャリストのどちらが使用されるのかを明示的にシグナリングする必要がない。
[0142]GPBフレームに対して別個のシンタックス要素が定義されていないとき(108のNO分岐)、動き補償ユニット44は、従来のシンタックス要素の第1のビットのみを生成し得る。ビデオエンコーダ20は、単方向予測を使用してビデオブロックが符号化されることを示すために、ビデオブロックの各々についてシンタックス要素の第1のビットのみを符号化する(112)。参照ピクチャリストのいずれもが単方向予測のために使用され得るので、動き補償ユニット44は、GPBフレームのビデオブロックについてのシンタックス要素の第2のビットを削除する(114)。いずれの場合も、ビデオエンコーダ20は、ブロックレベルまたはPUレベルにおいて、GPBフレームの各ビデオブロックについての動きベクトル情報とともに、動き予測方向についてのシングルビットシンタックスをビデオデコーダにシグナリングする。
[0143]図6は、単方向予測モードを使用してGPBフレームのビデオブロックがコーディングされることを示すシングルビットシンタックス要素を復号する例示的な動作を示すフローチャートである。図示の演算について、図4からのビデオデコーダ30を参照しながら説明する。
[0144]ビデオデコーダ30は、ビデオエンコーダ20などの対応するビデオエンコーダから、符号化されたビデオフレームとコーディング情報を表すシンタックス要素とを含むビットストリームを受信する(116)。ビデオデコーダ30は、ビデオブロックまたはPUレベル、ビデオスライスレベル、ビデオフレームレベルおよび/あるいはビデオシーケンスレベルにおいてシンタックス要素を受信し得る。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数、動きベクトル、および他の予測シンタックスを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測ユニット81の動き補償ユニット82に動きベクトルと他の予測シンタックスとを転送する。動き補償ユニット82は、次いで、GPBフレームが現在のビデオフレームに対して使用可能であるかまたは許可されると判断する(117)。動き補償ユニット82は、ビデオフレームレベルまたはビデオシーケンスレベルのいずれかにおいてシンタックスとともに受信されるGPB使用可能フラグに基づいて、GPBフレームが使用可能であると判断し得る。GPB使用可能フラグは、GPBフレームが使用不能であること、全体的に使用可能であること、または部分的に使用可能であることを示すように定義され得る。
[0145]ビデオデコーダ30は、ビデオフレームレベルにおいてシンタックスで示される、同一の参照ピクチャのための識別子を含む第1の参照ピクチャリスト(リスト0)94と第2の参照ピクチャリスト(リスト1)96とをメモリに記憶する(118)。動き補償ユニット82は、次いで、現在のビデオフレームがGPBフレームとして符号化されると判断する(120)。場合によっては、動き補償ユニット82は、ビデオスライスレベル、ビデオフレームレベル、またはビデオシーケンスレベルのいずれかにおいてシンタックス中で受信される、明示的にシグナリングされたGPBフレームフラグに基づいて、所与のフレームがGPBフレームであると判断し得る。他の場合には、第1の参照ピクチャリスト94と第2の参照ピクチャリスト96とが同一の参照ピクチャを含むとき、動き補償ユニット82は、所与のフレームがGPBフレームであると判断し得る。GPBフレーム符号化の明示的または暗黙的通知は、GPBフレームがBフレームまたはPフレームとして符号化されるときに必要であり得る。追加の場合には、動き補償ユニット82は、GPBフレームに対して定義された新しいフレームまたはスライスタイプに基づいて、所与のフレームがGPBフレームであると判断し得、その新しいフレームまたはスライスタイプによって、GPBフレーム符号化の追加の明示的または暗黙的通知が不要になる。
[0146]現在のフレームがGPBフレームであると判断されるとき、動き補償ユニット82は、単方向予測を使用して符号化されるGPBフレーム中の各ビデオブロックの動き予測方向がシングルビットシンタックスによって表され得ることに気づく。リスト0 94とリスト1 96とは同一の参照ピクチャを含むので、動き補償ユニット82は、単方向予測のために2つの同一の参照ピクチャリストのいずれをも互換的に使用し得る。
[0147]場合によっては、ビデオブロックが単方向予測を使用して符号化されるのか双方向予測を使用して符号化されるのかを示すように定義されたシングルビットシンタックス要素を備えるGPBフレームに対して別個のシンタックスが定義される(124)。シングルビットシンタックス要素の導入により、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示す第1のビットと、どの参照ピクチャリストが単方向予測のために使用されるのかを示す第2のビットとを含む従来のシンタックス要素との混同が回避され得る。
[0148]GPBフレームに対して別個のシンタックス要素が定義されているとき(124のYES分岐)、動き補償ユニット82は、単方向予測を使用してビデオブロックが符号化されることを示すシングルビットシンタックス要素をパースする(126)。同一の参照ピクチャリストのいずれもが単方向予測モードのために使用され得るので、動き補償ユニット82は、単方向予測のために参照ピクチャリストのうちの1つを使用する。GPBフレームに対して別個のシンタックス要素が定義されていないとき(122のNO分岐)、動き補償ユニット82は、単方向予測を使用してビデオブロックが符号化されることを示すシンタックス要素の第1のビットのみについてシンタックス要素をパースする(128)。動き補償ユニット82は、単方向予測モードのために参照ピクチャリストのいずれかを使用する。いずれの場合も、ビデオデコーダ30は、その後、好適参照ピクチャリストからの単方向予測を使用してGPBフレームの1つまたは複数のビデオブロックを復号する(130)。
[0149]図7は、2ビット未満を使用して参照ピクチャリストからの単方向予測モードを使用してビデオブロックがコーディングされることを示す1つまたは複数のシンタックス要素を符号化する例示的な動作を示すフローチャートである。図示の動作について、図3からのビデオエンコーダ20を参照しながら説明する。
[0150]ビデオエンコーダ20は、符号化されるべきビデオフレームのCUまたはビデオブロックを受信する。ビデオエンコーダ20は、次いで、現在のビデオフレームの符号化モードを判断する(132)。場合によっては、ビデオエンコーダ20の動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のビデオフレームをPフレームおよび/またはBフレームに指定し得る。場合によっては、GPBフレームが使用可能であり得、したがって、1つまたは複数のビデオフレームがGPBフレームに指定され得るか、または動き推定ユニット42は、当初指定されたPフレームをGPBフレームとして符号化することを判断し得る。
[0151]現在のビデオフレームがGPBフレームとして符号化さると判断されるとき(134のYES分岐)、ビデオエンコーダ20は、同一の参照ピクチャの識別子を含む、GPBフレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(136)。リスト0 66とリスト1 68とは同一の参照ピクチャを含むので、ビデオエンコーダ20の動き補償ユニット44は、単方向予測モードのために2つの同一の参照ピクチャリストのいずれもが好適参照ピクチャリストとして使用し得る。
[0152]現在のビデオフレームがPフレームまたはBフレームとして符号化さると判断されるとき(138のNO分岐)、ビデオエンコーダ20は、異なる参照ピクチャの識別子を含む、フレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(138)。従来、リスト0 66は、過去の参照ピクチャの識別子を含み、リスト1 68は、将来の参照ピクチャの識別子を含む。場合によっては、動き補償ユニット44は、2つの参照ピクチャリストのうちのどちらの参照ピクチャリストが単方向予測のための好適参照ピクチャリストを備えるかを判断する(139)。これは、Bフレームのための単方向予測が、ほとんどが、参照ピクチャリストのうちの一方よりも他方に基づいて実行される場合であり得る。たとえば、Pフレームと同様に、Bフレームのための単方向予測は、一般に、リスト0 66からの過去の参照ピクチャに基づいて実行され得る。その例では、動き補償ユニット44は、リスト0 66が好適参照ピクチャリストであると判断し得る。
[0153]ビデオエンコーダ20は、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用して現在のビデオフレームの1つまたは複数のビデオブロックを符号化する(140)。本開示の技法によれば、動き補償ユニット44は、次いで、ビデオブロックの各々の動き予測方向を示す1つまたは複数のシンタックス要素を生成する。ビデオエンコーダ20は、動き予測方向についてのシンタックス要素を表すための値を割り当てる。ビデオエンコーダ20は、次いで、ブロックレベルまたはPUレベルにおいて、現在のビデオフレームの各ビデオブロックについての動きベクトル情報とともに、動き予測方向についてのシンタックス要素に割り当てられた値をビデオデコーダにシグナリングする。
[0154]場合によっては、エントロピー符号化ユニット56は、各シンタックス要素を1ビットまたはバイナリビットのシーケンスに2値化し得る。動き予測方向についての従来のシンタックス要素は、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示す第1のビットと、どの参照ピクチャリストが単方向予測のために使用されるのかを示す第2のビットとを含む。従来、2値化の0は双方向予測を表し、2値化の10はリスト0からの単方向予測を表し、2値化の11はリスト1からの単方向予測を表す。
[0155]図示の例では、動き補償ユニット44は、好適参照ピクチャリストに関する単方向予測モードを示すシンタックス要素にシングルビット2値化を適応的にリンクする(142)。動き補償ユニット44は、動き予測方向を示すシンタックス要素の各ステータスがどのくらいの頻度で発生するかに基づいて2値化を適応させ得る。好適参照ピクチャリストからの単方向予測が他の予測モードよりも頻繁に使用されるとき、好適参照ピクチャリスト中の参照ピクチャからの単方向予測モードにシングルビット2値化0をリンクすることがより効率的であり得る。たとえば、リスト0が好適参照ピクチャリストである場合、動き補償ユニット44は、シングルビット2値化の0が、リスト0中の参照ピクチャに関する単方向予測モードを表し、2値化の10が、リスト1中の参照ピクチャに関する単方向予測モードを表し、2値化の11が、双方向予測モードを表すように、2値化を適応させ得る。
[0156]ビデオエンコーダ20は、次いで、ビデオデコーダ30などの対応するビデオデコーダに、動き予測方向を示すシンタックス要素の適応型2値化をシグナリングする(144)。動き補償ユニット44は、ビデオブロックまたはPUレベル、CUレベル、ビデオスライスレベル、ビデオフレームレベル、あるいはビデオシーケンスレベルのうちの1つにおいて2値化を適応させ、シグナリングし得る。
[0157]図8は、2ビット未満を使用して参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用してビデオブロックがコーディングされることを示す1つまたは複数のシンタックス要素を符号化する別の例示的な動作を示すフローチャートである。図示の動作について、図3からのビデオエンコーダ20を参照しながら説明する。
[0158]ビデオエンコーダ20は、符号化されるべきビデオフレームのCUまたはビデオブロックを受信する。ビデオエンコーダ20は、次いで、現在のビデオフレームの符号化モードを判断する(150)。場合によっては、ビデオエンコーダ20の動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のビデオフレームをPフレームおよび/またはBフレームに指定し得る。場合によっては、GPBフレームが使用可能であり得、したがって、1つまたは複数のビデオフレームがGPBフレームに指定され得るか、または動き推定ユニット42は、当初指定されたPフレームをGPBフレームとして符号化することを判断し得る。
[0159]現在のビデオフレームがGPBフレームとして符号化さると判断されるとき(152のYES分岐)、ビデオエンコーダ20は、同一の参照ピクチャの識別子を含む、GPBフレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(154)。リスト0 66とリスト1 68とは同一の参照ピクチャを含むので、ビデオエンコーダ20の動き補償ユニット44は、単方向予測モードのために2つの同一の参照ピクチャリストのいずれもを好適参照ピクチャリストとして使用し得る。
[0160]現在のビデオフレームがPフレームまたはBフレームとして符号化さると判断されるとき(152のNO分岐)、ビデオエンコーダ20は、異なる参照ピクチャの識別子を含む、フレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(156)。従来、リスト0 66は、過去の参照ピクチャの識別子を含み、リスト1 68は、将来の参照ピクチャの識別子を含む。場合によっては、動き補償ユニット44は、2つの参照ピクチャリストのうちのどちらの参照ピクチャリストが単方向予測のための好適参照ピクチャリストを備えるかを判断する(157)。これは、Bフレームのための単方向予測が、ほとんどが、参照ピクチャリストのうちの一方よりも他方に基づいて実行される場合であり得る。たとえば、Pフレームと同様に、Bフレームのための単方向予測は、一般に、リスト0 66からの過去の参照ピクチャに基づいて実行され得る。その例では、動き補償ユニット44は、リスト0 66が好適参照ピクチャリストであると判断し得る。
[0161]ビデオエンコーダ20は、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用して現在のビデオフレームの1つまたは複数のビデオブロックを符号化する(158)。本開示の技法によれば、動き補償ユニット44は、次いで、ビデオブロックの各々の動き予測方向を示す1つまたは複数のシンタックス要素を生成する。ビデオエンコーダ20は、動き予測方向についてのシンタックス要素を表すための値を割り当てる。ビデオエンコーダ20は、次いで、ブロックレベルまたはPUレベルにおいて、現在のビデオフレームの各ビデオブロックについての動きベクトル情報とともに、動き予測方向についてのシンタックス要素に割り当てられた値をビデオデコーダにシグナリングする。
[0162]動き予測方向についての従来のシンタックス要素は、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示す第1のビットと、どの参照ピクチャリストが単方向予測のために使用されるのかを示す第2のビットとを含む。各ビットについて、エントロピー符号化ユニット56は、コンテキストに基づいて当該ビットが1または0である確率を推定する。確率がより高くなると、シンタックス要素を符号化するために使用される値の長さがより短くなる。場合によっては、値は、小数ビット、すなわち、1ビット未満を備え得る。
[0163]図示の例では、動き補償ユニット44は、シンタックス要素の確率を好適参照ピクチャリストのほうへバイアスする構成データを参照する(160)。単方向予測モードの場合、参照ピクチャリストのうちの1つが単方向予測のために他の参照ピクチャリストよりも好適であるとき、シンタックス要素が好適参照ピクチャリストを示す確率を高くすることがより効率的であり得る。たとえば、動き補償ユニット44は、シンタックス要素の第2のビットの状態値を0に設定し、したがって、構成データによればそのビットが0である確率、すなわち、リスト0を示す確率は0.9999である。
[0164]ビデオエンコーダ20は、単方向予測モードを使用してビデオブロックが符号化されることを示すために、ビデオブロックの各々の動き予測方向についてのシンタックス要素の第1のビットにシングルビット値を割り当てる(162)。ビデオエンコーダ20は、次いで、単方向予測モードのために使用される好適参照ピクチャリストを示すために、ビデオブロックの各々の動き予測方向についてのシンタックス要素の第2のビットに小数ビット値を割り当てる(164)。
[0165]図9は、双方向予測を使用して符号化されたGPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイントコーディングする例示的な動作を示すフローチャートである。図示の動作について、図3からのビデオエンコーダ20と図4からのビデオデコーダ30の両方を参照しながら説明する。
[0166]最初に、図3からのビデオエンコーダ20を参照しながら、動きベクトルをジョイント符号化する動作について説明する。ビデオエンコーダ20は、符号化されるべきビデオフレームのCUまたはビデオブロックを受信する。ビデオエンコーダ20は、次いで、現在のビデオフレームがGPBフレームであると判断する(170)。場合によっては、ビデオエンコーダ20の動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中の1つまたは複数のビデオフレームをGPBフレームに指定し得る。他の場合には、動き推定ユニット42は、当初指定されたPフレームをGPBフレームとして符号化すべきかどうかを判断し得る。後者の場合は、GPBフレームが全体的に使用可能であるのか部分的に使用可能であるのかに依存し得る。
[0167]現在のビデオフレームがGPBフレームとして符号化さると判断されるとき、ビデオエンコーダ20は、同一の参照ピクチャの識別子を含む、GPBフレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(172)。双方向予測の場合、ビデオエンコーダ20の動き推定ユニット42は、GPBフレームの1つまたは複数のビデオブロックの各々について、リスト0 66から第1の動きベクトルを計算し、リスト1 68から第2の動きベクトルを計算する。ビデオエンコーダ20は、次いで、リスト0 66からの第1の動きベクトルとリスト1 68からの第2の動きベクトルとを用いる双方向予測を使用してGPBフレームの1つまたは複数のビデオブロックを符号化する(174)。
[0168]本開示の技法によれば、動き補償ユニット44は、双方向予測を使用して符号化されるビデオブロックの各々について動きベクトル情報をシグナリングするために使用されるビットを低減し得る。リスト0 66とリスト1 68とは同一の参照ピクチャを含むので、第1の動きベクトルと第2の動きベクトルとは、同じ参照ピクチャまたは実質的に類似する参照ピクチャのいずれかから計算される。したがって、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとは高度に相関し、その2つの動きベクトルをジョイント符号化することがより効率的である。
[0169] 動き補償ユニット44は、リスト0 66からの隣接ビデオブロックの動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成する(176)。ビデオエンコーダ20は、第1の動き予測子に対してビデオブロックのための第1の動きベクトルを符号化する(178)。第1の動きベクトルは、従来、第1の動きベクトルと第1の動き予測子との間の差を示すように定義された第1のシンタックス要素と、第1の動き予測子が生成された参照ピクチャのリスト0 66中のインデックスを示すように定義された第2のシンタックス要素として符号化され得る。
[0170]ビデオエンコーダ20は、次いで、第1の動きベクトルに対して、ビデオブロックのための第2の動きベクトルを符号化する(180)。動き補償ユニット44は、従来、第2の動きベクトルを表すために使用されるシンタックス要素を低減するかまたは削除し得る。このようにして、第2の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の差として符号化され得る。ビデオエンコーダ20は、ブロックレベルまたはPUレベルにおいて、GPBフレームの各ビデオブロックについての他の予測シンタックスとともに、ジョイントコーディングされた動きベクトルをビデオデコーダにシグナリングする。
[0171]次に、動きベクトルをジョイント復号する動作について説明する。ビデオデコーダ30は、ビデオエンコーダ20などの対応するビデオエンコーダから、符号化されたビデオフレームとコーディング情報を表すシンタックス要素とを含むビットストリームを受信する。ビデオデコーダ30は、ビデオブロックまたはPUレベル、ビデオスライスレベル、ビデオフレームレベルおよび/あるいはビデオシーケンスレベルにおいてシンタックス要素を受信し得る。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数、動きベクトル、および他の予測シンタックスを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測ユニット81の動き補償ユニット82に動きベクトルと他の予測シンタックスとを転送する。
[0172]動き補償ユニット82は、次いで、現在のビデオフレームがGPBフレームであると判断する(170)。場合によっては、動き補償ユニット82は、ビデオスライスレベル、ビデオフレームレベル、またはビデオシーケンスレベルのいずれかにおいてシンタックス中で受信される、明示的にシグナリングされたGPBフレームフラグに基づいて、所与のフレームがGPBフレームであると判断し得る。他の場合には、ビデオフレームレベルにおいてシンタックス中で受信した第1の参照ピクチャリストと第2の参照ピクチャリストとが同一の参照ピクチャを含むとき、動き補償ユニット82は、所与のフレームがGPBフレームであると判断し得る。さらなる場合には、動き補償ユニット82は、GPBフレームに対して定義された新しいフレームまたはスライスタイプに基づいて、所与のフレームがGPBフレームであると判断し得る。
[0173]ビデオデコーダ30は、ビデオフレームレベルにおいてシンタックスで示される、同一の参照ピクチャの識別子を含む第1の参照ピクチャリスト(リスト0)94と第2の参照ピクチャリスト(リスト1)96とをメモリに記憶する(172)。双方向予測の場合、ビデオエンコーダ30は、リスト0 94からの第1の動きベクトルとリスト1 96からの第2の動きベクトルとを用いる双方向予測を使用して、GPBフレームの1つまたは複数のビデオブロックを復号する(174)。
[0174]本開示の技法によれば、ビデオデコーダ30は、ビデオブロックまたはPUレベルにおいて受信されるシンタックス要素に基づいてGPBフレームのビデオブロックを復号するために使用される第1の動きベクトルと第2の動きベクトルとをジョイント復号する。第1の動きベクトルは、従来、第1の動きベクトルと第1の動き予測子との間の差を示す第1のシンタックス要素と、第1の動き予測子が生成された参照ピクチャのリスト0 94中のインデックスを示す第2のシンタックス要素とに基づいて復号され得る。動き補償ユニット82は、第2のシンタックス要素によって識別される隣接ビデオブロックの動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成する(176)。ビデオデコーダ30は、第1のシンタックス要素に基づいて、第1の動き予測子に対してビデオブロックのための第1の動きベクトルを復号する(178)。
[0175]ビデオデコーダ30は、次いで、第1の動きベクトルに対して、ビデオブロックのための第2の動きベクトルを復号する(180)。動き補償ユニット82は、従来、第2の動きベクトル復号するために使用されるシンタックス要素を低減するかまたは削除し得る。このようにして、第2の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の差に基づいて復号され得る。
[0176]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0177]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0178]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
[0179]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示した技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0179]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示した技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]ビデオデータをコーディングする方法であって、
第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶することと、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとは同一であり、
前記第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと前記第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測を使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングすることと、
前記ビデオブロックのための前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることと、
を備える方法。
[2]前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることは、前記第1の動きベクトルと前記第2の動きベクトルとが同じ参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることを備える、[1]に記載の方法。
[3]前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることは、前記第1の動きベクトルと前記第2の動きベクトルとが実質的に類似する参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることを備える、[1]に記載の方法。
[4]前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることは、
隣接ビデオブロックの動きベクトルから生成された第1の動き予測子に対して前記第1の動きベクトルをコーディングすることと、
前記第1の動きベクトルに対して前記第2の動きベクトルをコーディングすることと、
を備える、[1]に記載の方法。
[5]隣接ビデオブロックの1つまたは複数の候補動きベクトルから前記第1の動きベクトルのための前記第1の動き予測子を生成することと、
前記第1の動きベクトルを含む1つまたは複数の候補動きベクトルから前記第2の動きベクトルのための第2の動き予測子を生成することと、
をさらに備える、[4]に記載の方法。
[6]前記第1の動きベクトルと前記第2の動きベクトルとが異なる参照ピクチャをさし示すとき、前記第2の動きベクトルのための第2の動き予測子として前記第1の動きベクトルを使用する前に、前記第1の動きベクトルと前記第2の動きベクトルとの間の時間距離に従って前記第1の動きベクトルをスケーリングすることをさらに備える、[4]に記載の方法。
[7]前記第1の動きベクトルをコーディングすることは、前記第1の動きベクトルと前記第1の動き予測子との間の差を示すように定義された第1のシンタックス要素をコーディングすることと、前記第1の動き予測子が生成された前記参照ピクチャの前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの1つの中のインデックスを示すように定義された第2のシンタックス要素をコーディングすることと、を備え、
前記第2の動きベクトルをコーディングすることは、前記第2の動きベクトルと前記第1の動きベクトルとの間の差をコーディングすることを備える、[4]に記載の方法。
[8]前記隣接ビデオブロックの前記動きベクトルは、前記第1の参照ピクチャリスト中の参照ピクチャをさし示し、
前記第1の参照ピクチャリストまたは前記第2の参照ピクチャリストのいずれかの中の前記参照ピクチャから前記第1の動き予測子を生成することをさらに備える、[4]に記載の方法。
[9]前記隣接ビデオブロックの前記動きベクトルが前記第1の参照ピクチャリストから利用可能でないとき、前記第2の参照ピクチャリスト中の前記参照ピクチャから前記第1の動き予測子を生成することをさらに備える、[8]に記載の方法。
[10]前記第1の参照ピクチャリスト中の前記参照ピクチャからの前記動きベクトルを用いる単方向予測モードを使用して前記隣接ビデオブロックをコーディングすることと、
前記第1の参照ピクチャリストと前記第2の参照ピクチャリストの両方に前記動きベクトルについてのデータを記憶することと、
をさらに備える、[8]に記載の方法。
[11]第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶するメモリと、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとは同一であり、
前記第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと前記第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測を使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングし、前記ビデオブロックのための前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングするプロセッサと、
を備える、ビデオコーディングデバイス。
[12]前記プロセッサは、前記第1の動きベクトルと前記第2の動きベクトルとが同じ参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする、[11]に記載のビデオコーディングデバイス。
[13]前記プロセッサは、前記第1の動きベクトルと前記第2の動きベクトルとが実質的に類似する参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする、[11]に記載のビデオコーディングデバイス。
[14]前記プロセッサは、
隣接ビデオブロックの動きベクトルから生成された第1の動き予測子に対して前記第1の動きベクトルをコーディングし、
前記第1の動きベクトルに対して前記第2の動きベクトルをコーディングする、[11]に記載のビデオコーディングデバイス。
[15]前記プロセッサは、
隣接ビデオブロックの1つまたは複数の候補動きベクトルから前記第1の動きベクトルのための前記第1の動き予測子を生成し、
前記第1の動きベクトルを含む1つまたは複数の候補動きベクトルから前記第2の動きベクトルのための第2の動き予測子を生成する、
[14]に記載のビデオコーディングデバイス。
[16]前記第1の動きベクトルと前記第2の動きベクトルとが異なる参照ピクチャをさし示すとき、前記プロセッサは、前記第2の動きベクトルのための第2の動き予測子として前記第1の動きベクトルを使用する前に、前記第1の動きベクトルと前記第2の動きベクトルとの間の時間距離に従って前記第1の動きベクトルをスケーリングする、[14]に記載のビデオコーディングデバイス。
[17]前記プロセッサは、
前記第1の動きベクトルと前記第1の動き予測子との間の差を示すように定義された第1のシンタックス要素として前記第1の動きベクトルをコーディングし、前記第1の動き予測子が生成された前記参照ピクチャの前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの1つの中のインデックスを示すように定義された第2のシンタックス要素をコーディングし、
前記第2の動きベクトルと前記第1の動きベクトルとの間の差として前記第2の動きベクトルをコーディングする、
[14]に記載のビデオコーディングデバイス。
[18]前記隣接ビデオブロックの前記動きベクトルは、前記第1の参照ピクチャリスト中の参照ピクチャをさし示し、前記プロセッサは、前記第1の参照ピクチャリストまたは前記第2の参照ピクチャリストのいずれかの中の前記参照ピクチャから前記第1の動き予測子を生成する、[14]に記載のビデオコーディングデバイス。
[19]前記プロセッサは、前記隣接ビデオブロックの前記動きベクトルが前記第1の参照ピクチャリストから利用可能でないとき、前記第2の参照ピクチャリスト中の前記参照ピクチャから前記第1の動き予測子を生成する、[18]に記載のビデオコーディングデバイス。
[20]前記プロセッサは、
前記第1の参照ピクチャリスト中の前記参照ピクチャからの前記動きベクトルを用いる単方向予測モードを使用して前記隣接ビデオブロックをコーディングし、
前記第1の参照ピクチャリストと前記第2の参照ピクチャリストの両方に前記動きベクトルについてのデータを記憶する、
[18]に記載のビデオコーディングデバイス。
[21]第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶する手段と、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとは同一であり、
前記第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと前記第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測モードを使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングする手段と、
前記ビデオブロックのための前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段と、
を備える、ビデオコーディングデバイス。
[22]前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段は、前記第1の動きベクトルと前記第2の動きベクトルとが同じ参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段を備える、[21]に記載のビデオコーディングデバイス。
[23]前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段は、前記第1の動きベクトルと前記第2の動きベクトルとが実質的に類似する参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段を備える、[21]に記載のビデオコーディングデバイス。
[24]隣接ビデオブロックの動きベクトルから生成された第1の動き予測子に対して前記第1の動きベクトルをコーディングする手段と、
前記第1の動きベクトルに対して前記第2の動きベクトルをコーディングする手段と、
をさらに備える、[21]に記載のビデオコーディングデバイス。
[25]隣接ビデオブロックの1つまたは複数の候補動きベクトルから前記第1の動きベクトルのための前記第1の動き予測子を生成する手段と、
前記第1の動きベクトルを含む1つまたは複数の候補動きベクトルから前記第2の動きベクトルのための第2の動き予測子を生成する手段と、
をさらに備える、[24]に記載のビデオコーディングデバイス。
[26]前記第1の動きベクトルと前記第2の動きベクトルとが異なる参照ピクチャをさし示すとき、前記第2の動きベクトルのための第2の動き予測子として前記第1の動きベクトルを使用する前に、前記第1の動きベクトルと前記第2の動きベクトルとの間の時間距離に従って前記第1の動きベクトルをスケーリングする手段をさらに備える、[24]に記載のビデオコーディングデバイス。
[27]前記第1の動きベクトルと前記第1の動き予測子との間の差を示すように定義された第1のシンタックス要素として前記第1の動きベクトルをコーディングし、前記第1の動き予測子が生成された前記参照ピクチャの前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの1つの中のインデックスを示すように定義された第2のシンタックス要素をコーディングする手段と、
前記第2の動きベクトルと前記第1の動きベクトルとの間の差として前記第2の動きベクトルをコーディングする手段と、
をさらに備える、[24]に記載のビデオコーディングデバイス。
[28]前記隣接ビデオブロックの前記動きベクトルは、前記第1の参照ピクチャリスト中の参照ピクチャをさし示し、
前記第1の参照ピクチャリストまたは前記第2の参照ピクチャリストのいずれかの中の前記参照ピクチャから前記第1の動き予測子を生成する手段をさらに備える、[24]に記載のビデオコーディングデバイス。
[29]前記隣接ビデオブロックの前記動きベクトルが前記第1の参照ピクチャリストから利用可能でないとき、前記第2の参照ピクチャリスト中の前記参照ピクチャから前記第1の動き予測子を生成する手段をさらに備える、[28]に記載のビデオコーディングデバイス。
[30]前記第1の参照ピクチャリスト中の前記参照ピクチャからの前記動きベクトルを用いる単方向予測モードを使用して前記隣接ビデオブロックをコーディングする手段と、
前記第1の参照ピクチャリストと前記第2の参照ピクチャリストの両方に前記動きベクトルについてのデータを記憶する手段と、
をさらに備える、[28]に記載のビデオコーディングデバイス。
[31]プロセッサ中で実行されると、前記プロセッサに、
第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶させ、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとは同一であり、
前記第1の参照ピクチャリストからの第1の動きベクトルと前記第2の参照ピクチャリストからの第2の動きベクトルとを用いる双方向予測を使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングさせ、
前記ビデオブロックのための前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングさせる
ビデオデータをコーディングするための命令を備える、コンピュータ可読記憶媒体。
[32]前記命令は、前記プロセッサに、前記第1の動きベクトルと前記第2の動きベクトルとが同じ参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングさせる、[31]に記載のコンピュータ可読記憶媒体。
[33]前記命令は、前記プロセッサに、前記第1の動きベクトルと前記第2の動きベクトルとが実質的に類似する参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングさせる、[31]に記載のコンピュータ可読記憶媒体。
[34]前記命令は、前記プロセッサに、
隣接ビデオブロックの動きベクトルから生成された第1の動き予測子に対して前記第1の動きベクトルをコーディングさせ、
前記第1の動きベクトルに対して前記第2の動きベクトルをコーディングさせる、
[31]に記載のコンピュータ可読記憶媒体。
[35]前記プロセッサに、
隣接ビデオブロックの1つまたは複数の候補動きベクトルから前記第1の動きベクトルのための前記第1の動き予測子を生成させ、
前記第1の動きベクトルを含む1つまたは複数の候補動きベクトルから前記第2の動きベクトルのための第2の動き予測子を生成させる、
命令をさらに備える、[34]に記載のコンピュータ可読記憶媒体。
[36]前記第1の動きベクトルと前記第2の動きベクトルとが異なる参照ピクチャをさし示すとき、前記プロセッサに、前記第2の動きベクトルのための第2の動き予測子として前記第1の動きベクトルを使用する前に、前記第1の動きベクトルと前記第2の動きベクトルとの間の時間距離に従って前記第1の動きベクトルを前記プロセッサにスケーリングさせる命令をさらに備える、[34]に記載のコンピュータ可読記憶媒体。
[37]前記命令は、前記プロセッサに、
前記第1の動きベクトルと前記第1の動き予測子との間の差を示すように定義された第1のシンタックス要素として前記第1の動きベクトルをコーディングさせ、前記第1の動き予測子が生成された前記参照ピクチャの前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの1つの中のインデックスを示すように定義された第2のシンタックス要素をコーディングさせ、
前記第2の動きベクトルと前記第1の動きベクトルとの間の差として前記第2の動きベクトルをコーディングさせる、
[34]に記載のコンピュータ可読記憶媒体。
[38]前記隣接ビデオブロックの前記動きベクトルは、前記第1の参照ピクチャリスト中の参照ピクチャをさし示し、
前記プロセッサに、前記第1の参照ピクチャリストまたは前記第2の参照ピクチャリストのいずれかの中の前記参照ピクチャから前記第1の動き予測子を生成させる命令をさらに備える、[34]に記載のコンピュータ可読記憶媒体。
[39]前記プロセッサに、前記隣接ビデオブロックの前記動きベクトルが前記第1の参照ピクチャリストから利用可能でないとき、前記第2の参照ピクチャリスト中の前記参照ピクチャから前記第1の動き予測子を生成させる命令をさらに備える、[38]に記載のコンピュータ可読記憶媒体。
[40]前記プロセッサに、
前記第1の参照ピクチャリスト中の前記参照ピクチャからの前記動きベクトルを用いる単方向予測モードを使用して前記隣接ビデオブロックをコーディングさせ、
前記第1の参照ピクチャリストと前記第2の参照ピクチャリストの両方に前記動きベクトルについてのデータを記憶させる
命令をさらに備える、[38]に記載のコンピュータ可読記憶媒体。

Claims (40)

  1. ビデオデータをコーディングする方法であって、
    第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶することと、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとは同一であり、
    前記第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと前記第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測を使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングすることと、
    前記ビデオブロックのための前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることと、
    を備える方法。
  2. 前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることは、前記第1の動きベクトルと前記第2の動きベクトルとが同じ参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることを備える、請求項1に記載の方法。
  3. 前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることは、前記第1の動きベクトルと前記第2の動きベクトルとが実質的に類似する参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることを備える、請求項1に記載の方法。
  4. 前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングすることは、
    隣接ビデオブロックの動きベクトルから生成された第1の動き予測子に対して前記第1の動きベクトルをコーディングすることと、
    前記第1の動きベクトルに対して前記第2の動きベクトルをコーディングすることと、
    を備える、請求項1に記載の方法。
  5. 隣接ビデオブロックの1つまたは複数の候補動きベクトルから前記第1の動きベクトルのための前記第1の動き予測子を生成することと、
    前記第1の動きベクトルを含む1つまたは複数の候補動きベクトルから前記第2の動きベクトルのための第2の動き予測子を生成することと、
    をさらに備える、請求項4に記載の方法。
  6. 前記第1の動きベクトルと前記第2の動きベクトルとが異なる参照ピクチャをさし示すとき、前記第2の動きベクトルのための第2の動き予測子として前記第1の動きベクトルを使用する前に、前記第1の動きベクトルと前記第2の動きベクトルとの間の時間距離に従って前記第1の動きベクトルをスケーリングすることをさらに備える、請求項4に記載の方法。
  7. 前記第1の動きベクトルをコーディングすることは、前記第1の動きベクトルと前記第1の動き予測子との間の差を示すように定義された第1のシンタックス要素をコーディングすることと、前記第1の動き予測子が生成された前記参照ピクチャの前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの1つの中のインデックスを示すように定義された第2のシンタックス要素をコーディングすることと、を備え、
    前記第2の動きベクトルをコーディングすることは、前記第2の動きベクトルと前記第1の動きベクトルとの間の差をコーディングすることを備える、請求項4に記載の方法。
  8. 前記隣接ビデオブロックの前記動きベクトルは、前記第1の参照ピクチャリスト中の参照ピクチャをさし示し、
    前記第1の参照ピクチャリストまたは前記第2の参照ピクチャリストのいずれかの中の前記参照ピクチャから前記第1の動き予測子を生成することをさらに備える、請求項4に記載の方法。
  9. 前記隣接ビデオブロックの前記動きベクトルが前記第1の参照ピクチャリストから利用可能でないとき、前記第2の参照ピクチャリスト中の前記参照ピクチャから前記第1の動き予測子を生成することをさらに備える、請求項8に記載の方法。
  10. 前記第1の参照ピクチャリスト中の前記参照ピクチャからの前記動きベクトルを用いる単方向予測モードを使用して前記隣接ビデオブロックをコーディングすることと、
    前記第1の参照ピクチャリストと前記第2の参照ピクチャリストの両方に前記動きベクトルについてのデータを記憶することと、
    をさらに備える、請求項8に記載の方法。
  11. 第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶するメモリと、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとは同一であり、
    前記第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと前記第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測を使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングし、前記ビデオブロックのための前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングするプロセッサと、
    を備える、ビデオコーディングデバイス。
  12. 前記プロセッサは、前記第1の動きベクトルと前記第2の動きベクトルとが同じ参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする、請求項11に記載のビデオコーディングデバイス。
  13. 前記プロセッサは、前記第1の動きベクトルと前記第2の動きベクトルとが実質的に類似する参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする、請求項11に記載のビデオコーディングデバイス。
  14. 前記プロセッサは、
    隣接ビデオブロックの動きベクトルから生成された第1の動き予測子に対して前記第1の動きベクトルをコーディングし、
    前記第1の動きベクトルに対して前記第2の動きベクトルをコーディングする、
    請求項11に記載のビデオコーディングデバイス。
  15. 前記プロセッサは、
    隣接ビデオブロックの1つまたは複数の候補動きベクトルから前記第1の動きベクトルのための前記第1の動き予測子を生成し、
    前記第1の動きベクトルを含む1つまたは複数の候補動きベクトルから前記第2の動きベクトルのための第2の動き予測子を生成する、
    請求項14に記載のビデオコーディングデバイス。
  16. 前記第1の動きベクトルと前記第2の動きベクトルとが異なる参照ピクチャをさし示すとき、前記プロセッサは、前記第2の動きベクトルのための第2の動き予測子として前記第1の動きベクトルを使用する前に、前記第1の動きベクトルと前記第2の動きベクトルとの間の時間距離に従って前記第1の動きベクトルをスケーリングする、請求項14に記載のビデオコーディングデバイス。
  17. 前記プロセッサは、
    前記第1の動きベクトルと前記第1の動き予測子との間の差を示すように定義された第1のシンタックス要素として前記第1の動きベクトルをコーディングし、前記第1の動き予測子が生成された前記参照ピクチャの前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの1つの中のインデックスを示すように定義された第2のシンタックス要素をコーディングし、
    前記第2の動きベクトルと前記第1の動きベクトルとの間の差として前記第2の動きベクトルをコーディングする、
    請求項14に記載のビデオコーディングデバイス。
  18. 前記隣接ビデオブロックの前記動きベクトルは、前記第1の参照ピクチャリスト中の参照ピクチャをさし示し、前記プロセッサは、前記第1の参照ピクチャリストまたは前記第2の参照ピクチャリストのいずれかの中の前記参照ピクチャから前記第1の動き予測子を生成する、請求項14に記載のビデオコーディングデバイス。
  19. 前記プロセッサは、前記隣接ビデオブロックの前記動きベクトルが前記第1の参照ピクチャリストから利用可能でないとき、前記第2の参照ピクチャリスト中の前記参照ピクチャから前記第1の動き予測子を生成する、請求項18に記載のビデオコーディングデバイス。
  20. 前記プロセッサは、
    前記第1の参照ピクチャリスト中の前記参照ピクチャからの前記動きベクトルを用いる単方向予測モードを使用して前記隣接ビデオブロックをコーディングし、
    前記第1の参照ピクチャリストと前記第2の参照ピクチャリストの両方に前記動きベクトルについてのデータを記憶する、
    請求項18に記載のビデオコーディングデバイス。
  21. 第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶する手段と、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとは同一であり、
    前記第1の参照ピクチャリスト中の参照ピクチャからの第1の動きベクトルと前記第2の参照ピクチャリスト中の参照ピクチャからの第2の動きベクトルとを用いる双方向予測モードを使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングする手段と、
    前記ビデオブロックのための前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段と、
    を備える、ビデオコーディングデバイス。
  22. 前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段は、前記第1の動きベクトルと前記第2の動きベクトルとが同じ参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段を備える、請求項21に記載のビデオコーディングデバイス。
  23. 前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段は、前記第1の動きベクトルと前記第2の動きベクトルとが実質的に類似する参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングする手段を備える、請求項21に記載のビデオコーディングデバイス。
  24. 隣接ビデオブロックの動きベクトルから生成された第1の動き予測子に対して前記第1の動きベクトルをコーディングする手段と、
    前記第1の動きベクトルに対して前記第2の動きベクトルをコーディングする手段と、
    をさらに備える、請求項21に記載のビデオコーディングデバイス。
  25. 隣接ビデオブロックの1つまたは複数の候補動きベクトルから前記第1の動きベクトルのための前記第1の動き予測子を生成する手段と、
    前記第1の動きベクトルを含む1つまたは複数の候補動きベクトルから前記第2の動きベクトルのための第2の動き予測子を生成する手段と、
    をさらに備える、請求項24に記載のビデオコーディングデバイス。
  26. 前記第1の動きベクトルと前記第2の動きベクトルとが異なる参照ピクチャをさし示すとき、前記第2の動きベクトルのための第2の動き予測子として前記第1の動きベクトルを使用する前に、前記第1の動きベクトルと前記第2の動きベクトルとの間の時間距離に従って前記第1の動きベクトルをスケーリングする手段をさらに備える、請求項24に記載のビデオコーディングデバイス。
  27. 前記第1の動きベクトルと前記第1の動き予測子との間の差を示すように定義された第1のシンタックス要素として前記第1の動きベクトルをコーディングし、前記第1の動き予測子が生成された前記参照ピクチャの前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの1つの中のインデックスを示すように定義された第2のシンタックス要素をコーディングする手段と、
    前記第2の動きベクトルと前記第1の動きベクトルとの間の差として前記第2の動きベクトルをコーディングする手段と、
    をさらに備える、請求項24に記載のビデオコーディングデバイス。
  28. 前記隣接ビデオブロックの前記動きベクトルは、前記第1の参照ピクチャリスト中の参照ピクチャをさし示し、
    前記第1の参照ピクチャリストまたは前記第2の参照ピクチャリストのいずれかの中の前記参照ピクチャから前記第1の動き予測子を生成する手段をさらに備える、請求項24に記載のビデオコーディングデバイス。
  29. 前記隣接ビデオブロックの前記動きベクトルが前記第1の参照ピクチャリストから利用可能でないとき、前記第2の参照ピクチャリスト中の前記参照ピクチャから前記第1の動き予測子を生成する手段をさらに備える、請求項28に記載のビデオコーディングデバイス。
  30. 前記第1の参照ピクチャリスト中の前記参照ピクチャからの前記動きベクトルを用いる単方向予測モードを使用して前記隣接ビデオブロックをコーディングする手段と、
    前記第1の参照ピクチャリストと前記第2の参照ピクチャリストの両方に前記動きベクトルについてのデータを記憶する手段と、
    をさらに備える、請求項28に記載のビデオコーディングデバイス。
  31. プロセッサ中で実行されると、前記プロセッサに、
    第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶させ、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとは同一であり、
    前記第1の参照ピクチャリストからの第1の動きベクトルと前記第2の参照ピクチャリストからの第2の動きベクトルとを用いる双方向予測を使用して、一般化P/B(GPB)フレームに指定されたビデオフレームのビデオブロックをコーディングさせ、
    前記ビデオブロックのための前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングさせる
    ビデオデータをコーディングするための命令を備える、コンピュータ可読記憶媒体。
  32. 前記命令は、前記プロセッサに、前記第1の動きベクトルと前記第2の動きベクトルとが同じ参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングさせる、請求項31に記載のコンピュータ可読記憶媒体。
  33. 前記命令は、前記プロセッサに、前記第1の動きベクトルと前記第2の動きベクトルとが実質的に類似する参照ピクチャをさし示すとき、前記第1の動きベクトルと前記第2の動きベクトルとをジョイントコーディングさせる、請求項31に記載のコンピュータ可読記憶媒体。
  34. 前記命令は、前記プロセッサに、
    隣接ビデオブロックの動きベクトルから生成された第1の動き予測子に対して前記第1の動きベクトルをコーディングさせ、
    前記第1の動きベクトルに対して前記第2の動きベクトルをコーディングさせる、
    請求項31に記載のコンピュータ可読記憶媒体。
  35. 前記プロセッサに、
    隣接ビデオブロックの1つまたは複数の候補動きベクトルから前記第1の動きベクトルのための前記第1の動き予測子を生成させ、
    前記第1の動きベクトルを含む1つまたは複数の候補動きベクトルから前記第2の動きベクトルのための第2の動き予測子を生成させる、
    命令をさらに備える、請求項34に記載のコンピュータ可読記憶媒体。
  36. 前記第1の動きベクトルと前記第2の動きベクトルとが異なる参照ピクチャをさし示すとき、前記プロセッサに、前記第2の動きベクトルのための第2の動き予測子として前記第1の動きベクトルを使用する前に、前記第1の動きベクトルと前記第2の動きベクトルとの間の時間距離に従って前記第1の動きベクトルを前記プロセッサにスケーリングさせる命令をさらに備える、請求項34に記載のコンピュータ可読記憶媒体。
  37. 前記命令は、前記プロセッサに、
    前記第1の動きベクトルと前記第1の動き予測子との間の差を示すように定義された第1のシンタックス要素として前記第1の動きベクトルをコーディングさせ、前記第1の動き予測子が生成された前記参照ピクチャの前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの1つの中のインデックスを示すように定義された第2のシンタックス要素をコーディングさせ、
    前記第2の動きベクトルと前記第1の動きベクトルとの間の差として前記第2の動きベクトルをコーディングさせる、
    請求項34に記載のコンピュータ可読記憶媒体。
  38. 前記隣接ビデオブロックの前記動きベクトルは、前記第1の参照ピクチャリスト中の参照ピクチャをさし示し、
    前記プロセッサに、前記第1の参照ピクチャリストまたは前記第2の参照ピクチャリストのいずれかの中の前記参照ピクチャから前記第1の動き予測子を生成させる命令をさらに備える、請求項34に記載のコンピュータ可読記憶媒体。
  39. 前記プロセッサに、前記隣接ビデオブロックの前記動きベクトルが前記第1の参照ピクチャリストから利用可能でないとき、前記第2の参照ピクチャリスト中の前記参照ピクチャから前記第1の動き予測子を生成させる命令をさらに備える、請求項38に記載のコンピュータ可読記憶媒体。
  40. 前記プロセッサに、
    前記第1の参照ピクチャリスト中の前記参照ピクチャからの前記動きベクトルを用いる単方向予測モードを使用して前記隣接ビデオブロックをコーディングさせ、
    前記第1の参照ピクチャリストと前記第2の参照ピクチャリストの両方に前記動きベクトルについてのデータを記憶させる
    命令をさらに備える、請求項38に記載のコンピュータ可読記憶媒体。
JP2013521827A 2010-07-28 2011-07-20 ビデオコーディング中の動きベクトルコーディング Expired - Fee Related JP5551317B2 (ja)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US36852910P 2010-07-28 2010-07-28
US61/368,529 2010-07-28
US37658310P 2010-08-24 2010-08-24
US61/376,583 2010-08-24
US37930310P 2010-09-01 2010-09-01
US61/379,303 2010-09-01
US40738910P 2010-10-27 2010-10-27
US61/407,389 2010-10-27
US41466810P 2010-11-17 2010-11-17
US61/414,668 2010-11-17
US201161500029P 2011-06-22 2011-06-22
US61/500,029 2011-06-22
US13/179,427 US9357229B2 (en) 2010-07-28 2011-07-08 Coding motion vectors in video coding
US13/179,427 2011-07-08
PCT/US2011/044730 WO2012015649A2 (en) 2010-07-28 2011-07-20 Coding motion vectors in video coding

Publications (2)

Publication Number Publication Date
JP2013535913A true JP2013535913A (ja) 2013-09-12
JP5551317B2 JP5551317B2 (ja) 2014-07-16

Family

ID=45526691

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013521828A Expired - Fee Related JP5951606B2 (ja) 2010-07-28 2011-07-20 ビデオ符号化のためのインター予測モード及び参照ピクチャリストインデックスの符号化
JP2013521827A Expired - Fee Related JP5551317B2 (ja) 2010-07-28 2011-07-20 ビデオコーディング中の動きベクトルコーディング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013521828A Expired - Fee Related JP5951606B2 (ja) 2010-07-28 2011-07-20 ビデオ符号化のためのインター予測モード及び参照ピクチャリストインデックスの符号化

Country Status (12)

Country Link
US (2) US9357229B2 (ja)
EP (3) EP3038364A1 (ja)
JP (2) JP5951606B2 (ja)
KR (2) KR101383436B1 (ja)
CN (2) CN103039074B (ja)
AU (1) AU2011283039A1 (ja)
BR (1) BR112013002055A2 (ja)
CA (1) CA2805883A1 (ja)
RU (1) RU2013108810A (ja)
SG (1) SG187137A1 (ja)
TW (2) TW201215162A (ja)
WO (2) WO2012015650A2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9591320B2 (en) 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
CN103416062A (zh) * 2011-01-07 2013-11-27 三星电子株式会社 能够执行双向预测和单向预测的视频预测方法及其装置、视频编码方法及其装置以及视频解码方法及其装置
WO2012096176A1 (en) 2011-01-12 2012-07-19 Panasonic Corporation Methods and apparatuses for encoding and decoding video using multiple reference pictures
US8548057B2 (en) * 2011-01-25 2013-10-01 Microsoft Corporation Video coding redundancy reduction
WO2012108181A1 (en) 2011-02-08 2012-08-16 Panasonic Corporation Methods and apparatuses for encoding and decoding video using multiple reference pictures
US20130322535A1 (en) * 2011-02-21 2013-12-05 Electronics And Telecommunications Research Institute Method for encoding and decoding images using plurality of reference images and device using method
KR102232113B1 (ko) * 2011-03-21 2021-03-25 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
WO2012177052A2 (ko) 2011-06-21 2012-12-27 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20120140592A (ko) * 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
WO2013039692A1 (en) * 2011-09-16 2013-03-21 Mediatek Singapore Pte. Ltd. Method and apparatus for prediction mode and partition mode syntax coding for coding units in hevc
MY164898A (en) * 2011-09-29 2018-01-30 Sharp Kk Image decoding device, image decoding method, and image encoding device
US9807386B2 (en) * 2011-09-29 2017-10-31 Telefonaktiebolaget Lm Ericsson (Publ) Reference picture list handling
CN103858430B (zh) 2011-09-29 2017-05-03 夏普株式会社 图像解码装置、图像解码方法及图像编码装置
KR102050761B1 (ko) * 2011-10-05 2019-12-02 선 페이턴트 트러스트 화상 복호 방법 및 화상 복호 장치
US9277230B2 (en) 2011-11-23 2016-03-01 Qualcomm Incorporated Display mode-based video encoding in wireless display devices
US9008177B2 (en) * 2011-12-12 2015-04-14 Qualcomm Incorporated Selective mirroring of media output
US9094684B2 (en) * 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
US20130188709A1 (en) * 2012-01-25 2013-07-25 Sachin G. Deshpande Video decoder for tiles with absolute signaling
US20130272398A1 (en) * 2012-01-25 2013-10-17 Sharp Laboratories Of America, Inc. Long term picture signaling
US9426463B2 (en) 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
CN103327313B (zh) * 2012-03-21 2016-11-16 朱洪波 视频编码中的高阶预测模式
CA2870529C (en) * 2012-04-15 2018-09-18 Tammy Lee Method and apparatus for determining reference images for inter prediction
US9736476B2 (en) 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
US9516308B2 (en) 2012-04-27 2016-12-06 Qualcomm Incorporated Parameter set updates in video coding
US9762903B2 (en) 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9749645B2 (en) 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
EP2869557B1 (en) 2012-06-29 2023-08-09 Electronics And Telecommunications Research Institute Method and device for encoding/decoding images
WO2014050675A1 (ja) * 2012-09-28 2014-04-03 ソニー株式会社 画像処理装置および方法
US9648318B2 (en) * 2012-09-30 2017-05-09 Qualcomm Incorporated Performing residual prediction in video coding
US9491460B2 (en) * 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
US10499176B2 (en) 2013-05-29 2019-12-03 Qualcomm Incorporated Identifying codebooks to use when coding spatial components of a sound field
US10356426B2 (en) * 2013-06-27 2019-07-16 Google Llc Advanced motion estimation
WO2015015681A1 (ja) * 2013-07-31 2015-02-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化方法および画像符号化装置
US9489955B2 (en) * 2014-01-30 2016-11-08 Qualcomm Incorporated Indicating frame parameter reusability for coding vectors
US10555001B2 (en) 2014-02-21 2020-02-04 Mediatek Singapore Pte. Ltd. Method of video coding using prediction based on intra picture block copy
EP3117606B1 (en) 2014-03-13 2018-12-26 Qualcomm Incorporated Simplified advanced residual prediction for 3d-hevc
US10770087B2 (en) 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
US9930341B2 (en) * 2014-06-20 2018-03-27 Qualcomm Incorporated Block vector coding for intra block copying
KR102034938B1 (ko) * 2014-09-01 2019-10-21 에이치에프아이 이노베이션 인크. 스크린 콘텐츠 및 비디오 코딩을 위한 인트라 픽처 블록 카피의 방법
CN106303544B (zh) 2015-05-26 2019-06-11 华为技术有限公司 一种视频编解码方法、编码器和解码器
CN104994391B (zh) * 2015-06-26 2017-11-10 福州瑞芯微电子股份有限公司 一种高效的VP9熵解码prob数据获取方法及设备
US10187655B2 (en) * 2015-09-30 2019-01-22 Apple Inc. Memory-to-memory low resolution motion estimation systems and methods
CN108367006B (zh) 2015-12-04 2021-12-31 博尔托拉制药公司 用于治疗血液癌症的赛度替尼
KR102345458B1 (ko) * 2016-05-28 2021-12-31 세종대학교산학협력단 예측 모션 벡터 리스트를 구성하는 방법 및 이의 장치
US11736712B2 (en) * 2016-05-28 2023-08-22 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding or decoding video signal
WO2017209455A2 (ko) * 2016-05-28 2017-12-07 세종대학교 산학협력단 비디오 신호의 부호화 또는 복호화 방법 및 장치
US10778999B2 (en) * 2016-09-30 2020-09-15 Qualcomm Incorporated Frame rate up-conversion coding mode with affine motion model
WO2019001741A1 (en) * 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION
CN113315975B (zh) * 2018-03-29 2022-12-06 华为技术有限公司 一种双向帧间预测方法及装置
US10865198B2 (en) 2018-05-04 2020-12-15 Alexion Pharmaceuticals, Inc. Solid forms of cerdulatinib
MX2021002557A (es) * 2018-09-07 2021-04-29 Panasonic Ip Corp America Sistema y metodo para codificacion de video.
MX2021002950A (es) * 2018-09-12 2021-07-21 Huawei Tech Co Ltd Un codificador de video, un decodificador de video y metodos correspondientes.
CN111435989B (zh) * 2019-01-15 2023-11-17 华为技术有限公司 视频编码、解码方法、装置及计算机存储介质
JP7423758B2 (ja) * 2019-09-06 2024-01-29 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 重み付き予測のための高レベルシグナリングの方法および装置
CN112040234B (zh) * 2020-11-04 2021-01-29 北京金山云网络技术有限公司 视频编码、解码方法和装置、电子设备及存储介质
US11722658B2 (en) * 2021-06-25 2023-08-08 Tencent America LLC Method and apparatus for video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050117646A1 (en) * 2003-11-28 2005-06-02 Anthony Joch Low-complexity motion vector prediction for video codec with two lists of reference pictures

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2208950A1 (en) 1996-07-03 1998-01-03 Xuemin Chen Rate control for stereoscopic digital video encoding
WO1998042134A1 (en) 1997-03-17 1998-09-24 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
AU2003279015A1 (en) 2002-09-27 2004-04-19 Videosoft, Inc. Real-time video coding/decoding
KR100693669B1 (ko) 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US7489342B2 (en) 2004-12-17 2009-02-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for managing reference pictures in multiview videos
JP2005005844A (ja) 2003-06-10 2005-01-06 Hitachi Ltd 計算装置及び符号化処理プログラム
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
WO2005022919A1 (en) 2003-08-26 2005-03-10 Thomson Licensing S.A. Method and apparatus for decoding hybrid intra-inter coded blocks
US7627039B2 (en) 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7961786B2 (en) 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US20070291131A1 (en) 2004-02-09 2007-12-20 Mitsuru Suzuki Apparatus and Method for Controlling Image Coding Mode
EP1592255A1 (en) 2004-04-30 2005-11-02 Matsushita Electric Industrial Co., Ltd. Motion vector estimation with improved motion vector selection
US7852916B2 (en) 2004-06-27 2010-12-14 Apple Inc. Efficient use of storage in encoding and decoding video data streams
US20060083298A1 (en) 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
US7733959B2 (en) 2005-06-08 2010-06-08 Institute For Information Industry Video conversion methods for frame rate reduction
US20070064809A1 (en) 2005-09-14 2007-03-22 Tsuyoshi Watanabe Coding method for coding moving images
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
EP1806930A1 (en) 2006-01-10 2007-07-11 Thomson Licensing Method and apparatus for constructing reference picture lists for scalable video
US9215475B2 (en) 2006-02-02 2015-12-15 Thomson Licensing Method and apparatus for motion estimation using combined reference bi-prediction
CN101455084A (zh) 2006-03-30 2009-06-10 Lg电子株式会社 用于解码/编码视频信号的方法和装置
BRPI0621935A2 (pt) * 2006-07-28 2016-09-13 Toshiba Kk Toshiba Corp método e aparelho para codificar e decodificar imagem
US8532178B2 (en) 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
BRPI0718206B1 (pt) 2006-10-16 2020-10-27 Nokia Technologies Oy método para codificar uma pluralidade de visões de uma cena; método de codificação de uma sequência de bits de vídeo codificada e aparelho
US9031129B2 (en) * 2007-06-15 2015-05-12 Microsoft Technology Licensing, Llc Joint spatio-temporal prediction for video coding
BRPI0818444A2 (pt) 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
KR101656091B1 (ko) 2008-03-10 2016-09-08 톰슨 라이센싱 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치
PT104083A (pt) 2008-06-02 2009-12-02 Inst Politecnico De Leiria Método para transcodificar imagens de vídeo h.264/avc em mpeg-2
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8259801B2 (en) 2008-10-12 2012-09-04 Mediatek Inc. Methods for coding digital media data with prediction information and prediction error information being respectively carried by different bit stream sections
US8687685B2 (en) 2009-04-14 2014-04-01 Qualcomm Incorporated Efficient transcoding of B-frames to P-frames
US20100296579A1 (en) 2009-05-22 2010-11-25 Qualcomm Incorporated Adaptive picture type decision for video coding
WO2011075071A1 (en) 2009-12-17 2011-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for video coding
KR102219985B1 (ko) 2010-05-04 2021-02-25 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US9066102B2 (en) 2010-11-17 2015-06-23 Qualcomm Incorporated Reference picture list construction for generalized P/B frames in video coding
HRP20221363T1 (hr) 2011-01-07 2023-01-06 Lg Electronics Inc. Postupak kodiranja video informacija, postupak dekodiranja video informacija i uređaj za dekodiranje za dekodiranje video informacija

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050117646A1 (en) * 2003-11-28 2005-06-02 Anthony Joch Low-complexity motion vector prediction for video codec with two lists of reference pictures

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6013056754; Marpe, D., et.al.: '"The H.264/MPEG4 Advanced Video Coding Standard and its Applications"' IEEE Communications Magazine Vol.44, No.8, 200608, p.134-143 *
JPN6013056757; Flierl, M., et.al.: '"Generalized B Pictures and the Draft H.264/AVC Video-Compression Standard"' IEEE Transactions on Circuits and Systems for Video Technology Vol.13, No.7, 200307, p.587-597 *
JPN6013056761; Peng Yin and Jill Boyce: '"Unification of Motion Vector Prediction Methods"' [online] Document: JVT-E061, 20050117, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCE *
JPN6013056764; "wftp3.itu.int - /av-arch/jvt-site/2002_10_Geneva/" , [online] *

Also Published As

Publication number Publication date
CN103039074B (zh) 2015-12-16
TW201223286A (en) 2012-06-01
EP2599312A2 (en) 2013-06-05
US20120027089A1 (en) 2012-02-02
WO2012015650A2 (en) 2012-02-02
CN103039074A (zh) 2013-04-10
US20120027088A1 (en) 2012-02-02
BR112013002055A2 (pt) 2019-09-24
US9357229B2 (en) 2016-05-31
RU2013108810A (ru) 2014-09-20
JP5951606B2 (ja) 2016-07-13
WO2012015650A8 (en) 2013-02-28
AU2011283039A1 (en) 2013-02-21
WO2012015650A3 (en) 2012-03-22
EP2599313B1 (en) 2016-04-20
US9398308B2 (en) 2016-07-19
EP3038364A1 (en) 2016-06-29
KR20130069758A (ko) 2013-06-26
CN103026709A (zh) 2013-04-03
TW201215162A (en) 2012-04-01
WO2012015649A3 (en) 2012-03-22
JP5551317B2 (ja) 2014-07-16
EP2599313A2 (en) 2013-06-05
KR101460921B1 (ko) 2014-11-14
CA2805883A1 (en) 2012-02-02
CN103026709B (zh) 2016-03-23
JP2013532925A (ja) 2013-08-19
KR20130036772A (ko) 2013-04-12
SG187137A1 (en) 2013-02-28
WO2012015649A2 (en) 2012-02-02
KR101383436B1 (ko) 2014-04-11

Similar Documents

Publication Publication Date Title
JP5551317B2 (ja) ビデオコーディング中の動きベクトルコーディング
US9066102B2 (en) Reference picture list construction for generalized P/B frames in video coding
US9008176B2 (en) Combined reference picture list construction for video coding
JP5784752B2 (ja) ビデオコード化のための単一参照ピクチャリスト構成
US9083983B2 (en) Motion vector predictor candidate clipping removal for video coding
US8885704B2 (en) Coding prediction modes in video coding
EP2727353B1 (en) Video coding using adaptive motion vector resolution
US20130272409A1 (en) Bandwidth reduction in video coding through applying the same reference index
US20130070855A1 (en) Hybrid motion vector coding modes for video coding
US20130272390A1 (en) Uniform granularity for quantization matrix in video coding
US20120063515A1 (en) Efficient Coding of Video Parameters for Weighted Motion Compensated Prediction in Video Coding
US20130188716A1 (en) Temporal motion vector predictor candidate
US9674527B2 (en) Implicit derivation of parallel motion estimation range size
US20210185325A1 (en) Motion vector obtaining method and apparatus, computer device, and storage medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140521

R150 Certificate of patent or registration of utility model

Ref document number: 5551317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees