Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6929647B2 - ブロック適応色空間コンバージョンコーディング - Google Patents
[go: Go Back, main page]

JP6929647B2 - ブロック適応色空間コンバージョンコーディング - Google Patents

ブロック適応色空間コンバージョンコーディング Download PDF

Info

Publication number
JP6929647B2
JP6929647B2 JP2016573495A JP2016573495A JP6929647B2 JP 6929647 B2 JP6929647 B2 JP 6929647B2 JP 2016573495 A JP2016573495 A JP 2016573495A JP 2016573495 A JP2016573495 A JP 2016573495A JP 6929647 B2 JP6929647 B2 JP 6929647B2
Authority
JP
Japan
Prior art keywords
block
quantization parameter
quantization
video
video data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016573495A
Other languages
English (en)
Other versions
JP2017523677A5 (ja
JP2017523677A (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 JP2017523677A publication Critical patent/JP2017523677A/ja
Publication of JP2017523677A5 publication Critical patent/JP2017523677A5/ja
Application granted granted Critical
Publication of JP6929647B2 publication Critical patent/JP6929647B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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

Landscapes

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

Description

[0001]本願は、その内容全体が参照によって本明細書に組み込まれている、
2014年6月20日に出願した米国仮出願第62/015,347号
2014年10月10日に出願した米国仮出願第62/062,797号
の利益を主張するものである。
[0002]本開示は、ビデオの符号化および復号に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10,アドバンストビデオコーディング(AVC)、高効率ビデオコーディング(HEVC)規格によって定義された規格、および現在開発中のそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ符号化技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(ピクチャ内)予測および/または時間的(ピクチャ間)予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)は、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャは、フレームと呼ばれる場合があり、参照ピクチャは、参照フレームと呼ばれる場合がある。
[0005]空間的または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に2次元アレイで構成される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
[0006]本開示は、色空間コンバージョンコーディングが使われるときに量子化パラメータを決定することに関連した技法について記載し、さらに、色空間コンバージョンコーディングが使われるとき、エンコーダからデコーダに量子化パラメータをシグナリングするための技法について記載する。
[0007]一例では、ビデオデータを復号する方法は、ビデオデータの第1のブロックを受信することと、第1のブロックのための量子化パラメータを決定するための情報を受信することと、第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第1のブロックのための量子化パラメータを修正することと、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化解除プロセスを実施することと、ビデオデータの第2のブロックを受信することと、第2のブロックについて、第2のブロックのための量子化パラメータと第1のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第1のブロックのための量子化パラメータに基づいて、第2のブロックのための量子化パラメータを決定することと、第2のブロックのための決定された量子化パラメータに基づいて、第2のブロックを復号することとを含む。
[0008]別の例では、ビデオデータを符号化する方法は、ビデオデータの第1のブロックのための量子化パラメータを決定することと、ビデオデータの第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第1のブロックのための量子化パラメータを修正することと、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化プロセスを実施することと、ビデオデータの第2のブロックのための量子化パラメータを決定することと、第1のブロックのための量子化パラメータと第2のブロックのための量子化パラメータとの間の差分値をシグナリングすることとを含む。
[0009]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータの第1のブロックを受信することと、第1のブロックのための量子化パラメータを決定するための情報を受信することと、第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第1のブロックのための量子化パラメータを修正することと、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化解除プロセスを実施することと、ビデオデータの第2のブロックを受信することと、第2のブロックについて、第2のブロックのための量子化パラメータと第1のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第1のブロックのための量子化パラメータに基づいて、第2のブロックのための量子化パラメータを決定することと、第2のブロックのための決定された量子化パラメータに基づいて、第2のブロックを復号することとを行うように構成された1つまたは複数のプロセッサとを含む。
[0010]別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータの第1のブロックのための量子化パラメータを決定することと、ビデオデータの第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第1のブロックのための量子化パラメータを修正することと、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化プロセスを実施することと、ビデオデータの第2のブロックのための量子化パラメータを決定することと、第1のブロックのための量子化パラメータと第2のブロックのための量子化パラメータとの間の差分値をシグナリングすることとを行うように構成された1つまたは複数のプロセッサとを含む。
[0011]別の例では、ビデオ復号するための装置であって、該装置は、ビデオデータの第1のブロックを受信するための手段と、第1のブロックのための量子化パラメータを決定するための情報を受信するための手段と、第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第1のブロックのための量子化パラメータを修正するための手段と、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化解除プロセスを実施するための手段と、ビデオデータの第2のブロックを受信するための手段と、第2のブロックについて、第2のブロックのための量子化パラメータと第1のブロックのための量子化パラメータとの間の差分を示す差分値を受信するための手段と、受信された差分値および第1のブロックのための量子化パラメータに基づいて、第2のブロックのための量子化パラメータを決定するための手段と、第2のブロックのための決定された量子化パラメータに基づいて、第2のブロックを復号するための手段とを備える。
[0012]別の例では、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されたときに、1つまたは複数のプロセッサに、ビデオデータの第1のブロックを受信することと、第1のブロックのための量子化パラメータを決定するための情報を受信することと、第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第1のブロックのための量子化パラメータを修正することと、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化解除プロセスを実施することと、ビデオデータの第2のブロックを受信することと、第2のブロックについて、第2のブロックのための量子化パラメータと第1のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第1のブロックのための量子化パラメータに基づいて、第2のブロックのための量子化パラメータを決定することと、第2のブロックのための決定された量子化パラメータに基づいて、第2のブロックを復号することと、を行わせる命令を記憶している。
[0013]本開示の1つまたは複数の例の詳細は、添付図面と下の説明とに示される。本開示の他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
[0014]本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0015]イントラ予測モードでの高効率ビデオコーディング(HEVC)を示す概念図。 [0016]本開示の1つまたは複数の技法による、マージモードと高度動きベクトル予測(AMVP)モードとのための空間隣接動きベクトル候補を示す概念図。 本開示の1つまたは複数の技法による、マージモードと高度動きベクトル予測(AMVP)モードとのための空間隣接動きベクトル候補を示す概念図。 [0017]本開示の1つまたは複数の技法によるイントラブロックコピー(BC)の一例を示す概念図。 [0018]本開示の1つまたは複数の技法による、イントラ8×8ブロックのためのターゲットブロックおよび参照サンプルの一例を示す概念図。 [0019]本開示で説明される技法を実装し得る例示的なビデオエンコーダを示すブロック図。 [0020]本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図。 [0021]本開示の技法による例示的なビデオ復号方法を示すフローチャート。 [0022]本開示の技法による例示的なビデオ復号方法を示すフローチャート。
[0023]本開示は、最近確定された高効率ビデオコーディング(HEVC)規格の新興スクリーンコンテンツコーディング(SCC)拡張および範囲拡張(RCEx)に関連した技法を含むビデオコーディング技法について記載する。SCCおよび範囲拡張は、高ビット深度(たとえば、8ビットを超える)および/または高クロマサンプリングフォーマットをサポートすることが可能なように設計中であり、そのために、ベースHEVC規格には含まれていない新たなコーディングツールを含むように設計中である。
[0024]1つのそのようなコーディングツールが、色空間コンバージョンコーディングである。色空間コンバージョンコーディングにおいて、ビデオエンコーダは、より良好なコーディング品質(たとえば、より良好なレート歪みトレードオフ)を達成するために、残差データを、第1の色空間(たとえば、YCbCr)から第2の色空間(たとえば、RGB)にコンバートすることができる。残差データの色空間にかかわらず、ビデオエンコーダは一般に、残差データを変換係数に変換し、変換係数を量子化する。ビデオデコーダは残差データを再構築するために、変換係数を量子化解除し、変換係数を逆変換するという逆プロセスを実施する。ビデオエンコーダは、変換係数を量子化する際に使われたスケーリングの量を示す量子化パラメータをビデオデコーダにシグナリングする。量子化パラメータは、デブロックフィルタリングなど、他のビデオコーディングプロセスによっても使われ得る。
[0025]本開示は、色空間コンバージョンコーディングが使われるときに量子化パラメータを決定することに関連した技法について記載し、さらに、色空間コンバージョンコーディングが使われるとき、エンコーダからデコーダに量子化パラメータをシグナリングするための技法について記載する。たとえば、色空間コンバージョンコーディングにおいて、ビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)が、第1のブロックのための量子化パラメータを修正し得る。第2のブロックのための量子化パラメータ用に、ビデオコーダは、差分値についての情報をコーディング(たとえば、符号化または復号)し得る。本開示に記載される技法において、差分値は、第1のブロックのための量子化パラメータ(すなわち、修正されていない量子化パラメータ)と第2のブロックのための量子化パラメータとの間の差分である。
[0026]図1は、スクリーンコンテンツコーディングのための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって後の時点で復号されるべき符号化ビデオデータを提供するソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0027]宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレス通信媒体またはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。
[0028]いくつかの例では、ソースデバイス12は、符号化されたデータを出力し得、該符号化データは記憶デバイスに出力され得る。同様に、入力インターフェースは、記憶デバイスからの符号化データにアクセスし得る。記憶デバイスは、ハードドライブ、Blue−rayディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することができ、その符号化ビデオデータを宛先デバイス14に送信することができる、任意のタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通して、符号化ビデオデータにアクセスすることができる。これは、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、またはファイルサーバに記憶された符号化ビデオデータにアクセスするために好適である両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0029]本開示の技法は、ワイヤレスの適用例または設定に必ずしも限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話などの適用例をサポートするために一方向または双方向のビデオ送信をサポートするように構成され得る。
[0030]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によると、ソースデバイス12のビデオエンコーダ20は、色空間コンバージョンプロセスを使用してビデオブロックを符号化するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部のビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0031]図1の示されるシステム10は一例にすぎない。色空間コンバージョンプロセスを使用してビデオブロックをコーディングするための技法は、どのデジタルビデオ符号化および/または復号デバイスによっても実施され得る。概して、本開示の技法はビデオコーディングデバイスによって実施されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実施され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14への送信のためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのために、ビデオデバイス12とビデオデバイス14との間で一方向または双方向のビデオ送信をサポートし得る。
[0032]ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0033]コンピュータ可読媒体16は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示されず)は、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化ビデオデータを受信し、符号化ビデオデータを宛先デバイス14に提供し得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体16は、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0034]宛先デバイス14の入力インターフェース28はコンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、ビデオエンコーダ20によって定義されビデオデコーダ30によっても使用される、シンタックス情報を含み得る。ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0035]ビデオエンコーダ20およびビデオデコーダ30は各々、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途について集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実施するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダの中に含まれてよく、そのいずれかが、デバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話機などのワイヤレス通信デバイスを備えることができる。
[0036]ビデオコーディング規格は、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ビデオコーディングエキスパートグループ(VCEG)およびISO/IECモーションピクチャエキスパートグループ(MPEG)のビデオコーディング共同研究部会(JCT−VC)によって確定された。ビデオエンコーダ20およびビデオデコーダ30は、HEVCなどのビデオコーディング規格に従って動作することができ、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、MPEG−4,Part 10,アドバンストビデオコーディング(AVC)と代替的に呼ばれるITU−T H.264規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、MPEG−2およびITU−T H.263がある。
[0037]ITU−T H.264/MPEG−4(AVC)規格は、共同ビデオ部会(JVT)として知られる共同パートナーシップの成果として、ISO/IECムービングピクチャエキスパートグループ(MPEG)とともにITU−Tビデオコーディングエキスパートグループ(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法は、H.264規格に概して準拠するデバイスに適用され得る。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格もしくはH.264仕様、またはH.264/AVC規格もしくは仕様と呼ばれる場合がある。共同ビデオ部会(JVT)は、H.264/MPEG−4 AVCへの拡張に取り組み続けている。
[0038]JCT−VCはHEVC規格を開発している。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーダの発展型モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対して、ビデオコーダのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0039]概して、HMの作業モデルは、ビデオフレームまたはピクチャが一連のコーディングツリーユニット(CTU)に分割され得ることを記載している。CTUはツリーブロックまたは最大コーディングユニット(LCU)と呼ばれることもある。CTUの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。3つの別個のカラープレーンを有する1つまたは複数のモノクロームピクチャでは、CTUは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。コーディングツリーブロックは、サンプルのN×Nのブロックであり得る。ビットストリーム内のシンタックスデータは、LCUのサイズを定義し得、LCUは、ピクセルの個数に関して最大のコーディングユニットである。
[0040]HEVCでは、スライス中の最大コーディングユニットはコーディングツリーブロック(CTB)と呼ばれる。CTBは4分木を含んでおり、そのノードはコーディングユニット(CU)と呼ばれる。CTBのサイズは、HEVCメインプロファイルにおいて16×16から64×64にわたり得るが、8×8CTBサイズなどのより小さいサイズ、およびより大きいサイズもサポートされ得る。
[0041]本開示は、サンプルの1つまたは複数のブロックのサンプルをコーディングするために使用される1つまたは複数のサンプルブロックおよびシンタックス構造を指すために、「ビデオユニット」または「ビデオブロック」または「ブロック」という用語を使用する場合がある。例示的なタイプのビデオユニットは、CTU、CU、PU、変換ユニット(TU)、マクロブロック、マクロブロック区分などを含み得る。いくつかのコンテキストでは、PUの説明は、マクロブロックまたはマクロブロック区分の説明と交換され得る。
[0042]スライスは、コーディング順序で、いくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従って、コーディングユニット(CU)にスプリットされ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードがツリーブロックに対応する。CUが4つのサブCUにスプリットされる場合、CUに対応するノードは、4つのリーフノードを含み、その各々は、サブCUの1つに対応する。
[0043]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とも呼ばれる。
[0044]CUは、同じサイズのCTBであることができ、8×8ほどの小ささであることができる。各CUは1つの予測モードでコーディングされる。CUがインター予測モードを使ってコーディングされるとき(すなわち、CUがインターコーディングされるとき)、CUは、2つ以上の予測ユニット(PU)にさらに区分され得る。他の例では、CUは、さらなる区分が適用されないとき、ちょうど1つのPUを含み得る。CUが2つのPUに区分される例において、各PUは、CUの半分に等しいサイズである矩形、またはCUの1/4もしくは3/4サイズである2つの矩形であり得る。HEVCでは、最小PUサイズは8×4および4×8である。
[0045]CUは、CUがサイズの特異性を有しないことを別にすれば、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、(サブCUとも呼ばれる)4つの子ノードにスプリットされ得、各子ノードは、今度は親ノードとなり、別の4つの子ノードにスプリットされ得る。4分木のリーフノードと呼ばれる、最終的なスプリットされていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コーディングされたビットストリームに関連するシンタックスデータは、最大CU深度と呼ばれる、ツリーブロックがスプリットされ得る最大回数を定義することができ、コーディングノードの最小サイズを定義することができる。それに応じて、ビットストリームはまた、最小コーディングユニット(SCU)を定義し得る。本開示では、「ブロック」という用語を、HEVCのコンテキストにおいてCU、PU、またはTUのうちのいずれかを、または他の規格のコンテキストにおいて類似のデータ構造(たとえば、H.264/AVCのマクロブロックおよびそのサブブロック)を指すために使用する。
[0046]CUは、コーディングノードと、コーディングノードに関連付けられた予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及ぶ場合がある。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連付けられたシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分を記述し得る。区分モードは、CUがスキップまたは直接モードで符号化されるのか、イントラ予測モード符号化されるのか、それともインター予測モードで符号化されるのかの間で異なってもよい。PUは、形状が非正方形になるように区分され得る。CUに関連付けられたシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状において正方形または非正方形(たとえば、長方形)であってもよい。
[0047]HEVC規格は、異なるCUに対しては異なり得る、TUに従った変換を可能にする。TUは通常、区分されたLCUについて定義される所与のCU内のPUのサイズに基づいてサイズ決定されるが、必ずそうであるとは限らない。TUは通常、PUと同じサイズであるか、またはそれよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフードは、変換ユニット(TU)と呼ばれ得る。TUに関連付けられたピクセル差分値は、変換係数を生成するために変換され得、変換係数は量子化され得る。
[0048]リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUのすべてまたは一部分に対応する空間エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUについてのデータは、残差4分木(RQT)中に含まれ得、残差4分木は、PUに対応するTUについてのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、そのPUについての1つまたは複数の動きベクトルを定義するデータを含み得る。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述し得る。
[0049]例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測と、2N×2N、2N×N、N×2N、またはN×Nの対称PUサイズでのインター予測とをサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測用の非対称区分をサポートする。非対称区分では、CUの一方の方向は区分されず、他方の方向は、25%と75%に区分される。25%区分に対応するCUの部分は、「n」とそれに続く「Up」、「Down」、「Left」、または「Right」の指示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分される2N×2N CUを指す。
[0050]本開示では、たとえば16×16ピクセルまたは16かける16ピクセルなど、「N×N」および「NかけるN(N by N)」は、垂直および水平の寸法に関して、ビデオブロックのピクセル範囲を示すために区別なく使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここでNは非負の整数値を表す。ブロック内のピクセルは、行および列に配列され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備えてよく、ここで、Mは必ずしもNに等しいとは限らない。
[0051]1つまたは複数のPUを有するリーフCUは、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上述されたように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットにスプリットされるかどうかを示し得る。次いで、各変換ユニットは、さらなるサブTUにさらにスプリットされ得る。TUは、さらにスプリットされないとき、リーフTUと呼ばれ得る。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは、同じイントラ予測モードを共有する。すなわち、リーフCUのすべてのTUの予測値を計算するために、同じイントラ予測モードが概して適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応するCUの部分と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUはPUよりも大きくても、または小さくてもよい。イントラコーディングの場合、PUは、同じCUの対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0052]HEVCは、予測残差をコーディングするために4×4、8×8、16×16、および32×32の4つの変換ユニット(TU)サイズを指定する。CUは、4つ以上のTUに再帰的に区分され得る。TUは、離散コサイン変換(DCT)と同様である整数ベースの関数を使用し得る。さらに、いくつかの例では離散サイン変換(DST)から導出された整数変換を使用して、イントラコーディングされた領域に属する4×4ルーマ変換ブロックが変換され得る。クロマ変換ブロックは、同じTUサイズをルーマ変換ブロックとして使用し得る。
[0053]その上、リーフCUのTUは、残差4分木(RQT)と呼ばれる、4分木データ構造にも関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(またはLCU)に対応する。スプリットされないRQTのTUはリーフTUと呼ばれる。概して、本開示では、別段に明記されていない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
[0054]CUがインターコーディングされるとき、各PUに対して1つの動き情報セットが存在し得る。PUがBスライス中にあるときなど、いくつかの例では、各PUに対して2つの動き情報セットが存在し得る。さらに、各PUは、各PUについての動き情報のセットを導出するために一意のインター予測モードでコーディングされ得る。
[0055]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ(GOP)は、一般に、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャの1つもしくは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、スライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は通常、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し、指定のコーディング規格に応じてサイズが異なり得る。
[0056]図2は、HEVCイントラ予測モードを示す概念図250である。各PUのルーマ成分のために、図2に関して説明されるように、(2から34までインデックス付けされた)33個の角度イントラ予測モードと、(1でインデックス付けされた)DCモードと、(0でインデックス付けされた)平面モードとをもつイントラ予測方法が利用される。
[0057]上記の35個のイントラ予測モードに加えて、イントラパルスコード変調(I−PCM)と称する、もう1つのイントラ予測モードもHEVCによって採用される。I−PCMモードでは、予測サンプルはあらかじめ定義されたビット数によってコーディングされるが、予測、変換、量子化、およびエントロピーコーディングはバイパスされる。I−PCMモードの主な目的は、信号が他のイントラ予測モードによって効率的にコーディングされることのできない状況に対処することである。
[0058]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後の、変換領域における係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CUのための変換係数を生成するために、TUを変換し得る。
[0059]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実施し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために、変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減し得る。たとえば、量子化中にnビット値をmビット値に切り捨てることができ、ここで、nはmよりも大きい。
[0060]量子化の後に、ビデオエンコーダ20は、変換係数を走査して、量子化された変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、量子化された変換係数を走査して、エントロピー符号化され得る直列化されたベクトルを生成するために、あらかじめ定義された走査順序を使用することができる。他の例では、ビデオエンコーダ20は適応型走査を実施し得る。量子化された変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピー符号化方法に従って、1次元ベクトル中の変換係数を表すシンタックス要素をエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30によって使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
[0061]ビデオエンコーダ20は、コード化ピクチャおよび関連データの表現を形成するビットのシーケンスを含む、ビットストリームを出力することができる。したがって、このビットストリームは、ビデオデータの符号化表現を備える。ビットストリームは、ネットワークアブストラクションレイヤ(NAL)ユニットのシーケンスを備える場合がある。NALユニットは、NALユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが散在しているローバイトシーケンスペイロード(RBSP)の形でそのデータを含むバイトとを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含み、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの例では、RBSPはゼロビットを含む。
[0062]異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。たとえば、異なるタイプのNALユニットは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、コード化スライス、補足エンハンスメント情報(SEI)などに関する異なるRBSPをカプセル化することができる。ビデオコーディングデータに対するRBSP(パラメータセットおよびSEIメッセージに対するRBSPに対立するものとして)をカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれることがある。HEVC(すなわち、非マルチレイヤHEVC)では、アクセスユニットは、復号順序が連続しており、ちょうど1つのコード化ピクチャを含む、NALユニットのセットであり得る。コード化ピクチャのコード化スライスNALユニットに加えて、アクセスユニットは、コード化ピクチャのスライスを含んでいない他のNALユニットをも含み得る。いくつかの例では、アクセスユニットの復号により、復号ピクチャが常に生じ得る。補足エンハンスメント情報(SEI)は、VCL NALユニットからのコード化ピクチャのサンプルを復号するために必要ではない情報を含んでいる。SEI RBSPは、1つまたは複数のSEIメッセージを含む。
[0063]上で手短に示したように、NALユニットは、VPS、SPS、およびPPSのためのRBSPをカプセル化することができる。VPSは、0個以上のコード化ビデオシーケンス(CVS)全体に適用されるシンタックス要素を備えるシンタックス構造である。SPSは、0個以上のCVS全体に適用されるシンタックス要素を備えるシンタックス構造でもある。SPSは、SPSがアクティブであるときにアクティブであるVPSを識別するシンタックス要素を含み得る。したがって、VPSのシンタックス要素は、SPSのシンタックス要素よりも一般的に適用可能であり得る。PPSは、0個以上のコード化ピクチャに適用されるシンタックス要素を備えるシンタックス構造である。PPSは、PPSがアクティブであるときアクティブであるSPSを識別するシンタックス要素を含む場合がある。スライスのスライスヘッダは、スライスがコーディングされているときにアクティブであるPPSを示すシンタックス要素を含む場合がある。
[0064]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ30は、ビットストリームからシンタックス要素を取得するために、ビットストリームをパースすることができる。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築することができる。ビデオデータを再構築するためのプロセスは、全般に、ビデオエンコーダ20によって実施されるプロセスの逆であり得る。たとえば、ビデオデコーダ30は、現在のCUのPUのための予測ブロックを決定するために、PUの動きベクトルを使用することができる。加えて、ビデオデコーダ30は、現在のCUのTUの係数ブロックを逆量子化することができる。ビデオデコーダ30は、現在のCUのTUの変換ブロックを再構築するために、係数ブロックに対して逆変換を実施することができる。ビデオデコーダ30は、現在のCUのPUの予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加えることによって、現在のCUのコーディングブロックを再構築することができる。ピクチャの各CUのコーディングブロックを再構築することによって、ビデオデコーダ30はピクチャを再構築することができる。
[0065]HEVC規格では、2つのインター予測モードがある。これらのインター予測モードは、予測ユニット(PU)のための、それぞれ、マージモード(スキップモードはマージモードの特殊なケースと見なされることに留意されたい)および高度動きベクトル予測(AMVP)モードである。AMVPモードまたはマージモードのいずれかでは、動きベクトル(MV)候補リストは、複数の動きベクトル予測子について維持され得る。現在のPUの(1つまたは複数の)動きベクトルならびにマージモードにおける参照インデックスは、MV候補リストから1つの候補をとることによって生成され得る。
[0066]いくつかの事例では、MV候補リストは、マージモードのために最高5つの候補を、およびAMVPモードのためにただ2つの候補を含んでいることがある。マージ候補は、動き情報のセット、たとえば、参照ピクチャリスト(リスト0およびリスト1など)と参照インデックスの両方に対応する動きベクトルを含んでいることがある。マージ候補がマージインデックスによって識別される場合、参照ピクチャは現在のブロックの予測のために使用され、ならびに関連する動きベクトルが決定される。しかしながら、リスト0またはリスト1のいずれかからの各潜在的な予測方向に対するAMVPモードの下では、AMVP候補が動きベクトルのみを含み得るので、MVPインデックスとともに参照インデックスがMV候補リストに明示的にシグナリングされる必要がある。AMVPモードでは、予測動きベクトルはさらに改善され得る。
[0067]マージ候補は、動き情報の完全セットに対応し得るが、AMVP候補は、特定の予測方向についてのただ1つの動きベクトルと参照インデックスとを含んでいることがある。両方のモードに関する候補は、同じ空間的および時間的隣接ブロックから同様に導出され得る。
[0068]図3Aおよび図3Bは、本開示の1つまたは複数の技法による、マージモードと高度動きベクトル予測(AMVP)モードとのための空間隣接動きベクトル候補を示す概念図である。図3Aおよび図3Bに関して説明されるように、空間的MV候補が、特定のPU(PU0)に関して図3Aおよび図3Bに示されている隣接ブロックから導出されるが、ブロックから候補を生成する方法はマージモードとAMVPモードとについて異なる。
[0069]マージモードでは、図3Aに番号で示された順序とともに、最高4つの空間的MV候補が導出されてよく、順序は、図3Aに示されているように、左(0)、上(1)、右上(2)、左下(3)、および左上(4)である。
[0070]AMVPモードでは、隣接ブロックは、図3Bに示されているように、ブロック0および1からなる左グループ310、ならびにブロック2、3、および4からなる上グループ320という、2つのグループに分割される。左グループ310および上グループ320の各々について、シグナリングされた参照インデックスによって示された参照ピクチャと同じ参照ピクチャを参照する隣接ブロック中の潜在的候補は、そのグループの最終候補を形成するために選ばれるべき最高優先順位を有する。すべての隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含んでいるとは限らない可能性がある。したがって、そのような候補が見つけられない場合、第1の利用可能な候補は、最終候補を形成するためにスケーリングされ、したがって、時間距離差分が補償され得る。
[0071]リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動車インフォテインメント、クラウドコンピューティングなどの多数のアプリケーションが日常的に使用されつつある。これらのアプリケーションにおけるビデオコンテンツは通常、自然コンテンツ、テキスト、人工グラフィックスなどの組合せである。テキストおよび人工グラフィックス領域では、(文字、アイコン、シンボルなどの)繰返しパターンがしばしば存在する。イントラブロック複写(Intra Block Copying)(イントラBC)とは、ビデオコーダが、そのような冗長性を除去することを可能にし、イントラピクチャコーディング効率を改善し得る技法である。いくつかの事例では、イントラBCは代替的にイントラ動き補償(MC)と呼ばれ得る。
[0072]いくつかのイントラBC技法によると、ビデオコーダは、同じピクチャ中のビデオデータの(コーディングされるべき)現在のブロックのすぐ上にあるか、または水平に一直線上にある、ビデオデータの現在のブロックと同じピクチャ内の前にコーディングされたビデオデータのブロックを、現在のブロックの予測に使用し得る。言い換えれば、ビデオデータのピクチャが2−Dグリッドに課された場合、ビデオデータの各ブロックは、x値およびy値の一意の範囲を占有する。したがって、いくつかのビデオコーダは、(現在のブロックに対して垂直方向に一直線上にある)x値の同じセットまたは(現在のブロックに対して水平方向に一直線上にある)y値の同じセットのみを共有する、前にコーディングされたビデオデータのブロックに基づいてビデオデータの現在のブロックを予測することができる。
[0073]図4は、本開示の1つまたは複数の技法によるイントラブロックコピー(BC)の一例を示す概念図である。図4に関して説明されるように、RExt中にイントラBCが含まれている。イントラBCの一例は図4に示されている通りであり、ここにおいて、現在のCU402は、現在のピクチャ/スライスのすでに復号されたブロック404から予測される。現在イントラBCブロックサイズは、8×8から64×64にわたるCUサイズ程度に大きくなり得るが、いくつかの適用例では、さらなる制約が追加として適用され得る。
[0074]従来のビデオコーディングでは、画像は、色調が連続的であり空間的に滑らかであると仮定され得る。これらの仮定に基づいて、たとえば、ブロックベースの変換、フィルタリングなど様々なツールが開発されており、これらのツールは、自然のコンテンツをもつビデオでは良好な性能を示している。しかしながら、いくつかの適用例で、そのようなリモートデスクトップ、共同作業、およびワイヤレスディスプレイでは、コンピュータ生成されたスクリーンコンテンツが、圧縮されるべき支配的コンテンツであり得る。このタイプのコンテンツは、不連続な色調である傾向があり、高コントラストのオブジェクト境界をもつ鋭利な線を特徴とする。ただし、連続的色調および滑らかさの仮定はもはや当てはまらない場合がある。したがって、従来のビデオコーディング技法が効率的に作用しない場合がある。
[0075]この効率損失を正すために、ビデオコーダは、パレットモードコーディングを使用し得る。2013年4月10日に出願された米国仮出願第61/810,649号は、パレットコーディング技法の例について記載している。各CUについて、現在のCU中で最も支配的なピクセル値を含むパレットが導出され得る。パレットのサイズおよび要素が最初に送信される。CU中のピクセルは次いで、特定の走査順序に従って符号化される。各ロケーションについて、ビデオエンコーダ20は、フラグpalette_flagなどのシンタックス要素を、ピクセル値がパレット中にある(「ランモード」)かまたはない(「ピクセルモード」)かを示すために最初に送信する。
[0076]「ランモード」において、ビデオエンコーダ20は、後に「ラン」が続くパレットインデックスをシグナリングし得る。ランは、現在コーディングされているピクセルと同じパレットインデックス値を有する連続ピクセルの数を走査順序で示すシンタックス要素である。走査順序ですぐ隣に連続する複数のピクセルが同じパレットインデックス値を有する場合、「ランモード」は、palette_flagなどのシンタックス要素によって示され得る。現在のピクセルと同じパレットインデックス値を有する、現在のピクセルに続くピクセルの数に等しいカウンタ値が決定され、ランはそのカウンタ値に等しく設定される。ビデオエンコーダ20は、「ラン」によってカバーされる、それ以降の位置についてのpalette_flagまたはパレットインデックスを送信する必要はなく、というのは、現在のピクセルに続くピクセルの各々が、同じピクセル値を有するからである。デコーダ側で、現在のピクセルの第1のパレットインデックス値のみが復号され、結果は、「ラン」シンタックス要素中に示されるピクセルの「ラン」においてピクセルごとに複製され得る。「ピクセルモード」において、ビデオエンコーダ20は、この位置についてのピクセルサンプル値を送信する。palette_flagなどのシンタックス要素が「ピクセルモード」を示す場合、パレットインデックス値は、復号されている現在のピクセルについてのみ決定される。
[0077]本開示に記載される技法によると、残差信号(すなわち、残差ブロック)のためのループ内色空間変換が、4:4:4クロマフォーマットでのシーケンス用に提案されるが、本技法は、4:4:4フォーマットに限定されるのではない。ループ内色空間変換プロセスは、RGB/YUVクロマフォーマットにおける予測誤差信号を準最適色空間における予測誤差信号(すなわち、残差信号)に変換する。ループ内色空間変換は、色成分の間の相関性をさらに低減し得る。変換行列は、特異値分解(SVD)によって各CUのピクセルサンプル値から導出され得る。色空間変換はイントラモードとインターモードの両方の予測誤差に適用され得る。
[0078]色空間変換がインターモードに適用されるとき、残差は、最初に、導出された変換行列を用いて異なる領域にコンバートされる。色空間コンバージョンの後に、DCT/DST、量子化、およびエントロピーコーディングなど、コーディングステップが順に実施される。
[0079]色空間変換が、イントラモードを使ってコーディングされたCUに適用されるとき、予測および現在のブロックは、最初に、それぞれ、導出された変換行列を用いて異なる領域にコンバートされる。色空間コンバージョンの後に、現在のブロックと現在のブロックについての予測子との間の残差が、DCT/DSTを用いてさらに変換され、量子化され、エントロピーコーディングされる。
[0080]ビデオエンコーダ20などのビデオ符号化デバイスが順動作を実施し、ここで、コンバージョン値a、b、c、d、e、f、g、h、およびiを備える色空間変換行列が、色成分P、Q、およびSについての値を導出するために、次のように3つの平面G、B、およびRに適用される。
Figure 0006929647
[0081]得られた値は、HEVC仕様の範囲内でクリッピングされることができ、というのは、値は、ワーストケースにおいて、最大で
Figure 0006929647
倍まで拡大され得るからである。ビデオデコーダ30などのビデオ復号デバイスが逆動作を実施し、ここで、コンバージョン値at、bt、ct、dt、et、ft、gt、ht、およびitを備える色空間変換行列が、3つの平面G’、B’およびR’を導出するために、次のように、3つの色成分P’、Q’、およびR’に適用される。
Figure 0006929647
[0082]図5は、本開示の1つまたは複数の技法による、イントラ8×8ブロックのためのターゲットブロックおよび参照サンプルの一例を示す概念図である。参照サンプル値からの特異値分解(SVD)を使って、変換行列が導出され得る。ビデオコーディングデバイス(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、イントラケースおよびインターケースに対して異なる参照サンプルを使い得る。イントラコード化ブロックの場合について、ターゲットブロックおよび参照サンプルは、図5に示されている通りであり得る。図5では、ターゲットブロックは8×8のクロスハッチサンプルからなり、参照サンプルはストライプサンプルおよびドット付きサンプルである。
[0083]インターコード化ブロックの場合、行列導出のための参照サンプルは動き補償のための参照サンプルと同じであり得る。高度動き予測(AMP)ブロック中の参照サンプルは、参照サンプルの数が削減されるようにサブサンプリングされ得る。たとえば、12×16ブロック中の参照サンプルの数は2/3だけ低減される。
[0084]上記の例のいくつかでは、色空間変換プロセスが常に適用され得る。したがって、色空間変換プロセスが呼び出されるか否かをシグナリングする必要はない場合がある。さらに、ビデオエンコーダ20とビデオデコーダ30の両方は、変換行列をシグナリングするためのオーバーヘッドを回避するために、変換行列を順に導出するための同じ方法を使用し得る。
[0085]ビデオエンコーダ20およびビデオデコーダ30は、様々な色空間変換行列を使用し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、異なる色空間に関して、異なる色空間変換行列を適用することができる。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、サンプル値をRGB色空間からYCbCr色空間に、およびその逆にコンバートするのに、YCbCr変換行列のペアを使用し得る。以下の等式は、YCbCr変換行列の1つの例示的セットを示す。
Figure 0006929647
Figure 0006929647
[0086]別の例では、ビデオエンコーダ20およびビデオデコーダ30は、サンプル値をRGB色空間からYCoCg色空間に、およびその逆にコンバートするのに、YCoCg変換行列のペアを使用し得る。以下の等式は、YCoCg変換行列の1つの例示的セットを示す。
Figure 0006929647
Figure 0006929647
[0087]別のそのような行列は、CoおよびCg成分を1/2にスケーリングするYCoCg行列の修正可能バージョンであるYCoCg−R行列であり得る。リフト技法を使うことによって、ビデオエンコーダ20およびビデオデコーダ30は、以下の等式によって順および逆変換を遂行することができる。
Figure 0006929647
Figure 0006929647
[0088]上記等式および行列において、順変換は、(たとえば、ビデオエンコーダによる)符号化プロセスの前に実施され得る。反対に、逆変換は、(たとえば、ビデオデコーダによる)復号プロセスの後に実施され得る。
[0089]スライス用のスライスヘッダは、スライスについての情報を含む。たとえば、スライス用のスライスヘッダは、スライスのための定量化パラメータをビデオデコーダ30がそこから導出することができるシンタックス要素を含み得る。HEVCにおいて、スライスセグメントヘッダシンタックス構造は、スライスヘッダに対応する。以下のテーブルは、以下で定義されるスライスセグメントヘッダの一部分を示す。
Figure 0006929647
[0090]上の例、および本開示の他のシンタックステーブルでは、フォーマットu(n)の記述子を有するシンタックス要素は、長さnの符号なし値であり、ここで、nは非負整数である。さらに、記述子se(v)は、左ビットが先頭である符号付き整数0次指数ゴロムコード化シンタックス要素を示す。
[0091]上のテーブルにおいて、slice_qp_deltaシンタックス要素は、CUレイヤ中のCuQpDeltaValの値によって修正されるまで、スライス中のコーディングブロックのために使われるべきQpYの初期値を指定する。スライスのためのQpYは、スライスのブロックのルーマ成分のためのQPである。スライスのためのQpY量子化パラメータの初期値、すなわちSliceQpYは、次のように導出され得る。
Figure 0006929647
[0092]上記式において、init_qp_minus26は、PPS中でシグナリングされるシンタックス要素である。init_qp_minus26シンタックス要素は、各スライスについて、SliceQpYの初期値マイナス26を指定する。SliceQpYの値は、両端値を含む−QpBdOffsetY〜+51の範囲内にあり得る。QpBdOffsetYは、bit_depth_luma_minus8シンタックス要素に6を乗算したものに等しい変数である。bit_depth_luma_minus8シンタックス要素は、ルーマアレイのサンプルのビット深度と、ルーマ量子化パラメータ範囲オフセットQpBdOffsetYの値とを指定する。ビデオエンコーダ20は、bit_depth_luma_minus8シンタックス要素をSPS中でシグナリングし得る。
[0093]別のシンタックス要素、すなわちslice_cb_qp_offsetは、Qp’Cb量子化パラメータの値を決定するとき、pps_cb_qp_offset(またはルーマ量子化パラメータオフセット)の値に加えられるべき差を指定する。slice_cb_qp_offsetの値は、両端値を含む−12〜+12の範囲内であり得る。slice_cb_qp_offsetが存在しないとき、slice_cb_qp_offsetは0に等しいものと推測される。pps_cb_qp_offset+slice_cb_qp_offsetの値は、両端値を含む−12〜+12の範囲内であり得る。
[0094]シンタックス要素、すなわちslice_cr_qp_offsetは、Qp’Cr量子化パラメータの値を決定するとき、pps_cr_qp_offset(またはルーマ量子化パラメータオフセット)の値に加えられるべき差を指定する。slice_cr_qp_offsetの値は、両端値を含む−12〜+12の範囲内であり得る。slice_cr_qp_offsetが存在しないとき、slice_cr_qp_offsetは0に等しいものと推測され得る。pps_cr_qp_offset+slice_cr_qp_offsetの値は、両端値を含む−12〜+12の範囲内であり得る。
[0095]シンタックス要素cu_chroma_qp_offset_enabled_flagが1に等しいとき、cu_chroma_qp_offset_flagは変換ユニットシンタックス中に存在し得る。cu_chroma_qp_offset_enabled_flagが0に等しいとき、cu_chroma_qp_offset_flagは変換ユニットシンタックス中に存在しない場合がある。存在しないとき、cu_chroma_qp_offset_enabled_flagの値は0に等しいものと推測される。
[0096]変換ユニットは、次のようなシンタックスを有し得る。
Figure 0006929647
[0097]シンタックス要素cu_qp_delta_absは、現在のコーディングユニットのルーマ量子化パラメータと、その予測との間の差の絶対値CuQpDeltaValを指定する。上記テーブルにおいて、記述子ae(v)は、コンテキスト適応型算術エントロピーコード化シンタックス要素を示す。
[0098]シンタックス要素cu_qp_delta_sign_flagは、CuQpDeltaValの符号を指定する。cu_qp_delta_sign_flagが0に等しい場合、対応するCuQpDeltaValは正の値を有する。そうでない(cu_qp_delta_sign_flagが1に等しい)場合、対応するCuQpDeltaValは負の値を有する。cu_qp_delta_sign_flagが存在しないとき、cu_qp_delta_sign_flagは0に等しいものと推測される。
[0099]cu_qp_delta_absが存在するとき、変数IsCuQpDeltaCodedおよびCuQpDeltaValは、次のように導出され得る。
Figure 0006929647
[0100]CuQpDeltaValの値は、両端値を含む−(26+QpBdOffsetY/2)〜+(25+QpBdOffsetY/2)の範囲内であり得る。
[0101]シンタックス要素cu_chroma_qp_offset_flagは、存在するとともに1に等しいとき、cb_qp_offset_list[]中のエントリが、CuQpOffsetCbの値を決定するのに使われ、cr_qp_offset_list[]中の対応するエントリが、CuQpOffsetCrの値を決定するのに使われると指定する。変数cu_chroma_qp_offset_flagが0に等しいとき、これらのリストは、CuQpOffsetCbおよびCuQpOffsetCrの値を決定するのに使われない。
[0102]シンタックス要素cu_chroma_qp_offset_idxは、存在するとき、CuQpOffsetCbおよびCuQpOffsetCrの値を決定するのに使われる、cb_qp_offset_list[]およびcr_qp_offset_list[]中へのインデックスを指定する。存在するとき、cu_chroma_qp_offset_idxの値は、両端値を含む0〜chroma_qp_offset_list_len_minus1の範囲内であるものとする。存在しないとき、cu_chroma_qp_offset_idxの値は0に等しいものと推測される。
[0103]cu_chroma_qp_offset_flagが同じグループの何らかの他のCU中にすでに存在していたので、cu_chroma_qp_offset_flagが存在しないケース、およびリストがただ1つのエントリを含むので、フラグが1に等しいがインデックスが存在しないケースがチェックされ得る。cu_chroma_qp_offset_flagが存在するとき、変数IsCuChromaQpOffsetCodedは1に等しくセットされる。変数CuQpOffsetCbおよびCuQpOffsetCrが次いで、導出される。cu_chroma_qp_offset_flagが1に等しい場合、CuQpOffsetCb=cb_qp_offset_list[cu_chroma_qp_offset_idx]であり、CuQpOffsetCr=cr_qp_offset_list[cu_chroma_qp_offset_idx]である。そうでない(cu_chroma_qp_offset_flagが0に等しい)場合、CuQpOffsetCbおよびCuQpOffsetCrは両方とも、0に等しくセットされる。
[0104]復号プロセスにおいて、量子化パラメータについての導出プロセスに対して、このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション(xCb,yCb)である。このプロセスでは、変数QpY、ルーマ量子化パラメータQp’Y、ならびにクロマ量子化パラメータQp’CbおよびQp’Crが導出される。
[0105]本開示の技法によると、量子化グループとは、CUのTUのセットであり、TUの各々は同じQP値を共有する。ルーマロケーション(xQg,yQg)は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置xQgおよび垂直位置yQgは、それぞれ、xCb−(xCb&((1<<Log2MinCuQpDeltaSize)−1))およびyCb−(yCb&((1<<Log2MinCuQpDeltaSize)−1))に等しく設定される。量子化グループのルーマサイズ、Log2MinCuQpDeltaSizeは、同じqPY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
[0106]ビデオコーダは、予測ルーマ量子化パラメータqPY_PREDを以下の順序付きステップによって導出することができる。
[0107]1)変数qPY_PREVが導出され得る。次の条件のうちの1つまたは複数が真である場合、ビデオコーダは、qPY_PREVを、SliceQpYに等しく設定する。すなわち、現在の量子化グループがスライス中の第1の量子化グループであるか、現在の量子化グループがタイル中の第1の量子化グループであるか、または現在の量子化グループがコーディングツリーブロック行中の第1の量子化グループであるとともにentropy_coding_sync_enabled_flagが1に等しい。そうでない場合、qPY_PREVは、復号順序で、前の量子化グループ中の最後のコーディングユニットのルーマ量子化パラメータQpYに等しく設定される。
[0108]2)z走査順序での、ブロックのための利用可能性導出プロセスが、(xCb,yCb)に等しく設定されたロケーション(xCurr,yCurr)、および(xQg−1,yQg)に等しく設定された隣接ロケーション(xNbY,yNbY)を入力として呼び出され、出力はavailableAに割り当てられる。変数qPY_Aは次のように導出される。次の条件のうちの1つまたは複数が真である場合、qPY_AはqPY_PREVに等しく設定される。すなわち、availableAがFALSEに等しいか、またはルーマロケーション(xQg−1,yQg)をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスctbAddrAがCtbAddrInTsに等しくなく、ここでctbAddrAは次のように導出される。
Figure 0006929647
そうでない場合、qPY_Aは、(xQg−1,yQg)をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータQpYに等しく設定される。
[0109]3)z走査順序での、ブロックのための利用可能性導出プロセスが、(xCb,yCb)に等しく設定されたロケーション(xCurr,yCurr)、および(xQg,yQg−1)に等しく設定された隣接ロケーション(xNbY,yNbY)を入力として呼び出される。出力はavailableBに割り当てられる。変数qPY_Bが導出される。次の条件のうちの1つまたは複数が真である場合、qPY_BはqPY_PREVに等しく設定される。すなわち、availableBがFALSEに等しいか、またはルーマロケーション(xQg,yQg−1)をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスctbAddrBがCtbAddrInTsに等しくなく、ここでctbAddrBは次のように導出される。
Figure 0006929647
そうでない場合、qPY_Bは、(xQg,yQg−1)をカバーするルーマコーディングブロックを含むCUのルーマ量子化パラメータQpYに等しく設定される。
[0110]4)予測ルーマ量子化パラメータqPY_PREDは次のように導出され得る。
Figure 0006929647
[0111]変数QpYは次のように導出され得る。
Figure 0006929647
[0112]ルーマ量子化パラメータQp’Yは次のように導出され得る。
Figure 0006929647
[0113]ChromaArrayTypeが0に等しくないとき、変数qPiCbおよびqPiCrは次のように導出される。
Figure 0006929647
[0114]ChromaArrayTypeが1に等しい場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、QpCの値に等しく設定される。そうでない場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、Min(qPi,51)に等しく設定される。
[0115]CbおよびCr成分のクロマ量子化パラメータQp’CbおよびQp’Crは、次のように導出される。
Figure 0006929647
[0116]1に等しいChromaArrayTypeのためのqPiに応じたQpcの詳細は、次のようになる。
Figure 0006929647
量子化解除プロセスでは、各成分インデックス(cIdx)のための量子化パラメータqPが導出される。cIdxが0に等しい場合、qP=Qp’Yである。そうではなく、cIdxが1に等しい場合、qP=Qp’Cbである。それ以外の(cIdxが2に等しい)場合、qP=Qp’Cである。デブロッキングフィルタプロセスでは、QpYに依存するルーマ/クロマエッジが最初に決定される。HEVCのサブクローズ8.7.2.5.3および8.7.2.5.5が、デブロッキングフィルタプロセスの詳細を与えている。
[0117]2014年4月18日に出願された米国仮特許出願第61/981,645号は、ビット深度増分を伴う正規化YCgCo変換およびYCgCo変換などのループ内色変換公式を定義している。さらに、米国仮特許出願第61/981,645号は、イントラモード用の残差領域に色変換が、つまり、従来の変換/量子化プロセスの前の予測プロセスの後に適用され得ると記載している。さらに、米国仮特許出願第61/981,645号は、異なる色成分が、変換の規格に基づいて、色変換でコーディングされるブロック用に異なるデルタQPを使用し得ると指摘している。
[0118]米国仮特許出願第61/981,645号のビデオコーディング技法は、いくつかの点で改善され得る。たとえば、3つの色成分についての固定デルタQP設定は、すべてのイントラ/ランダムアクセス/低遅延など、すべてのケースに対しては最適でない場合がある。さらに、ビット深度増分を伴う非正規化YCgCo変換を使うとき、変換の結果、正規変換に対してビット幅の増大が生じ、これにより、ハードウェア実装のためのコストが増大する。逆に、正規変換が不変のまま保たれた場合、入力残差データの精度の増大により、いくつかのケースに対してオーバーフローが生じ得る。
[0119]本開示の技法は、以前の設計と比較して、ループ内色空間変換のコーディング性能を改善し、デコーダの複雑さを低減するための解決策を提供する。ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、図1〜図11に関して説明される技法のいずれかを実施し得る。
[0120]いくつかの例では、復号された3つの色成分のためのQPのデルタ値のセットは、(deltaQPC0,deltaQPC1,deltaQPC2)によって記され、これらは、色変換が有効にされていない(with color transform not enabled)決定されたqPと比較して、色変換が有効にされた(with color transform enabled)ブロックのためのQPのオフセットを示す。有効にされた色変換でコーディングされたブロックに対して、量子化解除プロセスにおいて使われる最終QPは、それぞれ0、1、2に等しい成分インデックスcIdxをもつ3つの色成分についてqP+deltaQPC0、qP+deltaQPC1、qP+deltaQPC2に設定される。qPは、従来のQP導出プロセスの出力である。いくつかの例では、deltaQPC0はdeltaQPC1に等しく、deltaQPC0とdeltaQPC1は両方とも、deltaQPC2よりも小さい。
[0121]たとえば、ビデオエンコーダ20がビデオデータのCUを符号化する。ビデオデータを符号化する際、ビデオエンコーダ20は、色空間コンバージョンを使ってCUを符号化すると決定し得る。ある色成分について、ビデオエンコーダ20は、色成分のための初期QPを決定することができ、CUが色空間コンバージョンを使って符号化されることに基づいて、色成分のための最終QPが色成分の初期QPと色成分のための非ゼロQPオフセットの和に等しくなるように、色成分のための最終QPを設定する。ビデオエンコーダ20は、色成分のための最終QPに基づいて、CUのための係数ブロックを量子化することができ、CUのための係数ブロックは色成分のサンプル値に基づく。各係数が量子化されると、ビデオエンコーダ20は、符号化ビットストリーム中のCUのための量子化された係数ブロックに基づいて、符号化CUをさらに出力することができる。
[0122]別の例では、ビデオデコーダ30がビデオデータのCUを復号する。ビデオデータを復号する際、ビデオデコーダ30は、CUが、色空間コンバージョンを使って符号化されたと決定し得る。ある色成分について、ビデオデコーダ30は、色成分のための初期QPを決定することができ、CUが色空間コンバージョンを使って符号化されていることに基づいて、色成分のための最終QPが色成分の初期QPと色成分のための非ゼロQPオフセットの和に等しくなるように、色成分のための最終QPを決定する。ビデオデコーダ30は、色成分のための最終QPに基づいて、CUのための係数ブロックを逆量子化することができ、CUのための係数ブロックは色成分のサンプル値に基づく。各係数ブロックが逆量子化されると、ビデオデコーダ30は、CUのための逆量子化された係数ブロックに基づいて、CUを再構築することができる。
[0123]いくつかの例では、1つまたは複数の色成分のうちの色成分について、色成分のためのQPオフセットが、PPS、SPS、またはスライスヘッダのうちの1つの中でシグナリングされ得る。いくつかのさらなる例では、複数の色成分が3つの色成分を備え得る。そのような例では、第1の色成分のための第1の量子化パラメータのための第1のQPオフセットは第2の色成分のための第2のQPのための第2のQPオフセットに等しく、第1のQPオフセット(および第2の量子化パラメータオフセット)は、第3の色成分のための第3のQPのための第3のQPオフセットよりも小さい。
[0124]したがって、いくつかの例では、CUは第1のCUである。そのような例では、ビデオエンコーダ20は第2のCUを符号化し得る。第2のCUを符号化する際、ビデオエンコーダ20は、色成分について、色成分のためのQPを決定し、色成分のための最終QP値が色成分の初期QP値に等しくなるように、第2のCUが色空間コンバージョンを使って符号化されていないことに基づいて、色成分のための最終QP値を設定し、色成分のための最終QPに基づいて、第2のCUの係数ブロックを量子化し得、第2のCUの係数ブロックは色成分のサンプル値に基づく。ビデオエンコーダ20は、量子化された第2の係数ブロックの各々を表す、1つまたは複数のエントロピー符号化シンタックス要素の第2のセットを備えるビデオデータビットストリームをさらに出力し得る。
[0125]この例の復号の際、ビデオデコーダ30は第2のCUを復号し得る。第2のCUを復号する際、ビデオデコーダ30は、複数の色成分のうちのある色成分について、色成分のためのQPを決定し、色成分のための最終QP値が色成分の初期QP値に等しくなるように、第2のCUが色空間コンバージョンを使って符号化されていないことに基づいて、色成分のための最終QP値を決定し、色成分のための最終QPに基づいて、第2のCUの係数ブロックを逆量子化し得、第2のCUの係数ブロックは色成分のサンプル値に基づく。ビデオデコーダ30は、第2のCUの1つまたは複数の逆量子化された係数ブロックの各々に基づいて、第2のCUを再構築し得る。
[0126]デルタQPの1つの固定セットをすべてのモードに対して使う代わりに、3色成分のためのデルタQPの設定はモード依存であり得る。一例では、イントラモードおよびイントラBCモードは、(deltaQPC0,deltaQPC1,deltaQPC2)という同じセットを共有することができ、インターモードは、イントラモードおよびイントラBCモードによって使われるものとは同一でない(deltaQPC0,deltaQPC1,deltaQPC2)という別のセットを共有することができる。別の例では、イントラモードは、(deltaQPC0,deltaQPC1,deltaQPC2)という同じセットを共有することができ、イントラBCモードおよびインターモードは、イントラモードによって使われるものとは同一でない(deltaQPC0,deltaQPC1,deltaQPC2)という別のセットを共有することができる。いくつかの例では、デルタQPのセット(deltaQPC0,deltaQPC1,deltaQPC2)は、(−4+6*BitInc,−4+6*BitInc,−3+6*BitInc)、(−4+6*BitInc,−4+6*BitInc,−2+6*BitInc)、(−5+6*BitInc,−5+6*BitInc,−3+6*BitInc)または(−5+6*BitInc,−5+6*BitInc,−2+6*BitInc)であってもよく、ここにおいてBitIncは0、1、2であり得る。
[0127]言い換えると、いくつかの例では、複数の色成分が3つの色成分を備える。そのような例では、量子化パラメータオフセットは、(−5+6*BitInc,−5+6*BitInc,−3+6*BitInc)に等しくてよい。他のそのような例では、量子化パラメータオフセットは、(−4+6*BitInc,−4+6*BitInc,−3+6*BitInc)、(−4+6*BitInc,−4+6*BitInc,−2+6*BitInc)、または(−5+6*BitInc,−5+6*BitInc,−2+6*BitInc)など、他の値に等しくてよい。いずれのケースでも、BitIncは、0、1または2に等しくなり得る。
[0128]Iスライスとは、イントラコード化ブロックまたはイントラBCコード化ブロックのみを含み得るスライスである。Pスライスとは、イントラコード化および単方向インター予測ブロックのみを含み得るスライスである。Bスライスとは、イントラ予測ブロックと、単方向インター予測ブロックと、双方向インター予測ブロックとを含み得るスライスである。いくつかの例では、すべてのモードに対してデルタQPの1つの固定セットを使うのではなく、3色成分のためのデルタQPの設定はスライスタイプに依存し得る。一例では、Iスライスは同じセットを共有することができ、P/Bスライスは同じセットを共有することができる。別の例では、異なるセットがI/P/Bスライスに適用され得る。さらに、いくつかの例では、デルタQPのセットは、SPS、PPS、またはスライスヘッダ中でシグナリングされ得る。
[0129]言い換えれば、いくつかの例では、複数の色成分のうちのいくつかの色成分について、色成分のためのQPオフセットは、CUのスライスタイプが、Iスライスタイプ、Pスライスタイプ、またはBスライスタイプかどうかに依存し得る。そのような例では、色成分について、ビデオエンコーダ20は、色成分のためのQPオフセットが、CUのスライスタイプがIスライスタイプであるときは第1の値に等しく、CUのスライスタイプがPスライスタイプまたはBスライスタイプであるときは第2の値に等しいと決定することができ、第1の値は第2の値とは異なる。他のそのような例では、色成分について、ビデオエンコーダ20は、色成分のためのQPオフセットが、CUのスライスタイプがIスライスタイプであるときは第1の値に等しく、CUのスライスタイプがPスライスタイプであるときは第2の値に等しく、CUのスライスタイプがBスライスタイプであるときは第3の値に等しいと決定することができ、第1の値は第2の値とは異なり、第2の値は第3の値とは異なり、第1の値は第3の値とは異なる。
[0130]他の例では、複数の色成分のうちのいくつかの色成分について、色成分のためのQPオフセットは、CUのスライスタイプが、Iスライスタイプ、Pスライスタイプ、またはBスライスタイプかどうかに依存し得る。そのような例では、色成分について、ビデオデコーダ30は、色成分のためのQPオフセットが、CUのスライスタイプがIスライスタイプであるときは第1の値に等しく、CUのスライスタイプがPスライスタイプまたはBスライスタイプであるときは第2の値に等しいと決定することができ、第1の値は第2の値とは異なる。他のそのような例では、色成分について、ビデオデコーダ30は、色成分のためのQPオフセットが、CUのスライスタイプがIスライスタイプであるときは第1の値に等しく、CUのスライスタイプがPスライスタイプであるときは第2の値に等しく、CUのスライスタイプがBスライスタイプであるときは第3の値に等しいと決定することができ、第1の値は第2の値とは異なり、第2の値は第3の値とは異なり、第1の値は第3の値とは異なる。
[0131]いくつかの例では、色変換によりデータダイナミックレンジが増大されると、ビデオコーダは、変換された残差を、色変換の前の残差と同じ範囲内にクリップし得る。たとえば、入力データがNビットの精度であるとき、イントラ/インター予測の後の残差は、[−2N,2N−1]の範囲内(またはより正確には、[−2N−1、2N−1]の範囲内)であり得る。色変換を適用した後、変換された残差はやはり同じ範囲までクリッピングされ得る。いくつかの例では、3つの色成分のコード化ブロックフラグがすべて0に等しいとき、逆色変換はスキップされ得る。
[0132]いくつかの例では、色変換が適用されたとき、従来通り導出されたQpYは、(QpY+deltaQPC0)にさらに修正され得る。そのために、デブロッキングフィルタプロセスでは、修正されたQpYに依存する、ルーマ/クロマエッジの境界強度が最初に決定され得る。代替として、デブロッキングフィルタプロセスのルーマ/クロマエッジの境界強度において、未修正QpYが使われ得る。
[0133]言い換えると、いくつかの例では、複数の色成分はルーマ成分と1つまたは複数のクロマ成分とを含む。そのような例では、ビデオエンコーダ20は、ルーマ成分のための最終QPに少なくとも部分的に基づいて、ルーマエッジの境界強度をさらに決定することができる。ビデオエンコーダ20は、クロマ成分のための最終QPに少なくとも部分的に基づいて、クロマエッジの境界強度をさらに決定することができる。ルーマエッジの境界強度が第1のしきい値を満たさないと決定したことに応答して、ビデオエンコーダ20は、ルーマエッジに対してデブロッキングフィルタリングプロセスを実施し得る。さらに、クロマエッジの境界強度が第2のしきい値を満たさないと決定したことに応答して、ビデオエンコーダ20は、クロマエッジに対してデブロッキングフィルタリングプロセスを実施し得る。
[0134]他の例では、複数の色成分はルーマ成分と1つまたは複数のクロマ成分とを含む。そのような例では、ビデオデコーダ30は、ルーマ成分のための最終QPに少なくとも部分的に基づいて、ルーマエッジの境界強度をさらに決定することができる。ビデオデコーダ30は、クロマ成分のための最終QPに少なくとも部分的に基づいて、クロマエッジの境界強度をさらに決定することができる。ルーマエッジの境界強度が第1のしきい値を満たさないと決定したことに応答して、ビデオデコーダ30はルーマエッジに対してデブロッキングフィルタリングプロセスを実施し得る。さらに、クロマエッジの境界強度が第2のしきい値を満たさないと決定したことに応答して、ビデオデコーダ30は、クロマエッジに対してデブロッキングフィルタリングプロセスを実施し得る。
[0135]いくつかの例では、あるCUに対して色変換が有効にされ、そのCUがイントラモードでコーディングされるとき、CU内のPUがすべて、直接モード(DM)を使うこととするという制約が、仕様において追加され得る。PUが、直接モードを使って符号化されるとき、ビデオエンコーダ20は、動き情報シンタックス要素をシグナリングしないが、残差データを表すシンタックス要素をシグナリングし得る。言い換えると、クロマ予測モードはルーマ予測モードと同じであり得る。代替として、さらに、色変換が、あるCUに対して有効にされているとき、pcm_flagは0に等しいものとなる。
[0136]言い換えると、いくつかの例では、色空間コンバージョンの入力データは、Nビットの精度を有する。そのような例では、イントラ/インター予測の後のCUについての残差データは、[−2N,2N−1]の範囲内になり得る。いくつかの他の例では、CUがイントラコーディングモードでコーディングされていると決定したことに応答して、ビデオエンコーダ20は、同じクロマ予測モードを使って、CUのすべてのクロマブロックをさらに予測し得る。そのような例では、ビデオエンコーダ20は、同じルーマ予測モードを使って、CUのすべてのルーマブロックをさらに予測することができる。同じルーマ予測モードは、同じクロマ予測モードと同じであり得る。別の例では、1つのCUが4つのルーマブロックを含み得る。そのような例では、各ルーマブロックは、独自のルーマ予測モードでコーディングされ得、CU内の左上ルーマブロックのルーマ予測モードは、同じクロマ予測モードと同じであり得る。
[0137]他の例では、色空間コンバージョンの入力データは、Nビットの精度を有する。そのような例では、イントラ/インター予測の後のCUについての残差データは、[−2N,2N−1]の範囲内になり得る。いくつかの他の例では、CUがイントラコーディングモードでコーディングされていると決定したことに応答して、ビデオデコーダ30は、同じクロマ予測モードを使って、CUのすべてのクロマブロックをさらに予測し得る。そのような例では、ビデオデコーダ30は、同じルーマ予測モードを使って、CUのすべてのルーマブロックをさらに予測することができる。同じルーマ予測モードは、同じクロマ予測モードと同じであり得る。別の例では、1つのCUが4つのルーマブロックを含み得る。そのような例では、各ルーマブロックは、独自のルーマ予測モードでコーディングされ得、CU内の左上ルーマブロックのルーマ予測モードは、同じクロマ予測モードと同じであり得る。
[0138]ビデオエンコーダ20はさらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、GOP中のいくつかのフレームを記述することができ、フレームシンタックスデータは、対応するフレームを符号化するために使用された符号化/予測モードを示すことができる。
[0139]本開示は、適応色空間コンバージョンとともに、デブロックフィルタリングプロセスにおける、量子化パラメータのシグナリングと、量子化パラメータの使用とに関連した追加の問題に対処するための技法も含む。たとえば、本開示は、rqt_root_cbfが0に等しく、変換ブロック中に非ゼロ係数がないシナリオなど、ブロックについて色変換フラグが存在しないコーディングシナリオにおいて動作するように、ビデオエンコーダ20とビデオデコーダ30とを構成するための技法を含む。さらに、本開示は、1つのシーケンス、またはピクチャ、またはスライスに対して色変換が有効にされているコーディングシナリオにおいて、デルタQP値を、ビデオエンコーダ20からビデオデコーダ30にシグナリングするための技法を含む。したがって、本開示は、ループ内色空間変換に関連したコーディング性能を向上させるための、いくつかの可能な解決策を提供する。
[0140]説明のために、本開示は、3つの色成分(すなわちR、G、およびB)のための量子化パラメータ(QP)のデルタ値のセットを、deltaQPC0、deltaQPC1、およびdeltaQPC2と記し、これらは、色変換が有効にされているブロックについてのQPのオフセットを示す。上述した方法で決定されたルーマおよびクロマ量子化パラメータについて、略語qPが使われる。
[0141]本開示の技法によると、有効にされた色変換でコーディングされたブロックに対して、量子化解除プロセスおよび/またはデブロッキングフィルタプロセスにおいて使われる最終QPは、3つの色成分に対してqP0+deltaQPC0、qP1+deltaQPC1、qP2+deltaQPC2となるように修正される。qPcIdxは、0、1、2に等しいcIdxを入力としてもつ、HEVC範囲拡張作業草案7(RExt WD7)のサブクローズ8.6.1において定義されている、従来のQP導出プロセスの出力である。
[0142]本開示の1つの技法によると、ブロックに対して色変換フラグが存在しない場合、ビデオエンコーダ20および/またはビデオデコーダ30は、デブロッキングフィルタプロセス中に色変換が無効にされている(disabled)かのようにブロックを扱う。色変換フラグは、たとえば、インターもしくはイントラBCモードに対してrqt_root_cbfが0に等しいとき、またはブロックが従来のイントラモードでコーディングされているが、クロマモードがDMモードに等しくないとき、存在しない場合がある。クロマブロックが辞書モードを使ってコーディングされているとき、クロマブロックは、区分サイズが2N×2Nに等しいときのルーマ予測ユニットと、または区分サイズがN×Nに等しいときの左上ルーマ予測ユニットと同じ予測モードを有する。1つのイントラコード化CUが、1つのルーマ予測モード(区分サイズは2N×2Nに等しい)または4つのルーマ予測モード(区分サイズはN×Nに等しい)を有する場合があるが、イントラコード化CUは、区分サイズにかかわらず1つのクロマ予測モードのみを有し得ることに留意されたい。HEVCスクリーンコンテンツコーディングにおいて、色変換フラグは、クロマモードが辞書モードに等しいときにのみシグナリングされる。
[0143]本開示の別の技法によると、ブロックに対して色変換フラグが存在しないとき、ビデオエンコーダ20およびビデオデコーダ30は、デブロッキングフィルタプロセス中に色変換が有効にされているかのようにブロックを扱うように構成され得る。そのような事例において、ビデオエンコーダ20およびビデオデコーダ30は、デブロックフィルタリングプロセスのための境界強度の決定中に、修正QP(デルタQPを含む)を使うように構成され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、修正QPに依存し得る、ルーマ/クロマエッジの境界強度を最初に決定し得る。
[0144]一例では、ビデオエンコーダ20および/またはビデオデコーダ30が、あるブロックを、色変換が有効にされているものとして扱う場合、ビデオエンコーダ20および/またはビデオデコーダ30は、量子化解除プロセスにおいて使われるものと同じであり得るルーマ/クロマエッジの境界強度の決定において、(qP+deltaQPC0,qP+deltaQPC1,qP+deltaQPC2)を使用し得る。
[0145]代替として、有効にされた色変換でコーディングされたブロックに対して、ビデオエンコーダ20および/またはビデオデコーダ30は、量子化解除およびデブロッキングフィルタプロセスにおいて異なる量子化パラメータを使用し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、量子化解除プロセスにおいて(qP0+deltaQPC0,qP1+deltaQPC1,qP2+deltaQPC2)を使うとともに、ルーマ/クロマエッジの境界強度の決定において、(qP0+deltaQPC0,qP1+deltaQPC0,qP2+deltaQPC0)を使用し得る。代替として、ビデオエンコーダ20および/またはビデオデコーダ30は、修正された量子化パラメータを、ただ1つの成分に対して使用し得る。たとえば、1つのブロックが、色変換を使うものとしてコーディングされる/扱われる場合、ビデオエンコーダ20および/またはビデオデコーダ30は、(qP0+deltaQPC0,qP1,qP2)を使用し得る。
[0146]別の例では、DMモードではなくイントラモードを使ってブロックがコーディングされているとき、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックがデブロッキングプロセス中に色変換を使うものとして扱われることを扱うことができる。つまり、修正QP(すなわち、デルタQPを含む)は、境界強度の決定中に使われる。別の例では、デブロッキングフィルタプロセスにおいて、ブロックを、色変換を使うものとして扱うか否かは、シーケンスタイプ依存であり得る。たとえば、RGBコーディングの場合、ビデオエンコーダ20および/またはビデオデコーダ30は、より多くのブロックが色変換を選択することが好まれるので、色変換を使うものとして、ブロックをコーディングすることを用いてもよく、YCbCrコーディングの場合、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックを、色変換を有するものとして扱う。
[0147]本開示の技法の別の例によると、あるブロックに対して色変換フラグが存在しないとき、ビデオエンコーダ20および/またはビデオデコーダ30が、デブロッキングフィルタプロセスにおいて色変換を使うものとしてブロックを扱うか否かは、モード依存であり得る。一例では、イントラBCおよびインターモードでコーディングされたブロックの場合、インターまたはイントラBCモードに対してrqt_root_cbfが0に等しい、すなわち、非ゼロ係数がないとき、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックを、色変換を使うものとして扱う。イントラモードに対して、色変換フラグが存在しない場合の間、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックを、色変換が無効にされているものとして扱う。
[0148]別の例では、あるブロックに対して色変換フラグが存在しないとき、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックを、デブロッキングフィルタプロセス用に、色変換が有効にされているか、それとも無効にされているものとして扱うかを、入力シーケンスのフォーマットに依存するものとして決定する。一例では、RGBフォーマットでのシーケンスに対して、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックを、色変換が有効にされているものとして扱う。別の例では、YUV/YCbCrフォーマットでのシーケンスに対して、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックを、色変換が無効にされているものとして扱う。
[0149]本開示の別の技法によると、量子化解除および/またはデブロッキングフィルタプロセスにおいて、修正QPが使われるときであっても、ビデオエンコーダ20および/またはビデオデコーダ30は依然として、未修正QPを、後に続くコード化CUについての予測子として使用し得る。たとえば、第1のブロックが色空間変換モードを使って符号化されているかどうかにかかわらず、したがって、第1のブロックの変換係数が、修正された量子化パラメータを使って量子化解除されるかどうかにかかわらず、ビデオエンコーダ20は、ビデオデコーダ30に、第2のブロックのための量子化パラメータを、第1のブロックのための未修正量子化パラメータと、第2のブロックのための未修正量子化パラメータとの間の差分としてシグナリングする。
[0150]代替として、ビデオエンコーダ20および/またはビデオデコーダ30は、修正QPを、後に続くコード化CUについての予測子として使うこともできる。
[0151]図6は、色空間コンバージョンプロセスを使用してビデオブロックを符号化するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
[0152]図6に示されているように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図6の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、区分ユニット48とを含む。モード選択ユニット40は、イントラBCモードモジュールなど、選択されたモードに基づく他のユニットも含み得る。ビデオブロックの再構築のために、ビデオエンコーダ20は、また、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。デブロッキングフィルタ(図6に図示せず)も、再構築されたビデオからブロッキネスアーティファクトを除去するために、ブロック境界をフィルタリングするために含まれ得る。典型的な例において、加算器62は、デブロッキングフィルタの出力を受信する。追加のフィルタ(ループ内またはループ後)もデブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されていないが、必要な場合、(ループ内フィルタとして)加算器50の出力をフィルタリングすることができる。
[0153]符号化プロセス中に、ビデオエンコーダ20は符号化されるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに基づいてビデオブロックのインター予測コーディングを実施する。ビデオエンコーダ20は、たとえば、ビデオデータの各ブロックに適切なコーディングモードを選択するために、複数のコーディングパスを実施し得る。
[0154]動き推定ユニット42および動き補償ユニット44は、高度に統合される場合があるが、概念的な目的のために別々に示されている。動き推定ユニット42によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム内でコーディングされている現在のブロック(または、他のコーディングユニット)に対する、参照フレーム内の予測ブロック(または、他のコーディングユニット)に対する、現在のビデオフレーム内またはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、完全なピクセル位置および分数ピクセル位置に対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
[0155]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックに関するPUの動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0156]動き補償ユニット44によって実施される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴い得る。同じく、動き推定ユニット42および動き補償ユニット44は、いくつかの例では、機能的に統合され得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいてそれを指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成し得る。概して、動き推定ユニット42は、ルーマ成分に対して動き推定を実施し、動き補償ユニット44は、クロマ成分とルーマ成分の両方について、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際のビデオデコーダ30による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
[0157]イントラ予測ユニット46は、上述されたように、動き推定ユニット42と動き補償ユニット44とによって実施されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから、使用するのに適切なイントラ予測モードを選択し得る。
[0158]たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに対して、レート歪み分析を使用してレート歪みの値を計算し、テストされたモードの中から最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックの最も良好なレート歪み値を呈するかを決定するために、様々な符号化ブロックのための歪みおよびレートから比を計算し得る。
[0159]ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックのための符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
[0160]イントラ予測ユニット46は、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに基づいて、ビデオブロックのイントラ予測コーディングを実施し得る。さらに、区分ユニット48は、前のコーディングパス内の前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分することができる。たとえば、区分ユニット48は、最初にフレームまたはスライスをLCUに区分し、レート歪み分析(たとえば、レート歪み最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらに、LCUをサブCUに区分することを示す4分木データ構造を生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと1つまたは複数のTUとを含み得る。
[0161]モード選択ユニット40は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの1つを選択し得、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器50に与え、および参照フレームとして使用するための符号化ブロックを再構築するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器62に与え得る。モード選択ユニット40はまた、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0162]ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって残差ビデオブロックを形成し得る。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に類似する変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを作る。変換処理ユニット52は、DCTに概念的に同様である他の変換を実施し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。どの場合においても、変換処理ユニット52は、残差ブロックに変換を適用して、残差変換係数のブロックを作る。変換は、ピクセル値領域からの残差情報を、周波数領域などの変換領域にコンバートし得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット56が走査を実施し得る。
[0163]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実施し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコーディングの後に、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または後で送信するかもしくは取り出すためにアーカイブされ得る。
[0164]本開示の技法によると、ビデオエンコーダ20のエントロピー符号化ユニット56は、本開示の1つまたは複数の技法を実施し得る。たとえば、ビデオエンコーダ20のエントロピー符号化ユニット56がビデオデータのCUを符号化する。ビデオデータを符号化する際、色空間コンバージョンユニット51は、色空間コンバージョンを使ってCUを符号化するかどうか決定し得る。色成分について、量子化ユニット54は、色成分のための初期QPを決定し、CUが色空間コンバージョンを使って符号化されていることに基づいて、色成分のための最終QPが色成分の初期QPと色成分のための非ゼロQPオフセットの和に等しくなるように、色成分のための最終QPを設定することができる。量子化ユニット54は、色成分のための最終QPに基づいて、CUのための係数ブロックを量子化することができ、CUのための係数ブロックは色成分のサンプル値に基づく。各係数が量子化されると、エントロピー符号化ユニット56は、量子化された係数ブロックの各々を表す1つまたは複数のエントロピー符号化シンタックス要素を備えるビデオデータビットストリームをさらに出力することができる。
[0165]逆量子化ユニット58および逆変換ユニット60は、(たとえば、参照ブロックとして後で使用するために)ピクセル領域において残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに加えることによって参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構築された残差ブロックに1つまたは複数の補間フィルタを適用し得る。加算器62は、参照ピクチャメモリ64に記憶するための再構築されたビデオブロックを生成するために、動き補償ユニット44によって生成された動き補償予測ブロックに、再構築された残差ブロックを加える。再構築されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0166]ビデオエンコーダ20は、ビデオデータの第1のブロックのための量子化パラメータを決定することと、ビデオデータの第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第1のブロックのための量子化パラメータを修正することと、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化プロセスを実施することと、ビデオデータの第2のブロックのための量子化パラメータを決定することと、第1のブロックのための量子化パラメータと第2のブロックのための量子化パラメータとの間の差分値をシグナリングすることと、を行うように構成されたビデオエンコーダの例を表す。
[0167]図7は、色空間コンバージョンプロセスを使用してそのうちのいくつかが符号化された、ビデオブロックを復号するための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図7の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。ビデオデコーダ30は、イントラBCユニットなど、他のユニットも含み得る。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図6)に関して説明された符号化パスとは概して逆の復号パスを実施し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信されたシンタックス要素から決定された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。いくつかの例では、イントラ予測ユニット74は、いくつかのイントラ予測モードインジケータを推測し得る。
[0168]復号プロセス中に、ビデオデコーダ30は、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す、符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、シンタックス要素を動き補償ユニット72に転送する。
[0169]本開示の技法によると、ビデオデコーダ30は、本開示の1つまたは複数の技法を実施し得る。たとえば、ビデオデコーダ30のエントロピー復号ユニット70がビデオデータのコーディングユニット(CU)を復号する。ビデオデータを復号する際、ビデオデコーダ30の逆色空間コンバージョンユニット79は、CUが、色空間コンバージョンを使って符号化されたと決定し得る。色成分について、ビデオデコーダ30の逆量子化ユニット76は、色成分のための初期量子化パラメータ(QP)を決定することができ、CUが色空間コンバージョンを使って符号化されていることに基づいて、色成分のための最終QPが色成分の初期QPと色成分のための非ゼロQPオフセットの和に等しくなるように、色成分のための最終QPを決定する。ビデオデコーダ30の逆量子化ユニット76は、色成分のための最終QPに基づいて、CUのための係数ブロックを逆量子化することができ、CUのための係数ブロックは色成分のサンプル値に基づく。各係数ブロックが逆量子化されると、ビデオデコーダ30の加算器80は、コーディングユニットのための逆量子化された係数ブロックに基づいて、CUを再構築することができる。
[0170]イントラ予測ユニット74は、スライスがIスライス、Pスライス、またはBスライスであるとき、予測ブロックを生成するのに、イントラ予測モードを使用し得る。言い換えると、単または双方向インター予測を可能にするイントラ予測ブロックをスライス中に有することができる。ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照ピクチャリストと、リスト0と、リスト1とを構築することができる。動き補償ユニット72は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックの予測ブロックを生成する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構築情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
[0171]逆量子化ユニット76は、ビットストリーム中で与えられエントロピー復号ユニット70によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、量子化の程度を決定し、同様に適用されるべき逆量子化の程度を決定するために、ビデオスライス中の各ビデオブロックに関してビデオデコーダ30によって計算される量子化パラメータQPYの使用を含み得る。
[0172]ビデオデコーダ30は、ビデオデータの第1のブロックを受信し、第1のブロックのための量子化パラメータを決定するための情報を受信することと、第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第1のブロックのための量子化パラメータを修正することと、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化解除プロセスを実施することと、ビデオデータの第2のブロックを受信することと、第2のブロックについて、第2のブロックのための量子化パラメータと第1のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第1のブロックのための量子化パラメータに基づいて、第2のブロックのための量子化パラメータを決定することと、第2のブロックのための決定された量子化パラメータに基づいて、第2のブロックを復号することとを行うように構成され得るビデオデコーダの例を表す。ビデオデコーダ30は、第1のブロックのための修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定し、第1のブロックに対してデブロックフィルタリングプロセスを実施することもできる。
[0173]色空間変換モードがビデオデータの第2のブロックに対して有効にされていると決定したことに応答して、ビデオデコーダ30は、第2のブロックのための決定された量子化パラメータを修正し、第2のブロックのための修正された量子化パラメータに基づいて第2のブロックについての量子化解除プロセスを実施することによって、第2のブロックのための決定された量子化パラメータに基づいて、第2のブロックを復号することができる。ビデオデコーダ30は、色空間変換モードが第2のブロックに対して無効にされていると決定したことに応答して、第2のブロックのための決定された量子化パラメータに基づいて第2のブロックについての量子化解除プロセスを実施することによって、第2のブロックのための決定された量子化パラメータに基づいて、第2のブロックを復号することもできる。
[0174]ビデオデコーダ30は、ビデオデータの第1のブロックが、第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定するための、第1のブロックについてのフラグを受信し得る。ビデオデコーダ30は、第1のブロックのための量子化パラメータについての初期値を受信することによって、第1のブロックのための量子化パラメータを決定するための情報を受信することができる。ビデオデコーダ30は、スライスレベルで初期値を受信し得る。ビデオデコーダ30は、第2のブロックのための量子化パラメータと第1のブロックのための量子化パラメータとの間の差分を示す差分値を、コーディングされたユニットレベル(at a coded unit level)で受信し得る。第2のブロックのための量子化パラメータと第1のブロックのための量子化パラメータとの間の差分を示す差分値を受信するために、ビデオデコーダ30は、差分の絶対値を示すシンタックス要素を受信し、差分の符号を示すシンタックス要素を受信し得る。
[0175]上記技法のいくつかの例示的実装形態では、不可欠なシンタックス要素が、シーケンスパラメータセット中に見られ得る。以下のテーブルにおいて、イタリック体テキストは、HEVC規格の現在の草案に対する追加を表す。ボールドテキストは、シンタックス要素を示す。いくつかの例では、シーケンスパラメータセットRBSPが、以下のシンタックスを有し得る。
Figure 0006929647
[0176]この例では、1に等しいcolor_transform_enabled_flagは、色変換が有効にされていることを示す。シンタックス要素color_transform_enabled_flagが0に等しいとき、色変換は有効にされない。シンタックス要素lossless_enable_flagが1に等しいとき、可逆コーディングが適用される。さらに、color_transform_enabled_flagが1に等しいとき、オリジナルYCoCg−R変換が使われる。シンタックス要素lossless_enable_flagが0に等しいとき、不可逆コーディングが適用される。さらに、color_transform_enabled_flagが1に等しいとき、オリジナルYCoCg変換が使われる。
[0177]代替として、新規導入フラグは、chroma_format_idcが3に等しいときのみ、シグナリングされ得る。
Figure 0006929647
[0178]代替として、新規導入フラグは、chroma_format_idcが3に等しく、4:4:4クロマフォーマットの3つの色成分が別個にコーディングされないときのみ、シグナリングされ得る。そのために、上記条件「if(chroma_format_idc==3)」は、「if(chroma_format_idc==3&&!separate_colour_plane_flag)」で置き換えられ得る。
[0179]さらに、color_transform_enabled_flagが1に等しいとき、chroma_format_idcは3に等しくなり得るという制約が適用され得る。代替として、さらに、color_transform_enabled_flagが1に等しいとき、separate_colour_plane_flagは0に等しくなり得る。
[0180]いくつかの例では、コーディングユニットが、以下のシンタックスを有し得る。
Figure 0006929647
Figure 0006929647
[0181]上記例では、イントラモードの場合、色変換フラグが最初にシグナリングされる。このフラグが1に等しいとき、intra_chroma_pred_modeのシグナリングはスキップされてよく、ここにおいて、クロマ成分は、ルーマと同じモードを共有する。
[0182]代替として、いくつかの例では、コーディングユニットが、以下のシンタックスを有し得る。
Figure 0006929647
Figure 0006929647
[0183]代替として、イントラBCモードがイントラモードと見なされる、つまり、対応するCuPredMode[x0][y0]がMODE_INTRAに等しいとき、上記の強調表示された条件「if(color_transform_enabled_flag&&(CuPredMode[x0][y0]==MODE_INTER||!intra_chroma_pred_mode[x0][y0])」は、「if(color_transform_enabled_flag&&(CuPredMode[x0][y0]==MODE_INTER||intra_bc_flag[x0][y0]||!intra_chroma_pred_mode[x0][y0])」で置き換えられ得る。代替として、上のすべての例において、CuPredMode[x0][y0]==MODE_INTERは、CuPredMode[x0][y0]!=MODE_INTRAで置き換えられ得る。
[0184]代替として、上記条件「if(color_transform_enabled_flag&&(CuPredMode[x0][y0]==MODE_INTER||!intra_chroma_pred_mode[x0][y0])」は、単に「if(color_transform_enabled_flag)」で置き換えられ得る。この場合、color_transform_enabled_flagが1に等しく、現在のCUがイントラコーディングされているとき、クロマおよびルーマモードが同じであるという制約が満足され得る。
[0185]以下の変更は、現在のCU/PU/TUが可逆コーディングされていないとき(すなわち、cu_transquant_bypass_flagが0に等しいとき)に呼び出され得る。一例では、量子化解除プロセスにおいて使われるQPは、色変換が適用されると変わり得る。ただし、デブロッキングプロセスにおいて使われるQpYは不変であってよく、すなわち、デルタQP(deltaQPC0)が考慮されない。
[0186]復号プロセスにおいて、量子化パラメータについての導出プロセスに対して、このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション(xCb,yCb)である。このプロセスでは、変数QpY、ルーマ量子化パラメータQp’Y、ならびにクロマ量子化パラメータQp’CbおよびQp’Crが導出される。
[0187]ルーマロケーション(xQg,yQg)は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置xQgおよび垂直位置yQgは、それぞれ、xCb−(xCb&((1<<Log2MinCuQpDeltaSize)−1))およびyCb−(yCb&((1<<Log2MinCuQpDeltaSize)−1))に等しく設定される。量子化グループのルーマサイズ、Log2MinCuQpDeltaSizeは、同じqPY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
[0188]予測ルーマ量子化パラメータqPY_PREDは以下の順序付きステップによって導出され得る。1)変数qPY_PREVが導出され得る。次の条件のうちの1つまたは複数が真である場合、qPY_PREVはSliceQpYに等しく設定される。すなわち、現在の量子化グループがスライス中の第1の量子化グループであるか、現在の量子化グループがタイル中の第1の量子化グループであるか、または現在の量子化グループがコーディングツリーブロック行中の第1の量子化グループであるとともにentropy_coding_sync_enabled_flagが1に等しい。そうでない場合、qPY_PREVは、復号順序で、前の量子化グループ中の最後のコーディングユニットのルーマ量子化パラメータQpYに等しく設定される。
[0189]2)z走査順序での、ブロックのための利用可能性導出プロセスが、(xCb,yCb)に等しく設定されたロケーション(xCurr,yCurr)、および(xQg−1,yQg)に等しく設定された隣接ロケーション(xNbY,yNbY)を入力として呼び出され、出力はavailableAに割り当てられる。変数qPY_Aは次のように導出される。次の条件のうちの1つまたは複数が真である場合、qPY_AはqPY_PREVに等しく設定される。すなわち、availableAがFALSEに等しいか、またはルーマロケーション(xQg−1,yQg)をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスctbAddrAがCtbAddrInTsに等しくなく、ここでctbAddrAは次のように導出される。
Figure 0006929647
そうでない場合、qPY_Aは、(xQg−1,yQg)をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータQpYに等しく設定される。
[0190]3)z走査順序での、ブロックのための利用可能性導出プロセスが、(xCb,yCb)に等しく設定されたロケーション(xCurr,yCurr)、および(xQg,yQg−1)に等しく設定された隣接ロケーション(xNbY,yNbY)を入力として呼び出される。出力はavailableBに割り当てられる。変数qPY_Bが導出される。次の条件のうちの1つまたは複数が真である場合、qPY_BはqPY_PREVに等しく設定される。すなわち、availableBがFALSEに等しいか、またはルーマロケーション(xQg,yQg−1)をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスctbAddrBがCtbAddrInTsに等しくなく、ここでctbAddrBは次のように導出される。
Figure 0006929647
そうでない場合、qPY_Bは、(xQg,yQg−1)をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータQpYに等しく設定される。
[0191]予測ルーマ量子化パラメータqPY_PREDは次のように導出され得る。
Figure 0006929647
[0192]変数QpYは次のように導出され得る。
Figure 0006929647
[0193]ルーマ量子化パラメータQp’Yは次のように導出され得る。
Figure 0006929647
[0194]ChromaArrayTypeが0に等しくないとき、変数qPiCbおよびqPiCrは次のように導出される。
Figure 0006929647
[0195]ChromaArrayTypeが1に等しい場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、QpCの値に等しく設定される。そうでない場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、Min(qPi,51)に等しく設定される。
[0196]CbおよびCr成分のクロマ量子化パラメータQp’CbおよびQp’Crは、次のように導出される。
Figure 0006929647
[0197]1に等しいChromaArrayTypeのためのqPiに応じたQpcの指定は、次のようになる。
Figure 0006929647
[0198]量子化解除プロセスでは、各成分インデックス(cIdx)のための量子化パラメータqPが導出され得る。このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマロケーション(xTbY,yTbY)と、コーディングブロックに対する現在のブロックの階層深度を指定する変数trafoDepthと、現在のブロックの色成分を指定する変数cIdxと、現在の変換ブロックのサイズを指定する変数nTbSとであり得る。このプロセスの出力は、要素r[x][y]をもつ残差サンプルrの(nTbS)×(nTbS)アレイであり得る。
[0199]量子化パラメータqPが導出され得る。cIdxが0に等しい場合、
Figure 0006929647
そうではなく、cIdxが1に等しい場合、
Figure 0006929647
そうでない(cIdxが2に等しい)場合、
Figure 0006929647
[0200]一例では、deltaQPC0、deltaQPC1およびdeltaQPC2は、それぞれ、−5、−5および−3にセットされ得る。別の例では、デブロッキングプロセスにおいて使われるQpYは不変であり、すなわち、デルタQP(deltaQPC0)が考慮される。復号プロセスでは、量子化パラメータのための導出プロセスに対して、このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション(xCb,yCb)であり得る。このプロセスでは、変数QpY、ルーマ量子化パラメータQp’Y、ならびにクロマ量子化パラメータQp’CbおよびQp’Crが導出され得る。
[0201]ルーマロケーション(xQg,yQg)は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置xQgおよび垂直位置yQgは、それぞれ、xCb−(xCb&((1<<Log2MinCuQpDeltaSize)−1))およびyCb−(yCb&((1<<Log2MinCuQpDeltaSize)−1))に等しく設定される。量子化グループのルーマサイズ、Log2MinCuQpDeltaSizeは、同じqPY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
[0202]予測ルーマ量子化パラメータqPY_PREDは以下の順序付きステップによって導出され得る。1)変数qPY_PREVが導出され得る。次の条件のうちの1つまたは複数が真である場合、qPY_PREVはSliceQpYに等しく設定される。すなわち、現在の量子化グループがスライス中の第1の量子化グループであるか、現在の量子化グループがタイル中の第1の量子化グループであるか、または現在の量子化グループがコーディングツリーブロック行中の第1の量子化グループであるとともにentropy_coding_sync_enabled_flagが1に等しい。そうでない場合、qPY_PREVは、復号順序で、前の量子化グループ中の最後のコーディングユニットのルーマ量子化パラメータQpYに等しく設定される。
[0203]2)z走査順序での、ブロックのための利用可能性導出プロセスが、(xCb,yCb)に等しく設定されたロケーション(xCurr,yCurr)、および(xQg−1,yQg)に等しく設定された隣接ロケーション(xNbY,yNbY)を入力として呼び出され、出力はavailableAに割り当てられる。変数qPY_Aは次のように導出される。次の条件のうちの1つまたは複数が真である場合、qPY_AはqPY_PREVに等しく設定される。すなわち、availableAがFALSEに等しいか、またはルーマロケーション(xQg−1,yQg)をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスctbAddrAがCtbAddrInTsに等しくなく、ここでctbAddrAは次のように導出される。
Figure 0006929647
そうでない場合、qPY_Aは、(xQg−1,yQg)をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータQpYに等しく設定される。
[0204]3)z走査順序での、ブロックのための利用可能性導出プロセスが、(xCb,yCb)に等しく設定されたロケーション(xCurr,yCurr)、および(xQg,yQg−1)に等しく設定された隣接ロケーション(xNbY,yNbY)を入力として呼び出される。出力はavailableBに割り当てられる。変数qPY_Bが導出される。次の条件のうちの1つまたは複数が真である場合、qPY_BはqPY_PREVに等しく設定される。すなわち、availableBがFALSEに等しいか、またはルーマロケーション(xQg,yQg−1)をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスctbAddrBがCtbAddrInTsに等しくなく、ここでctbAddrBは次のように導出される。
Figure 0006929647
そうでない場合、qPY_Bは、(xQg,yQg−1)をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータQpYに等しく設定される。
[0205]予測ルーマ量子化パラメータqPY_PREDは次のように導出され得る。
Figure 0006929647
[0206]変数QpYは次のように導出され得る。
Figure 0006929647
[0207]ルーマ量子化パラメータQp’Yは次のように導出され得る。
Figure 0006929647
[0208]ChromaArrayTypeが0に等しくないとき、変数qPiCbおよびqPiCrは次のように導出され得る。
Figure 0006929647
[0209]ChromaArrayTypeが1に等しい場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、QpCの値に等しく設定され得る。そうでない場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、Min(qPi,51)に等しく設定され得る。CbおよびCr成分のクロマ量子化パラメータQp’CbおよびQp’Crは、次のように導出され得る。
Figure 0006929647
1に等しいChromaArrayTypeのためのqPiに応じたQpcの指定は、次のようになり得る。
Figure 0006929647
Figure 0006929647
[0210]量子化解除プロセスでは、各成分インデックス(cIdx)のための量子化パラメータqPが、次のように導出され得る。cIdxが0に等しい場合、
Figure 0006929647
そうではなく、cIdxが1に等しい場合、
Figure 0006929647
そうでない(cIdxが2に等しい)場合、
Figure 0006929647
[0211]一例では、deltaQPC0、deltaQPC1およびdeltaQPC2は、それぞれ、−5、−5および−3に設定され得る。
[0212]いくつかの例示的な実装詳細について、ここで記載する。以下では、シンタックス要素およびセマンティクスの変更について、以下から入手可能な、JCTVC−Q1005_v4、David Flynnら、「High Efficiency Video Coding(HEVC)Range Extensions文書仕様:ドラフト7、JCTVC-Q1005_v4、ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11のビデオコーディング共同研究部会(JCT−VC)、第17回会合:スペイン、バレンシア、2014年3月27日〜4月4日における対応するシンタックス要素およびセマンティクスと比較して記載する。
http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zip
[0213]新規追加部分は、ボールドまたはイタリック、すなわち、太字体または斜字体で強調表示され、削除部分は、括弧の中のボールド、たとえば、[[削除されたテキスト]]として記される。イタリック部分は、本開示における提案される技法に関連する。
Figure 0006929647
1に等しいcolor_transform_enabled_flagは、色変換が有効にされていることを示す。0に等しいcolor_transform_enabled_flagは、色変換が有効にされていないことを示す。
1に等しいlossless_enable_flagは、可逆コーディングが適用されることを示す。さらに、color_transform_enabled_flagが1に等しいとき、オリジナルYCoCg−R変換が使われる。
0に等しいlossless_enable_flagは、不可逆コーディングが適用されることを示す。さらに、color_transform_enabled_flagが1に等しいとき、オリジナルYCoCg変換が使われる。
Figure 0006929647
Figure 0006929647
Figure 0006929647
[0214]以下において例#1と呼ばれる第1の例について、ここで記載する。上述したように、この例#1における新規追加部分は、ボールドまたはイタリック、すなわち、太字体または斜字体で強調表示され、削除部分は、括弧の中のボールド、たとえば、[[削除されたテキスト]]として記される。イタリック部分は、本開示における提案される技法に関連する。
この例では、defaultValは0に等しい。
8.4.1 イントラ予測モードでコーディングされたコーディングユニットのための一般的な復号プロセス
このプロセスへの入力は、以下の通りである。
− ...
このプロセスの出力は、デブロッキングフィルタリング前の、修正された再構築ピクチャである。
サブクローズ8.6.1において規定された量子化パラメータのための導出プロセスは、ルーマロケーション(xCb,yCb)を入力として呼び出される。
変数nCbSは、1<<log2CbSizeに等しくセットされる。
pcm_flag[xCb][yCb]およびIntraSplitFlagの値に依存して、ルーマサンプルのための復号プロセスは、次のように規定される。
− pcm_flag[xCb][yCb]が1に等しい場合、再構築ピクチャは、次のように修正される。
...
− そうではなく(pcm_flag[xCb][yCb]が0に等しい)、IntraSplitFlagが0に等しい場合、以下の順序付きステップが適用される。
1. intra_bc_flag[xCb][yCb]が0に等しいとき、サブクローズ8.4.2において規定されたイントラ予測モードについての導出プロセスは、ルーマロケーション(xCb,yCb)を入力として呼び出される。
2. intra_bc_flag[xCb][yCb]が1に等しいとき、サブクローズ8.4.4において規定されたイントラブロック複写予測モードでの、ブロックベクトル成分についての導出プロセスは、ルーマロケーション(xCb,yCb)および変数log2CbSizeを入力として呼び出され、出力はbvIntraである。
Figure 0006929647
− そうでない(pcm_flag[xCb][yCb]が0に等しく、IntraSplitFlagが1に等しい)場合、値0..3にわたって進む変数blkIdxに対して、以下の順序付きステップが適用される。
1. 変数xPbは、xCb+(nCbS>>1)*(blkIdx%2)に等しくセットされる。
2. 変数yPbは、yCb+(nCbS>>1)*(blkIdx/2)に等しくセットされる。
3. サブクローズ8.4.2において規定されたイントラ予測モードについての導出プロセスが、ルーマロケーション(xPb,yPb)を入力として呼び出される。
Figure 0006929647
ChromaArrayTypeが0に等しくないとき、以下が適用される。
変数log2CbSizeCは、
Figure 0006929647
に等しくセットされる。
pcm_flag[xCb][yCb]およびIntraSplitFlagの値に依存して、クロマサンプルのための復号プロセスは、次のように規定される。
− pcm_flag[xCb][yCb]が1に等しい場合、再構築ピクチャは、次のように修正される。
...
− そうではなく(pcm_flag[xCb][yCb]が0に等しい)、IntraSplitFlagが0に等しいか、またはChromaArrayTypeが3に等しくない場合、以下の順序付きステップが適用される。
1. intra_bc_flag[xCb][yCb]が0に等しいとき、8.4.3において規定されたクロマイントラ予測モードについての導出プロセスが、ルーマロケーション(xCb,yCb)を入力として呼び出され、出力は、変数IntraPredModeCである。
Figure 0006929647
− そうでない(pcm_flag[xCb][yCb]が0に等しく、IntraSplitFlagが1に等しく、ChromaArrayTypeが3に等しい)場合、値0..3にわたって進む変数blkIdxに対して、以下の順序付きステップが適用される。
1. 変数xPbは、xCb+(nCbS>>1)*(blkIdx%2)に等しくセットされる。
2. 変数yPbは、yCb+(nCbS>>1)*(blkIdx/2)に等しくセットされる。
3. 8.4.3において規定されたクロマイントラ予測モードについての導出プロセスが、ルーマロケーション(xPb,yPb)を入力として呼び出され、出力は、変数IntraPredModeCである。
Figure 0006929647
現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマサンプルロケーション(xTbY,yTbY)は、次のように導出される。
Figure 0006929647
変数splitFlagは次のように導出される。
− cIdxが0に等しい場合、splitFlagは、split_transform_flag[xTbY][yTbY][trafoDepth]に等しくセットされる。
− そうではなく、次の条件のすべてが真である場合、splitFlagは1に等しくセットされる。
− cIdxが0よりも大きい
− split_transform_flag[xTbY][yTbY][trafoDepth]が1に等しい
− log2TrafoSizeが2よりも大きい
− そうでない場合、splitFlagは0に等しくセットされる。
splitFlagの値に応じて、以下が適用される。
− splitFlagが1に等しい場合、次の順序付きステップが適用される。
...
− そうでない(splitFlagが0に等しい)場合、値0..(cIdx>0&&ChromaArrayType==2?1:0)にわたって進む変数blkIdxに対して、以下の順序付きステップが適用される。
1. 変数nTbSが1<<log2TrafoSizeに等しくセットされる。
2. 変数yTbOffsetがblkIdx*nTbSに等しくセットされる。
3. 変数yTbOffsetYがyTbOffset*SubHeightCに等しくセットされる。
Figure 0006929647
− 次の条件のすべてが真である場合、residualDpcmは1に等しくセットされる。
− implicit_rdpcm_enabled_flagが1に等しい。
− transform_skip_flag[xTbY][yTbY+yTbOffsetY][cIdx]が1に等しいか、またはcu_transquant_bypass_flagが1に等しい。
− predModeIntraが10に等しいか、またはpredModeIntraが26に等しい。
− そうでない場合、residualDpcmが、explicit_rdpcm_flag[xTbY][yTbY+yTbOffsetY][cIdx]に等しくセットされる。
Figure 0006929647
− predModeIntraBcが0に等しいとき、サブクローズ8.4.4.2.1において規定された一般的なイントラサンプル予測プロセスが、変換ブロックロケーション(xTb0,yTb0+yTbOffset)、イントラ予測モードpredModeIntra、変換ブロックサイズnTbS、および変数cIdxを入力として呼び出され、出力は、(nTbS)×(nTbS)アレイpredSamplesである。
− そうでない(predModeIntraBcが1に等しい)場合、サブクローズ8.4.4.2.7において規定されたイントラブロック複写プロセスが、変換ブロックロケーション(xTb0,yTb0+yTbOffset)、変換ブロックサイズnTbS、変数trafoDepth、変数bvIntra、および変数cIdxを入力として呼び出され、出力は、(nTbS)×(nTbS)アレイpredSamplesである。
Figure 0006929647
− predModeIntraBcが0に等しいとき、サブクローズ8.6.5において規定された、変換迂回を使う、ブロックについての指向性残差修正プロセスが、predModeIntra/26に等しくセットされた変数mDir、変数nTbS、およびアレイresSamplesに等しくセットされた(nTbS)×(nTbS)アレイrを入力として呼び出され、出力は、修正された(nTbS)×(nTbS)アレイresSamplesである。
− そうでない(predModeIntraBcが1に等しい)場合、サブクローズ8.6.5において規定された、変換迂回を使う、ブロックについての指向性残差修正プロセスが、explicit_rdpcm_dir_flag[xTbY][yTbY+yTbOffsetY][cIdx]に等しくセットされた変数mDir、変数nTbS、およびアレイresSamplesに等しくセットされた(nTbS)×(nTbS)アレイrを入力として呼び出され、出力は、修正された(nTbS)×(nTbS)アレイresSamplesである。
Figure 0006929647
Figure 0006929647
このプロセスへの入力は、以下の通りである。
− ...
このプロセスの出力は、以下の通りである。
...
rqt_root_cbfの値に応じて、以下が適用される。
− rqt_root_cbfが0に等しいか、またはskip_flag[xCb][yCb]が1に等しい場合、およびChromaArrayTypeが0に等しくないとき、(nCbSL)×(nCbSL)アレイresSamplesLのすべてのサンプル、ならびに2つの(nCbSwC)×(nCbShC)アレイresSamplesCbおよびresSamplesCrのすべてのサンプルが0に等しくセットされる。
− そうでない(rqt_root_cbfが1に等しい)場合、次の順序付きステップが適用される。
1. ...
2. ....
3. ChromaArrayTypeが0に等しくないとき、サブクローズ8.5.4.3において後で規定されるクロマ残差ブロックについての復号プロセスが、ルーマロケーション(xCb,yCb)、(0,0)に等しくセットされたルーマロケーション(xB0,yB0)、log2CbSizeに等しくセットされた変数log2TrafoSize、0に等しくセットされた変数trafoDepth、2に等しくセットされた変数cIdx、nCbSwCに等しくセットされた変数nCbSw、nCbShCに等しくセットされた変数nCbSh、および(nCbSwC)×(nCbShC)アレイresSamplesCrを入力として呼び出され、出力は、(nCbSwC)×(nCbShC)アレイresSamplesCrの修正バージョンである。
Figure 0006929647
8.6.1 量子化パラメータについての導出プロセス
このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション(xCb,yCb)を含む。
このプロセスでは、変数QpY、ルーマ量子化パラメータQp’Y、ならびにクロマ量子化パラメータQp’CbおよびQp’Crが導出される。
ルーマロケーション(xQg,yQg)は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置xQgおよび垂直位置yQgは、それぞれ、xCb−(xCb&((1<<Log2MinCuQpDeltaSize)−1))およびyCb−(yCb&((1<<Log2MinCuQpDeltaSize)−1))に等しくセットされる。量子化グループのルーマサイズ、すなわちLog2MinCuQpDeltaSizeは、同じqPY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
予測ルーマ量子化パラメータqPY_PREDは以下の順序付きステップによって導出される。
...
変数QpYは次のように導出される。
Figure 0006929647
Figure 0006929647
ルーマ量子化パラメータQp’Yは次のように導出される。
Figure 0006929647
ChromaArrayTypeが0に等しくないとき、以下が適用される。
− 変数qPiCbおよびqPiCrは次のように導出される。
Figure 0006929647
Figure 0006929647
− ChromaArrayTypeが1に等しい場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、テーブル8−10において指定されるようにQpCの値に等しくセットされる。
− そうでない場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、Min(qPi,51)に等しくセットされる。
− CbおよびCr成分のクロマ量子化パラメータQp’CbおよびQp’Crは、次のように導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
一例では、deltaQPC0、deltaQPC1およびdeltaQPC2は、それぞれ、−5、−5および−3にセットされる。別の例では、deltaQPC0、deltaQPC1およびdeltaQPC2は、それぞれ、−5、−5および−5にセットされる。
量子化解除プロセスでは、各成分インデックス(cIdx)のための量子化パラメータqPが次のように導出される。
8.6.2 スケーリングおよび変換プロセス
このプロセスへの入力は、以下の通りである。
− 現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマロケーション(xTbY,yTbY)、
− コーディングブロックに相対した現在のブロックの階層深度を指定する変数trafoDepth、
− 現在のブロックの色成分を指定する変数cIdx、
− 現在の変換ブロックのサイズを指定する変数nTbS。
このプロセスの出力は、要素r[x][y]をもつ残差サンプルの(nTbS)×(nTbS)アレイである。
量子化パラメータqPは、次のように導出される。
− cIdxが0に等しい場合、
Figure 0006929647
− そうではなく、cIdxが1に等しい場合、
Figure 0006929647
− そうでない(cIdxが2に等しい)場合、
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
[0215]以下では例#2と呼ばれる第2の例について、ここで記載する。上述したように、この例#2における新規追加部分は、ボールドまたはイタリック、すなわち、太字体または斜字体で強調表示され、削除部分は、ボールド体二重括弧、たとえば、[[削除されたテキスト]]として記される。イタリック部分は、本開示における提案される技法に関連する。下線付きボールド、すなわち、「下線付き太字体」の部分は、例#2と例#1との間の差分を強調表示する。
[0216]この例#2は、defaultValが1に等しいケースについての例を与える。
一例では、例#1についての上のセクションにおいて定義されているのと同じように扱われ得る。
[0217]代替として、あるブロックが、存在しないcolor_transform_flagでイントラコーディングされているが、color_transform_flagの値が1にリセットされているケースでの、色変換の誤った使用を避けるために、以下が適用され得る。
8.4.1 イントラ予測モードでコーディングされたコーディングユニットのための一般的な復号プロセス
このプロセスへの入力は、以下の通りである。
− ...
このプロセスの出力は、デブロッキングフィルタリング前の、修正された再構築ピクチャである。
サブクローズ8.6.1において規定された量子化パラメータのための導出プロセスは、ルーマロケーション(xCb,yCb)を入力として呼び出される。
変数nCbSは、1<<log2CbSizeに等しくセットされる。
pcm_flag[xCb][yCb]およびIntraSplitFlagの値に依存して、ルーマサンプルのための復号プロセスは、次のように規定される。
− pcm_flag[xCb][yCb]が1に等しい場合、再構築ピクチャは、次のように修正される。
...
− そうではなく(pcm_flag[xCb][yCb]が0に等しい)、IntraSplitFlagが0に等しい場合、以下の順序付きステップが適用される。
Figure 0006929647
2. intra_bc_flag[xCb][yCb]が0に等しいとき、サブクローズ8.4.2において規定されたイントラ予測モードについての導出プロセスは、ルーマロケーション(xCb,yCb)を入力として呼び出される。
3. intra_bc_flag[xCb][yCb]が1に等しいとき、サブクローズ8.4.4において規定されたイントラブロック複写予測モードでの、ブロックベクトル成分についての導出プロセスは、ルーマロケーション(xCb,yCb)および変数log2CbSizeを入力として呼び出され、出力はbvIntraである。
Figure 0006929647
− そうでない(pcm_flag[xCb][yCb]が0に等しく、IntraSplitFlagが1に等しい)場合、値0..3にわたって進む変数blkIdxに対して、以下の順序付きステップが適用される。
6. 変数xPbは、xCb+(nCbS>>1)*(blkIdx%2)に等しくセットされる。
7. 変数yPbは、yCb+(nCbS>>1)*(blkIdx/2)に等しくセットされる。
8. サブクローズ8.4.2において規定されたイントラ予測モードについての導出プロセスが、ルーマロケーション(xPb,yPb)を入力として呼び出される。
Figure 0006929647
ChromaArrayTypeが0に等しくないとき、以下が適用される。
変数log2CbSizeCは、
Figure 0006929647
に等しくセットされる。
pcm_flag[xCb][yCb]およびIntraSplitFlagの値に依存して、クロマサンプルのための復号プロセスは、次のように規定される。
− pcm_flag[xCb][yCb]が1に等しい場合、再構築ピクチャは、次のように修正される。
...
− そうではなく(pcm_flag[xCb][yCb]が0に等しい)、IntraSplitFlagが0に等しいか、またはChromaArrayTypeが3に等しくない場合、以下の順序付きステップが適用される。
4. intra_bc_flag[xCb][yCb]が0に等しいとき、8.4.3において規定されたクロマイントラ予測モードについての導出プロセスが、ルーマロケーション(xCb,yCb)を入力として呼び出され、出力は、変数IntraPredModeCである。
Figure 0006929647
− そうでない(pcm_flag[xCb][yCb]が0に等しく、IntraSplitFlagが1に等しく、ChromaArrayTypeが3に等しい)場合、値0..3にわたって進む変数blkIdxに対して、以下の順序付きステップが適用される。
6. 変数xPbは、xCb+(nCbS>>1)*(blkIdx%2)に等しくセットされる。
7. 変数yPbは、yCb+(nCbS>>1)*(blkIdx/2)に等しくセットされる。
8. 8.4.3において規定されたクロマイントラ予測モードについての導出プロセスが、ルーマロケーション(xPb,yPb)を入力として呼び出され、出力は、変数IntraPredModeCである。
Figure 0006929647
8.6.1 量子化パラメータについての導出プロセス
このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション(xCb,yCb)を含む。
このプロセスでは、変数QpY、ルーマ量子化パラメータQp’Y、ならびにクロマ量子化パラメータQp’CbおよびQp’Crが導出される。
ルーマロケーション(xQg,yQg)は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置xQgおよび垂直位置yQgは、それぞれ、xCb−(xCb&((1<<Log2MinCuQpDeltaSize)−1))およびyCb−(yCb&((1<<Log2MinCuQpDeltaSize)−1))に等しくセットされる。量子化グループのルーマサイズ、すなわちLog2MinCuQpDeltaSizeは、同じqPY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
予測ルーマ量子化パラメータqPY_PREDは以下の順序付きステップによって導出される。
...
Figure 0006929647

変数QpYは次のように導出される。
Figure 0006929647
Figure 0006929647
ルーマ量子化パラメータQp’Yは次のように導出される。
Figure 0006929647
ChromaArrayTypeが0に等しくないとき、以下が適用される。
− ...
− CbおよびCr成分のクロマ量子化パラメータQp’CbおよびQp’Crは、次のように導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
代替として、以下が適用され得る。
Figure 0006929647
代替として、以下が適用され得る。
Figure 0006929647
[0218]以下では例#3と呼ばれる第3の例について、ここで記載する。この例#3と、上述した例#2との間の差分は、ボールド、すなわち、太字体で強調表示される。この例3において、Qp’Y、Qp’CbおよびQp’Crは不変のままにされる。ただし、量子化解除およびデブロッキングフィルタプロセスは、色変換の使用を調べ、QPを修正する。
8.6.1 量子化パラメータについての導出プロセス
このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション(xCb,yCb)を含む。
このプロセスでは、変数QpY、ルーマ量子化パラメータQp’Y、ならびにクロマ量子化パラメータQp’CbおよびQp’Crが導出される。
ルーマロケーション(xQg,yQg)は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置xQgおよび垂直位置yQgは、それぞれ、
xCb−(xCb&((1<<Log2MinCuQpDeltaSize)−1))および
yCb−(yCb&((1<<Log2MinCuQpDeltaSize)−1))に等しくセットされる。量子化グループのルーマサイズ、すなわちLog2MinCuQpDeltaSizeは、同じqPY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
予測ルーマ量子化パラメータqPY_PREDは以下の順序付きステップによって導出される。
...
変数QpYは次のように導出される。
Figure 0006929647
Figure 0006929647
ルーマ量子化パラメータQp’Yは次のように導出される。
Figure 0006929647
ChromaArrayTypeが0に等しくないとき、以下が適用される。
− ...
− CbおよびCr成分のクロマ量子化パラメータQp’CbおよびQp’Crは、次のように導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
代替として、以下が適用され得る。
Figure 0006929647
代替として、以下が適用され得る。
Figure 0006929647
8.6.2 スケーリングおよび変換プロセス
このプロセスへの入力は、以下の通りである。
− 現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマロケーション(xTbY,yTbY)、
− コーディングブロックに相対した現在のブロックの階層深度を指定する変数trafoDepth、
− 現在のブロックの色成分を指定する変数cIdx、
− 現在の変換ブロックのサイズを指定する変数nTbS。
このプロセスの出力は、要素r[x][y]をもつ残差サンプルの(nTbS)×(nTbS)アレイである。
Figure 0006929647
量子化パラメータqPは、次のように導出される。
− cIdxが0に等しい場合、
Figure 0006929647
− そうではなく、cIdxが1に等しい場合、
Figure 0006929647
− そうでない(cIdxが2に等しい)場合、
Figure 0006929647
8.7.2.5.3 ルーマブロックエッジのための決定プロセス
このプロセスへの入力は、以下の通りである。
− ルーマピクチャサンプルアレイrecPictureL
− 現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション(xCb,yCb)、
− 現在のルーマコーディングブロックの左上サンプルに対する現在のルーマブロックの左上サンプルを指定するルーマロケーション(xBl,yBl)、
− 垂直(EDGE_VER)それとも水平(EDGE_HOR)エッジがフィルタリングされるかを指定する変数edgeType、
− 境界フィルタリング強度を指定する変数bS。
このプロセスの出力は、以下の通りである。
− 決定を含む変数dE、dEp、およびdEq、
− 変数βおよびtC
edgeTypeがEDGE_VERに等しい場合、i=0..3でありk=0および3であるサンプル値pi,kおよびqi,kは、次のように導出される。
Figure 0006929647
Figure 0006929647
そうでない(edgeTypeがEDGE_HORに等しい)場合、i=0..3でありk=0および3であるサンプル値pi,kおよびqi,kは、次のように導出される。
Figure 0006929647
Figure 0006929647
変数QpQおよびQpPは、それぞれ、サンプルq0,0およびp0,0を含むコーディングブロックを含むコーディングユニットのQpY値に等しくセットされる。
Figure 0006929647
Figure 0006929647
変数qPLは次のように導出される。
Figure 0006929647
8.7.2.5.5 クロマブロックエッジのためのフィルタリングプロセス
このプロセスは、ChromaArrayTypeが0に等しくないときにのみ呼び出される。
このプロセスへの入力は、以下の通りである。
− クロマピクチャサンプルアレイs’、
− 現在のピクチャの左上クロマサンプルに対する現在のクロマコーディングブロックの左上サンプルを指定するクロマロケーション(xCb,yCb)、
− 現在のクロマコーディングブロックの左上サンプルに対する現在のクロマブロックの左上サンプルを指定するクロマロケーション(xBl,yBl)、
− 垂直(EDGE_VER)それとも水平(EDGE_HOR)エッジがフィルタリングされるかを指定する変数edgeType、
− ピクチャレベルのクロマ量子化パラメータオフセットを指定する変数cQpPicOffset。
このプロセスの出力は、修正されたクロマピクチャサンプルアレイs’である。
edgeTypeがEDGE_VERに等しい場合、i=0..1でありk=0..3である値piおよびqiは、次のように導出される。
Figure 0006929647
Figure 0006929647
そうでない(edgeTypeがEDGE_HORに等しい)場合、i=0..1でありk=0..3であるサンプル値piおよびqiは、次のように導出される。
Figure 0006929647
Figure 0006929647
変数QpQおよびQpPは、それぞれ、サンプルq0,0およびp0,0を含むコーディングブロックを含むコーディングユニットのQpY値に等しくセットされる。
Figure 0006929647
Figure 0006929647
ChromaArrayTypeが1に等しい場合、変数QpCは、次のように導出されるインデックスqPiに基づいて、テーブル8−10において規定されるように決定される。
Figure 0006929647
一例では、deltaQPC0、deltaQPC1およびdeltaQPC2は、それぞれ、−5、−5および−3にセットされる。
別の例では、deltaQPC0、deltaQPC1およびdeltaQPC2は、それぞれ、−5、−5および−5にセットされる。
代替として、color_transform_flag[xCb][yCb]は、上の例#2のサブクローズ8.6.1において使われるbModifiedで置き換えられることもできる。
[0219]以下では例#4と呼ばれる第4の例について、ここで記載する。例#1において、QPY、Qp’Cb、Qp’Crはセクション8.6.1において修正される。この場合、デブロッキングフィルタプロセスおよび量子化解除プロセスにおいて使われるQPは、同一であるように保たれる。ただし、QP予測子導出プロセスは変更されない(すなわち、サブクローズ8.6.1におけるqPY_PRED)。この例では、QP予測子の導出プロセスは、現在のスライスに対して色変換が有効にされたときに修正される。QP予測子を導出するための現在の条件に加え、関連隣接ブロック/最後のコード化ブロックの色変換フラグがさらに含められる。これは、セクション4の箇条書き5に対応する。さらに、導出されたQP値は、0よりも小さくならないように制限される。例#1と比較した変更は、太字体で強調表示される。
8.6.1 量子化パラメータについての導出プロセス
このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション(xCb,yCb)を含む。
このプロセスでは、変数QpY、ルーマ量子化パラメータQp’Y、ならびにクロマ量子化パラメータQp’CbおよびQp’Crが導出される。
ルーマロケーション(xQg,yQg)は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置xQgおよび垂直位置yQgは、それぞれ、xCb−(xCb&((1<<Log2MinCuQpDeltaSize)−1))およびyCb−(yCb&((1<<Log2MinCuQpDeltaSize)−1))に等しくセットされる。量子化グループのルーマサイズ、すなわちLog2MinCuQpDeltaSizeは、同じqPY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
予測ルーマ量子化パラメータqPY_PREDは以下の順序付きステップによって導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
− ルーマロケーション(xQg,yQg−1)をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスctbAddrBがCtbAddrInTsに等しくなく、ここでctbAddrBは次のように導出される。
Figure 0006929647
Figure 0006929647
4. 予測ルーマ量子化パラメータqPY_PREDは次のように導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
変数QpYは次のように導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
ルーマ量子化パラメータQp’Yは次のように導出される。
Figure 0006929647
ChromaArrayTypeが0に等しくないとき、以下が適用される。
− 変数qPiCbおよびqPiCrは次のように導出される。
Figure 0006929647
Figure 0006929647
− ChromaArrayTypeが1に等しい場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、テーブル8−10において指定されるようにQpCの値に等しくセットされる。
− そうでない場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、Min(qPi,51)に等しくセットされる。
− CbおよびCr成分のクロマ量子化パラメータQp’CbおよびQp’Crは、次のように導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
代替として、クロマQP導出のためのmax関数を避けるために、以下が適用される。
ChromaArrayTypeが0に等しくないとき、以下が適用される。
− 変数qPiCbおよびqPiCrは次のように導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
− ChromaArrayTypeが1に等しい場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、テーブル8−10において指定されるようにQpCの値に等しくセットされる。
− そうでない場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて、Min(qPi,51)に等しくセットされる。
− CbおよびCr成分のクロマ量子化パラメータQp’CbおよびQp’Crは、次のように導出される。
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
Figure 0006929647
量子化解除プロセスでは、各成分インデックス(cIdx)のための量子化パラメータqPが次のように導出される。
8.6.2 スケーリングおよび変換プロセス
このプロセスへの入力は、以下の通りである。
− 現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマロケーション(xTbY,yTbY)、
− コーディングブロックに相対した現在のブロックの階層深度を指定する変数trafoDepth、
− 現在のブロックの色成分を指定する変数cIdx、
− 現在の変換ブロックのサイズを指定する変数nTbS。
このプロセスの出力は、要素r[x][y]をもつ残差サンプルの(nTbS)×(nTbS)アレイである。
量子化パラメータqPは、次のように導出される。
− cIdxが0に等しい場合、
Figure 0006929647
− そうではなく、cIdxが1に等しい場合、
Figure 0006929647
− そうでない(cIdxが2に等しい)場合、
Figure 0006929647
[0220]図8は、本開示の技法による例示的なビデオ復号方法を示すフローチャートである。図8の技法について、ビデオエンコーダ20に関して説明するが、図8の技法は、ビデオエンコーダのいかなる特定のタイプにも限定されないことを理解されたい。ビデオエンコーダ20は、第1のブロックのための量子化パラメータを決定する(100)。ビデオデータの第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して(102、YES)、ビデオエンコーダ20は、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化プロセスを実施する(104)。ビデオデータの第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていないと決定したことに応答して(102、NO)、ビデオエンコーダ20は、第1のブロックのための未修正量子化パラメータに基づいて、第1のブロックについての量子化プロセスを実施する(106)。ビデオエンコーダ20は、ビデオデータの第2のブロックについて、第2のブロックのための量子化パラメータと第1のブロックのための未修正量子化パラメータとの間の差分を示す差分値をシグナリングする(108)。
[0221]図9は、本開示の技法による例示的なビデオ復号方法を示すフローチャートである。図9の技法について、ビデオデコーダ30に関して説明するが、図9の技法は、ビデオデコーダのいかなる特定のタイプにも限定されないことを理解されたい。ビデオデコーダ30は、ビデオデータの第1のブロックについて、第1のブロックのための量子化パラメータを決定するための情報を受信する(120)。ビデオデータの第1のブロックが第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して(122、YES)、ビデオデコーダ30は、修正された量子化パラメータを決定し(124)、第1のブロックのための修正された量子化パラメータに基づいて、第1のブロックについての量子化解除プロセスを実施する(126)。ビデオデータの第1のブロックが、第1のブロックの残差データについての色空間変換モードを使ってコーディングされていないと決定したことに応答して(122、NO)、ビデオデコーダ30は、第1のブロックのための未修正量子化パラメータに基づいて、第1のブロックについての量子化解除プロセスを実施する(128)。ビデオデコーダ30は、ビデオデータの第2のブロックについて、第2のブロックのための量子化パラメータと第1のブロックのための未修正量子化パラメータとの間の差分を示す差分値を受信する(130)。
[0222]上記例に応じて、本明細書で説明された技法のいずれかのいくつかの行為またはイベントが、異なるシーケンスで実施され得、全体的に追加、マージ、または除外され得る(たとえば、すべての説明された行為またはイベントが本技法の実践のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを用いて、連続的にではなく同時に実施され得る。
[0223]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコード上に記憶され、またはそれを介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のために命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことできる。
[0224]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含むのではなく、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲の中に含まれるべきである。
[0225]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途について集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積論理回路もしくはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造または本明細書で説明する技法の実装に好適な任意の他の構造のいずれかを指すことができる。加えて、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成されるか、または複合コーデックに組み込まれる、専用のハードウェアモジュールおよび/またはソフトウェアモジュール内で提供され得る。また、本技法は、1つまたは複数の回路または論理素子において完全に実装され得る。
[0226]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実施するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明されたように、様々なユニットは、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって提供され得る。
[0227]本開示の様々な例について説明した。説明されたシステム、動作、または機能の任意の組合せが企図される。これらおよび他の例は、以下の特許請求の範囲の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、
前記ビデオデータの第1のブロックを受信することと、
前記第1のブロックのための量子化パラメータを決定するための情報を受信することと、
前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正することと、
前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化解除プロセスを実施することと、
前記ビデオデータの第2のブロックを受信することと、
前記第2のブロックについて、前記第2のブロックのための量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の差分を示す差分値を受信することと、
前記受信された差分値および前記第1のブロックのための前記量子化パラメータに基づいて、前記第2のブロックのための前記量子化パラメータを決定することと、
前記第2のブロックのための前記決定された量子化パラメータに基づいて、前記第2のブロックを復号することと、
を備える方法。
[C2]
前記色空間変換モードがビデオデータの前記第2のブロックに対して有効にされていると決定したことに応答して、前記第2のブロックのための前記決定された量子化パラメータを修正することをさらに備え、
前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックを復号することは、
前記第2のブロックのための前記修正された量子化パラメータに基づいて前記第2のブロックについての量子化解除プロセスを実施することを備える、
C1に記載の方法。
[C3]
前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックを復号することは、
前記色空間変換モードが前記第2のブロックに対して無効にされていると決定したことに応答して、前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックについての量子化解除プロセスを実施することを備える、
C1に記載の方法。
[C4]
ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされていると決定するための、前記第1のブロックについてのフラグを受信することをさらに備える、C1に記載の方法。
[C5]
前記第1のブロックのための前記量子化パラメータを決定するための情報を受信することは、前記第1のブロックのための前記量子化パラメータについての初期値を受信することを備える、C1に記載の方法。
[C6]
前記初期値を受信することは、スライスレベルで、前記量子化パラメータについての前記初期値を受信することを備える、C5に記載の方法。
[C7]
前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルで受信することをさらに備える、C1に記載の方法。
[C8]
前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を受信することは、前記差分の絶対値を示すシンタックス要素を受信することと、前記差分の符号を示すシンタックス要素を受信することとを備える、C1に記載の方法。
[C9]
前記第1のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
前記第1のブロックに対して前記デブロックフィルタリングプロセスを実施することと、
をさらに備える、C1に記載の方法。
[C10]
ビデオデータを符号化する方法であって、
ビデオデータの第1のブロックのための量子化パラメータを決定することと、
ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正することと、
前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化プロセスを実施することと、
ビデオデータの第2のブロックのための量子化パラメータを決定することと、
前記第1のブロックのための前記量子化パラメータと前記第2のブロックのための前記量子化パラメータとの間の差分値をシグナリングすることと、
を備える方法。
[C11]
色空間変換モードがビデオデータの前記第2のブロックに対して有効にされていると決定したことに応答して、前記第2のブロックのための前記量子化パラメータを修正すること、
前記第2のブロックのための前記修正された量子化パラメータに基づいて前記第2のブロックについての量子化プロセスを実施すること、
をさらに備える、C10に記載の方法。
[C12]
色空間変換モードがビデオデータの前記第2のブロックに対して無効にされていると決定したことに応答して、前記第2のブロックのための前記量子化パラメータに基づいて前記第2のブロックについての量子化プロセスを実施することをさらに備える、C10に記載の方法。
[C13]
ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされているかどうかを示すための、前記第1のブロックについてのフラグを生成することをさらに備える、C10に記載の方法。
[C14]
ビデオデータの前記第1のブロックのための前記量子化パラメータを決定することは、前記第1のブロックのための前記量子化パラメータについての初期値を決定することを備え、前記方法は、
前記初期値を、前記第1のブロックを備えるスライス用のスライスヘッダ中でシグナリングすることをさらに備える、C10に記載の方法。
[C15]
前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルでシグナリングすることをさらに備える、C10に記載の方法。
[C16]
前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値をシグナリングすることは、前記差分の絶対値を示すシンタックス要素を生成することと、前記差分の符号を示すシンタックス要素を生成することとを備える、C10に記載の方法。
[C17]
前記第1のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
前記第1のブロックに対して前記デブロックフィルタリングプロセスを実施することと、
をさらに備える、C10に記載の方法。
[C18]
ビデオデータを復号するためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサは、
前記ビデオデータの第1のブロックを受信することと、
前記第1のブロックのための量子化パラメータを決定するための情報を受信することと、
前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正することと、
前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化解除プロセスを実施することと、
前記ビデオデータの第2のブロックを受信することと、
前記第2のブロックについて、前記第2のブロックのための量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の差分を示す差分値を受信することと、
前記受信された差分値および前記第1のブロックのための前記量子化パラメータに基づいて、前記第2のブロックのための前記量子化パラメータを決定することと、
前記第2のブロックのための前記決定された量子化パラメータに基づいて、前記第2のブロックを復号することと、
を行うように構成される、デバイス。
[C19]
前記1つまたは複数のプロセッサは、
前記色空間変換モードがビデオデータの前記第2のブロックに対して有効にされていると決定したことに応答して、前記第2のブロックのための前記決定された量子化パラメータを修正するようにさらに構成され、
前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックを復号するために、前記1つまたは複数のプロセッサは、前記第2のブロックのための前記修正された量子化パラメータに基づいて、前記第2のブロックについての量子化解除プロセスを実施する、
C18に記載のデバイス。
[C20]
前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックを復号するために、前記1つまたは複数のプロセッサは、
前記色空間変換モードが前記第2のブロックに対して無効にされていると決定したことに応答して、前記第2のブロックのための前記決定された量子化パラメータに基づいて、前記第2のブロックについての量子化解除プロセスを実施するように構成される、
C18に記載のデバイス。
[C21]
前記1つまたは複数のプロセッサは、
ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされていると決定するための、前記第1のブロックについてのフラグを受信するようにさらに構成される、
C18に記載のデバイス。
[C22]
前記第1のブロックのための前記量子化パラメータを決定するための情報を受信するために、前記1つまたは複数のプロセッサは、前記第1のブロックのための前記量子化パラメータについての初期値を受信する、C18に記載のデバイス。
[C23]
前記初期値を受信するために、前記1つまたは複数のプロセッサは、スライスレベルで、前記量子化パラメータについての前記初期値を受信する、C22に記載のデバイス。
[C24]
前記1つまたは複数のプロセッサは、
前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルで受信するようにさらに構成される、C18に記載のデバイス。
[C25]
前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を受信するために、前記1つまたは複数のプロセッサは、前記差分の絶対値を示すシンタックス要素を受信し、前記差分の符号を示すシンタックス要素を受信する、C18に記載のデバイス。
[C26]
前記1つまたは複数のプロセッサは、
前記第1のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
前記第1のブロックに対して前記デブロックフィルタリングプロセスを実施することと、
を行うようにさらに構成される、C18に記載のデバイス。
[C27]
前記デバイスは、
マイクロプロセッサ、
集積回路(IC)、および
前記ビデオデコーダを備えるワイヤレス通信デバイスのうちの1つを備える、
C18に記載のデバイス。
[C28]
ビデオデータを符号化するためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサは、
ビデオデータの第1のブロックのための量子化パラメータを決定することと、
ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正することと、
前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化プロセスを実施することと、
ビデオデータの第2のブロックのための量子化パラメータを決定することと、
前記第1のブロックのための前記量子化パラメータと前記第2のブロックのための前記量子化パラメータとの間の差分値をシグナリングすることと、
を行うように構成される、デバイス。
[C29]
前記1つまたは複数のプロセッサは、
色空間変換モードがビデオデータの前記第2のブロックに対して有効にされていると決定したことに応答して、前記第2のブロックのための前記量子化パラメータを修正すること、
前記第2のブロックのための前記修正された量子化パラメータに基づいて前記第2のブロックについての量子化プロセスを実施すること、
を行うようにさらに構成される、C28に記載のデバイス。
[C30]
前記1つまたは複数のプロセッサは、
色空間変換モードがビデオデータの前記第2のブロックに対して無効にされていると決定したことに応答して、前記第2のブロックのための前記量子化パラメータに基づいて前記第2のブロックについての量子化プロセスを実施するようにさらに構成される、
C28に記載のデバイス。
[C31]
前記1つまたは複数のプロセッサは、
ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされているかどうかを示すための、前記第1のブロックについてのフラグを生成するようにさらに構成される、
C28に記載のデバイス。
[C32]
ビデオデータの前記第1のブロックのための前記量子化パラメータを決定することは、前記第1のブロックのための前記量子化パラメータについての初期値を決定することを備え、前記1つまたは複数のプロセッサは、
前記初期値を、前記第1のブロックを備えるスライス用のスライスヘッダ中でシグナリングするようにさらに構成される、
C28に記載のデバイス。
[C33]
前記1つまたは複数のプロセッサは、
前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルでシグナリングするようにさらに構成される、
C28に記載のデバイス。
[C34]
前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値をシグナリングするために、前記1つまたは複数のプロセッサは、前記差分の絶対値を示すシンタックス要素を生成することと、前記差分の符号を示すシンタックス要素を生成することを行うようにさらに構成される、C28に記載のデバイス。
[C35]
前記1つまたは複数のプロセッサは、
前記第1のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
前記第1のブロックに対して前記デブロックフィルタリングプロセスを実施することと、
を行うようにさらに構成される、C28に記載のデバイス。
[C36]
前記デバイスは、
マイクロプロセッサ、
集積回路(IC)、または
前記ビデオエンコーダを備えるワイヤレス通信デバイスのうちの少なくとも1つを備える、
C28に記載のデバイス。
[C37]
ビデオ復号のための装置であって、
ビデオデータの第1のブロックを受信するための手段と、
前記第1のブロックのための量子化パラメータを決定するための情報を受信するための手段と、
前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正するための手段と、
前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化解除プロセスを実施するための手段と、
前記ビデオデータの第2のブロックを受信するための手段と、
前記第2のブロックについて、前記第2のブロックのための量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の差分を示す差分値を受信するための手段と、
前記受信された差分値および前記第1のブロックのための前記量子化パラメータに基づいて、前記第2のブロックのための前記量子化パラメータを決定するための手段と、
前記第2のブロックのための前記決定された量子化パラメータに基づいて、前記第2のブロックを復号するための手段と、
を備える装置。
[C38]
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
ビデオデータの第1のブロックを受信することと、
前記第1のブロックのための量子化パラメータを決定するための情報を受信することと、
前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正することと、
前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化解除プロセスを実施することと、
前記ビデオデータの第2のブロックを受信することと、
前記第2のブロックについて、前記第2のブロックのための量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の差分を示す差分値を受信することと、
前記受信された差分値および前記第1のブロックのための前記量子化パラメータに基づいて、前記第2のブロックのための前記量子化パラメータを決定することと、
前記第2のブロックのための前記決定された量子化パラメータに基づいて、前記第2のブロックを復号することと、
を行わせる、コンピュータ可読記憶媒体。

Claims (16)

  1. ビデオデータを復号する方法であって、
    前記ビデオデータの第1のブロックを受信することと、
    前記第1のブロックのための量子化パラメータを決定するための情報を受信すること、ここにおいて、前記第1のブロックのための前記量子化パラメータを決定するための情報を受信することは、前記第1のブロックのための前記量子化パラメータについての初期値を受信することを備え、ここにおいて、前記初期値を受信することは、スライスレベルで、前記量子化パラメータについての前記初期値を受信することを備える、と、
    前記第1のブロックのための量子化パラメータを前記初期値に基づいて決定することと、
    前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正すること、ここにおいて、前記修正は、前記初期値に非ゼロ量子化パラメータオフセット値を加算することに基づく、ここにおいて、前記決定は、前記ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされていると決定するための前記第1のブロックについてのフラグに基づく、と、
    前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化解除プロセスを実施することと、
    前記ビデオデータの第2のブロックを受信すること、ここにおいて、前記第2のブロックは、前記第1のブロックに続く、と、
    前記第2のブロックについて、前記第2のブロックのための量子化パラメータと前記第1のブロックのための未修正の前記量子化パラメータとの間の差分を示す差分値を受信することと、
    前記受信された差分値および前記第1のブロックのための未修正の前記量子化パラメータに基づいて、前記第2のブロックのための前記量子化パラメータを決定することと、
    前記色空間変換モードがビデオデータの前記第2のブロックに関して有効にされている、と決定したことに応答して、前記第2のブロックのための前記決定された量子化パラメータを修正することと、
    前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックを復号することと、
    を備え、ここにおいて、前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックを復号することは、
    前記第2のブロックのための前記修正された量子化パラメータに基づいて前記第2のブロックについての量子化解除プロセスを実施すること
    を備える、方法。
  2. 前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックを復号することは、
    前記色空間変換モードが前記第2のブロックに関して無効にされている、と決定したことに応答して、前記第2のブロックのための前記決定された量子化パラメータに基づいて前記第2のブロックについての量子化解除プロセスを実施することを備える、
    請求項1に記載の方法。
  3. ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされている、と決定するための、前記第1のブロックについてのフラグを受信することをさらに備える、請求項1に記載の方法。
  4. 前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルで受信することをさらに備える、および/または、
    前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を受信することは、前記差分の絶対値を示すシンタックス要素を受信することと、前記差分の符号を示すシンタックス要素を受信することとを備える、請求項1に記載の方法。
  5. 前記第1のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
    前記第1のブロックに関して前記デブロックフィルタリングプロセスを実施することと、
    をさらに備える、請求項1に記載の方法。
  6. 命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、請求項1−のうちのいずれかに記載の方法を実行させる、コンピュータ可読記憶媒体。
  7. ビデオデータを符号化する方法であって、
    ビデオデータの第1のブロックのための量子化パラメータを決定することと、
    前記第1のブロックのための量子化パラメータを決定するための情報を送信すること、ここにおいて、前記第1のブロックのための前記量子化パラメータを決定するための情報を送信することは、前記第1のブロックのための前記量子化パラメータについての初期値を送信することを備え、ここにおいて、前記初期値を送信することは、スライスレベルで、前記量子化パラメータについての前記初期値を送信することを備える、と
    ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされている、と決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正すること、ここにおいて、前記修正することは、前記初期値に非ゼロ量子化パラメータオフセット値を加算することに基づく、と、
    ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされているかどうかを示すための、前記第1のブロックについてのフラグをシグナリングすることと、
    前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化プロセスを実施することと、
    ビデオデータの第2のブロックのための量子化パラメータを決定すること、ここにおいて、前記第2のブロックは、前記第1のブロックに続く、と、
    前記第1のブロックのための未修正の前記量子化パラメータと前記第2のブロックのための前記量子化パラメータとの間の差分値をシグナリングすることと、
    色空間変換モードがビデオデータの前記第2のブロックに関して有効にされている、と決定したことに応答して、前記第2のブロックのための前記量子化パラメータを修正すること、
    前記第2のブロックのための前記修正された量子化パラメータに基づいて前記第2のブロックについての量子化プロセスを実施することと
    を備える方法。
  8. 色空間変換モードがビデオデータの前記第2のブロックに関して無効にされている、と決定したことに応答して、前記第2のブロックのための前記量子化パラメータに基づいて前記第2のブロックについての量子化プロセスを実施することをさらに備える、請求項に記載の方法。
  9. ビデオデータの前記第1のブロックのための前記量子化パラメータを決定することは、前記第1のブロックのための前記量子化パラメータについての初期値を決定することを備え、前記方法は、
    前記初期値を、前記第1のブロックを備えるスライス用のスライスヘッダ中でシグナリングすることをさらに備える、請求項に記載の方法。
  10. 前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルでシグナリングすることをさらに備える、および/または、
    前記第2のブロックのための前記量子化パラメータと前記第1のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値をシグナリングすることは、前記差分の絶対値を示すシンタックス要素を生成することと、前記差分の符号を示すシンタックス要素を生成することとを備える、
    請求項に記載の方法。
  11. 前記第1のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
    前記第1のブロックに関して前記デブロックフィルタリングプロセスを実施することと、
    をさらに備える、請求項に記載の方法。
  12. ビデオデータを復号するためのデバイスであって、
    ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサは、
    前記ビデオデータの第1のブロックを受信することと、
    前記第1のブロックのための量子化パラメータを決定するための情報を受信すること、ここにおいて、前記第1のブロックのための前記量子化パラメータを決定するための情報を受信することは、前記第1のブロックのための前記量子化パラメータについての初期値を受信することを備え、ここにおいて、前記初期値を受信することは、スライスレベルで、前記量子化パラメータについての前記初期値を受信することを備える、と、
    前記第1のブロックのための量子化パラメータを前記初期値に基づいて決定することと、
    前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされている、と決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正すること、ここにおいて、前記修正は、前記初期値に非ゼロ量子化パラメータオフセット値を加算することに基づく、ここにおいて、前記決定は、前記ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされていると決定するための前記第1のブロックについてのフラグに基づく、と、
    前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化解除プロセスを実施することと、
    前記ビデオデータの第2のブロックを受信すること、ここにおいて、前記第2のブロックは、前記第1のブロックに続く、と、
    前記第2のブロックについて、前記第2のブロックのための量子化パラメータと前記第1のブロックのための未修正の前記量子化パラメータとの間の差分を示す差分値を受信することと、
    前記受信された差分値および前記第1のブロックのための未修正の前記量子化パラメータに基づいて、前記第2のブロックのための前記量子化パラメータを決定することと、
    前記色空間変換モードがビデオデータの前記第2のブロックに関して有効にされている、と決定したことに応答して、前記第2のブロックのための前記決定された量子化パラメータを修正することと、
    前記第2のブロックのための前記決定された量子化パラメータに基づいて、前記第2のブロックを復号すること、ここにおいて、前記第2のブロックのための前記決定された量子化パラメータに基づいて、前記第2のブロックを復号するために、前記1つまたは複数のプロセッサは、前記第2のブロックのための前記修正された量子化パラメータに基づいて、前記第2のブロックについての量子化解除プロセスを実施する、と、
    を行うように構成される、デバイス。
  13. 前記デバイスは、
    マイクロプロセッサ、
    集積回路(IC)、または
    ビデオデコーダを備えるワイヤレス通信デバイスのうちの少なくとも1つを備える、 請求項12に記載のデバイス。
  14. ビデオデータを符号化するためのデバイスであって、
    ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサは、
    ビデオデータの第1のブロックのための量子化パラメータを決定することと、
    前記第1のブロックのための量子化パラメータを決定するための情報を送信すること、ここにおいて、前記第1のブロックのための前記量子化パラメータを決定するための情報を送信することは、前記第1のブロックのための前記量子化パラメータについての初期値を送信することを備え、ここにおいて、前記初期値を送信することは、スライスレベルで、前記量子化パラメータについての前記初期値を送信することを備える、と
    ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての色空間変換モードを使ってコーディングされている、と決定したことに応答して、前記第1のブロックのための前記量子化パラメータを修正すること、ここにおいて、前記修正することは、前記初期値に非ゼロ量子化パラメータオフセット値を加算することに基づく、と、
    ビデオデータの前記第1のブロックが前記第1のブロックの残差データについての前記色空間変換モードを使ってコーディングされているかどうかを示すための、前記第1のブロックについてのフラグをシグナリングすることと、
    前記第1のブロックのための前記修正された量子化パラメータに基づいて、前記第1のブロックについての量子化プロセスを実施することと、
    ビデオデータの第2のブロックのための量子化パラメータを決定すること、ここにおいて、前記第2のブロックは、前記第1のブロックに続く、と、
    前記第1のブロックのための未修正の前記量子化パラメータと前記第2のブロックのための前記量子化パラメータとの間の差分値をシグナリングすることと、
    色空間変換モードがビデオデータの前記第2のブロックに関して有効にされている、と決定したことに応答して、前記第2のブロックのための前記量子化パラメータを修正することと、
    前記第2のブロックのための前記修正された量子化パラメータに基づいて前記第2のブロックについての量子化プロセスを実施することと
    を行うように構成される、デバイス。
  15. 前記デバイスは、
    マイクロプロセッサ、
    集積回路(IC)、または
    ビデオエンコーダを備えるワイヤレス通信デバイスのうちの少なくとも1つを備える、
    請求項14に記載のデバイス。
  16. 命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、請求項11のうちのいずれかに記載の方法を実行させる、コンピュータ可読記憶媒体。
JP2016573495A 2014-06-20 2015-06-19 ブロック適応色空間コンバージョンコーディング Active JP6929647B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462015347P 2014-06-20 2014-06-20
US62/015,347 2014-06-20
US201462062797P 2014-10-10 2014-10-10
US62/062,797 2014-10-10
US14/743,776 2015-06-18
US14/743,776 US20150373327A1 (en) 2014-06-20 2015-06-18 Block adaptive color-space conversion coding
PCT/US2015/036769 WO2015196126A1 (en) 2014-06-20 2015-06-19 Block adaptive color-space conversion coding

Publications (3)

Publication Number Publication Date
JP2017523677A JP2017523677A (ja) 2017-08-17
JP2017523677A5 JP2017523677A5 (ja) 2018-07-05
JP6929647B2 true JP6929647B2 (ja) 2021-09-01

Family

ID=54870858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016573495A Active JP6929647B2 (ja) 2014-06-20 2015-06-19 ブロック適応色空間コンバージョンコーディング

Country Status (8)

Country Link
US (1) US20150373327A1 (ja)
EP (1) EP3158739B1 (ja)
JP (1) JP6929647B2 (ja)
KR (1) KR102354197B1 (ja)
CN (1) CN106464885B (ja)
BR (1) BR112016029720B1 (ja)
CA (1) CA2949542C (ja)
WO (1) WO2015196126A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210046723A (ko) * 2018-08-28 2021-04-28 후아웨이 테크놀러지 컴퍼니 리미티드 픽처 분할 방법 및 장치

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10182241B2 (en) 2014-03-04 2019-01-15 Microsoft Technology Licensing, Llc Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
CA2939434C (en) * 2014-03-04 2021-02-16 Microsoft Techology Licensing, Llc Adaptive switching of color spaces, color sampling rates and/or bit depths
JP6367359B2 (ja) 2014-03-27 2018-08-01 マイクロソフト テクノロジー ライセンシング,エルエルシー 色空間を切り替えるときの量子化/スケーリング及び逆量子化/スケーリングの調整
US9521423B2 (en) * 2014-06-26 2016-12-13 Sony Corporation Data encoding and decoding apparatus, method and storage medium
RU2648634C1 (ru) * 2014-09-26 2018-03-26 Долби Лабораторис Лайсэнзин Корпорейшн Кодирование и декодирование перцепционно квантованного видеосодержимого
EP3205098B1 (en) 2014-10-06 2020-01-08 Telefonaktiebolaget LM Ericsson (publ) Coding and deriving quantization parameters
WO2016054765A1 (en) 2014-10-08 2016-04-14 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
US20160360205A1 (en) * 2015-06-08 2016-12-08 Industrial Technology Research Institute Video encoding methods and systems using adaptive color transform
US10390020B2 (en) * 2015-06-08 2019-08-20 Industrial Technology Research Institute Video encoding methods and systems using adaptive color transform
US10448024B2 (en) * 2016-01-11 2019-10-15 Qualcomm Incorporated System and methods for calculating distortion in display stream compression (DSC)
US11109045B2 (en) * 2016-02-11 2021-08-31 Interdigital Vc Holdings, Inc. Method and device for encoding/decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel
WO2017143467A1 (en) 2016-02-22 2017-08-31 Mediatek Singapore Pte. Ltd. Localized luma mode prediction inheritance for chroma coding
CN109417620B (zh) * 2016-03-25 2021-04-27 松下知识产权经营株式会社 用于使用信号依赖型自适应量化将运动图像编码及解码的方法及装置
US10432936B2 (en) * 2016-04-14 2019-10-01 Qualcomm Incorporated Apparatus and methods for perceptual quantization parameter (QP) weighting for display stream compression
US10911783B2 (en) * 2016-05-12 2021-02-02 Lg Electronics Inc. Method and apparatus for processing video signal using coefficient-induced reconstruction
US11039175B2 (en) * 2016-05-27 2021-06-15 Sharp Kabushiki Kaisha Systems and methods for varying quantization parameters
US10972125B2 (en) 2016-06-20 2021-04-06 Anacode Labs, Inc. Storage access interface to an encoded storage system
CN106534870B (zh) * 2016-12-19 2019-12-03 国网新疆电力公司电力科学研究院 一种基于rgb源视频的率失真优化编码方法
WO2018123444A1 (ja) * 2016-12-28 2018-07-05 ソニー株式会社 画像処理装置及び画像処理方法
US11019339B2 (en) * 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
US11095896B2 (en) * 2017-10-12 2021-08-17 Qualcomm Incorporated Video coding with content adaptive spatially varying quantization
GB2570710B (en) * 2018-02-05 2022-10-12 Sony Corp Data encoding and decoding
WO2019187412A1 (ja) 2018-03-29 2019-10-03 ソニー株式会社 画像処理装置、及び画像処理方法
CN117176950A (zh) * 2018-03-30 2023-12-05 交互数字Vc控股公司 视频编码和解码中的色度量化参数调整
CN111919446B (zh) 2018-04-02 2022-10-28 夏普株式会社 解码视频图片中的当前视频块的方法
US10448025B1 (en) * 2018-05-11 2019-10-15 Tencent America LLC Method and apparatus for video coding
WO2019229683A1 (en) 2018-05-31 2019-12-05 Beijing Bytedance Network Technology Co., Ltd. Concept of interweaved prediction
JP7278719B2 (ja) * 2018-06-27 2023-05-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US11930168B2 (en) * 2018-09-28 2024-03-12 Ati Technologies Ulc Consistent adjustment of parameters for video encoding
US10554975B1 (en) 2018-09-30 2020-02-04 Tencent America LLC Method and apparatus for video coding
US10638146B2 (en) * 2018-10-01 2020-04-28 Tencent America LLC Techniques for QP coding for 360 image and video coding
KR102637084B1 (ko) * 2018-11-23 2024-02-15 엘지전자 주식회사 영상 코딩 시스템에서 cclm 예측 기반 영상 디코딩 방법 및 그 장치
EP3890321A4 (en) * 2018-12-15 2022-05-11 Huawei Technologies Co., Ltd. IMAGE RECONSTRUCTION METHOD AND APPARATUS
CN113261291B (zh) 2018-12-22 2024-07-26 北京字节跳动网络技术有限公司 基于多个参数的两步交叉分量预测模式
CN121193926A (zh) 2019-01-02 2025-12-23 Oppo广东移动通信有限公司 预测方向的确定方法、解码器以及计算机存储介质
WO2020140948A1 (en) 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Motion vector derivation between dividing patterns
WO2020156515A1 (en) 2019-01-31 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Refined quantization steps in video coding
WO2020164634A1 (en) * 2019-02-15 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of non-power-two-partition tree in video compression
EP3700205A1 (en) * 2019-02-19 2020-08-26 Nokia Technologies Oy Quantization parameter derivation for cross-channel residual encoding and decoding
SG11202108938TA (en) 2019-02-24 2021-09-29 Beijing Bytedance Network Technology Co Ltd Independent coding of palette mode usage indication
WO2020169105A1 (en) * 2019-02-24 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Condition dependent coding of palette mode usage indication
CN113711612B (zh) 2019-04-20 2023-05-26 北京字节跳动网络技术有限公司 视频编解码中的色度语法元素的信令
CN113785577B (zh) * 2019-04-26 2023-06-27 华为技术有限公司 用于指示色度量化参数映射函数的方法和装置
EP4738833A2 (en) 2019-05-28 2026-05-06 Dolby Laboratories Licensing Corporation Quantization parameter signaling
CN115567707B (zh) 2019-05-30 2025-05-13 抖音视界有限公司 一种处理视频数据的方法、装置、介质
CN113906758B (zh) 2019-05-31 2025-06-20 字节跳动有限公司 调色板模式与帧内块复制预测
KR102612765B1 (ko) 2019-06-28 2023-12-13 바이트댄스 아이엔씨 변환 스킵 모드에서 양자화 파라미터를 수정하는 기술
JP7328373B2 (ja) 2019-06-28 2023-08-16 バイトダンス インコーポレイテッド スクリーンコンテンツ符号化におけるクロマイントラモードの導出
CN114521327B (zh) * 2019-07-05 2026-02-10 威诺瓦国际有限公司 视频译码中的残差的量化
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
WO2021013119A1 (en) * 2019-07-20 2021-01-28 Beijing Bytedance Network Technology Co., Ltd. Mode determination for palette mode coding
US11064055B2 (en) 2019-07-22 2021-07-13 Anacode Labs, Inc. Accelerated data center transfers
CN117221536A (zh) 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
CN114208174B (zh) 2019-07-29 2023-11-28 北京字节跳动网络技术有限公司 预测过程中的调色板模式编解码
JP7343596B6 (ja) * 2019-08-23 2024-02-26 華為技術有限公司 合同クロマ符号化を使用するブロックについてクロマ・ブロッキング解除を実行するためのエンコーダ、デコーダおよび対応する方法
CN114342369B (zh) 2019-09-02 2025-07-18 北京字节跳动网络技术有限公司 用于视频编解码的色度去方块调谐
CN114424537B (zh) * 2019-09-05 2026-01-02 夏普株式会社 在视频编码中用于执行帧间预测编码的系统和方法
WO2021047540A1 (en) 2019-09-09 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Coefficient scaling for high precision image and video coding
EP4014495A4 (en) 2019-09-14 2022-11-02 ByteDance Inc. CHROMINANCE QUANTIFICATION PARAMETER IN VIDEO CODING
CN114731392B (zh) 2019-09-21 2025-01-03 北京字节跳动网络技术有限公司 用于图像和视频编解码的高精度变换和量化
KR102695020B1 (ko) * 2019-09-23 2024-08-12 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 4:4:4 크로마 포맷의 비디오 코딩 방법 및 장치
US12519944B2 (en) 2019-10-05 2026-01-06 Lg Electronics Inc. Image or video coding based on transform skip- and palette coding-related advanced syntax element
US11682144B2 (en) * 2019-10-06 2023-06-20 Tencent America LLC Techniques and apparatus for inter-channel prediction and transform for point-cloud attribute coding
WO2021072177A1 (en) 2019-10-09 2021-04-15 Bytedance Inc. Cross-component adaptive loop filtering in video coding
US11284111B2 (en) * 2019-10-10 2022-03-22 Tencent America LLC Techniques and apparatus for inter-channel prediction and transform for point-cloud attribute coding
US11412235B2 (en) * 2019-10-10 2022-08-09 Tencent America LLC Color transform for video coding
KR20220073746A (ko) 2019-10-14 2022-06-03 바이트댄스 아이엔씨 비디오 처리에서 크로마 양자화 파라미터 사용
US11368723B2 (en) 2019-10-22 2022-06-21 Tencent America LLC Signaling of coding tools for encoding a video component as monochrome video
CN119544989A (zh) * 2019-10-28 2025-02-28 Lg电子株式会社 图像编码/解码设备以及传输图像的数据的设备
WO2021086021A1 (ko) * 2019-10-28 2021-05-06 엘지전자 주식회사 적응적 변환을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
HUE072798T2 (hu) * 2019-10-28 2025-12-28 Lg Electronics Inc Eljárás kép kódolására/dekódolására színtér konverzió alkalmazásával, és eljárás bitfolyam átvitelére
WO2021086024A1 (ko) * 2019-10-28 2021-05-06 엘지전자 주식회사 적응적 색공간 변환을 이용하여 레지듀얼 처리를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
MX2022006190A (es) * 2019-11-22 2022-09-07 Lg Electronics Inc Metodo y dispositivo de codificacion/decodificacion de imagenes usando transformacion de color sin perdidas y metodo para transmitir flujo de bits.
KR20220100599A (ko) * 2019-11-26 2022-07-15 주식회사 윌러스표준기술연구소 적응적 컬러 공간 변환을 이용하는 비디오 신호 처리 방법 및 장치
WO2021104433A1 (en) * 2019-11-30 2021-06-03 Beijing Bytedance Network Technology Co., Ltd. Simplified inter prediction with geometric partitioning
WO2021118977A1 (en) 2019-12-09 2021-06-17 Bytedance Inc. Using quantization groups in video coding
CN115004705A (zh) * 2019-12-10 2022-09-02 北京达佳互联信息技术有限公司 以4:4:4色度格式进行视频编解码的方法和装置
CN114868395B (zh) 2019-12-24 2025-08-12 抖音视界(北京)有限公司 采用几何分割进行帧间预测的高级语法
CN114902657B (zh) * 2019-12-31 2025-06-13 字节跳动有限公司 视频编解码中的自适应颜色变换
CN112544079A (zh) * 2019-12-31 2021-03-23 北京大学 视频编解码的方法和装置
CN117979013B (zh) * 2020-01-05 2025-02-28 北京达佳互联信息技术有限公司 一种视频解码的方法、装置和介质
KR102750625B1 (ko) 2020-01-05 2025-01-09 두인 비전 컴퍼니 리미티드 비디오 코딩을 위한 일반적인 제약 정보
CN115244926A (zh) * 2020-01-14 2022-10-25 抖音视界有限公司 视频编解码中的量化参数的覆写
WO2021143896A1 (en) 2020-01-18 2021-07-22 Beijing Bytedance Network Technology Co., Ltd. Adaptive colour transform in image/video coding
EP4107962A4 (en) * 2020-02-21 2023-07-26 Alibaba Group Holding Limited Methods for processing chroma signals
US11937070B2 (en) 2021-07-01 2024-03-19 Tencent America LLC Layered description of space of interest
US20230412806A1 (en) * 2022-06-16 2023-12-21 Nokia Technologies Oy Apparatus, method and computer program product for quantizing neural networks
JP2025522408A (ja) * 2022-06-21 2025-07-15 インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ 画像又はビデオを符号化及び復号するための方法及び装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269219B1 (en) * 1997-02-14 2007-09-11 At&T Corp. Non-linear quantizer for video coding
US20050259730A1 (en) * 2004-05-18 2005-11-24 Sharp Laboratories Of America, Inc. Video coding with residual color conversion using reversible YCoCg
US8619880B2 (en) * 2007-10-10 2013-12-31 Qualcomm Incorporated Universal blockiness correction
US20100158357A1 (en) * 2008-12-19 2010-06-24 Qualcomm Incorporated Image processing method and system of skin color enhancement
JP5594841B2 (ja) * 2011-01-06 2014-09-24 Kddi株式会社 画像符号化装置及び画像復号装置
WO2013109838A1 (en) * 2012-01-20 2013-07-25 Sony Corporation Chroma quantization parameter extension

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210046723A (ko) * 2018-08-28 2021-04-28 후아웨이 테크놀러지 컴퍼니 리미티드 픽처 분할 방법 및 장치
KR102631517B1 (ko) 2018-08-28 2024-01-30 후아웨이 테크놀러지 컴퍼니 리미티드 픽처 분할 방법 및 장치

Also Published As

Publication number Publication date
CN106464885A (zh) 2017-02-22
EP3158739A1 (en) 2017-04-26
CN106464885B (zh) 2020-03-13
BR112016029720A2 (pt) 2017-08-22
WO2015196126A1 (en) 2015-12-23
US20150373327A1 (en) 2015-12-24
KR20170020769A (ko) 2017-02-24
JP2017523677A (ja) 2017-08-17
EP3158739B1 (en) 2020-12-23
BR112016029720B1 (pt) 2024-02-15
CA2949542C (en) 2023-04-04
KR102354197B1 (ko) 2022-01-20
CA2949542A1 (en) 2015-12-23

Similar Documents

Publication Publication Date Title
JP6929647B2 (ja) ブロック適応色空間コンバージョンコーディング
KR102032603B1 (ko) 블록 적응적 컬러-공간 변환 코딩
KR102348541B1 (ko) 블록 적응적 컬러­공간 변환 코딩
AU2015328164B2 (en) QP derivation and offset for adaptive color transform in video coding
KR20170068460A (ko) 인트라블록 카피를 위한 디블록 필터링
HK1229979B (zh) 块自适应颜色空间转换译码的方法和装置
HK1229979A1 (en) Block adaptive color-space conversion coding method and device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200122

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200130

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200204

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20200214

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20200218

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200804

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20201006

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210226

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20210615

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210713

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210811

R150 Certificate of patent or registration of utility model

Ref document number: 6929647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250