JP2011120115A - Image processing apparatus and control method thereof - Google Patents
Image processing apparatus and control method thereof Download PDFInfo
- Publication number
- JP2011120115A JP2011120115A JP2009277039A JP2009277039A JP2011120115A JP 2011120115 A JP2011120115 A JP 2011120115A JP 2009277039 A JP2009277039 A JP 2009277039A JP 2009277039 A JP2009277039 A JP 2009277039A JP 2011120115 A JP2011120115 A JP 2011120115A
- Authority
- JP
- Japan
- Prior art keywords
- tile
- pixel data
- image processing
- tiles
- data
- 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.)
- Withdrawn
Links
Images
Landscapes
- Storing Facsimile Image Data (AREA)
- Facsimile Image Signal Circuits (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
本発明は、画像データを処理する画像処理装置及びその制御方法に関する。 The present invention relates to an image processing apparatus that processes image data and a control method thereof.
画像データを印刷する際に、その画像データに対して画像処理が施される。このような画像処理には、例えばフィルタ処理のように周辺画素を参照するものがあり、このような処理では現ラインのデータに加えて前ラインの画像データを保持しておくためのラインバッファが必要となる。印刷解像度が600dpi,1200dpiと高解像度になると必要な画像データを記憶するためのラインバッファのサイズが大きくなるため、1ページの画像データをタイル単位に分割して処理する方法が提案されている。このようなタイル分割では、周辺画素を参照する画像処理に対応するために、単純にタイル単位に分割するのではなくタイルの境界部分で画像データをオーバーラップさせて分割している。そして、画像処理が完了した後に、そのオーバーラップ部分を取り除く手法が提案されている(特許文献1参照)。 When the image data is printed, image processing is performed on the image data. In such image processing, for example, peripheral pixels are referred to like filter processing. In such processing, a line buffer for holding image data of the previous line in addition to data of the current line is provided. Necessary. When the print resolution is 600 dpi and 1200 dpi, the size of the line buffer for storing the necessary image data increases. Therefore, a method of dividing one page of image data into tile units and processing has been proposed. In such tile division, in order to deal with image processing that refers to surrounding pixels, image data is overlapped and divided at tile boundary portions instead of simply being divided into tile units. And the method of removing the overlap part after image processing is completed is proposed (refer patent document 1).
このようにタイルの境界部分をオーバーラップさせてタイルに分割する場合は、例えば、メモリに非圧縮のラスタデータを展開し、そのラスタデータを読み出しながらオーバーラップさせたタイルを作成することが考えられる。しかしこの場合は、メモリのバンド幅が問題となり必要なパフォーマンスを得られない。一方、メモリに圧縮データを展開した場合は、ラスタデータをどのような単位で圧縮するか、どの圧縮データを読み出してオーバーラップタイルを作成するかが問題となる。 In this way, when the tile boundary is overlapped and divided into tiles, for example, uncompressed raster data is developed in a memory, and overlapping tiles can be created while reading the raster data. . In this case, however, the bandwidth of the memory becomes a problem and the required performance cannot be obtained. On the other hand, when the compressed data is expanded in the memory, there is a problem in what unit the raster data is compressed and which compressed data is read to create the overlap tile.
本発明の目的は上記従来技術の問題点を解決することにある。 An object of the present invention is to solve the above-mentioned problems of the prior art.
本願発明の特徴は、メモリのバンド幅を考慮することなく、オーバーラップタイルを作成できる技術を提供することにある。 A feature of the present invention is to provide a technique capable of creating an overlap tile without considering the memory bandwidth.
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
画像データを複数のタイルに分割する手段と、
少なくとも1つの前記タイル分の画素データと当該タイルの周辺の所定数の画素を記憶できる記憶容量を有する記憶手段と、
上或いは下方向と左或いは右に隣接する前記タイルの画素データを、少なくとも前記所定数の画素分、アドレスをずらして前記記憶手段にオーバーラップさせて記憶するためのアドレスを発生するアドレス生成手段と、
オーバーラップされた前記タイルの画素データが前記記憶手段に記憶される度に、前記複数のタイルの配列順番に応じて前記記憶手段から前記タイルの画素データと前記所定数の画素分の画素データを読み出す読出し手段と、
前記読出し手段により読み出された画素データに対して画像処理を実行する画像処理手段とを有することを特徴とする。
In order to achieve the above object, an image processing apparatus according to an aspect of the present invention has the following arrangement. That is,
Means for dividing the image data into a plurality of tiles;
Storage means having a storage capacity capable of storing pixel data for at least one tile and a predetermined number of pixels around the tile;
Address generating means for generating an address for storing the pixel data of the tile adjacent to the left or right in the upward or downward direction at least by the predetermined number of pixels while shifting the address to overlap the storage means; ,
Each time pixel data of the overlapped tile is stored in the storage unit, the pixel data of the tile and the pixel data for the predetermined number of pixels are stored from the storage unit according to the arrangement order of the plurality of tiles. Reading means for reading; and
And image processing means for executing image processing on the pixel data read by the reading means.
本発明によれば、メモリのバンド幅を考慮することなく、オーバーラップタイルを作成できる。またオーバーラップタイルを作成するためのラインバッファが不要になるという効果がある。 According to the present invention, overlapping tiles can be created without considering the memory bandwidth. In addition, there is an effect that a line buffer for creating an overlap tile becomes unnecessary.
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments do not limit the present invention according to the claims, and all combinations of features described in the embodiments are not necessarily essential to the solution means of the present invention. .
図1は、本発明の実施形態に係る画像処理装置の構成を示すブロック図である。 FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to an embodiment of the present invention.
PC101はページ記述言語(PDL)データをネットワーク102経由で本実施形態に係る画像処理装置100に送信する。画像処理装置100では、CPU114によって制御されるネットワークコントローラ(NIC)110がPDLデータを受信し、バススイッチ113経由でメインメモリ111に保存する。PDLデータの保存が終了するとCPU114がPDLデータをディスプレイリスト(DL)に変換する。その後、RIP(Raster Image Processor)115がメインメモリ111からDLを読み出してピクセル単位の画像データに描画する。
The PC 101 transmits page description language (PDL) data to the
図2(A)(B)は、本実施形態に係るRIP115により描画された画像データを説明する図である。
2A and 2B are diagrams for explaining image data drawn by the
図2(A)に示すように、1ページの画像データ201を分割したタイル202単位で描画する。例えば、タイル(0,0),タイル(1,0),…,タイル(x,y)の順番で描画する。RIP115は、この描画したタイルをパケット作成部116に出力する。本実施形態では、タイルサイズを32×32(画素)とし、タイルの周辺に8画素を付加したオーバーラップタイルを作成する。
As shown in FIG. 2A, one page of
パケット作成部116は、バススイッチ113を介して受け取ったタイルをJPEG圧縮する。このJPEG圧縮では、最小符号化ユニット(MCU)203と呼ばれる8×8(画素)の画像データ単位で圧縮する。
The
図2(A)に示すように、タイル202を(4×4=16)個のMCUに分割してJPEG圧縮する。また図2(B)に示すように、パケット作成部116が作成するパケット205は、パケットヘッダ207とパケットデータ206で構成される。パケットヘッダ207にはパケットの情報が格納され、パケットデータ206にはJPEG圧縮データが格納される。
As shown in FIG. 2A, the
図3は、パケット作成部116が作成したパケットがメインメモリ111に保存される様子を説明する図である。
FIG. 3 is a diagram for explaining how a packet created by the
パケットテーブル301は、ページを構成するパケットの個数分の要素を持ち、各要素は各パケットがメインメモリ111上の何処にあるかを示す。各タイルは図2(A)に示すようにページ内での(x,y)座標からなる固有のID(識別子)を有し、各パケットも格納している対応するタイルと同じIDを有する。パケットテーブル301は、そのページ内の任意のタイルを含むパケットを読み出す際に使用される。
The packet table 301 has elements for the number of packets constituting the page, and each element indicates where each packet is on the
このようにしてパケット作成部116が1ページ分のパケットを作成し終えると、次にパケット送信部112がパケットテーブル301を参照してパケットを読み出しパケット受信部120に送信する。
When the
図4(A)は、パケット送信部112がパケットを読み出す順番を示す。また図4(B)は、パケット送信部112がパケットを読み出す処理を示すフローチャートである。
FIG. 4A shows the order in which the
ここで図4(B)のフローチャートを参照してパケット送信部112の動作を説明する。以下のステップは全てパケット送信部112の処理である。
Here, the operation of the
S402では、読み出すパケットのIDを指定する変数x,yをともに「0」(左上のパケット)に初期化する。次にS403では、パケット(x,y)をメインメモリ111から読み出しパケット受信部120に送信する。またS404で、パケット(x,y+1)(S403で送信したパケットの下のパケット)をメインメモリ111から読み出してパケット受信部120に送信する。次にS405で、xの値が最大値(x_max)かどうか(右端のパケットかどうか)を判定する。右端のパケットでなければS406に進み、xをインクリメント(+1)してS403に戻る。S405で右端のパケットであると判定するとS407に進み、yの値が最大値(y_max)−1であるかどうか(下端−1のパケット)かどうかを判定する。下端−1のパケットでなければS408に進み、xを0に初期化し、yをインクリメントしてS403に戻る。またS407で、下端−1のパケットであれば、この処理を終了する。
In S402, variables x and y specifying the ID of the packet to be read are both initialized to “0” (upper left packet). In step S <b> 403, the packet (x, y) is read from the
図5は、本実施形態に係るパケット受信部120の構成を示すブロック図である。
FIG. 5 is a block diagram illustrating a configuration of the
DMAC501はパケットを受信し、パケットからJPEGコードを取り出しコードバッファ502に書き込む。その後、JPEG復号器(伸張器)503がコードバッファ502からJPEGコードを読み出してMCU単位でデコードし、その結果得られる画像データをMCUバッファ504に書き込む。ここでMCUバッファ504は、6×6個のMCU分の画素データ(48×48画素)を記憶する場合で示している。MCUバッファ504にオーバーラップタイルを作成するのに必要なデータが揃うと、ラスタDMAC505がMCUバッファ504から画像データを読み出しオーバーラップタイルを作成する。
The
図6は、本実施形態に係るパケット受信部120の動作を説明するフローチャートである。
FIG. 6 is a flowchart for explaining the operation of the
まずS602で動作を制御するための変数x,y,offsetをx=0,y=0,offset=2に初期化する。次にS603,S604で、図4のS403,S404で送信された2つのパケットを受信すると、S605でx=0(左端のタイル)であるかどうかを判定する。左端のタイルであれば、まだオーバーラップタイルを作成できないのでS606に進み、xをインクリメントしてS603に戻る。S605で左端のタイルでない場合はS607に進み、オーバーラップタイルを作成する。次にS608に進み、xが最大値(x_max)かどうか(右端のタイルかどうか)を判定する。右端のタイルでなければS609に進み、xをインクリメント、offset=offset+4としてS603に戻る。ここで、変数offsetはJPEG復号器503がデコードしたMCUをMCUバッファ504の何処に書き込むかを制御するための変数である。変数offsetは、0→1→2→3→4→5→0→1,…と変化する。例えば、offset値が「2」であるときに+4すると「0」になる(モジュール6の計算を行う)。MCUバッファ504の動作は後で詳細に記述する。S608で右端のタイルであると判定するとS610に進み、yが最大値(y_max)−1((下端−1)のタイル)であるかどうかを判定する。(下端−1)のタイルでなければS611に進み、yをインクリメント、x=0,offset=offset+2としてS603に戻る。一方、S610で、(下端−1)のタイルであると判定すると、この処理を終了する。
In step S602, variables x, y, and offset for controlling the operation are initialized to x = 0, y = 0, and offset = 2. Next, when the two packets transmitted in S403 and S404 in FIG. 4 are received in S603 and S604, it is determined whether or not x = 0 (leftmost tile) in S605. If it is the leftmost tile, an overlap tile cannot be created yet, so the process proceeds to S606, x is incremented, and the process returns to S603. If it is not the leftmost tile in S605, the process proceeds to S607 to create an overlap tile. In step S608, it is determined whether x is the maximum value (x_max) (whether it is the rightmost tile). If it is not the rightmost tile, the process proceeds to S609, x is incremented, offset = offset + 4 is set, and the process returns to S603. Here, the variable offset is a variable for controlling where the MCU decoded by the
図7は、JPEG復号器503がデコードしたMCUをMCUバッファ504に書き込む処理を説明する図である。
FIG. 7 is a diagram for explaining processing for writing the MCU decoded by the
MCUバッファ504の何処に書き込むかは、図6のフローチャートで計算する変数x,offsetと、S603で受信したパケットのタイルか、S604で受信したパケットのタイルかどうかで異なる。変数xが「0」のタイル(左端のタイル)をS603で受信した場合を図7(A)に、S604で受信した場合を図7(B)に示す。また変数xが「0」でないタイルをS603で受信した場合を図7(C)に、S604で受信した場合を図7(D)に示す。尚、図7に示すMCUの番号は図2に示すMCUの番号に対応する。
The writing location in the
次に図7(E),(F),(G),(H)を参照して最初の10個(タイル(0,0)〜(4,0)、(0,1)〜(4,1))のタイルを受信した際の処理を例にして動作を説明する。 Next, referring to FIGS. 7E, 7F, 7G, 7H, the first 10 tiles (tiles (0, 0) to (4, 0), (0, 1) to (4, 4)) are displayed. The operation will be described by taking an example of processing when the tile 1)) is received.
最初のタイル(0,0)は、図7(A)の場合に該当し、図7(E)で示すようにタイルの右半分(図2(A)のMCU2,3,6,7,10,11,14,15)をMCUバッファ504の(0,0)〜(1,3)の矩形領域700に書き込む。2番目のタイル(0,1)は図7(B)の場合に該当し、図7(E)に示すように右上の16×16画素(図2(A)のMCU2,3,6,7)のみをMCUバッファ504の(0,4)〜(1,5)の矩形領域701に書き込む。次に3番目のタイル(1,0)は図7(C)の場合に該当し図7(E)に示すようにタイル全部をMCUバッファ504の(2,0)〜(5,3)の矩形領域703に書き込む。offset=2の4番目のタイル(1,1)は、図7(D)の場合に該当し、図7(E)に示すようにタイルの上半分をMCUバッファ504の(2,4)〜(5,5)の矩形領域704に書き込む。この段階で最初のオーバーラップタイルを作成する。MCUバッファ504からデータを読み出してオーバーラップタイルを作成する方法は後述のラスタDMAC505の動作で説明する。
The first tile (0, 0) corresponds to the case of FIG. 7A, and as shown in FIG. 7E, the right half of the tile (
5番目のタイル(2,0)は図7(C)の場合に該当し、図7(F)に示すようにタイル全部をMCUバッファ504の(0,0)〜(3,3)の矩形領域705に書き込む(offset=0)。6番目のタイル(2,1)は図7(D)の場合に該当し、図7(F)に示すようにタイルの上半分をMCUバッファ504の(0,4)〜(3,5)の矩形領域706に書き込む(offset=0)。これによって前の2タイルのデータのうち、矩形領域705,706に相当する左半分の矩形領域は、これらタイル(2,0)、タイル(2,1)で上書きされて消えてしまう。しかし、右半分の矩形領域707,708に該当する(4,0)〜(5,5)には、図7(E)のデータがそのまま残っている。この段階で2番目のオーバーラップタイルを作成する。
The fifth tile (2, 0) corresponds to the case of FIG. 7C, and all the tiles are rectangles (0, 0) to (3, 3) of the
7番目のタイル(3,0)は、図7(C)の場合に該当し、図7(G)に示すようにタイルの左半分を矩形領域(4,0)〜(5,3)の矩形領域709に、右半分を矩形領域(0,0)〜(1,3)の矩形領域710に書き込む(offset=4)。また8番目のタイル(3,1)は図7(D)の場合に該当し、図7(G)に示すようにタイルの左上半分を領域(4,4)〜(5,5)の矩形領域711に、右上半分を矩形領域(0,4)〜(1,5)の矩形領域712に書き込む(offset=4)。これにより矩形領域709〜712にはタイル(3,0)、(3,1)のデータが書き込まれ、Tile(2,0),Tile(2,1)で示す領域では図7(F)のデータがそのまま残っている。この段階で3番目のオーバーラップタイルを作成する。
The seventh tile (3, 0) corresponds to the case of FIG. 7C. As shown in FIG. 7G, the left half of the tile is the rectangular area (4, 0) to (5, 3). In the
9番目のタイル(4,0)は図7(C)の場合に該当し、図7(H)に示すようにタイル全部をMCUバッファ504の(2,0)〜(5,3)の矩形領域713に書き込む(offset=2)。また10番目のタイル(4,1)は図7(D)の場合に該当し、図7(H)に示すようにタイルの上半分をMCUバッファ504の(2,4)〜(5,5)の矩形領域714に書き込む(offset=2)。ここでもTile(3,0),Tile(3,1)で示す領域では図7(G)の矩形領域710,712のデータがそのまま残っている。この段階で4番目のオーバーラップタイルを作成する。
The ninth tile (4, 0) corresponds to the case of FIG. 7C, and all the tiles are rectangles (2, 0) to (5, 3) of the
ここで、図7(H)の形は図7(E)の形と同じであり、MCUバッファ504の使い方としては図7(E)から(H)をS603〜S608で繰り返し、S610で初期状態である図7(E)に戻る。
Here, the shape of FIG. 7 (H) is the same as the shape of FIG. 7 (E), and the
図8は、図6のS607でラスタDMAC505がMCUバッファ504からデータを読み出してオーバーラップタイルを作成する処理を説明するフローチャートである。変数a,bはデータを読み出すMCUバッファ504を指定するための変数で、変数i,jはMCUバッファ504(a,b)から読み出す画素を指定する変数である。またラスタDMAC505はS806で変数a,b,i,jで指定される1画素を読み出す。変数i,j,a,bはそれぞれS807,S809,S811,S813で所定の値まで到達したかどうか判定され、到達していなければそれぞれS808,S810,S812,S814でインクリメントされる。これら各ステップ(S)で,所定の値まで到達していれば次のステップに移る。変数a,b,i,jは、a,j,bの順番の多重ループでインクリメントされる。変数iのインクリメントは、MCUバッファ504(a,b)のjライン目の8画素を読み出すためのものである。変数aのインクリメントは、8画素を読み出す毎に読み出すMCUバッファ504を右に移動するためのものである。
FIG. 8 is a flowchart for explaining processing in which the
図7(E),(F),(G),(H)を参照しながら最初の4オーバーラップタイルを作成する際の処理を例にして変数aの変化を説明する。図6のS607で1番目のオーバーラップタイルを作成する場合(MCUバッファ504は図7(E)の状態)は、変数aは0,1,2,3,4,5と変化していく。2番目のオーバーラップを作成する場合(MCUバッファ504は図7(F)の状態)、変数aは4,5,0,1,2,3と変化していく。3番目のオーバーラップを作成する場合(MCUバッファ504は図7(G)の状態)は、変数aは2,3,4,5,0,1と変化していく。そして4番目のオーバーラップを作成する場合(MCUバッファ504は図7(H)の状態)は、変数aは1番目のオーバーラップを作成する場合と同様に、0,1,2,3,4,5と変化していく。この変数aの先頭と最後の値はS816で更新されるstart_muc_x,last_mcu_xにより制御される。変数j,bのインクリメントは、6個のMCUバッファ504からそれぞれ8画素ずつ合計48画素のオーバーラップタイルの1ライン分を読み出した後に次のラインの読み出しに移行するためのものである。変数start_mcu,last_mcuは変数aの遷移を制御するための変数であり、S802で初期化されてS816でオーバーラップタイルを作成する毎に更新される。この図8のS802〜S816の処理により、図7(E)〜(H)に示すようにMCUバッファ504に格納された画素データが、各タイルの周辺に8画素が付加されたオーバーラップタイルとして読み出される。
The change of the variable a will be described with reference to FIGS. 7E, 7F, 7G, and 7H, taking as an example processing for creating the first four overlap tiles. When the first overlap tile is created in S607 of FIG. 6 (the
このようにしてパケット受信部120で作成されたオーバーラップタイルの各画素は、色変換部121に送られてCMYKに変換されフィルタ処理部122に送られる。フィルタ処理部122はC,M,Y,Kの各版がずれることによって白抜けが発生するのを防ぐためにオブジェクトを太らせる処理を行う。その処理はフィルタ処理によって実現される。
In this way, each pixel of the overlap tile created by the
図9(A)は、7×7のフィルタ処理の例を示す図である。図9(A)に示すd(*,*)は1画素を示し、注目画素900はd(0,0)であり、その周辺画素は参照画素である。フィルタ処理では各画素d(*,*)に対応する係数c(*,*)を掛けた値を足し合わせた結果を出力とする。図9(B)は、フィルタ処理を説明するフローチャートである。
FIG. 9A is a diagram illustrating an example of 7 × 7 filter processing. In FIG. 9A, d (*, *) indicates one pixel, the
S902、S903で変数i,jをともに「−3」にする初期化を行う。そしてS904で画素d(i,j)に係数c(i,j)を掛けた結果を最終的な出力となるout_dataに足し合わす。S905、S907で、変数i,jが所定の値(「3」)に達したかどうかを判定し、所定の値に達していなければS906,S908でインクリメントする。フィルタ処理部122は、これら周辺画素を参照する7×7フィルタ処理を行う。フィルタ処理部122は、こうして処理した画素を階調処理部123に送信する。
In S902 and S903, the variables i and j are both initialized to "-3". In step S904, the result obtained by multiplying the pixel d (i, j) by the coefficient c (i, j) is added to out_data as the final output. In S905 and S907, it is determined whether or not the variables i and j have reached a predetermined value (“3”). If the variables i and j have not reached the predetermined value, the process increments in S906 and S908. The
階調処理部123は、このフィルタ処理部122から受け取った画素をハーフトンデータに変換してスムージング処理部124に送信する。スムージング処理部124は、文字等のエッジ部分を滑らかにする処理を行う。この処理もフィルタ処理部122の処理と同じくフィルタ処理によって実現される。フィルタ処理では係数を調節することにより様々な処理を行うことができる。スムージング処理部124は処理した画素を出力部125に送信する。出力部125は、スムージング処理部124から受け取った画素のうちオーバーラップ部分を読み捨て、それ以外の部分のみをスプールメモリ126に保存する。そして出力部125は、ページを構成する全てのタイルを受信するとスプールメモリ126から画素をページラスタ順で読み出してプリンタ部130に送信する。そして、プリンタ部130が用紙に印刷する。
The
以上説明したように本実施形態によれば、1ページの画像データを複数のタイルに分割し、各タイルを複数のMCUに分割して符号化してメモリに格納する。JPEG復号器がそのJPEGコードをMCU単位で復号し、その結果得られる画像データをMCUバッファに格納する。ここではMCUバッファは、少なくとも1つのタイル分の画素データとその周辺の所定数の画素を記憶できる記憶容量を有する。そして少なくとも上或いは下方向と左或いは右に隣接してオーバーラップが発生するタイルの画素データが記憶される度に、そのMCUバッファに記憶された画素データを読み出して、周辺画素を参照して画像処理を行う画像処理部に出力する。更に、このMCUバッファにタイルの画素データを記憶する際には、その所定数の画素分、各タイルデータの書き込みアドレス(位置)をずらした書き込みアドレスを生成する(アドレス生成)。これにより前回MCUバッファに記憶されたタイルの画素データの一部(後続のタイル側)が残された状態で次のタイルの画素データが書き込まれる。そして現在MCUバッファに記憶されたタイルの画素データを、前回記憶されたタイルの画素データの周辺画素を含んだ状態で、元のタイルの配列順番で読出すことができる。これによりメモリのバンド幅を考慮することなく、オーバーラップタイルを作成できるという効果がある。またオーバーラップタイルを作成するためのラインバッファが不要になるという効果も得られる。 As described above, according to the present embodiment, one page of image data is divided into a plurality of tiles, each tile is divided into a plurality of MCUs, encoded, and stored in a memory. The JPEG decoder decodes the JPEG code in MCU units, and stores the resulting image data in the MCU buffer. Here, the MCU buffer has a storage capacity capable of storing pixel data for at least one tile and a predetermined number of pixels around it. Then, every time pixel data of a tile that overlaps at least in the upward or downward direction and left or right is stored, the pixel data stored in the MCU buffer is read out and an image is referenced with reference to surrounding pixels. The data is output to the image processing unit that performs processing. Further, when storing tile pixel data in this MCU buffer, a write address is generated by shifting the write address (position) of each tile data by the predetermined number of pixels (address generation). As a result, the pixel data of the next tile is written in a state where a part of the pixel data of the tile previously stored in the MCU buffer (the subsequent tile side) remains. Then, the pixel data of the tile currently stored in the MCU buffer can be read out in the order of the original tile arrangement in a state including the peripheral pixels of the previously stored tile pixel data. Accordingly, there is an effect that overlap tiles can be created without considering the memory bandwidth. In addition, there is an effect that a line buffer for creating an overlap tile becomes unnecessary.
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.
Claims (8)
少なくとも1つの前記タイル分の画素データと当該タイルの周辺の所定数の画素を記憶できる記憶容量を有する記憶手段と、
上或いは下方向と左或いは右に隣接する前記タイルの画素データを、少なくとも前記所定数の画素分、アドレスをずらして前記記憶手段にオーバーラップさせて記憶するためのアドレスを発生するアドレス生成手段と、
オーバーラップされた前記タイルの画素データが前記記憶手段に記憶される度に、前記複数のタイルの配列順番に応じて前記記憶手段から前記タイルの画素データと前記所定数の画素分の画素データを読み出す読出し手段と、
前記読出し手段により読み出された画素データに対して画像処理を実行する画像処理手段と、
を有することを特徴とする画像処理装置。 Means for dividing the image data into a plurality of tiles;
Storage means having a storage capacity capable of storing pixel data for at least one tile and a predetermined number of pixels around the tile;
Address generating means for generating an address for storing the pixel data of the tile adjacent to the left or right in the upward or downward direction at least by the predetermined number of pixels while shifting the address to overlap the storage means; ,
Each time pixel data of the overlapped tile is stored in the storage unit, the pixel data of the tile and the pixel data for the predetermined number of pixels are stored from the storage unit according to the arrangement order of the plurality of tiles. Reading means for reading; and
Image processing means for performing image processing on the pixel data read by the reading means;
An image processing apparatus comprising:
前記圧縮手段で圧縮された画像データを記憶するメモリと、
前記メモリに記憶された前記圧縮された画像データを前記タイルの単位で伸張する伸張手段とを更に有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。 Compression means for compressing image data in units of tiles;
A memory for storing the image data compressed by the compression means;
4. The image processing apparatus according to claim 1, further comprising an expansion unit configured to expand the compressed image data stored in the memory in units of tiles. 5.
画像データを複数のタイルに分割する工程と、
少なくとも1つの前記タイル分の画素データと当該タイルの周辺の所定数の画素を記憶できる記憶容量を有するメモリに、上或いは下方向と左或いは右に隣接する前記タイルの画素データを、少なくとも前記所定数の画素分、アドレスをずらしオーバーラップさせて記憶するためのアドレスを発生するアドレス生成工程と、
オーバーラップされた前記タイルの画素データが前記メモリに記憶される度に、前記複数のタイルの配列順番に応じて前記メモリから前記タイルの画素データと前記所定数の画素分の画素データを読み出す読出し工程と、
前記読出し工程で読み出された画素データに対して画像処理を実行する画像処理工程と、
を有することを特徴とする画像処理装置の制御方法。 A control method for an image processing apparatus, comprising:
Dividing the image data into a plurality of tiles;
In a memory having a storage capacity capable of storing at least one pixel data of the tile and a predetermined number of pixels around the tile, the pixel data of the tile adjacent to the upper or lower direction and the left or right is at least the predetermined An address generation step for generating addresses for storing by shifting and overlapping addresses by the number of pixels;
Each time pixel data of the overlapped tile is stored in the memory, reading out the pixel data of the tile and the pixel data of the predetermined number of pixels from the memory according to the arrangement order of the plurality of tiles Process,
An image processing step of performing image processing on the pixel data read in the reading step;
A control method for an image processing apparatus, comprising:
前記圧縮工程で圧縮された画像データをメモリに記憶する工程と、
前記メモリに記憶された前記圧縮された画像データを前記タイルの単位で伸張する伸張工程とを更に有することを特徴とする請求項5乃至7のいずれか1項に記載の画像処理装置の制御方法。 A compression step of compressing image data in units of tiles;
Storing the image data compressed in the compression step in a memory;
8. The method of controlling an image processing apparatus according to claim 5, further comprising a decompressing step of decompressing the compressed image data stored in the memory in units of the tiles. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009277039A JP2011120115A (en) | 2009-12-04 | 2009-12-04 | Image processing apparatus and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009277039A JP2011120115A (en) | 2009-12-04 | 2009-12-04 | Image processing apparatus and control method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011120115A true JP2011120115A (en) | 2011-06-16 |
Family
ID=44284863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009277039A Withdrawn JP2011120115A (en) | 2009-12-04 | 2009-12-04 | Image processing apparatus and control method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011120115A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012165446A1 (en) | 2011-05-30 | 2012-12-06 | 日本電気株式会社 | Communication path control system, and communication path control method |
-
2009
- 2009-12-04 JP JP2009277039A patent/JP2011120115A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012165446A1 (en) | 2011-05-30 | 2012-12-06 | 日本電気株式会社 | Communication path control system, and communication path control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5538792B2 (en) | Image processing apparatus, control method thereof, and program | |
JP4902474B2 (en) | Image processing apparatus and image processing method | |
JP3453407B2 (en) | Image processing apparatus, image output apparatus, image output system, and method thereof | |
JP5501041B2 (en) | Image processing apparatus, image processing method, and program | |
US8665484B2 (en) | Processing tile images including overlap regions | |
JP2011066720A (en) | Image processing apparatus, control method, and program | |
JP2011120115A (en) | Image processing apparatus and control method thereof | |
JP2002229759A (en) | Code converting method for supporting image conversion | |
JP4525726B2 (en) | Decoding device, decoding program, and image processing device | |
JP2018058295A (en) | Image processing apparatus, image processing method and program | |
US9049404B2 (en) | Image processing apparatus and method that perform multiple image processes, and storage medium storing a program thereof, for decompressing a compressed image according to first and second information indicating image processing to be performed | |
JP5581731B2 (en) | Image forming apparatus, image forming method, and image forming program | |
JP3167684B2 (en) | Context generation circuit and method for small screen | |
JPH0488749A (en) | Picture processor | |
JP6886338B2 (en) | Image forming device, its control method, and program | |
JP6775558B2 (en) | Image stretcher and its control method and program | |
JP5731816B2 (en) | Image processing apparatus and image processing method | |
JP4423812B2 (en) | Drawing processing apparatus and drawing processing method | |
JP4771095B2 (en) | Image compression device | |
JP2020090075A (en) | Image formation device and image formation method | |
JP3997851B2 (en) | Image coding apparatus and image coding program | |
JP2007200232A (en) | Image processing apparatus and image forming apparatus | |
JP6140973B2 (en) | Image processing apparatus, image processing method, and program | |
JP4667348B2 (en) | Encoded data memory storage control device, method, and image processing device | |
JPH05205015A (en) | Image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130205 |