JP4844595B2 - 階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラム - Google Patents

階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラム Download PDF

Info

Publication number
JP4844595B2
JP4844595B2 JP2008166669A JP2008166669A JP4844595B2 JP 4844595 B2 JP4844595 B2 JP 4844595B2 JP 2008166669 A JP2008166669 A JP 2008166669A JP 2008166669 A JP2008166669 A JP 2008166669A JP 4844595 B2 JP4844595 B2 JP 4844595B2
Authority
JP
Japan
Prior art keywords
stream
hierarchical
extended
layer
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008166669A
Other languages
English (en)
Other versions
JP2010010977A (ja
Inventor
基晴 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2008166669A priority Critical patent/JP4844595B2/ja
Publication of JP2010010977A publication Critical patent/JP2010010977A/ja
Application granted granted Critical
Publication of JP4844595B2 publication Critical patent/JP4844595B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、画像信号を階層的に符号化し、また符号化した階層符号化多重化ストリームを、階層構造を有さない非階層符号化多重化ストリームに再符号化する階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラムに関する。
近年、デジタル化された画像信号や音声信号を圧縮し、より長時間のコンテンツを記録する装置や、衛星や地上波等の放送波やネットワークを介してコンテンツを配信するサービスが実用化されている。このようなサービスにおいては、膨大な情報量を持つ画像ストリームや音声ストリームが大量に放送または伝送されるため、大きな圧縮率を実現する高能率符号化が所望される。例えば、画像、特に動画像の高能率符号化方式としては、国際規格であるMPEG2、MPEG4−ASP、MPEG4−AVC等の方式が利用されている。これらの符号化方式においては、画像信号の空間方向の隣接画素間の相関および、時間方向に隣接するフレーム間やフィールド間の相関を利用して情報量を圧縮する技術が用いられている。
これらの高能率符号化を通じて圧縮された情報を様々なコンテンツサービスに用いる場合、サービスを提供するときの符号化ストリームの伝送速度または記録速度となる符号化レートや、再生装置の対応画像サイズ、フレーム周波数等の制限が課せられる。従って、一つの纏まった圧縮情報を全てのサービスに共通に適用するためには、そのサービスで必要な例えば符号化レートといった条件に合わせた再符号化処理が必要となる。
かかる再符号化処理は、復号処理と再度の符号化処理との組合せにより実現されるので、2度の符号化処理を通じた大きな符号化劣化を招いてしまい、コンテンツの品質が低下していた。また、複数のサービス要求に同時に答えるために複数の符号化処理を同時に行う必要があるので膨大な処理量を要していた。
これらの要求に答えるべく、符号化対象の画像信号を基本階層と拡張階層に分割して階層的に符号化を行う、階層符号化技術が考案されており、国際規格においてもMPEG2スケーラブルプロファイル、MPEG4−FGS(Fine Granularity Scalable)、MPEG4−SVC(Scalable Video Coding)拡張で、それぞれMPEG2、MPEG4およびMPEG4−AVCにおける階層符号化方式が標準化されている。
このような階層符号化方式を用いると、伝送する階層構造を決めさえすれば、サービスで要求される段階的な符号化レートや画像サイズ、フレーム周波数に合わせた符号化ストリームを生成することが可能となり、煩雑な複数回の符号化処理を伴うことなく様々な符号化ストリームを供給することができる。また、複数の拡張階層を利用することができるため、拡張階層を細かく設けることでさらに柔軟な符号化ストリームの生成が可能となる。
このような階層符号化の一例として、各階層の符号化ストリームの符号量を格納しておき、その各階層の符号量の単なる累積が、外部から要求された符号化レートに相当する累積符号量となる階層を選択し、その階層までの符号化ストリームを供給する技術が開示されている(例えば、特許文献1)。
また、基本階層と拡張階層の符号化に用いられる情報を共通化し、シフト行列によって係数を段階的に減衰させて階層符号化多重化ストリームを生成することで、費用効果的に非階層符号化多重化ストリームに変換できる技術も開示されている(例えば、特許文献2)。
特許第2788351号 特表2005−529515号公報
しかし、上述した特許文献1の技術による拡張階層の符号化ストリームは、BD規格に適用可能なMPEG4−AVCに準拠する符号化規格としては許容されておらず、仮に再生が可能であったとしても、その対象は基本階層の符号化ストリームに制限される。
また、特許文献2の技術では、要求された符号化レートに応じて再符号化を実行せずに非階層符号化多重化ストリームを生成することはできるが、量子化の細かさをビット単位で調整しているので、階層符号化多重化ストリームの状態で保持する際の符号化効率が低下し、一時記録における情報量の増大を招いていた。
さらに、何れの技術を用いたとしても、コンテンツダビング時等の符号化レート制御は、符号化ストリームの再符号化処理時における符号量に基づいて行う必要があり、符号量制御が複雑化し処理時間が増大する問題を招いていた。
本発明は、このような課題に鑑み、非階層符号化多重化ストリームへ変換された場合の符号化レートを考慮してその前段の階層符号化多重化ストリームを生成することで、再符号化処理の負荷を低減し、高効率かつ高精度で非階層符号化多重化ストリームを生成することが可能な階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラムを提供することを目的としている。
上記課題を解決するために、本発明の階層符号化装置の代表的な構成は、基本階層における符号化対象のDCT係数を、基本量子化パラメータを用いて量子化し基本量子化DCT係数を生成する基本量子化部と、拡張階層における符号化対象のDCT係数を、拡張量子化パラメータを用いて量子化し拡張量子化DCT係数を生成する拡張量子化部と、基本量子化DCT係数にエントロピー符号化を施し、単独で復号可能な基本階層符号化ストリームを生成する基本エントロピー符号化部と、拡張量子化DCT係数にエントロピー符号化を施し、基本階層符号化ストリームを利用して復号可能な拡張階層符号化ストリームを生成する拡張エントロピー符号化部と、基本量子化パラメータを制御する基本符号量制御部と、拡張量子化パラメータを制御する拡張符号量制御部と、基本階層符号化ストリームと拡張階層符号化ストリームとを任意の階層の非階層符号化多重化ストリームに変換した場合における非階層符号化多重化ストリームの推定符号量を算出する、拡張変換符号量推定部と、基本階層符号化ストリームと拡張階層符号化ストリームとを多重化して階層符号化多重化ストリームを生成する多重化部と、を備え、拡張符号量制御部は、非階層符号化多重化ストリームの推定符号量が、予め設定された符号化レートにより算出される生成符号量の目標値に近づくように、拡張量子化パラメータを制御することを特徴とする。
本発明では、要求された符号化レートに応じて適切な非階層符号化多重化ストリームを選択的に提供するため、その非階層符号化多重化ストリームへの再符号化を前提とした階層化された階層符号化多重化ストリームが生成される。従って、階層符号化多重化ストリーム自体の符号量ではなく、非階層符号化多重化ストリームに再符号化した後の符号量が、要求される符号化レートに適合するように各階層の符号化処理が遂行される。かかる構成により、複数種類の可搬メディアへの高速ダビング時や、サーバ等からのコンテンツ配信時に、適切な符号化レートで非階層符号化多重化ストリームを短時間でかつ品質良く記憶または伝送することが可能となる。
拡張変換符号量推定部は、非階層符号化多重化ストリームに対応する階層より下位の拡張階層もしくは基本階層における符号化対象のDCT係数と当該階層の拡張階層における符号化対象の量子化DCT係数と、拡張階層における階層符号化ストリームの符号量を入力し、当該階層の拡張階層においてDCTブロック内でDCT係数が0でない係数の数と、当該階層の拡張階層においてDCT係数が0でない係数のうち、非階層符号化多重化ストリームに対応する階層より下位の拡張階層もしくは基本階層におけるDCTブロック内の同一位置のDCT係数が0でない係数の数と、拡張階層の階層符号化ストリームの符号量を用いて、非階層符号化多重化ストリームの推定符号量を算出してもよい。
非階層符号化多重化ストリーム変換時に算出される符号化ストリームの符号量を、非階層符号化へのエントロピー符号化を施すことなく、基本階層および拡張階層の量子化DCT係数を用いて算出することで、階層符号化処理における処理負荷の増加を伴うことなく、要求される符号化レートに適切に対応可能な階層符号化多重化ストリームを生成することが可能となる。
拡張変換符号量推定部は、フレーム単位またはフレーム内符号化が施された基準フレーム単位で符号量を推定し、多重化部は、各拡張階層における推定符号量も多重化して階層符号化多重化ストリームを生成してもよい。
変換された非階層符号化多重化ストリームの推定符号量を、階層毎に、通常のフレーム単位や、ランダムアクセスが可能なフレームの単位で階層符号化多重化ストリームと共に多重化することで、後段の非階層符号化変換装置において、より細かい精度の符号化レートが要求される場合や、時間的に伝送レートが変動する場合においても、リアルタイムに適切かつ高品質な非階層符号化多重化ストリームを提供することができる。
本発明の代表的な他の構成は、基本階層と1または複数の拡張階層にて符号化され多重化された階層符号化多重化ストリームを、階層構造を有さない非階層符号化多重化ストリームに変換する非階層符号化変換装置であって、階層符号化多重化ストリームを、単独で復号可能な基本階層符号化ストリームと、基本階層符号化ストリームを利用して復号可能な拡張階層符号化ストリームとに分離する多重分離部と、基本階層符号化ストリームを復号した基本量子化DCT係数、または拡張階層符号化ストリームを基本階層符号化ストリームを利用して復号した拡張量子化DCT係数にエントロピー符号化を施し、非階層符号化多重化ストリームを生成するエントロピー符号化部と、ユーザの要求に応じて、エントロピー符号化部によるエントロピー符号化対象の階層を制御する変換階層制御部と、を備え、拡張階層符号化ストリームにおける量子化されたDCT係数に用いられた拡張量子化パラメータが、任意の階層の非階層符号化多重化ストリームに変換した場合における非階層符号化多重化ストリームの符号量が予め設定された符号化レートにより算出される生成符号量の目標値に近づくように制御されていることを特徴とする。
本発明では、階層符号化多重化ストリームが、画質に応じて複数段階に規定された符号化レートに適合するように予め作られているので、非階層符号化変換装置では、要求に応じてエントロピー符号化対象の階層を選択するだけで、所望の非階層符号化多重化ストリームを供給することが可能となる。また、本発明では、符号化レートを調整する再符号化処理が必要ないのでその分の負荷、処理時間、およびその処理に伴う符号化劣化を削減することができる。
本発明の代表的な他の構成は、基本階層と1または複数の拡張階層にて符号化され多重化された階層符号化多重化ストリームを、階層構造を有さない非階層符号化多重化ストリームに変換する非階層符号化変換装置であって、階層符号化多重化ストリームを、単独で復号可能な基本階層符号化ストリームと、基本階層符号化ストリームを利用して復号可能な拡張階層符号化ストリームに分離する多重分離部と、基本階層符号化ストリームを復号した基本量子化DCT係数、または拡張階層符号化ストリームを基本階層符号化ストリームを利用して復号した拡張量子化DCT係数にエントロピー符号化を施し、非階層符号化多重化ストリームを生成するエントロピー符号化部と、エントロピー符号化部によるエントロピー符号化対象の階層を、要求された符号化レートに適合する推定符号量に対応させて制御する変換階層制御部と、を備え、階層符号化多重化ストリームに各拡張階層における推定符号量が多重化されていると共に、拡張階層符号化ストリームにおける量子化されたDCT係数に用いられた拡張量子化パラメータが、任意の階層の非階層符号化多重化ストリームに変換した場合における非階層符号化多重化ストリームの符号量が予め設定された符号化レートにより算出される生成符号量の目標値に近づくように制御されていることを特徴とする。
ここでは、要求された符号化レートに対して、階層符号化装置において階層符号化多重化ストリームを生成するときに用いられた推定符号量に基づいて適応的にエントロピー符号化対象の階層を制御でき、所望する符号化レートに高精度で適応する非階層符号化多重化ストリームを提供することが可能となる。
また、他の観点として、コンピュータを、上述した階層符号化装置や非階層符号化変換装置として機能させる階層符号化プログラムおよび非階層符号化変換プログラムが提供される。
上述した階層符号化装置および非階層符号化変換装置における技術的思想に対応する構成要素やその説明は、当該階層符号化プログラムおよび非階層符号化変換プログラムにも適用可能である。
以上説明したように、本発明によれば、非階層符号化多重化ストリームへ変換された場合の符号化レートを考慮してその前段の階層符号化多重化ストリームを生成することで、再符号化処理の負荷を低減し、高効率かつ高精度で非階層符号化多重化ストリームを生成することが可能となる。
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す具体的な数値、数式などは、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
本実施形態では、要求された符号化レートに応じて適切な非階層符号化多重化ストリームを選択的に提供するため、その非階層符号化多重化ストリームへの再符号化を前提とした階層化された階層符号化多重化ストリームを生成する。そして、この階層符号化多重化ストリームを非階層符号化多重化ストリームに変換する際には、要求された符号化レートが高いほど(高品質なほど)、上位層の階層符号化多重化ストリームまでを段階的に再符号化する。
(第1の実施の形態:符号化システム100)
図1は、符号化システム100の全体的な構成を示した説明図である。かかる符号化システム100は、階層符号化装置110と、非階層符号化変換装置120とを含んで構成される。
階層符号化装置110は、入力された符号化対象の画像信号を階層化された階層符号化を通じて階層符号化多重化ストリームを生成する。かかる階層符号化を構成する符号化方式はMPEG4−SVCを用いる。また本実施形態では、SNRスケーラブル方式の例を挙げて説明しているが、空間スケーラブル方式、時間スケーラブル方式等にも適用可能である。
非階層符号化変換装置120は、階層符号化装置110で生成された階層符号化多重化ストリームを、階層構造を有さない非階層符号化多重化ストリームに変換する。特に本実施形態においては、非階層符号化多重化ストリームとして、規定されたLP(低画質)、SP(中画質)、HP(高画質)の3つの画質、すなわち符号化レートによる非階層符号化多重化ストリームを想定して階層符号化処理が為される。具体的にはLP(低画質)に相当する符号化ストリームを基本階層で、SP(中画質)、HP(高画質)に相当する符号化ストリームをそれぞれ異なる拡張階層で符号化する。
こうして生成された非階層符号化多重化ストリームは、例えば、DVD/BD等可搬の記録メディア130に記録されたり、通信網132を通じて配信されたりする。そして、プレーヤ140によりモニタ150を通じてかかる非階層符号化多重化ストリームの視聴が可能となる。以下、階層符号化装置110および非階層符号化変換装置120の詳細な構成を述べる。
(階層符号化装置110)
図2は、階層符号化装置110の構成を示すブロック図である。階層符号化装置110は、大きく3つの階層(LP、SP、HP)を構成し、入力画像メモリ200と、マクロブロック切出部202と、イントラ予測部204と、動きベクトル検出/補償部206と、モード判定部208と、基本予測ブロック生成部210と、減算部212と、基本DCT部214と、基本量子化部216と、基本逆量子化部218と、基本IDCT部220と、加算部222と、基本イントラ予測メモリ224と、基本参照画像メモリ226と、基本エントロピー符号化部228と、基本符号量制御部230と、拡張予測ブロック生成部240と、減算部242と、拡張DCT部244と、拡張逆量子化部248と、拡張IDCT部250と、加算部252と、拡張イントラ予測メモリ254と、拡張参照画像メモリ256と、拡張量子化部258と、量子化比変換部260と、減算部262と、拡張エントロピー符号化部264と、拡張変換符号量推定部266と、拡張符号量制御部268と、拡張予測ブロック生成部270と、減算部272と、拡張DCT部274と、拡張逆量子化部278と、拡張IDCT部280と、加算部282と、拡張イントラ予測メモリ284と、拡張参照画像メモリ286と、拡張量子化部288と、量子化比変換部290と、減算部292と、拡張エントロピー符号化部294と、拡張変換符号量推定部296と、拡張符号量制御部298と、多重化部300と、出力画像メモリ302とを含んで構成される。
入力画像メモリ200は、入力端子から入力された符号化対象となる画像信号を記憶する。また、入力画像メモリ200は、符号化予測構造に応じて入力された画像信号を遅延させたり、符号化処理を行うフレーム順に並べ替えたりした後、記憶している画像信号をマクロブロック切出部202に出力する。
マクロブロック切出部202は、入力画像メモリ200から入力された画像信号を、符号化処理を施す単位であるマクロブロック単位で切り出し、その切り出した2次元ブロック画像をイントラ予測部204、動きベクトル検出/補償部206および減算部212、242、272に出力する。
イントラ予測部204は、マクロブロック切出部202からの2次元ブロック画像と、基本イントラ予測メモリ224に格納されている、符号化およびローカル復号した基本復号画像とを用いてイントラ予測を行う。かかるイントラ予測は、復号が完了している同一フレーム上の2次元座標における上および左のマクロブロックを用いて、符号化ターゲットである2次元ブロック画像に対する複数のフレーム内予測画像を生成し、伝送する予測差分が少なくなるイントラ予測モードを確定させ、イントラ予測画像を生成する方式である。イントラ予測部204は、確定したイントラ予測モードと、予測差分の情報量を推定する評価値をモード判定部208に出力すると共に、基本予測ブロック生成部210に生成したイントラ予測画像を出力する。
動きベクトル検出/補償部206は、マクロブロック切出部202からの2次元ブロック画像と、基本参照画像メモリ226に格納される符号化およびローカル復号している基本復号画像とを用いて動きベクトル検出および動き補償予測を行う。かかる動き補償予測は、復号完了済みの複数の異なる参照画像に基づき符号化ターゲットである2次元ブロック画像に対する動きベクトルを、2次元パターンマッチング等を通じて検出し、伝送する予測差分が少なくなる動き補償予測モードと参照画像を確定させ、動きベクトルとそのブロックサイズを用いて参照画像に動き補償を施した動き補償予測画像を生成する方式である。動きベクトル検出/補償部206は、動き補償予測モード、動きベクトル、予測差分の情報量を推定する評価値をモード判定部208に出力すると共に、生成した動き補償予測画像を基本予測ブロック生成部210に出力する。
モード判定部208は、符号化ターゲットである画像フレームが単独で符号化が完結するイントラスライスであった場合、イントラ予測のみ適用可能であるためイントラ予測部204から入力されたイントラ予測モードが採用され、基本予測ブロック生成部210にイントラ予測モードが選択されていることを伝達する。また、動き補償を用いたフレーム間相関を使用可能なインタースライスであった場合の、イントラ予測部204および動きベクトル検出/補償部206から入力された予測差分の情報量を推定する評価値を比較し、より少ない情報量で符号化できると判断される予測モードが選択され、その旨基本予測ブロック生成部210に伝達する。このときモード判定部208によって選択された予測モード情報(イントラ予測モードもしくは動き補償予測モード)と動きベクトルは、基本階層(本実施形態においてはLP)の基本エントロピー符号化部228に出力されると共に、後述する拡張階層符号化処理に用いられる拡張予測ブロック生成部240、270に出力される。
基本予測ブロック生成部210は、モード判定部208から予測モードの選択情報を受け、その選択情報に基づいてイントラ予測部204からのイントラ予測画像と動きベクトル検出/補償部206からの動き補償予測画像から予測画像を選択し、減算部212および加算部222に出力する。
減算部212は、マクロブロック切出部202の2次元ブロック画像から、基本予測ブロック生成部210の予測画像を減算して基本階層の予測差分画像を生成し、基本DCT部214に出力する。
基本DCT部214は、減算部212からの予測差分画像を周波数成分に変換するために、直交変換の一種である2次元DCTを施す。MPEG4−AVCでは、DCTとして整数DCTを採用しており、予測差分画像を周波数軸に変換する変換処理中の周波数成分のレベルを正規化する演算処理を、後続する量子化処理と一体的に行うことで、DCT変換およびIDCT変換での誤差の発生を回避できる。基本DCT部214は、整数DCT処理を施した結果のDCT係数を基本量子化部216に出力する。
基本量子化部216は、後述する基本符号量制御部230で生成される、基本階層における量子化処理の基準となる量子化パラメータである基本量子化パラメータを用いて、基本DCT部214からのDCT係数毎に量子化処理を行い、生成された基本量子化DCT係数および基本量子化パラメータを基本逆量子化部218、基本エントロピー符号化部228、および量子化比変換部260に出力する。
基本逆量子化部218は、基本量子化部216からの基本量子化DCT係数を、基本量子化パラメータを用いて逆量子化し、復号DCT係数を生成し、その復号DCT係数を基本IDCT部220に出力する。
基本IDCT部220では、基本逆量子化部218からの復号DCT係数に対して整数DCTの逆変換となる整数IDCT処理を施し、基本階層の復号差分画像を生成し、その復号差分画像を加算部222に出力する。
加算部222では、基本予測ブロック生成部210から入力された予測画像と、基本IDCT部220から入力された基本階層の復号差分画像とを加算して基本階層の復号画像信号を生成する。加算部222で生成された復号画像信号は、基本イントラ予測メモリ224および基本参照画像メモリ226に基本復号画像として格納される。
基本イントラ予測メモリ224は、入力された復号画像信号を常に格納する。これに対して、基本参照画像メモリ226は、入力された復号画像信号が後続する画像信号の動き補償予測の参照画像となる場合にのみその復号画像信号を格納する。
基本エントロピー符号化部228は、モード判定部208からの予測モード情報および動きベクトルを用い、基本量子化部216からの基本量子化DCT係数に対して、所定の構文構造に基づくエントロピー符号化を施し、基本階層を構成する基本階層符号化ストリームを生成し、多重化部300に出力する。また、基本エントロピー符号化部228は、生成された基本階層符号化ストリームの符号量を基本符号量制御部230に出力する。
基本符号量制御部230は、基本階層の符号量制御部であり、基本エントロピー符号化部228で生成された基本階層符号化ストリームの符号量と、基本階層(本実施形態ではLP)において設定されている符号化レートに基づいて算出される生成ストリームの符号量の目標値(目標符号量)とを比較し、目標符号量に近づけるために、基本量子化部216が後続するマクロブロックを量子化する際の基本量子化パラメータを制御する。
上述した入力画像メモリ200と、マクロブロック切出部202と、イントラ予測部204と、動きベクトル検出/補償部206と、モード判定部208と、基本予測ブロック生成部210と、減算部212と、基本DCT部214と、基本量子化部216と、基本逆量子化部218と、基本IDCT部220と、加算部222と、基本イントラ予測メモリ224と、基本参照画像メモリ226と、基本エントロピー符号化部228と、基本符号量制御部230とにより、基本階層(LP)のMPEG4−AVC符号化処理が実現され、基本エントロピー符号化部228から出力される基本階層符号化ストリームは、基本階層(LP)で設定された符号化レートに対して符号量制御されたMPEG4−AVCストリームとなる。
続いて、拡張階層の符号化を構成する構造を説明する。拡張階層は1または複数とることができ、ここでは上述した基本階層(LP)の上位に2つの拡張階層(SP、HP)を設定している。本実施形態の階層符号化装置110においては、復号された各階層のDCT係数を、係数単位の乗算および加算のみで非階層符号化に対応したDCT係数に変換する構造を採用している。
また、各階層に対して設定されている符号化レートは、例えば、基本階層としてのLPモードが4Mbps、1層目の拡張階層としてのSPモードが8Mbps、2層目の拡張階層としてのHPモードが12Mbps等のように、基本階層(LP)の符号化レートに対して、1層目の拡張階層(SP)ではより高い符号化レートが設定され、2層目の拡張階層2(HP)では、1層目の拡張階層よりもさらに高い符号化レートが設定される。
拡張階層符号化を構成する構造のうち、拡張予測ブロック生成部240、270と、減算部242、272と、拡張DCT部244、274と、拡張逆量子化部248、278と、拡張IDCT部250、280と、加算部252、282と、拡張イントラ予測メモリ254、284と、拡張参照画像メモリ256、286とは、基本階層(LP)において既に述べた構成要素と実質的に機能が同一なので重複説明を省略し、ここでは、機能が相違する構成のみを詳述する。また、1層目の拡張階層の構成と2層目の拡張階層の構成も実質的に等しいのでここでは同一の構成名で一度に説明し、連続して表されている符号の順はそれぞれの拡張階層の階層順(1層目、2層目)に対応している。
拡張量子化部258、288は、基本量子化部216同様、後述する拡張符号量制御部268、298で生成される拡張量子化パラメータを用いて、拡張DCT部244、274からの拡張DCT係数毎に量子化処理を行い、拡張量子化DCT係数および拡張量子化パラメータを減算部262、292、拡張逆量子化部248、278に出力し、拡張量子化DCT係数を拡張変換符号量推定部266、296に出力し、拡張量子化パラメータを拡張エントロピー符号化部264、294に出力する。また、上位の階層が存在する場合、例えば、拡張階層(HP)が存在する拡張階層(SP)では、拡張量子化パラメータを量子化比変換部290にも出力する。
量子化比変換部260は、基本量子化部216および拡張量子化部258からの各階層における量子化パラメータ(基本量子化パラメータおよび拡張量子化パラメータ)に基づき、基本量子化部216から入力された基本階層の基本量子化DCT係数を、例えば以下に示す数式1のように基本階層と1層目の拡張階層との量子化パラメータの比率で乗算し、乗算結果を修正基本量子化DCT係数として減算部262に、この修正基本量子化DCT係数を拡張変換符号量推定部266に出力する。
BaseDCT’(x,y)= (QSBase × BaseDCT(x,y) / QSEnhance1 …(数式1)
ただし、BaseDCTは基本量子化DCT係数、QSEnhanceは拡張量子化パラメータ、QSBaseは基本量子化パラメータ、BaseDCT’ は修正基本量子化DCT係数、xは2次元DCT水平方向次数、yは2次元DCT垂直方向次数である。
同様に、量子化比変換部290は、拡張量子化部258および拡張量子化部288から各階層における拡張量子化パラメータに基づき、拡張量子化部258から入力された1層目の拡張階層の拡張量子化DCT係数を、1層目の拡張階層と2層目の拡張階層との拡張量子化パラメータの比率で乗算し、乗算結果を修正拡張量子化DCT係数として減算器292に、この修正拡張量子化DCT係数を拡張変換符号量推定部296に出力する。
減算部262、292は、拡張量子化部258、288から入力された拡張階層量子化DCT係数から、量子化比変換部260、290から入力された修正基本量子化DCT係数、修正拡張量子化DCT係数を係数毎に減算し、拡張量子化DCT係数差分を生成する。減算部262、292で生成された拡張階層量子化DCT係数差分は、拡張エントロピー符号化部264、294に出力される。
拡張エントロピー符号化部264、294は、減算部262、292から入力された拡層量子化DCT係数差分と、拡張量子化部258、288から入力された拡張量子化パラメータに対してエントロピー符号化を施し、各段の拡張階層(SP、HP)の拡張階層符号化ストリームを生成して多重化部300に出力する。予測に用いたモード情報に関しては、基本階層と同一モードを使用したことを示す情報が伝送されることで、復号時には基本階層の予測モード情報を用いた復号処理が行われる。拡張エントロピー符号化部264、294は生成した拡張階層符号化ストリームの符号量を拡張変換符号量推定部266、296に出力する。
拡張変換符号量推定部266には、量子化比変換部260から修正基本量子化DCT係数が入力されると共に、拡張量子化部258から量子化された拡張階層DCT係数が、拡張エントロピー符号化部264から拡張階層の拡張階層符号化ストリームの符号量が入力される。拡張変換符号量推定部266は、これらの入力情報に基づいて基本階層および1層目の拡張階層で符号化された階層符号化ストリームを抽出し、1層目の拡張階層(SP)の非階層符号化ストリームに符号変換した際に発生する符号量を推定する。具体的な推定アルゴリズムに関しては後述する。かかる推定した符号変換後の非階層符号化多重化ストリームの推定符号量は拡張符号量制御部268に出力される。
同様に、拡張変換符号量推定部296には、量子化比変換部290から修正拡張量子化DCT係数が入力されると共に、拡張量子化部288から、量子化された拡張階層DCT係数が、拡張エントロピー符号化部294から拡張階層の階層符号化ストリームの符号量が入力され、第2の拡張階層(HP)に関して非階層符号化ストリームに符号変換した際に発生する符号量を推定する。かかる推定した符号変換後の非階層符号化ストリームの推定符号量は拡張符号量制御部298に出力される。
本実施形態では、非階層符号化ストリームの符号化レートを、その前段の階層符号化ストリーム生成時点で制御することを目的としている。即ち、階層符号化装置110の制御対象は非階層符号化ストリームの符号化レートである。しかし、かかる制御対象は、別体の装置(非階層符号化変換装置120)で時間的にも独立しているのでフィードバック制御に直接利用できない。そこで、拡張変換符号量推定部266、296によりその制御対象(非階層符号化ストリームの符号量)を階層符号化装置110内で完結的に推定し、その推定符号量をもって階層符号化多重化ストリームを制御する。
このように非階層符号化多重化ストリーム変換時に算出される符号化ストリームの符号量を、非階層符号化へのエントロピー符号化を施すことなく、基本階層および拡張階層の量子化DCT係数を用いて算出することで、階層符号化処理における処理負荷の増加を伴うことなく、要求される符号化レートに適切に対応可能な階層符号化多重化ストリームを生成することが可能となる。
拡張符号量制御部268、298は、拡張階層の符号量制御部であり、拡張変換符号量推定部266、296からの非階層符号化ストリームの推定符号量と、各拡張階層(SP、HP)に対して設定されている符号化レートから算出される生成ストリームの符号量の目標値とを比較し、目標符号量に近づけるために、拡張量子化部258、288が後続するマクロブロックを量子化する際の拡張量子化パラメータを制御する。ここで、各拡張階層(SP、HP)において設定される符号化レートは、階層符号化を施した際に発生する各拡張階層の符号化レートではなく、基本階層および拡張階層で生成された階層符号化ストリームをさらに非階層符号化ストリームに符号変換した際の符号化レートである。従って、非階層符号化ストリームに符号変換することで生成される符号化ストリームは、予め階層符号化時に設定した符号化レートとなる。
そして、拡張符号量制御部268、298で生成された拡張量子化パラメータは、拡張量子化部258、288に出力され、後続する拡張階層の階層符号化処理に用いられる。
上述した拡張予測ブロック生成部240と、減算部242と、拡張DCT部244と、拡張逆量子化部248と、拡張IDCT部250と、加算部252と、拡張イントラ予測メモリ254と、拡張参照画像メモリ256と、拡張量子化部258と、量子化比変換部260と、減算部262と、拡張エントロピー符号化部264と、拡張変換符号量推定部266と、拡張符号量制御部268とにより、基本階層(LP)同様、拡張階層のMPEG4−SVC符号化処理が実現される。こうして生成された基本階層の基本階層符号化ストリームと1層目の拡張階層符号化ストリームを用いて、非階層符号化多重化ストリーム符号変換すると、拡張階層(SP)で設定された符号化レートに対して符号量制御されたMPEG4−AVCストリームを生成することができる。
また、同様に拡張予測ブロック生成部270と、減算部272と、拡張DCT部274と、拡張逆量子化部278と、拡張IDCT部280と、加算部282と、拡張イントラ予測メモリ284と、拡張参照画像メモリ286と、拡張量子化部288と、量子化比変換部290と、減算部292と、拡張エントロピー符号化部294と、拡張変換符号量推定部296と、拡張符号量制御部298とにより、1層目の拡張階層の拡張階層符号化ストリームと2層目の拡張階層の拡張階層符号化ストリームを用いて、非階層符号化多重化ストリーム符号変換すると、拡張階層(HP)で設定された符号化レートに対して符号量制御されたMPEG4−AVCストリームを生成することができる。
多重化部300は、基本エントロピー符号化部228から出力される基本階層(LP)の基本階層符号化ストリームと、拡張エントロピー符号化部264から出力される1層目の拡張階層(SP)の拡張階層符号化ストリームおよび2層目の拡張エントロピー符号化部294から出力される拡張階層符号化ストリームとを多重化し、階層符号化多重化ストリームとして出力画像メモリ302に一時的に記録する。また、多重化部300は、階層符号化多重化ストリームを外付けの記録装置に直接記録することもできる。
続いて、拡張変換符号量推定部266、296で行われる変換符号量推定処理アルゴリズムに関して説明する。
図3は、比較例としての非階層符号化変換における符号化レートの推移を示した説明図である。本実施形態を適用していない場合、基本階層符号化ストリームの符号量と拡張階層符号化ストリームの符号量を単純に累積した場合の符号化レートの推移は図3に示すように必ずしも一定の値を示さない。さらに、その基本階層符号化ストリームと拡張階層符号化ストリームを再符号化した非階層符号化多重化ストリームは、一定の値にならないだけでなく、基本階層符号化ストリームの符号量と拡張階層符号化ストリームの符号量の累積値とも異なる推移をとる。また、基本階層符号化ストリームの符号量と拡張階層符号化ストリームの符号量の累積値との差分は、その推移に単純に依存しないので、基本階層符号化ストリームや拡張階層符号化ストリームの符号量を調整するだけでは、非階層符号化多重化ストリームの符号化レートを調整することはできない。
本実施形態では、上述したような構成により、変換符号量推定処理を適用し、非階層符号化多重化ストリームへの変換後の符号量を予め算出して変換後の符号化レートを推定し、階層符号化多重化ストリーム生成時に符号量制御を行う。こうして、煩雑な再符号化処理を伴うことなく、階層符号化多重化ストリームから非階層符号化多重化ストリームに変換することが可能となる。
また、本実施形態の変換符号量推定処理は、拡張変換符号量推定部266、296の構成の説明で示したように、下位階層までの階層符号化多重化ストリームを非階層符号に変換した際の修正量子化DCT係数と符号量、および上位階層(符号化を施している拡張階層)の予測差分に対する量子化後の量子化DCT係数、マクロブロック単位で発生した上位階層の階層符号化時の符号量が入力され、マクロブロック単位の非階層符号変換後の推定符号量が出力される。
変換符号量推定処理では、上位階層の予測差分に対する量子化後のDCT係数に仮エントロピー符号化を施し、変換時に出力される符号量を計算することもでき、目的とする変換時の符号量を精度良く推定することも可能である。しかし、かかる構成では各拡張階層に対して2個のエントロピー符号化処理が必要となり、演算量もしくは演算回路の規模が増大する。その為、本実施形態の変換符号量推定処理では、階層毎のDCT係数を比較することで、精度良く変換時の符号量を推定するアルゴリズムを実現している。
図4は、変換符号量推定処理の具体的なアルゴリズムを示したフローチャートであり、図5は、変換符号量推定処理の有意係数の関係を示した説明図である。ここで、上位階層は変換符号量推定処理を実行する拡張階層を示し、下位階層は上位階層より下位にある全ての階層を示す。
ここでは、まず、推定対象となるマクロブロック毎の変換符号量Add、および下位階層に有意(0(ゼロ)ではない情報がある有効)な量子化DCT係数が存在することを示す値CBPが0に初期化される(S350)。そしてマクロブロック内に存在するすべてのDCTブロック390に対する推定処理を開始させる(S352)。
当該推定処理では、まずDCTブロック390内のスキャン対象位置pが開始点に設定される(S354)。このときのDCTブロック390内の係数スキャン順は、符号化時のDCT係数のスキャンと同一順とする。続いて、上位階層有意係数カウンタEnhCおよび、下位階層有意係数カウンタBaseCが0に初期化される(S356)。
係数スキャンの処理準備が整うと、DCTブロック内位置pにおける、上位階層の量子化DCT係数が有意(0でない)であるか否かが判断される(S358)。有意であれば(S358の“YES”)、EnhCを1インクリメントし(S360)、さらに、DCTブロック内位置pに存在する、下位階層を非階層符号に変換した量子化DCT係数が有意か否かを判断する(S362)。ここで有意であると判断される場合(S362の“YES”)、BaseCを1インクリメントする(S364)。有意判断(S358またはS362)において、有意でない(“NO”)と判断された場合、インクリメント処理をスキップする。
次に、スキャン対象位置pがDCTブロック390のスキャン順の最終係数であるかどうかが、DCTブロック内位置pがDCTブロックサイズに達したかどうかで判断され(S366)、最終係数でない場合(S366の“NO”)には、pを1インクリメントして(S368)、続くDCT係数の判断(S358)から繰り返す。
量子化DCT係数が最終係数である場合(S366の“YES”)、即ち、1つのDCTブロック390の一通りの有意判断処理が完了すると、続いてEnhCが0であるかどうかが判断される(S370)。EnhCが0でない(S370の“NO”)場合には、該当するDCTブロック390で生成される上位階層の生成符号量Coefと、BaseC、EnhCを用いて、そのDCTブロック390の非階層符号変換後の推定符号量を以下に示す数式2のように算出し、Addに加算する(S372)。
Add= Add + Coef×(1−α×BaseC/EnhC) …(数式2)
ただし、係数αは0以上1未満の定数である。
続いて、BaseCが0であるかどうかを判断し(S374)、BaseCが0である(S374の“YES”)場合には、上位階層で初めて有意係数が発生したと判断して、ブロックに関する符号化情報が増加したことによる符号量増加分として、係数βをAddに加算する(S376)。ここで係数βは正の整数である。また、BaseCが0でない場合(S374の“NO”)には、CBPに1をセットする(S378)。この場合には、上位階層による符号量の増加は無いものとして、続くDCTブロックの判断に移る。
こうして、一つのDCTブロック390に対する推定処理は終了し、該当DCTブロック390がマクロブロックの最終DCTブロックであるかどうかが判断され(S380)、最終DCTブロックである場合(S380の”YES”)には、次のステップに、最終DCTブロックではない場合(S380の”NO”)には、次のDCTブロックを選択して(S382)、推定処理(S352)から繰り返される。
次に、下位階層での量子化DCT係数がすべて0であるかどうかを、CBPが0以外の数値であるかどうかを通じて判断する(S384)。CBPが0である場合(S384の“YES”)、該当マクロブロックに関して上位階層で新たに情報が発生したと判断し、マクロブロックヘッダに対する情報量であるHdrをAddに加算する(S386)。CBPが0でなかった場合(S384の“NO”)には、Addへの加算は行わない。
上述した処理によって生成された推定マクロブロック変換符号量Addは、上位階層を変換することにより新たに発生する変換符号量の推定量となるため、下位階層までの推定符号量にAddを加算し、推定マクロブロックの推定符号量として出力する(S388)。
この推定処理アルゴリズムでは、符号変換(トランスコード)を施した際に、基本階層には存在しない(0である)量子化DCT係数が、拡張階層で存在する(0ではない)場合には、基本階層が0でない係数が異なる0でない係数に変化した場合よりも、符号量に与える影響が大きいことを利用している。例えば、図5に示されるような下位階層と上位階層とのDCT有意係数の関係を評価し、図5(b)の上位階層において初めて有意な量子化DCT係数が発生した場合392と、図5(a)で既に有意な量子化DCT係数があり、そこに重畳して有意な量子化DCT係数が発生した場合394とで、推定符号量に重み付けを行うことで、非階層符号に変換した際の発生符号量を精度良く推定することができる。
以上、説明したように本実施形態では、要求された符号化レートに応じて適切な非階層符号化多重化ストリームを選択的に提供するため、その非階層符号化多重化ストリームへの再符号化を前提とした階層化された階層符号化多重化ストリームが生成される。従って、階層符号化多重化ストリーム自体の符号量ではなく、非階層符号化多重化ストリームに再符号化した後の符号量が、要求される符号化レートに適合するように各階層の符号化処理が遂行される。かかる構成により、複数種類の可搬メディアへの高速ダビング時や、サーバ等からのコンテンツ配信時に、適切な所定の符号化レートで非階層符号化多重化ストリームを短時間でかつ品質良く記憶または伝送することが可能となる。
(非階層符号化変換装置120)
上述した階層符号化装置110で符号化および多重化された階層符号化多重化ストリームは、非階層符号化変換装置120によって非階層符号化多重化ストリームに変換される。
図6は、非階層符号化変換装置120の構成を示すブロック図である。非階層符号化変換装置120は、多重分離部400と、ヘッダ情報バッファ402と、基本符号バッファ404と、拡張符号バッファ406、408と、エントロピー復号DCT係数抽出部410、412、414と、量子化比変換部416と、加算器418と、量子化比変換部420と、加算器422と、変換階層制御部424と、エントロピー符号化部426と、多重化部428と、生成符号量評価部430とを含んで構成される。
上述した階層符号化装置110では、拡張階層を2層として符号化しているので、かかる非階層符号化変換装置120でも、拡張階層を2層とする。しかし、階層符号化装置110や非階層符号化変換装置120のいずれにおいても、例えば、3、4、5、…層といった複数の階層を構成することが可能である。
多重分離部400は、入力端子を通じて、階層符号化装置110から直接または一時的な記録メディアを介して入力された階層符号化多重化ストリームを、符号化構造や予測モード等のパラメータであるヘッダ情報と、基本階層の階層符号化多重化ストリームと、各拡張階層の階層符号化多重化ストリームとに分離する。そして分離した各情報をそれぞれのバッファに伝送する。
本実施形態は、基本階層と2つの拡張階層で構成されるので、多重分離部400は、ヘッダ情報をヘッダ情報バッファ402に、基本階層符号化ストリームを基本符号バッファ404に、拡張階層符号化ストリーム(SP、HP)を拡張符号バッファ406、408に出力し、ヘッダ情報バッファ402、基本符号バッファ404、拡張符号バッファ406、408は、それぞれの情報を保持する。
エントロピー復号DCT係数抽出部410、412、414は、基本符号バッファ404、拡張符号バッファ406、408から基本階層(LP)、拡張階層(SP)、拡張階層(HP)それぞれの階層符号化多重化ストリームを取り出し、各階層のエントロピー復号処理を行い、量子化DCT係数と量子化パラメータを抽出する。
基本階層のエントロピー復号DCT係数抽出部410においては、基本量子化DCT係数と基本量子化パラメータがエントロピー符号化部426および量子化比変換部416に出力される。拡張階層のエントロピー復号DCT係数抽出部412、414においては、拡張量子化DCT係数が加算器418、422に出力されると共に、拡張量子化パラメータがエントロピー符号化部426および量子化比変換部416、420に出力される。最上位の階層である拡張階層(HP)のエントロピー復号DCT係数抽出部414においては、拡張量子化DCT係数を加算器422に出力し、拡張量子化パラメータをエントロピー符号化部426および量子化比変換部420に出力する。
量子化比変換部416は、エントロピー復号DCT係数抽出部410から基本階層の基本量子化パラメータと基本量子化DCT係数が、エントロピー復号DCT係数抽出部412から拡張階層の拡張量子化パラメータが入力され、上述した数式1で示した変換処理を行って、修正基本量子化DCT係数を算出し、加算器418に出力する。
加算器418は、エントロピー復号DCT係数抽出部412からの拡張階層(SP)の拡張量子化DCT係数(差分)と、量子化比変換部416から供給された修正基本量子化DCT係数とを加算し、1層目の拡張階層までの全てのスケーラブル情報のDCT成分に対して非階層符号変換を施した結果のDCT成分をエントロピー符号化部426および量子化比変換部420に出力する。
ここで、加算器418の加算結果のDCT成分は、図1の階層符号化装置110における拡張量子化部258から出力される量子化された拡張量子化DCT係数と同一値になるので、変換処理におけるミスマッチは発生しない。
量子化比変換部420は、加算器418からの拡張階層(SP)までを非階層符号変換した結果のDCT成分と、エントロピー復号DCT係数抽出部412からの拡張階層(SP)の拡張量子化パラメータと、エントロピー復号DCT係数抽出部414からの拡張階層(HP)の拡張量子化パラメータとを用いて、量子化比変換部416と同様の変換処理を施し、変換処理後の修正拡張量子化DCT係数を加算器422に出力する。
加算器422は、量子化比変換部420から供給される修正拡張量子化DCT係数と、エントロピー復号DCT係数抽出部414から供給される拡張階層(HP)の拡張量子化DCT係数(差分)とを加算し、拡張階層(HP)までの全てのスケーラブル情報のDCT成分に対して非階層符号変換を施した結果のDCT成分をエントロピー符号化部426に出力する。
変換階層制御部424は、非階層符号変換処理を行うために必要な、例えばLP、SP、HPの3つの符号化モードをユーザに選択させ、入力された符号化モードに基づいて、エントロピー符号化を行う為の切り替え信号をエントロピー符号化部426に出力する。
本実施形態では、階層符号化装置110において、階層符号化多重化ストリームが設定された符号化レートに適合するように予め作られているので、非階層符号化変換装置120では、要求に応じてエントロピー符号化対象の階層を選択するだけで、所望の非階層符号化多重化ストリームを供給することが可能となる。
エントロピー符号化部426では、変換階層制御部424から入力された切り替え信号に基づき、入力された基本階層(LP)のDCT成分と基本量子化パラメータ、拡張階層(SP)までのスケーラブル情報のDCT成分に対して非階層符号変換を施した結果のDCT成分と量子化パラメータ、拡張階層(HP)までのスケーラブル情報のDCT成分に対して非階層符号変換を施した結果のDCT成分と量子化パラメータのうちから、変換符号化処理を施す成分を選択して、ヘッダ情報バッファ402から供給されるマクロブロック単位のヘッダ情報と共にエントロピー符号化を行う。そして、エントロピー符号化部426は、エントロピー符号化を行った結果のストリームを多重化部428に出力すると共に、符号変換による発生符号量が生成符号量評価部430に出力される。
多重化部428では、エントロピー符号化部426から供給される符号化ストリームと、ヘッダ情報バッファ402から供給されるスライス単位のヘッダ情報を多重化し、MPEG4−AVC符号化の非階層符号化多重化ストリームとして、出力端子を介して、可搬メディア等の変換ストリーム格納メディアに出力および記録する。
生成符号量評価部430は、変換階層制御部424から供給される符号化モードに基づいて、エントロピー符号化部426から供給される変換後の符号量(符号化レート)が本来あるべき符号量(符号化レート)を大きく逸脱していないかどうかを確認する。符号量が大きく逸脱するような場合においては、適切な符号化レートを補償すべく、符号化モードを調整する制御信号を変換階層制御部424に出力する。
以上説明した階層符号化装置110および非階層符号化変換装置120を用いることで、階層符号化を用いた階層符号化ストリームを生成し一時記録する際に、事後的に非階層符号化に変換されるときに生成される符号化ストリームの符号量を算出し、高速ダビングを想定している複数の記録符号化レート毎の符号量制御を行い、階層符号化ストリームを生成することで、可搬メディアへのダビング時や、サーバからのコンテンツ配信時に要求される、設定された符号化レートに対する非階層符号化多重化ストリームへの変換を高速且つ品質良く実現することが可能となる。
更に、算出する非階層符号化変換時の符号化ストリームの符号量を、非階層符号化のエントロピー符号化を施さずに、基本階層および拡張階層の量子化DCT係数と量子化パラメータを用いて算出することで、符号化レートを調整する再符号化処理が不要となった分の負荷、処理時間、およびその処理に伴う符号化劣化を削減することができる。
(第2の実施の形態)
上述した第1の実施形態においては、予め準備された規定の符号化レート(LP、SP、HP)を想定した階層符号化処理を行っていたが、第2の実施形態では、非階層符号変換時において、要求される符号化モード(符号化レート)が変化する場合にそれに追従的に適応して符号化レートを変更し、高品質かつ汎用性の高い符号変換処理を実現することが可能となる。以下、第2の実施形態における階層符号化装置510および非階層符号化変換装置520について説明する。
本実施形態における階層符号化装置510は、第1の実施形態における階層符号化装置110と実質的に同一の構造を取る。ただし、基本符号量制御部230、拡張符号量制御部268、298において、各階層までの非階層符号変換を施した際の推定符号量を積算し、その推定符号量を多重化部300に出力する処理が追加される。多重化部300では、各階層の階層符号化多重化ストリームと、各階層までを非階層符号変換を施した際の推定符号量とを多重化して伝送する。
図7は、ストリームの多重化構造を説明するための説明図である。多重化の一例として、MPEG2TS(トランスポートストリーム)でストリームが多重化される際に、図7に示すような構造をしているディスクリプタと呼ばれる記述子を用いて推定符号量を伝送することができる。ここでは、多重化される階層符号化多重化ストリームの拡張階層の階層数と、各拡張階層までの非階層符号への変換処理を施した場合の推定符号化レートを、所定の周期で伝送する。
MPEG4−SVCストリームを変換する場合に、拡張階層全体を、再符号化処理を施さずに切り替えられる単位は、動き補償予測の参照画像がリセットされるIDRピクチャと呼ばれる画像となるため、最長の周期としてはIDRピクチャ間隔が想定される。しかし、切り替えの単位は任意に設定でき、例えばフレーム単位(ピクチャ単位)またはフレーム内符号化が施された基準フレーム単位で推定符号量を伝送してもよい。また、上記の構成ではディスクリプタによる伝送を行っているが、ファイルフォーマット上で推定符号化レートを格納するエリアを設け格納することも容易に類推され、同じ仕組みを用いて実現可能である。
変換された非階層符号化多重化ストリームの推定符号量を、階層毎に、通常のフレーム単位や、ランダムアクセスが可能なフレームの単位で階層符号化多重化ストリームと共に多重化することで、非階層符号化変換装置520において、より細かい精度の符号化レートが要求される場合や、時間的に伝送レートが変動する場合においても、リアルタイムに適切かつ高品質な非階層符号化多重化ストリームを提供することができる。
図8は、推定符号化レートを算出するための推定符号量を算出・格納する処理の流れを示したフローチャートである。
まず、階層符号化開始時に各拡張の拡張階層符号量レジスタEnhBitsを0に初期化する(S600)。拡張階層符号量レジスタEnhBitsの初期化が終わるとフレーム単位の符号化処理を開始し(S602)、さらにマクロブロック単位の符号化処理を開始する(S604)。
続いて、マクロブロック単位で各拡張階層における変換符号量推定処理を施す(S606)。ここで行われる変換符号量推定処理は、第1の実施形態において図4、5を用いて説明した変換符号量推定処理と同一のアルゴリズムを用いることができる。そして、このような変換符号量推定処理で生成された推定マクロブロック変換符号量Addを拡張階層符号量レジスタEnhBitsに加算する(S608)。
マクロブロック単位での符号化処理が終了すると、該当するマクロブロックがフレームの最終マクロブロックであるか否かが判断される(S610)。最終マクロブロックではない場合(S610の“NO”)、次のマクロブロックが選択されて(S612)、マクロブロック符号化処理(S604)からを繰り返す。最終マクロブロックである場合(S610の“YES”)、次のフレームがIDRピクチャであるかもしくは符号化を終了する指令を受信したかどうかが判断され(S614)、いずれでもない場合(S614の“NO”)、次のフレームが選択されて(S616)、フレーム符号化処理(S602)からを繰り返す。
フレームが終了すると(S614の“YES”)、積算した拡張階層符号量レジスタEnhBitsを出力する(S618)。そして、符号化が完了したか否かが判断され(S620)、符号化が完了していなければ(S620の“NO”)、さらに継続するフレームを選択し(S622)、積算した拡張階層符号量レジスタEnhBitsのクリア処理(S600)から繰り返す。
図9は、非階層符号化変換装置520の構成を示すブロック図である。非階層符号化変換装置520は、多重分離部650と、ヘッダ情報バッファ402と、基本符号バッファ404と、拡張符号バッファ406、408と、エントロピー復号DCT係数抽出部410、412、414と、量子化比変換部416と、加算器418と、量子化比変換部420と、加算器422と、エントロピー符号化部426と、多重化部428と、生成符号量評価部430と、変換符号量推定バッファ652と、変換階層制御部654と、変換拡張階層情報バッファ656とを含んで構成される。
第1の実施形態における構成要素として既に述べたヘッダ情報バッファ402と、基本符号バッファ404と、拡張符号バッファ406、408と、エントロピー復号DCT係数抽出部410、412、414と、量子化比変換部416と、加算器418と、量子化比変換部420と、加算器422と、エントロピー符号化部426と、多重化部428と、生成符号量評価部430とは、実質的に機能が同一なので重複説明を省略し、ここでは、構成が相違する多重分離部650と、変換符号量推定バッファ652と、変換階層制御部654と、変換拡張階層情報バッファ656とを主に説明する。
多重分離部650は、多重分離部400の機能に加え、階層符号化多重化ストリームから多重化された各拡張階層の推定符号量を抽出して推定符号量を変換符号量推定バッファ652に出力する。
変換階層制御部654は、入力端子から入力された所望の非階層符号化変換の符号化レート設定と、変換符号量推定バッファ652から供給される各拡張階層の推定符号量と、生成符号量評価部430からの生成された実際の変換符号量とにより、符号変換を行う拡張階層を制御する。基本的な制御アルゴリズムとしては、要求された符号化レート設定に近づけるための推定符号量に対応する拡張階層を仮設定し、符号化レートと実際の変換符号量の推移とを比較しつつ、その差分に応じて符号変換を行う拡張階層をフィードバック制御する方法が取られる。
かかる制御方法においては、動き補償予測フレームにおいて、参照画像よりも高い拡張階層の変換処理を行った場合に、変換後の非階層符号化多重化ストリームは想定よりも低い拡張階層の参照画像を用いて復号されるため、変換時のミスマッチが生じる。このような現象を回避するために、非階層符号化変換装置520では、さらに参照画像毎の変換時の階層を保持する変換拡張階層情報バッファ656を備え、変換階層制御部654は、変換拡張階層情報バッファ656を通じて、変換対象となるフレームの階層が、常に、そのフレームが参照する参照画像の階層以下となるように拡張階層を制御する。
以上説明した階層符号化装置510および非階層符号化変換装置520の構成により、非階層符号化多重化ストリーム変換時の複数拡張階層の想定符号量を階層符号化ストリームと合わせて、フレーム単位やランダムアクセスが可能なフレームの単位で保持することが可能となり、より細かい精度の符号化レートへの制御が要求される場合や、外部伝送路の時間変動に対応した、非階層符号化多重化ストリーム変換処理を高品質に実現できる。
(符号化ストリーム再生プログラム)
図10は、第1および第2の実施形態における、階層符号化装置110、510および非階層符号化変換装置120、520として機能させることが可能なコンピュータ(情報処理装置)700の典型例を示した機能ブロック図である。コンピュータ700は、中央処理装置710と、一時記憶装置712と、外部記憶装置714と、通信部716と、入力部718と、出力部720とを含んで構成される。
中央処理装置(CPU)710は、一時記憶装置712や外部記憶装置714のプログラムやアプリケーションによりコンピュータ700全体を管理および制御する。一時記憶装置712は、ROM、RAM、EEPROM、不揮発性RAM等から構成され、中央処理装置710で処理されるプログラムや符号化ストリーム等を一時的に記憶する。外部記憶装置714は、フラッシュメモリ、HDD等で構成され、中央処理装置710で処理されるプログラムや符号化ストリーム等を記憶する。通信部716は、通信回線132を介して様々な電子機器やサーバと接続され、それらと画像信号や符号化ストリームを送受信することができる。入力部718は、記憶媒体130からの画像信号を入力できる。出力部720は、記憶媒体130等に符号化ストリームを出力できる。
上述した符号化ストリームの生成は、中央処理装置710がプログラムを実行することによって為される。従って、階層符号化装置110、510および非階層符号化変換装置120、520が提供されると同時に、コンピュータ700を、階層符号化装置110、510および非階層符号化変換装置120、520として機能させる階層符号化プログラムおよび非階層符号化変換プログラムも提供される。また、この階層符号化プログラムおよび非階層符号化変換プログラムは、記録媒体から読みとられてコンピュータに取り込まれてもよいし、通信回線132を介して伝送されてコンピュータに取り込まれてもよい。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上述した実施形態においては、動画像符号化の構成としてMPEG4−AVCおよびそのスケーラブル拡張であるMPEG4−SVC符号化方式を用いることを想定しているが、MPEG4、MPEG2等の階層符号化処理が可能な、動き補償予測および直交変換を用いた他の動画像符号化規格を用いても同様の効果を発揮することが期待でき、有効に活用することが可能である。
なお、本明細書の変換符号量推定処理および推定符号量を算出・格納する処理における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
本発明は、画像信号を階層的に符号化し、また符号化した階層符号化多重化ストリームを、階層構造を有さない非階層符号化多重化ストリームに再符号化する階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラムに利用することができる。
第1の実施形態における符号化システムの全体的な構成を示した説明図である。 第1の実施形態における階層符号化装置の構成を示すブロック図である。 比較例としての非階層符号化変換における符号化レートの推移を示した説明図である。 第1の実施形態における変換符号量推定処理の具体的なアルゴリズムを示したフローチャートである。 第1の実施形態における変換符号量推定処理の有意係数の関係を示した説明図である。 第1の実施形態における非階層符号化変換装置の構成を示すブロック図である。 第2の実施形態におけるストリームの多重化構造を説明するための説明図である。 第2の実施形態における推定符号化レートを算出するための推定符号量を算出・格納する処理の流れを示したフローチャートである。 第2の実施形態における非階層符号化変換装置の構成を示すブロック図である。 階層符号化装置および非階層符号化変換装置として機能させることが可能なコンピュータの典型例を示した機能ブロック図である。
符号の説明
110、510 …階層符号化装置
120、520 …非階層符号化変換装置
216 …基本量子化部
228 …基本エントロピー符号化部
230 …基本符号量制御部
258、288 …拡張量子化部
264、294 …拡張エントロピー符号化部
266、296 …拡張変換符号量推定部
268、298 …拡張符号量制御部
300 …多重化部
400、650 …多重分離部
424、654 …変換階層制御部

Claims (7)

  1. 基本階層における符号化対象のDCT係数を、基本量子化パラメータを用いて量子化し基本量子化DCT係数を生成する基本量子化部と、
    拡張階層における符号化対象のDCT係数を、拡張量子化パラメータを用いて量子化し拡張量子化DCT係数を生成する拡張量子化部と、
    前記基本量子化DCT係数にエントロピー符号化を施し、単独で復号可能な基本階層符号化ストリームを生成する基本エントロピー符号化部と、
    前記拡張量子化DCT係数にエントロピー符号化を施し、前記基本階層符号化ストリームを利用して復号可能な拡張階層符号化ストリームを生成する拡張エントロピー符号化部と、
    前記基本量子化パラメータを制御する基本符号量制御部と、
    前記拡張量子化パラメータを制御する拡張符号量制御部と、
    前記基本階層符号化ストリームと前記拡張階層符号化ストリームとを任意の階層の非階層符号化多重化ストリームに変換した場合における該非階層符号化多重化ストリームの推定符号量を算出する、拡張変換符号量推定部と、
    前記基本階層符号化ストリームと前記拡張階層符号化ストリームとを多重化して階層符号化多重化ストリームを生成する多重化部と、
    を備え
    前記拡張符号量制御部は、前記非階層符号化多重化ストリームの推定符号量が、予め設定された符号化レートにより算出される生成符号量の目標値に近づくように、前記拡張量子化パラメータを制御することを特徴とする階層符号化装置。
  2. 前記拡張変換符号量推定部は、
    前記非階層符号化多重化ストリームに対応する階層より下位の拡張階層もしくは基本階層における符号化対象のDCT係数と
    当該階層の拡張階層における符号化対象の量子化DCT係数と
    拡張階層における階層符号化ストリームの符号量を入力し、
    前記当該階層の拡張階層においてDCTブロック内でDCT係数が0でない係数の数と、
    前記当該階層の拡張階層においてDCT係数が0でない係数のうち、前記非階層符号化多重化ストリームに対応する階層より下位の拡張階層もしくは基本階層におけるDCTブロック内の同一位置のDCT係数が0でない係数の数と、
    前記拡張階層の階層符号化ストリームの符号量を用いて、
    前記非階層符号化多重化ストリームの推定符号量を算出することを特徴とする請求項1に記載の階層符号化装置。
  3. 前記拡張変換符号量推定部は、フレーム単位またはフレーム内符号化が施された基準フレーム単位で符号量を推定し、
    前記多重化部は、各拡張階層における記推定符号量も多重化して階層符号化多重化ストリームを生成することを特徴とする請求項1または2に記載の階層符号化装置。
  4. 基本階層と1または複数の拡張階層にて符号化され多重化された階層符号化多重化ストリームを、階層構造を有さない非階層符号化多重化ストリームに変換する非階層符号化変換装置であって、
    前記階層符号化多重化ストリームを、単独で復号可能な基本階層符号化ストリームと、該基本階層符号化ストリームを利用して復号可能な拡張階層符号化ストリームとに分離する多重分離部と、
    前記基本階層符号化ストリームを復号した基本量子化DCT係数、または前記拡張階層符号化ストリームを該基本階層符号化ストリームを利用して復号した拡張量子化DCT係数にエントロピー符号化を施し、非階層符号化多重化ストリームを生成するエントロピー符号化部と、
    ユーザの要求に応じて、前記エントロピー符号化部によるエントロピー符号化対象の階層を制御する変換階層制御部と、
    を備え、
    前記拡張階層符号化ストリームにおける量子化されたDCT係数に用いられた拡張量子化パラメータが、
    任意の階層の非階層符号化多重化ストリームに変換した場合における該非階層符号化多重化ストリームの符号量が予め設定された符号化レートにより算出される生成符号量の目標値に近づくように制御されていることを特徴とする非階層符号化変換装置。
  5. 基本階層と1または複数の拡張階層にて符号化され多重化された階層符号化多重化ストリームを、階層構造を有さない非階層符号化多重化ストリームに変換する非階層符号化変換装置であって、
    前記階層符号化多重化ストリームを、単独で復号可能な基本階層符号化ストリームと、該基本階層符号化ストリームを利用して復号可能な拡張階層符号化ストリームに分離する多重分離部と、
    前記基本階層符号化ストリームを復号した基本量子化DCT係数、または前記拡張階層符号化ストリームを該基本階層符号化ストリームを利用して復号した拡張量子化DCT係数にエントロピー符号化を施し、非階層符号化多重化ストリームを生成するエントロピー符号化部と、
    前記エントロピー符号化部によるエントロピー符号化対象の階層を、要求された符号化レートに適合する推定符号量に対応させて制御する変換階層制御部と、
    を備え、
    前記階層符号化多重化ストリームに各拡張階層における前記推定符号量が多重化されていると共に、
    前記拡張階層符号化ストリームにおける量子化されたDCT係数に用いられた拡張量子化パラメータが、
    任意の階層の非階層符号化多重化ストリームに変換した場合における該非階層符号化多重化ストリームの符号量が予め設定された符号化レートにより算出される生成符号量の目標値に近づくように制御されていることを特徴とする非階層符号化変換装置。
  6. コンピュータを、
    基本階層における符号化対象のDCT係数を、基本量子化パラメータを用いて量子化し基本量子化DCT係数を生成する基本量子化部と、
    拡張階層における符号化対象のDCT係数を、拡張量子化パラメータを用いて量子化し拡張量子化DCT係数を生成する拡張量子化部と、
    前記基本量子化DCT係数にエントロピー符号化を施し、単独で復号可能な基本階層符号化ストリームを生成する基本エントロピー符号化部と、
    前記拡張量子化DCT係数にエントロピー符号化を施し、前記基本階層符号化ストリームを利用して復号可能な拡張階層符号化ストリームを生成する拡張エントロピー符号化部と、
    前記基本量子化パラメータを制御する基本符号量制御部と、
    前記拡張量子化パラメータを制御する拡張符号量制御部と、
    前記基本階層符号化ストリームと前記拡張階層符号化ストリームとを任意の階層の非階層符号化多重化ストリームに変換した場合における該非階層符号化多重化ストリームの推定符号量を算出する、拡張変換符号量推定部と、
    前記基本階層符号化ストリームと前記拡張階層符号化ストリームとを多重化して階層符号化多重化ストリームを生成する多重化部と、
    して機能させ
    前記拡張符号量制御部は、前記非階層符号化多重化ストリームの推定符号量が、予め設定された符号化レートにより算出される生成符号量の目標値に近づくように、前記拡張量子化パラメータを制御することを特徴とする階層符号化プログラム。
  7. コンピュータを、
    階層符号化多重化ストリームを、単独で復号可能な基本階層符号化ストリームと、該基本階層符号化ストリームを利用して復号可能な拡張階層符号化ストリームとに分離する多重分離部と、
    前記基本階層符号化ストリームを復号した基本量子化DCT係数、または前記拡張階層符号化ストリームを該基本階層符号化ストリームを利用して復号した拡張量子化DCT係数にエントロピー符号化を施し、非階層符号化多重化ストリームを生成するエントロピー符号化部と、
    ユーザの要求に応じて、前記エントロピー符号化部によるエントロピー符号化対象の階層を制御する変換階層制御部と、
    して機能させ、
    前記拡張階層符号化ストリームにおける量子化されたDCT係数に用いられた拡張量子化パラメータが、
    任意の階層の非階層符号化多重化ストリームに変換した場合における該非階層符号化多重化ストリームの符号量が予め設定された符号化レートにより算出される生成符号量の目標値に近づくように制御されていることを特徴とする非階層符号化変換プログラム。
JP2008166669A 2008-06-26 2008-06-26 階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラム Active JP4844595B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008166669A JP4844595B2 (ja) 2008-06-26 2008-06-26 階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008166669A JP4844595B2 (ja) 2008-06-26 2008-06-26 階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラム

Publications (2)

Publication Number Publication Date
JP2010010977A JP2010010977A (ja) 2010-01-14
JP4844595B2 true JP4844595B2 (ja) 2011-12-28

Family

ID=41590955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008166669A Active JP4844595B2 (ja) 2008-06-26 2008-06-26 階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラム

Country Status (1)

Country Link
JP (1) JP4844595B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5174737B2 (ja) * 2009-05-05 2013-04-03 国立大学法人広島大学 画像配信システム、符号装置及び復号装置
US20130208809A1 (en) * 2012-02-14 2013-08-15 Microsoft Corporation Multi-layer rate control

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005286863A (ja) * 2004-03-30 2005-10-13 Secom Co Ltd 符号化信号分離装置、符号化信号合成装置および符号化信号分離合成システム
JP2007266750A (ja) * 2006-03-27 2007-10-11 Sanyo Electric Co Ltd 符号化方法
EP2372922A1 (en) * 2006-03-29 2011-10-05 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs

Also Published As

Publication number Publication date
JP2010010977A (ja) 2010-01-14

Similar Documents

Publication Publication Date Title
JP4146444B2 (ja) 動画像符号化の方法及び装置
KR101280700B1 (ko) 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램
US8442122B2 (en) Complexity scalable video transcoder and encoder
JP2005507587A (ja) 空間的にスケーラブルな圧縮
Xu et al. Window-level rate control for smooth picture quality and smooth buffer occupancy
JP2009544176A (ja) スケーラブルビデオコーデックと非スケーラブルビデオコーデックとの間でトランスコードを行うためのシステム及び方法
US9560356B2 (en) Image processing apparatus, image processing method, and image processing system
JP2007266749A (ja) 符号化方法
Pang et al. An analytic framework for frame-level dependent bit allocation in hybrid video coding
JP4844595B2 (ja) 階層符号化装置、非階層符号化変換装置、階層符号化プログラム、および非階層符号化変換プログラム
Hou et al. Consistent video quality control in scalable video coding using dependent distortion quantization model
JP4768779B2 (ja) 動画像符号化/復号化の方法及び装置
JP2007266750A (ja) 符号化方法
JP4421734B2 (ja) 符号化データ変換方法,及びデータ記録媒体
Pang et al. Dependent joint bit allocation for H. 264/AVC statistical multiplexing using convex relaxation
Yin et al. A rate control scheme for H. 264 video under low bandwidth channel
JP4788653B2 (ja) 画像データトランスコーディング装置及びトランスコーディング方法
JP4719854B2 (ja) 動画像符号化装置、動画像符号化プログラム、動画像復号化装置及び動画像復号化プログラム
Sanz-Rodriguez et al. In-layer multibuffer framework for rate-controlled scalable video coding
Park et al. Wyner-Ziv video coding with region adaptive quantization and progressive channel noise modeling
JP5709492B2 (ja) 画像符号化方式変換装置および画像符号化方式変換プログラム
Liu et al. Interface mb-based video content editing transcoding
Sanz-Rodríguez et al. A parallel H. 264/SVC encoder for high definition video conferencing
Zhang et al. Perception-based adaptive quantization for transform-domain Wyner-Ziv video coding
JP4571956B2 (ja) スケーラブル動画像符号化方法,装置,そのプログラムおよびその記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110913

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110926

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4844595

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350