JP2009090543A - Information processor, printing device and information processing method - Google Patents
Information processor, printing device and information processing method Download PDFInfo
- 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
Links
Images
Abstract
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参照)。
ところで、この特許文献1に記載された情報処理装置などでは、画像を扱う基本単位として8×8画素のいわゆるMCU単位を用いて、JPEG圧縮された画像データを展開したり、展開されたあとの画像データを縮小処理したり、表示出力したりする。この画像データの縮小処理においても、MCU単位でいわゆる間引き処理を行い、処理後のデータをRAMに出力することがある。また、所定のデータ量単位で処理を行うことによりRAMへより高速で出力するバースト転送により展開されたあとの画像データの転送を実行することがある。この間引き処理後の画像データをバースト転送で転送する際において、データの間引き処理を実行すると、間引き処理後の画像データのデータ量の全体がバースト転送用のデータ量単位に足りないような場合が生じ、このような場合には、データの出力抜けが起きてしまうことがあった。
By the way, in the information processing apparatus described in
本発明は、このような課題に鑑みなされたものであり、データの抜けをより抑制して間引きしたデータを転送することができる情報処理装置、印刷装置及び情報処理方法を提供することを目的とする。 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
本発明の情報処理装置において、前記データ転送手段は、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
画像処理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
操作パネル40は、ユーザがプリンタ20に対して各種の指示を入力するためのデバイスであり、カラー画像を表示する液晶パネルにより構成され各種の指示に応じた文字や画像が表示される表示部42や、カーソルなどを移動させるときに押下されるカーソルキーや処理選択などを決定するときに押下される決定キーなどが配置され各種操作を行う操作部44が設けられている。コントローラ21やSDRAM25、印刷機構26、I/F27、メモリカードコントローラ28、画像処理ASIC30、操作パネル40は、バス29によって電気的に接続されている。また、メモリカード12は、データの書き込み及び消去可能な不揮発性のメモリであり、デジタルカメラなどの撮影装置により撮影された複数の画像ファイルなどが保存されている。この画像ファイルには、例えば、所定形式(例えばJPEG形式)で圧縮された画像データとこの画像データの付加情報(撮影日時や撮影モードなど)とが格納されている。
The
このように構成されたプリンタ20では、コントローラ21や印刷機構26、メモリカードコントローラ28、画像処理ASIC30などと、SDRAM25とのアクセスについて、転送速度の高速化や転送効率から経験的に16ビット・4バースト転送、即ち「転送データ量単位」として1度に8バイト単位のデータを転送するように固定的に定められている。
In the
次に、こうして構成された本実施形態のプリンタ20の動作について説明する。ここでは、メモリカード12に保存された画像ファイルのうち1つの画像を縮小(間引き)して表示部42に表示及び印刷する場合について主に説明する。なお、画像を回転する処理についての説明は、説明の便宜により省略し、画像を回転しない場合について説明する。まず、最初に、ユーザは、操作部44を操作し表示部42に表示された画像を選択し、縮小処理を実行させる。すると、CPU22は、間引き数や回転角度などの実行条件をレジスタ34にセットし、メモリカードコントローラ28に画像データを画像展開回路31へ出力処理させる。図2は、プリンタ20の画像処理ASIC30により実行される間引き実行ルーチンの一例を示すフローチャートである。この間引き実行ルーチンは、CPU22が送信した画像データの間引き処理指令を画像処理ASIC30が受信したあと、画像処理ASIC30により実行される。
Next, the operation of the
このルーチンが開始されると、メモリカードコントローラ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
次に、間引き数の値を調べ(ステップ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
一方、間引き数が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
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-
一方、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
具体的には、間引回路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
一方、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
具体的には、間引回路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
この処理を繰り返すうち、ステップ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
このように、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
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の画像処理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
以上詳述した本実施形態のプリンタ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
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。 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
あるいは、図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
あるいは、例えば、図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
上述した実施形態では、間引き後の画像データの最後のデータ転送の際にダミーデータを付加するものとしたが、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
上述した実施形態では、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
上述した実施形態では、単純間引きを実行するものとしたが、画像データを間引くものであれば特に限定されず、例えば平均化間引きを実行するものとしてもよい。また、間引く際に、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
上述した実施形態では、情報処理装置としてのプリンタ20として説明したが、画像処理ASIC30を用いて画像データを間引く処理を実行するものであれば特に限定されずに用いることができ、本発明の情報処理装置としての電子機器、例えば、デジタルカメラ、デジタルビデオ、携帯電話、テレビ、パソコン、携帯用ゲーム機、家庭用ゲーム機、録画機器(ビデオデッキやHDDデッキ)、PDA(Personal Digital Assistant)などとしてもよい。また、プリンタ20の態様で本発明を説明したが、情報処理方法の態様としてもよいし、この方法のプログラムの態様としてもよい。
In the above-described embodiment, the
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:
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.
前記情報処理装置により間引き処理された画像データを記憶する記憶手段と、
前記記憶された間引き処理後の画像データを印刷媒体へ印刷出力する印刷出力手段と、
を備えた印刷装置。 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:
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016068457A (en) * | 2014-09-30 | 2016-05-09 | セイコーエプソン株式会社 | Printer, controller and image processing method |
-
2007
- 2007-10-09 JP JP2007263212A patent/JP2009090543A/en active Pending
Cited By (1)
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 |