JP5665428B2 - Image processing apparatus and image processing method - Google Patents

Image processing apparatus and image processing method Download PDF

Info

Publication number
JP5665428B2
JP5665428B2 JP2010194047A JP2010194047A JP5665428B2 JP 5665428 B2 JP5665428 B2 JP 5665428B2 JP 2010194047 A JP2010194047 A JP 2010194047A JP 2010194047 A JP2010194047 A JP 2010194047A JP 5665428 B2 JP5665428 B2 JP 5665428B2
Authority
JP
Japan
Prior art keywords
images
rectangle
frames
image
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010194047A
Other languages
Japanese (ja)
Other versions
JP2012054677A (en
JP2012054677A5 (en
Inventor
隆介 奥原
隆介 奥原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010194047A priority Critical patent/JP5665428B2/en
Priority to US13/184,339 priority patent/US8842934B2/en
Priority to KR1020110071248A priority patent/KR101403521B1/en
Priority to CN2011102044509A priority patent/CN102339215A/en
Publication of JP2012054677A publication Critical patent/JP2012054677A/en
Publication of JP2012054677A5 publication Critical patent/JP2012054677A5/ja
Application granted granted Critical
Publication of JP5665428B2 publication Critical patent/JP5665428B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、一枚の用紙への複数の画像の印刷に好適な画像処理装置及び画像処理方法等に関する。   The present invention relates to an image processing apparatus and an image processing method suitable for printing a plurality of images on one sheet of paper.

従来、画像処理装置により、一枚の用紙に複数の画像が印刷されることがある。但し、このような印刷では、多くの場合、各画像が互いに等しいサイズに調整された上で、予め定められた位置に配置されている。つまり、均等割付により各画像の大きさ及び位置が定められている。この場合、当該一枚の用紙に印刷された複数の画像を一つの印刷物として観察すると、当該印刷物は変化に乏しいと言われることがある。   Conventionally, a plurality of images may be printed on one sheet by an image processing apparatus. However, in such printing, in many cases, each image is adjusted to the same size and arranged at a predetermined position. That is, the size and position of each image are determined by equal allocation. In this case, when a plurality of images printed on the single sheet are observed as one printed matter, the printed matter may be said to be poorly changed.

また、複数の画像の配置の位置を中心が黄金比の整数倍で画像が重ならないように配置する技術が特許文献1に記載され、複数種類のテンプレートを重ね合わせることによって複数の画像が不規則に配置されたように見せる技術が特許文献2に記載されている。   In addition, Japanese Patent Application Laid-Open No. 2004-151867 describes a technique for arranging a plurality of images at positions where the center is an integer multiple of the golden ratio so that the images do not overlap, and the plurality of images are irregularly formed by superimposing a plurality of types of templates. Japanese Patent Application Laid-Open No. H10-228707 describes a technique that makes it appear as if it is arranged in the above.

特開2005−79817号公報JP-A-2005-79817 特開2008−289075号公報JP 2008-289075 A

しかしながら、特許文献1に記載の技術では、画像間に多くの空白部が生じやすく、用紙に多くの無駄な部分が生成されてしまう。また、特許文献2に記載の技術では、テンプレートのサイズに合わない画像は、強制的にその一部が削除されてしまう。   However, in the technique described in Patent Document 1, many blank portions are likely to be generated between images, and many wasted portions are generated on the paper. Also, with the technique described in Patent Document 2, a part of an image that does not fit the template size is forcibly deleted.

本発明は、複数の画像から変化に富んだ1つの画像を生成することができる画像処理装置及び画像処理方法等を提供することを目的とする。   An object of the present invention is to provide an image processing apparatus, an image processing method, and the like that can generate one image rich in change from a plurality of images.

本発明に係る画像処理装置は、複数の画像を自動レイアウトする画像処理装置であって、複数の画像を2以上の複数のブロックに分割し、ブロック毎に、当該ブロックに含まれる画像のコマを配置するための矩形を生成する矩形生成手段と、矩形生成手段により生成された矩形のうち2つずつを結合して新たな矩形を生成していくことにより、複数のブロックからなる矩形であって、複数の画像のコマが配置される矩形を生成し、複数の画像のコマの配置を決定する決定手段と、特定の画像が、前記複数の画像のコマのうちコマのサイズが上位となる大きいコマに配置されるように、決定手段を制御する制御手段とを有することを特徴とする。 An image processing apparatus according to the present invention is an image processing apparatus that automatically lays out a plurality of images, and divides the plurality of images into two or more blocks, and for each block, frames of images included in the blocks are divided. A rectangle composed of a plurality of blocks is generated by combining a rectangle generating unit that generates a rectangle for placement and two of the rectangles generated by the rectangle generating unit to generate a new rectangle. Determining means for generating a rectangle in which a plurality of image frames are arranged and determining the arrangement of the plurality of image frames; and a specific image is a large image having a frame size higher than the plurality of image frames. And control means for controlling the determining means so as to be arranged on the top.

本発明によれば、無駄な余白を含むことなく複数の画像を配置した1つの画像を生成することができる。   According to the present invention, it is possible to generate one image in which a plurality of images are arranged without including useless margins.

印刷装置により出力された画像の例を示す図である。It is a figure which shows the example of the image output by the printing apparatus. 印刷装置の内部構成の概要を示す図である。FIG. 2 is a diagram illustrating an outline of an internal configuration of a printing apparatus. 印刷方法の概要を示すフローチャートである。6 is a flowchart illustrating an outline of a printing method. 第1の実施形態の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of 1st Embodiment. コマの基準サイズの具体例を示す図である。It is a figure which shows the specific example of the reference | standard size of a flame | frame. コマ群のサイズ及び位置を調整する方法を示す図である。It is a figure which shows the method of adjusting the size and position of a frame group. 2個のコマを縦方向に並べてコマ群を生成する方法を示す図である。It is a figure which shows the method of arranging two frames in the vertical direction and producing | generating a frame group. N個のコマからコマ群を生成する方法を示すフローチャートである。It is a flowchart which shows the method of producing | generating a frame group from N frames. N個のコマのグループへの分割方法の例を示す図である。It is a figure which shows the example of the division | segmentation method into the group of N frames. ブロック番号kの矩形の作成方法の例を示す図である。It is a figure which shows the example of the creation method of the rectangle of the block number k. 総コマ数Nが11の場合のコマ群の生成方法を示す図である。It is a figure which shows the production | generation method of a frame group in case the total frame number N is 11. FIG. 第2の実施形態の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of 2nd Embodiment. 十字チェックの内容を示す図である。It is a figure which shows the content of a cross check. ステップS1202の処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of a process of step S1202. 第3の実施形態の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of 3rd Embodiment.

以下、本発明の実施形態について添付の図面を参照して具体的に説明する。先ず、各実施形態に共通の事項について説明する。図1は、実施形態に係る印刷装置(画像処理装置)により出力された画像の例を示す図である。この例では、用紙201の内部に、例えばユーザにより指定された矩形の用紙レイアウト領域(印刷可能領域)202が設定されている。また、例えばユーザにより指定された複数の画像(ここでは、11個の画像)が隙間なく不規則(ランダム)に配置され、これらの画像群203の外縁も矩形となっている。なお、各画像の倍率は、ユーザにより指定された時のものから適宜調整されている。即ち、各画像のサイズが、ユーザにより指定された時のものから適宜調整されているのに対し、各画像のアスペクト比は、縮尺又は拡大に伴う計算誤差を除き、ユーザにより指定された時のものと一致している。そして、画像群203の外縁を構成する2組の平行な2辺のうちの1組が、用紙レイアウト領域202を構成する2組の平行な2辺のうちの1組に重なっている。   Hereinafter, embodiments of the present invention will be specifically described with reference to the accompanying drawings. First, matters common to the embodiments will be described. FIG. 1 is a diagram illustrating an example of an image output by a printing apparatus (image processing apparatus) according to the embodiment. In this example, a rectangular paper layout area (printable area) 202 designated by the user, for example, is set inside the paper 201. Also, for example, a plurality of images (here, 11 images) designated by the user are arranged irregularly (randomly) without gaps, and the outer edges of these image groups 203 are also rectangular. Note that the magnification of each image is appropriately adjusted from that at the time specified by the user. That is, the size of each image is appropriately adjusted from that specified by the user, while the aspect ratio of each image is the same as that when specified by the user, excluding calculation errors due to scale or enlargement. Is consistent with the one. One set of two parallel sides constituting the outer edge of the image group 203 overlaps one set of two parallel sides constituting the paper layout area 202.

本発明の実施形態では、複数の画像から、図1に示すようなレイアウトの画像群203を一枚の用紙に生成する。   In the embodiment of the present invention, an image group 203 having a layout as shown in FIG. 1 is generated on a single sheet from a plurality of images.

次に、各実施形態に係る印刷装置の内部構成の概要について説明する。図2は、印刷装置の内部構成の概要を示す図である。   Next, the outline of the internal configuration of the printing apparatus according to each embodiment will be described. FIG. 2 is a diagram illustrating an outline of the internal configuration of the printing apparatus.

この印刷装置100では、CPU101、内蔵記憶装置102、メモリ103、表示制御部104、操作部105、画像入力部106、画像処理部107、及び印刷部108が内部バス111を介して互いに接続されている。従って、CPU101、内蔵記憶装置102、メモリ103、表示制御部104、操作部105、画像入力部106、画像処理部107、及び印刷部108は、内部バス111を介して互いにデータのやりとりを行うことができる。   In the printing apparatus 100, a CPU 101, a built-in storage device 102, a memory 103, a display control unit 104, an operation unit 105, an image input unit 106, an image processing unit 107, and a printing unit 108 are connected to each other via an internal bus 111. Yes. Therefore, the CPU 101, built-in storage device 102, memory 103, display control unit 104, operation unit 105, image input unit 106, image processing unit 107, and printing unit 108 exchange data with each other via the internal bus 111. Can do.

内蔵記憶装置102には、画像データ等のデータ、及びCPU101が動作するための各種プログラム等が格納される。メモリ103としては、例えばRAMが用いられる。操作部105は、ユーザ操作を受け付け、操作に応じた制御信号を生成し、CPU101に供給する。操作部105としては、例えば、ユーザ操作を受け付ける入力デバイスとして、キーボード等の文字情報入力デバイス、マウス及びタッチパネル等のポインティングデバイス、操作ボタン等が用いられる。タッチパネルは、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。CPU101は、例えば、ユーザ操作に応じて操作部105により生成された制御信号を受け取り、この制御信号に基づいて内蔵記憶装置102に格納されているプログラムを読み出し、このプログラムに従い、印刷装置100の各部を制御する。この際に、メモリ103がCPU101のワークメモリとして適宜用いられる。ユーザは、このようにして、操作部105に対する操作に応じた動作を印刷装置100に行わせることができる。   The built-in storage device 102 stores data such as image data and various programs for the CPU 101 to operate. For example, a RAM is used as the memory 103. The operation unit 105 receives a user operation, generates a control signal corresponding to the operation, and supplies the control signal to the CPU 101. As the operation unit 105, for example, a character information input device such as a keyboard, a pointing device such as a mouse and a touch panel, an operation button, or the like is used as an input device that receives a user operation. The touch panel is an input device that outputs coordinate information according to a position touched with respect to an input unit configured in a planar manner, for example. For example, the CPU 101 receives a control signal generated by the operation unit 105 in response to a user operation, reads a program stored in the internal storage device 102 based on the control signal, and according to the program, each unit of the printing apparatus 100 To control. At this time, the memory 103 is appropriately used as a work memory of the CPU 101. In this way, the user can cause the printing apparatus 100 to perform an operation corresponding to the operation on the operation unit 105.

表示制御部104は、ディスプレイ110に対して画像を表示させるための表示信号を出力する。例えば、表示制御部104に対して、CPU101がプログラムに従い生成した表示制御信号が供給される。表示制御部104は、この表示制御信号に基づき表示信号を生成してディスプレイ110に対して出力する。例えば、表示制御部104は、CPU101が生成する表示制御信号に基づき、GUI(Graphical User Interface)を構成するGUI画面をディスプレイ110に対して表示させる。なお、操作部105としてタッチパネルが用いられている場合、操作部105とディスプレイ110とを一体的に構成することができる。例えば、タッチパネルを光の透過率がディスプレイ110の表示を妨げないように構成し、ディスプレイ110の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、ディスプレイ110上の表示座標とを対応付ける。これにより、あたかもユーザがディスプレイ110上に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。   The display control unit 104 outputs a display signal for displaying an image on the display 110. For example, a display control signal generated by the CPU 101 according to a program is supplied to the display control unit 104. The display control unit 104 generates a display signal based on the display control signal and outputs the display signal to the display 110. For example, the display control unit 104 causes the display 110 to display a GUI screen configuring a GUI (Graphical User Interface) based on a display control signal generated by the CPU 101. When a touch panel is used as the operation unit 105, the operation unit 105 and the display 110 can be configured integrally. For example, the touch panel is configured such that the light transmittance does not hinder the display of the display 110 and is attached to the upper layer of the display surface of the display 110. Then, the input coordinates on the touch panel are associated with the display coordinates on the display 110. Thereby, it is possible to configure a GUI as if the user can directly operate the screen displayed on the display 110.

画像入力部106としては、例えば外部記憶媒体122との間でデータの授受を行うドライブ装置、通信インターフェイス等が用いられる。ドライブ装置は、例えば、CD、DVD、メモリカード等の外部記憶媒体122が装着可能に構成されており、CPU101の制御に基づき、装着された外部記憶媒体122からのデータの読み出し、及び外部記憶媒体122に対するデータの書き込みを行う。通信インターフェイスは、CPU101の制御に基づき、LAN若しくはインターネット等のネットワーク120に対する通信、又は携帯電話若しくはデジタルカメラ等の外部通信機器121に対する通信を行う。   As the image input unit 106, for example, a drive device that exchanges data with the external storage medium 122, a communication interface, or the like is used. The drive device is configured such that an external storage medium 122 such as a CD, a DVD, a memory card, or the like can be mounted, for example, reading data from the mounted external storage medium 122 and external storage medium based on the control of the CPU 101 Data is written to 122. The communication interface performs communication with a network 120 such as a LAN or the Internet or communication with an external communication device 121 such as a mobile phone or a digital camera based on the control of the CPU 101.

画像処理部107は内蔵記憶装置102及び画像入力部106より取得した画像データに対し、所定の画像補間、拡大又は縮小等のリサイズ処理、色変換処理、印刷部108が処理できる形式に変換する画像変換処理等を行う。   The image processing unit 107 converts the image data acquired from the internal storage device 102 and the image input unit 106 into a format that can be processed by the resizing process such as predetermined image interpolation, enlargement or reduction, color conversion process, and printing unit 108. Perform conversion processing.

印刷部108は画像処理部107によって処理可能な形式に変換された画像データを用紙に印刷する。   The printing unit 108 prints the image data converted into a format that can be processed by the image processing unit 107 on a sheet.

なお、操作部105が、印刷装置100との間で通信可能なコンピュータ等に設けられていてもよい。また、画像データが当該コンピュータに格納されていてもよい。   Note that the operation unit 105 may be provided in a computer or the like that can communicate with the printing apparatus 100. Further, the image data may be stored in the computer.

上述のように構成された印刷装置100を用いた印刷は、例えば図3に示すフローチャートに沿って行うことができる。図3は、印刷装置100を用いた印刷方法の概要を示すフローチャートである。   Printing using the printing apparatus 100 configured as described above can be performed, for example, according to the flowchart shown in FIG. FIG. 3 is a flowchart illustrating an outline of a printing method using the printing apparatus 100.

先ず、ステップS1001において、ユーザが用紙サイズを選択する。この選択は、例えば操作部105の操作、又は用紙の印刷装置100への装着等によって行われる。次いで、ステップS1002において、ユーザが用紙レイアウトを選択する。ここでは、本発明の実施形態の実行のためには、印刷装置100にレイアウトを委ねる用紙レイアウトを選択する。CPU101は、この選択に基づいて印刷可能領域(用紙レイアウト領域)を設定する。ユーザは、例えば、「自動レイアウト」という名称の用紙レイアウト、又はこれに準ずる名称の用紙レイアウトを選択すればよい。その後、ユーザは、ステップS1003において、内蔵記憶装置102又は画像入力部106に保存されている画像の中から、印刷を所望する複数(N個:Nは自然数)の画像を選択する。この選択は、例えば操作部105の操作によって行われる。このとき、ユーザが、画像毎に印刷を所望する範囲を指定するトリミング設定を併せて行ってもよく、また、印刷の上方向を指定する回転設定等を行ってもよい。続いて、ステップS1004において、ユーザは操作部105の操作によって印刷装置100に印刷の実行を指示する。   First, in step S1001, the user selects a paper size. This selection is performed by, for example, operating the operation unit 105 or mounting a sheet on the printing apparatus 100. Next, in step S1002, the user selects a paper layout. Here, in order to execute the embodiment of the present invention, a paper layout to be left to the printing apparatus 100 is selected. The CPU 101 sets a printable area (paper layout area) based on this selection. For example, the user may select a paper layout named “automatic layout” or a paper layout named similar to this. Thereafter, in step S1003, the user selects a plurality (N: N is a natural number) of images desired to be printed from the images stored in the internal storage device 102 or the image input unit 106. This selection is performed by operating the operation unit 105, for example. At this time, the user may also perform trimming setting for designating a range in which printing is desired for each image, or may perform rotation setting for designating the upward direction of printing. In step S <b> 1004, the user instructs the printing apparatus 100 to execute printing by operating the operation unit 105.

次いで、ステップS1005において、印刷装置100が印刷処理を開始する。その後、ステップS1006において、CPU101は、ユーザによって選択された複数の画像に対するコマ配置の計算を行う。ここで、コマ配置とは、各画像の用紙内での位置及びサイズを意味する。このコマ配置の内容の詳細については後述する。ステップS1006で算出されるコマ配置に関するデータは遂次、メモリ103に記憶されていく。続いて、ステップS1007において、CPU101は、ユーザによって選択された複数の画像を内蔵記憶装置102から読み出し、これらとステップS1006で算出し、メモリ103に記憶されているコマ配置に関するデータを画像処理部107に受け渡し、画像処理部107に印刷データを生成させる。そして、ステップS1008において、CPU101は、ステップS1007で生成された印刷データの用紙への印刷を印刷部108に実行させる。   Next, in step S1005, the printing apparatus 100 starts a printing process. Thereafter, in step S1006, the CPU 101 calculates a frame layout for a plurality of images selected by the user. Here, the frame arrangement means the position and size of each image in the sheet. Details of the contents of this frame arrangement will be described later. Data relating to the frame arrangement calculated in step S1006 is stored in the memory 103 successively. Subsequently, in step S1007, the CPU 101 reads out a plurality of images selected by the user from the internal storage device 102, calculates them in step S1006, and stores data relating to the frame arrangement stored in the memory 103 in the image processing unit 107. The image processing unit 107 generates print data. In step S1008, the CPU 101 causes the printing unit 108 to print the print data generated in step S1007 on a sheet.

(第1の実施形態)
次に、第1の実施形態におけるステップS1006の処理(コマ配置の計算)の概要について説明する。図4は、第1の実施形態におけるステップS1006の処理の概要を示すフローチャートである。
(First embodiment)
Next, an overview of the process (calculation of frame placement) in step S1006 in the first embodiment will be described. FIG. 4 is a flowchart showing an overview of the process of step S1006 in the first embodiment.

ステップS1006では、先ず、ステップS2001において、CPU101は、ユーザにより選択された複数の画像を内蔵記憶装置102又は画像入力部106から検索し、画像毎にコマの基準サイズを取得する。ここで、コマの基準サイズとは、コマの幅及び高さの初期値であり、各々のコマに対応する画像の頭方向を揃えたときの幅及び高さである。   In step S1006, first, in step S2001, the CPU 101 retrieves a plurality of images selected by the user from the built-in storage device 102 or the image input unit 106, and acquires a frame standard size for each image. Here, the frame standard size is an initial value of the frame width and height, and is the width and height when the head direction of the image corresponding to each frame is aligned.

ここで、図5を参照しながら、コマの基準サイズの具体例について説明する。図5(a)は、回転情報が0度であり、かつステップS1003においてユーザによるトリミング設定がなされていな場合の例を示している。図5(b)は、回転情報が90度であり、かつステップS1003においてユーザによるトリミング設定がなされていない場合の例を示している。図5(c)は、回転情報が0度であり、かつステップS1003においてユーザによるトリミング設定がなされている場合の例を示している。なお、回転情報としては、例えば画像に付随している回転情報、又はステップS1003においてユーザにより指定された回転情報のうちで最新のものが用いられる。   Here, a specific example of the frame standard size will be described with reference to FIG. FIG. 5A shows an example in which the rotation information is 0 degree and the trimming setting by the user is not made in step S1003. FIG. 5B shows an example in which the rotation information is 90 degrees and the trimming setting by the user is not made in step S1003. FIG. 5C shows an example in which the rotation information is 0 degree and trimming is set by the user in step S1003. As the rotation information, for example, the latest information among the rotation information attached to the image or the rotation information designated by the user in step S1003 is used.

ステップS2001の後、CPU101は、ステップS2002において、コマの順序を不規則に入れ替える。つまり、コマの順序をシャッフルする。これにより、ユーザは同じ設定で同じ画像を選択して印刷しても毎回違った印刷物を得ることができる。   After step S2001, the CPU 101 changes the order of frames irregularly in step S2002. That is, the order of frames is shuffled. Thereby, even if the user selects and prints the same image with the same setting, a different printed matter can be obtained each time.

次いで、CPU101は、ステップS2003において、ユーザにより選択された複数(N個)の画像に対し、これらのコマを適宜縦横同率で変倍して、N個のコマからなり外縁が矩形のコマ群を生成する。このとき、隣り合うコマの間に隙間が生じないようにコマ群を生成する。この処理の内容の詳細については後述する。   Next, in step S2003, the CPU 101 appropriately scales these frames with respect to a plurality (N) of images selected by the user at the same aspect ratio, thereby generating a frame group consisting of N frames and having a rectangular outer edge. Generate. At this time, a frame group is generated so that no gap is generated between adjacent frames. Details of this processing will be described later.

その後、CPU101は、ステップS2004において、ステップS1002において選択された用紙レイアウトを参照して、コマ群及びこれを構成するN個のコマのサイズ及び位置を調整する。図6は、コマ群のサイズ及び位置を調整する方法を示す図である。ここでは、印刷可能領域(用紙レイアウト領域302)の左上の頂点を原点とし、右方向をx方向、下方向をy方向とする。また、サイズ及び位置の調整前では、コマ群の左上の頂点が原点に位置しているとする。   Thereafter, in step S2004, the CPU 101 refers to the paper layout selected in step S1002, and adjusts the size and position of the frame group and the N frames constituting the frame group. FIG. 6 is a diagram illustrating a method of adjusting the size and position of the frame group. Here, the upper left vertex of the printable area (paper layout area 302) is the origin, the right direction is the x direction, and the lower direction is the y direction. Further, it is assumed that the top left vertex of the frame group is located at the origin before the size and position adjustment.

図6(a)に示すように、「“コマ群301の幅”÷“コマ群301の高さ”≦“用紙レイアウト領域302の幅”÷“用紙レイアウト領域302の高さ”」が成り立つ場合、CPU101は、先ず、コマ群301の幅及び高さを「“用紙レイアウト領域302の高さ”÷“コマ群301の高さ”」倍(リサイズ)する。この結果、コマ群301の高さが用紙レイアウト領域302の高さと一致する。次いで、CPU101は、コマ群301をx方向に「(“用紙レイアウト領域302の幅”−“リサイズ後のコマ群301の幅”)÷2」移動させる。この結果、コマ群301が用紙レイアウト領域302の中心に配置される。   As shown in FIG. 6A, ““ width of frame group 301 ”÷“ height of frame group 301 ”≦“ width of paper layout area 302 ”÷“ height of paper layout area 302 ”is satisfied. First, the CPU 101 multiplies (resizes) the width and height of the frame group 301 by ““ the height of the paper layout area 302 ”÷“ the height of the frame group 301 ”. As a result, the height of the frame group 301 matches the height of the paper layout area 302. Next, the CPU 101 moves the frame group 301 in the x direction “(“ width of paper layout area 302 ”−“ width of frame group 301 after resizing ”) / 2”. As a result, the frame group 301 is arranged at the center of the paper layout area 302.

一方、図6(b)に示すように、「“コマ群301の幅”÷“コマ群301の高さ”>“用紙レイアウト領域302の幅”÷“用紙レイアウト領域302の高さ”」成り立つ場合、CPU101は、先ず、コマ群301の幅及び高さを「“用紙レイアウト領域302の幅”÷“コマ群301の幅”」倍(リサイズ)する。この結果、コマ群301の幅が用紙レイアウト領域302の幅と一致する。次いで、CPU101は、コマ群301をy方向に「(“用紙レイアウト領域302の高さ”−“リサイズ後のコマ群301の高さ”)÷2」移動させる。この結果、コマ群301が用紙レイアウト領域302の中心に配置される。つまり、コマ群301が、用紙レイアウト領域302に収まり、かつ用紙レイアウト領域302を構成する2組の平行な2辺のうちの1組に、コマ群301を構成する2組の平行な2辺のうちの1組が重ならせるようにコマ群301のサイズ及び位置が調整される。   On the other hand, as shown in FIG. 6B, ““ width of frame group 301 ”÷“ height of frame group 301 ”>“ width of paper layout area 302 ”÷“ height of paper layout area 302 ”holds. In this case, first, the CPU 101 multiplies (resizes) the width and height of the frame group 301 by ““ width of the paper layout area 302 ”÷“ width of the frame group 301 ”. As a result, the width of the frame group 301 matches the width of the paper layout area 302. Next, the CPU 101 moves the frame group 301 in the y direction “(“ height of the paper layout area 302 ”−“ height of the frame group 301 after resizing ”) / 2”. As a result, the frame group 301 is arranged at the center of the paper layout area 302. That is, the frame group 301 fits in the paper layout region 302 and one set of two parallel sides constituting the paper layout region 302 has two sets of parallel two sides constituting the frame group 301. The size and position of the frame group 301 are adjusted so that one set of them overlaps.

図6には、コマ群のサイズ及び位置を調整する方法を示しているが、CPU101は、このコマ群の調整に付随して、これを構成するN個の画像にも同様のサイズ及び位置の調整を行う。   FIG. 6 shows a method for adjusting the size and position of the frame group. The CPU 101 accompanies the adjustment of the frame group, and the N images constituting the frame group also have the same size and position. Make adjustments.

このような処理の結果、画像生成手段としてのCPU101により用紙レイアウト領域(印刷可能領域)302内の左右の余白部分又は上下の余白部分以外に隙間が生じることなく、ユーザにより選択されたN個の画像が1つの矩形内に配置されることになる。また、完全に隙間を発生させないことも可能であるが、画像の区切りを明確にするため、決まった幅の線や余白を付加してもよい。どちらにしても、無駄な余白領域を発生させることなく、N個の画像を配置した1つの画像を生成することができる。   As a result of such processing, the CPU 101 as the image generation means does not generate a gap other than the left and right margin portions or the upper and lower margin portions in the paper layout area (printable area) 302, and the N pieces selected by the user. The image is arranged in one rectangle. Although it is possible not to generate a gap completely, a line or a margin with a fixed width may be added to clarify the separation of the image. In either case, one image in which N images are arranged can be generated without generating a useless blank area.

次に、ステップS2003の処理(コマ群の生成)について説明する。この説明では、先ず、2個のコマからコマ群を生成する方法について説明し、その後に、3個以上のコマからコマ群を生成する方法について説明する。   Next, the process of step S2003 (frame group generation) will be described. In this description, a method for generating a frame group from two frames will be described first, and then a method for generating a frame group from three or more frames will be described.

図7(a)は、2個のコマを縦方向に並べてコマ群を生成する方法を示す図であり、図7(b)は、2個のコマを横方向に並べてコマ群を生成する方法を示す図である。   FIG. 7A is a diagram showing a method of generating a frame group by arranging two frames in the vertical direction, and FIG. 7B is a method of generating a frame group by arranging two frames in the horizontal direction. FIG.

2個のコマを縦方向に並べてコマ群を生成する場合、図7(a)に示すように、CPU101は、先ず、2個のコマのどちらか一方の外形と同一形状の基準矩形、及びもう一方の外形と同一形状の追加矩形を設定する。次いで、CPU101は、追加矩形の幅及び高さを「“基準矩形の幅”÷“追加矩形の幅”」倍(リサイズ)する。この結果、基準矩形の幅が、リサイズ後の追加矩形の幅と一致する。その後、CPU101は、追加矩形の座標を設定する。この際に、追加矩形の座標を(基準矩形のX座標,基準矩形のY座標+基準矩形の高さ)と設定すると、基準矩形の下に追加矩形が配置される。一方、追加矩形の座標を(基準矩形のX座標,基準矩形のY座標−リサイズ後の追加矩形の高さ)と設定すると、基準矩形の上に追加矩形が配置される。以上のような追加矩形のリサイズ及び座標の設定により、外縁の形状が矩形のコマ群が生成される。また、このコマ群の幅は基準矩形の幅と一致し、高さは基準矩形の高さ及びリサイズ後の追加矩形の高さの和と一致する。2個のコマを横方向に並べてコマ群を生成する場合も、図7(b)に示すように、CPU101は、先ず、2個のコマのどちらか一方の外形と同一形状の基準矩形、及びもう一方の外形と同一形状の追加矩形を設定する。次いで、CPU101は、追加矩形の幅及び高さを「“基準矩形の高さ”÷“追加矩形の高さ”」倍(リサイズ)する。この結果、基準矩形の高さが、リサイズ後の追加矩形の高さと一致する。その後、CPU101は、追加矩形の座標を設定する。この際に、追加矩形の座標を(基準矩形のX座標+基準矩形の幅,基準矩形のY座標)と設定すると、基準矩形の右に追加矩形が配置される。一方、追加矩形の座標を(基準矩形のX座標−リサイズした追加矩形の幅,基準矩形のY座標)と設定すると、基準矩形の左に追加矩形が配置される。以上のような追加矩形のリサイズ及び座標の設定により、外縁の形状が矩形のコマ群が生成される。また、このコマ群の幅は基準矩形の幅及びリサイズ後の追加矩形の幅の和と一致し、高さは基準矩形の高さと一致する。   When two frames are arranged in the vertical direction to generate a frame group, as shown in FIG. 7A, the CPU 101 first has a reference rectangle having the same shape as one of the two frames, and the other. An additional rectangle having the same shape as one of the outer shapes is set. Next, the CPU 101 multiplies (resizes) the width and height of the additional rectangle by ““ width of reference rectangle ”÷“ width of additional rectangle ””. As a result, the width of the reference rectangle matches the width of the additional rectangle after resizing. Thereafter, the CPU 101 sets the coordinates of the additional rectangle. At this time, if the coordinates of the additional rectangle are set as (the X coordinate of the reference rectangle, the Y coordinate of the reference rectangle + the height of the reference rectangle), the additional rectangle is arranged below the reference rectangle. On the other hand, when the coordinates of the additional rectangle are set as (the X coordinate of the reference rectangle, the Y coordinate of the reference rectangle−the height of the additional rectangle after resizing), the additional rectangle is arranged on the reference rectangle. A frame group having a rectangular outer edge shape is generated by resizing the additional rectangle and setting the coordinates as described above. Further, the width of this frame group matches the width of the reference rectangle, and the height matches the sum of the height of the reference rectangle and the height of the additional rectangle after resizing. Even when two frames are arranged in the horizontal direction to generate a frame group, as shown in FIG. 7B, the CPU 101 first has a reference rectangle having the same shape as one of the two frames, and Set an additional rectangle with the same shape as the other. Next, the CPU 101 multiplies (resizes) the width and height of the additional rectangle by ““ the height of the reference rectangle ”÷“ the height of the additional rectangle ””. As a result, the height of the reference rectangle matches the height of the additional rectangle after resizing. Thereafter, the CPU 101 sets the coordinates of the additional rectangle. At this time, if the coordinates of the additional rectangle are set as (reference rectangle X coordinate + reference rectangle width, reference rectangle Y coordinate), the additional rectangle is arranged to the right of the reference rectangle. On the other hand, when the coordinates of the additional rectangle are set as (the X coordinate of the reference rectangle−the width of the resized additional rectangle, the Y coordinate of the reference rectangle), the additional rectangle is arranged on the left of the reference rectangle. A frame group having a rectangular outer edge shape is generated by resizing the additional rectangle and setting the coordinates as described above. In addition, the width of the frame group matches the sum of the width of the reference rectangle and the width of the additional rectangle after resizing, and the height matches the height of the reference rectangle.

このようにして、縮尺又は拡大に伴う計算誤差を除き、基準矩形及び追加矩形の各アスペクト比を維持したまま、これらを結合して矩形のコマ群を生成することができる。本発明において、全くアスペクト比が同じ状態であるものだけでなく、計算誤差等により多少アスペクト比が異なっていても、アスペクト比が保持されている状態のものであるとする。   In this way, it is possible to generate a rectangular frame group by combining the reference rectangle and the additional rectangle while maintaining the aspect ratio of the reference rectangle and the additional rectangle, except for the calculation error associated with the reduction or enlargement. In the present invention, it is assumed that not only the aspect ratio is completely the same, but also the aspect ratio is maintained even if the aspect ratio is slightly different due to a calculation error or the like.

詳細は後述するが、基準矩形及び追加矩形の双方又は一方が、前もって上述の処理を経て構成されたコマ群であってもよい。この場合も、上述の処理によって得られるコマ群は、コマ間に隙間を生じさせることなく、矩形のものとなる。   Although details will be described later, both or one of the reference rectangle and the additional rectangle may be a frame group configured through the above-described processing in advance. Also in this case, the frame group obtained by the above-described processing is rectangular without generating a gap between the frames.

3個以上のコマからコマ群を生成する場合には、次のような処理を行う。図8は、N個のコマからコマ群を生成する方法を示すフローチャートである。   When generating a frame group from three or more frames, the following processing is performed. FIG. 8 is a flowchart showing a method for generating a frame group from N frames.

この処理(ステップS2003)では、先ず、ステップS3001において、CPU101は、1コマ目を最初の基準矩形として配置する。このとき、基準矩形の原点を(0,0)とし、基準矩形の幅=1コマ目の基準サイズの幅、基準矩形の高さ=1コマ目の基準サイズの高さとする。   In this process (step S2003), first, in step S3001, the CPU 101 arranges the first frame as the first reference rectangle. At this time, the origin of the reference rectangle is (0, 0), the width of the reference rectangle = the width of the reference size of the first frame, and the height of the reference rectangle = the height of the reference size of the first frame.

次いで、ステップS3002において、CPU101は、分割手段として、使用済みコマ数のカウンタ値c、及び次に配置するブロックのブロック番号kを初期化する。ここでいうブロックとは、N個のコマを1又は2以上毎の複数のグループに分割したものであり、例えば図9のような数に分けられる。図9に示す表において、例えば総コマ数(N)が11である場合は、11個のコマが、1個のコマからなるブロック、2個のコマからなるブロック、3個のコマからなるブロック、5個のコマからなるブロックの4つのブロックに分けられる。この夫々のブロック内に配置されるコマで基準矩形又は追加矩形を作成し、これらを結合していくことによって、N個のコマを含むコマ群を生成する。なお、ブロック1の値は必ず1であり、これは最初に配置をしたコマ1のことである。   Next, in step S3002, the CPU 101 initializes a counter value c of the number of used frames and a block number k of a block to be arranged next as a dividing unit. The block here is a block obtained by dividing N frames into a plurality of groups of one or two or more, and is divided into numbers as shown in FIG. 9, for example. In the table shown in FIG. 9, for example, when the total number of frames (N) is 11, 11 frames are composed of one frame, 2 frames, 3 frames. The block is divided into four blocks of five frames. A reference rectangle or an additional rectangle is created from the frames arranged in each block, and these frames are combined to generate a frame group including N frames. Note that the value of block 1 is always 1, which is frame 1 placed first.

ステップS3002の後、CPU101は、ステップS3003において、使用済みコマ数のカウンタcとNとを比較する。そして、c=Nであれば、処理を終える。全てのコマの配置が終了しているからである。一方、c≠Nであれば、ステップS3004に進む。まだ配置されていないコマの配置を行うためである。   After step S3002, the CPU 101 compares the counter c of the number of used frames with N in step S3003. If c = N, the process ends. This is because all the frames have been arranged. On the other hand, if c ≠ N, the process proceeds to step S3004. This is for arranging frames that have not yet been arranged.

ステップS3004では、CPU101は、次に配置するブロックのブロック番号kの値によって、次のブロックの縦横の結合方向を決定する処理を切り換える。ブロック番号kが1の場合は、ステップS3005に進む。また、ブロック番号kが最後のものである場合は、ステップS3006に進む。また、ブロック番号kがその他の値である場合は、ステップS3007に進む。   In step S3004, the CPU 101 switches processing for determining the vertical and horizontal combination directions of the next block according to the value of the block number k of the next block to be arranged. If the block number k is 1, the process proceeds to step S3005. If the block number k is the last one, the process proceeds to step S3006. If the block number k is any other value, the process proceeds to step S3007.

ステップS3005では、CPU101は、前回の処理(レイアウト計算)を行った際に縦結合を行っていた場合には、横結合を行うと決定し、前回の処理(レイアウト計算)を行った際に横結合を行っていた場合には、縦結合を行うと決定する。   In step S3005, the CPU 101 determines that the horizontal combination is performed when the vertical combination is performed when the previous process (layout calculation) is performed, and the horizontal process is performed when the previous process (layout calculation) is performed. If it has been coupled, it is determined to perform longitudinal coupling.

ステップS3006では、CPU101は、基準矩形のアスペクト比(高さ÷幅)と用紙レイアウト領域のアスペクト比とを比較する。そして、基準矩形のアスペクト比が用紙レイアウト領域のアスペクト比よりも大きい場合は、縦結合を行うと決定し、基準矩形のアスペクト比が用紙レイアウト領域のアスペクト比以下の場合は、横結合を行うと決定する。   In step S3006, the CPU 101 compares the aspect ratio (height / width) of the reference rectangle with the aspect ratio of the paper layout area. Then, when the aspect ratio of the reference rectangle is larger than the aspect ratio of the paper layout area, it is determined that vertical combination is performed. When the aspect ratio of the reference rectangle is equal to or less than the aspect ratio of the paper layout area, horizontal combination is performed. decide.

ステップS3007では、CPU101は、前のブロック結合が縦結合であれば、横結合を行うと決定し、前のブロック結合が横結合であれば、縦結合を行うと決定する。
このようにして、CPU101は、縦横の結合方向を決定する。
In step S3007, the CPU 101 determines to perform horizontal coupling if the previous block coupling is vertical coupling, and determines to perform vertical coupling if the previous block coupling is horizontal coupling.
In this way, the CPU 101 determines the vertical and horizontal coupling directions.

ステップS3005〜S3007の後、CPU101は、ステップS3008において、結合方向をランダムに決定する。即ち、縦結合の場合は、上又は下の結合方向をランダムに決定し、横結合の場合は、右又は下の結合方向をランダムに決定する。この決定は、例えば乱数を用いて行うことができる。   After steps S3005 to S3007, the CPU 101 randomly determines the coupling direction in step S3008. That is, in the case of vertical coupling, the upper or lower coupling direction is determined randomly, and in the case of horizontal coupling, the right or lower coupling direction is determined randomly. This determination can be made using, for example, a random number.

次いで、CPU101は、ステップS3009において、ブロック番号kで使用するコマ数nを取得する。このコマ数nの値は、例えば図9に示す表から取得してもよく、計算によって求めてもよい。   Next, in step S3009, the CPU 101 obtains the number of frames n used with the block number k. The value of the frame number n may be acquired from, for example, the table shown in FIG. 9 or may be obtained by calculation.

その後、CPU101は、ステップS3010において、矩形生成手段として、n個のコマのすべてを結合して、追加矩形となる矩形を作成する。ブロック番号kの矩形の作成は、例えば図10のように定義できる。即ち、2個のコマによる矩形のそれぞれのコマの配置の計算は、図10(a)に示すように、図7に示す例に基づいて行うことができる。また、3個のコマによる矩形のそれぞれのコマの配置の計算は、図10(b)に示すように、図7(a)又は図7(b)の計算を2コマで行った後に2コマで作られた矩形に対して1コマを結合することによって計算できる。同様に、4コマの配置の計算は、図10(c)に示すように、(3コマ+1コマ)又は(2コマ+2コマ)で計算できる。更に、5コマの配置の計算は、図10(d)に示すように、(3コマ+2コマ)で計算でき、6コマの配置計算は、図10(e)に示すように、(3コマ+3コマ)で計算できる。このようにして、全てのコマを使って矩形を作成することができる。つまり、ブロック毎に矩形が生成される。   Thereafter, in step S3010, the CPU 101 combines all n frames as a rectangle generation unit to create a rectangle that becomes an additional rectangle. Creation of the rectangle of block number k can be defined as shown in FIG. 10, for example. That is, the calculation of the arrangement of each rectangular frame by two frames can be performed based on the example shown in FIG. 7, as shown in FIG. Further, the calculation of the arrangement of each rectangular frame by the three frames is performed as shown in FIG. 10B, after the calculation of FIG. 7A or FIG. It can be calculated by combining one frame to the rectangle made by. Similarly, the calculation of the arrangement of four frames can be calculated by (3 frames + 1 frame) or (2 frames + 2 frames) as shown in FIG. Furthermore, the calculation of the arrangement of 5 frames can be calculated by (3 frames + 2 frames) as shown in FIG. 10 (d), and the calculation of the arrangement of 6 frames can be calculated as +3 frames). In this way, a rectangle can be created using all frames. That is, a rectangle is generated for each block.

なお、複数のパターンが存在するコマ数の場合、CPU101は、当該複数の配置パターンのうちから一つの配置パターンをランダムに選択する。この選択は、例えば乱数を用いて行うことができる。   When the number of frames includes a plurality of patterns, the CPU 101 randomly selects one arrangement pattern from the plurality of arrangement patterns. This selection can be performed using a random number, for example.

ステップS3010の後、CPU101は、ステップS3011において、作成した矩形を追加矩形として基準矩形に結合する。この結合は、図7に示す方法で行われる。   After step S3010, in step S3011, the CPU 101 joins the created rectangle as an additional rectangle to the reference rectangle. This coupling is performed by the method shown in FIG.

次いで、ステップS3012において、CPU101は、ステップS3011の結合で得られた矩形を新たな基準矩形とし、使用済みコマ数c及び次に結合するブロック番号kを更新し、ステップS3003の判定に戻る。   Next, in step S3012, the CPU 101 sets the rectangle obtained by the combination in step S3011 as a new reference rectangle, updates the number of used frames c and the block number k to be combined next, and returns to the determination in step S3003.

以上の処理を全てのコマに対して行うことにより、CPU101は、決定手段として、基本ブロックの矩形に他のブロックの矩形を追加しながら、N個のコマが隙間なく結合された大きな矩形と同一形状のコマ群を生成させる。   By performing the above processing for all the frames, the CPU 101 adds the rectangle of the other block to the rectangle of the basic block as the determining means, and is the same as the large rectangle in which N frames are joined without a gap. Generate a shape frame group.

ここで、具体的に、総コマ数Nが11の場合を例示して、図8に示すフローチャートに沿ったコマ群の生成方法について更に説明する。図11は、総コマ数Nが11の場合のコマ群の生成方法を示す図である。図9に示すように、総コマ数が11の場合、これらは、1コマ、2コマ、3コマ、5コマの4つのブロックに分けられる。   Here, specifically, a case where the total frame number N is 11 will be described as an example, and the frame group generation method according to the flowchart shown in FIG. 8 will be further described. FIG. 11 is a diagram illustrating a frame group generation method when the total frame number N is 11. As shown in FIG. 9, when the total number of frames is 11, these are divided into four blocks of one frame, two frames, three frames, and five frames.

先ず、CPU101は、ステップAにおいて、座標(0,0)、幅=コマ1の基準幅、高さ=コマ1の基準高さ、としてコマ1の配置を行い、それを基準矩形とする。   First, in step A, CPU 101 arranges frame 1 with coordinates (0, 0), width = reference width of frame 1, and height = reference height of frame 1, and sets it as a reference rectangle.

次いで、CPU101は、ステップBにおいて、ブロック2の結合方向の決定を行う。ブロック2の縦横結合方向は前回のレイアウト計算時の縦横結合方向と逆であり、前回が横結合だったと仮定すると、今回は縦結合となる。また、ここでは、上結合又は下結合はランダムの結果により下結合になったとする。   Next, in step B, the CPU 101 determines the coupling direction of the blocks 2. The vertical / horizontal coupling direction of block 2 is opposite to the vertical / horizontal coupling direction at the time of the previous layout calculation, and assuming that the previous time was horizontal coupling, the vertical coupling is performed this time. Here, it is assumed that the upper bond or the lower bond is a lower bond due to a random result.

その後、CPU101は、ステップCにおいて、ブロック2の矩形の作成を行う。ブロック2の結合方向は縦結合であるので、図10(a)に示すように、横に二つならぶ配置となる。ブロック2の矩形は、コマ2を基準矩形、コマ3を追加矩形として、図7(b)の計算を行うことにより得られる。この結果、ブロック2の矩形の幅及び高さ、並びにコマ2及びコマ3の各配置が算出される。   Thereafter, the CPU 101 creates a rectangle of block 2 in step C. Since the connection direction of the blocks 2 is vertical connection, as shown in FIG. The rectangle of the block 2 is obtained by performing the calculation of FIG. 7B with the frame 2 as the reference rectangle and the frame 3 as the additional rectangle. As a result, the width and height of the rectangle of the block 2 and the arrangement of the frames 2 and 3 are calculated.

続いて、CPU101は、ステップDにおいて、ブロック2を追加矩形とし、コマ1からなる基準矩形に対して下結合を行う(ステップS3011)。このとき、図7(a)に示す計算を行う。この結果、コマ1、コマ2、及びコマ3からなる矩形が作成され、これが新たな基準矩形として用いられる。   Subsequently, in step D, the CPU 101 sets the block 2 as an additional rectangle, and performs a lower combination with the reference rectangle including the frame 1 (step S3011). At this time, the calculation shown in FIG. As a result, a rectangle composed of frame 1, frame 2, and frame 3 is created and used as a new reference rectangle.

次いで、CPU101は、ステップEにおいて、ブロック3の結合方向の決定を行う。ブロック2の結合方向が縦方向であったため、ブロック3の結合方向は横方向となる。また、ここでは、左又は右の結合方向はランダムにより右になったとする。   Next, in step E, the CPU 101 determines the coupling direction of the blocks 3. Since the connecting direction of the blocks 2 is the vertical direction, the connecting direction of the blocks 3 is the horizontal direction. Here, it is assumed that the left or right coupling direction is right by random.

その後、CPU101は、ステップFにおいて、ブロック3のコマ4、コマ5、及びコマ6の3つのコマから矩形を作成する。ここでは、3コマでの結合パターンとして、図10(b)に示す3コマの結合パターンの中からパターン3−2がランダムによって選択されたとする。パターン3−2では、先ず、コマ4を基準矩形、コマ5を追加矩形として下結合させる。そして、この下結合により得られた矩形を基準矩形、コマ6を追加矩形として更に下結合させる。このようにして、ブロック3の矩形が作成される。   Thereafter, in step F, the CPU 101 creates a rectangle from the three frames of the frame 4, the frame 5, and the frame 6 in the block 3. Here, it is assumed that the pattern 3-2 is randomly selected from the three-frame connection pattern shown in FIG. 10B as the three-frame connection pattern. In the pattern 3-2, the frame 4 is first combined as a reference rectangle and the frame 5 is an additional rectangle. Then, the rectangle obtained by the lower combination is further combined as a reference rectangle and the frame 6 as an additional rectangle. In this way, the rectangle of block 3 is created.

続いて、CPU101は、ステップGにおいて、ステップDにおいて作成した基準矩形に対しステップFで作成したブロック3の矩形を追加矩形として右結合させ、この結果得られた矩形を新たな基準矩形とする。   Subsequently, in step G, the CPU 101 right-joins the reference rectangle created in step D with the rectangle of the block 3 created in step F as an additional rectangle, and sets the resulting rectangle as a new reference rectangle.

次いで、CPU101は、ステップHにおいて、次のブロックが最後のブロックであるため、ステップGで作成した矩形のアスペクト比(高さ÷幅)と用紙レイアウト領域のアスペクト比(高さ÷幅)とを比較して縦横結合方向を決定する。図11では、点線で用紙レイアウト領域を示しているが、この用紙レイアウト領域のアスペクト比が基準矩形のアスペクト比よりも大きいため、最後のブロック4は横結合となる。ここでは、左又は右の結合方向はランダムにより左結合となったとする。   Next, since the next block is the last block in step H, the CPU 101 determines the aspect ratio (height / width) of the rectangle created in step G and the aspect ratio (height / width) of the paper layout area. The vertical and horizontal coupling directions are determined by comparison. In FIG. 11, the paper layout area is indicated by a dotted line. However, since the aspect ratio of the paper layout area is larger than the aspect ratio of the reference rectangle, the last block 4 is horizontally coupled. Here, it is assumed that the left or right coupling direction is randomly left coupling.

その後、CPU101は、ステップIにおいて、コマ7、コマ8、コマ9、コマ10、及びコマ11の5つのコマから矩形を作成する。ブロック4は横結合なので、図10(e)に示すパターン5−2が選択される。パターン5−2では、先ず、コマ8を基準矩形、コマ9を追加矩形として横結合させる。そして、この横結合により得られた矩形を追加矩形、コマ7を基準矩形として縦結合させる。また、コマ10を基準矩形、コマ11を追加矩形として横結合により矩形を作成し、この横結合により得られた矩形を追加矩形としてコマ7、コマ8、及びコマ9の矩形に縦結合させる。以上により、5コマからなる矩形が完成する。   Thereafter, in step I, the CPU 101 creates a rectangle from the five frames of the frame 7, the frame 8, the frame 9, the frame 10, and the frame 11. Since the block 4 is a horizontal connection, the pattern 5-2 shown in FIG. 10E is selected. In the pattern 5-2, first, the frame 8 is laterally coupled as a reference rectangle and the frame 9 is an additional rectangle. Then, the rectangles obtained by the horizontal connection are vertically combined with the additional rectangle and the frame 7 as the reference rectangle. Further, a rectangle is created by horizontal coupling with the frame 10 as a reference rectangle and the frame 11 as an additional rectangle, and the rectangle obtained by the horizontal coupling is vertically coupled to the rectangles of the frames 7, 8, and 9 as additional rectangles. Thus, a rectangle consisting of 5 frames is completed.

続いて、CPU101は、ステップJにおいて、ステップGにおいて作成した矩形を基準矩形、ステップIにおいて作成した矩形を追加矩形として左結合させる。以上により、11個のコマからなる矩形のコマ群の作成が完了する。なお、これらのブロック分割やmブロックごとのコマの配置・サイズ、さらに、ブロックの結合の際のコマ配置・サイズに関する情報は遂次、メモリ103に記憶される。
ステップS2003では、このような処理が行われる。
Subsequently, in step J, the CPU 101 left-joins the rectangle created in step G as a reference rectangle and the rectangle created in step I as an additional rectangle. Thus, the creation of a rectangular frame group consisting of 11 frames is completed. It should be noted that information regarding the block division and the frame arrangement / size for each m block and the frame arrangement / size at the time of combining blocks are sequentially stored in the memory 103.
In step S2003, such processing is performed.

このような第1の実施形態によれば、ユーザにより選択された複数の画像が同一であっても、処理の度に各画像のレイアウト及び大きさが相違する。従って、複数の画像を一つの印刷物として観察した場合に、変化があり、楽しめる印刷物が得られることとなる。また、この印刷物には、上下又は左右の余白部以外に空白部が生じず、無駄な領域の発生を抑制することができる。また、ユーザの意思がない場合に、処理前の画像の一部を削除する必要がなく、ユーザが印刷しようとする画像の全体を印刷することができる。   According to the first embodiment, even when a plurality of images selected by the user are the same, the layout and size of each image are different each time processing is performed. Therefore, when a plurality of images are observed as one printed matter, there is a change, and a pleasant printed matter can be obtained. Further, in this printed matter, no blank portion is generated other than the upper and lower or left and right margin portions, and generation of useless areas can be suppressed. Further, when there is no intention of the user, it is not necessary to delete a part of the image before processing, and the entire image to be printed by the user can be printed.

このように、複数の画像が、算出手段としてのCPU101等により、それぞれの画像のアスペクト比を略保持したまま、当該複数の画像を隣接させて矩形となるように配置した場合のレイアウトが算出される。また、算出されたレイアウトが記憶手段であるメモリ103等に記憶される。また、第2の算出手段としてのCPU101等により、記憶手段に記憶されたレイアウトの矩形と、さらなる複数の画像について、それぞれのアスペクト比を略保持したままレイアウトの矩形及び複数の画像を隣接させて矩形となるように配置した場合のレイアウトが算出される。そして、第2の算出手段により算出されたレイアウトが、記憶制御手段としてのCPU101等により、記憶手段に記憶させられる。また、画像処理手段としてのCPU101等により、記憶手段に記憶されているレイアウトに基づいて、複数の画像がレイアウトされる。   In this way, a layout in which a plurality of images are arranged so as to be rectangular adjacent to each other while the aspect ratio of each image is substantially retained is calculated by the CPU 101 or the like as a calculation unit. The Further, the calculated layout is stored in the memory 103 or the like which is a storage unit. In addition, the layout rectangle stored in the storage unit and the plurality of further images are kept adjacent to each other while maintaining the aspect ratio of the layout rectangle stored in the storage unit by the CPU 101 as the second calculation unit. A layout is calculated when arranged in a rectangular shape. Then, the layout calculated by the second calculation means is stored in the storage means by the CPU 101 as the storage control means. In addition, a plurality of images are laid out based on the layout stored in the storage unit by the CPU 101 as the image processing unit.

(第2の実施形態)
次に、第2の実施形態における処理について説明する。第1の実施形態では、コマの配置が不規則に決定されるため、必ずしもユーザの好みと一致しないことがある。その一方で、ユーザの望む一番好ましい配置にするために、全てのケースを網羅するにはケースがあまりにも多く多大な時間がかかってしまう。そこで、第2の実施形態では、コマの配置を行った後に、その配置に対してユーザにとって望ましくないケースを一般化したいくつかのチェックを行い、その結果を数値化することによって評価を行う。図12は、第2の実施形態におけるステップS1006の処理の概要を示すフローチャートである。第2の実施形態では、前処理で選択された画像がレイアウト評価を経て、最も評価の高いレイアウトのコマ群の配置が決定される。
(Second Embodiment)
Next, processing in the second embodiment will be described. In the first embodiment, the arrangement of frames is determined irregularly, and thus may not necessarily match the user's preference. On the other hand, it takes too much time to cover all cases in order to obtain the most desirable arrangement desired by the user. Therefore, in the second embodiment, after placing the frames, some checks are performed to generalize cases that are undesirable for the user, and the evaluation is performed by quantifying the results. FIG. 12 is a flowchart illustrating an overview of the process of step S1006 in the second embodiment. In the second embodiment, the image selected in the preprocessing undergoes layout evaluation, and the arrangement of the frame group having the layout with the highest evaluation is determined.

先ず、CPU101は、第1の実施形態と同様にして、ステップS2001の処理を行う。   First, the CPU 101 performs the process of step S2001 in the same manner as in the first embodiment.

次いで、CPU101は、ステップS1201において、レイアウト(コマ群の作成)を行った回数をカウントするため、試行回数を1とする。
その後、CPU101は、第1の実施形態と同様にして、ステップS2002〜S2004の処理を行う。
Next, in step S1201, the CPU 101 sets the number of trials to 1 in order to count the number of times layout (frame group creation) has been performed.
Thereafter, the CPU 101 performs the processes of steps S2002 to S2004 in the same manner as in the first embodiment.

続いて、CPU101は、ステップS1202において、ステップS2003で作成した矩形のコマ群のレイアウトに対して評価を行う。この処理の内容の詳細については後述する。   Subsequently, in step S1202, the CPU 101 evaluates the layout of the rectangular frame group created in step S2003. Details of this processing will be described later.

次いで、CPU101は、ステップS1203において、ステップS1202の評価の結果がOK又はNGのいずれであるか否かの判断を行い、OKであれば、処理を終了する。一方、NGであれば、コマの配置を再決定することとしてステップS1204に進む。ステップS1204において、CPU101は、試行回数が最大試行回数まで達したかどうかを判断する。最大試行回数まで達していればステップS1205に進み、そうでなければステップS1206に進む。   Next, in step S1203, the CPU 101 determines whether the evaluation result in step S1202 is OK or NG. If it is OK, the process ends. On the other hand, if it is NG, it proceeds to step S1204 as re-determining the frame arrangement. In step S1204, the CPU 101 determines whether the number of trials has reached the maximum number of trials. If the maximum number of trials has been reached, the process proceeds to step S1205; otherwise, the process proceeds to step S1206.

ステップS1205において、CPU101は、これ以上新しいレイアウトの作成は行わず、ステップS1202のレイアウト評価を行ったときの最も評価の高いレイアウトをバックアップから復元し、処理を終了する。一方、ステップS1206では、CPU101は、試行回数の数を増やす。   In step S1205, the CPU 101 does not create a new layout any more, restores the layout with the highest evaluation from the layout evaluation performed in step S1202 from the backup, and ends the process. On the other hand, in step S1206, the CPU 101 increases the number of trials.

ステップS1206の後、CPU101は、ステップS1207において、次のレイアウトの生成を行うときに、ステップS3004で最初のブロック番号での配置を今回のレイアウト生成とは逆の縦横方向になるように設定する。そして、ステップS2002に戻り、コマ順序のシャッフルを行う。   After step S1206, when generating the next layout in step S1207, the CPU 101 sets the arrangement at the first block number in the vertical and horizontal directions opposite to the current layout generation in step S3004. Then, the process returns to step S2002, and the frame order is shuffled.

このような処理の結果、レイアウトを生成の度に、コマ順序のシャッフル及びブロック配置の方向が入れ替えられ、コマの配置のばらつきが増加し、様々なレイアウトが生成されるようになる。   As a result of such processing, each time a layout is generated, the frame order shuffle and the direction of block arrangement are switched, the variation in frame arrangement increases, and various layouts are generated.

次に、ステップS1202の処理(レイアウト評価のためのチェック)について説明する。本実施形態では、十字チェック、画像サイズ差チェック、最小画像チェック、及び余白チェックを行い、評価する。各チェックの内容について個別に説明する。   Next, the process of step S1202 (check for layout evaluation) will be described. In this embodiment, a cross check, an image size difference check, a minimum image check, and a margin check are performed and evaluated. The contents of each check will be explained individually.

<十字チェック>
十字チェックとは、コマとコマとの接続している点が十字に近い状態になっている場合はエラーとするチェックである。つまり、4つの画像の角が1点に集中している場合である。例えば、図13に示すように、コマ1401の右下のポイントとコマ1403の左上のポイントとが所定の距離内に含まれている場合にエラーとする。即ち、コマ1401の右下のポイントを中心とする半径が所定の値の円1402を設定し、この円1402内にコマ1403の左上のポイントが含まれている場合にエラーとする。このような十字に近い状態が多い場合、結果的に規則的に画像が並ぶことになってしまい、全体として面白みに欠けるレイアウトになる。エラー点数は10とする。
<Cross check>
The cross check is a check in which an error occurs when the point where the frames are connected is close to a cross. That is, the corners of four images are concentrated at one point. For example, as shown in FIG. 13, an error occurs when the lower right point of the frame 1401 and the upper left point of the frame 1403 are included within a predetermined distance. That is, a circle 1402 having a predetermined radius around the lower right point of the frame 1401 is set, and an error occurs when the upper left point of the frame 1403 is included in the circle 1402. When there are many states close to a cross like this, images are regularly arranged as a result, resulting in a layout lacking in interest as a whole. The error score is 10.

<画像サイズ差チェック>
画像サイズ差チェックとは、配置されるコマの最大コマ面積と最小コマ面積とを比較し、その差が20倍以上あった場合にエラーとするチェックである。つまり、最大サイズのコマと最小サイズのコマのサイズの差に基づくチェックである。画像差があまりに大きい場合、全体としてちぐはぐな印象を与えるレイアウトになる。エラー点数は、差が20倍以上40倍未満の場合に20とし、40倍以上の場合に40とする。
<Image size difference check>
The image size difference check is a check that makes an error when the maximum frame area and the minimum frame area of the frames to be arranged are compared and the difference is 20 times or more. That is, the check is based on the difference between the size of the maximum size frame and the minimum size frame. When the image difference is too large, the layout gives a stunning impression as a whole. The error score is 20 when the difference is 20 times or more and less than 40 times, and 40 when the difference is 40 times or more.

<最小画像サイズチェック>
最小画像サイズチェックとは、配置される最小コマの面積が10000以下の場合にエラーとするチェックである。画像の判別がつかないほどコマが小さくなるのを避け、また、画像の縮小に関しては制限を有するハードウェアが多く、あまりにも小さい画像への変倍が難しいためである。エラー点数は40とする。
<Minimum image size check>
The minimum image size check is an error check when the area of the minimum frame to be arranged is 10,000 or less. This is because it is avoided that the frame becomes so small that the image cannot be discriminated, and there is a lot of hardware that has restrictions on the reduction of the image, and it is difficult to scale the image to a too small image. The error score is 40.

<余白チェック>
余白チェックとは、出力用紙の中でコマ配置画像の占める領域(割合)を計算し、80%以下だった場合にはエラーとするチェックである。可能な限り出力用紙の全体に画像を印刷するためである。但し、後述するスコア計算に占有率が含まれるため、このチェック単体でのエラーはないものとする。
<Margin Check>
The margin check is a check in which an area (ratio) occupied by the frame layout image in the output sheet is calculated, and when it is 80% or less, an error is determined. This is because an image is printed on the entire output sheet as much as possible. However, since the occupation rate is included in the score calculation described later, it is assumed that there is no error in this check alone.

図14は、ステップS1202の処理の詳細を示すフローチャートである。
ステップS1202では、先ず、CPU101は、ステップS1301〜S1304において、十字チェック、画像サイズ差チェック、最小画像チェック、及び余白チェックを、矩形のコマ群に含まれる各コマに対して行う。
FIG. 14 is a flowchart showing details of the processing in step S1202.
In step S1202, first, the CPU 101 performs a cross check, an image size difference check, a minimum image check, and a margin check on each frame included in the rectangular frame group in steps S1301 to S1304.

次いで、CPU101は、ステップS1305において、ステップS1301〜S1304の各チェックでエラーが発生していないかを判断する。そして、エラー(NG)が発生していない場合には、ステップS1306でコマ群のレイアウト評価をOKとし、ステップS1202の処理を終了する。一方、エラーが発生している場合には、ステップS1307で、スコアを計算する。ここで、スコアは、「スコア=画像の占有率−各チェックのエラー点数の総和」と表される。最小のスコアは、画像の占有率が0、各チェックのエラー点数が最大となっている場合に得られ、この値は−90になる。   Next, in step S1305, the CPU 101 determines whether an error has occurred in each check in steps S1301 to S1304. If no error (NG) has occurred, the layout evaluation of the frame group is set to OK in step S1306, and the process in step S1202 ends. On the other hand, if an error has occurred, a score is calculated in step S1307. Here, the score is expressed as “score = image occupancy rate−total error score of each check”. The minimum score is obtained when the image occupancy is 0 and the error score of each check is maximum, and this value is -90.

ステップS1307の後、CPU101は、ステップS1308において、ステップS1307で算出したスコアとバックアップしていたスコアとを比較する。そして、ステップS1307で算出したスコアがバックアップスコアよりも高い場合には、ステップS1310に進み、そうでない場合は、何も行わずにステップS1309に進む。何も行わずにステップS1309に進むのは、バックアップしていたコマ群のレイアウトの評価が、今回作成したコマ群のレイアウトの評価よりも高いからである。   After step S1307, in step S1308, the CPU 101 compares the score calculated in step S1307 with the backed up score. If the score calculated in step S1307 is higher than the backup score, the process proceeds to step S1310. Otherwise, the process proceeds to step S1309 without performing anything. The reason why the process proceeds to step S1309 without performing anything is that the evaluation of the layout of the frame group that was backed up is higher than the evaluation of the layout of the frame group that was created this time.

ステップS1310では、CPU101は、今回作成したレイアウトのバックアップを作成する。具体的には、CPU101は、コマ群に含まれる各コマの配置情報をメモリ103に保存する。   In step S1310, the CPU 101 creates a backup of the layout created this time. Specifically, the CPU 101 stores the arrangement information of each frame included in the frame group in the memory 103.

次いで、CPU101は、ステップS1311において、バックアップスコアを今回のスコアに更新する。この操作によって、チェックでNGになったケースで常に最も評価の高いコマ群のレイアウトがバックアップとして保存される。   Next, in step S1311, the CPU 101 updates the backup score to the current score. As a result of this operation, the layout of the frame group having the highest evaluation is always stored as a backup in the case of NG in the check.

ステップS1308又はステップS1311の後のステップS1309では、CPU101は、レイアウト評価をNGとし、ステップS1202の処理を終了する。なお、バックアップスコアの初期値を−90にしておけば、それよりも低いスコアが得られることはないため、一度でもチェックでNGが発生した場合には、バックアップスコア及びレイアウトが生成される。   In step S1309 after step S1308 or step S1311, the CPU 101 sets the layout evaluation to NG and ends the process of step S1202. Note that if the initial value of the backup score is set to −90, a score lower than that cannot be obtained. Therefore, if NG occurs even once, the backup score and layout are generated.

このような第2の実施形態によれば、各チェックでエラーになった場合には、所定回数まで条件を変更してコマの配置を行い、最もスコアの高いレイアウトが採用されるため、よりユーザの好みに近いレイアウトで印刷することができる。   According to such a second embodiment, when an error occurs in each check, the frame is arranged by changing the condition up to a predetermined number of times, and the layout with the highest score is adopted. You can print with a layout close to your liking.

また、繰り返し回数に上限を設定しているため(ステップS1204)、全てのパターンを網羅した場合と比べて、ユーザを待たせる時間を減らすことができる。   In addition, since an upper limit is set for the number of repetitions (step S1204), it is possible to reduce the time to wait for the user compared to the case where all patterns are covered.

なお、上述の各チェックは、選択画像数及び印刷用紙のサイズに応じて無効にしたり、エラー点数を変更したりしてもよい。例えば、十字チェックは画像枚数が増えるとそれほど目立たなくなるため、選択画像が8枚よりも多い場合には無効にしてもよい。また、用紙が大きくなると、画像サイズ差が少し大きくなっても問題がないため、2L以上の印刷レイアウトでは、エラー点数を10ずつ減らしてもよい。このような設定を行えば、各チェックに対してより細かく精度の高い制御を行うことが可能になる。   Each check described above may be disabled or the error score may be changed according to the number of selected images and the size of the printing paper. For example, since the cross check becomes less noticeable as the number of images increases, it may be disabled when there are more than eight selected images. In addition, when the paper size is increased, there is no problem even if the image size difference is slightly increased. Therefore, the error score may be reduced by 10 for a print layout of 2L or more. If such a setting is performed, it becomes possible to perform finer and more accurate control for each check.

(第3の実施形態)
次に、第3の実施形態における処理について説明する。第3の実施形態では、図1の主画像が大きいコマに配置されたような印刷を得ることができる。基本的な動作は第2の実施形態と同様であるため、同じ処理については説明を省略する。
(Third embodiment)
Next, processing in the third embodiment will be described. In the third embodiment, it is possible to obtain printing in which the main image in FIG. 1 is arranged in a large frame. Since the basic operation is the same as in the second embodiment, description of the same processing is omitted.

以下図15を参照して、第3の実施形態について説明する。第3の実施形態では、主画像が大きいコマに配置されるように、図12のS2003とS2004の間に、図15の処理を実行する。   Hereinafter, the third embodiment will be described with reference to FIG. In the third embodiment, the process of FIG. 15 is executed between S2003 and S2004 of FIG. 12 so that the main image is arranged in a large frame.

まずS1501において、S2003で生成された矩形の中で主画像に対応するコマが大きく配置されているかを判定するため、主画像が最も大きいコマに配置されているかを判定する。主画像に対応するコマが最も大きくなっていればこのままS2004に進む。そうでなければ、S1502に移行し、最も大きいコマのアスペクト比(コマに対応する画像のアスペクト比でもよい)が主画像のコマのアスペクト比(主画像のアスペクト比でもよい)と同じかどうか判定する。同じであればS1503に移行し、最も大きいコマに配置されている画像と主画像とを入れ替える。つまり、最も大きいコマに主画像を配置し、主画像が配置されていたコマに、最も大きいコマに配置されていた画像を配置する。アスペクト比が同じであるため、入れ替えても余白が発生したり画像が切れたりすることはない。S1603で同じでないと判定された場合はS2002に戻り、コマ順序をシャッフルしてから矩形生成の処理をやり直す。   First, in S1501, in order to determine whether or not the frame corresponding to the main image is largely arranged in the rectangle generated in S2003, it is determined whether or not the main image is arranged in the largest frame. If the frame corresponding to the main image is the largest, the process proceeds to S2004 as it is. Otherwise, the process proceeds to S1502, and it is determined whether the aspect ratio of the largest frame (or the aspect ratio of the image corresponding to the frame) is the same as the aspect ratio of the main image (or the aspect ratio of the main image). To do. If they are the same, the process proceeds to S1503, and the image arranged in the largest frame is replaced with the main image. That is, the main image is arranged in the largest frame, and the image arranged in the largest frame is arranged in the frame where the main image is arranged. Since the aspect ratio is the same, no margin is generated or the image is not cut even if the aspect ratio is changed. If it is determined in step S1603 that they are not the same, the process returns to step S2002, the frame order is shuffled, and the rectangle generation process is performed again.

図15の処理を行うことで、主画像を最も大きいコマに配置することができる。   By performing the processing of FIG. 15, the main image can be arranged in the largest frame.

また、図15では、最も大きいコマに配置されているかを判断したが、1〜3番目に大きいコマに配置されている場合は、そのままS2004に進むようにしてもよい。しかし、この場合であっても、最も大きいコマのアスペクト比と主画像のアスペクト比が同じ場合は、入れ替えを行うとよい。   Further, in FIG. 15, it is determined whether the frame is arranged in the largest frame. However, in the case where the frame is arranged in the first to third largest frames, the process may directly proceed to S2004. However, even in this case, if the aspect ratio of the largest frame and the aspect ratio of the main image are the same, it may be replaced.

また、主画像については、ユーザが予め操作部105で選択可能なように構成してもよいし、また、画像の付加されているお気に入り情報や重要度情報から自動的に決定してもよい。   The main image may be configured so that the user can select it in advance with the operation unit 105, or may be automatically determined from favorite information or importance information to which an image is added.

また、本実施形態では、S2003とS2004の間に図15のような処理を行ったが、S2003の処理中に行ってもよい。例えば、それぞれのブロックを結合した後に図15のような処理を行ってもよい。ブロック結合時に行うことにより、処理をやり直す場合にはやり直しが早く決定するので、無駄な処理をしなくてよくなる。   In the present embodiment, the process as shown in FIG. 15 is performed between S2003 and S2004, but may be performed during the process of S2003. For example, the processing shown in FIG. 15 may be performed after the blocks are combined. By performing the process at the time of block combination, if the process is to be redone, the redo is determined quickly, so that unnecessary processing is not required.

以上のように第3の実施形態によればユーザから指定された複数の画像を用紙レイアウトに対し上下もしくは左右の余白部分以外に隙間なく配置され更に特定の主画像が大きく配置されるようなレイアウトが作成される。   As described above, according to the third embodiment, a layout in which a plurality of images designated by the user are arranged without gaps other than the top and bottom or left and right margins with respect to the paper layout, and a specific main image is arranged larger. Is created.

以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。本発明の各処理は、ネットワーク又は各種コンピュータ読み取り可能な記憶媒体を介して取得したソフトウェア(プログラム)をパーソナルコンピュータ等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。   Although the present invention has been described in detail based on preferred embodiments thereof, the present invention is not limited to these specific embodiments, and various forms within the scope of the present invention are also included in the present invention. included. Each processing of the present invention can also be realized by executing software (program) acquired via a network or various computer-readable storage media by a processing device (CPU, processor) such as a personal computer.

100 画像処理装置
101 CPU
102 内蔵記憶装置
103 メモリ
104 表示制御部
105 操作部
106 画像入力部
107 画像処理部
108 印刷部
110 ディスプレイ
111 内部バス
100 Image processing apparatus 101 CPU
102 Internal Storage Device 103 Memory 104 Display Control Unit 105 Operation Unit 106 Image Input Unit 107 Image Processing Unit 108 Printing Unit 110 Display 111 Internal Bus

Claims (6)

複数の画像を自動レイアウトする画像処理装置であって、
前記複数の画像を2以上の複数のブロックに分割し、前記ブロック毎に、当該ブロックに含まれる画像のコマを配置するための矩形を生成する矩形生成手段と、
前記矩形生成手段により生成された矩形のうち2つずつを結合して新たな矩形を生成していくことにより、前記複数のブロックからなる矩形であって、前記複数の画像のコマが配置される矩形を生成し、前記複数の画像のコマの配置を決定する決定手段と、
特定の画像が、前記複数の画像のコマのうちコマのサイズが上位となる大きいコマに配置されるように、前記決定手段を制御する制御手段とを有することを特徴とする画像処理装置。
An image processing apparatus for automatically laying out a plurality of images,
Rectangle generating means for dividing the plurality of images into two or more blocks and generating a rectangle for arranging the frames of the images included in the blocks for each block;
By combining two of the rectangles generated by the rectangle generation unit to generate a new rectangle, a rectangle composed of the plurality of blocks, and the frames of the plurality of images are arranged. Determining means for generating a rectangle and determining the arrangement of the frames of the plurality of images;
An image processing apparatus comprising: a control unit that controls the determination unit so that a specific image is arranged in a large frame having a higher frame size among the frames of the plurality of images .
前記制御手段は、前記決定手段により決定された前記複数の画像のコマの配置において、前記特定の画像が前記大きいコマに配置されていないときに、最も大きいコマに対応するアスペクト比と前記特定の画像に対応するアスペクト比が同じである場合は、最も大きいコマに主画像が配置されるように、画像の配置を入れ替えることを特徴とする請求項1に記載の画像処理装置。 Wherein, in the arrangement of frames of the plurality of images determined by the determination unit, when the specific image is not located in the large frame, the particular aspect ratio which corresponds to the largest frame The image processing apparatus according to claim 1, wherein when the aspect ratios corresponding to the images are the same, the arrangement of the images is changed so that the main image is arranged in the largest frame. 前記制御手段は、最も大きいコマに対応するアスペクト比と前記特定の画像に対応するアスペクト比が同じでない場合は、前記矩形生成手段および前記決定手段により、再び前記複数の画像のコマの配置を決定させることを特徴とする請求項2に記載の画像処理装置。   When the aspect ratio corresponding to the largest frame and the aspect ratio corresponding to the specific image are not the same, the control unit determines the arrangement of the frames of the plurality of images again by the rectangle generation unit and the determination unit. The image processing apparatus according to claim 2, wherein: 前記決定手段により決定された前記複数の画像のコマの配置に基づいて、前記複数の画像を1つの矩形内に配置した画像を生成する画像生成手段を有することを特徴とする請求項1ないし3のいずれか1項に記載の画像処理装置。   4. An image generating means for generating an image in which the plurality of images are arranged in one rectangle based on the frame arrangement of the plurality of images determined by the determining means. The image processing apparatus according to any one of the above. ユーザに選択された複数の画像を画像処理装置により自動レイアウトするための画像処理方法であって、
前記複数の画像を1又は2以上毎の複数のブロックに分割し、前記ブロック毎に、当該ブロックに含まれる画像のコマを配置するための矩形を生成する矩形生成工程と、
前記ブロック毎に生成された矩形のうち2つずつを結合して新たな矩形を生成していくことにより、前記複数のブロックからなる矩形であって、前記複数の画像のコマすべてが配置される矩形を生成し、前記複数の画像のコマの配置を決定する決定工程と、
前記決定工程において決定された前記複数の画像のコマの配置に基づいて、前記複数の画像を1つの矩形内に配置した画像を生成する画像生成工程とを有し、
前記決定は、特定の画像が前記複数の画像のコマのうちコマのサイズが上位となる大きいコマに配置されるように、前記複数の画像のコマの配置を決定することを特徴とする画像処理方法。
An image processing method for automatically laying out a plurality of images selected by a user by an image processing apparatus,
A rectangle generation step of dividing the plurality of images into a plurality of blocks each having one or more, and generating a rectangle for arranging the frames of the images included in the blocks for each of the blocks;
By combining two of the rectangles generated for each block to generate a new rectangle, all the frames of the plurality of images, which are rectangles composed of the plurality of blocks, are arranged. A determination step of generating a rectangle and determining an arrangement of the frames of the plurality of images;
Based on the arrangement of the frames of the plurality of images determined in the determination step, and an image generation step of generating an image of arranging the plurality of images in a single rectangular,
The determination includes determining the arrangement of the frames of the plurality of images so that the specific image is arranged in a large frame having a higher frame size among the frames of the plurality of images. Method.
複数の画像を、それぞれの画像のアスペクト比を略保持したまま、当該複数の画像を隣接させて矩形となるように配置した場合のレイアウトを算出する算出手段と、
前記算出手段により算出されたレイアウトを記憶する記憶手段と、
前記記憶手段に記憶されたレイアウトの矩形と、さらなる複数の画像について、それぞれのアスペクト比を略保持したまま前記レイアウトの矩形及び前記複数の画像を隣接させて矩形となるように配置した場合のレイアウトを算出する第2の算出手段と、
前記第2の算出手段により算出されたレイアウトを、前記記憶手段に記憶させる記憶制御手段と、
前記記憶手段に記憶されているレイアウトに基づいて、複数の画像をレイアウトする画像処理手段と、
前記第2の算出手段により算出されたレイアウトについて、特定の画像が一番大きくなるようにレイアウトを変更する変更手段を有することを特徴とする画像処理装置。
Calculating means for calculating a layout in a case where a plurality of images are arranged so as to be rectangular by adjoining the plurality of images while substantially maintaining the aspect ratio of each image;
Storage means for storing the layout calculated by the calculation means;
A layout in which the layout rectangle stored in the storage unit and a plurality of further images are arranged so that the rectangle of the layout and the plurality of images are adjacently formed into a rectangle while substantially maintaining the respective aspect ratios. A second calculating means for calculating
Storage control means for storing in the storage means the layout calculated by the second calculation means;
Image processing means for laying out a plurality of images based on the layout stored in the storage means;
An image processing apparatus, comprising: a changing unit that changes a layout so that a specific image becomes the largest with respect to the layout calculated by the second calculating unit.
JP2010194047A 2010-07-20 2010-08-31 Image processing apparatus and image processing method Expired - Fee Related JP5665428B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010194047A JP5665428B2 (en) 2010-08-31 2010-08-31 Image processing apparatus and image processing method
US13/184,339 US8842934B2 (en) 2010-07-20 2011-07-15 Image processing apparatus and method for controlling the image processing apparatus
KR1020110071248A KR101403521B1 (en) 2010-07-20 2011-07-19 Image processing apparatus and method for controlling the image processing apparatus
CN2011102044509A CN102339215A (en) 2010-07-20 2011-07-20 Image processing apparatus and method for controlling the image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010194047A JP5665428B2 (en) 2010-08-31 2010-08-31 Image processing apparatus and image processing method

Publications (3)

Publication Number Publication Date
JP2012054677A JP2012054677A (en) 2012-03-15
JP2012054677A5 JP2012054677A5 (en) 2013-10-17
JP5665428B2 true JP5665428B2 (en) 2015-02-04

Family

ID=45907575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010194047A Expired - Fee Related JP5665428B2 (en) 2010-07-20 2010-08-31 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP5665428B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6128786B2 (en) * 2012-09-26 2017-05-17 キヤノン株式会社 Image processing apparatus, control method thereof, control program, and recording medium
JP6054330B2 (en) * 2014-03-27 2016-12-27 富士フイルム株式会社 Image layout generation apparatus, image product generation system, image layout generation method, image layout generation program, and recording medium
JP7154939B2 (en) * 2018-10-19 2022-10-18 キヤノン株式会社 PRINT CONTROL DEVICE, CONTROL METHOD FOR PRINT CONTROL DEVICE, AND PROGRAM

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008092133A (en) * 2006-09-29 2008-04-17 Nec Personal Products Co Ltd Image display apparatus
JP5349879B2 (en) * 2008-09-18 2013-11-20 キヤノン株式会社 Information processing apparatus, information processing method, program, and storage medium
JP5615074B2 (en) * 2010-07-20 2014-10-29 キヤノン株式会社 Image processing apparatus and image processing method

Also Published As

Publication number Publication date
JP2012054677A (en) 2012-03-15

Similar Documents

Publication Publication Date Title
KR101403521B1 (en) Image processing apparatus and method for controlling the image processing apparatus
US8068251B2 (en) Image forming apparatus including a finished image display unit
JP5699010B2 (en) Image processing device
JP6273935B2 (en) Information processing apparatus, information processing method, and program
JP2007110678A (en) Image processing apparatus and computer program product
JP5665428B2 (en) Image processing apparatus and image processing method
US20180035006A1 (en) Print transformation effects
US10795620B2 (en) Image processing apparatus and layout method
US20120206496A1 (en) System for imaging product layout
JP2011040971A (en) Device, method and program for processing image
JP5615074B2 (en) Image processing apparatus and image processing method
JP4284547B2 (en) Image processing device
JP2013162181A (en) Image reader, control method therefor, and image formation device
US8933999B2 (en) Stereoscopic image display control apparatus, and method and program for controlling operation of same
JP5484038B2 (en) Image processing apparatus and control method thereof
US8059138B2 (en) Image processing and arranging system, image processing and arranging method, and computer readable medium for image processing and arranging
JP2005227862A (en) Three-dimensional image forming apparatus
JP2011061635A (en) Image forming apparatus and computer program for controlling the same
JP2010134777A (en) Collage photo print order device, image processing apparatus, collage image creation program, and collage photo print order system
JP4168938B2 (en) Image processing apparatus, image processing program, and image processing method
JP2022025480A (en) Information processing system, information processing method, and program
JP5783690B2 (en) Print processing apparatus and control method thereof
JP6128786B2 (en) Image processing apparatus, control method thereof, control program, and recording medium
JP6260144B2 (en) Image processing apparatus and computer program
JP2012203269A (en) Image processing apparatus

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130902

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141008

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141209

R151 Written notification of patent or utility model registration

Ref document number: 5665428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees