(57)【要約】【課題】従来のトランスコーダが複雑で、実施に費用がかかり、柔軟でなく、遅延が多く、データ・レート能力と適合性が限定されており、資源を非常に必要とするという諸問題を1つ以上、単独でまたは任意に結合させて緩和、軽減、または除去すること。【解決手段】  本発明は、MPEG-2でデコード化されたデータ・ストリームなどの、可変長コード化されたデータ・ストリーム用のトランスコーダ (100) に関する。トランスコーダ (100) は、可変長コード化されたデータ・ストリームを受信する受信器 (101) を有する。受信器 (101) は、可変長コード化された係数が重要かまたはあまり重要でないかを決定する重要度プロセッサ (107) に接続される。トランスコーダは、元の重要な係数および切り捨てられたあまり重要でない係数から、トランスコード化されたデータ・ストリームを生成する、エンコード・プロセッサ (109) を更に有する。全てのプロセシングを可変長コード領域内だけで行うことにより、複雑度が低く高速なトランスコーダを提供する。
2006507745.tif 000002
【特許請求の範囲】
【請求項１】
可変長コード化されたデータ・ストリーム用のトランスコーダであって、
可変長コード化された係数を有する前記可変長コード化されたデータ・ストリームを受信するための受信器と、
可変長コード化された係数が、重要な係数かまたはあまり重要でない係数かを、重要度基準にしたがって決定するための重要度プロセッサと、
前記あまり重要でない係数を切り捨てるための切り捨てプロセッサと、
重要な係数と切り捨てられたあまり重要でない係数とを有するトランスコード化されたデータ・ストリームを生成するためのエンコード・プロセッサと、
を有するトランスコーダ。
【請求項２】
前記切り捨てが、前記あまり重要でない係数の値をゼロに設定することを含む、請求項1に記載のトランスコーダ。
【請求項３】
前記重要度基準が、可変長コード化された係数の値が閾値より上にあるか否かという基準を含む、請求項1に記載のトランスコーダ。
【請求項４】
前記重要度基準が、前記可変長コード化されたストリームによりエンコード化された信号に関連付けられた周波数パラメータに応じて決定される、請求項１に記載のトランスコーダ。
【請求項５】
前記可変長コード化された係数がラン長にコード化され、かつ、
前記重要度基準が、一連の可変長コード化された係数のラン長が閾値より上にあるか否かという基準を含む、
請求項１に記載のトランスコーダ。
【請求項６】
前記可変長コード化された係数のラン長がコード化され、かつ、
重要な係数のラン長の値が、あまり重要でない係数をゼロ値に切り捨てることにより生じ増加したゼロ係数を反映するように変更される、
請求項１に記載のトランスコーダ。
【請求項７】
前記可変長コード化されたデータ・ストリームのサブセットを前記エンコード・プロセッサに提供するためのサブセット・プロセッサを更に含み、かつ、
前記エンコード・プロセッサが、前記可変長コード化されたデータ・ストリームの前記サブセットを前記トランスコード化されたデータ・ストリームに直接含めるように動作可能な、
請求項１に記載のトランスコーダ。
【請求項８】
前記可変長コード化された前記サブセットが、前記可変長コード化されたストリームによりコード化された信号の低周波数パラメータに関連付けられた可変長コード化された係数を有する、請求項７に記載のトランスコーダ。
【請求項９】
前記可変長コード化された前記サブセットが、前記変数長コード化されたストリームによりコード化されたビデオ信号の運動補償パラメータに関連付けられた可変長コード化された係数を有する、請求項７に記載のトランスコーダ。
【請求項１０】
前記可変長コード化されたデータ・ストリームの前記サブセットが、制御データを有する、請求項７に記載のトランスコーダ。
【請求項１１】
前記可変長コード化されたデータ・ストリームの前記サブセットが、ヘッダ・データを有する、請求項７に記載のトランスコーダ。
【請求項１２】
前記切り捨てプロセッサが、前記重要な係数の値に対して削減動作を行うように更に動作可能な、請求項１に記載のトランスコーダ。
【請求項１３】
前記削減動作が、シフト動作である、請求項12に記載のトランスコーダ。
【請求項１４】
前記削減動作が、前記可変長コード化されたストリームによりエンコード化された信号に関連付けられた周波数パラメータに依存する、請求項12に記載のトランスコーダ。
【請求項１５】
前記削減動作が、少なくとも一つの可変長コード化された係数に関連付けられたラン長に依存する、請求項12に記載のトランスコーダ。
【請求項１６】
削減動作パラメータが、前記重要な係数の複数の係数値に依存する、請求項12に記載のトランスコーダ。
【請求項１７】
削減動作パラメータが、前記重要な係数の内の少なくとも1つに対して達成可能なワード長低減に依存する、請求項12に記載のトランスコーダ。
【請求項１８】
前記可変長コード化された係数が、圧縮されたビデオ信号の量子化された離散コサイン変換係数を有する、請求項１に記載のトランスコーダ。
【請求項１９】
前記エンコード・プロセッサが、前記トランスコード化されたデータ・ストリームをベース・レイヤとして有しかつ少なくとも一つの更なるエンハンスメント・レイヤを有するスケーラブルな信号データ・ストリームを生成するように動作可能な、請求項１に記載のトランスコーダ。
【請求項２０】
前記切り捨てプロセッサが、前記あまり重要でない係数の前記切り捨てに関連付けられた残余係数値を生成するように動作可能であり、かつ前記少なくとも一つの更なるエンハンスメント・レイヤが、前記残余係数値を少なくとも幾つか有する、請求項19に記載のトランスコーダ。
【請求項２１】
前記切り捨てプロセッサが、前記重要な係数に対してシフト動作を行い、かつ前記シフト動作に関連付けられた残余係数値を生成するように動作可能であり、かつ、
前記少なくとも一つの追加的なエンハンスメント・レイヤが、前記残余係数値を少なくとも幾つか有する、
請求項19に記載のトランスコーダ。
【請求項２２】
前記切り捨てプロセッサが更に、前記剰余係数値に対して第二シフト動作を行い、かつ第二残余係数値を生成するように動作可能であり、かつ、
前記エンコーディング・プロセッサが、前記第二残余係数値の少なくとも幾つかを、第二エンハンスメント・レイヤに含めるように動作可能な、
請求項21に記載のトランスコーダ。
【請求項２３】
可変長コード化された係数を有する可変長コード化されたデータ・ストリームを、前記信号から生成するための信号エンコーダと、
可変長コード化された係数が、重要な係数かまたはあまり重要でない係数かを、重要度基準にしたがって決定するための重要度プロセッサと、
前記あまり重要でない係数を切り捨て、かつ前記あまり重要でない係数の前記切り捨てに関連付けられた残余係数値を生成するための切り捨てプロセッサと、
重要な係数と切り捨てられたあまり重要でない係数とを有するベース・レイヤ、および前記残余係数値を少なくとも幾つか有するエンハンスメント・レイヤを有する、スケーラブルな信号データ・ストリームを生成するためのエンコード・プロセッサと、
を有する、信号をエンコードするためのエンコーダ。
【請求項２４】
スケーラブルなコンテンツ信号のデータ・ストリームをデコード化するためのデコーダであって、
重要な係数と切り捨てられたあまり重要でない係数とを有するベース・レイヤと、前記切り捨てられたあまり重要でない係数に関連付けられた残余係数値を有するエンハンスメント・レイヤとを有する、前記スケーラブルなコンテンツ信号のデータ・ストリームを受信するための受信器と、
前記ベース・レイヤの前記可変長コード化された係数と切り捨てられたあまり重要でない係数と、前記エンハンスメント・レイヤの前記残余係数値と、を結合することから結合されたデータ・ストリーム生成するための結合プロセッサと、
前記結合されたデータ・ストリームに応じてデコード化された信号生成するためのデコード・プロセッサと、
を有するデコーダ。
【請求項２５】
可変長コード化されたデータ・ストリームをデコード化するためのデコーダであって、
シフトされた係数値を持つ可変長コード化された係数を有する可変長コード化されたデータ・ストリームを受信するための受信器と、
シフトされた係数値を持つ前記可変長コード化された係数に対して逆シフト動作を行うことにより、シフト補償されたデータ・ストリームを生成するためのシフト・プロセッサと、
前記シフト補償されたデータ・ストリームに応じてデコード化された信号を生成するためのデコード・プロセッサと、
を有するデコーダ。
【請求項２６】
前記シフトされた係数値に関連付けられたシフト値パラメータを受信するためのシフト値受信器であって、前記逆シフト動作が、前記シフト値パラメータに応じて決定されるシフト値受信器を更に含む、請求項25に記載のデコーダ。
【請求項２７】
可変長コード化されたデータ・ストリームをトランスコードする方法であって、
可変長コード化された係数を有する前記可変長コード化されたデータ・ストリームを受信するステップと、
可変長コード化された係数が、重要な係数かまたはあまり重要でない係数かを、重要度基準にしたがって決定するステップと、
前記あまり重要でない係数を切り捨てるステップと、
重要な係数と、切り捨てられたあまり重要でない係数とを有する、トランスコード化されたデータ・ストリームを生成するステップと、
を含む方法。
【請求項２８】
請求項27に記載の方法を実行可能にするコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変長コード化されたデータ・ストリーム、および特に圧縮ビデオ・データ・ストリームをトランスコードするためのトランスコーダとトランスコーディング方法とに関する。
【背景技術】
【０００２】
ビデオ信号は、デジタル・ビデオ信号として放送および配信されることが益々多くなっている。データ・レートを低く維持するために、様々な形態のビデオ圧縮が通常用いられる。この結果、異なるビデオ圧縮規格が幾つも定められてきている。多用されている圧縮規格は、例えば、地上および衛星デジタルTV放送、DVD、ならびにデジタル・ビデオ・レコーダで用いられているMPEG-2 (Moving Picture Expert Group-2) 規格である。
【０００３】
MPEG-2ビデオ規格は、ビデオ品質とトレードオフされる、異なるデータ・レートおよびエンコーダとデコーダとの複合体を可能にする異なるレベルと側面を幾つも有する。
【０００４】
圧縮ビデオ・ストリームをソースから末端端末へ伝送している間には、デャネルの現在の容量またはデコーダの能力にしたがって、この圧縮ストリームのビットレートを調整することが頻繁に必要となる。このようなビットを減らした動作は通常、デコーディングとエンコーディングをカスケード状に動作させることを含むトランスコーダにより行われる。デコーディング部はビデオ・ストリームを完全に再構築して、このビデオ・ストリームを、低ビットレートの新たなストリームを生成するエンコーダにフィードする。
【０００５】
一般に、MPEGストリームのデコーディングとエンコーディングを独立して行うと、ビデオ品質が劣化してしまう場合がある。再エンコーディング時に行われる決定では、元のエンコーディングのパラメータが考慮されない。更に、エンコーダとデコーダ間でいくつかの要素を共有してもよいが、カスケード状に実施させることは、デコーダとエンコーダの両方の機能性を完全に実施させる必要があるので複雑となり費用がかかってしまう。
【０００６】
これに加えて、受信されたビデオ信号がピクセル領域または離散コサイン変換 (DCT) 領域にデコード化されるトランスコーダが開発されてきている。次に圧縮パラメータがこの領域で修正されて、ビデオ信号が再エンコードされる。しかしながらこの方法でもやはり、計算が集約的に行われる。更に、ピクセル領域またはDCT領域内で動作させることによる、トランスコード化されたビットレートに対する影響を、容易に確定または制御することができない。
【０００７】
近年、マルチメディア・ネットワークの人気は、急速に成長してきている。通常、特にこれらのネットワークは、圧縮ストリームでビデオ情報を伝送する。ほとんどの場合、マルチメディア・ネットワークは異種のものが混在しており、異なるタイプの有線チャネルまたは無線チャネルおよび異なる能力を有するデコーダのセットを有している。無線ネットワークの場合では通常、無線通信チャネルで最低限保証されるサービス品質のレベルが極めて低い。この結果、チャネル・バンド幅とチャネル品質の変動は通常スプリアスであり予測不可能となる。加えて、デコーダの異なる能力と要件の範囲が非常に大きくなってしまう場合がある。したがって、圧縮ストリームは、そのビットレートを現在のチャネル・バンド幅に迅速に適応できることが好ましい。加えて、チャネル特性の変化により、容認不可能なビデオ品質の劣化が生じてはならない。
【０００８】
したがって、1つの圧縮ビデオ・ストリームを、異なる機能性、能力、および要件を持つデコーダに伝送するためには、スケーラブルなコード化されたビデオ・ストリームが時折用いられる。このスケーラビリティにより、デコーダはビデオ・ストリームの一部を取り出して、そこから映像を完全にデコード化することが可能となる。こうしてスケーラビリティにより、デコーダは伝送されたストリームの一部を取り出して、品質つまり解像度が低減した映像をデコード化することが可能となる。非圧縮されたイメージの品質レベルは、ビデオ・ストリームがどの程度デコーダにより用いられるか、およびスケーラブルな圧縮ストリームがどのように組織化されるかに依存する。
【０００９】
スケーラビリティは概して、１対多数の通信、非リアルタイムのアプリケーションなど、エンコーダとデコーダ間の相互作用が制限されたり、または存在しない場合に有用である。MPEG-2またはMPEG-4のような現在のビデオコード化規格では、スケーラビリティは階層構造を介して実施され、エンコード化されたビデオ情報は、異なるレイヤに対応する2つ以上のビットストリームに分割される。受信されるレイヤが多い程、より良い品質またはより高い解像度がデコーディング時に達成可能となる。具体的には、品質は低くても、ビデオ信号を再生成させるために充分な情報を有するベース・レイヤが提供される。加えて、デコード化されたビデオ品質を上げるために使用可能な追加情報を有するエンハンスメント・レイヤが1つ以上提供される。
【００１０】
したがって、スケーラブルなストリームを提供することが望ましく、かつ特にスケーラブルなストリームを提供可能なトランスコーダが有利である。非スケーラブルなストリームからスケーラブルなストリームを提供できる現在のトランスコーダは通常、非スケーラブルなデコーダ全体とスケーラブルなエンコーダ全体とをカスケード状にすることにより実施される。残念なことに、このような方法は複雑で費用がかかり、ビットレートを速く柔軟に適合化することができない。
【００１１】
したがって現在のトランスコーダは最適状態には達しておらず、詳細にいえば複雑であり、実施に費用がかかり、柔軟性がなく、遅延が多く、データ・レート能力と適合性が限定されており、かつ資源を非常に必要とする傾向がある。したがって、トランスコーディング用の改良されたシステムが有利となるだろう。
【００１２】
【特許文献１】ISO/IEC, 国際規格13818-2, 勧告ITU-T H.262 情報技術‐動画および関連付けられたオーディオ情報の汎用コーディング：ビデオ、1995 (ISO/IEC, International Standard 13818-2, Recommendation ITU-T H.262 Information Technology - Generic Coding of Moving Picture and Associated Audio Information: Video, 1995)
【発明の開示】
【課題を解決するための手段】
【００１３】
したがって、本発明は上述した1つ以上の問題を、単独でまたは任意に結合させて緩和、軽減、または除去することを目的とする。
【００１４】
本発明の第一実施態様によると、
可変長コード化されたデータ・ストリーム用のトランスコーダであって、
可変長コード化された係数を有する前記可変長コード化されたデータ・ストリームを受信するための受信器と、
可変長コード化された係数が、重要な係数かまたはあまり重要でない係数かを、重要度基準にしたがって決定するための重要度プロセッサと、
前記あまり重要でない係数を切り捨てるための切り捨てプロセッサと、
重要な係数と切り捨てられたあまり重要でない係数とを有するトランスコード化されたデータ・ストリームを生成するためのエンコード・プロセッサと、
を有するトランスコーダ、
が提供される。
【００１５】
したがって、トランスコード化されたデータ・ストリームは、可変長コード領域内で行われる動作と判定に基づいて提供可能であり、具体的には、トランスコード化されたデータ・ストリームは、可変長コード領域内で行われる動作のみに基づいて生成可能である。これらの動作と判定は、可変長コード化されたデータ・ストリームに直接基づいて行うことができ、トランスコーダは、領域変換または（逆）量子化補正を少しも行わずに、トランスコード化されたデータ・ストリームを生成することができる。このことにより、トランスコーダの複雑度とコストを非常に低くすることができる。具体的には、単純なトランスコーダを得るために、メモリ空間およびメモリ・バンド幅の要件を非常に低くしてもよい。
【００１６】
更に、可変長コード領域内でのプロセシングにより、高速なトランスコーディングが可能となるので、トランスコーダをより高いビットレートのデータ・ストリームに適したものにすることができる。また、トランスコーディングにより生じる遅延を、低いまたは低減された状態に保つことができる。更にトランスコーダは、使用された可変長コード以外の他のコード化スキームに関する特定情報を持っていなくても、トランスコーディングを行えるようになる。具体的には、トランスコーダが可変長コードの可変長プロトコルに関する情報を持っている場合、異なる圧縮方式によりエンコード化された信号などの、異なる方法でエンコード化された信号を、同じトランスコーダでトランスコードすることができる。このことにより、圧縮規格から独立した単一（均一）なビットレート制御メカニズムが可能となる。
【００１７】
加えて本発明では、可変長コード領域内にはないプロセシング・ステップに関連するいかなる品質劣化もなくすことができるので、トランスコード化されたデータ・ストリームの品質を改善することができる。
【００１８】
本トランスコーダは、高いビットレートのデータ・ストリームを低いビットレートのデータ・ストリームにトランスコード化することに特に適している。可変長コード化されたデータ・ストリームは、圧縮されたデジタル・ビデオ信号ストリームであることが好ましい。したがって、広範なビデオ圧縮スキームにしたがって圧縮されたビデオ信号用の、非常に速いおよび／または複雑度が低いトランスコードを達成することができる。このトランスコーディングでは、非量子化も再量子化も不要であり、逆離散コサイン変換または順方向離散コサイン変換が全く必要とならないので、複雑度の低減、速度増加、および／または、ビデオ品質の改善が可能となる。
【００１９】
更に、例えば、可変長コード化されたデータ・ストリームをビット操作することにより、トランスコード化されたデータ・ストリームを直接達成できるので、データ・ストリームを非常に直接的にかつしたがって正確に制御することが可能となる。したがって、トランスコード化されたデータ・ストリームの可変長コード・ワードに対する影響が直接分かるようになる。従来のトランスコーディング・スキームとは対照的に、トランスコード化されたデータ・ストリームの特性を知り、この特性に影響を与えることを直接行えるので、例えば、トランスコード化されたデータ・ストリームのデータ・ビット制御により、ビットレートの低減を直接管理できるようになる。
【００２０】
受信器、重要度プロセッサ、切り捨てプロセッサ、およびエンコード・プロセッサは、分離した機能ユニットにしたり、または同じ機能ユニットまたはプロセスの異なる実施態様または機能としてもよい。具体的には、受信器、重要度プロセッサ、切り捨てプロセッサ、およびエンコード・プロセッサは、デジタル信号プロセッサなどの単一の適切なデータ・プロセッサ内のソフトウエア・プログラムとして実施してもよい。あまり重要でない係数の切り捨ては、具体的にはシフト動作により達成してもよい。
【００２１】
本発明の一特徴によると、前記切り捨ては、前記あまり重要でない係数の値をゼロに設定することを含んでいる。このあまり重要でない係数の切り捨ては、通常は可変長コード内でのワード長が最短であるゼロ値の係数に対して行うことが好ましい。これに代えて、またはこれに加えて、ゼロ係数は、トランスコードされる信号のデータ・レートをかなり低減可能にするラン長コーディングに特に適している。
【００２２】
本発明の一特徴によると、前記重要度基準は、可変長コード化された係数の値が閾値より上にあるか否かという基準を含んでいる。具体的には、可変長エンコード化された係数は、（MPEG-2でコード化されたデータ・ストリーム内のレベルなどの）値がこの閾値より上にある場合は、重要であるとみなしてよく、この閾値の下にこの値がある場合は、あまり重要でないとみなしてよい。したがって、係数の値が閾値の下にある場合は、可変長コード化された係数にしか切り捨てを行ってはならない。あまり重要でない係数だけを切り捨てることにより、あまり重要でない係数に対してしか情報が廃棄されないので、トランスコード化された信号の品質を改善することができる。閾値は、係数の重要度、およびトランスコーディングでのビットレート低減の程度を決定するための適切で複雑度が低い手段となる。
【００２３】
本発明の一特徴によると、前記重要度基準は、前記可変長コード化されたストリームによりエンコード化された信号に関連付けられた周波数パラメータに応じて決定される。ほとんどの信号では、情報が失われることにより生じる品質劣化は、この情報が幾つかの周波数レンジに関する場合、他よりも高くなる。例えば、ビデオ劣化は、低い空間周波数の係数エラーによる影響をより受け易い。したがって、係数に関連付けられた周波数パラメータに依存する係数を切り捨てることによって、デコード化される信号の品質は向上する。具体的には、MPEG-2で圧縮されたビデオ信号の場合、重要度の基準は、係数に関連付けられている空間周波数に応じて異なっていてもよい。例えば、低い周波数係数は重要であるとみなし、高い周波数係数はあまり重要でないとみなしてもよい。したがって、係数に対する重要度の基準は、離散コサイン変換ブロック内のどこにこの係数が位置しているかに依存する。
【００２４】
本発明の一特徴によると、前記可変長コード化された係数はラン長にコード化される。ラン長コーディングは、多数のゼロ係数を含んだデータ・ストリームを非常に効率的にコード化するので、トランスコーディングで行われる切り捨てに特に適している。
【００２５】
本発明の一特徴によると、前記重要度基準は、一連の可変長コード化された係数のラン長が閾値より上にあるか否かという基準を含んでいる。例えばMPEG-2でエンコード化されたビデオ信号などの多くの信号では、品質重要度が相対的により低くなるセクションで、ゼロ係数の集中度が増す傾向がある。したがって、ゼロ以外の係数に近接したゼロ係数の数を考慮に入れた重要度基準は、多くの信号にとって有利な重要度基準を提供する。このシーケンスには、具体的には、単一の可変長コード化された係数を含めてもよい。
【００２６】
本発明の一特徴によると、重要な係数のラン長の値は、あまり重要でない係数をゼロ値に切り捨てることにより生じた増加したゼロ係数を反映するように変更される。
【００２７】
重要な係数のラン長の値は、あまり重要でない係数をゼロ値に切り捨てることにより生じた、数が増加した前のゼロ係数を反映するように変更することが好ましい。切り捨てられたあまり重要でない係数の数に関する情報を、重要な係数のラン長情報に含めるだけで、エンコード化されたデータ・ストリームの非常に効率的なトランスコーディングを達成することができる。
【００２８】
本発明の一特徴によると、トランスコーダは、前記可変長コード化されたデータ・ストリームのサブセットを前記エンコード・プロセッサに提供するためのサブセット・プロセッサを更に更に含んでおり、かつ、
前記エンコード・プロセッサは、前記可変長コード化されたデータ・ストリームの前記サブセットを前記トランスコード化されたデータ・ストリームに直接含めるように動作可能である。
【００２９】
可変長コード化されたデータ・ストリームの幾つかのデータを、トランスコード化されたデータ・ストリーム内に直接含めることが好ましい。このことにより、トランスコーディングの複雑度を低減させて速度を上げることが可能となる。なぜならば、可変長コード化されたデータ・ストリームのサブセットだけをプロセスすればいいからである。更に、品質インパクトが高い幾つかのデータを、トランスコーディングによる影響を受けることなく、トランスコード化されたデータ・ストリームに確実に移動できるようになる。
【００３０】
本発明の一特徴によると、前記可変長コード化された前記サブセットは、前記可変長コード化されたストリームによりコード化された信号の低周波数パラメータに関連付けられた可変長コード化された係数を有する。
【００３１】
圧縮ビデオ信号などの多くの信号では、高周波数よりも低周波数に関連付けられているデータの方が、データエラーに対する品質感度が高い。したがって、信号の低周波数パラメータに関連付けられた可変長コード化された係数を、トランスコード化されたデータ・ストリームに直接含めることにより、品質を改善することができる。このことにより更に、より速いおよび／または複雑度がより低いトランスコーディングが可能になる。
【００３２】
本発明の一特徴によると、前記可変長コード化された前記サブセットは、前記変数長コード化されたストリームによりコード化されたビデオ信号の運動補償パラメータに関連付けられた可変長コード化された係数を有する。運動評価パラメータなどのどの運動補償パラメータでも、トランスコード化されたデータ・ストリーム内に直接含めることができると有利である。
【００３３】
本発明の一特徴によると、前記可変長コード化されたデータ・ストリームの前記サブセットは、制御データを有する。可変長コード化されたデータ・ストリームのどの制御データでも、トランスコード化されたデータ・ストリームに直接含めることができると有利である。
【００３４】
本発明の一特徴によると、前記可変長コード化されたデータ・ストリームの前記サブセットは、ヘッダ・データを有する。可変長コード化されたデータ・ストリームのどのヘッダ・データでも、トランスコード化されたデータ・ストリームに直接含めることにより、可変長コード化されたデータ・ストリームに整合したフォーマットを、トランスコード化されたデータ・ストリームが持つことができれば有利である。
【００３５】
本発明の一特徴によると、前記切り捨てプロセッサは更に、前記重要な係数の値に対して削減動作を行うように動作可能である。この削減は、MPEG-2で圧縮された信号に対する可変長コード・レベルなどの係数値によるものであることが好ましい。この削減動作により、重要な係数の少なくとも幾つかの値のワード長がより短くなることが好ましい。
【００３６】
本発明の一特徴によると、前記削減動作はシフト動作である。トランスコード化されたデータ・ストリームの受信器でシフト値が既知ならば、情報を失わずに元の値を再生成することができる。したがってこのシフト動作は、高い係数値の情報を失わずに、トランスコード化されたデータ・ストリームのデータ・レートを低減させることができる。
【００３７】
本発明の一特徴によると、前記削減動作は、前記可変長コード化されたストリームによりエンコード化された信号に関連付けられた周波数パラメータに依存する。
【００３８】
可変長コード係数値が低い場合、削減動作により情報が失われ（または切り捨てられ）てしまう場合があるので、削減動作は、典型的な係数値または変動に応じて変動させることが好ましい。これに代えてまたはこれに加えて、この削減動作を、情報特性が失われることによる品質インパクトに応じて変動させることができる。これらの特性は通常、削減動作が行われる可変長コード係数に関連付けられた周波数に関するものである。したがって削減動作のパラメータは、関連付けられている周波数パラメータに応じて、異なる係数に合わせて変動できると有利である。具体的には、MPEG-2でエンコード化されたデータ・ストリームの場合、離散コサイン変換ブロック内の係数の位置に依存させて削減を行ってもよい。
【００３９】
本発明の一特徴によると、前記削減動作は、少なくとも一つの可変長コード化された係数に関連付けられたラン長に依存する。このことにより例えば、（長いシーケンスのゼロの中央に位置する）スプリアスな係数を、（ゼロの数がより少ない）重要なゾーン内の係数よりも削減させることができる。
【００４０】
本発明の一特徴によると、削減動作パラメータは、前記重要な係数の複数の係数値に依存する。シフト動作のシフト値などの削減動作の少なくとも一つのパラメータを、可変長コード化されたデータ・ストリームの少なくとも１つのサブセットの係数値に合わせて最適化することが好ましい。具体的には、このサブセット内の係数値の現在の分布に対するシフト動作により適切なデータ低減が達成されるように、シフト動作のパラメータを選択してもよい。
【００４１】
本発明の一特徴によると、削減動作パラメータは、前記重要な係数の内の少なくとも1つに対して達成可能なワード長低減に依存する。できるだけ多くの重要な係数に対してワード長の低減が達成されるにも関わらず、所望の情報レベルかつしたがって品質レベルが保持されるように、この削減動作パラメータを選択することが好ましい。
【００４２】
本発明の一特徴によると、前記エンコード・プロセッサは、前記トランスコード化されたデータ・ストリームをベース・レイヤとして有しかつ少なくとも一つの更なるエンハンスメント・レイヤを有するスケーラブルな信号データ・ストリームを生成するように動作可能である。
【００４３】
したがって、品質が低減した信号を導出可能なベース・レイヤを有する、トランスコード化されたスケーラブルな信号データ・ストリームを提供することができる。この信号は、この少なくとも一つのエンハンスメント・レイヤの更なる情報を含めることにより、更に改良してもよい。したがって、本トランスコーダは、トランスコード化されたデータ・ストリームからベース・レイヤを生成することが好ましい。ベース・レイヤは、可変長コード化されたデータ・ストリームの信号を、低減したが許容可能な品質で表現したものを、低減したデータ・レートで提供できることが好ましい。デコーダは、（トランスコード化されたデータ・ストリームを含む）ベース・レイヤだけに基づいて許容可能な信号を生成したり、またはオプションでエンハンスメント・レイヤの更なる情報を利用して品質を改善してもよい。このことにより、異なるタイプのデコーダ、および様々な特性を有する配信媒体と共にトランスコーダを使用することが可能となる。
【００４４】
本発明の一特徴によると、前記切り捨てプロセッサは、前記あまり重要でない係数の前記切り捨てに関連付けられた残余係数値を生成するように動作可能であり、かつ前記少なくとも一つの更なるエンハンスメント・レイヤは、前記残余係数値を少なくとも幾つか有する。
【００４５】
切り捨てプロセッサの切り捨てにより失われた情報は、残余係数内に含めることが好ましい。したがって、この少なくとも一つの更なるエンハンスメント・レイヤは、切り捨てプロセス時に失われた情報を含んでいることが好ましい。このことにより、デコーダはオプションでエンハンスメント・レイヤを用いて、トランスコード化されたデータ・ストリームの品質が、可変長コード化されたデータ・ストリームに対して失われてしまうことを阻止できるようになる。
【００４６】
本発明の一特徴によると、前記切り捨てプロセッサは、前記重要な係数に対してシフト動作を行い、かつ前記シフト動作に関連付けられた残余係数値を生成するように動作可能であり、かつ前記少なくとも一つの追加的なエンハンスメント・レイヤは、前記残余係数値を少なくとも幾つか有する。
【００４７】
切り捨てプロセッサのシフト動作により失われた情報は、残余係数内に含めることが好ましい。したがって、この少なくとも一つの更なるエンハンスメント・レイヤは、シフト動作の間に失われた情報を含んでいることが好ましい。このことにより、デコーダはオプションでエンハンスメント・レイヤを用いて、トランスコード化されたデータ・ストリームの品質が、可変長コード化されたデータ・ストリームに対して失われてしまうことを阻止できるようになる。
【００４８】
本発明の一特徴によると、前記切り捨てプロセッサは更に、前記剰余係数値に対して第二シフト動作を行い、かつ第二残余係数値を生成するように動作可能であり、かつ前記エンコーディング・プロセッサは、前記第二残余係数値の少なくとも幾つかを、第二エンハンスメント・レイヤに含めるように動作可能である。
【００４９】
残余係数値は更に、シフト動作により異なるレベルに分割することが好ましい。情報を更に細分化したものは各々、更なるエンハンスメント・レイヤに含められる。このことにより、デコーダが利用可能な品質レベルでの粒状度を増加させることが可能となる。
【００５０】
本発明の第二実施態様によると、
可変長コード化された係数を有する可変長コード化されたデータ・ストリームを、前記信号から生成するための信号エンコーダと、
可変長コード化された係数が、重要な係数かまたはあまり重要でない係数かを、重要度基準にしたがって決定するための重要度プロセッサと、
前記あまり重要でない係数を切り捨て、かつ前記あまり重要でない係数の前記切り捨てに関連付けられた残余係数値を生成するための切り捨てプロセッサと、
重要な係数と切り捨てられたあまり重要でない係数とを有するベース・レイヤ、および前記残余係数値を少なくとも幾つか有するエンハンスメント・レイヤを有する、スケーラブルな信号データ・ストリームを生成するためのエンコード・プロセッサと、
を有する、信号をエンコードするためのエンコーダ、
が提供される。
【００５１】
本発明の第三実施態様によると、
スケーラブルなコンテンツ信号のデータ・ストリームをデコード化するためのデコーダであって、
重要な係数と切り捨てられたあまり重要でない係数とを有するベース・レイヤと、前記切り捨てられたあまり重要でない係数に関連付けられた残余係数値を有するエンハンスメント・レイヤとを有する、前記スケーラブルなコンテンツ信号のデータ・ストリームを受信するための受信器と、
前記ベース・レイヤの前記可変長コード化された係数と切り捨てられたあまり重要でない係数と、前記エンハンスメント・レイヤの前記残余係数値と、を結合することから結合されたデータ・ストリーム生成するための結合プロセッサと、
前記結合されたデータ・ストリームに応じてデコード化された信号生成するためのデコード・プロセッサと、
を有するデコーダ、
が提供される。
【００５２】
本発明の第四実施態様によると、
可変長コード化されたデータ・ストリームをデコード化するためのデコーダであって、
シフトされた係数値を持つ可変長コード化された係数を有する可変長コード化されたデータ・ストリームを受信するための受信器と、
シフトされた係数値を持つ前記可変長コード化された係数に対して逆シフト動作を行うことにより、シフト補償されたデータ・ストリームを生成するためのシフト・プロセッサと、
前記シフト補償されたデータ・ストリームに応じてデコード化された信号を生成するためのデコード化するプロセッサと、
を有するデコーダ、
が提供される。
【００５３】
本発明の一特徴によると、前記デコーダは、前記シフトされた係数値に関連付けられたシフト値パラメータを受信するためのシフト値受信器であって、前記逆シフト動作が、前記シフト値パラメータに応じて決定されるシフト値受信器を更に含む。
【００５４】
本発明の第五実施態様によると、
可変長コード化されたデータ・ストリームをトランスコードする方法であって、
可変長コード化された係数を有する前記可変長コード化されたデータ・ストリームを受信するステップと、
可変長コード化された係数が、重要な係数かまたはあまり重要でない係数かを、重要度基準にしたがって決定するステップと、
前記あまり重要でない係数を切り捨てるステップと、
重要な係数と、切り捨てられたあまり重要でない係数とを有する、トランスコード化されたデータ・ストリームを生成するステップと、
を含む方法、
が提供される。
【００５５】
本発明のこれらの実施態様と他の実施態様は、以下に説明する実施例から明白となり、かつこれらの実施例を参照することにより解明されるであろう。
【発明を実施するための最良の形態】
【００５６】
図面を参照しながら、本発明の一実施例を単に例示的なものとして説明する。
【００５７】
以下の説明では、可変長エンコード化されたビデオ・データ・ストリーム用のトランスコーダと、特にMPEG-2でコード化されたビデオ・データ・ストリームとに適用可能な本発明の一実施例に焦点が当てられている。しかしながら、本発明はこの適用例に限定されるのではなく、他の多くの適用例、および例えばオーディオ・ストリームまたはマルチメディア・ストリームを含んだ可変長コード化されたデータ・ストリームにも適用可能であることが認識されるであろう。
【００５８】
図1は、本発明の実施例によるトランスコーダ100を表したものである。
【００５９】
トランスコーダ100は、好ましい実施例では、MPEG-2でエンコード化されたビデオ信号を外部ソース103から受信する受信器101を有する。
【００６０】
受信器101は、サブセット・プロセッサ105に接続されている。受信されたデータ・ストリームは、サブセット・プロセッサ105にフィードされる。サブセット・プロセッサ105は、受信されたデータ・ストリームを分析して、このデータを映像データと制御データに分割する。制御データは、ヘッダ情報と、ビデオ信号のイメージには直接関連していない他のデータとを有する。サブセット・プロセッサは、重要度プロセッサ107とエンコード・プロセッサ109とに接続されており、好ましい実施例の場合、制御データはエンコード・プロセッサ109に直接供給され、映像データは重要度プロセッサ107にフィードされる。
【００６１】
こうして重要度プロセッサ107には、可変長コード化されたビデオ・データのストリームがフィードされる。重要度プロセッサは、このデータを可変長コード領域内で分析して、可変長コード化された係数を重要な係数とあまり重要でない係数とに分割する。可変長コード化された係数が重要かまたはあまり重要でないかを決定するために、任意の適切な基準を用いてよいが、好ましい実施例の場合、係数は特定の閾値より上の係数値を持つ場合に、重要であるとみなされるだけである。
【００６２】
重要度プロセッサ107は、切り捨てプロセッサ111に接続されている。切り捨てプロセッサ111は、あまり重要でない係数が供給される切り捨て要素113を有する。切り捨て要素113は、このあまり重要でない係数に対して切り捨て動作を行う。この切り捨ては任意の適切な動作でよいが、可変長コード内の係数を表すために必要なビット数を減らすものが好ましい。このように、対応する切り捨てられない係数値と切り捨てられる係数値との参照テーブルに応じて係数を直接切り捨てることにより、切り捨てを行うことができる。あまり重要でない係数に対して行われるシフト動作により切り捨て動作をオプションで行ってもよく、かつ具体的にはこのような動作により、あまり重要でないビットをドロップさせてもよい。したがって、切り捨て動作はビット低減を達成することが好ましいが、情報が失われてしまう場合がある。
【００６３】
好ましい実施例では、あまり重要でない係数になるように決定されている全ての係数の値をゼロ値に設定することにより、切り捨てが達成される。ほとんどの可変長コード・スキームでは、ゼロ係数値が最少数のビットを表していることを要する。これに加えて、MPEG-2などのコーディング・スキームは、可変長コード・データのラン長コーディングを更に含んでおり、このことにより、連続したゼロ値を非常に効率的に表現する。したがって、係数値をゼロに設定することにより、ビットレートを非常に著しく減らすことができる。
【００６４】
切り捨てプロセッサ111が重要な係数に対していかなる動作も行わない実施例もある。しかしながら好ましい実施例では、切り捨てプロセッサ111は、重要な係数に対して削減動作を行う削減要素115を更に有している。この削減動作は、重要な係数に対して演算換算を行い、具体的にはこれらの係数に対してシフト動作を行う。具体的には、デコーダは逆シフト動作によって元の値を再生成することができるので、十分な値の係数を可変長コードで表現したものをシフト動作することにより、情報を失うことなく、ビットレートを低減させることができる。
【００６５】
切り捨てプロセッサ111はエンコード・プロセッサ109に接続され、エンコード・プロセッサ109には、切り捨てられたあまり重要でない係数、および（おそらく削減された）重要な係数がフィードされる。ラン長コーディングを更に含むMPEG-2信号の好ましい実施例の場合、重要な係数のラン長の値は、あまり重要でない係数の切り捨てられたゼロ係数の数を含むように変更され、かつ重要な係数とあまり重要でない係数との両方を有するデータ・ストリームは、エンコード・プロセッサ109にフィードされる。エンコード・プロセッサは、制御データ、重要な係数、および切り捨てられたあまり重要でない係数を結合して、トランスコード化されたデータ・ストリームにする。好ましい実施例では、受信されたMPEG-2信号はこのように再生成されるが、あまり重要でない係数はゼロ係数に取り替えられる。この結果、元のデータ・ストリームのビットレート低減が達成済みとなった。したがって、データ・ストリームのビットレートの低減は、可変長コード領域内での動作により完全に達成することができる。したがって、トランスコーダは、MPEG-2データ・ストリームなどのデータ・ストリーム用のトランスコーダに通常関連付けられる量子化／再量子化、順方向／逆離散コサイン変換、スキャニングなどを行う必要はない。
【００６６】
図1のデコーダの動作の更なる実施態様と詳細を以下に説明する。この説明では、具体的にはMPEG-2でデコード化された信号のトランスコーディングを主に述べる。
【００６７】
好ましい実施例では、サブセット・プロセッサ105は、受信されたデータ・ストリームを分析して、ブロック、マクロブロック・ヘッダ、および運動ベクトルに関する全てのデータを分割出力する。これらのデータは変更してはならないので、エンコード・プロセッサにフィードされて、トランスコード化されたデータ・ストリーム内に直接含められる。
【００６８】
残余データは、本技術分野で周知の可変長コードとラン長コーディングを用いてエンコード済みのDCT係数に対応する。具体的には、DCT係数は、MPEG規格「ISO/IEC, 国際規格13818-2, 勧告ITU-T H.262 情報技術‐動画および関連付けられたオーディオ情報の汎用コーディング：ビデオ、1995 (ISO/IEC, International Standard 13818-2, Recommendation ITU-T H.262 Information Technology - Generic Coding of Moving Picture and Associated Audio Information: Video, 1995)」の表B-14、B-15、およびB-16にしたがってエンコードされる。このスキームによると、ゼロでない係数は、(R, L) として与えられる値を可変長コーディングすることにより表される。ここでRは、前にあるゼロ値の係数の数に対応する係数のラン値であり、Lは、ゼロでない係数のレベルまたは値である。
【００６９】
重要度プロセッサ107では、量子化されたDCT係数は、重要な係数とあまり重要でない係数とに分割される。この分割に用いられる重要度基準は、別個の係数が閾値より上の値を持っているか否か、この係数に関連付けられている空間DCT周波数は何か、および（前にあるゼロ係数の量など）係数のラン長は何かなどの、別個の係数の様々な特性を考慮したものが好ましい。
【００７０】
具体的には、好ましい実施例では、係数は以下の状態を満たす場合、あまり重要でないとみなされる
2006507745.tif 000003
式中、Rは係数のラン値であり、nはジグザクにスキャンされたMPEG-2のDCTブロックの一次元マトリクス内の係数の位置であり、Lは係数のレベルとして知られている係数値であり、かつRt、Nt、およびLtは、切り捨て用の対応する閾値パラメータである。Rt、Nt、およびLtの値は、トランスコーダのパラメータと要件にしたがって変化させたり、特に所望のトランスコード化されたビットレートに応じて変化させることができる。
【００７１】
値Ltは、係数があまり重要でない係数として考慮されるための、係数の値またはレベルの最大閾値に対応する。したがって、Ltより高い全ての係数値は重要であるとみなされるので、切り捨てられることはない。このことにより、重要な周波数構成要素を有する全ての値は重要であるとみなされるので、ビデオ劣化は最小化される。
【００７２】
値Ntは、スキャンされたブロックの始めから幾つの係数を重要な係数として考慮して、かつしたがって切り捨ててはならないかを定める。これらのブロックのこれらの第一係数は、DC係数と低周波数のAC係数である。これらの係数は、ビデオ品質の最も重要な情報を表しており、これらを変化させると、再構築されるイメージが視覚的にかなり歪んでしまう。
【００７３】
条件 (1) を満たす全ての係数は、好ましい実施例ではゼロに切り捨てられる。この結果、情報が失われてしまうので、動作は損失の多いものになってしまう。ゼロ値に切り捨てることにより、これらの係数に対して可変長コードワードを作成させないことが好ましい。Rtの値は、あまり重要でない係数に先行すべき、ゼロの最小数を定める。ゼロの確率は、MPEG-2 DCTブロック（DCTブロックの右下角）の高周波領域内でより高くなるので、この要件により、DCTブロックのジグザグ・スキャニングの特質を効率的に利用して、低い値を用いて高周波係数を抑制することが可能となる。
【００７４】
前の係数がゼロに切り捨てられていて、現在の係数が条件 (1) を満たしていない場合、現在の係数の値 (L) は不変のままとなるが、そのラン長の値 (R) は (2) にしたがって更新される。
2006507745.tif 000004
ここで、
2006507745.tif 000005
は、現在の係数のラン・パラメータの新たな値であり、Ri-1 は、ゼロに切り捨てられた前のラン長の係数であり、かつ Ri は、現在のラン長係数のラン・パラメータの元の値である。したがって、重要な係数のラン長の値は、あまり重要でない係数をゼロに切り捨てることにより生じるゼロ係数の増加を反映するように変更することが好ましい。
【００７５】
前の係数が切り捨てられておらず、現在の係数が重要な（条件 (1) を満たさない）場合、RとLの値は不変のままとなる。このような現在の係数の可変長コードは、エンコード・プロセッサ109にフィードして、トランスコード化されたストリームに直接含めることができる。のように、あまり重要でない係数が前にある重要な係数だけを、可変長に再コード化する必要がある。他の重要な係数の可変長コードは、変化させずに複製可能である。このことにより、トランスコーディングの複雑度が低くなり、トランスコード化されたデータ・ストリームのビットレートが低減する。
【００７６】
好ましい実施例では、重要な係数に対して削減動作を行うことにより、トランスコード化されたビットレートを低減させることが好ましい。具体的には、現在の係数の値（具体的にはL値）はシフト動作によって低減する。シフティングとは、DCTブロック内の係数のL値から、あるパラメータSを減算する（減らす）ことであるとみなしてよい。
【００７７】
MPEG-2で用いられる可変長コードの一実施例は、以下の通りである。
2006507745.tif 000006
表1  （B-14 [ 5 ]から導出された）DCT係数の可変長コード表
【００７８】
表1によると、Lパラメータを3から1へシフトしてR=2を得ることにより、可変長コードワードが6ビットだけ減る。デコーディング側では、受信されたL値にシフト・パラメータを加えることによって、受信された係数のL値を1から3へシフトし戻さなければならない。したがって、シフトすることにより情報が余分に失われることはない。
【００７９】
具体的には、このシフト・プロセスには、所与のシフト・パラメータ値より低い値（レベル）を有する係数をドロップする（切り捨てる）ことを含めることが好ましい。Sが、所与のL値を切り換えるレベルの数を示すシフト値である場合、Lt = Sという対応する切り捨てレベルが効果的に達成される。したがって、あまり重要でない係数の切り捨て動作は、条件 (1) のLt = SとRt = 0に対応するシフト動作の一部として実施してよい。
【００８０】
シフト・パラメータS、および閾値LtとRtは、DCTブロック内の係数の位置、および／または、係数の値の分布に依存させてもよい。更にシフト因数Sは、(R, L) の対ごとに適合化させて決定してもよい。具体的には、Sは、係数位置に依存するシフト値が乗算された、DCTブロック全体に対して固定されたパラメータSbから決定してもよい。この位置に依存するシフト値は、シフト値マトリクスSm内に含めてもよい。
【００８１】
パラメータSbは、DCTブロックごとに一度定義して、ブロック内の最大L値、ブロックのタイプ、量子化マトリクスなどに依存させることが好ましい。シフト値マトリクスSmは、DCTブロック内の係数の位置に依存する異なるシフト値を提供する。別個の係数のビデオ品質への相対的なインパクトは、8×8 DCTブロック内の係数の位置に依存する。したがって、マトリクスSmが、係数の別個の重要度を反映することにより、係数の相対的な重要度に応じて、シフトまたは切り捨てを別個に行うことが可能となる。対応する空間周波数が右下角に向かって増加するにしたがって、シフト動作は、可変長コード化されたストリームによりエンコード化された信号に関連付けられた周波数パラメータに依存できるようになる。
【００８２】
DCTブロックのタイプまたは関連付けられた映像タイプが異なる場合、異なるシフト・マトリクスを割り当てることができる。概して、マトリクスSmの要素の値は、8×8 DCTブロックの左上角から右下角の方向へ増加して、主に高周波係数を低減し切り捨てる。図2は、シフト・マトリクス201の一例を例示したものである。具体的には、Smのエントリがゼロである、(R, L) の対の可変長コードワードは、再コード化されることなく、入来するデータ・ストリームから出て行くデータ・ストリームに複製される。
【００８３】
重要な係数をシフトせずに、あまり重要でない係数の切り捨てしか用いない一実施例では、マトリクスSmは具体的には、重要でない係数をドロップする（切り捨てる）ための閾値レベル（すなわち条件1のLt値）を定義することができる。
【００８４】
シフトの間、全ての重要な係数のL値は変化する。R値は、前の係数が切り捨てられている場合、(2) にしたがって更新しなければならない。トランスコーディング・プロセスの速さを上げるためには、n > Ntの係数しかシフトしてはならない。最初のn個の係数は、変化させずに複製することができる。通常、低周波係数は高いL値を持ち、かつ表1から分かるように、これらのことによって、可変長コードのサイズが著しく減らす傾向は得られない。したがって、幾つかの実施例では、係数の内の少なくとも1つに対して達成可能なワード長の低減に応じて、切り捨て動作および／または削減動作を行ってもよい。
【００８５】
シフトを用いて可変長コード領域内でDCT係数をトランスコードする特定アルゴリズムの一実施例は、以下の疑似コードによって提供される。
2006507745.tif 000007
【００８６】
このアルゴリズムの切り捨て部分が独立に実施可能な実施例もある。この場合、上記のコードは、Li = Li-Sという動作を飛ばして変化させなければならない。
好ましい実施例では、重要な係数を切り捨てること、およびあまり重要でない係数をシフトすることが両方行われる。適切なデコーダは、トランスコード化されたストリームをトランスコーダから受信する受信器を更に有する。これに加えて、この適切なデコーダは、係数値をシフトするために使用されるシフト値パラメータの値に関する情報を受信するシフト値受信器を有する。このシフト値パラメータは、シフトされた係数値に対して逆シフト動作を行うことによりシフト補償されたデータを生成するシフト・プロセッサに供給される。逆シフト動作は、受信されたシフト値パラメータにしたがって行われる。この結果得られるデータ・ストリームは、下にある信号をデコード化するデコード・プロセッサにフィードされる。具体的には、このデコード・プロセッサは、従来のMPEG-2デコード・プロセスを行ってもよい。
【００８７】
トランスコード化されたデータ・ストリームをベース・レイヤとして有し、かつ更なるエンハンスメント・レイヤを少なくとも1つ有するスケーラブルな信号データ・ストリームを生成するようにエンコード・プロセッサ109が動作可能な実施例もある。したがって、そのような一実施例では、トランスコード化されたデータ・ストリームはベース・レイヤとして実施され、あまり重要でない係数の切り捨て動作時に失われた情報の一部または全てを有するエンハンスメント・レイヤが少なくとも一つ生成される。
【００８８】
図3は、本発明の一実施例にしたがってスケーラブルなデータ・ストリームを生成するためのトランスコーダを表したものである。このトランスコーダは、スケーラブルな信号を生成するように動作可能なエンコード・プロセッサ109を有する図1のトランスコーダに対応している。
【００８９】
このトランスコーダは、エンコード・プロセッサ109に接続されたサブセット・プロセッサ105と、前述した切り捨てプロセッサ111とを有する。エンコード・プロセッサ109は、トランスコード化されたストリームを前の説明にしたがって生成するベース・レイヤ・エンコード・プロセッサ301を有する。トランスコード化されたストリームは、ベース・レイヤとして出力される。
【００９０】
説明した実施例では、切り捨てプロセッサ111は、切り捨て動作および／または削減動作時に失われたどの情報も廃棄しない。そうではなく、この情報は、エンコード・プロセッサ109の第一エンハンスメント・レイヤ・プロセッサ303にフィードされる。具体的には、切り捨てプロセッサ111の動作から残された残余する切り捨て値および／またはシフト値は、第一エンハンスメント・レイヤ・プロセッサ303にフィードされる。第一エンハンスメント・レイヤ・プロセッサ303は、第一エンハンスメント・レイヤ・エンコード・プロセッサ305に接続されている。一実施例の場合、これらの残余係数値は、第一エンハンスメント・レイヤ・エンコード・プロセッサ305により第一エンハンスメント・レイヤとしてエンコードされるだけである。
【００９１】
しかしながら、説明した実施例の場合、第一エンハンスメント・レイヤ・プロセッサ303は更なる切り捨てを行い、具体的には残余係数に対してシフト動作を行う。このことにより残余係数は、重要度がより高いビットと重要度がより低いビットとに更に分割される。重要度がより高いビットは、第一エンハンスメント・レイヤ・エンコード・プロセッサ305にフィードされる。エンコード・プロセッサ305は、これらのビットを結合してデータ・ストリームにして、第一エンハンスメント・レイヤとして出力する。
【００９２】
したがって最下位ビットは、第二エンハンスメント・レイヤ・プロセッサ307にフィードされる、残余値の第二の組に対応する。この第二エンハンスメント・レイヤ・プロセッサ307が、第二エンハンスメント・レイヤ・エンコード・プロセッサ309に第二残余係数値をフィードすると、エンコード・プロセッサ309は、第二残余係数値から第二エンハンスメント・レイヤを生成する。
【００９３】
したがって、トランスコーダはベース・レイヤを、ビットレートが低減したデータ・ストリームとして生成する。このベース・レイヤは、下にある信号を、低減した品質レベルではあるがデコード化するために必要な全ての情報を有する。トランスコーディングで失われた情報の一部または全ては、1つ以上の更なるエンハンスメント・レイヤに提供される。この更なるエンハンスメント・レイヤをオプションで使用して、デコード化された品質レベルを向上させることができる。
【００９４】
スケーラブルなトランスコーダの一実施例の場合、係数の切り捨てと削減は、係数の値（L値）を所与のシフト値だけシフトすることにより行われる。この場合、重要な係数は、このシフト後にゼロ以外の値を持つ係数として自動的に決定される。
【００９５】
この実施例では、外へシフトされたレベルは、次のエンハンスメント・レイヤ・プロセッサにフィードされる。このエンハンスメント・レイヤ・プロセッサは、シフト動作も行う。このシフト後にゼロ以外の値を持つ係数は、次のエンハンスメント・レイヤとしてエンコードされる。このプロセスを後のエンハンスメント・レイヤ・プロセッサ内で繰り返すことにより、複数のエンハンスメント・レイヤを容易に生成することができる。
【００９６】
したがって係数は、そのL値がシフト・パラメータより大きい場合には重要であるとみなされ、そのL値がシフト・パラメータより小さい場合には、あまり重要でないとみなされる。シフト・パラメータの値は、エンハンスメント・レイヤの数と、ベース・レイヤのサイズを定める。シフト・パラメータの値が、エンハンスメント・レイヤを幾つも生成できる程に十分高い場合、各レイヤは異なる優先度を持つであろう。エンハンスメント・レイヤ内に位置するあまり重要でない係数のL値が高くなる程、このレイヤの優先度は高くなる。
【００９７】
シフト時には、全ての重要な係数のL値が変化する。新たなL' 値は、元のL値からシフト・パラメータを減算することにより決定される。つまり、L' = L - Sとなる。ここでSは、シフト・パラメータである。
【００９８】
重要な係数のR値は、前の係数が重要でなく、エンハンスメント・レイヤに割り当てられている場合にしか、変化させてはならない。
【００９９】
現在の係数があまり重要でない場合、この係数をエンハンスメント・レイヤ内に割り当てる必要がある。エンハンスメント・レイヤを幾つも同時に生成することができる。あまり重要でない係数を、どのエンハンスメント・レイヤに割り当てるべきかを定めるためには、（エンハンスメント・レイヤ・プロセッサ内で）そのL値を、徐々に減少するシフト・パラメータの値と比較する。あまり重要でない係数のR値は、新たな場所と、前の係数のR値とにしたがって再定義される。このようにして、各エンハンスメント・レイヤは、別々にかつ平行にエンコードされる。このことにより、高速なトランスコーディングが可能となるので、データ・レートを高くすることおよび／または遅延を低減することができる。
【０１００】
受信側の可変長デコーダは、レイヤのデコード化を独立して行ったり並行して行うか、または受信されたレイヤから完全なストリームを可変長領域内で最初に再構成してから、1つのストリームをデコード化することができる。
【０１０１】
可変長コード領域内でDCT係数をトランスコードして、階層状のエンハンス情報を生成させる特定アルゴリズムの一例は、以下の疑似コードにより提供される。
2006507745.tif 000008
【０１０２】
このアルゴリズムの場合、vはエンハンスメント・レイヤの数であり、v=1は、優先度が（ベース・レイヤの次に）高いエンハンスメント・レイヤを定義している。Kvは、エンハンスメント・レイヤv内で最後にコード化される係数の数である。このプロセスは、「ブロックの最後」(e.o.b.) というコードが入来ストリームから受信されるまで実行される。
【０１０３】
通常、エンハンスメント・レイヤ内の全ての係数の全てのR値は、ベース・レイヤ内の係数の幾つかと同様に変更される。係数の新たなR値は、現在の係数と、現在のレイヤ内の最後に位置する係数との間の、入来するストリーム内に位置する係数の元のR値の合計として定められる。
【０１０４】
シフト・パラメータSは、ビットレート・トランスコーディング・データ・レートの低減比率に応じて決定してよい。入来ストリームのビットレートとトランスコード化されたストリームのビットレートとの差が大きい程、シフト・パラメータSの値は高くなる。S値は、具体的にはベース・レイヤのストリームの始めに伝送してよい。
【０１０５】
一実施例の場合、エンコーダは、可変長コード化されたデータ・ストリームを信号から生成するための信号エンコーダと、信号エンコーダからのデータ・ストリームをスケーラブルなデータ・ストリームに変換する上述したトランスコーダとを有する。
【０１０６】
デコーダは、上記のプロセスにより生成されたスケーラブルなデータ・ストリームに対して実施してよい。一実施例の場合、デコーダは、スケーラブルなコンテンツ信号のデータ・ストリームを受信するための受信器を有する。この受信器は、異なるレイヤの係数を結合させることにより結合されたデータ・ストリームを生成する結合プロセッサに接続される。この結合プロセッサは更に、結合されたデータ・ストリームからデコード化された信号を生成するデコード・プロセッサに接続される。
【０１０７】
このデコーダは具体的には、可変長デコーディングをレイヤ毎に別々に（および／または並行して）行ってから、異なるレイヤのデコード化されたDCT係数から、完全なDCTブロック係数の単一ストリームを生成してもよい。
【０１０８】
これに代えて、単一ストリームを可変長領域内でデコード化してもよい。この実施例では、係数の対 (R, L) が、異なるレイヤから、単一の完全なストリーム内の正確な位置へ挿入される。
【０１０９】
本発明は、ハードウエア、ソフトウエア、ファームウエア、またはこれらの任意の結合体などの任意の適切な形態で実施可能である。しかしながら、本発明は、1つ以上のデータ・プロセッサおよび／またはデジタル信号プロセッサ上で走るコンピュータ・ソフトウエアとして実施させることが好ましい。本発明の一実施例の要素と構成要素は、任意の適切な方法で物理的、機能的、かつ論理的に実施してよい。実際にこれらの機能を、単一のユニット、複数のユニット、または他の機能ユニットの一部として実施させてよい。したがって、本発明を単一のユニットで実施したり、または異なるユニットとプロセッサ間に物理的かつ機能的に分布させてもよい。
【０１１０】
本発明を、好ましい実施例に関連付けて説明してきたが、本願明細書で説明してきた特定の形態に本発明を限定することを目的としているわけではない。そうではなく本発明の範囲を限定するものは、添付の請求の範囲だけである。請求項に含まれている用語によって、他の要素またはステップの存在が除外されるわけではない。更に、複数の手段、要素、または方法ステップが個別に列挙されているが、例えば単一のユニットまたはプロセッサにより実施してもよい。加えて、異なる請求項に個別の特性を含めてもよいが、これらの特性を結合させるとおそらく有利である。また、異なる請求項に個別の特性を含めることは、特性を結合させることができないことおよび／または有利でないことを示唆するわけではない。これに加えて、単数形で述べられている事柄の複数形が除外されるわけではない。したがって、「１つの」、「第一の」、「第二の」などと述べられている事柄の複数性が排除されるわけではない。
【図面の簡単な説明】
【０１１１】
【図１】本発明の一実施例によるトランスコーダを例示する。
【図２】本発明の一実施例によるシフト動作用のシフト・マトリクスの一実施例を例示する。
【図３】本発明の一実施例にしたがってスケーラブルなデータ・ストリームを生成するためのトランスコード・プロセッサを例示する。
【符号の説明】
【０１１２】
100…トランスコーダ
101…受信器
107…重要度プロセッサ
111…切り捨てプロセッサ
109…エンコード・プロセッサ
105…サブセット・プロセッサ
201…シフト・マトリクス
113…切り捨て要素
301…エンコード・プロセッサ
303…第一エンハンスメント・レイヤ・プロセッサ
305…第一エンハンスメント・レイヤ・エンコード・プロセッサ
307…第二エンハンスメント・レイヤ・プロセッサ
309…第二エンハンスメント・レイヤ・エンコード・プロセッサ
【図１】
2006507745.tif 000009
【図２】
2006507745.tif 000010
【図３】
2006507745.tif 000011
【国際調査報告】
2006507745.tif 000012
2006507745.tif 000013
2006507745.tif 000014