(57)【要約】入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームへとトランスコードする技術は、第１のビット・レートの入力圧縮ビデオ・ビットストリームを受信する工程と、出力圧縮ビデオ・ビットストリームについての新しい目標ビット・レートを指定する工程と、その入力ビットストリームを部分的に復号化して逆量子化データを生成する工程と、異なる量子化レベル（ＱＰ）を使用して逆量子化データを再量子化して再量子化データを生成する工程と、再量子化データを再符号化してその出力圧縮ビデオ・ビットストリームを生成する工程を含んでいる。適切な初期量子化レベル（ＱＰ）が、再量子化を行うために決定され、この出力ビデオ・ビットストリームのビット・レートが監視され、量子化レベルを調整してこの出力圧縮ビデオ・ビットストリームのビット・レートをその目標ビット・レートに厳密にマッチングさせる。不変のヘッダ・データは、この出力圧縮ビデオ・ビットストリームに直接にコピーされる。再量子化エラーは、この再量子化データを逆量子化し、この再量子化データから差し引くことによって決定され、量子化エラーは、ＩＤＣＴ処理されて等価なエラー画像が生成され、動き補償がこの入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従ってこのエラー画像に適用され、この動き補償されたエラー画像がＤＣＴ処理され、このＤＣＴ処理されたエラー画像が、再量子化に起因するエラーについての動き補償された補正としてこの逆量子化データに適用される。
2005526457.tif 000002
【特許請求の範囲】
【請求項１】
入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームにトランスコードする方法であって、
第１のビット・レートの入力圧縮ビデオ・ビットストリームを受信する工程と、
出力圧縮ビデオ・ビットストリームについての新しい目標ビット・レートを指定する工程と、
該入力ビットストリームを部分的に復号化して逆量子化データを生成する工程と、
異なる量子化レベル（ＱＰ）を使用して該逆量子化データを再量子化して再量子化データを生成する工程と、
該再量子化データを再符号化して該出力圧縮ビデオ・ビットストリームを生成する工程と、からなる方法。
【請求項２】
さらに、
再量子化するための適切な初期量子化レベル（ＱＰ）を決定する工程と、
前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを監視する工程と、
該量子化レベルを調整して前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを前記目標ビット・レートに厳密にマッチングさせる工程と、からなる、請求項１に記載の方法。
【請求項３】
さらに、
前記出力圧縮ビデオ・ビットストリームに不変のヘッダ・データを直接にコピーする工程、からなる、請求項１に記載の方法。
【請求項４】
さらに、
前記再量子化データを逆量子化し前記逆量子化データから差し引くことによって再量子化エラーを決定する工程と、
該量子化エラーをＩＤＣＴ処理して等価なエラー画像を生成する工程と、
前記入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従って該エラー画像に動き補償を適用する工程と、
該動き補償されたエラー画像をＤＣＴ処理し、再量子化に起因するエラーについての動き補償された補正として該ＤＣＴ処理されたエラー画像を前記逆量子化データに適用する工程と、からなる、請求項１に記載の方法。
【請求項５】
入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームにトランスコードする装置であって、
第１のビット・レートの入力圧縮ビデオ・ビットストリームを受信する手段と、
出力圧縮ビデオ・ビットストリームについての新しい目標ビット・レートを指定する手段と、
該入力ビットストリームを部分的に復号化して逆量子化データを生成する手段と、
異なる量子化レベル（ＱＰ）を使用して該逆量子化データを再量子化して再量子化データを生成する手段と、
該再量子化データを再符号化して該出力圧縮ビデオ・ビットストリームを生成する手段と、からなる装置。
【請求項６】
さらに、
再量子化するための適切な初期量子化レベル（ＱＰ）を決定する手段と、
前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを監視する手段と、
該量子化レベルを調整して前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを前記目標ビット・レートに厳密にマッチングさせる手段と、からなる、請求項５に記
載の装置。
【請求項７】
さらに、
前記出力圧縮ビデオ・ビットストリームに不変のヘッダ・データを直接にコピーする手段、からなる、請求項５に記載の装置。
【請求項８】
さらに、
前記再量子化データを逆量子化し前記逆量子化データから差し引くことによって再量子化エラーを決定する手段と、
該量子化エラーをＩＤＣＴ処理して等価なエラー画像を生成する手段と、
前記入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従って該エラー画像に動き補償を適用する手段と、
該動き補償されたエラー画像をＤＣＴ処理し、再量子化に起因するエラーについての動き補償された補正として該ＤＣＴ処理されたエラー画像を前記逆量子化データに適用する手段と、からなる、請求項５に記載の装置。
【請求項９】
入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームにトランスコードする方法であって、
入力ビットストリームを受信する工程と、
該入力ビットストリームからビデオ・オブジェクト・レイヤ・ヘッダを抽出する工程と、
該入力ビットストリームからのマクロブロック・データを逆量子化する工程と、
該逆量子化されたマクロブロック・データを再量子化する工程と、
該抽出されたビデオ・オブジェクト・レイヤ・ヘッダを該再量子化されたマクロブロック・データと一緒に該出力ビットストリームに挿入する工程と、からなる方法。
【請求項１０】
さらに、
前記入力ビットストリームからビデオ・オブジェクト・プレーン・ヘッダのグループを抽出する工程と、
該抽出されたビデオ・オブジェクト・プレーン・ヘッダのグループを前記出力ビットストリームに挿入する工程と、からなる、請求項９に記載の方法。
【請求項１１】
さらに、
前記入力ビットストリームからビデオ・オブジェクト・プレーン・ヘッダを抽出する工程と、
該抽出されたビデオ・オブジェクト・プレーン・ヘッダを前記出力ビットストリームに挿入する工程と、からなる、請求項９に記載の方法。
【請求項１２】
さらに、
再量子化するための適切な初期量子化レベル（ＱＰ）を決定する工程と、
前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを監視する工程と、
該量子化レベルを調整して前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを目標ビット・レートに厳密にマッチングさせる工程と、からなる、請求項９に記載の方法。
【請求項１３】
さらに、
不変のヘッダ・データを前記入力ビットストリームから前記出力ビットストリームに直接にコピーする工程と、からなる、請求項９に記載の方法。
【請求項１４】
さらに、前記再量子化データを逆量子化し前記逆量子化データから差し引くことによっ
て再量子化エラーを決定する工程と、
該量子化エラーをＩＤＣＴ処理して等価なエラー画像を生成する工程と、
前記入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従って該エラー画像に動き補償を適用する工程と、
該動き補償されたエラー画像をＤＣＴ処理し、再量子化に起因するエラーについての動き補償された補正として該ＤＣＴ処理されたエラー画像を前記逆量子化データに適用する工程と、からなる、請求項９に記載の方法。
【請求項１５】
さらに、
８ビットの符号付きの数として再量子化エラーを表す工程と、
８ビットの符号なしの記憶バッファ中に再量子化エラーを記憶するのに先立って再量子化エラーのスパンの２分の１のオフセットをそれに加える工程と、
該８ビットの符号化なしの記憶バッファからの検索後に再量子化エラーから前記オフセットを差し引く工程と、からなる、請求項９に記載の方法。
【請求項１６】
さらに、
「ｓｋｉｐｐｅｄ」として符号化されたＭＢについて、オール・ゼロのＭＢをトランスコーダに提示する工程と、からなる、請求項９に記載の方法。
【請求項１７】
さらに、
「ｓｋｉｐｐｅｄ」として符号化されたＭＢを有する予測ＶＯＰモードについて、トランスコーダにオール・ゼロのＭＶ値を提示する工程と、からなる、請求項１６に記載の方法。
【請求項１８】
さらに、
トランスコーディングおよび動き補償の後に、符号化ブロック・パターンがオール・ゼロであるかどうかを判定し、そうである場合には「ｓｋｉｐｐｅｄ」という符号化モードを選択する工程と、からなる、請求項９に記載の方法。
【請求項１９】
さらに、
予測ＶＯＰモードでは、トランスコーディングおよび動き補償の後に、符号化ブロック・パターンがオール・ゼロであるかどうか、またＭＶ値がオール・ゼロであるかどうかを判定し、そうである場合には「ｓｋｉｐｐｅｄ」という符号化モードを選択する工程と、からなる、請求項９に記載の方法。
【請求項２０】
さらに、
元の符号化モードが「ｓｋｉｐｐｅｄ」であった場合のＰ−ＶＯＰ、Ｓ−ＶＯＰ、およびＢ−ＶＯＰについて、トランスコーディングの後に、
符号化ブロック・パターンがオール・ゼロであり、かつ
ＭＶがオール・ゼロであるかどうかを判定する工程と、
両方の条件が真である場合にのみ、「ｓｋｉｐｐｅｄ」という符号化モードを選択する工程と、からなる、請求項９に記載の方法。
【請求項２１】
さらに、
元の符号化モードが、「ｓｋｉｐｐｅｄ」であり、
入力ＭＢがオール・ゼロであり、
モードが、「ｆｏｒｗａｒｄ」であり、かつ
ＭＶがオール・ゼロである場合のＰ−ＶＯＰについて、
トランスコーディングの後に、
符号化ブロック・パターンがオール・ゼロであり、かつ
ＭＶがオール・ゼロであるかどうかを判定する工程と、
両方の条件が真である場合にのみ、「ｓｋｉｐｐｅｄ」という符号化モードを選択する工程と、からなる、請求項９に記載の方法。
【請求項２２】
さらに、
入力ＭＢがオール・ゼロであり、かつ
ＧＭＣ設定がゼロである場合のＳ−ＶＯＰについて、
トランスコーディングの後に、
符号化ブロック・パターンがオール・ゼロであり、かつ
動き補償がオール・ゼロであるかどうかを判定する工程と、
両方の条件が真である場合にのみ、「ｓｋｉｐｐｅｄ」という符号化モードを選択する工程と、からなる、請求項９に記載の方法。
【請求項２３】
さらに、
入力ＭＢがオール・ゼロであり、
モードが「ｄｉｒｅｃｔ」であり、かつ
ＭＶがオール・ゼロである場合のＢ−ＶＯＰについて、
トランスコーディングの後に、
符号化ブロック・パターンがオール・ゼロであり、
符号化モードが「ｄｉｒｅｃｔ」であり、かつ
ＭＶがオール・ゼロであるかどうかを判定する工程と、
３つの条件がすべて真である場合にのみ、「ｓｋｉｐｐｅｄ」という符号化モードを選択する工程と、からなる、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ圧縮技術に関し、より詳細には圧縮されたビデオ・ビットストリームについての符号化技術、復号化技術およびトランスコーディング技術に関する。
【背景技術】
【０００２】
ビデオ圧縮は、ビデオ「ストリーム」または「ビットストリーム」をその元の表現とは異なる符号化形式（通常、よりコンパクトな形式）に符号化するための技術である。ビデオ「ストリーム」は、動画画像の電子的な表現である。
【０００３】
近年では、低コストのパーソナル・コンピュータの普及、平均的なコンピュータ・ユーザにとって使用可能なディスク空間およびメモリの量の劇的な増加、広く行き渡ったインターネットへのアクセス可能性、ならびにますます増大する通信帯域幅と共に、インターネット上におけるストリーミング・ビデオの使用が、普通になってきている。ストリーミング・ビデオを符号化するためのますます重要となり最もよく知られているビデオ圧縮規格の１つが、動画、音声およびその組合せの圧縮、伸張、処理、および符号化表現についての国際規格の開発を担当しているＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｎｓｏｒｔｉｕｍ）のワーキング・グループであるＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）によって提供されているＭＰＥＧ−４規格である。このＩＳＯは、スイス、ジュネーブ（１  ｒｕｅ
ｄｅ  Ｖａｒｅｍｂｅ，Ｃａｓｅ  ｐｏｓｔａｌｅ  ５６，ＣＨ−１２１１，Ｇｅｎｅｖａ  ２０，Ｓｗｉｔｚｅｒｌａｎｄ）にオフィスを有する。ＩＥＣは、米国イリノイ州シカゴ市（５４９，Ｗｅｓｔ  Ｒａｎｄｏｌｐｈ  Ｓｔｒｅｅｔ，Ｓｕｉｔｅ  ６００，Ｃｈｉｃａｇｏ，ＩＬ  ６０６６１−２２０８，ＵＳＡ）にオフィスを有する。正式にはＩＳＯ／ＩＥＣ  １４４９６（６部で構成）と呼ばれるこのＭＰＥＧ−４圧縮規格は、動画ビデオ・アプリケーションに関与する人々によって広く知られ、採用されている。
【０００４】
インターネット接続帯域幅の急速な増大と高性能パーソナル・コンピュータの普及にもかかわらず、個々のユーザのインターネット接続速度と計算能力の間にはかなりの格差が存在する。この格差により、インターネット・コンテンツのプロバイダは、１組の様々なエンド・ユーザ環境に対してストリーミング・ビデオおよび他の形式のマルチメディア・コンテンツを供給することが必要になる。例えば、ニュース・コンテンツのプロバイダは、ビデオ・ニュース・クリップをエンド・ユーザに対して供給したいと思うこともあるが、そのインターネットへの接続が、ローエンドにおける３３．６ＫｂｐｓモデムからハイエンドにおけるＤＳＬ、ケーブル・モデム、または高速ブロードバンド接続に至る１組の様々なユーザの要求に対して応える必要がある。エンド・ユーザの使用可能な計算能力も同様に多岐にわたっている。さらに物事を複雑にするのはネットワークの混雑状態であり、インターネット・トラフィックが高いときには、この混雑がストリーミング・データ（例えば、ビデオ）を送り得る転送速度を制限してしまうことになる。これは、ニュース・コンテンツ・プロバイダが、エンド・ユーザの広範囲の接続／計算機環境に合うように、また変化するネットワーク条件に合わせて調整した広範囲のビット・レートにおいてストリーミング・ビデオを使用可能にする必要があることを意味する。
【０００５】
同じビデオ・プログラム・データを様々に異なるビット・レートで提供する特に効果的な１手段は、ビデオ・トランスコーディングである。ビデオ・トランスコーディングは、圧縮前のビットストリームを異なるビット・レート、フレーム・サイズ、ビデオ符号化規格などをもつ新しい圧縮ビットストリームに変換する１方法である。ビデオ・トランスコ
ーディングは、ネットワークの混雑状態、デコーダ機能、エンド・ユーザからの要求などのファクタに応じて、圧縮されたビデオ・ビットストリームを異なるビット・レート、解像度またはフォーマットで送る必要がある任意のアプリケーションにおいて特に有用である。
【０００６】
一般に、圧縮ビデオ・トランスコーダは、圧縮されたビデオ・ビットストリームを復号化し、その後に復号化されたビットストリームを通常はより低いビット・レートで再符号化する。トランスコーダを使用しない技術でも同様の機能を提供することが可能であるが、それらの技術には、かなりのコストおよび記憶装置に関する不利な点が存在する。例えば、複数のビット・レート、フォーマット、および解像度についてのビデオ・コンテンツを、それぞれ別々に符号化し、ビデオ・サーバ上に記憶することが可能である。しかし、この手法では、予想されあらかじめ符号化される多数の個別の選択肢しか提供されず、大量のディスク記憶空間が必要になる。あるいは、ビデオ・シーケンスを、圧縮された「スケーラブルな」形式に符号化することも可能である。しかし、この技術では、限られた数の選択肢を提供するためにかなりのビデオ符号化リソース（ハードウェアおよび／またはソフトウェア）が必要とされる。
【０００７】
トランスコーディング技術は、幅広いスペクトルのビット・レート、解像度、およびフォーマットの選択肢を提供する際に非常に柔軟性があるので、以上および他のトランスコーダ以外の技術に対してかなりの利点がある。同時に受け入れることが可能な異なる選択肢の数は、独立にトランスコードすることが可能な独立なビデオ・ストリーム数だけに依存する。
【０００８】
多数の異なる選択肢を同時に受け入れられるようにするためには、多数のトランスコーダを提供する必要がある。かかる用途においてはトランスコーダのコストおよび柔軟性の利点があるにもかかわらず、多数のトランスコーダを用いることは、従来のビデオ・トランスコーディング技術に対してかなりのハードウェア・リソースおよびソフトウェア・リソースを専用に設ける必要があるために依然としてかなり高くつくものになってしまう可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述の説明から明らかなように、実装コストおよび複雑さを最小にするビデオ・トランスコーダが必要になっている。
【課題を解決するための手段】
【００１０】
本発明によれば、入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームへとトランスコードする方法は、第１のビット・レートの入力圧縮ビデオ・ビットストリームを受信する工程を含む。出力圧縮ビデオ・ビットストリームについての新しい目標ビット・レートを指定する。入力ビットストリームを、部分的に復号化して、逆量子化データを生成する。この逆量子化データを、異なる量子化レベル（ＱＰ）を使用して再量子化して、再量子化データが生成する。この再量子化データを、再符号化して、出力圧縮ビデオ・ビットストリームが生成される。
【００１１】
本発明の１態様によれば、本方法は、再量子化に適した初期量子化レベル（ＱＰ）を決定する工程をさらに含んでいる。出力圧縮ビデオ・ビットストリームのビット・レートを監視し、量子化レベルを調整して、出力圧縮ビデオ・ビットストリームのビット・レートを目標ビット・レートに厳密にマッチングさせる。
【００１２】
本発明の別の態様によれば、本方法は、不変のヘッダ・データを出力圧縮ビデオ・ビッ
トストリームに直接にコピーする工程をさらに含んでいる。
本発明の他の態様によれば、本方法は、再量子化データを逆量子化し逆量子化データから差し引くことによって、再量子化エラーを決定する工程をさらに含んでいる。逆離散コサイン変換（ＩＤＣＴ）を使用して量子化エラーを処理して等価なエラー画像を生成する。動き補償を、入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従ってエラー画像に適用する。この動き補償されたエラー画像をＤＣＴ処理し、ＤＣＴ処理されたエラー画像を、再量子化によるエラーについての動き補償された補正として逆量子化データに適用する。
【００１３】
本発明の他の態様によれば、再量子化エラーは、８ビットの符号付きの数として表され、８ビットの符号なしの記憶バッファにそれらを記憶するのに先立って、そのスパンの２分の１に等しい量（すなわち、＋１２８）だけオフセットされる。検索後に、このオフセットは差し引かれ、それによって元の符号付きの再量子化エラー値が復元される。
【００１４】
本発明の他の態様によれば、オール・ゼロ（ａｌｌ−ｚｅｒｏ）のＣＢＰ（符号化ブロック・パターン）は、「ｓｋｉｐｐｅｄ」として符号化されるマクロブロックの代わりにトランスコーダに提示される。さらに、動き補償を使用する予測符号化モードでは、オール・ゼロの動きベクトル（ＭＶ）が、「ｓｋｉｐｐｅｄ」マクロブロックについて、トランスコーダに提示される。
【００１５】
本発明の他の態様によれば、トランスコーディングが、オール・ゼロの符号化ブロック・パターン（ＣＢＰ）をもたらす場合には、「ｓｋｉｐｐｅｄ」という符号化モードが選択される。この手法は主として、補償データ（例えば、動き補償）を使用しない符号化モードのために使用される。動き補償データを使用する予測モードでは、トランスコードされたＣＢＰがオール・ゼロであり、動きベクトルがオール・ゼロのときにこの「ｓｋｉｐｐｅｄ」モードが選択される。
【００１６】
これらの方法を実装する装置についても説明する。
用語集
他に定めがなければ、その使用の文脈から明らかなように、本明細書中で使用される任意の用語、略語、頭字語、科学シンボルおよび表記法には、本発明がいちばん関連している技術的分野におけるその通常の意味を与えるべきである。以下の用語集は、本明細書中ならびに従来技術の文書中に含まれる様々な説明を明確で一貫したものにするためのものである。
ＡＣ係数：  一方または両方の次元の周波数がゼロでない任意のＤＣＴ係数。
ＭＰＥＧ：  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  （動画像専門家グループ）。
ＭＰＥＧ−４：  広範囲のビット・レートを目標とするマルチメディア用途およびストリーミング・ビデオを目指したＭＰＥＧ動画符号化規格の変形。公式には、ＩＳＯ／ＩＥＣ１４４９６（６部からなる）と呼ばれる。
Ｂ−ＶＯＰ；双方向予測符号化ＶＯＰ：  過去および／または将来の参照ＶＯＰからの動き補償予測を使用して符号化されるＶＯＰ。
後方互換性：  古い符号化規格を用いて動作するように設計されたデコーダが、新しい符号化規格に従って生成されたビットストリームの全部または一部を復号化することによって動作し続けることが可能な場合には、新しい符号化規格は、古い符号化規格と後方互換性があると言う。
後方動きベクトル：  表示順序の後の時点において参照ＶＯＰからの動き補償のために使用される動きベクトル。
後方予測：  将来の参照ＶＯＰからの予測。
ベース・レイヤ：  スケーラブルな階層の、独立に復号可能なレイヤ。
バイナリ・アルファ・ブロック：  バイナリ・アルファ・マップの形状情報を表す、マクロブロックと共に配置されるサイズ１６×１６ピクセルのブロック。これは、ｂａｂとも呼ばれる。
バイナリ・アルファ・マップ：  不透明なピクセルがオブジェクトの一部と考えられ、透明なピクセルはオブジェクトの一部とは考えられないように、ビデオ・オブジェクトの形状を表すために使用される２Ｄバイナリ・マスク。
ビットストリーム；ストリーム：  データの符号化表現を形成するビットの順序づけられたシリーズ。
ビット・レート：  符号化されたビットストリームが、記憶媒体またはネットワークからデコーダの入力に送られる転送速度。
ブロック：  サンプル（ピクセル）の８行×８列のマトリックス、または６４個のＤＣＴ係数（量子化または逆量子化されたソース）。
バイト揃え：  符号化ビットストリーム中のビットは、その位置がストリーム中で最初のビットから数えて８ビットの倍数である場合に、バイト揃えされていると言う。
バイト：  ８ビットのシーケンス。
コンテキスト・ベースの算術符号化：  バイナリ形状の符号化のために使用される方法。これはまた、ｃａｅとも呼ばれる。
チャネル：  ＭＰＥＧ−４（ＩＳＯ／ＩＥＣ１４４９６）仕様に従って構成されるビットストリームを記憶し、または移送するデジタル媒体またはネットワーク。
クロミナンス・フォーマット：  マクロブロック中のクロミナンス・ブロック数を定義する。
クロミナンス・コンポーネント：  ビットストリーム中で定義されるような原色に関連した２つの色差信号のうちの１つを表すマトリックス、ブロック、または１つのサンプル。クロミナンス信号のために使用されるシンボルは、ＣｒおよびＣｂである。
ＣＢＰ：  Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｐａｔｔｅｒｎ  符号化ブロック・パターン。
ＣＢＰＹ：  この可変長コードは、マクロブロック中で、少なくとも１つの非イントラＤＣ変換係数をもつ不透明輝度ブロックのパターンを表す。
符号化Ｂ−ＶＯＰ：  符号化されているＢ−ＶＯＰ
符号化ＶＯＰ：  符号化ＶＯＰは符号化Ｉ−ＶＯＰ、符号化Ｐ−ＶＯＰまたは符号化Ｂ−ＶＯＰである。
符号化Ｉ−ＶＯＰ：  符号化されているＩ−ＶＯＰ。
符号化Ｐ−ＶＯＰ：  符号化されているＰ−ＶＯＰ。
符号化ビデオ・ビットストリーム：  ＭＰＥＧ−４（ＩＳＯ／ＩＥＣ１４４９６）仕様で定義された１つまたは複数のＶＯＰのシリーズの符号化表現。
符号化順序：  ＶＯＰが伝送され復号化される順序。この順序は、表示順序と必ずしも同じである必要はない。
符号化表現：  その符号化形式で表現されるデータ・エレメント。
符号化パラメータ：  符号化ビデオ・ビットストリームを特徴づけるユーザ定義可能なパラメータの組。ビットストリームは、符号化パラメータによって特徴づけられる。デコーダは自分が復号可能なビットストリームによって特徴づけられる。
コンポーネント：  画像を構成する３つのマトリックス（輝度と２つのクロミナンス）のうちの１つからのマトリックス、ブロックまたは１つのサンプル。
合成工程：  再構成ＶＯＰがシーンに合成され、表示される（非規範的）工程。
圧縮：  データ・アイテムを表現するために使用されるビット数を低減すること。
一定ビット・レート符号化ビデオ：  一定のビット・レートを有する符号化ビデオ・ビットストリーム。
一定ビット・レート；ＣＢＲ：  コード化ビットストリーム開始から終了までビット・レートが一定である動作。
変換比率：  形状のレート制御の目的のためのサイズ変換比率。
データ・エレメント：  符号化以前および復号化以後に表現されるようなデータ・アイテ
ム。
ＤＣ係数：  両方の次元において周波数がゼロであるＤＣＴ係数。
ＤＣＴ係数：  特定のコサインに基づいた関数の振幅。
デコーダ入力バッファ：  ビデオ・バッファリング検証装置中で指定されるファーストイン・ファーストアウト（ＦＩＦＯ）バッファ。
デコーダ：  復号化方法の１実施形態。
復号化（方法）：  入力符号化ビットストリームを読み取り、復号化ＶＯＰまたはオーディオ・サンプルを生成する、本明細書で定義される方法。
逆量子化：  ビットストリーム中の表現が復号化された後、それが逆ＤＣＴに提示される以前に量子化されたＤＣＴ係数を再スケーリングする方法。
デジタル記憶媒体；ＤＳＭ：  デジタル・ストレージ、伝送デバイスまたは伝送システム。
離散コサイン変換；ＤＣＴ：  順方向離散コサイン変換または後方離散コサイン変換。このＤＣＴは、可逆的離散直交変換である。
表示順序：  復号化された画像が表示される順序。通常、これはエンコーダの入力に提示される順序と同じである。
ＤＱＵＡＮＴ：  Ｉ−ＶＯＰ、Ｐ−ＶＯＰ、およびＳ（ＧＭＣ）−ＶＯＰについての量子化器、ｑｕａｎｔ中の変化を指定する２ビット・コード。
編集：  １つまたは複数の符号化ビットストリームを操作して新しい符号化ビットストリームを生成する工程。編集されたビットストリームを準拠したものにするには、ＭＰＥＧ−４（ＩＳＯ／ＩＥＣ１４４９６）仕様中で定義された要件を満たす必要がある。
エンコーダ：  符号化方法の１実施形態。
符号化（方法）：  入力画像またはオーディオ・サンプルのストリームを読み取り、ＭＰＥＧ−４（ＩＳＯ／ＩＥＣ１４４９６）仕様中に定義された有効な符号化ビットストリームを生成する、この明細書には仕様が特定されていない方法。
拡張レイヤ：  スケーラブルな階層中のレイヤ（ベース・レイヤの上）を相対的に参照すること。すべての形式のスケーラビリティについて、その復号化方法は、より下層レイヤの復号化方法および拡張レイヤそれ自体に適した追加の復号化方法に関連して説明することが可能である。
フェース・アニメーション・パラメータ・ユニット；ＦＡＰＵ：  一貫した方法による任意のフェース・モデルを用いたＦＡＰの解釈が、表現および発話発音における妥当な結果をもたらすことを可能にするように定義された特殊な規格化ユニット（例えば、並進的、角度的、論理的）。
フェース・アニメーション・パラメータ；ＦＡＰ：  フェース・フィーチャの変位および角度を操作し、発話中の口形素（ｖｉｓｅｍｅ）と顔の表情との混合を支配する符号化ストリーミング・アニメーション・パラメータ。
フェース・アニメーション・テーブル；ＦＡＴ：  顔の動きを制御するためのＦＡＰの区分ごとの線形重み付けを提供するフェース・メッシュ中の制御ポイントを特徴づけるために着信ＦＡＰからのマッピングを行うダウンロード可能なファンクション。
フェース較正メッシュ：  ベースライン・フェース・モデルの形状および構造を較正するための３Ｄメッシュの定義。
フェース定義パラメータ；ＦＤＰ：  デコーダ中でベースライン・フェース・モデルを特定のフェースにカスタマイズし、またはフェース・モデルをどのようにそれを動画化するかについての情報と共にダウンロードするダウンロード可能なデータ。ＦＤＰは通常、セッションごとに１度伝送され、その後に圧縮されたＦＡＰのストリームが続く。ＦＤＰは、ベースライン・フェース、フェース・テクスチャを較正するためのフィーチャ・ポイントを含むこともあり、それをフェース上、アニメーション・テーブル上などにマッピングするように調整する。
フェース・フィーチャ制御ポイント：  ＦＡＰによって制御するためにフェース・フィーチャ内のクリティカル・ロケーションを定義し、ベースライン・フェースの形状の較正を
可能にする１組のかかるポイント中の規範的な頂点。
フェース補間変換；ＦＩＴ：  フィーチャ・ポイントに適用する以前に、重み付けした有理数多項式ファンクションを介して、その効果をカスタムのまたは独自開発したフェース・モデルに関連づけるために標準のＦＡＰを複雑に相互結合するための、着信ＦＡＰをＦＡＰにオプション的にマッピングするためのＩＳＯ／ＩＥＣ１４４９６−１で定義されたダウンロード可能なノード・タイプ。
フェース・モデル・メッシュ：  測光的属性（例えば、テクスチャ、カラー、標準）を用いてレンダリングするのに適した、頂点座標を利用した頂点および平面ポリゴンによって定義される２Ｄまたは３Ｄの隣接した幾何学的図形メッシュ。
フェザーリング：  バックグラウンドで合成するための、バイナリ・アルファ・マスクのエッジの周囲の値にテーパーをつけるツール。
フラグ：  ただ２値（０および１）のうちの一方を取り得る１ビットの整数変数。
禁止された：  符号化ビットストリームを定義する節で使用されるときの用語「禁止された」は、その値を決して使用してはいけないことを示している。これは通常、開始コードのエミュレーションを回避するためである。
強制更新：  エンコーダ中の逆ＤＣＴ工程とデコーダ中の逆ＤＣＴ工程との間でミスマッチ・エラーが過剰に作り出されないようにするための、時間ごとにマクロブロックを内部で符号化する工程。
前方互換性：  新しい符号化規格で動作するように設計されたデコーダが、古い符号化規格のビットストリームを復号化可能な場合に、新しい符号化規格は、古い符号化規格と前方互換性があると言う。
前方動きベクトル：  表示順序のより前の時点における参照・フレームＶＯＰからの動き補償のために使用される動きベクトル。
前方予測：  過去の参照ＶＯＰからの予測。
フレーム：  フレームは、ビデオ信号の空間情報のラインを含んでいる。プログレッシブ・ビデオでは、これらのラインは、ある時間的瞬間から開始されフレームの底辺に至る連続的なラインを介して継続するサンプルを含んでいる。
フレーム周期：  フレーム・レートの逆数。
フレーム・レート：  フレームがその合成工程から出力されるレート。
将来参照ＶＯＰ：  将来参照ＶＯＰとは、表示順序において現在のＶＯＰよりも後に発生する参照ＶＯＰのことである。
ＧＭＣ：  Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ全体動き補償。
ＧＯＶ：  Ｇｒｏｕｐ  Ｏｆ  ＶＯＰ  ＶＯＰグループ。
ハイブリッド・スケーラビリティ：  ハイブリッド・スケーラビリティとは、２つ（またはそれ以上）のタイプのスケーラビリティの組合せのことである。
インターレース：  フレームの交互のラインが時間的に異なる瞬間を表す従来技術のテレビジョン・フレームの特性。インターレースされたフレームにおいては、フィールドの１つが最初に表示されることを意味する。このフィールドを第１のフィールドと呼ぶ。この第１のフィールドは、このフレームのトップ・フィールドまたはボトム・フィールドであり得る。
Ｉ−ＶＯＰ；イントラ符号化ＶＯＰ：  それ自体の情報だけを使用して符号化されるＶＯＰ。
イントラ符号化：  対象とするマクロブロックまたはＶＯＰからの情報しか使用しないマクロブロックまたはＶＯＰの符号化。
イントラ形状符号化：  どのような一時的な予測も使用しない形状符号化。
インター形状符号化：  一時的予測を使用した形状符号化。
レベル：  特定のプロファイル内のＭＰＥＧ−４（ＩＳＯ／ＩＥＣ１４４９６−２）仕様のパラメータが取ることもある値に対する１組の定義された制約条件。プロファイルは、１つまたは複数のレベルを含むこともある。異なる文脈では、レベルとは、非ゼロの係数（「ラン」を参照）の絶対値のことである。
レイヤ：  スケーラブルな階層において、１組の順序づけられたビットストリームおよびその関連する復号化工程（の結果）からの１層を示す。
階層化ビットストリーム：  （レイヤ修飾子、例えば「拡張レイヤ・ビットストリームに関連して常に使用される）特定のレイヤに関連する１つのビットストリーム。
下層レイヤ：  （この拡張レイヤの下のすべてのレイヤの復号化を暗に含めて）所与の拡張レイヤのすぐ下のレイヤのことを相対的に言う。
輝度コンポーネント：  信号のモノクロ表現を表し、ビットストリーム中で定義される形式で原色に関連したマトリックス、ブロックまたは１つのサンプル。輝度についての使用される記号はＹである。
Ｍビット：  １，０００，０００ビット。
ＭＢ；マクロブロック：  画像の輝度コンポーネントの１６×１６セクションに由来する（４：２：０クロミナンス・フォーマットについての）４つの８×８ブロックの輝度データおよび２つの対応する８×８ブロックのクロミナンス・データ。マクロブロックという言葉はサンプル・データのことを指すために使用されることがあり、ＭＰＥＧ−４（ＩＳＯ／ＩＥＣ１４４９６−２）仕様中で定義されるシンタクスのマクロブロック・ヘッダ中に定義されるサンプル値および他のデータ・エレメントの符号化表現のことを指すために使用されることがある。この使用については文脈から明らかとなる。
ＭＣＢＰＣ：  Ｍａｃｒｏｂｌｏｃｋ  Ｐａｔｔｅｒｎ  Ｃｏｄｉｎｇ  マクロブロック・パターン符号化。これは、これを使用してクロミナンスについてのマクロブロック・タイプおよび符号化ブロック・パターンを導き出すために使用される可変長符号化である。これは、符号化マクロブロックでは常に含まれている。
メッシュ：  ２Ｄ三角メッシュは、ビデオ・オブジェクト・プレーンを三角形パッチにぴったり合うようにする平面グラフのことを言う。三角メッシュ・エレメントの頂点をノード・ポイントと呼ぶ。ノード・ポイント間の直線セグメントをエッジと呼ぶ。共通のエッジを共有する場合には２つの三角形は隣接している。
メッシュ幾何配置：  メッシュのノード・ポイントおよび三角構造の空間ロケーション。メッシュの動き：  メッシュのノード・ポイントのある瞬間から次の瞬間に至る一時的な変位。
ＭＣ；動き補償：  サンプル値の予測効率を改善するための動きベクトルの使用。この予測では、動きベクトルを使用して、予測エラーを形成するために使用される以前に復号化したサンプル値を含む過去の参照ＶＯＰおよび／または将来の参照ＶＯＰにオフセットが提供される。
動き推定：  符号化工程中の動きベクトルを推定する工程。
動きベクトル：  現在の画像またはフィールド中の座標位置から参照ＶＯＰ中の座標に至るオフセットを提供する動き補償のために使用される２次元ベクトル。
形状のための動きベクトル：  形状の動き補償のために使用される動きベクトル。
非イントラ符号化：  それ自体からの情報も、他の時点で生ずるマクロブロックおよびＶＯＰからの情報も共に使用したマクロブロックまたはＶＯＰの符号化。
不透明マクロブロック：  すべてが２５５の形状マスクをもつマクロブロック。
Ｐ−ＶＯＰ；予測符号化ＶＯＰ：  過去のＶＯＰからの動き補償された予測を使用して符号化される画像。
パラメータ：  ある範囲の値のうちの１つを取ることが可能なこの仕様のシンタクス内の変数。たった２値のうちの一方の値しか取り得ない変数は、フラグと呼ばれる。
過去の参照画像：  過去の参照ＶＯＰは、合成順序で現在のＶＯＰより以前の時点で生じる参照ＶＯＰである。
画像：  ソース画像データ、符号化画像データ、または再構成画像データ。ソース画像または再構成画像は、輝度信号と２つのクロミナンス信号を表す８ビット数の３つの長方形マトリックスから構成される。「符号化ＶＯＰ」については、以前に定義している。プログレッシブ・ビデオでは、画像は、フレームと同じである。
予測：  現在復号化されているサンプル値またはデータ・エレメントの予測を提供するた
めに予測値を使用すること。
予測エラー：  実際のサンプル値またはデータ・エレメントとその予測値の間の差。
予測値：  以前に復号化されたサンプル値またはデータ・エレメントの線形結合。
プロファイル：  本仕様のシンタクスの定義されたサブセット。
プログレッシブ：  フレームのすべてのサンプルが、時間の同じ瞬間を表す複数のフィルム・フレームのプロパティ。
量子化マトリックス：  逆量子化器が使用する１組の６４個の８ビット値。
量子化されたＤＣＴ係数：  逆量子化以前のＤＣＴ係数。量子化されたＤＣＴ係数の可変長符号化表現は符号化ビデオ・ビットストリームの一部分として伝送される。
量子化器スケール：  ビットストリーム中で符号化され、復号化工程が使用する、逆量子化をスケールするスケール・ファクタ。
ＱＰ：  量子化パラメータ。
ランダム・アクセス：  符号化ビットストリームを任意のポイントから読み取り復号化することを開始する工程。
再構成ＶＯＰ：  再構成ＶＯＰは、輝度および２つのクロミナンス信号を表す８ビット数の３つのマトリックスから構成される。これは、符号化ＶＯＰを復号化することによって得られる。
参照ＶＯＰ：  参照・フレームは、符号化Ｉ−ＶＯＰまたは符号化Ｐ−ＶＯＰの形式で符号化された再構成ＶＯＰである。参照ＶＯＰは、Ｐ−ＶＯＰおよびＢ−ＶＯＰが復号化されるときに、前方予測および後方予測のために使用される。
並べ換え遅延：  ＶＯＰ並べ換えによって引き起こされる復号化工程における遅延。
留保された：  符号化ビットストリームを定義する節で使用されるとき、用語「留保された（ｒｅｓｅｒｖｅｄ）」は、この値が、ＩＳＯ／ＩＥＣで定義された拡張のために将来的に使用される可能性があることを示す。
スケーラブルな階層：  １組の順序づけられた複数のビットストリームから構成される符号化ビデオ・データ。
スケーラビリティ：  スケーラビリティとは、再構成されたシーケンスを生成するために１組の順序づけられたビットストリームを復号化するデコーダの機能のことである。さらに、サブセットが復号化されるときに、有用なビデオが出力される。このように復号化され得る最小のサブセットは、ベース・レイヤと呼ばれる組の中の第１のビットストリームである。この組の他の各ビットストリームは、拡張レイヤと呼ばれる。特定の拡張レイヤをアドレス指定するときには、「下層レイヤ」は、この拡張レイヤに先行するビットストリームのことを言う。
サイド情報：  デコーダを制御するために必要なビットストリーム中の情報。
ラン：  スキャン順序において非ゼロの係数に先行するゼロ係数の数。非ゼロ係数の絶対値は、「レベル」と呼ばれる。
飽和：  必要に応じてその値を範囲の最大値または最小値に設定することにより、定義された範囲を超える値を制限すること。
ソース；入力：  符号化する前の、ビデオ・データまたはその属性の一部を説明するために使用される用語。
空間予測：  空間スケーラビリティにおいて使用される下層レイヤ・デコーダの復号化フレームから導き出される予測。
空間スケーラビリティ：  拡張レイヤも、動きベクトルを使用せずに下層レイヤから導き出されたサンプル・データからの予測を使用する、１つのタイプのスケーラビリティ。このレイヤは、異なるＶＯＰサイズまたはＶＯＰレートを有する可能性がある。
静的スプライト：  時間的に変化しないオブジェクトについての輝度、クロミナンス、およびバイナリ・アルファ・プレーン。
スプライト−ＶＯＰ；Ｓ−ＶＯＰ：  静的スプライトの全部または一部をワープすることによって得られる情報を使用して符号化される画像。
開始コード：  一意の符号化ビットストリームに埋め込まれる３２ビット・コード。これ
らは、符号化シンタクス中の一部の構造を識別することを含めていくつかの目的のために使用される。
スタフィング（ビット）；スタフィング（バイト）：  符号化ビットストリーム中に挿入することが可能なコード・ワードであり、これは復号化工程において捨てられる。その目的は、このストリームのビット・レートを増大させることにあり、そうしないとビット・レートが所望のビット・レートより低いものになってしまう。
一時的予測：  空間予測として定義された予測以外の参照ＶＯＰから導き出される予測。一時的スケーラビリティ：  拡張レイヤも、動きベクトルを使用して下層レイヤから導き出されるサンプル・データからの予測を使用する、１つのタイプのスケーラビリティ。これらのレイヤは、同じフレーム・サイズをもつが、異なるＶＯＰレートをもつ可能性もある。
トップ・レイヤ：  スケーラブルな階層の（最高のｌａｙｅｒ＿ｉｄをもつ）最上層レイヤ。
透明マクロブロック：  オール・ゼロの形状マスクを有するマクロブロック。
可変ビット・レート；ＶＢＲ：  ビット・レートが、符号化ビットストリームの復号化中に時間と共に変化する動作。
可変長符号化；ＶＬＣ：  より短いコード・ワードを頻繁に起こるイベントに割り当て、より長いコード・ワードをあまり頻繁に起こらないイベントに割り当てる符号化についての可逆的プロシージャ。
ビデオ・バッファリング検証装置；ＶＢＶ：  エンコーダの出力に概念的に接続される仮想的デコーダ。その目的は、エンコーダまたは編集工程が生成し得るデータ・レートの可変性に制約条件を設けることである。
ビデオ・オブジェクト；ＶＯ：  フレーム内のすべてのＶＯＰの合成。
ビデオ・オブジェクト・レイヤ；ＶＯＬ：  ＶＯＰの一時的順序。
ビデオ・オブジェクト・プレーン；ＶＯＰ：  共に属するフレーム内の任意の形状をもつ領域。
ＶＯＰ並べ換え：  符号化順序が表示のための合成順序と異なるときに再構成ＶＯＰを並べ換える工程。ＶＯＰ並べ換えは、Ｂ−ＶＯＰがビットストリーム中に存在するときに生じる。低遅延のビットストリームを復号化する際にはＶＯＰ並べ換えはない。
ビデオ・セッション：  符号化ビデオ・ビットストリームの最高のシンタクス構造。これは、１つまたは複数の符号化ビデオ・オブジェクトのシリーズを含んでいる。
口形素（ｖｉｓｅｍｅ）：  音素に対応する発話音声と視覚的に相関づけられる、口、舌、およびあごの物理的（視覚的）構成。
ワーピング：  静的スプライトからスプライトＶＯＰを抽出するために適用される処理。ワーピングは、少数の動きパラメータ（０、２、４、８）によって操作されて輝度、クロミナンス、および形状情報を回復する全体空間変換から構成される。
ジグザグ・スキャニング順序：  ＤＣＴ係数の（ほぼ）最低の空間周波数から最高空間周波数までの特定の逐次順序付け。
【発明を実施するための最良の形態】
【００１７】
本発明は、ビデオ圧縮技術に関し、より詳細には圧縮されたビデオ・ビットストリームについての符号化技術、復号化技術およびトランスコーディング技術に関する。
本発明によれば、入力ストリームをマクロブロック・レベルまで復号化し、ヘッダ情報を分析し、このマクロブロックを逆量子化し部分的に復号化し、量子化パラメータを調整して所望の出力ストリーム特性をマッチングさせ、次いでマクロブロックを再量子化し再符号化し、ヘッダ情報の変化しないまたは不変の部分をその入力ストリームから出力ストリームへとコピーすることによって、コスト効率の高い効率のよいトランスコーダが、提供される。
【００１８】
ビデオ・トランスコーダ
図１は、本発明による完備したビデオ・トランスコーダ１００のブロック図である。トランスコードすべき入力ビットストリーム（「古いビットストリーム」）１０２は、ＶＯＬ（ビデオ・オブジェクト・レイヤ）ヘッダ処理ブロック１１０においてトランスコーダ１００に入力され、３つのヘッダ処理ブロック（ＶＯＬヘッダ処理ブロック１１０、ＧＯＶヘッダ処理ブロック１２０およびＶＯＰヘッダ処理ブロック１３０）、部分復号化ブロック１４０、トランスコード・ブロック１５０および再符号化ブロック１６０を介して逐次処理される。
【００１９】
このＶＯＬヘッダ処理ブロック１１０は、復号化を行い、入力ビットストリーム１０２からＶＯＬヘッダ・ビット１１２を抽出する。次に、ＧＯＶ（Ｇｒｏｕｐ  Ｏｆ  ＶＯＰ）ヘッダ処理ブロック１２０は、復号化を行い、ＧＯＶヘッダ・ビット１２２を抽出する。次に、ＶＯＰ（ビデオ・オブジェクト・プレーン）ヘッダ処理ブロック１３０は、復号化を行い、入力ＶＯＰヘッダ・ビット１３２を抽出する。入力ＶＯＰヘッダ・ビット１３２は、量子化パラメータ情報を含めて、どのようにしてこのビットストリーム１０２内部の関連するマクロブロックが最初に圧縮され符号化されたかについての情報を含んでいる。
【００２０】
これらのＶＯＬヘッダ・ビット、ＧＯＶヘッダ・ビットおよびＶＯＰヘッダ・ビット（それぞれ１１２、１２２、および１３２）が抽出された後、（以下で説明する、マクロブロックから主として構成される）ビットストリームの残りが、部分復号化ブロック１４０中で部分的に復号化される。この部分復号化ブロック１４０は、マクロブロック・ヘッダ情報からマクロブロック・データを分離する要素と、必要に応じて（ヘッダ・ビット中に記憶されている符号化情報に従って）マクロブロック・データを使用可能な形式へと逆量子化する要素から構成されている。
【００２１】
レート制御ブロック１８０は、入力ビットストリーム１０２を再圧縮すべき新しい量子化パラメータ１８２および１８４を決定することによって所望の新しいビット・レート入力信号１０４に応答する。これは、部分的には（以下で論ずる）新しいビットストリーム１６２を監視し量子化パラメータ１８２および１８４を調整してこの新しいビットストリーム１６２を所望のビット・レートに維持することによって実現される。次いでこの新しく決定された量子化パラメータ１８４は、調整ブロック１７０中で入力ＶＯＰヘッダ・ビット１３２中にマージされて出力ＶＯＰヘッダ・ビット１７２を生成する。レート制御ブロック１８０はまた、量子化パラメータ情報１８２をトランスコード・ブロック１５０に供給して入力ビットストリーム１０２から復号化されたビデオ・データの再量子化（圧縮）を制御する。
【００２２】
トランスコード・ブロック１５０は、部分復号化ブロック１４０からの逆量子化されたマクロブロック・データに作用し、レート制御ブロック１８０からの新しい量子化パラメータ１８２に従ってそれを再量子化する。トランスコード・ブロック１５０はまた、符号化された動き補償データおよび補間データを処理してマクロブロック中に入れ、量子化エラー（量子化に起因する、元のビットストリームと再量子化されたビットストリームの間の差）を追跡しその補償を行い、再量子化されたビットストリーム中の各マクロブロックについての符号化モードを決定する。次いで再符号化ブロック１６０は、このトランスコーダによって決定された符号化モードに従ってこのトランスコードされたビットストリームを再符号化して新しいビットストリーム（新ビットストリーム）１６２を生成する。この再符号化ブロックは、ＶＯＬヘッダ・ビット、ＧＯＶヘッダ・ビット（必要な場合）およびＶＯＰヘッダ・ビット（それぞれ１１２、１２２および１３２）を新しいビットストリーム１６２中の適切な位置に再挿入することも行う。（ヘッダ情報については、図２Ａを参照して以下にさらに詳細に説明する。）
入力ビットストリーム１０２は、ＶＢＲ（可変ビット・レート）で符号化されても、Ｃ
ＢＲ（一定ビット・レート）で符号化されてもよい。同様に、出力ビットストリームも、ＶＢＲで符号化されても、ＣＢＲで符号化されてもよい。
【００２３】
ＭＰＥＧ−４ビットストリーム構造
図２Ａは、ＭＰＥＧ−４ビットストリーム２００の構造図であり、ＭＰＥＧ−４仕様によって定義されているその階層構造を示している。ＶＯＬヘッダ２１０は、以下の情報を含んでいる。
【００２４】
−オブジェクト・レイヤＩＤ
−ＶＯＰ時間増分分解能
−固定ＶＯＰレート
−オブジェクト・サイズ
−インターレース／非インターレース・インジケータ
−スプライト／ＧＭＣ
−量子化タイプ
−量子化マトリックス（もしあれば）
ＶＯＬヘッダ２１０に含まれる情報は、このヘッダに続く情報のすべてがどのようにして解釈され処理されるべきかに影響を及ぼす。
【００２５】
このＶＯＬヘッダに続くのがＧＯＶヘッダ２２０であり、これは以下の情報を含んでいる。
−時間コード
−クローズ／オープン
−切断されたリンク
ＧＯＶ（ＶＯＰグループ）ヘッダ２２０は、これに続く１つまたは複数のＶＯＰの解釈および処理を制御する。
【００２６】
各ＶＯＰは、ＶＯＰヘッダ２３０と１つまたは複数のマクロブロック（ＭＢ）（２４０ａ、ｂ、ｃ．．．）を含む。ＶＯＰヘッダ２３０は、以下の情報を含んでいる。
−ＶＯＰコーディング・タイプ（Ｐ、Ｂ、ＳまたはＩ）
−ＶＯＰ時間増分
−符号化／ダイレクト（非符号化）
−丸めタイプ
−初期量子化パラメータ（ＱＰ）
−動きベクトル（ＭＶ）のためのｆｃｏｄｅ
ＶＯＰヘッダ２３０は、それに続くＭＢ（２４０）の復号化および解釈に影響を及ぼす。
【００２７】
図２Ｂは、マクロブロック（ＭＢ）２４０の一般フォーマットを示すものである。マクロブロック、すなわちＭＢ２４０は、ＭＢヘッダ２４２およびブロック・データ２４４から構成されている。ＭＢヘッダ２４２に符号化される情報のフォーマットは、それを定義するＶＯＰヘッダ２３０に依存する。一般的に言えば、ＭＢヘッダ２４２は、以下の情報を含んでいる。
【００２８】
−符号化モード（イントラ、インターなど）
−符号化またはダイレクト（非符号化）
−符号化ブロック・パターン（ＣＢＰ）
−ＡＣ予測フラグ（ＡＣ＿ｐｒｅｄ）
−量子化パラメータ（ＱＰ）
−インターレース／非インターレース
−動きベクトル（ＭＶ）
各ＭＢヘッダに関連するブロック・データ２４４は、このＭＢによって表される６つの８×８のピクセル・ブロックについての可変長符号化（ＶＬＣ）ＤＣＴ係数を含んでいる。
【００２９】
ヘッダ処理
再び図１を参照すると、ビットストリームを提示されるのに応じて、ＶＯＬヘッダ処理ブロック１１０は、識別可能なＶＯＬヘッダがあるか入力ビットストリーム１０２を調べる。ＶＯＬヘッダを検出すると、この入力ビットストリームの様々な符号化レイヤ（ＶＯＬ、ＧＯＶ、ＶＯＰなど）に関連するヘッダを識別し復号化することによって入力ビットストリーム１０２の処理が開始される。ＶＯＬヘッダ、ＧＯＶヘッダおよびＶＯＰヘッダは、以下のように処理される。
【００３０】
１．ＶＯＬヘッダ処理
ＶＯＬヘッダ処理ブロック１１０は、入力ビットストリーム１０２中の（ＭＰＥＧ−４仕様によって定義されている）ＶＯＬヘッダを検出し識別し、次いでＶＯＬヘッダに記憶された情報を復号化する。次いでこの情報は、さらに分析し処理するためにビットストリームに沿ってＧＯＶヘッダ処理ブロック１２０に渡される。ＶＯＬヘッダ・ビット１１２は、出力ビットストリーム（「新ビットストリーム」）１６２に再挿入するために分離される。レート低減トランスコーディングでは、入力ビットストリーム１０２と出力ビットストリーム１６２の間でＶＯＬヘッダ中の情報を何も変更する必要もない。したがって、ＶＯＬヘッダ・ビット１１２は、その出力ビットストリーム１６２中の適切なロケーションに単にコピーされるだけである。
【００３１】
２．ＧＯＶヘッダ処理
ＶＯＬヘッダ処理ブロック１１０から渡された情報に基づいて、ＧＯＶヘッダ処理ブロック１２０は、入力ビットストリーム１０２中で（ＭＰＥＧ−４仕様によって定義されている）ＧＯＶヘッダを探索する。ＶＯＰ（およびＶＯＰヘッダ）がＧＯＶヘッダの下で符号化されても、また符号化されなくてもよいので、ＶＯＰヘッダは、ＧＯＶヘッダと独立に発生し得る。ＧＯＶヘッダが入力ビットストリーム１０２中で発生する場合には、これはＧＯＶヘッダ処理ブロック１２０によって識別され復号化され、ＧＯＶヘッダ・ビット１２２が、出力ビットストリーム１６２に再挿入するために分離される。復号化されたＧＯＶヘッダ情報はどれも、さらに分析し処理するためにこの入力ビットストリームに沿ってＶＯＰヘッダ処理ブロック１３０へと渡される。ＶＯＬヘッダと同様に入力ビットストリーム１０２と出力ビットストリーム１６２の間ではＧＯＶヘッダの情報を何も変更する必要がなく、したがって、ＧＯＶヘッダ・ビット１２２は、出力ビットストリーム１６２中の適切なロケーションに単にコピーされるだけである。
【００３２】
３．ＶＯＰヘッダ処理
ＶＯＰヘッダ処理ブロック１３０は、入力ビットストリーム１０２中の（ＭＰＥＧ−４仕様によって定義されている）任意のＶＯＰヘッダを識別し復号化する。この検出されたＶＯＰヘッダ・ビット１３２は分離され、ＱＰ調整ブロック１７０へと渡される。この復号化されたＶＯＰヘッダ情報はまた、さらに分析し処理するために入力ビットストリーム１０２に沿って部分復号化ブロック１４０へと渡される。この復号化されたＶＯＰヘッダ情報は、部分復号化ブロック１４０およびトランスコード・ブロック１５０によってＭＢ（マクロブロック）復号化およびＭＢ処理のために使用される。ＭＰＥＧ−４仕様では、ＱＰの変化がＭＢからＭＢ＋／−２までに制限されるので、適切な初期ＱＰがＶＯＰごとに指定されることが不可欠である。これらの初期ＱＰは、ＶＯＰヘッダの一部分を形成する。レート制御ブロック１８０に提示される新しいビット・レート１０４に従って、また出力ビットストリーム１６２中で観察されるビット・レートとの関連で、このレート制御
ブロック１８０は、適切な量子化パラメータ（ＱＰ）１８２を決定し、次いでこれらをＭＢ再量子化のためにトランスコード・ブロック１８０に提供する。適切な初期量子化パラメータ１８４が、検出されたＶＯＰヘッダ・ビット１３２を修正するためにＱＰ調整ブロック１７０に提供され、新しいＶＯＰヘッダ・ビット１７２が、この初期ＱＰを検出されたＶＯＰヘッダ・ビット１３２へとマージすることによって生成される。次いで、新しいＶＯＰヘッダ・ビット１７２は、出力ビットストリーム１６２中の適切なロケーションに挿入される。
【００３３】
４．ＭＢヘッダ処理
ＭＰＥＧ−４は、各フレームがＭＢ（マクロブロック）に分割されるブロックベースの符号化スキームである。各ＭＢは、１つの１６×１６の輝度ブロック（すなわち、４つの８×８ブロック）と２つの８×８のクロミナンス・ブロックから構成される。ＶＯＰ中のＭＢは、１つずつ左から右へ、上から下へと符号化される。ＭＰＥＧ−４仕様によって定義されているように、ＶＯＰは、ＶＯＰヘッダおよび多数のＭＢによって表される（図２Ａ参照）。効率と簡潔さのために、本発明のＭＰＥＧ−４トランスコーダ１００では、ＭＢが部分的にしか復号化されていない。すなわち、ＭＢは、ＶＬＤ処理（可変長復号化、またはＶＬＣ符号化データの復号化）され、逆量子化されるだけである。
【００３４】
図３は、部分復号化ブロック３００のブロック図である（図１の１３０と比較されたい）。ＭＢブロック・データは、ＶＬＣ符号化され量子化されたＤＣＴ係数から構成されている。これらは、分析し処理するために、符号化されていない逆量子化係数に変換される必要がある。可変長符号化（ＶＬＣ）ＭＢブロック・データ・ビット３０２は、ＶＬＤブロック３１０によってＶＬＤ処理され、それらは符号化されていない量子化されたＤＣＴ係数へと伸張され、次いで逆量子化ブロック（Ｑ−１）３２０において逆量子化され、符号化されていない逆量子化されたＤＣＴ係数３２２の形式の逆量子化ＭＢデータ３２２が生成される。
【００３５】
ＭＢヘッダ（２４２）およびＭＢブロック・データ（２４４）の符号化および解釈は、それらが属するＶＯＰのタイプに依存する。ＭＰＥＧ−４仕様は、Ｉ−ＶＯＰすなわち「イントラ符号化」ＶＯＰ、Ｐ−ＶＯＰすなわち「予測符号化」ＶＯＰ、Ｓ−ＶＯＰすなわち「スプライト」ＶＯＰ、およびＢ−ＶＯＰすなわち「双方向」予測符号化ＶＯＰの４つのタイプのＶＯＰを定義している。ＶＯＰのタイプごとのＭＢヘッダ（２４２）中に含まれる情報、およびＭＢブロック・データ（２４４）のフォーマットおよび解釈を以下に示す。
【００３６】
Ｉ−ＶＯＰ中のＭＢレイヤ
ＭＰＥＧ−４仕様によって定義されているように、Ｉ−ＶＯＰ中のＭＢヘッダは、以下の符号化パラメータを含んでいる。
【００３７】
−ＭＣＢＰＣ
−ＡＣ予測フラグ（ＡＣ＿ｐｒｅｄ＿ｆｌａｇ）
−ＣＢＰＹ
−ＤＱＵＡＮＴ
−Ｉｎｔｅｒｌａｃｅ＿ｉｎｆｏｒｍ
Ｉ−ＶＯＰについて定義されるＭＢブロック・データでは、２つの符号化モード：ｉｎｔｒａおよびｉｎｔｒａ＿ｑしか存在しない。
【００３８】
ＭＣＢＰＣは、ＭＢのタイプおよび２つの８×８のクロミナンス・ブロックの符号化パターンを示すものである。ＡＣ＿ｐｒｅｄ＿ｆｌａｇは、ＡＣ予測を使用すべきかどうかを示すものである。ＣＢＰＹは、４つの８×８の輝度ブロックの符号化パターンである。
ＤＱＵＡＮＴは、異なる量子化を示している。インターレースがＶＯＬレイヤにおいて設定される場合には、ｉｎｔｅｒｌａｃｅ＿ｉｎｆｏｒｍは、このＭＢブロック・データ中のＤＣＴ係数を変換する際に使用すべきＤＣＴ（離散コサイン変換）タイプを含んでいる。
【００３９】
Ｐ−ＶＯＰ中のＭＢレイヤ
ＭＰＥＧ−４仕様によって定義されているように、Ｐ−ＶＯＰ中のＭＢヘッダは、以下の符号化パラメータを含み得る。
【００４０】
−ＣＯＤ
−ＭＣＢＰＣ
−ＡＣ予測フラグ（ＡＣ＿ｐｒｅｄ＿ｆｌａｇ）
−ＣＢＰＹ
−ＤＱＵＡＮＴ
−ｉｎｔｅｒｌａｃｅ＿ｉｎｆｏｒｍ
−ＭＶＤ
−ＭＶＤ２
−ＭＶＤ３
−ＭＣＤ４
ＭＢの動きベクトル（ＭＶ）は、差分符号化される。すなわち、ＭＶではなく、動きベクトルの差（ＭＶＤ）が符号化される。ＭＶＤ＝ＭＶ−ＰＭＶが成立し、式中でＰＭＶは、予測されたＭＶである。
【００４１】
Ｉ−ＶＯＰ中のＭＢブロック・データについては、ｎｏｔ＿ｃｏｄｅｄ、ｉｎｔｅｒ、ｉｎｔｅｒ＿ｑ、ｉｎｔｅｒ＿４ＭＶ、ｉｎｔｒａおよびｉｎｔｒａ＿ｑの６つの符号化モードが定義されている。
【００４２】
ＣＯＤは、ＭＢが符号化されているか否かを示すインジケータである。ＭＣＢＰＣは、ＭＢのタイプおよび２つの８×８のクロミナンス・ブロックの符号化パターンを示す。ＡＣ＿ｐｒｅｄ＿ｆｌａｇは、ＭＣＢＰＣがｉｎｔｒａ符号化またはｉｎｔｒａ＿ｑ符号化のいずれかを示すときだけに存在し、この場合に、これはＡＣ予測を使用すべきかどうかを示す。ＣＢＰＹは、４つの８×８の輝度ブロックの符号化パターンである。ＤＱＵＡＮＴは、差動量子化を示すものである。インターレースがＶＯＬヘッダ中で指定される場合には、ｉｎｔｅｒｌａｃｅ＿ｉｎｆｏｒｍは、ＤＣＴ（離散コサイン変換）タイプ、フィールド予測、および前方のトップまたはボトムの予測を指定する。ＭＶＤ、ＭＶＤ２、ＭＶＤ３およびＭＶＤ４は、ＭＣＢＰＣによって指定される符号化にとって適切なときだけ存在する。ブロック・データは、ＭＣＢＰＣおよびＣＢＰＹによって指定される符号化にとって適切なときだけ存在する。
【００４３】
Ｓ−ＶＯＰ中のＭＢレイヤ
ＭＰＥＧ−４仕様によって定義されているように、Ｐ−ＶＯＰ中のＭＢヘッダは、以下の符号化パラメータを含み得る。
【００４４】
−ＣＯＤ
−ＭＣＢＰＣ
−ＭＣＳＥＬ
−ＡＣ＿ｐｒｅｄ＿ｆｌａｇ
−ＣＢＰＹ
−ＤＱＵＡＮＴ
−Ｉｎｔｅｒｌａｃｅ＿ｉｎｆｏｒｍ
−ＭＶＤ
−ＭＶＤ２
−ＭＶＤ３
−ＭＣＤ４
Ｐ−ＶＯＰ中で定義される６つの符号化モードに追加して、ＭＰＥＧ−４仕様は、ｉｎｔｅｒ＿ｇｍｃおよびｉｎｔｅｒ＿ｇｍｃ＿ｑという、Ｓ−ＶＯＰについての２つの追加符号化モードを定義している。ＭＣＳＥＬは、ＭＣＢＰＣによって指定される符号化タイプがｉｎｔｅｒまたはｉｎｔｅｒ＿ｑであるときだけ、ＭＣＢＰＣの後で発生する。ＭＣＳＥＬがセットされるときには、ＭＢは、ｉｎｔｅｒ＿ｇｍｃまたはｉｎｔｅｒ＿ｇｍｃ＿ｑで符号化され、ＭＶＤ（ＭＶＤ、ＭＶＤ２、ＭＶＤ３、ＭＶＤ４）はどれも、後に続かない。
Ｉｎｔｅｒ＿ｇｍｃは、ＭＢが全体動き補償を用いたｉｎｔｅｒモード中で符号化される場合の符号化モードである。
【００４５】
Ｂ−ＶＯＰ中のＭＢレイヤ
ＭＰＥＧ−４仕様によって定義されているように、Ｐ−ＶＯＰ中のＭＢヘッダは、以下の符号化パラメータを含み得る。
【００４６】
−ＭＯＤＢ
−ＭＢＴＹＰＥ
−ＣＢＰＢ
−ＤＱＵＡＮＴ
−Ｉｎｔｅｒｌａｃｅ＿ｉｎｆｏｒｍ
−ＭＶＤｆ
−ＭＶＤｂ
−ＭＶＤＢ
ＭＯＤＢが示す場合には、ＣＢＰＢは、Ｂ−ＶＯＰについての符号化ブロック・パターンを表す３から６ビットのコードである。ＭＯＤＢは、Ｂ−ＶＯＰの符号化マクロブロック中にのみ存在する可変長コードである。ＭＯＤＢは、ＭＢＴＹＰＥ情報および／またはＣＢＰＢ情報がこのマクロブロック中に存在するかどうかを示す。
【００４７】
ＭＰＥＧ−４仕様は、ｎｏｔ＿ｃｏｄｅｄ、ｄｉｒｅｃｔ、ｉｎｔｅｒｐｏｌａｔｅ＿ＭＣ＿Ｑ、ｂａｃｋｗａｒｄ＿ＭＣ＿Ｑ、およびｆｏｒｗａｒｄ＿ＭＣ＿Ｑという、Ｂ−ＶＯＰ中のＭＢについての５つの符号化モードを定義している。最新のＩ−ＶＯＰまたはＰ−ＶＯＰのＭＢがｓｋｉｐｐｅｄである場合には、Ｂ−ＶＯＰ中の対応するＭＢもｓｋｉｐｐｅｄである。そうでない場合には、このＭＢはｎｏｎ−ｓｋｉｐｐｅｄである。ＭＯＤＢは、Ｂ−ＶＯＰ中のあらゆるｎｏｎ−ｓｋｉｐｐｅｄのＭＢについて存在する。ＭＯＤＢは、ＭＢＴＹＰＥおよびＣＢＰＢが後に続いているかどうかを示す。ＭＢＴＹＰＥは、動きベクトル・モード（存在するＭＶＤｆ、ＭＶＤｂおよびＭＶＤＢ）および量子化（ＤＱＵＡＮＴ）を示す。
【００４８】
トランスコーディング
再び図１を参照すると、部分復号化ブロック１４０におけるＶＬＤ復号化および逆量子化の後に、復号化され逆量子化ＭＢブロック・データ（図３の３２２を参照）は、（以前の処理ブロックにおいて決定された情報と共に）トランスコーディング・エンジン１５０に渡される。このトランスコード・ブロック１５０は、（以下により詳細に説明する）レート制御ブロックからの新しい量子化パラメータ（ＱＰ）１８２を使用してこの逆量子化ＭＢブロック・データを再量子化し、再符号化された（トランスコードされた）ＭＢを構築し、この新しいＭＢに適した新しい符号化モードを決定する。（このＭＢヘッダにおいて指定される）ＶＯＰタイプおよびＭＢ符号化は、このトランスコード・ブロック１５０
が、部分復号化ブロック１４０からの復号化され逆量子化されたブロック・データを処理する方法に影響を及ぼす。（ＶＯＰタイプ／ＭＢヘッダによって定義される）各ＭＢタイプは、この新しいＭＢについての符号化タイプを決定するための（以下で詳細に説明する）特定の戦略を有している。
【００４９】
図４Ａ〜４Ｇは、復号化され逆量子化されたブロック・データを処理する際に使用される様々なトランスコーディング技術のブロック図であり、様々なＶＯＰタイプ／ＭＢ符号化タイプの説明に関連して以下で考察する。
【００５０】
Ｉ−ＶＯＰ中のＭＢのトランスコーディング
Ｉ−ＶＯＰ中のＭＢは、ｉｎｔｒａモードまたはｉｎｔｒａ＿ｑモードで符号化され、すなわちこれらは、以前のまたは後続の他のＶＯＰを参照することなく符号化される。図４Ａは、ｉｎｔｒａ／ｉｎｔｒａ＿ｑで符号化されたＭＢを処理するように構成されたトランスコード・ブロック４００ａのブロック図である。逆量子化ＭＢデータ４０２（図３の３２２と比較されたい）が、トランスコード・ブロック４００ａに入力され、量子化ブロック４１０に対して提示される。この量子化器ブロックは、レート制御ブロック（図１の１８０を参照）からの新しいＱＰ４１２に従って逆量子化ＭＢデータ４０２を再量子化し、結果として得られる再量子化ＭＢデータをモード決定ブロック４８０に提示しており、ここでは再量子化ＭＢデータを再符号化するのに適したモード選択が行われる。この再量子化ＭＢデータおよびモード選択４８２は、再エンコーダ（図１、１６０参照）に渡される。この符号化モード決定を行う技術については、以下でより詳細に説明する。ｉｎｔｒａ／ｉｎｔｒａ＿ｑ符号化モードにおける逆量子化ＭＢデータは、動き補償（ＭＣ）なしに直接に量子化される。この再量子化ＭＢは、逆量子化器ブロック４２０（Ｑ−１）にも渡され、ここでは、量子化方法は行われずにＤＣＴ係数が生成される。当業者には容易に理解されるように、トランスコード・ブロック４００ａに提示される逆量子化ＭＢデータ４０２も逆量子化ブロック４２０によって生成されるＤＣＴ係数も、トランスコードされるＭＢによって表されるビデオ画像データの周波数ドメイン表現である。しかし、量子化ブロック４１０によって行われる量子化が、逆量子化ＭＢデータ４０２が導き出された元のＭＢデータ上で使用されるものとは（まず間違いなく）異なるＱＰに従って実施されるので、逆量子化ブロック４２０から出てくるＤＣＴ係数とトランスコード・ブロック４００ａに提示される逆量子化ＭＢデータ４０２の間には差があることになる。これらの差は、差分ブロック４２５において計算され、ＩＤＣＴブロック４３０においてＩＤＣＴ（逆離散コサイン変換）処理されて、これらの差からもたらされる最終出力ビデオ・ビットストリーム中の量子化エラーを表す「エラー画像」が生成される。この量子化エラーのエラー画像表現は、フレーム・バッファ４４０（ＦＢ２）に記憶される。この量子化エラーは、正または負のいずれも取り得るがピクセル・データには符号がないので、このエラー画像表現には、ＦＢ２のダイナミック・レンジの２分の１だけのオフセットが与えられる。例えば、８ビット・ピクセルを想定すると、ＦＢ２中の任意の入力は、０から２５５の範囲を取り得る。この場合には、−１２８から＋１２７に至るエラー画像が、０から２５５のＦＢ２入力値に対応するようにするためには、この画像データが、上方に＋１２８分だけバイアスされることになるはずである。このＦＢ２の内容は、他のＶＯＰタイプ／符号化タイプに関連するＭＢと組み合わせて動き補償（ＭＣ）のために記憶される。
【００５１】
数値変換（ここでは、異なるタイプの数、例えば符号付きおよび符号なしの数が、混合される）を取り扱う多数の異なる方法が可能であること、また以上で説明したバイアス技術は、これらの技術のうちの代表的な１つにすぎず、限定する意図はないことを当業者ならすぐに理解されよう。
【００５２】
Ｉ−ＶＯＰ中のＭＢはどれもｓｋｉｐｐｅｄである可能性がないことに留意されたい。
Ｐ−ＶＯＰ中のＭＢのトランスコーディング
Ｐ−ＶＯＰ中のＭＢは、ｉｎｔｒａ／ｉｎｔｒａ＿ｑ、ｉｎｔｅｒ／ｉｎｔｅｒ＿ｑ／ｉｎｔｅｒ＿４ＭＶ、またはｓｋｉｐｐｅｄモードで符号化される可能性がある。差分タイプのＭＢ（ｉｎｔｅｒ、ｉｎｔｅｒ＿ｑ、ｉｎｔｅｒ＿４ＭＶ）は、異なる方法でトランスコードされる。Ｐ−ＶＯＰのｉｎｔｒａ／ｉｎｔｒａ＿ｑにより符号化されたＭＢは、図４Ａに示しこの図に関連して以上で説明したようにトランスコードされる。ｉｎｔｅｒ、ｉｎｔｅｒ＿ｑ、およびｉｎｔｅｒ＿４ＭＶにより符号化されたＭＢは、図４Ｂに示すようにトランスコードされる。ｓｋｉｐｐｅｄ  ＭＢは、図４Ｃに示すように処理される。
【００５３】
図４Ｂは、ＶＯＰヘッダおよびＭＢヘッダによって示されるように、元々、ｉｎｔｅｒ、ｉｎｔｅｒ＿ｑ、ｉｎｔｅｒ＿４ＭＶにより符号化されたＭＢデータのトランスコーディングに対して適合化されたトランスコード・ブロック４００ｂのブロック図である。これらの符号化モードは動き補償を使用している。Ｐ−ＶＯＰをトランスコーディングするまえにフレーム・バッファＦＢ２  ４４０の内容が、フレーム・バッファＦＢ１  ４５０に転送される。ＦＢ１の内容は、動き補償ブロック４６０に提示される。ＦＢ２  ４４０へのその記憶に先立ってそのエラー画像データに加えられたバイアスが、ＦＢ１  ４５０からの検索に際しては逆に加えられる。この動き補償ブロック４６０（ＭＣ）はまた、符号化モードおよび（ＭＢヘッダ部分復号化部（図３参照）からの）動きベクトル情報を受け取り、ＭＰＥＧ−４仕様において指定されているように動作して、動き補償「画像」を生成し、次いでこの画像がＤＣＴブロック４７０中でＤＣＴ処理されて動き補償ＤＣＴ係数が生成される。次いでこれらの動き補償ＤＣＴ係数が、結合ブロック４０５中で着信する逆量子化ＭＢデータと組み合わされて、動き補償されたＭＢデータが生成される。結果として得られる組合せでは、実際には、このトランスコードされたＭＢエラー（異なるＱＰを使用した再量子化の結果としての、元のＭＢデータとトランスコードされたＭＢデータ４８２との差）に対してしか動き補償は適用されない。
【００５４】
この動き補償されたＭＢデータは、量子化ブロック４１０に提示される。図４Ａに示しこの図に関連して以上で説明したのと同様にして、この量子化器ブロックは、このレート制御ブロック（図１の１８０を参照）からの新しいＱＰ４１２に従ってこの動き補償されたＭＢデータを再量子化し、結果として得られる再量子化ＭＢデータをモード決定ブロック４８０に提示しており、ここで、適切なモード選択が、この再量子化ＭＢデータを再符号化するために行われる。この再量子化ＭＢデータおよびモード選択４８５は、再エンコーダ（図１の１６０参照）に対して渡される。この符号化モードの決定を行う技術については、以下でより詳細に説明している。この再量子化ＭＢは、逆量子化器ブロック４２０（Ｑ−１）にも渡され、ここでは量子化方法は行われずにＤＣＴ係数が生成される。以前と同様に、量子化ブロック４１０によって行われる量子化が、逆量子化ＭＢデータ４０２が導き出された元のＭＢデータ上で使用されるものとは異なるＱＰに従って実施されるので、逆量子化ブロック４２０から出てくるＤＣＴ係数とこの動き補償されたＭＢデータとの差が、差分ブロック４２５中で計算され、ＩＤＣＴブロック４３０においてＩＤＣＴ（逆離散コサイン変換）処理されてこれらの差からもたらされる最終出力ビデオ・ビットストリーム中の量子化エラーを表す「エラー画像」が生成される。この量子化エラーのこのエラー画像表現は、以前と同様にフレーム・バッファＦＢ２  ４４０に記憶される。この量子化エラーは正または負のいずれを取ってもよいがピクセル・データには符号が付かないので、このエラー画像表現には、ＦＢ２のダイナミック・レンジの２分の１だけのオフセットが与えられる。
【００５５】
図４Ｃは、ＶＯＰヘッダおよびＭＢヘッダによって示されるように、元々「ｓｋｉｐｐｅｄ」として符号化されるＭＢに適合化されたトランスコード・ブロック４００ｃのブロック図である。この場合には、このＭＢおよびＭＢデータは、符号化モードがまるで「ｉｎｔｅｒ」であるかのように、またすべての係数（ＭＢデータ）およびすべての動き補償
ベクトル（ＭＶ）がまるでゼロであるかのように取り扱われる。これは、すべての逆量子化ＭＢデータ４０２およびすべての動きベクトル４６２（ＭＶ）をゼロにすることにより、また図４Ｂに示しこの図に関連して以上で説明したようにトランスコードすることによって簡単に実現される。以前のフレームからの残留エラー情報に起因して、結合ブロック４０５が生成するこの動き補償されたＭＢデータが符号化すべき画像情報を示す非ゼロ・エレメントを含むようになることは可能である。したがって、ｓｋｉｐｐｅｄ  ＭＢがトランスコーディング後にｎｏｎ−ｓｋｉｐｐｅｄ  ＭＢを生成することは可能である。これは、レート制御ブロック（図１の１８０参照）によって割り当てられる新しいＱＰ４１２がＭＢごとに変化し得るからである。最初にｎｏｎ−ｓｋｉｐｐｅｄのＭＢが、再量子化後に非ゼロのＤＣＴ係数をもたないこともある。他方、最初にｓｋｉｐｐｅｄのＭＢが、ＭＣおよび再量子化後に一部非ゼロのＤＣＴ係数を有することもある。
【００５６】
Ｓ−ＶＯＰ中のＭＢのトランスコーディング
Ｓ−ＶＯＰ、すなわち「スプライト−ＶＯＰ」は、Ｐ−ＶＯＰに類似しているが、ｉｎｔｅｒ＿ｇｍｃおよびｉｎｔｅｒ＿ｇｍｃ＿ｑという２つの追加のＭＢ符号化モードも可能にしている。ｉｎｔｒａ、ｉｎｔｒａｑ＿ｑ、ｉｎｔｅｒ、ｉｎｔｅｒ＿ｑ、およびｉｎｔｅｒ＿４ＭＶにおいて最初に符号化されたＳ−ＶＯＰのＭＢは、同様に符号化されたＰ−ＶＯＰのＭＢについて以上で説明したのと同様に処理される。ｉｎｔｅｒ＿ｇｍｃ、ｉｎｔｅｒ＿ｇｍｃ＿ｑ、およびｓｋｉｐｐｅｄモードで最初に符号化されたＳ−ＶＯＰ
ＭＢは、図４Ｄに示すように処理される。
【００５７】
図４Ｄは、ＶＯＰヘッダおよびＭＢヘッダによって示されるように、元々ｉｎｔｅｒ＿ｇｍｃ、ｉｎｔｅｒ＿ｇｍｃ＿ｑであったＭＢデータのトランスコーディングに対して適合化されたトランスコード・ブロック４００ｄのブロック図である。これらの符号化モードは、ＧＭＣ（全体動き補償）を使用している。Ｐ−ＶＯＰと同様に、Ｓ−ＶＯＰをトランスコードする以前に、フレーム・バッファＦＢ２  ４４０の内容が、フレーム・バッファＦＢ１  ４５０に転送される。ＦＢ１のこの内容は、ＧＭＣのために構成されている動き補償ブロック４６０に提示される。ＦＢ２  ４４０へのその記憶に先立ってそのエラー画像データに加えられたバイアスが、ＦＢ１  ４５０からの検索に際しては逆に加えられる。この動き補償ブロック４６０（ＭＣ）は、（ＭＢヘッダ部分復号化部（図３参照）から）ＧＭＣパラメータ情報４６２も受け取り、ＭＰＥＧ−４仕様において指定されているように動作して、ＧＭＣ「画像」を生成し、次いでこの画像がＤＣＴブロック４７０中でＤＣＴ処理されて動き補償ＤＣＴ係数が生成される。次いでこれらの動き補償ＤＣＴ係数が、結合ブロック４０５中で着信する逆量子化ＭＢデータと組み合わされて、ＧＭＣ  ＭＢデータが生成される。結果として得られる組合せでは、実際には、このトランスコードされたＭＢエラー（異なるＱＰを使用した再量子化の結果としての、元のＭＢデータとトランスコードされたＭＢデータ４８２との差）に対してしかＧＭＣは適用されない。
【００５８】
このＧＭＣ  ＭＢデータは、量子化ブロック４１０に提示される。図４Ａ〜４Ｃに示しこれらの図に関連して以上で説明したのと同様にして、この量子化器ブロックは、このレート制御ブロック（図１の１８０を参照）からの新しいＱＰ４１２に従ってこのＧＭＣ  ＭＢデータを再量子化し、結果として得られる再量子化ＭＢデータをモード決定ブロック４８０に提示しており、ここで、適切なモード選択が、この再量子化ＭＢデータを再符号化するために行われる。この再量子化ＭＢデータおよびモード選択４８５（図１には４８５は見出され得ない）は、再エンコーダ（図１の１６０参照）に対して渡される。この符号化モードの決定を行う技術については、以下でより詳細に説明している。この再量子化ＭＢは、逆量子化器ブロック４２０（Ｑ−１）にも渡され、ここでは量子化方法は行われなくてＤＣＴ係数が生成される。以前と同様に、量子化ブロック４１０によって行われる量子化が、逆量子化ＭＢデータ４０２が導き出された元のＭＢデータ上で使用されるものとは異なるＱＰに従って実施されるので、逆量子化ブロック４２０から出てくるＤＣＴ係
数とこのＧＭＣ  ＭＢデータとの差が、差分ブロック４２５中で計算され、ＩＤＣＴブロック４３０においてＩＤＣＴ（逆離散コサイン変換）処理されてこれらの差からもたらされる最終出力ビデオ・ビットストリーム中の量子化エラーを表す「エラー画像」が生成される。この量子化エラーのこのエラー画像表現は、以前と同様にフレーム・バッファＦＢ２  ４４０に記憶される。この量子化エラーは正または負の可能性があるがピクセル・データには符号が付かないので、このエラー画像表現には、ＦＢ２のダイナミック・レンジの２分の１だけのオフセットが与えられる。
【００５９】
図４Ｅは、ＶＯＰヘッダおよびＭＢヘッダによって示されるように、元々「ｓｋｉｐｐｅｄ」として符号化されるＭＢに適合化されたトランスコード・ブロック４００ｅのブロック図である。この場合には、このＭＢおよびＭＢデータは、符号化モードがまるで「ｉｎｔｅｒ＿ｇｍｃ」であるかのように、またすべての係数（ＭＢデータ）がまるでゼロであるかのように取り扱われる。これは、このモード選択を行いＧＭＣ動き補償（４６２）を設定し、またすべての逆量子化ＭＢデータ４０２をゼロにすることにより、また次いで図４Ｄに示しこの図に関連して以上で説明したようにトランスコードすることによって簡単に実現される。以前のフレームからの残留エラー情報に起因して、結合ブロック４０５が生成するＧＭＣ  ＭＢデータが符号化すべき画像情報を示す非ゼロ・エレメントを含むようになることは可能である。したがって、ｓｋｉｐｐｅｄ  ＭＢがトランスコーディング後にｎｏｎ−ｓｋｉｐｐｅｄ  ＭＢを生成することは可能である。これは、レート制御ブロック（図１の１８０参照）によって割り当てられる新しいＱＰ４１２がＭＢごとに変化し得るからである。最初にｎｏｎ−ｓｋｉｐｐｅｄのＭＢが、再量子化後に非ゼロのＤＣＴ係数をもたないこともある。他方、最初にｓｋｉｐｐｅｄのＭＢが、ＧＭＣおよび再量子化後に一部非ゼロのＤＣＴ係数を有することもある。
【００６０】
Ｂ−ＶＯＰ中のＭＢのトランスコーディング
Ｂ−ＶＯＰ、すなわち「双方向予測符号化ＶＯＰ」は、新しい画像データを符号化するのではなく、代わりに過去のＩ−ＶＯＰまたはＰ−ＶＯＰ、将来のＩ−ＶＯＰまたはＰ−ＶＯＰ、またはその両方の間で補間をとる。（「将来の」ＶＯＰ情報は、フレーム順になっていないＢ−ＶＯＰを処理することによって獲得され、すなわち画像情報が由来する「将来の」ＶＯＰにちなんだものである）。ダイレクト（ｄｉｒｅｃｔ）、補間（ｉｎｔｅｒｐｏｌａｔｅ）、後方（ｂａｃｋｗａｒｄ）および前方（ｆｏｒｗａｒｄ）という４つの符号化モードがＢ−ＶＯＰについて定義されている。これらのモード中のＢ−ＶＯＰ  ＭＢのトランスコーディングが、図４Ｆに示されている。最初に「ｓｋｉｐｐｅｄ」として符号化されたＢ−ＶＯＰ  ＭＢのトランスコーディングは、図４Ｇに示されている。
【００６１】
図４Ｆは、ＶＯＰヘッダおよびＭＢヘッダによって示されるように、元々はｄｉｒｅｃｔ、ｆｏｒｗａｒｄ、ｂａｃｋｗａｒｄまたはｉｎｔｅｒｐｏｌａｔｅモードで符号化されたＭＢデータのトランスコーディングに適合化されたトランスコード・ブロック４００ｆのブロック図である。これらの符号化モードは、動き補償を使用している。トランスコーディングに先立って、以前（および／または将来）のＶＯＰからのエラー画像情報が、フレーム・バッファＦＢ１  ４５０に配置される。ＦＢ１のこの内容は、動き補償ブロック４６０に提示される。フレーム・バッファＦＢ１  ４５０へのその記憶に先立ってそのエラー画像データに加えられたバイアスはどれも、フレーム・バッファＦＢ１  ４５０からの検索に際しては逆に加えられる。この動き補償ブロック４６０（ＭＣ）は、（このＭＢヘッダ部分復号化部（図３参照）から）動きベクトル（ＭＶ）および符号化モード情報４６２を受け取り、ＭＰＥＧ−４仕様において指定されているように動作して、動き補償されたＭＣ「画像」を生成し、次いでこの画像がＤＣＴブロック４７０中でＤＣＴ処理されてＭＣ  ＤＣＴ係数が生成される。次いでこれらのＭＣ  ＤＣＴ係数が、結合ブロック４０５中で着信する逆量子化ＭＢデータ４０２と組み合わされて、ＭＣ  ＭＢデータが生成される。結果として得られる組合せでは、実際には、符号化モードに応じて他のＶＯＰ
（以前、将来、またはその両方）からのこのトランスコードされたＭＢエラー（異なるＱＰを使用した再量子化の結果としての、元のＭＢデータとトランスコードされたＭＢデータ４８２との差）に対してしか動き補償は適用されない。
【００６２】
このＭＣ  ＭＢデータは、量子化器ブロック４１０に提示される。この量子化器ブロックは、レート制御ブロック（図１の１８０を参照）からの新しいＱＰ４１２に従ってこのＭＣ  ＭＢデータを再量子化し、結果として得られる再量子化ＭＢデータをモード決定ブロック４８０に提示し、ここで適切なモード選択が、この再量子化ＭＢデータを再符号化するために行われる。この再量子化ＭＢデータおよびモード選択４８５は、この再エンコーダ（図１の１６０参照）に渡される。この符号化モード決定を行う技術については以下でより詳細に説明している。Ｂ−ＶＯＰはさらなる動き補償においては決して使用されないので、量子化エラーおよびそれらの結果エラー画像は、Ｂ−ＶＯＰについては計算され記憶されることはない。
【００６３】
図４Ｇは、ＶＯＰヘッダおよびＭＢヘッダによって示されるように、元々「ｓｋｉｐｐｅｄ」として符号化されたＢ−ＶＯＰ  ＭＢに適合化されたトランスコード・ブロック４００ｇのブロック図である。この場合には、このＭＢおよびＭＢデータは、この符号化モードがまるで「ｄｉｒｅｃｔ」であるかのように、またすべての係数（ＭＢデータ）および動きベクトルがまるでゼロであるかのように取り扱われる。これは、このモード選択および動きベクトル４６２を強いてそれぞれ「ｆｏｒｗａｒｄ」およびゼロにし、またすべての逆量子化ＭＢデータ４０２を強制的にゼロにすることにより、また次いで図４Ｆに示しこの図に関連して以上で説明したようにトランスコードすることによって簡単に実現される。以前のフレームからの残留エラー情報に起因して、結合ブロック４０５が生成するこのＭＣ  ＭＢデータが、符号化すべき画像情報を示す非ゼロ・エレメントを含むようになることは可能である。したがって、ｓｋｉｐｐｅｄ  ＭＢがトランスコーディング後にｎｏｎ−ｓｋｉｐｐｅｄ  ＭＢを生成することは可能である。これは、レート制御ブロック（図１の１８０参照）によって割り当てられる新しいＱＰ４１２がＭＢごとに変化し得るからである。最初にｎｏｎ−ｓｋｉｐｐｅｄのＭＢが、再量子化後に非ゼロのＤＣＴ係数をもたないこともある。他方、最初にｓｋｉｐｐｅｄのＭＢが、ＧＭＣおよび再量子化後に一部非ゼロのＤＣＴ係数を有することもある。
【００６４】
図４Ａ〜４Ｇに示しこれらの図に関連して以上で説明したブロック図の間にはかなりの共通点があることが当業者には明らかであろう。様々な符号化モードをトランスコードするためにまるで別々のエンティティが存在するように以上では説明しているが、以上で説明したすべての符号化モードでは、１つのトランスコード・ブロックを簡単に提供してトランスコード動作のすべてに対応可能なようにすることが可能である。例えば、ＭＣブロックがＧＭＣにも対応することが可能である、図４Ｂに示すようなトランスコード・ブロックでは、前述のトランスコード動作のすべてを実現することが可能である。これは、非常に効率がよく、好ましい実装形態である。図１のトランスコード・ブロック１５０は、別々の専用トランスコード・ブロックのグループとして実装されても、あるいは単一の汎用トランスコード・ブロックとして実装されても、完備したトランスコーダ１００の集約したトランスコード機能を意味している。
【００６５】
モード決定
トランスコーディングに関しての前述の考察においては、各トランスコード・シナリオが、符号化モードの適切な選択に従って新しいＭＢデータを再符号化する工程を含んでいる。符号化モードを決定するための方法を、図５、６、７ａ、７ｂ、８ａおよび８ｂに示す。これらの図に関連する以下の考察の全体を通して、この説明中のアクションおよび決定に対応するこれらの図面からの参照番号は、括弧で囲んで示している。
【００６６】
Ｉ−ＶＯＰについての符号化モード決定
図５は、Ｉ−ＶＯＰ  ＭＢについての再符号化モードを決定する方法を示すフローチャート５００である。判断工程５０５において、新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じかどうかが判定される。それらが同じ場合、この新しい符号化モード（再符号化モード）が、工程５１０においてｉｎｔｒａに設定される。そうでない場合には、この新しい符号化モードは、工程５１５においてｉｎｔｒａ＿ｑに設定される。
【００６７】
Ｐ−ＶＯＰについての符号化モード決定
図６は、Ｐ−ＶＯＰ  ＭＢについての再符号化モードを決定する方法を示すフローチャート６００である。第１の判断工程６０５において、元のＰ−ＶＯＰ  ＭＢ符号化モードがｉｎｔｒａまたはｉｎｔｒａ＿ｑのどちらかであった場合には、このモード決定工程は判断工程６１０へと進む。そうでない場合には、このモード決定工程は、判断工程６２５へと進む。
【００６８】
この判断工程６１０において、その新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じである場合、この新しい符号化モードは、工程６１５においてｉｎｔｒａに設定される。そうでない場合には、この新しい符号化モードは、工程６２０においてｉｎｔｒａ＿ｑに設定される。
【００６９】
判断工程６２５において、この元のＰ−ＶＯＰ  ＭＢ符号化モードがｉｎｔｅｒまたはｉｎｔｅｒ＿ｑのどちらかであった場合、モード決定工程は、判断工程６３０へと進む。そうでない場合には、モード決定工程は、判断工程６５５へと進む。
【００７０】
判断工程６３０において、新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じでない場合、この新しい符号化モードは、工程６３５においてｉｎｔｅｒ＿ｑに設定される。それらが同じ場合には、モード決定工程は、判断工程６４０へと進み、ここではその符号化ブロック・パターン（ＣＢＰ）がオール・ゼロであり、かつそれらの動きベクトル（ＭＶ）がゼロであるかどうかが判定される。それらがそうである場合、この新しい符号化モードは、工程６４５において「ｓｋｉｐｐｅｄ」に設定される。そうでない場合には、この新しい符号化モードは、工程６５０においてｉｎｔｅｒに設定される。
【００７１】
判断工程６５５において、最初の符号化モードが以前にｉｎｔｅｒ、ｉｎｔｅｒ＿ｑ、ｉｎｔｒａまたはｉｎｔｒａ＿ｑではないと判定されているので、この場合にこの符号化モードは、唯一の他の可能性であるｉｎｔｅｒ＿４ＭＶであるものと想定される。その符号化ブロック・パターン（ＣＢＰ）がオール・ゼロであり、かつそれらの動きベクトル（ＭＶ）がゼロである場合には、この新しい符号化モードは、工程６６０において「ｓｋｉｐｐｅｄ」に設定される。そうでない場合には、この新しい符号化モードは、工程６６５においてｉｎｔｅｒ＿４ＭＶに設定される。
【００７２】
Ｓ−ＶＯＰについての符号化モード決定
図７ａおよび７ｂは、Ｓ−ＶＯＰ  ＭＢについての再符号化モードを決定する方法を示す１つのフローチャートを組み合わせて形成するフローチャート部分７００ａおよび７００ｂである。コネクタ「Ａ」および「Ｂ」は、フローチャート部分７００ａと７００ｂの間の接続点を示す。図７ａおよび７ｂを組み合わせて説明する。
【００７３】
判断工程７０５において、元のＳ−ＶＯＰ  ＭＢ符号化モードが、ｉｎｔｒａまたはｉｎｔｒａ＿ｑのどちらかであった場合には、このモード決定工程は、判断工程７１０へと進む。そうでない場合には、モード決定工程は、判断工程７２５へと進む。
【００７４】
判断工程７１０において、その新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じで
ある場合、この新しい符号化モードは、工程７１５においてｉｎｔｒａに設定される。そうでない場合には、この新しい符号化モードは、工程７２０においてｉｎｔｒａ＿ｑに設定される。
【００７５】
判断工程７２５において、元のＳ−ＶＯＰ  ＭＢ符号化モードがｉｎｔｅｒまたはｉｎｔｅｒ＿ｑのどちらかであった場合には、モード決定工程は、判断工程７３０へと進む。そうでない場合には、モード決定工程は、判断工程７５５へと進む。
【００７６】
判断工程７３０において、この新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じでない場合、この新しい符号化モードは工程７３５においてｉｎｔｅｒ＿ｑに設定される。これらが同じ場合には、モード決定工程は、判断工程７４０へと進み、ここでその符号化ブロック・パターン（ＣＢＰ）オール・ゼロであり、かつそれらの動きベクトル（ＭＶ）がゼロであるかどうかが判定される。これらがそうである場合には、この新しい符号化モードは、工程７４５において「ｓｋｉｐｐｅｄ」に設定される。そうでない場合には、この新しい符号化モードは、工程７５０においてｉｎｔｅｒに設定される。
【００７７】
判断工程７５５において、元のＳ−ＶＯＰ  ＭＢ符号化モードがｉｎｔｅｒ＿ｇｍｃまたはｉｎｔｅｒ＿ｇｍｃ＿ｑであった場合には、モード決定工程は、判断工程７６０へと進む。そうでない場合には、モード決定工程は、（コネクタ「Ａ」を経由して）判断工程７８５へと進む。
【００７８】
判断工程７６０において、この新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じでない場合、この新しい符号化モードは工程７６５においてｉｎｔｅｒ＿ｇｍｃ＿ｑに設定される。これらが同じ場合には、モード決定工程は、判断工程７７０へと進み、ここでこの符号化ブロック・パターン（ＣＢＰ）がオール・ゼロであるかどうかが判定される。そうである場合には、この新しい符号化モードは、工程７７５において「ｓｋｉｐｐｅｄ」に設定される。そうでない場合には、この新しい符号化モードは、工程７８０においてｉｎｔｅｒに設定される。
【００７９】
判断工程７８５において、元の符号化モードが以前にｉｎｔｅｒ、ｉｎｔｅｒ＿ｑ、ｉｎｔｅｒ＿ｇｍｃ、ｉｎｔｅｒ＿ｇｍｃ＿ｑ、ｉｎｔｒａまたはｉｎｔｒａ＿ｑではないと判定されているので、この場合には他の唯一の可能性としてｉｎｔｅｒ＿４ＭＶであるものと想定される。その符号化ブロック・パターン（ＣＢＰ）が、オール・ゼロであり、かつそれらの動きベクトル（ＭＶ）がゼロである場合には、この新しい符号化モードは、工程７９０において「ｓｋｉｐｐｅｄ」に設定される。そうでない場合には、この新しい符号化モードは、工程７９５においてｉｎｔｅｒ＿４ＭＶに設定される。
【００８０】
Ｂ−ＶＯＰについての符号化モード決定
図８ａおよび８ｂは、Ｂ−ＶＯＰについての再符号化モードを決定する方法を示す１つのフローチャートを組み合わせて形成するフローチャート部分８００ａおよび８００ｂである。コネクタ「Ｃ」および「Ｄ」は、これらフローチャート部分８００ａと８００ｂとの結合ポイントを示す。図８ａおよび８ｂを組み合わせて説明する。
【００８１】
第１の判断工程８０５において、以前のＰ−ＶＯＰ中の共に配置されたＭＢ（符号化ビデオ画像中の同じ位置に対応するＭＶ）がｓｋｉｐｐｅｄとして符号化される場合には、この新しい符号化モードは、工程８１０においてｓｋｉｐｐｅｄに設定される。そうでない場合には、モード決定工程は、判断工程８１５へと進み、ここでこの元のＢ−ＶＯＰ  ＭＢ符号化モードが「ｉｎｔｅｒｐｏｌａｔｅｄ」（ｉｎｔｅｒｐ＿ＭＣまたはｉｎｔｅｒｐ＿ＭＣ＿ｑ）であったかどうかが判定される。そうである場合、このモード決定工程は、判断工程８２０へと進む。そうでない場合には、モード決定工程は、判断工程８３５
へと進む。
【００８２】
判断工程８２０において、この新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じである場合、この新しい符号化モードは、工程８２５においてｉｎｔｅｒｐ＿ＭＣに設定される。そうでない場合には、この新しい符号化モードは、工程８３０においてｉｎｔｅｒｐ＿ＭＣ＿ｑに設定される。
【００８３】
判断工程８３５において、この元のＢ−ＶＯＰ  ＭＢ符号化モードが「ｂａｃｋｗａｒｄ」（ｂａｃｋｗｄまたはｂａｃｋｗｄ＿ｑのどちらか）であった場合には、モード決定工程は、判断工程８４０へと進む。そうでない場合には、モード決定工程は、判断工程８５５へと進む。
【００８４】
判断工程８４０において、この新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じである場合、この新しい符号化モードは、工程８４５においてｂａｃｋｗａｒｄ＿ＭＣに設定される。そうでない場合には、この新しい符号化モードは、工程８５０においてｂａｃｋｗａｒｄ＿ＭＣ＿ｑに設定される。
【００８５】
判断工程８５５において、この元のＢ−ＶＯＰ  ＭＢ符号化モードが「ｆｏｒｗａｒｄ」（ｆｏｒｗａｒｄ＿ＭＣまたはｆｏｒｗａｒｄ＿ＭＣ＿ｑのどちらか）であった場合には、モード決定工程は、判断工程８６０へと進む。そうでない場合には、モード決定工程は、（コネクタ「Ｃ」を経由して）判断工程８７５へと進む。
【００８６】
判断工程８６０において、この新しいＱＰ（ｑｉ）が以前のＱＰ（ｑｉ−１）と同じである場合、この新しい符号化モードは、工程８６５においてｆｏｒｗａｒｄ＿ＭＣに設定される。そうでない場合には、この新しい符号化モードは、工程８７０においてｆｏｒｗａｒｄ＿ＭＣ＿ｑに設定される。
【００８７】
判断工程８７５において、この元の符号化モードが以前にｉｎｔｅｒｐ＿ＭＣ、ｉｎｔｅｒｐ＿ＭＣ＿ｑ、ｂａｃｋｗｄ＿ＭＣ、ｂａｃｋｗｄ＿ＭＣ＿ｑ、ｆｏｒｗａｒｄまたはｆｏｒｗａｒｄ＿ＭＣ＿ｑではないと判定されているので、この場合には他の唯一の可能性としてｄｉｒｅｃｔであるものと想定される。その符号化ブロック・パターン（ＣＢＰ）がオール・ゼロであり、かつそれらの動きベクトル（ＭＶ）がゼロである場合には、この新しい符号化モードは、工程８８０において「ｓｋｉｐｐｅｄ」に設定される。そうでない場合には、この新しい符号化モードは、工程８８５においてｄｉｒｅｃｔに設定される。
【００８８】
再符号化
図９は、再符号化ブロック９００（図１の１６０と比較されたい）のブロック図であり、ここでは、４つの符号化モジュール（９１０、９２０、９３０、９４０）を使用して様々な再符号化タスクが処理される。この再符号化ブロック９００は、トランスコード・ブロック（図１の１５０、および図４Ａ〜４Ｇを参照）から再符号化するための逆量子化ＭＢデータおよび再符号化モードから構成されるデータ９０５を受信している。この再符号化モードは、どの再符号化モジュールを使用してこの逆量子化ＭＢデータを再符号化するかを決定する。この再符号化されたＭＢデータを使用して新しいビットストリーム９４５が提供される。
【００８９】
Ｉｎｔｒａ＿ＭＢ再符号化モジュール９１０を使用してＩ−ＶＯＰ、Ｐ−ＶＯＰ、またはＳ−ＶＯＰのＭＢについてｉｎｔｒａモードおよびｉｎｔｒａ＿ｑモードで再符号化が行われる。Ｉｎｔｅｒ＿ＭＢ再符号化モジュール９２０を使用してＰ−ＶＯＰまたはＳ−ＶＯＰのＭＢについてｉｎｔｅｒモード、ｉｎｔｅｒ＿ｑモード、およびｉｎｔｅｒ＿４
ＭＶモードで再符号化が行われる。ＧＭＣ＿ＭＢ再符号化モジュール９３０を使用してＳ−ＶＯＰのＭＢについてｉｎｔｅｒ＿ｇｍｃモードおよびｉｎｔｅｒ＿ｇｍｃ＿ｑモードで再符号化が行われる。Ｂ＿ＭＢ再符号化モジュールは、すべてのＢ−ＶＯＰ  ＭＢ符号化モード（ｉｎｔｅｒｐ＿ＭＣ、ｉｎｔｅｒｐ＿ＭＣ＿ｑ、ｆｏｒｗａｒｄ、ｆｏｒｗａｒｄ＿ＭＣ＿ｑ、ｂａｃｋｗｄ、ｂａｃｋｗｄ＿ＭＣ＿ｑおよびｄｉｒｅｃｔ）を処理する。
【００９０】
この新しいビットストリーム９４５においては、様々なＶＯＰにおけるＭＢレイヤの構造が同じままとなるが、各フィールドの内容は異なる可能性がある。詳細には、以下のようである。
【００９１】
ＶＯＰヘッダ生成
Ｉ−ＶＯＰヘッダ
ＭＢレイヤ中のすべてのフィールドを、古いビットストリームと異なるように符号化してもよい。これは、部分的にはこのレート制御エンジンが任意のＭＢについて新しいＱＰを割り当てることもあるためである。その場合には、この結果、ＭＢについて異なるＣＢＰがもたらされる。ＡＣ係数は、この新しいＱＰによって逆量子化されるが、ｉｎｔｒａモードにおけるすべてのＤＣ係数は、常に８ごとに量子化される。したがって、この再量子化されたＤＣ係数は、最初に符号化されたＤＣ係数に等しい。ｉｎｔｒａモードにおける量子化されたこのＤＣ係数は、空間予測符号化されている。その予測方向は、現行ブロックの量子化されたＤＣ係数と隣接したブロック（すなわち、マクロブロック）の間の差に基づいて決定される。この量子化されたＤＣ係数が不変なので、ＤＣ係数についてのこの予測方向も変更されないことになる。ＡＣ予測方向は、このＤＣ予測方向の跡をたどる。しかし、ＭＢについて割り当てられたこの新しいＱＰが最初に符号化されたＱＰと異なることもあり得るので、このスケールされたＡＣ予測も異なることもある。これによってＡＣ予測フラグ（ＡＣｐｒｅｄ＿ｆｌａｇ）の異なる設定がもたらされることもあり、これによってＡＣ予測が、有効かまたは無効かが示される。この新しいＱＰは、差分符号化される。さらに、ＭＢごとのＱＰの変更がレート制御ブロック（図１の１８０参照）によって決定されるので、このＤＱＵＡＮＴパラメータが同様に変更されることもある。
【００９２】
Ｐ−ＶＯＰヘッダ
ＭＶＤを除いてＭＢレイヤ中のすべてのフィールドは、古いビットストリームと異なっていてもよい。ｉｎｔｒａモードおよびｉｎｔｒａ＿ｑモードで符号化されたＭＢは、Ｉ−ＶＯＰについてと同様に再符号化される。ｉｎｔｅｒ  ＭＢおよびｉｎｔｅｒ＿ｑ  ＭＢは、新ビットストリームの特性が必要とするように符号化されても符号化されなくてもよい。これらのＭＶは、差分符号化される。ＭＢについてのＰＭＶは、隣接するＭＶの中央値である。ＭＶが不変なので、ＰＭＶも同様に不変である。したがって、同じＭＶＤが再符号化されてこの新ビットストリーム中に入っている。
【００９３】
Ｓ−ＶＯＰヘッダ
ＭＶＤを除いてＭＢレイヤ中のすべてのフィールドは、古いビットストリームと異なっていてもよい（図６）。ｉｎｔｒａ  ＭＢ，ｉｎｔｒａ＿ｑ  ＭＢ、ｉｎｔｅｒ  ＭＢおよびｉｎｔｅｒ＿ｑ  ＭＢは、Ｉ−ＶＯＰおよびＰ−ＶＯＰにおけると同様に再符号化される。ＧＭＣ＿ＭＢでは、これらのパラメータは不変である。
【００９４】
Ｂ−ＶＯＰヘッダ
ＭＶＤを除いてＭＢレイヤ中のすべてのフィールドは、古いビットストリームと異なることもある。ＭＶは、ＭＰＥＧ−４中のＰＭＶおよびＤＭＶから計算される。Ｂ−ＶＯＰ符号化モード中のＰＭＶは、このトランスコーディング工程によって変更することが可能である。ＭＶ再同期化工程は、そのトランスコードされたビットストリームが入力ビット
ストリーム中の元のＭＶと同一のＭＶを生成可能なようにＤＭＶ値を修正する。デコーダは、後方向および前方向についてＰＭＶを記憶する。ｄｉｒｅｃｔモードについてのＰＭＶは、常にゼロであり、後方ＰＭＶおよび前方ＰＭＶと独立に処理される。ＰＭＶは、ＭＢが（それぞれ前方、後方またはその両方向に）ＭＣで符号化されるときに、（前方、後方またはその両方向に）各ＭＢ行の先頭のゼロまたはＭＢの値のどちらかで置き換えられる。ＰＭＶは、ＭＢがｓｋｉｐｐｅｄとして符号化されるときには不変である。したがって、ＭＢがｓｋｉｐｐｅｄモードからＭＣ符号化モードに変化し、またはその逆に変化する場合にはトランスコードされたビットストリームによって生成されるＰＭＶは、入力ビットストリーム中のＰＭＶとは異なる可能性がある。この復号化工程および再符号化工程におけるＰＭＶが、独立に記憶された２つの別々の変数であることが好ましい。この再符号化工程は各行の先頭においてＰＭＶをリセットし、ＭＢがＭＣで符号化されるときはいつでもＰＭＶを更新する。さらに、この再符号化工程は、ＭＶ、ＰＭＶの残りを見出し、このトランスコードされたビットストリーム中に含めるためにそのＶＬＣ（可変長コード）を決定する。ＭＢがｓｋｉｐｐｅｄとして符号化されないときはいつでも、ＰＭＶは更新され、ＭＶの残りおよびその対応するＶＬＣは再計算される。
【００９５】
レート制御
図１をもう一度参照すると、このレート制御ブロック１８０は、目標ビット・レート１０４に基づいてトランスコードするための新しい量子化パラメータ（ＱＰ）を決定している。このレート制御ブロックは、ＶＯＰタイプ、このＶＯＰタイプの複雑さ、タイム・ウィンドウ内のＶＯＰ数、このタイム・ウィンドウに割り付けられたビット数、シーン変化などに基づいて各ＶＯＰに目標ビット数を割り当てる。ＭＰＥＧ−４では、ＱＰの変化がＭＢからＭＢ＋／−２までに制限されるので、ＶＯＰ当たりの適切な初期ＱＰが、この目標レートを満たすように計算される。これは、以下の式に従って実現される。
【００９６】
【数１】
2005526457.tif 000003
式中では、以下が定義される。
【００９７】
Ｒｏｌｄは、ＶＯＰ当たりのビット数である。
Ｔｎｅｗは、この目標ビット数である。
ｑｏｌｄは、古いＱＰである。
【００９８】
ｑｎｅｗは、新しいＱＰである。
このＱＰは、ＶＯＰ当たりの目標ビット数を満たすようにＭＢごとのベースで調整される。この出力ビットストリーム（新ビットストリーム１６２）を検査してターゲットＶＯＰビット割付けが満たされたかどうかを調べる。使用ビットがあまりにも多すぎる場合には、このＱＰを増大させる。使用ビットがあまりにも少なすぎる場合には、このＱＰを減少させる。
【００９９】
ＭＰＥＧ−４トランスコーダの性能を評価する際に、いくつかのテスト・ビデオ・シーケンスについてシミュレーションが実行される。すべてのシーケンスはＣＩＦフォーマット：３５２×２８８および４：２：０である。このテスト・シーケンスは、１Ｍビット／秒でＭＰＥＧ−４エンコーダを使用してまず符号化される。次いでこの圧縮されたビットストリームが、５００Ｋビット／秒における新しいビットストリームにトランスコードされる。比較の目的で、この同じシーケンスは、さらに５００Ｋビット／秒で直接に符号化
されるＭＰＥＧ−４を使用して符号化される。この結果が図１０のテーブルに提示されており、このテーブルは、５００Ｋビット／秒におけるダイレクトＭＰＥＧ−４とトランスコーダを使用したＣＩＦ解像度のシーケンスについてのＰＳＮＲを示している。この図から分かるように、ダイレクトＭＰＥＧ−４とトランスコーダによるＰＳＮＲの差は約２分の１のｄＢであり、バスについては０．２８ｄＢ、花については０．４９ｄＢ、自動車については０．５８ｄＢ、また嵐（ｔｅｍｐｅｔｅ）については０．３１ｄＢである。この品質損失は、このトランスコーダがビデオ信号を２回量子化しており、したがって追加の量子化ノイズが導入されることに起因している。
【０１００】
１例として、図１１は、平均ビット・レートに関するＰＳＮＲの観点でＶＢＲにおける、または固定のＱＰを用いたバス・シーケンスについてのトランスコーダの性能を示すものである。このダイアモンド線は、固定のＱＰ＝４、６、８、１０、１２、１４、１６、１８、２０および２２におけるダイレクトＭＰＥＧ−４である。次いでＱＰ＝４を用いた圧縮されたビットストリームが、ＱＰ＝６、８、１０、１２、１４、１６、１８、２０および２２においてトランスコードされる。低いレートでは、このトランスコードされた性能は、ダイレクトＭＰＥＧ−４に非常に近いが、高いレートでは約１ｄＢの差がある。カスケード符号化とトランスコーダの性能は、ほとんど同じである。しかし、このトランスコーダの実装は、このカスケード符号化に比べてずっと簡単である。
【０１０１】
本発明を様々な特定の実施形態に関して説明してきたが、特許請求の範囲に記載の本発明の趣旨および範囲を逸脱することなく、多数の適合化および変更をこれらに対して行うことが可能なことを当業者なら理解されよう。
【図面の簡単な説明】
【０１０２】
【図１】本発明による完備したビデオ・トランスコーダのブロック図。
【図２Ａ】本発明による典型的なＭＰＥＧ−４ビデオ・ストリームの構造図。
【図２Ｂ】本発明による典型的なＭＰＥＧ−４マクロブロック（ＭＢ）の構造図。
【図３】本発明による、符号化ＭＢからデータを抽出するための技術のブロック図。
【図４Ａ】本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。
【図４Ｂ】本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。
【図４Ｃ】本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。
【図４Ｄ】本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。
【図４Ｅ】本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。
【図４Ｆ】本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。
【図４Ｇ】本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。
【図５】本発明による、Ｉ−ＶＯＰについての再符号化モードを決定するための技術のフローチャート。
【図６】本発明による、Ｐ−ＶＯＰについての再符号化モードを決定するための技術のフローチャート。
【図７ａ】本発明による、Ｓ−ＶＯＰについての再符号化モードを決定するための技術のフローチャート。
【図７ｂ】本発明による、Ｓ−ＶＯＰについての再符号化モードを決定するための技術のフローチャート。
【図８ａ】本発明による、Ｂ−ＶＯＰについての再符号化モードを決定するための技術のフローチャート。
【図８ｂ】本発明による、Ｂ−ＶＯＰについての再符号化モードを決定するための技術のフローチャート。
【図９】本発明による完備したビデオ・トランスコーダのうちの再符号化部分のブロック図。
【図１０】ダイレクトＭＰＥＧ−４符号化と、カスケード式符号化と、本発明によるトランスコーディングとの間における１組の特定のビデオ・ソースについての信号対雑音比を比較したテーブル。
【図１１】ダイレクトＭＰＥＧ−４符号化と本発明によるトランスコーディングとの間の信号対雑音比を比較したグラフ。
【図１】
2005526457.tif 000004
【図２Ａ】
2005526457.tif 000005
【図２Ｂ】
2005526457.tif 000006
【図３】
2005526457.tif 000007
【図４Ａ】
2005526457.tif 000008
【図４Ｂ】
2005526457.tif 000009
【図４Ｃ】
2005526457.tif 000010
【図４Ｄ】
2005526457.tif 000011
【図４Ｅ】
2005526457.tif 000012
【図４Ｆ】
2005526457.tif 000013
【図４Ｇ】
2005526457.tif 000014
【図５】
2005526457.tif 000015
【図６】
2005526457.tif 000016
【図７ａ】
2005526457.tif 000017
【図７ｂ】
2005526457.tif 000018
【図８ａ】
2005526457.tif 000019
【図８ｂ】
2005526457.tif 000020
【図９】
2005526457.tif 000021
【図１０】
2005526457.tif 000022
【図１１】
2005526457.tif 000023
【国際調査報告】
2005526457.tif 000024
2005526457.tif 000025
2005526457.tif 000026
2005526457.tif 000027