JP5784689B2 - ビデオ符号化における非ゼロ丸めおよび予測モード選択技法 - Google Patents

ビデオ符号化における非ゼロ丸めおよび予測モード選択技法 Download PDF

Info

Publication number
JP5784689B2
JP5784689B2 JP2013246786A JP2013246786A JP5784689B2 JP 5784689 B2 JP5784689 B2 JP 5784689B2 JP 2013246786 A JP2013246786 A JP 2013246786A JP 2013246786 A JP2013246786 A JP 2013246786A JP 5784689 B2 JP5784689 B2 JP 5784689B2
Authority
JP
Japan
Prior art keywords
data
weighted prediction
video
list
prediction data
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.)
Active
Application number
JP2013246786A
Other languages
English (en)
Other versions
JP2014090436A (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 JP2014090436A publication Critical patent/JP2014090436A/ja
Application granted granted Critical
Publication of JP5784689B2 publication Critical patent/JP5784689B2/ja
Active 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

関連出願
以下の同時係属の同一出願人による出願、すなわち、Marta Karczewicz、Peisong ChenおよびYan Yeの、本出願と同日に出願され、代理人整理番号082069U2をもつ「Non-Zero Rounding And Prediction Mode Selection Techniques In Video Encoding」は、参照により本明細書に明確に組み込まれる。
本開示は、ビデオ符号化に関し、より詳細には、双方向予測を使用するビデオ符号化技法に関する。
デジタルマルチメディア機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、ワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲーム機、ビデオゲームコンソール、セルラー電話または衛星無線電話、デジタルメディアプレーヤなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルマルチメディアデバイスは、デジタルビデオデータをより効率的に送信および受信または記憶および検索するために、MPEG−2、ITU−H.263、MPEG−4、またはITU−H.264/MPEG−4 Part 10、Advanced Video Coding(AVC)などのビデオコーディング技法を実装し得る。ビデオ符号化技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的および時間的予測を介してビデオ圧縮を実行し得る。
ビデオ符号化では、圧縮は、しばしば、空間的予測と、動き推定と、動き補償とを含む。イントラコーディングは、所与のビデオフレーム内のビデオブロック間の空間的冗長性を低減または除去するために、空間的予測と、離散コサイン変換(DCT)などの変換コーディングとに依拠する。インターコーディングは、ビデオシーケンスの連続するビデオフレームのビデオブロック間の時間的冗長性を低減または除去するために、時間的予測と変換コーディングとに依拠する。イントラコード化フレーム(「Iフレーム」)は、しばしば、ランダムアクセスポイントならびに他のフレームのインターコーディングのための参照として使用される。しかしながら、Iフレームは、一般に、他のフレームよりも少ない圧縮を示す。Iユニットという用語は、Iフレーム、Iスライス、またはIフレームの他の単独で復号化可能な部分を指し得る。
インターコーディングの場合、ビデオ符号器は、2つ以上の隣接フレーム間で、またはフレームのスライスなど他のコード化ユニット間でビデオブロックを一致させる動作を追跡するために動き推定を実行する。インターコード化フレームは、前のフレームから予測されるブロックを含み得る予測フレーム(「Pフレーム」)と、ビデオシーケンスの前のフレームおよび後続のフレームから予測されるブロックを含み得る双方向予測フレーム(「Bフレーム」)とを含み得る。PフレームおよびBフレームという用語は、初期のコーディング技法が特定の方向における予測を限定したという意味で、いくぶん過去の時代に由来するものである。より新しいコーディングフォーマットおよび規格は、PフレームまたはBフレームの予測方向を限定しないことがある。したがって、「双方向性」という用語は、ここでは、コーディングされているデータに対する参照データの時間的関係にかかわらず、そのような参照データの2つ以上のリストに基づく予測を指す。
たとえば、ITU H.264など、より新しいビデオ規格に一致して、双方向予測は、現在のビデオブロックの時間的に前および後に存在するデータを必ずしも有する必要がない2つの異なるリストに基づき得る。言い換えれば、Bビデオブロックは、2つの前のフレーム、2つの後続のフレーム、または1つの前のフレームおよび1つの後続のフレームからのデータに対応し得る、データの2つのリストから予測され得る。対照的に、Pビデオブロックは、1つの予測フレーム、たとえば、1つの前のフレームまたは1つの後続のフレームに対応し得る、1つのリスト、すなわち、1つのデータ構造に基づいて予測される。BフレームおよびPフレームは、より一般的にはPユニットおよびBユニットと呼ばれ得る。PユニットおよびBユニットはまた、フレームのスライスまたはフレームの部分など、より小さいコード化ユニットにおいて実現され得る。Bユニットは、Bビデオブロック、PビデオブロックまたはIビデオブロックを含み得る。PユニットはPビデオブロックまたはIビデオブロックを含み得る。IユニットはIビデオブロックのみを含み得る。
PビデオブロックおよびBビデオブロックの場合、動き推定は、(1つまたは複数の)予測参照フレームまたは他のコード化ユニット中の対応する予測ビデオブロックに対するビデオブロックの変位を示す、動きベクトルを生成する。動き補償は、動きベクトルを使用して、(1つまたは複数の)予測参照フレームまたは他のコード化ユニットから予測ビデオブロックを生成する。動き補償の後、コーディングされるべき元のビデオブロックから予測ビデオブロックを減算することによって、残差ビデオブロックが形成される。ビデオ符号器は、通常、残差ブロックの通信に関連するビットレートをさらに低減するために、変換、量子化およびエントロピーコーディングプロセスを適用する。IユニットおよびPユニットは、通常、PユニットおよびBユニットのインターコーディングのための参照ブロックを定義するために使用される。
本開示では、双方向予測に適用可能なビデオ符号化および復号化技法について説明する。双方向予測では、ビデオブロックは、予測参照データの2つの異なるリストに基づいて予測符号化され、復号化され得る。本開示の一態様では、丸めバイアスがない予測データを与えるために、双方向予測データに対する丸め調整が意図的になくされ得る。この場合、所与のビデオブロックの予測のための最良のデータを識別するために、レートひずみ分析中に丸め予測データと非丸め予測データの両方が考慮され得る。1つまたは複数のシンタックス要素が、選択を示すために符号化され得、復号器が、丸めを使用すべきかどうかを判断するために、その1つまたは複数のシンタックス要素を解釈し得る。
本開示の別の態様では、デフォルト重み付け予測、暗黙的重み付け予測、および明示的重み付け予測の中から選択するための技法について説明する。このコンテキストでは、たとえば、さもなければ暗黙的またはデフォルト重み付け予測によって定義される予測データに対するオフセットを可能にする明示的重み付け予測のフォーマットを使用して、予測データにオフセットを追加するための技法についても説明する。
一例では、本開示は、ビデオデータを符号化する方法について説明する。本方法は、データの2つ以上のリストに依存し、丸め調整を含む第1の重み付け予測データを生成することと、データの上記2つ以上のリストに依存し、上記丸め調整を含まない第2の重み付け予測データを生成することと、予測データの複数の候補のレートひずみ分析に基づいて上記ビデオデータを符号化するための予測データを選択することとを備え、予測データの上記複数の候補が上記第1の重み付け予測データと上記第2の重み付け予測データとを含む。
別の例では、本開示は、符号化されたビデオデータを受信することと、上記符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を受信することと、データの2つ以上のリストに依存する重み付け予測データを生成することであって、上記1つまたは複数のシンタックス要素が、上記符号化されたビデオデータを符号化するために上記丸め調整が使用されなかったことを示す場合、上記重み付け予測データが上記丸め調整を含まない、生成することと、上記重み付け予測データを使用して上記ビデオデータを復号化することとを備える方法について説明する。
別の例では、本開示は、ビデオデータを符号化するビデオ符号器装置について説明する。本装置は、上記ビデオデータと、上記ビデオデータを予測符号化するために使用されるデータの2つ以上のリストを記憶するメモリとを備える。上記動き補償ユニットは、データの上記2つ以上のリストに依存し、丸め調整を含む第1の重み付け予測データを生成し、データの上記2つ以上のリストに依存し、上記丸め調整を含まない第2の重み付け予測データを生成し、予測データの複数の候補のレートひずみ分析に基づいて上記ビデオデータを符号化するための予測データを選択し、予測データの上記複数の候補が上記第1の重み付け予測データと上記第2の重み付け予測データとを含む。上記ビデオ符号器装置は、上記選択された予測データを使用して上記ビデオデータを符号化する。
別の例では、本開示は、符号化されたビデオデータを受信し、上記符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を復号化するエントロピーユニットと、データの2つ以上のリストに依存する重み付け予測データを生成する予測ユニットであって、上記1つまたは複数のシンタックス要素が、上記符号化されたビデオデータを符号化するために上記丸め調整が使用されなかったことを示す場合、上記重み付け予測データが上記丸め調整を含まず、上記ビデオ復号器が上記重み付け予測データを使用して上記ビデオデータを復号化する、予測ユニットとを備えるビデオ復号器装置について説明する。
別の例では、本開示は、ビデオデータを符号化するデバイスであって、上記デバイスが、データの2つ以上のリストに依存し、丸め調整を含む第1の重み付け予測データを生成するための手段と、データの上記2つ以上のリストに依存し、上記丸め調整を含まない第2の重み付け予測データを生成するための手段と、予測データの複数の候補のレートひずみ分析に基づいて上記ビデオデータを符号化するための予測データを選択するための手段であって、予測データの上記複数の候補が上記第1の重み付け予測データと上記第2の重み付け予測データとを含む、選択するための手段と、上記選択された予測データを使用して上記ビデオデータを符号化するための手段とを備えるデバイスについて説明する。
別の例では、本開示は、符号化されたビデオデータを受信するための手段と、上記符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を受信するための手段と、データの2つ以上のリストに依存する重み付け予測データを生成するための手段であって、上記1つまたは複数のシンタックス要素が、上記符号化されたビデオデータを符号化するために上記丸め調整が使用されなかったことを示す場合、上記重み付け予測データが上記丸め調整を含まない、生成するための手段と、上記重み付け予測データを使用して上記ビデオデータを復号化するための手段とを備えるデバイスについて説明する。
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組合せにおいて実装され得る。ソフトウェアで実装した場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはデジタル信号プロセッサ(DSP)など、1つまたは複数のプロセッサにおいて実行され得る。本技法を実行するソフトウェアは、初めにコンピュータ可読媒体に記憶され、プロセッサにロードされ、実行され得る。
したがって、本開示はまた、実行されると、データの2つ以上のリストに依存し、丸め調整を含む第1の重み付け予測データを生成することと、データの上記2つ以上のリストに依存し、上記丸め調整を含まない第2の重み付け予測データを生成することと、予測データの複数の候補のレートひずみ分析に基づいて上記ビデオデータを符号化するための予測データを選択することであって、予測データの上記複数の候補が上記第1の重み付け予測データと上記第2の重み付け予測データとを含む、選択することとをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体を企図する。
別の例では、本開示は、実行されると、符号化されたビデオデータを受信すると、上記符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を受信することと、データの2つ以上のリストに依存する重み付け予測データを生成することであって、上記1つまたは複数のシンタックス要素が、上記符号化されたビデオデータを符号化するために上記丸め調整が使用されなかったことを示す場合、上記重み付け予測データが上記丸め調整を含まない、生成することと、上記重み付け予測データを使用して上記ビデオデータを復号化することとをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体について説明する。
本開示の1つまたは複数の態様の詳細は、添付の図面および下記の説明に記載されている。本開示で説明する技法の他の特徴、目的、および利点は、説明および図面から、および特許請求の範囲から明らかであろう。
本開示の技法を実装し得る1つの例示的なビデオ符号化および復号化システムを示すブロック図。 本開示に一致する、オフセット技法を実行し得るビデオ符号器の一例を示すブロック図。 動き補償ユニットの一例をより詳細に示すブロック図。 本開示に一致する、オフセット技法を実行し得るビデオ復号器の一例。 本開示に一致する、ビデオ符号器によって実行される例示的なプロセスを示すフローチャート。 本開示に一致する、ビデオ復号器によって実行される例示的なプロセスを示すフローチャート。 本開示に一致する、ビデオ符号器によって実行される別の例示的なプロセスを示すフローチャート。
本開示では、双方向予測に適用可能なビデオ符号化および復号化技法について説明する。双方向予測では、ビデオブロックが、予測参照データの2つの異なるリストに基づいて予測符号化され、復号化される。本開示の一態様では、丸めバイアスがない予測データを与えるために、双方向予測データに対する丸め調整が意図的になくされ得る。この場合、所与のビデオブロックの予測のための最良のデータを識別するために、レートひずみ分析中に丸め予測データと非丸め予測データの両方が考慮され得る。1つまたは複数のシンタックス要素が、選択を示すために符号化され得、復号器が、復号化プロセスにおいて丸めを使用すべきかどうかを判断するために、その1つまたは複数のシンタックス要素を解釈し得る。
本開示の別の態様では、デフォルト重み付け予測、暗黙的重み付け予測、および明示的重み付け予測の中から選択するための符号化技法について説明する。このコンテキストでは、たとえば、さもなければ暗黙的またはデフォルト重み付け予測によって判断される予測データへのオフセットを可能にするために明示的重み付け予測のフォーマットを使用して、予測データにオフセットを追加するための技法についても説明する。
重み付け予測は、重みが予測データの2つ以上の異なるセットに割り当てられ得る双方向予測を指す。デフォルト重み付け予測は、2つ以上の異なるリストに関連する重みファクタが何らかのデフォルト設定によってあらかじめ定義される重み付け予測を指す。デフォルト重み付け予測は、場合によっては、リストの各々に等しい重み付けを割り当て得る。暗黙的重み付け予測は、2つ以上の異なるリストに関連する重みファクタが、データに関連するいくつかの暗黙的ファクタに基づいて定義される重み付け予測を指す。たとえば、暗黙的重みファクタは、予測コーディングされているデータに対する、2つの異なるリスト中のデータの時間位置によって定義され得る。リスト0中のデータが、リスト1中のデータよりも、予測コーディングされているデータに時間的に近接している場合、リスト0中のデータには、暗黙的重み付け予測においてより大きい暗黙的重さファクタが割り当てられ得る。
明示的重み付け予測は、重みファクタが、コーディングプロセスの一部として動的に定義され、ビットストリームに符号化される重み付け予測を指す。明示的重み付け予測は、この点においてデフォルト重み付け予測および暗黙的重み付け予測とは異なり、たとえば、明示的重み付け予測は、ビットストリームの一部として符号化された重みファクタを生じるが、デフォルト重み付け予測および暗黙的重み付け予測は、重みファクタがビットストリーム中にあることなしに、あらかじめ定義されるかまたは復号器によって判断される重みファクタを定義する。
本開示の一態様によれば、重み付け予測は、重み付け予測データに対する丸め調整をなくすことによって、従来の重み付け予測に対して修正され得る。この場合、符号器は、丸めと非丸めの両方の重み付け予測データを分析および考慮し、レートひずみ分析に基づいて、丸めまたは非丸めのいずれかの重み付け予測データを使用し得る。丸め重み付け予測データが使用されたか非丸め重み付け予測データが使用されたかを識別するために、1つまたは複数のシンタックス要素が定義され、ビットストリームに符号化され得る。復号器は、復号化において丸め重み付け予測データを使用すべきか非丸め重み付け予測データを使用すべきかを判断するために、1つまたは複数のシンタックス要素を解釈し得る。
本開示の別の態様に従って、デフォルト重み付け予測、暗黙的重み付け予測、および明示的重み付け予測の中から選択するための符号化技法について説明する。互いに対するこれらの可能性の各々を考慮するのではなく、符号器は、デフォルト重み付け予測と暗黙的重み付け予測との間で選択するようにプログラムされ得る。次いで、その選択は明示的重み付け予測と比較され得る。明示的重み付け予測は、明示的重みファクタを計算するために実行され得るが、計算された明示的重み付け予測はまた、デフォルト重み付け予測または暗黙的重み付け予測のいずれかによって定義された重みファクタに対応する重みファクタを有する明示的重み付け予測と比較され得る。
明示的重み付け予測は、予測データにオフセットが追加されることを可能にするという点で、明示的重み付け予測はデフォルト重み付け予測および暗黙的重み付け予測に対して利点を有し得る。オフセットは、予測データをバイアスまたは調整し得、ビデオフレーム間のフラッシュ、暗くなる空、シーン変化、または他のタイプの照度変化を相殺するのに極めて有用であり得る。オフセットは、たとえば、あるビデオブロックのすべての値に対して共通の調整を行って、たとえば、それらの値を上方または下方へバイアスし得る。本開示によれば、明示的重み付け予測のコンテキストにおいて、デフォルト重み付け予測または暗黙的重み付け予測のいずれかによって定義された重みファクタが考慮され得、それにより、デフォルト重み付け予測または暗黙的重み付け予測に関連する重みファクタを維持しながら、オフセットの追加を可能にし得る。このようにして、予測データが改善され得、それにより、場合によってはデータ圧縮を改善するのを助け得る。
図1は、本開示の技法を実装し得る1つの例示的なビデオ符号化および復号化システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル15を介して符号化ビデオを宛先デバイス16に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス16は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス16は、いわゆるセルラー電話または衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信デバイス、あるいはワイヤレスであってもなくてもよい通信チャネル15を介してビデオ情報を通信することができる任意のデバイスを備える。ただし、非ゼロ丸めおよび予測モード選択技法に関する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるわけではない。
図1の例では、ソースデバイス12は、ビデオソース20と、ビデオ符号器22と、変調器/復調器(モデム)23と、送信機24とを含み得る。宛先デバイス16は、受信機26と、モデム27と、ビデオ復号器28と、ディスプレイデバイス30とを含み得る。本開示によれば、ソースデバイス12のビデオ符号器22は、ビデオ符号化プロセスの一部として非ゼロ丸めおよび予測モード選択技法を適用するように構成され得る。ビデオ復号器28は、選択を示し、非ゼロ丸めが使用されたかどうかを示す、1つまたは複数のシンタックス要素を受信し得る。したがって、ビデオ復号器28は、受信ビットストリーム中でシグナリングされる適切な重み付け予測を実行し得る。
図1の図示のシステム10は例にすぎない。本開示の非ゼロ丸めおよび予測モード選択技法は、双方向動き補償予測をサポートする任意のコーディングデバイスによって実行され得る。ソースデバイス12および宛先デバイス16は、ソースデバイス12が宛先デバイス16に送信するためのコード化ビデオデータを生成する、そのようなコーディングデバイスの例にすぎない。場合によっては、デバイス12、16は、デバイス12、16の各々がビデオ符号化構成要素および復号化構成要素を含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話通信のために、ビデオデバイス12とビデオデバイス16との間の一方向または双方向のビデオ送信をサポートし得る。
ソースデバイス12のビデオソース20は、ビデオカメラ、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードなど、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース20は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース20がビデオカメラである場合、ソースデバイス12および宛先デバイス16は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオ符号器22によって符号化され得る。次いで、符号化されたビデオ情報は、たとえば、符号分割多元接続(CDMA)または別の通信規格などの通信規格に従ってモデム23によって変調され、送信機24を介して宛先デバイス16に送信され得る。モデム23は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
宛先デバイス16の受信機26はチャネル15を介して情報を受信し、モデム27はその情報を復調する。この場合も、ビデオ符号化プロセスは、本開示に一致する非ゼロ丸めおよび予測モード選択を行うために、本明細書で説明する技法のうちの1つまたは複数を実装し得る。チャネル15を介して通信される情報は、本開示に一致するビデオ復号器28によって使用され得る、ビデオ符号器22によって定義された情報を含み得る。ディスプレイデバイス30は、復号化されたビデオデータをユーザに対して表示し、陰極線管、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
図1の例では、通信チャネル15は、無線周波(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備え得る。したがって、モデム23および送信機24は、多数の可能なワイヤレスプロトコル、ワイヤードプロトコル、またはワイヤードおよびワイヤレスプロトコルをサポートし得る。通信チャネル15は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、あるいは、1つまたは複数のネットワークの相互接続を備えるインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル15は、概して、ビデオデータをソースデバイス12から宛先デバイス16に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル15は、ソースデバイス12から宛先デバイス16への通信を可能にするのに有用なルータ、スイッチ、基地局、または任意の他の機器を含み得る。
ビデオ符号器22およびビデオ復号器28は、代替的にMPEG−4、Part10、AVC(Advanced Video Coding)とも記載されるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。図1には示されていないが、いくつかの態様では、ビデオ符号器22およびビデオ復号器28は、それぞれオーディオ符号器および復号器と統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ITU−T H.264/MPEG−4(AVC)規格は、JVT(Joint Video Team)として知られる共同パートナーシップの成果として、ISO/IEC MPEG(Moving Picture Experts Group)とともにITU−T VCEG(Video Coding Experts Group)によって策定された。いくつかの態様では、本開示で説明する技法は、H.264規格に概して準拠するデバイスに適用され得る。H.264規格は、ITU−T 研究グループによる2005年3月付けのITU−TリコメンデーションH.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ばれ得る。JVT(Joint Video Team)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
H.264/MPEG−4 AVC規格を進化させる取り組みは、KTA(Key Technologies Area)フォーラムなど、ITU−Tの様々なフォーラムにおいて行われる。KTAフォーラムは、部分的には、H.264/AVC規格が示すコーディング効率よりも高いコーディング効率を示すコーディング技術を追求する。本開示で説明する技法は、H.264/AVC規格に対するコーディング改善のために役立ち得る。最近、KTAフォーラムは、その全体が参照により本明細書に組み込まれる、2008年7月16〜18日にドイツのベルリンで行われた第35回会議において提示されたYan Ye、Peisong Chen、およびMarta Karczewiczによる「High Precision Interpolation and Prediction」と題する、VCEG−AI33と番号付けされた提出物として、本明細書で説明する技法に関連または関係すると考えられ得る技法を詳述している文書を受領した。
ビデオ符号器22およびビデオ復号器28はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実装され得る。ビデオ符号器22およびビデオ復号器28の各々は1つまたは複数の符号器または復号器中に含まれ得、そのいずれも複合符号器/復号器(コーデック)の一部としてそれぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合され得る。
ビデオシーケンスは一般に一連のビデオフレームを含む。ビデオ符号器22およびビデオ復号器28は、ビデオデータを符号化および復号化するために、個々のビデオフレーム内のビデオブロックに作用し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは、一連のスライスまたは他の単独で復号化可能なユニットを含み得る。各スライスは一連のマクロブロックを含み得、それらのマクロブロックはサブブロックに構成され得る。一例として、ITU−T H.264規格は、ルーマ成分については16×16、8×8、または4×4、およびクロマ成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8および4×4、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、ピクセルデータのブロック、または、たとえば、離散コサイン変換もしくは概念的に同様の変換プロセスなどの変換プロセスの後の変換係数のブロックを備え得る。
より小さいビデオブロックは、より良好な解像度を与えることができ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。概して、マクロブロックおよび様々なサブブロックはビデオブロックであると見なされ得る。さらに、スライスは、マクロブロックおよび/またはサブブロックなど、一連のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号化可能なユニットであり得る。代替的に、フレーム自体が復号化可能なユニットであり得、またはフレームの他の部分が復号化可能なユニットとして定義され得る。「コード化ユニット」という用語は、フレーム全体、フレームのスライス、ピクチャグループ(GOP)、または使用されるコーディング技法に従って定義される別の単独で復号化可能なユニットなど、ビデオフレームの単独で復号化可能な任意のユニットを指す。
(コード化ユニットを予測するための予測アルゴリズムまたはモードを効率的に選択するための補間および本開示の技法を含む)インターベース予測符号化の後、(H.264/AVCまたは離散コサイン変換もしくはDCTにおいて使用される4×4または8×8整数変換などの)任意の変換の後、量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するように係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、16ビット値は、量子化中に15ビット値に切り捨てられ得る。量子化の後、たとえば、コンテンツ適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、または別のエントロピーコーディング方法に従って、エントロピーコーディングが実行され得る。
本開示の技法は、特に重み付け双方向予測に適用可能である。上述のように、双方向予測は、データの2つの異なるリストに基づく、いわゆる「Bビデオブロック」の予測である。Bビデオブロックは、2つの前のフレームからのデータの2つのリスト、後続のフレームからのデータの2つのリスト、または前のフレームからのデータおよび後続のフレームからのデータの1つのリストから予測され得る。対照的に、Pビデオブロックは、1つの予測フレーム、たとえば、1つの前のフレームまたは1つの後続のフレームに対応し得る、1つのリストに基づいて予測される。BフレームおよびPフレームは、より一般的にはPユニットおよびBユニットと呼ばれ得る。PユニットおよびBユニットはまた、フレームのスライスまたはフレームの部分など、より小さいコード化ユニットにおいて実現され得る。Bユニットは、Bビデオブロック、PビデオブロックまたはIビデオブロックを含み得る。PユニットはPビデオブロックまたはIビデオブロックを含み得る。IユニットはIビデオブロックのみを含み得る。
重み付け双方向予測は、重みファクタが2つの異なるリストに割り当てられることを可能にする双方向予測を指す。各リストは、予測フレームまたは他のコード化ユニットに関連するデータのセットを備え得る。重み付け双方向予測では、1つのリストは、予測データを生成する際により重く重み付けされ得る。たとえば、リストのうちの1つが、コーディングされているビデオブロックにより類似しているデータを有する場合、そのリストは他のリストよりも重く重み付けされ得る。
ITU−T H.264による異なるタイプの重み付け双方向予測について、ビデオ符号器22およびビデオ復号器28は、概して、3つの異なるタイプの予測モードをサポートし得る。「デフォルト重み付け予測」と呼ばれる第1の予測モードは、2つ以上の異なるリストに関連する重みファクタが何らかのデフォルト設定によってあらかじめ定義される重み付け予測を指す。デフォルト重み付け予測は、場合によっては、リストの各々に等しい重み付けを割り当て得る。
「暗黙的重み付け予測」と呼ばれる第2の予測モードは、2つ以上の異なるリストに関連する重みファクタが、データに関連するいくつかの暗黙的ファクタに基づいて定義される重み付け予測を指す。たとえば、暗黙的重みファクタは、予測コーディングされているデータに対する、2つの異なるリスト中のデータの相対時間位置によって定義され得る。デフォルト重み付け予測と暗黙的重み付け予測の両方において、重みファクタはビットストリーム中に含まれない。代わりに、ビデオ復号器28は、(デフォルトの場合)重みファクタを知るようにプログラムされるか、または(暗黙的の場合)重みファクタをどのように導出すべきかを知るようにプログラムされ得る。
「明示的重み付け予測」と呼ばれる第3の予測モードは、重みファクタが、コーディングプロセスの一部として動的に定義され、ビットストリームに符号化される重み付け予測を指す。明示的重み付け予測は、この点においてデフォルト重み付け予測および暗黙的重み付け予測とは異なり、たとえば、明示的重み付け予測は、ビットストリームの一部として符号化された重みファクタを生じる。
本開示の一態様によれば、重み付け予測は、重み付け予測データに対する丸め調整をなくすことによって、従来の重み付け予測に対して修正され得る。この場合、符号器22は、丸めと非丸めの両方の重み付け予測データを分析および考慮し、レートひずみ分析に基づいて、丸めまたは非丸めのいずれかの重み付け予測データを使用し得る。丸め重み付け予測データが使用されたか非丸め重み付け予測データが使用されたかを識別するために、1つまたは複数のシンタックス要素が定義され、ビットストリームに符号化され得る。復号器28は、(1つまたは複数の)シンタックス要素を復号化し、解釈し得、その(1つまたは複数の)シンタックス要素に基づいて、復号器28は、復号化プロセスにおいて丸め重み付け予測データまたは非丸め重み付け予測データのいずれかを使用し得る。丸め調整の除去は、デフォルト重み付け予測、暗黙的重み付け予測および明示的重み付け予測に適用可能である。
本開示の別の態様によれば、ビデオ符号器22は、デフォルト重み付け予測、暗黙的重み付け予測、および明示的重み付け予測の中から選択し得る。この態様では、互いに対するこれらの可能性の各々を考慮するのではなく、符号器22は、デフォルト重み付け予測と暗黙的重み付け予測との間で選択するようにプログラムされ得る。次いで、その選択は、明示的重み付け予測と比較され得る。詳細には、符号器22は、明示的重みファクタを計算するために明示的重み付け予測を実行し得るが、符号器22はまた、計算された明示的重み付け予測を、デフォルト重み付け予測または暗黙的重み付け予測のいずれかによって定義された重みファクタに対応する重みファクタを有する明示的重み付け予測と比較し得る。
明示的重み付け予測は、オフセットが符号化されることを可能にするという点で、明示的重み付け予測はデフォルト重み付け予測および暗黙的重み付け予測に対して利点を有し得る。オフセットは、予測データを調整し得、ビデオフレーム間のフラッシュ、暗くなる空、シーン変化、または他のタイプの照明変化を相殺するのに極めて有用であり得る。本開示によれば、明示的重み付け予測のコンテキストにおいて、デフォルト重み付け予測または暗黙的重み付け予測のいずれかによって定義された重みファクタがビデオ符号器22によって考慮され得、それにより、デフォルト重み付け予測または暗黙的重み付け予測に関連する重みファクタを維持しながら、オフセットの追加を可能にし得る。このようにして、予測データが場合によっては改善され得、それにより、データ圧縮を改善するのを助け得る。
ビデオ符号化のコンテキストにおいて、ビデオ符号器22は、最初に、符号化されているルーマビデオブロックのルーマピクセル値を平均化することによって、DCオフセットを計算することができる。次に、ビデオ符号器22は、ビデオブロックを符号化するために使用される予測ビデオブロックのルーマピクセル値を平均化し得る。これらの計算値の各々はDC値を備え得る。ビデオ符号器22は、互いからDC値を減算することによって、たとえば、現在のブロックを符号化するために使用される予測ブロックの平均ルーマ値から、コーディングされている現在のブロックの平均ルーマ値を減算することによって、DCオフセットを計算し得る。DCオフセットは、所望される場合、クロマ成分についても定義され得る。DCオフセットはまた、所与のコード化ユニット(たとえば、フレームまたはスライス)にわたって累積され、所与のコード化ユニットのブロックのすべてのオフセットの平均としてコード化ユニットに対して定義され得る。
図2は、本開示に一致する技法を実行し得るビデオ符号器50の一例を示すブロック図である。ビデオ符号器50は、ソースデバイス12のビデオ符号器22、または異なるデバイスのビデオ符号器に対応し得る。ビデオ符号器50は、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得るが、説明を簡単にするために、イントラコーディング構成要素は図2に示していない。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は空間ベースの圧縮モードを指し、予測(Pモード)または双方向(Bモード)などのインターモードは、時間ベースの圧縮モードを指し得る。
図2に示すように、ビデオ符号器50は、符号化すべきビデオフレームまたはスライス内の現在のビデオブロックを受信する。図2の例では、ビデオ符号器50は、動き推定ユニット32と、動き補償ユニット35と、メモリ34と、加算器48と、変換ユニット38と、量子化ユニット40と、エントロピーコーディングユニット46とを含む。ビデオブロック再構成のために、ビデオ符号器50はまた、逆量子化ユニット42と、逆変換ユニット44と、加算器51とを含む。ビデオ符号器50はまた、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図示せず)を含み得る。所望される場合、デブロッキングフィルタは、一般に、加算器51の出力をフィルタ処理するであろう。
符号化プロセス中に、ビデオ符号器50は、コーディングすべきビデオブロックを受信し、動き推定ユニット32および動き補償ユニット35は、インター予測コーディングを実行する。動き推定ユニット32と動き補償ユニット35とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、一般に、ビデオブロックの動きを推定する、動きベクトルを生成するプロセスと考えられる。動きベクトルは、たとえば、現在のフレーム(または他のコード化ユニット)内のコーディングされている現在のブロックに対する、予測フレーム(または他のコード化ユニット)内の予測ブロックの変位を示し得る。動き補償は、一般に、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成するプロセスと考えられる。この場合も、動き推定ユニット32と動き補償ユニット35とは機能的に統合され得る。例示のために、本開示で説明する技法は、動き補償ユニット35によって実行されるものとして説明する。
動き推定ユニット32は、コーディングすべきビデオブロックを1つまたは複数の予測コード化ユニット(たとえば、時間に関してまたは時間的に前のおよび/または将来のフレーム)のビデオブロックと比較することによって、そのビデオブロックに適した動きベクトルを選択する。動き推定ユニット32は、一例として、Bフレームの動きベクトルをいくつかの方法で選択し得る。1つの方法では、動き推定ユニット32は、(リスト0と呼ばれる)フレームの第1のセットから前のまたは将来のフレームを選択し、リスト0からこの前のまたは将来のフレームのみを使用して動きベクトルを判断し得る。代替的に、動き推定ユニット32は、(リスト1と呼ばれる)フレームの第2のセットから前のまたは将来のフレームを選択し、リスト1からのこの前のまたは将来のフレームのみを使用して動きベクトルを判断し得る。さらに別の方法では、動き推定ユニット32は、リスト0から第1のフレームを選択し、リスト1から第2のフレームを選択し、リスト0の第1のフレームとリスト1の第2のフレームとから1つまたは複数の動きベクトルを選択し得る。この第3の形態の予測は双予測動き推定と呼ばれ得る。本開示の技法は、動き補償双予測モードを効率的に選択するように実装され得る。所与のリストの選択された動きベクトルは、たとえば、コーディングされているブロックのピクセル値に対する予測ブロックのピクセル値の絶対値差分和(SAD)または2乗差分和(SSD)などのメトリックによって定義される、コーディングされているビデオブロックに最も類似している予測ビデオブロックを指し得る。
ITU−T H.264/AVC規格によれば、Bフレームのビデオブロック、マクロブロック、あるいは他の離散部分および/または連続部分など、Bフレームまたはその部分を予測するために3つの動き補償双予測アルゴリズムまたはモードが使用され得る。デフォルト重み付け予測と一般的に呼ばれる第1の動き補償双予測アルゴリズムまたはモードは、リスト0の第1のフレームとリスト1の第2のフレームとの各識別されたビデオブロックにデフォルト重みを適用することに関与し得る。デフォルト重みは、規格に従ってプログラムされ得、しばしば、デフォルト重み付け予測では等しくなるように選択され得る。次いで、第1のフレームの重み付けブロックと第2のフレームの重み付けブロックは、互いに加算され、Bフレームを予測するために使用されたフレームの総数、たとえば、この例では2によって除算される。しばしば、この除算は、第1のフレームの重み付けブロックと第2のフレームの重み付けブロックとの加算に1を加算し、次いで、その結果を1ビットだけ右シフトすることによって達成される。1の加算は丸め調整である。
本開示の一態様によれば、1だけ右シフトすることより前の1の加算(丸め調整)は回避され、したがって上方バイアス丸めをなくし得る。動き補償ユニット35は、丸めを用いて重み付けブロックを生成することと、丸めを用いないで重み付けブロックを生成することの両方が可能であり、最良のコーディング効率を達成するブロックを選択し得る。
より一般的には、重み付け予測は次式によって与えられる。
Figure 0005784689
ただし、pred(i,j)は重み付け予測ブロックに関連するデータであり、pred0(i,j)はリスト0からのデータであり、pred1(i,j)はリスト1からのデータであり、w0およびw1は重みファクタであり、2rは丸め項であり、>>は(r+1)ビットの右シフト演算である。本開示に一致して、pred(i,j)の2つの異なるバージョンが動き補償ユニット35によって生成され、考慮され得る。第1のバージョンは上式に一致し、第2のバージョンは、丸めなしで、すなわち、式から項「2r」を削除して上式に一致する。この丸めをなくすことは、場合によってはより良い重み付け予測データを達成し得、それにより、コーディング効率を改善することができる。動き補償ユニット35は、所与のビデオブロックまたはビデオブロックのセットに対して丸めが使用されたか否かを確定するために、1つまたは複数のシンタックス要素を生成し得る。双方向予測モードと、丸めが使用されたかどうかを示す1つまたは複数のシンタックス要素との両方が、符号化ビットストリームに含めるために、動き補償ユニット35からエントロピーコーディングユニット46に出力され得る。
Bピクチャは、前にコーディングされた参照ピクチャの2つのリスト、すなわち、リスト0とリスト1とを使用する。これらの2つのリストは、それぞれ、時間順に過去および/または将来のコード化ピクチャを含むことができる。Bピクチャ中のブロックは、リスト0参照ピクチャからの動き補償予測、リスト1参照ピクチャからの動き補償予測、またはリスト0参照ピクチャとリスト1参照ピクチャの両方の組合せからの動き補償予測など、いくつかの方法のうちの1つで予測され得る。リスト0参照ピクチャとリスト1参照ピクチャの両方の組合せを得るために、2つの動き補償参照エリアが、それぞれリスト0参照ピクチャおよびリスト1参照ピクチャから取得される。それらの組合せは現在のブロックを予測するために使用される。
本開示では、「Bピクチャ」という用語は、Bフレーム、Bスライス、または場合によっては少なくともいくつかのBビデオブロックを含む他のビデオユニットであり得る、任意のタイプのBユニットを全般的に指すために使用される。前述のように、Bピクチャは、3つのタイプの重み付け予測を可能にし得る。簡単のために、以下では単方向予測における前方予測のみを示すが、後方予測も使用され得る。
デフォルト重み付け予測は、それぞれ単方向予測および双方向予測について、以下の式によって定義され得る。
Figure 0005784689
ただし、pred0(i,j)はリスト0からの予測データであり、pred1(i,j)はリスト1からの予測データである。
暗黙的重み付け予測は、それぞれ単方向予測および双方向予測について、以下の式によって定義され得る。
Figure 0005784689
この場合、各予測は重みファクタw0またはw1によってスケーリングされ、ただし、w0およびw1は、リスト0参照ピクチャとリスト1参照ピクチャとの相対時間位置に基づいて計算される。
明示的重み付け予測は、それぞれ単方向予測および双方向予測について、以下の式によって定義され得る。
Figure 0005784689
この場合、重みファクタは、符号器によって判断され、スライスヘッダ中で送信され、o1およびo2は、それぞれリスト0参照ピクチャおよびリスト1参照ピクチャのピクチャオフセットである。
従来、丸め調整は、双方向予測において常に使用される。上式によれば、デフォルト重み付け予測では1の右シフトの前に1の丸め調整が使用され、暗黙的重み付け予測では6の右シフトの前に32の丸め調整が使用される。一般に、rが正の整数を表す場合、rの右シフトの前に2r-1の丸め調整が通常使用される。
そのような頻繁でバイアスされた丸め演算は、予測の精度を低減し得る。さらに、明示的重み付け予測の双方向予測では、実際には、参照ピクチャ用の丸めと、オフセット用の丸めの、2つの丸めがある。したがって、この場合、丸め誤差が累積し得る。本開示の一態様によれば、2つの別々の丸めを行う代わりに、ビデオ符号器は、以下のように、右シフトの前に重み付け予測にオフセットを追加することができる。
Figure 0005784689
ただし、pred(i,j)は丸めに関連する重み付け予測データであり、pred0(i,j)はリスト0からのデータであり、pred1(i,j)はリスト1からのデータであり、w0およびw1は重みファクタであり、o1およびo2はオフセットであり、rおよび2rは、ビット(r+1)の右シフト演算「>>」とともに丸めを与える丸め項である。これは、より良い予測精度を与え得る。この場合、2つの異なるオフセット(o1およびo2)を組み合わせて1つのオフセットにすることを可能にする、新しいシンタックス要素も定義され得る。さらに、この場合、丸め値は、上記で説明した丸め調整(たとえば、(r+1)ビットの右シフト演算より前の2r)、ならびにオフセットに関連する別の丸め値(「r」)を備え得る。上式はまた、より高い精度をオフセットに与えるために、わずかに修正され得る。オフセットのより高い精度が望まれる場合、オフセットは、(2などの)ファクタで乗算され、次いで整数に丸められ得る。左シフトはまた、オフセットへのこの追加された精度を相殺するように変更され得る。
明示的重み付け予測における別の問題は、単方向予測および双方向予測が同じ重みおよびオフセットを共有し得るということである。より良い予測のための柔軟性をより大きくするために、本開示によれば、単方向予測と双方向予測は分離され得る。この場合、単方向予測および双方向予測は、所与のタイプの予測(デフォルト、暗黙的または明示的)に対して異なる重みおよびオフセットを定義し得る。より良い予測を可能にするために、明示的予測のための新しいシンタックス要素が定義され得る。符号器は、復号器によって同じ丸めモードが使用され得るように、符号器によって使用された異なる丸めモードをシグナリングするために、シンタックス要素をコード化ビットストリーム中に含むことができる。
丸め調整を適応的に選択することが有利である。これを行う1つの方法は、予測データの2つ以上の異なるセットに基づいて、それらの予測データの2つ以上の異なるセットを生成(し、場合によってはビデオブロックを数回符号化)することである。予測データの1つのセットは非ゼロ丸めを有し、他のセットは丸めをなくし得る。さらに他の例では、上方丸め、下方丸め、および丸めなしが考慮され得る。動き補償ユニット35は、これらの様々なタイプの予測データを生成し得、所与のビデオブロックのための最良の予測データを選択するためにレートひずみ(RD)分析を行い得る。
レートひずみ(RD)分析は、ビデオコーディングにおいてかなり一般的であり、概して、コーディングコストを示すコストメトリックの計算に関与する。コストメトリックは、コーディングに必要なビット数(レート)と、コーディングに関連する品質レベル(ひずみ)とのバランスをとり得る。典型的なレートひずみコスト計算は、概して、以下の形式に対応し得る。
Figure 0005784689
ただし、J(λ)はコストであり、Rはビットレートであり、Dはひずみであり、λはラグランジュ乗数である。
ビデオ符号器50が最も望まれる予測データを識別するための1つの方法は、まず動きベクトルを発見するために動き推定ユニット32を使用し、次いで、丸め調整を用いておよび用いないで予測誤差を計算するために動き補償ユニット35および加算器48を実装することである。次いで、動き補償ユニット35は、最小の予測誤差を生じる予測データを選択し得る。予測誤差は、予測データと符号化されている現在のデータとの間の絶対値差分和を使用することによって計算され得る。
明示的重み付け予測では、ビデオ符号器50の動き補償ユニット35は、3つの異なるモードを実装し得る。3つのすべての明示的重み付け予測モードにおいて、各参照ピクチャは、単方向予測のために使用される1つのオフセットを有し得、参照ピクチャの各ペアは、以下のように双方向予測のための1つのオフセットを有する。
Figure 0005784689
ただし、pred(i,j)は第1の重み付け予測データであり、pred0(i,j)はリスト0からのデータであり、pred1(i,j)はリスト1からのデータであり、w0およびw1は重みファクタであり、oは、リスト0からのpred0(i,j)およびリスト1からのpred1(i,j)に適用可能な共通のオフセットであり、rおよび2rは、(r+1)ビットの右シフト演算「>>」とともに丸めを与える丸め項である。第1のモードは、デフォルト重み付け予測によって定義された重みを使用し得る。第2のモードは、暗黙的重み付け予測によって定義された重みを使用し得る。第3のモードは、各参照ピクチャが単方向予測のための1つの重みを有し、双方向予測に関与する参照ピクチャの各ペアが、両方の参照ピクチャのための重みのペアを有することを可能にする。第3のモードのために定義される重みは適応的に判断され得、場合によっては、これらのコンテキストにおいてオフセットを可能にするために、明示的重み付け予測フレームワークは、デフォルト重み付け予測または暗黙的重み付け予測によって定義された重みとともに使用され得る。さらに、この第3のモードにおいて定義される重みおよびオフセットは、単方向予測と双方向予測とで異なり得る。上式はまた、より高い精度をオフセットに与えるために、わずかに修正され得る。オフセットのより高い精度が望まれる場合、オフセットは、(2などの)ファクタで乗算され、次いで整数に丸められ得る。左シフトはまた、オフセットへのこの追加された精度を相殺するように変更され得、たとえば、この場合、左シフトは、r−1に変更され得る。
ビデオ符号器50が、所与のビデオブロックまたはビデオブロックのセットのために使用された特定のモードを復号器にシグナリングするために、ビデオ符号器50は、derived_weight_flagおよびpoc_weight_flagという、2つの単一ビットシンタックス要素を実装し得る。この場合、derived_weight_flagは、上記の第1の2つの明示的重み付け予測モードと第3のモードとの間で選択するために使用され得、poc_weight_flagは、第1の明示的重み付け予測モードと第2の明示的重み付け予測モードとの間で選択するために使用され得る。
最良の重み付け予測を発見するために、ビデオ符号器50は、マルチパス符号化を実行し、レートひずみコストに基づいて最良のモードを選択し得る。これを行う1つの方法は、動き補償ユニット35があらゆる可能な重み付け予測データを生成し、最良の重み付け予測データを選択する、全数探索である。ただし、複雑さを低減するために、動き補償ユニット35は、たとえば、最初にデフォルト重み付け予測と暗黙的重み付け予測との間で選択し、次いで、その選択を明示的重み付け予測と比較するために、本開示の追加の技法を実装し得る。動き補償ユニット35は、明示的重み付け予測に関連する重みおよびオフセットを計算し得、また、どちらが選択されても、さもなければデフォルト重み付け予測または暗黙的重み付け予測に関連するデータにオフセットを追加するために明示的重み付け予測フレームワークを使用し得る。したがって、動き補償ユニット35によって計算されるオフセットの2つのセットが存在し得る。オフセットの第1のセットは、デフォルト重み付け予測または暗黙的重み付け予測において使用される既知の重みを使用することによって計算され得、オフセットの第2のセットは、たとえば、動き補償予測誤差を最小限に抑えることによって、明示的重み付け予測の通常の計算の一部として重みと一緒に計算され得る。
複雑さをさらに低減するために、明示的重み付け予測中、オフセットが0である場合、動き補償ユニット35は、デフォルト重みまたは暗黙的重みを使用する明示的重み付け予測をスキップし得る。また、オフセットが0であり、計算された重みが変化を有しない場合、動き補償ユニット35は、計算された重みおよびオフセットを使用する典型的な明示的重み付け予測をスキップし得る。
本明細書で説明するように、所望の予測データが動き補償ユニット35によって識別されると、ビデオ符号器50は、コーディングされている元のビデオブロックから予測データを減算することによって残差ビデオブロックを形成する。加算器48は、この減算演算を実行する1つまたは複数の構成要素を表す。変換ユニット38は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換ブロック係数を備えるビデオブロックを生成する。変換ユニット38は、たとえば、概念的にDCTと同様である、H.264規格によって定義された変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換ユニット38は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル領域から周波数領域に変換し得る。
量子化ユニット40は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、9ビット値は、量子化中に8ビット値に切り捨てられ得る。さらに、量子化ユニット40はまた、オフセットが使用される場合について異なるオフセットを量子化し得る。
量子化の後、エントロピーコーディングユニット46は量子化変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット46は、コンテンツ適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、または別のエントロピーコーディング方法を実行し得る。エントロピーコーディングユニット46によるエントロピーコーディングの後、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信または検索するためにアーカイブされ得る。コード化ビットストリームは、エントロピーコード化残差ブロック、そのようなブロックの動きベクトル、および本明細書で説明するシンタックスなどの他のシンタックスを含み得る。
逆量子化ユニット42および逆変換ユニット44は、それぞれ逆量子化および逆変換を適用して、たとえば、上述の方法で参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。加算器51は、再構成された残差ブロックを、動き補償ユニット35によって生成された動き補償予測ブロックに加算して、メモリ34に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するために動き推定ユニット32および動き補償ユニット35によって参照ブロックとして使用され得る。
図3は、図2の動き補償ユニット35の一例をより詳細に示すブロック図である。図3の例に示すように、動き補償ユニット35はメモリ34に結合し、メモリ34は、コード化ユニットまたは参照フレームの第1および第2のセットをリスト0 52Aおよびリスト1 52Bとして記憶する。さらに、メモリ34は、コーディングされる現在のビデオデータ53を記憶し得る。メモリ34は、共有記憶構造、または場合によってはいくつかの異なるメモリ、ストレージユニット、バッファ、または本明細書で説明する任意のデータの記憶を可能にする他のタイプのストレージを備え得る。リスト0 52Aおよびリスト1 52Bは、双方向予測による、2つの異なる予測ユニットに関連するデータ、たとえば、2つの異なるフレームまたはスライスまたはマクロブロックからのデータである。この場合も、双方向予測は必ずしも予測方向に限定されるわけではなく、したがって、リスト0 52Aおよびリスト1 52Bは、2つの前のフレームまたはスライス、2つの後続のフレームまたはスライス、あるいは1つの前のフレームまたはスライスおよび1つの後続のフレームまたはスライスからのデータを記憶し得る。さらに、場合によっては、リスト0 52Aおよび/またはリスト1 52Bはそれぞれ、複数のフレーム、スライスまたはマクロブロックに関連するデータを含み得る。リスト0 52Aおよび/またはリスト1 52Bは、可能な予測データの2つの異なるセットにすぎず、各リストは、符号化されている現在のビデオブロックに対して任意の方向に1つのフレームまたはスライス、あるいはいくつかのフレーム、スライスまたはマクロブロックを含み得る。
図3に示すように、動き補償ユニット35は、デフォルト重み付け予測ユニット54と、暗黙的重み付け予測ユニット56と、明示的重み付け予測ユニット58とを含む。ユニット54、56および58はそれぞれ、本明細書で説明するようにデフォルト重み付け予測、暗黙的重み付け予測、および明示的重み付け予測を実行する。レートひずみ(RD)分析ユニット64は、これらの可能性の中で重み付け予測データを選択し、選択プロセスを可能にするために本開示の技法を実装し得る。
動き補償ユニット35はまた、ユニット54、56および58のうちの1つまたは複数に、それぞれの重み付け予測データの丸めバージョンと非丸めバージョンの両方を生成させる、丸めユニット55を含む。この場合も、丸めをなくすことによって、重み付け予測データはいくつかのコンテキストにおいて改善され得る。
さらに、動き補償ユニット35は、オフセットを計算するオフセット計算ユニット62を含む。ITU−T H.264/MPEG−4 AVCコーディングフォーマットに従って、オフセットは明示的重み付け予測のみにおいて可能にされる。したがって、デフォルト重み付け予測または暗黙的重み付け予測のコンテキストにおいてオフセットを考慮するために、デフォルト重み付け予測ユニット54または暗黙的重み付け予測ユニット56によって判断された重みは、オフセット計算ユニット62によって判断されたオフセットとともに明示的重み付け予測ユニット58に転送され得る。このようにして、明示的重み付け予測ユニット58は、RD分析ユニット64による考慮のために、デフォルト重み付け予測データまたは暗黙的重み付け予測データにオフセットを追加することによって、ITU−T H.264/MPEG−4 AVCコーディングフォーマットを活用することができる。この場合、明示的重み付け予測ユニット58は、通常の明示的重み付け予測データだけでなく、オフセット計算ユニット62によって判断されたオフセットとともにデフォルト重み付け予測ユニット54または暗黙的重み付け予測ユニット56によって判断された重みを使用する予測データをも生成する。
オフセット計算ユニットは、コーディングされているブロックのビデオブロック値の平均と予測ブロックのビデオブロック値の平均との間の差としてオフセットを計算し得る。オフセットはルーマビデオブロックについて計算され得、場合によっては、オフセットは、ルーマビデオブロックとクロマビデオブロックとについて計算され得る。
RD分析ユニット64は、異なる重み付け予測データを分析し、品質に関して、またはレートおよびひずみに関して最良の結果を生成する重み付け予測データを選択し得る。RD分析ユニット64は選択した重み付け予測データを出力し、その選択した重み付け予測データは、加算器48(図2)を介して、コーディングされているビデオブロックから減算され得る。重み付け予測データを生成するために使用すべき方式または方法を復号器に通知するために、シンタックス要素が使用され得る。シンタックス要素は、たとえば、丸めが使用されたか否かを示し得、デフォルト重み付け予測を使用すべきか、暗黙的重み付け予測を使用すべきか、または明示的重み付け予測を使用すべきかを示し得る。明示的重み付け予測を使用すべき場合、シンタックス要素はさらに、同じく明示的重み付け予測に関連する重みファクタおよびオフセットであるか、あるいはオフセット計算ユニット62からのオフセットの追加とともにデフォルト重み付け予測ユニット54または暗黙的重み付け予測ユニット56によって実際に定義された重みファクタであり得る、重みファクタおよびオフセットを識別し得る。
図4は、上記で説明した符号化技法とは逆の復号化技法を実行し得る、例示的なビデオ復号器70を示すブロック図である。ビデオ復号器70は、エントロピー復号化ユニット72と、予測ユニット75と、逆量子化ユニット76と、逆変換ユニット78と、メモリ74と、加算器79とを含み得る。予測ユニット75は、動き補償(MC)ユニット88、ならびに説明を簡単で容易にするために図示されていない空間的予測構成要素を含み得る。
ビデオ復号器70は、符号化されたビデオデータと、その符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素とを受信し得る。予測ユニット75のMCユニット86は、本明細書で説明するように、データの2つ以上のリストに依存する重み付け予測データを生成し得る。本開示によれば、1つまたは複数のシンタックス要素が、符号化されたビデオデータを符号化するために丸め調整が使用されなかったことを示す場合、重み付け予測データは丸め調整を含まない。ビデオ復号器70は、重み付け予測データを使用して、たとえば、重み付け予測データ(たとえば、予測ブロック)を残差データ(たとえば、残差ブロック)に加算するために加算器79を呼び出すことによって、ビデオデータを復号化することができる。
概して、エントロピー復号化ユニット72は、符号化されたビットストリームを受信し、量子化係数、動き情報および他のシンタックスを生成するためにビットストリームをエントロピー復号化する。動き情報(たとえば、動きベクトル)および他のシンタックスは、予測データを生成する際に使用するために予測ユニット75に転送される。予測ユニット75は、本開示に一致する双方向予測を実行し、いくつかの場合においては丸め調整を回避し、場合によっては、受信したシンタックス要素に従ってデフォルト重み付け予測、暗黙的重み付け予測または明示的重み付け予測を実装する。シンタックス要素は、使用すべき重み付け予測のタイプと、明示的重み付け予測を使用すべき場合の係数およびオフセットと、復号化において丸め調整を使用すべきかどうかとを識別し得る。
量子化係数はエントロピー復号化ユニット72から逆量子化ユニット76に送られ、逆量子化ユニット76は逆量子化を実行する。次いで、逆変換ユニット78は、逆量子化係数をピクセル領域に逆変換して、残差ブロックを生成する。加算器79は、予測ユニット75によって生成された予測データ(たとえば、予測ブロック)を逆変換ユニット78からの残差ブロックと合成して、再構成されたビデオブロックを作成し、その再構成されたビデオブロックは、メモリ74に記憶され、および/または復号化されたビデオ出力としてビデオ復号器70から出力され得る。
図5は、本開示に一致する、ビデオ符号器によって実行される例示的なプロセスを示すフローチャートである。図5について、図2のビデオ符号器50の観点から説明する。図5に示すように、動き補償ユニット35は、丸めを含む第1の重み付け予測データを生成し(101)、丸めを含まない第2の重み付け予測データを生成する(102)。次いで、動き補償ユニット35は、レートひずみ分析に基づいて第1および第2の重み付け予測データから予測データを選択する(103)。特に、動き補償ユニット35は、第1および第2の重み付け予測データに関連する符号化レートと符号化品質とを定量化し、それらのバランスをとる、第1および第2の重み付け予測データのコストメトリックを判断し、最も低いコストをもつ予測データを選択し得る。次いで、ビデオ符号器50は、選択された予測データに基づいてビデオデータを符号化することができる(104)。たとえば、ビデオ符号器50は、コーディングされているビデオデータから、選択された予測データを減算するために加算器48を呼び出し得、次いで、変換のために変換ユニット38を呼び出し、量子化のために量子化ユニット40を呼び出し、量子化および変換された残差係数のエントロピーコーディングのためにエントロピーコーディングユニット46を呼び出し得る。この場合、動き補償ユニット35は、予測データのために丸めが使用されたか否かを示す1つまたは複数のシンタックス要素を生成し得、そのようなシンタックス要素を、コード化ビットストリームに含めるためにエントロピーコーディングユニット46に転送し得る。
図6は、本開示に一致する、ビデオ復号器によって実行される例示的なプロセスを示すフローチャートである。図6について、図4のビデオ復号器70の観点から説明する。図6に示すように、ビデオ復号器は、符号化されたビデオデータを受信し(111)、ビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を受信する(112)。特に、エントロピー復号化ユニット72は、ビデオデータと1つまたは複数のシンタックス要素とを含む、符号化されたビットストリームを受信し得る。エントロピー復号化の後、エントロピー復号化ユニット72は、ビデオデータを量子化変換係数として出力し得、その量子化変換係数は、ユニット76によって逆量子化され、ユニット78によって逆変換される。エントロピー復号化ユニット72は、ビデオデータ、動きベクトル、および場合によっては他のシンタックスを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を含む、シンタックス要素を予測ユニットに出力し得る。
予測ユニット75は、ブロックベースの予測復号化のために動き補償ユニット86を呼び出す。そうする際に、動き補償ユニット86は、シンタックスに基づいて重み付け予測データを生成する(113)。したがって、1つまたは複数のシンタックス要素が、丸め調整が使用されたことを示す場合、動き補償ユニット86は、丸め調整を含む重み付け予測データを生成する。しかしながら、1つまたは複数のシンタックス要素が、丸め調整が使用されなかったことを示す場合、動き補償ユニット86は、丸め調整がない重み付け予測データを生成する。次いで、ビデオ復号器70は、重み付け予測データを使用してビデオデータを復号化することができる(114)。特に、ビデオ復号器70は、ビデオデータの再構成(たとえば、再構成されたビデオブロック)を生成するために、重み付け予測データ(たとえば、予測ブロック)を残差ビデオデータ(たとえば、残差ブロック)と合成するために加算器79を呼び出し得る。
図7は、本開示に一致する、ビデオ符号器によって実行される別の例示的なプロセスを示すフローチャートである。図7について、図2のビデオ符号器50の一部を形成し得る図3の動き補償ユニット35の観点から説明する。図7に示すように、デフォルト重み付け予測ユニット54は、丸めを用いてデフォルト重み付け予測を実行し(201)、丸めを用いないでデフォルト重み付け予測を実行する(202)。そのような丸めまたはそれの欠如を定義するために、丸めユニット55が呼び出され得る。次いで、暗黙的重み付け予測ユニット56は、丸めを用いて暗黙的重み付け予測を実行し(203)、丸めを用いないで暗黙的重み付け予測を実行する(204)。この場合も、そのような丸めまたはそれの欠如を定義するために、丸めユニット55が呼び出され得る。
上記で説明したように、デフォルト重み付け予測は、2つ以上の異なるリストに関連する重みファクタが何らかのデフォルト設定によってあらかじめ定義される重み付け予測を指す。デフォルト重み付け予測は、場合によっては、リストの各々に等しい重み付けを割り当て得る。暗黙的重み付け予測は、2つ以上の異なるリストに関連する重みファクタが、データに関連するいくつかの暗黙的ファクタに基づいて定義される重み付け予測を指す。たとえば、暗黙的重みファクタは、予測コーディングされているデータに対する、2つの異なるリスト中のデータの相対時間位置によって定義され得る。
RD分析ユニット64は、デフォルト重み付け予測または暗黙的重み付け予測のいずれかを選択する(205)。特に、RD分析ユニット64は、予測データの異なるバージョンに関連する品質およびコーディングレートに基づいてデフォルト重み付け予測または暗黙的重み付け予測のいずれかを選択し得る。たとえば、RD分析ユニット64は、コーディングされているビデオブロックに対する、予測データの異なるバージョンの類似度を考慮し、最も近接しているバージョンを選択し得る。
RD分析ユニット64がデフォルト重み付け予測を選択した場合(「デフォルト」205)、明示的重み付け予測データを計算し、そのようなデータを、デフォルト重みを使用する明示的重み付け予測データと比較するために、明示的重み付け予測ユニット58が呼び出され得る。上記のように、これは、デフォルト重みのコンテキストにおけるオフセットを可能にする。したがって、明示的重み付け予測は、さもなければデフォルト重み付け予測または暗黙的重み付け予測によって定義され得るデータに異なるオフセットを与えるための機構として使用され得る。上記で略述したように、明示的重み付け予測は、重みファクタがコーディングプロセスの一部として動的に定義され、ビットストリームに符号化される重み付け予測を指す。明示的重み付け予測は、この点においてデフォルト重み付け予測および暗黙的重み付け予測とは異なり、たとえば、明示的重み付け予測は、ビットストリームの一部として符号化された重みファクタを生じるが、デフォルト重み付け予測および暗黙的重み付け予測は、重みファクタがビットストリーム中にあることなしに、あらかじめ定義されるかまたは復号器によって判断される重みファクタを定義する。
特に、明示的重み付け予測ユニット58は、ITU−T H.264によって定義された従来の明示的重み付け予測を使用して明示的重みと明示的オフセットとを計算し得る(206)。明示的重みを計算するために、たとえば、明示的重み付け予測ユニット58は、重みとオフセットの両方について上記に記載した明示的重み付け予測式を解くために最小2乗平均(LMS)アルゴリズムを適用し得る。さらに、明示的重み付け予測ユニット58は、デフォルト重みに関連するオフセットを計算し得る(207)。オフセットを計算するために、明示的重み付け予測ユニット58によってオフセット計算ユニット62が呼び出され得る。特に、オフセット計算ユニット62は、コーディングされているビデオデータのピクセル値と重み付け予測データの所与のバージョンとの間の平均差として所与のオフセットを計算し得る。
次いで、明示的重み付け予測ユニット58は、予測データの2つの異なるバージョンを生成することができる。特に、明示的重み付け予測ユニット58は、デフォルト重みおよび対応するオフセットを使用して明示的重み付け予測を実行し(208)、また、計算された重みおよび対応する明示的オフセットを使用して明示的重み付け予測を実行し得る(209)。次いで、明示的重み付け予測データのこれらの2つの異なるバージョン(一方は通常の明示的重み付け予測に従って計算され、他方はオフセットの追加とともにデフォルト重みを使用して計算される)と、丸めを用いたまたは用いないデフォルト重み付け予測とは、RD分析ユニット64に送られ得る。RD分析ユニット64は、RD分析に基づいて予測モードを選択し得る(210)。特に、RD分析ユニット64は、明示的重み付け予測データのこれらの2つの異なるバージョン(一方は通常の明示的重み付け予測に従って計算され、他方はオフセットの追加とともにデフォルト重みを使用して計算される)との間で選択し得る。RD分析ユニット64は、コーディングされているビデオブロックに対する、予測データの異なるバージョンの類似度を考慮し、最も近接しているバージョンを選択し得る。
暗黙的重み付け予測データに関して、暗黙的重み付け予測データがデフォルト重み付け予測データに対して選択されるとき、同様のプロセスが行われる。すなわち、RD分析ユニット64が暗黙的重み付け予測を選択した場合(「暗黙的」205)、明示的重み付け予測データを計算し、そのようなデータを、暗黙的重みを使用する明示的重み付け予測データと比較するために、明示的重み付け予測ユニット58が呼び出され得る。これは、暗黙的重みのコンテキストにおけるオフセットを可能にする。特に、明示的重み付け予測ユニット58は、ITU−T H.264によって定義された従来の明示的重み付け予測を使用して明示的重みと明示的オフセットとを計算し得る(211)。さらに、明示的重み付け予測ユニット58は、暗黙的重みに関連するオフセットを計算し得る(212)。本明細書で説明するようにオフセットを計算するために、明示的重み付け予測ユニット58によってオフセット計算ユニット62が呼び出され得る。
次いで、明示的重み付け予測ユニット58は、予測データの2つの異なるバージョンを生成することができる。この場合、明示的重み付け予測ユニット58は、暗黙的重みおよび対応するオフセットを使用して明示的重み付け予測を実行し得(213)、また、計算された重みおよび対応する明示的オフセットを使用して明示的重み付け予測を実行し得る(214)。次いで、明示的重み付け予測データのこれらの2つの異なるバージョン(一方は通常の明示的重み付け予測に従って計算され、他方はオフセットの追加とともに暗黙的重みを使用して計算される)と、丸めを用いたまたは用いない暗黙的重み付け予測とは、RD分析ユニット64に送られ得る。RD分析ユニット64は、RD分析に基づいて予測モードを選択し得る。特に、RD分析ユニット64は、明示的重み付け予測データのこれらの2つの異なるバージョン(一方は通常の明示的重み付け予測に従って計算され、他方はオフセットの追加とともに暗黙的重みを使用して計算される)との間で選択し得る。RD分析ユニット64は、コーディングされているビデオブロックに対する、予測データの異なるバージョンの類似度を考慮し、最も近接しているバージョンを選択し得る。
本開示の技法は、ワイヤレスハンドセットおよび集積回路(IC)またはICのセット(すなわち、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするわけではない。本明細書で説明した技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せでも実装され得る。モジュール、ユニットまたは構成要素として説明した特徴は、集積論理デバイスにおいて一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。場合によっては、様々な特徴は、集積回路チップまたはチップセットなどの集積回路デバイスとして実装され得る。
ソフトウェアで実装する場合、これらの技法は、少なくとも部分的に、プロセッサで実行されると、上記で説明した方法の1つまたは複数を実行する命令を備えるコンピュータ可読媒体によって実現され得る。コンピュータ可読媒体は、コンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。本技法は、追加または代替として、少なくとも部分的に、命令またはデータ構造の形態でコードを搬送または通信し、コンピュータによってアクセス、読取り、および/または実行され得るコンピュータ可読通信媒体によって実現され得る。
コードまたは命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号化のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオコーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
本開示はまた、本開示で説明した技法の1つまたは複数を実装する回路を含む様々な集積回路デバイスのいずれかを企図する。そのような回路は、単一の集積回路チップ、またはいわゆるチップセット中の複数の相互運用可能な集積回路チップで提供され得る。そのような集積回路デバイスは様々な適用例において使用され得、適用例のいくつかは携帯電話ハンドセットなどのワイヤレス通信デバイスでの使用を含み得る。
本発明の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
なお、以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]ビデオデータを符号化する方法であって、
データの2つ以上のリストに依存し、丸め調整を含む第1の重み付け予測データを生成することと、
前記データの2つ以上のリストに依存し、前記丸め調整を含まない第2の重み付け予測データを生成することと、
予測データの複数の候補のレートひずみ分析に基づいて前記ビデオデータを符号化するための予測データを選択することと、ここにおいて、前記予測データの複数の候補は、前記第1の重み付け予測データと前記第2の重み付け予測データとを含む、
前記選択された予測データを使用して前記ビデオデータを符号化することと
を備える、方法。
[C2]前記第1および第2の重み付け予測データは、
双方向デフォルト重み付け予測データと、
双方向暗黙的重み付け予測データと、
双方向明示的重み付け予測データと
のうちの1つを備える、C1に記載の方法。
[C3]前記第1および第2の重み付け予測データは、双方向明示的重み付け予測データを備え、前記第1および第2の重み付け予測データは、オフセットを含み、前記丸め値は、前記丸め調整と前記オフセットに関連する丸め値の両方を備える、
C1に記載の方法。
[C4]前記第1の重み付け予測データは、以下の式
Figure 0005784689
に従って近似的に定義され、
pred(i,j)が前記第1の重み付け予測データであり、pred0(i,j)がリスト0からのデータであり、pred1(i,j)がリスト1からのデータであり、w0およびw1が重みファクタであり、o1およびo2がオフセットであり、rおよび2 r が、(r+1)ビットの右シフト演算「>>」とともに丸めを与える丸め項である
C1に記載の方法。
[C5]単方向予測データと双方向予測データとが予測のタイプに対して異なる重みおよびオフセットを定義するように分離される前記単方向予測データと前記双方向予測データとを生成すること
をさらに備え、
前記タイプは、デフォルト予測、暗黙的予測または明示的予測のうちの1つである
C1に記載の方法。
[C6]前記第1の重み付け予測データは、以下の式
Figure 0005784689
に従って近似的に定義され、
pred(i,j)が前記第1の重み付け予測データであり、pred0(i,j)がリスト0からのデータであり、pred1(i,j)がリスト1からのデータであり、w0およびw1が重みファクタであり、oが、リスト0からの前記pred0(i,j)およびリスト1からの前記pred1(i,j)に適用可能な共通のオフセットであり、rおよび2 r が、(r+1)ビットの右シフト演算「>>」とともに丸めを与える丸め項である
C1に記載の方法。
[C7]前記選択された予測データは前記丸め調整を含むかどうかを示すために1つまたは複数のシンタックス要素を符号化すること
をさらに備える、C1に記載の方法。
[C8]符号化されたビデオデータを受信することと、
前記符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を受信することと、
データの2つ以上のリストに依存する重み付け予測データを生成することと、ここにおいて、前記シンタックス要素は、前記符号化されたビデオデータを符号化するために前記丸め調整が使用されなかったことを示す場合、前記重み付け予測データが前記丸め調整を含まない、
前記重み付け予測データを使用して前記ビデオデータを復号化することと
を備える方法。
[C9]ビデオデータを符号化するビデオ符号器装置であって、
前記ビデオデータと、前記ビデオデータを予測符号化するために使用されるデータの2つ以上のリストを記憶するメモリと、
前記データの2つ以上のリストに依存し、丸め調整を含む第1の重み付け予測データを生成し、
前記データの2つ以上のリストに依存し、前記丸め調整を含まない第2の重み付け予測データを生成し、
予測データの複数の候補のレートひずみ分析に基づいて前記ビデオデータを符号化するための予測データを選択する
動き補償ユニットと
を備え、前記予測データの複数の候補は、前記第1の重み付け予測データと前記第2の重み付け予測データとを含み、前記ビデオ符号器装置は、前記選択された予測データを使用して前記ビデオデータを符号化する、
ビデオ符号器装置。
[C10]前記第1および第2の重み付け予測データは、
双方向デフォルト重み付け予測データと、
双方向暗黙的重み付け予測データと、
双方向明示的重み付け予測データと
のうちの1つを備える、C9に記載のビデオ符号器装置。
[C11]前記第1および第2の重み付け予測データは、双方向明示的重み付け予測データを備え、前記第1および第2の重み付け予測データは、オフセットを含み、丸め値は、前記丸め調整と前記オフセットに関連する丸め値の両方を備える、
C9に記載のビデオ符号器装置。
[C12]前記第1の重み付け予測データは、以下の式
Figure 0005784689
に従って近似的に定義され、
pred(i,j)が前記第1の重み付け予測データであり、pred0(i,j)がリスト0からのデータであり、pred1(i,j)がリスト1からのデータであり、w0およびw1が重みファクタであり、o1およびo2がオフセットであり、rおよび2 r が、(r+1)ビットの右シフト演算「>>」とともに丸めを与える丸め項である
C9に記載のビデオ符号器装置。
[C13]前記動き補償ユニットは、
単方向予測データと双方向予測データとが予測のタイプに対して異なる重みおよびオフセットを定義するように分離される前記単方向予測データと前記双方向予測データとを生成し、
前記タイプは、デフォルト予測、暗黙的予測または明示的予測のうちの1つである
C9に記載のビデオ符号器装置。
[C14]前記第1の重み付け予測データが、以下の式
Figure 0005784689
に従って近似的に定義され、
pred(i,j)が前記第1の重み付け予測データであり、pred0(i,j)がリスト0からのデータであり、pred1(i,j)がリスト1からのデータであり、w0およびw1が重みファクタであり、oが、リスト0からの前記pred0(i,j)およびリスト1からの前記pred1(i,j)に適用可能な共通のオフセットであり、rおよび2 r が、(r+1)ビットの右シフト演算「>>」とともに丸めを与える丸め項である
C9に記載のビデオ符号器装置。
[C15]前記ビデオ符号器装置は、前記選択された予測データが前記丸め調整を含むかどうかを示すために1つまたは複数のシンタックス要素を符号化する、
C9に記載のビデオ符号器装置。
[C16]前記ビデオ符号器装置は、集積回路を備える、
C9に記載のビデオ符号器装置。
[C17]前記ビデオ符号器装置は、マイクロプロセッサを備える、
C9に記載のビデオ符号器装置。
[C18]前記ビデオ符号器装置は、ビデオ符号器を含むワイヤレス通信デバイスを備える、
C9に記載のビデオ符号器装置。
[C19]符号化されたビデオデータを受信し、前記符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を復号化するエントロピーユニットと、
データの2つ以上のリストに依存する重み付け予測データを生成する予測ユニットと
を備え、前記1つまたは複数のシンタックス要素は、前記符号化されたビデオデータを符号化するために前記丸め調整が使用されなかったことを示す場合、前記重み付け予測データは、前記丸め調整を含まず、前記ビデオ復号器は、前記重み付け予測データを使用して前記ビデオデータを復号化する、
ビデオ復号器装置。
[C20]前記ビデオ復号器装置は、集積回路、マイクロプロセッサ、および前記エントロピーユニットと前記予測ユニットとを含むワイヤレス通信デバイスのうちの1つまたは複数を備える、
C19に記載のビデオ復号器装置。
[C21]ビデオデータを符号化するデバイスであって、
データの2つ以上のリストに依存し、丸め調整を含む第1の重み付け予測データを生成するための手段と、
データの前記2つ以上のリストに依存し、前記丸め調整を含まない第2の重み付け予測データを生成するための手段と、
予測データの複数の候補のレートひずみ分析に基づいて前記ビデオデータを符号化するための予測データを選択するための手段と、ここにおいて、前記予測データの複数の候補は、前記第1の重み付け予測データと前記第2の重み付け予測データとを含む、
前記選択された予測データを使用して前記ビデオデータを符号化するための手段と
を備えるデバイス。
[C22]前記第1および第2の重み付け予測データは、
双方向デフォルト重み付け予測データと、
双方向暗黙的重み付け予測データと、
双方向明示的重み付け予測データと
のうちの1つを備える、C21に記載のデバイス。
[C23]前記第1および第2の重み付け予測データは、双方向明示的重み付け予測データを備え、前記第1および第2の重み付け予測データは、オフセットを含み、丸め値は、前記丸め調整と前記オフセットに関連する丸め値の両方を備える、
C21に記載のデバイス。
[C24]前記第1の重み付け予測データは、以下の式
Figure 0005784689
に従って近似的に定義され、
pred(i,j)が前記第1の重み付け予測データであり、pred0(i,j)がリスト0からのデータであり、pred1(i,j)がリスト1からのデータであり、w0およびw1が重みファクタであり、o1およびo2がオフセットであり、rおよび2 r が、(r+1)ビットの右シフト演算「>>」とともに丸めを与える丸め項である
C21に記載のデバイス。
[C25]単方向予測データと双方向予測データとが予測のタイプに対して異なる重みおよびオフセットを定義するように分離される前記単方向予測データと前記双方向予測データとを生成するための手段と
をさらに備え、
前記タイプは、デフォルト予測、暗黙的予測または明示的予測のうちの1つである
C21に記載のデバイス。
[C26]前記第1の重み付け予測データは、以下の式
Figure 0005784689
に従って近似的に定義され、
pred(i,j)が前記第1の重み付け予測データであり、pred0(i,j)がリスト0からのデータであり、pred1(i,j)がリスト1からのデータであり、w0およびw1が重みファクタであり、oが、リスト0からの前記pred0(i,j)およびリスト1からの前記pred1(i,j)に適用可能な共通のオフセットであり、rおよび2 r が、(r+1)ビットの右シフト演算「>>」とともに丸めを与える丸め項である
C21に記載のデバイス。
[C27]前記選択された予測データが前記丸め調整を含むかどうかを示すために1つまたは複数のシンタックス要素を符号化するための手段
をさらに備える、C21に記載のデバイス。
[C28]符号化されたビデオデータを受信するための手段と、
前記符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を受信するための手段と、
データの2つ以上のリストに依存する重み付け予測データを生成するための手段と、ここにおいて、前記1つまたは複数のシンタックス要素は、前記符号化されたビデオデータを符号化するために前記丸め調整が使用されなかったことを示す場合、前記重み付け予測データは、前記丸め調整を含まない、
前記重み付け予測データを使用して前記ビデオデータを復号化するための手段と
を備えるデバイス。
[C29]実行されると、
データの2つ以上のリストに依存し、丸め調整を含む第1の重み付け予測データを生成することと、
データの前記2つ以上のリストに依存し、前記丸め調整を含まない第2の重み付け予測データを生成することと、
予測データの複数の候補のレートひずみ分析に基づいて前記ビデオデータを符号化するための予測データを選択することと、ここにおいて、予測データの前記複数の候補は、前記第1の重み付け予測データと前記第2の重み付け予測データとを含む、
前記選択された予測データを使用して前記ビデオデータを符号化することと
をプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。
[C30]実行時に、
前記選択された予測データが前記丸め調整を含むかどうかを示すために1つまたは複数のシンタックス要素を符号化すること
を前記プロセッサに行わせる命令をさらに備える、C29に記載のコンピュータ可読記憶媒体。
[C31]実行されると、
符号化されたビデオデータを受信し、前記符号化されたビデオデータを符号化するために丸め調整が使用されたかどうかを示す1つまたは複数のシンタックス要素を受信することと、
データの2つ以上のリストに依存する重み付け予測データを生成することと、ここにおいて、前記1つまたは複数のシンタックス要素が、前記符号化されたビデオデータを符号化するために前記丸め調整が使用されなかったことを示す場合、前記重み付け予測データは、前記丸め調整を含まない、
前記重み付け予測データを使用して前記ビデオデータを復号化することと
をプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。

Claims (34)

  1. ビデオデータをコーディングする方法であって、
    データの2つ以上のリストに依存し、少なくとも2つのオフセットと丸め調整とを含む明示的重み付け予測データを生成することと、ここで、前記明示的重み付け予測データは、以下の式、
    Figure 0005784689
    に従って近似的に生成され、
    ここで、pred(i,j)は、前記明示的重み付け予測データであり、pred0(i,j)およびpred1(i,j)は、前記データの2つ以上のリストからのデータであり、w0およびw1は、重みファクタであり、o1およびo2は、前記少なくとも2つのオフセットであり、rおよび2rは、前記丸め調整であり、(r+1)ビットの右シフト演算「>>」とともに前記丸めを与える、
    前記明示的重み付け予測データを使用して前記ビデオデータをコーディングすることと
    を備える、方法。
  2. 前記2つ以上のリストは、リスト0とリスト1とを含み、前記明示的重み付け予測データは、前記リスト0からの第1のデータと、前記リスト1からの第2のデータと、2つの異なる重みファクタと、2つの異なるオフセットと、少なくとも2つの異なる丸め項とに依存する、請求項1に記載の方法。
  3. o1は、リスト0からのpred0(i,j)に適用可能な第1のオフセットであり、o2は、リスト1からのpred1(i,j)に適用可能な第2のオフセットである、請求項1に記載の方法。
  4. 異なるオフセットがルーマブロックおよびクロマブロックのために適用される、請求項1に記載の方法。
  5. 前記少なくとも2つのオフセットが組み合わせられて、単一のオフセットoにされ、oは、リスト0からのpred0(i,j)およびリスト1からのpred1(i,j)に適用可能な共通オフセットである、請求項1に記載の方法。
  6. 前記コーディングすることは、符号化することを備え、前記明示的重み付け予測データは、第1の重み付け予測データを備え、
    丸め調整をまったく含まない第2の重み付け予測データを生成することと、
    予測データの複数の候補のレートひずみ分析に基づいて前記ビデオデータを符号化するための予測データを選択することと、ここで、前記予測データの複数の候補は、前記第1の重み付け予測データと前記第2の重み付け予測データとを含む、
    をさらに備える、請求項1に記載の方法。
  7. 前記選択された予測データが前記丸め調整を含む前記第1の重み付け予測データであることを示すために1つまたは複数のシンタックス要素を符号化すること
    をさらに備える、請求項6に記載の方法。
  8. 前記コーディングすることは符号化することを備え、前記コーディングされたビデオデータを含むコーディングされたビットストリームを出力することをさらに備える、請求項1に記載の方法。
  9. 前記コーディングすることは復号することを備え、前記コーディングされたビデオデータを含むコーディングされたビットストリームを受信することをさらに備える、請求項1に記載の方法。
  10. ビデオデータを符号化するための装置であって、
    前記ビデオデータと、前記ビデオデータを予測コーディングするために使用されるデータの2つ以上のリストと、を記憶するメモリと、
    前記データの2つ以上のリストに依存し、少なくとも2つのオフセットと丸め調整とを含む明示的重み付け予測データを生成し、前記明示的重み付け予測データを使用して前記ビデオデータを符号化するように構成されたプロセッサと、
    ここで、前記プロセッサは、以下の式、
    Figure 0005784689
    に従って近似的に前記明示的重み付け予測データを生成し、
    ここで、pred(i,j)は、前記明示的重み付け予測データであり、pred0(i,j)およびpred1(i,j)は、前記データの2つ以上のリストからのデータであり、w0およびw1は、重みファクタであり、o1およびo2は、前記少なくとも2つのオフセットであり、rおよび2rは、前記丸め調整であり、(r+1)ビットの右シフト演算「>>」とともに前記丸めを与える、装置。
  11. 前記2つ以上のリストは、リスト0とリスト1とを含み、前記明示的重み付け予測データは、前記リスト0からの第1のデータと、前記リスト1からの第2のデータと、2つの異なる重みファクタと、2つの異なるオフセットとに依存する、請求項10に記載の装置。
  12. o1は、リスト0からのpred0(i,j)に適用可能な第1のオフセットであり、o2は、リスト1からのpred1(i,j)に適用可能な第2のオフセットである、請求項10に記載の装置。
  13. 異なるオフセットがルーマブロックおよびクロマブロックのために適用される、請求項10に記載の装置。
  14. 前記少なくとも2つのオフセットが組み合わせられて、単一のオフセットoにされ、oは、リスト0からのpred0(i,j)およびリスト1からのpred1(i,j)に適用可能な共通オフセットである、請求項10に記載の装置。
  15. 前記明示的重み付け予測データは、第1の重み付け予測データを備え、前記プロセッサはさらに、
    丸め調整をまったく含まない第2の重み付け予測データを生成し、
    予測データの複数の候補のレートひずみ分析に基づいて前記ビデオデータを符号化するための予測データを選択し、ここで、前記予測データの複数の候補は、前記第1の重み付け予測データと前記第2の重み付け予測データとを含む、
    ように構成される、請求項10に記載の装置。
  16. 前記プロセッサはさらに、
    前記選択された予測データが前記丸め調整を含む前記第1の重み付け予測データであることを示すために1つ以上のシンタックス要素を符号化する
    ように構成される、請求項15に記載の装置。
  17. 前記プロセッサは、前記コーディングされたビデオデータを含むコーディングされたビットストリームを出力するように構成される、請求項10に記載の装置。
  18. 集積回路と、
    マイクロプロセッサと、
    ビデオ符号器と、
    ビデオ復号器と、
    ビデオ符号器を含むワイヤレス通信デバイスと、
    ビデオ復号器を含むワイヤレス通信デバイスと
    のうちの1つ以上を備える、請求項10に記載の装置。
  19. ビデオデータを復号するためのビデオ復号器装置であって、
    データの2つ以上のリストに依存し、少なくとも2つのオフセットと丸め調整とを含む明示的重み付け予測データを生成し、前記明示的重み付け予測データを使用して前記ビデオデータを復号するように構成されたプロセッサと、
    ここで、前記プロセッサは、以下の式、
    Figure 0005784689
    に従って近似的に前記明示的重み付け予測データを生成し、
    ここで、pred(i,j)は、前記明示的重み付け予測データであり、pred0(i,j)およびpred1(i,j)は、前記データの2つ以上のリストからのデータであり、w0およびw1は、重みファクタであり、o1およびo2は、前記少なくとも2つのオフセットであり、rおよび2rは、前記丸め調整であり、(r+1)ビットの右シフト演算「>>」とともに前記丸めを与える、ビデオ復号器装置。
  20. 前記2つ以上のリストは、リスト0とリスト1とを含み、前記明示的重み付け予測データは、前記リスト0からの第1のデータと、前記リスト1からの第2のデータと、2つの異なる重みファクタと、2つの異なるオフセットとに依存する、請求項19に記載のビデオ復号器装置。
  21. o1は、リスト0からのpred0(i,j)に適用可能な第1のオフセットであり、o2は、リスト1からのpred1(i,j)に適用可能な第2のオフセットである、請求項19に記載のビデオ復号器装置。
  22. 異なるオフセットがルーマブロックおよびクロマブロックのために適用される、請求項19に記載のビデオ復号器装置。
  23. 前記少なくとも2つのオフセットが組み合わせられて、単一のオフセットoにされ、oは、リスト0からのpred0(i,j)およびリスト1からのpred1(i,j)に適用可能な共通オフセットである、請求項19に記載のビデオ復号器装置。
  24. 集積回路と、マイクロプロセッサと、ワイヤレス通信デバイスと、のうちの1つ以上を備える、請求項19に記載のビデオ復号器装置。
  25. ビデオデータをコーディングするためのデバイスであって、
    データの2つ以上のリストに依存し、少なくとも2つのオフセットと丸め調整とを含む明示的重み付け予測データを生成するための手段と、
    ここで、前記手段は、以下の式、
    Figure 0005784689
    に従って前記明示的重み付け予測データを生成するように構成され、
    ここで、pred(i,j)は、前記明示的重み付け予測データであり、pred0(i,j)およびpred1(i,j)は、前記データの2つ以上のリストからのデータであり、w0およびw1は、重みファクタであり、o1およびo2は、前記少なくとも2つのオフセットであり、rおよび2rは、前記丸め調整であり、(r+1)ビットの右シフト演算「>>」とともに前記丸めを与える、
    前記明示的重み付け予測データを使用して前記ビデオデータをコーディングするための手段と
    を備えるデバイス。
  26. 前記2つ以上のリストは、リスト0とリスト1とを含み、前記明示的重み付け予測データは、前記リスト0からの第1のデータと、前記リスト1からの第2のデータと、2つの異なる重みファクタと、2つの異なるオフセットとに依存する、請求項25に記載のデバイス。
  27. o1は、リスト0からのpred0(i,j)に適用可能な第1のオフセットであり、o2は、リスト1からのpred1(i,j)に適用可能な第2のオフセットである、請求項25に記載のデバイス。
  28. 異なるオフセットがルーマブロックおよびクロマブロックのために適用される、請求項25に記載のデバイス。
  29. 命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記命令は、実行されるとプロセッサに、
    データの2つ以上のリストに依存し、少なくとも2つのオフセットと丸め調整とを含む明示的重み付け予測データを生成させ、
    前記明示的重み付け予測データを使用してビデオデータをコーディングさせ、
    ここで、前記明示的重み付け予測データは、以下の式、
    Figure 0005784689
    に従って近似的に生成され、
    ここで、pred(i,j)は、前記明示的重み付け予測データであり、pred0(i,j)およびpred1(i,j)は、前記データの2つ以上のリストからのデータであり、w0およびw1は、重みファクタであり、o1およびo2は、前記少なくとも2つのオフセットであり、rおよび2rは、前記丸め調整であり、(r+1)ビットの右シフト演算「>>」とともに前記丸めを与える、非一時的なコンピュータ可読記憶媒体。
  30. 前記2つ以上のリストは、リスト0とリスト1とを含み、前記明示的重み付け予測データは、前記リスト0からの第1のデータと、前記リスト1からの第2のデータと、2つの異なる重みファクタと、2つの異なるオフセットとに依存する、請求項29に記載の非一時的なコンピュータ可読記憶媒体。
  31. o1は、リスト0からのpred0(i,j)に適用可能な第1のオフセットであり、o2は、リスト1からのpred1(i,j)に適用可能な第2のオフセットである、請求項29に記載の非一時的なコンピュータ可読記憶媒体。
  32. 異なるオフセットがルーマブロックおよびクロマブロックのために適用される、請求項29に記載の非一時的なコンピュータ可読記憶媒体。
  33. 前記命令は、前記プロセッサに前記ビデオデータを符号化させる、請求項29に記載の非一時的なコンピュータ可読記憶媒体。
  34. 前記命令は、前記プロセッサに前記ビデオデータを復号させる、請求項29に記載の非一時的なコンピュータ可読記憶媒体。
JP2013246786A 2009-07-09 2013-11-28 ビデオ符号化における非ゼロ丸めおよび予測モード選択技法 Active JP5784689B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/499,990 2009-07-09
US12/499,990 US9161057B2 (en) 2009-07-09 2009-07-09 Non-zero rounding and prediction mode selection techniques in video encoding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012519737A Division JP5678057B2 (ja) 2009-07-09 2010-07-08 ビデオデータを符号化する方法および装置

Publications (2)

Publication Number Publication Date
JP2014090436A JP2014090436A (ja) 2014-05-15
JP5784689B2 true JP5784689B2 (ja) 2015-09-24

Family

ID=42735838

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2012519737A Active JP5678057B2 (ja) 2009-07-09 2010-07-08 ビデオデータを符号化する方法および装置
JP2013246786A Active JP5784689B2 (ja) 2009-07-09 2013-11-28 ビデオ符号化における非ゼロ丸めおよび予測モード選択技法
JP2014212878A Active JP5931995B2 (ja) 2009-07-09 2014-10-17 ビデオ符号化における非ゼロ丸めおよび予測モード選択技法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012519737A Active JP5678057B2 (ja) 2009-07-09 2010-07-08 ビデオデータを符号化する方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014212878A Active JP5931995B2 (ja) 2009-07-09 2014-10-17 ビデオ符号化における非ゼロ丸めおよび予測モード選択技法

Country Status (7)

Country Link
US (2) US9161057B2 (ja)
EP (3) EP3322184A1 (ja)
JP (3) JP5678057B2 (ja)
CN (2) CN102474621B (ja)
HK (1) HK1210344A1 (ja)
TW (1) TWI413419B (ja)
WO (1) WO2011006004A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015053701A (ja) * 2009-07-09 2015-03-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオ符号化における非ゼロ丸めおよび予測モード選択技法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8711930B2 (en) * 2009-07-09 2014-04-29 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
US20120051432A1 (en) * 2010-08-26 2012-03-01 Samsung Electronics Co., Ltd Method and apparatus for a video codec with low complexity encoding
PL2661892T3 (pl) 2011-01-07 2022-08-16 Nokia Technologies Oy Przewidywanie ruchu w kodowaniu wideo
CA2828013C (en) * 2011-02-25 2016-07-26 Blackberry Limited Methods and devices for data compression using offset-based adaptive reconstruction levels
JP5768491B2 (ja) * 2011-05-17 2015-08-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JP5786478B2 (ja) 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
KR20120140592A (ko) 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
WO2012177052A2 (ko) 2011-06-21 2012-12-27 한국전자통신연구원 인터 예측 방법 및 그 장치
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
US9948938B2 (en) * 2011-07-21 2018-04-17 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
US10499063B2 (en) * 2011-09-16 2019-12-03 Hfi Innovation Inc. Method and apparatus for prediction mode and partition mode syntax coding for coding units in HEVC
US20130083845A1 (en) * 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
WO2013126815A1 (en) * 2012-02-22 2013-08-29 Visa International Service Association Data security system using mobile communications device
TWI521946B (zh) * 2012-12-21 2016-02-11 杜比實驗室特許公司 在高位元深度視訊的可適性編碼中,高精度升取樣
WO2014102798A1 (en) * 2012-12-31 2014-07-03 Given Imaging Ltd. System and method for displaying an image stream
ES2699725B2 (es) 2016-07-05 2021-03-12 Kt Corp Metodo y aparato para procesar senal de video
US10499078B1 (en) * 2017-02-07 2019-12-03 Google Llc Implicit motion compensation filter selection
CN109963155B (zh) * 2017-12-23 2023-06-06 华为技术有限公司 图像块的运动信息的预测方法、装置及编解码器
CN112075078B (zh) * 2018-02-28 2024-03-15 弗劳恩霍夫应用研究促进协会 合成式预测及限制性合并
US11394989B2 (en) * 2018-12-10 2022-07-19 Tencent America LLC Method and apparatus for video coding
WO2020251422A2 (en) * 2019-10-07 2020-12-17 Huawei Technologies Co., Ltd. Method and apparatus of adaptive adjustment of weighting prediction parameter precision for harmonizing non-rectangular merge mode and weighted prediction
CN115699759A (zh) * 2020-06-05 2023-02-03 北京达佳互联信息技术有限公司 采用基于satd的成本计算对视频进行编解码的方法和装置
US20230199217A1 (en) * 2021-12-21 2023-06-22 Mediatek Inc. Shared Architecture For Multiple Video Coding Modes

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US6816552B2 (en) 2001-07-11 2004-11-09 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
EA005878B1 (ru) * 2002-01-11 2005-06-30 Файберлайн А/С Способ изготовления конструктивного элемента, усиленного волокном
CA2442945C (en) * 2002-02-01 2012-05-08 Kiyofumi Abe Moving picture coding method and moving picture decoding method
CA2380105A1 (en) * 2002-04-09 2003-10-09 Nicholas Routhier Process and system for encoding and playback of stereoscopic video sequences
MXPA05000335A (es) 2002-07-09 2005-03-31 Nokia Corp Metodo y sistema para seleccionar tipo de filtro de interpolacion en codificacion de video.
US7903742B2 (en) 2002-07-15 2011-03-08 Thomson Licensing Adaptive weighting of reference pictures in video decoding
JP4756573B2 (ja) * 2002-12-04 2011-08-24 トムソン ライセンシング 重み付け予測を用いたビデオ・クロス・フェードの符号器および符号化方法
US7809059B2 (en) 2003-06-25 2010-10-05 Thomson Licensing Method and apparatus for weighted prediction estimation using a displaced frame differential
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
KR101094323B1 (ko) * 2003-09-17 2011-12-19 톰슨 라이센싱 적응 기준 화상 생성
WO2005034092A2 (en) * 2003-09-29 2005-04-14 Handheld Entertainment, Inc. Method and apparatus for coding information
CN1922889B (zh) * 2004-02-27 2011-07-20 汤姆逊许可公司 使用加权预测的误差隐蔽技术
JP4709143B2 (ja) * 2004-04-21 2011-06-22 パナソニック株式会社 動き補償装置、画面間予測符号化装置、画面間予測復号化装置、動き補償方法、および集積回路
US8731054B2 (en) * 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
US7515637B2 (en) * 2004-05-21 2009-04-07 Broadcom Advanced Compression Group, Llc Video decoding for motion compensation with weighted prediction
EP1790168B1 (en) 2004-09-16 2016-11-09 Thomson Licensing Video codec with weighted prediction utilizing local brightness variation
US20060146932A1 (en) * 2004-12-30 2006-07-06 Krit Panusopone Method and apparatus for providing motion estimation with weight prediction
US8457203B2 (en) 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
KR100714696B1 (ko) * 2005-06-24 2007-05-04 삼성전자주식회사 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
JP4561508B2 (ja) 2005-07-08 2010-10-13 ソニー株式会社 画像処理装置、画像処理方法およびそのプログラム
WO2007018688A1 (en) * 2005-07-22 2007-02-15 Thomson Licensing Method and apparatus for weighted prediction for scalable video coding
BRPI0616619B1 (pt) 2005-10-12 2019-09-10 Interdigital Madison Patent Holdings método e aparelho para prognóstico ponderal na codificação e decodificação de vídeo com abordagem de escala
JP5224459B2 (ja) * 2006-02-02 2013-07-03 トムソン ライセンシング 動き補償予測のための適応重み選択を行う方法および装置
KR100937431B1 (ko) * 2006-03-30 2010-01-18 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
WO2007116551A1 (ja) * 2006-03-30 2007-10-18 Kabushiki Kaisha Toshiba 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
US8270492B2 (en) * 2006-05-12 2012-09-18 Panasonic Corporation Moving picture decoding device
JP4867497B2 (ja) * 2006-06-21 2012-02-01 ソニー株式会社 情報処理装置および方法、復号装置および方法、プログラム、並びに情報処理システム
WO2008004940A1 (en) 2006-07-07 2008-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Video data management
KR101408698B1 (ko) 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
US8483282B2 (en) * 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
JP5261774B2 (ja) 2007-10-25 2013-08-14 日本電信電話株式会社 動画像スケーラブル符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記録媒体
US8117601B2 (en) * 2007-11-14 2012-02-14 Microsoft Corporation Internal test and manipulation of an application
US8831087B2 (en) * 2008-10-06 2014-09-09 Qualcomm Incorporated Efficient prediction mode selection
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
US8711930B2 (en) * 2009-07-09 2014-04-29 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
US9161057B2 (en) * 2009-07-09 2015-10-13 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
JP5681667B2 (ja) 2012-05-29 2015-03-11 株式会社野村総合研究所 データベース移行システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015053701A (ja) * 2009-07-09 2015-03-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオ符号化における非ゼロ丸めおよび予測モード選択技法

Also Published As

Publication number Publication date
US9609357B2 (en) 2017-03-28
EP2452502A1 (en) 2012-05-16
JP2015053701A (ja) 2015-03-19
CN102474621B (zh) 2015-08-26
WO2011006004A1 (en) 2011-01-13
JP5678057B2 (ja) 2015-02-25
US20160037181A1 (en) 2016-02-04
TW201106704A (en) 2011-02-16
US20110007802A1 (en) 2011-01-13
EP3442226A1 (en) 2019-02-13
JP2012533225A (ja) 2012-12-20
US9161057B2 (en) 2015-10-13
HK1210344A1 (en) 2016-04-15
EP3322184A1 (en) 2018-05-16
CN104601990B (zh) 2018-05-01
TWI413419B (zh) 2013-10-21
CN104601990A (zh) 2015-05-06
JP5931995B2 (ja) 2016-06-08
JP2014090436A (ja) 2014-05-15
CN102474621A (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
JP5931995B2 (ja) ビデオ符号化における非ゼロ丸めおよび予測モード選択技法
JP5587410B2 (ja) ビデオデータを符号化する方法および装置
JP5497169B2 (ja) ビデオコーディングにおける単方向予測および双方向予測のための異なる重み付け
JP5175397B2 (ja) 効率的な予測モード選択
US8995527B2 (en) Block type signalling in video coding
US9525872B2 (en) Video coding based on first order prediction and pre-defined second order prediction mode
EP2704442B1 (en) Template matching for video coding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150722

R150 Certificate of patent or registration of utility model

Ref document number: 5784689

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250