JP2006080793A - Image coder, method, compputer program, and computer readable storage medium - Google Patents
Image coder, method, compputer program, and computer readable storage medium Download PDFInfo
- 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
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
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を参照)などが開示されている。
しかしながら、上述の従来方式による画像処理装置で、ブロック単位に可逆、非可逆を選択して符号化した場合、可逆のブロックと非可逆のブロックが隣接する部分が多く発生する場合がある。特に、画像中、符号化方式判定の条件の境界となるような特性をもった部分では頻繁な切り替わりが発生し、ブロックの境界が識別できてしまうなど、視覚的な妨害要因となるという問題がある。 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,
1402はRAMで、外部記憶装置1407や記憶媒体ドライブ1408、若しくはI/F1409を介して外部装置からダウンロードされたプログラムやデータを記憶する為のエリアを備えると共に、CPU1401が各種の処理を実行する際に使用するワークエリアも備える。
A
1403はROMで、ブートプログラムや本装置の設定プログラムやデータを格納する。
1404、1405は夫々キーボード、マウスで、CPU1401に対して各種の指示を入力することができる。
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上の所定のエリアにロードされる。
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
1409はI/Fで、このI/F1409によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。例えはI/F1409を介してイメージスキャナ装置等を接続し、符号化対象となる画像データを本装置のRAM1402や外部記憶装置1407に入力することや、逆に、本装置のRAM1402や外部記憶装置1407から生成した画像符号化データを装置外部に出力することができる。1410は上述の各部を繋ぐバスである。
上記構成において、本装置に電源が投入されるとCPU1401はROM1402のブートプログラムに従って外部記憶装置1407よりOSをRAM1402にロードする。そして、外部記憶装置1407に格納された画像処理アプリケーションプログラムを起動し、インタフェース1409を介して入力した画像を符号化する。符号化結果は外部記憶装置1407や記録媒体ドライブ1408に装着された記憶媒体(メモリカード等)に格納する。
In the above configuration, when the power of the apparatus is turned on, the
図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
なお、上記構成における各バッファ102、104、105、108、並びに選択信号保持部110は、本処理が開始する際に、RAM1402内に確保されるものであり、それ以外の各処理部はメイン処理からコールされる各関数プログラム(サブルーチンプログラム)により構成されるものである。ただし、図1に示す構成をハードウェアでもって実現しても構わないのは勿論である。なお、バッファ102、104、105、108、並びに選択信号保持部110以外の各処理部においても適宜RAM1402を利用して処理を実施する。
Note that the
以下、図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
ラインバッファ102は画像データを所定のライン数(Th)分格納する領域を持ち、画像入力部101から入力される画像データを順次格納していく。以降、符号化対象画像データをThラインの幅で分割したデータをストライプと呼ぶ。ラインバッファ102に必要とされる容量、即ち1ストライプのデータ量はW×Th×3(RGB分)バイトである。説明の便宜上、入力する画像の垂直方向画素数HはThの整数倍であるとし、画像の末尾で不完全なストライプが発生しないものとする。
The
ラインバッファ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
図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
可逆符号化部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
図2に実施形態における可逆符号化部105の内部のブロック図を示す。同図に於いて201はバッファ、202は予測器、203は減算器、204はメモリ、205はハフマン符号化器、206,207は信号線である。図2は、画像データを予測誤差に変換する系列変換の処理に周辺画素を用いた予測変換を用い、符号化処理にはハフマン符号化を用いる可逆符号化部の例である。
FIG. 2 is a block diagram showing the inside of the
メモリ205には、予め幾つかの画像データを系列変換して得られた予測誤差の頻度分布に基づいて生成されたハフマンテーブルが格納される。予測誤差の頻度分布の一般的性質として予測誤差0を中心として出現頻度が高く、予測誤差の絶対値が大きくなるにつれて出現頻度が下がっていく傾向にあるため、メモリ204に格納されるハフマン符号は、図4に示すように、予測誤差0近辺に短い符号語が割り当てられ、予測誤差の絶対値が大きい部分には長い符号語が割り当てられる。
The
以下、図2を参照して可逆符号化部105の動作について説明する。
Hereinafter, the operation of the
タイルバッファ104から最初に信号線206を介して着目するタイルの画素データが順に入力される。タイルデータはラスタースキャン順、かつ、各画素はR,G,Bの順番で入力されるものとする。可逆符号化部105における符号化処理は画素の各成分を単位として行われる。R,G,Bそれぞれに適用される処理は同様であるのでここではR成分を例に説明する。
First, pixel data of the target tile is sequentially input from the
バッファ201は信号線206から入力されるタイルデータを2ライン分格納する容量を有する。
The
着目する画素の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
なお、注目画素位置がタイルの最初のラインであるとき、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
上述の処理をタイル内の全ての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
一方、可逆符号化部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
以上のようにしてタイルバッファ104に格納される着目タイルデータに対する可逆符号化部105、非可逆符号化部107それぞれによる符号化を行う。この結果、可逆符号化用バッファ106、非可逆符号化用バッファ108にそれぞれ可逆、非可逆の符号化データが格納される。
As described above, the
セレクタ109は、可逆符号化用バッファ106に格納される可逆のタイル符号化データの符号量CLKと、非可逆符号化用バッファ108に格納される非可逆のタイル符号化データの符号量CLHとを比較し、どちらか一方のタイル符号化データを選択して読み出し、信号線112を介して符号形成部111へと送る。この際、いずれを選択したのかを示す信号を選択信号保持部110に保持させる。なお、この選択信号保持部110は、1ストライプの符号化を開始する際に“0”クリアするものとする。
The
セレクタ109による、この符号化データの選択処理の原理を図6に示すフローチャートに従って説明する。
The principle of this encoded data selection process by the
まず、可逆符号化用バッファ106に格納される可逆のタイル符号化データの符号量CLK取得する(ステップS601)。次に、非可逆符号化用バッファ108に格納される非可逆のタイル符号化データの符号量CLHを取得する(ステップS602)。
First, the code amount CLK of reversible tile encoded data stored in the
これら符号化量は、それぞれのバッファに符号化データを格納する際のアドレスポインタ(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
ここで、選択信号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
一方、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
上述の処理により、直前のタイルについて可逆のタイル符号化データが選択された場合には、着目するタイルの非可逆のタイル符号化データの符号量に所定の符号量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
符号列形成部111は信号線113を介して入力される各タイルの選択信号S(i,j)と信号線112を介して入力される選択されたタイル符号化データを結合させ、必要な付加情報を加えて本画像処理装置の出力となる符号列を形成して信号線114より出力する。
The code
図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
まず、ラインバッファ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
いずれにしても、可逆、非可逆の両方でタイルデータの符号化処理が終了すると、セレクタ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
次いで、符号化したタイルがストライプ内の最後のタイルであるか否か判断し(ステップ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
なお、図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
以下、図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
セレクタ1101は符号量重み算出部1103から入力される符号量重みWを可逆符号化用バッファ106に格納される可逆のタイル符号化データの符号量CLKから減じ、これを非可逆符号化用バッファ108に格納される非可逆のタイル符号化データの符号量CLHと比較して、符号量の少ない一方のタイル符号化データを読み出して信号線112から出力する。また、可逆のタイル符号化データを選択した場合には着目するタイルT(i,j)の選択信号S(i,j)として“1(論理high)”を信号線113から出力し、非可逆のタイル符号化データを選択した場合には同じく“0(論理low)”の信号出力する。
The
図13に、本第2の実施形態におけるセレクタ1101による符号選択の処理手順を示す。
FIG. 13 shows a code selection processing procedure by the
まず、可逆符号化用バッファ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
次いで、減算後の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
一方、ステップ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
以上の処理により符号量重み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
符号量重み算出部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
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
斜線で示した領域は可逆符号化が選択される領域を示し、その他は非可逆符号化が選択される領域を示す。セレクタ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
以上のようにして重み係数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
また、本第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
また、本第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
[第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,
また、可逆のタイル符号化データを選択した場合には着目するタイルT(i,j)の選択信号S(i,j)として“1”を信号線113から出力し、非可逆のタイル符号化データを選択した場合には同じく“0”を出力する点も第2の実施形態と同じである。
When reversible tile coding data is selected, “1” is output from the
図17は本第3の実施形態におけるセレクタ1501の処理手順を示すフローチャートである。
FIG. 17 is a flowchart showing the processing procedure of the
先ず、可逆符号化用バッファ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
次いで、乗算後の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
一方、ステップ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
ここで、上記のステップ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
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
以上の説明のように、本第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
ただし、先に説明したように、可逆符号化と非可逆符号化に採用する符号化としては、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.
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.
前記比較手段は、
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.
前記比較手段は、
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.
前記画像データを所定サイズの画素ブロックに分割する分割工程と、
前記画素ブロックを可逆符号化し、可逆符号化データを生成する可逆符号化工程と、
前記画素ブロックを非可逆符号化し、非可逆符号化データを生成する非可逆符号化工程と、
前記画素ブロックの符号化データとして、可逆、非可逆符号化データのいずれを選択したかを示す選択情報を所定の記憶手段に格納する格納工程と、
注目画素ブロックに対応する前記可逆符号化工程で生成された可逆符号化データの符号量と、前記非可逆符号化工程で生成された非可逆符号化データの符号量とを、前記記憶手段に記憶された注目画素ブロックに隣接する画素ブロックの既選択情報に従っていずれか一方に重み付けして比較する比較工程と、
該重み付け比較の結果において符号量が小さいと判断された方の符号化データを注目画素ブロックの符号化データとして選択し、出力する選択出力工程と
を備えることを特徴とする画像符号化方法。 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.
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)
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 |
-
2004
- 2004-09-08 JP JP2004261566A patent/JP2006080793A/en not_active Withdrawn
Cited By (9)
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 |