JP5039425B2 - Image coding apparatus and control method thereof - Google Patents

Image coding apparatus and control method thereof Download PDF

Info

Publication number
JP5039425B2
JP5039425B2 JP2007117556A JP2007117556A JP5039425B2 JP 5039425 B2 JP5039425 B2 JP 5039425B2 JP 2007117556 A JP2007117556 A JP 2007117556A JP 2007117556 A JP2007117556 A JP 2007117556A JP 5039425 B2 JP5039425 B2 JP 5039425B2
Authority
JP
Japan
Prior art keywords
pixel
data
encoding
encoded data
scan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007117556A
Other languages
Japanese (ja)
Other versions
JP2008278041A (en
JP2008278041A5 (en
Inventor
晃生 中川
尚 石川
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 JP2007117556A priority Critical patent/JP5039425B2/en
Priority to US12/107,844 priority patent/US8031954B2/en
Publication of JP2008278041A publication Critical patent/JP2008278041A/en
Publication of JP2008278041A5 publication Critical patent/JP2008278041A5/ja
Application granted granted Critical
Publication of JP5039425B2 publication Critical patent/JP5039425B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は画像の符号化技術に関するものである。   The present invention relates to an image encoding technique.

従来、画像を符号化する方法として、直交変換を用いたJPEG符号化などの方法あった。ここで簡単にJPEG符号化について説明する。まず画像を8×8画素のブロックに分割し、各ブロックに対してDCT(離散コサイン変換)を行う。続いてDCTで得られた8×8個のDCT係数値に対して、量子化テーブルを用いて量子化を行う。量子化テーブルは通常、高周波成分ほど量子化ステップ幅を大きくするため、量子化後の値は高周波成分ほど小さな値になり、0の発生頻度が高くなる。   Conventionally, as a method of encoding an image, there has been a method such as JPEG encoding using orthogonal transformation. Here, JPEG encoding will be briefly described. First, an image is divided into 8 × 8 pixel blocks, and DCT (discrete cosine transform) is performed on each block. Subsequently, the 8 × 8 DCT coefficient values obtained by DCT are quantized using a quantization table. Since the quantization table usually increases the quantization step width for higher frequency components, the value after quantization becomes smaller for higher frequency components, and the frequency of occurrence of 0 increases.

続いて量子化後の値に対して符号化を行うが、符号化のプロセスはDC成分とAC成分で異なる。DC成分に関しては、ブロック間の相関が強いため差分予測符号化を行った後、ハフマン符号化される。差分予測符号化は直前の値との差を符号化する方式である。ハフマン符号化は、発生頻度の高い値には短い符号を、発生頻度の低い値には長い符号を与えることで結果的に全体の符号長を短くする符号化方法である。AC成分に関しては、ランレングス符号化を行った後、ハフマン符号化を行う。ランレングス符号化は、同一の値が長く続くほど符号化率が向上する符号化方法である。なお、量子化後の値に対してジグザグスキャンを行うことにより、高周波成分の0の値を連続させることで符号化効率を向上させている。   Subsequently, the quantized value is encoded, but the encoding process is different between the DC component and the AC component. As for the DC component, since the correlation between the blocks is strong, the differential prediction coding is performed, and then the Huffman coding is performed. Differential prediction encoding is a method for encoding a difference from the immediately preceding value. Huffman coding is a coding method that shortens the overall code length by giving short codes to values with high occurrence frequency and long codes to values with low occurrence frequency. For AC components, Huffman coding is performed after run-length coding. Run-length coding is a coding method in which the coding rate increases as the same value continues for a long time. Note that by performing zigzag scanning on the quantized values, the encoding efficiency is improved by making the zero value of the high frequency component continuous.

JPEG符号化は自然画像に対しては良好な圧縮方法である。しかし、その一方で、JPEG符号化は、文字や線画などの含まれる画像に対しては、画像の高周波成分が失われることを原因とするモスキートノイズが発生しやすい。また、直流成分の量子化誤差や高周波成分が失われることを原因とするブロックノイズも起こりやすいという問題がある。   JPEG encoding is a good compression method for natural images. On the other hand, however, JPEG encoding tends to generate mosquito noise due to loss of high-frequency components of images for images including characters and line drawings. Another problem is that block noise is likely to occur due to the loss of quantization error of DC components and loss of high frequency components.

これに対し、特許文献1においては、入力した画像データのエッジ成分を強調するエッジ強調器が、入力される画像データのエッジ成分を量子化手段にて用いられる量子化テーブルの内容に応じて強調することで、ノイズを低減させることが開示されている。   On the other hand, in Patent Document 1, an edge enhancer that enhances the edge component of input image data enhances the edge component of input image data in accordance with the contents of the quantization table used by the quantization means. Thus, it is disclosed that noise is reduced.

また、特許文献2には、画像を重要領域とそれ以外という判断を設け、直交変換、量子化処理した各ブロックに対し、重要領域に属していないブロックの量子化係数を0に置き換えることで、部分的に高画質を保つことが開示されている。
特開平09−172636号公報 特開平06−164941号公報
Further, in Patent Document 2, the determination that an image is an important region and the other is provided, and for each block subjected to orthogonal transform and quantization processing, the quantization coefficient of a block that does not belong to the important region is replaced with 0. It is disclosed that a high image quality is partially maintained.
JP 09-172636 A Japanese Patent Application Laid-Open No. 06-164941

しかしながら、これまでの符号化では、或るブロック内の左上隅の位置を始点とし、その始点位置からラスタースキャンもしくはジグザグスキャンを行ない、符号化処理を行なっていた。符号化効率を高くするには、スキャン中に同じ値が連続する確率を高めることである。しかしながら、これまでの符号化技術では、ラスタースキャン、ジグザグスキャンのいずれであっても、スキャン終了位置は、ブロックの右下隅の位置である。すなわち、その右下隅の位置にそれまでとは異なるデータがある場合には、結局のところ、全データの符号化データを生成せざるをえず、符号化効率の点でまだまだ改善の余地があった。   However, in encoding so far, the position of the upper left corner in a certain block is set as the starting point, and raster scanning or zigzag scanning is performed from the starting point position to perform encoding processing. To increase the coding efficiency, the probability that the same value continues during the scan is increased. However, in the conventional encoding technique, the scan end position is the position of the lower right corner of the block in either the raster scan or the zigzag scan. In other words, if there is data that is different from the previous data in the lower right corner, it is necessary to generate encoded data of all data, and there is still room for improvement in terms of encoding efficiency. It was.

本発明はかかる点に鑑みなされたものであり、符号化効率を更に向上させる技術を提供しようとするものである。   The present invention has been made in view of this point, and intends to provide a technique for further improving the coding efficiency.

かかる課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像ブロックを表す複数の画素データを入力する入力手段と、
該入力手段で入力された注目画像ブロック内の前記複数の画素データをスキャンし、符号化することにより、前記注目画像ブロックに対する候補符号化データを生成する複数の符号化処理手段と、
前記複数の符号化処理手段生成された複数の候補符号化データのうち、最小のデータ量である候補符号化データを選択する選択手段と、
前記複数の候補符号化データのいずれが選択されたかを示す識別情報と、選択された前記候補符号化データを前記注目画像ブロックの符号化データとして出力する出力手段とを備え、
前記候補符号化データを生成する符号化処理手段の全ては、互いに異なるスキャン開始位置を持つスキャンルートに従ってスキャンし、符号化することを特徴とする。
In order to solve this problem, for example, an image encoding device of the present invention has the following configuration. That is,
Input means for inputting a plurality of pixel data representing an image block;
A plurality of encoding processing means for generating candidate encoded data for the target image block by scanning and encoding the plurality of pixel data in the target image block input by the input unit;
Among the plurality of candidate coded data generated by said plurality of encoding means, selection means for selecting a candidate coded data is the minimum amount of data,
Identification information indicating which of the plurality of candidate encoded data is selected, and output means for outputting the selected candidate encoded data as encoded data of the target image block ,
All of the encoding processing means for generating the candidate encoded data scan and encode according to scan routes having different scan start positions.

本発明によれば、複数の符号化処理手段が、それぞれ互いに異なるスキャンの開始位置とスキャンルートに従ってブロック内の画素データを並べ替えを行ない、符号化データを生成する。そして、その中の最小データ量である符号データを出力する。この結果、符号データ量を大幅に削減することが可能となる。   According to the present invention, a plurality of encoding processing means rearrange pixel data in a block according to different scan start positions and scan routes, respectively, and generate encoded data. And the code data which is the minimum data amount in it is output. As a result, the amount of code data can be greatly reduced.

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

<第1の実施形態>
第1の実施形態における画像符号化装置のブロック構成図を図6に示す。
<First Embodiment>
FIG. 6 shows a block configuration diagram of the image encoding device according to the first embodiment.

ブロック分割部600は、符号化対象の画像データからm×n画素で構成される画像データ(以下、画像ブロックデータという)を入力する。画像ブロックデータの入力順は、ブロック単位のラスタースキャン順とする。説明を簡単なものとするため、実施形態では画像ブロックは8×8画素のサイズであるものとして説明する。また、符号化対象の画像データの供給源は、イメージスキャナとするが、その画像データを記憶している記憶媒体でも構わないし、印刷データに基づき画像データを生成するレンダリング部であっても構わず、その種類は問わない。   The block division unit 600 inputs image data (hereinafter referred to as image block data) composed of m × n pixels from the image data to be encoded. The input order of the image block data is a raster scan order in block units. In order to simplify the description, the embodiment will be described assuming that the image block has a size of 8 × 8 pixels. The source of the image data to be encoded is an image scanner, but it may be a storage medium that stores the image data, or a rendering unit that generates image data based on print data. The type is irrelevant.

本装置は、画像ブロックデータを入力し符号化データを生成する複数の符号化処理部を備える。図示の符号610、620、630、640がその符号化処理部である。なお、ここでは符号化処理部が4つの例を示しているが、その数によって本発明が限定されるものではない。   The apparatus includes a plurality of encoding processing units that input image block data and generate encoded data. Reference numerals 610, 620, 630, and 640 shown in the figure are the encoding processing units. Here, four examples of the encoding processing unit are shown, but the present invention is not limited by the number.

画像符号化処理部610、620、630、640それぞれは、ブロック分割部600から供給された画像ブロックデータを符号化し、符号化データを生成すると共に、生成した符号化データをセレクタ部650に出力する。   Each of the image encoding processing units 610, 620, 630, and 640 encodes the image block data supplied from the block dividing unit 600, generates encoded data, and outputs the generated encoded data to the selector unit 650. .

セレクタ部650は、画像符号化処理部610、620、630、640から出力された符号化データのうち、符号化データ量が最も少ない(最小ビット数)ものを1つ選択する。そして、セレクタ部650はいずれの符号化データを選択したのかを示す識別ビットを生成し、その識別ビットを先ず出力し、それに後続して、選択した符号化データを出力する。実施形態の場合、画像符号化処理部は4つであるので、この識別ビットは2ビット有ればよいことになる。   The selector unit 650 selects one of the encoded data output from the image encoding processing units 610, 620, 630, and 640 having the smallest amount of encoded data (minimum number of bits). Then, selector section 650 generates an identification bit indicating which encoded data has been selected, outputs the identification bit first, and then outputs the selected encoded data. In the case of the embodiment, since there are four image encoding processing units, it is sufficient that there are two identification bits.

本実施形態における画像符号化装置の処理概要は上記の通りであるが、以下、画像符号化処理部610について更に詳細に説明する。なお、以下の説明から明らかになるが、画像符号化処理部610、620、630、640は、ハードウェア的には同じである。ただし、それぞれのスキャン開始位置情報記憶部、スキャンルート情報記憶部には、それじれ異なる情報が格納される。また、スキャン開始位置情報記憶部、スキャンルート情報記憶部は書き換え可能なメモリ(レジスタ)で構成する。このようにする理由は、4つの画像符号化処理部を別々に回路設計することが不要となり、その分だけ開発コストが下げることができるためである。なお、実施形態では、4つの画像符号化処理部内の予測誤差許容値記憶部には同じ情報を格納しているものとして説明する。   The outline of the processing of the image coding apparatus in the present embodiment is as described above. Hereinafter, the image coding processing unit 610 will be described in more detail. As will become clear from the following description, the image encoding processing units 610, 620, 630, and 640 are the same in hardware. However, different information is stored in each of the scan start position information storage unit and the scan route information storage unit. Further, the scan start position information storage unit and the scan route information storage unit are composed of rewritable memories (registers). The reason for this is that it is not necessary to separately design the four image encoding processing units, and the development cost can be reduced accordingly. In the description of the embodiment, it is assumed that the same information is stored in the prediction error allowable value storage units in the four image encoding processing units.

スキャン変換部611は、1つの画像ブロックデータ(8×8個の画素データ)を格納するための内部バッファを持つ。スキャン変換部611は、ブロック分割部600から8×8画素の画像ブロックデータをその内部バッファに格納すると、画素配列の変換処理を開始する。スキャン変換部611は、先ず、スキャン開始位置情報記憶部614に格納されたスキャン開始位置情報(x座標、y座標形式のデータ)を読込み、その位置で示される内部バッファの画素データを読出し、予測符号化部612に出力する。この後、スキャン変換部611は、スキャンルート情報記憶部615に格納された相対位置情報を順次読込み、内部バッファをアクセスするアドレスを順次更新する。そして、そのアドレスが更新される度に、内部バッファをアクセスして画素データを読出し、予測符号化部612に出力する。このようにして、スキャン変換部611は、入力した8×8画素データを、スキャン開始位置情報記憶部614、スキャンルート情報記憶部615を参照し、画素データを並び替えた1次元配列の64個の画素データを生成し、予測符号化部612に出力する。予測符号化部612は、並び替えの変更後の画素データを符号化することになる。なお、スキャンルート情報記憶部615に相対アドレスを記憶する理由は、スキャン順が必ず隣接する画素を通るようにするのであれば、X、Yアドレスとも−1、0、+1のみを記憶すればよくなり、記憶容量を削減できるためである。X、Yアドレスとも3通りのいずれかを特定できれば良いので、X、Y座標の相対アドレスはそれぞれ2ビットあれば十分と言える。   The scan conversion unit 611 has an internal buffer for storing one image block data (8 × 8 pixel data). When the scan conversion unit 611 stores the image block data of 8 × 8 pixels from the block division unit 600 in the internal buffer, the scan conversion unit 611 starts the pixel array conversion process. First, the scan conversion unit 611 reads the scan start position information (data in the x-coordinate and y-coordinate formats) stored in the scan start position information storage unit 614, reads the pixel data of the internal buffer indicated by the position, and performs prediction The data is output to the encoding unit 612. Thereafter, the scan conversion unit 611 sequentially reads the relative position information stored in the scan route information storage unit 615, and sequentially updates the address for accessing the internal buffer. Each time the address is updated, the internal buffer is accessed to read out the pixel data and output it to the predictive coding unit 612. In this way, the scan conversion unit 611 refers to the input 8 × 8 pixel data with reference to the scan start position information storage unit 614 and the scan route information storage unit 615, and the 64 pieces of the one-dimensional array in which the pixel data is rearranged. Are output to the predictive encoding unit 612. The predictive encoding unit 612 encodes the pixel data after the rearrangement change. Note that the reason for storing the relative address in the scan route information storage unit 615 is that if the scan order always passes through adjacent pixels, only -1, 0, +1 may be stored for both the X and Y addresses. This is because the storage capacity can be reduced. Since it is only necessary to specify any of the three X and Y addresses, it can be said that two bits are sufficient for the relative addresses of the X and Y coordinates.

図7(a)は、画像符号化処理部610におけるスキャン変換部611がスキャンルートを示している。図示の場合、スキャン開始位置は画像ブロックの左上隅であることを示している。そして、その開始位置から右方向に向かい右端になった場合には、1つの下のラインを今度は右端から左端に向かうルートに沿ってスキャンすることを繰り返している。   FIG. 7A shows a scan route by the scan conversion unit 611 in the image encoding processing unit 610. In the illustrated case, the scan start position is the upper left corner of the image block. Then, when it reaches the right end from the start position in the right direction, it repeatedly scans one lower line along the route from the right end to the left end.

図7(b)乃至(d)は、符号化処理部620乃至640内のそれぞれのスキャン変換部におけるスキャン開始位置とスキャンルートを示している。図示の如く、4つの符号化処理部内のスキャン変換部のスキャン開始位置とそのスキャンルートは、互いに異なることが理解できよう。   FIGS. 7B to 7D show scan start positions and scan routes in the respective scan conversion units in the encoding processing units 620 to 640. As shown in the figure, it can be understood that the scan start positions of the scan conversion units in the four encoding processing units and their scan routes are different from each other.

次に、予測符号化部612の処理を説明する。この予測符号化部612は、スキャン変換部611から入力した64個の画素データを、その入力順に符号化データを生成し、出力する。   Next, the process of the predictive coding unit 612 will be described. The predictive encoding unit 612 generates encoded data of the 64 pixel data input from the scan conversion unit 611 in the input order and outputs the encoded data.

予測符号化部612の符号化アルゴリズムは次の通りである。   The encoding algorithm of the predictive encoding unit 612 is as follows.

予測符号化部612は、内部にカウンタを有し、着目ブロックの画像データ(64個の画素データ)の符号化を開始する際に、そのカウンタをゼロクリアする。そして、最初の画素データについては、その画素データを出力すると共に、その画素データの値を基準値として保持する。2つ目以降の画素データを入力した場合には、基準値との差分の絶対値(以下、単に差分値という)を算出し、その差分値が予測誤差許容値記憶部616に格納された予測誤差許容値以下であるか否かを判定する。そして、差分値が予測誤差許容値以下である場合には、着目画素データの出力は行なわず、カウンタを“1”だけ増加させていく。そして、着目画素データと基準値との差分値が予測誤差許容値を超えたと判定した場合、先ず、カウンタに保持された値に基づく符号化データを出力する。そして、着目画素データの符号化データを出力すると共に、着目画素データの値を新たな基準値として更新する。この際、カウンタをゼロクリアする。なお、着目画素が最終画素位置(最初の画素を0番目とすると、63番目の画素)になっても、差分値が予測誤差許容値以下であると判定した場合には、スキップした数の代わり、予め設定されたEOB(End Of Block)符号語を出力する。   The predictive encoding unit 612 has a counter inside, and clears the counter to zero when starting encoding of the image data (64 pixel data) of the block of interest. For the first pixel data, the pixel data is output and the value of the pixel data is held as a reference value. When the second and subsequent pixel data are input, an absolute value of a difference from the reference value (hereinafter simply referred to as a difference value) is calculated, and the difference value is stored in the prediction error allowable value storage unit 616. It is determined whether the error is less than the allowable value. When the difference value is equal to or smaller than the prediction error allowable value, the pixel data of interest is not output and the counter is incremented by “1”. When it is determined that the difference value between the target pixel data and the reference value exceeds the prediction error allowable value, first, encoded data based on the value held in the counter is output. Then, the encoded data of the target pixel data is output, and the value of the target pixel data is updated as a new reference value. At this time, the counter is cleared to zero. Even if the target pixel is the final pixel position (the 63rd pixel when the first pixel is the 0th pixel), if it is determined that the difference value is equal to or smaller than the prediction error allowable value, the skipped number is used instead. A preset EOB (End Of Block) codeword is output.

以下、予測符号化部612の処理の一例を説明する。今、符号化対象の8×8画素の画像ブロックデータが、図7(e)であるとする。また、予測誤差許容値記憶部616に格納されている予測誤差許容値が“3”であるものとする。   Hereinafter, an example of the process of the prediction encoding unit 612 will be described. Now, assume that the 8 × 8 pixel image block data to be encoded is shown in FIG. Further, it is assumed that the prediction error allowable value stored in the prediction error allowable value storage unit 616 is “3”.

ここで、予測符号化部612が生成し、出力する予測符号化データを(A,B)と表わすこととする。ここで、A、Bの意味は次の通りである。
A:差分値が予測誤差許容値より大きい場合“0”、予測誤差許容値以下の場合は“1”;
B:差分値が予測誤差許容値より大きい場合は入力した画素データ、予測誤差許容値以下ならば、それまでカウントしたデータ;
但し、ブロック内の最終画素まで入力しても、差分値が予測誤差許容値より小さい場合には「EOB」とする。
Here, the predictive encoded data generated and output by the predictive encoding unit 612 is represented as (A, B). Here, the meanings of A and B are as follows.
A: “0” if the difference value is larger than the prediction error tolerance, “1” if the difference is less than the prediction error tolerance;
B: Input pixel data when the difference value is larger than the prediction error allowable value, and data counted until then if the difference value is less than the prediction error allowable value;
However, even if the last pixel in the block is input, if the difference value is smaller than the prediction error allowable value, “EOB” is set.

さて、図7(e)の画像ブロックデータを、図7(a)のスキャンルートでスキャンした場合の符号化データは、次のようになる。
「(0,0)(1,53)(0,23)(1,3)(0,12)(0,0)EOB」
可変長符号化部613は、上記符号化データから更に二進の符号化データを生成し、セレクタ部650に出力する。可変長符号化部613は、如何なる符号化技術を用いても構わない。
Now, the encoded data when the image block data in FIG. 7E is scanned by the scan route in FIG. 7A is as follows.
“(0,0) (1,53) (0,23) (1,3) (0,12) (0,0) EOB”
The variable length encoding unit 613 generates further binary encoded data from the encoded data, and outputs it to the selector unit 650. The variable length encoding unit 613 may use any encoding technique.

また、画像符号化処理部620内の予測符号化部は、図7(b)のスキャンルートでスキャンして符号化データを生成する。この場合に生成される符号化データは次のようになる。
「(0,2)、(1,47)、(0,20)、(1,1)、(0,2)、(1,10)、(0,12)、(0,20)、(1,1)」、
また、画像符号化処理部630内の予測符号化部は、図7(c)のスキャンルートでスキャンして符号化データを生成する。この場合に生成される符号化データは次のようになる。
「(0,21)、(1,1)、(0,12)、(0,0)、(1,10)、(0,23)、(1,1)、(0,2)、EOB」、
そして、画像符号化処理部640内の予測符号化部は、図7(d)のスキャンルートでスキャンして符号化データを生成する。この場合に生成される符号化データは次のようになる。
「(0,0)、(1,4)、(0,12)、(0,20)、(1,3)、(0,2)、EOB」
Also, the predictive encoding unit in the image encoding processing unit 620 generates encoded data by scanning with the scan route of FIG. The encoded data generated in this case is as follows.
“(0,2), (1,47), (0,20), (1,1), (0,2), (1,10), (0,12), (0,20), ( 1,1) ",
Also, the predictive coding unit in the image coding processing unit 630 scans with the scan route in FIG. 7C to generate coded data. The encoded data generated in this case is as follows.
“(0,21), (1,1), (0,12), (0,0), (1,10), (0,23), (1,1), (0,2), EOB "
Then, the predictive coding unit in the image coding processing unit 640 scans with the scan route in FIG. 7D to generate coded data. The encoded data generated in this case is as follows.
“(0,0), (1,4), (0,12), (0,20), (1,3), (0,2), EOB”

ここで注目すべき点は、予測符号化部612からEOB符号語が出力された場合、そのEOBの1つ以前の符号語で示される画素データで示されるデータが、最後の画素まで継続しているものと判定できる点である。換言すれば、予測符号化部612からEOB符号語が発生するタイミングが早いほど、可変長符号化部613が生成する符号化データのデータ量は少なくなると言える。また、予測誤差許容値記憶部616に格納する予測誤差許容値を“0”にすると、符号化処理部610は可逆符号化データを生成することになる。従って、予測誤差許容値記憶部616に格納する値は、ユーザの指示に従って設定できるようにするため、書き込み可能なメモリで構成すると好都合である。   It should be noted that when an EOB code word is output from the predictive encoding unit 612, the data indicated by the pixel data indicated by the code word immediately before the EOB continues to the last pixel. It is a point that can be determined to be. In other words, it can be said that the earlier the timing at which an EOB codeword is generated from the predictive encoding unit 612, the smaller the amount of encoded data generated by the variable length encoding unit 613. Further, when the prediction error allowable value stored in the prediction error allowable value storage unit 616 is set to “0”, the encoding processing unit 610 generates lossless encoded data. Therefore, the value stored in the prediction error allowable value storage unit 616 is advantageously configured by a writable memory so that it can be set according to a user instruction.

以上の手順を全ブロックに対して繰り返すことで、符号化対象の画像データの全域についての符号化が完了することになる。なお、セレクタ650は、着目ブロックから生成された4つの符号化データのうち、符号長が最短となるものを1つ選択すると共に、その選択した符号化データがいずれの符号化処理部で生成されたかを示す識別情報(2ビット)を先頭に付加して出力する。また、符号化処理の開始時には、符号化対象の画像のサイズ(水平、垂直方向の画素数)、各画素の精度(ビット数)、色空間の種類等、復号処理に必要な情報を含むファイルヘッダを生成することになる。   By repeating the above procedure for all blocks, the encoding for the entire area of the image data to be encoded is completed. Note that the selector 650 selects one of the four encoded data generated from the block of interest that has the shortest code length, and the selected encoded data is generated by any encoding processing unit. Identification information (2 bits) indicating whether or not is added to the head and output. Also, at the start of the encoding process, a file containing information necessary for the decoding process, such as the size of the image to be encoded (number of pixels in the horizontal and vertical directions), the accuracy of each pixel (number of bits), the type of color space A header will be generated.

次に、実施形態におけるスキャン変換部611及び予測符号化部612の処理手順を、図8のフローチャートに従って説明する。図8は、1つの画像ブロックに対する処理手順を示している。   Next, processing procedures of the scan conversion unit 611 and the predictive encoding unit 612 in the embodiment will be described with reference to the flowchart of FIG. FIG. 8 shows a processing procedure for one image block.

まずステップS801にて、スキャン変換部611は、スキャン開始位置情報記憶部614及びスキャンルート情報記憶部615に格納されたそれぞれの情報に基づき、入力した画像ブロックデータを構成する画素の並びを変換する。この後、ステップS802に処理を進める。ステップS802以降は、予測符号化部612の処理となる点に注意されたい。   First, in step S801, the scan conversion unit 611 converts the arrangement of pixels constituting the input image block data based on the information stored in the scan start position information storage unit 614 and the scan route information storage unit 615. . Thereafter, the process proceeds to step S802. Note that the processing after step S802 is the processing of the predictive encoding unit 612.

次に、ステップS802では、予測符号化部612は内部のカウンタCNTをゼロクリアする。   Next, in step S802, the prediction encoding unit 612 clears the internal counter CNT to zero.

そして、ステップS803にて、スキャン変換部611から入力した着目画素データと基準値との差分値を算出し、その差分値が予測誤差許容値以下であるか否かを判定する。なお、着目画素が最初の画素である場合には、差分値は予測誤差許容値を超えるものと判定し、カウンタCNTの値“0”を出力するものとする。   In step S803, a difference value between the target pixel data input from the scan conversion unit 611 and the reference value is calculated, and it is determined whether the difference value is equal to or less than a prediction error allowable value. When the target pixel is the first pixel, it is determined that the difference value exceeds the prediction error allowable value, and the value “0” of the counter CNT is output.

さて、着目画素データと基準値との差分値が、予測誤差許容値以下であると判断した場合には、ステップS804に進み、着目画素は最終画素か否かを判定する。最終画素ではない判定した場合には、ステップS805に進み、カウンタCNTを“1”だけ増加させ、次の画素データを読込み、ステップS803の処理を行なう。また、ステップS804にて、着目画素データが最終画素であると判断した場合には、EOB符号語を出力し、本処理を終える。   If it is determined that the difference value between the target pixel data and the reference value is equal to or less than the prediction error allowable value, the process proceeds to step S804, and it is determined whether the target pixel is the final pixel. If it is determined that the pixel is not the final pixel, the process proceeds to step S805, the counter CNT is incremented by “1”, the next pixel data is read, and the process of step S803 is performed. If it is determined in step S804 that the pixel-of-interest data is the last pixel, an EOB code word is output and the process is terminated.

一方、ステップS803にて、着目画素データと基準値との差分値が、予測誤差許容値よりも大きいと判断した場合には、処理はステップS807に進む。ステップS807では、カウンタCNTの値が“0”であるか否かを判断する。   On the other hand, if it is determined in step S803 that the difference value between the target pixel data and the reference value is larger than the prediction error allowable value, the process proceeds to step S807. In step S807, it is determined whether or not the value of the counter CNT is “0”.

カウンタCNTの値が“0”であると判定した場合には、ステップS809にて、着目画素データを出力する。   If it is determined that the value of the counter CNT is “0”, the target pixel data is output in step S809.

また、ステップS807にて、カウンタCNTの値が“0”以外であると判定した場合には、ステップS808にてカウンタCNTの値を出力し、その後のステップS809にて、着目画素データを出力する。   If it is determined in step S807 that the value of the counter CNT is other than “0”, the value of the counter CNT is output in step S808, and the target pixel data is output in subsequent step S809. .

この処理はステップS810に進み、着目画素が最終画素か否かを判定する。着目画素が最終画素ではないと判定した場合には、カウンタCNTの値を“0”に設定し、ステップS803に処理を戻す。また、着目画素が最終画素であると判定した場合には、1画像ブロック分の符号化処理を終了する。   The process proceeds to step S810, and it is determined whether the target pixel is the last pixel. If it is determined that the target pixel is not the final pixel, the value of the counter CNT is set to “0”, and the process returns to step S803. If it is determined that the target pixel is the final pixel, the encoding process for one image block is terminated.

以上説明したように本実施形態によれば、4つの画像符号化処理部610、620、630、640は、画像データブロック中のそれぞれ異なる開始位置から、それぞれ異なるスキャンルートに従って符号化データを生成する。且つ、これら画像符号化処理部は、着目画素データの差分値(予測誤差)が許容範囲内のまま、その着目画素が最終画素に到達した場合にはEOB符号語を生成する。そして、この4つの符号化処理部で生成された最も短い符号化データを選択することで、圧縮率の高い符号化データを生成することが可能になる。   As described above, according to this embodiment, the four image encoding processing units 610, 620, 630, and 640 generate encoded data according to different scan routes from different start positions in the image data block. . These image encoding processing units generate an EOB code word when the target pixel reaches the final pixel while the difference value (prediction error) of the target pixel data remains within the allowable range. Then, by selecting the shortest encoded data generated by the four encoding processing units, it is possible to generate encoded data with a high compression rate.

なお、上記符号化データを復号する場合には、上記と逆の手順を踏めばよい。すなわち、先ず、第1の復号部にて、先頭の2ビットの識別情報に後続する符号化データを復号し、予測符号化部612で生成された符号化データまで復号する。そして、第2の復号部では、一次元の64個の画素データを生成する。この後は、識別ビットで特定される開始位置とスキャンルートに従って、64個の画素データを配置し、出力すればよい。   In addition, what is necessary is just to follow the procedure contrary to the above, when decoding the said encoded data. That is, first, the first decoding unit decodes the encoded data following the first 2-bit identification information, and decodes even the encoded data generated by the predictive encoding unit 612. Then, the second decoding unit generates one-dimensional 64 pixel data. Thereafter, 64 pixel data may be arranged and output in accordance with the start position specified by the identification bit and the scan route.

なお、実施形態では、画像ブロックのサイズを8×8画素としたが、このサイズによって本発明が限定されるものではなく、一般にm×n画素(m,nは2以上の整数)に適用可能である。また、符号化処理部の数も4つとし、そのスキャンルートも図7(a)乃至(d)としたが、この符号化処理部の数、スキャンルートもこれに限定されない。特に、実施形態で説明したように、スキャン開始位置、スキャンルートは、それぞれの情報を変更することで自由に設定できることからも容易に理解できよう。   In the embodiment, the size of the image block is 8 × 8 pixels, but the present invention is not limited by this size, and is generally applicable to m × n pixels (m and n are integers of 2 or more). It is. Also, the number of encoding processing units is four and the scan routes are also shown in FIGS. 7A to 7D. However, the number of encoding processing units and the scan route are not limited to this. In particular, as described in the embodiment, it can be easily understood that the scan start position and the scan route can be freely set by changing each information.

<第2の実施形態>
第2の実施形態を説明する。図1は、本第2の実施形態における画像符号化装置のブロック構成図である。
<Second Embodiment>
A second embodiment will be described. FIG. 1 is a block configuration diagram of an image encoding device according to the second embodiment.

図示において、前処理部101は、画像データをブロック単位に入力し、入力したブロック内で抽出色部と背景部(非抽出色部)とに分離するまでの一連の処理が行われる。本第2の実施形態でも、ブロックのサイズは8×8画素とするが、16×16画素、32×32画素などでも構わない。   In the figure, the preprocessing unit 101 inputs image data in units of blocks and performs a series of processes until it is separated into an extracted color part and a background part (non-extracted color part) in the input block. Also in the second embodiment, the block size is 8 × 8 pixels, but may be 16 × 16 pixels, 32 × 32 pixels, or the like.

抽出色部と背景部の分離方法の一例を示すのであれば次の通りである。   An example of a method for separating the extracted color portion and the background portion is as follows.

先ず、ブロック内の画素データの濃度の平均値を算出する。そして、その平均値よりも大きな値を持つ画素群(以下、第1の画素群という)と、その平均値以下の画素群(以下、第2の画素群という)とに分類する。そして、第1の画素群の平均値(第1の平均値)と第2の画素群の平均値(第2の平均値)を求め、それらの差の絶対値が、予め設定された閾値を超えるか否かを判定する。超えていれば、分類できた旨の制御信号をパック部105に通知するそして、第1の画素群を、抽出色部を構成する画素群と見なす。なお、上記の第2の平均値は、後述する置換情報として利用される。 First, the average value of the density of pixel data in the block is calculated. Then, the pixel group is classified into a pixel group having a value larger than the average value (hereinafter referred to as a first pixel group) and a pixel group having a value equal to or less than the average value (hereinafter referred to as a second pixel group). Then, an average value of the first pixel group (first average value) and an average value of the second pixel group (second average value) are obtained, and the absolute value of the difference between them is set to a preset threshold value. It is determined whether or not it exceeds. If it exceeds, a control signal indicating that classification is possible is notified to the pack unit 105 . Then, the first pixel group is regarded as a pixel group constituting the extraction color portion. The second average value is used as replacement information described later.

なお、第1の平均値と第2の平均値との差の絶対値が、予め設定された閾値以下の場合、前処理部101は、抽出画素部と背景画素部への分離不可を示す制御信号をパック部105に通知する。   When the absolute value of the difference between the first average value and the second average value is equal to or smaller than a preset threshold value, the preprocessing unit 101 performs control indicating that separation into the extraction pixel unit and the background pixel unit is impossible. The signal is notified to the pack unit 105.

ここで、抽出色部のデータは、抽出色を持つ画素の存在位置を示す位置情報(位置データ)、及び、抽出色情報で構成される。この位置情報は、抽出色部に属する画素位置では“1”、背景画素部(非抽出色部)に属する画素位置では“0”とする2値化した1ビットデータである。すなわち、位置情報とは、ブロック中の各画素が抽出色の画素であるか、非抽出色の画素であるのかを識別するため情報とも言える。本実施形態では、1ブロックのサイズが8×8画素としているので、この位置データは8×8=64ビットとなる。ビットの並びはラスタースキャン順とする。この位置データは後段の第1の符号化部102にて符号化される。また、抽出色情報は、後段の第2の符号化部103にて符号化される。   Here, the data of the extracted color portion includes position information (position data) indicating the position of the pixel having the extracted color, and extracted color information. This position information is binary 1-bit data that is “1” at the pixel position belonging to the extracted color portion and “0” at the pixel position belonging to the background pixel portion (non-extracted color portion). That is, the position information can be said to be information for identifying whether each pixel in the block is an extracted color pixel or a non-extracted color pixel. In this embodiment, since the size of one block is 8 × 8 pixels, the position data is 8 × 8 = 64 bits. The order of bits is in raster scan order. This position data is encoded by the first encoding unit 102 in the subsequent stage. The extracted color information is encoded by the second encoding unit 103 at the subsequent stage.

一方、背景部は、ブロック中の抽出色部として判定された各画素の値を、先に説明した置換情報(第2の平均値)で置換した8×8画素のデータである。また、1ブロック中の非抽出部と判定された画素は、置換処理は行なわない。この結果、背景部で示されるブロックで示される画像データ(置換後の画像データ)には、高周波成分が含まれない、もしくは高周波成分の含む割合は少なくできる。この背景部は、後段の第3の符号化部104(例えば、DCT変換部、量子化部、エントロピー符号化で構成する)にて非可逆符号化される。   On the other hand, the background portion is 8 × 8 pixel data obtained by replacing the value of each pixel determined as the extracted color portion in the block with the replacement information (second average value) described above. Further, the replacement processing is not performed on the pixels determined as non-extracting portions in one block. As a result, the high-frequency component is not included in the image data (image data after replacement) indicated by the block indicated by the background portion, or the ratio of the high-frequency component is low. This background part is irreversibly encoded by a third encoding unit 104 (for example, configured by a DCT transform unit, a quantization unit, and entropy encoding).

第1の符号化部102、第2の符号化部103、第3の符号化部104の各符号化部は、それぞれ独立した符号化アルゴリズムを採用することが可能である。   The encoding units of the first encoding unit 102, the second encoding unit 103, and the third encoding unit 104 can employ independent encoding algorithms.

パック部105は、各符号化部で符号化されたデータを多重化し、出力する。ただし、先に説明したように、前処理部101から、抽出画素部と背景画素部の分離不可を示す信号を受信した場合、パック部105は、符号化部104からの符号化データのみを出力する。なお、1ブロックが3種類の符号化データで構成されているか、1種類の符号化データで構成されているかを識別するため、パック部105は1ブロックの符号化データの先頭(ブロックヘッダ)に識別ビットを格納する。   The pack unit 105 multiplexes and outputs the data encoded by each encoding unit. However, as described above, when the signal indicating that the extraction pixel unit and the background pixel unit cannot be separated is received from the preprocessing unit 101, the pack unit 105 outputs only the encoded data from the encoding unit 104. To do. In order to identify whether one block is composed of three types of encoded data or one type of encoded data, the pack unit 105 is placed at the head (block header) of one block of encoded data. Stores the identification bit.

さて、本第2の実施形態の特徴は、先に示した置データを符号化する第の符号化部102にある。そこで、この第の符号化部102について以下に詳細に説明する。 Now, features of the second embodiment, in the first encoding unit 102 for encoding the position data shown above. The first encoding unit 102 will be described in detail below.

図2は、本第2の実施形態における第の符号化部102のブロック構成図である。 FIG. 2 is a block configuration diagram of the first encoding unit 102 in the second embodiment.

図示の如く、第の符号化部102の内部構成は、第1の実施形態で示した図6と略同様の構成である。すなわち、第の符号化部102は、複数(実施形態では4つ)の符号化処理部210、220、230、240を有する。そして、セレクタ部250は、4つの符号化処理部それぞれからの符号化データのデータ量を比較し、最小データ量となる符号化データを選択する。そして、セレクタ部250は、いずれを選択したのかを識別する識別情報(ID情報)に続いて、選択した符号化データを出力する。 As shown in the figure, the internal configuration of the first encoding unit 102 is substantially the same as that of FIG. 6 shown in the first embodiment. That is, the first encoding unit 102 includes a plurality (four in the embodiment) of encoding processing units 210, 220, 230, and 240. Then, the selector unit 250 compares the data amounts of the encoded data from the four encoding processing units, and selects the encoded data having the minimum data amount. Then, the selector unit 250 outputs the selected encoded data following the identification information (ID information) for identifying which one is selected.

4つの符号化処理部はハードウェア上は同じであるので、ここでも符号化処理部210について説明する。   Since the four encoding processing units are the same in hardware, only the encoding processing unit 210 will be described here.

スキャン変換部201は、前処理部101から供給された抽出画素位置データ(8×8=64ビット)を入力する。そして、スキャン変換部201はスキャン開始位置情報部213に記憶されているスキャン開始位置情報と、スキャンルート情報記憶部214に格納されているスキャンルート情報に基づき、位置情報をスキャンし(並べ替えを行ない)、出力する。すなわち、位置情報の並び替えを行なう。その並び替え後の位置情報は可変長符号器212に供給される。可変長符号化部212は、入力した位置情報を可変長符号化し、生成した符号化データをセレクタ部250に出力する。   The scan conversion unit 201 receives the extracted pixel position data (8 × 8 = 64 bits) supplied from the preprocessing unit 101. The scan conversion unit 201 scans the position information based on the scan start position information stored in the scan start position information unit 213 and the scan route information stored in the scan route information storage unit 214 (reordering is performed). Output). That is, the position information is rearranged. The rearranged position information is supplied to the variable length encoder 212. The variable length encoding unit 212 performs variable length encoding on the input position information, and outputs the generated encoded data to the selector unit 250.

以上は、符号化処理部210についてであるが、他の符号化処理部220、230、240も同様である。異なるのは、各符号化処理部内のスキャン変換部によるスキャン開始位置情報部とスキャンルート情報記憶部にセットされる情報である。   The above is for the encoding processing unit 210, but the other encoding processing units 220, 230, and 240 are the same. The difference is the information set in the scan start position information section and the scan route information storage section by the scan conversion section in each encoding processing section.

セレクタ部250は、先に説明したように、各符号化処理部210、220、230、240で可変長符号化データを受信し、それぞれのデータの符号量を比較し、最も符号量の少ない符号化データを一つ選択する。そして、選択した符号化データが符号化処理部210、220、230、240のいずれからのものであるのかを識別するための識別情報を先頭にし、それに後続して選択した符号化データを出力する。   As described above, the selector unit 250 receives the variable length encoded data by the encoding processing units 210, 220, 230, and 240, compares the code amounts of the respective data, and determines the code with the smallest code amount. Select one data. Then, the identification information for identifying whether the selected encoded data is from the encoding processing unit 210, 220, 230, or 240 is set at the head, and subsequently the selected encoded data is output. .

ここで本第2の実施形態における符号化処理部210内のスキャン変換部211は、図3(a)に示すように、左上隅位置をスキャン開始位置とする。そして、スキャン変換部211は、その開始位置から、右方向にスキャンし、右端に到達したとき、1ラインしたの右端から今度は左方向にスキャンすることを繰り返す(水平ジグザグスキャン)。スキャン変換部211は、そのスキャンルート(スキャンパターン)に従って位置情報を読込み、可変長符号化部212に出力することになる。   Here, as shown in FIG. 3A, the scan conversion unit 211 in the encoding processing unit 210 in the second embodiment sets the upper left corner position as the scan start position. Then, the scan conversion unit 211 scans in the right direction from the start position, and when it reaches the right end, it repeats scanning in the left direction from the right end of one line (horizontal zigzag scan). The scan conversion unit 211 reads position information according to the scan route (scan pattern) and outputs the position information to the variable length coding unit 212.

他の符号化処理部220、230、240内のそれぞれのスキャン変換部は、図3(b)乃至(d)に示すように異なるスキャン開始位置及び異なるスキャンルートに従って位置情報の並び替えを行なう。   Each of the scan conversion units in the other encoding processing units 220, 230, and 240 performs rearrangement of position information according to different scan start positions and different scan routes as shown in FIGS.

先に説明したように1画素の位置情報は2値であるため、可変長符号化部212は、2値データを符号化するものであり、例えばランレングス符号化を用いる。可変長符号化部212は、例えば、「値“0”のランレングス長、値“1”のランレングス長、値“0”のランレングス長、・・・」という形式の符号化データを生成する。   As described above, since the position information of one pixel is binary, the variable-length encoding unit 212 encodes binary data, and uses, for example, run-length encoding. The variable-length encoding unit 212 generates encoded data in a format such as “run length of value“ 0 ”, run length of value“ 1 ”, run length of value“ 0 ”,. To do.

但し、スキャン最終位置まで同一値が連続した場合には、ランレングス符号化データの代わりにEOB符号語を付加し、出力する。ここで、EOBはEnd Of Blockの略語である。   However, if the same value continues until the final scan position, an EOB code word is added instead of the run-length encoded data and output. Here, EOB is an abbreviation for End Of Block.

今、8×8ビットの位置情報が図3(e)に示す通りであるとき、図3(a)のスキャンルートに基づいて可変長符号化部212が生成する符号化データは、「54、5、EOB」となる。また、図3(b)のスキャンルートの場合の符号化データは「48、2、11、3」、図3(c)のスキャンルートの場合の符号化データは「3,11、2、EOB」、図3(d)のスキャンルートの場合の符号化データは「5、5、EOB」となる。   Now, when the position information of 8 × 8 bits is as shown in FIG. 3E, the encoded data generated by the variable length encoding unit 212 based on the scan route of FIG. 5, EOB ". Also, the encoded data in the case of the scan route in FIG. 3B is “48, 2, 11, 3”, and the encoded data in the case of the scan route in FIG. 3C is “3, 11, 2, EOB”. 3], the encoded data in the case of the scan route in FIG. 3D is “5, 5, EOB”.

但し、スキャン最終位置まで同一値が連続した場合には、ランレングス符号化データの代わりにEOB符号語を付加し、出力する。   However, if the same value continues until the final scan position, an EOB code word is added instead of the run-length encoded data and output.

以上の手順を全ブロックに対して繰り返す。   The above procedure is repeated for all blocks.

なお、復号する場合には、EOB符号語を発見した直前の位置情報が仮に“1”であり、且つ、それまでに30ビットの位置情報を復号していた場合、残りの34(=64−30)ビットは“0”の値と見なして復号すればよい。   In the case of decoding, if the position information immediately before the discovery of the EOB code word is “1” and 30-bit position information has been decoded so far, the remaining 34 (= 64− 30) The bit may be regarded as a value of “0” and decoded.

次に符号化処理部210、220、230、240及びセレクタ部250の処理を、図4のフローチャートに従って説明する。   Next, processing of the encoding processing units 210, 220, 230, and 240 and the selector unit 250 will be described with reference to the flowchart of FIG.

先ず、ステップS401aにて、符号化処理部210のスキャン変換部211は、スキャン開始位置情報記憶部213、スキャンルート情報記憶部214に格納されたそれぞれの情報に基づき、抽出画素位置情報のスキャン変換(位置情報の並べ替え)を行なう。他の符号化処理部220、230、240それぞれののスキャン変換部も、ステップS401b、401c、401dにて、同様の処理を行なう。   First, in step S401a, the scan conversion unit 211 of the encoding processing unit 210 performs scan conversion of the extracted pixel position information based on the respective information stored in the scan start position information storage unit 213 and the scan route information storage unit 214. (Sort position information). The scan conversion units of the other encoding processing units 220, 230, and 240 perform the same processing in steps S401b, 401c, and 401d.

次いで、ステップS402aにて、符号化処理部210の可変長符号化部212が、並べ替え後の抽出画素位置情報の可変長符号化を行なう。このとき、最後の位置情報に至るまでに位置情報が変化しなかった場合、その位置情報のランレングス符号化データの代わりにEOB符号語を設定する。他の符号化処理部220、230、240それぞれの可変長符号化部も、ステップS402b、402c、402dにて、同様の処理を行なう。   Next, in step S402a, the variable length coding unit 212 of the coding processing unit 210 performs variable length coding of the extracted pixel position information after the rearrangement. At this time, if the position information has not changed before reaching the last position information, an EOB codeword is set instead of the run-length encoded data of the position information. The variable length coding units of the other coding processing units 220, 230, and 240 perform the same processing in steps S402b, 402c, and 402d.

符号化処理部210、220、230、240における1ブロック分の符号化処理を終えると、処理はステップS403に進む。このステップS403において、セレクタ部250は、各符号化処理部で生成された符号化量(符号化データ長)を比較し、もっとも符号量の少ないものを選択する。そして、ステップS404にて、いずれの符号化データを選択したのかを示す識別情報を先頭にして、選択した符号化データを出力する。なお、実施形態の場合、符号化処理部の数は4つであるので、この識別情報は2ビットあれば十分である。   When the encoding process for one block in the encoding processing units 210, 220, 230, and 240 is completed, the process proceeds to step S403. In step S403, the selector unit 250 compares the encoding amount (encoded data length) generated by each encoding processing unit, and selects the one having the smallest code amount. In step S404, the selected encoded data is output with the identification information indicating which encoded data has been selected as the head. In the case of the embodiment, since the number of encoding processing units is four, two bits are sufficient for this identification information.

ステップS405では、まだ符号化処理が行われていないブロックがあるか否かが判定され、未符号化のブロックが存在すればステップS401a、401b、401c、401d以降の処理を繰り返す。また、全てのブロックで符号化処理が終了していれば処理を終了する。   In step S405, it is determined whether there is a block that has not yet been encoded. If there is an unencoded block, the processes in steps S401a, 401b, 401c, and 401d are repeated. If the encoding process has been completed for all blocks, the process ends.

以上説明したように本第2の実施形態によれば、画像データをブロック単位に符号化する場合の、抽出色位置を示す位置情報(2値データ)を効率良く符号化することが可能になる。   As described above, according to the second embodiment, it is possible to efficiently encode position information (binary data) indicating an extracted color position when image data is encoded in units of blocks. .

<第3の実施形態>
なお、上記第1の実施形態では、図7(a)乃至(d)のスキャンパターン、第2の実施形態では図3(a)乃至(d)に示すスキャンパターンを用いる例を説明したが、これによって本発明が限定されるものではない。要するに、スキャン開始位置情報記憶部、スキャンルート情報記憶部に設定する情報に依存して、如何なる開始位置、スキャンルートも設定できる。
<Third Embodiment>
In the first embodiment, the scan pattern shown in FIGS. 7A to 7D is described. In the second embodiment, the scan pattern shown in FIGS. 3A to 3D is used. This does not limit the present invention. In short, any start position and scan route can be set depending on the information set in the scan start position information storage unit and the scan route information storage unit.

例えば、例えば、図5(a)乃至(d)に示すスキャン開始位置及びスキャンルートを採用してもかまわない。   For example, for example, the scan start position and the scan route shown in FIGS. 5A to 5D may be adopted.

図5(a)はスキャン開始位置を左上隅とし、下方向にジグザグスキャンする例である。同図(b)は、スキャン開始位置を左下隅とし、右方向にジグザグスキャンする例を示している。また、同図(c)は、スキャン開始位置を右下隅とし、左上方向にジグザグスキャンする例を示している。そして、同図(d)は、スキャン開始位置を右上隅とし、左下方向にジグザグスキャンする例を示している。これらの設定は、スキャン開始位置情報記憶部213、スキャン開始位置からの相対座標を記憶しているスキャンルート情報記憶部214の情報を変更することで実現できる。   FIG. 5A shows an example of zigzag scanning in the downward direction with the scan start position as the upper left corner. FIG. 5B shows an example in which the scan start position is the lower left corner and zigzag scanning is performed in the right direction. FIG. 6C shows an example of zigzag scanning in the upper left direction with the scan start position as the lower right corner. FIG. 4D shows an example of zigzag scanning in the lower left direction with the scan start position as the upper right corner. These settings can be realized by changing information in the scan start position information storage unit 213 and the scan route information storage unit 214 that stores relative coordinates from the scan start position.

仮に、この図5(a)乃至(d)のスキャンパターンを、第2の実施形態に適用する場合について考察する。ただし、各符号化処理部内の可変長符号化部は、符号化対象データから「0ランレングス長、1ランレングス長、0ランレングス長、1ランレングス長、・・・」と、0、1のラン(同一データ)の符号化データを交互に出力する。ただし、最終の位置情報まで同じデータが連続する場合には、そのラン長の符号語の代わりに、EOB符号語を出力するものとする。   Consider a case where the scan patterns of FIGS. 5A to 5D are applied to the second embodiment. However, the variable-length encoding unit in each encoding processing unit is configured such that “0 run length, 1 run length, 0 run length, 1 run length,. The encoded data of the same run (same data) are output alternately. However, when the same data continues up to the final position information, an EOB code word is output instead of the run length code word.

この場合、符号化対象のデータ(位置情報)が図5(e)の場合、図5(a)のスキャンパターン501に従って符号化した場合の符号化データは、「40、1、13、1、1、3、EOB」となる。また、図5(b)のスキャンパターン502に従って符号化した場合の符号化データは「47、3、11、1、1、1」となる。そして、図5(c)のスキャンパターン503を使用した場合の符号化データは「2,1、3、EOB」、図6(d)のスキャンパターン504を使用した場合は「15、1、12、2、12、2、EOB」となる。この結果からもわかるように、図5(c)のスキャンパターン503を用いた場合の符号化データ量は、他の符号化データと比較して、十分に少なくできることが理解できよう。   In this case, when the data to be encoded (position information) is FIG. 5E, the encoded data when encoded according to the scan pattern 501 of FIG. 5A is “40, 1, 13, 1, 1, 3, EOB ". Also, the encoded data when encoded according to the scan pattern 502 of FIG. 5B is “47, 3, 11, 1, 1, 1”. The encoded data when the scan pattern 503 of FIG. 5C is used is “2, 1, 3, EOB”, and when the scan pattern 504 of FIG. 6D is used, “15, 1, 12 2, 12, 2, EOB ". As can be seen from this result, it can be understood that the amount of encoded data when the scan pattern 503 in FIG. 5C is used can be sufficiently reduced as compared with other encoded data.

以上を考察すると、4つの符号化処理部に設定するスキャン開始位置情報、スキャンルート情報の組み合わせを幾つか用意し、ユーザがそのいずれを選択したかを示す情報を、符号化ファイルのファイルヘッダに格納するようにすることが考えられる。   Considering the above, several combinations of scan start position information and scan route information to be set in the four encoding processing units are prepared, and information indicating which one has been selected by the user is included in the file header of the encoded file. It is conceivable to store them.

例えば、1つの符号化処理部に設定するスキャン開始位置、スキャンルートを(SS,SR)と表現する。実施形態では、4つの符号化処理部があるわけであるから、4つの符号化処理部に設定するスキャン開始位置、及び、スキャンルートの情報は{(SS1,SR1),(SS2,SR2),(SS3,SR3),(SS4,SR4)}と表現できる。この4つの組み合わせを、変数i(iは0、1、2…)を用いてP(i)と定義する。
P(i)={(SS1(i),SR1(i)),(SS2(i),SR2(i)),(SS3(i),SR3(i)),(SS4(i),SR4(i))}
For example, a scan start position and a scan route set in one encoding processing unit are expressed as (SS, SR). In the embodiment, since there are four encoding processing units, the scan start position and scan route information set in the four encoding processing units are {(SS1, SR1), (SS2, SR2), (SS3, SR3), (SS4, SR4)}. These four combinations are defined as P (i) using a variable i (i is 0, 1, 2,...).
P (i) = {(SS1 (i), SR1 (i)), (SS2 (i), SR2 (i)), (SS3 (i), SR3 (i)), (SS4 (i), SR4 ( i))}

符号化を行なう場合には、変数iを0から順番に変更していき、その都度、符号化処理を行なう。そして、符号量が最小となる変数iを決定し、その変数iを符号化データのファイルヘッダに格納して出力する。   When encoding is performed, the variable i is changed in order from 0, and the encoding process is performed each time. Then, the variable i having the smallest code amount is determined, and the variable i is stored in the file header of the encoded data and output.

復号装置は、先ず、ファイルヘッダを解析して変数iを抽出することで、{(SS1,SR1),(SS2,SR2),(SS3,SR3),(SS4,SR4)}の4つのパターンを決定すればよいであろう。   First, the decoding device analyzes the file header and extracts the variable i, thereby obtaining four patterns {(SS1, SR1), (SS2, SR2), (SS3, SR3), (SS4, SR4)}. It should be decided.

以上のようにすると、4つの符号化処理部を用いながらも、それ以上の組み合わせのスキャン開始位置とスキャンルートによる符号化処理を行なうことが可能となる。   As described above, while using four encoding processing units, it is possible to perform encoding processing based on a scan start position and a scan route of more combinations.

なお、上記は第1の実施形態にも、そのまま反映させても構わない。以上説明したように本第3の実施形態にしたがえば、第1、第2の実施形態と比較し、符号化効率を更に上げることが可能になる。   The above may also be reflected as it is in the first embodiment. As described above, according to the third embodiment, it is possible to further increase the coding efficiency as compared with the first and second embodiments.

以上本発明に係る実施形態を説明した。本実施形態では、符号化処理部の数を4つの例を示したが、この数に限定されるものではない。要するに、複数の符号化処理部において、それぞれが異なるスキャン開始位置、異なるスキャンルートに従って符号化対象のデータを並べ替えを行なうようにすれば良い。   The embodiment according to the present invention has been described above. In the present embodiment, four examples of the number of encoding processing units have been shown, but the number is not limited to this number. In short, the encoding target data may be rearranged according to different scan start positions and different scan routes in a plurality of encoding processing units.

また、上記実施形態で示した機能を、パーソナルコンピュータ等の汎用情報処理装置が実行するコンピュータプログラムによって実現できることは明らかである。OS(オペレーティングシステム)がマルチタスクに対応しているのであれば、1ブロックの符号化処理を並列に行なえば良いであろう。また、符号化処理を並列処理できない場合には、ブロック単位に順番に符号化処理を行ない、その後で比較処理を行なえば良い。   Further, it is obvious that the functions shown in the above embodiments can be realized by a computer program executed by a general-purpose information processing apparatus such as a personal computer. If the OS (operating system) supports multitasking, one block of encoding processing may be performed in parallel. In addition, when the encoding processes cannot be performed in parallel, the encoding processes are performed in order for each block, and then the comparison process is performed.

また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体に格納されており、それを読取り装置(CD−ROMドライブ等)にセットして、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。   Also, the computer program is usually stored in a computer-readable storage medium such as a CD-ROM, and can be executed by setting it in a reader (CD-ROM drive or the like) and copying or installing it in the system. Become. Therefore, it is clear that such a computer readable storage medium is also within the scope of the present invention.

第2の実施形態における画像符号化装置のブロック構成図である。It is a block block diagram of the image coding apparatus in 2nd Embodiment. 第2の実施形態における第2の符号化部の構成を示す図である。It is a figure which shows the structure of the 2nd encoding part in 2nd Embodiment. 第2の実施形態における各符号化処理部のスキャンルートと符号化対象のデータの一例を示す図である。It is a figure which shows an example of the scan route of each encoding process part in 2nd Embodiment, and the data of an encoding target. 第2の実施形態における第2の符号化部の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the 2nd encoding part in 2nd Embodiment. 他の実施形態におけるスキャンルートと符号化対象のデータの一例を示す図である。It is a figure which shows an example of the scan route in another embodiment, and the encoding object data. 第1の実施形態に係る画像符号化装置のブロック構成図である。It is a block block diagram of the image coding apparatus which concerns on 1st Embodiment. 第1の実施形態における各符号化処理部のスキャンルートと符号化対象のデータの一例を示す図である。It is a figure which shows an example of the scan route of each encoding process part in 1st Embodiment, and the data of encoding object. 第1の実施形態における各符号化処理部の符号化処理手順を示すフローチャートである。It is a flowchart which shows the encoding process procedure of each encoding process part in 1st Embodiment.

Claims (7)

画像ブロックを表す複数の画素データを入力する入力手段と、
該入力手段で入力された注目画像ブロック内の前記複数の画素データをスキャンし、符号化することにより、前記注目画像ブロックに対する候補符号化データを生成する複数の符号化処理手段と、
前記複数の符号化処理手段生成された複数の候補符号化データのうち、最小のデータ量である候補符号化データを選択する選択手段と、
前記複数の候補符号化データのいずれが選択されたかを示す識別情報と、選択された前記候補符号化データを前記注目画像ブロックの符号化データとして出力する出力手段とを備え、
前記候補符号化データを生成する符号化処理手段の全ては、互いに異なるスキャン開始位置を持つスキャンルートに従ってスキャンし、符号化することを特徴とする画像符号化装置。
Input means for inputting a plurality of pixel data representing an image block;
A plurality of encoding processing means for generating candidate encoded data for the target image block by scanning and encoding the plurality of pixel data in the target image block input by the input unit;
Among the plurality of candidate coded data generated by said plurality of encoding means, selection means for selecting a candidate coded data is the minimum amount of data,
Identification information indicating which of the plurality of candidate encoded data is selected, and output means for outputting the selected candidate encoded data as encoded data of the target image block ,
An image coding apparatus characterized in that all of the coding processing means for generating the candidate coded data scan and code according to scan routes having different scan start positions.
前記複数の符号化処理手段のそれぞれは、
前記スキャン開始位置の画素の画素値を初期の基準値とし、前記スキャンルートに従って得られた着目画素の画素値と前記基準値との差が、予め設定された許容範囲内にある場合には、前記基準値として設定された画素から着目画素までの画素数をカウントし、
前記着目画素の画素値と前記基準値との差が前記許容範囲を超える場合には、それまでにカウントした値を符号化データとして出力し、前記着目画素の画素値を新たな基準値として設定すると共に、前記着目画素の画素値の符号化データを出力し、
前記着目画素の画素値と前記基準値との差が前記許容範囲内のまま、前記着目画素が最終画素の位置まで到達した場合には、EOB(End Of Block)符号語を示す符号化データを出力する
ことを特徴とする請求項1に記載の画像符号化装置。
Each of the plurality of encoding processing means includes:
When the pixel value of the pixel at the scan start position is an initial reference value, and the difference between the pixel value of the target pixel obtained according to the scan route and the reference value is within a preset allowable range, Count the number of pixels from the pixel set as the reference value to the target pixel,
When the difference between the pixel value of the target pixel and the reference value exceeds the allowable range, the value counted so far is output as encoded data, and the pixel value of the target pixel is set as a new reference value And outputting encoded data of the pixel value of the pixel of interest,
When the difference between the pixel value of the pixel of interest and the reference value remains within the allowable range and the pixel of interest reaches the position of the final pixel, encoded data indicating an EOB (End Of Block) codeword is obtained. The image encoding device according to claim 1, wherein the image encoding device outputs the image.
前記複数の符号化処理手段のそれぞれは、
スキャン開始位置を示す情報を記憶する、書き換え可能なスキャン開始位置記憶手段と、
スキャンルートを示すため、直前のスキャンした画素の位置に対して水平、垂直方向とも、{−1、0、+1}の何れか1つを示す相対アドレスを記憶する、書き換え可能なスキャンルート記憶手段を有する
ことを特徴とする請求項1に記載の画像符号化装置。
Each of the plurality of encoding processing means includes:
Rewritable scan start position storage means for storing information indicating the scan start position;
Rewriteable scan route storage means for storing a relative address indicating any one of {-1, 0, +1} in both the horizontal and vertical directions with respect to the position of the pixel scanned immediately before in order to indicate the scan route The image encoding device according to claim 1, wherein:
前記許容範囲を設定する設定手段を更に備えることを特徴とする請求項2に記載の画像符号化装置。   The image encoding apparatus according to claim 2, further comprising setting means for setting the allowable range. 画像ブロックを表す複数の画素データを入力する入力工程と、
該入力工程で入力した注目画像ブロック内の前記複数の画素データをスキャンし、符号化することにより、前記注目画像ブロックに対する候補符号化データを生成する複数の符号化処理工程と、
前記複数の符号化処理工程で生成された複数の候補符号化データのうち、最小のデータ量である候補符号化データを選択する選択工程と、
前記複数の候補符号化データのいずれが選択されたかを示す識別情報と、選択された前記候補符号化データを前記注目画像ブロックの符号化データとして出力する出力工程とを備え、
前記候補符号化データを生成する符号化処理工程の全ては、互いに異なるスキャン開始位置を持つスキャンルートに従ってスキャンし、符号化することを特徴とする画像符号化装置の制御方法。
An input step of inputting a plurality of pixel data representing an image block;
A plurality of encoding processing steps for generating candidate encoded data for the target image block by scanning and encoding the plurality of pixel data in the target image block input in the input step;
A selection step of selecting candidate encoded data having a minimum data amount among the plurality of candidate encoded data generated in the plurality of encoding processing steps;
Identification information indicating which of the plurality of candidate encoded data is selected, and an output step of outputting the selected candidate encoded data as encoded data of the target image block ,
A method for controlling an image encoding device, characterized in that all encoding processing steps for generating candidate encoded data are scanned and encoded according to scan routes having different scan start positions.
コンピュータが読込み実行することで、前記コンピュータを請求項1乃至4のいずれか1項に記載の画像符号化装置が有する各手段として機能させることを特徴とするコンピュータプログラム。   A computer program that causes a computer to function as each unit included in the image encoding device according to any one of claims 1 to 4 when the computer reads and executes the computer program. 請求項6に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。   A computer-readable storage medium storing the computer program according to claim 6.
JP2007117556A 2007-04-26 2007-04-26 Image coding apparatus and control method thereof Expired - Fee Related JP5039425B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007117556A JP5039425B2 (en) 2007-04-26 2007-04-26 Image coding apparatus and control method thereof
US12/107,844 US8031954B2 (en) 2007-04-26 2008-04-23 Image encoding apparatus and control method thereof using prediction encoding and pixel classification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007117556A JP5039425B2 (en) 2007-04-26 2007-04-26 Image coding apparatus and control method thereof

Publications (3)

Publication Number Publication Date
JP2008278041A JP2008278041A (en) 2008-11-13
JP2008278041A5 JP2008278041A5 (en) 2010-04-02
JP5039425B2 true JP5039425B2 (en) 2012-10-03

Family

ID=40055507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007117556A Expired - Fee Related JP5039425B2 (en) 2007-04-26 2007-04-26 Image coding apparatus and control method thereof

Country Status (1)

Country Link
JP (1) JP5039425B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111035381B (en) * 2018-10-15 2023-02-14 深圳华清心仪医疗电子有限公司 Real-time electrocardiogram data lossless compression method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950010913B1 (en) * 1992-07-23 1995-09-25 삼성전자주식회사 Vlc & vld system
JPH07162859A (en) * 1993-12-08 1995-06-23 Matsushita Electric Ind Co Ltd Image encoder and image decoder
JPH09275559A (en) * 1996-04-04 1997-10-21 Canon Inc Coding method and its device
JP3401761B2 (en) * 1997-11-13 2003-04-28 日本電信電話株式会社 Moving image compression encoding / decoding method, moving image compression encoding / decoding device, moving image encoding / transmission method, moving image encoding / transmission system, and recording medium recording moving image compression encoding / decoding program
US7209266B2 (en) * 2002-12-06 2007-04-24 Kabushiki Kaisha Toshiba Image processing apparatus
JP4083670B2 (en) * 2003-03-24 2008-04-30 財団法人北九州産業学術推進機構 Image coding apparatus and image coding method
JP2007088684A (en) * 2005-09-21 2007-04-05 Fuji Xerox Co Ltd Encoder, decoder, encoding method, decoding method and program

Also Published As

Publication number Publication date
JP2008278041A (en) 2008-11-13

Similar Documents

Publication Publication Date Title
US8031954B2 (en) Image encoding apparatus and control method thereof using prediction encoding and pixel classification
JP4418762B2 (en) Image encoding apparatus, image decoding apparatus, control method thereof, computer program, and computer-readable storage medium
JP5214742B2 (en) Predictive image processing
US20060285756A1 (en) Data compression apparatus and data compression program storage medium
US20140286417A1 (en) Data encoding and decoding
JPH0564007A (en) Method and device for encoding and decoding
US8457428B2 (en) Image coding apparatus, control method thereof, and storage medium
US8295618B2 (en) Image processing apparatus, image processing method, and computer program product
JP2008118304A (en) Decoding apparatus and decoding method
JP2006180456A (en) Image compressor, image decoder, image converter and image processing method
JP4460521B2 (en) Orthogonal transform coefficient scanning method, inverse scanning method, scanning device, inverse scanning device, program thereof, and computer-readable recording medium recording the program
JP5101962B2 (en) Image coding apparatus, control method therefor, and computer program
JP3872217B2 (en) Dither image binary expression processing method, dither image compression binary expression decompression method, and dither image compression and decompression system
US8023756B2 (en) Image encoding apparatus and method of controlling same
JP5039425B2 (en) Image coding apparatus and control method thereof
JP5086777B2 (en) Image encoding apparatus, control method therefor, computer program, and computer-readable storage medium
JP2002271791A (en) Image coder, image coding/decoding device, image coding/ decoding method, and program to perform the method
JP4173498B2 (en) Data compression apparatus and data compression program
JPH10108011A (en) Data-processing unit
JP2005277932A (en) Device and program for compressing data
JP4743884B2 (en) Image coding apparatus and control method thereof
JP3593727B2 (en) Image compression device
JP3990949B2 (en) Image coding apparatus and image coding method
JP2005252531A (en) Device and program for compressing data
JP3866539B2 (en) Encoding method, decoding method, encoding device, decoding device, encoding program, decoding program, and program recording medium thereof

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120608

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120709

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5039425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees