(57)【要約】  ビデオ圧縮及び解凍システムのための向上した帯域幅制御を提供するビデオ圧縮及び解凍技術が開示される。特に、ビデオ符号化及び復号化技術は、入力ビデオを複数の次元で量子化する。これらの技術によれば、画素残差は、入力データのアレイの予測データのアレイとの比較から生成することができる。画素残差は、第１の次元で量子化することができる。量子化後に、量子化された画素残差は、変換係数のアレイに変換することができる。変換係数は、第２の次元で量子化し、エントロピ符号化することができる。復号化技術は、これらのプロセスを反転する。更に他の実施形態では、並列又はカスケードのいずれかで変換ステージの上流に複数の量子化器を設けることができ、これは、圧縮効率及び再構成されたビデオの品質の競合する利益のバランスをとるためにビデオ符号器が異なる次元でデータを量子化する、より大きな柔軟性を提供する。【選択図】図８
2019528651.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ符号化の方法であって、
入力データのアレイと予測データのアレイとの比較から画素残差を生成することと、
前記画素残差を第１の次元で第１の量子化をすることと、
前記量子化された画素残差を変換係数のアレイに変換することと、
前記変換係数を第２の次元で第２の量子化をすることと、
前記量子化された変換係数をエントロピ符号化することと、を含む、ビデオ符号化方法。
【請求項２】
前記第１の量子化は、前記画素残差のアレイをダウンスケーリングすることを含む、請求項１に記載のビデオ符号化方法。
【請求項３】
前記第１の量子化は、色成分によって一様に前記画素残差のアレイを量子化することを含む、請求項１に記載のビデオ符号化方法。
【請求項４】
前記第１の量子化は、色成分によって非一様に前記画素残差のアレイを量子化することを含む、請求項１に記載のビデオ符号化方法。
【請求項５】
前記第１の量子化は、前記画素残差の値を量子化することを含む、請求項１に記載のビデオ符号化方法。
【請求項６】
前記第１の量子化は、前記アレイの１つの方向に沿って非一様に前記画素残差のアレイを量子化することを含む、請求項１に記載のビデオ符号化方法。
【請求項７】
前記第１の量子化は、対応する画素の予測値の強度に基づいて非一様に値を量子化することを含む、請求項１に記載のビデオ符号化方法。
【請求項８】
前記画素残差を第３の次元で量子化し、量子化された画素残差の第２のアレイを産出することと、
前記量子化された画素残差の第２のアレイを変換係数の第２のアレイに変換することと、
前記変換係数の第２のアレイを前記第２の次元で量子化することと、及び
前記量子化された変換係数の第２のアレイをエントロピ符号化することと、を更に含む、請求項１に記載のビデオ符号化方法。
【請求項９】
前記第１の量子化ステップと前記変換ステップとの間に、前記第１の量子化から得られるデータに別の次元で第３の量子化をすること、を更に含む、請求項１に記載のビデオ符号化方法。
【請求項１０】
前記エントロピ符号化から得られる符号化されたデータとともに、前記第１及び第２の量子化とのパラメータをチャネルに送信すること、を更に含む、請求項１に記載のビデオ符号化方法。
【請求項１１】
ビデオ復号化方法であって、
チャネルから受信した符号化されたビデオデータをエントロピ復号化し、量子化された変換係数を産出することと、
前記量子化された変換係数を第１の次元で第１の逆量子化をし、再構成された変換係数を産出することと、
前記再構成された変換係数を画素ドメインに変換することと、
前記変換から得られる画素ドメインの値を第２の次元で第２の逆量子化をし、画素残差のアレイを産出することと、
前記画素残差のアレイ及び予測データのアレイから再構成された画素値のアレイを生成することと、を含む、ビデオ復号化方法。
【請求項１２】
前記第２の逆量子化は、前記画素ドメインの値のアレイをアップスケーリングすることを含む、請求項１１に記載のビデオ復号化方法。
【請求項１３】
前記第２の逆量子化は、色成分によって一様に前記画素ドメインの値のアレイを逆量子化することを含む、請求項１１に記載のビデオ復号化方法。
【請求項１４】
前記第２の逆量子化は、色成分によって非一様に前記画素ドメインの値のアレイを逆量子化することを含む、請求項１１に記載のビデオ復号化方法。
【請求項１５】
前記第２の逆量子化は、前記画素ドメインの値の値を逆量子化することを含む、請求項１１に記載のビデオ復号化方法。
【請求項１６】
前記量子化された変換係数を前記第１の次元で第３の逆量子化をし、再構成された変換係数の第２のアレイを産出することと、
前記再構成された変換係数の第２のアレイを前記画素ドメインに第２の変換をすることと、
前記第２の変換から得られる画素ドメインの値の第２のアレイを別の次元で第４の逆量子化をし、画素残差のアレイの第２のアレイを産出することと、を更に含み、
前記再構成された画素値の生成は、前記画素残差のアレイの第２のアレイに基づく、請求項１１に記載のビデオ復号化方法。
【請求項１７】
前記変換ステップと前記第２の逆量子化ステップとの間に、前記変換するステップから得られるデータを前記第２の次元とは別個の別の次元で第３の量子化をすること、を更に含む、請求項１１に記載のビデオ復号化法。
【請求項１８】
前記第１及び第２の逆量子化ステップのパラメータがチャネルで受信される、請求項１１に記載のビデオ復号化法。
【請求項１９】
ビデオ符号化器であり、
符号化されることになるデータ及び予測データそれぞれのための入力を有する減算器と、
前記減算器の出力と通信する入力を有する第１の量子化器と、
前記第１の量子化器の出力と通信する入力を有する変換ユニットと、
前記変換ユニットの出力と通信する入力を有する第２の量子化器であって、前記第１及び第２の量子化器が符号化されることになるデータの異なる特性を量子化するように動作可能で、及び
前記第２の量子化器の出力と通信する入力を有するエントロピ符号器と、を備える、ビデオ符号器。
【請求項２０】
前記第１の量子化器と前記変換ユニットとの間の通信経路内に設けられた第３の量子化器を更に備え、前記第３の量子化器が、前記第１及び第２の量子化器とは、符号化されることになるデータの異なる特性を量子化するように動作可能な、請求項１９に記載のビデオ符号器。
【請求項２１】
前記第１の量子化器、変換ユニット、第２の量子化器、及びエントロピ符号器が、第１の符号化チェーンを形成し、
前記ビデオ符号器は少なくとも１つの他の符号化チェーンを備え、
前記減算器の出力と通信する入力を有する第３の量子化器と、
前記第３の量子化器の出力と通信する入力を有する第２の変換ユニットと、
前記第２の変換ユニットの出力と通信する入力を有する第４の量子化器であって、前記第３及び第４の量子化器が符号化されることになるデータの異なる特性を量子化するように動作可能で、及び、
前記第４の量子化器の出力と通信する入力を有する第２のエントロピ符号器と、を含む、請求項１９に記載のビデオ符号器。
【請求項２２】
前記第１の量子化器が、ダウンスケーラである、請求項１９に記載のビデオ符号器。
【請求項２３】
前記第１の量子化器が、色成分に基づく量子化器である、請求項１９に記載のビデオ符号器。
【請求項２４】
前記減算器は、入力画素ブロックに割り当てられた予測モードに基づいて無効にすることができる、請求項１９に記載のビデオ符号器。
【請求項２５】
ビデオ符号器であり
符号化されたビデオデータのための入力を有するエントロピ復号器と、
前記エントロピ復号器の出力と通信する入力を有する第１の逆量子化器と、
前記第１の逆量子化器の出力と通信する入力を有する変換ユニットと、
前記変換ユニットの出力と通信する入力を有する第２の逆量子化器であって、前記第１及び第２の逆量子化器が復号化されることになるデータの異なる特性を逆量子化するように動作可能で、及び
前記第２の逆量子化器の出力と通信する第１の入力及び予測データのための第２の入力を有する加算器と、を備える、ビデオ符号器。
【請求項２６】
前記変換ユニットと前記第２の逆量子化器との間の通信経路内に設けられた第３の逆量子化器を更に備え、前記第３の量子化器が、前記第１及び第２の逆量子化器とは、復号化されることになるデータの異なる特性を逆量子化するように動作可能な、請求項２５に記載のビデオ復号器。
【請求項２７】
前記エントロピ復号器、第１の逆量子化器、変換ユニット、及び第２の逆量子化器が、第１の復号化チェーンを形成し、
前記ビデオ復号器は少なくとも１つの他の復号化チェーンを備え、
前記符号化されたビデオデータのための入力を有する第２のエントロピ復号器と、
前記第２のエントロピ復号器の出力と通信する入力を有する第３の逆量子化器と、
前記第３の逆量子化器の出力と通信する入力を有する第２の変換ユニットと、
前記第２の変換ユニットの出力と通信する入力を有する第４の逆量子化器とを含み、前記第３及び第４の逆量子化器が復号化されることになるデータの異なる特性を逆量子化するように動作可能な、請求項２５に記載のビデオ復号器。
【請求項２８】
前記第２の逆量子化器がアップスケーラである、請求項２５に記載のビデオ復号器。
【請求項２９】
前記第２の逆量子化器が色成分に基づく逆量子化器である、請求項２５に記載のビデオ復号器。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本開示は、２０１６年８月２９日出願の「Ｍｕｌｔｉｄｉｍｅｎｓｉｏｎａｌ  Ｑｕａｎｔｉｚａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅｓ  Ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ／Ｄｅｃｏｄｉｎｇ  Ｓｙｓｔｅｍｓ」と題された米国特許出願第１５／２５０，６０８号の優先権から利益を得るものであり、その出願の全体が、参照により組み込まれる。
【背景技術】
【０００２】
本開示はビデオ圧縮及び解凍技術に関し、より具体的には、ビデオ圧縮及び解凍システムのための向上した帯域幅制御及び符号化特性を提供することに関する。
【０００３】
ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４、ＭＰＥＧ−Ｈ  ｐａｒｔ  ２／ＨＥＶＣ／Ｈ．２６５、ＶＰ９、ＶＰ１０などの現代のビデオ圧縮システムは、その符号化プロセスの一部として、とりわけ空間及び時間予測、変換、量子化、インループフィルタリング、並びにエントロピ符号化を含む様々なツールを用いて圧縮を実現する。変換符号化は通常予測プロセスが実行された後の特定のブロックサイズの残差データに適用され、この情報をより良好に非相関化してエネルギ圧縮を実現する。変換処理後に結果として得られる係数は量子化され、次にエントロピ符号化される。これは一次元での量子化となる。一様量子化が通常使用される。
【０００４】
以前のシステムでは離散コサイン変換（Discrete Cosine Transform）（「ＤＣＴ」）が使用されたが、最近ではこの変換の整数近似、並びに離散サイン変換（Discrete Sine Transform）（「ＤＳＴ」）が使用される。Ｗａｌｓｈ−Ｈａｄａｍａｒｄ、Ｈａａｒなどの他の変換もまた使用される。とりわけ４×４、８×８、１６×１６、３２×３２、及び６４×６４のブロックの予測及び変換といった、両方の予測に対して異なるブロックサイズが通常使用される。非平方変換、並びに形状適応変換も、一部のシステムでは使用され、変換の適用の前に、残差データに対する適応色空間変換も適用することができる。
【０００５】
いくつかのシナリオに対して、特に高ビットレート／低圧縮比に対しては、ブロックに対する変換プロセスをスキップすることが実際には有利であり、変換符号化より量子化後の良好な符号化効率を提供できることが見出された。そのようなスキームはＨＥＶＣにおいて採用され「変換スキップ」符号化モードと名付けられている。一方、Ｈ．２６３＋などの一部のコーデックも、変換符号化及び量子化を除いて、変換及び量子化を適用する前に残差データの解像度を低減する概念を導入している。次にデコーダはそのデータを逆量子化し、変換された係数を反転し、その後結果として得られるブロックを既定の補間フィルタを用いてアップスケールして、最終的に残差信号を再構成しなければならない。次に、この残差信号は予測信号に加えられ、最終の再構成されたブロックを生成する。次に、追加のインループフィルタリングを適用することができる。この符号化モードは「低減した解像度更新」（Reduced Resolution Update）（ＲＲＵ）符号化モードと名付けられた。Ｈ．２６３、並びにＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４及びＨＥＶＣ／Ｈ．２６５において提案されたときには、この符号化モードは画像全体に適用された。
【０００６】
既存の符号化技術はビデオのインループ量子化を制御するための限定された柔軟性のみを提供する。既存の符号器はサブフレーム／サブピクチャレベルでの入力データの単一の特性のみを量子化する、すなわち、ブロック又はマクロブロックレベルで行われる変換係数を量子化することができる。一部の種類の量子化は、インループで全く実行されず、サブフレームレベルで制御することができない。したがって、本発明者は、ビデオ符号器が複数の次元に沿った入力画像データを量子化し、サブフレームレベルでそれらの次元に対する量子化パラメータを選択することを可能にする符号化技術に対する必要性を認識している。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係るビデオ配信システムの簡略化したブロック図である。
【図２】本開示の一実施形態に係る符号化システムの機能ブロック図である。
【図３】本開示の一実施形態に係る復号化システムの機能ブロック図である。
【図４】図２の符号化システム及び図３の復号化システムに従って例示的な画素ブロックによって実行される処理を示す。
【図５】本開示の一実施形態に係る復号化方法を示す。
【図６】本開示の一実施形態に係る符号化システムの機能ブロック図である。
【図７】図６の符号化システムとともに動作可能な復号化システムの機能ブロック図である。
【図８】本開示の別の実施形態に係る符号化システムの機能ブロック図である。
【図９】本開示の一実施形態に係る復号化システムの機能ブロック図である。
【図１０】本開示の別の実施形態に係る符号化システムの機能ブロック図である。
【図１１】本開示の一実施形態に係る復号化システムの機能ブロック図である。
【図１２】本開示の実施形態に係るフレームに対する量子化の例示的な選択を示す。
【図１３】本開示の実施形態に係るフレームに対する量子化の例示的な選択を示す。
【発明を実施するための形態】
【０００８】
本開示の実施形態は、複数の次元に沿って入力ビデオを量子化するビデオ符号化及び復号化技術を提供する。これらの技術によれば、画素残差は、入力データのアレイの予測データのアレイとの比較から生成することができる。画素残差は第１の次元で量子化することができる。量子化後に、量子化された画素残差は変換係数のアレイに変換することができる。変換係数は第２の次元で量子化し、エントロピ符号化することができる。復号化技術はこれらのプロセスを反転する。更に他の実施形態では、並列又はカスケードのいずれかで、変換ステージの上流に複数の量子化器を設けることができ、これは、圧縮効率及び回復したビデオの品質の競合する利益のバランスをとるために、異なる次元でデータを量子化するビデオ符号器により大きな柔軟性を提供する。様々な量子化器に対するパラメータ選択は、サブフレームの粒度で行うことができる。
【０００９】
図１（ａ）は、本発明の一実施形態に係るビデオ配信システム１００の簡易化したブロック図を示す。システム１００は、ネットワークを介して相互に接続された複数の端末１１０、１２０を含むことができる。端末１１０、１２０は、ネットワークを介して相手先へ送信するためのビデオデータを符号化することができる。したがって、第１の端末１１０はローカルでビデオデータをキャプチャし、ビデオデータを符号化し、チャネルを介して符号化したビデオデータを相手先の端末１２０に送信することができる。受信する端末１２０は符号化されたビデオデータを受信し、復号化し、例えば端末１２０のディスプレイ上といったローカルでレンダーリングすることができる。端末がビデオデータの双方向交換に関与している場合、端末１２０はローカルでビデオデータをキャプチャし、ビデオデータを符号化し、別のチャネルを介して符号化したビデオデータを相手先の端末１１０に送信することができる。受信する端末１１０は端末１２０から送信された符号化されたビデオデータを受信し、復号化し、例えばそれ自体のディスプレイ上といったローカルでレンダーリングすることができる。説明したプロセスは、フレーム及びフィールドピクチャの符号化の両方に対して動作することができるが、簡単にするために、本論考はこの技術を完全なフレームの文脈で説明する。
【００１０】
ビデオ符号化システム１００は様々な用途で使用することができる。第１の用途では、端末１１０、１２０は、符号化されたビデオのリアルタイム双方向交換をサポートし、それらの間でビデオ会議セッションを確立することができる。別の用途では、端末１１０は、予め生成されたビデオ（例えばテレビ又は映画番組）を符号化し、１つの、又は多くの場合、多数のダウンロードするクライアント（例えば端末１２０）への配信のために符号化したビデオを記憶することができる。したがって、符号化されたビデオはライブ又は予め生成されたものとすることができ、端末１１０は１対１又は１対多数の配信モデルに従って符号化したビデオを配信するメディアサーバとして機能することができる。本論考の目的のために、ビデオ及びビデオ配信スキームの種類は、特に明記しない限り重要ではない。
【００１１】
図１（ａ）では、端末１１０、１２０はスマートフォン及びタブレットコンピュータとしてそれぞれ示されているが、原則として本開示はそれに限定されない。本開示の実施形態はまた、コンピュータ（デスクトップ及びラップトップコンピュータの両方）、コンピュータサーバ、メディアプレーヤ、専用のビデオ会議機器及び／又は専用のビデオ符号化機器にも適用される。
【００１２】
ネットワークは、例えば有線及び／又は無線通信ネットワークを含む、端末１１０、１２０間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワークは回線交換又はパケット交換チャネルでデータを交換することができる。代表的なネットワークとしては、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び／又はインターネットが挙げられる。本説明の目的上、ネットワークのアーキテクチャ及びトポロジは、特に明記しない限り本開示の動作にとって重要ではない。
【００１３】
図１（ｂ）は、符号化端末の構成要素を示す機能ブロック図である。符号化端末は、ビデオソース１３０と、プリプロセッサ１３５と、符号化システム１４０と、送信機１２０とを含むことができる。ビデオソース１３０は符号化されることになるビデオを供給することができる。ビデオソース１３０はローカルな環境の画像データをキャプチャするカメラ、又は何らかの他のソースからのビデオを記憶する記憶デバイスとして提供することができる。プリプロセッサ１３５は、符号化されることになるビデオに対する信号調整動作を実行し、符号化のためのビデオデータを準備することができる。例えば、プリプロセッサ１３５は、ソースビデオのフレームレート、フレーム解像度、及び他の特性を変更することができる。またプリプロセッサ１３５は、ソースビデオに対するフィルタリング動作を実行することができる。
【００１４】
符号化システム１４０はビデオに対する符号化動作を実行し、帯域幅を低減することができる。典型的には、符号化システム１４０はソースビデオ内の時間及び／又は空間冗長性を活用する。例えば、符号化システム１４０は、ビデオフレーム又はフィールドピクチャがサブユニット（便宜上「画素ブロック」と呼ばれる）にパースされ、個々の画素ブロックが前に符号化されたビデオデータから導出される予測された画素ブロックに対して差動的に符号化される、動き補償された予測符号化を実行することができる。所与の画素ブロックは、以下に述べる様々な予測符号化モードのうちの任意の１つに従って符号化することができる。
・入力画素ブロックが共通フレームの前に符号化／復号化されたデータに対して差動的に符号化されるイントラ符号化、
・入力画素ブロックが前に符号化／復号化されたフレームのデータに対して差動的に符号化される単一予測インタ符号化、及び
・入力画素ブロックが前に符号化／復号化されたフレームのペアのデータに対して差動的に符号化される双予測インタ符号化。
・入力画素ブロックが前に符号化／復号化されたフレーム及び現在／共通フレームからのデータの両方からのデータに対して差動的に符号化される複合インタ−イントラ符号化。
・入力画素ブロックがいくつかの前に符号化／復号化されたフレームからのデータ、並びに現在／共通フレームからの潜在的データに対して差動的に符号化される多仮説インタ−イントラ符号化。
画素ブロックはまた、前述した変換スキップ及びＲＲＵ符号化モードなどの他の符号化モードに従って符号化することができる。
【００１５】
符号化システム１４０は符号器１４２と、復号器１４３と、インループフィルタ１４４と、ピクチャバッファ１４５と、予測器１４６と含むことができる。符号器１４２は予測器１４６によって供給される予測された画素ブロックデータを用いて差分符号化技術を入力画素ブロックに適用することができる。復号器１４３は符号器１４２によって参照フレームとして指定された符号化されたフレームのサブセットに適用される差分符号化技術を反転することができる。インループフィルタ１４４はフィルタリング技術を復号器１４３によって生成された再構成された参照フレームに適用することができる。ピクチャバッファ１４５は予測動作に使用するために再構成された参照フレームを記憶することができる。予測器１４６はピクチャバッファに記憶された参照フレーム内から入力画素ブロックに対するデータを予測することができる。
【００１６】
送信機１２０は、チャネルＣＨを介して符号化されたビデオデータを復号化する端末に送信することができる。
【００１７】
図１（ｃ）は、本開示の一実施形態に係る復号化端末の構成要素を示す機能ブロック図である。復号化端末は、チャネルから符号化されたビデオデータを受信する受信機１６０と、符号化されたデータを復号化するビデオ復号化システム１７０と、ポストプロセッサ１８０と、ビデオデータを消費するビデオシンク１９０とを含むことができる。
【００１８】
受信機１６０は、ネットワークからデータストリームを受信し、データストリームの成分を端末１２０内の適切なユニットに送信することができる。図１（ｂ）及び図１（ｃ）はビデオ符号化及び復号化のための機能ユニットを示しているが、端末１１０、１２０は典型的にはビデオに関連付けられたオーディオデータ用の符号化／復号化システム、及びおそらく他の処理ユニット（図示せず）を含むことになる。したがって、受信機１６０は、データストリームの他の要素からの符号化されたビデオデータをパースし、ビデオ復号器１７０に送信することができる。
【００１９】
ビデオ復号器１７０は、符号化システム１４０によって実行された符号化動作を反転する復号化動作を実行することができる。ビデオ復号器は、復号器１７２と、インループフィルタ１７３と、ピクチャバッファ１７４と、予測器１７５と含むことができる。復号器１７２は、符号器１４２によって符号化されたフレームに適用される差分符号化技術を反転することができる。インループフィルタ１７３は、フィルタリング技術を復号器１７２によって生成された再構成されたフレームデータに適用することができる。例えば、インループフィルタ１７３は、様々なフィルタリング動作（例えば、デブロッキング、デリンギングフィルタリング、サンプル適応オフセット処理など）を実行することができる。フィルタリングされたフレームデータは、復号化システムから出力することができる。ピクチャバッファ１７４は、予測動作に使用するために再構成された参照フレームを記憶することができる。予測器１７５は、符号化されたビデオデータ内に提供された予測参照データに従って、ピクチャバッファによって記憶された参照フレーム内から入力画素ブロックのデータを予測することができる。
【００２０】
ポストプロセッサ１８０は、再構成されたビデオデータを表示用に調整する動作を実行することができる。例えば、ポストプロセッサ１８０は符号化／復号化プロセスによって生成された出力ビデオ内の視覚アーチファクトを不明瞭化することができる様々なフィルタリング動作（例えば、デブロッキング、デリンギングフィルタリングなど）を実行することができる。ポストプロセッサ１８０はまた、再構成されたビデオの解像度、フレームレート、色空間などを変更し、ビデオシンク１９０の要件に適合させることができる。
【００２１】
ビデオシンク１９０は、再構成されたビデオを消費することができる復号化端末内の様々なハードウェア及び／又はソフトウェア構成要素を表す。ビデオシンク１９０は、典型的には、再構成されたビデオをレンダーリングすることができる１つ以上の表示デバイスを含むことができる。あるいは、ビデオシンク１９０は、後の使用のために再構成されたビデオを記憶するメモリシステムによって表すことができる。ビデオシンク１９０はまた、アプリケーションプログラム内に提供された制御に従って再構成されたビデオデータを処理する１つ以上のアプリケーションプログラムを含むことができる。いくつかの実施形態では、ビデオシンクは、再構成されたビデオを復号化端末とは別個の別のデバイス上のディスプレイに送信する送信システムを表すことができる。例えば、ノートブックコンピュータによって生成された再構成されたビデオを、視聴のために大型フラットパネルディスプレイに送信することができる。
【００２２】
（図１（ｂ）及び図１（ｃ）の）符号化端末及び復号化端末の前述の説明は、（図１（ａ）の）端末１１０から端末１２０などの端末間の単一の方向でビデオデータを符号化及び復号化するように実行される動作を示す。ビデオの双方向交換が端末１１０と120との間で実行されることになる用途では、それぞれの端末１１０、１２０は（図１（ｂ）の）符号化端末に関連付けられた機能ユニットを保有することになり、それぞれの端末１１０、１２０はまた、（図１（ｃ）の）復号化端末に関連付けられた機能ユニットを保有することになる。実際には、特定の用途において、端末１１０、１２０は単一の方向で符号化されたビデオの複数のストリームを交換することができ、この場合、単一の端末（例えば、端末１１０）は、内部に提供された（図１（ｂ）の）符号化端末の複数のインスタンスを有することになる。そのような実装形態は、本説明と完全に一致している。
【００２３】
図２は、本開示の一実施形態に係る符号化システム２００の機能ブロック図である。システム２００は画素ブロック符号器２１０と、画素ブロック復号器２２０と、インループフィルタシステム２３０と、予測バッファ２４０と、予測器２５０と、コントローラ２６０と、シンタックスユニット２７０とを含むことができる。画素ブロック符号器及び復号器２１０、２２０並びに予測器２５０は、フレームの個々の画素ブロックに対して繰返し動作することができる。予測器２５０は、新たに提示された入力画素ブロックの符号化中に使用するためのデータを予測することができる。画素ブロック符号器２１０は予測符号化技術により新しい画素ブロックを符号化し、符号化された画素ブロックデータをシンタックスユニット２７０に提示することができる。画素ブロック復号器２２０は符号化された画素ブロックデータを復号化し、それから復号化された画素ブロックデータを生成することができる。インループフィルタ２３０は、画素ブロック復号器２２０によって得られた復号化された画素ブロックから組み立てられた復号化されたフレームデータに対して様々なフィルタリング動作を実行することができる。フィルタリングされたフレームデータは、予測バッファ２４０に記憶することができ、後で受信した画素ブロックの予測のソースとして使用することができる。シンタックスユニット２７０は、統制する符号化プロトコルに適合する符号化された画素ブロックデータからデータストリームを組み立てることができる。
【００２４】
画素ブロック符号器２１０は減算器２１２と、ダウンスケーラ２１３と、残差量子化器２１４と、変換ユニット２１５と、係数量子化器２１６と、エントロピ符号器２１７とを含むことができる。画素ブロック符号器２１０は、減算器２１２で入力データの画素ブロックを受け入れることができる。減算器２１２は予測器２５０から予測された画素ブロックを受信し、それから入力画素ブロックと予測された画素ブロックとの間の差を表す画素残差のアレイを生成することができる。ダウンスケーラ２１３は、減算器２１２からの残差データ出力に対して空間解像度低減を実行することができる。残差量子化器２１４は、ダウンスケーラ２１３からのサンプルデータ出力の量子化を実行することができる。量子化器２１４は、一様又は非一様量子化器とすることができる。変換ユニット２１５は、残差量子化器２１４からのサンプルデータ出力に変換を適用し、画素ドメインから変換係数のドメインにデータを変換することができる。係数量子化器２１６は、変換ユニット２１５によって出力された変換係数の量子化を実行することができる。量子化器２１６は、一様又は非一様量子化器とすることができる。エントロピ符号器２１７は、例えば、可変長符号語により出力を符号化することにより、係数量子化器の出力の帯域幅を低減することができる。
【００２５】
動作中、ダウンスケーラ２１３、残差量子化器２１４、及び係数量子化器２１６は、それぞれのユニットの動作を統制する符号化パラメータに従って動作することができる。例えば、ダウンスケーラ２１３は、その入力画素ブロックに適用するダウンスケーリングのレベルを判定する解像度量子化パラメータ（ＱR）に従って動作することができる。同様に、残差量子化器２１４は、残差量子化器２１４への残差サンプル入力に適用する量子化のレベルを判定する残差量子化パラメータ（ＱSP）に従って動作することができる。係数量子化器２１６は、係数量子化器２１６への変換係数入力に適用する量子化のレベルを判定する係数量子化パラメータ（ＱP）に従って動作することができる。これらの量子化器は、量子化器が一様又は非一様量子化器であるかを指定する信号モードＭQP及びＭQRに従って動作することができる。したがって、これらの量子化器２１３、２１４、２１６は、それぞれ画像データの異なる特性を量子化するために異なる次元で動作する。量子化された次元は、互いに直交する必要はない。量子化パラメータＱR、ＱSP、及びＱPは、コントローラ２６０によって判定することができ、明示的又は暗黙的のいずれかで、符号化システム２００によって出力される符号化されたビデオデータ内で信号として伝えることができる。
【００２６】
一実施形態では、量子化パラメータＱR、ＱSP、及びＱPは、例えば、画素ドメインの画素ブロック内の異なる画素位置にわたって、又は変換ドメインの画素ブロック内の異なる係数位置にわたって変化することができる多値量子化パラメータとして、それらの対応する入力データに適用することができる。したがって、量子化パラメータＱR、ＱSP、及びＱPは、量子化パラメータアレイとして提供することができる。
【００２７】
変換ユニット２１５は、イベントが保証する様々な変換モードで動作することができる。例えば、変換ユニット２１５はＤＣＴ、ＤＳＴ、Ｗａｌｓｈ−Ｈａｄａｍａｒｄ変換、Ｈａａｒ変換、Ｄａｕｂｅｃｈｉｅｓウェーブレット変換などを適用するように選択することができる。一実施形態では、コントローラ２６０は、変換ユニット２１５によって適用されることになる符号化モードＭを選択することができ、それに応じて変換ユニット２１５を構成することができる。また符号化モードＭは、明示的又は暗黙的のいずれかで、符号化されたビデオデータ内で信号として伝えることができる。
【００２８】
画素ブロック復号器２２０は、画素ブロック符号器２１０の符号化動作を反転することができる。例えば画素ブロック復号器２２０は、係数逆量子化器２２２と、逆変換ユニット２２３と、残差逆量子化器２２４と、アップスケーラ２２５と、加算器２２６とを含むことができる。画素ブロック復号器２２０は、係数量子化器２１６の出力からその入力データを取ることができる。許容されてはいるが、画素ブロック復号器２２０はエントロピ符号化が無損失のイベントであるため、エントロピ符号化されたデータのエントロピ復号化を実行する必要はない。係数逆量子化器２２２は、画素ブロック符号器２１０の係数量子化器２１６の動作を反転することができる。逆量子化器２２２は、復号化された信号ＭQPによって指定される一様又は非一様逆量子化を実行することができる。同様に逆変換ユニット２２３、残差逆量子化器２２４、及びアップスケーラ２２５は、変換ユニット２１５、残差量子化器２１４、及びダウンスケーラ２１３それぞれの動作を反転することができる。それらは、画素ブロック符号器２１０内のそれらに対応するものと同じ量子化パラメータＱR、ＱSP、及びＱP、並びに変換モードＭを使用することができる。残差逆量子化器２２４は、復号化された信号ＭQRによって指定される一様又は非一様逆量子化を実行することができる。ダウンスケーラ２１３、残差量子化器２１４、及び係数量子化器２１６の動作は、様々な点でデータを切り捨てることになる可能性があり、したがって、係数逆量子化器２２２、残差逆量子化器２２４、及びアップスケーラ２２５によって回復されたデータは、画素ブロック符号器２１０内のそれらに対応するものに提示されたデータと比較したとき、符号化誤差を有することになる可能性がある。
【００２９】
加算器２２６は、減算器２１２によって実行される動作を反転することができる。加算器２２６は、残差信号を生成するのに減算器２１２が使用したものと同じ予測画素ブロックを予測器２５０から受信することができる。加算器２２６は、予測画素ブロックをアップスケーラ２２５によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
【００３０】
インループフィルタ２３０は、回復した画素ブロックデータに対して様々なフィルタリング動作を実行することができる。例えば、インループフィルタ２３０は、デブロッキングフィルタ２３２及びサンプル適応オフセット（sample adaptive offset）（「ＳＡＯ」）フィルタ２３３を含むことができる。デブロッキングフィルタ２３２は、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタは、ＳＡＯの「タイプ」に従って、例えば、エッジ方向／形状及び／又は画素／色成分レベルに基づいて、オフセットを画素値に加えることができる。インループフィルタ２３０は、コントローラ２６０によって選択されたパラメータに従って動作することができる。
【００３１】
予測バッファ２４０は、後の他の画素ブロック予測で使用するためにフィルタリングされた画素データを記憶することができる。異なる予測モードに対して異なる種類の予測データが、予測器２５０にて利用可能になる。例えば、入力画素ブロックに対して、イントラ予測は入力画素ブロックが配置された同じフレームの復号化されたデータから予測基準を取る。したがって、予測バッファ２４０は、それぞれのフレームの復号化された画素ブロックデータをそれが符号化されたように記憶することができる。同じ入力画素ブロックに対して、インター予測は、「参照フレーム」として指定された前に符号化及び復号化されたフレーム（単数又は複数）から予測基準を取ることができる。したがって、予測バッファ２４０は、これらの復号化された参照フレームを記憶することができる。
【００３２】
説明したように、予測器２５０は、残差を生成するのに使用する予測データを画素ブロック符号器２１０に供給することができる。予測器２５０はインター予測器２５２と、イントラ予測器２５３と、モード決定ユニット２５４とを含むことができる。インター予測器２５２は、符号化されることになる新しい画素ブロックを表す画素ブロックデータを受信することができ、入力画素ブロックを符号化するのに使用する参照フレーム（単数又は複数）から画素ブロックデータに対して予測バッファ２４０を検索することができる。インター予測器２５２は、Ｐモード符号化及びＢモード符号化などの複数の予測モードをサポートすることができる。インター予測器２５２はインター予測モードを選択し、符号化される入力画素ブロックに対する最も近い一致を提供する予測データを供給することができる。インター予測器２５２は動きベクトルなどの予測基準インジケータを生成し、どの参照フレームのどの部分（単数又は複数）が入力画素ブロックに対する予測ソース（単数又は複数）として選択されたかを識別することができる。
【００３３】
イントラ予測器２５３は、イントラ（Ｉ）モード符号化をサポートすることができる。イントラ予測器２５３は、入力画素ブロックに対する最も近い一致を提供する符号化される画素ブロックと同じフレームからの符号化された画素ブロックデータの中から検索することができる。イントラ予測器２５３はまた、予測基準インジケータを生成し、フレームのどの部分が入力画素ブロックに対する予測ソースとして選択されたかを識別することができる。
【００３４】
モード決定ユニット２５４は、入力画素ブロックに適用されることになる最終の符号化モードを選択することができる。典型的には、モード決定ユニット２５４は、与えられた目標ビットレートでビデオが復号化されたときに最も小さい歪みを実現することになる予測モードを選択する。特定のチャネル挙動を満たすこと、又はランダムアクセス若しくはデータリフレッシュポリシーをサポートするといった、符号化システム２００が準拠する他のポリシーを満たすように符号化モードが選択される場合に、例外が発生することがある。モード決定ユニット２５４は、予測データを画素ブロック符号器及び復号器２１０、２２０に出力することができ、選択されたモードに対応する予測基準インジケータとともに選択された予測モードの識別をコントローラ２６０に供給することができる。
【００３５】
コントローラ２６０は、符号化システム２００の動作全体を制御することができる。コントローラ２６０は入力画素ブロック、並びにまた符号化ビットレート目標及び他の動作パラメータなどの外部制約条件の分析に基づいて、画素ブロック符号器２１０及び予測器２５０に対する動作パラメータを選択することができる。本説明に関連するように、コントローラが、ダウンスケーリングパラメータＱR、残差量子化パラメータＱSP、係数量子化器ＱP、一様又は非一様量子化器の使用、及び／又は変換モードＭなどの量子化パラメータを選択するとき、それらのパラメータをシンタックスユニット２７０に提供することができ、シンタックスユニット２７０は、それらのパラメータを表すデータをシステム２００によって出力される符号化されたビデオデータのデータストリームに含めることができる。コントローラ２６０はまた、１つ以上の量子化器ユニット（例えば、係数量子化器２１６）によって量子化を適用すべきでないことを判定することができ、その場合、コントローラ２６０は、量子化器を無効にすることができる。上述したように、コントローラ２６０は変換ユニット２１５の動作モードも判定することができる。
【００３６】
説明したように、量子化パラメータＱR、ＱSP、及び／又はＱPは、画素ブロックの全ての画素に一様に適用される単一の値として提供される必要はなく、代わりに、その値がそれぞれの画素位置で変化する量子化パラメータの対応するアレイとして提供することができる。一実施形態では、様々な量子化器アレイは所定のプロトコルに従って定義することができ、それぞれが異なる画素位置で対応する量子化値を有している。動作中、コントローラ２６０は、インデックス又は他の識別子を提供することにより、どのアレイを使用するかを識別することができる。
【００３７】
別の実施形態では、量子化パラメータＱR、ＱSP、及び／又はＱP（単一の値又は値のアレイであろうと）は、画像データの特性から導出することができる。例えば量子化パラメータＱSPは、画素残差に対応する予測画素値の強度に基づいて選択することができる。この場合では、ＱSPの値は、予測器の強度値に従ってあらゆる画素に対して異なることができ、例えば、より小さな予測器の値を有するサンプルより、より大きな予測器の値を有するサンプルに対してより高くてもよい。これらの量子化パラメータは、線形、すなわち、スケーラ、定式化、又はより複雑な非線形／非一様な定式化を用いて定義することができる。
【００３８】
一実施形態では、量子化器は、ｑ（ｉ，ｊ）＝ｆk（ｐ（ｉ，ｊ），ｉ，ｊ）の形式の所定の関数によって表すことができ、式中、ｑは、問題の量子化器を表し、ｉ及びｊは、量子化される画素ブロック内の値（画素ドメインの値又は変換ドメインの値のいずれか）の位置を表し、ｐ（ｉ，ｊ）は、量子化される画素強度値を表し、ｆkは、ｑに対するｐ、ｉ、及びｊに関する関数を表す。シグナリングの一部として、コントローラ２６０は、使用されている関数を識別するデータ、及び対応する関数が機能する任意の他のデータ（例えば、対応する関数で機能することができる任意のスケーラ及びオフセット）を提供することができる。
【００３９】
量子化プロセスはまた、ルックアップテーブル形式（図示せず）を用いて指定することができる。ルックアップテーブル形式は、ルックアップテーブルに含まれていない特定の値の量子化／逆量子化プロセスを判定する補間技術の使用を伴うことができる。あるいは、量子化パラメータＱR及び／又はＱSP、ＱPは、前に符号化された隣接する画素ブロックの量子化パラメータから予測することができる。更なる実施形態では、量子化パラメータＱR及び／又はＱSP、ＱPの第１の組は、符号化系列のより高いレベルの構造（例えば、フレーム又はスライスヘッダ）で信号として伝えることができ、量子化パラメータＱR及び／又はＱSP、ＱPの信号で伝えられた組に対する変更は、構造の画素ブロックが符号化される際に画素ブロックごとに信号として伝えることができる。
【００４０】
動作中、コントローラ２６０は、量子化器２１３、２１４、及び２１６並びに変換ユニット２１５の動作パラメータを画像データの異なる粒度で、画素ブロックごと又はより大きな粒度（例えば、フレームごと、スライスごと、最大符号化ユニット（largest coding unit）（「ＬＣＵ」）ごと、又は別の領域）のいずれかで修正することができる。一実施形態では、量子化パラメータは、符号化されたフレーム内の画素ごとに修正することができる。
【００４１】
加えて、説明したように、コントローラ２６０は、インループフィルタ２３０及び予測ユニット２５０の動作を制御することができる。そのような制御としては、予測ユニット２５０に対してはモード選択（ラムダ、テストされることになるモード、検索ウィンドウ、歪み戦略など）、及びインループフィルタ２３０に対しては、フィルタパラメータの選択、パラメータの並べ替え、加重予測などを挙げることができる。
【００４２】
図３は、本開示の一実施形態に係る復号化システム３００の機能ブロック図である。復号化システム３００は、シンタックスユニット３１０と、画素ブロック復号器３２０と、インループフィルタ３３０と、予測バッファ３４０と、予測器３５０とを含むことができる。シンタックスユニット３１０は、符号化されたビデオデータストリームを受信することができ、符号化されたデータをその成分部分に解析することができる。符号化パラメータを表すデータは、コントローラ３６０に供給することができ、符号化された残差を表すデータ（図２の画素ブロック符号器２１０によって出力されたデータ）は、画素ブロック復号器３２０に供給することができる。画素ブロック復号器３２０は、（図２の）画素ブロック符号器によって提供される符号化動作を反転することができる。インループフィルタ３３０は、再構成された画素ブロックデータをフィルタリングすることができる。再構成された画素ブロックデータは、表示のためにフレームに組み立てて、復号化システム２００から出力ビデオとして出力することができる。フレームはまた、予測動作に使用するために予測バッファ３４０に記憶することができる。予測器３５０は、符号化されたビデオデータストリーム内で受信した符号化データによって判定されたように、予測データを画素ブロック復号器３２０に供給することができる。
【００４３】
画素ブロック復号器３２０は、エントロピ復号器３２１と、係数逆量子化器３２２と、逆変換ユニット３２３と、残差逆量子化器３２４と、アップスケーラ３２５と、加算器３２６とを含むことができる。エントロピ復号器３２１はエントロピ復号化を実行し、（図２の）エントロピ符号器２１７によって実行されるプロセスを反転することができる。係数逆量子化器３２２は、（図２の）画素ブロック符号器２１０の係数量子化器２１６の動作を反転することができる。同様に、逆変換ユニット３２３、残差逆量子化器３２４、及びアップスケーラ３２５は、（図２の）変換ユニット２１５、残差量子化器２１４、及びダウンスケーラ２１３それぞれの動作を反転することができる。それらは、符号化されたビデオデータストリーム内に提供された量子化パラメータＱR、ＱSP、及びＱP、並びに量子化器モードタイプＭQP及びＭQRを使用することができる。ダウンスケーラ２１３、残差量子化器２１４、及び係数量子化器２１６の動作は、様々な点でデータを切り捨てるため、係数逆量子化器３２２、残差逆量子化器３２４、及びアップスケーラ３２５によって回復されたデータは、（図２の）画素ブロック符号器２１０内のそれらの相当するものに提示された入力データと比較したとき、符号化誤差を有することになる可能性がある。
【００４４】
加算器３２６は、（図２の）減算器２１２によって実行される動作を反転することができる。加算器３２６は、符号化されたビデオデータストリーム内の予測基準によって判定されたように、予測器３５０から予測画素ブロックを受信することができる。加算器３２６は、予測画素ブロックをアップスケーラ３２５によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
【００４５】
インループフィルタ３３０は、再構成された画素ブロックデータに対して様々なフィルタリング動作を実行することができる。図示したように、インループフィルタ３３０は、デブロッキングフィルタ３３２及びＳＡＯフィルタ３３３を含むことができる。デブロッキングフィルタ３３２は、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタは、ＳＡＯタイプに従って、例えば、エッジ方向／形状及び／又は画素レベルに基づいて、オフセットを画素値に加えることができる。他の種類のインループフィルタも同様に使用することができる。デブロッキングフィルタ３３２及びＳＡＯフィルタ３３３の動作は、理想的には、（図２の）符号化システム２００内のそれらの相当するものの動作を模倣することになる。したがって、伝送エラー又は他の異常がない場合、復号化システム３００のインループフィルタ３３０から得られる復号化されたフレームデータは、（図２の）符号化システム２００のインループフィルタ２３０から得られる復号化されたフレームデータと同じであることになる。このようにして、符号化システム２００及び復号化システム３００は、それらの対応する予測バッファ２４０、３４０に参照ピクチャの共通の組を記憶しなければならない。
【００４６】
予測バッファ３４０は、他の画素ブロックの後の予測で使用するためにフィルタリングされた画素データを記憶することができる。予測バッファ３４０は、イントラ予測に使用するために、それぞれのフレームの復号化された画素ブロックデータを符号化されたように記憶することができる。予測バッファ３４０はまた、復号化された参照フレームを記憶することができる。
【００４７】
説明したように、予測器３５０は、予測データを画素ブロック復号器３２０に供給することができる。予測器３５０は、符号化されたビデオデータストリーム内に供給される予測基準インジケータによって判定されたように、予測された画素ブロックデータを供給することができる。
【００４８】
コントローラ３６０は、符号化システム２００の動作全体を制御することができる。コントローラ３６０は、符号化されたビデオデータストリーム内で受信したパラメータに基づいて、画素ブロック復号器３２０及び予測器３５０に対する動作パラメータを設定することができる。本説明に関連するように、これらの動作パラメータは、ダウンスケーリングパラメータＱR、残差量子化パラメータＱSP、及び／又は係数量子化器ＱPなどの量子化パラメータ、並びに逆変換ユニット３２３に対する動作モードＭを含むことができる。説明したように、受信したパラメータは、画像データの様々な粒度で、例えば、画素ブロックごとに、フレームごとに、スライスごとに、ＬＣＵごとに、又は入力画像に対して定義された他の種類の領域に基づいて、設定することができる。
【００４９】
図４は、図２の符号化システム２００及び図３の復号化システム３００に従って例示的な画素ブロックによって実行される処理を示す。最初に、図４（ａ）に示すように、画素ブロック４１０は、それぞれが色成分当たりビット深度Ｂで表された、Ｍ×Ｎの画素のアレイとすることができる。解像度量子化（ダウンスケーリング）の後で、画素ブロック４２０は、依然色成分当たりビット深度Ｂを有する、Ｍ／ＱＦX×Ｎ／ＱＦYの画素のアレイとすることができる。係数量子化の後で、画素ブロック４３０は、変更されたビット深度Ｂを有する、Ｍ／ＱＦX×Ｎ／ＱＦYの画素のアレイとすることができる。ここで、サンプル値は、それらの元の値からサンプル精度量子化値（ＱSP）で除算される。変換及び量子化の後で、画素ブロック４４０は、その値が量子化パラメータＱPによって量子化された、Ｍ／ＱＦX×Ｎ／ＱＦYの変換係数のアレイとすることができる。
【００５０】
図４（ｂ）は、復号化中に符号化された画素ブロックによって実行される処理を示す。最初に、符号化された画素ブロック４５０は、その値が図４（ａ）に示す量子化パラメータＱPによって量子化されることになる、Ｍ／ＱＦX×Ｎ／ＱＦYの変換係数のアレイとすることができる。逆変換及び量子化の後で、画素ブロック４６０は、その値が量子化パラメータＱPによって誘発された損失を有する画素ブロック４３０の値に対応する、Ｍ／ＱＦX×Ｎ／ＱＦYの画素のアレイとすることができる。サンプル精度量子化の後で、画素ブロック４７０は、色成分当たりビット深度Ｂを有するが、量子化パラメータＱSPによって誘発された更なる損失を有する、Ｍ／ＱＦX×Ｎ／ＱＦYの画素のアレイとすることができる。逆解像度量子化（アップスケーリング）の後で、画素ブロック４８０は、それぞれが色成分当たりビット深度Ｂで表され、再度符号化損失を有する、Ｍ×Ｎの画素のアレイとすることができる。
【００５１】
図４に示すように、図２及び図３の実施形態は、いくつかの次元に沿った画像データの量子化を提供する。この実施形態では、量子化は、係数変換の量子化に加えて、画像データの解像度及びビット深度に適用することができる。したがって、これらの技術は、符号化／復号化システムにより大きな柔軟性を提供し、帯域幅圧縮を実現し更に符号化品質を保持する。
【００５２】
図５は、本開示の一実施形態に係る復号化方法５００を示す。方法５００は、画素ブロックごとに符号化されたビデオデータに対して動作することができる。方法５００は、符号化されたビデオデータにより提供されるメタデータを処理し、どの符号化モード（単数又は複数）が復号化される画素ブロックを符号化するために適用されたかを判定することができる（ボックス５１０）。方法は、符号化モードデータから、符号化された画素ブロック残差が変換ブロックの一部であるか否かを判定することができる（ボックス５１５）。そうである場合、方法５００は、符号化されたビデオデータにより提供される量子化パラメータ（ＱP）に従って変換係数を逆量子化することができ（ボックス５２０）、符号化されたビデオデータによって識別された変換モードＭに従って逆変換を適用することができる（ボックス５２５）。量子化パラメータＱP及び変換モードＭは、符号化されたビデオデータによって明示的又は暗黙的のいずれかで識別することができる。
【００５３】
ボックス５３０で、方法５００は、ボックス５１５で存在したか又はボックス５２５で再構成されたかのいずれかである残差データが予測データのドメインにあるか否かを判定することができる。そうでない場合、方法５００は、残差データを、画素ドメインである予測データのドメインにマッピングすることができる（ボックス５３５）。その後、又はボックス５３０で既に残差データが予測データのドメインにあると判定された場合、方法５００は、予測データをボックス５１０〜５３５の処理によって再構成されたデータとマージすることができる（ボックス５４０）。
【００５４】
残差データの予測データのドメインへのマッピングは、画素ブロックの符号化中に適用された量子化動作を反転することにより、行うことができる。図５は、図２の符号化システム２００によって生成された符号化されたビデオデータを復号化するときに用いることができる例示的な逆量子化動作を示す。したがって、方法５００は、残差量子化を適用するか否かを判定することができ（ボックス５４５）、そうである場合、方法５００は、符号化されたビデオデータにより提供されるパラメータＱSPを用いて残差量子化を反転することができる（ボックス５５０）。同様に、方法５００は、ダウンサンプリングを適用するか否かを判定することができ（ボックス５５５）、そうである場合、ダウンサンプリングがクロマのみ又は全ての色成分に適用されたかを判定することができる（ボックス５６０）。ダウンサンプリングが全ての成分に適用された場合、方法５００は、再構成されたデータの全ての成分をアップスケールすることができる（ボックス５６５）。ダウンサンプリングがクロマのみに適用された場合、方法５００は、再構成されたデータのクロマ成分をアップスケールすることができる（ボックス５７０）。再度、ダウンスケーリングのための量子化パラメータＱRは、明示的又は暗黙的のいずれかで符号化されたビデオにより提供することができる。
【００５５】
図６は、本開示の一実施形態に係る符号化システム６００の機能ブロック図である。システム６００は、画素ブロック符号器６１０と、画素ブロック復号器６２０と、一対のインループフィルタシステム６３０．１、６３０．２と、一対の予測バッファ６４０．１、６４０．２と、予測システム６５０と、コントローラ６６０と、シンタックスユニット６７０とを含むことができる。前の実施形態と同様に、画素ブロック符号器及び復号器６１０、６２０、並びに予測システム６５０は、画像データの個々の画素ブロックに対して繰返し動作することができるが、インループフィルタ６３０．１、６３０．２及び予測バッファ６４０．１、６４０．２は、データのより大きなユニットに対して動作することができる。予測システム６５０は、新たに提示された入力画素ブロックの符号化中に使用するためのデータを予測することができる。
【００５６】
画素ブロック符号器６１０は、予測符号化技術により新しい画素ブロックを符号化し、符号化された画素ブロックデータをシンタックスユニット６７０に提示することができる。シンタックスユニット６７０は、符号化されたビデオデータ及び他のソース（図示せず）、例えば、符号化されたオーディオデータ及び／又はアプリケーションデータのソースから伝送ビットストリームを構築することができる。シンタックスユニット６７０は、統制する符号化プロトコルに適合する符号化された画素ブロックデータからデータストリームを組み立てることができる。
【００５７】
画素ブロック復号器６２０は、符号化された画素ブロックデータを復号化し、それから復号化された画素ブロックデータを生成する、画素ブロック符号器６１０に近い復号器とすることができる。この実施形態では、画素ブロック復号器６２０は、復号化された画素ブロックの２つのバージョンを生成することができる。第１のバージョンは、例えば、係数サンプリングを反転すること、画素ブロック符号器６１０によって実行される係数変換プロセスを反転すること、及び限定された予測動作を実行することにより、符号化された画素ブロックデータの限定された復号（便宜上「ベストエフォート」復号と呼ばれる）から生成することができる。第２のバージョンは、例えば、ダウンサンプリング、残差量子化などを含む、画素ブロック符号器６１０によって実行される全ての符号化プロセスを反転すること（「フルエフォート」復号）により、生成することができる。画素ブロック復号器６２０は、復号化された画素ブロックの２つのバージョンを対応するインループフィルタ６３０．１、６３０．２それぞれに出力することができる。
【００５８】
インループフィルタ６３０．１、６３０．２及び予測バッファ６４０．１、６４０．２は、ペアにした関係で提供することができる。第１のインループフィルタ６３０．１及び予測バッファ６４０．１は、画素ブロック復号器６２０によって実行される完全復号動作から出力された復号化された画素ブロックデータに対して動作することができる。第２のインループフィルタ６３０．２及び予測バッファ６４０．２は、画素ブロック復号器６２０によって実行される限定された復号動作から出力された復号化された画素ブロックデータに対して動作することができる。それぞれの場合では、インループフィルタ６３０．１、６３０．２は、それらの対応する復号化されたフレームデータに対して様々なフィルタリング動作を実行することができる。インループフィルタ６３０．１、６３０．２によって生成されたフィルタリングされたフレームデータは、それらの対応する予測バッファ６４０．１、６４０．２に記憶することができ、そこで、後で受信した画素ブロックの予測のソースとして使用することができる。
【００５９】
予測システム６５０は、フルエフォート復号に関連付けられた予測バッファ６４０．１内の動き検索を実行することにより、入力画素ブロックに対して予測データを生成することができる。予測システム６５０は、フルエフォート復号プロセスで使用するために、予測バッファ６４０．１から予測データを画素ブロック符号器６１０及び画素ブロック復号器６２０に出力することができる。予測システム６５０はまた、ベストエフォート復号で使用するために、予測バッファ６４０．２から対応する画素ブロックを画素ブロック復号器６２０に供給することができる。
【００６０】
画素ブロック符号器６１０は、減算器６１２と、ダウンスケーラ６１３と、残差量子化器６１４と、変換ユニット６１５と、係数量子化器６１６と、エントロピ符号器６１７とを含むことができる。画素ブロック符号器６１０は、減算器６１２で入力データの画素ブロックを受け入れることができる。減算器６１２は、予測システム６５０から予測された画素ブロックを受信し、それから入力画素ブロックと予測された画素ブロックとの間の画素の差を表す画素残差のアレイを生成することができる。ダウンスケーラ６１３は、減算器６１２からの残差データ出力に対して空間解像度低減を実行することができる。残差量子化器６１４は、ダウンスケーラ６１３からのサンプルデータ出力の量子化を実行することができる。変換ユニット６１５は、残差量子化器６１４からのサンプルデータ出力に変換を適用し、画素ドメインから変換係数のドメインにデータを変換することができる。係数量子化器６１６は、変換ユニット６１５によって出力された変換係数の量子化を実行することができる。エントロピ符号器６１７は、例えば、可変長符号語により出力を符号化することにより、係数量子化器の出力の帯域幅を低減することができる。
【００６１】
動作中、ダウンスケーラ６１３、残差量子化器６１４、及び係数量子化器６１６は、それぞれのユニットの動作を統制する符号化パラメータに従って動作することができる。例えば、ダウンスケーラ６１３は、その入力画素ブロックに適用するダウンスケーリングのレベルを判定する解像度量子化パラメータＱRに従って動作することができる。同様に、残差量子化器６１４は、残差量子化器６１４への残差サンプル入力に適用する量子化のレベルを判定する残差量子化パラメータＱSPに従って動作することができる。係数量子化器６１６は、係数量子化器６１６への変換係数入力に適用される量子化のレベルを判定する係数量子化パラメータＱPに従って動作することができる。前の実施形態と同様に、これらの量子化器６１３、６１４、６１６のそれぞれは、画像データの異なる特性を量子化するため、異なる次元で動作する。量子化された次元は、互いに直交する必要はない。量子化パラメータＱR、ＱSP、及びＱPは、コントローラ６６０によって判定することができ、明示的又は暗黙的のいずれかで、符号化システム６００によって出力される符号化されたビデオデータ内で信号として伝えることができる。これらの量子化器はまた、一様又は非一様に動作することができる。
【００６２】
変換ユニット６１５は、イベントが保証する様々な変換モードで動作することができる。例えば、変換ユニット６１５は、ＤＣＴ、ＤＳＴ、Ｗａｌｓｈ−Ｈａｄａｍａｒｄ変換、Ｈａａｒ変換、Ｄａｕｂｅｃｈｉｅｓウェーブレット変換などを適用するように選択することができる。一実施形態では、コントローラ６６０は、変換ユニット６１５によって適用されることになる符号化モードＭを選択することができ、それに応じて変換ユニット６１５を構成することができる。符号化モードＭはまた、明示的又は暗黙的のいずれかで、符号化されたビデオデータ内で信号として伝えることができる。
【００６３】
画素ブロック復号器６２０は、画素ブロック符号器６１０の符号化動作を反転することができる。例えば、画素ブロック復号器６２０は、係数逆量子化器６２２と、逆変換ユニット６２３と、残差逆量子化器６２４と、アップスケーラ６２５と、一対の加算器６２６．１、６２６．２とを含むことができる。画素ブロック復号器６２０は、係数量子化器６１６の出力からその入力データを取ることができる。許容されてはいるが、画素ブロック復号器６２０は、エントロピ符号化が無損失のイベントであるため、エントロピ符号化されたデータのエントロピ復号化を実行する必要はない。係数逆量子化器６２２は、画素ブロック符号器６１０の係数量子化器６１６の動作を反転することができる。同様に、逆変換ユニット６２３、残差逆量子化器６２４、及びアップスケーラ６２５は、変換ユニット６１５、残差量子化器６１４、及びダウンスケーラ６１３それぞれの動作を反転することができる。それらは、画素ブロック符号器６１０内のそれらに対応するものと同じ量子化パラメータＱR、ＱSP、及びＱP、並びに変換モードＭを使用することができる。ダウンスケーラ６１３、残差量子化器６１４、及び係数量子化器６１６の動作は、様々な点でデータを切り捨てることになる可能性があり、したがって、係数逆量子化器６２２、残差逆量子化器６２４、及びアップスケーラ６２５によって回復されたデータは、画素ブロック符号器６１０内のそれらに対応するものに提示されたデータと比較したとき、符号化誤差を有することになる可能性がある。
【００６４】
加算器６２６．１は、減算器６１２によって実行される動作を反転することができる。加算器６２６．１は、残差信号を生成するのに減算器６１２が使用したものと同じ予測画素ブロックを予測システム６５０から受信することができる。加算器６２６．１は、予測画素ブロックをアップスケーラ６２５によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
【００６５】
係数逆量子化器６２２、逆変換ユニット６２３、残差逆量子化器６２４、アップスケーラ６２５、及び第１の加算器６２６．１は、画素ブロック復号器６２０のフルエフォート復号経路を定義することができる。それは、画素ブロック符号器６１０のサブユニット、すなわち、減算器６１２、ダウンスケーラ６１３、残差量子化器６１４、変換ユニット６１５、及び係数量子化器６１６に対応するものとして動作する復号化ユニットの全アレイを含む。
【００６６】
第２の加算器６２６．２は、逆変換ユニット６２３から、画素ブロック符号器６１０の符号化ユニットに対応するものの全部の組ではない復号化ユニットの組から生成された画素残差データを表す入力を取ることができる。そのように、第２の加算器６２６．２は、画素ブロック復号器６２０のベストエフォート復号経路を定義する。第２の加算器６２６．２は、予測システム６５０から、フルエフォートの予測バッファ６４０．１から導出された予測基準を用いてベストエフォートの予測バッファ６４０．２から取られた予測データを受け入れる。すなわち、予測システム６５０が入力画素ブロックに対する予測基準としてフルエフォートの予測バッファ６４０．１からの所与のフレームから画素ブロックを選択する場合、予測システム６５０は、選択された画素ブロックを減算器６１２及びフルエフォートの加算器６２６．１に提出することになる。予測システム６５０はまた、ベストエフォートの予測バッファ６４０．２に記憶されたのと同じフレームの同じ位置から画素ブロックを第２の加算器６２６．２に提出することになる。
【００６７】
インループフィルタ６３０．１、６３０．２は、それらの対応する画素ブロックデータに対して様々なフィルタリング動作を実行することができる。例えば、インループフィルタ６３０．１、６３０．２は、デブロッキングフィルタ及びＳＡＯフィルタ（図示せず）を含むことができる。デブロッキングフィルタは、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタは、ＳＡＯタイプに従って、例えば、エッジ方向／形状及び／又は画素レベルに基づいて、オフセットを画素値に加えることができる。インループフィルタ６３０．１、６３０．２は、コントローラ６６０によって選択されたパラメータに従って動作することができる。
【００６８】
予測バッファ６４０．１、６４０．２は、後の他の画素ブロックの予測で使用するために、対応するインループフィルタ６３０．１、６３０．２からのフィルタリングされた画素データを記憶することができる。異なる予測モードに対しては異なる種類の予測データが、予測システム６５０にて利用可能になる。説明したように、入力画素ブロックに対して、イントラ予測は入力画素ブロックが配置された同じフレームの復号化されたデータから予測基準を取る。したがって、予測バッファ６４０．１、６４０．２は、それぞれのフレームの復号化された画素ブロックデータをそれが符号化されたように記憶することができる。同じ入力画素ブロックに対して、インタ予測は、「参照フレーム」として指定された前に符号化され復号化されたフレーム（単数又は複数）から予測基準を取ることができる。したがって、予測バッファ６４０．１、６４０．２は、これらの復号化された参照フレームを記憶することができる。
【００６９】
説明したように、予測システム６５０は、残差の生成に使用するために予測データを画素ブロック符号器６１０に供給することができる。予測システム６５０は、モード決定ユニット６５２及び一対の予測ユニット６５４．１、６５４．２を含むことができる。モード決定ユニット６５２は、前述の実施形態のインター予測器及びイントラ予測器を含むことができる。したがって、モード決定ユニット６５２は、符号化されることになる新しい画素ブロックを表す画素ブロックデータを受信することができ、入力画素ブロックを符号化するのに使用するために参照フレーム（単数又は複数）から画素ブロックデータに対してフルエフォートの予測バッファ６４０．１を検索することができる。決定ユニット６５２は、単一リスト予測モード及び双予測モードなどの複数の予測モードをサポートすることができる。インタ符号化が選択されている場合、モード決定ユニットは、動きベクトルなどの予測基準インジケータを生成し、どの参照フレームのどの部分（単数又は複数）が入力画素ブロックに対する予測のソース（単数又は複数）として選択されたかを識別することができる。
【００７０】
モード決定ユニット６５２はまた、イントラ（Ｉ）モード符号化をサポートすることができる。したがって、モード決定ユニット６５２は、入力画素ブロックに対する最も近い一致を提供する符号化される画素ブロックと同じフレームからの符号化された画素ブロックデータに対するフルエフォートの予測バッファ６４０．１を検索することができる。Ｉ符号化が選択されている場合、モード決定ユニット６５２はまた、予測基準インジケータを生成し、フレームのどの部分が入力画素ブロックに対する予測のソースとして選択されたかを識別することができる。
【００７１】
説明したように、典型的には、モード決定ユニット６５２は、ビデオが復号化されたときに最も小さい歪みを実現することになる予測モードを選択する。ランダムアクセス又はデータ更新ポリシーなどをサポートする符号化システム６００が準拠する他のポリシーを満たすように符号化モードが選択される場合に、例外が発生することがある。一実施形態では、モード決定ユニット６５２は、フルエフォートの復号経路及びベストエフォートの復号経路によって得られる復号化されたビデオデータに蓄積する符号化誤差を監視することができる。モード決定ユニットは、例えば、ベストエフォートの復号経路内で蓄積された符号化誤差が所定値を上回ると判定する場合に、その既定の予測決定を変更することができる。
【００７２】
フルエフォートの予測器６５４．１は、モード決定ユニット６５２によって生成された予測基準によって識別されたフルエフォートの予測バッファ６４０．１からの予測データを減算器６１２及びフルエフォートの加算器６２６．１に提出することができる。ベストエフォートの予測器６５４．２は、モード決定ユニット６５２によって生成された予測基準によって識別されたベストエフォートの予測バッファ６４０．２からの予測データをベストエフォートの加算器６２６．２に提出することができる。
【００７３】
コントローラ６６０は、符号化システム６００の全体動作を制御することができる。コントローラ６６０は、入力画素ブロック、並びにまた符号化ビットレート目標及び他の動作パラメータなどの外部制約条件の分析に基づいて、画素ブロック符号器６１０及び予測システム６５０に対する動作パラメータを選択することができる。本説明に関連するように、コントローラが、ダウンスケーリングパラメータＱR、残差量子化パラメータＱSP、係数量子化器ＱP、及び／又は変換モードＭなどの量子化パラメータを選択するとき、それらのパラメータをシンタックスユニット６７０に提供することができ、シンタックスユニット６７０は、それらのパラメータを表すデータをシステム６００によって出力される符号化されたビデオデータのデータストリームに含めることができる。コントローラ６６０はまた、１つ以上の量子化器ユニット（例えば、係数量子化器６１６）によって量子化を適用すべきでないことを判定することができ、その場合、コントローラ６６０は、量子化器を無効にすることができる。上述したように、コントローラ６６０はまた、変換ユニット６１５の動作モードを判定することができる。
【００７４】
説明したように、量子化パラメータＱR、ＱSP、及び／又はＱPは、画素ブロックの全ての画素に一様に適用される単一の値として提供される必要はなく、代わりに、その値がそれぞれの画素位置で変化する量子化パラメータの対応するアレイとして提供することができる。一実施形態では、様々な量子化器アレイは、所定のプロトコルに従って、それぞれが異なる画素位置で対応する量子化値を有すると定義することができる。動作中、コントローラ６６０は、インデックス又は他の識別子を提供することにより、どのアレイを使用するかを識別することができる。
【００７５】
別の実施形態では、量子化パラメータＱR、ＱSP、及び／又はＱPは（単一の値又は値のアレイであろうと）、画像データの特性から導出することができる。例えば、量子化パラメータＱSPは、それらの対応する予測サンプルの強度に基づいて、それぞれのサンプル位置に対して選択され、例えば、より大きな量子化器の値は、より小さな予測サンプル値に対してより、より大きな予測サンプル値に対して選択することができる。これらの量子化パラメータは、線形、すなわち、スケーラ、定式化、又はより複雑な非線形／非一様な定式化を用いて定義することができる。
【００７６】
一実施形態では、量子化器は、ｑ（ｉ，ｊ）＝ｆk（ｐ（ｉ，ｊ），ｉ，ｊ）の形式の所定の関数によって表すことができ、式中、ｑは、問題の量子化器を表し、ｉ及びｊは、量子化される画素ブロック内の値（画素ドメインの値又は変換ドメインの値のいずれか）の位置を表し、ｐ（ｉ，ｊ）は、量子化される画素強度値を表し、ｆkは、ｑに対するｐ、ｉ、及びｊに関する関数を表す。シグナリングの一部として、コントローラ２６０は、使用されている関数を識別するデータ、及び対応する関数が機能する任意の他のデータ（例えば、対応する関数で機能することができる任意のスケーラ及びオフセット）を提供することができる。
【００７７】
量子化プロセスはまた、ルックアップテーブル形式（図示せず）を用いて指定することができる。ルックアップテーブル形式は、ルックアップテーブルに含まれていない特定の値の量子化／逆量子化プロセスを判定する補間技術の使用を伴うことができる。あるいは、量子化パラメータＱR及び／又はＱSP、ＱPは、前に符号化された隣接する画素ブロックの量子化パラメータから予測することができる。更なる実施形態では、量子化パラメータＱR及び／又はＱSP、ＱPの第１の組は、符号化系列のより高いレベルの構造（例えば、フレーム又はスライスヘッダ）で信号で伝えることができ、量子化パラメータＱR及び／又はＱSP、ＱPの信号で伝えられた組に対する変更は、構造の画素ブロックが符号化される際に画素ブロックごとに信号として伝えることができる。
【００７８】
動作中、コントローラ６６０は、量子化器６１３、６１４、及び６１６並びに変換ユニット６１５の動作パラメータを画像データの異なる粒度で、画素ブロックごと又はより大きな粒度（例えば、フレームごと、スライスごと、ＬＣＵごと、又は別の領域）のいずれかで修正することができる。一実施形態では、量子化パラメータは、符号化されたフレーム内の画素ごとに修正することができる。
【００７９】
加えて、説明したように、コントローラ６６０は、インループフィルタ６３０．１、６３０．２、及び予測システム６５０の動作を制御することができる。そのような制御としては、予測ユニット６５０に対してはモード選択（ラムダ、テストされることになるモード、検索ウィンドウ、歪み戦略など）、及びインループフィルタ６３０．１、６３０．２に対してはフィルタパラメータの選択、パラメータの並べ替え、加重予測などを挙げることができる。
【００８０】
図６の符号化システム６００は、図２の実施形態で提供される符号化の柔軟性を提供し、加えて、様々な種類の復号器を有する用途を見出す。符号化システム６００は、伝送エラーがない場合、図３の復号化システム３００と同調して動作するように、データを符号化することができる。符号化システム６００はまた、（図３の）バイパス路３２７により表されるフル復号モードとベストエフォートモードとの間で動作を交互に行うことができる復号化システム３００とともに動作することができる。
【００８１】
図６の符号化システム６００はまた、より能力が低いビデオ復号器、例えば、図３の復号化システム３００と比較して残差逆量子化器３２４又はアップスケーラ３２５を保有しない、復号器７２０を有する図７に示すようなビデオ復号化システム７００で動作する、符号化されたビデオデータを生成することができる。（図６の）符号化システム６００が、ベストエフォート復号経路内の符号化誤差の蓄積を考慮し軽減する符号化決定を行なう場合、図７に示す復号化システム７００などは、通用する符号化特性を有する符号化されたビデオを復号化することができる。
【００８２】
図８は、本開示の別の実施形態に係る符号化システム８００の機能ブロック図である。システム８００は、画素ブロック符号器８１０と、画素ブロック復号器８２０と、インループフィルタシステム８３０と、予測バッファ８４０と、予測器８５０と、コントローラ８６０と、シンタックスユニット８７０とを含むことができる。画素ブロック符号器及び復号器８１０、８２０並びに予測器８５０は、個々の画素ブロックに対して繰返し動作することができる。予測器８５０は、新たに提示された画素ブロックの符号化中に使用するためのデータを予測することができる。画素ブロック符号器８１０は、予測符号化技術により新しい画素ブロックを符号化し、符号化された画素ブロックデータをシンタックスユニット８７０に提示することができる。画素ブロック復号器８２０は、符号化された画素ブロックデータを復号化し、それから復号化された画素ブロックデータを生成することができる。インループフィルタ８３０は、画素ブロック復号器８２０によって得られた復号化された画素ブロックから組み立てられた復号化されたフレームデータに対して様々なフィルタリング動作を実行することができる。フィルタリングされたフレームデータは、予測バッファ８４０に記憶することができ、後で受信した画素ブロックの予測のソースとして使用することができる。シンタックスユニット８７０は、統制する符号化プロトコルに適合する符号化された画素ブロックデータから、データストリームを組み立てることができる。
【００８３】
画素ブロック符号器８１０は、減算器８１２と、複数の量子化器８１３．１〜８１３．Ｎと、変換ユニット８１４と、係数量子化器８１５と、エントロピ符号器８１６とを含むことができる。画素ブロック符号器８１０は、減算器８１２で入力データの画素ブロックを受け入れることができる。減算器８１２は、予測器８５０から予測された画素ブロックを受信し、入力画素ブロックと予測された画素ブロックとの間の差を表す画素残差のアレイを生成することができる。量子化器８１３．１〜８１３．Ｎはそれぞれ、画像データの異なるドメインで受信するデータの量子化を実行することができる。変換ユニット８１４は、量子化器の最後８１３．Ｎから入力されたデータに変換を適用し、画素ドメインから変換係数のドメインに入力データを変換することができる。係数量子化器８１５は、変換ユニット８１４によって出力された変換係数の量子化を実行することができる。エントロピ符号器８１６は、例えば、可変長符号語により出力を符号化することにより、係数量子化器の出力の帯域幅を低減することができる。
【００８４】
量子化器８１３．１〜８１３．Ｎはそれぞれ、画像データの対応するドメインで受信するデータの量子化を実行することができる。繰り返しになるが、量子化された次元は互いに直交する必要はない。量子化器８１３．１〜８１３．Ｎは、前述の実施形態のダウンスケーラ及び残差量子化器を含むことができる。量子化器８１３．１〜８１３．Ｎはまた、色成分専用の量子化器、周波数ドメイン量子化器、方向的に専用（例えば、水平のみ、垂直のみ、及び両方がブレンドされた）の量子化器、輝度専用の残差スケーラなどの他の種類の量子化器を含むことができる。量子化器８１３．１〜８１３．Ｎは、提供する量子化のレベルを定義する対応する量子化パラメータＱ1〜ＱNに従って動作することができる。量子化パラメータＱ1〜ＱNは、符号化されたビットストリーム内で、明示的又は暗黙的のいずれかで、復号化システムに信号として伝えることができる。いくつかのシナリオでは、個々の量子化器８１３．１、８１３．２、．．．、８１３．Ｎは、無効にすることができ、その場合、単に、変更なしにそれらの入力データを次の量子化器に渡すことができる。
【００８５】
変換ユニット８１４は、イベントが保証する様々な変換モードで動作することができる。例えば、変換ユニット８１４は、ＤＣＴ変換、ＤＳＴ変換、Ｗａｌｓｈ−Ｈａｄａｍａｒｄ変換、Ｈａａｒ変換、Ｄａｕｂｅｃｈｉｅｓウェーブレット変換などを適用するように選択することができる。一実施形態では、コントローラ８６０は、変換ユニット８１４によって適用されることになる符号化モードを選択することができ、それに応じて変換ユニット８１４を構成することができる。変換モードＭはまた、明示的又は暗黙的のいずれかで、符号化されたビデオデータ内で信号として伝えることができる。
【００８６】
画素ブロック復号器８２０は、画素ブロック符号器８１０の符号化動作を反転する復号化ユニットを含むことができる。例えば、画素ブロック復号器８２０は、係数逆量子化器８２２と、逆変換ユニット８２３と、複数の逆量子化器８２４．１〜８２４．Ｎと、加算器８２５とを含むことができる。画素ブロック復号器８２０は、係数量子化器８１５の出力から入力データを取ることができる。繰り返しになるが、許容されてはいるが、画素ブロック復号器８２０は、エントロピ符号化が無損失のイベントであるため、エントロピ符号化されたデータのエントロピ復号化を実行する必要はない。係数逆量子化器８２２は、画素ブロック符号器８１０の係数量子化器８１５の動作を反転することができる。同様に、逆変換ユニット８２３及び逆量子化器８２４．１〜８２４．Ｎは、変換ユニット８１４及び量子化器８１３．１〜８１３．Ｎそれぞれの動作を反転することができる。それらは、画素ブロック符号器８１０内のそれらに対応するものと同じ量子化パラメータＱ1〜ＱN及び変換モードＭを使用することができる。量子化器８１３．１〜８１３．Ｎ及び係数量子化器８１５の動作は、様々な点でデータを切り捨てることになる可能性があり、したがって逆量子化器８２４．１〜８２４．Ｎによって回復されたデータは、画素ブロック符号器８１０内のそれらの相当するものに提示されたデータと比較したとき、符号化誤差を有することになる可能性がある。
【００８７】
加算器８２５は、減算器８１２によって実行される動作を反転することができる。加算器８２５は、残差信号を生成するのに減算器８１２が使用したのと同じ予測画素ブロックを予測器８５０から受信することができる。加算器８２５は、予測画素ブロックを最終の逆量子化器８２４．１によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
【００８８】
インループフィルタ８３０は、再構成された画素ブロックデータに対して様々なフィルタリング動作を実行することができる。例えば、インループフィルタ８３０は、デブロッキングフィルタ８３２及びＳＡＯフィルタ８３３を含むことができる。デブロッキングフィルタ８３２は、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタ８３３は、ＳＡＯタイプに従って、例えば、エッジ方向／形状及び／又は画素レベルに基づいて、オフセットを画素値に加えることができる。インループフィルタ８３０は、コントローラ８６０によって選択されたパラメータに従って動作することができる。
【００８９】
予測バッファ８４０は、後の他の画素ブロックの予測で使用するためにフィルタリングされた画素データを記憶することができる。異なる予測モードに対して異なる種類の予測データが、予測器８５０にて利用可能になる。例えば、入力画素ブロックに対して、イントラ予測は入力画素ブロックが配置された同じフレームの復号化されたデータから予測基準を取る。したがって、予測バッファ８４０は、それぞれのフレームの復号化された画素ブロックデータをそれが符号化されたように記憶することができる。同じ入力画素ブロックに対して、インタ予測は、参照フレームとして指定された前に符号化され復号化されたフレーム（単数又は複数）から予測基準を取ることができる。したがって、予測バッファ８４０は、これらの復号参照フレームを記憶することができる。
【００９０】
説明したように、予測器８５０は、残差を生成するために使用する予測データを画素ブロック符号器８１０に供給することができる。予測器８５０は、インター予測器８５２と、イントラ予測器８５３と、モード決定ユニット８５４とを含むことができる。インター予測器８５２は、符号化されることになる新しい画素ブロックを表す画素ブロックデータを受信することができ、入力画素ブロックを符号化するのに使用するために参照フレーム（単数又は複数）から画素ブロックデータに対して予測バッファ８４０を検索することができる。インター予測器８５２は、１つ又は１対の参照フレームから予測データを供給する、Ｐ及びＢモード符号化などの複数の予測モードをサポートすることができる。インター予測器８５２は、インター予測モードを選択し、符号化される入力画素ブロックに対する最も近い一致を提供する予測データを供給することができる。インター予測器８５２は、動きベクトルなどの予測基準インジケータを生成し、どの参照フレームのどの部分（単数又は複数）が入力画素ブロックに対する予測のソース（単数又は複数）として選択されたかを識別することができる。
【００９１】
イントラ予測器８５３は、イントラ符号化をサポートすることができる。イントラ予測器８５３は、入力画素ブロックに対する最も近い一致を提供する符号化される画素ブロックと同じフレームからの符号化された画素ブロックデータの中から検索することができる。イントラ予測器８５３はまた、予測基準インジケータを生成し、フレームのどの部分が入力画素ブロックに対する予測のソースとして選択されたかを識別することができる。
【００９２】
更なる実施形態では、予測器８５０は、入力画素ブロックを符号化するときに予測を実行すべきでないと判定することができる。このイベントでは、予測器８５０は、減算器８１２を無効（実際には予測データを減算器８１２に提供しない）にすることができ、減算器８１２は、画素値を量子化器チェーン８１３．１〜８１３．Ｎに出力することができる。量子化器８１３．１〜８１３．Ｎは、この動作モードでは、画素残差ではなく画素値に対して動作することになる。同様に、画素ブロック復号器８２０は、このようにして符号化された画素ブロックを復号化するときに加算器８２５を無効にすることができる。更に、コントローラ８６０は、復号化されたビットストリーム内にモード決定信号を提供することができ、モード決定信号は、（図９の）復号器によって処理されると、このようにして符号化された画素ブロックを復号化するときに、復号器内の加算器も無効になる。
【００９３】
モード決定ユニット８５４は、入力画素ブロックに適用されることになる最終の符号化モードを選択することができる。典型的には、モード決定ユニット８５４は、ビデオが復号化されたときに最も小さい歪みを実現することになる予測モードを選択する。ランダムアクセス又はデータ更新ポリシーをサポートすることなどの、符号化システム８００が準拠する他のポリシーを満たすように符号化モードが選択される場合に、例外が発生することがある。モード決定ユニット８５４は、予測データを画素ブロック符号器及び復号器８１０、８２０に出力することができ、選択されたモードに対応する予測基準インジケータとともに選択された予測モードの識別をコントローラ８６０に供給することができる。
【００９４】
コントローラ８６０は、符号化システム８００の動作全体を制御することができる。コントローラ８６０は、入力画素ブロック、並びにまた符号化ビットレート目標及び他の動作パラメータなどの外部制約条件の分析に基づいて、画素ブロック符号器８１０及び予測器８５０に対する動作パラメータを選択することができる。本説明に関連するように、コントローラが、量子化パラメータＱ1〜ＱN及び変換モードＭを選択するとき、それらのパラメータをシンタックスユニット８７０に提供することができ、シンタックスユニット８７０は、それらのパラメータを表すデータをシステム８００によって出力される符号化されたビデオデータのデータストリームに含めることができる。コントローラ８６０はまた、１つ以上の量子化器ユニット（例えば、量子化器８１３．２）によって量子化を適用すべきでないことを判定することができ、その場合、コントローラ８６０は、量子化器８１３．２を無効にすることができる。上述したように、コントローラ８６０はまた、変換ユニット８１４の動作モードを判定することができる。
【００９５】
別の実施形態では、量子化パラメータＱ1〜ＱNは（単一の値又は値のアレイであろうと）画像データの特性から導出することができる。例えば、量子化パラメータＱ1は、画素残差に対応する予測画素値の強度に基づいて選択することができる。この場合では、Ｑ1の値は、予測器の強度値に従ってあらゆる画素に対して異なることができ、例えば、より小さな予測器の値を有するサンプルより、より大きな予測器の値を有するサンプルに対してより高くてもよい。これらの量子化パラメータは、線形、すなわち、スケーラ、定式化、又はより複雑な非線形／非一様な定式化を用いて定義することができる。
【００９６】
一実施形態では、量子化器は、ｑ（ｉ，ｊ）＝ｆk（ｐ（ｉ，ｊ），ｉ，ｊ）の形式の所定の関数によって表すことができ、式中、ｑは、問題の量子化器を表し、ｉ及びｊは、量子化される画素ブロック内の値（画素ドメインの値又は変換ドメインの値のいずれか）の位置を表し、ｐ（ｉ，ｊ）は、量子化される画素強度値を表し、ｆkは、ｑに対するｐ、ｉ、及びｊに関する関数を表す。シグナリングの一部として、コントローラ２６０は、使用されている関数を識別するデータ、及び対応する関数が機能する任意の他のデータ（例えば、対応する関数で機能することができる任意のスケーラ及びオフセット）を提供することができる。
【００９７】
量子化プロセスはまた、ルックアップテーブル形式（図示せず）を用いて指定することができる。ルックアップテーブル形式は、ルックアップテーブルに含まれていない特定の値の量子化／逆量子化プロセスを判定する補間技術の使用を伴うことができる。あるいは、量子化パラメータＱ1〜ＱNは、前に符号化された隣接する画素ブロックの量子化パラメータから予測することができる。更なる実施形態では、量子化パラメータＱ1〜ＱNの第１の組は、符号化系列のより高いレベルの構造（例えば、フレーム又はスライスヘッダ）で信号として伝えることができ、量子化パラメータＱ1〜ＱNの信号で伝えられた組に対する変更は、構造の画素ブロックが符号化される際に画素ブロックごとに信号として伝えることができる。
【００９８】
動作中、コントローラ８６０は、量子化器８１３、８１４、及び８１５並びに変換ユニット８１４の動作パラメータを画像データの異なる粒度で、画素ブロックごと又はより大きな粒度、例えば、フレームごと、スライスごと、ＬＣＵごと、又は別の領域、のいずれかで修正することができる。一実施形態では、量子化パラメータは、画素ごとに修正することができる。
【００９９】
加えて、説明したように、コントローラ８６０は、インループフィルタ８３０及び予測器８５０の動作を制御することができる。そのような制御としては、予測器８５０に対してはモード選択（ラムダ、テストされることになるモード、検索ウィンドウ、歪み戦略など）、及びインループフィルタ８３０に対してはフィルタパラメータの選択、パラメータの並べ替え、加重予測などを挙げることができる。
【０１００】
図９は、本開示の一実施形態に係る復号化システム９００の機能ブロック図である。復号化システム９００は、シンタックスユニット９１０と、画素ブロック復号器９２０と、インループフィルタ９３０と、予測バッファ９４０と、予測器９５０と、コントローラ９６０と含むことができる。シンタックスユニット９１０は、符号化されたビデオデータストリームを受信することができ、符号化されたデータをその成分部分にパース解析することができる。符号化パラメータを表すデータは、コントローラ９６０に提出することができ、符号化された残差を表すデータ（図８の画素ブロック符号器８１０によって出力されたデータ）は、画素ブロック復号器９２０に提出することができる。画素ブロック復号器９２０は、（図８の）画素ブロック符号器８１０によって提供される符号化動作を反転することができる。インループフィルタ９３０は、再構成された画素ブロックデータをフィルタリングすることができる。再構成された画素ブロックデータは、表示のためにフレームに組み立てて、復号化システム９００から出力ビデオとして出力することができる。フレームはまた、予測動作に使用するために予測バッファ９４０に記憶することができる。予測器９５０は、符号化されたビデオデータストリーム内で受信した符号化データによって判定されたように、予測データを画素ブロック復号器９２０に供給することができる。
【０１０１】
画素ブロック復号器９２０は、エントロピ復号器９２１と、係数逆量子化器９２２と、逆変換ユニット９２３と、複数の逆量子化器９２４．１〜９２４．Ｎと、加算器９２６とを含むことができる。エントロピ復号器９２１は、エントロピ復号化を実行し、（図８の）エントロピ符号器８１６によって実行されるプロセスを反転することができる。係数逆量子化器９２２は、（図８の）画素ブロック符号器８１０の係数量子化器８１５の動作を反転することができる。同様に、逆変換ユニット９２３及び逆量子化器９２４．１〜９２４．Ｎは、（図８の）変換ユニット８１４及び量子化器８１３．１〜８１３．Ｎそれぞれの動作を反転することができる。それらは、符号化されたビデオデータストリーム内で提供される量子化パラメータＱ1〜ＱN及び変換モードＭを使用することができる。量子化器８１３．１〜８１３．Ｎ及び係数量子化器８１５の動作は、様々な点でデータを切り捨てるため、係数逆量子化器９２２及び逆量子化器９２４．１〜９２４．Ｎによって再構成されたデータは、（図８の）画素ブロック符号器８１０内のそれらの相当するものに提示された入力データと比較したとき、符号化誤差を有することになる可能性がある。
【０１０２】
加算器９２５は、（図８の）減算器８１２によって実行される動作を反転することができる。加算器は、符号化されたビデオデータストリーム内の予測基準によって判定されたように、予測器９５０から予測画素ブロックを受信することができる。加算器９２５は、予測画素ブロックを先行する逆量子化器９２４．１から入力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
【０１０３】
インループフィルタ９３０は、再構成された画素ブロックデータに対して様々なフィルタリング動作を実行することができる。図示したように、インループフィルタ９３０は、デブロッキングフィルタ９３２及びＳＡＯフィルタ９３３を含むことができる。デブロッキングフィルタ９３２は、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタは、ＳＡＯタイプに従って、例えば、エッジ方向／形状及び／又は画素レベルに基づいて、オフセットを画素値に加えることができる。デブロッキングフィルタ９３２及びＳＡＯフィルタ９３３の動作は、理想的には、（図８の）符号化システム８００内のそれらの相当するものの動作を模倣することになる。したがって、伝送エラー又は他の異常がない場合、復号化システム９００のインループフィルタ９３０から得られる復号化されたフレームデータは、（図８の）符号化システム８００のインループフィルタ８３０から得られる復号化されたフレームデータと同じであることになる。このようにして、符号化システム８００及び復号化システム９００は、それらの対応する予測バッファ８４０、９４０に参照ピクチャの共通の組を記憶しなければならない。
【０１０４】
予測バッファ９４０は、後の他の画素ブロックの予測で使用するためにフィルタリングされた画素データを記憶することができる。予測バッファ９４０は、イントラ予測に使用するために、それぞれのフレームの復号化された画素ブロックデータをそれが符号化されたように記憶することができる。予測バッファ９４０はまた、復号化された参照フレームを記憶することができる。
【０１０５】
説明したように、予測器９５０は、予測データを画素ブロック復号器９２０に供給することができる。予測器９５０は、符号化されたビデオデータストリーム内に供給される予測基準インジケータによって判定されたように、予測された画素ブロックデータを供給することができる。
【０１０６】
コントローラ９６０は、復号化システム９００の動作全体を制御することができる。コントローラ９６０は、符号化されたビデオデータストリーム内で受信したパラメータに基づいて、画素ブロック復号器９２０及び予測器９５０に対する動作パラメータを設定することができる。本説明に関連するように、これらの動作パラメータは、逆量子化器９２４．１〜９２４．Ｎ及び逆変換ユニット９２３に対する量子化パラメータＱ1〜ＱN及び変換モードＭを含むことができる。説明したように、受信したパラメータは、画像データの様々な粒度で、例えば、画素ごとに、画素ブロックごとに、フレームごとに、スライスごとに、ＬＣＵごとに、又は入力画像に対して定義された他の種類の領域に基づいて、設定することができる。
【０１０７】
図８及び図９の実施形態は、いくつかの次元、図２及び図３の実施形態より多数の次元に沿った画像データの量子化を提供する。実装では、回路設計者は、それらの用途に好適な限り多くの種類の量子化器８１３．１〜８１３．Ｎ及び逆量子化器９２４．１〜９２４．Ｎを有する符号化及び復号化システムを設計することが簡便であると見出すことがある。符号化システム及び復号化システムの配給業者の間の協調なしには、個々の符号化システム及び復号化システムは、量子化器８１３．１〜８１３．Ｎ及び逆量子化器９２４．１〜９２４．Ｎの不整合な組を保有することになる可能性がある。そのような状況では、符号化システム及び復号化システムは、ビデオ符号化セッションの初期化フェーズ中にそれらの量子化器８１３．１〜８１３．Ｎ及び逆量子化器９２４．１〜９２４．Ｎの能力を識別するデータを交換することができる。ネゴシエーションを介して、符号化システム及び復号化システムは、任意の量子化器８１３．１〜８１３．Ｎ及び逆量子化器９２４．１〜９２４．Ｎを共同で共有するか否かを判定することができる。そうである場合、符号化システム及び復号化システムは、共同で共有されないそれらの量子化器８１３．１〜８１３．Ｎ及び逆量子化器９２４．１〜９２４．Ｎを無効にし、それらを通過状態に設定して、共同で共有されたそれらの量子化器８１３．１〜８１３．Ｎ及び逆量子化器９２４．１〜９２４．Ｎを用いてビデオ符号化を行なうことができる。したがって、符号化システム及び復号化システムは、それらの能力が同一でないとしても、本開示に固有の利点を実現することができる。
【０１０８】
図１０は、本開示の別の実施形態に係る符号化システム１０００の機能ブロック図である。システム１０００は、画素ブロック符号器１０１０と、画素ブロック復号器１０２０と、インループフィルタシステム１０３０と、予測バッファ１０４０と、予測器１０５０と、コントローラ１０６０と、シンタックスユニット１０７０とを含むことができる。画素ブロック符号器及び復号器１０１０、１０２０並びに予測器１０５０は、個々の画素ブロックに対して繰返し動作することができる。予測器１０５０は、新たに提示された画素ブロックの符号化中に使用するためのデータを予測することができる。画素ブロック符号器１０１０は、いくつかの並列符号化チェーン内で新しい画素ブロックを符号化することができ、符号化された画素ブロックデータをシンタックスユニット１０７０に提示することができる。画素ブロック復号器１０２０は、また並列復号化チェーン内で符号化された画素ブロックデータを復号化することができ、それから復号化された画素ブロックデータを生成することができる。インループフィルタ１０３０は、画素ブロック復号器１０２０によって得られた復号化された画素ブロックから組み立てられた復号化されたフレームデータに対して様々なフィルタリング動作を実行することができる。フィルタリングされたフレームデータは、予測バッファ１０４０に記憶することができ、後で受信した画素ブロックの予測のソースとして使用することができる。シンタックスユニット１０７０は、統制する符号化プロトコルに適合する符号化された画素ブロックデータからデータストリームを組み立てることができる。
【０１０９】
画素ブロック符号器１０１０は、減算器１０１２と、それぞれが対応する量子化器１０１３．１、１０１３．２、．．．、又は１０１３．Ｎ、対応する変換ユニット１０１４．１、１０１４．２、．．．、又は１０１４．Ｎ、対応する係数量子化器１０１５．１、１０１５．２、．．．、又は１０１５．Ｎ、及び対応するエントロピ符号器１０１６．１、１０１６．２、．．．、又は１０１６．Ｎを含む並列符号化チェーンとを含むことができる。マルチプレクサ１０１７は、エントロピ符号器１０１６．１、１０１６．２、．．．、又は１０１６．Ｎの出力を単一の符号化されたビデオストリームにマージすることができ、このビデオストリームは、画素ブロック符号器１０１０からシンタックスユニット１０７０に出力することができる。
【０１１０】
画素ブロック符号器１０１０は、減算器１０１２で入力データの画素ブロックを受け入れることができる。減算器１０１２は、予測器１０５０から予測された画素ブロックを受信し、それから入力画素ブロックと予測された画素ブロックとの間の画素の差を表す画素残差のアレイを生成することができる。量子化器１０１３．１〜１０１３．Ｎはそれぞれ、画像データの異なるドメインで受信するデータの量子化を実行することができる。繰り返しになるが、量子化された次元は、互いに直交する必要はない。変換ユニット１０１４．１〜１０１４．Ｎは、対応する量子化器１０１３．１〜１０１３．Ｎから入力されたデータに変換を適用し、画素ドメインから変換係数のドメインに入力データを変換することができる。係数量子化器１０１５．１〜１０１５．Ｎは、それらの対応する変換ユニット１０１４．１〜１０１４．Ｎから入力された変換係数の量子化を実行することができる。エントロピ符号器１０１６．１〜１０１６．Ｎは、例えば、可変長符号語により出力を符号化して、それらの対応する係数量子化器１０１５．１〜１０１５．Ｎから提示された入力データの帯域幅を低減することができる。
【０１１１】
量子化器１０１３．１〜１０１３．Ｎはそれぞれ、画像データの対応するドメインで受信するデータの量子化を実行することができる。量子化器１０１３．１〜１０１３．Ｎは、例えば、ダウンスケーラ、残差量子化器、色成分専用の量子化器、周波数ドメイン量子化器、方向的に専用（例えば水平のみ、垂直のみ、及び両方がブレンドされた）の量子化器、輝度専用の残差スケーラなどとして提供することができる。量子化器１０１３．１〜１０１３．Ｎは、コントローラ１０６０によって供給される、提供する量子化のレベルを定義する対応する量子化パラメータに従って動作することができる。量子化パラメータは、符号化されたビットストリーム内で、明示的又は暗黙的のいずれかで、復号化システムに信号として伝えることができる。いくつかのシナリオでは、個々の量子化器１０１３．１、１０１３．２、．．．、１０１３．Ｎは、無効にすることができ、その場合、単に変更なしにそれらの入力データを次の量子化器に渡すことができる。２つ以上の量子化器１０１３．１、１０１３．２、．．．、１０１３．Ｎが無効にされる場合、いくつかの関連付けられた符号化チェーン全体を無効にすることができる。
【０１１２】
変換ユニット１０１４．１〜１０１４．Ｎは、イベントが保証する様々な変換モードで動作することができる。例えば、変換ユニット１０１４は、ＤＣＴ、ＤＳＴ、Ｗａｌｓｈ−Ｈａｄａｍａｒｄ変換、Ｈａａｒ変換、Ｄａｕｂｅｃｈｉｅｓウェーブレット変換などを適用するように選択することができる。更に、変換ユニット１０１４．１〜１０１４．Ｎは、対応する符号化チェーン内で変換スキップモード符号化が適用される場合に無効にすることができる。一実施形態では、コントローラ１０６０は、変換ユニット１０１４．１〜１０１４．Ｎによって適用されることになる符号化モードを選択することができ、この符号化モードは、チェーンごとに異なることができ、コントローラ１０６０は、それに応じて変換ユニット１０１４．１〜１０１４．Ｎを構成することができる。変換モードは、明示的又は暗黙的のいずれかで、符号化されたビデオデータ内で信号として伝えることができる。
【０１１３】
画素ブロック復号器１０２０は、画素ブロック符号器１０１０の符号化動作を反転する復号化ユニットを含むことができる。例えば、画素ブロック復号器１０２０は、画素ブロック符号器１０１０において同じようにチェーンに配置された、係数逆量子化器１０２２．１〜１０２２．Ｎと、逆変換ユニット１０２３．１〜１０２３．Ｎと、逆量子化器１０２４．１〜１０２４．Ｎとを含むことができる。画素ブロック復号器１０２０はまた、アベレージャ１０２５及び加算器１０２６を含むことができる。
【０１１４】
画素ブロック復号器１０２０の復号化チェーンは、画素ブロック符号器１０１０の対応する符号化チェーンの出力から入力データを取ることができる。繰り返しになるが、許容されてはいるが、画素ブロック復号器１０２０はエントロピ符号化が無損失のイベントであるため、エントロピ符号化されたデータのエントロピ復号化を実行する必要はない。係数逆量子化器１０２２．１〜１０２２．Ｎは、画素ブロック符号器１０１０のそれらに対応する量子化器１０１５．１〜１０１５．Ｎの動作を反転することができる。同様に、逆変換ユニット１０２３．１〜１０２３．Ｎ及び逆量子化器１０２４．１〜１０２４．Ｎは、変換ユニット１０１４．１〜１０１４．Ｎ及び量子化器１０１３．１〜１０１３．Ｎそれぞれの動作を反転することができる。それらは、画素ブロック符号器１０１０内のそれらに対応するものと同じ量子化パラメータ及び変換モードを使用することができる。量子化器１０１３．１〜１０１３．Ｎ及び係数量子化器１０１５の動作は、様々な点でデータを切り捨てることになる可能性があり、したがって係数逆量子化器１０２２．１〜１０２２．Ｎ及び逆量子化器１０２４．１〜１０２４．Ｎによって再構成された残差データは、画素ブロック符号器１０１０内のそれらの相当するものに提示されたデータと比較したとき、符号化誤差を有することになる可能性がある。
【０１１５】
アベレージャ１０２５は、様々な復号化チェーンの出力を平均することができる。異なる符号化チェーンの寄与は、等しい重みで与えるか、あるいは、コントローラ１０６０によって割り当てられた重みに基づいて重み付けすることができる。一実施形態では、コントローラ１０６０は、異なるチェーンからの再構成されたデータの歪みを測定することができ、平均化した際にそのような歪みを低減する平均化加重を選択することができる。アベレージャ１０２５の出力は、再構成された残差データとして加算器１０２６に入力することができる。
【０１１６】
加算器１０２６は、減算器１０１２によって実行される動作を反転することができる。加算器１０２６は、残差信号を生成するのに減算器１０１２が使用したのと同じ予測画素ブロックを予測器１０５０から受信することができる。加算器１０２６は、予測画素ブロックをアベレージャ１０２５によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
【０１１７】
インループフィルタ１０３０は、回復した画素ブロックデータに対して様々なフィルタリング動作を実行することができる。例えば、インループフィルタ１０３０は、デブロッキングフィルタ１０３２及びＳＡＯフィルタ１０３３を含むことができる。デブロッキングフィルタ１０３２は、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタ１０３３は、ＳＡＯタイプに従って、例えば、エッジ方向／形状及び／又は画素レベルに基づいて、オフセットを画素値に加えることができる。インループフィルタ１０３０は、コントローラ１０６０によって選択されたパラメータに従って動作することができる。
【０１１８】
予測バッファ１０４０は、後の他の画素ブロックの予測で使用するためにフィルタリングされた画素データを記憶することができる。異なる予測モードに対して異なる種類の予測データが、予測器１０５０にて利用可能になる。例えば、入力画素ブロックに対して、イントラ予測は、入力画素ブロックが配置された同じフレームの復号化されたデータから予測基準を取る。したがって、予測バッファ１０４０は、それぞれのフレームの復号化された画素ブロックデータをそれが符号化されたように記憶することができる。同じ入力画素ブロックに対して、インター予測は、参照フレームとして指定された前に符号化され復号化されたフレーム（単数又は複数）から予測基準を取ることができる。したがって、予測バッファ１０４０は、これらの復号参照フレームを記憶することができる。
【０１１９】
説明したように、予測器１０５０は、残差を生成するために使用する予測データを画素ブロック符号器１０１０に供給することができる。予測器１０５０は、インタ予測器１０５２と、イントラ予測器１０５３と、モード決定ユニット１０５４とを含むことができる。インター予測器１０５２は、符号化されることになる新しい画素ブロックを表す画素ブロックデータを受信することができ、入力画素ブロックを符号化するのに使用するために参照フレーム（単数又は複数）から画素ブロックデータに対して予測バッファ１０４０を検索することができる。インター予測器１０５２は、１つ又は１対の参照フレームから予測データを供給する、Ｐ及びＢモードなどの複数の予測モードをサポートすることができる。インター予測器１０５２は、インタ予測モードを選択し、符号化される入力画素ブロックに対する最も近い一致を提供する予測データを供給することができる。インター予測器１０５２は、動きベクトルなどの予測基準インジケータを生成し、どの参照フレームのどの部分（単数又は複数）が入力画素ブロックに対する予測のソース（単数又は複数）として選択されたかを識別することができる。
【０１２０】
イントラ予測器１０５３は、イントラ符号化をサポートすることができる。イントラ予測器１０５３は、入力画素ブロックに対する最も近い一致を提供する符号化される画素ブロックと同じフレームからの符号化された画素ブロックデータの中から検索することができる。イントラ予測器１０５３はまた、予測基準インジケータを生成し、フレームのどの部分が入力画素ブロックに対する予測のソースとして選択されたかを識別することができる。
【０１２１】
モード決定ユニット１０５４は、入力画素ブロックに適用されることになる最終の符号化モードを選択することができる。典型的には、モード決定ユニット１０５４は、ビデオが復号化されたときに最も小さい歪みを実現することになる予測モードを選択する。ランダムアクセス又はデータ更新ポリシーをサポートすることなどの、符号化システム１０００が準拠する他のポリシーを満たすように符号化モードが選択される場合に、例外が発生することがある。モード決定ユニット１０５４は、予測データを画素ブロック符号器及び復号器１０１０、１０２０に出力することができ、選択されたモードに対応する予測基準インジケータとともに選択された予測モードの識別をコントローラ１０６０に供給することができる。
【０１２２】
コントローラ１０６０は、符号化システム１０００の動作全体を制御することができる。コントローラ１０６０は、入力画素ブロック、並びにまた符号化ビットレート目標及び他の動作パラメータなどの外部制約条件の分析に基づいて、画素ブロック符号器１０１０及び予測器１０５０に対する動作パラメータを選択することができる。本説明に関連するように、コントローラが、量子化器１０１３．１〜１０１３．Ｎによって使用されることになる量子化パラメータ及び変換モードを選択するとき、それらのパラメータをシンタックスユニット１０７０に提供することができ、シンタックスユニット１０７０は、それらのパラメータを表すデータをシステム１０００によって出力される符号化されたビデオデータのデータストリームに含めることができる。コントローラ１０６０はまた、１つ以上の量子化器ユニット（例えば、量子化器１０１３．２）によって量子化を適用すべきでないことを判定することができ、その場合、コントローラ１０６０は、量子化器１０１３．２を無効にすることができる。上述したように、コントローラ１０６０はまた、変換ユニット１０１４の動作モードを判定することができる。
【０１２３】
説明したように、量子化パラメータは画素ブロックの全ての画素に一様に適用される単一の値として提供される必要はなく、代わりに、その値がそれぞれの画素位置で変化する量子化パラメータの対応するアレイとして提供することができる。一実施形態では、様々な量子化器アレイは、所定のプロトコルに従って、それぞれが異なる画素位置で対応する量子化値を有するように定義することができる。動作中、コントローラ１０６０は、インデックス又は他の識別子を提供することにより、どのアレイを使用するかを識別することができる。
【０１２４】
別の実施形態では、（単一の値又は値のアレイであろうと）量子化パラメータは画像データの特性から導出することができる。例えば、量子化パラメータは、画素残差に対応する予測画素値の強度に基づいて選択することができる。この場合では、量子化パラメータの値は、予測器の強度値に従ってあらゆる画素に対して異なることができ、例えば、より小さな予測器の値を有するサンプルより、より大きな予測器の値を有するサンプルに対してより高くてもよい。これらの量子化パラメータは、線形、すなわちスケーラ，定式化、又はより複雑な非線形／非一様な定式化を用いて定義することができる。
【０１２５】
一実施形態では、量子化器は、ｑ（ｉ，ｊ）＝ｆk（ｐ（ｉ，ｊ），ｉ，ｊ）の形式の所定の関数によって表すことができ、式中、ｑは、問題の量子化器を表し、ｉ及びｊは、量子化される画素ブロック内の値（画素ドメインの値又は変換ドメインの値のいずれか）の位置を表し、ｐ（ｉ，ｊ）は、量子化される画素強度値を表し、ｆkは、ｑに対するｐ、ｉ、及びｊに関する関数を表す。シグナリングの一部として、コントローラ１０６０は、使用されている関数を識別するデータ、及び対応する関数が機能する任意の他のデータ（例えば、対応する関数で機能することができる任意のスケーラ及びオフセット）を提供することができる。
【０１２６】
量子化プロセスはまた、ルックアップテーブル形式（図示せず）を用いて指定することができる。ルックアップテーブル形式は、ルックアップテーブルに含まれていない特定の値の量子化／逆量子化プロセスを判定する補間技術の使用を伴うことができる。あるいは、量子化パラメータは、前に符号化された隣接する画素ブロックの量子化パラメータから予測することができる。更なる実施形態では、量子化パラメータの第１の組は、符号化系列のより高いレベルの構造（例えば、フレーム又はスライスヘッダ）で信号として伝えることができ、量子化パラメータの信号として伝えられた組に対する変更は、構造の画素ブロックが符号化される際に画素ブロックごとに信号として伝えることができる。
【０１２７】
動作中、コントローラ１０６０は、量子化器１０１３、１０１４、及び１０１５並びに変換ユニット１０１４の動作パラメータを画像データの異なる粒度で、画素ブロックごと又はより大きな粒度、例えば、フレームごと、スライスごと、ＬＣＵごと、又は別の領域、のいずれかで修正することができる。一実施形態では、量子化パラメータは、画素ごとに修正することができる。
【０１２８】
加えて、説明したように、コントローラ１０６０は、インループフィルタ１０３０及び予測器１０５０の動作を制御することができる。そのような制御としては、予測器１０５０に対してはモード選択（ラムダ、テストされることになるモード、検索ウィンドウ、歪み戦略など）、及びインループフィルタ１０３０に対してはフィルタパラメータの選択、パラメータの並べ替え、加重予測などを挙げることができる。
【０１２９】
図１１は、本開示の一実施形態に係る復号化システム１１００の機能ブロック図である。復号化システム１１００は、シンタックスユニット１１１０と、画素ブロック復号器１１２０と、インループフィルタ１１３０と、予測バッファ１１４０と、予測器１１５０と、コントローラ１１６０と含むことができる。シンタックスユニット１１１０は、符号化されたビデオデータストリームを受信することができ、符号化されたデータをその成分部分に解析することができる。符号化パラメータを表すデータは、コントローラ１１６０に提出することができ、符号化された残差を表すデータ（図１０の画素ブロック符号器１０１０によって出力されたデータ）は、画素ブロック復号器１１２０に提出することができる。画素ブロック復号器１１２０は、（図１０の）画素ブロック符号器１０１０によって提供される符号化動作を反転することができる。インループフィルタ１１３０は、再構成された画素ブロックデータをフィルタリングすることができる。再構成された画素ブロックデータは、表示のためにフレームに組み立てて、復号化システム１１００から出力ビデオとして出力することができる。フレームはまた、予測動作に使用するために予測バッファ１１４０に記憶することができる。予測器１１５０は、符号化されたビデオデータストリーム内で受信した符号化データによって判定されたように、予測データを画素ブロック復号器１１２０に供給することができる。
【０１３０】
画素ブロック復号器１１２０は、エントロピ復号器１１２１と、デマルチプレクサ１１２２と、複数の係数逆量子化器１１２３．１〜１１２３．Ｎと、複数の逆変換ユニット１１２４．１〜１１２４．Ｎと、複数の逆量子化器１１２５．１〜１１２５．Ｎと、アベレージャ１１２６と、加算器１１２７とを含むことができる。エントロピ復号器１１２１は、エントロピ復号化を実行し、（図１０の）エントロピ符号器１０１６によって実行されるプロセスを反転することができる。デマルチプレクサ１１２２は、（図１０の）画素ブロック符号器１０１０の対応するチェーンからの符号化されたビデオデータを画素ブロック復号器１１２０内の対応する復号化チェーンに送信することができる。それぞれの係数逆量子化器１１２３．１、１１２３．２、．．．、１１２３．Ｎは、（図１０の）画素ブロック符号器１０１０の対応する係数量子化器１０１５．１、１０１５．２、．．．、１０１５．Ｎの動作を反転することができる。同様に、逆変換ユニット１１２４．１、１１２４．２、．．．、１１２４．Ｎ及び逆量子化器１１２５．１、１１２５．２、．．．、１１２５．Ｎは、（図１０の）画素ブロック符号器１０１０からのそれらの対応するユニットそれぞれの動作を反転することができる。それらは、符号化されたビデオデータストリーム内で提供される量子化パラメータを使用することができる。量子化器１０１３．１〜１０１３．Ｎ及び係数量子化器１０１５．１〜１０１５．Ｎの動作は、様々な点でデータを切り捨てるため、係数逆量子化器１１２３．１、１１２３．２、．．．、１１２３．Ｎ及び逆量子化器１１２５．１〜１１２５．Ｎによって再構成された残差データは、（図１０の）画素ブロック符号器１０１０内のそれらに対応するものに提示された入力データと比較したとき、符号化誤差を保有することになる可能性がある。
【０１３１】
アベレージャ１１２６は、様々な復号化チェーンの出力を平均することができる。異なる復号化チェーンの寄与は、等しい重みで与えるか、あるいは、符号化されたビデオデータから得られる、コントローラ１１６０によって割り当てられた重みに基づいて重み付けすることができる。アベレージャ１１２６の出力は、再構成された残差データとして加算器１１２７に入力することができる。
【０１３２】
加算器１１２７は、（図１０の）減算器１０１２によって実行される動作を反転することができる。加算器は、符号化されたビデオデータストリーム内の予測基準によって判定されたように、予測器１１５０から予測画素ブロックを受信することができる。加算器１１２７は、予測画素ブロックをアベレージャ１１２６から入力された再構成された残差値に加えることができる。
【０１３３】
インループフィルタ１１３０は、再構成された画素ブロックデータに対して様々なフィルタリング動作を実行することができる。図示したように、インループフィルタ１１３０は、デブロッキングフィルタ１１３２及びＳＡＯフィルタ１１３３を含むことができる。デブロッキングフィルタ１１３２は、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタは、ＳＡＯタイプに従って、例えば、エッジ方向／形状及び／又は画素レベルに基づいて、オフセットを画素値に加えることができる。デブロッキングフィルタ１１３２及びＳＡＯフィルタ１１３３の動作は、理想的には、（図１０の）符号化システム１０００内のそれらに対応するものの動作を模倣することになる。したがって、伝送エラー又は他の異常がない場合、復号化システム１１００のインループフィルタ１１３０から得られる復号化されたフレームデータは、（図１０の）符号化システム１０００のインループフィルタ１０３０から得られる復号化されたフレームデータと同じになる。このようにして、符号化システム１０００及び復号化システム１１００は、それらの対応する予測バッファ１０４０、１１４０に参照ピクチャの共通の組を記憶しなければならない。
【０１３４】
予測バッファ１１４０は、後の他の画素ブロックの予測で使用するためにフィルタリングされた画素データを記憶することができる。予測バッファ１１４０は、イントラ予測に使用するために、それぞれのフレームの復号化された画素ブロックデータをそれが符号化されたように記憶することができる。予測バッファ１１４０はまた、復号化された参照フレームを記憶することができる。
【０１３５】
説明したように、予測器１１５０は、予測データを画素ブロック復号器１１２０に供給することができる。予測器１１５０は、符号化されたビデオデータストリーム内に供給される予測基準インジケータによって判定されたように、予測された画素ブロックデータを供給することができる。
【０１３６】
コントローラ１１６０は、符号化システム１１００の動作全体を制御することができる。コントローラ１１６０は、符号化されたビデオデータストリーム内で受信したパラメータに基づいて、画素ブロック復号器１１２０及び予測器１１５０に対する動作パラメータを設定することができる。本説明に関連するように、これらの動作パラメータは、逆変換ユニット１１２３に対する量子化パラメータ及び変換モードを含むことができる。説明したように、受信したパラメータは、画像データの様々な粒度で、例えば、画素ブロックごとに、フレームごとに、スライスごとに、ＬＣＵごとに、又は入力画像に対して定義された別の領域に基づいて、設定することができる。
【０１３７】
図１０及び図１１の実施形態は、いくつかの次元、図２及び図３の実施形態より多数の次元に沿った画像データの量子化を提供する。図８及び図９の実施形態と同様に、図１０及び図１１の符号化システム及び復号化システムは、符号化システム及び復号化システムが同一の量子化器能力を有さない場合でも、本説明に固有の利点を実現することができる。
【０１３８】
更に、図１０の実施形態は、符号化システムに符号化中に特定の量子化技術をテストし符号化品質と帯域幅との対話を査定する機会を提供する。符号化の後に続いて、図１０の符号化システム１０００は、所与の符号化チェーンの結果がよくないことを判定することができる。そのような判定に応じて、符号化システムは、対応する符号化チェーンの重みＷを０に設定し、そのチェーンの符号化されたデータを符号化されたビデオデータストリームから除外することができる。
【０１３９】
説明したように、前述の実施形態の量子化器及び逆量子化器の動作は、符号化されその後復号化されるそれぞれの画素ブロックに対して再構成することができる。したがって、単一の画像は、量子化動作の幅広いアレイに従うことができる。図１２及び図１３は、フレームに対する量子化の例示的な選択を示す。
【０１４０】
また説明したように、所与のフレームに対する量子化モードの選択は、異なる粒度で行うことができる。例えば、符号化されるそれぞれの画素ブロックに対して新たに量子化モードを選択することが簡便であり得る。しかし、他の実施形態では、スライスごとに、ＬＣＵごとに、又はフレームごとに、量子化モードを選択することが簡便であり得る。
【０１４１】
前述の説明は、本開示の各種実施形態を、それらを具現化することができる符号化システム、復号化システム、及び機能ユニットの文脈で説明した。特に、これらのシステムは、一体型のビデオカメラを備えるモバイルデバイス（例えば、カメラが使用可能な電話機、娯楽システム、及びコンピュータ）、並びに／又はビデオ会議機器及びカメラが使用可能なデスクトップコンピュータなどの有線通信システムなどの、様々なデバイスに適用することができる。いくつかの用途では、上述した機能ブロックは、一体型ソフトウェアシステムの要素として提供することができ、そこでブロックは、プログラム命令としてメモリに記憶され汎用処理システムによって実行されるコンピュータプログラムの要素として提供することができる。他の用途では、機能ブロックは、デジタル信号プロセッサ又は特定用途向け集積回路内の機能ユニットなどの、処理システムの個別の回路構成要素として提供することができる。本開示の更に他の用途は、専用のハードウェア及びソフトウェア構成要素のハイブリッドシステムとして具現化することができる。更に、本明細書で説明した機能ブロックは、別個の要素として提供される必要はない。例えば、図１〜図１１では、別個のユニットとしてビデオ符号器及び復号器の構成要素を示すが、１つ以上の実施形態では、それらの一部又は全ては一体化することができ、別個のユニットである必要はない。そのような実装形態の詳細は、上記で特に明記しない限り、本開示の動作に重要ではない。
【０１４２】
更に、本明細書で示した図は、本開示の主題を提示するために必要な限りの詳細のみを提供している。特に、ビデオ符号器及び復号器は、典型的には、本明細書で説明したものに加えて、例示した符号化パイプライン全体にわたってデータを記憶するバッファ、並びに通信ネットワーク及び相手先の符号器／復号器デバイスとの通信を管理する通信用送受信機を含む、機能ユニットを含むことになる。そのような要素は、明瞭にするために前述の説明からは省略されている。
【０１４３】
本開示のいくつかの実施形態は、本明細書で具体的に図示及び／又は説明されている。しかし、本開示の改変及び変形は、本開示の趣旨及び意図された範囲から逸脱することなく、上記の教示によって網羅され、添付の特許請求の範囲内に含まれることが理解されよう。
【図１】
2019528651.tif 000003
【図２】
2019528651.tif 000004
【図３】
2019528651.tif 000005
【図４】
2019528651.tif 000006
【図５】
2019528651.tif 000007
【図６】
2019528651.tif 000008
【図７】
2019528651.tif 000009
【図８】
2019528651.tif 000010
【図９】
2019528651.tif 000011
【図１０】
2019528651.tif 000012
【図１１】
2019528651.tif 000013
【図１２】
2019528651.tif 000014
【図１３】
2019528651.tif 000015
【国際調査報告】
2019528651.tif 000016
2019528651.tif 000017
2019528651.tif 000018