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