JP2005102125A - Image decoding method and image decoding apparatus - Google Patents
Image decoding method and image decoding apparatus Download PDFInfo
- Publication number
- JP2005102125A JP2005102125A JP2004052126A JP2004052126A JP2005102125A JP 2005102125 A JP2005102125 A JP 2005102125A JP 2004052126 A JP2004052126 A JP 2004052126A JP 2004052126 A JP2004052126 A JP 2004052126A JP 2005102125 A JP2005102125 A JP 2005102125A
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- frame
- time
- image data
- decoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、各フレームの画像が符号化された動画像データを入力して、各フレームの符号化画像データを復号する技術に関するものである。 The present invention relates to a technique for inputting moving image data in which an image of each frame is encoded and decoding the encoded image data of each frame.
一般に、動画像データの符号化方式は、フレーム間の相関を利用するものとしないものとに大別することができる。それぞれの方式には長所及び短所が存在し、どちらの方式が適しているかということは使用するアプリケーション次第である。例えば、Motion JPEGは、動画像データの各フレームを一枚の静止画像としてとらえて独立に符号化する方式であり、フレーム間の相関を用いない符号化方式の一例である。フレーム毎に独立に符号化することによって、動画像の分割、連結、部分的な書き換えなどの動画編集が容易であることや、復号側の処理能力に応じて復号フレーム数を選択して復号することが可能であるという利点がある。 In general, encoding methods of moving image data can be broadly classified into those that use the correlation between frames and those that do not use the correlation between frames. Each method has advantages and disadvantages, and which method is suitable depends on the application to be used. For example, Motion JPEG is an example of an encoding method that uses each frame of moving image data as a single still image and encodes it independently, and does not use correlation between frames. Encoding independently for each frame makes it easy to edit moving images such as video segmentation, concatenation, and partial rewriting, and selects and decodes the number of decoding frames according to the processing capability of the decoding side. There is an advantage that it is possible.
近年、動画像データをフレーム毎独立に符号化する符号化方式において、各フレームをウェーブレット変換とビットプレーン符号化とを組み合わせて符号化する方式が注目を集めている。このような動画像符号化方式には、ウェーブレット変換におけるサブバンド分解の仕組みを利用して空間解像度を段階的に変えた復号が可能であること、また、復号ビットプレーン数を変えることにより、復号画素精度を段階的に変更することが可能である等の大きな特徴がある。 2. Description of the Related Art In recent years, attention has been paid to a method of encoding each frame by combining wavelet transform and bit-plane encoding in an encoding method for encoding moving image data independently for each frame. In such a moving image coding method, decoding by changing the spatial resolution in stages using the subband decomposition mechanism in the wavelet transform is possible, and by changing the number of decoding bit planes There is a great feature such that the pixel accuracy can be changed in stages.
ISO/IEC JTC1/SC29/WG1で標準化作業が進められている画像符号化方式であるJPEG2000(ISO/IEC 15444)もウェーブレット変換とビットプレーン符号化との組み合わせにより構成されている。同標準のPart3では、Motion JPEG2000の名称で、動画像の各フレームの符号化に適用した場合のファイルフォーマットの規定を行っている。
JPEG2000 (ISO / IEC 15444), which is an image coding method that is being standardized by ISO / IEC JTC1 / SC29 / WG1, is also configured by a combination of wavelet transform and bit-plane coding.
Motion JPEG2000に代表されるこのような動画像符号化方式は、前述のように復号解像度、復号画素精度の柔軟性といった利点がある一方で、ビットプレーン符号化による符号化・復号処理の負荷が高いという欠点がある。特に、専用の動画像記録装置で記録した映像をパーソナルコンピュータで再生する場合に、コンピュータの性能によっては、全データを実時間で復号・表示することはできないという問題が起こる。 Such a moving image coding system represented by Motion JPEG2000 has advantages such as decoding resolution and flexibility of decoding pixel accuracy as described above, but has a high load of encoding / decoding processing by bit plane encoding. There is a drawback. In particular, when video recorded by a dedicated moving image recording apparatus is played back by a personal computer, there arises a problem that depending on the performance of the computer, all data cannot be decoded and displayed in real time.
このような問題に対して従来から、フレームを復号するのに所望の復号処理時間を定めて符号化処理単位に復号処理時間を割り振り、割り振られた復号処理時間でビットプレーン単位に復号する方法が開示されている(例えば特許文献1を参照)。
しかしながら、上記方法によると、所定の時間で復号処理を打ち切る動画像復号装置では、フレーム毎に復号処理打ち切りのポイント(復号ビットプレーン数)が変化しやすいため、動画像として再生した場合に歪みの形状の時間変化を生じ、これがフリッカ(ちらつき)として視覚上の妨害要因となるという問題がある。 However, according to the above method, in the video decoding device that terminates the decoding process at a predetermined time, the point at which the decoding process is aborted (the number of decoded bit planes) is likely to change for each frame. There is a problem that a time change of the shape occurs, and this becomes a visual disturbance factor as flicker.
本発明は以上の問題に鑑みて成されたものであり、動画像符号化データの全部または一部を、処理能力に応じて効率良く復号し、視覚的な妨害の少ない良好な再生画質を得る技術を提供することを目的とする。 The present invention has been made in view of the above problems, and decodes all or part of moving image encoded data efficiently according to the processing capability to obtain a good reproduction image quality with less visual interference. The purpose is to provide technology.
本発明の目的を達成するために、例えば本発明の画像復号方法は以下の構成を備える。 In order to achieve the object of the present invention, for example, an image decoding method of the present invention comprises the following arrangement.
即ち、各フレームの画像が符号化された動画像データを入力して、各フレームの符号化画像データを復号する画像復号方法であって、
前記各フレームから、サンプルフレームの符号化画像データを抽出して所定の復号単位で復号するサンプルフレーム復号工程と、
前記サンプルフレームの符号化画像データの復号に係る時間を計測する第1の計測工程と、
前記第1の計測工程で計測した時間が所定時間以下となるように、復号する復号単位の数を決定する決定工程と、
与えられた復号単位の数に従って、各フレームの符号化画像データ復号する復号工程と、
前記復号工程で前記各フレームを復号する際に、各フレーム毎の復号に要する時間を計測する第2の計測工程と、
前記所定時間と前記第2の計測工程で計測された時間との差分を、各フレームを復号する毎に累計していき、当該累計値が所定値以上となった場合に、前記決定工程で決定した復号単位の数を更新する更新工程とを備え、
前記復号工程では、前記決定工程で決定した復号単位の数、もしくは前記更新工程で更新した復号単位の数に従って、各フレームの符号化画像データ復号することを特徴とする。
That is, an image decoding method for inputting moving image data in which an image of each frame is encoded and decoding the encoded image data of each frame,
A sample frame decoding step of extracting encoded image data of a sample frame from each frame and decoding it in a predetermined decoding unit;
A first measuring step of measuring a time required for decoding the encoded image data of the sample frame;
A determining step for determining the number of decoding units to be decoded so that the time measured in the first measuring step is equal to or less than a predetermined time;
A decoding step of decoding the encoded image data of each frame according to a given number of decoding units;
A second measuring step of measuring a time required for decoding each frame when decoding each frame in the decoding step;
The difference between the predetermined time and the time measured in the second measuring step is accumulated every time each frame is decoded, and is determined in the determining step when the accumulated value exceeds a predetermined value. An update step of updating the number of decoded units,
In the decoding step, the encoded image data of each frame is decoded according to the number of decoding units determined in the determining step or the number of decoding units updated in the updating step.
本発明の目的を達成するために、例えば本発明の画像復号装置は以下の構成を備える。 In order to achieve the object of the present invention, for example, an image decoding apparatus of the present invention comprises the following arrangement.
即ち、各フレームの画像が符号化された動画像データを入力して、各フレームの符号化画像データを復号する画像復号装置であって、
前記各フレームから、サンプルフレームの符号化画像データを抽出して所定の復号単位で復号するサンプルフレーム復号手段と、
前記サンプルフレームの符号化画像データの復号に係る時間を計測する第1の計測手段と、
前記第1の計測手段が計測した時間が所定時間以下となるように、復号する復号単位の数を決定する決定手段と、
与えられた復号単位の数に従って、各フレームの符号化画像データ復号する復号手段と、
前記復号手段によって前記各フレームを復号する際に、各フレーム毎の復号に要する時間を計測する第2の計測手段と、
前記所定時間と前記第2の計測手段により計測された時間との差分を、各フレームを復号する毎に累計していき、当該累計値が所定値以上となった場合に、前記決定手段が決定した復号単位の数を更新する更新手段とを備え、
前記復号手段は、前記決定手段が決定した復号単位の数、もしくは前記更新手段が更新した復号単位の数に従って、各フレームの符号化画像データ復号することを特徴とする。
That is, an image decoding apparatus that inputs moving image data in which an image of each frame is encoded and decodes the encoded image data of each frame,
Sample frame decoding means for extracting encoded image data of a sample frame from each frame and decoding it in a predetermined decoding unit;
First measuring means for measuring a time for decoding the encoded image data of the sample frame;
Determining means for determining the number of decoding units to be decoded so that the time measured by the first measuring means is a predetermined time or less;
Decoding means for decoding the encoded image data of each frame according to the given number of decoding units;
Second measuring means for measuring a time required for decoding each frame when the decoding means decodes each frame;
The difference between the predetermined time and the time measured by the second measuring means is accumulated every time each frame is decoded, and the determining means determines when the accumulated value exceeds a predetermined value. Update means for updating the number of decoded decoding units,
The decoding means decodes the encoded image data of each frame according to the number of decoding units determined by the determining means or the number of decoding units updated by the updating means.
本発明の構成によれば、動画像符号化データの全部または一部を、処理能力に応じて効率良く復号し、視覚的な妨害の少ない良好な再生画質を得ることができる。 According to the configuration of the present invention, it is possible to efficiently decode all or part of moving image encoded data according to the processing capability, and obtain a good reproduction image quality with little visual interference.
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。 Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.
本発明の画像復号装置の好適な実施形態について説明する前に先ず、本発明の画像復号装置において復号対象となる動画像符号化データについて説明する。 Before describing a preferred embodiment of the image decoding device of the present invention, first, moving image encoded data to be decoded in the image decoding device of the present invention will be described.
図1は、以下の実施形態で用いる画像復号装置が復号する対象となる動画像符号化データを生成する動画像符号化装置の機能構成を示す図である。 FIG. 1 is a diagram illustrating a functional configuration of a moving image encoding apparatus that generates moving image encoded data to be decoded by an image decoding apparatus used in the following embodiment.
本動画像符号化装置は、ウェーブレット変換とビットプレーン符号化とを組み合わせた符号化方式を用いて、動画像を構成する各フレームを独立に符号化する。図1を用いて、動画像符号化装置における符号化処理の流れについて簡単に説明する。図1に示すようにこの動画像符号化装置は、動画像データ入力部201、離散ウェーブレット変換部202、係数量子化部203、ビットプレーン符号化部204、符号列形成部205、そして2次記憶装置206、信号線207を備えている。
This moving image encoding apparatus encodes each frame constituting a moving image independently by using an encoding method in which wavelet transform and bit plane encoding are combined. The flow of the encoding process in the moving image encoding apparatus will be briefly described with reference to FIG. As shown in FIG. 1, the moving image coding apparatus includes a moving image
次に、図1に示される動画像符号化装置の各構成要素の動作について説明する。尚、ここで扱う動画像は、1秒あたり30フレームであって、各フレームの画像は各画素の輝度値が8ビットのモノクロ動画像データであるとする。よってこのような動画像のデータを、4秒分(合計120フレーム)動画像符号化装置に取り込み、符号化するものとして説明する。すなわち、本動画像符号化装置では、動画像データ入力部201から入力される1秒あたり30フレームの動画像データをフレーム単位に符号化し、最終的に2次記憶装置206に符号化データを格納するものである。
Next, the operation of each component of the moving picture encoding apparatus shown in FIG. 1 will be described. Note that the moving image handled here is 30 frames per second, and the image of each frame is monochrome moving image data in which the luminance value of each pixel is 8 bits. Therefore, description will be made assuming that such moving image data is taken into a moving image encoding device for 4 seconds (120 frames in total) and encoded. That is, in this moving image encoding apparatus, moving image data of 30 frames per second input from the moving image
まず、動画像データ入力部201から1秒あたり30フレームであって、4秒分の動画像データが入力される。動画像データ入力部201は、例えばディジタルカメラ等の撮像部分であって、CCD等の撮像デバイスとガンマ補正、シェーディング補正等の各種画像調整回路とによって実現することが可能である。動画像データ入力部201は、入力された動画像データを1フレームずつ離散ウェーブレット変換部202に送る。尚、以降の説明において、便宜上各フレームデータには、入力された順に1から番号を与えて、例えばフレーム1、フレーム2、…というような番号で各フレームを識別するようにする。また、各フレームにおける水平方向の画素位置(座標)をx、垂直方向の画素位置をyとし、画素位置(x,y)の画素値をP(x,y)で表す。
First, moving image data for 4 seconds is input from the moving image
動画像データ入力部201から入力された1フレームの画像データは、離散ウェーブレット変換部202でそれぞれ不図示の内部バッファに適宜格納され、2次元離散ウェーブレット変換が行われる。2次元離散ウェーブレット変換は、1次元の離散ウェーブレット変換を水平及び垂直方向それぞれに適用することにより実現するものである。図2は、1フレームの画像データに対して2次元離散ウェーブレット変換を施して4つのサブバンドを生成する処理を説明する図である。
One frame of image data input from the moving image
図2(a)は符号化対象の画像データを示す図である。同図に示されるような符号化対象画像に対して、まず垂直方向に1次元離散ウェーブレット変換を適用し、図2(b)に示されるように低周波サブバンドLと高周波サブバンドHとに分解する。 FIG. 2A shows image data to be encoded. First, a one-dimensional discrete wavelet transform is applied to the encoding target image as shown in the figure in the vertical direction, and a low frequency subband L and a high frequency subband H are obtained as shown in FIG. Decompose.
次に、それぞれのサブバンドに対して水平方向の1次元離散ウェーブレット変換を適用することにより、図2(c)に示されるようなLL、HL、LH、HHの4つのサブバンドに分解する。 Next, by applying a horizontal one-dimensional discrete wavelet transform to each subband, the subbands are decomposed into four subbands LL, HL, LH, and HH as shown in FIG.
本動画像符号化装置の離散ウェーブレット変換部202では、上述した2次元離散ウェーブレット変換により得られたサブバンドLLに対して、さらに繰り返し2次元離散ウェーブレット変換を適用する。これによって、符号化対象画像をLL、LH1、HL1、HH1、LH2、HL2、HH2の7つのサブバンドに分解することができる。図3は、2回の2次元離散ウェーブレット変換によって得られる7つのサブバンドを示す図である。
In the discrete
尚、本動画像符号化装置では、各サブバンド内の係数をC(Sb,x,y)と表す。ここで、Sbはサブバンドの種類を表し、LL、LH1、HL1、HH1、LH2、HL2、HH2のいずれかである。また、(x,y)は各サブバンド内の左上隅の係数位置を(0,0)としたときの水平方向及び垂直方向の係数位置(座標)を表す。 In the moving picture coding apparatus, a coefficient in each subband is represented as C (Sb, x, y). Here, Sb represents the type of subband, and is one of LL, LH1, HL1, HH1, LH2, HL2, and HH2. Further, (x, y) represents the coefficient position (coordinates) in the horizontal direction and the vertical direction when the coefficient position of the upper left corner in each subband is (0, 0).
本動画像符号化装置は、離散ウェーブレット変換部202におけるN個の1次元信号x(n)(但し、nは0〜N−1の整数)に対する1次元離散ウェーブレット変換として2つの方法を備える。一つは式(1)、(2)に示す整数型5x3フィルタによる変換であり、もう一つは式(3)、(4)に示す実数型5x3フィルタによる変換である。
This moving image encoding apparatus includes two methods as one-dimensional discrete wavelet transform for N one-dimensional signals x (n) (where n is an integer from 0 to N−1) in the discrete
h(n)=x(2n+1)
−floor{(x(2n)+x(2n+2))/2} (1)
l(n)=x(2n)
+floor{(h(n−1)+h(n)+2)/4} (2)
h(n)=x(2n+1)
−(x(2n)+x(2n+2))/2 (3)
l(n)=x(2n)
+(h(n−1)+h(n))/4 (4)
また、h(n)は高周波サブバンドの係数、l(n)は低周波サブバンドの係数、floor{R}は実数Rを超えない最大の整数値を表す。尚、式(1)、(2)及び式(3)、(4)の計算において必要となる1次元信号x(n)の両端(n<0及びn>N−1)におけるx(n)は、公知の方法により1次元信号x(n)(n=0〜N−1)の値から求めておく。
h (n) = x (2n + 1)
−floor {(x (2n) + x (2n + 2)) / 2} (1)
l (n) = x (2n)
+ Floor {(h (n-1) + h (n) +2) / 4} (2)
h (n) = x (2n + 1)
-(X (2n) + x (2n + 2)) / 2 (3)
l (n) = x (2n)
+ (H (n-1) + h (n)) / 4 (4)
Further, h (n) represents a high frequency subband coefficient, l (n) represents a low frequency subband coefficient, and floor {R} represents a maximum integer value not exceeding the real number R. It should be noted that x (n) at both ends (n <0 and n> N−1) of the one-dimensional signal x (n) required in the calculations of the expressions (1), (2) and (3), (4). Is obtained from the value of the one-dimensional signal x (n) (n = 0 to N−1) by a known method.
整数型5x3フィルタと実数型5x3フィルタのいずれを適用するかは、信号線207を介して装置外部から入力されるフィルタ選択信号によって、フレーム単位に指定することができる。例えば、信号線207から入力されるフィルタ選択信号が‘0’である場合、着目するフレームを整数型5x3フィルタによって分解し、フィルタ選択信号が‘1’である場合、着目するフレームを実数型5x3フィルタによって分解するといった具合である。
Whether an
係数量子化部203では、離散ウェーブレット変換部202で生成された各サブバンドの係数C(S,x,y)を、各サブバンド毎に定めた量子化ステップdelta(S)を用いて量子化する。ここで、量子化された係数値をQ(S,x,y)と表す場合、係数量子化部203で行われる量子化処理は式(5)により表すことができる。
In the
Q(S,x,y)=sign{C(S,x,y)}
×floor{|C(S,x,y)|/delta(S)} (5)
ここで、sign{I}は整数Iの正負符号を表す関数であり、Iが正の場合は1を、負の場合は−1を返す。また、floor{R}は実数Rを超えない最大の整数値を表す。但し、上述の量子化処理は離散ウェーブレット変換部202において実数型5x3フィルタが選択され、使用された場合にのみ適用されるものであり、信号線207から入力されるフィルタ選択信号により整数型5x3フィルタが選択されている場合には係数C(S,x,y)を量子化された係数値として出力する。即ちこの場合、Q(S,x,y)=C(S,x,y)となる。
Q (S, x, y) = sign {C (S, x, y)}
× floor {| C (S, x, y) | / delta (S)} (5)
Here, sign {I} is a function representing the sign of the integer I, and returns 1 when I is positive and -1 when negative. Further, floor {R} represents the maximum integer value not exceeding the real number R. However, the above-described quantization processing is applied only when a
ビットプレーン符号化部204は、係数量子化部203において量子化された係数値Q(S,x,y)を符号化する。尚、各サブバンドの係数をブロック分割し、別々に符号化することによりランダムアクセスを容易にする方法など符号化手法として様々な手法が提案されているが、ここでは説明を簡単にするためにサブバンド単位に符号化する。
The bit
各サブバンドの量子化された係数値Q(S,x,y)(以降、単に「係数値」と称す。)の符号化は、サブバンド内の係数値Q(S,x,y)の絶対値を自然2進数で表現し、上位の桁から下位の桁へとビットプレーン方向を優先して二値算術符号化することにより行われる。各サブバンドの係数値Q(S,x,y)を自然2進表記した場合の下からn桁目のビットをQn(x,y)と表記して説明する。尚、2進数の桁を表す変数nをビットプレーン番号と呼ぶこととし、ビットプレーン番号nはLSB(最下位ビット)を0桁目とする。 The encoding of the quantized coefficient value Q (S, x, y) (hereinafter simply referred to as “coefficient value”) of each subband is performed by using the coefficient value Q (S, x, y) in the subband. The absolute value is expressed by a natural binary number, and binary arithmetic coding is performed by giving priority to the bit plane direction from the upper digit to the lower digit. In the following description, the n-th bit from the bottom in the case where the coefficient value Q (S, x, y) of each subband is expressed in a natural binary notation is expressed as Qn (x, y). Note that a variable n representing a binary digit is referred to as a bit plane number, and the LSB (least significant bit) of the bit plane number n is the 0th digit.
図4は、ビットプレーン符号化部204でサブバンドSを符号化する処理手順を説明するためのフローチャートである。図4に示すように、まず、符号化対象となるサブバンドS内の係数の絶対値を調べ、その最大値Mabs(S)を求める(ステップS601)。次に、サブバンド内の係数の絶対値を表すためにMabs(S)を2進数で表現する場合に必要となる桁数NBP(S)を式(6)を用いて求める(ステップS602)。
FIG. 4 is a flowchart for explaining a processing procedure for encoding the subband S by the bit
NBP(S)=ceil{log2(Mabs(S+1))} (6)
但し、ceil{R}は実数R以上の最小の整数値を表すものとする。
N BP (S) = ceil {log2 (Mabs (S + 1))} (6)
However, ceil {R} represents a minimum integer value greater than or equal to the real number R.
次に、ビットプレーン番号nに有効桁数NBP(S)を代入する(ステップS603)。そして、ビットプレーン番号nから1を引いてn−1を求めてnに代入する(ステップS604)。 Next, the effective digit number N BP (S) is substituted into the bit plane number n (step S603). Then, 1 is subtracted from the bit plane number n to obtain n−1 and is substituted for n (step S604).
さらに、n桁目のビットプレーンを二値算術符号を用いて符号化する(ステップS605)。ビットプレーン内の各ビットを符号化する際には、符号化済みの情報からいくつかの状態(コンテクスト)に分類し、それぞれ異なる出現確率予測モデルで符号化する。本動画像符号化装置においては、使用する算術符号としてMQ−Coderを用いる。このMQ−Coderを用いて、ある状態(コンテクスト)Sで発生した二値シンボルを符号化する手順、或いは、算術符号化処理のための初期化手順、終端手順については、静止画像の国際標準ISO/IEC15444−1勧告等に詳細に説明されているのでここでは説明を省略する。 Further, the n-th bit plane is encoded using a binary arithmetic code (step S605). When each bit in the bit plane is encoded, it is classified into several states (contexts) from the encoded information, and encoded by different appearance probability prediction models. In the moving picture coding apparatus, MQ-Coder is used as an arithmetic code to be used. For the procedure for encoding a binary symbol generated in a certain state (context) S using this MQ-Coder, or for the initialization procedure and termination procedure for arithmetic coding processing, the international standard ISO for still images Since it is described in detail in the / IEC 15444-1 recommendation, the description thereof is omitted here.
また、本動画像符号化装置では、各ビットプレーンの符号化の開始時に算術符号化器を初期化し、終了時に算術符号化器の終端処理を行うものとする。また、個々の係数の最初に符号化される「1」の直後に、その係数の正負符号を0、1で表し、算術符号化する。ここでは、正の場合は0、負の場合は1とする。例えば、係数が−5で、この係数の属するサブバンドSの有効桁数NBP(S)が6の場合、係数の絶対値は2進数000101で表され、各ビットプレーンの符号化により上位桁から下位桁へと符号化される。そして、2番目のビットプレーンの符号化時(この場合、上から4桁目)に最初の「1」が符号化され、この直後に正負符号「1」を算術符号化する。 In the moving picture encoding apparatus, the arithmetic encoder is initialized at the start of encoding of each bit plane, and the termination process of the arithmetic encoder is performed at the end. Also, immediately after “1” encoded at the beginning of each coefficient, the sign of the coefficient is represented by 0 and 1, and is arithmetically encoded. Here, 0 is set for positive and 1 is set for negative. For example, when the coefficient is −5 and the number of significant digits N BP (S) of the subband S to which this coefficient belongs is 6, the absolute value of the coefficient is represented by a binary number 00101, and the upper digit is encoded by encoding each bit plane. Are encoded from 1 to the lower digits. When the second bit plane is encoded (in this case, the fourth digit from the top), the first “1” is encoded, and immediately thereafter, the positive / negative code “1” is arithmetically encoded.
次に、ビットプレーン番号nが0であるか否かを判定する(ステップS606)。その結果、nが0、すなわちステップS605においてLSBプレーンの符号化を行った場合、サブバンドの符号化処理を終了する。また、それ以外の場合、ステップS604に処理を移す。 Next, it is determined whether or not the bit plane number n is 0 (step S606). As a result, when n is 0, that is, when the LSB plane is encoded in step S605, the subband encoding process is terminated. In other cases, the process proceeds to step S604.
上述した処理によって、サブバンドSの全係数を符号化することができ、各ビットプレーンnに対応する符号列CS(S,n)を生成することができる。生成した符号列CS(S,n)は、符号列形成部205に送られ、符号列形成部205内の不図示のバッファに一時的に格納される。
Through the processing described above, all the coefficients of the subband S can be encoded, and a code string CS (S, n) corresponding to each bit plane n can be generated. The generated code string CS (S, n) is sent to the code
符号列形成部205では、ビットプレーン符号化部204により全サブバンドの係数の符号化が終了して全符号列が内部バッファに格納されると、所定の順序で内部バッファに格納される符号列を読み出す。そして、必要な付加情報を挿入して、1枚のフレームに対応する符号列を形成し、2次記憶装置206へと出力する。
In the code
符号列形成部205で生成される最終的な符号列は、ヘッダと、レベル0、レベル1及びレベル2の3つに階層化された符号化データとにより構成される。ヘッダには画像の水平方向、垂直方向の画素数や、2次元離散ウェーブレット変換の適用回数、選択されたフィルタを指定する情報、各サブバンドの量子化ステップdelta(S)など、復号に必要となる付加情報が格納される。
The final code string generated by the code
レベル0の符号化データは、サブバンドLLの係数を符号化して得られるCS(LL,NBP(LL)−1)からCS(LL,0)の符号列で構成される。
The encoded data of
また、レベル1は、LH1、HL1、HH1の各サブバンドの係数を符号化して得られる符号列CS(LH1,NBP(LH1)−1)からCS(LH1,0)、CS(HL1,NBP(HL1)−1)からCS(HL1,0)、CS(HH1,NBP(HH1)−1)からCS(HH1,0)で構成される。
さらに、レベル2は、LH2、HL2、HH2の各サブバンドの係数を符号化して得られる符号列CS(LH2,NBP(LH2)−1)からCS(LH2,0)、CS(HL2,NBP(HL2)−1)からCS(HL2,0)、CS(HH2,NBP(HH2)−1)からCS(HH2,0)で構成される。
Further,
図5は、符号列形成部205において生成される1枚のフレームデータに対応する符号列の細部構造を示す図である。
FIG. 5 is a diagram illustrating a detailed structure of a code string corresponding to one frame data generated in the code
このようにして構成された符号列は、復号側でヘッダとレベル0の符号化データを復号することにより元の1/4の解像度の復元画像を得ることができる。また、レベル1の符号化データを加えて復号することにより元の1/2の解像度の復元画像を得ることができる。さらに、レベル2の符号化データまで加えて復号した場合には、元の解像度の復元画像を得ることができるというように、徐々に解像度を上げて画像を復号することができる。
The code string configured in this way can obtain a restored image having the original 1/4 resolution by decoding the header and the
一方、各レベルのビットプレーン符号化データの、上位のいくつかのビットプレーンのみを復号した場合には荒い復号画像を、下位のビットプレーンへと復号対象を増やしていった場合には、徐々に精度を上げて各サブバンドの変換係数を復元することができ、復号画質を向上させることが可能となる。 On the other hand, when only a few high-order bit planes of bit-level encoded data of each level are decoded, a rough decoded image is gradually increased. The conversion coefficient of each subband can be restored with increased accuracy, and the decoded image quality can be improved.
2次記憶装置206は、例えば、ハードディスクやメモリといった記憶装置であり、符号列形成部205で生成された符号列を内部に格納する。2次記憶装置206では符号列形成部205から出力される各フレームの符号列が連結され、動画像データの符号化データが構成される。
The
以上の動画像符号化装置によって符号化された各フレームの符号化データを復号する、本発明の画像復号装置の好適な実施形態について以下に説明する。 A preferred embodiment of the image decoding apparatus of the present invention for decoding the encoded data of each frame encoded by the above moving image encoding apparatus will be described below.
[第1の実施形態]
図14は本実施形態に係る画像復号装置の基本構成を示す図である。
[First Embodiment]
FIG. 14 is a diagram showing a basic configuration of an image decoding apparatus according to this embodiment.
1401はCPUで、RAM1402やROM1403に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像復号処理を実行する。
1402はRAMで、外部記憶装置1407や記憶媒体ドライブ1408、若しくはI/F1409を介して外部装置からダウンロードされたプログラムやデータを記憶する為のエリアを備えると共に、CPU1401が各種の処理を実行する際に使用するワークエリアも備える。
A
1403はROMで、ブートプログラムや本装置の設定プログラムやデータを格納する。
1404、1405は夫々キーボード、マウスで、CPU1401に対して各種の指示を入力することができる。
1406は表示装置で、CRTや液晶画面などにより構成されており、画像や文字などの情報を表示することができる。
A
1407は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であって、ここにOSや後述する画像復号処理の為のプログラム、復号対象の画像を各フレームとする動画像の符号化データなどが保存されており、CPU1401による制御によって、これらのプログラムやデータはRAM1402上の所定のエリアにロードされる。
1408は記憶媒体ドライブで、CD−ROMやDVD−ROMなどの記憶媒体に記録されたプログラムやデータを読み出してRAM1402や外部記憶装置1407に出力するものである。なお、この記憶媒体に後述する画像復号処理の為のプログラム、復号対象の画像を各フレームとする動画像のデータなどを記録しておいても良く、その場合、記憶媒体ドライブ1408は、CPU1401による制御によって、これらのプログラムやデータをRAM1402上の所定のエリアにロードする。
A
1409はI/Fで、このI/F1409によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。例えは上記動画図符号化装置をI/F1409に接続し、上記動画像符号化装置によって生成された動画像の符号化データを本装置のRAM1402や外部記憶装置1407に入力することもできる。
1410は上述の各部を繋ぐバスである。
A
図9は、本実施形態に係る画像復号装置の機能構成を示すブロック図である。図1と同じ部分については同じ番号を付けている。図9に示すように、本実施形態に係る画像復号装置は、符号列読み出し部101、ビットプレーン復号部102、逆離散ウェーブレット変換部104、動画像データ出力部105、復号処理時間計測部106、非復号サブバンド決定部107とを備える。なお、図9に示す構成はハードウェアにより実現しても良いが、本実施形態では図9に示す各部は、各部の機能をコンピュータに実現させるプログラムにより実現するものとし、このプログラムは上記外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとする。
FIG. 9 is a block diagram showing a functional configuration of the image decoding apparatus according to the present embodiment. The same parts as those in FIG. As shown in FIG. 9, the image decoding apparatus according to the present embodiment includes a code
また、同図において205は前述の2次記憶装置であって、ここから動画像の符号化データを本装置に入力するのであるが、この2次記憶装置206は例えば上記外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して本装置に接続される外部装置であって、これらの何れかから動画像の符号化データをRAM1402にロードするものとする。なお、この動画像の符号化データは上述の通り、上記動画像符号化装置によって生成されたものである。
In the figure,
以下、図9を参照して、本実施形態に係る画像復号装置が行う処理について説明する。 Hereinafter, processing performed by the image decoding apparatus according to the present embodiment will be described with reference to FIG.
本実施形態に係る画像復号装置の復号対象とする動画像符号化データは、前述の動画像符号化装置により生成されたものであるが、この動画像符号化データの生成にあたっては、全てのフレームで整数型5x3フィルタを使用する。すなわち、前述した動画像符号化装置の信号線207から整数型5x3フィルタを選択する信号を入力して動画像データの符号化を行う。
The moving image encoded data to be decoded by the image decoding device according to the present embodiment is generated by the above-described moving image encoding device. In generating the moving image encoded data, all frames are generated. Use an integer type 5x3 filter. That is, a signal for selecting an
本実施形態に係る画像復号装置はまず最初に、復号対象となる動画像符号化データから任意のフレームの符号化画像データをサンプルとして取り出して復号し、各サブバンドの復号処理に要する時間を測定して復号処理時間の見積もりを行う。 First, the image decoding apparatus according to the present embodiment extracts and decodes encoded image data of an arbitrary frame as a sample from moving image encoded data to be decoded, and measures the time required for decoding processing of each subband. To estimate the decoding processing time.
一般に動画像符号化データの復号は、動画像符号化データ中のフレームを単位に行われる。図9に示した符号列読み出し部101は、2次記憶装置206に格納されている動画像符号化データから着目するフレームの符号化データを読み出し、RAM1402に格納する。読み出しは基本的にフレーム1、フレーム2というように順番に行われるが、本実施形態では、各サブバンドの復号処理に要する時間を測定して復号処理時間の見積もりを行う為に、復号処理の開始時にはまず、任意のフレームの符号化データをサンプルとして読み出してRAM1402に格納する。以下の説明では復号処理時間の見積もりを行うために復号するフレーム(以下、サンプルフレーム)を便宜上60フレーム目とするが、これに限定されるものではない。
In general, decoding of moving image encoded data is performed in units of frames in the moving image encoded data. The code
ビットプレーン復号部102は、RAM1402に格納された符号化データをサブバンド順に読み出して、量子化された変換係数データQ(S,x,y)を復号する。ビットプレーン復号部102における処理は、図2に示されるビットプレーン符号化部204が行った処理の逆の処理である。
The bit
すなわち、ビットプレーン符号化部204では、上位のビットプレーンから下位のビットプレーンへと係数の絶対値の各ビットを所定のコンテクストにより二値算術符号化していた。これに対しビットプレーン復号部102では、同様に上位のビットプレーンから下位のビットプレーンへと符号化時と同じコンテクストにより二値算術符号化データの復号を行い、係数の各ビットを復元する。また、係数の正負符号については符号化時と同じタイミングで、同じコンテクストを用いて算術符号の復号を行うようにする。
That is, the bit
但し、このとき非復号サブバンド決定部107からは各サブバンド毎に復号するか否かを表すデータF(S)が入力され、ビットプレーン復号部102はこのデータF(S)を参照し、F(S)=1であるサブバンドSについては各ビットプレーンの復号を行い、F(S)=0のサブバンドSについては復号しない。このF(S)のデータは非復号サブバンド決定部107によって生成されるのであるが、この生成については後述する。
However, at this time, data F (S) indicating whether to decode for each subband is input from the non-decoding
なお、本実施形態に係る画像復号装置が最初に復号するサンプルフレームについては全てのサブバンドSに対してF(S)=1とし、全てのサブバンドの復号を行う。サンプルフレームについてのF(S)のデータはRAM1402に予めロードされているものとする。
Note that for a sample frame that is first decoded by the image decoding apparatus according to the present embodiment, F (S) = 1 is set for all subbands S, and all subbands are decoded. It is assumed that F (S) data for the sample frame is loaded in advance in the
逆離散ウェーブレット変換部104では、図1の離散ウェーブレット変換部202が行うウェーブレット変換処理の逆変換が行われ、フレームのデータを復元する。本実施形態では上述の通り、全てのフレームで整数型5x3フィルタを使用して生成される動画像符号化データを復号対象とするので、式(1)、(2)に対応する逆変換を行う。
In the inverse discrete
そして、動画像データ出力部105は、逆離散ウェーブレット変換部104から出力される復元画像データを、I/F1409を介して外部の装置に出力したり、表示装置1460に出力したりする。但し、本実施形態に係る画像復号装置で最初に復号されるサンプルフレームのデータは復号処理時間の推定のために復号したものであるため、復号フレームデータを破棄し、出力しない。
The moving image
動画像の再生表示を行う場合には、各フレームデータは所定の時間に表示される。逆離散ウェーブレット変換104からの出力は、復号処理に掛かる時間により左右されるので表示すべき時間と同期するものではない。このため、復号したフレームデータをバッファに格納して表示時間との調整が必要になる。例えば、動画像データ出力部105で復元画像データをI/F1409を介して外部の装置に出力し、表示時間との調整のためのバッファ格納処理を本第1の実施形態の動画像復号装置の外部で行うようにしても良いし、動画像データ出力部105の内部で行うようにしても良い。
When reproducing and displaying a moving image, each frame data is displayed at a predetermined time. Since the output from the inverse
動画像データ出力部105の具体例として、動画像データ出力部105にディスプレイを接続し、動画像表示を行う場合について説明する。図15は動画像データ出力部105の一形態と、ディスプレイへの接続を示す図である。
As a specific example of the moving image
同図において1601は複数のフレームデータを格納することが可能なバッファ、1602はディスプレイインターフェース、1603はディスプレイである。ディスプレイ1603は図14の表示装置1406に相当し、ディスプレイインターフェース1602とディスプレイ1406との接続線はバス1410に相当する。バッファ1601は逆離散ウェーブレット変換部104から可変の時間間隔で出力される復元画像データを、順番に格納する。復元画像データ格納の際には格納する復元画像データのフレーム番号と格納するアドレスを保持し、後から順番に取り出せるようにしておく。ディスプレイインターフェース1602は動画像データのフレームレートに応じて一定の時間間隔(例えば秒あたり30フレームの動画像であるならば1/30秒おき)でバッファ1601から復元画像データを順番に取り出し、ディスプレイ1603へと表示する。取り出したフレームデータはバッファ1601から消去される。バッファ1601は、逆離散ウェーブレット変換部104からの復元画像データの入力と、ディスプレイインターフェースによるデータ取り出しの時間間隔の違いを調整する役割を果たす。
In the figure, 1601 is a buffer capable of storing a plurality of frame data, 1602 is a display interface, and 1603 is a display. A
本実施形態の動画像復号装置では、後述する処理によって、1フレームの復号処理時間の平均が目標復号時間Tとなるように制御を行う。しかしながら、各フレームのデータ復元に掛かる時間にはばらつきがあるため、バッファ1601に格納されるフレームデータの枚数が変化する。表示時間にフレームデータがバッファに準備されていない状態にならないように、動画復号の開始から所定時間後に再生表示を開始する、あるいは所定のフレーム枚数がバッファに蓄積されてから再生開始するなど、動画再生開始のタイミングを調整する。また、バッファ容量に制約のある場合には、バッファに所定枚数以上のフレームデータが格納されている場合には、フレームデータの復号処理を休止するよう制御することも必要となる。
In the moving picture decoding apparatus according to the present embodiment, control is performed so that the average decoding processing time of one frame becomes the target decoding time T by processing described later. However, since the time taken to restore the data of each frame varies, the number of frame data stored in the
復号処理時間計測部106は、ビットプレーン復号部102によってサンプルフレームの各サブバンドの係数を復号する時間(復号時間Dt(SI))を測定する。ここでSIはサブバンドを特定するインデックス値である。即ち、復号処理時間計測部106は、ビットプレーン復号部102による復号処理の復号単位を「サブバンド」とした場合に、復号単位毎の復号時間Dt(SI)を測定する。そして復号処理時間計測部106はこの測定により、図10に示すようなテーブルを構築し、RAM1402にこのテーブルのデータを格納する。
The decoding processing
図10はサブバンドインデックスSIとサブバンドSの係数復号時間(復号所要時間)との関係を表すテーブルの構成例を示す図である。Dt(0)からDt(6)の部分には実際の計測時間が格納される。このテーブルを参照すれば、例えばサブバンドHH1(SI=3)の係数復号時間はDt(3)であると特定することができる。 FIG. 10 is a diagram illustrating a configuration example of a table representing a relationship between the subband index SI and the coefficient decoding time (decoding time required) of the subband S. The actual measurement time is stored in the portion from Dt (0) to Dt (6). With reference to this table, for example, the coefficient decoding time of the subband HH1 (SI = 3) can be specified as Dt (3).
また復号処理時間計測部106は、符号列読み出し部101が2次記憶装置206から1フレーム分の符号化画像データを読み出す開始時から、このフレームの復元された画像データが動画像データ出力部105から出力されるまでにかかる時間Dtを「1つのフレームの符号化画像データの復号に係る時間」として計測し、非復号サブバンド決定部107へと出力する。本実施形態では復号処理時間計測部106は先ずサンプルフレームの符号化画像データの復号に係る時間Dtを計測する。
Also, the decoding processing
復号処理時間計測部106は、上記動画像において最初のフレーム以外については上記時間Dtを測定し、非復号サブバンド決定部107へと出力する。
The decoding processing
非復号サブバンド決定部107は、復号処理時間計測部106から出力されるサンプルフレームの復号処理時間Dtが、1フレームの画像データを復元して出力するまでに要する時間の上限値として予めRAM1402に格納されている値以下となるように、1フレームの符号化画像データを構成する各サブバンドのうち、復号しないサブバンドを決定する処理を行う。より具体的には各サブバンドを復号するか否かを決定する。
The non-decoding
ここでRAM1402には本処理の前段で予め、非復号サブバンド数を表す変数Mと、各サブバンドを復号するか否かを示す(初期化状態の)復号フラグF(S)のデータと、1フレームの画像データを復元して出力するまでに要する時間の上限値(目標復号処理時間)を表す変数T、時間差分を表す変数ΔTが保持されているものとする。
Here, in the
そして後述する処理によって、復号しないサブバンドを決定し、この旨を反映した復号フラグF(S)のデータを生成する。 Then, a subband not to be decoded is determined by processing to be described later, and data of a decoding flag F (S) reflecting this is generated.
図11は各サブバンドSに対する復号フラグF(S)を表すテーブルの構成例を示す図である。同図は非復号サブバンド数M=3である場合のテーブルであり、同図のサブバンドの並びで上から順にM個のサブバンドが非復号サブバンドに設定されている。後述する処理では図11に示すテーブルを作成し、作成したテーブルのデータをRAM1402に格納することを行う。
FIG. 11 is a diagram illustrating a configuration example of a table representing the decoding flag F (S) for each subband S. The figure shows a table when the number of non-decoding subbands M = 3, and M subbands are set as non-decoding subbands in order from the top in the arrangement of the subbands in the figure. In processing to be described later, the table shown in FIG. 11 is created, and the data of the created table is stored in the
図12は、本実施形態に係る画像復号装置による動画像符号化データの復号処理の流れを示すフローチャートである。なお同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、本実施形態に係る画像復号装置は図12に示したフローチャートに従った処理を行うことができる。以下、図12に示したフローチャートを参照して、本実施形態に係る画像復号装置が行う画像復号処理についてより詳細に説明する。
FIG. 12 is a flowchart showing a flow of decoding processing of moving image encoded data by the image decoding apparatus according to the present embodiment. Note that the program according to the figure is loaded in the
まず、符号列読み出し部101によって2次記憶装置206から読み出されたサンプルフレームの符号化画像データをビットプレーン復号部102、逆離散ウェーブレット変換部104によって復号し、復号処理時間計測部106によりサンプルフレームの符号化画像データを構成する各サブバンドの復号時間Dt(SI)、及びサンプルフレームの符号化画像データを構成する全てのサブバンドの復号を行い、出力するまでに要する時間である復号処理時間Dtを計測する(ステップS1900)。
First, the encoded image data of the sample frame read from the
次に、ステップS1900で求めた各時間を元に、非復号サブバンド決定部107にて非復号サブバンド数Mを決定する(ステップS1901)。目標復号処理時間Tに対して実際の復号処理時間DtがDt≦Tの場合には、各フレームを構成する全てのサブバンドを復号しても1フレームの復号時間が目標復号処理時間内で収まるので、M=0(非復号サブバンド数は0、即ち全てのサブバンドを復号する)と設定する。
Next, based on each time obtained in step S1900, the non-decoding
一方、Dt>Tの場合、1フレームを構成する全てのサブバンドを復号していては、1フレームの画像データを復元して出力するまでに要する時間が目標復号処理時間内には収まらない。そこで、1フレームを構成する各サブバンドのうち、低解像度のサブバンドから順次非復号サブバンドに含めていく処理を行う。このようにすることで、復号するサブバンドの数を減らすことができるので、1フレームの画像データを復元して出力するまでに要する時間を目標復号処理時間内に納めることができる。 On the other hand, when Dt> T, all subbands constituting one frame are decoded, and the time required to restore and output one frame of image data does not fall within the target decoding processing time. In view of this, a process of sequentially including the low-resolution subbands in the non-decoding subbands among the subbands constituting one frame is performed. In this way, since the number of subbands to be decoded can be reduced, the time required to restore and output one frame of image data can be kept within the target decoding processing time.
具体的には、Dt≦Tとなるまで、サブバンド番号0から6の順で復号サブバンド数Mを減らす。即ち、以下の式を満たす最小のMを求め、これを非復号サブバンド数Mとする(ステップS1901)。
Specifically, the number M of decoding subbands is reduced in the order of
以上の処理により、各フレームを目標復号処理時間内に復号して出力することができるであろう非復号サブバンド数Mを決定する。なお、以上の処理は非復号サブバンド、即ち復号しないサブバンドの数を決定しているが、これは換言すれば復号するサブバンドの数を決定していることに等価である。
次に、各フレームの先頭(ここではフレーム1とする)から順次、各フレームの符号化画像データの復号処理を行うのであるが、その前に、時間差分ΔTを0に設定する(ステップS1902)。
With the above processing, the number M of non-decoding subbands that will be able to be decoded and output within the target decoding processing time is determined. The above process determines the number of non-decoding subbands, that is, the subbands that are not decoded. In other words, this is equivalent to determining the number of subbands to be decoded.
Next, the encoded image data of each frame is sequentially decoded from the beginning of each frame (here, frame 1), but before that, the time difference ΔT is set to 0 (step S1902). .
次に、非復号サブバンド決定部107で、ステップS1901で決定した非復号サブバンド数Mに基づいて復号フラグF(S)を決定する(ステップS1903)。ステップS1903における処理を図11のテーブルを例に取り説明すると、例えばステップS1901でM=3と決定した場合、S=HH2,LH2,HL2に対応するF(S)、即ち上から3つのF(S)が0となり、それ以外のF(S)は1となる。このようにして生成したテーブルのデータは上述の通りRAM1402に格納する。
Next, the non-decoding
続いて、符号列読み出し部101は2次記憶装置206から各フレームの符号化画像データを読み出して後段のビットプレーン復号部102に出力し、ビットプレーン復号部102はF(S)のテーブルのデータを参照して、符号列読み出し部101から入力される各フレームの符号化画像データにおいて、復号すべきサブバンドにおけるビットプレーンのみを復号し、更に、その復号結果を用いて逆離散ウェーブレット変換部104は逆離散ウェーブレット変換を行い、各フレームの復号結果、即ち各フレームの画像データが動画像データ出力部105に出力される(ステップS1904)。
Subsequently, the code
復号処理時間計測部106はステップS1904における一連の処理に係った時間(ステップS1904で行われた、1フレームの画像データを復元して出力するまでに要する時間)Dtを計測し、非復号サブバンド決定部107に通知する(ステップS1905)。
The decoding processing
非復号サブバンド決定部107は、1フレームの目標復号時間Tと実際にかかった復号処理時間Dtの差分を求め、保持している時間差分ΔTに加算する(ステップS1906)。この時間差分Δtには1フレームの符号化画像データを復号する毎に、「1フレームの目標復号時間Tと実際にかかった復号処理時間Dtとの差分」が累計されていく。
The non-decoding
次に、ΔTの値に応じて非復号サブバンド数Mを更新する(ステップS1907)。即ち、予め求められ、RAM1402に格納されている値Dt(M−1)×nよりもΔTが大きければ、変数Mが保持する値、即ち非復号サブバンド数から1を減じ、変数Mの値を小さくする。
Next, the number M of non-decoding subbands is updated according to the value of ΔT (step S1907). That is, if ΔT is larger than the value Dt (M−1) × n obtained in advance and stored in the
nはあらかじめ定めた任意の数であり、大きい値ほど復号サブバンド数の変化は起こりにくくなる。ΔTが所定の閾値(本実施形態ではDt(M−1)×n)よりも大きくなるのは、目標復号処理時間Tの総和(これまでの復号処理の回数をGとおくとT×G)に対して実際にかかった復号時間Dtの総和(これまでの復号処理の回数をGとおくとDt×G)が小さい場合であり、その場合、まだいくつか余分にサブバンドを復号する時間の余裕があると判断することができる。 n is an arbitrary number determined in advance. The larger the value, the less the change in the number of decoding subbands. ΔT is larger than a predetermined threshold value (Dt (M−1) × n in the present embodiment) because the total of the target decoding processing time T (T × G when the number of decoding processing so far is G) Is the case where the total sum of the decoding times Dt actually taken (Dt × G, where G is the number of decoding processes so far) is small. It can be determined that there is room.
よって、復号画質を向上させるために非復号サブバンド数Mの値を1つ小さくする(換言すれば、復号するサブバンドの数を1つ増やす)。なお、非復号サブバンド数を減じる数は「1」に限定されるものではなく、閾値の値によっては、「2」以上の数を用いても良い。 Therefore, in order to improve the decoding image quality, the value of the number M of non-decoding subbands is decreased by one (in other words, the number of subbands to be decoded is increased by one). Note that the number by which the number of non-decoding subbands is subtracted is not limited to “1”, and a number greater than or equal to “2” may be used depending on the threshold value.
ここで、本実施形態において閾値として用いるDt(M−1)×nは非復号サブバンド数Mを一つ少なくしたことにより、新たに復号対象となるであろうサブバンドの復号所要時間の目安である。 Here, Dt (M−1) × n used as a threshold value in the present embodiment is a measure of the required decoding time of a subband that will be newly decoded by reducing the number M of non-decoding subbands by one. It is.
また、反対に、予め求められ、RAM1402に格納されている値Lq(Lq<0)よりもΔTが小さければ、Mに1を加えて、値を大きくする。
On the other hand, if ΔT is smaller than the value Lq (Lq <0) obtained in advance and stored in the
ΔTが所定の閾値(本実施形態ではLq)よりも小さくなるのは、目標復号処理時間Tの総和(これまでの復号処理の回数をGとおくとT×G)に対して実際にかかった復号時間Dtの総和(これまでの復号処理の回数をGとおくとDt×G)が大きい場合であり、その場合、全体の処理に遅れが生じていると判断することができる。 The reason why ΔT becomes smaller than a predetermined threshold value (Lq in the present embodiment) is actually the sum of the target decoding processing time T (T × G where the number of decoding processing so far is G). This is a case where the sum total of the decoding times Dt (Dt × G when the number of decoding processes so far is set to G) is large. In this case, it can be determined that there is a delay in the entire processing.
従って、1フレームの復号時間を短縮するために非復号サブバンド数を増やす。但しMの値の範囲は0から7までとし、上述の更新処理により0より小さくなった場合には0、7より大きくなった場合には7とする。 Therefore, the number of non-decoding subbands is increased in order to shorten the decoding time of one frame. However, the range of the value of M is from 0 to 7, and is 0 when it is smaller than 0 by the above update process, and 7 when it is larger than 7.
以上のステップS1904からステップS1908までの処理は上記動画像の全てのフレーム(若しくはキーボード1402やマウス1405等により指定されたフレーム数分)について行い、全てのフレームについて行った場合には、本処理を終了し、全てのフレームについて行っていない場合には処理をステップS1904に戻し、以降の処理を繰り返す。
The processing from step S1904 to step S1908 is performed for all the frames of the moving image (or the number of frames specified by the
以上の処理によって、復号単位であるサブバンドの数を決めて復号処理を行うことができる。 Through the above process, the decoding process can be performed by determining the number of subbands as a decoding unit.
以上の説明により、本実施形態に係る画像復号装置によって、予めサブバンドの復号所要時間を見積もっておき、この復号所要時間と、1フレームの復号処理にかかる時間と目標復号時間の差分から、非復号サブバンド数Mを決めることで、再生画像の視覚上の不具合をできるだけ抑制して、復号処理時間を制御することができる。 From the above description, the image decoding apparatus according to the present embodiment estimates the required subband decoding time in advance, and calculates the non-determining time from the decoding required time, the time required for decoding one frame, and the target decoding time. By determining the number M of decoding subbands, it is possible to control the decoding processing time while suppressing the visual defect of the reproduced image as much as possible.
[第2の実施形態]
第1の実施形態では1フレームの復号時間を所定時間内に納めるためにサブバンド毎の復号所要時間を見積もり、非復号サブバンド数を決定した。即ち復号単位をサブバンドとした。本実施形態では同様の目的を達成するために、この復号単位を「ビットプレーン」とし、復号画質を段階的に制御するパラメータ(以降、Qファクタと呼ぶ)を設定して、各Qファクタの復号所要時間を見積もり、非復号ビットプレーン数を決定する。本実施形態の画像復号装置では0から9までの10段階のQファクタとし、あらかじめ各Qファクタ毎に各サブバンドの非復号ビットプレーン数を定める。Qファクタの例については後述する。
[Second Embodiment]
In the first embodiment, in order to keep the decoding time of one frame within a predetermined time, the time required for decoding for each subband is estimated, and the number of non-decoding subbands is determined. That is, the decoding unit is a subband. In the present embodiment, in order to achieve the same object, this decoding unit is set as a “bit plane”, parameters for controlling the decoding image quality in stages (hereinafter referred to as Q factor) are set, and decoding of each Q factor is performed. Estimate the required time and determine the number of non-decoding bitplanes. In the image decoding apparatus according to the present embodiment, 10 stages of Q factors from 0 to 9 are set, and the number of non-decoding bit planes of each subband is determined in advance for each Q factor. An example of the Q factor will be described later.
また、本実施形態の画像復号装置では、実数型5x3フィルタを使用してサブバンド分解を行った画像符号化データを復号対象とする。即ち、前述した動画像符号化装置において信号線207から実数型5x3フィルタを選択する信号を入力して、動画像の各フレームを符号化する。また、各フレームの画像を符号化する際に用いた、各サブバンドの量子化ステップDelta(S)を全フレームで同一とする。
In the image decoding apparatus according to the present embodiment, encoded image data that has undergone subband decomposition using a real-
また、本実施形態に係る画像復号装置の基本構成については第1の実施形態と同じ、即ち、図14に示した構成と同じものとする。 The basic configuration of the image decoding apparatus according to this embodiment is the same as that of the first embodiment, that is, the same as the configuration shown in FIG.
図7は、本実施形態に係る画像復号装置の機能構成を示すブロック図である。図1、9と同じ部分については同じ番号を付けている。図7に示すように、本実施形態に係る画像復号装置は、符号列読み出し部904、ビットプレーン復号部102、係数逆量子化部901、逆離散ウェーブレット変換部902、動画像データ出力部105、復号処理時間計測部106、非復号ビットプレーン決定部903とを備える。なお、図7に示す構成はハードウェアにより実現しても良いが、本実施形態では図7に示す各部は、各部の機能をコンピュータに実現させるプログラムにより実現するものとし、このプログラムは上記外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとする。
FIG. 7 is a block diagram illustrating a functional configuration of the image decoding apparatus according to the present embodiment. The same parts as those in FIGS. 1 and 9 are given the same numbers. As shown in FIG. 7, the image decoding apparatus according to the present embodiment includes a code
また、同図において205は前述の2次記憶装置であって、ここから動画像の符号化データを本装置に入力するのであるが、この2次記憶装置206は例えば上記外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して本装置に接続される外部装置であって、これらの何れかから動画像の符号化データをRAM1402にロードするものとする。なお、この動画像の符号化データは上述の通り、上記動画像符号化装置によって生成されたものである。
In the figure,
以下、図7を参照して、本実施形態に係る画像復号装置が行う処理について説明する。 Hereinafter, processing performed by the image decoding apparatus according to the present embodiment will be described with reference to FIG.
本実施形態に係る画像復号装置はまず最初に、復号対象となる動画像符号化データから任意のフレームの符号化画像データをサンプルとして取り出して、様々な値のQファクタで復号し、夫々のQファクタの値に応じた復号時間を測定する。 First, the image decoding apparatus according to the present embodiment extracts encoded image data of an arbitrary frame from moving image encoded data to be decoded as a sample, decodes it with Q factors of various values, and outputs each Q The decoding time corresponding to the factor value is measured.
一般に動画像符号化データの復号は、動画像符号化データ中のフレームを単位に行われる。図7に示した符号列読み出し部904は、2次記憶装置206に格納されている動画像符号化データから着目するフレームの符号化データを読み出し、RAM1402に格納する。読み出しは基本的にフレーム1、フレーム2というように順番に行われるが、本実施形態では、各フレームの復号処理を行う前に、上記サンプルとしてのフレームの符号化画像データを様々な値のQファクタで復号し、夫々のQファクタの値に応じた復号時間を測定するために、任意のフレームの符号化データをサンプルとして読み出してRAM1402に格納する。以下の説明ではこのフレーム(以下、サンプルフレーム)を便宜上60フレーム目とするが、これに限定されるものではない。
In general, decoding of moving image encoded data is performed in units of frames in the moving image encoded data. The code
また、符号列読み出し部904はフレームの符号化画像データを読み出した際には、この符号化画像データのヘッダを参照し、ここから各サブバンドの符号化時の量子化ステップdelta(S)を読み出し、RAM1402に格納する処理も行う。
Further, when reading the encoded image data of the frame, the code
ビットプレーン復号部102は、RAM1402に格納された符号化データをサブバンド順に読み出し、第1の実施形態と同様の処理を行って、量子化された変換係数データQ(S,x,y)を復号する。ビットプレーン復号部102における処理は、図2に示されるビットプレーン符号化部204が行った処理の逆の処理である。
The bit
ここで、第1の実施形態では、非復号サブバンド決定部107が各サブバンド毎に復号するか否かを示すデータF(S)を決定し、ビットプレーン復号部102は各フレームについてビットプレーン復号処理を行う際に、F(S)に従って、各サブバンド毎に復号/非復号を切り替えていた。
Here, in the first embodiment, the non-decoding
本実施形態では、非復号ビットプレーン決定部903が各サブバンド毎に、下位何ビットのビットプレーンの復号を行わないかを示す「非復号ビットプレーン数ND(S)」を決定する。ND(S)は、サブバンドSの下位ND(S)ビット分のビットプレーンについては復号処理を行わないことを示すデータである。
In the present embodiment, the non-decoding bit
従って、ビットプレーン復号部102は各フレームについてビットプレーンの復号処理を行う際に、このデータND(S)を参照することで、サブバンドSの下位ND(S)ビット分のビットプレーンの復号処理は行わないようにすることができる。このようなND(S)を求める処理については後述する。
Therefore, the bit
なお、本実施形態に係る画像復号装置が最初に復号するサンプルフレームについては全てのサブバンドSに対してND(S)=0とし、全てのサブバンドのビットプレーンの復号を行う。サンプルフレームについてのND(S)のデータはRAM1402に予めロードされているものとする。
Note that for the sample frame that is first decoded by the image decoding apparatus according to the present embodiment, ND (S) = 0 is set for all subbands S, and bitplanes of all subbands are decoded. It is assumed that ND (S) data for the sample frame is loaded in advance in the
係数逆量子化部901では、各サブバンド毎に定めた量子化ステップdelta(S)とビットプレーン復号部102で復号された量子化された係数値Q(S,x,y)とから、各サブバンドの係数C(S,x,y)を復元する。
In the coefficient
逆離散ウェーブレット変換部902では、図1の離散ウェーブレット変換部202が行うウェーブレット変換処理の逆変換が行われ、フレームのデータを復元する。本実施形態では上述の通り、全てのフレームで実数型5x3フィルタを使用して生成される動画像符号化データを復号対象とするので、式(3)、(4)に対応する逆変換を行う。
In the inverse discrete
そして、動画像データ出力部105は、逆離散ウェーブレット変換部902から出力される復元画像データを、I/F1409を介して外部の装置に出力したり、表示装置1460に出力したりする。但し、本実施形態に係る画像復号装置で最初に複数回復号されるサンプルフレームのデータは復号処理時間の推定のために復号したものであるため、復号フレームデータを破棄し、出力しない。
The moving image
復号処理時間計測部106は、符号列読み出し部904が2次記憶装置206から1フレーム分の符号か画像データを読み出す開始時から、ビットプレーン復号部102、係数逆量子化部901、逆離散ウェーブレット変換部902が1フレームの符号化画像データを復号処理して、動画像データ出力部105へと画像データが出力されるまでの時間を、Qファクタの値を0から9まで変化させて、夫々の場合についての1フレーム分の復号時間を計測する。即ち、Qファクタの値が0である場合の1フレーム分の復号時間、Qファクタの値が1である場合の1フレーム分の復号時間、、、、Qファクタの値が9である場合の1フレーム分の復号時間を求める。
The decoding processing
本実施形態では先ずサンプルフレームの復号を行うので、復号処理時間計測部106はQファクタの値が0である場合のサンプルフレームの復号時間、Qファクタの値が1である場合のサンプルフレームの復号時間、、、、Qファクタの値が9である場合のサンプルフレームの復号時間を求める。
In this embodiment, since the sample frame is first decoded, the decoding processing
図8は、各Qファクタの値に対するサンプルフレームの復号時間Dt’(Q)を示す図である。Dt’(0)からDt’(9)の部分には実際の計測時間が格納される。復号処理時間計測部106は上記各復号時間を求める処理を行うことにより、各Qファクタの値に対して求めたサンプルフレームの復号時間Dt’(Q)のデータを生成し、RAM1402に格納する。
FIG. 8 is a diagram showing the decoding time Dt ′ (Q) of the sample frame with respect to each Q factor value. The actual measurement time is stored in the portion from Dt ′ (0) to Dt ′ (9). The decoding processing
そして復号処理時間計測部106は図8に示したDt’(0)〜Dt’(9)までの復号時間のデータを求め、RAM1402に格納する処理を終えると、次に、Qファクタの値の変化に対する復号処理時間の増分Dt(Q)を求める処理を行う。
Then, the decoding processing
具体的には、以下の式(7)に従って、Dt(Q)を求める。 Specifically, Dt (Q) is obtained according to the following equation (7).
Dt(Q)=Dt’(Q+1)−Dt’(Q) (7)
ただし、0≦Q≦8である。
Dt (Q) = Dt ′ (Q + 1) −Dt ′ (Q) (7)
However, 0 ≦ Q ≦ 8.
そして、復号処理時間計測部106は求めたDt(0)〜Dt(8)のデータをRAM1402に格納する。
Then, the decoding processing
また復号処理時間計測部106は、符号列読み出し部101が2次記憶装置206から1フレーム分の符号化画像データを読み出す開始時から、このフレームの復元された画像データが動画像データ出力部105から出力されるまでにかかる時間を「1つのフレームの符号化画像データの復号に係る時間」として求めるのであるが、これは上記Dt’(0)に等価であるため、これを非復号サブバンド決定部107へと出力する。
Also, the decoding processing
復号処理時間計測部106は、上記動画像において最初のフレーム以外については上記時間Dt(即ちDt’(Q))を測定し、非復号サブバンド決定部107へと出力する。
The decoding processing
非復号サブバンド決定部107は、復号処理時間計測部106から出力されるサンプルフレームの復号処理時間Dtが、1フレームの画像データを復元して出力するまでに要する時間の上限値として予めRAM1402に格納されている値以下となるように、1フレームの符号化画像データを構成する各サブバンドの各ビットプレーンのうち、復号しないビットプレーンを決定する処理を行う。
The non-decoding
ここでRAM1402には本処理の前段で予め、インデックスとして用いる変数Qと、1フレームの復号時間の上限値である目標復号処理時間を表す変数T、時間差分を表す変数ΔT、そして、Qファクタの値に応じた、各サブバンドの非復号ビットプレーン数が登録されたテーブルのデータが保持されているものとする。
Here, in the
図6はQファクタの値に応じた、各サブバンドの非復号ビットプレーン数が登録されたテーブルの構成例を示す図である。同図のテーブルは予め作成され、RAM1402に格納されるものである。同図のテーブルを参照すれば、例えばQファクタの値として「4」を用いる場合、サブバンドS=HH2,HL2(LH2)、HH1については上記ND(S)=4,即ち、下位4ビット分のビットプレーンは復号しないものとし、サブバンドS=HL1(LH1)については上記ND(S)=3,即ち、下位3ビット分のビットプレーンは復号しないものとし、サブバンドS=LLについては上記ND(S)=1,即ち、下位1ビット分のビットプレーンは復号しないものとすることが分かる。
FIG. 6 is a diagram illustrating a configuration example of a table in which the number of non-decoding bit planes of each subband is registered according to the Q factor value. The table shown in the figure is created in advance and stored in the
よって、以下説明する処理では復号処理で用いるQファクタの値を求め、求めたQファクタの値に応じて各サブバンド毎の非復号ビットプレーンの数を求める。 Therefore, in the process described below, the value of the Q factor used in the decoding process is obtained, and the number of non-decoding bit planes for each subband is obtained according to the obtained Q factor value.
図13は、本実施形態に係る画像復号装置による動画像符号化データの復号処理の流れを示すフローチャートである。なお同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、本実施形態に係る画像復号装置は図13に示したフローチャートに従った処理を行うことができる。以下、図13に示したフローチャートを参照して、本実施形態に係る画像復号装置が行う画像風号処理についてより詳細に説明する。
FIG. 13 is a flowchart showing a flow of decoding processing of moving image encoded data by the image decoding apparatus according to the present embodiment. Note that the program according to the figure is loaded in the
まず、符号列読み出し部904によって2次記憶装置206からサンプルフレームの符号化画像データを読み出す(ステップS2001)。次に復号処理時間計測部106は、上記変数Qに値9を代入して初期化する(ステップS2002)。そして復号処理時間計測部106は以下説明するステップS2003からステップS2006までの処理を、変数Qの値が負になるまで行う。
First, the coded image data of the sample frame is read from the
まず、符号列読み出し部904によってステップS2001で読み出されたサンプルフレームの符号化画像データをビットプレーン復号部102、係数逆量子化部901、逆離散ウェーブレット変換部902によって復号する(ステップS2003)。この復号処理はQファクタの値(即ち変数Qが保持する値)が9である場合の復号処理である。
First, the coded image data of the sample frame read by the code
復号処理時間計測部106はステップS2003における処理に要する時間を計測する(ステップS2004)。この時点で変数Qの値は「9」であるので、ステップS2004で計測した時間は上述のDt’(9)に相当する。次に、復号処理時間計測部106はステップS2004で計測したDt’(9)のデータをRAM1402に格納する(ステップS2005)。
The decoding processing
次に、復号処理時間計測部106は変数Qが保持する値から1を引いた結果を再び変数Qに代入する処理を行う(ステップS2006)。ステップS2006の処理後、変数Qが保持する値は「8」となる。
Next, the decoding processing
次に、復号処理時間計測部106は変数Qが保持する値が負であるか否かを判定し(ステップS2007)、負でない場合には処理をステップS2003に戻し、上記処理を繰り返す。ここで変数Qが保持する値は「8」であり、8>0であるので、処理をステップS2003に戻す。
Next, the decoding processing
ステップS2003ではQ=8の場合について復号処理を行い、ステップS2004ではその復号時間を計測する。この時点で変数Qの値は「8」であるので、ステップS2004で計測した時間は上述のDt’(8)に相当する。 In step S2003, decoding processing is performed for Q = 8, and in step S2004, the decoding time is measured. Since the value of the variable Q is “8” at this time, the time measured in step S2004 corresponds to the above-described Dt ′ (8).
そしてステップS2005では式(7)に従ってQファクタの値の変化に対する復号処理時間の増分Dt(Q)を求める処理を行う。この増分を求める処理については上記式(7)に従って以下のようにして行う。 In step S2005, a process for obtaining an increment Dt (Q) of the decoding process time with respect to a change in the value of the Q factor is performed according to the equation (7). The processing for obtaining this increment is performed as follows according to the above equation (7).
Dt(8)=Dt’(9)−Dt’(8)
即ちDt(8)は、今回ステップS2004で求めたDt’(8)と、前回ステップS2004で求めたDt’(9)とを用いて求める。これはQ<9の場合について全て同じで、一般に、Dt(Q)は、今回ステップS2004で求めたDt’(Q)と、前回ステップS2004で求めたDt’(Q+1)とを用いて求める。
Dt (8) = Dt ′ (9) −Dt ′ (8)
That is, Dt (8) is obtained using Dt ′ (8) obtained in step S2004 this time and Dt ′ (9) obtained in step S2004 last time. This is the same for all cases where Q <9. In general, Dt (Q) is obtained by using Dt ′ (Q) obtained in the current step S2004 and Dt ′ (Q + 1) obtained in the previous step S2004.
即ち、ステップS2005ではQ=9の場合には上記増分Dt(Q)を求める処理は行わずに、Dt’(9)のデータをRAM1402に格納する処理を行い、Q<9の場合には式(7)に従って上記増分Dt(Q)を求める。
That is, in step S2005, when Q = 9, the process of obtaining the increment Dt (Q) is not performed, but the process of storing the data of Dt ′ (9) in the
以上のステップS2003〜ステップS2006までの処理をQ<0となるまで行うのであるが、Q<0となったときは即ち、Dt(0)〜Dt(8)が求まったということなので、次に、非復号ビットプレーン決定部903は、これらDt(0)〜Dt(8)を用いて、動画像データの各フレームを復号するのに用いるQファクタの値を求める(ステップS2208)。
The processes from step S2003 to step S2006 are performed until Q <0. When Q <0, that is, Dt (0) to Dt (8) are obtained. The non-decoding bit
目標復号処理時間Tに対して、ステップS2004でQ=0の場合に求めたDt’(0)がDt’(0)≦Tの場合には、各フレームを構成する全てのサブバンドの全てのビットプレーンを復号しても1フレームの復号時間が目標復号処理時間内で収まるので、Q=0(非復号ビットプレーン数は0、即ち全てのビットプレーンを復号する)と設定する。 When Dt ′ (0) obtained when Q = 0 in step S2004 with respect to the target decoding processing time T, if Dt ′ (0) ≦ T, all subbands constituting each frame are all included. Even if the bit plane is decoded, the decoding time of one frame is within the target decoding processing time, so that Q = 0 (the number of non-decoding bit planes is 0, that is, all bit planes are decoded) is set.
一方、Dt’(0)>Tの場合、1フレームを構成する全てのサブバンドの全てのビットプレーンを復号していては、1フレームの画像データを復元して出力するまでに要する時間が目標復号処理時間内には収まらない。そこで、1フレームの画像データを復元して出力するまでに要する時間が目標復号処理時間内に収まるようなQファクタの値を求め、図6に示したテーブルを参照して、求めたQファクタの値で規定される非復号ビットプレーン以外を復号することにより、1フレームの画像データを復元して出力するまでに要する時間を目標復号処理時間内に納めることができる。 On the other hand, when Dt ′ (0)> T, the time required to restore and output one frame of image data is the target when all bit planes of all subbands constituting one frame are decoded. It does not fit within the decoding process time. Therefore, a Q factor value is calculated so that the time required to restore and output one frame of image data is within the target decoding processing time. With reference to the table shown in FIG. By decoding other than the non-decoding bit plane defined by the value, the time required to restore and output one frame of image data can be kept within the target decoding processing time.
具体的には、以下の式を満たす最小のQを求め、これを以下用いるべきQファクタの値とする。 Specifically, the minimum Q satisfying the following expression is obtained, and this is set as the value of the Q factor to be used below.
以上の処理により、各フレームを目標復号処理時間内に復号して出力するためのQファクタの値を求めることができる。
次に、各フレームの先頭(ここではフレーム1とする)から順次、各フレームの符号化画像データの復号処理を行うのであるが、その前に、時間差分ΔTを0に設定する(ステップS2209)。
With the above processing, the Q factor value for decoding and outputting each frame within the target decoding processing time can be obtained.
Next, the encoded image data of each frame is sequentially decoded from the beginning of each frame (here, frame 1), but before that, the time difference ΔT is set to 0 (step S2209). .
次に、非復号サブバンド決定部903で、ステップS2208で求めたQファクタの値に基づいて非復号ビットプレーン数を決定する(ステップS2210)。これは上述の通り、図6に例示したテーブルのデータを参照し、ステップS2208で求めたQの値に応じた各サブバンドにおける非復号ビットプレーンの数を取得することにより行われる処理である。
Next, the non-decoding
なお、ステップS2210における処理は非復号ビットプレーン、即ち復号しないビットプレーンの数を決定しているが、これは換言すれば復号するビットプレーンの数を決定していることに等価である。なお、決定した各サブバンド毎の非復号ビットプレーンの数は上記ND(S)のデータとしてRAM1402に格納される。
Note that the processing in step S2210 determines the number of non-decoding bit planes, that is, the number of bit planes not to be decoded. In other words, this is equivalent to determining the number of bit planes to be decoded. Note that the determined number of non-decoding bit planes for each subband is stored in the
続いて、符号列読み出し部101は2次記憶装置206から各フレームの符号化画像データを読み出して後段のビットプレーン復号部102に出力し、ビットプレーン復号部102は上記ND(S)のデータを参照して、符号列読み出し部101から入力される各フレームの符号化画像データにおいて、各サブバンドで復号すべきビットプレーンのみを復号し、更に、その復号結果を用いて逆離散ウェーブレット変換部104は逆離散ウェーブレット変換を行い、各フレームの復号結果、即ち各フレームの画像データが動画像データ出力部105に出力される(ステップS2211)。
Subsequently, the code
復号処理時間計測部106はステップS2211における一連の処理に係った時間(ステップS2211で行われた、1フレームの画像データを復元して出力するまでに要する時間)Dtを計測し、非復号サブバンド決定部903に通知する(ステップS2212)。
The decoding processing
非復号サブバンド決定部903は、1フレームの目標復号時間Tと実際にかかった復号処理時間Dtの差分を求め、保持している時間差分ΔTに加算する(ステップS2213)。この時間差分Δtには1フレームの符号化画像データを復号する毎に、「1フレームの目標復号時間Tと実際にかかった復号処理時間Dtとの差分」が累計されていく。
The non-decoding
次に、ΔTの値に応じてQファクタの値(変数Qが保持する値)を更新する(ステップS2214)。即ち、予め求められ、RAM1402に格納されている値Dt(Q−1)×nよりもΔTが大きければ、変数Qが保持する値から1を減じ、変数Qの値を小さくする。
Next, the value of the Q factor (the value held by the variable Q) is updated according to the value of ΔT (step S2214). That is, if ΔT is larger than the value Dt (Q−1) × n obtained in advance and stored in the
nはあらかじめ定めた任意の数であり、大きい値ほどQファクタの値の変化は起こりにくくなる。ΔTが所定の閾値(本実施形態ではDt(Q−1)×n)よりも大きくなるのは、目標復号処理時間Tの総和(これまでの復号処理の回数をGとおくとT×G)に対して実際にかかった復号時間Dtの総和(これまでの復号処理の回数をGとおくとDt×G)が小さい場合であり、その場合、まだいくつか余分にビットプレーンを復号する時間の余裕があると判断することができる。 n is an arbitrary number determined in advance, and the larger the value, the less likely the change of the Q factor value occurs. ΔT is larger than a predetermined threshold value (Dt (Q−1) × n in the present embodiment) because the total of the target decoding processing time T (T × G when the number of decoding processing so far is set to G) Is the case where the total sum of the decoding times Dt actually taken (Dt × G, where G is the number of decoding processes so far) is small. It can be determined that there is room.
よって、復号画質を向上させるためにQファクタの値を1つ小さくする(換言すると、図6のテーブルに基づき、非復号ビットプレーンの数を少なくする)。なお、Qファクタの値を減じる数は「1」に限定されるものではなく、閾値の値によっては、「2」以上の数を用いても良い。 Therefore, in order to improve the decoded image quality, the value of the Q factor is reduced by one (in other words, the number of non-decoded bit planes is reduced based on the table of FIG. 6). Note that the number by which the Q factor value is subtracted is not limited to “1”, and a number greater than or equal to “2” may be used depending on the threshold value.
また、反対に、予め求められ、RAM1402に格納されている値Lq(Lq<0)よりもΔTが小さければ、Qが保持する値に1を加えて、値を大きくする。
Conversely, if ΔT is smaller than the value Lq (Lq <0) obtained in advance and stored in the
ΔTが所定の閾値(本実施形態ではLq)よりも小さくなるのは、目標復号処理時間Tの総和(これまでの復号処理の回数をGとおくとT×G)に対して実際にかかった復号時間Dtの総和(これまでの復号処理の回数をGとおくとDt×G)が大きい場合であり、その場合、全体の処理に遅れが生じていると判断することができる。 The reason why ΔT becomes smaller than a predetermined threshold value (Lq in the present embodiment) is actually the sum of the target decoding processing time T (T × G where the number of decoding processing so far is G). This is a case where the sum total of the decoding times Dt (Dt × G when the number of decoding processes so far is set to G) is large. In this case, it can be determined that there is a delay in the entire processing.
従って、1フレームの復号時間を短縮するためにQファクタの値を大きくし、その結果非復号ビットプレーンの数を増やす。但しQの値の範囲は0から9までとし、上述の更新処理により0より小さくなった場合には0、9より大きくなった場合には9とする。 Accordingly, in order to shorten the decoding time of one frame, the value of the Q factor is increased, and as a result, the number of non-decoding bit planes is increased. However, the range of the value of Q is from 0 to 9, and is 0 when it is smaller than 0 by the above update process, and 9 when it is larger than 9.
以上のステップS2210からステップS2214までの処理は上記動画像の全てのフレーム(若しくはキーボード1402やマウス1405等により指定されたフレーム数分)について行い、全てのフレームについて行った場合には、本処理を終了し、全てのフレームについて行っていない場合には処理をステップS2210に戻し、以降の処理を繰り返す。
The above processing from step S2210 to step S2214 is performed for all the frames of the moving image (or the number of frames specified by the
以上の処理によって、復号単位であるビットプレーンの数を決めて復号処理を行うことができる。 Through the above process, the decoding process can be performed by determining the number of bit planes as decoding units.
以上の説明により、本実施形態に係る画像復号装置によって、サンプルフレームについて画質のパラメータを変えて復号し、各画質のパラメータ変更による復号所要時間を見積もり、この復号所要時間と、1フレームの復号処理にかかる時間と目標復号時間の差分から、この画質のパラメータを決定することで、再生画像の視覚上の不具合をできるだけ抑制して、復号処理時間を制御することができる。 As described above, the image decoding apparatus according to the present embodiment performs decoding by changing the image quality parameter for the sample frame, estimates the required decoding time by changing each image quality parameter, and the required decoding time and one frame decoding process By determining this image quality parameter from the difference between the time required for the above and the target decoding time, it is possible to control the decoding processing time while suppressing the visual defect of the reproduced image as much as possible.
<変形例>
例えば、上記第1,2の実施形態ではサブバンドを単位にビットプレーン符号化を行ったが、サブバンドをブロックに分割し、ブロックごとにビットプレーン符号化を行ってもよい。また、一つのビットプレーンを複数のパスで符号化するようにしても構わない。
<Modification>
For example, in the first and second embodiments, the bit plane encoding is performed in units of subbands. However, the subbands may be divided into blocks and the bit plane encoding may be performed for each block. One bit plane may be encoded by a plurality of passes.
また、復号単位として第1の実施形態ではサブバンド、第2の実施形態ではビットプレーンとしたが、これ以外にもコードブロックを用いても良いし、第1,2の実施形態に限定されるものではない。 As a decoding unit, a subband is used in the first embodiment and a bit plane is used in the second embodiment. However, other than this, a code block may be used, and the decoding unit is limited to the first and second embodiments. It is not a thing.
また上記第1,2の実施形態では二値算術符号化の方法としてMQ-Coderを用いる例について述べたが、これに限定されるものではなく、例えば、QM-Coder等、MQ-Coder以外の算術符号化方法を適用しても構わないし、マルチコンテクストの情報源を符号化するに適する方式であればその他の2値符号化方式を適用しても構わない。 In the first and second embodiments, the example in which MQ-Coder is used as the binary arithmetic coding method has been described. However, the present invention is not limited to this. For example, other than MQ-Coder, such as QM-Coder An arithmetic encoding method may be applied, or any other binary encoding method may be applied as long as the method is suitable for encoding a multi-context information source.
また、サブバンド分解のためのフィルタは上記第1,2の実施形態に限定されるものではなく、実数型9x7フィルタなど、その他のフィルタを使用しても構わない。さらに、その適用回数についても第1,2の実施形態に限定されるものではない。また上記第1,2の実施形態では水平方向、垂直方向に同回数の1次元離散ウェーブレット変換を施したが、同一回数でなくてもよい。
Further, the filter for subband decomposition is not limited to the first and second embodiments, and other filters such as a
さらに、動画像符号化データの構造についても上記第1,2の実施形態に限定されるものではなく、符号列の順序、付加情報の格納形態など、変えても構わない。例えばフレームデータの符号化方式としてISO/IEC15444−1に定めるJPEG2000を用いる場合に好適なものであり、JPEG2000の規格に記される符号化データ、あるいは同規格のPart3に規定するMotion JPEG2000の符号化データとしても良い。 Furthermore, the structure of the moving image encoded data is not limited to the first and second embodiments, and the order of the code string, the storage form of the additional information, and the like may be changed. For example, it is suitable when JPEG2000 defined in ISO / IEC 15444-1 is used as the encoding method of frame data. It is good as data.
また、上記第1,2の実施形態では復号処理に先立ち、任意の1枚のフレームを復号して処理時間の見積もりを行ったが、複数のフレームをサンプルとして復号処理時間の見積もりを行っても良いし、復号処理の途中で復号処理時間の見積もりを更新するような構成としても良い。 In the first and second embodiments, the processing time is estimated by decoding an arbitrary frame prior to the decoding process. However, the decoding processing time may be estimated using a plurality of frames as samples. It is also possible to adopt a configuration in which the estimation of the decoding process time is updated during the decoding process.
[その他の実施形態]
尚、本発明は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。
[Other Embodiments]
Note that the present invention can be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but a device (for example, a copier, a facsimile machine, etc.) composed of a single device. You may apply to.
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Also, an object of the present invention is to supply a recording medium (or storage medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and a computer (or CPU or CPU) of the system or apparatus. Needless to say, this can also be achieved when the MPU) reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program code read from the recording medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。 When the present invention is applied to the recording medium, program code corresponding to the flowchart described above is stored in the recording medium.
Claims (12)
前記各フレームから、サンプルフレームの符号化画像データを抽出して所定の復号単位で復号するサンプルフレーム復号工程と、
前記サンプルフレームの符号化画像データの復号に係る時間を計測する第1の計測工程と、
前記第1の計測工程で計測した時間が所定時間以下となるように、復号する復号単位の数を決定する決定工程と、
与えられた復号単位の数に従って、各フレームの符号化画像データ復号する復号工程と、
前記復号工程で前記各フレームを復号する際に、各フレーム毎の復号に要する時間を計測する第2の計測工程と、
前記所定時間と前記第2の計測工程で計測された時間との差分を、各フレームを復号する毎に累計していき、当該累計値が所定値以上となった場合に、前記決定工程で決定した復号単位の数を更新する更新工程とを備え、
前記復号工程では、前記決定工程で決定した復号単位の数、もしくは前記更新工程で更新した復号単位の数に従って、各フレームの符号化画像データ復号することを特徴とする画像復号方法。 An image decoding method for inputting moving image data in which an image of each frame is encoded and decoding the encoded image data of each frame,
A sample frame decoding step of extracting encoded image data of a sample frame from each frame and decoding it in a predetermined decoding unit;
A first measuring step of measuring a time required for decoding the encoded image data of the sample frame;
A determining step for determining the number of decoding units to be decoded so that the time measured in the first measuring step is equal to or less than a predetermined time;
A decoding step of decoding the encoded image data of each frame according to a given number of decoding units;
A second measuring step of measuring a time required for decoding each frame when decoding each frame in the decoding step;
The difference between the predetermined time and the time measured in the second measuring step is accumulated every time each frame is decoded, and is determined in the determining step when the accumulated value exceeds a predetermined value. An update step of updating the number of decoded units,
In the decoding step, the encoded image data of each frame is decoded according to the number of decoding units determined in the determining step or the number of decoding units updated in the updating step.
前記決定工程では、
前記第1の計測工程で計測した時間が前記所定時間よりも大きい場合に、前記第1の計測工程で計測した時間から、前記第3の計測工程で計測した夫々の復号単位の復号に要する復号時間を順次引いていき、引いた結果が前記所定値以下となった時点で前記第1の計測工程で計測した時間から前記第3の計測工程で計測した時間を引いた回数に基づいて、1フレームを構成する全ての復号単位を所定の順番に並べて一方から数えた場合の、復号しない復号単位に含められる数を決定することで、前記復号する復号単位の数を決定することを特徴とする請求項1に記載の画像復号方法。 Furthermore, when decoding the encoded image data of the sample frame in the sample frame decoding step, a third measurement step of measuring the time required for decoding for each decoding unit,
In the determination step,
Decoding required for decoding each decoding unit measured in the third measurement step from the time measured in the first measurement step when the time measured in the first measurement step is greater than the predetermined time. Based on the number of times that the time measured in the third measurement step is subtracted from the time measured in the first measurement step when the time is sequentially subtracted and the result of the subtraction becomes equal to or less than the predetermined value, 1 The number of decoding units to be decoded is determined by determining the number included in decoding units that are not decoded when all decoding units constituting a frame are arranged in a predetermined order and counted from one side. The image decoding method according to claim 1.
前記サンプルフレーム復号工程では、前記パラメータを用いた前記サンプルフレームの符号化画像データの復号処理を、前記パラメータの値を夫々異ならせて、夫々異なる値の前記パラメータ毎に行い、
前記第1の計測工程では、前記夫々の値のパラメータ毎に、前記サンプルフレーム復号工程による復号時間を計測し、
前記決定工程では、
所定の値の前記パラメータを用いて前記サンプルフレーム復号工程で前記サンプルフレームを復号した際に前記第1の計測工程で計測した第1の時間が前記所定時間よりも大きい場合に、
夫々の前記復号時間において、隣接する時間同士の差分を前記第1の時間から順次引いていき、引いた結果が前記所定値以下となった時点で前記引いた回数に基づいて、前記パラメータの値を決定し、更に、前記テーブルを参照して、当該決定したパラメータの値に対応する、復号する復号単位の数を決定することを特徴とする請求項1に記載の画像復号方法。 Furthermore, data of a table in which a plurality of sets of parameter values related to image quality and the number of decoding units to be decoded are registered is stored in a memory,
In the sample frame decoding step, the decoding processing of the encoded image data of the sample frame using the parameters is performed for each of the parameters having different values, with the values of the parameters being different.
In the first measurement step, the decoding time by the sample frame decoding step is measured for each parameter of the respective values,
In the determination step,
When the first time measured in the first measurement step when the sample frame is decoded in the sample frame decoding step using the parameter having a predetermined value is larger than the predetermined time,
In each of the decoding times, the difference between adjacent times is sequentially subtracted from the first time, and the value of the parameter is based on the number of subtractions when the subtraction result is equal to or less than the predetermined value. The image decoding method according to claim 1, further comprising: determining a number of decoding units to be decoded corresponding to the determined parameter value by referring to the table.
前記各フレームから、サンプルフレームの符号化画像データを抽出して所定の復号単位で復号するサンプルフレーム復号手段と、
前記サンプルフレームの符号化画像データの復号に係る時間を計測する第1の計測手段と、
前記第1の計測手段が計測した時間が所定時間以下となるように、復号する復号単位の数を決定する決定手段と、
与えられた復号単位の数に従って、各フレームの符号化画像データ復号する復号手段と、
前記復号手段によって前記各フレームを復号する際に、各フレーム毎の復号に要する時間を計測する第2の計測手段と、
前記所定時間と前記第2の計測手段により計測された時間との差分を、各フレームを復号する毎に累計していき、当該累計値が所定値以上となった場合に、前記決定手段が決定した復号単位の数を更新する更新手段とを備え、
前記復号手段は、前記決定手段が決定した復号単位の数、もしくは前記更新手段が更新した復号単位の数に従って、各フレームの符号化画像データ復号することを特徴とする画像復号装置。 An image decoding device for inputting moving image data in which an image of each frame is encoded and decoding the encoded image data of each frame,
Sample frame decoding means for extracting encoded image data of a sample frame from each frame and decoding it in a predetermined decoding unit;
First measuring means for measuring a time for decoding the encoded image data of the sample frame;
Determining means for determining the number of decoding units to be decoded so that the time measured by the first measuring means is a predetermined time or less;
Decoding means for decoding the encoded image data of each frame according to the given number of decoding units;
Second measuring means for measuring a time required for decoding each frame when the decoding means decodes each frame;
The difference between the predetermined time and the time measured by the second measuring means is accumulated every time each frame is decoded, and the determining means determines when the accumulated value exceeds a predetermined value. Update means for updating the number of decoded decoding units,
The image decoding apparatus characterized in that the decoding means decodes encoded image data of each frame according to the number of decoding units determined by the determining means or the number of decoding units updated by the updating means.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004052126A JP2005102125A (en) | 2003-08-19 | 2004-02-26 | Image decoding method and image decoding apparatus |
US10/823,612 US7903734B2 (en) | 2003-04-24 | 2004-04-14 | Moving image decoding apparatus, moving image decoding method, image decoding method, and image decoding apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003295528 | 2003-08-19 | ||
JP2004052126A JP2005102125A (en) | 2003-08-19 | 2004-02-26 | Image decoding method and image decoding apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005102125A true JP2005102125A (en) | 2005-04-14 |
Family
ID=34466964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004052126A Withdrawn JP2005102125A (en) | 2003-04-24 | 2004-02-26 | Image decoding method and image decoding apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005102125A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008011337A (en) * | 2006-06-30 | 2008-01-17 | Fujitsu Ltd | Reproducing apparatus and reproducing method |
-
2004
- 2004-02-26 JP JP2004052126A patent/JP2005102125A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008011337A (en) * | 2006-06-30 | 2008-01-17 | Fujitsu Ltd | Reproducing apparatus and reproducing method |
JP4579877B2 (en) * | 2006-06-30 | 2010-11-10 | 富士通セミコンダクター株式会社 | Playback apparatus and playback method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4702928B2 (en) | Moving picture encoding apparatus and decoding apparatus, control method therefor, computer program, and computer-readable storage medium | |
US6041143A (en) | Multiresolution compressed image management system and method | |
JP4511788B2 (en) | Multi-resolution image data management system and method based on tiled wavelet transform and sparse data coding | |
KR100971835B1 (en) | Image decoding method and apparatus | |
JP4768728B2 (en) | Method and apparatus for encoding a block of values | |
US6950471B2 (en) | Coding device, coding method and storage medium | |
US7903734B2 (en) | Moving image decoding apparatus, moving image decoding method, image decoding method, and image decoding apparatus | |
US8098947B2 (en) | Method and apparatus for processing image data by rearranging wavelet transform data | |
JP2007142614A (en) | Image processing apparatus and method, program, and information recording medium | |
JP2004153751A (en) | Image processing apparatus and image processing method | |
JP2004104347A (en) | Image processing apparatus, image processing method, program, and recording medium | |
JP5817125B2 (en) | Image processing apparatus and method | |
US8428381B2 (en) | Image compression method with variable quantization parameter | |
KR102250088B1 (en) | Method and Apparatus for decoding video stream | |
JP4593720B2 (en) | Method and apparatus for dynamically displaying residue number coefficient | |
JP2008017472A (en) | Compression method of ultrasonic imaging | |
JP2005102125A (en) | Image decoding method and image decoding apparatus | |
JP4514666B2 (en) | Video encoding device | |
JP4489474B2 (en) | Image processing apparatus, program, and recording medium | |
JP4247088B2 (en) | Non-interlaced image processing apparatus and processing method | |
JP4247089B2 (en) | Non-interlaced image processing apparatus and processing method | |
JP4077706B2 (en) | Interlaced image processing apparatus and processing method | |
JP2004343710A (en) | Device and method for decoding moving image | |
JP4194311B2 (en) | Moving picture encoding apparatus, moving picture decoding apparatus, and methods thereof | |
JP2005150846A (en) | Image processing method and apparatus thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070501 |