JP4309220B2 - Image coding apparatus and image coding method - Google Patents
Image coding apparatus and image coding method Download PDFInfo
- Publication number
- JP4309220B2 JP4309220B2 JP2003341203A JP2003341203A JP4309220B2 JP 4309220 B2 JP4309220 B2 JP 4309220B2 JP 2003341203 A JP2003341203 A JP 2003341203A JP 2003341203 A JP2003341203 A JP 2003341203A JP 4309220 B2 JP4309220 B2 JP 4309220B2
- Authority
- JP
- Japan
- Prior art keywords
- distortion
- code amount
- slope
- code
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
この発明は、特にJPEG2000の画像符号化のレート制御処理において、符号量対歪の傾きを符号量に対して単調減少に補正処理を行う画像符号化装置および画像符号化方法に関するものである。 The present invention relates to an image encoding apparatus and an image encoding method that perform correction processing for monotonically decreasing the slope of code amount versus distortion with respect to the code amount, particularly in JPEG 2000 image encoding rate control processing.
現在インターネットを中心に静止画像符号化アルゴリズムJPEGが広く普及しているが、一方で次世代の符号化方式としてさらなる性能改善、機能付加の要求を背景として、1997年より新たにJPEG2000プロジェクトがISOとITUの合同機関によりスタートした。2000年12月には、同JPEG2000アルゴリズムの基本方式を定めるパート1についてその主要な技術内容が確定した(例えば、非特許文献1参照。)。以下に、非特許文献1に従ってJPEG2000符号化アルゴリズムの基本方式の概略を説明する。なお、画像符号化装置としての機能構成はこの発明の図1および図2と概略同じものである。
Currently, the still image coding algorithm JPEG is widespread mainly on the Internet, but on the other hand, the JPEG2000 project was newly established in 1997 as a next-generation coding method with the background of further performance improvement and addition of functions. Started by a joint organization of ITU. In December 2000, the main technical content of
入力される画像信号は、まず、2次元のウェーブレット(Wavelet )変換が施され、複数のサブバンドに帯域分割される。ここで、2次元のウェーブレット変換は1次元のウェーブレット変換の組み合わせとして実現される。つまり、水平方向の一次元ウェーブレット変換をライン毎に順次行う処理と、垂直方向の一次元ウェーブレット変換を列毎に順次行う処理である。また、1次元のウェーブレット変換は、図20(a)に示すように、所定の特性を持つローパスフィルタとハイパスフィルタおよびダウンサンプラから構成されるものである。こうして生成された2次元のウェーブレット変換係数は、低域成分をL、高域成分をHとし、水平方向の変換を1文字目、垂直副走査方向の変換を2文字目で表現することで、図20(b)に示すようにLL、HL、LH、HHと表現される。また、これらの帯域分割された成分はサブバンドと呼ばれている。ここで、水平、垂直方向の低域成分(LL成分)は再帰的にウェーブレット変換が施される。再帰的に施される各ウェーブレット変換によって生成される各サブバンドを分解レベルと称し、図中LL、HL、LH、HHの前に記載された数字がこれにあたる。すなわち、ウェーブレット変換の分解回数2の場合には、最低解像度成分の分解レベルは2となり、反対に最高解像度成分のHL,LH,HHの分解レベルは1になる。 The input image signal is first subjected to a two-dimensional wavelet transform and is divided into a plurality of subbands. Here, the two-dimensional wavelet transform is realized as a combination of the one-dimensional wavelet transform. That is, a process of sequentially performing horizontal one-dimensional wavelet transform for each line and a process of sequentially performing vertical one-dimensional wavelet transform for each column. The one-dimensional wavelet transform is composed of a low-pass filter, a high-pass filter, and a downsampler having predetermined characteristics, as shown in FIG. The two-dimensional wavelet transform coefficient generated in this way is expressed by expressing the low-frequency component as L, the high-frequency component as H, the horizontal conversion by the first character, and the vertical sub-scanning conversion by the second character. As shown in FIG. 20B, they are expressed as LL, HL, LH, and HH. These band-divided components are called subbands. Here, the horizontal and vertical low-frequency components (LL components) are recursively subjected to wavelet transform. Each subband generated by each wavelet transform applied recursively is called a decomposition level, and the numbers described before LL, HL, LH, and HH in the figure correspond to this. In other words, when the number of wavelet transform decompositions is 2, the decomposition level of the lowest resolution component is 2, whereas the decomposition level of HL, LH, and HH of the highest resolution component is 1.
次に、各サブバンドのウェーブレット変換係数は、サブバンド毎に設定された量子化ステップサイズにより量子化される。各サブバンドの量子化後のウェーブレット変換係数は、符号ブロックと呼ばれる固定サイズの領域に分割された後、それぞれの符号ブロックの多値データを2値のビットプレーン表現に変換し、各ビットプレーンは3通りの符号化パス(Significant Propagation Decoding Pass、Magnitude Refinement PassおよびCleanup Pass)に分割される。この3つの符号化パスから出力される2値信号は、それぞれの符号化パス毎にコンテクストモデリングが行われ、エントロピー符号化が行われる。また、エントロピー符号化処理と並行して、各符号ブロックにおいて符号化パス毎の符号量と歪情報が計算される。最後に、ラグランジェの未定乗数法を用いて、画質劣化(歪)を最小にしながら目標とする符号サイズ以下に符号量を調整するレート制御が行われる。非特許文献1に従ったレート制御部のメカニズムについての概略を以下に説明する。
Next, the wavelet transform coefficient of each subband is quantized by the quantization step size set for each subband. The quantized wavelet transform coefficient of each subband is divided into fixed-size areas called code blocks, and then multivalued data of each code block is converted into a binary bit plane representation. Divided into three encoding passes (Significant Propagation Decoding Pass, Magnitude Refinement Pass, and Cleanup Pass). The binary signal output from these three coding passes is subjected to context modeling for each coding pass and subjected to entropy coding. In parallel with the entropy encoding process, the code amount and distortion information for each encoding pass are calculated in each code block. Finally, rate control is performed to adjust the code amount to a target code size or less while minimizing image quality deterioration (distortion) using the Lagrange's undetermined multiplier method. An outline of the mechanism of the rate control unit according to
各符号ブロックiにおける切り捨てポイントをniとした時、各切捨てポイントまでの符号量をR(i,ni)、歪をD(i,ni)とした時、Σ(R(i,ni)+λD(i,ni))で表される値を最小にする切捨てポイントによって生ずる符号量Rが目標符号量Rmaxの範囲内であることを満足するまで変数λを調整する。これを符号ブロック毎に見た場合、(R(i,ni)+λD(i,ni))を最小化する切捨てポイントniを次のように見つける必要がある。ここで、kは切捨てポイントの候補とする。
Set ni=0
For k=1,2,3,・・・
Set ΔR(i,k)= R(i,k) - R(i,ni) and ΔD(i,k)= D(i,k) - D(i,ni)
If(ΔD(i,k)/ΔR(i,k))>λ-1 ,
then set ni=k
When the truncation point in each code block i is ni, the code amount up to each truncation point is R (i, ni), and the distortion is D (i, ni), Σ (R (i, ni) + λD ( The variable λ is adjusted until the code amount R generated by the truncation point that minimizes the value represented by i, ni)) is within the target code amount Rmax. When this is seen for each code block, it is necessary to find a truncation point ni that minimizes (R (i, ni) + λD (i, ni)) as follows. Here, k is a candidate for a cut-off point.
Set ni = 0
For k = 1,2,3, ...
Set ΔR (i, k) = R (i, k) -R (i, ni) and ΔD (i, k) = D (i, k) -D (i, ni)
If (ΔD (i, k) / ΔR (i, k))> λ -1 ,
then set ni = k
ところが、このアルゴリズムでは、多数の変数λに対して上記処理を実行しなければ切捨てポイントniを求めることができない。そこで、切捨てポイントの候補kに対して、傾きS(i,k)=ΔD(i,k)/ΔR(i,k)が単調減少になるように補正しておくとよい。具体的には次のようなプログラム処理を行う。ここで、pは切捨てポイントniの集合要素の一つとする。
(1)set Ni={n} (i.e. the set of all truncation point)
(2)Set p=0
(3)For k=1,2,3,4,・・・,kmax
If k belongs to Ni
Set ΔR(i,k)=R(i,k) - R(i,p), and ΔD(i,k)= D(i,p) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠0 and S(i,k) > S(i,p),
then remove p from Ni, and go to step (2)
Otherwise, set p=k
この処理により、与えられた変数λに対する切捨てポイントの最適化は、S(i,k)>λ-1を満たすNi(符号ブロックの中の符号パスの集合)における最大のkとすればよい。なお、単調減少の具体的な例については、この発明と対比して図を用いて後述する。
However, in this algorithm, the cut-off point ni cannot be obtained unless the above processing is executed for a large number of variables λ. Therefore, it is preferable to correct the slope S (i, k) = ΔD (i, k) / ΔR (i, k) so as to monotonously decrease with respect to the cut-off point candidate k. Specifically, the following program processing is performed. Here, p is one of the set elements of the cut-off point ni.
(1) set Ni = {n} (ie the set of all truncation point)
(2) Set p = 0
(3) For k = 1,2,3,4, ..., kmax
If k belongs to Ni
Set ΔR (i, k) = R (i, k) -R (i, p), and ΔD (i, k) = D (i, p) -D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ 0 and S (i, k)> S (i, p),
then remove p from Ni, and go to step (2)
Otherwise, set p = k
With this process, the optimization of the truncation point for a given variable λ may be the maximum k in Ni (the set of code paths in the code block) that satisfies S (i, k)> λ −1 . A specific example of monotonic decrease will be described later with reference to the drawings in contrast to the present invention.
この単調減少補正処理に関するフローチャートを図21に示す。なお、同図において符号ブロックを示すiは割愛している。また、‘remove p from Ni’つまり、切捨てポイントの候補Niの中からpを取り除く作業は、図中では有効、無効を表すフラグ(flag)を用いて同意の処理を実現している。 FIG. 21 shows a flowchart regarding the monotonous decrease correction process. In the figure, i indicating a code block is omitted. In addition, ‘remove p from Ni’, that is, the operation of removing p from the candidate Ni for the cut point, realizes the consent process using a flag indicating validity / invalidity in the drawing.
全ての符号ブロックでこれらの情報の導出が完了したら、目標符号量Rmaxとなるような符号データを作成する。具体的には、ある変数λに対する総符号量Rsumに対してRsum≦Rmaxとなり、歪が最小となるような変数λを見つけることになる。変数λを求めたら、その値から各符号ブロックにおいて切捨てポイントを一意に求め、その切捨てポイントまでの符号データを全ての符号ブロックから集めて最終的な符号データを構成する。こうして、歪を最小にしながら目標符号量Rmaxに符号量を制御することができる。 When the derivation of these pieces of information is completed for all the code blocks, code data having the target code amount Rmax is created. Specifically, the variable λ is found such that Rsum ≦ Rmax with respect to the total code amount Rsum for a certain variable λ, and the distortion is minimized. When the variable λ is obtained, a truncation point is uniquely obtained from the value of each code block, and code data up to the truncation point is collected from all the code blocks to form final code data. In this way, the code amount can be controlled to the target code amount Rmax while minimizing distortion.
上述した従来の技術において、切捨てポイントの候補kに対する傾きSを単調減少に補正する処理には除算処理(S(i,k)=ΔD(i,k)/ΔR(i,k))が含まれているが、切捨てポイントの候補kの最大値をkmaxとした時、一つの符号ブロック内での除算回数の最大値は(kmax(kmax+1)/2)回となる。通常除算処理は、ハードウェアで実装する場合、多くの処理クロック数を必要とするため、この除算回数が多くなることにより、処理速度が遅くなってしまうという問題がある。また、ソフトウェアで実装する場合でも、パーソナルコンピュータやワークステーション等のように高速なCPUにより実装する場合は多くの影響は及ぼさないが、例えばディジタルスチルカメラや携帯電話のように、十分な処理能力を持たないCPUで実行する場合、除算処理が多くなることは全体の処理時間に影響を及ぼすことになる。このように、実装がハードウェアにしてもソフトウェアにしても、除算回数が多いことにより処理速度が遅くなるという問題がある。 In the conventional technique described above, the process of correcting the slope S with respect to the cut-off point candidate k to monotonously decreases includes a division process (S (i, k) = ΔD (i, k) / ΔR (i, k)). However, when the maximum value of the cut-off point candidates k is kmax, the maximum value of the number of divisions in one code block is (kmax (kmax + 1) / 2) times. Since the normal division processing requires a large number of processing clocks when implemented by hardware, there is a problem that the processing speed becomes slow due to an increase in the number of divisions. Even if it is implemented by software, when it is implemented by a high-speed CPU such as a personal computer or workstation, it does not have much influence, but it has sufficient processing capability such as a digital still camera or a mobile phone. When executed by a CPU that does not have, an increase in division processing affects the overall processing time. As described above, regardless of whether the implementation is hardware or software, there is a problem that the processing speed becomes slow due to the large number of divisions.
この発明は、上記のような問題点を解決するためになされたもので、符号量対歪の傾きを計算する除算処理を効率化することにより、高速符号化処理を可能とする画像符号化装置および画像符号化方法を得ることを目的とする。 The present invention has been made in order to solve the above-described problems, and an image encoding device that enables high-speed encoding processing by improving the efficiency of division processing for calculating the slope of code amount versus distortion. And it aims at obtaining the image coding method.
この発明に係る画像符号化装置は、入力画像信号を2次元的にウェーブレット変換してサブバンド毎のウェーブレット変換係数を生成し、このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、分割された符号化パス毎にエントロピー符号化を行い、分割された符号化パス毎に歪と符号量を算出し、得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成する画像符号化装置において、符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、計算したある符号化パスの傾きが直前に有効となった符号化パスの傾きより大きければ無効な傾きとし、一方小さければ有効な傾きとすることにより、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行うものである。 The image coding apparatus according to the present invention generates a wavelet transform coefficient for each subband by two-dimensionally wavelet transforming an input image signal, and the wavelet transform coefficient is set with a quantization step size set for each subband. The quantized wavelet transform coefficient of each subband is divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, and then divided into coding passes. Entropy coding is performed for each coding pass, distortion and code amount are calculated for each divided coding pass, and the slope of code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass. Then, for each code block, a truncation point where the distortion is minimized within the target code amount is derived using the code amount, distortion, and the slope of the code amount versus distortion. An image encoding device for creating a code data having the minimum distortion from a higher encoding pass code data from the derived truncated point Te in the target code amount, the slope of the code amount versus strain for each coding pass If the slope calculation means used for the calculation calculates that the slope of a certain coding path is larger than the slope of the coding path that has just been valid, the slope is invalid, while if the slope is small, the slope is valid. Correction processing is performed so that the slope of the code amount versus distortion monotonously decreases from the bit toward the lower bit.
この発明によれば、符号量対歪の傾きを計算する除算処理量を有効に減らすことにより高速な符号化処理を可能とする効果がある。 According to the present invention, there is an effect of enabling high-speed encoding processing by effectively reducing the amount of division processing for calculating the gradient of code amount versus distortion.
実施の形態1.
図1は各実施の形態による画像符号化装置の機能構成を示すブロック図である。
図において、ウェーブレット変換手段101は、入力画像信号を低域通過フィルタと高域通過フィルタを用いて水平、垂直方向に2次元的にウェーブレット変換を再帰的に行い、サブバンド毎のウェーブレット変換係数を生成する手段である。量子化手段102は、ウェーブレット変換手段101によって生成されたウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化する手段である。係数モデリング手段103は、量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、それぞれの符号ブロックの多値データを2値のビットプレーンに分解し、2値算術符号化するため各ビットプレーンを3種類の符号化パスに分割する手段である。エントロピー符号化手段104は、分割された符号化パス毎にコンテクストモデリングを行った後、エントロピー符号化を行う手段である。符号メモリ105は、エントロピー符号化された符号データを一時的に格納する手段である。レート制御情報抽出手段106は、分割された符号化パスから、レート制御に必要な歪データと符号量データを計算し、また他で計算した符号量対歪の傾きデータを保持し、それらをレート制御情報として出力する手段である。レート制御手段107は、レート制御情報抽出手段106から出力されるレート制御情報から、目標符号量内に収まるような最適な符号データを生成する手段である。
FIG. 1 is a block diagram showing a functional configuration of an image encoding device according to each embodiment.
In the figure, a
図2は図1のレート制御情報抽出手段106およびレート制御手段107の詳細な構成を示すブロック図である。
図において、レート制御情報抽出手段106は、歪計算手段201、符号量計算手段202およびレート歪メモリ203から構成されている。歪計算手段201は、係数モデリング手段103で分割された符号化パス毎にウェーブレット変換係数から歪を計算する手段である。符号量計算手段202は、符号化パス毎に符号量をカウントする手段である。レート歪メモリ203は、符号化パス毎に得られた歪データと符号量データおよびレート制御手段107の傾き計算手段301で計算された符号化パス毎の符号量対歪の傾きを一時的に記憶する手段である。
FIG. 2 is a block diagram showing a detailed configuration of the rate control
In the figure, the rate control
レート制御手段107は、傾き計算手段301、切捨てポイント導出手段302および符号抽出手段303から構成されている。傾き計算手段301は、レート歪メモリ203に格納されている符号化パス毎の符号量Rと歪Dに基づいて符号化パス毎の符号量対歪の傾きSを計算し、その際上位ビットから下位ビットに向かって当該符号量対歪の傾きSが単調減少になるように補正処理を行う手段である。なお、この例では、計算された傾きSはレート制御情報抽出手段106のレート歪メモリ203に格納される。切捨てポイント導出手段302は、各符号ブロックに対して前記レート歪メモリに記憶された符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出する手段である。符号抽出手段303は、各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データを符号メモリ105から集め、目標符号量内で最小の歪を持つ符号データを作成し、画像圧縮装置の最終的なデータとして出力する手段である。
The
次に動作について説明する。
例えば、イメージスキャナやデジタルカメラ、もしくはネットワークや記憶媒体等の画像入力装置(図示せず)から画像信号が入力される。ウェーブレット変換手段101において、入力された画像信号に対して1次元のウェーブレット変換が水平方向と垂直方向に2次元的に施され、4つのサブバンドに帯域に分割される。ここで、1次元のウェーブレット変換は、低域通過フィルタと高域通過フィルタのフィルタバンクによって構成される。2次元のウェーブレット変換を2回再帰的に施したサブバンドの例を図3に示す。図中、先頭の数字は分解レベルを表しており、続くLまたはHの2つの英字は、水平方向、垂直方向のフィルタの種類を表している。Lは低域通過フィルタを、Hは高域通過フィルタを施した結果を表している。また、「再帰的に」ウェーブレット変換を2回施すと言うことは、まず第1回目のウェーブレット変換により、1LL,1HL,1LH,1HHが生成されると、その1LLに対して2回目のウェーブレット変換を施し、2LL,2HL,2LH,2HHを生成することを意味する。ウェーブレット変換手段101は、このようなサブバンドに対するウェーブレット変換係数を得ることになる。
Next, the operation will be described.
For example, an image signal is input from an image scanner, a digital camera, or an image input device (not shown) such as a network or a storage medium. In the
量子化手段102では、サブバンド毎に設定された量子化ステップサイズにより、ウェーブレット変換手段101で得られたウェーブレット変換係数を量子化する。次に、係数モデリング手段103では、各サブバンドのウェーブレット変換係数に対して符号ブロック(code block)と呼ばれる固定サイズの領域に分割した後、それぞれの符号ブロックの多値データを2値のビットプレーン(bit plane)に変換する。通常この符号ブロックの大きさは64×64、32×32と言ったサイズが利用される。
The
ここで、図4を用いてビットプレーンの分解について詳しく説明する。
図4(a)は4×4の符号ブロックの一例を表している。これらのデータに対して、正負を表す1ビットの信号と絶対値の表現に変換し、それらのデータを縦方向に2進表現した結果を各行単位に並べると図4(b)のようになる。次に、図4(b)に対して同一のビット番号のビットを集めたものが図4(c)となる。ここで、LSB(Least Significant Bit:最下位ビット)を第0ビット、MSB(Most Significant Bit:最上位ビット)を第3ビットとした時、第0ビットで集めたものを第0ビットプレーン、第1ビットで集めたものを第1ビットプレーン、第2ビットで集めたものを第2ビットプレーン、第3ビットで集めたものを第3ビットプレーンとしている。これ以外にも正負を表すビットの集まりとして符号ビットプレーンを作成する。
Here, the decomposition of the bit plane will be described in detail with reference to FIG.
FIG. 4A shows an example of a 4 × 4 code block. When these data are converted into a 1-bit signal representing positive and negative and an absolute value representation, and the result of binary representation of the data in the vertical direction is arranged in units of rows, the result is as shown in FIG. . Next, FIG. 4C shows a collection of bits having the same bit numbers as in FIG. 4B. Here, when the LSB (Least Significant Bit) is the 0th bit and the MSB (Most Significant Bit) is the 3rd bit, the 0th bit plane is a collection of the 0th bit. A collection of 1 bits is a first bit plane, a collection of 2 bits is a second bit plane, and a collection of 3 bits is a third bit plane. In addition to this, a sign bit plane is created as a collection of bits representing positive and negative.
係数モデリング手段103では、さらに、各ビットプレーンを、シグニフィカントプロパゲーションデコーディングパス(Significant Propagation Decoding Pass:有意な係数が周囲にある有意でない係数の符号化)、マグニチュードリファインメントパス(Magnitude Refinement Pass:有意な係数の符号化)、クリーナップパス(Cleanup Pass:残りの係数情報の符号化)の3通りの符号化パスに分割する。 In the coefficient modeling means 103, each bit plane is further divided into a significant propagation decoding decoding pass (significant propagation decoding pass), a magnitude refinement pass (significant refinement pass: significant). Are divided into three types of coding passes, that is, coding of a large coefficient) and a cleanup pass (cleanup pass: coding of remaining coefficient information).
次に、エントロピー符号化手段104では、まず、それぞれの符号化パス毎に算術符号化するためのコンテクストモデリングを行う。但し、MSBプレーンから数えて全て0となるビットプレーンは、コンテクストモデリングおよび符号化を行わず、全て0のビットプレーンの数をヘッダに書くだけとする。そして、最初に1が出現したビットプレーンについてはクリーナップパスだけでコンテクストモデリングを行う。その他のビットプレーンについては前述したように3種類の符号化パスに対してコンテクストモデリングを行う。図5は符号ブロックのビットプレーン数が6で、有効なビットプレーン数が4の場合の例を示している。コンテストモデリングが終了すると、算術符号化によりエントロピー符号化が行われる。エントロピー符号化手段104で生成された符号化データは一旦符号メモリ105に格納される。
Next, the
エントロピー符号化処理と並行して、レート制御情報抽出手段106で次の処理が行われる。歪計算手段201において、各符号ブロックの符号化パス単位に、歪Dを計算する。ここで、歪Dとは、あるビットプレーンを送った時に再生画像に対する平均二乗誤差がどれだけ減少したかを示すもので、厳密に言えば歪の減少量ということになる。したがって、ビットプレーンを1つも送っていない時の歪の減少量は0で、最終ビットプレーンを送った時の歪の減少量は、その平均二乗誤差に等しくなる。同時に、符号量計算手段202では、符号化パス単位にエントロピー符号化手段104の出力バイト数をカウントし、符号パスまで符号量を計算する。これらの歪データ、符号量データは、タイル番号、分解レベル、サブバンド、符号ブロック、符号化パス等々のインデックスが付与された後、レート歪メモリ203に格納される。
In parallel with the entropy encoding process, the rate control
次に、レート制御手段107内の傾き計算手段301では、レート歪メモリ203に格納されている符号量データR、歪データDに対してその符号化パス毎の傾きS、すなわち符号量対歪を計算する。算出された傾きSは同一の符号化パスの歪データ、符号量データと対応するレート歪メモリ203の位置に格納される。この時のレート歪メモリ203のデータ構成例は図6のようになる。なお、フラグについては後述する。また、図2では傾き計算手段301がレート制御手段107に含まれるように記載されているが、レート制御情報抽出手段106に属するようにしてもよい。
Next, the slope calculation means 301 in the rate control means 107 calculates the slope S, that is, the code quantity versus distortion, for each coding pass with respect to the code amount data R and distortion data D stored in the
全ての符号ブロックに対してエントロピー符号化とレート制御情報抽出が完了すると、レート制御手段107では、所望の符号量となるように符号量制御が行われる。符号メモリ105には既に全ての符号化パスに対する符号化データが格納されているので、レート制御手段107では、所望符号量となるように、各符号ブロックにおいてどの符号化パスまでを最終的な符号化データに含めるか、言い換えれば、どの符号化パス以降を切り捨てるかを決定する。各符号ブロックにおいて、最終的な符号データに採用する符号化パスと切り捨てる符号化パスの境界を切捨てポイントと称することとする。
When entropy coding and rate control information extraction are completed for all code blocks, the
全てのパスに対して傾きが計算できたら、切捨てポイント導出手段302において、目標符号量Rmax以下で歪が最小(歪の減少量が最大)となる切捨てポイントを全ての符号ブロックに対して見つける処理を開始する。この最適化問題は、ラグランジェの未定乗数法を用いることで実現できる。具体的には、ある符号ブロックiにおける切捨てポイントniまでの符号量をR(i,ni)、歪をD(i,ni)とした時、Σ(R(i,ni)+λD(i,ni))が最小となる切捨てポイントを見つけ、その時の総符号量Rsumが目標符号量Rmaxとなるような変数λを求めることになる。これは、図7に示すように、符号量Rと歪Dをグラフに表した時(以下,RD曲線と称する)、変数λが接線となるような切り捨てポイントを見つけ、その切捨てポイントの符号量の総和RsumがRmaxとなるまで変数λを調整することと同じである。図7では、2つの符号ブロックc1、c2において、接線の傾きがλとなる切り捨てポイントがnc1、nc2で、その切捨てポイントまでの符号量がR(c1,nc1)、R(c2,nc2)となることを表している。このような符号量Rを全ての符号ブロックに対して加算しRmaxと比較する処理を行うことになる。
When the gradients can be calculated for all paths, the truncation
次に、λ調整方法の具体的な例を図8のフローチャートを用いて説明する。まず、傾きの下限値λmin、上限値λmaxを定義し、λ=(λmin+λmax)/2となる変数λを計算する。符号ブロックiにおいて、切捨てポイントni対する傾きS(i,ni)とλとの関係で、S(i,ni)≧λとなる最大の切り捨てポイントniを求め、その符号量をR(i,ni)とする。全ての符号ブロック対してΣR(i,ni)=Rsumを計算する。ここで、
Rsum≧Rmaxであればλmin=λとし、
Rsum<Rmaxであればλmax=λとする。
新しいλmin、λmaxが求められたら、先と同じようにλ=(λmin+λmax)/2の計算を行い、以下同様に繰り返す。以上の処理をλ≧λmaxとなるまで繰り返す。こうして、最終的に求められたλに対する切捨てポイントniが求めるべき切捨てポイントとなる。
符号抽出手段303では、各符号ブロックにおいて切り捨てポイントniより上位の符号化パスの符号データを符号メモリ105から集めることにより所望の符号量Rmax以下で最小の歪を持つ符号データを作成する。
Next, a specific example of the λ adjustment method will be described with reference to the flowchart of FIG. First, a lower limit value λmin and an upper limit value λmax are defined, and a variable λ that satisfies λ = (λmin + λmax) / 2 is calculated. In the code block i, the maximum truncation point ni satisfying S (i, ni) ≧ λ is obtained from the relationship between the slope S (i, ni) and λ with respect to the truncation point ni, and the code amount is represented by R (i, ni ). ΣR (i, ni) = Rsum is calculated for all code blocks. here,
If Rsum ≧ Rmax, λmin = λ,
If Rsum <Rmax, λmax = λ.
When new λmin and λmax are obtained, λ = (λmin + λmax) / 2 is calculated in the same manner as before, and the same is repeated thereafter. The above processing is repeated until λ ≧ λmax. Thus, the cut-off point ni for the finally obtained λ becomes the cut-off point to be obtained.
The code extraction means 303 collects code data of a coding pass higher than the truncation point ni in each code block from the
ところで、図7ではRD曲線の傾きSは符号量Rに対して単調減少になっているが、実際には図9に示すように単調減少にならず、ある変数(傾き)λに対してこれが接線となるポイントは複数存在する場合がある。このような場合には、それぞれのポイントに対して、R(i,ni)+λD(i,ni)を計算し、これを最小にするポイントを見つけなければならない。しかしながら、この場合は計算回数の増大を招くこととなり、実装上好ましくない。そこで、傾き計算手段301では、傾きを計算するだけでなく、一つの符号ブロックにおいて符号量Rに対して単調減少になるように傾きSを補正し、計算回数を調整している。このことについては、従来の技術の方法で述べてきたが、この発明では、以下に述べるような処理により更に改善を図ることができる。 In FIG. 7, the slope S of the RD curve decreases monotonously with respect to the code amount R, but actually does not monotonously decrease as shown in FIG. There may be multiple points that are tangents. In such a case, R (i, ni) + λD (i, ni) must be calculated for each point to find the point that minimizes it. However, in this case, the number of calculations is increased, which is not preferable in terms of mounting. Therefore, the slope calculation means 301 not only calculates the slope, but also corrects the slope S so that the code amount R monotonously decreases in one code block, and adjusts the number of calculations. This has been described in the prior art method, but in the present invention, further improvement can be achieved by the processing described below.
この実施の形態1における傾き計算手段301では、単調減少補正処理を次のようなプログラムステップにて行う。
(1)Set Ni={n} (i.e. the set of all truncation point)
(2)Set p=0, m=1
(3)For k=m, m+1, m+2, m+3,・・・,kmax
If k belongs to Ni
Set ΔR(i,k)=R(i,k) - R(i,p), and ΔD(i,k)= D(i,p) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠0 and S(i,k) > S(i,p),
then remove p from Ni, and set p=p-1, m=k, go to step (3)
Otherwise, set p=k
これをフローチャートで示すと図10のようになる。ここで、切捨てポイントの候補の集合Niの中からpを取り除く作業(remove p from Ni)は、図10では有効、無効を表すフラグを用いて同意の処理を実現している。このフラグは先に図6で説明したレート歪メモリ203の「フラグ」欄に格納される信号である。
In the inclination calculation means 301 in the first embodiment, the monotonous decrease correction process is performed in the following program steps.
(1) Set Ni = {n} (ie the set of all truncation point)
(2) Set p = 0, m = 1
(3) For k = m, m + 1, m + 2, m + 3, ..., kmax
If k belongs to Ni
Set ΔR (i, k) = R (i, k) -R (i, p), and ΔD (i, k) = D (i, p) -D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ 0 and S (i, k)> S (i, p),
then remove p from Ni, and set p = p-1, m = k, go to step (3)
Otherwise, set p = k
This is shown in a flowchart in FIG. Here, the operation of removing p from the set Ni of candidates for cut-off points (remove p from Ni) implements the consent process using the flags indicating validity and invalidity in FIG. This flag is a signal stored in the “flag” column of the
次に、図11に示す単調減少補正処理の具体的な例を説明する。
今、ある1符号ブロックにおける補正前の符号量と歪の関係(RD曲線)が図11(a)に示すような場合について考える。ここで、切捨てポイントの候補kは1から4の範囲(kmax=4)とする。図11(b)は非特許文献1に記載の方式の場合であり、図中折れ線グラフ上に記載している数字は傾きSを計算する順番を表している。この図からもわかるように、合計7回の除算を行っており、そのうち、5回目と6回目の除算は、1回目と2回目の計算と同一値になっており冗長であることがわかる。この実施の形態1における単調減少補正は図11(c)のようになり、除算回数は5回となり、従来技術より少なく実装することができる。また、別の符号ブロックにおける補正前のRD曲線が図11(d)のような場合について考える。これは、除算回数が最大回数となる例を表しており、除算回数は、従来の方式だと図11(e)のように10回、この実施の形態1の方式だと図11(f)のように7回となる。このことから分るように、実施の形態1では、傾き計算手段301が同一符号化パスに対して前に1度行った傾き計算については以降の同じ計算から除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行っている。
Next, a specific example of the monotonic decrease correction process shown in FIG. 11 will be described.
Consider a case where the relationship (RD curve) between the code amount before correction and distortion in one code block is as shown in FIG. Here, the cut point candidate k is in the range of 1 to 4 (kmax = 4). FIG. 11B shows the case of the method described in
したがって、この実施の形態1では、除算回数は最大(2kmax−1)回となるため、従来技術の例からの差分を考えると、
kmax(kmax+1)/2−(2kmax−1)
=(kmax2 −3kmax+2)/2
=(kmax−1)(kmax−2)/2
となり、上記差分はkmax>2で正となり、除算回数が減ることがわかる。また、kmaxについては、例えばビットプレーン数7の場合には、符号化パス数が6×3+1=19であることから、kmaxも19となる。この時除算回数は、従来の方式では190回、この実施の形態1では37回となり、最大回数で比較すると、およそ80%の除算処理を削減することが可能となる。
Therefore, in the first embodiment, the number of divisions is the maximum (2 kmax-1). Therefore, considering the difference from the prior art example,
kmax (kmax + 1) / 2- (2kmax-1)
= (Kmax 2 -3kmax + 2) / 2
= (Kmax-1) (kmax-2) / 2
Thus, the above difference becomes positive when kmax> 2, and it can be seen that the number of divisions decreases. For kmax, for example, when the number of bit planes is 7, the number of coding passes is 6 × 3 + 1 = 19, and thus kmax is 19. The number of time divisions is 190 in the conventional method and 37 in the first embodiment, and when compared with the maximum number of times, it is possible to reduce the division processing by approximately 80%.
以上のように、この実施の形態1によれば、符号化パス毎の符号量対歪の傾きを計算する際に、同一符号化パスに対して前に1度行った傾き計算を以降の同じ計算では除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行うので、従来の方式に比べ、符号量対歪の傾きを計算する除算回数を大幅に削減することができるため、高速な符号化処理を可能とする効果が得られる。したがって、例えばディジタルスチルカメラや携帯電話のような十分な処理能力を持たないCPUで実行する場合においても、機能を十分満足させる処理時間が得られる効果がある。また、ハードウェアで実現する場合も処理クロック数を少なくできるため処理の高速化を図ることができるという効果がある。 As described above, according to the first embodiment, when calculating the slope of the code amount versus distortion for each coding pass, the slope calculation performed once for the same coding pass is the same as the following. Except for the calculation, correction processing is performed so that the slope of the code amount versus distortion decreases monotonically from the upper bit toward the lower bit. Therefore, compared to the conventional method, the number of divisions for calculating the slope of the code amount versus distortion is reduced. Since it can be significantly reduced, the effect of enabling high-speed encoding processing can be obtained. Therefore, for example, even when executed by a CPU that does not have sufficient processing capability, such as a digital still camera or a mobile phone, there is an effect that a processing time that sufficiently satisfies the functions can be obtained. Also, when implemented with hardware, the number of processing clocks can be reduced, so that the processing speed can be increased.
実施の形態2.
この実施の形態2による画像符号化装置のブロック上の構成は実施の形態1と同様、図1および図2と同じであるが、傾き計算手段301の処理機能が異なる。この実施の形態2傾き計算手段301は、具体的には以下のようなプログラムステップで単調減少補正処理を行いながら傾きを計算する。
(1)Set Ni={n} (i.e. the set of all truncation point)
(2)Set p=0
(3)For k=1, 2, 3,・・・,kmax
If k belongs to Ni
Set ΔR(i,k)=R(i,k) - R(i,k-1), and ΔD(i,k)= D(i,k-1) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠0 and S(i,k) > S(i,k-1),
then remove (k-1) from Ni
Set ΔR(i,k)=R(i,k) - R(i,p-1), and ΔD(i,k)= D(i,p-1) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
Otherwise, set p=k
(4)Set p=kmax
(5)For k=kmax-1, kmax-2, ・・・, 2, 1
If k belongs to Ni, and S(i,k) < S(i,p),
then remove k from Ni
Otherwise, Set p=k
The configuration on the block of the image coding apparatus according to the second embodiment is the same as that of the first embodiment, as shown in FIGS. 1 and 2, but the processing function of the inclination calculating means 301 is different. Specifically, the second embodiment slope calculation means 301 calculates the slope while performing the monotonic decrease correction process in the following program steps.
(1) Set Ni = {n} (ie the set of all truncation point)
(2) Set p = 0
(3) For k = 1, 2, 3, ..., kmax
If k belongs to Ni
Set ΔR (i, k) = R (i, k) -R (i, k-1), and ΔD (i, k) = D (i, k-1) -D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ 0 and S (i, k)> S (i, k-1),
then remove (k-1) from Ni
Set ΔR (i, k) = R (i, k) -R (i, p-1), and ΔD (i, k) = D (i, p-1) -D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
Otherwise, set p = k
(4) Set p = kmax
(5) For k = kmax-1, kmax-2, ..., 2, 1
If k belongs to Ni, and S (i, k) <S (i, p),
then remove k from Ni
Otherwise, Set p = k
この処理をフローチャートで示すと図12のようになる。上記ステップ(1)〜(3)が、図12(a)単調減少補正A、ステップ(4)〜(5)が図12(b)単調減少補正Bとなる。この実施の形態2の特徴は、切捨てポイントの候補kに対して2つのスキャンを行っているものの、実施の形態1に比べフィードバックループ(go to step (3))がなくなっている点である。このようにフィードバックループがないことにより、制御の複雑さを緩和することができる。 This process is shown in a flowchart in FIG. Steps (1) to (3) are the monotone decrease correction A in FIG. 12 and steps (4) to (5) are the monotone decrease correction B in FIG. The feature of the second embodiment is that although two scans are performed on the candidate k of the cut-off point, the feedback loop (go to step (3)) is eliminated as compared with the first embodiment. Since there is no feedback loop in this way, control complexity can be reduced.
また、除算回数について、図13に示す具体的な例を用いて実施の形態1の場合と比較してみる。ある符号ブロックにおける補正前のRD曲線において、図13(a)のような最大除算回数のケースを考えてみた場合、実施の形態1の方式は図13(b)のように、また実施の形態2の方式も図13(c)のようになり、ともに7回となる。次に、例えば図13(d)のような補正前のRD曲線を考えてみる。実施の形態1の場合には図13(e)のように除算回数は6回となるのに対し、実施の形態2の場合には図13(f)のように5回の除算で済むことになる。この図13(f)は図12(a)の単調減少補正Aの処理結果であり、これでは完全に単調減少に補正できていないことがわかる。そこで、図12(b)の単調減少補正Bに示す再補正処理を行うと、図13(g)に示すように完全に単調減少化させることができる。この図13(g)では、1番目の傾きが4番目の傾きより小さくなっているため、1番目の傾きが無効とされることにより、4番目と5番目の傾きのみが有効となることを表しており、除算処理は1回も行われない。なお、図13(g)では2つの曲線が記載されており、上側が単調現象補正Bにより補正された結果を表している。これを見ると、歪が増加したように見えるが、単調減少補正処理は傾きのみが意味を持つものであり、曲線が上下することはここでは意味を持たない。ここでは、1番目の傾きが除去され、0を始点に曲線を再描画した結果であり、便宜的に表現したものである。
このように、除算回数は実施の形態1では6回であるのに対し、この実施の形態2では5回で済むことがわかる。実施の形態2では、傾き計算手段301が符号化パス毎の符号量対歪の傾きを計算する際に、ある符号化パスについて計算した傾きが直前のパスの傾きよりも大なるときはこれらのパスの替りに前後の切捨てポイントの候補を結ぶパスの傾きを計算し、さらに切捨てポイントの降順に単調増加となるように不適切な切捨てポイントを取り除くことにより、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行っている。
Further, the number of divisions will be compared with the case of
Thus, it can be seen that the number of divisions is six in the first embodiment, but only five in the second embodiment. In the second embodiment, when the
以上のように、この実施の形態2によれば、ある符号化パスについて計算した傾きが直前のパスの傾きよりも大なるときはこれらのパスの替りに前後の切捨てポイントの候補を結ぶパスの傾きを計算し、さらに切捨てポイントの降順に単調増加となるように不適切な切捨てポイントを取り除くことにより、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行うようにしたので、実施の形態1の場合よりもさらに除算回数を削減でき、高速な符号化処理を可能とする効果が得られる。 As described above, according to the second embodiment, when the slope calculated for a certain coding path is larger than the slope of the immediately preceding path, the path of the path connecting the preceding and following cut point candidates instead of these paths. By calculating the slope and removing the inappropriate truncation point so that it increases monotonically in descending order of the truncation point, the slope of the code amount versus distortion decreases monotonically from the upper bit to the lower bit. Since the processing is performed, the number of divisions can be further reduced as compared with the case of the first embodiment, and an effect of enabling high-speed encoding processing can be obtained.
実施の形態3.
この実施の形態3による画像符号化装置のブロック構成は実施の形態1と同様、図1および図2と同じであるが、傾き計算手段301の処理機能が異なる。この実施の形態3の傾き計算手段301は、具体的には以下のようなプログラムステップで単調減少補正処理を行いながら傾きを計算する。
(1)Set Ni={n} (i.e. the set of all truncation point)
(2)Set p=0
(3)For k=1, 2, 3,・・・,kmax
Set ΔR(i,k)=R(i,k) - R(i,p), and ΔD(i,k)= D(i,p) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠0 and S(i,k) > S(i,p),
then remove k from Ni
Otherwise, set p=k
The block configuration of the image coding apparatus according to the third embodiment is the same as that of the first embodiment, as shown in FIGS. 1 and 2, but the processing function of the inclination calculating means 301 is different. Specifically, the inclination calculation means 301 of the third embodiment calculates the inclination while performing monotonic decrease correction processing in the following program steps.
(1) Set Ni = {n} (ie the set of all truncation point)
(2) Set p = 0
(3) For k = 1, 2, 3, ..., kmax
Set ΔR (i, k) = R (i, k) -R (i, p), and ΔD (i, k) = D (i, p) -D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ 0 and S (i, k)> S (i, p),
then remove k from Ni
Otherwise, set p = k
この処理をフローチャートで示したものが図14である。まず当該符号化パスにおいて傾きS(k)を計算した後、直前に有効となった符号化パスの傾きS(p)と比較し、現在の傾きの方が小さければ有効な傾きとする。反対に現在の傾きが大きければ無効な傾きとする。この実施の形態3の場合、フィードバックループがなくなっており、切捨てポイントの候補kに対して1回のスキャンで済むことから、制御の複雑さを大幅に緩和することができる。また、除算回数についても、図14から常にkmax回であることがわかる。実施の形態1の最大回数(2kmax−1)回と比較すると50%近く除算回数を削減することが可能になる。 This process is shown in a flowchart in FIG. First, after calculating the slope S (k) in the coding pass, it is compared with the slope S (p) of the coding pass that has become valid immediately before. If the current slope is smaller, the slope is determined to be valid. On the other hand, if the current inclination is large, the inclination is invalid. In the case of the third embodiment, since there is no feedback loop and only one scan is required for the cut-off point candidate k, the complexity of control can be greatly reduced. Also, the number of divisions is always kmax from FIG. Compared to the maximum number of times (2kmax-1) in the first embodiment, the number of divisions can be reduced by nearly 50%.
次に図15に示す単調減少補正処理の具体的な例を用いて説明する。図15(a)に示すある符号ブロックにおける補正前のRD曲線に対して考える。図15(b)は傾きの計算順序を表しており、計算回数は4回であることがわかる。しかしながら、3番目の傾きが2番目の傾きよりも大きくなっているため、3番目の傾きは無効にしなければならない。そこで、図15(c)に示すように、この実施の形態3の処理で単調減少補正を施した結果、1,2,4番目の傾きが有効となる。
以上のように、この実施の形態3によれば、計算したある符号化パスの傾きが、直前に有効となった符号化パスの傾きより大きければ無効な傾きとし、一方小さければ有効な傾きとすることにより、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行うようにしたので、除算回数を実施の形態1の場合よりも大幅に削減することができ、高速な符号化処理を可能とする効果が得られる。
Next, a specific example of the monotonic decrease correction process shown in FIG. 15 will be described. Consider the RD curve before correction in a certain code block shown in FIG. FIG. 15B shows the calculation order of the slope, and it can be seen that the number of calculations is four. However, since the third slope is larger than the second slope, the third slope must be invalidated. Therefore, as shown in FIG. 15C, the first, second, and fourth inclinations become effective as a result of performing the monotonic decrease correction in the processing of the third embodiment.
As described above, according to the third embodiment, if the calculated slope of a certain coding pass is larger than the slope of the coding pass that has just been validated, an invalid slope is obtained. As a result, the correction processing is performed so that the slope of the code amount versus distortion monotonously decreases from the upper bit toward the lower bit, so that the number of divisions is significantly reduced compared to the case of the first embodiment. Therefore, the effect of enabling high-speed encoding processing can be obtained.
実施の形態4.
この実施の形態4による画像符号化装置のブロック構成は実施の形態1と同様、図1および図2と同じであるが、傾き計算手段301の処理機能が異なる。この実施の形態4の傾き計算手段301は、具体的には以下のようなプログラムステップで単調減少補正処理を行いながら傾きを計算する。
(1)Set Ni={n} (i.e. the set of all truncation point)
(2)Set p=kmax
(3)For k=kmax-1, kmax-2, ・・・, 1, 0
Set ΔR(i,k)=R(i,k) - R(i,p), and ΔD(i,k)= D(i,p) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠kmax and S(i,k) < S(i,p),
then remove k from Ni
Otherwise, set p=k
The block configuration of the image coding apparatus according to the fourth embodiment is the same as that of the first embodiment, as shown in FIGS. 1 and 2, but the processing function of the inclination calculating means 301 is different. Specifically, the inclination calculation means 301 of the fourth embodiment calculates the inclination while performing monotonic decrease correction processing in the following program steps.
(1) Set Ni = {n} (ie the set of all truncation point)
(2) Set p = kmax
(3) For k = kmax-1, kmax-2, ..., 1, 0
Set ΔR (i, k) = R (i, k) -R (i, p), and ΔD (i, k) = D (i, p) -D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ kmax and S (i, k) <S (i, p),
then remove k from Ni
Otherwise, set p = k
この処理をフローチャートで示したものが図16である。この実施の形態4の単調減少補正処理は実施の形態3の処理方法と類似しているが、実施の形態3では切捨てポイントの候補kの昇順に単調減少補正を行っているのに対し、この実施の形態4では切捨てポイントの候補kの降順に処理することにより、結果的に上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行う点が異なる。したがって、除算回数も常にkmax回となる。 FIG. 16 is a flowchart showing this process. The monotonic decrease correction process of the fourth embodiment is similar to the processing method of the third embodiment. In the third embodiment, the monotonic decrease correction is performed in the ascending order of the candidate k of the cut point. The fourth embodiment differs in that correction processing is performed so that the slope of the code amount versus distortion monotonously decreases as a result of processing in descending order of the candidate k of the truncation points from the higher bits to the lower bits. . Accordingly, the number of divisions is always kmax.
次に、この実施の形態4で降順に処理している理由について述べる。
図17(a)に示すある符号ブロックにおける補正前のRD曲線に対して考える。図17(b)は上記実施の形態3の方式で補正処理した例を表している。昇順に処理していくと1番目の傾きより小さい傾きが存在しないため1番目のみの傾きが有効となる。レート制御において、図17(a)に記載したように、1番目の傾きよりもやや大きい変数λが導出された場合、この符号ブロックに関しては、全ての符号化パスのデータが切り捨てられてしまう。その結果、画質劣化が生じやすくなる。これに対して、この実施の形態4で補正した場合、図17(c)に示すように切捨てポイントの候補kの降順に処理していくと、1番目の傾きのみが無効となることがわかる。ここで図17(b)で仮定したように、レート制御において1番目の傾きよりもやや大きい傾きのλが導出された場合には、全ての符号化パスが最終的な符号化データに含まれることになるため、画質劣化を招かないことがわかる。
Next, the reason why processing is performed in descending order in the fourth embodiment will be described.
Consider the RD curve before correction in a certain code block shown in FIG. FIG. 17B shows an example in which correction processing is performed by the method of the third embodiment. When processing in ascending order, there is no slope smaller than the first slope, so only the first slope is effective. In the rate control, as described in FIG. 17A, when a variable λ that is slightly larger than the first gradient is derived, all the coding pass data for this code block is discarded. As a result, image quality deterioration is likely to occur. On the other hand, when the correction is performed in the fourth embodiment, it is understood that only the first slope becomes invalid when processing is performed in descending order of the candidate k of the cut point as shown in FIG. . Here, as assumed in FIG. 17B, when λ having a slope slightly larger than the first slope is derived in the rate control, all coding passes are included in the final coded data. Therefore, it can be seen that the image quality is not deteriorated.
以上のように、この実施の形態4によれば、切捨てポイントの候補kの降順に従って処理することにより、結果として上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正を行うので、実施の形態3と同様に制御が簡易になると同時に、除算回数を大幅に削減でき、高速な符号化処理を可能とする効果が得られる。また、加えて、実施の形態3に比べ画質劣化を抑制できる効果が得られる。 As described above, according to the fourth embodiment, processing is performed according to the descending order of the cut-off point candidates k, and as a result, the slope of the code amount versus distortion decreases monotonously from the upper bit toward the lower bit. Thus, the control is simplified as in the third embodiment, and at the same time, the number of divisions can be greatly reduced, and the effect of enabling high-speed encoding processing can be obtained. In addition, an effect that image quality deterioration can be suppressed as compared with the third embodiment can be obtained.
実施の形態5.
これまで述べた実施の形態1から実施の形態4においては切捨てポイントの候補kは全ての符号化パスが対象となっていたが、この実施の形態5では、切捨てポイントの候補をビットプレーンとするものである。これまでの実施の形態では符号化パス毎にその累積歪、符号量を計算していたが、この実施の形態5では、これらの計算をビットプレーン毎に行うことになる。すなわち、歪計算手段201は、ビットプレーン毎に歪データを計算し、符号量計算手段202は、ビットプレーン毎に符号量データを計算する。また、傾き計算手段301は、ビットプレーンの符号量と歪に基づいて符号量対歪の傾きを計算し、レート歪メモリ203は、ビットプレーン毎に歪データ、符号量データおよびその傾きを格納する。
ここで、ビットプレーン数をB、符号化パス数をCPとした時、CP=kmax=1+3(B−1)となる。このことにより、パス毎に計算する方式に比べ除算回数を1/3近くに減らすことができる。そのため、レート歪メモリ203の容量も、ビットプレーン単位に歪や符号量などの情報を記憶することになるので、約1/3にすることができる。
In the first to fourth embodiments described so far, the truncation point candidate k is for all coding passes. In this fifth embodiment, the truncation point candidate is a bit plane. Is. In the embodiments so far, the accumulated distortion and the code amount are calculated for each coding pass. In
Here, when the number of bit planes is B and the number of coding passes is CP, CP = kmax = 1 + 3 (B−1). As a result, the number of divisions can be reduced to nearly 1/3 compared to the method of calculating for each path. Therefore, the capacity of the
以上のように、この実施の形態5によれば、実施の形態1から実施の形態4において、切捨てポイントの候補を符号化パスの替りにビットプレーンとしたので、パス毎に計算する方式に比べ除算回数を大幅に減らすことができ、高速な符号化処理を可能とする効果が得られる。また、レート歪メモリのメモリ規模を削減できる効果も得られる。 As described above, according to the fifth embodiment, in the first to fourth embodiments, the truncation point candidate is a bit plane instead of the coding pass. The number of divisions can be greatly reduced, and the effect of enabling high-speed encoding processing can be obtained. In addition, an effect of reducing the memory scale of the rate distortion memory can be obtained.
実施の形態6.
上記実施の形態5の方法によれば、大幅な高速化、メモリ規模削減が可能になるというものの、3通りの符号化パスのデータを1つにまとめるので、制御できる刻みが大きくなり、符号量制御精度が落ちるという懸念がある。それに伴って、若干の画質劣化を招く場合が考えられる。そこで、この実施の形態6では、制御精度の悪化を招かないような切捨てポイントの候補kを選ぶことを特徴としている。
According to the method of the fifth embodiment, the speed can be significantly increased and the memory scale can be reduced. However, since the data of the three encoding passes are combined into one, the controllable increment is increased, and the code amount is increased. There is concern that the control accuracy will drop. Along with this, there may be a case where the image quality is slightly deteriorated. Therefore, the sixth embodiment is characterized in that a cut-off point candidate k is selected so as not to deteriorate the control accuracy.
図18は実施の形態6に係るレート制御情報抽出手段106の機能構成を示すブロック図である。これは図2のレート制御情報抽出手段106の構成に対して、切捨てポイント設定手段1901を新たに追加したものである。この切り捨てポイント設定手段1901では、切捨てポイントの候補の集合を複数種類用意しておき、その中から現在の符号化に最適な切捨てポイントの候補の集合を選択する。したがって、歪計算手段201では、選択された切捨てポイントの候補に従って歪を計算する。同様に、符号量計算手段202でも切捨てポイント設定手段1901から選択された切捨てポイントの候補に従って符号量を計算することになる。
FIG. 18 is a block diagram showing a functional configuration of the rate control information extracting means 106 according to the sixth embodiment. In this configuration, a cut-off
次に具体的に図19を用いて、切捨てポイントの候補について、他の実施の形態の場合と比較して説明する。
図において、数字はビットプレーン番号、それに続くSはSignificant Propagation Decoding Pass、MはMagnitude Refinement Pass、CはCleanup Passを表す。また、横矢印は切捨てポイントの候補である。図19(a)は切り捨てポイントの候補を符号化パスに設定した場合で、実施の形態1から実施の形態4がこれに相当する。図19(b)は切捨てポイントの候補をビットプレーンにした場合で、実施の形態5がこれに相当する。図19(c)は、この実施の形態6における一例を示したもので、下位ビットでは細かく、上位ビットでは粗く切捨てポイントの候補を設定している。また、図19(d)はこの実施の形態6における別の例を示すもので、下位ビットでは粗く、上位ビットでは細かく切捨てポイントの候補を設定している。
Next, with reference to FIG. 19, candidates for cut-off points will be described in comparison with the other embodiments.
In the figure, the numeral indicates a bit plane number, the subsequent S indicates a Significant Propagation Decoding Pass, M indicates a Magnitude Refinement Pass, and C indicates a Cleanup Pass. In addition, the horizontal arrow is a candidate for a cut-off point. FIG. 19A shows a case where truncation point candidates are set in the coding pass, and the first to fourth embodiments correspond to this. FIG. 19B shows a case where a cut-off point candidate is a bit plane, and the fifth embodiment corresponds to this. FIG. 19C shows an example of the sixth embodiment, in which candidates for the cut-off point are set finely in the lower bits and coarsely in the upper bits. FIG. 19 (d) shows another example in the sixth embodiment, in which candidates for truncation points are set coarsely in the lower bits and finely in the upper bits.
例えばユーザが符号化レートを高く設定した場合、換言すれば圧縮率を低く設定した場合には、通常切捨てポイントは下位ビット側になるので、このような場合には下位ビットの刻みが細かい図19(c)のような切捨てポイントの候補を設定する。反対に、符号化レートを低く設定した場合、換言すれば圧縮率を高く設定した場合には、通常切捨てポイントは上位ビット側になるので、このような場合には上位ビットの刻みが細かい図19(d)のような切捨てポイントの候補を設定しておく。このように、切り替えポイントの候補の集合を複数用意しておき、符号化レートに応じて最適なものに切り替えることにより、本来の切捨てポイントの周辺に対して切捨てポイントの刻みを細かくとることができるようになる。そのため、制御精度の劣化を防止することができ、画質劣化も抑制できる効果が得られる。また、上記の説明では、符号化レートに応じて、切捨てポイントの候補の集合を切り替えるようにしているが、これに加えて、分解レベル、サブバンド、色成分等に応じた切り替えを行うことで、さらに制御精度の劣化を抑制でき、画質劣化も抑制することができるようになる。 For example, when the user sets the encoding rate high, in other words, when the compression rate is set low, the normal truncation point is on the lower bit side. In such a case, the step of the lower bit is fine. A candidate for a cut-off point as shown in (c) is set. On the other hand, when the encoding rate is set low, in other words, when the compression rate is set high, the normal truncation point is on the upper bit side. A candidate for a cut-off point as shown in (d) is set. In this way, by preparing a plurality of candidates for switching points and switching to an optimum one according to the encoding rate, it is possible to finely cut off the truncation points around the original truncation points. It becomes like this. Therefore, it is possible to prevent the control accuracy from being deteriorated and to suppress the image quality deterioration. In the above description, the set of truncation point candidates is switched according to the encoding rate. In addition to this, switching according to the separation level, subband, color component, and the like is performed. Furthermore, it is possible to suppress deterioration of control accuracy and to suppress deterioration of image quality.
なお、この実施の形態6は、実施の形態5と同様に、実施の形態1から実施の形態4の場合と比較して、切捨てポイントの候補数を減らすことができるため、除算回数を減らすことができ、処理の高速化を図る効果があることは言うまでもない。また、実施の形態5と同様にレート歪メモリ203に記憶する歪データや符号量データの計算も少なくすることができるため、メモリ規模を削減できる効果も得られる。
また実施の形態1から4に示す方法と組み合わせることにより、さらに除算回数を減らすことができ、高速化を図る効果があることは言うまでもない。
In the sixth embodiment, as in the fifth embodiment, the number of cut-off point candidates can be reduced as compared with the first to fourth embodiments, so that the number of divisions can be reduced. Needless to say, there is an effect of speeding up the processing. In addition, since the calculation of distortion data and code amount data stored in the
Needless to say, by combining with the methods shown in the first to fourth embodiments, the number of divisions can be further reduced and the speed can be increased.
101 ウェーブレット変換手段、102 量子化手段、103 係数モデリング手段、104 エントロピー符号化手段、105 符号メモリ、106 レート制御情報抽出手段、107 レート制御手段、201 歪計算手段、202 符号量計算手段、203 レート歪メモリ、301 傾き計算手段、302 切捨てポイント導出手段、303 符号抽出手段、1901 切り捨てポイント設定手段。
DESCRIPTION OF
Claims (30)
符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、計算したある符号化パスの傾きが直前に有効となった符号化パスの傾きより大きければ無効な傾きとし、一方小さければ有効な傾きとすることにより、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行うことを特徴とする画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass, and the code amount for each code block Using the distortion and the slope of the code amount versus distortion, the truncation point that minimizes the distortion within the target code amount is derived, and from the truncation point derived in each code block An image encoding device for creating a code data having the minimum distortion from the code data within the target code amount of position encoding pass,
If the slope calculation means used to calculate the slope of the code amount versus distortion for each coding pass is greater than the slope of the coding path that was just valid, the slope is invalid. On the other hand, an image coding apparatus characterized in that correction processing is performed so that the slope of the code amount versus distortion monotonously decreases from the upper bit toward the lower bit by setting the effective slope as small as possible.
符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、当該符号量対歪の傾きに対して切捨てポイントの候補の降順に処理することにより、結果的に上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行うことを特徴とする画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass, and the code amount for each code block Using the distortion and the slope of the code amount versus distortion, the truncation point that minimizes the distortion within the target code amount is derived, and from the truncation point derived in each code block An image encoding device for creating a code data having the minimum distortion from the code data within the target code amount of position encoding pass,
The slope calculation means used for calculating the slope of the code amount versus distortion for each coding pass processes the descending order of the candidates for the cutoff point with respect to the slope of the code amount versus distortion, and as a result, from the upper bits. An image encoding apparatus that performs correction processing so that the slope of the code amount versus distortion monotonously decreases toward lower bits.
符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、同一符号化パスに対して前に1度行った傾き計算については以降の同じ計算から除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
前記切捨てポイントの候補を、符号化パスの代わりにビットプレーンとしたことを特徴とする画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass, and the code amount for each code block Using the distortion and the slope of the code amount versus distortion, the truncation point that minimizes the distortion within the target code amount is derived, and from the truncation point derived in each code block An image encoding device for creating a code data having the minimum distortion from the code data within the target code amount of position encoding pass,
The slope calculation means used to calculate the slope of the code amount versus distortion for each coding pass excludes the slope calculation performed once for the same coding pass from the same calculation thereafter, from the upper bit to the lower order. Perform correction processing so that the slope of the code amount versus distortion monotonously decreases toward the bit,
Wherein the candidate truncation point, picture coding apparatus you characterized in that the bit planes instead of coding passes.
符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、ある符号化パスについて計算した傾きが直前のパスの傾きよりも大なるときはこれらのパスの代わりに前後の切捨てポイントの候補を結ぶパスの傾きを計算し、かつ切捨てポイントの降順に単調増加となるように不適切な切捨てポイントを取り除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
前記切捨てポイントの候補を、符号化パスの代わりにビットプレーンとしたことを特徴とする画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass, and the code amount for each code block Using the distortion and the slope of the code amount versus distortion, the truncation point that minimizes the distortion within the target code amount is derived, and from the truncation point derived in each code block An image encoding device for creating a code data having the minimum distortion from the code data within the target code amount of position encoding pass,
When the slope calculation means used to calculate the slope of the code amount versus distortion for each coding pass is larger than the slope of the previous pass when the slope calculated for a certain coding pass is larger than the slope of the previous pass, Calculate the slope of the path connecting the candidates for the truncation point, remove the inappropriate truncation point so that it increases monotonically in descending order of the truncation point, and monotonically the slope of the code amount versus distortion from the upper bit to the lower bit We perform correction processing to become decrease,
Wherein the candidate truncation point, picture coding apparatus you characterized in that the bit planes instead of coding passes.
符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、同一符号化パスに対して前に1度行った傾き計算については以降の同じ計算から除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
前記切り捨てポイントの候補の集合を予め複数設定し、符号化レートによって当該集合を切り替える切捨てポイント設定手段を備え、
分割された符号化パスに対する代わりに、前記切捨てポイント設定手段で設定された切り捨てポイントの候補に対して歪と符号量を算出し、得られた符号量と歪に基づいて符号量対歪の傾きを計算し、その際上位ビットから下位ビットに向かってその傾きが単調減少になるように補正することを特徴とする画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass, and the code amount for each code block Using the distortion and the slope of the code amount versus distortion, the truncation point that minimizes the distortion within the target code amount is derived, and from the truncation point derived in each code block An image encoding device for creating a code data having the minimum distortion from the code data within the target code amount of position encoding pass,
The slope calculation means used to calculate the slope of the code amount versus distortion for each coding pass excludes the slope calculation performed once for the same coding pass from the same calculation thereafter, from the upper bit to the lower order. Perform correction processing so that the slope of the code amount versus distortion monotonously decreases toward the bit,
A plurality of sets of candidates for the truncation point are set in advance, and includes a truncation point setting means for switching the set according to the encoding rate,
Instead of the divided coding pass, the distortion and code amount are calculated for the cut point candidates set by the cut point setting means, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion. the calculated, picture coding apparatus you characterized in that the time toward the upper bits to the lower bits corrected so that the slope is monotonically decreasing.
符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、ある符号化パスについて計算した傾きが直前のパスの傾きよりも大なるときはこれらのパスの代わりに前後の切捨てポイントの候補を結ぶパスの傾きを計算し、かつ切捨てポイントの降順に単調増加となるように不適切な切捨てポイントを取り除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
前記切り捨てポイントの候補の集合を予め複数設定し、符号化レートによって当該集合を切り替える切捨てポイント設定手段を備え、
分割された符号化パスに対する代わりに、前記切捨てポイント設定手段で設定された切り捨てポイントの候補に対して歪と符号量を算出し、得られた符号量と歪に基づいて符号量対歪の傾きを計算し、その際上位ビットから下位ビットに向かってその傾きが単調減少になるように補正することを特徴とする画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass, and the code amount for each code block Using the distortion and the slope of the code amount versus distortion, the truncation point that minimizes the distortion within the target code amount is derived, and from the truncation point derived in each code block An image encoding device for creating a code data having the minimum distortion from the code data within the target code amount of position encoding pass,
When the slope calculation means used to calculate the slope of the code amount versus distortion for each coding pass is larger than the slope of the previous pass when the slope calculated for a certain coding pass is larger than the slope of the previous pass, Calculate the slope of the path connecting the candidates for the truncation point, remove the inappropriate truncation point so that it increases monotonically in descending order of the truncation point, and monotonically the slope of the code amount versus distortion from the upper bit to the lower bit We perform correction processing to become decrease,
A plurality of sets of candidates for the truncation point are set in advance, and includes a truncation point setting means for switching the set according to the encoding rate,
Instead of the divided coding pass, the distortion and code amount are calculated for the cut point candidates set by the cut point setting means, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion. the calculated, picture coding apparatus you characterized in that the time toward the upper bits to the lower bits corrected so that the slope is monotonically decreasing.
分割された符号化パスに対する代わりに、前記切捨てポイント設定手段で設定された切り捨てポイントの候補に対して歪と符号量を算出し、得られた符号量と歪に基づいて符号量対歪の傾きを計算し、その際上位ビットから下位ビットに向かってその傾きが単調減少になるように補正することを特徴とする請求項1又は請求項2記載の画像符号化装置。 A plurality of candidate sets of truncation points are set in advance, and includes a truncation point setting means for switching the set according to the encoding rate,
Instead of the divided coding pass, the distortion and code amount are calculated for the cut point candidates set by the cut point setting means, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion. The image encoding apparatus according to claim 1 or 2 , wherein the correction is performed so that the slope monotonously decreases from the upper bit toward the lower bit.
符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、同一符号化パスに対して前に1度行った傾き計算については以降の同じ計算から除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
前記切り捨てポイントの候補の集合を予め複数設定し、符号化レートによって当該集合を切り替える切捨てポイント設定手段を備え、
分割された符号化パスに対する代わりに、前記切捨てポイント設定手段で設定された切り捨てポイントの候補に対して歪と符号量を算出し、得られた符号量と歪に基づいて符号量対歪の傾きを計算し、その際上位ビットから下位ビットに向かってその傾きが単調減少になるように補正することを特徴とする画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass. The correction processing is performed so that the slope of the code amount versus distortion decreases monotonically toward the target, and the code amount, distortion, and the slope of the code amount versus distortion are used for each code block. Deriving a truncation point where distortion becomes minimum in the issue amount, to create a code data having the minimum distortion in the target code amount from the code data of each code upper than truncated point derived in block coding pass In an image encoding device,
The slope calculation means used to calculate the slope of the code amount versus distortion for each coding pass excludes the slope calculation performed once for the same coding pass from the same calculation thereafter, from the upper bit to the lower order. Perform correction processing so that the slope of the code amount versus distortion monotonously decreases toward the bit,
A plurality of sets of candidates for the truncation point are set in advance, and includes a truncation point setting means for switching the set according to the encoding rate,
Instead of the divided coding pass, the distortion and code amount are calculated for the cut point candidates set by the cut point setting means, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion. the calculated, picture coding apparatus you characterized in that the time toward the upper bits to the lower bits corrected so that the slope is monotonically decreasing.
符号化パス毎の符号量対歪の傾きを計算するのに用いる傾き計算手段が、ある符号化パスについて計算した傾きが直前のパスの傾きよりも大なるときはこれらのパスの代わりに前後の切捨てポイントの候補を結ぶパスの傾きを計算し、かつ切捨てポイントの降順に単調増加となるように不適切な切捨てポイントを取り除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
前記切り捨てポイントの候補の集合を予め複数設定し、符号化レートによって当該集合を切り替える切捨てポイント設定手段を備え、
分割された符号化パスに対する代わりに、前記切捨てポイント設定手段で設定された切り捨てポイントの候補に対して歪と符号量を算出し、得られた符号量と歪に基づいて符号量対歪の傾きを計算し、その際上位ビットから下位ビットに向かってその傾きが単調減少になるように補正することを特徴とする画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass. The correction processing is performed so that the slope of the code amount versus distortion decreases monotonically toward the target, and the code amount, distortion, and the slope of the code amount versus distortion are used for each code block. Deriving a truncation point where distortion becomes minimum in the issue amount, to create a code data having the minimum distortion in the target code amount from the code data of each code upper than truncated point derived in block coding pass In an image encoding device,
When the slope calculation means used to calculate the slope of the code amount versus distortion for each coding pass is larger than the slope of the previous pass when the slope calculated for a certain coding pass is larger than the slope of the previous pass, Calculate the slope of the path connecting the candidates for the truncation point, remove the inappropriate truncation point so that it increases monotonically in descending order of the truncation point, and monotonically the slope of the code amount versus distortion from the upper bit to the lower bit We perform correction processing to become decrease,
A plurality of sets of candidates for the truncation point are set in advance, and includes a truncation point setting means for switching the set according to the encoding rate,
Instead of the divided coding pass, the distortion and code amount are calculated for the cut point candidates set by the cut point setting means, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion. the calculated, picture coding apparatus you characterized in that the time toward the upper bits to the lower bits corrected so that the slope is monotonically decreasing.
切り捨てポイントの候補の集合を予め複数設定し、符号化レートによって当該集合を切り替える切捨てポイント設定手段を備え、
分割された符号化パスに対する代わりに、前記切捨てポイント設定手段で設定された切り捨てポイントの候補に対して歪と符号量を算出し、得られた符号量と歪に基づいて符号量対歪の傾きを計算し、その際上位ビットから下位ビットに向かってその傾きが単調減少になるように補正することを特徴とする請求項1又は請求項2記載の画像符号化装置。 Two-dimensional wavelet transform is performed on the input image signal to generate a wavelet transform coefficient for each subband. The wavelet transform coefficient is quantized with a quantization step size set for each subband, and each quantized subband is quantized. The wavelet transform coefficients are divided into code blocks, the multi-value data of each code block is decomposed into binary bit planes, then divided into coding passes, and entropy coding is performed for each divided coding pass. The distortion and code amount are calculated for each divided coding pass, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion for each coding pass. The correction processing is performed so that the slope of the code amount versus distortion decreases monotonically toward the target, and the code amount, distortion, and the slope of the code amount versus distortion are used for each code block. Deriving a truncation point where distortion becomes minimum in the issue amount, to create a code data having the minimum distortion in the target code amount from the code data of each code upper than truncated point derived in block coding pass In an image encoding device,
A plurality of candidate sets of truncation points are set in advance, and includes a truncation point setting means for switching the set according to the encoding rate,
Instead of the divided coding pass, the distortion and code amount are calculated for the cut point candidates set by the cut point setting means, and the slope of the code amount versus distortion is calculated based on the obtained code amount and distortion. The image encoding apparatus according to claim 1 or 2 , wherein the correction is performed so that the slope monotonously decreases from the upper bit toward the lower bit.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、分割された符号化パス毎に歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、同一符号化パスに対して前に1度行った傾き計算については以降の同じ計算から除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成し、
前記傾き計算の際の補正処理は、以下の処理手順により行われることを特徴とする画像符号化方法。
(1)Set Ni={n} (i.e. the set of all truncation point)
(2)Set p=0, m=1
(3)For k=m, m+1, m+2, m+3,・・・,kmax
If k belongs to Ni
Set ΔR(i,k)=R(i,k) - R(i,p), and ΔD(i,k)= D(i,p) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠0 and S(i,k) > S(i,p),
then remove p from Ni, and set p=p-1, m=k, go to step (3)
Otherwise, set p=k
ここで、Niは符号ブロックiの符号化パスの集合、kは切捨てポイントの候補、pはkの直前のパス、Rは符号量、Dは歪、Sは傾きとする。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass, distortion and code amount are calculated for each divided coding pass,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
In this slope calculation, the slope calculation performed once for the same coding pass is excluded from the same calculation thereafter, and the slope of the code amount versus distortion decreases monotonously from the upper bit to the lower bit. The correction process is performed so that
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
Creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a truncation point derived in each code block;
Wherein the correction process at the time of slope calculations, images coding method you characterized by being performed by the following procedure.
(1) Set Ni = {n} (ie the set of all truncation point)
(2) Set p = 0, m = 1
(3) For k = m, m + 1, m + 2, m + 3, ..., kmax
If k belongs to Ni
Set ΔR (i, k) = R (i, k)-R (i, p), and ΔD (i, k) = D (i, p)-D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ 0 and S (i, k)> S (i, p),
then remove p from Ni, and set p = p-1, m = k, go to step (3)
Otherwise, set p = k
Here, Ni is a set of coding passes of the code block i, k is a candidate for a truncation point, p is a pass immediately before k, R is a code amount, D is distortion, and S is a slope.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、
分割された符号化パス毎に歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、ある符号化パスについて計算した傾きが直前のパスの傾きよりも大なるときはこれらのパスの代わりに前後の切捨てポイントの候補を結ぶパスの傾きを計算し、かつ切捨てポイントの降順に単調増加となるように不適切な切捨てポイントを取り除いて上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成し、
前記傾き計算の際の補正処理は、以下の処理手順により行われることを特徴とする画像符号化方法。
(1)Set Ni={n} (i.e. the set of all truncation point)
(2)Set p=0
(3)For k=1, 2, 3,・・・,kmax
If k belongs to Ni
Set ΔR(i,k)=R(i,k) - R(i,k-1), and ΔD(i,k)= D(i,k-1) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠0 and S(i,k) > S(i,k-1),
then remove (k-1) from Ni
Set ΔR(i,k)=R(i,k) - R(i,p-1), and ΔD(i,k)= D(i,p-1) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
Otherwise, set p=k
(4)Set p=kmax
(5)For k=kmax-1, kmax-2, ・・・, 2, 1
If k belongs to Ni, and S(i,k) < S(i,p),
then remove k from Ni
Otherwise, Set p=k
ここで、Niは符号ブロックiの符号化パスの集合、kは切捨てポイントの候補、pはkの直前のパス、Rは符号量、Dは歪、Sは傾きとする。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass,
Calculate distortion and code amount for each divided coding pass,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
If the slope calculated for a certain coding path is larger than the slope of the previous path during this slope calculation, the slope of the path connecting the candidates for the previous and next cut points is calculated instead of these paths, and the truncation is performed. Remove the inappropriate truncation point so that it increases monotonically in descending order of points, and perform correction processing so that the slope of the code amount versus distortion monotonously decreases from the upper bit to the lower bit,
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
Creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a truncation point derived in each code block;
Wherein the correction process at the time of slope calculations, images coding method you characterized by being performed by the following procedure.
(1) Set Ni = {n} (ie the set of all truncation point)
(2) Set p = 0
(3) For k = 1, 2, 3, ..., kmax
If k belongs to Ni
Set ΔR (i, k) = R (i, k)-R (i, k-1), and ΔD (i, k) = D (i, k-1)-D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ 0 and S (i, k)> S (i, k-1),
then remove (k-1) from Ni
Set ΔR (i, k) = R (i, k)-R (i, p-1), and ΔD (i, k) = D (i, p-1)-D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
Otherwise, set p = k
(4) Set p = kmax
(5) For k = kmax-1, kmax-2, ..., 2, 1
If k belongs to Ni, and S (i, k) <S (i, p),
then remove k from Ni
Otherwise, Set p = k
Here, Ni is a set of coding passes of the code block i, k is a candidate for a truncation point, p is a pass immediately before k, R is a code amount, D is distortion, and S is a slope.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、分割された符号化パス毎に歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、ある符号化パスの傾きが直前に有効となった符号化パスの傾きより大きければ無効な傾きとし、一方小さければ有効な傾きとすることにより、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成する画像符号化方法。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass, distortion and code amount are calculated for each divided coding pass,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
When calculating the slope, if the slope of a certain coding pass is larger than the slope of the coding pass that was valid immediately before, the slope is invalid. The correction processing is performed so that the slope of the code amount versus distortion decreases monotonously,
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
An image coding method for creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a cut-off point derived in each code block.
(1)Set Ni={n} (i.e. the set of all truncation point)
(2)Set p=0
(3)For k=1, 2, 3,・・・,kmax
Set ΔR(i,k)=R(i,k) - R(i,p), and ΔD(i,k)= D(i,p) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠0 and S(i,k) > S(i,p),
then remove k from Ni
Otherwise, set p=k
ここで、Niは符号ブロックiの符号化パスの集合、kは切捨てポイントの候補、pはkの直前のパス、Rは符号量、Dは歪、Sは傾きとする。 The image encoding method according to claim 17 , wherein the correction process in calculating the inclination is performed according to the following processing procedure.
(1) Set Ni = {n} (ie the set of all truncation point)
(2) Set p = 0
(3) For k = 1, 2, 3, ..., kmax
Set ΔR (i, k) = R (i, k)-R (i, p), and ΔD (i, k) = D (i, p)-D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ 0 and S (i, k)> S (i, p),
then remove k from Ni
Otherwise, set p = k
Here, Ni is a set of coding passes of the code block i, k is a candidate for a truncation point, p is a pass immediately before k, R is a code amount, D is distortion, and S is a slope.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、
分割された符号化パス毎に歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、当該符号量対歪の傾きに対して降順に処理することにより、結果的に上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成する画像符号化方法。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass,
Calculate distortion and code amount for each divided coding pass,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
When calculating the slope, processing is performed in descending order with respect to the slope of the code amount versus distortion, and as a result, the slope of the code quantity versus distortion is monotonously decreased from the upper bit toward the lower bit. Process,
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
An image coding method for creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a cut-off point derived in each code block.
(1)Set Ni={n} (i.e. the set of all truncation point)
(2)Set p=kmax
(3)For k=kmax-1, kmax-2, ・・・, 1, 0
Set ΔR(i,k)=R(i,k) - R(i,p), and ΔD(i,k)= D(i,p) - D(i,k)
Set S(i,k)=ΔD(i,k)/ΔR(i,k)
If p≠kmax and S(i,k) < S(i,p),
then remove k from Ni
Otherwise, set p=k
ここで、Niは符号ブロックiの符号化パスの集合、kは切捨てポイントの候補、pはkの直前のパス、Rは符号量、Dは歪、Sは傾きとする。 The image encoding method according to claim 17 , wherein the correction process in calculating the inclination is performed according to the following processing procedure.
(1) Set Ni = {n} (ie the set of all truncation point)
(2) Set p = kmax
(3) For k = kmax-1, kmax-2, ..., 1, 0
Set ΔR (i, k) = R (i, k)-R (i, p), and ΔD (i, k) = D (i, p)-D (i, k)
Set S (i, k) = ΔD (i, k) / ΔR (i, k)
If p ≠ kmax and S (i, k) <S (i, p),
then remove k from Ni
Otherwise, set p = k
Here, Ni is a set of coding passes of the code block i, k is a candidate for a truncation point, p is a pass immediately before k, R is a code amount, D is distortion, and S is a slope.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、分割された符号化パス毎に歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、同一符号化パスに対して前に1度行った傾き計算については以降の同じ計算から除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成し、
前記切捨てポイントの候補を、符号化パスの代わりにビットプレーンとしたことを特徴とする画像符号化装置。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass, distortion and code amount are calculated for each divided coding pass,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
In this slope calculation, the slope calculation performed once for the same coding pass is excluded from the same calculation thereafter, and the slope of the code amount versus distortion decreases monotonously from the upper bit to the lower bit. The correction process is performed so that
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
Creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a truncation point derived in each code block;
Wherein the candidate truncation point, picture coding apparatus you characterized in that the bit planes instead of coding passes.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、
分割された符号化パス毎に歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、ある符号化パスについて計算した傾きが直前のパスの傾きよりも大なるときはこれらのパスの代わりに前後の切捨てポイントの候補を結ぶパスの傾きを計算し、かつ切捨てポイントの降順に単調増加となるように不適切な切捨てポイントを取り除いて上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成し、
前記切捨てポイントの候補を、符号化パスの代わりにビットプレーンとしたことを特徴とする画像符号化装置。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass,
Calculate distortion and code amount for each divided coding pass,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
If the slope calculated for a certain coding path is larger than the slope of the previous path during this slope calculation, the slope of the path connecting the candidates for the previous and next cut points is calculated instead of these paths, and the truncation is performed. Remove the inappropriate truncation point so that it increases monotonically in descending order of points, and perform correction processing so that the slope of the code amount versus distortion monotonously decreases from the upper bit to the lower bit,
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
Creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a truncation point derived in each code block;
Wherein the candidate truncation point, picture coding apparatus you characterized in that the bit planes instead of coding passes.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、分割された符号化パス毎に歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、同一符号化パスに対して前に1度行った傾き計算については以降の同じ計算から除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成し、
前記切り捨てポイントの候補の集合を予め複数設定しておいて符号化レートによって当該集合を切り替えるようにし、分割された符号化パスに対する代わりに、前記設定された切り捨てポイントの候補に対して歪と符号量を算出し、得られた符号量と歪に基づいて符号量対歪の傾きを計算し、その際上位ビットから下位ビットに向かってその傾きが単調減少になるように補正することを特徴とする画像符号化方法。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass, distortion and code amount are calculated for each divided coding pass,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
In this slope calculation, the slope calculation performed once for the same coding pass is excluded from the same calculation thereafter, and the slope of the code amount versus distortion decreases monotonously from the upper bit to the lower bit. The correction process is performed so that
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
Creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a truncation point derived in each code block;
A plurality of sets of candidates for the truncation point are set in advance, and the sets are switched according to the coding rate. Instead of the divided coding pass, distortion and code are set for the set candidates for the truncation point. The amount of code is calculated, the slope of code amount versus distortion is calculated based on the obtained code amount and distortion, and at that time, the slope is corrected so as to monotonously decrease from the upper bit toward the lower bit. images coding method you.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、
分割された符号化パス毎に歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、ある符号化パスについて計算した傾きが直前のパスの傾きよりも大なるときはこれらのパスの代わりに前後の切捨てポイントの候補を結ぶパスの傾きを計算し、かつ切捨てポイントの降順に単調増加となるように不適切な切捨てポイントを取り除いて上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成し、
前記切り捨てポイントの候補の集合を予め複数設定しておいて符号化レートによって当該集合を切り替えるようにし、分割された符号化パスに対する代わりに、前記設定された切り捨てポイントの候補に対して歪と符号量を算出し、得られた符号量と歪に基づいて符号量対歪の傾きを計算し、その際上位ビットから下位ビットに向かってその傾きが単調減少になるように補正することを特徴とする画像符号化方法。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass,
Calculate distortion and code amount for each divided coding pass,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
If the slope calculated for a certain coding path is larger than the slope of the previous path during this slope calculation, the slope of the path connecting the candidates for the previous and next cut points is calculated instead of these paths, and the truncation is performed. Remove the inappropriate truncation point so that it increases monotonically in descending order of points, and perform correction processing so that the slope of the code amount versus distortion monotonously decreases from the upper bit to the lower bit,
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
Creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a truncation point derived in each code block;
A plurality of sets of candidates for the truncation point are set in advance, and the sets are switched according to the coding rate. Instead of the divided coding pass, distortion and code are set for the set candidates for the truncation point. The amount of code is calculated, the slope of code amount versus distortion is calculated based on the obtained code amount and distortion, and at that time, the slope is corrected so as to monotonously decrease from the upper bit toward the lower bit. images coding method you.
このウェーブレット変換係数をサブバンド毎に設定された量子化ステップサイズで量子化し、
量子化された各サブバンドのウェーブレット変換係数を符号ブロックに分割し、
それぞれの符号ブロックの多値データを2値のビットプレーンに分解した後、符号化パスに分割し、
分割された符号化パス毎にエントロピー符号化を行い、分割された符号化パス毎に歪と符号量を算出し、
予め複数設定された切り捨てポイントの候補の集合を、符号化レートによって切り替えるようにし、前記設定された切り捨てポイントの候補に対して歪と符号量を算出し、
得られた符号化パス毎の符号量と歪に基づいて符号量対歪の傾きを計算し、
この傾き計算の際に、同一符号化パスに対して前に1度行った傾き計算については以降の同じ計算から除き、上位ビットから下位ビットに向かって当該符号量対歪の傾きが単調減少となるように補正処理を行い、
各符号ブロックに対して符号量、歪および符号量対歪の傾きを用いて目標符号量内で歪が最小となる切り捨てポイントを導出し、
各符号ブロックにおいて導出された切捨てポイントより上位の符号化パスの符号データから前記目標符号量内で最小の歪を持つ符号データを作成する画像符号化方法。 Two-dimensional wavelet transform of the input image signal to generate wavelet transform coefficients for each subband,
This wavelet transform coefficient is quantized with the quantization step size set for each subband,
Divide the quantized wavelet transform coefficients of each subband into code blocks,
After the multi-value data of each code block is decomposed into binary bit planes, it is divided into coding passes,
Entropy coding is performed for each divided coding pass, distortion and code amount are calculated for each divided coding pass,
A set of a plurality of truncation point candidates set in advance is switched according to the encoding rate, and distortion and code amount are calculated for the set truncation point candidates,
Calculate the slope of the code amount versus distortion based on the obtained code amount and distortion for each coding pass,
In this slope calculation, the slope calculation performed once for the same coding pass is excluded from the same calculation thereafter, and the slope of the code amount versus distortion decreases monotonously from the upper bit to the lower bit. The correction process is performed so that
Deriving a truncation point that minimizes distortion within the target code amount using the code amount, distortion, and the gradient of code amount versus distortion for each code block,
An image coding method for creating code data having a minimum distortion within the target code amount from code data of a coding pass higher than a cut-off point derived in each code block.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003341203A JP4309220B2 (en) | 2003-09-30 | 2003-09-30 | Image coding apparatus and image coding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003341203A JP4309220B2 (en) | 2003-09-30 | 2003-09-30 | Image coding apparatus and image coding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005109917A JP2005109917A (en) | 2005-04-21 |
JP4309220B2 true JP4309220B2 (en) | 2009-08-05 |
Family
ID=34535886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003341203A Expired - Fee Related JP4309220B2 (en) | 2003-09-30 | 2003-09-30 | Image coding apparatus and image coding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4309220B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4680112B2 (en) | 2006-03-30 | 2011-05-11 | 三菱電機株式会社 | Image encoding device |
-
2003
- 2003-09-30 JP JP2003341203A patent/JP4309220B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005109917A (en) | 2005-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4025847B2 (en) | Encoder | |
JP4444790B2 (en) | Image compression method, image compression apparatus, image compression system, and program | |
JP3693988B2 (en) | Communication management system and communication management method | |
US8805107B2 (en) | Image data coding apparatus, method of controlling operation of same, and program therefor | |
JP2005236895A (en) | Image encoding device and method, and image decoding device and method | |
KR100809409B1 (en) | Decoding apparatus, inverse quantization method, and computer readable medium recorded with the program | |
JP3948619B2 (en) | Image compression apparatus, image compression method, program, and recording medium | |
JP4680112B2 (en) | Image encoding device | |
JP7390788B2 (en) | Image encoding device and its control method and program | |
KR100918377B1 (en) | Method for compressing image | |
CN108540798B (en) | JPEG2000 image coding implementation system and method | |
JP2005039793A (en) | Image encoding device, program, and storage medium | |
US7333659B2 (en) | Picture encoder and picture encoding method | |
US20080260275A1 (en) | Image Coding Apparatus | |
JP4309220B2 (en) | Image coding apparatus and image coding method | |
JP4003628B2 (en) | Image encoding apparatus and method, and program | |
CN1396561A (en) | Code and decode device and method for key data of graphic animation | |
JP4114144B2 (en) | Image encoding device, image encoding program, and image decoding program | |
JP3966507B2 (en) | Code amount control method, code amount control apparatus, and code amount control program | |
JP2019068385A (en) | Encoder, control method thereof, and control program, and imaging apparatus | |
KR101259063B1 (en) | A image processing device and blocking effect removal method of the same | |
KR20160068921A (en) | Method for encoding a matrix, in particular a matrix representative of a still or video image, using a wavelet transform, with numbers of wavelet levels that vary according to the image and different quantization factors for each wavelet level | |
JP4012004B2 (en) | Image processing apparatus and method, computer program, and computer-readable storage medium | |
JP2005150845A (en) | Image data coding apparatus and method thereof, computer program and computer-readable storage medium | |
JP2005150843A (en) | Image data coding apparatus and method, computer program, and computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060713 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080304 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090408 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090428 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4309220 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140515 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |