(57)【要約】【課題】  複数のモードを持つイントラ予測を行う符号化方式においては、選ばれたモードの識別のためイントラ予測モード情報をサイド情報として符号化しなければならず、そのためのビットが必要であった。【解決手段】  符号化制御パラメータを設定し、第１のサイズを持つブロックの画素データを周波数変換し、変換係数の一部を除いて所定の値に置き換えて変換を行い、第１のサイズより小さい第２のサイズを持つブロックの画素データを周波数変換し、前記符号化制御パラメータに基づき、第１の変換工程の使用を制限し、前記決定されたブロックサイズに基づいて前記第１の変換工程の出力または前記第２の変換工程の出力を制御して符号化する。【選択図】  図１
2012147290.tif 000002
【特許請求の範囲】
【請求項１】
符号化制御パラメータを設定する設定手段と、
第１のサイズを持つブロックの画素データを周波数変換し、変換係数の一部を除いて所定の値に置き換えて変換を行う第１の変換手段と、
前記第１のサイズより小さい第２のサイズを持つブロックの画素データを周波数変換する第２の変換手段と、
前記符号化制御パラメータに基づき、前記第１の変換手段の使用を制限するブロックサイズ決定手段と、
前記決定されたブロックサイズに基づいて前記第１の変換手段の出力または前記第２の変換手段の出力を制御して符号化する符号化手段と、
を有することを特徴とする画像符号化装置。
【請求項２】
前記ブロックサイズ決定手段が前記符号化制御パラメータの値と閾値を比較し、前記符号化制御パラメータの値が前記閾値よりも小さい場合に第２のサイズのブロックのみを用い、そうでなければ第１および第２のサイズのブロックを用いることを決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記符号化手段が前記ブロックサイズ決定手段の結果に基づき、符号化する際のブロックを選択することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記符号化制御パラメータは量子化ステップから算出される値であることを特徴とする請求項１に記載の画像符号化装置。
【請求項５】
前記符号化制御パラメータによるブロックサイズの制御を行うか否かの情報を符号化することを特徴とする請求項１に記載の画像符号化装置。
【請求項６】
画像符号化装置を制御する画像符号化方法であって、
符号化制御パラメータを設定する設定工程と、
第１のサイズを持つブロックの画素データを周波数変換し、変換係数の一部を除いて所定の値に置き換えて変換を行う第１の変換工程と、
第１のサイズより小さい第２のサイズを持つブロックの画素データを周波数変換する第２の変換工程と、
前記符号化制御パラメータに基づき、第１の変換工程の使用を制限するブロックサイズ決定工程と、
前記決定されたブロックサイズに基づいて前記第１の変換工程の出力または前記第２の変換工程の出力を制御して符号化する符号化工程と、
を有することを特徴とする画像符号化方法。
【請求項７】
量子化ステップを表す符号化データを復号し、符号化制御パラメータを復元する復号手段と、
ブロックまたはブロック内を再分割したブロック内の係数を表す符号化データを復号する周波数復号手段と、
第１のサイズを持つブロックのデータを逆周波数変換し、画素データを生成する第１の逆変換手段と、
第１のサイズより小さい第２のサイズを持つブロックのデータを逆周波数変換し、画素データを生成する第２の逆変換手段と、
前記符号化制御パラメータに基づき、符号化されているブロックサイズを獲得するブロックサイズ復元手段と、
前記周波数復号手段の結果を前記獲得されたブロックサイズに基づいて前記第１の逆変換手段または前記第２の逆変換手段への入力を制御して画像データを復号する復号手段と、
を有することを特徴とする画像復号装置。
【請求項８】
画像復号装置を制御する画像復号方法であって、
量子化ステップを表す符号化データを復号し、符号化制御パラメータを復元する復号工程と、
ブロックまたはブロック内を再分割したブロック内の係数を表す符号化データを復号する周波数復号工程と、
第１のサイズを持つブロックのデータを逆周波数変換し、画素データを生成する第１の逆変換工程と、
第１のサイズより小さい第２のサイズを持つブロックのデータを逆周波数変換し、画素データを生成する第２の逆変換工程と、
前記符号化制御パラメータに基づき、符号化されているブロックサイズを獲得するブロックサイズ復元工程と、
前記周波数復号工程の結果を前記獲得されたブロックサイズに基づいて前記第１の逆変換工程または前記第２の逆変換工程への入力を制御して画像データを復号する復号工程と、
を有することを特徴とする画像復号方法。
【請求項９】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項１に記載の画像符号化装置として機能させることを特徴とするプログラム。
【請求項１０】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項７に記載の画像復号装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特に画像を複数のサイズのブロックに分割して符号化・復号する符号化方法に関する。
【背景技術】
【０００２】
動画像の圧縮記録方法として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている。Ｈ．２６４符号化方式は１セグメント地上波デジタル放送などで広く使われている。Ｈ．２６４符号化方式の特徴は、従来の符号化方式に加えて４×４画素単位で整数変換を用い、イントラ予測が複数用意されている点にある。またＨ．２６４符号化方式では１６×１６のマクロブロックを符号化の単位としており、その内部を４×４ブロックに分割し、変換を行う単位としている。またイントラ符号化の一部では８×８ブロックでの変換も採用されている。更に、Ｈ．２６４符号化方式をベースとして改良技術として、例えば、Ｈ．２６４のブロックサイズを、６４画素×６４画素のブロックまで拡張する技術がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＳＯ／ＩＥＣ１４４９６−１０：２００４Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ−−Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ−−Ｐａｒｔ１０：Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ
【非特許文献２】ＩＴＵ−Ｔ  Ｈ．２６４  Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、６４画素×６４画素ブロックや３２画素×３２画素ブロックなどの大きなブロックでは直交変換の演算自体のコストも高く、発生する係数も非常に多くなるため、これをシーケンシャルに符号化すると符号化に時間がかかる。一方で、その係数を削減して符号化を行い、符号量を圧縮する方法として、直交変換後に高周波の係数を強制的に０にする方式が知られている。また、３２画素×３２画素ブロックの際に６４個の係数のみを送る方式が考えられる。これを採用することで大きなブロックで伝送する係数を低減することができ、圧縮効率を向上させることが可能になった。
【０００５】
ところが、当然、高周波の係数を一律に落としてしまうため、高周波が再現されず、画質の大きな劣化を伴うことになった。Ｈ．２６４でも採用されているような動き補償やイントラ予測による残差成分には高周波がより多く含まれるのでさらに劣化が大きくなる。また、量子化ステップが小さければ量子化後に０以外の値を持つ量子化係数は非常に多くなるが、一律に高周波を０にするため、量子化ステップを下げても画質が上がらないという問題も生じている。
【０００６】
また、大きなブロックサイズの変換は画素の入出力、変換係数の入出力も多く、演算コストも非常に高いものとなっている。
【課題を解決するための手段】
【０００７】
上述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、符号化制御パラメータを設定する設定手段と、第１のサイズを持つブロックの画素データを周波数変換し、変換係数の一部を除いて所定の値に置き換えて変換を行う第１の変換手段と、前記第１のサイズより小さい第２のサイズを持つブロックの画素データを周波数変換する第２の変換手段と、前記符号化制御パラメータに基づき、前記第１の変換手段の使用を制限するブロックサイズ決定手段と、前記決定されたブロックサイズに基づいて前記第１の変換手段の出力または前記第２の変換手段の出力を制御して符号化する符号化手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明により、大きなブロックでの変換係数の固定値による置き換えを制限することで、画質の向上を図ることができる。特に、係数の発生に大きく寄与する量子化パラメータに関連してブロックサイズを決定することで、好適にブロックサイズを制限することができる。また、ブロックサイズの制限を行うことで、ブロック分割を表す符号化データを削減できるという効果がある。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態の画像符号化装置の構成を表すブロック図である。
【図２】第１実施形態の変換ブロックサイズ決定部の構成を表すブロック図である。
【図３】変換ブロックの係数の値の配置を表した図である。
【図４】変換ブロックの配置の一例を表した図である。
【図５】変換ブロックの配置の一例を表した図である。
【図６】第１実施形態の直交変換部の詳細を表すブロック図である。
【図７】第１実施形態の画像符号化装置の別な構成を表すブロック図である。
【図８】第１実施形態の変換ブロックサイズ決定部の別な構成を表すブロック図である。
【図９】第１実施形態の画像符号化処理の動作を示すフローチャート図である。
【図１０】第１実施形態の画像符号化装置の別な構成を表すブロック図である。
【図１１】第１実施形態の分割フラグ符号化処理の動作を示すフローチャート図である。
【図１２】第２実施形態の画像符号化装置の構成を表すブロック図である。
【図１３】第２実施形態の分割フラグ符号化処理の動作を示すフローチャート図である。
【図１４】第２実施形態の画像符号化装置の別な構成を表すブロック図である。
【図１５】第２実施形態の画像符号化装置の別な構成を表すブロック図である。
【図１６】第３実施形態の画像復号装置の構成を表すブロック図である。
【図１７】第３実施形態の逆直交変換部の詳細を表すブロック図である。
【図１８】第３実施形態の画像復号処理の動作を示すフローチャート図である。
【図１９】第３実施形態の分割フラグ復号処理の動作を示すフローチャート図である。
【図２０】第４実施形態の画像復号装置の構成を表すブロック図である。
【図２１】第４実施形態の分割フラグ復号処理の動作を示すフローチャート図である。
【図２２】第４実施形態の画像復号装置の別な構成を表すブロック図である。
【図２３】本発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
＜実施形態１＞
本発明の実施形態を、図１から図１１を使って説明する。
図１は本発明の第１の実施形態である画像符号化装置の構成を示すブロック図である。図１において、１は画像データを入力する端子である。２は画像データを一時的に格納するバッファである。３は画像を複数の基本ブロックに分割する基本ブロック分割部である。本実施形態では説明を容易にするため、基本ブロックのサイズを３２画素×３２画素として説明するが、これに限定されない。４は基本ブロックを分割して直交変換を行うブロックのサイズの変換ブロックを形成する変換ブロックサイズ・分割決定部である。ここでは変換ブロックとして、ブロック分割を行わない３２画素×３２画素、１６画素×１６画素、８画素×８画素、４画素×４画素のそれぞれ変換ブロックに分割されるものとする。ただし、分割の方法はこれに限定されない。
【００１２】
８は分割された変換ブロック単位でイントラ予測や動き補償予測を行い、予測誤差を算出する予測部である。９は前記予測誤差に対して直交変換を行い空間周波数の係数を得る直交変換部である。本実施形態では周波数変換としてＤＣＴ変換を例にとり説明するがこれに限定されず、アダマール変換等の変換でももちろん構わない。直交変換部９は、変換ブロック分割・サイズ決定部４で分割された複数種の変換ブロックサイズに対応する直交変換を行う機能を備えている。ただし、３２画素×３２画素、１６画素×１６画素の直交変換については、係数の内、低周波の８画素×８画素の係数のみを演算し、それ以外は０を出力する。図３は変換ブロックの係数の値の配置を表した図である。図３（ａ）は３２画素×３２画素の直交変換後の係数を表す図であり、同様に図３（ｂ）は１６画素×１６画素の直交変換後の係数を表す図である。いずれの図においても黒塗りの画素は直交変換によって求められた係数を保持するが、それ以外の白抜きで表された画素は０の値となる。なお、この保持される係数の配置はこれに限定されない。
【００１３】
１０は得られた係数に対して、量子化パラメータ（符号化制御パラメータ）に従って量子化を行い、量子化係数を得る量子化部である。１１は各種ヘッダや各ブロックの量子化パラメータ等を符号化し、さらに前記量子化係数に対してエントロピー符号化を行うエントロピー符号化部である。エントロピー符号化の方式は特に限定されないが、算術符号やハフマン符号による符号化を行う。
【００１４】
５は不図示のユーザが画質を制御するための指示を受ける端子であり、６はその指示に従って、量子化部１０に設定する量子化パラメータの初期値を生成する量子化ステップ設定部である。７は前記量子化パラメータの初期値を参照して変換ブロック分割部で分割する際に最大の変換ブロックサイズを決定する最大変換ブロックサイズ決定部である。
【００１５】
１５は量子化部１０で生成された量子化係数から係数を復元する逆量子化部であり、１６は前記復元された係数に直交変換部９の逆変換を行い、予測誤差を復元する逆直交変換部である。１７は前記予測誤差と予測結果を加算する予測誤差加算部である。１８は復号した画像を格納しておくフレームメモリである。１９はフレームメモリ１８の内容と入力される変換ブロック単位の画像データを比較して動き検出を行った動き補償を行う動き補償部である。２０は前記動き検出の結果である動きベクトルを符号化して動きベクトル符号を生成する動きベクトル符号化器である。２１は変換ブロック分割・サイズ決定部４で基本ブロックを変換ブロックに分割した状態の情報を符号化し、ブロック分割符号を生成するブロック分割情報符号化部である。１２はエントロピー符号化部１１、動きベクトル符号化部２０、ブロック分割情報符号化部２１からの出力を統合、整列してビットストリームとして出力する多重化部である。１３は前記ビットストリームを外部に出力する端子である。１４はビットストリームの符号量に基づき、量子化パラメータを制御するレート制御部である。
上記の構成において、画像符号化処理の動作について説明する。
【００１６】
処理に先立ち、不図示のユーザは符号化する際の画質に関して端子５を経由して量子化パラメータ設定部６に指示を送る。量子化パラメータ設定部６はユーザが高画質を望んでいれば小さな値の量子化パラメータを設定し、低画質でもビットを削減することを望んでいれば大きな値の量子化パラメータを設定する。本実施形態では説明を容易にするため、量子化パラメータＱＰを小さい値ＱＳに設定する高画質モードと、量子化パラメータＱＰを大きな値ＱＬに設定する高効率モードの設定が行えるものとして説明を行う。ただし、設定の方法はこれに限定されない。
【００１７】
量子化パラメータ設定部６で設定された量子化パラメータは最大変換ブロックサイズ決定部７とレート制御部１４に入力される。最大変換ブロックサイズ決定部７は入力された量子化パラメータＱＰの値がＱＬであれば、その変換のブロックサイズを最大３２画素×３２画素とする。また、入力された量子化パラメータＱＰの値がＱＳであれば、その変換のブロックサイズの最大を８画素×８画素に限定する。
【００１８】
外部から端子１を介して順次、画像データが入力され、バッファ２に蓄積される。基本ブロック分割部３は入力される順に３２画素×３２画素のブロックを切り出し、変換ブロック分割・サイズ決定部４に入力する。
【００１９】
変換ブロック分割・サイズ決定部４において、各ブロックサイズで分割した際の符号化コストを算出してコストが小さい分割の組み合わせを選択する。図２に変換ブロック分割・サイズ決定部４の詳細な構成の一例を表すブロック図を示す。図２においては、３１は基本ブロック３から基本ブロックの画素データを入力する端子である。３２は入力された画素データを格納するバッファである。
【００２０】
３３はバッファ３２に格納された３２画素×３２画素に対してＤＣＴ変換を行う３２×３２変換部である。３４はバッファ３２に格納された３２画素×３２画素に対して縦横４分割にし、各１６画素×１６画素のブロックに対してＤＣＴ変換を行う１６×１６変換部である。３５はバッファ３２に格納された３２画素×３２画素に対して縦横４分割にし、各８画素×８画素のブロックに対してＤＣＴ変換を行う８×８変換部である。３６はバッファ３２に格納された３２画素×３２画素に対して縦横８分割にし、各４画素×４画素のブロックに対してＤＣＴ変換を行う４×４変換部である。
【００２１】
３７から４０はコスト算出部であり、それぞれの入力になる直交変換結果を入力し、符号化コストを算出する。算出の方法としてラグランジュ乗数を用いてブロックのコストを求める方法がある。また、コストの算出方法はこれに限定されず、例えば、各変換ブロックでの分散やエッジ量等のアクティビティを用いて判定する方法などがある。
【００２２】
４１から４４は対応するコスト算出部３７から４０に対応して、求められたコストを変換ブロック単位で蓄積するコストバッファである。４５はこれらのコストバッファに格納された各変換ブロックのコストを読み出し、基本ブロック内でもっともコストが小さくなるような組み合わせを選択する変換ブロック分割決定部である。４６は変換ブロック分割決定部４５の出力である選択された組み合わせの情報を変換ブロックの分割情報として出力する端子であり、図１の予測部８、直交変換部９、動き補償部１９、ブロック分割情報符号化部２１に出力される。
【００２３】
４７は前記変換ブロック分割情報を受け取り、バッファ３２から前記変換ブロック分割情報に従って、変換ブロックを切り出して出力する変換ブロック分割部であり、４８は前記分割された変換ブロックの画素データを順次出力する端子である。
【００２４】
４９は図１の最大変換ブロックサイズ決定部７から変換ブロックの最大サイズを入力する端子である。本実施形態では量子化パラメータの値がＱＬであれば３２を、ＱＳであれば８を入力する。５０は端子４９からの入力に従って、３２×３２変換部３３、コスト算出部３７、コストバッファ４１、１６×１６変換部３４、コスト算出部３８、コストバッファ４２を動作させるか否かを制御する制御器である。制御の信号はこれらに加えて、変換ブロック分割決定部４５にも入力される。
【００２５】
上記の構成において、変換ブロック分割処理の動作について説明する。
端子４９から変換ブロックの最大サイズが制御器５０に入力される。制御器５０は変換ブロックの最大サイズが３２であれば、３２×３２変換部３３、コスト算出部３７、コストバッファ４１、１６×１６変換部３４、コスト算出部３８、コストバッファ４２を動作する状態に設定する。また、変換ブロックの最大サイズが８であれば、３２×３２変換部３３、コスト算出部３７、コストバッファ４１、１６×１６変換部３４、コスト算出部３８、コストバッファ４２を休止する状態に設定する。この時、ハードウェアに供給する電源も切断する。
【００２６】
端子３１から基本ブロックの画素データ（３２画素×３２画素）を入力し、バッファ３２に蓄積する。
制御器５０が３２×３２変換部３３、コスト算出部３７、コストバッファ４１、１６×１６変換部３４、コスト算出部３８、コストバッファ４２を動作させているとする。その時、バッファ３２のデータを３２×３２変換部３３、１６×１６変換部３４、８×８変換部３５、４×４変換部３６が変換ブロックサイズごとに読み出す。そして、それぞれのサイズでＤＣＴ変換を行い、その変換係数を各々に接続されたコスト算出部３７から４０に入力する。
【００２７】
コスト算出部３７から４０はその係数から符号化コストを算出し、各々に接続されたコストバッファに蓄積される。コストバッファ４１では変換ブロックを３２画素×３２画素とした場合の１個のコストが格納される。コストバッファ４２では変換ブロックを１６画素×１６画素とした場合の４個のコストがその位置に従って格納される。コストバッファ４３では変換ブロックを８画素×８画素とした場合の１６個のコストがその位置に従って格納される。コストバッファ４４では変換ブロックを４画素×４画素とした場合の６４個のコストがその位置に従って格納される。
【００２８】
一方、制御器５０が３２×３２変換部３３、コスト算出部３７、コストバッファ４１、１６×１６変換部３４、コスト算出部３８、コストバッファ４２を休止させているとする。その時、バッファ３２のデータを８×８変換部３５、４×４変換部３６が変換ブロックサイズごとに読み出し、それぞれのサイズでＤＣＴ変換を行い、その変換係数を各々に接続されたコスト算出部３９と４０に入力する。
【００２９】
コスト算出部３９と４０はその係数から符号化コストを算出し、各々に接続されたコストバッファに蓄積される。コストバッファ４３では変換ブロックを８画素×８画素とした場合の１６個のコストがその位置に従って格納される。コストバッファ４４では変換ブロックを４画素×４画素とした場合の６４個のコストがその位置に従って格納される。
【００３０】
全てのコストがコストバッファ４１から４４に入力されたら、変換ブロック分割決定部４５は制御器５０がコストバッファ４１から４４の全てを動作させていれば、これらのコストを比較し、もっともコストの低い分割の組み合わせを選択する。
【００３１】
図４に図１の量子化パラメータ設定部６で高効率モードが選択されて、変換ブロックの最大サイズが３２となった場合の変換ブロック分割の一例を示す。３２画素×３２画素のブロックは１６画素×１６画素の変換ブロックＡとＤ、８画素×８画素の変換ブロックのＢＡ、ＢＢ、ＢＣ、ＢＤ、ＣＢ、ＣＤ、さらに４画素×４画素の変換ブロックのＣＡＡ、ＣＡＢ、ＣＡＣ、ＣＡＤ、ＣＢＡ、ＣＢＢ、ＣＢＣ、ＣＢＤに分割されている。
【００３２】
すなわち、ブロック分割の状態とサイズについて「３２画素×３２画素のブロックは１６画素×１６画素ブロックに分割される」「１６画素×１６画素のブロックＡは分割されない」「１６画素×１６画素のブロックＢは８画素×８画素ブロックに分割される」「８画素×８画素のブロックＢＡは分割されない」「８画素×８画素のブロックＢＢは分割されない」「８画素×８画素のブロックＢＣは分割されない」「８画素×８画素のブロックＢＤは分割されない」「１６画素×１６画素のブロックＣは８画素×８画素ブロックに分割される」「８画素×８画素のブロックＣＡは４画素×４画素ブロックに分割される」「８画素×８画素のブロックＣＢは分割されない」「８画素×８画素のブロックＣＣは４画素×４画素ブロックに分割される」「８画素×８画素のブロックＣＤは分割されない」「１６画素×１６画素のブロックＤは分割されない」と表され、これが変換ブロックの分割情報となる。
【００３３】
また、図５に、図１の量子化パラメータ設定部６で高画質モードが選択されて、変換ブロックの最大サイズが８となった場合の変換ブロック分割の一例を示す。８画素×８画素の変換ブロックのＡＡ、ＡＢ、ＡＣ、ＡＤ、ＢＡ、ＢＢ、ＢＣ、ＢＤ、ＣＢ、ＣＤ、ＤＡ、ＤＢ、ＤＣ、ＤＤと４画素×４画素の変換ブロックのＣＡＡ、ＣＡＢ、ＣＡＣ、ＣＡＤ、ＣＢＡ、ＣＢＢ、ＣＢＣ、ＣＢＤに分割されている。図４の１６画素×１６画素の変換ブロックは８画素×８画素の変換ブロックに再分割されている。この時、図５の変換ブロックの分割情報は「３２画素×３２画素のブロックは１６画素×１６画素ブロックに分割される」「１６画素×１６画素のブロックＡは８画素×８画素ブロックに分割される」「８画素×８画素のブロックＡＡは分割されない」「８画素×８画素のブロックＡＢは分割されない」「８画素×８画素のブロックＡＣは分割されない」「８画素×８画素のブロックＡＤは分割されない」「１６画素×１６画素のブロックＢは８画素×８画素ブロックに分割される」「８画素×８画素のブロックＢＡは分割されない」「８画素×８画素のブロックＢＢは分割されない」「８画素×８画素のブロックＢＣは分割されない」「８画素×８画素のブロックＢＤは分割されない」「１６画素×１６画素のブロックＣは８画素×８画素ブロックに分割される」「８画素×８画素のブロックＣＡは４画素×４画素ブロックに分割される」「８画素×８画素のブロックＣＢは分割されない」「８画素×８画素のブロックＣＣは４画素×４画素ブロックに分割される」「８画素×８画素のブロックＣＤは分割されない」「１６画素×１６画素のブロックＤは８画素×８画素ブロックに分割される」「８画素×８画素のブロックＤＡは分割されない」「８画素×８画素のブロックＤＢは分割されない」「８画素×８画素のブロックＤＣは分割されない」「８画素×８画素のブロックＤＤは分割されない」となる。
【００３４】
これらの変換ブロックの分割情報は変換ブロック分割決定部４５から端子４６を介して、図１の予測部８、直交変換部９、動き補償部１９、ブロック分割情報符号化部２１に出力されると同時に変換ブロック分割部４７に入力される。変換ブロック分割部４７では変換ブロックの分割情報に基づき、順にバッファ３２から変換ブロックのデータを読み出して、端子４８から図１の予測部８及び動き補償部１９に出力する。
【００３５】
図１に戻り、変換ブロックサイズ・分割決定部４で生成された変換ブロック分割情報と変換ブロックの画素データは予測部８と動き補償部１９に入力される。動き補償部１９では画素ブロックのデータに基づき、フレームメモリ１８から当該変換ブロックに対して動き予測を行い、動きベクトルと参照する画素ブロックを生成して予測部８に入力する。また、動きベクトルは動きベクトル符号化部２０で符号化され、動きベクトル符号データとして多重化部１２に入力される。
【００３６】
予測部８では入力された画素データに対してイントラ予測を行い、動き補償部１９から入力された動き補償の予測結果と比較し、予測誤差の小さいものを選択し予測モードを決定する。選択された予測結果と入力された画素ブロックとの差分をとり、予測誤差データを生成する。生成された予測誤差データは直交変換部９に入力される。また、その時に使用された予測結果は予測誤差加算部１７に入力される。また、予測モードは多重化部１２に出力される。
【００３７】
直交変換部９は予測誤差に対して変換ブロックの分割情報の示す直交変換を行う。直交変換部９の詳細なブロック図を図６に示す。図６において、６０は図１の変換ブロックサイズ・分割決定部４から変換ブロック分割情報を入力する端子である。６１は図１の最大変換ブロックサイズ決定部７から変換ブロックの最大サイズを入力する端子である。６２は図２の制御器５０と同様に、端子６１からの入力に従って、３２×３２変換部６５、１６×１６変換部６６を動作させるか否かを制御する制御器である。
【００３８】
６３は図１の予測部８から予測誤差データを入力する端子である。６４、６９はセレクタであり、端子６０から入力された変換ブロック分割情報の変換ブロックサイズに基づいて入力先または出力先を選択する。
【００３９】
６５は入力された３２画素×３２画素の変換ブロックに対してＤＣＴ変換を行い３２×３２の係数データを得る３２×３２変換部である。３４は入力された１６画素×１６画素の変換ブロックに対してＤＣＴ変換を行い１６×１６の係数データを得る１６×１６変換部である。６７はバッファ３２に入力された８画素×８画素の変換ブロックに対してＤＣＴ変換を行い８×８の係数データを得る８×８変換部である。６８はバッファ３２に入力された４画素×４画素の変換ブロックに対してＤＣＴ変換を行い４×４の係数データを得る４×４変換部である。
【００４０】
７０は各変換で得られた係数データを出力する端子である。上記の構成において、直交変換処理の動作について説明する。
【００４１】
処理に先立ち、端子６１から変換ブロックの最大サイズが入力され、制御器６２に入力される。制御器６２は変換ブロックの最大サイズが３２であれば、３２×３２変換部６５、１６×１６変換部６６を動作する状態に設定する。また、変換ブロックの最大サイズが８であれば、３２×３２変換部６５、１６×１６変換部６６を休止する状態に設定する。この時、ハードウェアに供給する電源も切断する。
【００４２】
端子６０から変換ブロック分割情報が入力され、セレクタ６４とセレクタ６９に入力される。入力された変換ブロックサイズが３２であれば、セレクタ６４はその出力先を３２×３２変換部６５とし、セレクタ６９はその入力先を３２×３２変換部６５とする。以下同様に、入力された変換ブロックサイズが１６であれば、セレクタ６４はその出力先を１６×１６変換部６５とし、セレクタ６９はその入力先を１６×１６変換部６６とする。入力された変換ブロックサイズが８であれば、セレクタ６４はその出力先を８×８変換部６５とし、セレクタ６９はその入力先を８×８変換部６７とする。入力された変換ブロックサイズが４であれば、セレクタ６４はその出力先を４×４変換部６５とし、セレクタ６９はその入力先を４×４変換部６８とする。
【００４３】
端子６３から入力された変換ブロックの画素データはセレクタ６４で該当するサイズの変換部に入力される。各変換部で変換して得られた変換ブロックの係数データはセレクタ６９を介して端子７０から出力される。この時、３２×３２変換部６５では図３（ａ）に示す８×８の部分の値が計算され、その他の白い部分は０となるように変換される。同様に、１６×１６変換部６６では図３（ｂ）に示す８×８の部分の値が計算され、その他の白い部分は０となるように変換される。
【００４４】
図１に戻り、直交変換部９で生成された係数データは量子化部１０に入力される。量子化部１０ではレート制御部１４で決定された量子化パラメータを用いて量子化を行い、量子化係数データを生成し、エントロピー符号化部１１に出力する。合わせて、この時使用した量子化パラメータもエントロピー符号化部１１に出力される。エントロピー符号化部１１は入力された量子化パラメータ、量子化係数等を符号化する。符号化の方法は特に限定しないが、例えば、量子化パラメータは直前の変換ブロックの量子化で使用した量子化パラメータとの差分をハフマン符号化する。量子化係数もＨ．２６４符号化方式同様に１次元の配列にし、可変長符号化することで実現される。
【００４５】
一方、量子化部１０で得られた量子化係数データは逆量子化部１５に入力され、量子化パラメータを用いて逆量子化を行い、係数データを復元する。復元された係数データは逆直交変換部１６に入力され、予測誤差データを復元する。復元された予測誤差データは予測誤差加算部１７に入力され、予測部８で生成されたイントラ予測の予測値または動き補償によって得られた予測値が入力され、加算されてフレームメモリ１８の対応する領域に格納される。
【００４６】
また、変換ブロックサイズ・分割決定部４で決定された変換ブロックの分割情報はブロック分割情報符号化部２１で符号化される。変換ブロック分割情報は左上、右上、左下、右下の順で符号化されるものとして説明する。分割されていれば１を、分割されていなければ０を割り当てて符号化するものとする。
【００４７】
最初に、基本ブロックに対して分割が生じているので、基本ブロックが分割されていることを表す基本ブロック分割フラグに１を設定する。もし分割がされずに３２画素×３２画素の変換が行われるのであれば、基本ブロック分割フラグに０を設定する。続いて１６画素×１６画素の変換ブロックＡについて、分割が行われているか否かの情報をＡブロック分割フラグとして表す。すなわち、分割されていればこの値は１となり、そうでなければ０となる。ブロックＡが再度分割され、８画素×８画素のブロックに分割される場合、再度、４画素×４画素のブロックに分割されるか否かのブロック分割フラグを設定する。
【００４８】
図４のブロックの分割について、
１  ３２画素×３２画素のブロックは１６画素×１６画素ブロックに分割される
０  １６画素×１６画素のブロックＡは分割されない
１  １６画素×１６画素のブロックＢは８画素×８画素ブロックに分割される
０  ８画素×８画素のブロックＢＡは分割されない
０  ８画素×８画素のブロックＢＢは分割されない
０  ８画素×８画素のブロックＢＣは分割されない
０  ８画素×８画素のブロックＢＤは分割されない
１  １６画素×１６画素のブロックＣは８画素×８画素ブロックに分割される
１  ８画素×８画素のブロックＣＡは４画素×４画素ブロックに分割される
０  ８画素×８画素のブロックＣＢは分割されない
１  ８画素×８画素のブロックＣＣは４画素×４画素ブロックに分割される
０  ８画素×８画素のブロックＣＤは分割されない
０  １６画素×１６画素のブロックＤは分割されない
といった状態になる。同様に図５のブロック分割については下記のような変換ブロックの分割フラグを生成する。
１  ３２画素×３２画素のブロックは１６画素×１６画素ブロックに分割される
１  １６画素×１６画素のブロックＡは８画素×８画素ブロックに分割される
０  ８画素×８画素のブロックＡＡは分割されない
０  ８画素×８画素のブロックＡＢは分割されない
０  ８画素×８画素のブロックＡＣは分割されない
０  ８画素×８画素のブロックＡＤは分割されない
１  １６画素×１６画素のブロックＢは８画素×８画素ブロックに分割される
０  ８画素×８画素のブロックＢＡは分割されない
０  ８画素×８画素のブロックＢＢは分割されない
０  ８画素×８画素のブロックＢＣは分割されない
０  ８画素×８画素のブロックＢＤは分割されない
１  １６画素×１６画素のブロックＣは８画素×８画素ブロックに分割される
１  ８画素×８画素のブロックＣＡは４画素×４画素ブロックに分割される
０  ８画素×８画素のブロックＣＢは分割されない
１  ８画素×８画素のブロックＣＣは４画素×４画素ブロックに分割される
０  ８画素×８画素のブロックＣＤは分割されない
１  １６画素×１６画素のブロックＤは８画素×８画素ブロックに分割される
０  ８画素×８画素のブロックＤＡは分割されない
０  ８画素×８画素のブロックＤＢは分割されない
０  ８画素×８画素のブロックＤＣは分割されない
０  ８画素×８画素のブロックＤＤは分割されない
となる。
【００４９】
符号の順番はこれに限定されず、例えば、最初に３２画素×３２画素のブロックの分割フラグ、１６画素×１６画素ブロックへの分割が行われるのであれば、それに続いて１６画素×１６画素ブロックの分割フラグ４ビットと続けていけてもよい。４画素×４画素ブロックはそれ以下のサイズの変換ブロックがないため、分割フラグ情報は生成しない。
【００５０】
図１１に分割フラグの符号化の流れをフローチャートによって説明する。
ステップＳ０５１にて、基本ブロックが１６画素×１６画素の変換ブロックに分割されているか否かを判定し、分割されているのであればステップＳ０５３に進み、そうでなければステップＳ０５２に進む。
【００５１】
ステップＳ０５２にて、基本ブロックが１６画素×１６画素の変換ブロックに分割されていないので符号“０”を分割フラグに割り当てる。その後、変換ブロックの分割がないので、符号化処理を終了する。
【００５２】
ステップＳ０５３にて、基本ブロックが１６画素×１６画素の変換ブロックに分割されていないので符号“１”を分割フラグに割り当て、続いて、１６画素×１６画素ブロック内の処理を行う。
【００５３】
ステップＳ０５４にて、左上から右下の順番で対象となっている１６画素×１６画素の変換ブロックが８画素×８画素の変換ブロックに分割されているか否かを判定する。分割されているのであればステップＳ０５６に進み、そうでなければステップＳ０５４に進む。
【００５４】
ステップＳ０５５にて、１６画素×１６画素の変換ブロックが８画素×８画素の変換ブロックに分割されていないので符号“０”を分割フラグに割り当てる。その後、ステップＳ０６１に進む。
【００５５】
ステップＳ０５６にて、１６画素×１６画素の変換ブロックが８画素×８画素の変換ブロックに分割されていないので符号“１”を分割フラグに割り当て、ステップＳ０５７に進む。
【００５６】
ステップＳ０５７にて、左上から右下の順番で対象となっている８画素×８画素の変換ブロックが４画素×４画素の変換ブロックに分割されているか否かを判定する。分割されているのであればステップＳ０５９に進み、そうでなければステップＳ０５８に進む。
【００５７】
ステップＳ０５８にて、８画素×８画素の変換ブロックが４画素×４画素の変換ブロックに分割されていないので符号“０”を分割フラグに割り当てる。その後、ステップＳ０６０に進む。
【００５８】
ステップＳ０５９にて、８画素×８画素の変換ブロックが４画素×４画素の変換ブロックに分割されていないので符号“１”を分割フラグに割り当て、ステップＳ０６０に進む。
【００５９】
ステップＳ０６０にて、処理していた１６画素×１６画素の変換ブロックの全ての８画素×８画素の変換ブロックの符号化が終わったか否かを判定し、終了していれば、ステップＳ０６１に進む。そうでなければ次の８画素×８画素の変換ブロックを処理するためにステップＳ０５７に戻る。
【００６０】
ステップＳ０６１にて、処理していた３２画素×３２画素の変換ブロックの全ての１６画素×１６画素の変換ブロックの符号化が終わったか否かを判定し、終了していれば、分割フラグの符号化処理を終了する。そうでなければ次の８画素×８画素の変換ブロックを処理するためにステップＳ０５７に戻る。
【００６１】
このように、エントロピー符号化部１１から量子化パラメータ、量子化係数、予測部８から予測モード、動きベクトル符号化部２０から動きベクトルの各符号データと、ブロック分割情報符号化部２１で符号化された分割フラグは多重化部１２に入力される。多重化部１２では所定の順にそれぞれの符号データが整列されて、ビットストリームとして端子１３から出力される。
【００６２】
また、ビットストリームはレート制御部１４に入力され、量子化パラメータ設定部６で設定した量子化パラメータを参照して新たな量子化パラメータが生成される。例えば、量子化パラメータ設定部６で設定した量子化パラメータから変更できる幅を設定してその中で制御を実現するようにする。
以上、符号化の処理の簡単な流れを、図面を用いて説明する。
【００６３】
図９は符号化処理の全体をフローチャートで表した図である。
ステップＳ００１にて、処理を始めるにあたり、画質を決定する量子化パラメータを設定する。
【００６４】
ステップＳ００２にて、設定された量子化パラメータを用いて、使用する変換ブロックの最大サイズを決定する。例えば、設定された量子化パラメータＱＰと閾値Ｔｈとを比較し、量子化パラメータＱＰが閾値Ｔｈより大きければ、変換ブロックの最大サイズを基本ブロックのサイズとする。量子化パラメータＱＰが閾値Ｔｈ以下であれば変換ブロックの最大サイズを変換後に変数を０に置き換えることのないブロックサイズと制限する。
【００６５】
ステップＳ００３にて、１フレーム分の画像データを読み込む。
ステップＳ００４にて、読み込まれた１フレーム画像データを基本ブロック（本実施形態では６４画素×６４画素のブロックに分割する。）
ステップＳ００５にて、１つの基本ブロックデータを読み込み、ブロック分割を行った場合の各サイズでのコストを算出し、コストの総和が最小になるように変換ブロックの分割方法を決定する。
【００６６】
ステップＳ００６にて、決定されたブロック分割の情報を符号化する。
ステップＳ００７にて、分割された変換ブロックを順に読み出し、イントラ予測や動画の場合は動き補償を行い、予測値を算出する。
【００６７】
ステップＳ００８にて、算出された変換ブロックの予測値と入力を比較し、予測誤差を算出し、その予測誤差をそれぞれのサイズの直交変換を行う。変換後、量子化パラメータによって量子化し、量子化結果を符号化する。
【００６８】
ステップＳ００９にて、量子化結果に対して逆量子化、逆直交変換を行い、予測誤差を再生し、ステップＳ００６で算出した予測値と加算し、再生画像を生成して、これを保持する。
【００６９】
ステップＳ０１０にて、処理している基本ブロック内の変換ブロックについてステップＳ００７からステップＳ００９の処理が終了したか否かを判定する。終了していれば、ステップＳ０１１に進み、終了していなければ次の変換ブロックを対象にしてステップＳ００７からステップＳ００９を行う。
【００７０】
ステップＳ０１１にて、符号化された量子化パラメータや量子化係数の符号データ、その他の符号データを出力する。
ステップＳ０１２にて、フレーム内の全ての基本ブロックに対して、ステップＳ００５からステップＳ０１１までの処理が終了していれば、ステップＳ０１２に進み、終了していなければ次の基本ブロックを対象にしてステップＳ００３からステップＳ０１２を行う。
【００７１】
ステップＳ０１３にて、画像データの次のフレームがあるか否かを判定し、次フレームがあればステップＳ００３からの処理を行い、もしなければ処理を終了する。
【００７２】
以上説明した方法で、分割する際に最大の変換ブロックサイズを決定することにより、係数が強制的に０になる大きな変換ブロックの使用を制限することにより、画質の劣化を効率的に抑制することができる。また、量子化係数の発生を制御する量子化パラメータに基づいてその制御を行うことにより、画質制御を好適に行うことが可能になる。
【００７３】
また、大きな変換ブロックは計算が複雑で、回路規模も大きく消費電力も高いことから、これを最大の変換ブロックサイズが大きな変換ブロックを制限することで、計算量の削減や消費電力の抑制を行うことができるようになる。また、本実施形態では復号側は通常の復号を行うことで画像を再生することができる。
【００７４】
なお、本実施形態では基本ブロックサイズ、ブロックの分割方法はこれに限定されない。例えば、基本ブロックサイズは６４画素×６４画素と大きなものを採用しても構わないし、分割方法も例えば８画素×４画素といった長方形でも構わない。
【００７５】
また、本実施形態では量子化パラメータ設定部６で設定した量子化パラメータによって最大変換ブロックサイズを決定し、レート制御１４においてその量子化パラメータが大きく変動しないように設定したがこれに限定されない。図７に示すようにレート制御部２２で決定された新たな量子化パラメータを最大変換ブロックサイズ決定部２３に入力してこれを元にフレームやスライス単位で最大変換ブロックサイズを決定しても構わない。
【００７６】
また、本実施形態では変換ブロックサイズ・分割決定部４の構成を図２のように示したが、これに限定されず、各分割でのコストの算出をより正確なものとするため、図８のように構成しても構わない。各ブロックサイズでのコスト算出の前に各ブロックサイズでの予測誤差を用いる方法である。すなわち、８０は端子であり、図１のフレームメモリ１８から動き予測に必要な参照フレームの画像データを入力する。８１は３２画素×３２画素の単位でイントラ予測または動き補償による予測を行う３２×３２予測部であり、８５は３２画素×３２画素で動きベクトル探索を行い、予測データを算出する３２×３２動き補償部である。以下、１６×１６変換部３４の前に１６×１６予測部８２と１６×１６動き補償部８６を、８×８変換部３５の前に８×８予測部８３と８×８動き補償部８７を、４×４変換部３６の前に４×４予測部８４と４×４動き補償部８８を備える。さらには、ここで生成した予測誤差を後段の処理に送ることで、図１の予測部８、動き補償部１９を削減することできる。
【００７７】
また、図１０に示すように最大変換ブロックサイズの決定において、量子化パラメータのみならず、量子化マトリックスを考慮することも可能である。すなわち、ステップＳ００２において、設定された量子化パラメータＱＰと閾値Ｔｈとを比較する例について説明したが、量子化パラメータＱＰのみならず、その量子化マトリックスＱＭ［０〜ｉ］（ｉは変換ブロックのサイズで与えられる）を考慮してもよい。図１０では量子化マトリックスＱＭ［０〜ｉ］を設定する量子化マトリックス設定部１１０があり、ここで設定された量子化マトリックスＱＭ［０〜ｉ］と量子化パラメータＱＰを用いて、係数Ｑｓｕｍを算出する。
Ｑｓｕｍ＝Σ（ＱＭ［ｍ］×ＱＰ）
この係数Ｑｓｕｍと閾値Ｔｈｍとを比較して、量子化パラメータＱｓｕｍが閾値Ｔｈｍより大きければ、変換ブロックの最大サイズを基本ブロックのサイズとする。量子化パラメータＱｓｕｍが閾値Ｔｈｍ以下であれば変換ブロックの最大サイズを変換後に変数を０に置き換えることのないブロックサイズと制限してもよい。
【００７８】
なお、本実施形態ではフレーム間差分を用いた動画像の符号化を例にとって説明したが、これに限定されず、イントラ予測のみを使うことで、静止画像の符号化に用いることができることは自明である。
【００７９】
＜実施形態２＞
第１の実施形態においては、最大変換ブロックサイズを用いて、変換ブロックのサイズの制限を行う例を示したが、本実施形態では、最大変換ブロックサイズを用いて、ブロック分割の符号化方法の制御を合わせて行う例を説明する。
【００８０】
図１２において、１０７は最大変換ブロックサイズ決定部７で決定された最大変換ブロックサイズを符号化する最大変換ブロックサイズ符号化部である。１２１はブロック分割情報符号化部であり、第１実施形態のブロック分割情報符号化部２１とは最大変換ブロックサイズ決定部７から最大ブロックサイズが入力されることが異なる。１１２は多重化部である。
【００８１】
ブロック分割情報符号化部１２１の処理を図１３のフローチャートを用いて説明する。なお、図１３の中で第１の実施形態の図１１と同じ処理を行うステップに関しては同番号を付与し、説明を省略する。
【００８２】
ステップＳ１５１にて、最大変換ブロックサイズ決定部７から入力された変換ブロックの最大サイズが１６画素×１６画素の変換ブロックか否かを判定する。変換ブロックの最大サイズが１６画素×１６画素の変換ブロックであればステップＳ０５４に進み、そうでなければステップＳ１５２に進む。
【００８３】
ステップＳ１５２にて、変換ブロックの最大サイズが８画素×８画素の変換ブロックか否かを判定する。変換ブロックの最大サイズが８画素×８画素の変換ブロックであればステップＳ０５９に進み、そうでなければステップＳ０５５に進む。
【００８４】
以下、ステップＳ０５１は最大変換ブロックサイズが３２画素×３２画素の場合に行われる。この場合、第１の実施形態と同様にステップＳ０５１からステップＳ０６１の処理を行い、分割フラグを符号化する。
【００８５】
ステップＳ１５１にて最大変換ブロックサイズが１６画素×１６画素と判定されれば、ステップＳ０５４からステップＳＳ０６１の処理を行い、分割フラグを符号化する。これにより、分割フラグは１６画素×１６画素の変換ブロックに対する分割（１６画素×１６画素、８画素×８画素、及び、４画素×４画素）の情報を符号化することになる。
【００８６】
ステップＳ１５２にて最大変換ブロックサイズが８画素×８画素と判定されれば、ステップＳ０５４からステップＳＳ０６１の処理を行い、分割フラグを符号化する。これにより、分割フラグは８画素×８画素の変換ブロックに対する分割（８画素×８画素、及び、４画素×４画素）の情報を符号化することになる。
【００８７】
以上の動作により、図５のブロック分割については、その最大変換ブロックサイズが８画素×８画素であれば、
０  ８画素×８画素のブロックＡＡは分割されない
０  ８画素×８画素のブロックＡＢは分割されない
０  ８画素×８画素のブロックＡＣは分割されない
０  ８画素×８画素のブロックＡＤは分割されない
０  ８画素×８画素のブロックＢＡは分割されない
０  ８画素×８画素のブロックＢＢは分割されない
０  ８画素×８画素のブロックＢＣは分割されない
０  ８画素×８画素のブロックＢＤは分割されない
１  ８画素×８画素のブロックＣＡは４画素×４画素ブロックに分割される
０  ８画素×８画素のブロックＣＢは分割されない
１  ８画素×８画素のブロックＣＣは４画素×４画素ブロックに分割される
０  ８画素×８画素のブロックＣＤは分割されない
０  ８画素×８画素のブロックＤＡは分割されない
０  ８画素×８画素のブロックＤＢは分割されない
０  ８画素×８画素のブロックＤＣは分割されない
０  ８画素×８画素のブロックＤＤは分割されない
となる。第１実施形態で説明した図５の分割フラグの符号化に比べ、
１  ３２画素×３２画素のブロックは１６画素×１６画素ブロックに分割される
１  １６画素×１６画素のブロックＡは８画素×８画素ブロックに分割される
１  １６画素×１６画素のブロックＢは８画素×８画素ブロックに分割される
１  １６画素×１６画素のブロックＣは８画素×８画素ブロックに分割される
１  １６画素×１６画素のブロックＤは８画素×８画素ブロックに分割される
といった符号が省略できる。
【００８８】
また、最大変換ブロックサイズは最大変換ブロックサイズ符号化部１０７で符号化される。符号化方法は特に限定しない。例えば、最大変換ブロックサイズが３２画素×３２画素であればインデックス“０”を、１６画素×１６画素であればインデックス“１”を、８画素×８画素であればインデックス“２”を割り振り、２ビットの符号で表現することができる。
【００８９】
符号化された最大ブロックサイズと分割フラグは多重化部１１２で所定の順にそれぞれの符号データが整列されて、ビットストリームとして端子１３から出力される。
【００９０】
以上説明した方法で、分割する際に最大の変換ブロックサイズにしたがって、ブロック分割を表す符号を決定することにより、少ない符号量で第１実施形態と同様に、画質の劣化を効率的に抑制することができる。
【００９１】
なお、最大ブロックサイズは量子化パラメータによって決定したが、これに限定されず、個別に設定しても構わない。
【００９２】
また、第１、２の実施形態では最大ブロックサイズを基本ブロックサイズと高域を強制的に０にしない例を説明したが、これに限定されず、上記のようにその中間を備え、１６画素×１６画素とすることも可能である。
【００９３】
また、本実施形態では必ず最大変換ブロックサイズを設定するように構成したが、これに限定されず図１４の構成をとることも可能である。図１４において、端子１５１は不図示のユーザが設定した最大変換ブロックサイズを用いて符号化するか否かを入力する端子である。最大変換ブロックサイズ決定部１５８は第１の実施形態の最大変換ブロックサイズ決定部７とは端子１５１の指示に従って最大変換ブロックサイズの決定を制御する点が異なる。１５７は最大変換ブロックサイズ符号化部であるが、上記の最大変換ブロックサイズ符号化部１５７とは端子１５１からの入力を受ける点が異なる。１２２は多重化部であり図１４の多重化部１１２とはプロファイルの符号データを受け取ることにある
端子１５１から最大変換ブロックサイズを設定して符号化を行う場合は、上記の説明と変わらず、最大変換ブロックサイズを決定して最大変換ブロックサイズを符号化して伝送する。端子１５１から最大変換ブロックサイズを設定しない場合は、最大変換ブロックサイズ決定部１５８は最大変換ブロックサイズを基本ブロックのサイズ３２画素×３２画素に固定する。また、最大変換ブロックサイズ符号化部１５７は動作せず、最大変換ブロックサイズの符号化は行わない。このようにすることで、従来の方式との互換性を保つこともできるようになる。
【００９４】
また、最大変換ブロックサイズを用いて符号化するか否かをビットストリームの属性を表すヘッダ情報に含めることによって実現しても構わない。例えば、Ｈ．２６４符号化方式にあるＳＥＩ符号を用いて記述しても良いし、また、本発明を使用するプロファイルを用いても構わない。図１５において、１６０はプロファイル設定部であり、端子１５１から最大変換ブロックサイズを設定して符号化を行う場合は、最大変換ブロックサイズ符号を用いるプロファイル（例えば拡張プロファイル）とし、符号化を行わない場合は基本プロファイルとする。これらのプロファイルを識別する符号を生成し、多重化部１２２に入力され、プロファイルを識別する符号をビットストリームに埋め込む。
【００９５】
これにより、ビットストリームの早い段階で最大ブロックサイズによる制御を行うか否かが早い段階で明確になる。ビットストリームの早い段階で制御の可否が分かれば、変換部の省電力化と早期に行うことができるようになる。
【００９６】
＜実施形態３＞
図１６は、本発明の第３の実施形態に係る画像復号装置の構成を示すブロック図である。本実施形態では、第１実施形態で生成された符号化データの復号を例にとって説明する。
【００９７】
図１６において、２０１は第１の実施形態で生成されたビットストリームを入力する端子であり、２０２は第１の実施形態の図１に記載された多重化部１２の逆の処理によって、それぞれの符号に分離する分離部である。２０３は分離部２０２から量子化パラメータの符号を受け取り、復号する量子化パラメータ復号部である。２０４は復号された量子化パラメータから最大変換ブロックサイズを算出する最大変換ブロックサイズ設定部である。２０５は量子化係数の符号データを復号するエントロピー復号部（周波数復号部）である。２０６は量子化パラメータ復号部２０３で復号された量子化パラメータを用いて逆量子化を行う逆量子化部（逆周波数変換部）である。２０７は逆量子化で得られた係数データを復号して予測誤差データを再生する逆直交変換部である。２０８は分離部２０２で分離された予測に関する符号を復号し、フレームメモリ２１３から復号済み画像を読み出して予測を行う予測部である。第１実施形態の図１に記載の予測部８と同様の機能を果たす。２０９は動きベクトルの符号を復号し、動きベクトルを再生して、動き補償部２１０に入力する動きベクトル復号部である。２１０は再生された動きベクトルに基づいてフレームメモリ２１３から動き補償を行う動き補償部である。２１１は予測部２０８で生成された予測データと逆直交変換部２０７で再生した予測誤差データを加算して復号画像を生成する予測誤差加算部である。２１２は復号されて得た各変換ブロックの再生画像データを基本ブロックにまとめる基本ブロック合成部である。２１３は復号画像を保持するフレームメモリである。２１４は第１実施形態の図１に記載のブロック分割情報符号化部２１で符号化された復号するブロック分割情報復号部である。２１５は端子であり、復号した画像データを外部に出力する端子である。
【００９８】
上記の構成において、端子２０１からビットストリームが入力され、分離部２０２に入力される。分離部２０２は量子化パラメータに関する符号を量子化パラメータ復号部２０３に送る。量子化された係数の符号化データはエントロピー復号部２０５に送る。予測モード、予測の手法等に関する符号化データは予測部２０８に送る。ブロック分割の情報を表す符号化データはブロック分割情報復号部２１４に入力される。最初に量子化パラメータの符号化データを読み込み、復号して、量子化パラメータＱＰを復号する。最大変換ブロックサイズ設定部２０４は第１実施形態の最大変換ブロックサイズ決定部７と同様に復号された量子化パラメータＱＰの値がＱＬであれば、その変換のブロックサイズを最大３２画素×３２画素とする。また、入力された量子化パラメータＱＰの値がＱＳであれば、その変換のブロックサイズの最大を８画素×８画素に限定する。変換ブロックサイズの最大値はエントロピー復号部２０５、逆量子化部２０６、逆直交変換部２０７、動き補償部２１０、基本ブロック合成部２１２に入力される。
【００９９】
量子化係数の符号化データはエントロピー復号部２０５に入力され、復号を行い、量子化結果を復号する。量子化結果は逆量子化部２０６に入力され、量子化パラメータ復号部２０３で復号された量子化パラメータを用いて逆量子化を行い、係数データを得る。係数データは逆直交変換部２０７に入力され、第１実施形態の図１に記載の逆直交変換部の変換と同様の変換を行い、予測誤差を再生する。再生された予測誤差は予測誤差加算部２１１に入力される。
【０１００】
逆直交変換部２０７の詳細について、図１７を用いて説明する。図６において、２６０は図１６の変換ブロック分割復号部２１４から変換ブロック分割情報を入力する端子である。２６１は図１６の最大変換ブロックサイズ設定部２０４から変換ブロックの最大サイズを入力する端子である。２６２は図２の制御器５０と同様に、端子２６１からの入力に従って、３２×３２変換部２６５、１６×１６変換部２６６を動作させるか否かを制御する制御器である。
【０１０１】
２６３は図１６の予測部８から予測誤差データを入力する端子である。２６４、２６９はセレクタであり、端子２６０から入力された変換ブロック分割情報の変換ブロックサイズに基づいて入力先または出力先を選択する。
【０１０２】
２６５は入力された３２画素×３２画素の変換ブロックに対して逆ＤＣＴ変換を行い３２×３２の画像データを得る３２×３２逆変換部である。２６６は入力された１６画素×１６画素の変換ブロックに対して逆ＤＣＴ変換を行い１６×１６の画像データを得る１６×１６逆変換部である。２６７は入力された８画素×８画素の変換ブロックに対して逆ＤＣＴ変換を行い８×８の画像データを得る８×８逆変換部である。２６８は入力された４画素×４画素の変換ブロックに対して逆ＤＣＴ変換を行い４×４の画像データを得る４×４逆変換部である。
【０１０３】
２７０は各変換で得られた係数データを出力する端子である。上記の構成において、直交変換処理の動作について説明する。
処理に先立ち、端子２６１から変換ブロックの最大サイズが入力され、制御器２６２に入力される。制御器２６２は変換ブロックの最大サイズが３２であれば、３２×３２逆変換部２６５、１６×１６逆変換部２６６を動作する状態に設定する。また、変換ブロックの最大サイズが８であれば、３２×３２逆変換部２６５、１６×１６逆変換部２６６を休止する状態に設定する。この時、ハードウェアに供給する電源も切断する。
【０１０４】
端子２６０から復号された変換ブロック分割情報が入力され、セレクタ２６４とセレクタ２６９に入力される。設定された変換ブロックサイズが３２であれば、セレクタ２６４はその出力先を３２×３２逆変換部２６５とし、セレクタ２６９はその入力先を３２×３２逆変換部２６５とする。以下同様に、入力された変換ブロックサイズが１６であれば、セレクタ２６４はその出力先を１６×１６逆変換部２６６とし、セレクタ２６９はその入力先を１６×１６逆変換部２６６とする。入力された変換ブロックサイズが８であれば、セレクタ２６４はその出力先を８×８逆変換部２６７とし、セレクタ２６９はその入力先を８×８逆変換部２６７とする。入力された変換ブロックサイズが４であれば、セレクタ２６４はその出力先を４×４逆変換部２６８とし、セレクタ６９はその入力先を４×４変換部２６８とする。
【０１０５】
端子２６３から入力された変換ブロックの係数データはセレクタ２６４で該当するサイズの逆変換部に入力される。各逆変換部で変換して得られた変換ブロックの予測誤差はセレクタ２６９を介して端子２７０から出力される。
【０１０６】
図１６に戻り、予測の方法、予測のモード等の符号を予測部２０８は受け取り、復号する。これにより、イントラ予測であれば、フレームメモリ２１３から予測に用いる画素を予測モードで選択して予測データを再生する。動き補償であれば、動きベクトルの符号データを動きベクトル復号部２０９で復号し、この動きベクトルに基づいて、動き補償部２１０はフレームメモリ２１３から予測データを生成する。
【０１０７】
一方、分離部２０２で分離されたブロック分割を表す分割フラグはブロック分割情報復号部２１４で復号され、基本ブロック内の分割状況を取得する。
予測データは予測誤差加算部２１１に入力され、前述の予測誤差に加算され、再生画像を得る。得られた再生画像は基本ブロック合成部２１２によって前記基本ブロック内の分割状況に基づいて基本ブロックとして合成される。その後、基本ブロック単位でフレームメモリ２１３に格納される。再生画像は端子２１５を介して外部に出力される。
【０１０８】
図１８は、第３実施形態に係る画像復号装置における画像復号処理を示すフローチャートである。
ステップＳ２０１にて、フレームの最初のブロックの量子化パラメータの値ＱＰを復号する。
【０１０９】
ステップＳ２０２にて、復号された量子化パラメータＱＰの値がＱＬであれば、その変換のブロックサイズを最大３２画素×３２画素と設定する。また、入力された量子化パラメータＱＰの値がＱＳであれば、その変換のブロックサイズの最大を８画素×８画素と設定する。
【０１１０】
ステップＳ２０３にて、基本ブロック内のブロック分割情報を後述する方法で復号し、変換ブロックのサイズ、位置を獲得する。
ステップＳ２０４にて、イントラ予測や動き補償によって予測データを生成する。
【０１１１】
ステップＳ２０５にて、係数の符号データを復号し、予測誤差の量子化結果を取得する。
【０１１２】
ステップＳ２０６にて、得られた予測誤差の量子化結果を逆量子化して逆変換を施すことで予測誤差を再生する。再生した予測誤差をステップＳ２０４で生成された予測データを加算し、画像データを復元する。
【０１１３】
ステップＳ２０７にて、復元された変換ブロックの画像データはステップＳ２０２で取得したブロック分割情報に基づいて基本ブロックを合成する。
【０１１４】
ステップＳ２０８にて、基本ブロック内の全ての変換ブロックについて処理が終了したか否かを判定する。全ての変換ブロックの復号処理が終了していればステップＳ２０９に進む。そうでなければ次の変換ブロックの処理を行うため、ステップＳ２０４に進む。
【０１１５】
ステップＳ２０９にて、フレーム内の全ての基本ブロックについて処理が終了したか否かを判定する。全ての基本ブロックの復号処理が終了していればステップＳ２１１に進む。そうでなければ次の基本ブロックの処理を行うため、ステップＳ２０３に進む。
【０１１６】
ステップＳ２１０にて、復号された１フレーム分の画像データを出力する。
ステップＳ２１１にて、次に復号するフレームがあるか否かを判定する。全てのフレームの復号処理が終了していれば画像の復号処理を終了する。そうでなければ次のフレームの処理を行うため、ステップＳ２０１に進む。
【０１１７】
図１９に分割フラグの復号処理のフローチャートを示す。
ステップＳ２５１にて、入力された分割フラグが“０”か“１”かを判定し、“０”であれば、ステップＳ２５２に進み、そうでなければ、ステップＳ２５３に進む。
【０１１８】
ステップＳ２５２にて、基本ブロックは分割されず、３２画素×３２画素で変換ブロックの処理が行われるとし、分割フラグの復号処理を終了する。
【０１１９】
ステップＳ２５３にて、分割フラグが“１”を示しているので１６画素×１６画素の変換ブロックに分割されているとする。
【０１２０】
ステップＳ２５４にて、続いて入力された分割フラグが“０”か“１”かを判定し、“０”であれば、ステップＳ２５５に進み、そうでなければ、ステップＳ２５６に進む。
【０１２１】
ステップＳ２５５にて、１６画素×１６画素の変換ブロックは分割されず、１６画素×１６画素で変換ブロックの処理が行われるとし、ステップＳ２６１に進む。
【０１２２】
ステップＳ２５６にて、分割フラグが“１”を示しているので８画素×８画素の変換ブロックに分割されているとする。
ステップＳ２５７にて、続いて入力された分割フラグが“０”か“１”かを判定し、“０”であれば、ステップＳ２５８に進み、そうでなければ、ステップＳ２５９に進む。
【０１２３】
ステップＳ２５８にて、８画素×８画素の変換ブロックは分割されず、８画素×８画素で変換ブロックの処理が行われるとし、ステップＳ２６０に進む。
ステップＳ２５９にて、分割フラグが“１”を示しているので４画素×４画素の変換ブロックに分割されているとする。
ステップＳ２６０にて、８画素×８画素の変換ブロック内の４画素×４画素の変換ブロックの有無について復号処理が終了したか否かを判定する。終了していればステップＳ２６１に進み、そうでなければ次の８画素×８画素の変換ブロックの処理を行うためにステップＳ２５７に進む。
【０１２４】
ステップＳ２６１にて、１６画素×１６画素の変換ブロック内の８画素×８画素以下の変換ブロックの有無について復号処理が終了したか否かを判定する。終了していれば分割フラグの復号処理を終了する。そうでなければ次の１６画素×１６画素の変換ブロックの処理を行うためにステップＳ２５４に進む。
以上の構成と動作により、第１実施形態で生成されたビットストリームにおいて、最大変換ブロックサイズの設定を量子化パラメータから行うことで復号側でも演算量の削減や消費電力の低減が可能になる。
さらに、逆量子化部２０６、逆直交変換部２０７、動き補償部２１０においては、バッファのサイズを適応的に確保することにより、メモリ等のハードウェア資源を有効に活用できる。動き補償部２１０では最大変換ブロックサイズを取得することで、フレームメモリ２１３からの読み出しの時のバッファを適応的に確保する。
【０１２５】
＜実施形態４＞
図２０は、本発明の第４の実施形態に係る画像復号装置の構成を示すブロック図である。本実施形態では、第２実施形態で生成された符号化データの復号を例にとって説明する。
【０１２６】
図２０において、第３の実施形態の図１６と同じ機能を果たすブロックについては同じ番号を付与し、説明を省略する。
３０２は第１の実施形態の図１４に記載された多重化部１１２の逆の処理によって、それぞれの符号に分離する分離部である。３０４は分離部３０２で分離された最大変換ブロックサイズを示す符号を復号する最大変換ブロックサイズ復号部である。３１４はブロック分割情報復号部であり、最大変換ブロックサイズ復号部から最大変換ブロックサイズの情報を取得してブロック分割情報を復号する。
【０１２７】
上記の構成において、画像の復号処理の動作について説明する。
ビットストリームが端子２０１から入力され、分離部３０２に入力される。分離部３０２ではヘッダ情報、量子化パラメータの符号、最大変換ブロックサイズの符号、係数データの符号、動きベクトルの符号、ブロック分割情報の符号を入力し、それぞれを分離して後段に出力する。最大変換ブロックサイズの符号は最大変換ブロックサイズ復号部３０４に入力され、復号される。第２の実施形態ではそのサイズをインデックスとして符号化している。これを復号し、最大変換ブロックサイズが３２画素×３２画素／８画素×８画素のいずれかを取得する。取得した最大変換ブロックサイズの情報は関係する各部とブロック分割情報復号部３１４に入力する。
【０１２８】
ブロック分割情報復号部３１４は、最大変換ブロックサイズを最大変換ブロックサイズ復号部３０４から入力し、ブロック分割情報を表す分割フラグを分離部から入力する。
【０１２９】
図２１にその詳細な処理をフローチャートにして示す。図２１において、図１９と機能を果たすステップは同じ番号を付与し、その説明を省略する。
【０１３０】
ステップＳ３０１にて、最大変換ブロックサイズが１６画素×１６画素であるか否かを判定し、そうであればステップＳ２５４に進み、そうでなければステップＳ３０２に進む。
【０１３１】
ステップＳ３０２にて、最大変換ブロックサイズが８画素×８画素であるか否かを判定し、そうであればステップＳ２５７に進み、そうでなければステップＳ２５１に進む。
【０１３２】
以上の動作により、最大変換ブロックサイズが３２画素×３２画素であれば、ステップＳ２５１からステップＳ２６１の処理を行う。最大変換ブロックサイズが１６画素×１６画素であれば、ステップＳ２５４からステップＳ２６１の処理を行う。最大変換ブロックサイズが８画素×８画素であれば、ステップＳ２５７からステップＳ２６１の処理を行う。
【０１３３】
以上の構成と動作により、第２実施形態で生成されたビットストリームにおいて、最大変換ブロックサイズの設定を量子化パラメータから行うことで復号側でも演算量の削減や消費電力の低減が可能になる。すなわち、最大変換ブロックサイズが符号化されているため、第１実施形態の符号に比べ、短い符号に対しても同様の効果を得ることができる。
【０１３４】
なお、第２の実施形態において、最大変換ブロックサイズを用いて符号化するか否かをビットストリームの属性を表すヘッダ情報に含める方法について説明した。この符号に対しても図２２に示す構成をとることで復号できる。すなわち、ビットストリームに埋め込まれたプロファイルを識別する符号を分離器４０２が分離し、プロファイル復号部４５３に入力する。プロファイル復号部４５３は最大変換ブロックサイズ符号を用いるプロファイル（例えば拡張プロファイル）か符号化を行わない場合は基本プロファイルを復号する。拡張プロファイルであれば、最大変換ブロックサイズ復号部４０４を動作させて最大変換ブロックサイズを取得する。そうでなければ最大変換ブロックサイズを３２に固定して出力するように設定することで同様の効果を得ることができる。
【０１３５】
＜実施形態５＞
図２０は、本発明の第４の実施形態に係る画像復号装置の構成を示すブロック図である。本実施形態では、第２実施形態で生成された符号化データの復号を例にとって説明する。
【０１３６】
図２０において、第３の実施形態の図１６と同じ機能を果たすブロックについては同じ番号を付与し、説明を省略する。
【０１３７】
３０２は第１の実施形態の図１４に記載された多重化部１１２の逆の処理によって、それぞれの符号に分離する分離部である。３０４は分離部３０２で分離された最大変換ブロックサイズを示す符号を復号する最大変換ブロックサイズ復号部である。３１４はブロック分割情報復号部であり、最大変換ブロックサイズ復号部から最大変換ブロックサイズの情報を取得してブロック分割情報を復号する。
【０１３８】
上記の構成において、画像の復号処理の動作について説明する。
ビットストリームが端子２０１から入力され、分離部３０２に入力される。分離部３０２ではヘッダ情報、量子化パラメータの符号、最大変換ブロックサイズの符号、係数データの符号、動きベクトルの符号、ブロック分割情報の符号を入力し、それぞれを分離して後段に出力する。最大変換ブロックサイズの符号は最大変換ブロックサイズ復号部３０４に入力され、復号される。第２の実施形態ではそのサイズをインデックスとして符号化している。これを復号し、最大変換ブロックサイズが３２画素×３２画素／８画素×８画素のいずれかを取得する。取得した最大変換ブロックサイズの情報は関係する各部とブロック分割情報復号部３１４に入力する。
【０１３９】
ブロック分割情報復号部３１４は、最大変換ブロックサイズを最大変換ブロックサイズ復号部３０４から入力し、ブロック分割情報を表す分割フラグを分離部から入力する。
【０１４０】
図２１にその詳細な処理をフローチャートにして示す。図２１において、図１９と機能を果たすステップは同じ番号を付与し、その説明を省略する。
ステップＳ３０１にて、最大変換ブロックサイズが１６画素×１６画素であるか否かを判定し、そうであればステップＳ２５４に進み、そうでなければステップＳ３０２に進む。
【０１４１】
ステップＳ３０２にて、最大変換ブロックサイズが８画素×８画素であるか否かを判定し、そうであればステップＳ２５７に進み、そうでなければステップＳ２５１に進む。
【０１４２】
以上の動作により、最大変換ブロックサイズが３２画素×３２画素であれば、ステップＳ２５１からステップＳ２６１の処理を行う。最大変換ブロックサイズが１６画素×１６画素であれば、ステップＳ２５４からステップＳ２６１の処理を行う。最大変換ブロックサイズが８画素×８画素であれば、ステップＳ２５７からステップＳ２６１の処理を行う。
【０１４３】
以上の構成と動作により、第２実施形態で生成されたビットストリームにおいて、最大変換ブロックサイズの設定を量子化パラメータから行うことで復号側でも演算量の削減や消費電力の低減が可能になる。すなわち、最大変換ブロックサイズが符号化されているため、第１実施形態の符号に比べ、短い符号に対しても同様の効果を得ることができる。
【０１４４】
なお、第２の実施形態において、最大変換ブロックサイズを用いて符号化するか否かをビットストリームの属性を表すヘッダ情報に含める方法について説明した。この符号に対しても図２２に示す構成をとることで復号できる。すなわち、ビットストリームに埋め込まれたプロファイルを識別する符号を分離器４０２が分離し、プロファイル復号部４５３に入力する。プロファイル復号部４５３は最大変換ブロックサイズ符号を用いるプロファイル（例えば拡張プロファイル）か符号化を行わない場合は基本プロファイルを復号する。拡張プロファイルであれば、最大変換ブロックサイズ復号部４０４を動作させて最大変換ブロックサイズを取得する。そうでなければ最大変換ブロックサイズを３２に固定して出力するように設定することで同様の効果を得ることができる。
【０１４５】
＜実施形態６＞
上述した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、上述した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
【０１４６】
図２３は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１４７】
ＣＰＵ２３０１は、ＲＡＭ２３０２やＲＯＭ２３０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ２３０１は、上述した各処理部として機能することになる。
【０１４８】
ＲＡＭ２３０２は、外部記憶装置２３０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）２３０９を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ２３０２は、ＣＰＵ２３０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ２３０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
【０１４９】
ＲＯＭ２３０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部２３０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ２３０１に対して入力することができる。表示部２３０５は、ＣＰＵ２３０１による処理結果を表示する。また表示部２３０５は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
【０１５０】
外部記憶装置２３０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置２３０６には、ＯＳ（オペレーティングシステム）や、上述した各部の機能をＣＰＵ２３０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置２３０６には、処理対象としての各画像データが保存されていても良い。
【０１５１】
外部記憶装置２３０６に保存されているコンピュータプログラムやデータは、ＣＰＵ２３０１による制御に従って適宜ＲＡＭ２３０２にロードされ、ＣＰＵ２３０１による処理対象となる。Ｉ／Ｆ２３０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ２３０７を介して様々な情報を取得したり、送出したりすることができる。２３０８は上述の各部を繋ぐバスである。
【０１５２】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ２３０１が中心となってその制御を行う。
【０１５３】
＜その他の実施形態＞
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１５４】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１５５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
2012147290.tif 000003
【図２】
2012147290.tif 000004
【図３】
2012147290.tif 000005
【図４】
2012147290.tif 000006
【図５】
2012147290.tif 000007
【図６】
2012147290.tif 000008
【図７】
2012147290.tif 000009
【図８】
2012147290.tif 000010
【図９】
2012147290.tif 000011
【図１０】
2012147290.tif 000012
【図１１】
2012147290.tif 000013
【図１２】
2012147290.tif 000014
【図１３】
2012147290.tif 000015
【図１４】
2012147290.tif 000016
【図１５】
2012147290.tif 000017
【図１６】
2012147290.tif 000018
【図１７】
2012147290.tif 000019
【図１８】
2012147290.tif 000020
【図１９】
2012147290.tif 000021
【図２０】
2012147290.tif 000022
【図２１】
2012147290.tif 000023
【図２２】
2012147290.tif 000024
【図２３】
2012147290.tif 000025