JP5823526B2 - ビデオ符号化のための適応動きベクトル解像度信号伝達 - Google Patents

ビデオ符号化のための適応動きベクトル解像度信号伝達 Download PDF

Info

Publication number
JP5823526B2
JP5823526B2 JP2013533878A JP2013533878A JP5823526B2 JP 5823526 B2 JP5823526 B2 JP 5823526B2 JP 2013533878 A JP2013533878 A JP 2013533878A JP 2013533878 A JP2013533878 A JP 2013533878A JP 5823526 B2 JP5823526 B2 JP 5823526B2
Authority
JP
Japan
Prior art keywords
motion vector
vector difference
difference value
encoding
pixel accuracy
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.)
Expired - Fee Related
Application number
JP2013533878A
Other languages
English (en)
Other versions
JP2013543713A (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 JP2013543713A publication Critical patent/JP2013543713A/ja
Application granted granted Critical
Publication of JP5823526B2 publication Critical patent/JP5823526B2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

本開示は、ビデオ符号化に関し、より詳細には、インター予測ビデオ符号化に関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信及び受信するために、MPEG−2、MPEG−4、ITU−T H.263又はITU−T H.264/MPEG−4、Part10、Advanced Video Coding(AVC)によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実施する。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び/又は時間的予測を実行する。ブロックベースのビデオ符号化の場合、ビデオフレーム又はスライスはマクロブロックに区分され得る。各マクロブロックは更に区分され得る。イントラ符号化(I)フレーム又はスライス中のマクロブロックは、隣接マクロブロックに対する空間的予測を使用して符号化される。インター符号化(P又はB)フレーム又はスライス中のマクロブロックは、同じフレーム又はスライス中の隣接マクロブロックに対する空間的予測、あるいは他の参照フレームに対する時間的予測を使用し得る。
概して、本開示では、ビデオ符号化中の適応動きベクトル解像度、例えば、動き推定及び動き補償のための適応動きベクトル解像度選択をサポートするための技法について説明する。例えば、ビデオエンコーダが、ビデオデータのブロックを符号化するときに、動きベクトルのために異なるレベルのサブ整数画素精度、例えば、1/8画素精度又は1/4画素精度のいずれかを選択するように構成され得る。即ち、ビデオエンコーダによって生成されたブロックの動きベクトルは、選択に基づいて、1/8画素精度又は1/4画素精度を有し得る。ビデオエンコーダは、本開示の技法を使用して、動きベクトルのための1/8画素精度又は1/4画素精度の選択を信号伝達し得る。
一例として、ビデオエンコーダは、コンテキスト適応型バイナリ算術符号化(CABAC:context-adaptive binary arithmetic coding)を使用して、動きベクトルが1/4画素精度を有するのか1/8画素精度を有するのかを表す値をエントロピー符号化し得る。値をエントロピー符号化するために、ビデオエンコーダは、ビデオデータのブロックのサイズに関係するコンテキストに基づいて確率モデルを選択し得る。コンテキストは、符号化単位の深さ、符号化単位の予測単位のサイズ、及び/又は予測単位のタイプのいずれか又は全てに基づいて決定され得、タイプは、符号化単位のサイズに対する予測単位の形状を指定し得る。ビデオエンコーダは、動きベクトルのサブ整数画素精度(例えば、1/4又は1/8画素精度)に基づいて、様々な方式を使用して動きベクトル自体をエントロピー符号化するように更に構成され得る。ビデオエンコーダはまた、ビデオエンコーダが、1/8画素精度を有する符号化単位のルミナンスデータの動きベクトルを計算するときに、双線形補間を使用して符号化単位のクロミナンスデータの1/16画素位置の値を計算するように構成され得る。
一例では、ビデオデータを符号化する方法は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することであって、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを含む。
別の例では、ビデオデータを符号化する方法は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを含む。
別の例では、ビデオデータを符号化する方法は、ビデオデータの第1の予測単位を符号化するときに第1の動きベクトル差分値を計算することであって、第1の動きベクトル差分値が第1のサブ画素精度を有する、計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することと、ビデオデータの第2の予測単位を符号化するときに第2の異なるサブ画素精度を有する第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することとを含む。
別の例では、ビデオデータを符号化するための装置は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを行うように構成され、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、ビデオエンコーダを含む。
別の例では、ビデオデータを符号化するための装置は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化するための手段と、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定するための手段と、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化するための手段とを含み、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える。
別の例では、コンピュータプログラム製品は、実行されたとき、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶し、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、コンピュータ可読記憶媒体を含む。
別の例では、ビデオデータを復号する方法は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを含み、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える。
別の例では、ビデオデータを復号する方法は、ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを復号することとを含む。
別の例では、ビデオデータを復号する方法は、ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を復号することと、ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して第2の動きベクトル差分値を復号することと、を含み、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する。
別の例では、ビデオデータを復号するための装置は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することでと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを行うように構成されたビデオデコーダを含み、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える。
別の例では、ビデオデータを復号するための装置は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信するための手段と、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信するための手段と、指標を復号するためのコンテキストを決定するための手段と、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号するための手段とを含み、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える。
別の例では、コンピュータプログラム製品は、実行されたとき、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶し、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、コンピュータ可読記憶媒体を含む。
適応動きベクトル解像度をサポートするための本開示の技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。 適応動きベクトル解像度をサポートするための技法を実装し得るビデオエンコーダの一例を示すブロック図。 符号化されたビデオシーケンスを復号するビデオデコーダの一例を示すブロック図。 フル画素位置に対する分数画素位置を示す概念図。 対応するクロミナンス画素位置及びルミナンス画素位置を示す概念図。 対応するクロミナンス画素位置及びルミナンス画素位置を示す概念図。 対応するクロミナンス画素位置及びルミナンス画素位置を示す概念図。 本開示の技法による、ビデオデータを符号化するための例示的な方法を示すフローチャート。 動きベクトルのサブ整数画素精度の指標をエントロピー符号化するための例示的な方法を示すフローチャート。 動きベクトルが、対応するルミナンスデータに対して1/8画素精度を有するときに、クロミナンスデータの1/16画素位置の値を計算するための例示的な方法を示すフローチャート。 動きベクトルのサブ画素精度に基づくエントロピー符号化方式を使用して、動きベクトルの動きベクトル差分値をエントロピー符号化するための例示的な方法を示すフローチャート。 本開示の技法による、ビデオデータを復号するための例示的な方法を示すフローチャート。
概して、本開示では、ビデオデータのブロックを符号化するために使用される動きベクトルのために動きベクトル精度を適応的に選択することと、動きベクトルの選択された動きベクトル精度を信号伝達することとのための技法について説明する。本技法は、分数画素精度と呼ばれることがある、異なるレベルのサブ整数画素精度間で適応的に選択することを含み得る。例えば、本技法は、ビデオデータのブロックを符号化するために使用される動きベクトルのために1/4画素精度と1/8画素精度との間で適応的に選択することを含み得る。本開示中の「1/8画素」精度という用語は、1画素の1/8の精度、例えば、フル画素位置(0/8)、1画素の1/8、1画素の2/8(即ち1画素の1/4)、1画素の3/8、1画素の4/8(即ち1画素の1/2及び1画素の2/4)、1画素の5/8、1画素の6/8(即ち1画素の3/4)、又は1画素の7/8のうちの1つを指すものとする。
従来のH.264エンコーダ及びデコーダは、1/4画素精度を有する動きベクトルをサポートする。幾つかの事例では、1/8画素精度は、1/4画素精度に勝る幾つかの利点を提供し得る。但し、あらゆる動きベクトルを1/8画素精度に符号化することは、非常に多くの符号化ビットを必要とし得、それは1/8画素精度動きベクトルの利益を上回り得る。本開示の技法は、適切な場合は1/8画素精度動きベクトルを使用することと、他の場合は1/4画素精度動きベクトルを使用することと、特定のブロックに対してエンコーダが使用した精度をデコーダが決定し得るように、動きベクトルが1/8画素精度を有するのか1/4画素精度を有するのかを信号伝達することとを含む。
動きベクトルが、例えば、1/4画素精度を有するのか1/8画素精度を有するのかを示すフラグとして、各動きベクトルのためのビットストリームにフルビットを追加することを回避するために、本開示は、コンテキスト適応型バイナリ算術符号化(CABAC)などのバイナリ算術符号化方式を使用して、動きベクトルのサブ画素精度の指標を符号化することを提案する。CABACは、確率推定値を最適化するためにコンテキスト情報(例えば、近くの要素)を使用する確率モデルに基づいて、情報の分数ビットを符号化するための技法を与える。本開示の技法によれば、ビデオデータのブロック(例えば、符号化単位の予測単位)の動きベクトルのサブ画素精度の指標を符号化するためのコンテキストは、ブロックについてのサイズ情報に対応し得る。
符号化単位の予測単位(PU:prediction unit)についてのサイズ情報は、1つ以上のソースから導出され得る。高効率ビデオ符号化(HEVC:High Efficiency Video Coding)によれば、ビデオデータのピクチャは、ITU−T H.264/AVCにおけるマクロブロックと概念的に同様である複数の最大符号化単位(LCU:largest coding unit)を含む。LCUは4つのサブCU(サブ符号化単位)に区分され得、サブCUの各々は、更に、4つのサブCUに区分され得る。CUが2N×2N画素のサイズを有すると仮定すると、CUは、サブCUが重複しないように、N×N画素のサイズをそれぞれ有するサブCUに区分され得る。CUの1つの属性は、現在のCUに到達するようになされた区分の数に概して対応するCUの「深さ」である。例えば、LCUが2N×2Nのサイズを有し、(LCUのサブCUを備える)現在のCUがN/4のサイズを有すると仮定すると、現在のCUの深さは3になる。
このようにして、符号化単位の深さは、以下の式に従って決定され得る。
Figure 0005823526
上式で、LCU及びCUは、水平方向及び垂直方向に等しい数の画素を有すると仮定され、size(CU)は、CUの水平方向画素の数を戻し、CUは、LCUのサブCUを形成する。その上、サブCUとしてCUを含むLCUのサイズが知られていると仮定すると、CUのサイズは、以下の式に従って、CUの深さに基づいて決定され得る。
Figure 0005823526
予測単位についてのサイズ情報はまた、予測単位自体についてのサイズ情報を含み得る。例えば、サイズ情報は、予測単位の水平方向及び/又は垂直方向画素の数に対応し得る。サイズ情報は、予測単位のタイプの指標をも含み得る。タイプは、予測単位を含むCUのサイズに対する予測単位の形状及びサイズに対応し得る。例えば、CUが2N×2N画素のサイズを有すると仮定すると、対称予測単位タイプは、2N×2N、2N×N、N×2N、又はN×Nを含み得、非対称予測単位タイプは、2N×nU、2N×nD、nL×2N、及びnR×2Nを含み得る。
非対称タイプでは、「nX」は、Xに対応する方向に沿った0.5Nと1.5Nの分割を指し、但し、X=Uは、PUの上側部分が0.5Nの高さを有することを指し、X=Dは、PUの下側部分が0.5Nの高さを有することを指し、X=Lは、PUの左側部分が0.5Nの幅を有することを指し、X=Rは、PUの右側部分が0.5Nの幅を有することを指す。例えば、2N×nUタイプとして分割されたPUを有する2N×2N画素のCUの場合、CUの上側非対称PUは、2N×0.5N画素のサイズを有し、CUの下側非対称PUは、2N×1.5N画素のサイズを有することになる。
このようにして、CUのPUの動きベクトルのサブ画素精度の指標を符号化するためのコンテキストは、(CUを含むLCUに対するCUの深さとして記述され得る)CUのサイズと、PUの画素次元に関して及び/又は(例えば、予測単位のタイプを使用して)CUのサイズに対して記述され得るPUのサイズとのいずれか又は全てを含み得る。一例として、PUのための動きベクトルは、1/8画素精度又は1/4画素精度のいずれかを有し得、指標は、動きベクトルが1/8画素精度を有するのか1/4画素精度を有するのかを示す1ビットフラグを備え得る。他の例では、他の精度が利用可能であり得る。
動きベクトルのサブ画素精度は、CUのルミナンスデータに対して示され得る。概して、CUのクロミナンスデータは、CUのルミナンスデータよりも低い空間解像度を有する。例えば、クロミナンスデータは、水平方向と垂直方向の両方にルミナンスデータの1/2の解像度を有し得る。しかしながら、ルミナンスデータについて計算された動きベクトルは、クロミナンスデータを符号化するために再利用され得る。従って、動きベクトルは、CUのルミナンスデータに対するよりもCUのクロミナンスデータに対して高い精度を有し得る。例えば、動きベクトルがルミナンスデータに対して1/8画素精度を有し、クロミナンスデータがルミナンスデータの1/2の水平及び垂直解像度を有する場合、動きベクトルは、クロミナンスデータに対して1/16画素精度を有し得る。本開示は、双線形補間を使用してクロミナンスデータの1/16画素位置の値を計算することを提案する。
動きベクトルを使用してルミナンスデータとクロミナンスデータとを符号化することに加えて、動きベクトル自体が符号化され得る。例えば、ビデオエンコーダは、動きベクトルと動き予測子(motion predictor)との間の差分を計算することによって動きベクトルを符号化し得る。ビデオエンコーダは、ビデオデータの近くのブロックの動きベクトルとして動き予測子を選択し得る。例えば、ビデオエンコーダは、動き予測子として動きベクトルの中央値を選択し、次いで、予測単位の動きベクトルと動き予測子との間の差分として動きベクトル差分を計算し得る。本開示は、更に、予測単位の動きベクトルのサブ画素精度に基づいて、予測単位の動きベクトル差分値を符号化するための技法を提供する。
一例として、動きベクトルの潜在的なサブ画素精度に対して、異なる動きベクトル差分符号化方式が定義され得る。例えば、動きベクトルが1/8画素精度又は1/4画素精度のいずれかを有し得るとき、1/8画素精度に対しては第1の動きベクトル差分符号化方式が定義され得、1/4画素精度に対しては第2の動きベクトル差分符号化方式が定義され得る。このようにして、ビデオエンコーダは、第1の動きベクトル差分符号化方式を使用して1/8画素精度動きベクトルの動きベクトル差分値を符号化し、第2の動きベクトル差分符号化方式を使用して1/4画素精度動きベクトルの動きベクトル差分値を符号化し得る。
一例として、動きベクトル差分符号化方式は、符号化方式に固有の閾値を含むように定義され得る。動きベクトル差分値が閾値を下回るとき、動きベクトル差分値は、第1のタイプのエントロピー符号化(例えば、ゴロム符号化(golomb coding))を使用して符号化され得、動きベクトル差分が閾値に等しいか又はそれよりも大きいとき、動きベクトル差分値は、第2のタイプのエントロピー符号化(例えば、ゴロム符号化)を使用して符号化され得る。閾値は、動きベクトル差分値に対応する動きベクトルのサブ画素精度、例えば、1/4画素精度又は1/8画素精度に基づいて変動し得る。
図1は、適応動きベクトル解像度をサポートするための本開示の技法を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。例えば、システム10は、動きベクトルに対応するビデオデータのブロックのサイズを含むコンテキスト情報に基づいて、動きベクトルのサブ画素精度の指標を符号化及び復号し得る。システム10はまた、双線形補間を使用してクロミナンスデータの1/16サブ画素位置の値を補間し得る。システム10はまた、動きベクトル差分に対応する動きベクトルのサブ画素精度に対応する異なる動きベクトル差分符号化方式を利用し得る。
図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先機器14に送信する発信源機器12を含む。発信源機器12及び宛先機器14は、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、ワイヤレスハンドセット、所謂セルラー無線電話又は衛星無線電話などのワイヤレス通信機器を備えるか、若しくは通信チャネル16を介してビデオ情報を通信することができ、その場合、通信チャネル16がワイヤレスである、任意のワイヤレス機器を備え得る。但し、概して、動きベクトルの適応サブ画素精度をサポートするための技法に関する本開示の技法は、必ずしもワイヤレスアプリケーション又は設定に限定されるとは限らない。例えば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、又は他のシナリオに適用し得る。従って、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレス又はワイヤード媒体の任意の組合せを備え得る。
図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先機器14は、受信機26と、モデム28と、ビデオデコーダ30と、表示装置32とを含む。本開示によれば、発信源機器12のビデオエンコーダ20は、動きベクトルの適応サブ画素精度をサポートするための技法を適用するように構成され得る。他の例では、発信源機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、発信源機器12は、外部カメラなどの外部ビデオ発信源18からビデオデータを受信し得る。同様に、宛先機器14は、一体型表示装置を含むのではなく、外部表示装置とインターフェースし得る。
図1の図示のシステム10は一例にすぎない。動きベクトルの適応サブ画素精度をサポートするための技法は、任意のデジタルビデオ符号化及び/又は復号機器によって実行され得る。概して、本開示の技法はビデオ符号化機器によって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。更に、本開示の技法はビデオプリプロセッサによっても実行され得る。発信源機器12及び宛先機器14は、発信源機器12が宛先機器14に送信するための符号化ビデオデータを生成する、そのような符号化機器の例にすぎない。幾つかの例では、機器12、14の各々がビデオ符号化構成要素及び復号構成要素を含むので、機器12、14は、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートし得る。
発信源機器12のビデオ発信源18は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオ発信源18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。但し、上述のように、本開示で説明する技法は、概してビデオ符号化に適用可能であり得、ワイヤレス及び/又はワイヤードアプリケーションに適用され得る。各場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先機器14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機24は、増幅器、フィルタ、及び1つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。
宛先機器14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。この場合も、ビデオ符号化プロセスは、動きベクトルの適応サブ画素精度をサポートするための本明細書で説明する技法のうちの1つ以上を実施し得る。チャネル16を介して通信される情報は、マクロブロック及び他の符号化単位、例えば、ピクチャグループ(GOP)の特性及び/又は処理を記述するシンタックス要素を含む、ビデオデコーダ30によっても使用される、ビデオエンコーダ20によって定義されるシンタックス情報を含み得る。表示装置32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
図1の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、又はワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源機器12から宛先機器14に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル16は、発信源機器12から宛先機器14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。但し、本開示の技法は、いかなる特定の符号化規格にも限定されない。他の例には、MPEG−2及びITU−T H.263がある。図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、また、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。幾つかの態様では、本開示で説明する技法は、H.264規格に概して準拠する機器に適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格又はH.264仕様、あるいはH.264/AVC規格又は仕様と呼ぶことがある。Joint Video Team(JVT)は、H.264/AVCへの拡張に取り組み続けており、また、例えばHEVCのための新しい規格を開発し続けている。
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実施され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのカメラ、コンピュータ、モバイル機器、加入者機器、ブロードキャスト機器、セットトップボックス、サーバなどに統合され得る。
ビデオシーケンスは、一般に、一連のビデオフレームを含む。ピクチャグループ(GOP)は、概して、一連の1つ以上のビデオフレームを備える。GOPは、GOP中に含まれる幾つかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つ以上のフレームのヘッダ、又は他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロック又はマクロブロックの区分に対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定の符号化規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらのマクロブロックは、サブブロックとも呼ばれる区分に構成され得る。
一例として、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、及びクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「N×(x)N」と「N×(by)N」は、垂直寸法及び水平寸法に関するブロックの画素寸法、例えば、16×(x)16画素又は16×(by)16画素を指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16画素を有し(y=16)、水平方向に16画素を有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にN画素を有し、水平方向にN画素を有し、Nは、非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要はない。例えば、ブロックはN×M画素を備え得、Mは必ずしもNに等しいとは限らない。
16×16よりも小さいブロックサイズは16×16マクロブロックの区分と呼ばれることがある。ビデオブロックは、画素領域中の画素データのブロックを備え得、又は、例えば、符号化ビデオブロックと予測ビデオブロックとの画素差分を表す残差ビデオブロックデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、若しくは概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。一般に、マクロブロック、及びサブブロックと呼ばれることがある様々な区分は、ビデオブロックと見なされ得る。更に、スライスは、マクロブロック及び/又はサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、又はフレームの他の部分が復号可能なユニットとして定義され得る。「符号化単位」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ(GOP)など、ビデオフレームの単独で復号可能な任意のユニット、又は適用可能な符号化技法に従って定義される別の単独で復号可能なユニットを指すことがある。
高効率ビデオ符号化(HEVC)と現在呼ばれる、新しいビデオ符号化規格を開発するための取り組みが現在進行中である。この今度の規格は、通称H.265とも呼ばれる。この規格化の取り組みは、HEVCテストモデル(HM:HEVC Test Model)と呼ばれるビデオ符号化機器のモデルに基づく。HMは、例えば、ITU−T H.264/AVCによる機器に勝るビデオ符号化機器の幾つかの能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供する。
HMは、ビデオデータのブロックを符号化単位(CU:coding unit)と称する。ビットストリーム内のシンタックスデータは、画素の数に関する最大符号化単位(LCU)である最大符号化単位を定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。従って、CUはサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大符号化単位又はLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小符号化単位(SCU:smallest coding unit)をも定義し得る。本開示ではまた、CU、PU、又はTUのいずれかを指すために「ブロック」という用語を使用する。その上、本開示において、符号化単位又はCUに関与する例に言及する場合、符号化単位の代わりにマクロブロックに関する他の例が与えられ得ることを理解されたい。
LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。例えば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。
(例えば、4分木データ構造中のリーフノードに対応する)分割されないCUは、1つ以上の予測単位(PU)を含み得る。概して、PUは、対応するCUの全部又は一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。例えば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4画素精度又は1/8画素精度)、動きベクトルが指し示す参照フレーム、及び/又は動きベクトルの参照リスト(例えば、リスト0若しくはリスト1)を記述し得る。(1つ又は複数の)PUを定義するCUのデータはまた、例えば、CUを1つ以上のPUに区分することを記述し得る。区分モードは、CUが符号化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかとの間で異なり得る。
1つ以上のPUを有するCUは、1つ以上の変換ユニット(TU:transform unit)をも含み得る。PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値を計算し得る。残差値は変換され、量子化され、走査され得る。TUは、必ずしもPUのサイズに制限されるとは限らない。従って、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。幾つかの例では、TUの最大サイズは、TUを含むCUのサイズに対応し得る。
本開示の技法によれば、ビデオエンコーダ20は、異なるサブ整数画素精度の動きベクトルを有する1つ以上のPUを使用してCUをインターモード符号化し得る。例えば、ビデオエンコーダ20は、PUに対して1/4画素精度を有する動きベクトルを使用すること、又は1/8画素精度を有する動きベクトルを使用することの間で選択し得る。ビデオエンコーダ20はまた、PUの動きベクトルのサブ画素精度の指標を与え得る。ビデオエンコーダ20は、CABACを使用して指標を符号化し得、CABACを使用してサブ画素精度の指標を符号化するためのコンテキストを選択し得る。コンテキストは、PUについてのサイズ情報、例えば、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプに対応し得る。
従って、コンテキストはPUについてのサイズ情報に対応し得る。これらの技法は、PUが、異なるCU深さにおいて異なるサイズを有し得ることを認識する。異なる動きベクトル解像度(即ち、動きベクトルのサブ整数画素精度)の使用についての統計値は、異なるサイズのPUでは異なり得る。例えば、1/4画素精度を有する動きベクトルの使用の可能性は、異なるCUサイズ、PUサイズ、及びPUタイプ間で異なり得る。同様に、1/8画素精度を有する動きベクトルの使用の可能性は、異なるCUサイズ、PUサイズ、及びPUタイプ間で異なり得る。従って、本開示は、PUについてのサイズ情報に応じて独立したコンテキストモデリングを使用するための技法を提供する。ビデオエンコーダ20は、動きベクトルのサブ整数画素精度の指標(例えば、適応動きベクトル解像度(AMVRES:adaptive motion vector resolution)フラグ)を符号化するために1つ以上のコンテキストを使用し得る。コンテキストはCU深さに依存し(また、幾つかのCU深さによって共有され得)、PUサイズに依存し(また、幾つかのPUサイズによって共有され得)、及び/又はPUタイプに依存し得る(また、幾つかのPUタイプによって共有され得る)。
このようにして、発信源機器12は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを行うように構成されたビデオエンコーダを含む装置の一例である。
ビデオエンコーダ20はまた、例えば、動き予測子とも呼ばれる動きベクトル予測子に対する動きベクトルの動きベクトル差分値を計算することによって動きベクトルを符号化し得る。ビデオエンコーダ20は、動きベクトルのサブ画素精度に基づいて、動きベクトル差分(MVD:motion vector difference)値を別様に符号化し得る。即ち、ビデオエンコーダ20は、各々が動きベクトルの異なる可能なサブ画素精度に対応する異なるMVD値符号化方式で構成され得る。例えば、ビデオエンコーダ20が、動きベクトルのために1/4画素精度と1/8画素精度との間で選択することが可能である場合、ビデオエンコーダ20は、1/4画素精度動きベクトルに対応するMVD値を符号化するための第1のMVD符号化方式と、1/8画素精度動きベクトルに対応するMVD値を符号化するための第2のMVD符号化方式とで構成され得る。このようにして、ビデオエンコーダ20は、第1のMVD符号化方式を使用して、1/4画素精度を有する動きベクトルに対応するMVD値を符号化し得、第2のMVD符号化方式を使用して、1/8画素精度を有する動きベクトルに対応するMVD値を符号化し得る。
一例として、一般的なMVD符号化方式は閾値を含み得る。MVD値が閾値よりも小さいとき、ビデオエンコーダ20は、単項コードを使用してMVD値を符号化し得る。一方、MVD値が閾値よりも大きいとき、ビデオエンコーダ20は、ゴロムコードを使用してMVD値を符号化し得る。1/8画素精度を有する動きベクトルのMVD値は、1/4画素精度を有する同様の動きベクトルのMVD値の約2倍の大きさである。例えば、1/8画素精度において動きベクトルの垂直成分が10であり、動き予測子が20である場合、MVD値は10になる。一方、1/4画素精度における同じ動きベクトルは垂直成分5と動き予測子10とを有し、従って、MVD値は5になる。動きベクトル差分の統計値は、1/8画素精度に対して1/4画素精度では異なる可能性がある。従って、この例では、ビデオエンコーダ20は、符号化されている動きベクトルのサブ整数画素精度に応じて異なる閾値を含み得る。
サブ整数画素位置の値を計算するために、ビデオエンコーダ20は様々な補間フィルタを含み得る。例えば、サブ整数画素位置の値を計算するために双線形補間が使用され得る。ビデオエンコーダ20は、PUのルミナンスデータに関して動き探索を実行して、PUのルミナンスデータを使用して動きベクトルを計算するように構成され得る。ビデオエンコーダ20は、次いで、PUのクロミナンスデータを符号化するために動きベクトルを再利用し得る。一般に、クロミナンスデータは、対応するルミナンスデータよりも低い解像度、例えば、ルミナンスデータの1/4の解像度を有する。従って、クロミナンスデータの動きベクトルは、ルミナンスデータの動きベクトルよりも高い精度を有し得る。例えば、ルミナンスデータの1/4画素精度動きベクトルは、クロミナンスデータに対して1/8画素精度を有し得る。同様に、ルミナンスデータの1/8画素精度動きベクトルは、クロミナンスデータに対して1/16画素精度を有し得る。幾つかの例では、ビデオエンコーダ20は、例えば、ビットストリーム中で、MVD値がMVD符号化方式の閾値を超えるかどうかの指標を与え得る。
このようにして、発信源機器12は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを行うように構成され、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、ビデオエンコーダを含む装置の一例である。
HMは、クロミナンスデータを符号化するときに、ルミナンスデータの1/8画素精度動きベクトルを1/4画素精度に量子化するように構成されている。従って、HMは、クロミナンスデータに対して1/8画素精度を有する動きベクトルを常に使用する。HMの設計者は、1/16画素精度を有する動きベクトルを使用することは著しくより複雑であると考えた。一方、本開示の技法は、動きベクトルが、対応するルミナンスデータに対して1/8画素精度を有するときに、1/16画素精度動きベクトルを使用してクロミナンスデータを符号化することを提案する。ルミナンスデータの動きベクトルが1/8画素精度を有するときにクロミナンスデータを符号化するために、本開示は、双線形補間を使用して1/16画素位置の値を補間することを提案する。本開示の技法を作り出すための経験的テストは、1/16画素精度動きベクトルを使用することの複雑さは、クロミナンスデータの値を計算するために1/8画素精度動きベクトルを使用することの複雑さと同じであるという予期しない結果を示した。
このようにして、発信源機器12は、ビデオデータの第1の予測単位を符号化するときに第1の動きベクトル差分値を計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することと、ビデオデータの第2の予測単位を符号化するときに第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することと、を行うように構成され、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、ビデオエンコーダを含む装置の一例である。
予測データと残差データとを生成するためのイントラ予測符号化又はインター予測符号化の後、及び変換係数を生成するための(H.264/AVCで使用される4×4又は8×8整数変換、あるいは離散コサイン変換DCTなどの)任意の変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、nはmよりも大きい。
量子化の後に、例えば、コンテンツ適応型可変長符号化(CAVLC:content adaptive variable length coding)、コンテキスト適応型バイナリ算術符号化(CABAC)、又は別のエントロピー符号化方法に従って、量子化データのエントロピー符号化が実行され得る。エントロピー符号化用に構成された処理ユニット、又は別の処理ユニットは、量子化係数のゼロランレングス符号化、及び/又は符号化ブロックパターン(CBP:coded block pattern)値、マクロブロックタイプ、符号化モード、LCUサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
宛先機器14のビデオデコーダ30は、本開示のビデオエンコーダ20の技法のいずれか又は全てと同様の、概して対称的な技法を実行するように構成され得る。例えば、ビデオデコーダ30は、CUのPUの動きベクトルのサブ画素精度の指標が符号化されたコンテキストを定義する情報を受信するように構成され得る。ビデオエンコーダ20は、CUとPUとを含むLCUのための4分木におけるコンテキスト情報を与え得、ビデオデコーダ30は、そのコンテキスト情報を受信し得る。コンテキスト情報は、CU及び/又はPUについてのサイズ情報、例えば、CUの深さ、PUのサイズ、及び/又はPUのタイプに対応し得る。ビデオデコーダ30は、例えば、動きベクトルが1/4画素精度を有するのか1/8画素精度を有するのかを決定するために、コンテキスト情報を使用して、動きベクトルのサブ画素精度の指標を復号し得る。例えば、ビデオデコーダ30は、動きベクトルのサブ画素精度の指標をエントロピー復号するために、コンテキスト情報を使用して逆エントロピー符号化プロセスを実行し得る。
このようにして、宛先機器14は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを行うように構成され、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、ビデオデコーダを含む装置の一例である。
上述のように、動きベクトルは、動きベクトルと動き予測子との間の差分として計算されるMVD値を使用して符号化され得る。ビデオデコーダ30は、動き予測子を選択するためのビデオエンコーダ20の技法と概して同様の技法で構成され得る。例えば、ビデオエンコーダ20とビデオデコーダ30の両方は、前に符号化された隣接PUの動きベクトルの中央値として現在のPUのための動き予測子を選択するように構成され得る。従って、ビデオデコーダ30は、動き予測子に動きベクトルのMVD値を追加することによって動きベクトルを復号し得る。
その上、本開示の技法によれば、ビデオデコーダ30は、動きベクトルのサブ画素精度に基づいて、異なるMVD復号方式で構成され得る。従って、ビデオデコーダ30は、上記で説明したサブ画素精度の受信された指標から決定された動きベクトルのサブ画素精度に基づいて、適用すべきMVD復号方式を選択し得る。例えば、ビデオデコーダ30は、第1のMVD値が1/8画素精度の指標に対応するときに、第1のMVD値に第1のMVD符号化方式を適用し得、ビデオデコーダ30は、第2のMVD値が1/4画素精度の指標に対応するときに、第2のMVD値に第2のMVD符号化方式を適用し得る。他の例では、他のMVD符号化方式が動きベクトルの他のサブ画素精度に対応し得る。
このようにして、宛先機器14は、ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を復号することと、ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して第2の動きベクトル差分値を復号することと、を行うように構成されたビデオデコーダを含み、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、装置の一例である。
更に、ビデオデコーダ30は、CUのクロミナンスデータを復号するために、CUのルミナンスデータのために受信された動きベクトルを再利用するように構成され得る。この場合も、ルミナンスデータの動きベクトルが、例えば、1/8画素精度を有し、CUのクロミナンスデータが1/4(水平方向と垂直方向の両方に1/2解像度)にダウンサンプリングされる場合、動きベクトルは、クロミナンスデータに対して1/16画素精度を有し得る。ビデオデコーダ30は、(ルミナンスデータの)1/8画素精度動きベクトルを1/4画素精度に量子化するのではなく、双線形補間を使用して1/16画素精度位置の値を補間するように構成され得る。
このようにして、宛先機器14は、ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを復号することとを行うように構成されたビデオデコーダを含む装置の一例である。
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、適用可能なとき、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ又はデコーダ回路のいずれか、若しくはそれらの任意の組合せとして実施され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20及び/又はビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、及び/又はセルラー電話などのワイヤレス通信機器を備え得る。
図2は、適応動きベクトル解像度をサポートするための技法を実施し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、LCUとCUとPUとを含むビデオフレーム内のブロックのイントラ予測及びインター予測を実行し、TUとして符号化され得る残差値を計算し得る。イントラ符号化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インター符号化は、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード(Iモード)は、幾つかの空間ベースの圧縮モードのいずれかを指し、単方向予測(Pモード)又は双方向予測(Bモード)などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。動き推定ユニット42及び動き補償ユニット44はインター予測符号化を実行し得、イントラ予測ユニット46はイントラ予測符号化を実行し得る。
図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、参照フレーム記憶部64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。
符号化プロセス中に、ビデオエンコーダ20は符号化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック(例えば、LCU)に分割され得る。動き推定ユニット42及び動き補償ユニット44は、時間圧縮を行うために、1つ以上の参照フレーム中の1つ以上のブロックに対する受信したビデオブロックのインター予測符号化を実行する。イントラ予測ユニット46は、空間圧縮を行うために、符号化されるべきブロックと同じフレーム又はスライス中の1つ以上の隣接ブロックに対する受信したビデオブロックのイントラ予測符号化を実行し得る。
モード選択ユニット40は、例えば、誤差結果に基づいて符号化モード、即ち、イントラ又はインターのうちの1つを選択し、残差ブロックデータを生成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器50に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器62に与え得る。モード選択ユニット40がブロックのためにインターモード符号化を選択すると、解像度選択ユニット48はそのブロックの動きベクトルの解像度を選択し得る。例えば、解像度選択ユニット48は、そのブロックの動きベクトルのために1/8画素精度又は1/4画素精度を選択し得る。
一例として、解像度選択ユニット48は、ブロックを符号化するために1/4画素精度動きベクトルを使用することと、ブロックを符号化するために1/8画素精度動きベクトルを使用することとの間の誤差差分を比較するように構成され得る。動き推定ユニット42は、第1の符号化パスにおいて1つ以上の1/4画素精度動きベクトルを使用してブロックを符号化することと、第2の符号化パスにおいて1つ以上の1/8画素精度動きベクトルを使用してブロックを符号化することとを行うように構成され得る。動き推定ユニット42は、更に、第3の符号化パスにおいてブロックに対して1つ以上の1/4画素精度動きベクトルと1つ以上の1/8画素精度動きベクトルとの様々な組合せを使用し得る。解像度選択ユニット48は、ブロックの各符号化パスのレート歪み値を計算し、レート歪み値間の差分を計算し得る。
差分が閾値を超えると、解像度選択ユニット48は、ブロックを符号化するために1/8画素精度動きベクトルを選択し得る。解像度選択ユニット48はまた、インターモード予測プロセス中にブロックを符号化するとき、動きベクトルに対して1/8画素精度を使用すべきか又は1/4画素精度を使用すべきかを決定するために、レート歪み情報を評価し、ビットバジェット(bit budget)を分析し、及び/又は他のファクタを分析し得る。インターモード符号化されるべきブロックのために1/8画素精度又は1/4画素精度を選択した後、モード選択ユニット40又は動き推定は、動きベクトルの選択された精度を示すメッセージ(例えば、信号)を動き推定ユニット42に送り得る。
動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム(又は、他の符号化単位)内の符号化されている現在のブロックに対する予測参照フレーム(又は、他の符号化単位)内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、又は他の差分メトリックによって決定され得る画素差分に関して、符号化されるべきブロックにぴったり一致することが分かるブロックである。動きベクトルはまた、マクロブロックの区分の変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックを取込む又は生成することに関与し得る。この場合も、幾つかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。
動き推定ユニット42は、ビデオブロックを参照フレーム記憶部64中の参照フレームのビデオブロックと比較することによってインター符号化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット44はまた、参照フレーム、例えば、Iフレーム又はPフレームのサブ整数画素を補間し得る。一例として、ITU H.264規格には、符号化されている現在のフレームよりも前の表示順序を有する参照フレームを含むリスト0、及び符号化されている現在のフレームよりも後の表示順序を有する参照フレームを含むリスト1の2つのリストが記載されている。従って、参照フレーム記憶部64に記憶されたデータは、これらのリストに従って編成され得る。
本開示の技法によれば、動き補償ユニット44は、CUのルミナンスデータの動きベクトルが1/8画素精度を有するときに、CUのクロミナンスデータの1/16画素位置の値を補間するように構成され得る。クロミナンスデータの1/16画素位置の値を補間するために、動き補償ユニット44は双線形補間(bilinear interpolation)を利用し得る。従って、加算器50は、参照ブロックの1/16画素位置の双線形補間値に対するCUのクロミナンスデータの残差を計算し得る。このようにして、ビデオエンコーダ20は、符号化単位のルミナンスデータが、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用して符号化されたとき、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算し、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化し得る。
動き推定ユニット42は、参照フレーム記憶部64からの1つ以上の参照フレームのブロックを現在のフレーム、例えば、Pフレーム又はBフレームの符号化すべきブロックと比較する。参照フレーム記憶部64中の参照フレームがサブ整数画素の値を含むとき、動き推定ユニット42によって計算される動きベクトルは参照フレームのサブ整数画素位置を参照し得る。動き推定ユニット42及び/又は動き補償ユニット44はまた、サブ整数画素位置の値が参照フレーム記憶部64に記憶されていない場合、参照フレーム記憶部64に記憶された参照フレームのサブ整数画素位置の値を計算するように構成され得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。
ビデオエンコーダ20の動き推定ユニット42、動き補償ユニット44、モード選択ユニット40、又は別のユニットはまた、ブロックを符号化するために使用される動きベクトルについての1/4画素精度の使用か又は1/8画素精度の使用かを信号伝達し得る。例えば、動き推定ユニット42は、動きベクトルのサブ整数画素精度の指標をエントロピー符号化ユニット56に送り得る。動き推定ユニット42はまた、動きベクトルに対応するPUについてのサイズ情報に関係するコンテキスト情報をエントロピー符号化ユニット56に与え得、サイズ情報は、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプのいずれか又は全てを含み得る。
動き補償ユニット44は、予測ブロックに基づいて予測データを計算し得る。ビデオエンコーダ20は、符号化されている元のビデオブロックから、動き補償ユニット44からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つ以上の構成要素を表す。変換ユニット52は、離散コサイン変換(DCT)又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。
変換ユニット52は、概念的にDCTと同様である、H.264規格によって定義される変換などの他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。量子化ユニット54は、ビットレートを更に低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
量子化の後、エントロピー符号化ユニット56が量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテンツ適応型可変長符号化(CAVLC)、コンテキスト適応型バイナリ算術符号化(CABAC)、又は別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化されたビデオは、別の機器に送信されるか、あるいは後で送信するか又は取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術符号化の場合、コンテキストは隣接マクロブロックに基づき得る。
場合によっては、エントロピー符号化ユニット56又はビデオエンコーダ20の別のユニットは、エントロピー符号化に加えて他の符号化機能を実行するように構成され得る。例えば、エントロピー符号化ユニット56はマクロブロック及び区分のCBP値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は、マクロブロック又はそれの区分中の係数のランレングス符号化を実行し得る。特に、エントロピー符号化ユニット56は、マクロブロック又は区分中の変換係数を走査するためにジグザグ走査又は他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピー符号化ユニット56はまた、符号化されたビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
本開示の技法によれば、エントロピー符号化ユニット56は、例えば、動きベクトルが1/4画素精度を有するのか1/8画素精度を有するのか(様々な例では、他のサブ画素精度を有するのか)を示すための、動きベクトルのサブ画素精度の指標を符号化するように構成され得る。エントロピー符号化ユニット56は、CABACを使用して指標を符号化し得る。更に、エントロピー符号化ユニット56は、動きベクトルに対応するPUについてのサイズ情報を示す、CABACを実行するためのコンテキスト情報を使用して指標を符号化し得、サイズ情報は、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプのいずれか又は全てを含み得る。
動き推定ユニット42は、更に、動きベクトルの動きベクトル差分(MVD)値を計算し、動きベクトル自体ではなくMVD値をエントロピー符号化ユニット56に受け渡し得る。エントロピー符号化ユニット56は、各々が動きベクトルのサブ画素精度に関係する様々なMVD符号化方式で構成され得る。従って、エントロピー符号化ユニット56は、MVD値に対応する動きベクトルのサブ画素精度に対応するMVD符号化方式を使用して、動きベクトルのMVD値を符号化し得る。
一例として、エントロピー符号化ユニット56は、1/4画素精度のための第1のMVD符号化方式と1/8画素精度のための第2のMVD符号化方式とで構成され得る。第1のMVD符号化方式は、MVD値が閾値よりも小さいときに単項コードワードを使用してMVD値を符号化することと、MVD値が閾値よりも大きいかそれに等しいときにゴロムコードワードを使用してMVD値を符号化することとを備え得る。第1の符号化方式の閾値は、例えば、値10を備え得る。第2のMVD符号化方式は、MVD値が閾値よりも小さいときに単項コードワードを使用してMVD値を符号化することと、またMVD値が閾値よりも大きいかそれに等しいときにゴロムコードワードを使用してMVD値を符号化することとを備え得、第2のMVD符号化方式の閾値は、例えば、値5を備え得る。第1及び第2のMVD符号化方式における単項コードワードとゴロムコードワードとは、1/4及び1/8画素精度動きベクトルに対応するMVD値について収集された異なる統計値に基づいて異なり得る。エントロピー符号化ユニット56は、MVD値の符号化(例えば、単項又はゴロム)表現を出力し得る。幾つかの例では、エントロピー符号化ユニット56は、MVD値がそれの対応する閾値を超えたかどうかの(1ビットフラグなどの)指標を与え得、従って暗黙的に、符号化表現が単項コードワードを備えるのかゴロムコードワードを備えるのかについての指標を与え得る。
逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレーム記憶部64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレーム記憶部64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するために動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。
このようにして、図2は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを行うように構成され、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、ビデオエンコーダの一例を表す。
同様に、図2は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを行うように構成されたビデオエンコーダの一例を表す。
更に、図2は、ビデオデータの第1の予測単位を符号化するときに第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することと、ビデオデータの第2の予測単位を符号化するときに第2の異なるサブ画素精度を有する第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することと、を行うように構成されたビデオエンコーダの一例を表す。
図3は、符号化されたビデオシーケンスを復号するビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレーム記憶部82と、加算器80とを含む。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。
エントロピー復号ユニット70は、例えば、ネットワーク、ブロードキャストを介して又は物理媒体から符号化されたビットストリームを受信し得る。符号化されたビットストリームはエントロピー符号化ビデオデータを含み得る。本開示の技法によれば、エントロピー符号化ビデオデータは、CUのPUの動きベクトルのサブ整数画素精度のエントロピー符号化指標を含み得る。エントロピー符号化ビデオデータは、CUとPUとを含むLCUのための4分木データ構造をも含み得る。4分木データ構造は、PUについてのサイズ情報、例えば、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプを記述するデータを含み得る。エントロピー復号ユニット70は、動きベクトルのサブ画素精度の指標をエントロピー復号するときにコンテキスト情報としてサイズ情報を使用し得る。このようにして、エントロピー復号ユニット70は、動きベクトルのサブ整数画素精度の指標を復号し、その指標を動き補償ユニット72に送り得る。
エントロピー復号ユニット70はまた、PUの符号化された動きベクトル差分(MVD)値を受信し得る。エントロピー復号ユニット70は、動きベクトルに対して決定されたサブ整数画素精度を使用して、PUのMVD値に適用すべきエントロピー復号方式を決定し得る。特に、エントロピー復号ユニット70は、各々が動きベクトルのそれぞれのサブ画素精度に関連する様々な異なるMVD復号方式で構成され得る。エントロピー復号ユニット70は、MVD値を復号するために、上記で説明したように復号された指標によって示されるサブ画素精度に関連するMVD復号方式を選択し得る。エントロピー復号ユニット70は、復号されたMVD値を動き補償ユニット72に送り得、動き補償ユニット72は、例えば、前に符号化された隣接PUの動きベクトルの中央値に対応し得る動き予測子に対するPUの動きベクトルを復号し得る。
動き補償ユニット72は、ビットストリーム中で受信された動きベクトルを使用して、参照フレーム記憶部82中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット74は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化(inverse quantize)、即ち、逆量子化(de-quantize)する。逆量子化プロセスは、例えば、H.264復号規格によって定義された従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、各マクロブロックについてビデオエンコーダ20によって計算される量子化パラメータQPYの使用を含み得る。
逆変換ユニット58は、逆変換、例えば、逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用して、画素領域において残差ブロックを生成する。動き補償ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。本開示の技法によれば、動き補償ユニット72は、動きベクトルがルミナンスデータに対して1/8画素精度を有するときに、参照ブロックのクロミナンスデータの1/16画素位置の値を補間し得る。例えば、動き補償ユニット72は、双線形補間を使用して、参照ブロックの1/16画素位置の値を補間し得る。
動き補償ユニット72は、シンタックス情報の幾つかを使用して、符号化されたビデオシーケンスの(1つ以上の)フレーム及び/又は(1つ以上の)スライスを符号化するために使用されたLCU及びCUのサイズと、符号化されたビデオシーケンスのフレームの各マクロブロックがどのように区分されるかを記述する区分情報と、各区分がどのように符号化されるかを示すモードと、各インター符号化CUのための1つ以上の参照フレーム(及び参照フレームリスト)と、符号化されたビデオシーケンスを復号するための他の情報とを決定する。
加算器80は、残差ブロックを、動き補償ユニット72又はイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号されたブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号されたビデオブロックは、次いで、参照フレーム記憶部82に記憶され、参照フレーム記憶部82は、その後の動き補償のための参照ブロックを与え、また、表示装置(図1の表示装置32など)上での提示のために復号されたビデオを生成する。
このようにして、図3は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することであって、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを行うように構成されたビデオデコーダの一例を表す。
図3はまた、ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを復号することとを行うように構成されたビデオデコーダの一例を表す。
図3は、更に、ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を復号することと、ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して第2の動きベクトル差分値を復号することとを行うように構成され、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、ビデオデコーダの一例を表す。
図4は、フル画素位置に対する分数画素位置を示す概念図である。特に、図4は、フル画素(ペル)100に対する分数画素位置を示している。フル画素100は、1/2画素位置102A〜102C(1/2ペル102)と、1/4画素位置104A〜104L(1/4ペル104)と、1/8画素位置106A〜106AV(1/8ペル106)とに対応する。
図4は、ブロックの1/8画素位置106が随意に含まれ得ることを示すために、破線の輪郭を使用してこれらの位置を示している。即ち、動きベクトルが1/8画素精度を有する場合、動きベクトルは、フル画素位置100、1/2画素位置102、1/4画素位置104、又は1/8画素位置106のいずれかをポイントし得る。しかしながら、動きベクトルが1/4画素精度を有する場合、動きベクトルは、フル画素位置100、1/2画素位置102、又は1/4画素位置104のいずれかをポイントし得るが、1/8画素位置106はポイントしないであろう。更に、他の例では、他の精度、例えば、1/16画素精度、1/32画素精度などが使用され得ることを理解されたい。
フル画素位置100における画素の値は、対応する参照フレーム中に含まれ得る。即ち、フル画素位置100における画素の値は、概して、例えば、参照フレームが表示されたときに最終的にレンダリングされ表示される、参照フレーム中の画素の実効値に対応する。(分数画素位置と総称される)1/2画素位置102、1/4画素位置104、及び1/8画素位置106の値は、適応補間フィルタ又は固定補間フィルタ、例えば、様々なウィーナーフィルタ(Wiener filter)、双線形フィルタ、又は他のフィルタなど、様々な数の「タップ」(係数)のフィルタを使用して補間され得る。概して、分数画素位置の値は、隣接するフル画素位置又は前に決定された分数画素位置の値に対応する1つ以上の隣接画素から補間され得る。
本開示の技法によれば、ビデオエンコーダ20などのビデオエンコーダは、例えば、1/8画素精度と1/4画素精度との間で動きベクトルのサブ画素精度を適応的に選択し得る。ビデオエンコーダ20は、各動きベクトル、各CU、各LCU、各スライス、各フレーム、各GOP、又はビデオデータの他の符号化単位についてこの選択を行い得る。ビデオエンコーダ20が動きベクトルに対して1/4画素精度を選択したとき、動きベクトルは、フル画素位置100、1/2画素位置102、又は1/4画素位置104のいずれかを参照し得る。ビデオエンコーダ20が動きベクトルに対して1/8画素精度を選択したとき、動きベクトルは、フル画素位置100、1/2画素位置102、1/4画素位置104、又は1/8画素位置106のいずれかを参照し得る。
図5A〜図5Cは、対応するクロミナンス画素位置及びルミナンス画素位置を示す概念図である。図5A〜図5Cはまた、ルミナンスデータについて計算された動きベクトルがどのようにクロミナンスデータのために再利用され得るかを示している。前置きとして、図5A〜図5Cは画素位置の部分行を示している。実際には、フル画素位置は、図4に示したものなど、関連する分数画素位置の矩形格子を有し得ることを理解されたい。図5A〜図5Cの例は、本開示において説明する概念を示すものであり、分数クロミナンス画素位置と分数ルミナンス画素位置との間の対応の網羅的なリストとして意図されていない。
図5A〜図5Cは、フルルミナンス画素位置110と、1/2ルミナンス画素位置116と、1/4画素位置112と、1/8ルミナンス画素位置114A、114Bとを含む、ルミナンスブロックの画素位置を示している。図5A〜図5Cはまた、フルクロミナンス画素位置120と、1/4クロミナンス画素位置122と、1/8クロミナンス画素位置124と、1/16クロミナンス画素位置126A、126Bとを含む、クロミナンスブロックの対応する画素位置を示している。この例では、フルクロミナンス画素120はフルルミナンス画素110に対応する。更に、この例では、クロミナンスブロックは、ルミナンスブロックに対して、水平及び垂直に2分の1にダウンサンプリングされる。従って、1/4クロミナンス画素122は1/2ルミナンス画素116に対応する。同様に、1/8クロミナンス画素124は1/4ルミナンス画素112に対応し、1/16クロミナンス画素126Aは1/8ルミナンス画素114Aに対応し、1/16クロミナンス画素126Bは1/8ルミナンス画素114Bに対応する。
図5Aに、フルルミナンス画素位置110を指し示すルミナンス動きベクトル118Aの例を示す。ビデオエンコーダ20又はビデオデコーダ30などのビデオ符号化ユニットは、クロミナンスブロックに対して動き補償を実行するときにルミナンス動きベクトル118Aを再利用し得る。従って、クロミナンス動きベクトル128Aは、フルクロミナンス画素120とフルルミナンス画素110との間の対応により、フルクロミナンス画素120を指し示し得る。クロミナンス動きベクトル128Aによってポイントされる画素の値は、フルクロミナンス画素120の値に等しくなり得る。従って、予測クロミナンスブロック中の各画素は、参照フレーム中の対応する画素に等しく設定され得る。
図5Bに、1/4ルミナンス画素位置112を指し示すルミナンス動きベクトル118Bの例を示す。クロミナンス動きベクトル128Bは、今度は、1/8クロミナンス画素位置124を指し示す。ビデオ符号化ユニットは、1/8クロミナンス画素位置124に関連する補間フィルタを使用して1/8クロミナンス画素位置124の値を補間し得る。
図5Cに、1/8ルミナンス画素位置114Aを指し示すルミナンス動きベクトル118Cの例を示す。クロミナンス動きベクトル128Cは、今度は、1/16クロミナンス画素位置126Aを指し示す。ビデオ符号化ユニットは、本開示の技法によれば、双線形補間を使用して1/16クロミナンス画素位置126Aの値を補間し得る。例えば、ビデオエンコーダ20は、ルミナンスデータについて計算された動きベクトル(例えば、ルミナンス動きベクトル118C)がルミナンスデータの1/8画素位置114Aを参照するとき、CUのクロミナンスデータを符号化するために、双線形補間を使用して1/16画素位置126Aの値を補間し得る。同様に、ビデオエンコーダ30は、ルミナンスデータのために受信された動きベクトル(例えば、ルミナンス動きベクトル118C)がルミナンスデータの1/8画素位置114Aを参照するとき、CUのクロミナンスデータを復号するために、双線形補間を使用して1/16画素位置126Aの値を補間し得る。
図6は、本開示の技法による、ビデオデータを符号化するための例示的な方法を示すフローチャートである。例としてビデオエンコーダ20(図1及び図2)に関して説明するが、図6の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図6に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。
初めに、ビデオエンコーダ20がビデオデータのブロック(例えば、CU)を受信する(150)。解像度選択ユニット48が、1/8画素精度動きベクトルを使用してCUのPUを符号化すべきか、又は1/4画素精度動きベクトルを使用してCUのPUを符号化すべきかを決定する(152)。例えば、ビデオエンコーダ20は、1/8画素精度を使用する符号化パスと、1/4画素精度を使用する別の符号化パスの2つの符号化パスを実行し得、解像度選択ユニット48は、2つの符号化パスから生じるレート歪み値を比較して、PUを符号化するために1/8画素精度動きベクトルを使用すべきか1/4画素精度動きベクトルを使用すべきかを決定し得る。
幾つかの例では、例えば、解像度選択ユニット48が、1/8画素精度動きベクトルが使用されるべきと決定した場合、ビデオエンコーダ20は、参照フレーム記憶部64に記憶されたクロミナンス参照フレームの1/16画素位置の値を双線形補間する(154)。ビデオエンコーダ20は、1/16画素位置の値を常に補間する必要はなく、従って、ステップ154は、このステップが随意であることを示すために破線の輪郭を用いて示されている。
いずれの場合も、ビデオエンコーダ20は、次いで、選択された精度の動きベクトルを使用してブロック(例えば、CU)を符号化する(156)。例えば、動き推定ユニット42が、CUのPUの動き探索を実行し、PUのルミナンスデータを参照フレームのルミナンスデータと比較して、ルミナンスデータに対して選択された精度を有する動きベクトルを計算し得る。次いで、動き補償ユニット44が、動きベクトルを使用してPUのルミナンスデータを取り出し、また、同じ動きベクトルを使用してPUのクロミナンスデータを取り出し得る。動き補償ユニット44は、双線形補間を再び使用して、参照ブロックの1/16画素位置の値を計算し得る。動き補償ユニット44は、参照ブロックをPUの予測値として加算器50に与えて、PUの残差、例えば、予測値とPUの実効値との間の差を加算器50に計算させ得る。
このようにして、図6の方法は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを含む方法の一例を表す。
動き推定ユニット42又は解像度選択ユニット48は、動きベクトルの選択されたサブ画素精度の指標、及びPUについてのサイズ情報をエントロピー符号化ユニット56に与え得る。PUについてのサイズ情報は、例えば、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプを含み得る。エントロピー符号化ユニット56は、サイズ情報に基づいてPUのコンテキストを決定する(158)。エントロピー符号化ユニット56は、PUの決定されたコンテキストに基づいて、動きベクトルのサブ整数画素精度の指標をエントロピー符号化する(160)。
このようにして、図6は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを含み、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、方法の一例を表す。
動き推定ユニット42はまた、例えば、動き予測子に対する動きベクトルの動きベクトル差分値を計算する(162)。幾つかの例では、エントロピー符号化ユニット56、動き補償ユニット44、又はビデオエンコーダ20の別のユニットが動きベクトル差分値を計算し得る。いずれの場合も、ビデオエンコーダ20は、例えば、前に符号化された隣接PUの動きベクトルの中央値として動き予測子を選択し得る。ビデオエンコーダ20は、次いで、現在のPUの動きベクトルと動き予測子との間の差分を計算し得る。
次いで、エントロピー符号化ユニット56は、現在のPUの動きベクトルのサブ整数画素精度に基づいて、動きベクトル差分値を符号化するために使用すべき動きベクトル差分符号化方式を選択し得る。エントロピー符号化ユニット56は、次いで、動きベクトルのサブ画素精度に基づく動きベクトル差分符号化方式を使用して動きベクトル差分値を符号化する(164)。
図6の方法は複数回実行され得、本方法の各実行は、異なるサブ整数画素精度の動きベクトルに対応し得る。従って、図6の方法を実行することは、ビデオデータの第1の予測単位を符号化するときに第1の動きベクトル差分値を計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することと、ビデオデータの第2の予測単位を符号化するときに第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することと、含み、第1の動きベクトル差分値が第1のサブ画素精度を有すし、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、方法の一例を備え得る。
(符号化された動きベクトルを形成するための)動きベクトル差分値と動きベクトルのサブ整数画素精度の指標とを符号化した後に、エントロピー符号化ユニット56は、符号化された動きベクトルと動きベクトルの精度の指標とを出力する(166)。幾つかの例では、例えば、様々な動きベクトル符号化方式が、それぞれのサブ整数画素精度に対応する異なる閾値を含むとき、エントロピー符号化ユニット56は、動きベクトル差分がそれぞれの閾値を超えたかどうかの指標、例えば、1ビットフラグをも出力し得る。
図7は、動きベクトルのサブ整数画素精度の指標をエントロピー符号化するための例示的な方法を示すフローチャートである。例としてビデオエンコーダ20(図1及び図2)に関して説明するが、図7の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図7に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。
初めに、ビデオエンコーダ20がビデオデータのブロック(例えば、CU)を受信する(200)。解像度選択ユニット48が、1/8画素精度動きベクトルを使用してCUのPUを符号化すべきか、又は1/4画素精度動きベクトルを使用してCUのPUを符号化すべきかを決定する(202)。例えば、ビデオエンコーダ20は、1/8画素精度を使用する符号化パスと、1/4画素精度を使用する別の符号化パスの2つの符号化パスを実行し得、解像度選択ユニット48は、2つの符号化パスから生じるレート歪み値を比較して、PUを符号化するために1/8画素精度動きベクトルを使用すべきか1/4画素精度動きベクトルを使用すべきかを決定し得る。
ビデオエンコーダ20は、次いで、選択された精度の動きベクトルを使用してCUを符号化する(204)。例えば、動き推定ユニット42が、CUのPUの動き探索を実行し、PUのルミナンスデータを参照フレームのルミナンスデータと比較して、ルミナンスデータに対して選択された精度を有する動きベクトルを計算し得る。次いで、動き補償ユニット44が、動きベクトルを使用してPUのルミナンスデータを取り出し、また、同じ動きベクトルを使用してPUのクロミナンスデータを取り出し得る。
エントロピー符号化ユニット56が、動きベクトルの選択された精度の指標、ならびにCUのPUについてのサイズ情報を受信する(206)。サイズ情報は、CUの深さ、PUのサイズ、及び/又はPUのタイプのいずれか又は全てを含み得る。エントロピー符号化ユニット56は、サイズ情報に基づいて動きベクトルの選択された精度の指標を符号化するためのコンテキストを決定する(208)。
幾つかの例では、エントロピー符号化ユニット56は、コンテキストと、コンテキストにおける動きベクトルの精度との各ペアリングについての統計値を収集し得る。このようにして、エントロピー符号化ユニット56は、特定のコンテキストにおける動きベクトルの特定のサブ画素精度の可能性を決定し得る。これらの統計値に基づいて、エントロピー符号化ユニット56は、動きベクトルのコンテキストに基づいて動きベクトルの精度の指標をエントロピー符号化する(210)。例えば、エントロピー符号化ユニット56は、分数ビットを使用して指標を符号化するためにコンテキスト適応型バイナリ算術符号化を実行し得る。
このようにして、図7は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することでと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを含み、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、方法の一例を表す。
図8は、動きベクトルが、対応するルミナンスデータに対して1/8画素精度を有するときに、クロミナンスデータの1/16画素位置の値を計算するための例示的な方法を示すフローチャートである。例としてビデオエンコーダ20(図1及び図2)に関して説明するが、図8の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図8に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。
初めに、ビデオエンコーダ20がビデオデータのブロック(例えば、CU)を受信する(220)。図8の例では、解像度選択ユニット48が、PUの動きベクトルに対して1/8画素精度を使用してCUのPUを符号化することを決定する(222)。この決定に基づいて、動き補償ユニット44が、参照フレーム記憶部64によって記憶された参照フレーム中のルミナンスデータの1/8画素位置の値を計算する(224)。
次いで、動き推定ユニット42が、参照フレームのルミナンスデータに対するPUの動き探索を実行する(226)。例えば、動き推定ユニット42は、PUのルミナンスデータと参照フレームのルミナンスデータとの間の誤差を計算して、参照フレームの1/8画素位置ならびにフル画素位置を分析し得る。動き推定ユニット42は、次いで、PUのための参照ブロック、例えば、最も低い誤差を生じる参照ブロックを選択する(228)。
次いで、ビデオエンコーダ20は、参照ブロックのルミナンスデータに対するPUのルミナンスデータを符号化する(230)。例えば、加算器50が、参照ブロックのルミナンスデータと、符号化されているPUとの間の画素ごとの差分を計算して、残差ブロックを形成し得る。ビデオエンコーダ20は、次いで、例えば、残差ブロックを変換することと、変換されたブロックを量子化することと、量子化され変換されたブロックの係数を走査及び符号化することとによって、残差ブロックを符号化して変換ユニット(TU)を形成し得る。
動き補償ユニット44はまた、参照ブロックのクロミナンスデータの値を補間し得る。本開示の技法によれば、動き推定ユニット42によって生成された動きベクトルが1/8画素精度を有するとき、動き補償ユニット44は、双線形補間を使用して、参照ブロックのクロミナンスデータの1/16画素位置の値を補間する(232)。次いで、ビデオエンコーダ20は、補間された参照ブロックに対するPUのクロミナンスデータを符号化する(234)。例えば、加算器50は、参照ブロックとPUのクロミナンス部分との間の画素ごとの差分として残差ブロックを計算し得る。この場合も、この残差ブロックは、ルミナンスブロックと同様の方法で、変換され、量子化され、走査され、エントロピー符号化され得る。
このようにして、図8は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを含む方法の一例を表す。
図9は、動きベクトルのサブ画素精度に基づくエントロピー符号化方式を使用して、動きベクトルの動きベクトル差分値をエントロピー符号化するための例示的な方法を示すフローチャートである。例としてビデオエンコーダ20(図1及び図2)に関して説明するが、図9の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図9に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。
初めに、ビデオエンコーダ20がビデオデータのブロック(例えば、CU)を受信する(250)。解像度選択ユニット48が、1/8画素精度動きベクトルを使用してCUのPUを符号化すべきか、又は1/4画素精度動きベクトルを使用してCUのPUを符号化すべきかを決定する(252)。例えば、ビデオエンコーダ20は、1/8画素精度を使用する符号化パスと、1/4画素精度を使用する別の符号化パスの2つの符号化パスを実行し得、解像度選択ユニット48は、2つの符号化パスから生じるレート歪み値を比較して、PUを符号化するために1/8画素精度動きベクトルを使用すべきか1/4画素精度動きベクトルを使用すべきかを決定し得る。
ビデオエンコーダ20は、次いで、選択された精度の動きベクトルを使用してCUを符号化する(254)。例えば、動き推定ユニット42が、CUのPUの動き探索を実行し、PUのルミナンスデータを参照フレームのルミナンスデータと比較して、ルミナンスデータに対して選択された精度を有する動きベクトルを計算し得る。次いで、動き補償ユニット44が、動きベクトルを使用してPUのルミナンスデータを取り出し、また、同じ動きベクトルを使用してPUのクロミナンスデータを取り出し得る。
次いで、エントロピー符号化ユニット56が動きベクトル自体を符号化し得る。例えば、エントロピー符号化ユニット56は、例えば、前に符号化された隣接PUの動きベクトルの中央値として動きベクトルのための動き予測子を選択する(256)。エントロピー符号化ユニット56は、次いで、受信されたPUの動きベクトルと動き予測子との間の動きベクトル差分(MVD)を計算する(258)。
エントロピー符号化ユニット56は、次いで、現在のPUの動きベクトルの選択された精度に関連するMVD符号化方式を選択する(260)。エントロピー符号化ユニット56は、次いで、選択されたMVD符号化方式を使用してMVDを符号化する(262)。
一例として、エントロピー符号化ユニット56は、1/4画素精度動きベクトルに対応するMVD値を符号化するための第1のMVD符号化方式と、1/8画素精度動きベクトルに対応するMVD値を符号化するための第2のMVD符号化方式とを含み得る。エントロピー符号化ユニット56が、動きベクトルが1/4画素精度を有するという指標を受信した場合、エントロピー符号化ユニット56は、第1のMVD符号化方式を使用して動きベクトルのMVD値を符号化し得る。一方、エントロピー符号化ユニット56が、動きベクトルが1/8画素精度を有するという指標を受信した場合、エントロピー符号化ユニット56は、第2のMVD符号化方式を使用して動きベクトルのMVD値を符号化し得る。
第1のMVD符号化方式は、MVD値が閾値を下回るときは単項コードワードを使用してMVD値を符号化することと、他の場合はゴロムコードワードを使用してMVD値を符号化することとを備え得る。第1のMVD符号化方式の閾値は動きベクトルの1/4画素精度に対応し得る。同様に、単項コードワード及びゴロムコードワードは動きベクトルの1/4画素精度に対応し得る。従って、エントロピー符号化ユニット56が、1/4画素精度を有する第1の動きベクトルを受信したとき、エントロピー符号化ユニット56は、第1の動きベクトルのMVD値が第1のMVD符号化方式の閾値以上であるかどうかを決定し、それに応じて単項コードワード又はゴロムコードワードを使用してMVD値を符号化し得る。エントロピー符号化ユニット56はまた、MVD値が閾値を超えたかどうかの指標を与え得る。
第2のMVD符号化方式は、MVD値が閾値を下回るときは単項コードワード(unary codeword)を使用してMVD値を符号化することと、他の場合はゴロムコードワードを使用してMVD値を符号化することとを備え得る。第2のMVD符号化方式の閾値は動きベクトルの1/8画素精度に対応し得る。同様に、単項コードワード及びゴロムコードワードは動きベクトルの1/8画素精度に対応し得る。従って、エントロピー符号化ユニット56が、1/8画素精度を有する第2の動きベクトルを受信したとき、エントロピー符号化ユニット56は、第2の動きベクトルのMVD値が第2のMVD符号化方式の閾値以上であるかどうかを決定し、それに応じて単項コードワード又はゴロムコードワードを使用してMVD値を符号化し得る。エントロピー符号化ユニット56はまた、MVD値が閾値を超えたかどうかの指標を与え得る。
このようにして、図9は、2回以上実行されるとき、ビデオデータの第1の予測単位を符号化するときに第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することとビデオデータの第2の予測単位を符号化するときに第2の異なるサブ画素精度を有する第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することと、を含み得る方法の一例を表す。
図10は、本開示の技法による、ビデオデータを復号するための例示的な方法を示すフローチャートである。例としてビデオデコーダ30(図1及び図3)に関して説明するが、図10の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図10に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。
初めに、ビデオデコーダ30がビデオデータの符号化ブロック(例えば、CUのPU)を受信する(280)。CUは、4分木データ構造に関連付けられ得るLCUに対応し得る。4分木データ構造は、CUについてのサイズ情報など、CUの特性を記述し得る。サイズ情報は、例えば、CUの深さ、PUのサイズ、及び/又はPUのタイプを含み得る。このようにして、ビデオデコーダ30は、CUのPUについてのサイズ情報を受信する(282)。
例として、PUはCUのインター予測値に対応すると仮定する。従って、PUは、特定のサブ整数画素精度を有する動きベクトルに関連し得る。従って、ビデオデコーダ30は、更に、PUの動きベクトルのサブ画素精度の符号化された指標を受信する(284)。動きベクトル自体が、例えば、動きベクトル差分(MVD)値として符号化され得、従って、ビデオデコーダ30は、更に、動きベクトルの符号化されたMVD値を受信する(286)。
ビデオデコーダ30は、例えば、CABACに従って、またコンテキストデータとしてPUについてのサイズ情報を使用して、動きベクトルのサブ整数画素精度の符号化された指標を復号する(288)。ビデオデコーダ30はまた、動きベクトルの示されたサブ画素精度に関連するMVD復号方式を使用してMVD値を復号する(290)。ビデオデコーダ30は、次いで、エンコーダによって適用された技法と同様の技法を使用して、動きベクトルのための動き予測子を選択し、動き予測子に動きベクトル差分値を追加して、動き予測子を再生し得る。
ビデオデコーダ30は、復号された動きベクトルを使用して、動きベクトルによって参照される参照ブロックに対する受信されたCUのルミナンスデータを復号する(292)。ビデオデコーダ30は、動きベクトルのサブ整数画素精度に基づいて、参照ブロックのサブ整数画素位置の値を補間し得る。ビデオデコーダ30は、ルミナンスデータの予測値として参照ブロックを使用し得る。ビデオデコーダ30は、更に、例えば、TUを逆走査し、逆量子化し、逆変換することによってCUのTUを復号して、CUの残差ブロックを再生し得る。ビデオデコーダ30は、残差ブロックと予測値とを組み合わせて、PUに対応するCUの部分を復号し得る。
動きベクトルが1/8画素精度を有するとき、ビデオデコーダ30は、参照ブロックのクロミナンスデータの1/16画素位置の値を双線形補間する(294)。このようにして、ビデオデコーダ30は、CUのクロミナンス部分の予測値を生成し得る。ルミナンスデータと同様に、ビデオデコーダ30は、1/16画素位置の値が計算された、動きベクトルによって参照される参照ブロックに対するCUのクロミナンスデータを復号する(296)。ビデオデコーダ30は、次いで、復号されたクロミナンスデータとルミナンスデータとを含む復号されたCUを出力する(298)。
このようにして、図10は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することであって、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを含む方法の一例を表す。
図10はまた、ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを復号することとを含む方法の一例を表す。
図10は、更に、ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を復号することと、ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して第2の動きベクトル差分値を復号することと、を含み、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、方法の一例を表す。
1つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、又は(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
命令は、1つ以上のデジタル信号プロセッサ(DSP)などの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に与えられ得、若しくは複合コーデックに組み込まれ得る。また、本技法は、1つ以上の回路又は論理要素において完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示した技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ以上のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、若しくは相互動作ハードウェアユニットの集合によって与えられ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを符号化する方法であって、
第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、
コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、
前記コンテキスト適応型バイナリ算術符号化に従って、決定された前記コンテキストを使用して前記指標をエントロピー符号化することと、
を備え、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、方法。
[C2]
前記第1のサブ画素精度が1/4画素精度を備え、前記第2のサブ画素精度が1/8画素精度を備える、C1に記載の方法。
[C3]
前記符号化単位が2N×2N画素のサイズを有し、前記予測単位の前記タイプが、2N×2N画素と、2N×N画素と、N×2N画素と、N×N画素とのうちの1つのサイズを有する前記予測単位に対応し、Nが、0よりも大きい整数値である、C1に記載の方法。
[C4]
前記予測単位を符号化することが、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを備え、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、
双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することと、
を更に備える、C1に記載の方法。
[C5]
前記予測単位が第1の予測単位を備え、前記方法が、
前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、
前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、
前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、
前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、、
を更に備える、C1に記載の方法。
[C6]
前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することは、
前記第1の動きベクトル差分値を、前記第1の符号化方式によって定義された第1の閾値と比較することと、
前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、
前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することと、
を備え、
前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することは、
前記第2の動きベクトル差分値を、前記第2の符号化方式によって定義された第2の閾値と比較することと、
前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、
前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することと、
を備える、C5に記載の方法。
[C7]
前記第1の動きベクトル差分符号化方式が1/4画素精度に関連し、前記第2の動きベクトル差分符号化方式が1/8画素精度に関連する、C5に記載の方法。
[C8]
前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することが、前記第1の動きベクトル差分値をエントロピー符号化するために使用すべき第1のコンテキストモデルを選択することを備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、
前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することが、前記第2の動きベクトル差分値をエントロピー符号化するために使用すべき第2のコンテキストモデルを選択することを備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、C5に記載の方法。
[C9]
ビデオデータを符号化する方法であって、
ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用して、ビデオデータの符号化単位の前記ルミナンスデータを符号化することと、
双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することと、
を備える、方法。
[C10]
ビデオデータを符号化する方法であって、
ビデオデータの第1の予測単位を符号化するときに第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、
前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、
前記ビデオデータの第2の予測単位を符号化するときに第2の異なるサブ画素精度を有する第2の動きベクトル差分値を計算することと、
前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、
を備える、方法。
[C11]
ビデオデータを符号化するための装置であって、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー符号化することとを行うように構成され、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、ビデオエンコーダを備える、装置。
[C12]
前記ビデオエンコーダが、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを行うように構成され、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、前記ビデオエンコーダが、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することとを行うように構成された、C11に記載の装置。
[C13]
前記予測単位が第1の予測単位を備え、前記ビデオエンコーダが、前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、を行うように構成された、C11に記載の装置。
[C14]
前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第1の動きベクトル差分値を、前記第1の符号化方式によって定義された第1の閾値と比較することと、前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することとを行うように構成され、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第2の動きベクトル差分値を、前記第2の符号化方式によって定義された第2の閾値と比較することと、前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することとを行うように構成された、C13に記載の装置。
[C15]
前記第1の動きベクトル差分符号化方式が1/4画素精度に関連し、前記第2の動きベクトル差分符号化方式が1/8画素精度に関連する、C13に記載の装置。
[C16]
前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第1の動きベクトル差分値をエントロピー符号化するために使用すべき第1のコンテキストモデルを選択するように構成され、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第2の動きベクトル差分値をエントロピー符号化するために使用すべき第2のコンテキストモデルを選択するように構成され、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、C13に記載の装置。
[C17]
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオエンコーダを含むワイヤレス通信機器と、
のうちの少なくとも1つを備える、C11に記載の装置。
[C18]
ビデオデータを符号化するための装置であって、
第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化するための手段と、
コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定するための手段と、
前記コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー符号化するための手段と、
を備え、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、装置。
[C19]
前記予測単位を符号化するための前記手段が、前記符号化単位のルミナンスデータの前記動きベクトルを計算するための手段を備え、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、
双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算するための手段と、
前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化するための手段と、
を更に備える、C18に記載の装置。
[C20]
前記予測単位が第1の予測単位を備え、
前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算するための手段と、、
前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するための手段と、
前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算するための手段と、
前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するための手段と、
を更に備える、C18に記載の装置。
[C21]
前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するための前記手段は、
前記第1の動きベクトル差分値を、前記第1の符号化方式によって定義された第1の閾値と比較するための手段と、
前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化するための手段と、
前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化するための手段と、
を備え、
前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するための前記手段は、
前記第2の動きベクトル差分値を、前記第2の符号化方式によって定義された第2の閾値と比較するための手段と、
前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化するための手段と、
前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化するための手段と、
を備える、C20に記載の装置。
[C22]
前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するための前記手段が、前記第1の動きベクトル差分値をエントロピー符号化するために使用すべき第1のコンテキストモデルを選択するための手段を備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、
前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するための前記手段が、前記第2の動きベクトル差分値をエントロピー符号化するために使用すべき第2のコンテキストモデルを選択するための手段を備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、C20に記載の装置。
[C23]
実行されたとき、
第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、
コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、 コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー符号化することと、
を、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶し、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、コンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[C24]
前記予測単位を符号化することを前記プロセッサに行わせる前記命令が、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを前記プロセッサに行わせる命令を備え、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、
双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することと、
を前記プロセッサに行わせる命令を更に備える、C23に記載のコンピュータプログラム製品。
[C25]
前記予測単位が第1の予測単位を備え、
前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、
前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、
前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、
前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、
を前記プロセッサに行わせる命令を更に備える、C23に記載のコンピュータプログラム製品。
[C26]
前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令は、
前記第1の動きベクトル差分値を、前記第1の符号化方式によって定義された第1の閾値と比較することと、
前記第1の動きベクトル差分値が前記第1の閾値未満のときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、
前記第1の動きベクトル差分値が前記第1の閾値以上のときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することと、
を前記プロセッサに行わせる命令を備え、
前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令は、
前記第2の動きベクトル差分値を、前記第2の符号化方式によって定義された第2の閾値と比較することと、
前記第2の動きベクトル差分値が前記第2の閾値未満のときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、
前記第2の動きベクトル差分値が前記第2の閾値以上のときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することと、
を前記プロセッサに行わせる命令を備える、C25に記載のコンピュータプログラム製品。
[C27]
前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令が、前記第1の動きベクトル差分値をエントロピー符号化するために使用すべき第1のコンテキストモデルを選択することを前記プロセッサに行わせる命令を備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、
前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令が、前記第2の動きベクトル差分値をエントロピー符号化するために使用すべき第2のコンテキストモデルを選択することを前記プロセッサに行わせる命令を備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、C25に記載のコンピュータプログラム製品。
[C28]
ビデオデータを復号する方法であって、
第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、
前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、
前記指標を復号するためのコンテキストを決定することと、
コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー復号することと、
を備え、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、方法。
[C29]
前記第1のサブ画素精度が1/4画素精度を備え、前記第2のサブ画素精度が1/8画素精度を備える、C28に記載の方法。
[C30]
前記符号化単位が2N×2N画素のサイズを有し、前記予測単位の前記タイプが、2N×2N画素と、2N×N画素と、N×2N画素と、N×N画素とのうちの1つのサイズを有する前記予測単位に対応し、Nが、0よりも大きい整数値である、C28に記載の方法。
[C31]
前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、前記方法が、
双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することと、
を更に備える、C28に記載の方法。
[C32]
前記予測単位が第1の予測単位を備え、
前記第1の予測単位の第1の動きベクトル差分値を受信することと、
前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することと、
前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、
前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、を更に備え、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、C28に記載の方法。
[C33]
前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することは、
前記第1の動きベクトル差分値を表す第1のコードワードを受信することと、
前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定することと、
前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号することと、
前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号することと、
を備え、
前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することは、
前記第2の動きベクトル差分値を表す第2のコードワードを受信することと、
前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定することと、
前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号することと、
前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号することと、
を備える、C32に記載の方法。
[C34]
前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の前記第1の閾値未満かどうかを決定することは、前記第1の動きベクトル差分値が前記第1の閾値未満かどうかを示す情報を受信することを備え、
前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の前記第2の閾値未満かどうかを決定することは、前記第2の動きベクトル差分値が前記第2の閾値未満かどうかを示す情報を受信することを備える、C33に記載の方法。
[C35]
前記第1の動きベクトル差分復号方式が1/4画素精度に関連し、前記第2の動きベクトル差分復号方式が1/8画素精度に関連する、C32に記載の方法。
[C36]
前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することが、前記第1の動きベクトル差分値をエントロピー復号するために使用すべき第1のコンテキストモデルを選択することを備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、
前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することが、前記第2の動きベクトル差分値をエントロピー復号するために使用すべき第2のコンテキストモデルを選択することを備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、C32に記載の方法。
[C37]
ビデオデータを復号する方法であって、
ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、
双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することと、
を備える、方法。
[C38]
ビデオデータを復号する方法であって、
ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、
前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を復号することと、
前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、受信することと、
前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、を備え、前記第1の動きベクトル差分値が第1のサブ画素精度を有し、前記第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、方法。
[C39]
ビデオデータを復号するための装置であって、
第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、前記指標を復号するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー復号することとを行うように構成され、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、ビデオデコーダを備える、装置。
[C40]
前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、前記ビデオデコーダが、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することとを行うように更に構成された、C39に記載の装置。
[C41]
前記予測単位が第1の予測単位を備え、前記ビデオデコーダが、前記第1の予測単位の第1の動きベクトル差分値を受信することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することと、前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、を行うように構成され、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、C39に記載の装置。
[C42]
前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第1の動きベクトル差分値を表す第1のコードワードを受信することと、前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定することと、前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号することと、前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号することとを行うように構成され、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第2の動きベクトル差分値を表す第2のコードワードを受信することと、前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定することと、前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号することと、前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号することとを行うように構成された、C41に記載の装置。
[C43]
前記第1の動きベクトル差分復号方式が1/4画素精度に関連し、前記第2の動きベクトル差分復号方式が1/8画素精度に関連する、C41に記載の装置。
[C44]
前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第1の動きベクトル差分値をエントロピー復号するために使用すべき第1のコンテキストモデルを選択するように構成され、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第2の動きベクトル差分値をエントロピー復号するために使用すべき第2のコンテキストモデルを選択するように構成され、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、C41に記載の装置。
[C45]
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信機器と、
のうちの少なくとも1つを備える、C39に記載の装置。
[C46]
ビデオデータを復号するための装置であって、
第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信するための手段と、
前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信するための手段と、
前記指標を復号するためのコンテキストを決定するための手段と、
コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー復号するための手段と、
を備え、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、装置。
[C47]
前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、
双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算するための手段と、
前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号するための手段と、
を更に備える、C46に記載の装置。
[C48]
前記予測単位が第1の予測単位を備え、
前記第1の予測単位の第1の動きベクトル差分値を受信するための手段と、
前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するための手段と、
前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信するための手段と、
前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するための手段と、を更に備え、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、C46に記載の装置。
[C49]
前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するための前記手段は、
前記第1の動きベクトル差分値を表す第1のコードワードを受信するための手段と、
前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定するための手段と、
前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号するための手段と、
前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号するための手段と、
を備え、
前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するための前記手段は、
前記第2の動きベクトル差分値を表す第2のコードワードを受信するための手段と、
前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定するための手段と、
前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号するための手段と、
前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号するための手段と、
を備える、C48に記載の装置。
[C50]
前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するための前記手段が、前記第1の動きベクトル差分値をエントロピー復号するために使用すべき第1のコンテキストモデルを選択するための手段を備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、
前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するための前記手段が、前記第2の動きベクトル差分値をエントロピー復号するために使用すべき第2のコンテキストモデルを選択するための手段を備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、C48に記載の装置。
[C51]
実行されたとき、
第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、
前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、
前記指標を復号するためのコンテキストを決定することと、
コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー復号することと、
を、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶し、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、コンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[C52]
前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、
双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することと、
を前記プロセッサに行わせる命令を更に備える、C51に記載のコンピュータプログラム製品。
[C53]
前記予測単位が第1の予測単位を備え、
前記第1の予測単位の第1の動きベクトル差分値を受信することと、 前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することと、
前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、
前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、
を前記プロセッサに行わせる命令を更に備え、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、C51に記載のコンピュータプログラム製品。
[C54]
前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することを前記プロセッサに行わせる前記命令は、
前記第1の動きベクトル差分値を表す第1のコードワードを受信することと、
前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定することと、
前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号することと、
前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号することと、
を前記プロセッサに行わせる命令を備え、
前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することを前記プロセッサに行わせる前記命令は、
前記第2の動きベクトル差分値を表す第2のコードワードを受信することと、
前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定することと、
前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号することと、
前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号することと、
を前記プロセッサに行わせる命令を備える、C53に記載のコンピュータプログラム製品。
[C55]
前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することを前記プロセッサに行わせる前記命令が、前記第1の動きベクトル差分値をエントロピー復号するために使用すべき第1のコンテキストモデルを選択することを前記プロセッサに行わせる命令を備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、
前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することを前記プロセッサに行わせる前記命令が、前記第2の動きベクトル差分値をエントロピー復号するために使用すべき第2のコンテキストモデルを選択することを前記プロセッサに行わせる命令を備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、C53に記載のコンピュータプログラム製品。

Claims (43)

  1. ビデオデータを符号化する方法であって、
    エンコーダが、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、
    前記エンコーダが、コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、
    前記エンコーダが、定された前記コンテキストを使用して、前記コンテキスト適応型バイナリ算術符号化に従って前記指標をエントロピー符号化することと、
    を備え、前記コンテキストは前記符号化単位の深さと前記予測単位のサイズとのうちの少なくとも1つを含む、方法。
  2. 前記第1のサブ画素精度が1/4画素精度を備え、前記第2のサブ画素精度が1/8画素精度を備える、請求項1に記載の方法。
  3. 前記符号化単位が2N×2N画素のサイズを有し、前記予測単位のタイプが、2N×2N画素と、2N×N画素と、N×2N画素と、N×N画素とのうちの1つのサイズを有する前記予測単位に対応し、Nが、0よりも大きい整数値である、請求項1に記載の方法。
  4. 前記予測単位を符号化することが、前記予測単位に対応する、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを備え、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、
    双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
    前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することと、
    を更に備える、請求項1に記載の方法。
  5. 前記予測単位が第1の予測単位を備え、前記方法が、
    前記エンコーダが、前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、
    前記エンコーダが、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、
    前記エンコーダが、前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、
    前記エンコーダが、前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、
    を更に備える、請求項1に記載の方法。
  6. 前記エンコーダが、前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することは、
    前記エンコーダが、前記第1の動きベクトル差分値を、前記第1の動きベクトル差分符号化方式によって定義された第1の閾値と比較することと、
    前記エンコーダが、前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、
    前記エンコーダが、前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することと、
    を備え、
    前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することは、
    前記エンコーダが、前記第2の動きベクトル差分値を、前記第2の動きベクトル差分符号化方式によって定義された第2の閾値と比較することと、
    前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、
    前記エンコーダが、前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することと、
    を備える、請求項5に記載の方法。
  7. 前記第1の動きベクトル差分符号化方式が1/4画素精度に関連し、前記第2の動きベクトル差分符号化方式が1/8画素精度に関連する、請求項5に記載の方法。
  8. ビデオデータを符号化するための装置であって、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、定された前記コンテキストを使用して、前記コンテキスト適応型バイナリ算術コード化に従って前記指標をエントロピー符号化することとを行うように構成された、ビデオエンコーダを備え、前記コンテキストは前記符号化単位の深さと前記予測単位のサイズとのうちの少なくとも1つを含む、装置。
  9. 前記ビデオエンコーダが、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを行うように構成され、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、前記ビデオエンコーダが、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することとを行うように構成された、請求項8に記載の装置。
  10. 前記予測単位が第1の予測単位を備え、前記ビデオエンコーダが、前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、を行うように構成された、請求項8に記載の装置。
  11. 前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第1の動きベクトル差分値を、前記第1の動きベクトル差分符号化方式によって定義された第1の閾値と比較することと、前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することとを行うように構成され、
    前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第2の動きベクトル差分値を、前記第2の動きベクトル差分符号化方式によって定義された第2の閾値と比較することと、前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することとを行うように構成された、請求項10に記載の装置。
  12. 前記第1の動きベクトル差分符号化方式が1/4画素精度に関連し、前記第2の動きベクトル差分符号化方式が1/8画素精度に関連する、請求項10に記載の装置。
  13. 前記装置が、
    集積回路と、
    マイクロプロセッサと、
    前記ビデオエンコーダを含むワイヤレス通信機器と、
    のうちの少なくとも1つを備える、請求項8に記載の装置。
  14. ビデオデータを符号化するための装置であって、
    第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化するための手段と、
    コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定するための手段と、
    定された前記コンテキストを使用して、前記コンテキスト適応型バイナリ算術符号化に従って前記指標をエントロピー符号化するための手段と、
    を備え、前記コンテキストは前記符号化単位の深さと前記予測単位のサイズとのうちの少なくとも1つを含む、装置。
  15. 前記予測単位を符号化するための前記手段が、前記符号化単位のルミナンスデータの前記動きベクトルを計算するための手段を備え、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、
    双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算するための手段と、
    前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化するための手段と、
    を更に備える、請求項14に記載の装置。
  16. 前記予測単位が第1の予測単位を備え、
    前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算するための手段と、
    前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するための手段と、
    前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算するための手段と、
    前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するための手段と、
    を更に備える、請求項14に記載の装置。
  17. 前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するための前記手段は、
    前記第1の動きベクトル差分値を、前記第1の動きベクトル差分符号化方式によって定義された第1の閾値と比較するための手段と、
    前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化するための手段と、
    前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化するための手段と、
    を備え、
    前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するための前記手段は、
    前記第2の動きベクトル差分値を、前記第2の動きベクトル差分符号化方式によって定義された第2の閾値と比較するための手段と、
    前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化するための手段と、
    前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化するための手段と、
    を備える、請求項16に記載の装置。
  18. 実行されたとき、
    第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、
    コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、
    定された前記コンテキストを使用して、前記コンテキスト適応型バイナリ算術符号化に従って前記指標をエントロピー符号化することと、
    を、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶し、前記コンテキストは前記符号化単位の深さと前記予測単位のサイズとのうちの少なくとも1つを含む、コンピュータ可読記憶媒体。
  19. 前記予測単位を符号化することを前記プロセッサに行わせる前記命令が、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを前記プロセッサに行わせる命令を備え、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、
    双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
    前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することと、
    を前記プロセッサに行わせる命令を更に備える、請求項18に記載のコンピュータ可読記憶媒体。
  20. 前記予測単位が第1の予測単位を備え、
    前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、
    前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、
    前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、
    前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、
    を前記プロセッサに行わせる命令を更に備える、請求項18に記載のコンピュータ可読記憶媒体。
  21. 前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令は、
    前記第1の動きベクトル差分値を、前記第1の動きベクトル差分符号化方式によって定義された第1の閾値と比較することと、
    前記第1の動きベクトル差分値が前記第1の閾値未満のときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、
    前記第1の動きベクトル差分値が前記第1の閾値以上のときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することと、
    を前記プロセッサに行わせる命令を備え、
    前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令は、
    前記第2の動きベクトル差分値を、前記第2の動きベクトル差分符号化方式によって定義された第2の閾値と比較することと、
    前記第2の動きベクトル差分値が前記第2の閾値未満のときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、
    前記第2の動きベクトル差分値が前記第2の閾値以上のときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することと、
    を前記プロセッサに行わせる命令を備える、請求項20に記載のコンピュータ可読記憶媒体。
  22. ビデオデータを復号する方法であって、
    デコーダが、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、
    前記デコーダが、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、
    前記デコーダが、前記指標を復号するためのコンテキストを決定することと、
    前記デコーダが、決定された前記コンテキストを使用して、コンテキスト適応型バイナリ算術符号化に従って前記指標をエントロピー復号することと、
    を備え、前記コンテキストは前記符号化単位の深さと前記予測単位のサイズとのうちの少なくとも1つを含む、方法。
  23. 前記第1のサブ画素精度が1/4画素精度を備え、前記第2のサブ画素精度が1/8画素精度を備える、請求項22に記載の方法。
  24. 前記符号化単位が2N×2N画素のサイズを有し、前記予測単位のタイプが、2N×2N画素と、2N×N画素と、N×2N画素と、N×N画素とのうちの1つのサイズを有する前記予測単位に対応し、Nが、0よりも大きい整数値である、請求項22に記載の方法。
  25. 前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、前記方法が、
    前記デコーダが、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
    前記デコーダが、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することと、
    を更に備える、請求項22に記載の方法。
  26. 前記予測単位が第1の予測単位を備え、
    前記デコーダが、前記第1の予測単位の第1の動きベクトル差分値を受信することと、
    前記デコーダが、前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することと、
    前記デコーダが、前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、
    前記デコーダが、前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、
    を更に備え、
    前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、請求項22に記載の方法。
  27. 前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することは、
    前記デコーダが、前記第1の動きベクトル差分値を表す第1のコードワードを受信することと、
    前記デコーダが、前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定することと、
    前記デコーダが、前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号することと、
    前記デコーダが、前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号することと、
    を備え、
    前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することは、
    前記デコーダが、前記第2の動きベクトル差分値を表す第2のコードワードを受信することと、
    前記デコーダが、前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定することと、
    前記デコーダが、前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号することと、
    前記デコーダが、前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号することと、
    を備える、請求項26に記載の方法。
  28. 前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の前記第1の閾値未満かどうかを決定することは、前記第1の動きベクトル差分値が前記第1の閾値未満かどうかを示す情報を受信することを備え、
    前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の前記第2の閾値未満かどうかを決定することは、前記第2の動きベクトル差分値が前記第2の閾値未満かどうかを示す情報を受信することを備える、請求項27に記載の方法。
  29. 前記第1の動きベクトル差分復号方式が1/4画素精度に関連し、前記第2の動きベクトル差分復号方式が1/8画素精度に関連する、請求項26に記載の方法。
  30. ビデオデータを復号するための装置であって、
    第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、前記指標を復号するためのコンテキストを決定することと、定された前記コンテキストを使用して、コンテキスト適応型バイナリ算術符号化に従って前記指標をエントロピー復号することとを行うように構成された、ビデオデコーダを備え、前記コンテキストは前記符号化単位の深さと前記予測単位のサイズとのうちの少なくとも1つを含む、装置。
  31. 前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、前記ビデオデコーダが、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することとを行うように更に構成された、請求項30に記載の装置。
  32. 前記予測単位が第1の予測単位を備え、前記ビデオデコーダが、前記第1の予測単位の第1の動きベクトル差分値を受信することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することと、前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、を行うように構成され、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、請求項30に記載の装置。
  33. 前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第1の動きベクトル差分値を表す第1のコードワードを受信することと、前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定することと、前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号することと、前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号することとを行うように構成され、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第2の動きベクトル差分値を表す第2のコードワードを受信することと、前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定することと、前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号することと、前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号することとを行うように構成された、請求項32に記載の装置。
  34. 前記第1の動きベクトル差分復号方式が1/4画素精度に関連し、前記第2の動きベクトル差分復号方式が1/8画素精度に関連する、請求項32に記載の装置。
  35. 前記装置が、
    集積回路と、
    マイクロプロセッサと、
    前記ビデオデコーダを含むワイヤレス通信機器と、
    のうちの少なくとも1つを備える、請求項30に記載の装置。
  36. ビデオデータを復号するための装置であって、
    第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信するための手段と、
    前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信するための手段と、
    前記指標を復号するためのコンテキストを決定するための手段と、
    決定された前記コンテキストを使用して、コンテキスト適応型バイナリ算術符号化に従って前記指標をエントロピー復号するための手段と、
    を備え、前記コンテキストは前記符号化単位の深さと前記予測単位のサイズとのうちの少なくとも1つを含む、装置。
  37. 前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、
    双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算するための手段と、
    前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号するための手段と、
    を更に備える、請求項36に記載の装置。
  38. 前記予測単位が第1の予測単位を備え、
    前記第1の予測単位の第1の動きベクトル差分値を受信するための手段と、
    前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するための手段と、
    前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信するための手段と、
    前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するための手段と、
    を更に備え、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、請求項36に記載の装置。
  39. 前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するための前記手段は、
    前記第1の動きベクトル差分値を表す第1のコードワードを受信するための手段と、
    前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定するための手段と、
    前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号するための手段と、
    前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号するための手段と、
    を備え、
    前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するための前記手段は、
    前記第2の動きベクトル差分値を表す第2のコードワードを受信するための手段と、
    前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定するための手段と、
    前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号するための手段と、
    前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号するための手段と、
    を備える、請求項38に記載の装置。
  40. 実行されたとき、
    第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、
    前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、
    前記指標を復号するためのコンテキストを決定することと、
    決定された前記コンテキストを使用して、コンテキスト適応型バイナリ算術符号化に従って前記指標をエントロピー復号することと、
    を、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶し、前記コンテキストは前記符号化単位の深さと前記予測単位のサイズとのうちの少なくとも1つを含む、コンピュータ可読記憶媒体。
  41. 前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、
    双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、
    前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することと、
    を前記プロセッサに行わせる命令を更に備える、請求項40に記載のコンピュータ可読記憶媒体。
  42. 前記予測単位が第1の予測単位を備え、
    前記第1の予測単位の第1の動きベクトル差分値を受信することと、
    前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することと、
    前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、
    前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、
    を前記プロセッサに行わせる命令を更に備え、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、請求項40に記載のコンピュータ可読記憶媒体。
  43. 前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することを前記プロセッサに行わせる前記命令は、
    前記第1の動きベクトル差分値を表す第1のコードワードを受信することと、
    前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定することと、
    前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号することと、
    前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号することと、
    を前記プロセッサに行わせる命令を備え、
    前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することを前記プロセッサに行わせる前記命令は、
    前記第2の動きベクトル差分値を表す第2のコードワードを受信することと、
    前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定することと、
    前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号することと、
    前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号することと、
    を前記プロセッサに行わせる命令を備える、請求項42に記載のコンピュータ可読記憶媒体。
JP2013533878A 2010-10-13 2011-10-03 ビデオ符号化のための適応動きベクトル解像度信号伝達 Expired - Fee Related JP5823526B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US39289210P 2010-10-13 2010-10-13
US61/392,892 2010-10-13
US201161499956P 2011-06-22 2011-06-22
US61/499,956 2011-06-22
US13/247,785 US10327008B2 (en) 2010-10-13 2011-09-28 Adaptive motion vector resolution signaling for video coding
US13/247,785 2011-09-28
PCT/US2011/054629 WO2012051000A1 (en) 2010-10-13 2011-10-03 Adaptive motion vector resolution signaling for video coding

Publications (2)

Publication Number Publication Date
JP2013543713A JP2013543713A (ja) 2013-12-05
JP5823526B2 true JP5823526B2 (ja) 2015-11-25

Family

ID=45934127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013533878A Expired - Fee Related JP5823526B2 (ja) 2010-10-13 2011-10-03 ビデオ符号化のための適応動きベクトル解像度信号伝達

Country Status (6)

Country Link
US (1) US10327008B2 (ja)
EP (1) EP2628300B1 (ja)
JP (1) JP5823526B2 (ja)
KR (1) KR101513379B1 (ja)
CN (1) CN103202016B (ja)
WO (1) WO2012051000A1 (ja)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090080788A1 (en) * 2003-04-17 2009-03-26 Droplet Technology, Inc. Multiple Technique Entropy Coding System And Method
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US9369736B2 (en) * 2010-04-05 2016-06-14 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
US8873617B2 (en) * 2010-07-15 2014-10-28 Sharp Laboratories Of America, Inc. Method of parallel video coding based on same sized blocks
WO2012114712A1 (ja) * 2011-02-25 2012-08-30 パナソニック株式会社 画像符号化方法および画像復号化方法
PL2721819T3 (pl) * 2011-06-16 2024-02-19 Ge Video Compression, Llc Kodowanie entropijne obsługujące przełączanie trybów
US8798139B1 (en) 2011-06-29 2014-08-05 Zenverge, Inc. Dual-pipeline CABAC encoder architecture
US9258565B1 (en) * 2011-06-29 2016-02-09 Freescale Semiconductor, Inc. Context model cache-management in a dual-pipeline CABAC architecture
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
CN103391433B (zh) * 2012-05-09 2017-07-18 腾讯科技(深圳)有限公司 视频编码帧内预测扫描方法及视频编码方法
US9900619B2 (en) 2012-07-02 2018-02-20 Qualcomm Incorporated Intra-coding of depth maps for 3D video coding
US9979960B2 (en) * 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9247271B2 (en) * 2012-10-08 2016-01-26 Inria Institut National De Recherche En Informatique Et En Automatique Method and device for motion information prediction in multi-view video coding
US9661340B2 (en) 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
KR20150116840A (ko) * 2013-01-02 2015-10-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9497485B2 (en) 2013-04-12 2016-11-15 Intel Corporation Coding unit size dependent simplified depth coding for 3D video coding
WO2014168643A1 (en) * 2013-04-12 2014-10-16 Intel Corporation Coding unit size dependent simplified depth coding for 3d video coding
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
EP3085085A4 (en) * 2014-01-29 2017-11-08 MediaTek Inc. Method and apparatus for adaptive motion vector precision
US10142636B2 (en) * 2014-06-09 2018-11-27 Sony Corporation Communication system with coding mechanism and method of operation thereof
EP3189660B1 (en) * 2014-09-30 2023-07-12 HFI Innovation Inc. Method of adaptive motion vector resolution for video coding
CN111741311B (zh) 2014-10-31 2024-04-02 三星电子株式会社 用于对运动矢量进行编码/解码的方法和装置
CN105635734B (zh) * 2014-11-03 2019-04-12 掌赢信息科技(上海)有限公司 基于视频通话场景的自适应视频编码方法及装置
GB201500719D0 (en) 2015-01-15 2015-03-04 Barco Nv Method for chromo reconstruction
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
CN106331703B (zh) 2015-07-03 2020-09-08 华为技术有限公司 视频编码和解码方法、视频编码和解码装置
KR102617235B1 (ko) * 2015-08-24 2023-12-26 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
JP2018533298A (ja) * 2015-09-24 2018-11-08 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるamvrに基づく映像コーディング方法及び装置
EP3609021A1 (en) 2015-10-08 2020-02-12 PoLTE Corporation Angle of arrival positioning system for tracking objects
WO2017082443A1 (ko) * 2015-11-13 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
KR102201604B1 (ko) 2016-08-04 2021-01-12 후아웨이 테크놀러지 컴퍼니 리미티드 예측 파라미터들에서의 데이터 숨김을 위한 방법 및 장치
CN116567223A (zh) * 2016-08-11 2023-08-08 Lx 半导体科技有限公司 图像编码/解码设备和图像数据的发送设备
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
EP3451664A1 (en) * 2017-09-01 2019-03-06 Thomson Licensing Motion compensation at a finer precision than motion vector differential
CN109756739B (zh) * 2017-11-07 2022-09-02 华为技术有限公司 图像预测方法和装置
CN109905714B (zh) * 2017-12-08 2022-12-27 华为技术有限公司 帧间预测方法、装置及终端设备
WO2019209050A1 (ko) * 2018-04-25 2019-10-31 엘지전자 주식회사 변환 타입에 기초하여 비디오 신호를 처리하는 방법 및 장치
WO2019244051A1 (en) 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Selected mvd precision without mvp truncation
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
CN111083489B (zh) 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 多次迭代运动矢量细化
CN111436228A (zh) 2018-11-12 2020-07-21 北京字节跳动网络技术有限公司 组合帧间-帧内预测的简化
WO2020098782A1 (en) * 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Weights in combined inter intra prediction mode
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
WO2020140216A1 (zh) * 2019-01-02 2020-07-09 北京大学 视频处理方法和装置
EP3895429A4 (en) * 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
US11962807B2 (en) 2019-03-11 2024-04-16 Interdigital Vc Holdings, Inc. Entropy coding for video encoding and decoding
WO2020198352A1 (en) * 2019-03-26 2020-10-01 Vid Scale, Inc. Content adaptive transform precision for video coding
CN110677676B (zh) * 2019-09-27 2024-02-09 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
WO2021073630A1 (en) 2019-10-18 2021-04-22 Beijing Bytedance Network Technology Co., Ltd. Syntax constraints in parameter set signaling of subpictures
CN115349254A (zh) * 2020-03-23 2022-11-15 抖音视界有限公司 控制编解码视频中不同级别的去块滤波
CN111654723B (zh) * 2020-05-14 2022-04-12 北京百度网讯科技有限公司 视频质量提升方法、装置、电子设备和存储介质
CN113242427B (zh) * 2021-04-14 2024-03-12 中南大学 一种基于vvc中自适应运动矢量精度的快速方法及装置

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737022A (en) 1993-02-26 1998-04-07 Kabushiki Kaisha Toshiba Motion picture error concealment using simplified motion compensation
JP2897763B2 (ja) 1997-07-28 1999-05-31 日本ビクター株式会社 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
US6968008B1 (en) 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
US8175159B2 (en) 2002-01-24 2012-05-08 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
KR100924850B1 (ko) 2002-01-24 2009-11-02 가부시키가이샤 히타치세이사쿠쇼 동화상 신호의 부호화 방법 및 복호화 방법
JP4120301B2 (ja) 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
JP2003319400A (ja) 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
KR100462789B1 (ko) 2002-06-12 2004-12-20 한국과학기술원 이진 산술 부호화를 이용한 다중 부호 데이터 압축 방법및 장치
CN1165176C (zh) 2002-07-12 2004-09-01 清华大学 基于预测方向校正/统计预判的快速亚象素运动估计方法
CN1245031C (zh) 2002-07-12 2006-03-08 清华大学 基于预测方向校正/统计预判的快速亚象素运动估计方法
JP4724351B2 (ja) 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
JP4144339B2 (ja) 2002-11-29 2008-09-03 富士通株式会社 動画像符号化方法及び動画像複号化方法
WO2005022923A2 (en) 2003-08-26 2005-03-10 Thomson Licensing S.A. Method and apparatus for minimizing number of reference pictures used for inter-coding
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US20050105621A1 (en) 2003-11-04 2005-05-19 Ju Chi-Cheng Apparatus capable of performing both block-matching motion compensation and global motion compensation and method thereof
KR100994768B1 (ko) 2003-12-08 2010-11-16 삼성전자주식회사 동영상 부호화를 위한 움직임 추정 방법 및 이를 구현하기위한 프로그램이 기록된 기록 매체
JP4685636B2 (ja) 2004-02-03 2011-05-18 パナソニック株式会社 復号化装置、符号化装置、補間フレーム生成システム、集積回路装置、復号化プログラムおよび符号化プログラム
US7720148B2 (en) 2004-03-26 2010-05-18 The Hong Kong University Of Science And Technology Efficient multi-frame motion estimation for video compression
DE102004019339A1 (de) 2004-04-21 2005-11-24 Siemens Ag Prädiktionsverfahren, sowie zugehöriges Verfahren zur Decodierung eines Prädiktionsverfahrens, zugehörige Encodiervorrichtung und Decodiervorrichtung
US20060133507A1 (en) 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
US7728878B2 (en) 2004-12-17 2010-06-01 Mitsubishi Electric Research Labortories, Inc. Method and system for processing multiview videos for view synthesis using side information
CN1984336A (zh) 2005-12-05 2007-06-20 华为技术有限公司 一种二进制化方法及装置
WO2007065351A1 (en) 2005-12-05 2007-06-14 Huawei Technologies Co., Ltd. Binarizing method and device thereof
CN1794821A (zh) 2006-01-11 2006-06-28 浙江大学 可分级视频压缩中插值的方法与装置
CN100566413C (zh) 2006-06-05 2009-12-02 华为技术有限公司 一种自适应插值处理方法及编解码模块
BRPI0809668B1 (pt) 2007-04-09 2020-07-28 Nokia Technologies Oy vetores de movimento de alta precisão para codificação de vídeos com baixa complexidade de codificação e decodificação
JP2009089332A (ja) 2007-10-03 2009-04-23 Sony Corp 動き予測方法及び動き予測装置
EP2234404A4 (en) 2008-01-09 2011-06-22 Mitsubishi Electric Corp IMAGE ENCODING DEVICE, IMAGE DECODING DEVICE, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD
KR101456487B1 (ko) 2008-03-04 2014-10-31 삼성전자주식회사 부화소 단위의 움직임 예측을 이용한 영상 부호화, 복호화방법 및 그 장치
JP2009230537A (ja) 2008-03-24 2009-10-08 Olympus Corp 画像処理装置、画像処理プログラム、画像処理方法、および、電子機器
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
JP5012647B2 (ja) 2008-04-30 2012-08-29 ソニー株式会社 画像処理装置およびその方法、並びにプログラム
JP2010016453A (ja) 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
JP2010028221A (ja) 2008-07-15 2010-02-04 Sony Corp 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
TW201041404A (en) 2009-03-06 2010-11-16 Sony Corp Image processing device and method
CN102687511B (zh) 2009-10-14 2016-04-20 汤姆森特许公司 运动信息的自适应编解码的方法和装置
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US20120051431A1 (en) 2010-08-25 2012-03-01 Qualcomm Incorporated Motion direction based adaptive motion vector resolution signaling for video coding

Also Published As

Publication number Publication date
JP2013543713A (ja) 2013-12-05
CN103202016B (zh) 2016-06-22
EP2628300A1 (en) 2013-08-21
US10327008B2 (en) 2019-06-18
WO2012051000A1 (en) 2012-04-19
US20120093226A1 (en) 2012-04-19
KR20130084296A (ko) 2013-07-24
EP2628300B1 (en) 2017-09-13
KR101513379B1 (ko) 2015-04-21
CN103202016A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
JP5823526B2 (ja) ビデオ符号化のための適応動きベクトル解像度信号伝達
US11166016B2 (en) Most probable transform for intra prediction coding
JP6843821B2 (ja) ビデオコーディングのための適応的な動きベクトル分解シグナリング
US20220345716A1 (en) Method and apparatus for predicting motion information of picture block, encoder, and decoder
JP6042470B2 (ja) ビデオコーディングのための適応動き解像度
JP6250583B2 (ja) 隣接モードを使用したビデオコーディングのための拡張イントラ予測モードシグナリング
JP6165798B2 (ja) イントラ予測を使用したビデオ符号化
JP5960309B2 (ja) マッピングされた変換と走査モードとを使用するビデオコード化
US9008175B2 (en) Intra smoothing filter for video coding
JP6542225B2 (ja) イントラブロックコピーのための残差予測
JP5886440B2 (ja) イントラ予測ビデオコーディングにおける非正方形変換
JP2019533363A (ja) ビデオコーディングのための動きベクトルコーディング
JP5866453B2 (ja) イントラモードコーディングにおける参照モード選択
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
US20130070855A1 (en) Hybrid motion vector coding modes for video coding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151007

R150 Certificate of patent or registration of utility model

Ref document number: 5823526

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

LAPS Cancellation because of no payment of annual fees