以下、添付された図面を参照して本発明の実施形態を詳細に説明する。
図4は、多重階層コーディング方式で向上階層フレームコーディングでの参照関係を示す図面である。
向上階層の現在フレーム(フレームN)をインターコーディングする時に参照するフレームは、向上階層の以前フレーム(フレームN−1)または次のフレーム(フレームN+1)となりうる。以前フレームを参照することを逆方向予測といい、次のフレームを参照することを順方向予測という。一方、以前フレームのあるブロックと以後フレームのあるブロックとを平均したブロックを参照できるが、これを双方向予測という。多重階層コーディングで向上階層フレームをコーディングする時に基礎階層フレームを参照できるが、基礎階層フレームを参照することを階層間予測という。
階層間予測は、基礎階層の現在フレームを参照して向上階層の現在フレームをコーディングするが、参照フレームは、基礎階層の現在フレームをアップサンプリングあるいはダウンサンプリングして向上階層と解像度とを同一にしたフレームである。例えば、図4に示したように、基礎階層の解像度が向上階層の解像度より低い場合に、基礎階層のフレームはアップサンプリングされ、アップサンプリングされたフレームを参照して向上階層の現在フレームをインターコーディングする。基礎階層の解像度が向上階層の解像度より高い場合に、基礎階層のフレームはダウンサンプリングされ、ダウンサンプリングされたフレームを参照して向上階層の現在フレームをインターコーディングできる。
向上階層のフレームをインターコーディングする時、前述した順方向予測、逆方向予測、双方向予測、及び階層間予測のうちいずれか一つのみを選択してフレームのあらゆるブロックをコーディングしてもよいが、フレームのブロック別に異なる予測を使用してコーディングしてもよい。一方、予測方式で加重値が含まれた双方向予測やイントラブロック予測などが使われてもよい。予測方式は、予測方式によるコーディングされたデータ量と予測に使われた動きベクトルのデータ量などを含むコストを基準に選択でき、その他に演算の複雑度などが考慮されることもある。
向上階層のフレームは、基礎階層を参照して階層間予測を通じてコーディングされてもよいが、他の向上階層のフレームを参照して階層間予測を通じてコーディングされてもよい。例えば、基礎階層のフレームを参照して、第1向上階層のフレームをコーディングでき、第1向上階層のフレームを参照して、第2向上階層のフレームをコーディングできる。一方、階層間予測方式でコーディングしても、向上階層のあらゆるフレームが他の階層(基礎階層または参照される他の向上階層)のフレームを参照してもよく、一部フレームのみ参照してもよい。特に、参照される階層のフレームレートが現在コーディングされる向上階層のフレームレートより少ない場合には、向上階層の一部フレームはフレーム間予測ではない他の予測方式でコーディングされる。
本発明の実施形態では、多様な解像度及びフレームレートをサイマルキャストコーディング方式または多重階層コーディング方式を使用して達成するが、全部または一部階層を、スケーラブルビデオコーディング方式を使用することによってさらに多様な解像度及びフレームレートを持つビデオストリーミングサービスを可能にする。
図5ないし図14は、本発明の実施形態によるビデオストリーミングのためのコーディング方式を説明する図面である。実施形態は、3個あるいは4個の階層を持つと説明しているが、これは例示的なものであって、2個の階層または5個以上の階層を持つ実施形態も本発明の技術的思想に含まれると解釈せねばならない。第1実施形態ないし第10実施形態で、下層は低い解像度の階層を意味し、上層は高い解像度の階層を意味する。点線からなる矢印は階層間参照を意味し、実線からなる矢印はある階層のコーディングされたビデオから得られる解像度、フレームレートまたは伝送率を異ならせるビデオを意味する。
第1実施形態は、3個の階層を持つ多重階層ビデオコーディング方式の例を示す。第1実施形態であらゆる階層のビデオは、スケーラブルビデオコーディング方式でコーディングされる。すなわち、基礎階層のビデオをスケーラブルビデオコーディング方式でコーディングし、第1向上階層のビデオを、基礎階層のフレームを参照してスケーラブルビデオコーディング方式でコーディングし、第2向上階層のビデオを、第1向上階層のフレームを参照してスケーラブルビデオコーディング方式でコーディングする。
ユーザから705×576解像度を要請されれば、ストリーミングサービス提供者は、第2向上階層でコーディングされたビデオだけでなく第1向上階層及び基礎階層でコーディングされたビデオも共にユーザに伝送する。ユーザから要請されたフレームレートが60Hzである場合には、第2向上階層と第1向上階層及び基礎階層のコーディングされたあらゆるフレームを伝送するが、要請されたフレームレートが30Hzまたは15Hzである場合には、コーディングされたフレームのうち必要な部分のみ切断してユーザに伝送する。ユーザは、伝送されたコーディングされたフレームを利用して基礎階層のビデオを再構成し、再構成された基礎階層のビデオを参照して第1向上階層のビデオを再構成し、再構成された第1向上階層のビデオを参照して705×576解像度を持つ第2向上階層のビデオを再構成する。
ユーザから352×288解像度のビデオを要請されれば、ストリーミングサービス提供者は、第1向上階層及び基礎階層でコーディングされたビデオをユーザに伝送する。ユーザから要請されたフレームレートが30Hzである場合には、第1向上階層及び基礎階層のコーディングされたあらゆるフレームを伝送するが、要請されたフレームレートが15Hzである場合には、コーディングされたフレームのうち必要な部分のみ切断してユーザに伝送する。ユーザは、基礎階層のビデオを再構成し、再構成された基礎階層のビデオを参照して352×288解像度を持つ第1向上階層のビデオを再構成する。
ユーザから176X155解像度のビデオを要請されれば、ストリーミングサービス提供者は、基礎階層のコーディングされたビデオをユーザに伝送する。ユーザが128kbpsのビットストリーム伝送を選択すれば、コーディングされたフレームをそのままユーザに伝送するが、64kbpsのビットストリーム伝送を選択すれば、コーディングされたフレームから一部のビットを除去してユーザに伝送する。ユーザは、基礎階層のビデオを再構成する。
第2実施形態は、いずれか一階層をノン・スケーラブルコーディング方式でコーディングした例を示す。
H.264あるいはMPEG−4の場合にも、図1ないし図3の方式によって制限的な空間的スケーラビリティを持つビデオコーディングを行え、国際特許出願PCT/US2000/09584に開示されたように、制限的な時間的スケーラビリティを持つビデオコーディングを行うこともできる。しかし、H.264あるいはMPEG−4では制限的なスケーラビリティを提供し、空間的、時間的及びSNRスケーラビリティを十分に提供できない。したがって、本発明の実施形態では、ウェーブレット基盤のスケーラブルビデオコーディング方式を基本アルゴリズムとして使用する。しかし、現在まで知られたスケーラブルコーディング方式は、空間的スケーラビリティと時間的スケーラビリティ及びSNRスケーラビリティ特性をいずれも持っているが、コーディング効率において、H.264あるいはMPEG−4より劣る。したがって、第2実施形態のようにコーディング効率を高めるために、一部階層をノン・スケーラブルH.264またはMPEG−4方式でコーディングしてもよい。
図4の実施形態は、最も低い解像度の基礎階層をH.264またはMPEG−4のようなノン・スケーラブルコーディング方式を使用してコーディングした場合である。ノン・スケーラブル階層は、第1向上階層または第2向上階層にもなりうるが、最も低い基礎階層にした理由は、最も低い解像度の場合にスケーラブル性質を持たなくてもよいためである。すなわち、本実施形態は、伝送速度が64kbps(最も低い伝送速度)であるビデオは、コーディング効率の高い、例えば、H.264またはMPEG−4でコーディングする。
第3実施形態は、向上階層が参照する階層が直下階層ではないさらに低い階層である場合を示す。本実施形態で、第2向上階層でビデオコーディングを行う時、第1向上階層を参照せずに基礎階層を参照する。第1実施形態との差異点を考えれば、第2向上階層のビデオをコーディングする時に解像度の差が大きい基礎階層を参照するために、第3実施形態のコーディング効率は第1実施形態より低くなりうる。しかし、デコーディング過程で直接基礎階層を参照して第2向上階層のビデオを再構成するので、基礎階層で第1向上階層を再構成し、第1向上階層で第2向上階層のビデオを再構成する第1実施形態の場合より画質が良くなる。
第4実施形態は、複数の基礎階層を持つ多重階層ビデオコーディング方式の例を示す。階層の数が多い場合に、第1実施形態の場合にはコーディング効率が落ちる。したがって、第4実施形態では、階層の数によって適当な地点に他の階層を参照しない基礎階層をおく。
第5実施形態は、各解像度でスケーラブルビデオコーディング方式のみを使用したサイマルキャストビデオコーディング方式の例を示す。多重階層ビデオコーディング方式が効率的でありうるが、場合によっては、多重階層ビデオコーディング方式よりサイマルキャスト方式がさらに効率的でありえる。サイマルキャスト方式がさらに効率的な場合には、図7ないし図10に示したように、一部解像度でまたは全体解像度でスケーラブルビデオコーディングを行う。一方、コーディング効率を高めるために、一部解像度、例えば、最も低い解像度では、第6実施形態のようにノン・スケーラブルH.264またはMPEG−4方式でビデオコーディングを行う。
第7実施形態は、最低解像度ではない階層を基礎階層として持つ多重階層ビデオコーディング方式の例を示す。中間解像度の基礎階層で、最高解像度の第2向上階層と最低解像度の第1向上階層のビデオとをコーディングする。第2向上階層でビデオコーディングする時は、基礎階層のフレームをアップサンプリングして参照するが、第1向上階層でビデオコーディングする時は、基礎階層のフレームをダウンサンプリングして参照する。
第8実施形態は、最高解像度階層を基礎階層とした多重階層ビデオコーディング方式の例を示す。本実施形態で、基礎階層のビデオを参照して第1向上階層のビデオをコーディングし、第1向上階層のビデオを参照して第2向上階層のビデオをコーディングする。第1向上階層のビデオをコーディングする時に参照するフレームは、基礎階層のフレームをダウンサンプリングしたフレームである。一方、コーディング効率を高めるために、一部階層をノン・スケーラブルビデオコーディング方式でコーディングできるが、第9実施形態はこのような実施形態のうち一つである。
第10実施形態は、第3実施形態と同様に、複数の基礎階層を持つ多重階層ビデオコーディング方式の例を示す。第10実施形態では、第3実施形態と異なって高い解像度階層を参照して低い解像度階層のビデオをコーディングする。
図15は、本発明の一実施形態によるインターフレームコーディングでの参照関係を示す図面である。点線からなる矢印は階層間参照を意味し、実線からなる矢印は同一階層での参照を意味する。
本実施形態で、低い解像度のビデオ610をまずコーディングする。コーディング順序は、時間的スケーラビリティを考慮してコーディングする。すなわち、示したように、GOP(Group Of Picture)サイズが4である場合には、GOPの第1のフレームをイントラフレーム(Iフレーム)でコーディングし、GOPの第3のフレームをインターフレーム(Hフレーム)でコーディングする。次いで、第1のフレームと第3のフレームとを参照して第2のフレームをコーディングし、第3のフレームを参照して第4のフレームをコーディングする。デコーディング過程は、コーディング過程と同じ順序になる。すなわち、1、3、2、4順序でデコーディングする。1番、3番、2番、及び4番フレームがいずれもデコーディングされれば、1番、2番、3番、及び4番フレーム順序で出力できる。
一方、高い解像度のビデオ620は、低い解像度のビデオ610を参照して低い解像度のビデオと同じ順序でコーディングする。すなわち、1、3、2、4順序でコーディングする。高い解像度のビデオをデコーディングしようとすれば、コーディングされた高い解像度のフレームと低い解像度のフレームとを必要とする。まず、低い解像度の1番フレームをデコーディングし、これを参照して高い解像度の1番フレームをデコーディングする。次いで、低い解像度の3番フレームをデコーディングし、これを参照して高い解像度の3番フレームをデコーディングする。同じ方式で、低い解像度の2番フレームと高い解像度の2番フレームとをデコーディングし、低い解像度の4番フレームと高い解像度の4番フレームとをデコーディングする。一方、フレームレートが1/2である高い解像度のビデオを再構成するためには、低い解像度の1番フレームをデコーディングし、これを参照して高い解像度の1番フレームをデコーディングした後、低い解像度の3番フレームをデコーディングし、これを参照して高い解像度の3番フレームをデコーディングする。次いで、次のGOPのフレームをデコーディングする。本実施形態は、このような方式で時間的スケーラビリティ特性を持つことができる。GOPサイズが8である場合には、1、5、3、7、2、4、6、8順序でコーディングしてデコーディングする。もし、1、5番フレームでコーディングまたはデコーディングを止めた場合には、フレームレートが1/4になり、1、5、3、7番フレームでコーディングまたはデコーディングを止めた場合には、フレームレートが1/2になる。
図16は、本発明の他の実施形態によるインターフレームコーディングでの参照関係を示す図面である。
図15の実施形態は、低い解像度のビデオ610で他のフレームを参照しないフレーム(Iフレーム)を参照して他のフレーム(2ないし4番フレーム)をコーディングして画質が良いが、高い解像度のビデオ620は、2ないし4番フレームはいずれも異なるフレームを参照するフレーム(Hフレーム)を参照してコーディングされるので、画質がサイマルキャストコーディング方式に比べて若干落ちる傾向がある。したがって、図16の実施形態は、階層間参照を図15の実施形態と別途にする。
本実施形態で、高い解像度のビデオ720をまずコーディングする。コーディング順序は、時間的スケーラビリティを考慮してコーディングする。すなわち、示したように、GOPサイズが4である場合には、GOPの第1のフレームをイントラフレーム(Iフレーム)でコーディングし、GOPの第3のフレームをインターフレーム(Hフレーム)でコーディングする。次いで、第1のフレームと第3のフレームとを参照して第2のフレームをコーディングし、第3のフレームを参照して第4のフレームをコーディングする。デコーディング過程は、コーディング過程と同じ順序になる。すなわち、1、3、2、4順序でデコーディングする。1番、3番、2番、及び4番フレームがいずれもデコーディングされれば、1番、2番、3番、及び4番フレーム順序で出力できる。
一方、低い解像度のビデオ710は、高い解像度のビデオ720を参照して高い解像度のビデオと同じ順序でコーディングする。すなわち、1、3、2、4順序でコーディングする。低い解像度のビデオをデコーディングするためには、コーディングされた高い解像度のフレームと低い解像度のフレームとを必要とする。まず、高い解像度の1番フレームをデコーディングし、これを参照して低い解像度の1番フレームをデコーディングする。次いで、高い解像度の3番フレームをデコーディングし、これを参照して低い解像度の3番フレームをデコーディングする。同じ方式で、高い解像度の2番フレームと低い解像度の2番フレームとをデコーディングし、高い解像度の4番フレームと低い解像度の4番フレームとをデコーディングする。
図17及び図18は、階層間フレームレートが異なる場合の実施形態を示す。インターフレームコーディングでの参照関係を示す図面である。
図17の実施形態で、低い解像度のビデオ810をまずコーディングする。コーディング順序は、時間的スケーラビリティを考慮してコーディングする。すなわち、示したように、GOPサイズが4である場合には、GOPの第1のフレームをイントラフレーム(Iフレーム)でコーディングし、GOPの第5のフレームをインターフレーム(Hフレーム)でコーディングする。次いで、第1のフレーム及び第5のフレームを参照して第3のフレームをコーディングする。このような方式で1、5、3、7順序のGOPのフレームをいずれもコーディングする。デコーディング過程は、コーディング過程と同じ順序になる。
一方、高い解像度のビデオ820は、低い解像度のビデオ810を参照して低い解像度のビデオと同じ順序でコーディングする。すなわち、1、5、3、7順序でコーディングする。次いで、低い解像度のビデオ810にないフレーム2、4、6、8をコーディングする。
図18の実施形態で、高い解像度のビデオ920をまずコーディングする。コーディング順序は、時間的スケーラビリティを考慮してコーディングする。すなわち、示したように、GOPサイズが8である場合には、1、5、3、7、2、4、6、8順序のGOPのフレームをいずれもコーディングする。デコーディング過程は、コーディング過程と同じ順序になる。
低い解像度のビデオ910は、高い解像度のビデオ920を参照して高い解像度のビデオと同じ順序でコーディングする。すなわち、1、5、3、7順序でコーディングする。
図15ないし図18の実施形態は、いずれも二階層間の参照関係を示す実施形態であって、3個以上の階層を持つ多重階層ビデオコーディングを行う場合にも拡張されて適用できる。
高い解像度のフレームを参照して、低い解像度のフレームをコーディングする多重階層ビデオコーディング方式でビデオストリーミングサービスをする場合に、低い解像度のビットストリームを伝送する時に効率が低い。すなわち、低い解像度のビットストリームには、低い解像度のコーディングされたビデオ情報だけでなく高い解像度のコーディングされた情報も含まれているためである。このような場合には、多重階層ビデオコーディングよりサイマルキャストビデオコーディング方式がさらに効率的でありえる。図19及び図20は、サイマルキャストビデオコーディング方式でコーディング効率を高めるための実施形態を示す。
図19の実施形態は、イントラフレームの共有関係を示している。
本実施形態は、サイマルキャスト方式と同様に解像度の異なるビデオ1010、1020を別途にコーディングする。高い解像度のビデオ1020を、時間的スケーラビリティを持つ順序、例えば1、3、2、4順序でコーディングし、低い解像度のビデオ1010も、時間的スケーラビリティを持つ順序でビデオコーディングする。コーディングされた高い解像度のビデオ及び低い解像度のビデオには、各GOPに一つのイントラフレーム(Iフレーム)と一つ以上のインターフレーム(Hフレーム)とが含まれる。ほとんどの場合に、イントラフレームは、インターフレームより多くのビットを割り当てねばならない。実際に高い解像度のビデオ1020と低い解像度のビデオ1010とは、同じビデオシーケンスに解像度だけ異ならせたものであるので、類似した部分が多い。したがって、本実施形態では低い解像度のイントラフレームを含まずにビデオコーディングする。すなわち、最終的に生成されたビットストリームには、高い解像度のコーディングされたあらゆるフレームと低い解像度のコーディングされたインターフレームとが含まれる。
デコーダで高い解像度のビデオ1020を要請すれば、低い解像度のコーディングされたインターフレームを除去した後にデコーダにビットストリームを伝送する。デコーダで低い解像度のビデオ1010を要請すれば、高い解像度のコーディングされたインターフレームを除去し、低い解像度と共有された高い解像度のイントラフレーム1022、1024で不要な部分を除去して、低い解像度のイントラフレーム1012、1014を作った後、デコーダにビットストリームを伝送する。
図20は、本発明の他の実施形態によるイントラフレーム共有関係を示す図面である。
図20の実施形態では、図19の実施形態と同様にイントラフレームを共有する。すなわち、低い解像度のビデオストリーミングを行う時は、高い解像度のイントラフレーム1122で低い解像度のイントラフレーム1112を作る。一方、図19の実施形態とは異なって、高い解像度のイントラフレーム1124は低い解像度と共有せず、低い解像度のフレーム1114はそのままインターフレームを使用する。すなわち、フレームレートが異なる場合にGOPの境界を一致させずにGOPサイズを一致させることによって、低いレートでイントラフレームの比率が高いフレームレートより高くなることを防止する。
図21は、本発明の一実施形態によるビデオエンコーダの構成を示すブロック図である。本実施形態では、解像度の相異なる二つの階層を持つ。しかし、これは例示的なものであって、n個の解像度の相異なる階層のビデオエンコーダも本発明の範囲に含まれると解釈せねばならない。
ビデオエンコーダシステム1200は、基礎階層ビデオをコーディングする第1スケーラブルビデオエンコーダ1210と向上階層ビデオをコーディングする第2スケーラブルビデオエンコーダ1220及び第1スケーラブルビデオエンコーダ1210と第2スケーラブルビデオエンコーダ1220のコーディングされたビデオでビットストリームを生成するビットストリーム生成モジュール1230を備える。
第1スケーラブルビデオエンコーダ1210は、基礎階層ビデオを入力されてスケーラブルビデオコーディングし、このために、動き予測モジュール1212と変換モジュール1214及び量子化モジュール1216を備える。
動き予測モジュール1212は、基礎階層ビデオを構成する各フレーム間の時間的重複を除去するが、動き予測モジュール1212は、参照フレームと現在コーディングされるフレームとの間の動きを予測して残余フレームを得る。動きを予測して時間的重複を除去するアルゴリズムとしては、UMCTF、STARなどがある。動きを予測する時、図5出す図20を通じて説明した実施形態のうちコーディング効率及び画質を考慮して選択する。
残余フレームは、変換モジュール1214を通じてウェーブレット変換される。ウェーブレット変換は残余フレームを4等分し、残余フレームのイメージとほぼ類似した1/4面積を持つ縮小されたイメージ(Lサブバンド)を前記フレームの一側四分面に代替し、残りの3個の四分面にはLイメージを通じて残余フレームのイメージを復元可能にするイメージ(Hサブバンド)で代替する。同じ方式で、Lサブバンドは、自身の1/4面積を持つLLサブバンドとLイメージを復元するためのイメージで代替できる。
量子化モジュール1216は、ウェーブレット変換を通じて得た変換係数を量子化する。量子化アルゴリズムは、EZW(Embedded Zerotrees Wavelet Algorithm)、SPIHT(Set Partitioning in Hierarchical Trees)、EZBC(Embedded Zero Block Coding)、EBCOT(Embedded Block Coding with Optimal Truncation)などがある。
第2スケーラブルビデオエンコーダ1220は、向上階層ビデオを入力されてスケーラブルビデオコーディングし、このために、動き予測モジュール1222と変換モジュール1224及び量子化モジュール1226を備える。
動き予測モジュール1222は、向上階層ビデオを構成する各フレーム間の時間的重複を除去するが、動き予測モジュール1222は、向上階層の参照フレーム及び基礎階層の参照フレームと現在コーディングされるフレームとの間の動きを予測して残余フレームを得る。動きを予測して時間的重複を除去するアルゴリズムとしては、UMCTF、STARなどがある。
残余フレームは、変換モジュール1224を通じてウェーブレット変換される。ウェーブレット変換は残余フレームを4等分し、残余フレームのイメージとほぼ類似した1/4面積を持つ縮小されたイメージ(Lサブバンド)を前記フレームの一側四分面に代替し、残りの3個の四分面にはLイメージを通じて残余フレームのイメージを復元可能にするイメージ(Hサブバンド)で代替する。同じ方式で、Lサブバンドは、自身の1/4面積を持つLLサブバンドとLイメージを復元するためのイメージで代替できる。
量子化モジュール1226は、ウェーブレット変換を通じて得た変換係数を量子化する。量子化アルゴリズムは、EZW、SPIHT、EZBC、EBCOTなどがある。
第1スケーラブルビデオエンコーダ1210及び第2スケーラブルビデオエンコーダ1220を通じてコーディングされた基礎階層フレーム及び向上階層フレームは、ビットストリーム生成モジュール1230で適当なヘッダ情報を含んでビットストリームを生成する。
一方、本発明の他の実施形態では、相異なる解像度のビデオをコーディングする複数のビデオエンコーダを備え、前記ビデオエンコーダのうち一部はノン・スケーラブルビデオコーディング方式、例えば、H.264やMPEG−4方式でビデオコーディングする。
生成されたビットストリームは、プリデコーダ1240を通じてプリデコーディングされてデコーダ(図示せず)に伝送される。
プリデコーダ1240は、ビデオストリーミングサービスの形態によってそれぞれ他の所に位置できる。一実施形態において、プリデコーダ1240は、ビデオストリーミングビデオエンコーダシステム1200に存在する。この場合に、ビデオエンコーダ1240は、ビットストリーム生成モジュール1230で生成されたビットストリーム全体ではない、プリデコーディングされたビットストリームのみをデコーダに伝送する。他の実施形態において、プリデコーダ1240は、ビデオエンコーダシステム1200とは別途に存在する。プリデコーダ1240は、ビデオストリーミングサービスを提供するストリーミングサービス提供者に存在し、ストリーミングサービス提供者は、コンテンツ提供者がコーディングしたビットストリームをプリデコーディングしてデコーダに伝送する。さらに他の実施形態において、プリデコーダ1240はデコーダ内に存在する。デコーダ内に存在するプリデコーダは、ビットストリームで不要な部分を切断して必要な解像度及びフレームレートを持つビデオを再構成できる。
前述したビデオエンコーダシステム1200及び後述するビデオデコーダシステム1300の各構成要素は、機能性モジュールであって、既に説明したような役割を行う。このような機能性モジュールは、ソフトウェアまたはFPGAまたはASICのようなハードウェアで具現できる。しかし、機能性モジュールは、ソフトウェアまたはハードウェアに限定される意味ではない。機能性モジュールは、アドレッシングできる記録媒体にあるように構成されてもよく、一つまたはそれ以上のプロセッサーを実行させるように構成されてもよい。したがって、一例として機能性モジュールは、ソフトウェア構成要素、客体指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシジャー、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素とモジュール内で提供される機能は、さらに小さな数の構成要素及びモジュールに結合されるか、追加的な構成要素とモジュールにさらに分離されうる。それだけでなく、構成要素及びモジュールは、通信システム内の一つまたはそれ以上のコンピュータを実行させるように具現されることもできる。
図22は、本発明の一実施形態によるビデオデコーダの構成を示すブロック図である。本実施形態では、解像度の相異なる二つの階層を持つ。しかし、これは例示的なものであって、n個の解像度の相異なる階層のビデオエンコーダも本発明の範囲に含まれると解釈せねばならない。
ビデオデコーダシステム1300は、基礎階層ビデオをデコーディングする第1スケーラブルビデオデコーダ1310と、向上階層ビデオをコーディングする第2スケーラブルビデオデコーダ1320とを備える。第1スケーラブルビデオデコーダ1310及び第2スケーラブルビデオデコーダ1320は、ビットストリーム解釈モジュール1330からコーディングされたビデオ情報を受けてデコーディングする。
第1スケーラブルビデオデコーダ1310は、基礎階層のコーディングされたビデオ情報を受けてスケーラブルビデオデコーディングし、このために逆量子化モジュール1312と逆変換モジュール1314及び動き補償モジュール1316を備える。
逆量子化モジュール1312は、コーディングされたビデオ情報を受けて逆量子化して変換係数を得る。逆量子化アルゴリズムは、EZW、SPIHT、EZBC、EBCOTなどがある。
逆変換モジュール1314は逆変換する。イントラコーディングされたフレームの場合には、逆変換を通じてフレームを再構成できるが、インターコーディングされたフレームの場合には、逆変換を通じて残余フレームを得る。
動き補償モジュール1316は、残余フレームを入力されてフレームを再構成するが、既に再構成されたフレームを参照して残余フレームの動きを補償する。動きを補償するアルゴリズムには、UMCTF、STARなどがある。
第2スケーラブルビデオデコーダ1320は、向上階層のコーディングされたビデオ情報を受けてスケーラブルビデオデコーディングし、このために逆量子化モジュール1322と逆変換モジュール1324及び動き補償モジュール1326を備える。
逆量子化モジュール1322は、コーディングされたビデオ情報を受けて逆量子化して変換係数を得る。逆量子化アルゴリズムは、EZW、SPIHT、EZBC、EBCOTなどがある。
逆変換モジュール1324は逆変換する。イントラコーディングされたフレームの場合には逆変換を通じてフレームを再構成できるが、インターコーディングされたフレームの場合には、逆変換を通じて残余フレームを得る。
動き補償モジュール1326は、残余フレームを入力されてフレームを再構成するが、既に基礎階層のフレームと向上階層の再構成されたフレームとを参照して残余フレームの動きを補償する。動きを補償するアルゴリズムには、UMCTF、STARなどがある。
図23は、インターフレーム共有で軟らかい向上階層の軟らかいイントラフレームを生成し、共有されたインターフレームをデコーディングする過程を説明するための図面である。
図面でDは、ダウンサンプリングを意味し、Uは、アップサンプリングを意味する。下添字のうちWは、ウェーブレット方式を意味し、Mは、MPEG方式を意味する。Fは、高解像度(基礎階層)フレームを意味し、FSは、低解像度(向上階層)フレームを意味し、FLは、高解像度フレームの低周波サブバンドを意味する。
低解像度のビットストリームを生成するために、ビデオを構成するフレームをウェーブレット方式でダウンサンプリングし、ダウンサンプリングされたフレームをアップサンプリングした後、MPEG方式でダウンサンプリングする。次いで、MPEG方式でダウンサンプリングされた低解像度のビデオをスケーラブルビデオコーディングする。
低解像度のフレームFS1420がイントラフレームである場合に、ビットストリームには含めない。低解像度のフレームFS1420は、ビットストリームに含まれた高解像度のイントラフレームF1410から求めることができる。高解像度のイントラフレームF1410をウェーブレット方式でダウンサンプリングし、再びアップサンプリングすれば、元来のFとほぼ類似したイメージとなる。これを再びMPEG方式でダウンサンプリングすれば、軟らかい低解像度インターフレームFS820を得ることができる。一方、高解像度のインターフレームF1410は、ウェーブレット変換及び量子化を経てビットストリームに含まれる。ビットストリームをデコーダで受信する前に、プリデコーダでビットストリームの一部のビットが切断される。コーディングされたF1410で高周波サブバンドが切断されれば、Fの低周波サブバンドFL1430を得ることができる。Fの低周波サブバンドFL1430は、F1410をウェーブレット方式でダウンサンプリングしたもの(DW(F))と同じである。デコーダ側ではFL1440を受信し、これをウェーブレット方式でアップサンプリングして再びMPEG方式でダウンサンプリングすれば、軟らかいインターフレームFS1450を得ることができる。