(57)【特許請求の範囲】
【請求項１】
連続するＭ個（Ｍは２以上の整数）の情報を取得する情報取得手段と、
前記情報取得手段によって取得されたＭ個の情報の符号語の最大ビット長を取得するビット長取得手段と、
前記ビット長取得手段によって取得された最大ビット長の符号語を生成する符号語生成手段と、
前記ビット長取得手段によって取得された最大ビット長に基づいて、前記情報の符号語をＭ個の等間隔の領域に分けたレジスタ内にある既に生成された符号語に並列に連結した場合に、該領域内に収まるか否かを判断する判断手段と、
前記判断手段によって前記領域内に収まると判断された場合は、前記情報の符号語を前記レジスタ内にある既に生成された符号語に並列に連結する連結手段
を具備し、
前記ビット長取得手段は、前記情報の発生レンジと予測符号化を行った場合の最大ビット長とを対応させたテーブルを用いて、最大ビット長を取得し、
前記判断手段は、前記情報の符号語として、予測符号化を行った結果を用い、
前記連結手段は、既に生成された符号語に並列に連結する処理として、既に生成された符号語の末尾以降に、前記情報の符号語を連結する
ことを特徴とする情報処理装置。
【請求項２】
前記連結手段は、前記判断手段によって前記領域内に収まらないと判断された場合は、前記情報の符号語内の収まる部分を前記レジスタ内にある既に生成された符号語に並列に連結し、該連結した結果である前記レジスタの内容を出力し、
該符号語の収まらなかった残りの部分は、前記出力後のレジスタ内のＭ個の領域内の先頭に格納する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
連続するアドレス領域に存在するＭ個（Ｍは２以上の整数）の情報の符号語の最大ビット長を示す符号語を復号する最大ビット長復号手段と、
レジスタ内のＭ個の等間隔に分けた領域内で、連続するＭ個の情報の符号語を該レジスタ内にある符号語に前記最大ビット長で連結した場合に、該領域内に収まるか否かを判断する判断手段と、
前記判断手段によって前記領域内に収まらないと判断された場合は、前記Ｍ個の等間隔に分けた領域に存在する符号語の末尾に該収まらないと判断された符号語の一部を連結し、前記Ｍ個の領域内の符号語を復号して記憶装置に書き出す書出手段
を具備し、
前記書出手段は、予測符号化された符号語を復号する
ことを特徴とする情報処理装置。
【請求項４】
コンピュータを、
連続するＭ個（Ｍは２以上の整数）の情報を取得する情報取得手段と、
前記情報取得手段によって取得されたＭ個の情報の符号語の最大ビット長を取得するビット長取得手段と、
前記ビット長取得手段によって取得された最大ビット長の符号語を生成する符号語生成手段と、
前記ビット長取得手段によって取得された最大ビット長に基づいて、前記情報の符号語をＭ個の等間隔の領域に分けたレジスタ内にある既に生成された符号語に並列に連結した場合に、該領域内に収まるか否かを判断する判断手段と、
前記判断手段によって前記領域内に収まると判断された場合は、前記情報の符号語を前記レジスタ内にある既に生成された符号語に並列に連結する連結手段
として機能させ、
前記ビット長取得手段は、前記情報の発生レンジと予測符号化を行った場合の最大ビット長とを対応させたテーブルを用いて、最大ビット長を取得し、
前記判断手段は、前記情報の符号語として、予測符号化を行った結果を用い、
前記連結手段は、既に生成された符号語に並列に連結する処理として、既に生成された符号語の末尾以降に、前記情報の符号語を連結する
ことを特徴とする情報処理プログラム。
【請求項５】
コンピュータを、
連続するアドレス領域に存在するＭ個（Ｍは２以上の整数）の情報の符号語の最大ビット長を示す符号語を復号する最大ビット長復号手段と、
レジスタ内のＭ個の等間隔に分けた領域内で、連続するＭ個の情報の符号語を該レジスタ内にある符号語に前記最大ビット長で連結した場合に、該領域内に収まるか否かを判断する判断手段と、
前記判断手段によって前記領域内に収まらないと判断された場合は、前記Ｍ個の等間隔に分けた領域に存在する符号語の末尾に該収まらないと判断された符号語の一部を連結し、前記Ｍ個の領域内の符号語を復号して記憶装置に書き出す書出手段
として機能させ、
前記書出手段は、予測符号化された符号語を復号する
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、高速な回路を必要とすることがなく、ビット長が不揃いのデータを一定のビット長に揃えたデータに変換することができる可変長データの符号化回路を提供することを目的とし、最大ｍビットの可変長データが供給される第１のレジスタ手段と、上記第１のレジスタ手段の出力を制御信号に応じた量だけビットシフトするシフタ手段と、上記シフタ手段の出力データの中の有意データと上記出力データのサンプルよりも前のサンプルデータとを合成する手段と、上記合成手段の出力が所定のｎビット以上になった時点で上記合成手段の出力の中の上位ｎビットを出力する出力手段と、上記合成手段の出力のビット数のモジュロに基づいて、上記制御信号を発生する制御信号発生手段とからなり、上記可変長データをｎビット毎に変換するようにしたことを特徴とする可変長データの符号化装置が開示されている。
【０００３】
特許文献２には、対応する従来の符号化装置に特別な条件を付加することなく、Ｎ個の並列処理経路に存在するバッファメモリの全体貯蔵容量が出来るだけ少なく保持されうる可変長さ符号化映像信号の並列復号化装置を提供することを目的とし、単一入力端子とＮ個の出力端子を備え、前記単一入力端子を通じて符号化ビットストリームを受信し、前記Ｎ個の出力端子を通じて前記符号化ビットストリーム内の前記ブロックをディマルチプレクシングする回路と、各々がバッファメモリを備えたＮ個の並列処理経路と、前記Ｎ個の出力端子と前記Ｎ個のバッファメモリとのあいだに結合されて、バッファがフルの状態のバッファメモリがある場合、該フル状態のバッファメモリに提供されるブロックを一時的に貯蔵し、該バッファメモリがフル状態から解除されると、前記ブロックを該バッファメモリに提供する追加バッファメモリ回路とを含むことが開示されている。
【０００４】
特許文献３には、付加ビット処理手段の提供、外部制御の負担軽減及び符号化データのシフト手段の明確化により、可変長符号のパイプライン復号化処理をハードウェア化することを課題とし、符号長及び付加ビット長を確定するための、２種類のデコード処理すると共に、全体の処理を符号データの頭出しのためのステージと、デコード処理ステージと、シンボル確定及び付加ビット処理ステージの３ステージに分離し、パイプライン的に実行することが開示されている。
【０００５】
特許文献４には、より効率的な符号化処理を実現する符号化装置を提供することを課題とし、画像処理装置は、ソースコーダで生成されたシンボルを、既定数のシンボルからなるブロックにまとめ、ブロック毎に符号語を割り振り、すなわちブロックに対しては１対１の符号であるが、シンボルから見ると多対１の符号を構成し、これにより、可変長符号の処理に起因する分岐処理又はフィードバックループは、シンボル単位で発生することがなくなり、処理速度の向上が期待できることが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０３−２８０６２４号公報
【特許文献２】特開平０７−１０７４７６号公報
【特許文献３】特開２００２−２３７７５４号公報
【特許文献４】特開２００８−０６７３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、本構成を有していない場合に比較して、高速な符号化処理を行うようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、連続するＭ個（Ｍは２以上の整数）の情報を取得する情報取得手段と、前記情報取得手段によって取得されたＭ個の情報の符号語の最大ビット長を取得するビット長取得手段と、前記ビット長取得手段によって取得された最大ビット長の符号語を生成する符号語生成手段と、前記ビット長取得手段によって取得された最大ビット長に基づいて、前記情報の符号語をＭ個の等間隔の領域に分けたレジスタ内にある既に生成された符号語に並列に連結した場合に、該領域内に収まるか否かを判断する判断手段と、前記判断手段によって前記領域内に収まると判断された場合は、前記情報の符号語を前記レジスタ内にある既に生成された符号語に並列に連結する連結手段を具備し、前記ビット長取得手段は、前記情報の発生レンジと予測符号化を行った場合の最大ビット長とを対応させたテーブルを用いて、最大ビット長を取得し、前記判断手段は、前記情報の符号語として、予測符号化を行った結果を用い、前記連結手段は、既に生成された符号語に並列に連結する処理として、既に生成された符号語の末尾以降に、前記情報の符号語を連結することを特徴とする情報処理装置である。
【０００９】
請求項２の発明は、前記連結手段は、前記判断手段によって前記領域内に収まらないと判断された場合は、前記情報の符号語内の収まる部分を前記レジスタ内にある既に生成された符号語に並列に連結し、該連結した結果である前記レジスタの内容を出力し、該符号語の収まらなかった残りの部分は、前記出力後のレジスタ内のＭ個の領域内の先頭に格納することを特徴とする請求項１に記載の情報処理装置である。
【００１２】
請求項３の発明は、連続するアドレス領域に存在するＭ個（Ｍは２以上の整数）の情報の符号語の最大ビット長を示す符号語を復号する最大ビット長復号手段と、レジスタ内のＭ個の等間隔に分けた領域内で、連続するＭ個の情報の符号語を該レジスタ内にある符号語に前記最大ビット長で連結した場合に、該領域内に収まるか否かを判断する判断手段と、前記判断手段によって前記領域内に収まらないと判断された場合は、前記Ｍ個の等間隔に分けた領域に存在する符号語の末尾に該収まらないと判断された符号語の一部を連結し、前記Ｍ個の領域内の符号語を復号して記憶装置に書き出す書出手段を具備し、前記書出手段は、予測符号化された符号語を復号することを特徴とする情報処理装置である。
【００１５】
請求項４の発明は、コンピュータを、連続するＭ個（Ｍは２以上の整数）の情報を取得する情報取得手段と、前記情報取得手段によって取得されたＭ個の情報の符号語の最大ビット長を取得するビット長取得手段と、前記ビット長取得手段によって取得された最大ビット長の符号語を生成する符号語生成手段と、前記ビット長取得手段によって取得された最大ビット長に基づいて、前記情報の符号語をＭ個の等間隔の領域に分けたレジスタ内にある既に生成された符号語に並列に連結した場合に、該領域内に収まるか否かを判断する判断手段と、前記判断手段によって前記領域内に収まると判断された場合は、前記情報の符号語を前記レジスタ内にある既に生成された符号語に並列に連結する連結手段として機能させ、前記ビット長取得手段は、前記情報の発生レンジと予測符号化を行った場合の最大ビット長とを対応させたテーブルを用いて、最大ビット長を取得し、前記判断手段は、前記情報の符号語として、予測符号化を行った結果を用い、前記連結手段は、既に生成された符号語に並列に連結する処理として、既に生成された符号語の末尾以降に、前記情報の符号語を連結することを特徴とする情報処理プログラムである。
【００１６】
請求項５の発明は、コンピュータを、連続するアドレス領域に存在するＭ個（Ｍは２以上の整数）の情報の符号語の最大ビット長を示す符号語を復号する最大ビット長復号手段と、レジスタ内のＭ個の等間隔に分けた領域内で、連続するＭ個の情報の符号語を該レジスタ内にある符号語に前記最大ビット長で連結した場合に、該領域内に収まるか否かを判断する判断手段と、前記判断手段によって前記領域内に収まらないと判断された場合は、前記Ｍ個の等間隔に分けた領域に存在する符号語の末尾に該収まらないと判断された符号語の一部を連結し、前記Ｍ個の領域内の符号語を復号して記憶装置に書き出す書出手段として機能させ、前記書出手段は、予測符号化された符号語を復号することを特徴とする情報処理プログラムである。
【発明の効果】
【００１７】
請求項１の情報処理装置によれば、本構成を有していない場合に比較して、高速な符号化処理を行うことができる。
【００１８】
請求項２の情報処理装置によれば、領域内に収まらないと判断された場合であっても、符号化処理を行うことができる。
【００２１】
請求項３の情報処理装置によれば、本構成を有していない場合に比較して、高速な復号処理を行うことができる。
【００２４】
請求項４の情報処理プログラムによれば、本構成を有していない場合に比較して、高速な符号化処理を行うことができる。
【００２５】
請求項５の情報処理プログラムによれば、本構成を有していない場合に比較して、高速な復号処理を行うことができる。
【図面の簡単な説明】
【００２６】
【図１】第１の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態（符号化処理）による処理例を示すフローチャートである。
【図３】第１の実施の形態（符号化処理）による処理例を示す説明図である。
【図４】第１の実施の形態（復号処理）の構成例についての概念的なモジュール構成図である。
【図５】第１の実施の形態（復号処理）による処理例を示すフローチャートである。
【図６】第１の実施の形態（復号処理）による処理例を示す説明図である。
【図７】Ｍ決定テーブルのデータ構造例を示す説明図である。
【図８】第２の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。
【図９】第３の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。
【図１０】第３の実施の形態（復号処理）の構成例についての概念的なモジュール構成図である。
【図１１】第３の実施の形態（符号化処理）による処理例を示す説明図である。
【図１２】第４の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。
【図１３】第４の実施の形態（符号化処理）による処理例を示す説明図である。
【図１４】最大ビット長決定テーブルのデータ構造例を示す説明図である。
【図１５】第５の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。
【図１６】第５の実施の形態（復号処理）の構成例についての概念的なモジュール構成図である。
【図１７】実験結果の例を示す説明図である。
【図１８】実験結果の例を示す説明図である。
【図１９】情報処理装置（符号化処理）の構成例についての概念的なモジュール構成図である。
【図２０】情報処理装置（符号化処理）による処理例を示す説明図である。
【図２１】情報処理装置（符号化処理）による処理例を示すフローチャートである。
【図２２】情報処理装置（復号処理）の構成例についての概念的なモジュール構成図である。
【図２３】情報処理装置（復号処理）による処理例を示すフローチャートである。
【図２４】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２７】
まず、本実施の形態の理解を助けるために、その背景及び概略を説明する。この説明は、図１９〜図２３を用いて行う。
例えば、ハフマン符号は、各シンボル値に対して１対１で付与される。すなわち、ハフマン符号化処理は、１入力（シンボル）に対して１出力（符号語）を与える。ここで、シンボルとは、エントロピー符号化処理の対象となる被圧縮情報である。換言すると、被圧縮情報には、例えば、ＪＰＥＧの符号化処理におけるＤＣＴ係数や、予測符号化における予測誤差などが含まれる。
このような１対１の符号化処理は、構成及び設計が簡単であるが、１シンボル毎に符号長が変わる。
なお、説明の便宜上、ハフマン符号という用語を使ったが、前記のことは、国際標準ＪＰＥＧの固定的なハフマン符号を含めて一般的な可変長符号化に存在する。
【００２８】
＜情報処理装置（符号化処理）＞
図１９に例示の情報処理装置は、複数のシンボル（以下、ブロックともいう）毎に符号語を割り振る。すなわち、ブロックに対しては１対１の符号であるが、シンボルから見ると多対１の符号を構成することになる。
これにより、分岐又はフィードバックループは、シンボル単位からブロック単位に削減できるため、処理速度の向上が期待できる。
なお、この情報処理装置では、ブロック毎に符号語を割り振るエントロピーコーダと、ソースコーダとを組み合わせた形態を具体例として説明するが、この場合に、エントロピーコーダのブロックがソースコーダのブロックと一致する必要はなく、実装コストなどの理由でブロックサイズを変えてもよい。ただし、エントロピーコーダとソースコーダのブロックサイズについて、何らかの関係（例えば、いずれか一方が他方の約数となる関係）がある方が好ましいケースもある。
【００２９】
図１９は、情報処理装置（符号化処理）の構成例についての概念的なモジュール構成図である。
図１９に例示するように、情報処理装置（符号化処理）は、ソースコーダモジュール１９００、グループ生成モジュール１９１０、ビット数算出モジュール１９２０、シンボル変換モジュール１９３０、グループ分類モジュール１９４０、符号割当モジュール１９５０、及び符号統合モジュール１９６０を有する。
なお、本例では、画像データを符号化する場合を具体例として説明する。
【００３０】
情報処理装置（符号化処理）において、ソースコーダモジュール１９００は、入力されたデータファイルに基づいて、可変長符号化処理の対象となるシンボルを生成し、生成されたシンボルをグループ生成モジュール１９１０に出力する。
本例のソースコーダモジュール１９００は、既定の予測方法を用いて注目画素の画素値を予測し、この予測値と注目画素値との差分値（以下、予測誤差値）を算出し、算出された予測誤差値をシンボルとする。画像データでは近傍画素間で相関が高いため、シンボル値（予測誤差値）の出現頻度は０近傍で高くなることが期待できる。
【００３１】
グループ生成モジュール１９１０は、ソースコーダモジュール１９００から入力された複数のシンボルをまとめて、シンボルのグループ（以下、ブロック）を生成し、生成されたシンボルのブロックをビット数算出モジュール１９２０及びシンボル変換モジュール１９３０に出力する。
本例のグループ生成モジュール１９１０は、ソースコーダモジュール１９００から入力されたシンボルを、入力順に既定数ずつまとめて、既定数のシンボルが含まれたブロックを生成する。
【００３２】
ビット数算出モジュール１９２０は、シンボルを表現するために必要となるビット数を算出する。
本例のビット数算出モジュール１９２０は、グループ生成モジュール１９１０からシンボルのブロックが入力されると、ブロックに含まれる各シンボルについて、必要最小限のビット数（必要ビット数）を算出し、算出された必要ビット数をグループ分類モジュール１９４０及びシンボル変換モジュール１９３０に出力する。
【００３３】
シンボル変換モジュール１９３０は、グループ生成モジュール１９１０から入力されたシンボルを、入力されたシンボルよりも少ないビット数で表現されたビット列に変換し、変換されたシンボルのビット列を符号統合モジュール１９６０に出力する。
本例のシンボル変換モジュール１９３０は、グループ生成モジュール１９１０から入力されたシンボルをビット数算出モジュール１９２０から入力された必要ビット数のビット列（すなわち、必要ビット数で表現されたシンボル）に変換する。
【００３４】
グループ分類モジュール１９４０は、ビット数算出モジュール１９２０により算出されたシンボルの必要ビット数に基づいて、グループ生成モジュール１９１０により生成されたブロック（下位グループ）を上位グループに分類する。
本例のグループ分類モジュール１９４０は、ブロックに含まれるシンボルの必要ビット数の組み合わせに基づいて、このブロックを分類すべき上位グループを決定する。
【００３５】
符号割当モジュール１９５０は、複数のシンボルが含まれたグループ（ブロック又は上位グループ）に対して、符号を割り当てる。
本例の符号割当モジュール１９５０は、上位グループ毎に、ブロックの出現頻度を計数し、上位グループ毎の出現頻度に応じて、各上位グループにハフマン符号（以下、グループ符号）を割り当てる。
なお、本例の符号割当モジュール１９５０は、ブロックの出現頻度を上位グループ毎に計数し、計数値に基づいて符号表を設計するが、出現頻度を推定し、推定値に基づいて符号表を設計してもよいし、推定される出現頻度に応じて予め設計された符号表を用いてもよい。
【００３６】
符号統合モジュール１９６０は、符号割当モジュール１９５０により割り当てられた符号と、シンボル変換モジュール１９３０により生成されたビット列とに基づいて、ブロックに含まれるシンボル群の符号（以下、ブロック符号）を生成する。
本例の符号統合モジュール１９６０は、符号割当モジュール１９５０により割り当てられた符号（グループ符号）と、シンボル変換モジュール１９３０により変換されたシンボル値のビット列（必要ビット数で表現されたシンボル値）とを統合して、ブロック符号を生成する。
【００３７】
図２０は、情報処理装置（符号化処理）による符号化処理を説明する図である。
図２０（ａ）に例示するように、グループ生成モジュール１９１０は、ソースコーダモジュール１９００から入力されるシンボル（８ビット）を入力順に４つずつまとめて、４つのシンボルＳ０〜Ｓ３が含まれたブロックを生成する。本例では、各シンボルＳ０〜Ｓ３は、８ビットで表現された予測誤差値であり、１ブロックのビット数は３２ビットである。
シンボル変換モジュール１９３０は、図２０（ｂ）に例示するように、ブロックに含まれる各シンボルを、必要ビット数で表現されたシンボルに変換する。シンボル表現に必要なビット数（必要ビット数）は、シンボル値に対して底２のｌｏｇをとり１を加算することで得られる。ただし、シンボル値０は０ビットと定義する。例えば、シンボル値１は１ビット、シンボル値２〜３は２ビット、シンボル値４〜７は３ビットである。本例では、シンボルが８ビットであるため、必要ビット数は、０〜８ビットの９種類となる。そして、例えば、あるブロックの必要ビット数が３、１、４、１だったとすると、本例のグループ分類モジュール１９４０は、これらの必要ビット数の組み合わせ「３、１、４、１」に基づいて、ブロックを上位グループに分類するため、このブロックは、上位グループ「３１４１」に縮退する。このような上位グループは６５６１（＝９の４乗）種類存在するが、符号割当モジュール１９５０は、各上位グループ毎にブロックの出現確率を計測してハフマン符号を設計し、符号語とする。
なお、上位グループ「３１４１」には、５１２（＝８×２×１６×２）のブロックが縮退される。これらを個別に見分けるために、各シンボルを必要ビット数で表現したものを上述の符号語の後に付加する。すなわち、符号統合モジュール１９６０は、図２０（ｃ）に例示するように、上位グループに割り当てられた符号（上位グループ「３１４１」の符号語）と、ブロックに含まれるシンボル値（必要ビット数で表現されたシンボル値）とを統合する。
【００３８】
＜符号化動作＞
次に、情報処理装置（符号化処理）の全体動作を説明する。
図２１は、図１９に例示した情報処理装置（符号化処理）による符号化処理（Ｓ２１０）のフローチャートである。
図２１に示すように、ステップＳ２１００において、ソースコーダモジュール１９００は、画像データが入力されると、走査順に予測誤差値を算出し、算出された予測誤差値をシンボルとしてグループ生成モジュール１９１０に出力する。
グループ生成モジュール１９１０は、ソースコーダモジュール１９００から入力されるシンボル（予測誤差）を入力順に４つずつまとめて、４つのシンボルが含まれたブロックを生成し、生成されたブロック（下位グループ）をビット数算出モジュール１９２０及びシンボル変換モジュール１９３０に出力する。
【００３９】
ステップＳ２１１０において、情報処理装置（符号化処理）は、ブロック生成モジュール１９１０により生成されたブロックの中から、順に注目ブロック（すなわち、符号化対象となるブロック）を設定する。
【００４０】
ステップＳ２１２０において、ビット数算出モジュール１９２０は、グループ生成モジュール１９１０から入力された注目ブロックの各シンボルについて、必要ビット数を算出し、算出された必要ビット数をグループ分類モジュール１９４０及びシンボル変換モジュール１９３０に出力する。本例では、各ブロックについて４つの必要ビット数が算出される。
【００４１】
ステップＳ２１３０において、グループ分類モジュール１９４０は、ビット数算出モジュール１９２０により算出された注目ブロックの必要ビット数の組に基づいて、注目ブロックを上位グループに分類する。
【００４２】
ステップＳ２１４０において、符号割当モジュール１９５０は、グループ分類モジュール１９４０により注目ブロックが分類された上位グループが通知されると、この上位グループの出現頻度値を１増加させる。
【００４３】
ステップＳ２１５０において、シンボル変換モジュール１９３０は、注目ブロックに含まれる各シンボルを、ビット数算出モジュール１９２０により算出された必要ビット数で表現されたシンボルに変換し、必要ビット数で表現された４つのシンボルを符号統合モジュール１９６０に出力する。
【００４４】
ステップＳ２１６０において、情報処理装置（符号化処理）は、全シンボルが処理されたか否かを判断し、全シンボルが処理された場合に、ステップＳ２１７０の処理に移行し、未処理のシンボルが存在する場合に、ステップＳ２１１０の処理に戻る。
【００４５】
ステップＳ２１７０において、符号割当モジュール１９５０は、上位グループの出現頻度値に基づいて、各上位グループに対してハフマン符号（グループ符号）を割り当てる。
【００４６】
ステップＳ２１８０において、符号統合モジュール１９６０は、各ブロックが分類された上位グループのハフマン符号と、このブロックのシンボル（必要ビット数で表現されたもの）とを統合して、ブロック符号を生成し、生成されたブロック符号を出力符号として外部に出力する。
【００４７】
このように、情報処理装置（符号化処理）は、複数のシンボルが含まれたブロック単位で、可変長符号を生成する。また、情報処理装置（符号化処理）は、複数のブロックを上位グループに分類し、上位グループに対して符号を割り当てる。また、情報処理装置（符号化処理）は、ブロック内のシンボルに対する処理を独立に並列化することができる。
【００４８】
＜情報処理装置（復号処理）＞
図２２は、情報処理装置（復号処理）の構成例についての概念的なモジュール構成図である。
図２２に例示するように、情報処理装置（復号処理）は、符号長特定モジュール２２００、シンボル抽出モジュール２２１０、シンボル復号モジュール２２２０、及びデータ再生モジュール２２３０を有する。
【００４９】
情報処理装置（復号処理）において、符号長特定モジュール２２００は、入力された符号データに基づいて、ブロック単位で各シンボルの符号長を特定する。
符号長特定モジュール２２００は、上位ブロックに割り当てられた符号（グループ符号）に基づいて、ブロックに含まれる各シンボルのビット数（すなわち必要ビット数）を特定し、特定されたビット数をシンボル抽出モジュール２２１０に出力する。
【００５０】
シンボル抽出モジュール２２１０は、入力された符号データから、符号長特定モジュール２２００により特定された符号長に基づいて、各シンボルの符号を抽出する。
本例のシンボル抽出モジュール２２１０は、符号長特定モジュール２２００により特定されたシンボルのビット数に基づいて、ブロックに含まれる各シンボルのビット列（必要ビット数で表現されたシンボル値）を切り出す。
【００５１】
シンボル復号モジュール２２２０は、シンボル抽出モジュール２２１０により抽出された各シンボルの符号を復号して、各シンボル値を生成する。
本例のシンボル復号モジュール２２２０は、シンボル抽出モジュール２２１０により切り出されたシンボルのビット列（必要ビット数で表現されたシンボル値）の上位に０のビット列を付加して８ビット表現のシンボルを生成し、生成されたシンボルをデータ再生モジュール２２３０に出力する。
【００５２】
データ再生モジュール２２３０は、シンボル復号モジュール２２２０により復号されたシンボルに基づいて、データファイルを再生する。
本例のデータ再生モジュール２２３０は、シンボル復号モジュール２２２０から入力されるシンボル（予測誤差値）に基づいて、元の画像データを生成する。
【００５３】
＜復号動作＞
図２３は、図２２に例示した情報処理装置（復号処理）による復号処理（Ｓ２３０）のフローチャートである。
図２３に示すように、ステップＳ２３００において、符号長特定モジュール２２００は、入力された符号データのグループ符号を復号して、各ブロックの必要ビット数の組を特定する。
【００５４】
ステップＳ２３１０において、情報処理装置（復号処理）は、入力された符号データの中から、順に注目ブロックの符号を設定する。
【００５５】
ステップＳ２３２０において、シンボル抽出モジュール２２１０は、符号長特定モジュール２２００により特定された必要ビット数に基づいて、注目ブロックのビット列の中から、各シンボルのヒット列（すなわち、必要ビット数で表現されたシンボル）を切り出す。例えば、図２０（ｃ）に例示するように、グループ符号が上位グループ「３１４１」に相当する場合、先頭から、３ビット、１ビット、４ビット、１ビットがそれぞれシンボルのビット列（符号）として切り出される。
【００５６】
ステップＳ２３３０において、シンボル復号モジュール２２２０は、シンボル抽出モジュール２２１０により切り出されたシンボルのビット列（必要ビット数で表現されたもの）に対して、０の上位ビットを付加して、８ビット表現のシンボルを生成する。例えば、図２０（ｂ）に例示するシンボル（３ビット、１ビット、４ビット、１ビット）は、上位に０ビットが付加されて、図２０（ａ）に例示するシンボルＳ０〜Ｓ３が生成される。
【００５７】
ステップＳ２３４０において、情報処理装置（復号処理）は、全ブロックについて復号処理が終了したか否かを判断し、全ブロックが処理された場合に、ステップＳ２３５０の処理に移行し、未処理のシンボルが存在する場合に、ステップＳ２３１０の処理に戻る。
【００５８】
ステップＳ２３５０において、データ再生モジュール２２３０は、シンボル復号モジュール２２２０により生成されたシンボル（予測誤差値）に基づいて、元の画像データを生成する。
このように、情報処理装置（復号処理）は、ブロック単位で符号長を特定する。
【００５９】
このような情報処理装置は、以下のように把握することができる。
（Ａ）入力された複数の被圧縮情報を入力順に予め定めた数ずつまとめて、該予め定めた数の被圧縮情報から構成されるブロックである下位グループを生成するグループ生成手段と、
前記グループ生成手段により生成された下位グループに含まれる被圧縮情報のそれぞれを、各被圧縮情報のビット数以下のビット数で表現されたビット列に変換する被圧縮情報変換手段と、
前記グループ生成手段により生成された下位グループを、該下位グループであるブロックに属する被圧縮情報について前記被圧縮情報変換手段による変換後のビット列のビット数の情報に基づいて、該情報が同じであるブロックをまとめたものである上位グループに分類するグループ分類手段と、
前記グループ分類手段により分類された上位グループに対して、可変長符号を割り当てる符号割当手段と、
前記グループ分類手段により同一の上位グループに分類された下位グループに含まれる被圧縮情報を、前記被圧縮情報変換手段により変換されたビット列と前記符号割当手段により該上位グループに割り当てられた可変長符号を用いて符号化する被圧縮情報符号化手段と
を有する符号化装置。
【００６０】
（Ｂ）前記グループ生成手段により生成された下位グループから、既定のパターンに合致する被圧縮情報を削除するパターンマッチ手段
をさらに有し、
前記グループ分類手段は、前記パターンマッチ手段により下位グループから被圧縮情報が削除された場合には、被圧縮情報が削除された下位グループを上位グループに分類し、前記パターンマッチ手段により下位グループから被圧縮情報が削除されない場合には、該下位グループを分類する
（Ａ）に記載の符号化装置。
【００６１】
（Ｃ）（Ａ）記載の符号化装置により符号化された符号データに対し、前記上位グループに割り当てられた符号に基づいて、該上位グループに属する前記下位グループの被圧縮情報の符号長を特定する符号長特定手段と、
前記符号長特定手段により特定された各被圧縮情報の符号長に基づいて、前記下位グループの被圧縮情報を復号する被圧縮情報復号手段と
を有する復号装置。
【００６２】
＜第１の実施の形態＞
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。以下に示す実施の形態は、前述の情報処理装置（符号化処理）、情報処理装置（復号処理）、これらの一部を用いてもよい。
図１は、第１の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００６３】
第１の実施の形態である情報処理装置（符号化処理）は、図１の例に示すように、Ｍ連続シンボル取得モジュール１１０、最大ビット長取得モジュール１２０、最大ビット長符号化モジュール１３０、並列連結モジュール１４０を有している。いわゆる圧縮処理装置であり、並列符号連結を用いたエントロピー符号化に関するものである。
【００６４】
Ｍ連続シンボル取得モジュール１１０は、最大ビット長取得モジュール１２０、並列連結モジュール１４０と接続されている。Ｍ連続シンボル取得モジュール１１０は、連続するＭ個（Ｍは２以上の整数）の情報であるシンボルをレジスタ内のＭ個の等間隔に分けた領域にそれぞれ取得する。
最大ビット長取得モジュール１２０は、Ｍ連続シンボル取得モジュール１１０、最大ビット長符号化モジュール１３０、並列連結モジュール１４０と接続されている。最大ビット長取得モジュール１２０は、Ｍ連続シンボル取得モジュール１１０によって取得されたＭ個のシンボルの最大ビット長を取得する。
最大ビット長符号化モジュール１３０は、最大ビット長取得モジュール１２０と接続されている。最大ビット長符号化モジュール１３０は、最大ビット長取得モジュール１２０によって取得された最大ビット長の符号語を生成する。
【００６５】
並列連結モジュール１４０は、Ｍ連続シンボル取得モジュール１１０、最大ビット長取得モジュール１２０と接続されている。並列連結モジュール１４０は、最大ビット長取得モジュール１２０によって取得された最大ビット長に基づいて、符号化対象である情報の符号語をレジスタ内にある既に生成された符号語に並列に連結した場合に、領域内に収まるか否かを判断し、その領域内に収まると判断した場合は、情報の符号語をレジスタ内にある既に生成された符号語に並列に連結する。また、並列連結モジュール１４０は、レジスタ内の領域内に収まらないと判断した場合は、前記情報の符号語内の収まる部分をレジスタ内にある既に生成された符号語に並列に連結し、その連結した結果であるレジスタの内容を出力し、その符号語の収まらなかった残りの部分は、出力後のレジスタ内のＭ個の領域内の先頭に格納する。これらの並列的に連結する処理は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  ｓｔｒｅａｍ−Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  ｓｔｒｅａｍ）命令セットを実現してもよい。
なお、図１では、最大ビット長符号化モジュール１３０による最大長符号化結果と並列連結モジュール１４０による並列連結結果を別ストリームにしているが、必要であれば結合すればよい。
【００６６】
図２は、第１の実施の形態（符号化処理）による処理例を示すフローチャートである。なお、Ｍ＝４の場合における、並列連結の例を示した説明図を図３に示す。４シンボルから並列的に符号語を生成し、連結する。また、末尾アドレス、シフト量の管理を連続シンボルで共有している。また、メモリへの読み書きも４シンボル毎に行うことになる。
【００６７】
ステップＳ２０２では、Ｍ連続シンボル取得モジュール１１０が、Ｍ個の連続するシンボルを取得する。図３（ａ）のレジスタ３００Ａは、Ｍ連続シンボルの例を示している。レジスタ３００Ａを３つの境界で、領域３２２Ａ、３２４Ａ、３２６Ａ、３２８Ａの等間隔に分けており、連続する４つのシンボル（シンボル３０２、３０４、３０６、３０８）を読み込んでおり、それぞれは、ビット長３１２、３１４、３１６、３１８である。
【００６８】
ステップＳ２０４では、最大ビット長取得モジュール１２０が、Ｍ個のシンボルのうち最大ビット長を算出する。
ステップＳ２０６では、最大ビット長符号化モジュール１３０が、最大ビット長を用いて符号語を生成する。図３（ｂ）のレジスタ３００Ｂは、Ｍ個の符号語（Ｍ個のシンボルを符号化した場合の符号語）の例を示している。４つのシンボルの最大ビット長は、４つのシンボルの符号語長（符号語長３４２、３４４、３４６、３４８）となる。
【００６９】
ステップＳ２０８では、並列連結モジュール１４０が、前回に生成した符号語に並列に連結した場合にレジスタ内の境界を超えるか否かを判断し、超える場合はステップＳ２１４へ進み、それ以外の場合はステップＳ２１０へ進む。
【００７０】
ステップＳ２１０では、並列連結モジュール１４０が、符号語をシフトさせて、前回に生成した符号語に並列に連結する。なお、ここで、Ｍ個のシンボルを符号化して符号語を生成するようにしてもよい。「前回に生成した符号語に並列に連結する」とは、符号の末尾アドレスを用いて、その末尾アドレス以降に生成した符号語を連結すればよい。図３（ｃ）のレジスタ３００Ｃは、並列連結結果の例を示している。つまり、各符号化済みの符号語の後に、符号語３３２をシフトさせて連結している。もちろんのことながら、シフト量３６０は４つとも同じである（シフト量３６０を共有している）。また、符号の末尾を示している符号末尾アドレス３５２も各領域（領域３２２Ｃ、３２４Ｃ、３２６Ｃ、３２８Ｃ）内で同じアドレスを示している（符号末尾アドレス３５２を共有している）。
【００７１】
ステップＳ２１２では、並列連結モジュール１４０が、末尾アドレスを更新する。そして、ステップＳ２０２へ戻る。図３（ｄ）のレジスタ３００Ｄは、並列連結結果の例を示している。符号末尾アドレスは、図３（ｃ）の符号末尾アドレス３５２の位置から符号末尾アドレス３５４（図３（ｃ）の符号語３３２の末尾を示すアドレス）へ更新する。
【００７２】
ステップＳ２１４では、並列連結モジュール１４０が、境界までの部分に符号語の上位の一部を連結する。境界を超える状態になった場合の処理である。なお、ここで、Ｍ個のシンボルを符号化して符号語を生成するようにしてもよい。図３（ｅ）のレジスタ３００Ｅは、Ｍ個の符号語の例を示している。レジスタ３００Ｅは、図３（ｂ）のレジスタ３００Ｂに対応するものである。図３（ｆ）のレジスタ３００Ｆは、並列連結結果の例を示している。例えば、符号語３６２は、領域３２２Ｆ内に収まる部分（符号語（上位の納まる部分）３７２Ａ）と収まらない部分（符号語（下位の超える部分）３７２Ｂ）に分かれることになる。符号語（上位の納まる部分）３７２Ａを既に符号化済みの符号語の後に連結する。
【００７３】
ステップＳ２１６では、並列連結モジュール１４０が、そのレジスタの内容を出力する。図３（ｇ）のレジスタ３００Ｇは、並列連結結果の例を示している。例えば、領域３２２Ｇ内は、符号化済みの符号語と符号語（上位の納まる部分）３７２Ａによって構成されている。このレジスタ３００Ｇの内容を書き出す。
【００７４】
ステップＳ２１８では、並列連結モジュール１４０が、余った符号語をレジスタの上位に書き出す。そして、ステップＳ２１２へ進む。図３（ｈ）のレジスタ３００Ｈは、並列連結結果の例を示している。例えば、符号語（下位の超える部分）３７２Ｂをレジスタ３００Ｈの領域３２２Ｈの先頭に格納する。そして、符号末尾アドレスを符号末尾アドレス３５８に更新する。
【００７５】
図４は、第１の実施の形態（復号処理）の構成例についての概念的なモジュール構成図である。第１の実施の形態（復号処理）は、図４の例に示すように、最大ビット長復号モジュール４１０、並列切り出しモジュール４２０、連続シンボル書き出しモジュール４３０を有している。これは、図１に例示した第１の実施の形態（符号化処理）によって符号化されたものを対象としている。
【００７６】
最大ビット長復号モジュール４１０は、並列切り出しモジュール４２０と接続されている。最大ビット長復号モジュール４１０は、連続するアドレス領域に存在するＭ個（Ｍは２以上の整数）の情報の最大ビット長を復号する。つまり、第１の実施の形態（符号化処理）の最大ビット長符号化モジュール１３０によって出力された符号語を復号する。
並列切り出しモジュール４２０は、最大ビット長復号モジュール４１０、連続シンボル書き出しモジュール４３０と接続されている。並列切り出しモジュール４２０は、レジスタ内のＭ個の等間隔に分けた領域内で、連続するＭ個の情報をそのレジスタ内にある既に復号された情報に連結した場合に、最大ビット長で切り出した場合に、領域内から切り出せるか否かを判断し、領域内に収まると判断した場合は、Ｍ個の等間隔に分けた領域に存在する情報を切り出す。また、並列切り出しモジュール４２０は、最大ビット長で切り出した場合に、領域内から切り出せないと判断した場合は、新たに情報を読み込み、Ｍ個の情報を並列に切り出す。
連続シンボル書き出しモジュール４３０は、並列切り出しモジュール４２０と接続されている。連続シンボル書き出しモジュール４３０は、並列切り出しモジュール４２０によって切り出された情報を前記レジスタ内にある既に復号された情報に連結して書き出す。  なお、最大ビット長復号モジュール４１０が受け付ける最大長符号化結果と並列切り出しモジュール４２０が受け付ける並列連結結果を別ストリームにしているが、必要であれば結合すればよい。一般的な復号化処理では結合されていることが多い。
【００７７】
図５は、第１の実施の形態（復号処理）による処理例を示すフローチャートである。なお、Ｍ＝４の場合における例を示した説明図を図６に示す。
ステップＳ５０２では、最大ビット長復号モジュール４１０が、最大ビット長を復号する。
ステップＳ５０４では、復号済みの符号末尾から、新たに最大ビット長で切り出そうとした場合にレジスタ内の境界を超えるか否かを判断し、超える場合はステップＳ５１０へ進み、それ以外の場合はステップＳ５０６へ進む。
【００７８】
ステップＳ５０６では、並列切り出しモジュール４２０が、シフトして、並列的に符号語を切り出す。図６（ａ）のレジスタ６００Ａは、符号が格納されたレジスタの例を示している。レジスタ６００Ａ内は、４つの領域（領域６３２Ａ、６３４Ａ、６３６Ａ、６３８Ａ）に分かれている。例えば、領域６３２Ａには、既に復号された符号が末尾アドレス６０２の位置まで格納されている。そして、最大ビット長６１２の符号語６２２を右方向（領域６３２Ａの右端まで）にシフトする。図６（ｂ）のレジスタ６００Ｂは、切り出された符号語の例を示している。もちろんのことながら、シフト量は４つの領域で同じである（シフト量は共有されている）。この後、符号表（符号化対象のシンボル値と符号語を対応させたテーブル）を用いて、シンボル値を復号し、符号語、符号長を取得する。
【００７９】
ステップＳ５０８では、並列切り出しモジュール４２０が、末尾アドレスを更新する。そして、ステップＳ５０２へ戻る。図６（ｃ）のレジスタ６００Ｃは、符号が格納されたレジスタの例を示している。ステップＳ５０６で取得した符号長に基づいて、末尾アドレス６０４の位置を更新する。
【００８０】
ステップＳ５１０では、並列切り出しモジュール４２０が、未復号データ部分を部分切り出し結果として保存する。図６（ｄ）のレジスタ６００Ｄは、符号が格納されたレジスタの例を示している。復号結果が境界を超える状態の場合であり、レジスタ６００Ｄの領域６３２Ｄの末尾アドレス６０６が示しているアドレス以降に、最大ビット長６５２のシンボルを格納できない。そして、図６（ｅ）の例に示すような、切り出し結果６６２、６６４、６６６、６６８を生成する。
【００８１】
ステップＳ５１２では、並列切り出しモジュール４２０が、新たな符号を読み込む。例えば、図６（ｆ）の未復号データ６７０を読み込む。
【００８２】
ステップＳ５１４では、残り部分を切り出し、部分切り出し結果と結合する。そして、ステップＳ５０８へ進む。例えば、図６（ｇ）のレジスタ６００Ｇのように、未復号データ６７０から残部分６７２、６７４、６７６、６７８を切り出して、図６（ｅ）の例に示す切り出し結果６６２、６６４、６６６、６６８と結合する。図６（ｈ）のレジスタ６００Ｈは、切り出された符号語の例を示している。図６（ｂ）のレジスタ６００Ｂに対応するものである。この後、符号表を用いて、シンボル値を復号し、符号語、符号長を取得する。
【００８３】
なお、最大ビット長は最大ビット長符号化モジュール１３０で符号化する。これは、固定長の符号化でもよいし、ＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ、可変長符号語であり、出現頻度に応じて設計した符号語のことである）符号化でもよい。固定長の符号化に比べて、処理量が多いＶＬＣ符号化であっても、Ｍシンボルに一度の処理となる。
また、画像や動画の圧縮では、１シンボルが８又は１６［ｂｉｔ］であり、一般的なＣＰＵのレジスタが３２，６４，１２８，２５６［ｂｉｔ］であるから、Ｍ決定テーブル７００のＭ値を用いるのが好ましい。図７は、Ｍ決定テーブル７００のデータ構造例を示す説明図である。つまり、最大ビット長取得モジュール１２０は、Ｍを、Ｍ決定テーブル７００を１シンボルのビット幅と利用できる最大のレジスタ長によって決定するようにしてもよい。
【００８４】
＜第２の実施の形態＞
図８は、第２の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する（以下、同様）。第２の実施の形態（符号化処理）は、図８の例に示すように、Ｍ連続シンボル取得モジュール１１０、最大ビット長取得モジュール１２０、最大ビット長符号化モジュール１３０、並列連結モジュール１４０を有している。最大ビット長の取得を、連続シンボル取得前に行うものである。
Ｍ連続シンボル取得モジュール１１０は、並列連結モジュール１４０と接続されている。最大ビット長取得モジュール１２０は、最大ビット長符号化モジュール１３０、並列連結モジュール１４０と接続されている。最大ビット長符号化モジュール１３０は、最大ビット長取得モジュール１２０と接続されている。並列連結モジュール１４０は、Ｍ連続シンボル取得モジュール１１０、最大ビット長取得モジュール１２０と接続されている。
【００８５】
＜第３の実施の形態＞
図９は、第３の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。最大ビット長取得と連続シンボルの取得単位を一致させる必要はない。最大ビット長取得をＮシンボル単位に、連続シンボルの取得をＭシンボル単位で行うものである。
第３の実施の形態（符号化処理）は、図９の例に示すように、Ｍ連続シンボル取得モジュール１１０、Ｎシンボルの最大ビット長取得モジュール９２０、最大ビット長符号化モジュール１３０、並列連結モジュール１４０を有している。
Ｍ連続シンボル取得モジュール１１０は、Ｎシンボルの最大ビット長取得モジュール９２０、並列連結モジュール１４０と接続されている。
Ｎシンボルの最大ビット長取得モジュール９２０は、Ｍ連続シンボル取得モジュール１１０、最大ビット長符号化モジュール１３０、並列連結モジュール１４０と接続されている。Ｎシンボルの最大ビット長取得モジュール９２０は、Ｎ個の情報の最大ビット長を取得する。
最大ビット長符号化モジュール１３０は、Ｎシンボルの最大ビット長取得モジュール９２０、並列連結モジュール１４０と接続されている。
並列連結モジュール１４０は、Ｍ連続シンボル取得モジュール１１０、Ｎシンボルの最大ビット長取得モジュール９２０と接続されている。
【００８６】
図１０は、第３の実施の形態（復号処理）の構成例についての概念的なモジュール構成図である。
第３の実施の形態（復号処理）は、図１０の例に示すように、Ｎシンボルの最大ビット長復号モジュール１０１０、並列切り出しモジュール４２０、Ｍ連続シンボル書き出しモジュール１０３０を有している。
Ｎシンボルの最大ビット長復号モジュール１０１０は、並列切り出しモジュール４２０と接続されている。Ｎシンボルの最大ビット長復号モジュール１０１０は、連続するアドレス領域に存在するＮ個の情報の最大ビット長を復号する。
並列切り出しモジュール４２０は、Ｎシンボルの最大ビット長復号モジュール１０１０、Ｍ連続シンボル書き出しモジュール１０３０と接続されている。
Ｍ連続シンボル書き出しモジュール１０３０は、並列切り出しモジュール４２０と接続されている。Ｍ連続シンボル書き出しモジュール１０３０は、第１の実施の形態（復号処理）の連続シンボル書き出しモジュール４３０と同等のものである。もちろんのことながら、ここでの連続シンボル数はＭ個である。
【００８７】
なお、Ｎは、Ｍの倍数であるが、特に、Ｍに８の倍数を乗算したものがよい。例えば、Ｎ＝８×Ｍとすれば、Ｎシンボルの符号化結果は８［ｂｉｔ］の倍数になる。この場合、末尾アドレスが常に境界上であることが保証できるため、境界を超えるか否かの判定が不要となり、末尾アドレス管理が省略できる。Ｍ＝４，Ｎ＝８×４＝３２の符号化の様子を図１１の例に示す。
図１１は、第３の実施の形態（符号化処理）による処理例を示す説明図である。なお、各シンボルの最大ビット長１１０２等は２ビットで共通である。
図１１（ａ）のレジスタ１１００Ａは、シンボル１〜４の符号の例を示している。図１１（ｂ）のレジスタ１１００Ｂは、シンボル５〜８の符号の例を示している。同様に、シンボル９〜２８までの符号も生成される。そして、図１１（ｈ）のレジスタ１１００Ｈは、シンボル２９〜３２の符号の例を示している。
図１１（ｊ）のレジスタ１１００Ｊは、シンボル１〜１６の連結結果の例を示している。つまり、シンボル１、５、９、１３が第１の領域内で結合され、シンボル２、６、１０、１４が第２の領域内で結合され、シンボル３、７、１１、１５が第３の領域内で結合され、シンボル４、８、１２、１６が第４の領域内で結合されることになる。そして、末尾アドレスは境界を示すことになる。
図１１（ｋ）のレジスタ１１００Ｋは、シンボル１７〜３２の連結結果の例を示している。つまり、シンボル１７、２１、２５、２９が第１の領域内で結合され、シンボル１８、２２、２６、３０が第２の領域内で結合され、シンボル１９、２３、２７、３１が第３の領域内で結合され、シンボル２０、２４、２８、３２が第４の領域内で結合されることになる。そして、末尾アドレスは境界を示すことになる。
【００８８】
＜第４の実施の形態＞
図１２は、第４の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。第４の実施の形態（符号化処理）は、図１２の例に示すように、連続シンボル取得Ａモジュール１２１０Ａ、連続シンボル取得Ｂモジュール１２１０Ｂ、最大ビット長取得モジュール１２２０、最大ビット長符号化モジュール１２３０、高並列連結モジュール１２４０Ａ、低並列連結モジュール１２４０Ｂを有している。
第３の実施の形態で並列数Ｍ＝４とすると、最大ビット長の算出単位Ｎ＝８×４＝３２となる。これは３２シンボルの最大長で連結することになるため、符号量が増加する懸念がある。これを改善するために、並列度の高い高並列連結モジュール１２４０Ａと並列度の低い低並列連結モジュール１２４０Ｂを設けて協調動作させるものである。
【００８９】
連続シンボル取得Ａモジュール１２１０Ａは、高並列連結モジュール１２４０Ａと接続されている。連続シンボル取得Ａモジュール１２１０Ａは、Ｍ連続シンボル取得モジュール１１０と同等のものである。
連続シンボル取得Ｂモジュール１２１０Ｂは、低並列連結モジュール１２４０Ｂと接続されている。連続シンボル取得Ｂモジュール１２１０Ｂは、連続するＰ個（Ｐは２以上の整数であり、Ｍより小）の情報をレジスタ内のＰ個の等間隔に分けた領域にそれぞれ取得する。
最大ビット長取得モジュール１２２０は、最大ビット長符号化モジュール１２３０、高並列連結モジュール１２４０Ａ、低並列連結モジュール１２４０Ｂと接続されている。最大ビット長取得モジュール１２２０は、最大ビット長取得モジュール１２０と同等のものである。
最大ビット長符号化モジュール１２３０は、最大ビット長取得モジュール１２２０と接続されている。最大ビット長符号化モジュール１２３０は、最大ビット長符号化モジュール１３０と同等のものである。
高並列連結モジュール１２４０Ａは、連続シンボル取得Ａモジュール１２１０Ａ、最大ビット長取得モジュール１２２０と接続されている。高並列連結モジュール１２４０Ａは、最大ビット長取得モジュール１２２０によって取得された最大ビット長に基づいて、情報の符号語をレジスタ内にある既に生成された符号語に並列に連結した場合に、レジスタ内の領域内に収まるか否かを判断し、領域内に収まると判断した場合は、その情報の符号語をレジスタ内にある既に生成された符号語に並列に連結する。なお、高並列連結モジュール１２４０Ａは、低並列連結モジュール１２４０Ｂに比べて、並列度が高い。
低並列連結モジュール１２４０Ｂは、連続シンボル取得Ｂモジュール１２１０Ｂ、最大ビット長取得モジュール１２２０と接続されている。低並列連結モジュール１２４０Ｂは、最大ビット長取得モジュール１２２０によって取得された最大ビット長に基づいて、情報の符号語をレジスタ内にある既に生成された符号語に並列に連結した場合に、レジスタ内の領域内に収まるか否かを判断し、領域内に収まると判断した場合は、その情報の符号語をレジスタ内にある既に生成された符号語に並列に連結する。
【００９０】
図１３は、第４の実施の形態（符号化処理）による処理例を示す説明図である。符号化対象のシンボルが８［ｂｉｔ］であり、そのシンボル数が１６（シンボル番号１〜１６を連結する）であり、最大ビット長３［ｂｉｔ］を符号化する例を示している。
図１３（ａ）のレジスタ１３００Ａは、シンボル番号１〜４の符号の例を示している。それぞれ同じビット長（３ビット）の最大ビット長１３０２、１３０４、１３０６、１３０８である。なお、シンボル番号５〜１６も同じである。
図１３（ｂ）のレジスタ１３００Ｂは、シンボル番号５〜８の符号の例を示している。
図１３（ｃ）のレジスタ１３００Ｃは、シンボル番号９〜１２の符号の一部の例を示している。例えば、レジスタの第１の領域（左端）では、シンボル番号１とシンボル番号５で６ビットを要しているので、残りの２ビット分のシンボル番号９〜１２がレジスタ１３００Ｃのそれぞれの領域に格納されている。
【００９１】
図１３（ｄ）のレジスタ１３００Ｄは、シンボル番号９、１０の符号の一部の例を示している。図１３（ｃ）で格納されたシンボル番号９、１０の残りの部分（１ビット）をそれぞれの領域に格納している。なお、レジスタ１３００Ｄ、１３００Ｅ、１３００Ｆ、１３００Ｇは、レジスタ１３００Ａ等と比べると半分のビット長のレジスタである。
図１３（ｅ）のレジスタ１３００Ｅは、シンボル番号１１、１２の符号の一部の例を示している。図１３（ｃ）で格納されたシンボル番号１１、１２の残りの部分（１ビット）をそれぞれの領域に格納している。
【００９２】
図１３（ｆ）のレジスタ１３００Ｆは、シンボル番号１３、１４の符号の例を示している。
図１３（ｇ）のレジスタ１３００Ｇは、シンボル番号１５、１６の符号の例を示している。
図１３（ｈ）のレジスタ１３００Ｈは、高並列連結モジュール１２４０Ａによる高並列連結結果の例を示している。シンボル番号１〜８の符号とシンボル番号９〜１２の符号の一部（２ビット）の連結結果である。
図１３（ｉ）のレジスタ１３００Ｉは、低並列連結モジュール１２４０Ｂによる低並列連結結果の例を示している。シンボル番号９〜１２の符号の一部（１ビット）とシンボル番号１３〜１６の符号の連結結果である。なお、図１３（ｈ）、（ｉ）から、末尾アドレスは、常に境界と一致している。
【００９３】
なお、ここでは２種類の並列連結を利用したが、３種類以上を利用してもよい。例えば、高並列連結は６４［ｂｉｔ］、中並列連結は３２［ｂｉｔ］、低並列連結は１６［ｂｉｔ］のレジスタを利用してもよい。部分的に並列連結を行わない箇所が存在しても構わない。
特に、１６シンボル単位に最大ビット長を求める符号化に適している。
【００９４】
＜第５の実施の形態＞
図１５は、第５の実施の形態（符号化処理）の構成例についての概念的なモジュール構成図である。第５の実施の形態（符号化処理）は、図１５の例に示すように、予測モジュール１５０５、Ｍ連続シンボル取得モジュール１５１０、最大ビット長取得モジュール１５２０、最大ビット長符号化モジュール１５３０、並列連結モジュール１５４０を有している。第５の実施の形態は、予測符号化を行い、画像（静止画、動画を含む）を対象としている。
【００９５】
予測モジュール１５０５は、Ｍ連続シンボル取得モジュール１５１０と接続されている。予測モジュール１５０５は、隣接画素で注目画素を予測し、予測値との差分を計算する。前述の図１９の例を用いて説明したソースコーダモジュール１９００と同等である。
Ｍ連続シンボル取得モジュール１５１０は、予測モジュール１５０５、最大ビット長取得モジュール１５２０、並列連結モジュール１５４０と接続されている。Ｍ連続シンボル取得モジュール１５１０は、前述のＭ連続シンボル取得モジュール１１０等と同等である。
【００９６】
最大ビット長取得モジュール１５２０は、Ｍ連続シンボル取得モジュール１５１０、最大ビット長符号化モジュール１５３０、並列連結モジュール１５４０と接続されている。最大ビット長取得モジュール１５２０は、最大ビット長取得モジュール１２０等と同等である。ただし、予測符号化の圧縮対象のシンボルは予測誤差であり、０近傍ほど出現確率が高いことで知られている。そのため、シンボルを符号付き整数と捉えて、最大ビット長取得モジュール１５２０は最大ビット長決定テーブル１４００にしたがって最大ビット長を算出すればよい。図１４は、最大ビット長決定テーブル１４００のデータ構造例を示す説明図である。つまり、予測符号化を行う場合は、最大ビット長決定テーブル１４００の「Ｍ個のシンボル値の発生レンジ」から、それに対応する「最大ビット長」を求めるようにすればよい。
例えば、Ｍ個のシンボルで発生した値が全て「−８〜７」であれば、４［ｂｉｔ］が最大ビット長として選ばれる。これは符号付き１６［ｂｉｔ］整数を取り扱う場合にも容易に拡張できる。なお、その他の値が頻出する場合は、頻出値を０付近に、頻出しない値を０から遠ざけるように入れ替えればよい。これは例えば、対応表（ルックアップテーブル）を用いて実現可能である。
【００９７】
最大ビット長符号化モジュール１５３０は、最大ビット長取得モジュール１５２０と接続されている。最大ビット長符号化モジュール１５３０は、前述の最大ビット長符号化モジュール１３０等と同等である。
並列連結モジュール１５４０は、Ｍ連続シンボル取得モジュール１５１０、最大ビット長取得モジュール１５２０と接続されている。並列連結モジュール１５４０は、前述の並列連結モジュール１４０等と同等である。
【００９８】
図１６は、第５の実施の形態（復号処理）の構成例についての概念的なモジュール構成図である。第５の実施の形態（復号処理）は、図１６の例に示すように、最大ビット長復号モジュール１６１０、並列切り出しモジュール１６２０、ダイナミックレンジ復元モジュール１６２５、連続シンボル書き出しモジュール１６３０、逆予測モジュール１６４０を有している。これは、図１５に例示した第５の実施の形態（符号化処理）によって符号化されたものを対象としている。
最大ビット長復号モジュール１６１０は、並列切り出しモジュール１６２０と接続されている。最大ビット長復号モジュール１６１０は、前述の最大ビット長復号モジュール４１０等と同等である。
並列切り出しモジュール１６２０は、最大ビット長復号モジュール１６１０、ダイナミックレンジ復元モジュール１６２５と接続されている。並列切り出しモジュール１６２０は、前述の並列切り出しモジュール４２０等と同等である。
【００９９】
ダイナミックレンジ復元モジュール１６２５は、並列切り出しモジュール１６２０、連続シンボル書き出しモジュール１６３０と接続されている。対象とするシンボルとして符号付きの整数を取り扱う場合には、復号で切り出された直後の連続シンボルは、最大ビット長で制限された値であるので、これを元のダイナミックレンジに戻す必要がある。例えば２［ｂｉｔ］で切り出し直後の−１は「１１」（２進数表現）であるが、これを元のシンボル幅８［ｂｉｔ］の「１１１１１１１１」（２進数表現）に復元する必要がある。このためダイナミックレンジ復元モジュール１６２５を設ける。
連続シンボル書き出しモジュール１６３０は、ダイナミックレンジ復元モジュール１６２５、逆予測モジュール１６４０と接続されている。連続シンボル書き出しモジュール１６３０は、前述の連続シンボル書き出しモジュール４３０等と同等である。
逆予測モジュール１６４０は、連続シンボル書き出しモジュール１６３０と接続されている。前述の図２２の例を用いて説明したデータ再生モジュール２２３０と同等である。
【０１００】
＜実験結果＞
図１７、図１８は、実験結果の例を示す説明図である。図１７に例示するグラフ、図１８の符号化、復号に例示するグラフのうち、左端（黒のグラフ）は第３の実施の形態による処理例、中央（斜線のグラフ）は単純なＶＬＣ符号化による処理例、右端（白のグラフ）は特許文献４に記載の技術による処理例を示している。図１７は、同じ情報に対して処理を行った場合の符号化後の符号量（下にあるほど高圧縮率）を示しており、図１８は、同じ情報に対して処理を行った場合の符号化処理、復号処理の処理速度（上にあるほど高速度）を示している。
第３の実施の形態は、符号量において、単純なＶＬＣ符号化等と比べてほとんど差がないにもかかわらず（図１７参照）、処理速度において、単純なＶＬＣ符号化の６〜８倍、特許文献４に記載の技術の１．６〜２．３倍になっている。
なお、単純なＶＬＣ符号化と比較した場合に、並列度で４倍にも関わらず、６〜８倍の処理速度を実現できている。これは、符号の末尾アドレスの管理が簡略化できているためである。
【０１０１】
図２４を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図２４に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２４１７と、プリンタなどのデータ出力部２４１８を備えたハードウェア構成例を示している。
【０１０２】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２４０１は、前述の実施の形態において説明した各種のモジュール、すなわち、Ｍ連続シンボル取得モジュール１１０、最大ビット長取得モジュール１２０、最大ビット長符号化モジュール１３０、並列連結モジュール１４０、最大ビット長復号モジュール４１０、並列切り出しモジュール４２０、連続シンボル書き出しモジュール４３０、Ｎシンボルの最大ビット長取得モジュール９２０、Ｎシンボルの最大ビット長復号モジュール１０１０、Ｍ連続シンボル書き出しモジュール１０３０、連続シンボル取得Ａモジュール１２１０Ａ、連続シンボル取得Ｂモジュール１２１０Ｂ、最大ビット長取得モジュール１２２０、最大ビット長符号化モジュール１２３０、高並列連結モジュール１２４０Ａ、低並列連結モジュール１２４０Ｂ、予測モジュール１５０５、Ｍ連続シンボル取得モジュール１５１０、最大ビット長取得モジュール１５２０、最大ビット長符号化モジュール１５３０、並列連結モジュール１５４０、最大ビット長復号モジュール１６１０、並列切り出しモジュール１６２０、ダイナミックレンジ復元モジュール１６２５、連続シンボル書き出しモジュール１６３０、逆予測モジュール１６４０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【０１０３】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２４０２は、ＣＰＵ２４０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２４０３は、ＣＰＵ２４０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２４０４により相互に接続されている。
【０１０４】
ホストバス２４０４は、ブリッジ２４０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２４０６に接続されている。
【０１０５】
キーボード２４０８、マウス等のポインティングデバイス２４０９は、操作者により操作される入力デバイスである。ディスプレイ２４１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【０１０６】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２４１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２４０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、符号化対象、符号語などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【０１０７】
ドライブ２４１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２４１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２４０７、外部バス２４０６、ブリッジ２４０５、及びホストバス２４０４を介して接続されているＲＡＭ２４０３に供給する。リムーバブル記録媒体２４１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【０１０８】
接続ポート２４１４は、外部接続機器２４１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２４１４は、インタフェース２４０７、及び外部バス２４０６、ブリッジ２４０５、ホストバス２４０４等を介してＣＰＵ２４０１等に接続されている。通信部２４１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２４１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２４１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【０１０９】
なお、図２４に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２４に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２４に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【０１１０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【０１１１】
１１０…Ｍ連続シンボル取得モジュール
１２０…最大ビット長取得モジュール
１３０…最大ビット長符号化モジュール
１４０…並列連結モジュール
４１０…最大ビット長復号モジュール
４２０…並列切り出しモジュール
４３０…連続シンボル書き出しモジュール
９２０…Ｎシンボルの最大ビット長取得モジュール
１０１０…Ｎシンボルの最大ビット長復号モジュール
１０３０…Ｍ連続シンボル書き出しモジュール
１２１０Ａ…連続シンボル取得Ａモジュール
１２１０Ｂ…連続シンボル取得Ｂモジュール
１２２０…最大ビット長取得モジュール
１２３０…最大ビット長符号化モジュール
１２４０Ａ…高並列連結モジュール
１２４０Ｂ…低並列連結モジュール
１５０５…予測モジュール
１５１０…Ｍ連続シンボル取得モジュール
１５２０…最大ビット長取得モジュール
１５３０…最大ビット長符号化モジュール
１５４０…並列連結モジュール
１６１０…最大ビット長復号モジュール
１６２０…並列切り出しモジュール
１６２５…ダイナミックレンジ復元モジュール
１６３０…連続シンボル書き出しモジュール
１６４０…逆予測モジュール
１９００…ソースコーダモジュール
１９１０…グループ生成モジュール
１９２０…ビット数算出モジュール
１９３０…シンボル変換モジュール
１９４０…グループ分類モジュール
１９５０…符号割当モジュール
１９６０…符号統合モジュール
２２００…符号長特定モジュール
２２１０…シンボル抽出モジュール
２２２０…シンボル復号モジュール
２２３０…データ再生モジュール
【図１】
0005862399.tif 000002
【図２】
0005862399.tif 000003
【図３】
0005862399.tif 000004
【図４】
0005862399.tif 000005
【図５】
0005862399.tif 000006
【図６】
0005862399.tif 000007
【図７】
0005862399.tif 000008
【図８】
0005862399.tif 000009
【図９】
0005862399.tif 000010
【図１０】
0005862399.tif 000011
【図１１】
0005862399.tif 000012
【図１２】
0005862399.tif 000013
【図１３】
0005862399.tif 000014
【図１４】
0005862399.tif 000015
【図１５】
0005862399.tif 000016
【図１６】
0005862399.tif 000017
【図１７】
0005862399.tif 000018
【図１８】
0005862399.tif 000019
【図１９】
0005862399.tif 000020
【図２０】
0005862399.tif 000021
【図２１】
0005862399.tif 000022
【図２２】
0005862399.tif 000023
【図２３】
0005862399.tif 000024
【図２４】
0005862399.tif 000025