JP3978810B2 - 符号化方法およびこれを使用した符号化装置 - Google Patents
符号化方法およびこれを使用した符号化装置 Download PDFInfo
- Publication number
- JP3978810B2 JP3978810B2 JP13890697A JP13890697A JP3978810B2 JP 3978810 B2 JP3978810 B2 JP 3978810B2 JP 13890697 A JP13890697 A JP 13890697A JP 13890697 A JP13890697 A JP 13890697A JP 3978810 B2 JP3978810 B2 JP 3978810B2
- Authority
- JP
- Japan
- Prior art keywords
- code amount
- target code
- value
- encoding
- fixed
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は入力データの符号化方法およびこれを使用した符号化装置に関する。詳しくは、画像などの入力データを符号化するに当たり、発生符号量と目標符号量との差分をフィードバックして次回以降の目標符号量に反映させる場合、入力データの性質に依存したフィードバックスレッショールド値を算出して目標符号量を更新することによって、符号化/復号化を繰り返した場合でも画質の劣化が発生しないようにしたものである。
【0002】
【従来の技術】
画像などの入力データを符号化するに際し、MPEG2(Moving Picture Experts Group 2)のような符号化方法にあっては、パッケージメディアや通信容量などの制限によって、ある符号化処理単位、例えばGOP(Group Of Pictures)に対して予め定められた目標符号量以内に各GOPでの発生符号量を抑えなければならない。
【0003】
量子化が離散的なことなどの原因で、目標符号量と発生符号量との間には差が生じ、その分の画質劣化が生じる。一般に、このような問題を解決するために、目標符号量と発生符号量の差を観測し、その差分値をそれ以降符号化する入力データに対しての目標符号量に反映させ、できるだけ発生符号量を目標符号量に近付けるフィードバック制御方法などが採用されている。
【0004】
図31はこのような処理を行う従来の符号化装置の要部の系統図である。入力データとしては画像データを示す。
【0005】
端子11に供給された入力データはDCT変換手段12に供給されてDCT係数に変換される。DCT係数は固定の量子化手段14に供給されて量子化される。量子化手段14には量子化値の異なる複数の量子化器が設けられている。MPEG2の場合、31通りの量子化値でそれぞれ量子化されるものであるが、この量子化手段14は最適な目標符号量を算出するために用いられるものであるから、実際より少ない数の量子化器によって量子化される。
【0006】
この例では図32に示すように量子化値の異なるN個(例えば、N=8)の量子化器14a〜14hが使用される。量子化されたDCT係数は演算手段16でGOP単位および符号化の最小単位であるマクロブロック単位でそれぞれの量子化値での発生符号量の計算が行われる。したがってこの演算手段16も図32のように8個の演算器16a〜16hで構成される。
【0007】
GOP単位とマクロブロック単位の発生符号量が目標符号量割り当て手段(目標符号量決定手段)18に供給されて、GOP単位で予め定められた目標符号量TMBから、マクロブロック毎の符号量(ターゲットビットレート)となる目標符号量TMB(TMBb)が割り当てられる。
【0008】
この目標符号量TMBbとDCT係数がそれぞれQサーチ手段30に供給されてマクロブロック毎に得られるこの目標符号量TMBを越えない最小の量子化値が演算によって求められる。この最小量子化値とDCT係数がバックサーチ手段32に供給される。この手段32は符号化/復号化での画質劣化を防ぐためのバックサーチアルゴリズムによって処理されるブロックであり、ここで量子化のための最終的な量子化値が選択される。
【0009】
この量子化値は量子化手段34に供給されてDCT係数が量子化される。量子化されたDCT係数は可変長符号化手段36で発生頻度に応じた符号語VLC(Variable Length Code)に変換される。
【0010】
DCT係数に対する量子化は離散的であるため、またはQサーチ手段30で選択した量子化値をバックサーチ手段32のバックサーチアルゴリズムが一番最初に符号化されたときの量子化値に置き換えてしまうために、目標符号量割り当て手段18で割り当てた目標符号量TMBと、可変長符号化手段36で発生されるマクロブロック毎の発生符号量は、必ずしも一致しない。
【0011】
そのために可変長符号化手段36ではさらにマクロブロック毎の目標符号量TMBと実際の発生符号量の差分値DFが目標符号量割り当て手段18にフィードバックされる。
【0012】
その差分値DFは目標符号量と同じ単位のGOP単位毎に加算し、GOP単位内でそれ以降符号化されるマクロブロックの目標符号量TMBに上乗せすることで、より目標符号量に近付けるようにしている。
【0013】
図33は目標符号量割り当て手段18の具体例を示す。図33において、補間手段22では、GOP単位の目標符号量TMBが、8個の固定量子化器14a〜14hでのGOP単位での発生符号量のどこに位置しているのかを判定すると共に、目標符号量を越えない最小の量子化値が補間処理されて出力される。
【0014】
割り当て器24では補間処理して得られた量子化値の結果と、その量子化値を挟む2個の固定量子化器での各マクロブロック単位の発生符号量の結果から、それぞれのマクロブロック毎の目標符号量TMBaを割り当てる。実際には計算して求める。
【0015】
フィードバック量決定手段26では、可変長符号化手段36からの差分値DFを目標符号量の単位と同じ単位であるGOP単位で加算する。そしてその値がフィードバックスレッショールド値FBT(固定値)を越えるまでは加算出力DFが出力される。フィードバックスレッショールド値FBTを越えたときにはリミッタされるので、固定のフィードバックスレッショールド値FBTが出力される。
【0016】
そして、加算手段28では、目標符号量と同じ単位であるGOP単位内で、それ以降に符号化されるマクロブロック毎の目標符号量TMBaにフィードバック値FBを加えたものをマクロブロックごとの目標符号量TMBbとして出力される。
【0017】
【発明が解決しようとする課題】
ところで、従来では固定のフィードバックスレッショールド値FBTを使用しているために、GOP単位での発生符号量が目標符号量TMBbを上回ることはない。なぜなら、目標符号量割り当て手段24において、GOP単位内でのすべてのマクロブロックに対して目標符号量を割り当てているからである。
【0018】
また、フィードバック量は、マクロブロック毎に割り当てた目標符号量TMBaと、その目標符号量を超えないような量子化値で量子化された発生符号量との差分DFを、目標符号量と同じ単位であるGOP単位毎に加算したものにフィードバックスレッショールド値FBTによってリミッタをかけた量である。補間手段22によってGOP単位の目標符号量を越えない最小の量子化値を選ぶ限り、このようなフィードバック制御を行なってもGOP単位で発生符号量が目標符号量を越えることはない。
【0019】
このように、従来の符号化方法では、フィードバック値として外部からそのスレッショールド値を設定できるものの、入力画像データの性質には無関係に決定される値であるため、符号化/復号化を繰り返すと画質劣化が激しくなってしまう問題を持っていた。
【0020】
そこでこの発明はこのような従来の課題を解決したものであって、符号化/復号化を繰り返しても画質の劣化が発生しない符号化方法およびこれを使用した符号化装置を提案するものである。
【0021】
【課題を解決するための手段】
上述した課題を解決するため、この発明に係る符号化方法では、所定の符号化処理単位に対して予め決められた目標符号量以内に各符号化処理単位での発生符号量を抑えなければならない符号化方法において、量子化値が異なるN(Nは整数)個の固定量子化器での上記符号化処理単位の発生符号量間の傾きを算出し、該算出した傾きが単調変化しているか否かにより、入力データが過去に符号化/復号化されているかを判定し、上記N個の固定量子化器での上記発生符号量から、上記符号化処理単位の上記目標符号量を挟む2つの発生符号量を求め、上記判定結果において、上記算出した傾きが単調変化であり、上記入力データが過去に符号化/復号化されていないと判定されたとき、上記2つの固定量子化器の量子化値の間に存在する固定量子化器を考慮して、改めて上記目標符号量を挟む量子幅が最小となる2つの固定量子化器を決定し、該量子幅が最小の2つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値と、上記量子幅が最小の2つの固定量子化器のうち上記目標符号量を超えない上記固定量子化器の発生符合量と上記目標符号量との差分値とからフィードバックスレッショールド量を決定し、上記判定結果において、上記算出した傾きが単調変化ではなく、上記入力データが過去に符号化/復号化されていると判定されたとき、上記2つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値からフィードバックスレッショールド量を決定することによって、発生符号量を目標符号量に近づけるようにしたことを特徴とする。
【0022】
また、この発明に係る符号化装置では、入力データを圧縮符号化するに際し、実際に発生する所定の符号化処理単位での発生符号量を所定の符号化処理単位での目標符号量に近づける目標符号量割り当て手段を有する符号化装置において、量子化値が異なるN(Nは整数)個の固定量子化器での上記符号化処理単位の発生符号量間の傾きを算出し、該算出した傾きが単調変化しているか否かにより、入力データが過去に符号化/復号化されているかを判定する判定手段と、上記N個の固定量子化器での上記発生符号量から、上記符号化処理単位の上記目標符号量を挟む2つの発生符号量を求め、上記判定結果において、上記算出した傾きが単調変化であり、上記入力データが過去に符号化/復号化されていないと判定されたとき、上記2つの固定量子化器の量子化値の間に存在する固定量子化器を考慮して、改めて上記目標符号量を挟む量子幅が最小となる2つの固定量子化器を決定し、該量子幅が最小の2つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値と、上記量子幅が最小の2つの固定量子化器のうち上記目標符号量を超えない上記固定量子化器の発生符合量と上記目標符号量との差分値とからフィードバックスレッショールド量を決定し、上記判定結果において、上記算出した傾きが単調変化ではなく、上記入力データが過去に符号化/復号化されていると判定されたとき、上記2つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値からフィードバックスレッショールド量を決定するフィードバックコントロール手段とを有することを特徴とする。
【0023】
この発明に係る符号化方法および符号化装置では、符号量予測のための複数の固定量子化器での発生符号量の結果から、入力データが過去に符号化/復号化されているかを自動判定し、その判定結果から、符号化/復号化されていない場合には、入力データの性質に依存したフィードバック制御を行う。これとは逆に入力データが過去に符号化/復号化されている場合には、再現性を重視したフィードバック制御を行う。
【0024】
このような入力データの性質に依存したフィードバック制御を行うことによって発生符号量が目標符号量に近くなり、符号化/復号化を繰り返しても画質の劣化が目立たなくなる。
【0025】
【発明の実施の形態】
続いて、この発明に係る符号化方法およびこれを使用した符号化装置の一実施形態を図面を参照して詳細に説明する。ただし、この例でも入力データとしては画像データであり、符号化手段としてはMPEG2を例示する。
【0026】
図1はこの発明に係る符号化方法を適用した符号化装置10の一実施形態を示す。この実施形態は図31に示す従来例とその基本構成は全く同じであり、同一部分については同一の符号を使用するとすれば、従来例と大幅に相違する点は目標符号量割り当て手段20だけである。したがって、基本構成およびその動作については説明を割愛する。
【0027】
図2は目標符号量割り当て手段20の具体例を示す。この割り当て手段20には図32に示したように補間手段22、割り当て器24、フィードバック量決定手段26および加算手段28を有する他、判定手段50とフィードバックコントロール手段60とが設けられている。
【0028】
判定手段50は入力データが過去に符号化/復号化されているかどうかを判定するためのもので、同図のようにN個(N=8)の固定量子化器14a〜14hでのGOP単位の発生符号量と、マクロブロック単位の目標符号量TMBとが供給され、これらの結果から、入力データが過去に符号化/復号化されたものであるかを自動判定するマイクロプロセッサで構成されている。
【0029】
フィードバックコントロール手段60は、8個の固定量子化器14a〜14hでのGOP単位の発生符号量が供給される他、判定手段50からの判定結果が供給される。ここでは判定結果を参酌して入力データの性質を推定し、その推定結果と発生符号量および目標符号量を用いてフィードバックスレッショールド値FBTを決定するマイクロプロセッサで構成されている。
【0030】
判定手段50の動作を図3を用いて説明する。8個の固定量子化器14a〜14hの量子化値をFixQ(i),i=1,2,・・・,8)としたとき、
FixQ(i)くFixQ(i+1) ・・・(1)
ここに、i=1,・・・,7
のような関係に選ばれている。そして、それぞれの量子化値でのGOP単位での発生符号量(GenBit(FixQ(i)),i=1,2,・・・,8)から、その固定量子化値間の発生符号量の傾きを求める。その傾きの結果から入力画像データが過去に符号化/復号化されたかどうかを判定する。
【0031】
まず、図3のステップ71で、iを初期化し、次にステップ72で発生符号量の傾き(GD(i),i=1,・・・,7)を計算する。計算式は、例えば以下のようにする。
(2)式により8個の固定量子化器14a〜14hの間の傾きを求める。そのため、iがN=8となるまではiをインクリメントする(ステップ73,74)。全ての固定量子化器14a〜14h間の傾きを求めたなら、iを初期化して(ステップ75)、それぞれの傾きの間の関係が単調な変化、この例ではiが大きくなるにつれて単調減少(GD(i)>GD(i+1))しているかどうかを調べる(ステップ76)。
【0032】
もし、単調な変化をしている場合には、iをインクリメントしながら順次同様な判定を行い(ステップ77,78)、全てに亘って単調な変化であるときにはその入力画像データは過去に符号化/復号化されていない画像データであると判断する(ステップ79)。そして、単調な変化をしていない場合には、その入力画像データは過去に符号化/復号化されている画像データであると判断する(ステップ80)。
【0033】
フィードバックコントロール手段60では、上述したように入力画像データの性質を推定し、その推定結果からフィードバックスレッショールド値を決定する。図4を参照して説明する。
【0034】
まず、iを初期化したのち(ステップ81)、GOP単位での目標符号量TMBと8個の固定量子化器14a〜14hからのGOP単位での発生符号量の関係を調べ、目標符号量を挟みこむような2個の固定量子化器の発生符号量
GenBit(FixQ(i)),GenBit(FixQ(i+1))
を見つけ出す。つまり、
GenBit(FixQ(i))>目標符号量>GenBit(FixQ(i+1))・・・・(3)
となるような量子化値を、iをインクリメントしながら見つけ出す(ステップ82,83,84)。
【0035】
次に、(3)式を満足する発生符号量を検出したときには、入力画像データが符号化/復号化されているかどうかの判定結果を参酌する(ステップ85)。そして、符号化/復号化されていないときには、符号化/復号化されていないときのフィードバックスレッショールド値を求める計算アルゴリズムが実行される(ステップ90)。符号化/復号化されているときには、符号化/復号化されているときのフィードバックスレッショールド値を求める計算アルゴリズムが実行される(ステップ100)。
【0036】
目標符号量が8個の固定量子化器14a〜14hからの発生符号量で挟み込めない場合は(ステップ82)、入力データに対して目標符号量が極端に多いか少ないかの場合である。この場合には例えば従来の方法のような例外処理(ステップ88)が行なわれる。本来ならばこのようなことがないように、目標符号量または8個の固定量子化値が決定されなければならない。
【0037】
図4のステップ90はサブルーチン構成であって、その一例を図5に示す。同図のフィードバックスレッショールド計算アルゴリズムにおいては、図4ステップ82で選択された2個の固定量子化値FixQ(i)とFixQ(i+1)の関係を調べる。
【0038】
この関係が、符号化の方法として規定される最小の量子化ステップ(==minQステップと定義する)であるかを判定する(ステップ91)。FixQ(i)とFixQ(i+1)との関係がこの最小量子化ステップ(FixQ(i+1)−FixQ(i)==minQステップと定義する)であるならば、ステップ82で選択した量子化値FixQ(i)とFixQ(i+1)をそのまま補間後の量子化ステップ(InterpQ(j))として使用する(ステップ92)。
【0039】
逆に、FixQ(i)とFixQ(i+1)との関係が最小量子化ステップでないならば、FixQ(i)とFixQ(i+1)との間で最小の量子化ステップになる量子化ステップ(InterpQ(j))を補間によって求める(ステップ93,94)。
【0040】
ここで、
k=j,・・・,j+X−1
【0041】
そして、InterpQ(j)に対するGOP単位の発生符号量を、GenBit(FixQ(i))とGenBit(FixQ(i+1))から補間により求める。ここでは、直線補間により求めるものとする。
ここに、y=j,j+1,・・・,j+X−1
【0042】
この補間により求めたGOP単位の発生符号量に対して、GOP単位の目標符号量との関係が、
GenBit(InterpQ(j))>目標符号量>GenBit(InterpQ(j+1))・・・(6)
となるjを見つけ出す(ステップ95)。(6)式を満たすInterpQ(j)とInterpQ(j+1)との関係は、最小量子化ステップとなる。
【0043】
ステップ92若しくはステップ95で決定された、InterpQ(j),InterpQ(j+1)さらにそのGOP単位の発生符号量GenBit(InterpQ(j)),GenBit(InterpQ(j+1))およびGOP単位の目標符号量から、フィードバックスレッショールド値が算出される(ステップ97)。
【0044】
ステップ97ではある関数UNC=f(x),LNC=g(x)を定義する。ここに、
ステップ97ではこの計算を行い、
フィードバック=FNC(UNC,LNC) ・・・(9a)
をフィードバックスレッショールドFBTの値とする。
【0045】
例えば、具体的には、
f(x)=(GOP単位のマクロブロック数)*x ・・・(9b)
g(x)=(GOP単位のマクロブロック数)*x ・・・(9c)
として、FNC()を図6のようにすることが考えられる。
【0046】
図6から明らかなように、UNCの値が増えるにしたがって、フィードバックスレッショールド値を大きくし、かつ、LNCの値が小さくなるにしたがってフィードバックスレッショールド値を小さくする。そしてこのフィードバックスレッショールドFBTと差分値DFとから、そのうちの小さい方の値をフィードバック量決定手段26の出力(フィードバック量FB)として用いる。
【0047】
このような計算アルゴリズムを用いることにより、ほぼ各マクロブロックの目標符号量を最小量子化ステップ(InterpQ(j)とInterpQ(j+1))内での変動に収めることができる。最小量子化ステップ内での変動に抑えられるために量子化値が安定化する。また、この計算アルゴリズムは、入力データに対する8個の固定量子化器14a〜14hからの発生符号量から出発しているので、入力画像データの性質を的確に反映することができる。
【0048】
図7はサブルーチンステップ100(図4)での計算アルゴリズムの具体例である。まず、図4ステップ82で選択された2個の固定量子化器の1つであるFixQ(i)とGOP単位の目標符号量から、例えば以下のような関数h(x)を定義する(ステップ101)。
【0049】
次に、この(10a)式を計算し、
フィードバック=FC(UC) ・・・(10b)
をフィードバックスレッショールドFBTの値とする(ステップ102)。
【0050】
例えば、具体的には、
h(x)=(GOP単位のマクロブロック数)*x ・・・(10c)
として、FC()を図8のようにすることが考えられる。UCの値が増えるにしたがって、フィードバックスレッショールド値を大きくする。
【0051】
上述したFNC()と違い、UCが0の場合でもフィードバックスレッショールド値は0としないである正の値Sを持たせる。また、LNCなどのようにフィードバックスレッショールド値を小さくする要素は導入しない。これは、以下の理由による。
【0052】
フィードバックスレッショールド値を図5のようにしてしまうと、バックサーチ手段32でのアルゴリズムにおいて、最初に符号化した際の量子化値を見つけにくなってしまう。発生符号量が目標符号量を越えてはならない本発明のような符号化では、「目標符号量を越えない最小の量子化値を選ばなくてはならない」と言う大前提がある。バックサーチアルゴリズムを通過した後でも、この大前提は当然満たされなければならない。
【0053】
バックサーチアルゴリズムでは、M段の量子化(Q(i),i=1,2,・・・,M)を行ない、その量子化の際の余りの最小となる量子化値Q(j)を見つけ、それを最初の符号化の際に量子化された量子化値と判定する。
【0054】
しかし、ノイズなどの影響でM段の量子化での余りに差がなくなることもある。このような場合にはバックサーチアルゴリズムでは、量子化値の変更を行なわない。
【0055】
このようなバックサーチアルゴリズムにおいて、バックサーチ手段32を通過した後でも、この大前提を満足するためには、M段の量子化の最小の量子化値は、目標符号量を越えない最小のものを選ぶ必要がある。そして、その最小の量子化値から量子化値を増やす方向にM段の量子化を行ない、余りが最小となる量子化値を見つけ出す。
【0056】
言い換えれば、大前提を満足させながら、かつバックサーチアルゴリズムで最初に符号化した際の量子化値を見つけられるようにするためには、目標符号量を適度に多くして、最初に符号化された量子化値での発生符号量を越えるように選ぶ必要がある。
【0057】
これを効果的に行なうためには、フィードバックスレッショールドFBTは、UCが0の場合でもある正の値Sとする必要があり、また、バックサーチアルゴリズムが確実に最初の符号化の際の量子化値を検出することによる可変長符号化手段36からの目標符号量と発生符号量との差分値DFは増加するので、LNCを導入してフィードバックスレッショールド値を小さくする必要がない。
【0058】
このアルゴリズムにより、マクロブロック単位の目標符号量が最初に符号化した際の量子化値での発生符号量を上回り、その結果バックサーチアルゴリズムを十分活用することができるので、符号化/復号化を繰り返したときの劣化を抑えることが可能となる。
【0059】
続いて、具体例に基づいて従来と本発明との差異を述べる。その前提として、入力画像のマクロブロックデータのY信号、Cr信号、Cb信号がそれぞれ図10〜図12であるとする。図の例はそれぞれ4ライン単位の繰り返しである。このマクロブロックMBが2個で1GOPとする。またGOP単位の目標符号量を1520ビットとする。従来の方法の場合のフィードバックスレッショールドは30ビットの固定値とする。従来例から説明する。
【0060】
(1)1回目の符号化
(1a)固定量子化器14の量子化値
MPEG2では31個の量子化値を選択できる。31個の量子化値は例えば「1,2,3,4,5,6,7,8,10,12,14,16,18,20,22,24,28,32,36,40,44,48,52,56,64,72,80,88,96,104,112」
である。
【0061】
GOP単位の目標符号量以内に発生符号量GMBを抑えるために、あらかじめ固定量子化器14においてGOP単位とマクロブロック単位での発生符号量を求め、この発生符号量を用いて符号量の割り当てを行う。固定量子化器14として31個全ての量子化器を備えればよいが、回路規模の削減から、例えばN=8として8個の量子化値の代表点を選び、その8個の量子化値に対してGOP単位とマクロブロック単位の発生符号量を求める。
【0062】
因みに、Qサーチ手段30には上述した31個の異なる量子化値でDCT係数を量子化する31個の量子化器が備えられている。
【0063】
今、8個の固定量子化値を図13のように選んだときの各固定量子化器14での発生符号量は、図14のようになる。マクロブロックが2個で1GOPであるので、図14におけるGOP単位はマクロブロック単位の2倍になっている。
【0064】
(1b)目標符号量と符号量割り当て
GOP単位の目標符号量TMBは1520ビットであるから、N=8個の固定量子化器14のGOP単位の発生符号量から、このGOP単位の目標符号量の1520ビットを挟む2つの量子化値を求めると、図14から量子化値は「18」と「24」となる。
【0065】
この2つの量子化値「18」と「24」のGOP単位の発生符号量から、GOP単位の目標符号量である1520ビットに対する量子化値Qを直線近似によって求める。
【0066】
また2つの量子化値「18」と「24」のマクロブロック単位の発生符号量から、マクロブロック単位の目標符号量Target-MB(TMB)を、(11)式で求めた量子化値Q=22.582を用いて直線近似する。
(1c)フィードバックスレッショールド値を予め与えられた固定値(この例では30ビット)とする。
【0067】
(1d)1番目のマクロブロック
マクロブロック単位での目標符号量(割り当て手段24の出力)はTarget-MB=760ビットである。第2の加算手段28は初期化され、「0」であるので、第1の加算手段26の出力のフィードバック値も「0」となる。したがって、第2の加算手段28では
TMBb=TMBa+FB=760+0=760ビット ・・・(13)
となり、これがフィードバック制御を行ったときに出力される目標符号量TMBbとなる。
【0068】
Qサーチ手段30では、マクロブロック単位での発生符号量が760ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図15のようになっているから、760ビットを越えない量子化値として「22」を選択する。
【0069】
バックサーチ手段32では、Qサーチ手段30より得られる量子化値以上の量子化値に対して、マクロブロック単位でDCT係数の量子化後の余り(剰余)の総和を求め、その総和の最大値と最小値の関係(例えば、最大値が最小値の100倍以上)から、1回目に符号化された際の量子化値を求める。
【0070】
総和の最小値は量子化値が「22」のときで122ビット、総和の最大値は量子化値が「112」のときで917ビットとなる。最大値は最小値の7.52倍であるので、Qサーチ手段30の量子化値出力「22」をバックサーチ手段32の出力とする。
【0071】
量子化手段34では、バックサーチ手段32より出力された量子化値「22」を用いてDCT係数の量子化を行う。
【0072】
可変長符号化手段(VLC)36では量子化されたDCT係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量TMBbと可変長符号化手段36で実際に発生した符号量の差分DFを求め、割り当て手段20にフィードバックする。
【0073】
量子化値「22」でのマクロブロック単位の発生符号量は図15より734ビットであるので、マクロブロック単位の目標符号量TMBb=760ビットとの差分値DF、
DF=760−734=26ビット ・・・(14)
が割り当て手段20に対して出力される。
【0074】
(1e)2番目のマクロブロック
マクロブロック単位での目標符号量TMBbは(12)式より、
TMBb=Target-MB=760ビット ・・・(15A)
である。第1の加算手段26は(14)式から明らかなように1番目のマクロブロックにおけるマクロブロック単位の目標符号量TMBbと発生符号量との差分値DFである26ビットとなっている。フィードバックスレッショールド値は上述したように30ビットであるので、第1の加算手段26の出力は26ビットとなる。第1の加算手段26からはそのフィードバック値として26ビットを既に出力してしまっているので、結果として「0」ビットとなる。第2の加算手段28では、
TMBb=760+26=786ビット ・・・(15B)
となり、これがフィードバック制御を行ったときの目標符号量TMBbとなる。
【0075】
Qサーチ手段30では、マクロブロック単位での発生符号量が786ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図15のようになっているから、786ビットを越えない量子化値として「18」を選択する。
【0076】
バックサーチ手段32では、上述したようにQサーチ手段30より得られる量子化値以上の量子化値に対して、マクロブロック単位でDCT係数の量子化後の余り(剰余)の総和を求め、その総和の最大値と最小値の関係から、1回目に符号化された際の量子化値を求める。
【0077】
総和の最小値は量子化値が「18」のときで73ビット、総和の最大値は量子化値が「112」のときで917ビットとなる。最大値は最小値の12.56倍であるので、Qサーチ手段30の量子化値出力「18」をバックサーチ手段32の出力とする。
【0078】
量子化手段34では、バックサーチ手段32より出力された量子化値「18」を用いてDCT係数の量子化を行う。
【0079】
可変長符号化手段(VLC)36では量子化されたDCT係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量TMBbと可変長符号化手段36で実際に発生した符号量の差分DFを求め、割り当て手段20にフィードバックする。
【0080】
量子化値「18」でのマクロブロック単位の発生符号量は図15より786ビットであるので、マクロブロック単位の目標符号量TMBb=786ビットとの差分値DF
DF=786−786=0ビット ・・・(16)
が割り当て手段20に対して出力される。
【0081】
以上の処理で1回目の符号化が終了する。可変長符号化手段36より得られるVLCを復号化して次に2回目の符号化を行う。
【0082】
(2)2回目の符号化
(2a)固定量子化器14の量子化値
1回目の符号化のときと同じように、31個の量子化値から8個の固定量子化値を選ぶ(図13参照)。この量子化値は1回目の符号化のときと同じ値である。このときの各固定量子化器14での発生符号量は図16のようになる。図16において、1番目のマクロブロックと2番目のマクロブロックで発生符号量が異なっているのは、1回目の符号化において量子化値が「22」と「18」と異なっているからである。
【0083】
(2b)目標符号量と符号量割り当て
GOP単位の目標符号量TMBは1520ビットであるから、N=8個の固定量子化器14のGOP単位の発生符号量から、このGOP単位の目標符号量TMBの1520ビットを挟む2つの量子化値を求めると、図14から「18」と「24」となる。
【0084】
この2つの量子化値「18」と「24」のGOP単位の発生符号量から、GOP単位の目標符号量である1520ビットに対する量子化値Qを直線近似によって求める。
【0085】
また2つの量子化値「18」と「24」のマクロブロック単位の発生符号量から、マクロブロック単位の目標符号量Target-MB(TMB)を、(17)式で求めた量子化値Q=22.163を用いて直線近似する。
【0086】
1番目のマクロブロックに対する目標符号量は、
【0087】
2番目のマクロブロックに対する目標符号量は、
(2c)フィードバックスレッショールド値は、1回目と同じく30ビットの固定値である。
【0088】
(2d)1番目のマクロブロック
マクロブロック単位での目標符号量(割り当て手段24の出力)はTarget-MB=754ビットである。第2の加算手段28は初期化され、「0」であるので、第1の加算手段26の出力のフィードバック値も「0」となる。したがって、第2の加算手段28では
TMBb=TMBa+FB=754+0=754ビット ・・・(20)
となり、これがフィードバック制御を行ったときに出力される目標符号量TMBbとなる。
【0089】
Qサーチ手段30では、マクロブロック単位での発生符号量が(20)式で求めた754ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図17のようになっているから、754ビットを越えない量子化値として「20」を選択する。
【0090】
バックサーチ手段32では、Qサーチ手段30より得られる量子化値以上の量子化値に対して、マクロブロック単位でDCT係数の量子化後の余り(剰余)の総和を求め、その総和の最大値と最小値の関係から、1回目に符号化された際の量子化値を求める。
【0091】
総和の最小値は量子化値が「22」のときで4ビット、総和の最大値は量子化値が「112」のときで8167ビットとなる。最大値は最小値の204倍であるので、1回目の符号化では量子化値「22」が使用されたものと判断し、量子化値「22」をバックサーチ手段32の出力とする。
【0092】
量子化手段34では、バックサーチ手段32より出力された量子化値「22」を用いてDCT係数の量子化を行う。
【0093】
可変長符号化手段36では量子化されたDCT係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量TMBbと可変長符号化手段36で実際に発生した符号量の差分DFを求め、割り当て手段20にフィードバックする。
【0094】
量子化値「22」でのマクロブロック単位の発生符号量は図20より734ビットであるので、マクロブロック単位の目標符号量TMBb=754ビットとの差分値DF
DF=754−734=20ビット ・・・(21)
が割り当て手段20にフィードバックされる。
【0095】
(2e)2番目のマクロブロック
2番目のマクロブロック単位での目標符号量TMBbは(19)式より、
TMBb2=Target-MB=765ビット ・・・(22)
である。第1の加算手段26は(21)式から明らかなように1番目のマクロブロックにおけるマクロブロック単位の目標符号量TMBbと発生符号量との差分値DFである20ビットとなっている。フィードバックスレッショールドは上述したように30ビットであるので、第1の加算手段26の出力は20ビットとなる。第1の加算手段26はフィードバックFBとして20ビットを出力してしまっているので、結果として「0」となる。第2の加算手段28では、
TMBb=765+20=785ビット ・・・(23)
となり、これがフィードバック制御を行ったときの目標符号量TMBbとなる。
【0096】
Qサーチ手段30では、マクロブロック単位での発生符号量が786ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図18のようになっているから、786ビットを越えない量子化値として「20」を選択する。
【0097】
バックサーチ手段32では、上述したようにQサーチ手段30より得られる量子化値以上の量子化値に対して、マクロブロック単位でDCT係数の量子化後の余り(剰余)の総和を求め、その総和の最大値と最小値の関係から、1回目に符号化された際の量子化値を求める。
【0098】
総和の最小値は量子化値が「20」のときで37ビット、総和の最大値は量子化値が「104」のときで851ビットとなる。最大値は最小値の23倍であるので、Qサーチ手段30の量子化値出力「20」をバックサーチ手段32の出力とする。
【0099】
量子化手段34では、バックサーチ手段32より出力された量子化値「20」を用いてDCT係数の量子化を行う。
【0100】
可変長符号化手段36では量子化されたDCT係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量TMBbと可変長符号化手段36で実際に発生した符号量の差分DFを求め、割り当て手段20にフィードバックする。
【0101】
量子化値「20」でのマクロブロック単位の発生符号量は図21より784ビットであるので、マクロブロック単位の目標符号量TMBb=785ビットとの差分値
DF=785−784=1ビット ・・・(24)
が割り当て手段20に対して出力される。以上の処理で2回目の符号化が終了する。
【0102】
(3)従来方法での結果
以上の結果を整理すると量子化値については図19のようになる。
【0103】
1番目のマクロブロックについては1回目の符号化と2回目の符号化で量子化値は同じである。しかし、2番目のマクロブロックについては1回目の符号化と2回目の符号化で量子化値が異なっている。このことはつまり、符号化/復号化を繰り返すと画質劣化が起きることを意味している。
【0104】
また、入力画像に対する1回目の符号化のときのSNRと2回目の符号化のときのSNRをマクロブロック単位で計算してみると図20のようになる。同図は輝度信号Yについての計算例である。
【0105】
続いて、この発明のようにフィードバック量をコントロールしながら目標符号量を設定する場合について説明する。上述した説明と重複する説明文が出現することを断っておく。
【0106】
(4)本発明の方法
続いて、本発明による入力画像データの内容を反映した適応的なフィードバックスレッショールド値の設定方法について以下に説明する。
【0107】
(5)1回目の符号化
(5a)固定量子化器の量子化値
従来と同じく8個の固定量子化値を図13のように選ぶと、そのときの各固定量子化器14での発生符号量は図14のようになる。
【0108】
(5b)目標符号量と符号量割り当て
GOP単位の目標符号量は従来例と同じく1520ビットとする。N=8個の固定量子化器14のGOP単位の発生符号量から、このGOP単位の目標符号量の1520ビットを挟む2つの量子化値を求めると、図14から18と24となる。
【0109】
この2つの量子化値「18」と「24」のGOP単位の発生符号量から、GOP単位の目標符号量である1520ビットに対する量子化値Qを直線近似によって求める。
【0110】
また2つの量子化値「18」と「24」のマクロブロック単位の発生符号量から、マクロブロック単位の目標符号量Target-MB(TMB)を、(25A)式で求めた量子化値Q=22.582を用いて直線近似する。
【0111】
(5c)フィードバックスレッショールド値の算出
フィードバックスレッショールドの値を8個の固定量子化器14におけるGOP単位での発生符号量から計算により算出する。
【0112】
まず始めに、判定手段42において入力画像が過去に符号化/復号化されているかを調べる。具体的には、各GOP単位の発生符号量の傾きを計算し、その傾きが単調であるかを調べ、単調であれば過去に符号化/復号化されていないと判断し、傾きが単調でない場合にはその入力画像が過去に符号化/復号化されていると判断する。
【0113】
傾きGDの計算式は次の通りである。ここで、iは「1」から「7」までである。
実際に傾きGDを計算すると図21のようになり、傾きは単調であるので判定手段42では過去に符号化/復号化されていないという判定結果が得られる。
【0114】
次に、フィードバックコントロール手段44ではこの判定結果を基づいて8個の固定量子化器14でのGOP単位の発生符号量からフィードバックスレッショールド値を計算する。
【0115】
この発明では符号化/復号化がなされていないと判定されたときには、各マクロブロック間での量子化値の変動をできるだけ少なくなるようなフィードバックスレッショールド値が算出され、これとは逆に符号化/復号化されていると判定したときには、バックサーチ手段32でのバックサーチアルゴリズムによって、最初に符号化した際の量子化値を見つけられるようなフィードバックスレッショールド値が算出される。
フィードバックスレッショールド値の算出は、以下に示すステップ(5d−1)〜(5d−4)によって求められる。
【0116】
・ステップ(5d−1)
まず、図22に示すように、8個の固定量子化器14でのGOP単位の発生符号量からGOP単位の目標符号量1520ビットを挟む2つの量子化値を求める。図22からも明らかなように、目標符号量を挟む2つの量子化値として「18」と「24」が選ばれる。
【0117】
・ステップ(5d−2)
量子化値「18」と「24」は最小の量子化幅ではないので、最小量子化幅となる量子化値に対するGOP単位の発生符号量を、量子化値「18」と「24」でのGOP単位の発生符号量を利用して直線近似により求める。
【0118】
量子化値「18」と「24」の間には量子化値「20」と「22」が存在し、量子化値「22」に対するGOP単位の発生符号量の近似値は、以下のようになる。
1352+[(24−22)/(24−18)]×(1572−1352)
=1425.33 ・・・(29)
量子化値「20」に対するGOP単位の発生符号量の近似値は、以下のようになる。
1352+[(24−20)/(24−18)]×(1572−1352)
=1498.67 ・・・(30)
【0119】
・ステップ(5d−3)
量子化値「18」と「24」のGOP単位の発生符号量と、量子化値「20」と「22」に対して上述の近似式によって求めたGOP単位の発生符号量とから、改めてGOP単位の目標符号量1520ビットを挟む2つの量子化値を求めると、その値は上の数値から明らかなように「18」と「20」となる。そのときのGOP単位の発生符号量はそれぞれ整数化すると、1572ビットと1499ビットとなる。
【0120】
・ステップ(5d−4)
GOP単位の目標符号量とそれを挟む2つのGOP単位の発生符号量からフィードバックスレッショールド値を計算する。まずUNC,LNCという量を定義する。UNCはステップ(5d−3)で求めた2つのGOP単位の発生符号量のうちの目標符号量を越える発生符号量1572ビットと、GOP単位の目標符号量1520ビットとの差分値を示すものである。
【0121】
LNCはGOP単位の目標符号量1520ビットと、ステップ(5d−3)で求めた2つのGOP単位の発生符号量のうち目標符号量を越えない発生符号量1499ビットとの差分値であるから、以下のようになる。
UNC=1572−1520=52ビット ・・・(31)
LNC=1520−1499=21ビット ・・・(32)
【0122】
このとき、フィードバックスレッショールド値FBTとしては例えば以下のように選ぶことができる。
FBT=min[UNC×(3/8),LNC] ・・・(33)
その結果、
以上の計算により、フィードバックコントロール手段60から出力されるフィードバックスレッショールド値は20ビットとなる。
【0123】
(5e)1番目のマクロブロック
マクロブロック単位での目標符号量(割り当て手段24の出力)はTarget-MB=760ビットである。第2の加算手段28は初期化され、「0」であるので、第1の加算手段26の出力のフィードバック値も「0」となる。したがって、第2の加算手段28では
TMBb=TMBa+FB=760+0=760ビット ・・・(35)
となり、これがフィードバック制御を行ったときに出力される目標符号量TMBbとなる。
【0124】
Qサーチ手段30では、マクロブロック単位での発生符号量が(35)式で求めた760ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図15のようになっているから、760ビットを越えない量子化値として「22」を選択する。
【0125】
バックサーチ手段32では、Qサーチ手段30より得られる量子化値以上の量子化値に対して、マクロブロック単位でDCT係数の量子化後の余り(剰余)の総和を求め、その総和の最大値と最小値の関係から、1回目に符号化された際の量子化値を求める。
【0126】
総和の最小値は量子化値が「22」のときで122ビット、総和の最大値は量子化値が「112」のときで917ビットとなる。最大値は最小値の7.52倍であるので、1回目の符号化では量子化値「22」をバックサーチ手段32の出力とする。
【0127】
量子化手段34では、バックサーチ手段32より出力された量子化値「22」を用いてDCT係数の量子化を行う。
【0128】
可変長符号化手段(VLC)36では量子化されたDCT係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量TMBbと可変長符号化手段36で実際に発生した符号量の差分DFを求め、割り当て手段20にフィードバックする。
【0129】
量子化値「22」でのマクロブロック単位の発生符号量は図15より734ビットであるので、マクロブロック単位の目標符号量TMBb=760ビットとの差分値
DF=760−734=26ビット ・・・(36)
が割り当て手段20にフィードバックされる。
【0130】
(5f)2番目のマクロブロック
マクロブロック単位での目標符号量TMBbは、
TMBb2=Target-MB=760ビット ・・・(37)
である。第1の加算手段26は(36)式から明らかなように1番目のマクロブロックにおけるマクロブロック単位の目標符号量TMBbと発生符号量との差分値DFである26ビットとなっている。算出されたフィードバックスレッショールド値は上述したように20ビットであるので、第1の加算手段26の出力は20ビットとなる。第1の加算手段26はフィードバックFBとして20ビットを出力してしまっているので、結果として「6」ビットとなる。第2の加算手段28では、
TMBb=760+20=780ビット ・・・(38)
となり、これがフィードバック制御を行ったときの目標符号量TMBbとなる。
【0131】
Qサーチ手段30では、マクロブロック単位での発生符号量が780ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図23のようになっているから、780ビットを越えない量子化値として「20」を選択する。
【0132】
バックサーチ手段32では、上述したようにQサーチ手段30より得られる量子化値以上の量子化値に対して、マクロブロック単位でDCT係数の量子化後の余り(剰余)の総和を求め、その総和の最大値と最小値の関係から、1回目に符号化された際の量子化値を求める。
【0133】
総和の最小値は量子化値が「20」のときで97ビット、総和の最大値は量子化値が「112」のときで917ビットとなる。最大値は最小値の9.45倍であるので、Qサーチ手段30からの量子化値「20」をバックサーチ手段32の出力とする。
【0134】
量子化手段34では、バックサーチ手段32より出力された量子化値「20」を用いてDCT係数の量子化を行う。
【0135】
可変長符号化手段36では量子化されたDCT係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量TMBbと可変長符号化手段36で実際に発生した符号量の差分DFを求め、割り当て手段20にフィードバックする。
【0136】
量子化値「20」でのマクロブロック単位の発生符号量は図23より766ビットであるので、マクロブロック単位の目標符号量TMBb=780ビットとの差分値
DF=780−766=14ビット ・・・(39)
が割り当て手段20に対して出力される。
以上の処理で1回目の符号化が終了する。可変長符号化手段36より得られるVLCを復号化して次に2回目の符号化を行う。
【0137】
(6)2回目の符号化
(6a)固定量子化器14の量子化値
1回目の符号化のときと同じように、31個の量子化値から8個の固定量子化値を選ぶ(図13参照)。この量子化値は1回目の符号化のときと同じ値である。このときの各固定量子化器14での発生符号量は図24のようになる。図24において、1番目のマクロブロックと2番目のマクロブロックで発生符号量が異なっているのは、1回目の符号化において量子化値が「22」と「20」と異なっているからである。
【0138】
(6b)目標符号量と符号量割り当て
GOP単位の目標符号量TMBは1520ビットであるから、N=8個の固定量子化器14のGOP単位の発生符号量から、このGOP単位の目標符号量TMBの1520ビットを挟む2つの量子化値を求めると、図24から量子化値は「18」と「24」となる。
この2つの量子化値「18」と「24」のGOP単位の発生符号量から、GOP単位の目標符号量である1520ビットに対する量子化値Qを直線近似によって求める。
【0139】
また2つの量子化値「18」と「24」のマクロブロック単位の発生符号量から、マクロブロック単位の目標符号量Target-MB(TMB)を、(40)式で求めた量子化値Q=22.385を用いて直線近似する。
【0140】
1番目のマクロブロックに対する目標符号量は、
【0141】
2番目のマクロブロックに対する目標符号量は、
【0142】
(6c)フィードバックスレッショールド値の算出
フィードバックスレッショールド値は、GOP単位での発生符号量から計算による求めることになる。
1回目の符号化と同様に、まず始めに、判定手段42において入力画像が過去に符号化/復号化されているかを調べる。具体的には、各GOP単位の発生符号量の傾きを計算し、その傾きが単調であるかを調べ、単調であれば過去に符号化/復号化されていないと判断し、傾きが単調でない場合にはその入力画像が過去に符号化/復号化されていると判断する。
【0143】
傾きGDの計算式は次の通りである。ここで、iは「1」から「7」までである。
【0144】
実際に傾きGDを計算すると図25のようになり、傾きは単調ではないので、判定手段42では過去に符号化/復号化されているという判定結果が得られる。
次に、フィードバックコントロール手段44ではこの判定結果を基づいて8個の固定量子化器14でのGOP単位の発生符号量からフィードバックスレッショールド値を計算する。これは以下に示すステップ(6d−1)〜(6d−2)によって求められる。
【0145】
・ステップ(6d−1)
まず、図26に示すように、8個の固定量子化器14でのGOP単位の発生符号量からGOP単位の目標符号量1520ビットを越える最小の発生符号量を求める。図26から量子化値が「18」であるときの発生符号量1534ビットが選ばれる。
【0146】
・ステップ(6d−2)
GOP単位の目標符号量と、それを越えるGOP単位の発生符号量からフィードバックスレッショールド値を計算する。そのために、UCという量を定義する。UCはステップ(6d−1)で求めたGOP単位の発生符号量を越える発生符号量と、GOP単位の目標符号量との差分値を示すものである。
UC=1534−1520=14ビット ・・・(46)
【0147】
このとき、フィードバックスレッショールド値FBTとしては例えば以下のように選ぶことができる。
FBT=5+UC×(3/4) ・・・(47)
その結果、
以上の計算により、フィードバックスレッショールド値は16ビットとなる。
【0148】
(6e)1番目のマクロブロック
マクロブロック単位での目標符号量(割り当て手段24の出力)はTarget-MB=755ビットである。第2の加算手段28は初期化され、「0」であるので、第1の加算手段26の出力のフィードバック値も「0」となる。したがって、第2の加算手段28では
TMBb=TMBa+FBT=755+0=755ビット ・・・(49)
となり、これがフィードバック制御を行ったときに出力される目標符号量TMBbとなる。
【0149】
Qサーチ手段30では、マクロブロック単位での発生符号量が(49)式で求めた755ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図27のようになっているから、755ビットを越えない量子化値として「20」を選択する。
【0150】
バックサーチ手段32では、Qサーチ手段30より得られる量子化値以上の量子化値に対して、マクロブロック単位でDCT係数の量子化後の余り(剰余)の総和を求め、その総和の最大値と最小値の関係から、1回目に符号化された際の量子化値を求める。
【0151】
総和の最小値は量子化値が「22」のときで4ビット、総和の最大値は量子化値が「112」のときで816ビットとなる。最大値は最小値の204倍である値「22」をバックサーチ手段32の出力とする。
【0152】
量子化手段34ではバックサーチ手段32より出力された量子化値「22」を用いてDCT係数の量子化を行う。
【0153】
可変長符号化手段36では量子化されたDCT係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量TMBbと可変長符号化手段36で実際に発生した符号量の差分DFを求め、割り当て手段20にフィードバックする。
【0154】
量子化値「22」でのマクロブロック単位の発生符号量は図27より734ビットであるので、マクロブロック単位の目標符号量TMBb=755ビットとの差分値DF
DF=755−734=21ビット ・・・(50)
が割り当て手段20にフィードバックされる。
【0155】
(6f)2番目のマクロブロック
マクロブロック単位での目標符号量TMBbは、
TMBb2=Target-MB=764ビット ・・・(51)
である。第1の加算手段26は(50)式から明らかなように1番目のマクロブロックにおけるマクロブロック単位の目標符号量TMBbと発生符号量との差分値DFである21ビットとなっている。算出されたフィードバックスレッショールド値は上述したように16ビットであるので、第1の加算手段26の出力は16ビットとなる。第1の加算手段26はフィードバックスレッショールド値FBTとして16ビットを出力してしまっているので、結果として「5」ビットとなる。第2の加算手段28では、
TMBb=764+16=780ビット ・・・(52)
となり、これがフィードバック制御を行ったときの目標符号量TMBbとなる。
【0156】
Qサーチ手段30では、マクロブロック単位での発生符号量が780ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図28のようになっているから、780ビットを越えない量子化値として「18」を選択する。
【0157】
バックサーチ手段32では、上述したようにQサーチ手段30より得られる量子化値以上の量子化値に対して、マクロブロック単位でDCT係数の量子化後の余り(剰余)の総和を求め、その総和の最大値と最小値の関係から、1回目に符号化された際の量子化値を求める。
【0158】
総和の最小値は量子化値が「20」のときで4ビット、総和の最大値は量子化値が「112」のときで780ビットとなる。最大値は最小値の195倍であるので、Qサーチ手段30からの量子化値「20」をバックサーチ手段32の出力とする。
【0159】
量子化手段34では、バックサーチ手段32より出力された量子化値「20」を用いてDCT係数の量子化を行う。
可変長符号化手段36では量子化されたDCT係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量TMBbと可変長符号化手段36で実際に発生した符号量の差分DFを求め、割り当て手段20にフィードバックする。
【0160】
量子化値「20」でのマクロブロック単位の発生符号量は図28より766ビットであるので、マクロブロック単位の目標符号量TMBb=780ビットとの差分値
DF=780−766=14ビット ・・・(53)
が割り当て手段20に対して出力される。以上の処理で2回目の符号化が終了する。
【0161】
(7)本発明での結果
以上の結果を整理すると量子化値については図29のようになる。
【0162】
符号化1回目において、1番目および2番目のマクロブロックに対する量子化値の差は、本発明の場合には2(=22−20)である。これに対して図19のように従来の方法では4(=22−18)となる。したがって本発明方法による場合の方が量子化値の安定化を図ることができる。
【0163】
また本発明の場合には、1番目と2番目のマクロブロックにおいてそれぞれ1回目の符号化と2回目の符号化で量子化値が同じになる。これによって符号化と復号化とを繰り返しても量子化値の再現性が保つことができるから、従来の方法に比べて画質劣化が起きにくいことを意味する。
【0164】
また入力画像に対する符号化の1回目と2回目のSNRをマクロブロック単位で計算してみると、輝度信号Yに関して図30のような結果が得られた。従来例を示す図20と比較すれば明らかなように、2回目の符号化では本発明の方がSNRが改善されていることが判る。
【0165】
このような効果上の差異が発生するのは、上述したようにフィードバックスレッショールド値として従来では固定値(例えば30)を使用していたことに他ならない。換言すれば、従来例では入力画像の性質を考慮していないので、マクロブロック単位での目標符号量と実際の発生符号量との差分の、GOP単位の加算結果が、フィードバックスレッショールド値以下になる場合がある。そのためにフィードバック量がマクロブロック単位で大きく変動してしまう。このフィードバック量の大きな変動が、第2の加算手段28で加算されたマクロブロック単位の目標符号量FBTに反映されてしまうために、その結果として量子化値の大きな変動を引き起こすことになる。
【0166】
2回目の符号化においては、1回目の符号化で量子化値が大きく変動しているので、マクロブロック単位の目標符号量が、1回目の符号化での発生符号量を下回り、バックサーチ手段32において1回目の量子化値を探すことができなくなってしまい、量子化値の再現性が保たれなくなる。これにより画質の劣化が生じてしまう。
【0167】
本発明の場合は、8個の固定量子化器のGOP単位の発生符号量からフィードバックスレッショールド値を計算する。これによりマクロブロック単位での目標符号量と実際の発生符号量との差分の、GOP単位の加算結果が、フィードバックスレッショールド値より上回るようになる。これによって、フィードバック量がマクロブロック単位で変動することなく、フィードバックスレッショールド値がほぼ一定値に抑えられる。このようにフィードバック量がほとんど変動することがないので、量子化値の変動を抑えることができる。
【0168】
2回目の符号化においては、1回目の符号化で量子化値がほとんど変動していないので、マクロブロック単位の目標符号量が1回目の符号化での発生符号量を上回る。そのためにバックサーチ手段32において1回目の量子化値を探すことができ、量子化値の再現性が保たれる。以上の処理によって画質の劣化を防ぐことができる。
【0169】
上述した固定量子化での発生符号量の傾きから入力画像データが既に符号化/復号化されているかどうかを判定できると説明した。以下にその理由を説明する。説明を簡単にするため発生符号量ではなく、量子化後のDCT係数の値にとどめる。
【0170】
例えば、(2,5,8,10,14,21)というDCT係数が得られたとする。1回目の符号化での量子化を10で行なうものとする。量子化を行なうと(0.2,0.5,0.8,1.0,1.4,2.1)となり、四捨五入が行なわれ量子化後の値として(0,1,1,1,1,2)が得られる。これを量子化と同じ値10で逆量子化した場合には(0,10,10,10,10,20)となる。
【0171】
次に(0,10,10,10,10,20)に対して2回目の符号化での量子化について考える。まず、1回目の符号化と同じ量子化値10を使い量子化を行なうと、(0.0,1.0,1.0,1.0,1.0,2.0)となり、四捨五入後(0,1,1,1,1,2)となる。逆量子化を10で行なうと(0,10,10,10,10,20)となる。また、2回目の符号化で1回目の符号化と同じ量子化値10ではなく、12で量子化することを考える。このときは、(0.0,5/6,5/6,5/6,5/6,5/3)となり、四捨五入後(0,1,1,1,1,2)となることがわかる。逆量子化を行なうと(0,12,12,12,12,24)となる。
【0172】
2回目の符号化で10で量子化した場合の逆量子化後の値(0,10,10,10,10,20)は12で量子化した場合のそれ(0,12,12,12,12,24)と明らかに違うが、発生符号量という観点から注目した場合には、10,12での量子化での差はなく、共に(0,1,1,1,1,2)となることがわかる。量子化後の値が同じということは、発生符号量が同じになるということである。つまり、2回目の符号化で10で量子化しようが12で量子化しようが同じ発生符号量になることがわかる。
【0173】
ところで、1回目の符号化での量子化では同様のことが言えない。実際、上記の例題で1回目の符号化で12で量子化した場合には(1/6,5/12,2/3,5/6,7/6,7/4)となり、四捨五入をすると(0,0,1,1,1,2)となり、10で量子化した場合のそれ(0,1,1,1,1,2)とは異なり、発生符号量も変わってしまう。
【0174】
以上のように、1回目の符号化での発生符号量と、一度量子化をされた2回目の符号化での発生符号量には大きな違いがある。どのような条件で2回目の符号化以降の発生符号量が同じになるかを次に説明する。
【0175】
量子化後の値が1である場合を考える。言い換えると、ある量子化値Qで量子化した際に1となる場合である。1となるのは、量子化後の四捨五入を考えると0.5以上1.5未満である必要がある。つまり、ある量子化値Pでの結果が0.5以上1.5未満となる量子化値Pの範囲が2回目の符号化以降で発生符号量が同じになる量子化の範囲になる。
1/2<=(Q/P)<3/2 ・・・(54)
2Q/3<P<=2Q ・・・(55)
の範囲の量子化Pを使えば、量子化Qでの発生符号量と同じになる。
【0176】
量子化後の値が2である場合を考える。言い換えると、ある量子化値Qで量子化した際に2となる場合である。2となるのは、量子化後の四捨五入を考えると1.5以上2.5未満である必要がある。つまり、ある量子化値Pでの結果が1.5以上2.5未満となる量子化値Pの範囲が2回目の符号化以降で発生符号量が同じになる量子化の範囲になる。
3/2<=(2Q/P)<5/2 ・・・(56)
4Q/5<P<=4Q/3 ・・・(57)
の範囲の量子化Pを使えば、量子化Qでの発生符号量と同じになる。
【0177】
同様にして、量子化後の値が3,4,・・・の場合について発生符号量が同じになる量子化の範囲を計算することができる。そして、発生符号量が同じになると言うことは、量子化値を横軸と発生符号量を縦軸としてグラフを描いた場合、平坦な部分があることを意味する。よって、この平坦な部分があるかないか、つまり単調に変化しているか否かを判定することにより、その画像が1回目の符号化であるのか、2回目の符号化であるのかを判別できることになる。
【0178】
実際の自然画像では、より複雑に係数が立ち上記のような完全に平坦な部分が表れることはまずない。しかしながら、各量子化値間での傾きを求めると、その傾きが連続(単調)ではない部分が表れるので、この傾きによって1回目の符号化か2回目の符号化であるかを判別できるものである。
【0179】
上述したこの発明に係る実施形態に対する変形例を以下に示す。
【0180】
1.決められた目標符号量の単位としてGOPを用いたが、特にGOPである必要はない。最小の処理単位であるマクロブロック単位のN倍(N>1)を目標符号量の単位とした場合でも本発明は有効である。ただし、この場合フィードバックスレッショールド値の計算の単位としては目標符号量の単位を上回ることはできない。
【0181】
2.フィードバックスレッショールドの計算の単位としてGOPを用いていたが、GOPを用いた場合には、厳密にはマクロブロック単位に見ると符号化/復号化の場合必ずしも量子化値が安定しているわけではない。
【0182】
これを厳密に行なうためには、GOP単位でのフィードバックスレッショールドの計算をマクロブロック単位のN倍(N>=1)にするとよい。例えば、N=1の場合には図9のようにフィードバックコントロール手段60としてマクロブロックの発生符号量を利用すればよい。
【0183】
こうすることによって、具体例で説明したGOP単位での目標符号量がマクロブロック単位での目標符号量になり、GOP単位での目標符号量を挟む2個の固定量子化器のGOP単位の発生符号量がマクロブロック単位での目標符号量を挟む2個の固定量子化器のマクロブロック単位の発生符号量に置き換えるだけで良い。
【0184】
3.画質の向上を行なう方法の1つとしてアクテビティ(Activty)制御がある。これは、画面上で例えば空のような平坦な部分でのブロックノイズを防ぐために、このようなマクロブロックに対しては量子化値を小さくし、複雑な部分、例えばランダムノイズのような劣化がわかりにくいマクロブロックに対しては量子化値を大きくする。このようなことを行なうことで、画質の改善が計れる。
【0185】
このようなアクテビティ制御を行なった場合、N個の固定量子化器で、各マクロブロック単位でそれぞれ固定の量子化値(FixQ(i),i=1,・・・,N)を使わなくなり、それぞれの固定の量子化値に対してアクテビティ制御を行なったことによる変動分が加わった量子化値を用いることになる。
【0186】
本発明では、このようなアクテビティ制御を行なった場合に対しても、アクテビティ制御を行なってないものとして計算アルゴリズムを適用することで、マクロブロック単位での量子化値の変動分をアクテビティ制御による変動分に抑えることが可能である。
【0187】
画質向上を考慮したアクテビティ制御による量子化値の変動をそのままにし、アクテビティ制御にかからない部分の量子化値の安定化が行なえる。また、符号化/復号化における量子化値の再現性も行なえる。
【0188】
【発明の効果】
本発明による符号化方法およびこれを使用した符号化装置では、符号量予測のための複数の固定量子化器での発生符号量の結果から、入力データが、過去に符号化/復号化されているかを自動判定し、その判定結果から符号化/復号化されていない場合には、入力データの性質に依存したフィードバック制御を行い、符号化/復号化されている場合には、再現性を重視したフィードバック制御を行うようにしたものである。
【0189】
これによれば、発生符号量を目標符号量により近付けることができるようになり、これによって量子化値の安定化が図られると共に、符号化/復号化を繰り返しても画質の劣化を防止でき、さらに画質の安定化を図ることができるなどの特徴を有する。
【0190】
したがってこの発明はMPEG2などの画像データ圧縮符号化装置に適用して極めて好適である。
【図面の簡単な説明】
【図1】この発明に係る符号化方法を適用した符号化装置の一実施形態を示す要部の系統図である。
【図2】目標符号量割り当て手段の要部の構成を示す系統図である。
【図3】符号量割り当て処理の一例を示すフローチャートである。
【図4】符号化/復号化判別処理の一例を示すフローチャートである。
【図5】第1のフィードバックスレッショールド値を決定するための一例を示すフローチャートである。
【図6】その動作説明図である。
【図7】第2のフィードバックスレッショールド値を決定するための一例を示すフローチャートである。
【図8】その動作説明図である。
【図9】目標符号量割り当て手段の他の例を示す要部の系統図である。
【図10】Y信号のマクロブロックデータを示す図である。
【図11】Cr信号のマクロブロックデータを示す図である。
【図12】Cb信号のマクロブロックデータを示す図である。
【図13】代表的な8個の固定量子化値の関係を示す図である。
【図14】8個の量子化値と、そのときの発生符号量との関係を示す図である。
【図15】量子化値「22」での発生符号量を求める図14の抜粋図である。
【図16】8個の量子化値と、そのときの発生符号量との関係を示す図である。
【図17】量子化値「20」での発生符号量を求める図16の抜粋図である。
【図18】8個の量子化値と、そのときの発生符号量との関係を示す図である。
【図19】2回の符号化とそのときの量子化値との関係を示す図である。
【図20】従来のSNRの関係を示す図である。
【図21】発生符号量の傾きを求める図である。
【図22】8個の量子化値と、そのときの発生符号量との関係を示す図である。
【図23】量子化値「22」での発生符号量を求める図22の抜粋図である。
【図24】2回目の符号化での発生符号量の関係を示す図である。
【図25】発生符号量の傾きを求める図である。
【図26】8個の量子化値と、そのときの発生符号量との関係を示す図である。
【図27】量子化値「22」での発生符号量を求める図26の抜粋図である。
【図28】量子化値「22」での発生符号量を求める図26の抜粋図である。
【図29】2回の符号化とそのときの量子化値との関係を示す図である。
【図30】本発明によるSNRの関係を示す図である。
【図31】従来の符号化装置の系統図である。
【図32】固定量子化手段と演算手段との関係を示す系統図である。
【図33】目標符号量割り当て手段の系統図である。
【符号の説明】
10・・・符号化装置、12・・・DCT係数算出手段、14・・・固定量子化手段、16・・・発生符号量算出手段、18,20・・・目標符号量割り当て手段、22・・・補間手段、24・・・目標符号量割り当て器、26・・・第1の加算手段、28・・・第2の加算手段、36・・・VLC、50・・・判定手段、60・・・フィードバックコントロール手段
Claims (4)
- 所定の符号化処理単位に対して予め決められた目標符号量以内に各符号化処理単位での発生符号量を抑えなければならない符号化方法において、
量子化値が異なるN(Nは整数)個の固定量子化器での上記符号化処理単位の発生符号量間の傾きを算出し、該算出した傾きが単調変化しているか否かにより、入力データが過去に符号化/復号化されているかを判定し、
上記N個の固定量子化器での上記発生符号量から、上記符号化処理単位の上記目標符号量を挟む2つの発生符号量を求め、
上記判定結果において、上記算出した傾きが単調変化であり、上記入力データが過去に符号化/復号化されていないと判定されたとき、上記2つの固定量子化器の量子化値の間に存在する固定量子化器を考慮して、改めて上記目標符号量を挟む量子幅が最小となる2つの固定量子化器を決定し、
該量子幅が最小の2つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値と、上記量子幅が最小の2つの固定量子化器のうち上記目標符号量を超えない上記固定量子化器の発生符合量と上記目標符号量との差分値とからフィードバックスレッショールド量を決定し、
上記判定結果において、上記算出した傾きが単調変化ではなく、上記入力データが過去に符号化/復号化されていると判定されたとき、
上記2つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値からフィードバックスレッショールド量を決定することによって、
発生符号量を目標符号量に近づけるようにしたことを特徴とする符号化方法。 - 上記算出した上記フィードバックスレッショールド量と、上記符号化処理により得られた発生符号量と上記符号化処理単位に対して予め決められた目標符号量との差分値とから、そのうちの小さい方の値をフィードバック量の出力として決定して、このフィードバック量を上記目標符号量にフィードバックすることを特徴とする請求項1記載の符号化方法。
- 上記符号化はMPEG2であって、その符号化処理単位はGOPであることを特徴とする請求項1記載の符号化方法。
- 入力データを圧縮符号化するに際し、実際に発生する所定の符号化処理単位での発生符号量を所定の符号化処理単位での目標符号量に近づける目標符号量割り当て手段を有する符号化装置において、
量子化値が異なるN(Nは整数)個の固定量子化器での上記符号化処理単位の発生符号量間の傾きを算出し、該算出した傾きが単調変化しているか否かにより、入力データが過去に符号化/復号化されているかを判定する判定手段と、
上記N個の固定量子化器での上記発生符号量から、上記符号化処理単位の上記目標符号量を挟む2つの発生符号量を求め、
上記判定結果において、上記算出した傾きが単調変化であり、上記入力データが過去に符号化/復号化されていないと判定されたとき、上記2つの固定量子化器の量子化値の間に存在する固定量子化器を考慮して、改めて上記目標符号量を挟む量子幅が最小となる2つの固定量子化器を決定し、該量子幅が最小の2つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値と、上記量子幅が最小の2つの固定量子化器のうち上記目標符号量を超えない上記固定量子化器の発生符合量と上記目標符号量との差分値とからフィードバックスレッショールド量を決定し、
上記判定結果において、上記算出した傾きが単調変化ではなく、上記入力データが過去に符号化/復号化されていると判定されたとき、上記2つの固定量子化器のうち上記目標 符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値からフィードバックスレッショールド量を決定するフィードバックコントロール手段と
を有することを特徴とする符号化装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13890697A JP3978810B2 (ja) | 1997-05-28 | 1997-05-28 | 符号化方法およびこれを使用した符号化装置 |
PCT/JP1998/002245 WO1998054904A1 (en) | 1997-05-28 | 1998-05-22 | Coding method and coding equipment using the same |
US09/237,697 US6023297A (en) | 1997-05-28 | 1999-01-26 | Encoding method and encoder using it |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13890697A JP3978810B2 (ja) | 1997-05-28 | 1997-05-28 | 符号化方法およびこれを使用した符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10336652A JPH10336652A (ja) | 1998-12-18 |
JP3978810B2 true JP3978810B2 (ja) | 2007-09-19 |
Family
ID=15232908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13890697A Expired - Lifetime JP3978810B2 (ja) | 1997-05-28 | 1997-05-28 | 符号化方法およびこれを使用した符号化装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6023297A (ja) |
JP (1) | JP3978810B2 (ja) |
WO (1) | WO1998054904A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904227B1 (en) | 1999-02-15 | 2005-06-07 | Nec Corporation | Device and method for editing video and/or audio data recorded in a disc storage medium |
US8374237B2 (en) | 2001-03-02 | 2013-02-12 | Dolby Laboratories Licensing Corporation | High precision encoding and decoding of video images |
US7003167B2 (en) * | 2001-11-01 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Single-pass guaranteed-fit data compression using rate feedback |
US7751633B1 (en) | 2006-08-31 | 2010-07-06 | Hewlett-Packard Development Company, L.P. | Method for compressing an image |
JP4569840B2 (ja) * | 2007-09-12 | 2010-10-27 | ソニー株式会社 | 画像符号化装置、画像符号化方法 |
JPWO2009157581A1 (ja) * | 2008-06-27 | 2011-12-15 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
RU2471306C2 (ru) * | 2008-06-27 | 2012-12-27 | Сони Корпорейшн | Устройство обработки изображений и способ обработки изображений |
CN107749989B (zh) * | 2017-10-17 | 2019-11-05 | 西安万像电子科技有限公司 | 图像的编码方法和装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291282A (en) * | 1990-04-19 | 1994-03-01 | Olympus Optical Co., Ltd. | Image data coding apparatus and method capable of controlling amount of codes |
JP2952000B2 (ja) * | 1990-04-19 | 1999-09-20 | オリンパス光学工業株式会社 | 画像データの符号化装置および符号化方法 |
JP3143487B2 (ja) * | 1991-04-17 | 2001-03-07 | キヤノン株式会社 | 画像処理装置 |
JP3187852B2 (ja) * | 1991-02-08 | 2001-07-16 | ソニー株式会社 | 高能率符号化方法 |
JPH05236465A (ja) * | 1992-02-24 | 1993-09-10 | Sony Corp | ビデオ信号の伝送方法 |
JP2734905B2 (ja) * | 1992-10-07 | 1998-04-02 | 日本電気株式会社 | 画像符号化装置 |
JP2968666B2 (ja) * | 1993-06-10 | 1999-10-25 | 日本電気株式会社 | 画像符号化方法および装置 |
JPH07203430A (ja) * | 1993-12-28 | 1995-08-04 | Sharp Corp | 画像符号化装置 |
JPH07312754A (ja) * | 1994-05-19 | 1995-11-28 | Mitsubishi Electric Corp | 動画像符号化装置 |
JP3050047B2 (ja) * | 1994-06-24 | 2000-06-05 | 日本ビクター株式会社 | 動画像符号化装置及び動画像符号化方法 |
JP3543412B2 (ja) * | 1995-04-05 | 2004-07-14 | 富士ゼロックス株式会社 | 画像符号化装置 |
JP2907063B2 (ja) * | 1995-05-24 | 1999-06-21 | 日本ビクター株式会社 | 総符号量制御を行なう動画像符号化装置 |
JPH0965332A (ja) * | 1995-08-23 | 1997-03-07 | Sony Corp | 画像符号化装置とその方法 |
US5926222A (en) * | 1995-09-28 | 1999-07-20 | Intel Corporation | Bitrate estimator for selecting quantization levels for image encoding |
JPH09107293A (ja) * | 1995-10-12 | 1997-04-22 | Casio Comput Co Ltd | 符号量制御方法、及びその装置 |
JPH09120802A (ja) * | 1995-10-26 | 1997-05-06 | Toshiba Battery Co Ltd | マンガン乾電池 |
-
1997
- 1997-05-28 JP JP13890697A patent/JP3978810B2/ja not_active Expired - Lifetime
-
1998
- 1998-05-22 WO PCT/JP1998/002245 patent/WO1998054904A1/ja active Application Filing
-
1999
- 1999-01-26 US US09/237,697 patent/US6023297A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6023297A (en) | 2000-02-08 |
JPH10336652A (ja) | 1998-12-18 |
WO1998054904A1 (en) | 1998-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5598213A (en) | Transmission bit-rate controlling apparatus for high efficiency coding of moving picture signal | |
US6658157B1 (en) | Method and apparatus for converting image information | |
US5739863A (en) | Selection of quantization step size in accordance with predicted quantization noise | |
US7555041B2 (en) | Code quantity control apparatus, code quantity control method and picture information transformation method | |
US6654417B1 (en) | One-pass variable bit rate moving pictures encoding | |
US6160846A (en) | Apparatus and method for optimizing the rate control in a coding system | |
JP3115199B2 (ja) | 画像圧縮符号化装置 | |
US7206453B2 (en) | Dynamic filtering for lossy compression | |
JP4334768B2 (ja) | 圧縮映像のブリージングアーチファクトを低減する方法および装置 | |
US6587508B1 (en) | Apparatus, method and computer program product for transcoding a coded moving picture sequence | |
US7460597B2 (en) | Encoding apparatus and method | |
US7925108B2 (en) | Encoding device and dynamic image recording system having the encoding device | |
CN102271257B (zh) | 图像处理设备 | |
JP2963416B2 (ja) | 量子化活動度を用いてビット発生量を制御する映像符号化方法及び装置 | |
US8374451B2 (en) | Image processing device and image processing method for reducing the circuit scale | |
JP4632049B2 (ja) | 動画像符号化方法及び装置 | |
US7965768B2 (en) | Video signal encoding apparatus and computer readable medium with quantization control | |
JP3978810B2 (ja) | 符号化方法およびこれを使用した符号化装置 | |
JPH10108184A (ja) | 画像データ処理装置およびその方法 | |
JPWO2002080567A1 (ja) | 画像信号量子化装置およびその方法 | |
JPH05227520A (ja) | 画像圧縮符号化装置 | |
JP3069144B2 (ja) | 動画像符号化装置 | |
US6266447B1 (en) | Coding apparatus | |
KR100266708B1 (ko) | 양방향 예측 픽쳐의 조건부 보충 부호화 방법 | |
JPH0818952A (ja) | 画像信号符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040412 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040412 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060316 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070511 |
|
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: 20070605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070618 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100706 Year of fee payment: 3 |