(57)【要約】【課題】スケーラブル符号化において、符号化前のデータのデータ量を削減する。【解決手段】動画像を構成するピクチャに空間スケーラビリティを持たせて符号化するスケーラブル符号化において、基本解像度成分と、基本解像度成分との差分で表されるより高い解像度の成分についてそれぞれダイナミックレンジを計算する。ダイナミックレンジの大きさに応じて、それぞれの解像度成分を構成する画素に割り当てるビット数を変更する。変更されたビット数の情報は、動画像の符号化データに含められる。【選択図】図１
2007235299.tif 000002
【特許請求の範囲】
【請求項１】
動画像を構成するピクチャにスケーラビリティを持たせて符号化する符号化方法において、１つのピクチャから生成されたスケールの異なる基本画像と差分画像のそれぞれについて、画像内に含まれる画素レベルのダイナミックレンジを計算し、基本画像または差分画像内の画素に割り当てられる、ダイナミックレンジの大きさに応じて異なるビット数に関する情報を、動画像の符号化データに含めることを特徴とする符号化方法。
【請求項２】
ダイナミックレンジの比較的小さい画像において画素に割り当てるビット数を少なくし、これによって削減されたビット数を、ダイナミックレンジの比較的大きい画像の画素に割り当てることを特徴とする請求項１に記載の符号化方法。
【請求項３】
時間的に連続する所定数のピクチャについて、前記基本画像または前記差分画像のダイナミックレンジを比較し、比較的大きいダイナミックレンジのピクチャにおいては画素に割り当てるビット数を多くし、比較的小さいダイナミックレンジのピクチャにおいては画素に割り当てるビット数を少なくすることを特徴とする請求項１に記載の符号化方法。
【請求項４】
動画像を構成するピクチャに空間スケーラビリティを持たせて符号化する符号化方法において、基本解像度成分と、基本解像度成分との差分で表される基本解像度成分とは異なる解像度の成分についてそれぞれダイナミックレンジを計算し、それぞれの解像度成分を構成する画素に割り当てるビット数をダイナミックレンジの大きさに応じて変更することを特徴とする符号化方法。
【請求項５】
動画像を構成するピクチャからフレームレートの異なる複数の階層を求めることで時間スケーラビリティを持たせて符号化する符号化方法において、
各階層の画像についてそれぞれダイナミックレンジを計算し、ダイナミックレンジの大きさに応じて各階層の画像を構成する画素に割り当てるビット数を変更することを特徴とする符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する画像符号化方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、ＤＶＤなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、ＭＰＥＧ４の規格やＨ．２６４／ＡＶＣ規格がある。また、１つのストリームで、符号量に応じて、異なる画質（例えば高画質と低画質）、異なる解像度（例えば高解像度と低解像度）、異なるフレームレート（例えば高フレームレートと低フレームレート）の画像の圧縮および伸長を実現することのできる、Ｈ．２６４／ＡＶＣの拡張として規格化が進められているＳＶＣ（Scalable Video Coding）のような次世代画像圧縮技術がある。
【０００３】
次世代画像圧縮技術であるＳＶＣでは、動画像を複数の異なる解像度、フレームレート、画質で再生することができるように、空間スケーラビリティ、時間スケーラビリティ、ＳＮＲスケーラビリティなどの各種スケーラビリティを持たせて動画像を符号化する。これらのスケーラビリティを任意に組み合わせて符号化することも可能であり、ＳＶＣのスケーラビリティ機能は柔軟性に富んでいる。
【０００４】
また、デジタル画像信号の高能率符号化処理の１つとして、ＡＤＲＣ（Adaptive Dynamic Range Coding）が知られている。特許文献１には、この処理を利用する技術として、符号化処理の対象となる画像データを領域分割したブロック単位でのダイナミックレンジに応じて、量子化ビット数の切換を行うものが開示されている。
【特許文献１】特開２００３−２５９３６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＳＶＣにおいては、空間スケール、時間スケールまたはＳＮＲスケールの異なる複数の成分をフレーム毎に含めた符号化データが作成される。このとき、基本となるスケールを持つ基本画像と、基本画像との差分を取った差分画像が生成されるが、一般的に差分画像の方が基本画像よりもダイナミックレンジが小さくなる。しかしながら、それぞれの画像で一画素に割り当てられるビット数は同一であるため、差分画像の方が基本画像よりも相対的に多くの符号化データ量を消費しているという問題がある。
【０００６】
本発明はこうした状況に鑑みてなされたもので、その目的は、動画像を圧縮して符号化するときに、符号量を削減する符号化技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、画像符号化方法動画像を構成するピクチャにスケーラビリティを持たせて符号化する符号化方法において、１つのピクチャから生成されたスケールの異なる基本画像と差分画像のそれぞれについて、画像内に含まれる画素レベルのダイナミックレンジを計算し、基本画像または差分画像内の画素に割り当てられる、ダイナミックレンジの大きさに応じて異なるビット数に関する情報を、動画像の符号化データに含める。
【０００８】
「ピクチャ」は符号化の単位であり、その概念にはフレーム、フィールド、ＶＯＰ（Video Object Plane）などを含む。
【０００９】
また、「スケール」とは、例えば空間解像度、フレームレートおよび画質レベルなどの動画像の再生品質のことであり、スケーラビリティを持たせて符号化することは、スケールを異ならせて動画像を符号化し、複数の再生品質レベルの符号化データを生成すること（「スケーラブル符号」という）を含む。このようにしてスケーラブル符号化された動画像は、任意の再生品質レベルを選択して復号する（スケーラブル復号という）ことができるというスケーラビリティを持つ。空間解像度を異ならせて符号化された動画像は、空間スケーラビリティを有し、フレームレートを異ならせて符号化された動画像は、時間スケーラビリティを有し、画質レベルを異ならせて符号化された動画像は、ＳＮＲスケーラビリティを有する。
【００１０】
「ダイナミックレンジ」とは、画素レベルの最大値と最小値の差分であることが適しているが、最大値近辺の値もしくは最小値近辺の値の差分であってもよく、最大値および最小値がダイナミックレンジの中に含まれなくてもよい。
【００１１】
例えば、ダイナミックレンジが比較的小さい画像においては、画素に割り当てるビット数の最大値を小さくしても、再生品質の低下に与える影響は少ないと考えられる。そこで、この態様によれば、再生品質の低下を抑えつつ、対象画像の特性に応じた効率的な符号化処理を行うことができ、符号化データの圧縮率が向上する。
【００１２】
この場合、ダイナミックレンジの比較的小さい画像において画素に割り当てるビット数を少なくし、これによって削減されたビット数を、ダイナミックレンジの比較的大きい画像の画素に割り当ててもよい。ダイナミックレンジの小さい画像で余分となったビット数をダイナミックレンジの大きい画像に割り当てることで、この画像を高品質化することができる。
【００１３】
時間的に連続する所定数のピクチャについて、前記基本画像または前記差分画像のダイナミックレンジを比較し、比較的大きいダイナミックレンジのピクチャにおいては画素に割り当てるビット数を多くし、比較的小さいダイナミックレンジのピクチャにおいては画素に割り当てるビット数を少なくしてもよい。
【００１４】
「時間的に連続する所定数のピクチャ」は、例えばＧＯＰ（Group of pictures）であるが、他のものでもよい。
【００１５】
こうすると、時間軸において基本画像または差分画像のダイナミックレンジが変動する場合に、所定数のピクチャの範囲内であるピクチャについて余分なピット数を他のピクチャに分配することで、ダイナミックレンジの比較的小さいピクチャにおける再生品質の低下を抑制しつつ、ビット数を多く割り当てられたダイナミックレンジの比較的大きいピクチャを高品質化することができる。
【００１６】
動画像を構成するピクチャに空間スケーラビリティを持たせて符号化する符号化方法において、基本解像度成分と、基本解像度成分との差分で表される基本解像度成分とは異なる解像度の成分についてそれぞれダイナミックレンジを計算し、それぞれの解像度成分を構成する画素に割り当てるビット数をダイナミックレンジの大きさに応じて変更してもよい。「基本解像度成分とは異なる解像度の成分」は、基本解像度成分よりも高い解像度の成分でも低い解像度の成分でもよい。これによると、各解像度成分の特性に応じて効率的な符号化処理を行うことができ、符号化データの圧縮率が向上する。
【００１７】
動画像を構成するピクチャからフレームレートの異なる複数の階層を求めることで時間スケーラビリティを持たせて符号化する符号化方法において、各階層の画像についてそれぞれダイナミックレンジを計算し、ダイナミックレンジの大きさに応じて各階層の画像を構成する画素に割り当てるビット数を変更してもよい。これによると、各階層の画像の特性に応じて効率的な符号化処理を行うことができ、符号化データの圧縮率が向上する。
【００１８】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１９】
本発明によれば、スケールの異なる基本画像と差分画像それぞれのダイナミックレンジの大きさに応じて画素当たりのビット数を変更することで、符号化データのデータ量を低減することができる。
【発明を実施するための最良の形態】
【００２０】
（実施の形態１）
図１は、実施の形態１に係る符号化装置１００の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２１】
本実施の形態の符号化装置１００は、次世代画像圧縮技術であるＳＶＣ（Scalable Video Coding）に準拠して、動画像に空間（spatial）スケーラビリティ、時間（temporal）スケーラビリティ、およびＳＮＲ（signal to noise ratio）スケーラビリティの少なくとも１つを持たせて符号化する「スケーラブル符号化」を行う。
【００２２】
動画像の符号化には、国際標準化機関であるＩＳＯ（International Organization for Standardization）／ＩＥＣ（International Electrotechnical Commission）によって標準化されたＭＰＥＧ（Moving Picture Experts Group）シリーズの規格（ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４）、電気通信に関する国際標準機関であるＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standardization Sector）によって標準化されたＨ．２６ｘシリーズの規格（Ｈ．２６１およびＨ．２６３）、もしくは両方の標準化機関によって合同で標準化された動画像圧縮符号化標準規格であるＨ．２６２およびＨ．２６４／ＡＶＣ（両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264）に準拠する技術が用いられる。
【００２３】
なお、実施の形態では、動画像の符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はＭＰＥＧ−４におけるＶＯＰであってもよい。
【００２４】
符号化装置１００は、フレーム単位で動画像の入力を受け取り、動画像をスケーラブル符号化し、動画像の符号化ストリームを出力する。入力された動画フレームはフレームメモリに格納され、符号化に係る各処理部によって読み書きされる。
【００２５】
符号化装置１００は、空間スケーラビリティを持たせて動画像を符号化するために高解像度拡張レイヤ処理ブロック１１０、中解像度拡張レイヤ処理ブロック１２０と基本レイヤ処理ブロック１３０を有する。基本レイヤ処理ブロック１３０において低解像度で動画像を圧縮符号化し、拡張レイヤ処理ブロック１１０、１２０においてそれぞれ中解像度、高解像度で動画像を圧縮符号化する。これにより、階層毎に空間解像度の異なる動画像の符号化データが生成される。
【００２６】
また、符号化装置１００は、時間スケーラビリティを持たせて動画像を符号化するために、ＭＣＴＦ（Motion Compensated Temporal Filtering、動き補償時間方向フィルタ）技術を用いる。ＭＣＴＦ技術は、時間軸方向のサブバンド分割に動き補償を組み合わせたものであり、階層的な動き補償を行う。これにより、階層毎にフレームレートが異なる動画像の符号化データが生成される。
【００２７】
本実施形態では、異なる空間解像度を有する画像について、符号化の前にダイナミックレンジを計算し、そのダイナミックレンジの大小に応じて、画像に含まれる画素毎に割り当てるビット数を変更する。これによって、符号化ストリームの符号量を削減し、圧縮率を向上することができる
【００２８】
以下、各機能ブロックの説明をする。
画像分割部１０は、入力されたフレームの領域を分割し、分割された各領域の画像データを画像縮小部１２に与える。画像縮小部１２は、分割された各領域の画像データを、低解像度に相当する大きさと、中解像度画像に相当する大きさに縮小する。そして、低解像度に変換された各領域の画像データを基本レイヤ処理ブロック１３０に、中解像度に変換された各領域の画像データを中解像度拡張レイヤ処理ブロック１２０に与える。
【００２９】
基本レイヤ処理ブロック１３０は、画像縮小部１２により低解像度に変換された各領域の画像データを圧縮符号化して多重化部１８に出力する。中解像度拡張レイヤ処理ブロック１２０は、画像縮小部１２により中解像度に変換された各領域の画像データを圧縮符号化して多重化部１８に出力する。
【００３０】
また、空間スケーラブル符号化を実行するために、画像分割部１０は、入力画像の画像データを解像度を落とすことなく、高解像度拡張レイヤ処理ブロック１１０に与える。高解像度拡張レイヤ処理ブロック１１０は、高解像度の画像データを圧縮符号化して多重化部１８に出力する。
【００３１】
基本レイヤ処理ブロック１３０の各構成を説明する。ＭＣＴＦ部２０ｃは、ＭＣＴＦ技術にしたがった動き補償時間フィルタリングを実施する。ＭＣＴＦ部２０ｃは、動画像フレームから動きベクトルを求め、動きベクトルを用いて時間フィルタリングを実施する。時間フィルタリングは、ハール（Haar）ウェーブレット変換を用いて実施され、この結果、各階層に高域フレームと低域フレームとを含むフレームレートの異なる複数の階層に分解される。分解された高域フレームと低域フレームは階層毎にメモリに保持され、動きベクトルも階層毎にメモリに保持される。
【００３２】
ＭＣＴＦ部２０ｃにおける処理が終了すると、すべての階層の高域フレームと最下位階層の低域フレームは、予測部２４ｃに送られ、すべての階層の動きベクトルは、動き符号化部２２ｃに送られる。
【００３３】
予測部２４ｃは、画像フレームのフレーム内予測を行い、フレーム内予測誤差画像をダイナミックレンジ計算部３４ｃに与える。ダイナミックレンジ計算部３４ｃは、フレーム内予測誤差画像のダイナミックレンジを計算する。
【００３４】
ここで、ダイナミックレンジとは、画像に含まれる複数の画素の持つ画素値の最大値と最小値の差分によって規定される。ここでいう画素値とは、例えば８ビットの輝度レベルやＲＧＢ等の色信号レベルである。計算されたダイナミックレンジの値は、ビット数指定部３８ｃに与えられ、フレーム内予測誤差画像は割り当てビット数変更部３６ｃに与えられる。
【００３５】
ビット数指定部３８ｃは、ダイナミックレンジの大きさにしたがって、画像内の画素に割り当てるビット数を変更する。ダイナミックレンジとビット数との対応関係は、テーブル４０ｃに予め格納されている。また、ビット数指定部３８ｃは、画素当たりのビット数の情報を多重化部１８に与える。
【００３６】
一般に、ダイナミックレンジの小さい画像では、上位ビット成分を落としても画質に与える影響は小さいと考えられる。そこで、ビット数指定部３８ｃはダイナミックレンジが所定の閾値以下の場合には、画素値の上位ビットを落とすように割り当てビット数変更部３６ｃに指示する。これによって、符号化前の画像データ量が小さくなる。一例では、ダイナミックレンジが所定の閾値以下の場合は、８ビットの輝度レベルを６ビットにする。
【００３７】
ここで、上位ビットを落とすには以下の方法が考えられる。
方法１．各画素値から、ビット数変更の対象となる画像の中での最小値を減じた上で、上位ビットを落とす。
方法２．各画素値から、ビット数変更の対象となる画像の中での中間値を減じた上で、上位ビットを落とす。
方法３．特別の処理をせず単に上位ビットを落とす。
ビット数指定部３８ｃは、上記のうちいずれの方法を用いて画素値の上位ビットを落とすかについても割り当てビット数変更部３６ｃに指示することが好ましい。低解像度画像については、割り当てビット数変更部３６ｃは、上記のうち方法１または方法２を用いることが好ましい。後述する中解像度拡張レイヤ処理ブロック１２０または高解像度拡張レイヤ処理ブロック１１０においては、割り当てビット数変更部３６ｂ、３６ａは、中解像度画像または高解像度画像について上記のうち方法３を用いることが好ましい。
【００３８】
予め準備された複数のビット数変更方法の中から選択する場合、ビット数指定部３８ｃは、画素当たりのビット数とともに、用いた方法に関する情報を多重化部１８に与える。上記１または２の方法を用いる場合、ビット数指定部３８ｃは、最小値または中間値の情報も多重化部１８に与える。
【００３９】
割り当てビット数変更部３６ｃは、フレーム内予測誤差画像の各画素のビット数を、ビット数指定部３８ｃから指令されたビット数に変換した画像を作成し、この画像をＤＣＴ／量子化部２８ｃに与える。
【００４０】
ＤＣＴ／量子化部２８ｃは、割り当てビット数変更部３６ｃから供給された、最大ビット数が変換された画像を離散コサイン変換（ＤＣＴ）する。さらに、得られたＤＣＴ係数を量子化し、可変長符号化部３０ｃに与える。
【００４１】
可変長符号化部３０ｃは、ＤＣＴ／量子化部２８ｃから差分画像の量子化されたＤＣＴ係数を受け取り、ＤＣＴ係数を可変長符号化し、多重化部１８に与える。
【００４２】
動き符号化部２２ｃは、ＭＣＴＦ部２０ｃから与えられた動きベクトル情報を符号化し、多重化部１８に与える。
【００４３】
入力画像の空間スケーラブル符号化を行うために、基本レイヤ処理ブロック１３０の動き符号化部２２ｃおよび予測部２４ｃは、それぞれ基本レイヤにおける各フレームの動きベクトルとフレーム内予測誤差画像を中解像度拡張レイヤ処理ブロック１２０の動き符号化部２２ｂおよび内挿処理部３２ｂに与える。
【００４４】
次に、中解像度拡張レイヤ処理ブロック１２０の各構成を説明する。中解像度拡張レイヤ処理ブロック１２０は、画像縮小部１２から中解像度に縮小された画像データを受け取り、符号化する。
【００４５】
中解像度拡張レイヤ処理ブロック１２０のＭＣＴＦ部２０ｂは、基本レイヤ処理ブロック１３０のＭＣＴＦ部２０ｃと同じ動き補償時間フィルタリングを中解像度の画像データに施し、動きベクトル情報を動き符号化部２２ｂに、符号化データを予測部２４ｂに与える。なお、フレームレートを固定にするなどのため時間スケーラビリティを持たせる必要が無い場合、中解像度拡張レイヤ処理ブロック１２０にＭＣＴＦ部２０ｂを備える必要はない。
【００４６】
中解像度拡張レイヤ処理ブロック１２０の動き符号化部２２ｂは、基本レイヤ処理ブロック１３０の動き符号化部２２ｂから基本レイヤの低解像度画像の動きベクトルの情報を受け取る。中解像度拡張レイヤ処理ブロック１２０の動き符号化部２２ｂは、拡張レイヤの中解像度画像の動きベクトル情報と基本レイヤの低解像度画像の動きベクトル情報との間で差分符号化を行い、階層間で差分符号化された動きベクトル情報を多重化部１８に与える。
【００４７】
基本レイヤと拡張レイヤ間で動きベクトル情報を差分符号化する際、基本レイヤにおける動きベクトルを拡張レイヤの解像度に合うように拡大する。例えば、基本レイヤの低解像度画像の高さおよび幅がそれぞれ、拡張レイヤの中解像度画像の高さおよび幅の１／２である場合、基本レイヤの低解像度画像について得られた動きベクトルを高さ方向、幅方向にそれぞれ２倍する。中解像度拡張レイヤ処理ブロック１２０の動き符号化部２２ｂは、このようにして中解像度拡張レイヤの解像度に合わせて拡大された基本レイヤの動きベクトルと、中解像度拡張レイヤの動きベクトルとの間で差分を取って符号化する。このように階層間で動きベクトル情報を差分符号化することにより、中解像度拡張レイヤの動きベクトル情報をそのまま符号化するよりは、動きベクトル情報の符号量を減らすことができる。
【００４８】
内挿処理部３２ｂは、基本レイヤ処理ブロック１３０の予測部２４ｃから基本レイヤの予測誤差画像を受け取り、中解像度拡張レイヤの解像度に合わせるために画素を内挿する処理を行う。内挿処理部３２ｂは、内挿処理が施された基本レイヤの予測誤差画像を中解像度拡張レイヤ処理ブロック１２０の予測部２４ｂに与える。
【００４９】
中解像度拡張レイヤ処理ブロック１２０の予測部２４ｂは、ＭＣＴＦ部２０ｂから与えられた画像フレームをフレーム内予測符号化する。さらに、予測部２４ｂは、中解像度拡張レイヤの予測誤差画像と、中解像度拡張レイヤの解像度に合うように内挿された基本レイヤの予測誤差画像との間で差分符号化を行う。階層間で予測誤差画像の差分符号化を行うことにより、符号量を減らすことができる。
【００５０】
中解像度拡張レイヤ処理ブロック１２０のダイナミックレンジ計算部３４ｂ、割り当てビット数変更部３６ｂ、ビット数指定部３８ｂ、テーブル４０ｂ、ＤＣＴ／量子化部２８ｂ、および可変長符号化部３０ｂによる処理は、基本レイヤ処理ブロック１３０のダイナミックレンジ計算部３４ｃ、割り当てビット数変更部３６ｃ、ビット数指定部３８ｃ、テーブル４０ｃ、ＤＣＴ／量子化部２８ｃ、および可変長符号化部３０ｃによる処理と同じであり、拡張レイヤにおいて予測誤差画像が圧縮符号化され、多重化部１８に渡される。
【００５１】
入力画像の空間スケーラブル符号化を行うために、中解像度拡張レイヤ処理ブロック１２０の動き符号化部２２ｂおよび予測部２４ｂは、それぞれ中解像度拡張レイヤにおける各フレームの動きベクトルとフレーム内予測誤差画像を高解像度拡張レイヤ処理ブロック１１０の動き符号化部２２ａおよび内挿処理部３２ａに与える。
【００５２】
次に、高解像度拡張レイヤ処理ブロック１１０は、画像縮小部１２によって縮小されていない高解像度画像の画像データを画像分割部１０から受け取り、符号化する。高解像度拡張レイヤ処理ブロック１１０の各構成は、基本的に中解像度拡張レイヤ処理ブロック１２０と同様である。
【００５３】
多重化部１８は、基本レイヤ処理ブロック１３０から与えられる基本レイヤにおける低解像度成分の符号化データと、中解像度拡張レイヤ処理ブロック１２０から与えられる中解像度成分の符号化データと、高解像度拡張レイヤ処理ブロック１１０から与えられる高解像度成分の符号化データとを１つにまとめた符号化ストリームを生成して出力する。各レイヤの符号化データには、画像データと動きベクトル情報が含まれるほか、各レイヤのビット数指定部３８で決定された、画素当たりのビット数およびビット数変更方法の情報も含まれる。また、画像内での画素値の最小値または中間値を用いて画素値を変更した場合は、最小値または中間値の情報も符号化データに含められる。
なお、画像分割部１０でフレームから分割された領域毎に、画素当たりのビット数を変更することも可能である。この場合、画素当たりのビット数の情報は、それぞれの領域に関するパラメータの中に格納してもよい。
【００５４】
本実施形態では、画素当たりの割り当てビット数の変更は入力されたフレーム毎に行われるため、画素の割り当てビット数の情報はフレーム毎に持たせる必要がある。但し、すべての入力画像で画素に割り当てるビット数を統一する場合は、先頭のフレームのみにこの情報を持たせてもよい。
【００５５】
上記では、基本レイヤ処理ブロック１３０、中解像度拡張レイヤ処理ブロック１２０、高解像度拡張レイヤ処理ブロック１１０とを別々に設け、それぞれ基本レイヤの低解像度画像、拡張レイヤの中解像度画像、高解像度画像を符号化する構成を説明した。しかしながら、すべてのレイヤの処理ブロックで共通する構成要素は共有してもよい。例えば、基本レイヤ処理ブロック１３０の構成だけを設け、基本レイヤ処理ブロック１３０において基本レイヤの符号化を行い、基本レイヤにおける予測誤差画像と動きベクトル情報をメモリに保持する。次に、メモリに保持された基本レイヤの予測誤差画像と動きベクトル情報とを利用して、中解像度拡張レイヤおよび高解像度拡張レイヤの符号化処理を基本レイヤ処理ブロック１３０において実行する。このように基本レイヤにおける符号化処理の構成を拡張レイヤに流用すれば、符号化装置１００の回路規模を小さくすることができる。
【００５６】
上記の説明では、空間スケーラビリティの階層が３つである場合を説明したが、階層が２つでも、またはそれ以上の空間スケーラビリティの階層を持たせてもよい。階層を４以上とする場合は、最下位のレイヤに対しては基本レイヤ処理ブロックを設け、それ以外のレイヤに対してはレイヤ毎に拡張レイヤ処理ブロックの構成を設け、下位層に行くほど低解像度の画像を符号化するようにし、下位層から上位層へ予測誤差画像と動きベクトル情報を送り、各レイヤで差分符号化を行うように構成する。あるいは、基本レイヤ処理ブロックだけを設けて、基本レイヤ処理ブロックをレイヤ毎に繰り返し利用することにより各レイヤの符号化を逐次的に行うように構成してもよい。
【００５７】
図２は、符号化データのデータ構造を説明する図である。符号化データは、低解像度、中解像度、高解像度の３つのレイヤの符号化データを持つ。画素当たりのビット数、ビット数を変更する際に用いた方法、およびこれに付随する画素値の最小値または中間値の情報は、低解像度、中解像度、高解像度の各レイヤの符号化データのヘッダ部にそれぞれ格納される。復号装置は、各レイヤのヘッダ部に格納された情報を参照して、各画像の復号を実行する。低解像度の符号化データのみを用いて復号すると、低解像度の画像が再生される。低解像度の符号化データと中解像度の符号化データを用いて復号すると、中解像度の画像が再生される。低解像度の符号化データ、中解像度の符号化データ、高解像度の符号化データのすべてを用いて復号すると、高解像度の画像が再生される。
【００５８】
図３は、実施の形態１における符号化方法を説明するフローチャートである。まず、それぞれのレイヤにおいて、低解像度、中解像度、または高解像度の画像を受け取る（Ｓ１０）。続いて、ＭＣＴＦ処理、フレーム内予測符号化処理を行った後（Ｓ１２）、ダイナミックレンジ計算部３４において、画像内に含まれる画素値のダイナミックレンジを計算する（Ｓ１４）。ビット数指定部３８は、ダイナミックレンジの大きさにしたがって、画像内に含まれる画素に割り当てるビット数を決定し、割り当てビット数変更部３６に指令する（Ｓ１６）。画素当たりのビット数、ビット変更に用いた方法などに関する情報は、多重化部１８に送られる。割り当てビット数変更部３６は、フレーム内予測画像の各画素値のビット数が割り当てビット数になるように、各画素の上位ビットを落とした画像を作成する（Ｓ１８）。このビット数の情報は符号化ストリームに含められ、復号の際に利用される。作成された画像は、ＤＣＴ、量子化、可変長符号化を経て、低解像度成分、中解像度成分、高解像度成分の符号が符号化ストリームに多重化される（Ｓ２０）。
【００５９】
以上説明したように、本実施形態によれば、空間スケーラブル符号化データを作成する際、符号化の前に各解像度成分のダイナミックレンジを計算し、ダイナミックレンジの大きさに応じて画素に割り当てるビット数を変更するようにした。本実施形態のような空間スケーラブル符号化では、中解像度成分および高解像度成分は低解像度成分との差分として表されているため、低解像度成分のダイナミックレンジと比較して、中解像度成分および高解像度成分のダイナミックレンジは低くなる。ダイナミックレンジの低い画像では、画像内に含まれる画素の上位ビットを落としても画質に与える影響は小さいと考えられる。これによって、中解像度成分および高解像度成分に割り当てるビット数を全体として少なくすることができ、結果として符号化データの圧縮率を向上することができる。
特に、中解像度成分および高解像度成分は、低解像度成分との差分で表されているため、０を中心として正負方向に分散した画素値を持つことが多い。したがって、割り当てビット数変更部において単純に上位ビットを落とす方法（上述した方法３）により、データ量を大きく削減できることが期待できる。
【００６０】
上述の実施形態では、ダイナミックレンジが所定の閾値以下であったとき、画素に割り当てるビット数の上限を定めることによって、全体のビット数を削減することを述べたが、ダイナミックレンジが閾値より大きいとき、画素に割り当てるビット数を増やすようにしてもよい。こうすることによって、より多くのビット数が割り当てられた画像については高画質となることが期待される。また、１フレーム内で、例えば中解像度成分について削減されたビット数を高解像度成分の画素に割り当てるようにしてもよい。こうすれば、フレーム全体のデータ量を同程度にしつつ、高解像度成分については画質をさらに高めることができる。
【００６１】
上述の実施形態では、フレーム内予測を実行した後の画像についてダイナミックレンジを計算しているが、フレーム内予測前の画像についてダイナミックレンジを計算し、画素に割り当てるビット数を変更するようにしてもよい。
【００６２】
また、時間的に連続するフレームを観察したとき、例えば同じ低解像度成分のみを比較しても、それぞれダイナミックレンジの大きさは異なると考えられる。図４は、１ＧＯＰ内の各フレームの低解像度成分のダイナミックレンジの変動の一例を示す。このような場合、図中に点線で示すようなダイナミックレンジの閾値を設定しておき、ダイナミックレンジがこの閾値を越えるフレームについては、画素に割り当てるビット数を増加し、この閾値以下のフレームについては、画素に割り当てるビット数を少なくしてもよい。こうすることによって、ダイナミックレンジの小さいフレームについてはデータ量を削減しつつ、ダイナミックレンジの大きいフレームについては画質の向上が期待できる。
【００６３】
（実施の形態２）
実施の形態１では、空間スケーラビリティを持たせた画像の符号化において、ダイナミックレンジを利用して画像に割り当てるビット数を変更することを述べたが、時間スケーラビリティを持たせた画像の符号化においても同様の処理をすることができる。具体的には、上述したＭＣＴＦ処理において生成される各階層の高域フレームと低域フレームについてダイナミックレンジを計算する。
【００６４】
図５は、図１で述べたＭＣＴＦ部２０の詳細な構成を示すブロック図である。ＭＣＴＦ実行部４２は、画像保持部４６に格納されているフレームから動きベクトルを求め、動きベクトルを用いて時間フィルタリングを実施する。この結果、各階層に高域フレームＨと低域フレームＬとを含むフレームレートの異なる複数の階層に分解される。分解された高域フレームと低域フレームは、階層毎に画像保持部４６の専用の領域に格納され、動きベクトルも階層毎に動きベクトル保持部４４の専用の領域に格納される。
【００６５】
図６は、ＧＯＰが８フレームで構成される場合に、各階層で出力される画像と動きベクトルを示す図である。図６では、階層ｎの高域フレームをＨｎ、低域フレームをＬｎ、動きベクトルをＭＶｎと表記しており、この例では８フレームが３つの階層に分解される。いる。高域フレームＨはフレーム間の差分であるから、符号化時のデータ量は低下する。また、図６をみれば分かるように、一回の時間フィルタリング処理を経る毎に低域フレームＬ数は１／２に減少するが、低域フレームＬは上位階層のフレーム間の平均値であるから、画質および解像度は低下していないフレーム列が得られる。そして、最下位階層の１つの低域フレームとより上位の各階層内の高域フレームおよびベクトル情報を符号化することにより、フレームレートの異なる動画像を１つのビットストリームで送信することができる。
【００６６】
図５に戻り、ＭＣＴＦ実行部４２における処理が終了すると、画像保持部４６内のすべての階層の高域フレームと最下位階層の低域フレームがダイナミックレンジ計算部４８に送られる。ダイナミックレンジ計算部４８は、高域フレームと低域フレームのそれぞれについて、画像に含まれる複数の画素の持つ画素値の最大値と最小値の差分であるダイナミックレンジを計算し、その値をビット数指定部５２に送る。
【００６７】
ビット数指定部５２は、ダイナミックレンジの大きさにしたがって、高域フレームまたは低域フレームに含まれる画素に割り当てるビット数を調節する。ダイナミックレンジとビット数との対応関係は、テーブル５４に予め格納されている。
実施の形態１と同様に、ビット数指定部５２は、上記の方法１〜３のうちいずれの方法を用いて画素値の上位ビットを落とすかについても割り当てビット数変更部５０に指示することが好ましい。低域フレームについては、割り当てビット数変更部５０は、上記のうち方法１または方法２を用いることが好ましい。
ビット数指定部５２は、画素当たりのビット数の情報を多重化部１８に与える。予め準備された複数のビット数変更方法の中から選択する場合、ビット数指定部５２は、画素当たりのビット数とともに、用いた方法に関する情報を多重化部１８に与える。上記１または２の方法を用いる場合、ビット数指定部５２は、最小値または中間値の情報も多重化部１８に与える。
【００６８】
割り当てビット数変更部５０は、高域フレームまたは低域フレームの各画素のビット数を、ビット数指定部５２から指令されたビット数に変換した画像を作成し、この画像を各レイヤのＤＣＴ／量子化部２８ｃに与える。以降の処理は、実施の形態１で述べたのと同様である。
【００６９】
符号化ストリームを受け取った復号装置は、下位の階層から順に復号処理を実行する。下位階層のみを復号すれば低フレームレートの動画像が得られ、上位の階層まで復号するほど、フレームレートが増加した動画像が得られる。このように、ＭＣＴＦ技術にしたがった時間フィルタリングによって、時間的スケーラビリティを実現することができる。実施の形態１と同様に、復号装置は、各階層の符号化データのヘッダ部分に格納されている、画素に割り当てられたビット数、ビット数を変更する際に用いた方法、およびこれに付随する画素値の最小値または中間値の情報を参照して、各画像の復号を実行する。
なお、画像分割部１０でフレームから分割された領域毎に、画素当たりのビット数を変更して符号化が実施された場合、復号装置は、それぞれの領域に関するパラメータの中に格納されている画素当たりのビット数の情報を参照して、各領域の復号を実行する。
【００７０】
図７は、実施の形態２における符号化方法を説明するフローチャートである。まず、それぞれのレイヤにおいてＭＣＴＦ処理を実行し、フレームレートの異なる各階層の画像を格納する（Ｓ３０）。ダイナミックレンジ計算部４８は、高域フレームまたは低域フレームに含まれる画素値のダイナミックレンジを計算する（Ｓ３２）。ビット数指定部５２は、ダイナミックレンジの大きさにしたがって、それぞれのフレーム内に含まれる画素に割り当てるビット数を決定し、割り当てビット数変更部５０に指令する（Ｓ３４）。画素当たりのビット数、ビット変更に用いた方法などに関する情報は、多重化部１８に送られる。割り当てビット数変更部５０は、高域フレームまたは低域フレームに含まれる画素値のビット数が割り当てビット数になるように、各画素の上位ビットを落とした画像を作成する（Ｓ３６）。このビット数の情報は符号化ストリームに含められ、復号の際に利用される。作成された画像は、ＤＣＴ、量子化、可変長符号化を経て、各階層の画像の符号が符号化ストリームに多重化される（Ｓ３６）。
【００７１】
以上説明したように、本実施形態によれば、時間スケーラブル符号化データを作成する際、符号化の前にフレームレートの異なる各階層の画像についてダイナミックレンジを計算し、ダイナミックレンジの大きさに応じて画素に割り当てるビット数を変更するようにした。時間スケーラブル符号化では、高域フレームでは低域フレームと比べてダイナミックレンジが低くなり、画像内に含まれる画素の上位ビットを落としても画質に与える影響は小さいと考えられる。これによって、各階層の画像に割り当てる全体としてのビット数を少なくすることができ、結果として符号化データの圧縮率を向上することができる。
特に、高域フレームは低域フレームとの差分で表されているため、０を中心として正負方向に分散した画素値を持つことが多い。したがって、割り当てビット数変更部において単純に上位ビットを落とす方法（上述した方法３）により、データ量を大きく削減できることが期待できる。
【００７２】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７３】
本発明は、階層毎に画質の異なるＳＮＲスケーラビリティを持たせた符号化データを作成する際にも適用可能である。具体的には、低画質データと中画質データの差分である第１の差分データ、および中画質データと高画質データの差分である第２の差分データについて、それぞれダイナミックレンジを計算する。ダイナミックレンジの大きさに応じて、画素に割り当てるビット数を変更したのち、ＤＣＴ、量子化、可変長符号化を実行する。画質を異ならせた符号化は、量子化の際に、異なる量子化テーブルを用いて、適用される量子化ステップを小さくしたり、量子化により切り捨てる下位ビット数を減らすなどして実現できる。
【００７４】
上述では、空間スケーラビリティ、時間スケーラビリティ、およびＳＮＲスケーラビリティのそれぞれについて、基本画像と差分画像のダイナミックレンジに応じて画素に割り当てるビット数を変えることを述べたが、これらは任意に組み合わせることができる。
【図面の簡単な説明】
【００７５】
【図１】実施の形態１に係る符号化装置の構成図である。
【図２】符号化データのデータ構造を説明する図である。
【図３】実施の形態１における符号化方法を説明するフローチャートである。
【図４】ＧＯＰ内の各フレームのダイナミックレンジの変動の一例を示す図である。
【図５】実施の形態２に係るＭＣＴＦ部の詳細な構成を示すブロック図である。
【図６】各階層で出力される画像と動きベクトルを示す図である。
【図７】実施の形態２における符号化方法を説明するフローチャートである。
【符号の説明】
【００７６】
１０  画像分割部、  １２  画像縮小部、  １８  多重化部、  ２０  ＭＣＴＦ部、  ２２  動き符号化部、  ２４  予測部、  ２８  ＤＣＴ／量子化部、  ３０  可変長符号化部、  ３２  内挿処理部、  ３４  ダイナミックレンジ計算部、  ３６  割り当てビット数変更部、  ３８  ビット数指定部、  １００  符号化装置、  １１０  高解像度拡張レイヤ処理ブロック、  １２０  中解像度拡張レイヤ処理ブロック、  １３０  基本レイヤ処理ブロック。
【図１】
2007235299.tif 000003
【図２】
2007235299.tif 000004
【図３】
2007235299.tif 000005
【図４】
2007235299.tif 000006
【図５】
2007235299.tif 000007
【図６】
2007235299.tif 000008
【図７】
2007235299.tif 000009