[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2008211527A - Image encoding device, image decoding device, and control method of them - Google Patents

Image encoding device, image decoding device, and control method of them Download PDF

Info

Publication number
JP2008211527A
JP2008211527A JP2007046295A JP2007046295A JP2008211527A JP 2008211527 A JP2008211527 A JP 2008211527A JP 2007046295 A JP2007046295 A JP 2007046295A JP 2007046295 A JP2007046295 A JP 2007046295A JP 2008211527 A JP2008211527 A JP 2008211527A
Authority
JP
Japan
Prior art keywords
pixel
colors
encoded
encoding
pixels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007046295A
Other languages
Japanese (ja)
Inventor
Hiroshi Kajiwara
浩 梶原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007046295A priority Critical patent/JP2008211527A/en
Publication of JP2008211527A publication Critical patent/JP2008211527A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To obtain high compression performance even in the case of encoding image data having a biased frequency distribution, such as a CG image and a limited color image, while maintaining encoding performance of a natural image, or the like, as much as possible. <P>SOLUTION: The number of colors determining part 107 determines the number Nc of colors included in four neighborhood pixels located near a pixel under consideration. When the number of colors is four, an encoding selecting/combining part 103 selects and outputs only predictive encoded data of each component of the pixel under consideration obtained by a component value predictive encoding part 111. A neighborhood coincidence determining part 101 compares the pixel under consideration with the next pixel and with the neighborhood pixels and outputs neighborhood coincidence information Vp and noncoincidence information Ep. When the number of colors is three or less, the encoding selecting/combining part 103 selects and outputs only encoded data of the neighborhood coincidence information Vp from a coincidence pixel position encoding part 102 or combines the encoded data of the neighborhood coincidence information Vp with the component value predictive encoding part 111 and outputs the result data. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は画像の符号化及び復号技術、特に画像の可逆符号化とその復号技術に関するものである。   The present invention relates to image encoding and decoding techniques, and more particularly to lossless encoding and decoding techniques for images.

従来、画像の符号化、復号を行う画像処理装置を構成する一手法として予測符号化をベースとするものがある。予測符号化装置は、画像データを予測変換によって予測誤差へと変換する系列変換部を備える。また、予測符号化装置は、系列変換部から出力される予測誤差を、ハフマン符号化等のエントロピー符号化を用いて、より冗長性の少ない符号化データへと変換するエントロピー符号化部をも備える。   2. Description of the Related Art Conventionally, there is one based on predictive coding as one method for configuring an image processing apparatus that performs image coding and decoding. The predictive coding apparatus includes a sequence conversion unit that converts image data into a prediction error by predictive conversion. The predictive encoding apparatus also includes an entropy encoding unit that converts the prediction error output from the sequence conversion unit into encoded data with less redundancy using entropy encoding such as Huffman encoding. .

ISOとITU−Tから国際標準の静止画像符号化方式として勧告されるJPEG(ITU-T T.81 | ISO/IEC10918−1)ではLossless Processとして予測符号化をベースとした可逆符号化方式が規定されている。以下、これをJPEG可逆符号化モードと呼ぶ。JPEG可逆符号化モードでは、近傍画素から着目画素の値を予測する方法として7つの予測式を規定しており、画像に応じて予測方法を選択できるようになっている。   JPEG (ITU-T T.81 | ISO / IEC10918-1), which is recommended by ISO and ITU-T as an international standard still image coding method, defines a lossless process based on predictive coding as a lossless process. Has been. Hereinafter, this is referred to as a JPEG lossless encoding mode. In the JPEG lossless encoding mode, seven prediction formulas are defined as methods for predicting the value of the pixel of interest from neighboring pixels, and the prediction method can be selected according to the image.

図2に従来の画像符号化を行なう画像処理装置のブロック図を示す。同図は上述のJPEG可逆符号化モードに従って画像を可逆圧縮する装置の一例である。同図に於いて201はバッファ、202は成分値予測部、203は減算器、204はハフマンテーブル用メモリ、205は予測誤差符号化部、209は符号列形成部、206,207,208は信号線である。   FIG. 2 is a block diagram of a conventional image processing apparatus that performs image coding. The figure is an example of an apparatus for reversibly compressing an image in accordance with the above-described JPEG lossless encoding mode. In the figure, 201 is a buffer, 202 is a component value prediction unit, 203 is a subtractor, 204 is a Huffman table memory, 205 is a prediction error encoding unit, 209 is a code string forming unit, and 206, 207, and 208 are signals. Is a line.

ハフマンテーブル用メモリ204には予測誤差符号化部205において使用されるハフマンテーブルが格納される。ここでは、図6に示すハフマンテーブルが格納されているものとする。   The Huffman table memory 204 stores a Huffman table used in the prediction error encoding unit 205. Here, it is assumed that the Huffman table shown in FIG. 6 is stored.

同図を用いて従来の画像処理装置により、各成分が8ビットで表現されたRGBカラー画像を符号化する処理の流れを説明する。   A flow of processing for encoding an RGB color image in which each component is expressed by 8 bits by a conventional image processing apparatus will be described with reference to FIG.

まず、信号線208から成分値予測部202において用いる予測式を選択する予測式選択信号mが入力される。この予測式選択信号mは1つの画像の符号化処理中は固定である。また、予測式選択信号mは0乃至7の値のいずれかであり、それぞれに異なる予測式が対応付けられる。使用される予測式と予測式選択信号mの対応は図4の通りである。なお、予測式選択信号mが0の場合には予測式なしとなっているが、これは予測変換を行わず、各成分をそのまま符号化することを意味する。図中の記号Xa,Xb,Xcは、着目画素に隣接する画素を示している。図3は、着目画素Xiに対する隣接画素Xa,Xb,Xc,Xdの相対位置を示している。各画素はラスタースキャン順に符号化されるので、図3における画素Xiを符号化する場合、隣接画素Xa、Xb,Xc,Xdは既に符号済みの画素を意味する。 First, a prediction formula selection signal m for selecting a prediction formula used in the component value prediction unit 202 is input from the signal line 208. This prediction formula selection signal m is fixed during the encoding process of one image. The prediction formula selection signal m is one of values 0 to 7, and a different prediction formula is associated with each. The correspondence between the prediction formula used and the prediction formula selection signal m is as shown in FIG. When the prediction formula selection signal m is 0, there is no prediction formula. This means that the prediction conversion is not performed and each component is encoded as it is. Symbols Xa, Xb, and Xc in the figure indicate pixels adjacent to the target pixel. FIG. 3 shows relative positions of adjacent pixels Xa, Xb, Xc, and Xd with respect to the pixel of interest X i . Since each pixel is encoded in the raster scan order, when encoding pixel X i in FIG. 3, adjacent pixels Xa, Xb, Xc, Xd already means a code already pixels.

さて、信号線206から画像データが順に入力される。画像データの入力順序はラスタースキャン順とする。各画素はR,G,Bの3つのコンポーネントで構成され、この順番に入力されるものとする。R,G,Bをそれぞれ成分番号0,1,2と定義し、画像の左上隅を原点座標(0,0)として水平方向画素位置x、垂直方向画素位置yにある画素の成分番号Cの値をP(x,y,C)と表すこととする。例えば、位置(x、y)=(3,4)である画素が(R,G,B)=(255,128,0)という値を持つ場合、P(3,4,0)=255、P(3,4,1)=128、P(3,4,2)=0と表現する。   Now, image data is sequentially input from the signal line 206. The input order of image data is the raster scan order. Each pixel is composed of three components R, G, and B, and is input in this order. R, G, and B are defined as component numbers 0, 1, and 2, respectively, and the component number C of the pixel at the horizontal pixel position x and the vertical pixel position y with the upper left corner of the image as the origin coordinate (0, 0). The value is represented as P (x, y, C). For example, if the pixel at the position (x, y) = (3,4) has a value of (R, G, B) = (255, 128, 0), P (3,4, 0) = 255, P (3,4,1) = 128 and P (3,4,2) = 0.

バッファ201は信号線206から入力される画像データを2ライン分格納する。   The buffer 201 stores image data input from the signal line 206 for two lines.

成分値予測部202は、着目画素Xiの着目成分値Cの予測値pを求めるとき、バッファ201内の、予測式選択信号mで利用する近傍画素の同一成分を読込む。着目画素Xiの着目成分値CをP(x,y,C)と表わすとき、成分値予測部202は、着目画素の直前画素のP(x−1,y,C)、1ライン前の画素XbのP(x,y−1、C)、および斜め左上の画素XcのP(x−1,y−1,C)が読込み、予測値pを算出する。 When the component value prediction unit 202 obtains the predicted value p of the target component value C of the target pixel X i , the component value prediction unit 202 reads the same component of the neighboring pixel used in the prediction formula selection signal m in the buffer 201. When the target component value C of the target pixel X i is expressed as P (x, y, C), the component value prediction unit 202 is P (x−1, y, C) of the pixel immediately before the target pixel, one line before. P (x, y-1, C) of the pixel Xb and P (x-1, y-1, C) of the pixel Xc diagonally upper left are read to calculate the predicted value p.

なお、着目画素Xiが符号化対象の画像データの先頭のライン上にあるときには、直前の画素Xaのみの成分値を予測値pとして用いる。また、着目画素位置が各ラインの先頭にあるとき、1ライン前の先頭画素Xbの成分値を予測値として用いる。但し、画像の最初の画素(最初のラインの先頭画素)では128を予測値pとする。 When the target pixel X i is on the first line of the image data to be encoded, only the component value of the immediately preceding pixel Xa is used as the predicted value p. Further, when the target pixel position is at the head of each line, the component value of the head pixel Xb one line before is used as the predicted value. However, 128 is the predicted value p for the first pixel of the image (the first pixel of the first line).

減算器203は符号化対象となる画素の成分値と予測値pとの差分値を求め、予測誤差eとして出力する。   The subtractor 203 obtains a difference value between the component value of the pixel to be encoded and the predicted value p, and outputs it as a prediction error e.

予測誤差符号化部205は、まず、減算器203から供給される予測誤差eを複数のグループに分類して、グループ番号SSSSと、グループごとに定められるビット長の付加ビットを生成する。図5に予測誤差eとグループ番号SSSSの関係を示す。付加ビットはグループ内で予測誤差を特定するための情報であり、ビット長はグループ番号SSSSで与えられる。なお、SSSS=16である場合には例外的にビット長は0である(但し、各成分の精度が8ビットである場合にはSSSS=16は発生しない)。予測誤差eが正であるならば予測誤差eの下位SSSSビットが付加ビットとなり、負である場合にはe−1の下位SSSSビットが付加ビットとなる。付加ビットの最上位ビットは予測誤差eが正であれば1、負であれば0でなる。符号化処理は、まず、メモリ204に格納されているハフマンテーブルを参照して、グループ番号SSSSに対応する符号化データを出力する。そして、SSSSが0または16でない場合には、続いてグループ番号により定まるビット長で付加ビットを出力する。   The prediction error encoding unit 205 first classifies the prediction error e supplied from the subtractor 203 into a plurality of groups, and generates a group number SSSS and additional bits having a bit length determined for each group. FIG. 5 shows the relationship between the prediction error e and the group number SSSS. The additional bit is information for specifying a prediction error within the group, and the bit length is given by the group number SSSS. When SSSS = 16, the bit length is exceptionally 0 (however, when the accuracy of each component is 8 bits, SSSS = 16 does not occur). If the prediction error e is positive, the lower SSSS bits of the prediction error e are additional bits, and if it is negative, the lower SSSS bits of e-1 are additional bits. The most significant bit of the additional bits is 1 if the prediction error e is positive, and 0 if the prediction error e is negative. The encoding process first outputs encoded data corresponding to the group number SSSS with reference to the Huffman table stored in the memory 204. If SSSS is not 0 or 16, then additional bits are output with a bit length determined by the group number.

符号列形成部209は信号線208を介して入力される予測式選択信号mや、画像の水平方向/垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、予測誤差符号化部205から出力される符号化データとに基づき、JPEGの規格書に準拠したフォーマットの符号列を形成し、信号線207に出力する。   The code string forming unit 209 includes a prediction formula selection signal m input via the signal line 208, additional information such as the number of pixels in the horizontal / vertical direction of the image, the number of components constituting the pixel, and the accuracy of each component. Based on the encoded data output from the prediction error encoding unit 205, a code string in a format compliant with the JPEG standard is formed and output to the signal line 207.

さて、上述の従来方式による画像処理装置を利用し、CG画像(コンピュータグラフィックス画像)や限定色画像等、各成分の輝度の頻度分布に偏りのある様な画像データを符号化したとする。この場合、上述した系列変換後の予測誤差の発生頻度も、いくつかの特定の予測誤差値に偏ったものとなることがある。   Now, it is assumed that image data with a biased frequency distribution of each component, such as a CG image (computer graphics image) or a limited color image, is encoded using the above-described conventional image processing apparatus. In this case, the occurrence frequency of the prediction error after the above-described series conversion may also be biased toward some specific prediction error values.

このような画像の場合、エントロピー符号化による符号長として短い符号長が割り当てられているにも関わらず、殆ど、もしくは全く発生しない予測誤差が存在することがあり、結果、高い圧縮率とはならないという問題があった。   In the case of such an image, although a short code length is assigned as a code length by entropy coding, there may be a prediction error that hardly or not occurs, and as a result, a high compression rate is not obtained. There was a problem.

このような問題に対して従来から、予測誤差の発生頻度分布が離散的かどうか判別し、判別の結果に応じて予測誤差に対応する符号化データを変更してエントロピー符号化する手法(例えば特許文献1を参照)が提案されている。また、符号化対象画像が離散的な画素値で構成されているかどうか判別し、判別の結果に応じて予測値を修正する手法(例えば特許文献2を参照)なども提案されている。
特開平10−004551号公報 特開平10−004557号公報
Conventionally with respect to such a problem, a method of determining whether or not the frequency distribution of occurrence of a prediction error is discrete, and changing the encoded data corresponding to the prediction error according to the determination result (for example, a patent) Reference 1) has been proposed. In addition, a method of determining whether an encoding target image is composed of discrete pixel values and correcting a predicted value according to the determination result (for example, see Patent Document 2) has been proposed.
JP-A-10-004551 Japanese Patent Laid-Open No. 10-004557

符号化効率を高めるためには、各画素の成分値の発生状況、あるいは予測誤差の発生状況を把握する必要があるが、それでは処理の負荷が増える一方である。また、ハフマン符号のようなブロック符号を用いて各成分を予測符号化した場合、少なくとも1成分当たり1ビットが必要であるため、文字、線画、CG画像などエントロピーの低い画像データでは符号化効率の面でもなお改善の余地があった。   In order to increase the encoding efficiency, it is necessary to grasp the generation status of the component value of each pixel or the generation status of the prediction error. However, this increases the processing load. In addition, when each component is predictively encoded using a block code such as a Huffman code, at least one bit is required for each component. Therefore, encoding efficiency is low for image data with low entropy such as characters, line drawings, and CG images. There was still room for improvement.

本願発明は、上述の問題点に鑑みてなされたものであり、CG画像や、限定色画像などに見られる様な頻度分布に偏りのある画像データに対し、簡単な構成で、しかも高い圧縮率で可逆符号化する技術、並びに、その復号技術を提供しようとするものである。   The present invention has been made in view of the above-mentioned problems, and has a simple configuration and high compression rate for image data having a biased frequency distribution as seen in CG images, limited color images, and the like. It is intended to provide a lossless encoding technique and a decoding technique thereof.

かかる課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを可逆符号化する画像符号化装置であって、
画像データをラスター順に入力する入力手段と、
入力した画像中の符号化対象の着目画素Xiの近傍に位置し、既に符号化された複数の近傍画素に含まれる色数を判定する色数判定手段と、
該色数判定手段で判定された色数が、予め定められた色数Cn以上である場合、着目画素Xiを可逆符号化し、符号化データを生成する第1の可逆符号化手段と、
前記色数判定手段で判定した色数が、前記予め定めた色数Cnより少ない場合、1つの符号化データを生成するための符号化対象の画素数を決定する画素数決定手段と、
該画素数決定手段で決定された符号化対象の画素数をn(n≧1)と定義したとき、n個の画素Xi,Xi+1,…,Xnそれぞれと、前記複数の近傍画素それぞれとを比較し、前記n個の画素それぞれについて、同色の画素が前記複数の近傍画素の中に存在するか否かを示すと共に、同色の画素が存在する場合には当該同色となる近傍画素の位置を示すベクトル情報を生成するベクトル情報生成手段と、
該ベクトル情報生成手段で生成されたベクトル情報を符号化し、符号化ベクトルデータを生成するベクトル情報符号化手段と、
前記複数の近傍画素の中に、同色の画素が存在しないと判定された前記n個の画素中の画素それぞれを可逆符号化する第2の可逆符号化手段と、
前記色数判定手段で判定された色数が前記予め定められた色数Cn以上である場合、前記第1の可逆符号化手段で生成された符号化データを出力し、
前記色数判定手段で判定された色数が前記予め定められた色数Cnより少ない場合、前記ベクトル情報符号化手段で生成された符号化ベクトルデータと前記第2の可逆符号化手段で得られた符号化データを出力する出力手段とを備える。
In order to solve this problem, for example, an image encoding device of the present invention has the following configuration. That is,
An image encoding device for losslessly encoding image data,
Input means for inputting image data in raster order;
Color number determination means for determining the number of colors included in a plurality of neighboring pixels that have been encoded and are located in the vicinity of the target pixel Xi to be encoded in the input image;
A first lossless encoding means for reversibly encoding the pixel of interest Xi and generating encoded data when the number of colors determined by the color number determination means is equal to or greater than a predetermined color number Cn;
A pixel number determination unit that determines the number of pixels to be encoded for generating one encoded data when the number of colors determined by the color number determination unit is less than the predetermined color number Cn;
When the number of pixels to be encoded determined by the pixel number determining means is defined as n (n ≧ 1), each of the n pixels Xi, Xi + 1,. For each of the n pixels, it indicates whether or not a pixel of the same color exists in the plurality of neighboring pixels, and if there is a pixel of the same color, the position of the neighboring pixel that is the same color Vector information generating means for generating vector information indicating
Vector information encoding means for encoding vector information generated by the vector information generation means and generating encoded vector data;
A second lossless encoding means for losslessly encoding each of the pixels in the n pixels determined to have no pixel of the same color among the plurality of neighboring pixels;
When the number of colors determined by the color number determination unit is equal to or greater than the predetermined number of colors Cn, the encoded data generated by the first lossless encoding unit is output,
When the number of colors determined by the color number determination means is less than the predetermined number of colors Cn, the encoded vector data generated by the vector information encoding means and the second lossless encoding means are obtained. Output means for outputting the encoded data.

本発明の構成によれば、自然画像などの符号化性能をできるだけ保持したまま、CG画像や限定色画像等の、頻度分布に偏りのある画像データを符号化する場合にも高い圧縮性能を得ることができる。   According to the configuration of the present invention, high compression performance can be obtained even when encoding image data with a biased frequency distribution, such as a CG image or a limited color image, while maintaining the encoding performance of natural images as much as possible. be able to.

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

[第1の実施形態]
図1は本実施形態に係る画像符号化装置(画像処理装置)のブロック構成図である。
[First Embodiment]
FIG. 1 is a block diagram of an image encoding apparatus (image processing apparatus) according to this embodiment.

本実施形態に係る画像符号化装置は、装置全体の制御を司る制御部100、近傍一致判定部101、一致画素位置符号化部102、符号選択結合部103、符号列形成部104、色数判定部107、ラインバッファ108、成分値予測部202、減算器203、ハフマンテーブル用メモリ204、予測誤差符号化部205とを備える。同図において206、207、105、106は信号線を示す。背景技術の部分で述べた図2の従来の画像符号化装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。   The image encoding apparatus according to the present embodiment includes a control unit 100 that controls the entire apparatus, a proximity match determination unit 101, a match pixel position encoding unit 102, a code selection combining unit 103, a code string forming unit 104, and a color number determination. Unit 107, line buffer 108, component value prediction unit 202, subtractor 203, Huffman table memory 204, and prediction error encoding unit 205. In the figure, reference numerals 206, 207, 105 and 106 denote signal lines. Blocks that operate in the same manner as the processing blocks of the conventional image coding apparatus in FIG.

以下、図1を参照して、本実施形態に係る画像符号化装置の符号化処理について説明する。   Hereinafter, with reference to FIG. 1, the encoding process of the image encoding device according to the present embodiment will be described.

本実施形態に係る画像符号化装置の符号化対象とする画像データは、R、G、Bの3つのコンポーネント(成分)で構成されるカラー画像データとする。また、1画素を構成する各コンポーネントは8ビット(0乃至255の範囲の輝度)とする。そして、符号化対象の画像データは、ラスタースキャン順の画素並びで、各画素の成分を点順次配置したものとする。すなわち、R、G、B、R、G、B、…のデータの並びで構成されるものとする。また、説明を簡単なものとするため、実施形態では、符号化対象の画像データは水平方向W画素、垂直方向H画素により構成されるものとする。   The image data to be encoded by the image encoding apparatus according to the present embodiment is color image data composed of three components R, G, and B. Each component constituting one pixel is 8 bits (brightness in the range of 0 to 255). It is assumed that the image data to be encoded is a pixel arrangement in the raster scan order, and the components of each pixel are arranged dot-sequentially. That is, it is assumed to be composed of an array of R, G, B, R, G, B,. In addition, in order to simplify the explanation, in the embodiment, it is assumed that the image data to be encoded is composed of horizontal W pixels and vertical H pixels.

次に、本実施形態の画像符号化装置での各部の処理内容を説明する。   Next, the processing content of each part in the image coding apparatus of this embodiment is demonstrated.

符号化対象画像データは信号線206から順に入力される。画像データの入力順序は先に説明したように、ラスタースキャン順であり、R,G,B、R、G、B…の順番である。なお、符号化対象の画像データの発生源は、コンピュータ、記憶媒体に格納されている画像ファイル、ネットワークを介しての入力、イメージスキャナで構わず、その種類は問わない。   The encoding target image data is sequentially input from the signal line 206. As described above, the input order of the image data is the raster scan order, and is the order of R, G, B, R, G, B. Note that the generation source of the image data to be encoded may be a computer, an image file stored in a storage medium, an input via a network, or an image scanner, and the type thereof is not limited.

画素の各成分の輝度値であるR,G,Bをそれぞれ成分番号0,1,2と定義し、画像の左上隅を座標(0,0)として水平方向画素位置x、垂直方向画素位置yにある画素の成分番号Cの値をP(x,y,C)と表す。例えば、水平方向画素位置“10”、垂直方向画素位置“25”の画素のR,G,B各成分の値はそれぞれ、P(10,25,0)、P(10,25,1)、P(10,25,2)と表す。また、成分のまとまりとして画素値を表現する場合にはR,G,Bの各成分値を要素とするベクトルXとして表現する。例えば、R、G、B各成分の値がr、g、bである画素Xは、X=(r,g,b)と記述する。   The luminance values R, G, and B of the pixel components are defined as component numbers 0, 1, and 2, respectively, and the horizontal pixel position x and the vertical pixel position y with the upper left corner of the image as coordinates (0, 0). The value of the component number C of the pixel in is represented as P (x, y, C). For example, the values of the R, G, B components of the pixel at the horizontal pixel position “10” and the vertical pixel position “25” are P (10, 25, 0), P (10, 25, 1), P (10, 25, 2). When pixel values are expressed as a group of components, they are expressed as a vector X having R, G, and B component values as elements. For example, a pixel X whose R, G, and B component values are r, g, and b is described as X = (r, g, b).

本画像符号化装置は、信号線206から順次入力される1つ又は2つ画素のデータから、符号化データを生成し、符号列形成部104からその符号化データを出力する。   The image encoding apparatus generates encoded data from data of one or two pixels sequentially input from the signal line 206, and outputs the encoded data from the code string forming unit 104.

ラインバッファ108は画像データを2ライン分格納する容量を持ち、信号線206から入力される画像データを順次格納していく。先に述べたように、画像データは各画素がラスター順に、そして各画素ではR,G,Bの順番で成分値が入力される。ラインバッファ108からは、図3に示すように、画像中の符号化対象の画素(以下、着目画素という)Xiと、その近傍画素Xa,Xb,Xc,Xdに示す周囲4画素のデータが読み出され、近傍一致判定部101、成分値予測部202へと出力される。 The line buffer 108 has a capacity for storing two lines of image data, and sequentially stores the image data input from the signal line 206. As described above, in the image data, component values are input in the order of raster for each pixel and in the order of R, G, and B for each pixel. From the line buffer 108, as shown in FIG. 3, the data of the pixel to be encoded (hereinafter referred to as the pixel of interest) X i in the image and the surrounding four pixels indicated by the neighboring pixels Xa, Xb, Xc, and Xd are stored. It is read out and output to the neighborhood match determination unit 101 and the component value prediction unit 202.

ここで、着目画素Xiの成分番号C(Cは0、1、2のいずれか)の値をP(x,y,C)とするとき、近傍画素Xa,Xb,Xc,Xdの成分番号Cの値はP(x−1,y,C)、P(x,y−1、C)、P(x−1,y−1,C)、P(x+1,y−1,C)で表わせる。なお、着目画素Xiの位置が、画像の最初のライン上にある場合や、各ラインの先頭又は末尾位置にある場合、近傍画素Xa,Xb,Xc、Xdのいくつかが、画像の外側に位置することになる。本実施形態では、画像の外側に近傍画素が存在した場合、その近傍画素の各成分値は“0”と見なして処理するものとする。但し、これ以外、例えば中間値“128”としても構わない。要は、符号化側と復号側で画像外の画素が共通の値を持つものとして設定しておけば良い。 Here, the value of P of the component number C of the target pixel X i (C is either 0,1,2) (x, y, C ) when the, neighboring pixels Xa, Xb, Xc, Xd component number The values of C are P (x-1, y, C), P (x, y-1, C), P (x-1, y-1, C), and P (x + 1, y-1, C). I can express. When the position of the pixel of interest X i is on the first line of the image or at the beginning or end of each line, some of the neighboring pixels Xa, Xb, Xc, Xd are outside the image. Will be located. In this embodiment, when a neighboring pixel exists outside the image, each component value of the neighboring pixel is assumed to be “0” for processing. However, other than this, for example, the intermediate value “128” may be used. The point is that the pixels outside the image should be set to have a common value on the encoding side and the decoding side.

ラインバッファ108に1ライン分の画像データが格納されると、そのラインの各画素の符号化処理を開始する。   When image data for one line is stored in the line buffer 108, encoding processing for each pixel in the line is started.

まず、色数判定部107について説明する。   First, the color number determination unit 107 will be described.

色数判定部107は、符号化対象である着目画素Xiの各成分について、ラインバッファ108から、図3に示す近傍画素Xa,Xb,Xc、Xdの4画素のデータを読込む。 The number-of-colors determination unit 107 reads, from the line buffer 108, four pixels of neighboring pixels Xa, Xb, Xc, and Xd shown in FIG. 3 for each component of the pixel of interest X i that is to be encoded.

符号化対象の画像中の着目画素Xiの位置を(x、y)とし、これを用いてXi、Xa、Xb、Xc、Xdを表現すると、各画素データは次の通りである。
i=(P(x,y,0),P(x,y,1),P(x,y,2))
Xa=(P(x−1,y,0),P(x−1,y,1),P(x−1,y,2))
Xb=(P(x、y−1,0),P(x,y−1,1),P(x,y−1,2))
Xc=(P(x−1,y−1,0),P(x−1,y−1,1),P(x−1,y−1,2))
Xd=(P(x+1,y−1,0),P(x+1,y−1,1),P(x+1,y−1,2))
When the position of the pixel of interest X i in the image to be encoded is (x, y) and X i , X a, X b, X c, X d are expressed using this, each pixel data is as follows.
X i = (P (x, y, 0), P (x, y, 1), P (x, y, 2))
Xa = (P (x-1, y, 0), P (x-1, y, 1), P (x-1, y, 2))
Xb = (P (x, y-1, 0), P (x, y-1, 1), P (x, y-1, 2))
Xc = (P (x-1, y-1, 0), P (x-1, y-1, 1), P (x-1, y-1, 2))
Xd = (P (x + 1, y-1, 0), P (x + 1, y-1, 1), P (x + 1, y-1, 2))

色数判定部107は、画素Xa,Xb,Xc,Xdに含まれる色数Ncを検出して、検出した色数Ncを出力する。詳細は後述するが、この色数Ncは、符号化対象画素数を決定するための情報でもあるので、色数判定部107は画素数決定部としても機能する。以下は、色実施形態における数Ncの求め方の一例である。   The color number determination unit 107 detects the number of colors Nc included in the pixels Xa, Xb, Xc, and Xd and outputs the detected number of colors Nc. Although details will be described later, the color number Nc is also information for determining the number of pixels to be encoded, so the color number determination unit 107 also functions as a pixel number determination unit. The following is an example of how to determine the number Nc in the color embodiment.

Xa,Xb,Xc,Xdの4画素から2画素のペアを取り出す6通りの組み合わせについて考察する。1つのペアを{,}で表現すると、6つのペアは次の通りである。
{Xa,Xb}
{Xa,Xc}
{Xa,Xd}
{Xb,Xc}
{Xb,Xd}
{Xc,Xd}
上記6つのペアの中に、同色のペアが幾つあるかをカウントして得られたカウント値から、4画素に含まれる色数Ncを決定できる。つまり、カウント値が“0”であれば、Xa,Xb,Xc,Xdの全てが互いに異なる事を示しているので、色数Ncは“4”と判定できる。カウント値が“1”(1ペアのみ互いに等しい場合)であれば色数Ncは“3”であると判定できる。また、カウント値が“2”か“3”であれば、色数Ncは“2”であり、カウント値が“6”であれば、色数Ncは“1”であると判定できる。なお、カウント値が4、5となることはあり得ない。以上のようにすれば、簡単なハードウェアで実現できることも理解できよう。
Consider six combinations for extracting a pair of two pixels from four pixels of Xa, Xb, Xc, and Xd. If one pair is represented by {,}, the six pairs are as follows.
{Xa, Xb}
{Xa, Xc}
{Xa, Xd}
{Xb, Xc}
{Xb, Xd}
{Xc, Xd}
From the count value obtained by counting how many pairs of the same color among the above six pairs, the number of colors Nc included in the four pixels can be determined. That is, if the count value is “0”, it indicates that all of Xa, Xb, Xc, and Xd are different from each other, and therefore the number of colors Nc can be determined to be “4”. If the count value is “1” (when only one pair is equal to each other), the number of colors Nc can be determined to be “3”. If the count value is “2” or “3”, the number of colors Nc is “2”. If the count value is “6”, the number of colors Nc can be determined to be “1”. Note that the count value cannot be 4 or 5. It will be understood that the above can be realized with simple hardware.

さて、色数判定部107は、上記のようにして求めた色数Nc(=1、2、3、4のいずれか)を、近傍一致判定部101及び一致画素位置符号化部102に出力する。   The number-of-colors determination unit 107 outputs the number of colors Nc (= 1, 2, 3, or 4) obtained as described above to the neighborhood match determination unit 101 and the match pixel position coding unit 102. .

次に、実施形態における近傍一致判定部101について説明する。なお、以下の説明において、着目画素Xiの次に位置する符号化対象の画素(次画素)を便宜的にXi+1と表わす。着目画素Xiを(x,y)とするとき、画素Xi+1は次のように表わせる。
i+1 =(P(x+1,y,0)、P(x+1,y,1)、P(x+1,y,2))
なお、近傍一致判定部101は、色数Ncが2以下の場合に、次画素Xi+1を、ラインバッファ108をアクセスして読込むことになる。また、注目Xiがラインの終端画素である場合、Xi+1=Xiとみなして処理を行うものとする。
Next, the neighborhood match determination unit 101 in the embodiment will be described. In the following description, the encoding target pixel located next to the target pixel X i (next pixel) conveniently expressed as X i + 1. When the pixel of interest X i is (x, y), the pixel X i + 1 can be expressed as follows.
X i + 1 = (P (x + 1, y, 0), P (x + 1, y, 1), P (x + 1, y, 2))
The proximity match determination unit 101 reads the next pixel X i + 1 by accessing the line buffer 108 when the number of colors Nc is 2 or less. If the target X i is the end pixel of the line, the processing is performed assuming that X i + 1 = X i .

さて、実施形態における近傍一致判定部101は、色数Ncに基づき、着目画素Xi及びその次の画素Xi+1と、着目画素Xiの近傍4画素Xa,Xb,Xc,Xdを比較し、近傍一致情報Vpと、不一致画素情報Epとを生成する。そして、近傍一致判定部101は、生成した近傍一致情報Vpを、信号線106を介して、一致画素位置符号化部102に出力する。また、近傍一致判定部101は、生成した不一致画素情報Epを信号線105を介して、成分値予測符号化部111及び符号列生成部102に出力する。 Now, the neighborhood matching determination unit 101 in the embodiment, based on the color number Nc, compared to the target pixel X i and the next pixel X i + 1 thereof, four neighboring pixels Xa of the target pixel X i, Xb, Xc, and Xd Then, the neighborhood match information Vp and the mismatch pixel information Ep are generated. Then, the neighborhood match determining unit 101 outputs the generated neighborhood match information Vp to the matched pixel position encoding unit 102 via the signal line 106. Also, the neighborhood match determination unit 101 outputs the generated mismatch pixel information Ep to the component value prediction encoding unit 111 and the code string generation unit 102 via the signal line 105.

以下、それぞれの色数Ncの場合に分けて、近傍一致判定部101が行なう近傍一致情報Vp、不一致画素情報Epの生成処理を説明する。   Hereinafter, the generation processing of the neighborhood match information Vp and the mismatch pixel information Ep performed by the neighborhood match determination unit 101 will be described separately for each color number Nc.

<色数Ncが4である場合>
“Nc=4”は、着目画素Xiの近傍画素Xa,Xb,Xc,Xdが全て異なる画素値(色)を持つことを示している。近傍一致判定部101は、この条件を満たす場合、不一致画素情報Epを“5”として信号線105上に出力する。また、近傍一致情報Vpは、どのような値でも良い。詳細は後述するが、近傍一致情報Vpは、0乃至8の整数であるので、そのいずれでも構わない。理由は、不一致画素情報Epが“5”である場合、後続する処理では近傍一致情報Vpを使用ないからである。また、Nc=4の場合、近傍一致判定部101は次画素Xi+1の読込みは行なわない。
<When the number of colors Nc is 4>
“Nc = 4” indicates that neighboring pixels Xa, Xb, Xc, and Xd of the pixel of interest X i all have different pixel values (colors). When this condition is satisfied, the proximity match determination unit 101 outputs the mismatch pixel information Ep as “5” on the signal line 105. Further, the neighborhood match information Vp may be any value. Although details will be described later, since the neighborhood match information Vp is an integer of 0 to 8, any of them may be used. The reason is that when the mismatch pixel information Ep is “5”, the neighborhood match information Vp is not used in the subsequent processing. When Nc = 4, the neighborhood match determination unit 101 does not read the next pixel X i + 1 .

<色数Ncが1である場合>
“Nc=1”は、着目画素Xiの近傍画素Xa,Xb,Xc,Xdが全て同一の画素値(同じ色)であることを示している。また、このNc=1の場合、着目画素Xiは近傍画素Xa(=Xb=Xc=Xd)と同じ色となる確率が高い。また、次画素Xi+1も、着目画素Xiの近傍画素Xaと同じになる確率が高い。そこで、近傍一致判定部101は、着目画素Xiだけでなく、次画素Xi+1もラインバッファ108から読込む。そして、近傍一致判定部101は着目画素Xiと次画素Xi+1と、比較対象画素Xa(=Xb=Xc=Xd)とを比較し、以下のようにして近傍不一致画素情報Epを生成し、出力する。
・Xi=Xi+1=Xaの場合、Ep=“0”;
・Xi=Xa 且つ Xi+1≠Xaの場合、Ep=“1”;
・Xi≠Xa 且つ Xi+1=Xaの場合、Ep=“2”;
・Xi≠Xa 且つ、Xi+1≠Xaの場合、Ep=“3”;
また、色数Ncが“1”の場合、近傍一致情報Vpと不一致画素情報Epは同じ値にする。
<When the number of colors Nc is 1>
“Nc = 1” indicates that the neighboring pixels Xa, Xb, Xc, and Xd of the pixel of interest X i all have the same pixel value (the same color). When Nc = 1, the target pixel X i has a high probability of being the same color as the neighboring pixel Xa (= Xb = Xc = Xd). The next pixel X i + 1 is also likely to be the same as the neighboring pixel Xa of the pixel of interest X i . Therefore, the neighborhood match determination unit 101 reads not only the target pixel X i but also the next pixel X i + 1 from the line buffer 108. Then, the neighborhood match determination unit 101 compares the target pixel X i , the next pixel X i + 1, and the comparison target pixel Xa (= Xb = Xc = Xd), and generates neighborhood mismatch pixel information Ep as follows. And output.
When X i = X i + 1 = Xa, Ep = “0”;
When X i = Xa and X i + 1 ≠ Xa, Ep = “1”;
When X i ≠ Xa and X i + 1 = Xa, Ep = “2”;
When X i ≠ Xa and X i + 1 ≠ Xa, Ep = “3”;
When the number of colors Nc is “1”, the neighborhood match information Vp and the mismatch pixel information Ep are set to the same value.

<色数が2である場合>
“Nc=2”は、着目画素の近傍画素Xa,Xb,Xc,Xdに含まれる色数が2つであることを示している。Nc=2となるのは、例えばXa=Xb≠Xc=Xd、Xa≠Xb=Xc=Xd、Xa=Xc=Xd≠Xb等の場合である。
<When the number of colors is 2>
“Nc = 2” indicates that the number of colors included in the neighboring pixels Xa, Xb, Xc, and Xd of the target pixel is two. Nc = 2 is the case where, for example, Xa = Xb ≠ Xc = Xd, Xa ≠ Xb = Xc = Xd, Xa = Xc = Xd ≠ Xb, and the like.

近傍一致判定部101は、Nc=2となった、2つの比較対象画素である第1画素X1及び第2画素X2を求める。具体的には、先ず、Xa、Xb,Xc,Xdの順番にサーチし、異なる色が発見する度に第1の画素値(色)X1と第2の画素値X2を求めていく。   The neighborhood coincidence determination unit 101 obtains the first pixel X1 and the second pixel X2 that are two comparison target pixels with Nc = 2. Specifically, first, the search is performed in the order of Xa, Xb, Xc, and Xd, and the first pixel value (color) X1 and the second pixel value X2 are obtained each time a different color is found.

例えば、Xa=Xb≠Xc=Xdの場合、X1=Xa、X2=Xcとなる。また、Xa=Xc≠Xb=Xdの場合、X1=Xa、X2=Xbとなる。また、Xa=Xb=Xc≠Xdの場合、X1=Xa、X2=Xdとなる。ここで、X1は必ずXaとなる点に注意されたい。   For example, when Xa = Xb ≠ Xc = Xd, X1 = Xa and X2 = Xc. When Xa = Xc ≠ Xb = Xd, X1 = Xa and X2 = Xb. When Xa = Xb = Xc ≠ Xd, X1 = Xa and X2 = Xd. Note that X1 is always Xa.

近傍一致判定部101は、上記のように2つの画素値(色)X1、X2を求めると、着目画素Xiに後続する次画素Xi+1のデータをラインバッファ108から読込む。Nc=2の場合、Nc=1ほどではないが、次画素Xi+1もX1,X2のいずれかと等しくなる確率が高いためである。そして、近傍一致判定部101は、次のようにして、近傍一致情報Vp、不一致画素情報Epを決定し、出力する。
i=Xi+1=X1の場合、Vp=0、Ep=0;
i=Xi+1=X2の場合、Vp=1、Ep=0;
i=X1 且つ Xi+1=X2の場合、Vp=2、Ep=0;
i=X1 且つ Xi+1≠X1 且つ Xi+1≠X2の場合、Vp=3、Ep=1;
i=X2 且つ Xi+1=X1の場合、Vp=4、Ep=0;
i=X2 且つ Xi+1≠X1 且つ Xi+1≠X2の場合、Vp=5、Ep=1;
i≠X1 且つ Xi≠X2 且つ Xi+1=X1の場合、Vp=6、Ep=2;
i≠X1 且つ Xi≠X2 且つ Xi+1=X2の場合、Vp=7、Ep=2;
i≠X1 且つ Xi≠X2 且つ Xi+1≠X1 且つ Xi+1≠X2の場合、Vp=8、Ep=3;
When the proximity match determination unit 101 obtains the two pixel values (colors) X 1 and X 2 as described above, the data of the next pixel X i + 1 subsequent to the pixel of interest X i is read from the line buffer 108. In the case of Nc = 2, although not as much as Nc = 1, it is because the probability that the next pixel X i + 1 is also equal to either X1 or X2 is high. Then, the neighborhood match determination unit 101 determines and outputs neighborhood match information Vp and mismatch pixel information Ep as follows.
When X i = X i + 1 = X 1 , Vp = 0, Ep = 0;
If X i = X i + 1 = X 2 then Vp = 1, Ep = 0;
If X i = X 1 and X i + 1 = X 2 then Vp = 2, Ep = 0;
When X i = X 1 and X i + 1 ≠ X 1 and X i + 1X 2, Vp = 3, Ep = 1;
When X i = X 2 and X i + 1 = X 1 , Vp = 4, Ep = 0;
When X i = X 2 and X i + 1 ≠ X 1 and X i + 1X 2, Vp = 5, Ep = 1;
When X i ≠ X 1 and X i ≠ X 2 and X i + 1 = X 1 , Vp = 6, Ep = 2;
When X i ≠ X 1 and X i ≠ X 2 and X i + 1 = X 2, Vp = 7, Ep = 2;
When X i ≠ X 1 and X i ≠ X 2 and X i + 1 ≠ X 1 and X i + 1X 2, Vp = 8, Ep = 3;

<色数が3である場合>
“Nc=3”は、着目画素の近傍の画素Xa,Xb,Xc,Xd中の色数が3つ(4つ中2つの画素のみが同じ色)であることを示している。近傍一致判定部101は、画素Xa,Xb,Xc,Xdの順番で第1の画素値X1、第2の画素値X2、第3の画素値X3を求める。例えば、XbとXcのみが同じ色である場合、X1=Xa、X2=Xb、X3=Xdとなる。Nc=3の場合、着目画素XiがX1,X2,X3と同じになる確率は高いものの、次画素Xi+1がX1,X2,X3と同じになる確率は低い。それ故、近傍一致判定部101は、次画素Xi+1の読込みは行なわない。
<When the number of colors is 3>
“Nc = 3” indicates that the number of colors in the pixels Xa, Xb, Xc, and Xd in the vicinity of the target pixel is three (only two of the four pixels have the same color). The proximity match determination unit 101 obtains the first pixel value X1, the second pixel value X2, and the third pixel value X3 in the order of the pixels Xa, Xb, Xc, and Xd. For example, when only Xb and Xc are the same color, X1 = Xa, X2 = Xb , and X3 = Xd . When Nc = 3, the probability that the target pixel X i is the same as X1, X2, and X3 is high, but the probability that the next pixel X i + 1 is the same as X1, X2, and X3 is low. Therefore, the proximity match determination unit 101 does not read the next pixel X i + 1 .

近傍一致判定部101は、上記の様にして画素値X1,X2,X3を求めると、次のようにして、近傍一致情報Vpと不一致画素情報Epを生成し、出力する。
i=X1の場合、Vp=0、Ep=0;
i=X2の場合、Vp=1、Ep=0;
i=X3の場合、Vp=2、Ep=0;
i≠X1 且つ Xi≠X2 且つ Xi≠X3の場合、Vp=3、Ep=4;
When the neighborhood match determination unit 101 obtains the pixel values X1, X2, and X3 as described above, the neighborhood match information Vp and the mismatch pixel information Ep are generated and output as follows.
When X i = X 1, Vp = 0, Ep = 0;
When X i = X 2, Vp = 1, Ep = 0;
When X i = X 3, Vp = 2, Ep = 0;
When X i ≠ X 1 and X i ≠ X 2 and X iX 3, Vp = 3, Ep = 4;

実施形態における近傍一致判定部101の処理内容は上記の通りである。   The processing contents of the neighborhood match determination unit 101 in the embodiment are as described above.

詳細は後述するが、実施形態における画像符号化装置は、色数Nc=1又は2のとき、着目画素Xi及び次画素Xi+1の2画素分のデータから符号化データを生成し、出力する。また、色数Nc=3又は4の場合、着目画素Xiからのみ符号化データを生成し、出力する。 Although details will be described later, the image encoding device in the embodiment generates encoded data from data of two pixels of the pixel of interest X i and the next pixel X i + 1 when the number of colors Nc = 1 or 2, Output. When the number of colors Nc = 3 or 4, encoded data is generated only from the pixel of interest X i and output.

ここで、近傍一致判定部101が入力する色数Nc、着目画素Xiと次画素Xi+1、着目画素近傍の状態、並びに、生成する近傍一致情報Vp及び不一致画素情報Epの関係をまとめたのが図7に示すテーブルである。 Here, the number Nc of colors input by the neighborhood match determination unit 101, the pixel of interest X i and the next pixel X i + 1 , the state of the neighborhood of the pixel of interest, and the relationship between the neighborhood match information Vp and the mismatch pixel information Ep to be generated are summarized. The table shown in FIG.

以下、図7を参照して、近傍一致情報Vpと不一致画素情報Epの意味について説明する。   Hereinafter, the meanings of the neighborhood match information Vp and the mismatch pixel information Ep will be described with reference to FIG.

不一致画素情報Epは、着目画素Xiと次画素Xi+1の2つの画素に着目したとき、それぞれの画素が近傍画素Xa,Xb,Xc,Xdの4つの画素と不一致となり、別途画素値の伝送が必要であるか否かを表わす指標情報と言える。 In the mismatch pixel information Ep, when attention is paid to the two pixels of the target pixel X i and the next pixel X i + 1 , each pixel does not match the four pixels of the neighboring pixels Xa, Xb, Xc, and Xd, and the pixel value It can be said that this is index information indicating whether or not transmission is necessary.

例えば、Nc=1又は2について着目してみる。   For example, let us focus on Nc = 1 or 2.

この条件での「不一致画素情報Ep=0」は、着目画素Xi及び次画素Xi+1の両方が近傍画素Xa,Xb、Xc、Xdのいずれかと等しいことを表わしてる。また、「Ep=1」は、着目画素Xiが近傍画素Xa,Xb,Xc,Xdのいずれかと一致し、次画素Xi+1と一致する近傍画素は存在しないことを表わしている。また、「Ep=2」は、着目画素Xiと同じ色を持つ近傍画素が存在しないが、次画素Xi+1と一致する近傍画素は存在することを示す。そして、「Ep=3」は、着目画素Xi及び次画素Xi+1のいずれもが、近傍画素のいずれとも一致しないことを示している。 “Unmatched pixel information Ep = 0” under this condition indicates that both the target pixel X i and the next pixel X i + 1 are equal to any of the neighboring pixels Xa, Xb, Xc, and Xd. Further, "Ep = 1" is the target pixel X i is the neighboring pixels Xa, consistent Xb, Xc, and either Xd, indicates that the near pixels to match the next pixel X i + 1 does not exist. Further, "Ep = 2" is no neighboring pixel having the same color as the target pixel X i, indicating that the neighboring pixels to match the next pixel X i + 1 exists. “Ep = 3” indicates that neither the target pixel X i nor the next pixel X i + 1 matches any of the neighboring pixels.

また、Nc=3の場合について着目してみる。   Also, pay attention to the case of Nc = 3.

この条件での「不一致画素情報Ep=0」は、着目画素Xiが近傍画素Xa,Xb,Xc,Xdのいずれかと等しいことを表わしてる。また、「Ep=4」は、着目画素Xiが近傍画素Xa,Xb,Xc,Xdのいずれとも一致しないことを示している。 “Unmatched pixel information Ep = 0” under this condition indicates that the pixel of interest X i is equal to any of the neighboring pixels Xa, Xb, Xc, and Xd. “Ep = 4” indicates that the pixel of interest X i does not match any of the neighboring pixels Xa, Xb, Xc, and Xd.

一方、近傍一致情報Vpは、Nc=1又は2の場合、着目画素Xi、次画素Xi+1と同じ色が近傍画素Xa,Xb,Xc,Xd中に存在するか否か、及び同じ色の画素が存在する場合には、その画素が、着目画素Xiのどの向きにある近傍画素かを特定するベクトル情報ということができる。すなわち、近傍一致判定部101はベクトル情報(近傍一致情報Vp)を生成するベクトル情報生成部として機能する。 On the other hand, in the case of Nc = 1 or 2, the neighborhood match information Vp indicates whether the same color as the pixel of interest X i and the next pixel X i + 1 exists in the neighborhood pixels Xa, Xb, Xc, Xd, and the same. When there is a color pixel, it can be said that the pixel information specifies which direction the neighboring pixel of the pixel of interest X i is. That is, the neighborhood match determination unit 101 functions as a vector information generation unit that generates vector information (neighbor match information Vp).

例えば、Nc=2となる例として、今、Xa=Xb=Xc≠Xdであったとする。この場合、画素値X1は画素Xaの色と等しく、画素値X2は画素Xdの色と等しいことが一義的に決まる。この状態で、「近傍一致情報Vp=4」は、図7から、Xi=X2であり、Xi+1=X1であるわけであるから、結局のところ、着目画素Xiは右上の画素Xdと同じ色であり、次画素Xi+1は着目画素の左の画素Xa(or Xb or Xc)と同じ色であることが特定できる。 For example, as an example of Nc = 2, it is assumed that Xa = Xb = Xc ≠ Xd. In this case, it is uniquely determined that the pixel value X1 is equal to the color of the pixel Xa and the pixel value X2 is equal to the color of the pixel Xd. In this state, “neighbor matching information Vp = 4” is X i = X 2 and X i + 1 = X 1 from FIG. 7, so that the target pixel X i is the upper right pixel after all. It can be specified that the next pixel X i + 1 is the same color as Xd, and the next pixel X i + 1 is the same color as the pixel Xa (or Xb or Xc) on the left of the pixel of interest.

なお、不一致画素情報Epは、近傍一致情報Vpと色数Ncから一義的に求めることができる(図7参照)。従って、不一致画素情報Epを入力する各処理部は、近傍一致情報Vpと色数Ncを入力して処理しても構わないことを付言しておく。   Note that the mismatch pixel information Ep can be uniquely obtained from the neighborhood match information Vp and the number of colors Nc (see FIG. 7). Therefore, it should be noted that each processing unit that inputs the mismatch pixel information Ep may input and process the neighborhood match information Vp and the number of colors Nc.

次に、実施形態における一致画素位置符号化部102について説明する。   Next, the matched pixel position encoding unit 102 in the embodiment will be described.

一致画素位置符号化部102では、信号線106から入力される近傍画素一致情報Vpを符号化し、その符号化データ(符号化ベクトルデータ)を生成し、符号生成部1305へ出力する。つまり、一致画素位置符号化部102はベクトル情報符号化部として機能する。本実施形態での一致画素位置符号化部102は、色数判定部1301から出力される色数Ncによって図12(a)、(b)、(c)に示す3つの符号化テーブルの中から1つを選択し、近傍画素一致情報Vpの符号化データを生成する。   The matching pixel position encoding unit 102 encodes the neighboring pixel matching information Vp input from the signal line 106, generates encoded data (encoded vector data), and outputs the encoded data to the code generation unit 1305. That is, the matching pixel position encoding unit 102 functions as a vector information encoding unit. The matching pixel position encoding unit 102 in this embodiment is selected from the three encoding tables shown in FIGS. 12A, 12 </ b> B, and 12 </ b> C according to the number of colors Nc output from the color number determination unit 1301. One is selected, and encoded data of the neighboring pixel match information Vp is generated.

また、色数Ncが“4”の場合には、一致画素位置符号化部102は符号化データの出力は行なわない。先に説明した、色数Ncが“4”の場合、近傍一致判定部101がどのような近傍一致情報Vpを出力しても構わないというのは、この理由である。   When the number of colors Nc is “4”, the matching pixel position encoding unit 102 does not output encoded data. This is the reason why the neighborhood match determination unit 101 may output any neighborhood match information Vp when the number of colors Nc is “4” as described above.

図12(a)乃至(c)は、一致画素位置符号化部102が用いる符号化テーブルを示している。   12A to 12C show an encoding table used by the matching pixel position encoding unit 102. FIG.

図12(a)は、Nc=1の場合の符号化テーブルを示している。Nc=1の場合、図7からもわかるように、近傍画素一致情報Vpの取り得る値は0、1、2、3の4通りであるので、符号化テーブルは図示の如く4つの符号化データが格納されている。また、Nc=2の場合、近傍画素一致情報Vpの取り得る値は0乃至8の9通りであるので、符号化テーブルは図12(b)の如く9つの符号化データが格納されている。また、Nc=3の場合、近傍画素一致情報Vpの取り得る値は0乃至3の4通りであるので、符号化テーブルは図12(c)の如く4つの符号化データが格納されている。ここで、色数Nc=1,2の場合、着目画素Xi及び次画素Xi+1は、近傍画素Xa,Xb,Xc,Xdの中に同じ色の発生確率が高いので、Vpの値に従って符号化データのデータ長が大きくなるように設定した。また、色数Nc=3の場合、近傍画素中に着目画素Xiと同じ色が含まれる可能性より、含まれない可能性が高いので、Vp=3に最短の符号長を割り当てた。 FIG. 12A shows an encoding table when Nc = 1. In the case of Nc = 1, as can be seen from FIG. 7, there are four possible values of the neighboring pixel match information Vp, 0, 1, 2, and 3. Therefore, the encoding table has four encoded data as shown in the figure. Is stored. Further, when Nc = 2, there are nine possible values of the neighboring pixel matching information Vp, from 0 to 8, and therefore, the encoding table stores nine encoded data as shown in FIG. 12B. Further, when Nc = 3, there are four possible values of the neighboring pixel matching information Vp, from 0 to 3, so that the encoding table stores four encoded data as shown in FIG. Here, when the number of colors Nc = 1, 2, the pixel of interest X i and the next pixel X i + 1 have a high probability of occurrence of the same color in the neighboring pixels Xa, Xb, Xc, Xd. Accordingly, the data length of the encoded data is set to be large. Further, when the number of colors Nc = 3, there is a higher possibility that the same color as that of the pixel of interest X i is included in the neighboring pixels, so that the shortest code length is assigned to Vp = 3.

次に、実施形態における成分値予測符号化部111について説明する。この成分予測符号化部111そのものは、先の従来技術の処理と実質的に同じであるが、近傍一致判定部101から出力される不一致画素情報Epに応じた処理を行なう点が異なる。以下、その処理内容を説明する。   Next, the component value predictive encoding unit 111 in the embodiment will be described. The component predictive encoding unit 111 itself is substantially the same as the process of the prior art, except that the process according to the mismatch pixel information Ep output from the neighborhood match determination unit 101 is performed. The processing contents will be described below.

<Ep=0の場合>
近傍一致判定部101から出力される不一致画素情報Epが“0”の場合、成分値予測符号化部111は符号化処理は行なわないものとする。但し、符号化処理は行なっても構わない。なぜなら、後述する符号生成部103は、不一致画素情報Epが“0”の場合には、成分値予測符号化部111からの出力は無視するからである。
<When Ep = 0>
When the mismatch pixel information Ep output from the neighborhood match determination unit 101 is “0”, the component value prediction encoding unit 111 does not perform the encoding process. However, the encoding process may be performed. This is because the code generation unit 103, which will be described later, ignores the output from the component value prediction encoding unit 111 when the mismatch pixel information Ep is “0”.

<Ep=1の場合>
図7のテーブルから明らかなように、不一致画素情報Epが“1”の場合(Nc=1又は2の場合でもある)、着目画素Xiと同じ色が、近傍画素Xa,Xb,Xc,Xd内に存在することが約束される。一方、次画素Xi+1と同じ色は、着目画素Xiの近傍画素Xa,Xb,Xc,Xdには存在しない。そこで、成分値予測符号化部111は、次画素Xi+1の各成分値を、成分値予測部202、減算器203、予測誤差符号化部205によって、符号化を行い、その符号化データを符号生成部103に出力する。
<When Ep = 1>
As is apparent from the table of FIG. 7, when the mismatch pixel information Ep is “1” (also in the case of Nc = 1 or 2), the same color as the pixel of interest X i has neighboring pixels Xa, Xb, Xc, Xd. It is promised to exist within. On the other hand, the same color as the next pixel X i + 1 does not exist in the neighboring pixels Xa, Xb, Xc, and Xd of the pixel of interest X i . Therefore, the component value prediction encoding unit 111 encodes each component value of the next pixel X i + 1 by the component value prediction unit 202, the subtracter 203, and the prediction error encoding unit 205, and the encoded data Is output to the code generation unit 103.

このとき、次画素Xi+1の予測値pを求める際に参照画素は、次画素Xi+1に対応する近傍画素である。すなわち、次画素Xi+1の座標を(x+1,y)とし、その予測値を求めるために参照する近傍画素Xa',Xb',Xc',Xd'は次のように定義できる。
Xa'=(P(x、y、0)、P(x,y,1)、P(x、y、2))=Xi
Xb'=(P(x+1、y−1,0)、P(x+1,y−1,1),P(x+1,y−1,2))
Xc'=(P(x,y−1,0)、P(x,y−1,1)、P(x,y−1,2))
Xd'=(P(x+2,y−1,0)、P(x+2,y−1,1)、P(x+2,y−1,2))
<Ep=2の場合>
図7のテーブルから明らかなように、不一致画素情報Epが“2”の場合(Nc=1又は2の場合でもある)、少なくとも着目画素Xiと同じ色が、近傍画素Xa,Xb,Xc,Xd内に存在しないことになる。従って、成分値予測符号化部111は、着目画素Xiの各成分値を、成分値予測部202、減算器203、予測誤差符号化部205によって、符号化を行い、その符号化データを符号生成部103に出力する。また、Ep=2の場合、成分値予測符号化部111は次画素Xi+1の予測符号化処理は行なっても行なわなくても構わない。後述する如く、符号選択結合部103は、EP=2の場合、成分値予測符号化部111からの次画素Xi+1の予測符号化データを無視するからである。
At this time, the reference pixels when calculating a predicted value p of the next pixel X i + 1, a neighboring pixel corresponding to the next pixel X i + 1. That is, the coordinates of the next pixel X i + 1 are (x + 1, y), and neighboring pixels Xa ′, Xb ′, Xc ′, and Xd ′ that are referred to in order to obtain the predicted value can be defined as follows.
Xa ′ = (P (x, y, 0), P (x, y, 1), P (x, y, 2)) = X i
Xb ′ = (P (x + 1, y−1, 0), P (x + 1, y−1, 1), P (x + 1, y−1, 2))
Xc ′ = (P (x, y−1, 0), P (x, y−1, 1), P (x, y−1, 2))
Xd '= (P (x + 2, y-1, 0), P (x + 2, y-1, 1), P (x + 2, y-1, 2))
<When Ep = 2>
As is apparent from the table of FIG. 7, when the mismatch pixel information Ep is “2” (also in the case of Nc = 1 or 2), at least the same color as the pixel of interest X i has the neighboring pixels Xa, Xb, Xc, It will not exist in Xd. Therefore, the component value prediction encoding unit 111 encodes each component value of the pixel of interest X i by the component value prediction unit 202, the subtracter 203, and the prediction error encoding unit 205, and encodes the encoded data. The data is output to the generation unit 103. In addition, when Ep = 2, the component value predictive encoding unit 111 may or may not perform the predictive encoding process for the next pixel X i + 1 . This is because, as will be described later, the code selective combining unit 103 ignores the prediction encoded data of the next pixel X i + 1 from the component value predictive encoding unit 111 when EP = 2.

<EP=3の場合>
成分値予測符号化部111は、着目画素Xiと次画素Xi+1の各成分値を、成分値予測部202、減算器203、予測誤差符号化部205によって、符号化を行なう。
<When EP = 3>
The component value prediction encoding unit 111 encodes each component value of the pixel of interest X i and the next pixel X i + 1 by the component value prediction unit 202, the subtracter 203, and the prediction error encoding unit 205.

<EP=4又は5の場合>
成分値予測符号化部111は、着目画素Xiの各成分値を、成分値予測部202、減算器203、予測誤差符号化部205によって、符号化を行なう。
<When EP = 4 or 5>
The component value prediction encoding unit 111 encodes each component value of the pixel of interest X i using the component value prediction unit 202, the subtracter 203, and the prediction error encoding unit 205.

次に、実施形態における符号選択結合部103について説明する。   Next, the code selective combining unit 103 in the embodiment will be described.

符号選択結合部103は、近傍一致判定部101からの不一致画素情報Epに従い、一致画素位置符号化部102からの符号化データと成分値予測符号化部111からの符号化データの一方を選択、又は、それら2つの符号化データを結合し、出力する。以下、不一致画素情報Epの各値における符号選択結合部103の処理を説明する。   The code selection combining unit 103 selects one of the encoded data from the matched pixel position encoding unit 102 and the encoded data from the component value predictive encoding unit 111 according to the mismatch pixel information Ep from the neighborhood match determination unit 101, Alternatively, the two encoded data are combined and output. Hereinafter, the process of the code selection combining unit 103 for each value of the mismatch pixel information Ep will be described.

<EP=0の場合>
図7からもわかるように、Nc=1又は2においてEp=0となるのは、着目画素Xiと次画素Xi+1の両方が、着目画素Xiの近傍画素Xa,Xb,Xc,Xdのいずれかと同じ値(色)であること表わしている。また、Nc=3においてEp=0となるのは、着目画素Xiが、近傍画素Xa,Xb,Xc,Xdのいずれかと同じ値(色)であること表わしている。
<When EP = 0>
As can be seen from FIG. 7, Nc = 1 or the the Ep = 0 in 2, both of the target pixel X i and the next pixel X i + 1 is the neighboring pixels Xa of the target pixel X i, Xb, Xc, It represents that it is the same value (color) as any of Xd. Further, Ep = 0 at Nc = 3 indicates that the pixel of interest X i has the same value (color) as any of the neighboring pixels Xa, Xb, Xc, and Xd.

そこで、符号選択結合部103は、一致画素位置符号化部102からの符号化データのみを選択し、出力する。図8(a)は、Ep=0の場合の符号生成部103から出力される符号化データを示している。   Therefore, the code selection / combining unit 103 selects and outputs only the encoded data from the coincident pixel position encoding unit 102. FIG. 8A shows encoded data output from the code generation unit 103 when Ep = 0.

ここで注意したい点は、Nc=1又は2のときは図8(a)の符号化データは2画素分の符号化データを示し、Nc=3の場合には図8(a)の符号化データは1画素分の符号化データを示している点である。   It should be noted that when Nc = 1 or 2, the encoded data in FIG. 8A indicates encoded data for two pixels, and when Nc = 3, the encoded data in FIG. Data is a point indicating encoded data for one pixel.

<Ep=1の場合>
Ep=1の場合(従って、Nc=1又は2)、着目画素Xiが近傍画素Xa,Xb,Xc,Xdのいずれかと同じ値(色)であり、次画素Xi+1が、着目画素Xiの近傍画素Xa,Xb,Xc,Xdのいずれとも等しくない場合である(図7参照)。
<When Ep = 1>
When Ep = 1 (therefore, Nc = 1 or 2), the target pixel X i has the same value (color) as any of the neighboring pixels Xa, Xb, Xc, Xd, and the next pixel X i + 1 is the target pixel neighboring pixels Xa of X i, is not equal Xb, Xc, with any of Xd (see FIG. 7).

また、Ep=1の場合、成分値予測符号化部111は、次画素Xi+1の各成分値を予測符号化し、その符号化データを生成している。 When Ep = 1, the component value predictive encoding unit 111 predictively encodes each component value of the next pixel X i + 1 and generates encoded data thereof.

従って、符号選択結合部103は、一致画素位置符号化部102からの符号化データに、成分値予測符号化部111から出力された次画素Xi+1の符号化データを結合し、出力する。図8(b)は、Ep=1の場合の符号選択結合部103から出力される符号化データを示している。 Therefore, the code selection combining unit 103 combines the encoded data of the next pixel X i + 1 output from the component value predictive encoding unit 111 with the encoded data from the coincident pixel position encoding unit 102 and outputs the combined data. . FIG. 8B shows encoded data output from the code selective combining unit 103 when Ep = 1.

<Ep=2の場合>
EP=2の場合(従って、Nc=1又は2)、着目画素Xiが近傍画素Xa,Xb,Xc,Xdのいずれとも異なり、次画素Xi+1が、着目画素Xiの近傍画素Xa,Xb,Xc,Xdのいずれかと等しい場合である(図7参照)。
<When Ep = 2>
When EP = 2 (thus, Nc = 1 or 2), the target pixel X i is different from any of the neighboring pixels Xa, Xb, Xc, and Xd, and the next pixel X i + 1 is the neighboring pixel Xa of the target pixel X i. , Xb, Xc, and Xd (see FIG. 7).

また、Ep=2の場合、成分値予測符号化部111は、着目画素Xiの各成分値を予測符号化し、その符号化データを生成している。 Further, when Ep = 2, the component value predictive encoding unit 111 predictively encodes each component value of the pixel of interest X i and generates encoded data thereof.

従って、符号選択結合部103は、一致画素位置符号化部102からの符号化データに、成分値予測符号化部111から出力された着目画素Xiの符号化データを結合し、出力する。図8(c)は、Ep=2の場合の符号選択結合部103から出力される符号化データを示している。 Therefore, the code selection combining unit 103 combines the encoded data of the pixel of interest X i output from the component value predictive encoding unit 111 with the encoded data from the coincident pixel position encoding unit 102 and outputs the combined data. FIG. 8C shows encoded data output from the code selective combining unit 103 when Ep = 2.

<EP=3の場合>
EP=3の場合(従って、Nc=1又は2)、着目画素Xiと次画素Xi+1の両方が、近傍画素Xa,Xb,Xc,Xdのいずれとも異なることを表わしている。
<When EP = 3>
In the case of EP = 3 (accordingly, Nc = 1 or 2), this indicates that both the target pixel X i and the next pixel X i + 1 are different from the neighboring pixels Xa, Xb, Xc, Xd.

また、Ep=3の場合、成分値予測符号化部111は、着目画素Xi及び次画素Xi+1の各成分値を予測符号化し、その符号化データを生成している。 When Ep = 3, the component value predictive encoding unit 111 predictively encodes each component value of the pixel of interest X i and the next pixel X i + 1 and generates encoded data thereof.

従って、符号選択結合部103は、一致画素位置符号化部102からの符号化データに、成分値予測符号化部111から出力された着目画素Xiと次画素Xi+1の符号化データを結合し、出力する。図8(d)は、Ep=3の場合の符号生成部103から出力される符号化データを示している。 Therefore, the code selection combining unit 103 adds the encoded data of the pixel of interest X i and the next pixel X i + 1 output from the component value predictive encoding unit 111 to the encoded data from the matching pixel position encoding unit 102. Combine and output. FIG. 8D shows encoded data output from the code generation unit 103 when Ep = 3.

<Ep=4の場合>
Ep=4となるのは、Nc=3の場合だけである。この状況では、成分値予測符号化部111は、着目画素Xiの各成分値を予測符号化し、その符号化データを生成している。すなわち、成分値予測符号化部111は次画素Xi+1の予測符号化処理は行なっていない。
<Ep = 4>
Ep = 4 only when Nc = 3. In this situation, the component value predictive encoding unit 111 predictively encodes each component value of the pixel of interest X i and generates encoded data thereof. That is, the component value predictive encoding unit 111 does not perform predictive encoding processing of the next pixel X i + 1 .

従って、符号選択結合部103は、一致画素位置符号化部102からの符号化データに、成分値予測符号化部111から出力された着目画素Xiの符号化データを結合し、出力する。出力される符号化データのデータ構造は、図8(c)と同じである。 Therefore, the code selection combining unit 103 combines the encoded data of the pixel of interest X i output from the component value predictive encoding unit 111 with the encoded data from the coincident pixel position encoding unit 102 and outputs the combined data. The data structure of the encoded data to be output is the same as that in FIG.

注意したいのは、図8(c)のデータ形式は、Ep=2とEp=4とでは意味が異なる点である。すなわち、色数Nc=1又は2の場合、図8(c)の符号化データは2画素分の符号化データを表わしている。また、Nc=3の場合、図8(c)の符号化データは1画素分の符号化データを表わしている。   It should be noted that the data format of FIG. 8C has different meanings for Ep = 2 and Ep = 4. That is, when the number of colors Nc = 1 or 2, the encoded data in FIG. 8C represents encoded data for two pixels. When Nc = 3, the encoded data in FIG. 8C represents encoded data for one pixel.

<Ep=5の場合>
Ep=5となるのは、Nc=4の場合だけである。この状況では、成分値予測符号化部111は、着目画素Xiの各成分値を予測符号化し、その符号化データを生成している。すなわち、成分値予測符号化部111は次画素Xi+1の予測符号化処理は行なっていない。
<When Ep = 5>
Ep = 5 is obtained only when Nc = 4. In this situation, the component value predictive encoding unit 111 predictively encodes each component value of the pixel of interest X i and generates encoded data thereof. That is, the component value predictive encoding unit 111 does not perform predictive encoding processing of the next pixel X i + 1 .

符号選択結合部103は、一致画素位置符号化部102からの符号化データは選択せず、成分値予測符号化部111から出力された着目画素Xiの符号化データのみを選択し、出力する。図8(e)は、Ep=5の場合の符号選択結合部103から出力される符号化データを示している。 The code selecting / combining unit 103 selects only the encoded data of the pixel of interest X i output from the component value predictive encoding unit 111 and outputs it without selecting the encoded data from the coincident pixel position encoding unit 102. . FIG. 8E shows the encoded data output from the code selective combining unit 103 when Ep = 5.

次に、実施形態における符号列形成部104について説明する。   Next, the code string forming unit 104 in the embodiment will be described.

符号列形成部104は、不図示の記憶装置に符号化データを出力する。実施形態では、この記憶装置に可逆符号化した画像ファイルを生成する。   The code string forming unit 104 outputs the encoded data to a storage device (not shown). In the embodiment, a losslessly encoded image file is generated in this storage device.

具体的には、画像データの符号化処理開始時、符号列形成部104は、予測式選択信号mや、画像の水平方向/垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報で構成されるファイルヘッダを生成する。そして符号化処理が開始され、符号選択結合部103から符号化データが出力されてくる度に、その符号化データをファイルヘッダに後続するデータとして、出力する。そして、符号化すべき画像データの全符号化データの出力が完了したとことで、出力用にオープンしていたファイルをクローズし、可逆符号化された画像ファイルを完成する。図9は、実施形態で生成される画像ファイルの構造を示している。図示におけるヘッダに後続するデータは、図8(a)乃至(e)のいずれかの形式のデータを表わしている。なお、本実施形態の画像符号化装置では予測式選択信号mを固定値としているのでヘッダから除くこともできる。また、図9のファイルフォーマットはその一例であって、他の形式でも構わない。   Specifically, at the start of the image data encoding process, the code string forming unit 104 determines the prediction expression selection signal m, the number of pixels in the horizontal / vertical direction of the image, the number of components constituting the pixel, A file header composed of additional information such as accuracy is generated. When the encoding process is started and encoded data is output from the code selective combining unit 103, the encoded data is output as data subsequent to the file header. When the output of all the encoded data of the image data to be encoded is completed, the file that has been opened for output is closed, and the lossless encoded image file is completed. FIG. 9 shows the structure of an image file generated in the embodiment. The data following the header in the figure represents data in any of the formats shown in FIGS. In addition, in the image coding apparatus of this embodiment, since the prediction formula selection signal m is a fixed value, it can be removed from the header. Further, the file format of FIG. 9 is an example, and other formats may be used.

次に、実施形態における上記画像符号化処理で生成した符号化画像データを復号する画像復号装置の構成とその動作を説明する。   Next, the configuration and operation of an image decoding apparatus that decodes the encoded image data generated by the image encoding process in the embodiment will be described.

図13は、実施形態における画像復号装置のブロック構成図である。   FIG. 13 is a block configuration diagram of an image decoding apparatus according to the embodiment.

画像復号装置は、基本的に、上記の画像符号化装置の逆に処理することになり、必然、画像復号装置内には、画像符号化装置と同じ機能を有する構成が少なくない。説明を簡単なものとするため、画像復号装置内において、画像符号化装置の構成と同じ構成については、同一参照番号を付し、その説明は省略する。   The image decoding apparatus basically performs processing reverse to that of the image encoding apparatus described above, and the image decoding apparatus inevitably has a configuration having the same function as the image encoding apparatus. In order to simplify the description, the same components as those of the image encoding device in the image decoding device are denoted by the same reference numerals, and the description thereof is omitted.

図13に示すように、画像復号装置は、装置全体の制御を司る制御部2000と、バッファ201、色数判定部107、ヘッダ解析部1102、一致画素位置復号部1701、セレクタ1702、スイッチ1106、及び、予測復号部1704で構成される。また、予測復号部1704は、成分値予測部202、加算器1111、ハフマンテーブル用メモリ204、及び、予測誤差復号部1702を備える。同図において1107、1108、1109、1110は信号線である。   As shown in FIG. 13, the image decoding apparatus includes a control unit 2000 that controls the entire apparatus, a buffer 201, a color number determination unit 107, a header analysis unit 1102, a matching pixel position decoding unit 1701, a selector 1702, a switch 1106, And a prediction decoding unit 1704. The prediction decoding unit 1704 includes a component value prediction unit 202, an adder 1111, a Huffman table memory 204, and a prediction error decoding unit 1702. In the figure, reference numerals 1107, 1108, 1109 and 1110 are signal lines.

以下、図13を参照して、本実施形態に係る画像復号装置の可逆復号の処理を説明する。なお、バッファ201は、復号済みの画素データを2ライン分格納する容量を有する。また、復号しようとする着目画素Xiが画像の境界にあるとき、その近傍画素Xa,Xb,Xc,Xdの中には、画像外となる場合がある。本実施形態では、画像符号化装置と同様、画像の外側に位置する近傍画素の各成分値は“0”と見なして処理するものとする。 Hereinafter, with reference to FIG. 13, the lossless decoding process of the image decoding apparatus according to the present embodiment will be described. The buffer 201 has a capacity for storing decoded pixel data for two lines. In addition, when the target pixel X i to be decoded is at the boundary of the image, some of the neighboring pixels Xa, Xb, Xc, and Xd may be outside the image. In the present embodiment, as in the image encoding device, each component value of neighboring pixels located outside the image is assumed to be “0” for processing.

さて、復号対象となる可逆符号化データが信号線1107を介して本装置内の符号バッファ1101に一時的に格納される。ヘッダ解析部1102は、格納されたヘッダを解析し、オリジナル画像のサイズ(水平方向、垂直方向の画素数)や、予測式選択信号mを得る。得られた予測式選択信号mは成分値予測部202に供給される。   Now, lossless encoded data to be decoded is temporarily stored in the code buffer 1101 in this apparatus via the signal line 1107. The header analysis unit 1102 analyzes the stored header and obtains the size of the original image (the number of pixels in the horizontal direction and the vertical direction) and the prediction formula selection signal m. The obtained prediction formula selection signal m is supplied to the component value prediction unit 202.

色数判定部107は、着目画素Xiの近傍の既復号済みの画素Xa,Xb,Xc,Xdの画素データをバッファ201から読込み、その中に含まれる色数Ncを検出(算出)し、一致画素位置復号部1701に出力する。色数Ncの求め方は符号化装置と同様で良いので、その説明は省略する。 The color number determination unit 107 reads pixel data of already decoded pixels Xa, Xb, Xc, and Xd in the vicinity of the pixel of interest X i from the buffer 201, detects (calculates) the number of colors Nc included therein, The result is output to the matching pixel position decoding unit 1701. Since the method of obtaining the number of colors Nc may be the same as that of the encoding device, description thereof is omitted.

先ず、一致画素位置復号部1701の処理を説明する。   First, the process of the matching pixel position decoding unit 1701 will be described.

一致画素位置復号部1701は、色数判定部107から出力される色数Ncが1、2、3のいずれかである場合、図12(a)、(b),(c)のいずれか1つのテーブルを選択する。一致画素位置復号部1701は、符号化バッファ1101に格納された次に復号すべきデータは、図8(a)乃至(d)のいずれかと見なし、近傍一致情報Vpを復号する。つまり、一致画素位置復号部1701は、ベクトル情報を復号するベクトル情報復号部として機能する。一致画素位置復号部1701は、復号した近傍一致情報Vpを信号線1109を介してセレクタ1105に出力する。なお、一致画素位置復号部1701は符号化バッファ1101から近傍一致情報Vpの符号化データを読出したので、符号化データのビット数分だけ、次に読込むべきビット位置を更新する。   When the number of colors Nc output from the number-of-colors determination unit 107 is any one of 1, 2, and 3, the matching pixel position decoding unit 1701 is any one of FIGS. 12 (a), (b), and (c). Select one table. The matching pixel position decoding unit 1701 regards the data to be decoded next stored in the encoding buffer 1101 as one of FIGS. 8A to 8D, and decodes the neighborhood matching information Vp. That is, the matching pixel position decoding unit 1701 functions as a vector information decoding unit that decodes vector information. The matching pixel position decoding unit 1701 outputs the decoded neighborhood matching information Vp to the selector 1105 via the signal line 1109. Since the coincidence pixel position decoding unit 1701 reads the encoded data of the neighborhood coincidence information Vp from the encoding buffer 1101, the bit position to be read next is updated by the number of bits of the encoded data.

また、一致画素位置復号部1701は、復号した近傍一致情報Vpと、色数判定部107からの色数Ncとに基づき、図7のテーブルを参照して、不一致画素情報Epを生成する。そして、一致画素位置復号部1701は、生成した不一致画素情報Epを信号線1108を介して、予測誤差復号部1702とスイッチ1106に出力する。   Further, the matching pixel position decoding unit 1701 generates mismatching pixel information Ep based on the decoded neighborhood matching information Vp and the color number Nc from the color number determination unit 107 with reference to the table of FIG. Then, the matched pixel position decoding unit 1701 outputs the generated mismatched pixel information Ep to the prediction error decoding unit 1702 and the switch 1106 via the signal line 1108.

ここで、色数Ncが“1”である場合、図7のように近傍一致情報Vpと不一致画素情報Epは同一の値であり、0乃至3のいずれかの値である。また、色数Ncが“2”である場合、図7に示すように、近傍一致情報Vpは0乃至8の範囲内のいずれかの値となり、不一致画素情報EPは0乃至3のいずれかの値となる。また、色数Ncが“3”である場合には、近傍一致情報Vpは0乃至3のいずれかの値であり、不一致画素情報Epは0又は4のいずれかである。   Here, when the number of colors Nc is “1”, the neighborhood match information Vp and the mismatch pixel information Ep are the same value as shown in FIG. When the number of colors Nc is “2”, as shown in FIG. 7, the neighborhood match information Vp is any value in the range of 0 to 8, and the mismatch pixel information EP is any of 0 to 3. Value. When the color number Nc is “3”, the neighborhood match information Vp is any value from 0 to 3, and the mismatch pixel information Ep is either 0 or 4.

一方、色数判定部107より入力した色数Ncが“4”であった場合、図7に示すように、一致画素位置復号部1701は、近傍一致情報Vpの復号処理は行なわず、不一致画素情報Ep=5を生成し、それぞれの信号線1108に出力する。なお、Nc=“4”の場合、一致画素位置復号部1701は近傍一致情報Vpの復号処理は行なわない。また、一致画素位置復号部1701し、どのような値の近傍一致情報Vpを出力しても構わない。また、Nc=4の場合、一致画素位置復号部1701は次に読出すビット位置の更新処理を行なわない。   On the other hand, when the number of colors Nc input from the number-of-colors determination unit 107 is “4”, the matching pixel position decoding unit 1701 does not perform the decoding process of the neighborhood matching information Vp as shown in FIG. Information Ep = 5 is generated and output to each signal line 1108. When Nc = “4”, the coincidence pixel position decoding unit 1701 does not perform the decoding process of the neighborhood coincidence information Vp. The matching pixel position decoding unit 1701 may output any value of the neighborhood matching information Vp. When Nc = 4, the matching pixel position decoding unit 1701 does not perform update processing of the bit position to be read next.

以上の結果、一致画素位置復号部1701は、色数Ncを参照して、符号化データから、図7に示す近傍一致情報Vpと不一致画素情報Epを生成し、出力する。   As a result of the above, the matching pixel position decoding unit 1701 refers to the number of colors Nc, generates the neighborhood matching information Vp and the mismatching pixel information Ep shown in FIG. 7 from the encoded data, and outputs them.

次に、成分値予測復号部1704について説明する。この成分値予測復号部1704は、一致画素位置復号部1701からの不一致画素情報Epの値に従って、1画素又は2画素の復号処理を行なう。具体的には、次の通りである。   Next, the component value predictive decoding unit 1704 will be described. The component value predictive decoding unit 1704 performs a decoding process for one pixel or two pixels according to the value of the mismatch pixel information Ep from the match pixel position decoding unit 1701. Specifically, it is as follows.

<Ep=0の場合>
成分値予測復号部1704は何もしない。
<When Ep = 0>
The component value predictive decoding unit 1704 does nothing.

<Ep=1の場合>
成分値予測復号部1704は、符号化バッファ1101中の次に復号すべき符号化データは、着目画素Xiの次画素Xi+1の符号化データであるものとし、復号処理を行なう。これは、図8(b)の予測符号化データを復号するものと言えば分かりやすい。また、詳細は後述するが、成分値予測復号部1704は、復号して得られた画素データ(3つの成分データ)を、スイッチ1106が次画素Xi+1の復号結果を選択するタイミングで出力する。また、成分値予測復号部1704は、復号処理で用いた符号化データのビット数分だけ、次に読込むべきビット位置を進める処理を行なう。
<When Ep = 1>
Component value prediction decoding unit 1704, the encoded data to be decoded next in the coded buffer 1101, and what is the next pixel X i + 1 of the encoded data of the pixel of interest X i, performs a decoding process. This is easy to understand if the prediction encoded data in FIG. 8B is decoded. Although details will be described later, the component value prediction decoding unit 1704 outputs pixel data (three component data) obtained by decoding at a timing when the switch 1106 selects a decoding result of the next pixel X i + 1. To do. Further, the component value predictive decoding unit 1704 performs a process of advancing the bit position to be read next by the number of bits of the encoded data used in the decoding process.

<Ep=2の場合>
成分値予測復号部1704は、符号化バッファ1101中の次に復号すべき符号化データは、着目画素Xiの符号化データであるものとし、復号処理を行なう。これは、図8(c)の予測符号化データを復号するものと言えば分かりやすい。また、成分値予測復号部1704は、復号して得られた画素データ(3つの成分データ)を、スイッチ1106が着目画素Xiの復号結果を選択するタイミングで出力する。また、成分値予測復号部1704は、復号処理で用いた符号化データのビット数分だけ、次に読込むべきビット位置を進める処理を行なう。
<When Ep = 2>
The component value predictive decoding unit 1704 assumes that the encoded data to be decoded next in the encoding buffer 1101 is the encoded data of the pixel of interest X i and performs a decoding process. This can be easily understood if the predicted encoded data in FIG. 8C is decoded. The component value predictive decoding unit 1704 outputs pixel data (three component data) obtained by decoding at a timing when the switch 1106 selects a decoding result of the pixel of interest X i . Further, the component value predictive decoding unit 1704 performs a process of advancing the bit position to be read next by the number of bits of the encoded data used in the decoding process.

<Ep=3の場合>
成分値予測復号部1704は、符号化バッファ1101中の次に復号すべき符号化データから、2画素分の予測符号化データが存在するものとし、それぞれの復号処理を行なう。これは、図8(d)の予測符号化データを復号するものと言えば分かりやすい。
<When Ep = 3>
The component value predictive decoding unit 1704 assumes that there is predictive encoded data for two pixels from the encoded data to be decoded next in the encoding buffer 1101, and performs each decoding process. This can be easily understood if the predictive encoded data in FIG. 8D is decoded.

成分値予測復号部1704は、復号して得られた画素データを画素データXi,Xi+1として出力する。また、成分値予測復号部1704は、着目画素Xi、次画素Xi+1を、後述するスイッチ1106の選択タイミングに併せて、それぞれを出力する。また、成分値予測復号部1704は、復号処理で用いた2画素分の符号化データのビット数分だけ、次に読込むべきビット位置を進める処理を行なう。 The component value predictive decoding unit 1704 outputs the pixel data obtained by decoding as pixel data X i and X i + 1 . The component value predictive decoding unit 1704 outputs the pixel of interest X i and the next pixel X i + 1 in accordance with the selection timing of the switch 1106 described later. Also, the component value predictive decoding unit 1704 performs a process of advancing the bit position to be read next by the number of bits of encoded data for two pixels used in the decoding process.

<Ep=4又は5の場合>
成分値予測復号部1704は、符号化バッファ1101中の次に復号すべき符号化データは、着目画素Xiの符号化データであるものとし、復号処理を行なう。Ep=4の場合、既に、図8(c)における近傍一致画素情報Vpの復号が完了しており、従って、成分値予測復号部1704は図8(c)の近傍一致画素情報Vpの符号語の次の位置からの各成分符号化データを復号することになる。また、Ep=5の場合、復号対象の符号化データは図8(e)のデータ構造となっている。
<When Ep = 4 or 5>
The component value predictive decoding unit 1704 assumes that the encoded data to be decoded next in the encoding buffer 1101 is the encoded data of the pixel of interest X i and performs a decoding process. In the case of Ep = 4, the decoding of the neighborhood matching pixel information Vp in FIG. 8C has already been completed. Therefore, the component value predictive decoding unit 1704 has the codeword of the neighborhood matching pixel information Vp in FIG. Each component encoded data from the next position is decoded. When Ep = 5, the encoded data to be decoded has the data structure shown in FIG.

また、成分値予測復号部1704は、復号して得られた画素データ(3つの成分データ)を、スイッチ1106が着目画素Xiの復号結果を選択するタイミングで出力する。また、成分値予測復号部1704は、復号処理で用いた1画素分の符号化データのビット数分だけ、次に読込むべきビット位置を進める処理を行なう。 The component value predictive decoding unit 1704 outputs pixel data (three component data) obtained by decoding at a timing when the switch 1106 selects a decoding result of the pixel of interest X i . Also, the component value predictive decoding unit 1704 performs a process of advancing the bit position to be read next by the number of bits of encoded data for one pixel used in the decoding process.

成分値予測復号部1704は、復号して得られた画素データを画素データXiとして出力する。また、成分値予測復号部1704は、着目画素Xiを、後述するスイッチ1106の選択タイミングに併せて出力する。 The component value predictive decoding unit 1704 outputs pixel data obtained by decoding as pixel data X i . Also, the component value predictive decoding unit 1704 outputs the target pixel X i together with the selection timing of the switch 1106 described later.

なお、成分値予測復号部1704における予測復号処理は、符号化処理とは逆の処理を行なえば良い。簡単に説明すると次の通りである。   Note that the predictive decoding process in the component value predictive decoding unit 1704 may be performed in reverse to the encoding process. Briefly described is as follows.

予測誤差復号部1702は、ハフマンテーブル用メモリ204に格納されるハフマンテーブルを参照して、符号バッファ1101から必要な符号データを取得して、着目する画素の成分の予測誤差を復号する。成分値予測部202では符号化時と同様にして、予測式選択信号mによって選択された予測式を用いて着目する成分値に対する予測値pを生成し、出力する。加算器1111は成分値予測部202から出力される予測値pに予測誤差復号部1104で復号した予測誤差eを加え、着目する成分値を復元して出力する。この処理を3つの成分について行なうことで、1つの画素データが復号できる。   The prediction error decoding unit 1702 refers to the Huffman table stored in the Huffman table memory 204, acquires necessary code data from the code buffer 1101, and decodes the prediction error of the pixel component of interest. The component value prediction unit 202 generates and outputs a prediction value p for the component value of interest using the prediction formula selected by the prediction formula selection signal m, similarly to the case of encoding. The adder 1111 adds the prediction error e decoded by the prediction error decoding unit 1104 to the prediction value p output from the component value prediction unit 202, and restores and outputs the component value of interest. By performing this process for three components, one pixel data can be decoded.

次に実施形態におけるセレクタ1703の処理内容を説明する。   Next, processing contents of the selector 1703 in the embodiment will be described.

セレクタ1703は色数判定部107から出力される色数Ncと、一致画素位置復号部1701から信号線1109を介して入力される近傍一致情報Vpに従って、バッファ201から読み出される着目画素Xiの周囲画素Xa,Xb,Xc,Xdの各成分値の何れかを選択することを1回、又は2回行ない、1画素又は2画素分の各成分データを選択出力する。ここで、2画素中、最初の画素データを選択する選択するタイミングをT1、2番目の画素データを出力するタイミングをT2と定義する。タイミングT1では、着目画素Xiの復号結果を選択する。また、タイミングT2では、次画素Xi+1の復号結果を選択する。なお、これまでの説明からも明らかなように1つの画素から1つの符号化データを生成するのは、色数Ncが3又は4の場合である。つまり、色数Ncが3又は4の場合、1画素分の符号化データから1画素分の復号データを出力する。便宜的に、1画素分の符号化データから1画素分の復号データを出力するタイミングもT1とする。 The selector 1703 surrounds the pixel of interest X i read from the buffer 201 according to the color number Nc output from the color number determination unit 107 and the neighborhood match information Vp input from the match pixel position decoding unit 1701 via the signal line 1109. One of the component values of the pixels Xa, Xb, Xc, and Xd is selected once or twice, and each component data for one pixel or two pixels is selectively output. Here, the timing for selecting the first pixel data among the two pixels is defined as T1, and the timing for outputting the second pixel data is defined as T2. At timing T1, the decoding result of the pixel of interest X i is selected. At timing T2, the decoding result of the next pixel X i + 1 is selected. As is clear from the above description, one piece of encoded data is generated from one pixel when the number of colors Nc is 3 or 4. That is, when the color number Nc is 3 or 4, the decoded data for one pixel is output from the encoded data for one pixel. For convenience, the timing for outputting decoded data for one pixel from encoded data for one pixel is also T1.

図10は、セレクタ1703が、色数Nc、近傍一致情報Vpに基づく、タイミングT1、T2に選択する画素を示している。なお、図示においてX1,X2,X3は、画像符号化装置における近傍一致判定部101と同様の処理で求める画素値である。   FIG. 10 shows pixels that the selector 1703 selects at timings T1 and T2 based on the number of colors Nc and the neighborhood match information Vp. In the figure, X1, X2, and X3 are pixel values obtained by a process similar to that performed by the neighborhood match determination unit 101 in the image coding apparatus.

同図において、例えば色数Nc=1且つVp=0は、図7からもわかるように着目画素Xiと次画素Xi+1の両方が、近傍画素Xa(=Xb=Xc=Xd)と同じ色であることを示している。従って、セレクタ1703は、タイミングT1、T2の両方で、画素Xaを選択し、出力する。 In FIG. 7, for example, when the number of colors Nc = 1 and Vp = 0, both the target pixel X i and the next pixel X i + 1 are the neighboring pixels Xa (= Xb = Xc = Xd) as can be seen from FIG. It shows that it is the same color. Accordingly, the selector 1703 selects and outputs the pixel Xa at both timings T1 and T2.

また、色数Nc=2且つVp=6は、図7から、着目画素Xiと同じ色が近傍画素Xa,Xb,Xc,Xdには存在せず、次画素Xi+1が画素X1と同じ色であることを示している。従って、セレクタ1703は、図示の如く、タイミングT2では、画素X1を選択し、出力する。 The color number Nc = 2 and Vp = 6 from Figure 7, the target pixel X i and the same color neighboring pixels Xa, Xb, Xc, not present in the Xd, the next pixel X i + 1 is the pixel X1 It shows that it is the same color. Accordingly, the selector 1703 selects and outputs the pixel X1 at the timing T2, as shown in the figure.

なお、図10において“−”印は、セレクタ1703は処理を行なわない、もしくは、セレクタ1703は近傍画素Xa,Xb,Xc,Xdのいずれも選択してもしなくても構わないことを示している。これは、“−”印で示されるタイミングでは、後述するスイッチ1106が、セレクタ1703からのデータを入力するための端子bを選択しないからである。   In FIG. 10, the “-” mark indicates that the selector 1703 does not perform processing, or the selector 1703 may or may not select any of the neighboring pixels Xa, Xb, Xc, and Xd. . This is because the switch 1106 to be described later does not select the terminal b for inputting data from the selector 1703 at the timing indicated by the “−” mark.

次に、スイッチ1106について説明する。スイッチ1106は、これまでの図10の説明から容易に理解できよう。すなわち、図10において、“−”となっているタイミングでは、成分値予測復号部1704で復号された復号結果を選択すべく、端子aを選択し、“−”以外ではセレクタ1702から出力された画素データを選択すべく端子bを選択すればよい。   Next, the switch 1106 will be described. The switch 1106 can be easily understood from the description of FIG. That is, in FIG. 10, at the timing of “−”, the terminal a is selected to select the decoding result decoded by the component value predictive decoding unit 1704, and is output from the selector 1702 except for “−”. The terminal b may be selected to select pixel data.

実施形態では、スイッチ1106には、不一致画素情報Epが供給されるようにしている。このスイッチ1106におけるタイミングT1、T2における端子a,bの選択条件を示すのが図11である。   In the embodiment, the mismatch pixel information Ep is supplied to the switch 1106. FIG. 11 shows the selection conditions of the terminals a and b at the timings T1 and T2 in the switch 1106.

不一致画素情報Epは、これまでの説明から明らかなように、0乃至5の範囲内の値である。   The discrepancy pixel information Ep is a value in the range of 0 to 5, as is apparent from the above description.

ここで、図7におけるEp=0の場合というのは、着目画素Xiと次画素Xi+1の両方が、着目画素Xiの近傍画素Xa,Xb,Xc,Xdのいずれかと等しいことが約束されている。従って、Ep=0の場合、スイッチ1106はタイミングT1、T2では、共に端子bを選択する。 Here, in the case of Ep = 0 in FIG. 7, both the target pixel X i and the next pixel X i + 1 are equal to any of the neighboring pixels Xa, Xb, Xc, and Xd of the target pixel X i. Promised. Therefore, when Ep = 0, the switch 1106 selects the terminal b at both timings T1 and T2.

また、Ep=1の場合、図7からわかるように、着目画素Xiが近傍画素Xa,Xb,Xc,Xdのいずれかと等しく、次画素Xi+1は、予測誤差符号化されたことを示している。つまり、次画素Xi+1は、成分値予測復号部1704によって復号処理が行われていることに他ならない。従って、スイッチ1106は、タイミングT1では、端子bを選択し、タイミングT2では端子aを選択する。 When Ep = 1, as can be seen from FIG. 7, the pixel of interest X i is equal to one of the neighboring pixels Xa, Xb, Xc, and Xd, and the next pixel X i + 1 is predicted to be encoded by the prediction error. Show. That is, the next pixel X i + 1 is none other than being decoded by the component value predictive decoding unit 1704. Accordingly, the switch 1106 selects the terminal b at the timing T1, and selects the terminal a at the timing T2.

また、Ep=2の場合、図7からもわかるように、着目画素Xiは、近傍画素Xa,Xb,Xc,Xdのいずれとも異なっており、予測符号化されていることを示している。また、次画素Xi+1と同じ色を持つ画素が、近傍画素Xa,Xb,Xc,Xd内に存在することを示している。従って、スイッチ1106は、タイミングT1では、端子aを選択し、タイミングT2では端子bを選択する。 Further, when Ep = 2, as can be seen from FIG. 7, the pixel of interest X i is different from any of the neighboring pixels Xa, Xb, Xc, and Xd, indicating that it is predictively encoded. Further, it is indicated that pixels having the same color as the next pixel X i + 1 exist in the neighboring pixels Xa, Xb, Xc, Xd. Accordingly, the switch 1106 selects the terminal a at the timing T1, and selects the terminal b at the timing T2.

また、Ep=3の場合、図7からもわかるように、着目画素Xiと次画素Xi+1の両方が、予測誤差符号化されている。従って、スイッチ1106は、タイミングT1、T2では、共に端子aを選択し、成分値予測復号部1704からの復号データを選択し、出力する。 Further, in the case of Ep = 3, as can be seen from FIG. 7, both the target pixel X i and the next pixel X i + 1 are encoded with the prediction error. Accordingly, the switch 1106 selects the terminal a at the timings T1 and T2, selects the decoded data from the component value prediction decoding unit 1704, and outputs it.

以上の通り、Ep=0、1、2、3の場合、スイッチ1106は2画素分の符号化データをタイミングT1、T2にて選択した。これに、Ep=4又は5のとき、1画素分の符号化データを復号し、出力する。つまり、スイッチ1106はタイミングT1のみに動作すればよい。   As described above, when Ep = 0, 1, 2, and 3, the switch 1106 selects the encoded data for two pixels at the timings T1 and T2. When Ep = 4 or 5, encoded data for one pixel is decoded and output. That is, the switch 1106 needs to operate only at the timing T1.

Ep=4又は5は、図7からもわかるように、着目画素Xiが、予測誤差符号化されている。つまり、1つの符号化データは1つの画素データを示している。従って、スイッチ1106は、タイミングT1では、端子aを選択し、成分値予測復号部1704からの復号データを選択し、出力すればよい。 When Ep = 4 or 5, as can be seen from FIG. 7, the pixel of interest X i is encoded with a prediction error. That is, one piece of encoded data indicates one piece of pixel data. Accordingly, the switch 1106 may select the terminal a, select the decoded data from the component value predictive decoding unit 1704, and output it at the timing T1.

なお、これまでの説明からもわかるように、色数Ncと近傍一致情報Vpがわかれば、不一致画素情報Epを一義的に求めることができる。従って、セレクタ1703には、NcとVpを供給する代わりに、Epを供給しても構わない。また、同様の理由で、スイッチ1106には、NcとVpを供給するようにしても構わない。   As can be seen from the above description, if the number of colors Nc and the neighborhood match information Vp are known, the mismatch pixel information Ep can be uniquely determined. Accordingly, Ep may be supplied to the selector 1703 instead of supplying Nc and Vp. For the same reason, Nc and Vp may be supplied to the switch 1106.

以上説明したように本実施形態によれば、符号化対象の着目画素Xiの近傍にある、既に符号化された画素Xa,Xb,Xc,Xdに含まれる色数Ncを抽出(検出)し、Ncが1または2である場合、着目画素Xiとその次の画素Xi+1を一纏めにして、符号化データを生成する。これにより、文字、線画、CG画像など、着目画素の周囲に同じ色の画素が存在する可能性の高い画像データの可逆圧縮性能を大幅に改善することができる。 According to the present embodiment as described above, in the vicinity of the target pixel X i of the encoding target, already encoded pixels Xa, Xb, Xc, the color count Nc contained Xd extracted (detected) , Nc is 1 or 2, the pixel of interest X i and the next pixel X i + 1 are grouped to generate encoded data. Thereby, the reversible compression performance of image data, such as a character, a line drawing, and a CG image, which is highly likely to have pixels of the same color around the pixel of interest can be greatly improved.

特に、Ncが1又は2の場合、符号化対象の2画素に対して、最短で1ビットの符号化データを生成することも可能となる。1画素が3つのコンポーネントで構成され、各コンポーネントが8ビットである場合、原画像の2画素は8×3×2=48ビットで表わされることになる。これが1ビットで表わすことも可能であるから、如何に符号化効率が良いかが理解できよう。   In particular, when Nc is 1 or 2, it is possible to generate encoded data of 1 bit at the shortest for two pixels to be encoded. When one pixel is composed of three components and each component is 8 bits, two pixels of the original image are represented by 8 × 3 × 2 = 48 bits. Since this can be expressed by 1 bit, it can be understood how good the encoding efficiency is.

また、Ncが4である場合、即ち、Xa,Xb,Xc,Xdが全て異なる色であった場合には、近傍画素一致情報Vpの符号化データは付加せず、着目画素の各成分を予測符号化する(図8(e))。これにより、自然画像など、周囲画素値との一致確率の低い画像データを符号化する場合においても、これまでと予測誤差符号化処理と同様の符号量を維持することも可能となる。なお、本実施の形態ではNcが4である場合、即ち、周辺の参照画素数と色数が一致する場合にのみ、近傍画素一致情報の符号化を行わず、着目画素の各成分を予測符号化する構成とした。しかしながら、色数と周囲の参照画素数が異なる場合であっても近傍画素一致情報を用いた符号化が効率的でないと考えられる場合には、着目画素の各成分を符号化しても良い。例えば、参照する周囲画素の数を増やし、周囲6画素との比較を行う場合、Ncが5以上の場合には近傍一致画素情報を用いず、着目画素の各成分を符号化するようにしても構わない。   When Nc is 4, that is, when Xa, Xb, Xc, and Xd are all different colors, the encoded data of the neighboring pixel matching information Vp is not added, and each component of the pixel of interest is predicted. It encodes (FIG.8 (e)). As a result, even when encoding image data having a low matching probability with surrounding pixel values such as a natural image, it is possible to maintain the same code amount as in the prediction error encoding process. In this embodiment, when Nc is 4, that is, only when the number of neighboring reference pixels matches the number of colors, the neighboring pixel matching information is not encoded, and each component of the pixel of interest is predicted code. It was set as the structure which becomes. However, even when the number of colors and the number of surrounding reference pixels are different, if it is considered that encoding using the neighboring pixel matching information is not efficient, each component of the pixel of interest may be encoded. For example, when the number of surrounding pixels to be referenced is increased and compared with the surrounding 6 pixels, if Nc is 5 or more, the neighborhood matching pixel information is not used and each component of the pixel of interest is encoded. I do not care.

また、近傍一致情報Vpの符号化を適用するか否かを画素単位に切り替えているので、文字、写真などが混在する画像に対して良好な圧縮性能をえることができる。   In addition, since whether or not to apply the encoding of the neighborhood matching information Vp is switched in units of pixels, it is possible to obtain a good compression performance for an image in which characters, photographs, and the like are mixed.

[第1の実施形態の変形例]
上記第1の実施形態をコンピュータプログラムによって実現する例を第1の実施形態の変形例として以下に説明する。
[Modification of First Embodiment]
An example in which the first embodiment is realized by a computer program will be described below as a modification of the first embodiment.

図14は、本変形例における情報処理装置(例えばパーソナルコンピュータ)のブロック構成図である。   FIG. 14 is a block configuration diagram of an information processing apparatus (for example, a personal computer) in the present modification.

図中、1401はCPUで、RAM1402やROM1403に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像符号化処理、復号処理のアプリケーションプログラムを実行する。1402はRAMで、外部記憶装置1407や記憶媒体ドライブ1408、若しくはI/F1409を介して外部装置からダウンロードされたプログラムやデータを記憶する為のエリアを備える。また、RAM1402は、CPU1401が各種の処理を実行する際に使用するワークエリアも備える。1403はROMで、ブートプログラムや本装置の設定プログラムやデータを格納する。1404、1405は夫々キーボード、マウスで、CPU1401に対して各種の指示を入力することができる。   In the figure, reference numeral 1401 denotes a CPU which controls the entire apparatus using programs and data stored in a RAM 1402 and a ROM 1403 and executes application programs for image encoding processing and decoding processing described later. A RAM 1402 includes an area for storing programs and data downloaded from the external device via the external storage device 1407, the storage medium drive 1408, or the I / F 1409. The RAM 1402 also includes a work area used when the CPU 1401 executes various processes. Reference numeral 1403 denotes a ROM which stores a boot program, a setting program for the apparatus, and data. Reference numerals 1404 and 1405 denote a keyboard and a mouse, respectively. Various instructions can be input to the CPU 1401.

1406は表示装置で、CRTや液晶画面などにより構成されており、画像や文字などの情報を表示することができる。1407はハードディスクドライブ装置等の大容量の外部記憶装置である。この外部記憶装置1407には、OS(オペレーティングシステム)や後述する画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象画像の符号化データなどがファイルとして保存されている。また、CPU1401は、これらのプログラムやデータをRAM1402上の所定のエリアにロードし、実行することになる。   A display device 1406 includes a CRT, a liquid crystal screen, and the like, and can display information such as images and characters. Reference numeral 1407 denotes a large-capacity external storage device such as a hard disk drive device. The external storage device 1407 stores an OS (operating system), a program for image encoding and decoding processing described later, image data to be encoded, encoded data of an image to be decoded, and the like as files. The CPU 1401 loads these programs and data into a predetermined area on the RAM 1402 and executes them.

1408は記憶媒体ドライブで、CD−ROMやDVD−ROMなどの記憶媒体に記録されたプログラムやデータを読み出してRAM1402や外部記憶装置1407に出力するものである。なお、この記憶媒体に後述する画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象の画像の符号化データなどを記録しておいても良い。この場合、記憶媒体ドライブ1408は、CPU1401による制御によって、これらのプログラムやデータをRAM1402上の所定のエリアにロードする。   A storage medium drive 1408 reads programs and data recorded on a storage medium such as a CD-ROM or DVD-ROM and outputs them to the RAM 1402 or the external storage device 1407. In addition, a program for image encoding and decoding processing described later, image data to be encoded, encoded data of an image to be decoded, and the like may be recorded on the storage medium. In this case, the storage medium drive 1408 loads these programs and data into a predetermined area on the RAM 1402 under the control of the CPU 1401.

1409はI/Fで、このI/F1409によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。例えは符号化対象の画像データや、復号対象の画像の符号化データなどを本装置のRAM1402や外部記憶装置1407、あるいは記憶媒体ドライブ1408に入力することもできる。1410は上述の各部を繋ぐバスである。   Reference numeral 1409 denotes an I / F, which connects an external device to the present apparatus through the I / F 1409 and enables data communication between the present apparatus and the external apparatus. For example, image data to be encoded, encoded data of an image to be decoded, and the like can be input to the RAM 1402, the external storage device 1407, or the storage medium drive 1408 of this apparatus. A bus 1410 connects the above-described units.

上記構成において、本装置の電源がONになると、CPU1401はROM1403のブートプログラムに従って、外部記憶装置1407からOSをRAM1402にロードする。この結果、キーボード1404、マウス1405の入力が可能となり、表示装置1406にGUIを表示することが可能になる。ユーザが、キーボード1404やマウス1405を操作し、外部記憶装置1407に格納された画像処理用アプリケーションプログラムの起動の指示を行なうと、CPU1401はそのプログラムをRAM1402にロードし、実行する。これにより、本装置が画像処理装置として機能することになる。   In the above configuration, when the power of this apparatus is turned on, the CPU 1401 loads the OS from the external storage device 1407 to the RAM 1402 in accordance with the boot program stored in the ROM 1403. As a result, the keyboard 1404 and the mouse 1405 can be input, and the GUI can be displayed on the display device 1406. When the user operates the keyboard 1404 or the mouse 1405 to instruct the activation of the image processing application program stored in the external storage device 1407, the CPU 1401 loads the program into the RAM 1402 and executes it. As a result, this apparatus functions as an image processing apparatus.

以下、そのプログラムを実行した際の画像符号化処理手順を、図15のフローチャートに従って説明する。   Hereinafter, an image encoding process procedure when the program is executed will be described with reference to the flowchart of FIG.

なお、以下の説明では、符号化対象の画像データは、外部記憶装置1407に格納されたカラー画像データファイルとし、符号化結果を外部記憶装置1407にファイルとして格納する例を説明する。ただし、符号化対象の画像データの発生源、及び、符号化結果の出力先はその種類は問わない。例えば、符号化対象の画像データの発生源は、イメージスキャナでも構わないし、出力先はネットワークでも構わない。また、以下の説明にて、図1に示すバッファ108や、必要な各種テーブル(ハフマンテーブルも含む)は、RAM1402等のメモリ中に確保しておくものとして説明する。更に、符号化対象の着目画素が画像のエッジ位置にあるとき、その近傍画素Xa,Xb,Xc,Xdの中には、画像外の位置になる画素が存在する。このように画像外の画素の各成分値は“0”と見なして符号化を行なう。   In the following description, an example in which image data to be encoded is a color image data file stored in the external storage device 1407 and the encoding result is stored as a file in the external storage device 1407 will be described. However, the type of image data to be encoded and the output destination of the encoding result are not limited. For example, the source of the image data to be encoded may be an image scanner, and the output destination may be a network. In the following description, the buffer 108 shown in FIG. 1 and various necessary tables (including the Huffman table) are assumed to be secured in a memory such as the RAM 1402. Furthermore, when the pixel of interest to be encoded is at the edge position of the image, among the neighboring pixels Xa, Xb, Xc, and Xd, there are pixels that are located outside the image. In this way, each component value of a pixel outside the image is regarded as “0” and encoding is performed.

先ず、ステップS1にて、CPU1401は、符号化対象の画像データファイルのヘッダを解析し、符号化出力するファイルのヘッダを生成し、出力する。この際、出力ファイルのヘッダには、画像データのサイズ(水平方向画素数W、垂直方向画素数H)、及び、予測式選択信号mなど、復号時に必要となる情報を含ませる。なお、予測式選択信号mは、不図示のGUIからユーザが適宜選択すれば良い。また、イメージスキャナからの画像データを符号化する場合には、原稿サイズ、イメージスキャナの読取り解像度に基づき、上記W、Hを求めることができる。また、これ以降、符号化処理で生成された符号化データは、作成したヘッダに後続するように格納されることになる。   First, in step S1, the CPU 1401 analyzes the header of the image data file to be encoded, generates a header of the file to be encoded and outputs it. At this time, the header of the output file includes information necessary for decoding, such as the size of the image data (the number of pixels W in the horizontal direction, the number of pixels H in the vertical direction), and the prediction formula selection signal m. Note that the prediction formula selection signal m may be appropriately selected by a user from a GUI (not shown). When the image data from the image scanner is encoded, the above W and H can be obtained based on the document size and the reading resolution of the image scanner. From then on, the encoded data generated by the encoding process is stored so as to follow the created header.

次いで、ステップS2では、着目する画素の垂直方向位置を保持する変数(カウンタ)yを0に設定し、ステップS3にて、復号対象の画像データから変数yで示される1ライン分のデータを読込む。そして、着目する画素の水平方向位置を保持する変数(カウンタ)xを0に設定する(ステップS4)。ここで、変数yの取り得る範囲は0≦y≦W−1であり、変数xの取り得る範囲は0≦x≦H−1となるのは明らかである。   Next, in step S2, a variable (counter) y that holds the vertical position of the pixel of interest is set to 0. In step S3, data for one line indicated by the variable y is read from the image data to be decoded. Include. Then, a variable (counter) x that holds the horizontal position of the pixel of interest is set to 0 (step S4). Here, the range that the variable y can take is 0 ≦ y ≦ W−1, and the range that the variable x can take is obviously 0 ≦ x ≦ H−1.

次いで、ステップS5では、座標(x、y)を着目画素Xiとしたとき、その近傍画素Xa,Xb,Xc,Xdを読込み、その近傍画素に含まれる色数Ncを算出(もしくは検出)する。近傍画素Xa,Xb,Xc,Xdの画素データは、次のように定義できることは既に説明した。
Xa=(P(x−1,y,0),P(x−1,y,1),P(x−1,y,2))
Xb=(P(x、y−1,0),P(x,y−1,1),P(x,y−1,2))
Xc=(P(x−1,y−1,0),P(x−1,y−1,1),P(x−1,y−1,2))
Xd=(P(x+1,y−1,0),P(x+1,y−1,1),P(x+1,y−1,2))
Next, in step S5, when the coordinate (x, y) is the pixel of interest X i , the neighboring pixels Xa, Xb, Xc, Xd are read, and the number of colors Nc included in the neighboring pixels is calculated (or detected). . As described above, the pixel data of the neighboring pixels Xa, Xb, Xc, and Xd can be defined as follows.
Xa = (P (x-1, y, 0), P (x-1, y, 1), P (x-1, y, 2))
Xb = (P (x, y-1, 0), P (x, y-1, 1), P (x, y-1, 2))
Xc = (P (x-1, y-1, 0), P (x-1, y-1, 1), P (x-1, y-1, 2))
Xd = (P (x + 1, y-1, 0), P (x + 1, y-1, 1), P (x + 1, y-1, 2))

先に説明したように、着目画素が画像のエッジ位置にあるとき、近傍画素の中には画像外の位置となる画素が存在する。このような画像外の画素の各成分は画像符号化装置と同じ値(実施形態では、各成分とも“0”)であるものとして扱う。 As described above, when the target pixel is at the edge position of the image, there are pixels in the neighboring pixels that are located outside the image. Each component of the pixels outside the image is treated as having the same value as that of the image encoding device (in the embodiment, each component is “0”).

ステップS6では、算出した色数Ncが“4”であるか否かを判定する。色数Ncが1乃至3のいずれかである場合には、ステップS7に進み、第1の実施形態と同様の処理を行ない、近傍一致判定部101が行なう近傍一致情報Vp、不一致画素情報Epの生成処理を行なう。そして、ステップS8にて、近傍一致情報Vpを符号化し、出力する。すなわち、色数Ncに基づき、図12(a)乃至(c)の中から1つのテーブルを選択し、選択したテーブルを参照して、近傍一致情報Vpの符号語を選択し、出力する。そして、ステップS10に処理を進める。   In step S6, it is determined whether or not the calculated color number Nc is “4”. If the color number Nc is any one of 1 to 3, the process proceeds to step S7, the same processing as in the first embodiment is performed, and the neighborhood match information Vp and the mismatch pixel information Ep of the neighborhood match determination unit 101 are processed. Generate the data. In step S8, the neighborhood match information Vp is encoded and output. That is, based on the number of colors Nc, one table is selected from FIGS. 12A to 12C, the code word of the neighborhood match information Vp is selected and output with reference to the selected table. Then, the process proceeds to step S10.

一方、ステップS6では、算出した色数Ncが“4”であると判定した場合、ステップS9に進み、不一致画素情報Epを“5”とし、ステップS10に処理を進める。すなわち、近傍一致情報Vpの符号化処理は行なわない。   On the other hand, if it is determined in step S6 that the calculated color number Nc is “4”, the process proceeds to step S9, the mismatch pixel information Ep is set to “5”, and the process proceeds to step S10. That is, the encoding process of the neighborhood match information Vp is not performed.

以上の結果、色数Ncが“3”以下の場合には、図8(a)乃至(d)に示すように、近傍一致情報Vpの符号化データが生成される。また、不一致画素情報Epの値が確定する。但し、色数Ncが“4”の場合には、図8(e)のように、近傍一致情報Vpの符号化データは付加されない。   As a result, when the number of colors Nc is “3” or less, encoded data of the neighborhood match information Vp is generated as shown in FIGS. Further, the value of the mismatch pixel information Ep is determined. However, when the color number Nc is “4”, the encoded data of the neighborhood match information Vp is not added as shown in FIG.

さて、ステップS10に処理が進むと、CPU1401は、不一致画素情報Epが2、3、4、5のいずれであるか否かを判定する。不一致画素情報Epが2、3、4、5のいずれかであるのは、図7からもわかるように、座標(x,y)で示される着目画素Xiの各成分を予測誤差符号化することを示している。 When the process proceeds to step S10, the CPU 1401 determines whether the mismatched pixel information Ep is 2, 3, 4, or 5. The discrepancy pixel information Ep is one of 2, 3, 4, 5, as can be seen from FIG. 7, the prediction error encoding each component of the pixel of interest X i represented by the coordinates (x, y) It is shown that.

従って、不一致画素情報Epが2、3、4、5のいずれかの場合、処理はステップS11に進み、着目画素Xiの各成分を予測誤差符号化し、生成された符号化データを出力する。そして、ステップS12に処理を進める。 Therefore, when the mismatch pixel information Ep is any of 2, 3, 4, and 5, the process proceeds to step S11, and each component of the pixel of interest X i is subjected to prediction error encoding, and the generated encoded data is output. Then, the process proceeds to step S12.

また、ステップS9にて、不一致画素情報Epが0、1のいずれかであると判断した場合には、ステップS11の処理は行なわず、ステップS12に処理を進める。   If it is determined in step S9 that the mismatch pixel information Ep is 0 or 1, the process proceeds to step S12 without performing the process in step S11.

ステップS12では、不一致画素情報Epが1又は3であるか否かを判定する。不一致画素情報Epが1又は3であるのは、図7からもわかるように、座標(x,y)で示される着目画素Xiの次画素Xi+1の各成分を予測誤差符号化することを示している。 In step S12, it is determined whether or not the mismatch pixel information Ep is 1 or 3. The non-matching pixel information Ep is 1 or 3, as can be seen from FIG. 7, predictive error coding is performed for each component of the next pixel X i + 1 of the pixel of interest X i indicated by coordinates (x, y). It is shown that.

従って、不一致画素情報Epが1又は3の場合、処理はステップS13に進み、次画素Xi+1の各成分を予測誤差符号化し、生成された符号化データを出力する。そして、ステップS14に処理を進める。 Accordingly, when the mismatch pixel information Ep is 1 or 3, the process proceeds to step S13, and each component of the next pixel X i + 1 is subjected to prediction error encoding, and the generated encoded data is output. Then, the process proceeds to step S14.

また、ステップS12にて、不一致画素情報Epが0、2、4、5のいずれかであると判断した場合には、ステップS13の処理は行なわず、ステップS14に処理を進める。   If it is determined in step S12 that the mismatched pixel information Ep is any of 0, 2, 4, and 5, the process proceeds to step S14 without performing the process in step S13.

以上の結果、図8(a)乃至(e)の符号化データの生成及び格納が完了したことになる。特に、Ep=0の場合、ステップS11、S13の予測符号化は行なわないので、結局のところ、図8(a)に示すように、近傍一致情報Vpのみの符号化データが生成される。   As a result, the generation and storage of the encoded data in FIGS. 8A to 8E are completed. In particular, when Ep = 0, the predictive encoding in steps S11 and S13 is not performed, and as a result, as shown in FIG. 8A, encoded data of only the neighborhood match information Vp is generated.

ステップS14では、変数xを更新する。具体的には、色数Ncが1又は2の場合には、2画素の符号化データを生成しているので、変数xに“2”を加算する。また、色数Ncが3又は4の場合には、着目画素のみを符号化したので、変数xに“1”を加算する。   In step S14, the variable x is updated. Specifically, when the number of colors Nc is 1 or 2, encoded data of 2 pixels is generated, so “2” is added to the variable x. When the number of colors Nc is 3 or 4, since only the pixel of interest is encoded, “1” is added to the variable x.

そして、ステップS15にて、1ラインの終端画素まで符号化が完了した否かを判定する。これは、変数xと“W”の関係が、「x≧W」となったか否かで判定すれば良い。1ラインの符号化が未完であると判定した場合、ステップS5以降の処理を繰り返す。   In step S15, it is determined whether or not encoding has been completed up to the end pixel of one line. This may be determined based on whether or not the relationship between the variable x and “W” is “x ≧ W”. If it is determined that the encoding of one line is incomplete, the processes after step S5 are repeated.

また、ステップS15にて、1ライン分の符号化処理が完了したと判断した場合、ステップS16に進み、変数yを“1”だけ増加させる。そして、ステップS17にて、変数yとHとを比較することで、最終ラインの符号化処理が完了したか否かを判断する。y<Hであると判断した場合には、ステップS3以降の処理を行なう。   If it is determined in step S15 that the encoding process for one line has been completed, the process proceeds to step S16, and the variable y is increased by “1”. Then, in step S17, it is determined whether or not the encoding process for the final line has been completed by comparing the variables y and H. If it is determined that y <H, the processes after step S3 are performed.

また、ステップS17にて、y=Hであると判断した場合、一連の画像データの符号化処理(1ページ分の符号化処理)を終了する。   If it is determined in step S17 that y = H, the series of image data encoding processing (encoding processing for one page) ends.

以上説明したように、本変形例によれば、先に説明した第1の実施形態における画像符号化装置と同様の処理をコンピュータプログラムによって実現でき、且つ、同様の作用効果を奏することも可能になる。   As described above, according to the present modification, the same processing as that of the image encoding device in the first embodiment described above can be realized by a computer program, and the same operational effects can be achieved. Become.

次に、符号化画像データを復号するコンピュータプログラムの処理手順を図16、図17のフローチャートに従って説明する。なお、本処理は、外部記憶装置1407内に格納された符号化画像データファイルを不図示のGUIを用いて選択され、そのGUIにて復号開始指示の入力を検出した場合の処理である。復号結果は表示装置1406に表示するため、復号して得られた画像データはRAM1402に格納する。勿論、出力先は外部記憶装置1407を出力先としても構わないし、その種類は問わない。   Next, the processing procedure of the computer program for decoding the encoded image data will be described with reference to the flowcharts of FIGS. This process is performed when an encoded image data file stored in the external storage device 1407 is selected using a GUI (not shown), and an input of a decoding start instruction is detected using the GUI. Since the decoding result is displayed on the display device 1406, the image data obtained by decoding is stored in the RAM 1402. Of course, the output destination may be the external storage device 1407, and the type is not limited.

先ず、ステップS21では、復号対象のファイルのヘッダを解析し、復号に必要な情報を取得する。ここでは、画像の水平方向画素数W、垂直方向画素数H、並びに、予測式選択信号mを得る処理がメインとなる。この予測式選択信号mは、予測誤差復号処理を行なう際の着目画素の予測値pの算出式を決定するためのものである。   First, in step S21, the header of the file to be decrypted is analyzed, and information necessary for decryption is acquired. Here, the main process is to obtain the horizontal pixel count W, vertical pixel count H, and prediction formula selection signal m. The prediction formula selection signal m is used to determine a calculation formula for the predicted value p of the pixel of interest when performing the prediction error decoding process.

次いで、ステップS22にて、着目する画素の垂直方向位置を保持する変数(カウンタ)yを0に設定し、ステップS23にて、着目する画素の水平方向位置を保持する変数(カウンタ)xを0に設定する。ここで、変数yの取り得る範囲は0≦y≦W−1であり、変数xの取り得る範囲は0≦x≦H−1となるのは明らかである。   Next, in step S22, a variable (counter) y that holds the vertical position of the pixel of interest is set to 0. In step S23, a variable (counter) x that holds the horizontal position of the pixel of interest is set to 0. Set to. Here, the range that the variable y can take is 0 ≦ y ≦ W−1, and the range that the variable x can take is obviously 0 ≦ x ≦ H−1.

ステップS24では、座標(x、y)を着目画素Xiとしたとき、その近傍画素Xa,Xb,Xc,Xdを復号済み画像データ(RAM1402)から読込み、近傍画素に含まれる色数Ncを算出(もしくは検出)する。色数Ncの算出の原理は既に説明している通りである。また、初期状態では、x=0,y=0であるので、近傍画素Xa,Xb,Xc,Xdはいずれも画像外位置の画素である。このように画像外に位置する画素の各成分値は0と見なして色数Ncを算出する。 In step S24, when the coordinate (x, y) is the pixel of interest X i , the neighboring pixels Xa, Xb, Xc, Xd are read from the decoded image data (RAM 1402), and the number of colors Nc included in the neighboring pixels is calculated. (Or detect). The principle of calculating the number of colors Nc is as already described. Since x = 0 and y = 0 in the initial state, the neighboring pixels Xa, Xb, Xc, and Xd are all pixels outside the image. In this way, each component value of the pixel located outside the image is regarded as 0, and the number of colors Nc is calculated.

ステップS25では、算出した色数Ncが“4”であるか否かを判断する。Nc=4の場合、処理はステップS26に進み、不一致画素情報Epが“5”であるものとして設定し、ステップS29に処理を進める。   In step S25, it is determined whether or not the calculated number of colors Nc is “4”. If Nc = 4, the process proceeds to step S26, where the mismatch pixel information Ep is set as “5”, and the process proceeds to step S29.

一方、色数Ncが“1”、“2”、“3”のいずれかであると判断した場合には、ステップS27に進み、復号しようとしているのは近傍一致情報Vpの符号化データであるものと見なし、近傍一致情報Vpを復号する。そして、ステップS28にて、図7に示すようなテーブルを参照し、色数Ncと、復号して得られた近傍一致情報とに基づき、不一致画素情報Epを算出し、ステップS29に処理を進める。   On the other hand, if it is determined that the color number Nc is any one of “1”, “2”, and “3”, the process proceeds to step S27, and what is to be decoded is the encoded data of the neighborhood match information Vp. The neighborhood match information Vp is decoded. Then, in step S28, the table as shown in FIG. 7 is referred to, and the mismatch pixel information Ep is calculated based on the number of colors Nc and the neighborhood match information obtained by decoding, and the process proceeds to step S29. .

ステップS29では、不一致画素情報Epの値が“0”であるのかを判定する。Epが“0”である場合にはステップS30へ、Epが“0”以外である場合には、ステップS37(図17)へ処理を進める。   In step S29, it is determined whether or not the value of the mismatch pixel information Ep is “0”. If Ep is “0”, the process proceeds to step S30. If Ep is other than “0”, the process proceeds to step S37 (FIG. 17).

ここでは、先ず、不一致画素情報Epが“0”であり、ステップS30に処理を進めた場合について説明する。   Here, first, a case where the mismatch pixel information Ep is “0” and the process proceeds to step S30 will be described.

不一致画素情報Epが“0”であるとき、符号化データは図8(a)のデータ構造となっている。第1の実施形態で説明したように、図8(a)の符号化データは、色数Nc=1又は2の場合には2画素分の符号化データであることを示している。一方、色数Nc=3の場合、図8(a)の符号化データは1画素分の符号化データであることを示している。   When the mismatch pixel information Ep is “0”, the encoded data has a data structure shown in FIG. As described in the first embodiment, the encoded data in FIG. 8A indicates that the encoded data is for two pixels when the number of colors Nc = 1 or 2. On the other hand, when the number of colors Nc = 3, the encoded data in FIG. 8A is encoded data for one pixel.

それ故、ステップS30では、色数Ncが“3”であるか否かを判断する。色数Ncが“3”以外、すなわち、Nc=1又は2であると判断した場合、ステップS31に進む。このステップS31では、図7のテーブルを参照し、復号して得られた近傍一致情報Vpと色数Ncに従って、着目画素Xiと次画素Xi+1を近傍画素の中から決定し、出力する。 Therefore, in step S30, it is determined whether or not the number of colors Nc is “3”. If it is determined that the number of colors Nc is other than “3”, that is, Nc = 1 or 2, the process proceeds to step S31. In step S31, referring to the table of FIG. 7, the target pixel X i and the next pixel X i + 1 are determined from the neighboring pixels according to the neighborhood matching information Vp and the color number Nc obtained by decoding, and output. To do.

また、ステップS30にて、色数Ncが“3”であると判断した場合には、処理はステップS32に進み、色数Ncと復号して得られた近傍一致情報Vpに従い、近傍画素の中から着目画素Xiを決定し、出力する。 If it is determined in step S30 that the number of colors Nc is “3”, the process proceeds to step S32, where the number of colors Nc and the neighborhood matching information Vp obtained by decoding are used to determine the number of neighboring pixels. From this, the target pixel X i is determined and output.

一方、ステップS29にて、不一致画素情報Epが“0”以外であると判断した場合、処理はステップS37に進む。   On the other hand, if it is determined in step S29 that the mismatch pixel information Ep is other than “0”, the process proceeds to step S37.

このステップS37では、不一致画素情報Epが“1”であるか否かを判定する。Ep=1となるのは、符号化データが図8(b)のデータ構造であることを示している。また、図7から、着目画素Xiが近傍画素内のいずれかと等しく、次画素Xi+1が予測符号化されていることを示してもいる。 In this step S37, it is determined whether or not the mismatch pixel information Ep is “1”. Ep = 1 indicates that the encoded data has the data structure shown in FIG. Also, there 7, equal to either the neighboring pixels the target pixel X i is also indicated that the next pixel X i + 1 are predictive coding.

従って、Ep=1であると判定した場合には、ステップS38にて、先ず、復号した近傍一致情報Vpに基づき、近傍画素の中から着目画素Xiを決定し、出力する。そして、ステップS39にて各成分の予測符号化データを用いて、次画素Xi+1を予測復号し、出力する。そして、処理をステップS33に進める。 Therefore, if it is determined that Ep = 1, first, in step S38, the pixel of interest X i is determined from the neighboring pixels based on the decoded neighborhood matching information Vp and output. In step S39, the predictive encoded data of each component is used to predictively decode the next pixel X i + 1 and output it. Then, the process proceeds to step S33.

また、ステップS37では、不一致画素情報Epが“1”以外、すなわち、不一致画素情報Epが“2”以上であると判定した場合、処理はステップS40に進む。   If it is determined in step S37 that the mismatch pixel information Ep is other than “1”, that is, the mismatch pixel information Ep is “2” or more, the process proceeds to step S40.

このステップS40では、不一致画素情報Epが“2”であるか否かを判定する。Ep=2となるのは、符号化データが図8(c)のデータ構造であることを示している。また、図7から、着目画素Xiが近傍画素内のいずれかと異なって予測符号化されており、次画素Xi+1が近傍画素のいずれかと等しいことを示している。 In this step S40, it is determined whether or not the mismatch pixel information Ep is “2”. Ep = 2 indicates that the encoded data has the data structure shown in FIG. Further, from FIG. 7, are predictive encoding different from the one of the neighboring pixels the target pixel X i is next pixel X i + 1 indicates that equal to one of the neighboring pixels.

従って、Ep=2であると判定した場合には、ステップS41にて、先ず、予測符号化データから着目画素Xiを予測復号し、出力する。次いで、ステップS42にて、復号した近傍一致情報Vpに基づき、着目画素Xiの近傍画素の中から次画素Xi+1を決定し、出力する。そして、処理をステップS33に進める。 Therefore, if it is determined that Ep = 2, first, in step S41, the pixel of interest X i is predictively decoded from the prediction encoded data and output. Next, in step S42, the next pixel X i + 1 is determined from the neighboring pixels of the pixel of interest X i based on the decoded neighborhood matching information Vp and output. Then, the process proceeds to step S33.

また、ステップS40にて、不一致画素情報Epが“2”以外、すなわち、不一致画素情報Epが“3”以上であると判定した場合、処理はステップS43に進む。   If it is determined in step S40 that the mismatch pixel information Ep is other than “2”, that is, the mismatch pixel information Ep is “3” or more, the process proceeds to step S43.

Ep=3、4、5となったとき、符号化データは図8(c)、(d)、(e)のいずれかのデータ構造であることを示している。これらの符号化データの構造の共通点は、着目画素Xiが予測符号化されていることである。従って、ステップS43にて、予測符号化データを用いて、着目画素Xiを復号し、出力する。 When Ep = 3, 4, and 5, it indicates that the encoded data has one of the data structures shown in FIGS. 8C, 8D, and 8E. The common point of the structure of these encoded data is that the pixel of interest X i is predictively encoded. Therefore, in step S43, the target pixel X i is decoded and output using the predicted encoded data.

次いで、ステップS44にて、不一致画素情報Epが“3”であるか否かを判定する。Ep=3の場合、符号化データは図8(d)のデータ構造である。従って、ステップS45にて、次画素Xi+1を、予測復号し、出力する。そして、処理をステップS33に進める。 Next, in step S44, it is determined whether or not the mismatch pixel information Ep is “3”. When Ep = 3, the encoded data has the data structure shown in FIG. Accordingly, in step S45, the next pixel X i + 1 is predictively decoded and output. Then, the process proceeds to step S33.

また、ステップS44にて、不一致画素情報Epが“4”又は“5”であると判定した場合、符号化データは図8(c),(e)のいずれかであり、着目画素XiはステップS43にて既に復号されているので、ステップS45の処理は行なわず、ステップSS33に進める。 If it is determined in step S44 that the mismatched pixel information Ep is “4” or “5”, the encoded data is one of FIGS. 8C and 8E, and the target pixel X i is Since it has already been decoded in step S43, the process proceeds to step SS33 without performing the process of step S45.

以上のようにして、不一致画素情報Epに基づき、1画素、又は2画素の復号処理が行われると、処理はステップS33(図16)に進む。   As described above, when one pixel or two pixels are decoded based on the mismatch pixel information Ep, the process proceeds to step S33 (FIG. 16).

このステップS33(図16)では、変数xを更新する。このステップS33では、1つの符号化データから2つの画素を復号して出力した場合、すなわち、ステップS31、S39、S42、S45の処理を行なった場合、変数xに“2”を加算する。また、1つの符号化データから1つの画素を復号出力した場合、すなわち、ステップS32、S44がNoの場合、変数xに“1”を加算する。   In step S33 (FIG. 16), the variable x is updated. In step S33, when two pixels are decoded and output from one encoded data, that is, when the processes of steps S31, S39, S42, and S45 are performed, “2” is added to the variable x. Further, when one pixel is decoded and output from one encoded data, that is, when Steps S32 and S44 are No, “1” is added to the variable x.

ステップS34では、1ライン分の復号処理が完了したか否かを判断する。この判断は、変数x≧Wであるか否かを判断すればよい。1ライン分の復号処理が未完(x<W)であると判断した場合には、ステップS24以降の処理を行なう。また、1ライン分の復号処理が完了(x≧W)したと判断した場合には、ステップS35に進み変数yを“1”加算する。そして、ステップS36にて、全ラインの復号処理が完了したか否か、換言すれば、y=Hとなったか否かを判断する。全ラインの復号処理が未完(y<H)であると判断した場合にはステップS23以降の処理を行なう。そして、全ラインの復号処理が完了(y=H)であると判断した場合には、1ページの画像の復号処理が完了したものとし、本処理を終了する。   In step S34, it is determined whether or not the decoding process for one line has been completed. This determination may be made by determining whether or not the variable x ≧ W. When it is determined that the decoding process for one line is incomplete (x <W), the processes after step S24 are performed. If it is determined that the decoding process for one line has been completed (x ≧ W), the process proceeds to step S35 and the variable y is incremented by “1”. In step S36, it is determined whether or not the decoding process for all lines has been completed, in other words, whether or not y = H. If it is determined that the decoding process for all lines is incomplete (y <H), the process from step S23 is performed. If it is determined that the decoding process for all lines is complete (y = H), it is assumed that the decoding process for one page of images has been completed, and this process ends.

以上説明したように本変形例によれば、先に説明した第1の実施形態と等価の処理をコンピュータプログラムによって実現でき、第1の実施形態と同様の作用効果を奏することが可能になる。   As described above, according to this modification, processing equivalent to that of the first embodiment described above can be realized by a computer program, and the same effect as that of the first embodiment can be achieved.

[その他の実施形態]
上記実施形態では、色数Ncが“3”の場合、近傍一致情報Vpの値は0乃至3の値を持った(図7参照)。そして、図12(c)に示すように、近傍一致情報Vpの値に対し、1乃至3ビットの符号語を割り当てた。対象とする画像の種類にも依存するが、色数Ncが“3”となり、着目画素Xiが近傍画素と一致する高い確率が望めない場合、近傍一致情報Vpの符号語は3ビットとなる可能性が高い。
[Other Embodiments]
In the above embodiment, when the number of colors Nc is “3”, the value of the neighborhood match information Vp has a value of 0 to 3 (see FIG. 7). Then, as shown in FIG. 12C, a code word of 1 to 3 bits is assigned to the value of the neighborhood match information Vp. Although it depends on the type of target image, if the number of colors Nc is “3” and a high probability that the pixel of interest X i matches a neighboring pixel cannot be expected, the code word of the neighborhood matching information Vp is 3 bits. Probability is high.

そこで、色数Nc=3の場合に、第1の画素値X1、第2の画素値X2と一致/不一致を判定し、第3の画素X3との一致不一致は判定しないようにしても構わない。   Therefore, when the number of colors Nc = 3, it is possible to determine whether the first pixel value X1 and the second pixel value X2 match / mismatch, and not to determine matching / mismatch with the third pixel X3. .

すなわち、着目画素Xi=X1の場合にはVp=0、Xi=X2の場合にはVp=1とする。そして、Xi≠X1且つXi≠X2の場合にはVp=3というように0,1,3の3値を取るシンボル(近傍一致情報VpとNcを比較する処理を考慮し、あえて“2”を除いた)を符号化するようにしても良い。3つのシンボルしか存在しないわけであるから、二進符号語として0、10、11を割り当てると、近傍一致情報Vpは最大でも2ビットにできる。 That is, Vp = 0 when the pixel of interest X i = X1, and Vp = 1 when X i = X2. In the case of X i ≠ X 1 and X iX 2, a symbol that takes three values of 0, 1, 3 such as Vp = 3 (a process of comparing the neighborhood match information Vp and Nc is considered and “2 May be encoded). Since there are only three symbols, if 0, 10, and 11 are assigned as binary codewords, the neighborhood match information Vp can be 2 bits at the maximum.

また、実施形態では、X1,X2,X3は、近傍画素Xa,Xb,Xc,Xdの順に並べて決定したが、これによっても本願発明が限定されない。例えば、色数Ncに依存して、Xa,Xb,Xc,Xdを並べ替えても構わない。   In the embodiment, X1, X2, and X3 are determined in the order of neighboring pixels Xa, Xb, Xc, and Xd. However, the present invention is not limited to this. For example, Xa, Xb, Xc, and Xd may be rearranged depending on the number of colors Nc.

また、近傍一致情報の符号化として、あらかじめ確率分布を想定して定めた符号語を用いる方法を示したが、上述の例とは異なる符号語を用いても良いし、算術符号などことなる符号化方式を適用しても構わない。   In addition, as a method of encoding neighborhood match information, a method using a code word determined in advance assuming a probability distribution has been shown. However, a code word different from the above example may be used, or a code different from an arithmetic code or the like may be used. You may apply a conversion method.

また、着目する成分値の予測方法としては、幾つかの予測方法を用意して、適応的に切り換えても構わないし、符号化済みの各成分値に発生した予測誤差の平均値を着目する成分の予測にフィードバックするなど、非線形な予測を用いても構わない。   In addition, as a prediction method of a component value to be focused on, several prediction methods may be prepared and switched adaptively, or a component that focuses on an average value of prediction errors generated in each encoded component value It is also possible to use non-linear prediction such as feedback to the prediction.

また、ここでは成分値の予測誤差のエントロピー符号化としてハフマン符号化を用いる例について示したが、Golomb符号化など、これ以外のエントロピー符号化を用いも良い。   Although an example in which Huffman coding is used as the entropy coding of the component value prediction error is shown here, other entropy coding such as Golomb coding may be used.

また、着目画素Xiの周囲画素値としてXa,Xb,Xc,Xdを参照する例について示したが、もっと多くの画素を参照しても良いし、XaとXbだけといったように参照画素数を減らしても構わない。 Further, although an example in which Xa, Xb, Xc, and Xd are referred to as the surrounding pixel values of the pixel of interest X i has been shown, more pixels may be referred to, or the number of reference pixels may be set such as only Xa and Xb. You can reduce it.

また、実施形態では、RGB画像データを符号化対象としたが、これ以外の色空間の画像でも構わない。例えば、YMC画像、Lab画像や、YCrCb画像など、複数成分から成る画像データであれば適用可能である。   In the embodiment, the RGB image data is the encoding target, but an image in a color space other than this may be used. For example, image data composed of a plurality of components, such as YMC images, Lab images, and YCrCb images, can be applied.

さて、実施形態及びその変形例では、4つの近傍画素に含まれる色数Ncを求めた。そして、色数Nc=1又は2の場合、2画素から1つの符号化データを生成した。また、色数Nc=3又は4の場合、1画素から1つの符号化データを生成した。   In the embodiment and its modification, the number of colors Nc included in the four neighboring pixels is obtained. When the number of colors Nc = 1 or 2, one encoded data is generated from two pixels. When the number of colors Nc = 3 or 4, one encoded data is generated from one pixel.

これは、色数Ncが小さいほど、同じ色を持つ画素が連続する確率が高いことを利用したためである。かかる点を別な表現で示すと、色数Ncが閾値以下(実施形態では“2”)の場合、複数画素から1つの符号化データを生成し、色数Ncがその閾値を超える場合は1画素から1つの符号化データを生成していることに他ならない。   This is because the smaller the number of colors Nc, the higher the probability that pixels having the same color will continue. In other words, when the number of colors Nc is equal to or less than a threshold (in the embodiment, “2”), one piece of encoded data is generated from a plurality of pixels, and when the number of colors Nc exceeds the threshold, 1 This is nothing but generating one piece of encoded data from a pixel.

これを更に発展させ、色数Nc=1の場合には、3画素から1つの符号化データを生成し、色数Nc=2の場合には2画素から1つの符号化データを生成し、色数Nc=3又は4の場合には1画素から1つの符号化データを生成しても良いであろう。すなわち、近傍画素の個数を仮にM個とし、その中に含まれる色数Ncと定義し、Ncが小さいほど、大きな値(整数)を返す関数f(Nc)(もしくはテーブル)を用意し、f(Nc)個の画素から1つの符号化データを生成するようにしても良い。このとき、f(Nc)=Mの場合、すなわち、色数Ncが近傍画素数と一致する場合には近傍一致情報Vpの符号化は不要である。但し、一度に符号化可能な画素数が増えるほど、近傍一致情報Vpのとり得る値の範囲が大きくなり、近傍一致情報Vpの符号語のビット数も増える可能性が高くなる点に注意すべきである。   Further developing this, when the number of colors Nc = 1, one encoded data is generated from three pixels, and when the number of colors Nc = 2, one encoded data is generated from two pixels. In the case of the number Nc = 3 or 4, one encoded data may be generated from one pixel. That is, the number of neighboring pixels is assumed to be M, and is defined as the number of colors Nc included therein, and a function f (Nc) (or table) that returns a larger value (integer) as Nc is smaller is prepared. One encoded data may be generated from (Nc) pixels. At this time, if f (Nc) = M, that is, if the number of colors Nc matches the number of neighboring pixels, it is not necessary to encode the neighborhood matching information Vp. However, it should be noted that as the number of pixels that can be encoded at a time increases, the range of possible values of the neighborhood match information Vp increases, and the number of bits of the codeword of the neighborhood match information Vp increases. It is.

また、実施形態で説明したように本発明は、コンピュータプログラムによっても実現できる。通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが備える読取り装置にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇に入ることは明らかである。   Further, as described in the embodiments, the present invention can also be realized by a computer program. Usually, the computer program is stored in a computer-readable storage medium such as a CD-ROM, and can be executed by setting it in a reader provided in the computer and copying or installing it in the system. Therefore, it is obvious that such a computer readable storage medium falls within the scope of the present invention.

実施形態における画像符号化装置のブロック構成図である。It is a block block diagram of the image coding apparatus in embodiment. 従来の予測符号化装置のブロック構成図である。It is a block block diagram of the conventional prediction encoding apparatus. 符号化対象画素とその近傍画素の相対位置関係を示す図である。It is a figure which shows the relative positional relationship of an encoding object pixel and its vicinity pixel. 予測式選択信号mに対応する予測式を示す図である。It is a figure which shows the prediction formula corresponding to the prediction formula selection signal m. 予測誤差eとグループ番号SSSSとの対応を示す図である。It is a figure which shows a response | compatibility with the prediction error e and group number SSSS. グループ番号SSSSと符号語との対応を示すテーブルを示す図である。It is a figure which shows the table which shows a response | compatibility with group number SSSS and a code word. 色数Nc、近傍一致情報Vp、不一致画素情報Epとの対応関係を示す図である。It is a figure which shows the correspondence with the number of colors Nc, proximity | contact matching information Vp, and mismatching pixel information Ep. 実施形態の符号化装置で生成される符号化データのデータ構成を示す図である。It is a figure which shows the data structure of the encoding data produced | generated with the encoding apparatus of embodiment. 実施形態の符号化装置で生成される符号化画像データファイルのデータ構成を示す図である。It is a figure which shows the data structure of the encoding image data file produced | generated with the encoding apparatus of embodiment. 実施形態における復号装置のセレクタの動作内容を説明するためのテーブルを示す図である。It is a figure which shows the table for demonstrating the operation | movement content of the selector of the decoding apparatus in embodiment. 実施形態における復号装置のスイッチの動作内容を説明するためのテーブルを示す図である。It is a figure which shows the table for demonstrating the operation | movement content of the switch of the decoding apparatus in embodiment. 近傍一致情報Vpの符号化及び復号時に用いるテーブルを示す図である。It is a figure which shows the table used at the time of encoding and decoding of the near match information Vp. 実施形態における画像復号装置のブロック構成図である。It is a block block diagram of the image decoding apparatus in embodiment. 情報処理装置のブロック構成図である。It is a block block diagram of information processing apparatus. 画像データの符号化処理をコンピュータプログラムで実現する際の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of implement | achieving the encoding process of image data with a computer program. 画像データの復号処理をコンピュータプログラムで実現する際の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of implement | achieving the decoding process of image data with a computer program. 画像データの復号処理をコンピュータプログラムで実現する際の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of implement | achieving the decoding process of image data with a computer program.

Claims (12)

画像データを可逆符号化する画像符号化装置であって、
画像データをラスター順に入力する入力手段と、
入力した画像中の符号化対象の着目画素Xiの近傍に位置し、既に符号化された複数の近傍画素に含まれる色数を判定する色数判定手段と、
該色数判定手段で判定された色数が、予め定められた色数Cn以上である場合、着目画素Xiを可逆符号化し、符号化データを生成する第1の可逆符号化手段と、
前記色数判定手段で判定した色数が、前記予め定めた色数Cnより少ない場合、1つの符号化データを生成するための符号化対象の画素数を決定する画素数決定手段と、
該画素数決定手段で決定された符号化対象の画素数をn(n≧1)と定義したとき、n個の画素Xi,Xi+1,…,Xnそれぞれと、前記複数の近傍画素それぞれとを比較し、前記n個の画素それぞれについて、同色の画素が前記複数の近傍画素の中に存在するか否かを示すと共に、同色の画素が存在する場合には当該同色となる近傍画素の位置を示すベクトル情報を生成するベクトル情報生成手段と、
該ベクトル情報生成手段で生成されたベクトル情報を符号化し、符号化ベクトルデータを生成するベクトル情報符号化手段と、
前記複数の近傍画素の中に、同色の画素が存在しないと判定された前記n個の画素中の画素それぞれを可逆符号化する第2の可逆符号化手段と、
前記色数判定手段で判定された色数が前記予め定められた色数Cn以上である場合、前記第1の可逆符号化手段で生成された符号化データを出力し、
前記色数判定手段で判定された色数が前記予め定められた色数Cnより少ない場合、前記ベクトル情報符号化手段で生成された符号化ベクトルデータと前記第2の可逆符号化手段で得られた符号化データを出力する出力手段と
を備えることを特徴とする画像符号化装置。
An image encoding device for losslessly encoding image data,
Input means for inputting image data in raster order;
Color number determination means for determining the number of colors included in a plurality of neighboring pixels that have been encoded and are located in the vicinity of the target pixel Xi to be encoded in the input image;
A first lossless encoding means for reversibly encoding the pixel of interest Xi and generating encoded data when the number of colors determined by the color number determination means is equal to or greater than a predetermined color number Cn;
A pixel number determination unit that determines the number of pixels to be encoded for generating one encoded data when the number of colors determined by the color number determination unit is less than the predetermined color number Cn;
When the number of pixels to be encoded determined by the pixel number determining means is defined as n (n ≧ 1), each of the n pixels Xi, Xi + 1,. For each of the n pixels, it indicates whether or not a pixel of the same color exists in the plurality of neighboring pixels, and if there is a pixel of the same color, the position of the neighboring pixel that is the same color Vector information generating means for generating vector information indicating
Vector information encoding means for encoding vector information generated by the vector information generation means and generating encoded vector data;
A second lossless encoding means for losslessly encoding each of the pixels in the n pixels determined to have no pixel of the same color among the plurality of neighboring pixels;
When the number of colors determined by the color number determination unit is equal to or greater than the predetermined number of colors Cn, the encoded data generated by the first lossless encoding unit is output,
When the number of colors determined by the color number determination means is less than the predetermined number of colors Cn, the encoded vector data generated by the vector information encoding means and the second lossless encoding means are obtained. And an output means for outputting the encoded data.
前記予め定めた色数Cnは、前記複数の近傍画素の数であることを特徴とする請求項1に記載の画像符号化装置。   The image coding apparatus according to claim 1, wherein the predetermined number of colors Cn is the number of the plurality of neighboring pixels. 前記色数判定手段は、前記複数の近傍画素に含まれる色数が小さいほど前記nを大きな値にすることを特徴とする請求項1又は2に記載の画像符号化装置。   3. The image encoding apparatus according to claim 1, wherein the number-of-colors determination unit sets the n to a larger value as the number of colors included in the plurality of neighboring pixels is smaller. 前記着目画素Xiの座標を(x,y)とし、着目画素XiのデータをP(x,y)と定義したとき、
前記複数の近傍画素は以下の4つの画素Xa、Xb,Xc,Xdであって、
Xa=P(x−1,y)
Xb=P(x,y−1)
Xc=P(x−1,y−1)
Xd=P(x+1,y−1)
前記画素数決定手段は、前記色数判定手段で判定された色数が1又は2の場合、符号化する画素数を2と判定し、前記色数判定手段で判定された色数が3の場合、符号化する画素数を1と判定する
ことを特徴とする請求項3に記載の画像符号化装置。
When the coordinates of the pixel of interest Xi are defined as (x, y) and the data of the pixel of interest Xi is defined as P (x, y),
The plurality of neighboring pixels are the following four pixels Xa, Xb, Xc, Xd,
Xa = P (x-1, y)
Xb = P (x, y-1)
Xc = P (x-1, y-1)
Xd = P (x + 1, y-1)
The pixel number determining means determines that the number of pixels to be encoded is 2 when the number of colors determined by the color number determining means is 1 or 2, and the number of colors determined by the color number determining means is 3 In this case, it is determined that the number of pixels to be encoded is 1. The image encoding device according to claim 3,
前記ベクトル情報符号化手段は、複数の符号化テーブルを有し、前記色数判定手段で判定された色数に従って、前記複数の符号化テーブルの1つを選択し、当該選択した符号化テーブルを用いて前記ベクトル情報を符号化することを特徴とする請求項1乃至4のいずれか1項に記載の画像符号化装置。   The vector information encoding means has a plurality of encoding tables, selects one of the plurality of encoding tables according to the number of colors determined by the number of colors determination means, and selects the selected encoding table. The image encoding apparatus according to claim 1, wherein the vector information is encoded using the image encoding apparatus. 前記第1、第2の可逆符号化手段は、予測誤差符号化手段であることを特徴とする請求項1乃至5のいずれか1項に記載の画像符号化装置。   6. The image encoding apparatus according to claim 1, wherein the first and second lossless encoding units are prediction error encoding units. 画像データを可逆符号化する画像符号化装置の制御方法であって、
画像データをラスター順に入力する入力工程と、
入力した画像中の符号化対象の着目画素Xiの近傍に位置し、既に符号化された複数の近傍画素に含まれる色数を判定する色数判定工程と、
該色数判定工程で判定された色数が予め定めた色数Cn以上である場合、着目画素Xiを可逆符号化し、符号化データを生成する第1の可逆符号化工程と、
前記色数判定工程で判定した色数が、前記予め定めた色数Cnより少ない場合、1つの符号化データを生成するための符号化対象の画素数を決定する画素数決定工程と、
該画素数決定工程で決定された符号化対象の画素数をn(n≧1)と定義したとき、n個の画素Xi,Xi+1,…,Xnそれぞれと、前記複数の近傍画素それぞれとを比較し、前記n個の画素それぞれについて、同色の画素が前記複数の近傍画素の中に存在するか否かを示すと共に、同色の画素が存在する場合には当該同色となる近傍画素の位置を示すベクトル情報を生成するベクトル情報生成工程と、
該ベクトル情報生成工程で生成されたベクトル情報を符号化し、符号化ベクトルデータを生成するベクトル情報符号化工程と、
前記複数の近傍画素の中に、同色の画素が存在しないと判定された前記n個の画素中の画素それぞれを可逆符号化する第2の可逆符号化工程と、
前記色数判定工程で判定された色数が前記予め定めた色数Cn以上である場合、前記第1の可逆符号化工程で生成された符号化データを出力し、
前記色数判定工程で判定された色数が前記予め定めた色数Cnより少ない場合、前記ベクトル情報符号化工程で生成された符号化ベクトルデータと前記第2の可逆符号化工程で得られた符号化データを出力する出力工程と
を備えることを特徴とする画像符号化装置の制御方法。
A control method for an image encoding device that performs lossless encoding of image data,
An input process for inputting image data in raster order;
A color number determination step for determining the number of colors included in a plurality of already-encoded neighboring pixels located in the vicinity of the target pixel Xi to be encoded in the input image;
When the number of colors determined in the number-of-colors determination step is equal to or greater than a predetermined number of colors Cn, the first lossless encoding step of reversibly encoding the pixel of interest Xi and generating encoded data;
When the number of colors determined in the number-of-colors determination step is less than the predetermined number of colors Cn, a number-of-pixels determining step for determining the number of pixels to be encoded for generating one encoded data;
When the number of pixels to be encoded determined in the pixel number determining step is defined as n (n ≧ 1), each of the n pixels Xi, Xi + 1,. For each of the n pixels, it indicates whether or not a pixel of the same color exists in the plurality of neighboring pixels, and if there is a pixel of the same color, the position of the neighboring pixel that is the same color A vector information generating step for generating vector information indicating:
A vector information encoding step for encoding vector information generated in the vector information generation step and generating encoded vector data;
A second lossless encoding step of losslessly encoding each of the pixels in the n pixels determined to have no pixel of the same color among the plurality of neighboring pixels;
When the number of colors determined in the number-of-colors determination step is equal to or greater than the predetermined number of colors Cn, the encoded data generated in the first lossless encoding step is output,
When the number of colors determined in the color number determination step is less than the predetermined number of colors Cn, the encoded vector data generated in the vector information encoding step and the second lossless encoding step are obtained. An image encoding device control method comprising: an output step of outputting encoded data.
コンピュータが読込み実行することで、当該コンピュータを請求項1乃至6のいずれか1項に記載の画像符号化装置として機能させることを特徴とするコンピュータプログラム。   A computer program that causes a computer to function as the image encoding device according to any one of claims 1 to 6 when the computer reads and executes the computer program. 請求項1に記載の画像符号化装置で生成された符号化データを復号する画像復号装置であって、
ラスター順に符号化された符号化画像データを入力する入力手段と、
復号済みの画素データをメモリに格納する格納手段と、
復号対象の着目画素Xiの近傍に位置し、前記メモリ中の既に復号された複数の近傍画素に含まれる色数を判定する色数判定手段と、
該色数判定手段で判定された色数が予め定めた色数Cn以上である場合、復号対象の符号化データは着目画素の可逆符号化データであるものとして、着目画素を復号する第1の可逆復号手段と、
前記色数判定手段で判定した色数が、前記予め定めた色数Cnより少ない場合、復号対象の符号化データは符号化ベクトルデータと見なし、当該符号化ベクトルデータを復号し、ベクトル情報を生成するベクトル情報復号手段と、
前記色数及び前記ベクトル情報に基づき、符号化された画素数を示すnを決定し、当該n個の画素Xi,Xi+1,…,Xnの中で、前記複数の近傍画素中の同色となる画素については、前記複数の近傍画素の中の、前記ベクトル情報で特定された位置の画素データを復号結果として出力し、
前記n個の画素Xi,Xi+1,…,Xnの中で、前記複数の近傍画素のいずれとも一致しない画素については、前記符号化ベクトルデータに後続して入力される可逆符号化データを可逆復号して、出力する第2の可逆復号手段と
を備えることを特徴とする画像復号装置。
An image decoding apparatus for decoding encoded data generated by the image encoding apparatus according to claim 1,
Input means for inputting encoded image data encoded in raster order;
Storage means for storing the decoded pixel data in a memory;
Color number determination means for determining the number of colors located in the vicinity of the pixel of interest Xi to be decoded and included in a plurality of already decoded neighboring pixels in the memory;
When the number of colors determined by the number-of-colors determination unit is equal to or greater than a predetermined number of colors Cn, the first target pixel is decoded by assuming that the encoded data to be decoded is lossless encoded data of the target pixel. Lossless decoding means;
When the number of colors determined by the number-of-colors determination unit is smaller than the predetermined number of colors Cn, the encoded data to be decoded is regarded as encoded vector data, and the encoded vector data is decoded to generate vector information Vector information decoding means,
Based on the number of colors and the vector information, n indicating the number of encoded pixels is determined, and among the n pixels Xi, Xi + 1,..., Xn, the same color in the plurality of neighboring pixels is determined. For the pixel, the pixel data at the position specified by the vector information among the plurality of neighboring pixels is output as a decoding result,
Among the n pixels Xi, Xi + 1,..., Xn, for the pixels that do not match any of the plurality of neighboring pixels, the lossless encoded data input subsequent to the encoded vector data is reversible. And a second lossless decoding means for decoding and outputting the image decoding apparatus.
請求項1に記載の画像符号化装置で生成された符号化データを復号する画像復号装置の制御方法であって、
ラスター順に符号化された符号化画像データを入力する入力工程と、
復号済みの画素データをメモリに格納する格納工程と、
復号対象の着目画素Xiの近傍に位置し、前記メモリ中の既に復号された複数の近傍画素に含まれる色数を判定する色数判定工程と、
該色数判定工程で判定された色数が予め定めた色数Cn以上である場合、復号対象の符号化データは着目画素の可逆符号化データであるものとして、着目画素を復号する第1の可逆復号工程と、
前記色数判定工程で判定した色数が、前記予め定めた色数Cnより少ない場合、復号対象の符号化データは符号化ベクトルデータと見なし、当該符号化ベクトルデータを復号し、ベクトル情報を生成するベクトル情報復号工程と、
前記色数及び前記ベクトル情報に基づき、符号化された画素数を示すnを決定し、当該n個の画素Xi,Xi+1,…,Xnの中で、前記複数の近傍画素中の同色となる画素については、前記複数の近傍画素の中の、前記ベクトル情報で特定された位置の画素データを復号結果として出力し、
前記n個の画素Xi,Xi+1,…,Xnの中で、前記複数の近傍画素のいずれとも一致しない画素については、前記符号化ベクトルデータに後続して入力される可逆符号化データを可逆復号して、出力する第2の可逆復号工程と
を備えることを特徴とする画像復号装置の制御方法。
A control method for an image decoding device for decoding encoded data generated by the image encoding device according to claim 1, comprising:
An input step of inputting encoded image data encoded in raster order;
A storage step of storing the decoded pixel data in a memory;
A color number determination step for determining the number of colors included in a plurality of already decoded neighboring pixels in the memory, located in the vicinity of the target pixel Xi to be decoded;
When the number of colors determined in the number-of-colors determination step is equal to or greater than a predetermined number of colors Cn, it is assumed that the encoded data to be decoded is lossless encoded data of the target pixel, and the first pixel that decodes the target pixel A lossless decoding process;
When the number of colors determined in the color number determination step is smaller than the predetermined number of colors Cn, the encoded data to be decoded is regarded as encoded vector data, and the encoded vector data is decoded to generate vector information A vector information decoding step,
Based on the number of colors and the vector information, n indicating the number of encoded pixels is determined, and among the n pixels Xi, Xi + 1,..., Xn, the same color in the plurality of neighboring pixels is determined. For the pixel, the pixel data at the position specified by the vector information among the plurality of neighboring pixels is output as a decoding result,
Among the n pixels Xi, Xi + 1,..., Xn, for the pixels that do not match any of the plurality of neighboring pixels, the lossless encoded data input subsequent to the encoded vector data is reversible. And a second lossless decoding step of decoding and outputting the control method.
コンピュータが読込み実行することで、当該コンピュータを請求項9に記載の画像復号装置として機能させることを特徴とするコンピュータプログラム。   A computer program that causes a computer to function as the image decoding device according to claim 9 by being read and executed by the computer. 請求項8又は11に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。   A computer-readable storage medium storing the computer program according to claim 8 or 11.
JP2007046295A 2007-02-26 2007-02-26 Image encoding device, image decoding device, and control method of them Withdrawn JP2008211527A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007046295A JP2008211527A (en) 2007-02-26 2007-02-26 Image encoding device, image decoding device, and control method of them

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007046295A JP2008211527A (en) 2007-02-26 2007-02-26 Image encoding device, image decoding device, and control method of them

Publications (1)

Publication Number Publication Date
JP2008211527A true JP2008211527A (en) 2008-09-11

Family

ID=39787458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007046295A Withdrawn JP2008211527A (en) 2007-02-26 2007-02-26 Image encoding device, image decoding device, and control method of them

Country Status (1)

Country Link
JP (1) JP2008211527A (en)

Similar Documents

Publication Publication Date Title
JP4732203B2 (en) Image encoding apparatus, decoding apparatus, control method therefor, computer program, and computer-readable storage medium
US8331705B2 (en) Image encoding apparatus and method of controlling the same
US7650039B2 (en) Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium
JP4418762B2 (en) Image encoding apparatus, image decoding apparatus, control method thereof, computer program, and computer-readable storage medium
US7912300B2 (en) Image processing apparatus and control method therefor
US7689048B2 (en) Image encoding apparatus, method, and computer-readable storage medium for encoding a pixel value
US7826670B2 (en) Data compression apparatus and data compression program storage medium
JP4522199B2 (en) Image encoding apparatus, image processing apparatus, control method therefor, computer program, and computer-readable storage medium
JP4829836B2 (en) Image encoding apparatus, control method for image encoding apparatus, computer program, decoding apparatus, and computer-readable storage medium
JP2008301373A (en) Image encoding apparatus, image decoding apparatus, and control method thereof
JP2008211527A (en) Image encoding device, image decoding device, and control method of them
JPWO2020059051A1 (en) Video coding device, video coding method, video coding program, video decoding device, video decoding method, and video decoding program
JP2008078826A (en) Image processor and its control method
JP2008022376A (en) Image processing device, control method thereof, computer program, and computer readable storage medium
JP2009071472A (en) Image encoding method, image decoding method, image encoder, image decoder and semiconductor integrated circuit
WO2013073138A1 (en) Motion vector coding apparatus, method and program
JP4343862B2 (en) Image encoding apparatus, image decoding apparatus, control method thereof, computer program, and computer-readable storage medium
JP5432690B2 (en) Image coding apparatus and control method thereof
JP4343863B2 (en) Image encoding device, image decoding device, and control method thereof
JP2009076992A (en) Image coding device and its control method
JP4771541B2 (en) Image encoding apparatus and method, computer program, and computer-readable storage medium
JP5523177B2 (en) Image coding apparatus and control method thereof
JP2008109194A (en) Image encoding device and image decoding device, control method thereof, computer program, and computer-readable storage medium
JP4971881B2 (en) Image encoding apparatus, image decoding apparatus, and control method thereof
JP2008227864A (en) Image encoder and decoder, and control method of these devices

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