(57)【要約】【課題】低忠実度モードにおいてビデオをエンコードおよびデコードする方法を提供すること。【解決手段】コーディングユニットレベルの低忠実度フラグが、低忠実度モードが特定のコーディングユニットに対して有効にされているかどうかを信号化するように、ビットストリーム内に存在する。有効にされている場合、そのコーディングユニットに対して、クロマ量子化パラメータは、低忠実度モードオフセットによって調節されるルマ量子化パラメータを使用して決定される。有効にされていない場合、そのコーディングユニットに対して、クロマ量子化パラメータは、低忠実度モードオフセットによる調節なしで、ルマ量子化パラメータを使用して決定される。クロマ量子化パラメータは、次いで、量子化されたクロマ変換ドメイン係数のスケーリングに使用される。ルマまたは他のビデオ成分との使用も提案される。【選択図】図４
2019146263.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデコーダを使用して、エンコードされたビデオのビットストリームからビデオをデコードする方法であって、前記ビデオは、複数のコーディングユニットに区画化されたピクチャを含み、前記方法は、
低忠実度モードが有効にされているかどうかを示す第１のフラグを前記ビットストリームからデコードすることと、
低忠実度モードが有効にされていることを前記第１のフラグが示す場合には、
前記複数のコーディングユニットのうちの１つに対して、
そのコーディングユニットに関連付けられており、かつ、クロマビデオ成分に関連付けられているクロマ低忠実度フラグを前記ビットストリームからデコードすることであって、前記クロマ低忠実度フラグは、前記クロマビデオ成分のためのクロマ量子化パラメータを低忠実度モードオフセットに基づいて決定すべきかどうかを示す、ことと、
前記クロマ低忠実度フラグが設定されている場合、ルマ量子化パラメータとグローバル量子化パラメータオフセットとの合計に低忠実度モードオフセットを加えることによって、前記クロマビデオ成分のためのクロマ量子化パラメータを決定することであって、前記低忠実度モードオフセットは、前記ビットストリームの中で信号化されている、ことと、
前記クロマ低忠実度フラグが設定されていない場合、前記低忠実度モードオフセットを使用することなく、前記ルマ量子化パラメータと前記グローバル量子化パラメータオフセットとに基づいて、前記クロマビデオ成分のための前記クロマ量子化パラメータを決定することと、
前記クロマ量子化パラメータに基づいて、前記コーディングユニットに対する前記クロマビデオ成分におけるデコードされた係数を逆量子化することにより、逆量子化された係数を生成することと
を含む、方法。
【請求項２】
前記クロマ低忠実度フラグが設定されている場合、前記クロマ量子化パラメータを決定することは、前記ルマ量子化パラメータと前記グローバル量子化パラメータオフセットと前記低忠実度モードオフセットとの合計に基づいて低忠実度形式のルックアップテーブルをインデックス化することによって、前記クロマ量子化パラメータを決定することを含む、請求項１に記載の方法。
【請求項３】
前記クロマ低忠実度フラグが設定されていない場合、前記クロマ量子化パラメータを決定することは、前記ルマ量子化パラメータと前記グローバル量子化パラメータオフセットとの合計に基づいて高忠実度形式のルックアップテーブルをインデックス化することによって、前記クロマ量子化パラメータを決定することを含む、請求項２に記載の方法。
【請求項４】
前記ビットストリームは、高忠実度形式でエンコードされ、前記クロマ量子化パラメータを決定するために前記低忠実度形式のルックアップテーブルをインデックス化することは、クロマ量子化パラメータのクロマサブサンプリング形式のルックアップテーブルをインデックス化することを含み、前記高忠実度形式のルックアップテーブルは、前記クロマサブサンプリング形式のルックアップテーブルとは異なる、請求項３に記載の方法。
【請求項５】
前記高忠実度形式は、４：４：４および４：２：２のうちの１つであり、前記クロマサブサンプリング形式は、４：２：０である、請求項４に記載の方法。
【請求項６】
前記方法は、
前記クロマ低忠実度フラグが設定されている場合、前記低忠実度モードにおいて使用されることが可能な最小ブロックサイズに基づいて、変換ツリーを分割するために、前記コーディングユニットの前記クロマビデオ成分に関連付けられている変換ツリーをデコードする際に使用されるブロックサイズを決定することと、
前記クロマ低忠実度フラグが設定されていない場合、前記コーディングユニットに関連付けられている変換ツリーをデコードする際に使用される事前決定されたブロックサイズを使用することと、
デコードされた係数を生成するために、前記ブロックサイズに基づいて、前記コーディングユニットに対する前記クロマビデオ成分における変換ツリーを前記ビットストリームからデコードすることと
をさらに含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記低忠実度モードオフセットは、ピクチャパラメータセット（ＰＰＳ）またはシーケンスパラメータセット（ＳＰＳ）のうちの少なくとも１つにおいて信号化される、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
ビデオデコーダにおいて係数を逆量子化するように、エンコードされたビデオのビットストリームをデコードするためのデコーダであって、前記デコーダは、
プロセッサと、
メモリと、
メモリ内に記憶されたデコーディングアプリケーションであって、請求項１〜７のいずれか一項に記載の方法を実行するように前記プロセッサを構成するための命令を含むデコーディングアプリケーションと
を備える、デコーダ。
【請求項９】
プロセッサ実行可能な命令を記憶する非一過性プロセッサ読み取り可能な媒体であって、前記命令は、実行されると、請求項１〜７のいずれか一項に記載の方法を実行するように１つ以上のプロセッサを構成する、非一過性プロセッサ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（分野）
本開示は、概して、データ圧縮、特に、高忠実度コーダにおいて低忠実度コーディングをエミュレートする、ビデオコーディングのための方法およびデバイスに関する。
【背景技術】
【０００２】
（背景）
データ圧縮は、いくつかの状況で発生する。それは、情報を効率的に記憶、伝送、および再現するために、通信およびコンピュータネットワーキングで非常に一般的に使用されている。画像、オーディオ、およびビデオのエンコードにおいて、特定の用途が見出される。ビデオは、各ビデオフレームのために要求される膨大な量のデータおよびエンコードおよびデコードが頻繁に発生する必要のある速度のため、データ圧縮に重大な課題を提示している。ビデオエンコードにおける現在の最新技術は、ＩＴＵ−Ｔ  Ｈ．２６５／ＨＥＶＣビデオコーディング規格である。これは、Ｍａｉｎプロファイル、Ｍａｉｎ  Ｓｔｉｌｌ  Ｐｉｃｔｕｒｅプロファイル、およびその他を含む、異なるアプリケーション用のいくつかの異なるプロファイルを定義する。
【０００３】
ブロックベースのコーディングプロセスを使用するＨ．２６５を含め、画像およびビデオのエンコード／デコードには、いくつかの規格がある。これらのプロセスでは、画像またはフレームは、典型的には、４×４〜６４×６４の範囲のサイズを伴うブロックに分割されるが、いくつかの場合では、非方形ブロックが使用されてもよく、ブロックは、係数にスペクトル変換され、量子化され、エントロピーエンコードされる。多くの場合では、変換されるデータは、実画素データではなく、予測演算の後の残差データである。予測は、イントラフレーム、すなわち、フレーム／画像内でのブロック単位、またはインターフレーム、すなわち、フレーム間（動き予測とも呼ばれる）であることができる。
【０００４】
残差データをスペクトル変換するとき、これらの規格の多くは、離散コサイン変換（ＤＣＴ）またはいくつかのその変形の使用を規定する。結果として生じるＤＣＴ係数は、次いで、量子化された変換ドメイン係数を生成するために、量子化器を使用して量子化される。量子化された係数のブロックは、次いで、エンコードされたビデオのビットストリームを生成するために、動きベクトルおよびその他のデータのようなサイド情報を用いて、エントロピーエンコードされ、パッケージ化される。
【０００５】
デコーダでは、ビットストリームは、量子化された係数を再構成するため、エントロピーデコードされる。デコーダは、次いで、画素ドメイン残差を再構成するために、再構成された量子化された係数を逆量子化および逆変換する。エンコーダで使用されたものと同じ予測演算を使用して、画素データが、次いで、再構成される。
【０００６】
画素データは、概して、ルマ成分と、クロマ成分とに分けられ、それぞれ、類似プロセス（通常、２つのクロマ成分）を使用してエンコードされる。色データの空間的位置に関する人間の知覚限界のため、クロマは、典型的には、各クロマ成分に対して、単一クロマサンプルのみが、２つまたは４つのルマサンプル毎に送信されるように、サブサンプリングされる。これは、自然風景のビデオには上手く作用しているが、不明瞭化およびその他のアーチファクトを回避するために鮮明な色彩エッジ鮮明度を要求する、例えば、テキストおよびグラフィックス等のコンピュータ生成コンテンツに関して問題を引き起こしている。
【０００７】
いくつかのコンテンツタイプへのクロマサブサンプリングの不適は、自然風景およびコンピュータ生成グラフィックの両方を含む混合コンテンツの場合に、より問題となる。
【発明の概要】
【課題を解決するための手段】
【０００８】
（簡単な概要）
本開示は、高忠実度コーダで低忠実度コーディングを、選択的にエミュレートするために、ビデオをエンコードおよびデコードするための方法およびエンコーダ／デコーダを説明する。低忠実度コーディングは、低忠実度フラグによって信号化され、低忠実度フラグは、ビデオ成分と関連付けられ、コーディングユニットと関連付けられる。低忠実度フラグが設定されている場合、そのコーディングユニットに対するビデオ成分は、エンコーディングおよび／またはデコーディングに使用される量子化パラメータを調節することによって、低忠実度モードにおいてエンコードまたはデコードされる。
【０００９】
第１の側面では、本開示は、ビデオデコーダを使用して、エンコードされたビデオのビットストリームからビデオをデコードする方法を説明し、ビデオは、コーディングユニットに区画化されるピクチャを含む。本方法は、コーディングユニットのうちの１つに対して、低忠実度フラグを再構成することを含み、低忠実度フラグは、そのコーディングユニットと関連付けられ、ビデオ成分と関連付けられる。本方法は、さらに、低忠実度フラグが設定されている場合、低忠実度モードオフセットに基づいて、ビデオ成分のための量子化パラメータを決定することと、低忠実度フラグが設定されていない場合、低忠実度モードオフセットを使用することなく、ビデオ成分のための量子化パラメータを決定することと、量子化パラメータに基づいて、コーディングユニットに対するビデオ成分におけるデコードされる係数を逆量子化することにより、逆量子化された係数を生成することとを含む。
【００１０】
本開示は、さらに、ビデオエンコーダを使用して、エンコードされたビデオのビットストリームを作成するために、ビデオをエンコードする方法を開示し、ビデオは、コーディングユニットに区画化されるピクチャを含む。本方法は、コーディングユニットのうちの１つに対して、低忠実度フラグをエンコードすることを含み、低忠実度フラグは、そのコーディングユニットと関連付けられ、ビデオ成分と関連付けられ、低忠実度フラグは、コーディングユニットが低忠実度モードにおいてエンコードされる場合に設定され、コーディングユニットが低忠実度モードにおいてエンコードされない場合に設定されない。そして、本方法は、コーディングユニットが低忠実度モードにおいてエンコードされる場合、低忠実度モードオフセットに基づいて、ビデオ成分のための量子化パラメータを決定することと、コーディングユニットが低忠実度モードにおいてエンコードされない場合、低忠実度モードオフセットを使用することなく、ビデオ成分のための量子化パラメータを決定することと、量子化パラメータに基づいて、コーディングユニットに対するビデオ成分における変換係数を量子化することにより、量子化された係数を生成することとをさらに含む。
【００１１】
ビデオ成分は、ルマ成分と、クロマ成分と、アルファ成分と、赤色成分と、緑色成分と、青色成分とのうちの少なくとも１つを含んでもよい。
【００１２】
さらなる側面では、本開示は、エンコードおよびデコードのそのような方法を実装するように構成されるエンコーダおよびデコーダを説明する。
【００１３】
また、さらなる側面では、本開示は、コンピュータ実行可能なプログラム命令を記憶する非一過性コンピュータ読み取り可能な媒体を説明し、コンピュータ実行可能なプログラム命令は、実行されると、エンコーディングおよび／またはデコーディングの説明される方法を実施するようにプロセッサを構成する。
【００１４】
本開示の他の側面および特徴は、添付の図面と併せて、例の以下の説明を検討することで、当業者によって理解される。
本発明は、例えば、以下を提供する。
（項目１）
ビデオデコーダを使用して、エンコードされたビデオのビットストリームからビデオをデコードする方法であって、前記ビデオは、コーディングユニットに区画化されたピクチャを含み、前記方法は、
前記コーディングユニットのうちの１つに対して、
そのコーディングユニットと関連付けられ、ビデオ成分と関連付けられる低忠実度フラグを再構成することと、
前記低忠実度フラグが設定されている場合、低忠実度モードオフセットに基づいて、前記ビデオ成分のための量子化パラメータを決定することと、
前記低忠実度フラグが設定されていない場合、前記低忠実度モードオフセットを使用することなく、前記ビデオ成分のための前記量子化パラメータを決定することと、
前記量子化パラメータに基づいて、前記コーディングユニットに対する前記ビデオ成分におけるデコードされる係数を逆量子化することにより、逆量子化された係数を生成することと
を含む、方法。
（項目２）
前記ビデオ成分は、ルマ成分と、クロマ成分と、アルファ成分と、赤色成分と、緑色成分と、青色成分とのうちの少なくとも１つを含む、項目１に記載の方法。
（項目３）
前記低忠実度フラグを再構成することは、前記ビットストリームから前記低忠実度フラグをデコードすることを含む、項目１または２に記載の方法。
（項目４）
前記低忠実度フラグをデコードすることは、前記コーディングユニットのうちの前記１つと関連付けられるコーディングユニットヘッダから前記低忠実度フラグをデコードすることを含む、項目３に記載の方法。
（項目５）
前記低忠実度フラグは、クロマ成分と関連付けられるクロマ低忠実度フラグを備え、前記クロマ低忠実度フラグが設定されている場合、前記量子化パラメータを決定することは、ルマ量子化パラメータと、事前決定されたクロマＱＰオフセット値と、前記低忠実度モードオフセットとの合計に基づいて、ルックアップテーブルをインデックス化することによって、クロマ量子化パラメータを決定することを含む、項目１〜４のいずれか一項に記載の方法。
（項目６）
前記ビットストリームは、高忠実度形式でエンコードされ、前記クロマ量子化パラメータを決定するためにルックアップテーブルをインデックス化することは、クロマ量子化パラメータのクロマサブサンプリング形式のルックアップテーブルをインデックス化することを含む、項目５に記載の方法。
（項目７）
前記高忠実度形式は、４：４：４および４：２：２のうちの１つであり、前記クロマサブサンプリング形式は、４：２：０である、項目６に記載の方法。
（項目８）
前記ビットストリームは、前記高忠実度形式においてエンコードされ、
前記低忠実度フラグが設定されている場合、前記量子化パラメータを決定することは、ＱＰ値と前記低忠実度モードオフセットとを使用して、低忠実度形式ルックアップテーブルをインデックス化することを含み、
前記低忠実度フラグが設定されていない場合、前記量子化パラメータを決定することは、前記低忠実度モードオフセットなしで前記ＱＰ値を使用して、高忠実度形式ルックアップテーブルをインデックス化することを含む、
項目１〜７のいずれか一項に記載の方法。
（項目９）
前記方法は、
前記低忠実度フラグが設定されている場合、低忠実度固有最小値に基づいて、前記コーディングユニットの前記ビデオ成分に関連付けられる変換ツリーをデコードするために使用される最小変換サイズを決定することと、
前記低忠実度フラグが設定されていない場合、前記コーディングユニットと関連付けられる変換ツリーをデコードするときの使用のために、事前決定された最小変換サイズを使用することと、
デコードされた係数を生成するために、前記最小変換サイズに基づいて、前記コーディングユニットに対する前記ビデオ成分における変換ツリーを前記ビットストリームからデコードすることと
をさらに含む、項目１〜８のいずれか一項に記載の方法。
（項目１０）
前記方法は、
前記低忠実度フラグが設定されている場合、前記コーディングユニットの前記ビデオ成分に関連付けられるイントラ予測モードの数を１であるように決定することと、
前記低忠実度フラグが設定されていない場合、前記コーディングユニットの区画化に基づいて、前記コーディングユニットの前記ビデオ成分に関連付けられるイントラ予測モードの数を決定することと、
前記コーディングユニットの前記ビデオ成分に対してイントラ予測モードの前記決定された数を前記ビットストリームからデコードすることと
をさらに含む、項目１〜９のいずれか一項に記載の方法。
（項目１１）
ビデオデコーダにおいて係数を逆量子化するようにエンコードされたビデオのビットストリームをデコードするためのデコーダであって、前記デコーダは、
プロセッサと、
メモリと、
メモリ内に記憶され、項目１から１０のいずれか一項に記載の方法を実施するように前記プロセッサを構成するための命令を含むデコーディングアプリケーションと
を備える、デコーダ。
（項目１２）
ビデオエンコーダを使用して、エンコードされたビデオのビットストリームを作成するためにビデオをエンコードする方法であって、前記ビデオは、コーディングユニットに区画化されるピクチャを含み、前記方法は、
前記コーディングユニットのうちの１つに対して、
前記コーディングユニットと関連付けられ、ビデオ成分と関連付けられる低忠実度フラグをエンコードすることであって、前記低忠実度フラグは、前記コーディングユニットが低忠実度モードにおいてエンコードされる場合に設定され、前記コーディングユニットが低忠実度モードでエンコードされない場合に設定されない、ことと、
前記コーディングユニットが前記低忠実度モードにおいてエンコードされる場合、低忠実度モードオフセットに基づいて、前記ビデオ成分のための量子化パラメータを決定することと、
前記コーディングユニットが前記低忠実度モードにおいてエンコードされない場合、前記低忠実度モードオフセットを使用することなく、前記ビデオ成分のための前記量子化パラメータを決定することと、
前記量子化パラメータに基づいて、前記コーディングユニットに対する前記ビデオ成分における変換係数を量子化することにより、量子化された係数を生成することと
を含む、方法。
（項目１３）
前記ビデオ成分は、ルマ成分と、クロマ成分と、アルファ成分と、赤色成分と、緑色成分と、青色成分とのうちの少なくとも１つを含む、項目１２に記載の方法。
（項目１４）
ビデオをエンコードするためのエンコーダであって、前記ビデオは、コーディングユニットに区画化されるピクチャを含み、前記エンコーダは、
プロセッサと、
メモリと、
メモリ内に記憶され、項目１２または項目１３に記載の方法を実施するように前記プロセッサを構成するための命令を含むエンコーディングアプリケーションと
を備える、エンコーダ。
（項目１５）
プロセッサ実行可能な命令を記憶する非一過性プロセッサ読み取り可能な媒体であって、前記命令は、実行されると、項目１〜１０、１２、および１３のいずれか一項に記載の方法を実施するように１つまたは複数のプロセッサを構成する、非一過性プロセッサ読み取り可能な媒体。
【図面の簡単な説明】
【００１５】
例として、本開示の例示的実施形態を示す添付の図面が参照される。
【図１】図１は、ブロック図形式にて、ビデオをエンコードするためのエンコーダを示す。
【図２】図２は、ブロック図形式にて、ビデオをデコードするためのデコーダを示す。
【図３】図３は、フローチャート形式にて、ビデオをエンコードするための例示的プロセスを示す。
【図４】図４は、フローチャート形式にて、フィルタリングされた予測に基づき得る、エンコードされたビデオのビットストリームをデコードするためのプロセスを示す。
【図５】図５は、エンコーダの例示的実施形態の簡略ブロック図を示す。
【図６】図６は、デコーダの例示的実施形態の簡略ブロック図を示す。
【発明を実施するための形態】
【００１６】
類似参照番号が、類似構成要素を表示するために異なる図に使用され得る。
【００１７】
（例示的実施形態の説明）
以下の説明において、いくつかの例示的実施形態は、ビデオコーディングのためのＨ．２６４規格および／または開発中のＨ．２６５／ＨＥＶＣ規格を参照して説明される。当業者は、本開示が、Ｈ．２６４／ＡＶＣまたはＨ．２６５／ＨＥＶＣに限定されないが、可能性として考えられる将来規格、マルチビューコーディング規格、スケーラブルビデオコーディング規格、および再構成可能ビデオコーディング規格を含む、他のビデオコーディング／デコーディング規格に適用可能であり得ることを理解する。
【００１８】
以下の説明において、ビデオまたは画像に言及するとき、フレーム、ピクチャ、スライス、タイル、および矩形スライス群という用語は、多少は交換可能に使用され得る。当業者は、Ｈ．２６４規格の場合、フレームが１つまたは複数のスライスを含み得ることを理解する。「フレーム」という用語は、Ｈ．２６５／ＨＥＶＣにおいて「ピクチャ」と取り替えられ得る。一連のフレーム／ピクチャは、いくつかの場合では、「シーケンス」と呼ばれ得る。他の用語が、他のビデオコーディング規格において使用され得る。適用可能な画像またはビデオコーディング規格の特定の要求または技術に応じて、特定のエンコード／デコード動作は、フレーム毎に実施される場合があり、いくつかはスライス毎に、いくつかはピクチャ毎に、いくつかはタイル毎に、いくつかは矩形スライス群によって実施されることが理解される。任意の特定の実施形態では、適用可能な画像またはビデオコーディング規格は、以下に説明される動作が、場合に応じて、フレームおよび／またはスライスおよび／またはピクチャおよび／またはタイルおよび／または矩形スライス群と関係して実施されるかどうか決定し得る。故に、当業者は、本開示に照らして、本明細書に説明される特定の動作またはプロセス、ならびにフレーム、スライス、ピクチャ、タイル、矩形スライス群への特定の参照が、所与の実施形態に対するフレーム、スライス、ピクチャ、タイル、矩形スライス群、またはそれらの一部あるいは全部に適用可能かどうか理解する。これは、以下の説明に照らして明白であるように、コーディングツリーユニット、コーディングユニット、予測ユニット、変換ユニット、その他にも適用される。
【００１９】
いくつかの場合では、以下の例は、クロマ成分、すなわち、２つの色差成分ＣｂおよびＣｒのエンコーディングおよびデコーディングに固有である。本開示は、１つまたは複数のクロマ成分に限定されず、１つまたは複数のビデオ成分に適用されてもよい。ビデオデータの形式に応じて、例示的ビデオ成分は、ルマ成分、１つまたは両方のクロマ成分ＣｂおよびＣｒ、その他の色差成分、アルファ成分、赤色成分、緑色成分、および／または青色成分を含んでもよい。
【００２０】
ここで、ブロック図形式にて、ビデオをエンコードするためのエンコーダ１０を示す、図１を参照する。また、ビデオをデコードするためのデコーダ５０のブロック図を示す図２も参照する。本明細書に記載されるエンコーダ１０およびデコーダ５０は、それぞれ、１つまたは複数の処理要素とメモリとを含む特定用途向けまたは汎用コンピューティングデバイス上に実装されてもよい。エンコーダ１０またはデコーダ５０によって実施される動作は、場合に応じて、例えば、特定用途向け集積回路を経由して、または汎用プロセッサによって実行可能な記憶されたプログラム命令を経由して実装されてもよい。デバイスは、例えば、基本デバイス機能を制御するための動作システムを含む付加的ソフトウェアを含んでもよい。エンコーダ１０またはデコーダ５０が内部に実装され得るデバイスおよびプラットホームの範囲は、以下の説明を考慮して、当業者によって理解される。
【００２１】
エンコーダ１０は、ビデオソース１２を受信し、エンコードされたビットストリーム１４を生成する。デコーダ５０は、エンコードされたビットストリーム１４を受信し、デコードされたビデオフレーム１６を出力する。エンコーダ１０およびデコーダ５０は、いくつかのビデオ圧縮規格に従って動作するように構成されてもよい。例えば、エンコーダ１０およびデコーダ５０は、Ｈ．２６４／ＡＶＣ対応であってもよい。他の実施形態では、エンコーダ１０およびデコーダ５０は、Ｈ．２６５／ＨＥＶＣのようなＨ．２６４／ＡＶＣ規格の発展型を含む、他のビデオ圧縮規格に従ってもよい。
【００２２】
エンコーダ１０は、空間予測器２１と、コーディングモードセレクタ２０と、動き予測器３６と、変換プロセッサ２２と、量子化器２４と、エントロピーエンコーダ２６とを含む。当業者によって理解されるように、コーディングモードセレクタ２０は、ビデオソースに適切なコーディングモード、例えば、対象フレーム／スライスがＩ型か、Ｐ型か、またはＢ型か、および、フレーム／スライス内の特定のコーディングユニット（例えば、マクロブロック、コーディングユニット等）がイントラコーディングされるかまたはインターコーディングされるか、すなわち、予測が、動き予測器３６（インターコーディングされる）に由来するかまたは空間予測器２１（イントラコーディングされる）に由来するかを決定する。変換プロセッサ２２は、空間ドメインデータに応じて変換を実施する。特に、変換プロセッサ２２は、空間ドメインデータをスペクトル成分にコンバートするために、ブロックベースの変換を適用する。例えば、多くの実施形態で、離散コサイン変換（ＤＣＴ）が使用される。離散サイン変換、ウェーブレット変換、またはその他等の他の変換が、場合によっては、使用されてもよい。ブロックベースの変換は、変換ユニットに関して実施される。変換ユニットは、コーディングユニットのサイズであってもよく、またはコーディングユニットは、複数の変換ユニットに分割されてもよい。Ｈ．２６４規格では、例えば、典型的な１６×１６マクロブロック（コーディングユニット）は、１６の４×４変換ユニットを含み、ＤＣＴプロセスは、４×４ブロック上で実施される。変換ユニット（ＴＵ）は、他のサイズであってもよい。いくつかの場合では、ＴＵは、非方形、例えば、非方形直交変換（ＮＳＱＴ）であってもよい。
【００２３】
ブロックベースの変換を画素データのブロックに適用することで、変換ドメイン係数のセットがもたらされる。本文脈では、「セット」は、その中で係数が係数位置を有する、順序付けられたセットである。いくつかの事例では、変換ドメイン係数のセットは、係数の「ブロック」またはマトリクスと見なされ得る。本明細書の説明では、「変換ドメイン係数のセット」または「変換ドメイン係数のブロック」という語句は、交換可能に使用され、変換ドメイン係数の順序付けられたセットを指すことが意図される。
【００２４】
変換ドメイン係数のセットは、量子化器２４によって量子化される。量子化された係数および関連付けられた情報は、次いで、エントロピーエンコーダ２６によってエンコードされる。
【００２５】
イントラコーディングされたフレーム／スライス（すなわち、Ｉ型）は、他のフレーム／スライスを参照することなくエンコードされる。言い換えると、それらは、時間予測を採用しない。しかしながら、イントラコーディングされたフレームは、空間予測器２１によって、図１に例証されるように、フレーム／スライス内で空間予測に確かに依拠する。つまり、特定のブロックをエンコードするとき、ブロック中のデータは、そのフレーム／スライスのためにすでにエンコードされたブロック内の近傍画素データと比較され得る。予測動作を使用して、エンコーダ１０は、近傍画素データに基づいて、予測されたブロックまたはユニットを生成する。予測には、種々のモードまたは方向がある。いくつかの場合では、レート歪み最適化が、モード／方向の選択に使用されてもよい。予測動作で使用される近傍画素は、以前にエンコードおよびデコードされてフィードバックループ内のラインバッファ３５中に記憶されている再構成された画素である。ブロックのための実画素データと予測されたブロックとの間の差異は、残差ブロック、すなわち、誤差信号である。残差データは、ビットストリーム１４における伝送のために、変換され、量子化され、エンコードされる。
【００２６】
インターコーディングされたフレーム／ブロックは、時間予測に依拠する、すなわち、他のフレーム／ピクチャから再構成されたデータを使用して、予測される。エンコーダ１０は、逆量子化器２８と、逆変換プロセッサ３０と、非ブロック化プロセッサ３２とを含むフィードバックループを有する。非ブロック化プロセッサ３２は、非ブロック化プロセッサと、フィルタリングプロセッサとを含んでもよい。これらの要素は、フレーム／スライスを再現するために、デコーダ５０によって実装されるデコーディングプロセスを模倣する。フレーム記憶装置３４は、再現されたフレームを記憶するために使用される。このように、動き予測は、元のフレームではなく、デコーダ５０で再構成されるフレームであるフレームに基づき、元のフレームは、エンコーディング／デコーディングに関わる劣化を伴う圧縮のため、再構成されるフレームとは異なり得る。動き予測器３６は、類似ブロックを識別する目的で、現在のフレームとの比較のために、フレーム記憶装置３４に記憶されたフレーム／スライスをソースフレーム／スライスとして使用する。言い換えると、動きベクトル検索が、別のフレーム／ピクチャ内でブロックを識別するために実行される。そのブロックは、予測されるブロックまたはユニットのソースである。予測されるブロックと元のブロックとの間の差異は、残差データになり、残差データは、次いで、変換され、量子化され、エンコードされる。
【００２７】
当業者は、ビデオエンコーダを実装するための詳細および可能性として考えられる変形例を理解する。
【００２８】
デコーダ５０は、エントロピーデコーダ５２と、逆量子化器５４と、逆変換プロセッサ５６と、非ブロック化プロセッサ６０とを含む。非ブロック化プロセッサ６０は、非ブロック化およびフィルタリングプロセッサを含んでもよい。ラインバッファ５９は、フレーム／ピクチャがイントラコーディングにおいて空間補償器５７による使用のためにデコードされている間、再構成された画素データを記憶する。フレームバッファ５８は、動き補償を適用するときの動き補償器６２による使用のために、完全に再構成されて非ブロック化されたフレームを記憶する。
【００２９】
ビットストリーム１４は、量子化された係数を復元するために、エントロピーデコーダ５２によって受信され、デコードされる。コーディングモード情報を含むサイド情報も、エントロピーデコーディングのプロセス中に復元されてもよく、そのうちのいくつかは、予測生成時の使用のためにフィードバックループに供給され得る。例えば、エントロピーデコーダ５２は、インターコーディングされたブロックのための動きベクトルおよび／または参照フレーム情報、あるいはイントラコーディングされたブロックのためのイントラコーディングモード方向情報を復元してもよい。
【００３０】
量子化された係数は、次いで、変換ドメイン係数を生成するために、逆量子化器５４によって逆量子化され、次いで、残差画素ドメインデータを再生成／再構成するために、逆変換プロセッサ５６によって、逆変換を受ける。空間補償器５７は、残差データと、それが空間予測を使用して生成する予測されたブロックとから、ビデオデータを作成する。空間予測は、同じフレームから以前に再構成された画素データに依拠して、エンコーダによって使用されものと同じ予測モード／方向を適用する。インターコーディングされたブロックは、以前にデコードされたフレーム／ピクチャと、ビットストリームからデコードされた動きベクトルとに基づいて、予測されたブロックを生成することによって再構成される。再構成された残差データは、次いで、再構成された画素データを作成するために、予測されたブロックに追加される。空間補償および動き補償の両方は、本明細書では、「予測動作」と称され得る。
【００３１】
非ブロック化／フィルタリングプロセスが、次いで、非ブロック化プロセッサ６０によって示されるように、再構成されたフレーム／スライスに適用されてもよい。非ブロック化／フィルタリング後、フレーム／スライスは、例えば、ディスプレイデバイス上のディスプレイに、デコードされたビデオフレーム１６として出力される。コンピュータ、セットトップボックス、ＤＶＤまたはＢｌｕ−Ｒａｙプレイヤー、および／または携帯ハンドヘルドデバイス等のビデオ再生機械は、出力デバイス上での表示に先立って、デコードされたフレームをメモリにバッファリングし得ることが理解される。
【００３２】
Ｈ．２６５／ＨＥＶＣおよびいくつかの他のコーディング規格では、ピクチャは、ブロックのオーバーラップしないセットに分割される。Ｈ．２６５／ＨＥＶＣでは、例えば、各ピクチャは、６４×６４コーディングツリーブロック（ＣＴＢ）（時として、「コーディングツリーユニット」と称される）に分割される。各ＣＴＢは、次いで、さらに、四分木構造分割において、コーディングツリーノードに、最終的には、コーディングユニットに分割される。本構造では、「リーフノード」、すなわち、コーディングユニット（ＣＵ）は、必ずしも全部が同じサイズではないことに留意されたい。例として、ＣＴＢは、３２×３２ブロックに分割されてもよく、そのうちの２つは、ＣＵ（リーフノード）であり得、そのうちの２つは、１６×１６ブロックにさらに分割され得る。これらのうちのいくつかは、ＣＵであってもよく、いくつかはまた、８×８ブロック等にさらに分割されてもよい。
【００３３】
前述の説明は、画素に言及するが、多くのビデオコーディングシステムは、ルマデータ（Ｙ）と、クロマデータ（ＵおよびＶ、またはＣｂおよびＣｒ）との両方を使用することが理解される。実際に、デジタルビデオシステムで画素データをルマとクロマとに分離することは、クロマサブサンプリングの使用を可能にする。ヒトの目は、自然ビデオ風景中のクロマ細部に対して感度が低いため、クロマデータは、より大きな圧縮を達成するように、サブサンプリングされ、より低い解像度で送信されてもよい。現在のビデオコーディング規格では、４：４：４のクロマサンプリング形式は、クロマサブサンプリングがないことを示し、４：２：２は、水平に２倍のクロマサブサンプリングを示し、４：２：０は、水平および垂直に、２倍のクロマサブサンプリングを示す。
【００３４】
自然風景の色の空間的局所性を感知するヒトの能力の限界のため、４：２：０のクロマサブサンプリングを使用するデジタルビデオ圧縮が、一般的に使用される。しかしながら、デジタルビデオは、コンピュータ生成コンテンツまたはコンピュータ生成コンテンツと自然風景との混合物をエンコード／デコードするためにより一般的に使用されている。コンピュータ生成コンテンツは、鮮明なエッジ、インパルス、高周波数によって特徴付けられる。例は、テキストまたはコンピュータグラフィックスである。そのようなコンテンツでは、ルマ成分およびクロマ成分の両方に対して、鮮明なエッジの不明瞭化を回避するために、高忠実度が要求される。この点における「コンピュータ生成」コンテンツは、必ずしも「コンピュータ生成イメージ」または「ＣＧＩ」に言及するわけではく、コンピュータ作成コンテンツは、映画またはテレビ番組中の自然風景に溶け込む、または映画またはテレビ番組中の自然風景として現れるように意図的に設計されることに留意されたい。
【００３５】
低クロマ忠実度ビデオの場合における、現在のコーディングに伴う１つの問題は、同じビデオソースをコーディングするとき、４：４：４システムが、４：２：０システム、さらには、４：２：２システムと同じレート歪み性能を達成することが不可能であると考えられることである。ビデオの一部はより高い忠実度を要求するため、ビデオ全体が４：４：４形式にコーディングされる。自然風景の画像またはビデオ等、元々は４：２：０形式である部分は、４：４：４にアップサンプリングされ、その形式に従ってエンコードされる。４：２：０形式のビデオがアップサンプリングされ、４：４：４形式でエンコードされるとき、わずかに良好なクロマ忠実度を確かにもたらすが、ビットレートは、約１０％増加する。ビットレートという点で、コストは、多くの場合、わずかな知覚改善（該当する場合）の観点から正当化されない。
【００３６】
ビットレートの余分なコストは、部分的には、余分なクロマ係数に起因するものであるが、部分的には、余分なオーバーヘッドによるものでもある。例えば、Ｈ．２６５／ＨＥＶＣ  ４：２：０コーディングでは、８×８変換ユニットは、４×４クロマ変換ブロックをもたらし、同一場所に位置する８×８ルマ変換ブロックのいずれの区画化も継承しない。クロマがアップサンプリングされ、４：４：４形式でエンコードされるとき、８×８クロマ変換ブロックをもたらし、それは、同一場所に位置するルマ変換ブロックの区画化（および余分なヘッダオーバーヘッドおよび余分なイントラモードの信号化）を呈する。加えて、より大きなクロマ変換ブロックが使用されるとき、それらのブロック中の係数は、より小さな量子化ステップサイズで量子化され、コーディングのためにより多くの係数データをもたらす。同じ量子化パラメータは、ＨＥＶＣ量子化動作の構造に起因して、より大きな変換ブロックに対して、より小さな変換ブロックを用いる場合よりも小さな量子化ステップサイズをもたらす。言い換えると、より大きな変換ブロックでは、エンコーダは、より小さな変換ブロックを用いる場合よりも高い精度（より大きい／より多い係数）を保持するように構成される。したがって、４：４：４形式でのアップサンプリングおよびコーディングは、付加的係数データをもたらす。
【００３７】
２０１３年１月７日に出願され、本明細書と共有される米国特許出願第１３／７３５，７８２号は、混合忠実度要件を有するビデオに関する問題を説明する。その出願では、予測ブロックが残差データの生成に使用される前に、（概して）高周波数成分を取り除くために、予測ブロックがフィルタリングされることが提案された。各ブロックのフラグは、そのブロックに対して予測がフィルタリングされるかどうか制御するものであった。
【００３８】
一側面では、本開示は、ピクチャの低忠実度領域で使用される量子化および／または他のコーディングパラメータを修正することを提案する。ある意味では、４：４：４形式コーディングプロセス内において、低忠実度領域に対応するブロックまたはブロック群は、それらの量子化パラメータを有し得、それらの量子化パラメータは、４：２：０形式でのコーディングからもたらされ得るものをエミュレートする様式で、それらの領域を処理するように調節される。例えば、クロマ成分に関して、量子化パラメータは、サブサンプリングが起こる場合に、４：２：０で別様に使用されたであろう変換ブロックよりも大きな変換ブロックが４：４：４で使用されるという事実を補償するように調節され得る。これらのブロックを、４：２：０で処理されたであろうように処理するため、エンコーダは、例えば、ブロックをより積極的に量子化してもよく、または、例えば、８×８ブロックの区画化を制限してもよい。
【００３９】
以下に説明される例の多くは、特に、クロマ成分のコーディングにおける使用のために提案される。しかしながら、説明されるプロセスおよび技法は、いくつかの実施形態では、ルマ成分、またはルマおよびクロマ成分に適用され得る。前述のように、本開示は、概して、ビデオ成分のエンコーディングおよびデコーディングに適用可能であり、ビデオ成分（ビデオデータの形式に依存する）は、ルマ成分、Ｃｂ、Ｃｒ、他の色差成分、アルファ成分、および／またはＲＧＢ成分のうちの１つまたは複数を含み得る。
【００４０】
量子化は、概して、ある範囲の値を伴う信号を、減少した範囲の値を伴う量子化された信号にマッピングする。この範囲の減少は、本質的には、劣化を伴うが、これは、量子化された信号が、より少ないビットで表現されることを可能にする。量子化の例は、Ｈ．２６５／ＨＥＶＣにおける硬決定スカラー量子化器であり、変換係数をｃ取り込み、以下に従って、量子化された変換係数ｕを生成する。
【００４１】
【数１】
2019146263.tif 000003
前述の数式では、ｑは、所与の量子化パラメータの関数である量子化ステップサイズであり、ＱＰおよびθは、丸めオフセットである。ｓｉｇｎ関数は、ｃがゼロ未満である場合、−１を返し、そうでなければ、＋１を返す。ｑとＱＰとの間の関係は、一例において、以下によって与えられる。
【００４２】
【数２】
2019146263.tif 000004
デコーダで変換ドメイン係数を再構成するとき、再構成された係数
【００４３】
【数３】
2019146263.tif 000005
は、以下のように決定され得る。
【００４４】
【数４】
2019146263.tif 000006
この数式では、ｓｃａｌｅＦａｃｔｏｒは、ＱＰに基づく量子化スケーリング値を選択するための関数である。ｂｉｔＤｅｐｔｈは、典型的には、多くの実装で８であり、これは、この分母項が単位元になることを意味し、分母は、事実上、ＴｒａｎｓｆｏｒｍＳｉｚｅによって影響されることを意味する。ＴｒａｎｓｆｏｒｍＳｉｚｅが増加する場合、量子化された変換係数ｕは、補償するために比例的に増加しなければならないことが留意される。言い換えると、量子化ステップサイズは、より大きい変換サイズに対して、より小さい。
【００４５】
クロマ成分の量子化に関して言えば、ルマ成分のＱＰは、ルマＱＰを調節するために、事前選択されたオフセット値（該当する場合）を使用して、クロマＱＰにコンバートされる。この調節されたルマＱＰ値は、クリップされ、次いで、調節されたルマＱＰ値をクロマＱＰ値にコンバートするために、ルックアップテーブルが使用される。４：４：４形式コーディングの場合では、調節されたルマＱＰとクロマＱＰとの間のルックアップテーブルでのマッピングは、１対１である。４：２：０形式コーディングの場合では、４：２：０ルックアップテーブルでのマッピングは、多くのより低いＱＰ値に対しては１対１であるが、より大きいＱＰ値に対しては発散する。
【００４６】
本開示の一側面によると、クロマＱＰは、低忠実度モードＱＰオフセットによって、コーディングユニットに対して選択的にさらに調節されるルマＱＰ値に基づいて得られる。低忠実度モードＱＰオフセットの使用は、低忠実度モードがそのコーディングユニットに対して信号化されるかどうかに基づく。信号化は、いくつかの実施形態では、そのコーディングユニットに対してエンコードされるフラグに基づき得る。いくつかの場合では、フラグは、ＣＴＢの構造的階層においてより高く設定されたフラグの継承をベースに推測され得る。
【００４７】
低忠実度モードＱＰオフセットの値は、例えば、ピクチャパラメータセット（ＰＰＳ）またはシーケンスパラメータセット（ＳＰＳ）において、ビットストリーム中で信号化され得、またはプリセット値であり得る。プリセット値は、以下で概説されるように、４：２：０形式対４：４：４形式コーディングに関連付けられる歪みの比較に基づき得る。
【００４８】
変換ブロックでは、変換係数毎の量子化によって生じる誤差は、以下のように近似され得る。
【００４９】
【数５】
2019146263.tif 000007
この数式では、ｑは、量子化ステップサイズであり、θは、量子化式からの丸めオフセットである。言い換えると、誤差は、予想されるように、量子化ステップサイズと直接的に相関付けられる。歪みは、誤差の２乗に比例する。例えば、歪みは、以下のように表され得る。
【００５０】
【数６】
2019146263.tif 000008
換言すると、係数毎の歪みは、平均して、量子化ステップサイズの２乗に比例し、以下のように表され得る。
【００５１】
【数７】
2019146263.tif 000009
この数式では、ｋは、ある定数である。８×８残差クロマブロックを例として仮定すれば、本来の４：２：０における、ブロック中の６４個の係数にわたる歪みは、以下によって与えられる。
【００５２】
【数８】
2019146263.tif 000010
しかしながら、従来の空間補間フィルタを使用するアップサンプリングからもたらされる、４：４：４における８×８残差クロマブロックを仮定する。その場合では、情報のうちのほとんどは、変換ブロックの左上側の４×４サブブロック中に含まれることが予想され得る。そのような場合では、８×８ブロックに対する全体の歪みは、以下のように近似され得る。
【００５３】
【数９】
2019146263.tif 000011
４つの４×４ブロックをコーディングすることは、レート歪みの意味で、１つの８×８ブロックをコーディングすることにほぼ匹敵するはずであることに留意されたい。しかしながら、少なくとも概念的には、本来の４：２：０における４×４クロマブロックが、４：４：４における８×８クロマブロックにアップサンプリングされるとき、その８×８ブロックのコーディングのレート歪みコストは、４つの４×４ブロックではなく、１つの４×４ブロックにほぼ匹敵する。これを補償し、異なるブロックサイズに関連付けられるレート歪みコストの平衡を取り戻すために、提案される解決策は、８×８ブロックの量子化を調節する。言い換えると、本開示は、一側面では、４：２：０コーディングの歪みをより良好にエミュレートするために、（アップサンプリングされた）４：４：４の量子化を増加させることを提案する。故に、歪みの変化を評価することが要求される。
【００５４】
【数１０】
2019146263.tif 000012
ここでは、記号α＝６４／１６＝４である。ｑとＱＰとの間の関係を使用し、前述の式は、以下にコンバートする。
【００５５】
【数１１】
2019146263.tif 000013
前述の解析は、８×８にアップサンプリングされる情報の全部が、ブロックの左上隅における４×４ブロック中に含まれることを仮定する限りにおいて理想的である空間補間フィルタに基づくことを留意されたい。実践では、アップサンプリングのプロセスは、カットオフ周波数の周囲にエイリアシングをもたらし、フィルタに応じて、８×８変換ブロックの左上隅における５×５ブロック内に大部分が含まれる情報をもたらし得る。その場合では、α＝６４／２５＝３．２であり、およそ５の低忠実度モードＱＰオフセットにつながり、以下を意味する。
【００５６】
【数１２】
2019146263.tif 000014
同じ解析が、４：２：２から４：４：４へのコンバージョンに実施されてもよい。そのような場合では、前述の解析を使用して、α＝２となり、ＱＰ調節は、＋３となる。エイリアシングを考慮に入れて、低忠実度モードＱＰオフセットは、＋２により近くなり得る。
【００５７】
低忠実度モードＱＰオフセットは、例えば、８×８、１６×１６、３２×３２等の特定のブロックサイズに対して決定／選択され得ることが理解される。
【００５８】
エイリアシングの影響が考慮に入れられるべき範囲は、使用されるアップサンプリングフィルタに依存することが理解される。
【００５９】
バイナリフラグの階層は、種々の粒度において、低忠実度モードオフセットが有効であるか無効であるかをデコーダに信号伝達し得る。ＳＰＳまたはＰＰＳレベルでは、コーディングされるビデオのシーケンス全体に対して、または特定のＰＰＳを参照するいくつかのピクチャに対して、フィーチャーの使用を有効または無効にするフラグが提供され得る。ＰＰＳは、プリセットＱＰオフセットがない限り、モードが選択されるときに使用されるＱＰオフセット等、高レベルオプションも提供し得る。
【００６０】
エンコーダが、低忠実度モードがピクチャ中の全てのＣＵに対して使用されるべきと決定する場合、ＰＰＳは、ＣＵ毎のフラグを信号化するビットストリームコストを負う必要なく、ＣＵ毎のフラグがピクチャ中の全ＣＵに対してアサートされるかのようにふるまうようにデコーダに命令するフラグを含み得る。
【００６１】
ピクチャ中の各ＣＵに対して、フィーチャーが許可されている／有効であると推定すると、低忠実度モードの使用を制御する、単一のコンテキスト適応型算術エンコーディングされたフラグがそのＣＵに提供され得る。一実施形態では、フラグの予測は起きないが、他の実施形態では、空間的に隣接するフラグから予測すること、またはいくつかのコンテンツベースの予測器を使用することが可能であり得る。フラグは、ブロックがスキップされる場合に信号化されない。フラグは、適切なときにのみ、すなわち、残差がゼロであり／スキップされ、フラグが送信されない場合（イントラＮ×Ｎ区画化の場合において、実施形態が、フラグが設定されるときに１つまたは複数のビデオ成分に対するイントラ予測区画の数を制限することを含む場合、フラグが要求され得ることを除く）のみ、信号化されるようにシンタックス内に位置付けられる。別の実施形態では、残差が送信されないときにフラグの送信を回避するのではなく、フラグは、クロマ残差が送信されない場合に送信されない。
【００６２】
前述のように、低忠実度モードＱＰオフセットは、エンコーダおよびデコーダ中にプリセットされ得る。別の実施形態では、ＰＰＳまたはＳＰＳ中に明示的に信号化され得る。さらに別の実施形態では、各クロマ成分に対して１つずつ、２つのオフセットが信号化され得る。またさらなる実施形態では、オフセット（または１対のオフセット）が、各変換サイズに対して信号化され得る。オフセットは、いくつかの事例では、プリセットされた低忠実度モードＱＰオフセット値からの差異として信号化され得る。
【００６３】
低忠実度モードオプションを使用してビデオをエンコードするための一例示的方法１００が、フローチャート形式にて、図３に例証される。本例は、低忠実度モードでのクロマ成分のコーディングに特有である。前述のように、ルマ成分も、低忠実度モードにおいて、代替的または付加的にコーディングされ得る。
【００６４】
エンコーダは、最初に、動作１０２にて、低忠実度モード能力を有効にする。これは、デフォルトで起きてもよく、または低忠実度有効化フラグを含めることにより、ビットストリーム中に信号化されてもよい。フラグは、低忠実度モードが有効にされ、デコーダが低忠実度フラグを予期し、デコードすべきことを示すために、ＳＰＳ、ＰＰＳ、またはビットストリーム中の他の場所に置かれ得る。
【００６５】
動作１０４では、現在のコーディングユニット（ＣＵ）に対して、エンコーダは、クロマを低忠実度モードでコーディングするべきかどうか決定する。この決定は、いくつかの可能性として考えられる因子に基づき得る。非限定的例証として、一例では、決定は、変換ブロックの左上四半部への非ゼロ係数の集中に基づく。本例では、変換ブロックの低周波数領域（例えば、左上四半部）における非ゼロ係数の数は、Ｘと表示され、ブロックの残りにおける非ゼロ係数の数は、Ｙと表示される。Ｙ／（Ｘ＋Ｙ）が、ある事前に定義された閾値（５０〜６０％等）未満の場合、変換ブロックは、低忠実度であると見なされる。いったんコーディングユニット中の全ての変換ブロックが低忠実度であるかどうか決定されると、コーディングユニットに対して集合的決定がなされ得る。別の例では、Ｘは、ＤＣ位置を含む変換ユニット中の最小矩形領域のサイズを表示し、Ｙは、ブロックの残りのサイズを表示する。さらに別の例では、係数レベルの合計が、非ゼロ係数の数の代わりに使用され得る。異なる閾値が、異なるコーディングユニットサイズに対して設定されてもよい。本例における係数は、残差データの変換からではなく、元の画素データの変換に基づくことに留意されたい。
【００６６】
さらに非限定的例では、低忠実度の決定は、相対歪み測定および条件のセットに基づき得る。本例では、コーディングユニットは、高低両方の忠実度モードでコーディングされ、総クロマ歪みが決定される。高忠実度歪みはＤ０と表示され、低忠実度歪みはＤ１と表示される。前述の概説されたような歪みモデルと、適用可能な量子化ステップサイズとを使用して、低忠実度モードＮ１および高忠実度モードＮ０に対する変換係数の予期される数が計算される。これらの推定値は、次いで、コーディングからもたらされた変換係数の実際の数（Ｎと表示され得る）と比較される。低忠実度モード（インデックスｉ＝１）および高忠実度モード（インデックスｉ＝０）に対して、以下の条件が評価され得る。
【００６７】
【数１３】
2019146263.tif 000015
両方の場合で条件が真の場合、コーディングユニットは、低忠実度と指定され得る。そうでなければ、高忠実度に分類される。別の実施形態では、以下の例示的決定チャート等、異なる決定則が、コーディングユニットの分類の決定に使用されてもよい。
【００６８】
【表１】
2019146263.tif 000016
エンコーダは、フラグ値が推測され得ない限り、低忠実度フラグ１０６を現在のＣＵに対するヘッダに挿入する。いくつかの場合では、使用される信号化規定に応じて、低忠実度フラグが、隣接する低忠実度フラグ（例えば、右側、下方、および／または斜め右下に対するＣＵのフラグ等）に基づいて、またはコーディング構造、例えば、ＣＴＢシンタックス内におけるより高い１つまたは複数のフラグに基づいて、推測され得る。フラグが推測され得る場合、フラグは、ビットストリーム中に送信されず、そうでなければ、フラグは、現在のＣＵに対するヘッダ中に挿入される。一例では、低忠実度フラグは、低忠実度モードが現在のＣＵに対して使用されるべき場合、１に設定され、低忠実度モードが現在のＣＵに対して使用されるべきではない場合、ゼロに設定される。
【００６９】
低忠実度フラグが、現在のＣＵに対して使用される（すなわち、低忠実度フラグ値が１に設定される）と仮定すると、動作１０８において、エンコーダは、低忠実度モードオフセットを使用して、ルマＱＰ値からクロマＱＰ値を導出する。前述の説明のように、いくつかの実施形態では、低忠実度モードオフセットは、プリセット値であってもよく、部分的に、変換サイズに基づいて選択されてもよい。ルックアップテーブル、式、または他のそのようなメカニズムが、ルマＱＰをクロマＱＰにコンバートするために使用されてもよい。クロマＱＰは、低忠実度モードオフセットを追加し、次いで、コンバージョンを実施することによって、ルマＱＰから導出される。コンバージョン前のルマＱＰの調節は、低忠実度モードが、現在のＣＵに関連付けられる低忠実度フラグによって示されるように、現在のＣＵに適用されるという事実に基づくことに留意されたい。本調節は、ルマＱＰからクロマＱＰへの全てのコンバージョンに適用されるグローバルオフセットではなく、選択的であり、低忠実度モードがこの特定のＣＵに適用されるかどうかに基づく。ルマＱＰからの低忠実度クロマＱＰコンバージョンは、以下のように表され得る。
【００７０】
【数１４】
2019146263.tif 000017
前述の式では、ＱＰｌｕｍａは、ルマＱＰであり、ＱＰｇｌｏｂａｌ−ｏｆｆｓｅｔは、ルックアップテーブルを使用する前に、ＱＰを調節するときに適用される固定のオフセットである。いくつかの事例では、固定のオフセットは、テーブル自体に組み込まれてもよいが、その他では、テーブルの使用の前に適用され得る。ＱＰｇｌｏｂａｌ−ｏｆｆｓｅｔは、低忠実度モードが現在のＣＵに適用されるかどうかに関係なく適用される。
【００７１】
動作１１０では、エンコーダは、動作１０８で得られたクロマＱＰを使用して、クロマ係数を量子化することにより、量子化された係数を得る。それらの量子化された係数は、次いで、動作１１２にて、エントロピーエンコードされる。
【００７２】
前述の説明された動作１０８では、ルックアップテーブル、式、または他のそのようなメカニズムが、調節されたルマＱＰをクロマＱＰにコンバートするために使用される。いくつかの実装では、エンコーダおよびデコーダは、４：４：４、４：２：２、および４：２：０のように、異なるコーディング形式に固有であるＱＰコンバージョンルックアップテーブルを有してもよい。いくつかの実施形態では、これらの例におけるビデオのコーディングが、概して、４：４：４形式であるため、４：４：４形式ルックアップテーブルが、クロマＱＰを得るために使用され得る。しかしながら、いくつかの実施形態では、エンコーダおよびデコーダは、低忠実度モードが有効であるコーディングユニットに対して、４：２：０ＱＰコンバージョンルックアップテーブルを使用してもよい。つまり、低忠実度フラグがコーディングユニットに対して設定される場合、クロマＱＰは、別様に使用されるであろう４：４：４テーブルの代わりに、４：２：０ルックアップテーブルを使用して得られる。
【００７３】
ここで、フローチャート形式にて、クロマ低忠実度モードでエンコードされたビデオデータのビットストリームをデコードするための例示的方法２００を示す図４を参照する。方法２００は、クロマ低忠実度モード能力が、ピクチャおよび／またはビデオのシーケンスに対して有効にされることを決定する動作２０２を含む。この有効化は、デフォルトで有効にされているという意味で決定されてもよく、または有効化フラグを使用して、ビットストリーム中で明示的に信号化されてもよい。有効化フラグは、実装に応じて、ＳＰＳ、ＰＰＳから、またはビットストリーム中の他の場所からデコードされ得る。
【００７４】
動作２０４では、デコーダは、現在のＣＵに対して低忠実度フラグを再構成する。低忠実度フラグは、ビットストリームから、例えば、いくつかの場合では、現在のＣＵに関連付けられるヘッダから、低忠実度フラグをデコードすることによって再構成され得る。いくつかの事例では、低忠実度フラグは、低忠実度フラグが推測されるという意味で再構成され得る。いくつかの実施形態では、フラグ値は、前述のように、隣接するＣＵ中のフラグ値から、またはコーディング階層においてより高く設定されたフラグに基づいて推測され得る。
【００７５】
動作２０６において、デコーダは、再構成されたフラグ値が１か０か、すなわち、低忠実度モードが適用されるべきかどうかを決定する。該当しない場合、動作２０８では、クロマＱＰが、低忠実度モードオフセットを使用してルマＱＰを調節することなく、ルックアップテーブル（または、式もしくは他のメカニズム）を使用してルマＱＰをクロマＱＰにコンバートすることによって決定される。低忠実度フラグが設定される場合、動作２１０では、クロマＱＰが、低忠実度モードオフセットを使用してルマＱＰを調節することによって、および調節されたルマＱＰをクロマＱＰにコンバートすることによって、決定される。いずれの場合でも、グローバルＱＰオフセットが、コーディングスキームがそのようなオフセットを提供する場合、ルマＱＰに適用され得る。
【００７６】
クロマＱＰが、次いで、動作２１２にて、デコードされて量子化されたクロマ係数を逆量子化し、逆量子化されたクロマ係数を生成するために使用される。逆量子化動作は、前述の説明のように、そのスケーリング式中のＱＰ値を使用してもよく、またはＱＰ値が、実装に応じて、まず、量子化ステップサイズにコンバートされてもよく、次いで、量子化ステップサイズは、逆量子化動作に使用される。
【００７７】
動作２１４では、逆量子化されたクロマ係数が、再構成されたクロマ残差を生成するために逆変換され、動作２１６では、再構成されたクロマ残差は、再構成されたクロマサンプルのブロックを生成するために、予測されたクロマサンプルと組み合わせられる。
【００７８】
別の側面では、単独でまたはＱＰ調節と併せて、４：４：４コーディングプロセスにおける低忠実度モードのアサーションが、４：２：０の挙動をモデル化するように、結果として生じる、４×４クロマ変換ブロック信号化の禁止を含み得る。つまり、低忠実度モードがコーディングユニットに対してアサートされるとき、４×４イントラ変換ブロックは、クロマに対して許可されない。４：２：０コーディングに伴い、４×４ルマ変換ブロックに区画化される８×８ルマブロックは、通常、２×２クロマ変換ブロックに区画化される対応する４×４クロマブロックをもたらす。しかしながら、２×２ブロックは、Ｈ．２６５／ＨＥＶＣ規格においては定義されず、そのため、Ｈ．２６５／ＨＥＶＣは、クロマ４×４変換ツリーが、対応するルマブロック中に見られるさらなる分割をモデル化することを防止し、４×４での区画化を停止させる。４：２：０のコンテンツがアップサンプリングされ、４：４：４にてコーディングされるとき、４×４変換ブロックとして別様にコーディングされるであろうクロマコンテンツは、８×８変換ブロックとしてコーディングされる。さらに、４：２：０にてブロック化される分割は、４：４：４にて起こることを可能にされ、これは、８×８クロマブロックが４×４変換ブロックに区画化されることを意味し、４×４変換ブロックのそれぞれは、要求されるオーバーヘッドと併せてコーディングされる。加えて、イントラコーディングの場合、８×８クロマ変換が４つの４×４クロマ変換ブロックに区画化されるとき、各４×４クロマブロックは、１つの８×８イントラモード方向の代わりに、それ自体のイントラモード方向信号化を有してもよい。対応するブロックを４：２：０においてコーディングするとき、４×４ブロックの区画化の禁止は、４つのイントラモード（各２×２ブロックに対して１つずつ）が存在することを防止する。４：４：４コーディングを使用してこの余分なオーバーヘッドを排除するために、本開示の本側面では、８×８低忠実度クロマブロックは、４つの４×４ブロックにさらに区画化されることを防止され、それによって、４：２：０コーダの挙動をモデル化する。
【００７９】
いくつかの実施形態では、前述の説明された低忠実度モード動作は、２０１３年１月７日に出願された米国特許出願第１３／７３５，７８２号に説明される、予測フィルタリングと併せて実装されてもよい。同じＣＵレベルのフラグが、両方のプロセスを有効／無効にするために使用されてもよく、または別のフラグが使用されてもよい。
【００８０】
非限定的な一例では、本開示をＨ．２６５／ＨＥＶＣまたはその変形に制限することなく、以下の疑似コードシンタックスが、現在の草案である第２版のＨ．２６５／ＨＥＶＣシンタックスへの変更を通して、本開示の側面の一実装を例証する。
【００８１】
ピクチャパラメータセットに対するシンタックスは、以下の要素を含むように修正されてもよい。
【００８２】
【表２】
2019146263.tif 000018
前述のシンタックスでは、ｌｏｗｆｉｄｅｌｉｔｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、ｃｕ＿ｌｏｗｆｉｄｅｌｉｔｙ＿ｆｌａｇがビットストリーム中に存在し得る場合、１である。ｌｏｗｆｉｄｅｌｉｔｙ＿ｆｏｒｃｅｄ＿ｆｌａｇは、ｃｕ＿ｌｏｗｆｉｄｅｌｉｔｙ＿ｆｌａｇがビットストリーム中に存在せず、１と推測され得るとき、１である。ｌｏｗｆｉｄｅｌｉｔｙ＿ｑｐ＿ｃｂ＿ｏｆｆｓｅｔは、クロマＣｂ変換係数をスケーリングするときに適用されるべき付加的ＱＰオフセットを規定する。ｌｏｗｆｉｄｅｌｉｔｙ＿ｑｐ＿ｃｒ＿ｏｆｆｓｅｔは、クロマＣｒ変換係数をスケーリングするときに適用されるべき付加的ＱＰオフセットを規定する。
【００８３】
【表３】
2019146263.tif 000019
コーディングユニットをデコードするための前述の例示的シンタックスでは、ｃｕ＿ｌｏｗｆｉｄｅｌｉｔｙ＿ｆｌａｇ［ｘ０］［ｙ０］は、付加的クロマＱＰオフセットがクロマ変換係数のスケーリングプロセス中に適用される場合、１である。
【００８４】
【表４】
2019146263.tif 000020
クロマ変換係数のスケーリングのためのクロマＱＰ値が見出されるとき、以下の例示的規則が適用され得る。
１．  ｌｏｗｆｉｄｅｌｉｔｙ＿ｃｕ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が１の場合、ｌｏＦｉＣｂＱｐＯｆｆｓｅｔがｌｏｗｆｉｄｅｌｉｔｙ＿ｑｐ＿ｃｂ＿ｏｆｆｓｅｔと等しく設定され、かつｌｏＦｉＣｒＱｐＯｆｆｓｅｔがｌｏｗｆｉｄｅｌｉｔｙ＿ｑｐ＿ｃｒ＿ｏｆｆｓｅｔと等しく設定される。
２．  そうでなければ、ｌｏＦｉＣｂＱｐＯｆｆｓｅｔおよびｌｏＦｉＣｒＱｐＯｆｆｓｅｔは両方とも、ゼロに設定される。
３．  変数ｑＰＣｂおよびｑＰＣｒは、それぞれ、ｑＰｉＣｂおよびｑＰｉＣｒに等しいインデックスｑＰｉに基づいてＱｐＣの値と等しく設定され、ｑＰｉＣｂおよびｑＰｉＣｒは、以下のように導出される。
【００８５】
【数１５】
2019146263.tif 000021
４．  ＣｂおよびＣｒ成分のためのクロマ量子化パラメータＱｐ’ＣｂおよびＱｐ’Ｃｒは、以下のように導出される。
【００８６】
【数１６】
2019146263.tif 000022
ここで、エンコーダ９００の例示的実施形態の簡略ブロック図を示す図５を参照する。エンコーダ９００は、プロセッサ９０２と、メモリ９０４と、エンコーディングアプリケーション９０６とを含む。エンコーディングアプリケーション９０６は、コンピュータプログラムまたはアプリケーションを含んでもよく、コンピュータプログラムまたはアプリケーションは、メモリ９０４に記憶され、本明細書に説明される動作等の動作を実施するようにプロセッサ９０２を構成するための命令を含む。例えば、エンコーディングアプリケーション９０６は、本明細書に説明されるプロセスに従って、エンコードし、エンコードされたビットストリームを出力してもよい。エンコーディングアプリケーション９０６は、例えば、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ読み取り可能な媒体上に記憶され得ることが理解される。
【００８７】
ここで、デコーダ１０００の例示的実施形態の簡略ブロック図を示す図６も参照する。デコーダ１０００は、プロセッサ１００２と、メモリ１００４と、デコーディングアプリケーション１００６とを含む。デコーディングアプリケーション１００６は、コンピュータプログラムまたはアプリケーションを含んでもよく、コンピュータプログラムまたはアプリケーションは、メモリ１００４に記憶され、本明細書に説明される動作等の動作を実施するようにプロセッサ１００２を構成するための命令を含む。デコーディングアプリケーション１００６は、例えば、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ読み取り可能な媒体上に記憶され得ることが理解される。
【００８８】
本開示によるデコーダおよび／またはエンコーダは、限定されないが、サーバ、好適にプログラムされた汎用コンピュータ、オーディオ／ビデオエンコーディングおよび再生デバイス、セットトップテレビジョンボックス、テレビジョン放送機器、および携帯デバイスを含む、いくつかのコンピューティングデバイスに実装され得ることが理解される。デコーダまたはエンコーダは、本明細書に説明される機能を実行するようにプロセッサを構成するための命令を含むソフトウェアを経由して実装されてもよい。ソフトウェアの命令は、ＣＤ、ＲＡＭ、ＲＯＭ、フラッシュメモリ等を含む、任意の好適な非一過性コンピュータ読み取り可能なメモリ上に記憶されてもよい。
【００８９】
本明細書に説明されるエンコーダおよびモジュール、ルーチン、プロセス、スレッド、またはエンコーダを構成するための説明される方法／プロセスを実装する他のソフトウェアコンポーネントは、標準的なコンピュータプログラミング技法および言語を使用して実現され得ることが理解される。本開示は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング規定、データ構造、他のそのような実装詳細に限定されない。当業者は、説明されるプロセスが、揮発性または不揮発性メモリ内に記憶されるコンピュータ実行可能なコードの一部として、特定用途向け集積チップ（ＡＳＩＣ）等の一部として実装され得ることを認識する。
【００９０】
説明される実施形態の特定の適応および修正がなされてもよい。したがって、前述の実施形態は、例証的であって、制限的ではないと見なされる。
【図１】
2019146263.tif 000023
【図２】
2019146263.tif 000024
【図３】
2019146263.tif 000025
【図４】
2019146263.tif 000026
【図５】
2019146263.tif 000027
【図６】
2019146263.tif 000028