高忠実度コーダにおいて低忠実度コーディングをエミュレートする方法およびデバイス

 

低忠実度モードにおいてビデオをエンコードおよびデコードする方法が、説明される。コーディングユニットレベルの低忠実度フラグが、低忠実度モードが特定のコーディングユニットに対して有効にされているかどうかを信号化するように、ビットストリーム内に存在する。有効にされている場合、そのコーディングユニットに対して、クロマ量子化パラメータは、低忠実度モードオフセットによって調節されるルマ量子化パラメータを使用して決定される。有効にされていない場合、そのコーディングユニットに対して、クロマ量子化パラメータは、低忠実度モードオフセットによる調節なしで、ルマ量子化パラメータを使用して決定される。クロマ量子化パラメータは、次いで、量子化されたクロマ変換ドメイン係数のスケーリングに使用される。ルマまたは他のビデオ成分との使用も提案される。

 

 

(分野)
本開示は、概して、データ圧縮、特に、高忠実度コーダにおいて低忠実度コーディングをエミュレートする、ビデオコーディングのための方法およびデバイスに関する。
(背景)
データ圧縮は、いくつかの状況で発生する。それは、情報を効率的に記憶、伝送、および再現するために、通信およびコンピュータネットワーキングで非常に一般的に使用されている。画像、オーディオ、およびビデオのエンコードにおいて、特定の用途が見出される。ビデオは、各ビデオフレームのために要求される膨大な量のデータおよびエンコードおよびデコードが頻繁に発生する必要のある速度のため、データ圧縮に重大な課題を提示している。ビデオエンコードにおける現在の最新技術は、ITU−T H.265/HEVCビデオコーディング規格である。これは、Mainプロファイル、Main Still Pictureプロファイル、およびその他を含む、異なるアプリケーション用のいくつかの異なるプロファイルを定義する。
ブロックベースのコーディングプロセスを使用するH.265を含め、画像およびビデオのエンコード/デコードには、いくつかの規格がある。これらのプロセスでは、画像またはフレームは、典型的には、4×4〜64×64の範囲のサイズを伴うブロックに分割されるが、いくつかの場合では、非方形ブロックが使用されてもよく、ブロックは、係数にスペクトル変換され、量子化され、エントロピーエンコードされる。多くの場合では、変換されるデータは、実画素データではなく、予測演算の後の残差データである。予測は、イントラフレーム、すなわち、フレーム/画像内でのブロック単位、またはインターフレーム、すなわち、フレーム間(動き予測とも呼ばれる)であることができる。
残差データをスペクトル変換するとき、これらの規格の多くは、離散コサイン変換(DCT)またはいくつかのその変形の使用を規定する。結果として生じるDCT係数は、次いで、量子化された変換ドメイン係数を生成するために、量子化器を使用して量子化される。量子化された係数のブロックは、次いで、エンコードされたビデオのビットストリームを生成するために、動きベクトルおよびその他のデータのようなサイド情報を用いて、エントロピーエンコードされ、パッケージ化される。
デコーダでは、ビットストリームは、量子化された係数を再構成するため、エントロピーデコードされる。デコーダは、次いで、画素ドメイン残差を再構成するために、再構成された量子化された係数を逆量子化および逆変換する。エンコーダで使用されたものと同じ予測演算を使用して、画素データが、次いで、再構成される。
画素データは、概して、ルマ成分と、クロマ成分とに分けられ、それぞれ、類似プロセス(通常、2つのクロマ成分)を使用してエンコードされる。色データの空間的位置に関する人間の知覚限界のため、クロマは、典型的には、各クロマ成分に対して、単一クロマサンプルのみが、2つまたは4つのルマサンプル毎に送信されるように、サブサンプリングされる。これは、自然風景のビデオには上手く作用しているが、不明瞭化およびその他のアーチファクトを回避するために鮮明な色彩エッジ鮮明度を要求する、例えば、テキストおよびグラフィックス等のコンピュータ生成コンテンツに関して問題を引き起こしている。
いくつかのコンテンツタイプへのクロマサブサンプリングの不適は、自然風景およびコンピュータ生成グラフィックの両方を含む混合コンテンツの場合に、より問題となる。
(簡単な概要)
本開示は、高忠実度コーダで低忠実度コーディングを、選択的にエミュレートするために、ビデオをエンコードおよびデコードするための方法およびエンコーダ/デコーダを説明する。低忠実度コーディングは、低忠実度フラグによって信号化され、低忠実度フラグは、ビデオ成分と関連付けられ、コーディングユニットと関連付けられる。低忠実度フラグが設定されている場合、そのコーディングユニットに対するビデオ成分は、エンコーディングおよび/またはデコーディングに使用される量子化パラメータを調節することによって、低忠実度モードにおいてエンコードまたはデコードされる。
第1の側面では、本開示は、ビデオデコーダを使用して、エンコードされたビデオのビットストリームからビデオをデコードする方法を説明し、ビデオは、コーディングユニットに区画化されるピクチャを含む。本方法は、コーディングユニットのうちの1つに対して、低忠実度フラグを再構成することを含み、低忠実度フラグは、そのコーディングユニットと関連付けられ、ビデオ成分と関連付けられる。本方法は、さらに、低忠実度フラグが設定されている場合、低忠実度モードオフセットに基づいて、ビデオ成分のための量子化パラメータを決定することと、低忠実度フラグが設定されていない場合、低忠実度モードオフセットを使用することなく、ビデオ成分のための量子化パラメータを決定することと、量子化パラメータに基づいて、コーディングユニットに対するビデオ成分におけるデコードされる係数を逆量子化することにより、逆量子化された係数を生成することとを含む。
本開示は、さらに、ビデオエンコーダを使用して、エンコードされたビデオのビットストリームを作成するために、ビデオをエンコードする方法を開示し、ビデオは、コーディングユニットに区画化されるピクチャを含む。本方法は、コーディングユニットのうちの1つに対して、低忠実度フラグをエンコードすることを含み、低忠実度フラグは、そのコーディングユニットと関連付けられ、ビデオ成分と関連付けられ、低忠実度フラグは、コーディングユニットが低忠実度モードにおいてエンコードされる場合に設定され、コーディングユニットが低忠実度モードにおいてエンコードされない場合に設定されない。そして、本方法は、コーディングユニットが低忠実度モードにおいてエンコードされる場合、低忠実度モードオフセットに基づいて、ビデオ成分のための量子化パラメータを決定することと、コーディングユニットが低忠実度モードにおいてエンコードされない場合、低忠実度モードオフセットを使用することなく、ビデオ成分のための量子化パラメータを決定することと、量子化パラメータに基づいて、コーディングユニットに対するビデオ成分における変換係数を量子化することにより、量子化された係数を生成することとをさらに含む。
ビデオ成分は、ルマ成分と、クロマ成分と、アルファ成分と、赤色成分と、緑色成分と、青色成分とのうちの少なくとも1つを含んでもよい。
さらなる側面では、本開示は、エンコードおよびデコードのそのような方法を実装するように構成されるエンコーダおよびデコーダを説明する。
また、さらなる側面では、本開示は、コンピュータ実行可能なプログラム命令を記憶する非一過性コンピュータ読み取り可能な媒体を説明し、コンピュータ実行可能なプログラム命令は、実行されると、エンコーディングおよび/またはデコーディングの説明される方法を実施するようにプロセッサを構成する。
本開示の他の側面および特徴は、添付の図面と併せて、例の以下の説明を検討することで、当業者によって理解される。
例として、本開示の例示的実施形態を示す添付の図面が参照される。
図1は、ブロック図形式にて、ビデオをエンコードするためのエンコーダを示す。 図2は、ブロック図形式にて、ビデオをデコードするためのデコーダを示す。 図3は、フローチャート形式にて、ビデオをエンコードするための例示的プロセスを示す。 図4は、フローチャート形式にて、フィルタリングされた予測に基づき得る、エンコードされたビデオのビットストリームをデコードするためのプロセスを示す。 図5は、エンコーダの例示的実施形態の簡略ブロック図を示す。 図6は、デコーダの例示的実施形態の簡略ブロック図を示す。
類似参照番号が、類似構成要素を表示するために異なる図に使用され得る。
(例示的実施形態の説明)
以下の説明において、いくつかの例示的実施形態は、ビデオコーディングのためのH.264規格および/または開発中のH.265/HEVC規格を参照して説明される。当業者は、本開示が、H.264/AVCまたはH.265/HEVCに限定されないが、可能性として考えられる将来規格、マルチビューコーディング規格、スケーラブルビデオコーディング規格、および再構成可能ビデオコーディング規格を含む、他のビデオコーディング/デコーディング規格に適用可能であり得ることを理解する。
以下の説明において、ビデオまたは画像に言及するとき、フレーム、ピクチャ、スライス、タイル、および矩形スライス群という用語は、多少は交換可能に使用され得る。当業者は、H.264規格の場合、フレームが1つまたは複数のスライスを含み得ることを理解する。「フレーム」という用語は、H.265/HEVCにおいて「ピクチャ」と取り替えられ得る。一連のフレーム/ピクチャは、いくつかの場合では、「シーケンス」と呼ばれ得る。他の用語が、他のビデオコーディング規格において使用され得る。適用可能な画像またはビデオコーディング規格の特定の要求または技術に応じて、特定のエンコード/デコード動作は、フレーム毎に実施される場合があり、いくつかはスライス毎に、いくつかはピクチャ毎に、いくつかはタイル毎に、いくつかは矩形スライス群によって実施されることが理解される。任意の特定の実施形態では、適用可能な画像またはビデオコーディング規格は、以下に説明される動作が、場合に応じて、フレームおよび/またはスライスおよび/またはピクチャおよび/またはタイルおよび/または矩形スライス群と関係して実施されるかどうか決定し得る。故に、当業者は、本開示に照らして、本明細書に説明される特定の動作またはプロセス、ならびにフレーム、スライス、ピクチャ、タイル、矩形スライス群への特定の参照が、所与の実施形態に対するフレーム、スライス、ピクチャ、タイル、矩形スライス群、またはそれらの一部あるいは全部に適用可能かどうか理解する。これは、以下の説明に照らして明白であるように、コーディングツリーユニット、コーディングユニット、予測ユニット、変換ユニット、その他にも適用される。
いくつかの場合では、以下の例は、クロマ成分、すなわち、2つの色差成分CbおよびCrのエンコーディングおよびデコーディングに固有である。本開示は、1つまたは複数のクロマ成分に限定されず、1つまたは複数のビデオ成分に適用されてもよい。ビデオデータの形式に応じて、例示的ビデオ成分は、ルマ成分、1つまたは両方のクロマ成分CbおよびCr、その他の色差成分、アルファ成分、赤色成分、緑色成分、および/または青色成分を含んでもよい。
ここで、ブロック図形式にて、ビデオをエンコードするためのエンコーダ10を示す、図1を参照する。また、ビデオをデコードするためのデコーダ50のブロック図を示す図2も参照する。本明細書に記載されるエンコーダ10およびデコーダ50は、それぞれ、1つまたは複数の処理要素とメモリとを含む特定用途向けまたは汎用コンピューティングデバイス上に実装されてもよい。エンコーダ10またはデコーダ50によって実施される動作は、場合に応じて、例えば、特定用途向け集積回路を経由して、または汎用プロセッサによって実行可能な記憶されたプログラム命令を経由して実装されてもよい。デバイスは、例えば、基本デバイス機能を制御するための動作システムを含む付加的ソフトウェアを含んでもよい。エンコーダ10またはデコーダ50が内部に実装され得るデバイスおよびプラットホームの範囲は、以下の説明を考慮して、当業者によって理解される。
エンコーダ10は、ビデオソース12を受信し、エンコードされたビットストリーム14を生成する。デコーダ50は、エンコードされたビットストリーム14を受信し、デコードされたビデオフレーム16を出力する。エンコーダ10およびデコーダ50は、いくつかのビデオ圧縮規格に従って動作するように構成されてもよい。例えば、エンコーダ10およびデコーダ50は、H.264/AVC対応であってもよい。他の実施形態では、エンコーダ10およびデコーダ50は、H.265/HEVCのようなH.264/AVC規格の発展型を含む、他のビデオ圧縮規格に従ってもよい。
エンコーダ10は、空間予測器21と、コーディングモードセレクタ20と、動き予測器36と、変換プロセッサ22と、量子化器24と、エントロピーエンコーダ26とを含む。当業者によって理解されるように、コーディングモードセレクタ20は、ビデオソースに適切なコーディングモード、例えば、対象フレーム/スライスがI型か、P型か、またはB型か、および、フレーム/スライス内の特定のコーディングユニット(例えば、マクロブロック、コーディングユニット等)がイントラコーディングされるかまたはインターコーディングされるか、すなわち、予測が、動き予測器36(インターコーディングされる)に由来するかまたは空間予測器21(イントラコーディングされる)に由来するかを決定する。変換プロセッサ22は、空間ドメインデータに応じて変換を実施する。特に、変換プロセッサ22は、空間ドメインデータをスペクトル成分にコンバートするために、ブロックベースの変換を適用する。例えば、多くの実施形態で、離散コサイン変換(DCT)が使用される。離散サイン変換、ウェーブレット変換、またはその他等の他の変換が、場合によっては、使用されてもよい。ブロックベースの変換は、変換ユニットに関して実施される。変換ユニットは、コーディングユニットのサイズであってもよく、またはコーディングユニットは、複数の変換ユニットに分割されてもよい。H.264規格では、例えば、典型的な16×16マクロブロック(コーディングユニット)は、16の4×4変換ユニットを含み、DCTプロセスは、4×4ブロック上で実施される。変換ユニット(TU)は、他のサイズであってもよい。いくつかの場合では、TUは、非方形、例えば、非方形直交変換(NSQT)であってもよい。
ブロックベースの変換を画素データのブロックに適用することで、変換ドメイン係数のセットがもたらされる。本文脈では、「セット」は、その中で係数が係数位置を有する、順序付けられたセットである。いくつかの事例では、変換ドメイン係数のセットは、係数の「ブロック」またはマトリクスと見なされ得る。本明細書の説明では、「変換ドメイン係数のセット」または「変換ドメイン係数のブロック」という語句は、交換可能に使用され、変換ドメイン係数の順序付けられたセットを指すことが意図される。
変換ドメイン係数のセットは、量子化器24によって量子化される。量子化された係数および関連付けられた情報は、次いで、エントロピーエンコーダ26によってエンコードされる。
イントラコーディングされたフレーム/スライス(すなわち、I型)は、他のフレーム/スライスを参照することなくエンコードされる。言い換えると、それらは、時間予測を採用しない。しかしながら、イントラコーディングされたフレームは、空間予測器21によって、図1に例証されるように、フレーム/スライス内で空間予測に確かに依拠する。つまり、特定のブロックをエンコードするとき、ブロック中のデータは、そのフレーム/スライスのためにすでにエンコードされたブロック内の近傍画素データと比較され得る。予測動作を使用して、エンコーダ10は、近傍画素データに基づいて、予測されたブロックまたはユニットを生成する。予測には、種々のモードまたは方向がある。いくつかの場合では、レート歪み最適化が、モード/方向の選択に使用されてもよい。予測動作で使用される近傍画素は、以前にエンコードおよびデコードされてフィードバックループ内のラインバッファ35中に記憶されている再構成された画素である。ブロックのための実画素データと予測されたブロックとの間の差異は、残差ブロック、すなわち、誤差信号である。残差データは、ビットストリーム14における伝送のために、変換され、量子化され、エンコードされる。
インターコーディングされたフレーム/ブロックは、時間予測に依拠する、すなわち、他のフレーム/ピクチャから再構成されたデータを使用して、予測される。エンコーダ10は、逆量子化器28と、逆変換プロセッサ30と、非ブロック化プロセッサ32とを含むフィードバックループを有する。非ブロック化プロセッサ32は、非ブロック化プロセッサと、フィルタリングプロセッサとを含んでもよい。これらの要素は、フレーム/スライスを再現するために、デコーダ50によって実装されるデコーディングプロセスを模倣する。フレーム記憶装置34は、再現されたフレームを記憶するために使用される。このように、動き予測は、元のフレームではなく、デコーダ50で再構成されるフレームであるフレームに基づき、元のフレームは、エンコーディング/デコーディングに関わる劣化を伴う圧縮のため、再構成されるフレームとは異なり得る。動き予測器36は、類似ブロックを識別する目的で、現在のフレームとの比較のために、フレーム記憶装置34に記憶されたフレーム/スライスをソースフレーム/スライスとして使用する。言い換えると、動きベクトル検索が、別のフレーム/ピクチャ内でブロックを識別するために実行される。そのブロックは、予測されるブロックまたはユニットのソースである。予測されるブロックと元のブロックとの間の差異は、残差データになり、残差データは、次いで、変換され、量子化され、エンコードされる。
当業者は、ビデオエンコーダを実装するための詳細および可能性として考えられる変形例を理解する。
デコーダ50は、エントロピーデコーダ52と、逆量子化器54と、逆変換プロセッサ56と、非ブロック化プロセッサ60とを含む。非ブロック化プロセッサ60は、非ブロック化およびフィルタリングプロセッサを含んでもよい。ラインバッファ59は、フレーム/ピクチャがイントラコーディングにおいて空間補償器57による使用のためにデコードされている間、再構成された画素データを記憶する。フレームバッファ58は、動き補償を適用するときの動き補償器62による使用のために、完全に再構成されて非ブロック化されたフレームを記憶する。
ビットストリーム14は、量子化された係数を復元するために、エントロピーデコーダ52によって受信され、デコードされる。コーディングモード情報を含むサイド情報も、エントロピーデコーディングのプロセス中に復元されてもよく、そのうちのいくつかは、予測生成時の使用のためにフィードバックループに供給され得る。例えば、エントロピーデコーダ52は、インターコーディングされたブロックのための動きベクトルおよび/または参照フレーム情報、あるいはイントラコーディングされたブロックのためのイントラコーディングモード方向情報を復元してもよい。
量子化された係数は、次いで、変換ドメイン係数を生成するために、逆量子化器54によって逆量子化され、次いで、残差画素ドメインデータを再生成/再構成するために、逆変換プロセッサ56によって、逆変換を受ける。空間補償器57は、残差データと、それが空間予測を使用して生成する予測されたブロックとから、ビデオデータを作成する。空間予測は、同じフレームから以前に再構成された画素データに依拠して、エンコーダによって使用されものと同じ予測モード/方向を適用する。インターコーディングされたブロックは、以前にデコードされたフレーム/ピクチャと、ビットストリームからデコードされた動きベクトルとに基づいて、予測されたブロックを生成することによって再構成される。再構成された残差データは、次いで、再構成された画素データを作成するために、予測されたブロックに追加される。空間補償および動き補償の両方は、本明細書では、「予測動作」と称され得る。
非ブロック化/フィルタリングプロセスが、次いで、非ブロック化プロセッサ60によって示されるように、再構成されたフレーム/スライスに適用されてもよい。非ブロック化/フィルタリング後、フレーム/スライスは、例えば、ディスプレイデバイス上のディスプレイに、デコードされたビデオフレーム16として出力される。コンピュータ、セットトップボックス、DVDまたはBlu−Rayプレイヤー、および/または携帯ハンドヘルドデバイス等のビデオ再生機械は、出力デバイス上での表示に先立って、デコードされたフレームをメモリにバッファリングし得ることが理解される。
H.265/HEVCおよびいくつかの他のコーディング規格では、ピクチャは、ブロックのオーバーラップしないセットに分割される。H.265/HEVCでは、例えば、各ピクチャは、64×64コーディングツリーブロック(CTB)(時として、「コーディングツリーユニット」と称される)に分割される。各CTBは、次いで、さらに、四分木構造分割において、コーディングツリーノードに、最終的には、コーディングユニットに分割される。本構造では、「リーフノード」、すなわち、コーディングユニット(CU)は、必ずしも全部が同じサイズではないことに留意されたい。例として、CTBは、32×32ブロックに分割されてもよく、そのうちの2つは、CU(リーフノード)であり得、そのうちの2つは、16×16ブロックにさらに分割され得る。これらのうちのいくつかは、CUであってもよく、いくつかはまた、8×8ブロック等にさらに分割されてもよい。
前述の説明は、画素に言及するが、多くのビデオコーディングシステムは、ルマデータ(Y)と、クロマデータ(UおよびV、またはCbおよびCr)との両方を使用することが理解される。実際に、デジタルビデオシステムで画素データをルマとクロマとに分離することは、クロマサブサンプリングの使用を可能にする。ヒトの目は、自然ビデオ風景中のクロマ細部に対して感度が低いため、クロマデータは、より大きな圧縮を達成するように、サブサンプリングされ、より低い解像度で送信されてもよい。現在のビデオコーディング規格では、4:4:4のクロマサンプリング形式は、クロマサブサンプリングがないことを示し、4:2:2は、水平に2倍のクロマサブサンプリングを示し、4:2:0は、水平および垂直に、2倍のクロマサブサンプリングを示す。
自然風景の色の空間的局所性を感知するヒトの能力の限界のため、4:2:0のクロマサブサンプリングを使用するデジタルビデオ圧縮が、一般的に使用される。しかしながら、デジタルビデオは、コンピュータ生成コンテンツまたはコンピュータ生成コンテンツと自然風景との混合物をエンコード/デコードするためにより一般的に使用されている。コンピュータ生成コンテンツは、鮮明なエッジ、インパルス、高周波数によって特徴付けられる。例は、テキストまたはコンピュータグラフィックスである。そのようなコンテンツでは、ルマ成分およびクロマ成分の両方に対して、鮮明なエッジの不明瞭化を回避するために、高忠実度が要求される。この点における「コンピュータ生成」コンテンツは、必ずしも「コンピュータ生成イメージ」または「CGI」に言及するわけではく、コンピュータ作成コンテンツは、映画またはテレビ番組中の自然風景に溶け込む、または映画またはテレビ番組中の自然風景として現れるように意図的に設計されることに留意されたい。
低クロマ忠実度ビデオの場合における、現在のコーディングに伴う1つの問題は、同じビデオソースをコーディングするとき、4:4:4システムが、4:2:0システム、さらには、4:2:2システムと同じレート歪み性能を達成することが不可能であると考えられることである。ビデオの一部はより高い忠実度を要求するため、ビデオ全体が4:4:4形式にコーディングされる。自然風景の画像またはビデオ等、元々は4:2:0形式である部分は、4:4:4にアップサンプリングされ、その形式に従ってエンコードされる。4:2:0形式のビデオがアップサンプリングされ、4:4:4形式でエンコードされるとき、わずかに良好なクロマ忠実度を確かにもたらすが、ビットレートは、約10%増加する。ビットレートという点で、コストは、多くの場合、わずかな知覚改善(該当する場合)の観点から正当化されない。
ビットレートの余分なコストは、部分的には、余分なクロマ係数に起因するものであるが、部分的には、余分なオーバーヘッドによるものでもある。例えば、H.265/HEVC 4:2:0コーディングでは、8×8変換ユニットは、4×4クロマ変換ブロックをもたらし、同一場所に位置する8×8ルマ変換ブロックのいずれの区画化も継承しない。クロマがアップサンプリングされ、4:4:4形式でエンコードされるとき、8×8クロマ変換ブロックをもたらし、それは、同一場所に位置するルマ変換ブロックの区画化(および余分なヘッダオーバーヘッドおよび余分なイントラモードの信号化)を呈する。加えて、より大きなクロマ変換ブロックが使用されるとき、それらのブロック中の係数は、より小さな量子化ステップサイズで量子化され、コーディングのためにより多くの係数データをもたらす。同じ量子化パラメータは、HEVC量子化動作の構造に起因して、より大きな変換ブロックに対して、より小さな変換ブロックを用いる場合よりも小さな量子化ステップサイズをもたらす。言い換えると、より大きな変換ブロックでは、エンコーダは、より小さな変換ブロックを用いる場合よりも高い精度(より大きい/より多い係数)を保持するように構成される。したがって、4:4:4形式でのアップサンプリングおよびコーディングは、付加的係数データをもたらす。
2013年1月7日に出願され、本明細書と共有される米国特許出願第13/735,782号は、混合忠実度要件を有するビデオに関する問題を説明する。その出願では、予測ブロックが残差データの生成に使用される前に、(概して)高周波数成分を取り除くために、予測ブロックがフィルタリングされることが提案された。各ブロックのフラグは、そのブロックに対して予測がフィルタリングされるかどうか制御するものであった。
一側面では、本開示は、ピクチャの低忠実度領域で使用される量子化および/または他のコーディングパラメータを修正することを提案する。ある意味では、4:4:4形式コーディングプロセス内において、低忠実度領域に対応するブロックまたはブロック群は、それらの量子化パラメータを有し得、それらの量子化パラメータは、4:2:0形式でのコーディングからもたらされ得るものをエミュレートする様式で、それらの領域を処理するように調節される。例えば、クロマ成分に関して、量子化パラメータは、サブサンプリングが起こる場合に、4:2:0で別様に使用されたであろう変換ブロックよりも大きな変換ブロックが4:4:4で使用されるという事実を補償するように調節され得る。これらのブロックを、4:2:0で処理されたであろうように処理するため、エンコーダは、例えば、ブロックをより積極的に量子化してもよく、または、例えば、8×8ブロックの区画化を制限してもよい。
以下に説明される例の多くは、特に、クロマ成分のコーディングにおける使用のために提案される。しかしながら、説明されるプロセスおよび技法は、いくつかの実施形態では、ルマ成分、またはルマおよびクロマ成分に適用され得る。前述のように、本開示は、概して、ビデオ成分のエンコーディングおよびデコーディングに適用可能であり、ビデオ成分(ビデオデータの形式に依存する)は、ルマ成分、Cb、Cr、他の色差成分、アルファ成分、および/またはRGB成分のうちの1つまたは複数を含み得る。
量子化は、概して、ある範囲の値を伴う信号を、減少した範囲の値を伴う量子化された信号にマッピングする。この範囲の減少は、本質的には、劣化を伴うが、これは、量子化された信号が、より少ないビットで表現されることを可能にする。量子化の例は、H.265/HEVCにおける硬決定スカラー量子化器であり、変換係数をc取り込み、以下に従って、量子化された変換係数uを生成する。
前述の数式では、qは、所与の量子化パラメータの関数である量子化ステップサイズであり、QPおよびθは、丸めオフセットである。sign関数は、cがゼロ未満である場合、−1を返し、そうでなければ、+1を返す。qとQPとの間の関係は、一例において、以下によって与えられる。
デコーダで変換ドメイン係数を再構成するとき、再構成された係数
は、以下のように決定され得る。
この数式では、scaleFactorは、QPに基づく量子化スケーリング値を選択するための関数である。bitDepthは、典型的には、多くの実装で8であり、これは、この分母項が単位元になることを意味し、分母は、事実上、TransformSizeによって影響されることを意味する。TransformSizeが増加する場合、量子化された変換係数uは、補償するために比例的に増加しなければならないことが留意される。言い換えると、量子化ステップサイズは、より大きい変換サイズに対して、より小さい。
クロマ成分の量子化に関して言えば、ルマ成分のQPは、ルマQPを調節するために、事前選択されたオフセット値(該当する場合)を使用して、クロマQPにコンバートされる。この調節されたルマQP値は、クリップされ、次いで、調節されたルマQP値をクロマQP値にコンバートするために、ルックアップテーブルが使用される。4:4:4形式コーディングの場合では、調節されたルマQPとクロマQPとの間のルックアップテーブルでのマッピングは、1対1である。4:2:0形式コーディングの場合では、4:2:0ルックアップテーブルでのマッピングは、多くのより低いQP値に対しては1対1であるが、より大きいQP値に対しては発散する。
本開示の一側面によると、クロマQPは、低忠実度モードQPオフセットによって、コーディングユニットに対して選択的にさらに調節されるルマQP値に基づいて得られる。低忠実度モードQPオフセットの使用は、低忠実度モードがそのコーディングユニットに対して信号化されるかどうかに基づく。信号化は、いくつかの実施形態では、そのコーディングユニットに対してエンコードされるフラグに基づき得る。いくつかの場合では、フラグは、CTBの構造的階層においてより高く設定されたフラグの継承をベースに推測され得る。
低忠実度モードQPオフセットの値は、例えば、ピクチャパラメータセット(PPS)またはシーケンスパラメータセット(SPS)において、ビットストリーム中で信号化され得、またはプリセット値であり得る。プリセット値は、以下で概説されるように、4:2:0形式対4:4:4形式コーディングに関連付けられる歪みの比較に基づき得る。
変換ブロックでは、変換係数毎の量子化によって生じる誤差は、以下のように近似され得る。
この数式では、qは、量子化ステップサイズであり、θは、量子化式からの丸めオフセットである。言い換えると、誤差は、予想されるように、量子化ステップサイズと直接的に相関付けられる。歪みは、誤差の2乗に比例する。例えば、歪みは、以下のように表され得る。
換言すると、係数毎の歪みは、平均して、量子化ステップサイズの2乗に比例し、以下のように表され得る。
この数式では、kは、ある定数である。8×8残差クロマブロックを例として仮定すれば、本来の4:2:0における、ブロック中の64個の係数にわたる歪みは、以下によって与えられる。
しかしながら、従来の空間補間フィルタを使用するアップサンプリングからもたらされる、4:4:4における8×8残差クロマブロックを仮定する。その場合では、情報のうちのほとんどは、変換ブロックの左上側の4×4サブブロック中に含まれることが予想され得る。そのような場合では、8×8ブロックに対する全体の歪みは、以下のように近似され得る。
4つの4×4ブロックをコーディングすることは、レート歪みの意味で、1つの8×8ブロックをコーディングすることにほぼ匹敵するはずであることに留意されたい。しかしながら、少なくとも概念的には、本来の4:2:0における4×4クロマブロックが、4:4:4における8×8クロマブロックにアップサンプリングされるとき、その8×8ブロックのコーディングのレート歪みコストは、4つの4×4ブロックではなく、1つの4×4ブロックにほぼ匹敵する。これを補償し、異なるブロックサイズに関連付けられるレート歪みコストの平衡を取り戻すために、提案される解決策は、8×8ブロックの量子化を調節する。言い換えると、本開示は、一側面では、4:2:0コーディングの歪みをより良好にエミュレートするために、(アップサンプリングされた)4:4:4の量子化を増加させることを提案する。故に、歪みの変化を評価することが要求される。
ここでは、記号α=64/16=4である。qとQPとの間の関係を使用し、前述の式は、以下にコンバートする。
前述の解析は、8×8にアップサンプリングされる情報の全部が、ブロックの左上隅における4×4ブロック中に含まれることを仮定する限りにおいて理想的である空間補間フィルタに基づくことを留意されたい。実践では、アップサンプリングのプロセスは、カットオフ周波数の周囲にエイリアシングをもたらし、フィルタに応じて、8×8変換ブロックの左上隅における5×5ブロック内に大部分が含まれる情報をもたらし得る。その場合では、α=64/25=3.2であり、およそ5の低忠実度モードQPオフセットにつながり、以下を意味する。
同じ解析が、4:2:2から4:4:4へのコンバージョンに実施されてもよい。そのような場合では、前述の解析を使用して、α=2となり、QP調節は、+3となる。エイリアシングを考慮に入れて、低忠実度モードQPオフセットは、+2により近くなり得る。
低忠実度モードQPオフセットは、例えば、8×8、16×16、32×32等の特定のブロックサイズに対して決定/選択され得ることが理解される。
エイリアシングの影響が考慮に入れられるべき範囲は、使用されるアップサンプリングフィルタに依存することが理解される。
バイナリフラグの階層は、種々の粒度において、低忠実度モードオフセットが有効であるか無効であるかをデコーダに信号伝達し得る。SPSまたはPPSレベルでは、コーディングされるビデオのシーケンス全体に対して、または特定のPPSを参照するいくつかのピクチャに対して、フィーチャーの使用を有効または無効にするフラグが提供され得る。PPSは、プリセットQPオフセットがない限り、モードが選択されるときに使用されるQPオフセット等、高レベルオプションも提供し得る。
エンコーダが、低忠実度モードがピクチャ中の全てのCUに対して使用されるべきと決定する場合、PPSは、CU毎のフラグを信号化するビットストリームコストを負う必要なく、CU毎のフラグがピクチャ中の全CUに対してアサートされるかのようにふるまうようにデコーダに命令するフラグを含み得る。
ピクチャ中の各CUに対して、フィーチャーが許可されている/有効であると推定すると、低忠実度モードの使用を制御する、単一のコンテキスト適応型算術エンコーディングされたフラグがそのCUに提供され得る。一実施形態では、フラグの予測は起きないが、他の実施形態では、空間的に隣接するフラグから予測すること、またはいくつかのコンテンツベースの予測器を使用することが可能であり得る。フラグは、ブロックがスキップされる場合に信号化されない。フラグは、適切なときにのみ、すなわち、残差がゼロであり/スキップされ、フラグが送信されない場合(イントラN×N区画化の場合において、実施形態が、フラグが設定されるときに1つまたは複数のビデオ成分に対するイントラ予測区画の数を制限することを含む場合、フラグが要求され得ることを除く)のみ、信号化されるようにシンタックス内に位置付けられる。別の実施形態では、残差が送信されないときにフラグの送信を回避するのではなく、フラグは、クロマ残差が送信されない場合に送信されない。
前述のように、低忠実度モードQPオフセットは、エンコーダおよびデコーダ中にプリセットされ得る。別の実施形態では、PPSまたはSPS中に明示的に信号化され得る。さらに別の実施形態では、各クロマ成分に対して1つずつ、2つのオフセットが信号化され得る。またさらなる実施形態では、オフセット(または1対のオフセット)が、各変換サイズに対して信号化され得る。オフセットは、いくつかの事例では、プリセットされた低忠実度モードQPオフセット値からの差異として信号化され得る。
低忠実度モードオプションを使用してビデオをエンコードするための一例示的方法100が、フローチャート形式にて、図3に例証される。本例は、低忠実度モードでのクロマ成分のコーディングに特有である。前述のように、ルマ成分も、低忠実度モードにおいて、代替的または付加的にコーディングされ得る。
エンコーダは、最初に、動作102にて、低忠実度モード能力を有効にする。これは、デフォルトで起きてもよく、または低忠実度有効化フラグを含めることにより、ビットストリーム中に信号化されてもよい。フラグは、低忠実度モードが有効にされ、デコーダが低忠実度フラグを予期し、デコードすべきことを示すために、SPS、PPS、またはビットストリーム中の他の場所に置かれ得る。
動作104では、現在のコーディングユニット(CU)に対して、エンコーダは、クロマを低忠実度モードでコーディングするべきかどうか決定する。この決定は、いくつかの可能性として考えられる因子に基づき得る。非限定的例証として、一例では、決定は、変換ブロックの左上四半部への非ゼロ係数の集中に基づく。本例では、変換ブロックの低周波数領域(例えば、左上四半部)における非ゼロ係数の数は、Xと表示され、ブロックの残りにおける非ゼロ係数の数は、Yと表示される。Y/(X+Y)が、ある事前に定義された閾値(50〜60%等)未満の場合、変換ブロックは、低忠実度であると見なされる。いったんコーディングユニット中の全ての変換ブロックが低忠実度であるかどうか決定されると、コーディングユニットに対して集合的決定がなされ得る。別の例では、Xは、DC位置を含む変換ユニット中の最小矩形領域のサイズを表示し、Yは、ブロックの残りのサイズを表示する。さらに別の例では、係数レベルの合計が、非ゼロ係数の数の代わりに使用され得る。異なる閾値が、異なるコーディングユニットサイズに対して設定されてもよい。本例における係数は、残差データの変換からではなく、元の画素データの変換に基づくことに留意されたい。
さらに非限定的例では、低忠実度の決定は、相対歪み測定および条件のセットに基づき得る。本例では、コーディングユニットは、高低両方の忠実度モードでコーディングされ、総クロマ歪みが決定される。高忠実度歪みはDと表示され、低忠実度歪みはDと表示される。前述の概説されたような歪みモデルと、適用可能な量子化ステップサイズとを使用して、低忠実度モードNおよび高忠実度モードNに対する変換係数の予期される数が計算される。これらの推定値は、次いで、コーディングからもたらされた変換係数の実際の数(Nと表示され得る)と比較される。低忠実度モード(インデックスi=1)および高忠実度モード(インデックスi=0)に対して、以下の条件が評価され得る。
両方の場合で条件が真の場合、コーディングユニットは、低忠実度と指定され得る。そうでなければ、高忠実度に分類される。別の実施形態では、以下の例示的決定チャート等、異なる決定則が、コーディングユニットの分類の決定に使用されてもよい。
エンコーダは、フラグ値が推測され得ない限り、低忠実度フラグ106を現在のCUに対するヘッダに挿入する。いくつかの場合では、使用される信号化規定に応じて、低忠実度フラグが、隣接する低忠実度フラグ(例えば、右側、下方、および/または斜め右下に対するCUのフラグ等)に基づいて、またはコーディング構造、例えば、CTBシンタックス内におけるより高い1つまたは複数のフラグに基づいて、推測され得る。フラグが推測され得る場合、フラグは、ビットストリーム中に送信されず、そうでなければ、フラグは、現在のCUに対するヘッダ中に挿入される。一例では、低忠実度フラグは、低忠実度モードが現在のCUに対して使用されるべき場合、1に設定され、低忠実度モードが現在のCUに対して使用されるべきではない場合、ゼロに設定される。
低忠実度フラグが、現在のCUに対して使用される(すなわち、低忠実度フラグ値が1に設定される)と仮定すると、動作108において、エンコーダは、低忠実度モードオフセットを使用して、ルマQP値からクロマQP値を導出する。前述の説明のように、いくつかの実施形態では、低忠実度モードオフセットは、プリセット値であってもよく、部分的に、変換サイズに基づいて選択されてもよい。ルックアップテーブル、式、または他のそのようなメカニズムが、ルマQPをクロマQPにコンバートするために使用されてもよい。クロマQPは、低忠実度モードオフセットを追加し、次いで、コンバージョンを実施することによって、ルマQPから導出される。コンバージョン前のルマQPの調節は、低忠実度モードが、現在のCUに関連付けられる低忠実度フラグによって示されるように、現在のCUに適用されるという事実に基づくことに留意されたい。本調節は、ルマQPからクロマQPへの全てのコンバージョンに適用されるグローバルオフセットではなく、選択的であり、低忠実度モードがこの特定のCUに適用されるかどうかに基づく。ルマQPからの低忠実度クロマQPコンバージョンは、以下のように表され得る。
前述の式では、QPlumaは、ルマQPであり、QPglobal−offsetは、ルックアップテーブルを使用する前に、QPを調節するときに適用される固定のオフセットである。いくつかの事例では、固定のオフセットは、テーブル自体に組み込まれてもよいが、その他では、テーブルの使用の前に適用され得る。QPglobal−offsetは、低忠実度モードが現在のCUに適用されるかどうかに関係なく適用される。
動作110では、エンコーダは、動作108で得られたクロマQPを使用して、クロマ係数を量子化することにより、量子化された係数を得る。それらの量子化された係数は、次いで、動作112にて、エントロピーエンコードされる。
前述の説明された動作108では、ルックアップテーブル、式、または他のそのようなメカニズムが、調節されたルマQPをクロマQPにコンバートするために使用される。いくつかの実装では、エンコーダおよびデコーダは、4:4:4、4:2:2、および4:2:0のように、異なるコーディング形式に固有であるQPコンバージョンルックアップテーブルを有してもよい。いくつかの実施形態では、これらの例におけるビデオのコーディングが、概して、4:4:4形式であるため、4:4:4形式ルックアップテーブルが、クロマQPを得るために使用され得る。しかしながら、いくつかの実施形態では、エンコーダおよびデコーダは、低忠実度モードが有効であるコーディングユニットに対して、4:2:0QPコンバージョンルックアップテーブルを使用してもよい。つまり、低忠実度フラグがコーディングユニットに対して設定される場合、クロマQPは、別様に使用されるであろう4:4:4テーブルの代わりに、4:2:0ルックアップテーブルを使用して得られる。
ここで、フローチャート形式にて、クロマ低忠実度モードでエンコードされたビデオデータのビットストリームをデコードするための例示的方法200を示す図4を参照する。方法200は、クロマ低忠実度モード能力が、ピクチャおよび/またはビデオのシーケンスに対して有効にされることを決定する動作202を含む。この有効化は、デフォルトで有効にされているという意味で決定されてもよく、または有効化フラグを使用して、ビットストリーム中で明示的に信号化されてもよい。有効化フラグは、実装に応じて、SPS、PPSから、またはビットストリーム中の他の場所からデコードされ得る。
動作204では、デコーダは、現在のCUに対して低忠実度フラグを再構成する。低忠実度フラグは、ビットストリームから、例えば、いくつかの場合では、現在のCUに関連付けられるヘッダから、低忠実度フラグをデコードすることによって再構成され得る。いくつかの事例では、低忠実度フラグは、低忠実度フラグが推測されるという意味で再構成され得る。いくつかの実施形態では、フラグ値は、前述のように、隣接するCU中のフラグ値から、またはコーディング階層においてより高く設定されたフラグに基づいて推測され得る。
動作206において、デコーダは、再構成されたフラグ値が1か0か、すなわち、低忠実度モードが適用されるべきかどうかを決定する。該当しない場合、動作208では、クロマQPが、低忠実度モードオフセットを使用してルマQPを調節することなく、ルックアップテーブル(または、式もしくは他のメカニズム)を使用してルマQPをクロマQPにコンバートすることによって決定される。低忠実度フラグが設定される場合、動作210では、クロマQPが、低忠実度モードオフセットを使用してルマQPを調節することによって、および調節されたルマQPをクロマQPにコンバートすることによって、決定される。いずれの場合でも、グローバルQPオフセットが、コーディングスキームがそのようなオフセットを提供する場合、ルマQPに適用され得る。
クロマQPが、次いで、動作212にて、デコードされて量子化されたクロマ係数を逆量子化し、逆量子化されたクロマ係数を生成するために使用される。逆量子化動作は、前述の説明のように、そのスケーリング式中のQP値を使用してもよく、またはQP値が、実装に応じて、まず、量子化ステップサイズにコンバートされてもよく、次いで、量子化ステップサイズは、逆量子化動作に使用される。
動作214では、逆量子化されたクロマ係数が、再構成されたクロマ残差を生成するために逆変換され、動作216では、再構成されたクロマ残差は、再構成されたクロマサンプルのブロックを生成するために、予測されたクロマサンプルと組み合わせられる。
別の側面では、単独でまたはQP調節と併せて、4:4:4コーディングプロセスにおける低忠実度モードのアサーションが、4:2:0の挙動をモデル化するように、結果として生じる、4×4クロマ変換ブロック信号化の禁止を含み得る。つまり、低忠実度モードがコーディングユニットに対してアサートされるとき、4×4イントラ変換ブロックは、クロマに対して許可されない。4:2:0コーディングに伴い、4×4ルマ変換ブロックに区画化される8×8ルマブロックは、通常、2×2クロマ変換ブロックに区画化される対応する4×4クロマブロックをもたらす。しかしながら、2×2ブロックは、H.265/HEVC規格においては定義されず、そのため、H.265/HEVCは、クロマ4×4変換ツリーが、対応するルマブロック中に見られるさらなる分割をモデル化することを防止し、4×4での区画化を停止させる。4:2:0のコンテンツがアップサンプリングされ、4:4:4にてコーディングされるとき、4×4変換ブロックとして別様にコーディングされるであろうクロマコンテンツは、8×8変換ブロックとしてコーディングされる。さらに、4:2:0にてブロック化される分割は、4:4:4にて起こることを可能にされ、これは、8×8クロマブロックが4×4変換ブロックに区画化されることを意味し、4×4変換ブロックのそれぞれは、要求されるオーバーヘッドと併せてコーディングされる。加えて、イントラコーディングの場合、8×8クロマ変換が4つの4×4クロマ変換ブロックに区画化されるとき、各4×4クロマブロックは、1つの8×8イントラモード方向の代わりに、それ自体のイントラモード方向信号化を有してもよい。対応するブロックを4:2:0においてコーディングするとき、4×4ブロックの区画化の禁止は、4つのイントラモード(各2×2ブロックに対して1つずつ)が存在することを防止する。4:4:4コーディングを使用してこの余分なオーバーヘッドを排除するために、本開示の本側面では、8×8低忠実度クロマブロックは、4つの4×4ブロックにさらに区画化されることを防止され、それによって、4:2:0コーダの挙動をモデル化する。
いくつかの実施形態では、前述の説明された低忠実度モード動作は、2013年1月7日に出願された米国特許出願第13/735,782号に説明される、予測フィルタリングと併せて実装されてもよい。同じCUレベルのフラグが、両方のプロセスを有効/無効にするために使用されてもよく、または別のフラグが使用されてもよい。
非限定的な一例では、本開示をH.265/HEVCまたはその変形に制限することなく、以下の疑似コードシンタックスが、現在の草案である第2版のH.265/HEVCシンタックスへの変更を通して、本開示の側面の一実装を例証する。
ピクチャパラメータセットに対するシンタックスは、以下の要素を含むように修正されてもよい。
前述のシンタックスでは、lowfidelity_enabled_flagは、cu_lowfidelity_flagがビットストリーム中に存在し得る場合、1である。lowfidelity_forced_flagは、cu_lowfidelity_flagがビットストリーム中に存在せず、1と推測され得るとき、1である。lowfidelity_qp_cb_offsetは、クロマCb変換係数をスケーリングするときに適用されるべき付加的QPオフセットを規定する。lowfidelity_qp_cr_offsetは、クロマCr変換係数をスケーリングするときに適用されるべき付加的QPオフセットを規定する。
コーディングユニットをデコードするための前述の例示的シンタックスでは、cu_lowfidelity_flag[x0][y0]は、付加的クロマQPオフセットがクロマ変換係数のスケーリングプロセス中に適用される場合、1である。
クロマ変換係数のスケーリングのためのクロマQP値が見出されるとき、以下の例示的規則が適用され得る。
1. lowfidelity_cu_flag[xCb][yCb]が1の場合、loFiCbQpOffsetがlowfidelity_qp_cb_offsetと等しく設定され、かつloFiCrQpOffsetがlowfidelity_qp_cr_offsetと等しく設定される。
2. そうでなければ、loFiCbQpOffsetおよびloFiCrQpOffsetは両方とも、ゼロに設定される。
3. 変数qPCbおよびqPCrは、それぞれ、qPiCbおよびqPiCrに等しいインデックスqPiに基づいてQpの値と等しく設定され、qPiCbおよびqPiCrは、以下のように導出される。
4. CbおよびCr成分のためのクロマ量子化パラメータQp’CbおよびQp’Crは、以下のように導出される。
ここで、エンコーダ900の例示的実施形態の簡略ブロック図を示す図5を参照する。エンコーダ900は、プロセッサ902と、メモリ904と、エンコーディングアプリケーション906とを含む。エンコーディングアプリケーション906は、コンピュータプログラムまたはアプリケーションを含んでもよく、コンピュータプログラムまたはアプリケーションは、メモリ904に記憶され、本明細書に説明される動作等の動作を実施するようにプロセッサ902を構成するための命令を含む。例えば、エンコーディングアプリケーション906は、本明細書に説明されるプロセスに従って、エンコードし、エンコードされたビットストリームを出力してもよい。エンコーディングアプリケーション906は、例えば、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ読み取り可能な媒体上に記憶され得ることが理解される。
ここで、デコーダ1000の例示的実施形態の簡略ブロック図を示す図6も参照する。デコーダ1000は、プロセッサ1002と、メモリ1004と、デコーディングアプリケーション1006とを含む。デコーディングアプリケーション1006は、コンピュータプログラムまたはアプリケーションを含んでもよく、コンピュータプログラムまたはアプリケーションは、メモリ1004に記憶され、本明細書に説明される動作等の動作を実施するようにプロセッサ1002を構成するための命令を含む。デコーディングアプリケーション1006は、例えば、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ読み取り可能な媒体上に記憶され得ることが理解される。
本開示によるデコーダおよび/またはエンコーダは、限定されないが、サーバ、好適にプログラムされた汎用コンピュータ、オーディオ/ビデオエンコーディングおよび再生デバイス、セットトップテレビジョンボックス、テレビジョン放送機器、および携帯デバイスを含む、いくつかのコンピューティングデバイスに実装され得ることが理解される。デコーダまたはエンコーダは、本明細書に説明される機能を実行するようにプロセッサを構成するための命令を含むソフトウェアを経由して実装されてもよい。ソフトウェアの命令は、CD、RAM、ROM、フラッシュメモリ等を含む、任意の好適な非一過性コンピュータ読み取り可能なメモリ上に記憶されてもよい。
本明細書に説明されるエンコーダおよびモジュール、ルーチン、プロセス、スレッド、またはエンコーダを構成するための説明される方法/プロセスを実装する他のソフトウェアコンポーネントは、標準的なコンピュータプログラミング技法および言語を使用して実現され得ることが理解される。本開示は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング規定、データ構造、他のそのような実装詳細に限定されない。当業者は、説明されるプロセスが、揮発性または不揮発性メモリ内に記憶されるコンピュータ実行可能なコードの一部として、特定用途向け集積チップ(ASIC)等の一部として実装され得ることを認識する。
説明される実施形態の特定の適応および修正がなされてもよい。したがって、前述の実施形態は、例証的であって、制限的ではないと見なされる。



  1. ビデオデコーダを使用して、エンコードされたビデオのビットストリームからビデオをデコードする方法であって、前記ビデオは、コーディングユニットに区画化されたピクチャを含み、前記方法は、
    前記コーディングユニットのうちの1つに対して、
    そのコーディングユニットと関連付けられ、ビデオ成分と関連付けられる低忠実度フラグを再構成することと、
    前記低忠実度フラグが設定されている場合、低忠実度モードオフセットに基づいて、前記ビデオ成分のための量子化パラメータを決定することと、
    前記低忠実度フラグが設定されていない場合、前記低忠実度モードオフセットを使用することなく、前記ビデオ成分のための前記量子化パラメータを決定することと、
    前記量子化パラメータに基づいて、前記コーディングユニットに対する前記ビデオ成分におけるデコードされる係数を逆量子化することにより、逆量子化された係数を生成することと
    を含む、方法。

  2. 前記ビデオ成分は、ルマ成分と、クロマ成分と、アルファ成分と、赤色成分と、緑色成分と、青色成分とのうちの少なくとも1つを含む、請求項1に記載の方法。

  3. 前記低忠実度フラグを再構成することは、前記ビットストリームから前記低忠実度フラグをデコードすることを含む、請求項1または2に記載の方法。

  4. 前記低忠実度フラグをデコードすることは、前記コーディングユニットのうちの前記1つと関連付けられるコーディングユニットヘッダから前記低忠実度フラグをデコードすることを含む、請求項3に記載の方法。

  5. 前記低忠実度フラグは、クロマ成分と関連付けられるクロマ低忠実度フラグを備え、前記クロマ低忠実度フラグが設定されている場合、前記量子化パラメータを決定することは、ルマ量子化パラメータと、事前決定されたクロマQPオフセット値と、前記低忠実度モードオフセットとの合計に基づいて、ルックアップテーブルをインデックス化することによって、クロマ量子化パラメータを決定することを含む、請求項1〜4のいずれか一項に記載の方法。

  6. 前記ビットストリームは、高忠実度形式でエンコードされ、前記クロマ量子化パラメータを決定するためにルックアップテーブルをインデックス化することは、クロマ量子化パラメータのクロマサブサンプリング形式のルックアップテーブルをインデックス化することを含む、請求項5に記載の方法。

  7. 前記高忠実度形式は、4:4:4および4:2:2のうちの1つであり、前記クロマサブサンプリング形式は、4:2:0である、請求項6に記載の方法。

  8. 前記ビットストリームは、前記高忠実度形式においてエンコードされ、
    前記低忠実度フラグが設定されている場合、前記量子化パラメータを決定することは、QP値と前記低忠実度モードオフセットとを使用して、低忠実度形式ルックアップテーブルをインデックス化することを含み、
    前記低忠実度フラグが設定されていない場合、前記量子化パラメータを決定することは、前記低忠実度モードオフセットなしで前記QP値を使用して、高忠実度形式ルックアップテーブルをインデックス化することを含む、
    請求項1〜7のいずれか一項に記載の方法。

  9. 前記方法は、
    前記低忠実度フラグが設定されている場合、低忠実度固有最小値に基づいて、前記コーディングユニットの前記ビデオ成分に関連付けられる変換ツリーをデコードするために使用される最小変換サイズを決定することと、
    前記低忠実度フラグが設定されていない場合、前記コーディングユニットと関連付けられる変換ツリーをデコードするときの使用のために、事前決定された最小変換サイズを使用することと、
    デコードされた係数を生成するために、前記最小変換サイズに基づいて、前記コーディングユニットに対する前記ビデオ成分における変換ツリーを前記ビットストリームからデコードすることと
    をさらに含む、請求項1〜8のいずれか一項に記載の方法。

  10. 前記方法は、
    前記低忠実度フラグが設定されている場合、前記コーディングユニットの前記ビデオ成分に関連付けられるイントラ予測モードの数を1であるように決定することと、
    前記低忠実度フラグが設定されていない場合、前記コーディングユニットの区画化に基づいて、前記コーディングユニットの前記ビデオ成分に関連付けられるイントラ予測モードの数を決定することと、
    前記コーディングユニットの前記ビデオ成分に対してイントラ予測モードの前記決定された数を前記ビットストリームからデコードすることと
    をさらに含む、請求項1〜9のいずれか一項に記載の方法。

  11. ビデオデコーダにおいて係数を逆量子化するようにエンコードされたビデオのビットストリームをデコードするためのデコーダであって、前記デコーダは、
    プロセッサと、
    メモリと、
    メモリ内に記憶され、請求項1から10のいずれか一項に記載の方法を実施するように前記プロセッサを構成するための命令を含むデコーディングアプリケーションと
    を備える、デコーダ。

  12. ビデオエンコーダを使用して、エンコードされたビデオのビットストリームを作成するためにビデオをエンコードする方法であって、前記ビデオは、コーディングユニットに区画化されるピクチャを含み、前記方法は、
    前記コーディングユニットのうちの1つに対して、
    前記コーディングユニットと関連付けられ、ビデオ成分と関連付けられる低忠実度フラグをエンコードすることであって、前記低忠実度フラグは、前記コーディングユニットが低忠実度モードにおいてエンコードされる場合に設定され、前記コーディングユニットが低忠実度モードでエンコードされない場合に設定されない、ことと、
    前記コーディングユニットが前記低忠実度モードにおいてエンコードされる場合、低忠実度モードオフセットに基づいて、前記ビデオ成分のための量子化パラメータを決定することと、
    前記コーディングユニットが前記低忠実度モードにおいてエンコードされない場合、前記低忠実度モードオフセットを使用することなく、前記ビデオ成分のための前記量子化パラメータを決定することと、
    前記量子化パラメータに基づいて、前記コーディングユニットに対する前記ビデオ成分における変換係数を量子化することにより、量子化された係数を生成することと
    を含む、方法。

  13. 前記ビデオ成分は、ルマ成分と、クロマ成分と、アルファ成分と、赤色成分と、緑色成分と、青色成分とのうちの少なくとも1つを含む、請求項12に記載の方法。

  14. ビデオをエンコードするためのエンコーダであって、前記ビデオは、コーディングユニットに区画化されるピクチャを含み、前記エンコーダは、
    プロセッサと、
    メモリと、
    メモリ内に記憶され、請求項12または請求項13に記載の方法を実施するように前記プロセッサを構成するための命令を含むエンコーディングアプリケーションと
    を備える、エンコーダ。

  15. プロセッサ実行可能な命令を記憶する非一過性プロセッサ読み取り可能な媒体であって、前記命令は、実行されると、請求項1〜10、12、および13のいずれか一項に記載の方法を実施するように1つまたは複数のプロセッサを構成する、非一過性プロセッサ読み取り可能な媒体。

 

 

Patent trol of patentswamp
類似の特許
ビデオデータをコーディングする方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることを含む。各レイヤは、少なくとも1つのピクチャを含むことができる。この方法は、1つまたは複数のレイヤの少なくとも1つのピクチャに関連付けられたアクティブ参照レイヤピクチャの個数を決定することを含むことができる。この方法は、1つまたは複数のレイヤのうちの少なくとも1つに関連付けられた直接参照レイヤの個数を決定することをさらに含むことができる。直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることをさらに含むことができる。それに加えてまたはその代わりに、直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することを含むことができる。
ベースレイヤ及び少なくとも1つのエンハンスメントレイヤを有するスケーラブル・ストリームを復号する方法が記載される。方法は、ベースレイヤから少なくとも1つの画像を再構成するステップ(20)と、再構成された少なくとも1つの画像の少なくとも1つの領域を特定する情報の少なくとも1項目を有する復号化されたエンハンスメントデータへと、ブロックのグループに関連するエンハンスメントレイヤの第1部分を復号するステップ(22)と、情報によって特定される再構成された少なくとも1つの画像の領域を処理するステップ(24)と、エンハンスメントレイヤの第2部分からブロックのグループの中の少なくとも1つのブロックについて残差を求めるステップ(26)と、残差から及び処理された領域からグループのブロックを再構成するステップ(28)とを有する。
機器は、ある値に基づいて、イントラランダムアクセスポイント(IRAP)アクセス単位の全てのクロスレイヤランダムアクセススキップ(CL−RAS)ピクチャがビデオデータビットストリーム内に存在するかどうかを決定することができる。加えて、機器は、ビデオデータビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを復元することができる。
リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理するための方法は、RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にビデオデータをカプセル化することを含む。シングルNALユニットパケットは、シングルNALユニットを含む。方法はまた、RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、シングルNALユニットパケット内に復号順序番号情報をカプセル化することを含み得る。
特定の態様によるビデオ情報をコーディングするための装置は、メモリとコンピューティングハードウェアとを含む。メモリは、ビデオ情報を記憶するように構成されている。コンピューティングハードウェアは、1つまたは複数のレイヤセットのうちの少なくとも1つのサブレイヤがシグナリングするためのビットレート情報を有するかどうかを示す第1の信号、または、1つまたは複数のレイヤセットのうちの少なくとも1つのサブレイヤがシグナリングするためのピクチャレート情報を有するかどうかを示す第2の信号とのうちの少なくとも1つを処理するように構成されている。
高効率映像符号化(HEVC)等の映像符号化規格におけるサンプルアダプティブオフセット(SAO)値等のオフセット値は、より正確な値を送信するために必要とされる信号オーバーヘッドに実質的に影響を及ぼさずに、それらの値の正確性を向上させる計算及び演算を実施することにより向上され得る。このような計算及び演算は、量子化因子を映像サンプル及びその隣接サンプルの少なくとも一部に適用し、量子化された値を比較し、比較に基づいて映像サンプルを最小、最大、又は各種タイプのエッジのうちの1つとして区分することを含み得る。他のサンプル範囲、オフセットモード、及び/又はオフセット精度のパラメータは、オフセット値の精度を向上させるためにメタデータを用いて計算及び送信され得る。
一実施形態では、ビデオ情報を符号化するように構成された装置はメモリユニットとプロセッサとを含む。メモリユニットは、ビデオ情報を備えるレイヤ間参照ピクチャを記憶するように構成される。プロセッサはメモリユニットに動作可能に結合される。さらに、プロセッサは、レイヤ間参照ピクチャを、複数のリーフを有する4分木構造に区分することと、各個々のリーフ中のビデオ情報に基づいて各個々のリーフに固有のコンポーネント間フィルタパラメータを決定することと、リーフの各々のためのコンポーネント間フィルタパラメータをシグナリングすることとを行うように構成される。
残差差分パルスコード変調(RDPCM)が残差ブロックに適用されるとき、コーディング技法を調和させるための技法について説明する。いくつかの例では、そのような残差ブロックに使用される走査順序は、残差ブロックが現在のブロックをイントラ予測することから生成されるとき、および残差ブロックが現在のブロックをインター予測またはイントラブロックコピー予測することから生成されるときと同じであることが必要である場合がある。
本発明は、マルチビューレンダリング装置で用いるためのビデオデータ信号を符号化する方法、ビデオデータ信号を復号する方法、ビデオデータ信号、ビデオデータ信号のエンコーダ、ビデオデータ信号のデコーダ、ビデオデータ信号を符号化するための命令を有するコンピュータプログラム製品、及び、ビデオデータ信号を復号化するための命令を有するコンピュータプログラム製品に関する。上記符号化方法は、第1の視点と関連付けられたシーンの第1のイメージ10、第1のイメージと関連付けられたデプスマップ20、デプスマップ処理又はマルチビューレンダリング装置による他の視点のための1又は複数のビューのレンダリングに用いるためのメタデータ30を供給401し、ビデオデータ信号を生成404する。ビデオデータ信号は、サブイメージに分配されたビデオフレームを有し、前記サブイメージは、第1のイメージに基づくサブイメージと、デプスマップに基づくデプスサブイメージと、デプスサブイメージの色成分において符号化されるメタデータとを有する。
To top