(57)【特許請求の範囲】
【請求項１】
入力の符号化単位と基準の符号化単位との間の差に対応する前記入力の符号化単位の残差を決定し、前記残差に変換を施して少なくとも１つの変換係数を取得し、量子化ステップのサイズ及び丸めのオフセットを選択することで、前記少なくとも１つの変換係数を量子化することにより、前記入力の符号化単位を符号化するビデオエンコーダを備え、
第１の丸めのオフセットは、滑らかであるとして分類されたマクロブロックについてのみ選択されて適用され、そうでない場合に前記エンコーダによりデフォルトで使用される第２の丸めのオフセットは、ざらつきがあるとして分類されたマクロブロックに適用される、
ことを特徴とする装置。
【請求項２】
前記丸めのオフセットは、前記符号化単位を含む全体のビデオ系列、前記ビデオ系列の一部、前記符号化単位に関連するピクチャ又は前記ピクチャにおける領域に適用されるように選択される、
請求項１記載の装置。
【請求項３】
前記一部は、１以上のグループオブピクチャに含まれるか又は１以上のグループオブピクチャとは独立な１以上のシーン又は１以上のピクチャを含み、
前記領域は、１以上のマクロブロックを含む、
請求項２記載の装置。
【請求項４】
前記１以上のシーン、前記１以上のピクチャ及び前記１以上のマクロブロックのそれぞれに、別々の丸めのオフセットが適用可能である、
請求項３記載の装置。
【請求項５】
前記丸めのオフセットは、画素領域の分散、変換領域の分散、特定の又は別の量子化ステップのサイズでのゼロの係数の数、のうちの少なくとも１つに応じて選択される、
請求項１記載の装置。
【請求項６】
前記丸めのオフセットは、前記符号化単位を含む全体のビデオ系列、前記ビデオ系列の一部、前記符号化単位に関するピクチャ、前記ピクチャにおける領域、滑らかである領域又はざらつきがある領域の分類、のうちの少なくとも１つに応じて選択される、
請求項１記載の装置。
【請求項７】
前記領域は、１以上のマクロブロックを含む、
請求項６記載の装置。
【請求項８】
前記丸めのオフセットは、前記入力の符号化単位がイントラ予測を使用して符号化されたか又はインター予測を使用して符号化されたか、１以上の変換のタイプ、前記符号化単位を符号化する１以上の異なるビットレート、のうちの少なくとも１つに応じて選択される、
請求項７記載の装置。
【請求項９】
前記エンコーダは、前記エンコーダにより出力されるビットストリームに、前記選択された丸めのオフセットを表す情報を埋め込む、
請求項１記載の装置。
【請求項１０】
ビデオエンコーダにおける、入力の符号化単位を符号化する方法であって、
入力の符号化単位と基準の符号化単位との間の差に対応する前記入力の符号化単位の残差を決定するステップと、
前記残差に変換を施して少なくとも１つの変換係数を取得するステップと、
量子化ステップのサイズと丸めのオフセットとを選択することで、前記少なくとも１つの変換係数を量子化するステップと、
を含み、
第１の丸めのオフセットは、滑らかであるとして分類されたマクロブロックについてのみ選択されて適用され、そうでない場合に前記エンコーダによりデフォルトで使用される第２の丸めのオフセットは、ざらつきがあるとして分類されたマクロブロックに適用される、
ことを特徴とする方法。
【請求項１１】
前記丸めのオフセットは、前記符号化単位を含む全体のビデオ系列、前記ビデオ系列の一部、前記符号化単位に関連するピクチャ又は前記ピクチャにおける領域に適用されるように選択される、
請求項１０記載の方法。
【請求項１２】
前記一部は、１以上のグループオブピクチャに含まれるか又は１以上のグループオブピクチャとは独立な１以上のシーン又は１以上のピクチャを含み、
前記領域は、１以上のマクロブロックを含む、
請求項１１記載の方法。
【請求項１３】
前記１以上のシーン、前記１以上のピクチャ及び前記１以上のマクロブロックのそれぞれに、別々の丸めのオフセットが適用可能である、
請求項１２記載の方法。
【請求項１４】
前記丸めのオフセットは、画素領域の分散、変換領域の分散、特定の又は別の量子化ステップのサイズでのゼロの係数の数、のうちの少なくとも１つに応じて選択される、
請求項１０記載の方法。
【請求項１５】
前記丸めのオフセットは、前記符号化単位を含む全体のビデオ系列、前記ビデオ系列の一部、前記符号化単位に関するピクチャ、前記ピクチャにおける領域、滑らかである領域又はざらつきがある領域の分類、のうちの少なくとも１つに応じて選択される、
請求項１０記載の方法。
【請求項１６】
前記領域は、１以上のマクロブロックを含む、
請求項１５記載の方法。
【請求項１７】
前記丸めのオフセットは、前記入力の符号化単位がイントラ予測を使用して符号化されたか又はインター予測を使用して符号化されたか、１以上の変換のタイプ、前記符号化単位を符号化する１以上の異なるビットレート、のうちの少なくとも１つに応じて選択される、
請求項１６記載の方法。
【請求項１８】
前記エンコーダにより出力されるビットストリームに、前記選択された丸めのオフセットを表す情報を埋め込むステップを更に含む、
請求項１０記載の方法。
【請求項１９】
オリジナルのバージョンの符号化単位と基準の符号化単位との間の変換及び量子化された残差に対応する少なくとも１つの量子化された係数を受信し、量子化ステップのサイズ及び丸めのオフセットを決定することで、前記少なくとも１つの量子化された係数に逆量子化を施して少なくとも１つの逆量子化された係数を取得し、前記少なくとも１つの逆量子化された係数に逆変換を施して再構成された残差を取得することにより、前記符号化単位を復号化するビデオデコーダを備え、
前記ビデオデコーダは、前記少なくとも１つの量子化された係数を含むビットストリームから、選択された丸めのオフセットを表す情報を取得し、
第１の丸めのオフセットは、滑らかであるとして分類されたマクロブロックについてのみ選択されて適用され、そうでない場合にエンコーダによりデフォルトで使用される第２の丸めのオフセットは、ざらつきがあるとして分類されたマクロブロックに適用される、
ことを特徴とする装置。
【請求項２０】
ビデオデコーダにおける、符号化単位を復号化する方法であって、
オリジナルのバージョンの符号化単位と基準の符号化単位との間の変換及び量子化された残差に対応する少なくとも１つの量子化された係数を受信するステップと、
量子化ステップのサイズ及び丸めのオフセットを選択することで、前記少なくとも１つの量子化された係数に逆量子化を施して少なくとも１つの逆量子化された係数を取得するステップと、
前記少なくとも１つの逆量子化された係数に逆変換を施して再構成された残差を取得するステップとを含み、
前記ビデオデコーダは、前記少なくとも１つの量子化された係数を含むビットストリームから、選択された丸めのオフセットを表す情報を取得し、
第１の丸めのオフセットは、滑らかであるとして分類されたマクロブロックについてのみ選択されて適用され、そうでない場合にエンコーダによりデフォルトで使用される第２の丸めのオフセットは、ざらつきがあるとして分類されたマクロブロックに適用される、
ことを特徴とする方法。
【請求項２１】
プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、コンピュータに対して、
入力の符号化単位と基準の符号化単位との間の差に対応する前記入力の符号化単位の残差を決定させ、前記残差に変換を施して少なくとも１つの変換係数を取得させ、量子化ステップのサイズと丸めのオフセットとを選択することで、前記少なくとも１つの変換係数を量子化させ、
第１の丸めのオフセットは、滑らかであるとして分類されたマクロブロックについてのみ選択されて適用され、そうでない場合にエンコーダによりデフォルトで使用される第２の丸めのオフセットは、ざらつきがあるとして分類されたマクロブロックに適用される、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化及び復号化に関するものであり、より詳細には、映像符号化及び復号化のための、改善された量子化の丸めのオフセットを調節する方法及び装置に関する。  
本出願は、２００９年５月１６日に提出された米国特許仮出願第６１／１７８９５７号の利益を特許請求するものである。
【背景技術】
【０００２】
大部分のビデオ応用は、与えられたビットレートの制約で最も高い可能な知覚品質を求める。たとえば、テレビ電話のような低ビットレートの応用では、ビデオエンコーダは、視覚的に重要な関心のある領域で強い視覚的なアーチファクトを除くことで、高い品質を提供する。他方で、高いビットレートの応用では、視覚的に損失のない品質が画像の何れの場所においても期待され、ビデオエンコーダは、トランスペアレントな品質を達成することも必要である。高いビットレートの応用においてトランスペアレントな視覚的な品質を得る１つの課題は、人間の視覚系のテクスチャマスキング特性のため、特に、詳細の損失が滑らかでない領域よりも目に見える滑らかな領域で、詳細を保持することである。
【０００３】
ビットレートを増加することは、品質を改善する最も簡単なアプローチのうちの１つである。ビットレートが与えられたとき、エンコーダは、そのビット割り当てモジュールを操作して、最も視覚的な品質の改善を得ることができる利用可能なビットを費やす。ＤＶＤオーサリングのような非実時間の応用では、ビデオエンコーダは、可変ビットレート（ＶＢＲ）設計を容易にして、困難なコンテンツ及び容易なコンテンツの両者に関して時間を通して一定の品質をもつビデオを生成することができる。係る応用では、利用可能なビットは、一定の品質を得るために異なるビデオセグメントを通して適切に分散される。対照的に、固定ビットレート（ＣＢＲ）システムは、符号化の困難さにもかかわらず、同じビット数を１以上のピクチャの間隔に割り当て、ビデオコンテンツにより変動する視覚的な品質を生成する。ＶＢＲ及びＣＢＲ符号化システムの両者について、エンコーダは、ある画像内の知覚モデルに従ってビットを割り当てる。人間の知覚の１つの特性は、テクスチャマスキングであり、これは、ざらついた領域（ｔｅｘｔｕｒｅｄ  ｒｅｇｉｏｎ）よりも滑らかな領域（ｓｍｏｏｔｈ  ｒｅｇｉｏｎ）において人間の目は、品質の損失に対して何故敏感なのかを説明するものである。この特性は、滑らかな領域に割り当てられるビット数を増加して、高い視覚的な品質を得るために利用される。
【０００４】
ビデオエンコーダにおける量子化プロセスは、符号化ビット数及び品質を制御する。量子化パラメータを調節することで品質を調節することは一般的である。例示する目的で、ＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）ＭＰＥＧ−４（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ−４）Ｐａｒｔ１０  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）規格／ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ，  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｔｏｒ）Ｈ．２６４規格（以下、「ＭＰＥＧ−４  ＡＶＣ規格」）をベースラインの例として参照し、ＭＰＥＧ−４規格を通してこの原理を実現することで有される量子化プロセス及び改善を説明する。しかし、この原理は、ＭＰＥＧ−４  ＡＶＣ規格にのみ限定されるものではなく、この原理の精神を維持しつつ、他のビデオ符号化規格、勧告及びその拡張にも適用される場合があることを理解されたい。
【０００５】
数学的に、エンコーダにおいて、変換される係数は、以下のように量子化される。
【０００６】
【数１】
0005749710.tif 000002
ここで、Ｗは変換された係数であり、量子化レベルＺに量子化される。ｑは、量子化ステップサイズであり、ｓは量子化の丸めのオフセットである。関数
＜外１＞
0005749710.tif 000003
は、ある値を最も近い整数に丸め、ｓｇｎ（．）は、ある信号の符号を戻す。量子化マトリクスが適用されるとき、エンコーダでの量子化プロセスの前に、はじめに係数がスケーリングされる。０に量子化されるＷの範囲は、デッドゾーンと呼ばれる。この特定の場合、デッドゾーンは、Δ＝（１−ｓ）×ｑ×２である。デコーダで、量子化レベルＺは、信号Ｗ’に再構成される。これは、逆量子化と呼ばれ、以下のように数学的に記載される。
【０００７】
【数２】
0005749710.tif 000004
ＭＰＥＧ−４  ＡＶＣ規格におけるシンタックスは、それぞれのマクロブロック（ＭＢ）についてｑが異なることを可能にする。量子化ステップサイズの値ｑは、０…５１の範囲における整数である、パラメータＱＰにより索引付けされる値から選択される。丸めのオフセットのパラメータｓは、逆量子化において含まれず、エンコーダは、任意の値に設定する柔軟性を有する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
既存のＭＰＥＧ−４  ＡＶＣビデオエンコーダは、量子化の丸めのオフセットが固定であり、量子化ステップのサイズのみを調節して、ビット数及び従って品質を調節することを前提としている。
【課題を解決するための手段】
【０００９】
従来技術のこれらの問題点及び課題、並びに他の問題点及び課題は、本発明の原理により対処され、本発明は、映像符号化及び復号化のための、改善された量子化の丸めのオフセットを調節する方法及び装置に向けられる。
【００１０】
本発明の態様によれば、装置が提供される。本装置は、入力の符号化単位と基準の符号化単位との間の差に対応する入力の符号化単位の残差を決定し、残差に変換を施して、少なくとも１つの変換係数を取得し、特定の量子化ステップのサイズ及び丸めのオフセットを選択することで少なくとも１つの変換係数を量子化することにより、入力の符号化単位を符号化するビデオエンコーダを含む。
【００１１】
本発明の別の態様によれば、ビデオエンコーダにおいて、入力の符号化単位を符号化する方法が提供される。本方法は、入力の符号化単位と基準の符号化単位との間の差に対応する入力の符号化単位の残差を決定し、残差に変換を施して、少なくとも１つの変換係数を取得し、特定の量子化ステップのサイズ及び丸めオフセットを選択することで少なくとも１つの変換係数を量子化することを含む。
【００１２】
本発明の更に別の態様によれば、装置が提供される。本装置は、符号化単位のオリジナルのバージョンと基準の符号化単位との間の変換及び量子化された残差に対応する少なくとも１つの量子化された係数を受信し、特定の量子化ステップサイズ及び丸めオフセットを決定することで、少なくとも１つの量子化された係数に逆量子化を施して少なくとも１つの逆量子化された係数を取得し、少なくとも１つの逆量子化された係数に逆変換を施して再構成された残差を取得することにより、符号化単位を復号化するビデオデコーダを含む。ビデオデコーダは、少なくとも１つの量子化された係数を含むビットストリームから、選択された丸めのオフセットを表す情報を取得する。
【００１３】
本発明の更に別の態様によれば、ビデオデコーダにおける、符号化単位を復号化する方法が提供される。本方法は、符号化単位のオリジナルのバージョンと基準の符号化単位との間の変換及び量子化された残差に対応する少なくとも１つの量子化された係数を受信し、特定の量子化ステップサイズ及び丸めオフセットを選択することで、少なくとも１つの量子化された係数に逆量子化を施して少なくとも１つの逆量子化された係数を取得し、少なくとも１つの逆量子化された係数に逆変換を施して再構成された残差を取得する。ビデオデコーダは、少なくとも１つの量子化された係数を含むビットストリームから、選択された丸めのオフセットを表す情報を取得する。
【００１４】
本発明のこれらの態様、特徴及び利点、並びに他の態様、特徴及び利点は、添付図面と共に読まれる、例示的な実施の形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００１５】
本発明は、以下の例示的な図面に従って良好に理解されるであろう。
【図１】本発明の実施の形態に係る、本発明が適用される例示的なビデオエンコーダを示すブロック図である。
【図２】本発明の実施の形態に係る、本発明が適用される例示的なビデオデコーダを示すブロック図である。
【図３】従来技術に係る、ビデオエンコーダにおける知覚品質を改善するための、量子化の調節の方法を示すフローダイアグラムである。
【図４】本発明の実施の形態に係る、知覚品質を改善するための、あるピクチャレベルに関する丸めのオフセットの調節の例示的な方法を示すフローダイアグラムである。
【図５】本発明の実施の形態に係る、知覚品質を改善するための、あるマクロブロックレベルに関する丸めのオフセットの調節の例示的な方法を示すフローダイアグラムである。
【図６】本発明の実施の形態に係る、知覚品質を改善するための、あるマクロブロックレベルに関する丸めのオフセットの調節の別の例示的な方法を示すフローダイアグラムである。
【図７】本発明の実施の形態に係る、丸めのオフセットを決定する例示的な方法を示すフローダイアグラムである。
【図８】本発明の実施の形態に係る、丸めのオフセットが既知であって、ビットストリームで送出されない場合の、ピクチャデータを復号化する例示的な方法を示すフローダイアグラムである。
【図９】本発明の実施の形態に係る、丸めのオフセットを使用して、デコーダで符号化ユニットを再構成する例示的な方法を示すフローダイアグラムである。
【図１０】本発明の実施の形態に係る、丸めのオフセットを使用して、エンコーダで入力の符号化単位を符号化する例示的な方法を示すフローダイアグラムである。
【図１１】本発明の実施の形態に係る、丸めのオフセットを選択する例示的な方法を示すフローダイアグラムである。
【図１２】本発明の実施の形態に係る、丸めのオフセットを適用する例示的な方法を示すフローダイアグラムである。
【図１３】本発明の実施の形態に係る、丸めのオフセットを使用して、デコーダで、符号化単位を復号化する例示的な方法を示すフローダイアグラムである。
【発明を実施するための形態】
【００１６】
本発明は、映像符号化及び復号化のための、改善された量子化の丸めのオフセットを調節する方法及び装置に向けられる。  
ここでの説明は、本発明の原理を例示するものである。したがって、当業者であれば、本実施の形態で明示的に記載又は図示されないが、本発明を実施する様々な構成であって、本発明の精神及び範囲に含まれる様々な構成を考案することができることを理解されたい。
【００１７】
本実施の形態で引用される全ての例及び条件付き言語は、当該技術分野を促進するために本発明者により寄与される本発明及び概念の理解において読者を支援することが意図されており、係る特に記載された例及び条件に限定されるものではないものとして解釈されるべきである。
【００１８】
さらに、本発明の原理、態様及び実施の形態を示す全ての説明は、本発明の例と同様に、本発明の構造的及び機能的に等価なものを包含することが意図される。さらに、係る等価なものは、現在知られているもの等価なものと同様に、将来的に開発される等価なもの、すなわち構造に係らず、同じ機能を実行する開発されたエレメントを含むことが意図される。
【００１９】
従って、たとえば、本実施の形態で与えられるブロック図は、本発明を実施する例示的な回路の概念図を表すことが当業者により理解されるであろう。同様に、フローチャート、フローダイアグラム、状態遷移図、擬似コード等は、コンピュータ読み取り可能な媒体で実質的に表され、コンピュータ又はプロセッサが明示的に示されているか否かに係らず、係るコンピュータ又はプロセッサにより実行される様々なプロセスを表すことを理解されたい。
【００２０】
図面に示される様々なエレメントの機能は、適切なソフトウェアと関連してソフトウェアを実行可能なハードウェアと同様に、専用のハードウェアに関連して提供される。プロセッサにより提供されたとき、機能は、１つの専用プロセッサ、１つの共有プロセッサ、又はそのうちの幾つかが供給される複数の個別のプロセッサにより提供される。さらに、用語「プロセッサ」又は「コントローラ」の明示的な使用は、ソフトウェアを実行可能なハードウェアを排他的に示すように解釈されるべきではなく、限定されることなしに、デジタルシグナルプロセッサ（ＤＳＰ）、ソフトウェアを記憶するためのリードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）及び不揮発性ストレージを暗黙に含む。
【００２１】
他のハードウェア、コンベンショナル及び／又はカスタムも含まれる場合がある。同様に、図に示されるスイッチは、概念的なものである。これらの機能は、プログラムロジックの動作、専用ロジック、プログラム制御及び専用ロジックの相互作用、又は手動的に実行される場合があり、特定の技術は、文脈から詳細に理解されるように、実現者により選択可能である。
【００２２】
本発明の請求項では、特定の機能を実行する手段として表現されるエレメントは、たとえばａ）その機能を実行する回路エレメントの組み合わせ、又はｂ）機能を実行するソフトウェアを実行する適切な回路と結合される、ファームウェア、マイクロコード等を含む任意の形態のソフトウェア、を含む機能を実行する任意の方式を包含することが意図される。本発明は、様々な引用された手段により提供される機能が請求項が指示するやり方で結合及び纏められる事実にある。したがって、それらの機能を提供する任意の手段は本明細書に示されるものに等価であると見なされる。
【００２３】
本発明の「１実施の形態」又は「実施の形態」に対する明細書における参照は、本発明の他の変形例と同様に、本実施の形態と共に記載される特定の特徴、構造、特性等が、本発明の少なくとも１つの実施の形態に含まれることを意味する。したがって、明細書を通して様々な場所に出現する「１実施の形態では」又は「実施の形態において」という記載の出現は、他の変形と同様に、必ずしも、同じ実施の形態を全て引用するものではない。
【００２４】
以下の“／”、“及び／又は”及び“〜の少なくとも１つ”の使用、たとえば「Ａ／Ｂ」、「Ａ及び／又はＢ」及び「Ａ及びＢの少なくとも１つ」の使用は、最初の列挙されたオプション（Ａ）のみの選択、第二の列挙されたオプション（Ｂ）のみの選択、両方のオプション（Ａ及びＢ）の選択を包含することが意図される。更なる例として、「Ａ，Ｂ及び／又はＣ」及び「Ａ，Ｂ及びＣの少なくとも１つ」の場合、係る記載は、最初の列挙されたオプション（Ａ）のみの選択、又は第二の列挙されたオプション（Ｂ）のみの選択、又は第三の列挙されたオプション（Ｃ）のみの選択、又は、第一及び第二の列挙されたオプション（Ａ及びＢ）のみの選択、又は第一及び第三の列挙されたオプション（Ａ及びＣ）のみの選択、又は第二及び第三の列挙されたオプション（Ｂ及びＣ）のみの選択、又は全ての３つのオプション（Ａ及びＢ及びＣ）の選択を包含することが意図される。これは、当業者により明らかなように、列挙される多くのアイテムについて拡張される場合がある。
【００２５】
また、本明細書で使用されたとき、単語「ピクチャ」及び「画像」は、交換可能に使用され、静止画像又はビデオ系列からのピクチャを示す。知られているように、ピクチャは、フレーム又はフィールドである。
【００２６】
さらに、本明細書で使用されたとき、記載「ピクチャ領域」（又は略して単に「領域」）は、たとえば１以上のブロック又は任意のサイズの任意の形状を包含するピクチャ、及び／又は１以上のブロック又は任意のサイズの任意の形状から形成されたピクチャの一部を示す。１以上のブロックは、たとえばスーパーマクロブロック、マクロブロック、マクロブロックパーティション、サブマクロブロックパーティション等に関連する。
【００２７】
さらに、本明細書で使用されたとき、記載「ビデオ系列の一部」は、１以上のグループオブピクチャ（ＧＯＰ）、１以上のＧＯＰのうちの１つに含まれる１以上のピクチャ又は１以上のＧＯＰのうちの１つとは独立な１以上のピクチャ、及び／又は１以上のシーンを示す。
【００２８】
さらに、本明細書で使用されたとき、記載「入力符号化ユニット」は、ピクチャ（たとえばフレーム又はフィールド）、ピクチャ領域、及び／又はスライスの何れかを示す。
【００２９】
また、本明細書で使用されたとき、記載「デフォルトの丸めのオフセット」は、たとえばビデオエンコーダ及び／又はデコーダが準拠して動作するビデオ符号化規格、勧告、その拡張に関して使用される、特定のビデオエンコーダ及び／又はデコーダにより一般に使用される丸めのオフセット（すなわち固定の丸めのオフセット）を示す。
【００３０】
さらに、本明細書で使用されたとき、単語「信号」は、対応するデコーダに何かを示すことを示す。たとえば、エンコーダは、特定の丸めのオフセットがエンコーダ側で使用されたことをデコーダに知らせるため、丸めのオフセットのグループのうちの特定の１つを指示する。このように、同じ機能は、エンコーダ側及びデコーダ側の両者で使用される。従って、たとえば、エンコーダは、デコーダが同じ特定の丸めのオフセットを使用するように、特定の丸めオフセットをデコーダに送信するか、デコーダが他と同様に特定の丸めオフセットを既に有する場合、デコーダが特定の丸めのオフセットを知り、選択するのを可能にするためにシグナリングが（送信することなしに）使用される。実際の丸めのオフセットの送信を回避することで、ビットの節約が実現される。シグナリングは様々なやり方で達成されることを理解されたい。たとえば、対応するデコーダに情報を指示するために１以上のシンタックスエレメント、フラグ等が使用される。
【００３１】
図１を参照して、本発明が適用される例示的なビデオエンコーダは参照符号１００により示される。エンコーダ１００は、フレームオーダリングバッファ１０５を含む。フレームオーダリングバッファ１０５の第一の入力は、エンコーダ１００への入力として利用可能である。フレームオーダリングバッファ１０５の出力は、加算器１１０の非反転入力と信号通信において接続される。加算器１１０の出力は、変換器及び量子化器１１５の第一の入力と信号通信において接続される。変換器及び量子化器１１５の出力は、エントロピーコーダ１２０の第一の入力及び逆変換器及び量子化器１３５の入力と信号通信で接続される。エントロピーコーダの出力は、加算器１２５の第一の非反転入力と信号通信において接続される。加算器１２５の出力は、出力バッファ１３０の入力と信号通信において接続される。出力バッファ１３０の第一の出力は、レートコントローラ１７５の入力と信号通信において接続される。レートコントローラ１７５の出力は、変換及び量子化器１１５の第二の入力、ピクチャタイプ及びマクロブロック（ＭＢ）タイプの判定モジュール１７０の入力、及びＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）及びＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）挿入器１８５の入力に信号通信において接続される。ピクチャタイプ及びマクロブロックタイプの判定モジュール１７０の第一の出力は、フレームオーダリングバッファ１０５の第二の入力と信号通信にいて接続される。ピクチャタイプ及びマクロブロックタイプの判定モジュール１７０の第二の出力は、加算器１４０の第一の非反転入力、加算器１１０の第二の非反転入力、及びスイッチ１６５の出力と信号通信において接続される。スイッチ１６５の入力は、動き補償／動き予測１５５の第二の出力又はイントラ予測モジュール１６０の出力と信号通信において接続される。加算器１４０の出力は、イントラ予測モジュール１６０の入力とデブロッキングフィルタ１４５の入力と信号通信において接続される。デブロッキングフィルタ１４５の出力は、参照ピクチャバッファ１５０の入力と信号通信において接続される。参照ピクチャバッファ１５０の出力は、動き補償／動き予測器１５５の入力と信号通信において接続される。動き補償／動き予測器１５５の第一の出力は、エントロピーコーダ１２０の第二の入力と信号通信で接続される。ＳＰＳ及びＰＰＳ挿入器１８５の出力は、加算器１２５の第二の非反転入力と信号通信において接続される。ＳＥＩ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）１８０の出力は、加算器１２５の第三の非反転入力と信号通信において接続される。ＳＥＩ挿入器１８０の入力は、ＳＥＩ挿入器１８０の入力は、メタデータを受信するための、エンコーダ１００への入力として利用可能である。出力バッファ１３０の第二の出力は、ビットストリームを出力するため、エンコーダ１００の出力として利用可能である。
【００３２】
図２を参照して、本発明が適用される例示的なビデオデコーダは、参照符号２００により示される。ビデオデコーダ２００は、エントロピーデコーダ２４５の第一の入力と信号通信において接続される出力を有する入力バッファ２１０を含む。エントロピーデコーダ２４５の第一の出力は、逆変換器及び逆量子化器２５０の第一の入力と信号通信において接続される。逆変換器及び逆量子化器２５０の出力は、加算器２２５の第二の非反転入力と信号通信において接続される。加算器２２５の出力は、デブロッキングフィルタ２６５の第二の入力とイントラ予測モジュール２６０の第一の入力と信号通信において接続される。デブロッキングフィルタ２６５の第二の出力は、参照ピクチャバッファ２８０の第一の入力と信号通信において接続される。参照ピクチャバッファ２８０の出力は、動き補償器２７０の第二の入力と信号通信において接続される。
【００３３】
エントロピーデコーダ２４５の第二の出力は、動き補償器２７０の第三の入力及びデブロッキングフィルタ２６５の第一の入力と信号通信において接続される。エントロピーデコーダ２４５の第三の出力は、デコーダコントローラ２０５の入力と信号通信において接続される。デコーダコントローラ２０５の第一の出力は、エントロピーデコーダ２４５の第二の入力と信号通信において接続される。デコーダコントローラ２０５の第二の出力は、逆変換器及び逆量子化器２５０の第二の入力と信号通信において接続される。デコーダコントローラ２０５の第三の出力は、デブロッキングフィルタ２６５の第三の入力と信号通信において接続される。デコーダコントローラ２０５の第四の出力は、イントラ予測モジュール２６０の第二の入力、動き補償器２７０の第一の入力、及び参照ピクチャバッファ２８０の第二の入力と信号通信において接続される。
【００３４】
動き補償器２７０の出力は、スイッチ２９７の第一の入力と信号通信において接続される。イントラ予測モジュール２６０の出力は、スイッチ２９７の第二の入力と信号通信において接続される。スイッチ２９７の出力は、加算器２２５の第１の非反転入力と信号通信において更に接続される。
【００３５】
入力バッファ２１０の入力は、入力ビットストリームを受信するため、デコーダ２００の入力として利用可能である。デブロッキングフィルタ２６５の第一の出力は、出力ピクチャを出力するため、デコーダ２００の出力として利用可能である。
【００３６】
丸めのオフセットは、たとえばビデオを再構成するか又は後処理のためにデコーダ２００で使用される。この状況下で、丸めのオフセットは、（たとえばエンコーダ１００により）ビットストリームで埋め込まれ、デコーダ２００に伝達される。１実施の形態では、それぞれのピクチャ又はグループオブピクチャについて１つの丸めのオフセットが設定される。別の実施の形態では、丸めのオフセットは、それぞれのマクロブロックについて設定され、それぞれのマクロブロックについてその実際の値又はインデックスが送出される。
【００３７】
上述されたように、本発明は、映像符号化及び復号化のために、改善された丸めのオフセットの調節のための方法及び装置に向けられる。
【００３８】
知覚品質の改善における１つの重要な態様は、フィルムグレイン及びコンピュータで作られた雑音のような、微細な詳細を保持することである。これは、微細な詳細の損失が非常に顕著な滑らかな領域にとって重要である。既存のアルゴリズムにおける一般的なアプローチは、固定の量子化の丸めのオフセットを使用しつつ、微細な量子化ステップのサイズで滑らかな領域を含むこれらの滑らかな領域又はビデオセグメントを符号化することである。
【００３９】
式（１）から分かるように、丸めのオフセットは、小さなゼロに近い係数がどのように量子化されるかをダイレクトに制御するように、小さな係数への顕著な制御を有する。ｓを増加したとき、より少ない係数がゼロに量子化され、量子化ステップサイズｑが与えられて小さな係数でより多くのビットが費やされる。ビットレートが与えられたとき、増加されたｓは、ビットレートの制約に適合するために粗いｑで動作する必要がある。したがって、丸めのオフセットを増加することは、大きな係数への多くの歪みという代償を払って、小さな係数を保持する。小さな係数を保持することは、限定されるものではないがフィルムグレイン及びコンピュータで作られた雑音を含む、再構成されたビデオにおける微細な詳細を保持するので、本発明に係る丸めのオフセット値を調節することは、トランスペアレントな視覚的な品質が期待されるＢｌｕ−Ｒａｙ  ＤＶＤオーサリングのような幾つかの応用にとって高い知覚品質を得ることにおいて非常に有効である。
【００４０】
以下の記載では、ＴＭ５（Ｔｅｓｔ  Ｍｏｄｅｌ，  ｖｅｒｓｉｏｎ  ５）を使用して、あるピクチャ内の滑らかな領域について、より高い品質がどのように得られるかを例示する。テストモデルは、ＭＰＥＧビデオの作業草案と並行して進化した。勿論、本発明はＴＭ５のみに限定されるものではなく、本発明の精神を維持しつつ、他のビデオ符号化規格、勧告及び／又はその拡張と共に容易に使用される。
【００４１】
さらに、以下の記載では、２パスエンコーダを使用して、より高い品質が、滑らかな領域を含むビデオセグメントにどのように割り当てられるかを示す。勿論、本発明は、２パスエンコーダに限定されず、本発明の精神を維持しつつ、２を超えるパスを使用したエンコーダと同様に、１パスエンコーダが使用される場合もある。
【００４２】
ＴＭ５では、オリジナルの画素値を使用して、４つの輝度のフレーム編成されたサブブロック（ｎ＝１，．．．，４）及び４つの輝度のフィールド編成されたサブブロック（ｎ＝５，．．．，８）からのＭＢｊについて、空間アクティビティの測度が計算される。
【００４３】
【数３】
0005749710.tif 000005
この場合、
【数４】
0005749710.tif 000006
及び
【数５】
0005749710.tif 000007
である。この場合、Ｐｋｎは、ｎ番目のオリジナルの８×８ブロックにおけるサンプル値である。次いで、ａｃｔｊは、以下に正規化される。
【００４４】
【数６】
0005749710.tif 000008
この場合、ａｖｇ＿ａｃｔは、前の符号化ピクチャのａｃｔｊの平均値である。最初のピクチャに関して、ａｖｇ＿ａｃｔは、４００に設定される。ｍｑｕａｎｔｊは、以下のように得られる。
【００４５】
【数７】
0005749710.tif 000009
この場合、Ｑｉは、基準の量子化パラメータである。ｍｑｕａｎｔｊの最終値は、範囲［１．．．３１］にクリップされ、符号化の間に量子化ステップのサイズを示すように使用される。
【００４６】
したがって、ＴＭ５量子化スキームでは、小さな分散をもつ滑らかなマクロブロック（ＭＢ）は、空間アクティビティの測度ａｃｔｊ，Ｎ＿ａｃｔｊの小さな値、並びにｍｑｕａｎｔｊにより索引付けされる微細な量子化ステップのサイズを有する。滑らかなマクロブロックの微細な量子化により、より微細な詳細を保持することができ、より高い知覚品質を得ることができる。
【００４７】
非実時間の応用では、エンコーダは、全体のビデオを分析し、微細な詳細を含むビデオのセグメントへの割り当てられたビット数を増加する。１つの従来技術のアプローチは、２パスエンコードシステムを提案し、この場合、第一のパスの固定ビットレート（ＣＢＲ）のデータは、実際の可変ビットレート（ＶＢＲ）圧縮を実行した、第二のパスの制御パラメータを準備するために処理される。特に、第二のパスでは、ｉ番目のピクチャは、目標とするビット数ｂ２，ｉを以下のように設定する。
【００４８】
【数８】
0005749710.tif 000010
この場合、ｂｌ，ｉ及びＱｌ，ｉは、第一のパスからのビット数及び量子化ステップのサイズのパラメータであり、ｐは定数である。
【００４９】
【数９】
0005749710.tif 000011
この場合、Ｂｔｏｔは、全体の利用可能なビット数であり、Ｎは、全体のピクチャ数である。
【００５０】
この２パスエンコードシステムでは、滑らかな領域をもつシーンのような低い圧縮の複雑度を持つシーンは、高い知覚品質に変換する、小さく微細な量子化ステップのサイズ及び高いピーク信号対雑音比（ＰＳＮＲ）で符号化される。
【００５１】
前に記載されたように、既存の方法は、滑らかな領域で微細な詳細を保持するため、高い知覚品質を達成するために、エンコーダにおける量子化ステップのサイズを調節している。本発明の少なくとも１つの実施の形態によれば、滑らかな領域における知覚品質を改善するため、丸めのオフセットの調節がエンコーダに導入される。
【００５２】
少なくとも１つの実施の形態によれば、丸めのオフセットを調節することで、知覚品質を効果的に改善する方法及び装置が記載される。従って、再構成されたビデオにおいて微細な詳細を保持することが意図される。これは、微細な詳細の損失が非常に顕著である滑らかな領域にとって特に重要である。好適な実施の形態では、このスキームは、エンコーダが、あるシーンレベル、あるピクチャレベル、あるマクロブロックレベル等に関して丸めのオフセットを選択するのを可能にするために十分に柔軟性がある。また、このスキームは、知覚品質を改善するために量子化ステップのサイズが調節されるエンコーダに統合される。
【００５３】
［知覚品質を改善するための量子化の調節］
図３を参照して、ビデオエンコーダにおける知覚品質を改善するための量子化の調節の方法は、参照符号３００により示される。係る方法において調節可能な量子化パラメータは、量子化ステップのサイズである。丸めのオフセットのパラメータは、符号化プロセスを通して固定である。本方法３００は、制御を機能ブロック３１０に移す開始ブロック３０５を含む。機能ブロック３１０は、随意にオペレータにより、符号化のセットアップを実行し、制御を機能ブロック３１５に移す。機能ブロック３１０に関して、実行される符号化のセットアップは、目標とするビットレートの設定と同様に、符号化プロセスに含まれる任意のセットのパラメータの指定を含む。機能ブロック３１５は、入力ビデオコンテンツを分析し、制御をループリミットブロック３２０に移す。機能ブロック３１５及びＣＢＲ符号化の場合に関して、コンテンツ分析のタスクは、そのコンテンツに基づいて現在のピクチャの目標とするビット数の僅かな調節を含む。機能ブロック３１５及びＶＢＲの場合に関して、コンテンツ分析モジュールは、符号化の複雑度を取得して、利用可能なビットをビデオに適応的に割り当てるため、全体のビデオの実際の符号化を含む。ループリミットブロック３２０は、ピクチャの変数ｊ＝１，．．．＃を使用して、入力ビデオコンテンツにおけるそれぞれのピクチャを通してループ（１）を開始し、制御を機能ブロック３２５に移す。機能ブロック３２５は、目標とするビット数からピクチャｊについて基準の量子化ステップのサイズｑを計算し、制御をループリミットブロック３３０に移す。ループリミットブロック３３０は、ピクチャｊにおけるマクロブロック（ＭＢ）の変数ｉ＝１，．．．，＃を使用して、現在のピクチャにおけるそれぞれマクロブロックを通してループ（２）を開始し、制御を機能ブロック３３５に移す。機能ブロック３３５は、そのコンテンツ及び／又は前の符号化の結果に基づいて、ＭＢｉについて量子化ステップのサイズｑを調節し、制御を機能ブロック３４０に移す。機能ブロック３３５に関して、たとえば、滑らかなＭＢは、知覚品質を改善するためにｑを低減する。別の例では、前のＭＢが本来割り当てられたビット数よりも多くのビットを使用する場合、現在のＭＢは、本来割り当てられたビット数よりも少ないビットを消費するようにｑを増加する。この計算は、２〜３例を挙げると、ρドメインレートモデル又はＴＭＮ８レートモデルに基づくことができる。機能ブロック３４０は、ｑでマクロブロックｉを符号化し、制御をループリミットブロック３４５に移す。ループリミットブロック３４５は、ループ（２）を終了し、制御をループリミットブロック３５０に移す。ループリミットブロック３５０は、ループ（１）を終了し、制御を終了ブロック３９９に移す。
【００５４】
このアプローチでは、固定された丸めのオフセットは、全ての符号化されたピクチャに適用され、量子化ステップのサイズのみが調節される。たとえば、多くのＭＰＥＧ−４  ＡＶＣ規格の映像符号化の応用では、丸めのオフセットは、イントラピクチャ及びインターピクチャのそれぞれについて、デフォルトの設定により、１／３．０及び１／６．０に設定される。ビットレートの制約が与えられると、量子化ステップのサイズのみを調節することは、最も高い可能な知覚品質をビデオセグメントに常に提供することはできない。さらに、固定された丸めのオフセットは、様々なビデオ特性に常に適合しない。
【００５５】
［知覚品質を改善するための丸めのオフセットの調節］
少なくとも１つの実施の形態によれば、知覚品質を改善するため、量子化ステップのサイズを調節することに加えて、丸めのオフセットｓを調節する方法及び装置が記載される。調節は、全体のビデオ、ビデオのセグメント、あるピクチャにおける領域等に適用される。
【００５６】
図４及び図５は、量子化の調節プロセスにおいて量子化ステップのサイズのほかに丸めオフセットを含む特定の実施の形態を例示する。ビット数がどのように割り当てられたかに依存して、例示される実施の形態は、可変ビットレート（ＶＢＲ）又は固定ビットレート（ＣＢＲ）のアプリケーションに役立つ。また、例示される実施の形態は、マルチパスエンコーダの一部であり、他のパスのための情報を供給する。本発明が適用される、これらの応用及びシナリオ、並びに様々な他の応用及びシナリオは、本発明の精神を維持しつつ、当業者により容易に決定される場合がある。
【００５７】
［実施例１］
図４は、量子化の丸めのオフセットが知覚品質を改善するためにどのように適応的に選択されるかを例示する。この方法では、エンコーダは、コンテンツを分析して、丸めのオフセットｓを自動的に決定する。決定の規則は、インター符号化及びイントラ符号化、異なる変換、異なるビットレート等について個別に設計することができる。分析は、計算上の複雑度を節約するため、符号化される全体のビデオに関して、又はビデオの一部に関して行われる。図４におけるワークフローが全体のビデオに適用されたとき、全てのピクチャは、同じ丸めのオフセットを有し、ワークフローがあるシーンに適用されたとき、あるシーンにおける全てのピクチャは、同じ丸めのオフセットを共有し、値はあるシーンから別のシーンへと異なる。シーンに適応したソリューションが計算上の複雑度を必要とする一方で、シーンに適応したソリューションは、より柔軟であって、高い知覚品質を得ることにおいてコンテンツに良好に適合する。また、ワークフローは、１つの個々のピクチャに適用され、それぞれのピクチャは、異なる丸めのオフセットを選択する。ビデオは、通常、１つのシーン内で静止しているので、異なる丸めのオフセットで１つのシーン内のピクチャを符号化することは、そのシーン内の視覚的な品質の不一致を生じる。
【００５８】
図４を参照して、知覚品質を改善するため、あるピクチャレベルに関する丸めのオフセットの調節のための例示的な方法は、参照符号４００により示される。本方法４００は、開始ブロック４０５を含み、この開始ブロックは、制御を機能ブロック４１０に移す。機能ブロック４１０は、随意にオペレータにより、符号化のセットアップを実行し、制御を機能ブロック４１５に移す。機能ブロック４１５は、入力ビデオコンテンツを分析し、制御を機能ブロック４２０に移す。機能ブロック４２０は、丸めのオフセットｓを適応的に選択し、制御をループリミットブロック４２５に移す。ループリミットブロック４２５は、ピクチャの変数ｊ＝１，．．．，＃を使用して、入力ビデオコンテンツにおけるそれぞれのピクチャを通してループ（１）を開始し、制御を機能ブロック４３０に移す。機能ブロック４３０は、ビットレートの制約及び丸めのオフセットｓが与えられると、ピクチャｊについて基準の量子化ステップのサイズｑを計算し、制御をループリミットブロック４３５に移す。ループリミットブロック４３５は、ピクチャｊにおけるマクロブロック（ＭＢ）の変数ｉ＝１，．．．，＃を使用して、現在のピクチャにおけるそれぞれのマクロブロックを通してループ（２）を開始し、制御を機能ブロック４４０に移す。機能ブロック４４０は、そのコンテンツに基づいてＭＢｉについて量子化ステップのサイズｑを調節し、制御を機能ブロック４４５に移す。機能ブロック４４５は、ｑでマクロブロックｉを符号化し、制御をループリミットブロック４５０に移す。ループリミットブロック４５０は、ループ（２）を終了し、制御をループリミットブロック４５５を移す。ループリミットブロック４５５は、ループ（１）を終了し、制御を終了ブロック４９９に移す。
【００５９】
本方法４００では、丸めのオフセット値は、ピクチャからピクチャへのコンテンツに適合し、１つのピクチャにおける全てのＭＢは、同じ丸めのオフセットを使用する。本方法４００の１つの利点は、本方法はコンテンツに適合するものであって、統合するのが容易であることである。本方法４００の１つの問題点は、本方法は、滑らかな領域とざらつきのある領域とを識別せず、全てのＭＢに同じ丸めのオフセットを無分別に割り当てる。ビットレートが制限されるとき、丸めのオフセットの調節のためにざらつきのある領域で費やされる余分のビットは、大きな量子化ステップのサイズでピクチャが符号化され、エンコーダが高い品質を得るのを妨げる。
【００６０】
［実施例２］
図５は、図４に記載される方法の変形例を例示する。図５の提案される方法では、丸めのオフセットは、それぞれのＭＢについて決定される。１実施の形態では、それぞれのＭＢは、２つの予め定義された値のうちの１つを選択する。勿論、本発明の実施の形態は、丸めのオフセットの２つの予め定義された値のみに限定されず、本発明の精神を維持しつつ、２以外の値が使用される場合がある。この実施の形態では、それぞれのピクチャは、２つのクラスのＭＢ、すなわちテクスチャＭＢ及び滑らかなＭＢに分割される。滑らかな領域で微細な詳細を保持することは重要であるので、丸めのオフセットは、より小さい係数を保持するためにこれらの領域に割り当てられる。対照的に、微細な詳細の損失は、テクスチャマスキング効果のために、ざらつきのある領域において目えにくく、別の丸めのオフセットは、小さな係数において余りに多くのビットを費やすことなしに割り当てられる。
【００６１】
図５を参照して、知覚品質を改善するため、あるマクロブロックレベルへの丸めのオフセットの調節の例示的な方法は、参照符号５００により示される。本方法５００は、開始ブロック５０５を含み、この開始ブロックは、制御を機能ブロック５１０に移す。機能ブロック５１０は、随意にオペレータにより、符号化のセットアップを実行し、制御を機能ブロック５１５に移す。機能ブロック５１５は、入力ビデオコンテンツを分析し、入力ビデオコンテンツのマクロブロックを分割し、制御をループリミットブロック５２０に移す。ループリミットブロック５２０は、ピクチャの変数ｊ＝１，．．．，＃を使用して、入力ビデオコンテンツにおけるそれぞれのピクチャを通してループ（１）を開始し、制御を機能ブロック５２５に移す。機能ブロック５２５は、ビットレートの制約が与えられると、ピクチャｊについて量子化ステップのサイズｑを計算し、制御を機能ブロック５３０に移す。機能ブロック５３０は、それぞれのマクロブロックについて丸めのオフセットを決定し、制御をループリミットブロック５３５に移す。ループリミットブロック５３５は、ピクチャｊにおけるマクロブロック（ＭＢ）の変数ｉ＝１，．．．，＃を使用して、現在のピクチャにおけるそれぞれのマクロブロックを通してループ（２）を開始し、制御を機能ブロック５４０に移す。機能ブロック５４０は、そのコンテンツに基づいてＭＢｉについて量子化ステップサイズｑを調節し、制御を機能ブロック５４５に移す。機能ブロック５４５は、ｑ及びｓでマクロブロックｉを符号化し、制御をループリミットブロック５５０に移す。ループリミットブロック５５０は、ループ（２）を終了し、制御をループリミットブロック５５に移す。ループリミットブロック５５５は、ループ（１）を終了し、制御を終了ブロック５９９に移す。
【００６２】
本方法５００では、丸めのオフセットの値は、あるＭＢレベルでコンテンツに適合する。これは、微細な詳細が知覚的に重要である領域で高い知覚品質を提供し、エンコーダが他の領域で余りに多くのビットを費やすのを防止する。しかし、大部分の既存のレート制御アルゴリズムは、ＭＢレベルの丸めのオフセットの調節に適合せず、これは、ターゲットビットレートを得ることにおいて、レート制御アルゴリズムに課題を与える。
【００６３】
［実施例３］
図６は、図５に記載される方法５００の変形例である方法６００を例示する。本方法６００では、丸めのオフセットは、コンテンツの特徴及び利用可能なビットの両者を考慮することで、符号化プロセスの間にそれぞれのマクロブロックで決定される。たとえば、実施の形態では、マクロブロックの分散及び現在のマクロブロックに割り当てられるビット数に依存して、エンコーダは、マッピング関数に基づいてその丸めのオフセットを選択する。
【００６４】
図６を参照して、知覚品質を改善するため、あるマクロブロックレベルに関する丸めのオフセットの調節のための別の例示的な方法は、参照符号６００により示される。本方法６００は、開始ブロック６０５を含み、この開始ブロックは、制御を機能ブロック６１０に移す。機能ブロック６１０は、随意にオペレータにより、符号化のセットアップを実行し、制御を機能ブロック６１５に移す。機能ブロック６１５は、入力ビデオコンテンツを分析し、制御をループリミットブロック６２５に移す。ループリミットブロック６２５は、ピクチャの変数ｊ＝１，．．．，＃を使用して、入力ビデオコンテンツにおけるそれぞれのピクチャを通してループ（１）を開始し、制御を機能ブロック６３０に移す。機能ブロック６３０は、ビットレートの制約が与えられると、ピクチャｊについて量子化ステップのサイズｑを計算し、制御をループリミットブロック６３５に移す。ループリミットブロック６３５は、ピクチャｊにおけるマクロブロック（ＭＢ）の変数ｉ＝１，．．．，＃を使用して、現在のピクチャにおけるそれぞれのマクロブロックを通してループ（２）を開始し、制御を機能ブロック６４０に移す。機能ブロック６４０は、そのコンテンツに基づいてＭＢｉについて量子化のステップのサイズｑ及び丸めのオフセットｓを調節し、制御を機能ブロック６４５に移す。機能ブロック６４５は、ｑ及びｓでマクロブロックを符号化し、制御をループリミットブロック６５０に移す。ループリミットブロック６５０は、ループ（２）を終了し、制御をループリミットブロック６５５に移す。ループリミットブロック６５５は、ループ（１）を終了し、制御を終了ブロック６９９に移す。
【００６５】
図５の方法５００と比較して、本方法６００は、あるマクロブロックレベルに関して丸めのオフセット値を選択することにおける更なる柔軟性を提供する。図５における方法に類似して、本方法６００は、ターゲットビットレートを得ることにおけるレート制御アルゴリズムに課題を与える。
【００６６】
［丸めのオフセットを適応的に選択する方法］
図７では、丸めのオフセットが１実施の形態に従ってどのように決定されるかが例示される。この例では、ビデオにおけるマクロブロックは、テクスチャのマクロブロック又は滑らかなマクロブロックとして分類される。滑らかな領域について丸めのオフセットの調節に焦点をあてる。ざらつきのあるマクロブロックについて、デフォルトの丸めのオフセットは、レート歪みの性能を最適化するために使用される。勿論、この例は、丸めのオフセットが決定される１つの方法に関する。したがって、本発明の精神を維持しつつ、本実施の形態で提供される本発明の教示が与えられると、当業者であれば、丸めのオフセットを決定する様々な方法を創作するように、本発明は、この例のように丸めのオフセットを決定することに限定されない。
【００６７】
図７を参照して、丸めのオフセットを決定する例示的な方法は、参照符号７００により示される。本方法７００は、開始ブロック７０５を含み、この開始ブロックは、制御を機能ブロック７２０を移す。機能ブロック７２０は、ピクチャを読み、制御を機能ブロック７３０に移す。機能ブロック７３０は、ＭＢをテクスチャマクロブロック又は滑らかなマクロブロックに分類し、制御を機能ブロック７４０に移す。機能ブロック７４０は、滑らかなマクロブロックの特徴を分析し、制御を機能ブロック７５０に移す。機能ブロック７５０は、滑らかな領域について丸めのオフセットｓを決定し、制御を終了ブロック７９９に移す。機能ブロック７４０に関して、１実施の形態では、画素領域又は変換領域における分散を使用して、微細な詳細の強度として特徴を分析することができる。さらに、機能ブロック７４０に関して、別の実施の形態では、推定される量子化ステップのサイズでのゼロ係数の数を使用して、強度を示すことができる。次いで、機能ブロック７５０により、特徴は丸めのオフセットにマッピングされる。たとえば、マクロブロックは、その分散が閾値Ｔ１よりも小さい場合に、丸めのオフセットｓ１を割り当て、分散がＴ２よりも小さく、Ｔ１よりも大きい場合にｓ２を割り当て、その他の場合にはｓ３を割り当てる。更に別の実施の形態では、機能又はルックアップテーブルは、分散を丸めのオフセット値にマッピングするために適用される。
【００６８】
図８を参照して、丸めのオフセットが既知であって、ビットストリームで送出されない場合の、ピクチャデータを復号化する例示的な方法は、参照符号８００により示される。本方法８００は、開始ブロック８１０を含み、この開始ブロックは、制御を機能ブロック８２０に移す。機能ブロック８２０は、ビットストリームを読んで分析し、制御をループリミットブロック８３０に移す。ループリミットブロック８３０は、ピクチャの変数ｉ＝１，．．．，＃を使用して、入力ビデオコンテンツにおけるそれぞれのピクチャを通してループを開始し、制御を機能ブロック８４０に移す。機能ブロック８４０は、ピクチャｉについて量子化ステップのサイズｑｉを計算し、制御を機能ブロック８５０に移す。機能ブロック８５０は、ｑｉでピクチャｉを再構成し、制御をループリミットブロック８６０に移す。ループリミットブロック８６０は、ループを終了し、制御を終了ブロック８９９に移す。
【００６９】
図９を参照して、丸めのオフセットを使用したデコーダで、符号化ユニットを再構成する例示的な方法は、参照符号９００により示される。本方法９００は、開始ブロック９１０を含み、この開始ブロックは、制御を機能ブロック９２０に移す。機能ブロック９２０は、ビットストリームを読んで分析し、制御をループリミットブロック９３０に移す。ループリミットブロック９３０は、符号化ユニットの変数ｉ＝１，．．．，＃を使用して、入力ビデオコンテンツにおけるそれぞれのピクチャを通してループを開始し、制御を機能ブロック９４０に移す。機能ブロック９４０は、符号化ユニットｉの量子化ステップのサイズｑｉ及び丸めのオフセットｓｉを分析又は計算し、制御をループリミットブロック９５０に移す。機能ブロック９５０は、ｑｉ及びｓｉで符号化ユニットｉを再構成し、制御をループリミットブロック９６０に移す。ループリミットブロック９６０は、ループを終了し、制御を終了ブロック９９９に移す。本方法９００では、符号化ユニットは、あるピクチャ、あるグループオブピクチャ、あるマクロブロック、又はあるグループオブマクロブロックとすることができる。
【００７０】
図１０を参照して、丸めのオフセットを使用したエンコーダで、入力の符号化ユニットを符号化する例示的な方法は、参照符号１０００により示される。本方法は、例示及び簡単さのために符号化プロセスの一部を示すものであり、全体の符号化プロセスを表すことを意味するものではないことを理解されたい。本方法１０００は、開始ブロック１００５を含み、この開始ブロックは、制御を機能ブロック１０１０に移す。機能ブロック１０１０は、入力の符号化ユニットと基準の符号化ユニットとの間の差に対応する入力の符号化ユニットの残差を決定し、制御を機能ブロック１０１５に移す。機能ブロック１０１５は、ある変換を残差に適用して、少なくとも１つの変換係数を取得し、制御を機能ブロック１０２０に移す。機能ブロック１０２０は、特定の量子化ステップのサイズ及び丸めのオフセットを選択し、選択された特定の量子化ステップのサイズ及び丸めのオフセットを適用することで、少なくとも１つの変換係数を量子化し、制御を終了ブロック１０９９に移す。
【００７１】
図１１を参照して、丸めのオフセットを選択する例示的な方法は、参照符号１１００により示される。本方法１１００は、本発明に従い、丸めのオフセットが選択される基準のうちの幾つかを示すことが意図される。
【００７２】
本方法１１００は、開始ブロック１１０５を含み、この開始ブロックは、制御を機能ブロック１１１０に移す。機能ブロック１１１０は、（符号化ユニットを含む全体のビデオ系列、系列の一部、符号化ユニットに関連するピクチャ、ピクチャにおける領域、滑らかである領域又はざらついている領域の分類、イントラ符号化が使用されたか又はインター符号化が使用されたか、１以上の変換のタイプ、１以上のビットレート、画素領域の分散、変換領域の分散、特定の又は別の量子化ステップのサイズでのゼロ係数の数、のうちの１つに応じて）丸めのオフセットを選択し、制御を終了ブロック１１９９に移す。
【００７３】
図１２を参照して、丸めのオフセットを適用する例示的な方法は、参照符号１２００により示される。本方法１２００は、本発明に従い、丸めのオフセットが適用されるアイテムのうちの幾つかを示すことが意図される。
【００７４】
本方法１２００は、開始ブロック１２０５を含み、この開始ブロックは、制御を機能ブロック１２１０に移す。機能ブロック１２１０は、丸めのオフセットを（符号化ユニットを含む全体のビデオ系列、系列の一部、符号化ユニットに関連するピクチャ、又はピクチャにおける領域、のうちの少なくとも１つ）に適用し、制御を終了ブロック１２９９に移す。
【００７５】
図１３を参照して、丸めのオフセットを使用したデコーダで、符号化ユニットを復号化する例示的な方法は、参照符号１３００により示される。本方法は、例示及び簡単さのために復号化プロセスの一部を示すものであって、全体の復号化プロセスを表すことを意味していないことを理解されたい。本方法１３００は、開始ブロック１３０５を含み、この開始ブロックは、制御を機能ブロック１３１０に移す。機能ブロック１３１０は、丸めのオフセットを選択することを表す情報を受け、入力の符号化ユニットと基準の符号化ユニットとの間の変換及び量子化された差に対応する少なくとも１つの量子化された係数を受け、制御を機能ブロック１３１５に移す。機能ブロック１３１５は、特定の量子化ステップのサイズ及び丸めのオフセットを選択し、選択された特定の量子化ステップのサイズ及び丸めのオフセットを適用することで、少なくとも１つの量子化された係数に逆量子化を施して、少なくとも１つの逆量子化された係数を取得し、制御を機能ブロック１３２０に移す。機能ブロック１３２０は、逆変換を少なくとも１つの逆量子化された係数に施して、再構成された残差を取得し、制御を終了ブロック１３９９に移す。
【００７６】
本発明の多くの付随する利点／特徴の幾つかに関する説明が与えられ、そのうちの幾つかは上述された。たとえば、１つの利点／特徴は、入力の符号化単位と基準の符号化単位との間の差に対応する入力の符号化単位の残差を決定し、決定された残差に変換を施して、少なくとも１つの変換係数を取得し、特定の量子化ステップのサイズ及び丸めのオフセットを選択することで、取得された少なくとも１つの変換係数を量子化することにより、入力の符号化単位を符号化するビデオエンコーダを有する装置である。
【００７７】
別の利点／特徴は、上述されたビデオエンコーダを有する装置であり、丸めのオフセットは、符号化単位を含む全体のビデオ系列、ビデオ系列の一部、符号化単位に関連するピクチャ、又はピクチャにおける領域に適用されるように選択される。
【００７８】
更に別の利点／特徴は、ビデオエンコーダを有する装置であって、上述されたように、丸めのオフセットは、符号化単位を含む全体のビデオ系列、ビデオ系列の一部、符号化単位に関するピクチャ、又はピクチャにおける領域に適用されるように選択され、前記一部は、１以上のグループオブピクチャに含まれるか又は１以上のグループオブピクチャとは独立な１以上のシーン又は１以上のピクチャを含み、前記領域は、１以上のマクロブロックを含む。
【００７９】
更に別の利点／特徴は、ビデオエンコーダを有する装置であり、上述されたように、前記一部は、１以上のグループオブピクチャに含まれるか又は１以上のグループオブピクチャとは独立な１以上のシーン又は１以上のピクチャを含み、前記領域は、１以上のマクロブロックを含み、異なる丸めのオフセットは、１以上のシーン、１以上のピクチャ、及び１以上のマクロブロックのうちの異なる１に適用可能である。
【００８０】
さらに、別の利点／特徴は、上述されたビデオエンコーダを有する装置であり、丸めのオフセットは、画素領域の分散、変換領域の分散、及び、特定の又は別の量子化ステップサイズでのゼロ係数の数の少なくとも１つに応じて選択される。
【００８１】
さらに、別の利点／特徴は、上述されたビデオエンコーダを有する装置であり、丸めのオフセットは、符号化単位を含む全体のビデオ系列、ビデオ系列の一部、符号化単位に関するピクチャ、ピクチャにおける領域、滑らかな領域又はざらつきのある領域の分類のうちの少なくとも１つに応じて選択される。
【００８２】
また、別の利点／特徴は、ビデオエンコーダを有する装置であり、上述されたように、丸めのオフセットは、符号化単位を含む全体のビデオ系列、ビデオ系列の一部、符号化単位に関するピクチャ、ピクチャにおける領域、滑らかな領域又はざらつきのある領域の分類のうちの少なくとも１つに応じて選択され、領域は、１以上のマクロブロックを含み、丸めのオフセットは、滑らかであると分類されたマクロブロックについてのみ選択されて適用され、エンコーダにより一般的に使用されるデフォルトの丸めのオフセットは、ざらつきがあると分類されたマクロブロックに適用される。
【００８３】
更に、別の利点／特徴は、ビデオエンコーダを有する装置であり、領域は、１以上のマクロブロックを含み、上述されたように、丸めのオフセットは、滑らかであると分類されたマクロブロックについてのみ選択されて適用され、エンコーダにより一般的に使用されるデフォルトの丸めのオフセットは、ざらつきがあると分類されたマクロブロックに適用され、丸めのオフセットは、入力の符号化単位がイントラ予測を使用して符号化されたか又はインター予測を使用して符号化されたか、１以上の変換のタイプ、及び符号化単位を符号化するための１以上の異なるビットレートの少なくとも１つに応じて選択される。
【００８４】
更に、別の利点／特徴は、上述されたビデオエンコーダを有する装置であり、エンコーダは、エンコーダにより出力されるビットストリームに選択された丸めのオフセットを表す情報を埋め込む。
【００８５】
本発明のこれらの特徴及び利点、並びに他の特徴及び利点は、本明細書での教示に基づいて当業者により容易に確認される場合がある。本発明の教示は、ハードウェア、ファームウェア、特定用途向けプロセッサ又はそれらの組み合わせの様々な形態で実現される。
【００８６】
より好ましくは、本発明の教示は、ハードウェア及びソフトウェアの組み合わせとして実現される。更に、ソフトウェアは、プログラム記録媒体に記録されるアプリケーションプログラムとして実現される。アプリケーションプログラムは、適切なアーキテクチャを有するコンピュータにアップロードされ、該コンピュータにより実行される。好ましくは、コンピュータは、１以上の中央処理装置（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、及び入力／出力（Ｉ／Ｏ）インターフェースのようなハードウェアを有するコンピュータプラットフォームで実現される。また、コンピュータプラットフォームは、オペレーティングシステム及びマイクロ命令コードを含む。本明細書で記載される様々なプロセス及び機能は、ＣＰＵにより実行される、マイクロ命令コードの一部又はアプリケーションプログラムの一部であるか、或いは、それらの組合せである。更に、様々な他の周辺装置は、更なるデータ記録装置及びプリンティング装置のようなコンピュータプラットフォームに接続される。
【００８７】
添付図面に示されるシステム構成要素及び方法の幾つかは、ソフトウェアで好ましくは実現されるため、システム構成要素又はプロセス機能ブロック間の実際の接続は、本発明がプログラムされる方式に依存して異なることを理解されたい。本明細書での教示が与えられると、当業者は、本発明のこれらの実現又はコンフィギュレーション或いは類似の実現又はコンフィギュレーションを創作するであろう。
【００８８】
例示的な実施の形態が添付図面を記載されたが、本発明はそれら正確な実施の形態に限定されるものではなく、本発明の範囲又は精神から逸脱することなしに、様々な変形及び変更が当業者により行われるであろう。全ての係る変形及び変更は、特許請求の範囲で述べられるように本発明の範囲に含まれることが意図される。
【図１】
0005749710.tif 000012
【図２】
0005749710.tif 000013
【図３】
0005749710.tif 000014
【図４】
0005749710.tif 000015
【図５】
0005749710.tif 000016
【図６】
0005749710.tif 000017
【図７】
0005749710.tif 000018
【図８】
0005749710.tif 000019
【図９】
0005749710.tif 000020
【図１０】
0005749710.tif 000021
【図１１】
0005749710.tif 000022
【図１２】
0005749710.tif 000023
【図１３】
0005749710.tif 000024