【文献】
David Flynn, et al.,High Efficiency Video Coding (HEVC) Range Rxtensions text specification: Draft 4,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Vienna, AT, 25 July - 2 Aug. 2013,2013年 8月 8日,JCTVC-N1005_v1(JCTVC-N1005-v3.zip)
【文献】
Chao Pang, et al.,Non-RCE3: Intra Motion Compensation with 2-D MVs,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Vienna, AT, 25 July - 2 Aug. 2013,2013年 8月 2日,JCTVC-N0256
【文献】
Matteo Naccari, et al.,Inter-Prediction Residual DPCM,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Incheon, KR, 18-26 Apr. 2013,2013年 4月21日,JCTVC-M0442_r1
【文献】
Rajan Joshi, et al.,AHG8: Use of inter RDPCM for blocks using intra block copy mode,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Geneva, CH, 23 Oct. - 1 Nov. 2013,2013年10月25日,JCTVC-O0170_r2
(58)【調査した分野】(Int.Cl.,DB名)
RDPCMモードを示す前記データを取得することは、RDPCMオフモード、RDPCM垂直モード、及びRDPCM水平モードのうちの少なくとも1つを示すデータを取得することを備える、請求項1に記載の方法。
前記1つ以上のシンタックス要素を復号することは、シーケンスパラメータセット(SPS)におけるシーケンスレベルで前記1つ以上のシンタックス要素を復号することを備える、請求項1に記載の方法。
前記選択されたRDPCMモードを示すデータを符号化することは、RDPCMオフモード、RDPCM垂直モード、及びRDPCM水平モードのうちの少なくとも1つを示すデータを符号化することを備える、請求項10に記載の方法。
前記データを符号化することは、可逆符号化プロセスにおいて前記予測された残差に量子化を適用しないで前記データを符号化することを備える、請求項10に記載の方法。
前記ビデオデコーダは、前記符号化されたビットストリームから、前記予測ピクチャの位置を示す前記変位ベクトルを取得するように更に構成される、請求項18に記載のデバイス。
前記残差ブロックを生成するために、前記ビデオデコーダは、不可逆復号プロセスにおいて前記残差ブロックに逆量子化を適用するように構成される、請求項18に記載のデバイス。
前記1つ以上のシンタックス要素を復号するために、前記ビデオデコーダは、シーケンスパラメータセット(SPS)におけるシーケンスレベルで前記1つ以上のシンタックス要素を復号するように構成される、請求項18に記載のデバイス。
前記データを符号化するために、前記ビデオエンコーダは、不可逆符号化プロセスにおいて前記予測された残差ブロックに量子化を適用するように構成される、請求項28に記載に記載のデバイス。
前記データを符号化するために、前記ビデオエンコーダは、可逆符号化プロセスにおいて前記予測された残差に量子化を適用しないで前記データを符号化するように構成される、請求項28に記載に記載のデバイス。
前記1つ以上のシンタックス要素を符号化するために、前記ビデオエンコーダは、シーケンスパラメータセット(SPS)におけるシーケンスレベルで前記1つ以上のシンタックス要素を符号化するように構成される、請求項28に記載に記載のデバイス。
【発明を実施するための形態】
【0017】
[0024]本開示の態様は概して、ビデオコード化及び圧縮に関する。幾つかの例では、技法は、高効率ビデオコード化(HEVC)レンジ拡張に関しうる。HEVCは、ITU−T WP3/16及びISO/IEC JTC 1/SC 29/WG 11のビデオコード化に関する共同チーム(JCT−VC)よって近年開発されたビデオコード化規格である。概して、HEVCレンジ拡張は、ベースHEVC仕様によって特別にサポートされていないビデオフォーマットをサポートすることができる。
【0018】
[0025]その技法はまた、HEVCへのHEVCスクリーンコンテンツコード化拡張にも関しうる。HEVCのスクリーンコンテンツコード化拡張に関する更に多くの情報は、「Joint Call for Proposals for Coding of Screen Content」という題名であり、カリフォルニア州サンノゼにおける2014年1月17日付の会合で提示され、かつhttp://www.itu.int/en/ITU-T/studygroups/com16/video/Documents/CfP-HEVC-coding-screen-content.pdfで利用可能な、ITU−T Q6/16及びISO/IEC/JTC1/SC29/WG11の視覚コード化グループの文献において見つけられる。
【0019】
[0026]HEVCのレンジ拡張、スクリーンコンテンツコード化拡張、又は他のビデオコード化ツールが、イントラブロックコピー(イントラBC)及び残差差分パルスコード変調(RDPCM)をサポートすることができる。イントラBCに関して、数例を挙げると、遠隔デスクトップ、遠隔ゲーム機、ワイヤレスディスプレイ、自動車用インフォテインメント(automotive infotainment)、及びクラウドコンピューティングのような多くのアプリケーションでは、これらのアプリケーションにおけるビデオコンテンツは通常、未加工コンテンツ(natural content)、テキスト、人工的グラフィック等の組み合わせである。テスト及び人工的グラフィック領域では、繰り返されるパターン(例えば、数例を挙げると、文字、アイコン、及びシンボル)が度々存在する。イントラBCは、この種類の冗長性の除去を目的とした専用プロセスとして特徴づけられ得、これによりイントラフレームコード化効率を潜在的に向上させる。
【0020】
[0027]RDPCMに関して、(ビデオエンコーダ又はビデオデコーダのような)ビデオコーダは、残差ブロックのために出力される必要がある残差ブロックのデータの量を減少させるために、イントラ予測残差(例えば、35方向HEVCイントラモードのうちの1つを使用して予測された残差)に、又は動き補償予測残差(例えば、時間動き予測を使用して予測された残差)に、RDPCMを適用することができる。RDPCMでは、ビデオエンコーダは、前の行又は列の残差値に基づいて、残差ブロックの行又は列の残差値を予測する。概して、RDPCMは3つの異なるモード、即ちRDPCM−オフ、RDPCM−水平、及びRDPCM−垂直、を含むことができる。RDPCM−オフでは、ビデオコーダはRDPCMを適用しないことがある。RDPCM水平では、ビデオコーダは、現在の列の残差サンプルを予測するために、左の列の残差サンプルを使用することができる。RDPCM垂直では、ビデオコーダは、現在の行の残差サンプルを予測するために、上の行の残差サンプルを使用することができる。
【0021】
[0028]例として、垂直RDPCMを実行するために、ビデオエンコーダは、行0の再構築された残差値から行1の残差値を減算する(例えば、行0の第1の残差値から行1の第1の残差値を減算する、行0の第2の残差値から行1の第2の残差値を減算する、等を行う)。行0では、ビデオエンコーダは残差値を信号伝達する(signals)が、行1では、ビデオエンコーダは差分値を信号伝達し、行2では、ビデオエンコーダは、行1の再構築された値と共に差分値を信号伝達し、この後も同様に続く。ビデオエンコーダは、水平ベースのRDPCMに関して同様の技法を実行することができる。本開示で説明されている場合の減算は、減算の結果に等しい値を決定することを指し、値の負数を減算又は加算することによって行われうる。
【0022】
[0029]幾つかの例では、連続する行又は列の残差値の間の差分を符号化することは、結果として、実際の残差値を符号化するよりも少ないビットをもたらすことができる。このようにRDPCMは、結果として、ビデオエンコーダが信号伝達する必要があるデータの量の減少に結びつき、それにより帯域幅効率を高める。
【0023】
[0030]上記の例では、ビデオデコーダは、受信された値を復号する。例えば、ビデオデコーダは、行0に関する残差値を復号し、行1に関する差分値を復号する。例えば、ビデオデコーダは、行0及び行1に関する受信された値を逆量子化することができる。ビデオデコーダは、行1に関する残差値を決定するために、行0に関する残差値に差分値を加算する。ビデオデコーダはまた、行2に関する差分値(例えば、行1の残差値と行2の残差値との間の差分)を復号する。ビデオデコーダは、行2の残差値を決定するために、行1に関する決定された残差値に行2の差分値を加算する、等を行う。ビデオデコーダは、水平ベースのRDPCMに関して同様のステップを実行することができる。
【0024】
[0031]幾つかの例では、ビデオエンコーダは、ある特定の他のコード化ツールと連係してのみRDPCMを利用することができる。例えば、ビデオエンコーダは、残差ブロック、又は残差ブロックの量子化されたバージョンを、それぞれ生成するために、可逆(バイパスとも称される)又は変換スキップコード化を利用することができる。幾つかの例では、残差ブロックが変換バイパス又は変換スキップ符号化される場合のみ、ビデオエンコーダはRDPCMを利用することができる。変換が残差ブロックに適用される場合、RDPCMはビデオエンコーダに適用可能でないことがありうる。
【0025】
[0032]ウィーンにおけるJCTVC会合(2013年7月)において、イントラBC及びRDPCMの両方が、上で着目されたHEVCレンジ拡張規格において採用された。しかしながら、予測残差を生成するためにイントラBCモードを使用するときに信号伝達されている残差データの量を減少させるための技法は存在しなかった。つまり、イントラBCモードを使用して生成された残差データにRDPCMを適用するための技法は存在しなかった。
【0026】
[0033]本開示で説明されている技法は、ビデオコード化においてRDPCM及びイントラBCの両方を適用するためのサポートを提供している。例えば、本開示の技法は、以下で更に詳細に論じられるように、残差データを生成するためにイントラBC予測モードを使用すること、及びRDPCMを使用してイントラBC予測ブロックの残差データを予測することを含むことができる。本開示の技法は更に、イントラBC技法を適用するときの効率を向上させることができる。例えば、イントラBC技法を使用して予測されたブロックにRDPCMを適用することによって、残差データは更に減らされ得、それにより、符号化されたビットストリームに含まれるデータの量を減少させ、全体のコード化効率を高める。つまり、(RDPCMがイントラBC予測残差に適用される)上で説明された予想ブロックは、RDPCMを適用することなくイントラBCモードを使用して予測されたブロックよりも少ない、ビットストリーム中で表現するべきビットを要求することができる。
【0027】
[0034]
図1は、ビデオデータをフィルタリングするための技法を利用することができる、例となるビデオ符号化及び復号システム10を例示しているブロック図である。
図1で図示されているように、システム10は、宛先デバイス14によって後の時間に復号されるべき符号化されたビデオデータを提供するソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12及び宛先デバイス14は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイス、又は同様のものを含む、幅広いデバイスのいずれも備えることができる。幾つかのケースでは、ソースデバイス12及び宛先デバイス14は、ワイヤレス通信のために装備されうる。
【0028】
[0035]宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化されたビデオデータを受信することができる。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動する能力を有する、あらゆるタイプの媒体又はデバイスを備えることができる。一例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムに宛先デバイス14に直接符号化されたビデオデータを送信することを可能にするための通信媒体を備えることができる。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス14へ送信されうる。通信媒体は、無線周波数(RF)スペクトル又は1つ又は複数の物理送信線のような、あらゆるワイヤレス又は有線通信媒体を備えることができる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットといったグローバルネットワークのような、パケットベースのネットワークの一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、又はソースデバイス12から宛先デバイス14への通信を容易にするのに役立ちうるあらゆる他の機器を含むことができる。
【0029】
[0036]幾つかの例では、符号化されたデータは、出力インターフェース22から記憶デバイスに出力されうる。同様に、符号化されたデータは、記憶デバイスから、入力インターフェースによってアクセスされうる。記憶デバイスは、ハードドライブ、ブルーレイディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は非揮発性メモリ、又は符号化されたビデオデータを記憶するためのあらゆる他の適したデジタル記憶媒体のような様々な分散型又は局所的にアクセスされるデータ記憶媒体のいずれも含むことができる。更なる例では、記憶デバイスは、ファイルサーバ、又はソースデバイス12によって生成された符号化されたビデオを記憶することができる別の中間記憶デバイスに対応しうる。
【0030】
[0037]宛先デバイス14は、ストリーミング又はダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶すること、及び宛先デバイス14にその符号化されたビデオデータを送信することの能力を有するあらゆるタイプのサーバでありうる。例となるファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、又はローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、あらゆる規格データ接続を通じて符号化されたビデオデータにアクセスすることができる。これは、ファイルサーバに記憶された、符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSL、ケーブルモデム等)、又はその両方の組み合わせを含むことができる。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組み合わせでありうる。
【0031】
[0038]本開示の技法は、ワイヤレスアプリケーション又は設定に必ずしも限定されるわけではない。この技術は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、HTTPを介した動的適応型ストリーミング(DASH)のようなインターネットストリーミングビデオ送信、データ記憶媒体上で符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、又は他のアプリケーションのような、様々なマルチメディアアプリケーションのいずれもサポートするビデオコード化に適用されうる。幾つかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオ電話のようなアプリケーションをサポートするために、一方向又は二方向ビデオ送信をサポートするように構成されうる。
【0032】
[0039]
図1の例では、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、及び出力インターフェース22を含む。宛先デバイス14は、入力インターフェース28、ビデオデコーダ30、及びディスプレイデバイス32を含む。本開示にしたがうと、ソースデバイス12のビデオエンコーダ20は、ビデオコード化において変換を実行するための技法を適用するように構成されうる。他の例では、ソースデバイス及び宛先デバイスは、他の構成要素(components)又は配置(arrangemants)を含むことができる。例えば、ソースデバイス12は、外部のカメラのような外部のビデオソース18からビデオデータを受信することができる。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むよりむしろ外部のディスプレイデバイスとインターフェース接続をすることができる。
【0033】
[0040]
図1の例示されているシステム10は、単なる一例に過ぎない。ビデオコード化においてフィルタリングを実行するための技法は、あらゆるデジタルビデオ符号化及び/又は復号デバイスによって実行されうる。概して本開示の技法は、ビデオ符号化デバイスによって実行されるけれども、技法はビデオコデックによっても実行されうる。更に本開示の技法はまた、ビデオプレプロセッサによっても実行されうる。ソースデバイス12及び宛先デバイス14は単に、ソースデバイス12が宛先デバイス14への送信のためにコード化されたビデオデータを生成するそのようなコード化デバイスの例に過ぎない。幾つかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化及び復号コンポーネントを含むような実質的に対照な形で動作しうる。従ってシステム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、又はビデオ電話のために、ビデオデバイス12、14の間の一方向又は二方向ビデオ送信をサポートすることができる。
【0034】
[0041]ソースデバイス12のビデオソース18は、ビデオカメラのような撮像装置、以前に撮影されたビデオを収容するビデオアーカイブ、及び/又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含むことができる。更なる代わりとして、ビデオソース18は、ソースビデオのようなコンピュータグラフィックベースのデータ、又はライブビデオ、アーカイブされたビデオ、及びコンピュータ処理ビデオの組み合わせを生成することができる。幾つかのケースでは、ビデオソース18がビデオカメラである場合、ソースデバイス12及び宛先デバイス14は、いわゆるカメラ電話又はビデオ電話を形成することができる。しかしながら上で言及されたように、本開示で説明されている技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び/又は有線アプリケーションに適用されうる。各ケースでは、撮影された、事前撮影された、又はコンピュータ処理のビデオは、ビデオエンコーダ20によって符号化されうる。符号化されたビデオ情報はその後、コンピュータ可読媒体16上に出力インターフェース22によって出力されうる。
【0035】
[0042]コンピュータ可読媒体16は、ワイヤレスブロードキャスト又は有線ネットワーク送信のような一時的な媒体、又はハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、又は他のコンピュータ可読媒体のような記憶媒体(つまり、非一時的な記憶媒体)を含むことができる。幾つかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化されたビデオデータを受信し、例えばネットワーク送信を介して、宛先デバイス14に符号化されたビデオデータを提供することができる。同様に、ディスクスタンピング設備のような媒体製造設備(medium production facility)のコンピュータデバイスは、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを収容するディスクを作り出すことができる。従って、コンピュータ可読媒体16は、様々な例において、様々な形式の1つ又は複数のコンピュータ可読媒体を含むように理解されうる。
【0036】
[0043]宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ブロック及び他のコード化された単位、例えばGOP、の処理及び/又は特性を記述するシンタックス要素を含む、ビデオエンコーダ20によって定義され、そしてまたビデオデコーダ30によっても使用されるシンタックス情報を含むことができる。ディスプレイデバイス32は、ユーザに復号されたビデオデータを表示し、ブラウン管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別のタイプのディスプレイデバイスのような様々なディスプレイデバイスのいずれも備えることができる。
【0037】
[0044] ビデオエンコーダ20及びビデオデコーダ30は各々、適用可能である場合、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、又はそれらのあらゆる組み合わせのような、様々な適したエンコーダ又はデコーダ回路のいずれとしても実装されうる。技法がソフトウェアにおいて部分的に実行されるとき、デバイスは、適した非一時的なコンピュータ可読媒体にソフトウェアのための命令を記憶することができ、本開示の技法を実行するために、1つ又は複数のプロセッサを使用してハードウェアにおいて命令を実行できる。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ又は複数のエンコーダ又はデコーダに含まれることができ、それらのどちらも、組み合わされたビデオエンコーダ/デコーダ(コーデック)の一部として統合されうる。ビデオエンコーダ20及び/又はビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、及び/又はセルラ電話のようなワイヤレス通信デバイスを備えることができる。
【0038】
[0045]
図1には示されていないけれども、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は各々、オーディオエンコーダ及びデコーダと一体化され得、共通のデータストリーム又は別個のデータストリームにおけるオーディオ及びビデオの両方の符号化を扱うために、適切なMUX−DEMUXユニット又は他のハードウェア及びソフトウェアを含むことができる。適用可能である場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)のような他のプロトコルに従いうる。
【0039】
[0046]本開示は概して、ビデオエンコーダ20がビデオデコーダ30のような別のデバイスに、ある特定の情報を「信号伝達する」ことに関連しうる。しかしながら、ビデオエンコーダ20が、ビデオデータの様々な符号化された部分とある特定のシンタックス要素を関連付けることによって情報を信号伝達しうることは理解されるべきである。つまり、ビデオエンコーダ20は、ビデオデータの様々な符号化された部分のヘッダに、ある特定のシンタックス要素を記憶することによって、データを「信号伝達」することができる。幾つかのケースでは、そのようなシンタックス要素は、ビデオデコーダ30によって受信及び復号される前に、符号化及び記憶される(例えば、記憶デバイス24に記憶される)ことができる。従って、「信号伝達」という用語は、概して、圧縮されたビデオデータを復号するためのシンタックス又は他のデータの通信を指し、そのような通信が、リアルタイム又はほぼリアルタイム若しくは時間の長さに亘って生じるかどうかに関わらず、例えば、媒体に記憶され、その後この媒体に記憶された後にいつでも復号デバイスによって検索されうるシンタックス要素を記憶するときに生じるかもしれない通信を指し得る。
【0040】
[0047]ビデオエンコーダ20及びビデオデコーダ30は、MPEG−4、Part10、アドバンスドビデオコード化(AVC)、又はそのような規格の拡張として代替え的に参照される、ITU−T H.264規格のようなビデオ圧縮規格に従って動作しうる。ITU−T H.264/MPEG−4(AVC)規格は、ジョイントビデオチーム(JVT)として知られる共同パートナーシップの製品として、ISO/IEC動画像符号化専門家グループ(MEPG:Moving Picture Experts Group)と共にITU−Tビデオ符号化専門家グループ(VCEG:Video Coding Experts Group)によって考案された。幾つかの態様では、本開示で説明されている技法は、概してH.264規格に従うデバイスに適用されうる。H.264規格は、本明細書において、H.264規格又はH.264仕様、若しくはH.264/AVC規格又は仕様と称されうる、ITU−T研究委員会による2005年3月付の、ITU−T勧告のH.264である、オーディオビジュアルサービス全般のための高度符号化方式(Advanced Video Coding for generic audiovisual services)において説明されている。ビデオ圧縮規格の他の例は、MPEG−2及びITU−T H.263を含む。
【0041】
[0048]本開示の技法はいずれの特定のコード化規格にも限定されないが、その技法はHEVC規格に関連しうる。HEVC規格化の試みは、HEVCテストモデル(HM)と称されるビデオコード化デバイスのモデルに基づく。HMは、例えば、ITU−T H.264/AVCにしたがった既存のデバイスと比較して、ビデオコード化デバイスの幾つかの追加の能力を仮定する。例えば、H.264が9個のイントラ予測符号化モードを提供するのに対し、HMは35個もの数のイントラ予測符号化モードを提供することができる。
【0042】
[0049]一般に、HMの作業モデルは、ビデオピクチャが輝度及び彩度サンプルの両方を含む、最大コード化単位(LCU)又はツリーブロックのシーケンスに分割されうることを記述する。ビットストリーム内のシンタックスデータは、画素の数の観点では最大コード化単位であるLCUのサイズを定義することができる。スライスは、多くの連続したコード化ツリー単位(CTU)を含む。CTUの各々は、輝度サンプルの1つのコード化ツリーブロック、彩度サンプルの2つの対応するコード化ツリーブロック、及びコード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造を備えることができる。白黒ピクチャ、又は3つの別個の色プレーンを有するピクチャでは、CTUは、コード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造及び単一のコード化ツリーブロックを備えることができる。
【0043】
[0050]ビデオピクチャは、1つ又は複数のスライスに区分化されうる。各ツリーブロックは四分木に従ってコード化単位(CU)に分けられうる。一般に、四分木データ構造は、ルートノードがツリーブロックに対応する状態でCUごとに1つのノードを含む。CUが4つのサブCUに分けられる場合、CUに対応するノードは4つのリーフノードを含み、その各々がサブCUのうちの1つに対応する。CUは、輝度サンプルアレイ、Cbサンプルアレイ及びCrサンプルアレイを有するピクチャの、輝度サンプルの1つのコード化ブロック及び彩度サンプルの2つの対応するコード化ブロック、並びにそれらのコード化ブロックのサンプルをコード化するために使用されるシンタックス構造を備えることができる。白黒ピクチャ、又は3つの別個の色プレーンを有するピクチャでは、CUは、コード化ブロックのサンプルをコード化するために使用されるシンタックス構造及び単一のコード化ブロックを備えることができる。コード化ブロックは、サンプルのN×Nブロックである。
【0044】
[0051]四分木データ構造の各ノードは、対応するCUにシンタックスデータを提供することができる。例えば、四分木におけるノードは、ノードに対応するCUがサブCUに分けられるかどうかを示す、分割フラグ(split flag)を含むことができる。CUに関するシンタックス要素は再帰的に定義され、CUがサブCUに分けられるかどうかに依存しうる。CUがこれ以上分けられない場合、それはリーフCUと称される。本開示では、リーフCUの4つのサブCUもまた、元のリーフCUの明示的分割が存在しない場合でも、リーフCUと称されることになる。例えば、16x16のサイズのCUがこれ以上分けられない場合、4つの8x8のサブCUもまた、16x16のCUが全く分けられなかったといえども、リーフCUと称されることになる。
【0045】
[0052]CUは、CUがサイズの特異性を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックは4つの子ノード(サブCUとも称される)に分けられ得、各子ノードは、今度は親ノードになり、別の4つの子ノードに分けられうる。四分木のリーフノードと称される最後の非分割子ノードは、リーフCUとも称されるコード化ノードを備える。コード化されたビットストリームに関連付けられたシンタックスデータは、最大CU深さと称される、ツリーブロックが分けられうる最大回数を定義し得、またコード化ノードの最小サイズも定義することができる。従って、ビットストリームはまた、最小コード化単位(SCU)も定義することができる。本開示は、HEVCのコンテキストではCU、PU、又はTUのいずれかを、若しくは他の規格のコンテキストでは同様のデータ構造(例えば、H.264/AVCにおけるそのマクロブロック及びサブブロック)を指すように「ブロック」という用語を使用する。
【0046】
[0053]CUは、コード化ノード、及びそのコード化ノードに関連付けられた予測単位(PU)並びに変換単位(TU)を含む。CUのサイズはコード化ノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8x8画素から、最大値である64x64画素以上のツリーブロックのサイズまでの範囲に及びうる。各CUは、1つ又は複数のPU及び1つ又は複数のTUを含むことができる。
【0047】
[0054]一般に、PUは、対応するCUの全て又は一部に対応する空間的エリアを表し、PUに関する参照サンプルを検索するためのデータを含むことができる。更にPUは、予測に関連するデータを含む。例えば、PUがイントラモード符号化されるとき、PUに関するデータは残差四分木(RQT)に含まれ得、それは、PUに対応するTUのためのイントラ予測モードを記述するデータを含むことができる。別の例として、PUがインターモード符号化されるとき、PUは、PUに関する1つ又は複数の動きベクトルを定義するデータを含むことができる。予想ブロックは、同じ予測が適用されるサンプルの矩形の(即ち、正方形又は非正方形の)ブロックでありうる。CUのPUは、ピクチャの、輝度サンプルの予想ブロック、彩度サンプルの2つの対応する予想ブロック、及び予想ブロックサンプルを予測するために使用されるシンタックス構造を備えることができる。白黒ピクチャ、又は3つの別個の色プレーンを有するピクチャでは、PUは、予想ブロックサンプルを予測するために使用されるシンタックス構造及び単一の予想ブロックを備えることができる。
【0048】
[0055]TUは、変換、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に同様の残差ビデオデータへの変換の適用に従う変換ドメインにおける係数を含むことができる。残差データは、PUに対応する予測値と符号化されていないピクチャの画素間の画素差分に対応しうる。ビデオエンコーダ20は、CUに関する残差データを含むTUを形成し、その後、CUに関する変換係数を作り出すためにTUを変換することができる。変換ブロックは、同じ変換が適用されるサンプルの矩形のブロックでありうる。CUの変換単位(TU)は、輝度サンプルの変換ブロック、彩度サンプルの2つの対応する変換ブロック、及び変換ブロックサンプルを変換するために使用されるシンタックス構造を備えることができる。白黒ピクチャ、又は3つの別個の色プレーンを有するピクチャでは、TUは、変換ブロックサンプルを変換するために使用されるシンタックス構造及び単一の変換ブロックを備えることができる。
【0049】
[0056]変換に続いて、ビデオエンコーダ20は、変換係数の量子化を実行することができる。量子化は一般に、係数を表すために使用されるデータの量を出来る限り減少させ、更なる圧縮を提供する、ために変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の幾つか又は全てに関連付けられたビット深度を低減することができる。例えば、nビット値は量子化中にmビット値に丸められ得、ここにおいてnはmよりも大きい。
【0050】
[0057]ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化することができる。例えば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素にコンテキスト適応型バイナリ算術コード化(CABAC)を実行することができる。エントロピーコード化では、ビデオエンコーダ20は、特定の走査順序(例えば、垂直走査、水平走査、又は斜め走査)に従って、量子化された変換係数を走査する。ビデオエンコーダ20は、ビットストリームにおいてエントロピー符号化されたシンタックス要素を出力することができる。
【0051】
[0058]従ってビットストリームは、ビデオデータのコード化された表現を形成するビットのシーケンスを含むことができる。ビットストリームは、コード化されたピクチャ及び関連付けられたデータを含むことができる。コード化されたピクチャは、ピクチャのコード化された表現である。関連付けられたデータは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、及び他のシンタックス構造を含むことができる。SPSは、ピクチャの0以上のシーケンスに適用可能なパラメータを含むことができる。PPSは、0以上のピクチャに適用可能なパラメータを含むことができる。
【0052】
[0059]残差ブロックを変換及び量子化することは、情報の損失を引き起こす(例えば、逆量子化された、及び逆変換されたブロックは、元の残差ブロックとは異なる)。従って、残差ブロックが変換及び量子化されるビデオコード化の例は、不可逆コード化(lossy coding)と称される。幾つかの例では、ビデオエンコーダ20は、残差ブロックの変換をスキップすることができるが、残差ブロックを量子化する。ビデオコード化のそのような例は、変換スキップコード化と称される。変換スキップコード化は、量子化が情報の損失を引き起こすので、不可逆コード化の1つのバリエーションでありうる。混乱を避けるために、不可逆コード化は、本説明では、変換及び量子化の両方を含むビデオコード化方法を指すために使用され、変換スキップコード化は、本説明では、変換がスキップされるが量子化は依然として実行されるビデオコード化方法を指すために使用される。
【0053】
[0060]ビデオエンコーダ20は、全てのケースにおいて変換スキップコード化又は不可逆コード化を実行する必要はない。幾つかの例では、ビデオエンコーダ20は可逆コード化(lossless coding)を実行することができる。可逆コード化(時折transquant bypassと称される)では、ビデオエンコーダ20は残差ブロックを変換せず、残差ブロックを量子化しない。この例では、ビデオデコーダ30によって再構築されるような残差ブロックは、ビデオエンコーダ20によって生成された残差ブロックと同一であり、一方で、不可逆コード化及び変換スキップコード化では、ビデオデコーダ30によって再構築されるような残差ブロックは、ビデオエンコーダ20によって生成された残差ブロックとはわずかに異なりうる。
【0054】
[0061]言い換えると、変換(transform)が適用されるとき、変換は、画素ドメインから変換ドメインに、残差ブロックの残差値を変換する(convert)。幾つかの例では、変換スキップ又は変換バイパスでは、残差データは、予測ブロックと現在のブロックとの間の差分からの残差値を、画素ドメインから変換ドメインに残差値を変換する変換がその残差値に適用されない状態で、含む。
【0055】
[0062]ビデオデコーダ30は、コード化されたビデオデータを取得すると、ビデオエンコーダ20に関して説明された符号化パスと概して相対応する(reciprocal)復号パスを実行することができる。例えば、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロック及び関連付けられたシンタックス要素を表す符号化されたビデオビットストリームを取得することができる。ビデオデコーダ30は、ビットストリームに含まれるデータを使用して、元の、符号化されていないビデオシーケンス(例えば、又は不可逆コード化では元の残差の量子化されたバージョン)を再構築することができる。例えば不可逆コード化では、ビデオデコーダ30は、量子化された変換係数を決定するために、ビットストリームにおけるシンタックス要素をエントロピー復号することができる。ビデオデコーダ30は、ビデオエンコーダ20が量子化された残差ブロックを構築するために利用したものと同じ走査順序を利用することができる。ビデオデコーダ30はその後、変換係数を決定するために、量子化された変換係数を逆量子化することができる。ビデオデコーダ30はまた、残差ブロックの係数を決定するために変換係数に逆変換を適用することもできる。
【0056】
[0063]変換スキップコード化では、ビデオデコーダ30は、量子化された係数を決定し、ビデオエンコーダ20が量子化された残差ブロックを構築するために使用したものと同じ走査順序を利用し、その後残差ブロックの係数を決定するよう量子化された係数を逆量子化するために、ビットストリームにおけるシンタックス要素をエントロピー復号することができる。符号化プロセスにおいて変換がスキップされたので、どの逆変換も必要とされない。
【0057】
[0064]可逆コード化(例えば、変換バイパス又は単にバイパス)では、ビデオデコーダ30は、ビットストリームにおけるシンタックス要素をエントロピー復号することができ、ビデオエンコーダ20が残差ブロックの係数を直接決定するために使用したものと同じ順序を利用することができる。符号化プロセスにおいて変換及び量子化の両方がスキップされたので、どの逆の量子化も変換も必要とされない。
【0058】
[0065]いずれのケースでも、ビデオデコーダ30は予測ブロックを決定する。予測ブロックは、(例えばイントラ予測に関して、又はイントラBC予測に関しては)現在のブロックと同じピクチャに位置し得、又は(例えば、インター予測に関しては)現在のブロックとは異なるピクチャに位置しうる。ビデオデコーダ30は、現在のブロックの画素値を再構築するために(例えば、現在のブロックを復号するために)、予測ブロックにおける再構築された画素値、及び(例えば、符号化されたビットストリームから取得されたような)残差ブロックにおける対応する残差値を使用する。
【0059】
[0066]幾つかの事例では、ビデオエンコーダ20及びビデオデコーダ30は、ブロックの1つ又は複数の残差値を、そのブロックからの1つ又は複数の他の残差値を使用して予測することができる。例えば、ビデオエンコーダ20は、1つ又は複数のTUに残差ブロックを分割することができる。「残差ブロック」は一般に、その係数が(例えば、ビデオエンコーダ20によって)エントロピー符号化されるか、(例えば、ビデオデコーダ30によって)エントロピー復号されるものとするブロックを指しうる。例えば、ビデオエンコーダ20が、単一のTUを生成するために現在のブロックと予測ブロックとの間の差分から結果として生じたブロックを更に分割しない場合、残差ブロックはTUに対応する。ビデオエンコーダ20が、複数のTUを生成するために現在のブロックと予測ブロックとの間の差分から結果として生じたブロックを分割する場合、残差ブロックは複数のTUのうちの1つに対応する。
【0060】
[0067]インター予測されたブロックでは、ビデオエンコーダ20は、RDPCMがオンであるかオフであるか(例えば、RDPCMが適用されるか否か)、及び(適用される場合)RDPCMの方向を明示的に信号伝達することができる。ビデオデコーダ30は、ビットストリームからRDPCMシンタックス要素を取得し、それに従ってRDPCMを適用することができる。
【0061】
[0068]幾つかの例では、ビデオエンコーダ20は、TUレベルでの信号伝達を提供することができる。これらの例では、予測ブロックと元のブロックとの間の差分から結果として生じたブロックは、TUに分割される。ビデオエンコーダ20はその後、RDPCMが適用されるか否か、を示す情報(例えば、フラグのようなシンタックス要素)及び(適用される場合)TUごとにRDPCMの方向の情報を信号伝達する。他の例では、TUレベルにおけるよりもむしろ、CU又はPUレベルで、ビデオエンコーダ20は、RDPCMが適用されるか否かを示す情報及び方向(例えば、RDPCMのモード/方向情報)を信号伝達することができる。これらの例では、同じモード/方向が全てのTUに適用可能であるだろう。
【0062】
[0069]イントラ予測されたブロックでは、ビデオエンコーダ20及びビデオデコーダ30は、例えばイントラ予測方向に従って、同じ形でRDPCMを適用することができる。例えば、水平イントラ予測モードでは、ビデオエンコーダ20は水平RDPCMを適用することができ、垂直イントラ予測モードでは、ビデオエンコーダ20は垂直RDPCMを適用することができる。幾つかの例では、ビデオエンコーダ20及びビデオデコーダ30は、垂直及び水平以外の方向イントラ予測モードのためにRDPCMを適用しないことがある。
【0063】
[0070]RDPCMがイントラ予測されたブロックのために適用される場合、ビデオエンコーダ20は、ビットストリームにおいて、RDPCMモード(例えば、RDPCM方向)を信号伝達しないことがある。むしろ、この例では、ビデオエンコーダ20は、イントラ予測モードを示す情報を信号伝達することができ、ビデオデコーダ30は、RDPCM方向がイントラ予測モードと同じであると決定することができる。このように、イントラ予測から生成されたTU(例えば、残差ブロック)では、RDPCMの適用は、ビデオエンコーダ20がRDPCM方向を示す情報を信号伝達しないことがある点で、暗黙でありうる。むしろ、ビデオデコーダ30は単に、イントラ予測されたブロックのために信号伝達されるイントラモードに基づいて、RDPCMモード(例えば、RDPCM方向)を決定する。
【0064】
[0071]従って、明示的及び暗黙の信号伝達メカニズムがインター予測されたデータ及びイントラ予測されたデータ、それぞれにRDPCMを適用するために提供されるけれども、RDPCMは、イントラBC予測された残差に前に適用されなかった。従って、イントラBC予測された残差にRDPCMを適用するべきかどうか(及びどのように適用するか)を示すためのメカニズムを予め信号伝達しなかった。
【0065】
[0072]本開示の態様にしたがうと、ビデオエンコーダ20及び/又はビデオデコーダ30は、RDPCMに関連してイントラBCを適用することができる。例えば、ビデオエンコーダ20は、ピクチャの現在のブロックと予想ブロックとの間の差分に基づいて、ピクチャの現在のブロックに関する残差ブロックを生成することができる。ビデオエンコーダ20はその後、残差ブロックの1つ又は複数の他の残差値に基づいて残差ブロックの1つ又は複数の残差値を予測することによって、残差ブロックに基づいて予測された残差ブロックを生成することができる。ビデオエンコーダ20はその後、ビットストリームにおいて予測された残差ブロックを表すデータを符号化することができる。
【0066】
[0073]例えば、ビデオエンコーダ20は、残差ブロックを生成するためにイントラBCプロセスを実行することができる。上で着目されたように、イントラBCは、ピクチャ内の冗長性を除去する専用のプロセスでありうる。以下で
図4に関連してより詳細に説明されるように、例えば、ビデオエンコーダ20は、同じピクチャ中の既に再構築された領域からコード化されているCUに関する残差ブロックを取得することができる。幾つかの事例では、ビデオエンコーダ20は、再構築された領域における予測ブロックを識別するオフセットベクトルを決定することができ、残差信号とともにオフセットベクトル(変位ベクトル又は動きベクトルとも称される)を符号化することができる。このように、オフセットベクトルは、現在のCUから変位されたような残差ベクトルを生成するために使用されるピクチャにおける予測ブロックの位置を示す。
【0067】
[0074]本開示の態様にしたがうと、ビデオエンコーダ20はその後、残差ブロックの1つ又は複数の他の残差値に基づいて残差ブロックの1つ又は複数の残差値を予測することによって、イントラBC残差ブロックに基づいて予測された残差ブロックを生成することができる。例えば、ビデオエンコーダ20は、予想ブロックを生成するために残差ブロックにRDPCMプロセスを実行することができる。ビデオエンコーダ20は、DPCM−オフ、RDPCM−水平、及びRDPCM−垂直を含む、3つの異なるRDPCMモードのうちの1つを選択することによってRDPCMを適用することができる。RDPCM−オフでは、ビデオコーダ20はRDPCMを適用しないことがある。RDPCM−水平では、ビデオエンコーダ20は、現在の残差値を予測するためにコード化されている画素の左側の画素位置、例えば、左側の列における再構築された残差値、を使用することができる。RDPCM−垂直では、ビデオエンコーダ20は、現在の残差値を予測するためにコード化されている画素の上方の画素位置、例えば、上の行における再構築された残差値、を使用することができる。従って、RDPCMを適用した後、ブロックは、元の残差ブロックの予測された残差値を含むことができる。
【0068】
[0075]本開示の態様にしたがうと、ビデオデコーダ30は、予測された残差ブロックに基づいてピクチャの残差ブロックを生成することができ、ここにおいて残差ブロックを決定することは、残差ブロックの1つ又は複数の予測された残差値に基づいて残差ブロックの1つ又は複数の残差値を再構築することを含む。ビデオデコーダ30はその後、ピクチャの予想ブロックと残差ブロックとの組み合わせに基づいてピクチャの現在のブロックを生成する。
【0069】
[0076]例えばビデオデコーダ30は、予測された残差ブロックに基づいてピクチャの残差ブロックを生成するためにRDPCMプロセスを使用することができる。ビデオエンコーダ20に関連して上で着目されたように、ビデオデコーダ30は、DPCM−オフ、RDPCM−水平、及びRDPCM−垂直を含む、3つの異なるRDPCMモードのうちの1つを選択することによってRDPCMを適用することができる。ビデオデコーダ30は、符号化されたビットストリームからRDPCMモードを示す1つ又は複数のシンタックス要素を取得することができる。
【0070】
[0077]ビデオデコーダ30はその後、ピクチャの現在のブロックを生成するためにイントラBC予測プロセスを実行することができる。例えば、ビデオデコーダ30は、符号化されたビットストリームから、復号されているピクチャの既に再構築された部分に含まれる予想ブロックの位置を示すオフセットベクトルを取得することができる。ビデオデコーダはその後、現在のブロックを生成(再構築)するために、決定された残差と予想ブロックを組み合わせることができる。
【0071】
[0078]本開示の技法はまた、イントラBCモードを使用して生成された残差にRDPCMを適用することに関連付けられた信号伝達にも関する。本開示の態様にしたがうと、ビデオエンコーダ20は、イントラBCを使用して予測されたブロックにRDPCMを適用すべきかどうかのインジケーションを符号化することができる。幾つかの例では、ビデオエンコーダ20は、インター予測されたデータに関連して上で説明された明示的な信号伝達と同様の方法で、RDPCMを適用すべきかどうかを示すための1つ又は複数のシンタックス要素を符号化することができる。例えば、イントラBCを使用してブロックを予測するとき、ビデオエンコーダ20は、RDPCMがオンであるかオフであるか(例えば、RDPCMが適用されるか適用されないか)、及び(適用される場合)RDPCMの方向を明示的に信号伝達することができる。ビデオデコーダ30は、ビットストリームからRDPCMシンタックス要素を取得し、それに従ってRDPCMを適用することができる。
【0072】
[0079]本開示の態様にしたがうと、RDPCMは、例えばSPSに含まれる1つ又は複数のシンタックス要素に従って、シーケンスレベルで有効(又は無効)にされうる。例えば、ビデオエンコーダ20は、RDPCMが有効にされるかどうかを示す1つ又は複数のシンタックス要素を符号化することができる。幾つかの例では、1つ又は複数のシンタックス要素は、1つよりも多い予測モード(例えば、ここにおいて予測モードは、インター予測モード、イントラ予測モード、及びイントラBC予測モードを含む)に適用可能でありうる。例えば、ビデオエンコーダ20は、RDPCMがインター予測された残差とイントラBC予測された残差との両方に有効にされるかどうかを示すためにresidual_dpcm_inter_enabled_flagシンタックス要素(又は同様のシンタックス要素)を符号化することができる(例えば、そのフラグは、1つのフラグがイントラ予測モードとイントラBC予測モードの両方のために信号伝達されるように、両方のモードに適用可能である)。ビデオデコーダ30は、ビットストリームからそのようなフラグを復号し、RDPCMが有効にされるかどうかを決定することができる。有効にされるとき、1つ又は複数の追加のシンタックス要素は、RDPCMがブロックに関してオンであるかオフであるか(例えば、RDPCMが適用されるか否か)、及び(適用される場合)ブロックに関するRDPCMの方向を示すために明示的に信号伝達されうる。
【0073】
[0080]
図2は、本開示で説明されているような変換のための技法を使用することができるビデオエンコーダ20の例を例示するブロック図である。ビデオエンコーダ20は、例示の目的で、しかし本開示の他のコード化規格についての限定なしで、HEVCコード化のコンテキストにおいて説明されるだろう。
【0074】
[0081]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラ及びインターコード化を実行することができる。イントラコード化は、所与のビデオピクチャ内のビデオにおける空間冗長性を低減又は除去するために空間予測に依存する。インターコード化は、ビデオシーケンスの隣接ピクチャ内におけるビデオにおける時間冗長性を低減又は除去するために時間予測に依存する。イントラモード(Iモード)は、幾つかの空間ベースの圧縮モードのいずれも指しうる。単一方向予測(Pモード)又は双予測(Bモード)のようなインターモードは、幾つかの時間ベースの圧縮モードのいずれも指しうる。
【0075】
[0082]
図2の例において、ビデオエンコーダ20は、ビデオデータメモリ38、モード選択ユニット40、参照ピクチャメモリ64、加算器50、変換処理ユニット52、量子化ユニット54、及びエントロピー符号化ユニット56を含む。次に、モード選択ユニット40は、動き補償ユニット44、動き推定ユニット42、イントラ予測ユニット46、イントラBCユニット47、及び区分化ユニット48を含む。ビデオブロック再構築のために、ビデオエンコーダ20はまた、逆量子化ユニット58、逆変換ユニット60、加算器62、及びフィルタリングユニット66も含む。
【0076】
[0083]ビデオデータメモリ38は、ビデオエンコーダ20のコンポーネントによって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ38に記憶されたビデオデータは、例えばビデオソース18から取得されうる。参照ピクチャメモリ64は、例えば、イントラ又はインターコード化モードでビデオエンコーダ20によってビデオデータを符号化する際に使用される参照ビデオデータを記憶する復号されたピクチャバッファと称されうる。ビデオデータメモリ38及び参照ピクチャメモリ64は、同期ダイナミックアクセスランダムメモリ(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、又は他のタイプのメモリデバイスのような、様々なメモリデバイスのいずれによっても形成されうる。ビデオデータメモリ38及び参照ピクチャメモリ64は、同じメモリデバイス又は別個のメモリデバイスによって提供されうる。様々な例において、ビデオデータメモリ38は、ビデオエンコーダ20の他のコンポーネントとオンチップであるか、それらのコンポーネントに対してオフチップでありうる。
【0077】
[0084]符号化プロセス中、ビデオエンコーダ20は、コード化されるべきビデオピクチャ又はスライスを受信する。ピクチャ又はスライスは、複数のビデオブロックに分割されうる。動き推定ユニット42及び動き補償ユニット44は、時間圧縮を提供するために、1つ又は複数の参照ピクチャにおける1つ又は複数のブロックに対して、受信されたビデオブロックのインター予測コード化を実行する。イントラ予測ユニット46は代わりとして、空間圧縮を提供するために、コード化されるべきブロックと同じピクチャ又はスライスにおける1つ又は複数の近隣画素値に対して、受信されたビデオブロックのイントラ予測コード化を実行することができる。ビデオエンコーダ20は、例えば、ビデオデータのブロックごとに適切なコード化モードを選択するために複数のコード化パスを実行することができる。
【0078】
[0085]更に、区分化ユニット48は、前のコード化パスにおける前の区分化スキームの評価値(evaluation)に基づいて、ビデオデータのブロックをサブブロックに区分化することができる。例えば、区分化ユニット48は、レート−歪分析(例えば、レート−歪最適化)に基づいて、最初にピクチャ又はスライスをLCUに区分化し、LCUの各々をサブCUに区分化することができる。モード選択ユニット40は更に、サブCUへのLCUの区分化を示す四分木データ構造を作り出すことができる。四分木のリーフノードCUは、1つ又は複数のPU及び1つ又は複数のTUを含むことができる。
【0079】
[0086]モード選択ユニット40は、例えば、誤差結果に基づいて、コード化モード、イントラか又はインター、のうちの1つを選択し、残差ブロックデータを生成するために加算器50に、及び参照ピクチャとして使用される符号化されたブロックを再構築するために加算器62に、結果として生じたイントラ又はインターコード化されたブロックを提供する。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分化情報、及び他のそのようなシンタックス情報、のようなシンタックス要素を、をエントロピー符号化ユニット56に提供する。
【0080】
[0087]動き推定ユニット42及び動き補償ユニット44は、高度に統合されうるが、考え方の目的で別個に例示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のビデオピクチャ内のビデオブロックのPUの、その現在のピクチャ(又は他のコード化された単位)内でコード化されているその現在のブロックに関連する参照ピクチャ(又は他のコード化された単位)内の予測ブロックに対する変位を示すことができる。
【0081】
[0088]予測ブロックは、絶対値誤差和(SAD:sum of absolute difference)、二乗誤差和(SSD:sum of square difference)、又は他の誤差メトリックによって決定されうる画素差分の観点から、コード化されるべきブロックに密接に一致するとみられるブロックである。幾つかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数画素位置に関する値を計算することができる。例えば、ビデオエンコーダ20は、参照ピクチャの4分の1画素位置、8分の1画素位置、又は他の分数画素位置の値を補間することができる。従って、動き推定ユニット42は、フル画素位置及び分数の画素位置に対して動き探索を実行し、分数画素精度を有する動きベクトルを出力することができる。
【0082】
[0089]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化されたスライスにおけるビデオブロックのPUに関する動きベクトルを計算する。参照ピクチャは、各々が参照ピクチャメモリ64に記憶された1つ又は複数の参照ピクチャを識別する第1の参照ピクチャリスト(リスト0)又は第2の参照ピクチャリスト(リスト1)から選択されうる。動き推定ユニット42は、エントロピー符号化ユニット56及び動き補償ユニット44に計算された動きベクトルを送る。
【0083】
[0090]動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて、予測ブロックを取り込むこと又は生成することを伴うことができる。また、幾つかの例では、動き推定ユニット42及び動き補償ユニット44は機能的に統合されうる。現在のビデオブロックのPUに関する動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて、動きベクトルが指す予測ブロックを位置付けることができる。加算器50は、下記で論じられるように、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット42は、輝度成分に関して動き推定を実行し、動き補償ユニット44は、彩度成分と輝度成分の両方に関して、輝度成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際に、ビデオデコーダ30によって使用されるビデオブロック及びビデオスライスに関連付けられるシンタックス要素を生成することができる。
【0084】
[0091]イントラ予測ユニット46は、上で説明されたように、動き推定ユニット42及び動き補償ユニット44によって実行されるインター予測の代わりとして、現在のブロックをイントラ予測することができる。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。幾つかの例では、イントラ予測ユニット46は、例えば別個の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(又は、幾つかの例ではモード選択ユニット40)は、テストされたモードから使用すべき適切なイントラ予測モードを選択することができる。
【0085】
[0092]例えば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに関するレート−歪分析を使用してレート−歪値を計算し、テストされたモードのうち、最良のレート−歪特性を有するイントラ予測モードを選択することができる。レート−歪分析は概して、符号化されたブロックを作り出すために使用されるビットレート(即ち、ビットの数)と加え、符号化されたブロックと、その符号化されたブロックを作り出すために符号化された元の、符号化されないブロックとの間の歪み(又は誤差)の量を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックに関して最良のレート−歪値を提示しているかを決定するために、様々な符号化されたブロックに関するレート及び歪みから比率(ratio)を計算することができる。
【0086】
[0093]ビデオエンコーダ20は、コード化されている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つ又は複数のコンポーネントを表す。
【0087】
[0094]変換処理ユニット52は、離散コサイン変換(DCT)又は概念上同様の変換のような変換を、残差ブロックに適用し、残差変換係数値を備えるビデオブロックを作り出す。変換処理ユニット52は、DCTと概念上同様の他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換、又は他のタイプの変換もまた使用されうる。どのケースでも、変換処理ユニット52は、その変換を残差ブロックに適用し、残差変換係数のブロックを作り出す。変換(transform)は、残差情報を、画素値ドメインから周波数ドメインのような変換ドメインへ変換する(convert)ことができる。
【0088】
[0095]変換処理ユニット52は、量子化ユニット54に結果として生じた変換係数を送ることができる。量子化ユニット54は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の幾つか又は全てに関連付けられたビット深度を低減することができる。量子化の程度は量子化パラメータを調整することによって変更されうる。幾つかの例では、量子化ユニット54はその後、量子化された変換係数を含む行列の走査を実行することができる。代わりとして、エントロピー符号化ユニット56は走査を実行することができる。
【0089】
[0096]量子化に続いて、エントロピー符号化ユニット56は量子化された変換係数をエントロピーコード化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースのコンテキスト適応型バイナリ算術コード化(SBAC)、確率間隔区分化エントロピー(PIPE:probability interval partitioning entropy)コード化、又は別のエントロピーコード化技法を実行することができる。コンテキストベースのエントロピーコード化のケースでは、コンテキストは近隣ブロックに基づきうる。エントロピー符号化ユニット56によるエントロピーコード化に続いて、符号化されたビットストリームは、別のデバイス(例えば、ビデオデコーダ30)に送信されるか、又は後の送信又は検索のためにアーカイブされうる。
【0090】
[0097]逆量子化ユニット58及び逆変換ユニット60は、例えば、参照ブロックとしての後の使用のために、画素ドメインにおける残差ブロックを再構築するように、逆量子化及び逆変換をそれぞれ適用する。
【0091】
[0098]動き補償ユニット44は、参照ピクチャメモリ64のピクチャのうちの1つの予測ブロックに残差ブロックを加えることによって、参照ブロックを計算することができる。動き補償ユニット44はまた、動き推定において使用されるサブ整数画素値を計算するために、再構築された残差ブロックに1つ又は複数の補間フィルタを適用することもできる。加算器62は、参照ピクチャメモリ64への記憶のための再構築されたビデオブロックを作り出すために、動き補償ユニット44によって作り出された動き補償された予想ブロックに再構築された残差ブロックを加える。再構築されたビデオブロックは、後続のビデオピクチャにおいてブロックをインターコード化するための参照ブロックとして動き推定ユニット42及び動き補償ユニット44によって使用されうる。
【0092】
[0099]フィルタリングユニット66は、様々なフィルタリングプロセスを実行することができる。例えば、フィルタリングユニット66はデブロッキングを実行することができる。即ち、フィルタリングユニット66は、再構築されたビデオのスライス又はフレームを形成する複数の再構築されたビデオブロックを受信し、スライス又はフレームからブロック歪み(blockiness artifact)を除去するためにブロック境界部をフィルタ処理することができる。一例では、フィルタリングユニット66は、ビデオブロックのいわゆる「境界強度」を評価する。ビデオブロックの境界強度に基づいて、1つのビデオブロックからの移動が、視聴者が見抜くことがより困難であるように、ビデオブロックのエッジ画素が隣接ビデオブロックのエッジ画素に関連してフィルタリングされうる。
【0093】
[0100]
図2の例が概して、不可逆コード化を実行するためのビデオエンコーダとしてビデオエンコーダ20を例示している一方で、本開示の技法はまた、可逆ビデオコード化にも適用されうる。幾つかの例では、可逆コード化は、変換及び量子化を除外する。他の例では、可逆コード化は変換を実行し、量子化プロセスのみを除外する。更に他の例では、可逆コード化は、変換及び量子化を使って実行されうるが、量子化パラメータは、あらゆる量子化データ損失を回避するために選択されうる。これらの、及び他の例は、本開示の範囲内にある。そのような事例では、ビデオエンコーダ20は、変換スキップ、量子化スキップ、又は他の可逆コード化技法を実行するためのコンポーネントを含むことができる。
【0094】
[0101]本開示で説明されている技法の様々な態様にしたがうと、エンコーダ20は、ピクチャの現在のブロックと予想ブロックとの間の差分に基づいて、ピクチャの現在のブロックに関する残差ブロックを生成することができる。例えば、イントラBCユニット47は、(例えば、
図4に関連して例示及び説明されるような)残差ブロックを生成するためのイントラBCプロセスを適用することができる。
【0095】
[0102]加えて、本開示の態様にしたがうと、ビデオエンコーダ20は、残差ブロックの1つ又は複数の他の値に基づいて残差ブロックの1つ又は複数の残差値を予測することによって、残差ブロックに基づいて予測された残差ブロックを生成する。例えば、イントラBCユニット47は、残差ブロックを更に圧縮するためにRDPCMを適用することができる。ビデオエンコーダ20はその後、例えば、量子化ユニット54を使用して予測された残差ブロックを量子化し、量子化された値をエントロピーコード化することによって、予測された残差ブロックを符号化することができる。
【0096】
[0103]本技法の幾つかの異なる態様及び例が本開示において説明されているけれども、技法の様々な態様及び例が、共に又は互いと別個に実行されうる。言い換えると、本技法は、上で説明された様々な態様及び例に厳密に限定されるべきでないけれども、組み合わせて使用されうるか、又は共に及び/又は別個に実行されうる。加えて、ある特定の技法がビデオエンコーダ20のある特定のユニット(例えば、イントラBCユニット47、動き補償ユニット44、又はエントロピー符号化ユニット56)に属するものと見なされうる一方で、ビデオエンコーダ20の1つ以上の他のユニットもまたそのような技法を実行することを担いうることは理解されるべきである。
【0097】
[0104]
図3は、本開示で説明されているような変換のための技法を実行することができるビデオデコーダ30の例を例示しているブロック図である。また、ビデオデコーダ30は、例示の目的で、しかし他のコード化規格に関する本開示の限定なしで、HEVCコード化のコンテキストにおいて説明されるだろう。
【0098】
[0105]
図3の例において、ビデオデコーダ30は、ビデオデータメモリ68、エントロピー復号ユニット70、動き補償ユニット72、イントラ予測ユニット74、イントラBCユニット75、逆量子化ユニット76、逆変換ユニット78、参照ピクチャメモリ82、加算器80、及びフィルタリングユニット84を含む。
【0099】
[0106]ビデオデータメモリ68は、ビデオデコーダ30のコンポーネントによって復号されるべき、符号化されたビデオストリームのようなビデオデータを記憶することができる。ビデオデータメモリ68に記憶されたビデオデータは、例えば、ビデオデータの有線又はワイヤレスネットワーク通信を介して、又は物理データ記憶媒体にアクセスすることによって、コンピュータ可読媒体16、例えば、カメラのようなローカルビデオソースから、取得されうる。ビデオデータメモリ68は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコード化されたピクチャバッファ(CPB)を形成することができる。参照ピクチャメモリ82は、例えば、イントラ又はインターコード化モードでビデオデコーダ30によってビデオデータを復号する際に使用される参照ビデオデータを記憶する復号されたピクチャバッファと称されうる。ビデオデータメモリ68及び参照ピクチャメモリ82は、同期ダイナミックアクセスランダムメモリ(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、又は他のタイプのメモリデバイスのような、様々なメモリデバイスのいずれによっても形成されうる。ビデオデータメモリ68及び参照ピクチャメモリ82は、同じメモリデバイス又は別個のメモリデバイスによって提供されうる。様々な例において、ビデオデータメモリ68は、ビデオデコーダ30の他のコンポーネントとオンチップであるか、それらのコンポーネントに対してオフチップでありうる。
【0100】
[0107]復号プロセス中、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロック及び関連付けられたシンタックス要素を表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化された係数、動きベクトル又はイントラ予測モードインジケータ、及び他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動き補償ユニット72に、動きベクトル及び他のシンタックス要素を転送する。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルでシンタックス要素を受信することができる。
【0101】
[0108]ビデオスライスがイントラコード化(I)スライスとしてコード化されるとき、イントラ予測ユニット74は、現在のピクチャの前に復号されたブロックから信号伝達されたイントラ予測モード及びデータに基づいて、現在のビデオスライスのビデオブロックに関する予測データを生成することができる。ビデオピクチャがインターコード化された(即ち、B、P、又はGPB)スライスとしてコード化されるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックに関する予測ブロックを作り出す。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから作り出されうる。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づいてデフォルトの構築技法を使用して、参照ピクチャリスト、リスト0及びリスト1、を構築することができる。
【0102】
[0109]動き補償ユニット72は、動きベクトル及び他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックに関する予測情報を決定し、復号されている現在のビデオブロックに関する予測ブロックを作り出すためにその予測情報を使用する。例えば、動き補償ユニット72は、ビデオスライスのビデオブロックをコード化するために使用される予測モード(例えば、イントラ又はインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスのための参照ピクチャリストのうちの1つ又は複数に関する構築情報、スライスのインター符号化されたビデオブロックごとの動きベクトル、スライスのインターコード化されたビデオブロックごとのインター予測ステータス、及び現在のビデオスライスにおけるビデオブロックを復号するための他の情報、を決定するために受信されたシンタックス要素のうちの幾つかを使用する。
【0103】
[0110]動き補償ユニット72はまた、補間フィルタに基づいて補間を実行することができる。動き補償ユニット72は、参照ブロックのサブ整数画素に関する補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用されるような補間フィルタを使用することができる。このケースでは、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用される補間フィルタを決定し、予測ブロックを作り出すために補間フィルタを使用することができる。
【0104】
[0111]逆量子化ユニット76は、ビットストリームにおいて提供され、かつエントロピー復号ユニット70によって復号された量子化された変換係数を、逆の量子化(inverse quantizes)をする、即ち逆量子化(dequantize)する。逆量子化プロセスは、量子化の程度と、また同様に適用されるべき逆量子化の程度を決定するためにビデオスライスにおけるビデオブロックごとにビデオデコーダ30によって計算された量子化パラメータQP
Yの使用を含むことができる。
【0105】
[0112]逆変換ユニット78は、画素ドメインにおいて残差ブロックを作り出すために、逆変換、例えば逆DCT、逆整数変換、又は概念上同様の逆変換プロセス、を変換係数に適用する。ビデオデコーダ30は、動き補償ユニット72によって生成された対応する予測ブロックと、逆変換ユニット78からの残差ブロックを合計することによって、復号されたビデオブロックを形成する。加算器80は、この加算演算を実行する1つ又は複数のコンポーネントを表す。
【0106】
[0113]フィルタリングユニット84は、幾つかの例では、ビデオエンコーダ20(
図2)のフィルタリングユニット66と同様に構成されうる。例えば、フィルタリングユニット84は、符号化ビットストリームからビデオデータを復号及び再構築するとき、デブロッキング、SAO、又は他のフィルタリング動作を実行するように構成されうる。
【0107】
[0114]重ねて、
図2に関連して上で着目されたように、
図3の例は概して、不可逆コード化を実行するためのビデオエンコーダとしてビデオデコーダ30を例示している一方で、本開示の技法はまた、可逆ビデオコード化にも適用されうる。幾つかの例では、可逆コード化は、変換及び量子化を除外する。他の例では、可逆コード化は変換を実行し、量子化プロセスのみを除外する。更に他の例では、可逆コード化は変換及び量子化を使って実行されうるが、量子化パラメータは、あらゆる量子化データ損失を回避するために選択されうる。これらの及び他の例は、本開示の範囲内にある。そのような事例では、ビデオデコーダ30は、変換スキップ、量子化スキップ、又は他の可逆コード化技法を実行するためのコンポーネントを含むことができる。
【0108】
[0115]幾つかの事例では、ビデオデコーダ30は、上記のビデオエンコーダ20に関連して説明された技法の1つ又は複数を実行することができる。例えば、ビデオデコーダ30は、ビデオデータを決定するために、イントラBCプロセス及びRDPCMプロセスの両方を適用するための本開示の技法を実行することができる。幾つかの例では、ビデオデコーダ30は、符号化されたビットストリームから1つ又は複数のシンタックス要素を取得し、そのようなシンタックス要素に基づいて本開示の技法を実行することができる。
【0109】
[0116]例えば、本開示で説明されている技法の様々な態様にしたがうと、ビデオデコーダ30は、ピクチャの残差ブロックを生成するために、受信された予測された残差にRDPCMを実行することができる。即ちビデオデコーダ30は、ビデオエンコーダ20によって適用されたものと逆のRDPCMプロセスを実行することができる。
【0110】
[0117]加えて、ビデオデコーダ30、例えばビデオデコーダ30のイントラBCユニット75は、オフセットベクトルによって識別されたもののブロックとピクチャの残差ブロックを組み合わせることによって、ピクチャの現在のブロックを決定することができる。
【0111】
[0118]本技法の幾つかの異なる態様及び例が本開示において説明されているけれども、技法の様々な態様及び例が、共に又は互いと別個に実行されうる。言い換えると、本技法は、上で説明された様々な態様及び例に厳密に限定されるべきでないけれども、組み合わせて使用されうるか、又は共に及び/又は別個に実行されうる。加えて、ある特定の技法がビデオデコーダ30のある特定のユニットに属するものと見なされうる一方で、ビデオデコーダ30の1つ又は複数の他のユニットもまたそのような技法を実行することを担いうることは理解されるべきである。
【0112】
[0119]
図4は、イントラブロックコピープロセスの例を例示している図である。
図4の例は、現在のコード化単位(CU)90、探索領域94に位置する予想ブロック92、及びオフセットベクトル96を含む。符号化中、ビデオエンコーダ20は、予想ブロック92(予測信号とも称されうる)と現在のCU90との間の差分に基づいて、現在のCU90に関する残差を符号化することができる。ビデオエンコーダ20は、現在のCU90と同じピクチャにおいて既に再構築されている、探索領域94内の予想ブロック92を探索することができる。ビデオエンコーダ20は、オフセットベクトル96(「変位ベクトル」とも称されうる)を使用して予想ブロック92を探索することができる。
【0113】
[0120]ビデオエンコーダ20は、残差信号と共にオフセットベクトル96を符号化することができる。例えば、ビデオエンコーダ20は、符号化されたビットストリームにおいて、オフセットベクトル96の水平変位成分及びオフセットベクトルの垂直変位成分を識別又は定義する1つ又は複数のシンタックス要素を含むことができる。ビデオエンコーダ20はまた、残差、例えば現在のCU90の画素値と予想ブロック92の画素値との間の差分、を符号化することもできる。ビデオデコーダ30は、オフセットベクトル96を決定するために1つ又は複数のシンタックス要素を復号し、現在のCU90に関する予想ブロック92を識別するために決定されたベクトルを使用することができる。ビデオデコーダ30はまた、残差を復号することもできる。ビデオデコーダ30は、(オフセットベクトル96によって識別されたような)予想ブロック92の再構築された画素値と復号された残差を組み合わせることによって現在のCU90を再構築することができる。
【0114】
[0121]幾つかの例では、オフセットベクトル96の解像度は、整数画素でありうる、例えば、整数画素解像度を有するように制限されうる。そのような例では、水平変位成分及び垂直変位成分の解像度は整数画素である。そのような例では、ビデオエンコーダ20及びビデオデコーダ30は、現在のCU90に関する予測子(predictor)を決定するために、予想ブロック92の画素値を補間する必要はない。他の例では、水平変位成分及び垂直変位成分のうちの1つ又は両方の解像度は、解像度が整数画素である。例えば、垂直及び水平成分のうちの1つが整数画素解像度を有するのに対して、はサブ画素解像度を有する。
【0115】
[0122]本開示の態様にしたがうと、ビデオエンコーダ20及び/又はビデオデコーダ30は、
図4の例で図示されているイントラBC技法を使用してビデオデータのブロックをコード化(符号化又は復号のそれぞれ)することができる。加えて、
図5A及び5Bに関連して以下でより詳細に説明されるように、ビデオエンコーダ20は及び/又はビデオデコーダは、イントラBC技法を使用して生成された残差にRDPCMを適用することができる。
【0116】
[0123]例えば、上で着目されたように、ビデオエンコーダ20は、現在のCU90と密接に一致するブロック(即ち、予想ブロック92)の位置を識別する、オフセットベクトル96を決定することができる。ビデオエンコーダ20は、現在のCU90と予想ブロック92との間の差分に基づいて残差を決定することができる。本開示の態様にしたがうと、ビデオエンコーダ20はその後、決定された残差にRDPCMを適用することができる。ビデオエンコーダ20は、オフセットベクトル96と同様にRDPCMを使用して予測された残差値を符号化することができる。
【0117】
[0124]ビデオデコーダ30は、符号化されたビットストリームから残差を復号することができる。上で着目されたように、残差は、現在のCU90と予想ブロック92との間の差分を表す。本開示の態様にしたがうと、復号された残差は、予測された残差値、例えば、RDPCMを使用して予測された残差値、を含むことができる。従って、ビデオデコーダ30は、残差(例えば、現在のCU90と予想ブロック92との間の差分)を再構築するためにRDPCMを適用することができる。ビデオデコーダ30はその後、オフセットベクトル96を使用して予想ブロック92を探索し、現在のCU90を決定するために、予想ブロック92と再構築された残差を組み合わせることができる。
【0118】
[0125]その技法は、可逆及び不可逆コード化スキームの両方において適用されうる。例えば、本開示の態様にしたがうと、上で着目されたように、残差が量子化に後続して従うかどうかに関わらず、RDPCMがイントラBCを使用して生成された残差に適用されうる。
【0119】
[0126]
図5A及び5Bは、残差差分パルスコード変調(RDPCM)技法の例を例示している図である。上で着目されたように、2つのRDPCMモードは、RDPCM垂直モード及びRDPCM水平モードを含む。RDPCMの裏側にある概念は、垂直モードに関しては現在の画素を予測するために上の行の画素を使用すること、及び水平モードに関しては現在の画素を予測するために左の列の画素を使用すること、である。例えば、サイズM(行)×N(列)の残差ブロックを検討されたい。
【数1】
残差ブロックは、ビデオブロックのいずれの成分(例えば、輝度成分、彩度成分、(RGBコード化では)赤成分、緑成分、青成分、又は同様のもの)も表すことができる。
【0120】
【数2】
として又は、可逆水平RDPCMでは、
【数3】
として得られるように、残差サンプルに適用される。
【0121】
[0128]ビデオエンコーダ20は、符号化されたビットストリームにおいて、元の残差サンプルRの代わりに、
【数4】
本明細書で説明されているように、修正残差サンプルが隣接残差サンプルから原則的に予測されるので、修正残差サンプルは、予測残差サンプルと称されうる。
【0122】
[0129]言い換えると、残差ブロックがサンプルRを含んだ場合、ビデオエンコーダ20は、
【数5】
ビデオエンコーダ20は、量子化が実行されるか(例えば、不可逆のケース)、量子化がスキップされるか(例えば、可逆のケース)に関わらず、同じRDPCMプロセスを適用することができる。幾つかの例では、ビデオエンコーダ20は、変換がスキップされるそれらのTUに関してのみ、不可逆のケースにRDPCMを拡張することができる。特に、不可逆RDPCM−垂直では、
【数6】
として又は、RDPCM−水平では、
【数7】
として、但し、Qは、順方向量子化動作を示し、
【数8】
【0123】
[0130]デコーダ側では、ビデオデコーダ30は、符号化されたビットストリームから修正される(例えば、予測された)残差サンプルを解析することができる。ビデオデコーダ30はその後、以下のように、可逆RDPCM−垂直では、
【数9】
として又は、可逆RDPCM−水平では、
【数10】
として、残差サンプルを再構築することができる。ビデオデコーダ30はまた、不可逆及び可逆ビデオコード化においてRDPCMを適用することができる。例えば、ビデオデコーダ30は、不可逆RDPCM−垂直では、
【数11】
として又は、不可逆RDPCM−水平では、
【数12】
【0124】
[0131]上で着目されたように、インターRDPCM(例えば、動き補償された残差にRDPCMを適用すること)では、ビデオエンコーダ20は、符号化されたビットストリームにおいてビデオデコーダ30にRDPCMを適用すべきかどうかを明示的に信号伝達することができる。ビデオエンコーダ20はまた、ビデオデータの特定の1つのブロック(又は複数のブロック)に関してRDPCMモード(例えば、RDPCMなし、垂直RDPCM、又は水平RDPCM)を示す、1つ又は複数のシンタックス要素を、符号化されたビットストリームにおいて明示的に信号伝達することもできる。ビデオデコーダ30は、上で着目されたように、相対応する形で、1つ又は複数のシンタックス要素を受信し、RDPCMを実行することができる。
【0125】
[0132]本開示の態様にしたがうと、ビデオエンコーダ20及び/又はビデオデコーダは、イントラBCコード化プロセスを使用して生成された残差にRDPCMを適用することができる。例えば、上で着目されたように、ビデオエンコーダ20は、現在コード化されているブロックに密接に一致する予想ブロックの位置を識別するオフセットベクトルを決定することができる。ビデオエンコーダ20は、現在のブロックと予想ブロックとの間の差分に基づいて残差を決定することができる。
【0126】
[0133]ビデオエンコーダ20は、RDPCMモードを決定することができる。幾つかの例では、ビデオエンコーダ20は、レート−歪分析(例えば、レート−歪最適化)を使用してRDPCMモードを決定することができる。ビデオエンコーダ20は、RDPCMオフ(例えば、RDPCMを適用しない)、(
図5Aの例で図示されているような)垂直モード、又は(
図5Bの例で図示されているような)水平モード、の間から選択することができる。ビデオエンコーダ20は、例えば、上で説明されたプロセスにしたがうと、予測された残差値とも称されうる、修正残差値を生成するために決定されたモードを使用することができる。ビデオエンコーダ20はその後、決定されたオフセットベクトルに加えて、予測された残差値を符号化することができる。
【0127】
[0134]ビデオデコーダ30は、符号化されたビットストリームから残差を復号することができる。復号された残差は、修正残差値、例えば、RDPCMを使用して予測された残差値、を含むことができる。ビデオデコーダ30は、残差(例えば、元の残差の量子化されたバージョン)を再構築するためにRDPCMを適用することができる。例えば、ビデオデコーダ30は、変更されない残差を再構築するために、ビデオエンコーダ20と相対応するRDPCMプロセスを適用することができる。
【0128】
[0135]本開示の態様にしたがうと、ビデオデコーダ30は、修正される残差に適用すべき適切なRDPCMモードを決定するために1つ又は複数のシンタックス要素を復号することができる。例えば、1つ又は複数のシンタックス要素は、RDPCMオフ(例えば、RDPCMを適用しない)を選択すべきか、(
図5Aの例で図示されているような)垂直モードを選択すべきか、又は(
図5Bの例で図示されているような)水平モード、を選択すべきかどうかを示すことができる。上で着目されたように、1つ又は複数のシンタックス要素は、CU、TU、又はPUレベルで提供されうる。
【0129】
[0136]残差を再構築した後、ビデオデコーダ30は、符号化されたビットストリームから取得されたオフセットベクトルを使用して予想ブロックを探索することができる。ビデオデコーダ30はその後、予想ブロックと再構築された残差(例えば、元の残差の量子化されたバージョン)を組み合わせることによって、現在復号されているブロックを再構築することができる。上で着目されたように、その技法は、可逆及び不可逆コード化スキームの両方において適用されうる。例えば、本開示の態様にしたがうと、残差が量子化に後続して従うかどうかに関わらず、RDPCMがイントラBCを使用して生成された残差に適用されうる。
【0130】
[0137]本開示の態様にしたがうと、RDPCMは、例えばSPSに含まれる1つ又は複数のシンタックス要素に従って、シーケンスレベルで有効(又は無効)にされうる。例えば、ビデオエンコーダ20は、イントラBC予測されたデータに関してRDPCMが有効にされるかどうかを示す1つ又は複数のシンタックス要素を符号化することができる。概して、有効にされるとき、ビデオデコーダ30は、イントラBCプロセスで符号化されたブロックをビデオデコーダ30が復号するときはいつでも、特定のRDPCMモードを示す情報を復号することを予期することができる。
【0131】
[0138]一例では、residual_dpcm_inter_enabled_flagシンタックス要素は、RDPCMがイントラBCを使用して予測されたブロックに適用されうるかどうかを示すために使用されうる。D.Flynn,J.Sole及びT.Suzukiによる2013年8月付の、Flynn他著、JCTVC−N1005_v3の「High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 4」は、SPSレベルでresidual_dpcm_inter_enabled_flagに関連する幾つかの説明を提供しうる。幾つかの例では、residual_dpcm_inter_enabled_flagシンタックス要素が1に等しいとき、RDPCMはイントラBCを使用して予測されたブロックに関してビデオエンコーダ20及びビデオデコーダ30による使用に利用可能である。そのような例では、residual_dpcm_inter_enabled_flagシンタックス要素が0に等しいとき、RDPCMはイントラBCを使用して予測されたブロックに関してビデオエンコーダ20及びビデオデコーダ30による使用に利用可能でない。上で説明されたシンタックス要素値が例示の目的で提供されていると理解されるべきであり、限定するものであると考えられるべきではない。また、これらの例となるシンタックス要素は、必ずしもSPSの一部である必要はない。
【0132】
[0139]幾つかの例では、RDPCMが有効にされるかどうかを示す1つ又は複数のシンタックス要素は、1つよりも多い予測モード(例えば、ここにおいて予測モードは、インター予測モード、イントラ予測モード、及びイントラBC予測モードを含む)に適用可能でありうる。例えば、ビデオエンコーダ20は、RDPCMがインター予測された残差及びイントラBC予測された残差の両方に有効にされるかどうかを示すためのresidual_dpcm_inter_enabled_flagシンタックス要素(又は同様のシンタックス要素)を符号化することができる(例えば、そのフラグは、1つのフラグがイントラ予測モード及びイントラBC予測モードに関して信号伝達されるように、両方に適用可能である)。ビデオデコーダ30は、ビットストリームからそのようなフラグを復号し、RDPCMが有効にされるかどうかを決定することができる。有効にされるとき、1つ又は複数の追加のシンタックス要素は、RDPCMがブロックに関してオンであるかオフであるか(例えば、RDPCMが適用されるか否か)、及び(適用される場合)ブロックに関するRDPCMの方向を示すために明示的に信号伝達されうる。
【0133】
[0140]上で説明されたresidual_dpcm_inter_enabled_flagシンタックス要素は、単なる一例に過ぎない。別の例では、residual_dpcm_inter_enabled_flagシンタックス要素の代わりに、又はそれに加えて、residual_dpcm_intra_enabled_flagシンタックス要素が、RDPCMがイントラBCで予測されたブロックに関して有効にされるかどうかを制御するためにSPSレベルで含まれうる。JCTVC−N1005_v3ドキュメントはまた、residual_dpcm_intra_enabled_flagに関連する説明も提供しうる。
【0134】
[0141]
図6は、本開示で説明されている技法を実行する際に、
図2の例で図示されているビデオエンコーダ20のようなビデオ符号化デバイスの実例的な動作を例示しているフローチャートである。ビデオエンコーダ20に関連して説明されているけれども、
図6の技法は、様々な他の処理能力を有する様々な他のデバイスによって実行されうることは理解されるべきである。
【0135】
[0142]
図6の例では、ビデオエンコーダ20は、コード化されるべきビデオピクチャ又はスライスを受信する(100)。イントラBCプロセスを実行する際に、イントラBCユニット47はまず、ビデオピクチャの現在のブロック(例えば、CU)に関してビデオピクチャにおける探索領域を識別することができる(102)。適切な探索領域を識別した後、イントラBCユニット47は次に、現在のブロックが予測されることになる探索領域内の予想ブロックを決定することができる(104)。イントラBCユニット47は、探索領域内の1つ又は複数のブロックにアクセスし、各ブロックと現在のCUとの間の差分を決定することによって、この決定を実行することができる。イントラBCユニット47は、残差の最小量、即ち言い換えると、ブロックと現在のCUとの間の最小差分を結果としてもたらすブロックとして、予想ブロックを決定することができる。
【0136】
[0143]イントラBCユニット47は次に、現在のCUに対する選択されたブロック(「予想ブロック」とも称されうる)の位置を識別するオフセットベクトルを決定することができる。このように、イントラBCユニット47は、予想ブロック及び現在のブロックに基づいて、オフセットベクトルを決定することができる(106)。イントラBCユニット47は、オフセットベクトルをエントロピー符号化してビットストリームに符号化されたオフセットベクトルを加えるエントロピー符号化ユニット56に、オフセットベクトルをパスすることができる。イントラBCユニット47はまた、予想ブロックと現在のブロックとの間の差分として残差を決定し(108)、変換処理ユニット52に残差ブロックとして残差をパスする。
【0137】
[0144]本開示の態様にしたがうと、ビデオエンコーダ20は、残差ブロックに関する修正残差値を生成することができる(110)。例えば、ビデオエンコーダ20は、残差ブロックの1つ又は複数の他の残差値から残差ブロックの1つ又は複数の残差値を予測することができる。幾つかの例では、ビデオエンコーダ20は、残差ブロックにRDPCMを適用することによって、修正残差値を生成することができる。
図5A及び5Bに関連して上で説明されたように、ビデオエンコーダは、修正残差値を生成するために、垂直RDPCMモード又は水平RDPCMモードを適用することができる。
【0138】
[0145]量子化ユニット54は、ビットレートを更に低減するために修正残差値を量子化する(112)。
図6で図示されている例となるプロセスが量子化を含む一方で、他の例では、上で着目されたように、(例えば、可逆コード化プロセスでは)量子化がスキップされうる。そのような事例では、ビデオエンコーダ20は、エントロピー符号化ユニット56に直接、修正される残差値をパスすることができる。
【0139】
[0146](実行された場合)量子化に続いて、エントロピー符号化ユニット56は、量子化された値をエントロピーコード化(一例として、統計可逆コード化を指す)を行い(114)、ビットストリームにエントロピー符号化された量子化された値を含む。ブロックの全てがイントラBCプロセスを使用して符号化されうるわけではないけれども、ビデオピクチャのブロックの全てが符号化されるまでこのプロセスは繰り返される。
【0140】
[0147]ある特定の技法がビデオエンコーダ20のある特定のユニットに属するものと見なされうる一方で、ビデオエンコーダ20の1つ又は複数の他のユニットもまたそのような技法を実行することを担いうることは理解されるべきである。
【0141】
[0148]
図7は、本開示で説明されている技法を実行する際の、
図3の例で図示されているビデオデコーダ30のようなビデオ復号デバイスの実例的な動作を例示しているフローチャートである。重ねて、ビデオデコーダ30に関連して説明されているけれども、
図7の技法が、様々な他の処理能力を有する様々な他のデバイスによって実行されうることは理解されるべきである。
【0142】
[0149]最初に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロック及び関連付けられたシンタックス要素を表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化された係数を、及びイントラBCのケースでは対応するオフセットベクトルを生成するために、ビットストリームをエントロピー復号する(122)。
図7の例で図示されているプロセスが、上で着目されたように(量子化が残差に適用された状態の)不可逆コード化プロセスに関連して説明されている一方で、その技法はまた、可逆ビデオコード化で実行されうる。
【0143】
[0150]不可逆コード化のケースでは、エントロピー復号ユニット70は、逆量子化ユニット76に量子化された係数を、イントラBCユニット75に対応するオフセットベクトルを転送する。(量子化が適用される事例において)逆量子化ユニット76は、修正残差ブロックを取得するために量子化された係数を逆量子化する(124)。以下で説明されるように、修正残差ブロックが対応する変更されない残差ブロックの値が変更されない残差ブロックの他の値を使用して予測されているので、修正残差ブロックもまた予測された残差ブロックと称されうる。
【0144】
[0151]本開示の態様にしたがうと、ビデオデコーダ30は、修正残差ブロックの値に基づいて、残差ブロックを再構築することができる(126)。例えば、ビデオデコーダ30は、ブロックの受信された修正残差値からブロックの残差値を再構築するために、ビデオエンコーダ20と相対応するプロセスを適用することができる。幾つかの例では、ビデオデコーダ30は、修正残差ブロックにRDPCMを適用することによって、残差ブロックを再構築することができる。
図5A及び5Bに関連して上で説明されたように、ビデオデコーダ30は、残差ブロックの残差値を再構築するために、垂直RDPCMモード又は水平RDPCMモードを適用することができる。
【0145】
[0152]イントラBCユニット75は、オフセットベクトルに基づいて参照ピクチャメモリ82(又は何らかの他の中間メモリ)に記憶された予想ブロックを識別し(128)、加算器80にこの予想ブロックを提供する。加算器80は、コード化された現在のブロックを復号(例えば、再構築)するために、予想ブロックと残差ブロックを合計する(130)。
【0146】
[0153]ある特定の技法がビデオデコーダ30のある特定のユニットに属するものと見なされうる一方で、ビデオデコーダ30の1つ又は複数の他のユニットもまたそのような技法を実行することを担いうることは理解されるべきである。
【0147】
[0154]例に依存して、本明細書で説明された技法のうちのいずれの特定の動作又はイベントも、異なるシーケンスで実行されるか、加えられうるか、混合されうるか、又は完全に除外されうるかが行われうる(例えば、全ての説明された動作又はイベントが技法の実施のために必要であるわけではない)ことは認識されるものとする。更にある特定の例では、動作又は事象は、例えば、マルチスレッド処理、割り込み処理、又は複数のプロセッサを通して、連続的と言うよりむしろ同時に実行されうる。
【0148】
[0155]本開示のある特定の態様は、例示の目的で開発途上のHEVC規格に関連して説明されてきた。しかしながら、本開示で説明されている技法は、まだ開発されていない他の規格の、又は他の所有権を有するビデオコード化プロセスを含む、他のビデオコード化プロセスに有益でありうる。
【0149】
[0156]本開示で説明されているようなビデオコーダは、ビデオエンコーダ又はビデオデコーダを指しうる。同様に、ビデオコード化ユニットは、ビデオエンコーダ又はビデオデコーダを指すことができる。同様に、ビデオコード化は、適用可能な場合、ビデオ符号化又はビデオ復号を指すことができる。
【0150】
[0157]1つ又は複数の例では、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせで実行されうる。ソフトウェアで実行される場合、機能は、コンピュータ可読媒体上で1つ又は複数の命令又はコードとして記憶又は送信され、ハードウェアベースの処理ユニットによって実行されうる。コンピュータ可読媒体は、例えば、通信プロトコルに従って、コンピュータプログラムの1つの場所から別の場所への転送を容易にするあらゆる媒体を含む通信媒体、又はデータ記憶媒体のような有体の媒体に対応するコンピュータ可読記憶媒体を含むことができる。
【0151】
[0158]このように、コンピュータ可読媒体は、概して、(1)非一時的である有体のコンピュータ可読記憶媒体、又は(2)信号又は搬送波のような通信媒体に対応しうる。データ記憶媒体は、本開示で説明されている技法の実行のための命令、コード、及び/又はデータ構造を検索するために、1つ又は複数のコンピュータ、若しくは1つ又は複数のプロセッサによってアクセスされることができるあらゆる利用可能な媒体でありうる。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【0152】
[0159]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROM又は他の光学ディスクストレージ、磁気ディスクストレージ又は他の磁気記憶デバイス、フラッシュメモリ、若しくは命令又はデータ構造の形態で望ましいプログラムコードを記憶するために使用され、コンピュータによってアクセスされうるあらゆる他の媒体を備えることができる。また、あらゆる接続手段がコンピュータ可読媒体と適切に名付けられる。例えば、命令が、ウェブサイトから、サーバから、又は同軸ケーブル、ファイバ光ケーブル、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線、及びマイクロ波のようなワイヤレス技術を使用する他の遠隔ソースから送信される場合、同軸ケーブル、ファイバ光ケーブル、ツイストペア、DSL、若しくは赤外線、無線、及びマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。
【0153】
[0160]しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続手段、搬送波、信号、又は他の一時的な媒体を含まないけれども、代わりとして非一時的な有体の記憶媒体を対象にすることは理解されるべきである。ディスク(disk)及びディスク(disc)は、本明細書で使用される場合、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光学ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、及びブルーレイディスク(disc)を含み、ここにおいてディスク(disk)が通常、磁気的にデータを再生する一方で、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。上記の組み合わせは、また、コンピュータ可読媒体の範囲内に含まれるべきである。
【0154】
[0161]命令は、1つ又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は、他の同等な集積又は個別論理回路、のような1つ又は複数のプロセッサによって実行されうる。従って、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造、又は本明細書で説明されている技法の実行に適したあらゆる他の構造のいずれかを指すことができる。加えて、幾つかの態様では、本明細書で説明されている機能は、符号化及び復号化のために構成された専用ハードウェア及び/又はソフトウェアモジュール内で提供されうる、又は、組み合わされたコーデックに組み込まれうる。また、技法は、1つ又は複数の回路又は論理要素において十分に実行されうる。
【0155】
[0162]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、幅広い種類のデバイス又は装置において実行されうる。様々なコンポーネント、モジュール、又はユニットは、開示された技法を実行するように構成されたデバイスの機能的な態様を強調するために本開示において説明されているけれども、必ずしも異なるハードウェアユニットによる実現を要求しない。むしろ、上で記述されたように、様々なユニットがコーデックハードウェアユニットで組み合されうる、あるいは、適したソフトウェア及び/又はファームウェアに関連して、上で説明されたような1つ又は複数のプロセッサを含む、相互動作するハードウェアユニットの集合によって提供されうる。
【0156】
[0163]様々な例が説明されてきた。これらの及び他の例は、次の請求項の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、
残差ブロックの1つ以上の予測された残差値に基づいて前記残差ブロックの1つ以上の残差値を再構築することを含み、予測された残差ブロックに基づいてピクチャの前記残差ブロックを生成することと、
前記ピクチャの予想ブロックと前記残差ブロックとの組み合わせに基づいて前記ピクチャの現在のブロックを生成することと、
を備える、方法。
[C2]
符号化されたビットストリームから前記予測された残差ブロックを取得することを更に備え、前記残差ブロックを生成することは、前記予測された残差ブロックに残差差分パルスコード変調(RDPCM)を適用することを備える、C1に記載の方法。
[C3]
前記予測された残差ブロックに前記RDPCMを適用することは、前記1つ以上の予測された残差値に水平RDPCMを適用することを備える、C2に記載の方法。
[C4]
前記予測された残差ブロックに前記RDPCMを適用することは、前記1つ以上の予測された残差値に垂直RDPCMを適用することを備える、C2に記載の方法。
[C5]
前記RDPCMを適用することは、複数のRDPCMモードからの1つのRDPCMモードを示すデータを前記符号化されたビットストリームから取得することと、示された前記RDPCMモードを適用することと、を備える、C2に記載の方法。
[C6]
RDPCMモードを示す前記データを取得することは、RDPCMオフモード、RDPCM垂直モード、及びRDPCM水平モードのうちの少なくとも1つの示すデータを取得することを備える、C5に記載の方法。
[C7]
前記ピクチャにおいて前記予想ブロックの位置を示す変位ベクトルを、符号化されたビットストリームから取得することと、
前記変位ベクトルを使用して、前記ピクチャの前記予想ブロックを探索することと、
を更に備える、C1に記載の方法。
[C8]
前記残差ブロックを生成することは、不可逆復号プロセスにおいて前記残差ブロックに逆量子化を適用することを更に備える、C1に記載の方法。
[C9]
前記残差ブロックを生成することは、可逆復号プロセスにおいて逆量子化を実行することなく前記残差ブロックを生成することを備える、C1に記載の方法。
[C10]
RDPCMプロセスが有効にされるかどうかを示す1つ以上のシンタックス要素を復号することを更に備え、前記RDPCMプロセスは、前記予測された残差ブロックに基づいて前記ピクチャの前記残差ブロックを生成するステップを含む、C1に記載の方法。
[C11]
前記1つ以上のシンタックス要素を復号することは、シーケンスパラメータセット(SPS)においてシーケンスレベルで前記1つ以上のシンタックス要素を復号することを備える、C10に記載の方法。
[C12]
前記RDPCMプロセスが有効にされるかどうかを示す前記1つ以上のシンタックス要素は、インター予測モード及びイントラBC予測モードに適用可能である、C10に記載の方法。
[C13]
ビデオデータを符号化する方法であって、
ピクチャの現在のブロックと予想ブロックとの間の差分に基づいて、前記ピクチャの前記現在のブロックに関する残差ブロックを生成することと、
前記残差ブロックの1つ以上の残差値を前記残差ブロックの1つ以上の他の残差値に基づいて予測することによって、前記残差ブロックに基づいて予測された残差ブロックを生成することと、
ビットストリームにおいて前記予測された残差ブロックを表すデータを符号化することと、
を備える、方法。
[C14]
前記予測された残差ブロックを生成することは、前記残差ブロックに残差差分パルスコード変調(RDPCM)を適用することを備える、C13に記載の方法。
[C15]
前記残差ブロックに前記RDPCMを適用することは、前記1つ以上の残差値に水平RDPCMを適用することを備える、C14に記載の方法。
[C16]
前記予測された残差ブロックに前記RDPCMを適用することは、前記1つ以上の残差値に垂直RDPCMを適用することを備える、C14に記載の方法。
[C17]
前記RDPCMを適用することは、複数のRDPCMモードから1つのRDPCMモードを選択することと、選択された前記RDPCMモードを適用することと、を備え、前記方法は、選択された前記RDPCMモードを示すデータを符号化することを更に備える、C14に記載の方法。
[C18]
選択された前記RDPCMモードを示すデータを符号化することは、RDPCMオフモード、RDPCM垂直モード、及びRDPCM水平モードのうちの少なくとも1つの示すデータを符号化することを備える、C17に記載の方法。
[C19]
前記残差ブロックを生成することは、前記残差ブロックを生成するためのイントラブロックコピー(イントラBC)プロセスを適用することを備え、前記イントラBCプロセスを適用することは、前記予想ブロックを選択すべき前記ピクチャの領域を決定することと、前記予想ブロックを識別する変位ベクトルを決定することとを備え、前記方法は、前記変位ベクトルを表すデータを符号化することを更に備える、C13に記載の方法。
[C20]
前記データを符号化することは、不可逆符号化プロセスにおいて前記予測された残差に量子化を適用することを備える、C13に記載の方法。
[C21]
前記データを符号化することは、可逆符号化プロセスにおいて前記予測された残差ブロックに量子化を適用することなく、前記データを符号化することを備える、C13に記載の方法。
[C22]
RDPCMプロセスが有効にされるかどうかを示す1つ以上のシンタックス要素を符号化することを更に備え、前記RDPCMプロセスは、前記予測された残差ブロックを生成するステップを含む、C13に記載の方法。
[C23]
前記1つ以上のシンタックス要素を符号化することは、シーケンスパラメータセット(SPS)においてシーケンスレベルで前記1つ以上のシンタックス要素を符号化することを備える、C22に記載の方法。
[C24]
前記RDPCMプロセスが有効にされるかどうかを示す前記1つ以上のシンタックス要素は、イントラBCモード及びインター予測モードに適用可能である、C22に記載の方法。
[C25]
ビデオデータを復号するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
残差ブロックの1つ以上の予測された残差値に基づいて前記残差ブロックの1つ以上の残差値を再構築することを含む、予測された残差ブロックに基づいてピクチャの前記残差ブロックを生成することと、
前記ピクチャの予想ブロックと前記残差ブロックとの組み合わせに基づいて前記ピクチャの現在のブロックを生成することと、
を行うように構成されたビデオデコーダと、
を備える、デバイス。
[C26]
前記ビデオデコーダは、符号化されたビットストリームから前記予測された残差ブロックを取得するように更に構成され、前記残差ブロックを生成するために前記ビデオデコーダは、前記予測された残差ブロックに残差差分パルスコード変調(RDPCM)を適用するように構成される、C25に記載のデバイス。
[C27]
前記予測された残差ブロックに前記RDPCMを適用するために前記ビデオデコーダは、前記1つ以上の予測された残差値に水平RDPCMを適用するように構成される、C26に記載のデバイス。
[C28]
前記予測された残差ブロックに前記RDPCMを適用するために前記ビデオデコーダは、前記1つ以上の予測された残差値に垂直RDPCMを適用するように構成される、C26に記載のデバイス。
[C29]
前記RDPCMを適用するために前記ビデオデコーダは、複数のRDPCMモードからの1つのRDPCMモードを示すデータを前記符号化されたビットストリームから取得することと、前記示されたRDPCMモードを適用することと、を行うように構成される、C26に記載のデバイス。
[C30]
RDPCMモードを示す前記データを取得するために前記ビデオデコーダは、RDPCMオフモード、RDPCM垂直モード、及びRDPCM水平モードのうちの少なくとも1つの示すデータを取得するように構成される、C29に記載のデバイス。
[C31]
前記ビデオデコーダは、
前記ピクチャにおいて前記予想ブロックの位置を示す変位ベクトルを、符号化されたビットストリームから取得することと、
前記変位ベクトルを使用して、前記ピクチャの前記予想ブロックを位置付けることと、
を行うように更に構成される、C25に記載のデバイス。
[C32]
前記残差ブロックを生成するために前記ビデオデコーダは、不可逆復号プロセスにおいて前記残差ブロックに逆量子化を適用するように構成される、C25に記載のデバイス。
[C33]
前記残差ブロックを生成するために前記ビデオデコーダは、可逆復号プロセスにおいて逆量子化を実行することなく前記残差ブロックを生成するように構成される、C25に記載のデバイス。
[C34]
前記ビデオデコーダは、RDPCMプロセスが有効にされるかどうかを示す1つ以上のシンタックス要素を復号するように更に構成され、前記RDPCMプロセスは、前記予測された残差ブロックに基づいて前記ピクチャの前記残差ブロックを生成することを含む、C25に記載のデバイス。
[C35]
前記1つ以上のシンタックス要素を復号するために前記ビデオデコーダは、シーケンスパラメータセット(SPS)においてシーケンスレベルで前記1つ以上のシンタックス要素を復号するように構成される、C34に記載のデバイス。
[C36]
前記RDPCMプロセスが有効にされるかどうかを示す前記1つ以上のシンタックス要素は、インター予測モード及びイントラBC予測モードに適用可能である、C34に記載のデバイス。
[C37]
前記ピクチャの前記現在のブロックを表示するように構成されたディスプレイを更に備える、C25に記載のデバイス。
[C38]
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
ピクチャの現在のブロックと予想ブロックとの間の差分に基づいて、前記ピクチャの前記現在のブロックに関する残差ブロックを生成することと、
前記残差ブロックの1つ以上の残差値を前記残差ブロックの1つ以上の他の残差値に基づいて予測することによって、前記残差ブロックに基づいて予測された残差ブロックを生成することと、
ビットストリームにおいて前記予測された残差ブロックを表すデータを符号化することと、
を行うように構成されたビデオエンコーダと
を備える、デバイス。
[C39]
前記予測された残差ブロックを生成するために前記ビデオエンコーダは、前記残差ブロックに残差差分パルスコード変調(RDPCM)を適用するように構成される、C38に記載のデバイス。
[C40]
前記残差ブロックに前記RDPCMを適用するために前記ビデオエンコーダは、前記1つ以上の残差値に水平RDPCMを適用するように構成される、C39に記載のデバイス。
[C41]
前記予測された残差ブロックに前記RDPCMを適用するために前記ビデオエンコーダは、前記1つ以上の残差値に垂直RDPCMを適用するように構成される、C39に記載のデバイス。
[C42]
前記RDPCMを適用するために前記ビデオエンコーダは、複数のRDPCMモードから1つのRDPCMモードを選択することと、選択された前記RDPCMモードを適用することと、を行うように構成され、前記ビデオエンコーダは、前記選択されたRDPCMモードを示すデータを符号化するように更に構成される、C39に記載のデバイス。
[C43]
選択された前記RDPCMモードを示す前記データを符号化するために前記ビデオエンコーダは、RDPCMオフモード、RDPCM垂直モード、及びRDPCM水平モードのうちの少なくとも1つの示すデータを符号化するように更に構成される、C42に記載のデバイス。
[C44]
前記残差ブロックを生成するために前記ビデオエンコーダは、前記残差ブロックを生成するためのイントラブロックコピー(イントラBC)プロセスを適用するように構成され、前記イントラBCプロセスを適用するために前記ビデオエンコーダは、前記予想ブロックを選択すべき前記ピクチャの領域を決定することと、前記予想ブロックを識別する変位ベクトルを決定することとを行うように構成され、前記ビデオエンコーダは、前記変位ベクトルを表すデータを符号化するように更に構成される、C38に記載のデバイス。
[C45]
前記データを符号化するために前記ビデオエンコーダは、不可逆符号化プロセスにおいて前記予測された残差ブロックに量子化を適用するように構成される、C38に記載のデバイス。
[C46]
前記データを符号化するために前記ビデオエンコーダは、可逆符号化プロセスにおいて前記予測された残差に量子化を適用することなく前記データを符号化するように構成される、C38に記載のデバイス。
[C47]
前記ビデオエンコーダは、RDPCMプロセスが有効にされるかどうかを示す1つ以上のシンタックス要素を符号化するように更に構成され、前記RDPCMプロセスは、前記予測された残差ブロックを生成することを含む、C38に記載のデバイス。
[C48]
前記1つ以上のシンタックス要素を符号化するために前記ビデオエンコーダは、シーケンスパラメータセット(SPS)においてシーケンスレベルで前記1つ以上のシンタックス要素を符号化するように構成される、C47に記載のデバイス。
[C49]
前記RDPCMプロセスが有効にされるかどうかを示す前記1つ以上のシンタックス要素は、イントラBCモード及びインター予測モードに適用可能である、C47に記載のデバイス。
[C50]
前記現在のブロックを生成するように構成されたカメラセンサを更に備える、C38に記載のデバイス。
[C51]
ビデオデータを復号するためのデバイスであって、
残差ブロックの1つ以上の予測された残差値に基づいて前記残差ブロックの1つ以上の残差値を再構築することを含む、予測された残差ブロックに基づいてピクチャの前記残差ブロックを生成するための手段と、
前記ピクチャの予想ブロックと前記残差ブロックとの組み合わせに基づいて前記ピクチャの現在のブロックを生成するための手段と、
を備える、デバイス。
[C52]
RDPCMプロセスが有効にされるかどうかを示す1つ以上のシンタックス要素を復号するための手段を更に備え、前記RDPCMプロセスは、前記予測された残差ブロックに基づいて前記ピクチャの前記残差ブロックを生成することを含み、前記RDPCMプロセスが有効にされるかどうかを示す前記1つ以上のシンタックス要素は、インター予測モード及びイントラBC予測モードに適用可能である、C51に記載のデバイス。
[C53]
ビデオデータを符号化するためのデバイスであって、
ピクチャの現在のブロックと予想ブロックとの間の差分に基づいて、前記ピクチャの前記現在のブロックに関する残差ブロックを生成するための手段と、
前記残差ブロックの1つ以上の残差値を前記残差ブロックの1つ以上の他の残差値に基づいて予測することによって、前記残差ブロックに基づいて予測された残差ブロックを生成するための手段と、
ビットストリームにおいて前記予測された残差ブロックを表すデータを符号化するための手段と、
を備える、デバイス。
[C54]
RDPCMプロセスが有効にされるかどうかを示す1つ以上のシンタックス要素を符号化するための手段を更に備え、前記RDPCMプロセスは、前記予測された残差ブロックを生成することを含み、前記RDPCMプロセスが有効にされるかどうかを示す前記1つ以上のシンタックス要素は、イントラBCモード及びインター予測モードに適用可能である、C53に記載のデバイス。
[C55]
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されたときに1つ以上のプロセッサに、
残差ブロックの1つ以上の予測された残差値に基づいて前記残差ブロックの1つ以上の残差値を再構築することを含む、予測された残差ブロックに基づいてピクチャの前記残差ブロックを生成することと、
前記ピクチャの予想ブロックと前記残差ブロックとの組み合わせに基づいて前記ピクチャの現在のブロックを生成することと、
を行わせる、コンピュータ可読記憶媒体。
[C56]
前記命令は更に、前記1つ以上のプロセッサに、RDPCMプロセスが有効にされるかどうかを示す1つ以上のシンタックス要素を復号させ、前記RDPCMプロセスは、前記予測された残差ブロックに基づいて前記ピクチャの前記残差ブロックを生成することを含み、前記RDPCMプロセスが有効にされるかどうかを示す前記1つ以上のシンタックス要素は、インター予測モード及びイントラBC予測モードに適用可能である、C55に記載のコンピュータ可読記憶媒体。
[C57]
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されたときに1つ以上のプロセッサに、
ピクチャの現在のブロックと予想ブロックとの間の差分に基づいて、前記ピクチャの前記現在のブロックに関する残差ブロックを生成することと、
前記残差ブロックの1つ以上の残差値を前記残差ブロックの1つ以上の他の残差値に基づいて予測することによって、前記残差ブロックに基づいて予測された残差ブロックを生成することと、
ビットストリームにおいて前記予測された残差ブロックを表すデータを符号化することと、
を行わせる、コンピュータ可読記憶媒体。
[C58]
前記命令は更に、前記1つ以上のプロセッサに、RDPCMプロセスが有効にされるかどうかを示す1つ以上のシンタックス要素を符号化させ、前記RDPCMプロセスは、前記予測された残差ブロックを生成することを含み、前記RDPCMプロセスが有効にされるかどうかを示す前記1つ以上のシンタックス要素は、イントラBCモード及びインター予測モードに適用可能である、C57に記載のコンピュータ可読記憶媒体。