(57)【要約】      （修正有）【課題】  高忠実度のトランスコーディング技法を提供する。【解決手段】  ソースフォーマット圧縮ビデオの再符号化データセットエレメントを得て、ビデオをターゲットフォーマットで圧縮するときにこれらのエレメントを符号化決定および／または等価パラメータのために使用する。これにより、ピクチャタイプ、イントラ／インターマクロブロック符号化タイプ、フィールド／フレーム符号化決定、および／または量子化レベル等を２つのフォーマットにわたって維持することができるようになる。これは、ソースおよびターゲットフォーマット間で圧縮ビデオの品質を一致させ、トランスコーディング損失を低減する助けとなる。同時に、全体的なビットレートを低減するために追加の圧縮が可能となる。また、トランスコーダは、一定または比較的一定のビットレートで出力を生成するために比例レート制御を適用することができる。【選択図】  図２
2005323353.tif 000002
【特許請求の範囲】
【請求項１】
ビデオをソースフォーマットからより低いビットレートのターゲットフォーマットにトランスコーディングする方法であって、
前記ソースフォーマットの圧縮ビデオの複数のユニットについてタイプ値を得ることと、
前記ソースフォーマットの圧縮ビデオを圧縮解除することと、
前記ビデオを再圧縮して前記ターゲットフォーマットの圧縮ビデオを生成することであって、前記ターゲットフォーマットとソースフォーマットのそれぞれの圧縮ビデオ間で品質を一致させるのを助けるために、前記得られたタイプ値に少なくとも部分的に基づいて第１の符号化決定を行うことを含み、前記ターゲットフォーマットの圧縮効率を利用してビットレートを低減するために第２の符号化決定を独立して行うことをさらに含むことと
を備えることを特徴とする方法。
【請求項２】
前記タイプ値を得ることは、前記ソースフォーマットの圧縮ビデオをパースすることを備えることを特徴とする請求項１に記載の方法。
【請求項３】
第２の符号化決定を独立して行うことは、動き補償のために新しい動きベクトルを計算することを含み、前記ソースフォーマットの圧縮ビデオからの動きベクトル情報の使用により、前記新しい動きベクトルを計算するための動き推定を高速化することを特徴とする請求項１に記載の方法。
【請求項４】
前記動き推定および補償は、ループフィルタリングおよび強度補償を使用することを特徴とする請求項３に記載の方法。
【請求項５】
前記動き推定および補償は、マクロブロックあたり４つまでの動きベクトルと、４分の１ピクセルの動きベクトル精度を使用することを特徴とする請求項３に記載の方法。
【請求項６】
第２の符号化決定を独立して行うことは、可変サイズ周波数変換のサイズを選択することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
第２の符号化決定を独立して行うことは、動きベクトルまたは予測残差についての予測モードを選択することを含むことを特徴とする請求項１に記載の方法。
【請求項８】
圧縮解除することは、前記圧縮ビデオを完全に圧縮解除することを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ソースフォーマットでの圧縮と前記ターゲットフォーマットでの圧縮は、異なる周波数変換を使用することを特徴とする請求項１に記載の方法。
【請求項１０】
前記ソースフォーマットでの圧縮と前記ターゲットフォーマットでの圧縮は、異なるエントロピー符号化を使用することを特徴とする請求項１に記載の方法。
【請求項１１】
コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、前記コンピュータ実行可能命令によってプログラムされたコンピュータシステムに請求項１に記載の方法を行わせることを特徴とするコンピュータ可読媒体。
【請求項１２】
前記複数のユニットはビデオピクチャであり、前記タイプ値はＩピクチャ、Ｐピクチャ、Ｂピクチャを含むピクチャタイプ値であることを特徴とする請求項１に記載の方法。
【請求項１３】
前記ターゲットフォーマットの圧縮ビデオのビットレートは、１つまたは複数のビデオピクチャの実質的にすべてについてピクチャごとに、前記ソースフォーマットの圧縮ビデオのビットレート以下であることを特徴とする請求項１に記載の方法。
【請求項１４】
前記複数のユニットはマクロブロックであり、前記複数のタイプ値はマクロブロック符号化タイプ値であることを特徴とする請求項１に記載の方法。
【請求項１５】
前記マクロブロックはイントラ符号化マクロブロックおよびインター符号化マクロブロックを含み、前記マクロブロック符号化タイプ値はイントラおよびインターを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ソースフォーマットはＭＰＥＧ−２フォーマットであり、前記ターゲットフォーマットはＷＭＶ９フォーマットであることを特徴とする請求項１に記載の方法。
【請求項１７】
ビデオを第１フォーマットからより低いビットレートの第２フォーマットにトランスコーディングする方法であって、
前記第１フォーマットの圧縮ビデオの複数のピクチャについてピクチャタイプ値を得ることと、
前記第１フォーマットの圧縮ビデオを完全に圧縮解除することと、
前記ビデオを再圧縮して前記第２フォーマットの圧縮ビデオを生成することであって、前記得られたピクチャタイプ値に少なくとも部分的に基づいてピクチャタイプ決定を行うことを含み、前記第２フォーマットの圧縮効率を利用してビットレートを低減するために動き推定および補償を行うことをさらに含むことと
を備えることを特徴とする方法。
【請求項１８】
前記第２フォーマットの動き推定および補償は、ループフィルタリングの使用、マクロブロックあたりの動きベクトルの数、強度補償の使用、および／または動きベクトル精度の点で、前記第１フォーマットの動き推定および補償とは異なることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記第１フォーマットと前記第２フォーマットは、異なる周波数変換を使用することを特徴とする請求項１７に記載の方法。
【請求項２０】
コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、前記コンピュータ実行可能命令によってプログラムされたコンピュータシステムに請求項１７に記載の方法を行わせることを特徴とするコンピュータ可読媒体。
【請求項２１】
前記ピクチャタイプ値は、Ｉピクチャ、Ｐピクチャ、Ｂピクチャを含むことを特徴とする請求項１７に記載の方法。
【請求項２２】
前記再圧縮することは、前記ピクチャタイプ値を使用して前記第１フォーマットの圧縮ビデオと前記第２フォーマットの圧縮ビデオの間で１つまたは複数のピクチャ位置を一致させることを含むことを特徴とする請求項１７に記載の方法。
【請求項２３】
前記再圧縮することは、前記ピクチャタイプ値を使用して前記第１フォーマットの圧縮ビデオと前記第２フォーマットの圧縮ビデオの間でピクチャグループ構造を一致させることを含むことを特徴とする請求項１７に記載の方法。
【請求項２４】
ビデオをトランスコーディングする方法であって、
第１フォーマットの圧縮ビデオについてフレーム／フィールド情報を得ることと、
前記第１フォーマットの圧縮ビデオを完全に圧縮解除することと、
前記ビデオを再圧縮して、前記第１フォーマットとは異なる第２フォーマットの圧縮ビデオを生成することであって、前記第２フォーマットの圧縮ビデオの品質を前記第１フォーマットの圧縮ビデオの品質と一致させるのを助けるために、前記得られたフレーム／フィールド情報に少なくとも部分的に基づいて符号化決定を行うことと
を備えることを特徴とする方法。
【請求項２５】
前記再圧縮することは、前記第２フォーマットの圧縮ビデオのマクロブロックレベルでフィールド／フレームタイプを設定することを含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記再圧縮することは、前記第２フォーマットの圧縮ビデオのピクチャレイヤでフィールド／フレームタイプを設定することを含むことを特徴とする請求項２４に記載の方法。
【請求項２７】
前記第２フォーマットの圧縮ビデオは、前記第１フォーマットの圧縮ビデオのビットレートよりも低いビットレートを有することを特徴とする請求項２４に記載の方法。
【請求項２８】
前記再圧縮することは、前記第２フォーマットの圧縮効率を利用してビットレートを低減するために、動き推定および補償を行うことを含むことを特徴とする請求項２４に記載の方法。
【請求項２９】
コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、前記コンピュータ実行可能命令によってプログラムされたコンピュータシステムに請求項２４に記載の方法を行わせることを特徴とするコンピュータ可読媒体。
【請求項３０】
ビデオをトランスコーディングする方法であって、
第１フォーマットの圧縮ビデオの量子化レベルを得ることと、
前記第１フォーマットの圧縮ビデオを圧縮解除することと、
前記ビデオを再圧縮して第２フォーマットの圧縮ビデオを生成することであって、前記得られた量子化レベルに少なくとも部分的に基づいて前記第２フォーマットの圧縮ビデオの量子化レベルを設定することを含み、前記第１フォーマットでの圧縮と前記第２フォーマットでの圧縮は異なる周波数変換を使用することと
を備えることを特徴とする方法。
【請求項３１】
前記第１フォーマットでの圧縮はＤＣＴを使用し、前記第２フォーマットでの圧縮は高速整数変換を使用することを特徴とする請求項３０に記載の方法。
【請求項３２】
コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、前記コンピュータ実行可能命令によってプログラムされたコンピュータシステムに請求項３０に記載の方法を行わせることを特徴とするコンピュータ可読媒体。
【請求項３３】
前記得られた量子化レベルは、前記第１フォーマットの圧縮ビデオのマクロブロックの量子化レベルであることを特徴とする請求項３０に記載の方法。
【請求項３４】
前記再圧縮することは、前記得られた量子化レベルの平均に少なくとも部分的に基づいて、前記第２フォーマットの圧縮ビデオのビデオピクチャの量子化レベルを設定することを備えることを特徴とする請求項３０に記載の方法。
【請求項３５】
前記再圧縮することは、前記得られた量子化レベルのうちの１つに少なくとも部分的に基づいて、前記第２フォーマットの圧縮ビデオのマクロブロックの量子化レベルを設定することを備えることを特徴とする請求項３０に記載の方法。
【請求項３６】
前記得られた量子化レベルを、レート制御のために、前記量子化レベルを適用する前に、調整することをさらに備えることを特徴とする請求項３０に記載の方法。
【請求項３７】
前記得られた量子化レベルを考慮することは、前記第２フォーマットの圧縮ビデオの品質を前記第１フォーマットの圧縮ビデオの品質と一致させるのを助けることを特徴とする請求項３０に記載の方法。
【請求項３８】
ビデオをトランスコーディングする方法であって、
第１フォーマットの圧縮ビデオの複数のマクロブロックについて、マクロブロックあたりの量子化レベルを得ることと、
前記第１フォーマットの圧縮ビデオを圧縮解除することと、
前記ビデオを再圧縮して第２フォーマットの圧縮ビデオを生成することであって、前記得られた量子化レベルに少なくとも部分的に基づいて、前記第２フォーマットの圧縮ビデオの対応するマクロブロックの量子化レベルを設定することを含むことと
を備えることを特徴とする方法。
【請求項３９】
コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、前記コンピュータ実行可能命令によってプログラムされたコンピュータシステムに請求項３８に記載の方法を行わせることを特徴とするコンピュータ可読媒体。
【請求項４０】
前記第２フォーマットは、マクロブロックレイヤで差分量子化レベルシグナリングを使用することを特徴とする請求項３８に記載の方法。
【請求項４１】
前記量子化レベルは、量子化ステップサイズであることを特徴とする請求項３８に記載の方法。
【請求項４２】
前記得られた量子化レベルを、レート制御のために、前記量子化レベルを適用する前に、調整することをさらに備えることを特徴とする請求項３８に記載の方法。
【請求項４３】
ビデオをトランスコーディングする方法であって、
第１フォーマットの圧縮ビデオの量子化レベルを得ることと、
前記第１フォーマットの圧縮ビデオを圧縮解除することと、
前記ビデオを再圧縮して第２フォーマットの圧縮ビデオを生成することであって、前記第２フォーマットの圧縮ビデオを、前記得られた量子化レベルに匹敵する程度まで量子化して、前記第１フォーマットと第２フォーマットのそれぞれの圧縮ビデオ間の品質の差を低減することを含み、前記第２フォーマットの圧縮効率は前記第２フォーマットの圧縮ビデオのビットレートを前記第１フォーマットの圧縮ビデオに比べて実質的に低減することを特徴とする方法。
【請求項４４】
前記第１フォーマットと第２フォーマットのそれぞれの圧縮ビデオのピクチャレベルで量子化またはビットレートを追跡することを含むことを特徴とする請求項４３に記載の方法。
【請求項４５】
前記第１フォーマットと第２フォーマットのそれぞれの圧縮ビデオのマクロブロックレベルで量子化またはビットレートを追跡することを含むことを特徴とする請求項４３に記載の方法。
【請求項４６】
前記第２フォーマットの圧縮効率は、前記第２フォーマットの圧縮ビデオのビットレートを前記第１フォーマットの圧縮ビデオに比べて少なくとも２０％低減することを特徴とする請求項４３に記載の方法。
【請求項４７】
前記第２フォーマットの圧縮ビデオと前記第１フォーマットの圧縮ビデオの品質の全体的な差は、可視しきい値よりも低いことを特徴とする請求項４３に記載の方法。
【請求項４８】
前記第２フォーマットの動き推定および補償は、ループフィルタリングの使用、マクロブロックあたりの動きベクトルの数、強度補償の使用、および／または動きベクトル精度の点で、前記第１フォーマットの動き推定および補償とは異なることを特徴とする請求項４３に記載の方法。
【請求項４９】
前記第２フォーマットでの圧縮は、可変サイズ周波数変換を使用することを特徴とする請求項４３に記載の方法。
【請求項５０】
前記第２フォーマットでの圧縮と前記第１フォーマットでの圧縮は、動きベクトルおよび／または予測残差について異なる予測モードを使用することを特徴とする請求項４３に記載の方法。
【請求項５１】
前記第２フォーマットでの圧縮と前記第１フォーマットでの圧縮は、異なるエントロピー符号化を使用することを特徴とする請求項４３に記載の方法。
【請求項５２】
コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、前記コンピュータ実行可能命令によってプログラムされたコンピュータシステムに請求項４３に記載の方法を行わせることを特徴とするコンピュータ可読媒体。
【請求項５３】
ビデオをトランスコーディングする方法であって、
第１フォーマットの圧縮ビデオを圧縮解除することと、
デフォルト１パス可変ビットレート符号化により第２フォーマットエンコーダを使用して、前記ビデオを再圧縮して第２フォーマットの圧縮ビデオを生成することであって、前記第２フォーマットエンコーダの圧縮パラメータを規制して１つまたは複数のレート制御規準に比例して品質およびビットレートを変えることによって前記第２フォーマットの圧縮ビデオを一定または比較的一定のビットレートで生成することと
を備えることを特徴とする方法。
【請求項５４】
前記１つまたは複数のレート制御規準は、バッファ飽和度の値に少なくとも部分的に基づくことを特徴とする請求項５３に記載の方法。
【請求項５５】
前記１つまたは複数のレート制御規準は、前のビデオに対して割り振られたビットと使用されたビットとの偏差に少なくとも部分的に基づくことを特徴とする請求項５３に記載の方法。
【請求項５６】
コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、前記コンピュータ実行可能命令によってプログラムされたコンピュータシステムに請求項５３に記載の方法を行わせることを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
高忠実度（ハイファイ）のトランスコーディング技法について述べる。例えば、ビデオトランスコーダが、ソースフォーマットの圧縮ビデオからシンタックスエレメントを抽出し、ビデオをターゲットフォーマットで圧縮するときに、これらのシンタックスエレメントを符号化決定のために使用する。
【背景技術】
【０００２】
インターネットを介したＤＶＤおよびビデオの配送の導入に伴って、ディジタルビデオが一般的になった。技術者らは、品質を維持しながらもディジタルビデオを効率的に処理するために様々な技法を使用している。こうした技法を理解するには、ビデオ情報がコンピュータの中でどのように表現され、処理されているかを理解することが役立つ。
【０００３】
Ｉ．コンピュータにおけるビデオ情報の表現
コンピュータはビデオ情報を、情報を表す一連の数として処理する。単一の数が、通常、ピクチャの１つのピクチャエレメント（ピクセル）の強度値を表す。ビデオ情報の品質には、サンプル深度、解像度、フレームレートを含め、いくつかの要因が影響を及ぼす。
【０００４】
サンプル深度（または精度）は、サンプルを表すために使用される数の範囲を示している。サンプルに対してより多くの値が可能なときは、数は強度のより微妙な変化を取り込むことができるので、品質は高くなる。解像度が高いビデオは、他のビデオよりも明瞭に見える傾向があり、フレームレートが高いビデオは、他のビデオよりもスムーズに見える傾向がある。これら要因のすべてについて、高品質に対するトレードオフは、表１に示すように、情報を格納および伝送するコストである。
【０００５】
【表１】
2005323353.tif 000003
【０００６】
ＨＤＴＶに使用されるような高解像度フォーマットは、未加工のビデオに対してさらに多くのビットレートを使用する。この高いビットレートにもかかわらず、企業および消費者は、ビデオコンテンツの作成、編集、配布、再生のためにますますコンピュータに依存している。この理由で、技術者らは、圧縮（符号化（コーディングまたはエンコーディング）とも呼ばれる）を使用してディジタルビデオのビットレートを低減している。圧縮は、情報をより低いビットレートの形式に変換することによって、情報を格納および伝送するコストを削減する。圧縮解除（復号とも呼ばれる）は、圧縮された形式から元の情報のバージョンを再構成する。圧縮の範疇として、ロスレス（損失なし）とロッシー（損失あり）の２つがある。
【０００７】
ロスレス圧縮は、冗長をなくすことによって情報のビットレートを低減する。例えば、１０個の赤い一連のピクセルが、圧縮では「赤」のコードと数１０として表され、圧縮解除では、この一連のピクセルが完全に再構成される。ロスレス圧縮は、品質を犠牲にすることなくビットレートを低減するが、ある程度までしかビットレートを低減することができない。ビットレートの減少は、情報の複雑さによって制限される。ロスレス圧縮の別の呼称はエントロピー符号化である。
【０００８】
対照的に、ロッシー圧縮では、品質は損なわれるが、ビットレートの減少はより劇的である。例えば、それぞれがわずかに異なる濃さの赤い１０個の一連のピクセルが、同じ「赤」色の１０個のピクセルとして近似される。ロッシー圧縮は、より多くの品質を削減することによってより多くのビットレートを低減することができるが、失われた品質は復元できない。ロッシー圧縮は、多くの場合、ロスレス圧縮と共に使用される。ロッシー圧縮がビデオの複雑さおよび品質を低減し、これにより、後続のロスレス圧縮でより多くのビットレートの低減が可能になる。例えば、それぞれがわずかに異なる濃さの赤い１０個の一連のピクセルが、圧縮で「赤」のコードおよび数１０として表される。圧縮解除では、元の一連のピクセルが同じ「赤」色の１０個のピクセルとして再構成される。
【０００９】
様々な国際規格が、ビデオ圧縮、圧縮解除、および圧縮ビデオのシンタックスを扱っている。これらには、様々なバージョンのＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４／ＡＶＴ／ＪＶＴが含まれる。これらの規格の他に、様々な会社がビデオ圧縮および圧縮解除の製品を提供している。これらには、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから出ている様々なバージョンのＷｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏツールが含まれる。これらの規格および製品はそれぞれ、ロッシーおよびロスレス圧縮技法の異なる組合せを使用している。
【００１０】
過去、放送およびケーブル業界は、ビデオコンテンツの獲得、貢献、製作、配送のために様々な種類のＭＰＥＧ−２（およびＭＰＥＧ−１）を採用してきた。結果として、特にＭＰＥＧ−２フォーマットでアーカイブされたレガシーコンテンツが多量に存在する。しかし、圧縮フォーマットとして、ＭＰＥＧ−２は、ＷＭＶバージョン９（「ＷＭＶ９」）などのより最近のフォーマットに比べると特に効率的ではない。これらの業界はますます、オンエアでのバックアップ、セットトップボックスへのビデオオンデマンド配送、伝送バックホール、高解像度ビデオのブラウズプロキシの作成など、放送製作および流通ワークフロー用途にＷＭＶ９の符号化効率およびＷＭＶ９の多用途性に惹きつけられている。これらの業界にとっての問題は、より効率的な処理および流通のために、どのようにレガシーＭＰＥＧ−２コンテンツをＷＭＶ９に効率的に変換するかである。
【００１１】
ＩＩ．トランスコーディング
様々なデバイスおよびエンドユーザが、様々な記憶および伝送能力、ならびに様々な品質要件を有している。さらに、様々なデバイスおよびエンドユーザが様々な圧縮フォーマットを使用する可能性がある。一般に、トランスコーディングは、あるビットレート、品質、またはフォーマットの圧縮情報を、別のビットレート、品質、またはフォーマットの圧縮情報に変換する。様々なトランスコーダが様々な技法を使用している。
【００１２】
同種のトランスコーダは、トランスコーディング中に圧縮解除と圧縮の両方に同じフォーマットを使用し、例えば高ビットレートのＭＰＥＧ−２圧縮ビデオを低ビットレートのＭＰＥＧ−２圧縮ビデオに変換する。異種のトランスコーダは、圧縮解除および圧縮に異なるフォーマットを使用し、例えばＭＰＥＧ−２圧縮ビデオをＨ．２６２圧縮ビデオに変換する。異種のトランスコーダの記述については、非特許文献１を参照されたい。
【００１３】
いくつかのトランスコーダは、圧縮情報を完全に圧縮解除し、次いでその情報を完全に再圧縮する。単純なトランスコーディングは、単に圧縮解除および再圧縮の段階をカスケードしている。他のトランスコーダは、圧縮情報を部分的にのみ圧縮解除し、圧縮解除した情報を再圧縮し、まだ圧縮されたままの他のエレメントをトランスコーディングの一部として渡している。全米映画テレビジョン技術者協会（「ＳＭＰＴＥ」）は、ＭＰＥＧ−２圧縮ビデオからＭＰＥＧ−２圧縮ビデオへのトランスコーディングでの使用のための情報を指定する規格を作成した。この規格は、ＭＰＥＧ−２圧縮ビデオから同じまたは異なるビットレートのＭＰＥＧ−２圧縮ビデオにトランスコードする目的でＭＰＥＧ−２シンタックスエレメントおよび関係する派生パラメータをリストしている。非特許文献２を参照されたい。部分的な圧縮解除のトランスコーダは、通常、圧縮情報を再使用してトランスコーディングプロセスの複雑さを低減し、第２の圧縮における動き補償や符号化モード決定などのリソース集約的な操作を回避している。
【００１４】
圧縮解除後、ビデオを再サンプリングしたり、再量子化したり、または他の方法で処理したりすることができる。これはビットレートを低減するか、またはフォーマット互換性を保証するために必要なことがあるが、このような処理は第２の圧縮に関連する必要的な損失を超えるトランスコーディング損失を招くことがある。例えば、７３Ｍｂｉｔ／秒のビデオが、４Ｍｂｉｔ／秒のＭＰＥＧ−２ビデオに圧縮され、そして２．８Ｍｂｉｔ／秒のＨ．２６１ビデオにトランスコードされるとする。トランスコーディング損失により、トランスコードされたＨ．２６１ビデオの品質が７３Ｍｂｉｔ／秒のビデオが直接に２．８Ｍｂｉｔ／秒のＨ．２６１ビデオに変換された場合の品質よりも悪くなる可能性がある。
【００１５】
単純なトランスコーディングは、多くの場合、同じフォーマットにトランスコーディングするときでも、高いトランスコーディング歪みを招く。トランスコーディングパスあたりの品質損失は、およそ１〜２ｄＢ（ピーク信号対雑音比（ＰＳＮＲ）損失で）であると推定されている。連結したトランスコーディングは、各生成でピクチャ品質の損失を生じる可能性があり、ビデオ品質は、何回かの変換の後に許容できなくなることがある。５ｄＢの損失は、複雑さの軽い放送製作のチェーンでもよくみられる。さらに、繰り返しの量子化プロセスにより、個々の量子化ペナルティの合計を超えて全体的な再量子化ペナルティにつながることがある。
【００１６】
部分的な圧縮解除トランスコーダに関するさらなる情報については非特許文献３および４を参照されたい。第２の圧縮における符号化決定に影響を与えるために圧縮情報からのシンタックスエレメントも使用するトランスコーダに関するさらなる情報については非特許文献５、６、および７を参照されたい。量子化を変更することによってビットレートを低くするトランスコーダの記述については非特許文献５、６、７、および８を参照されたい。トランスコーディングにおけるレート制御の記述については非特許文献７および８を参照されたい。
【００１７】
【非特許文献１】Shanableh et al., “Transcoding of Video into Different Encoding Formats”
【非特許文献２】SMPTE, “SMPTE 327M-2000 - MPEG-2 Video Recording Data Set,” 9pp., January 2000
【非特許文献３】Assuncao, et al., “Transcoding of Single-Layer MPEG Video Into Lower Rates”
【非特許文献４】Keesman et al., “Transcoding of MPEG Bitstreams”
【非特許文献５】Knee et al., “Seamless Concatenation - A 21st Century Dream”
【非特許文献６】Sun et al., “Architectures for MPEG Compressed Bitstream Scaling”
【非特許文献７】Tudor et al., “Real-Time Transcoding of MPEG-2 Video Bit Streams”
【非特許文献８】Assuncao et al., “Buffer Analysis and Control in CBR Video Transcoding”
【非特許文献９】ＭＰＥＧ−２規格（Ｈ．２６２規格としても公開されている）
【発明の開示】
【発明が解決しようとする課題】
【００１８】
先行のビデオトランスコーダの利点がどんなものであれ、これらは本発明の様々な異なる態様の利点を有していない。詳細には、上述の参考文献は主に同種のトランスコーディングのソリューションに焦点を合わせており、これは異種のトランスコーディングソリューションの必要性を無視している。また、これらの参考文献は、トランスコーディングでの圧縮情報の再使用について論じているが、これらは概して、トランスコーディングの複雑さを低減するための再使用を強調している。品質損失を低減する点から再使用を述べている参考文献もわずかにあるが、これらは、トランスコーディングにおける第２の圧縮段階の圧縮効率も利用しつつもどのように情報を効率的に再使用するかについては示していない。とりわけ、以前のビデオトランスコーダは、ビットレートの低減を可能にする限り品質が損なわれ、品質を維持する限りビットレートの低減はない。以前のビデオトランスコーダは、品質を実質的に維持すると共にビットレートを実質的に低減するようにトランスコードしていない。
【課題を解決するための手段】
【００１９】
要約すると、高忠実度のトランスコーディングのための様々な戦略について述べる。これらの戦略では、例えばビデオトランスコーダが品質を実質的に維持するとともにビットレートを実質的に低減するようにビデオをソースフォーマットからターゲットフォーマットにトランスコードする。様々な戦略は、組み合わせてまたは独立して使用することができる。
【００２０】
第１の戦略によれば、ツールがビデオをソースフォーマットからターゲットフォーマットに同じビットレートまたはより低いビットレートでトランスコードする。ツールは、ソースフォーマットの圧縮ビデオを圧縮解除し、圧縮ビデオの複数のユニットについてタイプ値を得る。タイプ値は、ピクチャタイプ値、マクロブロック符号化タイプ値、および／またはその他の情報とすることができる。ツールがこのビデオを再圧縮するとき、ツールは得られたタイプ値に少なくとも部分的に基づいて何らかの符号化決定を行って、ターゲットとソースのフォーマットの圧縮ビデオ間でツールが品質を一致させるのを助ける。ツールは、ターゲットフォーマットの圧縮効率を利用してビットレートを低減するために独立して他の符号化決定を行う。
【００２１】
第２の戦略によれば、ツールが、あるフォーマットでの圧縮ビデオを圧縮解除し、圧縮ビデオの量子化レベルを得る。ツールがこのビデオを別のフォーマットで再圧縮するとき、ツールは得られた量子化レベルに匹敵する程度までビデオを量子化して、２つのフォーマットの圧縮ビデオ間の品質の差を低減する。同時に、第２のフォーマットの圧縮効率によりビットレートが実質的に低減される。
【００２２】
第３の戦略によれば、ツールが第１のフォーマットの圧縮ビデオを圧縮解除し、このビデオを再圧縮する。ツールは、１パス可変ビットレート符号化による第２のフォーマットエンコーダを使用するが、圧縮パラメータを規制して、一定または比較的一定のビットレートの第２のフォーマット圧縮ビデオを生成する。
【００２３】
本発明のこれらおよびその他の特徴および利点は、添付の図面を参照して進める以下の実施形態の詳細な記述から明らかになるであろう。
【発明を実施するための最良の形態】
【００２４】
記載の実施形態は、高忠実度（ハイファイ）トランスコーディングのための技法およびツールを対象とする。例えば、ビデオトランスコーダが第１のロッシー圧縮フォーマットから第２のロッシー圧縮フォーマットへビデオの高忠実度変換を行う。これにより、トランスコーディング損失が低減され、品質が実質的に保持された、２つのフォーマット間の相互運用性が可能になる。同時に、第２のフォーマットの圧縮効率により、入力ビットレートよりも実質的に低い出力ビットレートをもたらす。
【００２５】
単純なトランスコーディングの期間にピクチャごとに使用されるビットの数を比較することで鍵となる観測が得られる。単純なトランスコーディングにおける品質損失は、部分的には、同じピクチャを２つの異なる圧縮フォーマットで圧縮するのに使用されるビットの数の格差から生じる。ピクチャの再圧縮に使用されるビットが少なすぎると、付加的な歪みを招く危険が高まり、品質損失が後続のピクチャに影響することがある。例えば、あるピクチャが後続のピクチャの動き補償のためのリファレンスピクチャとして使用される場合、トランスコーダは、予測ピクチャの予測残差を符号化する追加のビットを費やすことによって、リファレンスピクチャ中の品質損失を補償しなければならない。他方、ピクチャの再圧縮に使用されるビットが多すぎると、保持される「品質」は人間の観賞者の可視しきい値よりもかなり低く、そのため、そうでなければ他のピクチャに使用することができるビットが無駄になる。進行中のビット不足問題が生じたり、または悪化したりする場合があり、潜在的に後続のピクチャの品質を損なう。
【００２６】
本明細書に記載した様々な技法およびツールは、再圧縮のためにどのようにビットを効率的に使用するかを決定するときに、ソースフォーマット圧縮ビデオからの情報、またはソースフォーマット圧縮ビデオに関する情報を使用する。この情報は、ソースフォーマット圧縮ビデオの復号中に、または別のソースから、取得または導出することができる。トランスコーダの規則は、どのようにターゲットフォーマットのシンタックスエレメントを使用し、どのようにソースフォーマット情報に基づいて符号化決定を行うかを規定する。この結果、トランスコードされたピクチャの品質は、ソースフォーマット圧縮ピクチャの品質と実質的に一致する。ピクチャをターゲットフォーマットで圧縮するのに使用されるビットの数は、ビットレートの全体的な差について調整した後では、同じピクチャをソースフォーマットで圧縮するのに使用されたビットの数におおよそ追従する。
【００２７】
いくつかの実施形態では、トランスコーダは、再符号化中にソースフォーマットシンタックスエレメントなどの情報をヒント（トランスコーディング規則として実現される）として使用する。これにより、特定の対応するシンタックスエレメントおよび符号化決定を２つのフォーマットにわたって保持することができるようになる。ピクチャをその前の品質レベルよりもずっと低く圧縮しないことにより、トランスコーダは新たな人工劣化（例えば、粗すぎる量子化による）を招く危険を低減する。トランスコーダはまた、雑音を符号化したり、または品質を可視しきい値よりも低く保ったりするようにビットを割り振ることを回避する。元のエンコーダがロッシー圧縮でビットを節約した領域では、トランスコーディングの品質は低下する。というのは、より高品質でトランスコーディングしても、元のコンテンツに対する忠実度を改善するのにほとんど役立たず、代わりに量子化雑音を招くか、または第１の符号化によって導入された量子化雑音を増幅する可能性があるからである。このように、トランスコードされたビデオは、許容差内で入来ビデオの品質およびビットレートパターンに従う。
【００２８】
いくつかの実施形態では、トランスコーダは、ターゲットフォーマットエンコーダが、ソースフォーマット圧縮ビデオからのピクチャタイプ（例えばＩ、Ｐ、またはＢ）をターゲットフォーマットで圧縮される対応するピクチャに使用するように強制する。これにより、トランスコーダが圧縮ビデオの品質をソースフォーマットとターゲットフォーマットの間で一致させるのを助けることができ、また、早送り、早戻し、およびその他のアクセス機能を保持するのを助けることもできる。いくつかの実施形態では、トランスコーダは、ターゲットフォーマットで圧縮するときに、ソースフォーマット圧縮ビデオからのインター／イントラマクロブロック符号化タイプを使用する。あるいは、トランスコーダは、ソースフォーマット圧縮ビデオからのフィールド／フレーム符号化決定情報を使用する。これらの技法もまた、トランスコーダが圧縮ビデオの品質をソースフォーマットとターゲットフォーマットの間で一致させるのを助けることができる。同時に、トランスコーダは、全体的なビットレートを低減するために追加の圧縮の機会を利用する自由をターゲットフォーマットエンコーダに与える。
【００２９】
いくつかの実施形態では、トランスコーダは、ソースフォーマット圧縮ビデオの量子化レベルをターゲットフォーマット圧縮ビデオにマップする。例えば、トランスコーダは、マクロブロックレイヤ量子化レベルを、ターゲットフォーマット圧縮ビデオの対応するマクロブロックにマップする。フォーマットがＭＰＥＧ−２およびＷＭＶ９であるとき、トランスコーダは、ＭＰＥＧ−２量子化レベルをＷＭＶ９マクロブロックにＷＭＶ９の差分量子化器シグナリング機構を使用してマップすることができる。
【００３０】
いくつかの実施形態では、トランスコーダは、一定または比較的一定のビットレートで出力を生成するためにビデオエンコーダの１パス可変ビットレートモードに対して外部の比例レート制御を適用する。これにより、トランスコーダは一定ビットレートモードまたは可変ビットレートモードで動作できるようになる。
【００３１】
様々な例示的な実装形態で、ビデオトランスコーダは、ＭＰＥＧ−２符号化ビデオのＷＭＶ９符号化ビデオへの高忠実度変換を行い、通常のシーケンスに対してビットレートを２０〜３０％低減する。トランスコーダは、ピクチャタイプおよびマクロブロックタイプを維持し、量子化レベルを注意深くマップして、トランスコーディング損失を切り詰める。このトランスコーディングは特に、ＭＰＥＧ−２が主流フォーマットであった高品質ビデオの製作者および放送業者に有用である。その他の用途は、あるタイプの民生用デバイスに使用されるフォーマット（例えばＰＣ上のＭＰＥＧ−２）と別のタイプの民生用デバイスに使用されるフォーマット（例えばラップトップ上のＷＭＶ９）との間のトランスコーディングに関係する。
【００３２】
あるいは、トランスコーダは、ＭＰＥＧ−２からＷＭＶ９への変換以外の変換を行う。例えば、トランスコーダは、ＭＰＥＧ−２とＨ．２６４の間、ＭＰＥＧ−２とＶＣ−９の間、またはビデオフォーマットの別のペアの間で変換する。または、トランスコーダはビデオ以外の情報を変換する。ビデオトランスコーダ以外の処理ツールは、本技法の１つまたは複数を実施することができる。
【００３３】
様々なトランスコーディング技法について本明細書の所々で、単一の統合システムの一部として記載するが、これらの技法は別々に、潜在的には他の技法と組み合わせて適用することができる。さらに、様々な技法の動作を提示の目的である特定の一連の順序で述べるが、この記述方法は、特定の順序付けが必要とされない限り、動作の順序のマイナーな再配置を包含することを理解されたい。例えば、順番に記載した動作は、場合によっては並べ替えてもよく、あるいは同時に実行してもよい。さらに、簡単のために、フローチャートは、特定の技法が他の技法と共に使用できる様々な方法を示していないこともある。
【００３４】
Ｉ．コンピューティング環境
図１に、記載の実施形態を実施することのできる適したコンピューティング環境の一般化した例（１００）を示す。本技法およびツールは多様な汎用または専用コンピューティング環境で実施することができるので、コンピューティング環境（１００）は、使用または機能の範囲についていかなる限定を意味するものではない。
【００３５】
図１を参照すると、コンピューティング環境（１００）は、少なくとも１つの処理ユニット（１１０）およびメモリ（１２０）を備える。図１では、この最も基本的な構成（１３０）が破線内に含まれている。処理ユニット（１１０）は、コンピュータ実行可能命令を実行し、実際のプロセッサであっても仮想のプロセッサであってもよい。マルチプロセッシングシステムでは、複数の処理ユニットにより、コンピュータ実行可能命令を実行して処理力を増大させる。メモリ（１２０）は、揮発性メモリ（例えばレジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリ（例えばＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなど）、またはこれら２つの何らかの組合せとすることができる。メモリ（１２０）は、高忠実度トランスコーディングを実施するソフトウェア（１８０）を格納する。
【００３６】
コンピューティング環境は追加の機構を有することもできる。図１では、コンピューティング環境（１００）は、ストレージ（１４０）、１つまたは複数の入力デバイス（１５０）、１つまたは複数の出力デバイス（１６０）、および１つまたは複数の通信接続（１７０）を含む。バス、コントローラ、またはネットワークなどの相互接続機構（図示せず）が、コンピューティング環境（１００）のコンポーネントを相互接続する。通常、オペレーティングシステムソフトウェア（図示せず）が、コンピューティング環境（１００）中で実行される他のソフトウェアの動作環境を提供し、コンピューティング環境（１００）のコンポーネントの活動を調整する。
【００３７】
ストレージ（１４０）は、リムーバブルまたは非リムーバブルとすることができ、磁気ディスク、磁気テープもしくはカセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、または情報を格納するために使用でき、コンピューティング環境（１００）内でアクセスできるその他の任意の媒体を含む。ストレージ（１４０）は、ソフトウェア（１８０）の命令を格納している。
【００３８】
入力デバイス（１５０）は、キーボード、マウス、ペン、またはトラックボールなどのタッチ入力デバイス、音声入力デバイス、スキャニングデバイス、またはコンピューティング環境（１００）へ入力を提供する別のデバイスとすることができる。オーディオまたはビデオの場合、入力デバイス（１５０）はサウンドカード、ビデオカード、ＴＶチューナカード、またはアナログもしくはディジタル形式のオーディオもしくはビデオを受け入れる類似のデバイスとすることができ、あるいはオーディオまたはビデオサンプルをコンピューティング環境（１００）に読み込むＣＤ−ＲＯＭまたはＣＤ−ＲＷとすることができる。出力デバイス（１６０）は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、またはコンピューティング環境（１００）からの出力を提供する別のデバイスとすることができる。
【００３９】
通信接続（１７０）は、通信媒体を介して別のコンピューティングエンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、オーディオもしくはビデオ入力または出力、その他のデータなどの情報を変調データ信号で搬送する。変調データ信号は、信号中の情報を符号化する形でその１つまたは複数の特性が設定または変更された信号である。限定ではなく例として、通信媒体には、電気的、光学的、ＲＦ、赤外線、音響、またはその他の搬送波で実現される有線または無線技法が含まれる。
【００４０】
本技法およびツールは、コンピュータ可読媒体の一般的なコンテキストで述べることができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスできる任意の利用可能な媒体である。限定ではなく例として、コンピューティング環境（１００）では、コンピュータ可読媒体にはメモリ（１２０）、ストレージ（１４０）、通信媒体、およびこれら任意の組合せが含まれる。
【００４１】
本技法およびツールは、プログラムモジュールに含まれるコンピュータ実行可能命令など、コンピューティング環境中でターゲットの実際のプロセッサまたは仮想プロセッサ上で実行されているコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールには、特定のタスクを行ったり、特定の抽象データ型を実装したりするルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態で望まれるようにプログラムモジュール間で組み合わせたり、分割したりすることができる。プログラムモジュールのコンピュータ実行可能命令は、ローカルまたは分散コンピューティング環境内で実行することができる。
【００４２】
提示の目的で、この詳細な記述では、「判定」「生成」「調整」「適用」などの用語を使用してコンピューティング環境でのコンピュータ動作を説明する。これらの用語は、コンピュータによって実行される動作の高レベルの抽象化であり、人間によって行われる行為と混同されるべきではない。これらの用語に対応する実際のコンピュータ動作は、実装形態に応じて異なる。
【００４３】
ＩＩ．ビデオトランスコーダ
図２に、記載の実施形態を実施することのできる一般化されたビデオトランスコーダ（２００）を示す。図２のトランスコーダ（２００）は、図３に示すＤｉｒｅｃｔＸ  Ｍｅｄｉａ  Ｏｂｊｅｃｔ（「ＤＭＯ」）（３００）として実現することができる。ＤＭＯは、図４のシステムフィルタグラフ（４００）に組み込むことができる。このアーキテクチャは、トランスコーダの統合を簡単にし、様々なソースフォーマットデコーダのいずれかを使用するフレキシビリティを提供し、付加機能の追加を簡単にする。
【００４４】
（Ａ．一般化されたビデオトランスコーダ）
トランスコーダ（２００）は、ソースフォーマットデコーダおよびビットストリームパーサ（２１０）、再符号化データセットプロセッサ（２２０）、ターゲットフォーマットエンコーダ（２３０）を含む様々なモジュールを有する。トランスコーダ（２００）内のモジュール間の図示した関係は、トランスコーダ（２００）中の情報の一般的な流れを示し、その他の関係は、簡単のために図示していない。
【００４５】
全体として、トランスコーダ（２００）は、ソースフォーマットで圧縮されたビデオ（２０５）を受け取り、復号し、再符号化し、ターゲットフォーマットで圧縮されたビデオ（２３５）を生成する。例えば、ソースフォーマットはＭＰＥＧ−２であり、ターゲットフォーマットはＷＭＶ９であるが、他のフォーマットのペアも可能である。ＭＰＥＧ−２に関する追加の詳細については、参照によりその開示が本明細書に組み込まれるＭＰＥＧ−２規格（Ｈ．２６２規格とも称される）を参照されたい。ＷＭＶ９に関する追加の詳細については、参照によりその開示が本明細書に組み込まれる２００３年７月１８日に出願された米国特許仮出願第６０／４８８，７１０号を参照されたい。
【００４６】
トランスコーダ（２００）はビデオピクチャを処理し、このビデオピクチャは、ビデオフレーム、ビデオフィールド、またはフレームとフィールドの組合せとすることができる。トランスコーダ（２００）における圧縮解除および圧縮は、ブロックベースであり、４：２：０などのカラーフォーマットを使用し、この場合、各マクロブロック（「ＭＢ」）は、４つの８×８ルミナンスブロック（時に１つの１６×１６ＭＢとして扱われる）と、２つの８×８クロミナンスブロックを含む。あるいは、圧縮および圧縮解除はオブジェクトベースであり、異なるＭＢまたはブロックフォーマットを使用するか、そうでなければ異なるサイズまたは構成のピクセルのセットに関して操作を行う。
【００４７】
図２を参照すると、ソースフォーマットデコーダおよびビットストリームパーサ（２１０）は、ソースフォーマットの圧縮ビデオ（２０５）を受け取る。デコーダ（２１０）は、ビデオ（２０５）を復号し、トランスコーディングのための復号ビデオ（２１５）を生成する。同じまたは異なる復号ビデオを、エンドユーザによるプレビューのためのビデオ（２１３）として使用することができる。デコーダ（２１０）のコンポーネントは、圧縮フォーマットおよび実装形態によって異なるが、通常はエントロピーデコーダ、逆量子化器、逆周波数変換器、動き補償器が含まれる。デコーダ（２１０）は、ビデオ（２０５）を完全に圧縮解除して、トランスコーディングのためのビデオ（２１５）を生成する。
【００４８】
ビットストリームパーサ（２１０）は、デコーダ（２１０）と統合されることも別個とされることもあり、ビデオを再符号化するために使用されるデータエレメントのセット（２１７）を抽出する。例えば、これらのエレメントには、ピクチャタイプ、ＭＢイントラ／インター符号化モード、およびフレーム／フィールド決定情報が含まれる。ＭＰＥＧ−２シンタックスエレメントの記述については、参照によりその開示が本明細書に組み込まれる非特許文献２を参照されたい。あるいは、データエレメントセット（２１７）は、その他および／または追加のエレメントを含む。再符号化データセットプロセッサ（２２０）は、再圧縮を制御する際の使用のために抽出されたエレメントを処理し、パッケージ化する。
【００４９】
ターゲットフォーマットエンコーダ（２３０）は、ビデオ（２１５）をターゲットフォーマットに従って再符号化する。ターゲットフォーマットエンコーダ（２３０）自体は、実際の圧縮を行うエンコーダモジュール（２３２）と、圧縮の品質および／またはレートを制御するためのエンコーダ制御モジュール（２３４）とを含む。エンコーダ制御モジュール（２３４）は、ソースフォーマットビデオからのエレメントを、エンコーダモジュール（２３２）の制御信号と、ターゲットフォーマット圧縮ビデオの等価パラメータに変換する。エンコーダモジュール（２３２）は、ターゲットフォーマットの圧縮ビデオ（２３５）を生成し、これはプレビュー目的でターゲットフォーマットデコーダモジュールや、他のフィードバック目的で別のモジュールにルーティングすることができる。エンコーダモジュール（２３２）のコンポーネントは、圧縮フォーマットおよび実装形態によって異なるが、通常は画像プリプロセッサ（サンプルレート変換やフィルタリングなどのため）、動き推定器／補償器、周波数変換器、量子化器、エントロピーエンコーダ、ならびに必要な復号コンポーネントが含まれる。
【００５０】
ビデオトランスコーダの特定の実施形態では、一般化されたトランスコーダ（２００）の変形または補足バージョンを使用することもできる。実装形態および所望のトランスコーディングタイプに応じて、トランスコーダのモジュールを追加したり、省略したり、複数のモジュールに分割したり、他のモジュールと組み合わせたり、そして／または同様のモジュールで置き換えたりすることができる。代替の実施形態では、様々なモジュールおよび／または他の構成のモジュールを有するトランスコーダが、記載の技法の１つまたは複数を行う。
【００５１】
（Ｂ．トランスコーダの内部アーキテクチャ）
図３に、ＤＭＯ（３００）の内部アーキテクチャを示す。全体として、ＤＭＯ（３００）のビデオモジュールは、２つの入力ピンと１つの出力ピンを有する。入力ピンは、復元ビデオ（３０２）と、ソースフォーマット（例えばＭＰＥＧ−２）圧縮ビデオ（３０４）のためのものであり、出力ピンは、ターゲットフォーマット（例えばＷＭＶ９）圧縮ビデオ（３４２）のためのものである。
【００５２】
ターゲットフォーマットビデオエンコーダ（３１０）が、復元ビデオ（３０２）を受け取り、ピクチャの圧縮準備ができたときにソースフォーマットパラメータパーサ（３２０）に通知（３１２）を送る。リターンとして、エンコーダ（３１０）は、符号化決定を行う際に使用する情報を受け取る。この通知／リターンプロトコルは、コンポーネント間での、または他の何らかの機構とのコールバック関数として実施することができる。情報は、ビデオ符号化と同期して、符号化が進行するにつれて数個のピクチャずつ抽出される。あるいは、トランスコーダは異なるタイミングを使用する。
【００５３】
パーサ（３２０）は、対応するソースフォーマット圧縮ビデオ（３０４）を受け取り、そこからシンタックスエレメントを抽出して、ソースビデオ中のビデオピクチャに関する情報を得る。パーサ（３２０）は、圧縮ビデオ（３０４）から、埋め込まれたシンタックスエレメントおよび派生するエレメントのいずれかまたはすべてを抽出する。例えば、パーサ（３２０）はＳＭＰＴＥ  ＭＰＥＧ−２再符号化データセットのサブセットを抽出する。あるいは、パーサ（３２０）は、他のおよび／または追加のエレメントを抽出する。これらのシンタックスエレメントから、パーサ（３２０）は符号化決定を行い、リターンパラメータ（３２２）としてエンコーダ（３１０）への配送のためにシンタックスエレメントおよび符号化決定をパラメータ化する。エンコーダ（３１０）は、リターンパラメータ（３２２）を使用してターゲットフォーマット圧縮ビデオを生成する。
【００５４】
別個のパスで、ターゲットフォーマット（例えばＷＭＡ９）オーディオエンコーダ（３３０）が、復元オーディオ（３２８）を受け取り、ターゲットフォーマット圧縮オーディオを生成する。
【００５５】
キューおよびバッファ管理モジュール（３４０）が、エンコーダ（３１０、３３０）から圧縮ビデオおよび圧縮オーディオを受け取り、ターゲットフォーマット圧縮ビデオ（３４２）およびターゲットフォーマット圧縮オーディオ（３４４）を同期出力として生成する。キューおよびバッファ管理モジュール（３４０）は、レート制御のために１つまたは複数のバッファを含むことができ、エンコーダ（３１０、３３０）にフィードバックを提供して、品質および／またはレートを規制することができる。
【００５６】
（Ｃ．トランスコーダを使用したフィルタグラフ）
図４に、トランスコーダのＤＭＯ（３００）をフィルタとして組み込むフィルタグラフ実装形態（４００）を示す。集合的に、このシステムは、オーディオおよびビデオのトランスコーディング、圧縮オーディオおよびビデオの多重化、最終出力としての有効な出力フォーマット（例えばＡＳＦ）ファイルの作成を行う。
【００５７】
トランスコーディングは、入力として多重化されたソースフォーマット（例えばＭＰＥＧ−２）ファイルと共に開始する。ソースフォーマットソースフィルタ（４１０）は、ネットワークストリームやファイルなどから再生されたソースフォーマットビデオストリームを表す。ソースフォーマットストリームスプリッタ（４２０）が、ソースフォーマットストリームを圧縮オーディオと圧縮ビデオのサブストリームに分離し、これらを単一のピンを介してＴＥＥ（４３０）に渡す。ＴＥＥ（４３０）は、その入力ピン上で受け取る情報を、その出力ピンのそれぞれに渡す。（情報を受け取るフィルタは、いくらかを使用し、残りを無視することになる。）
ソースフォーマットビデオデコーダ（４４０）が、圧縮ビデオサブストリームを復号し、復元ビデオを生成する。ソースフォーマット（例えばＡＥＳ）オーディオデコーダ（４５０）が、圧縮オーディオサブストリームを復号し、復元オーディオを生成する。
【００５８】
トランスコーダフィルタ（３００）が、復元ビデオおよび復元オーディオ、ならびにソースフォーマット圧縮ビデオサブストリームを含むＴＥＥ（４３０）からの未加工の出力を受け取る。トランスコーダフィルタ（３００）のコンポーネントは、上述のように動作し、ターゲットフォーマット（例えばＷＭＶ９）圧縮ビデオと、ターゲットフォーマット（例えばＷＭＡ９）圧縮オーディオを生成する。ライタ／マルチプレクサ（４９０）が、この圧縮情報をヘッダ情報と組み合わせて、出力フォーマットファイルとし、これが格納および／または伝送される。
【００５９】
このフィルタグラフ（４００）は、トランスコーダのソフトウェアのみによる実装形態を表すこともできるが、他の実装形態では、より高速なトランスコーディングという利益を期待してトランスコーディングのためにハードウェア、ファームウェア、およびソフトウェアの組合せを使用する。
【００６０】
ＩＩＩ．タイプシンタックスエレメントの保持
いくつかの実施形態では、ビデオトランスコーダは、ソースフォーマットからターゲットフォーマットへのトランスコーディングの間に、ピクチャタイプ、ＭＢ符号化タイプ、フレーム／フィールド符号化決定情報、および／またはその他の情報を保持する。トランスコーダはこの情報を、ターゲットフォーマット圧縮での符号化決定および／または等価パラメータの設定に使用する。これは、トランスコーダがソースフォーマット圧縮ビデオの品質に一致させるのを助ける。同時にトランスコーダは、圧縮効率を利用し、全体的なビットレートを低減するために、ビデオのその他の様々な符号化決定を行う自由をターゲットフォーマットエンコーダに与える。
【００６１】
図５に、トランスコーディング中にソースフォーマット圧縮ビデオの再符号化データセットエレメントを取得および使用するための技法（５００）を示す。ソースフォーマットデコーダが、ソースフォーマット圧縮ビデオを圧縮解除し（５１０）、復元ビデオを生成する。例えば、圧縮解除は完全圧縮解除である。
【００６２】
トランスコーダは、ソースフォーマット圧縮ビデオの再符号化データセットエレメントを得る（５２０）。これらのエレメントを得る（５２０）ために、トランスコーダは、復号前、復号中、または復号後にソースフォーマット圧縮ビデオを（例えばバッファされあたコピーから）パースする。あるいは、再符号化データセットエレメントを別個にシグナルするか、または他の方法で提供する。これらのエレメントは、ソースフォーマットシンタックスエレメントであるか、またはソースフォーマットシンタックスエレメントから派生するエレメント、例えばピクチャタイプ値、イントラ／インターＭＢ符号化タイプ値、およびフィールド／フレーム情報である。あるいは、トランスコーダは、その他のエレメントおよび／または追加のエレメントを得る。
【００６３】
ターゲットフォーマットエンコーダが、復元されたビデオを再圧縮し（５３０）、ターゲットフォーマット圧縮ビデオを生成する。これを行う際、エンコーダは、符号化決定を行うときに再符号化データセットエレメントを使用する。トランスコーダはまた、ターゲットフォーマット圧縮でのパラメータのいくつかのエレメントを渡すこともできる。このように、エンコーダは、ビデオをターゲットフォーマットで圧縮するときに、ソースフォーマット圧縮ビデオの品質におよそ従う。エンコーダは、品質を犠牲にすることなくビットレートを低減するために、その他の様々な決定を独立して行う。例えば、エンコーダは、様々な予測モード決定および／または変換サイズ決定を行って符号化を局所的パターンによりよく適合させ、それによりビットレートを低減する。または、エンコーダは、動き補償予測を改善し、それによって予測残差のビットレートを低減するためにループフィルタリング、強度補償、より多くの動きベクトル、および／または増加した動きベクトル精度を有する動き補償のための新しい動きベクトルを計算する。ソースフォーマット圧縮ビデオからの動きベクトル情報は、いくつかの動き推定決定（例えば、開始点を提供することによって推定を高速化するため）で使用することができ、他の動き推定決定（例えば、ループフィルタリングや強度補償などを考慮して正確な動きベクトルを見つけるため）では無視することができる。
【００６４】
トランスコーダは、再圧縮（５３０）を始める前に圧縮解除（５１０）を完了することができる。より一般的には、トランスコーダは、ピクチャ、ピクチャグループ、またはビデオのその他の期間に対してこうした技法（５００）の段階を同時に行う。
【００６５】
ＩＶ．量子化レベルのマッピング
いくつかの実施形態では、ビデオトランスコーダは、トランスコーディング時にソースフォーマットの圧縮ビデオの量子化レベルをターゲットフォーマットの圧縮ビデオにマップする。このマッピングは、ソースおよび目的の圧縮ビデオフォーマットにおける量子化器ステップサイズの等価性を確立し、トランスコーダが品質を保持し、トランスコーディング損失を低減するのを助ける。
【００６６】
図６に、トランスコーディング中にソースフォーマット圧縮ビデオの量子化レベルを取得し、使用するための技法（６００）を示す。ソースフォーマットデコーダが、ソースフォーマット圧縮ビデオを圧縮解除し（６１０）、復元ビデオを生成する。例えば、圧縮解除は完全圧縮解除である。
【００６７】
トランスコーダは、ソースフォーマット圧縮ビデオの量子化レベルを得る（６２０）。これらのレベルを得る（６２０）ために、トランスコーダは、復号前、復号中、または復号後にソースフォーマット圧縮ビデオをパースする。あるいは、これらのレベルは別個にシグナルされるか、または他の方法で提供される。量子化レベルは、例えば、均一な量子化のＭＢあたりの量子化ステップサイズ値である。あるいは、トランスコーダは、その他の種類および／または追加の種類の量子化レベルを得る。
【００６８】
次に、ターゲットフォーマットエンコーダが、復元されたビデオを再圧縮し（６３０）、ターゲットフォーマット圧縮ビデオを生成する。これを行う際、エンコーダは、量子化決定ときに、得られた量子化レベルを使用する。例えば、エンコーダは、ソースフォーマット圧縮ビデオ中の対応するピクチャのＭＢのＭＢあたりの量子化ステップサイズ値の平均に基づいて、ピクチャの量子化値を設定する。または、エンコーダは、ソースフォーマット圧縮ビデオ中の対応するＭＢのＭＢあたりの量子化ステップサイズ値に基づいて、ＭＢの量子化値を設定する。これにより、ターゲットフォーマットで圧縮するときに、エンコーダがソースフォーマット圧縮ビデオの品質に一致させるのを助ける。前のセクションで述べたように、エンコーダは、品質を犠牲にすることなくビットレートを低減するために、その他の様々な決定を独立して行うことができる。
【００６９】
トランスコーダは、再圧縮（６３０）を始める前に圧縮解除（６１０）を完了することができる。より一般的には、トランスコーダは、ピクチャ、ピクチャグループ、またはビデオのその他の期間に対してこうした技法（６００）の段階を同時に行う。
【００７０】
Ｖ．トランスコーディングにおけるレート制御
いくつかの実施形態では、ビデオトランスコーダは、トランスコーディング時にレート制御を使用する。例えば、レート制御により、トランスコーダがビットレートを制御して、ソースフォーマット圧縮ビデオの品質に近い品質を保持しながら、インターネットストリーミングまたはその他の用途のための定ビットレート制約を満たすことができるようにする。
【００７１】
図７に、トランスコーディングにおけるレート制御のための技法（７００）を示す。ソースフォーマットデコーダが、ソースフォーマット圧縮ビデオを圧縮解除し（７１０）、復元されたビデオを生成する。例えば、圧縮解除は完全圧縮解除である。前のセクションで述べたように、トランスコーダは、ソースフォーマット圧縮ビデオの量子化レベルを得る（７２０）。トランスコーダは、ターゲットフォーマットでの圧縮ビデオのユニットに対してターゲット量子化レベルを設定する（７３０）。例えば、エンコーダは、前のセクションで述べたように、ピクチャまたはＭＢに対して量子化レベルを割り当てる。
【００７２】
トランスコーダは、１つまたは複数のレート規準に基づいて、ターゲット量子化レベルを（しきい値内で）調整する（７４０）。しきい値は、トランスコーダがソースフォーマット圧縮ビデオの対応する量子化レベルから過度に上または下に逸脱しないようにし、これにより、圧縮ビデオの品質をターゲットおよびソースフォーマット間で近い品質に維持する助けとなる。レート規準は、バッファ飽和レベル、ユニットに割り振られたビットの数とユニットの符号化に実際に使用されたビットの数との偏差、および／またはその他のエレメントに基づく。ユニットに割り振られたビットの数は、所望のビットレート、ピクチャタイプ、および／またはピクチャ符号化の複雑さに基づくことができ、または（適切にスケールされた）ソース圧縮フォーマットの同じユニットによって使用されたビットに基づいてもよい。さらに、エンコーダは、複雑さの局所的な変動を考慮するように量子化を調整することができる。概して、トランスコーダは、量子化を粗くしてビットレートを目標に向けて低減するか、または量子化を細かくしてビットレートを目標に向けて増大する。トランスコーダはまた、目標ビットレートを達成しつつ、品質レベルの変動を制御するよう試みることもできる。
【００７３】
ユニットの量子化レベルを調整した（７４０）後、トランスコーダは、トランスコーディングが終了したかどうかを判定し（７５０）、終了していない場合は、次のユニットのターゲット量子化レベルを設定する（７３０）ことによって継続する。トランスコーダは、レート制御の設定（７３０）および調整（７４０）を始める前に圧縮解除（７１０）を完了することができる。より一般的には、トランスコーダは、ピクチャ、ピクチャグループ、またはビデオのその他の期間に対してこうした技法（７００）の段階を同時に行う。
【００７４】
ＶＩ．実装形態の組合せ
前述の技法は、独立して別個に適用することもできるし、単一の統合されたトランスコーディングシステムにおいて組み合わせることもできる。一実装形態では、トランスコーダはＭＰＥＧ−２ビデオをＷＭＶ９ビデオに変換する。
【００７５】
トランスコーダは、ＭＰＥＧ−２シンタックスエレメントおよびセマンティックエレメントを考慮し、ＭＰＥＧ−２圧縮とＷＭＶ９圧縮の間でシンタックスエレメントおよび符号化決定が維持されるようにする規則のセットを使用する。具体的には、トランスコーダは、復号サブシステム中でＭＰＥＧ−２ビデオから導出されるＭＰＥＧ−２再符号化データセット（ＳＭＰＴＥ３２７Ｍ−２０００に記述されている）のサブセットを使用する。トランスコーダは、ＭＰＥＧ−２再符号化データを符号化サブシステム中の開始点として使用し、そこからＷＭＶ９符号化のための符号化決定を行い、いくつかのアイテムをＷＭＶ９ビットストリームに繰り越す。このように、トランスコーダは、ＷＭＶ９エンコーダの特定の必要性およびトランスコーディングシナリオに従って、様々なＭＰＥＧ−２符号化パラメータを保持または修正する。
【００７６】
トランスコーダは、以下の問題に対処する。すなわち、ＭＰＥＧ−２で符号化されたビデオピクチャのセットがある場合、トランスコーダは、同じピクチャをＷＭＶ９で再符号化するときにどのようにビットおよび品質（量子化）を割り振るべきかという問題である。トランスコーディングでは、トランスコーダは、品質を実質的に保持しながらトランスコーディング損失を回避（または少なくとも大幅に低減）するよう努める。トランスコーダは、知覚可能性／可視性のしきい値よりも低い品質を保持するためにビットを過剰に費やすことはしない。同時に、トランスコーダは、ＷＭＶ９の追加の圧縮効率を利用して、ＭＰＥＧ−２圧縮入力のビットレートよりも低いビットレートの出力を生成する。
【００７７】
トランスコーダは単一のパスで動作し、ビデオシーケンスを通して１つのパスで同時にＭＰＥＧ−２圧縮ビデオを圧縮解除し、再符号化データセットエレメントを収集し、ビデオを再圧縮する。実装に応じた十分なカスタマイズにより、この単一パストランスコーディングは、リアルタイムまたはほぼリアルタイムでＭＰＥＧ−２入力とＷＭＶ９出力を有する様々なストリーミングシナリオで使用することができる。あるいは、トランスコーダは、シーケンス全体を圧縮解除し、シーケンス全体の統計を格納してから、トランスコーディングを開始することもできよう。このようなマルチパスのトランスコーディングは品質を改善することができるが、明らかにより多くの計算時間を要し、製品としての実施が困難になる。
【００７８】
（Ａ．放送およびケーブル用途）
トランスコーダの品質を保持する特徴は、放送およびケーブル業界と密接な関係がある。トランスコーダは、既存のコンテンツのＭＰＥＧ−２からＷＭＶ９への効率的な変換を可能にして、ＷＭＶ９の効率を利用するか、または単に２つのフォーマット間の相互運用性を可能にする。ＭＰＥＧ−２からＷＭＶ９へのシームレスなトランスコーディングの潜在的な用途は、製作、編集、格納、および消費を含む広範なシナリオをカバーする。このセクションでは主に放送およびケーブルの「垂直軸」の用途に焦点を合わせるが、そのビジネス業務は製作および流通活動の範囲にまたがる。
【００７９】
（１．ＶＯＤおよびＰＶＲのためのコンテンツ変換）
コンテンツ消費の主流モデルは、コンテンツプッシュモデルであった。今日、コンテンツプルモデルがより一般的になりつつあるが、この場合のコンテンツは、どのコンテンツをいつ見るかを消費者が決定した後に配送される。２つの技術がこの変化を容易にした。第１はビデオオンデマンド（「ＶＯＤ」）であり、第２はパーソナルビデオレコーダ（「ＰＶＲ」）である。
【００８０】
ＶＯＤもＰＶＲも両方とも、帯域幅およびストレージの節約のために、ＭＰＥＧ−２からＷＭＶ９へのトランスコーディングの恩恵を受ける。ＶＯＤおよびＰＶＲは大規模スケールで実施され、帯域幅節約の累積効果は、大きなコスト節約をもたらすことができる。ＶＯＤで、オペレータらはＭＰＥＧ−２圧縮を許容可能な品質のビデオの限界いっぱいまで使用しており、そのため別のフォーマットへのトランスコーディングは、それ以上のどんな品質劣化も回避すべきである。トランスコーダは、ＭＰＥＧ−２  ＶＯＤコンテンツをＷＭＶ９フォーマットに変換するとき、ビデオの品質を維持しながらビットレートを低減する。
【００８１】
（２．Ｐｌａｙ  ｔｏ  Ａｉｒビデオサーバのためのコンテンツ変換）
ビデオサーバは、ＭＰＥＧ−２フォーマットで内部に格納されているビデオを、定期的に取り込み、再生する。編集される資産は、製作のチェーンに適合するように、ＭＰＥＧ−２で再摂取されるか、またはＭＰＥＧ−２にトランスコードされる。ＷＭＶ９の圧縮効率は、放送設備内のネットワーク帯域幅およびストレージの要件を低減する。
【００８２】
トランスコーダは、スタジオ摂取のコンテンツを、品質を維持しながら元のビットレートよりも低いビットレートでＷＭＶ９に変換する。この再フォーマット化されたコンテンツは、より小さいフットプリントで格納することができ、より狭い帯域幅で再生サーバに伝送することができる。放送設備は、放送再生、放送バックアップ、または遠隔サイトからの災害復旧のためにＷＭＶ９コンテンツを使用することができる。災害復旧の場合では、ビデオがワイドエリアネットワークを介して搬送される可能性が高いので、ビットレート低減から得られるコスト節約はさらに大きい。
【００８３】
（３．コンテンツレビューのためのプロキシ作成）
コンテンツレビューのためのプロキシ作成は、現在、ＷＭＶ９のポピュラーな使用法の１つである。ＭＰＥＧ−２は、放送設備内でのビデオの貢献および流通に都合が良いが、本質的にストリーミングフォーマットではなく、より低い解像度およびビットレートに適用されたときはうまくスケールしない。アーカイブされたコンテンツ、および放送予定の摂取されたコンテンツをレビューするために、より低いレートのプロキシが必要とされる。
【００８４】
トランスコーダは、元のフレームレートのままのより低いビットレートおよびより低い解像度のＷＭＶ９ファイルを作成する。元のビデオからのタイムコードは、プロキシの低ビットレートビデオで保持される。トランスコーダは、ユーザがプロキシをプレビューし、カットおよびその他の編集を行い、編集の決定リストを作成することを可能にするコンテンツプレーヤと共に使用することができる。
【００８５】
（４．バックホール配送のためのコンテンツ変換）
放送業者は、定期的にバックホール配送を使用して、コンテンツを地方放送のためにその系列会社に送る。コンテンツ企業連合は、専用ファイバまたは衛星チャネル経由のバックホール配送を使用して、クライアントにビデオを配送する。ＭＰＥＧ−２は、適切な条件付きアクセスデコーダを用いて、これらおよびその他の設備内転送のための一般的な中間配送フォーマットの１つである。バックホール用途では、小さなビットレート利得でも、大きなコスト節約をもたらすことができる。中間フォーマットはトランスペアレントであり、これによりＷＭＶ９をより効率的な配送フォーマットとして採用することへの強力な推進力がもたらされる。
【００８６】
（Ｂ．ピクチャ符号化タイプの使用）
ＭＰＥＧ−２とＷＭＶ９は両方とも、３つの基本ピクチャ符号化タイプ、すなわちイントラ（「Ｉ」）、片方向予測（［Ｐ］）、両方向予測（［Ｂ］）を使用する。ＭＰＥＧ−２とＷＭＶ９とではこれらのピクチャタイプの符号化および復号に違いがある。ＷＭＶ９は通常、より圧縮効率がよく、同じ品質の場合にビットレートを低減する。したがって、トランスコーディングの目標は、入力ビデオストリームとトランスコードされたビデオストリームの間でビット割振り自体を保持することではない。ＭＰＥＧ−２とＷＭＶ９との間の符号化ツールの違いにより、このような厳密な追跡の必要性を除去する。他方、ＭＰＥＧ−２圧縮ビデオからのピクチャあたりの相対的なビット割振りは、ビットを過剰に割り振ってもピクチャ品質を改善することにはならないので、ＷＭＶ９エンコーダの一般的なガイドとして役立つ可能性がある。実際、ピクチャタイプ情報を使用して符号化決定をガイドすることによって、トランスコーディング効率を大きく改善することができる。
【００８７】
元のピクチャに対する符号化ピクチャの忠実度はピクチャタイプに応じて大きな差があるので、ＭＰＥＧ−２の各ピクチャタイプは、ビットレートおよび品質と密接な関係がある。Ｉピクチャは完全リフレッシュを表し、これは動き補償や再構成などにおけるエラーの伝搬を終了させる。トランスコーディングエラーの伝搬はまた、新しいＩピクチャで終了する。Ｉピクチャは通常、他のピクチャよりも多くのビットを消費する。このように、Ｉピクチャを挿入するとビットレートに悪影響を及ぼすが、伝搬エラーを低減することで知覚品質を改善する傾向がある。
【００８８】
トランスコーダは、いくつかの状況で、ソースフォーマット圧縮ビデオとターゲットフォーマット圧縮ビデオの間でＩピクチャタイプを一致させる。トランスコーディングエラー、伝送エラー、またはその他のエラーの伝搬に対する回復力を改善するために、トランスコーダは、ターゲットフォーマット圧縮ビデオでＩピクチャを使用する。または、ＧＯＰパターンマッチングが使用されるとき（以下参照）、トランスコーダはＩピクチャタイプを一致させる。ＷＭＶ９エンコーダは、Ｉピクチャの正確な位置を数ピクチャだけ前方または後方に調整して、シーケンス特有の符号化効率を利用することができる。
【００８９】
Ｐピクチャは（前のリファレンスピクチャからの）前方予測を使用し、Ｂピクチャは前方および／または後方予測を使用することができる。通常、Ｐピクチャは、Ｂピクチャよりも多くのビットを消費する。Ｐピクチャは、動き補償のためのリファレンスピクチャとして使用することができる。Ｂピクチャは他のどんなピクチャによっても参照されず、そのためＢピクチャ内のエラーは局所化される。
【００９０】
ターゲットフォーマット圧縮ビデオのビットレートをソースフォーマット圧縮ビデオのビットレートと一致させることができるとき、トランスコーダは、最高品質のトランスコーディングのピクチャ符号化タイプを保持する。しかし、ビットレートを低減したトランスコーディングでは、このようなピクチャタイプマッチングは、必要なビットレートの低減を妨げることがある。それゆえ、トランスコーダは、ＷＭＶ９圧縮ビデオでＩピクチャの代わりにＰピクチャを選択的に代用するか、またはＩピクチャの頻度を減らす。ＰピクチャをＢピクチャで置き換えることによって、さらなるビットレートの低減が達成される。トランスコーダは、すべてのトランスコーディングシナリオにおいてＢピクチャをＢピクチャにマップする。
【００９１】
（Ｃ．ピクチャグループパターンの使用）
ピクチャグループ（「ＧＯＰ」）は、ピクチャタイプパターンに従ったピクチャの配置の１つである。ＭＰＥＧ−２のＧＯＰは、Ｉピクチャと、その後にアンカーとして続くいくつかのＰピクチャと、アンカー間のＢピクチャで構成することができ、例えばＩ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂである。ＭＰＥＧ−２ビデオストリームは、多くの場合、フィルムコンテンツには１２フレームのＧＯＰサイズを使用し、テレビジョンコンテンツには１５フレームのＧＯＰサイズを使用する。様々なＧＯＰパターンが、ランダムアクセス、早送り、早戻し、またはその他のアクセス機能のための異なるレベルのサポートを提供する。対照的に、ＷＭＶ９ビデオは通常、Ｉピクチャの頻度がより少なく、デフォルト設定では毎１０秒ごとにＩピクチャが挿入される。
【００９２】
トランスコーダは、様々な状況で、ＧＯＰパターン（詳細にはＩピクチャの位置）を入力ビデオとトランスコードされたビデオの間で一致させることができる。ソースおよびターゲットフォーマットの圧縮ビデオ間で対応するランダムアクセス、早送り、早戻し、またはその他のアクセス機能が必要とされるとき、トランスコーダは、ＧＯＰパターンを一致させる。品質の試行錯誤として、ＧＯＰパターンを一致させることは、ビットレートを一致させる傾向になり、これは品質を一致させる傾向になる。ＩピクチャをＷＭＶ９ビデオ中のＧＯＰパターンに従って配置すると、ＰピクチャおよびＢピクチャをＭＰＥＧ−２ビデオ中のＰおよびＢピクチャの位置と一致するように配置することができる。
【００９３】
（Ｄ．フレーム／フィールド符号化決定情報の使用）
ＭＰＥＧ−２では、シーケンス全体をフレームまたはフィールドとして符号化することができる。後者の使用は非常に稀である。というのは、フレームに対して許容されるフィールド符号化モードは、速く動くコンテンツを圧縮するときに効率の損失を埋め合わせるからである。概して、フレーム符号化の方がフィールド符号化よりも性能が優れていることが多い。
【００９４】
フィールド符号化ピクチャをトランスコーディングするとき、トランスコーダは、ＷＭＶ９エンコーダの内部決定機構に、各ＭＢのフィールド／フレーム符号化タイプを判定させる。トランスコーダは、自動的にフィールド符号化を施行しない。あるいは、トランスコーダは、すべてのピクチャタイプについて、ＭＢレイヤまたは他のレイヤでフィールド／フレーム符号化タイプ決定を一致させる。例えば、トランスコーダは、ＭＰＥＧ−２圧縮ビデオがフィールドピクチャを使用するとき、ＷＭＶ９エンコーダにインターレースドフィールドピクチャを使用させる。このようにしてフレーム／フィールドピクチャタイプを一致させることにより、トランスコーディングにおけるタイプマッチングの他の例と同様にトランスコーディング効率を改善することが期待される。
【００９５】
（Ｅ．マクロブロックイントラ／インター情報の使用）
ＭＰＥＧ−２およびＷＭＶ９の両方で、ＰピクチャおよびＢピクチャ中のＭＢを、イントラ符号化（リファレンスからの予測を使用しない）またはインター符号化（リファレンスからの予測を使用する）することができる。例えば、イントラ符号化は、動き補償が失敗するか、または不十分な結果（例えば大きい予測残差）を与えるときに使用される。動き補償は、リファレンスピクチャ中に適当な一致のない新たにさらされたコンテンツ（新しいオブジェクトや新しく現れた背景など）をＭＢが含むときに失敗することがある。
【００９６】
いくつかの実装形態では、トランスコーダは、イントラ／インター符号化タイプ決定を保持し、この決定をＷＭＶ９ビデオ中の非Ｉピクチャに対してＭＢレイヤで選択的に再適用する。ＭＢレベルでイントラ符号化タイプを一致させることの動機付けの１つは、検討中のＭＢに、（より高いビットレートの犠牲を払って）高品質が保証されることである。
【００９７】
（Ｆ．ピクチャレベルでの量子化マッチング）
ＭＰＥＧ−２およびＷＭＶ９は両方とも、変換係数の均一な量子化を使用する。係数は、ビット精度、許容される量子化器ステップサイズの数、許容される量子化器ステップサイズの範囲という点から同様に表される。これにより、ＭＰＥＧ−２ビデオとＷＭＶ９ビデオの間で品質を一致させるための推進機構として量子化の使用が容易になる。ＭＰＥＧ−２圧縮ビデオとＷＭＶ９圧縮ビデオの間で量子化レベルを追跡することによって、トランスコーダは、少なすぎず多すぎないビットが使用されるようにＷＭＶ９符号化をガイドする。適した数のビットを使用して各ピクチャを圧縮することにより、品質を保持し、トランスコーディング損失を低減する助けとなる。
【００９８】
トランスコーダにおいて、ＭＰＥＧ−２パーサが、ＭＰＥＧ−２ビデオ中の所与のピクチャのＭＢごとに量子化器スケールを抽出する。ＷＭＶ９ビデオ中のピクチャのピクチャレベルでの量子化について、トランスコーダは、ＭＰＥＧ−２ビデオのピクチャ中のスキップされていないＭＢのＭＰＥＧ−２量子化スケールを平均化する。トランスコーダは、この平均値をＷＭＶ９ピクチャのピクチャレベル量子化器スケールに使用する（ピクチャ内のＭＢにピクチャレベル量子化器スケールを使用する）。
【００９９】
トランスコーダがレート制御を使用する場合、トランスコーダは、現在のレート制約を満たすようにピクチャレベル量子化器スケールを調整することができる。いずれの場合も、トランスコーダは、量子化レベルをＭＥＰＧ−２ビデオ中の対応する量子化レベルの許容差内に維持する。
【０１００】
（Ｇ．マクロブロックレベルでの量子化マッチング）
ピクチャレベルの量子化器レベル制御は、きめ細かい品質／レート制御を提供しない。ＭＰＥＧ−２ビデオとＷＭＶ９ビデオとの間で品質をよりしっかりと一致させるために、トランスコーダは、ＭＢレベルで量子化を一致させる。ＷＭＶ９では、ＭＢレベルでの量子化器スケールの設定を可能にする（ＤＱＵＡＮＴ機能と呼ばれることもある）。
【０１０１】
ＤＱＵＡＮＴにより、ＷＭＶ９エンコーダは、個々のＭＢの量子化レベルを調整することができる。トランスコーダは、ＷＭＶ９エンコーダに、ＭＰＥＧ−２ビデオのそれぞれの対応するＭＢの量子化器値に従って量子化を使用させる。トランスコーダがレート制御を使用する場合、トランスコーダは、現在のレート制約を満たすようにＭＢあたりの量子化器レベルを調整することができる。やはりいずれの場合も、トランスコーダは、量子化レベルをＭＰＥＧ−２ビデオ中の対応する量子化レベルの許容差内に維持する。
【０１０２】
ＷＭＶ９のＭＢスキップ決定は調整されない。言い換えれば、ＭＢは、対応するＭＢがＭＰＥＧ−２ビデオで符号化されたというだけで、ＷＭＶ９ビデオで符号化されることはない。
【０１０３】
（Ｈ．定ビットレートのレート制御）
多くのシナリオで、トランスコーダは、ＭＰＥＧ−２入力のビットレートよりも低い可変ビットレートで出力ＷＭＶ９ビデオを生成する。他のシナリオでは、トランスコーダは、ＭＰＥＧ−２入力のビットレート以下の固定または比較的固定のビットレートで、ＷＭＶ９出力を生成する。これを達成するために、トランスコーダは、ＷＭＶ９エンコーダのデフォルト可変ビットレートモードに加えてレート制御を使用して、変動するピクチャタイプおよびシーンの複雑さにかかわらず固定の出力ビットレートを維持するのを助ける。
【０１０４】
トランスコーダは、レート制御のために３ステップのプロセスを使用することができる。すなわち、（１）目標のビット割振り、（２）仮想バッファ規準に基づく量子化に対する粗い制御、（３）量子化値を局所的な変動に調整するための細かい適応量子化である。目標のビット割振りは、ピクチャタイプおよびピクチャの複雑さによって変化させることができる。例えば、Ｉピクチャには、同じ品質のＰピクチャよりも多くのビットが割り振られ、Ｐピクチャには、同じ品質のＢピクチャよりも多くのビットが割り振られる。抽出されたピクチャタイプ値を使用して、異なるピクチャにビットを割り振ることができる。複雑なピクチャには、同じ品質の単純なピクチャよりも多くのビットが割り振られ、この場合、複雑さはコンテンツまたは符号化結果の分析から推定される。
【０１０５】
トランスコーダは、ＷＭＶ９エンコーダからのフィードバックを使用して、量子化レベルを余剰ビットまたは不足ビットに応じて調整する。具体的には、トランスコーダは、レートバッファの飽和度に比例して量子化ステップサイズをスケールする。これにより、バッファオーバーフローおよびアンダーフローを回避しつつ、出力を所望のレートに適合させる。出力ビットレート目標が妥当なときは、トランスコーダは依然としてシームレスなトランスコーディングを達成することができる。トランスコーダはまた、心理視覚的な規準を適用することもできる。ピクチャ、ピクチャグループ、またはコンテンツのその他の期間に対する定ビットレート制約が満たされる限り、トランスコーダはＷＭＶ９エンコーダに、品質制約を満たすよう期間内にビットを効率的に割り振るフレキシビリティを与える。
【０１０６】
（１．第１のＣＢＲ実装形態）
図８に、第１の比例レート制御機構（８００）を示す。この機構は、目標のビット割振りからの偏差に従って重み付けを使用する。最終的なビット割振りは、符号化されるピクチャまたはＭＢに対する重み付き量子化器ステップサイズ（８６２）として表現される。割り振られたビットと、ピクチャを符号化するのに使用された実際のビットとの偏差を使用して、目標の量子化器ステップサイズ（８４４）をスケールする。この場合、目標量子化器ステップサイズ（８４４）は、ソースフォーマット圧縮ビデオから導出される。
【０１０７】
初期のビット割振り（８０２）には、いくつかの戦略が可能である。単純なアプローチの１つは、ビットレート（ビット／秒）をフレームレート（フレーム／秒）で割った値に基づいて、各ユニットにビットを割り振ることである。各ユニットに対するビット割振りはまた、ソースフォーマットで使用された対応するビット数を、ターゲット対ソースのビットレート比率でスケールした値に基づくこともできる。あるいは、この機構は、上記のように開始するが、定ビットレート規準に適合しつつ、ターゲットフォーマットのピクチャタイプに基づいて割振りを修正する。
【０１０８】
ピクチャを符号化するのに実際に使用されたビット（８８２）を、ピクチャに割り振られたビット（８０２）から差し引く。これにより、割り振られたビットと使用されたビットとの偏差が得られる。時差効果を構築するために、いくつかの過去のピクチャからの偏差を使用して量子化器スケーリングに影響を与える。これらの偏差は、遅延バッファ（８２０、８３０）中で遅延され、しきい値スケールファクタ（８２２、８３２）によって重み付けされる。例えば、しきい値スケールファクタを０．５として、前の２つのピクチャのそれぞれの偏差に等しい重みを与える。または、前の２つのピクチャのうち新しい方には、より多くの重みを与える（例えば０．７対０．３）。重み付けされた偏差は、組み合わされ、しきい値評価器（８４０）にルーティングされる。
【０１０９】
しきい値評価器（８４０）は、調整された偏差を受け取り、量子化スケールファクタ（８４２）を計算して、目標量子化ステップサイズ（８４４）に適用する。図８では量子化スケールファクタ（８４２）を乗数として示しているが、ファクタ（８４２）は、目標量子化ステップサイズ（８４４）に対して足す量、または引く量として表現することもできる。しきい値評価器（８４０）は、スケーリングの大きさを制限して、あるピクチャから別のピクチャへのピクチャ品質の大きな変化を防ぐことができる。
【０１１０】
（２．第２のＣＢＲ実装形態）
図９に、第２の比例レート制御機構の一部の擬似コード（９００）を示す。この機構は、バッファ飽和レベルに従って重み付けを使用する。この実装形態で、目標ビット割振りｇ＿ｎＡｖｇＢＰＦは、一定であり、目標ビットレートを１秒あたりのフレームで割った値に等しいと仮定する。ｐＩｎｃｏｍｉｎｇＰａｒａｍｅｔｅｒの項は、最後のピクチャを符号化することによって消費されたビット総数を表す。これらの項は、一定レートで枯渇し、変動するレートで満たされる仮想バッファのバッファレベルであるｇ＿ｎＣｕｒｒｅｎｔＢｕｆｆｅｒＬｅｖｅｌを調整する。
【０１１１】
バッファレベルは、０からｇ＿ｎＭａｘＢｕｆＳｉｚｅまでに制限され、ｇ＿ｎＭａｘＢｕｆＳｉｚｅは用途に依存する。あるケースでは、ｇ＿ｎＭａｘＢｕｆＳｉｚｅは、目標ビットレートで５秒のビデオに初期化される。バッファ飽和度ｎＢｕｆｆｅｒＦｒａｃｔｉｏｎは、ｇ＿ｎＣｕｒｒｅｎｔＢｕｆｆｅｒＬｅｖｅｌをｇ＿ｎＭａｘＢｕｆＳｉｚｅで割ることによって計算される。バッファ飽和度は、スケーリングの量をＡＤＪＵＳＴ＿ＳＣＡＬＥとして判定し、ＡＤＪＵＳＴ＿ＳＣＡＬＥは、実験的に導出された値である。例えば、ＡＤＪＵＳＴ＿ＳＣＡＬＥが２０である場合、量子化スケーリングファクタｑ＿ｎＱＰＡｄｊｕｓｔは−１０および１０の範囲で変化する。バッファが半分満たされている場合、ｎＢｕｆｆｅｒＦｒａｃｔｉｏｎは０．５であり、ｑ＿ｎＱＰＡｄｊｕｓｔは０である。バッファが飽和状態に近づくにつれて、ｑ＿ｎＱＰＡｄｊｕｓｔは１０に近づいて、量子化ステップサイズを上にスケール（またはインクリメント）し、それによりビットレートを低下させてバッファ飽和度を正常にする。他方、バッファが空の状態に近づくにつれて、ｑ＿ｎＱＰＡｄｊｕｓｔは−１０に近づいて、量子化ステップサイズを下にスケール（またはデクリメント）し、それによりビットレートを増大させてバッファ飽和度を正常にする。図９の擬似コード（９００）では、過去の符号化ピクチャを越えて重み付けを使用していない。
【０１１２】
（Ｉ．その他のシステムの問題）
トランスコーディングでゲインを得るために、トランスコーディング規則は、トランスコーダが使用されるシステムコンテキストの様々な詳細を考慮する。これらの詳細のいくつかは、ピクチャ品質に影響する。他の詳細は、実装形態のスピードおよび効率に影響する。
【０１１３】
（１．カラーサンプリング）
ＭＰＥＧ−２は、インターレースおよびプログレッシブのピクチャに対して４：２：０のカラーサンプリングを使用する。さらに、標準解像度のビデオに対して、４：２：２のカラーサンプリングの別個のプロファイルをサポートしている。ＷＭＶ９は、プログレッシブビデオとインターレースビデオの両方に対して４：２：０のカラーサンプリングを使用する。４：２：０のＭＰＥＧ−２ビデオから４：２：０のＷＭＶ９ビデオにトランスコーディングするとき、トランスコーダは、サンプル変換なしで復号ビデオを処理し、これにより、圧縮段階の外で人工劣化をもたらすのを回避する助けとなる。
【０１１４】
あるいは、ターゲットフォーマットエンコーダは、例えばインターレースビデオに対して４：１：１など、別のカラーサンプリングフォーマットを使用することもできる。４：２：０サンプリングから４：１：１サンプリングへの変換が必要な場合、トランスコーダは、色成分を垂直方向に２倍だけアップサンプリングし、フィールドベースのフィルタリングを垂直方向に行って、インターレース人工劣化を低減する。トランスコーダは、標準の２分の１帯域フィルタリングを使用して、色成分を水平方向にダウンサンプルする。４：２：２カラーサンプリングを使用するソースビデオの場合、４：１：１は最も単純なターゲットモードである。
【０１１５】
ビデオが複数のカラーサンプリングモード間で切り替わるとき、トランスコーダは単純に１つのカラーサンプリングモードを選択し、使用して、様々なカラーサンプリングプロセスを継続して処理する複雑さを回避することができる。または、トランスコーダは、カラーサンプリングモードをフレームごとのベースまたはその他のベースで切り替えることもできる。
【０１１６】
トランスコーダは、ルミナンス／クロミナンス色空間と、赤／緑／青の色空間との間の変換など、色空間変換を避ける。ＭＰＥＧ−２とＷＭＶ９ビデオは両方ともルミナンス／クロミナンス空間で動作し、そのため色変換は不要である。
【０１１７】
（２．３：２プルダウンパターン）
テレビジョンは、ＮＴＳＣビデオを毎秒約６０フィールドで表示する。対照的に、フィルムコンテンツは毎秒２４ビデオフレームで表示される。テレシネ変換プロセスは、ビデオをテレビのレートからフィルムのレートに変換し、逆テレシネプロセスは、フィルムからテレビに変換する。フィルムは、３：２プルダウンパターンを使用してテレビのレートに変換されることが多く、３：２プルダウンパターンに従えば、３つのフィールドが最初のフィルムフレームから（例えばフィールドを繰り返すことによって）引き出され、２つのフィールドが次のフィルムフレームから引き出され、以下同様である。
【０１１８】
逆テレシネの場合、ＭＰＥＧ−２は、基本ストリーム中で３：２プルダウンパターン情報を可能にする。これにより、表示デバイスが毎秒６０フィールドでコンテンツを表示することができるようになる。同様に、ＷＭＶ９は、逆テレシネ検出および処理を基本デコーダの外で行う。ＷＭＶのいくつかのバージョンでは、逆テレシネ情報がＷＭＶビットストリーム中でシグナルされる。しかし、他のバージョンでは、基本ストリームのシンタックスは逆テレシネ情報のエレメントを含まず、したがって、逆テレシネ情報はＡＳＦレベルで渡され、再生デバイスのコンポーネントによって抽出され、適用される。
【０１１９】
トランスコーダは、毎秒２４フレームのフィルムコンテンツを次のように扱う。トランスコーダは、ＭＰＥＧ−２ビデオから３：２プルダウンパターンを、「トップフィールドファースト」と「リピートファーストフィールド」の２つのフラグとして引き出す。これらのフラグの一方または両方が、ビデオの各符号化フレームについて保持される（基本ストリーム中でまたはＡＳＦレベルで）。結果として、編集またはその他の理由によるパターン中のブレイクが保持される。トランスコーダは、様々なトランスコーディング規則でフレームを再圧縮する。表示デバイスで、コンテンツは、保持された逆テレシネ情報を使用して毎秒約６０フィールドで再生される。このソリューションは、純粋なフィルムコンテンツで機能する。フィルムとテレビジョンの混合コンテンツの場合は、トランスコーダはフィルムコンテンツをテレビジョンコンテンツとして扱い、処理を単純化する。
【０１２０】
（３．ループフィルタリング）
ループフィルタリングは、量子化関連のブロッキング人工劣化の影響を平滑化することによってピクチャ品質を改善する。これにより、リファレンスピクチャが後続の動き推定および補償に対してうまく機能する。ＷＭＶ９でのループフィルタリングの使用により、前の圧縮サイクルからの圧縮人工劣化が軽減され、ループフィルタリングなしでは、このような人工劣化により後続の圧縮の効果が低減されることがある。トランスコーダにより、ＷＭＶ９エンコーダ中でのループフィルタリングが可能になる。
【０１２１】
（４．量子化スケールおよび量子化行列）
ＭＰＥＧ−２は、特定のピクチャタイプに使用される明示的な量子化行列をビットストリームのシーケンスヘッダで提供している。ＭＰＥＧ−２のデフォルト量子化行列は、Ｉピクチャではフラットでなく、他のタイプのピクチャではフラットである。対照的に、ＷＭＶ９は、すべてのピクチャタイプにわたってフラットな量子化行列を使用するが、フラットな量子化の０を中心としたデッドゾーンの幅について、２つの変形を提供する。（非フラットな量子化もなお、ＷＭＶ９のエンコーダ限定のプロセスとして実施することができる）。
【０１２２】
トランスコーディングの目的のために、イントラ符号化ブロックにより細かい量子化器スケールを使用することで、ピクチャ品質を改善するようには思われない。というのは、先の圧縮で失われた情報は、より細かい量子化で復元することはできないからである。そのため、トランスコーディング規則として、ＷＭＶ９エンコーダは対応するＭＰＥＧ−２符号化ＭＢの量子化スケールを超えず、量子化行列に対して適切に調整する。非イントラブロックの場合は、ＷＭＶ９はより複雑な予測モードおよびより正確な動きベクトルをサポートするので、ＷＭＶ９エンコーダによって使用される量子化器スケールは、対応するＭＰＥＧ−２のＭＢの量子化スケールをかなり超えることができる。トランスコーダは、所望の品質設定に基づいて種々のデッドゾーン幅の間で選択して、量子化を微調整することができる。
【０１２３】
（５．ＭＶモード）
ＭＰＥＧ−２では一般に、ＭＢあたり１つの動きベクトルを提供する。フィールド符号化ＭＢの場合、１つの動きベクトルがＭＢの各フィールドについて生成される。ＷＭＶ９では、ＭＢあたり４つまでの動きベクトルが可能である。これにより、動きベクトルをシグナルするための追加のビットを犠牲にして、局所的な変化に適応するためによりきめ細かい動き補償が可能になる。トランスコーダは、ＷＭＶ９エンコーダでＭＢあたり４つの動きベクトルを可能にする。
【０１２４】
（６．高速整数変換）
ＭＰＥＧ−２は標準的なＤＣＴを使用する。ＷＭＶ９は、いくつかのモードでＤＣＴを可能にするが、他のモードでは高速な整数ベースの変換を使用し、これは、ＭＰＥＧ−２スタイルのＤＣＴを使用するのに比べて処理を高速化する。品質の点では、高速な整数ベースの変換の全体的な性能は、標準的なＤＣＴと同様である。高速な整数ベースの変換は、それ自体ではＤＣＴに比べて品質を改善しない。
【０１２５】
しかし、変換の違いにより、ＭＰＥＧ−２ビデオから導出されるＤＣＴ係数を単純にＷＭＶ９で再使用することはできない。これは重大なペナルティではない。というのは、ＷＭＶ９は、いずれにせよ新しい動き推定および補償の後で変換係数を再計算するからであり、また、高速な整数ベースの変換は計算時間のペナルティが小さいからである。
【０１２６】
（７．強度補償）
強度補償は、リファレンスピクチャ中のピクセルを再マッピングして、ピクセル値をスケールおよび／またはシフトすることを可能にする。これにより、フェードインおよびフェードアウトシーケンス中のビットを保存するのを助けることができる。ＭＰＥＧ−２は強度補償を使用しないが、トランスコーダは、ＷＭＶ９エンコーダでの強度補償を可能にする。
【０１２７】
（８．可変サイズの変換）
ＷＭＶ９エンコーダは、可変サイズの変換を使用することができ、これはＭＰＥＧ−２からの大きな逸脱である。変換のブロックサイズは、局所的な適応性と符号化オーバーヘッドとをトレードオフするパラメータである。局所的変化への適応が望ましいときは、より小さい変換サイズが好ましい。変換サイズの適切な選択により、そうでなければコンテンツの境界を含むことになるブロックの高周波数変換係数の粗い量子化によるリンギングおよびその他の人工劣化を低減することができる。
【０１２８】
（９．動きベクトル精度）
ＭＰＥＧ−２では、動きベクトルは２分の１ピクセル精度に限定されており、ＷＭＶ９では、４分の１ピクセル精度の動きベクトルが許容されている。４分の１ピクセル精度は、潜在的に符号化効率においてゲインをもたらす。ＭＰＥＧ−２ビデオの品質は、先のロッシー圧縮の後に改善することはできないが、４分の１ピクセル精度の動き補償は、同じまたはより低いビットレートで品質を保持するのを助ける。
【０１２９】
（１０．オーバーラップおよびその他の予測モード）
動きベクトル、予測エラー、その他の値に対して、ＷＭＶ９で予測モードが豊富に利用可能であることは、ＷＭＶ９をＭＰＥＧ−２から差別化している。一般に、トランスコーダは、ＷＭＶ９エンコーダでこれらのモードの選択を制限しない。例外の１つは、フィールド符号化ＭＢについてである。ＭＰＥＧ−２ビデオがＭＢのフィールド符号化を使用する場合、ＷＭＶ９エンコーダを同じモードに適合させることで、トランスコーディング損失を低減することができる。
【０１３０】
（１１．長いまたは拡張された範囲の動きベクトル）
長いまたは拡張された範囲の動きベクトルは、Ｐピクチャの水平および垂直方向の動きベクトルの範囲を拡張する。
【０１３１】
ＭＰＥＧ−２ビットストリームでシグナルされる動きベクトル情報は、トランスコーディング中にＷＭＶ９エンコーダでの動き推定の開始点として使用することができ、潜在的にＷＭＶ９エンコーダでの動き推定プロセスを高速化する。ＷＭＶ９エンコーダはまた、ＭＰＥＧ−２の動きベクトルをガイドとして、動き推定探索領域のサイズを縮小することもできる。
【０１３２】
ＶＩＩ．結果
前述の技法により、トランスコーダは、ＭＰＥＧ−２からＷＭＶ９への高忠実度変換を達成する。高忠実度変換は、以前に符号化されたコンテンツのより低い忠実度の表現を許容しないであろう高品質ビデオの製作者および放送業者にとって、極めて重要である。基準点の１つとして、４５ｄＢのＰＳＮＲはトランスコーディングには高いと考えられ、ＭＰＥＧ−２からＷＭＶ９へのトランスコーダは、この指標を超えることが多い。
【０１３３】
第１のテストセットでは、ＭＰＥＧ−２ビデオと、単純なトランスコーダを使用してトランスコードされたＷＭＶ９ビデオのピクチャサイズを比較した。ＷＭＶ９ビデオの多くのピクチャについて、使用されたビットの数は、対応するＭＰＥＧ−２ピクチャに使用されたビットの数よりもずっと多いかずっと少ないかのどちらかであった。
【０１３４】
第２のテストセットでは、ＭＰＥＧ−２ビデオと、改良トランスコーダを使用してトランスコードされたＷＭＶ９ビデオのピクチャサイズを比較した。この比較では、ＷＭＶ９ピクチャあたりに使用されたビットの数は、ＭＰＥＧ−２ピクチャあたりに使用されたビット数よりも一貫して少なく、全体的な使用パターンの山と谷は、２つのビデオシーケンス間でおよそ一致する。
【０１３５】
後続のテストでは、単純なトランスコーディングと改良トランスコーディングの品質を、レート制御なしで様々なビットレートで比較した。これらのテストは、同じＭＰＥＧ−２コンテンツについて、改良トランスコーディングが単純なトランスコーディングに対して一貫して実質的なゲインを示した。これらのテストの場合、ＩピクチャおよびＰピクチャについて、ＭＰＥＧ−２量子化器スケールパラメータをＷＭＶ９ビデオのＭＢレベルで一致させた。Ｂピクチャについては、ピクチャレベルマッチングを使用した。短い（５秒）シーケンスと長い（３０秒）シーケンスの両方をテストした。ＷＭＶ９ビデオについて結果として得られたビットレートは、ＭＰＥＧ−２ビデオよりも平均して約２５％低かった。単純なトランスコーディングと改良トランスコーディングの両方で、平均ＰＳＮＲは、ＭＰＥＧ−２ビデオに比べてトランスコードされたＷＭＶ９ビデオでは４０ｄＢを超えていた。単純なトランスコーディングに比べて、改良トランスコーディングは、ルミナンスについては一貫して平均で０．５ｄＢよかった（クロミナンスについては平均で１ｄＢ）。この差は１０％と２０％の間のビットレートゲインに対応し、これは、改良トランスコーディングに匹敵する品質を達成するためには単純なトランスコーディングで１０％から２０％多いビットを使用しなければならないことを意味する。視聴者テストでこれらの結果が確認され、視聴者は、改良トランスコーディングの結果の品質の方が、同じビットレートの単純なトランスコーディングの結果よりも優れていると一貫して識別した。
【０１３６】
他のテストでは、ＭＢ符号化タイプのトランスコーディング規則を使用した場合と使用しない場合とで結果を比較した。非Ｉピクチャについて、トランスコーダは、ＭＰＥＧ−２イントラＭＢがＷＭＶ９ビデオ中の対応するイントラＭＢになるようにしたが、ＭＰＥＧ−２ビデオ中でインタータイプであったＭＢをどのように符号化するかはＷＭＶ９エンコーダが決定できるようにした。トランスコーダはまた、すべてのピクチャタイプにおいてフィールドおよびフレーム符号化決定を一致させた。これらの規則で、改良トランスコーディングの品質は、依然として単純なトランスコーディングよりも高かったが、ＰＳＮＲゲインは、マクロブロックタイプ規則なしの場合よりも小さかった。ＰＳＮＲの改善は、ルミナンスについては平均して０．２ｄＢと０．３ｄＢの間であった（クロミナンスについては０．８ｄＢ）。
【０１３７】
他のテストでは、比例レート制御を他の規則と組み合わせて評価した。出力ビットレートは、バッファオーバーフローおよびアンダーフローを回避しつつ、目標レートパラメータの１％以内であることがわかった。出力ビットレートがＭＰＥＧ−２量子化レベルに一致させたときに得られるビットレートよりもかなり低く設定された場合、トランスコーダの品質を保持する特徴は覆された。しかし、レート制御は、レートおよび品質を規制するためには依然として有用な機能である場合がある。一般的な法則として、ＷＭＶ９エンコーダの圧縮効率を利用するために、品質を保持し、トランスコーディング損失を回避しつつ、トランスコーダの出力を入力圧縮ビデオよりも約２５％低いビットレートに設定することができことができる。
【０１３８】
記載の実施形態を参照して本発明の原理を記述および図示したが、記載の実施形態は、このような原理を逸脱することなく、構成および詳細を修正することができることが理解されるであろう。本明細書に記載のプログラム、プロセス、または方法は、別途指示がない限り、どんな特定タイプのコンピューティング環境に関係したり、限定されたりしないことを理解されたい。様々なタイプの汎用または専用コンピューティング環境が共に使用されるか、または本明細書に述べた教示に従って動作を行なうことができる。ソフトウェアで示した記載の実施形態のエレメントはハードウェアで実現してもよく、またその逆も可能である。
【０１３９】
本発明の原理を適用することのできる多くの可能な実施形態に鑑みて、添付の特許請求の範囲およびその均等の範囲および趣旨内に入る得るすべてのそのような実施形態が本発明として請求される。
【図面の簡単な説明】
【０１４０】
【図１】記載の実施形態を実施することができる適したコンピューティング環境のブロック図である。
【図２】記載の実施形態を実施することができるビデオトランスコーダのブロック図である。
【図３】トランスコーダのＤＭＯアーキテクチャのブロック図である。
【図４】図３のトランスコーダを組み込むフィルタグラフのブロック図である。
【図５】ターゲットフォーマットにトランスコーディングする際にソースフォーマット圧縮ビデオの再符号化データセットエレメントを取得し、使用するための技法を示すフローチャートである。
【図６】ターゲットフォーマットにトランスコーディングする際にソースフォーマット圧縮ビデオの量子化レベルを取得し、使用するための技法を示すフローチャートである。
【図７】トランスコーディングにおけるレート制御の技法を示すフローチャートである。
【図８】一実装形態における比例レート制御機構のブロック図である。
【図９】別の実装形態における比例レート制御機構の擬似コードリストである。
【符号の説明】
【０１４１】
１００  コンピューティング環境
１１０  処理ユニット
１２０  メモリ
１３０  基本構成
１４０  ストレージ
１５０  入力デバイス
１６０  出力デバイス
１７０  通信接続
１８０  高忠実性（ハイファイ）トランスコーディングを実施するソフトウェア
２００  トランスコーダ
２０５  ソースフォーマット圧縮ビデオ
２１０  ソースフォーマットデコーダおよびビットストリームパーサ
２１３  プレビューのための復号ビデオ
２１５  トランスコーディングのための復号ビデオ
２１７  再符号化データセットエレメント
２２０  再符号化データセットプロセッサ
２３０  ターゲットフォーマットエンコーダ
２３２  エンコーダ
２３４  エンコーダ制御モジュール
２３５  ターゲットフォーマット圧縮ビデオ
３００  ＤＭＯ／トランスコーダフィルタ
３０２  復元ビデオ
３０４  ソースフォーマット圧縮ビデオ
３１０  ターゲットフォーマットビデオエンコーダ
３１２  通知
３２０  ソースフォーマットパラメータパーサ
３２２  リターンパラメータ
３２８  復元オーディオ
３３０  ターゲットフォーマットオーディオエンコーダ
３４０  キュー／バッファ管理モジュール
３４２  ターゲットフォーマット圧縮ビデオ
３４４  ターゲットフォーマット圧縮オーディオ
４００  フィルタグラフ
４１０  ソースフォーマットソースフィルタ
４２０  ソースフォーマットストリームスプリッタ
４４０  ソースフォーマットビデオデコーダ
４５０  ソースフォーマットオーディオデコーダ
４９０  ライタ／マルチプレクサ
８００  比例レート制御機構
８０２  割り振られたビット
８２０  遅延バッファ
８２２  しきい値スケールファクタ
８３０  遅延バッファ
８３２  しきい値スケールファクタ
８４０  しきい値評価器
８４２  量子化スケールファクタ
８４４  ピクチャの目標量子化ステップサイズ
８６２  ピクチャの量子化ステップサイズ
８６４  圧縮解除されたビデオ
８８０  ＷＭＶ９エンコーダ
８８２  使用されたビット
８８４  圧縮ビデオ
【図１】
2005323353.tif 000004
【図２】
2005323353.tif 000005
【図３】
2005323353.tif 000006
【図４】
2005323353.tif 000007
【図５】
2005323353.tif 000008
【図６】
2005323353.tif 000009
【図７】
2005323353.tif 000010
【図８】
2005323353.tif 000011
【図９】
2005323353.tif 000012
【外国語明細書】
2005323353000001.pdf