(57)【要約】【課題】より効率よくビットストリームの復号処理を行うことができるようにする。【解決手段】ビデオエンコーダ１０１が画像データを符号化し、符号化データのビットストリームを生成するとともに、マクロブロック毎に統計情報を算出する。グループ割り当て部１１１は、そのマクロブロック毎の統計情報に基づいて各マクロブロックをグループ分けすることにより、復号処理時におけるデコーダへのビットストリームの分配方法を決定する。多重化部１１２は、グループ割り当て部１１１が生成したそのグループ分けを示す処理量マップの情報をビットストリームの所定の位置に多重化して出力する。本発明は、例えば、符号化装置に適用することができる。【選択図】図２
2009124209.tif 000002
【特許請求の範囲】
【請求項１】
画像データが符号化されて得られた符号化データを処理する情報処理装置において、
互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当てるグループ割り当て手段と、
前記符号化処理単位の整数倍毎に、前記グループ割り当て手段により割り当てられたグループを示す情報を、前記符号化データのビットストリームに多重化する多重化手段と
を備える情報処理装置。
【請求項２】
前記多重化手段は、１ピクチャ分の符号化データに対して割り当てられるグループの数を示す情報を、前記ビットストリームにさらに多重化する
請求項１に記載の情報処理装置。
【請求項３】
前記多重化手段は、前記グループ割り当て手段による前記符号化データの前記グループへの割り当てが、前記統計情報に基づいて前記複数の復号処理のそれぞれの処理時間の偏りが小さくなるように行われたことを示す情報を、前記ビットストリームにさらに多重化する
請求項１に記載の情報処理装置。
【請求項４】
前記多重化手段は、１ピクチャ分の符号化データに対して、前記グループ割り当て手段が割り当てを行う回数を示す情報を、前記ビットストリームにさらに多重化する
請求項１に記載の情報処理装置。
【請求項５】
前記統計情報は、前記符号化データの、前記符号化処理単位の整数倍毎の符号量である
請求項１に記載の情報処理装置。
【請求項６】
前記統計情報は、前記符号化データの前記符号化処理単位の整数倍毎の、映像の動きの速さおよび絵柄の複雑さを表わす情報、または、映像の空間的な平坦さを示す情報および映像の複雑さを示す情報である
請求項１に記載の情報処理装置。
【請求項７】
前記画像データを符号化する符号化手段と、
前記符号化手段による前記画像データの符号化に関する前記統計情報を生成する統計情報生成手段と
をさらに備え、
前記グループ割り当て手段は、前記符号化処理単位の整数倍毎に、前記符号化手段による符号化により得られた前記符号化データを、前記統計情報生成手段により生成された前記統計情報に基づいて、複数の前記グループのいずれかに割り当てる
請求項１に記載の情報処理装置。
【請求項８】
前記符号化手段は、前記画像データを前記符号化処理単位毎に符号化する際に、ピクチャ内の他の画素値に基づく予測を行わずに符号化を行う
請求項７に記載の情報処理装置。
【請求項９】
前記符号化データおよび前記符号化データの前記統計情報を記憶する記憶手段をさらに備え、
前記グループ割り当て手段は、前記記憶手段より読み出された前記符号化データを、前記記憶手段より読み出された前記統計情報に基づいて、符号化処理単位の整数倍毎に、複数の前記グループのいずれかに割り当て、
前記多重化手段は、前記符号化データの符号化処理単位の整数倍毎に、前記グループ割り当て手段により割り当てられたグループを示す情報を、前記記憶手段より読み出された前記符号化データのビットストリームに多重化する
請求項１に記載の情報処理装置。
【請求項１０】
画像データが符号化されて得られた符号化データを処理する情報処理装置の情報処理方法において、
グループ割り当て手段が、互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当て、
多重化手段が、前記符号化処理単位の整数倍毎に、割り当てられたグループを示す情報を、前記符号化データのビットストリームに多重化する
情報処理方法。
【請求項１１】
画像データが符号化されて得られた符号化データを処理する情報処理装置において、
互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当てるグループ割り当て手段と、
前記グループ割り当て手段によるグループの割り当てに基づいて選択した方法で前記画像データを前記符号化処理単位毎に符号化する第１の符号化手段と、
前記符号化処理単位の整数倍毎に、前記グループ割り当て手段により割り当てられたグループを示す情報を、前記第１の符号化手段による符号化により得られた前記符号化データのビットストリームに多重化する多重化手段と
を備える情報処理装置。
【請求項１２】
前記第１の符号化手段は、処理対象符号化データの左または上に隣接する前記符号化処理単位の符号化データが前記処理対象符号化データと同一のグループに属する場合、前記処理対象符号化データの左または上に隣接する前記符号化処理単位の符号化データの画素値を参照して予測を行い、得られた予測値を用いて前記処理対象符号化データの符号化を行う
請求項１１に記載の情報処理装置。
【請求項１３】
前記第１の符号化手段は、処理対象符号化データの左または上に隣接する前記符号化処理単位の符号化データが前記処理対象符号化データと異なるグループに属する場合、前記処理対象符号化データの左または上に隣接する前記符号化処理単位の符号化データの画素値に基づく予測を行わずに、前記処理対象符号化データの符号化を行う
請求項１１に記載の情報処理装置。
【請求項１４】
前記統計情報は、前記符号化データの、前記符号化処理単位の整数倍毎の符号量である
請求項１１に記載の情報処理装置。
【請求項１５】
前記画像データを符号化する第２の符号化手段と、
前記第２の符号化手段による前記画像データの符号化に関する前記統計情報を生成する統計情報生成手段と
をさらに備え、
前記グループ割り当て手段は、前記符号化処理単位の整数倍毎に、前記第１の符号化手段による符号化により得られた前記符号化データを、前記統計情報生成手段により生成された前記統計情報に基づいて、複数の前記グループのいずれかに割り当てる
請求項１１に記載の情報処理装置。
【請求項１６】
画像データが符号化されて得られた符号化データを処理する情報処理装置の情報処理方法において、
グループ割り当て手段が、互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当て、
符号化手段が、前記グループの割り当てに基づいて選択した方法で前記画像データを前記符号化処理単位毎に符号化し、
多重化手段が、前記符号化処理単位の整数倍毎に、割り当てられたグループを示す情報を、符号化により得られた前記符号化データのビットストリームに多重化する
情報処理方法。
【請求項１７】
画像データが符号化されて得られた符号化データを処理する情報処理装置において、
前記符号化データから、符号化処理単位の整数倍毎に、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれのグループに割り当てられるかを示す情報を取得する取得手段と、
前記符号化データを復号する複数の復号手段と、
前記取得手段により取得されたグループを示す情報に従って、前記符号化データを複数の前記復号手段に割り当てて復号するように、前記復号手段を制御する復号制御手段と
を備える情報処理装置。
【請求項１８】
画像データが符号化されて得られた符号化データを処理する情報処理装置の情報処理方法において、
取得手段が、前記符号化データから、符号化処理単位の整数倍毎に、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれのグループに割り当てられるかを示す情報を取得し、
複数の復号手段がそれぞれ前記復号処理を行い、前記符号化データを復号し、
復号制御手段が、取得されたグループを示す情報に従って前記符号化データをグループ毎に各復号処理に割り当て、復号させる
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法に関し、特に、より効率よくビットストリームの復号処理を行うことができるようにした情報処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する方式（例えば、MPEG（Moving Picture Experts Group））に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、MPEG2（ISO（International Organization for Standardization）/IEC（International Electrotechnical Commission） 13818-2）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。このMPEG2圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Mbps、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Mbpsの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
更に、近年、AVC（Advanced Video Coding）（MPEG4 part10、ISO/IEC 14496-10 | ITU-T（International Telecommunication Union - Telecommunication Standardization Sector） H.264）（以下、AVC/H.264と称する）という標準の規格化が行われている。ITU-T と ISO/IEC の間で共同でビデオ符号化の標準化を行う、JVT（Joint Video Team）という団体を設立し、この団体で規格化を進めている。H.264はMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化および復号により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。
【０００６】
このAVC/H.264を含む、JVTで標準化が行われている符号化方式（以下JVT Codec）は、離散コサイン変換の変換方法が４×４ブロックサイズの整数係数変換であったり、動き補償の際のブロックサイズが可変であったりするなど詳細は異なるが、基本的な方式はMPEG2やMPEG4の符号化方式と同様である。
【０００７】
AVC/H.264は、MPEG2やMPEG4といった既存のビデオ符号化方式と比較して、倍以上の高い圧縮効率（符号化効率）を実現するが、その分、復号処理の処理量も飛躍的に増加する。また、画像の高画質化による画像データのデータ量の増大に伴い、復号処理の処理量はさらに増加する。しかしながら、例えば、伝送されてきた符号化データのビットストリームを順次復号する場合や、記録媒体に記録されている符号化データを読み出して復号し、画像を再生する場合のように、復号処理による遅延の許容範囲が少なく、高速に復号処理を行うことが求められる場合がある。
【０００８】
そこで、復号処理を効率よく行うために、符号化データのビットストリームを複数に分割し、複数のデコーダ（プロセッサやLSI（Large Scale Integration））を用いて並列に復号処理を行うことにより、復号処理の高速化を実現する方法がある（例えば、特許文献１参照）。
【０００９】
特許文献１に記載の方法では、ビットストリームをマクロブロックと称されるデータ単位で各プロセッサに分配し、並列に符号化処理や復号処理を行わせる。
【００１０】
また、この他にも、例えば、図１に示されるように複数のマクロブロックからなるスライスと称されるデータ単位毎にビットストリームを分割し、復号処理を並列に実行させる方法もある。図１の例の場合、１ピクチャ分のビットストリームが、６つのスライス（スライス１乃至スライス６）に分割され、３つのプロセッサ（プロセッサ１乃至プロセッサ３）に２つずつ分配される。各プロセッサは、同時並行的に割り当てられたスライスを復号する。
【００１１】
【特許文献１】特開２０００−３００４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
このように、複数のプロセッサを用いて復号処理を行う場合、処理を効率よく行うために、並列に行われる各処理の処理時間を均一化することが望ましい。例えば各プロセッサの処理能力が互いに同一であるとすると、各プロセッサの処理量が互いに同一となるように、ビットストリームを分配するのが望ましい。
【００１３】
しかしながら、復号処理の処理量は、符号量や符号化の難易度などによって変化するが、ピクチャ内においてこれらが均一であるとは限らず、画像の内容によってはピクチャ内で大きく偏りが生じる場合がある。つまり、マクロブロック単位やスライス単位のように、ビットストリームを、画像における位置によって分割する場合、各ビットストリームの復号処理の処理量を調整することが困難であり、各プロセッサの負荷に無秩序な偏りが生じ、不要な待機時間が発生する等、処理効率の低下を招く恐れがあった。
【００１４】
本発明は、このような状況に鑑みて提案されたものであり、ビットストリームを復号処理の処理量に基づいて分割することにより、より効率よくビットストリームの復号処理を行うことができるようにするものである。
【課題を解決するための手段】
【００１５】
本発明の一側面は、画像データが符号化されて得られた符号化データを処理する情報処理装置において、互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当てるグループ割り当て手段と、前記符号化処理単位の整数倍毎に、前記グループ割り当て手段により割り当てられたグループを示す情報を、前記符号化データのビットストリームに多重化する多重化手段とを備える情報処理装置である。
【００１６】
前記多重化手段は、１ピクチャ分の符号化データに対して割り当てられるグループの数を示す情報を、前記ビットストリームにさらに多重化することができる。
【００１７】
前記多重化手段は、前記グループ割り当て手段による前記符号化データの前記グループへの割り当てが、前記統計情報に基づいて前記複数の復号処理のそれぞれの処理時間の偏りが小さくなるように行われたことを示す情報を、前記ビットストリームにさらに多重化することができる。
【００１８】
前記多重化手段は、１ピクチャ分の符号化データに対して、前記グループ割り当て手段が割り当てを行う回数を示す情報を、前記ビットストリームにさらに多重化することができる。
【００１９】
前記統計情報は、前記符号化データの、前記符号化処理単位の整数倍毎の符号量であるようにすることができる。
【００２０】
前記統計情報は、前記符号化データの前記符号化処理単位の整数倍毎の、映像の動きの速さおよび絵柄の複雑さを表わす情報、または、映像の空間的な平坦さを示す情報および映像の複雑さを示す情報であるようにすることができる。
【００２１】
前記画像データを符号化する符号化手段と、前記符号化手段による前記画像データの符号化に関する前記統計情報を生成する統計情報生成手段とをさらに備え、前記グループ割り当て手段は、前記符号化処理単位の整数倍毎に、前記符号化手段による符号化により得られた前記符号化データを、前記統計情報生成手段により生成された前記統計情報に基づいて、複数の前記グループのいずれかに割り当てることができる。
【００２２】
前記符号化手段は、前記画像データを前記符号化処理単位毎に符号化する際に、ピクチャ内の他の画素値に基づく予測を行わずに符号化を行うことができる。
【００２３】
前記符号化データおよび前記符号化データの前記統計情報を記憶する記憶手段をさらに備え、前記グループ割り当て手段は、前記記憶手段より読み出された前記符号化データを、前記記憶手段より読み出された前記統計情報に基づいて、符号化処理単位の整数倍毎に、複数の前記グループのいずれかに割り当て、前記多重化手段は、前記符号化データの符号化処理単位の整数倍毎に、前記グループ割り当て手段により割り当てられたグループを示す情報を、前記記憶手段より読み出された前記符号化データのビットストリームに多重化することができる。
【００２４】
本発明の一側面は、画像データが符号化されて得られた符号化データを処理する情報処理装置の情報処理方法において、グループ割り当て手段が、互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当て、多重化手段が、前記符号化処理単位の整数倍毎に、割り当てられたグループを示す情報を、前記符号化データのビットストリームに多重化する情報処理方法である。
【００２５】
本発明の他の側面は、画像データが符号化されて得られた符号化データを処理する情報処理装置において、互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当てるグループ割り当て手段と、前記グループ割り当て手段によるグループの割り当てに基づいて選択した方法で前記画像データを前記符号化処理単位毎に符号化する第１の符号化手段と、前記符号化処理単位の整数倍毎に、前記グループ割り当て手段により割り当てられたグループを示す情報を、前記第１の符号化手段による符号化により得られた前記符号化データのビットストリームに多重化する多重化手段とを備える情報処理装置である。
【００２６】
前記第１の符号化手段は、処理対象符号化データの左または上に隣接する前記符号化処理単位の符号化データが前記処理対象符号化データと同一のグループに属する場合、前記処理対象符号化データの左または上に隣接する前記符号化処理単位の符号化データの画素値を参照して予測を行い、得られた予測値を用いて前記処理対象符号化データの符号化を行うことができる。
【００２７】
前記第１の符号化手段は、処理対象符号化データの左または上に隣接する前記符号化処理単位の符号化データが前記処理対象符号化データと異なるグループに属する場合、前記処理対象符号化データの左または上に隣接する前記符号化処理単位の符号化データの画素値に基づく予測を行わずに、前記処理対象符号化データの符号化を行うことができる。
【００２８】
前記統計情報は、前記符号化データの、前記符号化処理単位の整数倍毎の符号量であるようにすることができる。
【００２９】
前記画像データを符号化する第２の符号化手段と、前記第２の符号化手段による前記画像データの符号化に関する前記統計情報を生成する統計情報生成手段とをさらに備え、前記グループ割り当て手段は、前記符号化処理単位の整数倍毎に、前記第１の符号化手段による符号化により得られた前記符号化データを、前記統計情報生成手段により生成された前記統計情報に基づいて、複数の前記グループのいずれかに割り当てることができる。
【００３０】
本発明の他の側面は、画像データが符号化されて得られた符号化データを処理する情報処理装置の情報処理方法において、グループ割り当て手段が、互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当て、符号化手段が、前記グループの割り当てに基づいて選択した方法で前記画像データを前記符号化処理単位毎に符号化し、多重化手段が、前記符号化処理単位の整数倍毎に、割り当てられたグループを示す情報を、符号化により得られた前記符号化データのビットストリームに多重化する情報処理方法である。
【００３１】
本発明の他の側面は、画像データが符号化されて得られた符号化データを処理する情報処理装置において、前記符号化データから、符号化処理単位の整数倍毎に、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれのグループに割り当てられるかを示す情報を取得する取得手段と、前記符号化データを復号する複数の復号手段と、前記取得手段により取得されたグループを示す情報に従って、前記符号化データを複数の前記復号手段に割り当てて復号するように、前記復号手段を制御する復号制御手段とを備える情報処理装置である。
【００３２】
本発明の他の側面は、画像データが符号化されて得られた符号化データを処理する情報処理装置の情報処理方法において、取得手段が、前記符号化データから、符号化処理単位の整数倍毎に、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれのグループに割り当てられるかを示す情報を取得し、複数の復号手段がそれぞれ前記復号処理を行い、前記符号化データを復号し、復号制御手段が、取得されたグループを示す情報に従って前記符号化データをグループ毎に各復号処理に割り当て、復号させる情報処理方法である。
【００３３】
本発明の一側面においては、画像データが符号化されて得られた符号化データを処理する情報処理装置において、グループ割り当て手段が、互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当て、多重化手段が、前記符号化処理単位の整数倍毎に、割り当てられたグループを示す情報を、前記符号化データのビットストリームに多重化する。
【００３４】
本発明の他の側面においては、画像データが符号化されて得られた符号化データを処理する情報処理装置において、グループ割り当て手段が、互いに並行して実行される複数の復号処理により復号される符号化データを、符号化処理単位の整数倍毎に、前記画像データの符号化に関する統計情報に基づいて、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれかに割り当て、第１の符号化手段が、前記グループの割り当てに基づいて選択した方法で前記画像データを前記符号化処理単位毎に符号化し、多重化手段が、前記符号化処理単位の整数倍毎に、割り当てられたグループを示す情報を、符号化により得られた前記符号化データのビットストリームに多重化する。
【００３５】
本発明の他の側面においては、画像データが符号化されて得られた符号化データを処理する情報処理装置において、取得手段が、前記符号化データから、符号化処理単位の整数倍毎に、互いに同一の復号処理に割り当てる符号化データ同士をグループ化した複数のグループのいずれのグループに割り当てられるかを示す情報を取得し、複数の復号手段がそれぞれ前記復号処理を行い、前記符号化データを復号し、復号制御手段が、取得されたグループを示す情報に従って前記符号化データをグループ毎に各復号処理に割り当て、復号させる。
【００３６】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、１つの装置を構成している内部ブロックどうしであっても良い。
【００３７】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【発明の効果】
【００３８】
本発明によれば、画像データを処理することができる。特に、より効率よくビットストリームの復号処理を行うことができるようにすることができる。
【発明を実施するための最良の形態】
【００３９】
図２は、本発明を適用した符号化装置の主な構成例を示すブロック図である。
【００４０】
図２に示される符号化装置１００は、画像データを符号化し、生成した符号化データをビットストリームとして出力する装置である。符号化装置１００は、ビデオエンコーダ１０１、グループ化処理部１０２、およびバッファ１０３を有する。
【００４１】
ビデオエンコーダ１０１は、入力された画像データ（入力画像）をAVC/H.264方式により符号化する。詳細については後述するが、ビデオエンコーダ１０１は、入力された画像データをピクチャ毎に整列し、さらに、各ピクチャをマクロブロック毎に符号化する。図３に示されるように、１ピクチャ分のデータを示すピクチャ１２１は、複数のマクロブロックにより構成される。各マクロブロックは、例えば、４×４画素、４×８画素、８×４画素、８×８画素、８×１６画素、１６×８画素、または１６画素×１６画素のように複数の画素よりなる。
【００４２】
図３において、ピクチャ１２１は、１ピクチャ分の画像データを示しており、その内部の各四角がそれぞれマクロブロックを示している。なお、各マクロブロックの数字は、それぞれの識別情報（マクロブロックアドレス）の例を模式的に表わしたものである。マクロブロックアドレスは、左上端のマクロブロックからラスタ順に、自然数が昇順に割り当てられる。ビデオエンコーダ１０１は、ピクチャ１２１を、このマクロブロックアドレス順に、マクロブロック毎に符号化する。
【００４３】
ビデオエンコーダ１０１は、画像データを符号化して得られた符号化データのビットストリームをグループ化処理部１０２の多重化部１１２に供給する。また、ビデオエンコーダ１０１は、画像データの符号化の際に、その符号化に関する所定の統計情報（例えば、符号化方式や符号化処理時間等の符号化処理内容に関する情報、または、符号化前の画像データ、符号化処理中に生成される中間データ、および符号化により得られる符号化データを含む各種データに関する情報等の、符号化に関する任意の情報）を算出し、その統計情報を、その統計情報が対応するビットストリームを識別可能な状態でグループ化処理部１０２のグループ割り当て部１１１に供給する。例えば、ビデオエンコーダ１０１は、統計情報を、符号化処理単位であるマクロブロック毎に算出し、その統計情報が対応するマクロブロックの識別情報（マクロブロックアドレス）と関連付けて、グループ化処理部１０２のグループ割り当て部１１１に供給する。
【００４４】
入力画像の内容が、例えば通常の風景画像のように、フレーム内において均一な絵柄でない場合、符号化の難しさや発生符号量はピクチャ内において均一にならない。
【００４５】
図４Ａは、ピクチャ１２１内のマクロブロック毎の発生符号量の例を模式的に示したものである。ピクチャ１２１内の各四角は、マクロブロックを示している。マクロブロック１３１−１−１乃至マクロブロック１３１−６−１は、ピクチャ１２１内の最も左の列のマクロブロックを示しており、マクロブロック１３１−１−１乃至マクロブロック１３１−１−４は、ピクチャ１２１内の最も上の段のマクロブロックを示している。つまり、１３１の次の番号がそのマクロブロックの上からの位置を示しており、その次の番号がそのマクロブロックの左からの位置を示している。例えば、マクロブロック１３１−２−１は、上から２個目で左から１個目（最も左側）のマクロブロックを示している。また、図４Ａにおいて符号の図示を省略しているマクロブロックも同様に表わすことができる。例えば、上から２個目、左から２個目のマクロブロックをマクロブロック１３１−２−２と称し、ピクチャ１２１の右下端のマクロブロックを、マクロブロック１３１−６−４と称する。なお、以下において、どのマクロブロックであるかを区別する必要が無い場合、単にマクロブロック１３１と称することもある。また、図４Ａにおいては、１ピクチャが２４個のマクロブロックにより構成されるように示されているが、１ピクチャを構成するマクロブロックの数は任意である（ピクチャサイズやマクロブロックサイズに依存する）。
【００４６】
各マクロブロック１３１の模様は発生符号量の例を表わしている。模様の違いは、図４Ｂに示されるように、発生符号量の違いを示す。図４Ｂに示されるように、右上左下の斜線模様のマクロブロック１３１Ａの符号量が最も少なく、右下左上の斜線模様のマクロブロック１３１Ｂの符号量がその次に少なく、ハッチ模様のマクロブロック１３１Ｃの符号量がその次に少なく、縦横の格子模様のマクロブロック１３１Ｄの符号量が最も多い。
【００４７】
図２のビデオエンコーダ１０１は、このようなマクロブロック（符号化処理単位）毎の発生符号量を算出し、それを統計情報としてマクロブロックアドレス（位置識別情報）と対応させてグループ化処理部１０２のグループ割り当て部１１１に供給する。
【００４８】
グループ化処理部１０２は、ビデオエンコーダ１０１より出力されたビットストリームを、そのビットストリームの復号処理の処理量に応じて分割し、複数のグループにグループ化する。グループ化処理部１０２は、グループ割り当て部１１１および多重化部１１２を有する。
【００４９】
グループ割り当て部１１１は、ビデオエンコーダ１０１より供給された統計情報およびマクロブロックアドレスから各マクロブロックの（符号化処理単位毎に）復号処理の処理量を推定し、その推定される処理量に基づいて、各マクロブロックに対して予め定められた所定の数のグループのうちいずれかを割り当てる（符号化データを符号化処理単位毎に統計情報に応じてグループ分けを行う）。
【００５０】
発生符号量が多ければ、その分復号時において処理するデータ量が増大するので、復号処理の処理量の増大が推測される。つまり、発生符号量から復号処理の処理量を推定することができる。例えば、図４Ａに示されるように、１ピクチャ内のマクロブロック毎の発生符号量に偏りが生じ、均一にならない場合、各マクロブロックの復号処理の処理量も偏りが生じ、均一にならないと推測される。
【００５１】
ビットストリームを復号する際に、より高速に復号処理を行うために、互いに同一の処理能力を有する複数のデコーダを用い、ビットストリームをマクロブロック毎にマクロブロックアドレス順に各デコーダに分配し、各デコーダにおいて並列に復号処理させるとする。このとき、上述したように各マクロブロックの復号処理の処理量が均一でないと、各デコーダの処理量に偏りが生じることが推測される。各デコーダの処理量（復号処理時間）に偏りが生じる場合、不要な待機時間が発生し、復号処理の効率が不要に低下する恐れがある。
【００５２】
なお、図４Ａにおいては、発生符号量を４段階で示しているが、発生符号量の分解能は任意である。実際には、より高い分解能で示される場合が多く、各マクロブロックの発生符号量が均一になる可能性はより低くなる。
【００５３】
そこで、グループ割り当て部１１１は、復号処理の処理効率を向上させるために、各デコーダの処理量（復号処理時間）が同程度となるように、つまり、各デコーダの処理量（復号処理時間）の偏りがなるべく小さくなるように、各ビデオエンコーダ１０１より供給されるマクロブロック毎の発生符号量（符号化処理単位毎の統計情報）に基づいて、デコーダへのマクロブロックの分配方法を制御する。具体的には、グループ割り当て部１１１は、各マクロブロックを、分配先のデコーダ毎にグループ化する。
【００５４】
図５は、図４に示されるピクチャ１２１の各マクロブロック１３１をグループ化した例を示している。図５においては、各マクロブロックが３つのグループに分けられている。つまり、実線の枠１４１で囲まれるマクロブロック１３１（マクロブロック１３１−１−１、マクロブロック１３１−１−２、マクロブロック１３１−１−３、マクロブロック１３１−１−４、マクロブロック１３１−２−３、マクロブロック１３１−２−４、およびマクロブロック１３１−３−４）と、実線の枠１４２で囲まれるマクロブロック１３１（マクロブロック１３１−６−４）が、第１のグループに割り当てられ、点線の枠１４３で囲まれるマクロブロック１３１（マクロブロック１３１−２−１、マクロブロック１３１−３−１、マクロブロック１３１−４−１、マクロブロック１３１−５−１、マクロブロック１３１−５−２、マクロブロック１３１−６−１、およびマクロブロック１３１−６−２）と、点線の枠１４４で囲まれるマクロブロック１３１（マクロブロック１３１−５−４）が、第２のグループに割り当てられ、一点鎖線の枠１４５で囲まれるマクロブロック１３１（マクロブロック１３１−２−２、マクロブロック１３１−３−２、マクロブロック１３１−３−３、マクロブロック１３１−４−２、マクロブロック１３１−４−３、マクロブロック１３１−４−４、マクロブロック１３１−５−３、およびマクロブロック１３１−６−３）が、第３のグループに割り当てられている。
【００５５】
各グループは、互いに同一のデコーダに割り当てられるマクロブロックの集合である。各グループは、復号処理に利用される複数のデコーダのそれぞれに対応している。例えば、図５の場合、３つのデコーダが用いられて復号処理が行われる。グループ割り当て部１１１は、各マクロブロックの発生符号量に基づいて復号処理の処理量（処理時間）を推定し、各グループの発生符号量（復号処理時間）が互いに同程度となるように、すなわち、なるべく偏りが小さくなるように、各マクロブロックをグループ分けする。
【００５６】
なお、グループ割り当て部１１１は、復号処理に利用されるデコーダについて、数や復号処理能力等の情報を予め把握しておく必要がある。
【００５７】
グループ割り当て部１１１は、このようなグループ分けを行い、そのマクロブロックとグループの関係（どのマクロブロックがどのグループに属するか）を示す情報である処理量マップを作成する。図６は、処理量マップの例を模式的に示す図である。図６において、ピクチャ１２１内の各四角はマクロブロックを示しており、番号は、そのマクロブロックが属するグループを示している。
【００５８】
マクロブロックをその位置（マクロブロックアドレス）に基づいて分配する場合、ピクチャを水平方向に分ける等、各グループが矩形となるようにマクロブロックがグループ化される場合が多いが、グループ割り当て部１１１は、図６に示されるように、マクロブロックの位置とは無関係にグループ化を行う。従って、図５や図６の例のように、各グループに属するマクロブロックが互いに隣接する（連続する）とは限らず、互いに離れた場所に位置するマクロブロックが１つのグループに割り当てられる場合もある。
【００５９】
グループ割り当て部１１１は、作成した処理量マップを多重化部１１２に供給する。多重化部１１２は、ビットストリームに処理量マップを多重化する。つまり、多重化部１１２は、ビデオエンコーダ１０１より供給されるビットストリームの所定の位置に、グループ割り当て部１１１より供給された処理量マップと等価の情報を埋め込む。
【００６０】
処理量マップのビットストリーム中でのシンタクスの例を図７に示す。
【００６１】
上から１行目の「num_slice_groups_minus1」は、各フレーム（ピクチャ）に存在するグループの数を示すフラグである。このグループの数は、復号処理に使用されるデコーダの数を表わす。多重化部１１２は、１ピクチャ分の符号化データに対して割り当てられるグループの数を示す値（グループの数から１を引いた値（num_slice_groups_minus1））を、ビットストリーム中の所定の位置に記録する。
【００６２】
上から２行目の「if（num_slice_groups_minus1>０）{」は、ピクチャ内に存在するグループ数に相当する値が０でない場合（２つ以上のグループが存在する場合）、３行目乃至９行目を実行することが示されている。
【００６３】
上から３行目の「slice_group_map_type」は、上から１行目において数が指定されるグループの種類を示すフラグである。この値が例えば「７」である場合、そのグループが処理量マップのグループであること（各マクロブロックのグループへの割り当てが、統計情報に基づいて複数の復号処理のそれぞれの処理時間の偏りが小さくなるように行われたこと）を示す。多重化部１１２は、このグループの種類を示す値（slice_group_map_type）をビットストリーム中の所定の位置に記録する。
【００６４】
上から５行目の「if（slice_group_map_type == 7）{」は、グループの種類を示す値が７である場合（処理量マップのグループである場合）、６行目乃至８行目を実行することが示されている。
【００６５】
上から６行目の「pic_size_in_map_units_minus1」は、１ピクチャ分の処理量マップの大きさを示すフラグである。処理量マップの大きさは、すなわち、１ピクチャ分の符号化データに対して、グループの割り当てを行う回数に相当する。つまり、上述したようにマクロブロック毎にグループを指定する場合、この値は１ピクチャのマクロブロックの数に対応する。多重化部１１２は、１ピクチャのマクロブロック数から１を引いた値を、１ピクチャ分の処理量マップの大きさに相当する値（pic_size_in_map_units_minus1）としてビットストリーム中の所定の位置に記録する。
【００６６】
上から８行目の「slice_group_id[i]」は、マクロブロックアドレス「i」のマクロブロックがどのグループに属するか（つまり、どのグループに割り当てられたか）を示すID情報である。上から７行目に「for（i=0;i<=pic_size_in_map_units_minus1;i++）」とあるように、多重化部１１２は、ピクチャ毎に各マクロブロックが割り当てられたグループのID情報（slice_group_id[i]）を、それぞれ、ビットストリーム中の所定の位置に記録する。
【００６７】
図２の多重化部１１２は、以上のようなシンタクスに基づき、処理量マップを、上述したようなフォーマットで、ビットストリームの、復号の際にその情報の対象となるピクチャよりも前に処理される位置に埋め込む。つまり、実際には、多重化部１１２は、処理量マップそのものではなく、処理量マップと等価の情報（処理量マップデータと称する）をビットストリームに埋め込む。多重化部１１２は、処理量マップが多重化されたビットストリームをバッファ１０３に出力する。
【００６８】
バッファ１０３は、例えば半導体メモリ等の記憶デバイスを有し、多重化部１１２より供給されるビットストリームを一時的に蓄積し、その蓄積しているビットストリームを所定のタイミングで符号化装置１００の外部に出力する。
【００６９】
次に、各部の詳細について説明する。図８は、図２のビデオエンコーダ１０１の詳細な構成例を示すブロック図である。
【００７０】
図８において、ビデオエンコーダ１０１は、A/D（Analog / Digital）変換部１６１、画像並べ替えバッファ１６２、加算器１６３、直交変換部１６４、量子化部１６５、可逆符号化部１６６、蓄積バッファ１６７、レート制御部１６８、逆量子化部１６９、逆直交変換部１７０、加算器１７１、フレームメモリ１７２、動き予測・動き補償部１７３、および統計情報生成部１８１を有する。
【００７１】
外部より入力された画像信号（入力信号）は、まず、A/D変換部１６１においてデジタルデータに変換される。なお、入力信号がデジタルの画像データである場合、A/D変換部１６１は省略可能である。A/D変換部１６１は、入力信号を変換したデジタル画像データを画像並べ替えバッファ１６２に供給する。画像並べ替えバッファ１６２は、出力となる画像圧縮情報のGOP（Group of Pictures）構造に応じ、フレームの並べ替えを行う。画面並べ替えバッファ１６２においてフレームが並べ替えられた画像データは、加算器１６３に供給される。
【００７２】
イントラ符号化が行われる画像に関しては、加算器１６３は、入力されたフレーム全体の画像データをそのまま、直交変換部１６４に供給する。直交変換部１６４は、入力された画像データに対して、そのマクロブロック毎に、離散コサイン変換、またはカルーネン・レーベ変換等の直交変換を施し、得られた直交変換係数を量子化部１６５に供給する。なお、この直交変換処理を行うデータ単位（直交変換処理単位）を符号化処理単位とする。すなわち、この場合、符号化処理単位はマクロブロックとなる。量子化部１６５は、供給された直交変換係数に対して量子化を行い、それを可逆符号化部１６６に供給する。可逆符号化部１６６は、その量子化された直交変換係数に対して、可変長符号化、または算術符号化等の可逆符号化を施し、得られた符号化データを蓄積バッファ１６７に供給し、一時的に蓄積させる。蓄積バッファ１６７は、その符号化データを所定のタイミングでビットストリームとして出力し、多重化部１１２（図２）に供給する。
【００７３】
なお、蓄積バッファ１６７は、蓄積する符号化データの符号量、すなわち、可逆符号化部１６６の可逆符号化における発生符号量についての情報をレート制御部１６８に供給する。レート制御部１６８は、その発生符号量に基づいて量子化スケールを算出し、その値を量子化部１６５に供給する。量子化部１６５は、レート制御部１６８より供給される量子化スケールに従って量子化を行う。
【００７４】
また、量子化部１６５は、量子化された直交変換係数を逆量子化部１６９にも供給する。逆量子化部１６９は、量子化部１６５において量子化された直交変換係数を逆量子化し、得られた直交変換係数を逆直交変換部１７０に供給する。逆直交変換部１７０は、供給された直交変換係数に対して、直交変換部１６４において行われた直交変換処理に対応する方法で逆直交変換処理を行い、得られた画像データ（デジタルデータ）を加算器１７１に供給する。加算器１７１は、その画像データをそのままフレームメモリ１７２に供給し、蓄積させる。
【００７５】
これに対して、インター符号化が行われる画像の場合、画像並べ替えバッファ１６２においてフレームが並べ替えられた画像データは、動き予測・動き補償部１７３にも供給される。それと同時にフレームメモリ１７２より参照用の画像データが読み出され、動き予測・動き補償部１７３に供給される。動き予測・動き補償部１７３は、参照画像（フレームメモリ１７２より供給された画像データの画像）に対する、符号化対象画像（画像並べ替えバッファ１６２より供給された画像データの画像）の動きベクトルを検出し、その動きベクトルに従って、参照画像を動き補償することにより、予測画像をマクロブロック毎に生成する。動き予測・動き補償部１７３は、その予測画像の画像データ（予測画像データ）を加算器１６３に供給する。
【００７６】
加算器１６３は、符号化対象画像と、この予測画像の差分（予測残差）をマクロブロック毎に求める。生成されたマクロブロック毎の差分データは、直交変換部１６４に供給されて直交変換され、量子化部１６５において量子化され、可逆符号化部１６６において可逆符号化する。つまり、インター符号化の場合も、符号化処理単位はマクロブロックとなる。
【００７７】
また、このとき、動き予測・動き補償部１７３は、予測画像の動きベクトルに関する情報である動きベクトル情報を可逆符号化部１６６に供給する。可逆符号化部１６６は、その動きベクトル情報に対して可逆符号化処理を施し、差分データから生成された符号化データのヘッダ部に挿入し、符号化データとともに蓄積バッファ１６７に供給する。
【００７８】
蓄積バッファ１６７は、このインター符号化された符号化データについても、イントラ符号化の場合と同様に、所定のタイミングでビットストリームとして出力するとともに、発生符号量の情報をレート制御部１６８に供給する。
【００７９】
また、インター符号化の場合も、イントラ符号化の場合と同様に、量子化部１６５から出力される量子化された変換係数は、やはり逆量子化部１６９にも供給されて逆量子化され、さらに、逆直交変換部１７０に供給されて逆直交変換処理が施され、得られた差分データが加算器１７１に供給される。加算器１７１は、逆直交変換部１７０より供給される差分データの画像（予測残差）に、動き予測・動き補償部１７３より供給される予測画像データの画像（予測画像）を加算し、参照画像を生成し、その画像データをフレームメモリ１７２に供給して蓄積させる。
【００８０】
また、蓄積バッファ１６７は、イントラ符号化の場合も、インター符号化の場合も、その発生符号量の情報を、マクロブロック毎に統計情報生成部１８１に供給する。統計情報生成部１８１は、蓄積バッファ１６７より供給されるマクロブロック毎の発生符号量を１ピクチャ分蓄積し、所定のタイミングで、その１ピクチャ分の発生符号量群を、それぞれに対応するマクロブロックアドレスが識別可能な状態で、統計情報としてグループ割り当て部１１１（図２）に供給する。
【００８１】
図９は、図２のグループ割り当て部１１１の詳細な構成例を示すブロック図である。図９において、グループ割り当て部１１１は、整列部１９１、割り当て部１９２、および処理量マップ生成部１９３を有する。
【００８２】
整列部１９１は、ビデオエンコーダ１０１より供給される統計情報（およびマクロブロックアドレス）を取得すると、その統計情報を、統計情報自身に基づいて（例えば、各値を降順に）整列させる。
【００８３】
図１０は、グループ割り当て部１１１において行われる処理の様子の例を模式的に表わした図である。グループ割り当て部１１１は、図１０Ａに示されるように、マクロブロックアドレス（MA）に対応させて情報を管理するレジスタを有しており、ビデオエンコーダ１０１より統計情報として供給された、マクロブロック毎の符号量を、図１０Ｂに示されるように、マクロブロックアドレス（MA）に対応させてレジスタに格納する。
【００８４】
整列部１９１は、レジスタに格納された各データを符号量の降順に整列する。これにより、レジスタにおいて、例えば図１０Ｂに示されるように左からマクロブロックアドレスの昇順に並べられていたデータが、例えば図１０Ｃに示されるように左から符号量の降順に並べ替えられる。
【００８５】
割り当て部１９２は、各マクロブロックに対し、その並べ替えられた順に従ってグループを割り当てる。割り当て部１９２は、例えば図１０Ｄに示されるように、並べ替えられた各データに対し、左から順に（つまり符号量の降順に）、「グループ１」、「グループ２」、「グループ３」、「グループ１」、「グループ２」、「グループ３」、・・・のように、所定の順で各グループ（グループ識別情報）を割り当てる。
【００８６】
上述したように、グループ割り当て部１１１は、復号処理時間が互いに同程度になるようにマクロブロックをグループ化する。つまり、割り当て部１９２は、符号量の降順に整列されたマクロブロック群（マクロブロックアドレス群）に対して、一定の順序でグループの割り当てを行うことにより、各グループの復号処理時間の偏りがなるべく小さくなるようにする。なお、割り当ての順番は、予め決められたものであり、かつ、各グループの復号処理時間の偏りがなるべく小さくなるようにするものであれば、どのような順番であってもよい。例えば、グループ１、グループ２、グループ３、グループ３、グループ２、グループ１のような順にしてもよい。また、例えば、グループを割り当てる度に、各グループの符号量の総和をそれぞれ算出し、次のマクロブロックを、符号量の総和が最も小さいグループに割り当てるようにしても良い。
【００８７】
また、図１０の例ではマクロブロックを３つのグループにグループ分けしているが、このグループの数は復号処理において使用されるデコーダの数に依存し、事前に決められている。また、図１０の例では、グループを番号により識別するように説明しているが、グループ識別情報は、各グループを識別するためのデータであればどのようなものであってもよい。
【００８８】
処理量マップ生成部１９３は、グループが割り当てられた各データから処理量マップを生成し、出力する。処理量マップ生成部１９３は、例えば図１０Ｅに示されるように、レジスタにおいて、グループが割り当てられた各データをマクロブロックアドレスの昇順に並べ替え、その順で、マクロブロックアドレスおよび割り当てられたグループの組の各データをレジスタより読み出し、処理量マップとして多重化部１１２に供給する。
【００８９】
次に、図２の符号化装置１００により実行される、以上のような符号化処理の流れの例を、図１１のフローチャートを参照して説明する。
【００９０】
符号化処理が開始されると、ビデオエンコーダ１０１は、ステップＳ１において、入力画像データの、処理対象マクロブロックを符号化し、ステップＳ２において、その符号化により発生したマクロブロック毎の符号量を算出する。ステップＳ３において、ビデオエンコーダ１０１は、入力画像データを１フレーム分符号化したか否かを判定し、未処理のマクロブロックが存在すると判定した場合、処理をステップＳ１に戻し、それ以降の処理を繰り返す。また、ステップＳ３において、入力画像データを１フレーム分符号化したと判定した場合、ビデオエンコーダ１０１は、処理をステップＳ４に進める。
【００９１】
ステップＳ４において、グループ化処理部１０２のグループ割り当て部１１１は、ビデオエンコーダ１０１より、１フレーム分の各マクロブロックの発生符号量を統計情報として取得する。ステップＳ５において、グループ割り当て部１１１は、グループ化処理を実行し、取得した統計情報（マクロブロック毎の発生符号量）に基づいて、各グループの復号処理時間の偏りがなるべく小さくなるように、各マクロブロックをグループ分けするグループ化処理を実行する。グループ化処理の詳細については後述する。
【００９２】
ステップＳ６において、多重化部１１２は、グループ化処理により生成された処理量マップを、処理量マップデータとして、ビデオエンコーダ１０１より供給される符号化データのビットストリームに多重化する。バッファ１０３は、そのビットストリームを一時的に保持した後、ステップＳ７において、所定のタイミングで出力する。
【００９３】
ステップＳ７の処理が終了すると、符号化処理が終了される。このようにして１ピクチャ分の符号化が行われる。符号化装置１００は、このような符号化処理を各ピクチャに対して実行する。
【００９４】
次に、図１１のステップＳ５において実行されるグループ化処理の詳細な流れの例について、図１２のフローチャートを参照して説明する。
【００９５】
ステップＳ２１において、グループ割り当て部１１１の整列部１９１は、発生符号量を推定復号処理量とし、図１０Ｃを参照して説明したように、各マクロブロックを推定復号処理量の降順（つまり、発生符号量の降順）に並べ替える。ステップＳ２２において、割り当て部１９２は、図１０Ｄを参照して説明したように、各マクロブロックにグループ（グループ識別情報）を割り当てる。ステップＳ２３において、処理量マップ生成部１９３は、図１０Ｅを参照して説明したように、データを再度マクロブロックアドレスの昇順に並べ替え、その順でマクロブロックアドレスおよびグループ識別情報をレジスタより読み出すことにより、各マクロブロックが属するグループを示す処理量マップを生成する。
【００９６】
ステップＳ２３の処理を終了すると、処理量マップ生成部１９３は、グループ化処理を終了し、処理を図１１のステップＳ５に戻し、ステップＳ６以降の処理を実行させる。
【００９７】
以上のように、グループ化処理部１０２は、統計情報に基づいて、復号処理に利用される複数のデコーダのそれぞれの負荷（復号処理時間）が互いに同程度となるように、すなわち、なるべく偏りが小さくなるように、マクロブロックをグループ化することにより、各マクロブロックを割り当てるデコーダを指定し、各マクロブロックを復号するデコーダを指定する情報である処理量マップをビットストリームに多重化する。このようにすることにより、符号化装置１００は、ビットストリームを復号する復号装置が、より効率よく復号処理を行うことができるようにすることができる。
【００９８】
図１３は、復号装置の構成例を示すブロック図である。図１３に示される復号装置２００は、図２の符号化装置１００に対応する復号装置であり、符号化装置１００より出力される符号化データのビットストリームを復号する。図１３に示されるように、復号装置２００は、文法解析部２０１、処理量マップ再構成部２０２、分配部２０３、ビデオデコーダ２０４−１、ビデオデコーダ２０４−２、ビデオデコーダ２０４−３、および画像再構成部２０５を有する。
【００９９】
ビデオデコーダ２０４−１、ビデオデコーダ２０４−２、およびビデオデコーダ２０４−３は、互いに同一のデコーダであり、同様の復号処理を行い、同様の復号処理能力を有する。以下において、ビデオデコーダ２０４−１、ビデオデコーダ２０４−２、およびビデオデコーダ２０４−３を互いに区別して説明する必要の無い場合、ビデオデコーダ２０４と称する。
【０１００】
文法解析部２０１は、符号化装置１００より出力されたビットストリームを取得すると、そのビットストリームの文法を解析し、処理量マップデータが埋め込まれている場合、その処理量マップデータを抽出し、処理量マップ再構成部２０２に供給する。図７を参照して説明したように、ビットストリームには、各マクロブロックに割り当てられたグループ識別情報がマクロブロックアドレス順に並べられて埋め込まれている（処理量マップデータ）。処理量マップ再構成部２０２は、ビットストリームより抽出されたこのような処理量マップデータから、マクロブロックとグループの対応関係を示す表データである処理量マップを再構成し、その処理量マップを分配部２０３および画像再構成部２０５に供給する。
【０１０１】
また、文法解析部２０１は、処理量マップデータを抽出したビットストリームを分配部２０３に供給する。分配部２０３は、処理量マップ再構成部２０２より供給された処理量マップに従って、文法解析部２０１より供給されたビットストリームの供給先をマクロブロック毎に判定し、その判定結果に従って、各マクロブロックのビットストリームをビデオデコーダ２０４に分配する。つまり、分配部２０３は、各マクロブロックのビットストリームを、処理量マップにおいて指定されるグループに対応するビデオデコーダ２０４に供給する。なお、このグループとビデオデコーダ２０４との対応関係は、処理量マップにおいて予め決められていてもよいし、分配部２０３が決定するようにしてもよい。つまり、処理量マップにおいて各マクロブロックに割り当てられているグループ識別情報が、どのビデオデコーダ２０４を使用するかまで指定する情報であってもよいし、どのグループのマクロブロックをどのビデオデコーダ２０４で復号するかは分配部２０３が決定するようにしてもよい。ただし、いずれの場合も、同一のグループのマクロブロックは、同一のデコーダにおいて復号される。
【０１０２】
ビデオデコーダ２０４−１乃至ビデオデコーダ２０４−３は、それぞれ、分配部２０３より供給されたマクロブロック毎のビットストリームをAVC/H.264方式で復号し、得られたマクロブロック単位の画像データ（デジタルデータ）を画像再構成部２０５に供給する。画像再構成部２０５は、処理量マップ再構成部２０２より供給される処理量マップから、どのビデオデコーダ２０４よりどの順番でマクロブロックが供給されるかを把握し、その情報に基づいて各ビデオデコーダ２０４より供給されるマクロブロック単位の画像データをマクロブロックアドレス順に並べ替えてピクチャを再構成する。この時点で画像データの各ピクチャ（フレーム）は、GOP構造に応じた順に並べ替えられたものであるので、画像再構成部２０５は、さらにその画像データに対し、フレーム順が元の順になるように並べ替えを行う。画像再構成部２０５は、そのフレームが元の順に並べ替えられた画像データをD/A（Digital / Analog）変換してアナログの画像信号として出力する（出力画像）。
【０１０３】
なお、画像再構成部２０５は、グループとビデオデコーダ２０４の対応関係をどのように把握するようにしてもよい。例えば、グループとビデオデコーダ２０４の対応関係が予め決められている場合であれば画像再構成部２０５がその関係を予め把握していてもよい。また、グループとビデオデコーダ２０４の対応関係を分配部２０３が決定する場合であれば分配部２０３よりその情報を取得するようにしてもよい。さらに、各ビデオデコーダ２０４から画像データが供給される順番に基づいて、画像再構成部２０５が対応関係を推測するようにしてもよい。
【０１０４】
図１４は、図１３のビデオデコーダ２０４の詳細な構成例を説明するブロック図である。図１４に示されるビデオデコーダ２０４は、蓄積バッファ２１１、可逆符号復号部２１２、逆量子化部２１３、逆直交変換部２１４、加算器２１５、フレームメモリ２１６、および動き予測・動き補償部２１７を有する。
【０１０５】
蓄積バッファ２１１は、分配部２０３（図１３）より供給されるマクロブロック単位のビットストリームを一時的に蓄積し、所定のタイミングで可逆符号復号部２１２に供給する。可逆符号復号部２１２は、供給されたマクロブロック単位のビットストリームに対して、定められた画像圧縮情報のフォーマット、すなわちAVC/H.264方式に基づき、可変長復号、または算術復号等の処理を行う。可逆符号復号部２１２は、得られたマクロブロック単位の復号データ（量子化された直交変換係数）を逆量子化部２１３に供給する。
【０１０６】
また、可逆符号復号部２１２は、インター符号化されたビットストリームを復号する場合、さらに、符号化データのヘッダ部に格納された動きベクトル情報も復号する。そして
、可逆符号復号部２１２は、復号したその動きベクトル情報を動き予測・動き補償部２１７に供給する。
【０１０７】
復号データを供給された逆量子化部２１３は、その復号データを逆量子化し、得られた直交変換係数を逆直交変換部２１４に供給する。逆直交変換部２１４は、定められた画像圧縮情報のフォーマット、すなわち、AVC/H.264に基づき、逆離散コサイン変換、逆カルーネン・レーベ変換等の逆直交変換を施し、画像データを得る。逆直交変換部２１４は、その画像データを加算器２１５に供給する。
【０１０８】
イントラ符号化されたマクロブロックの画像データの場合、加算器２１５は、逆直交変換部２１４より供給された画像データをそのまま画像再構成部２０５（図１３）およびフレームメモリ２１６に供給する。
【０１０９】
インター符号化されたマクロブロックの画像データの場合、逆直交変換部２１４より出力される画像データは、差分データである。この場合、動き予測・動き補償部２１７は、可逆符号復号部２１２より供給された動きベクトル情報と、フレームメモリ２１６より供給される画像データに基づいて、予測画像（予測画像データ）を生成し、加算器２１５に供給する。加算器２１５は、逆直交変換部２１４より供給された差分データの画像（予測残差）と、動き予測・動き補償部２１７より供給される予測画像データの画像（予測画像）を加算し、画像データを生成する。加算器２１５は、生成した画像データを、画像再構成部２０５（図１３）およびフレームメモリ２１６に供給する。
【０１１０】
フレームメモリ２１６は、加算器２１５より供給されるマクロブロック単位の画像データを蓄積し、その蓄積している画像データを必要に応じて動き予測・動き補償部２１７に供給する。なお、フレームメモリ２１６は、ビデオデコーダ２０４−１乃至ビデオデコーダ２０４−３によって共有される共通のメモリである。つまり、図１４に示されるフレームメモリ２１６は、ビデオデコーダ２０４−１乃至ビデオデコーダ２０４−３のいずれもがアクセス可能な１つの記憶領域を有する。従って、このフレームメモリ２１６には、ビデオデコーダ２０４−１乃至ビデオデコーダ２０４−３のそれぞれよりマクロブロック単位の画像データが供給される。フレームメモリ２１６は、それらのマクロブロック単位の画像データを蓄積するとともに、画像再構成部２０５と同様に、それらの画像データからピクチャを再構成し、ピクチャ単位で保持する。フレームメモリ２１６は、必要に応じて、そのピクチャ単位の画像データを、各ビデオデコーダ２０４の動き予測・動き補償部２１７に供給する。
【０１１１】
なお、フレームメモリ２１６がピクチャを再構成せずに、マクロブロック単位毎に画像データを蓄積し、動き予測・動き補償部２１７が動きベクトル情報に基づいて必要なマクロブロックの画像データを要求し、フレームメモリ２１６が要求されたマクロブロック単位毎に画像データをその要求元に供給するようにしてもよい。
【０１１２】
このような復号装置２００による復号処理の流れの例を図１５のフローチャートを参照して説明する。
【０１１３】
復号処理が開始されると、文法解析部２０１は、ステップＳ４１においてビットストリームを取得し、ステップＳ４２において、取得したビットストリームより処理量マップデータを抽出する。ステップＳ４３において、処理量マップ再構成部２０２は、抽出された処理量マップデータから処理量マップを再構成する。ステップＳ４４において、分配部２０３は、処理量マップに基づいてマクロブロック毎にビットストリームを各ビデオデコーダ２０４に分配する。ステップＳ４５において、各ビデオデコーダ２０４は、供給されたビットストリームを復号する。画像再構成部２０５は、ステップＳ４６において、処理量マップに基づいてフレーム画像を再構成し、ステップＳ４７において、画像データを出力する。ステップＳ４７の処理が終了すると、復号処理が終了される。
【０１１４】
以上のようにして１フレーム分の画像データが復号される。以上の復号処理は、フレーム（ピクチャ）毎に繰り返し実行される。
【０１１５】
このように、復号装置２００は、複数のビデオデコーダ２０４を用いた復号処理の並列処理を、符号化装置１００において作成された処理量マップに基づいて行うことにより、各ビデオデコーダ２０４の負荷（復号処理時間）を互いに同程度となるように、すなわち、なるべく偏りが小さくなるようにすることができる。従って、復号装置２００は、各ビデオデコーダによる復号処理の処理時間の偏りによる不要な待機時間の発生を抑制し、より効率よく復号処理を行うことができる。
【０１１６】
なお、以上においては、グループ割り当て部１１１に供給される統計情報（およびマクロブロックアドレス）は、ビデオエンコーダ１０１において作成するように説明したが、符号化装置１００の外部より供給されるようにしてももちろんよい。
【０１１７】
また、復号処理に使用されるビデオデコーダの数は任意であるが、その数が予め決められていてもよい。その場合、グループ割り当て部１１１は、マクロブロックを、その予め決められた数にグループ分けする。また、いくつのビデオデコーダが使用されるかという情報を、ビットストリームを復号する復号装置２００より取得するようにしてもよい。この場合、グループ割り当て部１１１は、この情報に基づいてグループ数を決定する。
【０１１８】
さらに、グループ割り当て部１１１が所定の数のグループにグループ分けし、復号装置２００の文法解析部２０１がビットストリームに埋め込まれた情報（num_slice_groups_minus1）からいくつにグループ分けされたかを把握し、復号装置２００がそのグループ数以上のビデオデコーダ２０４を有する場合、そのグループ数分のビデオデコーダ２０４を用いて復号処理を行うようにしてもよい。
【０１１９】
以上においては、復号に用いられる複数のビデオデコーダが互いに同程度の処理能力を有する場合について説明したが、例えば、各ビデオデコーダの処理能力に偏りがある場合も考えられる。このような場合、符号量が均等になるように（均等に近づくように）グループ分けを行うと、各ビデオデコーダの復号処理時間に偏りが生じる恐れがある。従って、グループ割り当て部１１１は、復号処理に使用されるビデオデコーダの数だけでなく、各ビデオデコーダの処理能力も考慮して、各ビデオデコーダによる復号処理時間の偏りが小さくなるようにグループ分けを行うのが望ましい。
【０１２０】
また、グループ分けの方法は上述した以外であってももちろんよい。例えばあるビデオデコーダの負荷（復号処理時間）を他のビデオデコーダの負荷（復号処理時間）の半分にする等、各ビデオデコーダの復号処理時間を意図的に偏らせるようにしてもよい。例えば、このように１つのビデオデコーダの負荷を軽減させ、空き時間に他のビットストリームを復号させるようにすることもできる。
【０１２１】
さらに、統計情報だけでなく、マクロブロックの位置も考慮するようにしてもよい。例えば、上述したように統計情報にのみ基づいてグループ分けを行う場合、例えば図５に示されるように、各グループのマクロブロックがバラバラになる（位置関係が定まらない）ことが考えられるが、後述するようにAVC/H.264方式の場合、圧縮率向上のために画面内予測符号化を行うことができる。画面内予測符号化とは、ピクチャ内において互いに隣接する所定の画素群をブロックとし、そのブロックを処理単位として、隣接する他のブロックの符号化済みの画素を参照して画素値を予測するものである。このような画面内予測符号化を行う場合、参照先の画素が他のグループに属すると、復号時に並列処理に不都合が生じる恐れがある。そこで、グループ割り当て部１１１が、位置情報も考慮し、復号処理時間の偏りが小さくなるようにするとともに、同一のグループのマクロブロックがなるべく隣接するようにグループ分けを行うようにしてもよい。具体的な方法は任意であるが、例えば、復号処理時間の偏りが小さくなるようにグループ分けを行った後、位置関係に基づいてグループ間で符号量が近似するマクロブロックの交換を行うようにしてもよいし、逆に、マクロブロックの位置に基づいてグループ分けを行った後、各グループの復号処理時間の偏りが小さくなるようにグループ間でマクロブロックの交換を行うようにしてもよい。もちろん、これら以外の方法であってもよい。
【０１２２】
また、以上においては、グループ割り当て部１１１が図９に示されるように構成され、図１０を参照して説明したようにグループ分けを行うように説明したが、グループ割り当て部１１１によるグループ分けのアルゴリズムは任意であり、上述した以外であってもよい。
【０１２３】
例えば、以上においてはマクロブロック単位でグループ分けするように説明したが、グループ分けの単位は符号化処理単位の整数倍であればよく、例えば、マクロブロックを符号化処理単位とする場合、複数のマクロブロックからなるスライスやピクチャ毎にグループ分けを行うようにしてもよい。グループ分けを行うデータ単位が大きくなるほど処理は容易になるが、マクロブロックのようにより小さいデータ単位でグループ分けを行うことにより、グループ割り当て部１１１は、より細かく復号処理時間の均一化を計ることができ、より多様な画像に対して、各グループの復号処理時間の偏りをより小さくすることができるようになる。同様に、統計情報の算出も符号化処理単位の整数倍であればどのような単位で行われるようにしてもよい。なお、矛盾が生じない限り後述する他の例においても同様であり、グループ分けや統計情報の単位は符号化処理単位の整数倍であればどのような単位で行われるようにしてもよい。
【０１２４】
以上のように、グループ割り当て部１１１は、統計情報に基づいてマクロブロックのグループ分け（復号処理に利用するビデオデコーダの指定）を任意に行うことができる。
【０１２５】
また、多重化部１１２による処理量マップデータの埋め込みのシンタクスを、図７を参照して説明したが、処理量マップに相当する情報が多重化されるのであれば、多重化部１１２がどのような情報をどのように埋め込むようにしてもよい。矛盾が生じない限り後述する他の例においても同様である。
【０１２６】
なお、上述したようにAVC/H.264方式では、圧縮率を向上させるために、画面内予測符号化を行うことができるが、参照関係にある画素が互いに異なるビデオデコーダ２０４により復号され、参照関係を利用できずに処理が破綻するマクロブロックが発生する恐れがある。従って、復号画像の画質向上のためには、ビデオエンコーダ１０１は、画面内予測符号化を用いずに符号化するのが望ましい。なお、復号処理に失敗するマクロブロックが発生するのを容認し、敢えて、画面内予測符号化を行うようにしてももちろんよい。つまり、画質より圧縮率を優先させるようにしてもよい。矛盾が生じない限り後述する他の例においても同様である。
【０１２７】
また、統計情報は、復号処理時間を推定できるものであればどのようなものであってもよく、例えば、直交変換係数の数や動きベクトルの数等であってもよい。また、例えば、ME（Motion Estimation）残差（予測誤差量）、フラットネス、およびイントラAC等のように、複数の情報を統計情報として用いるようにしてもよい。
【０１２８】
図１６は、ME残差、フラットネス、およびイントラACを統計情報として用いる場合のビデオエンコーダ１０１の構成例を示すブロック図である。この場合、ビデオエンコーダ１０１の構成は、基本的に図８を参照して説明した場合と同様であるが、統計情報生成部１８１の代わりに、統計量算出部２３１および統計情報生成部２３２が設けられている。
【０１２９】
処理対象マクロブロックがインター符号化される場合、動き予測・動き補償部１７３は、マクロブロック単位のME残差を求め、それを統計情報生成部２３２に供給する。動き予測・動き補償部１７３は、他のピクチャを参照して圧縮符号化処理する際に、圧縮対象となるピクチャ（符号化対象画像）の処理対象マクロブロックと、参照されるピクチャ（参照画像）との間の差分値の絶対値和あるいは自乗値和が最小となるようなマクロブロックを探し、動きベクトルを求める。マクロブロック単位のME残差は、このような、動きベクトルを求める際に求められた、最小になったマクロブロックの差分値の絶対和または自乗和のことである。このME残差は、映像の動きの速さおよび絵柄の複雑さを表すパラメータであり、映像の絵柄の難しさ（難度）および圧縮後のデータ量と相関性を有する。上述したように符号量が多くなれば復号処理の負荷（復号処理時間）も増大する。つまり、ME残差は、復号処理の負荷（復号処理時間）とも相関性を有する。
【０１３０】
これに対して、処理対象マクロブロックがイントラ符号化される場合、他のピクチャの参照なしに圧縮符号化されるため、動き予測・動き補償部１７３は、ME残差を求めることができない。そこで、このような場合、画像並べ替えバッファ１６２および加算器１６３の間に設けられた統計量算出部２３１が、ME残差に代わるパラメータとして、処理対象マクロブロックについてフラットネスおよびイントラACを算出する。
【０１３１】
フラットネスは、映像の空間的な平坦さを表すパラメータであって、映像の複雑さを指標し、映像の絵柄の難しさ（難度）および圧縮後のデータ量と相関性を有する。つまり、フラットネスは、復号処理の負荷（復号処理時間）との相関性を有する。マクロブロック単位のフラットネスは、処理対象マクロブロックを２画素×２画素の小ブロックに分割し、次に、これらの小ブロック内の対角の画素のデータ（画素値）の差分値を算出し、差分値を所定の閾値と比較し、さらに、差分値が閾値よりも小さくなる小ブロックの総数（１マクロブロック分の総数）を求めることにより算出される。
【０１３２】
イントラACは、画素値の分散値を示すパラメータであって、フラットネスと同様に、映像の複雑さを指標し、映像の絵柄の難しさ（難度）および圧縮後のデータ量と相関性を有する。つまり、イントラACは、復号処理の負荷（復号処理時間）との相関性を有する。マクロブロック単位のイントラACは、処理対象マクロブロック内の各画素の画素値と、そのマクロブロック内の全画素値の平均値との差分の絶対値の総和（１マクロブロック分の総和）を求めることにより算出される。
【０１３３】
統計量算出部２３１は、算出したフラットネスおよびイントラACを統計情報生成部２３２に供給する。
【０１３４】
統計情報生成部２３２は、動き予測・動き補償部１７３より供給されたME残差、または、統計量算出部２３１より供給されたフラットネスおよびイントラACに基づいて、処理対象マクロブロックの復号処理の負荷（復号処理時間）の推定に利用される、符号化処理の難易度を求め、その難易度を示す難易度情報を統計情報として、マクロブロックアドレスと対応させてグループ割り当て部１１１（図２）に供給する。
【０１３５】
なお、このとき、統計情報生成部２３２は、ME残差、または、フラットネスおよびイントラACの値を用いて、それぞれ所定の式により各マクロブロックの符号化の難易度を具体的に算出するようにしてもよいが、各マクロブロックの難易度順を決定するだけでもよい。
【０１３６】
グループ割り当て部１１１は、以上のような難易度情報を統計情報として、上述した符号量の場合と同様にマクロブロックのグループ分けを行う。
【０１３７】
この場合の、符号化装置１００による符号化処理の流れの例を図１７のフローチャートを参照して説明する。
【０１３８】
符号化処理が開始されると、ステップＳ６１において、ビデオエンコーダ１０１は、処理対象マクロブロックをイントラ符号化するか否かを判定する。GOP構造等に基づいて、イントラ符号化すると判定した場合、ビデオエンコーダ１０１は、処理をステップＳ６２に進める。統計量算出部２３１は、処理対象マクロブロックについて、ステップＳ６２においてフラットネスを算出し、ステップＳ６３において、イントラACを算出し、処理をステップＳ６５に進める。
【０１３９】
ステップＳ６１において、処理対象マクロブロックをインター符号化すると判定した場合、ビデオエンコーダ１０１は、処理をステップＳ６４に進める。動き予測・動き補償部１７３は、ステップＳ６４において、処理対象マクロブロックについて、ME残差を算出し、処理をステップＳ６５に進める。
【０１４０】
ステップＳ６５において、統計情報生成部２３２は、フラットネスおよびイントラAC、または、ME残差に基づいて、処理対象マクロブロックの符号化の難易度を算出する。
【０１４１】
ステップＳ６６において、ビデオエンコーダ１０１は、各部を用いて処理対象マクロブロックを符号化する。ステップＳ６７においてビデオエンコーダ１０１は、１フレーム（ピクチャ）分の符号化が終了したか否かを判定し、処理対象フレーム内に未処理のマクロブロックが存在すると判定した場合、処理をステップＳ６１に戻し、それ以降の処理を繰り返す。また、ステップＳ６７において、処理対象フレーム内の全てのマクロブロックを符号化したと判定した場合、ビデオエンコーダ１０１は、処理をステップＳ６８に進める。
【０１４２】
グループ割り当て部１１１は、ステップＳ６８において、統計情報生成部２３２が統計情報として生成したマクロブロック毎の難易度情報を１ピクチャ分取得し、ステップＳ６９において、その難易度情報に基づいてグループ化処理を行い、各マクロブロックをグループ分けすることにより、復号処理に使用するビデオデコーダへの分配の仕方を指定する。
【０１４３】
なお、このグループ化処理の詳細は、発生符号量の代わりに難易度情報に基づいて復号処理量を推定する以外は基本的に図１２のフローチャートを参照して説明した場合と同様であるので、その説明を省略する。つまり、グループ割り当て部１１１は、各グループの復号処理時間の差が小さくなるようにマクロブロックのグループ分けを行い、処理量マップを生成する。
【０１４４】
ステップＳ７０において、多重化部１１２は、グループ化処理により生成された処理量マップを、処理量マップデータとして、ビデオエンコーダ１０１より供給される符号化データのビットストリームに多重化する。バッファ１０３は、そのビットストリームを一時的に保持した後、ステップＳ７１において、所定のタイミングで出力する。ステップＳ７１の処理が終了すると、符号化処理が終了される。このようにして１ピクチャ分の符号化が行われる。符号化装置１００は、このような符号化処理を各ピクチャに対して実行する。
【０１４５】
以上のように、統計情報は、復号処理時間を推定できるものであればどのようなものであってもよく、複数の情報を統計情報として用いることもできる。なお、矛盾が生じない限り、後述する他の例においても同様である。
【０１４６】
以上においては、グループ割り当て部１１１により生成された処理量マップを符号化データのビットストリームに埋め込むことについて説明したが、それだけでなく、グループ割り当て部１１１により生成された処理量マップを画像データの符号化にも用いるようにしてもよい。
【０１４７】
図１８は、その場合の符号化装置の構成例を示すブロック図である。
【０１４８】
図１８に示される符号化装置３００は、図２の符号化装置１００と基本的に同様の構成を有するが、符号化装置１００と比較して、ビデオエンコーダ１０１の代わりにビデオエンコーダ３０１Ａおよびビデオエンコーダ３０１Ｂを有し、グループ化処理部１０２の代わりにグループ化処理部３０２を有する。
【０１４９】
ビデオエンコーダ３０１Ａおよびビデオエンコーダ３０１Ｂは、それぞれ、ビデオエンコーダ１０１と基本的に同様の構成を有し、同様の符号化処理を行う。ただし、ビデオエンコーダ３０１Ｂは、統計情報生成部１８１を省略可能である。また、詳細については後述するが、ビデオエンコーダ３０１Ｂは、グループ割り当て部１１１より供給される処理量マップに基づいて、ピクチャ内で参照するマクロブロックを決定する。なお、以下においてビデオエンコーダ３０１Ａとビデオエンコーダ３０１Ｂとを互いに区別して説明する必要が無い場合、単にビデオエンコーダ３０１と称する。
【０１５０】
上述したように、AVC/H.264方式の場合、圧縮率を向上させるために、画面内予測符号化を行うことが可能である。図１９は、４×４画素を１ブロック（画面内予測ブロック）として画面内符号化を行う場合（４×４画面内予測符号化）の、予測モードの例を示す模式図である。
【０１５１】
４×４画面内予測符号化を行う場合、図１９Ａ乃至図１９Ｊに示されるように、９通りの予測方向（予測モード）が用意されている。図１９Ａ乃至図１９Ｊにおいて、縦４個×横４個の白抜きの四角のそれぞれが処理対象の画面内予測ブロックの画素を示しており、斜線の四角のそれぞれが参照される符号化済みの画素を示している。
【０１５２】
図１９Ａは、予測モード０（Mode0-Vertical）の予測方向を示している。このモードの場合、矢印に示されるように、処理対象画面内予測ブロックの上に隣接するブロックの４画素の値から、処理対象画面内予測ブロック内の４×４画素の値を予測する。図１９Ｂは、予測モード１（Mode1-Horizontal）の予測方向を示している。このモードの場合、矢印に示されるように、処理対象画面内予測ブロックの左に隣接するブロックの４画素の値から、処理対象画面内予測ブロック内の４×４画素の値を予測する。図１９Ｃは、予測モード２（Mode2-DC）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの左に隣接するブロックの４画素と、上に隣接するブロックの４画素の、合計８画素の平均値で処理対象画面内予測ブロック内の４×４画素全ての値を予測する。
【０１５３】
図１９Ｄは、予測モード３（Mode3-DiagDown/Left）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの真上に隣接するブロックの４画素と右上に隣接するブロックの４画素の値から、処理対象画面内予測ブロック内の４×４画素の値を、矢印に示される方向に予測する。図１９Ｅは、予測モード４（Mode4-DiagDown/Right）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの左に隣接するブロックの４画素、左上に隣接するブロックの１画素、並びに、真上に隣接するブロックの４画素の値から、処理対象画面内予測ブロック内の４×４画素の値を、矢印に示される方向に予測する。図１９Ｆは、予測モード５（Mode5-Vertical-Right）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの左に隣接するブロックの３画素、左上に隣接するブロックの１画素、並びに、真上に隣接するブロックの４画素の値から、処理対象画面内予測ブロック内の４×４画素の値を、矢印に示される方向に予測する。
【０１５４】
図１９Ｇは、予測モード６（Mode6-Horizontal-Down）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの左に隣接するブロックの４画素、左上に隣接するブロックの１画素、並びに、真上に隣接するブロックの３画素の値から、処理対象画面内予測ブロック内の４×４画素の値を、矢印に示される方向に予測する。図１９Ｈは、予測モード７（Mode7-Vertical-Left）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの真上に隣接するブロックの４画素、並びに右上に隣接するブロックの３画素の値から、処理対象画面内予測ブロック内の４×４画素の値を、矢印に示される方向に予測する。図１９Ｊは、予測モード８（Mode8-Horizontal-Up）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの左に隣接するブロックの４画素の値から、処理対象画面内予測ブロック内の４×４画素の値を、矢印に示される方向に予測する。
【０１５５】
画面内予測符号化を行うビデオエンコーダは、処理対象画像が複雑である場合、これらの９通りの予測モードの中から最も適切に予測できる予測方向を画面内予測ブロック毎に１つずつ選択し、符号化する。
【０１５６】
図２０は、１６×１６画素を１ブロック（画面内予測ブロック）として画面内符号化を行う場合（１６×１６画面内予測符号化）の、予測モードの例を示す模式図である。１６×１６画面内予測符号化を行う場合、図２０Ａ乃至図２０Ｄに示されるように、４通りの予測方向（予測モード）が用意されている。
【０１５７】
図２０Ａ乃至図２０Ｄにおいて、白抜きの四角が１６×１６画素の処理対象の画面内予測ブロックの画素を示しており、斜線の四角のそれぞれが参照される符号化済みの画素を示している。
【０１５８】
図２０Ａは、予測モード０（Vertical）の予測方向を示している。このモードの場合、矢印に示されるように、処理対象画面内予測ブロックの上に隣接するブロックの１６画素の値から、処理対象画面内予測ブロック内の１６×１６画素の値を予測する。図２０Ｂは、予測モード１（Horizontal）の予測方向を示している。このモードの場合、矢印に示されるように、処理対象画面内予測ブロックの左に隣接するブロックの１６画素の値から、処理対象画面内予測ブロック内の１６×１６画素の値を予測する。図２０Ｃは、予測モード２（DC）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの左に隣接するブロックの１６画素と、上に隣接するブロックの１６画素の、合計３２画素の平均値で処理対象画面内予測ブロック内の１６×１６画素全ての値を予測する。図２０Ｄは、予測モード３（Plane）の予測方向を示している。このモードの場合、処理対象画面内予測ブロックの左に隣接するブロックの１６画素と真上に隣接するブロックの１６画素の値から、処理対象画面内予測ブロック内の１６×１６画素の値を、矢印に示される方向に予測する。
【０１５９】
画面内予測符号化を行うビデオエンコーダは、処理対象画像が平坦である場合、これらの４通りの予測モードの中から最も適切に予測できる予測方向を画面内予測ブロック毎に１つずつ選択し、符号化する。
【０１６０】
このように、画面内予測において、画像の内容に応じてブロックの大きさを使い分けることにより、画面内予測符号化を行うビデオエンコーダは、複雑な画像も平坦な画像も効率よく予測することができる。
【０１６１】
しかしながら、図２に示される符号化装置１００のビデオエンコーダ１０１において、このような画面内予測符号化を無条件に行うと、処理対象のマクロブロックと参照先のマクロブロックとで、復号に使用されるビデオデコーダ２０４が互いに異なり、復号処理に失敗する（すなわち、復号画像の画質が低下する）恐れがある。
【０１６２】
そこで、符号化装置３００は、処理量マップを作成するための符号化をビデオエンコーダ３０１Ａにより行い、ビットストリームの作成をビデオエンコーダ３０１Ｂによって行う。このときビデオエンコーダ３０１Ｂが、処理量マップを利用しながら、復号処理が破綻しないように、適切に画面内符号化を行うようにする。
【０１６３】
つまり、ビデオエンコーダ３０１Ｂは、画面内予測符号化を行う場合、処理対象ブロックと同一のグループに属する画素を参照するように予測モードを選択する。このようにすることにより、参照関係にある画素同士が復号時に互いに同一のビデオデコーダ２０４により復号されるようにすることができる。
【０１６４】
この場合の符号化処理の流れの例を図２１のフローチャートを参照して説明する。
【０１６５】
符号化処理が開始されると、ビデオエンコーダ３０１Ａは、ステップＳ９１において、処理対象マクロブロックを符号化し、ステップＳ９２において、発生符号量を算出する。ステップＳ９３において、ビデオエンコーダ３０１Ａは、１フレーム（ピクチャ）分符号化したか否かを判定し、ピクチャ内に未処理のマクロブロックが存在すると判定した場合、処理をステップＳ９１に戻し、残りの未処理のマクロブロックについてステップＳ９１乃至ステップＳ９３の処理を繰り返し実行する。そして、ステップＳ９３において、１フレーム分符号化した（ピクチャ内の全てのマクロブロックを符号化した）と判定した場合、ビデオエンコーダ３０１Ａは処理をステップＳ９４に進める。
【０１６６】
ステップＳ９４において、グループ割り当て部１１１は、ビデオエンコーダ３０１Ａより、統計情報（マクロブロック毎の発生符号量）をビデオエンコーダ３０１Ａより取得する。統計情報を取得すると、グループ割り当て部１１１は、ステップＳ９５においてグループ化処理を実行する。このグループ化処理の詳細は図１２を参照して説明した場合と同様である。従って、グループ化処理の詳細についての説明は省略する。
【０１６７】
グループ化処理により処理量マップを作成するとグループ割り当て部１１１は、その処理量マップを多重化部１１２およびビデオエンコーダ３０１Ｂに供給する。
【０１６８】
ステップＳ９６においてビデオエンコーダ３０１Ｂは、その処理量マップに基づいて、ピクチャ内において参照するマクロブロックの選択（予測モードの選択）を行う。この選択処理の詳細については後述する。予測モードの選択を行うと、ビデオエンコーダ３０１Ｂは、ステップＳ９７において、その選択結果を利用して、すなわち、その選択した予測モードで、処理対象マクロブロックを符号化する。
【０１６９】
ステップＳ９８において、ビデオエンコーダ３０１Ｂは、１フレーム（ピクチャ）分符号化したか否かを判定し、ピクチャ内に未処理のマクロブロックが存在すると判定した場合、処理をステップＳ９６に戻し、残りの未処理のマクロブロックについてステップＳ９６乃至ステップＳ９８の処理を繰り返し実行する。そして、ステップＳ９８において、１フレーム分符号化した（ピクチャ内の全てのマクロブロックを符号化した）と判定した場合、ビデオエンコーダ３０１Ｂは処理をステップＳ９９に進める。
【０１７０】
ステップＳ９９において、多重化部１１２は、処理量マップと符号化データを多重化する。ステップＳ１００において、バッファ１０３は、その処理量マップが多重化されたビットストリームを所定のタイミングで出力する。ステップＳ１００の処理が終了すると、符号化処理が終了される。このようにして１ピクチャ分の符号化が行われる。符号化装置３００は、このような符号化処理を各ピクチャに対して実行する。
【０１７１】
次に、図２２のフローチャートを参照して図２１のステップＳ９６において実行される選択処理の詳細な流れの例を説明する。
【０１７２】
選択処理が開始されるとビデオエンコーダ３０１Ｂは、ステップＳ１２１において、処理量マップを参照し、処理対象マクロブロックの左隣のマクロブロックが、処理対象マクロブロックと同じグループであるか否かを判定する。
【０１７３】
左隣のマクロブロックが同じグループであると判定すると、ビデオエンコーダ３０１Ｂは、処理をステップＳ１２２に進め、さらに処理量マップを参照して、処理対象マクロブロックの上（左上、真上、および右上を含む）のマクロブロックが処理対象マクロブロックと同じグループであるか否かを判定する。
【０１７４】
上のマクロブロックが同じグループであると判定すると、ビデオエンコーダ３０１Ｂは、処理をステップＳ１２３に進め、上のマクロブロックおよび左隣のマクロブロックを予測に用いるように予測モードを選択し、設定する。ステップＳ１２３の処理を終了すると、ビデオエンコーダ３０１Ｂは、処理を図２１のステップＳ９６に戻し、ステップＳ９７以降の処理を実行させる。
【０１７５】
図２２のステップＳ１２２において、上のマクロブロックが処理対象マクロブロックのグループと異なると判定すると、ビデオエンコーダ３０１Ｂは、処理をステップＳ１２４に進め、左隣のマクロブロックを予測に用いるように予測モードを選択し、設定する。ステップＳ１２４の処理を終了すると、ビデオエンコーダ３０１Ｂは、処理を図２１のステップＳ９６に戻し、ステップＳ９７以降の処理を実行させる。
【０１７６】
図２２のステップＳ１２１において、左隣のマクロブロックが処理対象マクロブロックのグループと異なると判定すると、ビデオエンコーダ３０１Ｂは、処理をステップＳ１２５に進め、さらに処理量マップを参照して、処理対象マクロブロックの上（左上、真上、および右上を含む）のマクロブロックが処理対象マクロブロックと同じグループであるか否かを判定する。
【０１７７】
上のマクロブロックが同じグループであると判定すると、ビデオエンコーダ３０１Ｂは、処理をステップＳ１２６に進め、上のマクロブロックを予測に用いるように予測モードを選択し、設定する。ステップＳ１２６の処理を終了すると、ビデオエンコーダ３０１Ｂは、処理を図２１のステップＳ９６に戻し、ステップＳ９７以降の処理を実行させる。
【０１７８】
図２２のステップＳ１２５において、上のマクロブロックが処理対象マクロブロックのグループと異なると判定すると、ビデオエンコーダ３０１Ｂは、処理をステップＳ１２７に進め、上のマクロブロックおよび左隣のマクロブロックを予測に用いない、つまり、画面内予測を行わずに処理対象マクロブロックを符号化するように予測モードを選択し、設定する。ステップＳ１２７の処理を終了すると、ビデオエンコーダ３０１Ｂは、処理を図２１のステップＳ９６に戻し、ステップＳ９７以降の処理を実行させる。
【０１７９】
ビデオエンコーダ３０１Ｂは、以上のように処理量マップに基づいて参照するマクロブロックを選択することにより、異なるグループの画素を参照しないように（グループ内でのみ参照するように）画面内予測符号化を適宜行う。これにより、符号化装置３００は、画質の劣化を抑制しながら圧縮率を向上させることができる。
【０１８０】
なお、ビデオエンコーダ３０１Ａが、ビデオエンコーダ３０１Ｂが処理するピクチャの次のピクチャを、ビデオエンコーダ３０１Ｂに並行して符号化するようにしてもよい。つまり、処理量マップの作成と、処理量マップを利用した符号化処理を並行して行うようにしてもよい。このようにすることにより、符号化装置３００は、より高速に符号化を行うことができる。
【０１８１】
以上においては、処理量マップを参照して符号化を行う場合に、ビデオエンコーダを２つ用いるように説明したが、１つのビデオエンコーダで２回符号化を行うようにしてもよい。例えば、符号化前の画像データを保持しておき、ビデオエンコーダにより１回目の符号化により処理量マップを作成した後、その保持している画像データを、同じビデオエンコーダを用いて処理量マップに基づいて符号化するようにしてもよい。
【０１８２】
また、上述したように統計情報を符号化装置の外部より取得する場合に、画像データを符号化する前にその統計情報から処理量マップを作成し、その処理量マップに基づいて符号化を行う（画面内予測符号化を適宜行う）ようにしてもよい。
【０１８３】
以上においては、多重化部１１２より出力されるビットストリームは、バッファ１０３に一時的に保持されるように説明したが、バッファ１０３は必須の構成ではなく、例えば、バッファ１０３を省略し、多重化部１１２がビットストリームを符号化装置の外部に出力するようにしてもよい。
【０１８４】
また、符号化前の画像データが入力されるように説明したが、これに限らず、例えば既に符号化された符号化データが入力されるようにし、ビデオエンコーダを省略するようにしてもよい。さらに、グループ割り当て部１１１により作成された処理量マップを、その処理量マップが対応するビットストリームと多重化せずに出力するようにし、多重化部１１２を省略するようにしてもよい。
【０１８５】
つまり、本発明は、統計情報に基づいて、その統計情報に対応するビットストリームを、例えばマクロブロック等の、所定のデータ単位でグループ分けすることにより、ビットストリームの復号処理の効率を向上させるようにするものであり、グループ化処理部１０２のグループ割り当て部１１１以外の構成は、仕様に応じて適宜省略可能である。換言すれば、本発明は、上述した符号化装置以外の、任意の装置に適用可能である。
【０１８６】
例えば、グループ割り当て部１１１を、外部より供給される統計情報に基づいて処理量マップを作成し出力する処理量マップ作成装置としてもよいし、グループ割り当て部１１１および多重化部１１２（すなわち、グループ化処理部１０２）を、外部より供給された統計情報に基づいて処理量マップを作成し、その処理量マップの情報を、外部より供給されたビットストリームに多重化して出力するグループ化処理装置としてもよい。
【０１８７】
さらに、上述した以外の構成をグループ割り当て部１１１と組み合わせるようにしてももちろんよい。グループ化処理部１０２を符号化以外の機能と組み合わせることにより、例えば、記憶部よりビットストリームを読み出して出力する出力装置、画像データを符号化して記憶する記憶装置、画像データを編集して符号化する編集装置、ビットストリームの伝送を中継する中継装置、ビットストリームを復号する復号装置、またはビットストリームを復号し、さらに得られた画像データを再生する再生装置等とすることができる。
【０１８８】
以下に具体的な例を説明する。図２３は、本発明を適用した出力装置の構成例を示すブロック図である。図２３に示される出力装置４００は、符号化データのビットストリームを記憶する記憶部４０２を有し、その記憶部４０２に記憶されているビットストリーム４１２を読み出し、復号装置がそのビットストリーム４１２をより効率よく復号処理することができるようにして出力する装置である。
【０１８９】
出力装置４００は、図２３に示されるように、読み出し指示部４０１、記憶部４０２、グループ化処理部１０２、およびバッファ１０３を有する。
【０１９０】
読み出し指示部４０１は、例えば、ユーザからの指示等を受け付け、記憶部４０２に対して、符号化データのビットストリームの読み出しを指示する。
【０１９１】
記憶部４０２は、所定の記憶媒体を有し、例えば発生符号量等の統計情報４１１およびその統計情報に対応する符号化データのビットストリーム４１２を記憶している。記憶部４０２は、読み出し指示部４０１によりビットストリーム４１２の読み出しを指示されると、指定されたビットストリーム４１２と、そのビットストリームに対応する統計情報４１１を読み出して、統計情報（ビットストリーム４１２におけるマクロブロックと統計情報４１１との対応関係を示すマクロブロックアドレスに関する情報を含む）をグループ割り当て部１１１に供給し、ビットストリーム４１２を多重化部１１２に供給する。
【０１９２】
グループ化処理部１０２（グループ割り当て部１１１および多重化部１１２）は、符号化装置１００の場合と同様に、統計情報４１１から処理量マップを作成し、その処理量マップの情報（処理量マップデータ）をビットストリーム４１２に多重化し、バッファ１０３に供給する。バッファ１０３は、処理量マップデータが埋め込まれたビットストリーム４１２を一時的に保持した後、所定のタイミングで出力装置４００の外部に出力する。
【０１９３】
この出力装置４００によるビットストリームの出力処理の流れの例を図２４のフローチャートを参照して説明する。
【０１９４】
出力処理が開始されると、読み出し指示部４０１は、ステップＳ１４１において、記憶部４０２より統計情報を読み出させる。ステップＳ１４２においてグループ割り当て部１１１は、その読み出された統計情報に基づいてマクロブロックのグループ化処理を行う。このグループ化処理の詳細は、図１２を参照して説明した場合と同様である。従って、このグループ化処理の詳細についての説明は省略する。
【０１９５】
ステップＳ１４３において、読み出し指示部４０１は、ステップＳ１４１において読み出させた統計情報に対応するビットストリームを記憶部４０２より読み出させる。ステップＳ１４４において、多重化部１１２は、ステップＳ１４２のグループ化処理により作成された処理量マップと、ステップＳ１４３において読み出されたビットストリームを多重化する。ステップＳ１４５において、バッファ１０３は、処理量マップが多重化されたビットストリームを所定のタイミングで出力する。
【０１９６】
ステップＳ１４５の処理が終了すると、出力処理が終了される。このようにして１ピクチャ分のビットストリームの読み出しが行われる。出力装置４００は、このような出力処理を各ピクチャに対して実行する。
【０１９７】
このようにすることにより、出力装置４００は、復号装置がより効率よく復号処理することができるようにビットストリームを出力することができる。
【０１９８】
なお、記憶部４０２にビットストリームのみが記憶され、読み出されたビットストリームを用いて統計情報を算出するようにしてもよい。ただし、その場合、統計情報は、発生符号量のようにビットストリームより算出可能な情報に限られる。もちろん、読み出されたビットストリームを復号して統計情報を算出し、再度符号化することも可能である。その場合の符号化は、図２乃至図２２を参照して説明した場合と同様に行われる。
【０１９９】
また、以上においては出力装置４００が記憶部４０２を有するように説明したが、これに限らず、記憶部４０２が別体として構成されるようにしてももちろんよい。
【０２００】
図２５は、本発明を適用した復号装置の構成例を示すブロック図である。図２５に示される復号装置５００は、図１３の復号装置２００と基本的に同様の構成を有し、ビットストリームの復号処理を複数のビデオデコーダ２０４を用いて並列実行させる装置である。ただし、復号装置５００は、復号装置２００の文法解析部２０１の代わりに文法解析部５０１を有し、さらに、復号装置２００の処理量マップ再構成部２０２の代わりにグループ化処理部５０２を有する。
【０２０１】
復号装置５００には、統計情報が多重化されたビットストリームが供給される。文法解析部５０１は、そのビットストリームより統計情報を抽出し、グループ化処理部５０２に供給する。なお、統計情報がビットストリームと別のデータとして供給されるようにしてもよいし、統計情報が多重化されていないビットストリームが復号装置５００に供給され、文法解析部５０１がそのビットストリームより統計情報を算出するようにしてもよい。
【０２０２】
グループ化処理部５０２は、グループ割り当て部１１１を有する。グループ割り当て部１１１は、文法解析部５０１より供給される統計情報に基づいて、ビットストリームを所定のデータ単位（例えばマクロブロック）毎にグループ分けし、処理量マップを生成する。グループ割り当て部１１１は、生成した処理量マップを分配部２０３および画像再構成部２０５に供給する。
【０２０３】
復号装置２００の場合と同様に、分配部２０３は、処理量マップに基づいてビットストリームをビデオデコーダ２０４−１乃至ビデオデコーダ２０４−３に分配し、ビデオデコーダ２０４−１乃至ビデオデコーダ２０４−３は、それぞれ、供給されたビットストリームを復号し、画像再構成部２０５は、ビデオデコーダ２０４−１乃至ビデオデコーダ２０４−３において復号されて得られた画像データを用いてピクチャを再構成し、出力する。
【０２０４】
この復号装置２００により復号処理の流れの例を図２６のフローチャートを参照して説明する。
【０２０５】
復号処理が開始されると、文法解析部５０１は、ステップＳ１６１においてビットストリームを取得し、ステップＳ１６２においてそのビットストリームより統計情報を取得する。ステップＳ１６３において、グループ割り当て部１１１は、グループ化処理を実行する。このグループ化処理の詳細は、図１２のフローチャートを参照して説明した場合と同様である。従って、このグループ化処理の詳細についての説明は省略する。
【０２０６】
ステップＳ１６４において、分配部２０３は、ステップＳ１６３のグループ化処理により作成された処理量マップに基づいてマクロブロック毎にビットストリームを各ビデオデコーダ２０４に分配する。ステップＳ１６５において、各ビデオデコーダ２０４は、供給されたビットストリームを復号する。ステップＳ１６６において、画像再構成部２０５は、ステップＳ１６３のグループ化処理により作成された処理量マップに基づいて、供給された画像データからフレーム画像（ピクチャ）を再構成する。フレーム画像を再構成すると、画像再構成部２０５は、ステップＳ１６７において画像データを出力する。
【０２０７】
ステップＳ１６７の処理が終了すると、復号処理が終了される。このようにして１ピクチャ分のビットストリームの復号処理が行われる。復号装置５００は、このような復号処理を各ピクチャに対して実行する。
【０２０８】
このようにすることにより、復号装置５００は、不要な待機時間の発生等を抑制し、復号処理をより効率よく行うことができる。
【０２０９】
なお、以上においては、符号化復号方式としてAVC/H.264方式を用いるように説明したが、符号化復号方式は任意であり、例えば、MPEG2やMPEG4等、AVC/H.264以外の方式であってもよい。
【０２１０】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図２７に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０２１１】
図２７において、パーソナルコンピュータ６００のCPU（Central Processing Unit）６０１は、ROM（Read Only Memory）６０２に記憶されているプログラム、または記憶部６１３からRAM（Random Access Memory）６０３にロードされたプログラムに従って各種の処理を実行する。RAM６０３にはまた、CPU６０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２１２】
CPU６０１、ROM６０２、およびRAM６０３は、バス６０４を介して相互に接続されている。このバス６０４にはまた、入出力インタフェース６１０も接続されている。
【０２１３】
入出力インタフェース６１０には、キーボード、マウスなどよりなる入力部６１１、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部６１２、ハードディスクなどより構成される記憶部６１３、モデムなどより構成される通信部６１４が接続されている。通信部６１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０２１４】
入出力インタフェース６１０にはまた、必要に応じてドライブ６１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部６１３にインストールされる。
【０２１５】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２１６】
この記録媒体は、例えば、図２７に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア６２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６０２や、記憶部６１３に含まれるハードディスクなどで構成される。
【０２１７】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２１８】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表わすものである。
【０２１９】
なお、以上において、１つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて１つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２２０】
【図１】従来の分配方法の例を説明する模式図である。
【図２】本発明を適用した符号化装置の主な構成例を示すブロック図である。
【図３】マクロブロックの例を説明する模式図である。
【図４】符号量の偏りの例を説明する模式図である。
【図５】統計情報に基づくグループ分けの例を説明する模式図である。
【図６】処理量マップの例を説明する模式図である。
【図７】処理量マップデータ埋め込みのシンタクスの例を説明する模式図である。
【図８】ビデオエンコーダの詳細な構成例を示すブロック図である。
【図９】グループ割り当て部の詳細な構成例を示すブロック図である。
【図１０】グループ分けの様子の例を説明する模式図である。
【図１１】符号化処理の流れの例を説明するフローチャートである。
【図１２】グループ化処理の流れの例を説明するフローチャートである。
【図１３】復号装置の構成例を示すブロック図である。
【図１４】ビデオデコーダの詳細な構成例を示すブロック図である。
【図１５】復号処理の流れの例を説明するフローチャートである。
【図１６】ビデオエンコーダの他の構成例を示すブロック図である。
【図１７】符号化処理の流れの、他の例を説明するフローチャートである。
【図１８】本発明を適用した符号化装置の、他の構成例を示すブロック図である。
【図１９】画面内符号化の予測モードの例を説明する模式図である。
【図２０】画面内符号化の予測モードの、他の例を説明する模式図である。
【図２１】符号化処理の流れの、さらに他の例を説明するフローチャートである。
【図２２】選択処理の流れの例を説明するフローチャートである。
【図２３】本発明を適用した出力装置の構成例を示すブロック図である。
【図２４】出力処理の流れの例を説明するフローチャートである。
【図２５】本発明を適用した復号装置の構成例を示すブロック図である。
【図２６】復号処理の流れの例を説明するフローチャートである。
【図２７】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２２１】
１００  符号化装置，  １０１  ビデオエンコーダ，  １０２  グループ化処理部，  １０３  バッファ，  １１１  グループ割り当て部，  １１２  多重化部，  １８１  統計情報生成部，  １９１  整列部，  １９２  割り当て部，  １９３  処理量マップ生成部，  ２００  復号装置，  ２０１  文法解析部，  ２０２  処理量マップ再構成部，  ２０３  分配部，  ２０４−１乃至２０４−３  ビデオデコーダ，  ２０５  画像再構成部，  ２３１  統計量算出部，  ２３２  統計情報生成部，  ３００  符号化装置，  ３０１Ａおよび３０１Ｂ  ビデオエンコーダ，  ３０２  グループ化処理部，  ４００  出力装置，  ４０１  読み出し指示部，  ４０２  記憶部，  ４１１  統計情報，  ４１２  ビットストリーム，  ５００  復号装置，  ５０１  文法解析部，  ５０２  グループ化処理部
【図１】
2009124209.tif 000003
【図２】
2009124209.tif 000004
【図３】
2009124209.tif 000005
【図４】
2009124209.tif 000006
【図５】
2009124209.tif 000007
【図６】
2009124209.tif 000008
【図７】
2009124209.tif 000009
【図８】
2009124209.tif 000010
【図９】
2009124209.tif 000011
【図１０】
2009124209.tif 000012
【図１１】
2009124209.tif 000013
【図１２】
2009124209.tif 000014
【図１３】
2009124209.tif 000015
【図１４】
2009124209.tif 000016
【図１５】
2009124209.tif 000017
【図１６】
2009124209.tif 000018
【図１７】
2009124209.tif 000019
【図１８】
2009124209.tif 000020
【図１９】
2009124209.tif 000021
【図２０】
2009124209.tif 000022
【図２１】
2009124209.tif 000023
【図２２】
2009124209.tif 000024
【図２３】
2009124209.tif 000025
【図２４】
2009124209.tif 000026
【図２５】
2009124209.tif 000027
【図２６】
2009124209.tif 000028
【図２７】
2009124209.tif 000029