JP4111351B2 - コード化システムにおけるレート制御を最適化するための装置および方法 - Google Patents

コード化システムにおけるレート制御を最適化するための装置および方法 Download PDF

Info

Publication number
JP4111351B2
JP4111351B2 JP53673098A JP53673098A JP4111351B2 JP 4111351 B2 JP4111351 B2 JP 4111351B2 JP 53673098 A JP53673098 A JP 53673098A JP 53673098 A JP53673098 A JP 53673098A JP 4111351 B2 JP4111351 B2 JP 4111351B2
Authority
JP
Japan
Prior art keywords
frame
quantizer scale
bits
current
input frame
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
Application number
JP53673098A
Other languages
English (en)
Other versions
JP2001512643A (ja
Inventor
チャン,ティハオ
ヅァン,ヤ−チン
Original Assignee
メディアテック インコーポレイション
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 メディアテック インコーポレイション filed Critical メディアテック インコーポレイション
Publication of JP2001512643A publication Critical patent/JP2001512643A/ja
Application granted granted Critical
Publication of JP4111351B2 publication Critical patent/JP4111351B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

この出願は、1997年2月12日に出願された出願番号60/037,056の米国プロビジョナル出願の利益を主張し、プロビジョナル出願は参照されることによってここに包含される。
本出願は、運動映像のコード化を最適化するための装置および付随する方法に関連する。さらに、この出願は、コード化レートを最適化しながら運動映像の全体にわたる品質を維持するために、各フレーム毎に量子化器スケールを再帰的に調整する装置および方法に関する。
発明の背景
モーション・ピクチャ・エキスパート・グループ(MPEG)は、コード化/デコード化の方針(strategy)を制定するためにISO/IECインターナショナル・スタンダード11172および13818(一般的には、MPEG-1、MPEG-2フォーマットとして引用される)を創り出した。これらのMPEG標準は、一般的なコード化方法論、およびMPEG準拠のビットストリームを生成するためのシンタックスを詳述しているけれども、多くの変形が、デスクトップ・ビデオ・パブリッシング、ビデオ会議開催、ディジタル記憶媒体、およびテレビ放送といった複数の異なる応用およびサービスを適用するために許容されている。
現在のMPEGコード化の方針(例えば、様々なMPEGテストモデル)において、各フレームに対する量子化器スケールは、同じタイプの全てのピクチャが一群のピクチャ内に同一の複雑度(complexity)を有するということを仮定することによって選択される。しかしながら、各ピクチャの複雑度が時間とともに変動するので、この判定基準によって選択された量子化器スケールは最適なコード化性能を達成しなことがある。
さらに、グローバル型変換、例えば、ウエーブレット変換(他には、階層的サブバンド分解として知られているもの)、を利用するエンコーダは、類似の問題を持っている。例えば、ウエーブレット変換は、低いビットレートの画像コード化の重要な面、つまり、非ゼロ値の場所を示すビットマップ(ウエーブレット・ツリー)のコード化、他には変換係数の重要性マップ(シグニフィカンスマップ)として知られているもの、に適用される。それから、量子化およびエントロピコード化は、非常に低いビットレートを達成するために使用される。重要性マップ(ウエーブレットツリー)をエンコードするための量子化器スケールを適切に選択することにおいて意味のある改善をすると、圧縮効率およびコード化レートにおいて意味のある改善が起こる、ということが引き続く。
したがって、この技術分野において、コード化レートを最適化しながらビデオ画像の全体にわたる品質を維持するために、各フレーム毎の量子化器スケールを再帰的に調整する装置および方法に関して要求がある。
発明の要約
本発明は、コード化レートを最適化しながらビデオ画像の全体にわたる品質を維持するために、各フレーム毎に量子化器スケールを選択するための装置および方法である。すなわち、量子化器スケールは、ピクチャの全体シーケンスにわたる一様な視覚品質を維持しながらピクチャに対する目標となるビットレートが達成されるように、各フレーム(ピクチャ)毎に選択される。
【図面の簡単な説明】
本発明の教えは、添付図面を参照しながら、引き続く詳細な説明を考慮することによって容易に理解される。
図1は、本発明の装置のブロック図である。
図2は、装置のビットレートを制御するために複雑度に従う最良の量子化器スケールを導くための流れ図である。
図3は、本発明の装置の第2の実施例のブロック図である。
図4は、ウエーブレット・ツリーを図面で表したものである。
図5は、本発明のエンコードシステムである。
理解を容易にするために、図面に共通な同一要素を指し示すために、可能な場合には、同一の参照符号が使用される。
詳細な説明
図1は、コード化レートを制御しながらビデオ画像の全体にわたる品質を維持するために、各フレーム毎に量子化器スケールを導くための本発明の装置100のブロック図を示している。本発明はMPEG準拠のエンコーダを参照しながら以下に記述されるけれども、当業者は、他のコード化/デコード化標準に準拠している他のエンコーダに本発明が適用され得ることを理解するでしょう。
本発明の好ましい実施の形態では、装置100は、エンコーダ、またはブロックに基づくもっと複雑な運動補償コード化システムの一部である。装置100は、運動評価モジュール140、運動補償モジュール150、レート制御モジュール130、DCTモジュール160、量子化(Q)モジュール170、可変長コード化モジュール(VLC)180、バッファ190、逆量子化(Q-1)モジュール175、逆DCT(DCT-1)変換モジュール165、引き算器115、および総和器155、を備える。装置は複数のモジュールを備えるけれども、当業者は、ざまざまなモジュールによって実行される機能を図1に示されるように別個のモジュールへ分離することが必要でないことを理解するであろう。例えば、運動補償モジュール150、逆量子化モジュール175、および逆DCTモジュール165を備えるモジュールの組は、一般に「エンベデットデコーダ」として知られている。
図1は、MPEG標準に従う輝度信号および2つの色差信号(Y、Cr、Cb)としてデジタル化され、且つ表示される信号経路上の入力ビデオ画像を図示している。これらの信号は、各ピクチャ(フレーム)が複数のマクロブロックによって表示されるように、複数のレイヤ(シーケンス、ピクチャ群、ピクチャ、スライス、マクロブロック、およびブロック)へさらに分割される。各マクロブロックは、4つの輝度ブロック、1つのCrブロック、およびCbブロックを備え、ここでは、ブロックは8×8サンプル・アレイとして定義される。ブロックユニットへピクチャを分割すると、(以下に議論される)低い振幅の変換された係数の削除を介して画像圧縮が改善される。ディジタル化された信号は、適切なウインドウ、解像度および入力フォーマットを選択するためのフォーマット変換といった前処理をオプション的に受けることができる。
パス100上の入力ビデオ画像は、運動ベクトルを評価するために運動評価モジュール140へ受け取られる。運動ベクトルは、現ピクチャにおけるブロックの座標位置から参照フレームにおける座標へのオフセットを与えるように、運動補償によって使用される2次元ベクトルである。参照フレームは、前(previous)フレーム(P-フレーム)、または前および/若しくは将来フレーム(B-フレーム)であり得る。運動ベクトルを使用すると、チャネル上に伝送される情報の量を減少することによって、圧縮が大幅に高まる。なぜなら、現在フレームと参照フレームとの間の変化のみがコード化され伝送されるからである。
運動評価モジュール140からの運動ベクトルは、サンプル値の予測効率を改善するために運動補償モジュール150によって受け取られる。運動補償は、予測誤差を形成するために使用される以前にデコード化されたサンプル値を含む過去および/または将来の参照フレームへオフセットを与えるように運動ベクトルを使用する予測を伴う。つまり、運動補償モジュール150は、現在のフレームの見積を構築するために、以前にデコードされたフレームおよび運動ベクトルを使用する。さらに、当業者は、運動評価モジュールおよび運動補償モジュールによって実行される機能が、組み合わされたモジュール、例えば単一の運動補償器、によって実現されることができることを理解する。
さらに、与えられたマクロブロックのために運動補償予測を実行するに先立って、コード化モードを選択しなくてはならない。コード化モード決定の分野では、MPEGは、複数の異なるマクロブロックコード化モードを提供する。具体的には、MPEG-2は、イントラモード、無運動補償モード(No MC)、フレーム/フィールド/デュアル−プライム運動補償インタモード、前方/後方/平均インタモード、およびフィールド/フレームDCTモードを含むマクロブロックコード化モードを提供する。
いったん、コード化モードが選択されると、運動補償のモジュール150は、過去および/または将来の参照フレームピクチャに基づいてブロックの内容の運動補償された予測(予測された画像)をパス152上に発生する。パス152上のこの運動補償された予測は、現マクロブロックにおいてパス110上のビデオ画像から引き算器を介して差し引かれ、パス153上に誤差信号または予測残差信号を形成する。予測残差信号を形成すると、入力ビデオにおける余剰の情報が除かれる。現フレームがI-フレームとしてエンコードされると、そのときは、パス153上の信号は、単に元の信号であり、予測残差信号でない。
DCTモジュール160が前方離散コサイン変換プロセスを予測残差信号の各ブロックに適用し、一組の8×8DCT係数のブロックを生成する。DCT基本関数、またはサブバンド分解によれば、量子化の次のステップのために重要である精神視覚学の判定基準を効果的に使用することが可能になる。
結果として生じる8×8DCT係数ブロックは、DCT係数が量子化される量子化モジュール170によって受け取られる。量子化のプロセスは、一組の量子化値でDCT係数を除算し適切に丸めて整数値を形成することよって、DCT係数が表現される正確さを低くする。量子化値は、(視覚的に重み付けられた量子化として知られている)基本関数の視覚性に基づく判定基準を使用して、各DCT係数のために個別に設定される。すなわち、量子化値は、所与の基本関数の視覚性に関するしきい値、つまり人間の目によってちょうど検出可能な係数振幅、に対応する。この値でDCT係数を量子化することによって、DCT係数の多くは値「ゼロ」に変換され、それによって画像圧縮効率を改善する。量子化のプロセスは鍵となる演算であり、視覚的な品質を達成するための、またエンコーダを制御しその出力を所与のビットレートに合わせる(レート制御)ための、重要な道具である。異なる量子化値が各DCT係数に適用されるので、「量子化マトリックス」は、一般的には、参照テーブル、例えば輝度量子化テーブルまたは色量子化テーブル、として作られる。このため、エンコーダは、変換されたブロックにおける各周波数係数がどのように量子化されるかを決定する量子化マトリックスを選ぶ。
しかしながら、量子化誤差の主観的な認知は周波数と共に変化し、またより高い周波数に対して粗い量子化値を使用することが便利である。すなわち、量子化誤差の人間の認知感度はより高い空間周波数に対して低くなる。結果として、高い周波数は、低い周波数よりもより少ない許容された値でより粗く量子化される。さらに、正確な量子化マトリックスは、意図されたディスプレイの特徴、見る距離、およびソースにおけるノイズ量といった多くの外部パラメータに依存する。このため、応用のために、または個々のシーケンスのフレームのためにさえも、特定の量子化マトリックスを仕立てることができる。一般的には、特注製の(カスタマイズされた)量子化マトリックスは、圧縮されたビデオ画像と一緒に、コンテクストとして格納されることができる。量子化器スケールの適当な選択は、レート制御モジュール130によって実現される。
次いで、結果として得られる8×8量子化されたDCT係数は、信号接続171を経由して可変長コード化(VLC)モジュール180によって受け取られ、ここでは、量子化係数の2次元ブロックは、シグザグ順序でスキャンされ量子化係数の1次元ストリング(列)に変換される。このジグザグ走査は、最も低い空間周波数から最も高い空間周波数へのDCT係数の近似的な順次的な順序付けである。それから、可変長コード化モジュール180は、可変長コード化およびランレグス(run-length)符号化を使用して、マクロブロックに関する全ての副次的な情報、および量子化DCT係数のストリング列をエンコード化する。
データストリームは、「ファーストイン・ファーストアウト」(FIFO)バッファ190に受け取られる。異なるピクチャ・タイプおよび可変長コード化を使用することの結果は、FIFOへの全体のわたるビットレートが可変であるということである。すなわち、各フレームをコード化するために使用されるビット数は異なりうる。固定されたレートチャネルを伴う応用では、FIFOバッファは、ビットレートを滑らかにするためにエンコーダ出力をチャネルに合わせるように使用される。このため、パス195上のFIFOバッファ190の出力信号は、パス110上の入力ビデオ画像の圧縮された表現(または入力画像と予測された画像との間の圧縮された差信号)であり、ここでは、それは、パス195を経由して遠距離通信チャネルまたは記憶媒体に送られる。
レート制御モジュール130は、FIFOバッファ190に入力するデータストリムのビットレートを監視しまた調整し、データストリームの伝送の後のデコーダ側(図示されていない受信器または対象の記憶デバイス)のオーバフローおよびアンダーフローを避ける。このため、バッファ190の状態を監視しエンコータによって発生されたビット数を制御することが、レート制御モジュール130のタスクである。
本発明の好ましい実施の形態では、レート制御モジュール130は、コード化レートを制御しながらビデオ画像の全体にわたる品質を維持するように、各フレームに対して量子化器スケールを選択する。すなわち、量子化器スケールは、ピクチャ全体にわたって一様な視覚品質を維持しながらピクチャのため目標となるビットレートが達成されるように各フレーム毎に選択される。
本発明は、時間的(例えば、運動評価/補償)および空間的(例えば、離散コサイン変換)なエンコード化を実現するエンコーダと一緒に記述されているけれども、本発明はそのようには限定されない、ことを理解すべきである。いかなる空間的および時間的エンコーダを使用しないことも含んで、他の時間的エンコード化法およぶ空間的エンコード法を使用することができる。
具体的には、レート制御モジュール130は、初期的には、前にエンコードされたピクチャから、または、様々なMPEGテストモジュールを実現することによって、特定のタイプのピクチャ(I,P,B)の複雑度の粗い評価を得る。この評価された複雑度は、各フレームをコード化するために必要な予測ビット数を導くために使用される。この知識を用いて、量子化器スケールは、多項式形式を有する複雑度メジャ(complexity measure、複雑度測度)に従ってフレームに対して計算される。この複雑度メジャは、フレームに対する選択された量子化器スケールがピクチャのための目標ビットレートに接近すべきであるという制約に合わせるために導かれる。一旦、フレームがエンコードされると、レート制御モジュールは、多項式回帰プロセス(polynomial regression process)を介して複雑度メジャを再帰的に調整する。つまり、マクロブロックをコード化するために必要な実際のビット数は、次のフレームのための量子化器スケールの予測を改善するために複雑度メジャをより正確にするように使用される。量子化器スケールの選択法の詳細な記述は、図2を参照しながら以下に議論される。
図1を参照すると、量子化器モジュール170からの結果となる8×8量子化されたDCT係数は、また、信号接続172を経由して逆量子化モジュール175によって受け取られる。この段階で、エンコーダは、引き続くエンコード化のための参照フレームとして入力ビデオ画像のI-フレームおよびP-フレームが使用されるようにするために、データをデコード化することによってI-フレームおよびP-フレームを再生成する。
逆DCTが各マクロブロックに適用されデコードされた誤差信号を生成する逆DCTモジュール165に、結果となる非量子化された(dequantized)8×8DCT係数ブロックを通す。この誤差信号は、総和器155を経由して運動補償モジュールから予測信号に加算され戻され、デコードされた参照ピクチャ(再構成された画像)を生成する。
図2は、本発明の好ましい実施の形態における装置のビットレートを制御するために、複雑度メジャに従って最良の量子化器スケールを導くためのフローチャートである。図2に描かれるように本発明の方法200は、各フレーム毎に量子化器スケールを導くために定式化されている。その解は、一方のピクチャまたは別のピクチャからの相対的に一様な視覚品質を維持しながら、目標ビットレートを満足すべきである。
図2を参照すると、方法は、ステップ205に始まり、
T=X1EQ-1+X2EQ-1 (1)
の関係を有する初期メジャを採用するステップ210に進む。Tは特定のフレームをエンコード化するために利用可能な(エンコード化ビットカウント)目標ビット数を表す。Qは、フレームのために選択された量子化レベルまたはスケールを表す。Eは、変形メジャ(distortion measure)を表す。好ましい実施の形態では、Eは、運動補償を実行した後の現フレームに関する平均絶対差を表す。すなわち、メジャEは、シーケンス内の連続したフレーム間の差を捕捉する(account for)ために、フレームのビット割り当て(budget)を調整する方法を提供する。Eは、現フレームと前フレームとの間の差をブロックからブロックへ総和しまた平均絶対差メジャを計算することによって計算される。換言すれば、現フレームと前フレームとの間の差が大ききければ大きいほど、現フレームをコード化するために必要とされるビット数が大きくなる。さらに、他の変形メジャが使用されることができ、その結果、Eは平均二乗誤差または丁度可視差異(jnd:2つの刺激間の感知できる最小の感覚的差異)を表す。
式(1)のパラメータおよび他の関係のあるパラメータが、以下に簡潔に記述され、更に以下のようにサブスクリプトと一緒に規定されている:
Rs:シーケンス(またはセグメント)のためのビットレート。
(例えば、24000ビット/秒)
Rf:第1のフレームのために使用されているビット。
(例えば、10000ビット)
Rc:現フレームのために使用されるビット。それは、エンコード化の後に得られるビットカウントである。
Rp:ピクチャ当たりのバッファから除かれるべきビット。
Ts:シーケンス(またはセグメント)のための秒数。(例えば、10秒)
Ec:運動補償の後の現フレームのための平均絶対差。
Qc:現フレームのために使用されている量子化レベル。
Nr:エンコード化のために残っているPフレーム数。
Ns:エンコードされたフレーム間の距離。(例えば、7.5fpsの対して4)
Rr:このフレーム(またはセグメント)をエンコード化するために残っているビット数。
T:現フレームに使用されるべき目標ビット。
Sp:前フレームをエンコード化するために使用されるビット数。
Hc:現フレームで使用されたヘッダおよび運動ベクトルのビット。
Hp:前フレームで使用されたヘッダおよび運動ベクトルのビット。
Qp:前フレームで使用された量子化レベル。
Bs:バッファサイズ、例えばRs/2。
B:現バッファレベル、例えば、Rs/4−バッファの中間から開始。
より具体的には、ステップ210では、パラメータX1およびX2は、以下のように初期化される。
X1=(Rs *Ns)/2
X2=0 (2)
Rsは、シーケンス(またはセグメント)のビットレート、例えば、1秒当たり24000ビット、を表す。Nsは、エンコードされたフレーム間の距離を表す。つまり、低ビットレートの応用のため、シーケンス内のあるフレームは、エンコード化されることができず(飛び越され)、例えば、エンコーダは4フレーム毎のみエンコード化する。飛び越されるフレームの数は、特定の応用の要求に合わせて仕立てられることができるを理解すべきである。
本発明は、一連のフレーム、例えば1シーケンス当たり300フレーム、を参照して以下に記述されるけれども、当業者は、本発明はそれに限定されないことを理解するであろう。事実、本発明は、連続的なシーケンス(実時間)または任意の長さのシーケンスに適用されることができ、そこでは、その方法は、周期的に、または予め規定された間隔で初期化される。
パラメータX1およびX2の値の場合、そのときは、方法200は、以下のような他のパラメータ
Rr=Ts *Rs-Rf (3)
Rp=Rr/Nr (4)
を初期化する。
Rrは、シーケンス(またはセグメント)をエンコード化するための残りのビット数を表す。Tsは、シーケンス(またはセグメント)のための秒数を表し、例えば、シーケンスが毎秒30フレームのレートで300フレームを含むと、そのときTsは300/30秒である。Rfは、第1のフレームのために使用されるビット数を表し、ここでは、典型的は、そのフレームは「I」フレームとしてエンコードされる。方法200は、特別の値、例えば10000ビットをRfに割り当てる。
Rrを用いて、方法200は、バッファから除かれるべきフレーム当たりのビット数を表すRpを計算する。Nrは、エンコード化するための残りのフレーム数(P)を表す。
一旦、初期化が完了すると、方法200はステップ220へ進み、ステップ220では、メジャに関するパラメータX1およびX2が更新される。しかしながら、メジャは、一般的には、初期化の後に更新されず、なぜならば、メジャをより一層正確にするため、例えば第1のフレームをエンコード化するために、その時点では不十分な情報しかないからである。それにもかかわらず、メジャの更新に利用できる先行情報があるかもしれない状況、例えば、中断した後の再初期化または所定のシーケンスにおける再初期化がある。ステップ220およびステップ225は、以下に議論される。そのようなものとして、方法200は、(図2において破線で示されるように)ステップ230に直接に進む。
ステップ230では、方法200は、現フレームをエンコードする前に次のように
T=Max(Rs/30,Rr/Nr *a+Sp *b) (5)
現フレームのための目標ビットレートを計算する。Tは、現フレームのために使用されるべき目標ビットレートを表す。Spは、前のフレームをエンコードするために使用されるビット数を表す。好ましい実施形態では、式(5)において、値0.95および0.05が、それぞれ、定数aおよびbのために選択される。しかしながら、本発明は、そのようには制限されない。他の値を参照することができる。事実、これらの値は、時間的に調整される。
式(5)は、Tが2つの可能な値を大きい方をとることを可能にするということに注目すべきである。まず、目標ビットレートは、利用できるビットおよび最後にエンコードされたフレームビットに基づいて計算される。最後のフレームが複雑でありまた多くのビットを含むならば、それは、より多くのビットが現フレームに割り振られるべきであるという前提に導く。しかしながら、この割り当てを増加すると、残りのフレームをエンコードするための利用可能なビット数が少なくなり、このため、このフレームに対して、割り当てが増加されることを制限する。重み付けされた平均は、式(5)の第2項に表されるように、これらの2つの要因の妥協案を反映している。
第2に、目標レート(Rs/30)の下限は、最小量の品質を補償し、あるいは維持するために使用され、例えば800ビット/フレームが最小として設定されることができる。最小量の品質が維持されることができないならば、エンコーダは、現フレームを完全に飛び越すためのオプションを有する。
式(5)の目標ビットレートは、それから、アンダーフローおよびオーバフローの両方を避けるためにバッファの状態に従って、次のように
T′=T*(B+c*(Bs-B))/(c*B+(Bs-B)) (6)
調整される。
T′は、調整された目標ビットレートであり、Bsは全バッファサイズであり、cは値2(他の値を使用できる)であるように選択された定数であり、Bはデコーダに送られるべきビットを含むバッファ部分である。このようなものとして、Bs−Bは、バッファの残りの空間である。式(6)は、バッファが半分を超えて満たされているならば、目標ビットレートT′は減少される。この逆に、バッファが半分より少なく満たされているならば、目標ビットレートT′は増加される。バッファが正確に半分ならば、調整は必要とされず、式(6)はT′=Tに変わる。
さらに、目標ビットレートの調整は、
if(B+T′>0.9*Bs),then T″=Max(Rs/30,0.9*Bs-B) (7a)
if(B-Rp+T′<0.1*Bs),then T″=Rp-B+0.1*Bs (7b)
と表現される式(7a)、(7b)に従って調整を受けなければならないことがある。ここで、T”は第2の調整された目標ビットレートである。式(7a)は、目標ビットレートの調整を制限する(押しつける(clamp))ことによって、オバーフロー条件を回避するように設計されている。つまり、現フレームに関する計算された目標ビットレートT′の合計および現バッファの満杯度は、バッファ容量の90%を越えてはならない。バッファ容量に近すぎる運転は、差し迫っているオバーフロー条件を作り出す危険にエンコーダを置く、つまり、次のフレームの複雑度に急な変化、例えば余分な運動または場面の削除、がある場合である。再び、T”が下限(Rs/30)未満であると、そのとき、エンコーダはフレームの飛び越し(skipping)のオプションを有する。
対照的に、式(7b)は、目標ビットレートの調整を修正することによってアンダーフロー条件を回避するように設計されている。つまり、計算された目標ビットレートT′の合計および現バッファの満杯度は、バッファ容量の10%を下回ってはならない。空のバッファに近すぎる運転は、差し迫っているアンダーフロー条件を作り出す危険にエンコーダを置く。つまり、次のフレームの複雑度にほとんど変化ない場合、例えば次のフレームにおいて全く運動がない場合である。一旦、目標ビットレートが計算されると、方法200はステップ240に進む。
ステップ240では、方法200は、現フレームに関する量子化レベルおよび量子化スケールを以下のように計算する。
T″′=Max(Rp/3+Hp,T”) (8a)
if(X2=0) Qc=X1 *Ec/(T”’-Hp) (8b);
else Qc=(2*X2 *Ec)/(sqrt((X1 *Ec)2+4*X2 *Ec *(T”’-Hp))-X1 *Ec) (8c)
ここで、Qcは、現フレームに関する計算された量子化スケールであり、Hpは前フレームのヘッダおよび運動ベクトルをエンコードするために使用されるビット数であり、Ecは運動補償した後の現フレームに関する平均絶対差である。つまり、式(8b)および式(8c)は、それぞれ、1次および2次オーダの方程式であり、ここで、Qcは容易に計算される。式(8a)は、ヘッダに対して指定されたビットレートより目標ビットレートが確実に大きくなるように採用された別の目標ビットレート調整である。
本発明の好ましいな実施の形態は、2次オーダの式を用いる複雑度メジャを採用するけれども、他のオーダの式、例えば多くの計算コストをかける3次オーダ等を使用できることを理解すべきである。加えて、本発明の好ましいな実施の形態は一続きの目標ビットレート調整を採用するけれども、計算のオバーヘッドを縮小するために、これらの目標ビットレート調整を省略できることを理解すべきである。しかしながら、目標ビットレート調整がないと、アンダーフロー状態またはオバーフロー状態の危険が増す。
さらに、現フレームのための目標ビットレートは、ヘッダ、運動ベクトル、および現フレームに関連づけられた他の情報をエンコードするために必要とされるビット量によって調整される。ヘッダおよび他の情報は、一般に、フレームからフレームに大きく変化することはないので、前フレームに関するヘッダ情報をエンコードするために使用されるビット数Hpは、現フレームに関するヘッダ情報をエンコードするために必要とされる適切な近似のビット数を提供する。
このようなものとして、量子化レベルの選択はヘッダおよび運動ベクトルのコード化に影響を与えないので、式(1)を表現する別の方法は、
T−Hp=X1EQ-1+X2EQ-2 (9)
である。
加えて、計算された量子化スケールQcは、フレームからフレームへ一様な視覚品質を確実にするために、以下のように調整されなくてはならないことがある。
Qc′=Min(ceil(Qp *1.25),Qc,31) (10a)
Qc′=Max(ceil(Qp *0.75),Qc,1) (10b)
ここで、Qc′は調整された量子化スケールであり、Qpは前フレームにおいて使用された量子化レベルである。計算されたQcは、式(10a)および式(10b)に従って限定(limit)または制限(clip)されない。つまり、Qc′は、計算されたQc、前フレームQpにおいて使用された前量子化レベルの125%、または(MPEG標準によって設定された)最大量子化レベル31のいすれかより小さい値を選択することによって、式(10a)に従って計算される。同様に、Qc′は、計算されたQc、前フレームQpに使用された前量子化レベルの75%、または(MPEG標準によって設定された)最小量子化レベル1のいすれかのより大きい値を選択することによって、式(10b)に従って計算される。一般的に、量子化レベルは、整数値に丸められる。式(10a)は、Qc>Qpの条件の下にQc′を計算するために使用され、他の場合には、式(10b)が使用される。
式(10a)および式(10b)は、フレーム間の量子化レベルにおける急激な変化を制限するために役立ち、その変化は、次には、デコードされたピクチャの視覚品質における顕著な変化を引き起こすことがある。この方法では、量子化器レベルは、コード化レートを最適化する一方で、運動映像の全体にわたる品質を維持するために、各フレーム毎に計算される。一旦、量子化レベルが現レベルに対して計算されると、方法200はステップ250に進む。
ステップ250では、この方法は、現フレームをエンコードすることから生じる実際のビット数を表すRcを生成するためにステップ240から計算された量子化レベルを使用して現フレームをエンコードする。Rcを用いて、複雑度メジャの、あるパラメータは、以下のように更新される。
B=B+Rc-Rp (11)
Rr=Rr-Rc (12)
Sp=Rc (13)
Hp=Hc (14)
Qp=Qc (15)
Nr=Nr-1 (16)
第1に、バッファ満杯度Bが、ビットRcの追加およびビットRpの削除(トランスミッション)によって更新される。第2に、シーケンスに利用可能な残りの全ビット数Rrは、Rc量によって更新される。第3に、SpはRcで置き換えられる。第4に、Hpは、Hcで置き換えられる。第5に、Qpは、Qcで置き換えられる。最後に、Nrは、1づつ減数される。
ステップ260では、方法200は、現シーケンスにおいてコード化されるように残されている追加のフレームがあるか否かを問い合わせる。その問い合わせが肯定的に回答されると、方法200は、ステップ220に戻り、ステップ220では、方法200が、式(1)または式(9)の複雑度メジャをさら向上させるために、更新されたQc、Rc、Hc、およびEcを2次回帰モデル(quadratic regression model)または多項式回帰モデルにおいて適用する。つまり、定数X1、X2は、フレームに割り当てられたビット数と、特定の量子化レベルに関してフレームをコード化するために必要とされる実際のビット数との間の不一致を埋め合わせる(account for)ように更新される。回帰モデルは、当該技術分野において良く知られている。様々な回帰モデルの詳細な議論に関しては、例えば、Bowerman及びO′Connell著,Forecasting and Time Series, 3ed Edition, Duxbury Press,(1993, chapter 4)を参照されたい。複雑度メジャを更新するための第2の実施の形態が以下に与えられる。方法200は、そのとき、ステップ225へ進む。
ステップ225では、方法200は、シーケンスにおける次のフレームが跳び越されるべきが否かを問い合わせる。問い合わせが否定的に回答されると、方法200はステップ230へ進む。問い合わせが肯定的に回答されると、方法200はステップ220に戻り、ステップ220では、BおよびRpが更新される。フレームを跳び越す決定は、
if(B>0.8*Bs)then skip next frame (17)
に従って決定される。つまり、バッファ満杯度は、例えば80%収容を越えるといったバッファの収容能力に近すぎないかを決定するために、再びチェックされる。バッファ満杯度の検証は、エンコーダが、現フレームに関する目標レートを計算するために必要か否かを速やかに決定することを可能にする。バッファがその収容能力にとても近いと、例えば伝送チャネルがダウンしているとか、またはエンコーダがいくつかのとても複雑なフレームを受け取る、といったオバーフロー条件が差し迫っている公算がある。リアルタイム要求のため、エンコーダは、フレームを処分するために速やかにその決定をすることができ、計算サイクルを費やさなくてはならなく無く、且つ後に同じ決定に達しなければならないことが無い。80%が好ましい実施の形態に対して選択されるけれども、他のバッファ収容能力の限界が特定の応用のために選択されることができる。
フレームが処分されると、方法200はステップ220に戻り、ステップ220では、パラメータNrおよびBは、以下のように更新される。
B=B−Bp (18)
Nr=Nr−1 (19)
方法200は、それから、ステップ225に戻り、再び、シーケンスにおける次のフレームが跳び越されるべきかを問い合わせる。問い合わせが否定的に回答されると、方法200は、上記のように、ステップ230に進む。問い合わせが肯定的に回答されると、方法200は、別のフレームなどを跳び越す。方法200は、全てのフレームがシーケンスに対してエンコードされるときに、ステップ270において終了する。
本発明には、複雑度メジャを更新するために第2の実施の形態が与えられる。その議論は、以下の定義を使用する。
Qp[w]:過去のフレームに関する量子化レベル
Rp[w]:過去のフレームにために使用されている変倍エンコード化複雑度。
W:エンコードされた過去のフレーム数。
X:マトリックスはQpを含む。
Y:マトリックスはQp*(Rc−Hc)。
Ep:前フレームに対する平均絶対差。これは、Y成分のみに関する運動補償の後に計算される。メジャがEpの線形関数であるので、規格化は必要とされない。
この方法は、以前にエンコードされたフレームに関する様々な情報を集める。より具体的には、いくつかの量子化レベルのいくつか(または、ウインドウw)、および前フレームに対して使用された変倍されたエンコード複雑度が、2個の行列、つまり、
Figure 0004111351
に集められる
wの選択は、
w=Min(total_data_number,20) (20)
に従って選択される。すなわち、ウインドウサイズは、最大値20に制限される。その理由は、「より昔の」エンコードされたフレームに関連する情報は、現フレームの複雑度に関する情報量があまりないということがある。ウインドウサイズを制限することによって、計算の費用が最小化される。
しかしながら、wに対する値は、「スライドするウインドウ」w′を生成するために、
if(Ep>Ec),then w′=ceil(Ec/Ep *w);
else w=ceil(Ep/Ec *w) (21)
に従って適応的に調整されることができる。データ点はウインドウを用いて選択され、そのウインドウのサイズは、複雑度における変化に依存する。その複雑度が著しく変化すると、より最近のデータ点(以前にエンコードされたフレーム)を持つより小さいウインドウが使用される。つまり、前フレームおよび現フレームに関する平均絶対差が、所定のサイズwを縮小するように使用される。Ecを持つ各フレームにならってEpが更新される。
この方法は、
if(all Qp[i]are the same), then X1=y[i]/w and X2=0
else b=(x_Transpose*x)-1 *x_Transpose*y; (22)
2x1=(2xw*wx2)-1 *(2xw)*(w*1)
X1=b(1,1)and X2=b(2,1)
に従ってX1およびX2を決定するために、評価(エスティメータ(estimator))関数を実行する。ここで、x=[1,Qp[i]-1)(i=1,2,...w)](デメンションwx2 2)およびy=[Qp[i]-1(i=1,2,...w)](デメンションwx1)である。
一旦、X1およびX2が決定されると、その方法は、
std+=((X1 *EcQp[i]-1+X2 *Ec *Qp[i]-2-Rp[i]*Ec))2;
error[i]=X1 *Ec *Qp[i]-1+X2 *Ec *Qp[i]-2-Rp[i]*Ec; (23)
set threshold=sqrt(std/w);
if(abs(error)[i])>threshold), then remove data point I from matrix x and y for the estimator above.
abs(error[i])>thresholdならば、上記エスティメータの対するマトリックスxおよびyからデータ点Iを除く、に従って「Remove Outlier(部外点削除)」操作を実行する。
つまり、式(23)の操作は、上式(22)の評価操作に影響を与えあるしきい値を越えているデータ点を削除するために役立つ。一旦、「Remove Outlier」操作が完了すると、方法が、式(22)の評価関数に再び戻り、部外データ点を用いずにX1およびX2を再び決定する。このため、複雑度メジャは、部外データ点を除くことによって再びキャリブレーションされる。削除判定基準は、予測誤差が1標準偏差よりも大きいとき、データ点が廃棄されるということである。
図3は、本発明を包含するウエーブレットに基づくエンコーダ300を示している。エンコーダは、ブロック運動補償器(BMC)および運動ベクトルコード化器304、引き算器302、離散ウエーブレット変換(DWT)コード化器306、ビットレート制御器310、DWTデコーダ、並びに出力バッファ314を含む。
一般的に、上記のように、入力信号はビデオ画像である(ビデオシーケンスにおけるフレームを規定するピクセル(pels)の2次元アレイである)。低ビットチャネルを介して画像を正確に伝送するために、ビデオフレームシーケンスにおける空間的および時間的な冗長性は、実質的に縮小される。これは、一般的に、連続するフレーム間の差のみを伝送し、またコード化することによって達成される。エンコーダは、3個の機能を有する:第1に、その機能は、BMCおよびそれのコード化器を使用して、フレーム間に起こる運動を表す複数の運動ベクトルを生成する;第2に、その機能は、運動ベクトルと組み合わされた前フレームの再構築バージョン(版)を使用して現フレームを予測する;第3に、予測されたフレームは、現フレームから差し引かれ、運動ベクトルと一緒に受け手(レシーバ)に向けて伝送され、また符号化される1フレームの残余を生成する。
離散ウエーブレット変換は、ウエーブレット階層的サブバンド分解を実行し、入力画像の在来型ウエーブレット・トリーを生成する。このような画像分解を達成するために、画像は、2回のサブサンプリングを用いて、高い水平周波数−高い垂直周波数の(HH)サブバンド、高い水平周波数−低い垂直周波数の(HL)サブバンド、低い水平周波数−高い垂直周波数の(LH)サブバンド、低い水平周波数−低い垂直周波数の(LL)サブバンド、に分解される。LLサブバンドは、さらに2回サブサンプリングされ、一組のHHサブバンド、HLサブバンド、LHサブバンド、LLサブバンドを生成する。このサブサンプルは、再帰的に達成され、図4に示されるような1アレイのサブバンドを生成し、図4では、3つのサブサンプリングが使用されている。好ましくは、6回のサブサンプリングが実際においては使用される。サブバンド間の親子の依存状態は、親ノードのサブバンドから子ノードのサブバンドへ指し示されている矢印として図示されている。最低の周波数サブバンドは、左上のLL1であり、また最高の周波数サブバンドは右下のHH3である。この例では、全ての子ノードは、1個の親ノードを持つ。サブバンド分解の詳細な議論は、J. M. Shapiro著、「Embedded Image Coding Using Zerotrees of Wavelet Coefficients」, IEEE Trans. On Signal Processing, Vol. 41, No. 12, pp.3445-62, December 1993に表されている。
図3のDWTコード化器は、幅優先パターンまたは深さ優先パターンのいずれかでウエーブレット・トリーの係数を符号化する。幅優先パターンは、ビットプレーンパターンによってビットパターンにおけるウエーブレット・トリーを詳しく検討する。すなわち、全親ノード、それから全子供、それから全孫、等を量子化する。対照的に、深さ優先パターンは、低低サブバンド(LL1)における根元から子供を介して(トップダウン)、または子供における根元から低低サブバンドを介して(ボトムアップ)、各トリーを詳しく検討する。レート制御器310による適当な量子化レベルの選択は、上記のように、シーケンス内部の各フレームに対してビットレートを制御することである。
そのようなものとして、本発明は、異なる変換を使用する様々なタイプのエンコーダに適用されることができる。さらには、本発明は、フレームに対する量子化レベルの適当な選択に制限されることはない。本発明は、マクロブロック、スライス、またはオブジェクト、例えば、ある人間の部分、背景、または前景、に適用することができる。すなわち、レート制御方法は、マクロブロック、スライス、またはオブジェクトに適用されることができ、これらでは、複雑度メジャが、以前にエンコードされた画像シーケンスの部分、例えば以前にエンコードされたマクロブロック、スライス、またはオブジェクトおよびそれらのウインドウ、を用いてエンコーダに対する最適のレート制御スキームをもたらす(effect)ように、現在のマクロブロック、スライス、またはオブジェクトに対する目標ビットレートを決定するために適用される。例示すればビデオ電話といった特定に応用において、前景オブジェクト、例えば話者の頭および肩は、背景オブジェクトよりも更なる正確さで量子化のために選択される。
最終的には、上記の発明は、Pフレームを参照しながら議論されてきたけれども、本発明は、同様にBフレームにも適用できる。
図5は、本発明のエンコード化システム500を図示している。エンコード化システムは、汎用計算機510および様々な入力/出力デバイス520を備える。汎用計算機は、中央処理装置(CPU)512、メモリ514、および1シーケンスの画像を受けまたエンコード化するためにエンコーダ516を備える。
好ましい実施の形態では、エンコーダ516は、既に議論したように、単に、エンコーダ100および/またはエンコーダ300である。エンコーダ516は、通信チャネルを介してCPU512へ結合される物理的なデバイスであることができる。代わりに、エンコーダ516は、格納デバイスからロードされ、またコンピュータのメモリ512に存在するソフトウエア・アプリケーションによって表されることができる。このようなものとして、本発明のエンコーダ100および300は、コンピュータで可読な媒体上に格納されることができる。
コンピュータ510は、キーボード、マウス、カメラ、カムコーダ、ビデオモニタといった複数の入出力デバイス520、任意の数の画像化デバイス、または、以下のものに限定されるものではないが、テープドライブ、フロッピィドライブ、ハードディスクドライブ、若しくはコンパクトディスクドライブを含む記憶デバイス、に結合されることができる。入力デバイスは、エンコード化されたビデオビットストリームを生成するためのコンピュータへの入力を提供するために、または、記憶デバイスまたは画像化デバイスからのビデオ画像のシーケンスを受けるために、役立つ。
コード化レートを最適化する一方で、ビデオ画像の全体品質を維持するように、各フレーム毎に量子化器スケールを再帰的に調整する新規な方法および装置が記述され、また示されてきた。主題の発明の多くの変化、修正、変形並びに他の使用および応用は、しかしながら、これらの実施例を開示した添付図面およびこの明細書を考慮した後に、当業者に明らかになるであろう。本発明の精神および範囲から逸脱しない、このような全ての変化、修正、変形並びに他の使用および応用は、本発明によってカバーされるべきと思われる。

Claims (5)

  1. 少なくとも1つの入力フレームを有する画像シーケンスをエンコード化するための装置(100、300)であって、
    現入力フレームの予測画像を発生するための運動補償器(140、150、304)と、
    前記運動補償器に結合され、前記現入力フレームと前記予測画像との間の差信号に、複数の係数を生成する変換を適用するための変換モジュール(160、306)と、
    前記変換モジュールに結合され、少なくとも1つの量子化器スケールを用いて前記複数の係数を量子化するための量子化器(170、306)と、
    前記量子化器に結合され、前記現入力フレームに対する前記量子化器スケールを選択的に調整するための制御器(130、310)と、
    を備え、
    前記量子化器スケールは、
    T=X1EQ-1+X2EQ-2
    に従って調整され、ここで、Tは該入力フレームをエンコード化するための目標ビット数を表し、Qは前記量子化器スケールを表し、Eは前記現入力フレームと直前のエンコード化された部分との差を表す量であり、X1及びX2はパラメータであって、前記量子化器スケールQを使用して前記現入力フレームをエンコードすることによって生じる実際のビット数を用いて次の入力フレームのために更新されるパラメータである、
    装置。
  2. 前記直前のエンコード化された部分は、直前にエンコードされたフレームである、請求項1に記載の装置。
  3. 前記直前のエンコードされた部分は、直前にエンコードされた1以上のフレームである、請求項1に記載の装置。
  4. 少なくとも1つのフレームを有する画像信号を量子化するために量子化器スケールを発生する方法であって、
    (a)現フレームのための少なくとも1つの量子化器スケールを計算するステップであって、前記量子化器スケールは、
    T=X1EQ-1+X2EQ-2
    に従って調整され、ここで、Tは該入力フレームをエンコード化するための目標ビット数を表し、X1及びX2はパラメータであり、Qは前記量子化器スケールを表し、Eは前記現フレームと直前のエンコード化された部分との差を表す量である、該ステップと、
    (b)前記計算された量子化スケールを前記現フレームに適用するステップと、
    (c)パラメータX1及びX2を、前記少なくとも一つの量子化器スケールQを用いて前記現入力フレームをエンコード化することによって生じる実際のビット数を用いて更新するステップと、
    (d)前記画像信号における次のフレームに対して、前記ステップ(a)〜(c)を繰り返すステップと、
    を含む方法。
  5. 記Eは、前記現フレームと前フレームとの間の平均絶対差である、請求項4に記載の方法。
JP53673098A 1997-02-12 1998-02-11 コード化システムにおけるレート制御を最適化するための装置および方法 Expired - Lifetime JP4111351B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US3705697P 1997-02-12 1997-02-12
US60/037,056 1997-02-12
PCT/US1998/002745 WO1998037701A1 (en) 1997-02-12 1998-02-11 Apparatus and method for optimizing the rate control in a coding system

Publications (2)

Publication Number Publication Date
JP2001512643A JP2001512643A (ja) 2001-08-21
JP4111351B2 true JP4111351B2 (ja) 2008-07-02

Family

ID=21892201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53673098A Expired - Lifetime JP4111351B2 (ja) 1997-02-12 1998-02-11 コード化システムにおけるレート制御を最適化するための装置および方法

Country Status (8)

Country Link
US (1) US6243497B1 (ja)
EP (1) EP0960532B1 (ja)
JP (1) JP4111351B2 (ja)
KR (1) KR100604702B1 (ja)
CN (1) CN1151685C (ja)
DE (1) DE69837003T2 (ja)
TW (1) TW366649B (ja)
WO (1) WO1998037701A1 (ja)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023296A (en) 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
AU6206898A (en) * 1998-01-02 1999-07-26 Nokia Networks Oy A method for synchronization adaptation of asynchronous digital data streams
GB9822094D0 (en) * 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
US6526097B1 (en) * 1999-02-03 2003-02-25 Sarnoff Corporation Frame-level rate control for plug-in video codecs
US6499060B1 (en) * 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
FR2792798B1 (fr) * 1999-04-26 2001-05-25 Thomson Multimedia Sa Procede et dispositif de quantification pour compression video
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
US6363113B1 (en) * 1999-06-07 2002-03-26 Lucent Technologies Inc. Methods and apparatus for context-based perceptual quantization
US6535251B1 (en) * 1999-10-26 2003-03-18 Sharplabs Of America, Inc. Video encoder and method for adjusting quantization step in real time
US6765962B1 (en) * 1999-12-02 2004-07-20 Sarnoff Corporation Adaptive selection of quantization scales for video encoding
US6707853B1 (en) * 2000-01-10 2004-03-16 Intel Corporation Interface for performing motion compensation
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
US6940903B2 (en) * 2001-03-05 2005-09-06 Intervideo, Inc. Systems and methods for performing bit rate allocation for a video data stream
US6671324B2 (en) * 2001-04-16 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Estimating total average distortion in a video with variable frameskip
JP4765194B2 (ja) * 2001-05-10 2011-09-07 ソニー株式会社 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム
JP2002354476A (ja) * 2001-05-24 2002-12-06 Pioneer Electronic Corp 量子化単位設定装置及び量子化単位設定方法、符号化装置及び符号化方法並びに情報記録媒体及び量子化単位設定用プログラム
WO2002096120A1 (en) * 2001-05-25 2002-11-28 Centre For Signal Processing, Nanyang Technological University Bit rate control for video compression
US7483581B2 (en) 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
US7206459B2 (en) * 2001-07-31 2007-04-17 Ricoh Co., Ltd. Enhancement of compressed images
DE10156851C1 (de) * 2001-11-20 2003-07-03 Infineon Technologies Ag Verfahren und Vorrichtung zur Bildkompression
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US7151856B2 (en) * 2002-04-25 2006-12-19 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and picture coding method
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
WO2004023821A1 (en) 2002-09-05 2004-03-18 Agency For Science, Technology And Research A method and an apparatus for controlling the rate of a video sequence; a video encoding device
US7440502B2 (en) 2002-11-14 2008-10-21 Georgia Tech Research Corporation Signal processing system
US7343291B2 (en) 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7383180B2 (en) * 2003-07-18 2008-06-03 Microsoft Corporation Constant bitrate media encoding techniques
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US8085844B2 (en) * 2003-09-07 2011-12-27 Microsoft Corporation Signaling reference frame distances
WO2005029834A2 (en) * 2003-09-21 2005-03-31 Servision Ltd. A method for generating high quality, low delay video streaming
FR2862168B1 (fr) * 2003-11-06 2006-05-19 Canon Kk Procede et dispositif de regulation de debit d'une sequence d'images.
JP2005333609A (ja) * 2004-04-22 2005-12-02 Sanyo Electric Co Ltd 符号化制御回路及び符号化回路
US7801383B2 (en) * 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US7707614B2 (en) 2004-06-07 2010-04-27 Sling Media, Inc. Personal media broadcasting system with output buffer
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
CN1969558A (zh) * 2004-06-18 2007-05-23 汤姆逊许可公司 用于视频编码优化的方法和设备
US20070230565A1 (en) * 2004-06-18 2007-10-04 Tourapis Alexandros M Method and Apparatus for Video Encoding Optimization
JP4800712B2 (ja) * 2004-09-10 2011-10-26 パナソニック株式会社 動画符号化装置、動画符号化方法及び動画撮像装置
CN100477794C (zh) * 2004-09-10 2009-04-08 松下电器产业株式会社 运动图像编码装置及其编码方法以及运动图像的成像装置
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
TWI279143B (en) * 2005-07-11 2007-04-11 Softfoundry Internat Ptd Ltd Integrated compensation method of video code flow
US7506071B2 (en) * 2005-07-19 2009-03-17 International Business Machines Corporation Methods for managing an interactive streaming image system
US7616821B2 (en) 2005-07-19 2009-11-10 International Business Machines Corporation Methods for transitioning compression levels in a streaming image system
US20070028286A1 (en) * 2005-07-28 2007-02-01 Greene David P Systems, methods, and media for detecting content change in a streaming image system
KR100738075B1 (ko) * 2005-09-09 2007-07-12 삼성전자주식회사 영상 부호화/복호화 장치 및 방법
JP4795223B2 (ja) * 2006-01-31 2011-10-19 キヤノン株式会社 画像処理装置
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
WO2009094349A1 (en) * 2008-01-22 2009-07-30 Dolby Laboratories Licensing Corporation Adaptive motion information cost estimation with dynamic look-up table updating
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
JP5203503B2 (ja) * 2008-04-16 2013-06-05 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ビット深度スケーラビリティ
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US9167007B2 (en) * 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US9047236B2 (en) 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US8879623B2 (en) 2009-09-02 2014-11-04 Sony Computer Entertainment Inc. Picture-level rate control for video encoding a scene-change I picture
US8203619B2 (en) * 2009-09-30 2012-06-19 Sony Corporation Target bit rate decision method for wavelet-based image compression
US9521178B1 (en) 2009-12-21 2016-12-13 Amazon Technologies, Inc. Dynamic bandwidth thresholds
TWI421798B (zh) * 2010-04-27 2014-01-01 Novatek Microelectronics Corp 影像壓縮之位元率控制方法及其裝置
CN101977309B (zh) * 2010-06-30 2012-07-25 无锡中星微电子有限公司 码率控制方法及装置
CN104869411B (zh) 2010-08-17 2018-07-31 三星电子株式会社 视频解码方法和设备
WO2013142067A1 (en) * 2012-03-21 2013-09-26 Dolby Laboratories Licensing Corporation Systems and methods for iso-perceptible power reduction for displays
KR101450645B1 (ko) * 2013-04-26 2014-10-15 주식회사 코아로직 비디오 비트율 제어 방법 및 장치
US10728298B2 (en) * 2013-09-12 2020-07-28 Qualcomm Incorporated Method for compressed sensing of streaming data and apparatus for performing the same
US10419760B2 (en) 2014-09-29 2019-09-17 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
US10142049B2 (en) * 2015-10-10 2018-11-27 Dolby Laboratories Licensing Corporation Near optimal forward error correction system and method
CN108600863A (zh) * 2018-03-28 2018-09-28 腾讯科技(深圳)有限公司 多媒体文件处理方法和装置、存储介质及电子装置
CN112771865A (zh) 2018-08-23 2021-05-07 交互数字Vc控股法国公司 使用参数化模型对量化矩阵进行编解码

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144426A (en) 1989-10-13 1992-09-01 Matsushita Electric Industrial Co., Ltd. Motion compensated prediction interframe coding system
US5134476A (en) 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
US5291282A (en) * 1990-04-19 1994-03-01 Olympus Optical Co., Ltd. Image data coding apparatus and method capable of controlling amount of codes
JPH0813138B2 (ja) * 1990-11-28 1996-02-07 松下電器産業株式会社 画像符号化装置
DE69222332T2 (de) * 1991-02-21 1998-01-29 Nippon Electric Co Kodierungsgerät zur Kompression von bewegten Bilddaten
US5214507A (en) 1991-11-08 1993-05-25 At&T Bell Laboratories Video signal quantization for an mpeg like coding environment
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
JPH05167998A (ja) * 1991-12-16 1993-07-02 Nippon Telegr & Teleph Corp <Ntt> 画像の符号化制御処理方法
US5253059A (en) 1992-05-15 1993-10-12 Bell Communications Research, Inc. Method and circuit for adjusting the size of a video frame
KR0134871B1 (ko) 1992-07-17 1998-04-22 사또오 후미오 고능률 부호화 복호화 시스템
AU6099594A (en) 1993-02-03 1994-08-29 Qualcomm Incorporated Interframe video encoding and decoding system
US5440346A (en) 1993-06-16 1995-08-08 Intel Corporation Mode selection for method and system for encoding images
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
EP0857392B1 (en) * 1995-10-25 2004-08-11 Sarnoff Corporation Overlapping block zerotree wavelet image coder
KR100355375B1 (ko) * 1995-11-01 2002-12-26 삼성전자 주식회사 영상부호화장치에있어서양자화간격결정방법및회로
JPH10513028A (ja) * 1995-11-15 1998-12-08 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ ビットレート制御方法
US5731835A (en) * 1996-02-26 1998-03-24 David Sarnoff Research Center, Inc. Dynamic coding rate control in a block-based video coding system

Also Published As

Publication number Publication date
CN1247670A (zh) 2000-03-15
DE69837003T2 (de) 2007-10-18
EP0960532B1 (en) 2007-01-31
KR20000071026A (ko) 2000-11-25
JP2001512643A (ja) 2001-08-21
EP0960532A1 (en) 1999-12-01
CN1151685C (zh) 2004-05-26
EP0960532A4 (en) 2003-02-12
KR100604702B1 (ko) 2006-07-28
WO1998037701A1 (en) 1998-08-27
TW366649B (en) 1999-08-11
US6243497B1 (en) 2001-06-05
DE69837003D1 (de) 2007-03-22

Similar Documents

Publication Publication Date Title
JP4111351B2 (ja) コード化システムにおけるレート制御を最適化するための装置および方法
US7372903B1 (en) Apparatus and method for object based rate control in a coding system
US6690833B1 (en) Apparatus and method for macroblock based rate control in a coding system
US6160846A (en) Apparatus and method for optimizing the rate control in a coding system
US6192081B1 (en) Apparatus and method for selecting a coding mode in a block-based coding system
US6084908A (en) Apparatus and method for quadtree based variable block size motion estimation
US6658157B1 (en) Method and apparatus for converting image information
EP1563688B1 (en) Method and apparatus for control of rate-distortion tradeoff by using lagrange multiplier and visual mask
US6895050B2 (en) Apparatus and method for allocating bits temporaly between frames in a coding system
JP2001145113A (ja) 画像情報変換装置及び方法
JP3846424B2 (ja) 画像信号量子化装置およびその方法
JP4532607B2 (ja) ブロック・ベースのコード化システムにおいてコード化モードを選択するための装置および方法
JP4784618B2 (ja) 動画像符号化装置、動画像復号化装置、動画像符号化プログラム、及び動画像復号化プログラム
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
KR101956443B1 (ko) 매크로블록 레벨 비트 할당 방법 및 시스템
JP4007398B2 (ja) 量子化制御装置およびその方法
JP2001145108A (ja) 画像情報変換装置及び方法
Lan Image/video coding for network applications: Functionality and adaptation
JP2001128175A (ja) 画像情報変換装置及び方法、並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050202

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071120

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080403

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140418

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term