(57)【要約】【課題】  符号化又は復号化処理を効率よく短時間に行い得る画像情報処理方法及び装置を提案する。【解決手段】  画像情報を所定のブロック単位で符号化し、又は符号化された当該画像情報をブロック単位で復号化する画像情報処理方法及び装置において、複数の符号化又は復号化部において、並列的に画像情報をブロック単位で符号化又は復号化すると共に、このとき各符号化又は復号化部の動作状態を監視し、１つのブロックの画像情報に対する符号化又は復号化を終えた符号化又は復号化部に対して、符号化又は復号化すべき新たなブロックを順次割り当てる一方、各符号化又は復号化部が、それぞれ第１の記憶手段に記憶された画像情報のうちの割り当てられたブロックの画像情報を符号化又は復号化するようにした。【選択図】        図１
2006060681.tif 000002
【特許請求の範囲】
【請求項１】
画像情報を所定のブロック単位で符号化し、又は上記符号化された当該画像情報を上記ブロック単位で復号化する画像情報処理方法において、
上記画像情報を第１の記憶手段に記憶する第１のステップと、
複数の符号化又は復号化部において、並列的に上記画像情報を上記ブロック単位で上記符号化又は上記復号化する第２のステップと
を具え、
上記第２のステップでは、
各上記符号化又は復号化部の動作状態を監視し、１つの上記ブロックの上記画像情報に対する上記符号化又は上記復号化を終えた上記符号化又は復号化部に対して、上記符号化又は上記復号化すべき新たな上記ブロックを順次割り当て、
各上記符号化又は復号化部は、
それぞれ第１の記憶手段に記憶された上記画像情報のうちの割り当てられた上記ブロックの上記画像情報を上記符号化又は上記復号化する
ことを特徴とする画像情報処理方法。
【請求項２】
上記第２のステップでは、
各上記符号化又は復号化部からそれぞれ出力される上記割当手段により割り当てられた上記ブロックの上記画像情報の読出し要求に応じて、タイミングが重ならないように調停しながら、上記第１の記憶手段から対応する上記ブロックの上記画像情報を読み出して対応する上記符号化又は復号化部に与える
ことを特徴とする請求項１に記載の画像情報処理方法。
【請求項３】
上記第２のステップでは、
各上記符号化又は復号化部からそれぞれ出力される書込み要求に応じて、タイミングが重ならないように調停しながら、上記符号化又は復号化部により上記符号化又は上記復号化された上記画像情報を第２の記憶手段に書き込む
ことを特徴とする請求項１に記載の画像情報処理方法。
【請求項４】
上記第２のステップでは、
各上記符号化又は復号化部が、上記符号化又は上記復号化した上記画像情報を、上記ブロックのデータサイズよりも小さい所定のデータサイズ単位で出力し、
各上記符号化又は復号化部から出力される上記データサイズ単位の上記符号化又は上記復号化された上記画像情報を、同じ上記ブロックの次の上記データサイズ単位の上記画像情報を書き込むべき上記第２の記憶手段上のアドレス位置を付加して当該データサイズ単位で上記第２の記憶手段に書き込む一方、各上記ブロックの先頭の上記データサイズ単位の上記画像情報が書き込まれた上記第２の記憶手段上のアドレス位置をテーブル化する
ことを特徴とする請求項３に記載の画像情報処理方法。
【請求項５】
上記第２のステップでは、
上記符号化又は復号化部に対して、上記符号化又は上記復号化すべき上記ブロックとして、重要度の高い上記ブロックを優先的に割り当てる
ことを特徴とする請求項１に記載の画像情報処理方法。
【請求項６】
画像情報を所定のブロック単位で符号化し、又は上記符号化された当該画像情報を上記ブロック単位で復号化する画像情報処理装置において、
上記画像情報を記憶する第１の記憶手段と、
複数の符号化又は復号化部を有し、各上記符号化又は復号化部において並列的に上記画像情報を上記ブロック単位で上記符号化又は上記復号化する画像情報処理手段と、
各上記符号化又は復号化部の動作状態を監視し、１つの上記ブロックの上記画像情報に対する上記符号化又は上記復号化を終えた上記符号化又は復号化部に対して、上記符号化又は上記復号化すべき新たな上記ブロックを順次割り当てる割当手段と
を具え、
各上記符号化又は復号化部は、
それぞれ第１の記憶手段に記憶された上記画像情報のうちの割り当てられた上記ブロックの上記画像情報を上記符号化又は上記復号化する
ことを特徴とする画像情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像情報処理方法及び装置に関し、例えばＪＰＥＧ（Joint Photographic Experts Group）２０００規格に準拠した符号化装置及び復号化装置に適用して好適なものである。
【背景技術】
【０００２】
近年、静止画像や動画像の画像データに対する新しいデータ圧縮方式として、ＪＰＥＧ２０００規格と呼ばれる圧縮方式が規格化されている。
【０００３】
図１２は、かかるＪＰＥＧ２０００規格に準拠した符号化装置１の構成を示すものである。この符号化装置１においては、供給される画像データＤ１に対して入力画像処理部２においてＤＣレベルシフト処理及び色変換処理等の所定の入力画像処理を施した後、得られた信号処理画像データＤ２をＤＷＴ（Discrete Wavelet Transform）部３に送出する。
【０００４】
ＤＷＴ部３は、供給される信号処理画像データＤ２に対してウェーブレット変換処理を施す。具体的には、図１３に示すように、信号処理画像データＤ２を低域周波数通過型及び高域周波数通過型の２分割フィルタを通すことにより、当該信号処理画像データＤ２に基づく画像を水平方向と垂直方向とに帯域（サブバンド）分割する。
【０００５】
なおこの図１３は、分割数が３レベルのものを示したものであり、図中『ＬＬ』は信号処理画像データＤ２における水平方向及び垂直方向が共に低域周波数側の成分、『ＬＨ』は信号処理画像データＤ２における水平方向が低域周波数側で垂直方向が高域周波数側の成分、『ＨＬ』は信号処理画像データＤ２における水平方向が高域周波数側で垂直方向が低域周波数側の成分、『ＨＨ』は信号処理画像データＤ２における水平方向及び垂直方向が共に高域周波数側の成分をそれぞれ示す。
【０００６】
そしてＤＷＴ部３は、このようなウェーブレット変換処理により得られたウェーブレット係数をＤＷＴデータＤ３として量子化部４に送出する。
【０００７】
量子化部４は、供給されるＤＷＴデータＤ３を順次量子化し、得られた量子化係数を、所定サイズ（64×64画素又は32×32画素）のコードブロックに切り分けて、当該コードブロック単位のコードブロックデータＤ４として、符号化部５を構成するＥＢＣＯＴ（Embedded Block Coding with Optimized Truncation）ブロック６のビットモデル部７に送出する。
【０００８】
ビットモデル部７は、供給されるコードブロックデータＤ４を、ビットプレーンごとにデータをスキャンしながらＣＢＭ（Coefficient Bit Modeling）処理により係数ビットモデル化し、かくして得られたシンボル（Symbol）及びコンテクスト（Context）の各データＤ５、Ｄ６を算術符号化（Arithmatic Coder）部８に送出する。
【０００９】
算術符号化部８は、供給されるシンボルデータＤ５及びコンテクストデータＤ６を入力として所定の算術符号化演算処理を実行することにより符号化列を生成し、これを符号化データＤ７としてパケタイズストリーム生成部９に送出する。
【００１０】
パケタイズストリーム生成部９は、供給される符号化データＤ７をＪＰＥＧ２０００規格に応じたパケットフォーマットにパケット化する。これによりＪＰＥＧ２０００規格のシンタクスに合致した符号化パケットデータＤ８を得ることができる。
【００１１】
一方、図１４は、ＪＰＥＧ２０００規格に準拠した復号化装置１０の構成を示すものである。この復号化装置１０においては、上述のようにして生成されたＪＰＥＧ２０００規格のシンタクスに合致した符号化パケットデータＤ１０から画像情報部分である符号化データＤ１１を抽出し、これを復号化部１２を構成するＥＢＣＯＴブロック１３の算術復号化部１４に送出する。
【００１２】
算術復号化部１４は、符号化データＤ１１及び後段のビットデモデル部１５から与えられるコンテクストデータＤ１２を入力とした所定の算術復号化演算処理を実行し、かくして得られたシンボルデータＤ１３をビットデモデル部１５に送出する。
【００１３】
ビットデモデル部１５は、供給されるシンボルデータＤ１３をＣＢＭ処理により係数ビットモデル化し、得られた復号されたコードブロックデータＤ１４を逆量子化部１６に送出する。またビットデモデル部１５は、かかるコードブロックデータＤ１４と共に得られたコンタクスをコンタクスデータＤ１２として算術復号化部１４に送出する。
【００１４】
逆量子化部１６は、供給される復号量子化データＤ１４に対して逆量子化処理を施すことによりウェーブレット係数を得、これを復号ＤＷＴデータＤ１６としてＩＤＷＴ部１７に送出する。またＩＤＷＴ部１６は、供給される復号ＤＷＴデータＤ１６に対してウェーブレット逆変換処理を施し、得られたウェーブレット逆変換画像データＤ１６を入力画像処理部１８に送出する。
【００１５】
そして入力画像処理部１８は、このウェーブレット逆変換画像データＤ１６に対して所定の信号処理を施す。これにより符号化装置１（図１２）において符号化された画像データＤ１（図１２）を復号した画像データＤ１７を得ることができる。
【００１６】
なお、ＪＰＥＧ２０００規格に準拠した符号化装置及び復号化装置に関する先行技術文献としては、以下のものがある（特許文献１参照）。
【特許文献１】特開２００３−８９０６公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ところで、一般的にＪＰＥＧ２０００規格による符号化処理や復号化処理は、従来のＪＰＥＧ規格による符号化処理や復号化処理に比べて複雑であるとされている。この複雑とされる部分は、主として符号化装置１（図１２）のＥＢＣＯＴブロック６（図１２）において行われるＣＢＭ処理及び算術符号化演算処理からなるＥＢＣＯＴ処理や、復号化装置１０（図１４）のＥＢＣＯＴブロック１３（図１４）において行われる算術復号化演算処理及びＣＢＭ処理からなるＥＢＣＯＴ処理であり、このためこの部分の性能を改善しようとする技術が従来からいくつか提案されている。
【００１８】
しかしながら、画素数が多い画像を扱う場合や、処理すべき画像枚数が多い場合などには、かかる改善された技術を適用したとしてもＥＢＣＯＴ処理に依然として多くの時間を要し、実用上未だ不十分な問題があった。
【００１９】
そこで、従来、かかる問題を解決するための手法として、かかる符号化装置１の符号化部５や復号化装置１０の復号化部１２内に図１２について上述したＥＢＣＯＴブロック６又は図１４について上述したＥＢＣＯＴブロック１３を複数用意し、これら複数のＥＢＣＯＴブロック６、１３によって並列的にＥＢＣＯＴ処理を行う方法が提案されている。そしてこの方法によれば、かかるＥＢＣＯＴ処理を効率良く短時間に行うことができる。
【００２０】
図１５は、このようにＥＢＣＯＴ処理を並列的に行うための回路構成の一例として、図１２について上述した１つのＥＢＣＯＴブロック６からなる符号化部５に代えて符号化装置１に適用される符号化部２０の構成例を示すものである。
【００２１】
この符号化部２０は、メモリ２１、複数のＥＢＣＯＴブロック２２１〜２２ｎ、コントローラ２３及びセレクタ２４から構成され、前段の量子化部４（図１２）から供給されるコードブロックデータＤ４（図１２）をメモリ２１に順次記憶するようになされている。
【００２２】
そしてこのメモリ１０に記憶されたコードブロックデータＤ４は、この後コントローラ２３からのアドレスを指定した読出し要求に基づいて、所定のタイミングでコードブロック番号順にコードブロック単位でそれぞれ読み出され、各ＥＢＣＯＴブロック２２１〜２２ｎに順番にかつ循環的に与えられる。
【００２３】
各ＥＢＣＯＴブロック２２１〜２２ｎは、それぞれ図１２について上述したＥＢＣＯＴブロック６と同様の構成を有し、それぞれ供給されるコードブロックデータＤ４に対してＥＢＣＯＴ処理を施し、得られた符号化データＤ７をセレクタ２４を介してメモリ２１に送出する。
【００２４】
かくしてメモリ２１は、コントローラ２３の制御のもとに、各ＥＢＣＯＴブロック２２１〜２２ｎからそれぞれ与えられる符号化データＤ７を対応する記憶領域に順次記憶する。そしてこの記憶された符号化データＤ７は、この後所定のタイミングでメモリ２１から読み出されて、後段のパケッタイズ・ストリーム生成部９に与えられる。
【００２５】
この場合において、かかる符号化部２０では、メモリ２１から各ＥＢＣＯＴブロック２２１〜２２ｎへのコードブロックデータＤ４の転送及び各ＥＢＣＯＴブロック２２１〜２２ｎにおけるＥＢＣＯＴ処理が図１６に示すように時分割的に行われる。
【００２６】
すなわち、各ＥＢＣＯＴブロック２２１〜２２ｎには、コントローラ２３の制御のもとに順次一定長のタイムスロットＴＳが割り当てられる。このとき各ＥＢＣＯＴブロック２２１〜２２ｎに割り当てられる各タイムスロットＴＳは、データ入出力タイミングが他のＥＢＣＯＴブロック２２１〜２２ｎと衝突しないように、当該他のＥＢＣＯＴブロック２２１〜２２ｎのタイムスロットＴＳと時間をずらして設定される。
【００２７】
そして各ＥＢＣＯＴブロック２２１〜２２ｎは、タイムスロットＴＳごとに、そのタイムスロットＴＳの最初の時間でメモリ２１から転送されるコードブロックデータＤ４を取り込み、このコードブロックデータＤ４についてＥＢＣＯＴ処理を施した（図中斜線で示す部分）後に、得られた符号化データＤ７を当該タイムスロットＴＳの最後の時間でメモリ２１に転送するという処理を繰り返す。
【００２８】
このとき、各ＥＢＣＯＴブロック２２１〜２２ｎから出力される符号化データＤ４の出力タイミングが固定であるため、コントローラ２３が、セレクタ２４の切り換えを制御しながら、メモリ２１に対して各コードブロックの符号化データＤ７の書込みアドレスを順次指定することによって、これら符号化データＤ７を整然とメモリ２１に書き込むことができる。
【００２９】
ところで、図１６からも明らかなように、各ＥＢＣＯＴブロック２２１〜２２ｎにおいて行われるＥＢＣＯＴ処理に要する時間（図中斜線で示す部分の時間）は、そのコードブロックの絵柄の複雑さ等に応じてコードブロックごとに異なる。このため、ＥＢＣＯＴ処理に要する時間が短い場合には、符号化データＤ７を出力するタイミングとして設定されたそのタイムスロットＴＳの終わりまでの間そのＥＢＣＯＴブロック部２２１〜２２ｎがＥＢＣＯＴ処理を行っていない、いわゆる遊んでいる状態となる。
【００３０】
また上述のようにＥＢＣＯＴ処理を時分割で行う場合には、１つのコードブロックをＥＢＣＯＴ処理するために設定されるタイムスロットＴＳの時間が、実際にＥＢＣＯＴ処理に要する時間の最大値よりも大きい値に設定されることから、かかるＥＢＣＯＴブロック２２１〜２２ｎが遊んでいる時間が無視できず、このような時分割処理ではＥＢＣＯＴブロック２２１〜２２ｎの並列化によるメリットを十分には享受できない問題があった。
【００３１】
本発明は以上の点を考慮してなされたもので、符号化又は復号化処理を効率よく短時間に行い得る画像情報処理方法及び装置を提案しようとするものである。
【課題を解決するための手段】
【００３２】
かかる課題を解決するため本発明においては、画像情報を所定のブロック単位で符号化し、又は符号化された当該画像情報をブロック単位で復号化する画像情報処理方法において、画像情報を第１の記憶手段に記憶する第１のステップと、複数の符号化又は復号化部において、並列的に画像情報をブロック単位で符号化又は復号化する第２のステップとを設け、第２のステップでは、各符号化又は復号化部の動作状態を監視し、１つのブロックの画像情報に対する符号化又は復号化を終えた符号化又は復号化部に対して、符号化又は復号化すべき新たなブロックを順次割り当て、各符号化又は復号化部が、それぞれ第１の記憶手段に記憶された画像情報のうちの割り当てられたブロックの画像情報を符号化又は復号化するようにした。
【００３３】
この結果この画像情報処理方法によれば、符号化又は復号化部の遊び時間の発生を有効に防止して、各符号化又は復号化部を効率良く稼働させることができる。
【００３４】
また本発明においては、画像情報を所定のブロック単位で符号化し、又は符号化された当該画像情報をブロック単位で復号化する画像情報処理装置において、画像情報を記憶する第１の記憶手段と、複数の符号化又は復号化部を有し、各符号化又は復号化部において並列的に画像情報をブロック単位で符号化又は復号化する画像情報処理手段と、各符号化又は復号化部の動作状態を監視し、１つのブロックの画像情報に対する符号化又は復号化を終えた符号化又は復号化部に対して、符号化又は復号化すべき新たなブロックを順次割り当てる割当手段とを設け、各符号化又は復号化部が、それぞれ第１の記憶手段に記憶された画像情報のうちの割り当てられたブロックの画像情報を符号化又は復号化するようにした。
【００３５】
この結果この画像情報処理装置では、符号化又は復号化部の遊び時間の発生を有効に防止して、各符号化又は復号化部を効率良く稼働させることができる。
【発明の効果】
【００３６】
本発明によれば、画像情報を所定のブロック単位で符号化し、又は符号化された当該画像情報をブロック単位で復号化する画像情報処理方法及び装置において、複数の符号化又は復号化部において、並列的に画像情報をブロック単位で符号化又は復号化すると共に、このとき各符号化又は復号化部の動作状態を監視し、１つのブロックの画像情報に対する符号化又は復号化を終えた符号化又は復号化部に対して、符号化又は復号化すべき新たなブロックを順次割り当てる一方、各符号化又は復号化部が、それぞれ第１の記憶手段に記憶された画像情報のうちの割り当てられたブロックの画像情報を符号化又は復号化するようにしたことにより、符号化又は復号化部の遊び時間の発生を有効に防止して、各符号化又は復号化部を効率良く稼働させることができ、かくして符号化又は復号化処理を効率よく短時間に行い得る画像情報処理方法及び装置を実現できる。
【発明を実施するための最良の形態】
【００３７】
以下図面について、本発明の一実施の形態を詳述する。
【００３８】
（１）第１の実施の形態
（１−１）原理
図１５及び図１６について上述したＥＢＣＯＴの時分割並列処理では、ＥＢＣＯＴブロックが遊んでいる時間が多いために、ＥＢＣＯＴの並列処理によるメリットを十分には享受できないことは、上述の通りである。
【００３９】
そこで本願発明によるＥＢＣＯＴ処理方式では、図１に示すように、ＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）が１つのコードブロックについてのＥＢＣＯＴ処理を終了したら直ちにその符号化データＤ７を出力させる一方、その後直ちにそのＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）に他のコードブロックのコードブロックデータＤ４を振り分け、当該ＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）にそのコードブロックについてのＥＢＣＯＴ処理を直ちに開始させるようにする。
【００４０】
そしてこのようなＥＢＣＯＴの逐次型の並列処理を採用することによって、ＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）の遊び時間の発生を有効に防止して各ＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）を効率良く稼働させることができ、この結果、図１６について上述したＥＢＣＯＴの時分割並列処理によって１枚の画像に対するＥＢＣＯＴ処理を行う場合に必要とされる合計時間Ｔ１（図１６）と比べて、格段的に短い合計時間Ｔ２で当該ＥＢＣＯＴ処理を行うことができる。
【００４１】
ただし、かかる逐次型の並列処理によると、各コードブロックのＥＢＣＯＴ処理に必要な時間にデータ依存性があることに起因して、図２において楕円で囲んだ部分のように、あるＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）のデータ入出力タイミングと他のＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）のデータ入出力タイミングと重なってしまうことが確率的に起こり得る。
【００４２】
そしてこの場合には、いずれかのＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）に入力すべきコードブロックデータＤ４のメモリ２１からの読み出しや、いずれかのＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）から出力された符号化データＤ７のメモリ２１への書き込みを行うことができない事態が発生する。
【００４３】
そこで本願発明によるＥＢＣＯＴ処理方式では、図３に示すように、このようないくつかのＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）のデータ入出力タイミングが重なる事態が発生した場合でも対処できるように、データ入力及びデータ出力について、それぞれ調停を行うようにする。なおこの図３は、ＥＢＣＯＴブロック「ＥＢＣＯＴ♯１」における「９」番のコードブロックの符号化データＤ７の出力タイミングと、ＥＢＣＯＴブロック「ＥＢＣＯＴ♯３」における「４」番のコードブロックの符号化データＤ７の出力タイミングとが調停により遅れたことを表している。
【００４４】
さらに図１６について上述した従来のＥＢＣＯＴ処理においては、どのＥＢＣＯＴブロックにどのコードブロックのコードブロックデータを振り分けるかが予め完全にスケジュールされ、１つのＥＢＣＯＴブロックが処理するコードブロック数が事前に確定していたが、本願によるＥＢＣＯＴ処理方式では、１つのＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）が処理するコードブロック数の制限を無くし、未処理のコードブロックに対するＥＢＣＯＴ処理をそのとき空いているＥＢＣＯＴブロック（ＥＢＣＯＴ♯０〜ＥＢＣＯＴ♯３）に順次割り当てるようにする。
【００４５】
例えば図１の場合には、ＥＢＣＯＴブロック「ＥＢＣＯＴ♯２」が１９番目のコードブロックに対するＥＢＣＯＴ処理を開始し、又はＥＢＣＯＴブロック「ＥＢＣＯＴ♯３」が２０番目のコードブロックに対するＥＢＣＯＴ処理を開始する前に既にＥＢＣＯＴブロック「ＥＢＣＯＴ♯０」及びＥＢＣＯＴブロック「ＥＢＣＯＴ♯１」が処理を終えているため、このような場合には図４に示すように、１９番目のコードブロックに対するＥＢＣＯＴ処理をＥＢＣＯＴブロック「ＥＢＣＯＴ♯０」に割り当て、２０番目のコードブロックに対するＥＢＣＯＴ処理をＥＢＣＯＴブロック「ＥＢＣＯＴ♯１」に割り当てるようにする。
【００４６】
これにより図１及び図４の比較からも明らかなように、１枚の画像のＥＢＣＯＴ処理に要する合計時間Ｔ４を、図１の場合に必要となる合計時間Ｔ２と比べてより一層と短縮することができる。
【００４７】
（１−２）本実施の形態による符号化部の構成
ここで図５は、上述のような本願発明によるＥＢＣＯＴ処理方式を採用した、図１５について上述した符号化部２０に代えて図１２について上述した符号化装置１に適用される本実施の形態による符号化部３０の構成を示すものである。
【００４８】
この符号化部３０は、メモリ３１と、第１及び第２の調停部３２、３３と、第１及び第２の調停部間３２、３３に並列配置された複数（以下、本実施の形態では４つとする）のＥＢＣＯＴブロック３４１〜３４４からなるＥＢＣＯＴブロック群３５と、マイクロコンピュータ構成のコントローラ３６とから構成されている。
【００４９】
そしてこの符号化部３０では、前段の量子化部４（図１２）から供給されるコードブロック単位のコードブロックデータＤ４をメモリ３１に順次記憶するようになされている。
【００５０】
またＥＢＣＯＴブロック群３５の各ＥＢＣＯＴブロック３４１〜３４４は、現在、ＥＢＣＯＴ処理を行っているか否かという現在の自己の動作状態を動作状態情報Ｄ２０１〜Ｄ２０４としてコントローラ３６にそれぞれ通知する。
【００５１】
コントローラ３６は、各ＥＢＣＯＴブロック３４１〜３４４からそれぞれ与えられる動作状態情報Ｄ２０１〜Ｄ２０４を常時監視し、これら動作状態情報Ｄ２０１〜Ｄ２０４に基づいて各ＥＢＣＯＴブロック３４１〜３４４に対して処理すべきコードブロックを順次割り当てる。
【００５２】
すなわちコントローラは、各ＥＢＣＯＴブロック３４１〜３４４から与えられる動作状態情報Ｄ２０１〜Ｄ２０４に基づきＥＢＣＯＴ処理を行っていないＥＢＣＯＴブロック３４１〜３４４を検出すると、そのＥＢＣＯＴブロック３４１〜３４４に対して、未だＥＢＣＯＴ処理を行っていないコードブロックの中から１つのコードブロックを選択して、そのコードブロックのコードブロック番号を対象コードブロック情報Ｄ２１として送出する。またコントローラ３６は、この対象コードブロック情報Ｄ２１と併せて、そのコードブロックに対するＥＢＣＯＴ処理の実行命令をＥＢＣＯＴ処理部実行命令ＣＯＭ１として送出する。
【００５３】
このときＥＢＣＯＴブロック３４１〜３４４は、それぞれコントローラ３６から与えられる対象コードブロック情報Ｄ２１に基づいて、そのときＥＢＣＯＴ処理すべきコードブロックをメモリ３１から読み出すための読出し読出しアドレスや、当該コードブロックをＥＢＣＯＴ処理することにより得られた符号化データＤ７をメモリ３１に書き込む際の書込みアドレスを発生させるアドレス発生部３４Ａを有している。
【００５４】
そして各ＥＢＣＯＴブロック３４１〜３４４は、コントローラ３６から対象コードブロック情報Ｄ２１が与えられると、アドレス発生部３４Ａにおいて、この対象コードブロック情報Ｄ２１に基づき認識される対象とするコードブロックのコードブロック番号と、予め与えられているメモリ３１における各コードブロックのコードブロックデータＤ４の格納位置とに基づいて対応する読出しアドレスを発生させ、これを読出し要求と共に第１の調停部３２に送出する。
【００５５】
第１の調停部３２は、ＥＢＣＯＴブロック３４１〜３４４から与えられる読出し要求に応じて、読み出しタイミングがぶつからないように図３について上述した調停を行いながら、当該読出し要求と共に与えられた読出しアドレスに基づいて、対応するコードブロックのコードブロックデータＤ４を読み出し、これを読出し要求のあったＥＢＣＯＴブロック３４１〜３４４に送出する。
【００５６】
かくしてＥＢＣＯＴブロック３４１〜３４４は、第１の調停部３２からコードブロックデータＤ４が与えられると、図１６について上述したＥＢＣＯＴ２２１〜２２ｎと同様構成のＥＢＣＯＴ処理部３４Ｂにおいて、このコードブロックデータＤ４に対してＥＢＣＯＴ処理を施すことにより符号化データＤ７を生成する。
【００５７】
またＥＢＣＯＴブロック３４１〜３４４は、このようにして生成した符号化データＤ７を、上述のコントローラ３６から与えられたそのコードブロックについての対象コードブロック情報Ｄ４に基づいてアドレス発生部３４Ａにおいて発生させた書込みアドレス及び書込み要求と共に第２の調停部３３に送出する。
【００５８】
第２の調停部３３は、ＥＢＣＯＴブロック３４１〜３４４から与えられる書込み要求に応じて、ＥＢＣＯＴブロック３４１〜３４４から出力された符号化データＤ７を、書込みタイミングがぶつからないように調停しながら、当該符号化データＤ７と共に与えられた書込みアドレスにより指定されたメモリ３１上のアドレス位置に順次書き込む。
【００５９】
そしてこのメモリ３１に書き込まれた符号化データは、この後、後段のパケッタイズ・ストリーム生成部９（図１２）により所定のタイミングで読み出される。
【００６０】
このようにしてこの符号化部３０においては、量子化部４（図１２）から与えられる各コードブロックのコードブロックデータＤ４（図１２）をそれぞれ順次ＥＢＣＯＴ処理し得るようになされている。
【００６１】
なおこの符号化部３０の場合、各ＥＢＣＯＴブロック３４１〜３４４にそれぞれ対応させて、例えば１コードブロック分のコードブロックデータＤ４を記憶保持し得る程度の記憶容量を有するバッファメモリ３７１〜３７４が第１の調停部３２内に設けられており、第１の調停部３２及び各ＥＢＣＯＴブロック３４１〜３４４間におけるコードブロックデータＤ４のやり取りを、これらバッファメモリ３７１〜３７４のうちの対応するバッファメモリ３７１〜３７４を介して行うようになされている。
【００６２】
またこの符号化部３０の場合、これと同様に第２の調停部３３内には、各ＥＢＣＯＴブロック３４１〜３４４にそれぞれ対応させて、例えば１コードブロック分のコードブロックデータＤ４を記憶保持し得る程度の記憶容量を有するバッファメモリ３８１〜３８４が設けられており、各ＥＢＣＯＴブロック３４１〜３４４及び第２の調停部３３間における符号化データＤ７のやり取りを、これらバッファメモリ３８１〜３８４のうちの対応するバッファメモリ３８１〜３８４を介して行うようになされている。
【００６３】
これによりこの符号化部３０においては、各ＥＢＣＯＴブロック３４１〜３４４の入力側に、処理すべきコードブロックデータＤ４を予め用意し、各ＥＢＣＯＴブロック３４１〜３４４の出力側に、メモリ３１への書込み待ちの符号化データＤ７を蓄えておくことができ、かくしてある１つのＥＢＣＯＴブロック３４１〜３４４がメモリ３１との通信を占有することにより調停に時間がかかった場合においても、他のＥＢＣＯＴブロック３４１〜３４４にＥＢＣＯＴ処理を滞らせることなく行わせることができるようになされている。
【００６４】
（１−３）コードブロック割当て処理手順
ここでコントローラ３６は、各ＥＢＣＯＴブロック３４１〜３４４に対する上述のようなＥＢＣＯＴ処理すべきコードブロックの割当て処理を、その内部ＲＯＭ３６Ａに格納された制御プログラムに基づき、図６に示すコードブロック割当て処理手順ＲＴ１に従って実行する。
【００６５】
すなわちコントローラ３６は、量子化部４（図１２）から新たな１画像分の各コードブロックのコードブロックデータＤ４が転送されてメモリ３１に記憶され始めると、所定のタイミングでこのコードブロック割当て処理手順ＲＴ１をステップＳＰ０において開始し、続くステップＳＰ１において、ＥＢＣＯＴ処理が完了したコードブロックの数をカウントするカウンタ（以下、これを処理完了コードブロックカウンタと呼ぶ）のカウント値ｉを「０」にセット（すなわちリセット）する。
【００６６】
続いてコントローラ３６は、ステップＳＰ２に進んで、各ＥＢＣＯＴブロック３４１〜３４４から与えられる動作状態情報Ｄ２０１〜Ｄ２０４に基づいて、１番目のＥＢＣＯＴブロック３４１が、現在、ＥＢＣＯＴ処理を実行中であるか否かを判断する。
【００６７】
そしてコントローラ３６は、このステップＳＰ２において否定結果を得ると、ステップＳＰ３に進んで、１番目のＥＢＣＯＴブロック３４１に対して、処理完了コードブロックカウンタのカウント値ｉに「１」を加えた数値を、次にＥＢＣＯＴ処理すべき新たなコードブロックのコードブロック番号として対象コードブロック情報Ｄ４として送出する一方、これと併せてそのＥＢＣＯＴブロック３４１に対してＥＢＣＯＴ処理部実行命令ＣＯＭ１を送出する。
【００６８】
またコントローラ３６は、この後ステップＳＰ１０に進んで、処理完了コードブロックカウンタのカウント値ｉをインクリメントし（「１」増加させ）、この後ステップＳＰ１１に進んで、処理完了コードブロックカウンタのカウント値ｉと、予め与えられている１画像分のコードブロック数とに基づいて、すべてのコードブロックに対するＥＢＣＯＴ処理を終了したか否かを判断する。
【００６９】
そしてコントローラ３６は、このステップＳＰ１１において否定結果を得るとステップＳＰ２に戻り、この後同様の処理を繰り返す。
【００７０】
一方、コントローラ３６は、ステップＳＰ２において肯定結果を得ると、ステップＳＰ４に進んで、各ＥＢＣＯＴブロック３４１〜３４４から与えられる動作状態情報Ｄ２０１〜Ｄ２０４に基づいて、２番目のＥＢＣＯＴブロック３４２が、現在、ＥＢＣＯＴ処理を実行中であるか否かを判断する。
【００７１】
そしてコントローラ３６は、このステップＳＰ４において否定結果を得ると、ステップＳＰ５に進んで、２番目のＥＢＣＯＴブロック３４２に対して、処理完了コードブロックカウンタのカウント値ｉに「１」を加えた数値を、次にＥＢＣＯＴ処理すべき新たなコードブロックのコードブロック番号として対象コードブロック情報Ｄ４として送出する一方、これと併せてそのＥＢＣＯＴブロック３４２に対してＥＢＣＯＴ処理部実行命令ＣＯＭ１を送出する。
【００７２】
またコントローラ３６は、この後ステップＳＰ１０に進んで、処理完了コードブロックカウンタのカウント値ｉをインクリメントし、この後ステップＳＰ１１に進んで、処理完了コードブロックカウンタのカウント値ｉ等に基づいて、すべてのコードブロックに対するＥＢＣＯＴ処理を終了したか否かを判断する。
【００７３】
そしてコントローラ３６は、このステップＳＰ１１において否定結果を得るとステップＳＰ２に戻り、この後同様の処理を繰り返す。
【００７４】
他方、コントローラ３６は、ステップＳＰ４において肯定結果を得ると、ステップＳＰ６に進んで、各ＥＢＣＯＴブロック３４１〜３４４から与えられる動作状態情報Ｄ２０１〜Ｄ２０４に基づいて、３番目のＥＢＣＯＴブロック３４３が、現在、ＥＢＣＯＴ処理を実行中であるか否かを判断する。
【００７５】
そしてコントローラ３６は、このステップＳＰ６において否定結果を得ると、ステップＳＰ７に進んで、３番目のＥＢＣＯＴブロック３４３に対して、対象データコードブロック番号カウンタのカウント値ｉに「１」を加えた数値を、次にＥＢＣＯＴ処理すべき新たなコードブロックのコードブロック番号として対象コードブロック情報Ｄ４として送出する一方、これと併せてそのＥＢＣＯＴブロック３４３に対してＥＢＣＯＴ処理部実行命令ＣＯＭ１を送出する。
【００７６】
またコントローラ３６は、この後ステップＳＰ１０に進んで、処理完了コードブロックカウンタのカウント値ｉをインクリメントし、この後ステップＳＰ１１に進んで、処理完了コードブロックカウンタのカウント値ｉ等に基づいて、すべてのコードブロックに対するＥＢＣＯＴ処理を終了したか否かを判断する。
【００７７】
そしてコントローラ３６は、このステップＳＰ１１において否定結果を得るとステップＳＰ２に戻り、この後同様の処理を繰り返す。
【００７８】
さらにコントローラ３６は、ステップＳＰ６において肯定結果を得ると、ステップＳＰ８に進んで、各ＥＢＣＯＴブロック３４１〜３４４から与えられる動作状態情報Ｄ２０１〜Ｄ２０４に基づいて、４番目のＥＢＣＯＴブロック３４４が、現在、ＥＢＣＯＴ処理を実行中であるか否かを判断する。
【００７９】
そしてコントローラ３６は、このステップＳＰ６において否定結果を得ると、ステップＳＰ９に進んで、４番目のＥＢＣＯＴブロック３４４に対して、処理完了コードブロックカウンタのカウント値ｉに「１」を加えた数値を、次にＥＢＣＯＴ処理すべき新たなコードブロックのコードブロック番号として対象コードブロック情報Ｄ４として送出する一方、これと併せてそのＥＢＣＯＴブロック３４４に対してＥＢＣＯＴ処理部実行命令ＣＯＭ１を送出する。
【００８０】
またコントローラ３６は、この後ステップＳＰ１０に進んで、処理完了コードブロックカウンタのカウント値ｉをインクリメントし、この後ステップＳＰ１１に進んで、処理完了コードブロックカウンタのカウント値ｉ等に基づいて、すべてのコードブロックに対するＥＢＣＯＴ処理を終了したか否かを判断する。
【００８１】
そしてコントローラ３６は、このステップＳＰ１１において否定結果を得るとステップＳＰ２に戻り、この後同様の処理を繰り返す。
【００８２】
そしてコントローラ３６は、やがてそのとき対象としている１画像分のすべてのコードブロックについてのＥＢＣＯＴ処理を終了することによりステップＳＰ１１において肯定結果を得ると、ステップＳＰ１２に進んでこのコードブロック割当て処理手順ＲＴ１を終了する。
【００８３】
このようにしてコントローラ３６は、１つのコードブロックに対するＥＢＣＯＴ処理を終了したＥＢＣＯＴブロック３４１〜３４４に対して未処理のコードブロックのＥＢＣＯＴ処理を順次割り当てるようになされ、これにより符号化部３０全体として効率良くＥＢＣＯＴ処理を行い得るようになされている。
【００８４】
（１−４）本実施の形態の動作及び効果
以上の構成において、この符号化装置３０では、前段の量子化部４（図１２）から供給されてメモリ３１に順次記憶される１画像分の各コードブロックのコードブロックデータＤ４を、ＥＢＣＯＴブロック群３５の各ＥＢＣＯＴブロック３４１〜３４４において並列的にコードブロック単位でＥＢＣＯＴ処理する一方、このときコントローラ３６が、各ＥＢＣＯＴブロック３４１〜３４４の動作状態を監視し、１つのコードブロックのＥＢＣＯＴ処理を終えたＥＢＣＯＴブロック３４１〜３４４に対して、次にＥＢＣＯＴ処理すべき新たなコードブロックを順次割り当てる。
【００８５】
従って、この符号化装置３０では、各ＥＢＣＯＴブロック３４１〜３４４の遊び時間の発生を有効に防止して各ＥＢＣＯＴブロック３４１〜３４４を効率良く稼働させることができ、その分図１６について上述したＥＢＣＯＴの時分割並列処理によって１枚の画像に対するＥＢＣＯＴ処理を行う場合と比べて、格段的に短い時間で当該ＥＢＣＯＴ処理を行うことができる。
【００８６】
以上の構成によれば、メモリ３１に記憶された１画像分の各コードブロックのコードブロックデータＤ４を、ＥＢＣＯＴブロック群３５の各ＥＢＣＯＴブロック３４１〜３４４において並列的にコードブロック単位でＥＢＣＯＴ処理する一方、このときの各ＥＢＣＯＴブロック３４１〜３４４の動作状態を監視し、１つのコードブロックのＥＢＣＯＴ処理を終えたＥＢＣＯＴブロック３４１〜３４４に対して、次にＥＢＣＯＴ処理すべき新たなコードブロックを順次割り当てるようにしたことにより、ＥＢＣＯＴブロック３４１〜３４４の遊び時間の発生を有効に防止して各ＥＢＣＯＴブロック３４１〜３４４を効率良く稼働させることができ、かくしてＥＢＣＯＴ処理を効率よく短時間に行い得る符号化装置を実現できる。
【００８７】
（２）第２の実施の形態
（２−１）原理
第１の実施の形態のように、各ＥＢＣＯＴブロック３４１〜３４４からそれぞれ出力される各コードブロックの符号化データＤ７を書込みタイミングを調停しながらメモリ３１に書き込む場合、これら各コードブロックの符号化データＤ７のすべてをコードブロック番号順に並べて一本化してメモリ３１に格納することは難しい。
【００８８】
これは、コードブロックごとに発生する符号化データＤ７のデータ量が異なるため、予めメモリ３１内に各コードブロックの符号化データＤ７を書き込むための固定の記憶領域を無駄なくコードブロック番号順に確保しておくことができないからである。
【００８９】
またＥＢＣＯＴブロック３４１〜３４４から出力された符号化データＤ７を対応するバッファメモリ３８１〜３８４においてバッファリングしながら、コードブロック番号順に並べてメモリ３１に格納する方法も考えられるものの、この方法による場合には、最悪の場合を想定して各バッファメモリ３８１〜３８４の記憶容量を設定する必要があることから、これらバッファメモリ３８１〜３８４として記憶容量が極めて大きいものが必要となる。
【００９０】
加えて、バッファメモリ３８１〜３８４からメモリ３１へのデータ転送の単位が大きくなると、調停による待ちが多く発生する事態も考えられる。
【００９１】
そこで本実施の形態によるＥＢＣＯＴ処理方式では、１つのコードブロックのコードブロックデータＤ４をＥＢＣＯＴブロック３４１〜３４４においてＥＢＣＯＴ処理することにより得られる符号化データＤ７を、細かいデータサイズ単位（以下、これをメモリ書込みデータサイズ単位と呼ぶ）に分け、このメモリ書込みデータサイズ単位でパケット化（以下、これをデータ部用データパケットＤＰ１〜ＤＰｎ（図７参照）と呼ぶ）して、メモリ３１に隙間なく順不同に順次書き込むようにする。なおコードブロックの最後のデータ部用データパケットＤＰｎにおいて、残りの符号化データＤ７のデータサイズがメモリ書込みデータサイズ単位に満たないときには、不足分をゼロデータで埋めるようにする（図７の「0 stuffing」）。
【００９２】
またこの際、図７に示すように、符号化データＤ７が格納された各コードブロックの最初のパケットを書き込んだメモリ３１上のアドレス（「Data Address」）をコードブロック番号順に並べて記述したテーブル（以下、これをアロケーションテーブルと呼ぶ）４０を作成する一方、コードブロックの最後のデータ部用データパケットＤＰｎを除く各データ部用データパケットＤＰ１〜ＤＰｎ−１の先頭部分には、同じコードブロックの次のデータ部用データパケットＤＰ２〜ＤＰｎが書き込まれるメモリ３１上のアドレス（「Next Address」）を挿入するようにする。またコードブロックの最後のデータ部用データパケットＤＰｎの先頭部分には、かかるアドレスに代えて、これ以上続きのデータ部用データパケットＤＰ１〜ＤＰｎがないことを意味するエンドマーク（「End mark」）を挿入するようにする。
【００９３】
この結果、このＥＢＣＯＴ処理方式によれば、アロケーションテーブル４０を参照することによって、各コードブロックの符号化データＤ７をパケット順にメモリ３１から読み出すことができる一方で、このときメモリ３１やバッファメモリ３８１〜３８４内に予め各コードブロックの符号化データＤ７を書き込むための固定の記憶領域を、コードブロック番号順にそれぞれ最悪の場合を想定した大きさで確保しておく必要がないため、メモリ３１やバッファメモリ３８１〜３８４の容量削減を図ることができ、さらにメモリ３１への符号化データＤ７の書き込みがデータ量の小さいメモリ書込みデータサイズ単位で行われるため、調停時の待ち時間を低減することができる。
【００９４】
（２−２）本実施の形態による符号化部５０の構成
ここで、図５との対応部分に同一符号を付して示した図８は、かかる本願発明のＥＢＣＯＴ処理方式を採用した、第２の実施の形態による符号化部５０を示すものである。
【００９５】
この符号化部５０は、図１２について上述した符号化装置１の符号化部５に代えて当該符号化装置１に適用されるものであり、各コードブロックのコードブロックデータＤ４をＥＢＣＯＴ処理することにより得られた符号化データＤ７を、１つのコードブロックをＥＢＣＯＴ処理することにより得られる符号化データＤ７のデータサイズよりも小さい上述のメモリ書込みデータサイズ単位でパケット化してメモリ３１にランダムに順次書き込むようになされた点を除いて第１の実施の形態による符号化部３０（図５）とほぼ同様に構成されている。
【００９６】
実際上、この符号化部５０は、メモリ３１と、第１及び第２の調停部３２、５３と、第１及び第２の調停部間３２、５３に並列配置された複数（以下、本実施の形態では４つとする）のＥＢＣＯＴブロック５１１〜５１４からなるＥＢＣＯＴブロック群５２と、マイクロコンピュータ構成のコントローラ３６とから構成されている。
【００９７】
そしてこの符号化部５０の場合も、前段の量子化部４（図１２）から供給されて順次メモリ３１に記憶される各コードブロックのコードブロックデータＤ４を、ＥＢＣＯＴブロック群５２の各ＥＢＣＯＴブロック５１１〜５１４のＥＢＣＯＴ処理部５１Ａにおいて並列的にコードブロック単位でＥＢＣＯＴ処理する一方、このときの各ＥＢＣＯＴブロック３４１〜３４４の動作状態をコントローラ３６が監視し、１つのコードブロックに対するＥＢＣＯＴ処理を終えたＥＢＣＯＴブロック３４１〜３４４に対して、次にＥＢＣＯＴ処理すべき新たなコードブロックを順次割り当てるようになされている。
【００９８】
この場合において、各ＥＢＣＯＴブロック５１１〜５１４は、コントローラ３６から対象コードブロック情報Ｄ２１及びそのコードブロックに対するＥＢＣＯＴ処理部実行命令ＣＯＭ１が与えられると（すなわち次にＥＢＣＯＴ処理すべき新たなコードブロックが割り当てられると）、対象コードブロック情報Ｄ２１に基づき得られるそのコードブロックのコードブロック番号等の所定情報（以下、これをコードブロック関連情報と呼ぶ）を第２の調停部５３内に設けられた対応するバッファメモリ５４１〜５４４に格納する一方、このコードブロック関連情報のアロケーションテーブル４０への書込み要求を第２の調停部５３に送出するようになされている。
【００９９】
そして第２の調停部５３は、かかる書込み要求が与えられると、その後そのコードブロックの最初のデータ部用データパケットＤＰ１を書き込むべきメモリ３１上のアドレス（図７の「Data Address」）を発行し、これをかかるコードブロック関連情報（図７の「parameter」）の先頭に付加することにより図７に示すようなパケット（以下、これをアロケーションテーブル用データパケットと呼ぶ）ＡＰ１〜ＡＰｎを生成する。
【０１００】
また第２の調停部５３は、かかるコードブロック関連情報に基づき得られるそのコードブロックのコードブロック番号に基づいて、メモリ３１において記憶保持される上述のアロケーションテーブル４０におけるこのアロケーションテーブル用データパケットＡＰ１〜ＡＰｎを登録すべき位置、つまり当該アロケーションテーブル用データパケットＡＰ１〜ＡＰｎを書き込むべきメモリ３１上のアドレスを算出し、この算出結果に基づいてメモリ３１におけるそのアドレス位置にこのアロケーションテーブル用データパケットＡＰ１〜ＡＰｎを書き込む。
【０１０１】
また各ＥＢＣＯＴブロック５１１〜５１４は、これと並行して、コントローラ３６から与えられた上述の対象コードブロック情報Ｄ２１に基づいて、次にＥＢＣＯＴ処理すべきものとして新たに割り当てられたコードブロックをメモリ３１から読み出すための読出しアドレスをアドレス発生部５１Ａにおいて発生させ、これを読出し要求と共に第１の調停部３２に送出する。
【０１０２】
そして各ＥＢＣＯＴブロック５１１〜５１４は、この結果として第１の調停部３２を介して得られるメモリ３１から読み出された対応するコードブロックのコードブロックデータＤ４に対してＥＢＣＯＴ処理部５１ＢにおいてＥＢＣＯＴ処理を施し、得られた符号化データＤ７を上述のメモリ書込みデータサイズ単位で第２の調停部５３内の対応するバッファメモリ５４１〜５４４に順次格納する一方、この符号化データＤ７のメモリ３１への書込み要求を第２の調停部５３に送出する。
【０１０３】
第２の調停部５３は、ＥＢＣＯＴブロック５１１〜５１４から与えられる書込み要求に基づいて、対応するバッファメモリ５４１〜５４４に格納されたメモリ書込みデータサイズ単位の符号化データＤ７について、その符号化データＤ７がそのコードブロックの最後のものでない場合には、当該符号化データＤ７の次のメモリ書込みデータサイズ単位の符号化データＤ７を格納したデータ部用データパケットＤＰ２〜ＤＰｎを書き込むべきメモリ３１上のアドレス（図７の「Next Address」）を発行し、これを当該符号化データＤ７（図７の「data」）の先頭に付加するようにしてデータ部用データパケットＤＰ１〜ＤＰｎ−１を生成する。
【０１０４】
この際、第２の調停部５３は、次のデータ部用データパケットＤＰ２〜ＤＰｎを書き込むべきメモリ３１上のアドレスを発行する際には、そのデータ部用データパケットＤＰ２〜ＤＰｎが属するコードブロックのコードブロック番号にかかわりなく、データ部用データパケットＤＰ１〜ＤＰｎがメモリ３１内に隙間なく順不同に書き込まれるように、当該アドレスを発行する。
【０１０５】
また第２の調停部５３は、対応するバッファメモリ５４１〜５４４に格納されたメモリ書込みデータサイズ単位の符号化データＤ７について、その符号化データＤ７がそのコードブロックの最後のものである場合には、エンドマーク（図７の「End mark」）を発行すると共に必要に応じてゼロデータ（図７の「0 stuffing」）を必要量付加し、これを当該符号化データＤ７（図７の「data」）の先頭に付加するようにしてデータ部用データパケットＤＰｎを生成する。
【０１０６】
さらに第２の調停部５３は、このようにして得られたデータ部用データパケットＤＰ１〜ＤＰｎを、他のデータ部用データパケットＤＰ１〜ＤＰｎと書込みタイミングがぶつからないように調停しながら、そのコードブロックについてのアロケーションテーブル用データパケットＡＰ１〜ＡＰｎの生成時又は１つ前のデータ部用データパケットＤＰ１〜ＤＰｎの生成時に発行した、当該データ部用データパケットＤＰ１〜ＤＰｎを書き込むべきメモリ上のアドレス位置に書き込む。この結果、各ＥＢＣＯＴブロック５１１〜５１４から順次与えられる上述のメモリ書込みデータサイズ単位の符号化データＤ７が隙間なく順不同にメモリ３１に書き込まれることとなる。
【０１０７】
このようにしてこの符号化部５０は、各ＥＢＣＯＴブロック５１１〜５１４において生成された符号化データＤ７を、かかるメモリ書込みデータサイズ単位でメモリ３１に書き込むことができるようになされている。
【０１０８】
（２−３）符号化データ書込み処理手順
ここで第２の調停部５３は、上述のように各ＥＢＣＯＴブロック５１１〜５１４から対応するバッファメモリ５４１〜５４４にメモリ書込みデータサイズ単位で順次格納される符号化データＤ７のメモリ３１への書込み処理を、内部ＲＯＭ５３Ｂに格納された制御プログラムに基づき、図９に示す符号化データ書込み処理手順ＲＴ２に従って実行する。
【０１０９】
すなわち第２の調停部５３は、前段の量子化部４（図１２）から新たな１画像分のコードブロックデータＤ４が供給され始めた旨の通知をコントローラ３６から与えられると、この符号化データ書込み処理手順ＲＴ２をステップＳＰ２０において開始し、続くステップＳＰ２１において、いずれかのＥＢＣＯＴブロック５１１〜５１４から書込み要求が与えられるのを待ち受ける。
【０１１０】
そして第２の調停部５３は、やがていずれかのＥＢＣＯＴブロック５１１〜５１４から書込み要求が与えられると、ステップＳＰ２２に進んで、書込みタイミングがぶつからないように必要に応じて図３について上述した調停を行うことにより、１つの書込み要求のみを受け付ける。
【０１１１】
続いて第２の調停部５３は、ステップＳＰ２３に進んで、このとき受け付けた書込み要求が、未だアロケーションテーブル４０にそのコードブロック関連情報（図７の「parameter」）等が登録されていない、新規のコードブロックについてのものであるか否かを判断する。
【０１１２】
この場合において、この実施の形態の場合、各ＥＢＣＯＴブロック５１１〜５１４は、コードブロック関連情報を対応するバッファメモリ５４１〜５４４に格納し、そのアロケーションテーブル４０への登録を第２の調停部５３に要求する際には、符号化データＤ７をメモリ３１に書き込むことを要求する際に送出する書込み要求と異なる書込み要求を第２の調停部５３に送出するようになされている。従って、この実施の形態の場合、第２の調停部５３は、書込み要求自体に基づいて、その書込み要求が新規のコードブロックについてのものであるか否かを判断することができる。
【０１１３】
かくして第２の調停部５３は、このステップＳＰ２３において肯定結果を得ると、ステップＳＰ２４に進んで、このコードブロック関連情報に基づき得られるそのコードブロックのコードブロック番号から当該コードブロック関連情報を登録すべきアロケーションテーブル４０上の位置でなるメモリ３１上のアドレスを算出する。
【０１１４】
また第２の調停部５３は、この後ステップＳＰ２５に進んで、そのコードブロックの先頭のデータ部用データパケットＤＰ１を書き込むべきメモリ３１上のアドレス（図７の「Data Address」）を発行し、この後ステップＳＰ２６に進んで、このアドレスをかかるコードブロック関連情報の先頭に付加するようにしてアロケーションテーブル用データパケットＡＰ１〜ＡＰｎを生成する。そして第２の調停部５３は、この後ステップＳＰ２７に進んで、このアロケーションテーブル用データパケットＡＰ１〜ＡＰｎをステップＳＰ２４において算出したメモリ３１上の対応するアドレス位置に格納する。
【０１１５】
さらに第２の調停部５３は、この後ステップＳＰ３３に進んで、当該第２の調停部５３内部において保持している、ＥＢＣＯＴ処理を完了したコードブロックの数をカウントするための処理完了コードブロックカウンタ（図示せず）のカウント値に基づいて、１画像分のすべてのコードブロックに対するＥＢＣＯＴ処理が終了したか否かを判断する。そして第２の調停部５３は、このステップＳＰ３３において否定結果を得ると、ステップＳＰ２１に戻る。
【０１１６】
一方、第２の調停部５３は、ステップＳＰ２３において否定結果を得ると、ステップＳＰ２８に進んで、かかる書込み要求がコードブロックのメモリ書込みデータサイズ単位の最後の符号化データＤ７に対するものであるか否かを判断する。
【０１１７】
この場合において、この実施の形態の場合、各ＥＢＣＯＴブロック５１１〜５１４は、コードブロックの最後の符号化データＤ７について、メモリ３１に書き込むことを第２の調停部５３に要求する際には、他の符号化データＤ７をメモリ３１に書き込むことを要求する際に送出する書込み要求と異なる書込み要求を第２の調停部５３に送出するようになされている。従って、この実施の形態の場合、第２の調停部５３は、書込み要求自体に基づいて、その書込み要求が最後の符号化データＤ７についてのものであるか否かを判断することができる。
【０１１８】
かくして第２の調停部５３は、このステップＳＰ２８において否定結果を得ると、ステップＳＰ２９に進んで、同じコードブロックにおける当該符号化データＤ７の次のメモリ書込みデータサイズ単位の符号化データＤ７を格納したデータ部用データパケットＤＰ２〜ＤＰｎを書き込むべきメモリ３１上のアドレス（図７の「Next Address」）を発行した後ステップＳＰ３１に進む。
【０１１９】
これに対して第２の調停部５３は、ステップＳＰ２８において肯定結果を得ると、ステップＳＰ３０に進んでエンドマーク（図７の「End mark」）を発行すると共に、かかる符号化データＤ７のデータサイズがメモリ書込みデータサイズ単位に満たないときには不足分のゼロデータ（図７の「0 stuffing」）をその符号化データＤ７の最後尾に付加し、さらに当該第２の調停部内部に保持している上述の処理完了コードブロックカウンタをインクリメントした後、ステップＳＰ３１に進む。
【０１２０】
そして第２の調停部５３は、ステップＳＰ３１に進むと、ステップＳＰ２９において発行したアドレス（図７の「Next Address」）又はステップＳＰ３０において発行したエンドマーク（図７の「End mark」）をかかる符号化データＤ７（図７の「data」）の先頭に付加するようにしてデータ部用データパケットＤＰ１〜ＤＰｎを生成する。
【０１２１】
そして第２の調停部５３は、この後ステップＳＰ３２に進んで、このデータ部用データパケットＤＰ１〜ＤＰｎを、そのコードブロックについてのアロケーションテーブル用データパケットＡＰ１〜ＡＰｎの生成時又は１つ前のデータ部用データパケットＤＰ１〜ＤＰｎの生成時に発行した、当該データ部用データパケットＤＰ１〜ＤＰｎを書き込むべきメモリ３１上のアドレス位置に書き込む。
【０１２２】
さらに第２の調停部５３は、この後ステップＳＰ３３に進んで、１画像分のすべてのコードブロックに対するＥＢＣＯＴ処理が終了したか否かを判断し、否定結果を得るとステップＳＰ２１に戻って、この後ステップＳＰ３３において肯定結果を得るまでステップＳＰ２１〜ステップＳＰ３３について同様の処理を繰り返す。
【０１２３】
そして第２の調停部５３は、やがて１画像分のすべてのコードブロックに対するＥＢＣＯＴ処理を終了することによりステップＳＰ３３において肯定結果を得ると、ステップＳＰ３４に進んで、この符号化データ書込み処理手順ＲＴ２を終了する。
【０１２４】
（２−４）本実施の形態の動作及び効果
以上の構成において、この符号化部５０では、コードブロックのコードブロックデータＤ４を各ＥＢＣＯＴブロック５１１〜５１４においてＥＢＣＯＴ処理することにより得られる符号化データＤ７を、細かいデータサイズのメモリ書込みデータサイズ単位でメモリ３１に隙間なく順不同に書き込む。
【０１２５】
従って、この符号化部５０では、メモリ３１やバッファメモリ３８１〜３８４内に予め各コードブロックの符号化データＤ７を書き込むための固定の記憶領域を、コードブロック番号順にそれぞれ最悪の場合を想定した大きさで確保しておく必要がないため、メモリ３１やバッファメモリ３８１〜３８４として容量の小さいものを適用することができ、さらにメモリ３１への符号化データＤ７の書き込みがデータ量の小さいメモリ書込みデータサイズ単位で行われるため、調停時の待ち時間を低減することができる。
【０１２６】
以上の構成によれば、コードブロックのコードブロックデータＤ４を各ＥＢＣＯＴブロック５１１〜５１４においてＥＢＣＯＴ処理することにより得られる符号化データＤ７を、細かいデータサイズのメモリ書込みデータサイズ単位でメモリ３１に隙間なく順不同に書き込むようにしたことにより、メモリ３１やバッファメモリ３８１〜３８４として容量の小さいものを適用することができ、さらに調停時の待ち時間を低減することができ、かくして第１の実施の形態により得られる効果に加えて、さらに符号化部５０を小型化及び安価化させ得る符号化装置を実現できる。
【０１２７】
（３）第３の実施の形態
図８との対応部分に同一符号を付して示す図１０は、図１２について上述した符号化装置１の符号化部５として適用する第３の実施の形態による符号化部６０を示し、コントローラ６１による各ＥＢＣＯＴブロック５１１〜５１４に対するコードブロックの振分け順番が異なることを除いて第２の実施の形態による符号化部５０（図８）と同様に構成されている。
【０１２８】
すなわちこの符号化部６０の場合、コントローラ６１は、各ＥＢＣＯＴブロック５１１〜５１４に対して各コードブロックを割り当てる際に、内部ＲＯＭ６１Ａに格納された制御プログラムに従って、図１１に示すように、水平方向及び垂直方向共に低域周波数側の成分（図１１において『ＬＬ』の成分）のコードブロック、水平方向及び垂直方向のいずれか一方が低域周波数側の成分（図１１において『ＬＨ』又は『ＨＬ』の成分）のコードブロック、水平方向及び垂直方向共に高域周波数側の成分（図１１において『ＨＨ』の成分）のコードブロックの順番で、これら各コードブロックを各ＥＢＣＯＴブロック５１１〜５１４に割り当てるようになされている。
【０１２９】
これによりこの符号化部６０においては、重要度の高いコードブロックほど優先的に各ＥＢＣＯＴブロック５１１〜５１４に割り当ててＥＢＣＯＴ処理を行い得るようになされ、これにより例えば１枚の画像に対するＥＢＣＯＴ処理が時間の関係等により途中で中断された場合においても、それまでに得られた符号化データＤ７に基づいて、復号化装置側において当該画像を低い解像度ながらも復号化することができるようになされている。
【０１３０】
以上の構成によれば、水平方向及び垂直方向共に低域周波数側の成分のコードブロック、水平方向及び垂直方向のいずれか一方が低域周波数側の成分のコードブロック、水平方向及び垂直方向共に高域周波数側の成分のコードブロックの順番でこれら各コードブロックを各ＥＢＣＯＴブロックに振り分けるようにしたことにより、重要度の高いコードブロックほど優先的にＥＢＣＯＴ処理を行い得、かくして第１の実施の形態により得られる効果に加えて、さらに信頼性の高い符号化部を実現できる。
【０１３１】
（４）他の実施の形態
なお上述の実施の形態においては、本発明をＪＰＥＧ２０００規格に準拠した符号化装置１に適用する符号化部３０に適用するようにした場合について述べたが、本発明はこれに限らず、ＪＰＥＧ２０００規格に準拠した復号化装置１０（図１４）にも同様の構成で適用することができる。またＪＰＥＧ２０００規格に準拠した符号化装置１や復号化装置１０以外の種々の規格に準拠した符号化装置及び復号化装置にも広く適用することができる。
【０１３２】
また上述の実施の形態においては、図１〜図３について上述したコントローラ３６、６１による各ＥＢＣＯＴブロック３４１〜３４４、５１１〜５１４へのコードブロックの割当て処理をソフトウェア処理とするようにした場合について述べたが、本発明はこれに限らず、例えばプライオリティエンコーダ等を用いたハードウェア処理を行い得るようにコントローラ３６、６１を構築するようにしても良い。同様に、上述の実施の形態においては、図９について上述した第２の調停部５３による符号化データＤ７のメモリ３１への書込み処理をソフトウェア処理とするようにした場合について述べたが、これをハードウェア処理できるように第２の調停部５３を構築するようにしても良い。
【０１３３】
さらに上述の実施の形態においては、符号化部３０、５０、６０のＥＢＣＯＴブロック群３５、５２を４個のＥＢＣＯＴブロック３４１〜３４４、５１１〜５１４により構成するようにした場合について述べたが、本発明はこれに限らず、２個若しくは３個又は５個以上のＥＢＣＯＴブロック３４１〜３４４、５１１〜５１４によりＥＢＣＯＴブロック群３５、５２を構成するようにしても良い。
【産業上の利用可能性】
【０１３４】
本発明はＪＰＥＧ２０００規格に準拠した符号化装置のほか、ＪＰＥＧ２０００規格に準拠した復号化装置や他の符号化又は復号化規格に準拠した符号化装置及び復号化装置に広く適用することができる。
【図面の簡単な説明】
【０１３５】
【図１】本実施の形態によるＥＢＣＯＴ処理方式の原理説明に供する概念図である。
【図２】本実施の形態によるＥＢＣＯＴ処理方式の原理説明に供する概念図である。
【図３】本実施の形態によるＥＢＣＯＴ処理方式の原理説明に供する概念図である。
【図４】本実施の形態によるＥＢＣＯＴ処理方式の原理説明に供する概念図である。
【図５】第１の実施の形態による符号化部の構成を示すブロック図である。
【図６】コードブロック振分け処理手順を示すフローチャートである。
【図７】パケット構成によるデータマップを示す概念図である。
【図８】第２の実施の形態による符号化部の構成を示すブロック図である。
【図９】符号化データ書込み処理手順を示すフローチャートである。
【図１０】第３の実施の形態による符号化部の構成を示すブロック図である。
【図１１】コントローラによるコードブロックの振分け順序の説明に供する概念図である。
【図１２】従来のＪＰＥＧ２０００符号化装置の構成を示すブロック図である。
【図１３】ウェーブレット変換の説明に供する概念図である。
【図１４】従来のＪＰＥＧ２０００復号化装置の構成を示すブロック図である。
【図１５】ＥＢＣＯＴ処理を並列処理するための符号化部の構成例を示すブロック図である。
【図１６】ＥＢＣＯＴ処理の時分割並列処理の説明に供する概念図である。
【符号の説明】
【０１３６】
３０、５０、６０……符号化部、３１……メモリ、３２、３３、５３……調停部、３４１〜３４４、５１１〜５１４……ＥＢＣＯＴブロック、３４Ａ、５１Ａ……アドレス発生部、３４Ｂ、５１Ｂ……ＥＢＣＯＴ処理部、３５、５２……ＥＢＣＯＴブロック群、３６、６１……コントローラ、３６Ａ、５３Ｂ、６１Ａ……内部ＲＯＭ、３７１〜３７４、３８１〜３８４、５４１〜５４４……バッファメモリ、Ｄ４……コードブロックデータ、Ｄ７……符号化データ。
【図１】
2006060681.tif 000003
【図２】
2006060681.tif 000004
【図３】
2006060681.tif 000005
【図４】
2006060681.tif 000006
【図５】
2006060681.tif 000007
【図６】
2006060681.tif 000008
【図７】
2006060681.tif 000009
【図８】
2006060681.tif 000010
【図９】
2006060681.tif 000011
【図１０】
2006060681.tif 000012
【図１１】
2006060681.tif 000013
【図１２】
2006060681.tif 000014
【図１３】
2006060681.tif 000015
【図１４】
2006060681.tif 000016
【図１５】
2006060681.tif 000017
【図１６】
2006060681.tif 000018