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

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

Info

Publication number
JP6515475B2
JP6515475B2 JP2014191520A JP2014191520A JP6515475B2 JP 6515475 B2 JP6515475 B2 JP 6515475B2 JP 2014191520 A JP2014191520 A JP 2014191520A JP 2014191520 A JP2014191520 A JP 2014191520A JP 6515475 B2 JP6515475 B2 JP 6515475B2
Authority
JP
Japan
Prior art keywords
data
processing
amount
data processing
guarantee
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
JP2014191520A
Other languages
English (en)
Other versions
JP2016062455A (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 JP2014191520A priority Critical patent/JP6515475B2/ja
Priority to US14/606,583 priority patent/US20160088187A1/en
Publication of JP2016062455A publication Critical patent/JP2016062455A/ja
Application granted granted Critical
Publication of JP6515475B2 publication Critical patent/JP6515475B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/40062Discrimination between different image types, e.g. two-tone, continuous tone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00954Scheduling operations or managing resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/21Intermediate information storage
    • H04N2201/214Checking or indicating the storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)

Description

本発明は、データ処理装置およびプログラムに関する。
データに対して例えば画像処理等のデータ処理を行うデータ処理装置が知られており、従来から画像処理等のデータ処理に係る装置がいくつか提案されている。
例えば、特許文献1には、使用可能メモリ量をチェックして、複数バンドを同時にレンダリングするためのメモリサイズを検知することにより、メモリ不足を発生させないようにする画像形成装置が記載されている。
また、特許文献2には、PDLデータが所定の条件を満たす場合に、PDLデータが増加しないようPDLデータを中間データに変換することにより、中間データの生成および中間データを用いたイメージ描画を容易に行うことができ、少ないフレームメモリ量で迅速に画像のラスタライズを行うことが可能な画像処理装置が記載されている。
特開2010−125713号公報 特開2009−38562号公報
本発明は、データ処理のデータ量を保障することを目的とする。
請求項1に係る発明は、データ記憶の余裕量に係る判定条件に従ってデータ量の保障が必要か不要かを判定する判定部と、データ量の保障が必要な場合に、データ処理の複数候補から各候補のデータ量を比較して保障用のデータ処理を選択する選択部と、を有し、データ量の保障が必要な場合に、前記余裕量に応じて、複数ラインで構成される処理対象データのラインごとに保障用のデータ処理を選択するライン単位の処理、または、前記各ライン内のオブジェクトごとに保障用のデータ処理を選択するオブジェクト単位の処理を選択して実行する、ことを特徴とするデータ処理装置である。
請求項2に係る発明は、請求項1に記載のデータ処理装置において、前記余裕量が第1の判定閾値以下の場合に前記ライン単位の処理を実行し、前記余裕量が前記第1の判定閾値より大きく第2の判定閾値以下(但し第2の判定閾値は第1の判定閾値よりも大きい)の場合に前記オブジェクト単位の処理を実行し、前記余裕量が前記第2の判定閾値よりも大きい場合にデータ量の保障が不要であると判定する、ことを特徴とするデータ処理装置である。
請求項3に係る発明は、請求項1または2に記載のデータ処理装置において、前記判定部は、前記余裕量が判定基準を満たさない不十分な量である場合に、データ量の保障が必要であると判定し、前記余裕量が判定基準を満たす十分な量である場合に、データ量の保障が不要であると判定し、前記選択部は、データ量の保障が不要な場合に、データ処理の複数候補から、各候補のデータ量よりも処理性能を優先してデータ処理を選択する、ことを特徴とするデータ処理装置である。
請求項4に係る発明は、請求項1から3のいずれか1項に記載のデータ処理装置において、データ処理の複数候補には、標準データ処理と当該標準データ処理よりも高性能な高性能データ処理とが含まれ、前記選択部は、データ量の保障が必要な場合に、標準データ処理と高性能データ処理のうちデータ量の小さい方、又は、前記複数候補のうち標準データ処理と高性能データ処理よりもデータ量の小さいデータ処理を保障用のデータ処理とする、ことを特徴とするデータ処理装置である。
請求項5に係る発明は、請求項1から4のいずれか1項に記載のデータ処理装置において、データ処理の複数候補には、標準データ処理と当該標準データ処理よりも高性能な高性能データ処理とが含まれ、前記選択部は、データ量の保障が不要な場合に高性能データ処理を選択する、ことを特徴とするデータ処理装置である。
請求項6に係る発明は、請求項1から5のいずれか1項に記載のデータ処理装置において、データ処理に許容される記憶容量のうちの空き容量を前記余裕量として参照することにより、前記記憶容量を超えないようにデータ処理のデータ量を保障する、ことを特徴とするデータ処理装置である。
請求項7に係る発明は、コンピュータに、データ記憶の余裕量を参照してデータ量の保障が必要か不要かを判定する判定機能と、データ量の保障が必要な場合に、データ処理の複数候補から各候補のデータ量を比較して保障用のデータ処理を選択する選択機能と、データ量の保障が必要な場合に、前記余裕量に応じて、複数ラインで構成される処理対象データのラインごとに保障用のデータ処理を選択するライン単位の処理、または、前記各ライン内のオブジェクトごとに保障用のデータ処理を選択するオブジェクト単位の処理を選択して実行する機能と、を実現させることを特徴とするプログラムである。
請求項1に係る発明によれば、データ処理のデータ量を保障することができる。また、例えば、データ量の保障が必要な場合に、ライン単位の処理またはオブジェクト単位の処理を選択的に実行できるようになる。
請求項2に係る発明によれば、データ記憶の余裕量に応じて、データ量の保障が必要であるか否かを判定し、さらに、ライン単位の処理またはオブジェクト単位の処理を選択的に実行できるようになる。
請求項3に係る発明によれば、データ記憶の余裕量が十分な場合にデータ処理の処理性能を優先することができる。また、例えば、データ記憶の余裕量が不十分か否かに応じてデータ量を保障することができる。
請求項4に係る発明によれば、データ量の保障が必要な場合に、標準データ処理と高性能データ処理のうちデータ量の小さい方、又は、標準データ処理と高性能データ処理よりもデータ量の小さいデータ処理を利用することができる。
請求項5に係る発明によれば、データ量の保障が不要な場合に、標準データ処理よりも高性能な高性能データ処理を利用することができる。
請求項6に係る発明によれば、データ処理に許容される記憶容量を超えないようにデータ量を保障することができる。
請求項7に係る発明によれば、データ処理のデータ量を保障することができる。また、例えば、データ量の保障が必要な場合に、ライン単位の処理またはオブジェクト単位の処理を選択的に実行できるようになる。
本発明の実施において好適なデータ処理装置の具体例を示す図である。 ラスタ処理とベクタ処理の比較例を示す図である。 データ量の保障における処理単位の具体例を説明するための図である。 図1のデータ処理装置による処理の具体例を示す図である。 累積データ量と余裕メモリ量の具体例を示す図である。 ライン単位の処理に係る具体例を示す図である。 オブジェクト単位の処理に係る具体例を示す図である。 画像処理結果の具体例を示す図である。
図1は、本発明の実施において好適なデータ処理装置100の具体例を示す図である。図1のデータ処理装置100は、処理対象となるデータに対してデータ処理を施す。処理対象となるデータの好適な具体例は画像データ(文字や数字や記号のみのデータを含む)であり、例えばコンピュータなどの外部の装置から図示しないデータバス等を介して、画像データがデータ処理装置100内のロードバッファ10に送られる。
また、図1のデータ処理装置100が、画像読み取り機能(スキャン機能)等を備えた画像処理装置内に組み込まれ、画像読み取り機能を介して紙などの媒体から得られた画像データがロードバッファ10に入力されてもよい。さらに、データ処理装置100による処理後の画像データがストアバッファ90から出力され、処理後の画像データに対応した画像が紙などに印刷されてもよいし、処理後の画像データが外部の装置に提供されてもよい。このように、図1のデータ処理装置100により画像処理装置が実現されてもよい。
図1のデータ処理装置100が実行するデータ処理の具体例は、ガンマ補正,RGB−CMYK変換,ノズル不吐出補正,スクリーニングなどの画像処理である。なお、行列計算やデータ圧縮などのデータ処理が実行されてもよい。
図1のデータ処理装置100は、処理対象となる画像データ(例えば中間言語のデータ)を画像処理するにあたり、画像データをラスタライズしてからラスタデータで当該画像処理を実現する機能と、画像データをラスタライズせずにベクタデータで当該画像処理を実現する機能を備えている。
ラスタ/ベクタ選択部20は、ロードバッファ10から得られる画像データに対する画像処理において、ラスタ処理とベクタ処理のどちらを適用するのかを選択する。
余裕メモリ量判定部30は、画像処理後の画像データが記憶されるメモリの余裕量(余裕メモリ)を参照し、データ量の保障が必要か不要か等を判定する。
余裕メモリ量算出部40は、画像処理後の画像データが記憶されるメモリに関するメモリ情報に基づいて、メモリの余裕量(余裕メモリ)を算出する。
画像データに対してラスタ処理を適用する場合、ラスタ展開部50は、画像データをラスタデータに展開(ラスタライズ)する。ラスタ処理部60は、ラスタデータに展開された画像データをラスタ処理して画像処理後の画像データを得る。そして、ラスタ処理部60により得られた画像処理後の画像データが、セレクタ80を介して、ストアバッファ90に送られる。
一方、画像データに対してベクタ処理を適用する場合、ベクタ処理部70は、画像データをベクタ処理して画像処理後の画像データを得る。なお、ベクタ処理部70において実行されるベクタ処理の具体例には、定められた規則に基づいてデータを変換する処理、例えば、jpegやhuffman符号やランレングスベクタ等のデータ処理が含まれる。そして、ベクタ処理部70により得られた画像処理後の画像データが、セレクタ80を介して、ストアバッファ90に送られる。
なお、画像データは、図1のデータ処理装置100において処理が可能な好適な具体例の一つに過ぎず、図1のデータ処理装置100が画像データ以外のデータを処理してもよい。
図1のデータ処理装置100は、例えばDRP(Dynamic Reconfigurable Processor:動的再構成可能プロセッサ)などにより実現することができるものの、例えば、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)などにより実現されてもよいし、ASIC(Application Specific Integrated Circuit)で実現されてもよい。なお、データ処理装置100を実現するための上述したハードウェアはあくまでも一例に過ぎず、他のハードウェアによりデータ処理装置100が実現されてもよい。
例えば、図1のデータ処理装置100の機能をコンピュータにより実現してもよい。データ処理装置100をコンピュータにより実現する場合には、後に詳述するデータ処理装置100内の各部における処理に対応したプログラムが、例えば、ディスクやメモリなどのコンピュータが読み取り可能な記憶媒体に記憶され、その記憶媒体を介してコンピュータに提供される。もちろん、インターネット等の電気通信回線を介して当該プログラムがコンピュータに提供されてもよい。そして、コンピュータが備えるCPUやメモリ等のハードウェア資源と、提供された当該プログラム(ソフトウェア)との協働により、データ処理装置100の機能が実現される。
図1のデータ処理装置100の概要は以上のとおりである。次に、図1のデータ処理装置100内の各部における処理の具体例について説明する。なお、図1に示した構成(符号を付した各部)については、以下の説明において図1の符号を利用する。
図2は、ラスタ処理とベクタ処理の比較例を示す図である。図2<A>には、ラスタ処理(A1)とベクタ処理(A2)の処理性能に関する比較例が示されている。
ラスタ処理(A1)では、画像データがラスタデータに展開される。例えば(A1)に示す具体例のように、AAAAABBBの順に並ぶ複数の画素データからなるラスタデータに展開される。
そして、ラスタ処理(A1)においては、ラスタデータを構成する複数の画素データに対して、各画素データごとに画像処理が実行される。例えば(A1)に示すラスタデータの具体例では、8画素(8ピクセル)分の画像処理が必要になる。
一方、ベクタ処理(A2)では、画像データがラスタデータに展開されず、例えば(A2)に示す具体例のように、画素データAに対応したランデータ5と画素データBに対応したランデータ3からなるベクタデータが処理対象となる。なお、ランデータは、画素データの連続長(連続個数)に対応している。例えば(A2)に示すベクタデータの具体例は、画素データAが5画素連続し、画素データBが3画素連続することを示している。つまり、(A2)のベクタデータは、(A1)のラスタデータと同じ画像データに対応している。
そして、ベクタ処理(A2)においては、ベクタデータを構成する各画素データに対して画像処理が実行され、その画像処理結果が各画素データのランデータに応じた連続個数だけ利用される。例えば(A2)に示すベクタデータの具体例では、画素データAと画素データBの2画素(2ピクセル)分の画像処理のみが必要とされ、画素データAの画像処理結果が5画素分だけコピーされ、画素データBの画像処理結果が3画素分だけコピーされる。
このように、図2<A>に示す具体例では、ラスタ処理(A1)について8画素分の画像処理が必要になるのに対し、ベクタ処理(A2)については2画素分の画像処理で済むため、ラスタ処理(A1)との比較においてベクタ処理(A2)は4倍の高速化が可能になる。
図2<B>には、ラスタ処理(B1)とベクタ処理(B2)のデータ量に関する比較例が示されている。
ラスタ処理(B1)では、画像データがラスタデータに展開される。例えば(B1)に示す具体例のように、ABCDEFGHの順に並ぶ複数の画素データからなるラスタデータに展開される。例えば、各画素データのデータ量が1Byte(バイト)であれば、(B1)に示す具体例におけるラスタデータのデータ量は8Byteとなる。
一方、ベクタ処理(B2)では、各画素データとそれに対応したランデータからなるベクタデータが利用される。例えば(B2)に示す具体例のように、ABCDEFGHの順に並ぶ複数の画素データと、各画素データに対応した各ランデータからなるベクタデータが処理対象となる。(B2)のベクタデータは、(B1)のラスタデータと同じ画像データに対応している。そして、例えば、各画素データのデータ量が1Byte(バイト)であり、各ランデータのデータ量が2Byteであれば、(B2)に示す具体例におけるベクタデータのデータ量は24Byteとなる。
図2<B>に示す具体例では、ラスタ処理(B1)におけるラスタデータのデータ量が8Byteであるのに対し、ベクタ処理(B2)におけるベクタデータのデータ量が24Byteとなり、ラスタ処理(B1)との比較においてベクタ処理(B2)はデータ量を増大させてしまう。
このように、ラスタ処理との比較において、ベクタ処理は、処理性能(高速性)において優れている面がある一方で、データ量を増大させてしまう場合もある。
そこで、図1のデータ処理装置100は、データ量が増大しすぎないようにデータ量を保障しつつ、可能な限り高い処理性能(例えば高速性)が得られるように、ラスタ処理とベクタ処理を選択的に利用する。
図3は、データ量の保障における処理単位の具体例を説明するための図である。データ量の保障における処理単位としては、ライン単位とオブジェクト単位がある。
図3<A>は、ライン単位の処理の具体例を示している。複数ラインで構成される画像データ(ドキュメント)を画像処理するにあたり、ライン単位の処理では、各ライン(1ライン)ごとにベクタ処理またはラスタ処理が選択される。
ライン単位の処理において、ベクタ処理が選択された場合には、1ラインを構成する全ての画像データがベクタデータ(画素データとランデータ)とされてベクタ処理される。また、ライン単位の処理において、ラスタ処理が選択された場合には、1ラインを構成する全ての画像データがラスタデータに展開されてラスタ処理される。なお、図3<A>に示す具体例において、ラスタデータは、一列に配列された複数の画素データと、1つのランデータ(ar)で構成されている。ランデータ(ar)は、1ラインを構成する画像データの全てがラスタデータであることを示すマーカとして機能する。
図3<B>は、オブジェクト単位の処理の具体例を示している。オブジェクト単位の処理では、各ライン(1ライン)内において、オブジェクトごとにベクタ処理またはラスタ処理が選択される。例えば、図3<B>に示す具体例では、1ラインが複数のオブジェクト(Obj1,Obj2,obj3)で構成されており、オブジェクト1(Obj1)においてベクタ処理が選択され、オブジェクト2(Obj2)においてラスタ処理が選択され、オブジェクト3(Obj3)においてベクタ処理が選択されている。
なお、図3<B>に示す具体例において、オブジェクト2(Obj2)のラスタデータは、一列に配列された複数の画素データと、1つのランデータで構成されている。このランデータは、オブジェクト内の画像データがラスタデータであることを示すマーカとして機能する。図3<B>の具体例では、オブジェクト2(Obj2)のランデータが「−5」であり5個の画素データが不連続(ベクタデータではない)ことを示している。
図4は、図1のデータ処理装置100による処理の具体例を示す図である。画像処理等のデータ処理に先だって、データ処理装置100は、初期化処理を行う(S401)。この初期化処理では、後の処理で利用される複数のパラメータ、例えば、現在の処理対象であるオブジェクトを示す「処理オブジェクトNo」と、現在の処理対象であるラインを示す「処理ラインNo」と、メモリに記憶された画像処理後のデータ量である「累積データ量」と、メモリに関するデータ記憶の余裕量である「余裕メモリ量」が初期化される。
図5は、累積データ量と余裕メモリ量の具体例を示す図である。図5には、データ処理装置100による画像処理の対象となる画像データと、その画像データの画像処理後のデータ、つまりストアバッファ90から出力されるデータを記憶するメモリが図示されている。メモリは、データ処理装置100が備えてもよいし、他の装置に設けられたものであってもよい。
メモリの記憶容量(メモリ容量)は、例えば画像データの1枚分のデータ量とされる。具体的には、画像データを全てラスタ処理した場合の処理後のデータが全て記憶できる容量とされる。
画像データは、先頭ラインから順に最終ラインまで画像処理される。例えば図5の具体例においては最上段のラインから順に最下段のラインまで画像処理される。図5には、現在の処理対象である処理ラインが図示されている。つまり、処理ラインよりも上側にある複数のラインは既に画像処理が済んでおり(処理済)、処理ラインが現在処理中であり、処理ラインよりも下側にある複数のラインは未だ画像処理が済んでいない(未処理)。
累積データ量は、メモリに記憶された画像処理後のデータ量である。つまり、画像データ内の処理済のラインに関する画像処理結果のデータ量である。また、許容記憶容量は、処理ラインまでの処理において許容される容量であり、処理済のラインを全てラスタ処理した場合の処理後のデータ量、つまり、累積データを全てラスタ展開した場合のデータ量に相当する。
具体的には、ラスタデータに展開した場合における1ラインのデータ量を「LD」とすると、処理ラインまでの画像処理が終了した時点における許容記憶容量は、「処理ラインNo」と「LD」の乗算(処理ラインNo×LD)により算出される。
図1のデータ処理装置100は、後に詳述するように、データ量に応じてベクタ処理とラスタ処理を適宜に選択するため、許容記憶容量よりも累積データ量を少なくすることができる。そして、許容記憶容量と累積データ量の差が余裕メモリ量となる。余裕メモリ量は、余裕メモリ量算出部40によって算出される。
図4に戻り、S401において初期化処理が行われると、S402とS403において余裕メモリ量の判定が行われる。余裕メモリ量判定部30は、S402において、余裕メモリ量が判定閾値(β×LD)以下であるか否かを判定し、S403において、余裕メモリ量が判定閾値(α×LD)以下であるか否かを判定する。なお、LDは、ラスタデータに展開した場合における1ラインのデータ量であり、αとβ(α>β)は、判定閾値の係数である。αとβは、例えば経験的に得られた値が利用されてもよいし適宜に調整が可能であってもよい。
そして、S402とS403における余裕メモリ量の判定結果に応じて、S404とS405とS406のいずれかのステップが選択される。余裕メモリ量(Margin)が判定閾値(β×LD)以下の場合には、現在の処理対象であるライン、つまり「処理ラインNo」に対応したラインに対して、ライン単位の処理が実行される(S406)。
図6は、ライン単位の処理に係る具体例を示す図である。図6には、ライン単位の処理のフローチャートが示されている。
ライン単位の処理において、ラスタ/ベクタ選択部20は、現在の処理対象であるライン内のデータを全てベクタ処理する場合におけるベクタデータ量(VecD)と、そのライン内のデータを全てラスタ処理する場合におけるラスタデータ量(RasD)を算出する(S601)。
そして、ラスタ/ベクタ選択部20は、ベクタデータ量(VecD)とラスタデータ量(RasD)の大きさを比較し(S602)、データ量の小さい方の処理を選択する。つまり、ラスタデータ量(RasD)よりもベクタデータ量(VecD)の方が小さければ、ベクタ処理が選択され、ベクタ処理部70が現在の処理対象であるラインに対してベクタ処理を実行する(S603)。一方、ベクタデータ量(VecD)よりもラスタデータ量(RasD)の方が小さければ、ラスタ処理が選択され、ラスタ展開部50が現在の処理対象であるラインをラスタデータに展開してから(S604)、ラスタ処理部60がラスタ処理を実行する(S605)。なお、ラスタデータ量(RasD)とベクタデータ量(VecD)が同じ場合には、ベクタ処理を選択することが望ましいものの、ラスタ処理が選択されてもよい。
図6には、ライン単位の処理におけるベクタデータ量とラスタデータ量の比較例が図示されている。図6に示す比較例では、ベクタデータ量(VecD)が1200B(バイト)、ラスタデータ量(RasD)が1026B(バイト)であり、この具体例の場合には、ラスタ処理が選択される。
図4に戻り、S406におけるライン単位の処理が終了すると、つまり、現在の処理対象である「処理ラインNo」に対応したラインの画像処理が終了すると、データ処理装置100は、累積データ量を算出する(S408)。つまり、S406における画像処理前の累積データ量(SumD)に、S406の画像処理により得られた1ライン分のデータ量(LineD)が加算され、累積データ量(SumD)が更新される。
そして、データ処理装置100は、画像データの全ラインに対する画像処理が終了したか否かを確認し(S411)、全ラインに対する処理が終了していなければ、次のラインに対する画像処理の準備として、「処理オブジェクトNo」と「余裕メモリ量」を更新し(S412)、さらに「処理オブジェクトNo」を更新する(S413)。一方、画像データの全ラインに対する画像処理が終了していれば(S411)、当該画像データに対する画像処理が終了する。
S402とS403に戻り、余裕メモリ量の判定において、余裕メモリ量(Margin)が判定閾値(β×LD)より大きく、さらに、余裕メモリ量(Margin)が判定閾値(α×LD)以下の場合には、オブジェクト単位の処理が実行される(S405)。
図7は、オブジェクト単位の処理に係る具体例を示す図である。図7には、オブジェクト単位の処理のフローチャートが示されている。
オブジェクト単位の処理において、ラスタ/ベクタ選択部20は、現在の処理対象であるオブジェクト内のデータを全てベクタ処理する場合におけるベクタデータ量(VecD)とそのオブジェクト内のデータを全てラスタ処理する場合におけるラスタデータ量(RasD)を算出する(S701)。
そして、ラスタ/ベクタ選択部20は、ベクタデータ量(VecD)とラスタデータ量(RasD)の大きさを比較し(S702)、データ量の小さい方の処理を選択する。つまり、ラスタデータ量(RasD)よりもベクタデータ量(VecD)の方が小さければ、ベクタ処理が選択され、ベクタ処理部70が現在の処理対象であるオブジェクトに対してベクタ処理を実行する(S703)。一方、ベクタデータ量(VecD)よりもラスタデータ量(RasD)の方が小さければ、ラスタ処理が選択され、ラスタ展開部50が現在の処理対象であるオブジェクトをラスタデータに展開してから(S704)、ラスタ処理部60がラスタ処理を実行する(S705)。なお、ラスタデータ量(RasD)とベクタデータ量(VecD)が同じ場合には、ベクタ処理を選択することが望ましいものの、ラスタ処理が選択されてもよい。
図7には、オブジェクト単位の処理におけるベクタデータ量とラスタデータ量の比較例が図示されている。図7に示す比較例では、ベクタデータ量(VecD)が9B(バイト)、ラスタデータ量(RasD)が11B(バイト)であり、この具体例の場合には、ベクタ処理が選択される。
図4に戻り、S405におけるオブジェクト単位の処理が終了すると、つまり、現在の処理対象である「処理オブジェクトNo」に対応したオブジェクトの画像処理が終了すると、データ処理装置100は、累積データ量を算出する(S407)。つまり、S405における画像処理前の累積データ量(SumD)に、S405の画像処理により得られた1オブジェクト分のデータ量(ObjD)が加算され、累積データ量(SumD)が更新される。
そして、データ処理装置100は、現在の処理対象である「処理ラインNo」に対応したラインの終端に達したか否かを確認し(S409)、ラインの終端に達していなければ当該ラインにおける次のオブジェクトに対する画像処理の準備として、「処理オブジェクトNo」と「余裕メモリ量」が更新される(S410)。一方、ラインの終端に達していれば(S409)、画像データの全ラインに対する画像処理が終了したか否かが確認される(S411)。
S402とS403に戻り、余裕メモリ量の判定において、余裕メモリ量(Margin)が判定閾値(β×LD)より大きく、さらに、余裕メモリ量(Margin)が判定閾値(α×LD)よりも大きい場合には、データ量の保障が不要と判断され、ベクタ処理部70がベクタ処理による画像処理を実行する(S404)。つまり、余裕メモリ量(Margin)が判定閾値(α×LD)よりも大きい場合には、データ量の保障よりも処理性能(例えば高速性)が優先されてベクタ処理が選択される。
S404における処理が終了すると、つまり、現在の処理対象である「処理オブジェクトNo」に対応したオブジェクトに対するベクタ処理が終了すると、データ処理装置100は、累積データ量を算出する(S407)。つまり、S404における処理前の累積データ量(SumD)に、S404のベクタ処理により得られた1オブジェクト分のデータ量(ObjD)が加算され、累積データ量(SumD)が更新される。
そして、データ処理装置100は、現在の処理対象である「処理ラインNo」に対応したラインの終端に達したか否かを確認し(S409)、ラインの終端に達していなければ当該ラインにおける次のオブジェクトに対する画像処理の準備として、「処理オブジェクトNo」と「余裕メモリ量」が更新される(S410)。一方、ラインの終端に達していれば(S409)、画像データの全ラインに対する画像処理が終了したか否かが確認される(S411)。
以上に説明した処理により、画像データの全ラインに対する画像処理が終了すると(S411)、当該画像データに対する画像処理が終了する。
図8は、画像処理結果の具体例を示す図である。図8には、処理対象となる画像データの全画素数が1000ピクセル(横20ピクセル×縦50ピクセル)、メモリ容量が1024Byte(バイト)の場合における画像処理結果の具体例が図示されている。
図8の比較例1は、画像データの全領域をラスタ処理した場合における処理結果を示している。ラスタデータを構成する各画素のデータ量を1Byte(バイト)とし、各画素に対する処理時間を1clk(クロック)とすると、比較例1における全画像データに関するデータ量は1000Byteとなり、全画像データに関する処理時間は1000clkとなる。
図8の比較例2は、画像データの全領域をベクタ処理した場合の処理結果、つまり、画像データ内の領域1においてベクタ処理1を実行し、画像データ内の領域2においてベクタ処理2を実行した場合の処理結果を示している。
ベクタ処理1におけるベクタデータのRun長(ランデータが示す画素データの連続長)を300とし、ベクタデータの個数を1個とする。また、ベクタ処理2におけるベクタデータのRun長(ランデータが示す画素データの連続長)を2とし、ベクタデータの個数を350個とする。
そして、ベクタデータを構成する各画素データのデータ量を1Byte(バイト)としてランデータのデータ量を2Byte(バイト)とする。つまり、ベクタデータ1個分のデータ量を3Byte(バイト)とし、ベクタデータ1個に対する画像処理の処理時間を1clk(クロック)とすると、領域1のベクタ処理1におけるデータ量は3Byteとなり、処理時間は1clkとなる。また、領域2のベクタ処理2におけるデータ量は1050Byteとなり、処理時間は350clkとなる。
したがって、図8の比較例2における全画像データに関するデータ量は1053Byteとなり、全画像データに関する処理時間は351clkとなる。比較例1に対して、比較例2では、処理時間が約2.85倍に向上するものの、データ量が1053Byteとなりメモリ容量の1024Byteを超えてしまう。
これに対し、図8の実施例は、図1のデータ処理装置100による処理結果、つまり、画像データ内においてベクタ処理とラスタ処理を適宜に切り換え、領域1においてベクタ処理1を実行し、領域2においてベクタ処理2を実行し、領域3においてラスタ処理を実行した場合の処理結果を示している。
ベクタ処理1におけるベクタデータのRun長(ランデータが示す画素データの連続長)を300とし、ベクタデータの個数を1個とする。また、ベクタ処理2におけるベクタデータのRun長(ランデータが示す画素データの連続長)を2とし、ベクタデータの個数を250個とする。
そして、ベクタデータを構成する各画素データのデータ量を1Byte(バイト)として、ランデータのデータ量を2Byte(バイト)とする。つまり、ベクタデータ1個分のデータ量を3Byte(バイト)とし、ベクタデータ1個に対する画像処理の処理時間を1clk(クロック)とすると、領域1のベクタ処理1におけるデータ量は3Byteとなり、処理時間は1clkとなる。また、領域2のベクタ処理2におけるデータ量は750Byteとなり、処理時間は250clkとなる。また、ラスタデータを構成する各画素のデータ量を1Byte(バイト)とし、ラスタデータの各画素に対する処理時間を1clk(クロック)とすると、領域3のラスタ処理におけるデータ量は200Byteとなり、処理時間は200clkとなる。
したがって、図8の実施例における全画像データに関するデータ量は953Byteとなり、全画像データに関する処理時間は451clkとなる。比較例1に対して図8の実施例では、処理時間を約2.22倍に向上させつつ、データ量が953Byteとなり、データ量をメモリ容量の1024Byte以下に抑えることができる。
このように、図1のデータ処理装置100によれば、メモリ容量を超えないようにデータ量が保障されつつデータ処理が高速化される。
以上、本発明の好適な実施形態を説明したが、上述した実施形態は、あらゆる点で単なる例示にすぎず、本発明の範囲を限定するものではない。本発明は、その本質を逸脱しない範囲で各種の変形形態を包含する。
10 ロードバッファ、20 ラスタ/ベクタ選択部、30 余裕メモリ量判定部、40 余裕メモリ量算出部、50 ラスタ展開部、60 ラスタ処理部、70 ベクタ処理部、80 セレクタ、90 ストアバッファ、100 データ処理装置。

Claims (7)

  1. データ記憶の余裕量に係る判定条件に従ってデータ量の保障が必要か不要かを判定する判定部と、
    データ量の保障が必要な場合に、データ処理の複数候補から各候補のデータ量を比較して保障用のデータ処理を選択する選択部と、
    を有し、
    データ量の保障が必要な場合に、前記余裕量に応じて、複数ラインで構成される処理対象データのラインごとに保障用のデータ処理を選択するライン単位の処理、または、前記各ライン内のオブジェクトごとに保障用のデータ処理を選択するオブジェクト単位の処理を選択して実行する、
    ことを特徴とするデータ処理装置。
  2. 請求項1に記載のデータ処理装置において、
    前記余裕量が第1の判定閾値以下の場合に前記ライン単位の処理を実行し、
    前記余裕量が前記第1の判定閾値より大きく第2の判定閾値以下(但し第2の判定閾値は第1の判定閾値よりも大きい)の場合に前記オブジェクト単位の処理を実行し、
    前記余裕量が前記第2の判定閾値よりも大きい場合にデータ量の保障が不要であると判定する、
    ことを特徴とするデータ処理装置。
  3. 請求項1または2に記載のデータ処理装置において、
    前記判定部は、前記余裕量が判定基準を満たさない不十分な量である場合に、データ量の保障が必要であると判定し、前記余裕量が判定基準を満たす十分な量である場合に、データ量の保障が不要であると判定し、
    前記選択部は、データ量の保障が不要な場合に、データ処理の複数候補から、各候補のデータ量よりも処理性能を優先してデータ処理を選択する、
    ことを特徴とするデータ処理装置。
  4. 請求項1から3のいずれか1項に記載のデータ処理装置において、
    データ処理の複数候補には、標準データ処理と当該標準データ処理よりも高性能な高性能データ処理とが含まれ、
    前記選択部は、データ量の保障が必要な場合に、標準データ処理と高性能データ処理のうちデータ量の小さい方、又は、前記複数候補のうち標準データ処理と高性能データ処理よりもデータ量の小さいデータ処理を保障用のデータ処理とする、
    ことを特徴とするデータ処理装置。
  5. 請求項1から4のいずれか1項に記載のデータ処理装置において、
    データ処理の複数候補には、標準データ処理と当該標準データ処理よりも高性能な高性能データ処理とが含まれ、
    前記選択部は、データ量の保障が不要な場合に高性能データ処理を選択する、
    ことを特徴とするデータ処理装置。
  6. 請求項1から5のいずれか1項に記載のデータ処理装置において、
    データ処理に許容される記憶容量のうちの空き容量を前記余裕量として参照することにより、前記記憶容量を超えないようにデータ処理のデータ量を保障する、
    ことを特徴とするデータ処理装置。
  7. コンピュータに、
    データ記憶の余裕量を参照してデータ量の保障が必要か不要かを判定する判定機能と、
    データ量の保障が必要な場合に、データ処理の複数候補から各候補のデータ量を比較して保障用のデータ処理を選択する選択機能と、
    データ量の保障が必要な場合に、前記余裕量に応じて、複数ラインで構成される処理対象データのラインごとに保障用のデータ処理を選択するライン単位の処理、または、前記各ライン内のオブジェクトごとに保障用のデータ処理を選択するオブジェクト単位の処理を選択して実行する機能と、
    を実現させる、
    ことを特徴とするプログラム。
JP2014191520A 2014-09-19 2014-09-19 データ処理装置およびプログラム Expired - Fee Related JP6515475B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014191520A JP6515475B2 (ja) 2014-09-19 2014-09-19 データ処理装置およびプログラム
US14/606,583 US20160088187A1 (en) 2014-09-19 2015-01-27 Data processing apparatus, data processing method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014191520A JP6515475B2 (ja) 2014-09-19 2014-09-19 データ処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2016062455A JP2016062455A (ja) 2016-04-25
JP6515475B2 true JP6515475B2 (ja) 2019-05-22

Family

ID=55526957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014191520A Expired - Fee Related JP6515475B2 (ja) 2014-09-19 2014-09-19 データ処理装置およびプログラム

Country Status (2)

Country Link
US (1) US20160088187A1 (ja)
JP (1) JP6515475B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3597357B2 (ja) * 1997-10-06 2004-12-08 株式会社リコー プリンタ装置
JP2001045247A (ja) * 1999-08-04 2001-02-16 Konica Corp 原稿読取装置及び画像形成装置
JP6029344B2 (ja) * 2012-06-20 2016-11-24 キヤノン株式会社 画像処理装置、画像処理方法、プログラム

Also Published As

Publication number Publication date
JP2016062455A (ja) 2016-04-25
US20160088187A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
US10762401B2 (en) Image processing apparatus controlling the order of storing decompressed data, and method thereof
US10929727B2 (en) Image processing apparatus with color replacement with achromatic colors, and image processing method and storage medium thereof
JP6252225B2 (ja) 画像処理装置、画像処理方法及び画像形成装置
US8554003B2 (en) Image data processing apparatus, image data processing method, and computer readable medium
JP6515475B2 (ja) データ処理装置およびプログラム
US9519948B2 (en) Data processing apparatus, data processing method, and non-transitory computer readable medium
EP3032498B1 (en) Image processing apparatus, image processing method, and a program
US10555009B2 (en) Encoding device, encoding method, decoding device, decoding method, and generation method
US20160314615A1 (en) Graphic processing device and method for processing graphic images
US10089561B2 (en) Generating a raster image region by rendering in parallel plural regions of smaller height and segmenting the generated raster image region into plural regions of smaller width
US11587203B2 (en) Method for optimizing hardware structure of convolutional neural networks
CN103905687B (zh) 图像处理装置和图像处理方法
JP6589642B2 (ja) データ処理装置およびプログラム
JP5664980B2 (ja) 画像処理装置及び画像圧縮方法
US10217036B2 (en) Printing apparatus, printing method, and medium
US8373887B2 (en) Image processing apparatus including an image processing unit, a memory, a determination unit, a dividing unit, and non-transitory computer readable medium
JP5267147B2 (ja) 画像処理装置、画像処理方法、及び、コンピュータプログラム
EP3116225B1 (en) Method for supporting color conversion on pre-multiplied data
JP5460292B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP5501298B2 (ja) 画像処理装置
US20190370585A1 (en) Image processing apparatus and recording medium
JP6238589B2 (ja) 画像形成装置、画像処理方法、およびプログラム
EP2894841A1 (en) Information processing apparatus, information processing method, and storage medium
JP6809158B2 (ja) 画像処理装置及びプログラム
JP2017087514A (ja) 画像処理装置、画像処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181025

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: 20190319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190401

R150 Certificate of patent or registration of utility model

Ref document number: 6515475

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