JP6270833B2 - クロマqp値の拡張範囲 - Google Patents

クロマqp値の拡張範囲 Download PDF

Info

Publication number
JP6270833B2
JP6270833B2 JP2015520655A JP2015520655A JP6270833B2 JP 6270833 B2 JP6270833 B2 JP 6270833B2 JP 2015520655 A JP2015520655 A JP 2015520655A JP 2015520655 A JP2015520655 A JP 2015520655A JP 6270833 B2 JP6270833 B2 JP 6270833B2
Authority
JP
Japan
Prior art keywords
value
component
chroma
qss
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015520655A
Other languages
English (en)
Other versions
JP2015526971A (ja
JP2015526971A5 (ja
Inventor
ジェイ. サリヴァン,ゲイリー
ジェイ. サリヴァン,ゲイリー
カヌムリ,サンディープ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015526971A publication Critical patent/JP2015526971A/ja
Publication of JP2015526971A5 publication Critical patent/JP2015526971A5/ja
Application granted granted Critical
Publication of JP6270833B2 publication Critical patent/JP6270833B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pyrane Compounds (AREA)
  • Vessels And Coating Films For Discharge Lamps (AREA)

Description

エンジニアは、デジタル・ビデオのビット・レートを低減させるために、圧縮(ソース符号化とも呼ばれる)を使用する。圧縮は、ビデオ情報をより低いビット・レート形式に変換することにより、ビデオ情報を記憶して伝送するコストを低減させる。伸張(復号化とも呼ばれる)は、圧縮形式からオリジナル情報のバージョンを再構築する。「コーデック」はエンコーダ/デコーダ・システムである。
ここ20年の間、H.261規格、H.262(MPEG−2又はISO/IEC 13818−2)規格、H.263規格、及びH.264(AVC又はISO/IEC 14496−10)規格、並びに、MPEG−1(ISO/IEC 11172−2)規格、MPEG−4 Visual(ISO/IEC 14496−2)規格、及びSMPTE 421M規格を含む様々なビデオ・コーデック規格が採用されてきた。より最近では、HEVC規格を策定中である。ビデオ・コーデック規格は、通常、特定の機能が符号化及び復号化において使用されるときの、符号化ビデオ・ビットストリームのシンタックスのためのオプション、ビットストリームにおける詳細パラメータを定義している。多くの場合、ビデオ・コーデック規格はまた、デコーダが復号化において正しい結果を達成するために実行すべき復号化オペレーションに関する詳細を提供している。コーデック規格とは別に、様々なプロプライエタリ・コーデック・フォーマット(proprietary codec format)が、符号化ビデオ・ビットストリームのシンタックスのための他のオプション及び対応する復号化オペレーションを定義している。
ビットストリームにおける1つのタイプのパラメータは量子化パラメータ(「QP」)である。符号化中、エンコーダは、品質及びビット・レートを調整するために、QPの値を設定する。一般に、QPの値が低いほど、符号化ビデオの品質は高くなるが、より多くのビットが消費される。一方、QPの値が高いほど、符号化ビデオの品質は低くなり、より少ないビットしか消費されない。デコーダは、符号化ビデオからビデオ・コンテンツを再構築するとき、QP値を使用する。
カメラ、アニメーション出力、スクリーン・キャプチャ・モジュール等のビデオ・ソースは、通常、YUVフォーマット等のフォーマットに変換されるビデオを提供する。YUVフォーマットは、輝度値を表すサンプル値を有するルマ(又は、Y)成分と、色差値を表すサンプル値を有する複数のクロマ成分とを含む。色差値(及びYUV色空間からRGB等の別の色空間への変換オペレーションとRGB等の別の色空間からYUV色空間への変換オペレーション)の正確な定義は実装に依存する。一般に、ルマ/クロマ色空間は、ルマ(又は、ルミナンス)成分と1以上のクロマ(又は、クロミナンス)成分とを有する任意の色空間とすることができる。そのような色空間として、YUV、Y’UV、YIQ、Y’IQ、及びYDbDrに加えて、YCbCr及びYCoCg等の変形がある。ここで、Y項はルマ成分を表し、他の項はクロマ成分を表す。
いくつかのコーデック規格及びフォーマットでは、エンコーダは、ルマ成分及びクロマ成分に対して、異なるQP値を設定することができる。このように、エンコーダは、異なる色成分に対して量子化がどのように実行されるかを制御することができ、それにより、成分間の品質及びビット・レートを調整することができる。しかしながら、クロマ成分のQP値を制御し使用する従来手法は、高QP状況においてきめの細かい制御ができないことや、他の復号化オペレーションにおいて適切なレベルの応答性を提供することができないことを含む様々な欠点を有している。
要約すると、詳細な説明は、ルマ量子化パラメータ(「QP」)値に依存するクロマQP値の制御及び使用におけるイノベーションを提供する。より一般的に、このイノベーションは、プライマリ色成分(例えば、ルマ成分)のQP値に依存するセカンダリ色成分(例えば、クロマ成分)のQP値の制御及び使用に関する。
例えば、イメージ・エンコーダ又はビデオ・エンコーダは、QPの値がプライマリ成分と少なくとも1つのセカンダリ成分との間の関係に従って変化する、複数の色成分を有するビデオ・コンテンツ又は他のコンテンツを符号化する。エンコーダは、プライマリ成分QP及びセカンダリ成分QPオフセットからQPインデックスを決定する。セカンダリ成分QPオフセットは、プライマリ成分QPとの差を示す。次いで、エンコーダは、QPインデックスをセカンダリ成分QPにマッピングする。セカンダリ成分QPにより示される量子化ステップ・サイズ(「QSS」)の範囲の上限は、プライマリ成分QPにより示されるQSSの範囲の上限に実質的に合致する。したがって、セカンダリ成分QPは、所定の従来手法と比較して、拡張範囲を有する。エンコーダは、符号化したビデオ・コンテンツ又は他のコンテンツを含むビットストリームの少なくとも一部分を出力する。
あるいは、デコーダは、QPの値がプライマリ成分と少なくとも1つのセカンダリ成分との間の関係に従って変化する、複数の色成分を有する符号化されたビデオ・コンテンツ又は他のコンテンツを含むビットストリームの少なくとも一部分を受信する。デコーダは符号化ビデオを復号化する。具体的には、デコーダは、プライマリ成分QP及びセカンダリ成分QPオフセットからQPインデックスを決定し、次いで、QPインデックスをセカンダリ成分QPにマッピングする。セカンダリ成分QPにより示される量子化ステップ・サイズ(「QSS」)の範囲の上限は、プライマリ成分QPにより示されるQSSの範囲の上限に実質的に合致する。
例えば、プライマリ成分はルマ成分であり、少なくとも1つのセカンダリ成分の各々はクロマ成分である。少なくとも1つのセカンダリ成分は、複数のクロマ成分を含み得る。そのような場合、QPの値は、異なるクロマ成分に対して異なり得る。
通常、プライマリ成分のQPの値は伝達され、少なくとも1つのセカンダリ成分のQPの値は、前述の関係に従って導出される。この関係は、ルックアップ・テーブルを用いて少なくとも部分的に規定され得る。あるいは、この関係は、区分的線形関数(piece-wise linear function)を実装するロジックを用いて少なくとも部分的に規定され得る。
いくつかの実施例において、この関係に従うと、閾値に対して高いQSS(すなわち、粗い量子化)を示すQPの値に関して、プライマリ成分のQPの値における変化は、少なくとも1つのセカンダリ成分のQPの値における同一サイズの変化を生じさせる。通常、QSSは、定められた関係に従ってQP値に依存する。したがって、高いQSSを示すQPの値に関して、QPの値により表されるQSSは、(b)少なくとも1つのセカンダリ成分のQPの値により表されるQSSに対する(a)プライマリ成分のQPの値により表されるQSSの一定の比率で変化する。
いくつかの実施例において、この関係に従うと、高いQSSを示すQPの値に関して、ある一定値のQPオフセットは、少なくとも1つのセカンダリ成分の対応するQPの値により表されるQSSと等しいプライマリ成分のQPの値により表されるQSSをもたらす。すなわち、高いQSSを示すQPの値に関して、所与の値のセカンダリ成分QPオフセットについては、プライマリ成分のQPの値により表されるQSSは、少なくとも1つのセカンダリ成分の対応するQPの値により表されるQSSと等しいままである。
いくつかの実施例において、この関係に従うと、クロマQP値を見つけるために使用されるインデックス値の導出は、スライス・レベル・クロマQPオフセットに少なくとも部分的に基づく。ピクチャ・レベル・クロマQPオフセットを使用して、ピクチャのために適用されるクロマQP値の差を指定することができる。ピクチャ・レベル・クロマQPオフセットに加えて、スライス・レベル・クロマQPオフセットを使用して、ピクチャの一部分であるスライスのために適用されるクロマQP値の差を指定することができる。スライス・レベル・クロマQPオフセットの使用/不使用(又は、そのようなスライス・レベル・クロマQPオフセットがビットストリームにおいて存在するか/存在しないか)は、ビットストリームにおける構造のシンタックス要素により示され得る。例えば、そのような構造のシンタックス要素は、ピクチャ・パラメータ・セット内のフラグ値である。
別の例として、ビデオ・エンコーダは、QPの値がプライマリ成分と少なくとも1つのセカンダリ成分との間の関係に従って変化する、複数の色成分を有するビデオを符号化する。この符号化は、デブロック・フィルタリングを含み、デブロック・フィルタリング中、制御パラメータの導出は、クロマQPオフセットに少なくとも部分的に基づく。クロマQPオフセットは、ピクチャ・レベル・クロマQPオフセット、又はピクチャ・レベル・クロマQPオフセットとスライス・レベル・クロマQPオフセットとの組合せを用いて指定され得る。エンコーダは、符号化ビデオを含むビットストリーム又はビットストリーム部分の少なくとも一部分を出力する。
あるいは、ビデオ・デコーダは、QPの値がプライマリ成分と少なくとも1つのセカンダリ成分との間の関係に従って変化する、複数の色成分を有する符号化ビデオを含むビットストリーム又はビットストリーム部分の少なくとも一部分を受信する。デコーダは符号化ビデオを復号化する。この復号化は、デブロック・フィルタリングを含み、デブロック・フィルタリング中、制御パラメータの導出は、クロマQPオフセットに少なくとも部分的に基づく。クロマQPオフセットは、ピクチャ・レベル・クロマQPオフセット、又はピクチャ・レベル・クロマQPオフセットとスライス・レベル・クロマQPオフセットとの組合せを用いて指定され得る。
符号化又は復号化は、方法の一部として、方法を実行するよう適合されたコンピューティング・デバイスの一部として、又は、コンピューティング・デバイスに方法を実行させるコンピュータ実行可能命令を記憶した有体のコンピュータ読み取り可能媒体の一部として実施され得る。
本発明の前述の目的及び他の目的、特徴、並びに利点が、添付の図面を参照しながら進む以下の詳細な説明からより明らかになるであろう。
いくつかの説明する実施形態を実装することができる例示的なコンピューティング・システムの図。 いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。 いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。 いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダ・システムの図。 いくつかの説明する実施形態を協働して実装することができる例示的なデコーダ・システムの図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオ・エンコーダを示す図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオ・デコーダを示す図。 符号化中にクロマQPを決定するための一般化された技術を示すフローチャート。 復号化中にクロマQPを決定するための一般化された技術を示すフローチャート。 ピクチャ・パラメータ・セットRBSPシンタックスにおける新たなフラグslicelevel_chroma_qp_flagを示すテーブル。 スライス・ヘッダ・シンタックスにおける新たな値slice_qp_delta_cb及びslice_qp_delta_crを示すテーブル。
複数成分の色空間表現を使用するビデオ・コンテンツ及び他のイメージ・コンテンツの圧縮にとって、設計の重要な側面は、色成分の各々に対する量子化の粒度の制御である。そのような制御は、通常、1つの色成分(しばしば、プライマリ成分と呼ばれる)に関連付けられた量子化ステップ・サイズと、他の色成分(しばしば、セカンダリ成分と呼ばれる)に関連付けられた量子化ステップ・サイズとの間のスケーリング関係を設定することにより実現される。通常、プライマリ成分はルマ成分であり、1以上のセカンダリ成分は1以上のクロマ成分である。
例えば、ITU−T H.264規格において、ルマ成分及びクロマ成分のQP間の関係は、QPの値、ルックアップ・テーブル、及びエンコーダにより制御されるオフセットとともに、時として周波数固有のスケーリング・ファクタを設定するための量子化スケーリング・マトリックスに従って決定される。QPの符号化制御のこの側面に関する既存の設計にはいくつかの不都合な点が存在する。例えば、H.264におけるクロマ成分のQPの最大値(クロマに関する最も粗い量子化を示す)は、ルマ成分のためにサポートされるQPの最大値(ルマに関する最も粗い量子化を示す)よりも実質的に小さい値に制限される。量子化の粗さが、クロマのQPの最大値により制限される場合、これは、ビデオ・コンテンツのクロマ成分を符号化するために使用される過度の量のビットを生じさせ得る。これは、ビデオ・コンテンツのルマ成分を符号化するために使用されるより少ないビットをもたらし、全体的な品質の低下をもたらし得る。
詳細な説明は、プライマリ成分の量子化に関連してセカンダリ成分の量子化の粒度を制御する様々な手法を提供する。多くの場合、これらの手法は、従来手法の欠点を軽減する。具体的には、詳細な説明は、拡張範囲を有するクロマQP値の使用のためのイノベーションを提供する。
例えば、説明する手法は、プライマリ色成分とセカンダリ色成分との間の関係を設定するために使用することができるルックアップ・テーブルの拡張サイズの使用を含む。別の例として、そのようなルックアップ・テーブルにより設定されたQP値における関数関係が、代替的に、単純な数学的演算を使用することにより提供され得る。ビデオ符号化及びビデオ復号化におけるQP値の制御のさらなる革新的側面についても説明する。説明する技術は、ビデオ符号化/復号化以外の静止画像符号化/復号化、医用スキャン・コンテンツ符号化/復号化、マルチスペクトル画像コンテンツ符号化/復号化等のさらなる用途に適用されてもよい。本明細書で説明するオペレーションは、エンコーダ(例えば、ビデオ・エンコーダ)又はデコーダ(例えば、ビデオ・デコーダ)により実行されるものとして所々で説明されるが、多くの場合、このようなオペレーションは、代替的に、別のタイプのメディア処理ツールにより実行することができる。
本明細書で説明するイノベーションのいくつかは、HEVC規格に固有のシンタックス要素及びオペレーションを参照して示される。例えば、HEVC規格のドラフト・バージョンJCTVC−I1003(2012年4月にジュネーブで開催された第9回会合の”High efficiency video coding (“HEVC”) text specification draft 7”, JCTVC-I1003_d5)を参照する。本明細書で説明するイノベーションはまた、他の規格又はフォーマットのためにも実装することができる。
本明細書で説明するイノベーションのいくつかは、YCbCrフォーマットの色成分に関するシンタックス要素及びオペレーションを参照して示される。本明細書で説明するイノベーションはまた、Y’UV、YIQ、Y’IQ、及びYDbDrに加えて、YCoCg等の変形といった他のルマ/クロマ・フォーマットのためにも実装することができる。Cb成分及びCr成分に関する例は、クロマ成分が、U及びVである場合、I及びQである場合、Db及びDrである場合、Co及びCgである場合、又は別のフォーマットのクロマ成分である場合にも等しく適用されるものと理解すべきである。
より一般的に、本明細書で説明する例に対する様々な代替例が可能である。例えば、本明細書で説明する方法のいくつかは、説明する方法動作の順番を変えることにより、所定の方法動作を分けることにより、所定の方法動作を繰り返すことにより、又は所定の方法動作を省略することにより、変更することができる。開示する技術の様々な態様が、組み合わせることにより、又は別々に使用され得る。様々な実施形態が、説明するイノベーションのうちの1以上を使用する。本明細書で説明するイノベーションのいくつかは、背景技術において記した問題のうちの1以上に対処する。一般的に、所与の技術/ツールが、そのような問題の全てを解決するわけではない。
I.例示的なコンピューティング・システム
図1は、説明するイノベーションのいくつかを実装することができる適切なコンピューティング・システム(100)の一般化された例を示している。コンピューティング・システム(100)は、使用又は機能の範囲に関して限定を示唆するよう意図するものではない。というのは、このイノベーションは、多様な汎用コンピューティング・システム又は専用コンピューティング・システムにおいて実施することができるからである。
図1を参照すると、コンピューティング・システム(100)は、1以上の処理装置(110、115)及びメモリ(120、125)を含む。図1において、この最も基本的な構成(130)は破線内に含まれる。処理装置(110、115)はコンピュータ実行可能命令を実行する。処理装置は、汎用中央処理装置(CPU)、特定用途向け集積回路(ASIC)におけるプロセッサ、又は任意の他のタイプのプロセッサとすることができる。マルチ処理システムにおいて、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能命令を実行する。例えば、図1は、中央処理装置(110)に加えて、グラフィックス処理装置又は共処理装置(115)も示している。有体のメモリ(120、125)は、1以上の処理装置によりアクセス可能な、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)であってもよいし、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュ・メモリ等)であってもよいし、それら2つの何らかの組合せであってもよい。メモリ(120、125)は、1以上の処理装置による実行に適したコンピュータ実行可能命令の形態でソフトウェア(180)を記憶する。このソフトウェア(180)は、クロマQP値の拡張範囲を用いたビデオ・コンテンツ又は他のコンテンツの符号化又は復号化のための1以上のイノベーションを実装する。
コンピューティング・システムは追加の特徴を有することができる。例えば、コンピューティング・システム(100)は、ストレージ(140)、1以上の入力デバイス(150)、1以上の出力デバイス(160)、及び1以上の通信コネクション(170)を含む。バス、コントローラ、又はネットワーク等の相互接続機構(図示せず)が、コンピューティング・システム(100)のコンポーネントを相互接続する。通常、オペレーティング・システム・ソフトウェア(図示せず)が、コンピューティング・システム(100)において実行される他のソフトウェアのための動作環境を提供し、コンピューティング・システム(100)のコンポーネントの動作を調整する。
有体のストレージ(140)は、取り外し可能であっても取り外し不可能であってもよく、磁気ディスク、磁気テープ若しくは磁気カセット、CD−ROM、DVD、又は、情報を記憶するために使用することができ、コンピューティング・システム(100)内でアクセスされ得る任意の他の媒体を含む。ストレージ(140)は、クロマQP値の拡張範囲を用いたビデオ・コンテンツ又は他のコンテンツの符号化又は復号化のための1以上のイノベーションを実装するソフトウェア(180)の命令を記憶する。
1以上の入力デバイス(150)は、キーボード、マウス、ペン、又はトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニング・デバイス、又はコンピューティング・システム(100)に入力を提供する別のデバイスとすることができる。ビデオ符号化に関して、1以上の入力デバイス(150)は、カメラ、ビデオ・カード、TVチューナ・カード、若しくはアナログ形態あるいはデジタル形態でビデオ入力を受信する同様のデバイス、又はビデオ・サンプルをコンピューティング・システム(100)に読み込むCD−ROMあるいはCD−RWとすることができる。1以上の出力デバイス(160)は、ディスプレイ、プリンタ、スピーカ、CDライタ、又はコンピューティング・システム(100)からの出力を提供する別のデバイスとすることができる。
1以上の通信コネクション(170)は、通信媒体を介した別のコンピューティング・エンティティへの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性の1以上を有する信号である。例えば、通信媒体は、電気信号、光信号、RF、赤外線、又は他のキャリアを使用することができるが、これらに限定されるものではない。
イノベーションは、コンピュータ読み取り可能媒体の一般的なコンテキストにおいて説明することができる。コンピュータ読み取り可能媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体である。例えば、コンピューティング・システム(100)において、コンピュータ読み取り可能媒体は、メモリ(120、125)、ストレージ(140)、及びそれらの組合せを含むが、これらに限定されるものではない。
イノベーションは、コンピュータ実行可能命令の一般的なコンテキストにおいて説明することができる。コンピュータ実行可能命令は、例えば、プログラム・モジュールに含まれ、コンピューティング・システムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラム・モジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラム・モジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラム・モジュール間で分割されてもよい。プログラム・モジュールのコンピュータ実行可能命令は、ローカル・コンピューティング・システム又は分散コンピューティング・システム内で実行され得る。
「システム」及び「デバイス」という語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの語は、コンピューティング・システム又はコンピューティング・デバイスのタイプに関して、いかなる限定も示すものではない。一般に、コンピューティング・システム又はコンピューティング・デバイスは、ローカルであってもよいし、分散されてもよく、専用ハードウェア及び/又は汎用ハードウェアと、本明細書で説明する機能を実装するソフトウェアとの任意の組合せを含み得る。
開示する方法は、開示する方法のいずれかを実行するよう構成された専用コンピューティング・ハードウェアを用いて実装することもできる。例えば、開示する方法は、開示する方法のいずれかを実行するよう特別に設計又は構成された集積回路(例えば、特定用途向け集積回路(「ASIC」)(ASICデジタル信号処理装置(「DSP」)、グラフィックス処理装置(「GPU」)、又はフィールド・プログラマブル・ゲート・アレイ(「FPGA」)等のプログラマブル・ロジック・デバイス(「PLD」)等)により実装することができる。
プレゼンテーションの目的上、詳細な説明では、コンピューティング・システムにおけるコンピュータ・オペレーションを説明するための「決定する」及び「使用する」のような語が使用される。これらの語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの語に対応する実際のコンピュータ・オペレーションは、実装に応じて変化する。
II.例示的なネットワーク環境
図2a及び図2bは、ビデオ・エンコーダ(220)及びビデオ・デコーダ(270)を含む例示的なネットワーク環境(201、202)を示している。エンコーダ(220)及びデコーダ(270)は、適切な通信プロトコルを用いて、ネットワーク(250)を介して接続される。ネットワーク(250)は、インタネット又は別のコンピュータ・ネットワークを含み得る。
図2aに示されるネットワーク環境(201)において、各リアルタイム通信(「RTC」)ツール(210)は、双方向通信のためのエンコーダ(220)及びデコーダ(270)の両方を含む。所与のエンコーダ(220)は、SMPTE 421M規格、ISO−IEC 14496−10規格(H.264又はAVCとしても知られている)、HEVC規格、別の規格、又はプロプライエタリ・フォーマットに準拠する出力を生成することができ、対応するデコーダ(270)は、エンコーダ(220)から符号化データを受信することができる。双方向通信は、ビデオ会議、ビデオ通話、又は他の2パーティの通信シナリオの一部であり得る。図2aのネットワーク環境(201)は、2つのリアルタイム通信ツール(210)を含むが、ネットワーク環境(201)は、マルチパーティ通信に参加する3以上のリアルタイム通信ツール(210)を含んでもよい。
リアルタイム通信ツール(210)は、エンコーダ(220)による符号化を管理する。図3は、リアルタイム通信ツール(210)に含まれ得る例示的なエンコーダ・システム(300)を示している。代替的に、リアルタイム通信ツール(210)は、別のエンコーダ・システムを使用してもよい。リアルタイム通信ツール(210)はまた、デコーダ(270)による復号化も管理する。図4は、リアルタイム通信ツール(210)に含まれ得る例示的なデコーダ・システム(400)を示している。代替的に、リアルタイム通信ツール(210)は、別のデコーダ・システムを使用してもよい。
図2bに示されるネットワーク環境(202)において、符号化ツール(212)は、デコーダ(270)を含む複数の再生ツール(214)に伝送するためのビデオを符号化するエンコーダ(220)を含む。一方向通信は、ビデオが符号化されて1つのロケーションから1以上の他のロケーションに送信される、ビデオ監視システム、ウェブ・カメラ・モニタリング・システム、リモート・デスクトップ会議プレゼンテーション、又は他のシナリオのために提供され得る。図2bのネットワーク環境(202)は、2つの再生ツール(214)を含むが、ネットワーク環境(202)は、それより多い又はそれより少ない再生ツール(214)を含んでもよい。一般に、再生ツール(214)は、再生ツール(214)が受信するビデオのストリームを判定するために、符号化ツール(212)と通信する。再生ツール(214)は、ストリームを受信し、適切な期間の間受信した符号化データをバッファし、復号化及び再生を開始する。
図3は、符号化ツール(212)に含まれ得る例示的なエンコーダ・システム(300)を示している。代替的に、符号化ツール(212)は、別のエンコーダ・システムを使用してもよい。符号化ツール(212)はまた、1以上の再生ツール(214)との接続を管理するためのサーバ・サイド・コントローラ・ロジックも含み得る。図4は、再生ツール(214)に含まれ得る例示的なデコーダ・システム(400)を示している。代替的に、再生ツール(214)は、別のデコーダ・システムを使用してもよい。再生ツール(214)はまた、符号化ツール(212)との接続を管理するためのクライアント・サイド・コントローラ・ロジックも含み得る。
III.例示的なエンコーダ・システム
図3は、いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダ・システム(300)のブロック図である。エンコーダ・システム(300)は、リアルタイム通信のための低レイテンシ符号化モード、トランスコーディング・モード、及びファイル又はストリームからのメディア再生のための通常の符号化モード等の複数の符号化モードのうちいずれかで動作することができる汎用符号化ツールであってもよいし、そのような1つの符号化モードのために適合された専用符号化ツールであってもよい。エンコーダ・システム(300)は、オペレーティング・システム・モジュールとして、アプリケーション・ライブラリの一部として、又はスタンドアロン・アプリケーションとして、実装することができる。概して、エンコーダ・システム(300)は、ビデオ・ソース(310)から一連のソース・ビデオ・フレーム(311)を受信し、チャネル(390)への出力として符号化データを生成する。チャネルに出力される符号化データは、ピクチャ・レベル・クロマQPオフセット及び/又はスライス・レベル・クロマQPオフセット等のクロマのQP値を示すシンタックス要素を含み得る。
ビデオ・ソース(310)は、カメラ、チューナ・カード、記憶媒体、又は他のデジタル・ビデオ・ソースとすることができる。ビデオ・ソース(310)は、例えば、毎秒30フレームといったフレーム・レートで一連のビデオ・フレームを生成する。本明細書で使用されるとき、「フレーム」という語は、一般に、ソースの符号化された又は再構築されたイメージ・データを指す。プログレッシブ・ビデオでは、フレームはプログレッシブ・ビデオ・フレームである。インタレース・ビデオでは、例示的な実施形態において、インタレース・ビデオ・フレームは、符号化の前にインタレース効果が除かれる(de-interlaced)。代替的に、2つの相補的インタレース・ビデオ・フィールドが、インタレース・ビデオ・フレーム又は別々のフィールドとして符号化されてもよい。プログレッシブ・ビデオ・フレームを示すかは別にして、「フレーム」という語は、単一の対でないビデオ・フィールド、相補的な一対のビデオ・フィールド、所与の時間におけるビデオ・オブジェクトを表すビデオ・オブジェクト・プレーン、又はより大きなイメージにおける関心領域を示し得る。ビデオ・オブジェクト・プレーン又は領域は、シーンの複数のオブジェクト又は領域を含むより大きなイメージの一部であり得る。
到着ソース・フレーム(311)は、複数のフレーム・バッファ記憶領域(321、322、...、32n)を含むソース・フレーム一時メモリ記憶領域(320)に記憶される。フレーム・バッファ(321、322等)は、ソース・フレーム記憶領域(320)内で1つのソース・フレームを保持する。ソース・フレーム(311)のうちの1以上がフレーム・バッファ(321、322等)に記憶された後、フレーム・セレクタ(330)が、ソース・フレーム記憶領域(320)から個々のソース・フレームを定期的に選択する。エンコーダ(340)への入力のためにフレーム・セレクタ(330)によりフレームが選択される順番は、ビデオ・ソース(310)によりフレームが生成される順番とは異なり得る。例えば、一時的に後方予測を容易にするために、あるフレームが前になる場合がある。エンコーダ(340)の前に、エンコーダ・システム(300)は、符号化の前に選択されたフレーム(331)の前処理(例えば、フィルタリング)を実行するプリ・プロセッサ(図示せず)を含み得る。前処理は、符号化するためのプライマリ成分及びセカンダリ成分への色空間変換も含み得る。
エンコーダ(340)は、符号化フレーム(341)を生成するために、選択されたフレーム(331)を符号化するとともに、メモリ管理制御操作(「MMCO」)信号(342)又は参照ピクチャ・セット(「RPS」)情報を生成する。現フレームが、符号化された最初のフレームではない場合、符号化プロセスを実行するとき、エンコーダ(340)は、復号化フレーム一時メモリ記憶領域(360)に記憶された1以上の以前に符号化/復号化されたフレーム(369)を使用することができる。そのような記憶された復号化フレーム(369)は、現ソース・フレーム(331)のコンテンツのフレーム間予測のための参照フレームとして使用される。一般に、エンコーダ(340)は、動き推定及び動き補償、周波数変換、量子化、並びにエントロピ符号化等の符号化タスクを実行する複数の符号化モジュールを含む。エンコーダ(340)により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。出力される符号化データのフォーマットは、Windows(登録商標) Media Videoフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、又はMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、HEVCフォーマット、又は他のフォーマットであり得る。
例えば、エンコーダ(340)において、インタ符号化された予測フレームが、参照フレームからの予測の観点で表される。動き推定部が、1以上の参照フレーム(369)に関して、ソース・フレーム(341)のサンプルのブロック又は他のセットの動きを推定する。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部は、エントロピ符号化される動きベクトル情報等の動き情報を出力する。動き補償部は、動き補償予測値を決定するために、動きベクトルを参照フレームに適用する。エンコーダは、ブロックの動き補償予測値と対応するオリジナルの値との間の差(あれば)を決定する。このような予測残差値が、周波数変換、量子化、及びエントロピ符号化を用いて、さらに符号化される。この量子化が、クロマQPの値を使用し得る。例えば、エンコーダ(340)は、ピクチャ、スライス、及び/又はビデオの他の部分のためのルマQP及びクロマQPの値を設定し、それに従って変換係数を量子化する。同様に、イントラ予測では、エンコーダ(340)は、ブロックに関するイントラ予測値を決定し、予測残差値を決定し、(周波数変換、量子化、及びエントロピ符号化を用いて)予測残差値を符号化することができる。具体的には、エンコーダ(340)のエントロピ符号化部が、量子化された変換係数値に加えて、所定のサイド情報(例えば、動きベクトル情報、QP値、モード決定、パラメータ選択)も圧縮する。一般的なエントロピ符号化技術は、指数ゴロム符号化、算術符号化、差分符号化、ハフマン符号化、ラン・レングス符号化、「V2V(variable-length-to-variable-length)」符号化、「V2F(variable-length-to-fixed-length)」符号化、LZ符号化、辞書符号化、「PIPE(probability interval partitioning entropy coding)」符号化、及びこれらの組合せを含む。エントロピ符号化部は、様々な種類の情報のための様々な符号化技術を使用することができ、特定の符号化技術における複数の符号テーブルの中から選択することができる。
符号化フレーム(341)及びMMCO/RPS情報(342)が、復号化プロセス・エミュレータ(350)により処理される。復号化プロセス・エミュレータ(350)は、例えば、動き推定及び動き補償においてエンコーダ(340)により使用される参照フレームを再構築する復号化タスク等のデコーダの機能の一部を実装している。復号化プロセス・エミュレータ(350)は、所与の符号化フレーム(341)が、符号化される後続フレームのフレーム間予測において参照フレームとして使用するために再構築されて記憶される必要があるかどうかを判定するために、MMCO/RPS情報(342)を使用する。MMCO/RPS情報(342)により、符号化フレーム(341)が記憶される必要があると示される場合、復号化プロセス・エミュレータ(350)は、符号化フレーム(341)を受信して対応する復号化フレーム(351)を生成するデコーダにより行われるであろう復号化プロセスを模擬する。そうする場合、エンコーダ(340)が、復号化フレーム記憶領域(360)に記憶された1以上の復号化フレーム(369)を使用したとき、復号化プロセス・エミュレータ(350)は、復号化プロセスの一部として、記憶領域(360)から1以上の復号化フレーム(369)を使用する。
復号化フレーム一時メモリ記憶領域(360)は、複数のフレーム・バッファ記憶領域(361、362、...、36n)を含む。復号化プロセス・エミュレータ(350)は、参照フレームとして使用するためにエンコーダ(340)によりもはや必要とされなくなったフレームを有する任意のフレーム・バッファ(361、362等)を識別するために、MMCO/RPS情報(342)を使用して、記憶領域(360)のコンテンツを管理する。復号化プロセスを模擬した後、復号化プロセス・エミュレータ(350)は、このように識別されるフレーム・バッファ(361、362等)に、新たに復号化されたフレーム(351)を記憶する。
符号化フレーム(341)及びMMCO/RPS情報(342)はまた、一時符号化データ領域(370)にバッファされる。符号化データ領域(370)に収集される符号化データは、エレメンタリ符号化ビデオ・ビットストリームのシンタックスの一部として、ピクチャ・レベル・クロマQPオフセット及び/又はスライス・レベル・クロマQPオフセット等のクロマ用に設定されるQP値を示すシンタックス要素を含み得る。符号化データ領域(370)に収集される符号化データはまた、(例えば、1以上の「SEI(supplemental enhancement information)」メッセージ又は「VUI(video usability information)」メッセージにおける1以上のパラメータとして、)符号化ビデオ・データに関連するメディア・メタデータを含み得る。
一時符号化データ領域(370)からの収集されたデータ(371)は、チャネル・エンコーダ(380)により処理される。チャネル・エンコーダ(380)は、(例えば、ISO/IEC 14496−12等のメディア・コンテナ・フォーマットに従って)メディア・ストリームとして伝送するために、収集されたデータをパケット化することができる。そのような場合、チャネル・エンコーダ(380)は、メディア伝送ストリームのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、チャネル・エンコーダ(380)は、(例えば、ISO/IEC 14496−12等のメディア・コンテナ・フォーマットに従って)ファイルとして記憶するために、収集されたデータを編成することができる。そのような場合、チャネル・エンコーダ(380)は、メディア記憶ファイルのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、より一般的に、チャネル・エンコーダ(380)は、1以上のメディア・システム多重化プロトコル又は伝送プロトコルを実装することができる。そのような場合、チャネル・エンコーダ(380)は、1以上のプロトコルのシンタックスの一部として、シンタックス要素を付加することができる。チャネル・エンコーダ(380)は、チャネル(390)への出力を提供する。チャネル(390)は、ストレージ、通信コネクション、又は出力のための別のチャネルを表す。
IV.例示的なデコーダ・システム
図4は、いくつかの説明する実施形態を協働して実装することができる例示的なデコーダ・システム(400)のブロック図である。デコーダ・システム(400)は、リアルタイム通信のための低レイテンシ復号化モード及びファイル又はストリームからのメディア再生のための通常の復号化モード等の複数の復号化モードのうちいずれかで動作することができる汎用復号化ツールであってもよいし、そのような1つの符号化モードのために適合された専用復号化ツールであってもよい。デコーダ・システム(400)は、オペレーティング・システム・モジュールとして、アプリケーション・ライブラリの一部として、又はスタンドアロン・アプリケーションとして、実装することができる。概して、デコーダ・システム(400)は、チャネル(410)から符号化データを受信し、出力先(490)への出力として再構築フレームを生成する。符号化データは、ピクチャ・レベル・クロマQPオフセット及び/又はスライス・レベル・クロマQPオフセット等のクロマ用に設定されるQP値を示すシンタックス要素を含み得る。
デコーダ・システム(400)は、ストレージ、通信コネクション、又は入力としての符号化データのための別のチャネルを表し得るチャネル(410)を含む。チャネル(410)は、チャネル符号化された符号化データを生成する。チャネル・デコーダ(420)は、符号化データを処理することができる。例えば、チャネル・デコーダ(420)は、(例えば、ISO/IEC 14496−12等のメディア・コンテナ・フォーマットに従って)メディア・ストリームとして伝送するために収集されたデータを脱パケット化する。そのような場合、チャネル・デコーダ(420)は、メディア伝送ストリームのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、チャネル・デコーダ(420)は、(例えば、ISO/IEC 14496−12等のメディア・コンテナ・フォーマットに従って)ファイルとして記憶するために収集された符号化ビデオ・データを分離する。そのような場合、チャネル・デコーダ(420)は、メディア記憶ファイルのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、より一般的に、チャネル・デコーダ(420)は、1以上のメディア・システム逆多重化プロトコル又は伝送プロトコルを実装することができる。そのような場合、チャネル・デコーダ(420)は、1以上のプロトコルのシンタックスの一部として付加されたシンタックス要素を解析することができる。
十分な量のデータが受信されるまで、チャネル・デコーダ(420)から出力される符号化データ(421)は、一時符号化データ領域(430)に記憶される。符号化データ(421)は、符号化フレーム(431)及びMMCO/RPS情報(432)を含む。符号化データ領域(430)内の符号化データ(421)は、エレメンタリ符号化ビデオ・ビットストリームのシンタックスの一部として、ピクチャ・レベル・クロマQPオフセット及び/又はスライス・レベル・クロマQPオフセット等のクロマ用に設定されるQP値を示すシンタックス要素を含み得る。符号化データ領域(430)内の符号化データ(421)はまた、(例えば、1以上のSEIメッセージ又はVUIメッセージにおける1以上のパラメータとして、)符号化ビデオ・データに関連するメディア・メタデータを含み得る。一般に、そのような符号化データ(421)がデコーダ(450)により使用されるまで、符号化データ領域(430)は、符号化データ(421)を一時的に記憶する。その時点で、符号化フレーム(431)及びMMCO/RPS情報(432)の符号化データが、符号化データ領域(430)からデコーダ(450)に伝送される。復号化が進むにつれ、新たな符号化データが、符号化データ領域(430)に追加され、符号化データ領域(430)に残っている最も古い符号化データが、デコーダ(450)に伝送される。
デコーダ(450)は、対応する復号化フレーム(451)を生成するために、符号化フレーム(431)を定期的に復号化する。必要に応じて、復号化プロセスを実行するとき、デコーダ(450)は、フレーム間予測のための参照フレームとして、1以上の以前に復号化されたフレーム(469)を使用することができる。デコーダ(450)は、復号化フレーム一時メモリ記憶領域(460)から、そのような以前に復号化されたフレーム(469)を読み込む。一般に、デコーダ(450)は、エントロピ復号化、逆量子化(これがクロマQPの値を使用し得る)、逆周波数変換、及び動き補償等の復号化タスクを実行する複数の復号化モジュールを含む。デコーダ(450)により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。
例えば、デコーダ(450)は、圧縮フレーム又は一連のフレームの符号化データを受信し、復号化フレーム(451)を含む出力を生成する。デコーダ(450)において、バッファは、圧縮フレームの符号化データを受け入れ、受け入れた符号化データをエントロピ復号化部に利用可能にする。エントロピ復号化部は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化データに加えて、エントロピ符号化されたサイド情報もエントロピ復号化する。動き補償部は、再構築されているフレームのサブ・ブロック及び/又はブロック(一般に、ブロック)の動き補償予測を形成するために、動き情報を1以上の参照フレームに適用する。イントラ予測モジュールは、隣接する以前に再構築されたサンプル値から、現ブロックのサンプル値を空間的に予測する。デコーダ(450)はまた、予測残差を再構築する。逆量子化部は、クロマQPの値を用いて、エントロピ復号化されたデータを逆量子化する。例えば、デコーダ(450)は、ビットストリームにおけるシンタックス要素に基づいて、ピクチャ、スライス、及び/又はビデオの他の部分のためのルマQP及びクロマQPの値を設定し、それに従って変換係数を逆量子化する。逆周波数変換部は、量子化された周波数領域データを空間領域情報に変換する。予測フレームに関して、デコーダ(450)は、再構築フレームを形成するために、再構築された予測残差を動き補償予測と結合する。デコーダ(450)は、同様に、予測残差を、イントラ予測からの空間予測と結合することができる。ビデオ・デコーダ(450)における動き補償ループは、適応デブロッキング・フィルタを含み、適応デブロッキング・フィルタは、復号化フレーム(451)内のブロック境界ロー及び/又はカラムにわたる不連続さを平滑化する。
復号化フレーム一時メモリ記憶領域(460)は、複数のフレーム・バッファ記憶領域(461、462、...、46n)を含む。復号化フレーム記憶領域(460)はDPBの一例である。デコーダ(450)は、復号化フレーム(451)を記憶することができるフレーム・バッファ(461、462等)を識別するために、MMCO/RPS情報(432)を使用する。デコーダ(450)は、そのフレーム・バッファに復号化フレーム(451)を記憶する。
出力シーケンサ(480)は、出力順で生成される次のフレームが復号化フレーム記憶領域(460)内で利用可能になるときを識別するために、MMCO/RPS情報(432)を使用する。出力順で生成される次のフレーム(481)が、復号化フレーム記憶領域(460)内で利用可能になったとき、そのフレームが、出力シーケンサ(480)により読み込まれ、出力先(490)(例えば、ディスプレイ)に出力される。一般に、復号化フレーム記憶領域(460)から出力シーケンサ(480)によりフレームが出力される順番は、デコーダ(450)によりフレームが復号化される順番とは異なり得る。
V.例示的なビデオ・エンコーダ
図5は、いくつかの説明する実施形態を協働して実装することができる一般化されたビデオ・エンコーダ(500)のブロック図である。エンコーダ(500)は、現フレーム(505)を含む一連のビデオ・フレームを受信し、出力として符号化データ(595)を生成する。
エンコーダ(500)は、ブロックベースであり、実装に依存するブロック・フォーマットを使用する。ブロックは、例えば、周波数変換段階及びエントロピ符号化段階において等の様々な段階において、さらに分割され得る。例えば、フレームは、64x64ブロック、32x32ブロック、又は16x16ブロックに分割され得、今度は、それらのブロックが、符号化及び復号化のために、ピクセル値のより小さなブロック及びサブ・ブロックに分割され得る。
エンコーダ・システム(500)は、予測フレーム及びイントラ符号化されたフレームを圧縮する。プレゼンテーションの目的上、図5は、フレーム内符号化のためのエンコーダ(500)を介した「イントラ・パス」と、フレーム間符号化のための「インタ・パス」とを示している。エンコーダ(500)のコンポーネントの多くが、フレーム内符号化及びフレーム間符号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、圧縮される情報のタイプに応じて変わり得る。
現フレーム(505)が予測フレームである場合、動き推定部(510)は、1以上の参照フレームに関して、現フレーム(505)のピクセル値のブロック、サブ・ブロック、又は他のセットの動きを推定する。フレーム・ストア(520)は、参照フレームとして使用するために、1以上の再構築された以前のフレーム(525)をバッファする。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部(510)は、サイド情報として、差分動きベクトル情報等の動き情報(515)を出力する。
動き補償部(530)は、動き補償された現フレーム(535)を形成するとき、再構築された動きベクトルを、1以上の再構築された参照フレーム(525)に適用する。動き補償された現フレーム(535)のサブ・ブロック、ブロック等とオリジナルの現フレーム(505)の対応する部分との間の差(あれば)が、サブ・ブロック、ブロック等の予測残差(545)である。オリジナルの現フレーム(505)により近い再構築フレームを得るために、現フレームの後の再構築の間に、再構築された予測残差が、動き補償された現フレーム(535)に付加される。しかしながら、不可逆圧縮(lossy compression)では、それでも、いくつかの情報が、オリジナルの現フレーム(505)から失われる。イントラ・パスは、イントラ予測モジュール(図示せず)を含み得る。イントラ予測モジュールは、隣接する以前に再構築されたピクセル値から、現ブロック又はサブ・ブロックのピクセル値を空間的に予測する。
周波数変換部(560)は、空間領域ビデオ情報を周波数領域(すなわち、スペクトル変換)データに変換する。ブロックベースのビデオ・フレームに関して、周波数変換部(560)は、離散コサイン変換とその整数近似、又は別のタイプの前方ブロック変換をピクセル値データ又は予測残差データのブロック又はサブ・ブロックに適用して、周波数変換係数のブロック/サブ・ブロックを生成する。次いで、量子化部(570)は、変換係数を量子化する。例えば、量子化部(570)は、フレームごとに、スライスごとに、ブロックごとに、又は他の単位で変わるステップ・サイズで、一様でないスカラ量子化を周波数領域データに適用する。量子化部(570)は、セクションVIIで説明するように、クロマQP値を含む、ルマ成分及びクロマ成分のQP値を使用することができる。例えば、エンコーダ(500)は、ピクチャ、スライス、及び/又はcoding unit等のビデオの他の部分のためのルマQP及びクロマQPの値を設定し、それに従って変換係数を量子化する。
後続の動き推定/動き補償のために現フレームの再構築されたバージョンが必要とされる場合、逆量子化部(576)が、量子化された周波数係数データに対して逆量子化を実行する。逆量子化部(576)も、クロマQP値を使用し得る。逆周波数変換部(566)は、逆周波数変換を実行し、再構築された予測残差又はピクセル値のブロック/サブ・ブロックを生成する。予測フレームに関して、エンコーダ(500)は、再構築フレーム(505)を形成するために、再構築された予測残差(545)を動き補償された予測(535)と結合する。(図5には示されていないが、イントラ・パスにおいては、エンコーダ(500)は、予測残差を、イントラ予測からの空間予測と結合することができる。)フレーム・ストア(520)は、後続の動き補償予測において使用するために、再構築された現フレームをバッファする。
量子化及び他の不可逆処理は、フレームのブロック間又はサブ・ブロック間の境界における目に見えるラインをもたらし得る。例えば、(空領域等の)ピクチャの滑らかに変化する領域における隣接ブロックが、異なる平均レベルに量子化される場合、そのような「ブロッキング・アーチファクト」が生じ得る。ブロッキング・アーチファクトを低減させるために、エンコーダ及びデコーダは、参照フレーム内のブロック間及び/又はサブ・ブロック間の境界の不連続さを平滑化する「デブロック」フィルタリングを使用することができる。そのようなフィルタリングは、動き補償ループ内で生じるという点で、「ループ内」である。エンコーダ及びデコーダは、符号化/復号化において後で使用される参照フレームに対して、そのようなフィルタリングを実行する。ループ内デブロック・フィルタリングは、通常、符号化中可能であり、そのような場合、デコーダも、正しい復号化のために、ループ内デブロック・フィルタリングを実行する。デブロック・フィルタリングの詳細は、コーデック規格又はフォーマットに応じて変わるものであり、極めて複雑であり得る。しばしば、デブロック・フィルタリングを適用するルールは、コンテンツ/滑らかさ、符号化モード(例えば、イントラ又はインタ)、境界の異なるサイド上のブロック/サブ・ブロックの動きベクトル、ブロック/サブ・ブロックのサイズ、符号化されている/符号化されていないステータス(例えば、変換係数情報がビットストリームにおいて伝達されるかどうか)等のファクタに応じて変わり得る。
図5において、エンコーダ(500)における動き補償ループは、フレーム・ストア(520)の前又は後に、適応ループ内デブロック・フィルタ(510)を含む。エンコーダ(500)は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、ループ内フィルタリングを再構築フレームに適用する。セクションVIIにおいて、デブロック・フィルタリングがクロマQPオフセットの値に応じて変化する例を説明する。
エントロピ符号化部(580)は、量子化部(570)の出力に加えて、動き情報(515)及び所定のサイド情報(例えば、QP値)も圧縮する。エントロピ符号化部(580)は、符号化データ(595)をバッファ(590)に供給し、バッファ(590)は、符号化データを出力ビットストリームに多重化する。符号化データは、ピクチャ・レベル・クロマQPオフセット及び/又はスライス・レベル・クロマQPオフセット等のクロマ用に設定されるQP値を示すシンタックス要素を含み得る。セクションVIIにおいて、そのようなシンタックス要素の例を説明する。
コントローラ(図示せず)は、エンコーダの様々なモジュールから入力を受信する。コントローラは、符号化中、中間結果を評価し、例えば、QP値を設定して、レート−歪み解析を実行する。コントローラは、他のモジュールと協働して、符号化中、符号化パラメータを設定し変更する。具体的には、コントローラは、符号化中、ルマ成分及びクロマ成分の量子化を制御するために、QP値及び他の制御パラメータを変更することができる。
いくつかの実施例において、コントローラは、ピクチャ・レベルで、スライス・レベルで、又はスライス内のcoding unitレベルで量子化を制御するために、符号化中、ピクチャ・レベル・ルマQP値、スライス・レベル・ルマQP値、又はcoding unitレベル・ルマQP値を設定することができる。所与のスライスに関して、ルマQP値は、ピクチャ・レベル・ルマQP又はスライス・レベル・ルマQPに設定され得る。スライス・レベル・ルマQPは、ビットストリームにおいて、ピクチャ・レベル・ルマQP+スライス・レベル・ルマQPオフセットで表される。あるいは、コントローラは、スライス内の所与のcoding unitに関して、ルマQP値を設定してもよい。この場合、coding unitレベル・ルマQP値を示すために、スライス・レベル・ルマQPオフセット及びピクチャ・レベル・ルマQP値とともに、coding unitレベル・ルマQPオフセットが、ビットストリームにおいて伝達される。したがって、ピクチャ内の異なるスライスは、指定された異なるルマQP値を有してよく、スライス内の異なるcoding unitは、指定された異なるルマQP値を有してよい。コントローラはまた、ピクチャ・レベル・クロマQP値又はスライス・レベル・クロマQP値を設定することができる。スライス・レベル・クロマQP値は、ビットストリームにおいて、1以上のクロマQPオフセットで示される。クロマQPオフセットは、クロマQP値を直接的に指定するのではなく、クロマQP値を決定するために、(セクションVIIで説明する)導出プロセスにおいて使用される。コントローラはまた、ルマ成分及び/又はクロマ成分の係数のための周波数固有のスケーリング・ファクタを設定するための量子化スケーリング・マトリックスを指定することができる。
QP値は、ルマ変換係数及びクロマ変換係数の量子化の粗さを制御する。例えば、QP値は、定められた関係に従って、量子化ステップ・サイズ(「QSS」)としても知られているスケーリング・ファクタを制御することができる。例えば、QP値は、ビットストリームにおいて、QP−26として伝達され、QSSは、S*2(QP/6)であるか、又はおおよそS*2(QP/6)である。ここで、Sは、固定値定数等のスケーリング・ファクタ、変換固有のスケーリング・ファクタ、又は周波数固有のスケーリング・ファクタである。いくつかの実施例において、整数ベースのフォーミュラ(formula)は、S*2(QP/6)に近いQSSを示す。この関係において、QPの高い値は、高い(すなわち、粗い)QSSを表し、QPの低い値は、低い(すなわち、細かい)QSSを表す。代替的に、QPは、QSSと逆相関であってもよい。例えば、QP値は、ビットストリームにおいて、25−QPとして伝達され、QSSは、S*2((51−QP)/6)であるか、又はおおよそS*2((51−QP)/6)である。この例において、同じQSS値が実際上伝達され得るが、QPの高い値は低いQSSを表し、QPの低い値は高いQSSを表す。より一般的に、本明細書で説明するイノベーションは、QPとQSSとの間の様々な関係に適用することができる。QPとQSSとの間の関係は、上述した関係に加えて、QPが、H.263規格においてQUANTと呼ばれるパラメータ等のパラメータである関係や、QPが、H.262規格においてquantiser_scaleと呼ばれるパラメータ等のパラメータである関係も含む。
一般に、コントローラは、ピクチャ、スライス、又はビデオの他の部分に対してルマQP及びクロマQPを設定することができ、次いで、品質及び/又はビット・レートの観点でコンテンツの符号化の結果(例えば、変換係数を量子化し、且つ/又は量子化した変換係数をエントロピ符号化した結果)を評価することができる。結果が満足のいくものであれば、コントローラは、設定されたルマQP及びクロマQPを選択することができる。結果が満足のいくものでなければ、コントローラは、ルマQP及び/又はクロマQPを調整することができる。例えば、符号化されたクロマ・コンテンツの品質が、符号化されたルマ・コンテンツの品質と比べて高過ぎる場合、コントローラは、レート及び/又は品質の全般的な目標を考慮に入れながら、ルマ成分とクロマ成分との間の品質のバランスを取るために、クロマQSSを増大させ、且つ/又はルマQSSを低減させるようQPを調整することができる。あるいは、符号化されたクロマ・コンテンツの品質が、符号化されたルマ・コンテンツの品質と比べて低過ぎる場合、コントローラは、レート及び/又は品質の全般的な目標を考慮に入れながら、ルマ成分とクロマ成分との間の品質のバランスを取るために、クロマQSSを低減させ、且つ/又はルマQSSを増大させるようQPを調整することができる。ルマQP及びクロマQPの設定及び調整は、ピクチャごとに、スライスごとに、又は何らかの他の単位で繰り返すことができる。
実装及び所望の圧縮のタイプに応じて、エンコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ/又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するエンコーダは、説明した技術のうちの1以上を実行する。エンコーダの特定の実施形態は、通常、エンコーダ(500)の変形又は補完バージョンを使用する。エンコーダ(500)内のモジュール間の示された関係は、エンコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
VI.例示的なビデオ・デコーダ
図6は、いくつかの説明する実施形態を協働して実装することができる一般化されたデコーダ(600)のブロック図である。デコーダ(600)は、圧縮フレーム又は一連のフレームの符号化データ(695)を受信し、再構築フレーム(605)を含む出力を生成する。プレゼンテーションの目的上、図6は、フレーム内復号化のためのデコーダ(600)を介した「イントラ・パス」と、フレーム間復号化のための「インタ・パス」とを示している。デコーダ(600)のコンポーネントの多くが、フレーム内復号化及びフレーム間復号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、伸張される情報のタイプに応じて変わり得る。
バッファ(690)は、圧縮フレームの符号化データ(695)を受け入れ、受け入れた符号化データを解析部/エントロピ復号化部(680)に利用可能にする。符号化データは、ピクチャ・レベル・クロマQPオフセット及び/又はスライス・レベル・クロマQPオフセット等のクロマ用に設定されるQP値を示すシンタックス要素を含み得る。セクションVIIにおいて、そのようなシンタックス要素の例を説明する。解析部/エントロピ復号化部(680)は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化データに加えて、エントロピ符号化されたサイド情報もエントロピ復号化する。
動き補償部(630)は、再構築されているフレーム(605)のサブ・ブロック及び/又はブロックの動き補償予測(635)を形成するために、動き情報(615)を1以上の参照フレーム(625)に適用する。フレーム・ストア(620)は、参照フレームとして使用するために、1以上の以前に再構築されたフレームを記憶する。
イントラ・パスは、イントラ予測モジュール(図示せず)を含み得る。イントラ予測モジュールは、隣接する以前に再構築されたピクセル値から、現ブロック又はサブ・ブロックのピクセル値を空間的に予測する。インタ・パスにおいて、デコーダ(600)は、予測残差を再構築する。逆量子化部(670)は、クロマQPの値を用いて、エントロピ復号化されたデータを逆量子化する。例えば、デコーダ(600)は、ビットストリームにおけるシンタックス要素に基づいて、ピクチャ、スライス、及び/又はcoding unit等のビデオの他の部分のためのルマQP及びクロマQPの値を設定し、逆量子化部(670)は、それに従って変換係数を逆量子化する。
いくつかの実施例において、デコーダは、ピクチャ・レベル・ルマQP値、スライス・レベル・ルマQPオフセット(存在すれば)、及びcoding unitレベル・ルマQPオフセット(存在すれば)を含む、ビットストリームにおけるシンタックス要素により示されるように、復号化中、ピクチャ・レベル・ルマQP値、スライス・レベル・ルマQP値、又はcoding unitレベル・ルマQP値を設定することができる。ピクチャ内の異なるスライスは、指定された異なるルマQP値を有してよく、スライス内の異なるcoding unitは、指定された異なるルマQP値を有してよい。デコーダはまた、ピクチャ・レベル・クロマQP値又はスライス・レベル・クロマQP値を設定する。スライス・レベル・クロマQP値は、ビットストリームにおいて、1以上のクロマQPオフセットで示される。デコーダはまた、ルマ成分及び/又はクロマ成分の係数のための周波数固有のスケーリング・ファクタを設定するための量子化スケーリング・マトリックスを使用することができる。QP値は、上述したように、定められた関係に従った量子化ステップ・サイズ(「QSS」)を表す。
逆周波数変換部(660)は、再構築された周波数領域データを空間領域情報に変換する。例えば、逆周波数変換部(660)は、逆ブロック変換を周波数変換係数に適用して、ピクセル値データ又は予測残差データを生成する。逆周波数変換は、逆離散コサイン変換とその整数近似、又は別のタイプの逆周波数変換であり得る。
予測フレームに関して、デコーダ(600)は、再構築フレーム(605)を形成するために、再構築された予測残差(645)を動き補償予測(635)と結合する。(図6には示されていないが、イントラ・パスにおいては、デコーダ(600)は、予測残差を、イントラ予測からの空間予測と結合することができる。)デコーダ(600)における動き補償ループは、フレーム・ストア(620)の前又は後に、適応ループ内デブロック・フィルタ(610)を含む。デコーダ(600)は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、ループ内フィルタリングを再構築フレームに適用する。復号化中のデブロック・フィルタリングの詳細(例えば、コンテンツ/滑らかさ、符号化モード、境界の異なるサイド上のブロック/サブ・ブロックの動きベクトル、ブロック/サブ・ブロックのサイズ、符号化されている/符号化されていないステータス等のファクタに依存するルール)は、通常、符号化中のデブロック・フィルタリングの詳細に似ている。
図6において、デコーダ(600)はまた、後処理デブロック・フィルタ(608)を含む。後処理デブロック・フィルタ(608)は、任意的に、再構築フレーム内の不連続さを平滑化する。(デリング・フィルタリング等の)他のフィルタリングも、後処理フィルタリングの一部として適用することができる。
実装及び所望の伸張のタイプに応じて、デコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ/又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するデコーダは、説明した技術のうちの1以上を実行する。デコーダの特定の実施形態は、通常、デコーダ(600)の変形又は補完バージョンを使用する。デコーダ(600)内のモジュール間の示された関係は、デコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
VII.拡張範囲クロマQP値の制御及び使用
このセクションは、クロマQP値を制御し使用するための様々なイノベーションを提供する。
JCTVC−I1003におけるHEVC設計では、クロマのQPは、8のビット深度に対して[0,39]の範囲に制限される。一方、ルマのQPは、8のビット深度に対して[0,51]の範囲を変わり得る。より高いビット深度に対して、ルマ及びクロマ両方の範囲は、適切に増大される。この設計によれば、クロマのために使用されるQP値は、ルマのために使用されるQP値と比較して、かなり小さな値に飽和する。すなわち、クロマのために使用される最高のQP値(及び最高のQSS)は、ルマのために使用される最高のQP値(及び最高のQSS)よりもかなり小さい。ルマ成分と比較してクロマ成分の符号化に対して過度の(不十分な、不当な)量のビットが割り当てられたとき、この制限が、低ビット・レート・アプリケーションにおけるレート制御の問題を引き起こし得る。また、この設計は、多様な色フォーマットにはあまり適していない。
具体的には、JCTVC−I1003におけるHEVC設計に従うと、クロマ成分Cb及びCrのために使用されるQP(すなわち、QPCb及びQPCr)は、ルマ成分のために使用されるQP(QP)から、以下のように導出される。QPCb及びQPCrの値は、中間QPインデックスqPのためのルックアップに基づいて表1で規定されるQPの値と等しい。表1は、qPの関数としてのQPを規定している。
Figure 0006270833
中間QPインデックスqPは、(Cbクロマ成分に関する)qPICb、又は(Crクロマ成分に関する)qPICrであり得る。これらは以下のように導出される。
Figure 0006270833
ここで、Clip3は、次のように定義される関数である。Clip3(x,y,z)は、z<xの場合xであり、z>yの場合yであり、他の場合zである。値cb_qp_offset及び値cr_qp_offsetは、ピクチャ・パラメータ・セット(「PPS」)において伝達され得るピクチャ・レベル・クロマQPオフセット値である。QPはルマのQP値である。QpBdOffsetは、クロマ・ビット深度に依存するクロマQP範囲オフセットである(ビット深度が高いほど増大する)。QpBdOffsetの値の例は、0、6、12、18、24、及び36である。ここで、QpBdOffset=6*bit_depth_chroma_minus8であり、bit_depth_chroma_minus8は、1サンプル当たり8〜14ビットのビット深度に対して、0〜6の範囲(0と6を含む)である。
JCTVC−I1003におけるHEVC設計では、ビット深度に基づいて、ルマ及びクロマのQPに対してさらなる調整がなされ得る。このタイプの調整は、以下で説明するイノベーションの一態様である。すなわち、ビット深度に対するそのような調整は、以下で説明するイノベーションのためになされ得る。明瞭さの目的のため、JCTVC−I1003におけるHEVC設計でのこの調整を表す式は以下のとおりである。
QP’=QP+QpBdOffset
QP’Cb=QPCb+QpBdOffset
QP’Cr=QPCr+QpBdOffset
したがって、クロマQP値(例えば、QP’Cb又はQP’Cr)を導出する全体的プロセスは、(1)ルマQP値(QP)及びピクチャ・レベル・クロマQPオフセット(例えば、cb_qp_offset又はcr_qp_offset)から中間QPインデックスqP(例えば、qPICb又はqPICr)を決定し、(2)テーブル・ルックアップ・オペレーションを介して、値QP(例えば、QPCb又はQPCr)を決定し、(3)QpBdOffsetだけQPの値を調整することである。
A.クロマのQPを表現する新たな手法
本明細書で説明する様々なイノベーションが、ルマのQP範囲に対応するようにクロマのQP範囲を拡張する。
図7は、符号化中にクロマQPオフセットを決定するための一般化された技術(700)を示している。図5を参照して上述したビデオ・エンコーダ等のビデオ・エンコーダ、又は他のイメージ・エンコーダ若しくはビデオ・エンコーダが、技術(700)を実行する。
エンコーダは、QPの値がプライマリ成分と1以上のセカンダリ成分との間の関係に従って変化するイメージ・コンテンツ又はビデオ・コンテンツを符号化する。符号化の一部として、エンコーダは、プライマリ成分QP及びセカンダリ成分QPオフセットからQPインデックスを決定する(710)。例えば、プライマリ成分はルマ成分であり、1以上のセカンダリ成分は1以上のクロマ成分である。代替的に、プライマリ成分及び1以上のセカンダリ成分は、他のタイプの色成分(例えば、RGB)であってもよい。
クロマQPオフセットは、ピクチャ・レベル・クロマQPオフセット及びスライス・レベル・クロマQPオフセットを包含し得る。エンコーダは、qP=Clip3(a,b,QP+qp_offset+slice_qp_delta)に従って、(変数qPとしての)QPインデックスを決定することができる。ここで、QPはルマQPを表し、qp_offsetはピクチャ・レベル・クロマQPオフセットを表し、slice_qp_deltaはスライス・レベル・クロマQPオフセットを表し、Clip3(a,b,c)は、cの値をa〜bの範囲にクリップする関数を表す。例えば、Clip3(−QpBdOffset,57,QP+qp_offset+slice_qp_delta)という関数において、QP+qp_offset+slice_qp_deltaの値は、−QpBdOffset...57の範囲(両端の値を含む)に制限される。代替的に、エンコーダは、例えば、以下で説明する新たな手法のうちの1つにおける別の式等の異なる式に従ってQPインデックスを決定してもよい。
いくつかの実施例において、エンコーダは、ピクチャ・レベル・クロマQPオフセット、スライス・レベル・クロマQPオフセット、及びピクチャ・レベル・クロマQPオフセットとスライス・レベル・クロマQPオフセットとの和の値を、定められた範囲(例えば、−12〜12)に制約する。代替的に、クロマQPオフセットの値が、別の範囲(例えば、−6〜6)に制約されてもよいし、制約されなくてもよい。
エンコーダは、QPインデックスをセカンダリ成分QPにマッピングする(720)。セカンダリ成分QP値の範囲は、セカンダリ成分QPにより示されるQSSの範囲の上限がプライマリ成分QPにより示されるQSSの範囲の上限に実質的に合致するように、所定の従来手法に対して拡張される。セカンダリ成分QPにより示されるQSSの範囲の上限が、プライマリ成分QPにより示されるQSSの範囲の上限に正確に合致してもよい。あるいは、セカンダリ成分QPにより示されるQSSの範囲の上限が、プライマリ成分QPにより示されるQSSの範囲の上限と、最大で2倍だけ異なってもよい(例えば、スケーリング・ファクタSに対して、おおまかにQSS=S*2(QP/6)等のように、QSSが、おおまかに対数の形でQPと関連する場合、プライマリ成分QPが51であるQSSの上限及びセカンダリ成分QPが45であるQSSの上限に関して、又は、セカンダリ成分QPが51であるQSSの上限及びプライマリ成分QPが45であるQSSの上限に関して、QSSの値は、およそS*28.5対S*27.5である)。
このマッピングは、QPインデックスの様々な値を対応するセカンダリ成分QPの値にマッピングするテーブルに従い得る。例えば、テーブルは以下である。
Figure 0006270833
ここで、qPはQPインデックスを表し、QPはクロマQPの値(又は、他のセカンダリ成分QPの値)を表す。
あるいは、マッピングは、QPインデックスの値がセカンダリ成分QPの値にマッピングされる関数を使用してもよい。例えば、そのような関数に従うと、QPインデックスの値の第1の範囲は、対応するセカンダリ成分QPの値に対する線形マッピングを有し、QPインデックスの値の第2の範囲は、対応するセカンダリ成分QPの値に対する非線形マッピングを有し、QPインデックスの値の第3の範囲は、対応するセカンダリ成分QPの値に対する線形マッピングを有する。
あるいは、マッピングは、QPインデックスの様々な値を対応するセカンダリ成分QPの値にマッピングするロジックに従ってもよい。いくつかの例において、そのようなロジックは、QPインデックスの様々な値と対応するセカンダリ成分QPの値との間の区分的線形関係を実装する。例えば、ロジックは以下である。
Figure 0006270833
ここで、qPはQPインデックスを表し、QPはクロマQPの値(又は、他のセカンダリ成分QPの値)を表し、「>>1」は、2つの補数算術における1ビット位置の整数算術右シフトを表す。
テーブル及びマッピングの例は以下で説明する。
プライマリ成分QP及びセカンダリ成分QPを用いて、エンコーダは、変換係数の量子化等のオペレーションを実行することができる。例えば、エンコーダは、ピクチャのスライスの1以上の部分の変換係数を量子化することができ、次いで、他のスライス又はピクチャの量子化のために、プライマリ成分QP及び/又はセカンダリ成分QPを調整することができる。
エンコーダは、符号化コンテンツを含むビットストリームの少なくとも一部分を出力する(730)。ビットストリームは、スライス・ヘッダ内にスライス・レベル・クロマQPオフセットが存在するか又は存在しないかを示すフラグを、(例えば、PPS内又は別の場所に)含み得る。
いくつかの実施例において、高いQSS(すなわち、粗い量子化)に関連付けられたQPインデックスの値の範囲に関して、プライマリ成分QPとセカンダリ成分QPとの間の関係は、以下の特徴のうちの1以上により特徴付けられる。
ある一定値のセカンダリ成分QPオフセットについては、セカンダリ成分QPは、プライマリ成分QPと同一である;
・QSSの値は、セカンダリ成分QPにより表されるQSSに対するプライマリ成分QPにより表されるQSSの比率で変化する。ただし、セカンダリ成分QPオフセットが0であるデフォルト値に対して、その比率は最大で2である;
・セカンダリ成分QPの変化に対するプライマリ成分QPの変化の比率が1であるように、プライマリ成分QPの値における変化は、セカンダリ成分QPの値における同一サイズの変化を生じさせる;
・特定の値である(例えば、6である)セカンダリ成分QPオフセットの値については、セカンダリ成分QPは、プライマリ成分QPと同一である。
図8は、復号化中にクロマQPオフセットを決定するための一般化された技術(800)を示している。図6を参照して上述したビデオ・デコーダ等のビデオ・デコーダ、又は他のイメージ・デコーダ若しくはビデオ・デコーダが、技術(800)を実行する。
デコーダは、QPの値がプライマリ成分と1以上のセカンダリ成分との間の関係に従って変化する符号化されたイメージ・コンテンツ又はビデオ・コンテンツを含むビットストリームの少なくとも一部分を受信する(810)。
デコーダは、符号化コンテンツの少なくとも一部分を復号化する。復号化の一部として、デコーダは、プライマリ成分QP及びセカンダリ成分QPオフセットからQPインデックスを決定する(820)。例えば、プライマリ成分はルマ成分であり、1以上のセカンダリ成分は1以上のクロマ成分である。代替的に、プライマリ成分及び1以上のセカンダリ成分は、他のタイプの色成分(例えば、RGB)であってもよい。
クロマQPオフセットは、ピクチャ・レベル・クロマQPオフセット及びスライス・レベル・クロマQPオフセットを包含し得る。デコーダは、qP=Clip3(a,b,QP+qp_offset+slice_qp_delta)に従って、(変数qPとしての)QPインデックスを決定することができる。ここで、QPはルマQPを表し、qp_offsetはピクチャ・レベル・クロマQPオフセットを表し、slice_qp_deltaはスライス・レベル・クロマQPオフセットを表し、Clip3(a,b,c)は、cの値をa〜bの範囲にクリップする関数を表す。例えば、Clip3(−QpBdOffset,57,QP+qp_offset+slice_qp_delta)という関数において、QP+qp_offset+slice_qp_deltaの値は、−QpBdOffset...57の範囲(両端の値を含む)に制限される。代替的に、デコーダは、例えば、以下で説明する新たな手法のうちの1つにおける別の式等の異なる式に従ってQPインデックスを決定してもよい。
デコーダは、QPインデックスをセカンダリ成分QPにマッピングする(830)。セカンダリ成分QP値の範囲は、セカンダリ成分QPにより示されるQSSの範囲の上限がプライマリ成分QPにより示されるQSSの範囲の上限に実質的に合致するように、所定の従来手法に対して拡張される。セカンダリ成分QPにより示されるQSSの範囲の上限が、プライマリ成分QPにより示されるQSSの範囲の上限に正確に合致してもよい。あるいは、セカンダリ成分QPにより示されるQSSの範囲の上限が、プライマリ成分QPにより示されるQSSの範囲の上限と、最大で2倍だけ異なってもよい(例えば、スケーリング・ファクタSに対して、おおまかにQSS=S*2(QP/6)等のように、QSSが、おおまかに対数の形でQPと関連する場合、プライマリ成分QPが51であるQSSの上限及びセカンダリ成分QPが45であるQSSの上限に関して、又は、セカンダリ成分QPが51であるQSSの上限及びプライマリ成分QPが45であるQSSの上限に関して、QSSの値は、およそS*28.5対S*27.5である)。
このマッピングは、QPインデックスの様々な値を対応するセカンダリ成分QPの値にマッピングするテーブルに従い得る。例えば、テーブルは以下である。
Figure 0006270833
ここで、qPはQPインデックスを表し、QPはクロマQPの値(又は、他
のセカンダリ成分QPの値)を表す。
あるいは、マッピングは、QPインデックスの値がセカンダリ成分QPの値にマッピングされる関数を使用してもよい。例えば、そのような関数に従うと、QPインデックスの値の第1の範囲は、対応するセカンダリ成分QPの値に対する線形マッピングを有し、QPインデックスの値の第2の範囲は、対応するセカンダリ成分QPの値に対する非線形マッピングを有し、QPインデックスの値の第3の範囲は、対応するセカンダリ成分QPの値に対する線形マッピングを有する。
あるいは、マッピングは、QPインデックスの様々な値を対応するセカンダリ成分QPの値にマッピングするロジックに従ってもよい。いくつかの例において、そのようなロジックは、QPインデックスの様々な値と対応するセカンダリ成分QPの値との間の区分的線形関係を実装する。例えば、ロジックは以下である。
Figure 0006270833
ここで、qPはQPインデックスを表し、QPはクロマQPの値(又は、他のセカンダリ成分QPの値)を表す。
テーブル及びマッピングの例は以下で説明する。
プライマリ成分QP及びセカンダリ成分QPを用いて、デコーダは、変換係数の逆量子化等のオペレーションを実行することができる。例えば、デコーダは、ピクチャのスライスの1以上の部分の変換係数を逆量子化することができ、次いで、他のスライス又はピクチャの逆量子化のために、プライマリ成分QP及び/又はセカンダリ成分QPを調整することができる。
本明細書で説明するいくつかのイノベーションは、JCTVC−I1003におけるHEVC設計と比較して、QPからQPCb及びQPCrを導出するプロセスを修正する。以下の新たな手法では、クロマQP値(例えば、QP’Cb又はQP’Cr)を導出する全体的プロセスは次のとおりである。まず、中間QPインデックスqP(例えば、qPICb又はqPICr)が、ルマQP値(QP)及びクロマQPオフセットから決定される。クロマQPオフセットは、ピクチャ・レベル・クロマQPオフセットを含む。いくつかの新たな手法において、クロマQPオフセットはまた、スライス・レベル・クロマQPオフセットを含み得る。次いで、値QP(例えば、QPCb又はQPCr)が、テーブル・ルックアップ・オペレーション又は他のマッピング・オペレーションを介して決定される。次いで、QPの値が、QpBdOffsetだけ調整される。
QP’Cb=QPCb+QpBdOffset又は
QP’Cr=QPCr+QpBdOffset
QpBdOffsetが0である場合、最後の段階は省略され得る。再度、QpBdOffsetの値の例は、0、6、12、18、24、及び36である。
1.新たな手法1
新たな手法1では、QPCb及びQPCrの値は、インデックスqPの値に依存する、表2で規定されるQPの値に等しい。
Figure 0006270833
表1と比較すると、表2は、インデックスqPに関して、51から71に拡張されている。また、表1と比較すると、クロマQP値QPは、43を超えるインデックスqPの値に関して、異なっている。インデックスqP(qPICb又はqPICr)は以下のように導出される。これらの式において、上限は、51ではなく、71である。
Figure 0006270833
QPとqPとの間の関係は、インデックスqPの全ての値に関して、テーブルとして規定することができる。代替的に、5エントリのみ含むテーブルが必要とされ、残りの部分は、以下のように表されるロジックを用いて実装され得る。
Figure 0006270833
2.新たな手法2
新たな手法2では、QPCb及びQPCrの値は、インデックスqPの値に依存する、表3で規定されるQPの値に等しい。
Figure 0006270833
表1と比較すると、クロマQP値QPは、43を超えるインデックスqPの値に関して、異なっている。インデックスqP(qPICb又はqPICr)は以下のように導出される。これらの式において、上限は、51ではなく、57であり、これは、qP=57まで表3を効果的に拡張する。
Figure 0006270833
QPとqPとの間の関係は、インデックスqPの全ての値に関して、テーブルとして規定することができる。代替的に、5エントリのみ含むテーブルが必要とされ、残りの部分は、以下のように表されるロジックを用いて実装され得る。
Figure 0006270833
3.新たな手法3
新たな手法3では、QPCb及びQPCrの値は、インデックスqPの値に依存する、表4で規定されるQPの値に等しい。
Figure 0006270833
表1と比較すると、表4は、インデックスqPに関して、51から71に拡張されている。また、表1と比較すると、クロマQP値QPは、インデックスqPが34のときと、43を超えるインデックスqPの値とに関して、異なっている。インデックスqP(qPICb又はqPICr)は以下のように導出される。これらの式において、上限は、51ではなく、71である。
Figure 0006270833
QPとqPとの間の関係は、インデックスqPの全ての値に関して、テーブルとして規定することができる。代替的に、関係は、区分的線形関数として規定されてもよく、以下のように表されるロジックを用いて実装され得る。
Figure 0006270833
4.新たな手法4
新たな手法4では、QPCb及びQPCrの値は、インデックスqPの値に依存する、表5で規定されるQPの値に等しい。
Figure 0006270833
表1と比較すると、クロマQP値QPは、インデックスqPが34のときと、43を超えるインデックスqPの値とに関して、異なっている。インデックスqP(qPICb又はqPICr)は以下のように導出される。これらの式において、上限は、51ではなく、57であり、これは、qP=57まで表5を効果的に拡張する。
Figure 0006270833
QPとqPとの間の関係は、インデックスqPの全ての値に関して、テーブルとして規定することができる。代替的に、関係は、区分的線形関数として規定されてもよく、以下のように表されるロジックを用いて実装され得る。
Figure 0006270833
5.新たな手法5
新たな手法5は、新たな手法3を、スライス・レベル・クロマQPオフセットの使用と組み合わせる。スライス・レベル・クロマQPオフセットの使用は、シーケンス・パラメータ・セット(「SPS」)、PPS、又は他のより高いレベルのシンタックス構造において伝達されるフラグを用いて、有効/無効にされ得る。新たな手法5は、インデックスqPの値が以下のように導出される点を除いて、新たな手法3と同一である。
Figure 0006270833
変数slice_qp_delta_cb及び変数slice_qp_delta_crは、それぞれ、スライス・ヘッダにおいて伝達され得るCb成分及びCr成分のスライス・レベル・クロマQPオフセット値である。
6.新たな手法6
同様に、新たな手法6は、新たな手法4を、スライス・レベル・クロマQPオフセットの使用と組み合わせる。スライス・レベル・クロマQPオフセットの使用は、SPS、PPS、又は他のより高いレベルのシンタックス構造において伝達されるフラグを用いて、有効/無効にされ得る。新たな手法6は、インデックスqPの値が以下のように導出される点を除いて、新たな手法4と同一である。
Figure 0006270833
7.新たな手法の利点
このセクションにおける新たな手法のそれぞれについて、qPの関数としてのQPを決定するためのテーブルが、(QPとQSSとの間の関係の例に従って、クロマに関するQSSのより高い値を示す)クロマQPのより高い値に到達するのを可能にするよう、効果的に拡張されている。具体的には、クロマに関するQPの最大可能値が、(JCTVC−I1003における)39ではなく、51であるように、テーブルが効果的に拡張されている。高QPシナリオにおいて、これにより、クロマ成分のより積極的な(すなわち、粗い)量子化が可能となり、これが、クロマ成分のビット・レートを低減させる。節約されたビットは、その代わりに、全体的品質を向上させるために、ルマ成分のために使用され得る。また、新たな手法のそれぞれについて、テーブルは、上述した単純な式/ロジックを用いて実装することができる。
新たな手法2、4、及び6は、以下のさらなる利点を有する。
第1に、ルマのQP値及び対応するクロマのQP値により表される量子化ステップ・サイズ間の差が、特に拡張テーブルの高い端におけるQP値に関して、極端になり過ぎるのが防止される。通常、量子化ステップ・サイズ(「QSS」)は、定められた式に従ってQP値に依存する(例えば、おおまかに対数関係で;いくつかの実施例においては、QSSが指数関係においてQPと正比例するように、おおよそQSS=2(QP/6)である)。クロマQPオフセットのデフォルト値が使用される場合(すなわち、オフセットが0に設定される場合)、クロマのQSSに対する(ルマのQPから導出される)QPインデックスにより表されるQSSの比率は、JCTVC−I1003におけるHEVC設計では、4であり得る(例えば、51のルマQP及び39のクロマQPに対しておおまかに28.5対26.5である)。一方、新たな手法2、4、及び6では、比率は最大で2である(例えば、51のルマQP及び45のクロマQPに対しておおまかに28.5対27.5である)。量子化が粗くなるよう意図される場合、QSSの比率を制限することは、クロマ成分の過度のビット使用を防止するのに役立ち得る。
第2に、クロマのQPの変化に対するルマのQPの変化の比率に関して、高QP(高QSS)オペレーションにおいて、1の傾きが可能になる。高QP条件では(qP>43の場合)、ルマQPの+1の変化は、クロマQPの+1の変化をもたらすか、又はルマQPの−1の変化は、クロマQPの−1の変化をもたらす。これは、QP値を変えるとき(例えば、レート制御中に全体的品質及びビット・レートを調整するとき)、符号化コントローラがルマとクロマとの間のバランスを保つのを助ける。QP値のこの範囲では、ルマ量子化ステップ・サイズとクロマ量子化ステップ・サイズとの間の比率は、一定を保ったままであり、これは、ルマとクロマとの間のバランスを取るために、突然の変化なくビット・レートのきめの細かい制御を容易にする。
第3に、(高QPオペレーションにおいて、QPがqP−6である)いくつかの実施例において、6の固定クロマQPオフセットを使用して、高QP(高QSS)オペレーションにおいて、ルマ及びクロマの等しいQSSを実現することができる。場合によっては、エンコーダは、(QP=QPのときに可能となる)同じQSSを用いて、全てのプレーンを符号化することを望むことがある。JCTVC−I1003における設計では、これは、クロマQPオフセットが、QPに応じて調整される必要があり得ることを意味する。というのは、QPとQPとの間の関係は、かなりの差を有するからである(表1参照)。一方、新たな手法2、4、及び6においては、43を超えるqPの値に関して、QP=qP−6である。したがって、qPとQPとの間の差は、この範囲では、6に保たれ、6の固定クロマQPオフセットは、目的(QP=QP)を達成することができる。
第4に、(ルマのQSSとクロマのQSSとの間の)所望の相対的関係を実現するために必要とされるクロマQPオフセットは、JCTVC−I1003においてよりもかなり小さい。例えば、JCTVC−I1003では、エンコーダが、ルマ及びクロマの両方に関して39のQPを使用することを望む場合、必要なクロマQPオフセットは12である。表1が、端部で見られる同一の傾きで単純に拡張された場合、オフセットのこの値は、かなり大きくなる。しかしながら、新たな手法2、4、及び6では、同一の相対的関係が、6というかなり小さなオフセットを用いて実現され得る。
第5に、クロマQP値の拡張範囲は、(細かい量子化及び中間範囲の量子化の)低QP値及び中間範囲QP値を有する通常の使用条件のレート−歪み性能にそれほど重大な影響を与えない。というのは、新たな手法における修正は、大体は、通常の使用条件において使用されるQP値の範囲外で適用されるからである。しかしながら、同時に、高QP(高QSS)状況では、レート−歪み性能及びクロマQPの拡張範囲を用いるエンコーダ・フレキシビリティの点で利点がある。通常の高QP状況では、(拡張範囲クロマQPを用いた粗い量子化、ビットの節約等に基づく)クロマ品質の劣化は、ルマ品質の増大によるオフセットよりも大きい。
ルマのQPの関数としてクロマのQPを表現する新たな手法のいずれもが、ルマ成分及び/又はクロマ成分の係数のための周波数固有のスケーリング・ファクタを設定するための量子化スケーリング・マトリックスとともに使用され得る。
B.クロマQPオフセットの値に対する制約
クロマQPオフセットの値に対する制約は、ルマとクロマとの間の大きな品質の差を制限するために、新たな手法1〜6の実施例等の例示的な実施例において有用である。具体的には、例示的な実施例において、クロマQPオフセットに関して、−12〜12の範囲が効果的である。(H.264/AVC規格では、クロマQPオフセットは、同様に−12〜12(−12と12を含む)の範囲に制限される。)この範囲は、有用な特性を有する。例えば、新たな手法4の高QPにおいて、6のクロマQPオフセットは、ルマQPがクロマQPに等しい場合を表すので、12のオフセットは、0のオフセットに対するカウンタ・ポイントを表す。これらのクロマQPオフセットの両方(すなわち、0及び12のオフセット)において、QPとQSSとの間の例示的な関係に関して、より大きなQSSは、より小さなQSSの正確に2倍である(例えば、57のクロマQPに対する29.5のQSSは、51のクロマQPに対する28.5のQSSの2倍であり、これは、45のクロマQPに対する27.5のQSSの2倍である)。
新たな手法1〜4の場合、クロマQPオフセットの値に対する制約は、cb_qp_offset及びcr_qp_offsetに対して課せられ得る。新たな手法5及び6では、クロマQPオフセットの値に対する制約は、値(cb_qp_offset+slice_qp_delta_cb)及び値(cr_qp_offset+slice_qp_delta_cr)に対して課せられ得る。代替的に、新たな手法5及び6では、クロマQPオフセットの値に対する制約は、cb_qp_offset、slice_qp_delta_cb、cr_qp_offset、及びslice_qp_delta_crの個々の値に対して課せられてもよい。
C.スライス・レベル・クロマQPオフセットの値のシンタックス及びセマンティクス
新たな手法5及び6では、ビットストリーム・シンタックス及びセマンティクスは、スライス・レベル・クロマQPオフセットの伝達をサポートする。スライス・レベル・クロマQPオフセットは、エンコーダに、ピクチャ内の様々な領域のクロマQPを正確に制御するより優れた能力を提供する。例示的な実施例に関して、図9aは、PPS RBSPシンタックスにおける新たなフラグslicelevel_chroma_qp_flagを示し、図9bは、スライス・ヘッダ・シンタックスにおける新たな値slice_qp_delta_cb及びslice_qp_delta_crを示している。エントロピ符号化された値slice_qp_delta_cb及びslice_qp_delta_crは、適用PPS内のslicelevel_chroma_qp_flagの値に応じて、スライス・ヘッダ内に条件付きで存在する。したがって、スライス・レベル・クロマQPオフセットが使用されない場合、スライス・レベル・シンタックス・オーバヘッドは回避される。
図9aに示されるPPSシンタックス・フラグメント(901)において、値cb_qp_offset及び値cr_qp_offsetは、それぞれ、上記で規定されたQPCb及びQPCrを得る際に使用される基準オフセットを規定する。1に等しい値slicelevel_chroma_qp_flagは、シンタックス要素slice_qp_delta_cb及びslice_qp_delta_crが、関連するスライス・ヘッダ内に存在することを規定する。そうでない場合、シンタックス要素slice_qp_delta_cb及びslice_qp_delta_crは、関連するスライス・ヘッダ内に存在しない。
(図9bのシンタックス・フラグメント(902)に示される)スライス・ヘッダにおいて、slice_qp_deltaは、coding unitレイヤにおけるcu_qp_deltaの値により変更されるまでスライス内の全ての符号化ブロックのために使用されるQPの初期値を規定する。スライスの初期QP量子化パラメータは以下のように計算される。
Figure 0006270833
ここで、slice_qp_deltaの値は、SliceQPが、−QpBdOffset〜+51(−QpBdOffsetと+51を含む)の範囲となるように制限される。
値slice_qp_delta_cb及び値slice_qp_delta_crは、それぞれ、新たな手法5及び6で規定されたQPCb及びQPCrを得る際に使用される差分オフセットを規定する。存在しない場合、これらのシンタックス要素の値は0であると推定される。
D.クロマのための修正されたデブロック・フィルタリング
JCTVC−I1003におけるHEVC設計では、クロマ成分のブロック・エッジをデブロックする間に使用されるフィルタ「強度」(tパラメータ)が、値QPを用いて決定される。変数QPは、以下のように導出されるインデックスqPを用いて、表1で規定されるように決定される。
qP=((QP+QP+1)>>1)
ここで、QP及びQPは、エッジの一方のサイドに存在するブロックのルマQP値を表す。一般的な着想は、エッジ周辺のサンプルを量子化するために使用されるQP値に基づいて、フィルタ強度を調整することである。クロマ・デブロック・フィルタリングのためのqPを決定するこの手法は、クロマQPオフセット(cb_qp_offset及びcr_qp_offset)が0に等しくない場合、不十分である。クロマQPオフセットの0でない様々な値に関して、クロマ成分のために使用されるQPは異なるであろうが、フィルタ強度は同一のままである。
いくつかの例示的な実施例において、クロマ・デブロック・フィルタリングのためのqPを決定する際に、クロマQPオフセットの効果が考慮に入れられる。これらの実施例において、インデックスqPは以下のように導出される。
Figure 0006270833
ここで、cqp_offsetは、成分Cb及び成分Crのcb_qp_offset及びcr_qp_offsetをそれぞれ表す。これらの例示的な実施例において、ルマのQPの関数としてクロマのQPを表現する場合、クロマ・デブロック・フィルタリングのためのインデックスqPの導出は、クロマQPオフセットの効果を考慮に入れるが、その他は、JCTVC−I1003においてqPが導出される方法に基づく。
他の例示的な実施例において、ルマのQPの関数としてクロマのQPを表現する方法のために、上述した新たな手法のうちの1つが採用される場合、デブロック・フィルタリングのためのインデックスqPは、以下のように導出され得る。
Figure 0006270833
ここで、QPmax及びcqp_offsetは、使用される新たな手法によって決まる。新たな手法1、3、及び5では、例えば、QPmaxは、71に等しい。新たな手法2、4、及び6では、例えば、QPmaxは、57に等しい。新たな手法1〜4では、cqp_offsetは、成分Cb及び成分Crのcb_qp_offset及びcr_qp_offsetをそれぞれ表す。新たな手法5及び6では、cqp_offsetは、成分Cb及び成分Crの(cb_qp_offset+slice_qp_delta_cb)及び(cr_qp_offset+slice_qp_delta_cr)をそれぞれ表す。より一般的に、デブロック・フィルタリングのためのインデックスqPの値が導出される場合、(QP+QP+1)>>1がQPに取って代わり、クロマQPオフセットが考慮に入れられる。
変数qPがデブロック・フィルタリングにおいて使用される方法は実装に依存する。例えば、変数qPは、上記の表5で規定された変数QPを決定するために使用される。別の変数Qは以下のように導出される。
Figure 0006270833
ここで、bSは、符号化モード(イントラ又はインタ)、ブロックにおける0でない変換係数の存在、動きベクトル値、及び/又は他のファクタに応じて設定される境界フィルタリング強度であり、slice_tc_offset_div2は、フィルタリングされるエッジのサイド上の最初のサンプルを含むスライスに関するシンタックス要素slice_tc_offset_div2の値である。次いで、変数t’の値が、以下のテーブルに示されるQからt’へのマッピングに基づいて決定される。
Figure 0006270833
最後に、制御パラメータtが以下のように導出される。
=t’*(1<<(BitDepthC−8))
E.代替例
例示の目的上、詳細な説明は、いくつかのパラメータ及び変数に関する特定の名前を伴う様々な例を含む。本明細書で説明したイノベーションは、そのような名前を有するパラメータ又は変数を伴う実施例に限定されない。代わりに、本明細書で説明したイノベーションは、様々なタイプのパラメータ及び変数を用いて実装されてもよい。
例えば、本明細書で説明した例のいくつかは、パラメータslicelevel_chroma_qp_flag、cb_qp_offset、cr_qp_offset、slice_qp_delta_cb、及びslice_qp_delta_crを含む。JCTVC−K1003におけるHEVC規格のバージョンでは、slicelevel_chroma_qp_flagは、pic_slice_chroma_qp_offsets_present_flagとして再ラベル化されているが、実質的に同じ意味を有する。ピクチャ・レベル・クロマQPオフセットは、cb_qp_offset及びcr_qp_offsetではなく、pic_cb_qp_offset及びpic_cr_qp_offsetと呼ばれる。スライス・レベル・クロマQPオフセットは、slice_qp_delta_cb及びslice_qp_delta_crではなく、slice_cb_qp_offset及びslice_cr_qp_offsetと呼ばれる。本明細書で説明した例はまた、再ラベル化されたパラメータにも適用される。
本明細書で説明したいくつかの例において、QP値は、ビットストリームにおいて、QP−26として伝達され、QSSは、S*2(QP/6)であるか、又はおおよそS*2(QP/6)である。ここで、Sはスケーリング・ファクタである。この関係において、QPの高い値は、高い(すなわち、粗い)QSSを表し、QPの低い値は、低い(すなわち、細かい)QSSを表す。代替的に、QPは、QSSと逆相関であってもよい。例えば、QP値は、ビットストリームにおいて、25−QPとして伝達され、QSSは、S*2((51−QP)/6)であるか、又はおおよそS*2((51−QP)/6)である。この例において、同じQSS値が実際上伝達され得るが、QPの高い値は低いQSSを表し、QPの低い値は高いQSSを表す。より一般的に、本明細書で説明したイノベーションは、QPとQSSとの間の様々な関係に適用することができる。QPとQSSとの間の関係は、上述した関係に加えて、QPが、H.263規格においてQUANTと呼ばれるパラメータ等のパラメータである関係や、QPが、H.262規格においてquantiser_scaleと呼ばれるパラメータ等のパラメータである関係も含む。
開示した本発明の原理を適用することができる多くの可能な実施形態の観点から、例示した実施形態は、本発明の好ましい例に過ぎないことを認識すべきであり、本発明の範囲を限定するものとして解釈すべきではない。むしろ、本発明の範囲は、請求項により定められる。したがって、我々は、このような請求項の範囲及び精神に含まれる全てを、我々の発明として特許請求する。

Claims (20)

  1. 量子化パラメータ(QP)の値がルマ成分と1以上のクロマ成分との間の関係に従って変化するイメージ・コンテンツ又はビデオ・コンテンツを符号化する符号化動作であって、前記符号化動作は、
    ルマ成分QP及びクロマ成分QPオフセットに少なくとも部分的に基づいてQPインデックス(qP)を決定する動作と、
    前記QPインデックスをクロマ成分QP(QP)にマッピングするマッピング動作であって、前記クロマ成分QPにより示される量子化ステップ・サイズ(QSS)の範囲の上限は、前記ルマ成分QPにより示されるQSSの範囲の上限に合致し、前記マッピング動作は、以下の表のように、前記QPインデックス(qP)に基づいて前記クロマ成分QP(QP)を設定する動作を含む、マッピング動作と、
    Figure 0006270833
    を含む、符号化動作と、
    前記の符号化されたイメージ・コンテンツ又はビデオ・コンテンツを含むビットストリームの少なくとも一部分を出力する動作と、
    を実行するよう構成されているイメージ・エンコーダ又はビデオ・エンコーダを実装したコンピューティング・デバイス。
  2. 前記マッピング動作は、前記QPインデックスの値を、前記クロマ成分QPの対応する値にマッピングするロジックを用いて実装されている、請求項1記載のコンピューティング・デバイス。
  3. 前記マッピング動作は、前記QPインデックスの値の第1の範囲が、前記クロマ成分QPの対応する値に対する線形マッピングを有し、前記QPインデックスの値の第2の範囲が、前記クロマ成分QPの対応する値に対する非線形マッピングを有し、前記QPインデックスの値の第3の範囲が、前記クロマ成分QPの対応する値に対する線形マッピングを有する関数を使用する、請求項1記載のコンピューティング・デバイス。
  4. 前記マッピング動作は、前記QPインデックスの値と、前記クロマ成分QPの対応する値と、の間の区分的線形関係を組み込んでいるロジックを用いて実装されている、請求項1記載のコンピューティング・デバイス。
  5. 前記ロジックは、
    Figure 0006270833
    である、請求項4記載のコンピューティング・デバイス。
  6. QPの高い値が高いQSSを表し、QPの低い値が低いQSSを表す場合の高いQSSに関連付けられた前記QPインデックスの値の範囲において、前記クロマ成分QPオフセットがある一定値である場合、前記クロマ成分QPは、前記ルマ成分QPと同一である、請求項1記載のコンピューティング・デバイス。
  7. QPの高い値が高いQSSを表し、QPの低い値が低いQSSを表す場合の高いQSSに関連付けられた前記QPインデックスの値の範囲に関して、前記関係は、
    QSSの値は、前記クロマ成分QPにより表されるQSSに対する前記ルマ成分QPにより表されるQSSの比率で変化し、前記クロマ成分QPオフセットが0であるデフォルト値に対して、前記比率は最大で2である;
    前記クロマ成分QPの変化に対する前記ルマ成分QPの変化の比率が1であるように、前記ルマ成分QPの値における変化は、前記クロマ成分QPの値における変化と等しい;及び
    前記クロマ成分QPオフセットの値が6である場合、前記クロマ成分QPは、前記ルマ成分QPと同一である
    という特徴のうちの1以上により特徴付けられる、請求項1記載のコンピューティング・デバイス。
  8. イメージ・デコーダ又はビデオ・デコーダを実装したコンピューティング・デバイスにおける方法であって、
    量子化パラメータ(QP)の値がルマ成分と1以上のクロマ成分との間の関係に従って変化する符号化されたイメージ・コンテンツ又はビデオ・コンテンツを含むビットストリームの少なくとも一部分を受信するステップと、
    前記符号化されたイメージ・コンテンツ又はビデオ・コンテンツの少なくとも一部分を復号化する復号化ステップであって、前記復号化ステップは、
    ルマ成分QP及びクロマ成分QPオフセットに少なくとも部分的に基づいてQPインデックス(qP)を決定するステップと、
    前記QPインデックスをクロマ成分QP(QP)にマッピングするマッピング・ステップであって、前記クロマ成分QPにより示される量子化ステップ・サイズ(QSS)の範囲の上限は、前記ルマ成分QPにより示されるQSSの範囲の上限に合致し、前記マッピング・ステップは、以下の表のように、前記QPインデックス(qP)に基づいて前記クロマ成分QP(QP)を設定するステップを含む、マッピング・ステップと、
    Figure 0006270833
    を含む、復号化ステップと、
    を含む、方法。
  9. 1以上の処理装置と、コンピュータ実行可能命令を記憶したメモリと、を備えたコンピューティング・システムであって、前記1以上の処理装置が、前記コンピュータ実行可能命令によりプログラムされたときに、前記コンピュータ実行可能命令は、前記1以上の処理装置に、
    量子化パラメータ(QP)の値がプライマリ成分と1以上のセカンダリ成分との間の関係に従って変化する符号化されたイメージ・コンテンツ又はビデオ・コンテンツを含むビットストリームの少なくとも一部分を受信する動作と、
    前記符号化されたイメージ・コンテンツ又はビデオ・コンテンツの少なくとも一部分を復号化する復号化動作であって、前記復号化動作は、
    プライマリ成分QP及びセカンダリ成分QPオフセットからQPインデックスを決定する動作と、
    前記QPインデックスをセカンダリ成分QPにマッピングするマッピング動作であって、前記セカンダリ成分QPにより示される量子化ステップ・サイズ(QSS)の範囲の上限は、前記プライマリ成分QPにより示されるQSSの範囲の上限に合致し、QPの高い値が高いQSSを表し、QPの低い値が低いQSSを表す場合の高いQSSに関連付けられた前記QPインデックスの値の範囲において、前記セカンダリ成分QPオフセットが0ではないある一定値である場合、前記セカンダリ成分QPは、前記プライマリ成分QPと同一である、マッピング動作と、
    を含む、復号化動作と、
    を実行させる、コンピューティング・システム。
  10. イメージ・エンコーダ又はビデオ・エンコーダを実装したコンピューティング・デバイスにおける方法であって、
    量子化パラメータ(QP)の値がプライマリ成分と1以上のセカンダリ成分との間の関係に従って変化するイメージ・コンテンツ又はビデオ・コンテンツを符号化する符号化ステップであって、前記符号化ステップは、
    プライマリ成分QP及びセカンダリ成分QPオフセットからQPインデックスを決定するステップと、
    前記QPインデックスをセカンダリ成分QPにマッピングするマッピング・ステップであって、前記セカンダリ成分QPにより示される量子化ステップ・サイズ(QSS)の範囲の上限は、前記プライマリ成分QPにより示されるQSSの範囲の上限に合致し、QPの高い値が高いQSSを表し、QPの低い値が低いQSSを表す場合の高いQSSに関連付けられた前記QPインデックスの値の範囲において、前記セカンダリ成分QPオフセットが0ではないある一定値である場合、前記セカンダリ成分QPは、前記プライマリ成分QPと同一である、マッピング・ステップと、
    を含む、符号化ステップと、
    前記の符号化されたイメージ・コンテンツ又はビデオ・コンテンツを含むビットストリームの少なくとも一部分を出力するステップと、
    を含む、方法。
  11. 前記マッピング・ステップは、前記QPインデックスの値を、前記クロマ成分QPの対応する値にマッピングするロジックを用いて実装されている、請求項8記載の方法。
  12. 前記マッピング・ステップは、前記QPインデックスの値の第1の範囲が、前記クロマ成分QPの対応する値に対する線形マッピングを有し、前記QPインデックスの値の第2の範囲が、前記クロマ成分QPの対応する値に対する非線形マッピングを有し、前記QPインデックスの値の第3の範囲が、前記クロマ成分QPの対応する値に対する線形マッピングを有する関数を使用する、請求項8記載の方法。
  13. 前記マッピング・ステップは、前記QPインデックスの値と、前記クロマ成分QPの対応する値と、の間の区分的線形関係を組み込んでいるロジックを用いて実装されている、請求項8記載の方法。
  14. 前記ロジックは、
    Figure 0006270833
    である、請求項13記載の方法。
  15. QPの高い値が高いQSSを表し、QPの低い値が低いQSSを表す場合の高いQSSに関連付けられた前記QPインデックスの値の範囲において、前記クロマ成分QPオフセットがある一定値である場合、前記クロマ成分QPは、前記ルマ成分QPと同一である、請求項8記載の方法。
  16. QPの高い値が高いQSSを表し、QPの低い値が低いQSSを表す場合の高いQSSに関連付けられた前記QPインデックスの値の範囲に関して、前記関係は、
    QSSの値は、前記クロマ成分QPにより表されるQSSに対する前記ルマ成分QPにより表されるQSSの比率で変化し、前記クロマ成分QPオフセットが0であるデフォルト値に対して、前記比率は最大で2である;
    前記クロマ成分QPの変化に対する前記ルマ成分QPの変化の比率が1であるように、前記ルマ成分QPの値における変化は、前記クロマ成分QPの値における変化と等しい;及び
    前記クロマ成分QPオフセットの値が6である場合、前記クロマ成分QPは、前記ルマ成分QPと同一である
    という特徴のうちの1以上により特徴付けられる、請求項8記載の方法。
  17. 前記プライマリ成分は、ルマ成分であり、前記1以上のセカンダリ成分は、1以上のクロマ成分である、請求項9記載のコンピューティング・システム。
  18. 前記マッピング動作は、前記QPインデックスの値と、前記セカンダリ成分QPの対応する値と、の間の区分的線形関係を組み込んでいるロジックを用いて実装されている、請求項9記載のコンピューティング・システム。
  19. 前記プライマリ成分は、ルマ成分であり、前記1以上のセカンダリ成分は、1以上のクロマ成分である、請求項10記載の方法。
  20. 前記マッピング・ステップは、前記QPインデックスの値と、前記セカンダリ成分QPの対応する値と、の間の区分的線形関係を組み込んでいるロジックを用いて実装されている、請求項10記載の方法。
JP2015520655A 2012-07-02 2013-07-02 クロマqp値の拡張範囲 Active JP6270833B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261667381P 2012-07-02 2012-07-02
US61/667,381 2012-07-02
US13/732,356 US9414054B2 (en) 2012-07-02 2012-12-31 Control and use of chroma quantization parameter values
US13/732,356 2012-12-31
PCT/US2013/049100 WO2014008277A1 (en) 2012-07-02 2013-07-02 Extended range for chroma qp values

Publications (3)

Publication Number Publication Date
JP2015526971A JP2015526971A (ja) 2015-09-10
JP2015526971A5 JP2015526971A5 (ja) 2016-08-04
JP6270833B2 true JP6270833B2 (ja) 2018-01-31

Family

ID=49778132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015520655A Active JP6270833B2 (ja) 2012-07-02 2013-07-02 クロマqp値の拡張範囲

Country Status (6)

Country Link
US (12) US9414054B2 (ja)
EP (2) EP2868084B1 (ja)
JP (1) JP6270833B2 (ja)
KR (11) KR102660310B1 (ja)
CN (1) CN104584559B (ja)
WO (1) WO2014008277A1 (ja)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9426439B2 (en) * 2013-03-12 2016-08-23 Intel Corporation Exposing media processing features
GB2512826B (en) * 2013-04-05 2017-05-10 Canon Kk Method and device for determining the value of a quantization parameter
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
BR112016008044A8 (pt) 2013-10-14 2020-03-17 Microsoft Technology Licensing Llc codificador de vídeo ou imagem, decodificador de vídeo ou imagem e meio legível por computador
EP3114835B1 (en) 2014-03-04 2020-04-22 Microsoft Technology Licensing, LLC Encoding strategies for adaptive switching of color spaces
RU2653295C2 (ru) 2014-03-04 2018-05-07 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Адаптивное переключение цветовых пространств, частот цветовой дискретизации и/или битовых глубин
JP2015173312A (ja) * 2014-03-11 2015-10-01 ソニー株式会社 画像符号化装置および方法、並びに画像復号装置および方法
US11070810B2 (en) 2014-03-14 2021-07-20 Qualcomm Incorporated Modifying bit depths in color-space transform coding
EP3123716B1 (en) 2014-03-27 2020-10-28 Microsoft Technology Licensing, LLC Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
US20150288965A1 (en) * 2014-04-08 2015-10-08 Microsoft Corporation Adaptive quantization for video rate control
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
EP2977958A1 (en) 2014-07-22 2016-01-27 Thomson Licensing Method and apparatus for processing image data
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US9716871B2 (en) 2014-09-30 2017-07-25 Apple Inc. YUV signal generation for high dynamic range video content
CN114554199B (zh) * 2014-09-30 2023-11-10 寰发股份有限公司 用于视频编码的自适应运动向量分辨率的方法
JP6540707B2 (ja) 2014-10-03 2019-07-10 日本電気株式会社 映像復号装置、映像復号方法及び映像復号プログラム
US10057578B2 (en) * 2014-10-07 2018-08-21 Qualcomm Incorporated QP derivation and offset for adaptive color transform in video coding
WO2016054765A1 (en) 2014-10-08 2016-04-14 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
CN104410863B (zh) * 2014-12-11 2017-07-11 上海兆芯集成电路有限公司 图像处理器以及图像处理方法
US9979969B2 (en) * 2015-04-24 2018-05-22 Fingram Co., Ltd. Method and system for image compression using image block characteristics
WO2016199409A1 (en) * 2015-06-07 2016-12-15 Sharp Kabushiki Kaisha Systems and methods for optimizing video coding based on a luminance transfer function or video color component values
WO2016197314A1 (en) * 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
EP3104610A1 (en) * 2015-06-10 2016-12-14 Thomson Licensing Method and device for encoding color differences for color picture data
US10225561B2 (en) * 2015-10-08 2019-03-05 Mediatek Inc. Method and apparatus for syntax signaling in image and video compression
US10432936B2 (en) 2016-04-14 2019-10-01 Qualcomm Incorporated Apparatus and methods for perceptual quantization parameter (QP) weighting for display stream compression
US10200698B2 (en) * 2016-08-09 2019-02-05 Intel Corporation Determining chroma quantization parameters for video coding
WO2018123444A1 (ja) * 2016-12-28 2018-07-05 ソニー株式会社 画像処理装置及び画像処理方法
WO2019009776A1 (en) * 2017-07-05 2019-01-10 Telefonaktiebolaget Lm Ericsson (Publ) DECODING VIDEO SAMPLE BLOCK
US11019339B2 (en) * 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
US10778978B2 (en) * 2017-08-21 2020-09-15 Qualcomm Incorporated System and method of cross-component dynamic range adjustment (CC-DRA) in video coding
US10812798B2 (en) * 2017-10-19 2020-10-20 Qualcomm Incorporated Chroma quantization parameter (QP) offset
WO2019148977A1 (en) * 2018-02-01 2019-08-08 Mediatek Inc. Methods and apparatuses of video encoding or decoding with adaptive quantization of video data
WO2019191218A1 (en) 2018-03-30 2019-10-03 Interdigital Vc Holdings, Inc. Chroma quantization parameter adjustment in video encoding and decoding
KR102392128B1 (ko) * 2018-04-01 2022-04-28 엘지전자 주식회사 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법
SG11202101799WA (en) 2018-09-21 2021-03-30 Huawei Tech Co Ltd Apparatus and method for inverse quantization
EP3857883A1 (en) * 2018-09-24 2021-08-04 InterDigital VC Holdings, Inc. Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma
EP3700205A1 (en) * 2019-02-19 2020-08-26 Nokia Technologies Oy Quantization parameter derivation for cross-channel residual encoding and decoding
GB201902831D0 (en) * 2019-03-01 2019-04-17 Canon Kk Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
CN113711591B (zh) 2019-04-20 2023-10-27 北京字节跳动网络技术有限公司 用于色度残差的联合编解码的语法元素的信令
CN113785577B (zh) * 2019-04-26 2023-06-27 华为技术有限公司 用于指示色度量化参数映射函数的方法和装置
US11856232B2 (en) 2019-05-28 2023-12-26 Dolby Laboratories Licensing Corporation Quantization parameter signaling
KR102636330B1 (ko) * 2019-06-21 2024-02-15 후아웨이 테크놀러지 컴퍼니 리미티드 크로마 양자화 제어의 인코더, 디코더 및 대응하는 방법들
EP3987810A4 (en) * 2019-06-23 2023-04-19 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR DERIVING QUANTIZATION PARAMETERS FOR VIDEO BLOCKS IN VIDEO ENCODING
US11146823B2 (en) 2019-06-25 2021-10-12 Qualcomm Incorporated Signalling chroma quantization parameter (QP) mapping tables
US11418787B2 (en) 2019-06-28 2022-08-16 Qualcomm Incorporated Chroma delta QP in video coding
US11381819B2 (en) 2019-07-05 2022-07-05 Qualcomm Incorporated Chroma delta quantization parameter (QP) in video coding
CN114128275A (zh) * 2019-07-12 2022-03-01 交互数字Vc控股法国有限公司 亮度到色度量化参数表信令
CN114258677A (zh) * 2019-08-22 2022-03-29 Lg 电子株式会社 编译色度量化参数偏移相关信息的图像解码方法和设备
CA3152228C (en) * 2019-08-23 2024-05-14 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for performing chroma deblocking for blocks which use joint chroma coding
US11356684B2 (en) 2019-08-30 2022-06-07 Alibaba Group Holding Limited Method and system for signaling chroma quantization parameter table
BR112022004668A2 (pt) 2019-09-14 2022-05-31 Bytedance Inc Método de processamento de dados de vídeo, aparelho para processar dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador
CN114503597B (zh) * 2019-09-21 2024-03-12 字节跳动有限公司 视频编解码中的色度去方块方法
EP4022912A4 (en) * 2019-09-23 2022-11-09 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR SIGNALING AND DERIVING CHROMINANCE QP OFFSET TABLES
CN114651442A (zh) 2019-10-09 2022-06-21 字节跳动有限公司 视频编解码中的跨分量适应性回路滤波
WO2021076475A1 (en) * 2019-10-14 2021-04-22 Bytedance Inc. Joint coding of chroma residual and filtering in video processing
CN117528097A (zh) * 2019-10-29 2024-02-06 抖音视界(北京)有限公司 跨分量自适应环路滤波器
WO2021118977A1 (en) 2019-12-09 2021-06-17 Bytedance Inc. Using quantization groups in video coding
CN115004707A (zh) 2019-12-19 2022-09-02 抖音视界(北京)有限公司 自适应颜色变换和量化参数之间的相互作用
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
CN115191118A (zh) 2020-01-05 2022-10-14 抖音视界有限公司 在视频编解码中使用自适应颜色变换
CN115244926A (zh) * 2020-01-14 2022-10-25 抖音视界有限公司 视频编解码中的量化参数的覆写
CN115176470A (zh) 2020-01-18 2022-10-11 抖音视界有限公司 图像/视频编解码中的自适应颜色变换
KR20220127351A (ko) * 2020-02-04 2022-09-19 후아웨이 테크놀러지 컴퍼니 리미티드 하이 레벨 신택스를 시그널링하는 것에 관한 인코더, 디코더 및 대응하는 방법
US11558616B2 (en) 2020-03-05 2023-01-17 Qualcomm Incorporated Methods for quantization parameter control for video coding with joined pixel/transform based quantization
JP2021158633A (ja) * 2020-03-30 2021-10-07 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
US11381820B2 (en) * 2020-04-13 2022-07-05 Tencent America LLC Method and apparatus for video coding
CN115443655A (zh) 2020-06-09 2022-12-06 阿里巴巴(中国)有限公司 用于处理视频编码中自适应颜色变换和低频不可分离变换的方法
US11381830B2 (en) * 2020-06-11 2022-07-05 Tencent America LLC Modified quantizer
US11979572B2 (en) * 2020-06-22 2024-05-07 Apple Inc. Adaptive quantizer design for video coding
US11032546B1 (en) * 2020-07-20 2021-06-08 Tencent America LLC Quantizer for lossless and near-lossless compression
US11652996B2 (en) 2021-05-25 2023-05-16 Tencent America LLC Method and apparatus for video coding
KR102488988B1 (ko) 2021-06-18 2023-01-13 이상철 자전하며 공전하는 회전날개를 갖는 수평축회전력생성장치
US20230099329A1 (en) * 2021-09-30 2023-03-30 Tencent America LLC Deriving offsets in cross-component transform coefficient level reconstruction
EP4195666A1 (en) * 2021-12-08 2023-06-14 Axis AB An encoding device and a method for encoding an image frame including selective restriction of offset compression values
CN114051140B (zh) * 2022-01-07 2022-04-08 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备及存储介质
US20240129461A1 (en) * 2022-10-04 2024-04-18 Tencent America LLC Systems and methods for cross-component sample offset filter information signaling

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112863A1 (en) 2001-07-12 2003-06-19 Demos Gary A. Method and system for improving compressed image chroma information
US7319415B2 (en) 2002-05-01 2008-01-15 Thomson Licensing Chroma deblocking filter
AU2002347419A1 (en) * 2002-11-01 2004-05-25 Nokia Corporation A method and device for transcoding images
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US8014450B2 (en) 2003-09-07 2011-09-06 Microsoft Corporation Flexible range reduction
US8625680B2 (en) 2003-09-07 2014-01-07 Microsoft Corporation Bitstream-controlled post-processing filtering
JP4407249B2 (ja) 2003-11-18 2010-02-03 ソニー株式会社 データ処理装置およびその方法と符号化装置、その方法及びプログラム
KR100647295B1 (ko) 2004-11-10 2006-11-23 삼성전자주식회사 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체
US7873105B2 (en) * 2005-04-01 2011-01-18 Broadcom Corporation Hardware implementation of optimized single inverse quantization engine for a plurality of standards
US8681867B2 (en) 2005-10-18 2014-03-25 Qualcomm Incorporated Selective deblock filtering techniques for video coding based on motion compensation resulting in a coded block pattern value
JP4769605B2 (ja) 2006-03-17 2011-09-07 富士通株式会社 動画像符号装置及び方法
US20070230564A1 (en) 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US9445128B2 (en) 2006-12-08 2016-09-13 Freescale Semiconductor, Inc. System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers
US9961372B2 (en) 2006-12-08 2018-05-01 Nxp Usa, Inc. Adaptive disabling of deblock filtering based on a content characteristic of video information
US8634462B2 (en) 2007-03-13 2014-01-21 Matthias Narroschke Quantization for hybrid video coding
US8204129B2 (en) 2007-03-27 2012-06-19 Freescale Semiconductor, Inc. Simplified deblock filtering for reduced memory access and computational complexity
US8724698B2 (en) 2007-04-13 2014-05-13 Apple Inc. Method and system for video rate control
JP2009004920A (ja) * 2007-06-19 2009-01-08 Panasonic Corp 画像符号化装置および画像符号化方法
US8150187B1 (en) 2007-11-29 2012-04-03 Lsi Corporation Baseband signal quantizer estimation
JP5007259B2 (ja) 2008-03-27 2012-08-22 ルネサスエレクトロニクス株式会社 画像符号化装置
US8199823B2 (en) 2008-04-15 2012-06-12 Sony Corporation Estimation of B frame average rate quantization parameter (QP) in a group of pictures (GOP)
US8189677B2 (en) 2008-04-15 2012-05-29 Sony Corporation Estimation of P frame average rate quantization parameter (QP) in a group of pictures (GOP)
US8279924B2 (en) * 2008-10-03 2012-10-02 Qualcomm Incorporated Quantization parameter selections for encoding of chroma and luma video blocks
JP5094760B2 (ja) * 2009-02-13 2012-12-12 三菱電機株式会社 動画像符号化装置
KR101060495B1 (ko) 2009-03-19 2011-08-30 주식회사 코아로직 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치
US20110274162A1 (en) 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
JP2011250400A (ja) 2010-04-27 2011-12-08 Panasonic Corp 動画像符号化装置及び動画像符号化方法
JP2011259362A (ja) 2010-06-11 2011-12-22 Sony Corp 画像処理装置および方法
US9462280B2 (en) 2010-12-21 2016-10-04 Intel Corporation Content adaptive quality restoration filtering for high efficiency video coding
US9363509B2 (en) * 2011-03-03 2016-06-07 Electronics And Telecommunications Research Institute Method for determining color difference component quantization parameter and device using the method
CN106454381B (zh) 2011-03-11 2019-05-28 索尼公司 图像处理装置和方法
US9854275B2 (en) 2011-06-25 2017-12-26 Qualcomm Incorporated Quantization in video coding
US8958472B2 (en) 2011-09-08 2015-02-17 Google Technology Holdings LLC Methods and apparatus for quantization and dequantization of a rectangular block of coefficients
US9554128B2 (en) 2011-09-13 2017-01-24 Hfi Innovation Inc. Method and apparatus for reduction of deblocking filter
WO2013042884A1 (ko) 2011-09-19 2013-03-28 엘지전자 주식회사 영상 부호화/복호화 방법 및 그 장치
US8976857B2 (en) 2011-09-23 2015-03-10 Microsoft Technology Licensing, Llc Quality-based video compression
US9185404B2 (en) 2011-10-07 2015-11-10 Qualcomm Incorporated Performing transform dependent de-blocking filtering
US9510020B2 (en) 2011-10-20 2016-11-29 Qualcomm Incorporated Intra pulse code modulation (IPCM) and lossless coding mode deblocking for video coding
US9167269B2 (en) 2011-10-25 2015-10-20 Qualcomm Incorporated Determining boundary strength values for deblocking filtering for video coding
US9538200B2 (en) 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
CN110234009B (zh) 2012-01-20 2021-10-29 维洛媒体国际有限公司 色度量化参数扩展的解码方法及装置
US9451258B2 (en) 2012-04-03 2016-09-20 Qualcomm Incorporated Chroma slice-level QP offset and deblocking
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9031137B2 (en) 2012-05-03 2015-05-12 Texas Instruments Incorporated Signaling signed band offset values for sample adaptive offset (SAO) filtering in video coding
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
BR112015013768A2 (pt) 2012-12-18 2017-07-11 Sony Corp dispositivo, e, método de processamento de imagem
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
GB2512826B (en) 2013-04-05 2017-05-10 Canon Kk Method and device for determining the value of a quantization parameter
US10708588B2 (en) 2013-06-19 2020-07-07 Apple Inc. Sample adaptive offset control
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
US9843812B2 (en) 2014-05-23 2017-12-12 Sony Corporation Video transmission system with color gamut partitioning and method of operation thereof
US10038919B2 (en) 2014-05-29 2018-07-31 Apple Inc. In loop chroma deblocking filter
US9807410B2 (en) 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
US9609362B2 (en) 2014-10-06 2017-03-28 Telefonaktiebolaget Lm Ericsson (Publ) Coding and deriving quantization parameters
KR102392128B1 (ko) 2018-04-01 2022-04-28 엘지전자 주식회사 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법

Also Published As

Publication number Publication date
KR102660890B1 (ko) 2024-04-24
US20230026047A1 (en) 2023-01-26
KR102147552B1 (ko) 2020-08-24
US10491898B2 (en) 2019-11-26
CN104584559A (zh) 2015-04-29
US20210136380A1 (en) 2021-05-06
KR102660889B1 (ko) 2024-04-24
KR20230093544A (ko) 2023-06-27
US20200092557A1 (en) 2020-03-19
JP2015526971A (ja) 2015-09-10
US20230036446A1 (en) 2023-02-02
US10250882B2 (en) 2019-04-02
KR102365388B1 (ko) 2022-02-18
CN104584559B (zh) 2018-04-06
EP2868084A1 (en) 2015-05-06
EP3582499A1 (en) 2019-12-18
KR102547712B1 (ko) 2023-06-23
KR20220025229A (ko) 2022-03-03
KR102660310B1 (ko) 2024-04-23
KR20150034142A (ko) 2015-04-02
KR20230093545A (ko) 2023-06-27
KR102643369B1 (ko) 2024-03-04
KR20230093379A (ko) 2023-06-27
KR102244926B1 (ko) 2021-04-26
US20160316206A1 (en) 2016-10-27
WO2014008277A1 (en) 2014-01-09
US20230034128A1 (en) 2023-02-02
US10924740B2 (en) 2021-02-16
EP2868084B1 (en) 2019-11-06
US9414054B2 (en) 2016-08-09
KR102660891B1 (ko) 2024-04-24
KR20230093378A (ko) 2023-06-27
KR20230093542A (ko) 2023-06-27
US20140003497A1 (en) 2014-01-02
US20190253712A1 (en) 2019-08-15
US11457212B2 (en) 2022-09-27
KR20240058966A (ko) 2024-05-03
US20230023086A1 (en) 2023-01-26
US20230027377A1 (en) 2023-01-26
KR102660282B1 (ko) 2024-04-23
US20220400262A1 (en) 2022-12-15
KR20200100209A (ko) 2020-08-25
KR20210046837A (ko) 2021-04-28
KR20230097215A (ko) 2023-06-30
US20230029534A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
US11943442B2 (en) Use of chroma quantization parameter offsets in deblocking
US20230023086A1 (en) Control and use of chroma quantization parameter values

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160613

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20171102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171226

R150 Certificate of patent or registration of utility model

Ref document number: 6270833

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250