(57)【要約】【課題】  従来の符号化方式や現在標準化活動中のＨＥＶＣ符号化方式においては、量子化係数の走査方法が複数存在する場合でも対応する量子化マトリクスが１つしか定義できず、係数の各走査方法に最適な量子化マトリクスを適用することができなかった。【解決手段】  入力画像を複数ブロックに分割し、分割されたブロックに対して、ブロック単位で予測誤差を生成し、前記予測誤差に対して直交変換を行い、変換係数を生成し、前記変換係数を量子化する際に用いる量子化マトリクスを保持手段に保持し、量子化された変換係数を符号化するために前記量子化された変換係数を走査する走査方法を決定し、決定された走査方法に基づいて、前記保持手段に保持された複数の量子化マトリクスを選択し、前記決定された走査方法で変換係数を走査し、前記選択された量子化マトリクスを用いて前記変換係数から量子化係数を生成し、前記量子化係数を符号化する。【選択図】  図１
2013012887.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を複数のブロックに分割する分割手段と、
前記分割手段によって分割されたブロックに対して、ブロック単位で予測誤差を生成する予測手段と、
前記予測誤差に対して直交変換を行い、変換係数を生成する変換手段と、
前記変換係数を量子化する際に用いる量子化マトリクスを保持する量子化マトリクス保持手段と、
量子化された変換係数を符号化するために前記量子化された変換係数を走査する走査方法を決定する走査方法決定手段と、
前記走査方法決定手段によって決定された走査方法に基づいて、前記量子化マトリクス保持手段に保持された複数の量子化マトリクスを選択する量子化マトリクス選択手段と、
前記決定された走査方法で変換係数を走査し、前記選択された量子化マトリクスを用いて前記変換係数から量子化係数を生成する量子化手段と、
前記量子化係数を符号化する係数符号化手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記走査方法決定手段は、前記予測手段による予測の対象のブロックの予測方向に基づいて、走査方法を決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記量子化マトリクスを符号化する量子化マトリクス符号化手段と、
前記係数符号化手段によって符号化された量子化係数と前記量子化マトリクス符号化手段によって符号化された量子化マトリクスを統合する統合手段と
を有することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記量子化マトリクス符号化手段は、前記複数の量子化マトリクスについて、該量子化マトリクスを符号化するか第１量子化マトリクスとの差分を符号化するかを決定することを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
入力されたビットストリームのヘッダ情報を復号し、必要な符号を分離する分離手段と、
前記分離手段によって分離された符号から走査方法を決定する走査方法決定手段と、
前記分離手段によって分離された符号から量子化係数を復号する係数復号手段と
前記決定された走査方法に基づいて量子化マトリクスを選択する量子化マトリクス選択手段と、
前記選択された量子化マトリクスを用いて前記復号された量子化係数を逆量子化して変換係数を生成し、前記決定された逆走査方法で逆走査する逆量子化手段
を有することを特徴とする画像復号装置。
【請求項６】
画像符号化装置における画像符号化方法であって、
入力画像を複数のブロックに分割する分割工程と、
前記分割工程によって分割されたブロックに対して、ブロック単位で予測誤差を生成する予測工程と、
前記予測誤差に対して直交変換を行い、変換係数を生成する変換工程と、
前記変換係数を量子化する際に用いる量子化マトリクスを保持手段に保持する量子化マトリクス保持工程と、
量子化された変換係数を符号化するために前記量子化された変換係数を走査する走査方法を決定する走査方法決定工程と、
前記走査方法決定工程によって決定された走査方法に基づいて、前記保持手段に保持された複数の量子化マトリクスを選択する量子化マトリクス選択工程と、
前記決定された走査方法で変換係数を走査し、前記選択された量子化マトリクスを用いて前記変換係数から量子化係数を生成する量子化工程と、
前記量子化係数を符号化する係数符号化工程と
を有することを特徴とする画像符号化装置。
【請求項７】
画像復号装置における画像復号方法であって、
入力されたビットストリームのヘッダ情報を復号し、必要な符号を分離する分離工程と、
前記分離工程によって分離された符号から走査方法を決定する走査方法決定工程と、
前記分離工程によって分離された符号から量子化係数を復号する係数復号工程と
前記決定された走査方法に基づいて量子化マトリクスを選択する量子化マトリクス選択工程と、
前記選択された量子化マトリクスを用いて前記復号された量子化係数を逆量子化して変換係数を生成し、前記決定された逆走査方法で逆走査する量子化工程
を有することを特徴とする画像復号装置。
【請求項８】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項１に記載の画像符号化装置として機能させることを特徴とするプログラム。
【請求項９】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項５に記載の画像復号装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特に画像中の量子化マトリクスの符号化方法・復号方法に関する。
【背景技術】
【０００２】
動画像の圧縮記録方法として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている。（非特許文献１）
Ｈ．２６４においてはｓｃａｌｉｎｇ＿ｌｉｓｔ情報を符号化することにより、量子化マトリクスの各要素を任意の値に変更することができる。非特許文献１に記載されている７．３．２．１．１．１節によれば、変更対象の要素の直前の要素に差分値であるｄｅｌｔａ＿ｓｃａｌｅを加算することで量子化マトリクスの各要素は任意の値をとることができる。
【０００３】
近年、Ｈ．２６４の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔとの間で設立され、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＨＥＶＣ）として標準化が進められている。
【０００４】
符号化効率向上のため、従来のジグザグスキャンに加えて水平スキャンや垂直スキャンといった変換・量子化等の符号化処理後の係数の走査方法が検討されている。図２に係数の走査方法の様子を表す。太枠の１０００は、変換や量子化等を行う単位としてのブロックを表しており、説明を簡易にするため、４×４画素の構成とし、太枠内の各正方形は変換・量子化後の係数を表すものとする。図２（ａ）は従来のジグザグスキャンを表しており、矢印の示す通りブロック内の左上から右下の方向に係数を走査していく。一方、図２（ｂ）および図２（ｃ）はそれぞれ水平・垂直スキャンを表しており、矢印の示す通り係数をブロックの左上から水平・垂直方向に係数を走査していく。このように複数の係数の走査方法を用いて符号化処理を行っている。（非特許文献２）
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６４  （０３／２０１０）  Ａｄｖａｎｃｅｄｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【非特許文献２】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ｅ６０３．ｄｏｃ  インターネット＜  ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／５＿Ｇｅｎｅｖａ／ｗｇ１１／  ＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＨＥＶＣにおいても、Ｈ．２６４と同様に量子化マトリクスの各要素を任意の値に設定できるような仕組みを導入することが考えられている。しかしながら、係数の走査方法に応じた量子化マトリクスの制御を行うことは考えられておらず。係数の走査方法に応じた量子化マトリクス制御を行うことが画質の観点からは望ましい。
【０００７】
しかしながら、係数の走査方法ごとに量子化マトリクスを制御できるようにした場合、それぞれの走査方法に最適な量子化マトリクスを符号化する必要があり、そのための符号量が増加してしまうという課題が生ずる。
【０００８】
したがって、本発明は上述した課題を解決するためになされたものであり、係数の走査方法に応じて適応的に量子化マトリクスを使用することを目的としている。
【課題を解決するための手段】
【０００９】
上述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、入力画像を大きさの異なる複数のブロックに分割し、前記分割されたブロック単位で画像を符号化する画像符号化方法において、処理対象ブロックの属性情報を取得する取得工程と、前記処理対象ブロックの画質を制御する制御パラメータを設定する設定工程と、前記属性情報に基づいて予測制御パラメータを決定する決定工程と、前記設定工程で算出された前記制御パラメータと前記予測制御パラメータとの差分値を算出する算出工程と、前記算出工程で算出された差分値を符号化する符号化工程とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明により、係数の走査方法ごとに量子化マトリクスを設定することができるようになり、それぞれの走査方法で最適な量子化処理が行えるようになる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１における画像符号化装置の構成を示すブロック図
【図２】（ａ）〜（ｃ）  ブロック内の係数の走査方法の一例を示す図
【図３】実施形態２における画像復号装置の構成を示すブロック図
【図４】量子化マトリクスの一例を示す図
【図５】実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャート
【図６】実施形態２に係る画像復号装置における画像復号処理を示すフローチャート
【図７】（ａ）、（ｂ）ビットストリームの構造の一例を示す図
【図８】実施形態３における画像符号化装置の構成を示すブロック図
【図９】実施形態４における画像復号装置の構成を示すブロック図
【図１０】実施形態３に係る画像符号化装置における画像符号化処理を示すフローチャート
【図１１】実施形態４に係る画像復号装置における画像復号処理を示すフローチャート
【図１２】実施形態５における画像符号化装置の構成を示すブロック図
【図１３】実施形態６における画像復号装置の構成を示すブロック図
【図１４】実施形態５に係る画像符号化装置における画像符号化処理を示すフローチャート
【図１５】実施形態６に係る画像復号装置における画像復号処理を示すフローチャート
【図１６】本発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
＜実施形態１＞
以下、本発明の実施形態を、図面を用いて説明する。図１は本実施形態の画像符号化装置を示すブロック図である。
【００１４】
図１において、１は入力画像を複数のブロックに分割するブロック分割部である。
２はブロック分割部１で分割された各ブロックを、ブロック単位で予測を行い、予測方法を決定し、それに従って差分値算出を行い、予測誤差を算出する予測部である。静止画または動画の場合のイントラフレームではイントラ予測を行い、動画の場合は動き補償予測も行うものとする。イントラ予測は一般的には、複数の参照方法に対して、周囲の画素のデータからその予測値を算出する参照画素を参照する方法（予測方法）を選択することで実現する。
【００１５】
７は予測部２で決定した予測方法に基づいて係数走査方法を決定する係数走査方法決定部である。係数走査方法の種類に関しては特に限定しないが、本実施形態では、図２におけるジグザグスキャン、水平スキャン、垂直スキャンの３種類を用いることとする。
【００１６】
９は量子化マトリクスを生成し、一旦格納する量子化マトリクス保持部である。格納される量子化マトリクスの生成方法については特に限定しないが、ユーザが量子化マトリクスを入力しても良いし、入力画像の特性から算出しても、初期値としてあらかじめ指定されたものを使用してももちろん良い。
【００１７】
３は各ブロックの予測誤差に対して直交変換を行う変換部であり、入力されたブロックサイズまたはそれを細分化したブロックサイズを単位に直交変換を行い、直交変換係数を算出する。以下では直交変換を行うブロックを変換ブロックと呼称する。直交変換に関しては特に限定しないが、離散コサイン変換やアダマール変換等を用いてもよい。また、本実施形態では説明のため、８×８画素のブロック単位の予測誤差を縦横２分割し、４×４画素の変換ブロック単位で直交変換を行うものとするが、変換ブロックの大きさはこれに限定されない。ブロックと同一の大きさの変換ブロックを用いて直交変換を行っても良いし、ブロックを縦横２分割よりもさらに細かい単位で分割した変換ブロックを用いて直交変換を行っても良い。
【００１８】
８は係数走査方法決定部７で決定した係数走査方法および変換部３で決定した変換ブロックサイズを入力して量子化マトリクス保持部９に格納された量子化マトリクスの中から適用する量子化マトリクスを選択する量子化マトリクス選択部である。
【００１９】
４は係数走査方法決定部７で決定した係数走査方法を用いて前記直交変換係数を走査し、量子化マトリクス選択部８で選択された量子化マトリクスによって量子化する量子化部である。この量子化によって量子化係数を得ることができる。本実施形態では直交変換係数を走査した後に量子化を行う順序となっているが、順序はこれに限定されず量子化を行ってから量子化係数を走査しても良い。量子化マトリクス内の各要素を適切に並び替えれば、係数の走査と量子化の順序に関わらず同一の量子化係数を算出することは可能である。
【００２０】
５はこのようにして得られた量子化係数を、符号化して量子化係数符号データを生成する係数符号化部である。符号化の方法には、ハフマン符号や算術符号などを用いることができる。
【００２１】
１０は量子化マトリクス保持部９に格納された量子化マトリクスを符号化して、量子化マトリクス符号データを生成する量子化マトリクス符号化部である。量子化マトリクスの符号化方法は特に限定しないが、量子化マトリクスの各要素の値そのもの、もしくは直前の要素の値との差分や他の量子化マトリクスとの差分に対して、ハフマン符号や算術符号などを用いることができる。
【００２２】
また、本実施形態では変換ブロックサイズ毎に量子化マトリクスが生成され、符号化されるが、他の変換ブロックサイズに対応する量子化マトリクスを用いて符号化しても良い。例えば、８×８画素の量子化マトリクスはその要素単位で符号化し、４×４画素の量子化マトリクスは８×８画素の量子化マトリクス内の２×２要素で平均値をとったものを予測値として、その差分を符号化しても構わない。
【００２３】
６はヘッダ情報や予測、変換に関する符号を生成するとともに、係数符号化部５で生成された量子化係数符号データおよび量子化マトリクス符号化部１０で生成された量子化マトリクス符号データを統合する統合部である。予測、変換に関する符号とは、例えば選択した予測方法や変換ブロックの分割の様子等の符号であるとする。
【００２４】
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成となっているが、１フレーム分の静止画像データを入力する構成としても構わない。また、本実施形態では、説明を容易にするため、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。本実施形態では説明のため、ブロック分割部１においては８×８画素のブロックに分割するものとして説明するが、これに限定されない。
【００２５】
１フレーム分の画像データはブロック分割部１に入力され、８×８画素のブロック単位に分割される。分割された画像データは予測部２に入力される。
【００２６】
予測部２ではブロック単位の予測が行われ、係数走査方法選択補助情報および予測誤差が生成される。本実施形態では、係数走査方法選択補助情報はイントラ予測方法の情報、例えば予測モードの情報とするが、これに限定されず動き補償予測方法の情報や変換の情報でも構わない。
【００２７】
変換部３では、予測部２で生成された予測誤差に対して変換ブロックサイズを決定して直交変換を行い、直交変換係数を生成する。変換ブロックサイズを量子化マトリクス選択部８に入力し、直交変換係数を量子化部４に入力する。
【００２８】
一方、係数走査方法決定部７では、予測部２で生成された係数走査方法選択補助情報を用いて係数走査方法を決定し、量子化マトリクス選択部８、量子化部４に出力する。本実施形態における係数走査方法の決定方法は、該ブロックの左方のブロックから予測をする場合、すなわち予測方向が左の場合は図２（ｃ）に示された垂直スキャンを用いる。該ブロックの上方のブロックから予測をする場合は図２（ｂ）に示された水平スキャンを用いる。その他の場合は図２（ａ）に示されたジグザグスキャンを用いるものとするが、予測方法と走査方法との組合せはこれに限定されない。
【００２９】
量子化マトリクス保持部９には、該フレームの量子化に用いられる量子化マトリクス、すなわち各走査方法および各変換ブロックサイズに対応した量子化マトリクスが保持されている。本実施形態では、４×４画素ジグザグスキャンに対応する第１量子化マトリクス、４×４画素水平スキャンに対応する第２量子化マトリクス、４×４画素垂直スキャンに対応する第３量子化マトリクスを保持する。本実施形態では図４（ａ）を第１量子化マトリクス、図４（ｂ）を第２量子化マトリクス、図４（ｃ）を第３量子化マトリクスとするが、各量子化マトリクス内の要素はもちろんこれに限定されない。本実施形態では変換ブロックサイズが４×４画素の一種類で走査方法がジグザグスキャン・垂直スキャン・水平スキャンの三種類である。そのため、保持する量子化マトリクスは３種類となっているが、実際には変換ブロックサイズと走査方法の組合せの数だけ量子化マトリクスを保持する。例えば、本実施形態に加えて８×８画素の変換ブロックサイズとそれに対応する８×８画素のジグザグスキャンも用いる場合には、８×８画素ジグザグスキャンに対応する第４量子化マトリクスを保持することになる。
【００３０】
量子化マトリクス符号化部１０は量子化マトリクスを量子化マトリクス保持部９から走査方法、変換ブロックサイズによって順に読み出し、符号化して量子化マトリクス符号データを生成する。具体的な量子化マトリクスの符号化方法の例について図４を用いて説明する。太枠の１１００は、量子化マトリクスを表している。説明を簡易にするため、４×４画素の変換ブロックに対応した１６画素分の構成とし、太枠内の各正方形は要素を表しているものとする。ここでは図４に示された４種類の量子化マトリクスが符号化されるものとする。
【００３１】
図４（ａ）は量子化マトリクスの各要素が１から始まり、１ずつ増加していく場合の例である。例えば、この量子化マトリクスを符号化する場合、１から１６までの値を一つずつ符号化する。また、最初の要素である１を符号化した後は直前の要素との差分、すなわちこの例では差分値である１を１５回符号化しても良い。さらにＤＰＣＭのように、最初の要素である１と二番目の要素と最初の要素の差分である１を符号化した後は、予測差分である０を符号化しても良い。
【００３２】
図４（ｂ）は量子化マトリクスの各要素が３から始まり、１ずつ増加していく場合の例である。例えば、この量子化マトリクスを符号化する場合、３から１８までの値を一つずつ符号化する。また、最初の要素である３を符号化した後は直前の要素との差分、すなわちこの例では差分値である１を１５回符号化しても良い。さらに、図４（ａ）に示される量子化マトリクスの各要素の値との差分、すなわちこの例では差分値である２を１６回符号化しても良い。
【００３３】
図４（ｃ）は量子化マトリクスの各要素が３から始まり、１ずつ１０まで増加し、１０が３回続いた後、また１ずつ１６まで増加していく場合の例である。例えば、この量子化マトリクスを符号化する場合、図４（ａ）や図４（ｂ）同様、各要素の値を一つずつ符号化する。また、直前の要素との差分、あるいは他の量子化マトリクスの要素との差分を符号化しても良い。図４（ｃ）の各要素の値を図４（ａ）の各要素の値との差分を符号化する場合、初めの３から一つ目の１０までは差分値である２を符号化し、二つ目の１０は差分値である１を符号化する。その先、三つ目の１０以降は最後まで差分値が０となるため、差分値である０を７回符号化する。また、符号化の打ち切りを示す符号を符号化することにより、差分値の符号量を低減させる方法を用いても良い。
【００３４】
図４（ｄ）は量子化マトリクスの各要素が３から始まり、１ずつ１０まで増加し、その後は最後まで１０であり続ける場合の例である。例えば、この量子化マトリクスを符号化する場合、図４（ａ）や図４（ｂ）同様、各要素の値を一つずつ符号化する。また、直前の要素との差分、あるいは他の量子化マトリクスの要素との差分を符号化しても良い。図４（ｄ）の各要素の値を直前の各要素との差分を符号化する場合、初めの３から一つ目の１０までは差分値である１を符号化する。その先は、最後まで差分値が０となるため、差分値である０を７回符号化する。また、符号化の打ち切りを示す符号を符号化することにより、差分値の符号量を低減させる方法を用いても良い。
【００３５】
量子化マトリクス選択部８は、係数走査方法決定部７で決定した係数走査方法および変換部３で決定した変換ブロックサイズを用いて、当該ブロックの量子化に用いられる量子化マトリクスを選択する。具体的には、量子化マトリクス保持部９に格納された量子化マトリクスの中から当該変換ブロックの量子化に用いる量子化マトリクスを選択するものとする。例えば、本実施形態では、係数走査方法が水平スキャンで、変換ブロックサイズが４×４画素である場合には、第２量子化マトリクスを量子化マトリクス保持部９から入力し、量子化部４に出力する。
【００３６】
量子化部４では、変換部３から出力された直交変換係数を係数走査方法決定部７で決定した走査方法を用いて走査し、量子化マトリクス選択部８で選択した量子化マトリクスを用いて量子化して量子化係数を生成する。生成された量子化係数は係数符号化部５に入力される。
【００３７】
係数符号化部５では、量子化部４で生成された量子化係数を符号化し、量子化係数符号データを生成して統合部６に出力する。
【００３８】
一方、量子化マトリクス符号化部１０では、量子化マトリクス保持部９に格納された各量子化マトリクスを符号化し、量子化マトリクス符号データを生成して統合部６に出力する。
【００３９】
統合部６は画像のシーケンス、フレーム、ピクチャおよびスライスのヘッダといった符号を生成する。また、これらのヘッダのいずれかに量子化マトリクス符号化部１０で生成された量子化マトリクス符号データを挿入する。こうしたヘッダ部分の符号や係数符号化部５で生成された量子化係数符号データを統合し、ビットストリームを生成し出力する。
【００４０】
図７（ａ）は実施形態１で出力されるビットストリームの一例である。本実施形態では、ビットストリーム中のシーケンスヘッダ部に量子化マトリクスが符号化されている構成となっているが、符号化の位置はこれに限定されない。ピクチャヘッダ部やその他のヘッダ部に符号化される構成をとってももちろん構わない。また、１つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスを新たに符号化することで更新することも可能である。この際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスの走査方法と変換ブロックサイズを指定することでその一部を変更するようにすることも可能である。
【００４１】
図５は実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャートである。まず、ステップＳ００１にて、量子化マトリクス保持部９は量子化マトリクスを一つ以上生成する。
【００４２】
ステップＳ００２にて、量子化マトリクス符号化部１０は量子化マトリクス保持部９で生成されたそれぞれの量子化マトリクスを符号化する。ステップＳ００３にて、統合部６はビットストリームのヘッダ部の符号化を行い出力する。ステップＳ００４にて、ブロック分割部１は、フレーム単位の入力画像をブロック単位（８×８画素）に分割する。
【００４３】
ステップＳ００５にて、予測部２はブロック単位の予測を行い、係数走査方法選択補助情報および予測誤差を生成する。ステップＳ００６にて、係数走査方法決定部７は、ステップＳ００５で生成された係数走査方法選択補助情報を用いて係数走査方法を決定する。ステップＳ００７にて、変換部３はステップＳ００５で生成された予測誤差に対して変換ブロックサイズを決定して直交変換を行い、直交変換係数を生成する。
【００４４】
ステップＳ００８にて、量子化マトリクス選択部８は、ステップＳ００６で決定した係数走査方法およびステップＳ００７で決定した変換ブロックサイズを用いて、ステップＳ００１で生成された量子化マトリクスから一つを選択する。ステップＳ００９にて、量子化部４はステップＳ００７で生成された直交変換係数をステップＳ００６で選択された係数走査方法を用いて走査する。さらにステップＳ００８で選択された量子化マトリクスを用いて量子化して量子化係数を生成する。
【００４５】
ステップＳ０１０にて、係数符号化部５はステップＳ００９で生成された量子化係数を符号化し、量子化係数符号データを生成する。ステップＳ０１１にて、画像符号化装置は、当該ブロック内の全ての変換ブロックの符号化が終了したか否かの判定を行い、終了していればステップＳ０１２に進み、終了していなければ次の変換ブロックを対象としてステップＳ００７に戻る。
【００４６】
ステップＳ０１２にて、画像符号化装置は、全てのブロックの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを対象としてステップＳ００４に戻る。
【００４７】
以上の構成と動作により、特にステップＳ００１およびステップＳ００８の処理により、係数走査方法によって最適な量子化マトリクスを用いて量子化処理を行ったビットストリームを生成することができる。
【００４８】
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測を使用できるフレームにおいても対応できることは明らかである。
【００４９】
さらに、本実施形態では説明のためにブロックを８×８画素、変換ブロックを４×４画素としたが、これに限定されない。例えば１６×１６画素や３２×３２画素などのブロックサイズへの変更が可能であり、また、ブロックの形状も正方形に限定されず、１６×８画素などの長方形でも良い。
【００５０】
また、本実施形態において、変換ブロックサイズによって量子化マトリクスの生成、保持、選択を行ったが、これに限定されず、変換ブロックサイズが１つの場合には変換ブロックサイズは必ずしも必要ではないことは明白である。
【００５１】
また、本実施形態においては、図２で示されたジグザグスキャン、水平スキャン、垂直スキャンの三種類の走査方法を用いたが、それに限定されず、斜め方向の走査や隣接しない係数を走査するような方法を用いてももちろん良い。
【００５２】
また、変換ブロックサイズはブロックサイズの縦横それぞれ半分としたが、同じ大きさでも構わないし、縦横それぞれ半分よりもさらに細かいサイズでももちろん構わない。なお、量子化マトリクスの符号化において、各要素を符号化する方法を用いて説明したが、これに限定されない。
【００５３】
本実施形態では、４×４画素の変換ブロックに対し、図２で示されたジグザグスキャン、水平スキャン、垂直スキャンの三種類の走査方法が存在するが、アスペクト比が１：１の場合、水平・垂直方向では画像が線対象になる。そのため、ジグザグスキャン用の量子化マトリクスと水平・垂直スキャン用の量子化マトリクスの二種類を符号化して、水平・垂直スキャンのように互いに線対称の走査方法に対しては量子化マトリクスを共用する方式を用いることができる。この方法を使用することで、更なる圧縮率の向上を実現することができる。また、本実施形態では係数走査方法をブロック単位で設定する方法について説明したが、これに限定されず、例えば変換ブロック単位で設定してももちろん構わない。
【００５４】
＜実施形態２＞
図３は、本発明の実施形態２に係る画像復号装置の構成を示すブロック図である。本実施形態では、図１に示す実施形態１で生成されたビットストリームの復号について説明する。
【００５５】
図３において、１０１は入力されたビットストリームのヘッダ情報を復号し、ビットストリームから必要な符号を分離して後段へ出力する復号・分離部である。１０８はビットストリームのヘッダ情報から、符号化された量子化マトリクスである量子化マトリクス符号データを抽出して復号する量子化マトリクス復号部である。
【００５６】
１０９は量子化マトリクス復号部１０８で復号された量子化マトリクスを一旦格納しておく量子化マトリクス保持部である。１０６は復号・分離部１０１で分離された符号からブロック単位で予測の情報を復号し、その予測の情報に基づいて係数走査方法を決定する係数走査方法抽出部である。１０７は復号・分離部１０１で分離された符号から変換ブロックサイズの情報を復号する変換サイズ抽出部である。
【００５７】
１１０は変換サイズ抽出部１０７で復号された変換ブロックサイズおよび係数走査方法抽出部１０６で決定された係数走査方法に基づいて、量子化マトリクス保持部１０９で格納された量子化マトリクスのうちの一つを選択する量子化マトリクス選択部である。
【００５８】
一方、１０２は変換サイズ抽出部１０７で復号された変換ブロックサイズごとに、復号・分離部１０１で分離された符号から量子化係数符号を復号し、量子化係数を再生する係数復号部である。
【００５９】
１０３は量子化マトリクス選択部１１０で選択された量子化マトリクスを用いて量子化係数に逆量子化を行い、係数走査方法抽出部１０６で決定した係数走査方法を用いて逆走査し、直交変換係数を再生する逆量子化部である。
【００６０】
図１の量子化部４と同様、逆走査と逆量子化の順序はこれに限らず、逆量子化を行ってから逆走査を行っても良い。量子化マトリクス内の各要素を適切に並び替えることによって、同一の直交変換係数を再生することが可能である。ただし、図１の量子化部４と該逆量子化部１０３が同一の量子化マトリクスを用いる場合、図１の量子化部４における走査と量子化の順序と該量子化部１０３の逆走査と逆量子化の順序は逆になっている必要がある。例えば、図１の量子化部４において、走査の後に量子化を行った場合は該逆量子化部１０３では逆量子化を行った後に逆走査を行う必要がある。
【００６１】
１０４は図１の変換部３の逆となる逆直交変換を行い、予測誤差を再生する逆変換部である。１０５は予測誤差と復号済みの画像データからブロックの画像データを再生する予測再構成部である。
【００６２】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では実施形態１で生成された動画像ビットストリームをフレーム単位で入力する構成となっているが、１フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本実施形態では説明を容易にするため、イントラ予測復号処理のみを説明するが、これに限定されずインター予測復号処理においても適用可能である。
【００６３】
図３において、入力された１フレーム分のストリームデータは復号・分離部１０１に入力され、画像を再生するのに必要なヘッダ情報が復号され、さらに後段で使用される符号が分離され出力される。ヘッダ情報に含まれる量子化マトリクス符号データは量子化マトリクス復号部１０８に入力され、後段の逆量子化処理で用いられる量子化マトリクスとして逆走査方法に対応する量子化マトリクスが再生される。本実施形態では、４×４画素ジグザグスキャンに対応する第１量子化マトリクス、４×４画素水平スキャンに対応する第２量子化マトリクス、４×４画素垂直スキャンに対応する第３量子化マトリクスの三種類を再生する。本実施形態では変換ブロックサイズが４×４画素の一種類で走査方法がジグザグ・垂直・水平の三種類であるため、再生する量子化マトリクスは三種類となっているが、実際には変換ブロックサイズと走査方法の組合せの数だけ量子化マトリクスを再生する。例えば、本実施形態に加えて８×８画素の変換ブロックサイズとそれに対応する８×８画素のジグザグスキャンも用いる場合には、８画素×８画素ジグザグスキャンに対応する第４量子化マトリクスを再生することになる。再生された量子化マトリクスは量子化マトリクス保持部１０９に入力され、一旦格納される。
【００６４】
また、復号・分離部１０１で分離された符号のうち、予測に関する情報は係数走査方法抽出部１０６に入力され、係数走査方法を示す情報が生成され、出力される。本実施形態では、予測に関する情報に基づいてジグザグスキャン、水平スキャン、垂直スキャンのいずれかの係数走査方法を示す情報が生成される。例えば、当該ブロックの左方から予測をする場合は図２（ｃ）に示された垂直スキャンが選択される。
【００６５】
一方、復号・分離部１０１で分離された符号のうち、変換ブロックのサイズに関する情報は変換サイズ抽出部１０７に入力され、変換ブロックサイズが抽出される。抽出された変換ブロックサイズは量子化マトリクス選択部１１０および係数復号部１０２に出力される。
【００６６】
量子化マトリクス選択部１１０では、入力された係数走査方法の情報および変換ブロックサイズによって、量子化マトリクス保持部１０９に格納された量子化マトリクスの中から一つを選択し、逆量子化部１０３に出力する。例えば、本実施形態では、係数走査方法が水平スキャンで、変換ブロックサイズが４×４画素である場合には、第２量子化マトリクスを量子化マトリクス保持部１０９から選択し、逆量子化部１０３に出力する。
【００６７】
さらに、復号・分離部１０１で分離された符号のうち、量子化係数符号データは係数復号部１０２に入力される。そして変換サイズ抽出部１０７で抽出した変換ブロックサイズを入力し、その変換ブロックサイズに基づいて変換ブロックごとに量子化係数符号データを復号し、量子化係数を再生し、逆量子化部１０３に出力する。
【００６８】
逆量子化部１０３は、係数走査方法抽出部１０６で決定した係数走査方法の情報、量子化マトリクス選択部１１０で選択された量子化マトリクス、および係数復号部１０２で再生された量子化係数を入力する。そして、前記量子化マトリクスを用いて逆量子化を行い、直交変換係数を再生し、前記係数走査方法を用いて直交変換係数を逆走査し、逆変換部１０４に出力する。
【００６９】
逆変換部１０４は、逆走査された直交変換係数を入力し、図１の変換部３の逆となる逆直交変換を行い、予測誤差を再生し、予測再構成部１０５に出力する。予測再構成部１０５は、入力された予測誤差に復号済みの周囲の画素データから復号されたイントラ予測方法に従って予測を行ってブロック単位の画像データを再生し、出力する。
【００７０】
図６は、実施形態２に係る画像復号装置における画像復号処理を示すフローチャートである。まず、ステップＳ１０１にて、復号・分離部１０１がヘッダ情報を復号する。
【００７１】
ステップＳ１０２にて、量子化マトリクス復号部１０８はヘッダ情報に含まれる量子化マトリクス符号データを復号し、後段の逆量子化処理で用いる量子化マトリクスが再生される。本実施形態では、４×４画素のジグザグスキャン、垂直スキャン、水平スキャンの各走査方法に対応した三種類の量子化マトリクスを順に復号・再生する。例えば、変換ブロックサイズが８×８画素と４×４画素の２種類で、各変換ブロックに対してジグザグスキャン、垂直スキャン、水平スキャンの３種類の走査方法が存在するとする。その場合、まず４×４画素の変換ブロックに対して各走査方法に対応する三種の量子化マトリクスの各要素を順に復号する。続いて８×８画素の変換ブロックに対して各走査方法に対応する三種の量子化マトリクスの各要素を順に復号する。ただし、復号順序はこれに限定されない。
【００７２】
ステップＳ１０３にて、変換サイズ抽出部１０７は復号するブロックの各変換ブロックの大きさに関する情報を復号し、変換ブロックサイズを抽出する。ステップＳ１０４にて、係数走査方法抽出部１０６はイントラ予測に関する情報を復号し、その内容から係数走査方法情報を生成する。
【００７３】
ステップＳ１０５にて、量子化マトリクス選択部１１０はステップＳ１０３で抽出された前記変換ブロックサイズおよびステップＳ１０４で抽出された前記係数走査方法情報に基づいて当該変換ブロックに適用する量子化マトリクスを選択する。
【００７４】
ステップＳ１０６にて、係数復号部１０２は変換ブロック単位で量子化係数符号データを復号し、量子化係数を再生する。ステップＳ１０７にて、逆量子化部１０３はステップＳ１０５で選択された量子化マトリクスを用いてステップＳ１０６にて再生された量子化係数を逆量子化する。さらにステップＳ１０４で生成された係数走査方法情報に基づいて逆走査し、直交変換係数を再生する。
【００７５】
ステップＳ１０８にて、逆変換部１０４はステップＳ１０７で再生された直交変換係数に対し、逆直交変換を行い、予測誤差を再生する。ステップＳ１０９にて、画像復号装置は、当該ブロック内の全ての変換ブロックの復号が終了したか否かの判定を行い、終了していればステップＳ１１０に進み、終了していなければ次の変換ブロックを対象としてステップＳ１０６に戻る。
【００７６】
ステップＳ１１０にて、予測再構成部１０５は復号済みの周囲の画素データから予測を行い、ステップＳ１０８で再生された予測誤差に加算して、ブロックの復号画像を再生する。ステップＳ１１１にて、画像復号装置は、全てのブロックの復号が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを対象として、ステップＳ１０３に戻る。
【００７７】
以上の構成と動作により、実施形態１で生成された、係数走査方法によって最適な量子化マトリクスを用いて量子化処理を行って生成したビットストリームの復号を行い、再生画像を得ることができる。
【００７８】
また、実施形態１と同様にブロックのサイズ、変換ブロックのサイズ、ブロックの形状についてはこれに限定されない。また、本実施形態では係数走査方法をブロック単位で設定する方法について説明したが、これに限定されず、例えば変換ブロック単位で設定してももちろん構わない。この場合、ステップＳ１１０はステップＳ１０９の前に行われることになる。
【００７９】
また、本実施形態において、変換ブロックサイズによって量子化マトリクスの復号、保持、選択を行ったが、これに限定されず、変換ブロックサイズが１つの場合には変換ブロックサイズは必ずしも必要ではないことは明白である。
【００８０】
また、１つのシーケンスのビットストリーム中で量子化マトリクス符号データが複数回含まれている場合、量子化マトリクスの更新をすることも可能である。復号・分離部１０１で量子化マトリクス符号データを検出し、量子化マトリクス復号部で復号する。復号された量子化マトリクスのデータを量子化マトリクス保持部１０９の該当する量子化マトリクスに置き換える。この際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスの走査方法と変換ブロックサイズを判別することでその一部を変更することも可能である。
【００８１】
＜実施形態３＞
図８は本実施形態の画像符号化装置を示すブロック図である。図８において、実施形態１の図１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
２４は量子化マトリクス選択部８で選択された量子化マトリクスによって量子化する量子化部である。この量子化によって量子化係数を得ることができる。図１の量子化部４とは係数走査方法決定部７からの係数走査方法選択補助情報の入力がなく、走査を行わない点が異なる。
【００８２】
２５は係数走査方法決定部７で決定した係数走査方法を用いて前記量子化係数を走査し、符号化して量子化係数符号データを生成する係数符号化部である。符号化の方法は特に限定しないが、ハフマン符号や算術符号などを用いることができる。図１の係数符号化部５とは係数走査方法決定部７からの係数走査方法選択補助情報の入力があり、量子化係数の走査を行うことが異なる。
【００８３】
２９は量子化マトリクス保持部であり、量子化マトリクスを走査方法、変換ブロックサイズ毎に格納している。図１の量子化マトリクス保持部９とは量子化マトリクスの要素を１次元配列ではなく、変換ブロックに対応して２次元で格納していることが異なる。
【００８４】
２８は係数走査方法決定部７から係数走査方法選択補助情報と変換ブロックサイズを入力し、量子化マトリクス保持部２９に格納されている該当する量子化マトリクスを選択する量子化マトリクス選択部である。図１の量子化マトリクス選択部８とは２次元の量子化マトリクスを選択、出力する点が異なる。
【００８５】
３０は量子化マトリクス符号化部である。図１の量子化マトリクス符号化部１０とは量子化マトリクスの要素を各対応する走査方法に従って１次元配列にしてから符号化する点が異なる。
【００８６】
上記画像符号化装置における画像の符号化動作を以下に説明する。ブロック分割部１、予測部２、変換部３、係数走査方法決定部７、量子化マトリクス選択部８は第１の実施形態で説明したように動作し、係数走査方法選択補助情報、変換ブロックサイズを生成する。
【００８７】
量子化マトリクス保持部２９では走査方法および変換ブロックサイズごとに２次元の量子化マトリクスを保持している。量子化マトリクス符号化部３０は量子化マトリクスを量子化マトリクス保持部２９から走査方法、変換ブロックサイズによって順に読み出し、走査方法に従って走査してから符号化し、量子化マトリクス符号データを生成する。
【００８８】
量子化マトリクス選択部２８は係数走査方法選択補助情報、変換ブロックサイズに基づき、量子化マトリクスを入力し、量子化部２４に出力する。
【００８９】
量子化部２４では、変換部３から出力された直交変換係数を、量子化マトリクス選択部２８で選択した量子化マトリクスを用いて２次元データとして量子化して量子化係数を生成する。生成された量子化係数は係数符号化部２５に入力される。
【００９０】
係数符号化部２５では、量子化部２４で生成された量子化係数を係数走査方法決定部７で決定した走査方法を用いて走査してから符号化し、量子化係数符号データを生成して統合部６に出力する。
【００９１】
図１０は実施形態３に係る画像符号化装置における画像復号処理を示すフローチャートである。図１０において、実施形態１の図５と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００９２】
ステップＳ０２１にて、量子化マトリクス保持部２９は２次元の量子化マトリクスを一つ以上生成する。ステップＳ０２２にて、量子化マトリクス符号化部３０は量子化マトリクス保持部２９で生成されたそれぞれの量子化マトリクスを書く走査方法に従って走査し、符号化する。ステップＳ０２９にて、量子化部２４はステップＳ００７で生成された直交変換係数をステップＳ００８で選択された量子化マトリクスを用いて量子化し、量子化係数を生成する。
【００９３】
ステップＳ０３０にて、係数符号化部２５はステップＳ０２９で生成された量子化係数を、ステップＳ００６で選択された係数走査方法を用いて走査し、符号化して量子化係数符号データを生成する。
【００９４】
以上の構成と動作により、量子化係数走査が量子化後に行われる場合でも、実施形態１同様、係数走査方法によって最適な量子化マトリクスを用いて量子化処理を行ったビットストリームを生成することができる。なお、本実施形態において、変換ブロックサイズによって量子化マトリクスの生成、保持、選択を行ったが、これに限定されず、変換ブロックサイズが１つの場合には変換ブロックサイズは必ずしも必要ではないことは明白である。
【００９５】
＜実施形態４＞
図９は本実施形態の画像復号装置を示すブロック図である。図９において、実施形態２の図３と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００９６】
１２２は変換サイズ抽出部１０７で復号された変換ブロックサイズごとに、復号・分離部１０１で分離された符号から量子化係数を復号し、係数走査方法抽出部１０６で決定した係数走査方法を用いて逆走査し、量子化係数を再生する係数復号部である。１２３は量子化マトリクス選択部１１０で選択された量子化マトリクスを用いて量子化係数に逆量子化を行い、直交変換係数を再生する逆量子化部である。１２８はビットストリームのヘッダ情報から量子化マトリクス符号データを抽出して復号する量子化マトリクス復号部である。図３の量子化マトリクス復号部１０８とは復号後に走査方法に従って２次元の量子化マトリクスを生成することが異なる。
【００９７】
１２９は量子化マトリクス復号部１２８で復号された２次元の量子化マトリクスを一旦格納しておく量子化マトリクス保持部である。図３の量子化マトリクス保持部１０９とは量子化マトリクスの要素を１次元配列ではなく、変換ブロックに対応して２次元で格納していることが異なる。
【００９８】
１３０は変換サイズ抽出部１０７で復号された変換ブロックサイズおよび係数走査方法抽出部１０６で決定された係数走査方法に基づいて、量子化マトリクス保持部１２９に格納された量子化マトリクスのうちの一つを選択する量子化マトリクス選択部である。図３の量子化マトリクス選択部１１０とは２次元の量子化マトリクスを選択、出力することが異なる。
【００９９】
上記画像復号装置における画像の復号動作を以下に説明する。
【０１００】
復号・分離部１で分離されたヘッダ情報に含まれる量子化マトリクス符号データは量子化マトリクス復号部１２８に入力され、後段の逆量子化処理で用いられる量子化マトリクスとして逆走査方法に対応する２次元の量子化マトリクスが再生される。再生された量子化マトリクスは量子化マトリクス保持部１２９に入力され、一旦格納される。
【０１０１】
係数復号部１２２は量子化係数符号データを入力し、さらに変換サイズ抽出部１０７で抽出した変換ブロックサイズおよび係数走査方法抽出部１０６で決定した係数走査方法の情報を入力する。そして、前記変換ブロックサイズに基づいて、変換ブロックごとに量子化係数符号データを復号し、量子化係数を再生し、前記決定した係数走査方法を用いて逆走査し、２次元の量子化係数を逆量子化部１２３に出力する。
【０１０２】
量子化マトリクス選択部１３０では、入力された係数走査方法の情報および変換ブロックサイズによって、量子化マトリクス保持部１２９に格納された２次元の量子化マトリクスの中から一つを選択し、逆量子化部１２３に出力する。
【０１０３】
逆量子化部１２３は、量子化マトリクス選択部１３０で選択された量子化マトリクスおよび係数復号部１２２で再生された量子化係数を入力する。そして、前記量子化マトリクスを用いて逆量子化を行い、直交変換係数を再生し、逆変換部１０４に出力する。
【０１０４】
図１１は実施形態４に係る画像復号装置における画像復号処理を示すフローチャートである。実施形態２の図６と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１０５】
ステップＳ１２２にて、量子化マトリクス復号部１２８は量子化マトリクス符号化データを復号し、対応する走査方法に従って逆走査された量子化マトリクスを量子化マトリクス保持部１２９に格納する。ステップＳ１２６にて、係数復号部１２２は変換ブロック単位で量子化係数符号データを復号する。さらにステップＳ１０４で生成された係数走査方法情報に基づいて逆走査し、量子化係数を再生する。ステップ１２７にて、逆量子化部１２３はステップＳ１０５で選択された量子化マトリクスを用いてステップＳ１０６にて再生された量子化係数を逆量子化し、直交変換係数を再生する。
【０１０６】
以上の構成と動作により、実施形態３で生成された、係数走査方法によって最適な量子化マトリクスを用いて量子化処理を行って生成したビットストリームの復号を行い、再生画像を得ることができる。
【０１０７】
なお、本実施形態において、変換ブロックサイズによって量子化マトリクスの復号、保持、選択を行ったが、これに限定されず、変換ブロックサイズが１つの場合には変換ブロックサイズは必ずしも必要ではないことは明白である。
【０１０８】
＜実施形態５＞
図１２は本実施形態の画像符号化装置を示すブロック図である。図１２において、実施形態１の図１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１０９】
５１は各量子化マトリクスをどのように符号化するかを示す量子化マトリクス符号化方法情報を生成する、符号化制御情報生成部である。４０は符号化制御情報符号化部５１で生成された量子化マトリクス符号化方法情報に基づいて、量子化マトリクス保持部９に格納された量子化マトリクスを符号化して、量子化マトリクス符号データを生成する量子化マトリクス符号化部である。
【０１１０】
４６は図１の統合部６と同様に、ヘッダ情報や予測、変換に関する符号を生成する統合部であり、前記統合部６とは符号化制御情報生成部５１から量子化マトリクス符号化方法情報を入力し、これを符号化することが異なる。
【０１１１】
上記画像符号化装置における画像の符号化動作を以下に説明する。
【０１１２】
符号化制御情報生成部５１では、まず、各量子化マトリクスをどのように符号化するかを示す量子化マトリクス符号化方法情報を生成する。本実施形態では、前記量子化マトリクス符号化方法情報が０であれば量子化マトリクスの各要素をそのまま符号化する方法を用いるものとする。また、１であれば直前の要素との差分を符号化する方法を、２であれば直前に符号化した量子化マトリクスの同じ位置の要素との差分を符号化する方法を用いるものとする。量子化マトリクスの各要素の符号化方法はこれらに限定されず、ＤＰＣＭのように最初の要素と二番目の要素と最初の要素の差分を符号化した後は、予測差分を符号化しても良い。また、前記量子化マトリクス符号化方法情報と量子化マトリクスの符号化方法との組合せはこれに限定されない。量子化マトリクス符号化方法情報の生成方法については特に限定しないが、ユーザが入力しても良いし、固定値としてあらかじめ指定されたものを使用して良いし、量子化マトリクス保持部９に格納されている量子化マトリクスの特性から算出してももちろん良い。生成された量子化マトリクス符号化方法情報は量子化マトリクス符号化部４０と統合部４６に入力される。
【０１１３】
量子化マトリクス符号化部４０では、入力された量子化マトリクス符号化方法情報に基づいて、量子化マトリクス保持部９に格納された各量子化マトリクスを符号化し、量子化マトリクス符号データを生成して統合部４６に出力する。
【０１１４】
統合部４６では、符号化制御情報生成部で生成された量子化マトリクス符号化方法情報を符号化し、量子化マトリクス符号化情報符号を生成し、ヘッダ情報等に組み込んで出力する。符号化の方法は特に限定しないが、ハフマン符号や算術符号などを用いることができる。図７（ｂ）に量子化マトリクス符号化情報符号を含むビットストリームの例を示す。量子化マトリクス符号化情報符号はシーケンス、ピクチャ等のヘッダのいずれに入れても構わないが、各量子化マトリクス符号データより前に存在する。
【０１１５】
図１４は実施形態５に係る画像符号化装置における画像復号処理を示すフローチャートである。図１４において、実施形態１の図５と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１１６】
ステップＳ０５１にて、符号化制御情報生成部５１は、後段のステップＳ０５２における量子化マトリクス符号化方法を決定する。ステップＳ０５２にて、量子化マトリクス符号化部４０は、ステップＳ０５１で決定した量子化マトリクス符号化方法に基づいて、ステップＳ００１で生成された量子化マトリクスを符号化する。ステップＳ０５３では量子化マトリクス符号化方法情報を符号化し、量子化マトリクス符号化情報符号を生成し、他の符号と同様にヘッダ部に組み込み出力する。
【０１１７】
以上の構成と動作により、各量子化マトリクスが最適な符号化方法で符号化され、係数走査方法によって最適な量子化マトリクスを用いて量子化処理を行ったビットストリームを生成することができる。
【０１１８】
＜実施形態６＞
図１３は本実施形態の画像復号装置を示すブロック図である。図１３において、実施形態２の図３と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１１９】
１３１は入力されたビットストリームのヘッダ情報を復号し、ビットストリームから必要な符号を分離して後段へ出力する復号・分離部である。図３の復号・分離部１０１とはビットストリームのヘッダ情報から量子化マトリクス符号化情報符号を分離して後段に出力することが異なる。
【０１２０】
１５１は復号・分離部１３１で分離された量子化マトリクス符号化情報符号を復号し、量子化マトリクス符号化方法の情報を再生する復号制御情報復号部である。１３８はビットストリームのヘッダ情報から復号・分離部１３１で分離された量子化マトリクス符号データを前記量子化マトリクス符号化方法の情報に基づいて復号する量子化マトリクス復号部である。
【０１２１】
上記画像復号装置における画像の復号動作を以下に説明する。
【０１２２】
図１３において、入力された１フレーム分のストリームデータは復号・分離部１３１に入力され、画像を再生するのに必要なヘッダ情報が復号され、さらに後段で使用される符号が分離され出力される。ヘッダ情報に含まれる量子化マトリクス符号化情報符号は復号制御情報復号部１５１に入力され、量子化マトリクスの符号化方法の情報を再生する。そして、再生された量子化マトリクスの符号化方法の情報は量子化マトリクス復号部１３８に入力される。
【０１２３】
一方、ヘッダ情報に含まれる量子化マトリクス符号データは量子化マトリクス復号部１３８に入力される。そして、量子化マトリクス復号部１３８は入力された量子化マトリクスの符号化方法の情報に基づいて量子化マトリクス符号データを復号し、後段の逆量子化処理で用いられる量子化マトリクスが再生される。
【０１２４】
図１５は実施形態６に係る画像復号装置における画像復号処理を示すフローチャートである。実施形態２の図６と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１２５】
ステップＳ１０１にて、復号・分離部１３１はヘッダ情報を復号する。ステップＳ１５１にて、復号制御情報復号部１５１はヘッダ情報に含まれる量子化マトリクス符号化情報符号を復号し、量子化マトリクスの符号化方法の情報を再生する。ステップＳ１５２にて、量子化マトリクス復号部１３８はステップＳ１５１にて再生された量子化マトリクスの符号化方法の情報に基づいて、ヘッダ情報に含まれる量子化マトリクス符号データを復号し、量子化マトリクスを再生する。
【０１２６】
以上の構成と動作により、実施形態５で生成された、各量子化マトリクスが最適な符号化方法で符号化され、係数走査方法によって最適な量子化マトリクスを用いて量子化処理を行ったビットストリームの復号を行い、再生画像を得ることができる。
【０１２７】
＜実施形態７＞
図１、図３に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、図１、図３に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
【０１２８】
図１６は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１２９】
ＣＰＵ１４０１は、ＲＡＭ１４０２やＲＯＭ１４０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ１４０１は、図１、図３に示した各処理部として機能することになる。
【０１３０】
ＲＡＭ１４０２は、外部記憶装置１４０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１４０９を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１４０２は、ＣＰＵ１４０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１４０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
【０１３１】
ＲＯＭ１４０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部１４０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ１４０１に対して入力することができる。表示部１４０５は、ＣＰＵ１４０１による処理結果を表示する。また表示部１４０５は例えば液晶ディスプレイのような表示装置で構成される。
【０１３２】
外部記憶装置１４０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置１４０６には、ＯＳ（オペレーティングシステム）や、図１、図３に示した各部の機能をＣＰＵ１４０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置１４０６には、処理対象としての各画像データが保存されていても良い。
【０１３３】
外部記憶装置１４０６に保存されているコンピュータプログラムやデータは、ＣＰＵ１４０１による制御に従って適宜ＲＡＭ１４０２にロードされ、ＣＰＵ１４０１による処理対象となる。Ｉ／Ｆ１４０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ１４０７を介して様々な情報を取得したり、送出したりすることができる。１４０８は上述の各部を繋ぐバスである。
【０１３４】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ１４０１が中心となってその制御を行う。
【０１３５】
＜その他の実施形態＞
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１３６】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１３７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
2013012887.tif 000003
【図２】
2013012887.tif 000004
【図３】
2013012887.tif 000005
【図４】
2013012887.tif 000006
【図５】
2013012887.tif 000007
【図６】
2013012887.tif 000008
【図７】
2013012887.tif 000009
【図８】
2013012887.tif 000010
【図９】
2013012887.tif 000011
【図１０】
2013012887.tif 000012
【図１１】
2013012887.tif 000013
【図１２】
2013012887.tif 000014
【図１３】
2013012887.tif 000015
【図１４】
2013012887.tif 000016
【図１５】
2013012887.tif 000017
【図１６】
2013012887.tif 000018