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 PDFInfo
- 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
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
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.
したがって、画像データを一括して処理することが望まれるが、この場合には、画像データを保持するためのフレームメモリまたはラインメモリを必要とする。昨今のデジタルカメラは優に数百万画素の解像度を有することを鑑みると、必要とするメモリは膨大なものとなる。
本発明はかかる問題点に鑑みなされたものであり、メモリ効率の観点からブロック分割技法を採用しつつ、尚且つ、ブロック間の境界部分での不連続性が発生しにくくし、更には、フィルタ処理を高速なものとする技術を提供しようとするものである。 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
図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
ブロック処理部202はブロック分割部201からのブロック画像データ、および、中間結果保存メモリ203から読み出した以前のブロックに対する処理の中間結果データを入力し、処理結果を量子化部204に出力すると共に後続するブロックの処理に備えて中間結果を中間結果保存メモリ203に出力し、記憶させる。
The
量子化部204、および、エントロピー符号化部205は、それぞれ量子化、またはエントロピー符号化をJPEG2000で規定された方法に従って行なうためのものである。JPEG2000ではエントロピー符号化はコーディングブロックという矩形領域単位で行なうことが規定されているので、本実施形態例では図1におけるラスタ変換手段104は必要ではない。
The
以下、図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
ここで列307を例に説明する。列307に含まれる画素値を、上辺(境界)から順に{a, b, c, d, e, f, g, …}とすると、鏡像308の画素値は一番上の画素{a}を除いた4画素{b, c, d, e} を逆順に並べた{e, d, c, b}となる(なお、折り返し画素数が4つとしている。これは、実施形態ではタップ数が「9」の場合を想定していることを意味しているものであるが、この数に限定されるものではない)。
Here, the
従って、鏡像308と列307を連結した鏡像付列309は、上から下に向かう順で示すと{e, d, c, b, a, b, c, d, e, f, g, …}となる。
Therefore, the mirror image-attached
このようにすることで、後のブロック処理部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
次に、鏡像付画像302を図中の符号303および304のように、縦横にそれぞれ決められた大きさに区切る。図のように、入力画像の大きさによっては半端になることがあるが、その場合は右端と下端に位置するブロックは通常より大きさの小さいものが出力される。
Next, the mirrored
ブロック分割部201は、ブロック内の各画素データ(画素信号値)のほかに、ブロックの大きさ、および、ブロックが入力画像の端(上下左右)に該当するかどうかの情報をブロック処理部202に渡す。
In addition to each pixel data (pixel signal value) in the block, the
ブロック処理部202は、以前のブロックの処理によって求められた中間結果保存メモリ203に保存されている中間結果データを参照し、他のブロックの処理で使用するための中間結果データを中間結果保存メモリ203に保存する。
The
図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
このブロック処理部202は第1ブロックを処理する場合には、入力範囲401(実線枠内)の入力に対して行ない、その結果を第1ブロック出力範囲402(格子部)を出力する。
When processing the first block, the
まず、縦に連なる各列に対して図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
第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
本実施形態では、第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
図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
また、別の方法としては、既に値の分かっている部分の演算を先に実行して符号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
このように、この例で使用したフィルタは最大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
図6はブロック処理部601と中間結果保存メモリ602との間のデータの流れを示す図である。中間結果保存メモリ602には、左右に隣接するブロック間で伝播する横方向ウェーブレット変換中間結果603、および、上下に隣接するブロック間で伝播する縦方向ウェーブレット変換中間結果604の2種類が保存される。
FIG. 6 is a diagram illustrating a data flow between the
縦方向ウェーブレット変換中間結果604については、注目しているブロックに対して、左上ブロック、上ブロック、左ブロックの中間結果を参照することになる(注目ブロックが左端ブロックでは上ブロックのみとなる)。したがって、図3のようなブロック分割の場合、注目ブロックに対して4ブロック前までの処理を参照すればよく、それより前の中間データは不要となる。換言すれば、4ブロック前までの結果を保持し、古い順に取り出すことができるようにリングバッファの構成にする構成が簡単になる。
For the vertical wavelet transform
以上を簡単にまとめると、ブロック分割部201は、入力する画像データの周辺に、フィルタ処理(ウェーブレット変換)する際のタップ数に見合った鏡像画像を付加した上で、その鏡像付き画像を複数のブロックに分割する。そして、その分割したブロックの位置情報(上下左右端の位置にあればそのいずれであるかを示す情報、上下左右端以外の中間位置にあるブロックであればその旨を示す情報)とそのブロック内の画素データをブロック処理部202に出力する。なお、位置情報としては4ビットあれば十分であり、上、下、左、右それぞれにビットを割り当てれば良い。したがって、上端であり尚且つ左端である場合には対応する2つのビットを“1”にすれば良いし、端位置を除く中間位置にあるブロックである場合には全ビットを“0”にすれば良い。
To summarize the above, the
ブロック処理部202は、入力したブロック内の画素データと上記位置情報に基づき、ウェーブレット変換を行うことになるが、このとき、上記位置情報に基づき、既に処理済みのブロック内のどの中間演算結果を参照するを判定し、その判定した位置の中間演算結果に基づいてウェーブレット変換を行う。また、注目ブロックの位置情報に基づき、注目ブロックのウェーブレット変換した際にどの位置の中間演算結果を中間結果保存メモリ203に保存するかを判定し、その判定結果に応じて保存する処理を行う。
The
そして、ブロック処理部202でウェーブレット変換処理によって得られた変換係数は量子化部204に出力し、量子化処理が施され、エントロピー符号化部205でエントロピー符号化が行われることになる。
Then, the transform coefficient obtained by the wavelet transform process in the
上記の処理におけるブロック分割部201、量子化部204、エントロピー符号化部205については説明するまでのないであろうから、以下では実施形態におけるブロック処理部601の処理を図5のフローチャートにしたがって説明する。
Since the
図5は、実施形態におけるブロック処理部601における画像処理を示すものであり、色変換処理、縦方向ウェーブレット変換処理、横方向ウェーブレット変換処理から構成され、中間結果保存メモリ602とのデータの受け渡しを加えたものである。
FIG. 5 shows image processing in the
先ず、ステップS501において、ブロック分割部201より、ブロック画像データ及び位置情報を入力する。たとえば、最初のブロックの処理では図4に示す第1ブロック入力範囲401の部分、次のブロックの処理では第2ブロック入力範囲403の部分が入力されるが、これらいずれであるかは位置情報で判断できる。
First, in step S501, block image data and position information are input from the
次いで、ステップ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.
ステップ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
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
ステップ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
次いで、ステップS506では、中間結果保存メモリ602に保存されている横方向ウェーブレット変換中間結果603を取得し、ステップS504の縦方向ウェーブレット変換結果と合わせて次のステップS507の処理を行なう。
Next, in step S506, the horizontal wavelet transform
ただし、入力画像の左端に位置するブロックでは、ステップ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
ステップ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
ステップ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
以上のように各ブロックの処理を行なうことで、ブロックの重ね合わせによる冗長な演算をすることなく、また、重なり部分と比較して少ない中間結果の保存だけで、画像全体に一括してウェーブレット変換した場合と同じ結果を得ることが可能になる。よって、ブロック単位で処理をしながら、全体を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
大ブロック処理手段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
大ブロック処理手段902は複数の小ブロック処理手段905a、905b…と、中間結果伝達手段903により、1個の小ブロック処理手段が扱うことのできるブロックより大きなブロックを処理することが可能になっている。
The large
ブロック分割手段901は、入力画像データを小ブロック処理手段905a、905bが扱える大きさに分割し、順番に供給するためのものである。
The
ラスタ変換手段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
図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
よって、ブロック処理部1003は、図2におけるブロック処理部202と中間結果保存メモリ203の両方を兼ねている。
Therefore, the
第2点目:ブロック分割部201に相当する大ブロック分割部1001と、ブロック処理部1003との間に小ブロック分割部1002を設けてあることである。これは、大ブロック分割部で分割された大ブロックをさらに細分化して、ブロック処理部1003内の小ブロック処理部で扱うことが可能な小ブロックにするためのものである。
Second point: the small
大ブロック分割部1001は、図2におけるブロック分割部201と同様の働きをする。ただし、解像度が2倍になったため、分割された結果である大ブロックの画素数は図2の例におけるブロックと比較して水平、垂直方向とも2倍(面積=画素数で4倍)になっている。
The large
大ブロック分割部1001は図3に示すように、入力画像301(太実線)の各辺を折り返して鏡像を付加し、鏡像付画像302(破線)に対する分割結果を出力する。その手順は、まず入力画像301の格子部分305について鏡像である斜線部306を作成する。その後、同様の方法で左右に鏡像を付加する処理を行なう。尚、鏡像の生成処理は、先に説明した処理と同様なので、ここでの説明は省略する。
As shown in FIG. 3, the large
次に、鏡像付画像302を図中の符号303および304のように、縦横にそれぞれ決められた大きさに区切る。図のように、入力画像の大きさによっては半端になることがあるが、その場合は右端と下端に位置する大ブロックは通常より大きさの小さいものが出力される。
Next, the mirrored
大ブロック分割部1001は、大ブロック内の各画素信号値のほかに、大ブロックの大きさ、および、大ブロックが入力画像の端(上下左右)に該当するかどうかの位置情報を小ブロック分割部1002に渡す。
The large
小ブロック分割部1002は、大ブロック分割部1001によって分割された大ブロックをさらに4個の小ブロックに分割して、それぞれの小ブロックが図2におけるブロック処理部203で扱える大きさなるようにして、小ブロック内の各画素信号値、および、小ブロックの大きさ、および、大ブロック内の小ブロックの位置(左上、右上、左下、右下のいずれか)をブロック処理部1003に渡す。
The small
ブロック処理部1003における処理の順番は左上、右上、左下、右下の順に行なうので、小ブロック分割部1002は同じ順で分割された小ブロックを出力する。
Since the processing order in the
小ブロック分割部1002はまた、入力画像の端部を含む小ブロックについて端部情報をブロック処理部1003に渡す。端部情報は、上端、下端、右端、左端のそれぞれについて、入力画像の端部に該当するか、しないかを判定するもので、大ブロック分割部1001からの端部情報と、当該小ブロックの大ブロック内の位置によって求めることができる。
The small
ブロック処理部1003は図2におけるブロック処理部203と同様の2次元離散ウェーブレット変換を行なうためのものである。詳細は後の図11で詳しく説明する。
The
量子化部1004、および、エントロピー符号化部1005は、それぞれ図2における量子化部204、および、エントロピー符号化部205と同様に、量子化、そしてエントロピー符号化をJPEG2000で規定された方法に従って行なうためのものである。
The
図11は、図10におけるブロック処理部1003の詳細を示す図である。
FIG. 11 is a diagram showing details of the
入力振り分け部1101は、小ブロック分割部からの1個の小ブロックのデータを、4つの小ブロック処理部1103、1104、1105、1106のうちひとつに割り当てるものである。
The
具体的には、大ブロック内で左上の小ブロックを第1小ブロック処理部1103、右上を第2小ブロック処理部1104、左下を第3小ブロック処理部1105、右下を第4小ブロック処理部1106が担当し、上記の順番で処理を行なう。
Specifically, in the large block, the upper left small block is the first small
各小ブロック処理部1103、1104、1105、1106の処理内容は以前説明した図5のとおりで、図2におけるブロック処理部202と同一であるため、新規に設計せずに既存のものを再利用することが可能である。
The processing contents of the small
各小ブロック処理部1103、1104、1105、1106はまた、図のように中間結果伝達部1107、1108、…、1114を介して接続されていて、中間結果を他の小ブロック処理部に伝達することが可能になっている。
Each small
第1中間結果伝達部1107、第3中間結果伝達部1109、第5中間結果伝達部1111、第7中間結果伝達部1113は、それぞれ小ブロック1個分に相当する横方向ウェーブレット変換中間結果を伝達する。
The first intermediate
第2中間結果伝達部1108と、第4中間結果伝達部1110は、それぞれ小ブロック1個分に相当する縦方向ウェーブレット変換中間結果を伝達する。
The second intermediate
第6中間結果伝達部1112と第8中間結果伝達部1114については、図6で説明したように入力画像の幅を満たす大ブロックの数と同数(図3の例では4個)の縦方向ウェーブレット変換中間結果を保持することで、上下に隣接するブロック間で中間結果を伝達することが可能になる。
The sixth intermediate
第1小ブロック処理部1103は、第3中間結果伝達部1109(処理対象小ブロックが左端の場合は除く)、及び、第6中間結果伝達部1112(処理対象小ブロックが上端の場合は除く)から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、縦方向中間結果を第1中間結果伝達部1107、横方向中間結果を第2中間結果伝達部1108に保存する。
The first small
また、第1小ブロック処理部1103は、第6中間結果伝達部1112から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、縦方向中間結果を第1中間結果伝達部1107、横方向中間結果を第2中間結果伝達部1108に保存する。
The first small
第2小ブロック処理部1104は、第1中間結果伝達部1107、および、第8中間結果伝達部1114(処理対象小ブロックが上端の場合は除く)から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、縦方向中間結果を第3中間結果伝達部1109、横方向中間結果を第4中間結果伝達部1110に保存する。
The second small
第3小ブロック処理部1105は、第7中間結果伝達部1113(処理対象小ブロックが左端の場合は除く)、および、第2中間結果伝達部11108から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、縦方向中間結果を第5中間結果伝達部1111、横方向中間結果を第6中間結果伝達部1112に保存する。
The third small
第4小ブロック処理部1106は、第5中間結果伝達部1111、および、第4中間結果伝達部1110から中間結果を受け取り、処理対象小ブロック内の画素値と受け取った中間結果によって出力値を決定するとともに、横方向中間結果を第7中間結果伝達部1113、縦方向中間結果を第8中間結果伝達部1114に保存する。
The fourth small
図から分かるように、第2小ブロック処理部1104と第3小ブロック処理部1105は互いの結果に影響を及ぼさないので処理を並列に行なうことが可能である。また、第4小ブロック処理部1105と、次の大ブロックを処理する段階での第1小ブロック処理部1103も同様に並列に動作させることが可能である。
As can be seen from the figure, the second small
以上のように並列動作させることで処理時間の短縮を図ることができる。 The processing time can be shortened by operating in parallel as described above.
出力整理部1102は、上記のように並列に動作している各小ブロック処理部1103、1104、1105、1106の出力を円滑に量子化部に伝達するために設けたものである。
The
以上述べたように、本変形例によれば、第1の実施形態におけるブロック処理部202に相当する部分を、複数の小ブロック処理部(上記では2×2の4つ)及びそれらの間に介在する伝達部で構成することで、ブロック処理部全体の処理速度を更に高速なものとできるようになる。
As described above, according to the present modification, a portion corresponding to the
<第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
第1ブロック1302中の各点は原画像におけるサンプリング位置を示す。
Each point in the
解像度変換後のイメージ1304は、第1ブロック1302および第2ブロック1303について解像度変換を行なったときのサンプリング位置を示す図である。図中“×”印が変換後の画像のサンプリング位置である。図中、符号1305で示される範囲では、参照すべき原画像の点が第1ブロック内だけでなく、第2ブロックにも及んでいる。
An
このようなサンプリング位置に該当する点については、第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,
<第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
このとき、図のようにブロックの境界(実線)がパターンの境界(破線)と一致しない場合にはパターンが不連続にならないようにする工夫が必要である。たとえば、各ブロックの処理において、原点からの距離をパターンの幅、および高さで割ったあまりを求める方法がある。 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
このとき、左上のブロックから順に処理をするとして、中間結果として、右に隣接するブロックに対しては使用した列数を、下に隣接するブロックに対しては使用した行数を伝える。そして、受け取った中間結果の値をカウンタの初期値として使用することで、画像全体に対して連続した処理をすることが可能になる。 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.
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.
前記入力画像データを複数の画像ブロックに分割する分割工程と、
該分割工程で分割した各画像ブロックの画像データを順次入力し、フィルタ処理するフィルタ工程とを備え、
前記フィルタ工程は、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロック内の周辺
近傍の中間結果を一時的に記憶する記憶工程と、
注目画像ブロックをフィルタ処理する際に、当該注目画像ブロックに隣接す
る既フィルタ処理において一時記憶された中間結果を参照してフィルタ処理す
る工程と
を備えることを特徴とする画像処理方法。 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.
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)
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 |
-
2003
- 2003-09-16 JP JP2003323098A patent/JP2005094212A/en not_active Withdrawn
Cited By (10)
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 |