JP6711003B2 - データ処理装置およびプログラム - Google Patents

データ処理装置およびプログラム Download PDF

Info

Publication number
JP6711003B2
JP6711003B2 JP2016030546A JP2016030546A JP6711003B2 JP 6711003 B2 JP6711003 B2 JP 6711003B2 JP 2016030546 A JP2016030546 A JP 2016030546A JP 2016030546 A JP2016030546 A JP 2016030546A JP 6711003 B2 JP6711003 B2 JP 6711003B2
Authority
JP
Japan
Prior art keywords
processing
block
data
command
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016030546A
Other languages
English (en)
Other versions
JP2017152755A (ja
Inventor
領 久木宮
領 久木宮
奥山 潤一
潤一 奥山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2016030546A priority Critical patent/JP6711003B2/ja
Publication of JP2017152755A publication Critical patent/JP2017152755A/ja
Application granted granted Critical
Publication of JP6711003B2 publication Critical patent/JP6711003B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Facsimile Image Signal Circuits (AREA)

Description

本発明は、データ処理装置およびプログラムに関する。
データ処理装置は様々な分野において広く普及しており、特に、画像データを処理対象とする画像処理装置はデータ処理装置の好適な具体例の一つである。従来から、データ処理装置と画像処理装置に係る技術がいくつか提案されている。
例えば、特許文献1には、複数の画像データの夫々の主走査処理方向に応じてカウントを行い、分割された画像データの境界線での処理の連続性を保つようにディザサイズに応じた主走査処理を行う画像処理装置が記載されている。
特開2007−194955号公報
本発明は、複数のデータ要素を用いたデータ処理を必要とする処理方式と当該データ処理を不要とする処理方式とを含む複数の処理方式の中から、複数のデータ要素の配列状態に応じた処理方式を選択することにある。
請求項1に係る発明は、対象データ内の各ブロックごとに、当該各ブロックを構成する複数のデータ要素の配列状態を示す識別子を生成する生成部と、前記複数のデータ要素を用いたデータ処理を必要とする処理方式と当該データ処理を不要とする処理方式とを含む複数の処理方式の中から、前記各ブロックごとに当該各ブロックの識別子に対応付けられた処理方式を選択的に実行する処理部と、を有前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値が一致している場合、前記処理部は、前記データ処理を必要とする処理方式が選択された前記各ブロックに対して生成された識別子に付された値を、前記データ処理を必要とする処理方式が選択された前記各ブロック内の全データ要素に対応付けて、前記データ処理を実行して当該各ブロックの処理結果を得て、前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値が一致していない場合、前記処理部は、前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値に対して前記データ処理を実行して当該各ブロックの処理結果を得る、ことを特徴とするデータ処理装置である。
請求項2に係る発明は、請求項1に記載のデータ処理装置において、前記処理部は、前記データ処理を不要とする処理方式が選択された前記各ブロックの処理結果として、当該各ブロックを構成する複数のデータ要素に対応付けられた既知の処理結果を得る、ことを特徴とするデータ処理装置である。
請求項に係る発明は、請求項1又は請求項2に記載のデータ処理装置において、前記処理部は、前記各ブロックを構成する複数のデータ要素に対する前記データ処理として、前記各ブロック内における各データ要素の位置と当該各データ要素の値とにより当該各データ要素の処理結果を得る調変換処理を実行する、ことを特徴とするデータ処理装置である。
請求項に係る発明は、請求項1からのいずれか1項に記載のデータ処理装置において、前記識別子が同一の互いに隣接する複数ブロックを一纏めにした処理単位ごとに、前記識別子に対応付けられた処理方式により処理結果を得る、ことを特徴とするデータ処理装置である。
請求項に係る発明は、請求項に記載のデータ処理装置において、前記処理単位ごとに、当該処理単位を構成する前記複数ブロックの全データ要素数に対応付けられた出力幅で処理結果を出力する、ことを特徴とするデータ処理装置である。
請求項に係る発明は、コンピュータに、対象データ内の各ブロックごとに、当該各ブロックを構成する複数のデータ要素の配列状態を示す識別子を生成する第1機能と、前記複数のデータ要素を用いたデータ処理を必要とする処理方式と当該データ処理を不要とする処理方式とを含む複数の処理方式の中から、前記各ブロックごとに当該各ブロックの識別子に対応付けられた処理方式を選択する第2機能と、を実現させ、前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値が一致している場合、前記第2機能は、前記データ処理を必要とする処理方式が選択された前記各ブロックに対して生成された識別子に付された値を、前記データ処理を必要とする処理方式が選択された前記各ブロック内の全データ要素に対応付けて、前記データ処理を実行して当該各ブロックの処理結果を得て、前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値が一致していない場合、前記第2機能は、前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値に対して前記データ処理を実行して当該各ブロックの処理結果を得る、ことを特徴とするプログラムである。
請求項1に係る発明によれば、複数のデータ要素を用いたデータ処理を必要とする処理方式と当該データ処理を不要とする処理方式とを含む複数の処理方式の中から、複数のデータ要素の配列状態に応じた処理方式が選択される。
請求項2に係る発明によれば、データ処理を不要とする処理方式においてデータ処理を行わずに処理結果を得ることができる。
請求項に係る発明によれば、諧調変換処理を必要とする処理方式と不要とする処理方式の選択が実現される。
請求項に係る発明によれば、複数ブロックを一纏めにした処理単位ごとに処理結果を得ることができる。
請求項に係る発明によれば、複数ブロックを一纏めにした処理単位に応じた出力幅で処理結果を出力することができる。
請求項に係る発明によれば、複数のデータ要素を用いたデータ処理を必要とする処理方式と当該データ処理を不要とする処理方式とを含む複数の処理方式の中から、複数のデータ要素の配列状態に応じた処理方式を選択するプログラムが提供される。
本発明の実施形態として好適なデータ処理装置の具体例を示す図である。 データ処理の具体例であるディザ処理を説明するための図である。 対象データ内の各ブロックとブロックコマンドの具体例を示す図である。 コマンド生成部とデータ処理部の具体例1を示す図である。 ブロックコマンドの変形例を示す図である。 コマンド生成部とデータ処理部の具体例2を示す図である。 処理回路記憶部に記憶される回路データの具体例を示す図である。 コマンド生成部とデータ処理部の具体例3を示す図である。 出力回路記憶部に記憶される回路データの具体例を示す図である。 コマンド生成部が実行する処理の具体例を示すフローチャートである。 データ処理部が実行する処理の具体例を示すフローチャートである。 データ処理装置の処理性能の具体例を示す図である。
図1は、本発明を実施するための形態として好適なデータ処理装置100の具体例を示す図である。図1のデータ処理装置100は、演算部10とメモリ50を備えている。演算部10はメモリ50に記憶された処理前の対象データに対してデータ処理を実行する。演算部10による処理後の対象データはメモリ50に記憶される。
図1のデータ処理装置100が処理対象とする対象データの好適な具体例は画像データ(文字や数字や記号のみのデータを含む)等であり、例えばコンピュータ等の外部の装置から画像データがデータ処理装置100に送られてメモリ50に記憶される。
また、図1のデータ処理装置100が、画像読み取り機能(スキャン機能)等を備えた画像処理装置内に組み込まれ、画像読み取り機能を介して紙などの媒体から得られた画像データが対象データとされてもよい。さらに、データ処理装置100による処理後の画像データに対応した画像が紙などに印刷されてもよいし、処理後の画像データが外部の装置に提供されてもよい。なお、画像処理装置の好適な具体例には、複写機、印刷機、ファクシミリ(FAX)などが含まれる。さらに、複写機、印刷機、ファクシミリのうちのいずれか複数の機能を兼ね備えた複合機も画像処理装置の好適な具体例である。
演算部10は、対象データ内の各ブロックごとにコマンド(ブロックコマンド)を生成するコマンド生成部20の機能と、対象データ内の各ブロックごとに処理結果(処理後の対象データ)を得るデータ処理部30の機能を実現する。
演算部10は、プログラマブルではない固定型の回路構成を実現するデバイス、例えばASIC(Application Specific Integrated Circuit)等により実現することができるものの、回路構成がプログラマブルな再構成可能回路により実現されることが望ましい。
再構成可能回路は、内部の回路構成を再構成可能(プログラマブル)な回路である。例えば、動的再構成可能プロセッサ(DRP:Dynamic Reconfigurable Processor)が、再構成可能回路を実現する好適なデバイスの一つである。もちろん、他のデバイス、例えばPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)などのプログラマブル論理回路により再構成可能回路が実現されてもよい。さらに、将来的に登場する動的再構成可能なデバイス(プロセッサ等)を利用して再構成可能回路が実現されてもよい。なお、演算部10として好適な上述したプロセッサやデバイスはあくまでも一例に過ぎず、他のハードウェアが利用されてもよい。
メモリ50は、対象データを記憶する記憶デバイスであり、例えば、半導体メモリなどがメモリ50の好適な具体例である。
図1のデータ処理装置100が備える内部構成のうちの少なくとも一部は、例えば演算機能等を実現するハードウェアとその動作を規定するソフトウェア(制御プログラム等)によって構成され、ハードウェアとソフトウェアとの協働により実現されてもよい。例えば、コマンド生成部20の機能とデータ処理部30の機能のうちの少なくとも一部がコンピュータにより実現されてもよい。この場合には、後に詳述するコマンド生成部20の機能とデータ処理部30の機能に対応したアルゴリズムのプログラムが、例えば、ディスクやメモリなどのコンピュータが読み取り可能な記憶媒体に記憶され、その記憶媒体を介してコンピュータ(データ処理装置100)に提供される。もちろん、インターネット等の電気通信回線を介して当該プログラムがコンピュータに提供されてもよい。そして、コンピュータが備えるCPUやメモリ等のハードウェア資源と、提供された当該プログラム(ソフトウェア)との協働により、例えばコマンド生成部20の機能とデータ処理部30の機能のうちの少なくとも一部が実現される。
図1のデータ処理装置100の全体構成は以上のとおりである。次に、データ処理装置100により実現される処理と機能の具体例について説明する。なお、図1に示した構成(符号を付した各部)については、以下の説明において図1の符号を利用する。
図2は、データ処理装置100が実行するデータ処理の具体例であるディザ処理を説明するための図である。ディザ処理は、対象データを構成する複数のデータ要素、例えば、画像データを構成する複数の画素に対する諧調変換処理の好適な具体例である。ディザ処理では、例えば、画像データ内における各画素の位置(座標)とその画素の値(画素値)に応じて、その画素の処理結果(ディザ処理後の画素値)が得られる。
図2には、各画素の画素値が8ビット(8bit)である処理前の画像データから、各画素の画素値が2ビット(2bit)である処理後の画像データを得るディザ処理の具体例が図示されている。図2の具体例における処理後の画像データにより、例えば、各画素の印刷時における滴サイズが決定される。
図2に示す具体例では、横方向(X方向)と縦方向(Y方向)の画素数がそれぞれ256画素である画像領域ごとに閾値処理が実行される。例えば、256画素×256画素の画像領域に対応した閾値係数テーブルが予め用意されており、閾値係数テーブルから得られる閾値係数を利用して、画像領域内の各座標(画素の位置)に対応した閾値(th0,th1,th2)が算出される。そして、8ビットの入力画素値が閾値判定により2ビットの出力画素値に変換される。
ディザ処理では、画像領域内の各座標ごとに閾値が算出され、各座標ごとに閾値判定により出力画素値が得られる。つまり、各画素の位置(座標)と画素値に依存するアルゴリズムとなっている。ところが、特殊な画素値、例えば8ビットの最大値0xff(白)と最小値0x00(黒)については、閾値に関係なく、つまり画素の位置に関係なく、常に2ビットの最大値0b11と最小値0b00に変換される。したがって、入力画素が0xffと0x00の場合には、ディザ処理(閾値処理)を省略しても、既知の出力画素0b11と0b00を得ることができる。
そこで、データ処理装置100は、複数の処理方式の中から、対象データを構成する複数のデータ要素の配列状態に応じた処理方式、例えば画像データを構成する複数の画素の配列状態に応じた処理方式を選択的に実行する。データ処理装置100は、対象データ内の各ブロックごとにブロックコマンドを生成し、ブロックコマンドに応じた処理方式を選択的に実行する。
図3は、対象データ内の各ブロックとブロックコマンドの具体例を示す図である。図3(A)には、処理対象となる対象データの具体例であるディザ処理前の画像データが図示されている。画像データ(対象データ)は、複数のブロックに分割される。図3の具体例において、各ブロック(ブロック1,2,3,・・・)は、横方向(X方向)の画素数が16画素であり縦方向(Y方向)の画素数が1画素である。なお、各ブロックを構成する画素数は図3の具体例に限定されない。例えば、各ブロックを構成する縦方向(Y方向)の画素数が複数であってもよい。
図3(B)は、ブロックコマンドの具体例を示している。図3(B)のブロックコマンドは、ブロック識別子Nと画素値で構成される。ブロック識別子Nの具体例が図3(C)に図示されている。ブロックコマンドは、画像データを構成する複数ブロックの各ブロックごとに生成される。
各ブロック内における全画素の画素値が0x00の場合に、そのブロックのブロック識別子Nは0(N=0)とされる。ブロック識別子Nが0の場合、識別子0と1画素分の画素値0x00を組み合わせたブロックコマンドが生成される。また、各ブロック内における全画素の画素値が0xffの場合に、そのブロックのブロック識別子Nは1(N=1)とされる。ブロック識別子Nが1の場合、識別子1と1画素分の画素値0xffを組み合わせたブロックコマンドが生成される。
また、各ブロック内における全画素の画素値が一致している場合に(画素値が0x00と0xffの場合を除く)、そのブロックのブロック識別子Nは2(N=2)とされる。ブロック識別子Nが2の場合、識別子2と1画素分の画素値0xa0を組み合わせたブロックコマンドが生成される。そして、各ブロック内における全画素の画素値が一致していない場合に(全画素のうち1画素でも画素値が異なる場合に)そのブロックのブロック識別子Nは3(N=3)とされる。なお、ブロック識別子Nが3の場合には、識別子3のみ(画素値無し)のブロックコマンドが生成される。
図4は、コマンド生成部20とデータ処理部30の具体例1(固定ラン長方式)を示す図である。コマンド生成部20は、対象データ内の各ブロックごとにブロックコマンドを生成する。データ処理部30は、対象データ内の各ブロックごとに複数の処理方式の中から各ブロックのブロックコマンドに応じた処理方式を選択的に実行して処理結果を得る。図4には、コマンド生成部20とデータ処理部30の内部構成例が図示されている。
図4のコマンド生成部20は、入力制御部とブロック解析部とコマンド決定部を備えている。入力制御部は、メモリ50に記憶された処理対象となる対象データ、例えばディザ処理前の画像データを取得する。入力制御部は、例えば、画像データを構成する複数ブロック(図3参照)を先頭ブロックから順に次々に取得する。
ブロック解析部は入力制御部から得られる複数ブロックを各ブロックごとに解析する。ブロック解析部は、各ブロックを構成する複数のデータ要素、つまり、各ブロックを構成する複数画素の配列状態を解析し、その配列状態に応じたブロック識別子N(図3参照)を生成する。
そして、コマンド決定部は、画像データを構成する複数ブロックの各ブロックごとにブロックコマンドを決定する。コマンド決定部は、各ブロックごとにブロック識別子Nと画素値で構成されるブロックコマンド(図3参照)を生成する。なお、ブロック解析部の解析結果に応じたブロック識別子Nをコマンド決定部が生成してもよい。
こうして、コマンド生成部20により、画像データを構成する複数ブロックの各ブロックごとにブロックコマンドが生成される。
図4のデータ処理部30は、コマンド判定部とコマンド処理部0〜3と出力制御部を備えている。コマンド判定部は、画像データを構成する複数ブロックの各ブロックごとにブロックコマンドに応じた処理方式を判定する。コマンド判定部は、複数の処理方式に対応した複数のコマンド処理部0〜3の中から、各ブロックごとにブロックコマンドのブロック識別子Nに対応したコマンド処理部を選択する。
例えば、ブロックコマンドのブロック識別子Nが0(N=0)の場合には、コマンド処理部0が選択される。ブロック識別子Nが0(N=0)の各ブロックは、そのブロック内の全画素の画素値が0x00であり(図3参照)、そのブロック内の全画素についてディザ処理(閾値処理)の処理結果が既知の0b00となる。そこで、コマンド処理部0は、ディザ処理(閾値処理)を省略し、各ブロック内の全画素(16画素)の出力値が0b00である処理結果を出力する。
ブロックコマンドのブロック識別子Nが1(N=1)の場合には、コマンド処理部1が選択される。ブロック識別子Nが1(N=1)の各ブロックは、そのブロック内の全画素の画素値が0xffであり(図3参照)、そのブロック内の全画素についてディザ処理(閾値処理)の処理結果が既知の0b11となる。そこで、コマンド処理部1は、ディザ処理(閾値処理)を省略し、各ブロック内の全画素(16画素)の出力値が0b11である処理結果を出力する。
ブロックコマンドのブロック識別子Nが2(N=2)の場合には、コマンド処理部2が選択される。ブロック識別子Nが2(N=2)の各ブロックは、そのブロック内の全画素の画素値が一致している(図3参照)。但し、各画素の処理結果(ディザ処理後の画素値)が各画素の位置(座標)とその画素の値(画素値)に依存する。そこで、コマンド処理部2は、ブロック識別子Nが2(N=2)のブロックコマンドに付された画素値0xa0を各ブロック内の全画素(16画素)に対応付けて処理用ブロックを構成し、その処理用ブロックに対してディザ処理(閾値処理)を実行する。これにより、各ブロック内の全画素(16画素)に関するディザ処理(閾値処理)の処理結果が出力される。
ブロックコマンドのブロック識別子Nが3(N=3)の場合には、コマンド処理部3が選択される。ブロック識別子Nが3(N=3)の各ブロックは、そのブロック内の全画素の画素値が一致していない(図3参照)。つまり全画素のうち少なくとも1画素の画素値が他とは異なっており、ディザ処理(閾値処理)が必要となる。そこで、コマンド処理部3は、ブロック識別子Nが3(N=3)のブロックコマンドに対応した各ブロック内の全画素(16画素)の画素値をメモリ50から読み出して処理用ブロックを構成し、その処理用ブロックに対してディザ処理(閾値処理)を実行する。これにより、各ブロック内の全画素(16画素)に関するディザ処理(閾値処理)の処理結果が出力される。
出力制御部は、コマンド処理部0〜3から得られる処理結果の出力を制御する。出力制御部は、コマンド処理部0〜3から得られる処理結果を、例えば画像データを構成する複数のブロックの先頭ブロックから順に次々に出力してメモリ50に記憶する。こうして、画像データの処理結果(ディザ処理後の画像データ)がメモリ50に記憶される。
コマンド生成部20とデータ処理部30は例えば再構成可能回路内に構成される。再構成可能回路によりコマンド生成部20とデータ処理部30を実現する場合、コマンド生成部20とデータ処理部30は、再構成可能回路内に同時に構成されてもよいし、コマンド生成部20とデータ処理部30が再構成可能回路内に順に構成されてもよい。
例えば、まずコマンド生成部20が再構成可能回路内に構成され、画像データ(対象データ)を構成する複数ブロックのブロックコマンドがメモリ50に記憶される。また、ブロックコマンドに画素値が付されていないブロック、例えばブロック識別子Nが3(N=3)のブロック(図3参照)については、そのブロックを構成する全画素の画素データもメモリ50に戻されて記憶される。これに対し、例えばブロック識別子Nが0,1,2(N=0,1,2)のブロック(図3参照)については、ブロックコマンドに代表となる画素値が付されているため、そのブロックを構成する全画素の画素データをメモリ50に戻さなくてもよい。そして、コマンド生成部20に代えてデータ処理部30が再構成可能回路内に再構成され、メモリ50に記憶されたブロックコマンドが参照され、各ブロックごとに複数の処理方式の中からブロックコマンドに応じた処理方式が選択的に実行される。
図5は、ブロックコマンドの変形例を示す図である。処理対象となる対象データの具体例であるディザ処理前の画像データは、図3(A)と同じであり、画像データ(対象データ)は、複数のブロックに分割される。例えば、各ブロックは、横方向(X方向)の画素数が16画素であり縦方向(Y方向)の画素数が1画素である。
図5(A)は、ブロックコマンドの変形例を示している。図5(A)のブロックコマンドは、ブロック識別子Nとラン識別子Lと画素値で構成される。ブロック識別子Nの具体例が図5(B)に、ラン識別子Lの具体例が図5(C)に図示されている。
ブロック識別子Nは、図3(C)の具体例と同じである。つまり、図5の変形例においても、各ブロック内における全画素の画素値が0x00の場合に、そのブロックのブロック識別子Nは0(N=0)とされ、各ブロック内における全画素の画素値が0xffの場合に、そのブロックのブロック識別子Nは1(N=1)とされ、各ブロック内における全画素の画素値が一致している場合に(画素値が0x00と0xffの場合を除く)、そのブロックのブロック識別子Nは2(N=2)とされ、各ブロック内における全画素の画素値が一致していない場合に(全画素のうち1画素でも画素値が異なる場合に)そのブロックのブロック識別子Nは3(N=3)とされる。
ラン識別子Lは、ブロック識別子Nが同一となるブロックの連続性を示す。例えば、ブロック識別子Nが同一となるブロックが連続していなければ、つまり1つのブロックが孤立していれば、その1つのブロックのラン識別子Lは1(L=1)とされる。ラン識別子Lが1の場合、ブロック識別子Nが同一となる画素のラン長は16(16×1)となる。ブロック識別子Nが同一となるブロックが2つ連続していれば、それらのブロックのラン識別子Lは2(L=2)とされる。ラン識別子Lが2の場合、ブロック識別子Nが同一となる画素のラン長は32(16×2)となる。また、ブロック識別子Nが同一となるブロックが3つ連続していれば、それらのブロックのラン識別子Lは3(L=3)とされる。ラン識別子Lが3の場合、ブロック識別子Nが同一となる画素のラン長は48(16×3)となる。一般に、ブロック識別子Nが同一となるブロックがM個(Mは自然数)連続していれば、それらのブロックのラン識別子LはM(L=M)とされる。ラン識別子LがMの場合、ブロック識別子Nが同一となる画素のラン長は(16×M)となる。
図6は、コマンド生成部20とデータ処理部30の具体例2(最適ラン長方式)を示す図である。図6にはコマンド生成部20とデータ処理部30の内部構成例が図示されている。
図6のコマンド生成部20は、入力制御部とブロック解析部とラン長解析部とコマンド決定部を備えている。入力制御部は、メモリ50に記憶された対象データ、例えばディザ処理前の画像データを取得する。入力制御部は、例えば、画像データを構成する複数ブロック(図3参照)を先頭ブロックから順に次々に取得する。
ブロック解析部は入力制御部から得られる複数ブロックを各ブロックごとに解析する。ブロック解析部は、各ブロックを構成する複数のデータ要素、つまり、各ブロックを構成する複数画素の配列状態を解析し、その配列状態に応じたブロック識別子N(図5参照)を生成する。
ラン長解析部は、ブロック識別子Nが同一となるブロックの連続性を解析する。ラン長解析部は、ブロックの連続性に応じたラン識別子L(図5参照)を生成する。
そして、コマンド決定部は、画像データを構成する複数ブロックのブロックコマンドを決定する。コマンド決定部は、ブロック識別子Nとラン識別子Lと画素値で構成されるブロックコマンド(図5参照)を生成する。例えば、各ブロックごとにブロックコマンドが生成される。なお、ブロック識別子Nが同一となる連続する複数ブロックに対して1つのブロックコマンドが生成されてもよい。また、ブロック解析部とラン長解析部の解析結果に応じたブロック識別子Nとラン識別子Lをコマンド決定部が生成してもよい。
こうして、コマンド生成部20により、画像データを構成する複数ブロックのブロックコマンドが生成される。
図6のデータ処理部30は、コマンド判定部と再構成制御部と処理回路記憶部とコマンド処理部と出力制御部を備えている。コマンド判定部は、画像データを構成する複数ブロックのブロックコマンドに応じた処理方式を判定する。ブロックコマンドに応じた処理方式は、そのブロックコマンドのブロック識別子Nとラン識別子Lにより決定される。
コマンド処理部は、ブロックコマンドに応じた処理方式のコマンド処理を実行する。コマンド処理部は、再構成可能回路によって実現される。再構成制御部は、ブロックコマンドのブロック識別子Nとラン識別子Lにより特定される処理回路NLをコマンド処理部内に再構成する。処理回路NLの回路データは、処理回路記憶部に記憶されている。
図7は、処理回路記憶部に記憶される回路データの具体例を示す図である。処理回路記憶部には、ブロック識別子N(0〜3)とラン識別子L(1〜M)の組み合わせに対応した複数の処理回路NLの回路データが記憶される。各処理回路NLは、ブロック識別子Nでラン識別子Lであるブロックコマンドに対応したコマンド処理を実行する回路である。
例えば、処理回路01は、ブロック識別子が0(N=0)でラン識別子が1(L=1)であるブロックコマンドに対応したコマンド処理を実行する回路である。ブロック識別子が0の場合には、ブロック内の全画素の画素値が0x00であり(図5参照)、そのブロック内の全画素についてディザ処理(閾値処理)の処理結果が既知の0b00となる(図2参照)。処理回路01は、ディザ処理(閾値処理)を省略してブロック内の全画素(ラン長16)の出力値が0b00である処理結果を出力する処理を実行する回路である。
また、処理回路12は、ブロック識別子が1(N=1)でラン識別子が2(L=2)であるブロックコマンドに対応したコマンド処理を実行する回路である。ブロック識別子が1の場合には、ブロック内の全画素の画素値が0xffであり(図5参照)、そのブロック内の全画素についてディザ処理(閾値処理)の処理結果が既知の0b11となる(図2参照)。処理回路12は、ディザ処理(閾値処理)を省略してブロック内の全画素(ラン長32)の出力値が0b11である処理結果を出力する処理を実行する回路である。
また、処理回路23は、ブロック識別子が2(N=2)でラン識別子が3(L=3)であるブロックコマンドに対応したコマンド処理を実行する回路である。ブロック識別子が2の場合には、ブロック内の全画素の画素値が一致している(図5参照)。但し、各画素の処理結果(ディザ処理後の画素値)が各画素の位置(座標)とその画素の値(画素値)に依存する。処理回路23は、ブロックコマンドに付された画素値0xa0をブロック内の全画素(48画素)に対応付けて処理用ブロックを構成し、その処理用ブロックに対してディザ処理(閾値処理)を実行する回路である。
また、処理回路34は、ブロック識別子が3(N=3)でラン識別子が4(L=4)であるブロックコマンドに対応したコマンド処理を実行する回路である。ブロック識別子が3の場合には、ブロック内の全画素の画素値が一致していない(図5参照)。つまり全画素のうち少なくとも1画素の画素値が他とは異なっており、ディザ処理(閾値処理)が必要となる。処理回路34は、ブロックコマンドに対応したブロック内の全画素(64画素)の画素値をメモリ50から読み出して処理用ブロックを構成し、その処理用ブロックに対してディザ処理(閾値処理)を実行する回路である。
処理回路記憶部には、ブロック識別子N(0〜3)とラン識別子L(1〜M)の全ての組み合わせに対応した複数の処理回路NLの回路データが記憶されている。
図6に戻り、ブロックコマンドのブロック識別子Nとラン識別子Lにより特定される処理回路NLがコマンド処理部内に再構成され、ブロックコマンドに応じた処理方式のコマンド処理が実行されると、コマンド処理の処理結果は出力制御部へ送られる。
出力制御部はコマンド処理部から得られる処理結果の出力を制御する。出力制御部は、コマンド処理部から得られる処理結果を、例えば画像データを構成する複数のブロックの先頭ブロックから順に次々に出力してメモリ50に記憶する。こうして、画像データの処理結果(ディザ処理後の画像データ)がメモリ50に記憶される。
なお、図4の具体例1と同様に、図6の具体例2におけるコマンド生成部20とデータ処理部30(処理回路記憶部を除く)が、再構成可能回路内に構成されてもよい。再構成可能回路によりコマンド生成部20とデータ処理部30を実現する場合、コマンド生成部20とデータ処理部30は、再構成可能回路内に同時に構成されてもよいし、コマンド生成部20とデータ処理部30が再構成可能回路内に順に構成されてもよい。
図8は、コマンド生成部20とデータ処理部30の具体例3(最適出力幅方式)を示す図である。図8にはコマンド生成部20とデータ処理部30の内部構成例が図示されている。
図8のコマンド生成部20は、図6のコマンド生成部20と同じ構成であり同じ処理を実行する。つまり、図8のコマンド生成部20により、画像データを構成する複数ブロックのブロックコマンド(図5参照)が生成される。
図8のデータ処理部30は、コマンド判定部と再構成制御部と処理回路記憶部とコマンド処理部と出力回路記憶部と出力制御部を備えている。コマンド判定部と処理回路記憶部とコマンド処理部は、図6の具体例2と同じ構成であり同じ処理を実行する。つまり、図8の具体例3においても、コマンド判定部は、画像データを構成する複数ブロックのブロックコマンドに応じた処理方式を判定し、コマンド処理部は、ブロックコマンドに応じた処理方式のコマンド処理を実行する。コマンド処理部は、再構成可能回路によって実現され、再構成制御部は、ブロックコマンドのブロック識別子Nとラン識別子Lにより特定される処理回路NLをコマンド処理部内に再構成する。処理回路NLの回路データは、処理回路記憶部に記憶されている(図7参照)。
図8の具体例3では、データ処理部30の出力制御部がブロックコマンドのラン識別子Lに応じた出力制御を行う。出力制御部は、再構成可能回路によって実現される。再構成制御部は、ブロックコマンドのラン識別子Lにより特定される出力回路Lを出力制御部内に再構成する。出力回路Lの回路データは、出力回路記憶部に記憶されている。
図9は、出力回路記憶部に記憶される回路データの具体例を示す図である。出力回路記憶部には、ラン識別子L(1〜M)に対応した複数の出力回路L(1〜M)の回路データが記憶される。各出力回路Lは、ラン識別子Lにより特定されるラン長に応じたバンド幅(出力ビット幅)で、コマンド処理部(図8)から得られた処理結果をメモリ50(図8)へ転送する出力制御を実行する回路である。
例えば、出力回路1は、ラン識別子が1(L=1)であるブロックコマンドに対応したコマンド処理の処理結果を出力する回路である。ラン識別子が1の場合には、コマンド処理の処理結果がラン長16であるため、出力回路1は、ラン長16に対応したバンド幅でコマンド処理の処理結果をメモリ50へ転送する処理を実行する回路である。
同様に、出力回路2,3,4,・・・,Mは、それぞれ、ラン識別子が2,3,4,・・・,Mであるブロックコマンドに対応したコマンド処理の処理結果を出力する回路であり、それぞれ、ラン長32,48,64,・・・,16×Mに対応したバンド幅でコマンド処理の処理結果をメモリ50へ転送する処理を実行する回路である。
図8に戻り、ブロックコマンドのブロック識別子Nとラン識別子Lにより特定される処理回路NLがコマンド処理部内に再構成され、ブロックコマンドに応じた処理方式のコマンド処理が実行されると、コマンド処理の処理結果は出力制御部へ送られる。また、ブロックコマンドのラン識別子Lにより特定される出力回路Lが出力制御部内に再構成され、出力制御部は、ラン識別子Lにより特定されるラン長に応じたバンド幅(出力ビット幅)で、コマンド処理部から得られた処理結果をメモリ50へ転送する。出力制御部は、コマンド処理部から得られる処理結果を、例えば画像データを構成する複数のブロックの先頭ブロックから順に次々に出力してメモリ50に記憶する。こうして、画像データの処理結果(ディザ処理後の画像データ)がメモリ50に記憶される。
なお、図4の具体例1と図6の具体例2と同様に、図8の具体例3におけるコマンド生成部20とデータ処理部30(処理回路記憶部と出力回路記憶部を除く)が、再構成可能回路内に構成されてもよい。再構成可能回路によりコマンド生成部20とデータ処理部30を実現する場合、コマンド生成部20とデータ処理部30は、再構成可能回路内に同時に構成されてもよいし、コマンド生成部20とデータ処理部30が再構成可能回路内に順に構成されてもよい。
図10,図11にはデータ処理装置100が実行する処理の具体例が図示されている。図10は、データ処理装置100のコマンド生成部20(図8の具体例3)が実行する処理の具体例を示すフローチャートである。
まず、画像データ(対象データ)を構成する各ブロックが解析され(S1001)、各ブロックのブロック識別子Nが生成される(S1002)。そして、生成されたブロック識別子Nが1つ前のブロックと一致しているか否かが確認される(S1003)。
1つ前のブロックと一致していれば、ラン識別子Lに1が加えられてラン識別子Lが更新される(S1004)。なお、ラン識別子Lの初期値は1とする。また、1つ前のブロックと一致している場合には、S1001からS1004の処理が繰り返される。
そして、ブロック識別子Nが1つ前のブロックと一致していない場合には、ブロック識別子Nとラン識別子Lによりブロックコマンドが決定される(S1005)。なお、ラン識別子Lが最大値Mに達した場合にも、S1005のステップに進んでブロックコマンドが決定される。
こうして、画像データ(対象データ)を構成する全ブロックに関する処理が終了するまでS1001からS1005までの処理が繰り返され、全ブロックに関する処理が終了すると(S1006)、コマンド生成部20による処理が終了する。
図11は、データ処理装置100のデータ処理部30(図8の具体例3)が実行する処理の具体例を示すフローチャートである。
まず、コマンド生成部20により生成されたブロックコマンドが解析され(S1101)、そのブロックコマンドのブロック識別子Nとラン識別子Lに対応した処理回路NLと出力回路Lが決定される(S1102,S1103)。
そして、コマンド処理部(図8)内に既に構成されている現処理回路NLと、S1102において決定された処理回路NLが一致しているか否かが確認される(S1104)。現処理回路NLと一致していれば、その処理回路NLによりコマンド処理が実行される(S1106)。現処理回路NLと一致していなければ、S1102において決定された処理回路NLがコマンド処理部内に再構成され(S1105)、再構成後の処理回路NLによりコマンド処理が実行される(S1106)。
次に、出力制御部(図8)内に既に構成されている現出力回路Lと、S1103において決定された出力回路Lが一致しているか否かが確認される(S1107)。現出力回路Lと一致していれば、その出力回路Lによりコマンド処理の処理結果が出力される(S1109)。現出力回路Lと一致していなければ、S1103において決定された出力回路Lが出力制御部内に再構成され(S1108)、再構成後の出力回路Lによりコマンド処理の処理結果が出力される(S1109)。
こうして、画像データ(対象データ)を構成する全ブロックコマンドに関する処理が終了するまでS1101からS1109までの処理が繰り返され、全ブロックコマンドに関する処理が終了すると(S1110)、データ処理部30による処理が終了する。
図12は、データ処理装置100の処理性能の具体例を示す図である。図12には、図8の具体例3で説明した最適出力幅方式により、チャート1〜3を処理した場合の性能指標が図示されている。
チャート1は、画像全体が写真の画像データであり、チャート2は、画像の一部に写真が含まれる画像データである。また、チャート3は、帳票(文字,数字,線などが中心の画像で余白も多い)の画像データである。
図12の縦軸に示す性能指標は、画像データの全域(全ブロック)をラスタ処理、つまり、ブロックコマンドを生成せずに全ブロックの全画素に対してディザ処理(閾値処理)を実行した場合の性能指標である基準値「1」に対する相対的な値である。
チャート1は、画像全体が写真であるため、ブロックコマンドを生成しても、ほぼ全てのブロックにおいてブロック識別子Nが3(N=3)となりディザ処理(閾値処理)が必要になる。そのため、チャート1の場合には、基準値「1」とほぼ同程度の性能指標となる。
これに対し、チャート3は、帳票であり画像全体が余白と文字や数字や線などにより構成されているため、ブロック識別子Nが0〜2(N=0,1,2)となるブロックが多数を占める。そのため、チャート3の場合には、ラスタ処理のみの基準値「1」に比べて、ブロックコマンドの生成(ベクタ化)により処理速度等の性能が向上する。図12の具体例においては、チャート3について基準値「1」の3倍以上の性能指標が得られている。
なお、チャート2は、画像の一部に写真が含まれる画像データであり、写真以外の領域においてブロックコマンドの生成(ベクタ化)により処理速度等の性能が向上する。図12の具体例においては、チャート2について基準値「1」の3倍弱の性能指標が得られている。
このように、図1のデータ処理装置100は、画像データの全域(全ブロック)をラスタ処理する場合に比べて、ブロックコマンドの生成(ベクタ化)により、例えば、処理速度等の性能が向上する。また、図6の具体例2(最適ラン長方式)では、図4の具体例1(固定ラン長方式)による効果に加えて、ラン長の最適化により処理速度等の性能が更に向上する。また、図8の具体例3(最適出力幅方式)では、図6の具体例2(最適ラン長方式)による効果に加えて、出力幅の最適化により処理結果の転送速度等の性能が向上する。
以上、本発明の好適な実施形態を説明したが、上述した実施形態は、あらゆる点で単なる例示にすぎず、本発明の範囲を限定するものではない。本発明は、その本質を逸脱しない範囲で各種の変形形態を包含する。
10 演算部、20 コマンド生成部、30 データ処理部、50 メモリ、100 データ処理装置。

Claims (6)

  1. 対象データ内の各ブロックごとに、当該各ブロックを構成する複数のデータ要素の配列状態を示す識別子を生成する生成部と、
    前記複数のデータ要素を用いたデータ処理を必要とする処理方式と当該データ処理を不要とする処理方式とを含む複数の処理方式の中から、前記各ブロックごとに当該各ブロックの識別子に対応付けられた処理方式を選択的に実行する処理部と、
    を有
    前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値が一致している場合、前記処理部は、前記データ処理を必要とする処理方式が選択された前記各ブロックに対して生成された識別子に付された値を、前記データ処理を必要とする処理方式が選択された前記各ブロック内の全データ要素に対応付けて、前記データ処理を実行して当該各ブロックの処理結果を得て、
    前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値が一致していない場合、前記処理部は、前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値に対して前記データ処理を実行して当該各ブロックの処理結果を得る、
    ことを特徴とするデータ処理装置。
  2. 請求項1に記載のデータ処理装置において、
    前記処理部は、前記データ処理を不要とする処理方式が選択された前記各ブロックの処理結果として、当該各ブロックを構成する複数のデータ要素に対応付けられた既知の処理結果を得る、
    ことを特徴とするデータ処理装置。
  3. 請求項1又は請求項2に記載のデータ処理装置において、
    前記処理部は、前記各ブロックを構成する複数のデータ要素に対する前記データ処理として、前記各ブロック内における各データ要素の位置と当該各データ要素の値とにより当該各データ要素の処理結果を得る調変換処理を実行する、
    ことを特徴とするデータ処理装置。
  4. 請求項1からのいずれか1項に記載のデータ処理装置において、
    前記識別子が同一の互いに隣接する複数ブロックを一纏めにした処理単位ごとに、前記識別子に対応付けられた処理方式により処理結果を得る、
    ことを特徴とするデータ処理装置。
  5. 請求項に記載のデータ処理装置において、
    前記処理単位ごとに、当該処理単位を構成する前記複数ブロックの全データ要素数に対応付けられた出力幅で処理結果を出力する、
    ことを特徴とするデータ処理装置。
  6. コンピュータに、
    対象データ内の各ブロックごとに、当該各ブロックを構成する複数のデータ要素の配列状態を示す識別子を生成する第1機能と、
    前記複数のデータ要素を用いたデータ処理を必要とする処理方式と当該データ処理を不要とする処理方式とを含む複数の処理方式の中から、前記各ブロックごとに当該各ブロックの識別子に対応付けられた処理方式を選択する第2機能と、
    を実現させ
    前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値が一致している場合、前記第2機能は、前記データ処理を必要とする処理方式が選択された前記各ブロックに対して生成された識別子に付された値を、前記データ処理を必要とする処理方式が選択された前記各ブロック内の全データ要素に対応付けて、前記データ処理を実行して当該各ブロックの処理結果を得て、
    前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値が一致していない場合、前記第2機能は、前記データ処理を必要とする処理方式が選択された前記各ブロックを構成する複数のデータ要素の値に対して前記データ処理を実行して当該各ブロックの処理結果を得る、
    ことを特徴とするプログラム。
JP2016030546A 2016-02-22 2016-02-22 データ処理装置およびプログラム Expired - Fee Related JP6711003B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016030546A JP6711003B2 (ja) 2016-02-22 2016-02-22 データ処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016030546A JP6711003B2 (ja) 2016-02-22 2016-02-22 データ処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2017152755A JP2017152755A (ja) 2017-08-31
JP6711003B2 true JP6711003B2 (ja) 2020-06-17

Family

ID=59742028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016030546A Expired - Fee Related JP6711003B2 (ja) 2016-02-22 2016-02-22 データ処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP6711003B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3862781B2 (ja) * 1996-05-24 2006-12-27 松下電器産業株式会社 画像圧縮方法及び画像伸張方法
JP2006179998A (ja) * 2004-12-21 2006-07-06 Fuji Xerox Co Ltd 画像処理装置、画像処理方法及びそのプログラム
JP4442525B2 (ja) * 2005-07-19 2010-03-31 セイコーエプソン株式会社 画像処理装置

Also Published As

Publication number Publication date
JP2017152755A (ja) 2017-08-31

Similar Documents

Publication Publication Date Title
US8670156B2 (en) Image processing device, image processing method, and image forming apparatus
JP5267255B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6252225B2 (ja) 画像処理装置、画像処理方法及び画像形成装置
US8488893B2 (en) Image compression apparatus and image compression method
JP2011139164A (ja) 画像処理装置及びその処理方法
JP6711003B2 (ja) データ処理装置およびプログラム
JP5267954B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP7098351B2 (ja) 画像処理装置および画像処理方法、およびプログラム
JP4442899B2 (ja) 画像処理装置及び画像処理方法
JP4950919B2 (ja) 画像処理装置及び画像処理方法
JP6589642B2 (ja) データ処理装置およびプログラム
JP6855722B2 (ja) 画像処理装置およびプログラム
JP4402676B2 (ja) 画像処理装置および画像処理方法
US8014631B2 (en) Image processing apparatus, image processing method, and computer readable medium for generating a reduced image
JP6413450B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP6501561B2 (ja) データ処理装置およびその制御方法、プログラム
JP6061654B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP5929351B2 (ja) 画像処理装置、及び画像処理方法
JP3949642B2 (ja) 画像処理装置
JP6521650B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2007088686A (ja) 画像処理装置、画像処理方法及びそのプログラム
JP2021094798A (ja) 画像処理装置
JP2012095227A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5753370B2 (ja) 画像処理装置、方法およびプログラム
JP3999763B2 (ja) 画像処理装置及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200428

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200511

R150 Certificate of patent or registration of utility model

Ref document number: 6711003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees