Nothing Special   »   [go: up one dir, main page]

JP4971881B2 - Image encoding apparatus, image decoding apparatus, and control method thereof - Google Patents

Image encoding apparatus, image decoding apparatus, and control method thereof Download PDF

Info

Publication number
JP4971881B2
JP4971881B2 JP2007163016A JP2007163016A JP4971881B2 JP 4971881 B2 JP4971881 B2 JP 4971881B2 JP 2007163016 A JP2007163016 A JP 2007163016A JP 2007163016 A JP2007163016 A JP 2007163016A JP 4971881 B2 JP4971881 B2 JP 4971881B2
Authority
JP
Japan
Prior art keywords
encoded data
value
block
image
data
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
JP2007163016A
Other languages
Japanese (ja)
Other versions
JP2009005018A5 (en
JP2009005018A (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 JP2007163016A priority Critical patent/JP4971881B2/en
Priority to US12/142,314 priority patent/US8213727B2/en
Publication of JP2009005018A publication Critical patent/JP2009005018A/en
Publication of JP2009005018A5 publication Critical patent/JP2009005018A5/ja
Application granted granted Critical
Publication of JP4971881B2 publication Critical patent/JP4971881B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

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

従来、分割されたブロック画像に対して符号化処理を実行するものとしては、直交変換を用いた圧縮技術が一般的であった。直交変換を用いた符号化は自然画像に対しては有効な圧縮方法であるが、他方、文字や線画などの含まれる画像に対しては、画像の高周波成分が失われることを原因としてモスキートノイズやブロック歪が起こり、良好な結果を得られないことが知られていた。このような問題を解決するため、文字や線画の描かれた画像など、階調性よりも解像度が重要な画像に関して、ブロック画像内の画素を二色で近似することで解像度を保持しようとする二色化処理が提案されていた(例えば特許文献1)。この特許文献1には、ブロック内の画像が2つの色からなる画像と見なし、その2つの色を表わすデータと、各画素がいずれの色に対応するのかを識別する識別データを生成し、1つにパッキングし、符号化データとして出力する技術が開示されている。
特開平05−056282号公報
Conventionally, a compression technique using orthogonal transformation is generally used to execute an encoding process on a divided block image. Encoding using orthogonal transform is an effective compression method for natural images, but on the other hand, for images that include characters and line drawings, mosquito noise is caused by the loss of high-frequency components of the image. It was known that block distortion occurred and good results could not be obtained. In order to solve such problems, an image whose resolution is more important than gradation, such as an image with characters and line drawings, tries to maintain the resolution by approximating the pixels in the block image with two colors. Two-color processing has been proposed (for example, Patent Document 1). In Patent Document 1, an image in a block is regarded as an image composed of two colors, data representing the two colors and identification data for identifying which color each pixel corresponds to are generated. A technique is disclosed in which the data is packed into one and output as encoded data.
Japanese Patent Laid-Open No. 05-056282

ところで、文字線画の場合、その画像を背景色と文字線画が示す色に2分し、その2つの色データと、各画素がいずれに属するのかを示す識別情報を生成することで、解像度が維持された符号化データを生成することが可能になる。1画素が8ビットであり、m×n画素のブロック単位に符号化することを想定すると、その符号化データは、2つの色データを表わす16ビット+識別情報を表わすm×nビットのデータ量となる。   By the way, in the case of a character line drawing, the resolution is maintained by dividing the image into two colors, the background color and the color indicated by the character line drawing, and generating identification information indicating the two color data and each pixel. The encoded data can be generated. Assuming that one pixel is 8 bits and encoding is performed in block units of m × n pixels, the encoded data has a data amount of 16 bits representing two color data + m × n bits representing identification information It becomes.

本発明は、1ブロックの符号化データを更に少ないビット数に符号化することで、画像全体に対する符号化データ量を更に少なくする技術を提供しようとするものである。   The present invention intends to provide a technique for further reducing the amount of encoded data for the entire image by encoding one block of encoded data to a smaller number of bits.

また、他の発明は、上記作用効果に加えて、1ブロックの符号化データのサイズを8の整数倍のビット数、すなわち、電子機器やコンピュータプログラムでアクセスするのに都合の良い1バイトの整数倍の符号化データを生成する技術も提案する。   In addition to the above-described effects, another invention provides the size of one block of encoded data as an integer multiple of 8 bits, that is, a 1-byte integer convenient for access by an electronic device or a computer program. A technique for generating double encoded data is also proposed.

上記課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
1画素が複数ビットで表わされる多値の画像データを符号化する画像符号化装置であって、
複数画素で構成されるブロックを単位に画像データを入力する入力手段と、
着目ブロック内の画素値の平均値AVEを算出し、算出した前記平均値AVE以下の値を持つ画素群を第1グループ、前記平均値AVEよりも大きい値を持つ画素群を第2グループとしたとき、前記第1グループ、前記第2グループのそれぞれの画素値の平均値を、前記着目ブロックの代表画素値C0、C1として抽出する抽出手段と、
前記着目ブロック内の各画素が前記代表画素値C0、C1のいずれに属するかを示すための2値の識別情報を生成する識別情報生成手段と、
前記代表画素値C0、C1の予め設定された一方の画素値の最下位ビット、及び、前記代表画素値C0、C1それぞれの最下位ビットを除くC0’、C1’のデータを生成する生成手段と、
前記一方の画素値の最下位ビット、前記C0’、C1’、及び、前記識別情報をまとめて前記着目ブロックの符号化データを生成し、出力する出力手段とを備え、
前記出力手段は、前記代表画素値C0、C1の他方の代表画素値の最下位ビットの値に応じて、前記符号化データに配置する前記C0’、C1’の順番を、C0’、C1’、又は、C1’、C0’のいずれかにして出力することを特徴とする。
In order to solve the above problems, for example, an image encoding device of the present invention has the following configuration. That is,
An image encoding device for encoding multi-value image data in which one pixel is represented by a plurality of bits,
An input means for inputting image data in units of blocks composed of a plurality of pixels;
An average value AVE of the pixel values in the block of interest is calculated, a pixel group having a value equal to or less than the calculated average value AVE is a first group, and a pixel group having a value larger than the average value AVE is a second group. Extraction means for extracting an average value of the pixel values of the first group and the second group as representative pixel values C0 and C1 of the block of interest ;
Identification information generating means for generating binary identification information for indicating which of the representative pixel values C0 and C1 each pixel in the block of interest belongs to;
Generating means for generating data of C0 ′ and C1 ′ excluding the least significant bit of one of the preset pixel values of the representative pixel values C0 and C1 and the least significant bit of each of the representative pixel values C0 and C1; ,
An output unit that generates and outputs encoded data of the block of interest by combining the least significant bit of the one pixel value, the C0 ′, C1 ′, and the identification information;
The output means determines the order of the C0 ′ and C1 ′ to be arranged in the encoded data according to the value of the least significant bit of the other representative pixel value of the representative pixel values C0 and C1, and C0 ′ and C1 ′. Or C1 ′ or C0 ′.

本発明によれば、1ブロックの符号化データを更に少ないビット数に符号化することで、画像全体に対する符号化データ量を更に少なくすることが可能になる。   According to the present invention, it is possible to further reduce the amount of encoded data for the entire image by encoding the encoded data of one block to a smaller number of bits.

また、他の発明によれば、上記作用効果に加えて、1ブロックの符号化データのサイズを8の整数倍のビット数、すなわち、電子機器やコンピュータプログラムでアクセスするのに都合の良い1バイトの整数倍の符号化データを生成することが可能になる。   According to another aspect of the invention, in addition to the above-described effects, the size of one block of encoded data is an integer multiple of 8 bits, that is, one byte convenient for access by an electronic device or a computer program. It becomes possible to generate encoded data of an integer multiple of.

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

なお、実施形態では、1画素が複数ビットで表わされる多値画像データ中の8m×8n画素(m、nは1以上の整数)で構成されるブロックを単位に符号化する例を説明する。また、1画素は8ビット(256階調)のグレイスケールであるものとして説明する。そして、実施形態では、1ブロック分の符号化データを、固定長Lビット(L=16+8m×8n)として生成する。なお、カラー画像の場合、複数の色成分を有する。カラー画像の場合には、各成分毎に、上記の固定長の符号化データを生成すればよい。   In the embodiment, an example will be described in which a block composed of 8m × 8n pixels (m and n are integers of 1 or more) in multi-valued image data in which one pixel is represented by a plurality of bits is encoded. In the following description, it is assumed that one pixel is a gray scale of 8 bits (256 gradations). In the embodiment, encoded data for one block is generated as fixed-length L bits (L = 16 + 8m × 8n). Note that a color image has a plurality of color components. In the case of a color image, the above-described fixed length encoded data may be generated for each component.

図1は実施形態における画像符号化装置のブロック構成図である。本装置は、ブロック化部101、2色抽出部102、2色符号化部103、多値符号化部104、及びセレクタ105を有する。   FIG. 1 is a block diagram of an image encoding apparatus according to the embodiment. This apparatus includes a blocking unit 101, a color extracting unit 102, a two-color encoding unit 103, a multi-level encoding unit 104, and a selector 105.

ブロック化部101は、符号化対象の画像データから8m×8n画素で構成される部分画像データ(以下、ブロックデータという)を入力する。なお、符号化対象の画像データの発生源は、イメージスキャナであるものとして説明するが、非圧縮の画像データを格納した記憶装置でも構わず、その種類は問わない。なお、説明を簡単なものとするため、以下では、ブロックのサイズを8×8画素(m=n=1)として説明する。従って、以下の説明における1ブロックの符号化データの固定長は16+8×8=80ビットとなる。詳細は以下の説明から明らかにするが、固定長80ビットの先頭の1ビットは、符号化の種類を示すデータである。それ故、残りの79ビットが1ブロックの符号化データを格納する容量となる。   The blocking unit 101 inputs partial image data (hereinafter referred to as block data) composed of 8m × 8n pixels from the image data to be encoded. The generation source of the image data to be encoded is described as being an image scanner, but it may be a storage device storing uncompressed image data, and the type thereof is not limited. In order to simplify the description, the following description will be made assuming that the block size is 8 × 8 pixels (m = n = 1). Accordingly, the fixed length of the encoded data of one block in the following description is 16 + 8 × 8 = 80 bits. Although details will be made clear from the following description, the first 1 bit of fixed length 80 bits is data indicating the type of encoding. Therefore, the remaining 79 bits are a capacity for storing one block of encoded data.

2色抽出部102は、入力したブロックデータから2つの代表色(もしくは代表値)C0、C1を抽出する。具体的には、2色抽出部102は、ブロック内の各画素の値の平均値AVEを算出する。そして、算出した平均値AVE以下の画素値を持つ画素群(第1グループ)と、平均値よりも大きな画素値を持つ画素群(第2グループ)に分類する。そして、2色抽出部102は、第1グループに属する各画素の平均値を算出し、それを代表色C0として決定する。また、同様に、2色抽出部102は、第2グループに属する各画素の平均値を算出し、それを代表色C1として決定する。そして、2色抽出部102は、決定した代表色C0、C1と、平均値AVEを2色符号化部103に出力する。   The two-color extraction unit 102 extracts two representative colors (or representative values) C0 and C1 from the input block data. Specifically, the two-color extraction unit 102 calculates an average value AVE of the values of each pixel in the block. Then, the pixel group (first group) having a pixel value equal to or less than the calculated average value AVE and the pixel group (second group) having a pixel value larger than the average value are classified. Then, the two-color extraction unit 102 calculates an average value of each pixel belonging to the first group and determines it as the representative color C0. Similarly, the two-color extraction unit 102 calculates the average value of each pixel belonging to the second group and determines it as the representative color C1. Then, the two-color extraction unit 102 outputs the determined representative colors C0 and C1 and the average value AVE to the two-color encoding unit 103.

また、2色抽出部102は、代表色C0、C1の差D(=C1−C0)と予め設定された閾値Th(Th>1)とを比較し、その比較結果を判定信号(1ビット)として、2色符号化部103、多値符号化部104、及び、セレクタ部105に出力する。ここで、D>Thであるとき判定信号は“1”、D≦Thの場合には判定信号は“0”とする。   Further, the two-color extraction unit 102 compares the difference D (= C1−C0) between the representative colors C0 and C1 with a preset threshold Th (Th> 1), and the comparison result is a determination signal (1 bit). Are output to the two-color encoding unit 103, the multi-level encoding unit 104, and the selector unit 105. Here, the determination signal is “1” when D> Th, and the determination signal is “0” when D ≦ Th.

2色符号化部103は、判定信号が“1”の場合に符号化処理を行なう。一方、多値符号化部104は判定信号が“0”の場合に符号化処理を行なう。そして、セレクタ105は、判定信号が“1”の場合には、2色符号化部103で生成された符号化データを選択して出力し、判定信号が“0”の場合には多値符号化部104で生成された符号化データを選択し、出力する。なお、セレクタ105は判定信号に応じて、いずれか一方の符号化データを選択するので、2つの符号化部は、判定信号とは無関係に符号化処理を行なっても構わない。   The two-color encoding unit 103 performs encoding processing when the determination signal is “1”. On the other hand, the multi-level encoding unit 104 performs encoding processing when the determination signal is “0”. The selector 105 selects and outputs the encoded data generated by the two-color encoding unit 103 when the determination signal is “1”, and multilevel code when the determination signal is “0”. The encoded data generated by the encoding unit 104 is selected and output. Since selector 105 selects one of the encoded data in accordance with the determination signal, the two encoding units may perform encoding processing regardless of the determination signal.

多値符号化部104は、公知の非可逆のJPEG符号化を利用するものとした。すなわち、多値符号化部104は、DCT変換、量子化、エントロピー符号化(直流成分、交流成分の順に符号化するものとする)を行なう。   The multi-level encoding unit 104 uses a known irreversible JPEG encoding. That is, multilevel encoding section 104 performs DCT transformation, quantization, and entropy encoding (encoding is performed in the order of a DC component and an AC component).

実施形態では、1ブロック分の符号化データを固定長“80”ビットにする例を説明している。本実施形態では、符号化の種類は2種類であるので、符号化データがいずれの種類の符号化データであるかを示す必要がある。それ故、多値符号化部104は、生成した符号化データが多値符号化部104によって生成されたことを示す符号化種別情報(1ビット)を付加し、それに後続して79ビットの符号化データを出力する。   In the embodiment, an example has been described in which encoded data for one block is set to a fixed length of “80” bits. In this embodiment, since there are two types of encoding, it is necessary to indicate which type of encoded data the encoded data is. Therefore, the multi-level encoding unit 104 adds encoding type information (1 bit) indicating that the generated encoded data is generated by the multi-level encoding unit 104, followed by a 79-bit code. Output data.

ここで、注目する点は、多値符号化部104で生成された符号化データをセレクタ105が選択するのは、判定信号が“0”の場合である。すなわち、着目ブロック内の各画素の代表色C0、C1の差Dが閾値以下(D≦Th)の場合である。D≦Thであるのは、着目ブロック内には、文字線画等の高周波成分が含まれない、或いは少ないことを示している。従って、DCT変換による交流(AC)成分の各変換係数は小さな値となり、且つ、量子化処理によってほとんどのDCT変換係数が“0”に量子化されることを意味する。それ故、多値符号化部104からの符号化データのデータ量が十分に小さいと言える。   Here, it should be noted that the selector 105 selects the encoded data generated by the multi-level encoding unit 104 when the determination signal is “0”. That is, this is a case where the difference D between the representative colors C0 and C1 of each pixel in the block of interest is equal to or smaller than a threshold value (D ≦ Th). D ≦ Th indicates that a high-frequency component such as a character / line drawing is not included or small in the target block. Therefore, each conversion coefficient of the alternating current (AC) component by DCT conversion becomes a small value, and it means that most DCT conversion coefficients are quantized to “0” by the quantization processing. Therefore, it can be said that the amount of encoded data from the multilevel encoding unit 104 is sufficiently small.

実際の符号化データ量は、閾値Thの値に応じて変動する。しかしながら、閾値Thを或る程度以下の値にするのであれば、多値符号化部104からの符号化データが選択される場合、その符号化データのデータ量は、固定長以内とすることが可能である。なお、符号化データ量は何ビットになるかは実際に符号化処理を行なわないとわからない。そこで、多値符号化部104は、生成した符号化データのビット数が79ビットに満たない場合にはダミーのビットを符号化データに後続して付加する。   The actual amount of encoded data varies according to the threshold value Th. However, if the threshold value Th is set to a certain value or less, when encoded data from the multi-level encoding unit 104 is selected, the data amount of the encoded data may be within a fixed length. Is possible. It should be noted that the number of bits of the encoded data is not known unless the encoding process is actually performed. Therefore, when the number of bits of the generated encoded data is less than 79 bits, the multi-level encoding unit 104 adds dummy bits subsequent to the encoded data.

また、仮に、多値符号化部104からの符号化データが79ビットを超えた場合には、多値符号化部104は、先頭から79ビットまでを符号化結果として出力する。79ビットよりも後のデータは破棄されるが、そもそもそのような事態になることは希であり、あったとしても高周波成分のデータであるので、画質に与える影響は小さい。   If the encoded data from the multi-level encoding unit 104 exceeds 79 bits, the multi-level encoding unit 104 outputs the first 79 bits as the encoding result. Data after 79 bits is discarded, but such a situation is rare in the first place, and even if it is, it is data of a high frequency component, so the influence on the image quality is small.

次に実施形態における2色符号化部103を説明する。図2は、2色符号化部103のブロック構成図である。2色符号化部103は、比較部201、パック部202で構成される。   Next, the two-color encoding unit 103 in the embodiment will be described. FIG. 2 is a block configuration diagram of the two-color encoding unit 103. The two-color encoding unit 103 includes a comparison unit 201 and a pack unit 202.

比較部201は、ブロック化部101からのブロックデータをラスタースキャンし、1画素単位に入力する。そして、比較部201は、入力した着目画素値と、2色抽出部102からの平均値AVEと比較し、着目画素値がその平均値以下である場合に“0”、着目画素値がその平均値より大きい場合に“1”の2値の信号をパック部202に出力する。要するに、比較部201は、各画素が、先に示した2色抽出部102における第1グループに属するのか、第2グループに属するのかを識別する識別情報(2値)を生成する識別情報生成部として機能する。以降、この比較部201が生成するデータを識別情報という。実施形態の場合、1ブロックは8×8画素としているので、識別情報は全部で8×8=64ビットとなる。   The comparison unit 201 performs raster scan on the block data from the blocking unit 101 and inputs it in units of pixels. Then, the comparison unit 201 compares the input target pixel value with the average value AVE from the two-color extraction unit 102. When the target pixel value is equal to or less than the average value, the comparison unit 201 sets the target pixel value to the average value. When the value is larger than the value, a binary signal of “1” is output to the pack unit 202. In short, the comparison unit 201 generates identification information (binary) for identifying whether each pixel belongs to the first group or the second group in the two-color extraction unit 102 shown above. Function as. Hereinafter, the data generated by the comparison unit 201 is referred to as identification information. In the case of the embodiment, since one block is 8 × 8 pixels, the identification information is 8 × 8 = 64 bits in total.

パック部202は、代表色C0、C1と、識別情報を結合し、出力する。但し、代表色C0、C1は共に8ビットであるので、単純に結合してしまうと、8×2+64=80ビットとなってしまい、符号化種別を示す1ビットを除く79ビットに納めることができない。   The pack unit 202 combines the representative colors C0 and C1 and the identification information and outputs them. However, since the representative colors C0 and C1 are both 8 bits, if they are simply combined, 8 × 2 + 64 = 80 bits, which cannot be contained in 79 bits excluding 1 bit indicating the coding type. .

そこで、本実施形態におけるパック部202は以下に示すようにして、2色C0、C1を15ビットで表わすようにした。なお、既に説明したように、C0<C1の関係にある点に注意されたい。また、代表色C0の最下位ビット(ビット0)を除くビット1乃至7で表わされる値をC0’、代表色C1の最下位ビット(ビット0)を除くビット1乃至7で表わされる値をC1’と表現する。C0’(C1’も同様)は、C0を下位方向に1ビットシフトした後、そのビット0乃至6を用いれば簡単に生成することができる。即ち、“+”をビット結合を表すとすると、データの並びは以下のようになる。
・代表色C1のビット0が“0”の場合:
代表色C0のビット0+C0’+C1’
・代表色C1のビット0が“1”の場合:
代表色C0のビット0+C1’+C0’
Therefore, the pack unit 202 in this embodiment is configured to represent the two colors C0 and C1 with 15 bits as described below. Note that, as already described, there is a relationship of C0 <C1. Further, C0 ′ represents a value represented by bits 1 to 7 excluding the least significant bit (bit 0) of the representative color C0, and C1 represents a value represented by bits 1 to 7 excluding the least significant bit (bit 0) of the representative color C1. ' C0 ′ (same for C1 ′) can be easily generated by shifting C0 by 1 bit in the lower direction and then using the bits 0 to 6. That is, assuming that “+” represents bit combination, the data arrangement is as follows.
When bit 0 of representative color C1 is “0”:
Bit 0 + C0 '+ C1' of representative color C0
When bit 0 of representative color C1 is “1”:
Bit 0 + C1 '+ C0' of representative color C0

図3(a),(b)は、符号化種別情報(1ビット)と、識別情報(64ビット)を含めた2色符号化部103の符号化データのデータ構造を示している。復号処理の詳細は後述するが、このデータから代表色C0、C1それぞれの8ビットのデータを復元できる。符号化データ中の、7ビットで表わされる2つの代表色の最初の値をデータV0、その次のデータV1としたとき、仮にV0<V1であったとする。この場合、その符号化データ中の代表色はC0、C1の順番であり、図3(a)のケースであることが一義的に決まる。つまり、7ビットの代表色C1を1ビットだけ左(上位)にシフトし、その最下位ビット(LSB)に“0”を設定(追加)することで、元の8ビットの代表色C1を復元できる。また、代表色C0は単純に、1ビット分だけ左シフトし、そのLSBに、符号化データの2ビット目(C0のビット0)を格納すれば復元できる。   FIGS. 3A and 3B show the data structure of encoded data of the two-color encoding unit 103 including encoding type information (1 bit) and identification information (64 bits). Although details of the decoding process will be described later, 8-bit data of each of the representative colors C0 and C1 can be restored from this data. If the first value of two representative colors represented by 7 bits in the encoded data is data V0 and the next data V1, it is assumed that V0 <V1. In this case, the representative colors in the encoded data are in the order of C0 and C1, and are uniquely determined to be the case of FIG. That is, the original 8-bit representative color C1 is restored by shifting the 7-bit representative color C1 to the left (upper) by 1 bit and setting (adding) “0” to the least significant bit (LSB). it can. The representative color C0 can be restored by simply shifting left by one bit and storing the second bit (bit 0 of C0) of the encoded data in the LSB.

また、V0>V1である場合、その符号化データ中の7ビットで表わされる代表色はC1、C0の順番であり、図3(b)のケースであることが一義的に決まる。つまり、7ビットの代表色C1を1ビットだけ左(上位)にシフトし、そのLSBに“1”を設定(追加)することで、元の8ビットの代表色C1を復元できる。また、代表色C0は単純に、1ビット分だけ左シフトし、そのLSBに、符号化データの2ビット目(C0のビット0)を格納すれば復元できる。   When V0> V1, the representative colors represented by 7 bits in the encoded data are in the order of C1 and C0, and the case of FIG. 3B is uniquely determined. That is, the original 8-bit representative color C1 can be restored by shifting the 7-bit representative color C1 to the left (upper) by 1 bit and setting (adding) 1 to the LSB. The representative color C0 can be restored by simply shifting left by one bit and storing the second bit (bit 0 of C0) of the encoded data in the LSB.

上記のように、データV0,V1の大小比較と、その大小の並びに従って、2つの代表色復元が可能になる。   As described above, two representative colors can be restored according to the size comparison of the data V0 and V1 and the arrangement of the sizes.

なお、代表色C0が偶数の値(最下位ビットが0の場合)であり、代表色C1がC0より“1”だけ大きい場合(最下位ビットが1の場合)に限って、V0=V1となる。換言すれば、V0=V1となるのは、代表色C0が偶数の値であり、代表色C1がC0より“1”だけ大きい場合のみと言える。かかる状況は、符号化データの2番目のビット(C0のビット0)が“0”であり、V0=V1となる場合のみであるので、V0(又はV1)を上位方向に1ビットシフトし、最下位ビットに0をセットしたものがC0と特定できる。また、C1はC0に“1”を加算すれば得られる。   Note that V0 = V1 only when the representative color C0 is an even value (when the least significant bit is 0) and the representative color C1 is larger than C0 by “1” (when the least significant bit is 1). Become. In other words, V0 = V1 can be said only when the representative color C0 is an even value and the representative color C1 is larger by “1” than C0. Since this situation is only when the second bit (bit 0 of C0) of the encoded data is “0” and V0 = V1, V0 (or V1) is shifted by 1 bit in the upper direction, A device in which 0 is set in the least significant bit can be specified as C0. C1 can be obtained by adding “1” to C0.

また、実施形態では、2色符号化部103が生成する符号化データのデータ構造が図3(a),(b)のいずれかであるとした。しかしながら、これによって本発明が限定されるものではない。例えば、識別情報(64ビット)、{C0’、C1’}、代表色の一方の最下位ビットの順番でも構わない。要は、符号化装置側と復号装置側で共通の配置のデータ構造となるようにすればよい。   In the embodiment, it is assumed that the data structure of the encoded data generated by the two-color encoding unit 103 is one of FIGS. However, this does not limit the present invention. For example, the order of identification information (64 bits), {C0 ', C1'}, and the least significant bit of one of the representative colors may be used. In short, the data structure may be arranged in common on the encoding device side and the decoding device side.

以上説明したように本実施形態における2色符号化部103は、2つの代表色を表わす16ビット、識別情報を表わす64ビットをパックした際、16+64ビットではなく、それより1ビット少ない符号化データを生成することが可能になる。昨今のイメージスキャナやデジタルカメラの解像度は高くなる一方であるので、必然、その中に含まれるブロック数は増える一方である。従って、1ブロックにつき1ビットを減らすことは、画像全体の符号化データ量を大幅に減らすことを意味する。   As described above, the two-color encoding unit 103 according to the present embodiment packs 16 bits representing two representative colors and 64 bits representing identification information, not 16 + 64 bits but encoded data one bit less than that. Can be generated. Since the resolution of recent image scanners and digital cameras is becoming higher, the number of blocks included in the resolution is inevitably increasing. Therefore, reducing one bit per block means that the amount of encoded data of the entire image is greatly reduced.

また、実施形態における多値符号化部104を除く構成で符号化装置を構成するのであれば、1画素が8ビット、1ブロックが8m×8nである必要はなく、1ブロックが複数画素であればよい。当然、符号化種別情報も不要となることも容易に理解できるであろう。   Further, if the encoding apparatus is configured with the configuration excluding the multi-level encoding unit 104 in the embodiment, it is not necessary that one pixel is 8 bits, one block is 8 m × 8 n, and one block is a plurality of pixels. That's fine. Of course, it can be easily understood that the encoding type information is not necessary.

また、上記実施形態の如く、2色符号化部103と多値符号化部104を混在して、1画素8ビットの画像データを8×8画素のブロック単位に符号化する場合、1ブロックの画像を固定長80ビットの符号化データを生成することが可能になる。また、1ブロックのデータが8の整数倍、すなわち、バイトの整数倍で表わされるので、アクセス効率も高くなることも約束されることになる。   Further, as in the above embodiment, when the two-color encoding unit 103 and the multi-level encoding unit 104 are mixed and image data of 8 bits per pixel is encoded in units of 8 × 8 pixels, one block It becomes possible to generate encoded data having a fixed length of 80 bits. In addition, since one block of data is represented by an integer multiple of 8, that is, an integer multiple of bytes, it is promised that the access efficiency will be high.

なお、上記実施形態では、モノクロ多値画像を例にしたが、カラー画像に適用しても良い。カラー画像、例えば、R、G、Bの3成分が各8ビットで表わされる場合、各成分毎に上記実施形態の処理を行なえばよい。   In the above embodiment, a monochrome multi-value image is taken as an example, but it may be applied to a color image. In the case where a color image, for example, three components of R, G, and B are represented by 8 bits each, the processing of the above embodiment may be performed for each component.

また、実施形態では、符号化種別情報は、各符号化部が生成するものとして説明したが、セレクタ105が、2色抽出部からの情報に基づき、符号化種別情報を付加するようにしても構わない。   In the embodiment, the encoding type information is described as being generated by each encoding unit. However, the selector 105 may add the encoding type information based on information from the two-color extraction unit. I do not care.

次に、実施形態における画像復号装置について説明する。図4は実施形態における画像復号装置のブロック構成図である。本装置は、符号化種別判定部301、2色復号部302、多値復号部303、及び、セレクタ部304を有する。   Next, the image decoding apparatus in the embodiment will be described. FIG. 4 is a block configuration diagram of the image decoding apparatus according to the embodiment. This apparatus includes an encoding type determination unit 301, a color decoding unit 302, a multi-level decoding unit 303, and a selector unit 304.

符号化種別判定部301は、80ビットの符号化データの先頭の1ビット(符号化種別情報)が“0”であるか“1”であるか判定する。換言すれば、符号化種別判定部301は、着目符号化データが2色符号化部103、多値符号化部104のいずれによって生成された符号化データであるのかを判定する。符号化種別判定部301は、その判定結果を制御信号として、2色復号部302、多値復号部303、及び、セレクタ部304に出力する。   The encoding type determination unit 301 determines whether the first bit (encoding type information) of the 80-bit encoded data is “0” or “1”. In other words, the encoding type determination unit 301 determines whether the target encoded data is encoded data generated by the two-color encoding unit 103 or the multi-level encoding unit 104. The encoding type determination unit 301 outputs the determination result as a control signal to the two-color decoding unit 302, the multi-level decoding unit 303, and the selector unit 304.

2色復号部302は、符号化種別判定部301からの制御信号が2色符号化部103で符号化されていることを示す場合に、着目符号化データが2色符号化データであるものとして復号する。   The two-color decoding unit 302 assumes that the target encoded data is two-color encoded data when the control signal from the encoding type determination unit 301 indicates that the two-color encoding unit 103 has encoded the control signal. Decrypt.

この2色復号部302は、入力した符号化データが図3(a)、(b)のいずれかであるかを判定する。すなわち、7ビットで表わされる2つの代表色の値を比較し、図3(a),(b)のいずれのタイプであるかを判定し、8ビットの代表色C0、C1を復元する。この復元のアルゴリズムは先に説明した通りである。そして、後続する64ビットの識別情報がラスタースキャン順に並んでいるものとし、個々の識別情報が“0”の画素位置に対しては代表色C0をその画素値として出力する。そして、識別情報が“1”の画素位置に対しては代表色C1をその画素値として出力する。これを64ビットについて行なうことで、8×8画素の画像データを復元する。   The two-color decoding unit 302 determines whether the input encoded data is one of FIGS. 3A and 3B. That is, the values of two representative colors represented by 7 bits are compared to determine which type is shown in FIGS. 3A and 3B, and the 8-bit representative colors C0 and C1 are restored. The restoration algorithm is as described above. Then, it is assumed that the subsequent 64-bit identification information is arranged in the raster scan order, and the representative color C0 is output as the pixel value for each pixel position where the identification information is “0”. Then, the representative color C1 is output as the pixel value for the pixel position whose identification information is "1". By performing this for 64 bits, image data of 8 × 8 pixels is restored.

一方、多値復号部303は、符号化種別判定部301からの制御信号が多値符号化部104で符号化されていることを示す場合に、着目符号化データが多値符号化データであるものとしてJPEG復号する。復号処理は、エントロピー復号、逆量子化、逆DCT変換の順に行われる。このとき、符号化種別情報を除く79ビットを順にエントロピー復号した結果、EOB(End Of Block)が検出できた場合には、EOB以降のデータはダミーとして無視する。また、エントロピー復号処理でEOBが検出できなかった場合には、不足する個数の量子化後のDCT係数は“0”であるものとして、復号処理を続ける。   On the other hand, when the multilevel decoding unit 303 indicates that the control signal from the encoding type determination unit 301 is encoded by the multilevel encoding unit 104, the encoded data of interest is the multilevel encoded data. JPEG decoding as a thing. The decoding process is performed in the order of entropy decoding, inverse quantization, and inverse DCT transform. At this time, if the EOB (End Of Block) is detected as a result of entropy decoding of 79 bits excluding the encoding type information in order, the data after the EOB is ignored as a dummy. If EOB cannot be detected by the entropy decoding process, the decoding process is continued assuming that the insufficient number of DCT coefficients after quantization is “0”.

セレクタ部304は、符号化種別判定部301からの制御信号が2色符号化部103で符号化されていることを示す場合には、2色復号部302からの8×8画素のデータを選択し、出力する。一方、符号化種別判定部301からの制御信号が多値符号化部104で符号化されていることを示す場合には、多値復号部303からの8×8画素のデータを選択し、出力する。これを繰り返すことで、画像復元(復号)が行われる。   The selector unit 304 selects 8 × 8 pixel data from the two-color decoding unit 302 when the control signal from the coding type determination unit 301 indicates that the two-color coding unit 103 has encoded the control signal. And output. On the other hand, when the control signal from the encoding type determination unit 301 indicates that the multilevel encoding unit 104 has encoded, the 8 × 8 pixel data from the multilevel decoding unit 303 is selected and output. To do. By repeating this, image restoration (decoding) is performed.

以上説明したように本実施形態の2色復号部は、15+64ビットを単位に入力し、
そこから2つの代表色C0、C1を決定し、8×8画素の1ブロックの符号化データを復元できる。
As described above, the two-color decoding unit of this embodiment inputs 15 + 64 bits as a unit,
From there, two representative colors C0 and C1 are determined, and the encoded data of one block of 8 × 8 pixels can be restored.

なお、2色復号部を単独で備える復号装置の場合、1ブロックの符号化データは79ビットで良い。すなわち、一般論で言えば、1画素がMビットで表わされ、m×n画素ブロックの符号化データの場合、1ブロックの符号化データのデータ量(データ長)は2M−1+m×nビットとなる。   Note that in the case of a decoding apparatus that includes a two-color decoding unit alone, the encoded data of one block may be 79 bits. That is, in general terms, when one pixel is represented by M bits and the encoded data of an m × n pixel block, the data amount (data length) of the encoded data of one block is 2M−1 + m × n bits. It becomes.

また、本実施形態によれば、先に説明した符号化装置で生成された多値符号化データ、2色符号化データが混在した符号化データを復号することも可能になる。   Further, according to the present embodiment, it is possible to decode encoded data in which multi-level encoded data and 2-color encoded data generated by the encoding apparatus described above are mixed.

なお、1ブロックの符号化データのデータ長を8の整数倍にするのであれば、1ブロックのサイズは8n×8m画素で良い。また、1ブロックのサイズが8n×8mの場合の固定符号長をLとしたとする。多値符号化部104は、そのブロック内に8×8画素のサブブロックがn×m個存在するものとして、8×8画素についてJPEG符号化をm×n回行なう。このとき、1つのサブブロックのJPEG符号化データについては、L/(m×n)−1、それ以外のサブブロックのJPEG符号化データについてはL/(m×n)の固定長になるようにすればよい。   If the data length of the encoded data of one block is an integer multiple of 8, the size of one block may be 8n × 8m pixels. Also, let L be the fixed code length when the size of one block is 8n × 8m. The multi-level encoding unit 104 performs JPEG encoding m × n times for 8 × 8 pixels, assuming that there are n × m sub-blocks of 8 × 8 pixels in the block. At this time, the JPEG encoded data of one subblock has a fixed length of L / (m × n) −1, and the JPEG encoded data of other subblocks has a fixed length of L / (m × n). You can do it.

また、実施形態では、符号化種別情報の後に、色C0のビット0を格納したが、色C1のビット0を格納しても構わない。この場合、色C0のビット0の値に応じて、色C0、C1の順番を決定すればよい。   In the embodiment, bit 0 of color C0 is stored after the encoding type information, but bit 0 of color C1 may be stored. In this case, the order of the colors C0 and C1 may be determined according to the value of bit 0 of the color C0.

<変形例の説明>
上記実施形態と同様の処理を、コンピュータプログラムによって実現する例を以下に説明する。コンピュータプログラムは、例えばパーソナルコンピュータで良く、そのハードウェア資源はCPU、ROM、RAM、HDD、表示装置(表示制御部)、及び、画像入力装置(イメージスキャナ)で構成すれば良く、その説明は不要であろう。そこで、以下では、符号化、復号を行なうアプリケーションプログラムによる処理手順を図面に従って説明する。
<Description of modification>
An example in which the same processing as in the above embodiment is realized by a computer program will be described below. The computer program may be, for example, a personal computer, and its hardware resources may be constituted by a CPU, ROM, RAM, HDD, display device (display control unit), and image input device (image scanner), and the description thereof is unnecessary. Will. Therefore, hereinafter, a processing procedure by an application program for encoding and decoding will be described with reference to the drawings.

先ず、CPUが実行するアプリケーションプログラムにおける符号化の処理手順を図5のフローチャートに従って説明する。なお、このアプリケーションプログラムは、ハードディスク装置等の記憶媒体に格納されているものであり、OS(オペレーティングシステム)の制御下で、RAMにロードされ実行されるものである。また、符号化対象の画像データの発生源は特に問わないが、イメージスキャナであるものとして説明し、符号化結果はハードディスクにファイルとして保存するものとして説明する。   First, an encoding process procedure in an application program executed by the CPU will be described with reference to the flowchart of FIG. The application program is stored in a storage medium such as a hard disk device, and is loaded into the RAM and executed under the control of the OS (Operating System). The generation source of the image data to be encoded is not particularly limited, but will be described as an image scanner, and the encoding result will be described as being stored as a file on the hard disk.

先ず、ステップS1にて、符号化対象の画像データを1ブロック分(8×8画素)を入力する。次いで、ステップS2にて、入力したブロック内の画素の平均値AVEを算出する。そして、その平均値AVE以下の値を持つ画素群の平均値を代表色C0、平均値AVEを超える値を持つ画素群の平均値を代表色C1として算出する。このとき、ブロック内の全画素が同一の画素値である場合、C0=C1となる。   First, in step S1, one block (8 × 8 pixels) of image data to be encoded is input. Next, in step S2, an average value AVE of the pixels in the input block is calculated. Then, the average value of the pixel group having a value equal to or less than the average value AVE is calculated as the representative color C0, and the average value of the pixel group having a value exceeding the average value AVE is calculated as the representative color C1. At this time, if all the pixels in the block have the same pixel value, C0 = C1.

ステップS3では、「C1−C0」が閾値Thより大きいか否かを判定する。「C1−C0」が閾値Th以下であると判定した場合、すなわち、着目ブロックに高周波成分が少ないと判断した場合、処理はステップS4に進む。このステップS4では、多値符号化(JPEG符号化)を行ない、先頭に多値符号化されたことを示す1ビットのデータを付加し、それに後続する79ビットの符号化データを生成する。この後、ステップS5にて、生成された固定長80ビットの符号化データ(多値符号化データ)を出力する。   In step S3, it is determined whether “C1-C0” is greater than a threshold value Th. If it is determined that “C1-C0” is equal to or smaller than the threshold Th, that is, if it is determined that the high frequency component is small in the block of interest, the process proceeds to step S4. In step S4, multi-level encoding (JPEG encoding) is performed, 1-bit data indicating that multi-level encoding has been performed is added to the head, and subsequent 79-bit encoded data is generated. Thereafter, in step S5, the generated encoded data with a fixed length of 80 bits (multi-level encoded data) is output.

一方、ステップS3では、「C1−C0」が閾値Thより大きいと判定した場合、着目ブロックには文字線画が含まれると判定できる。そこで、ステップS6に進み、2色符号化処理を行なう。すなわち、2色符号化されたことを示す1ビットのデータ、色C0のビット0、そして、色C1のビット0の値に応じた順番で色C0、C1の上位7ビットを生成する。そして、先のステップS2で算出した平均値AVEとブロック内の各画素値とを比較し、各画素が2つのグループのいずれに属するのかを示す識別情報を生成する。そして、これらのデータをまとめ、図3(a)又は図3(b)のデータを構築する。   On the other hand, in step S3, when it is determined that “C1-C0” is greater than the threshold value Th, it can be determined that the target block includes a character line drawing. Then, it progresses to step S6 and a two-color encoding process is performed. That is, 1-bit data indicating that the two-color encoding is performed, bit 0 of color C0, and upper 7 bits of colors C0 and C1 are generated in the order corresponding to the value of bit 0 of color C1. Then, the average value AVE calculated in the previous step S2 is compared with each pixel value in the block, and identification information indicating which of the two groups each pixel belongs to is generated. And these data are put together and the data of Fig.3 (a) or FIG.3 (b) is constructed | assembled.

この後、ステップS7にて、構築したデータを出力する。   Thereafter, in step S7, the constructed data is output.

ステップS5又はステップS7の処理を終えると、処理はステップS8に進み、全ブロックの符号化処理が完了したか否かを判定する。未完であると判定した場合には、ステップS1以降の処理を繰り返す。   When the process of step S5 or step S7 is completed, the process proceeds to step S8, and it is determined whether or not the encoding process for all blocks has been completed. If it is determined that the process is incomplete, the processes after step S1 are repeated.

こうして、ステップS8にて、全ブロックの符号化処理が完了したと判断した場合、符号化処理を終了する。   Thus, when it is determined in step S8 that the encoding process for all blocks has been completed, the encoding process is terminated.

次に、CPUが実行するアプリケーションプログラムにおける復号処理を説明する。ここでは、ハードディスクに格納された圧縮符号化データファイル(既にユーザがGUIを介して選択しているものとする)を復号し、表示する例を説明する。復号結果を表示するわけであるから、復号した画像データの出力先は、表示制御部が有するビデオメモリとなる。   Next, the decoding process in the application program executed by the CPU will be described. Here, an example of decoding and displaying a compression-encoded data file (assuming that the user has already selected via the GUI) stored in the hard disk will be described. Since the decoding result is displayed, the output destination of the decoded image data is a video memory included in the display control unit.

先ず、ステップS11で、1ブロック分の符号化データ(固定長80ビット)を符号化データファイルからRAM内に入力する。次いで、ステップS12にて、その先頭の1ビットの符号化種別情報が“0”か“1”かを判定する。すなわち、入力した符号化データが2色符号化データであるか、多値符号化データであるかを判定する。   First, in step S11, one block of encoded data (fixed length 80 bits) is input from the encoded data file into the RAM. Next, in step S12, it is determined whether the leading 1-bit encoding type information is “0” or “1”. That is, it is determined whether the input encoded data is two-color encoded data or multi-level encoded data.

多値符号化データであると判定した場合には、ステップS13に処理を進め、JPEG復号処理を行なう。このJPEG復号処理は、公知のエントロピー復号、逆量子化、逆DCT変換の順に行われる。ただし、符号化種別情報を除く79ビットを順にエントロピー復号した結果、EOBは検出できた場合には、EOB以降のデータはダミーとして無視する。また、エントロピー復号処理でEOBが検出できなかった場合には、不足する個数の量子化後のDCT係数は“0”であるものとして、復号処理を続ける。こうして、8×8画素のブロック画像データが復号されると、ステップS14にて、そのブロック画像データを出力する。   If it is determined that the data is multi-level encoded data, the process proceeds to step S13 to perform JPEG decoding. This JPEG decoding process is performed in the order of known entropy decoding, inverse quantization, and inverse DCT transform. However, if EOB can be detected as a result of entropy decoding of 79 bits excluding the encoding type information in order, the data after EOB is ignored as a dummy. If EOB cannot be detected by the entropy decoding process, the decoding process is continued assuming that the insufficient number of DCT coefficients after quantization is “0”. When the 8 × 8 pixel block image data is decoded in this way, the block image data is output in step S14.

一方、入力した符号化データが2色符号化データであると判定した場合、処理はステップS15に進み。このステップS15では、入力した符号化データが図3(a)、(b)のいずれかであるかを判定する。すなわち、7ビットで表わされる2つの代表色の値を比較し、図3(a),(b)のいずれのタイプであるかを判定し、8ビットの代表色C0、C1を復元する。そして、後続する64ビットの識別情報がラスタースキャン順に並んでいるものとし、個々の識別情報が“0”の画素位置に対しては代表色C0をその画素値として置き換える。そして、識別情報が“1”の画素位置に対しては代表色C1をその画素値として置き換える。これを64ビットについて行なうことで、8×8画素の画像データを復元する。この後、ステップS16にて、復元した8×8画素の画像データを出力する。   On the other hand, if it is determined that the input encoded data is two-color encoded data, the process proceeds to step S15. In step S15, it is determined whether the input encoded data is one of FIGS. 3A and 3B. That is, the values of two representative colors represented by 7 bits are compared to determine which type is shown in FIGS. 3A and 3B, and the 8-bit representative colors C0 and C1 are restored. Then, it is assumed that the subsequent 64-bit identification information is arranged in the raster scan order, and the representative color C0 is replaced with the pixel value for the pixel position where the individual identification information is “0”. The representative color C1 is replaced with the pixel value for the pixel position whose identification information is “1”. By performing this for 64 bits, image data of 8 × 8 pixels is restored. Thereafter, in step S16, the restored 8 × 8 pixel image data is output.

ステップS14、又は、ステップS16の処理を終えると、処理はステップS17に進み、全ブロックの復号処理を完了したか否かを判定する。未完であると判定した場合には、ステップS11以降の処理を繰り返す。   When the process of step S14 or step S16 is completed, the process proceeds to step S17, and it is determined whether or not the decoding process for all blocks has been completed. If it is determined that the process is incomplete, the processes after step S11 are repeated.

以上説明したように先に説明した符号化及び復号処理を、コンピュータプログラムによっても実現できるようになり、同様の作用効果を奏することが可能になる。   As described above, the encoding and decoding processes described above can be realized by a computer program, and the same operational effects can be achieved.

<第2の実施形態>
上記第1の実施形態、及び、その変形例では、2つの符号化データのいずれかを選択するための基準を、代表色C0、C1の差が閾値Th以下であるか否かに従うものとしたが、これによって本発明が限定されるものではない。
<Second Embodiment>
In the first embodiment and the modification thereof, the criterion for selecting one of the two encoded data is based on whether or not the difference between the representative colors C0 and C1 is equal to or less than the threshold Th. However, this does not limit the present invention.

例えば、一旦、2色符号化データを復号した結果とオリジナルの8×8画素の画像データとの誤差と、多値符号化データを復号した結果とオリジナルの8×8画素の画像データとの誤差を求める。そして、2つの誤差の小さい方を出力対象の符号化データとして決定しても構わない。より詳しく説明すると次の通りである。   For example, an error between the result of decoding the two-color encoded data and the original 8 × 8 pixel image data, and an error between the result of decoding the multi-level encoded data and the original 8 × 8 pixel image data Ask for. Then, the smaller of the two errors may be determined as encoded data to be output. More detailed description is as follows.

オリジナル(符号化前)の8×8画素の各画素値X(i,j)(i,j=0、1,2,…7)と定義する。また、2色符号化データを復号して得られた8×8画素の各画素値をY(i,j)、多値符号化データを復号した8×8画素の各画素値をZ(i,j)と定義する。そして、セレクタ部105は、次式に従って誤差D1、誤差D2を算出する。
D1=Σ|X(i,j)−Y(i,j)|
D2=Σ|X(i,j)−Z(i,j)|
なお、|p|は値pの絶対値を示し、Σはi,j=0,1、…7の合算を示している。また、画素間の差の絶対値を求めるのではなく、次式のように画素間の差を2乗和を求めても構わない。
D1=Σ{X(i,j)−Y(i,j)}^2
D2=Σ{X(i,j)−Z(i,j)}^2
(P^2は、Pの2乗を示す)
Each pixel value X (i, j) (i, j = 0, 1, 2,... 7) of 8 × 8 pixels of the original (before encoding) is defined. Further, each pixel value of 8 × 8 pixels obtained by decoding the two-color encoded data is Y (i, j), and each pixel value of 8 × 8 pixels obtained by decoding the multi-value encoded data is Z (i , J). Then, selector section 105 calculates error D1 and error D2 according to the following equations.
D1 = Σ | X (i, j) −Y (i, j) |
D2 = Σ | X (i, j) −Z (i, j) |
Here, | p | represents the absolute value of the value p, and Σ represents the sum of i, j = 0, 1,. Further, instead of obtaining the absolute value of the difference between the pixels, the sum of squares of the difference between the pixels may be obtained as in the following equation.
D1 = Σ {X (i, j) −Y (i, j)} ^ 2
D2 = Σ {X (i, j) −Z (i, j)} ^ 2
(P ^ 2 indicates the square of P)

いずれの場合であっても、セレクタ部105は、D1≦D2を満たす場合、2色符号化データを選択し、D1>D2の場合には多値符号化データを選択する。   In any case, the selector unit 105 selects two-color encoded data when D1 ≦ D2 is satisfied, and selects multi-level encoded data when D1> D2.

また、2色抽出部102は、着目ブロック内の全画素値が同一であった場合、2色抽出部102は2つの代表色C0、C1のうち、一方を実在する色とする。そして、もう一方を、ダミーデータとする。そして、その中央値をAVEとして2色符号化部103に出力すればよい。一例を挙げるなら、次の通りである。   Further, when all the pixel values in the block of interest are the same, the two-color extraction unit 102 sets one of the two representative colors C0 and C1 as an actual color. The other is dummy data. Then, the median value may be output to the two-color encoding unit 103 as AVE. An example is as follows.

今、着目ブロック内の全画素の値が仮に“255”であったとする。この場合、2色抽出部102は、C0=255(実在する色)、C1=0(ダミーデータ)、その中央値の“128”をAVEとして2色符号化部103に出力する。2色符号化部103は、図3の構成によって、全画素の識別情報を“1”として決定することになるだけであり、何等矛盾は生じない。   Now, it is assumed that the values of all the pixels in the block of interest are “255”. In this case, the two-color extraction unit 102 outputs C0 = 255 (existing color), C1 = 0 (dummy data), and the median “128” to the two-color encoding unit 103 as AVE. The two-color encoding unit 103 only determines the identification information of all the pixels as “1” by the configuration of FIG. 3, and no contradiction occurs.

以上説明したように本第2の実施形態に従えば、第1の実施形態の作用効果に加えて、より正確にオリジナル画像に近似する画像を復号可能な符号化データを生成することが可能になる。   As described above, according to the second embodiment, in addition to the operational effects of the first embodiment, it is possible to generate encoded data capable of decoding an image that approximates the original image more accurately. Become.

なお、本第2の実施形態における復号装置は、第1の実施形態と同じであるので、その説明は省略する。また、本第2の実施形態に相当する機能を、先に説明した第1の実施形態の変形例と同様に、コンピュータプログラムによって実現できることは明らかである。   Note that the decoding device in the second embodiment is the same as that in the first embodiment, and a description thereof will be omitted. Further, it is obvious that the function corresponding to the second embodiment can be realized by a computer program as in the modification of the first embodiment described above.

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

実施形態における画像符号化装置のブロック構成図である。It is a block block diagram of the image coding apparatus in embodiment. 図1における2色符号化部のブロック構成図である。It is a block block diagram of the two-color encoding part in FIG. 2色符号化部が生成する符号化データのデータ構造を示す図である。It is a figure which shows the data structure of the encoding data which a 2 color encoding part produces | generates. 実施形態における画像復号装置のブロック構成図である。It is a block block diagram of the image decoding apparatus in embodiment. 符号化処理手順を示すフローチャートである。It is a flowchart which shows an encoding process procedure. 復号処理手順を示すフローチャートである。It is a flowchart which shows a decoding process procedure.

Claims (11)

1画素が複数ビットで表わされる多値の画像データを符号化する画像符号化装置であって、
複数画素で構成されるブロックを単位に画像データを入力する入力手段と、
着目ブロック内の画素値の平均値AVEを算出し、算出した前記平均値AVE以下の値を持つ画素群を第1グループ、前記平均値AVEよりも大きい値を持つ画素群を第2グループとしたとき、前記第1グループ、前記第2グループのそれぞれの画素値の平均値を、前記着目ブロックの代表画素値C0、C1として抽出する抽出手段と、
前記着目ブロック内の各画素が前記代表画素値C0、C1のいずれに属するかを示すための2値の識別情報を生成する識別情報生成手段と、
前記代表画素値C0、C1の予め設定された一方の画素値の最下位ビット、及び、前記代表画素値C0、C1それぞれの最下位ビットを除くC0’、C1’のデータを生成する生成手段と、
前記一方の画素値の最下位ビット、前記C0’、C1’、及び、前記識別情報をまとめて前記着目ブロックの符号化データを生成し、出力する出力手段とを備え、
前記出力手段は、前記代表画素値C0、C1の他方の代表画素値の最下位ビットの値に応じて、前記符号化データに配置する前記C0’、C1’の順番を、C0’、C1’、又は、C1’、C0’のいずれかにして出力することを特徴とする画像符号化装置。
An image encoding device for encoding multi-value image data in which one pixel is represented by a plurality of bits,
An input means for inputting image data in units of blocks composed of a plurality of pixels;
An average value AVE of the pixel values in the block of interest is calculated, a pixel group having a value equal to or less than the calculated average value AVE is a first group, and a pixel group having a value larger than the average value AVE is a second group. Extraction means for extracting an average value of the pixel values of the first group and the second group as representative pixel values C0 and C1 of the block of interest ;
Identification information generating means for generating binary identification information for indicating which of the representative pixel values C0 and C1 each pixel in the block of interest belongs to;
Generating means for generating data of C0 ′ and C1 ′ excluding the least significant bit of one of the preset pixel values of the representative pixel values C0 and C1 and the least significant bit of each of the representative pixel values C0 and C1; ,
An output unit that generates and outputs encoded data of the block of interest by combining the least significant bit of the one pixel value, the C0 ′, C1 ′, and the identification information;
The output means determines the order of the C0 ′ and C1 ′ to be arranged in the encoded data according to the value of the least significant bit of the other representative pixel value of the representative pixel values C0 and C1, and C0 ′ and C1 ′. Or an image encoding apparatus that outputs the data as either C1 ′ or C0 ′.
前記抽出手段は、前記着目ブロック内の全画素の画素値が同一であった場合、前記画素値を一方の代表画素値として決定し、他方の代表画素値として前記一方の代表画素値と異なるダミーの値を抽出することを特徴とする請求項1記載の画像符号化装置。 When the pixel values of all the pixels in the block of interest are the same, the extraction unit determines the pixel value as one representative pixel value, and sets the other representative pixel value as a dummy different from the one representative pixel value. The image encoding apparatus according to claim 1 , wherein the value of the image is extracted. 前記ブロックは8m×8n(m、nは1以上の整数)画素で構成され、前記出力手段が出力する符号化データのビット数をL−1ビットと定義したとき、
更に、
前記着目ブロック内の8×8画素のサブブロックを単位にJPEG符号化をm×n回行なうことで、JPEG符号化データを生成し、1つのサブブロックのJPEG符号化データをL/(m×n)−1ビット、それ以外のサブブロックのJPEG符号化データをL/(m×n)ビットの固定長にすることで、前記着目ブロックからL−1ビットのJPEG符号化データを生成するJPEG符号化手段と、
前記出力手段が出力する符号化データと、前記JPEG符号化手段で生成されたJPEG符号化データのいずれか一方を選択すると共に、選択した符号化データがいずれの符号化データであるかを示す1ビットの符号化種別情報に後続して、選択した符号化データを出力する選択手段と
を備えることを特徴とする請求項1又は2に記載の画像符号化装置。
The block is composed of 8m × 8n (m, n is an integer of 1 or more) pixels, and when the number of bits of encoded data output by the output unit is defined as L-1 bits,
Furthermore,
JPEG encoding is performed m × n times for each 8 × 8 pixel sub-block in the block of interest to generate JPEG encoded data, and the JPEG encoded data of one sub-block is converted to L / (m × n) JPEG for generating L-1 bit JPEG encoded data from the block of interest by setting the JPEG encoded data of the other sub-blocks to a fixed length of L / (m × n) bits. Encoding means;
1 indicating whether the selected encoded data is one of the encoded data output from the output means and the JPEG encoded data generated by the JPEG encoding means. and subsequent to the bits of the encoded type information, the image encoding apparatus according to claim 1 or 2, characterized in that it comprises a selection means for outputting the selected coded data.
前記選択手段は、
前記代表画素値C1とC0との差と、予め設定された閾値とを比較し、前記差が前記閾値以下であった場合、前記JPEG符号化手段で生成された符号化データを選択し、前記差が前記閾値より大きい場合に前記出力手段が出力する符号化データを選択することを特徴とする請求項に記載の画像符号化装置。
The selection means includes
The difference between the representative pixel values C1 and C0 is compared with a preset threshold value. If the difference is less than or equal to the threshold value, the encoded data generated by the JPEG encoding means is selected, and 4. The image encoding apparatus according to claim 3 , wherein when the difference is larger than the threshold value, the encoded data output by the output unit is selected.
前記選択手段は、
前記JPEG符号化手段で生成される符号化データを復号した結果の画像と、符号化前の前記着目ブロックの画像の各画素間の画素値の差分の合計である誤差D1を算出し、
前記出力手段から出力される符号化データを復号した結果の画像と、符号化前の前記着目ブロックの画像の各画素間の画素値の差分の合計である誤差D2を算出し、
D2≦D1
の関係にあるとき、前記出力手段が出力する符号化データを選択し、
D2>D1の関係にあるとき、前記JPEG符号化手段で生成された符号化データを選択する
ことを特徴とする請求項に記載の画像符号化装置。
The selection means includes
Calculating an error D1 that is the sum of pixel value differences between each pixel of the image obtained by decoding the encoded data generated by the JPEG encoding means and the image of the target block before encoding;
Calculating an error D2 that is the sum of the pixel value differences between each pixel of the image obtained by decoding the encoded data output from the output means and the image of the block of interest before encoding;
D2 ≦ D1
When the relationship is, select the encoded data output by the output means,
The image encoding device according to claim 3 , wherein when the relationship of D2> D1 is satisfied, the encoded data generated by the JPEG encoding unit is selected.
1画素が複数ビットで表わされる多値の画像データを符号化する画像符号化装置の制御方法であって、
入力手段が、複数画素で構成されるブロックを単位に画像データを入力する入力工程と、
抽出手段が、着目ブロック内の画素値の平均値AVEを算出し、算出した前記平均値AVE以下の値を持つ画素群を第1グループ、前記平均値AVEよりも大きい値を持つ画素群を第2グループとしたとき、前記第1グループ、前記第2グループのそれぞれの画素値の平均値を、前記着目ブロックの代表画素値C0、C1として抽出する抽出工程と、
識別情報生成手段が、前記着目ブロック内の各画素が前記代表画素値C0、C1のいずれに属するかを示すための2値の識別情報を生成する識別情報生成工程と、
生成手段が、前記代表画素値C0、C1の予め設定された一方の代表画素値の最下位ビット、及び、前記代表画素値C0、C1それぞれの最下位ビットを除くC0’、C1’のデータを生成する生成工程と、
出力手段が、前記一方の画素値の最下位ビット、前記C0’、C1’、及び、前記識別情報をまとめて前記着目ブロックの符号化データを生成し、出力する出力工程とを備え、
前記出力工程は、前記代表画素値C0、C1の他方の代表画素値の最下位ビットの値に応じて、前記符号化データに配置する前記C0’、C1’の順番を、C0’、C1’、又は、C1’、C0’のいずれかにして出力することを特徴とする画像符号化装置の制御方法。
A control method of an image encoding device for encoding multi-value image data in which one pixel is represented by a plurality of bits,
An input step in which the input means inputs image data in units of blocks composed of a plurality of pixels;
The extraction means calculates an average value AVE of the pixel values in the block of interest, a first group of pixels having a value equal to or less than the calculated average value AVE, and a first group of pixels having a value greater than the average value AVE. An extraction step of extracting an average value of the pixel values of the first group and the second group as representative pixel values C0 and C1 of the block of interest when two groups are provided ;
An identification information generating step in which identification information generating means generates binary identification information for indicating which of the representative pixel values C0 and C1 each pixel in the block of interest belongs to;
The generating means obtains the data of C0 ′ and C1 ′ excluding the least significant bit of one representative pixel value set in advance of the representative pixel values C0 and C1 and the least significant bit of each of the representative pixel values C0 and C1. A generation process to generate;
An output unit comprising: an output step of generating and outputting encoded data of the block of interest by combining the least significant bit of the one pixel value, the C0 ′, C1 ′, and the identification information;
In the output step, the order of the C0 ′ and C1 ′ arranged in the encoded data is changed to C0 ′ and C1 ′ according to the value of the least significant bit of the other representative pixel value of the representative pixel values C0 and C1. Or a control method for an image encoding apparatus, wherein the output is performed as either C1 ′ or C0 ′.
コンピュータが読み込み実行することで、前記コンピュータを、請求項1乃至のいずれか1項に記載の各手段として機能させることを特徴とするコンピュータプログラム。 A computer program for causing a computer to function as each unit according to any one of claims 1 to 5 when the computer reads and executes the computer program. 請求項1に記載の画像符号化装置で生成された符号化データを、復号する画像復号装置であって、
1ブロック分の符号化データを単位に入力する入力手段と、
入力した符号化データ中の予め設定された位置から、1ビットのデータ、及び、ブロックの代表画素値C0、C1の最下位ビットを除いたデータV0,V1、及び、ブロック内の各画素が前記代表画素値C0、C1のいずれに属するのかを示す識別情報を抽出する抽出手段と、
前記データV0とV1とを比較することで決まる前記データV0、V1の一方の最下位ビットに、前記1ビットのデータを追加することで、前記代表画素値C0、C1の一方の代表画素値を復元し、
前記データV0とV1の値の大小の並び順に従って、前記代表画素値C0、C1の他方の代表画素値を復元する代表画素値復元手段と、
前記識別情報の値に従って、前記代表画素値復元手段で復元された代表画素値C0、C1のいずれか一方を選択し、出力することで、複数の画素で構成されるブロックの画像を復元する画像復元手段と
を備えることを特徴とする画像復号装置。
An image decoding device for decoding encoded data generated by the image encoding device according to claim 1,
Input means for inputting encoded data for one block in units;
From the preset position in the input encoded data, 1-bit data and the data V0, V1 excluding the least significant bit of the representative pixel values C0 and C1 of the block and each pixel in the block are Extraction means for extracting identification information indicating which of the representative pixel values C0 and C1 belongs;
By adding the 1-bit data to one least significant bit of the data V0 and V1 determined by comparing the data V0 and V1, one representative pixel value of the representative pixel values C0 and C1 is obtained. Restore,
Representative pixel value restoring means for restoring the other representative pixel value of the representative pixel values C0 and C1 in accordance with the order of arrangement of the values of the data V0 and V1;
An image for restoring an image of a block composed of a plurality of pixels by selecting and outputting one of the representative pixel values C0 and C1 restored by the representative pixel value restoration unit according to the value of the identification information An image decoding apparatus comprising: a restoration unit.
請求項1に記載の画像符号化装置で生成された符号化データを、復号する画像復号装置の制御方法であって、
入力手段が、1ブロック分の符号化データを単位に入力する入力工程と、
抽出手段が、入力した符号化データ中の予め設定された位置から、1ビットのデータ、及び、ブロックの代表画素値C0、C1の最下位ビットを除いたデータV0,V1、及び、ブロック内の各画素が前記代表画素値C0、C1のいずれに属するのかを示す識別情報を抽出する抽出工程と、
復元手段が、前記データV0とV1とを比較することで決まる前記データV0、V1の一方の最下位ビットに、前記1ビットのデータを追加することで、前記代表画素値C0、C1の一方の代表画素値を復元し、
前記データV0とV1の値の大小の並び順に従って、前記代表画素値C0、C1の他方の代表画素値を復元する代表画素値復元工程と、
画像復元手段が、前記識別情報の値に従って、前記代表画素値復元工程で復元された代表画素値C0、C1のいずれか一方を選択し、出力することで、複数の画素で構成されるブロックの画像を復元する画像復元工程と
を備えることを特徴とする画像復号装置の制御方法。
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 in which the input means inputs encoded data for one block in units;
The extraction means removes 1-bit data and the data V0, V1 excluding the least significant bits of the representative pixel values C0 and C1 of the block from the preset position in the input encoded data, An extraction step of extracting identification information indicating which of the representative pixel values C0 and C1 each pixel belongs to;
The restoring means adds the 1-bit data to the least significant bit of one of the data V0 and V1 determined by comparing the data V0 and V1, so that one of the representative pixel values C0 and C1 Restore the representative pixel value,
A representative pixel value restoring step of restoring the other representative pixel value of the representative pixel values C0 and C1 according to the order of arrangement of the values of the data V0 and V1;
The image restoration unit selects and outputs one of the representative pixel values C0 and C1 restored in the representative pixel value restoration step according to the value of the identification information, and thereby outputs a block composed of a plurality of pixels. A method for controlling an image decoding apparatus, comprising: an image restoration step for restoring an image.
コンピュータが読み込み実行することで、前記コンピュータを請求項に記載の各手段として機能させることを特徴とするコンピュータプログラム。 A computer program that causes the computer to function as each unit according to claim 8 by being read and executed by the computer. 請求項又は請求項10に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。 A computer-readable storage medium storing the computer program according to claim 7 or 10 .
JP2007163016A 2007-06-20 2007-06-20 Image encoding apparatus, image decoding apparatus, and control method thereof Expired - Fee Related JP4971881B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007163016A JP4971881B2 (en) 2007-06-20 2007-06-20 Image encoding apparatus, image decoding apparatus, and control method thereof
US12/142,314 US8213727B2 (en) 2007-06-20 2008-06-19 Image encoding apparatus and image decoding apparatus, and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007163016A JP4971881B2 (en) 2007-06-20 2007-06-20 Image encoding apparatus, image decoding apparatus, and control method thereof

Publications (3)

Publication Number Publication Date
JP2009005018A JP2009005018A (en) 2009-01-08
JP2009005018A5 JP2009005018A5 (en) 2010-07-08
JP4971881B2 true JP4971881B2 (en) 2012-07-11

Family

ID=40320934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007163016A Expired - Fee Related JP4971881B2 (en) 2007-06-20 2007-06-20 Image encoding apparatus, image decoding apparatus, and control method thereof

Country Status (1)

Country Link
JP (1) JP4971881B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150256842A1 (en) * 2014-03-07 2015-09-10 Silicon Image, Inc. Compressed Video Transfer over a Multimedia Link

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3843581B2 (en) * 1998-03-05 2006-11-08 富士ゼロックス株式会社 Image encoding device, image decoding device, image processing device, image encoding method, image decoding method, and image processing method
JP3940986B2 (en) * 2001-10-18 2007-07-04 ソニー株式会社 Data processing apparatus, data processing method, and program
US20060044576A1 (en) * 2004-07-30 2006-03-02 Kabushiki Kaisha Toshiba Apparatus for image processing

Also Published As

Publication number Publication date
JP2009005018A (en) 2009-01-08

Similar Documents

Publication Publication Date Title
US8213727B2 (en) Image encoding apparatus and image decoding apparatus, and control method thereof
JP4418762B2 (en) Image encoding apparatus, image decoding apparatus, control method thereof, computer program, and computer-readable storage medium
JP5179889B2 (en) Method and apparatus for effectively compressing and restoring binary video
US7903888B2 (en) Image encoding apparatus and image decoding apparatus
JP4956304B2 (en) Image encoding apparatus, control method therefor, computer program, and computer-readable 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
JP5101962B2 (en) Image coding apparatus, control method therefor, and computer program
JP4871822B2 (en) Image coding apparatus and control method thereof
JP4971881B2 (en) Image encoding apparatus, image decoding apparatus, and control method thereof
JP4684701B2 (en) Scramble processing device, descramble processing device, scramble processing method, and descramble processing method
JP5086777B2 (en) Image encoding apparatus, control method therefor, computer program, and computer-readable storage medium
JP4462360B2 (en) Image compression apparatus and image expansion apparatus
JP4743884B2 (en) Image coding apparatus and control method thereof
JP2005151312A (en) Image coding and decoding device
Zhou et al. A reversible data hiding scheme for AMBTC images using gray code and exclusive-or approaches
JP2009260747A (en) Image encoding device, and control method thereof
JP4093867B2 (en) Image encoding apparatus, image encoding method, image encoding program, and computer-readable recording medium recording the image encoding program
JP3695330B2 (en) Image compression method and apparatus, and recording medium
JP4944833B2 (en) Image coding apparatus and control method thereof
JP4971880B2 (en) Image encoding apparatus, image decoding apparatus, and control method thereof
JP4743883B2 (en) Image coding apparatus and control method thereof
Ya et al. High-Capacity Reversible Data Hiding in Encrypted Image Based on Hierarchical Quad-Tree Coding and Multi-MSB Prediction. Electronics 2021, 10, 664
Akhtar et al. A Novel Image Compression Technique using Simple Arithmetic Addition
JP2008228229A (en) Image encoding apparatus and control method thereof

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110822

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

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

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

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4971881

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees