JP4127006B2 - 画像信号の符号化装置および符号化方法 - Google Patents

画像信号の符号化装置および符号化方法 Download PDF

Info

Publication number
JP4127006B2
JP4127006B2 JP2002285573A JP2002285573A JP4127006B2 JP 4127006 B2 JP4127006 B2 JP 4127006B2 JP 2002285573 A JP2002285573 A JP 2002285573A JP 2002285573 A JP2002285573 A JP 2002285573A JP 4127006 B2 JP4127006 B2 JP 4127006B2
Authority
JP
Japan
Prior art keywords
activity
code amount
quantization step
quantization
order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002285573A
Other languages
English (en)
Other versions
JP2003204554A (ja
Inventor
卓也 北村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002285573A priority Critical patent/JP4127006B2/ja
Publication of JP2003204554A publication Critical patent/JP2003204554A/ja
Application granted granted Critical
Publication of JP4127006B2 publication Critical patent/JP4127006B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、例えば動き補償とDCT(Discrete Cosine Transform)を用いた符号化に対して適用できる画像信号の符号化装置および符号化方法に関する。
【0002】
【従来の技術】
MPEG(Moving Pictures Expert Group)規格に代表されるDCTを用いた画像圧縮方式では、伝送路に送出されるビットストリームが所望のレートになるように、符号量制御を行なっている。例えば量子化ステップを表す量子化インデックスを制御することによって、符号量制御がなされる。MPEG2でTM5として提案されている符号量制御では、仮想バッファの残量と、以前エンコードした際の量子化インデックスと発生符号量の関係を用いて量子化ステップをフィードバック制御している。
【0003】
図1は、MPEGのレイヤー構造を示すものである。シーケンス層、GOP(Group Of Picture)層、ピクチャ層、スライス層、マクロブロック層からなる階層構造が規定されている。より具体的には、図1に示すように、スライス層や、マクロブロック層に含まれるデータ(Qスケールと呼ぶ)で量子化ステップを変化させることによって、1フレーム等の所定期間で発生する符号量を調節している。例えば(4:2:0)のフォーマットでは、4個の輝度信号のブロックと、色信号Uの1個のブロックと、色信号Vの1個のブロックとによって、マクロブロックが構成されている。
【0004】
一例として、Qスケールの値q scaleとして、Q1〜Q31の31種類が用意されている。Qスケールの番号が大きくなるにしたがって、量子化ステップが大きい値となるようにされている。図2に示すように、量子化と合計符号長(適宜総符号量とも言う)の関係は、量子化ステップを大きくすると、量子化が粗くなり合計符号長が少なくなる。逆に、量子化ステップを小さくすると、量子化は細かくなり合計符号長が多くなる。また、量子化は離散値しかとれないため、合計符号長も離散的になる。
【0005】
通信等のアプリケーションでは、以前の量子化ステップと総符号量の関係を用いて、現在の平均レートに対してフィードバックをかける方式が一般的である。すなわち、現在の平均レートが目標レートよりも高めならば量子化ステップを若干粗めにして総符号量を下げ、現在の平均レートが低めならば量子化ステップを若干細かくして総符号量を増やす。このようにして平均的に目標レートを実現するように制御を行う。すなわち、細かい時間で見ると総符号量は増減するものの、長いスパンで見ると平均的に総符号量を目標値とするものである。
【0006】
しかしながら、編集等を前提としたVTRのようアプリケーションでは、前述のような平均レートだけで制御すると不具合がおきてしまう。このようなアプリケーションでは、例えばフレーム毎での編集といった操作があるため、編集単位毎にその総符号量が一定量を絶対に超えないような制御が必要となる。以下、このような制御を固定長符号量制御と呼ぶことにする。
【0007】
【発明が解決しようとする課題】
前述のフィードバック制御ではこの様な制御が困難なため、再生画像の破綻を来したり、あるいは符号量が超えないようにマージンを見込み過ぎて画質が劣化してしまうことがあった。そこで、予め異なる量子化ステップの固定量子化器を複数用いて量子化を行ない、そのときの総符号量に基づいて、量子化制御を行なうという技術が知られている。例えば、国際公開公報WO96/28937には、フィードフォワード方式の符号量制御が開示されている。
【0008】
具体的には、図2に示される31種類のQスケールをそれぞれ持つ量子化器を設け、各量子化器で量子化された量子化DCT係数の1フレーム期間の総符号量をそれぞれを求め、総符号量が目標符号量(図2におけるターゲットビットレングス)を超えず、且つ目標符号量に対する差が小さいQスケールを決定する。図2の例では、Q4がそのようなQスケールに該当する。
【0009】
しかしながら、この求められた例えば31種類の量子化の時の総符号量をもとに、どのように量子化ステップを決めるのかが問題となる。Qスケールは、離散的なものであるので、ビットレートも離散的な値しかとれず細かな制御ができず、目標符号量との差が充分に小さくならない問題があった。
【0010】
したがって、この発明の目的は、フィードフォワード方式の符号量制御において、アクティビティに応じて、目標符号量を超えないで、且つ目標符号量と総符号量との差をより小さくすることが可能な画像信号の符号化装置および符号化方法を提供することにある。
【0011】
【課題を解決するための手段】
請求項1の発明は、複数のブロックによって構成される等長化単位毎に、目標符号量内で画像信号を量子化する画像信号の符号化装置において、
画像信号のブロック毎にアクティビィティを検出し、検出したアクティビィティをブロックのそれぞれに対する小数点以下の値を有するアクティビティ情報として出力するアクティビィティ検出手段と、
等長化単位毎に適用される複数の第1の量子化ステップが設定され、第1の量子化ステップをブロック毎のアクティビティ情報によって修正してアクティビティを考慮した量子化ステップが設定され、アクティビティを考慮した量子化ステップでブロック毎に量子化を行った場合のブロック毎に発生する符号量をメモリに保持し、
第1の量子化ステップを変化させた場合の等長化単位毎の総符号量を保持されている符号量から求め、等長化単位で発生する総符号量が目標符号量を下回り、総符号量と目標符号量との差が最小となる第2の量子化ステップ等長化単位毎に決定すると共に、アクティビティ情報と第1の量子化ステップの2変数で規定される配列データである部分和を求める第1の決定手段と、
第2の量子化ステップに対して、アクティビティを考慮した複数の量子化ステップの決定時における丸め処理において、丸め処理後の量子化ステップを1ステップ下げた量子化ステップと、丸め処理前の量子化ステップとの差が小さい順に、アクティビィティの順番を求め、
アクティビィティの順番に基づいて、クティビィティ部分和を使用して量子化ステップを一段階小として符号量の増加を調べ、総符号量が目標符号量を超えることなく目標符号量との差を最小とするアクティビィティを決定し、
等長化単位分の複数のブロックのそれぞれのアクティビィティ情報のアクティビィティの順番が決定されたアクティビィティより早い場合に、当該ブロックの量子化ステップを1ステップ下げ、アクティビィティ情報のアクティビィティの順番が決定されたアクティビィティと同じ場合に、量子化ステップを一段階下げることが可能か否かを調べ、アクティビィティ情報のアクティビィティの順番が決定されたアクティビィティより遅い場合に、量子化ステップを一段階下げることを不可能とすることによって、第3の量子化ステップを決定する第2の決定手段とからなり、
第2の決定手段で決定された第3の量子化ステップによって各ブロックを量子化することを特徴とする画像信号の符号化装置である。
【0012】
請求項3の発明は、複数のブロックによって構成される等長化単位毎に、目標符号量内で画像信号を量子化する画像信号の符号化方法において、
画像信号のブロック毎にアクティビィティを検出す、検出したアクティビィティをブロックのそれぞれに対する小数点以下の値を有するアクティビティ情報として出力するアクティビィティ検出ステップと、
等長化単位毎に適用される複数の第1の量子化ステップが設定され、第1の量子化ステップをブロック毎のアクティビティ情報によって修正してアクティビティを考慮した量子化ステップが設定され、アクティビティを考慮した量子化ステップでブロック毎に量子化を行った場合のブロック毎に発生する符号量をメモリに保持し、
第1の量子化ステップを変化させた場合の等長化単位毎の総符号量を保持されている符号量から求め、等長化単位で発生する総符号量が目標符号量を下回り、総符号量と目標符号量との差が最小となる第2の量子化ステップ等長化単位毎に決定すると共に、アクティビティ情報と第1の量子化ステップの2変数で規定される配列データである部分和を求める第1の決定ステップと、
第2の量子化ステップに対して、アクティビティを考慮した複数の量子化ステップの決定時における丸め処理において、丸め処理後の量子化ステップを1ステップ下げた量子化ステップと、丸め処理前の量子化ステップとの差が小さい順に、アクティビィティの順番を求め、
アクティビィティの順番に基づいて、クティビィティ部分和を使用して量子化ステップを一段階小として符号量の増加を調べ、総符号量が目標符号量を超えることなく目標符号量との差を最小とするアクティビィティを決定し、
等長化単位分の複数のブロックのそれぞれのアクティビィティ情報のアクティビィティの順番が決定されたアクティビィティより早い場合に、当該ブロックの量子化ステップを1ステップ下げ、アクティビィティ情報のアクティビィティの順番が決定されたアクティビィティと同じ場合に、量子化ステップを一段階下げることが可能か否かを調べ、アクティビィティ情報のアクティビィティの順番が決定されたアクティビィティより遅い場合に、量子化ステップを一段階下げることを不可能とすることによって、第3の量子化ステップを決定する第2の決定ステップとからなり、
2の決定ステップで決定された第3の量子化ステップによって各ブロックを量子化することを特徴とする画像信号の符号化方法である。
【0013】
アクティビティを考慮した量子化情報は、離散的な値であるので、目標符号量と総符号量との間に差が存在する。これを小さくするために、例えば各マクロブロックの量子化ステップを一つずつ小にする。その場合に、量子化ステップ毎に局所的情報に関して順番を求め、順番の早いものから順に総符号量が目標符号量を超えない局所的情報を設定する。次に、処理ブロック単位で量子化ステップを制御する。その場合に、設定された局所的情報より順番が早い処理ブロックは、無条件に量子化ステップを一つ減じ、設定された局所的情報と同じ順番の処理ブロックは、量子化ステップを一つ減じることが可能かどうかが検証される。
【0014】
【発明の実施の形態】
以下、この発明の一実施形態について図面を参照して説明する。図3は、この発明が適用されたエンコーダの全体的構成を示す。一例として、1フレーム、すなわち、1画面単位で合計符号長が固定長になるように制御する。図3において、参照符号1が走査変換部を示す。走査変換部1において、入力画像信号がマクロブロックに分割される。入力画像がプログレッシブ走査の場合では、そのままマクロブロックに分割され、インターレース走査の場合は、フィールド−フレーム変換してマクロブロックに分割される。MPEGでは、輝度信号に関して、4個のDCTブロックから構成される(16×16)のサイズのブロックが構成される。色差信号Cr、Cbに関して、(4:2:0)の場合、それぞれが(8×8)のブロックが構成される。これらの合計6個のDCTブロックをまとめて一つのマクロブロックが構成される。
【0015】
走査変換部1においてマクロブロック化されたデータが本線系2および予測系3にそれぞれ入力される。本線系2は、参照符号4が付されたFIFO、参照符号5が付されたDCT処理部、参照符号6が付された量子化部、参照符号7が付されたVLC(Variable Length Coding) 、参照符号8が付されたバッファとからなる。
【0016】
DCT処理部5では、イントラ符号化が行われ、入力画素値そのものがDCTされる。なお、前フレームのローカル復号値を動き補償することによって形成された予測値と入力画素値とのフレーム間差分を求め、フレーム間差分をDCTするようにしても良い。量子化部6には、予測系3においてマクロブロックmb毎に決定された第3の量子化ステップとしての量子化ステップQ final[mb]が供給され、この量子化ステップQ final[mb]でDCT係数が量子化される。FIFO4は、予測系3において、量子化ステップQ finalが決定されるまでの時間を補償するための遅延素子である。
【0017】
量子化部6からの量子化DCT係数がVLC部7において可変長符号化される。VLC部7の出力がバッファ8に供給される。バッファ8によって平滑化がなされ、ビットストリームが出力される。
【0018】
予測系3は、参照符号9で示すDCT処理部と、参照符号10−1,10−2,・・・,10−nで示すn個の量子化器と、参照符号11−1,11−2,・・・,11−nで示すn個の符号量検出器と、参照符号12で示すメモリと、参照符号13で示す量子化ステップ決定部と、参照符号14で示す作業用のメモリと、アクティビティ算出回路15とからなる。量子化ステップ決定部13からの量子化ステップが上述した本線系2の量子化部6に供給される。
【0019】
n個の量子化器10−1,10−2,・・・,10−nは、それぞれ異なる量子化ステップで量子化する。各量子化器で発生した量子化DCT係数が符号量検出器11−1,11−2,・・・,11−nに供給され、各マクロブロックの符号量が符号量検出器11−1,11−2,・・・,11−nからそれぞれ発生する。符号量検出器11−1,11−2,・・・,11−nは、量子化DCT係数をVLC部7と同様に可変長符号化し、可変長符号をマクロブロックについて集計する構成とされている。このようにして求められた各マクロブロックについての各量子化の符号量情報をバッファメモリ12に保存する。
【0020】
この発明と異なり、アクティビティを考慮しないとした場合には、メモリ12上では、マクロブロックmbに対して、q scaIe で量子化した符号量をLength[mb,q sca1e]といった二次元配列の形で保存する。例えば1画面内のマクロブロック数が1350個で、量子化ステップの種類が31個であれば、縦および横方向のアドレスの一方が(mb=1)から(mb=1350)までとされ、縦および横方向のアドレスの他方が(q scaIe =1)から(q scaIe =31)までとされ、両者で指定されるメモリ上のアドレスに各マクロブロックの符号量のデータが格納される。
【0021】
メモリ12に格納された符号量情報を用いて、マクロブロック毎に1つの量子化ステップを選択しながら、1画面分を総和した時の符号量が目標符号量GEN TGT(図2参照)を上回らずに最も近くなる様な量子化ステップの組合せを探す。この量子化ステップの組合せを求める方法がこの発明に係わるものである。実際のアプリケーションでは、各マクロブロックの量子化ステップを同じにするのではなく、マクロブロック毎にその性質を加味して変化させるようになされる。このために、アクティビティ算出回路15が設けられ、各マクロブロックの局所的情報Act(mb) が算出される。アクティビティAct(mb) がバッファメモリ12に供給される。
【0022】
量子化ステップ決定部13は、第1の量子化ステップとしての参照量子化ステップQ ref の中で、メモリ12の内容を使用して目標符号量を超えないで、且つ目標符号量との差が最小となる第2の量子化ステップとしての参照量子化min qqを求め、また、メモリ12の内容を使用して、後述するように、最終的なものである、Q finalを決定するものである。
【0023】
量子化ステップ決定部13には、各マクロブロックmbに対応して決定された量子化ステップがQ final[mb]という配列の形で格納される。この情報は本線系2に伝送される。本線系2の量子化部6では、各マクロブロックmb no毎に検出された量子化ステップQ final[mb]によってそのマクロブロックのDCT係数が量子化される。
【0024】
このような処理により、等長化単位例えば1画面単位の合計符号長を所望の量以下にする、固定長符号量制御が実現できる。この制御において、目標符号量GEN TGTを上回らず、これに最も近くなるような量子化ステップの組合せを見つける方法が重要である。図2の例では、Q3では、合計符号長が目標符号量GEN TGTを上回り、Q4が合計符号長が目標符号量GEN TGTを超えない範囲で、最も近いものである。そうであっても、Q4を適用した場合、合計符号長と目標符号量GEN TGTとの間の差が存在する。この差ができる限り小さいことが望ましい。
【0025】
ここで、この差を小さくするために、マクロブロックのアクティビティ情報を用いて量子化ステップを変化させることが効果的である。アクティビティとは、画面内の局所的な画像の性質を表すものである。コンポーネント信号の場合では、輝度信号を使用してアクティビティが算出される。
【0026】
マクロブロックのアクティビティとしては、従来から知られているように、差の絶対値の合計等いくつかのものが使用できるが、例えばアクティビティとして、下記の式1で示すようなマクロブロックを構成する複数の画素値の分散を使用できる。式1でNは、マクロブロックを構成する画素の数であり、xが画素値であり、ΣがN画素についての集計を表し、x^がマクロブロックの画素値の平均値である。
【0027】
Act(mb) =1/N・Σ(x−x^)2 (1)
(x^=1/N・Σx)
【0028】
図4は、アクティビティ算出回路15の構成を示す。参照符号101がマクロブロックの平均値算出回路であり、参照符号102が時間合わせ用の遅延素子としてのFIFOであり、参照符号103で示す減算器によって平均値に対する各画素値の差が演算される。差が参照符号104で示す二乗器で二乗され、さらに積算器105で積算され、積算値が106で示す割算回路で割り算される。割算回路106から式1で表されるアクティビティ情報Act(mb)が発生する。
【0029】
予測系3の量子化器10−1,10−2,・・・1・10−nでは、アクティビティを考慮した量子化を行なっていない。各量子化器では、Qスケールで1画面全体に渡ってDCT係数を量子化する。なお、図3におけるアクティビティ算出回路15は、上述した図4の構成を有するものである。
【0030】
そして、1画面全部に対して適用される一定値Qref に対して、各マクロブロックに適用するアクティビティを考慮した量子化ステップQact (mb)が得られる。この量子化ステップで量子化した時のそのマクロブロックの符号量Length[mb,Qact (mb)] を使用して1画面の総符号量が求まる。次にQref を変えていった時の総符号量のうちで、目標符号量GEN TGTを超えないで、且つ目標符号量との差を最小とする総符号量を生じさせるQref が参照量子化min qqとして量子化ステップ決定部13によって求められる。
【0031】
かかる参照量子化min _qqを求める方法について説明する。予測系3では、この発明と異なり、アクティビティを考慮しないとした場合には、上述したように、31種類のQスケールによって量子化を行ないそのときの総符号量Length[mb,q scaIe]をメモリ12上に保存している。ここでは、アクティビティが考慮されていない。この時の量子化ステップq scaIe がある参照量子化ステップQref に対して、当該マクロブロックのアクティビティを考慮した場合のものQact の場合、求められた符号量を、Qref をインデックスとして1画面に渡り累算する。この結果、1画面分の予測系の処理が終った時には、各参照量子化Qref に対して、アクティビティを考慮した画面総和の符号量が得られることになる。
【0032】
レートコントロールにおいては、Qref を離散的に変化させて、目標符号量GEN TGTを超えないで目標符号量GEN TGTとの差が最小になるような参照量子化を見つける。このようにしてmin qqが求められる。この処理は、Qref の総数に等しい回数の比較で済む。
【0033】
以上の処理を実現するために、予測系3には、量子化ステップ決定部13が設けられている。量子化ステップ決定部13の一例の構成を図5に示す。入力として与えられるデータは、そのマクロブロック(mb番目のマクロブロック)のアクティビティ情報Act(mb)と、Qスケールと、Qスケールで量子化した時の符号量Length(mb)である。量子化ステップ決定部13は、メモリ12に対してアドレスを出力してアドレスに対応するLength(mb)を受け取るので、Qスケールの値が分かる。各マクロブロックごとにAct(mb)が一つ決定され、Qスケールは、量子化器10−1,・・・,10−nによって、各マクロブロック内で異なる値を並列に適用し、各々に対するLength(mb)が計算される。アクティビティ情報Act(mb)は、アクティビティ算出回路15から供給される。符号量Length(mb)は、メモリ12から読み出されたものである。量子化ステップ決定部13に対する入力としては、n個のQスケールに対応する符号量Length(mb)が1画面の最初のマクロブロックに関するものからその最後のマクロブロックに関するものまで順に供給される。
【0034】
参照符号301で示すマッピング部に対して、Act(mb)およびQスケールが供給される。マッピング部301は、一例として下記の式2と逆の関係でもって入力されたQスケール(Qact )をQref に変換するものである。すなわち、Qスケールをアクティビティを考慮したものと仮定し、アクティビティを考慮しない値Qrefをマッピング部301が出力する。
【0035】
アクティビティが大きい箇所は比較的画質の劣化が目立ちにくく、量子化ステップを相対的に粗くすることが可能であり、また、アクティビティが小さい箇所は比較的画質の劣化が目立ちやすいため、量子化ステップを相対的に細かくする必要がある。アクティビティと量子化ステップを関連づける方法を以下に説明する。
【0036】
参照量子化ステップQref に対して、アクティビティを考慮した場合の量子化ステップ(実際に使用される量子化ステップ)をQact (mb)とすると、次の式2でQact (mb)が決定される。この場合、総符号量を目標符号量以下に制御することは無視されている。なお、参照量子化ステップQref とは、アクティビティを考慮しないで、1画面全体を量子化する量子化ステップを意味する。この一実施形態は、画面の局所的情報としてのアクティビティを考慮するものであるので、仮想的なQrefを導入し、Qrefをアクティビティに応じて変更するものである。変更する割合は、Qrefの値と無関係にアクティビティに応じて一定である。
【0037】
act (mb)=fmap (Qref (mb),act(mb)) (2)
【0038】
ここで、関数fmap() は、act(mb) とQref からQact (mb)を計算するためのものである。例えばMPEGのTM(Test Model)5で使用されているものを次の式3で示す。
【0039】
map TM(Qref (mb),act(mb))
=[(2.0×act(mb)+N act)/(act(mb)+2.0×N act)]×Qref (mb) (3)
【0040】
ここで、N act は、act(mb)の1画面の平均であるが、システムデイレイを考慮して、前画面の値を用いることもある。式3において、act(mb)=N act であれば、Qref に対して乗じられる係数kが1となる。act(mb)=0であれば、Qrefに対して乗じられる係数kが0.5となる。係数kは、0.5から2までの範囲の値をとりうる。このような関数fmap() を用いて、Qact (mb)を算出する。本来、アクティビティ情報Act(mb)は、連続値(小数点以下の値を有する値)であるが、適当に丸めた代表値、例えば16ステップの代表値であっても画質的には十分である。
【0041】
簡単な例として、1画面内に4個のマクロブロックが存在し、各マクロブロックのアクティビティ情報Act(mb)を考慮した量子化の操作が(×0.5,×1.0,×0.5,×2.0) であったとする。参照量子化Qref が例えば10の場合では、各マクロブロックに対するアクティビティを考慮した量子化Qact は、Qref に対してAct(mb)を考慮した操作を行うことで、(5,10,5,20)となる。例えばマッピング部301に対してAct(mb)=0.5 でQact =10が供給されるときには、Qref が20であることが分かる。
【0042】
マッピング部301からの参照量子化Qref がアドレス生成部302に供給される。アドレス生成部302は、Qref からメモリ303のアドレスを発生する。メモリ303は、予めフレームの先頭でクリアされる。Qref として31通りのものが用意されている時には、Qref と対応して31個のメモリ303のアドレスが存在する。1画面内のマクロブロック毎に31種類のQスケールと各Qスケールに対応したLengthが量子化ステップ決定部13へ入力される。
【0043】
あるアドレスがメモリ303に与えられると、そのアドレスに既に書かれているデータ量がメモリ303から読み出され、加算器304にフィードバックされる。そして、加算器304にて入力Lengthと加算されたものがメモリ303の同じアドレスに書き込まれ、積算動作がなされる。したがって、1画面の全てのマクロブロックの処理が終了すると、Qref のそれぞれについての総符号量がメモリ303上に格納される。
【0044】
次に、参照符号305で示すカウンタのカウント値がアドレス生成部302およびレジスタ309に供給される。このカウント値は、Qref の31通りの値に対応して例えば30,29,・・・,0とデクリメントするものである。Qref がデクリメントされるにしたがって総符号量が増大する。アドレス生成部302は、カウント値に応じてリードアドレス(すなわち、Qref )をメモリ303に与える。メモリ303からそのアドレスの総符号量が読み出され、減算器306に総符号量が供給される。
【0045】
減算器306には、目標符号量GEN TGTが供給され、メモリ303から読み出された総符号量が目標符号量GEN TGTから減算される。減算器306の出力が比較器307およびレジスタ308に供給される。比較器307の出力がレジスタ308および309に対してイネーブルとして供給される。比較器307の他方の入力としてレジスタ308の出力が供給される。
【0046】
比較器307は、減算器306の減算出力とレジスタ308に蓄えられているレジスタデータとを比較し、減算出力がレジスタデータより小さい場合に、レジスタ308および309が入力を取り込むイネーブルとしての比較出力を発生する。減算出力が負の場合では、比較器307がイネーブルを発生しない。したがって、Qref の全てに対応するリードアドレスを発生し終えた時点では、レジスタ308には、最小の減算出力が格納され、レジスタ309には、最小減算出力を発生したQref に対応するカウント値が格納されている。このカウント値がmin qqとして出力される。なお、減算出力が負となった時点で、カウンタ305のカウントを停止しても良い。
【0047】
量子化ステップ決定部13の処理について、図6を参照してより具体的に説明する。簡単のために、量子化ステップ(q scale)の種類が1,2,4,8,16であり、アクティビティを考慮した量子化の操作(係数k)が0.5,1.0,2.0 であるとする。この場合では、Qref とQact とは、図6Aに示すような関係となる。例えばQref =2の例では、アクティビティを考慮した量子化ステップQact がQact =1,Qact =2,Qact =4となる。
【0048】
今、4つのマクロブロックmb0,mb1,mb2,mb3 からなる1画面を考える。この場合には、上述した量子化ステップ(1,2,4,8,16)のそれぞれで量子化を行った場合に、各マクロブロックで発生する符号量が符号量情報としてメモリ12に保存されている。それぞれのアクティビティ情報(係数k)を(2.0,0.5,2.0,1.0) とする。画面内のQref を2,4,8とした場合、各マクロブロックmbn のアクティビティを考慮した量子化ステップは、図6Bに示すものとなる。Qref =1およびQref =16の場合には、操作後の値が規定の範囲からはみ出してしまうために除外している。すなわち、該当なしとして処理する。
【0049】
したがって、Qref に対する1画面の総符号量total length( Qref ) は、符号量情報を参照して下記に示すように求まる
【0050】
total length(2)
=Length[mb0,4]+Length[mb1,1]+Length[mb2,4]+Length[mb3,2]
total length(4)
=Length[mb0,8]+Length[mb1,2]+Length[mb2,8]+Length[mb3,4]
total length(8)
=Length[mb0,16]+Length[mb1,4]+Length[mb2,16]+Length[mb3,8]
【0051】
図3おける予測系3では、各マクロブロックに対して全ての量子化ステップ1,2,4,8,16によってそれぞれ量子化を行う。まず、total length(2)、total length(4)、total length(8)が0に初期化される。最初のマクロブロックmb0について、Length[mb0,1],Length[mb0,2],Length[mb0,4],Length[mb0,8],Length[mb0,16]が得られる。mb0 のアクティビティを考慮した量子化ステップの操作(係数k)が2であるので、図6Aを参照してQact からQrefの関係を求めることにより下記のように各Qrefに対する符号量が分かる。
【0052】
Length[mb0,1]・・・・該当無し(Qact が1になるようなQrefが存在しないという意味である。)
Length[mb0,2]・・・・Qref =1でアクティビティを考慮した符号量
Length[mb0,4]・・・・Qref =2でアクティビティを考慮した符号量
Length[mb0,8]・・・・Qref =4でアクティビティを考慮した符号量
Length[mb0,16]・・・・Qref =8でアクティビティを考慮した符号量
【0053】
図6Aに示す表を参照するのがマッピング部301(図5参照)である。マッピング部301からのQref に応じてメモリ303のアドレスを変化させて積算する。それによってマクロブロックmb0 だけでのtotal lengthは,下記のものとなる。
【0054】
total length(2)=Length[mb0,4]
total length(4)=Length[mb0,8]
total length(8)=Length[mb0,16]
【0055】
マクロブロックmb1 については、アクティビティを考慮した量子化ステップの操作(係数k)が0.5 であるので、図6Aを参照して同様に符号量が分かる。
【0056】
Length[mb1,1]・・・・Qref =2でアクティビティを考慮した符号量
Length[mb1,2]・・・・Qref =4でアクティビティを考慮した符号量
Length[mb1,4]・・・・Qref =8でアクティビティを考慮した符号量
Length[mb1,8]・・・・Qref =16でアクティビティを考慮した符号量
Length[mb1,16]・・・・該当無し
【0057】
これによりマクロブロックmb1 までのtotal lengthは,下記のものとなる。
【0058】
total length(2)=Length[mb0,4]+Length(mb1,1]
total length(4)=Length[mb0,8]+Length(mb1,2]
total length(8)=Length[mb0,16]+Length(mb1,4]
【0059】
マクロブロックmb2 については、アクティビティを考慮した量子化ステップの操作(係数k)が2.0 であるので、図6Aを参照して同様に符号量が分かる。
【0060】
Length[mb2,1]・・・・該当無し
Length[mb2,2]・・・・Qref =1でアクティビティを考慮した符号量
Length[mb2,4]・・・・Qref =2でアクティビティを考慮した符号量
Length[mb2,8]・・・・Qref =4でアクティビティを考慮した符号量
Length[mb2,16] ・・・・Qref =8でアクティビティを考慮した符号量
【0061】
これによりマクロブロックmb2 までのtotal lengthは,下記のものとなる。
【0062】
total length(2)=Length[mb0,4]+Length[mb1,1]+Length[mb2,4]
total length(4)=Length[mb0,8]+Length[mb1,2]+Length[mb2,8]
total length(8)=Length[mb0,16]+Length[mb1,4]+Length[mb2,16]
となる。
【0063】
マクロブロックmb3 については、アクティビティを考慮した量子化ステップの操作(係数k)が1.0 であるので、図6Aを参照して同様に符号量が分かる。
【0064】
Length[mb3,1]・・・・Qref =1でアクティビティを考慮した符号量
Length[mb3,2]・・・・Qref =2でアクティビティを考慮した符号量
Length[mb3,4]・・・・Qref =4でアクティビティを考慮した符号量
Length[mb3,8]・・・・Qref =8でアクティビティを考慮した符号量
Length[mb3,16] ・・・Qref =16でアクティビティを考慮した符号量
【0065】
これによりマクロブロックmb3 まで(すなわち、1画面)のtotal lengthは,下記のものとなる。
【0066】
total length(2)
=Length[mb0,4]+Length[mb1,1]+Length[mb2,4]+Length[mb3,2]
total length(4)
=Length[mb0,8]+Length[mb1,2]+Length[mb2,8]+Length[mb3,4]
total length(8)
=Length[mb0,16]+Length[mb1,4]+Length[mb2,16]+Length[mb3,8]
となる。以上のようにして、2,4,8のQref に対する1画面の総符号量が求められる。
【0067】
以上の処理によって、目標符号量GEN TGTを超えないで、目標符号量GEN TGTとの差が最小の参照量子化Qref がmin qqとして求められる。しかしながら、Qref を離散的に操作しているので、ビットレートも離散的な値しかとれず細かな制御ができないため、目標符号量GEN TGTとの差が充分に小さくならない可能性がある。そこで、この発明は、量子化ステップが飛び飛びの離散値しか選ぶことができず、実際に使用できるQact (mb)が丸め等の処理によって近い値にマッピングをしていることを利用して、目標符号量GEN TGTとの差をより小さくするものである。丸め処理を利用して細かくビットレートを調整する。
【0068】
すなわち、ビットレートを若干下げたい場合には、いくつかのマクロブロックに対してQスケールを大きくして総符号量を少なくすれば良い。このとき、アクティビティを考慮した際の丸め処理によって切り捨てられた量が大きいもの、すなわち、切り上げても弊害が少なそうなものから順に切り上げるようにする。逆に、ビットレートを若干上げたい場合には、いくつかのマクロブロックに対してQスケールを小さくして総符号量を大きくすれば良い。このとき、丸め処理によって切り上げられた量が大きいものから順に切り捨てるようにする。それによって、アクティビティを考慮してQスケールを変化させた時に、本来のQスケールに対して誤差が少ないようにする。
【0069】
次に例を示す。簡単のため、1画面が4個のマクロブロックによって構成されているとする。所望のビットレートを得るため各マクロブロックに対するアクティビティを考慮して連続値(小数点以下まで求められる値)の量子化ステップは、(3.2、5.9、4.1、10.5) とする。これを四捨五入で丸めをすると、(3、6、4、11)となる。若し、この組み合わせにより得られるビットレートが所望のものよりも高く、ビットレートを下げたい場合には、下記の順にQスケールを変化させる。()内の値は、元の連続値に対する差を示す。
【0070】
3→4(0.8)、4→5(0.9)、6→7(1.1)、11→12(1.5)
【0071】
逆にビットレートが所望のものよりも低く、ビットレートを上げたい場合には、下記の順にする。()内の値は、元の連続値に対する差を示す。
【0072】
11→10(0.5)、6→5(0.9)、4→3(1.1)、3→2(1.2)
【0073】
前述したmin qqは、目標符号量を超えないように設定されており、目標符号量までは、未だ余裕があるので、この余裕を利用してビットレートを上げようとするので、この場合は、ビットレートが所望のものよりも低く、ビットレートを上げたい場合に該当し、Qスケールを小さくする処理が必要である。しかしながら、処理の順序例えば画面の上の左端から順に下の右端に向かってQスケールを小さくした時には、処理の最初の部分のQスケールのみが制御され、後半の部分では、Qスケールが制御されず、画質の改善にとってそれほど有効ではない不都合が生じる。このような不都合を生じないで、アクティビティ情報に応じて量子化ステップを制御することが必要である。そのような処理を実現する方法(アクティビティ部分和法と称する)について以下に説明する。
【0074】
アクティビティ部分和法は、予測系3で参照量子化min qqを求めるために符号量の集計をとると同時に、各アクティビティ毎の符号量の和を求めるようにする。すなわち、アクティビティAct(mb)とq scaIeの二変数でインデックスされる配列データact sub ttl[activity,q scaIe]を生成する。このデータをアクティビティ部分和と呼ぶことにする。アクティビティに離散値を用いれば、q scaIeも離散値であるので、このデータを格納するための容量は、実現可能なものである。
【0075】
図7は、アクティビティ部分和算出回路の一例の構成を示す。前述した図5の構成と同様のものである。すなわち、量子化ステップ決定部13には、図5の構成と共に、図7のアクティビティ部分和算出回路も設けられている。図5の構成では、1画面の全てのマクロブロックの処理が終了すると、Qref のそれぞれについての総符号量がメモリ上に格納される。一方、図7の構成では、1画面の全てのマクロブロックの処理が終了すると、アクティビティとq scaIeの二変数でインデックスされる積算符号量がメモリ上に格納される。
【0076】
図7において、参照符号401がアドレス生成回路を示し、参照符号402がメモリを示す。アドレス生成回路401では、メモリ402に対する書き込みアドレスおよび読み出しアドレスを生成する。書き込みアドレスは、アクティビティAct(mb)とq scaIe(mb)との両者で決定される。読み出しアドレスとしては、任意のアドレスが与えられる。同じ書き込みアドレスが指定されると、メモリ402からの読み出しデータと入力データ(Length)とが加算器403が加算され、加算出力がメモリ402の同一アドレスに対して書き込まれる。メモリ402が1フレーム毎にクリアされる。したがって、メモリ402上には、アクティビティとq scaIeの二変数でインデックスされる1画面の積算符号量が格納される。各符号量がアクティビティ部分和である。
【0077】
min qqを求めた後、参照量子化min qqに対して、「アクティビティを考慮した丸めない量子化ステップQact(mb)」と「その量子化ステップを一段階小さくしたもの」との差が小さくなるアクティビティの順番を求める。これは、アクティビティおよびq scaIeが離散値であるので、あらかじめ計算でき、全てのq scaIeのそれぞれについて、アクティビティの順番をテーブルにしておくことで、容易に順番を求めることができる。
【0078】
このアクティビティの順番に基づいて、アクティビティ部分和を用いて量子化ステップを一段階ずらしてその符号量の増加を調べる。すなわち、順番が早いものから順に量子化ステップを一つ下げる。総符号量が目標符号量GEN TGTを超えることなく、GEN TGTとの差が最小となるアクティビティを見つける。これをmin actとする。この処理は、アクティビティの総数に等しい回数によってなされる。
【0079】
次に、マクロブロック単位で調べる。すなわち、アクティビティの順番がmin actよりも早いマクロブロックについては、無条件に量子化ステップを一段階下げる。アクティビティの順番がmin actと同じマクロブロックについては、量子化ステップを一段階下げることが可能か否かを調べる。アクティビティの順番がmin actより一つ遅いマクロブロックについては量子化ステップを一段階下げることが不可能とする。この処理は、マクロブロックの総数に等しい回数、行なわれる。
【0080】
図8および図9は、上述したアクティビティ部分和法を説明するためのフローチャートである。図3の構成では、量子化ステップ決定部13においてフローチャートで示す処理がなされる。これらの図は、一連の処理を示すものであるが、作図スペースの制約から二つの図に分けたものである。最初のステップS1では、テーブルを参照して現在のmin qqに対してアクティビティの順番act queue[ ]を求める。この順番は、最も早い順が0で、以下、1,2,・・・と遅くなる。最も遅い順位は、アクティビティの総数から1を減じたものである。
【0081】
ステップS2では、アクティビティの順番を示す変数iが0に初期化される。ステップS3では、変数actにi番目のアクティビティを代入する。
【0082】
ステップS4では、actとmin qqによってq scaIeを求める。ステップS5では、q scaIeを一ステップ下げた時の総符号量を求める。総符号量をtmpと表記する。
【0083】
q scaIeを下げたことにより発生符号量の総和が増加するので、ステップS6では、総符号量tmpと目標符号量GEN TGTとを比較する。総符号量がGEN TGT以下であれば、量子化ステップを下げることができるので、処理が次のステップS7に進む。ステップS7では、アクティビティの順番を示す変数iを進め、ステップS8でtotalを更新し、ステップS3に戻る。次のアクティビティの順番に関して上述と同様の処理がなされる。
【0084】
ステップS6において、発生符号量が目標符号量GEN TGTより大と判定されれば、処理がステップS9に進む。ステップS9以降のフローが図9に示されている。図9のフローは、マクロブロック単位の処理である。ステップS9では、アクティビティの順番を示す変数iが一つ減じられる。この減じた結果のアクティビティの順番は、総符号量tmpが目標符号量GEN TGTを超えないものである。
【0085】
ステップS10では、マクロブロックのインデックスである変数mbがゼロに初期化される。ステップS11では、変数mbが総マクロブロック数MB NUMであるか否かが判定される。そうであれば、全マクロブロックの処理が終了したことになるので、処理が終了する。変数mbが総マクロブロック数MB NUMに達していないならば、ステップS12に処理が移る。
【0086】
ステップS12では、mbで示されるマクロブロックのアクティビティの順番とステップS9のmin actとを比較する。順番がmin actより小の場合では、量子化ステップを無条件に下げることができるので、ステップS17にジャンプし、そのマクロブロックmbの量子化ステップが一つ減じられる。順番がmin actより大の場合では、量子化ステップを下げることができないので、ステップS18にジャンプし、量子化ステップを下げることなく、マクロブロックmbが進められる。順番がmin actと等しい場合では、量子化ステップを下げられる可能性があるので、検証のために次のステップS13に進む。
【0087】
ステップS13では、actとmin qqによってq scaIeが求められる。ステップS14では、マクロブロックmbのq scaIeを一つ減じた時の総符号量tmpが求められる。すなわち、q scaIeを一つ減じたことによる符号量の増加分が元の総符号量に加算された結果が総符号量tmpに代入される。
【0088】
ステップS15では、総符号量tmpと目標符号量GEN TGTとを比較する。総符号量tmpがGEN TGT以下であれば、量子化ステップを下げることができるので、処理が次のステップS16に進む。そうでなければ、ステップS18(mbを進める処理)にジャンプする。
【0089】
ステップS16では、総符号量を実際に更新する。そして、ステップS17において、マクロブロックmbの量子化ステップを一つ減じる。ステップS18において、mbを一つ進めて、ステップS11(mbと総マクロブロック数MB NUMの比較)に戻る。
【0090】
図10は、アクティビティの順番を求める処理を説明するものである。各参照量子化Qref および各アクティビティ毎に、q scaleを変化させる順番の一例が示されている。ここで、kは、アクティビティ情報に応じて量子化ステップを操作するための係数、すなわち、式(3)において、Qref (mb)に乗じられる係数部分を表している。前述したように、アクティビティが大きいマクロブロックは、量子化ステップを粗くし、アクティビティが小さいマクロブロックは、量子化ステップを細かくする必要がある。すなわち、アクティビティが小さい場合では、係数が小さくされ、量子化ステップが細かくされ、逆に、アクティビティが大きい場合では、係数が大きくされ、量子化ステップが粗くされる。したがって、この係数kをアクティビティとして扱うことができる。図10では、簡単のため、アクティビティkが5種類の離散的な値(0.5,0.75,1.0,1.5,2.0) をとりうるものとしている。
【0091】
この「アクティビティを考慮した丸めない量子化ステップQact(mb)(5,7.5,10,15,20)」と「丸めた量子化ステップを一段階小さくしたもの(4,7,9,14,19)」との差が小さい順、すなわち、本来連続値でとるべき値との差が小さい順に順位が付けられる。
【0092】
例えばQref =10の場合では、アクティビティkを乗じた値が(5,7.5,10,15,20)となり、四捨五入で丸めた値が (5,8,10,15,20) となる。ビットレートを上げるために、丸め後の量子化から1を減算し、(4,7,9,14,19) を得る。差が小さい順に順番付けがなされる。この場合では、アクティビティが0.75が最も早い順位となる。Qref =11の場合でも、同様に順位が求められる。例えば図2に示されるQ1〜Q31の他のQref についても同様にアクティビティの順番が求められる。この図10に示すテーブルは、予め求めることができる。図8におけるステップS1では、テーブルを参照してアクティビティの順番を求めることができる。
【0093】
なお、この発明においては、量子化の対象の信号が画像信号または画像信号と予測画像信号の差分の何れであっても良い。また、以上の説明では、変換符号化としてDCTを用いたが、DCTに限られず、ウェーブレット変換、Haar変換、K−L変換等に対しても、この発明を適用することができる。
【0094】
また、この発明は、圧縮符号化されたデータを磁気テープに記録したり、ハードディスク、光磁気ディスクに記録する場合に対して適用できる。
【0095】
さらに、マクロブロックの構造としては、(4:2:0)に限らず、(4:2:2)、(4:4:4)、(4:1:1)等の構造であっても良い。マクロブロック内に含まれるDCTブロックの個数も限定されるものではない。よりさらに、符号量を制御する等長化単位としては、1フレームに限らず、より短い期間を設定しても良い。
【0096】
【発明の効果】
この発明は、フィードフォワード制御であるので、フィードバック制御における問題を回避することができる。すなわち、シーンチェンジ時のデータ量の急変による再生画像の破綻を来すことなく、ある決められた枚数のフレームをある決められたビットレートに押さえ込むように制御することができる。
【0097】
また、この発明は、量子化ステップが画像の局所的性質により可変されるので、復号画像の画質を向上することができる。この場合、アクティビティ情報を離散値とし、アクティビティ情報の順番を求め、目標符号量を超えない範囲で、目標符号量との差が最も小さいアクティビティを設定する。次に、マクロブロック単位の処理を行う場合に、設定アクティビティと各マクロブロックのアクティビティ情報を比較することによって、量子化ステップを制御する必要のあるマクロブロックを限定することができるので、比較的簡単な処理で量子化ステップを決定できる。
【図面の簡単な説明】
【図1】量子化ステップのデータを伝送する方法の一例を示す略線図である。
【図2】量子化ステップに対する1フレームで発生する合計符号長の変化の一例を示す略線図である。
【図3】この発明の一実施例の全体的構成を示すブロック図である。
【図4】アクティビティ算出回路の一例のブロック図である。
【図5】この発明の一実施形態における量子化ステップ決定部の一例のブロック図である。
【図6】この発明の一実施形態における量子化ステップのQref およびQact の関係を説明するための略線図である。
【図7】この発明の一実施形態におけるアクティビティ部分和算出回路の一例のブロック図である。
【図8】この発明の一実施形態における量子化ステップの制御の方法を説明するためのフローチャートである。
【図9】この発明の一実施形態における量子化ステップの制御の方法を説明するためのフローチャートである。
【図10】この発明の一実施形態においてアクティビティ情報に応じて量子化ステップを制御する方法を説明するための略線図である。
【符号の説明】
2・・・本線系、3・・・予測系、6・・・量子化部、10−1〜10−n・・・量子化器、13・・・量子化ステップ決定部、15・・・アクティビティ算出部

Claims (4)

  1. 複数のブロックによって構成される等長化単位毎に、目標符号量内で画像信号を量子化する画像信号の符号化装置において、
    上記画像信号の上記ブロック毎にアクティビィティを検出し、検出したアクティビィティを上記ブロックのそれぞれに対する小数点以下の値を有するアクティビティ情報として出力するアクティビィティ検出手段と、
    上記等長化単位毎に適用される複数の第1の量子化ステップが設定され、上記第1の量子化ステップを上記ブロック毎のアクティビティ情報によって修正してアクティビティを考慮した量子化ステップが設定され、上記アクティビティを考慮した量子化ステップで上記ブロック毎に量子化を行った場合の上記ブロック毎に発生する符号量をメモリに保持し、
    上記第1の量子化ステップを変化させた場合の上記等長化単位毎の総符号量を上記保持されている符号量から求め、上記等長化単位で発生する総符号量が目標符号量を下回り、上記総符号量と上記目標符号量との差が最小となる第2の量子化ステップを上記等長化単位毎に決定すると共に、上記アクティビティ情報と上記第1の量子化ステップの2変数で規定される配列データである部分和を求める第1の決定手段と、
    上記第2の量子化ステップに対して、上記アクティビティを考慮した複数の量子化ステップの決定時における上記丸め処理において、丸め処理後の量子化ステップを1ステップ下げた量子化ステップと、上記丸め処理前の量子化ステップとの差が小さい順に、上記アクティビィティの順番を求め、
    上記アクティビィティの順番に基づいて、上記アクティビィティ部分和を使用して量子化ステップを一段階小として符号量の増加を調べ、総符号量が目標符号量を超えることなく目標符号量との差を最小とするアクティビィティを決定し、
    上記等長化単位分の複数のブロックのそれぞれの上記アクティビィティ情報のアクティビィティの順番が決定された上記アクティビィティより早い場合に、当該ブロックの量子化ステップを1ステップ下げ、上記アクティビィティ情報のアクティビィティの順番が決定された上記アクティビィティと同じ場合に、量子化ステップを一段階下げることが可能か否かを調べ、上記アクティビィティ情報のアクティビィティの順番が決定された上記アクティビィティより遅い場合に、量子化ステップを一段階下げることを不可能とすることによって、第3の量子化ステップを決定する第2の決定手段とからなり、
    記第2の決定手段で決定された上記第3の量子化ステップによって各ブロックを量子化することを特徴とする画像信号の符号化装置。
  2. 請求項1において、
    さらに、予め上記アクティビィティの順番を求め、上記第1の量子化ステップ毎に上記順番の情報をルックアップテーブルとして持つようにした画像信号の符号化装置。
  3. 複数のブロックによって構成される等長化単位毎に、目標符号量内で画像信号を量子化する画像信号の符号化方法において、
    上記画像信号の上記ブロック毎にアクティビィティを検出す、検出したアクティビィティを上記ブロックのそれぞれに対する小数点以下の値を有するアクティビティ情報として出力するアクティビィティ検出ステップと、
    上記等長化単位毎に適用される複数の第1の量子化ステップが設定され、上記第1の量子化ステップを上記ブロック毎のアクティビティ情報によって修正してアクティビティを考慮した量子化ステップが設定され、上記アクティビティを考慮した量子化ステップで上記ブロック毎に量子化を行った場合の上記ブロック毎に発生する符号量をメモリに保持し、
    上記第1の量子化ステップを変化させた場合の上記等長化単位毎の総符号量を上記保持されている符号量から求め、上記等長化単位で発生する総符号量が目標符号量を下回り、上記総符号量と上記目標符号量との差が最小となる第2の量子化ステップを上記等長化単位毎に決定すると共に、上記アクティビティ情報と上記第1の量子化ステップの2変数で規定される配列データである部分和を求める第1の決定ステップと、
    上記第2の量子化ステップに対して、上記アクティビティを考慮した複数の量子化ステップの決定時における上記丸め処理において、丸め処理後の量子化ステップを1ステップ下げた量子化ステップと、上記丸め処理前の量子化ステップとの差が小さい順に、上記アクティビィティの順番を求め、
    上記アクティビィティの順番に基づいて、上記アクティビィティ部分和を使用して量子化ステップを一段階小として符号量の増加を調べ、総符号量が目標符号量を超えることなく目標符号量との差を最小とするアクティビィティを決定し、
    上記等長化単位分の複数のブロックのそれぞれの上記アクティビィティ情報のアクティビィティの順番が決定された上記アクティビィティより早い場合に、当該ブロックの量子化ステップを1ステップ下げ、上記アクティビィティ情報のアクティビィティの順番が決定された上記アクティビィティと同じ場合に、量子化ステップを一段階下げることが可能か否かを調べ、上記アクティビィティ情報のアクティビィティの順番が決定された上記アクティビィティより遅い場合に、量子化ステップを一段階下げることを不可能とすることによって、第3の量子化ステップを決定する第2の決定ステップとからなり、
    記第2の決定ステップで決定された上記第3の量子化ステップによって各ブロックを量子化することを特徴とする画像信号の符号化方法。
  4. 請求項3において、
    さらに、予め上記アクティビィティの順番を求め、上記第1の量子化ステップ毎に上記順番の情報をルックアップテーブルとして持つようにした画像信号の符号化方法。
JP2002285573A 2001-10-24 2002-09-30 画像信号の符号化装置および符号化方法 Expired - Fee Related JP4127006B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002285573A JP4127006B2 (ja) 2001-10-24 2002-09-30 画像信号の符号化装置および符号化方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-326614 2001-10-24
JP2001326614 2001-10-24
JP2002285573A JP4127006B2 (ja) 2001-10-24 2002-09-30 画像信号の符号化装置および符号化方法

Publications (2)

Publication Number Publication Date
JP2003204554A JP2003204554A (ja) 2003-07-18
JP4127006B2 true JP4127006B2 (ja) 2008-07-30

Family

ID=27666455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002285573A Expired - Fee Related JP4127006B2 (ja) 2001-10-24 2002-09-30 画像信号の符号化装置および符号化方法

Country Status (1)

Country Link
JP (1) JP4127006B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4538724B2 (ja) * 2004-08-18 2010-09-08 富士ゼロックス株式会社 パラメータ決定装置、符号化装置、パラメータ決定方法及びそのプログラム

Also Published As

Publication number Publication date
JP2003204554A (ja) 2003-07-18

Similar Documents

Publication Publication Date Title
KR100756596B1 (ko) 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
JP2963416B2 (ja) 量子化活動度を用いてビット発生量を制御する映像符号化方法及び装置
US20050169547A1 (en) Encoding apparatus and method
US7065138B2 (en) Video signal quantizing apparatus and method thereof
KR20010021879A (ko) 코딩 시스템의 매크로 블록 기반 비율을 제어하기 위한장치 및 방법
JP2002209215A (ja) 符号量制御装置及び方法、並びに画像情報変換装置及び方法
US6654416B1 (en) Device and process for regulating bit rate in system for the statistical multiplexing of image streams coded according to MPEG2 coding
JPH05227520A (ja) 画像圧縮符号化装置
JP4081727B2 (ja) 画像符号化装置および画像符号化方法、並びに記録装置および記録方法
JPH11275577A (ja) 映像信号符号化方法及び装置
JP4127006B2 (ja) 画像信号の符号化装置および符号化方法
US7801214B2 (en) Method and apparatus for controlling encoding rate and quantization scales
JP3149673B2 (ja) 映像符号化装置、映像符号化方法、映像再生装置及び光ディスク
JP4007398B2 (ja) 量子化制御装置およびその方法
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
JP3200518B2 (ja) 画像信号符号化装置
JP2891250B2 (ja) 動画像符号化方法および装置
JP2009118097A (ja) 画像符号化装置及びその制御方法、コンピュータプログラム
JP4404232B2 (ja) 量子化方法、量子化装置、量子化ステツプ決定方法及び量子化ステツプ決定装置
JP2007020216A (ja) 符号化装置、符号化方法、フィルタ処理装置およびフィルタ処理方法
KR100207418B1 (ko) 부호화 비트발생율 제어방법 및 그 제어장치
JP4239734B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
Fogg et al. ISO/IEC software implementation of MPEG-1 video
JPH05219496A (ja) 画像符号化装置及び動画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080328

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: 20080422

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080505

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees