JP2010057058A - Image processing apparatus, image processing method, and program - Google Patents

Image processing apparatus, image processing method, and program Download PDF

Info

Publication number
JP2010057058A
JP2010057058A JP2008221727A JP2008221727A JP2010057058A JP 2010057058 A JP2010057058 A JP 2010057058A JP 2008221727 A JP2008221727 A JP 2008221727A JP 2008221727 A JP2008221727 A JP 2008221727A JP 2010057058 A JP2010057058 A JP 2010057058A
Authority
JP
Japan
Prior art keywords
code
image
index
information
index code
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.)
Granted
Application number
JP2008221727A
Other languages
Japanese (ja)
Other versions
JP5211941B2 (en
Inventor
裕太 ▲濱▼田
Yuta Hamada
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008221727A priority Critical patent/JP5211941B2/en
Publication of JP2010057058A publication Critical patent/JP2010057058A/en
Application granted granted Critical
Publication of JP5211941B2 publication Critical patent/JP5211941B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing apparatus, image processing method and program for highly accurately recognizing, from an image including encoded code information, the code information in a short period of time. <P>SOLUTION: The image processing apparatus 300 includes: a graphic engine 314 for creating print data of an electronic document to which one or more encoded code images are added, and creating plotting data from the electronic document; and a creation section 330 for an image with an index code, for reading a code image from the plotting data, decoding the code image, acquiring from a decoding result a coding type of the code image, range information and rotating angle to create code arrangement information, encoding the code arrangement information into an index code image to create the index code image, and compositing the index code image to the plotting data to create an image with an index code. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、画像処理技術に関し、より詳細には、符号化されたコード情報を含む画像からコード情報を、高精度かつ短時間で認識する画像処理装置、画像処理方法、およびプログラムに関する。   The present invention relates to an image processing technique, and more particularly to an image processing apparatus, an image processing method, and a program for recognizing code information from an image including encoded code information with high accuracy and in a short time.

近年、画像処理装置が処理する画像データは、画像の利用制限、検索その他画像を特徴付けるためのコード情報を含むものも知られている。これらのコード情報は、画像ファイルのヘッダ情報など適切な領域に記述することもできるし、出力後の画像上の画像認識に影響を与えない箇所に、バーコード、2次元バーコードなどのコード情報として出力させることもできる。画像処理装置は、コード情報を含んだ印刷物をスキャナなどで読取った場合、コード情報をデコードして、画像処理装置が利用するべき制御データを生成し、当該印刷物の複製、編集、画像転送など画像処理装置上で、印刷物の画像を利用する各種処理(以下、本発明における画像処理として参照する。)の制御を行う。   2. Description of the Related Art In recent years, image data processed by an image processing apparatus is also known that includes code information for characterizing images, such as image usage restrictions, searches, and the like. These code information can be described in an appropriate area such as header information of an image file, and code information such as a barcode and a two-dimensional barcode is provided at a location that does not affect image recognition on the output image. Can also be output. When a printed material including code information is read by a scanner or the like, the image processing device decodes the code information to generate control data to be used by the image processing device, and reproduces, edits, and transfers images of the printed material. Various processing (hereinafter referred to as image processing in the present invention) that uses an image of a printed matter is controlled on the processing device.

このため、印刷物からコード情報を抽出する処理が効率的に行われない場合、コード情報の取得に時間がかかり、コード情報を使用して実行される後続処理までの処理効率が低下する。また、印刷物にコード情報が付加されていても、認識精度が充分でない場合、読取り側の画像処理装置で効果的にコード情報を利用した画像処理の制御ができないという問題も発生する。   For this reason, if the process of extracting the code information from the printed material is not efficiently performed, it takes time to acquire the code information, and the processing efficiency up to the subsequent process executed using the code information is lowered. In addition, even if code information is added to the printed matter, if the recognition accuracy is not sufficient, there arises a problem that the image processing apparatus on the reading side cannot effectively control the image processing using the code information.

これまで、画像に対して各種のコード情報を追加する技術が提案されており、例えば、特開2006−211535号公報(特許文献1)、特開2005−173646号公報(特許文献2)、特開2004−303223号公報(特許文献3)を挙げることができる。特許文献1では、符号化したコード画像を処理対象ドキュメントに合成し、処理対象ドキュメント上で情報コード画像の合成位置を示す合成位置情報を符号化した位置指定コード画像を処理対象ドキュメントの所定位置に合成する画像処理装置を開示している。また、特許文献2は、入力画像を矩形ブロック単位で選択し、ブロックが所定の要件を満たしているか否かを判定し、ブロック内のコードの種類を判定するコード種類判別方法を開示している。さらに、特許文献3は、2次元的に情報を記憶した長方形のパターンを含むデジタル化された文書を複数の小領域に分割し、分割された領域に対してパターン読み取りを実行させ、複数の領域から読み出した複数の情報を同時に出力する画像認識装置を開示している。
特開2006−211535号公報 特開2005−173646号公報 特開2004−303223号公報
So far, techniques for adding various types of code information to images have been proposed. For example, Japanese Patent Application Laid-Open No. 2006-121535 (Patent Document 1), Japanese Patent Application Laid-Open No. 2005-173646 (Patent Document 2), No. 2004-303223 (Patent Document 3). In Patent Document 1, an encoded code image is combined with a processing target document, and a position designation code image obtained by encoding combined position information indicating a combining position of the information code image on the processing target document is set at a predetermined position of the processing target document. An image processing apparatus to be combined is disclosed. Patent Document 2 discloses a code type determination method for selecting an input image in units of rectangular blocks, determining whether the block satisfies a predetermined requirement, and determining the type of code in the block. . Further, Patent Document 3 divides a digitized document including a rectangular pattern in which information is stored two-dimensionally into a plurality of small areas, and performs pattern reading on the divided areas to thereby execute a plurality of areas. Discloses an image recognition apparatus that simultaneously outputs a plurality of information read out from.
JP 2006-111535 A JP 2005-173646 A JP 2004-303223 A

特許文献1では、所定情報コード画像を探し出すために、同一の位置指定コードを複数の所定位置に配置する。また、複数位置に配置された異なる位置指定コードを使用して所定情報コード画像を探し出す技術を開示している。特許文献1では、所定情報コード画像の位置が指定されるのみであり、複数のコード情報が存在する場合について対応できるものではない。また、位置指定コードを複数読み込ませる場合、位置指定コードのみでは、2次元的な広がりを有するコード画像の範囲を取得することができず、指定されたコード画像が存在する可能性のある領域全体をトライアンドエラー的に読出し、デコードして当該コード画像が与えるコード情報がEOFを与えるまで、網羅的に処理しなければならないという問題もある。すなわち、位置指定コードは、画像データ中に埋設されたコード画像の位置を指定するために利用されるものである。しかしながら、コード画像がさらにデコード処理を伴ってコード情報を提供するフォーマットで記録されている場合、位置指定のみでは、印刷物の読取り角度、ズレなどがある場合、についても充分な精度でコード情報を提供できない場合もあるという問題点もあった。さらに特許文献1に記載の技術は、予めコンテンツとして電子文書に一般コードが存在する場合には対応できず、汎用的な電子文書作成アプリケーションによって作成された電子文書に対しては適用できないという問題点があった。   In Patent Document 1, in order to search for a predetermined information code image, the same position designation code is arranged at a plurality of predetermined positions. Also disclosed is a technique for searching for a predetermined information code image using different position designation codes arranged at a plurality of positions. In Patent Document 1, only the position of the predetermined information code image is specified, and the case where a plurality of code information exists cannot be dealt with. In addition, when a plurality of position designation codes are read, a range of code images having a two-dimensional spread cannot be obtained with only the position designation codes, and the entire area in which the designated code images may exist There is also a problem that exhaustive processing must be performed until the code information given by the code image gives EOF after being read out in a trial-and-error manner. That is, the position designation code is used for designating the position of the code image embedded in the image data. However, if the code image is recorded in a format that provides code information with further decoding processing, the code information can be provided with sufficient accuracy even when there is a reading angle or misalignment of the printed matter only by specifying the position. There was also a problem that sometimes it was not possible. Furthermore, the technique described in Patent Document 1 cannot cope with a case where a general code exists in the electronic document as content in advance, and cannot be applied to an electronic document created by a general-purpose electronic document creation application. was there.

また、特許文献2および特許文献3では、画像を分割し、分割された領域から取得した情報を使用してコード種類およびコード情報を取得する。特許文献2および特許文献3に記載された方法は、コード種類の決定およびデコード処理によるコード情報の取得を可能とするものの、印刷画像の全体を処理してからでなければエンコード種類およびデコード処理ができない点、およびコード情報の認識は、目的の画像を構成する画像ドットからコード情報を提供するドットを識別しながら、トライアンドエラー的にドットを抽出して実行しなければならないという点で、精度、コード画像の領域識別性、コード画像の認識開始からデコード完了までの速度といった点で充分ではなかった。   Moreover, in patent document 2 and patent document 3, an image is divided | segmented and a code kind and code information are acquired using the information acquired from the divided | segmented area | region. Although the methods described in Patent Document 2 and Patent Document 3 enable determination of code type and acquisition of code information by decoding processing, encoding type and decoding processing must be performed after the entire print image is processed. The point that cannot be recognized and the code information is recognized in that it must be executed by extracting dots in a trial-and-error manner while identifying the dots that provide the code information from the image dots constituting the target image. However, the area identification of the code image and the speed from the start of recognition of the code image to the completion of decoding are not sufficient.

また、コード情報を記録する場合、画像データの認識性を低下させないように、画像データとの関係でコード情報のサイズが変動する可能性もある。この様な場合、従来の技術では、コード情報の位置を指定する点は開示するものの、コード情報が画像データ中でどの範囲に広がっているのかについては何ら開示するものではなく、高精度かつ高速のデコード処理を実行するためには、コード情報が画像データ中に占める空間的領域を指定することが必要とされていた。   In addition, when code information is recorded, the size of the code information may vary depending on the relationship with the image data so as not to deteriorate the recognizability of the image data. In such a case, the conventional technology discloses the point of specifying the position of the code information, but does not disclose what range the code information is spread in the image data, and is highly accurate and high speed. In order to execute this decoding process, it is necessary to designate a spatial area occupied by the code information in the image data.

本発明は、上記従来技術の問題点に鑑みてなされたものであり、本発明では、画像処理装置は、画像データが含むコード画像のコーディング種類、範囲情報、および回転角度を、コード画像と対として登録するコード配置情報を作成する。コード配置情報は、複数のコード画像が画像データに含まれる場合でも対応できるように、コード配置情報リストとして作成される。コード配置情報リストは、画像処理装置が設定するコーディング種類を使用してインデックスコード画像へとエンコードされる。エンコード後のインデックスコード画像は、描画データの画像描画を行う描画コマンドに対応付けられた付属データに、インデックスコード画像、位置、サイズなどが追加されて、描画データに合成され、インデックスコード付画像が生成される。インデックスコード付画像は、ページ記述言語を使用して印刷データとされ、プリンタ制御言語を使用して駆動される画像形成エンジンを介して印刷物とされる。   The present invention has been made in view of the above problems of the prior art. In the present invention, the image processing apparatus compares the coding type, range information, and rotation angle of the code image included in the image data with the code image. Create code placement information to be registered as The code arrangement information is created as a code arrangement information list so as to cope with a case where a plurality of code images are included in the image data. The code arrangement information list is encoded into an index code image using a coding type set by the image processing apparatus. The encoded index code image is added to the attached data associated with the drawing command for drawing the drawing data image, and the index code image, position, size, etc. are added to the drawing data, and the index code image is combined. Generated. The image with the index code is set as print data using a page description language, and is printed through an image forming engine driven using a printer control language.

印刷物は、スキャナなどの画像読取り装置を使用して読取られ、コード画像をデコードして生成される制御情報を使用して画像処理を制御する画像処理装置によって画像処理を制御するために利用される。画像処理装置は、インデックスコード付き画像からインデックスコードをデコードし、デコードが成功した場合に、デコード結果としてコード配置情報を作成する。作成されたコード配置情報は、画像処理装置がその制御に利用するための一般コード情報を作成するために利用される。一般コード情報は、画像処理装置が実装するアプリケーションプログラムに送られて、アプリケーションプログラムが以後の処理を制御する。   The printed material is read using an image reading device such as a scanner, and is used to control image processing by an image processing device that controls image processing using control information generated by decoding a code image. . The image processing apparatus decodes an index code from an image with an index code, and creates code arrangement information as a decoding result when the decoding is successful. The generated code arrangement information is used for generating general code information to be used for control by the image processing apparatus. The general code information is sent to an application program installed in the image processing apparatus, and the application program controls the subsequent processing.

本発明の画像処理装置は、インデックスコード付画像を生成する形態として実装することができる。また、本発明の画像処理装置は、インデックスコード付画像から、インデックスコード画像をデコードし、デコード結果を使用してアプリケーション制御データなどを提供する一般コード情報をデコードすることによって画像処理を制御する画像処理装置としても実装することができる。   The image processing apparatus of the present invention can be implemented as a form for generating an image with an index code. In addition, the image processing apparatus of the present invention decodes an index code image from an image with an index code, and controls image processing by decoding general code information that provides application control data and the like using the decoding result. It can also be implemented as a processing device.

さらに、画像処理装置は、上述したインデックスコード付画像を印刷物として出力し、同時にインデックスコード付画像をデコードして、一般コード情報を使用して画像処理を制御する画像処理装置としても実装することができる。   Further, the image processing apparatus can be implemented as an image processing apparatus that outputs the above-described image with an index code as a printed matter, simultaneously decodes the image with the index code, and controls image processing using general code information. it can.

また、上述した画像処理装置は、複写機、多機能複写機として実装できるほか、パーソナルコンピュータとしても実装することができる。   Further, the above-described image processing apparatus can be mounted as a copying machine, a multifunction copying machine, or a personal computer.

さらに本発明では、上述した画像処理装置が実行する画像処理方法およびプログラムを提供する。   Furthermore, the present invention provides an image processing method and program executed by the above-described image processing apparatus.

本発明によれば、符号化されたコード情報を高精度かつ高速にデコードすることを可能とするインデックスコード付画像を、電子ドキュメントに追加して外部出力することが可能な画像処理装置、画像処理方法、およびプログラムを提供することができる。また、本発明によれば、インデックスコード付画像を取得して高精度・高速に制御データなどを含む一般コード情報をデコードし、以後の画像処理の制御のために提供することが可能な、画像処理装置、画像処理方法、およびプログラムを提供することができる。   According to the present invention, an image processing apparatus and an image processing device capable of adding an image with an index code that enables decoding of encoded code information with high accuracy and high speed to be output to an electronic document. Methods and programs can be provided. Further, according to the present invention, it is possible to obtain an image with an index code, decode general code information including control data with high accuracy and high speed, and provide it for control of subsequent image processing. A processing apparatus, an image processing method, and a program can be provided.

以下、本発明を実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。図1は、本実施形態の画像処理装置の実施形態のハードウェア機能ブロックを示す。図1に示す実施形態では、画像処理装置は、パーソナルコンピュータ100として実装される。パーソナルコンピュータ100は、中央処理装置(CPU)102と、各種制御プログラムや各種データなどを記憶するROM/RAMといった固体記憶素子104とを備えており、CPU102がアプリケーションを実行するためのデータを提供するとともに、アプリケーションの実行空間を提供している。パーソナルコンピュータ100は、さらにHDD106を備えており、HDD106は、CPU102が実行する各種アプリケーションプログラムや各種データを記憶する。   Hereinafter, although this invention is demonstrated with embodiment, this invention is not limited to embodiment mentioned later. FIG. 1 shows hardware functional blocks of an embodiment of the image processing apparatus of this embodiment. In the embodiment shown in FIG. 1, the image processing apparatus is implemented as a personal computer 100. The personal computer 100 includes a central processing unit (CPU) 102 and a solid-state storage element 104 such as a ROM / RAM that stores various control programs and various data, and provides data for the CPU 102 to execute an application. In addition, it provides an execution space for applications. The personal computer 100 further includes an HDD 106, which stores various application programs executed by the CPU 102 and various data.

また、パーソナルコンピュータ100は、外部装置とのデータ通信を制御する通信部108を備えている。通信部108は、特に限定されるものではなく、例えば、USB、SCSI、IEEE1294などのバスラインを介するシリアル/パラレル通信のための通信部として構成することができる。また、通信部108は、ネットワークインタフェースカード(NIC)として参照されるネットワーク通信機能を備えていてもよい。通信部108が、ネットワーク通信機能を備えている場合、画像処理装置は、イーサネット(登録商標)などを介してインターネットまたはローカルエリアネットワーク(LAN)などを介して外部装置と通信することができる。   The personal computer 100 also includes a communication unit 108 that controls data communication with an external device. The communication unit 108 is not particularly limited, and can be configured as a communication unit for serial / parallel communication via a bus line such as USB, SCSI, and IEEE 1294, for example. The communication unit 108 may have a network communication function referred to as a network interface card (NIC). When the communication unit 108 has a network communication function, the image processing apparatus can communicate with an external device via the Internet or a local area network (LAN) via Ethernet (registered trademark) or the like.

また、パーソナルコンピュータ100は、ワイアドまたはワイアレスなどの適切な接続方式を使用して、液晶表示装置、CRTなどにより構成される表示装置112、マウスやキーボードなどの入力装置114が接続されていて、適切なインタフェースを介してCPU102に対して指令を行う。また、パーソナルコンピュータ100は、CPU102によるアプリケーション実行結果をユーザに対して表示している。パーソナルコンピュータ100は、さらに、CD−ROM、DVD、またはMOなどの外付けドライブ装置110を備えていて、CD−ROM、DVD、MOなどの記録媒体116との間でデータ送受信を行っている。パーソナルコンピュータ100の上述した各ハードウェア機能ブロックは、システムバスおよびI/Oバス118を介して相互通信し、パーソナルコンピュータ100に対して本実施形態の画像処理装置の機能を提供させている。   Further, the personal computer 100 is appropriately connected to a display device 112 constituted by a liquid crystal display device, a CRT, etc., and an input device 114 such as a mouse and a keyboard, using an appropriate connection method such as wireless or wireless. A command is sent to the CPU 102 via a simple interface. Further, the personal computer 100 displays an application execution result by the CPU 102 to the user. The personal computer 100 further includes an external drive device 110 such as a CD-ROM, DVD, or MO, and exchanges data with a recording medium 116 such as a CD-ROM, DVD, or MO. The hardware functional blocks described above of the personal computer 100 communicate with each other via the system bus and the I / O bus 118, and provide the personal computer 100 with the functions of the image processing apparatus of the present embodiment.

パーソナルコンピュータ100は、また、外部プリンタに印刷を実行させるためのプリンタドライバおよびフラットベッドスキャナなどのスキャナ装置を駆動するためのTWAINドライバを実装することができる。パーソナルコンピュータ100は、アプリケーションからのドライバの呼出に応じてプリンタドライバやTWAINドライバを起動して、外部プリンタを使用した印刷実行や、画像データの取り込みなどの処理を実行する。   The personal computer 100 can also be mounted with a printer driver for causing an external printer to perform printing and a TWAIN driver for driving a scanner device such as a flatbed scanner. The personal computer 100 activates a printer driver or a TWAIN driver in response to a driver call from an application, and executes processing such as execution of printing using an external printer or capturing of image data.

図2は、本実施形態の画像処理装置を、他の実施形態である複写機200として実装した場合の複写機200のハードウェア機能ブロックを示す。図2に示すように、複写機200は、コントローラ部210と、エンジン部240とを含んで構成される。コントローラ部210とエンジン部240とは、PCI(Peripheral Component Interconnect)バスで接続され、コントローラ部210の処理に対応してエンジン部240が起動される。コントローラ210は、複写機200の処理を制御し、描画、通信、ユーザからの入力を制御する。このため、コントローラ210は、CPU212を備えており、バスブリッジ214、216を介して、ROM/RAMからなる記憶部218およびASIC224にアクセスし、またI/O入力などを受領する。   FIG. 2 shows hardware functional blocks of the copying machine 200 when the image processing apparatus of this embodiment is mounted as the copying machine 200 according to another embodiment. As shown in FIG. 2, the copying machine 200 includes a controller unit 210 and an engine unit 240. The controller unit 210 and the engine unit 240 are connected by a PCI (Peripheral Component Interconnect) bus, and the engine unit 240 is activated in response to the processing of the controller unit 210. The controller 210 controls processing of the copying machine 200 and controls drawing, communication, and user input. For this reason, the controller 210 includes a CPU 212, accesses the storage unit 218 and the ASIC 224 made of ROM / RAM via the bus bridges 214 and 216, and receives I / O input and the like.

ASIC224は、複写機200の処理結果の外部出力を制御するための特定用途集積回路として構成され、コントローラ部210への入力を行うための操作パネル230からのユーザ入力を受領し、CPU212への指令を行うとともに、NVRAMなどで構成されるMEM−C220、HDDドライブ222などとの間の入出力制御を管理する。   The ASIC 224 is configured as an application specific integrated circuit for controlling the external output of the processing result of the copier 200, receives a user input from the operation panel 230 for inputting to the controller unit 210, and sends a command to the CPU 212. And also manages input / output control with the MEM-C 220, the HDD drive 222, and the like configured by NVRAM or the like.

ASIC224は、例えば、後述するスキャナエンジンが取得したデジタルデータに対して、圧縮処理を実行してファクシミリ送信データを作成し、ファックス送受信を制御するファクシミリコントロールユニット(FCU)232を制御して、ITU−T勧告によるG3またはG4などの規格でのファックス通信を実行する。入来したファクシミリデータを、画像データに伸張する処理を行い、伸張した画像データをエンジン部240に送付する処理を実行する。
また、ASIC224は、USB(Universal Serial Buss)234、IEEE1334バス236などを介して外部機器とのデータ送信を可能としている。エンジン部240は、PCIバスに接続可能なプリンタエンジンおよびスキャナエンジンを含んで構成される。
The ASIC 224 executes, for example, compression processing on digital data acquired by a scanner engine, which will be described later, to generate facsimile transmission data, and controls a facsimile control unit (FCU) 232 that controls facsimile transmission / reception to control ITU- Fax communication according to standards such as G3 or G4 according to the T recommendation is executed. A process of expanding the incoming facsimile data into image data is performed, and a process of transmitting the expanded image data to the engine unit 240 is executed.
The ASIC 224 can transmit data to an external device via a USB (Universal Serial Bus) 234, an IEEE 1334 bus 236, or the like. The engine unit 240 includes a printer engine and a scanner engine that can be connected to a PCI bus.

プリンタエンジンは、感光体ドラムやインクノズルを含むが像形成プロセスを使用する白黒プリンタまたはカラープリンタなどの印刷部(いずれも図示せず)を備える。なお、エンジン部240は、画像データを面積階調で表現するための誤差拡散やガンマ変換などの画像処理部分を含んで構成されていて、RGBの例えばそれぞれ8ビット深度のデジタル画像を、CMYK系の面積階調画像へと変換し、出力を可能とする。また、スキャナは、CCDなどを備えるラインスキャナなどとして構成することができ、原稿台に載置された印刷物を読み取ってデジタル変換し、RGBの8ビット深度の画像データを生成し、以後ASIC224などによる処理を可能としている。その他、CPU212は、計時機能を有し、現在日時を計時しており、図2に示した複写機200の機能は、より詳細に例えば特開2006−177990号公報に記載された構成として実装することができる。   The printer engine includes a printing unit (not shown) such as a black-and-white printer or a color printer that includes a photosensitive drum and ink nozzles but uses an image forming process. The engine unit 240 is configured to include an image processing part such as error diffusion and gamma conversion for expressing image data in area gradation, and converts RGB digital images of, for example, 8 bits each into CMYK systems. Are converted into an area gradation image and output is possible. Further, the scanner can be configured as a line scanner having a CCD or the like, and reads a printed matter placed on a platen and converts it into digital data to generate RGB 8-bit depth image data, and thereafter using an ASIC 224 or the like. Processing is possible. In addition, the CPU 212 has a clocking function and clocks the current date and time, and the functions of the copier 200 shown in FIG. 2 are implemented in more detail as a configuration described in, for example, Japanese Patent Laid-Open No. 2006-177990. be able to.

図3は、本実施形態の画像処理装置300のソフトウェア機能ブロックを示す。図3に示した画像処理装置300は、上述したようにパーソナルコンピュータとして実装されている。画像処理装置300は、アプリケーションが作成したデータを外部出力する印刷物出力機能部310と、印刷物をスキャナで読み取ってアプリケーションで処理するインデックスコード付画像取得部350とを含んで構成される。   FIG. 3 shows software function blocks of the image processing apparatus 300 of this embodiment. The image processing apparatus 300 shown in FIG. 3 is implemented as a personal computer as described above. The image processing apparatus 300 includes a printed material output function unit 310 that externally outputs data created by an application, and an index code-added image acquisition unit 350 that reads the printed material with a scanner and processes the data with the application.

以下、画像処理装置300の印刷物出力機能部310と、インデックスコード付画像取得部350の機能を分離して説明する。なお、印刷物出力機能部310とインデックスコード付画像取得部350は、画像処理装置300の特定の実装型式にあっては、いずれか一方のみ実装された形態とすることができる。印刷物出力機能部310は、アプリケーション312と、グラフィックエンジン314と、プリンタドライバ316と、スプーラ318とを含んで構成される。アプリケーション312は、文書データなど、複写機やプリンタに印刷させる情報を作成するために利用されるワープロソフトウェア、表計算ソフトウェア、グラフィックソフトウェアといった汎用アプリケーションである。   Hereinafter, the functions of the printed matter output function unit 310 and the index code-added image acquisition unit 350 of the image processing apparatus 300 will be described separately. Note that only one of the print output function unit 310 and the index code-added image acquisition unit 350 may be mounted in a specific mounting type of the image processing apparatus 300. The printed product output function unit 310 includes an application 312, a graphic engine 314, a printer driver 316, and a spooler 318. The application 312 is a general-purpose application such as word processing software, spreadsheet software, or graphic software that is used to create information to be printed by a copier or printer, such as document data.

また、グラフィックエンジン314は、複写機、プリンタ、ディスプレイなどのデバイスの差異を吸収した描画用の関数インタフェースをアプリケーション312に提供するモジュールである。グラフィックエンジン314は、アプリケーション312からの関数呼び出しに応じ、文書データをアプリケーション非依存の形式の、例えばEMF(Enhanced Meta File)形式などのデータに変換し、生成されたデータをプリンタドライバ316に出力するモジュールであり、OS(Operating
System)によって提供される。例えば、Windows(登録商標)、環境においては、GDI(Graphics Device Interface)がグラフィックエンジン314の機能を提供する。また、UNIX(登録商標)、LINUX(登録商標)環境では、X−ウィンドウシステムおよびDEVMODE構造体がグラフィックスエンジン314の機能を提供する。以下、グラフィックスエンジン314により生成されたデータを描画データとして参照する。
The graphic engine 314 is a module that provides the application 312 with a drawing function interface that absorbs differences between devices such as a copying machine, a printer, and a display. In response to a function call from the application 312, the graphic engine 314 converts the document data into data in an application-independent format, such as an EMF (Enhanced Meta File) format, and outputs the generated data to the printer driver 316. Module, OS (Operating
System). For example, in the Windows (registered trademark) environment, GDI (Graphics Device Interface) provides the function of the graphic engine 314. In the UNIX (registered trademark) and LINUX (registered trademark) environments, the X-window system and the DEVMODE structure provide the functions of the graphics engine 314. Hereinafter, the data generated by the graphics engine 314 is referred to as drawing data.

プリンタドライバ316は、本実施形態では、印刷データ作成手段として機能し、グラフィックエンジン314によって出力された描画データを、当該プリンタドライバ316が出力対象の複写機またはプリンタが処理可能な形式、例えばPDL(Page Description Language)、以下「印刷データ」として参照する。)に変換する。描画データから印刷データを作成する処理は、従来と同様の処理を使用する。しかしながら、本実施形態におけるプリンタドライバ316は、描画データを印刷データに変換する処理中に、描画データをインデックスコード付画像作成手段として機能するインデックスコード付画像作成部330に渡し、描画データに追加するコード情報の描画データ中での領域を示すインデックスコードを生成させる。その後、インデックスコード付画像作成部330は、インデックスコードを元の描画データに付加してプリンタドライバ316に戻し、インデックスコード付の描画データを印刷データに変換する処理を実行する。   In this embodiment, the printer driver 316 functions as a print data creation unit, and the drawing data output by the graphic engine 314 can be processed by the copier or printer to be output by the printer driver 316, for example, PDL ( Page Description Language), hereinafter referred to as “print data”. ). The process for creating the print data from the drawing data uses the same process as the conventional one. However, the printer driver 316 in the present embodiment passes the drawing data to the index code-added image creating unit 330 that functions as an index code-added image creating unit during the process of converting the drawing data into print data, and adds the drawing data to the drawing data. An index code indicating an area in the drawing data of the code information is generated. Thereafter, the index code-added image creation unit 330 adds the index code to the original drawing data and returns it to the printer driver 316, and executes processing for converting the drawing data with the index code into print data.

スプーラ318は、印刷ジョブを記憶しておき、印刷データを、印刷指令の順にプリントアウトできるようにするキュー手段として機能するモジュールである。スプーラ318は、プリンタドライバ316から印刷データを受取り、画像形成エンジン320へと印刷データの受領した順で印刷データを送る。なお、画像形成エンジン320は、複写機、プリンタなど画像形成機能を提供する機能部を総称するものとして参照する。   The spooler 318 is a module that functions as a cue unit that stores print jobs and enables print data to be printed out in the order of print commands. The spooler 318 receives print data from the printer driver 316 and sends the print data to the image forming engine 320 in the order in which the print data is received. Note that the image forming engine 320 is referred to as a generic term for functional units that provide an image forming function such as a copying machine and a printer.

なお、機能説明を明確化する目的から、プリンタドライバ316と、インデックスコード付画像作成部330とを異なる機能モジュールとして説明するが、インデックスコード付画像作成部330は、プリンタドライバ316の機能モジュールとして実装することもできる。   For the purpose of clarifying the function description, the printer driver 316 and the index code-added image creation unit 330 will be described as different functional modules. However, the index code-added image creation unit 330 is implemented as a function module of the printer driver 316. You can also

以下、インデックスコード付画像作成部330の処理について説明する。インデックスコード付画像作成部330は、描画データを受取り、ユーザが当該描画データに追加することを指令したコード情報について、エンコード種類、描画データ中での領域範囲を示す範囲情報、および画像の回転角度などの要素情報をエンコードして、インデックスコード画像とし、当該インデックスコード画像を付加した描画データを生成するモジュールである。   Hereinafter, processing of the index code-added image creation unit 330 will be described. The index code-added image creation unit 330 receives the drawing data, and for the code information that the user commands to add to the drawing data, the encoding type, the range information indicating the area range in the drawing data, and the rotation angle of the image This is a module that encodes element information such as to generate an index code image and generates drawing data to which the index code image is added.

インデックスコード付画像作成部330は、コード配置情報取得部332と、デコーダ334とを含んで構成されている。コード配置情報取得部332は、描画データを受け取って描画データ中に含まれるコード情報を解析し、コード情報が描画データ中に示す領域情報、コード種類情報などを取得してコード配置情報リストを生成する、コード配置情報取得手段として機能する。また、デコーダ334は、コード配置情報取得部332が取得した描画データを解釈し、デコード結果をコード配置情報取得部332に返し、描画データ中にコード情報が含まれているか否かの判断を可能とさせている。さらに、インデックスコード付画像作成部330は、インデックスコード作成部336と、エンコーダ338と、画像合成処理部340とを含んで構成されている。   The image generation unit with index code 330 includes a code arrangement information acquisition unit 332 and a decoder 334. The code arrangement information acquisition unit 332 receives the drawing data, analyzes the code information included in the drawing data, acquires the area information, code type information, and the like indicated by the code information in the drawing data, and generates a code arrangement information list Function as code arrangement information acquisition means. In addition, the decoder 334 interprets the drawing data acquired by the code arrangement information acquisition unit 332, returns a decoding result to the code arrangement information acquisition unit 332, and can determine whether or not code information is included in the drawing data. I am letting you. Furthermore, the index code-added image creation unit 330 includes an index code creation unit 336, an encoder 338, and an image composition processing unit 340.

インデックスコード作成部336は、コード配置情報取得部332が作成したコード配置情報リストを受け取って、エンコーダ338に渡し、エンコード後のコード配置情報リストを受領して設定されたコード種類でのインデックスコード画像を生成する、インデックスコード作成手段として機能する。エンコーダ338は、指定された文字列やバイト配列等を1次元バーコードや2次元コードの画像に符号化する。1次元バーコードとしては、Code39、EAN−8、EAN−13、NW−7、Code128などを挙げることができる。また、2次元コードとしては、QR、DataMatrix、PDF417等を挙げることができる。デコーダ334は、上述した1次元バーコードや2次元コードの画像から元の文字列やバイト配列を復号する。デコーダ334およびエンコーダ338については、公知の技術を使用して実装することができる。画像合成部340は、描画データにインデックスコード画像のデータを追加し、インデックスコード付画像を生成する、画像合成手段として機能する。   The index code creation unit 336 receives the code placement information list created by the code placement information acquisition unit 332, passes it to the encoder 338, receives the encoded code placement information list, and the index code image in the set code type Function as index code creating means for generating The encoder 338 encodes a designated character string, byte array, or the like into a one-dimensional barcode or two-dimensional code image. Examples of the one-dimensional barcode include Code 39, EAN-8, EAN-13, NW-7, and Code128. Examples of the two-dimensional code include QR, DataMatrix, PDF417, and the like. The decoder 334 decodes the original character string or byte array from the above-described one-dimensional barcode or two-dimensional code image. The decoder 334 and encoder 338 can be implemented using known techniques. The image composition unit 340 functions as an image composition unit that adds index code image data to the drawing data and generates an image with an index code.

画像合成部340で作成されたインデックスコード付画像は、プラインタドライバ316において、PDLに変換され、PJL(Printer Job Language)などのプリンタ制御言語が付加されて、印刷データとされ、スプーラ318に転送される。スプーラ318は、印列データを、IEEE1294、USB、イーサネット(登録商標)などのバス、またはネットワークを介して画像形成エンジン320に送付する。複写機、プリンタなどとして実装することができる画像形成エンジン320は、プリンタ制御言語を使用して、送付されたインデックスコード付画像を含む印刷データについて、印刷処理を実行する。なお、画像を印刷する場合に、拡大や縮小を行う場合、画像合成部340は、拡大縮小率に対応してインデックスコード画像の印刷位置を修正する。   The index code-added image created by the image composition unit 340 is converted into PDL by the printer driver 316, added with a printer control language such as PJL (Printer Job Language), and the print data is transferred to the spooler 318. Is done. The spooler 318 sends the mark string data to the image forming engine 320 via a bus such as IEEE 1294, USB, Ethernet (registered trademark), or a network. The image forming engine 320, which can be implemented as a copier, a printer, or the like, executes a printing process on the print data including the sent index code-added image using a printer control language. When the image is printed, when the image is enlarged or reduced, the image composition unit 340 corrects the print position of the index code image corresponding to the enlargement / reduction ratio.

図3に示す画像処理装置300は、またインデックスコード付画像取得部350を含んでいる。図3に示した実施形態では、画像処理装置300は、TWAINドライバ354を起動してスキャナ356から画像データを取得する。取得した画像データは、画像処理を実行するアプリケーション352に送られる。アプリケーション352は、OCRソフトなどの画像処理を可能とするアプリケーションのモジュールとして実装することができる。アプリケーション352は、受領したインデックスコード付画像を、インデックスコード付画像読取手段として機能する、インデックスコード付画像読取部360に送付する。インデックスコード付画像読取部360は、さらにインデックスコード読取部364と、一般コード情報読取部366と、デコーダ362とを備えている。   The image processing apparatus 300 illustrated in FIG. 3 also includes an image acquisition unit 350 with an index code. In the embodiment illustrated in FIG. 3, the image processing apparatus 300 activates the TWAIN driver 354 and acquires image data from the scanner 356. The acquired image data is sent to an application 352 that executes image processing. The application 352 can be implemented as an application module that enables image processing such as OCR software. The application 352 sends the received index code-added image to the index code-added image reading unit 360 functioning as an index code-added image reading unit. The index code-added image reading unit 360 further includes an index code reading unit 364, a general code information reading unit 366, and a decoder 362.

読取られた画像データは、インデックスコード読取手段として機能するインデックスコード読取部364と、コード情報をデコードした制御情報として機能する一般コード情報を提供する一般コード情報読取部366とに入力される。インデックスコード読取部364は、スキャンされたインデックスコード付画像を受取ってコード配置情報リストを復号するモジュールである。一般コード情報読取部366は、画像データとコード配置情報リストとを受け取って画像データ中に含まれる一般コードの位置、エンコード種類、デコードされたバイト列情報などを指定する一般コード情報リストを生成する。デコーダ362は、1次元バーコードや2次元コードの画像から元の文字列やバイト配列を復号するモジュールであり、デコーダ334と同様の機能を有している。なお、一般コード情報は、画像処理装置300の読込画像に関してアプリケーション352が実行する処理を制御する制御情報として機能し、制御情報に基づいて、画像処理装置300は、画像編集、複製出力、画像転送などの処理を実行する。   The read image data is input to an index code reading unit 364 that functions as index code reading means and a general code information reading unit 366 that provides general code information that functions as control information obtained by decoding the code information. The index code reading unit 364 is a module that receives the scanned image with the index code and decodes the code arrangement information list. The general code information reading unit 366 receives the image data and the code arrangement information list, and generates a general code information list that specifies the position, encoding type, decoded byte string information, and the like of the general code included in the image data. . The decoder 362 is a module that decodes an original character string or byte array from a one-dimensional barcode or two-dimensional code image, and has the same function as the decoder 334. The general code information functions as control information for controlling processing executed by the application 352 regarding the read image of the image processing apparatus 300. Based on the control information, the image processing apparatus 300 performs image editing, duplication output, and image transfer. Etc. are executed.

なお、図3に示す画像処理装置300は、インデックスコード付画像作成部330とインデックスコード付画像読取部360とを同時に含む場合、デコーダ334、デコーダ362、およびエンコーダ338とをコーデックとして機能的に統合し、共用することができる。また、図3に示した実施形態では、アプリケーション312およびアプリケーション352は、例えば同一のドキュメント管理アプリケーション、ドキュメント作成アプリケーション、画像処理アプリケーションなどの、それぞれ出力モジュールおよび読取りモジュールとして実装することができる。   When the image processing apparatus 300 shown in FIG. 3 includes the index code-added image creation unit 330 and the index code-added image reading unit 360 at the same time, the decoder 334, the decoder 362, and the encoder 338 are functionally integrated as a codec. And can be shared. In the embodiment shown in FIG. 3, the application 312 and the application 352 can be implemented as an output module and a reading module, respectively, such as the same document management application, document creation application, and image processing application.

図4は、図3に示したインデックスコード付画像作成部330が実行する処理の実施形態のフローチャートである。図4の処理は、ステップS400から開始し、ステップS401で描画データを受取る。ステップS402では、描画データをコード配置情報取得部332が解析し、画像データ部分を抜き出す。なお、ステップS402で解析する描画データの構成についてはより詳細に後述する。ステップS403では、描画データに未処理の画像データがあるか否かを判断する。未処理の画像データがない場合(no)、処理をステップS407に分岐させ、コード配置リストを返し、ステップS408で処理を終了する。   FIG. 4 is a flowchart of an embodiment of processing executed by the index code-added image creation unit 330 shown in FIG. The process in FIG. 4 starts from step S400, and drawing data is received in step S401. In step S402, the code arrangement information acquisition unit 332 analyzes the drawing data and extracts the image data portion. The configuration of the drawing data analyzed in step S402 will be described in detail later. In step S403, it is determined whether there is unprocessed image data in the drawing data. If there is no unprocessed image data (no), the process branches to step S407, a code arrangement list is returned, and the process ends in step S408.

一方、ステップS403で、未処理の画像データがあると判断された場合(yes)、処理をステップS404に分岐させ、画像データをデコーダ334に渡し、デコード結果を生成する。その後ステップS405でデコード成功か否かを判断し、デコードが不成功であった場合(no)、処理をステップS403に分岐させ、さらに未処理の画像の有無を判断する。ステップS405で、デコードが成功した場合(yes)、ステップS406でコード配置情報リストに新に検出されたコード情報を追加し、コード配置情報リストを更新する。なお、デコードの成功・失敗の判断は、デフォルトのコード情報について失敗した場合でも、コード配置情報取得部332が処理画像領域を例えば90°ごとに回転させ、デコードの角度による成功・失敗を判断し、その回転角度の値を生成する処理も実行する。その後、処理をステップS403に戻し、さらに残りの画像データについての処理を反復させる。   On the other hand, if it is determined in step S403 that there is unprocessed image data (yes), the process branches to step S404, the image data is passed to the decoder 334, and a decoding result is generated. Thereafter, in step S405, it is determined whether or not the decoding is successful. If the decoding is unsuccessful (no), the process is branched to step S403, and the presence or absence of an unprocessed image is determined. If decoding is successful in step S405 (yes), newly detected code information is added to the code arrangement information list in step S406, and the code arrangement information list is updated. Even if the default code information is unsuccessful, the code arrangement information acquisition unit 332 determines whether the decoding is successful or unsuccessful by rotating the processed image area every 90 °, for example. The process of generating the value of the rotation angle is also executed. Thereafter, the process returns to step S403, and the process for the remaining image data is repeated.

図5は、図4の処理で使用する描画データ500、付随データ510、およびコード配置情報リスト520のデータ構造の実施形態を示した図である。図5に示す描画データ500は、描画コマンド1と、描画コマンド1に対応する付随データ1とが対となって描画を制御する。また、同様に、描画データ500は、描画コマンド2、描画コマンド3などを含み、それぞれに対応する付随データ2、3を登録して構成されている。なお、描画コマンドは、DEVMODE構造体などにより指定される文字、画像、ベクタなどの画像種類に対して、それぞれの位置情報を登録した構造として構成される。   FIG. 5 is a diagram showing an embodiment of the data structure of the drawing data 500, the accompanying data 510, and the code arrangement information list 520 used in the processing of FIG. The drawing data 500 shown in FIG. 5 controls drawing with a drawing command 1 and accompanying data 1 corresponding to the drawing command 1 as a pair. Similarly, the drawing data 500 includes a drawing command 2, a drawing command 3, and the like, and is configured by registering associated data 2 and 3 corresponding to each of them. The drawing command is configured as a structure in which position information is registered for image types such as characters, images, and vectors specified by the DEVMODE structure.

付随データ510は、付随データのデータ構成を示した実施形態を示す。データ構造510は、例えば文字列を記述する描画コマンド、画像を記述する描画コマンド、ベクタを記述する描画コマンドに対し、付随データ510として、文字列、位置、サイズ、色の各情報が対応して付随データ512、514、516として登録されている。コード配置情報取得部332は、プリンタドライバ316は、描画データ500を一旦バッファリングし、コード配置情報取得部332へと描画データ500を渡してデコーダ334によるデコード処理を実行させ、描画データが含むコード情報を取得する。   The accompanying data 510 indicates an embodiment showing the data structure of the accompanying data. In the data structure 510, for example, a character string, a position, a size, and a color information correspond to a drawing command that describes a character string, a drawing command that describes an image, and a drawing command that describes a vector. It is registered as accompanying data 512, 514, 516. The code arrangement information acquisition unit 332 causes the printer driver 316 to temporarily buffer the drawing data 500, pass the drawing data 500 to the code arrangement information acquisition unit 332, and execute a decoding process by the decoder 334, so that the code included in the drawing data Get information.

取得したコード情報は、コード配置情報リスト520に、コード種類、その範囲情報、および回転角度を対応させたレコード522〜レコード530とし、配置情報として登録される。また、デコーダによるデコード結果が失敗した場合には、コード配置情報取得部332は、適切な角度ごとに描画データを回転させ、デコード処理を設定された角度ごとに画像を回転変換することによって試行する。そして、コード配置情報リスト520には、コード配置情報取得部332がコード情報のデコードに成功したときのコード情報の回転角度を、「度」単位で登録する。なお、パーソナルコンピュータ300が作成するコード情報の配置が予め規定されている場合には、回転角度(deg)のフィールドは、必要ではない。   The acquired code information is registered as arrangement information in the code arrangement information list 520 as records 522 to 530 in which code types, range information, and rotation angles are associated with each other. If the decoding result by the decoder fails, the code arrangement information acquisition unit 332 attempts to rotate the drawing data for each appropriate angle and rotate the image for each set angle to perform the decoding process. . In the code arrangement information list 520, the rotation angle of the code information when the code arrangement information acquisition unit 332 succeeds in decoding the code information is registered in units of “degrees”. If the arrangement of code information created by the personal computer 300 is defined in advance, the rotation angle (deg) field is not necessary.

図5に示した実施形態では、コードの範囲情報は、例えば描画データの左上を原点としたときのコード画像の左上隅の(x,y)座標および右下隅の(x、y)座標の各値を、適切な単位、例えばmm(ミリメートル)で示した値を使用して登録されている。しかしながら、本実施形態では、コード画像の四隅のカーテジアン座標を範囲情報として使用することもできるし、単位についてもミリメートルではなくインチを使用して表現することもできる。また、コードの回転角度についても、degで表現する他、他の単位や表現を用いることができる。さらに、コード配置情報の登録データは、図5の実施形態に限定されるものではなく、登録フィールドとして登録されたデータ種類のうち、不要な場合には不要な要素情報登録する必要は無いし、またさらに追加するべき情報がある場合には要素情報のフィールドを追加することができる。追加することができる要素情報としては、例えばコードサイズに関連する情報、例えば、1次元バーコードやスタック型2次元コードの最細バー幅、マトリクス型2次元コードのセルサイズなど、後述の一般コード読み取り処理時のデコード処理をサポートするような付加情報を挙げることができる。 In the embodiment shown in FIG. 5, the code range information includes, for example, the (x l , y l ) coordinates of the upper left corner of the code image and the (x r , y r ) of the lower right corner when the upper left corner of the drawing data is the origin. ) Each coordinate value is registered using an appropriate unit, for example, a value expressed in mm (millimeter). However, in this embodiment, Cartesian coordinates at the four corners of the code image can be used as range information, and the unit can be expressed using inches instead of millimeters. Also, the rotation angle of the code can be expressed in deg, and other units and expressions can be used. Further, the registration data of the code arrangement information is not limited to the embodiment of FIG. 5, and it is not necessary to register unnecessary element information when unnecessary among the data types registered as the registration field, If there is more information to be added, an element information field can be added. As element information that can be added, for example, information related to the code size, for example, a general code described later such as the one-dimensional barcode, the thinnest bar width of the stack type two-dimensional code, the cell size of the matrix type two-dimensional code, etc. Additional information that supports decoding processing during reading processing can be given.

図6は、インデックスコード作成部336がインデックスコードを作成する処理の実施形態についてのフローチャートである。インデックスコード作成処理は、ステップS600から開始し、ステップS601でコード配置情報リスト520を受領する。ステップS602では、コード配置情報リスト520からインデックスコード作成データを作成する。インデックスコード作成用データとは、コード配置情報リスト520に登録されたレコードに含まれる文字列、数値などをバイト配列に変換したデータを意味する。ステップS603では、インデックスコード作成用データをエンコーダ338に渡し、インデックスコード画像を作成する。インデックスコード画像は、コードの種類は限定されないが、インデックスコード画像のサイズを小さくする点で、1次元バーコードよりも2次元コードを用いる方が望ましい。インデックスコード画像のエンコードが終了した段階でインデックスコード作成部336は、ステップS604で作成したインデックスコード画像を画像合成部340に渡して処理を終了する。   FIG. 6 is a flowchart of an embodiment of a process in which the index code creation unit 336 creates an index code. The index code creation process starts from step S600, and the code arrangement information list 520 is received in step S601. In step S602, index code creation data is created from the code arrangement information list 520. The index code creation data means data obtained by converting a character string, a numerical value, and the like included in a record registered in the code arrangement information list 520 into a byte array. In step S603, the index code creation data is passed to the encoder 338 to create an index code image. The code type of the index code image is not limited, but it is preferable to use a two-dimensional code rather than a one-dimensional bar code in terms of reducing the size of the index code image. When the encoding of the index code image is completed, the index code creation unit 336 passes the index code image created in step S604 to the image composition unit 340 and ends the process.

図7は、画像合成部340が実行する処理のフローチャートである。図7の処理は、ステップS700から開始し、ステップS701で、バッファメモリから描画データを読出し、また画像合成部340がバッファリングしておいたインデックスコード画像を読み出す。ステップS702では、描画データを画像データに対応する付随データとして、インデックスコード画像の位置、サイズなどの情報を追加する。ステップS703で、画像合成が終了したインデックスコード付画像をプリンタドライバ316に返し、バッファリングさせ、処理をステップS704で終了させる。   FIG. 7 is a flowchart of processing executed by the image composition unit 340. The processing in FIG. 7 starts from step S700. In step S701, drawing data is read from the buffer memory, and an index code image buffered by the image composition unit 340 is read. In step S702, information such as the position and size of the index code image is added using the drawing data as accompanying data corresponding to the image data. In step S703, the image with index code for which image synthesis has been completed is returned to the printer driver 316, buffered, and the process is terminated in step S704.

プリンタドライバ316は、受領した描画データをPDLに変換し、プリンタ制御言語のコードを追加した後、スプーラ318に渡す。スプーラ318は、画像形成エンジン320と通信してインデックスコード付画像を画像形成エンジン320に転送する。画像形成エンジン320は、受領した印刷データを、プリンタ制御言語を使用して印刷データの印刷を実行することで、インデックスコード付画像の印刷が完了する。   The printer driver 316 converts the received drawing data into PDL, adds a printer control language code, and then passes it to the spooler 318. The spooler 318 communicates with the image forming engine 320 to transfer an image with an index code to the image forming engine 320. The image forming engine 320 prints the received print data using the printer control language, thereby completing the printing of the index code-added image.

図8は、本実施形態の画像処理装置300が作成した電子ドキュメント800の実施形態を示す。図8に示した電子ドキュメント800は、複数の画像データ802〜824が存在している。画像処理装置300は、図8に示す印刷物を与えるこの電子ドキュメント800に対するプリント指令を受領すると、グラフィックエンジン314によってコード情報を含む電子ドキュメントを描画データに変換する。描画データは、その後、プリンタドライバ316に渡される。プリンタドライバ316は、描画データをインデックスコード付画像作成部332に渡す。   FIG. 8 shows an embodiment of an electronic document 800 created by the image processing apparatus 300 of this embodiment. The electronic document 800 shown in FIG. 8 includes a plurality of image data 802 to 824. When the image processing apparatus 300 receives a print command for the electronic document 800 that gives the printed matter shown in FIG. 8, the graphic engine 314 converts the electronic document including the code information into drawing data. The drawing data is then passed to the printer driver 316. The printer driver 316 passes the drawing data to the index code-added image creation unit 332.

インデックスコード付画像作成部316は、コード配置情報取得部332は、描画データ中の画像データ802〜824を抽出する。抽出された画像データは、図5に示した描画コマンドの付随情報を抽出することによって取得される。そして、画像データ802〜824は、それぞれデコーダ334に渡されて、デコードが試行されるので、画像データがコード画像である場合は確実にデコードが可能である。図8の電子ドキュメント800では、画像データ802(Code39)、810(PDF417)、816(Code128)、820(QR)、824(DataMatrix)についてデコード試行が成功したものとして説明する。デコード結果は、コード配置情報リスト520に追加され、生成されたコード配置情報リスト520がインデックスコード付画像作成部336に渡される。   The image creation unit 316 with index code, the code arrangement information acquisition unit 332 extracts the image data 802 to 824 from the drawing data. The extracted image data is acquired by extracting the accompanying information of the drawing command shown in FIG. Since the image data 802 to 824 are respectively delivered to the decoder 334 and decoding is attempted, the image data 802 to 824 can be reliably decoded when the image data is a code image. In the electronic document 800 of FIG. 8, the image data 802 (Code 39), 810 (PDF 417), 816 (Code 128), 820 (QR), and 824 (DataMatrix) will be described as being successful. The decoding result is added to the code arrangement information list 520, and the generated code arrangement information list 520 is passed to the index code-added image creation unit 336.

インデックスコード付画像作成部336は、コード情報リスト520をインデックスコード作成部336に渡し、コード情報リスト520からインデックスコード作成用データをバイト列として生成する。作成されたインデックスコード作成用データは、エンコーダ338に渡され、インデックスコード画像が作成される。作成されたインデックスコード画像は、画像合成処理部340に渡され、付属データを画像として規定する描画コマンドに対応する付属データの画像として、その、画像、位置およびサイズなどの情報を記述して画像合成を完了する。作成されたインデックスコード付画像は、プリンタドライバ316へと渡され、印刷データとされ、スプーラ318を介して画像形成エンジン320に転送され、印刷物が作成される。   The index code-added image creation unit 336 passes the code information list 520 to the index code creation unit 336 and generates index code creation data from the code information list 520 as a byte string. The created index code creation data is passed to the encoder 338 to create an index code image. The created index code image is transferred to the image composition processing unit 340, and the image, position, size, and other information are described as an image of the attached data corresponding to the drawing command that defines the attached data as an image. Complete the synthesis. The created index code-added image is transferred to the printer driver 316 and used as print data, which is transferred to the image forming engine 320 via the spooler 318 to create a printed matter.

図9は、図8で説明した処理を経て画像形成エンジン320から出力された印刷物900の実施形態を示す。印刷物900は、電子ドキュメント800に対応する画像を、指定された印刷用紙上に形成している。また、画像処理装置300が作成したインデックスコード画像910が合成されており、合成されたインデックスコード画像910は、図9に示した実施形態では、印刷物の左上の文書・画像認識性に影響を与えない領域に追加されているのが示されている。なお、他の実施形態ではインデックスコード画像は、印刷物900の左右上下に4箇所形成させることもできる。左右上下の4箇所に作成する場合には、印刷物をスキャナにより読み込ませる場合の読み取り方向によらず効率的にインデックスコード画像を取得することが可能となる。また、インデックスコード画像を複数形成する場合には、それぞれコード情報の内容を変更し、インデックスコード画像全部が取得された段階で、全コード情報を与えるように、コード情報の内容を互いに変えることもできる。   FIG. 9 shows an embodiment of a printed matter 900 output from the image forming engine 320 through the processing described in FIG. The printed material 900 forms an image corresponding to the electronic document 800 on a designated printing paper. Further, the index code image 910 created by the image processing apparatus 300 is synthesized. In the embodiment shown in FIG. 9, the synthesized index code image 910 affects the document / image recognition at the upper left of the printed material. It is shown that it has been added to no area. In other embodiments, four index code images can be formed on the left, right, top, and bottom of the printed material 900. When the left and right and upper and lower four positions are created, it is possible to efficiently obtain the index code image regardless of the reading direction when the printed material is read by the scanner. Also, when forming a plurality of index code images, the contents of the code information may be changed, and the contents of the code information may be changed with each other so that all the code information is given when the entire index code image is acquired. it can.

図10は、本実施形態の画像処理装置がインデックスコート付画像の読取りを実行する場合、インデックスコード読取部360が実行する処理のフローチャートを示す。インデックスコード付画像の読み取り処理は、ステップS1000から開始し、ステップS1001で、スキャナなどが取得した画像データを受取る。ステップS1002では、画像中の領域をインデックスコード抽出の目的で切り出す。ステップS1003では、未処理の領域があるか否かを判断し、未処理の領域がない場合(no)処理をステップS1010に分岐させ、デコード失敗のエラー通知を返し、処理をアプリケーションに返し、処理を終了する。   FIG. 10 shows a flowchart of processing executed by the index code reading unit 360 when the image processing apparatus of this embodiment executes reading of an image with an index coat. The index code-added image reading process starts from step S1000. In step S1001, image data acquired by a scanner or the like is received. In step S1002, a region in the image is cut out for the purpose of index code extraction. In step S1003, it is determined whether or not there is an unprocessed area. If there is no unprocessed area (no), the process branches to step S1010, an error notification of decoding failure is returned, the process is returned to the application, and the process is performed. Exit.

一方、ステップS1003で未処理の領域がある場合(yes)、ステップS1004で切り出した領域をインデックスコード読取部364に渡し、ステップS1005で、デコーダ362を呼出し、デコード試行を実行する。なお、ステップS1005のデコード試行は、切り出した領域について、デコード失敗した場合でも、角度を修正しながら、デコード試行を行う。デコード試行が結果的に成功しなかった場合(no)、処理をステップS1003に戻し、他の領域の判断を実行させる。また、ステップS1005でデコードに成功した場合(yes)、処理をステップS1006に分岐させ、デコード結果からコード配置情報リストを取得する。さらにステップS1007では、デコードされたインデックスコードの回転角度を取得し、画像読取りの読み取り角度を取得し、読み取り角度およびデコードしたコード配置情報リスト520を後述する一般コード情報読取部366に返し、ステップS1009で処理を終了させる。   On the other hand, if there is an unprocessed area in step S1003 (yes), the area cut out in step S1004 is transferred to the index code reading unit 364, and in step S1005, the decoder 362 is called to execute a decoding attempt. Note that the decoding trial of step S1005 is performed while correcting the angle even if decoding of the extracted region fails. If the decoding attempt does not succeed as a result (no), the process returns to step S1003 to determine other areas. If decoding is successful in step S1005 (yes), the process branches to step S1006, and a code arrangement information list is acquired from the decoding result. In step S1007, the rotation angle of the decoded index code is acquired, the reading angle of image reading is acquired, the reading angle and the decoded code arrangement information list 520 are returned to the general code information reading unit 366 described later, and step S1009. To end the process.

図11は、読取り角度およびデコードしたコード配置情報リスト520を取得した一般コード情報読取部366が実行する処理の実施形態を示す。図11に示す一般コード情報読取部366の処理は、ステップS1100から開始し、ステップS1101で画像データを受領し、ステップS1102で画像の向きとコード配置情報リストを受け取ったか否かを判断する。ステップS1102で、画像の向きとコード配置情報リストを受け取っていないと判断された場合(no)、画像データの全域探索を行い、一般コード情報の取得を行い、ステップS1111で、アプリケーションに対して一般コード情報リストを返し、処理をステップS1112で終了させる。   FIG. 11 shows an embodiment of processing executed by the general code information reading unit 366 that has acquired the reading angle and the decoded code arrangement information list 520. The process of the general code information reading unit 366 shown in FIG. 11 starts from step S1100, receives image data in step S1101, and determines in step S1102 whether an image orientation and a code arrangement information list have been received. If it is determined in step S1102 that the image orientation and code arrangement information list has not been received (no), the entire area of the image data is searched and general code information is acquired. The code information list is returned, and the process ends in step S1112.

また、ステップS1102で、画像の向きとコード配置情報リストを受け取ったと判断された場合(yes)、ステップS1104で画像データを画像向きの一致させるように回転変換を行い、ステップS1105で、未処理のコード配置情報があるかを判断する。なお、画像の向きの一致処理は、画像データ全体を画像の向きに合わせて回転させた後に画像データの領域切り出し処理をおこなうこともできるし、画像全体の回転を行う代わりに、切り出し領域を画像の向きに合わせて補正するようにしてもよい。切り出し領域の方向を修正する場合、画像データ全体を処理しなくて済むため、処理速度が向上する。未処理のコード配置情報が無いと判断された場合(no)、ステップS1111に処理を分岐させ、一般コード情報リストをアプリケーションに返し、ステップS1112で処理を終了させる。   If it is determined in step S1102 that the image orientation and code arrangement information list have been received (yes), in step S1104, rotation conversion is performed so that the image data matches the image orientation. In step S1105, an unprocessed image is processed. Determine if there is code placement information. In the image orientation matching process, the entire image data can be rotated in accordance with the orientation of the image, and then the image data area extraction process can be performed. You may make it correct | amend according to direction. When correcting the direction of the cutout region, it is not necessary to process the entire image data, so that the processing speed is improved. If it is determined that there is no unprocessed code arrangement information (no), the process branches to step S1111 to return the general code information list to the application, and the process ends in step S1112.

ステップS1105の判断で未処理のコード配置情報があると判断された場合(yes)、ステップS1106でコード配置情報を基に画像データの領域を切り出し、ステップS1107で切り出した領域の画像をコード配置情報で指定されるデコーダに渡し、デコード結果を作成する。ステップS1108では、デコードが成功したか否かを判断し、デコードに成功しない場合(no)、処理をステップS1105に戻し、処理を繰り返す。また、ステップS1108でデコードが成功した場合(yes)、処理をステップS1109に分岐させ、一般コード情報リストを更新する。その後、さらに未処理の領域があるか否かを、処理をステップS1105に戻して、未処理のコード配置情報が無くなるまで処理を反復させる。   If it is determined in step S1105 that there is unprocessed code arrangement information (yes), an area of image data is extracted based on the code arrangement information in step S1106, and an image of the area extracted in step S1107 is code arrangement information. The result is passed to the decoder specified by, and the decoding result is created. In step S1108, it is determined whether or not the decoding is successful. If the decoding is not successful (no), the process returns to step S1105 and the process is repeated. If the decoding is successful in step S1108 (yes), the process branches to step S1109, and the general code information list is updated. Thereafter, the process returns to step S1105 to determine whether or not there is an unprocessed area, and the process is repeated until there is no unprocessed code arrangement information.

図12は、一般コード情報読取部366が生成する一般コード情報リスト1200の実施形態を示す。一般コード情報リスト1200は、コードごとにリストのレコード1202〜1210が形成されており、レコード内には、コードを特徴付けるための情報が登録されており、各列がコード情報のそれぞれ対応する情報を与えている。一般コード情報を構成する要素情報としては、コードの種類、デコードデータ、コードの位置情報、コードの回転角度などを登録することができる。コード種類、コードの位置情報、コードの回転角度は、コード配置情報リスト520のエンコード種類、範囲情報、回転角度と同様の機能を有する情報である。   FIG. 12 shows an embodiment of the general code information list 1200 generated by the general code information reading unit 366. In the general code information list 1200, list records 1202 to 1210 are formed for each code. In the record, information for characterizing the code is registered, and each column stores information corresponding to the code information. Giving. As the element information constituting the general code information, a code type, decode data, code position information, code rotation angle, and the like can be registered. The code type, code position information, and code rotation angle are information having the same functions as the encoding type, range information, and rotation angle of the code arrangement information list 520.

また、デコードデータには、図11のステップS1107のデコード処理によって得られた文字列などのバイト配列が格納される。なお、一般コード情報リスト1200に登録できる要素情報は、図12に示した情報に限定されるものではなく、要素情報を適宜削減したり、追加することができる。例えば、追加することができる要素情報としては、例えば誤り訂正レベルや特定産業規格(Industrial Standard)の情報など、デコード処理によって得られる他の情報を追加してもよい。   In the decoded data, a byte array such as a character string obtained by the decoding process in step S1107 in FIG. 11 is stored. The element information that can be registered in the general code information list 1200 is not limited to the information shown in FIG. 12, and the element information can be appropriately reduced or added. For example, as the element information that can be added, other information obtained by decoding processing, such as information on an error correction level or a specific industrial standard (Industrial Standard), may be added.

図13を参照してアプリケーション352がスキャナ356を使用して画像を取得し、取得した画像データから一般コード情報リスト1200を生成するまでの処理の実施形態を説明する。図13に示した実施形態では、図9に示した画像をスキャナ356によって読み込むものとする。   With reference to FIG. 13, an embodiment of processing until the application 352 acquires an image using the scanner 356 and generates the general code information list 1200 from the acquired image data will be described. In the embodiment shown in FIG. 13, the image shown in FIG. 9 is read by the scanner 356.

スキャナ356に図9に示した画像を載置して、読取り指令を受領したアプリケーション352は、TWAINドライバ354を呼出し画像900の読み取り処理を実行し、図13に示されるスキャン画像1300を得る。アプリケーション352は、スキャン画像1300のデータをインデックスコード付画像読取部360に渡す。その後、インデックスコード付画像読取部360は、スキャン画像をインデックスコード読取部364に渡す。   The application 352 that has placed the image shown in FIG. 9 on the scanner 356 and received a read command calls the TWAIN driver 354 to execute the reading process of the image 900, and obtains the scan image 1300 shown in FIG. The application 352 passes the scanned image 1300 data to the index code-added image reading unit 360. Thereafter, the image reader with index code 360 passes the scanned image to the index code reader 364.

スキャン画像1300は、インデックスコード付画像読取部360に渡されると、インデックスコード読取部364は、スキャン画像1300中でインデックスコード画像の存在する可能性のある領域として規定される四隅領域1302、1306、1314、1316を切り出す。切り出した領域1302〜1316は、デコーダ362に渡され、デコード結果が生成される。図13に示した実施形態では、領域1306にコード画像が形成されている。領域1306について、インデックスコードのデコード試行処理では、コード画像の回転が行われ、図示した実施形態では、回転角度270°時計回りにコード画像を回転させた段階でデコードが成功するものとして、以下さらに説明する。   When the scanned image 1300 is passed to the index code-added image reading unit 360, the index code reading unit 364 includes four corner regions 1302, 1306, which are defined as regions where the index code image may exist in the scanned image 1300. Cut out 1314 and 1316. The cut out areas 1302 to 1316 are transferred to the decoder 362, and a decoding result is generated. In the embodiment shown in FIG. 13, a code image is formed in the area 1306. As for the area 1306, the code image is rotated in the index code decoding trial process. In the illustrated embodiment, it is assumed that decoding succeeds when the code image is rotated clockwise by a rotation angle of 270 °. explain.

デコード結果は、図5に示したコード配置情報リスト520をアプリケーション352に対して取得させ、デコードしたインデックスコード画像の向き情報および領域1306の位置から、スキャン画像1300の読み取り方向が時計周りに270°回転されていたことが判断される。この判断の結果、アプリケーション352は、取得したコード配置情報リスト520と、スキャン画像1300の向き情報とをインデックスコード付画像読取部360に渡す。   As a result of decoding, the code arrangement information list 520 shown in FIG. 5 is acquired by the application 352, and the reading direction of the scanned image 1300 is 270 ° clockwise from the direction information of the decoded index code image and the position of the area 1306. It is determined that it has been rotated. As a result of this determination, the application 352 passes the acquired code arrangement information list 520 and the orientation information of the scanned image 1300 to the index code-added image reading unit 360.

次いで、インデックスコード付画像読取部360は、スキャン画像1300と、コード配置情報リスト520と、スキャン画像の向き情報とを、一般コード情報読取部366に渡す。一般コード情報読取部366は、コード配置情報リスト520と、スキャン画像1300の向き情報とを使用して、領域1304、1308、1312、1318、1320を切り出す。そして切り出した領域1304、1308、1312、1318、1320のそれぞれを、デコーダ362に渡し、デコードを実行する。その結果、切り出した領域1304、1308、1312、1318、1320に含まれる画像は、コード配置情報リスト520に登録されたエンコード方式Code39、PDF417、Code128、QR、DataMatrixを使用しながらも、各コード画像に対してそれぞれのエンコード方式をトライアンドエラーさせることなくデコードされる。   Next, the index code-added image reading unit 360 passes the scan image 1300, the code arrangement information list 520, and the scan image orientation information to the general code information reading unit 366. The general code information reading unit 366 cuts out the areas 1304, 1308, 1312, 1318, and 1320 using the code arrangement information list 520 and the orientation information of the scanned image 1300. Then, each of the cut out areas 1304, 1308, 1312, 1318, and 1320 is transferred to the decoder 362, and decoding is performed. As a result, the images included in the clipped areas 1304, 1308, 1312, 1318, and 1320 are displayed on each code image while using the encoding methods Code39, PDF417, Code128, QR, and DataMatrix registered in the code arrangement information list 520. Each encoding method is decoded without causing trial and error.

また、図12に示す一般コード情報リスト1200は、本実施形態により、デコード結果から高精度、かつ高速に作成することができる。その後、一般コード情報リスト1200は、インデックスコード付画像読取部360に渡される。インデックスコード付画像読取部360は、取得した一般コード情報リスト1200をアプリケーション352に返し、一般コード情報を使用した後続処理を可能とする。   In addition, the general code information list 1200 shown in FIG. 12 can be created with high accuracy and high speed from the decoding result according to this embodiment. Thereafter, the general code information list 1200 is passed to the index code-added image reading unit 360. The index code-added image reading unit 360 returns the acquired general code information list 1200 to the application 352, and enables subsequent processing using the general code information.

以上の例では、画像処理装置300のアプリケーション352がTWAINドライバ354を介して画像データを取得するものとして説明した。しかしながら、他の実施形態では、画像データを取得できる限り他のシーケンスを用いることができる。例えば、複写機として実装された画像形成エンジン320が読み取った画像データをファイル化し、画像ファイルをネットワーク上の任意のストレージ領域に保存しておく。アプリケーション352は、保存された画像ファイルにアクセスし、FTP、HTTPなどのファイル転送プロトコルを使用して画像ファイルをダウンロードし、上述したデコード処理に提供することもできる。   In the above example, the application 352 of the image processing apparatus 300 has been described as acquiring image data via the TWAIN driver 354. However, in other embodiments, other sequences can be used as long as image data can be acquired. For example, image data read by the image forming engine 320 mounted as a copying machine is converted into a file, and the image file is stored in an arbitrary storage area on the network. The application 352 can access the stored image file, download the image file using a file transfer protocol such as FTP or HTTP, and provide the image file to the decoding process described above.

以上説明したように、本実施形態では、写真や図表などとともに任意の位置・大きさ・回転角度で埋め込まれた複数多種のエンコード方式を有するコード情報を含む電子ドキュメントについて、高精度・短時間での高効率のコード認識が可能となる。また、印刷処理時にインデックスコードを四隅のいずれかに付与し、読取処理時にインデックスコード検出領域として四隅領域をとるようにすることで、スキャン時の紙原稿の向きによらずに確実にコードを認識させることができる。さらに、本実施形態は、特定の文書作成アプリケーションに限定されることなく、汎用的な電子文書作成アプリケーションによって作成された電子文書に対して適用可能である。   As described above, in this embodiment, an electronic document including code information having a plurality of various encoding methods embedded at an arbitrary position, size, and rotation angle together with a photograph, a chart, and the like can be obtained with high accuracy and in a short time. Highly efficient code recognition. In addition, an index code is assigned to one of the four corners during the printing process, and the four corner areas are taken as the index code detection area during the reading process, so that the code can be reliably recognized regardless of the orientation of the paper document during scanning. Can be made. Furthermore, the present embodiment is not limited to a specific document creation application, and can be applied to an electronic document created by a general-purpose electronic document creation application.

以下、図14を参照して、画像処理装置の第2の実施形態について説明する。第2の実施形態の画像処理装置1400は、機能ブロックとしては第1の実施形態の画像処理装置と同様の構成を備える。しかしながら、各機能ブロックが画像処理装置として実装されるパーソナルコンピュータ1410と、複写機1430とに分離して実装される点で、第1実施形態の画像処理装置とは相違する。   Hereinafter, the second embodiment of the image processing apparatus will be described with reference to FIG. The image processing apparatus 1400 of the second embodiment has the same configuration as the image processing apparatus of the first embodiment as a functional block. However, it differs from the image processing apparatus of the first embodiment in that each functional block is separately mounted on a personal computer 1410 mounted as an image processing apparatus and a copying machine 1430.

図14に示す画像処理装置1400は、パーソナルコンピュータ1410と、パーソナルコンピュータ1410がネットワークプリンタなどとして接続する複写機1430として実装されている。インデックスコード付画像作成部1450は、複写機1430の機能モジュールとして実装され、パーソナルコンピュータ1410は、専らコード情報を埋め込む処理を実行する。図14に示した実施形態では、プリンタドライバ1416は、既存のものが利用され、複写機1430の機能モジュールが、本実施形態のインデックスコード付画像を作成する。   An image processing apparatus 1400 shown in FIG. 14 is implemented as a personal computer 1410 and a copier 1430 to which the personal computer 1410 is connected as a network printer or the like. The index code-added image creating unit 1450 is mounted as a functional module of the copying machine 1430, and the personal computer 1410 exclusively executes processing for embedding code information. In the embodiment shown in FIG. 14, an existing printer driver 1416 is used, and the functional module of the copier 1430 creates an image with an index code according to the present embodiment.

なお、図14に示すインデックスコード付画像作成部1450は、第1の実施形態で説明したと同様の機能を提供している。第2の実施形態では、コード配置情報取得部1452および画像合成処理部1456は、描画データではなく、プリンタ制御言語のコマンドを含むPDLなどのフォーマットで作成された印刷データを解析することを除き、第1の実施例と同様の処理を実行するため、これ以上の詳細な説明は省略する。第2の実施形態では、インデックスコード付画像の作成を複写機の機能として提供することができる。   Note that the index code-added image creating unit 1450 shown in FIG. 14 provides the same functions as described in the first embodiment. In the second embodiment, the code arrangement information acquisition unit 1452 and the image composition processing unit 1456 analyze print data created in a format such as PDL including commands of the printer control language instead of drawing data, Since the same processing as in the first embodiment is executed, further detailed description is omitted. In the second embodiment, creation of an image with an index code can be provided as a function of a copying machine.

図15は、第3の実施形態の画像処理装置1500を示す。第3の実施形態の画像処理装置1500は、インデックスコード付画像読取部1510は、第1の実施形態と同様の機能モジュールを含んで構成される。しかしながら、第3の実施形態では、読取処理シーケンスでスキャナ1530からの画像データを使用してインデックスコードを読取り、一般コード情報リスト生成処理を実行する点で相違する。図15の画像処理装置1500を詳細に説明すると、画像処理装置1500は、スキャナ1530と、スキャナを制御し、ラスタデータなどにイメージ変換し、さらに処理要求を外部から受領して画像に対して各種の処理を実行するアプリケーションとを含んでいる。読取られた画像データは、インデックスコード読取手段として機能するインデックスコード読取部1512と、コード情報をデコードした制御情報として機能する一般コード情報を提供する一般コード情報読取部1514とに入力される。インデックスコード読取部1512は、スキャンされたインデックスコード付画像を受取ってコード配置情報リストを復号するモジュールである。一般コード情報読取部1514は、画像データとコード配置情報リストとを受け取って画像データ中に含まれる一般コードの位置、エンコード種類、デコードされたバイト列情報などを指定する一般コード情報リストを生成する。デコーダ1516は、1次元バーコードや2次元コードの画像から元の文字列やバイト配列を復号するモジュールであり、デコーダ334と同様の機能を有している。なお、一般コード情報は、画像処理装置1500の読込画像に関してアプリケーション1520が実行する処理を制御する制御情報として機能し、制御情報に基づいて、画像処理装置300は、画像編集、複製出力、画像転送などの処理を実行させている。   FIG. 15 shows an image processing apparatus 1500 according to the third embodiment. In the image processing apparatus 1500 according to the third embodiment, the index code-added image reading unit 1510 includes a functional module similar to that of the first embodiment. However, the third embodiment is different in that the index code is read using the image data from the scanner 1530 and the general code information list generation process is executed in the reading processing sequence. The image processing apparatus 1500 in FIG. 15 will be described in detail. The image processing apparatus 1500 controls the scanner 1530 and the scanner, converts the image into raster data, and receives various processing requests from the outside. And an application for executing the process. The read image data is input to an index code reading unit 1512 that functions as an index code reading unit and a general code information reading unit 1514 that provides general code information that functions as control information obtained by decoding the code information. The index code reading unit 1512 is a module that receives the scanned image with the index code and decodes the code arrangement information list. The general code information reading unit 1514 receives the image data and the code arrangement information list, and generates a general code information list that specifies the position, encoding type, decoded byte string information, and the like of the general code included in the image data. . The decoder 1516 is a module that decodes an original character string or byte array from a one-dimensional barcode or two-dimensional code image, and has the same function as the decoder 334. The general code information functions as control information for controlling processing executed by the application 1520 regarding the read image of the image processing device 1500. Based on the control information, the image processing device 300 performs image editing, duplication output, and image transfer. Etc. are executed.

画像処理装置の第4の実施形態では、画像処理装置は、インデックスコード付画像に、インデックスコードを複数画像データに配置する処理を実行する。第4の実施形態では、インデックスコード画像は、画像処理装置300により指定される描画データの複数の指定領域、例えば四隅に配置される。四隅に配置されるインデックスコード画像は、すべて同一の情報(全ての一般コードの配置情報)をエンコードすることができる。上述したインデックスコードを使用することにより、インデックスコード読取処理時に一部のインデックスコードが読めなかった場合でも残りのインデックスコードから一般コード情報リストを取得でき、コード認識精度を向上させることができる。   In the fourth embodiment of the image processing apparatus, the image processing apparatus executes processing for arranging an index code in a plurality of image data on an image with an index code. In the fourth embodiment, index code images are arranged in a plurality of designated areas, for example, four corners, of drawing data designated by the image processing apparatus 300. All the index code images arranged at the four corners can encode the same information (arrangement information of all general codes). By using the above-described index code, the general code information list can be acquired from the remaining index codes even when some of the index codes cannot be read during the index code reading process, and the code recognition accuracy can be improved.

また、全てのインデックスコードに同じ情報(全ての一般コードの配置情報)をエンコードすることに代えて、各インデックスコードに一般コードの配置情報を分散してエンコードするように実装することができる。各インデックスコードに一般コードの情報を分散して配置することにより、インデックスコード1つあたりの画像サイズを小さく抑えることができ、文書のレイアウトや見た目に対する影響を低減させることができる。   Further, instead of encoding the same information (all general code arrangement information) in all index codes, the general code arrangement information can be distributed and encoded in each index code. By disposing the general code information in each index code, the image size per index code can be kept small, and the influence on the layout and appearance of the document can be reduced.

以下、画像処理装置の第5の実施形態について説明する。画像処理装置の第5の実施形態では、機能モジュール構成は、第1の実施形態のものと同様に実装される。しかしながら、インデックスコード作成部336およびコード配置情報取得部332の処理が異なる。図16は、画像処理装置の第5の実施形態におけるインデックスコード作成部336の処理のフローチャートである。図6の処理とは異なり、図16の処理では、インデックスコード作成用データをエンコーダに渡す前に、ステップS1603でインデックスコード作成用データにヘッダデータを付加する。   The fifth embodiment of the image processing apparatus will be described below. In the fifth embodiment of the image processing apparatus, the functional module configuration is implemented in the same manner as in the first embodiment. However, the processes of the index code creation unit 336 and the code arrangement information acquisition unit 332 are different. FIG. 16 is a flowchart of the process of the index code creation unit 336 in the fifth embodiment of the image processing apparatus. Unlike the processing of FIG. 6, in the processing of FIG. 16, before passing the index code creation data to the encoder, header data is added to the index code creation data in step S1603.

ヘッダデータは、例えば24ビットの固定長データとして構成することができ、後述するインデックスコード読取部の処理において、インデックスコードを、一般のコードとの区別を容易に識別するための識別データとして用いられる。第5の実施形態では、画像データ中に複数のコード情報が存在する場合であってもデコード処理を排除して直接インデックスコードを識別することができ、インデックスコード画像を付加する位置を予め定めずとも、画像データの特性に応じて適切な箇所に埋設することが可能となる。   The header data can be configured as, for example, 24-bit fixed-length data, and is used as identification data for easily identifying the index code from a general code in the processing of the index code reading unit described later. . In the fifth embodiment, even when there are a plurality of pieces of code information in the image data, the index code can be identified directly by eliminating the decoding process, and the position where the index code image is added is not determined in advance. In both cases, it is possible to embed it in an appropriate location according to the characteristics of the image data.

図17は、画像処理装置の第5の実施形態で、コード配置情報取得部332が実行する処理のフローチャートである。図10とは、ステップS1006で、デコード結果からコード配置情報リストを取得する処理を実行する前に、ステップS1706でデコードデータがインデックスコードのデータかを判断する。説明する実施形態では、デコードデータの最初の3byte(24ビット)の固定長データが、インデックスコードを示す値と一致しているか否かを比較する。ステップS1706でデコードデータがインデックスコードのデータであると判断された場合(yes)、ステップS1707でコード配置情報リストを取得し、ステップS1708で画像の向き情報の取得を行い、ステップS1710で取得した情報をアプリケーションに返し、ステップS1711で処理を終了させる。   FIG. 17 is a flowchart of processing executed by the code arrangement information acquisition unit 332 in the fifth embodiment of the image processing apparatus. In FIG. 10, before executing the process of acquiring the code arrangement information list from the decoding result in step S1006, it is determined in step S1706 whether the decoded data is index code data. In the embodiment to be described, it is compared whether or not the first 3 bytes (24 bits) of fixed-length data of the decoded data match the value indicating the index code. If it is determined in step S1706 that the decoded data is index code data (yes), a code arrangement information list is acquired in step S1707, image orientation information is acquired in step S1708, and information acquired in step S1710 is acquired. Is returned to the application, and the process is terminated in step S1711.

一方、ステップS1706でデコードデータがインデックスコードのデータでない(一般コードのデータである)と判断された場合(no)、処理をステップS1703に戻し、未処理の領域があるか否かを判断し、未処理の領域が無くなるまで、処理を反復させる。
図16および図17に示した処理を使用することで、インデックスコード検出領域に一般コードが含まれている場合でも一般コードをインデックスコードとみなして処理することがなくなるので、誤動作を防止し、検出効率を高めることが可能となる。
On the other hand, if it is determined in step S1706 that the decoded data is not index code data (general code data) (no), the process returns to step S1703 to determine whether there is an unprocessed area. The process is repeated until there are no unprocessed areas.
By using the processing shown in FIG. 16 and FIG. 17, even when a general code is included in the index code detection area, the general code is not considered to be processed as an index code, thereby preventing malfunction and detection. Efficiency can be increased.

なお、第5の実施形態では、インデックスコードを一般コードと区別するための識別データとしての固定長データを、インデックスコード作成データの先頭に付加するものとして説明した。さらに他の実施形態では、例えば固定長データをインデックスコード作成データの末尾に付加することもできる。さらに、他の実施形態では、インデックスコード作成データからSHA−1、MD−5などの既知の一方向関数を使用してハッシュ値を算出し、ハッシュ値を識別データとして使用することもできる。   In the fifth embodiment, the fixed length data as identification data for distinguishing the index code from the general code is described as being added to the head of the index code creation data. In still another embodiment, for example, fixed-length data can be added to the end of the index code creation data. In another embodiment, a hash value can be calculated from index code creation data using a known one-way function such as SHA-1 or MD-5, and the hash value can be used as identification data.

以下、図18、図19を使用して本発明の第6の実施形態における画像処理装置について説明する。第6の実施形態における画像処理装置は、第1の実施形態を同様に実装することができるが、コード配置情報リストおよびインデックスコード読取部364、一般コード情報読取部366での処理が異なる。図18は、第6の実施形態の画像処理装置が使用するコード配置情報リスト1800である。なお、図18に示すコード配置情報リストは、図5のコード配置情報リスト520と比較し、インデックスコード自身の位置および回転角度の情報を格納するレコードが追加されている点に留意されたい。   The image processing apparatus according to the sixth embodiment of the present invention will be described below with reference to FIGS. The image processing apparatus according to the sixth embodiment can similarly implement the first embodiment, but the processing in the code arrangement information list and index code reading unit 364 and the general code information reading unit 366 is different. FIG. 18 shows a code arrangement information list 1800 used by the image processing apparatus according to the sixth embodiment. It should be noted that the code arrangement information list shown in FIG. 18 is added with a record for storing information on the position and rotation angle of the index code itself as compared with the code arrangement information list 520 in FIG.

図19は、第6の実施形態におけるインデックスコード読取部364の処理のフローチャートである。処理は、図10に示した処理とは、ステップS1907で画像の向き情報ではなく、デコードされたインデックスコードの位置・回転角度を一般コード情報読取部366に返すことを除き、図10の処理と同様にして処理が実行される。また、図20は、本発明の第6の実施形態におけるインデックスコード読取部364の処理のフローチャートを示す。図20に示した実施形態は、図11の処理とは、画像の向き情報ではなく、ステップS2002で、デコードされたインデックスコードの位置・回転角度を受取り、以後の処理に利用する点で相違する。   FIG. 19 is a flowchart of the process of the index code reading unit 364 in the sixth embodiment. The processing shown in FIG. 10 is the same as the processing shown in FIG. 10 except that the position / rotation angle of the decoded index code is returned to the general code information reading unit 366 instead of the image orientation information in step S1907. Processing is executed in the same manner. FIG. 20 is a flowchart of the process of the index code reading unit 364 according to the sixth embodiment of the present invention. The embodiment shown in FIG. 20 is different from the processing in FIG. 11 in that it receives not the image orientation information but the position / rotation angle of the decoded index code in step S2002 and uses it for the subsequent processing. .

さらに、ステップS2004では、画像データの位置補正を実行する点で相違する。その他の処理ステップは、図10の処理と共通するので詳細な説明は省略する。ステップS2004の位置補正処理は、インデックスコード読取部364は、コード情報リスト1800に記載されているインデックスコードの位置・回転角度と、実際にデコードされたインデックスコードの位置・回転角度とを比較し、位置および回転角度が、それぞれ一致するように画像データを回転・並進移動を行う処理を実行する。   Further, step S2004 is different in that position correction of image data is executed. The other processing steps are the same as the processing in FIG. In the position correction process of step S2004, the index code reading unit 364 compares the position / rotation angle of the index code described in the code information list 1800 with the position / rotation angle of the actually decoded index code, A process of rotating and translating the image data so that the position and the rotation angle coincide with each other is executed.

第6の実施形態では、スキャン時に紙文書がある程度ずれている場合でもスキャン画像のズレを補正することができ、一般コード情報の領域を適切に切り出すことが可能になり、コード認識精度を向上させることができる。第6の実施形態では、ステップS2004で画像データの位置補正処理を行った後、ステップS2006で画像データの領域切り出し処理を行なうものとして説明している。しかしながら、さらに他の実施形態では、画像全体の位置補正処理を行う代わりに、ステップS2006で切り出し領域について位置補正を実行するようにしてもよい。説明する他の実施形態では、画像データ全体について回転および並進移動処理を実行する必要が無くなるのでさらに、処理速度を向上させることができる。   In the sixth embodiment, even when a paper document is shifted to some extent during scanning, it is possible to correct the deviation of the scanned image, and to appropriately cut out the area of the general code information, thereby improving the code recognition accuracy. be able to. In the sixth embodiment, the image data position correction process is performed in step S2004, and then the image data area extraction process is performed in step S2006. However, in still another embodiment, instead of performing position correction processing for the entire image, position correction may be performed for the cutout region in step S2006. In other embodiments to be described, it is not necessary to perform rotation and translation processing on the entire image data, so that the processing speed can be further improved.

以下、図21を使用して次に、第7の実施形態の画像処理装置が実行する処理を説明する。第7の実施形態における画像処理装置は、第4の実施形態および第6の実施形態を組合わせた構成を備え、一般コード情報読取部364での処理内容が異なる。図21に示したインデックスコード読取部364の処理についてのフローチャートを示す。図20の処理とは、画像データの回転処理ではなく、ステップS2104で画像データのスキュー補正処理を実行する。スキュー補正は、四隅に配置された各々のインデックスコードにおけるコード情報リスト1800に記載の位置と、実際にデコードされた位置の差を計算し、スキュー補正処理を行うことで実現される。   Hereinafter, processing executed by the image processing apparatus according to the seventh embodiment will be described with reference to FIG. The image processing apparatus according to the seventh embodiment has a configuration in which the fourth embodiment and the sixth embodiment are combined, and processing contents in the general code information reading unit 364 are different. FIG. 22 shows a flowchart for processing of the index code reading unit 364 shown in FIG. 21. FIG. The processing in FIG. 20 is not image data rotation processing, but image data skew correction processing is executed in step S2104. The skew correction is realized by calculating a difference between a position described in the code information list 1800 in each index code arranged at the four corners and a position actually decoded, and performing a skew correction process.

したがって、図21の実施形態は、四隅に配置されたインデックスコードをスキュー補正のためのタイミングマークとして利用するものである。第7の実施形態は、スキャン時に印刷物がある程度ズレて読込まれた場合や、ソータなどの搬送装置による搬送時に歪みが生じた印刷物でもスキャン画像のズレや歪みを補正することができ、一般コードの領域を適切に切り出すことで、第4の実施例よりもさらにコード認識精度を向上させることができる。   Therefore, the embodiment of FIG. 21 uses the index codes arranged at the four corners as timing marks for skew correction. The seventh embodiment can correct the deviation and distortion of the scanned image even when the printed material is read with a certain amount of deviation during scanning, or even when the printed material is distorted when conveyed by a conveying device such as a sorter. By appropriately cutting out the area, the code recognition accuracy can be further improved as compared with the fourth embodiment.

図22は、本実施形態の画像処理装置の実装形態2200を示す。図22に示すように、画像処理装置の実装形態2200としては、パーソナルコンピュータ2202または多機能複写機2206として実装することができる。画像処理装置をパーソナルコンピュータ2202として実装する場合、パーソナルコンピュータ2202は、本実施形態の画像処理方法を実装する機能をプリンタドライバとして実装する。また、パーソナルコンピュータ2202は、例えばドキュメント管理アプリケーション、ドキュメント作成アプリケーションとしてインデックスコード付画像読取り部360を実装する。   FIG. 22 shows an implementation 2200 of the image processing apparatus of this embodiment. As shown in FIG. 22, the image processing apparatus mounting form 2200 can be mounted as a personal computer 2202 or a multi-function copying machine 2206. When the image processing apparatus is implemented as a personal computer 2202, the personal computer 2202 implements a function for implementing the image processing method of the present embodiment as a printer driver. In addition, the personal computer 2202 includes an image reading unit 360 with an index code as, for example, a document management application or a document creation application.

パーソナルコンピュータ2202は、ドキュメント管理アプリケーションなどを使用して作成した電子ドキュメントに対して、以後の画像処理を制御するためのコード情報を追加する。ドキュメント管理アプリケーションは、制御情報を適切なエンコード方式を使用してコード画像とする。パーソナルコンピュータ2202は、コード画像からコード配置情報、インデックスコード画像を作成し、電子ドキュメントに付加し、インデックスコード付画像を印刷データとして生成する。   The personal computer 2202 adds code information for controlling subsequent image processing to an electronic document created using a document management application or the like. The document management application converts the control information into a code image using an appropriate encoding method. The personal computer 2202 creates code arrangement information and an index code image from the code image, adds them to the electronic document, and generates an image with the index code as print data.

印刷データは、例えば、ローカルプリンタ、ネットワークプリンタなどとして構成された多機能複写機2206に転送され、印刷物2208として出力される。印刷物2208は、パーソナルコンピュータ2202に接続されたフラットベットタイプのスキャナ2204によりインデックスコード付画像としてパーソナルコンピュータ2202へと転送される。パーソナルコンピュータ2202は、インデックスコード付画像を解析し、制御情報などを含む一般コード情報を取得し、読み込んだ印刷物に対する以後の画像処理を制御している。   The print data is transferred to a multi-function copier 2206 configured as, for example, a local printer or a network printer, and is output as a printed material 2208. The printed material 2208 is transferred to the personal computer 2202 as an image with an index code by a flat bed type scanner 2204 connected to the personal computer 2202. The personal computer 2202 analyzes the image with the index code, acquires general code information including control information, and controls subsequent image processing on the read printed matter.

また、複写機として本実施形態の画像処理装置を実装する場合、画像処理装置の各機能モジュールは、複写機のアプリケーションまたはミドルウェアとして実装される。多機能複写機2206は、電子ドキュメントに対して画像処理を制御するための制御情報からコード画像を作成し、電子ドキュメントに付加して、電子写真方式、インクジェット記録方式などのプロセスを使用して印刷物2208を作成する。作成された印刷物2208は、ユーザに配布される。印刷物2208の配布を受けたユーザが印刷物2208に対して画像形成、画像編集、画像転送などを含む画像処理を行うために、多機能複写機2206で印刷物2208を読み込ませる。多機能複写機2206は、インデックスコード付画像を解析し、一般コード情報として制御情報を取得し、多機能複写機2206における以後の画像処理を制御している。   When the image processing apparatus according to this embodiment is mounted as a copying machine, each functional module of the image processing apparatus is mounted as an application or middleware of the copying machine. The multi-function copier 2206 creates a code image from control information for controlling image processing for an electronic document, adds the code image to the electronic document, and uses a process such as an electrophotographic method or an ink jet recording method to print a printed matter 2208 is created. The created printed material 2208 is distributed to the user. A user who receives the distribution of the printed material 2208 causes the multi-function copying machine 2206 to read the printed material 2208 in order to perform image processing including image formation, image editing, and image transfer on the printed material 2208. The multi-function copier 2206 analyzes the image with the index code, acquires control information as general code information, and controls subsequent image processing in the multi-function copier 2206.

本実施形態の上記機能は、C、C++、Java(登録商標)、など、レガシープログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。   The above functions of the present embodiment can be realized by a device executable program written in a legacy programming language or an object-oriented programming language such as C, C ++, Java (registered trademark), etc. It can be stored and distributed in a device-readable recording medium such as ROM, MO, flexible disk, EEPROM, EPROM, etc., and can be transmitted via a network in a format that other devices can.

これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。   Although the present embodiment has been described so far, the present invention is not limited to the above-described embodiment, and other embodiments, additions, changes, deletions, and the like can be conceived by those skilled in the art. It can be changed, and any aspect is within the scope of the present invention as long as the effects and effects of the present invention are exhibited.

本実施形態の画像処理装置の実施形態のハードウェア機能ブロックを示した図。The figure which showed the hardware functional block of embodiment of the image processing apparatus of this embodiment. 本実施形態の画像処理装置を、他の実施形態である複写機200として実装した場合の複写機200のハードウェア機能ブロックを示した図。FIG. 3 is a diagram illustrating hardware functional blocks of a copier 200 when the image processing apparatus according to the present embodiment is mounted as a copier 200 according to another embodiment. 本実施形態の画像処理装置300のソフトウェア機能ブロックを示した図。The figure which showed the software functional block of the image processing apparatus 300 of this embodiment. 図3に示したインデックスコード付画像作成部330が実行する処理の実施形態のフローチャート。4 is a flowchart of an embodiment of processing executed by the index code-added image creation unit 330 shown in FIG. 3. 図4の処理で使用する描画データのデータ構造500、付随データのデータ構造510、およびコード配置情報リストのデータ構造520の実施形態を示した図。FIG. 5 is a diagram showing an embodiment of a data structure 500 of drawing data, a data structure 510 of accompanying data, and a data structure 520 of a code arrangement information list used in the processing of FIG. 4. インデックスコード作成部336がインデックスコードを作成する処理の実施形態についてのフローチャート。The flowchart about embodiment of the process which the index code preparation part 336 produces an index code. 画像合成部340が実行する処理のフローチャート。The flowchart of the process which the image synthetic | combination part 340 performs. 本実施形態の画像処理装置300が作成した電子ドキュメント800の実施形態を示した図。FIG. 3 is a diagram showing an embodiment of an electronic document 800 created by the image processing apparatus 300 of the embodiment. 図8で説明した処理を経て画像形成エンジン320から出力された印刷物900の実施形態を示した図。FIG. 9 is a diagram illustrating an embodiment of a printed matter 900 output from the image forming engine 320 through the processing described in FIG. 8. 本実施形態の画像処理装置がインデックスコート付画像の読取りを実行する場合、インデックスコード読取部360が実行する処理のフローチャート。The flowchart of the process which the index code reading part 360 performs when the image processing apparatus of this embodiment performs reading of the image with an index coat. 読取り角度およびデコードしたコード配置情報リスト520を取得した一般コード情報読取部366が実行する処理の実施形態を示した図。The figure which showed embodiment of the process which the general code information reading part 366 which acquired the read angle | corner and the decoded code arrangement | positioning information list 520 performs. 一般コード情報読取部366が生成する一般コード情報リスト1200の実施形態を示した図。The figure which showed embodiment of the general code information list | wrist 1200 which the general code information reading part 366 produces | generates. アプリケーション352がスキャナ356を使用して画像を取得し、取得した画像データから一般コード情報リスト1200を生成するまでの処理の説明図。Explanatory drawing of a process until the application 352 acquires an image using the scanner 356, and produces | generates the general code information list 1200 from the acquired image data. 画像処理装置の第2の実施形態についての説明図。Explanatory drawing about 2nd Embodiment of an image processing apparatus. 第3の実施形態の画像処理装置1500を示した図。The figure which showed the image processing apparatus 1500 of 3rd Embodiment. 画像処理装置の第5の実施形態におけるインデックスコード作成部336の処理のフローチャート。The flowchart of the process of the index code preparation part 336 in 5th Embodiment of an image processing apparatus. 画像処理装置の第5の実施形態で、インデックスコード取得部332が実行する処理のフローチャート。10 is a flowchart of processing executed by an index code acquisition unit 332 in the fifth embodiment of the image processing apparatus. 第6の実施形態の画像処理装置が使用するコード配置情報リスト1800の実施形態を示した図。The figure which showed embodiment of the code | cord | chord arrangement | positioning information list | wrist 1800 which the image processing apparatus of 6th Embodiment uses. 第6の実施形態におけるインデックスコード読取部364の処理のフローチャート。10 is a flowchart of processing of an index code reading unit 364 according to the sixth embodiment. 本発明の第6の実施形態におけるインデックスコード読取部364の処理のフローチャート。The flowchart of the process of the index code reading part 364 in the 6th Embodiment of this invention. 第7の実施形態の画像処理装置が実行する処理のフローチャート。10 is a flowchart of processing executed by an image processing apparatus according to a seventh embodiment. 本実施形態の画像処理装置の実装形態2200を示した図。The figure which showed the mounting form 2200 of the image processing apparatus of this embodiment.

符号の説明Explanation of symbols

100…パーソナルコンピュータ、102…CPU、104…ROM/RAM、106…HDD、108…通信部、110…ドライブ装置、112…表示装置、114…入力装置、116…記録媒体、118…システムバス・I/Oバス、200…複写機、210…コントローラ、240…エンジン部、300…画像処理装置、310…印刷物出力機能部、350…インデックスコード付画像取得部、312、352…アプリケーション、314…グラフィックエンジン、316…プリンタドライバ、318…スプーラ、320…画像形成エンジン、354…TWAINドライバ、360…インデックスコード付画像読取部、362…デコーダ、364…インデックスコード読取部、366…一般コード情報読取部 DESCRIPTION OF SYMBOLS 100 ... Personal computer, 102 ... CPU, 104 ... ROM / RAM, 106 ... HDD, 108 ... Communication part, 110 ... Drive apparatus, 112 ... Display apparatus, 114 ... Input device, 116 ... Recording medium, 118 ... System bus | I / O bus, 200 ... copier, 210 ... controller, 240 ... engine unit, 300 ... image processing device, 310 ... printed matter output function unit, 350 ... image acquisition unit with index code, 312, 352 ... application, 314 ... graphic engine 316 ... Printer driver, 318 ... Spooler, 320 ... Image forming engine, 354 ... TWAIN driver, 360 ... Image reading unit with index code, 362 ... Decoder, 364 ... Index code reading unit, 366 ... General code information reading unit

Claims (19)

1つ以上の符号化したコード画像を付加した電子ドキュメントの印刷データを作成する画像処理装置であって、
前記電子ドキュメントから描画データを作成する描画データ作成手段と、
前記描画データから前記コード画像を読取って前記コード画像をデコードし、前記デコードの結果から少なくとも前記コード画像が配置されている範囲に関する情報である範囲情報を取得してコード配置情報を作成し、前記コード配置情報をインデックスコード画像にエンコードして、インデックスコード画像を作成し、前記インデックスコード画像を前記描画データに合成することによりインデックスコード付画像を作成するインデックスコード付画像作成手段と、
を含む画像処理装置。
An image processing apparatus for creating print data of an electronic document to which one or more encoded code images are added,
Drawing data creating means for creating drawing data from the electronic document;
Reading the code image from the drawing data, decoding the code image, obtaining range information that is information on a range where the code image is arranged at least from the decoding result, creating code arrangement information, An index code-attached image creating means for creating an index code image by encoding code arrangement information into an index code image, creating an index code image, and combining the index code image with the drawing data;
An image processing apparatus.
請求項1に記載の画像処理装置はさらに、
前記描画データを受領して前記インデックスコード画像作成手段に渡し、前記インデックスコード付画像を受領して印刷データを作成する印刷データ作成手段と、
前記印刷データ作成手段の作成した前記印刷データを受領順に出力して印刷物を作成させるキュー手段と、
を含むことを特徴とする画像処理装置。
The image processing apparatus according to claim 1 further includes:
Print data creation means for receiving the drawing data and passing it to the index code image creation means, receiving the image with the index code and creating print data;
Queue means for outputting the print data created by the print data creation means in order of receipt to create a printed matter;
An image processing apparatus comprising:
前記インデックスコード付画像作成手段は、コード配置情報取得手段と、インデックスコード作成手段と、画像合成手段とを含み、
前記コード配置情報取得手段は、前記描画データを受領してデコーダにより前記描画データの画像をデコードし、前記範囲情報を前記コーディング情報と対として登録する前記コード配置情報を作成し、
前記インデックスコード作成手段は、前記コード配置情報を受領し、エンコーダによりインデックスコード画像を作成し、
前記画像合成手段は、前記インデックスコード画像を、前記描画データの画像を描画するための描画コマンドの付属データに追加して前記インデックスコード画像が付加されたインデックスコード付画像を作成して、前記印刷データ作成手段に渡す、請求項1または2に記載の画像処理装置。
The index code-added image creation means includes code arrangement information acquisition means, index code creation means, and image composition means,
The code arrangement information acquisition means receives the drawing data, decodes the image of the drawing data by a decoder, creates the code arrangement information for registering the range information as a pair with the coding information,
The index code creating means receives the code arrangement information, creates an index code image by an encoder,
The image composition means adds the index code image to data attached to a drawing command for drawing an image of the drawing data, creates an image with an index code to which the index code image is added, and prints The image processing apparatus according to claim 1, wherein the image processing apparatus transfers the data to a data creation unit.
前記コード配置情報はさらに、前記コード画像のコーディング種類、および、回転角度を含み、
前記コード配置情報取得手段は、前記描画データを受領してデコーダにより前記描画データの画像をデコードし、前記コード画像のコーディング種類、前記範囲情報、および、回転角度を前記コーディング情報と対として登録する前記コード配置情報を作成する、
請求項1から3のいずれか1項に記載の画像処理装置。
The code arrangement information further includes a coding type and a rotation angle of the code image,
The code arrangement information acquisition unit receives the drawing data, decodes the image of the drawing data by a decoder, and registers the coding type, the range information, and the rotation angle of the code image as a pair with the coding information. Creating the code arrangement information;
The image processing apparatus according to claim 1.
前記コード配置情報は、複数の前記コード画像に対応する前記コーディング種類、前記範囲情報および前記回転角度を対応付けて登録するコード配置情報リストである、請求項1から4のいずれか1項に記載の画像処理装置。   5. The code arrangement information according to claim 1, wherein the code arrangement information is a code arrangement information list in which the coding type, the range information, and the rotation angle corresponding to a plurality of the code images are registered in association with each other. Image processing apparatus. 前記インデックスコード画像は、前記描画データに対し単一または複数配置される、請求項1から5のいずれか1項に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the index code image is arranged in a single or a plurality for the drawing data. 単一の前記インデックスコード画像は、前記電子ドキュメントが含む前記コード画像の全部のコード配置情報を含み、複数の前記インデックスコード画像が配置される場合、前記インデックスコード画像は、前記コード画像の全部のコード配置情報を含むか、または複数の前記インデックスコード画像を総合した場合に、前記コード画像の全部の前記コード配置情報を与えるように、分散された前記コード配置情報を含む、請求項6に記載の画像処理装置。   The single index code image includes all code arrangement information of the code image included in the electronic document, and when a plurality of the index code images are arranged, the index code image includes all of the code images. The code arrangement information is distributed so as to include the code arrangement information or to provide the code arrangement information of all of the code images when a plurality of the index code images are combined. Image processing apparatus. 1つ以上のコード画像と、少なくとも前記コード画像が配置されている範囲に関する情報である範囲情報を指定するインデックスコード画像とを含む印刷物から、前記コード画像を抽出して画像処理を制御する画像処理装置であって、
前記印刷物を読取ってインデックスコード付画像を生成するスキャナ手段と、
前記スキャナ手段が作成した前記インデックスコード付画像を受領し、前記インデックスコード付画像から取得された前記コード画像を使用して画像処理を実行するアプリケーション手段と、
前記アプリケーション手段から、前記インデックスコード付画像を受領し、インデックスコードを読取り、読取ったインデックスコードをデコードしてデコードが成功した場合にデコード結果を使用して前記インデックスコード付画像が含む前記コード画像をデコードし一般コード情報を取得して前記アプリケーション手段に返す、インデックスコード付画像読取手段と
を含む画像処理装置。
Image processing for controlling image processing by extracting the code image from a printed matter including one or more code images and an index code image that specifies at least range information that is information regarding a range in which the code image is arranged A device,
Scanner means for reading the printed matter and generating an image with an index code;
Application means for receiving the image with the index code created by the scanner means and executing image processing using the code image acquired from the image with the index code;
The image with index code is received from the application means, the index code is read, the read index code is decoded, and when the decoding is successful, the code image included in the index code-added image using the decoding result An image processing apparatus comprising: an index code-added image reading unit that decodes and acquires general code information and returns the information to the application unit.
前記インデックスコード画像はさらに、前記コード画像のコーディング種類、および、回転角度を含み、
前記インデックスコード付画像読取手段は、インデックスコード読取手段と、一般コード情報読取手段とを含み、
前記インデックスコード読取手段は、前記インデックスコード付画像を受領してデコーダにより前記インデックスコード付画像から、インデックスコードを識別して前記コーディング情報、前記範囲情報および前記回転角度を前記コーディング情報と対として登録する前記コード配置情報をデコードし、
前記一般コード情報読取手段は、前記インデックスコード読取手段の前記デコード結果として前記コード配置情報を受領し、前記インデックスコード付画像が含む前記コード画像をデコードし一般コード情報を取得して前記アプリケーション手段に返す、請求項8に記載の画像処理装置。
The index code image further includes a coding type of the code image and a rotation angle,
The image reading unit with an index code includes an index code reading unit and a general code information reading unit,
The index code reading unit receives the index code-added image, identifies an index code from the index code-added image by a decoder, and registers the coding information, the range information, and the rotation angle as a pair with the coding information. Decoding the code arrangement information
The general code information reading unit receives the code arrangement information as the decoding result of the index code reading unit, decodes the code image included in the index code-added image, acquires general code information, and sends it to the application unit. The image processing apparatus according to claim 8, which is returned.
前記コード配置情報は、複数の前記コード画像に対応する前記コーディング種類、前記範囲情報および前記回転角度を対応付けて登録するコード配置情報リストである、請求項8または9に記載の画像処理装置。   The image processing apparatus according to claim 8 or 9, wherein the code arrangement information is a code arrangement information list that registers the coding type, the range information, and the rotation angle corresponding to a plurality of the code images in association with each other. 前記インデックスコード画像は、前記描画データに対し単一または複数配置され、単一の前記インデックスコード画像は、前記インデックスコード付画像が含む前記コード画像の全部のコード配置情報を含み、複数の前記インデックスコード画像が配置される場合、前記インデックスコード画像は、前記コード画像の全部のコード配置情報を含むか、または複数の前記インデックスコード画像を総合した場合に、前記コード画像の全部の前記コード配置情報を与えるように、分散された前記コード配置情報を含む、請求項8から10のいずれか1項に記載の画像処理装置。   The index code image is arranged singly or in plurality with respect to the drawing data, and the single index code image includes all code arrangement information of the code image included in the image with index code, and a plurality of the index codes. When a code image is arranged, the index code image includes all code arrangement information of the code image, or when a plurality of the index code images are combined, all the code arrangement information of the code image The image processing apparatus according to claim 8, comprising the code arrangement information distributed so as to provide 1つ以上の符号化したコード画像を付加した電子ドキュメントの印刷データを作成する画像処理装置であって、
前記電子ドキュメントから描画データを作成する描画データ作成手段と、
前記描画データから前記コード画像を読取って前記コード画像をデコードし、前記デコードの結果から少なくとも前記コード画像が配置されている範囲に関する情報である範囲情報を取得してコード配置情報を作成し、前記コード配置情報をインデックスコード画像にエンコードして、インデックスコード画像を作成し、前記インデックスコード画像を前記描画データに合成することによりインデックスコード付画像を作成するインデックスコード付画像作成手段と、
前記印刷物を読取って生成されたインデックスコード付画像を受領し、前記インデックスコード付画像から取得された前記コード画像を使用して画像処理を実行するアプリケーション手段と、
前記アプリケーション手段から、前記インデックスコード付画像を受領し、インデックスコードを読取り、読取ったインデックスコードをデコードしてデコードが成功した場合にデコード結果を使用して前記インデックスコード付画像が含む前記コード画像をデコードし一般コード情報を取得して前記アプリケーション手段に返す、インデックスコード付画像読取手段と
を含む画像処理装置。
An image processing apparatus for creating print data of an electronic document to which one or more encoded code images are added,
Drawing data creating means for creating drawing data from the electronic document;
The code image is read from the drawing data, the code image is decoded, and at least the range information that is information about the range where the code image is arranged is obtained from the decoding result to create code arrangement information, An index code-added image creating means for creating an index code image by encoding code arrangement information into an index code image, creating an index code image, and synthesizing the index code image with the drawing data;
Application means for receiving an image with an index code generated by reading the printed matter and executing image processing using the code image acquired from the image with an index code;
The image with the index code is received from the application means, the index code is read, the read index code is decoded, and when the decoding is successful, the code image included in the index code-added image using the decoding result An image processing apparatus comprising: an index code-added image reading unit that decodes and acquires general code information and returns the information to the application unit.
前記コード配置情報は、複数の前記コード画像に対応する前記コーディング種類、前記範囲情報および前記回転角度を対応付けて登録するコード配置情報リストである、請求項12に記載の画像処理装置。   The image processing apparatus according to claim 12, wherein the code arrangement information is a code arrangement information list that registers the coding type, the range information, and the rotation angle corresponding to a plurality of code images in association with each other. 前記画像処理装置は、複写機またはパーソナルコンピュータである、請求項12または13に記載の画像処理装置。   The image processing apparatus according to claim 12 or 13, wherein the image processing apparatus is a copying machine or a personal computer. 画像処理装置が実行し、1つ以上の符号化したコード画像を付加した電子ドキュメントの印刷データを作成する画像処理方法であって、前記画像処理装置が、
前記電子ドキュメントから描画データを作成するステップと、
前記描画データから前記コード画像を読取って前記コード画像をデコードするステップと、
前記デコードの結果から少なくとも前記コード画像が配置されている範囲に関する情報である範囲情報を取得してコード配置情報を作成するステップと、
前記コード配置情報をインデックスコード画像にエンコードして、インデックスコード画像を作成し、前記インデックスコード画像を前記描画データに合成することによりインデックスコード付画像を作成するステップと
を実行する、画像処理方法。
An image processing method executed by an image processing apparatus to create print data of an electronic document to which one or more encoded code images are added, the image processing apparatus comprising:
Creating drawing data from the electronic document;
Reading the code image from the drawing data and decoding the code image;
Obtaining range information, which is information relating to a range where at least the code image is arranged, from the decoding result, and creating code arrangement information;
An image processing method, comprising: encoding the code arrangement information into an index code image to create an index code image, and synthesizing the index code image with the drawing data to create an image with an index code.
画像処理装置が実行し、1つ以上のコード画像と、前記コード画像のコーディング種類、範囲情報および回転角度を指定するインデックスコード画像とを含む印刷物から、前記コード画像を抽出して画像処理を制御する画像処理方法であって、
前記印刷物を読取ってインデックスコード付画像を生成するステップと、
前記スキャナ手段が作成した前記インデックスコード付画像を受領するステップと、
前記インデックスコード付画像を受領し、インデックスコードを読取り、読取ったインデックスコードをデコードするステップと、
前記デコードが成功した場合にデコード結果であるコード配置情報を使用して前記インデックスコード付画像が含む前記コード画像をデコードし、一般コード情報を取得して画像処理を実行するステップと
を実行する、画像処理方法。
The image processing apparatus executes and controls the image processing by extracting the code image from a printed matter including one or more code images and an index code image that specifies the coding type, range information, and rotation angle of the code image. An image processing method for
Reading the printed matter to generate an image with an index code;
Receiving the image with the index code created by the scanner means;
Receiving the image with the index code, reading the index code, and decoding the read index code;
Decoding the code image included in the image with the index code using the code arrangement information which is a decoding result when the decoding is successful, obtaining general code information and executing image processing; and Image processing method.
請求項1〜7のいずれか1項に記載の機能手段を、画像処理装置上に実現するための装置実行可能なプログラム。   An apparatus-executable program for realizing the functional means according to any one of claims 1 to 7 on an image processing apparatus. 請求項8〜11のいずれか1項に記載の機能手段を、画像処理装置上に実現するための装置実行可能なプログラム。   An apparatus-executable program for realizing the functional means according to any one of claims 8 to 11 on an image processing apparatus. 請求項12に記載の機能手段を画像処理装置上に実現するための装置実行可能なプログラム。   An apparatus-executable program for realizing the functional means according to claim 12 on an image processing apparatus.
JP2008221727A 2008-08-29 2008-08-29 Image processing apparatus, image processing method, and program Expired - Fee Related JP5211941B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008221727A JP5211941B2 (en) 2008-08-29 2008-08-29 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008221727A JP5211941B2 (en) 2008-08-29 2008-08-29 Image processing apparatus, image processing method, and program

Publications (2)

Publication Number Publication Date
JP2010057058A true JP2010057058A (en) 2010-03-11
JP5211941B2 JP5211941B2 (en) 2013-06-12

Family

ID=42072468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008221727A Expired - Fee Related JP5211941B2 (en) 2008-08-29 2008-08-29 Image processing apparatus, image processing method, and program

Country Status (1)

Country Link
JP (1) JP5211941B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8590775B2 (en) 2009-07-30 2013-11-26 Ricoh Company, Limited Image processing apparatus, image processing method, and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043308A (en) * 1999-07-27 2001-02-16 Hitachi Ltd Bar code reading method and bar code reading system
JP2006211535A (en) * 2005-01-31 2006-08-10 Fuji Xerox Co Ltd Image processing apparatus, control method of computer and program
JP2007304890A (en) * 2006-05-11 2007-11-22 Hypergear:Kk Reading method of two-dimensional code, and electronic document generation device
JP2008187241A (en) * 2007-01-26 2008-08-14 Fuji Xerox Co Ltd Image processing unit and image processing program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043308A (en) * 1999-07-27 2001-02-16 Hitachi Ltd Bar code reading method and bar code reading system
JP2006211535A (en) * 2005-01-31 2006-08-10 Fuji Xerox Co Ltd Image processing apparatus, control method of computer and program
JP2007304890A (en) * 2006-05-11 2007-11-22 Hypergear:Kk Reading method of two-dimensional code, and electronic document generation device
JP2008187241A (en) * 2007-01-26 2008-08-14 Fuji Xerox Co Ltd Image processing unit and image processing program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8590775B2 (en) 2009-07-30 2013-11-26 Ricoh Company, Limited Image processing apparatus, image processing method, and computer readable storage medium

Also Published As

Publication number Publication date
JP5211941B2 (en) 2013-06-12

Similar Documents

Publication Publication Date Title
US7681121B2 (en) Image processing apparatus, control method therefor, and program
EP2264995B1 (en) Image processing apparatus, image processing method, and computer program
JP4738180B2 (en) Image processing apparatus and electronic file generation method
US7542605B2 (en) Image processing apparatus, control method therefor, and program
US7957038B2 (en) Code information printing apparatus, printing method, restoration apparatus, and restoration method
US20060114484A1 (en) Image processing apparatus and method therefor
JP2007174270A (en) Image processing apparatus, image processing method, storage medium, and program
US8054508B2 (en) Image processing apparatus, method, and computer program product that generates and encodes coupled information identifying image copying and processing devices
JPH04280163A (en) Picture processor
JP4945372B2 (en) Multi-function input / output device and control method thereof, multi-function input / output device control program, and recording medium
JP4983610B2 (en) Image processing device
EP2403228B1 (en) Image scanning apparatus, computer readable medium, and image storing method
EP2146302A1 (en) Apparatus, method, program, and storage medium
EP2040451B1 (en) Information processing apparatus and information processing method
JP5211941B2 (en) Image processing apparatus, image processing method, and program
JP2009033589A (en) Image forming apparatus, program and recording medium
JP4049169B2 (en) Image processing apparatus, image processing method, and image processing program
JP2008085824A (en) Image processing system, image processing apparatus, server device, image processing method, and program
JP2008160339A (en) Image forming apparatus
JP2007328487A (en) Two dimensional code generation device, two dimensional code generation method, two dimensional code generation program, information embedding device, information embedding method, information embedding program, and two dimensional code
JP2004338292A (en) Color image processing device, image processing method and image processing program
JP5062633B2 (en) Image processing apparatus, image processing method, and program
JP2006203667A (en) Image processing device, image processing method and image processing program
JP2009130525A (en) Image processor
JP2006146316A (en) Image processor and system control method therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130211

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees