(57)【特許請求の範囲】
【請求項１】
符号化された対象データ内の各データ部分ごとに、当該各データ部分におけるラン長の配列状態に適合する復号回路を選択する回路選択部と、
前記各データ部分ごとに選択された復号回路を再構成して前記対象データを復号化する復号処理部と、
を有する、
ことを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記回路選択部は、互いに同じ出力幅で処理結果を出力する複数の専用回路の中から前記各データ部分ごとに復号回路を選択する、
ことを特徴とするデータ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、
前記回路選択部は、ラン長の合計が前記出力幅となるラン長の組み合わせごとに用意された前記複数の専用回路の中から、前記各データ部分の復号回路として、当該各データ部分におけるラン長の組み合わせに対応付けられた前記各専用回路を選択する、
ことを特徴とするデータ処理装置。
【請求項４】
請求項１に記載のデータ処理装置において、
前記回路選択部は、符号化された対象データ内の同一ラン長が連続する前記各データ部分ごとに、当該各データ部分における同一ラン長の連続数を指標として復号回路を選択する、
ことを特徴とするデータ処理装置。
【請求項５】
請求項４に記載のデータ処理装置において、
前記回路選択部は、複数の代表ラン長に対応した複数の専用回路とラン長に依存しない汎用回路とを含む複数回路の中から、前記対象データ内の前記各代表ラン長が連続する前記各データ部分の復号回路として、当該各代表ラン長の専用回路または汎用回路を選択する、
ことを特徴とするデータ処理装置。
【請求項６】
請求項５に記載のデータ処理装置において、
前記回路選択部は、前記各代表ラン長が連続する前記各データ部分において、当該各代表ラン長の連続数を用いて予測される処理性能の判定式により、当該各代表ラン長の専用回路または汎用回路を選択する、
ことを特徴とするデータ処理装置。
【請求項７】
請求項１から６のいずれか１項に記載のデータ処理装置において、
前記対象データを構成する複数ラインの各ラインの復号処理結果を記憶する記憶部と、
互いにデータ内容が一致するライン間において、一方ラインの復号処理結果として、既に復号化されて前記記憶部に記憶されている他方ラインの復号処理結果を出力する制御部と、
を有する、
ことを特徴とするデータ処理装置。
【請求項８】
コンピュータに、
符号化された対象データ内の各データ部分ごとに、当該各データ部分におけるラン長の配列状態に適合する復号回路を選択する機能と、
前記各データ部分ごとに選択された復号回路を再構成して前記対象データを復号化するように再構成可能回路を制御する機能と、
を実現させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置およびプログラムに関する。
【背景技術】
【０００２】
データ処理装置は様々な分野において広く普及しており、特に、画像データを処理対象とする画像処理装置はデータ処理装置の好適な具体例の一つである。従来から、データ処理装置と画像処理装置に係る技術がいくつか提案されている。
【０００３】
例えば、特許文献１には、ランレングス符号により符号化されたデータを復号化するデータ処理装置（データ変換装置）が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−５５４２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ランレングス符号により符号化されたデータは、各データ要素の値とその値の連続数に対応したラン長（ランレングス）とを組み合わせた符号データで構成される。例えば、ラスタ形式の画像データであれば、ランレングス符号による符号化（ランレングス圧縮）により、各画素の画素値とラン長とからなるベクタ形式の画像データに変換（ベクタ化）される。
【０００６】
また、ランレングス符号により符号化されたデータを復号化する際には、各データ要素の値がラン長に応じた個数だけ展開される。例えば、各画素の画素値とラン長とからなるベクタ形式の画像データであれば、各画素の画素値がラン長に応じた個数だけ展開されてラスタ形式の画像データに変換（ラスタ化）される。
【０００７】
符号化されたデータの復号化においては、そのデータ内におけるラン長の配列状態に適した復号処理を実行できることが望ましい。ところが、符号化されたデータ内におけるラン長の配列状態は、データ内容によって大きく異なる場合があり、また、データ内において大きく異なる場合もある。そのため、データ内におけるラン長の配列状態に適した復号処理を実行することは容易ではない。
【０００８】
本発明は、符号化された対象データの復号化において、対象データ内の各データ部分におけるラン長の配列状態に適合した復号回路の選択的な再構成を実現することにある。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、符号化された対象データ内の各データ部分ごとに、当該各データ部分におけるラン長の配列状態に適合する復号回路を選択する回路選択部と、前記各データ部分ごとに選択された復号回路を再構成して前記対象データを復号化する復号処理部と、を有することを特徴とするデータ処理装置である。
【００１０】
請求項２に係る発明は、請求項１に記載のデータ処理装置において、前記回路選択部は、互いに同じ出力幅で処理結果を出力する複数の専用回路の中から前記各データ部分ごとに復号回路を選択する、ことを特徴とするデータ処理装置である。
【００１１】
請求項３に係る発明は、請求項２に記載のデータ処理装置において、前記回路選択部は、ラン長の合計が前記出力幅となるラン長の組み合わせごとに用意された前記複数の専用回路の中から、前記各データ部分の復号回路として、当該各データ部分におけるラン長の組み合わせに対応付けられた前記各専用回路を選択する、ことを特徴とするデータ処理装置である。
【００１２】
請求項４に係る発明は、請求項１に記載のデータ処理装置において、前記回路選択部は、符号化された対象データ内の同一ラン長が連続する前記各データ部分ごとに、当該各データ部分における同一ラン長の連続数を指標として復号回路を選択する、ことを特徴とするデータ処理装置である。
【００１３】
請求項５に係る発明は、請求項４に記載のデータ処理装置において、前記回路選択部は、複数の代表ラン長に対応した複数の専用回路とラン長に依存しない汎用回路とを含む複数回路の中から、前記対象データ内の前記各代表ラン長が連続する前記各データ部分の復号回路として、当該各代表ラン長の専用回路または汎用回路を選択する、ことを特徴とするデータ処理装置である。
【００１４】
請求項６に係る発明は、請求項５に記載のデータ処理装置において、前記回路選択部は、前記各代表ラン長が連続する前記各データ部分において、当該各代表ラン長の連続数を用いて予測される処理性能の判定式により、当該各代表ラン長の専用回路または汎用回路を選択する、ことを特徴とするデータ処理装置である。
【００１５】
請求項７に係る発明は、請求項１から６のいずれか１項に記載のデータ処理装置において、前記対象データを構成する複数ラインの各ラインの復号処理結果を記憶する記憶部と、互いにデータ内容が一致するライン間において、一方ラインの復号処理結果として、既に復号化されて前記記憶部に記憶されている他方ラインの復号処理結果を出力する制御部と、を有することを特徴とするデータ処理装置である。
【００１６】
請求項８に係る発明は、コンピュータに、符号化された対象データ内の各データ部分ごとに、当該各データ部分におけるラン長の配列状態に適合する復号回路を選択する機能と、前記各データ部分ごとに選択された復号回路を再構成して前記対象データを復号化するように再構成可能回路を制御する機能と、を実現させることを特徴とするプログラムである。
【発明の効果】
【００１７】
請求項１に係る発明によれば、符号化された対象データの復号化において、対象データ内の各データ部分におけるラン長の配列状態に適合した復号回路の選択的な再構成が実現される。
【００１８】
請求項２に係る発明によれば、互いに同じ出力幅で処理結果を出力する複数の専用回路を選択候補とする復号回路の選択が実現される。
【００１９】
請求項３に係る発明によれば、ラン長の組み合わせごとに用意された複数の専用回路の中から、各データ部分におけるラン長の組み合わせに対応付けられた各専用回路の選択が実現される。
【００２０】
請求項４に係る発明によれば、符号化された対象データ内の同一ラン長が連続する各データ部分において、同一ラン長の連続数を指標とした復号回路の選択が実現される。
【００２１】
請求項５に係る発明によれば、対象データ内の各代表ラン長が連続する各データ部分の復号回路として、各代表ラン長の専用回路または汎用回路の選択が実現される。
【００２２】
請求項６に係る発明によれば、各代表ラン長が連続する各データ部分において、各代表ラン長の専用回路または汎用回路の処理性能による選択が実現される。
【００２３】
請求項７に係る発明によれば、互いにデータ内容が一致するライン間において、一方ラインの復号処理結果として、既に復号化されて記憶部に記憶されている他方ラインの復号処理結果を利用することができる。
【００２４】
請求項８に係る発明によれば、符号化された対象データの復号化において、対象データ内の各データ部分におけるラン長の配列状態に適合した復号回路の選択的な再構成を実現するプログラムが提供される。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態として好適なデータ処理装置の具体例を示す図である。
【図２】対象データの符号化と復号化の具体例を示す図である。
【図３】データ処理部の具体例１を示す図である。
【図４】前処理部と復号処理部における処理の具体例を示す図である。
【図５】回路データ記憶部に記憶される回路データの具体例１を示す図である。
【図６】データ処理部の具体例２を示す図である。
【図７】対象データ分析部と復号処理部における処理の具体例を示す図である。
【図８】回路データ記憶部に記憶される回路データの具体例２を示す図である。
【図９】回路選択部による回路選択の具体例を示す図である。
【図１０】データ処理部の具体例２の処理を示すフローチャートである。
【図１１】データ処理部の具体例３を示す図である。
【図１２】データ処理部の具体例３の処理を示すフローチャートである。
【発明を実施するための形態】
【００２６】
図１は、本発明を実施するための形態として好適なデータ処理装置１００の具体例を示す図である。図１のデータ処理装置１００は、対象データ（処理対象となるデータ）に対してデータ処理を実行するデータ処理部１０を備えている。
【００２７】
図１のデータ処理装置１００が処理対象とする対象データの好適な具体例は画像データ（文字や数字や記号のみのデータを含む）等であり、例えばコンピュータ等の外部の装置から画像データがデータ処理装置１００に送られる。
【００２８】
また、図１のデータ処理装置１００が、画像読み取り機能（スキャン機能）等を備えた画像処理装置内に組み込まれ、画像読み取り機能を介して紙などの媒体から得られた画像データが対象データとされてもよい。さらに、データ処理装置１００による処理後の画像データに対応した画像が紙などに印刷されてもよいし、処理後の画像データが外部の装置に提供されてもよい。なお、画像処理装置の好適な具体例には、複写機、印刷機、ファクシミリ（ＦＡＸ）などが含まれる。さらに、複写機、印刷機、ファクシミリのうちのいずれか複数の機能を兼ね備えた複合機も画像処理装置の好適な具体例である。
【００２９】
データ処理部１０は、対象データに対してデータ処理を実行する。図１に示す具体例において、データ処理部１０は、復号処理部と回路選択部と再構成制御部を備えており、符号化された対象データを復号処理して復号化する。復号処理部は回路構成がプログラマブルな再構成可能回路により実現され、回路選択部は復号処理部内に再構成される復号回路を選択する。再構成制御部は、回路選択部が選択した復号回路が再構成されるように、復号処理部（再構成可能回路）の再構成を制御する。
【００３０】
再構成可能回路は、内部の回路構成を再構成可能（プログラマブル）な回路である。例えば、動的再構成可能プロセッサ（ＤＲＰ：Dynamic Reconfigurable Processor）が、再構成可能回路として好適なデバイスの一つである。もちろん、他のデバイス、例えばＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）などのプログラマブル論理回路が再構成可能回路として利用されてもよい。さらに、将来的に登場する動的再構成可能なデバイス（プロセッサ等）を利用して再構成可能回路が実現されてもよい。
【００３１】
図１のデータ処理装置１００が備える内部構成のうちの少なくとも一部は、例えば演算機能等を実現するハードウェアとその動作を規定するソフトウェア（制御プログラム等）によって構成され、ハードウェアとソフトウェアとの協働により実現されてもよい。例えば、データ処理部１０内の回路選択部と再構成制御部の機能がコンピュータにより実現されてもよい。この場合には、後に詳述する回路選択部と再構成制御部の機能に対応したアルゴリズムのプログラムが、例えば、ディスクやメモリなどのコンピュータが読み取り可能な記憶媒体に記憶され、その記憶媒体を介してコンピュータ（データ処理装置１００）に提供される。もちろん、インターネット等の電気通信回線を介して当該プログラムがコンピュータに提供されてもよい。そして、コンピュータが備えるＣＰＵやメモリ等のハードウェア資源と、提供された当該プログラム（ソフトウェア）との協働により、例えば回路選択部と再構成制御部の機能が実現される。
【００３２】
図１のデータ処理装置１００の全体構成は以上のとおりである。次に、データ処理装置１００により実現される処理や機能の具体例について説明する。なお、図１に示した構成（符号を付した各部）については、以下の説明において図１の符号を利用する。
【００３３】
図２は、対象データの符号化と復号化の具体例を示す図である。図２には、データ処理装置１００により処理される対象データの好適な具体例である画像データのデータ形式が図示されている。つまり、ラスタ形式の画像データとベクタ形式の画像データの具体例が図示されている。画像データをラスタ形式からベクタ形式へ変換する処理は符号化の具体例であり、画像データをベクタ形式からラスタ形式へ変換する処理は復号化の具体例である。
【００３４】
ラスタ形式の画像データは、画像データ内において連続する複数画素の画素値を画素の配列順に並べたデータ構成である。一方、ベクタ形式の画像データは、複数画素に関する画素値とラン長（ＲＵＮ長）の組み合わせで構成される。ベクタ形式におけるラン長は、画像データ内において連続する同一画素値の画素数を示すデータである。つまり、画素値とラン長の組み合わせにより、その画素値に対応した画素がラン長の個数だけ連続することが示される。
【００３５】
例えば、データ例１には、連続する複数画素の画素値が左から順にＡＡＡＡＡＢＢＢである画像データが図示されている。ラスタ形式では、画像データ内の配列どおりに、複数画素の画素値が左から順にＡＡＡＡＡＢＢＢと配列される。これに対し、ベクタ形式では同一画素値の連続する複数画素が画素値とラン長の組み合わせにより纏められる。データ例１において、画素値Ａの画素が５つ連続して画素値Ｂの画素が３つ連続しており、ベクタ形式では画素値Ａ×ラン長５と画素値Ｂ×ラン長３のデータ構成となる。
【００３６】
データ例２には、連続する複数画素の画素値が左から順にＡＣＡＣＡＤＢＣである画像データが図示されている。ラスタ形式では、画像データ内の配列どおりに、複数画素の画素値が左から順にＡＣＡＣＡＤＢＣと配列される。これに対し、ベクタ形式では、連続する同一画素値の複数画素が画素値とラン長の組み合わせにより纏められる。なお、データ例２では、連続する同一画素値がないため、ベクタ形式においても、複数画素の画素値が左から順にＡＣＡＣＡＤＢＣに分解されたままである。
【００３７】
データ処理部１０（図１）は、符号化された対象データを復号処理して復号化する。例えば、データ処理部１０は、ベクタ形式の画像データをラスタ形式の画像データに復号化する。
【００３８】
図３は、データ処理部１０の具体例１を示す図である。図３には、データ処理部１０の内部構成例が図示されている。
【００３９】
入力制御部１０Ａは、符号化された対象データ、例えばベクタ形式の画像データを取得する。入力制御部１０Ａは、例えば、複数ラインで構成される画像データを先頭ラインから順に次々に取得する。
【００４０】
前処理部１０Ｂは、入力制御部１０Ａから得られる符号化された対象データを復号処理部１０Ｃの出力幅に合わせた中間符号に変換する。復号処理部１０Ｃは、中間符号に変換された対象データを復号処理することにより、対象データを復号化する。
【００４１】
図４は、前処理部１０Ｂと復号処理部１０Ｃにおける処理の具体例を示す図である。前処理部１０Ｂは、符号化された対象データ、例えばベクタ形式の画像データを先頭ラインから順に次々に取得し、復号処理部１０Ｃの出力幅に合わせた中間符号に変換（プレデコード）する。
【００４２】
図４の具体例において、復号処理部１０Ｃは、出力幅が８画素分の８バイトであり、ラスタ形式に復号化された画像データを先頭ラインから順に８画素単位で出力する。そのため、図４の具体例において、前処理部１０Ｂは、復号処理部１０Ｃの出力幅である８画素単位の中間符号を生成する。
【００４３】
例えば、図４に示すように、画素値ａ×ラン長２，画素値ｂ×ラン長３，画素値ｃ×ラン長５の符号化されたベクタ形式の画像データが入力されると、前処理部１０Ｂは、画素値ａ×ラン長２，画素値ｂ×ラン長３，画素値ｃ×ラン長３で構成される８画素分、つまりラン長の合計が８となる中間符号を生成する。なお、画素値ｃの残りのラン長２は、次の８画素分の中間符号に利用される。図４の具体例において、前処理部１０Ｂは、ラン長の合計が８となる８画素分の中間符号を次々に生成する。
【００４４】
復号処理部１０Ｃは、８画素分の中間符号に変換されたベクタ形式の画像データを復号処理（ランレングスデコード）することにより、ラスタ形式の画像データを８画素単位で出力する。復号処理部１０Ｃは、中間符号であるベクタ形式の画像データを構成する各画素の画素値をラン長に応じた個数だけ展開して、ラスタ形式の画像データに変換（ラスタ化）する。
【００４５】
図３に戻り、復号処理部１０Ｃは、再構成可能回路を利用して実現され、８画素分の中間符号ごとに選択された復号回路を再構成して復号処理を実行する。復号処理部１０Ｃ内に再構成される復号回路は、回路選択部１０Ｄにより選択される。
【００４６】
回路選択部１０Ｄは、互いに同じ出力幅、例えば図４の具体例であれば８画素分の出力幅で処理結果を出力する複数の専用回路の中から、８画素分の中間符号ごとに復号回路を選択する。再構成制御部１０Ｅは、復号処理部１０Ｃの再構成を制御する。復号処理部１０Ｃの再構成に利用される回路データは、回路データ記憶部１０Ｆに記憶される。
【００４７】
図５は、回路データ記憶部１０Ｆに記憶される回路データの具体例１を示す図である。回路データ記憶部１０Ｆには、ラン長の合計が８（複合処理部１０Ｃの出力幅）となるラン長の組み合わせごとに用意された複数の専用回路の回路データが記憶される。
【００４８】
例えば、ラン長８専用回路は、画素数が１つの中間符号（画素数１のパターン）に対応した専用回路の回路データである。中間符号が８画素単位で構成される場合（図４の具体例）には、画素数が１つであれば、１つの画素値×ラン長８の中間符号となる。
【００４９】
画素数が２つの中間符号（画素数２のパターン）については、ラン長１，７専用回路，ラン長２，６専用回路，ラン長３，５専用回路，・・・に対応した複数の回路データが記憶される。ラン長１，７専用回路は、ラン長１とラン長７の２つの画素値で構成される中間符号に対応しており、ラン長２，６専用回路は、ラン長２とラン長６の２つの画素値で構成される中間符号に対応している。画素数が２つの中間符号（画素数２のパターン）については、ラン長の合計が８となる２つのラン長の組み合わせごとに用意された複数の専用回路の回路データが記憶される。
【００５０】
画素数が３つの中間符号（画素数３のパターン）については、ラン長１，１，６専用回路，ラン長１，２，５専用回路，ラン長１，３，４専用回路，・・・に対応した複数の回路データが記憶される。ラン長１，１，６専用回路は、ラン長１とラン長１とラン長６の３つの画素値で構成される中間符号に対応しており、ラン長１，２，５専用回路は、ラン長１とラン長２とラン長５の３つの画素値で構成される中間符号に対応している。画素数が３つの中間符号（画素数３のパターン）については、ラン長の合計が８となる３つのラン長の組み合わせごとに用意された複数の専用回路の回路データが記憶される。
【００５１】
また、画素数が４つの中間符号（画素数４のパターン）、画素数が５つの中間符号（画素数５のパターン）、画素数が６つの中間符号（画素数６のパターン）、画素数が７つの中間符号（画素数７のパターン）についても、ラン長の合計が８となるラン長の組み合わせごとに用意された複数の専用回路の回路データが記憶される。
【００５２】
画素数が８つの中間符号（画素数８のパターン）については、全てのラン長が１であるラン長１×８専用回路に対応した回路データが記憶される。中間符号が８画素単位で構成される場合（図４の具体例）には、画素数が８つであれば、８つの画素全てのラン長が１の中間符号となる。
【００５３】
図３に戻り、回路選択部１０Ｄは、前処理部１０Ｂにおいて生成される８画素分の中間符号ごとに、その中間符号に対応した専用回路を選択する。例えば、８画素分の中間符号を構成するラン長の組み合わせがラン長２，３，３であれば（図４の具体例参照）、その中間符号に対応した専用回路として、ラン長２，３，３専用回路が選択される。
【００５４】
再構成制御部１０Ｅは、回路選択部１０Ｄが選択した専用回路を構成するように、復号処理部１０Ｃの再構成を制御する。復号処理部１０Ｃは、再構成した復号回路（専用回路）により中間符号を復号化する。こうして、例えば、中間符号を構成するラン長の組み合わせがラン長２，３，３の場合には、ラン長２，３，３専用回路が復号処理部１０Ｃ内に再構成され、ラン長２，３，３専用回路によりラン長２，３，３の中間符号が復号処理される。
【００５５】
出力制御部１０Ｇは、復号処理部１０Ｃから得られる処理結果の出力を制御する。出力制御部１０Ｇは、復号処理部１０Ｃから得られる復号化された対象データ、例えばラスタ形式に復号化された画像データを復号処理部１０Ｃの出力幅で、図４の具体例であれば８画素単位で（８バイトごとに）、先頭ラインから次々に出力する。
【００５６】
図３の具体例１によれば、ラン長の組み合わせごとに用意された複数の専用回路の中から、中間符号内におけるラン長の組み合わせに対応付けられた各専用回路が選択され、その専用回路により中間符号が復号処理される。８画素分の中間符号ごとに、その中間符号の専用回路を再構成すればよいため、ラン長の全ての組み合わせに対応した全ての専用回路を固定的に設けておく場合に比べて、回路規模が小さくなる。
【００５７】
図６は、データ処理部１０の具体例２を示す図である。図６には、データ処理部１０の内部構成例が図示されている。
【００５８】
入力制御部１０Ａは、符号化された対象データ、例えばベクタ形式の画像データを取得する。入力制御部１０Ａは、例えば、複数ラインで構成される画像データを先頭ラインから順に次々に取得する。入力制御部１０Ａが取得した符号化された対象データは対象データ記憶部１０Ｈに記憶される。また、入力制御部１０Ａが取得した符号化された対象データは対象データ分析部１０Ｉに送られる。
【００５９】
対象データ分析部１０Ｉは、符号化された対象データ内におけるラン長の配列状態を分析する。回路選択部１０Ｄは、対象データ分析部１０Ｉにおける分析結果に基づいて、ラン長の配列状態に適合する復号回路を選択する。再構成制御部１０Ｅは、回路選択部１０Ｄが選択した復号回路を構成するように、復号処理部１０Ｃの再構成を制御する。復号処理部１０Ｃは、再構成可能回路を利用して実現され、回路選択部１０Ｄにより選択された復号回路を再構成して復号処理を実行する。復号処理部１０Ｃの再構成に利用される回路データは、回路データ記憶部１０Ｆに記憶される。
【００６０】
出力制御部１０Ｇは、復号処理部１０Ｃから得られる処理結果の出力を制御する。出力制御部１０Ｇは、復号処理部１０Ｃから得られる復号化された対象データ、例えばラスタ形式に復号化された画像データを復号処理部１０Ｃの出力幅で、先頭ラインから次々に出力する。
【００６１】
図７は、対象データ分析部１０Ｉと復号処理部１０Ｃにおける処理の具体例を示す図である。対象データ分析部１０Ｉは、符号化された対象データを処理単位ごとに分析する。例えば、ベクタ形式の画像データを先頭ラインから順に各ラインごとに分析する。なお、処理単位は各ラインに限らず、例えば、各ページまたは各ブロックを一つの処理単位としてもよいし、いくつかのラインを纏めて一つの処理単位としてもよい。
【００６２】
そして、対象データ分析部１０Ｉにおける分析結果に基づいて、ラン長の配列状態に適合する復号回路が選択され、選択された復号回路が復号処理部１０Ｃ内に再構成される。復号処理部１０Ｃは、再構成された復号回路を利用して、符号化された対象データを復号処理することにより、対象データを復号化する。なお、図７の具体例において、復号処理部１０Ｃは、出力幅が８画素分の８バイトであり、ラスタ形式に復号化された画像データを先頭ラインから順に８画素単位で出力する。
【００６３】
対象データ分析部１０Ｉは、復号処理部１０Ｃにおける復号処理に先だって、対象データを処理単位ごとに分析する。例えば、各ラインを処理単位とする場合、復号処理部１０Ｃにおいて第Ｎライン（Ｎは自然数）の復号処理が実行されている処理期間に、対象データ分析部１０Ｉは、第Ｎラインの次の第Ｎ＋１ラインの分析処理を実行する。そして、第Ｎ＋１ラインの復号処理が実行される前に、例えば第Ｎラインの復号処理が終了した直後に、第Ｎ＋１ラインの分析結果に応じて回路選択と再構成が行われる。
【００６４】
図８は、回路データ記憶部１０Ｆに記憶される回路データの具体例２を示す図である。図８の具体例２において、回路データ記憶部１０Ｆには、複数の代表ラン長に対応した複数の専用回路とラン長に依存しない汎用回路の回路データが記憶される。
【００６５】
ラン長１専用回路は、代表ラン長の１つであるラン長１の符号化データ（符号化された画像データ）を８個並列で復号処理して８画素分の復号化データ（復号化された画像データ）を出力する回路である。例えば、符号化された対象データ内、つまりベクタ化された画像データ内において、ラン長１が連続するデータ部分でラン長１専用回路を利用することにより、復号処理性能の向上（復号処理時間の短縮）が期待できる。
【００６６】
ラン長２専用回路は、代表ラン長の１つであるラン長２の符号化データを４個並列で復号処理して８画素分の復号化データを出力する回路である。例えば、符号化された対象データ内、つまりベクタ化された画像データ内において、ラン長２が連続するデータ部分でラン長２専用回路を利用することにより、復号処理性能の向上（復号処理時間の短縮）が期待できる。
【００６７】
ラン長４専用回路は、代表ラン長の１つであるラン長４の符号化データを２個並列で復号処理して８画素分の復号化データを出力する回路であり、ラン長４が連続するデータ部分でラン長４専用回路を利用することが望ましい。また、ラン長８専用回路は、代表ラン長の１つであるラン長８の符号化データを復号処理して８画素分の復号化データを出力する回路であり、ラン長８が連続するデータ部分でラン長８専用回路を利用することが望ましい。
【００６８】
そして、全ラン長汎用回路は、符号化データ内のラン長を１個ずつ復号処理（単純復号）する回路であり、全てのラン長を処理対象とすることができる。
【００６９】
回路選択部１０Ｄ（図６）は、回路データ記憶部１０Ｆに記憶された複数の代表ラン長に対応した複数の専用回路とラン長に依存しない汎用回路の中から、対象データ内の各代表ラン長が連続する各データ部分の復号回路として、その代表ラン長の専用回路または汎用回路を選択する。
【００７０】
図９は、回路選択部１０Ｄ（図６）による回路選択の具体例を示す図である。回路選択部１０Ｄは、各代表ラン長が連続する各データ部分において、その代表ラン長の連続数を用いて予測される処理性能の判定式により、その代表ラン長の専用回路または汎用回路を選択する。処理性能の判定式としては、例えば、以下に示す性能予測値と閾値を利用した閾値判定式が利用される。
【００７１】
［数１］
｛（Ａ×ｎ）／Ｎ｝＋２α ＜ ｎの場合・・・ラン長Ａ専用回路を選択
｛（Ａ×ｎ）／Ｎ｝＋２α ≧ ｎの場合・・・全ラン長汎用回路を選択
性能予測値｛（Ａ×ｎ）／Ｎ｝＋２α  
（Ａ×ｎ）／Ｎの小数点以下は整数へ繰り上げ
【００７２】
数１式において、Ａは分析対象となる代表ラン長である。例えば、図８に示す回路データの具体例２では、代表ラン長Ａは、１，２，４，８のいずれかである。なお、代表ラン長は図８の具体例２に限定されず、他のラン長が代表ラン長とされてもよい。ｎは代表ラン長Ａの連続数である。Ｎは復号処理部の出力幅である。例えば、図７に示す具体例では出力幅Ｎが８となる。そして、αは１回当たりの動的再構成時間である。
【００７３】
数１式における性能予測値の算出では、汎用回路から専用回路に再構成してから（再構成時間α）、専用回路により復号処理を行い（復号処理時間（Ａ×ｎ）／Ｎ）、その後に専用回路から汎用回路または別の専用回路に再構成する（再構成時間α）場合の合計時間が算出される。また、数１式における閾値ｎは、代表ラン長Ａの連続数であり、ｎ個の代表ラン長Ａを全て汎用回路によって復号処理した場合の復号処理時間に相当する。
【００７４】
図９の分析例１には、ラン長が１４０８０である符号化データ（ベクタ形式の画像データ）が例示されている。例えば、画像データ内において白枠の範囲にある各ラインにおいて、そのラインを構成する全画素（１４０８０画素）の画素値が０ｘｆｆ（白）となる場合にラン長が１４０８０（画素数が１つ）である分析例１の符号化データが得られる。
【００７５】
図８に示す回路データの具体例２では、代表ラン長Ａは、１，２，４，８であり、ラン長１４０８０は代表ラン長ではないため、図９の分析例１では、ラン長１４０８０のデータ部分の復号回路として全ラン長汎用回路が選択される。
【００７６】
図９の分析例２には、代表ラン長２が含まれる符号化データ（ベクタ形式の画像データ）が例示されている。
【００７７】
分析例２の区間Ｉにおけるラン長が不連続なデータ部分、つまり、ラン長１，３，４が並ぶデータ部分とラン長３，１が並ぶデータ部分では、ラン長が全て不連続であるため、これらのデータ部分の復号回路として全ラン長汎用回路が選択される。なお、ラン長１とラン長４は、図８に示す回路データの具体例２では、代表ラン長Ａであるため、数１式の閾値判定式が利用されてもよい。しかし、図９の分析例２の区間Ｉにおけるラン長１とラン長４は共に連続数ｎが１であるため、数１式の閾値判定式を適用しても全ラン長汎用回路が選択される。
【００７８】
分析例２の区間Ｉにおけるラン長２が４つ連続するデータ部分には、数１式の閾値判定式が利用される。ラン長２（代表ラン長Ａ＝２）が４つ連続（連続数ｎ＝４）するため、再構成時間α＝５（クロック）とすると、性能予測値｛（Ａ×ｎ）／Ｎ｝＋２α＝１１（クロック）となる。一方、閾値ｎ、つまりラン長２が４つ連続するデータ部分を汎用回路によって復号処理した場合の復号処理時間はｎ＝５（クロック）となる。したがって、分析例２の区間Ｉにおけるラン長２が４つ連続するデータ部分には、数１式の閾値判定式により、全ラン長汎用回路が選択される。結果的に、分析例２の区間Ｉの全データ部分において全ラン長汎用回路が選択される。
【００７９】
これに対し、図９の分析例２の区間ＩＩは、ラン長２が７０３２個連続するデータ部分で構成される。このデータ部分には、数１式の閾値判定式が利用される。ラン長２（代表ラン長Ａ＝２）が７０３２個連続（連続数ｎ＝７０３２）するため、再構成時間α＝５（クロック）とすると、性能予測値｛（Ａ×ｎ）／Ｎ｝＋２α＝１７７０（クロック）となる。一方、閾値ｎ、つまりラン長２が７０３２個連続するデータ部分を汎用回路によって復号処理した場合の復号処理時間はｎ＝７０３２（クロック）となる。したがって、分析例２の区間ＩＩにおけるラン長２が７０３２個連続するデータ部分には、数１式の閾値判定式により、ラン長２専用回路が選択される。
【００８０】
図１０は、データ処理部１０の具体例２（図６）の処理を示すフローチャートである。図１０には、複数ラインで構成される画像データの各ラインを処理単位とする処理例が図示されている。
【００８１】
まず、第Ｎライン（Ｎ番目のライン：Ｎは自然数）に対する復号処理に先だって、対象データ分析部１０Ｉにより第Ｎラインの分析が行われる（Ｓ１０００）。そして、第Ｎラインが分析されてからＳ１００１以降の処理が実行される。なお、先頭ライン（Ｎ＝１）については、Ｓ１０００における分析を省略し、ライン内の全データ部分を全ラン長汎用回路（図８）により単純復号してもよい。また、第２ライン（Ｎ＝２）以降のラインについては、その前のライン（第Ｎ−１ライン）に対する復号処理が実行されている時に、復号処理と並行して分析が行われてもよい。
【００８２】
次に、対象データ分析部１０Ｉによる第Ｎラインの分析結果（代表ラン長の連続数）に基づいて、回路選択部１０Ｄにより第Ｎライン内における回路選択が行われる（Ｓ１００１）。つまり、図８，図９を利用して説明した回路選択が行われ、第Ｎライン内のどのデータ部分でどの回路を利用するのかが選択される。
【００８３】
そして、再構成が必要か否かの確認が行われつつ（Ｓ１００２）、復号処理部１０Ｃにより第Ｎラインに対する復号処理が行われる。例えば、第Ｎライン内において再構成が必要なデータ部分については、回路選択部１０Ｄにより選択された回路が復号処理部内に再構成され（Ｓ１００３）、再構成された回路を利用して復号処理部により復号処理が実行される（Ｓ１００４）。一方、第Ｎライン内において再構成が不要なデータ部分については、復号処理部内の再構成は行われず、現状の回路を維持して、復号処理部により復号処理が実行される（Ｓ１００４）。
【００８４】
Ｓ１００１からＳ１００４までの処理は、第Ｎライン内の全データ部分の復号処理が終了するまで繰り返される（Ｓ１００５）。第Ｎライン内の全データ部分の復号処理が終了すると、画像データ内の全ラインの復号処理が終了したか否かが確認される（Ｓ１００６）。全ラインの復号処理が終了していなければ、ＮがＮ＋１に更新され（Ｓ１００７）、次のライン（更新された第Ｎライン）に対する処理が実行される。画像データ内の全ラインの復号処理の終了により（Ｓ１００６）、図１０のフローチャートは終了する。
【００８５】
図１１は、データ処理部１０の具体例３を示す図である。図１１には、データ処理部１０の内部構成例が図示されている。
【００８６】
図６の具体例２と比較して、図１１の具体例３では、ライン比較部１０Ｊと中央制御部１０Ｋと復号データ記憶部１０Ｌと選択部１０Ｍが追加されている。図１１に示す構成のうち、図６と同じ符号の各部は具体例２と同じ機能を備えており具体例２と同じ処理を実行する。そこで、図１１において追加された各部を中心に、データ処理部１０の具体例３を説明する。
【００８７】
符号化された対象データ、例えば複数ラインで構成されるベクタ形式の画像データは、先頭ラインから順に次々に対象データ記憶部１０Ｈと対象データ分析部１０Ｉとライン比較部１０Ｊに送られる。ライン比較部１０Ｊは、第Ｎライン（Ｎ番目のライン：Ｎは自然数）とその前のライン（第Ｎ−１ライン）のデータ内容を比較する。
【００８８】
第Ｎラインと第Ｎ−１ラインのデータ内容が一致していなければ、第Ｎラインに対する復号処理が必要となる。中央制御部１０Ｋは、再構成制御部１０Ｅ等を制御して、第Ｎラインに対する復号処理を実行させる。つまり、第Ｎラインに関する分析結果に応じて回路選択が行われ、必要に応じて復号処理部１０Ｃ内が再構成され、第Ｎラインが復号処理される（図７〜図１０参照）。そして、復号処理部１０Ｃにおける処理結果、例えばラスタ形式に復号化された画像データが、選択部１０Ｍにより選択されて出力制御部１０Ｇへ送られる。
【００８９】
これに対し、第Ｎラインと第Ｎ−１ラインのデータ内容が一致していれば、第Ｎラインに対する復号処理が不要となる。中央制御部１０Ｋは、選択部１０Ｍを制御して、第Ｎラインの復号結果として、復号データ記憶部１０Ｌに記憶された第Ｎ−１ラインの復号結果を出力制御部１０Ｇへ送る。例えば、復号データ記憶部１０Ｌに記憶された第Ｎ−１ラインの復号結果（ラスタ形式の画像データ）が、復号処理部１０Ｃの出力幅と同じデータ幅で次々に読み出され、選択部１０Ｍを介して出力制御部１０Ｇから出力される。
【００９０】
図１１の具体例３によれば、第Ｎラインと第Ｎ−１ラインのデータ内容が一致している場合に、第Ｎラインの復号処理が省略できるため、第Ｎラインの復号処理を実行する場合に比べて、処理時間が短縮され回路消費電力も低下する。
【００９１】
図１２はデータ処理部１０の具体例３（図１１）の処理を示すフローチャートである。図１２には、複数ラインで構成される画像データの各ラインを処理単位とする処理例が図示されている。
【００９２】
まず、第Ｎライン（Ｎ番目のライン：Ｎは自然数）を処理するにあたり、ライン比較部１０Ｊにより、第Ｎラインとその前の第Ｎ−１ラインのデータ内容が一致しているか否かが確認される（Ｓ１２０１）。なお、先頭ライン（Ｎ＝１）については、Ｓ１２０１における確認が省略され、Ｓ１０００以降の処理が実行される。
【００９３】
Ｓ１２０１における確認により、第Ｎラインとその前の第Ｎ−１ラインのデータ内容が一致していれば、復号データ記憶部１０Ｌに記憶された第Ｎ−１ラインの復号結果が出力制御部１０Ｇから出力される（Ｓ１２０２）。そして、画像データ内の全ラインの復号処理が終了したか否かが確認され（Ｓ１００６）、全ラインの復号処理が終了していなければ、ＮがＮ＋１に更新され（Ｓ１００７）、次のライン（更新された第Ｎライン）に対する処理が実行される。
【００９４】
一方、Ｓ１２０１における確認により、第Ｎラインとその前の第Ｎ−１ラインのデータ内容が一致していなければ、第Ｎラインに対する復号処理が必要となり、図１０を利用して説明したＳ１０００からＳ１００５までの処理が実行される。Ｓ１０００からＳ１００５までの処理は、既に説明したとおりであるため、ここでは説明を省略する。なお、画像データ内の全ラインの復号処理の終了により（Ｓ１００６）、図１２のフローチャートは終了する。
【００９５】
以上、本発明の好適な実施形態を説明したが、上述した実施形態は、あらゆる点で単なる例示にすぎず、本発明の範囲を限定するものではない。本発明は、その本質を逸脱しない範囲で各種の変形形態を包含する。
【符号の説明】
【００９６】
１０  データ処理部、１０Ｃ  復号処理部、１０Ｄ  回路選択部、１００  データ処理装置。
【図１】
0006623843.tif 000002
【図２】
0006623843.tif 000003
【図３】
0006623843.tif 000004
【図４】
0006623843.tif 000005
【図５】
0006623843.tif 000006
【図６】
0006623843.tif 000007
【図７】
0006623843.tif 000008
【図８】
0006623843.tif 000009
【図９】
0006623843.tif 000010
【図１０】
0006623843.tif 000011
【図１１】
0006623843.tif 000012
【図１２】
0006623843.tif 000013