(57)【特許請求の範囲】
【請求項１】
第１ターゲットビットレート、第２ターゲットビットレート、及びビデオデータを獲得する段階と、
前記第１ターゲットビットレートのために、第１階層で入力ビデオデータをエンコードする段階と、
前記入力ビデオデータについての、前記第１階層でのエンコード結果に基づいて前記第１ターゲットビットレートのためにエンコード統計情報を生成させる段階と、
前記エンコード統計情報を用いて、第２階層での領域別に割り当てられるターゲットビット量を定める段階と、
前記第２ターゲットビットレートのために、ターゲットビット量に基づいて、前記入力ビデオデータについての第２階層でのエンコード処理を行う段階と、を含み、
前記エンコード統計情報は、前記第１階層のエンコード実行過程で領域別に計算された現在フレームと予測フレームとのピクセルの絶対差の和に関する少なくとも１つの情報を含み、
前記エンコード統計情報は、前記第１階層で計算された領域別複雑度情報を含むことを特徴とする多階層ビデオコーディングのためのレート制御方法。
【請求項２】
前記領域は、ピクチャグループ、フレームまたはマクロブロックのうち少なくとも一つ以上を備えることを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項３】
前記エンコード統計情報は、前記第１階層での領域別エンコード実行過程で生成されたビット量に関する情報を含むことを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項４】
前記エンコード統計情報は、前記第１階層でのエンコード処理過程で生成された領域別ビット量に関する情報、領域別に現在フレームと予測フレームとのピクセルの絶対差の和に関する情報、領域別複雑度情報のうち少なくとも２つ以上の情報を含むことを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項５】
前記第１階層及び第２階層でエンコードされるビデオデータの空間的解像度が異なる場合に空間的解像度を一致させるために、アップスケーリングまたはダウンスケーリング処理されたエンコード統計情報に基づいて前記第２階層での領域別に割り当てられるターゲットビット量を定めることを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項６】
前記第２階層でのマクロブロック別に割り当てられるターゲットビット量は、前記第２階層のマクロブロック位置にマッチングされる第１階層のマクロブロックについてのエンコード過程で生成されたビット量に基づいて定められることを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項７】
前記第２階層でのマクロブロック別に割り当てられるターゲットビット量は、前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和に基づいて定められることを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項８】
前記第２階層でのマクロブロック別に割り当てられるターゲットビット量は、前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックについてのエンコード時に生成されたビット量、及び前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和に基づいて定められることを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項９】
前記第２階層のフレーム別に割り当てられるターゲットビット量は、前記第１階層での領域別複雑度情報、及び第１階層でのピクチャグループでのフレームビット占有情報のうち少なくとも一つの情報に基づいて定められることを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項１０】
前記エンコード処理を行う段階は、前記ターゲットビット量に基づいて量子化パラメータ値を定め、前記量子化パラメータ値を適用して、前記入力ビデオデータについての第２階層のエンコード過程での量子化処理を行うことを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項１１】
前記領域別に割り当てられたターゲットビット量と、第２階層のエンコード過程で発生したビット量の差に連動して、領域別に割り当てられたパラメータ値を調節する方式で前記量子化パラメータ値を定めることを特徴とする請求項１０に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項１２】
前記入力ビデオデータに関する関心領域情報を生成させる段階と、
前記関心領域情報に基づいて、前記入力ビデオデータについての第２階層での領域別に割り当てられる量子化パラメータ値を定める段階と、をさらに含むことを特徴とする請求項１に記載の多階層ビデオコーディングのためのレート制御方法。
【請求項１３】
入力ビデオデータについての第１階層での第１ターゲットビットレートのためにエンコード結果に基づいたエンコード統計情報を生成させるように構成される第１階層で、入力ビデオデータをエンコードするための第１エンコード処理部と、
前記エンコード統計情報に基づいて、第２階層でのエンコード処理時に適用する第２量子化パラメータ値を生成する第２レート制御部と、
前記第２量子化パラメータ値を適用して、前記入力ビデオデータについての第２階層での第２ターゲットビットレートのためにエンコード処理を行う第２エンコード処理部と、を備え、
前記エンコード統計情報は、前記第１階層のエンコード実行過程で領域別に計算された現在フレームと予測フレームとのピクセルの絶対差の和に関する情報と、前記第１階層の領域別複雑度情報の少なくとも１つを含むことを特徴とするビデオエンコード装置。
【請求項１４】
前記エンコード統計情報は、前記第１階層での領域別にエンコード過程で生成されたビット量に関する情報をさらに含むことを特徴とする請求項１３に記載のビデオエンコード装置。
【請求項１５】
前記第２レート制御部は、
前記エンコード統計情報に基づいて、第２階層での領域別に割り当てられるターゲットビット量を定めるビット量決定器と、
前記ターゲットビット量及び前記第２エンコード処理部で発生したビット量の差に基づいて、量子化パラメータ値を生成する量子化パラメータ生成器と、を備えることを特徴とする請求項１３に記載のビデオエンコード装置。
【請求項１６】
前記ビット量決定器は、前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックについてのエンコード時に生成されたビット量に基づいて、前記第２階層でのマクロブロック別に割り当てられるターゲットビット量を定めることを特徴とする請求項１５に記載のビデオエンコード装置。
【請求項１７】
前記ビット量決定器は、前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和に基づいて、前記第２階層でのマクロブロック別に割り当てられるターゲットビット量を定めることを特徴とする請求項１５に記載のビデオエンコード装置。
【請求項１８】
前記ビット量決定器は、前記第１階層で計算された領域別複雑度情報、及び第１階層でのピクチャグループでフレームビット占有情報のうち少なくとも一つの情報に基づいて、前記第２階層のフレーム別に割り当てられるターゲットビット量を定めることを特徴とする請求項１５に記載のビデオエンコード装置。
【請求項１９】
前記入力ビデオデータについての関心領域を検出し、前記検出された関心領域を示す関心領域情報を生成する関心領域検出部をさらに備え、前記第２レート制御部は、前記関心領域情報に基づいて第２階層での領域別に割り当てられる量子化パラメータ値を定めることを特徴とする請求項１３に記載のビデオエンコード装置。
【請求項２０】
ソースビデオデータを、基本階層で第１ターゲットビットレートのために、及び少なくとも一つ以上の向上階層で第２ターゲットビットレートのために、それぞれエンコード処理する多階層エンコーダと、
前記多階層エンコーダでエンコード処理されたビデオデータを、有線または無線ネットワークを通じてターゲットデバイスに送信する送信器と、を備え、前記多階層エンコーダは、前記基本階層でのエンコード結果に基づいたエンコード統計情報に基づいて、前記向上階層で領域別に割り当てられるターゲットビット量を定め、
前記基本階層でエンコードされる前記ビデオデータの空間的解像度が、前記向上階層でエンコードされるビデオデータの空間的解像度と異なる場合、エンコードされるビデオデータの空間的解像度を一致させるために、アップスケーリングまたはダウンスケーリング処理されたエンコード統計情報に基づいて、前記向上階層で領域別に割り当てられるターゲットビット量が決められることを特徴とするビデオ信号処理システム。
【請求項２１】
前記多階層エンコーダは、前記ソースビデオデータに関する関心領域情報に基づいて、前記向上階層で領域別に割り当てられる量子化パラメータ値を定めることを特徴とする請求項２０に記載のビデオ信号処理システム。
【請求項２２】
第１ターゲットビットレートのために第１階層で入力ビデオデータをエンコードし、前記第１階層で入力ビデオデータをエンコードした結果に基づいて、エンコード統計情報を生成させるように構成された第１エンコードプロセッサと、
前記エンコード統計情報を保存するバッファと、
第２ターゲットビットレートのために、第２階層でエンコードするために、前記エンコード統計情報に基づいて現在マクロブロックそれぞれについて第２量子化パラメータ値を生成させるための第２レートコントローラと、を備え、
前記エンコード統計情報は、前記第１階層のエンコード実行過程で領域別に計算された現在フレームと予測フレームとのピクセルの絶対差の和に関する情報と、前記第１階層の領域別複雑度情報の少なくとも１つを含むことを特徴とするビデオエンコード装置。
【請求項２３】
前記第２量子化パラメータ値を用いて、第２階層からビデオデータをエンコードするための第２エンコードプロセッサをさらに備えることを特徴とする請求項２２に記載のビデオエンコード装置。
【請求項２４】
前記第１階層でエンコードするために、第１量子化パラメータ値を生成するための第１レートコントローラをさらに備えることを特徴とする請求項２２に記載のビデオエンコード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置及び方法に係り、さらに詳細には、多階層ビデオコーディングのためのレート制御方法、これを用いるビデオエンコード装置及びビデオ信号処理システムに関する。
【背景技術】
【０００２】
一般的に、ビデオ圧縮技術は、流動的なネックワーク環境を考慮せずにハードウェアの制限的な動作環境で一定のネットワーク帯域幅を提供するという仮定下でビデオデータを圧縮している。
ネットワーク環境が多様になり、帯域幅が変化するネックワーク環境に適用されるビデオデータを圧縮するためには、新たな圧縮技術が必要となる。このような必要に応じて開発された圧縮技術が、多階層ビデオコーデック技術である。このような、多階層ビデオエンコード時に画質の劣化を防止するためにビットレートを制御する技術が必要となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】アメリカ登録特許第６，３６３，１１９号明細書
【特許文献２】特開２０１１−０２９９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、下位階層でのエンコード結果に基づいて生成されたエンコード統計情報及び／または関心領域情報を用いて、上位階層でのビットレートを制御する多階層ビデオコーディングのためのレート制御方法を提供することにある。
本発明の他の目的は、下位階層でのエンコード結果に基づいて生成されたエンコード統計情報及び／または関心領域情報を用いて、上位階層でのビットレートを制御するビデオエンコーダを提供することにある。
【０００５】
本発明のさらに他の目的は、下位階層で生成されたエンコード統計情報及び／または関心領域情報を用いて、上位階層でのエンコード処理を行うビデオ信号処理システムを提供することにある。
本発明のさらに他の目的は、本発明の実施形態による多階層ビデオコーディングのためのレート制御方法をコンピュータで行わせるためのプログラムを記録した、コンピュータで読み取り可能な保存媒体を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の技術的思想の一面による一実施形態による多階層ビデオコーディングのためのレート制御方法は、第１階層で入力ビデオデータをエンコードする段階と、前記入力ビデオデータについての、第１階層でのエンコード結果に基づいたエンコード統計情報を生成させる段階と、前記エンコード統計情報を用いて、第２階層での領域別に割り当てられるターゲットビット量を定める段階と、前記ターゲットビット量に基づいて、前記入力ビデオデータについての第２階層でのエンコード処理を行う段階と、を含む。
本発明の実施形態によれば、前記領域は、ピクチャグループ、フレームまたはマクロブロックのうち少なくとも一つ以上を備える。
【０００７】
本発明の実施形態によれば、前記エンコード統計情報は、前記第１階層での領域別エンコード実行過程で生成されたビット量に関する情報を含む。
本発明の実施形態によれば、前記エンコード統計情報は、前記第１階層のエンコード実行過程で領域別に計算された現在フレームと予測フレームとのピクセルの絶対差の和に関する情報を含む。
本発明の実施形態によれば、前記エンコード統計情報は、前記第１階層で計算された領域別複雑度情報を含む。
【０００８】
本発明の実施形態によれば、前記エンコード統計情報は、前記第１階層でのエンコード処理過程で生成された領域別ビット量に関する情報、領域別に現在フレームと予測フレームとのピクセルの絶対差の和に関する情報、領域別複雑度情報のうち少なくとも２つ以上の情報を含む。
本発明の実施形態によれば、前記第１階層及び第２階層でエンコードされるビデオデータの空間的解像度が異なる場合に空間的解像度を一致させるために、アップスケーリングまたはダウンスケーリング処理されたエンコード統計情報に基づいて前記第２階層での領域別に割り当てられるターゲットビット量を定める。
【０００９】
本発明の実施形態によれば、前記第２階層でのマクロブロック別に割り当てられるターゲットビット量は、前記第２階層のマクロブロック位置にマッチングされる第１階層のマクロブロックについてのエンコード過程で生成されたビット量に基づいて定められる。
本発明の実施形態によれば、前記第２階層でのマクロブロック別に割り当てられるターゲットビット量は、前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和に基づいて定められる。
【００１０】
本発明の実施形態によれば、前記第２階層でのマクロブロック別に割り当てられるターゲットビット量は、前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックについてのエンコード時に生成されたビット量、及び前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和に基づいて定められる。
本発明の実施形態によれば、前記第２階層のフレーム別に割り当てられるターゲットビット量は、前記第１階層での領域別複雑度情報、及び第１階層でのピクチャグループでのフレームビット占有情報のうち少なくとも一つの情報に基づいて定められる。
【００１１】
本発明の実施形態によれば、前記エンコード処理を行う段階は、前記ターゲットビット量に基づいて量子化パラメータ値を定め、前記量子化パラメータ値を適用して、前記入力ビデオデータについての第２階層のエンコード過程での量子化処理を行う。
本発明の実施形態によれば、前記領域別に割り当てられたターゲットビット量と、第２階層のエンコード過程で発生したビット量の差に連動して、領域別に割り当てられたパラメータ値を調節する方式で前記量子化パラメータ値を定める。
本発明の実施形態によれば、前記入力ビデオデータに関する関心領域情報を生成させる段階と、前記関心領域情報に基づいて、前記入力ビデオデータについての第２階層での領域別に割り当てられる量子化パラメータ値を定める段階と、をさらに含む。
【００１２】
本発明の技術的思想の一面による他の実施形態による多階層ビデオコーディングのためのレート制御方法は、入力ビデオデータに関する関心領域情報を生成する段階と、前記関心領域情報に基づいて、向上階層の一つのフレームの複数の領域別に割り当てられる量子化パラメータ値を定める段階と、を含む。
本発明の実施形態によれば、前記量子化パラメータ値を定める段階は、前記関心領域情報に基づいて、関心領域での第１量子化パラメータを定め、非関心領域情報に基づいて、非関心領域での第２量子化パラメータを定め、前記第１パラメータと前記第２パラメータとは異なる。
【００１３】
本発明の実施形態によれば、前記関心領域情報は、ビット発生分布度、映像の複雑度、画素分布度のうち少なくとも一つ以上を用いて算出する。
本発明の技術的思想の他の面によるビデオエンコード装置は、入力ビデオデータについての第１階層でのエンコード結果に基づいたエンコード統計情報を生成させるように構成される第１階層で、入力ビデオデータをエンコードするための第１エンコード処理部と、前記エンコード統計情報に基づいて、前記第２階層でのエンコード処理時に適用する第２量子化パラメータ値を生成する第２レート制御部と、前記第２量子化パラメータ値を適用して、前記入力ビデオデータについての第２階層でのエンコード処理を行う第２エンコード処理部と、を備える。
【００１４】
本発明の実施形態によれば、前記エンコード統計情報は、前記第１階層での領域別にエンコード過程で生成されたビット量に関する情報、領域別現在フレームと予測フレームとのピクセルの絶対差の和に関する情報、領域別複雑度情報のうち少なくとも一つ以上の情報を含む。
本発明の実施形態によれば、前記第２レート制御部は、前記エンコード統計情報に基づいて、第２階層での領域別に割り当てられるターゲットビット量を定めるビット量決定器と、前記ターゲットビット量及び前記第２エンコード処理部で発生したビット量の差に基づいて、量子化パラメータ値を生成する量子化パラメータ生成器と、を備える。
【００１５】
本発明の実施形態によれば、前記ビット量決定器は、前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックについてのエンコード時に生成されたビット量に基づいて、前記第２階層でのマクロブロック別に割り当てられるターゲットビット量を定める。
本発明の実施形態によれば、前記ビット量決定器は、前記第２階層のマクロブロックにマッチングされる第１階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和に基づいて、前記第２階層でのマクロブロック別に割り当てられるターゲットビット量を定める。
本発明の実施形態によれば、前記ビット量決定器は、前記第１階層で計算された領域別複雑度情報、及び第１階層でのピクチャグループでフレームビット占有情報のうち少なくとも一つの情報に基づいて、前記第２階層のフレーム別に割り当てられるターゲットビット量を定める。
【００１６】
本発明の実施形態によれば、前記入力ビデオデータについての関心領域を検出し、前記検出された関心領域を示す関心領域情報を生成する関心領域検出部をさらに備え、前記レート制御部は、前記関心領域情報に基づいて第２階層での領域別に割り当てられる量子化パラメータ値を定める。
本発明の技術的思想のさらに他の面によるビデオ信号処理システムは、ソースビデオデータを、基本階層及び少なくとも一つ以上の向上階層でそれぞれエンコード処理する多階層エンコーダと、前記多階層エンコーダでエンコード処理されたビデオデータを、有線または無線ネットワークを通じてターゲットデバイスに送信する送信器と、を備え、前記多階層エンコーダは、前記基本階層でのエンコード結果に基づいたエンコード統計情報に基づいて、前記向上階層で領域別に割り当てられるターゲットビット量を定める。
本発明の実施形態によれば、前記多階層エンコーダは、前記ソースビデオデータに関する関心領域情報に基づいて、前記向上階層で領域別に割り当てられる量子化パラメータ値を定める。
【００１７】
本発明の実施形態によれば、第１階層で入力ビデオデータをエンコードし、前記第１階層で入力ビデオデータをエンコードした結果に基づいて、エンコード統計情報を生成させるように構成された第１エンコードプロセッサと、前記エンコード統計情報を保存するバッファと、第１階層でエンコードするために、前記エンコード統計情報に基づいて現在マクロブロックそれぞれについて第２量子化パラメータを生成させるための第２レートコントローラと、を備える。
本発明の実施形態によれば、前記第２量子化パラメータ値を用いて、第２階層からビデオデータをエンコードするための第２エンコードプロセッサをさらに備える。
本発明の実施形態によれば、前記第１階層でエンコードするために、第１量子化パラメータ値を生成するための第１レートコントローラをさらに備える。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態によるビデオ信号処理システムのブロック構成図。
【図２】図１に示したソースデバイス及び腕先デバイスについての構成を例示的に示す図。
【図３】本発明の一実施形態による多階層エンコーダの構成を例示的に示す図。
【図４】本発明の他の一実施形態による多階層エンコーダの構成を例示的に示す図。
【図５】本発明のさらに他の実施形態による多階層エンコーダの構成を例示的に示す図。
【図６】本発明のさらに他の実施形態による多階層エンコーダの構成を例示的に示す図。
【図７】本発明のさらに他の実施形態による多階層エンコーダの構成を例示的に示す図。
【図８】本発明のさらに他の実施形態による多階層エンコーダの構成を例示的に示す図。
【図９】本発明の一実施形態による関心領域検出部の構成を例示的に示す図。
【図１０】本発明の他の実施形態による関心領域検出部の構成を例示的に示す図。
【図１１】本発明のさらに他の実施形態による関心領域検出部の構成を例示的に示す図。
【図１２】本発明の一実施形態による向上階層の第２レート制御部についての構成を例示的に示す図。
【図１３】本発明の他の実施形態による向上階層の第２レート制御部についての構成を例示的に示す図。
【図１４】本発明のさらに他の実施形態による向上階層の第２レート制御部についての構成を例示的に示す図。
【図１５】本発明の実施形態による多階層エンコーダの詳細的な構成を例示的に示す図。
【図１６】本発明の他の実施形態による多階層エンコーダの詳細的な構成を例示的に示す図。
【図１７Ａ】本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図。
【図１７Ｂ】本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図。
【図１７Ｃ】本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図。
【図１８Ａ】本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図。
【図１８Ｂ】本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図。
【図１８Ｃ】本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図。
【図１８Ｄ】本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図。
【図１９Ａ】本発明の実施形態による多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のフレームについてのターゲットビット量を定める過程を示す概念図。
【図１９Ｂ】本発明の実施形態による多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のフレームについてのターゲットビット量を定める過程を示す概念図。
【図２０Ａ】本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図。
【図２０Ｂ】本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図。
【図２０Ｃ】本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図。
【図２１Ａ】本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図。
【図２１Ｂ】本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図。
【図２１Ｃ】本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図。
【図２１Ｄ】本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図。
【図２２】本発明の実施形態による関心領域情報を用いて、向上階層での量子化パラメータ値が定められた例を示す図。
【図２３】本発明の実施形態による多階層ビデオコーディングのためのレート制御方法のフローチャート。
【図２４】本発明の一実施形態による多階層ビデオコーディングのためのレート制御方法での第２階層の量子化パラメータ値を定める方法のフローチャート。
【図２５】本発明の他の実施形態による多階層ビデオコーディングのためのレート制御方法での第２階層の量子化パラメータ値を定める方法のフローチャート。
【図２６】本発明のさらに他の実施形態による多階層ビデオコーディングのためのレート制御方法での第２階層の量子化パラメータ値を定める方法のフローチャート。
【図２７】本発明の実施形態によるビデオ供給装置の具現例を示すブロック図。
【図２８】本発明の実施形態によるビデオサービスシステムの具現例を示すブロック図。
【発明を実施するための形態】
【００１９】
以下、添付した図面を参照して本発明の実施形態について詳細に説明する。本発明の実施形態は、当業者に本発明をさらに完全に説明するために提供されるものである。本発明は多様な変更を加えることができ、かついろいろな形態を持つことができるところ、特定実施形態を図面に例示して詳細に説明する。しかし、これは本発明を特定の開示形態について限定しようとするものではなく、本発明の思想及び技術範囲に含まれるあらゆる変更、均等物ないし代替物を含むと理解されなければならない。各図面を説明するとき、類似した参照符号を類似した構成要素について使用する。添付した図面において、構造物の寸法は、本発明の明確性を期するために実際より拡大または縮小して示したものである。
【００２０】
本出願で使用する用語は、単に特定の実施形態を説明するために使用するものであり、本発明を限定しようとする意図ではない。単数の表現は、文脈上明らかに異なって意味しない限り、複数の表現を含む。本出願で、“含む”または“持つ”などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部分品またはこれらを組み合わせたものが存在するということを指定しようとするものであり、一つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部分品またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないと理解しなければならない。
異なって定義されない限り、技術的や科学的な用語を含んでここで使われるあらゆる用語は、当業者によって一般的に理解されるものと同じ意味を持つ。一般的に使われる予め定義されている用語は、関連技術の文脈上持つ意味と一致する意味を持つと解釈されなければならず、本出願で明らかに定義しない限り、理想的または過度に形式的な意味には解釈されない。
【００２１】
図１は、本発明の一実施形態によるビデオ信号処理システム１０００のブロック構成図である。
図１に示したように、ビデオ信号処理システム１０００は、ソースデバイス１００及び腕先デバイス２００を備える。
図１で、腕先デバイス２００は、説明の便宜のために単一の腕先デバイスとして表示したが、複数の腕先デバイスで構成されてもよい。
ソースデバイス１００は、一つ以上のビデオソースからデジタルビデオコンテンツを獲得し、獲得されたデジタルビデオコンテンツを腕先デバイス２００に送信するために、エンコード処理を行う。デジタルビデオコンテンツは、例えば、リアルタイムでキャプチャリングされることがあり、またプレキャプチャリングされてもよい。
【００２２】
ソースデバイス１００は、一つ以上のアンテナを用いて、通信チャネルを通じてエンコードされたビデオデータを伝達するために、周波数変調、フィルタリング処理及び増幅処理を行う送信器を備えるか、またはその送信器にカップルリングされてもよい。
ソースデバイス１００は、スケーラビリティを持つように多階層エンコード機能を支援する。多階層エンコードは一例であり、スケーラブルエンコードなどが含まれる。
スケーラビリティとは、一つのビデオシーケンスを圧縮して得たストリームから、解像度とフレームレート及び画質を異ならせる多様なビデオシーケンスを復元できる特性を意味する。すなわち、一つのビデオデータを複数のビットストリームにコーディングしてチャネル特性に合わせて伝送することである。例えば、３つのビットストリームにコーディングしたならば、チャネル特性が悪い時は最低品質レベルの最初のビットストリームのみを伝送し、チャネル特性がさらに良好になれば、最初のビットストリームと、最初のビットストリームより上位品質レベルの第２のビットストリームを伝送する。そして、チャネル特性がさらに優秀になれば、品質レベルの最も高い第３のビットストリームを最初のビットストリーム及び第２のビットストリームと共に伝送する。
【００２３】
そして、多階層コーディング機能を支援するソースデバイス１００は、解像度が低いか、またはサイズの小さな画面で形成された基本階層（ｂａｓｅ ｌａｙｅｒ）と、これより解像度が高いか、またはサイズの大きい画面で形成された向上階層（ｅｎｈａｎｃｅｍｅｎｔ ｌａｙｅｒ）とについてのエンコード処理をそれぞれ行うことができる。基本階層は、独立的に復号可能に符号化されたビットストリームであり、向上階層は、基本階層にあるビットストリームを改善するために使われるビットストリームである。例えば、向上階層で符号化されたデータは、ソースデータと基本階層で符号化されたデータとの差値を細密に符号化したものである。
【００２４】
ソースデバイス１００は、ビデオの解像度を調節できる空間的スケーラビリティ（ｓｐａｔｉａｌ ｓｃａｌａｂｉｌｉｔｙ）、ビデオの品質を調節できる品質スケーラビリティ（ｑｕａｌｉｔｙ ｓｃａｌａｂｉｌｉｔｙ）、フレームレートを調節できる時間的スケーラビリティ（ｔｅｍｐｏｒａｌ ｓｃａｌａｂｉｌｉｔｙ）それぞれを支援する。そして、これらの空間的スケーラビリティ、品質スケーラビリティ、時間的スケーラビリティ（ｔｅｍｐｏｒａｌ ｓｃａｌａｂｉｌｉｔｙ）を多様に組み合わせて、多階層コーディング方式でビデオデータをコーディングする。
【００２５】
このように、ソースデバイス１００は、多階層コーディング機能を支援するために、ソースビデオデータを基本階層及び一つ以上の向上階層にエンコードできる。ソースデバイス１００は、基本階層及び向上階層の規格に好適にソースビデオデータを変形してそれぞれの階層に印加する。基本階層では、例えば、基本品質レベルを持つビデオデータをエンコード処理する。そして、一つ以上の向上階層では、基本階層より高い品質レベルを持つビデオデータをエンコード処理する。
例えば、ソースデバイス１００は、ＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ １０ ＡＶＣ標準のＳＶＣ方式によってソースビデオデータを基本階層としてエンコード処理し、向上階層では、本発明で説明する方式によってエンコード処理できる。
【００２６】
本発明で提案する技術は、Ｈ．２６４標準に順応するデバイスについてのビデオスケーラビリティ拡張を行うように適用される。また、本発明で提案する技術は、Ｈ．２６４標準または他の標準であり、組職によって開発されるか、または標準団体によって定義された任意の他のビデオコーディング標準はもとより、ＭＰＥＧ−１及びＭＰＥＧ−２、ＩＴＵ−Ｔ Ｈ．２６３標準、ＳＭＰＴＥ（Ｓｏｃｉｅｔｙ ｏｆ Ｍｏｔｉｏｎ Ｐｉｃｔｕｒｅ ａｎｄ Ｔｅｌｅｖｉｓｉｏｎ Ｅｎｇｉｎｅｅｒｓ）、ＨＥＶＣ（Ｈｉｇｈ Ｅｆｆｉｃｉｅｎｃｙ Ｖｉｄｅｏ Ｃｏｄｉｎｇ）などの多様なビデオコーディング標準によって定義されたような、多様なビデオ圧縮標準及び任意の標準と共に適用される。
【００２７】
腕先デバイス２００は、エンコードされたビデオデータの有線または無線通信網を通じる受信を支援する。腕先デバイス２００は、無線通信デバイス、例えば、携帯電話、無線電話機、無線放送システム、個人携帯情報端末（ＰＤＡ）、ノート型パソコン、デスクトップコンピュータ、デジタルカメラ、デジタルレコーディングデバイス、ビデオゲームデバイス、デジタルテレビなどのデジタルビデオデータを受信してデコードできるデバイスを備える。
腕先デバイス２００は、前述したような多様なビデオ圧縮標準のうち一つの標準によって動作する。
【００２８】
ソースデバイス１００及び腕先デバイス２００は、無線または有線通信デバイスとして具現される。また、ソースデバイス１００及び腕先デバイス２００は、集積回路チップまたはチップセットなどの集積回路デバイスとして具現してもよい。すなわち、無線または有線通信デバイスにデジタルメディアプレーヤ、個人携帯情報端末（ＰＤＡ）、携帯電話、デジタルテレビなどとデジタルビデオアプリケーションを支援する他の類型のデバイスに含まれてもよい。
【００２９】
図２は、図１に示したソースデバイス１００及び腕先デバイス２００についての構成を例示的に示す図である。
図２に示したように、ソースデバイス１００は、ビデオソース１１０、ビデオエンコーダ１２０及び送信器１３０を備える。そして、腕先デバイス２００は、受信器２１０、ビデオデコーダ２２０及びディスプレイデバイス２３０を備える。
ビデオソース１１０は、ビデオキャプチャーデバイスであり、例えば、ビデオカメラ、ビデオコンテンツ供給装置、カメラフォン、ビデオフォン、カメラ付き携帯電話などが含まれる。
ビデオエンコーダ１２０は、ビデオソース１１０からビデオデータを受信し、受信されたビデオデータを、基本階層ビットストリーム及び一つ以上の向上階層ビットストリームとしてエンコード処理する。ビデオエンコーダ１２０は、多階層エンコード機能を支援する。
【００３０】
図２に示したように、ビデオエンコーダ１２０は、基本階層エンコーダ１２１、一つ以上の向上階層エンコーダ１２２及びフレームバッファ１２３を備える。
基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、ビデオソース１１０から共通のビデオデータを受信する。
基本階層エンコーダ１２１は、ビデオデータを第１ビットレートにエンコードし、第１品質レベルのビデオの基本階層ビットストリームを生成する。そして、基本階層エンコーダ１２１は、基本階層でのエンコード結果に基づいたエンコード統計情報を生成する。例えば、エンコード統計情報は、基本階層での基準サイズ別にエンコード処理のために生成されたビット量に関する情報、基本階層のエンコード実行過程で基準サイズ別に計算される現在フレームと予測フレームとのピクセルの絶対差の和に関する情報、基本階層で計算された基準サイズに関する複雑度情報のうち一つ以上の情報が含まれる。ここで、基準サイズは、ピクチャグループ（ＧＯＰ；Ｇｒｏｕｐ ｏｆ Ｐｉｃｔｕｒｅ）、フレーム（ｆｒａｍｅ）またはマクロブロック（ｍａｃｒｏｂｌｏｃｋ）サイズのうち少なくとも一つ以上を含む。
【００３１】
基本階層エンコーダ１２１は、入力されるビデオデータを分析して関心領域情報を生成させる。関心領域情報は、基本階層エンコーダ１２１の外部に配された関心領域検出手段によって生成してもよい。
フレームバッファ１２３には、基本階層エンコーダ１２１でエンコード結果に基づいて生成されたエンコード統計情報が保存される。そして、基本階層エンコーダ１２１で生成された関心領域情報も保存される。また、Ｈ．２６４標準によって、向上階層エンコーダ１２２でエンコード処理時に用いられる基本階層エンコーダ１２１で生成された情報も保存される。例えば、フレームバッファ１２３には、基本階層エンコーダ１２１でエンコード処理過程で生成されたフレーム間（ｉｎｔｅｒ）またはフレーム内（ｉｎｔｒａ）の予測情報、動き情報、レジデュアル（ｒｅｓｉｄｕａｌ）情報が保存される。
【００３２】
向上階層エンコーダ１２２は、基本階層エンコーダ１２１でエンコード処理過程で生成されたフレーム間（ｉｎｔｅｒ）またはフレーム内（ｉｎｔｒａ）の予測情報、動き情報、レジデュアル（ｒｅｓｉｄｕａｌ）情報を用いてエンコード処理を行うことで圧縮効率を高める。また、向上階層エンコーダ１２２は、基本階層エンコーダ１２１でエンコード結果に基づいて生成されたエンコード統計情報を用いてレート制御を行う。基本階層で生成されたエンコード統計情報を用いて向上階層でのレート制御を行う動作については、後述する。
空間的スケーラビリティは、入力されるフレームデータをアップサンプリングまたはダウンサンプリング処理により実現する。
【００３３】
基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、それぞれフレームのビデオブロックのイントラコーディングまたはインターコーディングを行う。
イントラコーディングは、空間的予測によってフレームまたはマクロブロック内のビデオデータでの空間的冗長を低減または除去する。イントラコーディングは、現在コーディングされているマクロブロックと同じフレーム内の一つ以上の予めエンコードされたマクロブロックに基づいて、空間的予測マクロブロックを形成する。
基本階層エンコーダ１２１は、イントラコーディングの例であり、現在フレームの基本階層内の一つ以上の予めエンコードされたマクロブロックのピクセル値を用いて補間を行うことで、フレーム内の一つ以上の予めエンコードされたマクロブロックに基づいて予測ブロックを生成する。
【００３４】
向上階層エンコーダ１２２は、イントラコーディングの例であり、フレーム内の一つ以上の予めエンコードされたマクロブロックに基づいて、予測マクロブロックを生成する。向上階層エンコーダ１２２は、例えば、フレーム内の基本階層及び向上階層から一つ以上の予めエンコードされたマクロブロックに基づいて予測マクロブロックを生成してもよい。例えば、向上階層エンコーダ１２２は、基本階層から少なくとも一つの予めエンコードされたマクロブロック、及び向上階層からの少なくとも一つの予めエンコードされたマクロブロックについてのピクセル値の加重和（ｗｅｉｇｈｔｅｄ ｓｕｍ）を用いて、予測マクロブロックを生成してもよい。
【００３５】
次いで、インターコーディングは、時間的予測に依存してビデオシーケンスの隣接しているフレーム内の時間的冗長を低減または除去する。インターコーディングの場合、基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、２つ以上の隣接しているフレーム間のマクロブロックを近くマッチングさせて動きを推定する。インター予測において、基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、コーディングされたユニット内の他のフレームから、一つ以上の予めエンコードされたマクロブロックに基づいて時間的予測マクロブロックを生成できる。
【００３６】
例えば、基本階層エンコーダ１２１は、現在のマクロブロックを一つ以上の隣接しているビデオフレーム内のマクロブロックと比べ、現在のマクロブロックに最も近くマッチングされる隣接しているフレーム内のマクロブロックを探し出す。例えば、絶対差の和（ＳＡＤ；Ｓｕｍ ｏｆ Ａｂｓｏｌｕｔｅ Ｄｉｆｆｅｒｅｎｃｅｓ）が最小値を持つ隣接しているフレーム内のマクロブロックを時間的予測マクロブロックと定める。
例えば、向上階層エンコーダ１２２は、現在のマクロブロックを、基本階層及び／または向上階層での一つ以上の隣接しているフレーム内のマクロブロックと比べてもよい。
【００３７】
基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、マクロブロックのイントラ−基盤予測またはインタ−基盤予測を行った後、元のマクロブロックから予測マクロブロックを引くことでレジデュアルマクロブロックを生成する。レジデュアルマクロブロックは、コーディングされる現在のマクロブロックと予測マクロブロックとの差を示す。
基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、変換、量子化及びエントロピコーディング処理によってレジデュアルマクロブロックのビットレートを低減させる。離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、方向性変換または他の変換演算を含む変換技術は、ピクセル差値のセットを、周波数ドメインでピクセル差値のエネルギを示すレジデュアル変換係数に変換する。
【００３８】
基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、量子化パラメータＱＰを用いてレジデュアル変換係数を量子化処理する。量子化パラメータ値によって、ビデオデータについてのエンコード処理のために生成されるビット量が可変される。例えば、ＩＴＵ−Ｔ Ｈ．２６４標準では、量子化パラメータＱＰ値が大きくなれば、ビデオデータがさらに少ないビットを持つ低品質にエンコードされ、量子化パラメータＱＰ値が小くなれば、ビデオデータがさらに多いビットを持つ高品質にエンコードされる。
基本階層エンコーダ１２１は、フレームまたはマクロブロック別に初期設定されたターゲットビット量と、基本階層のエントロピコーディング処理で生成されたビット量とに基づいて量子化パラメータ値を定める。
【００３９】
そして、向上階層エンコーダ１２２は、基本階層エンコーダ１２１で生成されるエンコード統計情報に基づいてフレームまたはマクロブロック別にターゲットビット量を定め、ターゲットビット量と、向上階層のエントロピコーディング処理で生成されたビット量とに基づいて量子化パラメータ値を定める。
品質スケーラビリティは、レジデュアル量子化によって実現される。例えば、最小品質レベルでビデオデータをエンコードする基本階層エンコーダ１２１は、向上階層の係数を量子化するために、向上階層エンコーダ１２２によって用いられた量子化パラメータＱＰ値よりさらに大きい量子化パラメータＱＰ値を用いて、基本階層の係数を量子化する。
【００４０】
また、向上階層エンコーダ１２２は、基本階層エンコーダ１２１で生成されるか、または基本階層エンコーダ１２１の外部で生成されるビデオデータに関する関心領域情報に基づいて、量子化パラメータＱＰ値を定める。例えば、関心領域内での量子化パラメータＱＰ値を、非関心領域内の量子化パラメータＱＰ値に比べて相対的に小さな値に定める。
基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、２次元レジデュアルマクロブロックをスキャニングして係数の１次元ベクトルを生成し、係数ベクトルをエントロピコーディングしてレジデュアル係数をさらに圧縮する。エントロピコーディングは、例えば、可変長コーティング（ＶＬＣ）、算術コーディング、固定長コーディング、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ ＶＬＣ）、ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ）、または他のエントロピコーディング技術を含んでもよい。
【００４１】
基本階層エンコーダ１２１及び向上階層エンコーダ１２２は、単一のエンコードパスプロセスまたは複数のエンコードパスプロセスを用いて係数ベクトルをエンコードする。
基本階層エンコーダ１２１は、例えば、係数ベクトルの最初から始めて、ノンゼロ（ｎｏｎ−ｚｅｒｏ）係数それぞれを単一のエンコードパスで一つずつエンコードする。
基本階層エンコーダ１２１は、ラン・レングスそれぞれを個別的にエンコードするためにＶＬＣテーブルを選択する。基本階層エンコーダ１２１は、ラン・シンボルの和及びこれまでコーディングされたランの和に基づいて、現在のラン値をエンコードするためにＶＬＣテーブルを選択する。例えば、係数ベクトルが８のランの和を持ち、エンコードされた最後のノンゼロ係数前にエンコードされたランが６ならば、すべての残りのランは０、１または２でなければならない。可能なラン長は、それぞれの付加的なランがエンコードされるにつれて段々短くなるため、基本階層エンコーダ３０は、効率的なＶＬＣテーブルを選択してランを示すのに用いられるビットの数を低減させる。
【００４２】
向上階層エンコーダ１２２は、向上階層の量子化されたレジデュアル変換係数をエンコードする。向上階層エンコーダ１２２は、基本階層のレジデュアル係数とは異なる量子化されたレジデュアル係数を生成する。向上階層の量子化されたレジデュアル係数は、量子化中に基本階層の量子化パラメータＱＰ値とは異なる量子化パラメータＱＰ値を用い、基本階層の量子化されたレジデュアル係数と異なる。
向上階層エンコーダ１２２は、基本階層のエンコード結果に基づいたエンコード統計情報を用いて、基準サイズ別に割り当てられるターゲットビット量を割り当てる方式でレートを制御することで、向上階層でのエンコード中に係数ベクトルの量子化レジデュアル係数のうち一つ以上を廃棄してもよい。
【００４３】
向上階層エンコーダ１２２は、係数ベクトルの最初から始めて、ノンゼロ係数それぞれを単一のエンコードパスで一つずつエンコードする。
ソースデバイス１００は、このようにビデオエンコーダ１２０でエンコードされたビデオデータを、送信器１３０を通じて腕先デバイス２００に送信する。
腕先デバイス２００は、受信器２１０、ビデオデコーダ２２０及びディスプレイデバイス２３０を備える。
受信器２１０は、チャネル３００を通じてソースデバイス１００からエンコードされたビデオビットストリームを受信する。前述したように、エンコードされたビデオビットストリームは、基本階層ビットストリーム及び一つ以上の向上階層ビットストリームを含む。そして、チャネル３００は、有線または無線通信チャネルで具現される。
【００４４】
ビデオデコーダ２２０は、基本階層及び一つ以上の向上階層でデコードしてビデオデータを獲得する。ビデオデコーダ２２０は、基本階層デコーダ２２１及び向上階層デコーダ２２２を備える。基本階層デコーダ２２１は、チャネル３００を通じて受信された基本階層ビットストリームをデコードして第１品質のビデオデータを生成する。向上階層デコーダ２２２は、一つ以上の向上階層のビットストリームをデコードして第２品質のビデオデータを生成する。
腕先デバイス２００によって受信される向上階層の数はチャネル状態に依存する。
基本階層デコーダ２２１は、基本階層でエンコードされたビデオビットストリームをデコードし、基本階層の量子化されたレジデュアル係数のベクトルを示すシンボルを獲得する。
【００４５】
向上階層デコーダ２２２は、向上階層でエンコードされたビデオビットストリームをデコードし、向上階層の量子化されたレジデュアル係数のベクトルを示すシンボルを獲得する。
基本階層デコーダ２２１及び向上階層デコーダ２２２は、それぞれデコードされた、量子化されたレジデュアル係数を用いて復元された基本階層ビデオデータ、及び復元された向上階層ビデオデータを生成する。すなわち、量子化されたレジデュアル係数を逆量子化し、逆量子化されたレジデュアル係数を逆変換処理し、ピクセル値のレジデュアルマクロブロックを生成する。そして、ピクセル値のレジデュアルマクロブロックに予測マクロブロックを加えてビデオデータを復元する。
復元されたビデオデータは、ディスプレイデバイス２３０を通じてディスプレイされる。ディスプレイデバイス２３０は、液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機ＬＥＤディスプレイなどの多様なデバイスが適用される。
【００４６】
図３ないし図８は、本発明の実施形態による多階層エンコーダの構成を例示的に示す図である。多階層エンコーダは一例であり、スケーラブルエンコーダなどで具現できる。
まず、図３に示した本発明の一実施形態による多階層エンコーダについて説明する。
図３は、本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダの構成図である。
図３に示したように、多階層エンコーダ１２０Ａは、基本階層エンコーダ１２１Ａ、向上階層エンコーダ１２２Ａ及びフレームバッファ１２３Ａを備える。
具体的に、基本階層エンコーダ１２１Ａは、第１エンコード処理部１０Ａ及び第１レート制御部２０Ａを備え、向上階層エンコーダ１２２Ａは、第２エンコード処理部３０Ａ、第２レート制御部４０Ａ及びアップサンプリング部５０を備える。
【００４７】
図３に示した本発明による実施形態では、アップサンプリング部５０を向上階層エンコーダ１２２Ａ内に配した。また、本発明による他の実施形態として、アップサンプリング部５０を向上階層エンコーダ１２２Ａの外部に配してもよい。
多階層エンコーダ１２０Ａに、オリジナル映像の解像度を持つビデオデータが入力されれば、基本階層エンコーダ１２１Ａは、オリジナルビデオデータを直接エンコード処理し、向上階層エンコーダ１２２Ａは、オリジナルビデオデータを、アップサンプリング部５０によってアップサンプリング処理して高い解像度を持つビデオデータに変換した後、エンコード処理を行う。
【００４８】
例えば、オリジナルビデオデータの解像度がＣＩＦ（Ｃｏｍｍｏｎ Ｉｎｔｅｒｍｅｄｉａｔｅ Ｆｏｒｍａｔ）ならば、基本階層エンコーダ１２１Ａは、ＣＩＦ解像度のオリジナルビデオデータをエンコード処理する。そして、向上階層エンコーダ１２２Ａは、アップサンプリングによって解像度を高めたＳＤ（Ｓｔａｎｄａｒｄ Ｄｅｆｉｎｉｔｉｏｎ）またはＨＤ（Ｈｉｇｈ Ｄｅｆｉｎｉｔｉｏｎ）のビデオデータをエンコード処理する。また、これと逆に、向上階層エンコーダ１２２Ａで高い解像度を持つオリジナルビデオデータをエンコードし、基本階層エンコーダ１２１Ａでは、ダウンスケーリングされたビデオデータをエンコードしてもよい。これについては、図４で説明する。
基本階層エンコーダ１２１Ａの第１エンコード処理部１０Ａは、入力されるフレームデータを、第１レート制御部２０Ａから印加される量子化パラメータ値ＱＰ１に基づいて定められたビットレートにエンコードして、第１解像度を持つ基本階層ビットストリームを生成する。
【００４９】
基本階層エンコーダ１２１Ａの第１エンコード処理部１０Ａは、エンコード結果に基づいたエンコード統計情報を生成する。例えば、エンコード統計情報は、基本階層での領域別にエンコード処理過程で生成されたビット量に関する情報、基本階層のエンコード実行過程で領域別に計算された現在フレームと予測フレームとのピクセルの絶対差の和に関する情報、基本階層で計算された領域別複雑度情報のうち一つ以上の情報が含まれる。ここで、領域のサイズは、ピクチャグループ（ＧＯＰ；Ｇｒｏｕｐ ｏｆ Ｐｉｃｔｕｒｅ）、フレームまたはマクロブロックサイズのうち少なくとも一つ以上を含む。
第１エンコード処理部１０Ａで生成されたエンコード統計情報は、フレームバッファ１２３Ａに保存される。
第１レート制御部２０Ａは、第１ターゲットビットレートによって、第１階層の領域別に割り当てられるターゲットビット量及び量子化パラメータ値を定める。
【００５０】
第１レート制御部２０Ａは、第１ターゲットビットレートによって、マクロブロックについて割り当てられたターゲットビット量と、第１エンコード処理部１０Ａで基本階層のエントロピコーディング処理で実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ１との差に連動して、領域別に割り当てられた量子化パラメータ値を調整し、第１エンコード処理部１０Ａに印加する量子化パラメータ値ＱＰ１を定める。例えば、ターゲットビット量が実際に生成されたビット量より大きい場合には、次のマクロブロックについて割り当てられた量子化パラメータ値を減少させ、ターゲットビット量が実際に生成されたビット量より小さな場合には、次のマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量と同じ場合には、次のマクロブロックに割り当てられた量子化パラメータ値をそのまま保持する。
【００５１】
向上階層エンコーダ１２２Ａのアップサンプリング部５０は、入力されるフレームデータを向上階層の解像度に好適にアップサンプリングする。アップサンプリング部５０でアップサンプリング処理されたフレームデータは、第２エンコード処理部３０Ａに印加される。
向上階層エンコーダ１２２Ａの第２エンコード処理部３０Ａは、アップサンプリング処理されたフレームデータを、第２レート制御部４０Ａから印加される量子化パラメータ値ＱＰ２に基づいて定められたビットレートにエンコードし、第２解像度を持つ向上階層ビットストリームを生成する。
第２レート制御部４０Ａは、第２階層の領域別に割り当てられる量子化パラメータ値を定める。例えば、第２ターゲットビットレートによって第２階層での領域別に割り当てられる量子化パラメータ値が定められる。他の例として、関心領域情報によって、第２階層での領域別に割り当てられる量子化パラメータ値が定められてもよい。
【００５２】
第２レート制御部４０Ａは、向上階層でエンコード処理するマクロブロックの位置に対応する基本階層のエンコード統計情報をフレームバッファ１２３Ａから読み出し、読み出した基本階層のエンコード統計情報に基づいてマクロブロック及び／またはフレームについてのターゲットビット量を定め、定められたマクロブロック及び／またはフレームについてのターゲットビット量と、向上階層のエントロピコーディング処理で実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２との差に連動して、領域別に割り当てられた量子化パラメータ値を調整し、第２エンコード処理部３０Ａに印加する量子化パラメータ値ＱＰ２を定める。例えば、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より大きい場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を減少させ、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より小さな場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２と同じ場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値をそのまま維持する。
【００５３】
図１７Ａないし図１７Ｃは、本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図である。
図１７Ａないし図１７Ｃは、向上階層でエンコードされるビデオデータによる解像度が、基本階層でエンコードされるビデオデータによる解像度に比べて高い例を示す。
図１７Ａ及び図１７Ｂを参照すれば、基本階層でフレーム別にエンコードを行いつつ生成されたエンコード統計情報を、向上階層に対応するフレームについてのエンコードを行うのに用いるように向上階層に伝送する。エンコード統計情報は、ピクチャまたはマクロブロック単位のＳＡＤ値、ピクチャまたはマクロブロック単位で実際に生成されたビット量である。図１７Ａは、Ｉピクチャ及びＰピクチャで構成されたＧＯＰでのエンコード実行過程の例を示したものであり、図１７Ｂは、Ｉピクチャ、Ｂピクチャ及びＰピクチャで構成されたＧＯＰでのエンコード実行過程の例を示したものである。
【００５４】
図１７Ｃを参照すれば、基本階層で生成されたエンコード統計情報であるマクロブロック単位のＳＡＤ値ＭＥ＿ＭＢ＿ＳＡＤ及びピクチャ単位のＳＡＤ値ＭＥ＿ＰＩＣ＿ＳＡＤをアップスケーリングした値に基づいて、向上階層についてのマクロブロックのターゲットビート値ＭＢ＿ｔａｒｇｅｔ＿ｂｉｔを定める。例えば、向上階層でエンコードするマクロブロック位置に対応する基本階層のマクロブロックを探し出し、探し出した基本階層のマクロブロックについてのＳＡＤ値ＭＥ＿ＭＢ＿ＳＡＤを用いて、向上階層についてのマクロブロックのターゲットビート値ＭＢ＿ｔａｒｇｅｔ＿ｂｉｔを定める。
【００５５】
例えば、図１７Ｃには、向上階層での一つのピクチャに含まれたマクロブロックの数は、基本階層での一つのピクチャに含まれたマクロブロックの数の４倍に当たる場合を示す。図１７Ｃでは、基本階層の一つのマクロブロックで算出されたＳＡＤ値ＭＥ＿ＭＢ＿ＳＡＤを用いて、向上階層についての４個のマクロブロックのターゲットビート値ＭＢ＿ｔａｒｇｅｔ＿ｂｉｔを定める事例を示す。
次いで、図４に示した本発明の他の実施形態による多階層エンコーダについて説明する。
【００５６】
図４は、本発明の他の実施形態による空間スケーラビリティを支援する多階層エンコーダの構成図である。
図４に示したように、多階層エンコーダ１２０Ｂは、基本階層エンコーダ１２１Ｂ、向上階層エンコーダ１２２Ｂ及びフレームバッファ１２３Ｂを備える。
具体的に、基本階層エンコーダ１２１Ｂは、第１エンコード処理部１０Ｂ、第１レート制御部２０Ｂ及びダウンサンプリング部６０を備え、向上階層エンコーダ１２２Ｂは、第２エンコード処理部３０Ｂ及び第２レート制御部４０Ｂを備える。
【００５７】
図４に示した本発明による実施形態では、ダウンサンプリング部６０を基本階層エンコーダ１２１Ｂ内に配した。また、本発明による他の実施形態として、ダウンサンプリング部６０を基本階層エンコーダ１２１Ｂの外部に配してもよい。
多階層エンコーダ１２０Ｂにオリジナル映像の解像度を持つビデオデータが入力されれば、向上階層エンコーダ１２２Ｂは、オリジナルビデオデータを直接エンコード処理し、基本階層エンコーダ１２１Ｂは、オリジナルビデオデータをダウンサンプリング処理し、オリジナル映像の解像度より低い解像度を持つビデオデータで変換した後でエンコード処理を行う。
【００５８】
例えば、オリジナルビデオデータの解像度がＨＤ（Ｈｉｇｈ Ｄｅｆｉｎｉｔｉｏｎ）ならば、基本階層エンコーダ１２１Ｂは、ダウンサンプリングによって解像度を低下させたＳＤ（Ｓｔａｎｄａｒｄ Ｄｅｆｉｎｉｔｉｏｎ）またはＣＩＦ（Ｃｏｍｍｏｎ Ｉｎｔｅｒｍｅｄｉａｔｅ Ｆｏｒｍａｔ）のビデオデータをエンコード処理する。そして、向上階層エンコーダ１２２Ｂは、ＨＤ解像度のオリジナルビデオデータをエンコード処理する。
基本階層エンコーダ１２１Ｂのダウンサンプリング部６０は、入力されるフレームデータを、基本階層の解像度に好適にダウンサンプリングする。ダウンサンプリング部６０でダウンサンプリング処理されたフレームデータは、第１エンコード処理部１０Ｂに印加される。
【００５９】
第１エンコード処理部１０Ｂは、ダウンサンプリング処理されたフレームデータを、第１レート制御部２０Ｂから印加される量子化パラメータ値ＱＰ１に基づいて定められたビットレートにエンコードして、第１解像度の基本階層ビットストリームを生成する。
基本階層エンコーダ１２１Ｂの第１エンコード処理部１０Ｂは、エンコード結果に基づいたエンコード統計情報を生成する。基本階層エンコーダ１２１Ｂで生成されるエンコード統計情報は、図３に示したエンコード統計情報と同一である。
基本階層エンコーダ１２１Ｂで生成されたエンコード統計情報は、フレームバッファ１２３Ｂに保存される。
【００６０】
第１レート制御部２０Ｂの動作は、図３に示した第１レート制御部２０Ａの動作と実質的に同一であるため、省略する。
向上階層エンコーダ１２２Ｂの入力されるフレームデータを、第２レート制御部４０Ｂから印加される量子化パラメータ値ＱＰ２に基づいて定められたビットレートにエンコードして、第２解像度の向上階層ビットストリームを生成する。
第２レート制御部４０Ｂは、第２階層の領域別に割り当てられる量子化パラメータ値を定める。例えば、第２ターゲットビットレートによって第２階層での領域別に割り当てられる量子化パラメータ値が定められる。他の例として、関心領域情報によって第２階層での領域別に割り当てられる量子化パラメータ値を定めてもよい。
【００６１】
第２レート制御部４０Ｂは、向上階層でエンコード処理するマクロブロックの位置に対応する基本階層のエンコード統計情報をフレームバッファ１２３Ｂから読み出し、読み出した基本階層のエンコード統計情報に基づいてマクロブロック及び／またはフレームについてのターゲットビット量を定め、定められたマクロブロック及び／またはフレームについてのターゲットビット量と、向上階層のエントロピコーディング処理で実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２との差に連動して、領域別に割り当てられた量子化パラメータ値を調整し、第２エンコード処理部３０Ｂに印加する量子化パラメータ値ＱＰ２を定める。例えば、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より大きい場合には、次のマクロブロックについて割り当てられた量子化パラメータ値を減少させ、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より小さな場合には、次のマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２と同じ場合には、次のマクロブロックについて割り当てられた量子化パラメータ値をそのまま維持する。
【００６２】
図５は、本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダの構成図である。
図５に示したように、多階層エンコーダ１２０Ｃは、基本階層エンコーダ１２１Ｃ、向上階層エンコーダ１２２Ｃ及びフレームバッファ１２３Ｃを備える。
具体的に、基本階層エンコーダ１２１Ｃは、第１エンコード処理部１０Ｃ及び第１レート制御部２０Ｃを備え、向上階層エンコーダ１２２Ｃは、第２エンコード処理部３０Ｃ、第２レート制御部４０Ｃを備える。
品質スケーラビリティを支援する多階層エンコーダで、基本階層と向上階層とでエンコードするビデオデータの解像度が同一であれば、向上階層でのアップ／ダウンサンプリング処理が不要になる。
【００６３】
基本階層エンコーダ１２１Ｃの第１エンコード処理部１０Ｃは、オリジナルビデオデータを、第１レート制御部２０Ｃから印加される量子化パラメータ値ＱＰ１に基づいて定められたビットレートにエンコードして、第１品質の基本階層ビットストリームを生成する。
基本階層エンコーダ１２１Ｃは、エンコード結果に基づいたエンコード統計情報を生成する。基本階層エンコーダ１２１Ｃで生成されるエンコード統計情報は、図３に示したエンコード統計情報と同一である。
基本階層エンコーダ１２１Ｃで生成されたエンコード統計情報は、フレームバッファ１２３Ｃに保存される。
【００６４】
第１レート制御部２０Ｃは、第１ターゲットビットレートによってマクロブロックについて割り当てられたターゲットビット量と、第１エンコード処理部１０Ｃで基本階層のエントロピコーディング処理で実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ１との差に連動して、領域別に割り当てられた量子化パラメータ値を調整し、第１エンコード処理部１０Ｃに印加する量子化パラメータ値ＱＰ１を定める。例えば、ターゲットビット量が実際に生成されたビット量より大きい場合には、次のマクロブロックについて割り当てられた量子化パラメータ値を減少させ、ターゲットビット量が実際に生成されたビット量より小さな場合には、次のマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量と同じ場合には、次のマクロブロックに割り当てられた量子化パラメータ値をそのまま維持する。
【００６５】
向上階層エンコーダ１２２Ｃの第２エンコード処理部３０Ｃは、フレームデータを、第２レート制御部４０Ｃから印加される量子化パラメータ値ＱＰ２に基づいて定められたビットレートにエンコードし、第２品質の向上階層ビットストリームを生成する。
第２レート制御部４０Ｃは、向上階層でエンコード処理するマクロブロックの位置に対応する基本階層のエンコード統計情報をフレームバッファ１２３Ｂから読み出し、読み出した基本階層のエンコード統計情報に基づいてマクロブロック及び／またはフレームについてのターゲットビット量を定め、定められたマクロブロック及び／またはフレームについてのターゲットビット量と、向上階層のエントロピコーディング処理で実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２との差に連動して、領域別に割り当てられた量子化パラメータ値を調整し、第２エンコード処理部３０Ｃに印加する量子化パラメータ値ＱＰ２を定める。
【００６６】
例えば、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より大きい場合には、次のマクロブロックについて割り当てられた量子化パラメータ値を減少させ、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より小さな場合には、次のマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２と同じ場合には、次のマクロブロックについて割り当てられた量子化パラメータ値をそのまま維持する。
【００６７】
図１８Ａないし図１８Ｄは、本発明の一実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のマクロブロックについてのターゲットビット量を定める過程を示す概念図である。
図１８Ａないし図１８Ｄは例として、ＭＧＳ（Ｍｅｄｉｕｍ Ｇｒａｉｎｅｄ Ｓｃａｌａｂｉｌｉｔｙ）とＣＧＳ（Ｃｏａｒｓｅ Ｇｒａｉｎｅｄ Ｓｃａｌａｂｉｌｉｔｙ）基盤などの多様な多階層ビデオコーディング事例を示す。
図１８Ａないし図１８Ｃを参照すれば、基本階層でフレーム別にエンコードを行いつつ生成されたエンコード統計情報を、向上階層に対応するフレームについてのエンコードを行うのに用いるように向上階層に伝送する。エンコード統計情報は、ピクチャまたはマクロブロック単位のＳＡＤ値及び／または実際に生成されたビット量になる。例えば、基本階層は、ＭＧＳ ｑｕａｌｉｔｙ ｌａｙｅｒ＿０に当たり、向上階層は、周波数領域に変換された係数が分割されたＭＧＳ ｑｕａｌｉｔｙ ｌａｙｅｒの組み合わせで形成される。
【００６８】
図１８Ｄを参照すれば、基本階層でフレーム別にエンコードを行いつつ生成されたエンコード統計情報を、向上階層に対応するフレームについてのエンコードを行うのに用いるように向上階層に伝送する。エンコード統計情報は、ピクチャまたはマクロブロック単位のＳＡＤ値及び／または実際に生成されたビット量になる。基本階層は、ｌａｙｅｒ ｔａｒｇｅｔ ｂｉｔ０にエンコードされるＣＧＳ ｑｕａｌｉｔｙ ｌａｙｅｒ１に当たる。
図１８Ｄを参照すれば、基本階層で生成されたエンコード統計情報であるマクロブロック単位のＳＡＤ値ＭＥ＿ＭＢ＿ＳＡＤ及び／またはピクチャ単位のＳＡＤ値ＭＥ＿ＰＩＣ＿ＳＡＤに基づいて、向上階層についてのマクロブロックのターゲットビート値ＭＢ＿ｔａｒｇｅｔ＿ｂｉｔを定める。
【００６９】
図６は、本発明の実施形態による空間スケーラビリティを支援する多階層エンコーダの構成図である。
図６に示したように、多階層エンコーダ１２０Ｄは、基本階層エンコーダ１２１Ｄ、向上階層エンコーダ１２２Ｄ及びフレームバッファ１２３Ｄを備える。
具体的に、基本階層エンコーダ１２１Ｄは、第１エンコード処理部１０Ａ、第１レート制御部２０Ａ及び関心領域ＲＯＩ検出部７０を備え、向上階層エンコーダ１２２Ｄは、第２エンコード処理部３０Ｄ、第２レート制御部４０Ｄ及びアップサンプリング部５０を備える。
【００７０】
図６に示した本発明による実施形態では、アップサンプリング部５０を向上階層エンコーダ１２２Ｄ内に配した。また、本発明による他の実施形態として、アップサンプリング部５０を向上階層エンコーダ１２２Ｄの外部に配してもよい。
関心領域検出部７０は、フレームデータを分析し、映像の複雑度情報、映像の動き量情報または映像の画素分布度情報のうち一つ以上の情報を用いて関心領域ＲＯＩ情報を算出する。例えば、映像の変化程度または映像の動き量または画素分布度が第１しきい値以上である領域を関心領域と定め、映像の変化程度または映像の動き量または画素分布度が第２しきい値以下である領域を非関心領域と定める。ここで第１しきい値は、第２しきい値より大きい値に設定される。関心領域情報を算出する具体的な方式については、下記の図９ないし図１１で後述する。
【００７１】
基本階層エンコーダ１２１Ｄの第１エンコード処理部１０Ａ及び第１レート制御部２０Ａは、図３に示した基本階層エンコーダ１２１Ａの第１エンコード処理部１０Ａ及び第１レート制御部２０Ａと同じ構成手段に当たる。
これによって、基本階層エンコーダ１２１Ｄは、エンコード結果に基づいたエンコード統計情報を生成する。
フレームバッファ１２３Ｄには、基本階層エンコーダ１２１Ｄで生成されたエンコード統計情報及び関心領域ＲＯＩ情報が保存される。
【００７２】
向上階層エンコーダ１２２Ｄのアップサンプリング部５０は、入力されるオリジナルビデオデータを、向上階層の解像度に好適にアップサンプリングする。アップサンプリング部５０でアップサンプリング処理されたビデオデータは、第２エンコード処理部３０Ｄに印加される。
向上階層エンコーダ１２２Ｄの第２エンコード処理部３０Ｄは、アップサンプリング処理されたビデオデータを、第２レート制御部４０Ｄから印加される量子化パラメータ値ＱＰ２に基づいて定められたビットレートにエンコードし、第２解像度の向上階層ビットストリームを生成する。
【００７３】
一例として、第２レート制御部４０Ｄは、向上階層でエンコード処理するマクロブロックの位置に対応する基本階層のエンコード統計情報をフレームバッファ１２３Ｄから読み出し、読み出した基本階層のエンコード統計情報に基づいてマクロブロック及び／またはフレームについてのターゲットビット量を定める。
他の例として、第２レート制御部４０Ｄは、向上階層の解像度に相応する第２ターゲットビットレートに基づいてマクロブロックについてのターゲットビット量を定めてもよい。
そして、第２レート制御部４０Ｄは、基本階層でエンコーダで生成された関心領域ＲＯＩ情報に基づいて、向上階層で領域別に割り当てられる量子化パラメータ値を定める。例えば、関心領域内での量子化パラメータ値を、非関心領域内の量子化パラメータ値に比べて相対的に小さな値に定める。
【００７４】
図２０Ａないし図２０Ｃは、本発明の一実施形態による空間スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図である。
図２０Ａ及び図２０Ｂを参照すれば、基本階層でフレーム別エンコードを行いつつ生成された関心領域ＲＯＩ情報を、向上階層に対応するフレームについての量子化パラメータ値を割り当てるのに用いるように向上階層に伝送する。
図２０Ａは、Ｉピクチャ及びＰピクチャで構成されたＧＯＰでのエンコード実行過程の例を示すものであり、図２０Ｂは、Ｉピクチャ、Ｂピクチャ及びＰピクチャで構成されたＧＯＰでのエンコード実行過程の例を示すものである。
【００７５】
図２０Ｃを参照すれば、基本階層で生成された関心領域情報に基づいて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる。例えば、向上階層でエンコードするマクロブロック位置に対応する基本階層のマクロブロックを探し出し、探し出した基本階層のマクロブロックに関する関心領域情報を用いて向上階層についてのマクロブロックの量子化パラメータ値を割り当てる。
例えば、図２０Ｃには、向上階層での一つのピクチャに含まれたマクロブロックの数は、基本階層での一つのピクチャに含まれたマクロブロックの数の４倍に当たる場合を示す。図２０Ｃでは、基本階層の一つのマクロブロックで生成された関心領域情報を用いて、向上階層についての４個のマクロブロックについての量子化パラメータ値を割り当てる。
【００７６】
図２２は、関心領域情報を用いて向上階層での割り当てられた量子化パラメータ値の例を示す。
図２２を参照すれば、関心領域で、量子化パラメータ値は２９に割り当てられ、非関心領域では、量子化パラメータ値が５１に割り当てられ、関心領域でも非関心領域でもない一般領域では、量子化パラメータ値が４０に割り当てられる。
【００７７】
第２レート制御部４０Ｄは、現在マクロブロックに割り当てられたターゲットビット量と、現在マクロブロックのエントロピコーディング処理で実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２との差に連動して、次のマクロブロックに割り当てられている量子化パラメータ値を調整し、第２エンコード処理部３０Ｄに印加する量子化パラメータ値ＱＰ２を定める。例えば、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より大きい場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を減少させ、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より小さな場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２と同じ場合には、次いで処理するマクロブロックに割り当てられている量子化パラメータ値をそのまま維持する。そして、フレーム別最初のマクロブロックについてのエンコード処理時には、関心領域情報によって割り当てられている量子化パラメータ値を適用する。
【００７８】
図７は、本発明の他の実施形態による空間スケーラビリティを支援する多階層エンコーダの構成図である。
図７に示したように、多階層エンコーダ１２０Ｅは、基本階層エンコーダ１２１Ｅ、向上階層エンコーダ１２２Ｅ及びフレームバッファ１２３Ｅを備える。
具体的に、基本階層エンコーダ１２１Ｅは、第１エンコード処理部１０Ｂ、第１レート制御部２０Ｂ、ダウンサンプリング部６０及び関心領域ＲＯＩ検出部７０を備え、向上階層エンコーダ１２２Ｅは、第２エンコード処理部３０Ｅ及び第２レート制御部４０Ｅを備える。
【００７９】
図７に示した本発明による実施形態では、ダウンサンプリング部６０を基本階層エンコーダ１２１Ｅ内に配した。本発明による他の実施形態として、ダウンサンプリング部６０を基本階層エンコーダ１２１Ｅの外部に配してもよい。
関心領域検出部７０は、図６で前述したように、入力される映像データを分析して関心領域ＲＯＩ情報を算出する。
基本階層エンコーダ１２１Ｅのダウンサンプリング部６０は、入力されるオリジナルビデオデータを基本階層の解像度に好適にダウンサンプリングする。ダウンサンプリング部６０でダウンサンプリング処理されたビデオデータは、第１エンコード処理部１０Ｂに印加される。
【００８０】
基本階層エンコーダ１２１Ｅの第１エンコード処理部１０Ｂ及び第１レート制御部２０Ｂは、図４に示した基本階層エンコーダ１２１Ｂの第１エンコード処理部１０Ｂ及び第１レート制御部２０Ｂと同じ構成手段に当たる。これによって、基本階層エンコーダ１２１Ｅは、基本階層でのエンコード結果に基づいたエンコード統計情報を生成する。そして、基本階層エンコーダ１２１Ｅは、関心領域ＲＯＩ情報も生成する。
フレームバッファ１２３Ｅには、基本階層エンコーダ１２１Ｅで生成されたエンコード統計情報及び関心領域ＲＯＩ情報が保存される。
【００８１】
向上階層エンコーダ１２２Ｅの第２エンコード処理部３０Ｅは、オリジナルビデオデータを、第２レート制御部４０Ｅから印加される量子化パラメータ値ＱＰ２に基づいて定められたビットレートにエンコードし、第２解像度の向上階層ビットストリームを生成する。
一例として、第２レート制御部４０Ｅは、向上階層でエンコード処理するマクロブロックの位置に対応する基本階層のエンコード統計情報をフレームバッファ１２３Ｅから読み出し、読み出した基本階層のエンコード統計情報に基づいてマクロブロック及び／またはフレームについてのターゲットビット量を定める。
【００８２】
他の例として、第２レート制御部４０Ｅは、向上階層の解像度に相応する第２ターゲットビットレートによってマクロブロックについてのターゲットビット量を定めてもよい。
そして、第２レート制御部４０Ｅは、基本階層でエンコーダで生成された関心領域ＲＯＩ情報に基づいて、向上階層で領域別に割り当てられる量子化パラメータ値を定める。例えば、関心領域内の量子化パラメータ値を、非関心領域内の量子化パラメータ値に比べて相対的に小さな値に定める。
【００８３】
図２０Ａないし図２０Ｃで説明したような方式で、基本階層の関心領域情報を用いて向上階層のマクロブロックについての量子化パラメータ値を割り当てる。
第２レート制御部４０Ｅは、現在マクロブロックに割り当てられたターゲットビット量と、現在マクロブロックのエントロピコーディング処理で実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２との差に連動して、次のマクロブロックに割り当てられている量子化パラメータ値を調整する。例えば、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より大きい場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を減少させ、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２より小さな場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ２と同じ場合には、次いで処理するマクロブロックに割り当てられている量子化パラメータＱＰ２値をそのまま維持する。そして、フレーム別最初のマクロブロックについてのエンコード処理時には、関心領域情報によって割り当てられている量子化パラメータ値を適用する。
【００８４】
図８は、本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダの構成図である。
図８に示したように、多階層エンコーダ１２０Ｆは、基本階層エンコーダ１２１Ｆ、向上階層エンコーダ１２２Ｆ及びフレームバッファ１２３Ｆを備える。
具体的に、基本階層エンコーダ１２１Ｆは、第１エンコード処理部１０Ｃ、第１レート制御部２０Ｃ及び関心領域ＲＯＩ検出部７０を備え、向上階層エンコーダ１２２Ｅは、第２エンコード処理部３０Ｆ及び第２レート制御部４０Ｆを備える。
関心領域検出部７０は、図６で前述したように、入力される映像データを分析して関心領域ＲＯＩ情報を算出する。
【００８５】
基本階層エンコーダ１２１Ｆの第１エンコード処理部１０Ｃ及び第１レート制御部２０Ｃは、図５に示した基本階層エンコーダ１２１Ｃの第１エンコード処理部１０Ｃ及び第１レート制御部２０Ｃと同じ構成手段に当たる。これによって、基本階層エンコーダ１２１Ｆは、基本階層でのエンコード結果に基づいたエンコード統計情報を生成する。そして、基本階層エンコーダ１２１Ｆは、関心領域ＲＯＩ情報も生成する。
フレームバッファ１２３Ｆには、基本階層エンコーダ１２１Ｆで生成されたエンコード統計情報及び関心領域ＲＯＩ情報が保存される。
向上階層エンコーダ１２２Ｆは、入力されるオリジナルフレームデータを、第２レート制御部４０Ｆから印加される量子化パラメータＱＰ２値に基づいて定められたビットレートにエンコードし、第２解像度の向上階層ビットストリームを生成する。
【００８６】
一例として、第２レート制御部４０Ｆは、向上階層でエンコード処理するマクロブロックの位置に対応する基本階層のエンコード統計情報をフレームバッファ１２３Ｆから読み出し、読み出した基本階層のエンコード統計情報に基づいてマクロブロック及び／またはフレームについてのターゲットビット量を定める。
他の例として、第２レート制御部４０Ｆは、向上階層の解像度に相応する第２ターゲットビットレートによってマクロブロックについてのターゲットビット量を定めてもよい。
そして、第２レート制御部４０Ｆは、基本階層でエンコーダで生成された関心領域ＲＯＩ情報に基づいて、向上階層についての量子化パラメータ値を割り当てる。例えば、関心領域内での量子化パラメータ値を、非関心領域内の量子化パラメータ値に比べて相対的に小さな値に定める。
【００８７】
図２１Ａないし図２１Ｄは、本発明の実施形態による品質スケーラビリティを支援する多階層エンコーダでの基本階層の関心領域情報を用いて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる過程を示す概念図である。
図２１Ａないし図２１Ｄは、例えば、ＭＧＳとＣＧＳ基盤などの多様な多階層ビデオコーディング事例を示す。
【００８８】
図２１Ａを参照すれば、基本階層ＭＳＧ Ｑｕａｌｉｔｙ ｌａｙｅｒ＿０でフレーム別にエンコードを行いつつ生成された関心領域ＲＯＩ情報を、向上階層ＭＳＧ Ｑｕａｌｉｔｙ ｌａｙｅｒ＿１及びＭＳＧ Ｑｕａｌｉｔｙ ｌａｙｅｒ＿２に対応するフレームについての量子化パラメータ値を割り当てるのに用いるように向上階層に伝送する。
そして、図２１Ｂ及び図２１Ｃを参照すれば、基本階層Ｑｕａｌｉｔｙ ｌａｙｅｒ＿０でフレーム別にエンコードを行いつつ生成された関心領域ＲＯＩ情報を、向上階層Ｑｕａｌｉｔｙ ｌａｙｅｒ＿１に対応するフレームについての量子化パラメータ値を割り当てるのに用いるように向上階層に伝送する。
【００８９】
図２１Ｄを参照すれば、基本階層で生成された関心領域情報に基づいて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる。向上階層でエンコードするマクロブロック位置に対応する基本階層のマクロブロックを探し出し、探し出した基本階層のマクロブロックに関する関心領域情報を用いて、向上階層についてのマクロブロックの量子化パラメータ値を割り当てる。
第２レート制御部４０Ｆは、現在マクロブロックに割り当てられたターゲットビット量と、現在マクロブロックのエントロピコーディング処理で実際に生成されたビット量との差に連動して、次のマクロブロックに割り当てられている量子化パラメータ値を調整し、第２エンコード処理部４０Ｆに印加する量子化パラメータ値ＱＰ２を定める。
【００９０】
例えば、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ１より大きい場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を減少させ、ターゲットビット量が実際に生成されたビット量Ｂｉｔｓ＿ＩＮＦ１より小さな場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量Ｂｉｔｓ＿ＩＮＦ１が実際に生成されたビット量と同じ場合には、次いで処理するマクロブロックに割り当てられている量子化パラメータ値をそのまま維持する。そして、フレーム別最初のマクロブロックについてのエンコード処理時には、関心領域情報によって割り当てられている量子化パラメータ値を適用する。
【００９１】
図６ないし図８に示したように、関心領域ＲＯＩ検出部７０は、基本階層エンコーダ１２１Ｄないし１２１Ｆの内部に配される。他の例として、関心領域ＲＯＩ検出部７０は、基本階層エンコーダ１２１Ｄないし１２１Ｆの外部に配されてもよい。
図６ないし図８に示した関心領域ＲＯＩ検出部についての構成の例を、図９ないし図１１に示した。
【００９２】
図９を参照すれば、本発明の一実施形態による関心領域検出部７０Ａは、映像複雑度計算部７１Ａ及び領域決定部７２Ａで構成される。
映像複雑度計算部７１Ａは、入力フレームデータのマクロブロックごとに境界面（ｉｎｔｅｒｆａｃｅ）と検出される画素の数を、映像複雑度として計算する。ここで、映像複雑度とは、映像の変化が大きいかどうかを示す尺度を意味する。このために映像複雑度計算部７１Ａは、キャニーエッジ検出器（Ｃａｎｎｙ Ｅｄｇｅ Ｄｅｔｅｃｔｏｒ）などの境界面検出方法を用いて映像の複雑度を算出する。
領域決定部７２Ａは、マクロブロックごとに境界面と検出される画素の数が初期設定された第１しきい値より大きい領域、または境界面周辺の画素の画素値が初期設定された第２しきい値より大きい領域を関心領域と定める。
【００９３】
図１０を参照すれば、本発明の他の実施形態による関心領域検出部７０Ｂは、動き量計算部７１Ｂ及び領域決定部７２Ｂで構成される。
動き量計算部７１Ｂは、入力フレームデータのマクロブロック別に動きベクトルを検出し、検出されたマクロブロック別動きベクトルの水平方向成分と垂直方向成分それぞれを二乗して加えた値の平方根で動き量を求める。
領域決定部７２Ｂは、マクロブロック別に計算された動き量が初期設定された第３しきい値より大きい領域、または周辺領域の動き量が初期設定された第４しきい値より大きいか、または同じ領域を関心領域と定める。
【００９４】
図１１を参照すれば、本発明のさらに他の実施形態による関心領域検出部７０Ｃは、画素分布度計算部７１Ｃ及び領域決定部７２Ｃで構成される。
画素分布度計算部７１Ｃは、入力フレームデータについてヒストグラムインターセクションを適用して各画素値の累積個数を求め、画素分布度を求める。
領域決定部７２Ｃは、マクロブロック別に計算された画素分布度が初期設定された第５しきい値より大きい領域、または周辺領域の画素分布度が初期設定された第６しきい値より大きいか、または同じ画素分布度を持つ領域を関心領域と定める。
【００９５】
本発明のさらに他の実施形態では、入力映像の複雑度、入力映像の動き量または入力映像の画素分布度のうち２つ以上を組み合わせて関心領域情報を算出してもよい。
次いで、図１２ないし図１４は、本発明の実施形態による向上階層エンコーダ１２２Ａないし１２２Ｆの第２レート制御部４０Ａないし４０Ｆの詳細的な構成例を示す。
図１２を参照すれば、本発明の一実施形態による第２レート制御部４０Ａないし４０Ｆは、ビット量決定器４１Ａ及び量子化パラメータ決定器を備える。
ビット量決定器４１Ａは、基本階層で生成されたエンコード統計情報に基づいて向上階層の領域別ターゲットビット量を定める。
【００９６】
一例として、ビット量決定器４１Ａは、基本階層でマクロブロック別に生成されたビット量に基づいて、向上階層のマクロブロック別ターゲットビット量を定める。基本階層と向上階層との空間的解像度が異なる場合に、基本階層でマクロブロック別に生成されたビット量をアップスケーリングまたはダウンスケーリング処理して、向上階層に対応するマクロブロックのターゲットビット量と定める。
詳細には、向上階層の解像度が基本階層の解像度より高い場合には、基本階層でマクロブロック別に生成されたビット量を向上階層の解像度に好適にアップスケーリングした結果として、向上階層のマクロブロックについてのターゲットビット量を定める。そして、向上階層の解像度が基本階層の解像度より低い場合には、基本階層でマクロブロック別に生成されたビット量を向上階層の解像度に好適にダウンサンプリングした結果として、向上階層のマクロブロックについてのターゲットビット量を定める。
【００９７】
そして、向上階層の解像度と基本階層の解像度とが相等しい場合には、基本階層でマクロブロック別に生成されたビット量として、向上階層のマクロブロックについてのターゲットビット量を定める。
ビット量決定器４１Ａは、数式１を用いて向上階層のｉ番目（ｉは、１以上の整数）のマクロブロックに割り当てられるターゲットビット量Ｔｍｂ（ｉ）を算出する。
【００９８】
【数１】
0006291172.tif 000002
【００９９】
ここで、Ｔｐｉｃは、向上階層のピクチャに割り当てられたターゲットビット量であり、ＭＢ＿ＢＩＴＳ（ｉ）は、向上階層のｉ番目のマクロブロックにマッチングされる基本階層のマクロブロックで生成されたビット量であり、ＰＩＣ＿ＢＩＴＳ＿ＳＵＭは、基本階層でピクチャの全体マクロブロックで生成されたビット量の和である。
他の例として、ビット量決定器４１Ａは、基本階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和ＳＡＤに基づいて、向上階層のマクロブロックについてのターゲットビット量を定める。
詳細には、ビット量決定器４１Ａは、数式２を用いて向上階層のｉ番目（ｉは、１以上の整数）のマクロブロックに割り当てられるターゲットビット量Ｔｍｂ（ｉ）を算出する。
【０１００】
【数２】
0006291172.tif 000003
【０１０１】
ここで、Ｔｐｉｃは、向上階層のピクチャに割り当てられたターゲットビット量であり、ＭＢ＿ＳＡＤ（ｉ）は、向上階層のｉ番目のマクロブロックにマッチングされる基本階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和であり、ＰＩＣ＿ＳＡＤ＿ＳＵＭは、基本階層でピクチャの全体マクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和である。
【０１０２】
さらに他の例として、ビット量決定器４１Ａは、向上階層のマクロブロックにマッチングされる基本階層のマクロブロックについてのエンコード時に生成されたビット量、及び向上階層のマクロブロックにマッチングされる基本階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和に基づいて、向上階層のマクロブロックについてのターゲットビット量を定める。
詳細には、ビット量決定器４１Ａは、数式３を用いて向上階層のｉ番目（ｉは、１以上の整数）のマクロブロックに割り当てられるターゲットビット量Ｔｍｂ（ｉ）を算出する。
【０１０３】
【数３】
0006291172.tif 000004
【０１０４】
ここで、Ｔｐｉｃは、向上階層のピクチャに割り当てられたターゲットビット量であり、ＭＢ＿ＢＩＴＳ（ｉ）は、向上階層のｉ番目のマクロブロックにマッチングされる第１階層のマクロブロックで生成されたビット量であり、ＰＩＣ＿ＢＩＴＳ＿ＳＵＭは、基本階層でピクチャの全体マクロブロックで生成されたビット量の和であり、ＭＢ＿ＳＡＤ（ｉ）は、向上階層のｉ番目のマクロブロックにマッチングされる基本階層のマクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和であり、ＰＩＣ＿ＳＡＤ＿ＳＵＭは、基本階層でピクチャの全体マクロブロックで計算された現在フレームと予測フレームとのピクセルの絶対差の和であり、Ｗは、加重係数であって、０＜Ｗ＜１である。
【０１０５】
さらに他の例として、ビット量決定器４１Ａは、基本階層で計算された基準サイズについての複雑度、基本階層でのピクチャグループに割り当てられたターゲットビット量についてのフレームに割り当てられたターゲットビット量の割合のうち少なくとも一つの情報に基づいて、向上階層のフレーム別に割り当てられるターゲットビット量を定める。
図１９Ａ及び図１９Ｂは、本発明の実施形態による多階層エンコーダでの基本階層のエンコード統計情報を用いて、向上階層のフレームについてのターゲットビット量を定める方法を示す概念図である。
【０１０６】
図１９Ａは、Ｉピクチャ及びＰピクチャで構成されたＧＯＰでのエンコード実行過程の例を示したものであり、図１９Ｂは、Ｉピクチャ、Ｂピクチャ及びＰピクチャで構成されたＧＯＰでのエンコード実行過程の例を示したものである。
図１９Ａ及び図１９Ｂを参照すれば、基本階層でエンコードを行いつつ算出されたフレーム複雑度及びピクチャグループでのフレームビット占有情報を、向上階層のフレーム別に割り当てられるターゲットビット量の決定に用いるために向上階層に伝送する。
詳細には、ビット量決定器４１Ａは、数式４を用いて向上階層のｉ番目（ｉは、１以上の整数）のフレームに割り当てられるターゲットビット量ＴＥＮＨ＿ｆｒａｍｅ［ｉ］を算出する。
【０１０７】
【数４】
0006291172.tif 000005
【０１０８】
ここで、ＧＯＰ＿ＡＬＬＯＣ＿ＢＩＴＳＥＮＨは、向上階層のピクチャグループに割り当てられたターゲットビット量であり、ＰＩＣＴＵＲＥ＿ＴＹＰＥは、ピクチャのタイプであり、ＣＯＭＰＬＥＸＩＴＹＢＡＳＥ［ｉ］は、基本階層のｉ番目のフレームについての複雑度であり、ＧＯＰ＿ＡＬＬＯＣ＿ＢＩＴＳＢＡＳＥは、基本階層のピクチャグループで生成されたビット量であり、ＦＲＡＭＥ＿ＢＩＴＳＢＡＳＥ［ｉ］は、基本階層のｉ番目のフレームで生成されたビット量である。
【０１０９】
数式４の分母項は、ピクチャのタイプ、基本階層のフレームについての複雑度及び基本階層のｉ番目のフレームで生成されたビット量を、基本階層のピクチャグループで生成されたビット量で割った値に基づいて算出される値である。
数式４を参照すれば、例えば、ピクチャグループのうちＩピクチャがＰピクチャに比べて分母値が小くなり、基本階層のフレームについての複雑度が高くなるほど分母値が小くなるようにＦＲＡＭＥ＿ＷＥＩＧＨＴ関数を定める。
【０１１０】
量子化パラメータ決定器４２Ａは、ビット量決定器４１Ａで定められたターゲットビット量と、向上階層で向上階層のエントロピコーディング処理で実際に生成されたビット量との差に連動して、量子化パラメータ値ＱＰ２を定める。例えば、向上階層のエントロピコーディング処理でのビット発生情報に基づいて実際に生成されたビット量が得られる。
向上階層のターゲットビットレートに基づいて、向上階層でのマクロブロック別に量子化パラメータを初期値に割り当てる。例えば、向上階層のすべてのマクロブロックについて、同じ量子化パラメータ値を初期値に割り当てる。
【０１１１】
量子化パラメータ決定器４２Ａは、現在マクロブロックに割り当てられたターゲットビット量が向上階層のエントロピコーディング処理で実際に生成されたビット量より大きい場合には、向上階層の次のマクロブロックに割り当てられた量子化パラメータ値を減少させ、現在マクロブロックに割り当てられたターゲットビット量が向上階層のエントロピコーディング処理で実際に生成されたビット量より小さな場合には、向上階層の次のマクロブロックに割り当てられた量子化パラメータ値を増加させる。そして、現在マクロブロックに割り当てられたターゲットビット量と、向上階層のエントロピコーディング処理で実際に生成されたビット量とが同じ場合には、向上階層の次のマクロブロックに割り当てられた量子化パラメータ値をそのまま維持する。
【０１１２】
量子化パラメータ決定器４２Ａは、このように向上階層の現在マクロブロックについてのエンコード結果に基づいて、次のマクロブロックについて適用する量子化パラメータ値ＱＰ２を最終的に定める。最終的に定められた、次のマクロブロックについての量子化パラメータ値ＱＰ２を適用して向上階層についての量子化処理を行える。
【０１１３】
図１３を参照すれば、本発明の他の実施形態による第２レート制御部４０Ａないし４０Ｆは、ビット量決定器４１Ｂ及び量子化パラメータ決定器４２Ｂを備える。
ビット量決定器４１Ｂは、向上階層のピクチャまたはピクチャグループ別に割り当てられたターゲットビット量に基づいて、該ピクチャのマクロブロック別ターゲットビット量を定める。この場合には、基本階層で生成されたエンコード統計情報を用いなくてもよい。
【０１１４】
量子化パラメータ決定器４２Ｂは、基本階層でエンコード処理したビデオフレームで生成された関心領域情報に基づいて、向上階層についての量子化パラメータ値を割り当てる。例えば、向上階層でエンコードするマクロブロック位置に対応する基本階層のマクロブロックを探し出し、探し出した基本階層のマクロブロックに関する関心領域情報を用いて、向上階層についてのマクロブロックの量子化パラメータ値を割り当てる。例えば、図２４に示したように、関心領域内での量子化パラメータ値を、非関心領域内の量子化パラメータ値に比べて相対的に小さな値に定める。
【０１１５】
量子化パラメータ決定器４２Ｂは、現在マクロブロックに割り当てられたターゲットビット量と、現在マクロブロックのエントロピコーディング処理で実際に生成されたビット量との差に連動して、次のマクロブロックに割り当てられている量子化パラメータ値を調整し、次のマクロブロックについて適用する量子化パラメータ値ＱＰ２を最終的に定める。例えば、ターゲットビット量が実際に生成されたビット量より大きい場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を減少させ、ターゲットビット量が実際に生成されたビット量より小さな場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量と同じ場合には、次いで処理するマクロブロックに割り当てられている量子化パラメータ値をそのまま維持する。そして、フレーム別最初のマクロブロックについてのエンコード処理時には、関心領域情報によって割り当てられている量子化パラメータ値をそのまま維持する。
【０１１６】
図１４を参照すれば、本発明のさらに他の実施形態による第２レート制御部４０Ａないし４０Ｆは、ビット量決定器４１Ａ及び量子化パラメータ決定器４２Ｂを備える。
ビット量決定器４１Ａは、図１２に示したビット量決定器４１Ａと同じ構成手段に当たり、量子化パラメータ決定器４２Ｂは、図１３に示した量子化パラメータ決定器４２Ｂと同じ構成手段に当たる。
これによって、ビット量決定器４１Ａは、基本階層で生成されたエンコード統計情報に基づいて、向上階層の基準サイズ別にターゲットビット量を定める。例えば、数式１ないし数式３のうち一つの数式を用いて、向上階層のｉ番目のマクロブロックに割り当てられるターゲットビット量Ｔｍｂ（ｉ）を算出する。
【０１１７】
また、ビット量決定器４１Ａは、数式４を用いて、向上階層のｉ番目のフレームに割り当てられるターゲットビット量ＴＥＮＨ＿ｆｒａｍｅ［ｉ］を算出する。
そして、量子化パラメータ決定器４２Ｂは、基本階層でエンコード処理したビデオフレームで生成された関心領域情報に基づいて、向上階層のマクロブロックについての量子化パラメータ値を割り当てる。
【０１１８】
量子化パラメータ決定器４２Ｂは、基本階層のエンコード統計情報に基づいて割り当てられた現在マクロブロックについてのターゲットビット量と、現在マクロブロックのエントロピコーディング処理で実際に生成されたビット量との差に連動して、次のマクロブロックに割り当てられている量子化パラメータ値を調整する。量子化パラメータ決定器４２Ｂについての詳細な動作は、図１３に示した量子化パラメータ決定器４２Ｂと同一であるので、重なる説明は省略する。
【０１１９】
図１５及び図１６は、本発明の実施形態による多階層エンコーダの詳細的な構成を例示的に示す図である。
図１５を参照すれば、本発明の一実施形態による多階層エンコーダは、基本階層エンコーダ３００、向上階層エンコーダ４００Ａ、フレームバッファ５００及び第１、２メモリ６００、７００を備える。
【０１２０】
基本階層エンコーダ３００は、関心領域ＲＯＩ検出部３０１、第１インタ予測部３０２、第１イントラ予測部３０３、第１モード選択部３０４、第１減算部３０５、第１加算部３０６、第１変換部３０７、第１量子化部３０８、第１エントロピコーディング部３０９、第１レート制御部３１０、第１逆量子化部３１１、第１逆変換部３１２及び第１フィルタ３１３を備える。
【０１２１】
そして、向上階層エンコーダ４００Ａは、アップサンプリング部４０１、第２インタ予測部４０２、第２イントラ予測部４０３、第２モード選択部４０４、第２減算部４０５、第２加算部４０６、第２変換部４０７、第２量子化部４０８、第２エントロピコーディング部４０９、第２レート制御部４１０、第２逆量子化部４１１、第２逆変換部４１２及び第２フィルタ４１３を備える。
【０１２２】
図１５に示した多階層エンコーダは、空間スケーラビリティを支援する多階層エンコーダの一例であり、基本階層エンコーダ３００では、オリジナル映像の解像度を持つビデオデータについてのエンコード処理を行い、向上階層エンコーダ４００Ａでは、オリジナル映像の解像度を高めたビデオについてのエンコード処理を行う。
例えば、オリジナルビデオデータの解像度がＣＩＦならば、基本階層エンコーダ３００は、ＣＩＦ解像度のオリジナルビデオデータをエンコード処理する。そして、向上階層エンコーダ４００Ａは、アップサンプリングによって解像度を高めたＳＤまたはＨＤのビデオデータをエンコード処理する。
【０１２３】
まず、基本階層エンコーダ３００でのエンコード処理について説明する。
関心領域ＲＯＩ検出部３０１は、入力されるフレームデータから関心領域を検出し、これを示す関心領域情報を算出する。例えば、図９ないし図１１に示した関心領域検出部７０Ａないし７０Ｃの回路構成で具現される。
第１インタ予測部３０２は、現在フレームのブロックと、一つ以上の隣接フレームでのブロックとを比較して動き情報を生成させ、生成された動き情報に基づいて現在フレームでエンコードするブロックについての予測ブロックを生成する。ここで、一つ以上の隣接フレームは、以前にエンコードされたブロックから復元されたデータを保存する第１メモリ６００から提供される。
【０１２４】
第１イントラ予測部３０３は、現在コーディングされているブロックと同じフレーム内の基本階層の一つ以上のエンコードされたブロックに基づいて予測ブロックを生成する。
第１モード選択部３０４は、エンコードされているブロックが含まれたフレームのピクチャタイプがＩタイプである場合に、第１イントラ予測部３０３で生成された予測ブロックを選択して出力し、エンコードされているブロックが含まれたフレームのピクチャタイプがＰタイプまたはＢタイプである場合に、第１インタ予測部３０２で生成された予測ブロックを選択して出力する。
【０１２５】
第１減算部３０５は、現在フレームのブロックから第１モード選択部３０４で出力される予測ブロックを引くことでレジデュアルブロックを生成する。レジデュアルブロックは、現在フレームのブロックのピクセル値と予測ブロックのピクセル値との差値のセットを意味する。例えば、レジデュアルブロックは、２次元ブロックフォーマット（例えば、２次元行列またはピクセル値のアレイ）で表現する。
【０１２６】
第１変換部３０７は、レジデュアルブロックに変換を適用してレジデュアル変換係数を生成する。第１変換部３０７は、時間ドメインのピクセル差値のセットを、周波数ドメインでピクセル差値のエネルギを示すレジデュアル変換係数に変換する。例えば、離散コサイン変換（ＤＣＴ）、整数変換、方向性変換、ウェーブレット変換またはこれらの組み合わせを用いる。
【０１２７】
第１量子化部３０８は、第１レート制御部３１０で定められた量子化パラメータ値ＱＰ１を適用して、レジデュアル変換係数を量子化処理する。量子化パラメータは、基本量子化の何倍に量子化するかを示すファクタである。量子化パラメータ値が増加すれば圧縮率が高くなり、量子化パラメータＱＰ１値が減少すれば圧縮率は低くなる。これによって、量子化パラメータ値が増加するにつれて、ブロック当たりコーディングによって生成されるビット量は低減する。
【０１２８】
第１逆量子化部３１１は、量子化されたレジデュアル変換係数を逆量子化処理してレジデュアル変換係数を復元する。
第１逆変換部３１２は、第１逆量子化部３１１で復元されたレジデュアル変換係数を逆変換処理してレジデュアルブロックを復元する。
第１加算部３０６は、復元されたレジデュアルブロックと、第１モード選択部３０４で出力される予測ブロックとを加えてビデオブロックを復元する。
【０１２９】
復元されたビデオブロックは、第１フィルタ３１３でデブロッキングフィルタリング処理された後、第１メモリ６００に保存される。第１メモリ６００に保存されたビデオブロックは、インタ予測の参照フレームデータとして用いられる。
第１エントロピコーディング部３０９は、量子化されたレジデュアル変化係数を、可変長コーディング（ＶＬＣ）、算術コーディング、または他のエントロピコーディング技術を用いてエントロピコーディング処理し、ビットストリームに出力する。第１エントロピコーディング部３０９は、エントロピコーディング処理でビット発生情報を出力する。ビット発生情報は、例えば、領域別に発生したビット量に関する情報でありうる。
【０１３０】
第１レート制御部３１０は、基本階層の解像度に相応する第１ターゲットビットレートによって、ブロックについて設定されたターゲットビット量と、基本階層の第１エントロピコーディング部３０９で実際に生成されたビット量との差に連動して、量子化パラメータ値ＱＰ１を定める。例えば、ターゲットビット量が実際に生成されたビット量より大きい場合には、次のブロックについて割り当てられた量子化パラメータ値を減少させ、ターゲットビット量が実際に生成されたビット量より小さな場合には、次のブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量と同じ場合には、次のブロックに割り当てられた量子化パラメータＱＰ１値をそのまま維持する。基本階層では、ブロック別に割り当てられる量子化パラメータ値は、第１ターゲットビットレートによって初期値に設定される。
【０１３１】
基本階層エンコーダ３００は、エンコード結果に基づいてエンコード統計情報を生成する。例えば、ブロック別に生成されたビット量に関する情報、インタ予測処理に基づいて生成されたＩｎｔｅｒＳＡＤ情報、イントラ予測処理に基づいて生成されたＩｎｔｒａＳＡＤ情報などが含まれる。
基本階層エンコーダ３００で生成されたエンコード統計情報は、フレームバッファ５００に保存される。また、基本階層エンコーダ３００は、階層間予測のために基本階層のエンコード処理過程で生成されるイントラピクチャ情報、動き情報、レジデュアル情報もフレームバッファ５００に保存される。
【０１３２】
次いで、向上階層エンコーダ４００Ａでのエンコード処理について説明する。
向上階層エンコーダ４００Ａは、階層間予測のために基本階層で生成された参照情報であるイントラピクチャ情報、動き情報、レジデュアル情報を用いてエンコード処理を行う。
また、向上階層エンコーダ４００Ａは、基本階層エンコード結果に基づいて生成されたエンコード統計情報及び／または関心領域情報を用いてビットレートを制御する。
アップサンプリング部４０１Ａは、ビデオフレームデータを、向上階層で規定する解像度を持つビデオフレームデータに変換させるようにアップサンプリング処理する。
【０１３３】
第２インタ予測部４０２は、アップサンプリング処理された現在フレームのブロックと、基本階層及び向上階層の一つ以上の隣接フレームでのブロックと、基本階層で生成された動き情報とに基づいて、現在フレームでエンコードするブロックについての予測ブロックを生成する。ここで、予測ブロックの生成に必要な隣接フレームは第１メモリ６００から提供され、基本階層で生成された参照情報はバッファメモリ５００から提供される。
第２イントラ予測部４０３は、現在コーディングされているブロックと同じフレーム内の基本階層及び向上階層の一つ以上のエンコードされたブロックに基づいて予測ブロックを生成する。
【０１３４】
第２モード選択部４０４は、エンコードされているブロックが含まれたフレームのピクチャタイプがＩタイプである場合に、第２イントラ予測部４０３で生成された予測ブロックを選択して出力し、エンコードされているブロックが含まれたフレームのピクチャタイプがＰタイプまたはＢタイプである場合に、第２インタ予測部４０２で生成された予測ブロックを選択して出力する。
【０１３５】
第２減算部４０５は、現在フレームのブロックから、第２モード選択部３０４で出力される予測ブロックを引くことで、レジデュアルブロックを生成する。レジデュアルブロックは、現在フレームのブロックのピクセル値と予測ブロックのピクセル値との差値のセットを意味する。例えば、レジデュアルブロックは、２次元ブロックフォーマット（例えば、２次元行列またはピクセル値のアレイ）で表現する。
【０１３６】
第２変換部４０７は、レジデュアルブロックに変換を適用してレジデュアル変換係数を生成する。第２変換部４０７は、時間ドメインのピクセル差値のセットを、周波数ドメインでピクセル差値のエネルギを示すレジデュアル変換係数に変換する。例えば、離散コサイン変換（ＤＣＴ）、整数変換、方向性変換、ウェーブレット変換またはこれらの組み合わせを用いる。
【０１３７】
第２量子化部４０８は、第２レート制御部４１０で定められた量子化パラメータ値ＱＰ２を適用し、レジデュアル変換係数を量子化処理する。量子化パラメータは、基本量子化の何倍に量子化するかを示すファクタである。量子化パラメータ値が増加すれば圧縮率が高くなり、量子化パラメータ値が減少すれば圧縮率は低くなる。これによって、量子化パラメータ値が増加するにつれて、ブロック当たりコーディングによって生成されるビット量は低減する。
【０１３８】
第２逆量子化部４１１は、量子化されたレジデュアル変換係数を逆量子化処理してレジデュアル変換係数を復元する。
第２逆変換部４１２は、第２逆量子化部４１１で復元されたレジデュアル変換係数を逆変換処理してレジデュアルブロックを復元する。
第２加算部４０６は、復元されたレジデュアルブロックと、第２モード選択部４０４で出力される予測ブロックとを加えてビデオブロックを復元する。
【０１３９】
復元されたビデオブロックは、第２フィルタ４１３からデブロッキングフィルタリング処理された後、第２メモリ７００に保存される。第２メモリ７００に保存されたビデオブロックは、インタ予測の参照フレームデータに用いられる。
第２エントロピコーディング部４０９は、量子化されたレジデュアル変化係数を、可変長コーディング（ＶＬＣ）、算術コーディング、または他のエントロピコーディング技術を用いてエントロピコーディング処理し、ビットストリームに出力する。第２エントロピコーディング部４０９は、エントロピコーディング処理で生成されたビット量を示すビット発生情報（Ｂｉｔ ｇｅｎｅｒａｔｉｏｎ ｉｎｆｏｒｍａｔｉｏｎ）を生成し、第２レート制御部４１０に出力する。
【０１４０】
エントロピコーディング処理で実際に生成されたビット量は、エントロピコーディング部４０９で生成されたビート生成情報から分かる。
第２レート制御部４１０は、フレームバッファ５００から読み出した基本階層のエンコード統計情報を用いて、マクロブロック及び／またはフレームについてのターゲットビット量を定める。例えば、数式１ないし数式３を用いて、向上階層のｉ番目のマクロブロックに割り当てられるターゲットビット量Ｔｍｂ（ｉ）を定める。また、第２レート制御部４１０は、数式４を用いて、向上階層のｉ番目のフレームに割り当てられるターゲットビット量ＴＥＮＨ＿ｆｒａｍｅ［ｉ］を定める。
【０１４１】
また、第２レート制御部４１０は、フレームバッファ５００から読み出した関心領域情報を用いて、向上階層についてのマクロブロックの量子化パラメータ値を割り当てる。例えば、図２４に示したように、関心領域内での量子化パラメータ値を、非関心領域内の量子化パラメータ値に比べて相対的に小さな値に定める。
そして、第２レート制御部４１０は、現在マクロブロックに割り当てられたターゲットビット量と、現在マクロブロックのエントロピコーディング処理で実際に生成されたビット量との差に連動して、次のマクロブロックに割り当てられている量子化パラメータ値を調整する。エントロピコーディング処理で実際に生成されたビット量は、エントロピコーディング部４０９で生成されたビート生成情報から分かる。
【０１４２】
例えば、ターゲットビット量が実際に生成されたビット量より大きい場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を減少させ、ターゲットビット量が実際に生成されたビット量より小さな場合には、次いで処理するマクロブロックについて割り当てられた量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量と同じ場合には、次いで処理するマクロブロックに割り当てられている量子化パラメータ値をそのまま維持する。そして、フレーム別最初のマクロブロックについてのエンコード処理時には、関心領域情報によって割り当てられている量子化パラメータ値をそのまま維持する。
【０１４３】
図１６は、本発明の他の実施形態による多階層エンコーダの詳細的な構成を例示的に示す図である。
図１６を参照すれば、本発明の実施形態による多階層エンコーダは、基本階層エンコーダ３００、向上階層エンコーダ４００Ｂ、フレームバッファ５００及び第１、２メモリ６００、７００を含む。
基本階層エンコーダ３００は関心領域ＲＯＩ検出部３０１、第１インタ予測部３０２、第１イントラ予測部３０３、第１モード選択部３０４、第１減算部３０５、第１加算部３０６、第１変換部３０７、第１量子化部３０８、第１エントロピコーディング部３０９、第１レート制御部３１０、第１逆量子化部３１１、第１逆変換部３１２及び第１フィルタ３１３を備える。
【０１４４】
そして、向上階層エンコーダ４００Ｂは、ダウンサンプリング部４０１Ｂ、第２インタ予測部４０２、第２イントラ予測部４０３、第２モード選択部４０４、第２減算部４０５、第２加算部４０６、第２変換部４０７、第２量子化部４０８、第２エントロピコーディング部４０９、第２レート制御部４１０、第２逆量子化部４１１、第２逆変換部４１２及び第２フィルタ４１３を備える。
【０１４５】
図１６に示した多階層エンコーダは、空間スケーラビリティを支援する多階層エンコーダの他の例であり、基本階層エンコーダ３００では、オリジナル映像の解像度を持つビデオデータについてのエンコード処理を行い、向上階層エンコーダ４００Ａでは、オリジナル映像の解像度を低下させたビデオについてのエンコード処理を行う。
例えば、オリジナルビデオデータの解像度がＨＤならば、基本階層エンコーダ３００は、ＨＤ解像度のオリジナルビデオデータをエンコード処理する。そして、向上階層エンコーダ４００Ｂは、ダウンサンプリングによって解像度を低下させたＳＤまたはＣＩＦのビデオデータをエンコード処理する。
【０１４６】
図１６に示した多階層エンコーダは、基本階層に比べて解像度の高いビデオデータを向上階層でエンコードするのに対し、図１５に示した多階層エンコーダは、基本階層に比べて解像度の低いビデオデータを向上階層でエンコードするという点で相異なる。
図１５に示した多階層エンコーダの向上階層エンコーダ４００Ａは、フレームデータをアップサンプリング部４０１Ａでアップサンプリング処理して高い解像度を持つフレームデータに変換させた後、エンコード処理を行う。
【０１４７】
これに対し、図１６に示した多階層エンコーダの向上階層エンコーダ４００Ｂは、フレームデータを、ダウンサンプリング部４０１Ｂでダウンサンプリング処理して低い解像度を持つフレームデータに変換させた後、エンコード処理を行う。
これによって、図１６に示した多階層エンコーダの基本階層エンコーダ３００は、図１５に示した基本階層エンコーダ３００と構成及び動作が同一である。そして、図１６に示した多階層エンコーダの向上階層エンコーダ４００Ｂは、図１５に示した向上階層エンコーダ４００Ａに適用されたアップサンプリング部４０１Ａの代りにダウンサンプリング部４０１Ｂを適用する構成以外の残りの構成及び動作は同一であるので、重なる説明は略する。
【０１４８】
図１５及び図１６で述べたブロックは、マクロブロックでありうる。また、マクロブロックと異なるサイズに設定してもよい。例えば、図１５及び図１６で、第１メモリ６００及び第２メモリ７００を、それぞれ基本階層エンコーダ３００及び向上階層エンコーダ４００Ａまたは４００Ｂの内部に配してもよい。
参照までに、図１５の多階層エンコーダの向上階層エンコーダ４００Ａ構成でアップサンプリング部４０１Ａを削除し、現在フレームデータを第２インタ予測部４０２、第２イントラ予測部４０３及び第２減算部４０５にそれぞれ印加すれば、品質スケーラビリティを支援する多階層エンコーダを具現する。
【０１４９】
次いで、本発明の一実施形態によるビデオエンコード装置での多階層ビデオコーディングのためのレート制御方法について、図２３のフローチャートを参照して説明する。
まず、多階層エンコーダは、第１階層でのエンコード結果に基づいたエンコード統計情報を生成させる（Ｓ１１０）。第１階層は、ＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ １０ ＡＶＣ標準で規定する基本階層になりうる。また、第１階層は、ＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ １０ ＡＶＣ標準で規定する向上階層のうちの一つの階層になりうる。第１階層は、第２階層に比べて低い階層でなければならない。よって、第１階層を下位階層と称し、第２階層を上位階層と称してもよい。
【０１５０】
例えば、エンコード統計情報は、第１階層での領域別にエンコード過程で生成されたビット量に関する情報、現在フレームと予測フレームとのピクセルの絶対差の和に関する情報、領域別複雑度情報のうち一つ以上の情報が含まれる。ここで、領域は、ＧＯＰ、フレームまたはマクロブロックのうち少なくとも一つ以上を含む。
【０１５１】
次いで、多階層エンコーダは、第１階層のエンコード統計情報に基づいて第２階層の領域別に割り当てられるターゲットビット量を定める（Ｓ１２０）。例えば、多階層エンコーダは、数式１ないし数式４を用いて、第２階層でエンコード処理するマクロブロックの位置に対応する第１階層のエンコード統計情報に基づいて、マクロブロック及び／またはフレームについてのターゲットビット量を定める。数式１ないし数式４で、基本階層は第１階層に当たり、向上階層は第２階層に当たる。
次いで、多階層エンコーダは、段階１２０（Ｓ１２０）で定められたターゲットビット量を適用し、第２階層でのエンコード処理を行う（Ｓ１３０）。多階層エンコーダは、第２階層で領域別に定められたターゲットビット量に基づいて、ビットレートを調節しつつ第２階層でのエンコード処理を行う。
【０１５２】
図２３に示した段階１３０（Ｓ１３０）についての詳細なフローチャートを、図２４に示した。
図２４を参照すれば、多階層エンコーダは、第２階層について定められた領域別ターゲットビット量と、第２階層のエンコード過程で領域別に発生したビット量との差に連動して、第２階層のエンコード処理に適用される量子化パラメータ値を定める（Ｓ２１０）。多階層エンコーダは、第２階層について定められたマクロブロック及び／またはフレームについてのターゲットビット量と、第２階層のエントロピコーディング処理で実際に生成されたビット量との差に連動して、量子化パラメータ値を定める。例えば、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量より大きい場合には、次いで処理するマクロブロックについての量子化パラメータ値を減少させ、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量より小さな場合には、次いで処理するマクロブロックについての量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量と同じ場合には、次いで処理するマクロブロックについての量子化パラメータ値をそのまま維持する。
【０１５３】
多階層エンコーダは、段階２１０（Ｓ２１０）で定められた量子化パラメータ値を適用し、第２階層のエンコード処理過程での量子化処理を行う（Ｓ２２０）。多階層エンコーダは、定められた量子化パラメータ値を適用し、第２階層のエンコード過程で生成されたレジデュアル変換係数を量子化処理する。
次いで、本発明の他の実施形態によるビデオエンコード装置での多階層ビデオコーディングのためのレート制御方法についても、図２５のフローチャートを参照して説明する。
【０１５４】
多階層エンコーダは、入力映像に関する関心領域情報を生成する（Ｓ３１０）。例えば、多階層エンコーダは、前述した図６ないし図８に示した関心領域検出部を用いて関心領域情報を生成する。
多階層エンコーダは、段階３１０（Ｓ３１０）で生成された関心領域情報に基づいて、第２階層での量子化パラメータ値を割り当てる（Ｓ３２０）。多階層エンコーダは、第１階層で生成された関心領域情報に基づいて、第２階層で領域別に割り当てられるパラメータ値を定める。例えば、第２階層でエンコードするマクロブロック位置に対応する第１階層のマクロブロックを探し出し、探し出した第１階層のマクロブロックに関する関心領域情報を用いて、第２階層についてのマクロブロックの量子化パラメータ値を割り当てる。図２４に示したように、関心領域内での量子化パラメータ値を、非関心領域内の量子化パラメータ値に比べて相対的に小さな値に定める。
【０１５５】
多階層エンコーダは、段階３２０（Ｓ３２０）で割り当てられた量子化パラメータ値に基づいて、第２階層での量子化処理を行う（Ｓ３３０）。例えば、多階層エンコーダは、第２階層でエンコードする現在マクロブロックに割り当てられたターゲットビット量と、現在マクロブロックのエントロピコーディング処理で実際に生成されたビット量との差に連動して、次のマクロブロックに割り当てられている量子化パラメータ値を調整し、調整された量子化パラメータ値を適用して、第２階層のエンコード過程で生成されたレジデュアル変換係数を量子化処理する。
【０１５６】
次いで、本発明のさらに他の実施形態によるビデオエンコード装置での多階層ビデオコーディングのためのレート制御方法について、図２６のフローチャートを参照して説明する。
まず、多階層エンコーダは、第１階層でのエンコード結果に基づいたエンコード統計情報及び関心領域ＲＯＩ情報を生成する（Ｓ４１０）。第１階層でのエンコード結果に基づいたエンコード統計情報及び関心領域ＲＯＩ情報を生成するプロセスについては上述したので、重なる説明は略する。
【０１５７】
次いで、多階層エンコーダは、第１階層のエンコード統計情報に基づいて、第２階層の領域別に割り当てられるターゲットビット量を定める（Ｓ４２０）。例えば、多階層エンコーダは、数式１ないし数式４を用いて、第２階層でエンコード処理するマクロブロックの位置に対応する第１階層のエンコード統計情報に基づいて、マクロブロック及び／またはフレームについてのターゲットビット量を定める。数式１ないし数式４で、基本階層は第１階層に当たり、向上階層は第２階層に当たる。
【０１５８】
次いで、多階層エンコーダは、第１階層で生成された関心領域情報に基づいて第２階層での量子化パラメータ値を割り当てる（Ｓ４３０）。例えば、第２階層でエンコードするマクロブロック位置に対応する第１階層のマクロブロックを探し出し、探し出した第１階層のマクロブロックに関する関心領域情報を用いて、第２階層についてのマクロブロックの量子化パラメータ値を割り当てる。
【０１５９】
次いで、多階層エンコーダは、第２階層で領域別に定められたターゲットビット量及び量子化パラメータ値を用いて、第２階層でのエンコード処理を行う（Ｓ４４０）。多階層エンコーダは、第２階層について定められたマクロブロック及び／またはフレームについてのターゲットビット量と、第２階層のエントロピコーディング処理で実際に生成されたビット量との差に連動して、段階４３０（Ｓ４３０）で割り当てられた量子化パラメータ値を調整する。例えば、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量より大きい場合には、次いで処理するマクロブロックについての量子化パラメータ値を減少させ、基本階層のエンコード統計情報に基づいて定められたターゲットビット量が実際に生成されたビット量より小さな場合には、次いで処理するマクロブロックについての量子化パラメータ値を増加させる。そして、ターゲットビット量が実際に生成されたビット量と同じ場合には、次いで処理するマクロブロックについての量子化パラメータ値をそのまま維持する。多階層エンコーダは、このように調整された量子化パラメータ値を適用して、第２階層のエンコード過程で生成されたレジデュアル変換係数を量子化処理する。
【０１６０】
図２７は、本発明の実施形態によるビデオ提供装置の具現例を示すブロック図である。
図２７を参照すれば、本発明の実施形態によるビデオ供給装置２０００は、プロセッサ（ＣＰＵ）８１０、多階層エンコーダ８２０、ネットワークインターフェース（Ｉ／Ｆ）８３０、ユーザインターフェース（ＵＩ）８４０、ビデオソース８５０及びバス８６０を備える。
【０１６１】
バス８６０は、ビデオ供給装置２０００の構成手段間にデータまたは制御信号を伝送する伝送路である。
ビデオソース８５０は、ビデオキャプチャーデバイスであり、例えば、ビデオカメラ、ビデオコンテンツ供給装置、カメラフォン、ビデオフォン、カメラ付き携帯電話などが含まれる。
多階層エンコーダ８２０には、図２に示したようなビデオエンコーダ１２０が適用される。
【０１６２】
ネットワークインターフェース８３０は、多階層エンコーダ８２０でエンコード処理された基本階層及び／または向上階層ビットストリームを、有線または無線通信チャネルを通じて腕先デバイスに伝送するソフトウェア及び／またはハードウェアを含む。
ユーザインターフェース８４０は、プロセッサ８１０の動作を制御するための制御信号またはプロセッサ８１０によって処理されるデータを入力できる装置であり、タッチパッド、マウス、キーパッドまたはキーボードで具現される。
【０１６３】
図２８は、本発明の実施形態によるビデオサービスシステムの具現例を示すブロック図である。
図２８を参照すれば、図２８は、本発明の実施形態によるビデオサービスシステム３０００は、ネットワーク９００、ビデオ供給装置９１０及びネットワーク９００に接続された一つ以上の腕先デバイス９１１ないし９１７を備える。
ネットワーク９００は、有線または無線通信網で具現される。
【０１６４】
ビデオ供給装置９１０は、図２７に示したようなビデオ供給装置２０００が適用される。
腕先デバイス９１１ないし９１７は、テレビ（ＴＶ）９１１、パソコン（ＰＣ）９１２、個人携帯情報端末（ＰＤＡ）９１３、携帯電話９１４、ナビゲーション９１５、ビデオゲームデバイス９１６、ノート型パソコン９１７などが含まれる。腕先デバイスは、これに限定されず、デジタルビデオデータを受信してデコードできる多様なデバイスを含む。
【０１６５】
以上、図面及び明細書で最適の実施形態が開示された。ここで特定の用語が使われたが、これは単に本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載した本発明の範囲を制限するために使われたものではない。したがって、当業者ならば、これより多様な変形及び均等な他の実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって定められねばならない。
【産業上の利用可能性】
【０１６６】
本発明は、多様な形態のビデオ信号処理装置に適用できる。本発明が適用されるビデオ信号処理装置では、下位階層でのエンコード結果に基づいて生成されたエンコード統計情報を用いて、上位階層での領域別に割り当てられるターゲットビット量を定めることで、上位階層での効率的なレート制御を行える。また、下位階層の関心領域情報に基づいて、上位階層での領域別に割り当てられる量子化パラメータ値を定めることで、上位階層での効率的なレート制御を行える。
【符号の説明】
【０１６７】
１０００  ビデオ信号処理システム
１００  ソースデバイス
１１０  ビデオソース
１２０  ビデオエンコーダ
１３０  送信器
２０００  ビデオ供給装置
２００  腕先デバイス
２１０  受信器
２２０  ビデオデコーダ
２３０  ディスプレイデバイス
８１０  プロセッサ（ＣＰＵ）
８２０  多階層エンコーダ
８３０  ネットワークインターフェース（Ｉ／Ｆ）
８４０  ユーザインターフェース（ＵＩ）
８５０  ビデオソース
８６０  バス
３０００  ビデオサービスシステム
９００  ネットワーク
９１０  ビデオ供給装置
９１１ないし９１７  腕先デバイス
【図１】
0006291172.tif 000006
【図２】
0006291172.tif 000007
【図３】
0006291172.tif 000008
【図４】
0006291172.tif 000009
【図５】
0006291172.tif 000010
【図６】
0006291172.tif 000011
【図７】
0006291172.tif 000012
【図８】
0006291172.tif 000013
【図９】
0006291172.tif 000014
【図１０】
0006291172.tif 000015
【図１１】
0006291172.tif 000016
【図１２】
0006291172.tif 000017
【図１３】
0006291172.tif 000018
【図１４】
0006291172.tif 000019
【図１５】
0006291172.tif 000020
【図１６】
0006291172.tif 000021
【図１７Ａ】
0006291172.tif 000022
【図１７Ｂ】
0006291172.tif 000023
【図１７Ｃ】
0006291172.tif 000024
【図１８Ａ】
0006291172.tif 000025
【図１８Ｂ】
0006291172.tif 000026
【図１８Ｃ】
0006291172.tif 000027
【図１８Ｄ】
0006291172.tif 000028
【図１９Ａ】
0006291172.tif 000029
【図１９Ｂ】
0006291172.tif 000030
【図２０Ａ】
0006291172.tif 000031
【図２０Ｂ】
0006291172.tif 000032
【図２０Ｃ】
0006291172.tif 000033
【図２１Ａ】
0006291172.tif 000034
【図２１Ｂ】
0006291172.tif 000035
【図２１Ｃ】
0006291172.tif 000036
【図２１Ｄ】
0006291172.tif 000037
【図２２】
0006291172.tif 000038
【図２３】
0006291172.tif 000039
【図２４】
0006291172.tif 000040
【図２５】
0006291172.tif 000041
【図２６】
0006291172.tif 000042
【図２７】
0006291172.tif 000043
【図２８】
0006291172.tif 000044