(57)【要約】      （修正有）【課題】ビデオコード変換プロセスで非ブロック化に応答する変換係数識別解析モデル、トランスコーダのコード変換プロセスで不必要な非ブロック化操作回避方法、応答性係数の増大により非ブロック化機能強化最適量子化器選択方法の提供。【解決手段】ブロック係数を受け取り、第２の係数（Ｃ’）を生成し、前記係数に対して非ブロック化操作し、前記第２の係数（Ｃ’）に対して量子化し、コード変換済み係数（Ｃq’）を生成、受け取ったの第１の係数および第２の係数に前記第１および前記第２の量子化ステップサイズに基づき、前記第１の係数が応答的か否かを判定し、マクロブロックの入力量子化ステップサイズと複数の係数を受け取り、前記複数の係数の非ゼロ係数の分布を求め、第１のテーブルに基き候補量子化ステップサイズを求め、第２のテーブルに基づいて前記量子化ステップサイズから前記最適な量子化ステップサイズを決定する方法。【選択図】図１
2005167991.tif 000002
【特許請求の範囲】
【請求項１】
前記メディアストリームのピクセルのブロックに関連する係数を受け取ることと、
第２の係数（Ｃ’）を生成するように、前記係数に対して非ブロック化操作を実行することと、
コード変換済み係数（Ｃq’）を生成するように、前記第２の係数（Ｃ’）に対して量子化を実行することと、
を含む、メディアストリームを非ブロック化しコード変換する方法。
【請求項２】
前記係数は量子化係数（Ｃq）である、請求項１記載のメディアストリームを非ブロック化しコード変換する方法。
【請求項３】
前記係数を受け取ることは、
前記量子化係数（Ｃq）を予め符号化されたビットストリームから受け取ることと、
第１の逆量子化係数（Ｃ）を生成するように、前記量子化係数（Ｃq）に対して逆量子化を実行することと、
前記逆量子化は第１のステップサイズ（ｓ1）を有する、逆量子化を実行することと、
を含む、請求項２記載のメディアストリームを非ブロック化しコード変換する方法。
【請求項４】
前記量子化は、第２のステップサイズ（ｓ2）を有し、該第２のステップサイズ（ｓ2）は、前記第１のステップサイズ（ｓ1）よりも大きい、請求項３記載のメディアストリームを非ブロック化しコード変換する方法。
【請求項５】
前記量子化係数（Ｃq）は、離散コサイン変換（ＤＣＴ）係数である、請求項２記載のメディアストリームを非ブロック化しコード変換する方法。
【請求項６】
前記非ブロック化操作を実行することは、
前記第１の逆量子化係数（Ｃ）が応答的であるか否かを判定することと、
前記第１の逆量子化係数が応答的である場合に、前記第２の係数（Ｃ’）が非ブロック化係数となるように前記第１の逆量子化係数（Ｃ）を非ブロック化することと、
前記第１の逆量子化係数（Ｃ）が応答的ではない場合に、前記第２の係数（Ｃ’）を前記第１の逆量子化係数（Ｃ）とすることと、
を含む、請求項４記載のメディアストリームを非ブロック化しコード変換する方法。
【請求項７】
前記第１の逆量子化係数（Ｃ）が応答的であるか否かを判定することは、
前記第１のステップサイズ（ｓ1）に基づいて、前記第２のステップサイズ（ｓ2）に基づく少なくとも１つの応答係数の分布を含むテーブルにアクセスすることと、
前記第２のステップサイズ（ｓ2）における前記第１の逆量子化係数（Ｃ）が応答的であるか否かを判定することと、
を含む、請求項６記載のメディアストリームを非ブロック化しコード変換する方法。
【請求項８】
前記量子化係数（Ｃq）の量子化誤差に基づいて、前記第２のステップサイズ（ｓ2）に最適な値を求めることをさらに含む、請求項４記載のメディアストリームを非ブロック化しコード変換する方法。
【請求項９】
前記メディアストリームのピクセルの複数のブロックに関連する複数の第１の係数および複数の第２の係数と、第１の量子化ステップサイズと、第２の量子化ステップサイズと、量子化操作とを受け取ることと、
前記複数の第１の係数の中の第１の係数および前記複数の第２の係数の中の第２の係数に前記量子化操作を実行することであって、前記量子化操作は前記第１の量子化ステップサイズおよび前記第２の量子化ステップサイズに基づくものである、量子化操作を実行すること、
前記量子化操作に基づいて、前記第１の係数が応答的であるか否かを判定することと、
を含む、メディアストリームの係数の応答性を判定する方法。
【請求項１０】
マクロブロックの入力量子化ステップサイズおよび複数の係数を受け取ることと、
前記複数の係数の非ゼロ係数の大きさの分布を求めることと、
第１のテーブルに基づいて複数の候補量子化ステップサイズを求めることと、
第２のテーブルに基づいて前記複数の量子化ステップサイズから前記最適な量子化ステップサイズを決定することと、
を含む、最適な量子化ステップサイズを求める方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルメディアの分野に関連する。詳細には、本発明の実施形態は、メディアストリームを非ブロック化(deblock)しコード変換(transcode)する方法およびシステムに関する。
【背景技術】
【０００２】
重要なビデオコード変換応用の１つは、ビットレート削減コード変換である。レート削減コード変換は、通常、打ち切りベースのコード変換を使用して、または再量子化ベースのコード変換により実現される。選択的係数打ち切りコード変換は、通常、比較的小さなビットレート削減にしか結び付かず、多くの場合、通常のビデオコード変換応用ではまれにしか使用されない。
【０００３】
再量子化ベースのコード変換は、より粗い量子化ステップを使用して再量子化することによってレート削減を実現する。変換領域係数は粗く量子化されるため、ブロッキングアーチファクトが生成され得る。特に、ブロッキングアーチファクトは、独立して圧縮されている各ブロックの結果として生じる。ブロッキングアーチファクトはエッジとして見える場合もあれば、またブロック間にリンギングを生じさせる場合もある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
復号化済みのピクセルブロックのブロッキングアーチファクトを低減する多くの方法が開発されている。具体的には、現行の非ブロック化では、通常、ピクセルブロックを復号化し、復号化した後にピクセルブロックを非ブロック化し再符号化する。しかし、コード変換を用いる場合、復号化および再符号化サイクルはブロッキングアーチファクトの増大につながり得る。これは、復号化および再符号化が利用可能ではない情報に依拠し得るためである。さらに、コード変換応用により提供される高い圧縮により、ブロッキングアーチファクトは、圧縮が大きくなるにつれて悪化する。たとえば、再量子化ベースのコード変換は、費用のかかる逆変換が回避されるように再量子化を変換領域係数に適用する。現在、非ブロック化は、変換領域のコード変換と併せて実行することはできない。
【課題を解決するための手段】
【０００５】
本発明であるメディアストリームを非ブロック化(deblock)しコード変換する方法の各種実施形態について述べる。メディアストリームのピクセルブロックに関連する係数が受け取られる。係数に対して非ブロック化操作が実行されて、第２の係数が生成される。第２の係数に量子化が実行されて、コード変換済み係数が生成される。
【０００６】
本明細書に組み込まれ、その一部を成す添付図面は本発明の実施形態を示し、説明とともに本発明の原理を説明する役割を果たす。
【発明を実施するための最良の形態】
【０００７】
これより、例を添付図面に示す本発明の各種実施形態を詳細に参照する。本発明についてこれら実施形態と併せて説明するが、本発明をこれら実施形態に限定する意図はないことが理解されよう。対照的に、本発明は、併記の特許請求の範囲に規定される本発明の精神および範囲内に包含し得る代替、変更、および等価物を包含するものである。さらに、本発明の以下の説明では、本発明の完全な理解を提供するために多くの特定の詳細が記されている。一方、本発明の態様を不必要に曖昧にしないように、周知の方法、手順、構成要素、および回路については詳細に説明していない。
【０００８】
本発明の態様は、一般に情報および命令を処理するプロセッサ、情報および命令を記憶するランダムアクセス（揮発性）メモリ（ＲＡＭ）、静的な情報および命令を記憶する読み取り専用（不揮発性）メモリ（ＲＯＭ）、情報および命令を記憶する、磁気ディスク、光ディスクおよびディスクドライブ等のデータ記憶装置、情報をコンピュータユーザに表示する表示装置（たとえば、モニタ）等の任意選択のユーザ出力装置、情報およびコマンド選択をプロセッサに伝達する、英数字キーおよび機能キーを含む任意選択のユーザ入力装置（たとえば、キーボード）、ならびにユーザ入力情報およびコマンド選択をプロセッサに伝達する、カーソル制御装置（たとえば、マウス）等の任意選択のユーザ入力装置を備えたコンピュータシステムで実施することができる。
【０００９】
［メディアストリームを非ブロック化しコード変換する方法およびシステム］
図１は、本発明の一実施形態によるコード変換システム１００のブロック図を示す。コード変換システム１００は、ビットレート削減コード変換に再量子化を利用し、非ブロック化機能を有する。コード変換システム１００は３つのモジュールである逆量子化器１０５と、非ブロック化メカニズム１１０と、トランスコーダ１１５とを含む。コード変換システム１００はコンピュータシステム上で実施できる。
【００１０】
コード変換システム１００は、メディアストリームのピクセルブロックに関連する係数を受け取る。本発明の実施形態は、ビデオストリーム等のグラフィックスデータを送信するメディアストリームに関する。簡潔明瞭にするために、ビデオストリームという語を本願において使用する。一実施形態では、係数は量子化係数Ｃqである。一実施形態では、量子化係数Ｃqは圧縮されたビデオストリームから受け取られる。一実施形態では、量子化係数Ｃqは離散コサイン変換（ＤＣＴ）係数である。
【００１１】
逆量子化器１０５は、量子化ステップサイズｓ1を使用して、量子化係数Ｃqに対して逆量子化操作（Ｑ1-1）を実行するように動作可能である。逆量子化器１０５は逆量子化係数Ｃを出力する。元の係数についての情報が利用可能ではない場合があることから、逆量子化係数Ｃの正確性はわからない場合があることを認識されたい。これは不可逆的再構築であるため、逆量子化係数Ｃは再構築されたピクチャにブロッキングアーチファクトをもたらし得る。本発明の実施形態は、コード変換システム１００において受け取った係数がすでに逆量子化されている場合には、逆量子化器１０５を必要としなくてもよいことも認識されたい。
【００１２】
非ブロック化メカニズム１１０は、逆量子化係数Ｃに対して非ブロック化操作を実行するように動作可能である。一実施形態では、ＤＣＴ領域非ブロック化操作が実行されて、第２の係数Ｃ’が得られる。ＤＣＴ領域非ブロック化操作は、サブバンド中の隣接係数に応じてＤＣＴ係数を変更する。ＤＣＴ領域非ブロック化操作は当分野において理解されているものである。ＤＣＴ領域非ブロック化操作の一例が、Triantafyllidis他、「Blocking Artifact Reduction in Frequency Domain」、Proc. ICIP2001, pp269-272, 2001に述べられている。
【００１３】
トランスコーダ１１５は、量子化ステップサイズｓ2を使用して第２の係数Ｃ’を再量子化するように動作可能であり、結果としてコード変換済み係数Ｃq’（たとえば、再量子化済み係数）を生成する。一実施形態では、量子化ステップサイズｓ2は、ブロック複雑性測定および現在のビット消費状態に応じて、各マクロブロックに対するビット配分を調整するトランスコーダ１１５のレート制御モジュールにより生成される。一実施形態では、量子化ステップサイズｓ2は量子化ステップサイズｓ1よりも小さい。したがって、コード変換済み係数Ｃq’は量子化済み係数Ｃq以下であり、おそらく、コード変換済み係数Ｃq’の符号化に必要なビットはより少数である。したがって、ビットレートの削減が達成される。
【００１４】
ビデオコード変換では、非ブロック化操作後に変更された係数はなおコード変換の対象であり（たとえば、再量子化）、非ブロック化変更を非効率にすることがある。特に、係数によっては、非ブロック化操作に応答するものもあれば、応答しないものもある。
【００１５】
本発明の実施形態は、コード変換の際の非ブロック化操作を加速するために、係数が非ブロック化に応答するか否かを判定することを対象とする。図２は、係数によっては非ブロック化操作に応答するものもあれば、応答しないものもあることを示す一例である。具体的には、図２は、本発明の一実施形態による２つの量子化器の例示的な量子化ビン(quantization bin)のグラフ２００を示す。一実施形態では、量子化器Ｑ1および量子化器Ｑ2は両方とも均一スカラ量子化器であり、グラフ２００は２つの異なる量子化ステップを使用して生成された２つの異なるビン(bin)の集合を示す。量子化器Ｑ1の元の量子化ステップサイズは量子化ステップサイズｓ1であり、量子化器Ｑ2のコード変換ステップサイズは量子化ステップサイズｓ2である。
【００１６】
例示のために、入力係数が量子化器Ｑ1のビンａに入る場合、再構築される係数は、矢印で表されるようにビンａの中間値で表される。非ブロック化後、調整済み係数は、ビンａの範囲内で可変である。したがって、再量子化結果は量子化器Ｑ2のビンＡまたはビンＢに入り得る。非ブロック化後係数は、Ｑ2の異なるビンにある状態になり得る場合、非ブロック化に応答する。もしくは、入力係数がビンａnに入る場合、非ブロック化後の係数は、ａnの全範囲がＣ内にあるため、非ブロック化プロセスがどのようにａnを変更するかに関わりなく常にビンＣに入る。入力係数は非ブロック化に応答しない。したがって、非応答係数については非ブロック化の効果がないため、非ブロック化操作を適用する必要はない。
【００１７】
非応答係数の値は、量子化器関数ｆ、量子化ステップｓ1およびｓ2の場合に以下のように導き出すことができる。直近への丸めを用いる均一スカラ量子化器を想定して、逆量子化関数ｆIを考える。入力ＤＣＴ係数（量子化ＤＣＴ係数）Ｄq＝ｎの場合、再構築済み係数はＣn＝ｆI（Ｃg，ｓ）である。但し、ｓは量子化ステップサイズである。Ｃnの量子化下限は、
【００１８】
【数１】
2005167991.tif 000003
【００１９】
と定義され、上限は、
【００２０】
【数２】
2005167991.tif 000004
【００２１】
と定義される。直近への丸め量子化（０．５の値はより大きな大きさに丸められる）は、式１および式２における切り捨てて丸められる項をもたらすことに注意すべきである。Ｃqに属するｉを入力係数の集合とし、Ｃq’に属するｊを再量子化後の係数の集合とすると、ＣqおよびＣq’は整数の部分集合であり、式１および式２から、
【００２２】
【数３】
2005167991.tif 000005
【００２３】
になる。非応答係数の集合は、
【００２４】
【数４】
2005167991.tif 000006
【００２５】
と定義される。式３を式４の条件項に代入し、［ｓ／２］＋［ｓ／２］＝ｓであることに留意すると、量子化理論が導き出される。具体的には、均一スカラ量子化器（直近丸め量子化）の場合、第１の量子化ステップサイズｓ1および再量子化器ステップサイズｓ2の場合、Ｃqに属する非応答係数ｉの大きさは、
【００２６】
【数５】
2005167991.tif 000007
【００２７】
を満足するものであり、応答係数ｉ’の大きさは、
【００２８】
【数６】
2005167991.tif 000008
【００２９】
により定義される間隔に入る。但し、ｊはＣq’に属する。
【００３０】
もしくは、量子化に際して丸め計算ではなく切り捨て計算を考える場合、応答係数の間隔は、
【００３１】
【数７】
2005167991.tif 000009
【００３２】
になる。式７は、均一スカラ量子化器のみを使用する切り捨て方式を考慮している。ここで、他のスカラ量子化器を使用してもよいのである。たとえば、デッドゾーン（dead zone）量子化器を（ＭＰＥＧにおけるフレーム間ピクチャの量子化に）使用する切り捨て方式も同様に評価することができる。
【００３３】
一般に、任意の（ｓ1，ｓ2）対の場合、量子化操作（たとえば、量子化関数ｆ）に従って、或る範囲の係数の応答係数および非応答係数を記録する係数応答性テーブルを得ることができる。たとえば、量子化係数がＭＰＥＧ−２ビデオストリームから得られる場合、範囲Ｒ＝［０，１０２４］である。ここで、範囲はＭＥＰＧ、Ｈ．２６ｘ、およびＪＰＥＧ等のメディアストリームの符号化に依存するのである。
【００３４】
一実施形態では、量子化操作は、式６に示すような丸め計算を用いる均一スカラ量子化器である。別の実施形態では、量子化器操作は、式７に示すような切り捨て計算を用いる均一スカラ量子化器である。説明を容易にするために、式６および式７の左辺をＬjと表し、右辺をＵjと表す。式６および式７の両方に対して、Ｌj−Ｕj＝１であることを証明することができる。言い換えれば、各間隔にせいぜい１つの応答係数しかない。したがって、式６および式７を使用して、係数の応答性を示す係数応答性テーブルを生成することができる。
【００３５】
図３は、本発明の一実施形態による、メディアストリームの係数の応答性を判定するプロセス３００のフローチャートを示す。一実施形態では、プロセス３００は、コンピュータ可読かつコンピュータ実行可能な命令の制御下でプロセッサおよび電子構成要素（たとえば、コンピュータシステム）によって実行される。特定のステップをプロセス３００において明らかにするが、このようなステップは例示的なものである。すなわち、本発明の実施形態は、他の様々なステップまたは図３に示すステップの変形の実行に適している。
【００３６】
ステップ３１０において、複数のピクセルブロックに関連する複数の第１の係数および複数の第２の係数、第１の量子化ステップサイズ、第２の量子化ステップサイズ、ならびに量子化操作を受け取る。一実施形態では、複数の第１の係数は量子化係数であり、複数の第２の係数はコード変換済み係数である。一実施形態では、量子化操作は丸め計算を用いる均一スカラ量子化器である。別の実施形態では、量子化操作は切り捨て計算を用いる均一スカラ量子化器である。
【００３７】
ステップ３２０において、量子化操作が、複数の第１の係数の中の第１の係数および複数の第２の係数の中の第２の係数に対して実行される。量子化操作は、第１の量子化ステップサイズ、第２の量子化ステップサイズ、および第２の係数を利用する。一実施形態では、量子化操作は、第１の係数が第１の量子化ステップサイズ、第２の量子化ステップサイズ、および第２の係数によって画定される間隔内にあるか否かを判定する。
【００３８】
ステップ３３０において、第１の係数が量子化操作に基づいて応答性を有するか否かが判定される。一実施形態では、係数が量子化操作により画定される間隔内に入る場合、第１の係数は応答性があると識別される。もしくは、係数が量子化操作により画定される間隔内に入らない場合、第１の係数は非応答性であると識別される。一実施形態では、量子化操作は下限および上限を定める。第１の量子化ステップサイズ、第２の量子化ステップサイズ、および第２の係数に基づいて、下限および上限が求められる。下限が第１の係数未満であり、かつ上限が第１の係数を上回る場合、第１の係数は応答性を有するものとして示される。
【００３９】
ステップ３４０において、量子化操作により処理する必要のある係数がまだあるか否かを判定する。一実施形態では、量子化操作が、複数の第１の係数の中の第１の係数および複数の第２の係数の中の第２の係数のあらゆる組み合わせに対して実行されたか否かが判定される。量子化操作により処理する必要のある係数がまだある場合、プロセス３００は、次の第１の係数および第２の係数の組み合わせを使用して、ステップ３２０に戻る。あるいは、量子化操作により処理する必要のある係数がもうない場合、プロセス３００はステップ３５０に進む。
【００４０】
ステップ３５０において、第１の量子化ステップサイズに対する複数の第１の係数の応答性の分布を含む係数応答性テーブルが生成される。係数応答性テーブルの第１の軸は複数の第１の係数に対応し、第２の軸は第２の量子化ステップサイズに対応する。ここで、係数応答性テーブルは、ステップ３４０の完了前に生成し得るのである。すなわち、係数応答性テーブルは、ステップ３３０において第１の係数の応答性が判定されると、その応答性が係数応答性テーブルに示されるように、１度に１つの係数ずつ生成することができる。
【００４１】
図４は、本発明の一実施形態による、丸め計算を用いる均一スカラ量子化器を使用してメディアストリームの係数の応答性(responsiveness)を判定するプロセス４００のフローチャートを示す。一実施形態では、プロセス４００は、コンピュータ可読かつコンピュータ実行可能な命令の制御下でプロセッサおよび電子構成要素（たとえば、コンピュータシステム）によって実行される。特定のステップをプロセス４００において明らかにするが、このようなステップは例示的なものである。すなわち、本発明の実施形態は、他の様々なステップまたは図４に示すステップの変形の実行に適している。
【００４２】
図４のステップ４０２において、可能なすべての量子化係数を非応答性(unresponsive)として設定する。ステップ４０４において、複数のコード変換済み係数の中のコード変換済み係数が１（たとえば、ｊ＝１）に設定されている第１の間隔から始まって、Ｌj（たとえば、式６の右辺）およびＵj（たとえば、式６の左辺）が求められる。ステップ４０６において、複数の量子化係数の中の第１の可能な量子化係数は１に等しく（たとえば、ｉ＝１）設定される。
【００４３】
ステップ４０８において、量子化係数に関して式６が満たされるか否かが判定される。言い換えれば、量子化係数がＬjとＵjの間隔内に入るか否かが判定される。量子化係数がＬjとＵjの間隔内に入る場合、ステップ４１０に示すように、量子化係数は応答性(responsive)であるとして設定され、プロセス４００はステップ４１２に進む。もしくは、量子化係数がＬjとＵjの間隔内に入らない場合、プロセス４００はステップ４１２に進む。
【００４４】
ステップ４１２において、量子化係数のすべての値がステップ４０８において処理されたか否かが判定される。量子化係数の値がまだすべては処理されていない場合、ステップ４１４に示すように、次の可能な量子化係数が選択され、プロセス４００はステップ４０８に進む。もしくは、量子化係数のすべての値が処理されている場合、プロセス４００はステップ４１６に進む。
【００４５】
ステップ４１６において、ＬjとＵjの間隔すべてがステップ４０８において処理されたか否かが判定される。間隔がすべては処理されていない場合、ステップ４１８に示すように、次の可能なコード変換済み係数が選択され、プロセス４００はステップ４０８に進む。もしくは、すべての間隔が処理されている場合、プロセス４００はステップ４２０に進む。ステップ４２０において、プロセス４００は終了する。
【００４６】
図５Ａは、本発明の一実施形態による、丸め計算を用いる均一スカラ量子化器を使用する応答性の係数および非応答性の係数の例示的な分布のグラフ５００を示す。グラフ５００は、第１の量子化ステップサイズ３（ｓ1＝３）を有するＭＰＥＧ−２ビデオストリームの応答性の係数および非応答性の係数の実際の分布を示す。縦軸は、ＭＰＥＧ−２ビデオストリームの場合は１〜３１の範囲を有する第２の量子化ステップサイズｓ2を示し、横軸は、ＭＰＥＧ−２ビデオストリームの場合は１〜１０２４の範囲を有する量子化係数Ｃq（たとえば、第１の係数）を示す。簡略にするため、グラフ５００は最初の３０個のみの量子化係数を示している。図示のように、「ｏ」は応答性の係数(responsive coefficient)を示し、「ｘ」は非応答性の係数(unresponsive coefficient)を示す。また、第２の量子化ステップサイズは第１の量子化ステップサイズよりも大きいことから、応答性は４〜３１の第２の量子化ステップサイズに対してのみ判定されることを理解されたい。一実施形態では、グラフ５００は第１の量子化ステップサイズそれぞれに生成される。しかし、ここで第１の量子化ステップサイズ、第２の量子化ステップサイズ、および量子化係数をすべて含む三次元テーブルを生成してもよいのである。
【００４７】
図５Ｂは、本発明の一実施形態による、切り捨て計算を用いる均一スカラ量子化器を使用した応答性の係数および非応答性の係数の例示的な分布のグラフ５１０を示す。グラフ５１０は図５Ａのグラフ５００と同様にして生成され、第１の量子化ステップサイズ３を有するＭＥＰＧ−２ビデオストリームの場合のものである。異なる量子化器が使用されていることにより、係数の応答性はグラフ５００にて使用された量子化器と異なる。
【００４８】
ここで、第２の量子化ステップサイズｓ2は通常、第１の量子化ステップサイズｓ1以上となるのである。したがって、コード変換済み係数は入力量子化係数よりも小さい。ビットレート削減コード変換では、Ｃqに属する任意所与のｉに関して、非ブロック化後、せいぜい２つの可能な再量子化出力しかない。この情報を使用して、応答性の係数に対してのみ非ブロック化操作を実行し、そうして入力係数の処理能力の効率化を促す非ブロック化可能なトランスコーダを実施することが可能である。
【００４９】
図６は、本発明の一実施形態による、応答性の係数を非ブロック化するコード変換システム６００のブロック図を示す。コード変換システム６００は、ビットレート削減コード変換に再量子化を利用し、非ブロック化機能を有する。コード変換システム６００は、逆量子化器６０５、係数応答性テーブル６１０、応答性セレクタ６２０、非ブロック化メカニズム６１０、およびトランスコーダ６１５を備える。ここで、コード変換システム６００はコンピュータシステム内で実施し得るのである。
【００５０】
コード変換システム６００は、メディアストリームのピクセルブロックに関連する係数を受け取る。一実施形態では、係数は量子化係数Ｃqである。一実施形態では、量子化係数Ｃqは圧縮されたビデオストリームから受け取られる。一実施形態では、量子化係数Ｃqは離散コサイン変換（ＤＣＴ）係数である。逆量子化器６０５は、量子化ステップサイズｓ1を使用して、量子化係数Ｃqに対して逆量子化操作（Ｑ1-1）を実行するように動作可能である。逆量子化器６０５は逆量子化係数Ｃを出力する。一実施形態では、逆量子化器は図１の逆量子化器１０５と同じ様式で動作する。
【００５１】
逆量子化係数Ｃはトランスコーダ６１５に送られる。トランスコーダ６１５は、量子化ステップサイズｓ2を使用して、逆量子化係数Ｃに対してコード変換（たとえば、量子化）操作（Ｑ2）を実行するように動作可能である。トランスコーダ６１５は、コード変換済み係数Ｃq’を出力する。一実施形態では、トランスコーダ６１５は図１のトランスコーダ１１５と同じ様式で動作する。
【００５２】
応答性セレクタ６３０は、量子化係数Ｃqを入力として使用し、ならびに量子化ステップサイズｓ1およびｓ2を使用してテーブル参照動作を実行する。一実施形態では、テーブル参照動作は、予め生成されている係数応答性テーブル６２０に基づく。一実施形態では、係数応答性テーブル６２０が、図３のプロセス３００または図４のプロセス４００に説明したように生成される。レート制御モジュールにより提案される量子化ステップサイズｓ2に基づいて、入力係数ｉが係数応答性テーブル６２０の対応するＣq’にマッピングされる。
【００５３】
応答性セレクタ６３０はテーブル参照動作を実行し、６３０の出力を使用して、スイッチ矢印６３５を制御する。Ｃqに属するｉが係数応答性テーブル６２０に従って非応答である場合、スイッチ矢印６３５は非応答ノード６４０に接続され、コード変換済み係数Ｃq’が出力される。代替として、ｉが係数応答性テーブル６２０に従って応答である場合、スイッチ矢印６３５は応答ノード６４５に接続される。その後、非ブロック化メカニズム６１０の非ブロック化プロセスが、逆量子化係数Ｃに従ってコード変換済み係数Ｃq’に適用される。コード変換済み係数Ｃq’は±１または０だけ変更され、Ｃq’’として出力される。一実施形態では、非ブロック化メカニズム６１０は、図１の非ブロック化メカニズム１０１と同じ様式で動作する。一実施形態では、コード変換システム６００のメモリユニットを使用して、逆量子化係数Ｃを非ブロック化メカニズム６１０に渡す。
【００５４】
［メディアストリームのコード変換に最適な量子化ステップサイズを求める方法］
量子化ステップサイズｓ1が小さい場合、通常、ビデオストリームに導入されるブロッキングは最小である。しかし、量子化ステップサイズｓ2が量子化ステップサイズｓ1よりもはるかに大きい場合、実質的なブロッキングアーチファクトが導入され得る。応答性の係数の分布は、量子化ステップサイズｓ2が増大するに伴って疎になり得る。式５における下限と上限の間の間隔がｓ2／ｓ1−１に等しいことに留意すると、以下の推論を導き出すことができる。一般に、均一スカラ量子化器の場合、第１の量子化ステップサイズｓ1および第２の量子化ステップサイズｓ2の場合、非応答性の係数の数は、ｓ2／ｓ1が増大するときに増大する。この推論は、再量子化がはるかに粗い場合に非ブロック化操作の影響が限られることを示す。いくつかの特殊な場合では、利用可能な応答性の係数がまったくない。図５Ａの例から、ｓ2＝９のときに応答係数がないことに留意する。
【００５５】
一般に、均一スカラ量子化器の場合、第１の量子化ステップサイズｓ1および第２の量子化ステップサイズｓ2の場合、
【００５６】
【数８】
2005167991.tif 000010
【００５７】
（但し、ｋ＝（１，２，・・・））、応答性の係数はない。
【００５８】
したがって、非ブロック化可能なトランスコーダが望まれる場合、式８のような第２の量子化ステップサイズｓ2の選択を避けることが重要である。図５Ａに示す例から、第２の量子化ステップサイズｓ2＝８または１０の場合、より多くの応答性の係数がある。したがって、第２の量子化ステップサイズｓ2の選択を変更することにより応答性の係数の数を増大させることが可能であり、よって非ブロック化をより効率的に行うことができる。
【００５９】
一実施形態では、量子化ステップサイズｓ2近傍のより大きな、またはより小さな量子化ステップサイズが選択され、おそらくより多くの応答性の係数につながる。適切な量子化ステップサイズを選択するために、量子化誤差のプロットが生成される。一実施形態では、量子化誤差は、ＭＰＥＧ規格に採用されている標準ＴＭ５量子化手順に基づいてプロットされる。量子化ステップサイズｓ2の範囲が１〜３１であり、ＤＣＴ係数の可能な大きさが０〜２０４８である場合、各（ｓ2，Ｃq）対に考えられるすべての量子化誤差を含む量子化誤差テーブルを生成することができる。
【００６０】
図７は、本発明の一実施形態による例示的な量子化誤差テーブル７００を示す。具体的には、量子化誤差テーブル７００は、ＭＰＥＧ規格を使用して０〜１０２８の値のＤＣＴ係数の量子化誤差を示している。簡略にするために、最初の６４個の係数のみを示している。ＭＥＰＧにおいて使用される量子化器関数およびデフォルト量子化器内行列をここで考える。テーブルを視覚化したものは、（０，１）、（１，０）、および（１，１）係数のみの結果を示している（デフォルト量子化器行列中のこれらエントリの値は１６である）。谷（より暗いセル）は、より小さな量子化誤差を示す。図７における縦線（たとえば、係数値４０の縦線）に複数の谷が見られ、これは、量子化ステップサイズｓ2値を高くしても、必ずしも量子化誤差が増大するわけではないことを示している。逆に、量子化ステップサイズｓ2が入念に選択される場合、量子化誤差を維持、またはさらに低減し得る。
【００６１】
上に述べた量子化属性は、非ブロック化可能なトランスコーダの有用性を証明する。最適な量子化ステップサイズｓ2を選択して応答性の係数の数を増大させ、したがって非ブロック化メカニズム（たとえば、図１の非ブロック化メカニズム１１０、または図６の非ブロック化メカニズム６１０）をより効率的にすることができる。さらに、量子化ステップサイズを変更することにより、ビットレートおよび符号化ピクチャの品質が保たれる。これに基づいて、非ブロック化機能を強化した非ブロック化可能なトランスコーダを実施することが可能である。強化された非ブロック化機能は、最適な第２の量子化ステップサイズｓ2を選択することにより、図１のコード変換システム１００または図６のコード変換システム６００において実施することができる。
【００６２】
図８は、本発明の一実施形態による、最適な量子化ステップサイズを求めるプロセス８００のフローチャートを示す。一実施形態では、プロセス８００は、コンピュータ可読かつコンピュータ実行可能な命令の制御下でプロセッサおよび電子構成要素（たとえば、コンピュータシステム）によって実行される。特定のステップをプロセス８００において明らかにするが、このようなステップは例示的なものである。すなわち、本発明の実施形態は、他の様々なステップまたは図８に示すステップのバリエーションに適している。
【００６３】
ステップ８１０において、マクロブロックの入力量子化ステップサイズおよび複数の係数を受け取る。一実施形態では、ブロック群（たとえば、ＪＰＥＧ符号化の場合）の入力量子化ステップサイズおよび複数の係数を受け取る。
【００６４】
ステップ８２０において、複数の係数の非ゼロ係数の大きさ分布が求められる。
【００６５】
ステップ８３０において、第１のテーブルに基づいて複数の候補量子化ステップサイズが求められる。一実施形態では、第１のテーブルは量子化誤差テーブルである。
【００６６】
ステップ８４０において、入力量子化ステップサイズを含む或る範囲の量子化ステップサイズの量子化誤差が求められる。一実施形態では、量子化ステップサイズの範囲は、入力量子化ステップサイズに３を加えたものと、入力量子化ステップサイズから３を引いたものの間のすべての量子化ステップサイズを含む。言い換えれば、量子化ステップサイズｓ2に関して、量子化ステップサイズの範囲はｓ2−３〜ｓ2＋３の範囲を有する。
【００６７】
ステップ８５０において、複数の候補量子化ステップサイズが、量子化ステップサイズの範囲から選択される。一実施形態では、複数の候補量子化ステップサイズは、入力量子化ステップサイズに関連する量子化誤差以下の量子化誤差をもたらす。
【００６８】
ステップ８６０において、第２のテーブルに基づいて、上記複数の量子化ステップサイズから最適な量子化ステップサイズが決定される。一実施形態では、第２のテーブルは係数応答性テーブルである。一実施形態では、最適な量子化ステップサイズは、複数の量子化ステップサイズの中の、係数応答性テーブルに従って最高数の応答係数を有する量子化ステップサイズとして選択される。
【００６９】
ＭＰＥＧの場合、１つの量子化ステップサイズｓ2がマクロブロック中の６〜１２個のブロックの量子化に適用されることを認められたい。非ゼロ係数の分布は、すべてのブロックを考慮して得られる。再構築品質に対するそれぞれの重要性に応じて、重み付け係数を異なる頻度の係数に割り当てることができる。一実施形態では、より頻度の低い係数（たとえば、ブロック中の左上の２×２にある係数）の使用も実施することができる。
【００７０】
本発明の各種実施形態は、ビデオコード変換プロセスにおいて非ブロック化に応答する変換係数を識別する解析モデルを提供する。トランスコーダがコード変換プロセスに際して不必要な非ブロック化操作を回避できるようにする方法が提供されている。応答性の係数の数を増大させ、よってトランスコーダの非ブロック化機能を強化する最適量子化器選択方法もまた提供されている。
【００７１】
メディアストリームを非ブロック化しコード変換する方法である本発明の実施形態を上に説明した。本発明について特定の実施形態において説明したが、本発明はこのような実施形態により限定されると解釈されるべきではなく、添付の特許請求の範囲に従って解釈されるべきであることを認められたい。
【図面の簡単な説明】
【００７２】
【図１】本発明の一実施形態によるトランスコードシステムのブロック図を示す。
【図２】本発明の一実施形態による２つの量子化器の例示的な量子化ビンのグラフを示す。
【図３】本発明の一実施形態による、メディアストリームの係数の応答性を判定するプロセスのフローチャートを示す。
【図４】本発明の一実施形態による、丸め計算を用いる均一スカラ量子化器を使用してメディアストリームの係数の応答性を判定するプロセスのフローチャートを示す。
【図５Ａ】本発明の一実施形態による、丸め計算を用いる均一スカラ量子化器を使用した応答性の係数および非応答性の係数の分布の一例のグラフを示す。
【図５Ｂ】本発明の一実施形態による、切り捨て計算を用いる均一スカラ量子化器を使用した応答性の係数および非応答性の係数の分布の一例のグラフを示す。
【図６】本発明の一実施形態による、応答的な係数を非ブロック化するトランスコードシステムのブロック図を示す。
【図７】本発明の一実施形態による例示的な量子化誤差テーブルを示す。
【図８】本発明の一実施形態による最適な量子化ステップサイズを求めるプロセスのフローチャートを示す。
【符号の説明】
【００７３】
１０５  逆量子化器
１１０  非ブロック化メカニズム(deblocking mechanism)
１１５  トランスコーダ
６０５  逆量子化器
６１０  非ブロック化メカニズム
６１５  トランスコーダ
６２０  係数応答性テーブル
６３０  応答性セレクタ
【図１】
2005167991.tif 000011
【図２】
2005167991.tif 000012
【図３】
2005167991.tif 000013
【図４】
2005167991.tif 000014
【図５Ａ】
2005167991.tif 000015
【図５Ｂ】
2005167991.tif 000016
【図６】
2005167991.tif 000017
【図８】
2005167991.tif 000018
【図７】
2005167991.tif 000019