JP2005094212A - Image processor and processing method, computer program, and computer readable storage medium - Google Patents

Image processor and processing method, computer program, and computer readable storage medium Download PDF

Info

Publication number
JP2005094212A
JP2005094212A JP2003323098A JP2003323098A JP2005094212A JP 2005094212 A JP2005094212 A JP 2005094212A JP 2003323098 A JP2003323098 A JP 2003323098A JP 2003323098 A JP2003323098 A JP 2003323098A JP 2005094212 A JP2005094212 A JP 2005094212A
Authority
JP
Japan
Prior art keywords
block
filtering
image
processing
intermediate result
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
Application number
JP2003323098A
Other languages
Japanese (ja)
Inventor
Katsuyuki Hagiwara
克行 萩原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003323098A priority Critical patent/JP2005094212A/en
Publication of JP2005094212A publication Critical patent/JP2005094212A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology realizing high speed filtering in which blocking technique is employed in view point of memory efficiency and occurrence of discontinuity is retarded at the boundary of blocks. <P>SOLUTION: A blocking section 201 splits input image data into a plurality of image blocks. A block processing section 202 receives block image data and performs filtering. Intermediate results of filtering are stored in an intermediate result storage memory 203 and a remarked block is filtered with reference to intermediate results stored temporarily in the filtering adjacent to that remarked image block. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体に関するものである。   The present invention relates to an image processing apparatus and method, a computer program, and a computer-readable storage medium.

大きな画像データの処理を考えた場合、これをひとまとまりとして扱うと大きなバッファメモリが必要になるので、画像を複数のブロックに分割して処理方法がある(特許文献1)。   Considering processing of large image data, a large buffer memory is required if this is handled as a group, so there is a processing method by dividing an image into a plurality of blocks (Patent Document 1).

しかし、ブロックに対する処理を行う際に、そのブロック内の画像データのみを参照する場合には、その処理した結果はブロックの境界部分で不連続なものとなり易い問題を含んでいる。   However, when only the image data in the block is referred to when performing processing on the block, the result of the processing includes a problem that it is likely to be discontinuous at the boundary portion of the block.

一方、国際標準規格ISO/IEC15444-1:2000 (所謂JPEG2000)におけるウェーブレット変換処理という技術がある。この技術では、境界外のデータを、境界内のデータを折り返して生成した鏡像を用いているので、上記問題点はある程度緩和される。しかしながら、ブロック分割しない場合と比較すると、まだまだ改善の余地がある。   On the other hand, there is a technique called wavelet transform processing in the international standard ISO / IEC15444-1: 2000 (so-called JPEG2000). In this technique, since the mirror image generated by folding the data inside the boundary is used for the data outside the boundary, the above problem is alleviated to some extent. However, there is still room for improvement compared to the case where the block is not divided.

したがって、画像データを一括して処理することが望まれるが、この場合には、画像データを保持するためのフレームメモリまたはラインメモリを必要とする。昨今のデジタルカメラは優に数百万画素の解像度を有することを鑑みると、必要とするメモリは膨大なものとなる。
特開平5-64010号公報
Therefore, it is desirable to process image data in a lump. In this case, a frame memory or a line memory for holding the image data is required. Considering that recent digital cameras have a resolution of several million pixels, a large amount of memory is required.
JP-A-5-64010

本発明はかかる問題点に鑑みなされたものであり、メモリ効率の観点からブロック分割技法を採用しつつ、尚且つ、ブロック間の境界部分での不連続性が発生しにくくし、更には、フィルタ処理を高速なものとする技術を提供しようとするものである。   The present invention has been made in view of such problems, and adopts a block division technique from the viewpoint of memory efficiency, makes it difficult for discontinuities to occur at the boundary between blocks, and further provides a filter. The present invention intends to provide a technique for speeding up the processing.

この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
入力画像データに対してフィルタ処理する画像処理装置であって、
前記入力画像データを複数の画像ブロックに分割する分割手段と、
該分割手段で分割した各画像ブロックの画像データを順次入力し、フィルタ処理するフィルタ手段とを備え、
前記フィルタ手段は、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロック内の周辺
近傍の中間結果を一時的に記憶する記憶手段と、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロックに隣接す
る既フィルタ処理において一時記憶された中間結果を参照してフィルタ処理す
る手段とを備える。
In order to solve this problem, for example, an image processing apparatus of the present invention has the following configuration. That is,
An image processing device that performs filtering on input image data,
Dividing means for dividing the input image data into a plurality of image blocks;
Filter means for sequentially inputting and filtering image data of each image block divided by the dividing means,
The filter means includes
Storage means for temporarily storing intermediate results in the vicinity of the periphery in the target image block when filtering the target image block;
And means for performing a filtering process with reference to an intermediate result temporarily stored in the already-filtering process adjacent to the target image block when the target image block is filtered.

本発明によれば、入力画像を複数のブロックに分割し、各ブロック毎に処理を行いながらも、簡単な構成でしかも高速に、ブロックの境界部の連続性を維持しつつフィルタ処理を行うことを可能になる。   According to the present invention, an input image is divided into a plurality of blocks, and processing is performed for each block, and the filter processing is performed with a simple configuration and at high speed while maintaining the continuity of the boundary portion of the block. Becomes possible.

以下、添付図面に従って本発明に係る実施形態を説明する。   Embodiments according to the present invention will be described below with reference to the accompanying drawings.

図1は実施の形態における画像処理装置の主要部の構成図である。   FIG. 1 is a configuration diagram of a main part of an image processing apparatus according to an embodiment.

ブロック処理手段102は矩形ブロック画像の処理を行なうが、その矩形ブロックの大きさはある有限の幅、または、高さ、または、面積の制限がある。ブロック分割手段101は、入力画像データをブロック処理手段102が扱える大きさに分割するためのものである。中間結果保存手段103はブロック処理手段で後に使用する中間結果を一時的に保存しておくためのものである。ラスタ変換手段104はブロック処理手段101の出力を、入力画像において対応する画素と同じ順にするためのものである。後続する処理がブロック状に区切られた画像データのままで支障がないなら、ラスタ変換手段104は省略することもできる。   The block processing means 102 processes a rectangular block image, but the size of the rectangular block is limited to a certain finite width, height, or area. The block dividing unit 101 is for dividing the input image data into sizes that can be handled by the block processing unit 102. The intermediate result storage means 103 is for temporarily storing intermediate results to be used later by the block processing means. The raster conversion means 104 is for making the output of the block processing means 101 in the same order as the corresponding pixels in the input image. If there is no problem in the subsequent processing as image data divided into blocks, the raster conversion means 104 can be omitted.

図2は、図1の構成をJPEG2000符号化に基づく符号化装置の構成を示している。   FIG. 2 shows a configuration of an encoding device based on JPEG2000 encoding of the configuration of FIG.

この符号化装置は、本実施形態によってブロックに分割したウェーブレット変換処理においても、画像全体を一度にウェーブレット変換したのと同じ結果を得ることが可能で、JPEG2000におけるタイル分割による画質の低下を回避する。   This encoding apparatus can obtain the same result as that obtained by performing wavelet transform on the entire image at the same time in the wavelet transform processing divided into blocks according to the present embodiment, and avoids deterioration in image quality due to tile division in JPEG2000. .

ブロック分割部201は画像データの入力を、後のブロック処理部202で処理可能なブロックに分割し、ブロック画像データを生成する。   The block dividing unit 201 divides image data input into blocks that can be processed by the subsequent block processing unit 202 to generate block image data.

ブロック処理部202はブロック分割部201からのブロック画像データ、および、中間結果保存メモリ203から読み出した以前のブロックに対する処理の中間結果データを入力し、処理結果を量子化部204に出力すると共に後続するブロックの処理に備えて中間結果を中間結果保存メモリ203に出力し、記憶させる。   The block processing unit 202 inputs the block image data from the block dividing unit 201 and the intermediate result data of the process for the previous block read from the intermediate result storage memory 203, outputs the processing result to the quantization unit 204 and the subsequent The intermediate result is output to the intermediate result storage memory 203 and stored in preparation for the processing of the block to be performed.

量子化部204、および、エントロピー符号化部205は、それぞれ量子化、またはエントロピー符号化をJPEG2000で規定された方法に従って行なうためのものである。JPEG2000ではエントロピー符号化はコーディングブロックという矩形領域単位で行なうことが規定されているので、本実施形態例では図1におけるラスタ変換手段104は必要ではない。   The quantization unit 204 and the entropy coding unit 205 are for performing quantization or entropy coding according to a method defined in JPEG2000, respectively. In JPEG2000, entropy encoding is specified to be performed in units of rectangular areas called coding blocks. Therefore, the raster conversion means 104 in FIG. 1 is not necessary in this embodiment.

以下、図2における各部の詳細について説明する。   Hereinafter, the details of each part in FIG. 2 will be described.

ブロック分割部201は、図3に示すように、入力画像301(太実線)の各辺を折り返して部分的な鏡像を付加し、鏡像付画像302に対する分割結果を生成する。その手順は、まず入力画像301の境界近傍の領域305について、その境界線に対して線対称の領域306を作成する。その後、同様の方法で左右に鏡像を付加する処理を行なう。   As shown in FIG. 3, the block division unit 201 folds back each side of the input image 301 (bold solid line), adds a partial mirror image, and generates a division result for the mirrored image 302. The procedure first creates a region 306 that is line-symmetric with respect to the boundary line 305 in the vicinity of the boundary of the input image 301. Thereafter, a process for adding mirror images to the left and right is performed in the same manner.

ここで列307を例に説明する。列307に含まれる画素値を、上辺(境界)から順に{a, b, c, d, e, f, g, …}とすると、鏡像308の画素値は一番上の画素{a}を除いた4画素{b, c, d, e} を逆順に並べた{e, d, c, b}となる(なお、折り返し画素数が4つとしている。これは、実施形態ではタップ数が「9」の場合を想定していることを意味しているものであるが、この数に限定されるものではない)。   Here, the column 307 will be described as an example. If the pixel values included in the column 307 are {a, b, c, d, e, f, g, ...} in order from the upper side (boundary), the pixel value of the mirror image 308 is the top pixel {a}. The removed four pixels {b, c, d, e} are arranged in reverse order {e, d, c, b} (note that the number of folded pixels is four. In this embodiment, the number of taps is This means that the case of “9” is assumed, but is not limited to this number).

従って、鏡像308と列307を連結した鏡像付列309は、上から下に向かう順で示すと{e, d, c, b, a, b, c, d, e, f, g, …}となる。   Therefore, the mirror image-attached row 309 obtained by connecting the mirror image 308 and the row 307 is {e, d, c, b, a, b, c, d, e, f, g,. It becomes.

このようにすることで、後のブロック処理部202による2次元離散ウェーブレット変換時に画像端部における高周波成分を抑制し、圧縮時の画質の劣化を抑制させる効果がある。   By doing so, there is an effect of suppressing high-frequency components at the edge of the image during two-dimensional discrete wavelet transform by the subsequent block processing unit 202, and suppressing deterioration in image quality during compression.

次に、鏡像付画像302を図中の符号303および304のように、縦横にそれぞれ決められた大きさに区切る。図のように、入力画像の大きさによっては半端になることがあるが、その場合は右端と下端に位置するブロックは通常より大きさの小さいものが出力される。   Next, the mirrored image 302 is divided into sizes determined vertically and horizontally as indicated by reference numerals 303 and 304 in the drawing. As shown in the figure, depending on the size of the input image, it may be half-finished, but in this case, the blocks located at the right end and the lower end are output with smaller sizes than usual.

ブロック分割部201は、ブロック内の各画素データ(画素信号値)のほかに、ブロックの大きさ、および、ブロックが入力画像の端(上下左右)に該当するかどうかの情報をブロック処理部202に渡す。   In addition to each pixel data (pixel signal value) in the block, the block dividing unit 201 indicates information about the size of the block and whether the block corresponds to the end (upper, lower, left, and right) of the input image. To pass.

ブロック処理部202は、以前のブロックの処理によって求められた中間結果保存メモリ203に保存されている中間結果データを参照し、他のブロックの処理で使用するための中間結果データを中間結果保存メモリ203に保存する。   The block processing unit 202 refers to the intermediate result data stored in the intermediate result storage memory 203 obtained by the processing of the previous block, and uses the intermediate result data for use in the processing of other blocks as the intermediate result storage memory. Save to 203.

図4に各ブロックに入力される画像データの範囲と、出力される画像データの範囲を示している。   FIG. 4 shows the range of image data input to each block and the range of output image data.

左上を第1ブロック、その右隣を第2ブロックとし、右端に到達した後は、第1ブロックの直下のブロックという順序で、ブロック処理部202が処理を行なう。   The block processing unit 202 performs processing in the order of the first block on the upper left and the second block on the right and the block immediately below the first block after reaching the right end.

このブロック処理部202は第1ブロックを処理する場合には、入力範囲401(実線枠内)の入力に対して行ない、その結果を第1ブロック出力範囲402(格子部)を出力する。   When processing the first block, the block processing unit 202 performs the input on the input range 401 (in the solid line frame) and outputs the result to the first block output range 402 (grid unit).

まず、縦に連なる各列に対して図7に示す演算(離散ウェーブレット変換)を行なう。この縦(垂直)方向ウェーブレット変換の結果、L(低周波)成分とH(高周波)成分が得られる。   First, the calculation (discrete wavelet transform) shown in FIG. As a result of this vertical (vertical) direction wavelet transform, an L (low frequency) component and an H (high frequency) component are obtained.

次に、その結果をL成分、H成分別に並べて、今度はそれぞれの成分別に、横(水平)に連なる各行に対してさらに図7に示す演算を行なう。この横方向ウェーブレット変換によって、L成分からLL成分とHL成分、H成分からLH成分、HH成分を求める。これらのLL成分、HL成分、LH成分、並びにHH成分を2次元ウェーブレット変換結果として出力する。   Next, the results are arranged for each of the L component and the H component, and this time, the calculation shown in FIG. 7 is further performed for each row connected in the horizontal (horizontal) direction for each component. By this horizontal wavelet transform, an LL component and an HL component are obtained from the L component, and an LH component and an HH component are obtained from the H component. These LL component, HL component, LH component, and HH component are output as a two-dimensional wavelet transform result.

図7から分かるように、2n個の入力に対して2n−8個の出力を求めるため、出力の範囲が入力の範囲よりより小さくなる。先に説明した原画像に付加する鏡像は、この左右の4個の画素データを作成するためにある、と言い換えることもできる。   As can be seen from FIG. 7, since 2n-8 outputs are obtained for 2n inputs, the output range is smaller than the input range. In other words, the mirror image added to the original image described above is for creating the left and right four pixel data.

以下、図7の離散ウェーブレット変換について説明する。垂直もしくは水平方向に連続する2n個の入力画素値を順に{X0, X1, X2, …, X2n-1}とする。 Hereinafter, the discrete wavelet transform of FIG. 7 will be described. Assume that 2n input pixel values continuous in the vertical or horizontal direction are {X 0 , X 1 , X 2 ,..., X 2n−1 } in order.

最初に、以下の式に従って{X'1, X'3,…, X'2n-3}を求める。
X'2m+1 = X2m+1 + α(X2m + X2m+2)
次に、以下の式に従って{X''2, X''4,…, X''2n-4}を求める。
X''2m = X2m + β(X'2m-1 + X'2m+1)
次に、以下の式に従って{X(3) 3, X(3) 5,…, X(3) 2n-5}を求める。
X(3) 2m+1 = X'2m+1 + γ(X''2m + X''2m+2)
次に、以下の式に従って{X(4) 4, X(4) 6,…, X(4) 2n-6}を求める。
X(4) 2m = X''2m + δ(X(3) 2m + X(3) 2m+2)
最後に、以下の式に従って低周波成分{Y4, Y6,…, Y2n-6}, 高周波成分{Y5, Y7,…, Y2n-5}を求める。
Y2m = 1/k・X(4) 2m
Y2m+1 = k・X(3) 2m+1
以上のようにして、2n個の入力画素値{X0, X1, X2, …, X2n-1}から、n−4個の低周波成分データ、n−4個の高周波成分データを生成され、それぞれが分離される。
First, {X ′ 1 , X ′ 3 ,..., X ′ 2n-3 } is obtained according to the following equation.
X ' 2m + 1 = X 2m + 1 + α (X 2m + X 2m + 2 )
Next, {X ″ 2 , X ″ 4 ,..., X ″ 2n-4 } is obtained according to the following formula.
X '' 2m = X 2m + β (X ' 2m-1 + X' 2m + 1 )
Next, {X (3) 3 , X (3) 5 ,..., X (3) 2n-5 } is obtained according to the following equation.
X (3) 2m + 1 = X ' 2m + 1 + γ (X'' 2m + X'' 2m + 2 )
Next, {X (4) 4 , X (4) 6 ,..., X (4) 2n-6 } is obtained according to the following equation.
X (4) 2m = X '' 2m + δ (X (3) 2m + X (3) 2m + 2 )
Finally, low frequency components {Y 4 , Y 6 ,..., Y 2n-6 } and high frequency components {Y 5 , Y 7 ,.
Y 2m = 1 / k ・ X (4) 2m
Y 2m + 1 = k ・ X (3) 2m + 1
As described above, n-4 pieces of low frequency component data and n-4 pieces of high frequency component data are obtained from 2n input pixel values {X 0 , X 1 , X 2 ,..., X 2n-1 }. Generated and separated from each other.

上記フィルタ処理を、垂直方向並びに水平方向に行ない、図示の格子領域402のデータを出力する。なお、第1ブロックの処理によってその出力範囲が図示の格子領域401であり、斜線領域404中の第1ブロック内に含まれるデータ、斜格子領域406中の第1ブロック内に含まれるデータ、さらには、縦線領域408中の第1ブロック内に含まれるデータは出力しない。理由は、これら出力対象外の領域のデータは、ウェーブレット変換が完結していない領域であるからである。ただし、第1ブロック中に存在する斜線領域404、斜め格子領域406、及び、縦線領域408それぞれの一部部分については、上記フィルタ処理の中間段階までの処理が行われているので、その中間データを保持するものとした。   The filtering process is performed in the vertical direction and the horizontal direction, and data in the illustrated lattice region 402 is output. Note that the output range of the first block processing is the illustrated grid area 401, data included in the first block in the hatched area 404, data included in the first block in the hatched area 406, and Does not output data included in the first block in the vertical line area 408. The reason is that the data of the region not to be output is a region where the wavelet transform is not completed. However, since the processing up to the intermediate stage of the above-described filter processing is performed on a part of each of the oblique line region 404, the oblique lattice region 406, and the vertical line region 408 existing in the first block, Data shall be retained.

第2のブロックの処理においては第2ブロック入力範囲403(実線枠内)の入力に対して、第2ブロック出力範囲404(斜線部)を出力する。出力が入力の範囲を越えての左側に広がっているのは、第1ブロックにおける第1ブロック入力範囲401に対する中間結果と第2ブロック入力範囲403の入力とによって出力が決定される部分である。   In the processing of the second block, the second block output range 404 (shaded portion) is output in response to the input of the second block input range 403 (within the solid line frame). The output spread to the left side beyond the input range is a portion where the output is determined by the intermediate result for the first block input range 401 and the input of the second block input range 403 in the first block.

第2ブロックの処理において、中間結果として必要になるのは、第1ブロックの横方向ウェーブレット変換処理における図7の符号701で示される値、すなわち{X2n-1, X2n-2, X'2n-3, X''2n-4, X(3) 2n-5}である。 In the processing of the second block, what is required as an intermediate result is the value indicated by reference numeral 701 in FIG. 7 in the horizontal wavelet transform processing of the first block, that is, {X 2n−1 , X 2n−2 , X ′ 2n-3 , X '' 2n-4 , X (3) 2n-5 }.

本実施形態では、第1ブロックの各行の横方向ウェーブレット変換処理時に、これらの中間結果を中間結果保存メモリ203に保存しておき、第2ブロックでのウェーブレット変換する際に、第1のブロックでの中間データを利用するものである。   In the present embodiment, at the time of the horizontal wavelet transform processing of each row of the first block, these intermediate results are stored in the intermediate result storage memory 203, and when performing the wavelet transform in the second block, Intermediate data is used.

図8は中間結果801を利用したウェーブレット変換処理を示す図である。隣接ブロックの中間結果801{X-1, X-2, X'-3, X''-4, X(3) -5}と、n個の入力値{X0, X1, X2, …, Xn-1}から、n個の出力値{Y-4, Y-3, Y-2, …, Yn-5}と、後のブロックで利用する中間結果802{Xn-1, Xn-2, X'n-3, X''n-4, X(3) n-5}を算出する。 FIG. 8 is a diagram illustrating a wavelet transform process using the intermediate result 801. Intermediate result 801 {X −1 , X −2 , X ′ −3 , X ″ −4 , X (3) −5 } of the adjacent block and n input values {X 0 , X 1 , X 2 , ..., X n-1 }, n output values {Y -4 , Y -3 , Y -2 , ..., Y n-5 } and intermediate results 802 {X n-1 used in the subsequent block , X n−2 , X ′ n−3 , X ″ n−4 , X (3) n− 5 }.

また、別の方法としては、既に値の分かっている部分の演算を先に実行して符号702で示す値、すなわち、{X2n-1+ X2n-2, X2n-2+βX'2n-3, X'2n-3+γX''2n-4, X''2n-4+δX(3) 2n-5}を中間結果とすることも可能である。 As another method, the operation of the part whose value is already known is executed first, and the value indicated by reference numeral 702, that is, {X 2n-1 + X 2n-2 , X 2n-2 + βX ' 2n −3 , X ′ 2n−3 + γX ″ 2n−4 , X ″ 2n−4 + δX (3) 2n−5 } can be an intermediate result.

このように、この例で使用したフィルタは最大9タップなので、従来の方法では8画素の重ねあわせが必要で、1行または1列ごとに8画素分のデータを保持する必要があったのが、本実施形態によれば4乃至5個の中間結果で済むようになる。   Thus, since the filter used in this example has a maximum of 9 taps, it is necessary to superimpose 8 pixels in the conventional method, and it is necessary to hold data for 8 pixels for each row or column. According to this embodiment, 4 to 5 intermediate results are sufficient.

第5のブロックの処理においては、第5ブロック入力範囲405(実線枠内)に対して、第5ブロック出力範囲406(斜線格子部)を出力する。第5ブロックの処理においては第1ブロックの縦方向ウェーブレット変換処理の中間結果を受け取ることで、出力範囲は入力範囲に対して上に広がっている。   In the processing of the fifth block, the fifth block output range 406 (hatched grid portion) is output with respect to the fifth block input range 405 (within the solid line frame). In the process of the fifth block, by receiving the intermediate result of the vertical wavelet transform process of the first block, the output range is expanded upward with respect to the input range.

第6のブロックの処理においては、第6ブロック入力範囲407(実線枠内)に対して、第6ブロック出力範囲408(縦線部)を出力する。第6ブロックの処理においても第5ブロックと同様に、第2ブロックにおける縦方向ウェーブレット変換処理の中間結果を受け取る。さらに、第5ブロックにおける横方向ウェーブレット変換の中間結果を受け取ることで、出力範囲は入力範囲に対して上と左方向に広がっている。   In the processing of the sixth block, the sixth block output range 408 (vertical line portion) is output with respect to the sixth block input range 407 (within the solid line frame). Similarly to the fifth block, the sixth block process receives the intermediate result of the vertical wavelet transform process in the second block. Furthermore, by receiving the intermediate result of the horizontal wavelet transform in the fifth block, the output range is expanded upward and left with respect to the input range.

全体としては、全ブロックの画像データ入力を連結したものより、全ブロックの画像データ出力を連結したものの方が小さくなっている。これはブロック分割部201によって鏡像が付加された部分が削られて、最初の入力画像データと同じ大きさに戻るためである。   Overall, the image data output of all blocks connected is smaller than the image data input of all blocks connected. This is because the part to which the mirror image is added is deleted by the block dividing unit 201 and returns to the same size as the first input image data.

図6はブロック処理部601と中間結果保存メモリ602との間のデータの流れを示す図である。中間結果保存メモリ602には、左右に隣接するブロック間で伝播する横方向ウェーブレット変換中間結果603、および、上下に隣接するブロック間で伝播する縦方向ウェーブレット変換中間結果604の2種類が保存される。   FIG. 6 is a diagram illustrating a data flow between the block processing unit 601 and the intermediate result storage memory 602. The intermediate result storage memory 602 stores two types, a horizontal wavelet transform intermediate result 603 that propagates between blocks adjacent to the left and right, and a vertical wavelet transform intermediate result 604 that propagates between blocks adjacent vertically. .

縦方向ウェーブレット変換中間結果604については、注目しているブロックに対して、左上ブロック、上ブロック、左ブロックの中間結果を参照することになる(注目ブロックが左端ブロックでは上ブロックのみとなる)。したがって、図3のようなブロック分割の場合、注目ブロックに対して4ブロック前までの処理を参照すればよく、それより前の中間データは不要となる。換言すれば、4ブロック前までの結果を保持し、古い順に取り出すことができるようにリングバッファの構成にする構成が簡単になる。   For the vertical wavelet transform intermediate result 604, the intermediate result of the upper left block, the upper block, and the left block is referred to the block of interest (the upper block is only the upper block in the left end block). Therefore, in the case of block division as shown in FIG. 3, it is only necessary to refer to the process up to four blocks before the target block, and intermediate data before that is unnecessary. In other words, the configuration of the ring buffer is simplified so that the results up to four blocks before can be held and extracted in the oldest order.

以上を簡単にまとめると、ブロック分割部201は、入力する画像データの周辺に、フィルタ処理(ウェーブレット変換)する際のタップ数に見合った鏡像画像を付加した上で、その鏡像付き画像を複数のブロックに分割する。そして、その分割したブロックの位置情報(上下左右端の位置にあればそのいずれであるかを示す情報、上下左右端以外の中間位置にあるブロックであればその旨を示す情報)とそのブロック内の画素データをブロック処理部202に出力する。なお、位置情報としては4ビットあれば十分であり、上、下、左、右それぞれにビットを割り当てれば良い。したがって、上端であり尚且つ左端である場合には対応する2つのビットを“1”にすれば良いし、端位置を除く中間位置にあるブロックである場合には全ビットを“0”にすれば良い。   To summarize the above, the block dividing unit 201 adds a mirror image corresponding to the number of taps when performing filter processing (wavelet transform) to the periphery of input image data, and then converts the mirrored image into a plurality of images. Divide into blocks. Then, the position information of the divided block (information indicating if it is at the position of the top, bottom, left and right ends, information indicating that if it is at an intermediate position other than the top, bottom, left and right ends) and the inside of the block Are output to the block processing unit 202. Note that 4 bits are sufficient for position information, and it is sufficient to assign bits to each of the upper, lower, left, and right. Therefore, if it is the upper end and the left end, the corresponding two bits should be set to “1”, and if it is a block at an intermediate position excluding the end position, all bits should be set to “0”. It ’s fine.

ブロック処理部202は、入力したブロック内の画素データと上記位置情報に基づき、ウェーブレット変換を行うことになるが、このとき、上記位置情報に基づき、既に処理済みのブロック内のどの中間演算結果を参照するを判定し、その判定した位置の中間演算結果に基づいてウェーブレット変換を行う。また、注目ブロックの位置情報に基づき、注目ブロックのウェーブレット変換した際にどの位置の中間演算結果を中間結果保存メモリ203に保存するかを判定し、その判定結果に応じて保存する処理を行う。   The block processing unit 202 performs wavelet transform based on the input pixel data in the block and the position information. At this time, based on the position information, which intermediate calculation result in the already processed block is determined. The reference is determined, and wavelet transform is performed based on the intermediate calculation result of the determined position. Further, based on the position information of the target block, it is determined which intermediate calculation result of the target block is to be stored in the intermediate result storage memory 203 when the target block is wavelet transformed, and processing is performed in accordance with the determination result.

そして、ブロック処理部202でウェーブレット変換処理によって得られた変換係数は量子化部204に出力し、量子化処理が施され、エントロピー符号化部205でエントロピー符号化が行われることになる。   Then, the transform coefficient obtained by the wavelet transform process in the block processing unit 202 is output to the quantization unit 204, subjected to the quantization process, and the entropy coding unit 205 performs the entropy coding.

上記の処理におけるブロック分割部201、量子化部204、エントロピー符号化部205については説明するまでのないであろうから、以下では実施形態におけるブロック処理部601の処理を図5のフローチャートにしたがって説明する。   Since the block division unit 201, the quantization unit 204, and the entropy encoding unit 205 in the above processing will not be described, the processing of the block processing unit 601 in the embodiment will be described below according to the flowchart of FIG. To do.

図5は、実施形態におけるブロック処理部601における画像処理を示すものであり、色変換処理、縦方向ウェーブレット変換処理、横方向ウェーブレット変換処理から構成され、中間結果保存メモリ602とのデータの受け渡しを加えたものである。   FIG. 5 shows image processing in the block processing unit 601 in the embodiment, which is composed of color conversion processing, vertical wavelet conversion processing, and horizontal wavelet conversion processing, and exchanges data with the intermediate result storage memory 602. It is added.

先ず、ステップS501において、ブロック分割部201より、ブロック画像データ及び位置情報を入力する。たとえば、最初のブロックの処理では図4に示す第1ブロック入力範囲401の部分、次のブロックの処理では第2ブロック入力範囲403の部分が入力されるが、これらいずれであるかは位置情報で判断できる。   First, in step S501, block image data and position information are input from the block dividing unit 201. For example, in the process of the first block, the part of the first block input range 401 shown in FIG. 4 is input, and in the process of the next block, the part of the second block input range 403 is input. I can judge.

次いで、ステップS502では、次式に従ってRGB色空間からYCbCr色空間への変換を行う。これは人間の視覚特性に合った色空間を使用することによって、後の量子化部、および、エントロピー符号化部における圧縮工程において、画質の劣化が目立たないようにするためである。因に、RGB→YCbCr変換は、次式によって得られる。   Next, in step S502, conversion from the RGB color space to the YCbCr color space is performed according to the following equation. This is because the use of a color space suitable for human visual characteristics prevents the image quality deterioration from becoming noticeable in the subsequent compression process in the quantization unit and the entropy coding unit. Incidentally, the RGB → YCbCr conversion is obtained by the following equation.

Figure 2005094212
Figure 2005094212

ステップS503では、中間結果保存メモリ602に保存されている縦方向ウェーブレット変換中間結果604を取得し、ステップS502の色変換結果と合わせて次のステップS504の処理を行なう。
ただし、入力画像の上端に位置するブロックでは、各列について図7に示すように入力値(402の色変換結果)の最初の8個{X0, X1, X2, …, X7}を利用して、符号703で示す部分{X7, X6, X'5, X''4, X(3) 3}を算出し、これを中間結果とする。
In step S503, the vertical wavelet transform intermediate result 604 stored in the intermediate result storage memory 602 is acquired, and the process in the next step S504 is performed together with the color conversion result in step S502.
However, in the block located at the upper end of the input image, the first eight input values (color conversion result of 402) {X 0 , X 1 , X 2 ,..., X 7 } for each column as shown in FIG. Is used to calculate a portion {X 7 , X 6 , X ′ 5 , X ″ 4 , X (3) 3 } indicated by reference numeral 703, which is used as an intermediate result.

ステップS504では各色成分ごと、各列ごとに、図8に示すように中間結果とステップS502の色変換結果とから、低周波成分と高周波成分に分けられた縦方向ウェーブレット変換結果、および、後のブロックで使用する縦方向ウェーブレット変換中間結果を算出する。   In step S504, for each color component and each column, as shown in FIG. 8, from the intermediate result and the color conversion result in step S502, the longitudinal wavelet transform result divided into the low frequency component and the high frequency component, and the subsequent Calculate the intermediate wavelet transform intermediate result used in the block.

ステップS505では、後のブロックで使用する縦方向ウェーブレット変換中間結果を中間結果保存メモリ602に保存する。ただし、入力画像の下端に位置するブロックでは参照されることはないので保存する必要はない。   In step S 505, the vertical wavelet transform intermediate result used in the subsequent block is stored in the intermediate result storage memory 602. However, since it is not referred to in the block located at the lower end of the input image, it is not necessary to save it.

次いで、ステップS506では、中間結果保存メモリ602に保存されている横方向ウェーブレット変換中間結果603を取得し、ステップS504の縦方向ウェーブレット変換結果と合わせて次のステップS507の処理を行なう。   Next, in step S506, the horizontal wavelet transform intermediate result 603 stored in the intermediate result storage memory 602 is acquired, and the process of the next step S507 is performed together with the vertical wavelet transform result in step S504.

ただし、入力画像の左端に位置するブロックでは、ステップS503と同様に、各行について図7に示すように入力値(504の縦方向ウェーブレット変換結果)の最初の8個{X0, X1, X2, …, X7}を利用して、符号703で示す部分{X7, X6, X'5, X''4, X(3) 3}を算出し、これを中間結果とする。 However, in the block located at the left end of the input image, as in step S503, the first eight {X 0 , X 1 , X 2 ,..., X 7 } are used to calculate a portion {X 7 , X 6 , X ′ 5 , X ″ 4 , X (3) 3 } indicated by reference numeral 703, which is used as an intermediate result.

ステップS507ではステップS504によって低周波成分と高周波成分に分けられたそれぞれについて、各色成分ごと、各行ごとに、図8に示すように中間結果と入力値とから2次元ウェーブレット変換結果、および、後のブロックで使用する横方向ウェーブレット変換中間結果を算出する。   In step S507, for each of the low-frequency component and high-frequency component divided in step S504, for each color component, for each row, as shown in FIG. Calculate the intermediate wavelet transform intermediate result used in the block.

ステップS508では、後のブロックで使用する横方向ウェーブレット変換中間結果を中間結果保存メモリ602に保存する。ただし、入力画像の右端に位置するブロックでは参照されることはないので保存する必要はない。   In step S508, the intermediate wavelet transform intermediate result used in the subsequent block is stored in the intermediate result storage memory 602. However, since the block located at the right end of the input image is not referred to, it need not be saved.

ステップS509では、ステップS501での入力に対する画像処理の結果として、LL成分、HL成分、LH成分、HH成分で構成される2次元ウェーブレット変換結果を量子化部204に出力する。   In step S509, a two-dimensional wavelet transform result including an LL component, an HL component, an LH component, and an HH component is output to the quantization unit 204 as a result of image processing for the input in step S501.

以上のように各ブロックの処理を行なうことで、ブロックの重ね合わせによる冗長な演算をすることなく、また、重なり部分と比較して少ない中間結果の保存だけで、画像全体に一括してウェーブレット変換した場合と同じ結果を得ることが可能になる。よって、ブロック単位で処理をしながら、全体を1つのタイルとして扱うことが可能であり、タイル分割による画質の劣化を避けるJPEG2000符号化装置が実現できる。   By processing each block as described above, wavelet transform is performed on the entire image without redundant calculations due to overlapping of the blocks, and by storing fewer intermediate results compared to the overlapped portion. It is possible to obtain the same result as the case. Therefore, it is possible to handle the whole as one tile while performing processing in block units, and it is possible to realize a JPEG2000 encoding apparatus that avoids deterioration in image quality due to tile division.

<変形例の説明>
図9は、図1の例の変形例のブロック構成図であり、図2におけるブロック処理部202に相当する部分を複数個設けた例に対応する。
<Description of modification>
FIG. 9 is a block diagram of a modification of the example of FIG. 1, and corresponds to an example in which a plurality of portions corresponding to the block processing unit 202 in FIG. 2 are provided.

大ブロック処理手段902はこれまでに説明したような、同一の、既に処理を終えたブロックの中間結果と新たなブロックの入力値を利用して出力値を決定する処理を行なう複数の小ブロック処理手段(905a、905b、…)と、中間結果伝達手段903により構成されている。   The large block processing means 902 performs a plurality of small block processes for performing the process of determining the output value using the intermediate result of the same already processed block and the input value of the new block as described above. Means (905a, 905b,...) And intermediate result transmission means 903.

小ブロック処理手段905a、905b…は、矩形ブロック画像の処理を行なうが、その矩形ブロックの大きさはある有限の幅、または、高さ、または、面積の制限がある。小ブロック処理手段905a,905bは、既出のブロックを処理した結果を隣接するブロックの処理で利用可能なように中間結果伝達手段903を介して接続されている。   The small block processing means 905a, 905b... Process a rectangular block image, but the size of the rectangular block is limited to a certain finite width, height, or area. The small block processing means 905a and 905b are connected via the intermediate result transmission means 903 so that the result of processing the previously described block can be used in the processing of the adjacent block.

中間結果伝達手段903はある小ブロック処理手段によって生成された中間結果を、別の小ブロック処理手段で使用するために一時的に保存しておくものである。   The intermediate result transmission unit 903 temporarily stores an intermediate result generated by one small block processing unit for use by another small block processing unit.

大ブロック処理手段902は複数の小ブロック処理手段905a、905b…と、中間結果伝達手段903により、1個の小ブロック処理手段が扱うことのできるブロックより大きなブロックを処理することが可能になっている。   The large block processing unit 902 can process a block larger than a block that can be handled by one small block processing unit by a plurality of small block processing units 905a, 905b,. Yes.

ブロック分割手段901は、入力画像データを小ブロック処理手段905a、905bが扱える大きさに分割し、順番に供給するためのものである。   The block dividing unit 901 divides input image data into sizes that can be handled by the small block processing units 905a and 905b and supplies them in order.

ラスタ変換手段904は大ブロック処理手段902の出力を、入力画像において対応する画素と同じ順にするためのものである。後の処理がブロック状に区切られた画像データで支障ないなら、ラスタ変換手段904を省略することもできる。   The raster conversion means 904 is for making the output of the large block processing means 902 in the same order as the corresponding pixels in the input image. If there is no problem with the image data divided into blocks, the raster conversion means 904 can be omitted.

図10は具体的な装置のブロック構成図である。先に示した図2の既存画像処理装置例に対して、入力画像データの解像度(画素数)が主走査方向・副走査方向共に2倍になっているものとする。ここでは、図2の処理装置のうち、ブロック処理部202の処理性能を改善するものである。   FIG. 10 is a block diagram of a specific apparatus. Assume that the resolution (number of pixels) of the input image data is doubled in both the main scanning direction and the sub-scanning direction with respect to the existing image processing apparatus example of FIG. Here, the processing performance of the block processing unit 202 in the processing apparatus of FIG. 2 is improved.

図10の装置で図2と大きく異なる点は次の2点である。   The apparatus shown in FIG. 10 is greatly different from FIG. 2 in the following two points.

第1点目:ブロック処理部1003は後に図11で説明するとおり、4個の小ブロック処理部を持っていて、それらが中間結果伝達手段を介して接続されていることである。   First point: As described later with reference to FIG. 11, the block processing unit 1003 has four small block processing units, which are connected via an intermediate result transmission unit.

よって、ブロック処理部1003は、図2におけるブロック処理部202と中間結果保存メモリ203の両方を兼ねている。   Therefore, the block processing unit 1003 serves as both the block processing unit 202 and the intermediate result storage memory 203 in FIG.

第2点目:ブロック分割部201に相当する大ブロック分割部1001と、ブロック処理部1003との間に小ブロック分割部1002を設けてあることである。これは、大ブロック分割部で分割された大ブロックをさらに細分化して、ブロック処理部1003内の小ブロック処理部で扱うことが可能な小ブロックにするためのものである。   Second point: the small block dividing unit 1002 is provided between the large block dividing unit 1001 corresponding to the block dividing unit 201 and the block processing unit 1003. This is for further subdividing the large block divided by the large block dividing unit into small blocks that can be handled by the small block processing unit in the block processing unit 1003.

大ブロック分割部1001は、図2におけるブロック分割部201と同様の働きをする。ただし、解像度が2倍になったため、分割された結果である大ブロックの画素数は図2の例におけるブロックと比較して水平、垂直方向とも2倍(面積=画素数で4倍)になっている。   The large block dividing unit 1001 functions in the same manner as the block dividing unit 201 in FIG. However, since the resolution is doubled, the number of pixels of the large block resulting from the division is doubled both horizontally and vertically (area = 4 times the number of pixels) compared to the block in the example of FIG. ing.

大ブロック分割部1001は図3に示すように、入力画像301(太実線)の各辺を折り返して鏡像を付加し、鏡像付画像302(破線)に対する分割結果を出力する。その手順は、まず入力画像301の格子部分305について鏡像である斜線部306を作成する。その後、同様の方法で左右に鏡像を付加する処理を行なう。尚、鏡像の生成処理は、先に説明した処理と同様なので、ここでの説明は省略する。   As shown in FIG. 3, the large block dividing unit 1001 folds back each side of the input image 301 (thick solid line), adds a mirror image, and outputs the division result for the mirrored image 302 (broken line). In this procedure, first, a hatched portion 306 that is a mirror image is created for the lattice portion 305 of the input image 301. Thereafter, a process for adding mirror images to the left and right is performed in the same manner. The mirror image generation process is the same as the process described above, and a description thereof is omitted here.

次に、鏡像付画像302を図中の符号303および304のように、縦横にそれぞれ決められた大きさに区切る。図のように、入力画像の大きさによっては半端になることがあるが、その場合は右端と下端に位置する大ブロックは通常より大きさの小さいものが出力される。   Next, the mirrored image 302 is divided into sizes determined vertically and horizontally as indicated by reference numerals 303 and 304 in the drawing. As shown in the figure, depending on the size of the input image, it may be half-finished. In this case, the large blocks located at the right end and the lower end are output with smaller sizes than usual.

大ブロック分割部1001は、大ブロック内の各画素信号値のほかに、大ブロックの大きさ、および、大ブロックが入力画像の端(上下左右)に該当するかどうかの位置情報を小ブロック分割部1002に渡す。   The large block dividing unit 1001 divides the size of the large block in addition to each pixel signal value in the large block and the position information indicating whether the large block corresponds to the end (upper and lower left and right) of the input image. Part 1002.

小ブロック分割部1002は、大ブロック分割部1001によって分割された大ブロックをさらに4個の小ブロックに分割して、それぞれの小ブロックが図2におけるブロック処理部203で扱える大きさなるようにして、小ブロック内の各画素信号値、および、小ブロックの大きさ、および、大ブロック内の小ブロックの位置(左上、右上、左下、右下のいずれか)をブロック処理部1003に渡す。   The small block dividing unit 1002 further divides the large block divided by the large block dividing unit 1001 into four small blocks so that each small block can be handled by the block processing unit 203 in FIG. Each pixel signal value in the small block, the size of the small block, and the position of the small block in the large block (any one of the upper left, upper right, lower left, and lower right) are passed to the block processing unit 1003.

ブロック処理部1003における処理の順番は左上、右上、左下、右下の順に行なうので、小ブロック分割部1002は同じ順で分割された小ブロックを出力する。   Since the processing order in the block processing unit 1003 is performed in the order of upper left, upper right, lower left, and lower right, the small block dividing unit 1002 outputs the small blocks divided in the same order.

小ブロック分割部1002はまた、入力画像の端部を含む小ブロックについて端部情報をブロック処理部1003に渡す。端部情報は、上端、下端、右端、左端のそれぞれについて、入力画像の端部に該当するか、しないかを判定するもので、大ブロック分割部1001からの端部情報と、当該小ブロックの大ブロック内の位置によって求めることができる。   The small block dividing unit 1002 also passes edge information to the block processing unit 1003 for the small block including the edge of the input image. The edge information determines whether or not each of the upper edge, the lower edge, the right edge, and the left edge corresponds to the edge of the input image. The edge information from the large block dividing unit 1001 and the small block It can be determined by the position in the large block.

ブロック処理部1003は図2におけるブロック処理部203と同様の2次元離散ウェーブレット変換を行なうためのものである。詳細は後の図11で詳しく説明する。   The block processing unit 1003 is for performing the same two-dimensional discrete wavelet transform as the block processing unit 203 in FIG. Details will be described later with reference to FIG.

量子化部1004、および、エントロピー符号化部1005は、それぞれ図2における量子化部204、および、エントロピー符号化部205と同様に、量子化、そしてエントロピー符号化をJPEG2000で規定された方法に従って行なうためのものである。   The quantization unit 1004 and the entropy encoding unit 1005 perform quantization and entropy encoding according to the method defined in JPEG2000, similarly to the quantization unit 204 and the entropy encoding unit 205 in FIG. Is for.

図11は、図10におけるブロック処理部1003の詳細を示す図である。   FIG. 11 is a diagram showing details of the block processing unit 1003 in FIG.

入力振り分け部1101は、小ブロック分割部からの1個の小ブロックのデータを、4つの小ブロック処理部1103、1104、1105、1106のうちひとつに割り当てるものである。   The input distribution unit 1101 assigns data of one small block from the small block division unit to one of the four small block processing units 1103, 1104, 1105, and 1106.

具体的には、大ブロック内で左上の小ブロックを第1小ブロック処理部1103、右上を第2小ブロック処理部1104、左下を第3小ブロック処理部1105、右下を第4小ブロック処理部1106が担当し、上記の順番で処理を行なう。   Specifically, in the large block, the upper left small block is the first small block processing unit 1103, the upper right is the second small block processing unit 1104, the lower left is the third small block processing unit 1105, and the lower right is the fourth small block processing. The unit 1106 takes charge of the processing in the above order.

各小ブロック処理部1103、1104、1105、1106の処理内容は以前説明した図5のとおりで、図2におけるブロック処理部202と同一であるため、新規に設計せずに既存のものを再利用することが可能である。   The processing contents of the small block processing units 1103, 1104, 1105, and 1106 are as shown in FIG. 5 and are the same as those of the block processing unit 202 in FIG. Is possible.

各小ブロック処理部1103、1104、1105、1106はまた、図のように中間結果伝達部1107、1108、…、1114を介して接続されていて、中間結果を他の小ブロック処理部に伝達することが可能になっている。   Each small block processing unit 1103, 1104, 1105, 1106 is also connected via intermediate result transmission units 1107, 1108,..., 1114 as shown in the figure, and transmits the intermediate result to other small block processing units. It is possible.

第1中間結果伝達部1107、第3中間結果伝達部1109、第5中間結果伝達部1111、第7中間結果伝達部1113は、それぞれ小ブロック1個分に相当する横方向ウェーブレット変換中間結果を伝達する。   The first intermediate result transmission unit 1107, the third intermediate result transmission unit 1109, the fifth intermediate result transmission unit 1111 and the seventh intermediate result transmission unit 1113 each transmit a horizontal wavelet transform intermediate result corresponding to one small block. To do.

第2中間結果伝達部1108と、第4中間結果伝達部1110は、それぞれ小ブロック1個分に相当する縦方向ウェーブレット変換中間結果を伝達する。   The second intermediate result transmission unit 1108 and the fourth intermediate result transmission unit 1110 each transmit a vertical wavelet transform intermediate result corresponding to one small block.

第6中間結果伝達部1112と第8中間結果伝達部1114については、図6で説明したように入力画像の幅を満たす大ブロックの数と同数(図3の例では4個)の縦方向ウェーブレット変換中間結果を保持することで、上下に隣接するブロック間で中間結果を伝達することが可能になる。   The sixth intermediate result transmission unit 1112 and the eighth intermediate result transmission unit 1114 have the same number of vertical wavelets as the number of large blocks satisfying the width of the input image as described with reference to FIG. 6 (four in the example of FIG. 3). By holding the conversion intermediate result, it becomes possible to transmit the intermediate result between blocks adjacent vertically.

第1小ブロック処理部1103は、第3中間結果伝達部1109(処理対象小ブロックが左端の場合は除く)、及び、第6中間結果伝達部1112(処理対象小ブロックが上端の場合は除く)から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、縦方向中間結果を第1中間結果伝達部1107、横方向中間結果を第2中間結果伝達部1108に保存する。   The first small block processing unit 1103 includes a third intermediate result transmission unit 1109 (except when the processing target small block is at the left end) and a sixth intermediate result transmission unit 1112 (except when the processing target small block is at the top). The intermediate result is received, the output value is determined based on the pixel value in the processing target small block and the received intermediate result, and the vertical intermediate result is transmitted to the first intermediate result transmission unit 1107, and the horizontal intermediate result is transmitted to the second intermediate result. Stored in the unit 1108.

また、第1小ブロック処理部1103は、第6中間結果伝達部1112から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、縦方向中間結果を第1中間結果伝達部1107、横方向中間結果を第2中間結果伝達部1108に保存する。   The first small block processing unit 1103 receives the intermediate result from the sixth intermediate result transmission unit 1112, determines the output value based on the pixel value in the processing target small block and the received intermediate result, and also displays the vertical intermediate result. The first intermediate result transmission unit 1107 and the horizontal intermediate result are stored in the second intermediate result transmission unit 1108.

第2小ブロック処理部1104は、第1中間結果伝達部1107、および、第8中間結果伝達部1114(処理対象小ブロックが上端の場合は除く)から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、縦方向中間結果を第3中間結果伝達部1109、横方向中間結果を第4中間結果伝達部1110に保存する。   The second small block processing unit 1104 receives the intermediate results from the first intermediate result transmission unit 1107 and the eighth intermediate result transmission unit 1114 (except when the processing target small block is at the upper end), and receives the intermediate result in the processing target small block. The output value is determined based on the pixel value and the received intermediate result, and the vertical intermediate result is stored in the third intermediate result transmission unit 1109 and the horizontal intermediate result is stored in the fourth intermediate result transmission unit 1110.

第3小ブロック処理部1105は、第7中間結果伝達部1113(処理対象小ブロックが左端の場合は除く)、および、第2中間結果伝達部11108から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、縦方向中間結果を第5中間結果伝達部1111、横方向中間結果を第6中間結果伝達部1112に保存する。   The third small block processing unit 1105 receives the intermediate results from the seventh intermediate result transmission unit 1113 (except when the processing target small block is at the left end) and the second intermediate result transmission unit 11108, and receives the intermediate result in the processing target small block. The output value is determined based on the pixel value and the received intermediate result, and the vertical intermediate result is stored in the fifth intermediate result transmission unit 1111 and the horizontal intermediate result is stored in the sixth intermediate result transmission unit 1112.

第4小ブロック処理部1106は、第5中間結果伝達部1111、および、第4中間結果伝達部1110から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、横方向中間結果を第7中間結果伝達部1113、縦方向中間結果を第8中間結果伝達部1114に保存する。   The fourth small block processing unit 1106 receives intermediate results from the fifth intermediate result transmission unit 1111 and the fourth intermediate result transmission unit 1110, and determines an output value based on the pixel value in the processing target small block and the received intermediate result. At the same time, the horizontal intermediate result is stored in the seventh intermediate result transmission unit 1113 and the vertical intermediate result is stored in the eighth intermediate result transmission unit 1114.

図から分かるように、第2小ブロック処理部1104と第3小ブロック処理部1105は互いの結果に影響を及ぼさないので処理を並列に行なうことが可能である。また、第4小ブロック処理部1105と、次の大ブロックを処理する段階での第1小ブロック処理部1103も同様に並列に動作させることが可能である。   As can be seen from the figure, the second small block processing unit 1104 and the third small block processing unit 1105 do not affect each other's results, so that the processes can be performed in parallel. Also, the fourth small block processing unit 1105 and the first small block processing unit 1103 at the stage of processing the next large block can be operated in parallel in the same manner.

以上のように並列動作させることで処理時間の短縮を図ることができる。   The processing time can be shortened by operating in parallel as described above.

出力整理部1102は、上記のように並列に動作している各小ブロック処理部1103、1104、1105、1106の出力を円滑に量子化部に伝達するために設けたものである。   The output organizing unit 1102 is provided to smoothly transmit the outputs of the small block processing units 1103, 1104, 1105, and 1106 operating in parallel as described above to the quantization unit.

以上述べたように、本変形例によれば、第1の実施形態におけるブロック処理部202に相当する部分を、複数の小ブロック処理部(上記では2×2の4つ)及びそれらの間に介在する伝達部で構成することで、ブロック処理部全体の処理速度を更に高速なものとできるようになる。   As described above, according to the present modification, a portion corresponding to the block processing unit 202 in the first embodiment is divided into a plurality of small block processing units (four in the above example, 2 × 2) and between them. By comprising the intervening transmission unit, the processing speed of the entire block processing unit can be further increased.

<第2の実施形態>
以下、第2の実施形態として、バイリニア法による解像度変換処理について説明する。
<Second Embodiment>
Hereinafter, as a second embodiment, resolution conversion processing by the bilinear method will be described.

A5サイズからA4サイズへの拡大を考えた場合、約1:1.41の解像度変換になる。このような場合半端な位置の画素値を割り出す方法として、たとえば、バイリニア法やバイキュービック法がある。以下バイリニア法の例で説明する。   When enlarging from A5 size to A4 size, resolution conversion is about 1: 1.41. In such a case, there are, for example, a bilinear method and a bicubic method as a method for determining a pixel value at an odd position. Hereinafter, an example of the bilinear method will be described.

A5サイズ→A4サイズへの変換は1.41倍する、換言すれば解像度が同一であれば、水平画素数、垂直画素数とも1.41倍にすることと等価である。このとき、原画像の各画素データを座標位置でX(i,j)、拡大後の画素データ(算出すべき画素データ)をPとしたとき、図12に示すように、点Pはその位置を取り囲む4つの元画素D(=X(i,j))、C(=X(i+1,j))、A(=X(i,j+1))、B(=X(i+1,j+1))の矩形内に存在することになる。   Conversion from A5 size to A4 size is multiplied by 1.41, in other words, if the resolution is the same, this is equivalent to increasing the number of horizontal pixels and the number of vertical pixels by 1.41 times. At this time, assuming that each pixel data of the original image is X (i, j) at the coordinate position and pixel data after enlargement (pixel data to be calculated) is P, as shown in FIG. Of four original pixels D (= X (i, j)), C (= X (i + 1, j)), A (= X (i, j + 1)), B (= X (i + 1, j + 1)) It will be in the rectangle.

そこで、バイリニア法では、この4点(4つの元画素)A,B,C,Dとの距離に応じた重みによって以下の式のように算出する(水平若しくは垂直方向に隣接する2画素間の距離を“1”とする)。
P = (1-dx)×(1-dy)×A + dx×(1-dy)×B + dx×dy×C + (1-dx)×dy×D
ブロックに分割された画像に対してこのような方法を適用しようとした場合、ブロック境界付近において、隣接するブロックに属する画素値を参照する必要がある。
Therefore, in the bilinear method, the following formula is calculated by the weight according to the distance between these four points (four original pixels) A, B, C, and D (between two adjacent pixels in the horizontal or vertical direction). The distance is “1”).
P = (1-dx) x (1-dy) x A + dx x (1-dy) x B + dx x dy x C + (1-dx) x dy x D
When trying to apply such a method to an image divided into blocks, it is necessary to refer to pixel values belonging to adjacent blocks in the vicinity of the block boundary.

図13のように解像度変換の対象となる画像全体1301を4×4の16のブロックに分割する。左上から順に第1ブロック1002、第2ブロック1003、…のように順番に処理を行なうものとする。   As shown in FIG. 13, the entire image 1301 to be subjected to resolution conversion is divided into 16 blocks of 4 × 4. It is assumed that processing is performed in order from the upper left, like a first block 1002, a second block 1003,.

第1ブロック1302中の各点は原画像におけるサンプリング位置を示す。   Each point in the first block 1302 indicates a sampling position in the original image.

解像度変換後のイメージ1304は、第1ブロック1302および第2ブロック1303について解像度変換を行なったときのサンプリング位置を示す図である。図中“×”印が変換後の画像のサンプリング位置である。図中、符号1305で示される範囲では、参照すべき原画像の点が第1ブロック内だけでなく、第2ブロックにも及んでいる。   An image 1304 after resolution conversion is a diagram showing sampling positions when resolution conversion is performed on the first block 1302 and the second block 1303. In the figure, the “x” mark is the sampling position of the converted image. In the range indicated by reference numeral 1305 in the figure, the point of the original image to be referenced extends not only in the first block but also in the second block.

このようなサンプリング位置に該当する点については、第1ブロックの処理において、とりあえず、第1ブロック内に属する原画像の点(たとえば、図12における点A,D)だけを利用して部分結果を算出する。   For the points corresponding to such sampling positions, in the processing of the first block, partial results are obtained by using only the points of the original image (for example, points A and D in FIG. 12) belonging to the first block. calculate.

そして、その位置と、ブロック内の原画素値による部分結果とを中間結果として隣接するブロックの処理で使用するために保存しておく。   Then, the position and the partial result based on the original pixel value in the block are stored as intermediate results for use in processing of adjacent blocks.

後のブロックの処理でもまた、そのブロック内の現画素値による部分結果を算出し、保存してある結果と合計することで、ブロック境界付近においてもバイリニア法による補間が実現できる。   In the subsequent block processing, the partial result based on the current pixel value in the block is calculated and summed with the stored result, so that interpolation by the bilinear method can be realized even near the block boundary.

以上のような処理を行なう画像処理手段を複数個利用する場合、以下のようにブロック内の処理の順序を工夫することで、並列動作が可能になる。   When using a plurality of image processing means for performing the processing as described above, parallel operation becomes possible by devising the order of processing within the block as described below.

それは、まず隣接ブロックに影響を与える可能性のある周辺部分(たとえば、第1ブロックにおける符号1305)の中間結果を算出し、次にブロック内の画素値だけから結果を求めることができる部分の処理を行い、最後に隣接ブロックからの中間結果を参照する必要がある部分(たとえば、第2ブロックにおける符号1305)の処理を行なうようにすることである。   That is, processing of a part in which an intermediate result of a peripheral part (for example, reference numeral 1305 in the first block) that may affect an adjacent block is first calculated, and then a result can be obtained only from pixel values in the block And finally, processing of a portion (for example, reference numeral 1305 in the second block) that needs to refer to an intermediate result from an adjacent block is performed.

<第3の実施形態>
次に、第3の実施形態として、原画像と、ある繰り返しパターンとの合成処理について説明する。
<Third Embodiment>
Next, a synthesis process of an original image and a certain repetitive pattern will be described as a third embodiment.

図14は合成処理を説明する図である。   FIG. 14 is a diagram for explaining the composition process.

この処理は、繰り返しパターン1401の「○」印の部分では原画像をそのまま出力とし、「×」印の部分では原画像の画素値を所定の値に置き換える処理を行なう。そして、図のように、繰り返しパターン1401を隙間なく繰り返し、処理対象画像1402の全体に特定の模様による網がかかったような効果を得ることを目的とする。   In this process, the original image is output as it is in the portion marked “◯” in the repetitive pattern 1401, and the pixel value of the original image is replaced with a predetermined value in the portion marked “x”. Then, as shown in the figure, an object is to obtain an effect that a repetitive pattern 1401 is repeated without a gap, and the entire processing target image 1402 is shaded with a specific pattern.

このとき、図のようにブロックの境界(実線)がパターンの境界(破線)と一致しない場合にはパターンが不連続にならないようにする工夫が必要である。たとえば、各ブロックの処理において、原点からの距離をパターンの幅、および高さで割ったあまりを求める方法がある。   At this time, when the block boundary (solid line) does not coincide with the pattern boundary (broken line) as shown in the figure, it is necessary to devise a technique for preventing the pattern from becoming discontinuous. For example, in the processing of each block, there is a method for obtaining a value obtained by dividing the distance from the origin by the width and height of the pattern.

しかしながら、割り算は他の演算より回路が複雑になり、また、時間がかかるという欠点があるので好ましくない。本実施形態では、各ブロックの処理において行数と列数のカウンタを使用し、カウント値が繰り返しパターン1401の大きさに達したらリセットする方法で、繰り返しパターン1401上のどの位置を参照するべきかを管理するものとする。   However, division is not preferable because the circuit is more complicated than other operations and it takes time. In this embodiment, a counter for the number of rows and the number of columns is used in the processing of each block, and when the count value reaches the size of the repeated pattern 1401, which position on the repeated pattern 1401 should be referred to is reset. Shall be managed.

このとき、左上のブロックから順に処理をするとして、中間結果として、右に隣接するブロックに対しては使用した列数を、下に隣接するブロックに対しては使用した行数を伝える。そして、受け取った中間結果の値をカウンタの初期値として使用することで、画像全体に対して連続した処理をすることが可能になる。   At this time, assuming that processing is performed in order from the upper left block, the number of columns used for the right adjacent block and the number of used rows for the lower adjacent block are transmitted as intermediate results. By using the received intermediate result value as the initial value of the counter, it becomes possible to perform continuous processing on the entire image.

以上各実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、様々な適用が可能である。   Although each embodiment has been described above, the present invention is not limited to the above embodiment, and various applications are possible.

例えば、パーソナルコンピュータ等の汎用情報装置においても、図5に示す手順で処理を行えば、画像データのウェーブレット変換を高速に行えることになるようになる。したがって、本発明はかかるコンピュータプログラムをもその範疇とするのは明らかである。また、通常、コンピュータプログラムはフロッピー(R)ディスクやCDROM等を可搬性のコンピュータ可読記憶媒体に格納されており、その媒体をコンピュータにセットしてコピー或いはインストールすることで実行可能となるわけであるから、コンピュータ可読記憶媒体も本発明の範疇に含まれることも明らかである。   For example, even in a general-purpose information device such as a personal computer, wavelet transformation of image data can be performed at high speed if processing is performed according to the procedure shown in FIG. Therefore, it is clear that the present invention also includes such a computer program. Usually, the computer program is stored in a portable computer-readable storage medium such as a floppy (R) disk or CDROM, and can be executed by setting the medium in a computer and copying or installing it. Therefore, it is clear that a computer-readable storage medium is also included in the scope of the present invention.

実施形態の基本構成図である。It is a basic lineblock diagram of an embodiment. 図1を具現化した第1の実施形態における装置のブロック構成図である。It is a block block diagram of the apparatus in 1st Embodiment which embodied FIG. 鏡像処理およびブロック分割を示す図である。It is a figure which shows a mirror image process and block division. 各ブロック処理における入力と出力の領域の関係を示す図である。It is a figure which shows the relationship between the area | region of input and output in each block process. ブロック処理部の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of a block process part. ブロック処理部と中間結果保存メモリとの間のデータの移動を説明するための図である。It is a figure for demonstrating the movement of the data between a block process part and an intermediate result storage memory. ウェーブレット変換の演算を説明するための図である。It is a figure for demonstrating the calculation of wavelet transformation. 中間結果を利用したウェーブレット変換処理を説明するための図である。It is a figure for demonstrating the wavelet transformation process using an intermediate result. 変形例のブロック構成図である。It is a block block diagram of a modification. 図9を具現化した装置のブロック構成図である。FIG. 10 is a block diagram of an apparatus embodying FIG. 9. 図9におけるブロック処理部の詳細を示す図である。It is a figure which shows the detail of the block process part in FIG. バイリニア法を説明するための図である。It is a figure for demonstrating a bilinear method. 第2の実施形態における補間処理を説明するための図である。It is a figure for demonstrating the interpolation process in 2nd Embodiment. 第3の実施形態における画像処理を説明するための図である。It is a figure for demonstrating the image processing in 3rd Embodiment.

Claims (8)

入力画像データに対してフィルタ処理する画像処理装置であって、
前記入力画像データを複数の画像ブロックに分割する分割手段と、
該分割手段で分割した各画像ブロックの画像データを順次入力し、フィルタ処理するフィルタ手段とを備え、
前記フィルタ手段は、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロック内の周辺
近傍の中間結果を一時的に記憶する記憶手段と、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロックに隣接す
る既フィルタ処理において一時記憶された中間結果を参照してフィルタ処理す
る手段と
を備えることを特徴とする画像処理装置。
An image processing device that performs filtering on input image data,
Dividing means for dividing the input image data into a plurality of image blocks;
Filter means for sequentially inputting and filtering image data of each image block divided by the dividing means,
The filter means includes
Storage means for temporarily storing intermediate results in the vicinity of the periphery in the target image block when filtering the target image block;
An image processing apparatus comprising: means for performing a filtering process with reference to an intermediate result temporarily stored in an already-filtering process adjacent to the target image block when the target image block is filtered.
前記フィルタ処理手段は、ウェーブレット変換を行うための所定数のタップを有する一次元フィルタを用いて、入力した画像データの水平、垂直方向に行うフィルタ演算を行う手段であって、
前記記憶保持手段は、前記タップの一次元フィルタ処理する際の各段階での中間演算結果を記憶保持することを特徴とする請求項1に記載の画像処理装置。
The filter processing means is means for performing a filter operation to be performed in the horizontal and vertical directions of input image data using a one-dimensional filter having a predetermined number of taps for performing wavelet transform,
The image processing apparatus according to claim 1, wherein the storage holding unit stores and holds an intermediate calculation result at each stage when the one-dimensional filter processing of the tap is performed.
前記フィルタ処理手段は、
前記画像ブロックを更に複数の小ブロックに分割する手段と、
分割した小ブロックそれぞれに対してフィルタ処理を行う小ブロック用フィルタ手段と、
各小ブロックフィルタ手段でフィルタ処理中の中間データを互いに伝達する伝達手段と
を備えることを特徴とする請求項1又は2に記載の画像処理装置。
The filter processing means includes
Means for further dividing the image block into a plurality of small blocks;
Small block filter means for performing filtering on each of the divided small blocks;
The image processing apparatus according to claim 1, further comprising: a transmission unit that transmits intermediate data that is being filtered by each small block filter unit.
前記フィルタ処理手段は、入力画像と所定の繰り返しパターンとの合成処理であることを特徴とする請求項1に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the filter processing unit is a synthesis process of an input image and a predetermined repetition pattern. 前記フィルタ処理手段は、入力画像の解像度もしくは画素数を変更するため、入力画像から補間画素を生成する手段であることを特徴とする請求項1に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the filter processing unit is a unit that generates an interpolation pixel from the input image in order to change the resolution or the number of pixels of the input image. 入力画像データに対してフィルタ処理する画像処理方法であって、
前記入力画像データを複数の画像ブロックに分割する分割工程と、
該分割工程で分割した各画像ブロックの画像データを順次入力し、フィルタ処理するフィルタ工程とを備え、
前記フィルタ工程は、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロック内の周辺
近傍の中間結果を一時的に記憶する記憶工程と、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロックに隣接す
る既フィルタ処理において一時記憶された中間結果を参照してフィルタ処理す
る工程と
を備えることを特徴とする画像処理方法。
An image processing method for filtering input image data,
A dividing step of dividing the input image data into a plurality of image blocks;
A filter step of sequentially inputting and filtering image data of each image block divided in the division step,
The filtering step includes
A storage step of temporarily storing intermediate results in the vicinity of the periphery of the target image block when filtering the target image block;
And a step of performing a filtering process with reference to an intermediate result temporarily stored in the already-filtering process adjacent to the target image block when the target image block is filtered.
コンピュータが読み込み実行することで、入力画像データに対してフィルタ処理する画像処理装置として機能するコンピュータプログラムであって、
前記入力画像データを複数の画像ブロックに分割する分割手段と、
該分割手段で分割した各画像ブロックの画像データを順次入力し、フィルタ処理するフィルタ手段とを備え、
前記フィルタ手段は、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロック内の周辺
近傍の中間結果を一時的に記憶する記憶手段と、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロックに隣接す
る既フィルタ処理において一時記憶された中間結果を参照してフィルタ処理す
る手段
として機能することを特徴とするコンピュータプログラム。
A computer program that functions as an image processing device that filters input image data by being read and executed by a computer,
Dividing means for dividing the input image data into a plurality of image blocks;
Filter means for sequentially inputting and filtering image data of each image block divided by the dividing means,
The filter means includes
Storage means for temporarily storing intermediate results in the vicinity of the periphery in the target image block when filtering the target image block;
A computer program that functions as means for performing filtering processing with reference to an intermediate result temporarily stored in filter processing that is adjacent to a target image block when filtering the target image block.
請求項7に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。   A computer-readable storage medium storing the computer program according to claim 7.
JP2003323098A 2003-09-16 2003-09-16 Image processor and processing method, computer program, and computer readable storage medium Withdrawn JP2005094212A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003323098A JP2005094212A (en) 2003-09-16 2003-09-16 Image processor and processing method, computer program, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003323098A JP2005094212A (en) 2003-09-16 2003-09-16 Image processor and processing method, computer program, and computer readable storage medium

Publications (1)

Publication Number Publication Date
JP2005094212A true JP2005094212A (en) 2005-04-07

Family

ID=34454269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003323098A Withdrawn JP2005094212A (en) 2003-09-16 2003-09-16 Image processor and processing method, computer program, and computer readable storage medium

Country Status (1)

Country Link
JP (1) JP2005094212A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151571A (en) * 2007-12-20 2009-07-09 Canon Inc Image data supply device and method
JP2010011485A (en) * 2009-10-01 2010-01-14 Seiko Epson Corp Image processing unit
JP2010045814A (en) * 2009-10-01 2010-02-25 Seiko Epson Corp Image processor
US7907785B2 (en) 2006-05-16 2011-03-15 Sony Corporation Image processing apparatus and image processing method
US8107745B2 (en) 2007-07-09 2012-01-31 Seiko Epson Corporation Image processing device
US8111931B2 (en) 2007-07-09 2012-02-07 Seiko Epson Corporation Image processing device
WO2013179560A1 (en) * 2012-05-30 2013-12-05 パナソニック株式会社 Image processing device and image processing method
JP2014078114A (en) * 2012-10-10 2014-05-01 Canon Inc Image processor, image processing method, and program
JP2015138417A (en) * 2014-01-22 2015-07-30 キヤノン株式会社 Image processing device and image processing method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7907785B2 (en) 2006-05-16 2011-03-15 Sony Corporation Image processing apparatus and image processing method
US8107745B2 (en) 2007-07-09 2012-01-31 Seiko Epson Corporation Image processing device
US8111931B2 (en) 2007-07-09 2012-02-07 Seiko Epson Corporation Image processing device
JP2009151571A (en) * 2007-12-20 2009-07-09 Canon Inc Image data supply device and method
US8295598B2 (en) 2007-12-20 2012-10-23 Canon Kabushiki Kaisha Processing method and apparatus
JP2010011485A (en) * 2009-10-01 2010-01-14 Seiko Epson Corp Image processing unit
JP2010045814A (en) * 2009-10-01 2010-02-25 Seiko Epson Corp Image processor
WO2013179560A1 (en) * 2012-05-30 2013-12-05 パナソニック株式会社 Image processing device and image processing method
JP2014078114A (en) * 2012-10-10 2014-05-01 Canon Inc Image processor, image processing method, and program
JP2015138417A (en) * 2014-01-22 2015-07-30 キヤノン株式会社 Image processing device and image processing method

Similar Documents

Publication Publication Date Title
JP6706985B2 (en) Image processing apparatus and control method thereof
US7577308B2 (en) Image data generation with reduced amount of processing
JP4987688B2 (en) Method and apparatus for increasing image resolution
JP2005295510A (en) Resolution conversion method and apparatus
JP2005094212A (en) Image processor and processing method, computer program, and computer readable storage medium
JPH08294001A (en) Image processing method and image processing unit
US8902474B2 (en) Image processing apparatus, control method of the same, and program
JP3706830B2 (en) Image signal processing device
US8879864B2 (en) Generating sub-frame images for driving display
JP2009153026A (en) Method and apparatus for encoding/decoding image, computer program, and information recording medium
US7787700B2 (en) Signal processing method, signal processing apparatus, computer-readable medium and a data recording medium
RU2310911C1 (en) Method for interpolation of images
JP4321483B2 (en) Spatial resolution conversion method and spatial resolution conversion program
JP3775180B2 (en) Image processing method and apparatus
JP4118030B2 (en) Image compression apparatus / image expansion apparatus, image compression method / image expansion method, and information recording medium for realizing the method
JP4274187B2 (en) Display data decompression method, display data compression / decompression method, display data decompression device, and display data compression / decompression device
JP5410231B2 (en) Unequally spaced sampling device, program thereof, and multidimensional unequally spaced sampling device
JP4189956B2 (en) Image data generation apparatus and image data generation method
JP2011081477A (en) Image restoring device, program therefor, and multi-dimensional image restoring device
JP2009200545A (en) Image encoding device and image decoding device
JP2017085320A (en) Image processing apparatus, control method of the same, computer program, and storage medium
JP2016213526A (en) Image encoder and control method therefor
KR20040065806A (en) Cubic convolution interpolation apparatus and method
JP4107660B2 (en) Image processing apparatus, image processing method, program, and information recording medium
KR20060107639A (en) Efficient image interplation method for horizontal scale using inpainting

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