JP2008522500A - パラメトリック方程式を使用した、ビデオ符号化のためのレート制御技法 - Google Patents

パラメトリック方程式を使用した、ビデオ符号化のためのレート制御技法 Download PDF

Info

Publication number
JP2008522500A
JP2008522500A JP2007543465A JP2007543465A JP2008522500A JP 2008522500 A JP2008522500 A JP 2008522500A JP 2007543465 A JP2007543465 A JP 2007543465A JP 2007543465 A JP2007543465 A JP 2007543465A JP 2008522500 A JP2008522500 A JP 2008522500A
Authority
JP
Japan
Prior art keywords
video
defines
parameter
predicted
quantization
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.)
Pending
Application number
JP2007543465A
Other languages
English (en)
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2008522500A publication Critical patent/JP2008522500A/ja
Pending 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/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】パラメトリック方程式を使用した、ビデオ符号化のためのレート制御技法。
【解決手段】本開示は、ビデオ符号化を改善することができるレート制御技法を説明している。説明されるレート制御技法は、フレーム当たりに符号化されるビット数と、ロー(ρ)と称される量子化後のビデオブロックの非ゼロの係数の数との間の関係を利用する。ρの値は、一般にビデオ符号化において使用されるビット数に比例している。本開示は、レート制御されたビデオ符号化を達成するためにρと量子化パラメータ(QP)との間の関係を利用している。より詳細には、本開示は、予測されるρの値をQPにマッピングするパラメトリック方程式を利用している。
【選択図】 図4

Description

本出願は、2004年11月29日に出願された米国仮特許出願第60/631,835号の利益を主張するものである。
本開示は、デジタルビデオ処理に関し、より詳細には、ビデオシーケンス(video sequences)のレート制御された符号化(rate controlled encoding)に関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線通信デバイス、携帯型個人情報端末(personal digital assistant)(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、セルラ電話または衛星無線電話、および同様のものを含む広範囲のデバイスに組み込まれることができる。デジタルビデオデバイスは、フルモーションビデオシーケンス(full motion video sequence)を作成し、修正し、伝送し、記憶し、記録し、再生する際に従来のアナログビデオシステムに優るかなりの改善を提供できる。
いくつかの異なるビデオ符号化規格が、デジタルビデオシーケンスを符号化するために確立されてきている。例えば、ムービングピクチャーエキスパートグループ(Moving Picture Experts Group)(MPEG)は、MPEG−1、MPEG−2およびMPEG−4を含む多くの規格を開発してきている。他の規格は、国際電気通信連合(International Telecommunication Union)(ITU)H.263規格と、カリフォルニア州、クパチーノ市のアップルコンピュータ(Apple Computer)により開発されたクイックタイム(登録商標)(QuickTimeTM(登録商標))技術と、ワシントン州、レッドモンド市のマイクロソフトコーポレーション(Microsoft Corporation)により開発されたビデオフォーウィンドウズ(登録商標)(Video for WindowsTM(登録商標))と、インテルコーポレーション(Intel Corporation)により開発されたインディオ(登録商標)(IndeoTM(登録商標))と、ワシントン州、シアトル市のリアルネットワークス社(RealNetworks, Inc.)からのリアルビデオ(登録商標)(RealVideoTM(登録商標))と、スーパーマック社(SuperMac, Inc.)により開発されたシネパック(登録商標)(CinepakTM(登録商標))を含んでいる。さらに、ITU H.264規格およびいくつかの独自開発規格(proprietary standard)を含めて、新しい規格が、出現し、発展し続けている。
多数のビデオ符号化規格は、圧縮様式でデータを符号化することによってビデオシーケンスの改善された伝送レートを可能にする。圧縮は、ビデオフレームの効果的伝送のために伝送される必要がある全体的データ量を、低減させることができる。例えば、ほとんどのビデオ符号化規格は、圧縮なしで達成され得るよりはむしろ、狭い帯域幅上でビデオおよび画像の伝送をスムーズに進めるように設計されたグラフィックスおよびビデオの圧縮技法を利用している。例えば、MPEG規格、ならびにITU H.263規格およびITU H.264規格は、フレーム間の圧縮を提供するために、一時的相関またはフレーム間相関と称される、連続するビデオフレーム間の類似性を利用するビデオ符号化技法をサポートする。そのようなフレーム間の圧縮は、一般的に動き推定および動き補償の符号化技法を介して達成される。さらに、一部のビデオ符号化技法は、ビデオフレームをさらに圧縮するために、空間的層間またはフレーム間相関と称される、フレーム内の類似性を利用することができる。
いくつかのレート制御技法が、ビデオ符号化のために開発されてきている。レート制御技法は、ビデオシーケンスのリアルタイム伝送をスムーズに進めるために特に重要であるが、非リアルタイムの符号化設定においても使用されることもできる。レート制御については、符号化技法は、フレームごとに符号化されるビット数を動的に調整する。特に、レート制御は、ビデオシーケンスが、ある与えられたレートで効果的に符号化され、それによって割り付けられた帯域幅上で伝送されることができることを保証するためにフレーム当たりに符号化されるビット数を制限できる。符号化技法が、ビデオシーケンスのシーン変化に応答しない場合、ビデオシーケンスのリアルタイム伝送についてのビットレートは、シーンが変化するときにかなり変化する可能性がある。したがって、実質的に一定のビットレートを定義するために、フレーム当たりのビット数は、符号化中に動的に調整される。
レート制御された符号化を達成する一方法は、ビデオ符号化プロセス中に使用される量子化パラメータ(quantization parameter)(QP)の調整を可能にすることである。QPは、ビデオ符号化中に行われる量子化を定義し、毎秒符号化されるビット数に直接に影響を与える。QPが増大するにつれて、より少ないデータが保持され、ビデオ符号化の品質は低下する可能性がある。QPが減少するにつれて、より多くのデータが保持され、ビデオ符号化の品質は改善する。しかしながら、QPがあまりにも小さすぎる場合には、毎秒符号化されるビット数は、割り付けられた帯域幅を超過し、限られた量の帯域幅内でフレームを転送する機能を損なう(compromise)かもしれない。動的様式でQPを選択することにより、ビデオフレームの伝送についてのビットレートは、実質的に一定にされることができる。ビットレートにおける低い変動(low variance)が、一部のビデオ用途では、非常に望ましい。
[概要]
本開示は、ビデオ符号化を改善することができるレート制御技法について説明する。特に、説明されるレート制御技法は、フレーム当たりの符号化されるビット数と、量子化後のビデオブロックの非ゼロの係数(non-zero coefficiency)の数との間の関係を利用する(exploit)。量子化後のフレームのビデオブロックの非ゼロの係数の数は、ロー(ρ)と称される。ρの値は、一般に、ビデオ符号化プロセスにおいて使用されるビット数に比例する。本開示は、レート制御されたビデオ符号化を達成するためにρと量子化パラメータ(QP)との間の関係を利用する(utilizes)。より詳細には、本開示は、予測されるρの値をQPにマッピングする(map)ためにパラメトリック方程式(parametric equation)を利用する。パラメトリック方程式は、
ρ=nc×e−f(qp)
の形式を取ることができ、式中でeは、オイラーの数(Euler's number)(定数2.71828182845904523536028747135...)を表し、ρは、量子化後のフレームのビデオブロックの非ゼロの係数の予測された数を表し、ncは、考慮中のユニットにおける係数の数(the number of coefficients in the unit under consideration)(例えば、フレームまたはビデオブロック中の係数の数)を表し、f(qp)は、量子化パラメータのパラメトリック関数(parametric function)である。一例として、f(qp)は、簡単な多項式関数または指数関数を備えることができる。一部の場合では、オイラーの数(e)の代わりに、異なる定数、例えば、2の値あるいはもしかすると任意の他の定数(k)などが使用されてもよい。
レート制御されたビデオ符号化中に、パラメトリック方程式は、f(qp)を定義するプログラマブルな変数に基づいて初期化されることができる。次いで、ρの実際の値(実際のρ)が、QPの選択された値について計算されることができる。次いで、f(qp)を定義するプログラマブルな変数が、予測されるρとQPとの間の関係をよりよく近似するために調整されることができる。説明される技法は、ビデオブロックレベルレート制御(例えば、マクロブロックレベル)またはフレームレベルレート制御のために適用されることができる。好ましい一実施形態においては、ビデオブロックレベルレート制御が適用されるが、パラメトリック方程式中の変数はフレームレベルで調整される。
一実施形態において、本開示は、ビデオシーケンスを記憶するメモリと、量子化後の非ゼロの係数の予測される数(予測されるρ)を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用してビデオシーケンスのレート制御されたビデオ符号化についての量子化パラメータ(QP)を選択するエンコーダとを備える、ビデオ符号化デバイスを提供する。
別の実施形態においては、本開示は、量子化後の非ゼロの係数の予測される数(予測されるρ)を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用して量子化パラメータ(QP)を選択することと、その選択されたQPを使用して1つまたは複数のビデオブロックを符号化することとを備える、レート制御されたビデオ符号化の方法を提供する。
ここで説明されるこれらおよび他の技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形でデジタルビデオデバイス中において実施されることができる。ソフトウェアで実施される場合、そのソフトウェアは、デジタル信号処理プロセッサ(DSP)などのプログラマブルなプロセッサ中において実行されることができる。その場合には、その技法を実行するソフトウェアは、コンピュータ読取り可能媒体に最初に記憶され、デジタルビデオデバイス中における効果的なレート制御された符号化のためにプログラマブルなプロセッサにロードされ、そのプロセッサ中で実行されることができる。
様々な実施形態の更なる詳細が、添付の図面および以下の説明中において述べられる。他の特徴、目的および利点は、その説明および図面から、また特許請求の範囲から明らかになるであろう。
[詳細な説明]
本開示は、ビデオ符号化を改善するために使用されることができるレート制御技法について説明する。本技法は、多種多様のビデオ符号化規格、例えば、MPEG−4規格、ITU H.263規格、ITU H.264規格、あるいは他の規格など、のうちの任意のものと共に使用されることができる。本技法は、フレーム当たり符号化されるビット数(符号化レート)と、量子化後のフレームのビデオブロックの非ゼロの係数の数との間の関係を利用する。量子化後のフレームのビデオブロックの非ゼロの係数の数は、ロー(ρ)と称される。ρの値は、一般にビデオ符号化において使用される量子化パラメータ(QP)に比例している。したがって、本開示は、レート制御されたビデオ符号化を達成するためにρとQPとの間の関係を利用する技法について説明している。
より詳細には、本開示中に説明される技法は、ρの予測された値を量子化パラメータ(QP)にマッピングするパラメトリック方程式を利用する。ρは、一般に符号化レートに比例しているので、望ましいρは、望ましい符号化レートを与えるべき望ましいQPを選択するために定義され使用されることができる。パラメトリック方程式は、初期化されることができるが、パラメトリック方程式によって定義される予測されるρが、選択されたQPから生じる実際のρをよりよく近似する(better approximates)ように、次いでビデオ符号化中に調整されることができる。このようにして、パラメトリック方程式は、ビデオ符号化中に動的に調整され、そのために選択されたQPは、実際のρに対してより正確にマッピングし、したがって、望ましい符号化レートをより正確に与えるようになる。
予測されるρを定義するために使用されるパラメトリック方程式は、
ρ=nc×e−f(qp)
の形式を取ることができ、式中でeは、オイラーの数(2.71828182845904523536028747135...)と一般に称される数学的定数を表し、ρは、量子化後のフレームのビデオブロックの非ゼロの係数の予測された数を表し、ncは、考慮中のユニットにおける係数の数(例えば、フレームまたはビデオブロック中の係数の数)を表し、f(qp)は、量子化パラメータのパラメトリック関数である。一例として、f(qp)は、簡単な多項式関数または指数関数を備えることができる。一部の場合においては、eの値は、異なる定数、例えば、2の値、あるいはより一般的には別の定数(k)など、で置き換えられてもよい。いずれにしても、f(qp)の有用な例は、次のもの、すなわち
f(qp)=α×qp、
f(qp)=α×qp+β、
f(qp)=α×qp+β×qp+δ、
あるいは指数関数、すなわち
f(qp)=α×qpβ
を含んでいる。これらの例において、qpは、(ここでもまたQPとも称される)量子化パラメータを表す。
変数α、β、およびδは、パラメトリック方程式中のρとqpとの間の関係をよりよく近似するために、レート制御技法の間に調整されることができるプログラマブルなパラメータを備える。特に、符号化プロセス中に、プログラマブルなパラメータは、予測されるρが異なるQPについて実際のρに実質的に対応するように、調整される。本開示の技法によって使用されることができるパラメトリック方程式のいくつかの例がここで説明されているが、他の多数のパラメトリック方程式もまた有用であり得る。
図1は、ソースデバイス12が、通信リンク15を経由してビデオデータの符号化シーケンスを受信デバイス14に送信する一例のシステム10を示すブロック図である。ソースデバイス12および受信デバイス14は、両方ともデジタルビデオデバイスである。特に、ソースデバイス12は、ビデオ規格、例えば、MPEG−4規格、ITU H.263規格、ITU H.264規格、あるいはレート制御されたビデオ符号化を利用できる多種多様の他の規格のうちの任意の規格など、に準拠したビデオデータを符号化する。システム10のデバイス12、14のうちの一方または両方は、以下でより詳細に説明されるように、ビデオ符号化プロセスを改善するためにレート制御技法を実施する。そのようなレート制御技法は、無線通信リンクなど、限られた帯域幅の通信リンク15上でのビデオシーケンスのリアルタイム伝送のために特に有用である。
通信リンク15は、無線リンク、物理伝送回線、光ファイバ、パケットベースのネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、あるいは、インターネットのようなグローバルネットワークなど、公衆交換電話網(public switched telephone network)(PSTN)、あるいは、データを転送することができる他の任意の通信リンク、を備えることができる。したがって、通信リンク15は、ソースデバイス12から受信デバイス14へとビデオデータを伝送するための適切な任意の通信媒体、またはもしかすると異なるネットワークおよびリンクの集まりを表す。しかしながら、述べられたように、通信リンク15は、限られた帯域幅を有し、リンク15上のビデオシーケンスのリアルタイム伝送のためにレート制御を非常に重要にしている。その限られた帯域幅は、通信リンク15上の物理制約条件(physical constraints)に、あるいは、もしかすると通信リンク15のプロバイダによって課されるサービス品質(quality-of-service)(QoS)の制限に、起因するかもしれない。
ソースデバイス12は、ビデオデータを符号化し送信することができる任意のデジタルビデオデバイスを備えることができる。ソースデバイス12は、デジタルビデオシーケンスを記憶するビデオメモリ16と、そのシーケンスを符号化するビデオエンコーダ18と、通信リンク15上でその符号化されたシーケンスをソースデバイス14に対して送信するトランスミッタ20とを含むことができる。ビデオエンコーダ18は、例えば、様々なハードウェア、ソフトウェアまたはファームウェア、あるいはここで説明されるようにビデオ符号化技法を制御するプログラマブルなソフトウェアモジュールを実行する1つまたは複数のデジタル信号処理プロセッサ(DSP)、を含むことができる。関連するメモリおよびロジック回路は、ビデオ符号化技法を制御する際にDSPをサポートするために設けられることができる。
ソースデバイス12はまた、ビデオシーケンスを取り込み(capture)、その取り込まれたシーケンスをメモリ16に記憶するために、ビデオカメラのような、ビデオキャプチャデバイス(video capture device)23を含むこともできる。特にビデオキャプチャデバイス23は、電荷結合デバイス(charge coupled device)(CCD)、電荷注入デバイス(charge injection device)、光ダイオードアレイ、相補型金属酸化膜半導体(complementary metal oxide semiconductor)(CMOS)デバイス、あるいは、ビデオ画像またはデジタルビデオシーケンスを取り込むことができる任意の他の光感受性デバイス(photosensitive device)を含むことができる。
さらなる例として、ビデオキャプチャデバイス23は、例えばテレビジョン、ビデオカセットレコーダ、カムコーダ、または別のビデオデバイスからの、アナログビデオデータをデジタルビデオデータに変換するビデオコンバータを備えることができる。一部の実施形態においては、ソースデバイス12は、通信リンク15上でリアルタイムのビデオシーケンスを送信するように構成されることができる。その場合には、受信デバイス14は、リアルタイムビデオシーケンスを受信し、そのビデオシーケンスをユーザに対して表示することができる。あるいは、ソースデバイス12は、ビデオデータフィルとして、すなわちリアルタイムでなく、受信デバイス14に送信されるビデオシーケンスを取り込み、符号化することもできる。したがって、ソースデバイス12および受信デバイス14は、ビデオ遠隔通信、ビデオクリッププレイバック(video clip playback)、ビデオメール、ビデオ会議などのアプリケーションを、例えばモバイル無線ネットワーク中でサポートすることができる。デバイス12および14は、図1に詳細には示されていない他の様々な要素を含むことができる。
受信デバイス14は、ビデオデータを受信し復号化することができる任意のデジタルビデオデバイスの形態を取ることができる。例えば、受信デバイス14は、トランスミッタ20から、例えば中間のリンク、ルータ、他のネットワーク装置などを経由して、符号化されたデジタルビデオシーケンスを受信するレシーバ22を含むことができる。受信デバイス14はまた、シーケンスを複合するためのビデオデコーダ24と、シーケンスをユーザに対して表示するディスプレイデバイス26とを含むこともできる。しかしながら、一部の実施形態においては、受信デバイス14は、一体化されたディスプレイデバイス14を含んでいないこともある。そのような場合には、受信デバイス14は、個別ディスプレイデバイス、例えばテレビジョンまたはモニタ、を駆動するために、受信されたビデオデータを復号化するレシーバとしての役割を果たすこともできる。
ソースデバイス12および受信デバイス14についてのデバイス例は、コンピュータネットワーク上に配置されるサーバと、ワークステーションまたは他のデスクトップコンピューティングデバイスと、ラップトップコンピュータや携帯型個人情報端末(PDA)などのモバイルコンピューティングデバイスとを含んでいる。他の例は、デジタルテレビジョンブロードキャスティングサテライトと、例えばデジタルテレビジョン、デジタルカメラ、デジタルビデオカメラ、あるいは他のデジタル記録デバイスなどの、受信するデバイスと、例えばビデオ機能を有するモバイル電話などの、デジタルビデオ電話と、ビデオ機能を伴う直接双方向通信デバイスと、他の無線ビデオデバイスおよび同様なものとを含んでいる。
一部の場合においては、ソースデバイス12と受信デバイス14はおのおの、デジタルビデオデータを符号化し復号化するためのエンコーダ/デコーダ(CODEC)を含んでいる。特にソースデバイス12と受信デバイス14の両方は、トランスミッタおよびレシーバ、ならびにメモリおよびディスプレイを含むことができる。以下で概説される符号化技法の多くは、エンコーダを含むデジタルビデオデバイスとの関連で説明される。しかし、エンコーダは、CODECの一部分を形成することができることが理解される。その場合には、CODECは、ハードウェア、ソフトウェア、ファームウェア、DSP、マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit)(ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array)(FPGA)、個別ハードウェアコンポーネント、またはそれらの様々な組合せの内部で実施されることができる。
ソースデバイス12内のビデオエンコーダ18は、ビデオデータを符号化するためにビデオフレームのシーケンス内のピクセルのブロックに作用する。例えば、ビデオエンコーダ18は、送信されるべきビデオフレームが、(ビデオブロックと称される)ピクセルのブロックに分割される動き推定技法および動き補償技法を実行することができる。ビデオブロックは、例示の目的のために、任意のブロックサイズを備えることができ、与えられたビデオシーケンス内で変化することができる。一例として、ITU H.264規格は、16×16のビデオブロックと、16×8のビデオブロックと、8×16のビデオブロックと、8×8のビデオブロックと、8×4のビデオブロックと、4×8のビデオブロックと、4×4のビデオブロックをサポートする。ビデオ符号化におけるより小さなビデオブロックの使用は、符号化においてより良好な分解能をもたらすことができ、より高い詳細レベルを含むビデオフレームのロケーションについて特に使用されることができる。さらに、ビデオエンコーダ18は、4×4のビデオブロックに作用し、必要に応じて4×4のビデオブロックからより大きなビデオブロックを再構築するように設計されることができる。MPEG−4などの規格では、ビデオブロックは、時として「マクロブロック」と称される16×16のビデオブロックを備えることができる。
ビデオブロック中の各ピクセルは、色度(chromaticity)および明度(luminosity)の値でカラー(color)や強度(intensity)など、ピクセルの視覚特性を定義する様々なnビットの値、例えば8ビットの値によって表現されることができる。各ピクセルは、色度と明度の両方について1つまたは複数の8ビットの値を有することができる。しかしながら、本開示の技法は、ピクセルのフォーマットによっては制限されず、より簡単なより少ないビットのピクセルフォーマット、またはより複雑なより大きなビットのピクセルフォーマットを用いて拡張されてもよい。ピクセルはまた、他のカラー座標系(color coordinate systems)に従って定義されてもよい。さらに、ビデオブロックは、ピクセル値によって表現されるビデオブロックのDCTに従って、離散コサイン変換(discrete cosine transform)(DCT)係数によって、表現されてもよい。代わりに、ビデオブロックは、ピクセル値のウェーブレット変換(wavelet transform)に従って、非ゼロのウェーブレット値(non-zero wavelet values)によって表現されてもよい。要するに、ここで説明されるレート制御技法は、多種多様の符号化規格と、ピクセルフォーマットと、ビデオブロックのサイズおよび形状に適用されることができる。選択された量子化パラメータ(QP)は、与えられたビデオフレームの符号化において生成されることになる非ゼロの係数(non-zero coefficients)の数を定義し制限する。
レート制御技法は、ビデオ符号化プロセス中に実行されることができ、そのような符号化中に適合されあるいは調整されることができる。ビデオフレームを符号化するために、ビデオフレーム中のビデオブロックごとに、ソースデバイス12のビデオエンコーダ18は、予測ビデオブロックと称される同様なビデオブロックを識別するためにすでに伝送された1つまたは複数の先行するビデオフレーム(または後続のビデオフレーム)についてのメモリ16に記憶されるビデオブロックを検索することによって動き推定(motion estimation)を実行することができる。一部の場合には、予測ビデオブロックは、先行するビデオフレームまたは後続のビデオフレームからの「最良の予測(best prediction)」を備えることができるが、本開示は、その点だけに限定されない。ビデオエンコーダ18は、符号化されるべき現在のビデオブロックと最良の予測との間の差を示す差ブロックを作成するために動き補償(motion compensation)を実行する。動き補償は、通常、動きベクトルを使用して最良の予測ビデオブロックをフェッチし(fetching)、次いで差ブロックを生成するために入力ブロックから最良の予測を差し引く(subtracting)という動作を指す。本レート制御技法は、ビデオ符号化プロセス中における、符号化されたビデオブロックを量子化するために使用される量子化パラメータ(QP)を定義する。ここで説明されるように、本開示は、ビデオブロックレベルまたはフレームレベルにおけるレート制御された符号化のために使用されるQPを定義するパラメトリック方程式の使用を考える。
動き補償プロセスが差ブロックを作成した後に、一連の追加符号化ステップが、一般的に、差ブロックを符号化するために実行される。これらの追加符号化ステップは、使用されている符号化規格に依存することもある。例えばMPEG−4に準拠したエンコーダでは、追加符号化ステップは、スカラー量子化(scalar quantization)によって続けられ、ラスタからジグザグへの並べ替え(raster-to-zigzag reordering)によって続けられ、ランレングス符号化(run-length encoding)によって続けられ、ハフマン符号化(Huffman encoding)によって続けられる8×8の離散コサイン変換を含むことができる。しかし一部の場合には、ビデオブロックのウェーブレット変換または他の変換が、DCT変換の代わりに使用されてもよい。この値は、与えられたブロックまたはフレームを符号化するために必要とされるビット数に影響を及ぼすので、量子化後の非ゼロの係数の数は、最大の関心事である。
ひとたび符号化されると、符号化された差ブロックは、符号化のために使用された以前のフレーム(または後続のフレーム)からビデオブロックを識別する動きベクトルと一緒に送信されることができる。このようにして、独立なピクチャとして各フレームを符号化する代わりに、ビデオエンコーダ18は、隣接するフレームの間の差を符号化する。そのような技法は、ビデオシーケンスの各フレームを正確に表現するために必要とされるデータ量をかなり低減させることができる。
動きベクトルは、符号化されるビデオブロックの左上の隅に対するピクセルロケーションを定義することができるが、動きベクトルについての他のフォーマットが使用されることもできる。いずれにしても、動きベクトルを使用してビデオブロックを符号化することにより、ビデオデータのストリームの送信のために必要とされる帯域幅は、かなり低減させられることができる。
一部の場合には、ビデオエンコーダ18は、フレーム間符号化に加えて、フレーム内符号化をサポートすることができる。フレーム内符号化は、ビデオフレームをさらに圧縮するために、空間相関またはフレーム内相関と称される、フレーム内の類似性を利用している。フレーム内圧縮は一般的に、離散コサイン変換(DCT)符号化など、静止画像を圧縮するためのテクスチャ符号化に基づいている。フレーム内圧縮は、しばしばフレーム間圧縮と組み合わせて使用される。
受信デバイス14のレシーバ22は、動きベクトルと、符号化されているビデオブロックと動き推定において使用される最良の予測との間の符号化された差を示す符号化された差ブロックの形式の符号化されたビデオデータを受信することができる。しかしながら、一部の場合には、動きベクトルを送信するのでなく、動きベクトルと以前に計算された動きベクトルプレディクタ(motion vector predictor)(MVP)との間の差が送信される。いずれにしても、デコーダ24は、ディスプレイデバイス26を経由してユーザに表示するためのビデオシーケンスを生成するためにビデオ復号化を実行することができる。受信デバイス14のデコーダ24は、エンコーダ/デコーダ(CODEC)として実施されることもできる。その場合には、ソースデバイス12と受信デバイス14の両方が、デジタルビデオシーケンスを符号化し、送信し、受信し、復号化することが可能であり得る。
本開示に従って、ビデオエンコーダ18は、レート制御された符号化を遂行するために動的様式でビデオ符号化についての量子化パラメータ(QP)を選択する。QPは、ビデオブロックが符号化されるときに結果として生じることになるビット数を定義する。したがって、選択されたQPは、毎秒符号化されるビット数に直接に影響を及ぼす。QPが増大するにつれて、より少ないデータが保持され、ビデオ符号化の品質は、低下することもある。QPが減少するにつれて、より多くのデータが保持され、ビデオ符号化の品質は改善する。しかしながら、QPがあまりにも小さすぎる場合には、毎秒符号化されるビット数は、割り付けられた帯域幅を超過し、限られた量の帯域幅内でフレームを転送する機能を損なうかもしれない。動的様式でQPを選択することにより、ビデオフレームの伝送のためのビットレートは、実質的に一定にされることができる。
より詳細には、ビデオエンコーダ18は、ロー(ρ)の値をビデオ符号化において使用される量子化パラメータ(QP)にマッピングするために、パラメトリック方程式に基づいてQPを選択する。この場合にも、量(ρ)は、量子化後のビデオブロックの非ゼロの係数の数を表し、一般にビデオ符号化において使用されるビット数に比例する。したがって、ビデオエンコーダ18は、レート制御されたビデオ符号化を達成するために、ρとQPとの間の関係を利用する。ρは、ビットレートにほぼ線形に関係づけられるので、ρ−QPのパラメトリック方程式は、有効なレート制御されたビデオ符号化をもたらすQPを選択するために、使用されることができる。
パラメトリック方程式は、初期化されることができるが、パラメトリック方程式によって定義される予測されるρが、選択されたQPから生じる実際のρをよりよく近似するように、次いでビデオ符号化中に調整されることができる。パラメトリック方程式に対するそのような調整は、各ビデオブロックと共に、または各フレームと共に行われる(occur)ことができる。好ましい一実施においては、ビデオブロックレベルレート制御が適用されるが、パラメトリック方程式中の変数は、フレームレベルで調整される。
図2は、ソースデバイス12に対応し得るデバイス30、の例示のブロック図である。一般に、デバイス30は、ここで説明されるレート制御された符号化技法を実行することができるデジタルビデオデバイスを備える。デバイス30は、ビデオ符号化規格、例えば、MPEG−4、ITU H.263、ITU H.264、あるいは、ここで説明されるレート制御技法から恩恵を受けることができる別のビデオ符号化規格など、に準拠することができる。
図2に示されるように、デバイス30は、ビデオシーケンスを符号化するビデオ符号化装置32と、符号化の前および後にそれらのビデオシーケンスを記憶するビデオメモリ34とを含む。デバイス30はまた、符号化されたシーケンスを別のデバイスに送信するトランスミッタ36と、もしかするとビデオシーケンスを取り込み、それらの取り込まれたシーケンスをメモリ34に記憶する、ビデオカメラなどのビデオキャプチャデバイス38を含むこともできる。デバイス30の様々な要素は、通信バス35を経由して通信可能に(communicatively)結合されることができる。様々な他の要素、例えば、フレーム内エンコーダ要素、様々なフィルタ、あるいは他の要素などが、デバイス30中に含められることもできるが、簡単にするために具体的には示されていない。
ビデオメモリ34は、一般的に、比較的大容量のメモリ空間を備える。例えばビデオメモリ34は、ダイナミックランダムアクセスメモリ(dynamic random access memory)(DRAM)、またはフラッシュメモリ(FLASH memory)を備えることができる。他の例においては、ビデオメモリ34は、不揮発性メモリまたは他の任意のデータストレージデバイス(data storage device)を備えることができる。
ビデオ符号化装置32は、ハードウェア、ソフトウェア、ファームウェア、および/またはプロセッサもしくはデジタル信号処理プロセッサ(DSP)を含む、モバイル無線電話用チップセットを備えることができる。ビデオ符号化装置32は、一般にローカルメモリ37に結合されたビデオエンコーダ28を含んでいる。ローカルメモリ37は、ビデオメモリ34に対してより小さな、より高速のメモリ空間を備えることができる。一例として、ローカルメモリ37は、シンクロナスランダムアクセスメモリ(synchronous random access memory)(SRAM)を備えることができる。ローカルメモリ37は、
プロセッサ集約型符号化プロセス中(during the processor-intensive encoding process)にデータへの非常に高速なアクセスを提供するために、ビデオ符号化装置32の他のコンポーネントと共に集積化された「オンチップ(on-chip)」メモリを備えることができる。与えられたビデオフレームの符号化中に、符号化されるべき現在のビデオブロックは、ビデオメモリ34からローカルメモリ37へとロードされてもよい。最良の予測を見出す際に使用される検索空間(search space)もまた、ビデオメモリ34からローカルメモリ37にロードされることもできる。しかしながら、異なるメモリは、ここで説明される技法の実行には、必要ではない。換言すれば、ビデオエンコーダ28は、ビデオブロックおよび検索空間を取得するためにオンチップまたはオフチップのメモリにアクセスすることができるであろう。
検索空間は、1つまたは複数の先行するビデオフレーム(または後続のフレーム)のピクセルのサブセットを備えることができる。選択されたサブセットは、符号化されるべき現在のビデオブロックに密接にマッチングする(closely matches)最良の予測の識別のために、可能性のあるロケーションとして、あらかじめ識別されることができる。さらに、検索空間は、異なる検索ステージが使用される場合に、動き推定のコース上で変化してもよい。その場合には、検索空間は、検索空間のサイズの観点で次第により小さくなることができ、これらのその後の検索は、以前の検索よりも高い分解能で実施される。
ローカルメモリ37には、符号化されるべき現在のビデオブロックと、フレーム間符号化において使用される1つまたは複数のビデオフレームの一部または全部を備える検索空間とがロードされる。動き推定器40(motion estimator)は、最良の予測を識別するために、現在のビデオブロックを検索空間中の様々なビデオブロックと比較する。しかしながら、一部の場合においては、符号化についての十分なマッチ(adequate match)は、あらゆる可能性のある候補を詳細にチェックせずに、より迅速に識別されることができる。その場合には、十分なマッチは、効果的なビデオ符号化について十分である(adequate)にもかかわらず、実際には「最良の」予測ではないこともある。一般に、フレーズ「予測ビデオブロック(prediction video block)」は、十分なマッチ(an adequate match)を指し、それは最良の予測(the best prediction)であり得る。
動き推定器40は、符号化されるべき現在のビデオブロックと、メモリ37の検索空間中の候補ビデオブロックとの間の比較を実行する。一部の場合においては、候補ビデオブロックは、分数補間(fractional interpolation)のために生成される非整数(non-integer)のピクセル値を含むことができる。一例として、動き推定器40は、候補ビデオブロックについての差の値を定義するために差の絶対値和(sum of absolute difference)(SAD)技法、差の二乗和(sum of squared difference)(SSD)技法、または他の比較技法を実行することができる。より低い差の値は一般に、候補ビデオブロックがより良好なマッチ(better match)であり、したがってより大きな差の値を与える他の候補ビデオブロックよりも、動き推定符号化において使用するためのよりよい候補(better candidate)であることを示す。
最終的に、動き推定器は、「最良の予測」を識別する、これは、符号化されるべきビデオブロックに最も密接にマッチングする候補ビデオブロックである。しかしながら、多くの場合において、十分なマッチが、最良の予測の前に見出されることがあり得て、そして、これらの場合には、十分なマッチが符号化のために使用されることができる、ということが理解される。この場合にも、予測ビデオブロックは、十分なマッチを指しており、これは、最良の予測であり得る。
ひとたび最良の予測が、ビデオブロックについて、動き推定器40によって識別されると、動き補償器(motion compensator)42は、現在のビデオブロックと最良の予測との間の差を示す差ブロックを作成する。差ブロックエンコーダ44は、差ブロックを圧縮するために差ブロックをさらに符号化することができる、そして、符号化された差ブロックは、検索空間からのどの候補ビデオブロックが符号化のために使用されたかを識別するために、動きベクトル(または動きベクトルと動きベクトルプレディクタとの間の差)に沿って、別のデバイスへの伝送のために転送されることができる。サポートされている特定の規格に応じて特定のコンポーネントが変るだろうから、簡単にするために、動き補償後に符号化を実行するために使用される更なるコンポーネントは、差ブロックエンコーダ44として一般化される。換言すれば、差ブロックエンコーダ44は、ここで説明されるように生成される差ブロック上で、1つまたは複数の従来の符号化技法を実行することができる。
符号化プロセス中に、レート制御は、与えられたシーケンスを符号化するために使用されるビット数が、トランスミッタ36に関連する通信チャネルの帯域幅制限を超過しないことを保証することができる。そのようなレート制御を実行するために、ビデオエンコーダ28は、レート制御ユニット46を含んでいる。レート制御ユニット46は、フレーム当たりに符号化されるビット数と、量子化後のビデオブロックの非ゼロの係数の数との間の関係を利用する。量子化後のビデオブロックの非ゼロの係数の数を表すρの値は、一般にフレーム当たりに符号化されるビット数(およびしたがって一定のフレームレートで毎秒符号化されるビット数)に比例している。したがって、レート制御ユニット46は、レート制御されたビデオ符号化を達成するためにρとQPとの間の関係を利用する。
より詳細には、レート制御ユニット46は、ρの値を異なるQPにマッピングするパラメトリック方程式を適用する。次いでQPは、ビデオ符号化についての望ましいレートに対応するρの値について選択されることができる。符号化プロセス中に、パラメトリック方程式は、ρとQPとの間の実際の関係をよりよく反映するようにアップデートされることができる。換言すれば、パラメトリック方程式は、初期化されるが、次いでビデオ符号化中に調整されることができ、そのためにパラメトリック方程式によって定義される予測されるρは、選択されたQPから結果として生じる実際のρをよりよく近似するようになる。パラメトリック方程式に対するそのような調整は、各ビデオブロックと共に、または各フレームと共に行うことができる。好ましい一実施形態においては、ビデオブロックレベルレート制御が適用されるが、パラメトリック方程式中の変数は、フレームレベルで調整される。
予測されるρを定義する、レート制御ユニット46によって使用されるパラメトリック方程式は、
ρ=nc×e−f(qp)
の形式を取ることができ、式中でeは、オイラーの数(Euler's number)(定数2.71828182845904523536028747135)と一般に称される数学的定数を表し、ρは、量子化後のフレームのビデオブロックの非ゼロの係数の予測された数を表し、ncは、考慮中のユニットにおける係数の数(例えば、フレームまたはビデオブロック中の係数の数)を表し、f(qp)は、量子化パラメータのパラメトリック関数である。一例として、f(qp)は、簡単な多項式関数または指数関数を備えることができる。一部の場合においては、eの値は、2の値など、異なる定数で置き換えられてもよい。
この場合にも、f(qp)の有用な例は、次のもの、すなわち
f(qp)=α×qp、
f(qp)=α×qp+β、
f(qp)=α×qp+β×qp+δ、
あるいは指数関数、すなわち
f(qp)=α×qpβ
を含んでいる。これらの例において、qpは、(ここでもまたQPと称される)量子化パラメータを表す。変数α、β、およびδは、ρとqpとの間の関係をよりよく近似する、レート制御技法中に調整されることができるプログラマブルなパラメータを備える。特に、符号化プロセス中に、プログラマブルなパラメータは、予測されるρが、異なるQPについて実際のρに実質的に対応するように調整される。
別の例においては、レート制御ユニット46によって使用されるパラメトリック方程式は、実質的に、
ρ=nc×2−α×qp−β
に対応することができ、式中でρは、予測されるρを定義し、ncは、考慮中のユニットにおける係数の数を表し、予測されるρの最大値を定義し、αおよびβは、調整可能なパラメータを備える。このパラメトリック方程式は、MPEG−4およびH.263のレート制御については特に有用とすることができる。この場合には、式ρ=nc×e−f(qp)中のオイラーの数(e)は、曲線の精度に何らの厳しいペナルティを招くこともなく、実施をより効率的にするために定数2で置き換えられる。
また、MPEG−4およびH.263のレート制御では、f(qp)=α×qp+βが、それがその曲線の精度とその方程式を実施する複雑さの間の折衷案(compromise)を表すので、f(qp)についての他の候補以上に使用されることができる。指数方程式、二次多項式、一次多項式などのパラメトリック方程式ファミリの他のメンバの精度は、様々なシミュレーションにおいて比較された。指数曲線は、最も正確であることが見出されてきているが、指数曲線はまた、他の式に比べて最高次数の複雑さを有することも見出されてきている。精度の観点における一次のパラメトリック方程式f(qp)=α×qp+βと二次の方程式との間の差は、無視することができる。しかし、二次の方程式は、3つの未知数を有し、実施するためにより複雑であるが、一次の方程式は、2つの未知数だけを有し、複雑さも少ない。
一部の実施形態においては、ρ−QPの表がビデオエンコーダによってすでに生成されている場合、ρ−QPの表は、本開示の技法によって利用されることができる。例えば、レート制御ユニット48が、2つの未知数、αおよびβについて解く必要がある場合、(そのような表がすでに使用可能である場合には)レート制御ユニットは、ρ−QPの表を2つのポイントにおいてサンプルすることができる。第1のポイントは、QPを備えてもよく、第2のポイントは、ほぼ2×QPであってもよい。レート制御技法のこの変形についての例外は、例えばMPEG−4およびH.263についてはQP>25である場合であることもあり、この場合には、1つのポイントだけがサンプルされ、βはゼロに設定されることができる。レート制御ユニット48は、第2のサンプルにおけるテーブル値または両方のサンプルにおけるテーブル値がゼロであるときなど他の例外的な場合を取り扱うこともできる。2つの未知数、αおよびβのアップデートは、フレームごとに一度実行されることができるが、アップデートは、様々な実施形態においては、より頻度が多く、または少なく行われることもできる。
しかしながら、ρ−QPの表は、ここで説明されるレート制御技法を実施するために必要とはされない。例えば、従来ρ−QPの表を使用したレガシーエンコーダにおいて使用可能な場合、そのρ−QPの表は、パラメトリック方程式の調整可能なパラメータの選択を加速するために依然として利用されることができる。しかし、調整可能な諸パラメータは、そのような表なしで簡単に決定されることができる。
実際、従来のレート制御技法とここで説明されるパラメトリックレート制御技法との間の主要な1つの違いは、qpの最良値についてρ−QPのルックアップテーブル(lookup table)(LUT)を生成し検索する代わりに、量子化パラメータqpの値は、
qp=(−log2(ρ/nc)−β)/α
のような、パラメトリック方程式を使用して計算されることができることであり、式中でρは、予測されるρを定義し、ncは、考慮中のユニットにおける係数の数(例えば、フレーム中の係数の数)を表し、予測されるρの最大値を定義し、αおよびβは、調整可能なパラメータを備える。この場合にも、符号化プロセス中に、プログラマブルなパラメータは、予測されるρが、異なるQPについての実際のρに実質的に対応するように調整される。ρ−QPの表がすでに使用可能な場合、これは、プログラマブルなパラメータを調整するために使用されることができるが、ρ−QPの表が使用可能でない場合には、プログラマブルなパラメータは、個々のQPからもたらされる実際のρを定義する個々のサンプルポイントに基づいて選択されることができる。
f(qp)について指数関数を使用することの背後にある直感(intuition)は、一般化されたガウス分布の2分の一に対するρ−QPの曲線の類似性に基づいており、一方、一次および二次の多項式関数を使用することの背後にある直感は、それぞれラプラス分布またはガウス分布に類似した曲線を使用することに対応する。
図3は、ρの予測される値を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用した、フレームレベルレート制御(frame-level rate control)についての技法を示す流れ図である。図3に示されるように、ビデオエンコーダ28のレート制御ユニット46は、パラメトリック方程式を使用してフレームについてのQPを決定する(301)。最初に、パラメトリック方程式は、パラメトリック方程式がρの予測される値をQPにマッピングするように、初期化された値を用いてプログラムされることができる。次いでレート制御ユニット46は、ビデオブロックを符号化する(302)。フレームが、符号化されるべきもっと多くのビデオブロックを含む場合(303のnoブランチ)、次いでレート制御ユニット46は、そのフレームについての量子化パラメータを使用して他のビデオブロックを符号化する(302)。
ひとたびフレームの終端に到達されると(303のyesブランチ)、次のフレームが、符号化するためにローカルメモリ37にロードされる(304)。このポイントにおいて、レート制御ユニット46は、パラメトリック方程式をアップデートする(305)。特に、レート制御ユニット46は、以前のフレームのビデオブロックについての選択されたQPからもたらされたρの実際の値を決定することができ、これは、パラメトリック方程式によって選択されたQPにマッピングされた予測されるρとはわずかに異なることもある。このようにして、後続のフレームは、より正確なパラメトリック方程式を使用して符号化されることになる。
パラメトリック方程式をアップデートした(305)後に、プロセスは、後続の任意のフレームについて反復する(306のyesブランチ)。この場合には、QPは、アップデートされたパラメトリック方程式を使用して次のフレームについて決定される(301)。このプロセスは、シーケンスのフレームレベルのレート制御されたビデオ符号化を遂行するためにビデオシーケンスのすべてのフレームについて反復することができる。また必要に応じて、そのプロセスは、初期化された方程式を使用してビデオブロックを実際に符号化することなく、パラメトリック方程式をより正確に定義するために、例えばプロセスが開始するときに、与えられたビデオフレームについて複数の(multiple)パスを行うこともできる。しかしながら、ほとんどの場合には、パラメトリック方程式は、数フレームの後に速やかに収束することになり、そのためにフレーム当たりの複数の符号化パスは必要とされないようになる。
図4は、ρの予測される値を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用した、ビデオブロックレベルレート制御(video block-level rate control)についての技法を示す流れ図である。図4に示されるように、ビデオエンコーダ28のレート制御ユニット46は、パラメトリック方程式を使用してビデオブロックについてのQPを決定する(401)。最初に、パラメトリック方程式は、パラメトリック方程式がρの予測される値をQPにマッピングするように、初期化された値を用いてプログラムされることができる。次いでレート制御ユニット46は、ビデオブロックを符号化し(402)、パラメトリック方程式をアップデートする(403)。特に、レート制御ユニット46は、フレームの1つまたは複数の以前のビデオブロックについての選択されたQPからもたらされたρの実際の値を決定することができ、これは、パラメトリック方程式によって選択されたQPにマッピングされた予測されるρとはわずかに異なることもある。このようにして、後続のビデオブロックは、より正確なパラメトリック方程式を使用して符号化されることになる。
フレームが、符号化されるべきもっと多くのビデオブロックを含む場合(403のnoブランチ)、次いでレート制御ユニット46は、アップデートされたパラメトリック方程式によって決定される量子化パラメータを使用して他のビデオブロックを符号化する(402)。このプロセスは、シーケンスのビデオブロックレベルのレート制御されたビデオ符号化を遂行するためにフレームのすべてのビデオブロックについて反復することができる。図3のプロセスのように、図4のプロセスは、この場合には、与えられたビデオブロックについて、例えばプロセスが開始するときに、初期化された方程式を使用してビデオブロックを実際に符号化することなく、パラメトリック方程式をより正確に定義するために複数の符号化パスを行うように調整されることができるであろう。しかしながら、ほとんどの場合には、パラメトリック方程式は、数ビデオブロックの後に速やかに収束することになり、そのためにビデオブロック当たりの複数のパスは必要とされないようになる。
ひとたびフレームの終端に到達されると(404のyesブランチ)、次のフレームが、符号化のために、ローカルメモリ37にロードされる(405)。このポイントにおいて、レート制御ユニット46は、後続の任意のフレームについてそのプロセスを反復する(406のyesブランチ)。次のフレームでは、QPは、最後にアップデートされたパラメトリック方程式を使用して決定される(401)。
図5は、フレームレベルで調整されるパラメトリック方程式を使用した、ビデオブロックレベルレート制御についての技法を示す流れ図である。例および説明のために、図5は、パラメトリック方程式ρ=nc×e−f(qp)を用いてプログラムされるレート制御ユニット46との関連で説明されることになり、式中でeは、オイラーの数を表し、ρは、量子化後のフレームのビデオブロックの非ゼロの係数の予測される数を表し、ncは、ビデオブロック中の係数の数を表し、f(qp)は、f(qp)=α×qp+βによって与えられる量子化パラメータのパラメトリック関数であり、式中でqpは、量子化パラメータであり、αおよびβは、パラメトリック方程式の調整可能なパラメータを定義する。もちろん、多くの他のパラメトリック方程式、例えば、上記で定義される方程式のうちの1つ、あるいは、異なるパラメトリック方程式など、が代わりに使用されることが出来るだろう。
図5に示されるように、レート制御が初期化される(501)。この初期化は、αおよびβの最初の値を定義し、デバイス30の製造およびテスト中にシミュレーションによって決定されるαおよびβの平均値に基づいたものとすることができる。レート制御された符号化プロセスを開始するために、フレームが、ビデオメモリ34からローカルメモリ37にロードされる(502)。レート制御ユニットは、パラメトリック方程式を使用してビデオブロックの符号化についてのQPを決定する(503)。次いでレート制御ユニット46は、決定されたQPを使用してビデオブロックを符号化する(504)。フレームが、符号化されるべきもっと多くのビデオブロックを含む場合(505のnoブランチ)、次いでレート制御ユニット46は、パラメトリック方程式を使用してビデオブロックごとにそれぞれのQPを決定し(503)、それぞれのQPを使用してビデオブロックを符号化する。この意味で、QPは、ビデオブロックレベルで決定されるが、QPを定義するパラメトリック方程式は、与えられたフレームについては変化しない。
ひとたびフレームの終端に到達されると(505のyesブランチ)、レート制御ユニットは、パラメトリック方程式の調整可能なパラメータ(αおよびβ)をアップデートする(506)。特に、レート制御ユニット46は、以前のフレームのビデオブロックについての選択されたQPからもたらされたρの実際の値を決定することができ、これは、パラメトリック方程式により、選択されたQPにマッピングされた予測されるρとはわずかに異なることもある。レート制御ユニット46は、ρの実際の値がパラメトリック方程式によってQPの値にもっと正確にマッピングされるようにαおよびβの新しい値を選択することができる。このようにして、後続のフレームは、ρとQPとの間の実際の関係をよりよく反映するもっと正確なパラメトリック方程式を使用して符号化されることになる。
パラメトリック方程式のパラメータをアップデートした(506)後に、プロセスは、ビデオシーケンスの後続の任意のフレームについて反復する(507のyesブランチ)。この場合には、次のフレームは、ローカルメモリ37へとロードされ(502)、レート制御ユニット46は、パラメトリック方程式を使用してビデオブロックごとにそれぞれのQPを決定し(503)、それぞれのQPを使用してビデオブロックを符号化する(504)。
このプロセスは、シーケンスのビデオブロックレベルのレート制御されたビデオ符号化を遂行するためにフレームごとにパラメトリック方程式を調整してビデオシーケンスのすべてのフレームについて反復することができる。また、プロセスは、例えばプロセスが開始するときに初期化された方程式を使用してビデオブロックを実際に符号化することなく、シーケンスのうちの最初の数フレームについてのパラメトリック方程式をよりよく定義するために、与えられたビデオフレームについて複数のパスを行うこともできる。これは、追加の計算を犠牲にして、レート制御の精度を改善することができる。しかし、ほとんどの場合には、少数のフレームが符号化された後に、パラメトリック方程式は、ρ−QPの関係の正確な表現へと速やかに収束することになる。したがって、フレーム当たりの複数のパスについての必要性は、一般的に回避されることができる。
様々な実施形態が説明されてきた。特に、量子化パラメータQPと非ゼロの係数の数ρとの間のマッピングを表現するパラメトリック方程式を使用した、様々なレート制御技法が提案されている。この関係を正確に表わすことができる、いくつかの有用なパラメトリック方程式の非網羅的なリストが、確認された(have been identified)。それらの技法は、符号化されたビデオブロックを定義する量子化されたDCT係数の数を制限するように動作することができるが、ウェーブレット変換された係数など、他のタイプの係数が、代わりに使用されてもよい。さらに、ここで説明される技法は、P−フレーム(予想されるフレーム)に関してのみ適用されてもよく、あるいはもしかするとI−フレーム(フレーム内)とP−フレームの両方に関して適用されてもよい。例えば、H.263、MPEG−4、H.264など、多数の符号化規格は、そのようなI−フレームおよびP−フレームを使用する。そのような場合には、ここで説明される技法は、P−フレームに関してのみ、あるいはもしかするとI−フレームとP−フレームの両方に関して適用されることができる。
ここで説明されるパラメトリックレート制御は、フレームレベルレート制御、またはビデオブロックレベルレート制御を提供する柔軟性を有する。好ましい一実施形態においては、ビデオブロックレベルレート制御は、パラメトリック方程式に対するフレームレベルのアップデートと共に使用される。さらに、ビデオブロックレベルレート制御技法は、2つ(またはそれより多くの)QPオフセットが設定されることができるという意味で、コンフィギュレーション可能(configurable)であり得て、これが、許容されることができる変動量(amount of variance)を次々に決定する。一般的に、オフセットのより高い値は、より低いビデオ品質で、より低いレベルの変動を保証する。シミュレーションは、ここで説明されるレート制御技法を用いて、ほとんど同じレベルのビデオ品質を保持しながら、変動がかなり低減されることができることを示している。さらに、ビデオブロックごとにqpを計算するパラメトリック方程式を使用することは、ρ−QPの表を生成することおよび/または検索することよりも、もっと正確でかつ計算的に効率のよいものであり得る。
ここで説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施されることができる。ソフトウェアで実施される場合、その技法は、ビデオシーケンスを符号化するデバイス中で実行されるときに、上述の1つまたは複数の方法を実行するプログラムコードを備えるコンピュータ読取り可能媒体、を対象とすることができる。その場合には、コンピュータ読取り可能媒体は、シンクロナスダイナミックランダムアクセスメモリ(synchronous dynamic random access memory)(SDRAM)のようなランダムアクセスメモリ(RAM)、リードオンリメモリ(read-only memory)(ROM)、不揮発性ランダムアクセスメモリ(non-volatile random access memory)(NVRAM)、電気的消去可能プログラマブルリードオンリメモリ(electrically erasable programmable read-only memory)(EEPROM)、FLASHメモリ、および同様なもの、を備えることができる。
プログラムコードは、コンピュータ読取り可能インストラクション(computer readable instructions)の形態でメモリに記憶されることができる。その場合には、DSPなどのプロセッサは、ここで説明される1つまたは複数の技法を実行するためにメモリに記憶されるインストラクションを実行することができる。一部の場合には、それらの技法は、符号化プロセスを加速する様々なハードウェアコンポーネントを呼び出すDSPによって実行されることができる。他の場合には、ビデオエンコーダは、マイクロプロセッサ、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、あるいは他の何らかのハードウェア−ソフトウェアの組合せとして実施されることができる。これらおよび他の実施形態は、添付の特許請求の範囲の範囲内にある。
ソースデジタルビデオデバイスが、ビデオデータの符号化されたシーケンスを受信デジタルビデオデバイスに送信する例示のシステムを示すブロック図である。 本開示の一実施形態によるデジタルビデオデバイスの例示のブロック図である。 ρの予測された値を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用した、フレームレベルレート制御についての技法を示す流れ図である。 ρの予測された値を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用した、ビデオブロックレベルレート制御についての技法を示す流れ図である。 フレームレベルで調整されるパラメトリック方程式を使用した、ビデオブロックレベルレート制御についての技法を示す流れ図である。

Claims (33)

  1. ビデオシーケンスを記憶するメモリと、
    量子化後の非ゼロの係数の予測される数(予測されるρ)を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用して、前記ビデオシーケンスのレート制御されたビデオ符号化についての量子化パラメータ(QP)を選択するエンコーダと
    を備える、ビデオ符号化デバイス。
  2. 前記エンコーダは、前記ビデオシーケンスの異なるそれぞれのフレームについてのそれぞれのQPを選択し、前記異なるそれぞれのフレームについての前記それぞれのQPを使用して前記ビデオシーケンスのフレームレベルのレート制御されたビデオ符号化を実行する、請求項1に記載のビデオ符号化デバイス。
  3. 前記エンコーダは、前記ビデオシーケンスのビデオフレームの異なるそれぞれのビデオブロックについてのそれぞれのQPを選択し、前記異なるそれぞれのビデオブロックについての前記それぞれのQPを使用して前記ビデオシーケンスのビデオブロックレベルのレート制御されたビデオ符号化を実行する、請求項1に記載のビデオ符号化デバイス。
  4. 前記パラメトリック方程式は、1つまたは複数の調整可能なパラメータを含み、前記エンコーダは、1つまたは複数の選択されたQPからもたらされる、量子化後の非ゼロの係数の1つまたは複数の実際の数(実際のρ)を決定し、前記予測されるρが、前記実際のρによりよく対応するように前記パラメトリック方程式の前記調整可能なパラメータを調整する、請求項1に記載のビデオ符号化デバイス。
  5. 前記パラメトリック方程式は、実質的に
    ρ=nc×e−f(qp)
    に対応し、式中でeは、オイラーの数を表し、ρは、前記予測されるρを定義し、ncは、考慮中のユニットにおける係数の数を表し、前記予測されるρの最大値を定義し、f(qp)は、前記量子化パラメータ(QP)のパラメトリック関数である、請求項4に記載のビデオ符号化デバイス。
  6. f(qp)は、多項式関数および指数関数のうちの一方を備える、請求項5に記載のビデオ符号化デバイス。
  7. f(qp)は、実質的に
    f(qp)=α×qp
    に対応する一次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義する、請求項5に記載のビデオ符号化デバイス。
  8. f(qp)は、実質的に
    f(qp)=α×qp+β
    に対応する二次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義し、βは、二次の調整可能なパラメータを定義する、請求項5に記載のビデオ符号化デバイス。
  9. f(qp)は、実質的に
    f(qp)=α×qp+β×qp+δ
    に対応する二次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義し、βは、二次の調整可能なパラメータを定義し、δは、三次の調整可能なパラメータを定義する、請求項5に記載のビデオ符号化デバイス。
  10. f(qp)は、実質的に
    f(qp)=α×qpβ
    に対応する指数関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αおよびβは、前記調整可能なパラメータを定義する、請求項5に記載のビデオ符号化デバイス。
  11. 前記パラメトリック方程式は、実質的に
    ρ=nc×2−α×qp−β
    に対応し、式中でρは、前記予測されるρを定義し、ncは、考慮中のユニットにおける係数の数を表し、前記予測されるρの最大値を定義し、αおよびβは、前記調整可能なパラメータを備える、請求項4に記載のビデオ符号化デバイス。
  12. 量子化後の非ゼロの係数の予測される数(予測されるρ)を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用して量子化パラメータ(QP)を選択することと、
    前記選択されたQPを使用して1つまたは複数のビデオブロックを符号化することと
    を備える、レート制御されたビデオ符号化の方法。
  13. ビデオシーケンスのフレームレベルのレート制御されたビデオ符号化のための、前記ビデオシーケンスの異なるビデオフレームについて使用されるべき異なるQPを選択することをさらに備える、請求項12に記載の方法。
  14. ビデオシーケンスのビデオブロックレベルのレート制御されたビデオ符号化のための、ビデオフレームの異なるビデオブロックについて使用されるべき異なるQPを選択することをさらに備える、請求項12に記載の方法。
  15. 前記パラメトリック方程式は、1つまたは複数の調整可能なパラメータを含み、前記方法は、
    1つまたは複数の選択されたQPからもたらされる、量子化後の非ゼロの係数の1つまたは複数の実際の数(実際のρ)を決定することと、
    前記予測されるρが、前記実際のρによりよく対応するように、前記パラメトリック方程式の前記調整可能なパラメータを調整することと
    をさらに備える、請求項12に記載の方法。
  16. 前記パラメトリック方程式は、実質的に
    ρ=nc×e−f(qp)
    に対応し、式中でeは、オイラーの数を表し、ρは、前記予測されるρを定義し、ncは、考慮中のユニットにおける係数の数を表し、前記予測されるρの最大値を定義し、f(qp)は、前記量子化パラメータ(QP)のパラメトリック関数である、請求項15に記載の方法。
  17. f(qp)は、多項式関数および指数関数のうちの一方を備える、請求項16に記載の方法。
  18. f(qp)は、実質的に
    f(qp)=α×qp
    に対応する一次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義する、請求項16に記載の方法。
  19. f(qp)は、実質的に
    f(qp)=α×qp+β
    に対応する二次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義し、βは、二次の調整可能なパラメータを定義する、請求項16に記載の方法。
  20. f(qp)は、実質的に
    f(qp)=α×qp+β×qp+δ
    に対応する二次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義し、βは、二次の調整可能なパラメータを定義し、δは、三次の調整可能なパラメータを定義する、請求項16に記載の方法。
  21. f(qp)は、実質的に
    f(qp)=α×qpβ
    に対応する指数関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αおよびβは、前記調整可能なパラメータを定義する、請求項16に記載の方法。
  22. 前記パラメトリック方程式は、実質的に
    ρ=nc×2−α×qp−β
    に対応し、式中でρは、前記予測されるρを定義し、ncは、考慮中のユニットにおける係数の数を表し、前記予測されるρの最大値を定義し、αおよびβは、前記調整可能なパラメータを備える、請求項15に記載の方法。
  23. 実行されるときにプログラマブルなプロセッサに、
    量子化後の非ゼロの係数の予測される数(予測されるρ)を量子化パラメータ(QP)にマッピングするパラメトリック方程式を使用して量子化パラメータ(QP)を選択し、
    前記選択されたQPを使用して1つまたは複数のビデオブロックを符号化する
    ようにさせるプログラムコードを備える、コンピュータ読取り可能媒体。
  24. 前記プログラマブルなプロセッサに、ビデオシーケンスのフレームレベルのレート制御されたビデオ符号化のための、前記ビデオシーケンスの異なるビデオフレームについて使用されるべき異なるQPを選択するようにさせるインストラクションをさらに含む、請求項23に記載のコンピュータ読取り可能媒体。
  25. 前記プログラマブルなプロセッサに、ビデオシーケンスのビデオブロックレベルのレート制御されたビデオ符号化のための、ビデオフレームの異なるビデオブロックについて使用されるべき異なるQPを選択するようにさせるインストラクションをさらに含む、請求項23に記載のコンピュータ読取り可能媒体。
  26. 前記パラメトリック方程式は、1つまたは複数の調整可能なパラメータを含み、前記媒体は、前記プログラマブルなプロセッサに
    1つまたは複数の選択されたQPからもたらされる、量子化後の非ゼロの係数の1つまたは複数の実際の数(実際のρ)を決定し、
    前記予測されるρが、前記実際のρによりよく対応するように、前記パラメトリック方程式の前記調整可能なパラメータを調整する
    ようにさせるインストラクションをさらに含む、請求項23に記載のコンピュータ読取り可能媒体。
  27. 前記パラメトリック方程式は、実質的に
    ρ=nc×e−f(qp)
    に対応し、式中でeは、オイラーの数を表し、ρは、前記予測されるρを定義し、ncは、考慮中のユニットにおける係数の数を表し、前記予測されるρの最大値を定義し、f(qp)は、前記量子化パラメータ(QP)のパラメトリック関数である、請求項26に記載のコンピュータ読取り可能媒体。
  28. f(qp)は、多項式関数および指数関数のうちの一方を備える、請求項27に記載のコンピュータ読取り可能媒体。
  29. f(qp)は、実質的に
    f(qp)=α×qp
    に対応する一次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義する、請求項27に記載のコンピュータ読取り可能媒体。
  30. f(qp)は、実質的に
    f(qp)=α×qp+β
    に対応する二次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義し、βは、二次の調整可能なパラメータを定義する、請求項27に記載のコンピュータ読取り可能媒体。
  31. f(qp)は、実質的に
    f(qp)=α×qp+β×qp+δ
    に対応する二次の多項式関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αは、一次の調整可能なパラメータを定義し、βは、二次の調整可能なパラメータを定義し、δは、三次の調整可能なパラメータを定義する、請求項27に記載のコンピュータ読取り可能媒体。
  32. f(qp)は、実質的に
    f(qp)=α×qpβ
    に対応する指数関数を備え、式中でqpは、前記量子化パラメータ(QP)に対応し、αおよびβは、前記調整可能なパラメータを定義する、請求項27に記載のコンピュータ読取り可能媒体。
  33. 前記パラメトリック方程式は、実質的に
    ρ=nc×2−α×qp−β
    に対応し、式中でρは、前記予測されるρを定義し、ncは、考慮中のユニットにおける係数の数を表し、前記予測されるρの最大値を定義し、αおよびβは、前記調整可能なパラメータを備える、請求項26に記載のコンピュータ読取り可能媒体。
JP2007543465A 2004-11-29 2005-11-22 パラメトリック方程式を使用した、ビデオ符号化のためのレート制御技法 Pending JP2008522500A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63183504P 2004-11-29 2004-11-29
US11/077,697 US8340172B2 (en) 2004-11-29 2005-03-10 Rate control techniques for video encoding using parametric equations
PCT/US2005/042530 WO2006058113A1 (en) 2004-11-29 2005-11-22 Rate control techniques for video encoding using parametric equations

Publications (1)

Publication Number Publication Date
JP2008522500A true JP2008522500A (ja) 2008-06-26

Family

ID=35906608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007543465A Pending JP2008522500A (ja) 2004-11-29 2005-11-22 パラメトリック方程式を使用した、ビデオ符号化のためのレート制御技法

Country Status (6)

Country Link
US (1) US8340172B2 (ja)
EP (1) EP1817916A1 (ja)
JP (1) JP2008522500A (ja)
KR (1) KR100919074B1 (ja)
TW (1) TW200629908A (ja)
WO (1) WO2006058113A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017153137A (ja) * 2010-09-30 2017-08-31 サン パテント トラスト 復号方法、符号化方法、復号装置および符号化装置
USRE48726E1 (en) 2010-09-29 2021-09-07 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781433B2 (en) * 2005-01-26 2017-10-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems, methods, and apparatus for real-time video encoding
US8055783B2 (en) * 2005-08-22 2011-11-08 Utc Fire & Security Americas Corporation, Inc. Systems and methods for media stream processing
GB0522036D0 (en) * 2005-10-28 2005-12-07 Univ Hong Kong Science & Techn Effective rate control for video encoding and transcoding
US8250618B2 (en) 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
US8184715B1 (en) 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
TWI405467B (zh) * 2009-11-25 2013-08-11 Novatek Microelectronics Corp 影像壓縮的位元速率控制電路與方法
US20110255594A1 (en) * 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
US20120057633A1 (en) * 2010-09-02 2012-03-08 Fang Shi Video Classification Systems and Methods
JP5855570B2 (ja) 2010-09-30 2016-02-09 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
US9078154B2 (en) * 2011-02-25 2015-07-07 Panasonic Intellectual Property Management Co., Ltd. Transmission data processing method, information processing method, transmission device, and reception device
US9247266B2 (en) * 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
US9094689B2 (en) 2011-07-01 2015-07-28 Google Technology Holdings LLC Motion vector prediction design simplification
BR112014010539A2 (pt) 2011-11-04 2017-04-18 Motorola Mobility Llc escalonamento de vetor de movimento para rede de vetor de movimento não uniforme
KR20130050403A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US20130208795A1 (en) * 2012-02-09 2013-08-15 Google Inc. Encoding motion vectors for video compression
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
FR2996093A1 (fr) * 2012-09-27 2014-03-28 France Telecom Procede de codage et decodage d'images, dispositifs de codage et decodage et programmes d'ordinateur correspondants
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US10091504B2 (en) 2015-01-08 2018-10-02 Microsoft Technology Licensing, Llc Variations of rho-domain rate control
US10531134B2 (en) 2017-11-10 2020-01-07 Akamai Technologies, Inc. Determining a time budget for transcoding of video

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633609B1 (en) 1996-12-24 2003-10-14 Intel Corporation Method and apparatus for bit rate control in a digital video environment for arbitrary bandwidth
KR100341063B1 (ko) 2000-06-28 2002-06-20 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법
KR20030083916A (ko) 2002-04-23 2003-11-01 베르텐씨엔씨 주식회사 양자화계수를 결정하는 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6010037492, Zhihai He and Sanjit K. Mitra, ""A Linear Source Model and a Unified Rate Control Algorithm for DCT Video Coding"", IEEE Transactions on Circuits and Systems for Video Technology, 200211, Vol.12, No.11, p.970−982 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48726E1 (en) 2010-09-29 2021-09-07 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure
USRE49991E1 (en) 2010-09-29 2024-05-28 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure
JP2017153137A (ja) * 2010-09-30 2017-08-31 サン パテント トラスト 復号方法、符号化方法、復号装置および符号化装置
JP2019030023A (ja) * 2010-09-30 2019-02-21 サン パテント トラスト 復号方法、符号化方法、復号装置および符号化装置
JP2021132407A (ja) * 2010-09-30 2021-09-09 サン パテント トラスト 復号方法および復号装置
US11310500B2 (en) 2010-09-30 2022-04-19 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
JP2022097644A (ja) * 2010-09-30 2022-06-30 サン パテント トラスト 復号装置、符号化装置、および記録媒体
JP7113250B2 (ja) 2010-09-30 2022-08-05 サン パテント トラスト 復号方法および復号装置
JP7325573B2 (ja) 2010-09-30 2023-08-14 サン パテント トラスト 復号装置および符号化装置
US11729389B2 (en) 2010-09-30 2023-08-15 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit

Also Published As

Publication number Publication date
KR20070086710A (ko) 2007-08-27
US8340172B2 (en) 2012-12-25
TW200629908A (en) 2006-08-16
EP1817916A1 (en) 2007-08-15
US20060114989A1 (en) 2006-06-01
KR100919074B1 (ko) 2009-09-28
WO2006058113A1 (en) 2006-06-01

Similar Documents

Publication Publication Date Title
KR100919074B1 (ko) 매개 방정식을 이용한 비디오 인코딩을 위한 레이트 제어
KR101185146B1 (ko) 비디오 인코딩을 위한 효율적인 제어 기술들
EP1862011B1 (en) Adaptive frame skipping techniques for rate controlled video encoding
JP6862633B2 (ja) レート制御方法及びレート制御装置
AU2002324085C1 (en) Method for sub-pixel value interpolation
US10284849B2 (en) Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
EP1653744A1 (en) Non-integer pixel sharing for video encoding
CA2729287A1 (en) Video encoding by filter selection
EP1829381A2 (en) Motion estimation techniques for video encoding
US20100166075A1 (en) Method and apparatus for coding video image
CN111726628A (zh) 用于在显示流压缩(dsc)中固定点近似的系统和方法
KR20180122354A (ko) 디스플레이 스트림 압축에서의 양자화 파라미터들의 적응적 계산을 위한 장치 및 방법들
CN101112101A (zh) 使用参数方程式进行视频编码的速率控制技术
CN107409211A (zh) 一种视频编解码方法及装置
KR20040069445A (ko) 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법
KR20010104058A (ko) 동영상 부호화기의 부호화 모드에 따른 적응적 양자화기
WO2023172616A1 (en) Systems and methods for division-free probability regularization for arithmetic coding
Lonetti et al. Temporal video transcoding for multimedia services

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101005

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101013

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110222