JP5709417B2 - Image processing apparatus, control method therefor, and program - Google Patents

Image processing apparatus, control method therefor, and program Download PDF

Info

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
Application number
JP2010148206A
Other languages
Japanese (ja)
Other versions
JP2012015652A (en
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010148206A priority Critical patent/JP5709417B2/en
Publication of JP2012015652A publication Critical patent/JP2012015652A/en
Application granted granted Critical
Publication of JP5709417B2 publication Critical patent/JP5709417B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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).

特開2003−78769号公報JP 2003-78769 A

特許文献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.

実施形態の画像処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image processing apparatus of embodiment. 画像処理装置のプログラムの構成を示す図である。It is a figure which shows the structure of the program of an image processing apparatus. 画像処理装置による処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by an image processing apparatus. 画像処理装置による処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by an image processing apparatus. 画像処理装置による処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by an image processing apparatus. 画像処理装置による処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by an image processing apparatus. 画像処理装置による処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by an image processing apparatus. 本実施形態の処理を行った場合と行わなかった場合との処理速度を示す図である。It is a figure which shows the processing speed with the case where it does not perform when the process of this embodiment is performed. 本実施形態の処理を行った場合と行わなかった場合との処理速度を示す図である。It is a figure which shows the processing speed with the case where it does not perform when the process of this embodiment is performed. 画像処理装置による処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by an image processing apparatus. 画像処理装置による処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by an image processing apparatus.

以下、本発明を実施するための形態について図面を用いて説明する。   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 operation unit 101 includes hard keys and soft keys and accepts various operations by a user. The card interface 102 can set a memory card, and can input image data stored in the set memory card in accordance with an instruction from the operation unit 101. The reading unit 103 includes a CCD, which reads an original image and outputs analog luminance data of red (R), green (G), and blue (B) colors. The printing unit 104 prints an image by applying a recording agent such as ink or toner on the recording sheet according to the input image data.

CPU200はROM201に記憶されている制御命令プログラムや画像処理プログラム等をRAM202にロードし、それを実行することによって画像処理装置の動作を制御する。JPEG伸張ハードウェア203はJPEG圧縮された画像データを伸張処理することができるハードウェアモジュールである。JPEG伸張ハードウェア203は、JPEG圧縮されたデータの検索、伸張や回転に必要な情報の収集などを行い、画像データを90度単位で回転して伸張することも可能である。表示部204は操作部101の操作状態、画像処理装置の各種状態などユーザに通知すべき種々の情報を表示可能である。   The CPU 200 loads a control command program, an image processing program, and the like stored in the ROM 201 into the RAM 202 and executes them to control the operation of the image processing apparatus. The JPEG decompression hardware 203 is a hardware module that can decompress JPEG-compressed image data. The JPEG decompression hardware 203 can search for JPEG-compressed data, collect information necessary for decompression and rotation, etc., and can also decompress the image data in units of 90 degrees. The display unit 204 can display various information to be notified to the user, such as the operation state of the operation unit 101 and various states of the image processing apparatus.

図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 ROM 201.

アプリケーション制御部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 application control unit 301 is a control program that issues a job in response to a user instruction input via the operation unit 101. The print job control unit 302 is a control program that controls processing for causing the printing unit 104 to print the generated image data. The display job control unit 303 is a control program that controls processing for causing the display unit 204 to display generated image data. The quantization processing unit 304 is an image processing program that performs halftone processing on image data in a form suitable for the form to be printed by the printing unit 104. The JPEG processing unit 305 is an image processing control program that controls the JPEG decompression hardware 203 and the JPEG decompression software 308. The color conversion processing unit 306 is an image processing program that performs color conversion of image data. The scaling processing unit 307 is an image processing program that performs scaling of image data. The JPEG decompression software 308 is an image processing program having a function of decompressing compressed data in a JPEG image. The JPEG decompression software 308 also has a JPEG analysis / decompression function that retrieves all compressed data in a JPEG image and collects information necessary for rotational decompression. The JPEG decompression software 308 can decompress the image data by rotating it 90 degrees after the JPEG decompression software 308 has executed the JPEG analysis / decompression function. The JPEG analysis / decompression function is a function that searches all compressed data in a JPEG image and collects information necessary for rotational expansion. The JPEG processing unit 305, the color conversion processing unit 306, and the scaling processing unit 307 are shared so that they can be called from both the print job control unit and the display job control unit. Although not shown, the application control unit 301, the print job control unit 302, the display job control unit 303, and the JPEG processing unit 305 are configured to be able to read an image file via the card interface 102.

CPU200が画像処理装置を制御する際は、図2に示したプログラム群の全てまたは一部をRAM202にロードし、それを実行することによってなされる。以降で示すフローチャートはこのプログラムに基づく処理の流れを示す。   When the CPU 200 controls the image processing apparatus, all or part of the program group shown in FIG. 2 is loaded into the RAM 202 and executed. The flowcharts shown below show the processing flow based on this program.

図3は、メモリカードからの印刷アプリケーションを制御する際のアプリケーション制御部301による処理の流れを示す。   FIG. 3 shows a flow of processing by the application control unit 301 when controlling a printing application from the memory card.

まず、S401にてカードインターフェース102を介してメモリカードにアクセスし、保存されているJPEG画像ファイルの検索を行い、画像ファイルごとに画像IDを生成し画像ファイル名を付加したファイルリストを生成する。本実施形態においては、画像ファイルの検索がなされると、各画像ファイルに対して画像ID(1〜N)を割り当て、それと画像ファイルのファイル名とを対応付けたファイルリストを生成しRAM202上に記憶する。なお、本実施形態で扱う画像ファイルはデジタルスチルカメラで撮影した際の種々の情報を含むExif形式のJPEGファイルとする。   First, in step S401, the memory card is accessed via the card interface 102, a stored JPEG image file is searched, an image ID is generated for each image file, and a file list with an image file name added is generated. In the present embodiment, when an image file is searched, an image ID (1 to N) is assigned to each image file, and a file list in which the image ID is associated with the image file is generated on the RAM 202. Remember. Note that the image file handled in the present embodiment is an Exif format JPEG file including various types of information captured by a digital still camera.

次に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 job control unit 303. Thereafter, the determinations in S403 and S404 are repeated in order to receive a user instruction via the operation unit 101. In S403, it is confirmed whether or not the user has instructed browsing of the image next to the image data currently being displayed or being displayed. If the next image browsing instruction is detected by the user, in S402, a display job for the image with the image ID = 2, which is the next image on the file list, is issued to the display job control unit 303, and again. Wait for instructions in S403 and S404. If an instruction to browse the next image is not detected in S403, it is detected in S404 whether or not a print image is designated by the user. When the print image is designated by the user, the image with the image ID = 2 currently being displayed or being displayed is determined as a print target, and S404 is executed.

そして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 display unit 204 displays a screen indicating that the image data of image ID = 2 that last issued the display job or the image ID = 2 is being displayed. Next, when an instruction to browse the next image data is detected in step S403, a display job control unit displays a display job for the image with the image ID = 3 that is the next image on the file list in S402. The process waits for instructions in S403 and S404 again. Thereafter, when the user designates an image with an image ID = 3 as a print target in S405 and is set to print two copies in S405, the image ID == to the print job control unit in S406. A print job is issued so that two copies of the three images are printed. Thereafter, if there is no reservation instruction from the user, S407 and S408 are repeated. Three copies of image ID = 2 for which print jobs have been issued so far are printed, and when two copies of image ID = 3 have been printed, the end of all print jobs is detected in S408, and S403 is executed. At this stage, the display unit 204 displays a screen indicating that the image data with the image ID = 3 that lastly issued the display job or the image data with the image ID = 3 is being displayed. When the control of the application control unit 301 is configured as described above, the user can make a reservation instruction to print a different image even when the image is being printed.

図4は、図3におけるS402にて発行された表示ジョブを受け付けた表示ジョブ制御部303の処理の流れを示したフローチャートである。ここでは、初めに画像ID=1に対する表示ジョブを受け付けた後に、画像ID=2に対する画像表示ジョブを受け付け、最後に画像ID=3に対する表示ジョブを受け付ける場合の例を示す。   FIG. 4 is a flowchart showing the flow of processing of the display job control unit 303 that has received the display job issued in S402 in FIG. Here, an example is shown in which after a display job for image ID = 1 is received first, an image display job for image ID = 2 is received, and finally a display job for image ID = 3 is received.

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 display unit 204 displays a screen indicating that image display processing is being performed. In this embodiment, the image file name of image ID = 1 is displayed on this screen. Next, the processing after S604 is executed. When the next image display job with the image ID = 2 is received during the subsequent processing execution, it is determined that there is a display job being executed in S601, and S602 is executed. Run. In step S602, control is performed to immediately end the image display job with the image ID = 1. In the following description, it is assumed that a job for image ID = 2 has been received.

次に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 card interface 102 to a predetermined area of the RAM 202. In S605, the header portion of the image data corresponding to the image ID = 2 is analyzed, and information such as the image size and quantization table necessary for JPEG expansion is collected. Also, many of the JPEG images taken with a digital still camera have thumbnail image data compressed with JPEG inside the header of the image file. Therefore, in S605, it is also detected whether or not a thumbnail image is added to the image file. If a thumbnail is added, information necessary for thumbnail expansion is also collected. Here, it is assumed that a thumbnail image is added to the image file with the image ID = 2.

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 RAM 202, and the thumbnail image in the file with the image ID = 2 is read from the card interface 102 and stored in the JPEG decompression input buffer. Further, the fact that the thumbnail image has been read is stored. It is assumed that the JPEG decompression input buffer secures an area where at least all compressed thumbnail images can be stored. In step S609, it is determined whether JPEG decompression is to be executed by software or hardware.

図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 JPEG processing unit 305 is requested to perform JPEG decompression using the JPEG decompression software 308 and waits for the request to be completed. Note that, depending on the image size after decompression, there may be a case where it is difficult to secure an area enough to store the entire image data after decompression. Therefore, in the present embodiment, the number of lines that can store the decompressed image data is N units. A processing request shall be made.

次に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 display unit 204. In step S <b> 614, the color conversion processing unit 306 performs color conversion into a format suitable for the display unit 204. The color conversion processing unit 306 performs conversion into the device color space of the display unit using, for example, matrix calculation or table reference.

続いて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 display unit 204, and the image processed image data is displayed on the display unit 204.

続いて、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 RAM 202, and main image data in the file with the image ID = 2 is read from the card interface 102 and stored in the JPEG decompression input buffer. When the size of the main image data is larger than the size that can be secured by the JPEG decompression input buffer, it is assumed that the main image data is read from the beginning to the size of the JPEG decompression input buffer.

次に、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 JPEG processing unit 305 is requested to perform JPEG decompression of the number N of lines that can be accommodated in the decompressed image data storage area using the JPEG decompression hardware 203, and waits for the request to be completed. Thereafter, as in the case of displaying thumbnail images, S613, S614, and S615 are executed, and a series of image processing is repeatedly executed on the main image data until the entire image processing is completed.

S616では画像処理済みの画像データを表示部204に転送し、画像処理済の画像データが表示部204に表示されることになる。続いて、S617では今回表示した画像がサムネイル画像か否かを判断する。今回表示された画像データは、画像ID=2の主画像であるため、今回受け付けた画像ID=2に対する表示ジョブを終了する。   In step S <b> 616, the image processed image data is transferred to the display unit 204, and the image processed image data is displayed on the display unit 204. In step S617, it is determined whether the currently displayed image is a thumbnail image. Since the image data displayed this time is the main image with the image ID = 2, the display job for the image ID = 2 received this time is ended.

以上の例では、画像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 job control unit 303 as described above, when a thumbnail is included in the image file to be displayed, a series of image processing is finished and the thumbnail image is temporarily displayed on the display unit 204. . Thereafter, a series of image processing is executed on the main image, and the main image is switched to be displayed. Even when processing of the main image data takes time and it takes time until display, if the thumbnail image is displayed at high speed, the user can browse the image to be printed. In addition, since switching between processing by hardware and processing by software does not occur in one image, color unevenness does not occur in a display image even if there is a calculation error between hardware and software.

図6は、図3におけるS406にて発行された印刷ジョブを受け付けた印刷ジョブ制御部302の処理の流れを示したフローチャートである。この例では、初めに画像ID=2に対する印刷ジョブを受け付けた後に、画像ID=3に対する印刷ジョブを受け付けるものとする。   FIG. 6 is a flowchart showing a processing flow of the print job control unit 302 that has received the print job issued in S406 in FIG. In this example, it is assumed that after a print job for image ID = 2 is first received, a print job for image ID = 3 is received.

まず、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 card interface 102 into a predetermined area of the RAM 202. Further, the header portion of the image data corresponding to S805 image ID = 2 is analyzed, and information such as the image size and quantization table necessary for JPEG decompression is collected. Here, in the header analysis of the print job, only the information necessary for decompressing the main image is collected without determining whether or not the thumbnail exists.

次に、S806では、RAM202中にJPEG伸張入力バッファを確保し、カードインターフェース102から、画像ID=2のファイル中にある主画像を読み出しJPEG伸張入力バッファに保存する。なお、JPEG伸張入力バッファが確保可能なサイズよりも主画像データのサイズが大きい場合は、主画像データの先頭から、JPEG伸張入力バッファのサイズまでを読み込むものとする。   In step S806, a JPEG decompression input buffer is secured in the RAM 202, and the main image in the file with the image ID = 2 is read from the card interface 102 and stored in the JPEG decompression input buffer. When the size of the main image data is larger than the size that can be secured by the JPEG decompression input buffer, it is assumed that the main image data is read from the beginning to the size of the JPEG decompression input buffer.

次に、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 printing unit 104 feeds paper in the longitudinal direction of printing paper during printing. Therefore, it is necessary to rotate and expand the image data to be printed by 90 degrees. In step S807, the JPEG processing unit 305 is requested to perform JPEG analysis / decompression with the JPEG decompression hardware 203 and waits for the processing to end. Next, in step S808, a request is made to output data after the 90-degree rotation and expansion have been performed using the JPEG expansion hardware 203, and the request is waited for completion.

次にS809で、印刷用紙902のサイズ及び印刷部104の印刷解像度に適したサイズに画像データの拡大もしくは縮小を変倍処理部307にて行う。なお本実施形態において印刷部104は、16ライン単位に印刷処理を行うものとする。よって、S808では変倍処理部307が16ライン出力するために必要十分なライン数であるMライン単位で処理要求を行うものとし、変倍処理部307はS809においては、16ラインのデータを出力するものとする。さらに、S810では、印刷部104に適した色空間にすべく色変換を色変換処理部306にて行う。例えば、マトリクス演算や、テーブル参照を用いて、印刷部104のデバイス色空間への変換を行う。   In step S <b> 809, the scaling processing unit 307 enlarges or reduces the image data to a size suitable for the size of the printing paper 902 and the printing resolution of the printing unit 104. In the present embodiment, the printing unit 104 performs printing processing in units of 16 lines. Therefore, in S808, it is assumed that a processing request is made in units of M lines, which is the number of lines necessary and sufficient for the scaling processing unit 307 to output 16 lines, and the scaling processing unit 307 outputs 16 lines of data in S809. It shall be. In step S <b> 810, the color conversion processing unit 306 performs color conversion so that the color space is suitable for the printing unit 104. For example, conversion to the device color space of the printing unit 104 is performed using matrix calculation or table reference.

次に、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 printing unit 104 is performed. In step S812, data is transmitted to the printing unit 104 so as to print the dot data for 16 lines generated in step S811. In step S813, it is detected whether or not printing of all image data has been completed. If unprinted data remains, it is determined to execute a series of processes from step S808 to step S812. When printing of all the image data is completed, it is checked in S814 whether or not printing of all the numbers has been completed. If printing of all the numbers has been completed, control is performed so that the processing from S804 is executed for the remaining number of copies. I do. Since the image ID = 2 is requested to be printed in three copies, all the printing is completed by performing the processing from S804 onward three times, and S815 is executed.

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 job control unit 302 as described above, the application control unit 301 can issue a print job regardless of whether the print job control unit 302 is executing. The print job control unit 302 can take out a print job stored in the print job queue and start printing as soon as the printing process being executed is completed. In addition, since switching between processing by hardware and processing by software does not occur in one image, color unevenness does not occur in a printed image even if there is a calculation error between hardware and software.

図7は、JPEG処理部305による処理の流れを示したフローチャートである。   FIG. 7 is a flowchart showing the flow of processing by the JPEG processing unit 305.

JPEG処理部305は、処理要求を受けた場合まず、その要求がハードウェアで実行するよう指示されているか、ソフトウェアで実行するよう指示されているかをS1001で判断する。ハードウェアで実行するよう指示されている場合は、ハードウェアにて処理を実行するべく、S1002以降の処理を実行するよう、制御を行う。ソフトウェアで実行するよう指示されている場合は、ソフトウェアにて処理を実行するべく、S1002以降の処理を実行するよう制御を行う。   When receiving the processing request, the JPEG processing unit 305 first determines in S1001 whether the request is instructed to be executed by hardware or software. If an instruction is given to execute the processing by hardware, control is performed so that the processing after S1002 is executed in order to execute the processing by hardware. When instructed to be executed by software, control is performed to execute the processing from S1002 onward in order to execute the processing by software.

まず、ソフトウェアで実行するよう指示されている場合の処理について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 job control unit 303 described above, when it is determined that there is a thumbnail in S606, the case where soft JPEG expansion is requested in S611 corresponds.

ソフトウェアにて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 decompression software 308 in S1004, and the process waits until a response is returned. On the other hand, if a normal decompression request is made, a decompression request is made to the JPEG decompression software 308 in S1003 and waits until a response is returned. The JPEG decompression software 308 sequentially performs analysis decompression processing or decompression processing on the data in the JPEG decompression input buffer, and when the data on the JPEG decompression input buffer is exhausted, requests input data necessary for continued processing from the caller. On the other hand, when the process is completed without running out of data on the JPEG decompression input buffer, the caller is notified of the completion.

なお、本実施形態においては、これまで説明した中で、JPEG伸張ソフトウェア308を使用するケースはサムネイル画像の伸張処理のみである。サムネイル画像の圧縮データはJPEG伸張入力バッファに全て読み込み済みの状態で要求がかけられるため、入力データを呼び出しもとに要求することは無い。   In the present embodiment, the JPEG decompression software 308 is used only for the thumbnail image decompression process described above. Since the compressed data of the thumbnail image is requested in a state where it has already been read into the JPEG decompression input buffer, the input data is never requested from the caller.

JPEG伸張ソフトウェア308からの応答があった場合、S1005が実行される。S1005では、JPEG伸張ソフトウェア308からの応答が入力データ要求であるか、処理完了であるかを判断し、入力データ要求があった場合は、S1006を実行する。S1006ではJPEG伸張ソフトウェア308から指定された継続処理に必要な入力データを、カードインターフェース102から読み出し、JPEG伸張入力バッファに格納する。一方S1005にて、JPEG伸張ソフトウェア308からの応答が処理完了であった場合は処理を終了し、呼び出し元に終了を通知する。   If there is a response from the JPEG decompression software 308, S1005 is executed. In S1005, it is determined whether the response from the JPEG decompression software 308 is an input data request or the processing is completed. If there is an input data request, S1006 is executed. In step S1006, input data necessary for the continuation process designated from the JPEG decompression software 308 is read from the card interface 102 and stored in the JPEG decompression input buffer. On the other hand, if the response from the JPEG decompression software 308 is processing completion in S1005, the processing is terminated and the calling source is notified of the termination.

続いて、ハードウェア実行するよう指示されている場合の処理について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 decompression hardware 203 in S1011 and waits until a response is returned. On the other hand, if a normal decompression request has been made, in S1010, a decompression request is made to the JPEG decompression hardware 203 and waits until a response is returned. The JPEG decompression hardware 203 sequentially analyzes and decompresses the data in the JPEG decompression input buffer, and when the data on the JPEG decompression input buffer is exhausted, requests the caller for input data necessary for continued processing. On the other hand, when the process is completed without running out of data on the JPEG decompression input buffer, the caller is notified of the completion.

JPEG伸張ハードウェア203からの応答があった場合、S1012が実行される。S1012では、JPEG伸張ハードウェア203からの応答が入力データ要求であるか、処理完了であるかを判断し、入力データ要求があった場合は、S1013を実行する。S1013ではJPEG伸張ハードウェア203から指定された継続処理に必要な入力データを、カードインターフェース102から読み出し、JPEG伸張入力バッファに格納する。一方S1012にて、JPEG伸張ハードウェア203からの応答が処理完了であった場合はS1014にてハードウェア資源の解放を行った後に処理を終了し、呼び出し元に終了を通知する。   If there is a response from the JPEG decompression hardware 203, S1012 is executed. In S1012, it is determined whether the response from the JPEG decompression hardware 203 is an input data request or the processing is complete. If there is an input data request, S1013 is executed. In step S1013, input data necessary for the continuation process designated from the JPEG decompression hardware 203 is read from the card interface 102 and stored in the JPEG decompression input buffer. On the other hand, if the response from the JPEG decompression hardware 203 is completed in S1012, the processing is terminated after releasing the hardware resources in S1014 and the termination is notified to the caller.

JPEG処理部305を以上のような構成としたことで、ハードウェアによる処理要求であっても、ソフトウェアによる処理要求であっても、適切に処理を切り分けて実行することが可能となる。また、ハードウェアの資源管理を適切に行っているため、JPEG伸張ハードウェア203は常に1つの処理要求を満たす機能を持つだけでよい。   By configuring the JPEG processing unit 305 as described above, it is possible to appropriately divide and execute processing regardless of whether it is a processing request by hardware or a processing request by software. Further, since hardware resource management is appropriately performed, the JPEG decompression hardware 203 need only have a function that always satisfies one processing request.

次に、本実施形態の処理による処理効率について説明する。   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 JPEG decompression hardware 203 takes 0.01 seconds for a compressed image data size of 50 Kbytes. The processing capability of the JPEG decompression software 308 is about 1/10 that of JPEG decompression hardware, and the compressed image data size takes 0.1 second per 50 Kbytes.

図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 job control unit 303 issues a JPEG expansion request for a thumbnail image for image ID = 3 immediately after the print job control unit 302 makes a JPEG analysis / decompression request for image ID = 2. Show.

なお、画像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 job control unit 303 issues a JPEG decompression request for the main image for image ID = 3 immediately after the print job control unit 302 makes a JPEG analysis / decompression request for image ID = 2. If you are in a situation. Each of T1201 to T1205 represents the time when an event described later occurs. This represents the time when the JPEG analysis / decompression request for the main image with the image ID = 2 is made. T1202 represents the time at which a JPEG decompression request is made for the main image with the image ID = 3 in the display job. T1203 represents the time when the processing for the JPEG analysis / decompression request for the main image with the image ID = 2 is completed.

図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 JPEG decompression software 308 is 0.1 seconds per 50 KB of compressed image data. In such a case, the threshold value is 250 KBytes.

図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 JPEG expansion software 308. Therefore, regardless of the hardware occupation status, the decompression process is completed within 0.5 seconds, which is known not to give stress to the user.

また、250KByteより大きいサイズであれば、JPEG伸張ハードウェア203にて実行される。そのため、JPEG伸張ハードウェア203が解放される時間が加算されるものの、巨大なデータをJPEG伸張ソフトウェア308にて実行することを防ぐことが可能となる。   If the size is larger than 250 KBytes, it is executed by the JPEG decompression hardware 203. Therefore, although the time for releasing the JPEG expansion hardware 203 is added, it is possible to prevent the JPEG expansion software 308 from executing huge data.

即ち、図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 decompression software 308 is always 100%, but a predetermined value may be added, subtracted, multiplied, or divided. For example, a method can be considered that takes into account the competition of the CPU 200 executing JPEG decompression software. Since the print job and the display job are executed at the same time, if the time that the CPU 200 allocates to the display job is halved, a method of setting 125 Kbytes obtained by adding 1/2 to 250 Kbytes as a threshold value can be considered.

次に、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 JPEG decompression software 308 and the JPEG decompression hardware 203 are the same as those described above, for example. For example, if the JPEG decompression hardware 203 has finished processing the 3 MByte data out of the 5 MByte data, the time required to process the remaining 2 MByte data is 0.4 seconds. When hardware is not occupied, the time is 0 second.

次に、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 JPEG decompression hardware 203 obtained from the size of the image data to be processed and the predicted value of the time required to release the JPEG decompression hardware 203 acquired in S1401. Find it. For example, when decompressing 100 Kbytes of data, it takes 0.02 seconds due to the processing capability of the JPEG decompression hardware 203. That is, 0.42 seconds obtained by adding the hardware release waiting time of 0.4 seconds and the hardware execution time of 0.02 seconds is the time required for processing when the JPEG decompression hardware 203 is used. The JPEG decompression software 308 can process 210 Kbytes in 0.42 seconds because of its processing capability, so 210 Kbytes is set as a threshold value.

そして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 decompression hardware 203 is released. Therefore, the processing delay time is shortened, and software and hardware can be used more efficiently depending on the situation. Here, only the remaining occupation time of the occupied hardware is considered in obtaining the threshold value, but the time required for reading the image data may be added. As shown in FIG. 10, the image data is read in S1013 while the hardware resource is acquired, and the image data read time is added to the hardware occupation time. If a job that is occupied by hardware does not read all the image data, the time required for reading the unread data can be obtained from the unread data size and the file reading capability, and used for threshold calculation. In this case, the time required for reading the unread data may be added to the remaining occupied time of the occupied hardware obtained in S1401. For example, when the processing time of the hardware is sufficiently high and only the time required for reading the image data becomes a problem, only the unread data size of the job occupied by the hardware may be used. Furthermore, in order to achieve a simpler configuration, switching between hardware and software may be performed only by determining whether there is unread data. For example, when a job occupied by hardware has unread data, a method of executing software processing can sufficiently achieve the effect.

なお、以上のように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)

画像データをハードウェア処理によって画像処理する第1の画像処理手段と、
画像データをソフトウェア処理によって画像処理する第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の画像データが前記判定手段によりサムネイル画像を備えないと判定された場合、画像データのサイズが所定のサイズより小さいか否かを判定するサイズ判定手段を更に有し、
記サイズ判定手段の判定結果に基づき、前記第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の画像処理手段または前記第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の画像処理手段と画像データをソフトウェア処理によって画像処理する第2の画像処理手段とを有する画像処理装置の制御方法であって、
第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.
請求項に記載の画像処理装置の制御方法をコンピュータにより実現するためのプログラム。 A program for realizing the control method of the image processing apparatus according to claim 4 by a computer.
JP2010148206A 2010-06-29 2010-06-29 Image processing apparatus, control method therefor, and program Active JP5709417B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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