JP2015516765A - ビデオコーディングにおけるバイパスコーディングされたシンタックス要素のグループ化 - Google Patents

ビデオコーディングにおけるバイパスコーディングされたシンタックス要素のグループ化 Download PDF

Info

Publication number
JP2015516765A
JP2015516765A JP2015505814A JP2015505814A JP2015516765A JP 2015516765 A JP2015516765 A JP 2015516765A JP 2015505814 A JP2015505814 A JP 2015505814A JP 2015505814 A JP2015505814 A JP 2015505814A JP 2015516765 A JP2015516765 A JP 2015516765A
Authority
JP
Japan
Prior art keywords
syntax element
element group
syntax
intra
intra prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015505814A
Other languages
English (en)
Other versions
JP2015516765A5 (ja
JP5940726B2 (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 JP2015516765A publication Critical patent/JP2015516765A/ja
Publication of JP2015516765A5 publication Critical patent/JP2015516765A5/ja
Application granted granted Critical
Publication of JP5940726B2 publication Critical patent/JP5940726B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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]

Landscapes

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

Abstract

ビデオ符号化デバイスが、第1のシンタックス要素グループを生成するように構成される。第1のグループ中の各シンタックス要素は、それぞれの予測ユニット(PU)の予測モードが最確モードリストへのインデックスに基づくかどうかを示す。第1のグループ中のそれぞれのシンタックス要素に対応する第2のシンタックス要素グループが生成される。第2のグループ中のシンタックス要素は、最確モードリストへのインデックスまたはイントラ予測モードのいずれかを識別する。第1のシンタックス要素グループはコンテキスト適応型バイナリ算術コーディング(CABAC)符号化され、第2のシンタックス要素グループはバイパス符号化される。ビデオデコーダが、エントロピー符号化された第1および第2のシンタックス要素グループを受信するように構成される。ビデオデコーダは、第1のフラググループをCABAC復号し、第2のフラググループをバイパス復号する。

Description

関連出願
[0001]本出願は、その全体が参照により本明細書に組み込まれる、
2012年4月11日に出願された米国仮出願第61/623,004号、および
2012年4月27日に出願された米国仮出願第61/639,836号の利益を主張する。
[0002]本開示は、ビデオコーディングに関し、より詳細には、ビデオコーディングにおけるシンタックス要素をコーディングするための技法に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマート」フォン、タブレットコンピュータ、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。ビデオコーディング規格には、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、ならびに、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)の拡張を含む(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264が含まれる。加えて、高効率ビデオコーディング(HEVC)は、ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding(JCT−VC)によって開発されているビデオコーディング規格である。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および/または時間的予測を実行する。ブロックベースの予測ビデオコーディングでは、ビデオフレームまたはビデオフレームのスライスはビデオブロックに区分され得、これらのビデオブロックは、マクロブロックまたはコーディングユニットと呼ばれることがある。各ビデオブロックはさらに区分され得る。イントラコーディングされた(I)フレームまたはスライス中のビデオブロックは、隣接ビデオブロックに対する空間的予測を使用して符号化される。インターコーディングされた(PまたはB)フレームまたはスライス中のビデオブロックは、同じフレームまたはスライス中の隣接ビデオブロックに対する空間的予測、あるいは他の参照フレームに対する時間的予測を使用し得る。
[0005]インターコーディングされたブロックは、予測ブロックを形成するために使用される参照サンプルのグループを示す動きベクトルを使用してコーディングされ得る。イントラコーディングされたブロックは、予測ブロックを形成するために使用される参照サンプルのブロックを示すイントラモードを使用してコーディングされ得る。ビデオブロックと予測ブロックとの間の差分は、残差データと呼ばれる場合がある。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化され得る。さらに、量子化変換係数および予測情報がさらなる圧縮のためにエントロピーコーディングされ得る。
[0006]概して、本開示は、予測ビデオコーディングのためのシンタックス要素を配列するための様々な技法について説明する。これらの技法は、エントロピーコーディングスループットに影響を与え得るパイプラインオーバーヘッドを低減することができる。一例では、シンタックス要素がCABAC(コンテキスト適応型バイナリ算術コーディング(Context Adaptive Binary Arithmetic Coding)コーディングされるか、またはバイパスコーディングされる順序が最適化され得る。バイパスコーディングは、適応型コンテキストを使用しないビンの算術コーディングを指し得る。一例では、コーディングユニット(CU)内の予測ユニット(PU)のイントラ予測モードを示すシンタックス要素が、それらがバイパスコーディングされるべきか、それともCABACコーディングされるべきかに基づいて一緒にグループ化され得る。このグループ化は、シンタックス要素をエントロピーコーディングするのに必要なサイクルの総数を減らすことができる。
[0007]一例では、本開示は、ビデオデータを復号する方法について説明し、本方法は、コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信することと、ここにおいて、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、第1のシンタックス要素グループのシンタックス要素は、CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することと、第1のシンタックス要素グループをCABAC復号した後に、第2のシンタックス要素グループをバイパス復号することと、復号された第1のシンタックス要素グループおよび復号された第2のシンタックス要素グループに基づいてビデオデータを再構成することとを備える。
[0008]別の例では、本開示は、ビデオデータを復号するための装置について説明し、本装置は、コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信することと、ここにおいて、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、第1のシンタックス要素グループのシンタックス要素は、CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することと、第1のシンタックス要素グループをCABAC復号した後に、第2のシンタックス要素グループをバイパス復号することと、復号された第1のシンタックス要素グループおよび復号された第2のシンタックス要素グループに基づいてビデオデータを再構成することとを行うように構成されたビデオデコーダを備える。
[0009]別の例では、本開示は、実行されたとき、ビデオデータを復号するためのデバイスの1つまたは複数のプロセッサに、コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信することと、ここにおいて、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、第1のシンタックス要素グループのシンタックス要素は、CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することと、第1のシンタックス要素グループをCABAC復号した後に、第2のシンタックス要素グループをバイパス復号することと、復号された第1のシンタックス要素グループおよび復号された第2のシンタックス要素グループに基づいてビデオデータを再構成することとを行わせる命令が記憶されたコンピュータ可読記憶媒体について説明する。
[0010]別の例では、本開示は、ビデオデータを復号するための装置について説明し、本装置は、コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信するための手段と、ここにおいて、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、第1のシンタックス要素グループのシンタックス要素は、CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)復号するための手段と、第1のシンタックス要素グループをCABAC復号した後に、第2のシンタックス要素グループをバイパス復号するための手段と、復号された第1のシンタックス要素グループおよび復号された第2のシンタックス要素グループに基づいてビデオデータを再構成するための手段とを備える。
[0011]別の例では、本開示は、ビデオデータを符号化する方法について説明し、本方法は、第1のシンタックス要素グループを生成することと、ここにおいて、第1のシンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、第2のシンタックス要素グループを生成することと、ここにおいて、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する、第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、第1のシンタックス要素グループをCABAC符号化した後に、第2のシンタックス要素グループをバイパス符号化することと、符号化された第1のシンタックス要素グループと符号化された第2のシンタックス要素グループとを含むビデオデータを出力することとを備える。
[0012]別の例では、本開示は、ビデオデータを符号化するための装置について説明し、本装置は、第1のシンタックス要素グループを生成することと、ここにおいて、第1のシンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、第2のシンタックス要素グループを生成することと、ここにおいて、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する、第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、第1のシンタックス要素グループをCABAC符号化した後に、第2のシンタックス要素グループをバイパス符号化することと、符号化された第1のシンタックス要素グループと符号化された第2のシンタックス要素グループとを含むビデオデータを出力することとを行うように構成されたビデオエンコーダを備える。
[0013]別の例では、本開示は、実行されたとき、ビデオデータを符号化するためのデバイスの1つまたは複数のプロセッサに、第1のシンタックス要素グループを生成することと、ここにおいて、第1のシンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、第2のシンタックス要素グループを生成することと、ここにおいて、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する、第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、第1のシンタックス要素グループをCABAC符号化した後に、第2のシンタックス要素グループをバイパス符号化することと、符号化された第1のシンタックス要素グループと符号化された第2のシンタックス要素グループとを含むビデオデータを出力することとを行わせる命令が記憶されたコンピュータ可読記憶媒体について説明する。
[0014]別の例では、本開示は、ビデオデータを符号化するための装置について説明し、本装置は、第1のシンタックス要素グループを生成するための手段と、ここにおいて、第1のシンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、第2のシンタックス要素グループを生成するための手段と、ここにおいて、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する、第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化するための手段と、第1のシンタックス要素グループをCABAC符号化した後に、第2のシンタックス要素グループをバイパス符号化するための手段と、符号化された第1のシンタックス要素グループと符号化された第2のシンタックス要素グループとを含むビデオデータを出力するための手段とを備える。
[0015]1つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
[0016]予測ユニット構造および関連するイントラ予測コーディングモードの例を示す概念図。 [0017]本開示による技法を利用するように構成され得る例示的なビデオ符号化および復号システムを示すブロック図。 [0018]本開示による予測シンタックス要素をコーディングするための技法を実装し得るビデオエンコーダの一例を示すブロック図。 [0019]本開示による予測シンタックス要素をエントロピー符号化するための技法を実装し得るエントロピーエンコーダの一例を示すブロック図。 [0020]本開示の技法による予測シンタックス要素を符号化することを示すフローチャート。 [0021]本開示による予測シンタックス要素を含む符号化ビデオシーケンスを復号するための技法を実装し得るビデオデコーダの一例を示すブロック図。 [0022]本開示による予測シンタックス要素をエントロピー復号するための技法を実装し得るエントロピーデコーダの一例を示すブロック図。 [0023]本開示の技法による予測シンタックス要素を復号することを示すフローチャート。
[0024]1つまたは複数の予測ユニットに関するイントラ予測モードを示し得るシンタックス要素など、シンタックス要素グループ内の予測シンタックス要素は、正規のコンテキスト適応型バイナリ算術コーディング(CABAC)コーディングされるか、またはバイパスコーディングされ得る。これらの予測シンタックス要素がCABACコーダによって受信される順序は、シンタックス要素グループをエントロピーコーディングするのに必要な処理サイクルの総数に影響を与え得る。これは、バイパスコーディングとCABACコーディングとの間のコーディング移行に伴いCABACコーディングエンジンを再スタートさせるのに必要なセットアップオーバーヘッドに起因し得る。本開示で説明する技法では、これらのシンタックス要素は、シンタックス要素グループをエントロピーコーディングするのに必要な処理サイクルの総数が減るような方法で配列され得る。
[0025]たとえば、いくつかの他の技法では、イントラ予測の場合、ビデオエンコーダは、ルーマサンプルのイントラ予測モードを明示するシンタックス要素を通知し、クロマサンプルに関するシンタックス要素を通知する。ルーマサンプルに関するシンタックス要素およびクロマサンプルに関するシンタックス要素には、CABACコーディングされるものもあれば、バイパスコーディングされるものもある。場合によっては、CABACコーディングされたシンタックス要素とバイパスコーディングされたシンタックス要素とはインターリーブされ、パイプラインオーバーヘッドのために最適下限のエントロピーコーディングスループットが生じる。
[0026]たとえば、バイパスモードは通常、CABACモードよりもはるかに高いスループットを有する。一例として、バイパスモードが、サイクルあたり1ビンを処理するバイパスモードよりも著しく複雑になることなく、1サイクルに6ビンを処理することができる一方、CABACモードは、サイクルあたり1ビンを処理するCABACモードよりもはるかに複雑な設計でも、サイクルあたり2ビンを処理できるにとどまる。これは、CABACモードにおけるコンテキスト切替えの性質に起因する。
[0027]エントロピーコーディングスループットを増大させるために、CABACコーディングされたシンタックス要素を一緒にグループ化し、バイパスコーディングされたシンタックス要素を一緒にグループ化するのが有益であり得る。一例として、CABACコーディングされたシンタックス要素とバイパスコーディングされたシンタックス要素とは一緒にインターリーブされない。より詳細に説明するように、本開示で説明する技法は、エントロピーコーディングスループットを増大させる可能性を有する、CABACコーディングされたシンタックス要素を一緒にグループ化し、バイパスコーディングされたシンタックス要素を一緒にグループ化する様々な例示的な技法を提供する。
[0028]一例として、ルーマイントラモードおよびクロマイントラモードのCABACコーディングされたビンすべてを一緒に、またルーマイントラモードおよびクロマイントラモードのバイパスコーディングされたビンすべてを一緒に、ビデオエンコーダが符号化し、コーディングされたビットストリームにおいて通知し、ビデオデコーダがコーディングされたビットストリームから受信し、復号する。別の例として、コーディングユニットにおけるすべてのブロックに関するイントラモードのCABACコーディングされたビンすべてを、またイントラモードのバイパスコーディングされたビンすべてを一緒に、ビデオエンコーダが符号化し、コーディングされたビットストリームにおいて通知し、ビデオデコーダがコーディングされたビットストリームから受信し、復号する。別の例として、コーディングユニットにおけるすべてのブロックに関するルーマイントラモードとクロマイントラモードの両方のCABACコーディングされたビンすべてを、またルーマイントラモードおよびクロマイントラモードのバイパスコーディングされたビンすべてを一緒に、ビデオエンコーダが符号化し、コーディングされたビットストリームにおいて通知し、ビデオデコーダがコーディングされたビットストリームから受信し、復号する。場合によっては、ビデオデコーダでは、部分的な復号されたシンタックスを記憶するために何らかの追加メモリが必要となる。
[0029]デジタルビデオデバイスは、デジタルビデオ情報をより効率的に符号化および復号するためのビデオ圧縮技法を実装する。ビデオ圧縮技法はビデオコーディング規格に従って定義され得る。HEVCの規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、他の以前のビデオコーディング規格、たとえばITU−T H.264/AVCの開発中に利用可能なビデオコーディングデバイスに対して、現在のビデオコーディングデバイスの能力が向上していると仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HEVCは35個ものイントラ予測符号化モードを提供する。「HEVC Working Draft 6」または「WD6」と呼ばれる、HEVCの最近のワーキングドラフト(WD)が、文書JCTVC−H1003、Brossら、「WD6:Working Draft 6 of High−Efficiency Video Coding(HEVC)」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT−VC)、第8回会合:サンノゼ、カリフォルニア州、米国、2011年2月に記載されている。
[0030]さらに、HEVCの別の最近のワーキングドラフト、ワーキングドラフト8が、文書HCTVC−J1003_d7、Brossら、「High Efficiency Video Coding(HEVC) Text Specification Draft 8」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT−VC)、第10回会合:ストックホルム、スウェーデン、2012年7月に記載されている。HEVCのより最近のワーキングドラフト、ワーキングドラフト9が、2013年3月6日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC−K1003−v10.zipから入手可能である。HEVC規格は、HEVCの配信バージョン用の規格番号であることを意図した、ISO/IEC 23008−HEVCと呼ばれる場合もある。本開示の技法は、ITU−T H.264規格およびHEVC規格に関して説明されるが、本開示の技法は、概して、任意のビデオコーディング規格に適用可能である。
[0031]ビデオシーケンスは、一般に、ピクチャとも呼ばれる一連のビデオフレームを含む。ピクチャグループ(GOP)は、概して、一連の1つまたは複数のビデオフレームを備える。GOPは、GOP中に含まれるいくつかのフレームを記述するシンタックスデータを、GOPのヘッダ中、GOPの1つもしくは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、それぞれのフレームの符号化モードを記述するフレームシンタックスデータを含み得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のビデオブロックを含み得る。ビデオエンコーダは通常、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロック上で動作する。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。
[0032]一例として、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、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「NxN」と「N by N」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、16x16ピクセルまたは16 by 16ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。ピクセルはサンプルと呼ばれる場合もある。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここでNは非負整数値を表す。ブロック中のピクセルは行および列で配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備えてよく、この場合に、Mは必ずしもNに等しいとは限らない。
[0033]ビデオブロックは、ピクセル領域におけるピクセルデータのブロック、または変換領域における変換係数のブロックを備え得る。コーディングされたビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後に、変換係数が生成され得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
[0034]より小さいビデオブロックは、より良い解像度をもたらすことができ、高い詳細レベルを含むビデオフレームの位置決めに使用され得る。概して、ブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、ブロックおよび/またはサブブロックのような、複数のビデオブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであってよく、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コーディングされたユニット」という用語は、フレーム全体またはフレームのスライス、シーケンスとも呼ばれるピクチャグループ(GOP)など、ビデオフレームの任意の単独で復号可能なユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。
[0035]予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後に、かつ変換係数を生成するための(H.264/AVCにおいて使用される4×4または8×8整数変換、あるいは離散コサイン変換DCTなどの)任意の変換の後に、変換係数の量子化が実行され得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、この場合、nはmよりも大きい。
[0036]量子化の後に、たとえば、コンテンツ適応型可変長コーディング(CAVLC:content adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC)、確率間隔区分エントロピーコーディング(PIPE:probability interval partitioning entropy)、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが実行され得る。予測モードを定義するシンタックス要素などのシンタックス要素のエントロピーコーディングも実行され得る。エントロピーコーディング用に構成された処理ユニットまたは別の処理ユニットは、量子化係数のゼロランレングスコーディング、および/またはコーディングされたブロックパターン(CBP)値、マクロブロックタイプ、コーディングモード、(フレーム、スライス、マクロブロック、またはシーケンスなどの)コーディングされたユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
[0037]HEVCは、ビデオデータのブロックをコーディングユニット(CU)と称する。概して、本開示の技法は、CUのデータを変換し、量子化し、走査し、エントロピー符号化することに関する。CUは、1つもしくは複数の予測ユニット(PU)および/または1つもしくは複数の変換ユニット(TU)を含むことができる。PUは「予測パーティション」と呼ばれることもある。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニット(LCU)を定義し得る。概して、LCUはH.264のマクロブロックと同様の目的を有する。しかしながら、LCUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のCUを含み得る。LCUは通常、64×64ピクセルを含む。LCU内のCUは通常、32×32ピクセル、16×16ピクセル、または8×8ピクセルを含む。したがって、LCUはサブCUに分割され得、各サブCUはさらにサブCUに分割され得る。CU中の各ピクセルは、ルーマ(Y)成分と、クロマU(U)成分と、クロマV(V)成分とを含むことができる。いくつかの例では、クロマ成分はCr成分およびCb成分と呼ばれ得る。一般に、本開示におけるCUへの言及は、ピクチャの最大コーディングユニット(LCU)またはLCUのサブCUを指し得る。ビットストリームのシンタックスデータは、CU深度と呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、シンタックスデータは最小コーディングユニット(SCU)をも定義し得る。本開示は、CU、PU、またはTUのいずれかを指すのに、「ブロック」という用語をも使用する。
[0038]LCUは、4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを提供し得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがこれ以上分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しなくても、リーフCUの4つのサブCUをリーフCUとも呼ぶ。たとえば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
[0039]その上、リーフCUのTUもそれぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。本開示では、LCUがどのように区分されるかを示す4分木をCU4分木と呼び、リーフCUがどのようにTUに区分されるかを示す4分木をTU4分木と呼ぶ。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してLCUに対応する。分割されないTU4分木のTUはリーフTUと呼ばれる。
[0040]リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部を表し、そのPU用の参照サンプルを取り出すためのデータを含むことができる。たとえば、PUがインターモード符号化されるとき、PUは、PU用の動きベクトルを定義するデータを含むことができる。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルに関する参照ピクチャリスト(たとえば、リスト0またはリスト1)を識別する予測方向、および/または動きベクトルが指す参照ピクチャリスト内の参照フレームを示す参照ピクチャインデックス値を記述し得る。同様に、CUがイントラ予測モードでコーディングされるとき、PUは、イントラ予測モード(たとえば、角度予測、DC予測、または平面予測、...、など)を定義するデータを含むことができる。
[0041](1つまたは複数の)PUを定義するリーフCU用のデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述することができる。1つまたは複数のPUへのCUの区分は、区分モードと呼ばれ得る。CUについて利用可能な区分モードは、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかに応じて異なり得る。イントラコーディングの場合、PUは、以下で説明するリーフ変換ユニットと同じように扱われ得る。
[0042]リーフCUは、1つまたは複数の変換ユニット(TU)を含み得る。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。変換ユニットは、上記で説明したように、TU4分木構造を使用して指定され得る。すなわち、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットはさらに4つのサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれることがある。概して、分割フラグは、リーフTUが正方形TUに分割されることを示し得る。TUが非正方形TUに分割されることを示すために、他のシンタックスデータ、たとえば、NSQTに従ってTUが区分されるべきであることを示すシンタックスデータが含まれ得る。
[0043]概して、イントラコーディングの場合、リーフCUに属するリーフTUのすべてが、同じイントラ予測モードを共有し得る。すなわち、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用され得る。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応する予測値の一部と元のブロックとの間の差分として計算し得る。上述のように、残差値は変換され、量子化され、走査され得る。インターコーディングの場合、ビデオエンコーダは、PUレベルで予測を実行し、各PUの残差を計算し得る。リーフCUに対応する残差値は変換され、量子化され、走査され得る。インターコーディングの場合、リーフTUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大のサイズは、対応するリーフCUのサイズであり得る。
[0044]HEVCでは、CU用の予測ブロックを生成するために使用されるイントラ予測モードの数は、PU構造によって決定される。INTRA_2N×2NのPU構造は、CUが1つのPUのみを含むことを示す。INTRA_N×NのPU構造は、CUが4つのPUを含むことを示す。さらに、CU内の各PUは、1つのルーマイントラ予測モードを有することができ、CU内のPUは、1つのクロマ予測モードを共有することができる。たとえば、INTRA_2N×2N PU構造を有するCUは、1つのルーマイントラ予測モードと1つのクロマイントラ予測モードとを有することができる。さらに、INTRA_N×N PU構造を有するCUは、4つのルーマイントラ予測モード(すなわち、各PUに1つ)とCU全体のための1つのクロマイントラ予測モード(すなわち、4つのPUがクロマ予測モードを共有する)とを有することができる。イントラ予測モードを通知するためにシンタックス要素が生成され得る。
[0045]図1は、予測ユニット構造および関連するイントラ予測コーディングモードの例を示す概念図である。図1に示すように、INTRA_2N×2N予測ユニット(PU)構造はただ1つのPUを含み、INTRA_N×N PU構造は4つのPUを含む。図1に示すように、INTRA_N×N PU構造は対称的であり、サイズが等しい4つの正方形のPUを含む。上述のように、図1に示す4つのPUの各々は、ルーマイントラ予測を有し、クロマイントラ予測を共有することができる。HEVCはインターモード予測とともに使用する他のPU構造を定義することに留意されたい。これらのPUの一部は、非対称であり、かつ/または長方形のPUを含む。本開示の技法はINTRA_2N×2N PU構造およびINTRA_N×N PU構造に関して説明されるが、技法は、概して、イントラ予測モードとともに使用され得る追加のPU構造に適用可能である。たとえば、本開示の技法は、4つの長方形PUからなるPU構造がイントラ予測コーディングモードに関連付けられる場合に適用可能であり得る。
[0046]上述のように、イントラ予測モードを使用してCUがコーディングされるとき、イントラ予測モードを通知するためにシンタックス要素が使用され得る。いくつかの例では、PU用のルーマイントラ予測モードを通知するために3つのシンタックス要素が使用され、クロマイントラ予測モードを通知するために1つのシンタックス要素が使用される。シンタックス要素は表1に太字で示されている。
[0047]シンタックス要素prev_intra_luma_pred_flag[x0][y0]、mpm_idx[x0][y0]およびrem_intra_luma_pred_flag[x0][y0]は、ルーマサンプル用のイントラ予測モードを明示している。アレイインデックスx0、y0は、ピクチャの左上ルーマサンプルに対する予測ブロックの左上ルーマサンプルのロケーションを明示している。シンタックス要素prev_intra_luma_pred_flag[x0][y0]は、真または偽の条件を示し、1または0の値を有することができる。一例では、prev_intra_luma_pred_flag[x0][y0]が1に等しいとき、現在のPU用のイントラ予測モードは、隣接するイントラ予測されたPUから推測される。
[0048]たとえば、表1に示すように、prev_intra_luma_pred_flag[x0][y0]が1に等しいとき、mpm_idx[x0][y0]シンタックス要素を、ビデオエンコーダが符号化ビットストリームにおいて通知し、ビデオデコーダが符号化ビットストリームから受信する。mpm_idx[x0][y0]は、最確モード(mpm)リストへのインデックスである。たとえば、ビデオエンコーダおよびビデオデコーダはそれぞれ、最確モードリストを作成するように構成され得る。最確モードリストは、イントラ予測モードを識別する。
[0049]ビデオデコーダは、暗示的に(すなわち、最確モードリストにどのイントラ予測モードが含まれるべきかを示すビデオエンコーダからの通知を受信することなしに)最確モードリストを作成することができ、またはビデオエンコーダから受信された通知に基づいて最確モードリストを作成することができる。いずれの例でも、ビデオエンコーダ側における最確モードリストおよびビデオデコーダ側における最確モードリストは、同じイントラ予測モードを同じ順序で識別することができる。いくつかの例では、ビデオエンコーダおよびビデオデコーダは、CUのイントラ予測されたPUごとに最確モードリストを作成することができ、CUの2つ以上のPU用の最確モードリストは異なり得る(すなわち、CUのPU用にそれぞれの最確モードリストがあり得る)。ただし、本開示で説明する技法は、そのように限定されない。
[0050]ビデオエンコーダおよびビデオデコーダが最確モードリストを作成し得る様々な方法があり得る。一例として、ビデオエンコーダおよびビデオデコーダは、最確モードリストに固定数のイントラ予測モードを識別する(すなわち、3つのイントラ予測モードを識別する)ように構成される。ビデオエンコーダおよびビデオデコーダは、現在のPU(たとえば、イントラ予測されているPU)に隣接する第1の隣接PUおよび現在のPUに隣接する第2の隣接PUのイントラ予測モードを評価する。第1および第2の隣接PUの例には、左、左上、右、下、および概して任意の隣接PUがある。
[0051]ビデオエンコーダおよびビデオデコーダは、最確モードリストに第1および第2の隣接PUのイントラ予測モードを含める。第1および第2の隣接PUの一方または両方がイントラ予測されない場合、ビデオエンコーダおよびビデオデコーダはDCイントラ予測モードを、一例として、最確モードリスト中に、第1および第2の隣接PU用の最確モードリスト内の対応するロケーションにおいて識別することができる。
[0052]イントラ予測モードリストにおける第3のイントラ予測モードを判断するにあたり、ビデオエンコーダおよびビデオデコーダは、第1および第2の隣接PU用のイントラ予測モードが同じであるかどうか(イントラ予測されない場合にDCイントラ予測モードが選択されたかどうかを含む)を判断することができる。第1および第2の隣接PU用のイントラ予測モードが同じである場合、ビデオエンコーダおよびビデオデコーダは、イントラ予測モードリストにおける第3のイントラ予測モードを識別するための第1の技法を実装することができる。いくつかの例では、第1および第2の隣接PU用のイントラ予測モードが同じである場合、ビデオエンコーダおよびビデオデコーダは、最確モードリストにおけるイントラ予測モードのうちの1つを識別し、第1の技法(または第1の技法ではない別の技法)を使用して、最確モードリストにおける第2および第3のイントラ予測モードを識別することができる。第1および第2の隣接PU用のイントラ予測モードが異なる場合、ビデオエンコーダおよびビデオデコーダは、第3のイントラ予測モードを識別するための第2の技法を実装することができる。
[0053]第3のイントラ予測モードを識別するための第1および第2の技法の様々な例があってよく、本開示で説明する技法はいずれか1つの特定の技法に限定されない。いくつかの例では、第1の技法または第2の技法のいずれかに基づく第3のイントラ予測モードは、必ずしも隣接PUのイントラ予測モードである必要はない。いくつかの例では、第1の技法または第2の技法のいずれかに基づく第3のイントラ予測モードは、隣接PUのイントラ予測モードに基づき得る。
[0054]mpm_idx[x0][y0]は、ビデオエンコーダが通知し、ビデオデコーダが受信する最確モードリストへのインデックスである。この例では、mpm_idx[x0][y0]値から、ビデオデコーダは現在のPU用のイントラ予測モードを判断するように構成され得る。いくつかの例では、最確モードリストは隣接PU(たとえば、第1および第2の隣接PU)のイントラ予測モードに基づくので、mpm_idx[x0][y0]シンタックス要素は、場合によっては、現在のPU用のイントラ予測モードを推測するために使用されるべき特定の隣接PUを識別するために使用され得る。たとえば、一例として、mpm_idx[x0][y0]が、第1の隣接PUに関連するイントラ予測モードを識別する最確モードリストへのインデックスである場合、ビデオデコーダは、第1の隣接PUを、現在のPUのイントラ予測モードが推測されるべきPUとして識別すると見なされ得る。
[0055]たとえば、図1を参照すると、INTRA_N×Nの例において、PU1用のイントラ予測モードがPU0用のイントラ予測モードに等しいことがある。シンタックス要素mpm_idx[x0][y0]は、現在のPUがイントラ予測モードを推測することができる、隣接するイントラ予測されたPUのセット内の隣接PUを示すことができる。この例では、prev_intra_luma_pred_flag[x0][y0]が0に等しい場合、イントラ予測モードは隣接PUから推測されず、シンタックス要素rem_intra_luma_pred_mode[x0][y0]によって示される。
[0056]rem_intra_luma_pred_mode[x0][y0]シンタックス要素は、現在のPU用の特定のイントラ予測モードを明示し得る。いくつかの例では、rem_intra_luma_pred_mode[x0][y0]シンタックス要素は、現在のPU用のイントラ予測モードが、最確モードリストによって識別されたイントラ予測モードに含まれないことを明示し得る。たとえば、rem_intra_luma_pred_mode[x0][y0]シンタックス要素は、最確モードリストで識別されたイントラ予測モードが除外されたときに、すべての考えられるイントラ予測モードから残りのイントラ予測モードを識別する。しかしながら、本開示の技法は、そのように限定されない。
[0057]シンタックス要素intra_chroma_pred_mode[x0][y0]は、CUのクロマサンプル用のイントラ予測モードを明示する。クロマイントラ予測は、ルーマイントラ予測モードに基づき得る。シンタックス要素chroma_pred_from_luma_enabled_flagは、クロマ用のイントラ予測モードがルーマ用のイントラ予測モードに基づくかどうかを示すことができる。
[0058]HEVC WD6では、考えられるイントラ予測モードは、平面予測モード(predMode=0)と、DC予測(predMode=1)と、33個の角度予測モード(predMode=2、...、34)と、ルーマ予測モードからイントラ予測モードを推測するクロマ成分用の予測モード(predMode=35)とを含む。したがって、ルーマ成分の場合、prev_intra_luma_pred_flagの値に応じて、mpm_idxシンタックス要素が、最確モードリストへのインデックスを示すことができ、最確モードリストの各エントリは、35個の考えられるイントラ予測モードのうちの1つを識別するか、またはrem_intra_luma_pred_modeが、(いくつかの例では、最確モードリストで識別されたイントラ予測モードを除く)35個の考えられるイントラ予測モードのうちの1つを示すことができる。一例では、シンタックス要素rem_intra_luma_pred_modeは、0〜31の整数値を有することができ、固定長バイナリコーディング方法を使用してコーディングされてよく、シンタックス要素mpm_idxは、(たとえば、最確モードリストにおける3つのエントリのうちの1つを識別する)0〜2の整数値を有することができ、切断単項(truncated unary)コーディング方法を使用してコーディングされてよい。さらに、クロマ成分の場合、intra_chroma_pred_modeおよび1つまたは複数の他のシンタックス要素が、36個の考えられるイントラ予測モードのうちの1つを示すことができる。一例では、シンタックス要素intra_chroma_pred_modeは、0〜5の整数値を有することができる。シンタックス要素mpm_idx、rem_intra_luma_pred_mode、およびintra_chroma_pred_modeの各々が特定のイントラ予測モードを識別する方法のより詳細な説明は、HEVC WD6において提供されており、簡潔のために本明細書では繰り返す。ただし、本明細書で説明する技法は、概して、シンタックス要素mpm_idx、rem_intra_luma_pred_mode、およびintra_chroma_pred_modeの企図された変形に適用され得ることに留意されたい。
[0059]上述のように、ビデオコーディング規格は、CABAC技法に従ってシンタックス要素をエントロピーコーディングすることができる。CABACコーディングをシンタックス要素に適用するために、ビデオコーダは、シンタックス要素に2値化を実行することができる。2値化は、シンタックス値を一連の1つまたは複数のビットに変換するプロセスを指す。これらのビットは「ビン」と呼ばれる場合がある。2値化は、可逆的プロセス(lossless process)であり、以下のコーディング技法の1つまたは組合せを含むことができる。固定長コーディング、単項コーディング、切断単項コーディング、切断ライス(truncated Rice)コーディング、ゴロムコーディング、指数ゴロムコーディング、およびゴロムライスコーディング。たとえば、2値化は、5の整数値を、8ビット固定長技法を使用して00000101として、または単項コーディング技法を使用して11110として表現することを含む場合がある。
[0060]2値化の後、ビデオコーダはコーディングコンテキストを識別することができる。コーディングコンテキストは、特定の値を有するビンをコーディングする確率を識別することができる。たとえば、コーディングコンテキストは、0の値のビンをコーディングする0.7の確率と、1の値のビンをコーディングする0.3の確率とを示すことができる。コーディングコンテキストを識別した後、ビデオコーダは、コンテキストに基づいてそのビンを算術的にコーディングすることができる。正規のCABACコーディングを使用してコーディングされたビンは、「CABACビン」と呼ばれる場合がある。
[0061]さらに、すべてのシンタックス要素ビンに正規のCABAC符号化を実行するのではなく、ビデオコーダは、バイパスのCABACコーディングを使用して、いくつかのシンタックス要素ビンをコーディングすることができる。バイパスコーディングは、適応型コンテキストを使用せずにビンを算術的に符号化するプロセスを指す。すなわち、バイパスコーディングエンジンは、コンテキストを選択せず、両方のシンボル(0および1)について0.5の確率を仮定することができる。バイパスコーディングはCABACコーディングほど帯域幅が効率的ではない場合があるが、ビンに正規のCABACコーディングを実行するのではなく、ビンにバイパスコーディングを実行することは、計算上さほど高価ではない可能性がある。さらに、バイパスコーディングを実行すると、より高い程度の並列化およびスループットが可能になる場合がある。バイパスコーディングを使用してコーディングされたビンは、「バイパスビン」と呼ばれる場合がある。
[0062]CABACコーダが実装されるとき、CABACコーダは、正規のCABACコーディングを実行する正規のコーディングエンジンとバイパスコーディングを実行するバイパスコーディングエンジンとを含むことができる。あるビンがCABACコーディングされる場合、このビンをコーディングするために正規のCABAC符号化エンジンが使用される。正規のCABAC符号化エンジンは、単一のビンをコーディングするために3つ以上の処理サイクルを必要とし得る。しかしながら、適切なパイプライン設計により、正規のCABAC符号化エンジンは、n個のビンを符号化するためにn+M個のサイクル(Mは、パイプラインをスタートさせるためのオーバーヘッドである)を必要とするにすぎないことがある。Mは通常、0よりも大きい。
[0063]CABACコーディングプロセスの開始時に(すなわち、バイパスモードから正規に切り替えるたびに)、パイプラインオーバーヘッドがもたらされる。あるビンがバイパスコーディングされる場合、このビンをコーディングするためにバイパス符号化エンジンが使用される。バイパスコーディングエンジンは、nビット(nは1よりも大きいことがある)のシンタックス要素をコーディングするために1サイクルだけ必要とすると予想され得る。したがって、バイパスビンおよびCABACビンのセットをコーディングするためのサイクルの総数は、セット内のバイパスビンのすべてが一緒にコーディングされ、セット内のCABACビンのすべてが一緒にコーディングされる場合に、減少し得る。具体的には、CABACコーディングに移行する前または移行した後にバイパスビンを一緒にコーディングすることで、CABACコーディングエンジンを再スタートさせるのに必要なオーバーヘッドを節減することができる。
[0064]上述のように、INTRA_N×N PU構造を有するCUは、4つのルーマイントラ予測モードを有することができ、したがってシンタックス要素prev_intra_luma_pred_flag、mpm_idxおよびrem_intra_luma_pred_modeの4つのセットを有することができる。一例では、これらの3つのシンタックス要素のうち、prev_intra_luma_pred_flagのみがCABACコーディングされ、mpm_idxとrem_intra_luma_pred_modeの両方はバイパスコーディングされる。ここでも、バイパスコーディングは、非CABACプロセスによる、すなわちCABACエンジン以外でのビンのコーディングを指し得る。バイパスコーディングで使用され得る非CABACコーディングの例には、ゴロムコーディング、指数ゴロムコーディング、およびゴロムライスコーディングがある。
[0065]上述のように、INTRA_N×N PU構造を有するCUは、4つのPUすべてに使用される1つのクロマイントラ予測モードを有することができる。クロマイントラ予測モードは、ルーマイントラ予測モードに基づき得る。表2は、一例として、シンタックス要素intra_chroma_pred_modeの2値化を示す。2値化により、intra_chroma_pred_modeの対応値を表す1つまたは複数のビンが生じる。この例では、下線が引かれたビンはCABACコーディングされ、ビンの残りはバイパスコーディングされている。表2に示すように、intra_chroma_pred_modeの2値化および特定のビンがCABACコーディングされるか、それともバイパスコーディングされるかは、chroma_pred_from_luma_enable_flagの値に基づく。したがって、シンタックス要素の2値化および特定のビンがCABACコーディングされるか、それともバイパスコーディングされるかは、別のシンタックス要素(たとえば、chroma_pred_from_luma_enable_flag)の値に基づき得る。
[0066]下の表3および表4は、いくつかの例における、CU用のルーマ予測モードおよびクロマ予測モードを識別するシンタックス要素のコーディング構造を表す。表3は、INTRA_2N×2N PU構造の場合のシンタックス要素のコーディングを示し、表4は、INTRA_N×N PU構造のコーディングを示す。表3および表4において、シンタックス要素intra_chroma_pred_modeは、シンタックス要素chroma_mode_cabac_binsおよびchroma_mode_bypass_binsとして表され、表2で提供されたように、chroma_mode_cabac_binsは、CABACコーディングされたビンを示し、chroma_mode_bypass_binsは、バイパスコーディングされたビンを示す。表3および表4は、シンタックス要素がCABACモードを使用してコーディングされるのか、それともバイパスモードを使用してコーディングされるのかを識別する。シンタックス要素はCABACコーディングエンジンに出力され、通常、表3および表4に提示された順序でエントロピーコーディングされる。さらに、表4に示すように、各々が4つのPUのうちの1つに対応する、prev_intra_luma_pred_flag、mpm_idxおよびrem_intra_luma_pred_modeの4つのセットと、PUの4つすべてによって共有される1つのクロマモード指示とがある。
[0067]表3および表4に示すように、CABACコーディングされたシンタックス要素は、バイパスコーディングされたシンタックス要素とインターリーブされ、これは上述のように、たとえばCABACコーディングエンジンを再スタートさせる際のセットアップオーバーヘッドのために、表3および表4におけるシンタックス要素のすべてをエントロピー符号化するのに必要なサイクルの総数を増やし得る。表4に示すように、この問題は、CUが複数のPUを含む場合に悪化する。本開示によれば、パイプラインオーバーヘッド全体とイントラ予測モードを識別するシンタックス要素を符号化するのに必要なサイクルの総数とを減らすために、コーディング順序に対するある種の調整が行われ得る。
[0068]図2は、本開示による技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図2に示すように、システム10は、符号化ビデオデータを通知するソースデバイス12を含む。いくつかの例では、ソースデバイス12は、通信チャネル16を介して宛先デバイス14に符号化ビデオデータを通知することができる。ソースデバイス12および宛先デバイス14は、広範囲のデバイスのいずれかを備えることができる。場合によっては、ソースデバイス12および宛先デバイス14は、いわゆるセルラー電話または衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信デバイス、または通信チャネル16を介してビデオ情報を通信することができ、その場合、通信チャネル16がワイヤレスである任意のワイヤレスデバイスを備え得る。ただし、本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用され得る。したがって、通信チャネル16は、宛先デバイス14による後の取り出しのための符号化ビデオデータの送信または記憶に好適なワイヤレス媒体、ワイヤード媒体、または記憶媒体の任意の組合せを備え得る。
[0069]図2の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、パイプラインオーバーヘッドを低減するようにエントロピー符号化するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0070]図2の図示のシステム10は一例にすぎない。パイプラインオーバーヘッドを低減するようにフラグのセットと各フラグに関するそれぞれのシンタックス要素とをエントロピー符号化するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオコーディングデバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話通信のためのビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートすることができる。
[0071]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成することができる。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含むことができる。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含むことができる。
[0072]宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28は情報を復調する。この場合も、ビデオ符号化プロセスは、パイプラインオーバーヘッドを低減するようにシンタックス要素をエントロピー符号化するための本明細書で説明する技法のうちの1つまたは複数を実装し得る。チャネル16を介して通信される情報は、マクロブロックおよび他のコーディングされたユニット、たとえば、ピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む、ビデオデコーダ30によっても使用される、ビデオエンコーダ20によって定義されるシンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0073]図2の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル16は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用なルータ、スイッチ、基地局、または任意の他の機器を含むことができる。他の例では、ソースデバイス12は、データを送信するのではなく、符号化データを記憶媒体に記憶し得る。同様に、宛先デバイス14は、記憶媒体から符号化データを取り出すように構成され得る。このようにして、ソースデバイス12は、本明細書で説明する技法により符号化されたビデオファイルを含むコンピュータプログラム製品を生成するように構成され得る。
[0074]ビデオエンコーダ20およびビデオデコーダ30は、本明細書で説明したようなビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。図2には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
[0075]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、エンコーダまたはデコーダなどのビデオコーディングデバイスを含むワイヤレス通信デバイス、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路またはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0076]ビデオエンコーダ20およびビデオデコーダ30は、本開示による技法を実装するように構成され得る。そのような技法は、パイプラインオーバーヘッドを低減することができ、それによりスループットを増大させる可能性がある。たとえば、パイプラインオーバーヘッドの1つの原因は、コンテキスト適応型バイナリ算術コーディング(CABAC)をスタートさせるために必要なサイクルに関連するオーバーヘッドである。本開示で説明する技法では、ビデオエンコーダ20は、CABAC符号化を使用して(たとえば、正規のCABACエンジンにより)第1のシンタックス要素グループをエントロピー符号化し、バイパス符号化を使用して(たとえば、バイパスエンジンにより)第2のシンタックス要素グループをエントロピー符号化する。同様に、ビデオデコーダ30は、CABAC復号を使用して(たとえば、正規のCABACエンジンにより)第1のシンタックス要素グループをエントロピー復号し、バイパス復号を使用して(たとえば、バイパス復号エンジンにより)第2のシンタックス要素グループをエントロピー復号する。
[0077]このようにして、CABAC符号化された第1のグループのシンタックス要素は、ビットストリームにおいて、バイパス符号化された第2のグループのシンタックス要素とインターリーブされない。CABAC符号化されたシンタックス要素とバイパス符号化されたシンタックス要素とがインターリーブされた場合、ビデオエンコーダ20およびビデオデコーダ30はCABACエンジンを繰り返し再スタートさせなければならなくなる。
[0078]たとえば、第1のシンタックス要素がCABAC符号化されるべきであり、バイパス符号化されるべき第2のシンタックス要素に先行し、CABAC符号化されるべき第3のシンタックス要素がバイパス符号化されるべき第2のシンタックス要素の後に来ると仮定する。この例では、CABAC符号化され、バイパス符号化されるべきシンタックス要素がインターリーブされ、ビデオエンコーダ20は第1のシンタックス要素のためにCABACエンジンをスタートさせ、次いで、バイパスエンジンにより第2のシンタックス要素を符号化した後に第3のシンタックス要素のためにCABACエンジンを再スタートさせることが必要になるが、これはサイクルを浪費する。
[0079]本開示で説明する技法では、第1のシンタックス要素グループをCABAC符号化し、第2のシンタックス要素グループをバイパス符号化することによって、ビデオエンコーダ20は、CABACエンジンがスタートするべき回数を減らし、それにより、浪費されるサイクルの数を減らすことができる。同様に、第1のシンタックス要素グループをCABAC復号し、第2のシンタックス要素グループをバイパス復号することによって、ビデオデコーダ30は、CABACエンジンがスタートするべき回数を減らし、それにより、浪費されるサイクルの数を減らすことができる。
[0080]より詳細に説明するように、第1のシンタックス要素グループの各シンタックス要素はCUの1つのPUに関連付けられ、第2のシンタックス要素グループの各シンタックス要素は第1のシンタックス要素グループのシンタックス要素に対応する。第1のシンタックス要素グループおよび第2のシンタックス要素グループの各々は、複数のシンタックス要素を含む。第1のシンタックス要素グループの各々は、それぞれのPU(たとえば、第1のシンタックス要素グループのシンタックス要素に対応するPU)のイントラ予測モードが隣接PUから推測されるかどうかを示す。言い換えれば、第1のシンタックス要素グループの各々は、それぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す。
[0081]たとえば、ビデオエンコーダ20およびビデオデコーダ30は、上述した例示的な方法で最確モードリストを作成するように構成され得る。第1のシンタックス要素グループにおける各シンタックス要素は、CUにおけるPUのうちの1つに対応し得る。この例では、第1のシンタックス要素グループにおけるシンタックス要素(すなわち、第1のグループの複数のシンタックス要素におけるシンタックス要素のうちの1つ)は、CUにおけるシンタックス要素が対応するPU用のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す。
[0082]第1のシンタックス要素グループのシンタックス要素が、関連付けられるPUのイントラ予測モードが最確モードリストへのインデックスに基づくことを示す場合、第1のシンタックス要素グループのシンタックス要素に関連付けられる第2のシンタックス要素グループのシンタックス要素は、最確モードリストへのインデックスを識別する。第1のシンタックス要素グループのシンタックス要素が、関連付けられるPUのイントラ予測モードが最確モードリストへのインデックスに基づかないことを示す場合、第1のシンタックス要素グループのシンタックス要素に関連付けられる第2のシンタックス要素グループのシンタックス要素は、イントラ予測モードを示す。
[0083]図3は、本明細書で説明するビデオデータを符号化するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。一例では、ビデオエンコーダ20は、第1のシンタックス要素グループと第2のシンタックス要素グループとを生成するように構成されてよく、第2のシンタックス要素グループのシンタックス要素は第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、第1のシンタックス要素グループのシンタックス要素の各々は、CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す。ビデオエンコーダ20は、(たとえば、正規のCABACエンジンを使用して)第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化し、第1のシンタックス要素グループをエントロピー符号化した後に、(たとえば、バイパス符号化エンジンを使用して)第2のシンタックス要素グループをバイパス符号化し、符号化された第1のシンタックス要素グループと符号化された第2のシンタックス要素グループとを含むビデオデータを出力することができる。第1のシンタックス要素グループおよび第2のシンタックス要素グループの各々は、複数のシンタックス要素を含む。
[0084]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディング(すなわち、イントラ予測符号化)およびインターコーディング(すなわち、インター予測符号化)を実行することができる。図3に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックであり得るビデオデータを受信し、符号化ビデオビットストリームを出力する。ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中で送り得る。GOPシンタックスデータは、それぞれのGOP中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示し得る。
[0085]図3の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化処理ニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、今度は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46と、パーティションユニット48とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化処理ユニット58と、逆変換処理ユニット60と、加算器62とを含む。
[0086]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的な予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディング(インター予測符号化)を実行する。イントラ予測ユニット46は代替的に、空間的な予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディング(イントラ予測符号化)を実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
[0087]その上、パーティションユニット48は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット48は、初めにフレームまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらに、LCUをサブCUに区分することを示す4分木データ構造を生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。
[0088]モード選択ユニット40は、たとえば、誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの1つを選択することができ、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に提供し、参照フレームとして使用するための符号化ブロックを復元するために加算器62に提供する。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に提供する。たとえば、モード選択ユニット40は、上述のようにシンタックス要素prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、intra_chroma_pred_mode、およびchroma_pred_from_luma_enable_flagをエントロピー符号化ユニット56に提供することができる。さらに、モード選択ユニット40は、prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、およびintra_chroma_pred_modeへのシンタックス要素を、シンタックス要素をエントロピー符号化するのに必要なサイクルの数が減る方法でエントロピー符号化ユニット56に提供されるように配列するように構成され得る。
[0089]たとえば、ビデオエンコーダ20は、エントロピー符号化ユニット56を介して、CABAC符号化を使用してCU内の各PU用のprev_intra_luma_pred_flagをエントロピー符号化する。この例では、第1のシンタックス要素グループは、複数のprev_intra_luma_pred_flag(すなわち、CUにおける各PUに1つ)を含む。ビデオエンコーダ20は、エントロピー符号化ユニット56を介して、対応するprev_intra_luma_pred_flagが、PU用のイントラ予測モードが最確モードリストへのインデックスに基づくことを示す場合に、バイパス符号化を使用してmpm_idxシンタックス要素をエントロピー符号化し、または対応するprev_intra_luma_pred_flagが、PU用のイントラ予測モードが最確モードリストへのインデックスに基づかないことを示す場合に、rem_intra_luma_pred_modeシンタックス要素を符号化する。この例では、第2のシンタックス要素グループは、1つまたは複数のmpm_idxシンタックス要素および1つまたは複数のrem_intra_luma_pred_modeシンタックス要素のうちの少なくとも1つを含む。
[0090]言い換えれば、第1のシンタックス要素グループにおけるシンタックス要素の一例はprev_intra_luma_pred_flagであり、第2のシンタックス要素グループにおけるシンタックス要素の一例はmpm_idxシンタックス要素であり、第2のシンタックス要素グループにおけるシンタックス要素の別の例はrem_intra_luma_pred_modeシンタックス要素である。
[0091]この場合も、prev_intra_luma_pred_flagは、CUのPUのルーマサンプルのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す。prev_intra_luma_pred_flagが、CUのPUのルーマサンプルのイントラ予測モードが最確モードリストへのインデックスに基づくことを示す場合に、mpm_idxシンタックス要素は、最確モードリストへのインデックスを示す。prev_intra_luma_pred_flagが、CUのPUのイントラ予測モードが最確モードリストへのインデックスに基づかないことを示す場合に、rem_intra_luma_pred_modeシンタックス要素は、PUのルーマサンプルのイントラ予測モードを示す。rem_intra_luma_pred_modeシンタックス要素は、最確モードリストで識別されないイントラ予測モードを示すことができる。
[0092]動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム(または他のコーディングされたユニット)内でコーディングされている現在のブロックに対する参照フレーム(または他のコーディングされたユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分尺度によって決定され得るピクセル差分に関して、コーディングされるべきブロックに精密に一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照フレームメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0093]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてよく、その各々は、参照フレームメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0094]動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0095]イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、たとえばレートひずみ分析に基づいて、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。上述のように、考えられるイントラ予測モードは、平面予測モードと、DC予測と、角度予測モードと、ルーマ予測モードからイントラ予測モードを推測するクロマ成分用の予測モードとを含む。
[0096]さらに、一例では、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を判断する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
[0097]ブロック用のイントラ予測モードを選択した後、イントラ予測ユニット46は、シンタックス要素などのブロック用に選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット56に提供することができる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、(コードワードマッピングテーブルとも呼ばれる)複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルと、様々なブロック用の符号化コンテキストの定義と、最確イントラ予測モードの指示とを含む送信されたビットストリーム構成データの中に、コンテキストの各々について使用する、イントラ予測モードインデックステーブルと修正されたイントラ予測モードインデックステーブルとを含めることができる。
[0098]上述のように、イントラ予測シンタックス要素prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、intra_chroma_pred_mode、およびchroma_pred_from_luma_enable_flagは、PU構造の場合の1つまたは複数のルーマイントラ予測モードとPU構造の場合の1つのクロマイントラ予測モードとを示すことができる。さらに、表3および表4に関して上述したように、コーディング構造内のイントラ予測シンタックス要素prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、intra_chroma_pred_mode、およびchroma_pred_from_luma_enable_flagの配列は、PU構造の場合のシンタックス要素のすべてをエントロピー符号化するのに必要なサイクルの総数を決定することができる。したがって、表3および表4に関して上述したようにエントロピー符号化ユニット56にイントラ予測シンタックス要素を出力することに加えて、イントラ予測ユニット46は、シンタックス要素をエントロピー符号化するのに必要なサイクルの総数が減る方法でエントロピー符号化ユニット56に出力されるようにイントラ予測シンタックスを配列するように構成され得る。同様に、この配列により、デコーダにおいてシンタックス要素をエントロピー復号するのに必要なサイクルの総数が減る。
[0099]一例では、イントラ予測ユニット46は、ルーマイントラモードシンタックス要素のCABACコーディングされたビンとともにクロマイントラモードシンタックス要素のCABACコーディングされたビンを、それらが一緒にコーディングされるように配列するように構成され得る。さらに、イントラ予測ユニット46は、クロマイントラモードシンタックス要素のバイパスコーディングされたビンとともにルーマイントラモードシンタックス要素のバイパスコーディングされたビンを、それらが一緒にコーディングされ得るように配列し得る。表5は、INTRA_2N×2N PU構造の場合のこの配列の例示的なコーディング構造を提供する。表6は、INTRA_N×N PU構造の場合のこの配列の例示的なコーディング構造を提供する。表5および表6では、シンタックス要素は、表3および表4に関して上述したように定義され得る。ただし、表5および表6におけるシンタックス要素は、必ずしも上述したのと同じ値の範囲を有する必要はないことに留意されたい。たとえば、ビデオエンコーダ20が33個よりも少ないかまたは多いイントラ予測モードを含む場合、シンタックス要素の値はしかるべく調整され得る。表5および表6に示すように、シンタックス要素chroma_mode_cabac_binsは、mpm_idxおよびrem_intra_luma_pred_modeの前にコーディングされるように配列される。
[0100]別の例では、イントラ予測ユニット46は、CU内のPUのすべてに関するイントラモードルーマシンタックス要素のCABACコーディングされたビンを、それらが一緒にコーディングされ得るように配列するように構成され得る。さらに、イントラ予測ユニット46は、ルーマイントラモードシンタックス要素のバイパスコーディングされたビンを、それらが一緒にコーディングされ得るように配列し得る。表7は、INTRA_2N×2N PU構造の場合のこの配列の例示的なコーディング構造を提供する。表8は、INTRA_N×N PU構造の場合のこの配列の例示的なコーディング構造を提供する。表7および表8では、シンタックス要素は、表5および表6に関して上述したように定義され得る。
[0101]表8に示すように、INTRA_N×N PU構造の場合、4つのPUの各々に関するprev_intra_luma_pred_flagシンタックス要素がコーディングされ、次いで、PUの各々に関するそれぞれのmpm_idxおよびrem_intra_luma_pred_modeシンタックス要素がコーディングされる。4つのprev_intra_luma_pred_flagシンタックス要素は、PU用の第1のシンタックス要素グループと呼ばれ得る。したがって、イントラ予測ユニット46は、フラグの各々に関連するそれぞれのシンタックス要素mpm_idxおよびrem_intra_luma_pred_modeの前に、エントロピー符号化ユニット56の前に第1のシンタックス要素グループを出力するように構成され得る。
[0102]また別の例では、イントラ予測ユニット46は、コーディングユニット中のPUすべてに関するルーマイントラモードシンタックス要素とクロマイントラモードシンタックス要素の両方のCABACコーディングされたビンすべてを、それらが一緒にコーディングされ得るように配列するように構成され得る。さらに、イントラ予測ユニット46は、ルーマイントラモードとクロマイントラモードの両方のバイパスコーディングされたビンすべてを、それらが一緒にコーディングされ得るように配列するように構成され得る。表9は、INTRA_2N×2N PU構造の場合のこの配列の例示的なコーディング構造を提供する。表10は、INTRA_N×N PU構造の場合のこの配列の例示的なコーディング構造を提供する。表9および表10では、シンタックス要素は、表5および表6に関して上述したように定義され得る。
[0103]表6〜表10において、表においてシンタックス要素が提示されている行は、エントロピーエンコーダによってエントロピー符号化される順序に対応することに留意されたい。場合によっては、表6〜表10における隣接する行の間に中間のエントロピー符号化が生じないことがある。本明細書における「グループ」および「グループ化」という用語は、概して、要素を一緒に近くに、たとえば、ピクチャ、スライス、CUなどのようなビデオコーディングユニット内のシンタックステーブル内に配置することを指し得る。グループに含まれるシンタックス要素に対して演算が実行される場合、場合によっては、グループ内のすべての要素に対する演算が完了するまで、グループの外にある要素に対して演算が実行されない(すなわち、異なるグループ間でインターリーブされない)ように、要素が一緒に近くに配置され得る。場合によっては、グループ中のビンは、連続的に提示され、順番に、または順次、すなわち次々にコーディングされ得る。
[0104]図3を再び参照すると、ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化処理ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化処理ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0105]ビデオエンコーダ20は、たとえば、時間的に予測されるべき1つまたは複数の同じフレームにおいて、後続のブロックを予測するための参照として使用されるべき復号されたブロックを記憶するために、逆量子化および逆変換を実行するように構成され得る。逆量子化処理ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域内の残差ブロックを復元する。動き補償ユニット44は、残差ブロックを参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームメモリ64に記憶するための再構成されたビデオブロックを生成する。
[0106]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。さらに、エントロピー符号化ユニット56は、上述した予測シンタックス要素などのシンタックス要素をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピー符号化の場合、コンテキストは隣接ブロックに基づくことができる。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または後で送信するかもしくは取り出すためにアーカイブされ得る。
[0107]図4は、本開示で説明する技法を実装し得る例示的なエントロピー符号化ユニット56を示すブロック図である。一例では、図4に示すエントロピー符号化ユニット56は、CABACエンコーダであり得る。例示的なエントロピー符号化ユニット56は、2値化ユニット502と、算術符号化ユニット510と、コンテキストモデル化ユニット506とを含む場合があり、算術符号化ユニット510は、バイパス符号化エンジン504と正規符号化エンジン508とを含む。
[0108]エントロピー符号化ユニット56は、上述したイントラ予測シンタックス要素prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、intra_chroma_pred_mode、およびchroma_pred_from_luma_enable_flagなどの1つまたは複数のシンタックス要素を受信し得る。エントロピー符号化ユニット56によってシンタックス要素が受信される順序は、表3〜表10に関して上述した例示的なコーディング構造などのコーディング構造に従って定義され得る。
[0109]2値化ユニット502は、シンタックス要素を受信し、ビンストリング(すなわち、バイナリストリング)を生成する。2値化ユニット502は、たとえば、ビンストリングを生成する次の技法のいずれか1つまたは組合せを使用することができる。固定長コーディング、単項コーディング、切断単項コーディング、切断ライスコーディング、ゴロムコーディング、指数ゴロムコーディング、およびゴロムライスコーディング。さらに、場合によっては、2値化ユニット502は、シンタックス要素をバイナリストリングとして受信し、ビン値を単にパススルーする場合がある。一例では、2値化ユニット502は、シンタックス要素intra_chroma_pred_modeを受信し、表2に関して上述した例に従ってchroma_pred_from_luma_enable_flagの値に基づいてビンストリングを生成する。
[0110]算術符号化ユニット510は、2値化ユニット502からビンストリングを受信し、そのビンストリングに対して算術符号化を実行するように構成される。図4に示すように、算術符号化ユニット510は、バイパス経路または正規コーディング経路からビン値を受信することができる。バイパス経路に従うビン値は、バイパスコーディングされたものとして識別されるビン値であり得るし、正規コーディング経路に従うビン値は、CABACコーディングされたものとして識別され得る。上述したCABACプロセスに従って、算術符号化ユニット510がバイパス経路からビン値を受信する場合、バイパス符号化エンジン504は、ビン値に割り当てられた適応型コンテキストを利用せずに、ビン値に対して算術符号化を実行することができる。一例では、バイパス符号化エンジン504は、ビンの考えられる値について等しい確率を仮定することができる。
[0111]算術符号化ユニット510が正規経路を介してビン値を受信する場合、コンテキストモデル化ユニット506は、コンテキスト変数(たとえば、コンテキスト状態)を提供することができ、その結果、正規符号化エンジン508は、コンテキストモデル化ユニット506によって提供されたコンテキスト割当てに基づいて、算術符号化を実行することができる。コンテキスト割当ては、HEVCなどのビデオコーディング規格に従って定義され得る。コンテキストモデルは、メモリに記憶され得る。コンテキストモデル化ユニット506は、一連のインデックス付きテーブルを含み、かつ/またはマッピング関数を利用して特定のビン用のコンテキストとコンテキスト変数とを決定することができる。ビン値を符号化した後、正規符号化エンジン508は、実際のビン値に基づいてコンテキストを更新することができる。
[0112]さらに、一例では、エントロピー符号化ユニット56は、モード選択ユニット40からシンタックス要素を受信する順序に基づいてビンを符号化するように構成され得る。上述のように、順序は、表3〜表10に関して上述した例示的なコーディング構造などのコーディング構造に従って定義され得る。エントロピー符号化ユニット56がシンタックス要素セット内のシンタックス要素を受信する順序は、エントロピー符号化ユニット56がシンタックス要素セットを符号化するために必要とするサイクルの総数を決定し得る。
[0113]一例では、正規符号化エンジン508は、単一のビンをコーディングするために3つ以上のサイクルを必要とし得る。さらに、一例では、正規符号化エンジン508は、n個のビンを符号化するためにn+M個のサイクル(Mは、パイプラインをスタートさせるためのオーバーヘッドである)を必要とし得る。Mは通常、0よりも大きい。CABAC符号化プロセスの開始時に(たとえば、バイパスモードから正規に切り替えるたびに)、パイプラインオーバーヘッドMがもたらされる。一例では、バイパス符号化エンジン504は、nビット(nはゼロよりも大きい)のシンタックス要素をコーディングするために1つのサイクルを必要とし得る。
[0114]したがって、算術符号化ユニット510がバイパスビンおよびCABACビンのセットを符号化するために必要とするサイクルの総数は、パイプラインオーバーヘッドMがもたらされる回数に基づき得る。たとえば、算術符号化ユニット510が表4に配列されたように予測シンタックス要素を符号化する場合、パイプラインオーバーヘッドが5回もたらされることがあり、算術符号化ユニット510は、シンタックス要素のビンを符号化するために最低でも5*M個のサイクルを必要とし得る。一方、算術符号化ユニット510が表8に配列されたように予測シンタックス要素を符号化する場合、パイプラインオーバーヘッドが2回のみもたらされることがあり、算術符号化ユニット510のパイプラインオーバーヘッドは、2*M個のサイクルに減少し得る。
[0115]HEVCに従ってコーディングされたビデオフレームは数万個程度のPUを含み得ることに留意されたい。したがって、コーディング構造においてイントラ予測シンタックス要素が配列される順序は、ビデオコーダがビデオデータをコーディングするために必要とするサイクルの数に相当な影響を与え得る。さらに、図4に示す例示的なエントロピー符号化ユニット56は、バイパス符号化演算から正規符号化演算への切替えとして記述されているが、場合によってはこれらの演算は並列に実行され得ることに留意されたい。ただし、この場合、エントロピー符号化ユニット56がバイパスコーディングされたシンタックス要素とCABACコーディングされたシンタックス要素とを受信する順序は、依然として、シンタックス要素をエントロピー符号化するために必要なサイクルの総数を決定し得る。オーバーヘッドは、コンテキスト切替えからもたらされる。バイパスモードでコーディングされたビンは、次のCABACコーディングされたビン用のいくつかの異なるシンタックス要素を生じさせ得るので、パイプラインオーバーヘッドを減らすために必要なコンテキストを事前フェッチする(コンテキストバッファをローディングする)のは難しい。
[0116]図5は、本開示の技法によるビデオデータを符号化する一例を示すフローチャートである。図5のプロセスは概してビデオエンコーダ20によって実行されるものとして以下に記載されるが、本プロセスは、ビデオエンコーダ20、モード選択ユニット40および/またはエントロピー符号化ユニット56の任意の組合せによって実行されてよい。
[0117]図5に示すように、ビデオエンコーダ20は、第1のシンタックス要素グループを生成する(602)。一例では、第1のグループ内のシンタックス要素が、それぞれの予測ユニット(PU)の予測モードが最確モードリストへのインデックスに基づくかどうかを示す。一例では、第1のシンタックス要素グループは、INTRA_N×N PU構造におけるPUに対応するシンタックス要素prev_intra_luma_pred_flagの4つを含む。ビデオエンコーダ20は、第2のシンタックス要素グループを生成する(604)。一例では、それぞれのシンタックス要素は、上述したようにシンタックス要素のmpm_idxまたはrem_intra_luma_pred_modeのいずれかであり得る。第2のグループのシンタックス要素は、第1のグループのそれぞれのシンタックス要素に対応する。
[0118]ビデオエンコーダ20は、(たとえば、正規のCABACエンジンを使用して)第1のシンタックス要素グループをCABAC符号化する(606)。第1のシンタックス要素グループをCABAC符号化した後、ビデオエンコーダ20は、(たとえば、バイパス符号化エンジンを使用して)第2のシンタックス要素グループをバイパス符号化する(608)。ビデオエンコーダ20は、第1および第2のシンタックス要素グループに基づいてCUのPUをイントラ符号化することができる(610)。ビデオエンコーダ20はビットストリームにおいて、符号化された第1のシンタックス要素グループと符号化された第2のシンタックス要素グループとを含むビデオデータを出力することができる(612)。ビデオエンコーダ20はビットストリームにおいて、イントラ符号化PUに関する残差情報も出力する。
[0119]上述のように、第1のシンタックス要素グループの例は、複数のフラグ(たとえば、prev_intra_luma_pred_flagシンタックス要素)を含む。複数のフラグのフラグは、それぞれのPUのルーマサンプルのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す第1のシンタックス要素グループのシンタックス要素であり得る。
[0120]いくつかの例では、第1のシンタックス要素グループにおける対応するシンタックス要素が、それぞれのPUのルーマサンプルのイントラ予測モードが最確モードリストへのインデックスに基づくことを示す場合に、第2のシンタックス要素グループは、最確モードリストへのインデックスを示す第1のシンタックス要素を含む。たとえば、それぞれのPU用のprev_intra_luma_pred_flagシンタックス要素が、それぞれのPU用のイントラ予測モードが、最確モードリストへのインデックスに基づくことを示す場合、それぞれのPU用の対応するmpm_idxシンタックス要素は、最確モードリストへのインデックスを示す。この例では、mpm_idxシンタックス要素は、第2のシンタックス要素グループにおける第1のシンタックス要素と見なされる。
[0121]いくつかの例では、第1のシンタックス要素グループにおける対応するシンタックス要素が、それぞれのPUのルーマサンプルのイントラ予測モードが最確モードリストへのインデックスに基づかないことを示す場合に、第2のシンタックス要素グループは、それぞれのPU用のイントラ予測モードを示す第2のシンタックス要素を含む。たとえば、それぞれのPU用のprev_intra_luma_pred_flagシンタックス要素が、それぞれのPU用のイントラ予測モードが、最確モードリストへのインデックスに基づかないことを示す場合、それぞれのPU用の対応するrem_intra_luma_pred_modeシンタックス要素はイントラ予測モードを示す。この例では、rem_intra_luma_pred_modeシンタックス要素は、第2のシンタックス要素グループにおける第2のシンタックス要素と見なされる。
[0122]上述のように、ビデオエンコーダ20が作成する最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測モードを識別する。いくつかの例では、ビデオエンコーダ20は、CUのPU用の第2のシンタックス要素グループの任意のシンタックス要素を出力する前に、CUのPU用の第1のシンタックス要素グループのシンタックス要素すべてを出力することができる。いくつかの例では、ビデオエンコーダ20は、第2のシンタックス要素グループの任意のシンタックス要素をバイパス符号化する前に、第1のシンタックス要素グループのシンタックス要素すべてをCABAC符号化することができる。
[0123]いくつかの例では、エントロピーエンコーダは、エントロピー符号化ユニット56など、ビデオエンコーダ20内に含まれるエントロピーエンコーダであり得ることに留意されたい。この場合、出力するという用語は、ビデオエンコーダ20内の1つの構成要素がビデオエンコーダ20内の別の構成要素にデータを出力することを指し得る。さらに、他の例ではエントロピーエンコーダはビデオエンコーダ20の外部にあり得る。一例では、ビデオエンコーダ20は、それぞれのシンタックス要素の前にシンタックス要素グループが順次配列されるようにフラグのセットとそれぞれのシンタックス要素とを出力する。一例では、ビデオエンコーダ20は、表8に示すコーディング構造に従ってシンタックス要素を配列することができる。ビデオデコーダは、エントロピー符号化ビットストリームを受信し、エントロピー符号化ビットストリームを使用してビデオデータを再構成することができる。
[0124]図6は、符号化ビデオシーケンスを復号するビデオデコーダ30の一例を示すブロック図である。一例では、ビデオデコーダ30は、フラグのセットと各フラグに対応するそれぞれのシンタックス要素とを含むエントロピー符号化ビットストリームを受信することと、ここにおいて、各フラグは、それぞれの予測ユニット(PU)の予測モードが最確モードリストへのインデックスに基づくかどうかを示す、フラグのセットをCABAC復号することと、それぞれのシンタックス要素をバイパス復号することと、各フラグおよびそれぞれのシンタックス要素の値に基づいてビデオデータを再構成することとを行うように構成され得る。
[0125]図6の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化処理ユニット76と、逆変換処理ユニット78と、参照フレームメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図4)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0126]エントロピー復号ユニット70は、エントロピー符号化ビットストリームを受信し、シンタックス要素を符号化するために使用されたエントロピー符号化プロセスとは逆のプロセスに従って、ビットストリームからシンタックス要素を復号する。一例では、シンタックス要素を符号化するために使用されたエントロピー符号化プロセスは、上述のエントロピー符号化プロセスのいずれかであり得る。
[0127]図7は、本開示で説明する技法を実装し得る例示的なエントロピー復号ユニット70を示すブロック図である。エントロピー復号ユニット70は、エントロピー符号化ビットストリームを受信し、そのビットストリームからのシンタックス要素を復号する。シンタックス要素は、上述のイントラ予測シンタックス要素prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、intra_chroma_pred_mode、およびchroma_pred_from_luma_enable_flagを含み得る。エントロピー復号ユニット70によってシンタックス要素が復号される順序は、表3〜表10に関して上述した例示的なコーディング構造などのコーディング構造に従って定義され得る。図7の例示的なエントロピー復号ユニット70は、算術復号ユニット702を含み、算術復号ユニット702は、バイパス復号エンジン704と正規復号エンジン706とを含む場合がある。例示的なエントロピー復号ユニット70はまた、コンテキストモデル化ユニット708と、逆2値化ユニット710とを含む。例示的なエントロピー復号ユニット70は、図4に関して説明した例示的なエントロピー符号化ユニット56の逆の機能を実行することができる。このようにして、エントロピー復号ユニット70は、本明細書で説明する技法に基づいてエントロピー復号を実行することができる。
[0128]算術復号ユニット702は、符号化ビットストリームを受信する。図7に示すように、算術復号ユニット702は、バイパス経路または正規コーディング経路に従って符号化ビン値を処理することができる。符号化ビン値がバイパス経路に従って処理されるべきか、または正規経路に従って処理されるべきかの指示は、より高いレベルのシンタックスを有するビットストリーム内で通知され得る。上述したCABACプロセスに従って、算術復号ユニット702がバイパス経路からビン値を受信する場合、バイパス復号エンジン704は、ビン値に割り当てられたコンテキストを利用せずに、ビン値に対して算術符号化を実行することができる。一例では、バイパス復号エンジン704は、ビンの考えられる値について等しい確率を仮定することができる。
[0129]算術復号ユニット702が正規経路を介してビン値を受信する場合、コンテキストモデル化ユニット708は、コンテキスト変数を提供することができ、その結果、正規復号エンジン706は、コンテキストモデル化ユニット708によって提供されたコンテキスト割当てに基づいて、算術符号化を実行することができる。コンテキスト割当ては、HEVCなどのビデオコーディング規格に従って定義され得る。コンテキストモデルは、メモリに記憶され得る。コンテキストモデル化ユニット708は、一連のインデックス付きテーブルを含み、かつ/またはマッピング関数を利用して、符号化ビットストリームのコンテキストとコンテキスト変数部分とを決定することができる。ビン値を復号した後、正規コーディングエンジン706は、復号されたビン値に基づいてコンテキストを更新することができる。さらに、逆2値化ユニット710は、ビン値に対して逆2値化を実行し、ビン照合関数を使用してビン値が有効かどうかを判定することができる。逆2値化ユニット710はまた、照合判定に基づいてコンテキストモデル化ユニットを更新することができる。したがって、逆2値化ユニット710は、コンテキスト適応型復号技法に従ってシンタックス要素を出力する。
[0130]エントロピー復号ユニット70がシンタックス要素セット内のシンタックス要素を受信する順序は、エントロピー復号ユニット70がシンタックス要素セットを復号するために必要とするサイクルの総数を決定し得る。一例では、正規復号エンジン706は、単一のビンを復号するために3つ以上のサイクルを必要とし得る。さらに、一例では、正規CABAC復号エンジン706は、n個のビンを復号するためにn+M個のサイクル(Mは、パイプラインをスタートさせるためのオーバーヘッドである)を必要とし得る。Mは通常、0よりも大きい。CABAC復号プロセスの開始時に(たとえば、バイパスモードから正規に切り替えるたびに)、パイプラインオーバーヘッドMがもたらされる。一例では、バイパス復号エンジン704は、nビットのシンタックス要素をコーディングするために1つのサイクルを必要とし得る。したがって、算術復号ユニット510がバイパスビンおよびCABACビンのセットを復号するために必要とするサイクルの総数は、パイプラインオーバーヘッドMがもたらされる回数に基づき得る。したがって、コーディング構造においてイントラ予測シンタックス要素が配列される順序は、ビデオデコーダ30がビデオデータを復号するために必要とするサイクルの数を決定し得る。さらに、図7に示す例示的なエントロピー復号ユニット70は、バイパス復号演算から正規復号演算への切替えとして記述されているが、場合によってはこれらの演算は並列に実行され得ることに留意されたい。ただし、この場合、エントロピー復号ユニット70がバイパスコーディングされたシンタックス要素とCABACコーディングされたシンタックス要素とを受信する順序は、依然として、シンタックス要素をエントロピー復号するために必要なサイクルの総数を決定し得る。
[0131]図6を再び参照すると、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。動き補償ユニット72は、ビットストリーム中で受信された動きベクトルを使用して、参照フレームメモリ82中の参照フレーム中の予測ブロックを識別し得る。動き補償ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
[0132]動き補償ユニット72は、シンタックス情報の一部を使用して、符号化ビデオシーケンスの(1つまたは複数の)フレームを符号化するために使用されるマクロブロックのサイズと、符号化ビデオシーケンスのフレームの各マクロブロックがどのように区分されるのかを記述するパーティション情報と、各パーティションがどのように符号化されるのかを示すモードと、各インター符号化マクロブロックまたはパーティションのための1つまたは複数の参照フレーム(および参照フレームリスト)と、符号化ビデオシーケンスを復号するための他の情報とを判断する。
[0133]イントラ予測ユニット74は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。イントラ予測モードは、上述のイントラ予測モードを含むことができる。イントラ予測ユニット74は、上述のようにシンタックス要素prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、intra_chroma_pred_modeおよびchroma_pred_from_luma_enable_flagに従って使用するイントラ予測モードを決定することができる。
[0134]逆量子化ユニット76は、ビットストリーム中で提供され、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、たとえば、H.264復号規格によって定義された従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断し、同様に、適用する逆量子化の程度を判断するための、各マクロブロックについてビデオエンコーダによって計算される量子化パラメータQPYの使用を含み得る。
[0135]逆変換ユニット78は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用して、ピクセル領域において残差ブロックを生成する。加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測ユニット74によって生成される対応する予測ブロックと合計して、復号されたブロックを形成する。このようにして、ビデオデコーダ30は、符号化ビットストリームからビデオブロックを再構成する。
[0136]図8は、本開示の技法によるビデオデータを復号する一例を示すフローチャートである。図8のプロセスは概してビデオデコーダ30によって実行されるものとして以下に記載されるが、本プロセスは、ビデオデコーダ30、イントラ予測ユニット74および/またはエントロピー復号ユニット70の任意の組合せによって実行されてよい。
[0137]図8に示すように、ビデオデコーダ30は、第1のシンタックス要素グループを受信する(802)。ビデオデコーダ30は、第2のシンタックス要素グループを受信し、第2のシンタックス要素グループのシンタックス要素は、第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する(804)。言い換えれば、ビデオデコーダ30は、コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信する。
[0138]一例では、第1のグループ内のシンタックス要素が、それぞれの予測ユニット(PU)の予測モードが最確モードリストへのインデックスに基づくかどうかを示す。一例では、第1のグループは、INTRA_N×N PU構造における4つのそれぞれのPUに対応するシンタックス要素prev_intra_luma_pred_flagの4つを含む。一例では、第2のシンタックス要素グループにおけるシンタックス要素は、上述したシンタックス要素のmpm_idxまたはrem_intra_luma_pred_modeのいずれかであり得る。一例では、第1のシンタックス要素グループおよび第2のシンタックス要素グループは、表8に関して説明したコーディング構造に従って配列され得る。このようにして、ビデオデコーダ30がフラグのセットとそれぞれのシンタックス要素とを受信し、これらに対する演算を実行する順序は、コーディング構造に従って定義され得る。
[0139]ビデオデコーダ30は、第1のシンタックス要素グループをCABAC復号する(806)。一例では、ビデオデコーダ30は、図7に関して説明した正規復号エンジン706などの正規のコンテキスト適応型バイナリ算術コーディング(CABAC)エンジンを使用して第1のシンタックス要素グループをCABAC復号する。ビデオデコーダ30は、第2のシンタックス要素グループをバイパス復号する(808)。一例では、ビデオデコーダ30は、第1のシンタックス要素グループをエントロピー復号した後に第2のシンタックス要素グループをエントロピー復号することができる。さらに、一例では、ビデオデコーダ30は、図7に関して説明したバイパス復号エンジン704などのバイパス復号エンジンを使用して第2のシンタックス要素グループをエントロピー復号することができる。ビデオデコーダ30は、復号された第1のシンタックス要素グループおよび復号された第2のシンタックス要素グループに基づいてビデオデータを復号し再構成する(810)。一例では、ビデオデコーダ30は、ビデオデータの残差ブロックとそれぞれのシンタックス要素に関連するビデオデータの対応する予測ブロックとを加算することによってビデオデータを再構成する。たとえば、ビデオデコーダ30は、第1のシンタックス要素グループおよび復号された第2のシンタックス要素グループに基づいてCUのPUをイントラ予測復号する。
[0140]繰り返すと、ビデオエンコーダ20および図5に関する上記の説明と同様に、第1のシンタックス要素グループの例は複数のフラグ(たとえば、prev_intra_luma_pred_flagシンタックス要素)を含む。複数のフラグのフラグは、それぞれのPUのルーマサンプルのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す第1のシンタックス要素グループのシンタックス要素であり得る。
[0141]いくつかの例では、第1のシンタックス要素グループにおける対応するシンタックス要素が、それぞれのPUのルーマサンプルのイントラ予測モードが最確モードリストへのインデックスに基づくことを示す場合に、第2のシンタックス要素グループは、最確モードリストへのインデックスを示す第1のシンタックス要素を含む。たとえば、それぞれのPU用のprev_intra_luma_pred_flagシンタックス要素が、それぞれのPU用のイントラ予測モードが、最確モードリストへのインデックスに基づくことを示す場合、それぞれのPU用の対応するmpm_idxシンタックス要素は、最確モードリストへのインデックスを示す。この例では、mpm_idxシンタックス要素は、第2のシンタックス要素グループにおける第1のシンタックス要素と見なされる。
[0142]いくつかの例では、第1のシンタックス要素グループにおける対応するシンタックス要素が、それぞれのPUのルーマサンプルのイントラ予測モードが最確モードリストへのインデックスに基づかないことを示す場合に、第2のシンタックス要素グループは、それぞれのPU用のイントラ予測モードを示す第2のシンタックス要素を含む。たとえば、それぞれのPU用のprev_intra_luma_pred_flagシンタックス要素が、それぞれのPU用のイントラ予測モードが、最確モードリストへのインデックスに基づかないことを示す場合、それぞれのPU用の対応するrem_intra_luma_pred_modeシンタックス要素はイントラ予測モードを示す。この例では、rem_intra_luma_pred_modeシンタックス要素は、第2のシンタックス要素グループにおける第2のシンタックス要素と見なされる。
[0143]上述のように、ビデオデコーダ30が作成する最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測モードを識別する。いくつかの例では、ビデオデコーダ30は、CUのPU用の第2のシンタックス要素グループの任意のシンタックス要素を受信する前に、CUのPU用の第1のシンタックス要素グループのシンタックス要素すべてを受信することができる。いくつかの例では、ビデオデコーダ30は、第2のシンタックス要素グループの任意のシンタックス要素をバイパス復号する前に、第1のシンタックス要素グループのシンタックス要素すべてをCABAC復号することができる。
[0144]上記の例では、CU用の予測モードがINTRA_N×Nであるとき、CUは4つのPUを含み、各PUは、1つのルーマイントラ予測モードとCU全体のためのただ1つのクロマイントラ予測モードとを有する。しかしながら、そのような設計の場合、いくつかの潜在的な欠点があり得る。一例として、異なるテクスチャパターンを有する4つのPUが1つの同一のクロマ予測モードを使用することを余儀なくされるので、非効率的な予測パフォーマンスがあり得る。別の例として、ルーマ成分とクロマ成分との間で一貫性のないモード通知があり得る。
[0145]以下では、CU全体のためのただ1つのクロマイントラ予測モードがあるという要件に関連する欠点に対処するいくつかの例について説明する。以下の技法は、CU全体のためのただ1つのクロマイントラ予測モードがあるときの上述の技法とともに、またはCU全体のためのただ1つのクロマイントラ予測モードがあるときの上述の技法とは別個に適用され得る。
[0146]上記で紹介された非効率的な予測パフォーマンスの潜在的問題に対処するために、本開示の技法は、ルーマイントラ予測モードについて行われているように各PU用の1つのクロマイントラ予測モードを通知すること、すなわち、現在のHEVC規格の文脈でINTRA_N×Nとして予測モードによりCU用に4つのchroma_intra_prediction_modeが通知されることを含む。この設計により、あるPU用のイントラ予測モードを表すために、1つの「luma_intra_prediction_mode」シンタックス要素および1つの「chroma_intra_prediction_mode」シンタックス要素が連続的に通知される。
[0147]いくつかの例では、このイントラモード通知方式は、現在のCUサイズが8×8に等しく、最小変換ユニットサイズが4×4である場合以外に適用され得る。より一般的には、この例外は、現在のCUサイズが各寸法において最小変換_ユニット_サイズの2倍であるときに存在し、これは、(ソースフォーマットがYUV420であると仮定すると)現在のCUのクロマ成分が最小変換ユニットサイズに等しく、さらに4つのPUに分割できないことを意味する。そのような場合、現在のCU用にただ1つのchroma_intra_prediction_modeが通知される。
[0148]これらの例によれば、イントラモードのコーディング構造は、表11および表12の例に示すように実装され得る。
[0149]以下では、CU全体のためのクロマサンプル用のただ1つのイントラ予測モードではなく、CUの各PUのルーマサンプル用および各PUのクロマサンプル用のイントラ予測モードが定義される例について説明する。表13および表14は、それぞれintra_2N×2Nおよびintra_N×Nのためのイントラモードコーディング構造の場合のイントラ予測シンタックスを配列するための方法を定義し、ここではルーマイントラ予測モードおよびクロマイントラ予測モードのCABACコーディングされたビンすべてが一緒にコーディングされ、次いで、ルーマイントラ予測モードおよびクロマイントラ予測モードのバイパスコーディングされたビンすべてが一緒にコーディングされる。表15および表16は、それぞれintra_2N×2Nおよびintra_N×Nのためのイントラモードコーディング構造の場合のイントラ予測シンタックスを配列するための方法を定義し、ここではCUにおけるすべてのPUのためのイントラ予測モードのCABACコーディングされたビンすべてが一緒にコーディングされ、次いで、イントラ予測モードのバイパスコーディングされたビンすべてが一緒にコーディングされる。表17および表18は、それぞれintra_2N×2Nおよびintra_N×Nのためのイントラモードコーディング構造の場合のイントラ予測シンタックスを配列するための方法を定義し、ここではCUにおけるすべてのPUのためのルーマイントラ予測モードとクロマイントラ予測モードの両方のCABACコーディングされたビンすべてがコーディングされ、次いで、ルーマイントラ予測モードおよびクロマイントラ予測モードのバイパスコーディングされたビンすべてが一緒にコーディングされる。
[0150]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、全般に、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0151]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0152]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0153]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上述のように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上述した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって提供され得る。
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願出願当初の特許請求の範囲を付記する。
[C1] ビデオデータを復号する方法であって、
コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グ
ループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリーム
を受信することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス
要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、
前記第1のシンタックス要素グループのシンタックス要素は、前記CU中のそれぞれのP
Uのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング
(CABAC)復号することと、
前記第1のシンタックス要素グループをCABAC復号した後に、前記第2のシンタッ
クス要素グループをバイパス復号することと、
前記復号された第1のシンタックス要素グループおよび前記復号された第2のシンタッ
クス要素グループに基づいて前記ビデオデータを再構成することと
を備える方法。
[C2] 前記第1のシンタックス要素グループは、複数のフラグを備え、
前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予
測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1
のシンタックス要素グループの前記シンタックス要素を備え、
前記第2のシンタックス要素グループは、
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1の
シンタックス要素、および
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イン
トラ予測モードを示す第2のシンタックス要素
のうちの1つを備える、C1に記載の方法。
[C3] 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測
モードを識別する、C1に記載の方法。
[C4] 受信することは、前記CUの前記PU用の前記第2のシンタックス要素グループの任意
のシンタックス要素を受信する前に、前記CUの前記PU用の前記第1のシンタックス要
素グループのシンタックス要素すべてを受信することを備える、C1に記載の方法。
[C5] CABAC復号することは、前記第2のシンタックス要素グループの任意のシンタック
ス要素をバイパス復号する前に、前記第1のシンタックス要素グループのシンタックス要
素すべてをCABAC復号することを備える、C1に記載の方法。
[C6] 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各
々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請
求項1に記載の方法。
[C7] 再構成することは、
前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基
づいて前記CUの前記PUをイントラ予測復号すること
を備える、C1に記載の方法。
[C8] ビデオデータを復号するための装置であって、
コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グ
ループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリーム
を受信することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス
要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、
前記第1のシンタックス要素グループのシンタックス要素は、前記CU中のそれぞれのP
Uのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング
(CABAC)復号することと、
前記第1のシンタックス要素グループをCABAC復号した後に、前記第2のシンタッ
クス要素グループをバイパス復号することと、
前記復号された第1のシンタックス要素グループおよび前記復号された第2のシンタッ
クス要素グループに基づいて前記ビデオデータを再構成することと
を行うように構成されたビデオデコーダを備える装置。
[C9] 前記第1のシンタックス要素グループは、複数のフラグを備え、
前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予
測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1
のシンタックス要素グループの前記シンタックス要素を備え、
前記第2のシンタックス要素グループは、
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1の
シンタックス要素、および
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イン
トラ予測モードを示す第2のシンタックス要素
のうちの1つを備える、C8に記載の装置。
[C10] 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測
モードを識別する、C8に記載の装置。
[C11] 受信するために、前記ビデオデコーダは、前記CUの前記PU用の前記第2のシンタッ
クス要素グループの任意のシンタックス要素を受信する前に、前記CUの前記PU用の前
記第1のシンタックス要素グループのシンタックス要素すべてを受信するように構成され
る、C8に記載の装置。
[C12] CABAC復号するために、前記ビデオデコーダは、前記第2のシンタックス要素グル
ープの任意のシンタックス要素をバイパス復号する前に、前記第1のシンタックス要素グ
ループのシンタックス要素すべてをCABAC復号するように構成される、C8に記
載の装置。
[C13] 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各
々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請
求項8に記載の装置。
[C14] 再構成するために、前記ビデオデコーダは、
前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基
づいて前記CUの前記PUをイントラ予測復号する
ように構成される、C8に記載の装置。
[C15] 集積回路、
マイクロプロセッサ、および
前記ビデオデコーダを含むワイヤレス通信デバイス
のうちの少なくとも1つを備える、C8に記載の装置。
[C16] 実行されたとき、ビデオデータを復号するためのデバイスの1つまたは複数のプロセッ
サに、
コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グ
ループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリーム
を受信することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス
要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、
前記第1のシンタックス要素グループのシンタックス要素は、前記CU中のそれぞれのP
Uのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング
(CABAC)復号することと、
前記第1のシンタックス要素グループをCABAC復号した後に、前記第2のシンタッ
クス要素グループをバイパス復号することと、
前記復号された第1のシンタックス要素グループおよび前記復号された第2のシンタッ
クス要素グループに基づいて前記ビデオデータを再構成することと
を行わせる命令が記憶されたコンピュータ可読記憶媒体。
[C17] 前記第1のシンタックス要素グループは、複数のフラグを備え、
前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予
測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1
のシンタックス要素グループの前記シンタックス要素を備え、
前記第2のシンタックス要素グループは、
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1の
シンタックス要素、および
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イン
トラ予測モードを示す第2のシンタックス要素
のうちの1つを備える、C16に記載のコンピュータ可読記憶媒体。
[C18] 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測
モードを識別する、C16に記載のコンピュータ可読記憶媒体。
[C19] 前記1つまたは複数のプロセッサに受信することを行わせる前記命令は、前記1つまた
は複数のプロセッサに、前記CUの前記PU用の前記第2のシンタックス要素グループの
任意のシンタックス要素を受信する前に、前記CUの前記PU用の前記第1のシンタック
ス要素グループのシンタックス要素すべてを受信することを行わせる命令を備える、請求
項16に記載のコンピュータ可読記憶媒体。
[C20] 前記1つまたは複数のプロセッサにCABAC復号することを行わせる前記命令は、前
記1つまたは複数のプロセッサに、前記第2のシンタックス要素グループの任意のシンタ
ックス要素をバイパス復号する前に、前記第1のシンタックス要素グループのシンタック
ス要素すべてをCABAC復号することを行わせる命令を備える、C16に記載のコ
ンピュータ可読記憶媒体。
[C21] 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各
々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請
求項16に記載のコンピュータ可読記憶媒体。
[C22] 前記1つまたは複数のプロセッサに再構成することを行わせる前記命令は、前記1つま
たは複数のプロセッサに、
前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基
づいて前記CUの前記PUをイントラ予測復号する
ことを行わせる命令を備える、C16に記載のコンピュータ可読記憶媒体。
[C23] ビデオデータを復号するための装置であって、
コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グ
ループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリーム
を受信するための手段と、ここにおいて、前記第2のシンタックス要素グループのシンタ
ックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対
応し、前記第1のシンタックス要素グループのシンタックス要素は、前記CU中のそれぞ
れのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを
示す、
前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング
(CABAC)復号するための手段と、
前記第1のシンタックス要素グループをCABAC復号した後に、前記第2のシンタッ
クス要素グループをバイパス復号するための手段と、
復号された第1のシンタックス要素グループおよび前記復号された第2のシンタックス
要素グループに基づいて前記ビデオデータを再構成するための手段と
を備える装置。
[C24] 前記第1のシンタックス要素グループは、複数のフラグを備え、
前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予
測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1
のシンタックス要素グループの前記シンタックス要素を備え、
前記第2のシンタックス要素グループは、
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1の
シンタックス要素、および
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イン
トラ予測モードを示す第2のシンタックス要素
のうちの1つを備える、C23に記載の装置。
[C25] ビデオデータを符号化する方法であって、
第1のシンタックス要素グループを生成することと、ここにおいて、前記第1のシンタッ
クス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの
予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づ
くかどうかを示す、
第2のシンタックス要素グループを生成することと、ここにおいて、前記第2のシンタ
ックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれ
ぞれのシンタックス要素に対応する、ことと、
前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング
(CABAC)符号化することと、
前記第1のシンタックス要素グループをCABAC符号化した後に、前記第2のシンタ
ックス要素グループをバイパス符号化することと、
前記符号化された第1のシンタックス要素グループと前記符号化された第2のシンタッ
クス要素グループとを含む前記ビデオデータを出力することと
を備える方法。
[C26] 前記第1のシンタックス要素グループは、複数のフラグを備え、
前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予
測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1
のシンタックス要素グループの前記シンタックス要素を備え、
前記第2のシンタックス要素グループは、
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1の
シンタックス要素、および
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イン
トラ予測モードを示す第2のシンタックス要素
のうちの1つを備える、C25に記載の方法。
[C27] 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測
モードを識別する、C25に記載の方法。
[C28] 出力することは、前記第2のシンタックス要素グループの任意のシンタックス要素を出
力する前に、前記符号化された第1のシンタックス要素グループのシンタックス要素すべ
てを含む前記ビデオデータを出力することを備える、C25に記載の方法。
[C29] CABAC符号化することは、前記第2のシンタックス要素グループの任意のシンタッ
クス要素をバイパス符号化する前に、前記第1のシンタックス要素グループのシンタック
ス要素すべてをCABAC符号化することを備える、C25に記載の方法。
[C30] 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各
々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請
求項25に記載の方法。
[C31] 前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基
づいて前記CUの前記PUをイントラ予測符号化すること
をさらに備える、C25に記載の方法。
[C32] ビデオデータを符号化するための装置であって、
第1のシンタックス要素グループを生成することと、ここにおいて、前記第1のシンタ
ックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれ
の予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基
づくかどうかを示す、
第2のシンタックス要素グループを生成することと、ここにおいて、前記第2のシンタ
ックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれ
ぞれのシンタックス要素に対応する、
前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング
(CABAC)符号化することと、
前記第1のシンタックス要素グループをCABAC符号化した後に、前記第2のシンタ
ックス要素グループをバイパス符号化することと、
前記符号化された第1のシンタックス要素グループと前記符号化された第2のシンタッ
クス要素グループとを含む前記ビデオデータを出力することと
を行うように構成されたビデオエンコーダを備える装置。
[C33] 前記第1のシンタックス要素グループは、複数のフラグを備え、
前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予
測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1
のシンタックス要素グループの前記シンタックス要素を備え、
前記第2のシンタックス要素グループは、
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1の
シンタックス要素、および
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イン
トラ予測モードを示す第2のシンタックス要素
のうちの1つを備える、C32に記載の装置。
[C34] 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測
モードを識別する、C32に記載の装置。
[C35] 出力するために、前記ビデオエンコーダは、前記第2のシンタックス要素グループの任
意のシンタックス要素を出力する前に、前記符号化された第1のシンタックス要素グルー
プのシンタックス要素すべてを含む前記ビデオデータを出力するように構成される、請求
項32に記載の装置。
[C36] CABAC符号化するために、前記ビデオエンコーダは、前記第2のシンタックス要素
グループの任意のシンタックス要素をバイパス符号化する前に、前記第1のシンタックス
要素グループのシンタックス要素すべてをCABAC符号化するように構成される、請求
項32に記載の装置。
[C37] 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各
々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請
求項32に記載の装置。
[C38] 前記ビデオエンコーダは、
前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基
づいて前記CUの前記PUをイントラ予測符号化する
ように構成される、C32に記載の装置。
[C39] 実行されたとき、ビデオデータを符号化するためのデバイスの1つまたは複数のプロセ
ッサに、
第1のシンタックス要素グループを生成することと、ここにおいて、前記第1のシンタ
ックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれ
の予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基
づくかどうかを示す、
第2のシンタックス要素グループを生成することと、ここにおいて、前記第2のシンタ
ックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれ
ぞれのシンタックス要素に対応する、
前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング
(CABAC)符号化することと、
前記第1のシンタックス要素グループをCABAC符号化した後に、前記第2のシンタ
ックス要素グループをバイパス符号化することと、
前記符号化された第1のシンタックス要素グループと前記符号化された第2のシンタッ
クス要素グループとを含む前記ビデオデータを出力することと
を行わせる命令が記憶されたコンピュータ可読記憶媒体。
[C40] 前記第1のシンタックス要素グループは、複数のフラグを備え、
前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予
測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1
のシンタックス要素グループの前記シンタックス要素を備え、
前記第2のシンタックス要素グループは、
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1の
シンタックス要素、および
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イン
トラ予測モードを示す第2のシンタックス要素
のうちの1つを備える、C39に記載のコンピュータ可読記憶媒体。
[C41] 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測
モードを識別する、C39に記載のコンピュータ可読記憶媒体。
[C42] 前記1つまたは複数のプロセッサに出力することを行わせる前記命令は、前記1つまた
は複数のプロセッサに、前記第2のシンタックス要素グループの任意のシンタックス要素
を出力する前に、前記符号化された第1のシンタックス要素グループのシンタックス要素
すべてを含む前記ビデオデータを出力することを行わせる命令を備える、C39に記
載のコンピュータ可読記憶媒体。
[C43] 前記1つまたは複数のプロセッサにCABAC符号化することを行わせる前記命令は、
前記1つまたは複数のプロセッサに、前記第2のシンタックス要素グループの任意のシン
タックス要素をバイパス符号化する前に、前記第1のシンタックス要素グループのシンタ
ックス要素すべてをCABAC符号化することを行わせる命令を備える、C39に記
載のコンピュータ可読記憶媒体。
[C44] 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各
々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請
求項39に記載のコンピュータ可読記憶媒体。
[C45] 前記1つまたは複数のプロセッサに、
前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基
づいて前記CUの前記PUをイントラ予測符号化する
ことを行わせる命令をさらに備える、C39に記載のコンピュータ可読記憶媒体。
[C46] ビデオデータを符号化するための装置であって、
第1のシンタックス要素グループを生成するための手段と、ここにおいて、前記第1の
シンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそ
れぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデック
スに基づくかどうかを示す、
第2のシンタックス要素グループを生成するための手段と、ここにおいて、前記第2の
シンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループ
のそれぞれのシンタックス要素に対応する、
前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング
(CABAC)符号化するための手段と、
前記第1のシンタックス要素グループをCABAC符号化した後に、前記第2のシンタ
ックス要素グループをバイパス符号化するための手段と、
前記符号化された第1のシンタックス要素グループと前記符号化された第2のシンタッ
クス要素グループとを含む前記ビデオデータを出力するための手段と
を備える装置。
[C47] 前記第1のシンタックス要素グループは、複数のフラグを備え、
前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予
測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1
のシンタックス要素グループの前記シンタックス要素を備え、
前記第2のシンタックス要素グループは、
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1の
シンタックス要素、および
前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前
記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデック
スに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イン
トラ予測モードを示す第2のシンタックス要素
のうちの1つを備える、C46に記載の装置。

Claims (47)

  1. ビデオデータを復号する方法であって、
    コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、前記第1のシンタックス要素グループのシンタックス要素は、前記CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
    前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することと、
    前記第1のシンタックス要素グループをCABAC復号した後に、前記第2のシンタックス要素グループをバイパス復号することと、
    前記復号された第1のシンタックス要素グループおよび前記復号された第2のシンタックス要素グループに基づいて前記ビデオデータを再構成することと
    を備える方法。
  2. 前記第1のシンタックス要素グループは、複数のフラグを備え、
    前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1のシンタックス要素グループの前記シンタックス要素を備え、
    前記第2のシンタックス要素グループは、
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1のシンタックス要素、および
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードを示す第2のシンタックス要素
    のうちの1つを備える、請求項1に記載の方法。
  3. 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測モードを識別する、請求項1に記載の方法。
  4. 受信することは、前記CUの前記PU用の前記第2のシンタックス要素グループの任意のシンタックス要素を受信する前に、前記CUの前記PU用の前記第1のシンタックス要素グループのシンタックス要素すべてを受信することを備える、請求項1に記載の方法。
  5. CABAC復号することは、前記第2のシンタックス要素グループの任意のシンタックス要素をバイパス復号する前に、前記第1のシンタックス要素グループのシンタックス要素すべてをCABAC復号することを備える、請求項1に記載の方法。
  6. 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請求項1に記載の方法。
  7. 再構成することは、
    前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基づいて前記CUの前記PUをイントラ予測復号すること
    を備える、請求項1に記載の方法。
  8. ビデオデータを復号するための装置であって、
    コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、前記第1のシンタックス要素グループのシンタックス要素は、前記CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
    前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することと、
    前記第1のシンタックス要素グループをCABAC復号した後に、前記第2のシンタックス要素グループをバイパス復号することと、
    前記復号された第1のシンタックス要素グループおよび前記復号された第2のシンタックス要素グループに基づいて前記ビデオデータを再構成することと
    を行うように構成されたビデオデコーダを備える装置。
  9. 前記第1のシンタックス要素グループは、複数のフラグを備え、
    前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1のシンタックス要素グループの前記シンタックス要素を備え、
    前記第2のシンタックス要素グループは、
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1のシンタックス要素、および
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードを示す第2のシンタックス要素
    のうちの1つを備える、請求項8に記載の装置。
  10. 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測モードを識別する、請求項8に記載の装置。
  11. 受信するために、前記ビデオデコーダは、前記CUの前記PU用の前記第2のシンタックス要素グループの任意のシンタックス要素を受信する前に、前記CUの前記PU用の前記第1のシンタックス要素グループのシンタックス要素すべてを受信するように構成される、請求項8に記載の装置。
  12. CABAC復号するために、前記ビデオデコーダは、前記第2のシンタックス要素グループの任意のシンタックス要素をバイパス復号する前に、前記第1のシンタックス要素グループのシンタックス要素すべてをCABAC復号するように構成される、請求項8に記載の装置。
  13. 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請求項8に記載の装置。
  14. 再構成するために、前記ビデオデコーダは、
    前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基づいて前記CUの前記PUをイントラ予測復号する
    ように構成される、請求項8に記載の装置。
  15. 集積回路、
    マイクロプロセッサ、および
    前記ビデオデコーダを含むワイヤレス通信デバイス
    のうちの少なくとも1つを備える、請求項8に記載の装置。
  16. 実行されたとき、ビデオデータを復号するためのデバイスの1つまたは複数のプロセッサに、
    コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、前記第1のシンタックス要素グループのシンタックス要素は、前記CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
    前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することと、
    前記第1のシンタックス要素グループをCABAC復号した後に、前記第2のシンタックス要素グループをバイパス復号することと、
    前記復号された第1のシンタックス要素グループおよび前記復号された第2のシンタックス要素グループに基づいて前記ビデオデータを再構成することと
    を行わせる命令が記憶されたコンピュータ可読記憶媒体。
  17. 前記第1のシンタックス要素グループは、複数のフラグを備え、
    前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1のシンタックス要素グループの前記シンタックス要素を備え、
    前記第2のシンタックス要素グループは、
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1のシンタックス要素、および
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードを示す第2のシンタックス要素
    のうちの1つを備える、請求項16に記載のコンピュータ可読記憶媒体。
  18. 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測モードを識別する、請求項16に記載のコンピュータ可読記憶媒体。
  19. 前記1つまたは複数のプロセッサに受信することを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記CUの前記PU用の前記第2のシンタックス要素グループの任意のシンタックス要素を受信する前に、前記CUの前記PU用の前記第1のシンタックス要素グループのシンタックス要素すべてを受信することを行わせる命令を備える、請求項16に記載のコンピュータ可読記憶媒体。
  20. 前記1つまたは複数のプロセッサにCABAC復号することを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記第2のシンタックス要素グループの任意のシンタックス要素をバイパス復号する前に、前記第1のシンタックス要素グループのシンタックス要素すべてをCABAC復号することを行わせる命令を備える、請求項16に記載のコンピュータ可読記憶媒体。
  21. 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請求項16に記載のコンピュータ可読記憶媒体。
  22. 前記1つまたは複数のプロセッサに再構成することを行わせる前記命令は、前記1つまたは複数のプロセッサに、
    前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基づいて前記CUの前記PUをイントラ予測復号する
    ことを行わせる命令を備える、請求項16に記載のコンピュータ可読記憶媒体。
  23. ビデオデータを復号するための装置であって、
    コーディングユニット(CU)の予測ユニット(PU)用の第1のシンタックス要素グループと第2のシンタックス要素グループとを含むエントロピー符号化ビットストリームを受信するための手段と、ここにおいて、前記第2のシンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応し、前記第1のシンタックス要素グループのシンタックス要素は、前記CU中のそれぞれのPUのイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
    前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)復号するための手段と、
    前記第1のシンタックス要素グループをCABAC復号した後に、前記第2のシンタックス要素グループをバイパス復号するための手段と、
    復号された第1のシンタックス要素グループおよび前記復号された第2のシンタックス要素グループに基づいて前記ビデオデータを再構成するための手段と
    を備える装置。
  24. 前記第1のシンタックス要素グループは、複数のフラグを備え、
    前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1のシンタックス要素グループの前記シンタックス要素を備え、
    前記第2のシンタックス要素グループは、
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1のシンタックス要素、および
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードを示す第2のシンタックス要素
    のうちの1つを備える、請求項23に記載の装置。
  25. ビデオデータを符号化する方法であって、
    第1のシンタックス要素グループを生成することと、ここにおいて、前記第1のシンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
    第2のシンタックス要素グループを生成することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する、ことと、
    前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、
    前記第1のシンタックス要素グループをCABAC符号化した後に、前記第2のシンタックス要素グループをバイパス符号化することと、
    前記符号化された第1のシンタックス要素グループと前記符号化された第2のシンタックス要素グループとを含む前記ビデオデータを出力することと
    を備える方法。
  26. 前記第1のシンタックス要素グループは、複数のフラグを備え、
    前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1のシンタックス要素グループの前記シンタックス要素を備え、
    前記第2のシンタックス要素グループは、
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1のシンタックス要素、および
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードを示す第2のシンタックス要素
    のうちの1つを備える、請求項25に記載の方法。
  27. 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測モードを識別する、請求項25に記載の方法。
  28. 出力することは、前記第2のシンタックス要素グループの任意のシンタックス要素を出力する前に、前記符号化された第1のシンタックス要素グループのシンタックス要素すべてを含む前記ビデオデータを出力することを備える、請求項25に記載の方法。
  29. CABAC符号化することは、前記第2のシンタックス要素グループの任意のシンタックス要素をバイパス符号化する前に、前記第1のシンタックス要素グループのシンタックス要素すべてをCABAC符号化することを備える、請求項25に記載の方法。
  30. 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請求項25に記載の方法。
  31. 前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基づいて前記CUの前記PUをイントラ予測符号化すること
    をさらに備える、請求項25に記載の方法。
  32. ビデオデータを符号化するための装置であって、
    第1のシンタックス要素グループを生成することと、ここにおいて、前記第1のシンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
    第2のシンタックス要素グループを生成することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する、
    前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、
    前記第1のシンタックス要素グループをCABAC符号化した後に、前記第2のシンタックス要素グループをバイパス符号化することと、
    前記符号化された第1のシンタックス要素グループと前記符号化された第2のシンタックス要素グループとを含む前記ビデオデータを出力することと
    を行うように構成されたビデオエンコーダを備える装置。
  33. 前記第1のシンタックス要素グループは、複数のフラグを備え、
    前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1のシンタックス要素グループの前記シンタックス要素を備え、
    前記第2のシンタックス要素グループは、
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1のシンタックス要素、および
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードを示す第2のシンタックス要素
    のうちの1つを備える、請求項32に記載の装置。
  34. 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測モードを識別する、請求項32に記載の装置。
  35. 出力するために、前記ビデオエンコーダは、前記第2のシンタックス要素グループの任意のシンタックス要素を出力する前に、前記符号化された第1のシンタックス要素グループのシンタックス要素すべてを含む前記ビデオデータを出力するように構成される、請求項32に記載の装置。
  36. CABAC符号化するために、前記ビデオエンコーダは、前記第2のシンタックス要素グループの任意のシンタックス要素をバイパス符号化する前に、前記第1のシンタックス要素グループのシンタックス要素すべてをCABAC符号化するように構成される、請求項32に記載の装置。
  37. 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請求項32に記載の装置。
  38. 前記ビデオエンコーダは、
    前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基づいて前記CUの前記PUをイントラ予測符号化する
    ように構成される、請求項32に記載の装置。
  39. 実行されたとき、ビデオデータを符号化するためのデバイスの1つまたは複数のプロセッサに、
    第1のシンタックス要素グループを生成することと、ここにおいて、前記第1のシンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
    第2のシンタックス要素グループを生成することと、ここにおいて、前記第2のシンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する、
    前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、
    前記第1のシンタックス要素グループをCABAC符号化した後に、前記第2のシンタックス要素グループをバイパス符号化することと、
    前記符号化された第1のシンタックス要素グループと前記符号化された第2のシンタックス要素グループとを含む前記ビデオデータを出力することと
    を行わせる命令が記憶されたコンピュータ可読記憶媒体。
  40. 前記第1のシンタックス要素グループは、複数のフラグを備え、
    前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1のシンタックス要素グループの前記シンタックス要素を備え、
    前記第2のシンタックス要素グループは、
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1のシンタックス要素、および
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードを示す第2のシンタックス要素
    のうちの1つを備える、請求項39に記載のコンピュータ可読記憶媒体。
  41. 前記最確モードリストは、1つまたは複数の隣接PUの1つまたは複数のイントラ予測モードを識別する、請求項39に記載のコンピュータ可読記憶媒体。
  42. 前記1つまたは複数のプロセッサに出力することを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記第2のシンタックス要素グループの任意のシンタックス要素を出力する前に、前記符号化された第1のシンタックス要素グループのシンタックス要素すべてを含む前記ビデオデータを出力することを行わせる命令を備える、請求項39に記載のコンピュータ可読記憶媒体。
  43. 前記1つまたは複数のプロセッサにCABAC符号化することを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記第2のシンタックス要素グループの任意のシンタックス要素をバイパス符号化する前に、前記第1のシンタックス要素グループのシンタックス要素すべてをCABAC符号化することを行わせる命令を備える、請求項39に記載のコンピュータ可読記憶媒体。
  44. 前記第1のシンタックス要素グループは、4つのフラグを含み、前記4つのフラグの各々は、前記CUのINTRA_N×N PU構造のそれぞれのPUに関連付けられる、請求項39に記載のコンピュータ可読記憶媒体。
  45. 前記1つまたは複数のプロセッサに、
    前記第1のシンタックス要素グループおよび前記第2のシンタックス要素グループに基づいて前記CUの前記PUをイントラ予測符号化する
    ことを行わせる命令をさらに備える、請求項39に記載のコンピュータ可読記憶媒体。
  46. ビデオデータを符号化するための装置であって、
    第1のシンタックス要素グループを生成するための手段と、ここにおいて、前記第1のシンタックス要素グループのシンタックス要素は、コーディングユニット(CU)中のそれぞれの予測ユニット(PU)のイントラ予測モードが最確モードリストへのインデックスに基づくかどうかを示す、
    第2のシンタックス要素グループを生成するための手段と、ここにおいて、前記第2のシンタックス要素グループのシンタックス要素は、前記第1のシンタックス要素グループのそれぞれのシンタックス要素に対応する、
    前記第1のシンタックス要素グループをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化するための手段と、
    前記第1のシンタックス要素グループをCABAC符号化した後に、前記第2のシンタックス要素グループをバイパス符号化するための手段と、
    前記符号化された第1のシンタックス要素グループと前記符号化された第2のシンタックス要素グループとを含む前記ビデオデータを出力するための手段と
    を備える装置。
  47. 前記第1のシンタックス要素グループは、複数のフラグを備え、
    前記複数のフラグのフラグは、前記それぞれのPUのルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくかどうかを示す前記第1のシンタックス要素グループの前記シンタックス要素を備え、
    前記第2のシンタックス要素グループは、
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づくことを示す場合に、前記最確モードリストへの前記インデックスを示す第1のシンタックス要素、および
    前記第1のシンタックス要素グループにおける前記フラグが、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードが前記最確モードリストへの前記インデックスに基づかないことを示す場合に、前記それぞれのPUの前記ルーマサンプルの前記イントラ予測モードを示す第2のシンタックス要素
    のうちの1つを備える、請求項46に記載の装置。
JP2015505814A 2012-04-11 2013-04-05 ビデオコーディングにおけるバイパスコーディングされたシンタックス要素のグループ化 Active JP5940726B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261623004P 2012-04-11 2012-04-11
US61/623,004 2012-04-11
US201261639836P 2012-04-27 2012-04-27
US61/639,836 2012-04-27
US13/839,855 2013-03-15
US13/839,855 US9538172B2 (en) 2012-04-11 2013-03-15 Grouping bypass coded syntax elements in video coding
PCT/US2013/035465 WO2013154939A1 (en) 2012-04-11 2013-04-05 Grouping bypass coded syntax elements in video coding

Publications (3)

Publication Number Publication Date
JP2015516765A true JP2015516765A (ja) 2015-06-11
JP2015516765A5 JP2015516765A5 (ja) 2016-02-25
JP5940726B2 JP5940726B2 (ja) 2016-06-29

Family

ID=49325051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015505814A Active JP5940726B2 (ja) 2012-04-11 2013-04-05 ビデオコーディングにおけるバイパスコーディングされたシンタックス要素のグループ化

Country Status (22)

Country Link
US (1) US9538172B2 (ja)
EP (1) EP2847997B1 (ja)
JP (1) JP5940726B2 (ja)
KR (1) KR101642629B1 (ja)
CN (1) CN104221374B (ja)
AU (1) AU2013246251B2 (ja)
BR (1) BR112014025406B1 (ja)
CA (1) CA2867764C (ja)
DK (1) DK2847997T3 (ja)
ES (1) ES2561609T3 (ja)
HK (1) HK1201003A1 (ja)
HU (1) HUE026345T2 (ja)
IL (1) IL234650A (ja)
MY (1) MY166911A (ja)
PH (1) PH12014502290A1 (ja)
PL (1) PL2847997T3 (ja)
PT (1) PT2847997E (ja)
RU (1) RU2623884C2 (ja)
SG (1) SG11201405752SA (ja)
TW (1) TWI481237B (ja)
WO (1) WO2013154939A1 (ja)
ZA (1) ZA201407858B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US9729884B2 (en) * 2012-01-18 2017-08-08 Lg Electronics Inc. Method and device for entropy coding/decoding
US9264706B2 (en) * 2012-04-11 2016-02-16 Qualcomm Incorporated Bypass bins for reference index coding in video coding
US9942551B2 (en) * 2015-01-30 2018-04-10 Qualcomm Incorporated Palette index grouping for video coding
US10148961B2 (en) * 2015-05-29 2018-12-04 Qualcomm Incorporated Arithmetic coder with multiple window sizes
US11146788B2 (en) * 2015-06-12 2021-10-12 Qualcomm Incorporated Grouping palette bypass bins for video coding
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) * 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
US10750174B2 (en) 2015-08-28 2020-08-18 Kt Corporation Method and device for deriving a prediction sample in decoding/encoding video signal using binary and quad trees
US10708164B2 (en) 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
WO2018064956A1 (en) * 2016-10-07 2018-04-12 Mediatek Inc. Method and apparatus for intra chroma coding in image and video coding
US11496747B2 (en) 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
WO2019027074A1 (ko) * 2017-08-04 2019-02-07 엘지전자(주) 멀티 심볼 엔트로피 코딩을 위한 멀티 심볼 매핑을 수행하는 방법 및 장치
WO2019244051A1 (en) 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Selected mvd precision without mvp truncation
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
CA3113755A1 (en) 2018-09-25 2020-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Media bistream having backwards compatibility
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
CN113508600A (zh) * 2019-03-11 2021-10-15 交互数字Vc控股公司 减少常规编解码二进制数的数量
EP3939313A4 (en) * 2019-03-12 2022-12-21 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PERFORMING INTERCODING IN VIDEO CODING
US10587286B1 (en) * 2019-03-18 2020-03-10 Blackberry Limited Methods and devices for handling equiprobable symbols in entropy coding
US11057619B2 (en) 2019-03-23 2021-07-06 Lg Electronics Inc. Image coding method and apparatus based on intra prediction using MPM list
WO2020192747A1 (en) * 2019-03-27 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Motion information precision alignment in affine advanced motion vector prediction
US11303898B2 (en) * 2019-04-03 2022-04-12 Mediatek Inc. Coding transform coefficients with throughput constraints
WO2020242260A1 (ko) * 2019-05-31 2020-12-03 한국전자통신연구원 전역적 문맥을 이용하는 기계 학습 기반의 이미지 압축을 위한 방법 및 장치
WO2020246805A1 (ko) * 2019-06-03 2020-12-10 엘지전자 주식회사 매트릭스 기반 인트라 예측 장치 및 방법
US11412262B2 (en) * 2019-06-24 2022-08-09 Qualcomm Incorporated Nonlinear extensions of adaptive loop filtering for video coding
WO2020263646A1 (en) * 2019-06-24 2020-12-30 Interdigital Vc Holdings, Inc. Method and apparatus for signaling decoding data using high level syntax elements
CN114762341B (zh) * 2019-10-08 2024-01-16 Lg电子株式会社 用于基于变换的图像编码的方法和装置
US11876970B2 (en) * 2021-07-22 2024-01-16 Tencent America LLC Non-interleaved separate tree

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012042893A1 (ja) * 2010-09-30 2012-04-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI235579B (en) 2002-03-29 2005-07-01 Nti Inc Communication apparatus, communication system, encrypting apparatus information processing apparatus, information processing system, information processing method, and service providing method
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
KR100612015B1 (ko) 2004-07-22 2006-08-11 삼성전자주식회사 컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치
WO2007148909A1 (en) 2006-06-19 2007-12-27 Lg Electronics, Inc. Method and apparatus for processing a vedeo signal
US8199796B2 (en) 2006-12-22 2012-06-12 Newport Media, Inc. Physical layer aware video encoding for mobile TV applications
US7839311B2 (en) 2007-08-31 2010-11-23 Qualcomm Incorporated Architecture for multi-stage decoding of a CABAC bitstream
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
TWI353792B (en) 2008-08-07 2011-12-01 Acer Inc Method, program for computer readable media, and p
CN101790096B (zh) 2009-01-24 2013-03-13 华为技术有限公司 基于二重预测的编解码方法及装置
WO2011002914A1 (en) 2009-06-30 2011-01-06 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
KR101712098B1 (ko) 2009-09-04 2017-03-03 삼성전자 주식회사 구문 요소에 기초한 비트스트림 생성 방법 및 장치
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
US9591320B2 (en) 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
BR112013002029B1 (pt) 2010-07-28 2022-06-28 Nokia Technologies Oy Método, aparelho e meio de armazenamento
CN108366270B (zh) * 2010-09-27 2022-05-27 Lg 电子株式会社 一种内预测方法、视频编码方法以及数据传输方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012042893A1 (ja) * 2010-09-30 2012-04-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
JPN5015009070; E. Francois, et al.: 'CE6b: Intra mode coding with 4 MPMs and mode ranking' Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Me JCTVC-G243, 20111108 *
JPN6014010454; Toru Kumakura, et al.: 'Fixing the number of mpm candidates' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F340, 201107, pp.1-8, 6th Meeting: Torino, IT *
JPN6014010457; Toru Kumakura and Shigeru Fukushima: 'Intra prediction mode coding based on direction difference' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F339, 201107, pp.1-13, 6th Meeting: Torino, IT *
JPN6015000702; Tzu-Der Chuang, et al.: 'Luma Intra Prediction Mode Coding' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F062_r1, 201107, pp.1-5, 6th Meeting: Torino, IT *
JPN6016004698; Benjamin Bross, et al.: 'High efficiency video coding (HEVC) text specification draft 6' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th M JCTVC-H1003, 20120402 *
JPN6016004699; Jungsun Kim, et al.: 'Signalling chroma intra prediction mode' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th M JCTVC-H0475, 20120204 *
JPN6016004700; Ehsan Maani, et al.: 'Bypass coding in chroma Intra modes' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th M JCTVC-H0405, 20120130 *
JPN6016004701; Wei-Jung Chien, et al.: 'Intra mode coding for INTRA_NxN' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 JCTVC-I0302, 20120417 *

Also Published As

Publication number Publication date
EP2847997B1 (en) 2015-11-04
CA2867764C (en) 2017-09-05
EP2847997A1 (en) 2015-03-18
CA2867764A1 (en) 2013-10-17
TWI481237B (zh) 2015-04-11
TW201404161A (zh) 2014-01-16
IL234650A (en) 2016-03-31
BR112014025406B1 (pt) 2022-12-06
RU2014145203A (ru) 2016-06-10
DK2847997T3 (en) 2015-12-07
CN104221374A (zh) 2014-12-17
HUE026345T2 (en) 2016-05-30
AU2013246251A1 (en) 2014-10-23
SG11201405752SA (en) 2014-10-30
KR101642629B1 (ko) 2016-07-25
ZA201407858B (en) 2017-09-27
RU2623884C2 (ru) 2017-06-29
ES2561609T3 (es) 2016-02-29
US9538172B2 (en) 2017-01-03
KR20150003277A (ko) 2015-01-08
BR112014025406A2 (ja) 2017-06-20
CN104221374B (zh) 2018-09-14
PH12014502290B1 (en) 2014-12-15
MY166911A (en) 2018-07-24
PT2847997E (pt) 2016-02-09
AU2013246251B2 (en) 2017-01-19
PH12014502290A1 (en) 2014-12-15
US20130272380A1 (en) 2013-10-17
WO2013154939A1 (en) 2013-10-17
JP5940726B2 (ja) 2016-06-29
PL2847997T3 (pl) 2016-04-29
HK1201003A1 (en) 2015-08-14

Similar Documents

Publication Publication Date Title
JP5940726B2 (ja) ビデオコーディングにおけるバイパスコーディングされたシンタックス要素のグループ化
JP6542400B2 (ja) 係数走査のための係数グループおよび係数コーディング
JP6250583B2 (ja) 隣接モードを使用したビデオコーディングのための拡張イントラ予測モードシグナリング
JP6903644B2 (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP6162150B2 (ja) ビデオコーディング用の残差4分木(rqt)コーディング
JP6445001B2 (ja) ビデオコーディングプロセスにおける係数レベルコーディングのためのライスパラメータ初期化
JP5996661B2 (ja) イントラ予測コーディングのための最も可能性の高い変換
JP6022579B2 (ja) ビデオ・コーディングにおける非正方形変換ユニットおよび予測ユニット
JP5932050B2 (ja) ビデオコーディングにおけるクロマ成分のための変換ユニットパーティショニング
JP6081499B2 (ja) 変換係数コーディングのためのコンテキスト導出における走査ベーススライディングウィンドウ
JP2018142972A (ja) Bスライス中の予測ユニットの単方向インター予測への制限
JP6174152B2 (ja) ビデオコーディングにおける動作点用のシグナリングレイヤ識別子
JP5784830B2 (ja) ビデオコード化のための複数領域走査順序
JP2018125863A (ja) ビデオプロパティの指示
JP6042526B2 (ja) ビデオコーディングのための最後の位置コーディングのためのコンテキストの導出
JP2015515824A (ja) コード化ブロックフラグのコーディング
JP2014534734A (ja) イントラ予測ビデオコーディングにおける非正方形変換
JP2017195607A (ja) パラメータセットコーディング
JP6067750B2 (ja) 並列動き推定範囲サイズの暗黙的導出
JP2015516766A (ja) ビデオコーディングのための変換係数のコーディングにおけるグループフラグ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160107

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160107

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160107

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160518

R150 Certificate of patent or registration of utility model

Ref document number: 5940726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250