JP2009090543A - Information processor, printing device and information processing method - Google Patents

Information processor, printing device and information processing method Download PDF

Info

Publication number
JP2009090543A
JP2009090543A JP2007263212A JP2007263212A JP2009090543A JP 2009090543 A JP2009090543 A JP 2009090543A JP 2007263212 A JP2007263212 A JP 2007263212A JP 2007263212 A JP2007263212 A JP 2007263212A JP 2009090543 A JP2009090543 A JP 2009090543A
Authority
JP
Japan
Prior art keywords
data
transfer
image
axis direction
mcus
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.)
Pending
Application number
JP2007263212A
Other languages
Japanese (ja)
Inventor
Tatsuya Ando
達也 安藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007263212A priority Critical patent/JP2009090543A/en
Publication of JP2009090543A publication Critical patent/JP2009090543A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To more suppress data-missing, and to transfer thinned-data. <P>SOLUTION: A thinning circuit 33 performs a data thinning processing per MCU unit, and when the thinned data which is equal to or below a DMA transfer unit is outputted, the thinning circuit 33 switches so as to transfer the data to an SDRAM 25 by a plurality of MCUs, upon transferring the data by the plurality of MCUs, in such the state that the final data transfer is not enough as 1 DMA transfer unit, dummy data is added to the final data, then, the final data with the added dummy data is transferred. Probably, the data transfer is not performed in the state where the data is not enough as the DMA transfer unit. In this case, by adding the dummy data to the data not enough as the DMA transfer unit, the data is surely transferred. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、情報処理装置、印刷装置及び情報処理方法に関する。   The present invention relates to an information processing apparatus, a printing apparatus, and an information processing method.

従来、情報処理装置としては、JPEG圧縮された画像データを展開して回転表示する際に、アドレスジェネレータ及びUVコンバータによって、RAM内のビデオ出力容量域に格納されるべきY,U,Vデータの配列順序やUVデータ値の変更を制御することにより、画像データの展開と同時にRAM内に回転後の画像を配置することができるものが提案されている(例えば、特許文献1参照)。
特開2000−322566号公報
Conventionally, as an information processing apparatus, when JPEG-compressed image data is expanded and rotated and displayed, Y, U, V data to be stored in a video output capacity area in a RAM by an address generator and a UV converter. There has been proposed an arrangement in which a rotated image can be arranged in a RAM simultaneously with the development of the image data by controlling the arrangement order and the change of the UV data value (for example, see Patent Document 1).
JP 2000-322566 A

ところで、この特許文献1に記載された情報処理装置などでは、画像を扱う基本単位として8×8画素のいわゆるMCU単位を用いて、JPEG圧縮された画像データを展開したり、展開されたあとの画像データを縮小処理したり、表示出力したりする。この画像データの縮小処理においても、MCU単位でいわゆる間引き処理を行い、処理後のデータをRAMに出力することがある。また、所定のデータ量単位で処理を行うことによりRAMへより高速で出力するバースト転送により展開されたあとの画像データの転送を実行することがある。この間引き処理後の画像データをバースト転送で転送する際において、データの間引き処理を実行すると、間引き処理後の画像データのデータ量の全体がバースト転送用のデータ量単位に足りないような場合が生じ、このような場合には、データの出力抜けが起きてしまうことがあった。   By the way, in the information processing apparatus described in Patent Document 1, the so-called MCU unit of 8 × 8 pixels is used as a basic unit for handling an image, and JPEG-compressed image data is developed or after being developed. Image data is reduced and displayed. Also in this image data reduction processing, so-called thinning-out processing may be performed in MCU units, and the processed data may be output to the RAM. In addition, there is a case where image data is transferred after being developed by burst transfer that outputs at a higher speed to the RAM by performing processing in units of a predetermined data amount. When transferring the image data after the thinning-out process by burst transfer, if the data thinning-out process is executed, the entire data amount of the image data after the thinning-out process may not be enough for the data unit for burst transfer. In such a case, data output may be lost.

本発明は、このような課題に鑑みなされたものであり、データの抜けをより抑制して間引きしたデータを転送することができる情報処理装置、印刷装置及び情報処理方法を提供することを目的とする。   The present invention has been made in view of such a problem, and an object thereof is to provide an information processing apparatus, a printing apparatus, and an information processing method capable of transferring data that has been thinned while further suppressing data loss. To do.

本発明は、上述の目的を達成するために以下の手段を採った。   The present invention adopts the following means in order to achieve the above-mentioned object.

本発明の情報処理装置は、
画像データを変換して所定の転送データ量単位でデータを記憶手段へ転送する情報処理装置であって、
画像データを構成する画像構成単位でデータの間引き処理を実行する間引き手段と、
前記転送データ量単位以下のデータが前記間引き手段から出力されるときには複数の画像構成単位で前記記憶手段へデータ転送するよう切り替え、該複数の画像構成単位でのデータ転送の際に、最後のデータ転送が前記転送データ量単位に足りないときには該データ転送の間のいずれかにダミーデータを付加してデータ転送を実行するデータ転送手段と、
を備えたものである。
The information processing apparatus of the present invention
An information processing apparatus for converting image data and transferring the data to a storage means in a predetermined transfer data amount unit,
Thinning means for executing data thinning processing in image configuration units constituting image data;
When data equal to or less than the transfer data amount unit is output from the thinning unit, the data is switched to the storage unit in a plurality of image constituent units, and the last data is transferred in the data transfer in the plurality of image constituent units. Data transfer means for performing data transfer by adding dummy data to any of the data transfers when the transfer is less than the transfer data amount unit;
It is equipped with.

この情報処理装置では、画像データを構成する画像構成単位でデータの間引き処理を実行し、転送データ量単位以下の間引き後のデータが出力されるときには、複数の画像構成単位で記憶手段へデータ転送するよう切り替え、この複数の画像構成単位でのデータ転送の際に、最後のデータ転送が転送データ量単位に足りないときにはこのデータ転送の間のいずれかにダミーデータを付加してデータ転送を実行する。このように、転送データ量単位に足りないときには、その足りないデータ転送自体が省略されてしまうことがあるが、ここでは、ダミーデータを付加することにより転送データ量単位に足りないデータの転送がなされるよう確保するのである。したがって、データの抜けをより抑制して間引きしたデータを転送することができる。ここで、「最後のデータ転送が転送データ量単位に足りないとき」は、データ転送の初期(データ転送前など)に判定してもよいし、最後のデータ転送の直近で判定するものとしてもよい。   In this information processing apparatus, data thinning processing is executed in units of image components constituting image data, and when data after decimation below the unit of transfer data amount is output, data transfer is performed to storage means in units of multiple image components When transferring data in multiple image composition units, if the last data transfer is less than the transfer data amount unit, dummy data is added to one of the data transfers to execute the data transfer To do. As described above, when the transfer data amount unit is insufficient, the insufficient data transfer itself may be omitted, but here, by adding dummy data, the transfer of data that is insufficient for the transfer data amount unit is performed. Ensure that it is done. Therefore, it is possible to transfer the thinned data while further suppressing data loss. Here, “when the last data transfer is less than the transfer data amount unit” may be determined at the initial stage of data transfer (before data transfer or the like) or may be determined immediately after the last data transfer. Good.

本発明の情報処理装置において、前記データ転送手段は、複数の画像構成単位で前記記憶手段へデータ転送するに際して、2n個(nは1以上の整数)の前記画像構成単位による転送データ量単位でデータ転送を実行し、ダミーデータを付加してデータ転送を実行するに際して、前記画像データにおいて、X軸方向の画像構成単位数がn(a+1)個(aは1以上の整数)であり、該X軸に直交するY軸方向の画像構成単位数が2b+1(bは1以上の整数)であるときには、(b+1)回×(a+2)/2回の2n個の前記画像構成単位によるデータ転送と、b回×a/2回の2n個の前記画像構成単位によるデータ転送と、を実行すると共に、該データ転送の間のいずれかにn個のダミーデータを付加してデータ転送を実行するものとしてもよい。このように、画像データのX軸方向の画像構成単位数がn(a+1)個、即ち、2n個によるX軸方向のデータ転送回数に半端分(n個)があるときは、転送回数として省略されてしまうことがあり、更に、Y軸方向が2b+1、即ち2で割り切れない奇数回数であるときは、画像構成単位によるデータ転送に不足分が生じてしまう。ここでは、データ転送のうち、Y軸方向を(b+1)回とb回との2つに区分すると共に、(b+1)回側の半端分を埋めるデータをb回側から受け、b回側の転送での不足分をn個のダミーデータで補うのである。こうすれば、比較的容易にデータの抜けをより抑制して間引きしたデータを転送することができる。このとき、前記データ転送手段は、X軸方向の画像構成単位数が2n×a個であり、Y軸方向の画像構成単位数がbであるときには、a回×b回の前記画像構成単位によるデータ転送を実行するものとしてもよい。こうすれば、X軸方向に半端がでないときには、X軸方向にa回、Y軸方向にb回という画像の配置を意識したデータ転送を実行することができる。また、このとき、本発明の情報処理装置は、X軸方向の画像構成単位の位置をカウントするX軸カウンタと、前記Y軸方向の画像構成単位の位置をカウントするY軸カウンタと、を備え、前記データ転送手段は、前記Y軸カウンタ値が(b+1)を超える前には、前記X軸カウントエンド値をn(a+2)に設定し前記2n個の画像構成単位のデータ転送を実行すると前記X軸カウンタを2nインクリメントし前記X軸カウンタ値が前記X軸カウントエンド値となると前記Y軸カウンタをインクリメントする一方、前記Y軸カウンタ値が(b+1)を超えたあと前記Y軸カウンタ値がbを超えるまでは前記X軸カウントエンド値をnaに設定し前記2n個の画像構成単位のデータ転送を実行すると前記X軸カウンタを2nインクリメントし、前記Y軸カウンタ値がY軸カウントエンド値であり前記X軸カウンタ値がカウントエンド値となるとデータ転送を終了するものとしてもよい。こうすれば、カウンタを利用してより容易にデータの抜けをより抑制して間引きしたデータを転送することができる。   In the information processing apparatus of the present invention, when the data transfer means transfers data to the storage means in a plurality of image constituent units, 2n (n is an integer of 1 or more) transfer data amount units by the image constituent units. When data transfer is executed and dummy data is added and data transfer is executed, the number of image constituent units in the X-axis direction is n (a + 1) (a is an integer of 1 or more) in the image data. When the number of image constituent units in the Y-axis direction orthogonal to the X-axis is 2b + 1 (b is an integer of 1 or more), (b + 1) times × (a + 2) / 2 times 2n data transfer units using the image constituent units , B times × a / 2 times, 2n data transfer by the image composition unit, and data transfer is performed by adding n dummy data to any of the data transfers. As Also good. As described above, when the number of image constituent units in the X-axis direction of image data is n (a + 1), that is, when there are half (n) data transfer times in the X-axis direction by 2n, the number of transfer times is omitted. Furthermore, if the Y-axis direction is 2b + 1, that is, an odd number that is not divisible by 2, an insufficient amount of data transfer by the image constituent unit occurs. Here, in the data transfer, the Y-axis direction is divided into two (b + 1) times and b times, and data that fills the half end of the (b + 1) times side is received from the b times side. The deficiency in the transfer is compensated by n dummy data. By so doing, it is possible to transfer the thinned data relatively easily while suppressing data loss. At this time, when the number of image constituent units in the X-axis direction is 2n × a and the number of image constituent units in the Y-axis direction is b, the data transfer means uses a times × b times of the image constituent units. Data transfer may be executed. In this way, when there is no half end in the X-axis direction, data transfer can be executed in consideration of the image arrangement of a times in the X-axis direction and b times in the Y-axis direction. At this time, the information processing apparatus of the present invention includes an X-axis counter that counts the position of the image constituent unit in the X-axis direction, and a Y-axis counter that counts the position of the image constituent unit in the Y-axis direction. The data transfer means sets the X-axis count end value to n (a + 2) and executes data transfer of the 2n image constituent units before the Y-axis counter value exceeds (b + 1). When the X-axis counter is incremented by 2n and the X-axis counter value reaches the X-axis count end value, the Y-axis counter is incremented, and after the Y-axis counter value exceeds (b + 1), the Y-axis counter value is b Until the X-axis count end value is set to na and the data transfer of the 2n image constituent units is executed, the X-axis counter is incremented by 2n. When the X-axis counter value serial Y-axis counter value is Y-axis count end value becomes the count end value may shall terminate the data transfer. In this way, the thinned data can be transferred more easily using the counter while further suppressing data loss.

本発明の情報処理装置において、前記データ転送手段は、2n個(nは1以上の整数)の前記画像構成単位による転送データ量単位でデータ転送を実行し、前記画像データにおいて、X軸方向の画像構成単位数がn(c+1)個(cは1以上の整数)であり、該X軸に直交するY軸方向の画像構成単位数が2d(dは1以上の整数)であるときには、d回×(c+2)/2回の2n個の前記画像構成単位によるデータ転送と、d回×c/2回の2n個の前記画像構成単位によるデータ転送と、を実行するものとしてもよい。こうすれば、画像データのX軸方向の画像構成単位数がn(c+1)個、即ち、転送回数として省略されてしまう、2n個によるX軸方向のデータ転送回数に半端分(n個)があり、且つY軸方向が2で割り切れる(2d)ときに、一方の半端分を他方に振り分けてデータ転送を行うことにより、比較的容易にデータの抜けをより抑制して間引きしたデータを転送することができる。   In the information processing apparatus of the present invention, the data transfer means executes data transfer in units of transfer data amount by 2n (n is an integer of 1 or more) of the image constituent units, and in the image data, When the number of image constituent units is n (c + 1) (c is an integer of 1 or more) and the number of image constituent units in the Y-axis direction orthogonal to the X axis is 2d (d is an integer of 1 or more), d It is also possible to execute data transfer using 2n image composition units of times x (c + 2) / 2 times and data transfer using 2n image composition units of d times x c / 2 times. In this way, the number of image constituent units in the X-axis direction of image data is n (c + 1), that is, the number of transfer times is omitted, and the number of data transfers in the X-axis direction by 2n is half (n). Yes, and when the Y-axis direction is divisible by 2 (2d), data transfer is performed relatively easily by suppressing data loss by distributing data by assigning one half end to the other. be able to.

本発明の情報処理装置において、前記データ転送手段は、前記複数の画像構成単位でデータ転送するに際して、最後のデータ転送が前記転送データ量単位に足りないときには、該データ転送の最後に前記ダミーデータを付加してデータ転送を実行するものとしてもよい。こうすれば、ダミーデータを取り除きやすい。   In the information processing apparatus of the present invention, when the data transfer means transfers the data in the plurality of image constituent units, and the last data transfer is less than the transfer data amount unit, the dummy data is transferred at the end of the data transfer. May be added to execute data transfer. This makes it easier to remove dummy data.

本発明の情報処理装置において、前記データ転送手段は、前記ダミーデータを付加してデータ転送するに際して、前記画像データに含まれる前記画像構成単位の数と前記データ転送する複数の画像構成単位とにより定められるデータ量の前記ダミーデータを付加してデータ転送を実行するものとしてもよい。こうすれば、比較的容易にダミーデータを付加することができる。このとき、画像データに含まれる画像構成単位の数を前記データ転送する前記間引き処理後の複数の画像構成単位(転送データ量単位)で除算し、その整数解と余りの値から前記ダミーデータのデータ量を求めるものとしてもよい。   In the information processing apparatus according to the present invention, the data transfer means includes the number of the image constituent units included in the image data and the plurality of image constituent units to which the data transfer is performed when the dummy data is added and transferred. Data transfer may be executed by adding the dummy data having a predetermined data amount. In this way, dummy data can be added relatively easily. At this time, the number of image constituent units included in the image data is divided by a plurality of image constituent units (transfer data amount units) after the thinning process for transferring the data, and the integer data and the remainder are used to calculate the dummy data. The amount of data may be obtained.

本発明の印刷装置は、上述したいずれか1つに記載の情報処理装置と、前記情報処理装置により間引き処理された画像データを記憶する記憶手段と、前記記憶された間引き処理後の画像データを印刷媒体へ印刷出力する印刷出力手段と、を備えたものとしてもよい。印刷装置は、画像データを間引き処理して印刷することが多いから、本発明を適用する意義が高い。   The printing apparatus according to the present invention includes an information processing apparatus according to any one of the above, storage means for storing image data thinned by the information processing apparatus, and the stored image data after thinning processing. And a print output means for printing out to a print medium. Since a printing apparatus often prints image data after thinning it out, it is highly meaningful to apply the present invention.

本発明の情報処理方法は、
画像データを変換して転送データ量単位でデータを記憶手段へ転送する情報処理方法であって、
(a)画像データを構成する画像構成単位でデータの間引き処理を実行するステップと、
(b)前記転送データ量単位以下のデータが前記ステップ(a)で出力されるときには複数の画像構成単位で前記記憶手段へデータ転送するよう切り替え、該複数の画像構成単位でのデータ転送の際に、最後のデータ転送が前記転送データ量単位に足りないときには該データ転送の間のいずれかにダミーデータを付加してデータ転送を実行するステップと、
を含むものである。
The information processing method of the present invention includes:
An information processing method for converting image data and transferring the data to a storage means in units of transfer data amount,
(A) executing a data thinning process in units of image components constituting the image data;
(B) When data equal to or less than the transfer data amount unit is output in step (a), switching is performed so that data is transferred to the storage means in a plurality of image constituent units, and when transferring data in the plurality of image constituent units In addition, when the last data transfer is less than the transfer data amount unit, dummy data is added somewhere during the data transfer, and the data transfer is executed.
Is included.

この情報処理方法では、画像データを構成する画像構成単位でデータの間引き処理を実行し、転送データ量単位以下の間引き後のデータが出力されるときには、複数の画像構成単位で記憶手段へデータ転送するよう切り替え、この複数の画像構成単位でのデータ転送の際に、最後のデータ転送が転送データ量単位に足りないときにはこのデータ転送の間のいずれかにダミーデータを付加してデータ転送を実行する。このように、転送データ量単位に足りないときには、その足りないデータ転送自体が省略されてしまうことがあるが、ここでは、ダミーデータを付加することにより転送データ量単位に足りないデータの転送を確保するのである。したがって、データの抜けをより抑制して間引きしたデータを転送することができる。なお、この情報処理方法において、上述した情報処理装置の種々の態様を採用してもよいし、また、上述した情報処理装置の各機能を実現するようなステップを追加してもよい。   In this information processing method, data thinning processing is executed in units of image constituents constituting image data, and when data after thinning out is transferred in units of transfer data amount or less, data is transferred to the storage means in units of plural image constituents. When transferring data in multiple image composition units, if the last data transfer is less than the transfer data amount unit, dummy data is added to one of the data transfers to execute the data transfer To do. As described above, when the transfer data amount unit is insufficient, the insufficient data transfer itself may be omitted, but here, by adding dummy data, the transfer of data that is insufficient for the transfer data amount unit is performed. Secure it. Therefore, it is possible to transfer the thinned data while further suppressing data loss. In this information processing method, various aspects of the information processing apparatus described above may be adopted, and steps for realizing each function of the information processing apparatus described above may be added.

次に、本発明を実施するための最良の形態を図面を用いて説明する。図1は、本発明の一実施形態である印刷装置としてのプリンタ20の構成の概略を示す構成図である。本実施形態のプリンタ20は、装置全体の制御を司るコントローラ21と、1クロックごとにデータを転送するバースト転送可能な一時的にデータを記憶するSDRAM(Synchronous Dynamic RAM)25と、記録紙Sへ画像を印刷処理する印刷機構26と、接続されたパソコンなどの外部機器との間で情報の入出力が可能なインタフェース(I/F)27と、携帯用の記憶媒体であるメモリカード12をスロット28aに装着・取外し可能であるメモリカードコントローラ28と、画像の回転や縮小を実行する回路である画像処理ASIC30と、ユーザへ情報を表示可能でありユーザの指示を入力可能である操作パネル40と、を備えている。コントローラ21は、CPU22を中心とするマイクロプロセッサとして構成されており、各種処理プログラムを記憶したフラッシュROM23と、一時的にデータを記憶するキャッシュメモリ24とを備えている。SDRAM25は、外部バスインターフェイスが一定周期のクロック信号に同期して動作し、1回のアドレス指定で複数のデータをまとめて連続的に転送するバースト転送可能なメインメモリである。印刷機構26は、図示しないが、各色のインクに圧力をかけ、この加圧されたインクを記録紙Sに吐出して印刷処理を実行するインクジェット方式の機構である。なお、インクへ圧力をかける機構は、圧電素子の変形によるものとしてもよいしヒータの熱による気泡の発生によるものとしてもよい。   Next, the best mode for carrying out the present invention will be described with reference to the drawings. FIG. 1 is a configuration diagram showing an outline of a configuration of a printer 20 as a printing apparatus according to an embodiment of the present invention. The printer 20 according to the present embodiment includes a controller 21 that controls the entire apparatus, an SDRAM (Synchronous Dynamic RAM) 25 that temporarily stores data that can be burst-transferred to transfer data every clock, and a recording sheet S. A slot for inserting a printing mechanism 26 for printing an image, an interface (I / F) 27 capable of inputting / outputting information between an external device such as a connected personal computer, and a memory card 12 as a portable storage medium. A memory card controller 28 that can be attached / detached to / from 28a, an image processing ASIC 30 that is a circuit that performs rotation and reduction of an image, and an operation panel 40 that can display information to the user and can input user instructions. It is equipped with. The controller 21 is configured as a microprocessor centered on the CPU 22 and includes a flash ROM 23 that stores various processing programs and a cache memory 24 that temporarily stores data. The SDRAM 25 is a main memory capable of burst transfer, in which an external bus interface operates in synchronization with a clock signal having a fixed period, and a plurality of data is transferred continuously in a single address designation. Although not shown, the printing mechanism 26 is an ink jet mechanism that applies a pressure to each color ink and discharges the pressurized ink onto the recording paper S to execute a printing process. The mechanism for applying pressure to the ink may be due to deformation of the piezoelectric element or due to generation of bubbles due to the heat of the heater.

画像処理ASIC30は、メモリカード12などに記憶された圧縮された画像データを解凍して画像データに展開する画像展開回路31と、展開された画像データを所定角度に回転処理する回転回路32と、画像展開回路31によって展開された画像データを間引き処理して縮小する間引回路33と、画像データに所定の処理を実行する際に必要な情報がセットされるレジスタ34と、画像のX軸方向(水平方向)のMCUをカウントするXmcuカウンタ35と、画像のY軸方向(X軸に直交する垂直方向)のMCUをカウントするYmcuカウンタ36と、を備えている。なお、MCUとは、「画像構成単位」であり、画像データを構成する8×8バイトの基本単位である。画像展開回路31は、コントローラ21からの指令に基づいて、メモリカード12などへアクセスし圧縮保存されている画像データを展開(解凍)し、展開した画像データを回転回路32や間引回路33へ出力する処理を行う。回転回路32は、画像展開回路31により展開された画像データや間引回路33によって間引かれた画像データを、例えば90°や180°、270°などの角度に回転する回路である。この回転回路32は、回転後の画像データをDMA(Direct Memory Access)によりSDRAM25へ書き込む処理を実行する。間引回路33は、入力した画像データを、1/2間引き、1/4間引き、1/8間引きを単純間引きにより実行する回路として構成されている。この間引回路33は、レジスタ34にセットされている値やXmcuカウンタ35,Ymcuカウンタ36を用いて間引き処理を実行し、間引き後の画像データを、回転回路32へ出力したり、DMAによりSDRAM25へ書き込む処理を実行したりする。レジスタ34は、画像データのサイズに関する情報(例えばX軸方向のMCU数、Y軸方向のMCU数など)や間引き率、回転角度などの各種設定値をセット・リセットする回路として構成されている。Xmcuカウンタ35は、レジスタ34にセットされたX軸の最後のMCU番号であるXend値と値「0」との間でカウント可能なアップダウンカウンタとして構成されている。このXmcuカウンタ35は、MCUの内部のアドレスを生成する図示しないXカウンタ及びYカウンタが所定値(ここでは8×8)までカウントされると、アップ・ダウンカウントのいずれかに従ってカウンタ値が値「1」変更されるよう構成されている。また、Ymcuカウンタ36は、Xmcuカウンタ35がXend値と値「0」との間ですべてカウントされると、アップ・ダウンカウントのいずれかに従ってカウンタ値が値「1」変更されるよう構成されている。なお、ここでは説明の便宜のため、Xmcuカウンタ35及びYmcuカウンタ36について、カウントアップする場合について主に説明する。   The image processing ASIC 30 includes an image expansion circuit 31 that decompresses compressed image data stored in the memory card 12 or the like and expands the image data, and a rotation circuit 32 that rotates the expanded image data at a predetermined angle. A thinning circuit 33 for thinning out and reducing the image data developed by the image development circuit 31, a register 34 for setting information necessary for executing predetermined processing on the image data, and the X-axis direction of the image An Xmcu counter 35 that counts the MCU in the (horizontal direction) and a Ymcu counter 36 that counts the MCU in the Y-axis direction (vertical direction orthogonal to the X-axis) of the image. The MCU is an “image constituent unit” and is a basic unit of 8 × 8 bytes constituting image data. Based on a command from the controller 21, the image expansion circuit 31 accesses the memory card 12 and expands (decompresses) the compressed and stored image data, and the expanded image data is supplied to the rotation circuit 32 and the thinning circuit 33. Process to output. The rotation circuit 32 is a circuit that rotates the image data developed by the image development circuit 31 and the image data thinned out by the thinning circuit 33 to an angle such as 90 °, 180 °, or 270 °. The rotation circuit 32 executes a process of writing the rotated image data into the SDRAM 25 by DMA (Direct Memory Access). The thinning circuit 33 is configured as a circuit that executes input image data by 1/2 thinning, 1/4 thinning, and 1/8 thinning by simple thinning. The thinning circuit 33 performs thinning processing using the value set in the register 34, the Xmcu counter 35, and the Ymcu counter 36, and outputs the thinned image data to the rotation circuit 32 or DMA to the SDRAM 25. Execute the writing process. The register 34 is configured as a circuit that sets / resets various setting values such as information on the size of image data (for example, the number of MCUs in the X-axis direction and the number of MCUs in the Y-axis direction), a thinning rate, and a rotation angle. The Xmcu counter 35 is configured as an up / down counter that can count between the Xend value that is the last MCU number of the X axis set in the register 34 and the value “0”. When the X counter and the Y counter (not shown) that generate an internal address of the MCU are counted up to a predetermined value (here, 8 × 8), the Xmcu counter 35 counts the counter value according to either the up / down count. 1 ”It is configured to be changed. The Ymcu counter 36 is configured such that when the Xmcu counter 35 counts all between the Xend value and the value “0”, the counter value is changed to “1” in accordance with either the up / down count. Yes. Here, for convenience of explanation, the case of counting up the Xmcu counter 35 and the Ymcu counter 36 will be mainly described.

操作パネル40は、ユーザがプリンタ20に対して各種の指示を入力するためのデバイスであり、カラー画像を表示する液晶パネルにより構成され各種の指示に応じた文字や画像が表示される表示部42や、カーソルなどを移動させるときに押下されるカーソルキーや処理選択などを決定するときに押下される決定キーなどが配置され各種操作を行う操作部44が設けられている。コントローラ21やSDRAM25、印刷機構26、I/F27、メモリカードコントローラ28、画像処理ASIC30、操作パネル40は、バス29によって電気的に接続されている。また、メモリカード12は、データの書き込み及び消去可能な不揮発性のメモリであり、デジタルカメラなどの撮影装置により撮影された複数の画像ファイルなどが保存されている。この画像ファイルには、例えば、所定形式(例えばJPEG形式)で圧縮された画像データとこの画像データの付加情報(撮影日時や撮影モードなど)とが格納されている。   The operation panel 40 is a device for a user to input various instructions to the printer 20, and includes a liquid crystal panel that displays a color image, and a display unit 42 that displays characters and images according to the various instructions. In addition, an operation unit 44 for performing various operations is provided, which includes a cursor key that is pressed when moving the cursor, a determination key that is pressed when determining processing selection, and the like. The controller 21, SDRAM 25, printing mechanism 26, I / F 27, memory card controller 28, image processing ASIC 30, and operation panel 40 are electrically connected by a bus 29. The memory card 12 is a nonvolatile memory in which data can be written and erased, and stores a plurality of image files photographed by a photographing device such as a digital camera. In this image file, for example, image data compressed in a predetermined format (for example, JPEG format) and additional information (such as shooting date and time and shooting mode) of the image data are stored.

このように構成されたプリンタ20では、コントローラ21や印刷機構26、メモリカードコントローラ28、画像処理ASIC30などと、SDRAM25とのアクセスについて、転送速度の高速化や転送効率から経験的に16ビット・4バースト転送、即ち「転送データ量単位」として1度に8バイト単位のデータを転送するように固定的に定められている。   In the printer 20 configured as described above, the access to the SDRAM 25 with the controller 21, the printing mechanism 26, the memory card controller 28, the image processing ASIC 30, and the like is empirically 16 bits · 4 from the viewpoint of increasing the transfer speed and transfer efficiency. It is fixedly determined to transfer data in units of 8 bytes at a time as burst transfer, that is, “transfer data amount unit”.

次に、こうして構成された本実施形態のプリンタ20の動作について説明する。ここでは、メモリカード12に保存された画像ファイルのうち1つの画像を縮小(間引き)して表示部42に表示及び印刷する場合について主に説明する。なお、画像を回転する処理についての説明は、説明の便宜により省略し、画像を回転しない場合について説明する。まず、最初に、ユーザは、操作部44を操作し表示部42に表示された画像を選択し、縮小処理を実行させる。すると、CPU22は、間引き数や回転角度などの実行条件をレジスタ34にセットし、メモリカードコントローラ28に画像データを画像展開回路31へ出力処理させる。図2は、プリンタ20の画像処理ASIC30により実行される間引き実行ルーチンの一例を示すフローチャートである。この間引き実行ルーチンは、CPU22が送信した画像データの間引き処理指令を画像処理ASIC30が受信したあと、画像処理ASIC30により実行される。   Next, the operation of the printer 20 of this embodiment configured as described above will be described. Here, a case where one image among image files stored in the memory card 12 is reduced (thinned) and displayed on the display unit 42 and printed will be mainly described. Note that description of the process of rotating the image is omitted for convenience of description, and a case where the image is not rotated will be described. First, the user operates the operation unit 44 to select an image displayed on the display unit 42, and executes a reduction process. Then, the CPU 22 sets execution conditions such as a thinning number and a rotation angle in the register 34, and causes the memory card controller 28 to output image data to the image development circuit 31. FIG. 2 is a flowchart illustrating an example of a thinning execution routine executed by the image processing ASIC 30 of the printer 20. This thinning execution routine is executed by the image processing ASIC 30 after the image processing ASIC 30 receives the image data thinning processing command transmitted by the CPU 22.

このルーチンが開始されると、メモリカードコントローラ28から入力した圧縮されている画像データを画像展開回路31が展開処理する(ステップS100)。なお、このとき、画像展開回路31は、画像データのX軸方向のピクセル数及びMCU数と、Y軸方向のピクセル数及びMCU数とをレジスタ34にセットする処理を行う。こうして、CPU22は、レジスタ34の値を確認することにより画像データのサイズやどのピクセルがどのSDRAM25のアドレスに格納されているかを把握可能となる。ここでは、画像展開回路31は、圧縮されているYUV形式の画像データからRGB形式の画像データへ変換するものとした。図3は、RGBデータに展開したときのMCUの説明図であり、図4は、MCUにより構成される画像データの説明図である。図3に示すように、展開した画像データは、R,G,B,Nullの4つのMCUにより構成されると共に、画像データの1単位としてのMCUは、8×8バイトのデータを含んで構成されている。即ち、R,G,B,Nullの4バイトのデータによって1ピクセルのデータが構成されている。なお、Nullデータは、何も含まれていないデータとしてもよいし、画像データに付帯する情報(例えば撮影日時など)を格納するものとしてもよい。   When this routine is started, the image expansion circuit 31 expands the compressed image data input from the memory card controller 28 (step S100). At this time, the image development circuit 31 performs processing for setting the number of pixels and the number of MCUs in the X-axis direction and the number of pixels and the number of MCUs in the Y-axis direction of the image data in the register 34. Thus, the CPU 22 can grasp the size of the image data and which pixel is stored in which address of the SDRAM 25 by checking the value of the register 34. Here, the image development circuit 31 converts the compressed YUV format image data into RGB format image data. FIG. 3 is an explanatory diagram of the MCU when expanded into RGB data, and FIG. 4 is an explanatory diagram of image data configured by the MCU. As shown in FIG. 3, the developed image data is composed of four MCUs of R, G, B, and Null, and the MCU as one unit of the image data includes 8 × 8 bytes of data. Has been. That is, 1-pixel data is composed of 4-byte data of R, G, B, and Null. Note that Null data may be data that does not include anything, or may store information accompanying the image data (for example, shooting date and time).

次に、間引き数の値を調べ(ステップS110)、間引き数が1/1,1/2,1/4であるときには、通常の間引き処理を実行し(ステップS120)、そのままこのルーチンを終了する。ここで、通常間引き処理について、例えば、1/1間引き、即ち間引きを実行しないときには、図4に示した画像データの左から右へ、上から下へMCU単位で転送データ量単位である8バイト(2ピクセル)ずつ、間引回路33からSDRAM25へDMAによるバースト転送を実行する。図4は、X軸方向に16ピクセル(2MCU)、Y軸方向に24ピクセル(3MCU)の画像データの一例を示した。例えば、図4において、1番目のMCUのアドレス「0」から「1c」まで転送し、次に「40」から同様に「1dc」まで転送し、続いて2番目のMCUのアドレス「20」から「1fc」まで転送する処理を繰り返し、最後の「5fc」まで転送するのである。また、1/2間引きの際は、図3(a)に示すように、各MCUの左上側4×4ピクセルを転送対象とし、1/4間引きの際は、各MCUの左上側2×2ピクセルを転送対象とし、上記と同様の処理を実行する。なお、間引き数が1/1,1/2,1/4であるときには、X軸方向、Y軸方向のMCUの数が偶数・奇数にかかわらず、1MCUあたり2ピクセル以上存在するから、1DMA転送単位の8バイト単位で転送可能である。このように、通常間引き処理では、画像の左から右へ、上から下へという、画像イメージに合わせたSDRAM25のアドレスに画像処理ASIC30の各回路を介して画像データを転送するのである。   Next, the value of the thinning number is checked (step S110). When the thinning number is 1/1, 1/2, or 1/4, the normal thinning process is executed (step S120), and this routine is finished as it is. . Here, in the normal thinning process, for example, when 1/1 thinning, that is, thinning is not executed, the transfer data amount unit is 8 bytes in MCU units from left to right and from top to bottom of the image data shown in FIG. Burst transfer by DMA is executed from the thinning circuit 33 to the SDRAM 25 by (2 pixels). FIG. 4 shows an example of image data of 16 pixels (2 MCU) in the X-axis direction and 24 pixels (3 MCU) in the Y-axis direction. For example, in FIG. 4, the first MCU address “0” to “1c” is transferred, then “40” is similarly transferred to “1dc”, and then the second MCU address “20” is transferred. The process of transferring up to “1fc” is repeated until the last “5fc” is transferred. Further, as shown in FIG. 3A, the upper left 4 × 4 pixels of each MCU are to be transferred during 1/2 thinning, and the upper left 2 × 2 of each MCU is used during 1/4 thinning. The same processing as described above is executed with the pixel as the transfer target. When the thinning-out number is 1/1, 1/2, or 1/4, there are 2 or more pixels per MCU regardless of the number of MCUs in the X-axis direction and the Y-axis direction. Data can be transferred in units of 8 bytes. As described above, in the normal thinning process, the image data is transferred via the respective circuits of the image processing ASIC 30 to the address of the SDRAM 25 corresponding to the image image from left to right and from top to bottom of the image.

一方、間引き数が1/8であるときには、1/8間引き処理を実行し(ステップS130)、このルーチンを終了する。ここで、1/8間引き処理では、図3(a)に示すように、1MCUあたり左上の1ピクセル(4バイト)のデータのみになるから、1MCUでは8バイト単位のバースト転送を実行することができない。このため画像処理ASIC30では、基本的に隣のMCUと合わせて2MCUごとにバースト転送するようにした。ところが、X軸方向のMCU数が奇数であるときやY軸方向のMCU数が奇数であるときなどには、隣のMCUがない場合などがあり、不都合が生じる。ここでは、画像イメージを意識しないアドレスを用いてこの不都合を解消するものとした。具体的な内容を以下に説明する。図5は、1/8間引き処理ルーチンの一例を示すフローチャートである。このルーチンは、画像処理ASIC30の間引回路33によって実行される。このルーチンを開始すると、まず、間引回路33は、Xmcuカウンタ35のカウンタ値Xを値「0」に、Ymcuカウンタ36のカウンタ値Yを値「1」にそれぞれ初期化し(ステップS200)、X軸方向,Y軸方向のMCU数を調べる(ステップS210)。このX軸方向,Y軸方向のMCU数は、レジスタ34にセットされた値を用いるものとした。   On the other hand, when the thinning number is 1/8, 1/8 thinning processing is executed (step S130), and this routine is terminated. Here, in the 1/8 decimation process, as shown in FIG. 3A, only 1 pixel (4 bytes) of data at the upper left per 1 MCU is used, and therefore, 1 MCU may perform burst transfer in units of 8 bytes. Can not. For this reason, the image processing ASIC 30 basically performs burst transfer every two MCUs together with the adjacent MCU. However, when the number of MCUs in the X-axis direction is an odd number or when the number of MCUs in the Y-axis direction is an odd number, there is a case where there is no adjacent MCU, which causes inconvenience. Here, this inconvenience is solved by using an address that is not conscious of the image. Specific contents will be described below. FIG. 5 is a flowchart showing an example of the 1/8 thinning process routine. This routine is executed by the thinning circuit 33 of the image processing ASIC 30. When this routine is started, the thinning circuit 33 first initializes the counter value X of the Xmcu counter 35 to a value “0” and the counter value Y of the Ymcu counter 36 to a value “1” (step S200). The number of MCUs in the axial direction and the Y-axis direction is checked (step S210). The values set in the register 34 are used as the number of MCUs in the X-axis direction and the Y-axis direction.

X軸方向のMCU数が偶数でありY軸方向のMCU数が偶数である場合、及びX軸方向のMCU数が偶数でありY軸方向のMCU数が奇数である場合、即ち、X軸方向のMCU数が2で割り切れる場合は、Y軸方向のMCU数が偶数・奇数にかかわらず、X軸方向に2MCU単位となるから、上述した通常間引き処理と同様に画像イメージを意識したDMA転送処理を実行する。具体的には、間引回路33は、2MCUに対応する2ピクセルのSDRAM25へのデータの書き込み処理を実行し(ステップS220)、Xmcuカウンタ35のカウンタ値を値「2」インクリメントし(ステップS230)、カウンタ値Xがエンド値Xendであるか否かを判定する(ステップS240)。ここでは、エンド値XendをX軸方向の最後のMCU値である値Xmaxとした。カウンタ値Xがエンド値Xendでないときには、間引回路33は、上述したステップS220〜S240の処理を繰り返す。一方、カウンタ値Xがエンド値Xendであるときには、間引回路33は、カウンタ値Xを値「0」にクリアし(ステップS250)、Ymcuカウンタ36のカウンタ値Yがエンド値Yendであるか否かを判定する(ステップS260)。この1/8間引き処理ルーチンでは、エンド値YendをY軸方向の最後のMCU値である値Ymaxとした。カウンタ値Yがエンド値Yendでないときには、カウンタ値Yを値「1」インクリメントし(ステップS270)、カウンタ値Xがエンド値Xendであり且つカウンタ値Yがエンド値Yendに至るまで、上述したステップS220〜S270の処理を繰り返す。カウンタ値Xがエンド値Xendであり且つカウンタ値Yがエンド値Yendであるときには、SDRAM25への画像データの書き込みを完了すると共にCPU22へ割込信号を出力し(ステップS280)、このルーチンを終了する。割込信号を受けたCPU22は、レジスタ34にセットされている値を用いて、SDRAM25のアドレスと画像のピクセルとの関係を把握し、SDRAM25に記憶された画像データを表示部42に表示させたり、印刷機構26に印刷出力させたりする。このように、X軸方向のMCU数が偶数であるときには、画像の左から右へ、上から下へという、画像イメージに合わせたSDRAM25のアドレスに間引回路33が画像データを転送するのである。   When the number of MCUs in the X-axis direction is even and the number of MCUs in the Y-axis direction is even, and when the number of MCUs in the X-axis direction is even and the number of MCUs in the Y-axis direction is odd, that is, in the X-axis direction If the number of MCUs is divisible by 2, the number of MCUs in the Y-axis direction is 2 MCU units in the X-axis direction regardless of whether the number of MCUs is even or odd. Execute. Specifically, the thinning-out circuit 33 executes a data writing process to the 2-pixel SDRAM 25 corresponding to 2MCU (step S220), and increments the counter value of the Xmcu counter 35 by a value “2” (step S230). Then, it is determined whether or not the counter value X is the end value Xend (step S240). Here, the end value Xend is set to a value Xmax which is the last MCU value in the X-axis direction. When the counter value X is not the end value Xend, the thinning circuit 33 repeats the processes of steps S220 to S240 described above. On the other hand, when the counter value X is the end value Xend, the thinning circuit 33 clears the counter value X to the value “0” (step S250), and whether or not the counter value Y of the Ymcu counter 36 is the end value Yend. Is determined (step S260). In this 1/8 decimation processing routine, the end value Yend is set to the value Ymax which is the last MCU value in the Y-axis direction. When the counter value Y is not the end value Yend, the counter value Y is incremented by the value “1” (step S270), and the above-described step S220 is performed until the counter value X is the end value Xend and the counter value Y reaches the end value Yend. The process of ~ S270 is repeated. When the counter value X is the end value Xend and the counter value Y is the end value Yend, the writing of the image data to the SDRAM 25 is completed and an interrupt signal is output to the CPU 22 (step S280), and this routine is finished. . Upon receiving the interrupt signal, the CPU 22 uses the value set in the register 34 to grasp the relationship between the address of the SDRAM 25 and the image pixel, and displays the image data stored in the SDRAM 25 on the display unit 42. The printing mechanism 26 prints out. As described above, when the number of MCUs in the X-axis direction is an even number, the thinning circuit 33 transfers the image data to the address of the SDRAM 25 corresponding to the image image from left to right and from top to bottom of the image. .

一方、X軸方向のMCU数が奇数でありY軸方向のMCU数が偶数である場合、即ち、X軸方向のMCU数が2で割り切れず、Y軸方向のMCU数が2で割り切れる場合は、以下の処理を行うものとした。図6は、X軸方向のMCU数が奇数でありY軸方向のMCU数が偶数である場合のDMAで転送するSDRAM25のアドレスの概念図であり、図6(a)が画像イメージを意識したアドレス、図6(b)が画像イメージを意識しないアドレスの概念図である。図6では、1/8間引き後にX軸方向が9MCU、Y方向が10MCUとなる場合のアドレスについて示した。2MCU単位でバースト転送を行う場合、図6(a)に示すように、X軸方向の最後のMCU数である値Xmax(図では値「9」)を2で除算したときに割り切れない小数点以下については回路構成上処理できず、ここでは、転送回数であるDMA数を値「4」として処理してしまい、右端の縦1列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。ここでは、図6(b)に示すように、Y軸方向のMCUを2分割し、一方の奇数分のMCUを他方にずらすような処理を行いDMAによるバースト転送を実行するものとした。   On the other hand, when the number of MCUs in the X-axis direction is odd and the number of MCUs in the Y-axis direction is even, that is, the number of MCUs in the X-axis direction is not divisible by 2, and the number of MCUs in the Y-axis direction is divisible by 2. The following processing was performed. FIG. 6 is a conceptual diagram of the address of the SDRAM 25 transferred by DMA when the number of MCUs in the X-axis direction is an odd number and the number of MCUs in the Y-axis direction is an even number. FIG. FIG. 6B is a conceptual diagram of addresses that are not conscious of images. FIG. 6 shows an address when the X-axis direction is 9 MCU and the Y direction is 10 MCU after 1/8 thinning. When burst transfer is performed in units of 2 MCUs, as shown in FIG. 6A, the decimal point that cannot be divided when the value Xmax (the value “9” in the figure) that is the last MCU number in the X-axis direction is divided by 2. Cannot be processed due to the circuit configuration, and here, the number of DMAs, which is the number of transfers, is processed as a value “4”, and pixels corresponding to one column at the right end are not transferred and data is lost. Resulting in. Here, as shown in FIG. 6 (b), the MCU in the Y-axis direction is divided into two, and processing for shifting one of the odd-numbered MCUs to the other is performed to execute burst transfer by DMA.

具体的には、間引回路33は、Y軸方向の最後のMCU数である値Ymaxを2で除算した値よりもカウンタ値Yが小さいか否かを判定する(ステップS290)。この判定は、図6(b)において、Y軸方向の半分までデータ転送を実行したか否かを判定する処理である。カウンタ値Yが値Ymax/2よりも小さいときには、間引回路33は、エンド値XendにX軸方向の最後のMCU数Xmaxに1を加えた値をセットし(ステップS300)、2MCUに対応する2ピクセルのSDRAM25へのデータの書き込み処理を実行し(ステップS310)、Xmcuカウンタ35のカウンタ値を値「2」インクリメントする(ステップS320)。図6においては、本来、X軸方向にはDMA転送回数が4回となるところ(図6(a))、Y軸方向の半分まではX軸方向に1MCU増やす処理を行うことによりDMA転送回数を5回とするのである(図6(b))。次に、間引回路33は、カウンタ値Xがエンド値Xendに至ったか否かを判定し(ステップS330)、カウンタ値Xがエンド値Xendに至っていないときには、ステップS290以降の処理を実行する。一方、カウンタ値Xがエンド値Xendに至ったときには、カウンタ値Xを値「0」にリセットし(ステップS340)、カウンタYがエンド値Yendに至ったか否かを判定する(ステップS350)。カウンタ値Yがエンド値Yendに至っていないときには、カウンタYの値を1インクリメントし(ステップS360)、即ち次のX軸の列の処理に移行し、ステップS290以降の処理を実行する。この処理を繰り返すうち、ステップS290でカウンタ値Yが値Ymax/2よりも大きいと判定されたときには、エンド値Xendに値Xmaxから1を差し引いた値をセットし(ステップS370)、上述したステップS310以降の処理を実行する。そして、ステップS330でカウンタXがエンド値Xendに至ると共にステップS350でカウンタYがエンド値Yendに至ったときには、SDRAM25への画像データの書き込みを完了すると共にCPU22へ割込信号を出力し(ステップS280)、そのままこのルーチンを終了する。このように、X軸方向のMCU数が奇数でありY軸方向のMCU数が偶数であるときには、画像イメージを意識しないSDRAM25のアドレスに間引回路33が画像データを転送するのである。なお、この処理について、2n個(nは1以上の整数)のMCUによるバースト転送データ量単位(1DMA)でデータ転送を実行し、X軸方向のMCU数がn(c+1)個(cは1以上の整数)であり、Y軸方向のMCU数が2d(dは1以上の整数)であるときには、d回×(c+2)/2回の2n個のMCUによるデータ転送と、d回×c/2回の2n個のMCUによるデータ転送と、を実行するものと一般化することができる。図6の例においては、2MCUによる1DMAでデータ転送を実行し、X軸方向のMCU数が1×(8+1)=9個、Y軸方向のMCU数が2×5=10個であるから、n=1,c=8,d=5であり、5回×5回の2MCUによるデータ転送と、5回×4回の2MCUによるデータ転送と、を実行するのである。   Specifically, the thinning circuit 33 determines whether or not the counter value Y is smaller than the value obtained by dividing the value Ymax, which is the last MCU number in the Y-axis direction, by 2 (step S290). This determination is processing for determining whether or not the data transfer has been executed up to half in the Y-axis direction in FIG. When the counter value Y is smaller than the value Ymax / 2, the thinning-out circuit 33 sets a value obtained by adding 1 to the final MCU number Xmax in the X-axis direction to the end value Xend (step S300), and corresponds to 2 MCUs. Data is written into the 2-pixel SDRAM 25 (step S310), and the counter value of the Xmcu counter 35 is incremented by "2" (step S320). In FIG. 6, the number of DMA transfers is originally four in the X-axis direction (FIG. 6A), but the number of DMA transfers is increased by 1 MCU in the X-axis direction up to half of the Y-axis direction. Is set to 5 times (FIG. 6B). Next, the thinning-out circuit 33 determines whether or not the counter value X has reached the end value Xend (step S330). When the counter value X has not reached the end value Xend, the processing after step S290 is executed. On the other hand, when the counter value X reaches the end value Xend, the counter value X is reset to the value “0” (step S340), and it is determined whether or not the counter Y has reached the end value Yend (step S350). When the counter value Y has not reached the end value Yend, the value of the counter Y is incremented by 1 (step S360), that is, the process proceeds to the next X-axis column process, and the processes after step S290 are executed. While this process is repeated, if it is determined in step S290 that the counter value Y is greater than the value Ymax / 2, the end value Xend is set to a value obtained by subtracting 1 from the value Xmax (step S370), and the above-described step S310 is performed. The subsequent processing is executed. When the counter X reaches the end value Xend in step S330 and the counter Y reaches the end value Yend in step S350, the writing of the image data to the SDRAM 25 is completed and an interrupt signal is output to the CPU 22 (step S280). ) This routine is terminated as it is. As described above, when the number of MCUs in the X-axis direction is an odd number and the number of MCUs in the Y-axis direction is an even number, the thinning circuit 33 transfers the image data to the address of the SDRAM 25 that is not aware of the image image. In this process, data transfer is performed in units of burst transfer data amount (1 DMA) by 2n (n is an integer of 1 or more) MCUs, and the number of MCUs in the X-axis direction is n (c + 1) (c is 1). When the number of MCUs in the Y-axis direction is 2d (d is an integer equal to or greater than 1), d times × (c + 2) / 2 times 2n MCU data transfer and d times × c / Data transfer by 2n MCUs twice can be generalized. In the example of FIG. 6, data transfer is performed with 1 DMA by 2 MCUs, the number of MCUs in the X-axis direction is 1 × (8 + 1) = 9, and the number of MCUs in the Y-axis direction is 2 × 5 = 10. n = 1, c = 8, d = 5, and 5 times × 5 times of data transfer by 2MCU and 5 times × 4 times of data transfer by 2MCU are executed.

一方、X軸方向のMCU数が奇数でありY軸方向のMCU数が奇数である場合、即ち、X軸方向及びY軸方向のMCU数が2で割り切れない場合は、以下の処理を行うものとした。図7は、X軸方向及びY軸方向のMCU数が奇数である場合のDMAで転送するSDRAM25のアドレスの概念図であり、図7(a)が画像イメージを意識したアドレス、図7(b)が画像イメージを意識しないアドレスの概念図である。図7では、1/8間引き後にX軸方向が9MCU、Y方向が9MCUとなる場合のアドレスについて示した。2MCU単位でバースト転送を行う場合、X軸方向が奇数であるときには、図7(a)に示すように、右端の縦1列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。また、上述のようにY軸方向のMCU数が偶数の場合はY軸方向に2分割可能であるが、Y軸方向のMCU数が奇数の場合はY軸方向に2分割すると更に半端が生じる。ここでは、図7(b)に示すように、前半に縦1列分を加算し、後半から縦1列分を減じると共に後半に生じる半端分に合わせてダミーデータを付加する処理を行いDMAによるバースト転送を実行するものとした。このダミーデータは、読み捨てられ、特に内容に意味はないから、どのようなデータを用いてもよい。   On the other hand, when the number of MCUs in the X-axis direction is odd and the number of MCUs in the Y-axis direction is odd, that is, when the number of MCUs in the X-axis direction and the Y-axis direction is not divisible by 2, the following processing is performed. It was. FIG. 7 is a conceptual diagram of the address of the SDRAM 25 transferred by DMA when the number of MCUs in the X-axis direction and the Y-axis direction is an odd number, FIG. 7A is an address conscious of the image image, FIG. ) Is a conceptual diagram of an address not conscious of an image. FIG. 7 shows addresses when the X-axis direction is 9 MCU and the Y direction is 9 MCU after 1/8 thinning. When burst transfer is performed in units of 2 MCUs, when the X-axis direction is an odd number, as shown in FIG. 7A, transfer is not performed for pixels corresponding to one column at the right end, and data is lost. End up. Further, as described above, when the number of MCUs in the Y-axis direction is an even number, the number can be divided into two in the Y-axis direction. However, when the number of MCUs in the Y-axis direction is an odd number, dividing into two in the Y-axis direction causes a further half-end. . Here, as shown in FIG. 7B, a process for adding one vertical column to the first half, subtracting one vertical column from the second half, and adding dummy data in accordance with the second half generated in the second half is performed. Burst transfer is assumed to be executed. Since this dummy data is discarded and there is no meaning in the content, any data may be used.

具体的には、間引回路33は、カウンタ値Yが値Ymaxを2で除算して1を加えた整数解の値よりも小さいか否かを判定する(ステップS380)。この判定は、図7(b)において、Y軸方向の半分より大きな整数の最も小さな値までデータ転送を実行したか否かを判定する処理である。カウンタ値Yが値Ymax/2+1の整数解よりも小さいときには、間引回路33は、エンド値Xendに値Xmaxに1を加えた値をセットし(ステップS390)、カウンタ値Yがエンド値Yendで且つカウンタ値Xがエンド値Xendの2つ前であるか否かを判定する(ステップS400)。この判定は、ダミーデータを付加する処理を実行するか否かを判定するものである。カウンタ値Y=Yend,カウンタ値X=Xend−2を満たしていないときには、2MCUに対応する2ピクセルのSDRAM25へのデータの書き込み処理を実行し(ステップS410)、Xmcuカウンタ35のカウンタ値を値「2」インクリメントする(ステップS420)。図7においては、本来、X軸方向にはDMA転送回数が4回となるところ(図7(a))、Y軸方向の半分過ぎ直後まではX軸方向に1MCU増やす処理を行うことによりDMA転送回数を5回とするのである(図7(b))。次に、間引回路33は、カウンタ値Xがエンド値Xendであるか否かを判定し(ステップS430)、カウンタ値Xがエンド値Xendでないときには、ステップS400以降の処理を実行する。一方、カウンタ値Xがエンド値Xendであるときには、カウンタ値Xを値「0」にリセットし(ステップS440)、カウンタYの値を1インクリメントし(ステップS450)、即ち次のX軸の列の処理に移行し、ステップS380以降の処理を実行する。   Specifically, the thinning circuit 33 determines whether or not the counter value Y is smaller than the value of the integer solution obtained by dividing the value Ymax by 2 and adding 1 (step S380). This determination is a process of determining whether or not the data transfer has been executed up to the smallest integer value larger than half of the Y-axis direction in FIG. 7B. When the counter value Y is smaller than the integer solution of the value Ymax / 2 + 1, the thinning circuit 33 sets a value obtained by adding 1 to the value Xmax to the end value Xend (step S390), and the counter value Y is the end value Yend. Further, it is determined whether or not the counter value X is two times before the end value Xend (step S400). This determination is to determine whether or not to execute the process of adding dummy data. When the counter value Y = Yend and the counter value X = Xend−2 are not satisfied, data write processing to the SDRAM 25 of 2 pixels corresponding to 2MCU is executed (step S410), and the counter value of the Xmcu counter 35 is set to the value “ 2 "is incremented (step S420). In FIG. 7, the number of DMA transfers is originally four in the X-axis direction (FIG. 7 (a)), but the DMA is increased by 1 MCU in the X-axis direction until just after half of the Y-axis direction. The number of transfers is 5 (FIG. 7B). Next, the thinning-out circuit 33 determines whether or not the counter value X is the end value Xend (step S430). When the counter value X is not the end value Xend, the processing after step S400 is executed. On the other hand, when the counter value X is the end value Xend, the counter value X is reset to the value “0” (step S440), the value of the counter Y is incremented by 1 (step S450), that is, the next X-axis column. The process proceeds to step S380 and subsequent steps.

この処理を繰り返すうち、ステップS380でカウンタ値Yが値Ymax/2+1の整数解よりも大きいと判定されたときには、エンド値Xendに値Xmaxから1を差し引いた値をセットし(ステップS460)、上述したステップS400以降の処理を実行する。そして、ステップS400でカウンタ値Y=Yend,カウンタ値X=Xend−2を満たしているときには、図7(b)に示すように、残り1MCUであることから、1MCUにダミーデータを付加したデータのSDRAM25への書き込み処理を実行し(ステップS470)、SDRAM25への画像データの書き込みを完了すると共にCPU22へ割込信号を出力し(ステップS280)、そのままこのルーチンを終了する。この割込信号を受けたCPU22は、レジスタ34にセットされている値を用いて、最後のMCUはダミーデータであることを把握すると共に、SDRAM25のアドレスと画像のピクセルとの関係を把握し、SDRAM25に記憶された画像データを表示部42に表示させたり、印刷機構26に印刷出力させたりする。   While this process is repeated, if it is determined in step S380 that the counter value Y is larger than the integer solution of the value Ymax / 2 + 1, a value obtained by subtracting 1 from the value Xmax is set to the end value Xend (step S460). The processes after step S400 are executed. When the counter value Y = Yend and the counter value X = Xend−2 are satisfied in step S400, as shown in FIG. 7B, since the remaining MCU is 1, the data of dummy data added to 1 MCU is stored. Write processing to the SDRAM 25 is executed (step S470), writing of the image data to the SDRAM 25 is completed and an interrupt signal is output to the CPU 22 (step S280), and this routine is ended as it is. Upon receiving this interrupt signal, the CPU 22 uses the value set in the register 34 to grasp that the last MCU is dummy data, and grasps the relationship between the address of the SDRAM 25 and the image pixel, The image data stored in the SDRAM 25 is displayed on the display unit 42 or printed out by the printing mechanism 26.

このように、X軸方向及びY方向のMCU数がともに奇数であるときには、ダミーデータを更に付加して画像イメージを意識しないSDRAM25のアドレスに間引回路33が画像データを転送するのである。なお、この処理について、2n個(nは1以上の整数)のMCUによるバースト転送データ量単位(1DMA)でデータ転送を実行し、X軸方向のMCU数がn(a+1)個(aは1以上の整数)であり、Y軸方向のMCU数が2b+1(bは1以上の整数)であるときには、(b+1)回×(a+2)/2回の2n個のMCUによるデータ転送と、b回×a/2回の2n個のMCUによるデータ転送と、を実行すると共に、最後のデータ転送でn個のダミーデータを付加してデータ転送を実行するものと一般化することができる。図7の例においては、2MCUによる1DMAでデータ転送を実行し、X軸方向のMCU数が1×(8+1)=9個、Y軸方向のMCU数が2×4+1=9個であるから、n=1,a=8,b=4であり、5回×5回の2MCUによるデータ転送と、最後のデータ転送では1個のダミーデータを含む4回×4回の2MCUによるデータ転送と、を実行するのである。   As described above, when both the numbers of MCUs in the X-axis direction and the Y-direction are odd numbers, dummy data is further added, and the thinning circuit 33 transfers the image data to the address of the SDRAM 25 that is not conscious of the image image. In this process, data transfer is performed in units of burst transfer data amount (1 DMA) by 2n (n is an integer of 1 or more) MCUs, and the number of MCUs in the X-axis direction is n (a + 1) (a is 1). When the number of MCUs in the Y-axis direction is 2b + 1 (b is an integer equal to or greater than 1), (b + 1) times × (a + 2) / 2 times of data transfer by 2n MCUs and b times It can be generalized to execute data transfer by adding 2 dummy MCUs at the last data transfer and adding n dummy data in the last data transfer. In the example of FIG. 7, data transfer is executed with 1 DMA by 2 MCUs, the number of MCUs in the X-axis direction is 1 × (8 + 1) = 9, and the number of MCUs in the Y-axis direction is 2 × 4 + 1 = 9. n = 1, a = 8, b = 4, 5 × 5 data transfer by 2MCU, and 4 × 4 data transfer by 2MCU including one dummy data in the last data transfer, Is executed.

ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の画像処理ASIC30が本発明の情報処理装置であり、このうち、1DMA転送単位が本発明の転送データ量単位に相当し、MCU単位が画像構成単位に相当し、間引回路33が間引き手段及びデータ転送手段に相当し、Xmcuカウンタ35がX軸カウンタに相当し、Ymcuカウンタ36がY軸カウンタに相当する。また、プリンタ20が本発明の印刷装置に相当し、このうち、SDRAM25が記憶手段に相当し、印刷機構26が印刷出力手段に相当する。なお、本実施形態では、プリンタ20の動作を説明することにより本発明の情報処理方法の一例も明らかにしている。   Here, the correspondence between the components of the present embodiment and the components of the present invention will be clarified. The image processing ASIC 30 of the present embodiment is the information processing apparatus of the present invention. Among them, one DMA transfer unit corresponds to a transfer data amount unit of the present invention, an MCU unit corresponds to an image configuration unit, and a thinning circuit 33 is provided. The Xmcu counter 35 corresponds to an X-axis counter, and the Ymcu counter 36 corresponds to a Y-axis counter. The printer 20 corresponds to the printing apparatus of the present invention. Among these, the SDRAM 25 corresponds to the storage means, and the printing mechanism 26 corresponds to the print output means. In this embodiment, an example of the information processing method of the present invention is also clarified by describing the operation of the printer 20.

以上詳述した本実施形態のプリンタ20によれば、MCU単位でデータの間引き処理を実行し、DMA転送単位以下の間引き後のデータが出力されるときには、複数のMCUでSDRAM25へデータ転送するよう切り替え、この複数のMCUでのデータ転送の際に、最後のデータ転送が1DMA転送単位に足りないときにはこの最後のデータ転送にダミーデータを付加してデータ転送を実行する。DMA転送単位に足りないときには、データ転送自体が省略されてしまうことがあるが、ここでは、ダミーデータを付加することによりDMA転送単位に足りないデータの転送を確保するのである。したがって、データの抜けをより抑制して間引きしたデータを転送することができる。また、データ転送の最後にダミーデータを付加してデータ転送を実行するから、ダミーデータを取り除きやすい。更に、X軸方向のMCU数Xmaxがn(a+1)個(aは1以上の整数)であり、Y軸方向のMCU数Ymaxが2b+1(bは1以上の整数)であるときには、(b+1)回×(a+2)/2回の2n個のMCUによるデータ転送と、b回×a/2回の2n個の前記MCUによるデータ転送と、を実行すると共に、データ転送の間のいずれかにn個のダミーデータを付加してデータ転送を実行するため、データ転送のうち、Y軸方向を(b+1)回とb回との2つに区分すると共に、(b+1)回側の半端分を埋めるデータをb回側から受け、b回側の転送での不足分をn個のダミーデータで補うことにより、比較的容易にデータの抜けをより抑制して間引きしたデータを転送することができる。また、X軸方向のMCU数が2n×a個であり、Y軸方向のMCU数がbであるときには、a回×b回のMCUによるデータ転送を実行するため、X軸方向に半端がでないときには、X軸方向にa回、Y軸方向にb回という画像の配置を意識したデータ転送を実行することができる。更にまた、カウンタ値Yが(b+1)までは、エンド値Xendをn(a+2)に設定し、2n個のMCUのデータ転送を実行するとカウンタ値Xを2nインクリメントしカウンタ値XがXエンド値XendとなるとYmcuカウンタ36をインクリメントする一方、カウンタ値Yが(b+1)のあとb回カウントするまではX軸カウントエンド値をnaに設定し2n個のMCUのデータ転送を実行するとX軸カウンタをインクリメントし、カウンタ値Yがエンド値Yend且つカウンタ値Xがエンド値Xend−2nとなると1MCUとダミーデータとをDMA転送してデータ転送を完了するため、カウンタを利用してより容易にデータの抜けをより抑制して間引きしたデータを転送することができる。そして、2n個(nは1以上の整数)のMCUによるDMA転送単位でデータ転送を実行し、X軸方向のMCU数Xmaxがn(c+1)個(cは1以上の整数)であり、Y軸方向のMCU数Ymaxが2d(dは1以上の整数)であるときには、d回×(c+2)/2回の2nMCUによるデータ転送と、d回×c/2回の2nMCUによるデータ転送と、を実行するため、X軸方向のデータ転送回数に半端分(n個)があり、且つY軸方向が2で割り切れる(2d)ときに、一方の半端分を他方に振り分けてデータ転送を行うことにより、比較的容易にデータの抜けをより抑制して間引きしたデータを転送することができる。そしてまた、プリンタ20は、画像データを間引き処理して印刷することが多いから、本発明を適用する意義が高い。そして更に、画像処理ASIC30が備える各回路により画像展開処理や間引き処理、回転処理などを実行するからソフトウエアによって各処理を実行するのに比してより高速化を図ることができる。   According to the printer 20 of this embodiment described in detail above, data thinning processing is executed in units of MCUs, and when data after thinning out in units of DMA transfer is output, data is transferred to the SDRAM 25 by a plurality of MCUs. When switching and transferring data among a plurality of MCUs, if the last data transfer is not enough for one DMA transfer unit, dummy data is added to the last data transfer to execute data transfer. When the DMA transfer unit is insufficient, the data transfer itself may be omitted, but here, dummy data is added to ensure the transfer of data that is insufficient for the DMA transfer unit. Therefore, it is possible to transfer the thinned data while further suppressing data loss. Further, since dummy data is added at the end of data transfer and data transfer is executed, it is easy to remove dummy data. Further, when the number of MCUs Xmax in the X-axis direction is n (a + 1) (a is an integer of 1 or more) and the number of MCUs Ymax in the Y-axis direction is 2b + 1 (b is an integer of 1 or more), (b + 1) 2 times × (a + 2) / 2 times of data transfer by 2n MCUs and b times × a / 2 times of data transfer by 2n MCUs, and n during any of the data transfers. In order to execute data transfer by adding dummy data, the Y-axis direction of data transfer is divided into two (b + 1) times and b times, and the (b + 1) -time side half is filled. By receiving data from the b-th side and compensating for the deficiency in the b-th side transfer with n pieces of dummy data, it is possible to transfer the thinned-out data while suppressing data loss more easily. In addition, when the number of MCUs in the X-axis direction is 2n × a and the number of MCUs in the Y-axis direction is b, data transfer is performed a times × b MCUs, so there is no half-way in the X-axis direction. In some cases, data transfer can be executed in consideration of the arrangement of images a times in the X-axis direction and b times in the Y-axis direction. Furthermore, until the counter value Y reaches (b + 1), the end value Xend is set to n (a + 2), and when the data transfer of 2n MCUs is executed, the counter value X is incremented by 2n, and the counter value X becomes the X end value Xend. Then, the Ymcu counter 36 is incremented. On the other hand, until the counter value Y counts b times after (b + 1), the X-axis counter end value is set to na and the data transfer of 2n MCUs is executed. When the counter value Y reaches the end value Yend and the counter value X reaches the end value Xend-2n, the data transfer is completed by DMA transfer of 1 MCU and dummy data. Data that has been reduced and thinned out can be transferred. Then, data transfer is executed in units of DMA transfer by 2n MCUs (n is an integer of 1 or more), the number of MCUs Xmax in the X-axis direction is n (c + 1) (c is an integer of 1 or more), and Y When the number of MCUs Ymax in the axial direction is 2d (d is an integer equal to or greater than 1), d times × (c + 2) / 2 times of data transfer by 2nMCU, d times × c / 2 times of data transfer by 2nMCU, Therefore, when the number of times of data transfer in the X-axis direction is half (n) and the Y-axis direction is divisible by 2 (2d), the data is transferred by distributing one half-end to the other. As a result, it is possible to transfer the thinned data relatively easily while suppressing data loss. In addition, since the printer 20 often prints image data after thinning it out, it is highly significant to apply the present invention. In addition, since each of the circuits included in the image processing ASIC 30 executes image development processing, thinning processing, rotation processing, and the like, the processing speed can be further increased as compared to execution of each processing by software.

なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。   It should be noted that the present invention is not limited to the above-described embodiment, and it goes without saying that the present invention can be implemented in various modes as long as it belongs to the technical scope of the present invention.

例えば、上述した実施形態では、転送データ量単位としての1DMA転送単位が16ビット・4バーストの8バイト、2MCU単位としたが、特にこれに限定されず、どのような転送単位としてもよい。また、画像構成単位として1MCU単位としたが、特にこれに限定されず、4MCU単位や8MCU単位としてもよい。また、1/8間引き処理において画像イメージを意識しないアドレスを用いたDMA転送を行うものとしたが、条件によっては、1/2間引きや1/4間引き、1/16間引きにおいても画像イメージを意識しないアドレスを用いたDMA転送を行うものとしてもよい。   For example, in the above-described embodiment, the 1 DMA transfer unit as the transfer data amount unit is 8 bits of 16 bits and 4 bursts and 2 MCU units, but is not particularly limited to this, and any transfer unit may be used. Further, although the image configuration unit is 1 MCU unit, it is not particularly limited to this, and may be 4 MCU unit or 8 MCU unit. In addition, DMA transfer using an address that is not conscious of the image image in the 1/8 thinning process is performed, but depending on the conditions, the image image is also conscious in 1/2 thinning, 1/4 thinning, and 1/16 thinning. It is also possible to perform DMA transfer using a non-performing address.

例えば、図8に示すように、1DMA転送単位が16ビット・8バーストの16バイトとし4MCU単位でDMA転送を実行し2nMCUの転送でX軸方向にnMCUが足りない場合としてもよい。図8は、2nMCUの転送でX軸方向にnMCUが足りなく、Y軸方向のMCU数が奇数である場合のDMAで転送するSDRAM25のアドレスの概念図であり、図8(a)が画像イメージを意識したアドレス、図8(b)が画像イメージを意識しないアドレスの概念図である。図8では、1/4間引き後にX軸方向が18MCU、Y方向が19MCUであり、4MCUの転送でX軸方向に2MCUが足りない場合のアドレスについて示した。このような4MCU単位でバースト転送を行う場合においては、1/4間引き処理や1/8間引き処理によっても、X軸方向が4MCU単位で割り切れない場合には、例えば図8(a)に示すように、右端の縦2列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。また、上述のようにY軸方向のMCU数が奇数の場合はY軸方向に2分割すると更に半端が生じる。ここでは、図8(b)に示すように、前半に縦2列分を加算し、後半から縦2列分を減じると共に後半に生じる半端分に合わせてダミーデータをn=2個付加する処理を行いDMAによるバースト転送を実行するものとした。この処理を実行するにあたり、図5に示した1/8間引き処理ルーチンにおいて、ステップS300,S390でX軸方向の最後のMCU数Xmaxに2を加えた値をエンド値Xendにセットし、ステップS370,S460でX軸方向の最後のMCU数Xmaxに2を減じた値をエンド値Xendにセットし、ステップS310,S320,S410,S420で4MCUの書き込み及びカウンタ値Xを4インクリメントし、ステップS400でカウンタ値Y=Yend,カウンタ値X=Xend−4を満たしているか否かを判定し、ステップS470で2MCU分のダミーデータを2MCUに付加したデータのSDRAM25への書き込み処理を実行するものとすればよい。図8の例においては、X軸方向のMCU数が2×(8+1)=18個、Y軸方向のMCU数が2×9+1=19個、全体で、18×19=342MCUであるから、n=2,a=8,b=9であり、4MCUによる1DMAでデータ転送を実行すると、10回×5回の4MCUによるデータ転送と、最後のデータ転送ではn=4個のダミーデータを含む9回×4回の4MCUによるデータ転送と、を実行することになる。したがって、この場合においても、上述した実施形態での一般化した処理、「2n個のMCUによる1DMAでデータ転送を実行し、X軸方向のMCU数がn(a+1)個であり、Y軸方向のMCU数が2b+1であるときには、(b+1)回×(a+2)/2回の2n個のMCUによるデータ転送と、b回×a/2回の2n個のMCUによるデータ転送と、を実行すると共に、最後のデータ転送でn個のダミーデータを付加してデータ転送を実行する」を満たすのである。なお、図示しないが、例えば、図8において、Y軸方向を偶数の20MCUとした場合には、X軸方向のMCU数が2×(8+1)=18個、Y軸方向のMCU数が2×10=20個、全体で18×20=360MCUであるから、n=2,c=8,d=10であり、4MCUによる1DMAでデータ転送を実行すると、10回×5回の4MCUによるデータ転送と、10回×4回の4MCUによるデータ転送と、を実行することになる。したがって、上述した一般化した処理、「Y軸方向が偶数である場合について、2n個のMCUによる1DMAでデータ転送を実行し、X軸方向のMCU数がn(c+1)個であり、Y軸方向のMCU数が2dであるときには、d回×(c+2)/2回の2n個のMCUによるデータ転送と、d回×c/2回の2n個のMCUによるデータ転送と、を実行する」を満たすのである。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。   For example, as shown in FIG. 8, the DMA transfer unit may be 16 bits and 16 bytes of 8 bursts, DMA transfer may be executed in units of 4 MCUs, and nMCUs may be insufficient in the X-axis direction by transfer of 2 nMCUs. FIG. 8 is a conceptual diagram of the address of the SDRAM 25 that is transferred by DMA when there are not enough nMCUs in the X-axis direction and the number of MCUs in the Y-axis direction is odd in the transfer of 2nMCUs, and FIG. FIG. 8B is a conceptual diagram of an address that is not conscious of an image. FIG. 8 shows an address when the X-axis direction is 18 MCU and the Y-direction is 19 MCU after 1/4 thinning, and there are not enough 2 MCUs in the X-axis direction by transfer of 4 MCU. When burst transfer is performed in units of 4 MCUs as described above, if the X-axis direction is not divisible in units of 4 MCUs even by 1/4 decimation processing or 1/8 decimation processing, for example, as shown in FIG. In addition, transfer is not performed for pixels corresponding to two columns at the right end, and data is lost. Further, as described above, when the number of MCUs in the Y-axis direction is an odd number, if the number of MCUs is divided into two in the Y-axis direction, a further half end occurs. Here, as shown in FIG. 8B, processing for adding two vertical columns in the first half, subtracting two vertical columns from the second half, and adding n = 2 dummy data in accordance with the half-end generated in the second half. And burst transfer by DMA is executed. In executing this processing, in the 1/8 decimation processing routine shown in FIG. 5, the value obtained by adding 2 to the last MCU number Xmax in the X-axis direction is set to the end value Xend in steps S300 and S390, and step S370 is executed. In step S460, the value obtained by subtracting 2 from the last MCU number Xmax in the X-axis direction is set to the end value Xend. In steps S310, S320, S410, and S420, 4 MCUs are written and the counter value X is incremented by 4, and in step S400. It is determined whether or not the counter value Y = Yend and the counter value X = Xend−4 are satisfied, and the write process to the SDRAM 25 of the data in which the dummy data for 2 MCU is added to the 2MCU is executed in step S470. Good. In the example of FIG. 8, the number of MCUs in the X-axis direction is 2 × (8 + 1) = 18, the number of MCUs in the Y-axis direction is 2 × 9 + 1 = 19, and the total is 18 × 19 = 342 MCUs. = 2, a = 8, b = 9, and when data transfer is performed with 1 DMA by 4 MCUs, 10 times × 5 data transfers by 4 MCUs and the last data transfer includes n = 4 dummy data 9 Times × 4 times data transfer by 4 MCUs. Therefore, in this case as well, the generalized processing in the above-described embodiment, “data transfer is executed with 1 DMA by 2n MCUs, the number of MCUs in the X-axis direction is n (a + 1), and the Y-axis direction When the number of MCUs is 2b + 1, (b + 1) times × (a + 2) / 2 times of data transfer by 2n MCUs and b times × a / 2 times of data transfer by 2n MCUs are executed. At the same time, the data transfer is executed by adding n dummy data in the last data transfer ”. Although not shown, for example, in FIG. 8, when the Y-axis direction is an even 20 MCU, the number of MCUs in the X-axis direction is 2 × (8 + 1) = 18, and the number of MCUs in the Y-axis direction is 2 ×. Since 10 = 20 and 18 × 20 = 360 MCUs in total, n = 2, c = 8, and d = 10, and when data transfer is performed with 1 DMA by 4 MCUs, data transfer is performed 10 times × 5 times by 4 MCUs And 10 times × 4 times data transfer by 4 MCUs. Therefore, the generalized processing described above, “when the Y-axis direction is an even number, data transfer is performed with 1 DMA by 2n MCUs, the number of MCUs in the X-axis direction is n (c + 1), and the Y-axis When the number of MCUs in the direction is 2d, data transfer by 2n MCUs of d times × (c + 2) / 2 times and data transfer by 2n MCUs of d times × c / 2 times are executed. Satisfies. Even in this case, it is possible to transfer the thinned data while further suppressing the omission of data.

あるいは、図9に示すように、1DMA転送単位が16ビット・16バーストの32バイトとし8MCU単位でDMA転送を実行してもよい。図9は、2nMCUの転送でX軸方向にnMCUが足りなく、Y軸方向のMCU数が奇数である場合のDMAで転送するSDRAM25のアドレスの概念図であり、図9(a)が画像イメージを意識したアドレス、図9(b)が画像イメージを意識しないアドレスの概念図である。図9では、1/2間引き後にX軸方向が20MCU、Y方向が19MCUであり、8MCUの転送でX軸方向に4MCUが足りない場合のアドレスについて示した。このような8MCU単位でバースト転送を行う場合においては、1/2間引き処理などによっても、X軸方向が8MCU単位で割り切れない場合には、例えば図9(a)に示すように、右端の縦4列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。また、上述のようにY軸方向のMCU数が奇数の場合はY軸方向に2分割すると更に半端が生じる。ここでは、図9(b)に示すように、前半に縦4列分を加算し、後半から縦4列分を減じると共に後半に生じる半端分に合わせてダミーデータをn=4個付加する処理を行いDMAによるバースト転送を実行するものとした。この処理を実行するにあたり、図5に示した1/8間引き処理ルーチンにおいて、ステップS300,S390でX軸方向の最後のMCU数Xmaxに4を加えた値をエンド値Xendにセットし、ステップS370,S460でX軸方向の最後のMCU数Xmaxに4を減じた値をエンド値Xendにセットし、ステップS310,S320,S410,S420で8MCUの書き込み及びカウンタ値Xを8インクリメントし、ステップS400でカウンタ値Y=Yend,カウンタ値X=Xend−8を満たしているか否かを判定し、ステップS470で4MCU分のダミーデータを4MCUに付加したデータのSDRAM25への書き込み処理を実行するものとすればよい。図9の例においては、X軸方向のMCU数が4×(4+1)=20個、Y軸方向のMCU数が2×9+1=19個、全体で、20×19=380MCUであるから、n=4,a=4,b=9であり、8MCUによる1DMAでデータ転送を実行すると、10回×3回の8MCUによるデータ転送と、最後のデータ転送ではn=4個のダミーデータを含む9回×2回の8MCUによるデータ転送と、を実行することになる。したがって、この場合においても、上述した実施形態での一般化した処理、「2n個のMCUによる1DMAでデータ転送を実行し、X軸方向のMCU数がn(a+1)個であり、Y軸方向のMCU数が2b+1であるときには、(b+1)回×(a+2)/2回の2n個のMCUによるデータ転送と、b回×a/2回の2n個のMCUによるデータ転送と、を実行すると共に、最後のデータ転送でn個のダミーデータを付加してデータ転送を実行する」を満たすのである。なお、図示しないが、例えば、図9において、Y軸方向を偶数の20MCUとした場合には、X軸方向のMCU数が4×(4+1)=20個、Y軸方向のMCU数が2×10=20個、全体で20×20=400MCUであるから、n=4,c=4,d=10であり、8MCUによる1DMAでデータ転送を実行すると、10回×3回の8MCUによるデータ転送と、10回×2回の8MCUによるデータ転送と、を実行することになる。したがって、上述した一般化した処理、「Y軸方向が偶数である場合について、2n個のMCUによる1DMAでデータ転送を実行し、X軸方向のMCU数がn(c+1)個であり、Y軸方向のMCU数が2dであるときには、d回×(c+2)/2回の2n個のMCUによるデータ転送と、d回×c/2回の2n個のMCUによるデータ転送と、を実行する」を満たすのである。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。   Alternatively, as shown in FIG. 9, DMA transfer may be executed in units of 8 MCUs, assuming that 1 DMA transfer unit is 32 bits of 16 bits and 16 bursts. FIG. 9 is a conceptual diagram of the address of the SDRAM 25 that is transferred by the DMA when there are not enough nMCUs in the X-axis direction and the number of MCUs in the Y-axis direction is odd in the transfer of 2nMCUs, and FIG. FIG. 9B is a conceptual diagram of an address that is not conscious of an image. FIG. 9 shows an address when the X-axis direction is 20 MCU and the Y-direction is 19 MCU after 1/2 thinning, and there are not enough 4 MCUs in the X-axis direction in the transfer of 8 MCU. In the case of performing burst transfer in units of 8 MCUs as described above, for example, as shown in FIG. 9A, if the X-axis direction is not divisible by 8 MCU units even by ½ decimation processing, For pixels corresponding to four columns, transfer is not executed and data is lost. Further, as described above, when the number of MCUs in the Y-axis direction is an odd number, if the number of MCUs is divided into two in the Y-axis direction, a further half end occurs. Here, as shown in FIG. 9B, the vertical four columns are added to the first half, the vertical four columns are subtracted from the second half, and n = 4 dummy data are added in accordance with the second half generated in the second half. And burst transfer by DMA is executed. In executing this processing, in the 1/8 decimation processing routine shown in FIG. 5, a value obtained by adding 4 to the last MCU number Xmax in the X-axis direction is set to the end value Xend in steps S300 and S390, and step S370 is executed. In step S460, the value obtained by subtracting 4 from the last MCU number Xmax in the X-axis direction is set to the end value Xend. In steps S310, S320, S410, and S420, 8 MCUs are written and the counter value X is incremented by 8, and in step S400. It is determined whether or not the counter value Y = Yend and the counter value X = Xend−8 are satisfied, and the write process to the SDRAM 25 of the data in which the dummy data for 4 MCUs is added to the 4MCU is executed in step S470. Good. In the example of FIG. 9, the number of MCUs in the X-axis direction is 4 × (4 + 1) = 20, the number of MCUs in the Y-axis direction is 2 × 9 + 1 = 19, and the total is 20 × 19 = 380 MCUs. = 4, a = 4, b = 9, and when data transfer is performed with 1 DMA by 8 MCUs, 10 times × 3 data transfers by 8 MCUs and the last data transfer includes n = 4 dummy data 9 Times × 2 times data transfer by 8 MCUs. Therefore, in this case as well, the generalized processing in the above-described embodiment, “data transfer is executed with 1 DMA by 2n MCUs, the number of MCUs in the X-axis direction is n (a + 1), and the Y-axis direction When the number of MCUs is 2b + 1, (b + 1) times × (a + 2) / 2 times data transfer by 2n MCUs and b times × a / 2 times data transfers by 2n MCUs are executed. At the same time, the data transfer is executed by adding n dummy data in the last data transfer ”. Although not shown, for example, in FIG. 9, when the Y-axis direction is an even 20 MCU, the number of MCUs in the X-axis direction is 4 × (4 + 1) = 20, and the number of MCUs in the Y-axis direction is 2 ×. Since 10 = 20 and 20 × 20 = 400 MCUs in total, n = 4, c = 4, and d = 10, and when data transfer is executed by 1 DMA by 8 MCUs, data transfer by 8 MCUs by 10 times × 3 times And 10 times × 2 times data transfer by 8 MCUs. Therefore, the generalized processing described above, “when the Y-axis direction is an even number, data transfer is performed with 1 DMA by 2n MCUs, the number of MCUs in the X-axis direction is n (c + 1), and the Y-axis When the number of MCUs in the direction is 2d, data transfer by 2n MCUs of d times × (c + 2) / 2 times and data transfer by 2n MCUs of d times × c / 2 times are executed. Satisfies. Even in this case, it is possible to transfer the thinned data while further suppressing the omission of data.

あるいは、例えば、図10に示すように、1DMA転送単位が16ビット・8バーストの16バイトとし4MCU単位でDMA転送を実行し、2nMCUの転送でX軸方向にnMCUが足りない以外の場合であってもよい。図10は、2nMCUの転送でX軸方向にnMCUが足りない以外でありY軸方向のMCU数が奇数である場合のDMAで転送するSDRAM25のアドレスの概念図であり、図10(a)が画像イメージを意識したアドレス、図10(b)が画像イメージを意識しないアドレスの概念図である。図10では、1/4間引き後にX軸方向が17MCU、Y方向が19MCUであり、4MCUの転送単位でX軸方向に3MCUが足りない場合のアドレスについて示した。このような4MCU単位でバースト転送を行う場合においては、X軸方向が4MCU単位で割り切れない場合には、例えば図10(a)に示すように、右端の縦1列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。また、上述のようにY軸方向のMCU数が奇数の場合はY軸方向に2分割すると更に半端が生じる。ここでは、図10(b)に示すように、前半と、後半の前半(前後半と称する)と後半の後半(後後半と称する)と、に分割し、前半に足りない縦3列分を加算し、後半から縦3列分を減じ、更にその前後半で足りない縦2列分を後後半から加算し、後後半から縦2列分を減じ更に後半に生じる半端分に合わせてダミーデータを1個付加する処理を行いDMAによるバースト転送を実行するものとした。即ち、図10において、5回×10回=50回の前半のDMA転送と、4×5回=20回の前後半のDMA転送と、ダミーデータを1個付加したDMA転送を含む3×4回=12回の後後半のDMA転送とを実行するのである。このとき、ダミーデータは、画像データに含まれるMCUの数とデータ転送する複数のMCUとにより定めるものとしてもよい。こうすれば、比較的容易にダミーデータを付加することができる。具体的には、例えばダミーデータは、画像データに含まれるMCUの数をデータ転送する複数のMCU(DMA転送単位)で除算し、その整数解と余りの値から求めることができる。例えば、図10においては、全体は17×19=323MCUであり、DMA転送単位の4MCUでこれを除算すると、80余り3であるから、1個のダミーデータが必要であることがわかる。なお、これは上述した実施形態及び別例でも同様である。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。   Or, for example, as shown in FIG. 10, DMA transfer is performed in units of 4 MCU with 1 DMA transfer unit of 16 bits and 8 bursts of 16 bytes, and there is no nMCU in the X-axis direction due to transfer of 2 nMCU. May be. FIG. 10 is a conceptual diagram of the address of the SDRAM 25 that is transferred by DMA when the number of MCUs in the Y-axis direction is an odd number except that there are not enough nMCUs in the X-axis direction due to the transfer of 2 nMCU. FIG. 10B is a conceptual diagram of addresses that are conscious of image images, and FIG. 10B is an address that is unaware of image images. FIG. 10 shows an address when the X-axis direction is 17 MCU and the Y-direction is 19 MCU after 1/4 thinning, and there are not enough 3 MCUs in the X-axis direction in a transfer unit of 4 MCUs. When burst transfer is performed in units of 4 MCUs as described above, if the X-axis direction is not divisible in units of 4 MCUs, for example, as shown in FIG. Transfer is not executed and data is lost. Further, as described above, when the number of MCUs in the Y-axis direction is an odd number, if the number of MCUs is divided into two in the Y-axis direction, a further half end occurs. Here, as shown in FIG. 10 (b), the first half, the first half of the second half (referred to as the first half), and the second half of the second half (referred to as the second half) are divided into three columns that are insufficient in the first half. Add, subtract 3 vertical columns from the second half, add 2 vertical columns that are not enough in the previous 2nd half, add 2 columns from the 2nd half, subtract 2 vertical columns from the 2nd half, and add dummy data to the half It is assumed that burst transfer by DMA is executed by performing a process of adding one of these. That is, in FIG. 10, 5 × 10 times = 50 first half DMA transfers, 4 × 5 times = 20 first and second half DMA transfers, and 3 × 4 including DMA transfer with one dummy data added. Times = 12 times and the latter half of the DMA transfer. At this time, the dummy data may be determined by the number of MCUs included in the image data and a plurality of MCUs that perform data transfer. In this way, dummy data can be added relatively easily. Specifically, for example, dummy data can be obtained from an integer solution and a remainder value obtained by dividing the number of MCUs included in image data by a plurality of MCUs (DMA transfer units) for data transfer. For example, in FIG. 10, the total is 17 × 19 = 323 MCU, and dividing this by 4 MCUs of the DMA transfer unit is 80 remainders 3, so it can be seen that one dummy data is necessary. This also applies to the above-described embodiment and other examples. Even in this case, it is possible to transfer the thinned data while further suppressing the omission of data.

上述した実施形態では、間引き後の画像データの最後のデータ転送の際にダミーデータを付加するものとしたが、CPU22側がどのアドレスにダミーデータが格納されているかを把握可能であれば、データ転送の間のどのデータ転送に付加してもよく、間引き後の画像データの転送の最初に付加するものとしてもよいし、間引き後の画像データの転送の中間に付加するものとしてもよい。なお、SDRAM25へ転送したあと、CPU22側の画像データの把握のしやすさを考慮すると、間引き後の画像データの転送の最初に付加するものが好ましく、最後に付加するものがより好ましい。   In the above-described embodiment, dummy data is added at the time of the last data transfer of the thinned image data. However, if the CPU 22 can grasp the address where the dummy data is stored, the data transfer is possible. It may be added to any data transfer during the transfer, or may be added at the beginning of the transfer of the image data after the thinning, or may be added in the middle of the transfer of the image data after the thinning. In consideration of the ease of grasping the image data on the CPU 22 side after transfer to the SDRAM 25, it is preferably added at the beginning of the transfer of the image data after thinning, more preferably added at the end.

上述した実施形態では、X軸方向のMCU数が奇数であるときに、画像データの前半でX軸方向に1MCUを加え画像データの後半でX軸方向から1MCUを減じてデータ転送を実行するものとしたが、特にこれに限定されず、画像データの前半でX軸方向から1MCUを減じ画像データの後半でX軸方向に1MCUを加えたデータ転送を実行するものとしてもよいし、X軸方向に1MCUを加えた転送とX軸方向から1MCUを減じた転送とをY軸方向に交互に行うものとしてもよいし、X軸方向に1MCUを加えた転送とX軸方向から1MCUを減じた転送とをY軸方向にランダムに行うものとしてもよい。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。   In the above-described embodiment, when the number of MCUs in the X-axis direction is odd, data transfer is performed by adding 1 MCU in the X-axis direction in the first half of the image data and subtracting 1 MCU from the X-axis direction in the second half of the image data. However, the present invention is not limited to this. Data transfer may be performed by subtracting 1 MCU from the X-axis direction in the first half of the image data and adding 1 MCU in the X-axis direction in the second half of the image data. Transfer with 1 MCU added to and transfer with 1 MCU subtracted from the X-axis direction may be alternately performed in the Y-axis direction, or transfer with 1 MCU added in the X-axis direction and transfer with 1 MCU subtracted from the X-axis direction. May be performed randomly in the Y-axis direction. Even in this case, it is possible to transfer the thinned data while further suppressing the omission of data.

上述した実施形態では、Xmcuカウンタ35及びYmcuカウンタ36を用いてDMA転送を実行するものとしたが、X軸方向、Y軸方向に定められたカウンタを用いなくてもよい。また、上述した実施形態では、最後のデータ転送がDMA転送単位に足りないか否かをX軸方向のMCU数やY軸方向のMCU数が偶数・奇数のいずれかにより、データ転送の初期(データ転送前)に判定するものとしたが、最後のデータ転送の直近で判定するものとしてもよい。   In the embodiment described above, the DMA transfer is executed using the Xmcu counter 35 and the Ymcu counter 36, but the counters determined in the X-axis direction and the Y-axis direction may not be used. In the above-described embodiment, whether or not the last data transfer is insufficient for the DMA transfer unit depends on whether the number of MCUs in the X-axis direction or the number of MCUs in the Y-axis direction is even or odd. Although the determination is made before data transfer), it may be determined immediately before the last data transfer.

上述した実施形態では、単純間引きを実行するものとしたが、画像データを間引くものであれば特に限定されず、例えば平均化間引きを実行するものとしてもよい。また、間引く際に、MCUにおいて左上側のピクセルを画像用のピクセルに用いるものとしたが、中心や右下側など、位置のピクセルを用いるものとしてもよい。   In the embodiment described above, simple thinning is executed, but it is not particularly limited as long as image data is thinned out. For example, averaging thinning may be executed. Further, when thinning out, the upper left pixel in the MCU is used as an image pixel, but a pixel at a position such as the center or the lower right side may be used.

上述した実施形態では、説明を省略したが、間引回路33により間引きした画像データを回転回路32により回転処理するものとしてもよい。また、上述した実施形態では、画像展開回路31がYUVデータをRGBデータに変換するものとして説明したが、間引回路33がYUVデータを間引き処理すると共にRGBデータに変換し変換したRGBデータをSDRAM25へ出力するものとしてもよい。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。   Although the description is omitted in the above-described embodiment, the image data thinned out by the thinning circuit 33 may be rotated by the rotation circuit 32. In the above-described embodiment, the image development circuit 31 is described as converting YUV data into RGB data. However, the thinning circuit 33 performs the thinning process on the YUV data and converts the RGB data converted into RGB data to the SDRAM 25. It is good also as what outputs to. Even in this case, it is possible to transfer the thinned data while further suppressing the omission of data.

上述した実施形態では、情報処理装置としてのプリンタ20として説明したが、画像処理ASIC30を用いて画像データを間引く処理を実行するものであれば特に限定されずに用いることができ、本発明の情報処理装置としての電子機器、例えば、デジタルカメラ、デジタルビデオ、携帯電話、テレビ、パソコン、携帯用ゲーム機、家庭用ゲーム機、録画機器(ビデオデッキやHDDデッキ)、PDA(Personal Digital Assistant)などとしてもよい。また、プリンタ20の態様で本発明を説明したが、情報処理方法の態様としてもよいし、この方法のプログラムの態様としてもよい。   In the above-described embodiment, the printer 20 as the information processing apparatus has been described. However, the image processing ASIC 30 can be used without particular limitation as long as the image data ASIC 30 is used to perform the process of thinning out image data. As an electronic device as a processing device, such as a digital camera, digital video, mobile phone, television, personal computer, portable game machine, home game machine, recording device (video deck or HDD deck), PDA (Personal Digital Assistant), etc. Also good. Further, although the present invention has been described in the form of the printer 20, it may be in the form of an information processing method or a program aspect of this method.

本発明の一実施形態であるプリンタ20の構成の概略を示す構成図。1 is a configuration diagram showing an outline of the configuration of a printer 20 according to an embodiment of the present invention. 間引き実行ルーチンの一例を示すフローチャート。The flowchart which shows an example of a thinning execution routine. RGBデータに展開したときのMCUの説明図。Explanatory drawing of MCU when expand | deploying to RGB data. MCUにより構成される画像データの説明図。Explanatory drawing of the image data comprised by MCU. 1/8間引き処理ルーチンの一例を示すフローチャート。The flowchart which shows an example of a 1/8 thinning-out process routine. X軸のMCU数が奇数、Y軸のMCU数が偶数であるアドレスの概念図。The conceptual diagram of the address where the number of MCUs of an X-axis is an odd number, and the number of MCUs of a Y-axis is an even number. X軸及びY軸のMCU数が奇数であるアドレスの概念図。The conceptual diagram of the address whose MCU numbers of X-axis and Y-axis are odd numbers. X軸でnMCUが不足しY軸方向が奇数であるアドレスの概念図。The conceptual diagram of the address where nMCU is insufficient on the X axis and the Y axis direction is odd. X軸でnMCUが不足しY軸方向が奇数であるアドレスの概念図。The conceptual diagram of the address where nMCU is insufficient on the X axis and the Y axis direction is odd. X軸でnMCU以外が不足しY軸方向が奇数であるアドレスの概念図。FIG. 6 is a conceptual diagram of addresses in which X-axis other than nMCU is insufficient and the Y-axis direction is odd.

符号の説明Explanation of symbols

12 メモリカード、20 プリンタ、21 コントローラ、22 CPU、23 フラッシュROM、24 キャッシュメモリ、25 SDRAM、26 印刷機構、27 インタフェース(I/F)、28 メモリカードコントローラ、28a スロット、29 バス、30 画像処理ASIC、31 画像展開回路、32 回転回路、33 間引回路、34 レジスタ、35 Xmcuカウンタ、36 Ymcuカウンタ、40 操作パネル、42 表示部、44 操作部、S 記録紙。   12 memory card, 20 printer, 21 controller, 22 CPU, 23 flash ROM, 24 cache memory, 25 SDRAM, 26 printing mechanism, 27 interface (I / F), 28 memory card controller, 28a slot, 29 bus, 30 image processing ASIC, 31 image development circuit, 32 rotation circuit, 33 thinning circuit, 34 register, 35 Xmcu counter, 36 Ymcu counter, 40 operation panel, 42 display unit, 44 operation unit, S recording paper.

Claims (8)

画像データを変換して所定の転送データ量単位でデータを記憶手段へ転送する情報処理装置であって、
画像データを構成する画像構成単位でデータの間引き処理を実行する間引き手段と、
前記転送データ量単位以下のデータが前記間引き手段から出力されるときには複数の画像構成単位で前記記憶手段へデータ転送するよう切り替え、該複数の画像構成単位でのデータ転送の際に、最後のデータ転送が前記転送データ量単位に足りないときには該データ転送の間のいずれかにダミーデータを付加してデータ転送を実行するデータ転送手段と、
を備えた情報処理装置。
An information processing apparatus for converting image data and transferring the data to a storage means in a predetermined transfer data amount unit,
Thinning means for executing data thinning processing in image configuration units constituting image data;
When data equal to or less than the transfer data amount unit is output from the thinning unit, the data is switched to the storage unit in a plurality of image constituent units, and the last data is transferred in the data transfer in the plurality of image constituent units. Data transfer means for performing data transfer by adding dummy data to any of the data transfers when the transfer is less than the transfer data amount unit;
An information processing apparatus comprising:
前記データ転送手段は、複数の画像構成単位で前記記憶手段へデータ転送するに際して、2n個(nは1以上の整数)の前記画像構成単位による転送データ量単位でデータ転送を実行し、ダミーデータを付加してデータ転送を実行するに際して、前記画像データにおいて、X軸方向の画像構成単位数がn(a+1)個(aは1以上の整数)であり、該X軸に直交するY軸方向の画像構成単位数が2b+1(bは1以上の整数)であるときには、(b+1)回×(a+2)/2回の2n個の前記画像構成単位によるデータ転送と、b回×a/2回の2n個の前記画像構成単位によるデータ転送と、を実行すると共に、該データ転送の間のいずれかにn個のダミーデータを付加してデータ転送を実行する、請求項1に記載の情報処理装置。   When transferring data to the storage unit in a plurality of image configuration units, the data transfer unit executes data transfer in units of transfer data amount by 2n (n is an integer of 1 or more) of the image configuration units, and performs dummy data Is added to the image data, the number of image constituent units in the X-axis direction is n (a + 1) (a is an integer of 1 or more) in the image data, and the Y-axis direction orthogonal to the X-axis When the number of image constituent units is 2b + 1 (b is an integer of 1 or more), (b + 1) times × (a + 2) / 2 times 2n data transfer by the image constituent units and b times × a / 2 times 2. The information processing according to claim 1, wherein the data transfer is performed by 2n of the image constituent units, and the data transfer is performed by adding n dummy data to any of the data transfers. apparatus. 請求項2に記載の情報処理装置であって、
X軸方向の画像構成単位の位置をカウントするX軸カウンタと、
前記Y軸方向の画像構成単位の位置をカウントするY軸カウンタと、を備え、
前記データ転送手段は、前記Y軸カウンタ値が(b+1)を超える前には、前記X軸カウントエンド値をn(a+2)に設定し前記2n個の画像構成単位のデータ転送を実行すると前記X軸カウンタを2nインクリメントし前記X軸カウンタ値が前記X軸カウントエンド値となると前記Y軸カウンタをインクリメントする一方、前記Y軸カウンタ値が(b+1)を超えたあと前記Y軸カウンタ値がbを超えるまでは前記X軸カウントエンド値をnaに設定し前記2n個の画像構成単位のデータ転送を実行すると前記X軸カウンタを2nインクリメントし、前記Y軸カウンタ値がY軸カウントエンド値であり前記X軸カウンタ値がカウントエンド値となるとデータ転送を終了する、情報処理装置。
An information processing apparatus according to claim 2,
An X-axis counter that counts the position of the image constituent unit in the X-axis direction;
A Y-axis counter that counts the position of the image constituent unit in the Y-axis direction,
The data transfer means sets the X-axis count end value to n (a + 2) before the Y-axis counter value exceeds (b + 1) and executes the data transfer of the 2n image configuration units. When the axis counter is incremented by 2n and the X-axis counter value reaches the X-axis count end value, the Y-axis counter is incremented. On the other hand, after the Y-axis counter value exceeds (b + 1), the Y-axis counter value becomes b. Until the X-axis count end value is set to na and data transfer of the 2n image constituent units is executed, the X-axis counter is incremented by 2n, and the Y-axis counter value is the Y-axis count end value. An information processing apparatus that terminates data transfer when the X-axis counter value reaches a count end value.
前記データ転送手段は、2n個(nは1以上の整数)の前記画像構成単位による転送データ量単位でデータ転送を実行し、前記画像データにおいて、X軸方向の画像構成単位数がn(c+1)個(cは1以上の整数)であり、該X軸に直交するY軸方向の画像構成単位数が2d(dは1以上の整数)であるときには、d回×(c+2)/2回の2n個の前記画像構成単位によるデータ転送と、d回×c/2回の2n個の前記画像構成単位によるデータ転送と、を実行する、請求項1〜3のいずれか1項に記載の情報処理装置。   The data transfer means executes data transfer in units of transfer data amount by 2n (n is an integer of 1 or more) of the image constituent units, and the number of image constituent units in the X-axis direction is n (c + 1) in the image data. ) (C is an integer of 1 or more), and the number of image constituent units in the Y-axis direction orthogonal to the X-axis is 2d (d is an integer of 1 or more), d times × (c + 2) / 2 times 4. The data transfer by 2n of the image constituent units and the data transfer by 2n pieces of the image constituent units of d times × c / 2 times are performed. 5. Information processing device. 前記データ転送手段は、前記複数の画像構成単位でデータ転送するに際して、最後のデータ転送が前記転送データ量単位に足りないときには、該データ転送の最後に前記ダミーデータを付加してデータ転送を実行する、請求項1〜4のいずれか1項に記載の情報処理装置。   The data transfer means executes the data transfer by adding the dummy data to the end of the data transfer when the data transfer is not performed in the unit of the transfer data amount when transferring the data in the plurality of image constituent units. The information processing apparatus according to any one of claims 1 to 4. 前記データ転送手段は、前記ダミーデータを付加してデータ転送するに際して、前記画像データに含まれる前記画像構成単位の数と前記データ転送する複数の画像構成単位とにより定められるデータ量の前記ダミーデータを付加してデータ転送を実行する、請求項1〜5のいずれか1項に記載の情報処理装置。   The data transfer means adds the dummy data and transfers the dummy data with a data amount determined by the number of the image constituent units included in the image data and the plurality of image constituent units to which the data is transferred. The information processing apparatus according to claim 1, wherein the data transfer is executed by adding 請求項1〜6のいずれか1項に記載の情報処理装置と、
前記情報処理装置により間引き処理された画像データを記憶する記憶手段と、
前記記憶された間引き処理後の画像データを印刷媒体へ印刷出力する印刷出力手段と、
を備えた印刷装置。
The information processing apparatus according to any one of claims 1 to 6,
Storage means for storing image data thinned out by the information processing apparatus;
Print output means for printing out the stored image data after the thinning process to a print medium;
Printing device with
画像データを変換して転送データ量単位でデータを記憶手段へ転送する情報処理方法であって、
(a)画像データを構成する画像構成単位でデータの間引き処理を実行するステップと、
(b)前記転送データ量単位以下のデータが前記ステップ(a)で出力されるときには複数の画像構成単位で前記記憶手段へデータ転送するよう切り替え、該複数の画像構成単位でのデータ転送の際に、最後のデータ転送が前記転送データ量単位に足りないときには該データ転送の間のいずれかにダミーデータを付加してデータ転送を実行するステップと、
を含む情報処理方法。
An information processing method for converting image data and transferring the data to a storage means in units of transfer data amount,
(A) executing a data thinning process in units of image components constituting the image data;
(B) When data equal to or less than the transfer data amount unit is output in step (a), switching is performed so that data is transferred to the storage means in a plurality of image constituent units, and when transferring data in the plurality of image constituent units In addition, when the last data transfer is less than the transfer data amount unit, dummy data is added somewhere during the data transfer, and the data transfer is executed.
An information processing method including:
JP2007263212A 2007-10-09 2007-10-09 Information processor, printing device and information processing method Pending JP2009090543A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007263212A JP2009090543A (en) 2007-10-09 2007-10-09 Information processor, printing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007263212A JP2009090543A (en) 2007-10-09 2007-10-09 Information processor, printing device and information processing method

Publications (1)

Publication Number Publication Date
JP2009090543A true JP2009090543A (en) 2009-04-30

Family

ID=40663019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007263212A Pending JP2009090543A (en) 2007-10-09 2007-10-09 Information processor, printing device and information processing method

Country Status (1)

Country Link
JP (1) JP2009090543A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016068457A (en) * 2014-09-30 2016-05-09 セイコーエプソン株式会社 Printer, controller and image processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016068457A (en) * 2014-09-30 2016-05-09 セイコーエプソン株式会社 Printer, controller and image processing method

Similar Documents

Publication Publication Date Title
JP5886583B2 (en) Data processing apparatus, processing method, control method, and program
US20150339546A1 (en) Data transfer apparatus and method thereof
JP6251029B2 (en) Control device, image processing device, control method, and program
JP2006191362A (en) Device and method for processing image data
JP2006301724A (en) Memory controller, image processing controller and electronic equipment
JP2009090543A (en) Information processor, printing device and information processing method
JP2009276825A (en) Image processing apparatus, image processing method, image processing program, and storage medium
US9672874B2 (en) Buffer, method for controlling buffer, synchronization control device, synchronization control method, image processing apparatus, and image processing method
JP3554237B2 (en) Image processing apparatus and method
JP4790545B2 (en) Image processing apparatus and image processing method
JP2006211402A (en) Camera apparatus and image processing method
JP5583563B2 (en) Data processing device
JP2012155604A (en) Data transfer controller
JP2004139431A (en) Method and device for controlling data transfer and display device
JP2006094225A (en) Image processing apparatus, image processing method, and its program
JP6263016B2 (en) Control device, processing device, control method, and program
JP2008282135A (en) Image processing apparatus, image reading apparatus, image forming apparatus, and image processing method
JP4748077B2 (en) Pixel data transfer control device and pixel data transfer control method
JP2005109856A (en) Picture rotation circuit and picture processor having the same
JP2009100313A (en) Image processing device and image forming apparatus
JP2007298796A (en) Osd data processing system, projector and osd data processing method
JP2006048655A (en) Image-processing circuit, electronic apparatus, and method for processing image
JP2010141488A (en) Image processing controller, and printing device
JP3189873B2 (en) Color converter
JP2011204025A (en) Image processing accelerator