JP2008541569A - マクロブロックレベルレート制御 - Google Patents
マクロブロックレベルレート制御 Download PDFInfo
- Publication number
- JP2008541569A JP2008541569A JP2008510198A JP2008510198A JP2008541569A JP 2008541569 A JP2008541569 A JP 2008541569A JP 2008510198 A JP2008510198 A JP 2008510198A JP 2008510198 A JP2008510198 A JP 2008510198A JP 2008541569 A JP2008541569 A JP 2008541569A
- Authority
- JP
- Japan
- Prior art keywords
- blocks
- information
- block
- bits
- video
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/198—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (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
【解決手段】本開示は、ビデオ処理に関連する。これら様々なビデオ処理技術は、ビデオのフレームのための情報のブロックを生成することと、ビットバジェットからブロックの各々へビットを割り当てることと、ブロックの各々に割り当てられるビットの数は、ブロックに含まれる情報の関数であることと、ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表すこととを含む。
【選択図】 図2
【選択図】 図2
Description
本開示は、一般に、電気通信に関し、特に、ビデオシステムに関する。
帯域幅が割増価格となる電気通信の世界において、ビデオ圧縮は、マルチメディアアプリケーションにおいて重要な役割を果たす。ビデオ圧縮は、ビデオシーケンスにおける2つの隣接フレーム間でほとんど相違がないという事実を活用することによって、イメージを再構築するために要求される情報を劇的に減少するために使用される。これは、現在のフレームをマクロブロックに分割し、かつ、それぞれのマクロブロックがどこから来たかを判定するために前のフレームを探索することにより達成されうる。現在のフレーム内のマクロブロックのイメージコンテンツが、前のフレーム内に位置できる場合、それを再生する必要はない。イメージコンテンツは、前のフレーム内の位置からの現在のフレーム内の変位を示す「動作ベクトル」によって表わすことができる。現在のフレームと前のフレームとの間のイメージコンテンツにおけるあらゆる変化が存在する程度まで、相違すなわち「差分情報」のみが、動作ベクトルと共に送信される必要がある。この技術はしばしば「時間圧縮」と呼ばれる。
「空間圧縮」は、ビデオ圧縮システムでしばしば適用される別の技術である。空間圧縮は、各マクロブロック内の、冗長な非本質的なマテリアルを除去するために使用される。空間圧縮は、まず、空間領域及び時間領域から周波数領域へと、離散コサイン変換(DCT)方法を用いて、マクロブロック内の差分情報を変換し、次に、量子化及び可変長符号化技術を適用することによって達成される。この量子化処理は、目がさほど敏感ではない高周波数係数へ、ピクセル当たり少ないビットを割り当て、重要な低周波数係数へ、ピクセル当たり多くのビットを割り当てることに重みを置く。量子化パラメータ(QP)は、高周波係数の数をゼロに設定し、これによって、マクロブロックの周波数係数を表すために必要なビット数を低減するために使用される。QPは、フレームに対してビットバジェットが満足されることを保証するために使用される。幾つかの従来の画像圧縮システムでは、同じQPが各マクロブロックに使用される。このアプローチは簡単だが、必ずしも、最良のピクチャ品質になるとは限らない。好適には、多くの情報を持つマクロブロックが、ビットバジェットからより多くのビットが割り当てられるように、QPは、フレームにわたって変えられるべきである。
ビデオシステムの1つの局面が開示される。このビデオシステムは、ビデオのフレームのための情報のブロックを生成するように構成されたビデオプロセッサと、ビットバジェットからブロックの各々にビットを割り当てるように構成されたコントローラとを含む。ブロックの各々に割り当てられるビットの数は、そこに含まれる情報の関数である。このビデオプロセッサは更に、ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表すように構成される。
ビデオシステムの別の局面が開示される。このビデオシステムは、ビデオのフレームのための情報のブロックを生成するように構成される。このビデオシステムは、ビットバジェットからブロックの各々にビットを割り当てる手段を含む。ブロックの各々に割り当てられるビットの数は、ブロックに含まれる情報の関数である。このビデオシステムは更に、割り当てられたビットを用いて、ブロックの各々内の情報を表示する手段を含む。
ビデオを処理する方法の1つの局面が開示される。この方法は、ビデオのフレームのための情報のブロックを生成することと、ビットバジェットからブロックの各々にビットを割り当てることと、ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表示することとを含む。ブロックの各々に割り当てられるビットの数は、ブロックに含まれる情報の関数である。
ビデオプロセッサを用いてビデオを処理する方法の別の局面が開示される。ビデオプロセッサは、ビデオのフレームのための情報のブロックを生成するように構成されており、テクスチャエンジンを含んでいる。この方法は、ブロックの各々における情報に関する統計量を作成するために、フレーム内に情報のブロックを、最初にテクスチャエンジンに渡すことと、フレーム内の情報のブロックを、再びテクスチャエンジンに渡して、この統計量に基づき、ビットバジェットからブロックの各々にビットを割り当てることと、ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表示することとを含む。
コンピュータによって実行可能な、ビデオ処理方法を実行する命令のプログラムを組み込んだコンピュータ読取可能媒体が開示される。この方法は、ビデオのフレームのための情報のブロックを生成することと、ビットバジェットからブロックの各々にビットを割り当てることと、ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表すこととを含む。ブロックの各々に割り当てられるビットの数は、ブロックに含まれる情報の関数である。
ビデオプロセッサの様々な局面が、添付図面において、一例として、限定することなく例示される。
添付図面に関連して後述する詳細記述は、ビデオプロセッサの様々な実施形態の説明として意図されており、ビデオプロセッサが実現される唯一の実施形態を表すことは意図されていない。この詳細記述は、ビデオプロセッサの完全な理解を提供することを目的とした具体的詳細を含んでいる。しかしながら、ビデオプロセッサは、これら具体的な詳細がなくても実現されうることが当業者に明らかになるであろう。幾つかのインスタンスでは、周知の構成及びコンポーネントが、本ビデオプロセッサの概念を不明瞭にしないために、ブロック図形式で示される。
図1は、電気通信デバイスへ組み込むのに適切なビデオシステムの例を図示する概念ブロック図である。電気通信デバイスは、有線電話又は無線電話、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、モデム、カメラ、ゲーム機、ビデオ会議装置又はブロードキャスト装置、又は、ビデオアプリケーションをサポート可能なその他任意の適切なデバイスでありうる。
ビデオシステム100は、センサ104上にイメージの焦点を合わせるレンズ102を含みうる。センサ104は、電荷結合素子(CCD)、相補性金属酸化膜半導体(CMOS)イメージセンサ、あるいはその他任意の適切なセンサでありうる。ビデオフロントエンド(VFE)106は、センサ104によって捕らえられたイメージを処理するために使用されうる。VFE106によって行なわれる処理は、ホワイトバランス、色補正、ガンマ調節、及び/又はその他の処理機能を含みうる。処理されたビデオイメージは、表示のためにディスプレイ110へ提供されうるか、あるいは、圧縮するためにビデオプロセッサ112へ提供されうる。圧縮されたビデオ画像は、メモリ114内にアーカイブ収納されるか、あるいは、ネットワークや電気通信リンクを介して送信するために送信機116に提供される。
コントローラ118は、ビデオシステム100の動作を制御するために使用されうる。コントローラ118は、スタンドアロンコンポーネントとして実施されるか、あるいは、ビデオシステム100及び/又は電気通信デバイス内の1又は複数のコンポーネントにわたって分散されうる。コントローラ118は、ハードウェア、ファームウェア、ソフトウェア、あるいはそれらの任意の組合せとして実現されうる。一例として、コントローラ118は、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向けIC(ASIC)、プログラマブルロジック、専用ハードウェア、あるいは、その他任意の適切な方法で実現されうる。説明の目的で、コントローラ118は、その機能の観点から説明される。コントローラが実現される方式は、特定の用途と、システム全体に課せられる設計制約とに依存するだろう。当業者であれば、これらの環境の下で、ハードウェア構成、ファームウェア構成、及びソフトウェア構成の相互置換性と、各特定のアプリケーションのために、機能をどのようにして最良に実現するかを認識するだろう。
図2は、コントローラと通信するビデオシステムの一例を図示する概念ブロック図である。動作推定器202は、現在のフレームにおける各マクロブロックの動作ベクトルを判定し、そのマクロブロックの前のフレームの場所からの変位を表すために用いられる。動作推定器202は、現在のフレームにおける各マクロブロックについて、メモリ204に格納された前のフレームを探索し、そして、その変位量を計算することによってこの機能を実行する。この探索処理は、定められた探索空間内の前のフレームからのピクセルブロックと、現在のフレーム内のマクロブロックとの最良の一致を見つけるアルゴリズムを利用する。この探索アルゴリズムは、一般に、当該技術で周知である絶対差合計(SAD:Sum of Absolute Difference)計算を用いて行なわれる。特に、動作推定器202は、現在のフレーム内の各ブロックと、前のフレーム内の周辺領域とを比較して、最小SADによって示される一致を探索することを試みる。
テクスチャエンジン205は、フレーム内の差分情報の時間及び空間圧縮のために、動作推定器202によって生成された動作ベクトルを使用しうる。差分情報は、前のフレームの対応するマクロブロック内のピクセル情報から、各マクロブロック内のピクセル情報を引くことにより生成されうる。動作補償器206は、動作ベクトルを用いて、メモリ204に格納された前のフレームから対応するマクロブロックを位置決めし、それらを、減算器208の入力に与える。
DCT210は、減算器208からの差分情報を、空間及び時間領域から周波数領域へ変換するために使用される。この変換演算は、1次元の信号ではなく、2次元のブロックについて行うという点を除けば、高速フーリエ変換(FFT)を用いて時間領域信号を周波数領域信号へ変換することに類似している。DCT210は、一般に、64の周波数係数を生成する8×8ブロックのマクロブロックについて実行される。量子化器212は、変換器210によって生成された周波数係数を低減するために使用されうる。これは、ゼロの近傍の多くの高周波数係数がゼロに設定されるように、変換係数の精度を下げることによって達成される。これによって、低周波数のゼロではないほんの少数の係数のみが残る。これは、コントローラ118から、各周波数係数QPで除し、その結果を切り詰めることによって実行されうる。QPがより高くなると、ゼロに設定される高周波数係数がより多くなる。
デブロッカ214は、再構築されたイメージにおけるブロック境界上のエッジアーティファクトを取り除くために使用されうる。これは、ブロック境界間のビジュアル的により満足する遷移を生成する補間処理によって達成される。エッジアーティファクトを取り除くために、その他の周知の処理が使用されても良い。
符号器216は、量子化された変換係数を、メモリ114(図1参照)内に情報を収納する前か、あるいは、ネットワークや電気通信リンクを介して送信する前に圧縮するために使用されうる。使用可能な多くの周知の圧縮アルゴリズムが存在する。よく用いられる一般的な方法は、頻繁に生じる係数を、ショートバイナリ符号と交換することと、滅多に生じない係数を、ロングバイナリ符号と交換することとを含む。その結果、可変長バイナリ符号のシーケンスとなる。これら符号は、同期情報及び制御情報と結合され、符合化ビットストリームが生成される。制御情報は、受信機においてイメージを再構築するために必要な動作ベクトルを含んでいる。
次のフレームが符号化される場合、基準フレームとしてそれを使用できるように、現在のフレームが格納されねばならない。現在のフレームを単純にメモリにコピーする代わりに、量子化された変換係数が逆量子化218され、逆変換器220によって逆変換され、動作補償フレームへ追加222され、再構築フレームが生成される。再構築フレームはメモリ204に格納される。この処理は、メモリ204に格納されたフレームのコンテンツが、受信機によって再構築されたフレームと一致することを保証する。次のフレームが符号化される場合、動作推定器202は、メモリ204に格納されたフレームのコンテンツを前のフレームとして用い、動作補償のために最も一致する領域を判定する。
コントローラ118は、フレームのための符合化されたビットストリームが、ビットバジェット、すなわち、符合化ビットレートを超えないことを保証する役目を負う。これは、フレームの目標符合化ビットレート(Rt)を達成するために、マクロブロックレベルにおいて適切なQPを選択することによって達成される。この目標符合化ビットレートRtは、電気通信デバイス内の中央処理装置(CPU)又はその他の処理エンティティからコントローラへ与えられうる。目標符合化レートRtからマクロブロックレベルQPを計算するために、今日、多くのレート制御アルゴリズムが存在する。しかしながら、ρ領域内で動作するレート制御アルゴリズムが、より正確であると考えられている。“ρ”は、量子化された変換係数のうち、ゼロではないデータの割合を示す。典型的な変換符合化システムでは、ρbudgetと目標符合化ビットレートRtとの間に線形関係がある。ここで、ρbudgetは、ビットバジェットを満足するために必要なフレーム内の量子化変換係数のうち、ゼロではないデータの数である。これら2つの間の線形関係は、以下の式によって表される。
ここで、AとBとは、電気通信デバイス内のCPU又はその他の処理エンティティによって生成される定数である。これら定数は、ピクチャ内の異なる動作アクティビティレベルから生じる同期情報及び制御情報における変化を説明するために調節されうる。
コントローラ118は、フレームレベルにおいて、QPにρをマップするルックアップテーブル(図示せず)を含みうる。このρ−QPテーブルは経験的に導出され、動作に先立ってコントローラ118へプログラムされうる。あるいは、このρ−QPテーブルは、動作中に直ちに調節されうる。何れの場合も、このρ−QPテーブルは、式(1)から計算されるρbudgetから、スキャンライン方式で、各マクロブロックのためのQPを導出するために、コントローラ118によって使用される。この計算は、多くの方法で実行されうる。一例として、コントローラ118は、フレームレベルQP選択アルゴリズムを実施しうる。これは、フレーム内の各マクロブロックへ同じQPを割り当てる。QPは、式(1)からρbudgetを計算し、かつ、ρ−QPテーブルを用いてρbudgetをQPにマップすることによって導出されうる。このQPは、その後、量子化器212に提供され、各マクロブロックのための量子化変換係数が生成される。あるいは、Greedyアルゴリズムや、その他の任意の適切なレート制御アルゴリズムが、マクロブロック−レベルQPを導出するために使用されうる。Greedyアルゴリズムは、当該技術において周知である。
コントローラが、フレームレベルQP選択アルゴリズム、Greedyアルゴリズム、あるいはその他任意のタイプのレート制御アルゴリズムの何れを適用しようとも、テクスチャエンジン205に再び渡す(パスする)ことによって、改善される性能が達成されうる。この2度渡すデュアルパス構成では、テクスチャエンジン205によって、1度目のパスにおいて様々な統計量が生成され、これら統計量が、2度目のパスにおいてピクチャ品質を改善するために使用される。特に、テクスチャエンジン205への1度目のパスでは、フレームの真のイメージ条件を反映するために、ρ−QPテーブルが更新される。そして、以下に詳述するように、テクスチャエンジン205への2度目のパスにおいて、量子化変換係数が、より高い精度で生成される。更に、テクスチャエンジン205への1度目のパスにおいて、各マクロブロックについて動作推定器202によって生成されたSADが、2度目のパスにおいて、マクロブロックレベルのQPを導出するために使用される。これによって、より多くの差分情報を持つマクロブロックに、より多くの量子化変換係数が割り当てられる。
コントローラ118は、2ステップの処理を用いて、マクロブロックレベルのQPを導出するように構成されうる。第1に、コントローラ118が、SADからρを計算する。第2に、計算されたρをQPにマップするために、更新されたρ−QPテーブルが使用される。ρとSADとの関係は、以下の式を用いてモデル化することができる。
は差分情報の標準偏差、すなわち、平方誤差の合計の平方根である。
の良好な推定値を提供する。この推定値は、スライス内のマクロブロックの数Mが増加すると、より正確になる。従って、フレームにわたった適切なスライス分割スキームを用いて、テクスチャエンジン205への1度目のパスにおいて動作推定器202によって計算されたSADは、無視できる誤差を持つ分散について、式(2)に直接的に置き換えられる。
SADがビデオプロセッサの幾つかの実施形態で使用されうる理由は2つある。第1に、SADの計算は一般に、ハードウェア実装に関して、分散ほど複雑ではない。第2に、SAD計算は、動作推定器から利用可能であり、従って、いかなる追加処理も必要としない。
フレームがスライスされる方法は、特定のアプリケーション、要求性能、及び、全体的な設計制約に依存して変わりうる。例示のみの目的で一例を以下に示す。本開示を通じて説明した様々な概念を実施するために、その他の分割スキームが使用されうることが、当業者によって理解されるであろう。
このスライス分割スキームの例では、テクスチャエンジン205への1度目のパスから、中間範囲のSAD値が識別される。中間範囲は、ここでは、フルSAD範囲の20〜80%であると定められるが、実際の実装では、任意範囲でありうる。中間範囲のSAD値を識別することに加えて、フレームの平均SADもまた計算されうる。フレームの中間範囲SAD値及び平均SADは、以下の手順に基づいて、合計N個のマクロブロックを、可変スライス長(Li)を有するM個のスライスに分割するために使用されうる。
(1)フレーム内のj番目のマクロブロックから数えてi番目のスライスが識別される。フレームの開始において、i=0かつj=0である。アルゴリズムはステップ(2)に進む。
(2)j番目のマクロブロックが閾値より大きい場合、アルゴリズムはステップ(6)に分岐する。そうでない場合、アルゴリズムはステップ(3)に進む。この例における閾値は(N−8)であるが、実際の実装では任意の値でありうる。
(3)フレーム内のj番目のマクロブロックが、閾値以下であると仮定すると、アルゴリズムは、中間範囲のSAD値を持つj+2乃至j+5にインデクスされた各マクロブロックをマークする。これらマクロブロックのうち1又は複数がマークされると、アルゴリズムはステップ(4)に進む。そうでない場合、アルゴリズムはステップ(5)に分岐する。
(4)アルゴリズムは、その平均SADがフレームの平均SADに近い、マークされたマクロブロックを識別する。各マクロブロックの平均SADは、その左側及び右側の近隣マクロブロックを用いて計算される平均でありうる。識別されたマクロブロックは、新たなスライスを開始するために、すなわち、識別されたマクロブロックがステップ(1)におけるj番目のマクロブロックになるために使用される。
(5)アルゴリズムは、jの後にインデクスされる中間範囲SAD値を有する第1のマクロブロックを決定する。このマクロブロックは、k番目のマクロブロックと指定されうる。(k−j)>10である場合、アルゴリズムはステップ(1)にループして戻り、j+5にインデクスされた開始マクロブロックを用いて新たなスライスを開始する。そうでない場合には、アルゴリズムがステップ(1)にループして戻り、(j+k)/2にインデクスされた開始マクロブロックを用いて新たなスライスを開始する。
(6)残りのマクロブロックの数≧6である場合、アルゴリズムは、フレーム平均SADに最も近い平均SADを持つマクロブロックにおいて、それらを2つのスライスに分割する。そうでない場合、残り全てのマクロブロックが最後のスライスに含められる。
ここでρusedは、現在実際に使用されているρであり、ρslice iは、式(2)によって計算されたスライスiのρバジェットである。
各マクロブロックの対応するQP(qi、m)は、ρ−QPテーブルから見つけることができる。
各マクロブロックのQP(qi、m)は、フレーム内のスライス境界間のスムーズな遷移を保証するように調節されうる。QP(qi、m)が調節される例が、実際の実装では、他の方法も使用されうるという理解とともに以下に与えられる。
このアルゴリズムは、スライス内の第1のマクロブロック(m=1)を以下のように処理する。すなわち、qi,mの場合、qi,m=qframe+1であり、それ以外の場合は、qi,m=max(qframe−1,qi,m)である。ここで、qframeは、フレームの平均QPである。
このアルゴリズムは、次の3つの条件を満たすように、スライス内の残りのマクロブロックを処理する。
(1)qi,mは、[qframe−1−2(Li−m+1),qframe+1+2(Li−m+1)]の範囲内になければならない。
(2)前のマクロブロックのQPとqi,mとの差は、[−2,2]の範囲内になければならない。
(3)qi,mの値は、[1,31]の範囲内になければならない。
ビデオシステムの少なくとも1つの実施形態では、コントローラ118は、2度渡すデュアルパスモードで動作することによるピクチャ品質の期待される改善と、利用可能な処理リソースとに依存して、テクスチャエンジン205を1度渡すシングルパスモード又は2度渡すデュアルパスモードで動作させるように構成されうる。モード間を動的に切り換えるためにコントローラ118によって用いられる基準は、具体的なアプリケーション、設計者の設定、及び設計全体の制約に依存して変わりうる。一例として、コントローラ118は、フレームにわたってSADにおける変化をモニタするように構成されうる。コントローラ118が、ほとんど変化がないと判定すると、フレーム全体にわたって同じQPを使用するテクスチャエンジン205への1度のパスで十分かもしれない。一方、フレームにわたってSADに大きな変化があるとコントローラ118が判定すると、テクスチャエンジン205へ2度渡すことによって、より多くのビットがビットバジェットから与えられることが保証される。
図3は、シングルパスモード及びデュアルパスモードで動作可能なビデオシステムの動作を図示するフローチャートである。ステップ302では、マクロブロックがメモリから取得される。マクロブロックは、ステップ304において、動作推定器に供給される。動作推定器は、マクロブロックについて、前のフレームにおける位置からの、現在のフレームにおける変位を表す動作ベクトルを計算する。更に、動作ベクトルを計算するために使用されたSADが、テクスチャエンジンへの2度目のパスで後に使用されるために格納される。
マクロブロックの動作ベクトルは、ステップ306においてテクスチャエンジンに供給される。上記で詳述したように、テクスチャエンジンは、メモリ内における前のフレームの対応するマクロブロックを位置決めし、かつ、2つの間の差を計算するために動作ベクトルを用いる。この相違、すなわち差分情報は、その後、コントローラによってテクスチャエンジンへ与えられるQPに基づいて、テクスチャエンジンによって、量子化変換係数に変換される。フレームレベルにおいて、ρ−QPテーブルを構築するために要求される情報もまたメモリ内に格納される。
ステップ308では、コントローラが、テクスチャエンジンから出力された量子化変換係数が、現在のフレーム内の最後のマクロブロックに属するかを判定する。属しない場合、コントローラはステップ302にループして戻り、フレーム内の次のマクロブロックがメモリから取得される。一方、テクスチャエンジンから出力された量子化変換係数が、フレーム内の最後のマクロブロックに属するのであれば、テクスチャエンジンへの1度目のパスが終了する。そして、コントローラは、ステップ310で、2度目のパスが必要であるかを判定する。2度目のパスは必要ではないとコントローラが判定すると仮定すると、フレームは、ステップ312においてデブロックされ、ステップ314において符合化される。そうでない場合、コントローラは、テクスチャエンジンへの2度目のパスのためにビデオプロセッサを設定する。これは、テクスチャエンジンへの1度目のパスの間に格納された情報から、フレームのρ−QPテーブルを構築することを含む。
2度目のパスでは、ステップ316において、現在のフレーム内のマクロブロックが再びメモリから取得され、動作推定器に提供される。動作推定器は、ステップ318において、マクロブロックの動作ベクトルを計算し、この動作ベクトルをテクスチャエンジンに提供する。
テクスチャエンジンは、ステップ320において、マクロブロックのコンテンツをより良く表現するQPを用いて量子化変換係数を計算する。QPは、先ず、式(5)を用いてρを計算し、次に、この計算したρを、テクスチャエンジンへの1度目のパスの間に作成されたフレームレベルのρ−QPテーブルを用いてQP値にマップし、最後に、フレーム内のスライス境界間でのスムーズな遷移を保証するようにQPを調節することにより、コントローラによって導出される。この処理は、フレーム内の全てのマクロブロックが、テクスチャエンジンへ2度渡されるまで続く。ステップ322では、コントローラは、テクスチャエンジンから出力された量子化変換係数が、フレーム内の最後のマクロブロックのものかを判定する。そうでない場合には、コントローラはステップ316にループして戻り、フレーム内の次のマクロブロックを取得する。最後のマクロブロックのものである場合には、フレームはステップ312においてデブロックされ、ステップ314において符合化される。
図4は、ビデオプロセッサが、シングルパス動作とデュアルパス動作との両方をサポートするように動作する別の方法を例示するフローチャートである。この構成では、動作推定処理は一度だけ行なわれる。各マクロブロックについて計算されたSAD及び動作ベクトルは、デュアルパスモードにおいて、テクスチャエンジンを介した両方のパスの間使用される。
図4に示すように、マクロブロックは、ステップ402において、メモリから取得される。マクロブロックは、ステップ404において、動作推定器に供給される。動作推定器は、マクロブロックのSADを計算し、SADから動作ベクトルを計算する。動作ベクトルとSADとは共に、テクスチャエンジンによる後の使用のために格納される。この処理は、フレーム内の各マクロブロックについて繰り返される。ステップ406では、コントローラが、各マクロブロックについて、それがフレーム内の最後のマクロブロックであるかを判定する。それが最後のマクロブロックでなければ、コントローラは、ステップ402にループして戻り、フレーム内の次のマクロブロックを取得する。最後のマクロブロックであれば、各マクロブロックの動作ベクトルがテクスチャエンジンに提供される。
テクスチャエンジンは、ステップ408において、コントローラによってテクスチャエンジンに提供されたQPに基づいて、マクロブロック内の差分情報のための量子化変換係数を計算する。フレームレベルにおいてρ−QPテーブルを構築するために必要な情報もまたメモリに格納される。
コントローラは、ステップ410において、テクスチャエンジンから出力された量子化変換係数が、現在のフレームの最後のマクロブロックに属するかを判定する。属しないのであれば、コントローラはステップ408にループして戻り、フレーム内の次のマクロブロックの次の動作ベクトルがテクスチャエンジンに提供される。一方、テクスチャエンジンから出力された量子化変換係数が、フレーム内の最後のマクロブロックに属する場合、テクスチャエンジンへの1度目のパスは終了する。その後、コントローラは、ステップ412において、テクスチャエンジンへの2度目のパスが必要であるかを判定する。コントローラが、2度目のパスは必要ではないと判定したと仮定すると、フレームは、ステップ414においてデブロックされ、ステップ416において符合化される。一方、必要であると判定した場合、コントローラは、テクスチャエンジンへの1度目のパスの間にメモリに格納された情報から、フレームのρ−QPテーブルを構築し、テクスチャエンジンへの2度目のパスのためにステップ418に進む。
2度目のパスでは、テクスチャエンジンが、ステップ404で計算された動作ベクトルを用いて量子化変換係数と、より正確なQPとを計算する。QPは、先ず、式(5)を用いてρを計算し、次に、この計算したρを、テクスチャエンジンへの1度目のパスの間に作成されたフレームレベルのρ−QPテーブルを用いてQP値にマップし、最後に、フレーム内のスライス境界間でのスムーズな遷移を保証するようにQPを調節することにより、コントローラによって導出される。この処理は、フレーム内の全てのマクロブロックが、テクスチャエンジンへ2度渡されるまで続く。ステップ420では、コントローラは、テクスチャエンジンから出力された量子化変換係数が、フレーム内の最後のマクロブロックのものかを判定する。最後のマクロブロックのものでない場合には、コントローラはステップ418にループして戻り、フレーム内の次のマクロブロックを処理する。最後のマクロブロックである場合には、フレームはステップ414においてデブロックされ、ステップ416において符合化される。
ここで開示された実施形態に関連して記述された様々の説明的論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、アプリケーションに固有の集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)あるいはその他のプログラマブル論理デバイス、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェア部品、又は上述された機能を実現するために設計された上記何れかの組み合わせを用いて実現又は実行されうる。汎用プロセッサとしてマイクロプロセッサを用いることが可能であるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機器を用いることも可能である。プロセッサは、たとえばDSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアに接続された1つ以上のマイクロプロセッサ、またはこのような任意の構成である計算デバイスの組み合わせとして実現することも可能である。
ここで開示された実施形態に関連して記述された方法やアルゴリズムは、ハードウェアや、プロセッサによって実行されるソフトウェアモジュールや、これらの組み合わせによって直接的に具現化される。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、あるいは当該技術分野で知られているその他の型式の記憶媒体に収納されうる。記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに結合される。または、記憶媒体はプロセッサに統合されうる。
上述の記載は、当該技術分野におけるいかなる人であっても、本発明に記載された様々な実施形態を実現可能とするように提供される。これらの実施形態への様々な変形例もまた、当該技術分野における熟練者に対しては明らかであって、ここで定義された一般的な原理は、他の実施形態にも適用されうる。従って、特許請求の範囲は、ここに示す実施形態に限定されることは意図されておらず、特許請求の範囲に一致した全範囲に相当することが意図されており、単数形の要素に対する参照は、「1又は複数」と具体的に明示されていないのであれば、「1又は1のみ」を意味するとは意図されていない。当業者に周知であるか、あるいは後に周知になるであろう本開示を通じて説明された様々な実施形態の要素に対する全ての構造的及び機能的な等価物は、参照によって本明細書に明らかに組み込まれ、特許請求の範囲に含まれることが意図される。更に、本明細書で開示した何れも、その開示が、特許請求の範囲で明示的に引用されているか否かに関わらず、公衆に放棄されることを意図していない。もしも請求項の要素が、「〜する手段」(means for)というフレーズ、あるいは方法請求項の場合には、「〜するステップ」(step for)というフレーズを用いて明確に引用されていないのであれば、何れの請求項の要素も、35U.S.C第112条、第6パラグラフの規定の下で解釈されるものではない。
Claims (47)
- ビデオシステムであって、
ビデオのフレームのための情報のブロックを生成するように構成されたビデオプロセッサと、
ビットバジェットから前記ブロックの各々へビットを割り当てるように構成されたコントローラとを備え、
前記ブロックの各々に割り当てられるビットの数は、ブロックに含まれる情報の関数であり、前記ビデオプロセッサは更に、前記ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表すように構成されたビデオシステム。 - 前記ブロックの各々における情報を、動作情報に変換するように構成された動作推定器を更に備え、前記コントローラによって前記ブロックの各々に割り当てられたビットの数は、ブロックに含まれる前記動作情報の関数である請求項1に記載のビデオシステム。
- 前記ブロックの各々における動作情報は、絶対差合計(SAD)値を備える請求項2に記載のビデオシステム。
- 前記コントローラは更に、割り当てられたビットに関連するブロックの各々のためのパラメータを導出するように構成され、前記ビデオプロセッサは更に、前記パラメータを用いて、前記割り当てられたビット数を用いて、ブロックの各々における情報を表示するように構成された請求項1に記載のビデオシステム。
- 前記ビデオプロセッサは、前記ブロックの各々における情報を、差分情報に変換するように構成されたテクスチャエンジンを備え、前記ビデオプロセッサは更に、前記ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる差分情報を表すように構成された請求項4に記載のビデオシステム。
- 前記テクスチャエンジンは、前記パラメータに基づいて、前記ブロック内の差分情報を量子化するように構成された量子化器を備える請求項5に記載のビデオシステム。
- 前記コントローラは更に、ρ領域内のパラメータを導出するように構成された請求項6に記載のビデオシステム。
- 前記コントローラは更に、前記ブロック内の情報からρ−QPテーブルを生成し、前記ρ−QPテーブルを用いて前記パラメータを導出することによって、前記パラメータを導出するように構成された請求項7に記載のビデオシステム。
- 前記テクスチャエンジンに前記情報のブロックを渡して前記ρ−QPテーブルを生成し、かつ、前記テクスチャエンジンに前記情報のブロックを再び渡して、前記ρ−QPテーブルを用いて、個々のブロックにビットを割り当てるように構成された請求項8に記載のビデオシステム。
- 前記コントローラは更に、前記テクスチャエンジンに前記情報のブロックを再び渡すことをイネーブル及びディセーブルするように構成された請求項9に記載のビデオシステム。
- 前記コントローラは更に、前記フレームを複数のスライスに分割し、前記スライスの各々についてρを計算し、各スライスについて計算されたρに基づいて、前記ブロックの各々のパラメータを導出することによって、前記パラメータを導出するように構成された請求項7に記載のビデオシステム。
- 前記ビデオプロセッサは、前記ブロックの各々における情報を、動作情報に変換するように構成された動作推定器を更に備え、前記コントローラによって導出されたパラメータの各々は、各ブロックに含まれる前記動作情報である請求項7に記載のビデオシステム。
- 前記ブロックの各々の動作情報は、絶対差合計(SAD)値を備える請求項12に記載のビデオシステム。
- 前記コントローラは更に、前記ブロックの各々のρを計算することによって前記パラメータを導出するように構成され、前記ρ計算の各々は、各ブロックのSADを用いる請求項13に記載のビデオシステム。
- ビデオのフレームのための情報のブロックを生成するように構成されたビデオシステムであって、
ビットバジェットから前記ブロックの各々へビットを割り当てる手段を備え、
前記ブロックの各々に割り当てられるビットの数は、そこに含まれる情報の関数であり、
前記ビデオシステムは更に、前記割り当てられたビットを用いて、前記ブロックの各々に含まれる情報を表す手段を備えるビデオシステム。 - 前記ブロックの各々における情報を、動作情報に変換する手段を更に備え、前記ブロックの各々に割り当てられるビットの数は、ブロックに含まれる前記動作情報の関数である請求項15に記載のビデオシステム。
- 前記ブロックの各々における動作情報は、絶対差合計(SAD)値を備える請求項16に記載のビデオシステム。
- 前記ビットバジェットからビットを割り当てる手段は、割り当てられたビットに関連するブロックの各々のパラメータを導出するように構成され、
前記情報を表す手段は、前記パラメータに応答する量子化器を備える請求項15に記載のビデオシステム。 - 前記ブロックの各々における情報を、差分情報に変換する手段を更に備え、前記量子化器は更に、前記ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる差分情報を表すように構成された請求項18に記載のビデオシステム。
- 前記コントローラは更に、ρ領域内のパラメータを導出するように構成された請求項18に記載のビデオシステム。
- ビデオを処理する方法であって、
ビデオのフレームのための情報のブロックを生成することと、
ビットバジェットから前記ブロックの各々へビットを割り当てることとを備え、
前記ブロックの各々に割り当てられるビットの数は、ブロックに含まれる情報の関数であり、
前記方法は更に、前記ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表すことを備える方法。 - 前記ブロックの各々における情報を、動作情報に変換することを更に備え、前記コントローラによって前記ブロックの各々に割り当てられたビットの数は、ブロックに含まれる前記動作情報の関数である請求項21に記載の方法。
- 前記ブロックの各々における動作情報は、絶対差合計(SAD)値を備える請求項22に記載の方法。
- 前記ビットバジェットからビットを割り当てることは、割り当てられたビットに関連するブロックの各々のためのパラメータを導出することを備え、前記パラメータは、前記割り当てられたビット数を用いて、ブロックの各々における情報を表示するために使用される請求項21に記載の方法。
- 前記ブロックの各々における情報を、差分情報に変換することを更に備え、前記ブロックの各々に割り当てられたビットは、ブロックに含まれる差分情報を表すために使用される請求項24に記載の方法。
- 前記ブロック内の各々における差分情報は、前記差分情報を前記パラメータを用いて量子化することによって、前記割り当てられたビット数を用いて表される請求項25に記載の方法。
- 前記パラメータは、ρ領域内で導出される請求項26に記載の方法。
- 前記パラメータは、前記ブロック内の情報からρ−QPテーブルを生成し、前記ρ−QPテーブルを用いて前記パラメータを導出することによって導出される請求項27に記載の方法。
- 前記パラメータは、前記フレームを複数のスライスに分割し、前記スライスの各々についてρを計算し、各スライスについて計算されたρに基づいて、前記ブロックの各々のパラメータを導出することによって、導出される請求項27に記載の方法。
- 前記ブロックの各々における情報を、動作情報に変換することを更に備え、前記パラメータの各々を導出は、各ブロックに含まれる前記動作情報に基づく請求項27に記載の方法。
- 前記ブロックの各々の動作情報は、絶対差合計(SAD)値を備える請求項30に記載の方法。
- 前記パラメータは、前記ブロックの各々のρを計算することによって導出され、前記ρ計算の各々は、各ブロックのSADを用いる請求項31に記載の方法。
- ビデオのフレームのための情報のブロックを生成するように構成されたビデオプロセッサを用いてビデオを処理する方法であって、
前記ビデオプロセッサはテクスチャエンジンを含み、
前記方法は、
前記テクスチャエンジンに前記フレーム内の情報のブロックを最初に渡して、前記フレームの統計量を生成することと、
前記テクスチャエンジンに前記フレーム内の情報のブロックを再び渡して、前記統計量に基づいて、ビットバジェットからブロックの各々にビットを割り当てることと、
前記ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表すこととを備える方法。 - 前記テクスチャエンジンに最初に渡された場合に生成される統計量は、ρ−QPテーブルを備える請求項33に記載の方法。
- 前記テクスチャエンジンに最初に渡すことは更に、前記ブロックの各々の絶対差合計(SAD)値を生成することを備え、
前記テクスチャエンジンに再び渡すことは、各SADを用いて前記ブロックの各々のρを計算することと、前記ブロックの各々のρをQPにマップすることと、前記ブロックの各々について、QPを用いて、ブロックに含まれる情報を量子化することとを備える請求項34に記載の方法。 - コンピュータによって実行可能な、ビデオ処理方法を実行する方法のプログラムを組み込んだコンピュータ読取可能媒体であって、
前記方法は、
ビデオのフレームのための情報のブロックを生成することと、
ビットバジェットから前記ブロックの各々へビットを割り当てることとを備え、
前記ブロックの各々に割り当てられるビットの数は、ブロックに含まれる情報の関数であり、
前記方法は更に、前記ブロックの各々に割り当てられたビットを用いて、ブロックに含まれる情報を表すことを備えるコンピュータ読取可能媒体。 - 前記方法は更に、前記ブロックの各々における情報を、動作情報に変換することを備え、
前記コントローラによって前記ブロックの各々に割り当てられるビットの数は、ブロックに含まれる前記動作情報の関数である請求項36に記載のコンピュータ読取可能媒体。 - 前記ブロックの各々における動作情報は、絶対差合計(SAD)値を備える請求項37に記載のコンピュータ読取可能媒体。
- 前記ビットバジェットからビットを割り当てることは、割り当てられたビットに関連するブロックの各々のためのパラメータを導出することを備え、
前記パラメータは、前記割り当てられたビット数を用いて、ブロックの各々における情報を表示するために用いられる請求項36に記載のコンピュータ読取可能媒体。 - 前記方法は更に、前記ブロックの各々における情報を、差分情報に変換することを備え、
前記ブロックの各々に割り当てられたビットは、ブロックに含まれる差分情報を表すために使用される請求項39に記載のコンピュータ読取可能媒体。 - 前記ブロック内の各々における差分情報は、前記差分情報を前記パラメータを用いて量子化することによって、割り当てられたビット数を用いて表される請求項40に記載のコンピュータ読取可能媒体。
- 前記パラメータは、ρ領域内で導出される請求項41に記載のコンピュータ読取可能媒体。
- 前記パラメータは、前記ブロック内の情報からρ−QPテーブルを生成し、前記ρ−QPテーブルを用いて前記パラメータを導出することによって導出される請求項42に記載のコンピュータ読取可能媒体。
- 前記パラメータは、前記フレームを複数のスライスに分割し、前記スライスの各々についてρを計算し、各スライスについて計算されたρに基づいて、前記ブロックの各々のパラメータを導出する、ことによって導出される請求項43に記載のコンピュータ読取可能媒体。
- 前記方法は更に、前記ブロックの各々における情報を、動作情報に変換することを備え、
前記パラメータの各々を導出は、各ブロックに含まれる前記動作情報に基づく請求項42に記載のコンピュータ読取可能媒体。 - 前記ブロックの各々の動作情報は、絶対差合計(SAD)値を備える請求項45に記載のコンピュータ読取可能媒体。
- 前記パラメータは、前記ブロックの各々のρを計算することによって導出され、前記ρ計算の各々は、各ブロックのSADを用いる請求項46に記載のコンピュータ読取可能媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/120,389 US7848409B2 (en) | 2005-05-02 | 2005-05-02 | Macroblock level bit allocation |
PCT/US2006/017120 WO2006119410A1 (en) | 2005-05-02 | 2006-05-02 | Macroblock level rate control |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008541569A true JP2008541569A (ja) | 2008-11-20 |
Family
ID=36808730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008510198A Pending JP2008541569A (ja) | 2005-05-02 | 2006-05-02 | マクロブロックレベルレート制御 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7848409B2 (ja) |
EP (1) | EP1878259A1 (ja) |
JP (1) | JP2008541569A (ja) |
KR (1) | KR100932879B1 (ja) |
CN (1) | CN101208956A (ja) |
WO (1) | WO2006119410A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013532439A (ja) * | 2010-06-17 | 2013-08-15 | マイクロソフト コーポレーション | 変換係数ヒストグラムに基づくビデオレート制御 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8366552B2 (en) | 2002-12-10 | 2013-02-05 | Ol2, Inc. | System and method for multi-stream video compression |
US9446305B2 (en) | 2002-12-10 | 2016-09-20 | Sony Interactive Entertainment America Llc | System and method for improving the graphics performance of hosted applications |
US9314691B2 (en) | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
US9077991B2 (en) | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US8964830B2 (en) | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
US8711923B2 (en) | 2002-12-10 | 2014-04-29 | Ol2, Inc. | System and method for selecting a video encoding format based on feedback data |
US10201760B2 (en) | 2002-12-10 | 2019-02-12 | Sony Interactive Entertainment America Llc | System and method for compressing video based on detected intraframe motion |
US9192859B2 (en) | 2002-12-10 | 2015-11-24 | Sony Computer Entertainment America Llc | System and method for compressing video based on latency measurements and other feedback |
US9061207B2 (en) | 2002-12-10 | 2015-06-23 | Sony Computer Entertainment America Llc | Temporary decoder apparatus and method |
US8526490B2 (en) | 2002-12-10 | 2013-09-03 | Ol2, Inc. | System and method for video compression using feedback including data related to the successful receipt of video content |
US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US9108107B2 (en) | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US8549574B2 (en) | 2002-12-10 | 2013-10-01 | Ol2, Inc. | Method of combining linear content and interactive content compressed together as streaming interactive video |
US20080024510A1 (en) * | 2006-07-27 | 2008-01-31 | Via Technologies, Inc. | Texture engine, graphics processing unit and video processing method thereof |
US9168457B2 (en) | 2010-09-14 | 2015-10-27 | Sony Computer Entertainment America Llc | System and method for retaining system state |
EP2285112A1 (en) * | 2009-08-07 | 2011-02-16 | Canon Kabushiki Kaisha | Method for sending compressed data representing a digital image and corresponding device |
CN102231825B (zh) * | 2010-06-30 | 2013-04-24 | 无锡中星微电子有限公司 | 一种码率控制方法及装置 |
JP5748463B2 (ja) * | 2010-12-02 | 2015-07-15 | キヤノン株式会社 | 符号化装置およびプログラム |
US9497241B2 (en) | 2011-12-23 | 2016-11-15 | Intel Corporation | Content adaptive high precision macroblock rate control |
US9438918B2 (en) * | 2012-04-23 | 2016-09-06 | Intel Corporation | Frame level rate control using motion estimated distortions |
KR20190056888A (ko) * | 2017-11-17 | 2019-05-27 | 삼성전자주식회사 | 비디오 부호화 장치 및 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134476A (en) * | 1990-03-30 | 1992-07-28 | At&T Bell Laboratories | Video signal encoding with bit rate control |
US5144424A (en) * | 1991-10-15 | 1992-09-01 | Thomson Consumer Electronics, Inc. | Apparatus for video data quantization control |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
KR0170937B1 (ko) * | 1994-12-14 | 1999-03-20 | 배순훈 | 영상 데이타 부호화 장치 |
JPH1079948A (ja) * | 1996-09-03 | 1998-03-24 | Mitsubishi Electric Corp | 画像符号化装置 |
US6690833B1 (en) | 1997-07-14 | 2004-02-10 | Sarnoff Corporation | Apparatus and method for macroblock based rate control in a coding system |
GB2346282B (en) | 1999-01-28 | 2003-02-19 | Snell & Wilcox Ltd | Bit rate control in compression encoding |
-
2005
- 2005-05-02 US US11/120,389 patent/US7848409B2/en not_active Expired - Fee Related
-
2006
- 2006-05-02 EP EP06752202A patent/EP1878259A1/en not_active Ceased
- 2006-05-02 JP JP2008510198A patent/JP2008541569A/ja active Pending
- 2006-05-02 KR KR1020077028121A patent/KR100932879B1/ko not_active IP Right Cessation
- 2006-05-02 CN CNA2006800227273A patent/CN101208956A/zh active Pending
- 2006-05-02 WO PCT/US2006/017120 patent/WO2006119410A1/en active Application Filing
Non-Patent Citations (1)
Title |
---|
JPN6011002750, Zhihai H. and Mitra, S.K., "ρ−domain bit allocation and rate control for real time video coding", Proc. of 2001 Int. Conf. on Image Processing, 20011007, Vol.3, P.546−549 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013532439A (ja) * | 2010-06-17 | 2013-08-15 | マイクロソフト コーポレーション | 変換係数ヒストグラムに基づくビデオレート制御 |
Also Published As
Publication number | Publication date |
---|---|
KR20080012333A (ko) | 2008-02-11 |
US7848409B2 (en) | 2010-12-07 |
US20060245493A1 (en) | 2006-11-02 |
WO2006119410A1 (en) | 2006-11-09 |
KR100932879B1 (ko) | 2009-12-21 |
CN101208956A (zh) | 2008-06-25 |
EP1878259A1 (en) | 2008-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008541569A (ja) | マクロブロックレベルレート制御 | |
JP4111351B2 (ja) | コード化システムにおけるレート制御を最適化するための装置および方法 | |
US10616594B2 (en) | Picture encoding device and picture encoding method | |
TWI452907B (zh) | 最佳化之解區塊濾波器 | |
US20200275104A1 (en) | System and method for controlling video coding at frame level | |
WO2014139396A1 (en) | Video coding method using at least evaluated visual quality and related video coding apparatus | |
US11134250B2 (en) | System and method for controlling video coding within image frame | |
JP5133290B2 (ja) | 動画像符号化装置および復号装置 | |
WO2006073579A2 (en) | Methods and apparatus for providing a rate control | |
WO2012006305A1 (en) | Video coding using vector quantized deblocking filters | |
JP7343817B2 (ja) | 符号化装置、符号化方法、及び符号化プログラム | |
CN115428451A (zh) | 视频编码方法、编码器、系统以及计算机存储介质 | |
JP3846424B2 (ja) | 画像信号量子化装置およびその方法 | |
JP6259273B2 (ja) | 動画像符号化装置、符号化量制御方法およびプログラム | |
JP5410638B2 (ja) | 量子化制御装置及び方法、及び量子化制御プログラム | |
CN115868160A (zh) | 用于视频编码的自适应量化器设计 | |
WO2013081085A1 (en) | Moving image encoding apparatus, control method thereof and computer program | |
JP2019102861A (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
Zhang et al. | Artifact reduction of compressed video via three-dimensional adaptive estimation of transform coefficients | |
CN116137658A (zh) | 视频编码方法及装置 | |
CN112866696A (zh) | 4k、8k、16k超高清视频编码优化控制方法和装置 | |
JP2009509405A (ja) | ビデオシーケンスにおける可変形状動き推定 | |
JP4127006B2 (ja) | 画像信号の符号化装置および符号化方法 | |
JPH0818952A (ja) | 画像信号符号化装置 | |
KR100480698B1 (ko) | 엠펙 인코딩 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110628 |