JP5709417B2 - Image processing apparatus, control method therefor, and program - Google Patents
Image processing apparatus, control method therefor, and program Download PDFInfo
- Publication number
- JP5709417B2 JP5709417B2 JP2010148206A JP2010148206A JP5709417B2 JP 5709417 B2 JP5709417 B2 JP 5709417B2 JP 2010148206 A JP2010148206 A JP 2010148206A JP 2010148206 A JP2010148206 A JP 2010148206A JP 5709417 B2 JP5709417 B2 JP 5709417B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- image data
- processing
- image processing
- hardware
- 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.)
- Active
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Facsimiles In General (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、ハードウェア処理による画像処理手段とソフトウェア処理による画像処理手段とを有する画像処理装置及びその制御方法に関する。 The present invention relates to an image processing apparatus having an image processing means by hardware processing and an image processing means by software processing, and a control method thereof.
従来、画像データを処理する際、ハードウェア処理による画像処理手段とソフトウェア処理による画像処理手段とを適宜使い分けるものが知られている(特許文献1参照)。 Conventionally, when processing image data, an image processing unit using hardware processing and an image processing unit using software processing are properly used (see Patent Document 1).
特許文献1に記載のものは、用途に応じてハードウェア処理とソフトウェア処理とを固定的に使い分けるものである。画像データの処理に際しては、状況によってはハードウェア処理可能となるまで待つよりも、ソフトウェア処理行った方が結果的に早く処理を終えられる場合がある。しかしながら、従来、固定的にハードウェア処理とソフトウェア処理とを使い分けるものであったため、処理速度としては必ずしも効率的であったとは言えないものであった。 The one described in Patent Document 1 uses hardware processing and software processing in a fixed manner depending on the application. When processing image data, depending on the situation, there are cases in which the processing can be completed earlier as a result of performing software processing than waiting until hardware processing is possible. However, conventionally, since hardware processing and software processing are fixedly used, the processing speed is not necessarily efficient.
本発明は、以上の点に鑑みなされたものであり、ハードウェア処理による画像処理手段とソフトウェア処理による画像処理手段とを効率的に使い分けることが可能な画像処理装置、その制御方法並びにプログラムを提供するものである。 The present invention has been made in view of the above points, and provides an image processing apparatus capable of efficiently using an image processing means by hardware processing and an image processing means by software processing, a control method thereof, and a program To do.
上記課題を解決するため、本発明の画像処理装置は、画像データをハードウェア処理によって画像処理する第1の画像処理手段と、画像データをソフトウェア処理によって画像処理する第2の画像処理手段と、第1の画像データが印刷対象として決定された場合、前記第1の画像データを前記第1の画像処理手段を用いて処理させると決定する決定手段と、前記第1の画像データの印刷処理が開始してから終了する前に印刷指示の予約指示が受け付けられた場合、前記第1の画像データを表示する表示手段と、前記表示手段により表示される対象となる画像データを前記第1の画像データから前記第1の画像データとは異なる第2の画像データに変更するための閲覧指示を検出する検出手段と、前記閲覧指示が検出された場合、前記第2の画像データがサムネイル画像を備えるか否かを判定する判定手段を有し、前記判定手段が前記第2の画像データがサムネイル画像を備えると判定した場合、前記決定手段は、前記第2の画像データのサムネイル画像を前記第2の画像処理手段で処理させると決定し、前記表示手段は、前記第1の画像データの印刷が終了する前に前記第2の画像処理手段の処理結果として前記第2の画像データを表示することを特徴とする。 In order to solve the above problems, an image processing apparatus of the present invention includes a first image processing unit that performs image processing on image data by hardware processing, a second image processing unit that performs image processing on image data by software processing, When the first image data is determined as a printing target, a determination unit that determines to process the first image data using the first image processing unit, and a printing process of the first image data If the reservation instruction print instruction before exiting from the start is accepted, the first image display means for displaying data, said display means subject to the image data of the first image displayed by and from said data first image data and detecting means for detecting a reading instruction for changing to a different second image data, when the reading instruction has been detected, the second image And determining means for determining whether or not the data includes a thumbnail image, and when the determining means determines that the second image data includes a thumbnail image, the determining means includes: The thumbnail image is determined to be processed by the second image processing unit, and the display unit determines the second image processing unit as a processing result of the second image processing unit before printing of the first image data is completed. Image data is displayed.
本発明によれば、画像データの処理内容と、処理対象の画像データの内容とに基づいてハードウェア処理とするか、ソフトウェア処理とするかを決定するので、それぞれを効率的に使い分けることが可能となる。 According to the present invention, since hardware processing or software processing is determined based on the processing content of the image data and the content of the image data to be processed, each can be used efficiently. It becomes.
以下、本発明を実施するための形態について図面を用いて説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
図1は、本実施形態における画像処理装置の構成を示すブロック図である。 FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to the present embodiment.
図1において、操作部101はハードキーやソフトキーを含み、ユーザによる各種操作を受け付ける。カードインターフェース102はメモリカードをセット可能であり、セットされたメモリカードに記憶されている画像データを操作部101からの指示に従って入力可能である。読取部103はCCDを備え、このCCDは、原稿画像を読み取り、赤(R)、緑(G)および青(B)色のアナログ輝度データを出力する。印刷部104は入力された画像データに応じて記録シート上にインク、トナー等の記録剤を付与して画像をプリントする。
In FIG. 1, an
CPU200はROM201に記憶されている制御命令プログラムや画像処理プログラム等をRAM202にロードし、それを実行することによって画像処理装置の動作を制御する。JPEG伸張ハードウェア203はJPEG圧縮された画像データを伸張処理することができるハードウェアモジュールである。JPEG伸張ハードウェア203は、JPEG圧縮されたデータの検索、伸張や回転に必要な情報の収集などを行い、画像データを90度単位で回転して伸張することも可能である。表示部204は操作部101の操作状態、画像処理装置の各種状態などユーザに通知すべき種々の情報を表示可能である。
The
図2は、図1に示した各構成とROM201に格納されているプログラムで実行される処理との関係を模式的に表した図である。
FIG. 2 is a diagram schematically showing the relationship between each configuration shown in FIG. 1 and processing executed by a program stored in the
アプリケーション制御部301は、操作部101を介して入力されたユーザの指示に応じてジョブを発行する制御プログラムである。印刷ジョブ制御部302は、生成された画像データを印刷部104に印刷させるための処理を制御する制御プログラムである。表示ジョブ制御部303は、生成された画像データを表示部204に表示させるための処理を制御する制御プログラムである。量子化処理部304は、画像データを、印刷部104で印刷する形態に適した形にハーフトーン処理を行う画像処理プログラムである。JPEG処理部305は、JPEG伸張ハードウェア203及びJPEG伸張ソフトウェア308を制御する画像処理制御プログラムである。色変換処理部306は、画像データの色変換を行う画像処理プログラムである。変倍処理部307は、画像データの変倍を行う画像処理プログラムである。JPEG伸張ソフトウェア308は、JPEG画像中の圧縮データを伸張する機能をそなえた画像処理プログラムである。また、JPEG伸張ソフトウェア308は、JPEG画像中の圧縮データを全て検索し、回転伸張に必要な情報を収集するJPEG解析伸張機能も有する。JPEG伸張ソフトウェア308は、同JPEG伸張ソフトウェア308にて、JPEG解析伸張機能を実行した後であれば、画像データを90度回転して伸張することが可能である。JPEG解析伸張機能とは、JPEG画像中の圧縮データを全て検索し、回転伸張に必要な情報を収集する機能である。JPEG処理部305、色変換処理部306、変倍処理部307は印刷ジョブ制御部からも、表示ジョブ制御部からも呼び出し可能なように共通化されている。なお、図示を省略したがアプリケーション制御部301、印刷ジョブ制御部302、表示ジョブ制御部303、JPEG処理部305は、カードインターフェース102を介して画像ファイルの読み出しが可能な構成とする。
The
CPU200が画像処理装置を制御する際は、図2に示したプログラム群の全てまたは一部をRAM202にロードし、それを実行することによってなされる。以降で示すフローチャートはこのプログラムに基づく処理の流れを示す。
When the
図3は、メモリカードからの印刷アプリケーションを制御する際のアプリケーション制御部301による処理の流れを示す。
FIG. 3 shows a flow of processing by the
まず、S401にてカードインターフェース102を介してメモリカードにアクセスし、保存されているJPEG画像ファイルの検索を行い、画像ファイルごとに画像IDを生成し画像ファイル名を付加したファイルリストを生成する。本実施形態においては、画像ファイルの検索がなされると、各画像ファイルに対して画像ID(1〜N)を割り当て、それと画像ファイルのファイル名とを対応付けたファイルリストを生成しRAM202上に記憶する。なお、本実施形態で扱う画像ファイルはデジタルスチルカメラで撮影した際の種々の情報を含むExif形式のJPEGファイルとする。
First, in step S401, the memory card is accessed via the
次にS402にて画像ID=1の画像に対する表示ジョブを表示ジョブ制御部303に発行する。その後操作部101を介してのユーザ指示を受け取るべく、S403、S404の判断を繰り返す。S403では、ユーザによって、現在表示中あるいは表示処理中の画像データの次なる画像の閲覧指示が行われたか否かを確認する。ユーザによって次なる画像の閲覧指示が検出された場合は、S402にて、ファイルリスト上で次なる画像である、画像ID=2の画像に対する表示ジョブを、表示ジョブ制御部303に発行し、再度S403、S404の指示待ちを行う。S403にて次なる画像の閲覧指示が検出されなかった場合は、S404にてユーザによって印刷画像の指定が行われたか否かを検出する。ユーザによって、印刷画像の指定が行われた場合は、現在表示中あるいは表示処理中の画像ID=2の画像を印刷対象として確定しS404を実行する。
In step S <b> 402, a display job for the image with the image ID = 1 is issued to the display
そしてS405にて、ユーザによる印刷設定の指示を受け付ける。本実施形態では、印刷部数が設定できるものとする。以降、S405にて、印刷部数を3部と設定された場合の処理について説明する。次にS406にて、印刷ジョブ制御部に対して、画像ID=2の画像を3部印刷するよう、印刷ジョブを発行する。さらに、ユーザが別なる画像の印刷指示を予約する、予約指示があるか否かを確認するとともに、実行中あるいは予約済みの印刷ジョブ終了を検出するために、S407、S408を繰り返す。S407にて予約指示がないと判断されると、S408を実行する。S408では、現在実行中あるいは予約済みの印刷ジョブが存在する場合は、処理S407を実行する。次に処理S407にて予約指示を検出した場合は、処理S403を実行する。この段階で、表示部204には最後に表示ジョブを発行した画像ID=2の画像データ、あるいは画像ID=2が表示処理中であることを示す画面が表示されている。次に、処理S403にて、次なる画像データの閲覧指示を検出した場合は、S402にて、ファイルリスト上で次なる画像である、画像ID=3の画像に対する表示ジョブを、表示ジョブ制御部303に発行し、再度S403、S404の指示待ちを行う。以降、S405にて、ユーザが画像ID=3の画像を印刷対象として指定し、S405にて2部印刷するよう設定された場合は、S406にて、印刷ジョブ制御部に対して、画像ID=3の画像を2部印刷するよう、印刷ジョブを発行する。その後ユーザから予約指示がなければ、S407とS408が繰り返されることになる。これまで印刷ジョブが発行された画像ID=2を3部印刷し、画像ID=3を2部印刷が終了した段階で、S408にて全印刷ジョブ終了を検出し、S403を実行する。この段階で、表示部204には最後に表示ジョブを発行した画像ID=3の画像データ、あるいは画像ID=3の画像データが表示処理中であることを示す画面が表示されている。アプリケーション制御部301の制御を以上のような構成とした場合、ユーザは画像が印刷中であっても、異なる画像の印刷を予約指示することが可能となる。
In step S <b> 405, a print setting instruction is received from the user. In this embodiment, it is assumed that the number of print copies can be set. Hereinafter, a process when the number of copies is set to 3 in S405 will be described. In step S <b> 406, the print job is issued to the print job control unit so that three copies of the image with the image ID = 2 are printed. Furthermore, the user reserves a print instruction for another image, checks whether or not there is a reservation instruction, and repeats S407 and S408 in order to detect the end of a print job being executed or reserved. If it is determined in S407 that there is no reservation instruction, S408 is executed. In S408, if there is a print job currently being executed or reserved, the process S407 is executed. Next, when a reservation instruction is detected in process S407, process S403 is executed. At this stage, the
図4は、図3におけるS402にて発行された表示ジョブを受け付けた表示ジョブ制御部303の処理の流れを示したフローチャートである。ここでは、初めに画像ID=1に対する表示ジョブを受け付けた後に、画像ID=2に対する画像表示ジョブを受け付け、最後に画像ID=3に対する表示ジョブを受け付ける場合の例を示す。
FIG. 4 is a flowchart showing the flow of processing of the display
S601では現在実行中の表示ジョブがあるか否かを判断する。初回の要求である、画像ID=1の実行中に実行中のその他の表示ジョブは存在しないので、S603以降の処理を順次実行する。S603にて表示部204に画像表示処理中であることを示す画面を表示させる。本実施例では、この画面中に画像ID=1の画像ファイル名を表示することとする。次にS604以降の処理を実行することになるが、以降の処理実行中に次なる画像ID=2の画像表示ジョブを受け付けた場合、S601で実行中の表示ジョブが存在すると判断され、S602を実行する。S602では、画像ID=1の画像表示ジョブを直ちに終了するよう制御を行う。以降は画像ID=2に対するジョブを受け付けたものとして、説明する。
In step S601, it is determined whether there is a display job currently being executed. Since there is no other display job being executed during the execution of image ID = 1, which is the first request, the processes after S603 are sequentially executed. In step S603, the
次にS603にて画像ID=2の画像ファイル名を表示し、処理S604を実行する。S604では、画像ID=2に対応する画像データのヘッダ部分をカードインターフェース102から、RAM202の所定領域に読み込みを行う。S605では、画像ID=2に対応する画像データのヘッダ部分の解析を行い、JPEG伸張に必要な画像サイズ、量子化テーブルなどといった情報を収集する。また、デジタルスチルカメラで撮影された画像JPEG画像の多くは、画像ファイル中のヘッダ内部にJPEG圧縮されたサムネイル画像データが存在している。そのためS605では、画像ファイル中にサムネイル画像が付加されているか否かも検出し、サムネイルが付加されている場合はサムネイル伸張に必要な、情報も収集する。なお、ここでは画像ID=2の画像ファイルにはサムネイル画像が付加されているものとする。
In step S603, the image file name with the image ID = 2 is displayed, and the process S604 is executed. In S604, the header portion of the image data corresponding to the image ID = 2 is read from the
S606では、S605で検出したサムネイルの有無を判断材料として、次なる処理を切りかえる。サムネイルが付加されていない画像ファイルであれば、S607が実行されるが、画像ID=2はサムネイルが有りと判断されるため、S608を実行する。S608では、RAM202中にJPEG伸張入力バッファを確保し、カードインターフェース102から、画像ID=2のファイル中にあるサムネイル画像を読み出しJPEG伸張入力バッファに保存する。さらにサムネイル画像を読み出したことを記憶しておく。なお、JPEG伸張入力バッファは少なくとも圧縮されたサムネイル画像が全て格納可能な領域を確保するものとする。次にS609では、JPEG伸張をソフトウェアで実行するか、ハードウェアで実行するかを判断する。
In S606, the next process is switched using the presence / absence of the thumbnail detected in S605 as a determination material. If it is an image file to which no thumbnail is added, S607 is executed, but since it is determined that there is a thumbnail for image ID = 2, S608 is executed. In step S608, a JPEG decompression input buffer is secured in the
図5は、入力されたJPEG画像の伸張をソフトウェア処理により実行するか、ハードウェア処理により実行するかを判断する処理の流れを示すフローチャートである。 FIG. 5 is a flowchart showing a flow of processing for determining whether to decompress an input JPEG image by software processing or hardware processing.
S701では、図4における、S608にてサムネイル画像がJPEG伸張入力バッファに記憶されているか否かを示す情報を参照し、サムネイルが記憶されている場合は、S703を実行する。S703ではソフト伸張処理が選択される。即ち、処理対象の画像データがサムネイル画像でありそのサイズが小さい(大きくはない)ことがわかっているため、ソフトウェアにより処理を行うよう決定する。一方S701にて、主画像が記憶されている場合は、S702を実行する。S702ではハード伸張処理が選択される。即ち、処理対象の画像データがサムネイル画像ではない場合、画像データのサイズが大きい可能性が高いためハードウェアにより処理を行う。このように画像データの処理内容が表示である場合、処理対象の画像データの内容を判定し、その判定結果に従ってハードウェア処理するかソフトウェア処理するかを決定する。今回は、処理S608にて、画像ID=2のファイル中にあるサムネイル画像を取り込んでいるため、S609ではソフトウェア実行が選択されることになる。 In S701, information indicating whether or not the thumbnail image is stored in the JPEG decompression input buffer in S608 in FIG. 4 is referred to. If the thumbnail is stored, S703 is executed. In S703, the soft decompression process is selected. That is, since it is known that the image data to be processed is a thumbnail image and its size is small (not large), it is determined to perform processing by software. On the other hand, if the main image is stored in S701, S702 is executed. In S702, the hard decompression process is selected. That is, when the image data to be processed is not a thumbnail image, the image data is likely to be large, and the processing is performed by hardware. When the processing content of the image data is display as described above, the content of the image data to be processed is determined, and whether to perform hardware processing or software processing is determined according to the determination result. This time, in step S608, since the thumbnail image in the file with the image ID = 2 is taken in, software execution is selected in step S609.
続いて、S610ではS609にて、ソフトウェアによる実行が選択されているため、ソフトウェアによる処理を実行すべくS611が実行されるよう制御を行う。S611では、JPEG処理部305に対して、JPEG伸張ソフトウェア308にてJPEG伸張を行うよう要求を行い、要求が完了するのを待つ。なお伸張後の画像サイズによっては伸張後の画像データを全面保存できるだけの領域確保が困難なケースも想定されるため、本実施形態では、伸張後の画像データが保存可能なライン数N単位で、処理要求を行うものとする。
In step S610, since execution by software is selected in step S609, control is performed so that step S611 is executed to execute processing by software. In step S611, the
次にS613で、表示部204における画像表示領域のサイズ及び解像度に適したサイズに画像データの拡大もしくは縮小を行う。さらに、S614では、表示部204に適した形式に色変換を色変換処理部306にて行う。色変換処理部306では、例えば、マトリクス演算や、テーブル参照を用いて、表示部のデバイス色空間への変換を行う。
In step S613, the image data is enlarged or reduced to a size suitable for the size and resolution of the image display area in the
続いてS615にて、今回選択された画像データ(画像ID=2のサムネイル画像)の全面が処理済みか否かを判断し、未処理データが残っている場合は、S610、S611、S613、S614、S615を順次実行する。 Subsequently, in S615, it is determined whether the entire image data (thumbnail image with image ID = 2) selected this time has been processed. If unprocessed data remains, S610, S611, S613, S614 are determined. , S615 are sequentially executed.
以上のように画像処理を繰り返し実行した結果、S615にて、画像データの全面が処理済みであると判断されるとS616が実行される。S616では画像処理済みの画像データを表示部204に転送し、画像処理済の画像データが表示部204に表示されることになる。
As a result of repeatedly executing the image processing as described above, if it is determined in S615 that the entire image data has been processed, S616 is executed. In step S <b> 616, the image processed image data is transferred to the
続いて、S617では今回表示した画像がサムネイル画像か否かを判断する。今回表示された画像データは、画像ID=2のサムネイル画像であるため、次にS607を実行するよう制御を行う。S607では、RAM202中にJPEG伸張入力バッファを確保し、カードインターフェース102から、画像ID=2のファイル中にある主画像データを読み出し、JPEG伸張入力バッファに保存する。なお、JPEG伸張入力バッファが確保可能なサイズよりも主画像データのサイズが大きい場合は、主画像データの先頭から、JPEG伸張入力バッファのサイズまでを読み込むものとする。
In step S617, it is determined whether the currently displayed image is a thumbnail image. Since the image data displayed this time is a thumbnail image with the image ID = 2, control is performed so as to execute S607 next. In S607, a JPEG decompression input buffer is secured in the
次に、S604では図5におけるS701で主画像の伸張を行うと判断されるためハードウェアによる実行が選択される。続いて、S610ではS609にて、ハードウェアによる実行が選択されているため、ハードウェアによる処理を実行すべく、S612が実行されるよう制御する。S612では、JPEG処理部305に対して、JPEG伸張ハードウェア203を用いて伸張後の画像データ保存領域に収まるライン数NのJPEG伸張を行うよう要求を行い、要求が完了するのを待つ。以降、サムネイル画像表示時と同様に、S613、S614、S615を実行し主画像データに対して、全面画像処理が終了するまで、一連の画像処理を繰り返し実行する。
Next, in S604, since it is determined that the main image is to be expanded in S701 in FIG. 5, execution by hardware is selected. Subsequently, in S610, since execution by hardware is selected in S609, control is performed so that S612 is executed in order to execute processing by hardware. In step S612, the
S616では画像処理済みの画像データを表示部204に転送し、画像処理済の画像データが表示部204に表示されることになる。続いて、S617では今回表示した画像がサムネイル画像か否かを判断する。今回表示された画像データは、画像ID=2の主画像であるため、今回受け付けた画像ID=2に対する表示ジョブを終了する。
In step S <b> 616, the image processed image data is transferred to the
以上の例では、画像ID=2の次に画像ID=3に対する表示ジョブを受け付けることになるが、以降の処理はこれまで画像ID=2を用いて説明したものと同じになる。表示ジョブ制御部303を以上のような構成としたことで、表示対象となる画像ファイルにサムネイルが含まれている場合は、一連の画像処理を終え、表示部204にサムネイル画像が一旦表示される。その後、主画像に対して一連の画像処理を実行し、主画像が表示されるよう切り替わる。主画像データの処理に時間がかかり、表示までの時間を要する場合であっても、サムネイル画像が高速に表示されれば、ユーザは印刷すべき画像を閲覧することが可能となる。また、ハードウェアによる処理と、ソフトウェアによる処理の切り替わりが、1つの画像内で発生することはないため、ハードウェアとソフトウェアの演算誤差があっても、表示画像に色むらは発生しない。
In the above example, a display job for the image ID = 3 is received next to the image ID = 2, but the subsequent processing is the same as that described above using the image ID = 2. By configuring the display
図6は、図3におけるS406にて発行された印刷ジョブを受け付けた印刷ジョブ制御部302の処理の流れを示したフローチャートである。この例では、初めに画像ID=2に対する印刷ジョブを受け付けた後に、画像ID=3に対する印刷ジョブを受け付けるものとする。
FIG. 6 is a flowchart showing a processing flow of the print
まず、S801では受け付けた印刷ジョブを一旦印刷ジョブキューに登録する。次に、S802では、現在実行中の印刷ジョブがあるか否かを判断する。初めに受け付けた画像ID=2に対する印刷ジョブが要求された時は、現在実行中の印刷ジョブが無いため、S803を実行するよう制御される。一方、画像ID=2に対する印刷ジョブの実行中に画像ID=3に対する印刷ジョブの実行要求を受け付けた場合は、S801にて印刷ジョブキューに登録した後、画像ID=2に対する印刷ジョブを継続実行するように制御を戻す。 First, in step S801, the accepted print job is temporarily registered in the print job queue. In step S802, it is determined whether there is a print job currently being executed. When a print job for the first received image ID = 2 is requested, since there is no print job currently being executed, control is performed to execute S803. On the other hand, if a print job execution request for image ID = 3 is received during execution of a print job for image ID = 2, the print job for image ID = 2 is continuously executed after registration in the print job queue in S801. Return control to
以降は画像ID=2に対する印刷ジョブが実行中であるとして説明する。次に、S803では印刷ジョブキューから最も古い印刷ジョブである、画像ID=2に対する印刷ジョブを取得し、印刷設定(ここでは部数=3部)を取得する。次に、S804では画像ID=2に対応する画像データのヘッダ部分をカードインターフェース102から、RAM202の所定領域に読み込む。さらに、S805画像ID=2に対応する画像データのヘッダ部分の解析を行い、JPEG伸張に必要な画像サイズ、量子化テーブルなどといった情報を収集する。なお、ここでは印刷ジョブでのヘッダ解析においては、サムネイル有無の判定を行わず、主画像の伸張に必要な情報のみを収集する。
In the following description, it is assumed that a print job for image ID = 2 is being executed. In step S803, the print job corresponding to the image ID = 2, which is the oldest print job, is acquired from the print job queue, and the print setting (here, the number of copies = 3) is acquired. In step S804, the header portion of the image data corresponding to the image ID = 2 is read from the
次に、S806では、RAM202中にJPEG伸張入力バッファを確保し、カードインターフェース102から、画像ID=2のファイル中にある主画像を読み出しJPEG伸張入力バッファに保存する。なお、JPEG伸張入力バッファが確保可能なサイズよりも主画像データのサイズが大きい場合は、主画像データの先頭から、JPEG伸張入力バッファのサイズまでを読み込むものとする。
In step S806, a JPEG decompression input buffer is secured in the
次に、JPEG画像の伸張処理に移るが、デジタルスチルカメラで撮影された画像データの多くはランドスケープ画像として横長の画像データとして保存されている。一方、本実施形態において印刷部104は、印刷の際、印刷用紙の長手方向に紙送りを行う。よって印刷対象の画像データを90度回転して伸張する必要がある。そこで、まずS807にて、JPEG処理部305に対して、JPEG伸張ハードウェア203でJPEG解析伸張を行うよう要求を行い、処理が終了するのを待つ。次に、S808にて、JPEG伸張ハードウェア203を用いて90度の回転と伸張とが行われた後のデータを出力するよう要求を行い、要求が完了するのを待つ。
Next, the process proceeds to JPEG image expansion processing. Most of the image data captured by the digital still camera is stored as landscape image data as a landscape image. On the other hand, in the present embodiment, the
次にS809で、印刷用紙902のサイズ及び印刷部104の印刷解像度に適したサイズに画像データの拡大もしくは縮小を変倍処理部307にて行う。なお本実施形態において印刷部104は、16ライン単位に印刷処理を行うものとする。よって、S808では変倍処理部307が16ライン出力するために必要十分なライン数であるMライン単位で処理要求を行うものとし、変倍処理部307はS809においては、16ラインのデータを出力するものとする。さらに、S810では、印刷部104に適した色空間にすべく色変換を色変換処理部306にて行う。例えば、マトリクス演算や、テーブル参照を用いて、印刷部104のデバイス色空間への変換を行う。
In step S <b> 809, the scaling
次に、S811では画像データを印刷部104に適したドットパタンに変換する量子化処理を行う。次に、S812では、S811で生成された16ライン分のドットデータを印刷するよう、印刷部104にデータ送信を行う。S813では、全画像データの印刷が終了したか否かを検出し、未印刷データが残っている場合は処理S808から、S812までの一連の処理を実行するよう判断する。全画像データの印刷が終了したら、S814にて全部数の印刷が終了したか否かの確認を行い、全部数の印刷が終わっている場合は、S804以降の処理を残り部数分実行するよう制御を行う。画像ID=2は3部印刷するよう求められているため、S804以降の処理を3度行うことで全部数の印刷が終了し、S815が実行される。
Next, in S811, a quantization process for converting the image data into a dot pattern suitable for the
S815では、印刷ジョブキューを参照し、印刷ジョブの有無を確認し、印刷ジョブが残っている場合は、S803以降の処理を印刷ジョブが無くなるまで続けるよう制御を行う。画像ID=2の印刷ジョブがS815に到達する以前に画像ID=3の印刷ジョブを受け付けている場合は、印刷ジョブキューに印刷ジョブが存在するため、S803が実行される。S803にて画像ID=3の印刷ジョブを印刷ジョブキューから取り出し、要求された2部の印刷が終了するまで、以降の処理を実行する。 In step S815, the print job queue is referenced to check whether there is a print job. If a print job remains, control is performed so that the processing in step S803 and subsequent steps is continued until there is no print job. When the print job with the image ID = 2 is received before the print job with the image ID = 2 arrives at S815, the print job exists in the print job queue, and thus S803 is executed. In step S803, the print job with the image ID = 3 is taken out of the print job queue, and the subsequent processing is executed until the requested two copies are completed.
印刷ジョブ制御部302を以上のような構成としたことで、アプリケーション制御部301は、印刷ジョブ制御部302が実行中か否かにかかわらず、印刷ジョブを発行することが可能となる。印刷ジョブ制御部302は、実行中の印刷処理が終了すると即座に、印刷ジョブキューに蓄積されている印刷ジョブを取り出し、印刷を開始することが可能となる。また、ハードウェアによる処理と、ソフトウェアによる処理の切り替わりが、1つの画像内で発生することはないため、ハードウェアとソフトウェアの演算誤差があっても、印刷画像に色むらは発生しない。
By configuring the print
図7は、JPEG処理部305による処理の流れを示したフローチャートである。
FIG. 7 is a flowchart showing the flow of processing by the
JPEG処理部305は、処理要求を受けた場合まず、その要求がハードウェアで実行するよう指示されているか、ソフトウェアで実行するよう指示されているかをS1001で判断する。ハードウェアで実行するよう指示されている場合は、ハードウェアにて処理を実行するべく、S1002以降の処理を実行するよう、制御を行う。ソフトウェアで実行するよう指示されている場合は、ソフトウェアにて処理を実行するべく、S1002以降の処理を実行するよう制御を行う。
When receiving the processing request, the
まず、ソフトウェアで実行するよう指示されている場合の処理についてS1002から説明する。上述した表示ジョブ制御部303の処理における、S606にてサムネイル有りと判定された場合にS611にてソフトJPEG伸張が要求された場合が該当する。
First, the processing when instructed to be executed by software will be described from S1002. In the processing of the display
ソフトウェアにてJPEG処理を実行する場合、S1002にて解析伸張要求を受けたか、伸張要求を受けたかを判定する。解析伸張要求を受けた場合は、S1004にてJPEG伸張ソフトウェア308に対して解析伸張要求を行い、応答が戻るまで待つ。一方、通常の伸張要求がなされた場合は、S1003にてJPEG伸張ソフトウェア308に対して、伸張要求を行い、応答が戻るまで待つ。JPEG伸張ソフトウェア308は、JPEG伸張入力バッファのデータを順次解析伸張処理または伸張処理を行い、JPEG伸張入力バッファ上のデータが尽きると、継続処理に必要な入力データを呼び出し元に要求する。一方JPEG伸張入力バッファ上のデータが尽きることなく処理が完結した場合は完了を呼び出し元に通知する。
When JPEG processing is executed by software, it is determined in step S1002 whether an analysis / decompression request is received or an expansion request is received. If an analysis / decompression request is received, an analysis / decompression request is made to the
なお、本実施形態においては、これまで説明した中で、JPEG伸張ソフトウェア308を使用するケースはサムネイル画像の伸張処理のみである。サムネイル画像の圧縮データはJPEG伸張入力バッファに全て読み込み済みの状態で要求がかけられるため、入力データを呼び出しもとに要求することは無い。
In the present embodiment, the
JPEG伸張ソフトウェア308からの応答があった場合、S1005が実行される。S1005では、JPEG伸張ソフトウェア308からの応答が入力データ要求であるか、処理完了であるかを判断し、入力データ要求があった場合は、S1006を実行する。S1006ではJPEG伸張ソフトウェア308から指定された継続処理に必要な入力データを、カードインターフェース102から読み出し、JPEG伸張入力バッファに格納する。一方S1005にて、JPEG伸張ソフトウェア308からの応答が処理完了であった場合は処理を終了し、呼び出し元に終了を通知する。
If there is a response from the
続いて、ハードウェア実行するよう指示されている場合の処理についてS1007から説明する。S1007では、ハードウェア資源が解放されているか否かを判定する。ハードウェア資源が解放されていない場合はハードウェア資源が解放されるまで待ち続ける。一方ハードウェア資源が解放されている場合は、S1008にてハードウェア資源の獲得を行う。S1008にてハードウェア資源の獲得後、解放するまでの間は、別なるハード伸張要求を受け付けた場合であっても、S1007にて解放を待ち続けることになる。次にS1009にて解析伸張要求を受けたか、伸張要求を受けたかを判定する。 Subsequently, the processing in the case where an instruction to execute hardware is given will be described from S1007. In S1007, it is determined whether or not hardware resources are released. If hardware resources have not been released, continue to wait until hardware resources are released. On the other hand, if the hardware resource is released, the hardware resource is acquired in S1008. Even after another hardware expansion request is received after the acquisition of hardware resources in S1008 until the release, the release is kept waiting in S1007. In step S1009, it is determined whether an analysis expansion request has been received or an expansion request has been received.
解析伸張要求を受けた場合は、S1011にて、JPEG伸張ハードウェア203に対して、解析伸張要求を行い、応答が戻るまで待つ。一方、通常の伸張要求がなされた場合は、S1010にて、JPEG伸張ハードウェア203に対して、伸張要求を行い、応答が戻るまで待つ。JPEG伸張ハードウェア203は、JPEG伸張入力バッファのデータを順次解析伸張処理または伸張処理を行い、JPEG伸張入力バッファ上のデータが尽きると、継続処理に必要な入力データを呼び出し元に要求する。一方JPEG伸張入力バッファ上のデータが尽きることなく処理が完結した場合は完了を呼び出し元に通知する。
If an analysis decompression request is received, an analysis decompression request is made to the
JPEG伸張ハードウェア203からの応答があった場合、S1012が実行される。S1012では、JPEG伸張ハードウェア203からの応答が入力データ要求であるか、処理完了であるかを判断し、入力データ要求があった場合は、S1013を実行する。S1013ではJPEG伸張ハードウェア203から指定された継続処理に必要な入力データを、カードインターフェース102から読み出し、JPEG伸張入力バッファに格納する。一方S1012にて、JPEG伸張ハードウェア203からの応答が処理完了であった場合はS1014にてハードウェア資源の解放を行った後に処理を終了し、呼び出し元に終了を通知する。
If there is a response from the
JPEG処理部305を以上のような構成としたことで、ハードウェアによる処理要求であっても、ソフトウェアによる処理要求であっても、適切に処理を切り分けて実行することが可能となる。また、ハードウェアの資源管理を適切に行っているため、JPEG伸張ハードウェア203は常に1つの処理要求を満たす機能を持つだけでよい。
By configuring the
次に、本実施形態の処理による処理効率について説明する。 Next, the processing efficiency by the processing of this embodiment will be described.
JPEG伸張ハードウェア203の伸張処理または解析伸張処理の処理能力(処理速度)は、圧縮画像データのサイズが50KByteにつき、0.01秒かかるものとする。また、JPEG伸張ソフトウェア308の処理能力は、JPEG伸張ハードウェアの1/10程度の処理能力であり、圧縮画像データのサイズが50KByteにつき、0.1秒かかるものとする。
It is assumed that the processing capability (processing speed) of the decompression processing or analysis decompression processing of the
図8は、JPEG伸張ハードウェア、JPEG伸張ソフトウェア、各ジョブの処理にかかる時間を示すタイミングチャート図を示したもので、本実施形態の制御によるものとそれ以外のものとを示す図である。図8(a)は、常にJPEG伸張ハードウェアを使用するよう制御した場合の挙動を示す。図8(b)は、上述した本実施形態の制御による挙動を示す。また、これらは、印刷ジョブ制御部302が画像ID=2に対するJPEG解析伸張要求を行った直後に、表示ジョブ制御部303が画像ID=3に対するサムネイル画像のJPEG伸張要求を行った場合の状況を示している。
FIG. 8 is a timing chart showing the JPEG decompression hardware, the JPEG decompression software, and the time required for processing each job, and is a diagram showing the control by this embodiment and the others. FIG. 8A shows the behavior when control is performed so that the JPEG decompression hardware is always used. FIG. 8B shows the behavior by the control of this embodiment described above. Also, these are the situations when the display
なお、画像ID=2の主画像データのサイズを5MByte、画像ID=3のサムネイル画像データのサイズを50KByte、主画像データのサイズを5Mbyteとする。T1101からT1105までは、それぞれ、後述するイベントが発生した時刻を表す。また、図8(a)、(b)ともに同一の時刻となるものには同一の符号を付した。 The size of the main image data with the image ID = 2 is 5 Mbytes, the size of the thumbnail image data with the image ID = 3 is 50 Kbytes, and the size of the main image data is 5 Mbytes. Each of T1101 to T1105 represents the time when an event described later occurs. Also, in FIGS. 8 (a) and 8 (b), the same reference numerals are assigned to the same times.
T1101は印刷ジョブにおける、画像ID=2の主画像をJPEG解析伸張要求した時刻を表す。T1102は表示ジョブにおける、画像ID=3のサムネイル画像をJPEG伸張要求した時刻を表す。T1103は、画像ID=2の主画像をJPEG解析伸張要求に対する処理が終了した時刻を表す。 T1101 represents the time at which a JPEG analysis / decompression request is made for the main image with the image ID = 2 in the print job. T1102 represents the time when a JPEG decompression request is made for a thumbnail image with an image ID = 3 in a display job. T1103 represents the time when the processing for the JPEG analysis / decompression request for the main image with the image ID = 2 is completed.
図8(a)においては、表示ジョブ制御部によるJPEG伸張要求を受けた時点でハードウェアが解放されていないため、ハードウェアが解放されるまで、すなわちT1103の時刻になるまで、待ち続けることになる。画像ID=2の主画像サイズが5Mbyteで、画像伸張ハードウェアの処理能力が50KByteにつき、0.01秒であるため、最悪の場合1秒程度表示ジョブのJPEG伸張が待たされることになる。その後、JPEG伸張ハードウェアの解放を検出し、即座に画像伸張を行い、T1104の時刻にて、伸張処理が終了する。T1103からT1104までにかかる時間はおおよそ0.01秒と高速であるが、その前段である解放待ち時間により、表示要求にかかる処理は1秒以上かかってしまうことになる。 In FIG. 8A, since the hardware is not released at the time of receiving the JPEG decompression request from the display job control unit, the process waits until the hardware is released, that is, until the time of T1103. Become. Since the main image size of the image ID = 2 is 5 Mbytes and the processing capacity of the image expansion hardware is 0.01 seconds per 50 Kbytes, in the worst case, JPEG expansion of the display job is waited for about 1 second. Thereafter, the release of JPEG decompression hardware is detected, image decompression is performed immediately, and the decompression process ends at time T1104. The time taken from T1103 to T1104 is as fast as about 0.01 seconds, but due to the release waiting time that is the preceding stage, the processing for the display request takes more than 1 second.
一方、図8(b)においては、表示ジョブ制御部によるJPEG伸張要求を受けた時点で、即座にサムネイル画像のソフトウェア伸張要求を行うよう制御を行う。そのため、JPEG伸張ハードウェアの解放状況に左右されること無く表示処理が行われ、T1105に示す時刻に伸張処理が終了する。画像ID=3のサムネイルサイズが50Kbyteで、画像伸張ソフトウェアの処理能力が50KByteにつき、0.1秒であるため、T1102からT1105にかかる時間は、0.1秒程度となる。ハードウェアを使用した場合と比べると処理自体は低速ではあるが、サムネイル画像のデータサイズは小さいためユーザにストレスを与えることなく表示のための画像伸張が可能となる。 On the other hand, in FIG. 8B, when a JPEG decompression request is received from the display job control unit, control is performed so that a thumbnail image software decompression request is immediately made. Therefore, the display process is performed regardless of the release status of the JPEG decompression hardware, and the decompression process ends at the time indicated by T1105. Since the thumbnail size of the image ID = 3 is 50 Kbytes and the processing capacity of the image expansion software is 0.1 second per 50 Kbytes, the time taken from T1102 to T1105 is about 0.1 seconds. Although the processing itself is slower than when hardware is used, the thumbnail image data size is small, so that it is possible to expand the image for display without causing stress to the user.
図9は、JPEG伸張ハードウェア、JPEG伸張ソフトウェア、印刷ジョブの処理にかかる時間を示すタイミングチャート図を示したもので、本実施形態の制御によるものとそれ以外のものとを示す図である。図9(a)は、本実施形態のような制御を行うことなく、用途に応じて固定的にハードウェア処理とソフトウェア処理を使い分けたり、ハードウェアの解放状況を確認してソフトウェア処理を実行する場合の挙動を示す。図9(b)は、上述した本実施形態の制御による挙動を示す。また、図9は、図8と異なり、印刷ジョブ制御部302が画像ID=2に対するJPEG解析伸張要求を行った直後に、表示ジョブ制御部303が画像ID=3に対する主画像のJPEG伸張要求を行った場合の状況している。T1201からT1205までは、それぞれ、後述するイベントが発生した時刻を表す。画像ID=2の主画像をJPEG解析伸張要求した時刻を表す。T1202は表示ジョブにおける、画像ID=3の主画像をJPEG伸張要求した時刻を表す。T1203は、画像ID=2の主画像をJPEG解析伸張要求に対する処理が終了した時刻を表す。
FIG. 9 is a timing chart showing the time required for processing JPEG decompression hardware, JPEG decompression software, and a print job, and is a diagram showing the control by this embodiment and the others. In FIG. 9A, without performing the control as in the present embodiment, the hardware processing and the software processing are fixedly used according to the usage, or the hardware release status is confirmed and the software processing is executed. Shows the behavior of the case. FIG. 9B shows the behavior by the control of this embodiment described above. FIG. 9 differs from FIG. 8 in that the display
図9(a)においては、表示ジョブ制御部によるJPEG伸張要求を受けた時点でハードウェアが解放されていないため、ソフトウェアにて実行するように制御される。あるいは、表示目的ではソフトウェアを使うように予め定められてしまう。いずれにせよ、表示ジョブ制御部によるJPEG伸張要求を受けた時点で、即座に主画像のソフトウェア伸張要求を行うよう制御を行う。そして、T1204の時刻にソフト処理が終了することになる。T1202からT1204までの時間は、処理能力からおおよそ10秒程度かかることになる。仮に画像ID=3にサムネイルが付加されていないと、ユーザは選択する画像が閲覧できず、非常なストレスとなる。 In FIG. 9A, since the hardware has not been released when the JPEG decompression request is received from the display job control unit, control is performed so as to be executed by software. Alternatively, it is predetermined to use software for display purposes. In any case, when a JPEG decompression request is received from the display job control unit, control is performed so that a software decompression request for the main image is immediately made. Then, the software process ends at time T1204. The time from T1202 to T1204 takes approximately 10 seconds from the processing capability. If no thumbnail is added to the image ID = 3, the user cannot view the selected image, which is very stressful.
一方、図9(b)においては、ハードウェアの解放を待った後に、ハードウェアによる処理が実行される。そのため、最悪の場合でも、1202からT1203の間即ち1秒程度待ったのちに、伸張処理を開始する。その後、伸張処理が終了する時刻T1205に終了する。T1203から、T1205までの時間はおよそ1秒程度であるため、ハードの解放待ち時間を含めても2秒程度で、表示に係る伸張処理が終了する。図9(a)の10秒と比較して、ユーザのストレスは著しく軽減する。 On the other hand, in FIG. 9B, after waiting for hardware to be released, processing by hardware is executed. For this reason, even in the worst case, the expansion process is started after waiting for 1202 to T1203, that is, about 1 second. Thereafter, the process ends at time T1205 when the decompression process ends. Since the time from T1203 to T1205 is about 1 second, the expansion process for display is completed in about 2 seconds including the hardware release waiting time. Compared to 10 seconds in FIG. 9A, the user's stress is significantly reduced.
次に、JPEG伸張をソフトウェア処理で実行するか、ハードウェア処理で実行するかを判断する処理について、上述の例(図5等)とは異なる方法で行う例について説明する。図10はこの場合の処理の流れを示すフローチャートである。本フローチャートの処理は、図4のS609から呼び出されて実行される。図10では、S1301において、処理対象の画像データのサイズと所定の閾値とを比較し、閾値以下であればソフトウェア処理を選択し、閾値より大きければハードウェア処理を選択する。これ以降は上述のとおり選択された処理を実行する。 Next, an example in which JPEG decompression is performed by software processing or hardware processing is determined by a method different from the above-described example (FIG. 5 and the like). FIG. 10 is a flowchart showing the flow of processing in this case. The process of this flowchart is called and executed from S609 of FIG. In FIG. 10, in S1301, the size of the image data to be processed is compared with a predetermined threshold value, and if it is equal to or smaller than the threshold value, software processing is selected, and if larger than the threshold value, hardware processing is selected. Thereafter, the process selected as described above is executed.
この閾値は、例えばユーザがストレスを感じない時間とソフトウェア処理の処理能力の処理能力に基づき決定すればよい。例えば、ソフトウェアによる処理であっても、ユーザが体感上、ストレスを感じ得ない速度が0.5秒であるとし、JPEG伸張ソフトウェア308の処理能力が圧縮画像データのサイズが50KByteにつき0.1秒かかる場合、閾値は250KByteとなる。
This threshold value may be determined based on, for example, the time during which the user does not feel stress and the processing capability of the software processing. For example, even if the processing is performed by software, the speed at which the user cannot feel stress is 0.5 seconds, and the processing capability of the
図10の処理では、JPEG伸張処理の対象となる画像データのサイズが250KByte以下であれば、即座にJPEG伸張ソフトウェア308にて実行される。そのため、ハードウェアの占有状況にかかわらず、ユーザにストレスを与えないことが分かっている0.5秒以内に伸張処理が終了することになる。
In the processing of FIG. 10, if the size of the image data to be subjected to JPEG expansion processing is 250 KBytes or less, it is immediately executed by the
また、250KByteより大きいサイズであれば、JPEG伸張ハードウェア203にて実行される。そのため、JPEG伸張ハードウェア203が解放される時間が加算されるものの、巨大なデータをJPEG伸張ソフトウェア308にて実行することを防ぐことが可能となる。
If the size is larger than 250 KBytes, it is executed by the
即ち、図5の例では処理対象の画像がサムネイル画像であるか否かに応じて処理方法を切り替えていたが、図10の例ではサムネイル画像でなくともサイズの小さい画像であればソフトウェアによる処理を行わせる。従って、図5の例よりも伸張処理に関しては処理効率の向上が図れる。 That is, in the example of FIG. 5, the processing method is switched depending on whether or not the image to be processed is a thumbnail image. However, in the example of FIG. To do. Therefore, the processing efficiency can be improved with respect to the decompression process as compared with the example of FIG.
なお、上述の閾値の算出では、単純にJPEG伸張ソフトウェア308の処理能力が常に100%発揮できるものとして求めたが、所定の値を加減乗除しても良い。例えば、JPEG伸張ソフトウェアを実行するCPU200の競合状況を考慮に入れる方法が考えられる。同時に印刷ジョブと表示ジョブが実行されることから、CPU200が表示ジョブに割り当てられる時間が半分になるような構成であれば、250KByteに1/2を積算した125KByteを閾値とする方法が考えられる。
In the above calculation of the threshold value, it is determined that the processing capability of the
次に、JPEG伸張をソフトウェア処理で実行するか、ハードウェア処理で実行するかを判断する処理について、さらに異なる方法で行う例について説明する。図11はこの場合の処理の流れを示すフローチャートである。本フローチャートの処理は、図4のS609から呼び出されて実行される。 Next, an example will be described in which JPEG decompression is executed by software processing or hardware processing to determine whether to execute the processing by a different method. FIG. 11 is a flowchart showing the flow of processing in this case. The process of this flowchart is called and executed from S609 of FIG.
図11の例では、まず、S1401にて、占有されているハードウェアの残り占有時間の予測値を取得する。ここでは、占有時間の予測値は印刷ジョブによって占有されているハードウェアの未処理データサイズから求めるものとする。なお、JPEG伸張ソフトウェア308及び、JPEG伸張ハードウェア203の処理能力は、例えば上述のものと同様とする。例えば、JPEG伸張ハードウェア203が、5MByteのデータのうち、3MByteのデータの処理が終了しているとすると、残りサイズ2MByteのデータを処理するために必要な時間は0.4秒でとなる。また、ハードが占有されていない場合は0秒となる。
In the example of FIG. 11, first, in S1401, a predicted value of the remaining occupation time of the occupied hardware is acquired. Here, it is assumed that the predicted value of the occupation time is obtained from the unprocessed data size of the hardware occupied by the print job. Note that the processing capabilities of the
次に、S1402にて、S1403で用いる閾値を求める。この閾値は、例えばこれから処理対象の画像データのサイズから求めたJPEG伸張ハードウェア203による伸張処理時間の予測値、S1401で取得したJPEG伸張ハードウェア203の解放までに要する時間の予測値の合計から求めればよい。例えば100KByteのデータを伸張する場合は、JPEG伸張ハードウェア203の処理能力から、0.02秒となる。つまり、ハードウェアの解放待ち時間0.4秒とハードウェアによる実行時間0.02秒を加算した0.42秒がJPEG伸張ハードウェア203を用いた場合の処理にかかる時間となる。JPEG伸張ソフトウェア308は、その処理能力から、0.42秒の間に210KByteの処理が可能であるため、210Kbyteを閾値とする。
Next, in S1402, the threshold used in S1403 is obtained. For example, the threshold is calculated from the sum of the predicted value of the decompression processing time by the
そしてS1403では、入力データのサイズとS1402で求めた閾値を比較して、閾値以下であれば、ソフトウェア処理を選択し、閾値より大きければ、ハードウェア処理を選択する。以降は上述のとおり選択された処理を実行する。 In step S1403, the size of the input data is compared with the threshold value obtained in step S1402. If the input data size is equal to or smaller than the threshold value, software processing is selected, and if larger than the threshold value, hardware processing is selected. Thereafter, the process selected as described above is executed.
以上のように図11の例では、JPEG伸張ハードウェア203が解放される時間を考慮してソフトウェア処理とハードウェア処理のいずれとするかを決定する。従って、処理が滞る時間を短縮し、状況に応じてより効率的にソフトウェアとハードウェアの使い分けが可能となる。なお、ここでは、閾値を求めるにあたり、占有されているハードウェアの残り占有時間のみを考慮したが、画像データの読み込みにかかる時間等を加算してもよい。図10で示すとおり、S1013による画像データの読み込みはハードウェア資源の獲得中に行われており、画像データの読み込み時間は、ハード占有時間に加算されてしまう。ハード占有中のジョブが、そのため画像データが全て読み込めていない場合は、未読み込みデータサイズとファイル読み込み能力から、未読み込みデータの読み込みに要する時間を求め、閾値算出に用いる方法が考えられる。この場合、未読み込みデータの読み込みに要する時間を、S1401で求めた占有中ハードの残り占有時間に加算すればよい。また、例えばハードウェアの処理時間が十分に高速であり、画像データの読み込みにかかる時間のみが問題となる場合などは、ハード占有中のジョブの未読み込みデータサイズのみを用いてもよい。さらに、より簡易な構成とするために、未読み込みデータの有り無し判定のみで、ハードウェアとソフトウェアの切り替えを行ってもよい。例えば、ハードウェア占有中のジョブが未読み込みデータを有する場合は、ソフトウェア処理を実行するという方法でも、十分に効果は得られる。
As described above, in the example of FIG. 11, it is determined whether to perform software processing or hardware processing in consideration of the time when the
なお、以上のようにJPEG伸張をソフトウェア処理とするかハードウェア処理とするかを決定する方法として、図5、10、11の例を挙げたが、これらは適宜組合せてもよい。即ち、例えば図5と図10を組合せて、まず処理対象の画像データがサムネイル画像かどうかを判定し(S701)、サムネイル画像であればS702に進み、サムネイル画像でなければS1301に進む。そしてS1301において画像データのサイズを判定し、その結果に従ってS1302またはS1303に進む。また、図5と図11を組合せて、S701でサムネイル画像でなかったと判定された場合にS1401に進み、同様の処理を行う。また、図5、10、11を組合せてもよい。即ち、S701でサムネイル画像でなかったと判定された場合にS1301に進み、処理対象の画像データのサイズを第1の閾値と比較し、大きいと判定された場合にS1401に進み、S1402で算出される第2の閾値と比較して同様の処理を行う。また、これら以外にも種々の条件を加えたり、変更したりしてハードウェア処理とソフトウェア処理とを使い分けるようにしてもよい。また、JPEG伸張されたデータは、画像の表示や印刷には限らず、種々の処理にも適用可能である。 As described above, the examples of FIGS. 5, 10, and 11 are given as the method for determining whether JPEG decompression is software processing or hardware processing. However, these may be combined as appropriate. That is, for example, by combining FIG. 5 and FIG. 10, it is first determined whether or not the image data to be processed is a thumbnail image (S701). If it is a thumbnail image, the process proceeds to S702, and if it is not a thumbnail image, the process proceeds to S1301. In step S1301, the size of the image data is determined, and the process proceeds to step S1302 or S1303 according to the result. 5 and FIG. 11 are combined, and if it is determined in S701 that the image is not a thumbnail image, the process proceeds to S1401, and the same processing is performed. Further, FIGS. 5, 10, and 11 may be combined. That is, if it is determined in S701 that the image is not a thumbnail image, the process proceeds to S1301, and the size of the image data to be processed is compared with the first threshold value. Similar processing is performed in comparison with the second threshold. In addition to these, various conditions may be added or changed, and hardware processing and software processing may be used properly. Also, JPEG decompressed data is not limited to image display and printing, but can be applied to various processes.
また、以上の説明において、JPEG伸張処理に対してソフトウェア処理とハードウェア処理を使い分ける例を示したが、その他の画像処理に対して、適用しても効果がある。例えば、変倍処理や色変換処理を実行するハードウェアを持つ構成であれば、これらの画像処理のソフトウェアとハードウェアの実行を切り替えるものに適用してもよい。 In the above description, an example in which software processing and hardware processing are selectively used for JPEG decompression processing has been described. However, the present invention can be effectively applied to other image processing. For example, as long as the configuration includes hardware that executes scaling processing and color conversion processing, the present invention may be applied to a configuration that switches between execution of software and hardware of these image processing.
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能(処理対象のデータをハードウェア処理とするかソフトウェア処理とするかを決定するための処理)を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行することによって実現可能である。また、このプログラムは、1つのコンピュータで実行させても、複数のコンピュータが連動して実行するようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。 The present invention can also be realized by executing the following processing. That is, software (program) that realizes the function of the above-described embodiment (processing for determining whether data to be processed is hardware processing or software processing) is systemized via a network or various storage media. Or it supplies to an apparatus. And it is realizable when the computer (CPU, MPU, etc.) of the system or apparatus reads and runs a program. Further, this program may be executed by a single computer or may be executed in conjunction with a plurality of computers. Moreover, it is not necessary to implement all of the above-described processing by software, and part or all of the processing may be implemented by hardware.
Claims (5)
画像データをソフトウェア処理によって画像処理する第2の画像処理手段と、
第1の画像データが印刷対象として決定された場合、前記第1の画像データを前記第1の画像処理手段を用いて処理させると決定する決定手段と、
前記第1の画像データの印刷処理が開始してから終了する前に印刷の予約指示が受け付けられた場合、前記第1の画像データを表示する表示手段と、
前記表示手段により表示される対象となる画像データを前記第1の画像データから前記第1の画像データとは異なる第2の画像データに変更するための閲覧指示を検出する検出手段と、
前記閲覧指示が検出された場合、前記第2の画像データがサムネイル画像を備えるか否かを判定する判定手段を有し、
前記判定手段が前記第2の画像データがサムネイル画像を備えると判定した場合、前記決定手段は、前記第2の画像データのサムネイル画像を前記第2の画像処理手段で処理させると決定し、
前記表示手段は、前記第1の画像データの印刷が終了する前に前記第2の画像処理手段の処理結果として前記第2の画像データを表示することを特徴とする画像処理装置。 First image processing means for image processing image data by hardware processing;
Second image processing means for image processing image data by software processing;
A determining unit that determines that the first image data is to be processed using the first image processing unit when the first image data is determined to be printed;
Display means for displaying the first image data when a print reservation instruction is received before the print processing of the first image data starts and ends;
Detecting means for detecting a browsing instruction for changing the image data to be displayed by the display means from the first image data to second image data different from the first image data;
A determination means for determining whether the second image data includes a thumbnail image when the browsing instruction is detected;
If the determination means determines that the second image data includes a thumbnail image, the determination means determines that the thumbnail image of the second image data is to be processed by the second image processing means,
The image processing apparatus, wherein the display means displays the second image data as a processing result of the second image processing means before the printing of the first image data is finished.
前記サイズ判定手段の判定結果に基づき、前記第2の画像データは前記第1の画像処理手段または前記第2の画像処理手段で処理されることを特徴とする請求項1に記載の画像処理装置。 In the case where the determination unit determines that the second image data does not include a thumbnail image, the image processing unit further includes a size determination unit that determines whether the size of the image data is smaller than a predetermined size,
Based on the determination result of the previous SL size determining unit, the second image data is image processing according to claim 1, characterized in that is processed by the first image processing means or the second image processing means apparatus.
前記時間判定手段の判定結果に基づき、前記第2の画像データは、前記第1の画像処理手段または前記第2の画像処理手段で処理されることを特徴とする請求項1に記載の画像処理装置。 A time determination unit for determining a time until the first image processing unit is released when the determination unit determines that the second image data does not include a thumbnail image ;
Based on the determination result of the previous SL time determining means, said second image data, according to be processed before Symbol first image processing means or the second image processing means to claim 1, wherein Image processing device.
第1の画像データが印刷対象として決定された場合、前記第1の画像データを前記第1の画像処理手段を用いて処理させると決定し、
前記第1の画像データの印刷処理が開始してから終了する前に印刷の予約指示が受け付けられた場合、前記第1の画像データを表示し、
前記表示手段により表示される対象となる画像データを前記第1の画像データから前記第1の画像データとは異なる第2の画像データに変更するための閲覧指示を検出し、
前記閲覧指示が検出された場合、前記第2の画像データがサムネイル画像を備えるか否かを判定し、
前記第2の画像データがサムネイル画像を備えると判定された場合、前記第2の画像データのサムネイル画像を前記第2の画像処理手段で処理させると決定し、前記第1の画像データの印刷が終了する前に前記第2の画像処理手段の処理結果として前記第2の画像データを表示することを特徴とする制御方法。 A control method for an image processing apparatus, comprising: first image processing means for image processing image data by hardware processing; and second image processing means for image processing image data by software processing,
When the first image data is determined as a printing target, the first image data is determined to be processed using the first image processing unit;
If the reservation printing instruction is received before the printing process of the first image data is completed from the start to display the first image data,
Detecting a browsing instruction for changing the image data to be displayed by the display means from the first image data to second image data different from the first image data;
When the browsing instruction is detected, it is determined whether the second image data includes a thumbnail image;
When it is determined that the second image data includes a thumbnail image, it is determined that the thumbnail image of the second image data is to be processed by the second image processing unit, and the printing of the first image data is performed. A control method comprising: displaying the second image data as a processing result of the second image processing means before the end.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010148206A JP5709417B2 (en) | 2010-06-29 | 2010-06-29 | Image processing apparatus, control method therefor, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010148206A JP5709417B2 (en) | 2010-06-29 | 2010-06-29 | Image processing apparatus, control method therefor, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012015652A JP2012015652A (en) | 2012-01-19 |
JP5709417B2 true JP5709417B2 (en) | 2015-04-30 |
Family
ID=45601598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010148206A Active JP5709417B2 (en) | 2010-06-29 | 2010-06-29 | Image processing apparatus, control method therefor, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5709417B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015132914A1 (en) | 2014-03-05 | 2015-09-11 | 三菱電機株式会社 | Data compression apparatus and data compression method |
CN111279388A (en) * | 2017-10-25 | 2020-06-12 | 株式会社索思未来 | Moving image processing device, moving image processing system, and moving image processing method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000050084A (en) * | 1998-07-28 | 2000-02-18 | Canon Inc | Picture processor, picture processing method and sotrage medium |
JP4908697B2 (en) * | 2001-08-31 | 2012-04-04 | キヤノン株式会社 | Image processing apparatus, image processing control method, storage medium, and program |
JP2009044547A (en) * | 2007-08-09 | 2009-02-26 | Sharp Corp | Image processor and image processing method |
JP4586932B2 (en) * | 2009-11-06 | 2010-11-24 | セイコーエプソン株式会社 | Image data management apparatus, image data management method, and medium on which image data management program is recorded |
-
2010
- 2010-06-29 JP JP2010148206A patent/JP5709417B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012015652A (en) | 2012-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5415750B2 (en) | Information processing apparatus, information processing method, program, and information processing system | |
JP7171218B2 (en) | PRINT CONTROL DEVICE, CONTROL METHOD AND PROGRAM | |
JPH09265363A (en) | Device and method for processing printing | |
US20080117450A1 (en) | Methods and systems rendering a print job | |
JP2008042401A (en) | Information processing apparatus and information processing method | |
JP4543945B2 (en) | Printing system, control method therefor, and print management program | |
JP5709417B2 (en) | Image processing apparatus, control method therefor, and program | |
JP2014110597A (en) | Image processing device, method for displaying preview image, and program | |
JP6772020B2 (en) | Image processing device, control method of image processing device, and program | |
JP5244770B2 (en) | Image forming apparatus | |
JP4964219B2 (en) | Image processing apparatus, method, and program | |
US9558432B2 (en) | Buffer management technology in image forming apparatus | |
JP4425837B2 (en) | Image forming apparatus | |
JP4060233B2 (en) | Task control for print processing | |
JP2002247266A (en) | Image forming system | |
JP3603510B2 (en) | Image processing device | |
JP5676939B2 (en) | Image processing apparatus, control method therefor, and program | |
JP2019161420A (en) | Information processing system, information processing device, information processing method, and program | |
JP5168220B2 (en) | Image forming apparatus | |
JPH09204277A (en) | Print processing system | |
JP7139819B2 (en) | Information processing device, image forming device and program | |
JP4065194B2 (en) | Image forming apparatus | |
AU753442B2 (en) | Printing method and apparatus having multiple raster image processors | |
JP2008139968A (en) | Image processor and program | |
JP3951083B2 (en) | Network printer and network printing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150119 |
|
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: 20150203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150303 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5709417 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |