JP4480671B2 - ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置 - Google Patents

ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置 Download PDF

Info

Publication number
JP4480671B2
JP4480671B2 JP2005507064A JP2005507064A JP4480671B2 JP 4480671 B2 JP4480671 B2 JP 4480671B2 JP 2005507064 A JP2005507064 A JP 2005507064A JP 2005507064 A JP2005507064 A JP 2005507064A JP 4480671 B2 JP4480671 B2 JP 4480671B2
Authority
JP
Japan
Prior art keywords
value
lagrange multiplier
quantized value
threshold
multiplier
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
JP2005507064A
Other languages
English (en)
Other versions
JP2006506032A5 (ja
JP2006506032A (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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2006506032A publication Critical patent/JP2006506032A/ja
Publication of JP2006506032A5 publication Critical patent/JP2006506032A5/ja
Application granted granted Critical
Publication of JP4480671B2 publication Critical patent/JP4480671B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/103Selection of coding mode or of prediction mode
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/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/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
    • 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/176Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Image Signal Generators (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)

Description

(関連出願)
本出願では、「ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置」(Method and apparatus for Control of Rate−Distortion Tradeoff by Mode Selection in Video Encoders)という名称の2002年11月7日出願の米国仮特許出願番号60/424,738号(特許文献1)、および「ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置」(Method and apparatus for Control of Rate−Distortion Tradeoff by Mode Selection in Video Encoders)という名称の2003年7月7日出願の米国非仮特許出願番号10/615117号(特許文献2)の利益を主張する。
(技術分野)
本発明は、マルチメディア圧縮および符号化システムの分野に関する。より詳細には、本発明は、デジタル・ビデオ・エンコーダのレート歪みトレードオフを制御するための方法およびシステムを開示する。
デジタル・ベースの電子媒体フォーマットは、完全に従来のアナログ電子媒体フォーマットにとって代わっている。オーディオの分野では、デジタル・コンパクト・ディスク(CD)が何年も前にアナログのビニール・レコードに取って代わっている。アナログ磁気カセット・テープはますます珍しくなりつつある。現在では、ミニディスクおよびMP3(MPEGオーディオ・レイヤ3)ベースのフォーマットなどの第2および第3世代デジタル・オーディオ・システムはコンパクト・ディスクという第1世代デジタル・オーディオ・フォーマットから市場のシェアを奪いつつある。
フィルム・ベースのスチル写真はデジタル・スチル写真によって急速に取って代わられつつある。インターネットを介した映像の即時入手可能性と映像配信はユーザに魅力ある機能を提供する。
しかし、オーディオおよび静止画像と比較して、映像の分野はデジタル記憶および伝送フォーマットへの移行に関して遅れている。これは、主として、映像をデジタル形式で正確に表現するのに必要なデジタル情報の量が膨大であることが理由である。映像を正確に表現するのに必要な膨大なデジタル情報の量は、大容量のデジタル記憶システムおよび高帯域幅伝送システムを必要とする。
そうであっても、映像の分野はデジタル記憶および伝送フォーマットを最終的に採用する。高速コンピュータ・プロセッサ、高密度記憶システム、高帯域幅光伝送回線、および新しい効率的なビデオ符号化アルゴリズムが、最終的に消費者の価格帯でデジタル・ビデオ・システムを実現した。デジタル・ビデオ・システムであるDVD(デジタル多用途ディスク)はこれまでに最も売れ行きがよかった消費者向け電子製品の1つである。DVDは、その並外れた映像品質、高品質の5.1チャネル・デジタル音声、利便性、およびその他の機能によって、選択される実施形態では、事前記録されたビデオ再生システムとして、ビデオカセット・レコーダ(VCR)に急速に取って代わりつつある。映像伝送システムの分野では、廃れたアナログNTSC(国内テレビジョン標準委員会)の映像伝送標準は、デジタル圧縮および符号化技術を使用するデジタルATSC(先進テレビジョン標準委員会)の映像伝送システムに最終的に取って代わられつつある。
コンピュータ・システムは何年もの間、さまざまな異なるデジタル・ビデオ符号化フォーマットを使用してきた。コンピュータ・システムによって使用されてきた最良のデジタル・ビデオ圧縮および符号化システムには、頭字語MPEGで一般に周知である動画映像専門家グループ(Motion Pictures Expert Group)が支援するデジタル・ビデオ・システムが含まれる。MPEGの3つの最も知られ、使用されているデジタル・ビデオ・フォーマットは、MPEG−1、MPEG−2、およびMPEG−4である。ビデオCDおよび消費者グレードのデジタル・ビデオ編集システムは初期のMPEG−1フォーマットを使用する。デジタル多用途ディスク(DVD)およびディッシュ・ネットワーク・ブランドの直接放送衛星(DBS)テレビジョン放送システムは、MPEG−2デジタル・ビデオ圧縮および符号化システムを使用する。MPEG−4符号化システムは、最新のコンピュータ・ベースのデジタル・ビデオ・エンコーダおよびそれに関連するデジタル・ビデオ・プレーヤに急速に採用されつつある。
MPEG−2およびMPEG−4標準は、一連のビデオ・フレームまたはビデオ・フィールドを圧縮し、次に、圧縮されたフレームまたはフィールドをデジタル・ビットストリームに符号化する。デジタル・ビットストリームのレートは、メモリ・バッファのオーバフロー、メモリ・バッファのアンダフロー、または伝送チャネル容量の超過を起こさないように慎重に監視しなければならない。こうして、バッファのオーバフローまたはアンダフローを起こさずに割り当てられたチャネル容量内で可能な最良の画像品質を提供するデジタル・ビデオ・エンコーダで最新の速度制御システムを実施しなければならない。
米国仮特許出願番号60/424,738号 米国非仮特許出願番号10/615117号
ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置を開示する。
本発明のシステムは、最初に所望の歪み値に近い歪み値Dを選択する。次に、システムは選択した歪み値Dを用いて量子化値Qを決定する。次に、システムは量子化値Qを用いてラグランジュ乗数λを計算する。選択したラグランジュ乗数λおよび量子化値Qを用いて、システムは画素ブロックの符号化を開始する。
システムが潜在的なバッファ・オーバフローを検出すると、システムはラグランジュ乗数λを増加させる。潜在的なバッファ・オーバフローは、メモリ・バッファ占有値がオーバフローしきい値を超えると検出できる。ラグランジュ乗数λが最大λしきい値を超えると、システムは量子化値Qを増加させる。
システムが潜在的なバッファ・アンダフローを検出すると、システムはラグランジュ乗数λを減少させる。潜在的なバッファ・アンダフローは、メモリ・バッファ占有値がバッファ・アンダフローしきい値を下回ると検出できる。ラグランジュ乗数λが最小λしきい値を下回ると、システムは量子化値Qを減少させる。
本発明のその他の目的、特徴、および利点は、添付の図面と以下の詳細な説明から明らかになるだろう。
当業者なら、本発明の上記目的、特徴、および利点は、下記の詳細な説明を読めば明らかになるだろう。
(図面の簡単な説明)
図1は、1つの可能なデジタル・ビデオ・エンコーダ・システムの高レベル・ブロック図である。
図2は、異なる画像を結ぶ矢印が動き補償を用いて作成される画像間依存を示す順序で画像が表示される一連のビデオ画像を示す図である。
図3は、異なる画像を結ぶ矢印が動き補償を用いて作成される画像間依存を示す好ましいビデオ画像の送信順序で図2の画像を再配列した一連のビデオ画像を示す図である。
図4は、量子化Qの値が異なるごとに1本の曲線で描いたR、D曲線のファミリを示すグラフである。
ビデオ・エンコーダのモード選択によるレート歪みトレードオフを制御する態様を以下に開示する。以下の説明では、説明を分かりやすくするために、特定の命名法を用いて本発明の完全な理解を図る。しかし、本発明を実施する際にこれらの特定の詳細な内容が必要ではないことは当業者には明らかであろう。例えば、本発明をMPEG−4 Part 10(H.264)マルチメディア圧縮および符号化システムに関して記載している。しかし、他のタイプの圧縮および符号化システムにも同じ技法を容易に適用することができる。
マルチメディア圧縮および符号化の概要
図1は、当技術分野で周知の典型的なデジタル・ビデオ・エンコーダ100の高レベル・ブロック図である。デジタル・ビデオ・エンコーダ100はブロック図の左側で着信ビデオ・ストリーム105を受信する。各ビデオ・フレームは離散コサイン変換(DCT)ユニット110によって処理される。ビデオ・フレームは、動き予測ユニット160を用いて、独立して処理でき(イントラフレーム)、または他のフレームからの情報に関連して処理できる(インターフレーム)。次に、量子化(Q)ユニット120は離散コサイン変換ユニット110からの情報を量子化する。次に、量子化されたフレームはエントロピー・エンコーダ(H)ユニット180によって符号化され、符号化されたビデオ・ビットストリームを生成する。
インターフレーム符号化されたビデオ・フレームは他の近くのビデオ・フレームに関連して定義されるので、デジタル・ビデオ・エンコーダ100は、インターフレームが符号化できるように、参照されたデジタル・ビデオ・フレームがデジタル・ビデオ・デコーダ内でどのように表示されるかの正確な複製を作成する必要がある。こうして、デジタル・ビデオ・エンコーダ100の下の部分は実際にデジタル・ビデオ・デコーダになる。特に、逆量子化器(Q−1)130はフレーム情報の量子化を反転し、逆離散コサイン変換(DCT−1)ユニット140はビデオ・フレーム情報の離散コサイン変換を反転する。逆離散コサイン変換からすべてのDCT係数が再構成されると、動き補償ユニットが動きベクトルと共にこの情報を使用してビデオ・フレームを再構成する。このビデオ・フレームを他のビデオ・フレームの動き予測の基準ビデオ・フレームとして使用することができる。
復号されたビデオ・フレームを用いて、復号されたビデオ・フレーム内の情報に関して定義されたインターフレームを符号化することができる。特に、動き補償(MC)ユニット150および動き予測(ME)ユニット160を用いて動きベクトルを決定し、インターフレームの符号化に用いる差分値を生成することができる。
レート・コントローラ190は、デジタル・ビデオ・エンコーダ100内の多くの異なる構成要素から情報を受信し、この情報を用いて符号化するビデオ・フレームごとにビット・バジェットを割り当てる。ビット・バジェットは指定された一組の制約事項に適合する最高品質のデジタル・ビデオ・ビット・ストリームを生成するように割り当てる必要がある。特に、レート・コントローラ190は、メモリ・バッファのオーバフロー(ビデオ・フレーム情報の表示とその後の削除よりもはるかに速くビデオ・フレーム情報を送信することで利用可能なバッファ・メモリの量を超過すること)、またはメモリ・バッファのアンダフロー(ビデオ・フレーム情報の送信が遅く、受信側デジタル・ビデオ・デコーダが表示するビデオ・フレーム情報が不足すること)を引き起こすことなく、最高品質の圧縮ビデオ・ストリームを生成しようとする。
画素ブロック符号化
多くのデジタル・ビデオ符号化アルゴリズムは、最初に、各ビデオ画像を一般に画素ブロックと呼ばれる画素の小さいサブセットに分割する。特に、ビデオ画像は矩形の画素ブロックのグリッドに分割される。マクロブロック、ブロック、サブブロックという用語も一般に画素のサブセットを表す。本明細書では画素ブロックという用語にこれらの異なるが類似の構造をすべて含む。異なるデジタル・ビデオ符号化システムはサイズが異なる画素ブロックを使用できる。例えば、使用される異なる画素ブロックのサイズは、8画素×8画素の画素ブロック、8画素×4画素の画素ブロック、16画素×16画素の画素ブロック、4画素×4画素の画素ブロックなどを含む。
ビデオ画像を符号化する場合、ビデオ画像の各々の個々の画素ブロックがある種の符号化方法によって符号化される。イントラブロックとして周知のいくつかの画素ブロックは他のいかなる画素ブロックも参照せずに符号化される。また、同じまたは異なるビデオ画像内の一致度が高い画素ブロックを参照する動き補償などの予測符号化方法を用いて符号化される画素ブロックもある。
ビデオ画像内の各々の個々の画素ブロックは別々に圧縮され符号化される。ISO MPEGまたはITU H.264などのビデオ符号化標準は、別のタイプの予測画素ブロックを用いてデジタル・ビデオ画像を符号化する。1つのシナリオでは、画素ブロックは以下の3つのタイプのいずれかである。
1.I画素ブロック − イントラ(I)画素ブロックは符号化に際して他のビデオ画像の情報を使用しない(したがって、イントラ画素ブロックは完全に自己定義される)。
2.P画素ブロック − 片方向予測(P)画素ブロックは以前のビデオ画像の画像情報を参照する。
3.B画素ブロック − 双方向予測(B)画素ブロックは以前のビデオ画像および将来のビデオ画像の情報を使用する。
符号化されたデジタル・ビデオ画像内の画素ブロックのすべてがイントラ画素ブロック(I画素ブロック)の場合、符号化されたデジタル・ビデオ画像フレームはイントラフレームとして周知のものである。イントラフレームは、イントラフレーム・デジタル・ビデオ画像が完全に自己定義されるように他のいかなるビデオ画像も参照しないことに留意されたい。
デジタル・ビデオ画像が片方向予測画素ブロック(P画素ブロック)とイントラ画素ブロック(I画素ブロック)のみを含み、双方向予測画素ブロック(B画素ブロック)を含まない場合、ビデオ画像フレームはPフレームとして周知のものである。予測符号化(P画素ブロック符号化)の利用に個々に符号化される画素ブロック(I画素ブロック)より多くのビットが必要である時には、I画素ブロックはPフレーム内に存在できる。
デジタル・ビデオ画像フレームが双方向予測画素ブロック(B画素ブロック)を含む場合、ビデオ画像フレームはBフレームとして周知のものである。話を分かりやすくするために、本明細書では所与の画像内のすべての画素ブロックが同じタイプである場合を想定する。(イントラフレームはI画素ブロックのみを含み、PフレームはP画素ブロックのみを含み、BフレームはB画素ブロックのみを含む。)
符号化されるビデオ画像のシーケンスの例は以下のように表現される。
1011121314...
ここで、文字(I、P、またはB)は、デジタル・ビデオ画像フレームがIフレーム、Pフレーム、またはBフレームのいずれであるかを表し、数字の下付き文字はビデオ画像のシーケンス内のビデオ画像のカメラの順序を表す。カメラ順序はカメラがそのビデオ画像を記録した順序で、それ故ビデオ画像を表示する順序(表示順)でもある。
上記の一連のビデオ画像の例を図2に概念図で示す。図2を参照すると、矢印は記憶された画像(この場合、IフレームまたはPフレーム)の画素ブロックが他のデジタル・ビデオ画像(BフレームおよびPフレーム)の動き補償予測で使用されることを示す。
図2を参照すると、他のビデオ画像の情報は第1のビデオ画像フレーム、すなわちイントラフレーム・ビデオ画像Iの符号化で使用されない。ビデオ画像Pは、符号化に以前のビデオ画像I内のビデオ情報を使用するPフレームであり、したがって、イントラフレーム・ビデオ画像IからPフレーム・ビデオ画像Pに矢印が引かれている。ビデオ画像B、ビデオ画像Bおよびビデオ画像Bはすべてその符号化にビデオ画像Iおよびビデオ画像Pの情報を使用する。したがって、情報依存の矢印がビデオ画像Iおよびビデオ画像Pからビデオ画像B、ビデオ画像Bおよびビデオ画像Bに引かれている。
Bフレーム・ビデオ画像は以後のビデオ画像(後で表示される画像)の情報を使用するので、一組のデジタル・ビデオ画像の送信順はデジタル・ビデオ画像の表示順とは普通異なる。特に、他のビデオ画像を構成するのに必要な参照先ビデオ画像は参照先ビデオ画像に依存するビデオ画像より前に送信しなければならない。したがって、図2の表示順では、好ましい送信順は以下の通りである。
1012111413...
図3は、図2のこの好ましいビデオ画像の送信順を示す。さらに、図中の矢印は参照先ビデオ画像(この場合、IフレームまたはPフレーム・ビデオ画像)の画素ブロックが他のビデオ画像(PフレームおよびBフレーム・ビデオ画像)の動き補償予測に使用されることを示す。
図3を参照すると、送信システムは最初に他のビデオ・フレームに依存しないIフレームIを送信する。次に、システムは以前に送信されたビデオ画像Iにのみ依存するPフレーム・ビデオ画像Pを送信する。次に、ビデオ画像Bがビデオ画像Pの前に表示されるとしても、システムはビデオ画像Pの後にBフレーム・ビデオ画像Bを送信する。これは、依存するビデオ画像Bを復号しレンダリングする時点では、デジタル・ビデオ・デコーダは依存するビデオ画像Bを復号するのに必要なビデオ画像Iおよびビデオ画像P内の情報をすでに受信し復号しているからである。同様に、復号されたビデオ画像Iおよび復号されたビデオ画像Pを直ちに用いて、次の2つの依存するビデオ画像、すなわち、依存するビデオ画像Bおよび依存するビデオ画像Bを復号しレンダリングすることができる。
次に、受信機/デコーダ・システムは、正しく表示するためにビデオ画像シーケンスを並び替える。この動作で、参照先ビデオ画像Iおよび参照先ビデオ画像Pは「記憶画像」と呼ばれる。記憶画像は、記憶画像を参照する他の依存するビデオ画像を再構成するために使用される。(デジタル・ビデオ符号化システムによってはBフレームも記憶画像として使用できることに留意されたい。)
Pピクチャ
Pピクチャの符号化は、通常、以前のビデオ画像のある位置をポイントする動きベクトル(MV)が現在のビデオ画像内の画素ブロックごとに計算される動き補償(MC)を使用する。動きベクトルは参照先ビデオ画像内の一致度が高い画素ブロックを参照する。動きベクトルを用いて、前述の以前のビデオ画像内の基準画素を並進して予測画素ブロックを形成できる。次に、Pピクチャ内の実際の画素ブロックと予測画素ブロックとの差が符号化されて送信される。次に、この差を用いて元の画素ブロックが正確に再構成される。
また、各動きベクトルは予測符号化方法によって送信できる。例えば、動きベクトル予測は近くの動きベクトルを用いて形成できる。その場合、実際の動きベクトルと予測動きベクトルとの差が符号化されて送信される。次に、この差を用いて予測動きベクトルから実際の動きベクトルが作成される。
Bピクチャ
Bフレーム内の各B画素ブロックは、以前のビデオ画像内の画素ブロックを参照する第1の動きベクトルと、以後のビデオ画像内の別の画素ブロックを参照する第2の動きベクトルという2つの異なる動きベクトルを使用する。これら2つの動きベクトルから2つの予測画素ブロックが計算される。次に、2つの予測画素ブロックはある機能を用いて結合され、最終予測画素ブロックが形成される。(2つの予測画素ブロックを単に平均してもよい。)P画素ブロックの場合、Bフレーム画像の実際の所望の画素ブロックと最終予測画素ブロックとの差が符号化され、送信される。次に、画素ブロックの差を用いて元の所望の画素ブロックが正確に再構成される。
P画素ブロックの場合、予測符号化方法を用いてB画素ブロックの各動きベクトル(MV)を送信することもできる。特に、予測動きベクトルは近くの動きベクトルの何らかの組み合わせを用いて形成することができる。次に、実際の動きベクトルと予測動きベクトルとの差が符号化され、送信される。次に、この差を用いて、予測動きベクトルから実際の動きベクトルが再作成される。
しかし、B画素ブロックの場合、並んだ、または近くの記憶画像画素ブロック内の動きベクトルから動きベクトルを補間する余地がある。そのような動きベクトル補間はデジタル・ビデオ・エンコーダとデジタル・ビデオ・デコーダの両方で実行される。(デジタル・ビデオ・エンコーダは常にデジタル・ビデオ・デコーダを含むことを思い出されたい。)
ある場合には、補間された動きベクトルは、補間された動きベクトルへのいかなるタイプの補正もせずに使用できる。その場合、動きベクトル・データを送信する必要はない。これは、ITU H.263およびH.264デジタル・ビデオ符号化標準では「ダイレクト・モード」と呼ばれている。
動きベクトル補間の技法は、固定された背景をゆっくりとパンするカメラによって作成されるビデオ・シーケンスの一連のデジタル・ビデオ画像で特に有効である。実際、そのような動きベクトル補間は単独で使用できる。特に、これは、そのような動きベクトル補間を用いて符号化されたこれらのB画素ブロック動きベクトルに関して差分動きベクトル情報を計算したり送信したりする必要がないということを意味する。
画素ブロック符号化
各ビデオ画像内で、画素ブロックは異なる方法でも符号化できる。例えば、画素ブロックをより小さいサブブロックに分割し、動きベクトルを計算して各サブブロックに送信できる。サブブロックの形状は異なっていてもよく、必ずしも正方形でなくてもよい。
PピクチャまたはBピクチャ内では、一致度が高い画素ブロックが記憶基準画像内に見つからない場合に、動き補償を用いずに一部の画素ブロックをより効率的に符号化することができる。次に、そのような画素ブロックはイントラ画素ブロック(I画素ブロック)として符号化される。Bピクチャ内では、双方向動き補償の代わりに片方向動き補償を用いて一部の画素ブロックをより良好に符号化することができる。それ故、これらの画素ブロックは、最も一致度が高い画素ブロックが以前のビデオ画像内にあるか以後のビデオ画像にあるかによって、順方向予測画素ブロック(P画素ブロック)または逆方向予測画素ブロックとして符号化される。
送信前に、画素ブロックまたはサブブロックの予測エラーは、通常、離散コサイン変換またはその近似などの直交変換によって変換される。変換処理の結果は、変換される画素ブロックまたはサブブロック内の画素数に数が等しい一組の変換係数である。受信機/デコーダで、受信された変換係数は、さらに復号で使用する予測エラー値を復元するために逆変換される。許容されるビデオ品質のためにすべての変換係数を送信する必要はない。利用可能な送信ビット・レートに応じて、変換係数の半分以上、または場合により半分よりはるかに多くを削除して、送信しないようにすることができる。デコーダでは、削除された係数の値は逆変換の前にゼロで置き換えられる。
さらに、送信前に、変換係数は、図1に関して述べたように、通常、量子化され、エントロピー符号化される。量子化では、変換係数は可能な値の有限サブセットで表現され、その結果、送信の精度が低下する。さらに、量子化によって、小さい変換係数の値が強制的にゼロになることが多く、送信される変換係数の値の数はさらに減少する。
量子化ステップで、各変換係数の値は、通常、量子化ステップのサイズQで除算され、最も近い整数に丸められる。例えば、元の変換係数Cは以下の式を用いて量子化された係数の値Cqに量子化できる。
Cq=(C+Q/2)/Q (整数未満切り捨て)
量子化ステップの後で、整数はハフマン符号または算術符号などの可変長符号(VLC)を用いてエントロピー符号化される。多くの変換係数の値がゼロに切り捨てられるので、量子化および可変長符号化ステップでかなりの量の圧縮が達成される。
ラグランジュ関数を用いたビット・レートおよび歪み値の選択
デジタル・ビデオ・エンコーダは、ビデオ画像内の各画素ブロックを符号化するためのすべての可能な符号化方法(または符号化モード)から最良の符号化方法を決定しなければならない。この符号化問題は一般にモード選択問題として知られている。モード選択問題を扱うために、さまざまなデジタル・ビデオ・エンコーダの実施態様で多くの特別の解決策が使用されている。変換係数の削除、送信する変換係数の量子化、およびモード選択を組み合わせて送信に使用するビット・レートRを減少させることができる。しかし、これらのビット・レートRを減少させる技法は復号されたビデオ画像の歪みDを引き起こす。
理想的には、ビデオ・エンコーダを設計する時に、ビット・レートRを定数値に固定して符号化歪みDを最小限にするか、ビット・レートRを最小限にしながら符号化歪みDを定数値に固定するとよい。しかし、特に画素ブロック・レベルでは、ビット・レートRおよび/または歪み値Dは所望の固定値とはかなり異なる場合があり、制約付き最適化手法を成り立たなくさせる。
これに代えて、取るべき方法は、ラグランジュ乗数を用いて制約付き最適化問題を制約なし最適化問題に変換する方法である。こうして、変数の一方(ビット・レートRまたは歪みD)を固定して他方を最適化する代わりに、ラグランジュ関数を最小化するだけでよい。
D+λ×R
ここで、λはラグランジュ乗数である。したがって、ビデオ画像内の各画素ブロックで、エンコーダはラグランジュ関数D+λ×Rを最小化する画素ブロック符号化モードを選択する。
理論的には、すべての可能なλの値を繰り返し使用し、各λが{D,R}のペアを生成することで個々のビデオ画像ごとの完全な最適化が実行されよう。ここから、所望のビット・レートR(または歪みD)について、対応する歪みD(またはビット・レートR)およびλ値が得られる。次に、この選択されたλ値を用いて今度はビデオ画像が最終的に符号化され、所望の結果が得られる。
実際には、この理想的な手法は、普通、あらゆるビデオ画像について実行するには複雑すぎ、リソースを浪費する。一般の方法としては、広範囲のλ値で上記の完全な最適化方法を用いて多数のビデオ画像で多数の予備実験を実行して、λ、歪みDおよび量子化Qの近似的な関係を決定する。
広範囲のλ値で完全な最適化方法を用いた多数のビデオ画像による予備実験によって、λ、歪みDおよび量子化Qの近似的な関係が決定される。この実験では、ラグランジュ乗数λを変化させ、量子化Qを一定にすることが有利な場合が多い。各実験で、量子化Qが一定に保たれれば、最終的な結果は、1つの曲線が異なる量子化Qの値を表すR、D曲線のファミリになる。図4はそのようなR、D曲線のファミリの一例を示す。異なる定数Qの曲線ごとに、あるλ値で得られる特定の{R、D}点で、曲線の勾配は(−λ)である。最適な{R、D}の関係はすべてのR、D曲線の最小値を取ることで得られる。
これに従って、異なる量子化Q値について、代表的なλ値がλとして選択される。例えば、λは図4のQ+1とQ−1のクロスオーバ・ポイントの途中で歪みD値を提供する値である。代表的なλ値を選択するために使用するその他の方法は、λ=0.85Qおよびλ=0.85×2Q/3を含む。Bピクチャが複数の場合、はるかに大きいλ値が使用されることが多い。したがって、
λ=f(Q)
=g(Q)、ここからQ=h(D)が得られる。
次に、所望の歪みDのビデオ画像シーケンスを符号化する場合、最初に最も近いDを求め、そこからQ=h(D)を得る。次に、対応するλ=f(Q)を用いてビデオ画像符号化が実行され、その結果、歪みDの最適ビット・レートRが得られる。
多くの応用例で、結果として得られるビット・レートRは大きすぎ、または小さすぎるので、速度制御を用いてバッファ・オーバフローまたはバッファ・アンダフローを確実に防止する必要がある。大半の速度制御アルゴリズムでは、一般には画素ブロックごとおよび/またはビデオ画像ごとに量子化Qを変更する方法が用いられる。エンコーダ・バッファが満杯に近づく(およびオーバフローの可能性がある)と、量子化Qの値が増加してビット・レートRを減少させる。エンコーダ・バッファが空に近づく(およびアンダフローの可能性がある)と、量子化Qが減少してビット・レートRを増加させる。
しかし、量子化Q値を変更すると、ビット・レートRの変化が大きすぎる結果を招く。さらに、量子化Qの変化をデコーダに知らせる必要があり、デコーダはデコーダに送信すべきオーバヘッド・ビットの量を増加させる。さらに、量子化Qを変更すると、ループ・フィルタリングなどのビデオ画像品質に関するその他の影響が生じることがある。
量子化Qの変更の代替策は、ラグランジュ乗数λを変更して所望の速度制御を達成する方法である。ラグランジュ乗数λの値を小さくすると、ビット・レートRが大きくなる(また歪みDが小さくなる)。同様に、ラグランジュ乗数λの値を大きくすると、ビット・レートRが減少する(また歪みDが増加する)。ラグランジュ乗数λの変更は、デジタル化され符号化されて量子化Qがある値にのみ限定される量子化Qの変更とは異なり、任意に細かくすることができる。すべてのMPEGビデオ圧縮および符号化標準を含む多くのデジタル・ビデオ圧縮および符号化システムでは、量子化Qの整数値のすべてを送信できるわけではない。その場合、ビット・レートRの突然の変化がさらに顕著になろう。
ラグランジュ乗数λが一定のビット・レートの低減を達成するために一定のしきい値λ_max(Q)より大きいことが必要な時には、量子化Qを増加させて、ラグランジュ乗数λは新たに増加した量子化Q値を用いてその公称値f(Q)に戻る。ラグランジュ乗数λが一定のビット・レートの増加を達成するために一定のしきい値λ_min(Q)より小さいことが必要な時には、量子化Qを減少させて、ラグランジュ乗数λは新たに減少した量子化Qを用いてその公称値f(Q)に戻る。
λ_max(Q)およびλ_min(Q)の値は図4に示すビット・レート−歪みの関係図のクロスオーバ・ポイントによって決定される。ラグランジュ乗数λと量子化ステップ・サイズQを用いた符号化で、D(λ,Q)を達成する歪みとして定義する場合、演算関係は以下のようになる。
D(λ_min(Q+1),Q+1)=D(λ_max(Q),Q)
λ_min(Q)<=f(Q)<=λ_max(Q)
ビデオ符号化システムのそのような速度制御アルゴリズムの詳細な動作を以下の擬似コードで述べる。
開始_符号化_ピクチャ: //ビデオ画像の符号化を開始
所望のDを入力; //所望の歪D値を確保
Dに最も近いDを発見; //所望のDに最も近いD値を発見
Q=h(D); //量子化値Qを決定
λ=f(Q); //ラグランジュ乗数λを決定
開始_符号化_画素ブロック: //画像から画素ブロックの符号化を開始
符号_画素ブロック(λ、Q);//λおよびQを用いて画素ブロックを符号化
(encoder_buffer>Tfull)の場合{ //バッファはオーバフローの恐れあるか?
λ=λ+Δλ; //ΔλはQに依存する
(λ>λ_max(Q))の場合{ //λが大きすぎる場合、Qを増加
Q=Q+ΔQ; //量子化Qのサイズを増加
λ=f(Q); //新ラグランジュ乗数λを設定


(encoder_buffer<Tempty)の場合{ //バッファはアンダフローの恐れあるか?
λ=λ−Δλ; //はい λを減少
(λ<λ_min(Q))の場合{ //λが小さすぎる場合、λを減少
Q=Q−ΔQ; //量子化Qのサイズを減少
λ=f(Q); //新ラグランジュ乗数λを設定


(最終の画素ブロックでない)の場合、開始_符号化_画素ブロックへ飛越し;//次のブロック//画像で処理
この一般的な速度制御アルゴリズムの変形例は、encoder_buffer値の複数の異なるしきい値を含み、ここで、encoder_bufferがTfullしきい値を大幅に超えた場合、ラグランジュ乗数λがそのしきい値を超えるのを待たずに直ちに量子化Qをインクリメントできる。同様に、encoder_bufferがTemptyしきい値を大幅に下回った場合、直ちに量子化Qをデクリメントできる。あるいは、encoder_bufferがTfullしきい値を大幅に超えた場合、またはTemptyしきい値を大幅に下回った場合、Δλステップのサイズを増大できる。
ΔλおよびΔQの値は量子化Qまたはビデオ画像タイプ(Iピクチャ、Pピクチャ、またはBピクチャ)によって変化する。さらに、ラグランジュ乗数λのインクリメント演算はラグランジュ乗数λをある割合だけ変更する乗算に替えることができる。例えば、ラグランジュ乗数λはλ増加演算の以下の等式を用いて変更できる。
λ=(1+Δλ)×λ
同様に、以下の等式のλデクリメント演算を使用できる。
λ=(1−Δλ)×λ
この簡単な速度制御アルゴリズムは、この応用例の変動するλの使用法を示す。他のより複雑な速度制御アルゴリズムも考案されており、これらの他の速度制御アルゴリズムもラグランジュ乗数λを変更する方法を利用することができる。
視覚的歪みトレードオフ
ラグランジュ乗数λを変更する方法の別の応用例は、視覚的歪みの判定基準の使用である。歪みDは、元の画素値と復号された画素値の差の自乗を総計して測定されることが多い。しかし、この簡単な歪み測定方法はビデオ画像内の画素エラーの実際の可視性に十分に対応していない。したがって、そのような簡単な歪み測定方法では、先行する最小化で最適に満たない結果を生むことがある。それ故、主観的な影響を考慮するアルゴリズムのほうが有用である場合が多い。
ビデオ画像内で符号化される画素ブロックまたはサブブロックごとのビジュアル・マスク値Mを計算することで符号化雑音の可視性も考慮することができる。ビジュアル・マスク値Mは領域内の画素の空間的な変化および時間的な変化に基づく。
ビジュアル・マスクMの大きい値は、歪みを目視で検出することをより困難にするより大きいマスキングを示す。そのような領域では、歪みDを増加させ、ビット・レートRを減少させることができる。これは、好都合には、符号化最適化アルゴリズム内でラグランジュ乗数λを単独で使用する代わりにM×λ(ラグランジュ乗数)を使用することで達成できる。以下の擬似コードは変更されたアルゴリズムを示す。
開始_符号化_ピクチャ: //ビデオ画像の符号化を開始

所望のDを入力; //所望の歪D値を確保
Dに最も近いDQを発見; //所望のDに最も近いD値を発見
Qnorm=h(DQ); //マスキングのないノーマルQを決定
λ=f(Qnorm); //ラグランジュ乗数λを決定
開始_符号化_画素ブロック: //画像から画素ブロックの符号化を開始
Q=Qnorm; //QをマスキングのないノーマルQに設定
ビジュアル・マスク値Mを計算; //ビジュアル・マスキング量を決定
(M×λ>λ_max(Q))の場合{//マスキングが強い場合、Qを増加
Q=Q+ΔQ; //量子化のサイズを増加

符号 画像ブロック(M×λ、Q);//M×λおよびを用いて符号化
(encoder_buffer>Tfull)の場合{//バッファはオーバフローを満たす恐れがある場合
λ=λ+Δλ; //λを増加
(λ>λ_max(Qnorm))の場合{ //λを試験
Qnorm=Qnorm+ΔQ;//λが大きすぎる場合Qを増加
λ=f(Qnorm); //新λを計算


(encoder_buffer<Tempty)の場合{ //バッファはアンダフローを満たす恐れがある場合
λ=λ−Δλ; //λを減少
(λ<λ_min(Qnorm)){ //λを試験
Qnorm=Qnorm−ΔQ;//λが小さすぎる場合Qを減少
λ=f(Qnorm); //新λを計算


(最終の画素ブロックでない)の場合、開始_符号化_画素ブロックへ飛越し;//次のブロック//画像で処理ックでない)の場合、開始#符号化#画素ブロックへ飛越し;//次のブロック//画像で処理
この第2の簡単なビジュアル・マスキング・アルゴリズムはこの応用例のλを変更する方法の使用法を示す。その他のより複雑なビジュアル・マスキング・アルゴリズムも考案されており、これらのビジュアル・マスキング・アルゴリズムもλを変更する方法を利用することができる。
ラグランジュ乗数λの変更は他の符号化決定方法でも有用である。例えば、一連のビデオ画像の符号化の際にいくつのBピクチャを符号化するかという決定は困難である場合が多い。量子化Qおよびλ=f(Q)の特定の値では、Pピクチャにつき1つのBピクチャで符号化した結果はR、Dであるが、Pピクチャにつき2つのBピクチャで符号化した結果はR、Dである。
<RでかつD<Dの場合、Bピクチャが2つの方がよいというのが正解であることは明らかである。しかし、結果がR<RでかつD>Dで、Bピクチャがいくつであればよいのかは明らかでない。この場合、Dにほぼ等しいDが得られるより小さいλでPピクチャにつき2つのBピクチャで再符号化することができる。次に、結果として得られるRおよびRの値を比較してどちらのビット・レートが小さいかを比較するだけでよい。
例えば、インタレース対プログレッシブ・コーディング、さまざまな動き検索範囲によるコーディング、ある種の符号化モード付き/なしの符号化など、他のシナリオも同様に比較することができる。
結論として、本出願人はビデオ符号化で多くの用途がある簡単で強力なレート歪みトレードオフの方法を提示する。以上、マルチメディア圧縮および符号化システムでの符号化モード選択によってレート歪みトレードオフを制御するシステムについて説明した。通常の当業者であれば、本発明の範囲から逸脱することなく、本発明の要素の材料および装置を修正および変更することができる。
なお、この明細書に開示した新技術の態様を列挙すれば次のようである。
(1)ビデオ圧縮および符号化システムでレート歪みを制御するための方法であって、
所望の歪み値に近い歪み値Dを選択するステップと、
前記歪み値Dを用いて量子化値Qを決定するステップと、
前記量子化値Qを用いてラグランジュ乗数λを計算するステップと、
前記ラグランジュ乗数λおよび前記量子化値Qを用いて画素ブロックを符号化するステップとを含む方法。
(2)バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Qを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Qを減少させるステップとをさらに含む、上記(1)に記載の方法。
(3)前記量子化値Qが調整された場合に前記ラグランジュ乗数λを再計算するステップをさらに含む、上記(2)に記載の方法。
(4)前記ラグランジュ乗数λが前記量子化値Qに応じた量だけ増加または減少するステップをさらに含む、上記(2)に記載の方法。
(5)ビジュアル・マスク値Mを計算するステップと、
前記ビジュアル・マスクM×前記ラグランジュ乗数λが前記ラグランジュ乗数λの最大しきい値より小さい時に、前記ラグランジュ乗数λを増加させるステップとをさらに含む、上記(1)に記載の方法。
(6)前記ラグランジュ乗数λの前記最大しきい値が前記量子化値Qに依存する、上記(5)に記載の方法。
(7)バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Qを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Qを減少させるステップとをさらに含む、上記(5)に記載の方法。
(8)前記量子化値Qが調整された場合に、前記ラグランジュ乗数λを再計算するステップをさらに含む、上記(7)に記載の方法。
(9)ビデオ圧縮および符号化システムでレート歪みを制御する方法を実施するための一組のコンピュータ命令を含むコンピュータ可読媒体であって、
所望の歪み値に近い歪み値Dを選択するステップと、
前記歪み値Dを用いて量子化値Qを決定するステップと、
前記量子化値Qを用いてラグランジュ乗数λを計算するステップと、
前記ラグランジュ乗数λおよび前記量子化値Qを用いて画素ブロックを符号化するステップとを含むコンピュータ可読媒体。
(10)前記コンピュータ命令の組が、
バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Qを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Qを減少させるステップとをさらに実施する、上記(9)に記載のコンピュータ可読媒体。
(11)前記コンピュータ命令の組が、
前記量子化値Qが調整された場合に前記ラグランジュ乗数λを再計算するステップをさらに実施する、上記(10)に記載のコンピュータ可読媒体。
(12)前記ラグランジュ乗数λが前記量子化値Qに応じた量だけ増加または減少する、上記(10)に記載のコンピュータ可読媒体。
(13)前記コンピュータ命令の組が、
ビジュアル・マスク値Mを計算するステップと、
前記ビジュアル・マスク値M×前記ラグランジュ乗数λが前記ラグランジュ乗数λの最大しきい値より小さい時に前記ラグランジュ乗数λを増加させるステップとをさらに実施する、上記(9)に記載のコンピュータ可読媒体。
(14)前記ラグランジュ乗数λの前記最大しきい値が前記量子化値Qに依存する、上記(13)に記載のコンピュータ可読媒体。
(15)前記コンピュータ命令の組が、
バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Qを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Qを減少させるステップとをさらに実施する、上記(13)に記載のコンピュータ可読媒体。
(16)前記コンピュータ命令の組が、
前記量子化値Qが調整された場合に前記ラグランジュ乗数λを再計算するステップをさらに実施する、上記(15)に記載のコンピュータ可読媒体。
1つの可能なデジタル・ビデオ・エンコーダ・システムの高レベル・ブロック図である。 異なる画像を結ぶ矢印が動き補償を用いて作成される画像間依存を示す順序で画像が表示される一連のビデオ画像を示す図である。 異なる画像を結ぶ矢印が動き補償を用いて作成される画像間依存を示す好ましいビデオ画像の送信順序で図2の画像を再配列した一連のビデオ画像を示す図である。 量子化Qの値が異なるごとに1本の曲線で描いたR、D曲線のファミリを示すグラフである。
符号の説明
100 デジタル・ビデオ・エンコーダ
105 着信ビデオ・ストリーム
110 離散コサイン変換ユニット(DCT)
120 量子化(Q)ユニット
130 逆量子化器(Q−1
140 逆離散コサイン変換ユニット(DCT−1
150 動き補償(MC)ユニット
160 動き予測(ME)ユニット
180 エントロピー・エンコーダ(H)ユニット
190 レート・コントローラ
,B〜B,B〜B,B11,13,P,P10,12,I14 ビデオ画像

Claims (14)

  1. ビデオ圧縮および符号化システムでレート歪みを制御するための方法であって、
    所望の歪み値に近い歪み値Dを選択するステップと、
    前記歪み値Dを用いて量子化値Qを決定するステップと、
    前記量子化値Qを用いてラグランジュ乗数λを計算するステップと、
    前記ラグランジュ乗数λおよび前記量子化値Qに基づいてラグランジュ関数を最小化する符号化モードを選択するステップと、
    前記選択された符号化モードを用いて画素ブロックを符号化するステップと、
    バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Qを増加させるステップと、
    バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Qを減少させるステップとから構成されることを特徴とする方法。
  2. 前記量子化値Qが調整された場合に前記ラグランジュ乗数λを再計算するステップをさらに有することを特徴とする請求項1に記載の方法。
  3. 前記ラグランジュ乗数λは、前記量子化値Qに応じた量だけ増加または減少するステップをさらに有することを特徴とする請求項1に記載の方法。
  4. ビデオ圧縮および符号化システムでレート歪みを制御するための方法であって、
    所望の歪み値に近い歪み値Dを選択するステップと、
    前記歪み値Dを用いて量子化値Qを決定するステップと、
    前記量子化値Qを用いてラグランジュ乗数λを計算するステップと、
    前記ラグランジュ乗数λおよび前記量子化値Qに基づいてラグランジュ関数を最小化する符号化モードを選択するステップと、
    前記選択された符号化モードを用いて画素ブロックを符号化するステップと、
    少なくとも1つのビデオ画像に対して、その少なくとも1つのビデオ画像に対する符号化雑音の可視性を表すビジュアル・マスク値Mを計算するステップと、
    前記ビジュアル・マスクM×前記ラグランジュ乗数λが前記ラグランジュ乗数λの最大しきい値より大きいとき、前記量子化値Qを増加させるステップとから構成されることを特徴とする方法。
  5. 前記ラグランジュ乗数λの前記最大しきい値が前記量子化値Qに依存することを特徴とする請求項4に記載の方法。
  6. バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Qを増加させるステップと、
    バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Qを減少させるステップとをさらに有することを特徴とする請求項4に記載の方法。
  7. 前記量子化値Qが調整された場合に、前記ラグランジュ乗数λを再計算するステップをさらに有することを特徴とする請求項6に記載の方法。
  8. 少なくとも1つのプロセッサによってレート歪みを制御するためのコンピュータ・プログラムが実行されるとき、前記少なくとも1つのプロセッサに実行させる前記コンピュータ・プログラムを格納するコンピュータ可読媒体であって、
    前記コンピュータ・プログラムは、
    所望の歪み値に近い歪み値Dを選択する命令と、
    前記歪み値Dを用いて量子化値Qを決定する命令と、
    前記量子化値Qを用いてラグランジュ乗数λを計算する命令と、
    前記ラグランジュ乗数λおよび前記量子化値Qに基づいてラグランジュ関数を最小化する符号化モードを選択する命令と、
    前記選択された符号化モードを用いて画素ブロックを符号化する命令と、
    バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Qを増加させる命令と、
    バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Qを減少させる命令とを有することを特徴とするコンピュータ可読媒体。
  9. 前記量子化値Qが調整される場合に、前記ラグランジュ乗数λを再計算する命令を前記少なくとも1つのプロセッサに実行させることを特徴とする請求項8に記載のコンピュータ可読媒体。
  10. 前記ラグランジュ乗数λが前記量子化値Qに応じた量だけ増加または減少することを特徴とする請求項8に記載のコンピュータ可読媒体。
  11. 少なくとも1つのプロセッサによってレート歪みを制御するためのコンピュータ・プログラムが実行されるとき、前記少なくとも1つのプロセッサに実行させる前記コンピュータ・プログラムを格納するコンピュータ可読媒体であって、
    前記コンピュータ・プログラムは、
    所望の歪み値に近い歪み値Dを選択する命令と、
    前記歪み値Dを用いて量子化値Qを決定する命令と、
    前記量子化値Qを用いてラグランジュ乗数λを計算する命令と、
    前記ラグランジュ乗数λおよび前記量子化値Qに基づいてラグランジュ関数を最小化する符号化モードを選択する命令と、
    前記選択された符号化モードを用いて画素ブロックを符号化する命令と、
    少なくとも1つのビデオ画像に対して、その少なくとも1つのビデオ画像に対する符号化雑音の可視性を表すビジュアル・マスク値Mを計算する命令と、
    前記ビジュアル・マスクM×前記ラグランジュ乗数λが前記ラグランジュ乗数λの最大しきい値より大きいとき前記量子化値Qを増加させる命令を有することを特徴とするコンピュータ可読媒体。
  12. 前記ラグランジュ乗数λの前記最大しきい値が前記量子化値Qに依存することを特徴とする請求項11に記載のコンピュータ可読媒体。
  13. バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Qを増加させる命令と、
    バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Qを減少させる命令とを前記少なくとも1つのプロセッサに実行させることを特徴とする請求項11に記載のコンピュータ可読媒体。
  14. 前記量子化値Qが調整された場合に、前記ラグランジュ乗数λを再計算する命令を前記少なくとも1つのプロセッサに実行させることを特徴とする請求項13に記載のコンピュータ可読媒体。
JP2005507064A 2002-11-08 2003-10-31 ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置 Expired - Fee Related JP4480671B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US42473802P 2002-11-08 2002-11-08
US10/615,117 US7042943B2 (en) 2002-11-08 2003-07-07 Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
PCT/US2003/034659 WO2004045218A1 (en) 2002-11-08 2003-10-31 Method and apparatus for control of rate-distortion tradeoff by using lagrange multiplier and visual mask

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008005615A Division JP5021502B2 (ja) 2002-11-08 2008-01-15 ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置

Publications (3)

Publication Number Publication Date
JP2006506032A JP2006506032A (ja) 2006-02-16
JP2006506032A5 JP2006506032A5 (ja) 2008-03-06
JP4480671B2 true JP4480671B2 (ja) 2010-06-16

Family

ID=32314552

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2005507064A Expired - Fee Related JP4480671B2 (ja) 2002-11-08 2003-10-31 ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置
JP2008005615A Expired - Fee Related JP5021502B2 (ja) 2002-11-08 2008-01-15 ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008005615A Expired - Fee Related JP5021502B2 (ja) 2002-11-08 2008-01-15 ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置

Country Status (8)

Country Link
US (3) US7042943B2 (ja)
EP (2) EP1563688B1 (ja)
JP (2) JP4480671B2 (ja)
AT (1) ATE493845T1 (ja)
AU (1) AU2003286800A1 (ja)
DE (1) DE60335567D1 (ja)
HK (1) HK1076219A1 (ja)
WO (1) WO2004045218A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008160864A (ja) * 2002-11-08 2008-07-10 Apple Inc ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US7194035B2 (en) * 2003-01-08 2007-03-20 Apple Computer, Inc. Method and apparatus for improved coding mode selection
WO2005122025A2 (en) 2004-06-07 2005-12-22 Sling Media, Inc. Personal media broadcasting system
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
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
WO2005125213A1 (en) * 2004-06-15 2005-12-29 Ntt Docomo, Inc. Apparatus and method for generating a transmit frame
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
US7818614B2 (en) * 2004-10-25 2010-10-19 Hewlett-Packard Development Company, L.P. System and method for reintroducing a processor module to an operating system after lockstep recovery
US7624302B2 (en) * 2004-10-25 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for switching the role of boot processor to a spare processor responsive to detection of loss of lockstep in a boot processor
US7447337B2 (en) * 2004-10-25 2008-11-04 Hewlett-Packard Development Company, L.P. Video content understanding through real time video motion analysis
US7627781B2 (en) * 2004-10-25 2009-12-01 Hewlett-Packard Development Company, L.P. System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor
US20060117355A1 (en) * 2004-11-29 2006-06-01 Vincent Dureau Pushing content in a two-way network
US7675872B2 (en) 2004-11-30 2010-03-09 Broadcom Corporation System, method, and apparatus for displaying pictures
US8208536B2 (en) * 2005-04-28 2012-06-26 Apple Inc. Method and apparatus for encoding using single pass rate controller
US9479794B2 (en) 2005-11-10 2016-10-25 Freescale Semiconductor, Inc. Resource efficient video processing via prediction error computational adjustments
US8077775B2 (en) 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
US7773672B2 (en) 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
US8135063B2 (en) * 2006-09-08 2012-03-13 Mediatek Inc. Rate control method with frame-layer bit allocation and video encoder
US9883202B2 (en) 2006-10-06 2018-01-30 Nxp Usa, Inc. Scaling video processing complexity based on power savings factor
CN101595736B (zh) * 2006-12-15 2013-04-24 汤姆森特许公司 失真度估算
EP3264772B1 (en) * 2007-03-14 2022-09-07 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
JP4949462B2 (ja) * 2007-03-14 2012-06-06 日本電信電話株式会社 符号量推定方法、装置、そのプログラムおよび記録媒体
KR101083379B1 (ko) * 2007-03-14 2011-11-14 니폰덴신뎅와 가부시키가이샤 움직임 벡터 탐색 방법 및 장치 그리고 프로그램을 기록한 기록매체
CA2679767C (en) * 2007-03-14 2013-06-25 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
KR101609890B1 (ko) * 2008-09-18 2016-04-06 파나소닉 아이피 매니지먼트 가부시키가이샤 화상 복호 장치, 화상 부호화 장치, 화상 복호 방법, 화상 부호화 방법 및 프로그램
KR101377530B1 (ko) 2009-08-21 2014-03-27 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
WO2011021914A2 (ko) 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
US8238444B2 (en) * 2009-12-15 2012-08-07 National Taiwan University Perceptual-based video coding method
CN102656884A (zh) * 2009-12-16 2012-09-05 国际商业机器公司 使用像素流执行视频编码
WO2012162806A1 (en) * 2011-06-01 2012-12-06 Zhou Wang Method and system for structural similarity based perceptual video coding
WO2013087793A1 (en) * 2011-12-14 2013-06-20 Tp Vision Holding B.V. Streaming video data having adaptable bit rate
US10230956B2 (en) * 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US9866853B2 (en) 2014-04-15 2018-01-09 Qualcomm Incorporated System and method for lagrangian parameter calculation for display stream compression (DSC)
US10013625B1 (en) * 2014-04-16 2018-07-03 Instart Logic, Inc. QoE-driven unsupervised image categorization for optimized web delivery
CN104301724B (zh) 2014-10-17 2017-12-01 华为技术有限公司 视频处理方法、编码设备和解码设备
US10015503B1 (en) 2015-09-24 2018-07-03 Instart Logic, Inc. Fast, real-time, estimation of content-sensitive encoding quality for optimized web delivery of images
US10511853B2 (en) * 2016-11-24 2019-12-17 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
US10291936B2 (en) 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
WO2022021422A1 (zh) * 2020-07-31 2022-02-03 Oppo广东移动通信有限公司 视频编码方法、编码器、系统以及计算机存储介质

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0595536A (ja) 1991-10-01 1993-04-16 Toshiba Corp 高能率符号化信号処理装置
US5592302A (en) * 1992-03-23 1997-01-07 Canon Kabushiki Kaisha Coding method for coding pixel blocks and apparatus therefor
KR0150955B1 (ko) 1992-05-27 1998-10-15 강진구 비트고정을 위한 영상압축방법과 신장방법 및 그 장치
JP3133517B2 (ja) 1992-10-15 2001-02-13 シャープ株式会社 画像領域検出装置、該画像検出装置を用いた画像符号化装置
US5473384A (en) 1993-12-16 1995-12-05 At&T Corp. Method of and system for enhancing distorted graphical information
EP0910212A3 (en) 1994-09-13 1999-08-25 Koninklijke Philips Electronics N.V. Reproduction of a data reduced digital video signal from a longitudinal record carrier
AU697802B2 (en) 1995-04-25 1998-10-15 Koninklijke Philips Electronics N.V. Device and method for coding video pictures
CN1157080A (zh) 1995-04-25 1997-08-13 菲利浦电子有限公司 用于编码视频图像的装置和方法
US5778192A (en) * 1995-10-26 1998-07-07 Motorola, Inc. Method and device for optimal bit allocation between different sources of information in digital video compression
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US5801779A (en) 1995-12-26 1998-09-01 C-Cube Microsystems, Inc. Rate control with panic mode
US5872598A (en) 1995-12-26 1999-02-16 C-Cube Microsystems Scene change detection using quantization scale factor rate control
US5867221A (en) 1996-03-29 1999-02-02 Interated Systems, Inc. Method and system for the fractal compression of data using an integrated circuit for discrete cosine transform compression/decompression
US5790131A (en) 1996-05-15 1998-08-04 Iterated Systems, Inc. System and method for lossy compression of data with output file size control
US6101276A (en) 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
FR2753330B1 (fr) 1996-09-06 1998-11-27 Thomson Multimedia Sa Procede de quantification pour codage video
US6111991A (en) * 1998-01-16 2000-08-29 Sharp Laboratories Of America Method and apparatus for optimizing quantizer values in an image encoder
FR2764156B1 (fr) 1997-05-27 1999-11-05 Thomson Broadcast Systems Dispositif de pretraitement pour codage mpeg ii
US6023296A (en) 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
CN1136734C (zh) 1997-07-29 2004-01-28 皇家菲利浦电子有限公司 可变比特率视频编码方法及相应的视频编码器
US6192075B1 (en) 1997-08-21 2001-02-20 Stream Machine Company Single-pass variable bit-rate control for digital video coding
US6493385B1 (en) 1997-10-23 2002-12-10 Mitsubishi Denki Kabushiki Kaisha Image encoding method, image encoder, image decoding method, and image decoder
US6278735B1 (en) 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
EP1077000B1 (en) 1998-05-12 2003-04-16 STMicroelectronics Asia Pacific Pte Ltd. Conditional masking for video encoder
US6259733B1 (en) 1998-06-16 2001-07-10 General Instrument Corporation Pre-processing of bit rate allocation in a multi-channel video encoder
US6289129B1 (en) 1998-06-19 2001-09-11 Motorola, Inc. Video rate buffer for use with push dataflow
WO2000042772A1 (en) 1999-01-15 2000-07-20 Koninklijke Philips Electronics N.V. Coding and noise filtering an image sequence
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
US6760482B1 (en) 1999-02-19 2004-07-06 Unisearch Limited Method for visual optimisation of embedded block codes to exploit visual masking phenomena
US20040083174A1 (en) * 2000-06-30 2004-04-29 Kia Silverbrook Method and system for banking using coded forms
US6574279B1 (en) 2000-02-02 2003-06-03 Mitsubishi Electric Research Laboratories, Inc. Video transcoding using syntactic and semantic clues
US6493386B1 (en) 2000-02-02 2002-12-10 Mitsubishi Electric Research Laboratories, Inc. Object based bitstream transcoder
US6490320B1 (en) 2000-02-02 2002-12-03 Mitsubishi Electric Research Laboratories Inc. Adaptable bitstream video delivery system
US6650707B2 (en) 2001-03-02 2003-11-18 Industrial Technology Research Institute Transcoding apparatus and method
US6687294B2 (en) 2001-04-27 2004-02-03 Koninklijke Philips Electronics N.V. Distortion quantizer model for video encoding
US6975680B2 (en) 2001-07-12 2005-12-13 Dolby Laboratories, Inc. Macroblock mode decision biasing for video compression systems
EP1296524A1 (en) 2001-09-20 2003-03-26 STMicroelectronics S.r.l. Process and apparatus for the compression of digital video signals, a system and a computer program product therefor
EP1347649A1 (en) 2002-03-18 2003-09-24 Lg Electronics Inc. B picture mode determining method and apparatus in video coding system
KR100468726B1 (ko) 2002-04-18 2005-01-29 삼성전자주식회사 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
AU2003280512A1 (en) 2002-07-01 2004-01-19 E G Technology Inc. Efficient compression and transport of video over a network
US7042943B2 (en) 2002-11-08 2006-05-09 Apple Computer, Inc. Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
EP1933569A3 (en) 2002-11-08 2010-07-07 Apple Inc. Method and apparatus for control of rate-distortion tradeoff by using lagrange multiplier and/or quantizer value
JP2004166128A (ja) 2002-11-15 2004-06-10 Pioneer Electronic Corp 画像情報の符号化方法、符号化装置及び符号化プログラム
US7194035B2 (en) 2003-01-08 2007-03-20 Apple Computer, Inc. Method and apparatus for improved coding mode selection
EP1936995A3 (en) 2003-01-08 2011-01-19 Apple Inc. Method and apparatus for improved coding mode selection
JP2004230916A (ja) * 2003-01-28 2004-08-19 Kasai Kogyo Co Ltd ルーフトリムにおけるモジュール化構造
US7095784B2 (en) 2003-04-14 2006-08-22 Silicon Intergrated Systems Corp. Method and apparatus for moving picture compression rate control using bit allocation with initial quantization step size estimation at picture level
US7697608B2 (en) 2004-02-03 2010-04-13 Sony Corporation Scalable MPEG video/macro block rate control
KR100997298B1 (ko) 2004-06-27 2010-11-29 애플 인크. 멀티-패스 비디오 인코딩 방법
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008160864A (ja) * 2002-11-08 2008-07-10 Apple Inc ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置

Also Published As

Publication number Publication date
HK1076219A1 (en) 2006-01-06
US20060193382A1 (en) 2006-08-31
US7822118B2 (en) 2010-10-26
EP2271104A3 (en) 2012-06-06
EP2271104A2 (en) 2011-01-05
US7042943B2 (en) 2006-05-09
DE60335567D1 (de) 2011-02-10
JP2008160864A (ja) 2008-07-10
WO2004045218A1 (en) 2004-05-27
JP5021502B2 (ja) 2012-09-12
ATE493845T1 (de) 2011-01-15
US20100329333A1 (en) 2010-12-30
EP1563688B1 (en) 2010-12-29
US8355436B2 (en) 2013-01-15
US20040184546A1 (en) 2004-09-23
JP2006506032A (ja) 2006-02-16
EP1563688A1 (en) 2005-08-17
AU2003286800A1 (en) 2004-06-03

Similar Documents

Publication Publication Date Title
JP4480671B2 (ja) ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置
TWI221738B (en) Apparatus and methods for transcoder-based adaptive quantization
US8325799B2 (en) Moving picture encoding method, device using the same, and computer program
JP5385233B2 (ja) デジタルビデオ符号化処理における可変精度ピクチャ間タイミング指定方法及び装置
JP2011155678A (ja) 除算演算の要件が低減されたデジタル・ビデオ符号化の可変精度画像間タイミング指定の方法および装置
JP2010154568A5 (ja)
JP2008141787A (ja) 改良型符号化モード選択の方法および装置
US20040013399A1 (en) Information processing method and apparatus
EP1933569A2 (en) Method and apparatus for control of rate-distortion tradeoff by using lagrange multiplier and/or quantizer value
CN101409835A (zh) 利用拉格朗日乘子和视觉掩蔽来控制速率-失真折中的方法和装置
JP2008109693A (ja) 動画像再符号化装置
JP2008211441A (ja) デジタル動画像記録装置
JP2018113525A (ja) 動画像符号化装置及び動画像符号化方法
JP2001145108A (ja) 画像情報変換装置及び方法
JP2007529921A (ja) 画像エンコード・システムおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070403

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071227

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080115

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080115

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080715

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090316

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090324

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090416

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090423

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100127

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

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

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees