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

JP2006080793A - Image coder, method, compputer program, and computer readable storage medium - Google Patents

Image coder, method, compputer program, and computer readable storage medium Download PDF

Info

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

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To suppress rapid switching over the reciprocal and nonreciprocal coding processes pixels per blocksand suppress the prominent block boundary of a coded image. <P>SOLUTION: A block divider 103 divides image data inputted from an image input 101 into pixel blocks of a specified size. A reciprocative and nonreciprocative coders 105, 107 code the divided pixel blocks to generate coded data, respectively. A select signal holder 110 holds a signal showing either of the reciprocative/nonreciprocative coded data is selected for pixel blocks just before continuously interested pixel blocks. When the reciprocative coded data are selected just before pixel blocks, a selector 109 weights either the reciprocative coded data quantity or nonreciprocative coded data quantity to make easy to select the reciprocative coded data in the interested pixel blocks and thereafter compares these code quantities to output coded data of a less code quantity by a signal line 112 with a signal 113 showing the selected coded data are either reciprocative or nonreciprocative data. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

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

従来、画像をブロックに分割し、ブロックを可逆符号化する可逆符号化手段と、非可逆符号化する非可逆符号化手段とを備え、それぞれのブロックについてどちらか一方の符号化結果を最終的な符号化データとして出力する画像符号化方式が提案されている。   Conventionally, an image is divided into blocks, and includes lossless encoding means for lossless encoding of the block and lossy encoding means for lossy encoding, and the final result of one of the encoding results for each block is provided. An image encoding method for outputting as encoded data has been proposed.

このような方式では比較的画質劣化が目につきにくい自然画像領域などでは非可逆符号化方式を選択して適用することにより圧縮率を高め、反対に画質劣化の目につきやすい文字、線画、CG部分などでは可逆符号化方式を用いることで視覚的な画質劣化を抑制することを基本としている。   In such a method, in a natural image region where image quality degradation is relatively unnoticeable, the lossy coding method is selected and applied to increase the compression rate. On the contrary, characters, line drawings, and CG portions where image quality degradation is easily noticeable Are based on suppressing visual image quality deterioration by using a lossless encoding method.

画質劣化を抑え、かつ、符号量を低減するためには、領域ごとに適切に符号化方式を選択することが重要であり、可逆符号化データの情報量や色数を参照して可逆、非可逆を選択する方法(例えば特許文献1を参照)などが開示されている。
特開平08−167030号公報
In order to suppress image quality degradation and reduce the amount of code, it is important to select an appropriate encoding method for each region. Refer to the amount of information and the number of colors in lossless encoded data, A method for selecting reversibility (see, for example, Patent Document 1) is disclosed.
Japanese Patent Laid-Open No. 08-167030

しかしながら、上述の従来方式による画像処理装置で、ブロック単位に可逆、非可逆を選択して符号化した場合、可逆のブロックと非可逆のブロックが隣接する部分が多く発生する場合がある。特に、画像中、符号化方式判定の条件の境界となるような特性をもった部分では頻繁な切り替わりが発生し、ブロックの境界が識別できてしまうなど、視覚的な妨害要因となるという問題がある。   However, in the above-described conventional image processing apparatus, when reversible and irreversible are selected and encoded for each block, there are cases where many portions where the reversible block and the irreversible block are adjacent are generated. In particular, there are problems such as frequent switching in a part of the image that has a characteristic that becomes the boundary of the condition for determining the coding method, and it becomes a visual disturbance factor such that the boundary of the block can be identified. is there.

本願発明は、上述の問題点に鑑みてなされたものであり、可逆、非可逆のブロックの頻繁な切り替わりを抑制し、画質劣化を少なくなる符号化技術を提供しようとするものである。   The present invention has been made in view of the above-described problems, and intends to provide an encoding technique that suppresses frequent switching of reversible and irreversible blocks and reduces image quality degradation.

本発明の目的を達成するために、例えば本発明の画像符号化装置は以下の構成を備える。 すなわち、
画像データを符号化する画像符号化装置であって、
前記画像データを所定サイズの画素ブロックに分割する分割手段と、
前記画素ブロックを可逆符号化し、可逆符号化データを生成する可逆符号化手段と、
前記画素ブロックを非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、
前記画素ブロックの符号化データとして、可逆、非可逆符号化データのいずれを選択したかを示す選択情報を記憶する記憶手段と、
注目画素ブロックに対応する前記可逆符号化手段で生成された可逆符号化データの符号量と、前記非可逆符号化手段で生成された非可逆符号化データの符号量とを、前記記憶手段に記憶された注目画素ブロックに隣接する画素ブロックの既選択情報に従っていずれか一方に重み付けして比較する比較手段と、
該重み付け比較の結果において符号量が小さいと判断された方の符号化データを注目画素ブロックの符号化データとして選択し、出力する選択出力手段とを備える。
In order to achieve the object of the present invention, for example, an image encoding apparatus of the present invention comprises the following arrangement. That is,
An image encoding device for encoding image data,
Dividing means for dividing the image data into pixel blocks of a predetermined size;
Lossless encoding means for losslessly encoding the pixel block and generating lossless encoded data;
Irreversible encoding means for irreversibly encoding the pixel block and generating irreversible encoded data;
Storage means for storing selection information indicating which lossless or lossy encoded data is selected as the encoded data of the pixel block;
The storage unit stores the code amount of the lossless encoded data generated by the lossless encoding unit corresponding to the pixel block of interest and the code amount of the lossy encoded data generated by the lossy encoding unit. Comparing means for weighting and comparing either one according to the selected information of the pixel block adjacent to the focused pixel block,
A selection output unit configured to select and output the encoded data of which the code amount is determined to be small as a result of the weighted comparison as the encoded data of the target pixel block;

本発明の構成によれば、画素ブロックごとに可逆符号化と非可逆符号化が頻繁に切り替わるのを抑制でき、復号画像においてブロック境界が目立つことを抑制することが可能になる。   According to the configuration of the present invention, it is possible to suppress frequent switching between lossless encoding and lossy encoding for each pixel block, and it is possible to suppress conspicuous block boundaries in a decoded image.

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

<第1の実施形態>
図18は本実施形態に係る画像処理装置の基本構成を示す図である。
<First Embodiment>
FIG. 18 is a diagram showing a basic configuration of the image processing apparatus according to the present embodiment.

図示において、1401はCPUで、RAM1402やROM1403に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像符号化処理を実行する。   In the figure, reference numeral 1401 denotes a CPU which controls the entire apparatus using programs and data stored in a RAM 1402 and a ROM 1403 and executes image encoding processing which will be described later.

1402はRAMで、外部記憶装置1407や記憶媒体ドライブ1408、若しくはI/F1409を介して外部装置からダウンロードされたプログラムやデータを記憶する為のエリアを備えると共に、CPU1401が各種の処理を実行する際に使用するワークエリアも備える。   A RAM 1402 has an area for storing programs and data downloaded from the external device via the external storage device 1407, the storage medium drive 1408, or the I / F 1409, and when the CPU 1401 executes various processes. A work area is also provided.

1403はROMで、ブートプログラムや本装置の設定プログラムやデータを格納する。   Reference numeral 1403 denotes a ROM which stores a boot program, a setting program for the apparatus, and data.

1404、1405は夫々キーボード、マウスで、CPU1401に対して各種の指示を入力することができる。   Reference numerals 1404 and 1405 denote a keyboard and a mouse, respectively. Various instructions can be input to the CPU 1401.

1406は表示装置で、CRTや液晶画面などにより構成されており、画像や文字などの情報を表示することができる。   A display device 1406 includes a CRT, a liquid crystal screen, and the like, and can display information such as images and characters.

1407は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であって、ここにOSや後述する画像符号化処理の為のプログラム、符号化対象の画像データなどが保存されており、CPU1401による制御によって、これらのプログラムやデータはRAM1402上の所定のエリアにロードされる。   Reference numeral 1407 denotes an external storage device, which is a large-capacity information storage device such as a hard disk drive device, which stores an OS, a program for image encoding processing to be described later, image data to be encoded, and the like. These programs and data are loaded into a predetermined area on the RAM 1402 by the control according to.

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

1409はI/Fで、このI/F1409によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。例えはI/F1409を介してイメージスキャナ装置等を接続し、符号化対象となる画像データを本装置のRAM1402や外部記憶装置1407に入力することや、逆に、本装置のRAM1402や外部記憶装置1407から生成した画像符号化データを装置外部に出力することができる。1410は上述の各部を繋ぐバスである。   Reference numeral 1409 denotes an I / F, which connects an external device to the present apparatus through the I / F 1409 and enables data communication between the present apparatus and the external apparatus. For example, an image scanner device or the like is connected via the I / F 1409, and image data to be encoded is input to the RAM 1402 or the external storage device 1407 of the apparatus, or conversely, the RAM 1402 or the external storage device of the apparatus. The encoded image data generated from 1407 can be output to the outside of the apparatus. A bus 1410 connects the above-described units.

上記構成において、本装置に電源が投入されるとCPU1401はROM1402のブートプログラムに従って外部記憶装置1407よりOSをRAM1402にロードする。そして、外部記憶装置1407に格納された画像処理アプリケーションプログラムを起動し、インタフェース1409を介して入力した画像を符号化する。符号化結果は外部記憶装置1407や記録媒体ドライブ1408に装着された記憶媒体(メモリカード等)に格納する。   In the above configuration, when the power of the apparatus is turned on, the CPU 1401 loads the OS from the external storage device 1407 to the RAM 1402 in accordance with the boot program stored in the ROM 1402. Then, the image processing application program stored in the external storage device 1407 is activated, and an image input via the interface 1409 is encoded. The encoding result is stored in a storage medium (such as a memory card) attached to the external storage device 1407 or the recording medium drive 1408.

図1は本実施形態に係る画像処理アプリケーションが実行された場合の装置の機能構成図である。   FIG. 1 is a functional configuration diagram of an apparatus when an image processing application according to the present embodiment is executed.

図1に示すように、本実施形態に係る画像処理装置は、画像入力部101、ラインバッファ102、ブロック分割部103、タイルバッファ104、可逆符号化部105、可逆符号用バッファ106、非可逆符号化部107、非可逆符号用バッファ108、セレクタ109、選択信号保持部110、符号列形成部111とを備える。また、同図において112、113、114は信号線を示す。   As shown in FIG. 1, the image processing apparatus according to the present embodiment includes an image input unit 101, a line buffer 102, a block division unit 103, a tile buffer 104, a lossless encoding unit 105, a lossless code buffer 106, and an irreversible code. A non-reversible code buffer 108, a selector 109, a selection signal holding unit 110, and a code string forming unit 111. In the figure, reference numerals 112, 113, and 114 denote signal lines.

なお、上記構成における各バッファ102、104、105、108、並びに選択信号保持部110は、本処理が開始する際に、RAM1402内に確保されるものであり、それ以外の各処理部はメイン処理からコールされる各関数プログラム(サブルーチンプログラム)により構成されるものである。ただし、図1に示す構成をハードウェアでもって実現しても構わないのは勿論である。なお、バッファ102、104、105、108、並びに選択信号保持部110以外の各処理部においても適宜RAM1402を利用して処理を実施する。   Note that the buffers 102, 104, 105, and 108 and the selection signal holding unit 110 in the above configuration are secured in the RAM 1402 when this processing starts, and the other processing units are the main processing. Are constituted by each function program (subroutine program) called from. However, it is needless to say that the configuration shown in FIG. 1 may be realized by hardware. Note that the RAM 1402 is also used for processing in each processing unit other than the buffers 102, 104, 105, 108 and the selection signal holding unit 110 as appropriate.

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

本実施形態に係る画像処理装置の符号化対象とする画像データは、RGBカラー画像データであり、各コンポーネント(色成分)は8ビットで0〜255の範囲の輝度値で表現されているものとする。符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR,G,Bの順番でデータを並べて構成されるものとする。そして、入力画像は水平方向にW画素、垂直方向にH画素により構成されるものとする。   Image data to be encoded by the image processing apparatus according to the present embodiment is RGB color image data, and each component (color component) is represented by a luminance value ranging from 0 to 255 in 8 bits. To do. Assume that the image data to be encoded is arranged in the order of dots, that is, in the raster scan order, and the pixels are arranged in the order of R, G, and B. The input image is composed of W pixels in the horizontal direction and H pixels in the vertical direction.

符号化対象画像データは画像入力部101から、ラスタースキャン順に入力される。   The encoding target image data is input from the image input unit 101 in the raster scan order.

ラインバッファ102は画像データを所定のライン数(Th)分格納する領域を持ち、画像入力部101から入力される画像データを順次格納していく。以降、符号化対象画像データをThラインの幅で分割したデータをストライプと呼ぶ。ラインバッファ102に必要とされる容量、即ち1ストライプのデータ量はW×Th×3(RGB分)バイトである。説明の便宜上、入力する画像の垂直方向画素数HはThの整数倍であるとし、画像の末尾で不完全なストライプが発生しないものとする。   The line buffer 102 has an area for storing a predetermined number of lines (Th) of image data, and sequentially stores the image data input from the image input unit 101. Hereinafter, data obtained by dividing the encoding target image data by the width of the Th line is referred to as a stripe. The capacity required for the line buffer 102, that is, the data amount of one stripe is W × Th × 3 (for RGB) bytes. For convenience of explanation, it is assumed that the number H of vertical pixels of an input image is an integral multiple of Th, and an incomplete stripe does not occur at the end of the image.

ラインバッファ102に1ストライプの画像データ、即ち、Thライン分の画像データが格納されると、ブロック分割部103はラインバッファ102に格納されるThライン分の画像データを水平方向Tw画素、垂直方向Th画素で構成される矩形ブロックに分割して、ブロック単位に読み出してタイルバッファ104へと格納する。ここでも説明の便宜上、画像の水平方向画素数WはTwの整数倍であるとし、矩形ブロックに分割した場合に不完全なブロックが発生しないものとする。また、これ以降、水平方向Tw画素、垂直方向Th画素で構成される矩形ブロックをタイルと呼ぶこととする。   When one line of image data, that is, image data for Th lines is stored in the line buffer 102, the block division unit 103 converts the image data for Th lines stored in the line buffer 102 into horizontal Tw pixels and vertical directions. The data is divided into rectangular blocks composed of Th pixels, read out in units of blocks, and stored in the tile buffer 104. Here again, for convenience of explanation, it is assumed that the horizontal pixel count W of an image is an integral multiple of Tw, and incomplete blocks do not occur when divided into rectangular blocks. Hereinafter, a rectangular block composed of horizontal direction Tw pixels and vertical direction Th pixels is referred to as a tile.

図8に符号化対象の画像データとストライプ、タイルの関係を図示する。図のように画像中、水平方向i番目、垂直方向j番目のタイルをT(i,j)と記す。   FIG. 8 illustrates the relationship between image data to be encoded, stripes, and tiles. As shown in the figure, the i-th tile in the horizontal direction and the j-th tile in the vertical direction are denoted as T (i, j).

タイルバッファ104は1タイル分の画素データを格納する領域を持ち、1タイルの符号化を開始する毎に、ブロック分割部103から出力されるタイルデータを順次格納していく。タイルバッファ104に必要とされる容量はTw×Th×3(RGB分)バイトである。タイルバッファ104に格納される1タイル分の画素データの水平方向画素位置x、垂直方向画素位置yにある画素のコンポーネントcの輝度値をP(x、y、c)と定義する。xは0からTw−1まで、yは0からTh−1まで、cはR,G,Bのいずれかである。   The tile buffer 104 has an area for storing pixel data for one tile, and sequentially stores tile data output from the block dividing unit 103 every time encoding of one tile is started. The capacity required for the tile buffer 104 is Tw × Th × 3 (for RGB) bytes. The luminance value of the component c of the pixel at the horizontal pixel position x and the vertical pixel position y of the pixel data for one tile stored in the tile buffer 104 is defined as P (x, y, c). x is from 0 to Tw-1, y is from 0 to Th-1, and c is any one of R, G, and B.

可逆符号化部105はタイルバッファ104に格納されるタイルデータを可逆符号化してタイル符号化データを生成し、可逆符号化用バッファ106に格納する。可逆符号化部105における可逆符号化処理としては様々な手法が適用可能である。ここではその一例として予測符号化を適用する例について示すが、この他、国際標準方式としてISOとITU−Tから勧告されるJPEG(ITU−T T.81|ISO/IEC10918−1)のロスレスモードやJPEG−LS(ITU−T T.87|ISO/IEC14495−1)などを用いても良い。   The lossless encoding unit 105 performs lossless encoding on the tile data stored in the tile buffer 104 to generate tile encoded data, and stores the tile encoded data in the lossless encoding buffer 106. Various methods can be applied as the lossless encoding processing in the lossless encoding unit 105. Here, an example in which predictive coding is applied is shown as an example, but in addition to this, a lossless mode of JPEG (ITU-T T.81 | ISO / IEC10918-1) recommended by ISO and ITU-T as an international standard system Or JPEG-LS (ITU-T T.87 | ISO / IEC14495-1) may be used.

図2に実施形態における可逆符号化部105の内部のブロック図を示す。同図に於いて201はバッファ、202は予測器、203は減算器、204はメモリ、205はハフマン符号化器、206,207は信号線である。図2は、画像データを予測誤差に変換する系列変換の処理に周辺画素を用いた予測変換を用い、符号化処理にはハフマン符号化を用いる可逆符号化部の例である。   FIG. 2 is a block diagram showing the inside of the lossless encoding unit 105 in the embodiment. In the figure, 201 is a buffer, 202 is a predictor, 203 is a subtractor, 204 is a memory, 205 is a Huffman encoder, and 206 and 207 are signal lines. FIG. 2 shows an example of a lossless encoding unit that uses predictive conversion using neighboring pixels for series conversion processing for converting image data into prediction errors, and uses Huffman coding for encoding processing.

メモリ205には、予め幾つかの画像データを系列変換して得られた予測誤差の頻度分布に基づいて生成されたハフマンテーブルが格納される。予測誤差の頻度分布の一般的性質として予測誤差0を中心として出現頻度が高く、予測誤差の絶対値が大きくなるにつれて出現頻度が下がっていく傾向にあるため、メモリ204に格納されるハフマン符号は、図4に示すように、予測誤差0近辺に短い符号語が割り当てられ、予測誤差の絶対値が大きい部分には長い符号語が割り当てられる。   The memory 205 stores a Huffman table generated based on a frequency distribution of prediction errors obtained by series conversion of some image data. As a general property of the frequency distribution of prediction errors, the appearance frequency is high centering on the prediction error 0, and the appearance frequency tends to decrease as the absolute value of the prediction error increases, so the Huffman code stored in the memory 204 is As shown in FIG. 4, a short code word is assigned near the prediction error 0, and a long code word is assigned to a portion where the absolute value of the prediction error is large.

以下、図2を参照して可逆符号化部105の動作について説明する。   Hereinafter, the operation of the lossless encoding unit 105 will be described with reference to FIG.

タイルバッファ104から最初に信号線206を介して着目するタイルの画素データが順に入力される。タイルデータはラスタースキャン順、かつ、各画素はR,G,Bの順番で入力されるものとする。可逆符号化部105における符号化処理は画素の各成分を単位として行われる。R,G,Bそれぞれに適用される処理は同様であるのでここではR成分を例に説明する。   First, pixel data of the target tile is sequentially input from the tile buffer 104 via the signal line 206. It is assumed that tile data is input in raster scan order and each pixel is input in R, G, B order. The encoding process in the lossless encoding unit 105 is performed in units of pixels. Since the processing applied to each of R, G, and B is the same, the R component will be described as an example here.

バッファ201は信号線206から入力されるタイルデータを2ライン分格納する容量を有する。   The buffer 201 has a capacity for storing tile data input from the signal line 206 for two lines.

着目する画素のR成分をP(x,y,R)とするとき、予測器202はバッファ201から着目画素の直前の画素のR成分の輝度値a(=P(x−1,y,R))と,1ライン前の画素のR成分の輝度値b(=P(x,y−1,R);図3参照)を取り出し、p=(a+b)/2の演算を行う事により着目画素のR成分の輝度値P(x,y,R)に対する予測値pを生成する。   When the R component of the pixel of interest is P (x, y, R), the predictor 202 determines from the buffer 201 the luminance value a (= P (x-1, y, R) of the R component of the pixel immediately before the pixel of interest. )) And the luminance value b (= P (x, y−1, R); see FIG. 3) of the R component of the pixel one line before, and pay attention by calculating p = (a + b) / 2 A predicted value p for the luminance value P (x, y, R) of the R component of the pixel is generated.

なお、注目画素位置がタイルの最初のラインであるとき、1ライン前の画素データは存在しない。この場合には、1ライン前のラインの画素データは所定値(例えば0)と仮定して処理する。また、注目画素が各ラインの先頭位置にある場合、輝度値aは存在しないので、a=bと見なすものとする。このようにタイルの周囲の画素値として想定する値は、符号化時と復号時で同じ値であれば良い。   When the target pixel position is the first line of the tile, there is no pixel data one line before. In this case, processing is performed assuming that the pixel data of the previous line is a predetermined value (for example, 0). Further, when the pixel of interest is at the head position of each line, since the luminance value a does not exist, it is assumed that a = b. Thus, the value assumed as the pixel value around the tile may be the same value at the time of encoding and at the time of decoding.

減算器203は符号化対象画素(着目画素)のR成分の輝度値P(x,y,R)と予測値pとの差分値eとして出力する。ハフマン符号器205は、予めメモリ204に格納されるハフマンテーブルを参照して、差分値eに対応する符号化データを信号線207から出力する。   The subtracter 203 outputs the difference value e between the luminance value P (x, y, R) of the R component of the encoding target pixel (target pixel) and the predicted value p. The Huffman encoder 205 refers to a Huffman table stored in advance in the memory 204 and outputs encoded data corresponding to the difference value e from the signal line 207.

上述の処理をタイル内の全てのR成分に成分に対して行い、R成分の可逆のタイル符号化データを生成、出力する。そして、R成分の符号化に続いて、G成分、Bについても同様に行う。この結果、可逆符号化用バッファ105には、注目タイルのR、G、Bの全コンポーネントの可逆符号化データが格納されることになる。   The above-described processing is performed for all R components in the tile, and reversible tile encoded data of the R component is generated and output. Then, following the encoding of the R component, the G component and B are similarly performed. As a result, the lossless encoding buffer 105 stores the lossless encoded data of all the R, G, and B components of the tile of interest.

一方、可逆符号化部105による可逆符号化処理と同時に、非可逆符号化部107では、タイルバッファ104に格納されるタイルデータを非可逆符号化方式で符号化してタイル符号化データを生成し、非可逆符号化用バッファ108に格納する。可逆符号化部105と同様に、JPEG(ITU−T T.81|ISO/IEC10918−1)や、JPEG2000(ITU−T T.800|ISO/IEC15444−1)など、様々な非可逆符号化手法が適用可能であるが、ここではJPEGのベースライン方式を適用するものとする。JPEGについては公知であるので、ここでは説明を省略する。但し、JPEG符号化で用いるハフマンテーブル、量子化テーブルは全てのタイルで同じものを使用することとし、全タイルで共通となるフレームヘッダや、スキャンヘッダ、各種テーブルなどについては非可逆符号化用バッファ108に格納せず、符号化データ部分のみを格納することとする。即ち、図7に示した一般的なJPEGベースライン符号化データの構成のうち、スキャンヘッダの直後からEOIマーカの直前までのエントロピ符号化データセグメントのみが格納される。なお、ここでは説明簡略化のため、DRI、RSTマーカによるリスタートインターバルの定義や、DNLマーカによるライン数の定義などは行わないものとする。   On the other hand, at the same time as the lossless encoding process by the lossless encoding unit 105, the lossy encoding unit 107 generates tile encoded data by encoding the tile data stored in the tile buffer 104 by the lossy encoding method, The data is stored in the lossy encoding buffer 108. Similar to the lossless encoding unit 105, various lossy encoding methods such as JPEG (ITU-T T.81 | ISO / IEC10918-1) and JPEG2000 (ITU-T T.800 | ISO / IEC15444-1). However, it is assumed here that the JPEG baseline method is applied. Since JPEG is publicly known, a description thereof is omitted here. However, the same Huffman table and quantization table used for JPEG encoding are used for all tiles, and the frame header, scan header, various tables, etc. that are common to all tiles are irreversible encoding buffers. It is assumed that only the encoded data portion is stored without being stored in 108. That is, only the entropy encoded data segment from immediately after the scan header to immediately before the EOI marker is stored in the configuration of the general JPEG baseline encoded data shown in FIG. For the sake of simplification of explanation, it is assumed that the restart interval is not defined by the DRI and RST markers, and the number of lines is not defined by the DNL marker.

以上のようにしてタイルバッファ104に格納される着目タイルデータに対する可逆符号化部105、非可逆符号化部107それぞれによる符号化を行う。この結果、可逆符号化用バッファ106、非可逆符号化用バッファ108にそれぞれ可逆、非可逆の符号化データが格納される。   As described above, the lossless encoding unit 105 and the lossy encoding unit 107 perform encoding on the target tile data stored in the tile buffer 104. As a result, lossless and lossy encoded data are stored in the lossless encoding buffer 106 and the lossy encoding buffer 108, respectively.

セレクタ109は、可逆符号化用バッファ106に格納される可逆のタイル符号化データの符号量CLKと、非可逆符号化用バッファ108に格納される非可逆のタイル符号化データの符号量CLHとを比較し、どちらか一方のタイル符号化データを選択して読み出し、信号線112を介して符号形成部111へと送る。この際、いずれを選択したのかを示す信号を選択信号保持部110に保持させる。なお、この選択信号保持部110は、1ストライプの符号化を開始する際に“0”クリアするものとする。   The selector 109 selects the code amount CLK of lossless tile encoded data stored in the lossless encoding buffer 106 and the code amount CLH of lossy tile encoded data stored in the lossy encoding buffer 108. In comparison, either one of the tile encoded data is selected and read out and sent to the code forming unit 111 via the signal line 112. At this time, the selection signal holding unit 110 holds a signal indicating which one has been selected. The selection signal holding unit 110 clears “0” when starting to encode one stripe.

セレクタ109による、この符号化データの選択処理の原理を図6に示すフローチャートに従って説明する。   The principle of this encoded data selection process by the selector 109 will be described with reference to the flowchart shown in FIG.

まず、可逆符号化用バッファ106に格納される可逆のタイル符号化データの符号量CLK取得する(ステップS601)。次に、非可逆符号化用バッファ108に格納される非可逆のタイル符号化データの符号量CLHを取得する(ステップS602)。   First, the code amount CLK of reversible tile encoded data stored in the lossless encoding buffer 106 is acquired (step S601). Next, the code amount CLH of the irreversible tile encoded data stored in the irreversible encoding buffer 108 is acquired (step S602).

これら符号化量は、それぞれのバッファに符号化データを格納する際のアドレスポインタ(1つのタイルを符号化する毎に“0”でリセットされる)と考えると分かりやすい。   These coding amounts are easy to understand when considered as address pointers when storing the coded data in the respective buffers (reset to “0” every time one tile is coded).

続いて後述する選択信号保持部110から入力される、直前のタイルT(i−1,j)に対応する符号化データとして可逆、非可逆符号化データの何れを選択したかを表す選択信号S(i−1,j)を0と比較し(ステップS603)、S(i−1,j)≠0であれば非可逆のタイル符号化データの符号量CLHに所定の符号量Nを加算する(ステップS604)。S(i−1,j)=0の場合にはNの加算は行わない。   Subsequently, a selection signal S indicating whether reversible or lossy encoded data is selected as encoded data corresponding to the immediately preceding tile T (i−1, j), which is input from the selection signal holding unit 110 described later. (I-1, j) is compared with 0 (step S603), and if S (i-1, j) ≠ 0, a predetermined code amount N is added to the code amount CLH of the irreversible tile encoded data. (Step S604). When S (i-1, j) = 0, N is not added.

ここで、選択信号S()=0は、タイルT()の符号化データとして非可逆の符号化データが選択されたことを表し、S()=1は可逆の符号化データが選択されたことを示す。   Here, the selection signal S () = 0 indicates that lossy encoded data is selected as the encoded data of the tile T (), and S () = 1 indicates that lossless encoded data is selected. It shows that.

可逆のタイル符号化データの符号量CLKと非可逆のタイル符号化データの符号量CLHを比較し(ステップS605)、CLK<CLHならば着目するタイルの選択結果としてS(i,j)に“1(論理high)”を設定してこれを信号線113に出力する(ステップS606)。そして、可逆符号化用バッファ106に格納される可逆のタイル符号化データを読み出して信号線112に出力する(ステップS607)。   The code amount CLK of the reversible tile encoded data is compared with the code amount CLH of the irreversible tile encoded data (step S605), and if CLK <CLH, the selection result of the tile of interest is set to S (i, j) as “ 1 (logical high) "is set and output to the signal line 113 (step S606). Then, the reversible tile encoded data stored in the lossless encoding buffer 106 is read and output to the signal line 112 (step S607).

一方、CLK≧CLHならばS(i,j)に“0(論理low)”を設定して、これを信号線113に出力し(ステップS608)、非可逆符号化用バッファ108に格納される非可逆のタイル符号化データを読み出して信号線112に出力する(ステップS609)。   On the other hand, if CLK ≧ CLH, “0 (logic low)” is set to S (i, j), and this is output to the signal line 113 (step S608) and stored in the lossy encoding buffer 108. The lossy tile encoded data is read and output to the signal line 112 (step S609).

上述の処理により、直前のタイルについて可逆のタイル符号化データが選択された場合には、着目するタイルの非可逆のタイル符号化データの符号量に所定の符号量Nを加算して符号量比較することになり、着目するタイルについても可逆のタイル符号化データが選択され易くなる。このため、可逆、非可逆の符号量が拮抗する場合に、隣接するタイルで選択される符号化方式が頻繁に切り替わるのを抑制することが可能となる。   When reversible tile encoded data is selected for the previous tile by the above processing, a predetermined code amount N is added to the code amount of the irreversible tile encoded data of the tile of interest to compare the code amount As a result, reversible tile encoded data is easily selected for the tile of interest. For this reason, when the reversible and irreversible code amounts antagonize, it is possible to suppress frequent switching of the coding method selected in the adjacent tile.

選択信号保持部110は信号線113を介して入力される選択信号S(i,j)を保持し、次のタイルについて方式選択する際に、これを直前のタイルの選択信号S(i−1,j)として出力する。なお、画像の左端のタイルT(0,j)の方式選択時に必要となる直前のタイルの選択信号S(−1,j)は0であるとする。このため、1ストライプの符号化を開始する際に、選択信号保持部110を“0”クリアした。   The selection signal holding unit 110 holds the selection signal S (i, j) input via the signal line 113, and when selecting the method for the next tile, this selection signal S (i−1) of the immediately preceding tile is selected. , J). It is assumed that the tile selection signal S (−1, j) just before the tile required for selecting the method of the leftmost tile T (0, j) of the image is 0. For this reason, the selection signal holding unit 110 is cleared to “0” when encoding one stripe is started.

符号列形成部111は信号線113を介して入力される各タイルの選択信号S(i,j)と信号線112を介して入力される選択されたタイル符号化データを結合させ、必要な付加情報を加えて本画像処理装置の出力となる符号列を形成して信号線114より出力する。   The code string forming unit 111 combines the selection signal S (i, j) of each tile input through the signal line 113 and the selected tile encoded data input through the signal line 112, and adds necessary additions. Information is added to form a code string to be output from the image processing apparatus and output from the signal line 114.

図9は本画像処理装置の出力符号列のデータフォーマット示している。出力符号列の先頭には、画像を復号するために必要となる情報、例えば、画像の水平方向画素数、垂直方向画素数、コンポーネント数、各コンポーネントのビット数やタイルの幅、高さなどの付加情報がヘッダとして付けられる。また、このヘッダ部分には、画像データそのものについての情報のみでなく、各テーブル共通に使用するハフマン符号化テーブルや、量子化テーブルなど符号化に関する情報も含まれる。   FIG. 9 shows the data format of the output code string of the image processing apparatus. At the beginning of the output code string, information necessary for decoding the image, such as the number of pixels in the horizontal direction, the number of pixels in the vertical direction, the number of components, the number of bits of each component, the width of the tile, the height, etc. Additional information is attached as a header. The header portion includes not only information about the image data itself but also information related to encoding such as a Huffman encoding table and a quantization table used in common for each table.

図10は各タイルの出力符号列の構成を示す図である。実施形態の場合、画像データは可逆、非可逆符号化データが混在することになるので、その判別のため、同図(a),(b)のように、該当するタイルの選択信号S(i,j)を付加する。先頭に付加する情報は1ビットとしても良いし、タイル符号化データとの連結を容易にするために1バイトとしても構わない。なお、図10のタイル符号化データの構成には示していないが、符号化データ中に所定の値が発生しないように工夫を加えて特殊なマーカを設定し、各タイルデータの先頭、または末尾にマーカを置く、あるいは、各タイルの符号列の長さをタイルの先頭や、符号化データの先頭のヘッダ部分に含めるなどして管理することによりタイル単位のランダムアクセスを可能とすることができる。   FIG. 10 is a diagram showing the configuration of the output code string of each tile. In the case of the embodiment, since the reversible and lossy encoded data are mixed in the image data, the corresponding tile selection signal S (i) is used for the determination as shown in FIGS. , J). The information added to the head may be 1 bit, or 1 byte in order to facilitate concatenation with tile encoded data. Although not shown in the configuration of the tile encoded data in FIG. 10, a special marker is set so that a predetermined value does not occur in the encoded data, and the beginning or end of each tile data is set. Random access in units of tiles can be made possible by placing a marker on or managing the length of the code string of each tile by including it in the head of the tile or the header part of the head of the encoded data. .

次に、実施形態における画像処理装置による符号化対象画像データの符号化処理の流れを図5のフローチャートに従って説明する。   Next, the flow of encoding processing of image data to be encoded by the image processing apparatus according to the embodiment will be described with reference to the flowchart of FIG.

なお同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することになる。   Note that the program according to the figure is loaded in the RAM 1402, and the CPU 1401 executes it.

まず、ラインバッファ102に符号化対象となる画像データの1ストライプ分のデータが格納される(ステップS501)。次に、ラインバッファ102に格納されるストライプについて、ブロック分割部103により1つのタイルデータが取り出され、タイルバッファ104に格納される(ステップS502)。続いて可逆符号化部105によるタイルデータの可逆符号化処理(ステップS503)と非可逆符号化部107による非可逆符号化処理(ステップS504)が並行して行われ、可逆符号化用バッファ106に可逆のタイル符号化データが、非可逆符号化用バッファ108に非可逆のタイル符号化データが格納される。なお、並列処理ができない場合には、ステップS503の後(もしくは前)にステップS504の処理を行っても良い。   First, data for one stripe of image data to be encoded is stored in the line buffer 102 (step S501). Next, for the stripe stored in the line buffer 102, one tile data is taken out by the block dividing unit 103 and stored in the tile buffer 104 (step S502). Subsequently, the lossless encoding process (step S503) of the tile data by the lossless encoding unit 105 and the lossy encoding process (step S504) by the lossy encoding unit 107 are performed in parallel, and the lossless encoding buffer 106 is loaded. The lossy encoded tile data is stored in the lossy encoding buffer 108. If parallel processing cannot be performed, the process of step S504 may be performed after (or before) step S503.

いずれにしても、可逆、非可逆の両方でタイルデータの符号化処理が終了すると、セレクタ109は選択信号保持部110から入力される選択信号S(i−1,j)を参照して、可逆のタイル符号化データの符号量CLK、非可逆のタイル符号化データの符号量CLHを比較し(ステップS505)、どちらか一方のタイル符号化データを選択して読み出す(ステップS506)。この比較及び選択処理は図6に示した処理で行う。   In any case, when the tile data encoding process is completed in both reversible and lossy manner, the selector 109 refers to the selection signal S (i−1, j) input from the selection signal holding unit 110 and is reversible. The code amount CLK of the tile encoded data is compared with the code amount CLH of the irreversible tile encoded data (step S505), and one of the tile encoded data is selected and read (step S506). This comparison and selection process is performed by the process shown in FIG.

次いで、符号化したタイルがストライプ内の最後のタイルであるか否か判断し(ステップS507)、最後のタイルでない場合(NO)は隣のタイルに処理の対象を移してS502から処理を継続し、最後のタイルである場合(YES)にはステップS508へと処理を移す。   Next, it is determined whether or not the encoded tile is the last tile in the stripe (step S507). If it is not the last tile (NO), the processing target is transferred to the adjacent tile and the processing is continued from S502. If it is the last tile (YES), the process proceeds to step S508.

ステップS508では符号化したストライプが画像の最後のストライプであるか否かを判断し、最後のストライプでない場合(NO)はステップS501に処理を移して次のストライプのデータを読み込んで処理を継続する。最後のストライプである場合には対象とする画像データについての符号化処理を終了する。   In step S508, it is determined whether or not the encoded stripe is the last stripe of the image. If it is not the last stripe (NO), the process moves to step S501 to read the data of the next stripe and continue the process. . If it is the last stripe, the encoding process for the target image data is terminated.

ステップS506の処理によりセレクタ109から出力されるタイル符号化データを符号列形成部111にて適宜結合させることにより本実施形態の画像処理装置の出力となる画像符号化データが形成される。   The encoded tile data output from the selector 109 in step S506 is appropriately combined by the code string forming unit 111 to form encoded image data that is output from the image processing apparatus according to the present embodiment.

なお、図6のステップS604では、CLHに所定数N(正の値)を加算するものとして説明したが、相対的なものであるので、CLKから所定数Nを減じても構わない。   In step S604 in FIG. 6, the predetermined number N (positive value) is added to CLH. However, since it is a relative value, the predetermined number N may be subtracted from CLK.

また、本実施形態の画像処理装置で生成した符号化データを復号するには各タイルの先頭に示されるS(i,j)を参照して可逆、非可逆の復号器を選択して切り替え、符号化処理の逆の手順でそれぞれのタイルを復号していくようにすれば良い。   In addition, in order to decode the encoded data generated by the image processing apparatus of the present embodiment, a reversible and irreversible decoder is selected and switched with reference to S (i, j) indicated at the head of each tile, Each tile may be decoded according to the reverse procedure of the encoding process.

以上の説明のように、本実施形態に係る画像処理装置では、画像をタイルに分割し、タイルごとに可逆と非可逆の符号量を比較して少ない方をタイルの符号化データとする方式において、直前のタイルの可逆、非可逆の選択状況を加味して符号量比較することで、可逆と非可逆の符号量が拮抗するような部分で符号化方式の切り替わりが頻繁に発生することを抑制することができる。これにより、可逆、非可逆のタイルが隣接することにより生じる視覚的な妨害の低減が可能となる。   As described above, the image processing apparatus according to the present embodiment divides an image into tiles, compares the lossless and irreversible code amounts for each tile, and uses the smaller encoded data of the tiles. By comparing the code amount with the reversible and irreversible selection status of the previous tile, it is possible to prevent frequent switching of the coding method in the part where the lossless and irreversible code amount antagonize. can do. As a result, it is possible to reduce visual interference caused by the adjoining reversible and irreversible tiles.

なお、非可逆符号化としてJPEGベースライン符号化を用い、可逆符号化としてJPEG−LSを用いると、次のような相乗効果を奏することに成功する。   If JPEG baseline encoding is used as lossy encoding and JPEG-LS is used as lossless encoding, the following synergistic effect can be achieved.

JPEGベースライン符号化は、自然画に特に優れた圧縮符号化技術であり、一方、JPEG−LSはそれとは全く逆に文字線画に高い圧縮率が実現できる圧縮符号化技術である。従って、自然画と文字線画が混在した画像を符号化する場合、各タイルの符号化データを比較し、小さい方を選択出力することで、自然画領域では非可逆符号化データが選択される確率が高く、文字線画領域では可逆符号化データが選択される確率は高くなる。すなわち、JPEGベースライン符号化とJPEG−LSを用いると、格別な像域判定回路(或いはその判定処理プログラム)がなくても、それぞれの像域に応じた符号化データが選択されることになり、可逆、非可逆符号化データは交互に発生することをある程度は抑制することが可能になる。その上で、上記のような処理を行うことで、更に、このような問題の発生を抑制することができるので、画質面でも優れた符号化データを生成することが可能である。これは以下に説明する第2、第3の実施形態でも同様である。なお、符号化対象の画像データのビット精度が8ビット以上である場合など、JPEGベースラインに代えて12ビット画像を対象としたJPEG拡張方式や、JPEG2000を適用した場合にも同様の効果が得られる。   JPEG baseline encoding is a compression encoding technique that is particularly excellent for natural images, while JPEG-LS is a compression encoding technique that can realize a high compression rate for character / line images, on the contrary. Therefore, when encoding an image in which natural images and character / line images are mixed, the probability that irreversible encoded data is selected in the natural image region by comparing the encoded data of each tile and selecting and outputting the smaller one. Therefore, the probability that lossless encoded data is selected in the character / line drawing region is high. In other words, when JPEG baseline encoding and JPEG-LS are used, encoded data corresponding to each image area is selected without a special image area determination circuit (or its determination processing program). Thus, it is possible to suppress the lossless and lossy encoded data from occurring alternately to some extent. In addition, by performing the processing as described above, the occurrence of such a problem can be further suppressed, so that encoded data excellent in image quality can be generated. The same applies to the second and third embodiments described below. The same effect can be obtained when the JPEG extension method for 12-bit images instead of the JPEG baseline or JPEG2000 is applied, such as when the bit accuracy of the image data to be encoded is 8 bits or more. It is done.

[第2の実施形態]
上記第1の実施形態では、着目タイルの可逆、非可逆符号化データの選択の際に、直前のタイルの選択結果のみを参照したが、注目タイルの周辺の既符号化済みタイルの複数の選択結果を参照する例を第2の実施形態として説明する。
[Second Embodiment]
In the first embodiment, when selecting the lossless and lossy encoded data of the target tile, only the selection result of the previous tile is referred to, but a plurality of already-encoded tiles around the target tile are selected. An example of referring to the result will be described as a second embodiment.

図11は、本第2の実施形態に係る画像処理装置の機能構成を示すブロック図である。第1の実施形態で説明した図1と共通のブロックについては同じ番号を付し、説明を省略する。   FIG. 11 is a block diagram illustrating a functional configuration of the image processing apparatus according to the second embodiment. Blocks that are the same as those in FIG. 1 described in the first embodiment are given the same numbers, and descriptions thereof are omitted.

本第2の実施形態に係る画像処理装置は、画像入力部101、ラインバッファ102、ブロック分割部103、タイルバッファ104、可逆符号化部105、可逆符号用バッファ106、非可逆符号化部107、非可逆符号用バッファ108、セレクタ1101、選択信号バッファ1102、符号量重み算出部1103、符号列形成部111とを備える。同図において112、113、114は信号線を示す。なお、本第2の実施形態に係る画像処理装置の基本構成は第1の実施形態と同様に図18に示す構成となっており、図11に示す各部の機能をコンピュータに実現させるプログラムにより実現するものとし、このプログラムは上記外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとする。   The image processing apparatus according to the second embodiment includes an image input unit 101, a line buffer 102, a block division unit 103, a tile buffer 104, a lossless encoding unit 105, a lossless encoding buffer 106, an irreversible encoding unit 107, A lossy code buffer 108, a selector 1101, a selection signal buffer 1102, a code amount weight calculation unit 1103, and a code string formation unit 111 are provided. In the figure, reference numerals 112, 113 and 114 denote signal lines. The basic configuration of the image processing apparatus according to the second embodiment is the configuration shown in FIG. 18 as in the first embodiment, and is realized by a program that causes the computer to realize the functions of the units shown in FIG. It is assumed that this program is loaded from the external device into the RAM 1402 via the external storage device 1407, the storage medium drive 1408, or the I / F 1409.

以下、図11を用いて本第2の実施形態に係る画像処理装置が行う処理について説明する。   Hereinafter, processing performed by the image processing apparatus according to the second embodiment will be described with reference to FIG.

本第2の実施形態に係る画像処理装置の符号化対象とする画像データは、第1の実施形態と同じく、RGBカラー画像データであり、各コンポーネント(色)は8ビットで、0〜255の範囲の輝度値を表現した画素データにより構成されるものとする。符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR,G,Bの順番でデータを並べて構成されるものとする。画像は水平方向W画素、垂直方向H画素により構成されるのも第1の実施形態と同じである。   The image data to be encoded by the image processing apparatus according to the second embodiment is RGB color image data as in the first embodiment, and each component (color) is 8 bits, and is 0 to 255. It is assumed to be composed of pixel data representing a range of luminance values. Assume that the image data to be encoded is arranged in the order of dots, that is, in the raster scan order, and the pixels are arranged in the order of R, G, and B. The image is composed of horizontal W pixels and vertical H pixels as in the first embodiment.

さて、本第2の実施形態の画像処理装置においては、第1の実施形態の画像処理装置と同様、画像データをタイルに分割して、各タイルについて可逆符号化部105と非可逆符号化部107で可逆、非可逆の符号化が行われ、可逆符号化用バッファ106、非可逆符号化用バッファ108にそれぞれ可逆、非可逆のタイル符号化データが格納される。   In the image processing apparatus according to the second embodiment, as in the image processing apparatus according to the first embodiment, the image data is divided into tiles, and the lossless encoding unit 105 and the lossy encoding unit for each tile. In 107, lossless and lossy encoding is performed, and lossless and lossy tile encoded data are stored in the lossless encoding buffer 106 and the lossy encoding buffer 108, respectively.

セレクタ1101は符号量重み算出部1103から入力される符号量重みWを可逆符号化用バッファ106に格納される可逆のタイル符号化データの符号量CLKから減じ、これを非可逆符号化用バッファ108に格納される非可逆のタイル符号化データの符号量CLHと比較して、符号量の少ない一方のタイル符号化データを読み出して信号線112から出力する。また、可逆のタイル符号化データを選択した場合には着目するタイルT(i,j)の選択信号S(i,j)として“1(論理high)”を信号線113から出力し、非可逆のタイル符号化データを選択した場合には同じく“0(論理low)”の信号出力する。   The selector 1101 subtracts the code amount weight W input from the code amount weight calculation unit 1103 from the code amount CLK of the reversible tile encoded data stored in the lossless encoding buffer 106, and converts this to the lossy encoding buffer 108. Compared with the code amount CLH of the irreversible tile encoded data stored in, one tile encoded data with a smaller code amount is read and output from the signal line 112. Further, when reversible tile encoded data is selected, “1 (logical high)” is output from the signal line 113 as the selection signal S (i, j) of the tile T (i, j) of interest and is irreversible. Similarly, when the tile encoded data is selected, a signal “0 (logic low)” is output.

図13に、本第2の実施形態におけるセレクタ1101による符号選択の処理手順を示す。   FIG. 13 shows a code selection processing procedure by the selector 1101 in the second embodiment.

まず、可逆符号化用バッファ106に格納される可逆のタイル符号化データの符号量CLKを取得する(ステップS1301)。次に、非可逆符号化用バッファ108に格納される非可逆のタイル符号化データの符号量CLHを取得する(ステップS1302)。続いて後述する符号量重み算出部1103から入力される、符号量重み係数W(詳細後述)を可逆の符号量CLKから減じ、その結果をCLK’とする(ステップS1303)。   First, the code amount CLK of the reversible tile encoded data stored in the lossless encoding buffer 106 is acquired (step S1301). Next, the code amount CLH of the irreversible tile encoded data stored in the irreversible encoding buffer 108 is acquired (step S1302). Subsequently, the code amount weight coefficient W (detailed later) input from the code amount weight calculation unit 1103 described later is subtracted from the reversible code amount CLK, and the result is set to CLK ′ (step S1303).

次いで、減算後のCLK’を所定のしきい値TH1と比較して(ステップS1304)、CLK’<TH1ならば(YES)、処理をステップS1306に移行する。また、CLK’≧TH1ならば(NO)処理をステップS1305へと移す。   Next, CLK ′ after subtraction is compared with a predetermined threshold value TH1 (step S1304). If CLK ′ <TH1 (YES), the process proceeds to step S1306. If CLK ′ ≧ TH1, the process proceeds to step S1305 (NO).

ステップS1305では減算後のCLK’とCLHを比較し(ステップS1305)、CLK’<CLHならば(YES)処理をステップS1306へ、CLK’≧CLHならば(NO)処理をステップS1308へと移す。   In step S1305, CLK 'after subtraction is compared with CLH (step S1305). If CLK' <CLH (YES), the process proceeds to step S1306. If CLK'≥CLH (NO), the process proceeds to step S1308.

ステップS1306では着目するタイルの選択結果としてS(i,j)に“1”を設定してこれを信号線113に出力する。続いて可逆符号化用バッファ106に格納される可逆のタイル符号化データを読み出して信号線112に出力する(ステップS1307)。   In step S 1306, “1” is set in S (i, j) as a result of selecting the tile of interest, and this is output to the signal line 113. Subsequently, the reversible tile encoded data stored in the lossless encoding buffer 106 is read out and output to the signal line 112 (step S1307).

一方、ステップS1308ではS(i,j)に“0”を設定してこれを信号線113に出力し、続いて非可逆符号化用バッファ108に格納される非可逆のタイル符号化データを読み出して信号線112に出力する(ステップS1309)。   On the other hand, in step S1308, S (i, j) is set to “0”, and this is output to the signal line 113, followed by reading the lossy tile encoded data stored in the lossy encoding buffer 108. Is output to the signal line 112 (step S1309).

以上の処理により符号量重みWを減算後のCLK’が所定のしきい値TH1よりも小さい場合にはCLHとの大小関係に関わらず、可逆のタイル符号化データが出力され、TH1に等しいかそれ以上の場合にはCLK’とCLHを比較して符号量の少ない方のタイル符号化データが選択されて出力される。   When CLK ′ after subtracting the code amount weight W by the above processing is smaller than a predetermined threshold value TH1, reversible tile encoded data is output regardless of the magnitude relationship with CLH, and is equal to TH1? If it is more than that, CLK ′ and CLH are compared, and the tile encoded data with the smaller code amount is selected and output.

次に、上記説明における「符号量重み係数W」の算出原理を説明する。   Next, the calculation principle of the “code amount weighting coefficient W” in the above description will be described.

選択信号バッファ1102は1ストライプに含まれるタイル数(W/Tw個)の選択信号Sを格納できるだけの容量を持つ。そして、着目タイルをT(i,j)で表わしたとき、直前のストライプの同水平位置のタイルT(i,j−1)から、同じストライプ上の直前のタイルT(i−1,j)までの各タイル(図12に網点で示したタイル)についての選択信号S(i,j−1)からS(i−1,j)を保持する。なお、画像中、先頭のストライプにあるタイルT(i,0)を着目タイルとする場合に参照されるS(i,−1)、および、ストライプの先頭のタイルT(0,j)を着目タイルとする場合に参照されるS(−1,j)は0であるとする。   The selection signal buffer 1102 has a capacity that can store the selection signals S of the number of tiles (W / Tw) included in one stripe. When the tile of interest is represented by T (i, j), the tile T (i-1, j) immediately preceding the same stripe from the tile T (i, j-1) at the same horizontal position of the immediately preceding stripe. The selection signals S (i, j−1) to S (i−1, j) for the tiles up to (the tiles indicated by halftone dots in FIG. 12) are held. Note that S (i, −1), which is referred to when the tile T (i, 0) in the first stripe in the image is the target tile, and the first tile T (0, j) in the stripe are focused. It is assumed that S (−1, j) referred to in the case of a tile is 0.

符号量重み算出部1103では着目するタイルT(i,j)の真上のタイルの選択信号S(i,j−1)と直前のタイルの選択信号T(i−1,j)を選択信号バッファ1102から読み出し、符号量重み係数Wを以下の式で計算して出力する。
W={S(i−1,j)+S(i,j−1)} ×M
ここで、“M”は予め定めた定数である。
The code amount weight calculation unit 1103 selects the selection signal S (i, j-1) of the tile immediately above the tile T (i, j) of interest and the selection signal T (i-1, j) of the previous tile. The data is read from the buffer 1102, and the code amount weighting coefficient W is calculated by the following formula and output.
W = {S (i−1, j) + S (i, j−1)} × M
Here, “M” is a predetermined constant.

上記式によると、符号量重み係数Wは、S(i−1,j)とS(i,j−1)が共に“0”の場合、即ち、T(i−1,j)とT(i,j−1)の両方で非可逆符号化が選択された場合にはW=0となる。また、どちらか一方が可逆符号化、もう一方が非可逆符号化を選択した場合にはW=M、両方ともに可逆符号化が選択された場合にはW=2Mとなる。   According to the above equation, the code amount weighting coefficient W is obtained when both S (i−1, j) and S (i, j−1) are “0”, that is, T (i−1, j) and T ( If lossy encoding is selected in both i, j-1), W = 0. When either one is lossless encoding and the other is lossy encoding, W = M, and when both lossless encoding is selected, W = 2M.

図14は可逆符号量CLK(符号量重みWの減算前)と非可逆符号量CLHと、セレクタ1101による符号化方式の判定結果の関係を示す図である。   FIG. 14 is a diagram illustrating the relationship between the lossless code amount CLK (before subtraction of the code amount weight W), the irreversible code amount CLH, and the determination result of the encoding method by the selector 1101.

斜線で示した領域は可逆符号化が選択される領域を示し、その他は非可逆符号化が選択される領域を示す。セレクタ1101に入力される符号量重みW=0、M、2Mのいずれかであり、図14(a)はW=0の場合、図14(b)はW=Mの場合、図14(c)はW=2Mの場合について示す。Wが大きくなるにつれセレクタ1101において可逆のタイル符号化データが選択される範囲(図中、斜線領域)が広がっており、可逆符号化が選択されやすくなっていることが分かる。   A hatched area indicates an area where lossless encoding is selected, and the other indicates an area where lossy encoding is selected. The code amount weight W = 0, M, or 2M input to the selector 1101, FIG. 14A shows the case where W = 0, FIG. 14B shows the case where W = M, FIG. ) Shows the case of W = 2M. It can be seen that as W increases, the range in which the reversible tile encoded data is selected in the selector 1101 (the hatched area in the figure) is widened, and it is easy to select lossless encoding.

以上のようにして重み係数Wを決定して、図13の処理を行うことで、各タイル毎に可逆、非可逆符号化データのいずれか一方が選択出力され、符号列形成部111により本画像処理装置の出力となる符号列が形成されて、信号線114より出力される。本第2の実施形態においても出力される符号列の構成は第1の実施形態の説明で用いた図9,10に同じである。   By determining the weighting factor W as described above and performing the processing of FIG. 13, either one of lossless and lossy encoded data is selectively output for each tile, and the main image is generated by the code string forming unit 111. A code string serving as an output of the processing device is formed and output from the signal line 114. The configuration of the code string output in the second embodiment is the same as that in FIGS. 9 and 10 used in the description of the first embodiment.

また、本第2の実施形態に係る画像処理装置による符号化対象画像データの符号化処理の流れは第1の実施形態の説明で用いた図5にほぼ同じであるが、ステップS505の処理が、セレクタ1101にて符号量重み算出部1103から入力される符号量重みWを参照して行われることが異なる。   The flow of the encoding process of the encoding target image data by the image processing apparatus according to the second embodiment is almost the same as that in FIG. 5 used in the description of the first embodiment, but the process of step S505 is the same. The selector 1101 is different from the code amount weight calculation unit 1103 in reference to the code amount weight W.

また、本第2の実施形態によると、可逆符号化データ量が所定閾値TH1を下回ると、可逆符号化データを選択することになる。このようにする理由は、可逆符号化データは文字どおり可逆であるが故に画質劣化は発生せず、符号量が少ない場合には、画像全体の符号化データ量に与える影響が少ないためである。従って、この閾値TH1を設ける技術を第1の実施形態にも適用しても構わない。   Further, according to the second embodiment, lossless encoded data is selected when the lossless encoded data amount falls below a predetermined threshold TH1. The reason for this is that the lossless encoded data is literally reversible, so image quality does not deteriorate, and when the code amount is small, the influence on the encoded data amount of the entire image is small. Therefore, the technique for providing this threshold value TH1 may also be applied to the first embodiment.

以上の説明のように、本第2の実施形態によれば、画像をタイルに分割して、タイルごとに可逆、非可逆データを選択して出力する場合、注目タイルの近接するタイルの既選択信号を参照して重み付け係数を得て、注目アイルの垂直、水平に隣接するタイルで可逆が選択されている場合には着目タイルで可逆が選択されやすくし、可逆と非可逆の符号量が拮抗するような部分での符号化方式の頻繁な切り替わりを抑制することができる。これにより、可逆、非可逆のタイルが隣接することにより生じる視覚的な妨害の低減が縦方向、横方向の両方向で可能となる。   As described above, according to the second embodiment, when an image is divided into tiles and reversible and irreversible data are selected and output for each tile, the tiles that are close to the target tile are already selected. The weighting coefficient is obtained with reference to the signal, and when reversible is selected for tiles adjacent vertically or horizontally to the target aisle, reversible is easily selected for the target tile, and the reversible and irreversible code amount antagonize. It is possible to suppress frequent switching of the encoding method in such a part. As a result, it is possible to reduce the visual disturbance caused by the adjacent reversible and irreversible tiles in both the vertical and horizontal directions.

なお、上記実施形態では、注目画素の左隣の選択信号と、直前のストライプの同じ水平位置のタイルの選択信号の2つを参照するものとして説明したが、
W={S(i−1,j)+S(i−1、j−1)+S(i、j−1)+S(i+1、j−1)}×M’として演算しても構わない(選択信号保持部110の容量が1ビット増える)。この場合、斜め方向についても考慮された選択が行われることになる。
In the above embodiment, the description has been made with reference to the selection signal on the left side of the target pixel and the selection signal of the tile in the same horizontal position of the immediately preceding stripe.
W = {S (i−1, j) + S (i−1, j−1) + S (i, j−1) + S (i + 1, j−1)} × M ′ (selection) The capacity of the signal holding unit 110 is increased by 1 bit). In this case, selection considering the oblique direction is performed.

[第3の実施形態]
第1、第2の実施形態の画像処理装置では、可逆、非可逆の符号量を所定のバイト数分増減させるという形で重み付けを行ったが、符号量に所定の係数を掛け合わせることで重み付けを行うこともできる。本第3の実施形態では、このような例について説明する。
[Third Embodiment]
In the image processing apparatuses according to the first and second embodiments, weighting is performed in such a manner that the lossless and irreversible code amount is increased or decreased by a predetermined number of bytes, but weighting is performed by multiplying the code amount by a predetermined coefficient. Can also be done. In the third embodiment, such an example will be described.

図15は本第3の実施形態に係る画像処理装置の機能構成を示すブロック図である。   FIG. 15 is a block diagram illustrating a functional configuration of the image processing apparatus according to the third embodiment.

同ずにおいて1501はセレクタ、1502は重み係数算出部である。図に示すように、本第3の実施形態に係る画像処理装置は上記の第2の実施形態で説明した画像処理装置とほとんど同じであり、セレクタ1101がセレクタ1501に、符号量重み算出部1103が重み係数算出部1502に置き換わっている点のみ異なる。   In the figure, reference numeral 1501 denotes a selector, and 1502 denotes a weight coefficient calculation unit. As shown in the figure, the image processing apparatus according to the third embodiment is almost the same as the image processing apparatus described in the second embodiment, and the selector 1101 replaces the selector 1501 and the code amount weight calculation unit 1103. Is different from the weight coefficient calculation unit 1502 only.

また、可逆のタイル符号化データを選択した場合には着目するタイルT(i,j)の選択信号S(i,j)として“1”を信号線113から出力し、非可逆のタイル符号化データを選択した場合には同じく“0”を出力する点も第2の実施形態と同じである。   When reversible tile coding data is selected, “1” is output from the signal line 113 as the selection signal S (i, j) of the tile T (i, j) of interest, and the lossy tile coding is performed. Similarly to the second embodiment, when data is selected, “0” is output.

図17は本第3の実施形態におけるセレクタ1501の処理手順を示すフローチャートである。   FIG. 17 is a flowchart showing the processing procedure of the selector 1501 in the third embodiment.

先ず、可逆符号化用バッファ106に格納される可逆のタイル符号化データの符号量CLKを取得する(ステップS1701)。次に、非可逆符号化用バッファ108に格納される非可逆のタイル符号化データの符号量CLHを取得する(ステップS1702)。続いて後述する符号量重み算出部1103から入力される、符号量重み係数e(詳細後述)を可逆の符号量CLKに乗算し、その結果をCLK’とする(ステップS1703)。   First, the code amount CLK of the reversible tile encoded data stored in the lossless encoding buffer 106 is acquired (step S1701). Next, the code amount CLH of the irreversible tile encoded data stored in the irreversible encoding buffer 108 is acquired (step S1702). Subsequently, the code amount weight coefficient e (detailed later) input from the code amount weight calculation unit 1103 described later is multiplied by the reversible code amount CLK, and the result is set to CLK ′ (step S1703).

次いで、乗算後のCLK’を所定のしきい値TH1と比較して(ステップS1704)、CLK’<TH1ならば(YES)、処理をステップS1706に移行する。また、CLK’≧TH1ならば(NO)処理をステップS1705へと移す。   Next, CLK ′ after multiplication is compared with a predetermined threshold value TH1 (step S1704). If CLK ′ <TH1 (YES), the process proceeds to step S1706. If CLK ′ ≧ TH1, the process proceeds to step S1705 (NO).

ステップS1705では乗算後のCLK’とCLHを比較し(ステップS1705)、CLK’<CLHならば(YES)処理をステップS1706へ、CLK’≧CLHならば(NO)処理をステップS1708へと移す。   In step S1705, CLK ′ and CLH after multiplication are compared (step S1705). If CLK ′ <CLH (YES), the process proceeds to step S1706, and if CLK ′ ≧ CLH (NO), the process proceeds to step S1708.

ステップS1706では着目するタイルの選択結果としてS(i,j)に“1”を設定してこれを信号線113に出力する。続いて可逆符号化用バッファ106に格納される可逆のタイル符号化データを読み出して信号線112に出力する(ステップS1707)。   In step S 1706, “1” is set in S (i, j) as a result of selecting the tile of interest, and this is output to the signal line 113. Subsequently, the reversible tile encoded data stored in the lossless encoding buffer 106 is read and output to the signal line 112 (step S1707).

一方、ステップS1708ではS(i,j)に“0”を設定してこれを信号線113に出力し、続いて非可逆符号化用バッファ108に格納される非可逆のタイル符号化データを読み出して信号線112に出力する(ステップS1709)。   On the other hand, in step S1708, “0” is set to S (i, j), and this is output to the signal line 113. Subsequently, the irreversible tile encoded data stored in the irreversible encoding buffer 108 is read. Is output to the signal line 112 (step S1709).

ここで、上記のステップS1703で算出する重み付け係数eであるが、次のようにして求める。   Here, the weighting coefficient e calculated in step S1703 is obtained as follows.

まず、重み係数算出部1502は、着目するタイルT(i,j)の真上のタイルの選択信号S(i,j−1)の選択信号S(i,j−1)と、直前のタイルT(i−1,j)の選択信号S(i−1,j)をバッファ1102から読み出し、次式によって重み係数値eを計算して出力する。
e=1.0−{S(i−1,j)+S(i,j−1)} × E
ここで、Eは予め定めた正の定数である。
First, the weighting factor calculation unit 1502 selects the selection signal S (i, j-1) of the tile selection signal S (i, j-1) immediately above the tile T (i, j) of interest and the immediately preceding tile. The selection signal S (i−1, j) of T (i−1, j) is read from the buffer 1102, and the weighting coefficient value e is calculated and output by the following equation.
e = 1.0− {S (i−1, j) + S (i, j−1)} × E
Here, E is a predetermined positive constant.

従って、S(i−1,j)とS(i,j−1)がともに0の場合、即ち、T(i−1,j)とT(i,j−1)の両方で非可逆符号化が選択された場合にはe=1.0となる。また、どちらか一方が可逆符号化、もう一方が非可逆符号化を選択した場合にはe=1.0−E、両方ともに可逆符号化が選択された場合には1.0−2Eとなる。   Therefore, when S (i-1, j) and S (i, j-1) are both 0, that is, both T (i-1, j) and T (i, j-1) are irreversible codes. E = 1.0 when the conversion is selected. When either one is lossless encoding and the other is lossy encoding, e = 1.0-E, and when both are lossless encoding, 1.0-2E. .

ここで、仮にE=0.2と定義すると、eは1.0,0.8、0.6の何れかの値となり、図17における可逆符号化データ、非可逆符号化データのいずれかを選択する境界条件は、それぞれ図16(a)、(b)、(c)のようになる。   Here, if E = 0.2 is defined, e is one of 1.0, 0.8, and 0.6, and either lossless encoded data or lossy encoded data in FIG. The boundary conditions to be selected are as shown in FIGS. 16 (a), (b), and (c), respectively.

図16(a)はe=1.0の場合である。このとき、ステップS1705の判定は、乗算前のCHKを用いて表現すると、「CLK<CHK」が真か否かを判定することになる。   FIG. 16A shows the case where e = 1.0. At this time, if the determination in step S1705 is expressed using CHK before multiplication, it is determined whether or not “CLK <CHK” is true.

また、図16(b)はe=0.8の場合である。このとき、ステップS1705の判定は、乗算前のCHKを用いて表現すると、「CLK×0.8<CHK」が真か否かを判定することになり、図16(a)より、可逆符号化データが選択され易い。   FIG. 16B shows the case where e = 0.8. At this time, if the determination in step S1705 is expressed using CHK before multiplication, it is determined whether or not “CLK × 0.8 <CHK” is true. From FIG. Easy to select data.

そして、図16(c)はe=0.6の場合である。このとき、ステップS1705は「CLK×0.6<CHK」が真か否かを判定することになり、図16(b)よりも更に可逆符号化データが選択され易い条件にすることが可能になる。   FIG. 16C shows the case where e = 0.6. At this time, step S1705 determines whether or not “CLK × 0.6 <CHK” is true, and it is possible to make the condition that lossless encoded data is more easily selected than in FIG. Become.

なお、上記実施形態では、CLKに乗算する例で説明したが、相対的なものであるので、その逆数(1/e)を、CHKに乗算するようにしても構わない。また、上記実施形態では近接するタイル群の中で可逆符号化されていた個数が多いほど重み係数値eが小さくなるように設定したが、反対に、次式のように可逆符号化されていた個数が多いほど大きくなる値とし、これをCHKに乗算する(あるいはその逆数をCLKに乗算する)ようにしても構わない。
e=1.0+{S(i−1,j)+S(i,j−1)} × E
In the above embodiment, the example of multiplying CLK has been described. However, since it is a relative one, the reciprocal (1 / e) may be multiplied by CHK. Further, in the above embodiment, the weight coefficient value e is set to be smaller as the number of tiles that are losslessly encoded in the adjacent tile groups is larger, but on the contrary, lossless encoding is performed as in the following equation. The value may be increased as the number increases, and CHK may be multiplied by CHK (or the inverse thereof may be multiplied by CLK).
e = 1.0 + {S (i−1, j) + S (i, j−1)} × E

つまり、注目タイルの近接するタイル群の中で可逆符号化されていた個数が多いほど、注目タイルの符号化データとして可逆符号化データが選択される可能性を高くすることができるようになる。   That is, as the number of tiles that are losslessly encoded in the tile group adjacent to the tile of interest increases, the possibility that the lossless encoded data is selected as the encoded data of the tile of interest can be increased.

なお、本第3の実施形態における符号列形成部111は、第1、第2の実施形態と同様の符号列を形成し、信号線114より出力する。その際の符号列の構造も第1の実施形態の説明で用いた図9,10に同じである。   Note that the code string forming unit 111 in the third embodiment forms a code string similar to that in the first and second embodiments, and outputs it from the signal line 114. The structure of the code string at that time is also the same as in FIGS. 9 and 10 used in the description of the first embodiment.

以上の説明のように、本第3の実施形態によれば、画像をタイルに分割して、タイルごとに可逆、非可逆を選択して符号化する符号化方式において、直前のタイルと真上のタイルの可逆、非可逆選択状況に応じて着目タイルの可逆、非可逆の符号量に重み付けを行うことで、縦、横に隣接するタイルで可逆が選択されている場合には着目タイルで可逆が選択されやすくし、可逆と非可逆の符号量が拮抗するような部分での符号化方式の頻繁な切り替わりを抑制することができる。これにより、可逆、非可逆のタイルが隣接することにより生じる視覚的な妨害の低減が縦方向、横方向の両方向で可能となる。   As described above, according to the third embodiment, in an encoding method in which an image is divided into tiles and reversible or irreversible is selected and encoded for each tile, it is directly above the previous tile. The reversible and irreversible selection of tiles is weighted according to the reversible and irreversible code amount of the target tile. Can be easily selected, and frequent switching of the encoding method in a portion where the reversible and irreversible code amounts antagonize can be suppressed. As a result, it is possible to reduce the visual disturbance caused by the adjacent reversible and irreversible tiles in both the vertical and horizontal directions.

また、本第3の実施形態では、注目タイルの左隣及び真上のタイルの選択信号のみについて説明したが、第2の実施形態でも説明したように斜め方向をも参照して判定条件を決定しても構わない。   Further, in the third embodiment, only the selection signal for the tile adjacent to and on the left of the tile of interest has been described. However, as described in the second embodiment, the determination condition is determined with reference to the oblique direction as well. It doesn't matter.

<変形例>
本発明は上述した各実施形態に限定されるものではない。例えば、可逆符号化部105で用いる可逆符号化方式として固定の予測式により予測変換し、予測誤差をハフマン符号化する例を示したが、幾つかの予測式を用意して、動的に切り換えるような構成としても構わない。また、ハフマン符号に代えてGolomb符号や、算術符号などその他のエントロピ符号化を用いても良い。さらにまた、JPEGのロスレスモードや、JPEG−LS、JPEG2000など、その他の可逆符号化方式を適用しても良い。また、非可逆符号化部107で用いる非可逆符号化方式としてJPEGベースライン方式を用いる例を示したが、JPEGの拡張方式や、JPEG2000などその他の非可逆符号化方式を用いても良い。
<Modification>
The present invention is not limited to the embodiments described above. For example, as an example of the lossless encoding method used in the lossless encoding unit 105, predictive conversion is performed using a fixed prediction formula and the prediction error is Huffman encoded. However, several prediction formulas are prepared and dynamically switched. Such a configuration may be adopted. Further, instead of the Huffman code, other entropy coding such as Golomb code or arithmetic code may be used. Furthermore, other lossless encoding methods such as JPEG lossless mode, JPEG-LS, and JPEG2000 may be applied. Further, although an example using the JPEG baseline method as the irreversible encoding method used in the irreversible encoding unit 107 has been shown, other irreversible encoding methods such as the JPEG extension method and JPEG2000 may be used.

ただし、先に説明したように、可逆符号化と非可逆符号化に採用する符号化としては、JPEGベースライン、JPEG−LSのように、その符号化が得意とする像域が互いに相違するものを採用すると、更に都合が良い。   However, as described above, the encoding adopted for lossless encoding and lossy encoding is different from each other in the image areas that the encoding is good at, such as JPEG baseline and JPEG-LS. Is more convenient.

また、実施形態では、注目タイルの出力すべき符号化データとして可逆符号化データ、非可逆符号化データのいずれを選択するかを決定するため、比較演算を行う例について説明したが、図14、図16に示すような判定条件(1か0かの値)を格納したルックアップテーブルを用意し、可逆、非可逆データ量をアドレスとして供給することで、選択信号を得るようにしても構わない。   In the embodiment, an example in which a comparison operation is performed in order to determine which lossless encoded data or lossy encoded data is selected as encoded data to be output from the tile of interest has been described. A selection table may be obtained by preparing a lookup table storing determination conditions (values of 1 or 0) as shown in FIG. 16 and supplying reversible and irreversible data amounts as addresses. .

また、上記実施形態からも明らかなように、本発明はハードウェアのみに限るものではなく、コンピュータプログラムをもその範疇とするのは明らかである。また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体を、そのコンピュータにセットし、システムにコピーもしくはインストールすることで実現できるものであるから、当然、そのようなコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。   Further, as is clear from the above-described embodiment, the present invention is not limited to hardware, and it is clear that a computer program is included in its category. In general, a computer program can be realized by setting a computer-readable storage medium such as a CD-ROM in the computer and copying or installing it in the system. Obviously, it is within the scope of the present invention.

第1の実施形態に係る画像処理装置の機能構成を示すブロック構成図である。It is a block block diagram which shows the function structure of the image processing apparatus which concerns on 1st Embodiment. 可逆符号化部105の構成を示すブロック図である。3 is a block diagram illustrating a configuration of a lossless encoding unit 105. FIG. 符号化対象画素xに対する周辺画素a,b,cの位置を示す図である。It is a figure which shows the position of the surrounding pixels a, b, and c with respect to the encoding object pixel x. メモリ204に格納されるハフマンテーブルの例を示す図である。4 is a diagram illustrating an example of a Huffman table stored in a memory 204. FIG. 本実施形態に係る画像処理装置による符号化対象画像データの符号化処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the encoding process of the encoding target image data by the image processing apparatus which concerns on this embodiment. 第1の実施形態におけるセレクタの符号選択処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the code selection process of the selector in 1st Embodiment. JPEG符号化データのデータ構造を示す図である。It is a figure which shows the data structure of JPEG encoding data. 実施形態における画像のタイル分割の様子を示す図である。It is a figure which shows the mode of the tile division | segmentation of the image in embodiment. 本画像処理装置の出力符号列の構造を示す図である。It is a figure which shows the structure of the output code sequence of this image processing apparatus. 1つのタイルの符号列の構造を示す図である。It is a figure which shows the structure of the code sequence of one tile. 第2の実施形態に係る画像処理装置の機能構成を示すブロック構成図である。It is a block block diagram which shows the function structure of the image processing apparatus which concerns on 2nd Embodiment. 選択信号バッファ1102内の選択信号Sの格納状態を示す図である。FIG. 10 is a diagram illustrating a storage state of a selection signal S in a selection signal buffer 1102. 第2の実施形態におけるセレクタの符号選択処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the code selection process of the selector in 2nd Embodiment. 第2の実施形態における可逆符号化データの符号量CLK、非可逆符号化データの符号量CLHと、セレクタ1101で選択される境界条件との関係を示す図である。It is a figure which shows the relationship between the code amount CLK of lossless encoding data in the 2nd Embodiment, the code amount CLH of lossy encoding data, and the boundary condition selected by the selector 1101. 第3の実施形態に係る画像処理装置の機能構成を示すブロック構成図である。It is a block block diagram which shows the function structure of the image processing apparatus which concerns on 3rd Embodiment. 第3の実施形態における可逆符号化データの符号量CLK、非可逆符号化データの符号量CLHと、セレクタ1501で選択される境界条件との関係を示す図である。FIG. 10 is a diagram illustrating a relationship between a code amount CLK of lossless encoded data, a code amount CLH of lossy encoded data, and a boundary condition selected by a selector 1501 in the third embodiment. 第2の実施形態におけるセレクタの符号選択処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the code selection process of the selector in 2nd Embodiment. 実施形態における画像処理装置の基本構成を示す図である。It is a figure which shows the basic composition of the image processing apparatus in embodiment.

Claims (9)

画像データを符号化する画像符号化装置であって、
前記画像データを所定サイズの画素ブロックに分割する分割手段と、
前記画素ブロックを可逆符号化し、可逆符号化データを生成する可逆符号化手段と、
前記画素ブロックを非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、
前記画素ブロックの符号化データとして、可逆、非可逆符号化データのいずれを選択したかを示す選択情報を記憶する記憶手段と、
注目画素ブロックに対応する前記可逆符号化手段で生成された可逆符号化データの符号量と、前記非可逆符号化手段で生成された非可逆符号化データの符号量とを、前記記憶手段に記憶された注目画素ブロックに隣接する画素ブロックの既選択情報に従っていずれか一方に重み付けして比較する比較手段と、
該重み付け比較の結果において符号量が小さいと判断された方の符号化データを注目画素ブロックの符号化データとして選択し、出力する選択出力手段と
を備えることを特徴とする画像符号化装置。
An image encoding device for encoding image data,
Dividing means for dividing the image data into pixel blocks of a predetermined size;
Lossless encoding means for losslessly encoding the pixel block and generating lossless encoded data;
Irreversible encoding means for irreversibly encoding the pixel block and generating irreversible encoded data;
Storage means for storing selection information indicating which lossless or lossy encoded data is selected as the encoded data of the pixel block;
The storage unit stores the code amount of the lossless encoded data generated by the lossless encoding unit corresponding to the pixel block of interest and the code amount of the lossy encoded data generated by the lossy encoding unit. Comparing means for weighting and comparing either one according to the selected information of the pixel block adjacent to the focused pixel block,
An image encoding apparatus comprising: selection output means for selecting and outputting encoded data of which the code amount is determined to be small as a result of the weighted comparison as encoded data of the pixel block of interest.
前記選択出力手段は、注目画素ブロックの可逆符号化データ量が所定量以下に場合には、無条件に可逆符号化データを選択することを特徴とする請求項1に記載の画像符号化装置。   The image encoding apparatus according to claim 1, wherein the selection output means unconditionally selects the lossless encoded data when the amount of lossless encoded data of the pixel block of interest is equal to or less than a predetermined amount. 前記比較手段は、注目画素ブロックの直前の画素ブロックの選択結果が可逆符号化データであるとき、注目画素ブロックの非可逆符号化手段で生成された符号化データ量に所定の正の値を加算し、もしくは、可逆符号化手段で生成された符号化データ量から所定の正の値を減算し、演算後の非可逆符号化データ量と可逆符号化データ量とを比較することを特徴とする請求項1または2に記載の画像符号化装置。   The comparison unit adds a predetermined positive value to the encoded data amount generated by the lossy encoding unit of the target pixel block when the selection result of the pixel block immediately before the target pixel block is lossless encoded data. Alternatively, a predetermined positive value is subtracted from the encoded data amount generated by the lossless encoding means, and the calculated lossy encoded data amount and the lossless encoded data amount are compared. The image coding apparatus according to claim 1 or 2. 前記記憶手段に記憶された注目画素ブロックに隣接する画素ブロックの既選択情報に応じて定まる正の値をαとし、注目画素ブロックの前記可逆符号化手段で生成された符号量をCLK、前記非可逆符号化手段で生成された符号量をCLHとしたとき、
前記比較手段は、
CLK−αとCLH
または、
CLKとCLH+α
を比較することを特徴とする請求項1または2に記載の画像符号化装置。
The positive value determined according to the already selected information of the pixel block adjacent to the target pixel block stored in the storage unit is α, the code amount generated by the lossless encoding unit of the target pixel block is CLK, When the code amount generated by the lossless encoding means is CLH,
The comparison means includes
CLK-α and CLH
Or
CLK and CLH + α
The image coding apparatus according to claim 1, wherein the image coding apparatuses are compared with each other.
前記記憶手段に記憶された注目画素ブロックに隣接する画素ブロックの既選択情報に応じて定まる1.0以下の正の値をαとし、注目画素ブロックの前記可逆符号化手段で生成された符号量をCLK、前記非可逆符号化手段で生成された符号量をCLHとしたとき、
前記比較手段は、
CLK×αとCLH
または、
CLKとCLH×(1/α)
を比較することを特徴とする請求項1または2に記載の画像符号化装置。
Code amount generated by the lossless encoding unit of the pixel block of interest, where α is a positive value of 1.0 or less determined according to the already selected information of the pixel block adjacent to the pixel block of interest stored in the storage unit Is CLK, and the code amount generated by the lossy encoding means is CLH,
The comparison means includes
CLK × α and CLH
Or
CLK and CLH x (1 / α)
The image coding apparatus according to claim 1, wherein the image coding apparatuses are compared with each other.
前記可逆符号化手段と非可逆符号化手段は、一方が自然画、もう一方が文字線画に適した符号化手段であることを特徴とする請求項1乃至5のいずれか1項に記載の画像符号化装置。   6. The image according to claim 1, wherein one of the lossless encoding unit and the lossy encoding unit is an encoding unit suitable for a natural image and the other for a character / line image. Encoding device. 画像データを符号化する画像符号化方法であって、
前記画像データを所定サイズの画素ブロックに分割する分割工程と、
前記画素ブロックを可逆符号化し、可逆符号化データを生成する可逆符号化工程と、
前記画素ブロックを非可逆符号化し、非可逆符号化データを生成する非可逆符号化工程と、
前記画素ブロックの符号化データとして、可逆、非可逆符号化データのいずれを選択したかを示す選択情報を所定の記憶手段に格納する格納工程と、
注目画素ブロックに対応する前記可逆符号化工程で生成された可逆符号化データの符号量と、前記非可逆符号化工程で生成された非可逆符号化データの符号量とを、前記記憶手段に記憶された注目画素ブロックに隣接する画素ブロックの既選択情報に従っていずれか一方に重み付けして比較する比較工程と、
該重み付け比較の結果において符号量が小さいと判断された方の符号化データを注目画素ブロックの符号化データとして選択し、出力する選択出力工程と
を備えることを特徴とする画像符号化方法。
An image encoding method for encoding image data, comprising:
A division step of dividing the image data into pixel blocks of a predetermined size;
A lossless encoding step of losslessly encoding the pixel block to generate lossless encoded data;
An irreversible encoding step of irreversibly encoding the pixel block to generate irreversible encoded data;
A storage step of storing, in a predetermined storage unit, selection information indicating which lossless or lossy encoded data is selected as the encoded data of the pixel block;
The storage unit stores the code amount of the lossless encoded data generated in the lossless encoding step corresponding to the pixel block of interest and the code amount of the lossy encoded data generated in the lossy encoding step. A comparison step of weighting and comparing either one according to the selected information of the pixel block adjacent to the focused pixel block
An image encoding method comprising: a selection output step of selecting and outputting encoded data of which the code amount is determined to be small as a result of the weighted comparison as encoded data of the pixel block of interest.
コンピュータが読み込み実行することで、画像データを符号化する画像符号化装置として機能することを特徴とするコンピュータプログラムであって、
前記画像データを所定サイズの画素ブロックに分割する分割手段と、
前記画素ブロックを可逆符号化し、可逆符号化データを生成する可逆符号化手段と、
前記画素ブロックを非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、
前記画素ブロックの符号化データとして、可逆、非可逆符号化データのいずれを選択したかを示す選択情報を所定の記憶手段に格納する格納手段と、
注目画素ブロックに対応する前記可逆符号化手段で生成された可逆符号化データの符号量と、前記非可逆符号化手段で生成された非可逆符号化データの符号量とを、前記記憶手段に記憶された注目画素ブロックに隣接する画素ブロックの既選択情報に従っていずれか一方に重み付けして比較する比較手段と、
該重み付け比較の結果において符号量の小さいと判断された方の符号化データを注目画素ブロックの符号化データとして選択し、出力する選択出力手段
として機能することを特徴とするコンピュータプログラム。
A computer program that functions as an image encoding device that encodes image data by being read and executed by a computer,
Dividing means for dividing the image data into pixel blocks of a predetermined size;
Lossless encoding means for losslessly encoding the pixel block and generating lossless encoded data;
Irreversible encoding means for irreversibly encoding the pixel block and generating irreversible encoded data;
Storage means for storing selection information indicating whether reversible or lossy encoded data is selected as the encoded data of the pixel block in a predetermined storage means;
The storage unit stores the code amount of the lossless encoded data generated by the lossless encoding unit corresponding to the pixel block of interest and the code amount of the lossy encoded data generated by the lossy encoding unit. Comparing means for weighting and comparing either one according to the selected information of the pixel block adjacent to the focused pixel block,
A computer program that functions as a selection output unit that selects and outputs encoded data of which the code amount is determined to be small as a result of the weighted comparison as encoded data of a pixel block of interest.
請求項8に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。   A computer-readable storage medium storing the computer program according to claim 8.
JP2004261566A 2004-09-08 2004-09-08 Image coder, method, compputer program, and computer readable storage medium Withdrawn JP2006080793A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004261566A JP2006080793A (en) 2004-09-08 2004-09-08 Image coder, method, compputer program, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004261566A JP2006080793A (en) 2004-09-08 2004-09-08 Image coder, method, compputer program, and computer readable storage medium

Publications (1)

Publication Number Publication Date
JP2006080793A true JP2006080793A (en) 2006-03-23

Family

ID=36159896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004261566A Withdrawn JP2006080793A (en) 2004-09-08 2004-09-08 Image coder, method, compputer program, and computer readable storage medium

Country Status (1)

Country Link
JP (1) JP2006080793A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042687A (en) * 2006-08-08 2008-02-21 Canon Inc Image processing apparatus and its control method, computer program and computer readable storage medium
JP2008042682A (en) * 2006-08-08 2008-02-21 Canon Inc Image processing apparatus and its control method, computer program and computer readable storage medium
JP2009130467A (en) * 2007-11-20 2009-06-11 Canon Inc Image encoding apparatus and method of controlling the same
JP2009260977A (en) * 2008-04-15 2009-11-05 Sony Corp Video data compression using combination of irreversible compression and reversible compression
JP2011019153A (en) * 2009-07-10 2011-01-27 Fuji Xerox Co Ltd Image processing apparatus, image processing system, and program
JP2011044981A (en) * 2009-08-24 2011-03-03 Fuji Xerox Co Ltd Device for compressing image data, and print system
US8238437B2 (en) 2007-09-20 2012-08-07 Canon Kabushiki Kaisha Image encoding apparatus, image decoding apparatus, and control method therefor
JP2013055494A (en) * 2011-09-02 2013-03-21 Canon Inc Image encoder and control method thereof
WO2023106120A1 (en) * 2021-12-09 2023-06-15 ソニーセミコンダクタソリューションズ株式会社 Information processing device and method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042687A (en) * 2006-08-08 2008-02-21 Canon Inc Image processing apparatus and its control method, computer program and computer readable storage medium
JP2008042682A (en) * 2006-08-08 2008-02-21 Canon Inc Image processing apparatus and its control method, computer program and computer readable storage medium
US8238437B2 (en) 2007-09-20 2012-08-07 Canon Kabushiki Kaisha Image encoding apparatus, image decoding apparatus, and control method therefor
JP2009130467A (en) * 2007-11-20 2009-06-11 Canon Inc Image encoding apparatus and method of controlling the same
JP2009260977A (en) * 2008-04-15 2009-11-05 Sony Corp Video data compression using combination of irreversible compression and reversible compression
JP2011019153A (en) * 2009-07-10 2011-01-27 Fuji Xerox Co Ltd Image processing apparatus, image processing system, and program
JP2011044981A (en) * 2009-08-24 2011-03-03 Fuji Xerox Co Ltd Device for compressing image data, and print system
JP2013055494A (en) * 2011-09-02 2013-03-21 Canon Inc Image encoder and control method thereof
WO2023106120A1 (en) * 2021-12-09 2023-06-15 ソニーセミコンダクタソリューションズ株式会社 Information processing device and method

Similar Documents

Publication Publication Date Title
JP4418762B2 (en) Image encoding apparatus, image decoding apparatus, control method thereof, computer program, and computer-readable storage medium
JP4979323B2 (en) Image processing apparatus and control method thereof
JP4612716B2 (en) Image coding apparatus, image coding method, and image codec decoding system
US8331664B2 (en) Prediction-based image processing
US7912300B2 (en) Image processing apparatus and control method therefor
JP4847398B2 (en) Image processing apparatus and method
JP2017505010A (en) Method and apparatus for encoding or decoding pixel block
AU2007249106B2 (en) A lossless compressor for image data values
JP2017022696A (en) Method and apparatus of encoding or decoding coding units of video content in pallet coding mode using adaptive pallet predictor
WO2009092454A1 (en) Prediction-based image processing
US20090285479A1 (en) Image encoding apparatus, image decoding apparatus, and control method thereof
US20130235231A1 (en) Vector embedded graphics coding
US20150264345A1 (en) Method for Coding Videos and Pictures Using Independent Uniform Prediction Mode
JP6502739B2 (en) Image coding apparatus, image processing apparatus, image coding method
JP5116650B2 (en) Image coding apparatus and control method thereof
US20060215920A1 (en) Image processing apparatus, image processing method, and storage medium storing programs therefor
JP2006080793A (en) Image coder, method, compputer program, and computer readable storage medium
JP4084802B2 (en) Image processing device
JP2008109478A (en) Image encoding device, method, program and storage medium
JP2008078826A (en) Image processor and its control method
JP4324079B2 (en) Image encoding apparatus and method, computer program, and computer-readable storage medium
JP2008042681A (en) Image processing method and processor, computer program and computer readable storage medium
JP4418736B2 (en) Image encoding apparatus and method, computer program, and computer-readable storage medium
JP2009071472A (en) Image encoding method, image decoding method, image encoder, image decoder and semiconductor integrated circuit
JP5432690B2 (en) Image coding apparatus and control method thereof

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071204