(57)【要約】【課題】ＤＣＴブロックをスキャンして可変長符号化する際、スキャン順序を特定する情報を符号化データに含めると符号量が増える。【解決手段】画像縮小部１２は、入力画像を縮小して基本レイヤ処理ブロック１２０に与える。予測部２４ｂは画像フレームのフレーム内予測を行い、フレーム内予測誤差画像をＤＣＴ部２６ｂに与える。ＤＣＴ部２６ｂは、フレーム内予測誤差画像を離散コサイン変換（ＤＣＴ）し、得られたＤＣＴ係数を量子化部２８ｂに与える。量子化部２８ｂは、ＤＣＴ係数を量子化し、可変長符号化部３０ｂに与える。可変長符号化部３０ｂは、画像の縦横スケーリング比にもとづいて、通常ジグザグスキャン、水平優先スキャン、垂直優先スキャンのいずれかのスキャン順序を一意に決定し、ＤＣＴブロック内で決定されたスキャン順序でＤＣＴ係数をスキャンして可変長符号化する。【選択図】図１
2007174569.tif 000002
【特許請求の範囲】
【請求項１】
画像を空間周波数変換して得られる空間周波数係数のブロック内を、前記画像の水平方向の縮小の度合いと前記画像の垂直方向の縮小の度合いの比である縦横スケーリング比から定まるスキャン順序にてスキャンして前記空間周波数係数を可変長符号化することにより、前記画像の符号化データを生成することを特徴とする符号化方法。
【請求項２】
前記スキャン順序を特定する情報は前記符号化データには含めることなく、前記符号化データを生成することを特徴とする請求項１に記載の符号化方法。
【請求項３】
前記縦横スケーリング比が、縦方向の縮小の度合いが横方向の縮小の度合いよりも大きいことを示す場合、縦方向を優先したスキャン順序にてスキャンすることを特徴とする請求項１または２に記載の符号化方法。
【請求項４】
前記縦横スケーリング比が、横方向の縮小の度合いが縦方向の縮小の度合いよりも大きいことを示す場合、横方向を優先したスキャン順序にてスキャンすることを特徴とする請求項１から３のいずれかに記載の符号化方法。
【請求項５】
前記空間周波数係数のブロック内を低周波成分から高周波成分に向かってジグザグにスキャンする場合に、縦方向に連続してスキャンする画素数と、横方向に連続してスキャンする画素数とを前記画像の縦横スケーリング比から定めることを特徴とする請求項１から４のいずれかに記載の符号化方法。
【請求項６】
前記縦横スケーリング比と前記スキャン順序とを対応づけたテーブルが前記符号化データとは別に設けられて、符号化に利用されることを特徴とする請求項１から５のいずれかに記載の符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する符号化方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、ＤＶＤなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、ＭＰＥＧ４の規格やＨ．２６４／ＡＶＣ規格がある。また、１つのストリームで、符号量に応じて、異なる画質（たとえば高画質と低画質）、異なる解像度（たとえば高解像度と低解像度）、異なるフレームレート（たとえば高フレームレートと低フレームレート）の画像の圧縮および伸長を実現することのできる、Ｈ．２６４／ＡＶＣの拡張として規格化が進められているＳＶＣ（Scalable Video Coding）のような次世代画像圧縮技術がある。
【０００３】
次世代画像圧縮技術であるＳＶＣでは、動画像を複数の異なる解像度、フレームレート、画質で再生することができるように、空間スケーラビリティ、時間スケーラビリティ、ＳＮＲスケーラビリティなどの各種スケーラビリティをもたせて動画像を符号化する。これらのスケーラビリティを任意に組み合わせて符号化することも可能であり、ＳＶＣのスケーラビリティ機能は柔軟性に富んでいる。
【０００４】
特許文献１には、多階層に解像度や画質を可変可能なスケーラブル符号化法において符号化効率低下を抑制した任意形状画像の動画像符号化および復号装置が開示されている。
【特許文献１】特開平９−１８２０８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
画像の圧縮符号化において、画像が空間周波数領域に変換され、量子化の後、可変長符号化される。ここで、空間周波数変換係数のブロック内で、一般には、低周波成分から高周波成分の順にスキャンされ変換係数が可変長符号化される。ブロック内での変換係数のスキャン順序をブロック毎に変える場合、ブロック毎にスキャン順序を指定するための情報を画像の符号データに含めることが必要になり、符号量が増え、画像の符号化効率が低下するという問題がある。
【０００６】
本発明はこうした状況に鑑みてなされたもので、その目的は、符号化の際のスキャン順序を可変にする場合に、符号化効率の高い画像の符号化技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の符号化方法は、画像を空間周波数変換して得られる空間周波数係数のブロック内を、前記画像の水平方向の縮小の度合いと前記画像の垂直方向の縮小の度合いの比である縦横スケーリング比から定まるスキャン順序にてスキャンして前記空間周波数係数を可変長符号化することにより、前記画像の符号化データを生成する。
【０００８】
ここで、「画像」は静止画であってもよく、動画像を構成するピクチャであってもよい。「ピクチャ」は、フレーム、フィールド、ＶＯＰ（Video Object Plane）などを含む符号化の単位である。
【０００９】
画像の空間周波数変換の一例として、離散コサイン変換、離散ウェーブレット変換などがある。
【００１０】
この態様によると、スキャン順序を縦横スケーリング比から特定することができるため、画像の可変長符号化においてスキャン順序の選択が任意である場合に、スキャン順序を決定する基準を客観的に与えることができる。
【００１１】
前記スキャン順序を特定する情報は前記符号化データには含めることなく、前記符号化データを生成してもよい。これによれば、スキャン順序の選択ビットを設けて画像を符号化する必要がないため、画像の符号量を少なくすることができる。
【００１２】
前記縦横スケーリング比が、縦方向の縮小の度合いが横方向の縮小の度合いよりも大きいことを示す場合、縦方向を優先したスキャン順序にてスキャンしてもよい。前記縦横スケーリング比が、横方向の縮小の度合いが縦方向の縮小の度合いよりも大きいことを示す場合、横方向を優先したスキャン順序にてスキャンしてもよい。縦方向または横方向のいずれかに大きく縮小された場合、縦方向または横方向に高周波成分が顕著になる。縮小度合いの大きい方向を優先してスキャンすると、高周波成分がより多く現れる方向で有意の空間周波数係数を連続的に可変長符号化できるため、符号化効率を上げることができる。
【００１３】
前記空間周波数係数のブロック内を低周波成分から高周波成分に向かってジグザグにスキャンする場合に、縦方向に連続してスキャンする画素数と、横方向に連続してスキャンする画素数とを前記画像の縦横スケーリング比から定めてもよい。
【００１４】
「縦方向に連続してスキャンする画素数」とは、ジグザグスキャンする際に、縦方向にいくつの画素を連続してスキャンするかを示すものであり、「横方向に連続してスキャンする画素数」とは、ジグザグスキャンする際に、横方向にいくつの画素を連続してスキャンするかを示すものである。縦方向および横方向に連続してスキャンする画素数を決めることで、縦方向、横方向のいずれをどの程度優先してジグザグスキャンを進めるかを決めることができる。
【００１５】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１６】
本発明によれば、符号化の際のスキャン順序を可変にする場合に、画像の符号化効率を向上することができる。
【発明を実施するための最良の形態】
【００１７】
図１は、実施の形態に係る符号化装置１００の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１８】
本実施の形態の符号化装置１００は、次世代画像圧縮技術であるＳＶＣ（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）ウェーブレット変換を用いて実施され、この結果、各階層に高域フレームと低域フレームとを含むフレームレートの異なる複数の階層に分解される。分解された高域フレームと低域フレームは階層毎にメモリに保持され、動きベクトルも階層毎にメモリに保持される。
【００３０】
ＭＣＴＦ部２０ｂにおける処理が終了すると、すべての階層の高域フレームと最終的な階層の低域フレームは、予測部２４ｂに送られ、すべての階層の動きベクトルは、動き符号化部２２ｂに送られる。
【００３１】
予測部２４ｂは、画像フレームのフレーム内予測を行い、フレーム内予測誤差画像をＤＣＴ部２６ｂに与える。ＤＣＴ部２６ｂは、予測部２４ｂから供給されたフレーム内予測誤差画像を離散コサイン変換（ＤＣＴ）し、得られたＤＣＴ係数を量子化部２８ｂに与える。量子化部２８ｂは、ＤＣＴ係数を量子化し、可変長符号化部３０ｂに与える。
【００３２】
可変長符号化部３０ｂは、量子化部２８ｂから量子化されたＤＣＴ係数を受け取り、ＤＣＴ係数を可変長符号化し、多重化部１８に与える。
【００３３】
ＳＮＲスケーラブル符号化を行う場合は、量子化部２８ｂは、複数のビットプレーンの内、切り捨てる下位ビットプレーンの数を変えたり、量子化ステップを変えることで、階層毎に異なる画質の符号化データを生成する。
【００３４】
可変長符号化部３０ｂは、画像縮小部１２が与えられた縮小率から画像の縦横スケーリング比を求め、縦横スケーリング比に応じてスキャン順序を決定し、決定されたスキャン順序でＤＣＴブロック内のＤＣＴ係数をスキャンして可変長符号化する。
【００３５】
動き符号化部２２ｂは、ＭＣＴＦ部２０ｂから与えられた動きベクトル情報を符号化し、多重化部１８に与える。
【００３６】
空間スケーラブル符号化を行うために、基本レイヤ処理ブロック１２０の動き符号化部２２ｂおよび予測部２４ｂは、それぞれ基本レイヤにおける各フレームの動きベクトルとフレーム内予測誤差画像を拡張レイヤ処理ブロック１１０の動き符号化部２２ａおよび内挿処理部３２に与える。
【００３７】
次に、拡張レイヤ処理ブロック１１０の各構成を説明する。拡張レイヤ処理ブロック１１０が符号化する画像データは、画像縮小部１２によって縮小されていない高解像度画像である。
【００３８】
拡張レイヤ処理ブロック１１０のＭＣＴＦ部２０ａは、基本レイヤ処理ブロック１２０のＭＣＴＦ部２０ｂと同じ動き補償時間フィルタリングを高解像度の画像データに施し、動きベクトル情報を動き符号化部２２ａに、符号化データを予測部２４ａに与える。
【００３９】
拡張レイヤ処理ブロック１１０の動き符号化部２２ａは、基本レイヤ処理ブロック１２０の動き符号化部２２ｂから基本レイヤの画像の動きベクトルの情報を受け取る。拡張レイヤ処理ブロック１１０の動き符号化部２２ａは、拡張レイヤの画像の動きベクトル情報と基本レイヤの画像の動きベクトル情報との間で差分符号化を行い、階層間で差分符号化された動きベクトル情報を多重化部１８に与える。
【００４０】
基本レイヤと拡張レイヤ間で動きベクトル情報を差分符号化する際、基本レイヤにおける動きベクトルを拡張レイヤの解像度に合うように拡大する。たとえば、基本レイヤの画像の高さおよび幅がそれぞれ、拡張レイヤの画像の高さおよび幅の１／２である場合、基本レイヤの画像について得られた動きベクトルを高さ方向、幅方向にそれぞれ２倍する。拡張レイヤ処理ブロック１１０の動き符号化部２２ａは、このようにして拡張レイヤの解像度に合わせて拡大された基本レイヤの動きベクトルと、拡張レイヤの動きベクトルとの間で差分を取って符号化する。このように階層間で動きベクトル情報を差分符号化することにより、拡張レイヤの画像の動きベクトル情報をそのまま符号化するよりは、動きベクトル情報の符号量を減らすことができる。
【００４１】
内挿処理部３２は、基本レイヤ処理ブロック１２０の予測部２４ｂから基本レイヤの画像の予測誤差画像を受け取り、拡張レイヤの解像度に合わせるために画素を内挿する処理を行う。内挿処理部３２は、内挿処理が施された基本レイヤの予測誤差画像を拡張レイヤ処理ブロック１１０の予測部２４ａに与える。
【００４２】
拡張レイヤ処理ブロック１１０の予測部２４ａは、ＭＣＴＦ部２０ａから与えられた画像フレームをフレーム内予測符号化する。さらに、拡張レイヤ処理ブロック１１０の予測部２４ａは、拡張レイヤの予測誤差画像と、拡張レイヤの解像度に合うように内挿された基本レイヤの予測誤差画像との間で差分符号化を行う。階層間で予測誤差画像の差分符号化を行うことにより、符号量を減らすことができる。
【００４３】
拡張レイヤ処理ブロック１１０のＤＣＴ部２６ａ、量子化部２８ａ、および可変長符号化部３０ａによる処理は、基本レイヤ処理ブロック１２０のＤＣＴ部２６ｂ、量子化部２８ｂ、および可変長符号化部３０ｂによる処理と同じであり、拡張レイヤにおいて予測誤差画像が圧縮符号化され、多重化部１８に渡される。
【００４４】
多重化部１８は、基本レイヤ処理ブロック１２０から与えられる基本レイヤにおける符号化データと、拡張レイヤ処理ブロック１１０から与えられる拡張レイヤにおける符号化データとを１つにまとめた階層化された符号化ストリームを生成して出力する。各レイヤの符号化データには、画像データと動きベクトル情報が含まれる。
【００４５】
上記では、基本レイヤ処理ブロック１２０と拡張レイヤ処理ブロック１１０とを別々に設け、それぞれ基本レイヤの低解像度画像、拡張レイヤの高解像度画像を符号化する構成を説明したが、基本レイヤ処理ブロック１２０と拡張レイヤ処理ブロック１１０で共通する構成要素は基本レイヤと拡張レイヤの間で共有してもよい。たとえば、基本レイヤ処理ブロック１２０の構成だけを設け、基本レイヤ処理ブロック１２０において基本レイヤの符号化を行い、基本レイヤにおける予測誤差画像と動きベクトル情報をメモリに保持する。次に、メモリに保持された基本レイヤの符号化結果を利用して、拡張レイヤの符号化処理を基本レイヤ処理ブロック１２０において実行する。このように基本レイヤにおける符号化処理の構成を拡張レイヤに流用すれば、符号化装置１００の回路規模を小さくすることができる。
【００４６】
上記の説明では、空間スケーラビリティの階層が基本レイヤと拡張レイヤの２つである場合を説明したが、３以上の空間スケーラビリティの階層をもたせてもよい。その場合は、最下位のレイヤに対しては基本レイヤ処理ブロック１２０を設け、それ以外のレイヤに対してはレイヤ毎に拡張レイヤ処理ブロック１１０の構成を設け、下位層に行くほど低解像度の画像を符号化するようにし、下位層から上位層へ予測誤差画像と動きベクトル情報を送り、各レイヤで差分符号化を行うように構成する。あるいは、基本レイヤ処理ブロック１２０だけを設けて、基本レイヤ処理ブロック１２０をレイヤ毎に繰り返し利用することにより各レイヤの符号化を逐次的に行うように構成してもよい。
【００４７】
空間スケーラビリティの階層が３以上である場合は、レイヤ０の画像、すなわち最小サイズの画像は基本レイヤ処理ブロック１２０で符号化され、レイヤ１以上の画像は、拡張レイヤ処理ブロック１１０で符号化される。そのため、拡張レイヤ処理ブロック１１０には、最上位レイヤの縮小されていない原画像の他、画像縮小部１２により縮小された画像も入力される。そのため、拡張レイヤ処理ブロック１１０の可変長符号化部３０ａは、最上位レイヤ以外の各レイヤについては、画像縮小部１２から縮小率の情報を受け取り、基本レイヤ処理ブロック１２０の可変長符号化部３０ｂと同様に、縦横スケーリング比に応じたスキャン順序で空間周波数係数をスキャンして可変長符号化する。以下、拡張レイヤ処理ブロック１１０の可変長符号化部３０ａが、基本レイヤ処理ブロック１２０の可変長符号化部３０ｂと同様の動作をすることがあることを踏まえ、拡張レイヤ処理ブロック１１０の可変長符号化部３０ａと基本レイヤ処理ブロック１２０の可変長符号化部３０ｂを総称して、単に可変長符号化部３０と呼び、本実施の形態の可変長符号化部３０に特有の動作を説明する。
【００４８】
図２（ａ）、（ｂ）は、画像を縮小した場合のＤＣＴ係数の変化を説明する図である。図２（ａ）は、一例として縦縞模様画像３００をＤＣＴ変換した場合を示す。縦縞模様画像３００の縦横８画素のブロック３０１をＤＣＴ変換すると、ＤＣＴブロック３１０が得られる。
【００４９】
ＤＣＴブロック３１０の左上隅の係数はＤＣ成分であり、水平方向、垂直方向に低周波成分から高周波成分が並んでおり、右下隅の係数は水平方向、垂直方向ともに高周波の成分である。斜線が付されている係数は非ゼロ値であり、斜線が付されていない係数はゼロ値である。元の画像が縦縞模様であるため、その画像のブロックをＤＣＴ変換すると、水平方向には高周波成分が現れるが、垂直方向には低周波成分しか現れない。したがって、縦縞模様画像３００のＤＣＴブロック３１０においては、垂直方向の最低周波数の列に非ゼロ値が低周波から高周波まで並ぶ。この例では、斜線で示すように、垂直方向の最低周波数の列に３個の非ゼロ値が並んでいる。
【００５０】
図２（ｂ）は、図２（ａ）の縦縞模様画像３００を水平方向に１／２に縮小した画像３０２を示す。水平方向に縮小された画像３０２において縦横８画素のブロック３０３をＤＣＴ変換すると、ＤＣＴブロック３１２が得られる。元の画像を水平方向に１／２に縮小したため、縮小された画像３０２のブロック３０３内では、縦縞の本数が２倍に増えており、水平方向の高周波が顕著になる。したがって、水平方向に縮小された画像３０２のＤＣＴブロック３１２においては、元の縦縞模様画像３００のＤＣＴブロック３１０に比べて、垂直方向の最低周波数の列に非ゼロ値がより多く並ぶことになる。この例では、斜線で示すように、垂直方向の最低周波数の列に６個の非ゼロ値が並んでいる。
【００５１】
図２（ａ）、（ｂ）では、縦縞模様画像３００を例に水平方向の縮小した場合を説明したが、一般の画像においても、水平方向に縮小すると、元の画像に比べて水平方向に高周波成分が顕著に現れる傾向がある。また、垂直方向に縮小すると、元の画像に比べて垂直方向に高周波成分が顕著に現れる傾向がある。
【００５２】
ＤＣＴ係数は、通常、ＤＣＴブロック内を縦横方向に同一の画素数だけ交互に進めながらジグザグにスキャンして可変長符号化される。このスキャン順序を「通常ジグザグスキャン」と呼ぶ。
【００５３】
ＤＣＴブロック内で水平方向に高周波成分が顕著であれば、水平方向にスキャンを進める画素数を増やすことで、ランレングスを長く取ることができ、符号化効率を上げることができる。ジグザグスキャンにおいて、水平方向にスキャンを進める画素数を垂直方向にスキャンを進める画素数よりも大きくしたスキャン順序を「水平優先スキャン」と呼ぶ。
【００５４】
また、ＤＣＴブロック内で垂直方向に高周波成分が顕著であれば、垂直方向にスキャンを進める画素数を増やすことで、同様にランレングスを長く取ることができ、符号化効率が上がる。ジグザグスキャンにおいて、垂直方向にスキャンを進める画素数を水平方向にスキャンを進める画素数よりも大きくしたスキャン順序を「垂直優先スキャン」と呼ぶ。
【００５５】
動画像のフレーム毎あるいはフレーム内のＤＣＴブロック毎に通常ジグザグスキャン、水平優先スキャン、および垂直優先スキャンのいずれかのスキャン順序を選択してＤＣＴ係数を可変長符号化すると、フレーム毎あるいはＤＣＴブロック毎にスキャン順序を特定する情報を画像の符号化データに含めることが必要になり、スキャン順序を特定する情報量の分だけ符号量が増え、動画像の符号化効率が低下する。
【００５６】
そこで、本実施の形態では、可変長符号化部３０は、画像の縦横スケーリング比に応じて、通常ジグザグスキャン、水平優先スキャン、および垂直優先スキャンのいずれかのスキャン順序を一意に決定し、決定されたスキャン順序でＤＣＴブロック内のＤＣＴ係数を可変長符号化する。
【００５７】
可変長符号化部３０は、スキャン順序を特定する情報を画像の符号化データに含めることはしない。なぜなら、画像の縦横スケーリング比によってスキャン順序は一意に決定されるため、画像を復号する際、画像の符号化データにスキャン順序を特定する情報が含まれていなくても、復号対象の画像の縦横スケーリング比をもとにスキャン順序を一意に特定し、可変復号後のＤＣＴ係数を正しく並べて画像を再生することができるからである。
【００５８】
図３（ａ）〜（ｃ）は、ＤＣＴブロックのスキャン順序を説明する図である。図３（ａ）は、通常ジグザグスキャンを説明する図である。ＤＣＴブロック３２０において、左上隅の画素から開始して、水平方向に１画素、垂直方向に１画素ずつ交互に進めながら、低周波から高周波に向かってジグザグにスキャンし、スキャンライン上のＤＣＴ係数を可変長符号化する。
【００５９】
図３（ｂ）は、水平優先スキャン順序を説明する図である。ＤＣＴブロック３２０において、左上隅の画素から開始して、この例では、水平方向に３画素、垂直方向に１画素ずつ交互に進めながら、低周波から高周波に向かってジグザグにスキャンし、スキャンライン上のＤＣＴ係数を可変長符号化する。これにより、ジグザグのスキャンラインを水平方向に傾斜させて、水平方向に並ぶ画素を垂直方向に並ぶ画素よりも多くたどりながら、水平方向に顕著に連続して表れる有意のＤＣＴ係数を優先して可変長符号化することができる。
【００６０】
図３（ｃ）は、垂直優先スキャン順序を説明する図である。ＤＣＴブロック３２０において、左上隅の画素から開始して、この例では、垂直方向に３画素、水平方向に１画素ずつ交互に進めながら、低周波から高周波に向かってジグザグにスキャンし、スキャンライン上のＤＣＴ係数を可変長符号化する。これにより、ジグザグのスキャンラインを垂直方向に傾斜させて、垂直方向に並ぶ画素を水平方向に並ぶ画素よりも多くたどりながら、垂直方向に顕著に連続して表れる有意のＤＣＴ係数を優先して可変長符号化することができる。
【００６１】
なお、通常ジグザグスキャンでは、矢印で示したスキャンラインが横切る画素は１つだけであるから、スキャンライン上の画素に対応するＤＣＴ係数を順次符号化すればよいが、水平優先スキャンや垂直優先スキャンでは、スキャンラインが同じ画素を２度通過することもある。その場合は、最初に通過したときにその画素に対応するＤＣＴ係数を符号化し、２回目に通過したときはその画素は無視すればよい。
【００６２】
図４（ａ）、（ｂ）は、画像の縦横スケーリング比とＤＣＴブロックのスキャン順序を決めるパラメータの関係を説明する図である。
【００６３】
図４（ａ）に示すように、水平方向Ｗ画素、垂直方向Ｈ画素の画像３３０が、水平方向Ｗ’画素、垂直方向Ｈ’画素の画像３３２に縮小されたとする。ここで、縮小された画像には斜線を付している。
【００６４】
水平方向（横方向）の縮小率ＲＸはＲＸ＝Ｗ’／Ｗ、垂直方向（縦方向）の縮小率ＲＹは、ＲＹ＝Ｈ’／Ｈである。可変長符号化部３０は、スキャンの優先方向を、水平方向の縮小率ＲＸと垂直方向の縮小率ＲＹの比ＲＸ／ＲＹ（これを「縦横スケーリング比」という）によって決める。可変長符号化部３０は、縦横スケーリング比ＲＸ／ＲＹが１より小さい、すなわち縦方向の縮小の度合いよりも横方向の縮小の度合いが大きい場合は、水平優先スキャンを選択する。縦横スケーリング比ＲＸ／ＲＹが１より大きい、すなわち横方向の縮小の度合いよりも縦方向の縮小の度合いが大きい場合は、垂直優先スキャンを選択する。
【００６５】
図４（ｂ）を参照して、水平優先スキャンおよび垂直優先スキャンにおけるパラメータを説明する。ＤＣＴブロック３２０において水平方向にスキャンを進める画素数ＮＸと、垂直方向にスキャンを進める画素数ＮＹを示す。水平優先スキャンは、水平方向にスキャンを進める画素数ＮＸが垂直方向にスキャンを進める画素数ＮＹよりも大きいことで特徴づけられる。一方、垂直優先スキャンは、垂直方向にスキャンを進める画素数ＮＹが水平方向にスキャンを進める画素数ＮＸよりも大きいことで特徴づけられる。
【００６６】
水平方向にスキャンを進める画素数ＮＸと垂直方向にスキャンを進める画素数ＮＹは、同図のように、ＤＣＴブロック３２０の端、すなわちジグザグスキャンの折り返し点で決められる。このようにジグザグスキャンの折り返し点で連続してスキャンする画素数ＮＸ、ＮＹを縦方向、横方向に定めることで、ジグザグスキャンの折り返し点以外の途中の斜め方向でも、これらの画素数ＮＸ、ＮＹにほぼ対応する画素数で縦方向および横方向に連続してたどりながらスキャンが行われることになる。
【００６７】
可変長符号化部３０は、縦横スケーリング比にもとづいてスキャンの優先方向を決定するだけでなく、水平優先スキャンまたは垂直優先スキャンを選択した場合において、水平方向にスキャンを進める画素数ＮＸと垂直方向にスキャンを進める画素数ＮＹについても縦横スケーリング比にもとづいて決定する。
【００６８】
図５（ａ）〜（ｄ）は、画像の縦横スケーリング比ＲＸ／ＲＹ、水平方向にスキャンを進める画素数ＮＸ、垂直方向にスキャンを進める画素数ＮＹの間の関係を説明する図である。図５（ａ）は、画像３３０が水平方向に１／２倍された例である。縮小画像３３４の水平方向の縮小率はＲＸ＝１／２、垂直方向の縮小率はＲＹ＝１であり、縦横スケーリング比はＲＸ／ＲＹ＝１／２である。このとき、一例として、図５（ｂ）に示すように、縮小画像３３４のＤＣＴブロック３２０において、水平方向にスキャンを進める画素数ＮＸを２に、垂直方向にスキャンを進める画素数ＮＹを１に設定する。
【００６９】
図５（ｃ）は、画像３３０が垂直方向に１／２倍された例である。縮小画像３３６の水平方向の縮小率はＲＸ＝１、垂直方向の縮小率はＲＹ＝１／２であり、水縦横スケーリング比はＲＸ／ＲＹ＝２である。このとき、一例として、図５（ｄ）に示すように、縮小画像３３６のＤＣＴブロック３２０において、水平方向にスキャンを進める画素数ＮＸを１に、垂直方向にスキャンを進める画素数ＮＹを２に設定する。
【００７０】
図６は、画像の縦横スケーリング比ＲＸ／ＲＹに対して、スキャンの優先方向と、水平方向にスキャンを進める画素数ＮＸおよび垂直方向にスキャンを進める画素数ＮＹとを対応づけたテーブルを説明する図である。この対応テーブルは、符号化装置１００のメモリに格納され、可変長符号化部３０によって読み出されて符号化に利用される。
【００７１】
この例では、縦横スケーリング比ＲＸ／ＲＹ＝１／４に対して、水平方向にスキャンを進める画素数ＮＸ＝４、垂直方向にスキャンを進める画素数ＮＹ＝１が対応づけられており、これは水平優先スキャンである。ＲＸ／ＲＹ＝１／２に対して、ＮＸ＝２、ＮＹ＝１が対応づけられており、これも水平優先スキャンである。
【００７２】
ＲＸ／ＲＹ＝１に対しては、ＮＸ＝１、ＮＹ＝１が対応づけられいており、これは通常ジグザグスキャンである。縦横スケーリング比が１となるのは、水平方向の縮小率と垂直方向の縮小率が等しい場合や、画像が縮小されていない場合である。
【００７３】
ＲＸ／ＲＹ＝２に対して、ＮＸ＝１、ＮＹ＝２が対応づけられており、これは垂直優先スキャンである。ＲＸ／ＲＹ＝４に対して、ＮＸ＝１、ＮＹ＝４が対応づけられており、これも垂直優先スキャンである。
【００７４】
可変長符号化部３０ｂは、画像縮小部１２から与えられた画像の水平方向の縮小率ＲＸおよび垂直方向の縮小率ＲＹをもとに、縦横スケーリング比ＲＸ／ＲＹを計算し、図６の対応テーブルを参照して、縦横スケーリング比ＲＸ／ＲＹにもとづいて、通常ジグザグスキャン、水平優先スキャン、垂直優先スキャンのいずれかを選択し、水平方向にスキャンを進める画素数ＮＸ、垂直方向にスキャンを進める画素数ＮＹを一意に決める。画像の復号装置においても、図６のテーブルを有し、可変長復号部が、復号対象の画像の縦横スケーリング比ＲＸ／ＲＹにもとづいて一意に常ジグザグスキャン、水平優先スキャン、垂直優先スキャンのいずれかを選択し、水平方向にスキャンを進める画素数ＮＸ、垂直方向にスキャンを進める画素数ＮＹを一意に決める。
【００７５】
以上述べた、画像の縦横スケーリング比でスキャン順序を選択して符号化する方法は、ＳＶＣの空間スケーラブル符号化において特に有効である。空間スケーラブル符号化では各階層で画像を所定の縮小率で縮小し、階層毎に異なる空間解像度で画像データの符号化を行う。
【００７６】
図７は、空間スケーラビリティの階層を示す。ここでは３つのレイヤの空間スケーラビリティをもつ符号化の例を説明する。レイヤ２の画像３４０は横Ｗ画素、縦Ｈ画素であり、レイヤ１の画像３４２は、レイヤ２の画像３４０を水平方向だけ１／２倍したものであり、レイヤ０の画像３４４は、レイヤ１の画像３４２をさらに垂直方向に１／２倍したものである。レイヤ０は基本レイヤであり、レイヤ１およびレイヤ２は拡張レイヤである。
【００７７】
空間スケーラブル符号化では、レイヤ毎に画像を符号化した後、レイヤ０の画像３４４とレイヤ１の画像３４２の間で差分符号化を行い、さらにレイヤ１の画像３４２とレイヤ２の画像３４０の間で差分符号化を行う。
【００７８】
ここで、レイヤ１の画像３４２は、水平方向のみ縮小されており、水平方向に高周波成分が顕著に現れる。そこで、レイヤ１の画像を符号化においては、ＤＣＴ係数の可変長符号化は水平優先スキャンで行うことが符号化効率の面で好ましい。
【００７９】
空間スケーラブル符号化は、各階層において水平方向と垂直方向を同時に縮小しながら符号化することもあるが、この例のように、ある階層において水平方向のみを縮小し、その次の階層において、垂直方向のみを縮小することで階層的符号化を行うこともできる。本実施の形態の縦横スケーリング比によるスキャン順序の選択は、各階層で水平方向または垂直方向のいずれかを縮小してスケーラブル符号化する場合に、特に有効である。
【００８０】
以上述べたように、本実施の形態の符号化装置１００によれば、画像の縦横スケーリング比にスキャン順序を連動させるため、スキャン順序を特定する情報を画像の符号化データに含める必要がなくなり、画像の符号化効率を上げることができる。
【００８１】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８２】
上記の実施の形態では、画像の空間周波数変換としてＤＣＴ変換を例に挙げてＤＣＴブロック内のスキャン順序を画像の縦横スケーリング比にもとづいて決定することを説明したが、画像の空間周波数変換はＤＣＴ変換に限らず、離散ウェーブレット変換（Discrete Wavelet Transform；ＤＷＴ）など他の空間周波数変換であってもよい。ＤＣＴ変換の場合、画像は同一サイズのブロックに分割されるが、ＤＷＴ変換の場合、画像の低周波成分を再帰的に分割しながら、空間周波数変換するので、各階層で異なるサイズのＤＷＴ係数のブロックが得られる。ＤＷＴ変換の場合は、各階層のＤＷＴ係数のブロックにおけるスキャン順序を画像の縦横スケーリング比にもとづいて決定することになる。
【００８３】
また、上記の実施の形態では、動画像を例に挙げて、各フレームを空間周波数変換した場合に、空間周波数係数の可変長符号化におけるスキャン順序を決定する方法を説明したが、この方法は、動画像に限らず、静止画を空間周波数変換した場合にも同様に適用できる。たとえば、ＪＰＥＧ（Joint Photographics Experts Group）のＤＣＴ変換やＪＰＥＧ２０００のＤＷＴ変換において、変換係数のブロックのスキャン順序を画像の縦横スケール比に応じて選択することにより、静止画の圧縮効率を高めることができる。
【図面の簡単な説明】
【００８４】
【図１】実施の形態に係る符号化装置の構成図である。
【図２】画像を縮小した場合のＤＣＴ係数の変化を説明する図である。
【図３】ＤＣＴブロックのスキャン順序を説明する図である。
【図４】画像の縦横スケーリング比とＤＣＴブロックのスキャン順序を決めるパラメータの関係を説明する図である。
【図５】画像の縦横スケーリング比、水平方向にスキャンを進める画素数、垂直方向にスキャンを進める画素数の間の関係を説明する図である。
【図６】画像の縦横スケーリング比に対して、スキャンの優先方向と、水平方向にスキャンを進める画素数および垂直方向にスキャンを進める画素数とを対応づけたテーブルを説明する図である。
【図７】空間スケーラビリティの階層を説明する図である。
【符号の説明】
【００８５】
１２  画像縮小部、  １８  多重化部、  ２０ａ、２０ｂ  ＭＣＴＦ部、  ２２ａ、２２ｂ  動き符号化部、  ２４ａ、２４ｂ  予測部、  ２６ａ、２６ｂ  ＤＣＴ部、  ２８ａ、２８ｂ  量子化部、  ３０ａ、３０ｂ  可変長符号化部、  ３２  内挿処理部、  １００  符号化装置、  １１０  拡張レイヤ処理ブロック、  １２０  基本レイヤ処理ブロック。
【図１】
2007174569.tif 000003
【図２】
2007174569.tif 000004
【図３】
2007174569.tif 000005
【図４】
2007174569.tif 000006
【図５】
2007174569.tif 000007
【図６】
2007174569.tif 000008
【図７】
2007174569.tif 000009