JP4425221B2 - Data processing method and data processing apparatus - Google Patents
Data processing method and data processing apparatus Download PDFInfo
- Publication number
- JP4425221B2 JP4425221B2 JP2005517887A JP2005517887A JP4425221B2 JP 4425221 B2 JP4425221 B2 JP 4425221B2 JP 2005517887 A JP2005517887 A JP 2005517887A JP 2005517887 A JP2005517887 A JP 2005517887A JP 4425221 B2 JP4425221 B2 JP 4425221B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- image data
- processing
- pixel
- line
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明は、画像データを圧縮・伸張するデータ処理方法及びデータ処理装置に関し、例えばビデオ監視システムに適用して有効な技術に関する。 The present invention relates to a data processing method and data processing apparatus for compressing / decompressing image data, and more particularly to a technique effective when applied to a video surveillance system, for example.
画像データの圧縮・伸張技術として、ISO/IEC01918−1(JPEG)のJPEG静止画圧縮規格、ISO/IEC13818−2(MPEG2)及びISO/IEC11172−2(MPEG1)のMPEG動画圧縮規格、ISO/IEC15444−1(JPEG2000)及びISO/IEC15444−3(MotionJPEG2000)のJPEG2000静止画・動画圧縮規格などが有る。
JPEG静止画圧縮規格では、デジタル化された画像をブロック分割して各ブロック毎にDCT変換(離散コサイン変換)、量子化、DC成分(直流成分)予測を施し、ハフマン符号化により画像データを圧縮する。また、この圧縮データの復号は上記圧縮と逆の手順すなわち、ハフマン復号化、DC成分予測、逆量子化、逆DCT変換から画像を生成して実現する。
MPEG動画圧縮規格では、デジタル化された画像をブロック分割して各ブロック毎に動きベクトル検出、DCT変換、量子化、AC/DC成分(交流/直流成分)予測を施し、ハフマン符号化により画像データを圧縮する。また、この圧縮データの復号は上記圧縮と逆の手順すなわち、ハフマン復号化、AC/DC成分予測、逆量子化、逆DCT変換、動き補償から画像を生成して実現する。
JPEG2000静止画・動画圧縮規格では、デジタル化された画像をウェーブレット変換、量子化を施し、算術符号化により画像を圧縮する。また、この圧縮データの復号は上記圧縮と逆の手順すなわち、算術復号化、逆量子化、逆ウェーブレット変換から画像を生成して実現する。
特開2003−174645号公報には、ビデオ監視システムにおいて監視ビデオ画像の関心領域と非関心領域との差異についてのビデオ画像のウェーブレット変換処理について記載される。これによれば、ビデオ監視画像を高周波数画像データと低周波数画像データに変換し、前記高周波数画像データにより関心領域に対する第1画像データとそれ以外の領域に対する第2画像データとを記録し、第1画像データと前期定収は画像データを結合させて関心領域データとするものである。Image data compression / decompression techniques include ISO / IEC01918-1 (JPEG) JPEG still image compression standard, ISO / IEC13818-2 (MPEG2) and ISO / IEC11172-2 (MPEG1) MPEG video compression standard, ISO / IEC15444. -1 (JPEG2000) and ISO / IEC 15444-3 (Motion JPEG2000) JPEG2000 still image / moving image compression standards.
The JPEG still image compression standard divides a digitized image into blocks, performs DCT transform (discrete cosine transform), quantization, and DC component (direct current component) prediction for each block, and compresses image data by Huffman coding To do. In addition, the decoding of the compressed data is realized by generating an image from a procedure reverse to the above-described compression, that is, Huffman decoding, DC component prediction, inverse quantization, and inverse DCT transform.
In the MPEG video compression standard, a digitized image is divided into blocks, motion vector detection, DCT conversion, quantization, AC / DC component (AC / DC component) prediction is performed for each block, and image data is obtained by Huffman coding. Compress. Also, the decoding of the compressed data is realized by generating an image from the reverse procedure of the above compression, that is, Huffman decoding, AC / DC component prediction, inverse quantization, inverse DCT transform, and motion compensation.
In the JPEG2000 still image / moving image compression standard, a digitized image is subjected to wavelet transform and quantization, and the image is compressed by arithmetic coding. In addition, the decoding of the compressed data is realized by generating an image from a procedure reverse to the above-described compression, that is, arithmetic decoding, inverse quantization, and inverse wavelet transform.
Japanese Patent Application Laid-Open No. 2003-174645 describes a wavelet transform process of a video image for a difference between a region of interest and a non-region of interest of a surveillance video image in a video surveillance system. According to this, the video surveillance image is converted into high frequency image data and low frequency image data, and the first image data for the region of interest and the second image data for the other region are recorded by the high frequency image data, The first image data and the first-term fixed income are obtained by combining the image data into the region-of-interest data.
本発明者は画像データの圧縮・伸張に要するシステムリソースの多少について検討し、以下の検討結果を得た。
JPEGの場合には、DCT変換および量子化により画像不連続に起因するブロックノイズが発生する。また、8×8画素のブロックを単位に圧縮処理を行なうため、少なくとも8表示ライン分の画像データを格納するメモリが必要になる。更にDCT変換を行なう論理規模も大きくなる。
MPEGの場合には、DCT変換および量子化により画像不連続に起因するブロックノイズが発生する。また、フレーム間予測を行うため、1〜2フレーム分の画像データを蓄えるメモリが必要になる。そして、動き検出部およびDCT変換部の論理規模が大きくなる。
JPEG2000の場合には、2次元ウェーブレット変換を行なうため、1フレーム分の画像データを蓄えるメモリが必要である。要する、高周波数画像データと低周波数画像データへの変換を表示画面の表示ライン方向とこれに垂直な方向との双方に対して行なうからである。
何れの方法もメモリや論理回路など比較的大きなシステムリソースを必要とする。特開2003−174645号公報に記載の技術では処理に要するシステムリソースの低減について考慮されていない。
本発明の目的は、画像データの圧縮・伸張に要するシステムリソースを少なくすることができるデータ処理方法、更にはその方法を用いるデータ処理装置を提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の記述と添付図面から明らかにされるであろう。
本願において開示される発明のうち代表的なものの概要を説明すれば以下の通りである。
1.《圧縮処理方法》本発明に係るデータ処理方法は、画像データの圧縮処理に、ウェーブレット変換処理、量子化処理、及び垂直差分処理を含み、
(a)前記ウェーブレット変換処理は、表示画面の表示ライン毎に画像データを高周波数画像データと低周波数画像データに変換する処理であり、
(b)前記量子化処理は、ウェーブレット変換処理の結果に対し、高周波数データほど大きい数で量子化する処理であり、
(c)前記垂直差分処理は、量子化されたデータに対し前記表示ライン毎に所定方向隣りの表示ラインとの間で差分を採る処理である。
前記ウェーブレット変換処理は表示ライン方向に対して行なう1次の変換処理であり、表示ライン方向とその垂直方向の双方に対して行なう2次のウェーブレット変換処理に比べ、画像データを保持するのに要するメモリの記憶容量を最大1表示ライン分まで低減することができる。
ウェーブレット変換処理された高周波数画像データは高周波数であるほど人の眼では視認し難く、それ故に、前記量子化処理で高周波数データほど大きい数で量子化することにより、画像データの有効ビット数を減らすことができる。
垂直差分処理では、水平方向の相関が少ない低周波数帯域のデータに対し、相関の強い垂直方向でデータを削減することができる。垂直差分処理を併用することにより、1次のウェーブレット変換処理を採用しても、データの圧縮率を高めることができる。垂直差分処理では前後2表示ライン分の画像データを保持することができるメモリエリアが有れば充分なので、2次のウェーブレット変換処理に比べても必要なメモリの記憶容量は格段に少なくて済む。
本発明の具体的な形態では、前記垂直差分処理の後に可変長符号化処理を含む。
(d)前記可変長符号化処理は、前記垂直差分処理の結果に対し、低周波数帯域のデータには画素単位の符号化を行ない、高周波数帯域のデータにはゼロの画素データが連続するときはゼロが連続する所定範囲で特定コードを付与し前記所定範囲外では画素単位の符号化を行なう処理である。前記量子化処理では高周波数帯域データほど大きい数で量子化されるから、高周波数帯域データの量子化結果ほどゼロが連続する確立が高い。要するに、値が小さいものほど出現確立が高い。前記可変長符号化処理はこれを前提として、ゼロのビット列のビット数を縮小する。
本発明の更に具体的な形態では、前記ウェーブレット変換処理の前に千鳥間引き処理及びラインパック処理を含む。
(e)前記千鳥間引き処理は、前記表示ラインの画像データを1画素毎に間引き、表示ライン上の間引き位置を隣の表示ラインとの間で相違させ、隣り合う表示ラインの一方の表示ラインの間引き位置を偶数番目の画素位置とするとき他方の表示ラインの間引き位置を奇数番目の画素位置とする処理である。隣接画素は近似する傾向に有るということを前提として、縦横の比率を保持したまま画素数を半分に圧縮することができる。
(f)前記ラインパック処理は、前記隣り合う表示ラインの一方の表示ラインと他方の表示ラインの間引き処理されたデータから交互に画素データを取り出して1ラインに並べる処理であり、ラインパック処理で1ラインに並べられたデータを一つの表示ラインの画像データとみなして後の処理を行なう。前記ウェーブレット変換処理は表示ライン単位のライン処理であるからラインが長くライン数が少ない方が処理効率を高くすることができる。
2.《伸張処理方法》本発明に係る別のデータ処理方法は、前述の(a)ウェーブレット変換処理、(b)量子化処理、及び(c)垂直差分処理を含む画像データの圧縮処理で圧縮された画像データの伸張処理に、垂直予測処理、逆量子化処理、及び逆ウェーブレット変換処理を含む。
(g)垂直予測処理は前記表示ライン毎に所定方向隣りの表示ラインとの間で、前記垂直差分処理で得られた差分を加算する処理であり、前記垂直差分処理の逆の処理を行なう。
(h)前記逆量子化処理は、前記垂直予測処理の結果に対し、周波数成分毎に決められた量子化係数で乗算又はシフト演算を行なう処理であり、前記量子化処理の逆の処理を行なう。
(i)前記逆ウェーブレット変換処理は、前記逆量子化処理で得られた高周波数画像データと低周波数画像データに対する補間と周波数合成を行なって表示ライン毎の画像データを生成する。この伸張処理により、上記圧縮方法で圧縮された画像データの伸張が可能になる。
本発明の具体的な形態では、画像データの圧縮処理には前述の(c)垂直差分処理の後に(d)可変長符号化処理を更に含み、前記画像データの伸張処理には可変長復号処理を更に含む。
(j)前記可変長復号処理は、低周波数帯域のデータには画素単位の復号を行ない、高周波数帯域のデータにはその符号の値に応じてゼロ拡張と画素単位の復号を行なう処理である。
本発明の更に具体的な形態では、画像データの圧縮処理には前記(a)ウェーブレット変換処理の前に(e)千鳥間引き処理及び(f)ラインパック処理を更に含み、前記画像データの伸張処理にはラインアンパック処理及び千鳥補完処理を更に含む。
(k)前記ラインアンパック処理は、前記逆ウェーブレット変換処理で生成された画像データに対し、1ラインの画像データを千鳥状で2ラインに分散配置する処理であり、
(m)前記千鳥補完処理は、前記ラインアンパック処理された画像データに対し、斜めに隣合う画素のデータ同士を加算平均し、加算平均が不可能な端の画素位置に応ずるデータにはその画素位置の隣りの加算平均された画素位置のデータを用いて、必要な画素データを補完する処理である。画像圧縮ではライン方向にはウェーブレット変換処理によるフィルタ演算が行なわれているが、垂直方向に対しては垂直差分が採られフィルタ演算は行なわれていない。フィルタ演算の結果は垂直差分の結果に比べてノイジーであるが、その相違は、千鳥補完処理において斜めに隣合う画素のデータ同士を加算平均することによって相互の打ち消され、表示の劣化を抑制する。
3.《圧縮・伸張処理装置》本発明に係るデータ処理装置は、画像データを入力し前記(a)ウェーブレット変換処理、前記(b)量子化処理、及び前記(c)垂直差分処理により画像データの圧縮を行ない、圧縮された画像データを入力し前記(g)垂直予測処理、前記(h)逆量子化処理、及び前記(i)逆ウェーブレット変換処理により画像データの伸張を行なう。
本発明の具体的な形態では、前記画像データの圧縮では前記垂直差分処理の後に前記(d)可変長符号化処理を更に行ない、前記画像データの伸張では前記(j)可変長復号処理を更に行なう。
本発明の更に具体的な形態では、前記画像データの圧縮処理では前記(a)ウェーブレット変換処理の前に前記(e)千鳥間引き処理及び前記(f)ラインパック処理を更に行ない、前記画像データの伸張処理では前記(k)ラインアンパック処理及び前記(m)千鳥補完処理を更に行なう。
4.《伸張処理装置》本発明に係るデータ処理装置は、前記(a)ウェーブレット変換処理、前記(b)量子化処理、及び前記(c)垂直差分処理により圧縮された画像データを入力し、前記(g)垂直予測処理、前記(h)逆量子化処理、及び前記(i)逆ウェーブレット変換処理により画像データの伸張を行なう。
本発明の具体的な形態では、前記(c)垂直差分処理の後に前記(d)可変長符号化処理を行なうことによって圧縮された画像データの伸張では、前記(j)可変長復号処理を更に行なう。
本発明のさらに具体的な形態では、前記(a)ウェーブレット変換処理の前に前記(e)千鳥間引き処理及び前記(f)ラインパック処理を更に行なって圧縮された画像データの伸張では、前記(k)ラインアンパック処理及び前記(m)千鳥補完処理を更に行なう。The inventor has examined some of the system resources required for compression / decompression of image data, and obtained the following examination results.
In the case of JPEG, block noise caused by image discontinuity occurs due to DCT conversion and quantization. Further, since compression processing is performed in units of 8 × 8 pixel blocks, a memory for storing image data for at least 8 display lines is required. Furthermore, the logical scale for performing DCT conversion also increases.
In the case of MPEG, block noise caused by image discontinuity occurs due to DCT conversion and quantization. Further, in order to perform inter-frame prediction, a memory for storing image data for one to two frames is required. And the logical scale of a motion detection part and a DCT conversion part becomes large.
In the case of JPEG2000, in order to perform two-dimensional wavelet transformation, a memory for storing image data for one frame is required. This is because the conversion to high frequency image data and low frequency image data is performed in both the display line direction of the display screen and the direction perpendicular thereto.
Both methods require relatively large system resources such as memories and logic circuits. The technique described in Japanese Patent Laid-Open No. 2003-174645 does not consider reduction of system resources required for processing.
An object of the present invention is to provide a data processing method capable of reducing system resources required for compression / decompression of image data, and a data processing apparatus using the method.
The above and other objects and novel features of the present invention will become apparent from the following description of the present specification and the accompanying drawings.
The outline of typical ones of the inventions disclosed in the present application will be described as follows.
1. << Compression Processing Method >> The data processing method according to the present invention includes wavelet transform processing, quantization processing, and vertical difference processing in the compression processing of image data,
(A) The wavelet transform process is a process of converting image data into high-frequency image data and low-frequency image data for each display line of the display screen,
(B) The quantization process is a process of quantizing a higher number of higher frequency data with respect to the result of the wavelet transform process,
(C) The vertical difference process is a process of taking a difference between quantized data and a display line adjacent in a predetermined direction for each display line.
The wavelet transform process is a primary transform process performed in the display line direction, and is required to hold image data as compared with the secondary wavelet transform process performed in both the display line direction and the vertical direction. The storage capacity of the memory can be reduced to a maximum of one display line.
The higher the frequency of wavelet transform processed high-frequency image data, the harder it is to be visually recognized by human eyes. Therefore, the higher the frequency of high-frequency data, the higher the number of effective bits of image data. Can be reduced.
In the vertical difference processing, it is possible to reduce data in the vertical direction where the correlation is strong with respect to data in a low frequency band with little horizontal correlation. By using the vertical difference processing together, the data compression rate can be increased even when the primary wavelet transform processing is employed. In the vertical difference processing, it is sufficient that there is a memory area that can hold image data for two display lines before and after, and the memory capacity required for the memory is much smaller than that of the secondary wavelet transform processing.
In a specific form of the present invention, variable length coding processing is included after the vertical difference processing.
(D) In the variable length encoding process, when the result of the vertical difference process is performed, pixel data is encoded for low frequency band data, and zero pixel data continues for high frequency band data. Is a process of assigning a specific code within a predetermined range where zeros continue and performing encoding in units of pixels outside the predetermined range. In the quantization process, the higher the frequency band data, the higher the number of quantizations, and the higher the frequency band data quantization result, the higher the probability that the zero will continue. In short, the smaller the value, the higher the probability of appearance. The variable length encoding process presupposes this and reduces the number of bits of a zero bit string.
In a more specific form of the present invention, a staggered thinning process and a line pack process are included before the wavelet transform process.
(E) In the zigzag thinning process, the image data of the display line is thinned for each pixel, the thinning position on the display line is made different from that of the adjacent display line, and one display line of the adjacent display lines is changed. This is processing in which when the thinning position is an even-numbered pixel position, the thinning position of the other display line is an odd-numbered pixel position. Assuming that adjacent pixels tend to approximate, the number of pixels can be compressed by half while maintaining the aspect ratio.
(F) The line pack process is a process in which pixel data is alternately extracted from data obtained by thinning out one display line of the adjacent display lines and the other display line and arranged in one line. Data arranged in one line is regarded as image data of one display line, and subsequent processing is performed. Since the wavelet transform process is a line process for each display line, the processing efficiency can be increased when the number of lines is long and the number of lines is small.
2. << Expansion Processing Method >> Another data processing method according to the present invention is compressed by the above-described image data compression processing including (a) wavelet transform processing, (b) quantization processing, and (c) vertical difference processing. The image data expansion processing includes vertical prediction processing, inverse quantization processing, and inverse wavelet transform processing.
(G) The vertical prediction process is a process of adding the difference obtained by the vertical difference process between display lines adjacent to each other in a predetermined direction for each display line, and performs the reverse process of the vertical difference process.
(H) The inverse quantization process is a process of multiplying or shifting the result of the vertical prediction process by a quantization coefficient determined for each frequency component, and performs the reverse process of the quantization process. .
(I) In the inverse wavelet transform process, image data for each display line is generated by performing interpolation and frequency synthesis on the high-frequency image data and the low-frequency image data obtained by the inverse quantization process. By this decompression process, the image data compressed by the compression method can be decompressed.
In a specific form of the present invention, the compression processing of the image data further includes (d) a variable length encoding processing after the above-mentioned (c) vertical difference processing, and the expansion processing of the image data includes a variable length decoding processing. Is further included.
(J) The variable length decoding process is a process of performing pixel-by-pixel decoding on low frequency band data and performing zero extension and pixel-by-pixel decoding on high frequency band data according to the code value. .
In a more specific form of the invention, the compression processing of the image data further includes (e) zigzag thinning processing and (f) line pack processing before the (a) wavelet transform processing, and the image data expansion processing. Further includes a line unpacking process and a staggered complementing process.
(K) The line unpacking process is a process in which image data of one line is dispersedly arranged in two lines in a staggered manner with respect to the image data generated by the inverse wavelet transform process,
(M) The zigzag complementing process adds and averages the data of diagonally adjacent pixels to the image data subjected to the line unpacking process, and the data corresponding to the pixel position at the end where the addition averaging is impossible This is a process of complementing necessary pixel data using data of pixel positions obtained by averaging the positions adjacent to each other. In image compression, a filter operation by wavelet transform processing is performed in the line direction, but a vertical difference is taken in the vertical direction and no filter operation is performed. The result of the filter operation is noisy compared to the result of the vertical difference, but the difference is canceled by averaging the data of pixels adjacent to each other diagonally in the zigzag interpolation process, thereby suppressing display deterioration. .
3. << Compression / Expansion Processing Apparatus >> A data processing apparatus according to the present invention inputs image data and compresses the image data by (a) wavelet transform processing, (b) quantization processing, and (c) vertical difference processing. The compressed image data is input, and the image data is decompressed by the (g) vertical prediction process, the (h) inverse quantization process, and the (i) inverse wavelet transform process.
In a specific form of the present invention, in the compression of the image data, (d) the variable length encoding process is further performed after the vertical difference process, and in the expansion of the image data, the (j) variable length decoding process is further performed. Do.
In a more specific form of the present invention, in the compression processing of the image data, the (e) zigzag thinning processing and the (f) line pack processing are further performed before the (a) wavelet transform processing, In the decompression process, the (k) line unpacking process and the (m) zigzag complementing process are further performed.
4). << Expansion Processing Apparatus >> A data processing apparatus according to the present invention inputs image data compressed by (a) wavelet transform processing, (b) quantization processing, and (c) vertical difference processing, and g) Image data is expanded by vertical prediction processing, (h) inverse quantization processing, and (i) inverse wavelet transform processing.
In a specific form of the present invention, in the expansion of the image data compressed by performing the (d) variable length encoding process after the (c) vertical difference process, the (j) variable length decoding process is further performed. Do.
In a more specific form of the present invention, (a) before the wavelet transform process, (e) the zigzag thinning process and (f) the line pack process are further performed to decompress the compressed image data. k) Line unpack processing and (m) zigzag complement processing are further performed.
第1図は本発明に係るデータ処理装置として画像データを圧縮するエンコーダを例示するブロック図である。
第2図は本発明に係るデータ処理装置として圧縮された画像データを伸張するデコーダを例示するブロック図である。
第3図は千鳥間引き処理の具体例を示す説明図である。
第4図はラインパック処理の具体例を示す説明図である。
第5図は表示ラインの端の画素に対してその周期性を拡張するための周期拡張の説明図である。
第6図はウェーブレット変換処理を行なうフィルタの3段構成を例示する論理回路図である。
第7図は第6図の各段のフィルタの具体的構成を例示する論理回路図である。
第8図は量子化処理の具体例を示す説明図である。
第9図は可変長符号化処理の具体例を示すフローチャートである。
第10図は第1ブロック符号化処理を示すフローチャートである。
第11図は第2ブロック符号化処理を示すフローチャートである。
第12図は第3ブロック符号化処理を示すフローチャートである。
第13図は1画素単位の符号化処理(ピクセルの符号化処理)の手順を示すフローチャートである。
第14図は1画素が採り得る値に応じたカテゴリ及びコード等を示す説明図である。
第15図は可変長復号処理の具体例を示すフローチャートである。
第16図は第1ブロック復号処理を示すフローチャートである。
第17図は第2ブロック復号処理を示すフローチャートである。
第18図は第3ブロック復号処理を示すフローチャートである。
第19図は1画素単位の復号処理(ピクセル復号処理)の手順を示すフローチャートである。
第20図は逆ウェーブレット変換処理を行なうフィルタの3段構成を例示する論理回路図である。
第21図は第21図の各段のフィルタの具体的構成を例示するフローチャートである。
第22図はラインアンパック処理の具体例を示す説明図である。
第23図は千鳥補完処理の具体例を示すフローチャートである。FIG. 1 is a block diagram illustrating an encoder for compressing image data as a data processing apparatus according to the present invention.
FIG. 2 is a block diagram illustrating a decoder for decompressing compressed image data as a data processing apparatus according to the present invention.
FIG. 3 is an explanatory diagram showing a specific example of the zigzag thinning process.
FIG. 4 is an explanatory diagram showing a specific example of line pack processing.
FIG. 5 is an explanatory diagram of period expansion for extending the periodicity of pixels at the end of the display line.
FIG. 6 is a logic circuit diagram illustrating a three-stage configuration of a filter that performs wavelet transform processing.
FIG. 7 is a logic circuit diagram illustrating a specific configuration of the filter at each stage of FIG.
FIG. 8 is an explanatory diagram showing a specific example of the quantization process.
FIG. 9 is a flowchart showing a specific example of variable length encoding processing.
FIG. 10 is a flowchart showing the first block encoding process.
FIG. 11 is a flowchart showing the second block encoding process.
FIG. 12 is a flowchart showing the third block encoding process.
FIG. 13 is a flowchart showing the procedure of encoding processing (pixel encoding processing) in units of one pixel.
FIG. 14 is an explanatory diagram showing categories, codes, and the like according to values that one pixel can take.
FIG. 15 is a flowchart showing a specific example of variable length decoding processing.
FIG. 16 is a flowchart showing the first block decoding process.
FIG. 17 is a flowchart showing the second block decoding process.
FIG. 18 is a flowchart showing the third block decoding process.
FIG. 19 is a flowchart showing a procedure of decoding processing (pixel decoding processing) in units of one pixel.
FIG. 20 is a logic circuit diagram illustrating a three-stage configuration of a filter that performs inverse wavelet transform processing.
FIG. 21 is a flowchart illustrating the specific configuration of the filter at each stage of FIG.
FIG. 22 is an explanatory diagram showing a specific example of the line unpacking process.
FIG. 23 is a flowchart showing a specific example of the staggered complement processing.
《データ処理装置》
第1図には本発明に係るデータ処理装置として画像データを圧縮するエンコーダが例示される。エンコーダ1は、入力画像データに対して千鳥間引き処理を行なう千鳥間引き部2、千鳥間引き処理結果に対してラインパック処理を行なうラインパック部3、ラインパック処理結果に対してウェーブレット変換処理を行なうDWT変換部4、ウェーブレット変換処理結果に対して量子化処理を行なう量子化部5、量子化処理結果に対して垂直差分処理を行なう垂直差分部6、垂直差分処理結果に対して可変長符合化処理を行なうVLC符合化部7を有し、VLC符合化部7より圧縮された画像データのストリームが得られる。
第2図には本発明に係るデータ処理装置として圧縮された画像データを伸張するデコーダが例示される。エンコーダ11は、圧縮された画像データの入力ストリームを受けて可変長復号処理を行なうVLC復号部17、可変長復号処理結果に対して垂直予測処理を行なう垂直予測部16、垂直予測処理結果に対して逆量子化処理を行なう逆量子化部15、逆量子化処理結果に対して逆ウェーブレット変換処理を行なうiDWT変換部14、逆ウェーブレット変換処理結果に対してラインアンパック処理を行なうラインアンパック部13、ラインアンパック処理結果に対して千鳥補完処理を行なう千鳥補完部12を有し、千鳥補完部12より復号された画像データが出力される。
第1図及び第2図に示されるエンコーダ1及びデコーダ11は夫々のユニットを専用ハードウェアロジック例えばフル・カスタ厶LSIにて構成し、或いは汎用マイクロプロセッサに各ユニットの処理を実現するプログラムを実行させるソフトウェア主体の例えばマイクロコンピュータにて構成し、又は前記ハードウェア及びソフトウェア双方を用いたシステムLSIにて構成することが可能である。LSI(半導体集積回路)で構成する場合には、シングルチップであっても、マルチチップであってもよい。何れの構成を採用するかは、動作速度、フレームの表示画素数、コスト、開発期間などに応じて適宜選択すればよい。特に、専用ハードを用いて処理結果を直列的に下流に流す構成を採用する場合には各ユニット間の処理能力が整合していればユニット間でデータの受け渡しを行なうためのデータバッファは最小限とすることができる。ソフトウェア主体のマイクロコンピュータ等による構成を採用する場合には、各ユニットでの処理速度がCPUの動作基準クロック周波数に依存するので処理の軽重による処理の時間差を埋めるために比較的大きなデータバッファメモリが必要になる場合もある。データ処理装置における実装形態は、エンコーダだけ、デコーダだけ、或いは双方の何れであってもよい。
《圧縮処理方法》
上記エンコーダ1による圧縮処理方法の詳細を説明する。
第3図には前記千鳥間引き処理の具体例が示される。前記千鳥間引き処理は、前記表示ラインの画像データを1画素毎に間引き、表示ライン上の間引き位置を隣の表示ラインとの間で相違させ、隣り合う表示ラインの一方の表示ラインの間引き位置を偶数番目の画素位置とするとき他方の表示ラインの間引き位置を奇数番目の画素位置とする処理である。第3図に則して説明すれば、千鳥間引く処理は、N×M個の画素の入力画像データを1画素置きにサンプリングし、(N/2)×(M/2)個の画素の画像データに変換する処理とされる。サンプリングされる画素は、偶数ラインでは2n(nは0及び正の整数)番目の画素、奇数ラインでは2n+1番目の画素とされる。第3図においてサンプリングされる画素にはハッチングを付してある。
千鳥間引き処理は、隣接画素は近似する傾向に有るということを前提として、縦横の比率を保持したまま画素数を半分に圧縮することができる。
第4図には前記ラインパック処理の具体例が示される。前記ラインパック処理は、前記隣り合う表示ラインの一方の表示ラインと他方の表示ラインの間引き処理されたデータから交互に画素データを取り出して1ラインに並べる処理であり、後の処理では、ラインパック処理で1ラインに並べられたデータを一つの表示ラインの画像データとみなす。前記ウェーブレット変換処理は表示ライン単位のライン処理であるから、ラインが長くライン数が少ない方が高い処理効率を実現できる。
第5図乃至第7図には前記ウェーブレット変換処理の具体例が示される。前記ウェーブレット変換処理は、表示画面の表示ライン毎に画像データを高周波数画像データと低周波数画像データに変換する処理である。
先ず、入力データは1画素当り例えば0〜255の値を採る。このデータを0を中心に正負の値で表現するように、−128〜127の範囲の値にレベルシフトする。画素データの有効ビット数を減らすことができる。更に、処理の連続性という観点より第5図に例示されるように、表示ラインの端の画素に対してその周期性を拡張するために、左端の画素のデータP0には左端から2番目及び3番目の画素のデータP1,P2を折り返して拡張し、右端の画素のデータPnには右端から2番目の画素のデータPn−1を折り返して拡張する。
ウェーブレット変換処理を行なうフィルタ20は第6図に例示される1次フィルタ21、2次フィルタ22、3次フィルタ23の3段構成とされる。各フィルタはローパスフィルタ(H0(z))、ハイパスフィルタ(H1(z))、及びダウンサンプラー(↓2)によって構成される。要するに、ハイパスフィルタ(H1(z))を通過した高周波数帯域のデータを一つ置きにサンプリングして出力すると共に、ローパスフィルタ(H0(z))を通過した低周波数帯域のデータを一つ置きにサンプリングして出力する。2次フィルタ22には1次フィルタ21の1次低周波のデータが入力され、3次フィルタ23には2次フィルタ22の2次低周波のデータが入力される。1表示ラインのデータ数をNとすると、1次高周波のデータ数はN/2、2次高周波のデータ数はN/4、3次高周波のデータ数はN/8、3次低周波のデータ数はN/8とされる。
各段のフィルタの具体的構成を例示する第7図のように、各段のフィルタは、遅延バッファ(Z−1)、(1+(Z−1))/2の演算を行なう演算器(P(z))、(1+(Z−1))/4の演算を行なう演算器(U(z))、ダウンサンプラー(↓2)によって構成される。演算器は加算器とシフタによって実現することができ、乗算器を用いなくても済む。
上記ウェーブレット変換処理は表示ライン方向に対して行なう1次の変換処理であり、表示ライン方向とその垂直方向の双方に対して行なう2次のウェーブレット変換処理に比べ、画像データを保持するのに要するメモリの記憶容量を最大1表示ライン分まで低減することができる。
第8図には前記量子化処理の具体例が示される。前記量子化処理は、ウェーブレット変換処理の結果に対し、高周波数データほど大きい量子化係数で量子化する処理である。量子化係数は周波数成分毎に決められている。量子化係数が2のべき乗数であれば量子化はシフト演算によって行なえばよい。任意係数の場合にはその逆数の乗算を行なえばよい。第8図のフローチャートに従えば、先ず、入力値の正負が判定され(S1)、正数の場合には量子化係数によるシフト演算(又は逆数乗算)が行なわれ(S3)、負数の場合には符号反転され(S2)、反転値に対して量子化係数によるシフト演算(又は逆数乗算)が行なわれる(S3)。前記入力値が正数であれば(S4)、ステップS3の演算結果が量子化処理の結果とされ、前記入力値が負数であれば(S4)、ステップS3の演算結果を符号反転し(S5)、これが量子化処理の結果とされる。
上記ウェーブレット変換処理された高周波数画像データは高周波数であるほど人の眼では視認し難く、それ故に、前記量子化処理で高周波数データほど大きい数で量子化することにより、画像データの有効ビット数を減らすことができる。
前記垂直差分処理は、量子化されたデータに対し前記表示ライン毎に所定方向隣りの表示ラインとの間で差分を採る処理である。第6図の例に従えば、低周波数帯域データである3次高周波のフィルタ出力及び3次低周波のフィルタ出力に関する量子化データに関し、隣りの上側表示ラインとの差分が求められる。最上位の表示ラインの低周波数データ成分はゼロとの差分が採られる。その次の表示ラインの低周波数データ成分は最上位の表示ラインの低周波数データ成分と差分が採られ、以下同様に最下位の表示ラインの低周波数データ成分まで差分処理が行なわれる。高周波数帯域データについては垂直方向の相関が弱いのでここでは垂直差分処理の対象とはしていないが、高周波数帯域データに対しても垂直差分処理を行なうことは可能である。
上記垂直差分処理では、水平方向の相関が少ない低周波数帯域のデータに対し、相関の強い垂直方向でデータを削減することができる。垂直差分処理を併用することにより、1次のウェーブレット変換処理を採用しても、データの圧縮率を高めることができる。垂直差分処理では前後2表示ライン分の画像データを保持することができるメモリエリアが有れば充分なので、2次のウェーブレット変換処理に比べても必要なメモリの記憶容量は格段に少なくて済む。
第9図乃至第14図には可変長符号化処理の具体例が示される。前記可変長符号化処理は、ハフマン符号化に加えブロック分割符号化を行ない、ゼロが連続する高周波数帯域のデータをより短い符号で表現するようにした処理とされる。具体的には、前記可変長符号化処理は、高周波数帯域データ(1次高周波データ及び2次高周波データ)と、それ以外の低周波数帯域データとで相違され、第9図に例示されるように、前記垂直差分処理の結果に対し、高周波数帯域データ(1次高周波データ又は2次高周波データ)かが判定され(S11)、低周波数帯域データには画素(ピクセル)単位の符号化を行ない(S12)、高周波数帯域データにはゼロの画素データが連続するときはゼロが連続する所定範囲で特定コードを付与し前記所定範囲外では画素単位の符号化を行なうブロック符号化処理を行なう(313)。
ステップ313の第1ブロック符号化処理では、1次高周波データ及び2次高周波データは20画素毎に分割され、第10図に例示されるように、その20画素が全部ゼロであれば値0を1ビット出力する(S14)。20画素が全部ゼロで無ければ値1を1ビット出力して(S15)、10画素単位の第2ブロック符号化処理を2回行なう(S16,S17)。
第2ブロック符号化処理(S16、S17)では、20画素毎に分割された1次高周波データ及び2次高周波データが10画素単位に分割され、第11図に示されるように、10画素が全部ゼロであれば値0を1ビット出力する(S18)。10画素が全部ゼロで無ければ値1を1ビット出力して(S19)、5画素単位の第3ブロック符号化処理を2回行なう(320,S21)。
第3ブロック符号化処理(S20、S21)では、10画素毎に分割された1次高周波データ及び2次高周波データが5画素単位に分割され、第12図に示されるように、5画素が全部ゼロであれば値0を1ビット出力する(822)。5画素が全部ゼロで無ければ値1を1ビット出力して(823)、1画素単位の符号化処理が行なわれる(S24)。
前記量子化処理では高周波数データほど大きい数で量子化されるから、高周波数データの量子化結果ほどゼロが連続する確立が高い。要するに、値が小さいものほど出現確立が高い。前記可変長符号化処理はこれを前提として、ゼロのビット列のビット数を縮小する。
前記ステップS12、S24の1画素単位の符号化処理(ピクセルの符号化処理)の手順は第13図に例示される。第14図には1画素が採り得る値に応じたカテゴリ(値を示すために必要なビット数)、コード(値の範囲を示すビット列)等が示される。第14図の“コード+値のカテゴリ長”が画素単位の符号化における可変長符号となる。先ず、画素の符号化ではその画素の値に応じたコードが出力される(S25)。次に、その画素の値が負数である判別される(S26)。負数であれば値から1をマイナスして(S27)、そのマイナス値の下位所定ビット長(カテゴリで指示されるビット長)を出力し(S28)、負数でなければ画素の値そのままの下位所定ビット長(カテゴリで指示されるビット長)を出力する(328)。例えば画素の値が−5の場合、ステップS25でコード11100を出力し、ステップS28では−6(=−5−1)の値“1010”の下位3ビット“010”をその画素の値として出力する。この例からも明らかなように、画素の値が負数の場合にステップS27で値から1をマイナスするのは、カテゴリで指示されるビット長を出力したとき負数と正数を区別するためである。要するに、負数であれば正数の反転データとなり、これによって正負が区別可能になる。
《伸張処理方法》
上記デコーダ11による伸張処理方法の詳細を説明する。
第15図乃至第19図には可変長復号処理の具体例が示される。この可変長復号処理は、低周波数帯域データには画素単位の復号を行ない、高周波数帯域データにはその符号の値に応じてゼロ拡張と画素単位の復号を行なう処理である。例えば第15図に例示されるように、前記可変長復号処理は、入力ストリームに対し、高周波数帯域データ(1次高周波データ又は2次高周波データ)かが判定され(S31)、低周波数帯域データには画素(ピクセル)単位の復号を行ない(S32)、高周波数帯域データには第1ブロック復号処理を行なう(S33)。
ステップ333の第1ブロック復号処理では、第16図に例示されるように、1ビット取得しこれが論理値“0”であれば20画素分ゼロを出力してゼロ拡張を行ない(S34)、論理値“0”でなければ別の第2ブロック復号処理を2回行なう(S35,S36)。
第2ブロック復号処理(S35、S36)では、第17図に例示されるように、更に1ビット取得しこれが論理値“0”であれば10画素分ゼロを出力してゼロ拡張を行ない(S37)、論理値“0”でなければ更に別の第3ブロック復号処理を2回行なう(338,S39)。
第3ブロック復号処理(S38、S39)では、第18図に例示されるように、更に1ビット取得しこれが論理値“0”であれば5画素分ゼロを出力してゼロ拡張を行ない(S40)、論理値“0”でなければ1画素単位の復号を行なう(S41)。
前記ステップS32、S41の1画素単位の復号処理(ピクセル復号処理)の手順は第19図に例示される。先ず、画素の復号ではその画素のデータのコードと、コードに対応するカテゴリを取得する(S43)。取得したカテゴリによって画素の値を示すデータの有効ビット長が認識される。この有効ビット長分だけ画素データから値を取得し(S44)、そのトップビットが“0”であるか否か、即ち負数であるか否かを判定する(S45)。負数であれば、その値に1をプラスして符号拡張を行なって正規の数に戻し(S46)、符号拡張された有効ビット長とコードに従って画素の値を出力する(S47)。正数のときは符号拡張を行なわず、前記有効ビット長とコードに従って画素の値を出力する(S47)。例えば画素の値が−5の符号化データが入力された場合、ステップS43でコード11100を取得し、これに対応するカテゴリから有効ビット長が3ビットであることを取得し、ステップS44で有効ビット長に応ずる3ビット“010”を取得し、ステップS46でこれに1加算して“011”を得る。そして、値として−5、即ち“11111011”を出力する。
前記垂直予測処理は前記表示ライン毎に所定方向隣りの表示ラインとの間で前記垂直差分処理で得られた差分を加算する処理であり、前記垂直差分処理の逆の処理を行なう。例えば最上位ラインは0との加算を行ない、順次隣りの上側表示ラインの差分との加算を行なう。
前記逆量子化処理は、前記垂直予測処理の結果に対し、周波数成分毎に決められた量子化係数で乗算又はシフト演算を行なう処理であり、前記量子化処理の逆の処理を行なう。量子化係数が任意係数の場合にはその逆数を乗算し、2のべき乗数であればシフト演算で代用することができる。
第20図及び第21図には逆ウェーブレット変換処理の具体例が示される。前記逆ウェーブレット変換処理は、前記逆量子化処理で得られた高周波数画像データと低周波数画像データに対する補間と周波数合成を行なって表示ライン毎の画像データを生成する処理である。
逆ウェーブレット変換処理を行なうフィルタ30は、第20図に例示される1次フィルタ31、2次フィルタ32、3次フィルタ33の3段構成とされる。各フィルタはローパスフィルタ(F0(z))、ハイパスフィルタ(F1(z))、及びアップサンプラー(↑2)によって構成される。入力データはウェーブレット変換処理と同様に周期拡張が行なわれ、低周波帯域及び高周波帯域の夫々のデータ入力に対してアップサンプラー(↑2)で1ビット毎に補間を行なって、ローパスフィルタ(F0(z))、ハイパスフィルタ(F1(z))を通し、その出力に対して周波数合成を行なう。1次フィルタ31には3次低周波のデータと3次高周波のデータが入力される。2次フィルタ32には1次フィルタ31の出力データ2次高周波のデータが入力される。3次フィルタ33には2次フィルタ32の出力データと1次高周波のデータが入力される。
各段のフィルタの具体的構成を例示する第21図のように、各段のフィルタは、遅延バッファ(Z−1)、(1+(Z−1))/2の演算を行なう演算器(P(z))、(1+(Z−1))/4の演算を行なう演算器(U(z))、アップサンプラー(↑2)によって構成される。演算器は加算器とシフタによって実現することができ、乗算器を用いなくても済む。
第22図には前記ラインアンパック処理の具体例が示される。前記ラインアンパック処理は、前記逆ウェーブレット変換処理で生成された画像データに対し、1ラインの画像データを千鳥状で2ラインに分散配置する処理である。例えばN×Mの画素配列の入力画像に対して前記千鳥間引き処理により(N/2)×(M/2)の画素配列に、これに対するラインパック処理でN×(M/4)の画素配列にされているとき、ラインアンパック処理により、千鳥間引きされた配列と同じ(N/2)×(M/2)の画素配列に変換される。
第23図には前記千鳥補完処理の具体例が示される。前記千鳥補完処理は、前記ラインアンパック処理された画像データに対し、斜めに隣合う画素のデータ同士を加算平均し、加算平均が不可能な端の画素位置に応ずるデータにはその画素位置の隣りの加算平均された画素位置のデータを用いて、必要な画素データを補完する処理である。第23図に従えば、生成ピクセルB1は存在ピクセルA1とA3の加算平均で得られ、生成ピクセルB2は存在ピクセルA2とA3の加算平均で得られる。加算平均が不可能な端の画素位置は第23図に従えばピクセルC1〜C3〜C5に至る端縁部分の配置とされる。生成ピクセルC1は存在ピクセルB5のコピー、生成ピクセルC2、C3,C4は存在ピクセルB5のコピー、生成ピクセルC5は存在ピクセルB7のコピーとされる。
画像圧縮ではライン方向にはウェーブレット変換処理によるフィルタ演算が行なわれているが、垂直方向に対しては垂直差分が採られフィルタ演算は行なわれていない。フィルタ演算の結果は垂直差分の結果に比べてノイジーであるが、その相違は、千鳥補完処理において斜めに隣合う画素のデータ同士を加算平均することによって相互に打ち消され、表示の劣化を抑制することができる。
以上説明した画像データの圧縮・伸張方法によれば以下の作用効果を得ることができる。
千鳥間引きは千鳥格子上に画像を間引くことにより、縦横の比率を保持したまま画素数を半分にすることができる。
ウェーブレット変換ではウェーブレットフィルタバンクにより、周波数分割を行いエネルギ効率を偏らせることができる。ウェーブレット変換を整数型リフティング構成、量子化数を2のべき乗に制限した場合、乗算器が不要になる。 ウェーブレット変換を使用しているため高圧縮時の画像がDCT変換のものにくらべ視覚的に良好である。
量子化は視覚特性上認識しにくい高周波数帯域を大きなステップで量子化することにより、高周波数帯域のデータを削減するこができる。
垂直予測は水平方向の相関が少ない低周波数帯域のデータに対し、相関の強い垂直方向に予測を行いデータを削減することができる。
可変長符号化はハフマン符号化に加えブロック分割符号化を行い、ゼロが連続する高周波数帯域のデータのより短い符号で表現することができる。2次元ゼロランレングスではなくブロック分割符号化を行うため、小さな可変長符号表を用いればよい。
上記圧縮・伸張処理はライン単位で行われるため、2〜3ライン分のメモリ領域があればよい。処理に必要なメモリ領域が少ないため、小規模システムに実装可能である。
DCT変換のような矩形ブロック分割を行わないためブロックノイズが発生しない。
高周波成分の量子化により、水平方向のノイズ成分を除去することができる。
演算器の数及び必要なメモリ容量が少ないため、小規模システムに実装できる。
高圧縮時の画像が視覚的に良好なため低ビットレートでのデータ伝送が可能になる。
フレーム間圧縮を行わないため、データの加工が容易である。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
例えば、画像データの圧縮には千鳥間引、ラインパック、及び可変長符号化の処理を省いてもよい。可変長符号化におけるブロック符号化でブロック分割する画素数は適宜変更可能であり、また、階層的ブロック分割の階層数も適宜変更可能である。<Data processing device>
FIG. 1 illustrates an encoder for compressing image data as a data processing apparatus according to the present invention. The
FIG. 2 illustrates a decoder for expanding compressed image data as a data processing apparatus according to the present invention. The
The
<Compression processing method>
Details of the compression processing method by the
FIG. 3 shows a specific example of the zigzag thinning process. In the zigzag thinning process, the image data of the display line is thinned out for each pixel, the thinning position on the display line is made different from that of the adjacent display line, and the thinning position of one display line of the adjacent display lines is set. This is processing for setting the thinning position of the other display line to the odd-numbered pixel position when the even-numbered pixel position is set. If it demonstrates in accordance with FIG. 3, the zigzag thinning process samples the input image data of N × M pixels every other pixel, and the image of (N / 2) × (M / 2) pixels. It is a process to convert to data. The pixel to be sampled is the 2nth pixel (n is 0 and a positive integer) in the even line, and the 2n + 1 pixel in the odd line. In FIG. 3, pixels to be sampled are hatched.
The staggered thinning process can compress the number of pixels by half while maintaining the aspect ratio, assuming that adjacent pixels tend to approximate.
FIG. 4 shows a specific example of the line pack processing. The line pack process is a process of alternately extracting pixel data from the thinned data of one display line and the other display line of the adjacent display lines and arranging them in one line. Data arranged in one line by processing is regarded as image data of one display line. Since the wavelet transform process is a line process for each display line, higher processing efficiency can be realized when the number of lines is longer and the number of lines is smaller.
5 to 7 show specific examples of the wavelet transform process. The wavelet transform process is a process of converting image data into high-frequency image data and low-frequency image data for each display line of the display screen.
First, the input data takes a value of 0 to 255 per pixel, for example. The data is level-shifted to a value in the range of −128 to 127 so that the data is expressed by positive and negative values centering on 0. The number of effective bits of pixel data can be reduced. Further, as illustrated in FIG. 5 from the viewpoint of continuity of processing, in order to extend the periodicity of the pixels at the end of the display line, the data P0 of the left end pixel includes the second and The data P1 and P2 of the third pixel are folded and expanded, and the data Pn-1 of the second pixel from the right end is folded and expanded to the data Pn of the rightmost pixel.
The
As shown in FIG. 7 exemplifying a specific configuration of the filter at each stage, the filter at each stage is an arithmetic unit (P) that performs an operation of delay buffers (Z −1 ) and (1+ (Z −1 )) / 2. (Z)), an arithmetic unit (U (z)) that performs an operation of (1+ (Z −1 )) / 4, and a down sampler (↓ 2). The arithmetic unit can be realized by an adder and a shifter, and it is not necessary to use a multiplier.
The wavelet transform process is a primary transform process performed in the display line direction, and is required to hold image data as compared with a secondary wavelet transform process performed in both the display line direction and the vertical direction. The storage capacity of the memory can be reduced to a maximum of one display line.
FIG. 8 shows a specific example of the quantization process. The quantization process is a process of quantizing the result of the wavelet transform process with a larger quantization coefficient for higher frequency data. The quantization coefficient is determined for each frequency component. If the quantization coefficient is a power of 2, the quantization may be performed by a shift operation. In the case of an arbitrary coefficient, the reciprocal multiplication may be performed. According to the flowchart of FIG. 8, first, whether the input value is positive or negative is determined (S1). If it is a positive number, a shift operation (or reciprocal multiplication) using a quantization coefficient is performed (S3). Is inverted (S2), and a shift operation (or reciprocal multiplication) is performed on the inverted value using a quantization coefficient (S3). If the input value is a positive number (S4), the operation result in step S3 is the result of the quantization process, and if the input value is a negative number (S4), the operation result in step S3 is inverted (S5). This is the result of the quantization process.
The higher the frequency of the wavelet transform processed high-frequency image data, the more difficult it is for the human eye to see. Therefore, the higher the frequency of the high-frequency data in the quantization processing, the larger the number of effective bits of the image data. The number can be reduced.
The vertical difference process is a process of taking a difference between quantized data and a display line adjacent in a predetermined direction for each display line. According to the example of FIG. 6, with respect to the quantized data relating to the third-order high-frequency filter output and the third-order low-frequency filter output, which are low-frequency band data, the difference from the adjacent upper display line is obtained. The low frequency data component of the uppermost display line takes a difference from zero. The low frequency data component of the next display line is subtracted from the low frequency data component of the uppermost display line, and the difference processing is similarly performed up to the low frequency data component of the lowermost display line. Since the vertical correlation is weak for the high frequency band data, the vertical difference process is not performed here, but the vertical difference process can be performed for the high frequency band data.
In the vertical difference processing, data can be reduced in the vertical direction with strong correlation with respect to data in a low frequency band with little horizontal correlation. By using the vertical difference processing together, the data compression rate can be increased even when the primary wavelet transform processing is employed. In the vertical difference processing, it is sufficient that there is a memory area that can hold image data for two display lines before and after, and the memory capacity required for the memory is much smaller than that of the secondary wavelet transform processing.
9 to 14 show specific examples of variable length coding processing. The variable length coding process is a process in which block division coding is performed in addition to Huffman coding to express data in a high frequency band in which zeros are continuous with a shorter code. Specifically, the variable length encoding process is different between high frequency band data (primary high frequency data and secondary high frequency data) and other low frequency band data, as illustrated in FIG. In addition, it is determined whether the high frequency band data (primary high frequency data or secondary high frequency data) is obtained from the result of the vertical difference processing (S11), and the low frequency band data is encoded on a pixel (pixel) basis. (S12) When zero pixel data continues to the high frequency band data, a specific code is assigned within a predetermined range where zeros continue, and block encoding processing is performed in which encoding is performed in units of pixels outside the predetermined range ( 313).
In the first block encoding process of step 313, the primary high-frequency data and the secondary high-frequency data are divided every 20 pixels. As illustrated in FIG. One bit is output (S14). If all 20 pixels are not zero, the
In the second block encoding process (S16, S17), the primary high-frequency data and the secondary high-frequency data divided every 20 pixels are divided into units of 10 pixels, and as shown in FIG. If zero, the
In the third block encoding process (S20, S21), the primary high-frequency data and the secondary high-frequency data divided every 10 pixels are divided into units of 5 pixels, and as shown in FIG. If zero, the
In the quantization process, the higher frequency data is quantized with a larger number, and therefore, the higher the frequency of the high frequency data, the higher the probability that the zero will continue. In short, the smaller the value, the higher the probability of appearance. The variable length encoding process presupposes this and reduces the number of bits of a zero bit string.
FIG. 13 illustrates the procedure of the one-pixel unit encoding process (pixel encoding process) in steps S12 and S24. FIG. 14 shows a category (the number of bits necessary to indicate a value), a code (a bit string indicating a range of values), etc. according to a value that can be taken by one pixel. The “code + value category length” in FIG. 14 is a variable length code in pixel-by-pixel encoding. First, in the pixel encoding, a code corresponding to the value of the pixel is output (S25). Next, it is determined that the value of the pixel is a negative number (S26). If it is a negative number, 1 is subtracted from the value (S27), and the lower predetermined bit length (bit length specified by the category) of the negative value is output (S28). The bit length (bit length specified by the category) is output (328). For example, if the pixel value is -5, the
<Extension processing method>
Details of the decompression processing method by the
15 to 19 show specific examples of variable length decoding processing. This variable length decoding process is a process of performing pixel-by-pixel decoding on low frequency band data and performing zero extension and pixel-by-pixel decoding on high frequency band data according to the value of the code. For example, as illustrated in FIG. 15, in the variable length decoding process, it is determined whether the input stream is high frequency band data (primary high frequency data or secondary high frequency data) (S31). Is decoded in units of pixels (S32), and the first block decoding process is performed on the high frequency band data (S33).
In the first block decoding process of step 333, as illustrated in FIG. 16, if 1 bit is acquired and this is a logical value “0”, zero is output for 20 pixels and zero extension is performed (S34). If the value is not "0", another second block decoding process is performed twice (S35, S36).
In the second block decoding process (S35, S36), as illustrated in FIG. 17, one more bit is acquired, and if this is a logical value “0”, zero is output for 10 pixels and zero extension is performed (S37). If the logical value is not "0", another third block decoding process is performed twice (338, S39).
In the third block decoding process (S38, S39), as illustrated in FIG. 18, one more bit is acquired, and if this is a logical value “0”, zero is output for five pixels and zero extension is performed (S40). If the logical value is not “0”, decoding is performed in units of one pixel (S41).
The procedure of the decoding process (pixel decoding process) in units of one pixel in steps S32 and S41 is illustrated in FIG. First, in decoding of a pixel, a data code of the pixel and a category corresponding to the code are acquired (S43). The effective bit length of the data indicating the pixel value is recognized according to the acquired category. A value is acquired from the pixel data by this effective bit length (S44), and it is determined whether or not the top bit is "0", that is, whether it is a negative number (S45). If it is a negative number, 1 is added to the value and sign-extended to return to a normal number (S46), and the pixel value is output according to the sign-extended effective bit length and code (S47). If it is a positive number, no sign extension is performed, and the pixel value is output according to the effective bit length and code (S47). For example, when encoded data having a pixel value of −5 is input, the
The vertical prediction process is a process of adding a difference obtained by the vertical difference process between display lines adjacent to each other in a predetermined direction for each display line, and performs a process reverse to the vertical difference process. For example, the uppermost line is added with 0 and sequentially added with the difference between the adjacent upper display lines.
The inverse quantization process is a process in which the result of the vertical prediction process is multiplied or shifted by a quantization coefficient determined for each frequency component, and the inverse process of the quantization process is performed. If the quantized coefficient is an arbitrary coefficient, it can be multiplied by the reciprocal, and if it is a power of 2, it can be substituted by a shift operation.
20 and 21 show specific examples of the inverse wavelet transform process. The inverse wavelet transform process is a process of generating image data for each display line by performing interpolation and frequency synthesis on the high frequency image data and the low frequency image data obtained by the inverse quantization process.
The
As shown in FIG. 21 exemplifying a specific configuration of each stage filter, each stage filter is an arithmetic unit (P) that performs an operation of delay buffers (Z −1 ) and (1+ (Z −1 )) / 2. (Z)), (1+ (Z −1 )) / 4, an arithmetic unit (U (z)) and an upsampler (↑ 2). The arithmetic unit can be realized by an adder and a shifter, and it is not necessary to use a multiplier.
FIG. 22 shows a specific example of the line unpacking process. The line unpacking process is a process in which one line of image data is dispersedly arranged in two lines in a zigzag manner with respect to the image data generated by the inverse wavelet transform process. For example, an input image having an N × M pixel array is converted into a (N / 2) × (M / 2) pixel array by the zigzag thinning process, and an N × (M / 4) pixel array is processed by a line pack process. In this case, the pixel array is converted into the same (N / 2) × (M / 2) pixel array as the staggered array by line unpack processing.
FIG. 23 shows a specific example of the staggered complement processing. The zigzag complementing process adds and averages the data of pixels adjacent to each other obliquely with respect to the image data subjected to the line unpacking process, and the data corresponding to the pixel position at the end where addition averaging cannot be performed is adjacent to the pixel position. This is a process of complementing necessary pixel data by using the data of the pixel positions subjected to the addition averaging. According to FIG. 23, the generation pixel B1 is obtained by the averaging of the existing pixels A1 and A3, and the generation pixel B2 is obtained by the average of the existing pixels A2 and A3. According to FIG. 23, the pixel positions at the ends where the averaging cannot be performed are arranged at the edge portions extending to the pixels C1 to C3 to C5. The generated pixel C1 is a copy of the existing pixel B5, the generated pixels C2, C3, and C4 are copies of the existing pixel B5, and the generated pixel C5 is a copy of the existing pixel B7.
In image compression, a filter operation by wavelet transform processing is performed in the line direction, but a vertical difference is taken in the vertical direction and no filter operation is performed. The result of the filter operation is noisy compared to the result of the vertical difference, but the difference is canceled by averaging the data of pixels adjacent to each other diagonally in the staggered interpolation process, thereby suppressing display deterioration. be able to.
According to the image data compression / decompression method described above, the following operational effects can be obtained.
In the staggered thinning, the number of pixels can be halved while maintaining the aspect ratio by thinning the image on the staggered lattice.
In the wavelet transform, energy efficiency can be biased by performing frequency division using a wavelet filter bank. When the wavelet transform is an integer type lifting configuration and the quantization number is limited to a power of 2, a multiplier is not necessary. Since the wavelet transform is used, the image at the time of high compression is visually better than that of the DCT transform.
Quantization can reduce data in the high frequency band by quantizing the high frequency band, which is difficult to recognize in terms of visual characteristics, in a large step.
With vertical prediction, data in a low frequency band with little horizontal correlation can be predicted by reducing the data in the vertical direction with strong correlation.
In variable length coding, block division coding is performed in addition to Huffman coding, and can be expressed by a shorter code of data in a high frequency band in which zeros are continuous. In order to perform block division coding instead of two-dimensional zero run length, a small variable length code table may be used.
Since the compression / decompression process is performed in units of lines, a memory area for two to three lines is sufficient. Since the memory area required for processing is small, it can be implemented in a small-scale system.
Block noise does not occur because rectangular block division such as DCT conversion is not performed.
By quantizing the high frequency component, the noise component in the horizontal direction can be removed.
Since the number of arithmetic units and the required memory capacity are small, it can be implemented in a small-scale system.
Since the image at the time of high compression is visually good, data transmission at a low bit rate is possible.
Data processing is easy because inter-frame compression is not performed.
Although the invention made by the present inventor has been specifically described based on the embodiments, the present invention is not limited thereto, and various modifications can be made without departing from the scope of the invention.
For example, zigzag thinning, line packs, and variable length coding processing may be omitted for compression of image data. The number of pixels to be divided into blocks in block coding in variable length coding can be changed as appropriate, and the number of hierarchies in hierarchical block division can be changed as appropriate.
本発明は、動画の圧縮・伸張を行う監視カメラや情報端末、静止画圧縮・伸張を行うデジタルカメラ等の電子機器、その他動画・静止画圧縮を行う電子機器全般に広く適用可能である。 The present invention is widely applicable to electronic devices such as surveillance cameras and information terminals for compressing / decompressing moving images, digital cameras for compressing / decompressing still images, and other electronic devices for compressing moving images / still images.
Claims (12)
前記ウェーブレット変換処理は、表示画面の表示ライン毎に画像データを高周波数画像データと低周波数画像データに変換する処理であり、
前記量子化処理は、ウェーブレット変換処理の結果に対し、高周波数データほど大きい数で量子化する処理であり、
前記垂直差分処理は、量子化されたデータに対し前記表示ライン毎に所定方向隣りの表示ラインとの間で差分を採る処理である、データ処理方法。Image data compression processing includes wavelet transform processing, quantization processing, and vertical difference processing,
The wavelet transform process is a process of converting image data into high-frequency image data and low-frequency image data for each display line of the display screen,
The quantization process is a process of quantizing a larger number of higher frequency data with respect to the result of the wavelet transform process,
The said vertical difference process is a data processing method which is a process which takes a difference between the display lines adjacent to the predetermined direction for every said display line with respect to the quantized data.
前記可変長符号化処理は、前記垂差分処理の結果に対し、低周波数帯域のデータには画素単位の符号化を行ない、高周波数帯域のデータにはゼロの画素データが連続するときはゼロが連続する所定範囲で特定コードを付与し前記所定範囲外では画素単位の符号化を行なう処理である、データ処理方法。The variable length encoding process according to claim 1, further comprising a variable length encoding process after the vertical difference process,
In the variable length encoding process, low-frequency band data is encoded on a pixel-by-pixel basis with respect to the result of the vertical difference process, and zero is applied to high-frequency band data when zero pixel data continues. A data processing method, which is a process in which a specific code is assigned in a continuous predetermined range and encoding is performed in units of pixels outside the predetermined range.
前記千鳥間引き処理は、前記表示ラインの画像データを1画素毎に間引き、表示ライン上の間引き位置を隣の表示ラインとの間で相違させ、隣り合う表示ラインの一方の表示ラインの間引き位置を偶数番目の画素位置とするとき他方の表示ラインの間引き位置を奇数番目の画素位置とする処理であり、
前記ラインパック処理は、前記隣り合う表示ラインの一方の表示ラインと他方の表示ラインの間引き処理されたデータから交互に画素データを取り出して1ラインに並べる処理であり、ラインパック処理で1ラインに並べられたデータを一つの表示ラインの画像データとみなして後の処理を行なう、データ処理方法。The claim 2 includes a zigzag thinning process and a line pack process before the wavelet transform process,
In the zigzag thinning process, the image data of the display line is thinned out for each pixel, the thinning position on the display line is different from that of the adjacent display line, and the thinning position of one display line of the adjacent display lines is determined. When the even-numbered pixel position, the thinning position of the other display line is the odd-numbered pixel position,
The line pack process is a process in which pixel data is alternately extracted from data obtained by thinning out one display line and the other display line of the adjacent display lines and arranged in one line. A data processing method in which the arranged data is regarded as image data of one display line and subsequent processing is performed.
前記ウェーブレット変換処理は、表示画面の表示ライン毎に画像データを高周波数画像データと低周波数画像データに変換する処理であり、
前記量子化処理は、ウェーブレット変換処理の結果に対し、高周波数データほど大きい数で量子化する処理であり、
前記垂直差分処理は、量子化されたデータに対し前記表示ライン毎に所定方向隣りの表示ラインとの間で差分を採る処理であり、
前記垂直予測処理は前記表示ライン毎に所定方向隣りの表示ラインとの間で前記差分を加算する処理であり、
前記逆量子化処理は、前記垂直予測処理の結果に対し、周波数成分毎に決められた量子化係数で乗算又はシフト演算を行なう処理であり、
前記逆ウェーブレット変換処理は、前記逆量子化処理で得られた高周波数画像データと低周波数画像データに対する補間と周波数合成を行なって表示ライン毎の画像データを生成する処理である、データ処理方法。Image data compression processing including image data compression processing including wavelet transform processing, quantization processing, and vertical difference processing includes vertical prediction processing, inverse quantization processing, and inverse wavelet transform processing.
The wavelet transform process is a process of converting image data into high-frequency image data and low-frequency image data for each display line of the display screen,
The quantization process is a process of quantizing a larger number of higher frequency data with respect to the result of the wavelet transform process,
The vertical difference process is a process of taking a difference between the quantized data and a display line adjacent in a predetermined direction for each display line,
The vertical prediction process is a process of adding the difference between display lines adjacent to each other in a predetermined direction for each display line,
The inverse quantization process is a process of performing a multiplication or shift operation on the result of the vertical prediction process by a quantization coefficient determined for each frequency component,
The inverse wavelet transform process is a data processing method in which image data for each display line is generated by performing interpolation and frequency synthesis on the high-frequency image data and the low-frequency image data obtained by the inverse quantization process.
前記可変長符号化処理は、前記垂直差分処理の結果に対し、低周波数帯域のデータには画素単位の符号化を行ない、高周波数帯域のデータにはゼロの画素データが連続するときはゼロが連続する所定範囲に特定コードを付与し前記所定範囲外では画素単位の符号化を行なう処理であり、
前記可変長復号処理は、低周波数帯域のデータには画素単位の復号を行ない、高周波数帯域のデータにはその符号の値に応じてゼロ拡張と画素単位の復号を行なう処理である、データ処理方法。In claim 4, the compression processing of the image data further includes a variable length encoding processing after the vertical difference processing, and the expansion processing of the image data further includes a variable length decoding processing,
In the variable length encoding process, low-frequency band data is encoded on a pixel-by-pixel basis for the result of the vertical difference process, and high-frequency band data is zero when zero pixel data continues. A process of assigning a specific code to a continuous predetermined range and performing encoding in units of pixels outside the predetermined range,
The variable length decoding process is a process of performing pixel-by-pixel decoding on low frequency band data and performing zero extension and pixel-by-pixel decoding on high frequency band data according to the value of the code. Method.
前記千鳥間引き処理は、前記表示ラインの画像データを1画素毎に間引き、表示ライン上の間引き位置を隣の表示ラインとの間で相違させ、隣り合う表示ラインの一方の表示ラインの間引き位置を偶数番目の画素位置とするとき他方の表示ラインの間引き位置を奇数番目の画素位置とする処理であり、
前記ラインパック処理は、前記隣り合う表示ラインの一方の表示ラインと他方の表示ラインの間引き処理されたデータから交互に画素データを取り出して1ラインに並べる処理であり、ラインパック処理で1ライン並べられたデータを一つの表示ラインの画像データとみなして後の圧縮処理を行なうものとされ、
前記ラインアンパック処理は、前記逆ウェーブレット変換処理で生成された画像データに対し、1ラインの画像データを千鳥状で2ラインに分散配置する処理であり、
前記千鳥補完処理は、前記ラインアンパック処理された画像データに対し、斜めに隣合う画素のデータ同士を加算平均し、加算平均が不可能な端の画素位置に応ずるデータにはその画素位置の隣りの加算平均された画素位置のデータを用いて、必要な画素データを補完する、データ処理方法。6. The compression processing according to claim 5, wherein the compression processing of the image data further includes zigzag thinning processing and line pack processing before the wavelet transform processing, and the decompression processing of the image data includes line unpacking processing and zigzag complement processing. In addition,
In the zigzag thinning process, the image data of the display line is thinned out for each pixel, the thinning position on the display line is made different from that of the adjacent display line, and the thinning position of one display line of the adjacent display lines is set. When the even-numbered pixel position, the thinning position of the other display line is the odd-numbered pixel position,
The line pack process is a process in which pixel data is alternately extracted from data obtained by thinning out one display line and the other display line of the adjacent display lines and arranged in one line. The obtained data is regarded as image data of one display line and the subsequent compression processing is performed.
The line unpacking process is a process of distributing and arranging one line of image data in a staggered manner on two lines with respect to the image data generated by the inverse wavelet transform process,
The zigzag complementing process adds and averages the data of pixels adjacent to each other obliquely with respect to the image data subjected to the line unpacking process, and the data corresponding to the pixel position at the end where addition averaging cannot be performed is adjacent to the pixel position. A data processing method of complementing necessary pixel data using pixel position data obtained by averaging the above.
前記ウェーブレット変換処理は、表示画面の表示ライン毎に画像データを高周波数画像データと低周波数画像データに変換する処理であり、
前記量子化処理は、ウェーブレット変換処理の結果に対し、高周波数データほど大きい数で量子化する処理であり、
前記垂直差分処理は、量子化されたデータに対し前記表示ライン毎に所定方向隣りの表示ラインとの間で差分を採る処理であり、
前記垂直予測処理は前記表示ライン毎に所定方向隣りの表示ラインとの間で前記差分を加算する処理であり、
前記逆量子化処理は、前記垂直予測処理の結果に対し、周波数成分毎に決められた量子化係数で乗算又はシフト演算を行なう処理であり、
前記逆ウェーブレット変換処理は、前記逆量子化処理で得られた高周波数画像データと低周波数画像データに対する補間と周波数合成を行なって表示ライン毎の画像データを生成する処理である、データ処理装置。Image data is input and image data is compressed by wavelet transform processing, quantization processing, and vertical difference processing, and compressed image data is input and image data is input by vertical prediction processing, inverse quantization processing, and inverse wavelet transform processing. A data processing apparatus for decompressing
The wavelet transform process is a process of converting image data into high-frequency image data and low-frequency image data for each display line of the display screen,
The quantization process is a process of quantizing a larger number of higher frequency data with respect to the result of the wavelet transform process,
The vertical difference process is a process of taking a difference between the quantized data and a display line adjacent in a predetermined direction for each display line,
The vertical prediction process is a process of adding the difference between display lines adjacent to each other in a predetermined direction for each display line,
The inverse quantization process is a process of performing a multiplication or shift operation on the result of the vertical prediction process by a quantization coefficient determined for each frequency component,
The data processing apparatus, wherein the inverse wavelet transform process is a process for generating image data for each display line by performing interpolation and frequency synthesis on the high frequency image data and the low frequency image data obtained by the inverse quantization process.
前記可変長符号化処理は、前記垂直差分処理の結果に対し、低周波数帯域のデータには画素単位の符号化を行ない、高周波数帯域のデータにはゼロの画素データが連続するときはゼロが連続する所定範囲で特定コードを付与し前記所定範囲外では画素単位の符号化を行なう処理であり、
前記可変長復号処理は、低周波数帯域のデータには画素単位の復号を行ない、高周波数帯域のデータにはその符号の値に応じてゼロ拡張と画素単位の復号を行なう処理である、データ処理装置。The data processing device according to claim 7, wherein the compression of the image data further performs a variable length encoding process after the vertical difference process, and the expansion of the image data further performs a variable length decoding process,
In the variable length encoding process, low-frequency band data is encoded on a pixel-by-pixel basis for the result of the vertical difference process, and high-frequency band data is zero when zero pixel data continues. A process of assigning a specific code in a continuous predetermined range and performing encoding in units of pixels outside the predetermined range,
The variable length decoding process is a process of performing pixel-by-pixel decoding on low frequency band data and performing zero extension and pixel-by-pixel decoding on high frequency band data according to the value of the code. apparatus.
前記千鳥間引き処理は、前記表示ラインの画像データを1画素毎に間引き、表示ライン上の間引き位置を隣の表示ライン間で相違させ、隣り合う表示ラインの一方の表示ラインの間引き位置を偶数番目の画素位置とするとき他方の表示ラインの間引き位置を奇数番目の画素位置とする処理であり、
前記ラインパック処理は、前記隣り合う表示ラインの一方の表示ラインと他方の表示ラインの間引き処理されたデータから交互に画素データを取り出して並べる処理であり、ラインパック処理で1ラインに並べられたデータを表示ラインの画像データとみなして後の圧縮処理を行なうものとされ、
前記ラインアンパック処理は、前記逆ウェーブレット変換処理で生成された画像データに対し、1ラインの画像データを千鳥状に2ラインに分散配置する処理であり、
前記千鳥補完処理は、前記ラインアンパック処理された画像データに対し、斜めに隣合う画素のデータ同士を加算平均し、加算平均が不可能な端の画素位置に応ずるデータにはその画素位置の隣りの加算平均された画素位置のデータを用いて、必要な画素データを補完する、データ処理装置。8. The compression processing of the image data according to claim 8, wherein zigzag decimation processing and line pack processing are further performed before the wavelet transform processing in the compression processing of the image data, and line unpacking processing and zigzag interpolation processing are further performed in the decompression processing of the image data. A data processing device,
The zigzag thinning process thins out the image data of the display line for each pixel, makes the thinning position on the display line different between adjacent display lines, and sets the thinning position of one display line of adjacent display lines to an even number. Is a process of setting the thinning position of the other display line to an odd-numbered pixel position when
The line pack process is a process of alternately extracting and arranging pixel data from the data obtained by thinning out one display line and the other display line of the adjacent display lines. The line pack process is arranged in one line. The data is regarded as image data of the display line and the subsequent compression processing is performed.
The line unpacking process is a process of distributing and arranging one line of image data in two lines in a staggered manner with respect to the image data generated by the inverse wavelet transform process.
The zigzag complementing process adds and averages the data of pixels adjacent to each other obliquely with respect to the image data subjected to the line unpacking process, and the data corresponding to the pixel position at the end where addition averaging cannot be performed is adjacent to the pixel position. A data processing device that supplements necessary pixel data using pixel position data that has been averaged.
前記ウェーブレット変換処理は、表示画面の表示ライン毎に画像データを高周波数画像データと低周波数画像データに変換する処理であり、
前記量子化処理は、ウェーブレット変換処理の結果に対し、高周波数データほど大きい数で量子化する処理であり、
前記垂直差分処理は、量子化されたデータに対し前記表示ライン毎に所定方向隣りの表示ラインとの間で差分を採る処理であり、
前記垂直予測処理は前記表示ライン毎に所定方向隣りの表示ラインとの間で前記差分を加算する処理であり、
前記逆量子化処理は、前記垂直予測処理の結果に対し、周波数成分毎に決められた量子化係数で乗算又はシフト演算を行なう処理であり、
前記逆ウェーブレット変換処理は、前記逆量子化処理で得られた高周波数画像データと低周波数画像データに対する補間と周波数合成を行なって表示ライン毎の画像データを生成する処理である、データ処理装置。A data processing apparatus that inputs image data compressed by wavelet transform processing, quantization processing, and vertical difference processing, and decompresses image data by vertical prediction processing, inverse quantization processing, and inverse wavelet transform processing,
The wavelet transform process is a process of converting image data into high-frequency image data and low-frequency image data for each display line of the display screen,
The quantization process is a process of quantizing a larger number of higher frequency data with respect to the result of the wavelet transform process,
The vertical difference process is a process of taking a difference between the quantized data and a display line adjacent in a predetermined direction for each display line,
The vertical prediction process is a process of adding the difference between display lines adjacent to each other in a predetermined direction for each display line,
The inverse quantization process is a process of performing a multiplication or shift operation on the result of the vertical prediction process by a quantization coefficient determined for each frequency component,
The data processing apparatus, wherein the inverse wavelet transform process is a process for generating image data for each display line by performing interpolation and frequency synthesis on the high frequency image data and the low frequency image data obtained by the inverse quantization process.
前記可変長符号化処理は、前記垂直差分処理の結果に対し、低周波数帯域のデータには画素単位の符号化を行ない、高周波数帯域のデータにはゼロの画素データが連続するときはゼロが連続する所定範囲で特定コードを付与し前記所定範囲外では画素単位の符号化を行なう処理であり、
前記可変長復号処理は、低周波数帯域のデータには画素単位の復号を行ない、高周波数帯域のデータにはその符号の値に応じてゼロ拡張と画素単位の復号を行なう処理である、データ処理装置。The data processing device according to claim 10, wherein the expansion of the image data compressed by performing the variable length encoding process after the vertical difference process further performs a variable length decoding process,
In the variable length encoding process, low-frequency band data is encoded on a pixel-by-pixel basis for the result of the vertical difference process, and high-frequency band data is zero when zero pixel data continues. A process of assigning a specific code in a continuous predetermined range and performing encoding in units of pixels outside the predetermined range,
The variable length decoding process is a process of performing pixel-by-pixel decoding on low frequency band data and performing zero extension and pixel-by-pixel decoding on high frequency band data according to the value of the code. apparatus.
前記千鳥間引き処理は、前記表示ラインの画像データを1画素毎に間引き、表示ライン上の間引き位置を隣の表示ライン間で相違させ、隣り合う表示ラインの一方の表示ラインの間引き位置を偶数番目の画素位置とするとき他方の表示ラインの間引き位置を奇数番目の画素位置とする処理であり、
前記ラインパック処理は、前記隣り合う表示ラインの一方の表示ラインと他方の表示ラインの間引き処理されたデータから交互に画素データを取り出して1ラインに並べる処理であり、ラインパック処理で並べられたデータを表示ラインの画像データとみなして後の圧縮処理を行なうものとされ、
前記ラインアンパック処理は、前記逆ウェーブレット変換処理で生成された画像データに対し、1ラインの画像データを千鳥状に2ラインに分散配置する処理であり、
前記千鳥補完処理は、前記ラインアンパック処理された画像データに対し、斜めに隣合う画素のデータ同士を加算平均し、加算平均が不可能な端の画素位置に応ずるデータにはその画素位置の隣りの加算平均された画素位置のデータを用いて、必要な画素データを補完する、データ処理装置。The data processing apparatus according to claim 11, wherein in the decompression of the compressed image data by further performing a zigzag thinning process and a line pack process before the wavelet transform process, the line unpack process and the zigzag complement process are further performed. And
In the zigzag thinning process, the image data of the display line is thinned out for each pixel, the thinning position on the display line is made different between adjacent display lines, and the thinning position of one display line of the adjacent display lines is even-numbered. Is a process of setting the thinning position of the other display line to an odd-numbered pixel position when
The line pack process is a process in which pixel data is alternately extracted from data obtained by thinning out one display line and the other display line of the adjacent display lines and arranged in one line. The data is regarded as image data of the display line and the subsequent compression processing is performed.
The line unpacking process is a process of distributing and arranging one line of image data in two lines in a staggered manner with respect to the image data generated by the inverse wavelet transform process.
The zigzag complementing process adds and averages the data of diagonally adjacent pixels with respect to the image data subjected to the line unpacking process, and the data corresponding to the pixel position at the end where addition averaging cannot be performed is adjacent to the pixel position. A data processing device that supplements necessary pixel data using pixel position data that has been averaged.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2004/001851 WO2005079076A1 (en) | 2004-02-18 | 2004-02-18 | Data processing method and data processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005079076A1 JPWO2005079076A1 (en) | 2007-08-30 |
JP4425221B2 true JP4425221B2 (en) | 2010-03-03 |
Family
ID=34857560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005517887A Expired - Fee Related JP4425221B2 (en) | 2004-02-18 | 2004-02-18 | Data processing method and data processing apparatus |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4425221B2 (en) |
WO (1) | WO2005079076A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12119844B2 (en) | 2020-04-14 | 2024-10-15 | MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. | Method and device for fast lossless compression |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4669645B2 (en) * | 2001-09-21 | 2011-04-13 | 株式会社リコー | Image encoding apparatus, image encoding method, program, and recording medium |
-
2004
- 2004-02-18 JP JP2005517887A patent/JP4425221B2/en not_active Expired - Fee Related
- 2004-02-18 WO PCT/JP2004/001851 patent/WO2005079076A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2005079076A1 (en) | 2005-08-25 |
JPWO2005079076A1 (en) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101129655B1 (en) | Fast codec with high compression ratio and minimum required resources | |
US6285796B1 (en) | Pseudo-fixed length image compression scheme | |
JP4365957B2 (en) | Image processing method and apparatus and storage medium | |
TWI436286B (en) | Method and apparatus for decoding image | |
JPH1175186A (en) | Scaled forward and backward discrete cosine transform and video compression and expansion system using the conversion | |
JP2001326936A (en) | Image encoding device and method | |
US8605793B2 (en) | Information processing device and method, and program | |
WO2009130886A1 (en) | Moving image coding device, imaging device and moving image coding method | |
CN101321283B (en) | Encoding/decoding method and device compatible with different block transformation | |
US20090268818A1 (en) | Method and system for integrating noise filtering in predictive video coding | |
KR100359821B1 (en) | Method, Apparatus And Decoder For Motion Compensation Adaptive Image Re-compression | |
JP5133317B2 (en) | Video compression method with storage capacity reduction, color rotation, composite signal and boundary filtering and integrated circuit therefor | |
JP2002514867A (en) | Method and apparatus for increasing utilization of memory resources in information stream decoder | |
JP2008501250A (en) | Method for transcoding input video based on a first conversion kernel to output video based on a second conversion kernel, and transcoder for converting input video having an input format to output video having an output format | |
JP4181887B2 (en) | Variable length coding apparatus and method | |
US8144779B2 (en) | Apparatus and method for detecting motion vector, program, and recording medium | |
JP2004040429A (en) | Digital image encoder, digital image encoding method used therefor, and program therefor | |
JP4425221B2 (en) | Data processing method and data processing apparatus | |
KR100777930B1 (en) | Decoding Device and Decoding Method | |
JP2009232454A (en) | Method and apparatus for generating coded block pattern for high-pass coefficient | |
JP2004135254A (en) | Image processing device | |
JPH08163561A (en) | Picture data compression device | |
JP3653799B2 (en) | Image encoding device | |
US20100014764A1 (en) | Image encoding/decoding devices and image band decomposing/composing devices | |
JPH1188183A (en) | Wavelet converter, its method, wavelet inverse converter, its method, image coder, its method, image decoder and its method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091208 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091208 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121218 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131218 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |