JP2004527960A - Dynamic complexity prediction and adjustment of MPEG2 decoding process in media processor - Google Patents
Dynamic complexity prediction and adjustment of MPEG2 decoding process in media processor Download PDFInfo
- Publication number
- JP2004527960A JP2004527960A JP2002582627A JP2002582627A JP2004527960A JP 2004527960 A JP2004527960 A JP 2004527960A JP 2002582627 A JP2002582627 A JP 2002582627A JP 2002582627 A JP2002582627 A JP 2002582627A JP 2004527960 A JP2004527960 A JP 2004527960A
- Authority
- JP
- Japan
- Prior art keywords
- header information
- load
- data
- determining
- macroblock
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008569 process Effects 0.000 title claims description 15
- 238000004364 calculation method Methods 0.000 claims abstract description 44
- 239000013598 vector Substances 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000013139 quantization Methods 0.000 claims description 8
- 230000026676 system process Effects 0.000 abstract 1
- 230000006837 decompression Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 208000012661 Dyskinesia Diseases 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000010257 thawing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- 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
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- 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/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/18—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 a set of transform coefficients
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
映像処理システムにおけるMPEGデコーダの計算負荷を調整する方法及びシステムが提供される。映像処理システムは、複数のマクロブロックを含む圧縮映像データストリームのヘッダー情報をそれに関連する動きベクトルにより処理する。MPEGデコーダの各機能ブロックの計算負荷が所定の基準に従い調整される。これによって、実質的な計算オーバーヘッドが回避される。A method and system for adjusting the computational load of an MPEG decoder in a video processing system is provided. The video processing system processes header information of a compressed video data stream including a plurality of macroblocks with a motion vector associated therewith. The calculation load of each functional block of the MPEG decoder is adjusted according to a predetermined standard. This avoids substantial computational overhead.
Description
【0001】
[発明の背景]
[1.発明の技術分野]
本発明は、圧縮された映像情報の映像処理に関し、特に、MPEGデコーダの計算負荷を調整する方法及び装置に関する。
【0002】
[2.関連技術の説明]
典型的に、映像情報は記憶領域を節約するため圧縮され、表示を行うためビットストリームで解凍される。従って、動画映像を提供するためには、迅速かつ効率的に圧縮映像情報をデコードすることが大いに望まれる。映像情報の圧縮及び解凍に広く利用されてきた標準的圧縮法の1つに、MPEG(Moving Pictures Expert Group)規格がある。MPEG規格は、国際規格ISO/IEC 11172−1「Information Technology−Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s」Parts 1, 2 and 3 第1版 1993−8−1において規定されている。その全容については上記文献を参照されたい。
【0003】
一般に、映像システムの多くは、動画映像を提供するため、圧縮されている映像情報を迅速かつ効率的にデコードすることを目的としている。現在、1フレームを処理するのに必要な計算負荷は、MPEG2デコードプロセッサにおけるデコードアルゴリズムによる影響を受けない。しかしながら、MPEG2デコード処理の不規則な計算負荷動作により、フレームの計算負荷のピークがメディアプロセッサのCPUの最大負荷を超える恐れがあり、これによって、フレーム落ちや予期せぬ結果が起こりうる。このため、技術者がメディアプロセッサにおいてMPEG2デコード処理を実行するときには、計算負荷のピーク時においてスムーズな動作が実行されるように、デコード処理にかかる平均計算負荷を40〜50%上回るパフォーマンスマージンを備えたプロセッサを選ぶ必要がある。計算負荷のピークは頻繁に起こるものではないので、このような実装は不経済であり、資源の無駄を招くこととなる。フレーム、スライス(slice)、マクロブロック(macroblock)の計算負荷の複雑性(complexity)の予測または推定がなければ、映像システム技術者がMPEGビットストリームの計算需要のピークを調整することは不可能である。
【0004】
従って、メディアプロセッサ上で実行されるMPEG2デコーダの複雑性予測アルゴリズムを提供する必要がある。
【0005】
[発明の概要]
本発明は、符号化されたデジタル映像信号のデコード処理をスケーリングすることによって、MPEGデジタル映像デコーダシステムのデコード処理効率を向上させる方法及びシステムに関する。
【0006】
本発明は、映像処理システムにおけるMPEGデコーダの計算負荷を調整する方法を提供する。本発明による方法は、圧縮映像データストリームにおいて、動きベクトル(motion vector)が所定の閾値より大きいマクロブロックのヘッダー情報を抽出するステップを備える。また、本発明による方法は、所定の基準に従いMPEGデコーダの各機能ブロックの計算負荷を選択的に調整するステップを備える。これにより、実質的な計算オーバーヘッド(computational overhead)を回避することができる。
【0007】
本発明は、プログラム可能な映像デコードシステムに関し、当該映像デコードシステムは、ブロックベースのデータパケットを受信及びデコードし、該デコードされたデータパケットから量子化データを出力するよう構成された可変長デーコーダ(VLD)、前記ブロックベースデータパケットからヘッダー情報を抽出し、該ヘッダー情報に基づき映像複雑性アルゴリズムを実行するよう構成された複雑性予測装置(complexity estimator)、前記VLDから量子化データを受信し、該量子化データを逆量子化するよう接続された逆量子化装置、周波数領域から空間領域に前記逆量子化されたデータを変換するよう前記逆量子化装置の出力に接続された逆離散コサイン変換装置(IDCT)、前記量子化データから動きベクトルデータを受信し、基準信号を生成するよう構成された動き補償装置(MC)、及び前記基準信号と前記空間領域データをIDCTから受信し、動き補償映像を形成する加算器からなる。
【0008】
本発明による方法及びシステムのさらなる完全な理解は、添付された図面と共に以下の詳細な説明を参照することによってなされうる。
【0009】
[実施例の詳細な説明]
以下の説明では、限定でなく説明の目的で、本発明の完全な理解のため、特定のアーキテクチャ、インターフェイス、テクニックなどの詳細が与えられる。しかしながら、これらの詳細から離れた他の実施例においても、本発明は実現されるということは当業者には明らかであろう。簡単化のため、既知の装置、回路及び方法に関する詳細な説明は、不要な詳細化により本発明の説明がわかりにくくなるのを避けるため、省略される。
【0010】
図1は、本発明の実施例によるデコードされた映像サンプルを復元できるMPEG映像デコーダ10の主要な構成要素を示す。ここで、入力データの圧縮はデコーダ10への入力前に実行されている。映像データの圧縮は、例えば、MPEG2符号化処理における基準に従い、人間の肉眼では感知できない情報の削除など、既知の様々な方法により実行される。MPEG2は、映像プログラムを6 Mbits/secに符号化し、多数の6 Mbits/secチャンネルストリームを単一のより高速な信号転送ストリームにパケット化することが可能な第2世代の圧縮規格である。映像要素は、空間情報から処理対象の周波数領域情報に変換される。
【0011】
映像情報には、MPEG規格で規定されている3つのタイプのフレーム、すなわち、フレーム内符号化(I frame)、順方向予測符号化(P frame)及び双方向予測符号化(B frame)がある。Iフレームあるいは実映像基準フレームは、例えば、15フレームにつき1つの基準フレームのように、定期的に符号化される。予測は、特定のフレーム数だけ順方向にかつ次の基準フレーム前に位置する映像フレーム、すなわち、Pフレームの合成から生成される。Bフレームは、Iフレームと予測されたPフレームとの間で、あるいは過去の基準フレームのマクロブロックを未来の基準フレームのマクロブロックにより補間(平均化)することにより予測される。また、現在フレーム中のマクロブロックに関する基準フレーム中のマクロブロックの相対位置を特定する動きベクトルが符号化される。
【0012】
フレームは離散コサイン変換(DCT)符号化スキームを利用し符号化される。この符号化スキームでは、係数が特定のコサインベーシス関数の振幅として符号化される。DCT係数は量子化され、さらに可変長符号化を利用し符号化される。可変長符号化(VLC)12は、符号語を符号化対象の値に割り当てる統計的符号化手法である。出現頻度の高い値には短い符号語が、出現頻度の低い値には長い符号語が割り当てられる。概して、出現頻度の高い短い符号語がより多数を占めるようになるので、符号列はもとのデータより短くなる。
【0013】
従って、上述のように圧縮された符号化フレームを受信すると、デコーダ10は、過去の基準フレームの対応するマクロブロックに適用された動きベクトルにより動き補償を実行することにより、現在Pフレームのマクロブロックをデコードする。デコーダ10はまた、過去及び未来それぞれの基準フレームに適用される動きベクトルにより動き補償を実行することにより、Bフレームのマクロブロックをデコードする。動き補償は、多くの映像解凍方法の中で最も高い計算負荷を要するものの1つである。画素が映像フレーム間で変化するとき、しばしばこの変化は予測可能カメラ(predictable camera)や被写体の動きによるものである。したがって、1つのフレームにおける画素のマクロブロックは、以前あるいは以後のフレームにおける画素のマクロブロックを変換することにより得られうる。この変換量が動きベクトルとして呼ばれるものである。Iフレームは過去あるいは未来のフレームを参照することなく単一の画像として符号化されるので、Iフレームのデコード処理には動き処理は不要である。
【0014】
映像システムが上記解凍に要する計算負荷に対応できないとき、しばしばフレーム全体が欠落することがある。この現象は、映像再生中の映像の一時的なフリーズとして観察され、その後映像が不連続になったり、ガタツキ(jerkiness)が生じる。この対策として、図1に示された実施例は、再生映像の画質を維持する一方、解凍方法による処理要求を低減するため複雑性予測を提供する。
【0015】
図1を参照するに、本発明によるデコード処理をスケーリングするMPEG映像デコーダ10は、可変長デコーダ(VLC)12、逆走査/量子化回路14、スケーラブルスイッチ(scalable switch)15、逆離散コサイン変換(IDCT)回路16、加算器18、フレームバッファ20、複雑性評価装置22、及び動き補償モジュール24からなる。動作モードにおいて、デコーダ10は圧縮映像情報のストリームを受信し、このストリームはVLCデコーダ12に与えられる。VLCデコーダ12は、この圧縮信号の可変長符号化部分をデコードし、可変長デコード信号として逆走査(あるいはジグザグ)/量子化回路14に供給する。逆走査(あるいはジグザグ)/量子化回路14はこの可変長デコード信号をデコードし、ジグザグデコード信号を出力する。逆ジグザグ量子化処理は、圧縮映像信号がジグザグランレングス符号(zig-zag run-length code)形式で圧縮されるという事実を補償するものである。このジグザグデコード信号は、IDCT回路16に供給される。IDCT回路16はブロック毎にジグザグデコード映像信号に逆離散コサイン変換を実行し、解凍画素値あるいは解凍エラー項を出力する。解凍画素値は加算器18に供給される。
【0016】
一方、動き補償モジュール24は、動き情報を受信し、マクロブロック毎に動き補償画素を加算器18に供給する。より詳細には、順方向動きベクトルを使って過去の画像の画素を変換し、逆方向動きベクトルを使って未来の画像の画素を変換する。その後、この情報は逆DCT回路16により与えられた解凍エラー項により補償される。動き補償回路24は、フレームバッファ20からの過去画像情報及び未来画像情報にアクセスする。その後、過去画像情報は動き補償回路24により順方向動き補償され、順方向動き補償画素マクロブロックとして出力される。未来画像情報は動き補償回路24により逆方向動き補償され、逆方向動き補償画素マクロブロックとして出力される。この2つのマクロブロックの平均化により、双方向動き補償マクロブロックが生成される。次に、加算器18は、1つのフレームが完了するまで、解凍映像情報と動き補償画素を受信し、バッファ20に解凍画素を供給する。もし当該ブロックが予測マクロブロックに属していなければ(例えば、Iマクロブロックの場合)、これらの画素値はそのままフレームバッファ20に出力される。他方、予測マクロブロックであれば(例えば、BマクロブロックやPマクロブロック)、加算器18は動き補償回路24から出力された順方向動き補償及び逆方向動き補償に解凍エラーを加え、フレームバッファ20へ出力する画素値を生成する。
【0017】
上述された本実施例の構成及び動作は、本発明によるデコーダ10がさらに複雑性推定装置22を備えているという点を除けば、既知の技術である。本発明によるデコーダ10に備えられた複雑性推定装置22は、デコーダ10におけるフレーム、スライス及びマクロブロックの計算負荷に関する評価を提供することができる。従って、複雑性推定装置22は、実際に(VLD動作を除く)MPEG2デコードブロックを実行する前に、現在のフレーム、スライス及びマクロブロックの計算負荷を予測する機能を備えている。このような予測により、メディアプロセッサにおいて実現されるマルチメディアシステムのスムーズな動作を保証する複雑性制御機構の構成が可能となる。すなわち、本発明によるデコーダは、利用可能な計算資源、すなわち、IDCT16とMC24とのトレードオフを可能にすることにより、スケーラビリティ(scalability)を提供する。
【0018】
図2は、IDCT16及びMC24の計算負荷を推測及び調整可能な基本動作ステップを示す。本発明では、マクロブロックタイプの情報を利用し、起こりうる計算のオーバーヘッドを予測し、IDCT26及び/またはMC24の計算複雑性を適応的に制御する。これにより、デコーダ10にはより小さな計算負荷が与えられるようになる。複雑性の尺度は、特定のコプロセッサ(coprocessor)上でのソフトウェア実行に要するトータルのマシーンサイクル数により定義される。従って、ブロック30では、マクロブロックのヘッダー情報がデコーダ10への入力信号から抽出される。ブロック40において、抽出されたヘッダー情報はIDCT16及び/あるいはMC24に要求される計算負荷を予測するため解析される。一般的に、処理対象の情報の種類に応じて、デコーダ10の構成要素にタスクが与えられる。少ないタスク及び負荷で処理が実行されているときは、IDCT16及び/またはMC24の計算負荷をスケーリングすることにより、デコーダの計算負荷が減らされる。
【0019】
本発明による、計算負荷を予測して動的予測をサポートし、デコード処理をスケーリングする手段が詳細に説明される。図3のフローチャートは、複雑性推定装置のソフトウェアによる実施例の動作を示す。このフローチャートは、一般にハードウェアによる実施例にも適用可能である。
【0020】
図3に示されるように、ステップ100において、圧縮映像情報のストリームが本発明によるデコーダ12に受信される。ステップ110において、現在のマクロブロックのヘッダー情報が、MPEG2デコード動作の実行前に抽出される。マクロブロックのタイプ情報に関するフォーマットが図4(a)〜4(c)に示される。ヘッダー情報を受信すると、ステップ120において、複雑性推定装置22はデコーダ12のパフォーマンス能力を決定する。すなわち、ヘッダー情報とデコーダ10の利用可能な計算リソースに基づき、IDCT16及びMC24のパフォーマンスを評価する。複雑性を推定するために、4つのパラメータがVLDヘッダーから抽出される。これら4つのパラメータは、以下で説明するような可変の計算ウェートの割り当てのため、個々に分析される。
【0021】
ステップ130において、デコーダ10により受信されたマクロブロックのタイプに応じて、異なる計算ウェート(Ctype)が逆DCT16に割り当てられる。図4を参照するに、もしマクロブロックタイプがイントラであれば、イントラ符号化マクロブロックのみがマクロブロックタイプを介することなくIDCT16による計算を要するので、対応する計算ウェートがゼロに割り当てられる。現在のマクロブロックが動き補償されてなく符号化されていれば、以前のブロックを参照し、それを現在のブロックにコピーするのに関する計算負荷は動き補償より計算を必要としないので、対応する計算ウェートはWとされる。現在マクロブロックが動き補償されているが符号化はされていない場合、対応する計算ウェートは2Wとされる。現在マクロブロックが補間動き補償されかつ符号化されている場合、順方向ベクトル及び逆方向ベクトルの抽出の必要性から、計算負荷は他のケースよりも高くなるので、対応するウェートは3Wとされる。
【0022】
ステップ140において、ヘッダー情報から導出される動きベクトル量が、IDCT16とMC24のパフォーマンスの異なるグレード(Cmv)が必要かどうか判断するため、あらかじめ設定された閾値と比較される。言い換えると、大きな動きベクトルに対しては、前のブロックから現在のブロックまでのメモリアクセス時間及びメモリ書き込み時間は、短い動きベクトルのものより長くなる。したがって、もし動きベクトル量が閾値より大きければ、計算負荷はW1に対応し、そうでなければ、計算負荷はゼロが割り当てられる。この結果、動きベクトル量が所定の閾値レベルを上回るマクロブロックにIDCT16あるいはMC24を提供し、最適なパフォーマンス維持の間、IDCT16及び/あるいはMC24のCPU負荷をスケーリングすることにより、かなりの計算リソースの節約が可能となる。
【0023】
ステップ150において、IDCT16とMC24のパフォーマンスの異なるグレード(Cmvc)が必要かどうか判断するため、ヘッダー情報から抽出される動きベクトルカウントが調べられる。ここで、2ベクトルMCでは、1ベクトルMCの代わりにデコードアルゴリズムは異なる2つの記憶領域にアクセスする必要があるので、異なる計算ウェートが割り当てられる。すなわち、もし動きベクトルがフィールドタイプベクトルであれば、その推定複雑性はフレームタイプベクトルのものより高くなる。なぜならフレームタイプベクトルのカウントが1であるのに対し、フィールドタイプベクトルカウントは2であるからである。従って、計算ウェートW2は、ヘッダー情報において検出されたカウント数に比例して増加される。
【0024】
ステップ160において、IDCT16及びMC24のパフォーマンスの異なるグレード(CBN/CCBP)が必要かどうか判断するため、ヘッダー情報からの非ゼロDCT係数の数や符号化ブロックパターン(CBP)のブロック数が解析される。すなわち、DCT係数の希薄性(sparseness)に依存して、本発明によるMPEGデコーダはIDCTの計算負荷を最小にすることができる。従って、ヘッダー情報から検出された非ゼロDCT係数の数に基づいて、計算負荷W3が計算される。また、CBPカウントに比例して、計算負荷W4が利用されてもよい。CBPカウントは符号化されているブロック数を示すものである。
【0025】
ストリームからこれらのパラメータを抽出し、適当なウェートを割り当てた後、マクロブロックデコード処理に要する計算負荷が正確に推定することができるようになる。ステップ170において、計算ウェートの結果が合計され、平均最小計算負荷(Cbase)が加算される。その後、推定負荷(Cest)に基づき、複雑性推定装置22が、IDCT計算及び/または動き補償負荷の増加/減少を行う。ステップ180において、マクロブロックヘッダーから検出されるパフォーマンス予測のレベルに依存して、もしプロセッサのパフォーマンスが相対的に高いと判断されれば、IDCT回路16あるいは動き補償回路24の計算負荷は相対的に高いレベルに設定される。逆に、もしプロセッサのパフォーマンスが相対的に低いと判断されれば、計算負荷は相対的に低いレベルに設定される。すなわち、もしステップ180において累積ウェート係数に基づき推定された計算負荷が120[メガサイクル/秒]に対応し、デコーダ10の利用可能な処理能力が100[メガサイクル/秒]に制限されていれば、この2つの値の比(すなわち、100/120 = 80%)が、IDCT16の計算及び/またはMC24の計算のためのスケール係数として利用される。従って、例えば、IDCT16のCPU負荷の80%のみがデコーダ10への入力データの処理に利用させることができる。このように、デコーダ10の最大CPU負荷を上回ることから生じるフレーム欠けや予期せぬ結果を避けるために、IDCT16及び/あるいはMC24は計算負荷を低減するよう選択的に調整される。デコーダ10の構成要素のCPU負荷のスケーリング量は、オペレータにより設定された所定の基準(あるいはウェート係数)及びデコーダの利用可能な処理能力に従い変動する。
【0026】
上述のように、システムにタスクがロードされ、その後このタスクから解放されるので、計算負荷は現在のシステムパフォーマンスの変動に伴い動的変化をする。さらに、スライスあるいはフレームレベルにおいて、マクロブロック計算推定を加える必要がある。従って、1つのフレームあるいは1つのスライス内のマクロブロックタイプ情報の計算推定の全体的スケール係数を計算することにより、フレームあるいはスライスレベルで同一の計算あるいは動き補償が実現されうる。
【0027】
映像系列(Molens.codbitstream)の複雑性推定結果が、図6(a)及び図6(b)に示される。2つの図に示されるように、上のグラフは実際のTriMedia(PhilipsTM)MPEG2デコーダのパフォーマンスを表し、下のグラフは本発明による推定負荷を表す。図6(a)は、TriMedia1300におけるMolens系列のデコード処理の実際のCPUサイクルと本発明による推定CPUサイクルとの比較を表し、図6(b)は、Molens系列の非DCC(dynamic complexity control)MPEG2デコード処理のCPUサイクルと本発明によるDCC(dynamic complexity control)デコード処理のものとの比較を表す。これらの間には約0.97の相関係数が存在することがわかった。
【0028】
以上、映像デコーダにおけるIDCT計算または動き補償を選択的に実行する方法が開示された。この開示された方法では、解凍に要する処理量を減少させることができる。これにより、最終的な映像画質の大きな劣化なく、解凍効率を高めることができる。また、本発明の好適な実施例が例示及び説明されてきたが、本発明の範囲を逸脱することなく、様々な変更及び修正が可能であり、本発明の構成要素をそれと等価なものと置き換えることができる。従って、本発明は、その実行に関し考えられたベストモードとして開示された実施例に制限されるものでなく、添付されたクレームの範囲にあるあらゆる実施例を含むものである。
【図面の簡単な説明】
【0029】
【図1】図1は、映像情報の解凍における計算負荷を調整する一例となるプロセッサを示す。
【図2】図2は、図1のプロセッサにおける動作ステップを示したフローチャートである。
【図3】図3は、本発明によるプロセッサの計算負荷の推定を示したフローチャートである。
【図4(a)】マクロブロックタイプ情報のフォーマットを示す。
【図4(b)】マクロブロックタイプ情報のフォーマットを示す。
【図4(c)】マクロブロックタイプ情報のフォーマットを示す。
【図5】図5は、本発明による様々なタイプのヘッダー情報に割り当てられる計算ウェートのテーブルを示す。
【図6(a)】本発明による映像系列の複雑性の推定の実際のシミュレーションを示す。
【図6(b)】本発明による映像系列の複雑性の推定の実際のシミュレーションを示す。[0001]
[Background of the Invention]
[1. TECHNICAL FIELD OF THE INVENTION]
The present invention relates to video processing of compressed video information, and more particularly, to a method and apparatus for adjusting a calculation load of an MPEG decoder.
[0002]
[2. Description of Related Technology]
Typically, video information is compressed to save storage space and decompressed in a bitstream for display. Therefore, it is highly desirable to decode compressed video information quickly and efficiently in order to provide video images. One of the standard compression methods widely used for compression and decompression of video information is the Moving Pictures Expert Group (MPEG) standard. The MPEG standard is based on the international standard ISO / IEC 11172-1 "Information Technology-Coding of moving pictures and associated audio for digital strategies, three-to-one, first-to-second, first-to-second, first-, second-, third-, third-, and third-thirds. -1. Please refer to the above document for the entire contents.
[0003]
In general, many video systems aim to decode compressed video information quickly and efficiently in order to provide moving picture video. Currently, the computational load required to process one frame is not affected by the decoding algorithm in the MPEG2 decode processor. However, due to the irregular calculation load operation of the MPEG2 decoding process, the peak of the frame calculation load may exceed the maximum load of the CPU of the media processor, which may cause a frame drop or an unexpected result. For this reason, when the technician executes the MPEG2 decoding process in the media processor, a performance margin exceeding the average calculation load for the decoding process by 40 to 50% is provided so that a smooth operation is performed at the peak of the calculation load. You need to choose a processor. Such an implementation is uneconomical and wastes resources, since the peak in computational load does not occur frequently. Without predicting or estimating the complexity of the computational load of frames, slices, and macroblocks, it would be impossible for a video system engineer to adjust the peak of the computational demands of an MPEG bitstream. is there.
[0004]
Therefore, there is a need to provide a complexity prediction algorithm for an MPEG2 decoder running on a media processor.
[0005]
[Summary of the Invention]
The present invention relates to a method and system for improving the decoding efficiency of an MPEG digital video decoder system by scaling the decoding of an encoded digital video signal.
[0006]
The present invention provides a method for adjusting a calculation load of an MPEG decoder in a video processing system. The method according to the invention comprises the step of extracting, in the compressed video data stream, header information of macroblocks whose motion vector is greater than a predetermined threshold. Also, the method according to the invention comprises the step of selectively adjusting the computational load of each functional block of the MPEG decoder according to predetermined criteria. Thereby, substantial computational overhead can be avoided.
[0007]
The present invention relates to a programmable video decoding system, wherein the video decoding system receives and decodes a block-based data packet and outputs a quantized data from the decoded data packet. VLD), extracting header information from the block-based data packet, a complexity estimator configured to execute a video complexity algorithm based on the header information, receiving quantized data from the VLD, An inverse quantizer connected to inverse quantize the quantized data, an inverse discrete cosine transform connected to an output of the inverse quantizer to transform the inversely quantized data from a frequency domain to a spatial domain An apparatus (IDCT) for receiving motion vector data from the quantized data and generating a reference signal As configured motion compensator (MC), and receives from the reference signal and the IDCT spatial domain data, and an adder for forming a motion-compensated video.
[0008]
A more complete understanding of the method and system according to the present invention may be made by reference to the following detailed description in conjunction with the accompanying drawings.
[0009]
[Detailed description of embodiments]
In the following description, for purposes of explanation and not limitation, specific architecture, interfaces, techniques, etc., are provided for a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these details. For simplicity, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
[0010]
FIG. 1 shows the main components of an
[0011]
The video information includes three types of frames defined by the MPEG standard, namely, intra-frame coding (I frame), forward prediction coding (P frame), and bidirectional prediction coding (B frame). . The I frame or actual video reference frame is periodically encoded, for example, one reference frame out of every 15 frames. The prediction is generated from the synthesis of a video frame located in the forward direction by a specific number of frames and before the next reference frame, that is, a P frame. The B frame is predicted between the I frame and the predicted P frame or by interpolating (averaging) a macroblock of a past reference frame with a macroblock of a future reference frame. Also, a motion vector that specifies the relative position of the macroblock in the reference frame with respect to the macroblock in the current frame is encoded.
[0012]
The frame is encoded using a discrete cosine transform (DCT) encoding scheme. In this coding scheme, the coefficients are coded as the amplitude of a particular cosine basis function. The DCT coefficients are quantized and further encoded using variable length coding. Variable length coding (VLC) 12 is a statistical coding technique that assigns codewords to values to be coded. A short code word is assigned to a value with a high appearance frequency, and a long code word is assigned to a value with a low appearance frequency. In general, short code words with a high frequency of occurrence will occupy a larger number, and thus the code sequence will be shorter than the original data.
[0013]
Thus, upon receiving a coded frame that has been compressed as described above, the
[0014]
When the video system cannot handle the computational load required for the decompression, often the entire frame is dropped. This phenomenon is observed as a temporary freeze of the video during video playback, after which the video becomes discontinuous or rattles (jerkiness). As a countermeasure, the embodiment shown in FIG. 1 provides complexity estimation to reduce the processing requirements of the decompression method while maintaining the quality of the reproduced video.
[0015]
Referring to FIG. 1, an
[0016]
On the other hand, the motion compensation module 24 receives the motion information and supplies a motion compensation pixel to the
[0017]
The configuration and operation of the present embodiment described above is a known technique except that the
[0018]
FIG. 2 shows the basic operating steps that can estimate and adjust the computation load of the
[0019]
The means for predicting the computational load, supporting dynamic prediction and scaling the decoding process according to the present invention are described in detail. The flowchart of FIG. 3 shows the operation of the embodiment by software of the complexity estimation device. This flowchart is also generally applicable to hardware embodiments.
[0020]
As shown in FIG. 3, in
[0021]
In
[0022]
In
[0023]
In
[0024]
In
[0025]
After extracting these parameters from the stream and assigning appropriate weights, the calculation load required for macroblock decoding can be accurately estimated. In
[0026]
As described above, as tasks are loaded into the system and subsequently released from the tasks, the computational load changes dynamically with current system performance fluctuations. Further, it is necessary to add a macroblock calculation estimation at the slice or frame level. Therefore, the same calculation or motion compensation can be realized at the frame or slice level by calculating the overall scale factor of the calculation estimation of the macroblock type information in one frame or one slice.
[0027]
The results of estimating the complexity of the video sequence (Molens.codbitstream) are shown in FIGS. 6 (a) and 6 (b). As shown in the two figures, the upper graph represents the actual TriMedia (Philips ™ ) MPEG2 decoder performance and the lower graph represents the estimated load according to the present invention. FIG. 6A shows a comparison between the actual CPU cycle of the decoding process of the Molens sequence in the TriMedia 1300 and the estimated CPU cycle according to the present invention, and FIG. 6B shows the non-DCC (dynamic complexity control) MPEG2 of the Molens sequence. 4 shows a comparison between a CPU cycle of a decoding process and a DCC (dynamic complexity control) decoding process according to the present invention. It was found that there was a correlation coefficient of about 0.97 between them.
[0028]
Thus, a method for selectively performing IDCT calculation or motion compensation in a video decoder has been disclosed. With the disclosed method, the amount of processing required for thawing can be reduced. As a result, the decompression efficiency can be increased without significant deterioration of the final image quality. Also, while preferred embodiments of the present invention have been illustrated and described, various changes and modifications can be made without departing from the scope of the present invention, and components of the present invention are replaced with equivalents. be able to. Accordingly, the present invention is not limited to the embodiments disclosed as the best mode contemplated for their implementation, but includes any embodiment falling within the scope of the appended claims.
[Brief description of the drawings]
[0029]
FIG. 1 illustrates an example processor that adjusts the computational load in decompressing video information.
FIG. 2 is a flowchart showing operation steps in the processor of FIG. 1;
FIG. 3 is a flowchart showing an estimation of a calculation load of a processor according to the present invention.
FIG. 4A shows a format of macroblock type information.
FIG. 4B shows a format of macroblock type information.
FIG. 4C shows a format of macroblock type information.
FIG. 5 shows a table of computational weights assigned to various types of header information according to the present invention.
FIG. 6 (a) shows an actual simulation of the estimation of the complexity of a video sequence according to the invention.
FIG. 6 (b) shows an actual simulation of the estimation of the complexity of a video sequence according to the invention.
Claims (30)
複数のマクロブロックを含む圧縮映像データストリームをデコードする手段であって、該デコードする手段は前記デコードされたデータストリームから量子化データを出力するよう動作する手段;
前記量子化データに逆量子化処理を実行する手段;
該逆量子化処理を実行する手段からの出力の逆離散コサイン変換(IDCT)を実行する手段;
前記デコードする手段からの前記量子化データからヘッダー情報を抽出し、所定の基準に従って予測処理を実行する手段;
前記デコードする手段からの前記量子化データに基づき動き補償基準値を生成する手段;及び
動き補償画像を形成するため、前記IDCTを実行する手段と前記動き補償基準値を生成する手段からの出力を加算する手段;
からなることを特徴とするMPEGデコーダ。An MPEG decoder for improving decoding efficiency by scaling the decoding of an encoded digital video signal, comprising:
Means for decoding a compressed video data stream comprising a plurality of macroblocks, the means for decoding operative to output quantized data from the decoded data stream;
Means for performing an inverse quantization process on the quantized data;
Means for performing an inverse discrete cosine transform (IDCT) of the output from the means for performing the inverse quantization;
Means for extracting header information from the quantized data from the decoding means and executing a prediction process according to a predetermined criterion;
Means for generating a motion compensation reference value based on the quantized data from the decoding means; and output from the means for executing the IDCT and the means for generating the motion compensation reference value to form a motion compensated image. Means for adding;
An MPEG decoder comprising:
前記ブロックベースのデータパケットからヘッダー情報を抽出し、該抽出されたヘッダー情報に基づき映像複雑性アルゴリズムを実行するよう構成された複雑性推定装置;
前記可変長デコーダからの前記量子化データを受信し、該量子化データを逆量子化するよう接続された逆量子化装置;
前記逆量子化装置からの前記逆量子化されたデータを受信し、該逆量子化されたデータを周波数領域から空間領域に変換する逆離散コサイン変換装置(IDCT);
前記量子化データから動きベクトルデータを受信し、基準信号を生成するよう構成された動き補償装置(MC);及び
前記IDCTから前記基準信号及び前記空間領域データを受信し、動き補償画像を形成する加算器;
からなることを特徴とするプログラム可能な映像デコードシステム。A variable length decoder (VLD) configured to receive and decode a stream of block-based data packets and output quantized data from the decoded data packets;
A complexity estimator configured to extract header information from the block-based data packet and execute a video complexity algorithm based on the extracted header information;
An inverse quantization device connected to receive the quantized data from the variable length decoder and inversely quantize the quantized data;
An inverse discrete cosine transform (IDCT) that receives the inversely quantized data from the inverse quantizer and transforms the inversely quantized data from a frequency domain to a spatial domain;
A motion compensator (MC) configured to receive motion vector data from the quantized data and generate a reference signal; and receive the reference signal and the spatial domain data from the IDCT to form a motion compensated image. Adder;
A programmable video decoding system, comprising:
前記VLCデコーダにより圧縮映像データストリームを受信し、該圧縮映像データストリームからデコードデータを生成するステップ;
前記デコードデータからヘッダー情報を抽出するステップ;
前記推定装置による前記ヘッダー情報の分類に基づいて、前記IDCT及び前記MCの合計計算負荷(Cest)を計算するステップ;
前記逆量子化装置(IQ)を使って前記デコードデータを逆量子化し、逆量子化デコードデータを生成するステップ;
前記合計計算負荷(Cest)に基づき、前記IDCTを使って周波数領域から空間領域に前記逆量子化デコードデータを変換し、差分データを生成するステップ;
前記計算負荷に基づき、前記MCを使って前記符号化デジタル映像信号の基準データを生成するステップ;及び
前記基準データ及び前記差分データを組み合わせて、動き補償画像を形成するステップ;
からなることを特徴とする方法。Encoded data video using an MPEG digital video decoder consisting of a variable length code (VLC) decoder, inverse quantizer (IQ), inverse discrete cosine transform (IDCT), motion compensator (MC) and estimator A method for improving the decoding efficiency of a signal, comprising:
Receiving a compressed video data stream by the VLC decoder and generating decoded data from the compressed video data stream;
Extracting header information from the decoded data;
Calculating a total calculation load (C est ) of the IDCT and the MC based on the classification of the header information by the estimating device;
Inversely quantizing the decoded data using the inverse quantization device (IQ) to generate inversely quantized decoded data;
Converting the dequantized decoded data from the frequency domain to the spatial domain using the IDCT based on the total calculation load (C est ), and generating difference data;
Generating reference data of the encoded digital video signal using the MC based on the calculation load; and combining the reference data and the difference data to form a motion-compensated image;
A method characterized by comprising:
前記抽出されたヘッダー情報のマクロブロックに基づき、第1計算負荷(Ctype)を決定するステップ;
前記抽出されたヘッダー情報の動き量に基づき、第2計算負荷(Cmv)を決定するステップ;
前記抽出されたヘッダー情報の動きベクトル量に基づき、第3計算負荷(Cmvc)を決定するステップ;
前記抽出されたヘッダー情報の非ゼロDCT係数の数に基づき、第4計算負荷(CBN)を決定するステップ;
前記抽出されたヘッダー情報の符号化ブロックパターン(CBP)数に基づき、第5計算負荷(CCBP)を決定するステップ;及び
前記第1、第2、第3、第4及び第5計算負荷と平均計算負荷(Cbase)を組み合わせ、前記合計計算負荷(Cest)を生成するステップ;
からなることを特徴とする方法。The method of claim 14, wherein calculating the total computational load (C est ) further comprises:
Determining a first calculation load (C type ) based on the extracted macroblock of the header information;
Determining a second calculation load (C mv ) based on the amount of movement of the extracted header information;
Determining a third calculation load (C mvc ) based on the motion vector amount of the extracted header information;
Determining a fourth computational load (C BN ) based on a number of non-zero DCT coefficients of the extracted header information;
Determining a fifth calculation load (C CBP ) based on the number of coded block patterns (CBP) of the extracted header information; and determining the first, second, third, fourth and fifth calculation loads. Combining the average computational load (C base ) to generate the total computational load (C est );
A method characterized by comprising:
前記抽出されたヘッダー情報がイントラ符号化係数のセットを与える場合、Ctype=0とするステップ;
前記抽出されたヘッダー情報が符号化係数と非動き補償係数のセットを与える場合、Ctype=Wとするステップ;
前記抽出されたヘッダー情報が動き補償係数と非符号化係数のセットを与える場合、Ctype=2Wとするステップ;及び
前記抽出されたヘッダー情報が動き補償係数と符号化係数のセットを与える場合、Ctype=3Wとするステップ;
からなることを特徴とする方法。17. The method of claim 16, wherein determining the first computational load ( Ctype ) further comprises:
Setting C type = 0 if the extracted header information gives a set of intra-coded coefficients;
When the extracted header information provides a set of coding coefficients and non-motion compensation coefficients, setting C type = W;
If the extracted header information provides a set of motion compensation coefficients and uncoded coefficients, C type = 2W; and if the extracted header information provides a set of motion compensation coefficients and coded coefficients, Steps for setting C type = 3W;
A method characterized by comprising:
複数のマクロブロックを含む圧縮ビットストリームをデコードし、対応するデコードマクロブロックを取得するステップ;
前記デコードマクロブロックのヘッダー情報からヘッダー分類基準を取得するステップ;
前記推定装置を使って、前記デコードマクロブロックからのヘッダー情報に従い合計計算負荷(Cest)を予測し、該合計計算負荷(Cest)を前記IDCTと前記MCに転送するステップ;及び
前記合計計算負荷(Cest)に従って前記IDCTと前記MCの計算負荷を調整するステップ;
からなることを特徴とする方法。Encoded data using an MPEG digital video decoding system consisting of a variable length code (VLC) decoder, inverse quantizer (IQ), inverse discrete cosine transform (IDCT), motion compensator (MC), and estimator A prediction method for improving decoding efficiency of a video signal, comprising:
Decoding a compressed bitstream including a plurality of macroblocks and obtaining a corresponding decoded macroblock;
Obtaining a header classification criterion from header information of the decoded macroblock;
Estimating a total computation load (C est ) using the estimator according to header information from the decoded macroblock, and transferring the total computation load (C est ) to the IDCT and the MC; and Adjusting the computational load of the IDCT and the MC according to the load (C est );
A method characterized by comprising:
前記デコードマクロブロックのヘッダー情報のマクロブロックに基づき、第1計算負荷(Ctype)を決定するステップ;
前記デコードマクロブロックのヘッダー情報の動き量に基づき、第2計算負荷(Cmv)を決定するステップ;
前記デコードマクロブロックのヘッダー情報の動きベクトル量に基づき、第3計算負荷(Cmvc)を決定するステップ;
前記デコードマクロブロックのヘッダー情報の非ゼロDCT係数の数に基づき、第4計算負荷(CBN)を決定するステップ;
前記デコードマクロブロックのヘッダー情報の符号化ブロックパターン(CBP)数に基づき、第5計算負荷(CCBP)を決定するステップ;及び
前記第1、第2、第3、第4及び第5計算負荷と平均計算負荷(Cbase)を組み合わせ、前記合計計算負荷(Cest)を生成するステップ;
からなることを特徴とする方法。23. The prediction method according to claim 22, wherein the step of predicting the total calculation load (C est ) further comprises:
Determining a first calculation load (C type ) based on the macroblock in the header information of the decoded macroblock;
Determining a second calculation load (C mv ) based on a motion amount of header information of the decoded macroblock;
Determining a third calculation load (C mvc ) based on a motion vector amount of header information of the decoded macroblock;
Determining a fourth computational load (C BN ) based on a number of non-zero DCT coefficients in header information of the decoded macroblock;
Determining a fifth calculation load (C CBP ) based on the number of coded block patterns (CBP) in the header information of the decoded macroblock; and the first, second, third, fourth, and fifth calculation loads. the average combined computational load (C base), to generate the total computational load (C est) step;
A method characterized by comprising:
前記デコードマクロブロックのヘッダー情報がイントラ符号化係数のセットを与える場合、Ctype=0とするステップ;
前記デコードマクロブロックのヘッダー情報が符号化係数と非動き補償係数のセットを与える場合、Ctype=Wとするステップ;
前記デコードマクロブロックのヘッダー情報が動き補償係数と非符号化係数のセットを与える場合、Ctype=2Wとするステップ;及び
前記デコードマクロブロックのヘッダー情報が動き補償係数と符号化係数のセットを与える場合、Ctype=3Wとするステップ;
からなることを特徴とする方法。26. The prediction method according to claim 25, wherein the step of determining the first computational load (C type ) further comprises:
Setting C type = 0 if the header information of the decoded macroblock gives a set of intra-coded coefficients;
When the header information of the decoded macroblock gives a set of coding coefficients and non-motion compensation coefficients, setting C type = W;
If the header information of the decoded macroblock provides a set of motion compensation coefficients and non-coding coefficients, setting C type = 2W; and the header information of the decoded macroblock provides a set of motion compensation coefficients and coding coefficients. If C type = 3W;
A method characterized by comprising:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/837,036 US6925126B2 (en) | 2001-04-18 | 2001-04-18 | Dynamic complexity prediction and regulation of MPEG2 decoding in a media processor |
PCT/IB2002/001321 WO2002085031A1 (en) | 2001-04-18 | 2002-04-11 | Dynamic complexity prediction and regulation of mpeg2 decoding in a media processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004527960A true JP2004527960A (en) | 2004-09-09 |
Family
ID=25273329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002582627A Withdrawn JP2004527960A (en) | 2001-04-18 | 2002-04-11 | Dynamic complexity prediction and adjustment of MPEG2 decoding process in media processor |
Country Status (6)
Country | Link |
---|---|
US (1) | US6925126B2 (en) |
EP (1) | EP1382208A1 (en) |
JP (1) | JP2004527960A (en) |
KR (1) | KR100873586B1 (en) |
CN (1) | CN1230002C (en) |
WO (1) | WO2002085031A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007116601A1 (en) * | 2006-04-12 | 2007-10-18 | Panasonic Corporation | Image decoding device and its method |
JP2008526077A (en) * | 2004-12-22 | 2008-07-17 | エヌエックスピー ビー ヴィ | Video stream changing device |
JP2009515274A (en) * | 2005-11-04 | 2009-04-09 | ナショナル ユニバーシティ オブ シンガポール | Method and apparatus for determining the expected number of processor cycles required for each segment of a media file for playback of the media file |
WO2010100991A1 (en) * | 2009-03-03 | 2010-09-10 | シャープ株式会社 | Movie stream decoding apparatus, control method of same, program, and recording medium |
JP2014090456A (en) * | 2013-12-06 | 2014-05-15 | Telefon Ab L M Ericsson | Processing method and device of coded bitstream |
US9462233B2 (en) | 2009-03-13 | 2016-10-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods of and arrangements for processing an encoded bit stream |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266150B2 (en) | 2001-07-11 | 2007-09-04 | Dolby Laboratories, Inc. | Interpolation of video compression frames |
CN101448162B (en) | 2001-12-17 | 2013-01-02 | 微软公司 | Method for processing video image |
JP4447197B2 (en) * | 2002-01-07 | 2010-04-07 | 三菱電機株式会社 | Moving picture encoding apparatus and moving picture decoding apparatus |
US20040125204A1 (en) * | 2002-12-27 | 2004-07-01 | Yoshihisa Yamada | Moving picture coding apparatus and moving picture decoding apparatus |
US7428338B2 (en) * | 2002-01-10 | 2008-09-23 | Ricoh Co., Ltd. | Header-based processing of images compressed using multi-scale transforms |
JP4015934B2 (en) * | 2002-04-18 | 2007-11-28 | 株式会社東芝 | Video coding method and apparatus |
US7212681B1 (en) | 2003-01-15 | 2007-05-01 | Cisco Technology, Inc. | Extension of two-dimensional variable length coding for image compression |
DE10313149B4 (en) * | 2003-03-17 | 2005-09-29 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and arrangement for determining the decoding complexity of block-based coded video data streams and uses of this method and a corresponding computer program and a corresponding computer-readable storage medium |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7830963B2 (en) * | 2003-07-18 | 2010-11-09 | Microsoft Corporation | Decoding jointly coded transform type and subblock pattern information |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
KR20060043118A (en) * | 2004-10-07 | 2006-05-15 | 엘지전자 주식회사 | Method for encoding and decoding video signal |
US8107540B2 (en) * | 2005-07-11 | 2012-01-31 | Cheetah Technologies, L.P. | Image complexity computation in packet based video broadcast systems |
JP2007195117A (en) * | 2006-01-23 | 2007-08-02 | Toshiba Corp | Moving image decoding device |
WO2007091779A1 (en) | 2006-02-10 | 2007-08-16 | Lg Electronics Inc. | Digital broadcasting receiver and method of processing data |
WO2007126196A1 (en) * | 2006-04-29 | 2007-11-08 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
WO2007136166A1 (en) | 2006-05-23 | 2007-11-29 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
KR100790148B1 (en) * | 2006-07-27 | 2008-01-02 | 삼성전자주식회사 | Real-time video content complexity measur for rate control of video encoder |
US7873104B2 (en) | 2006-10-12 | 2011-01-18 | Lg Electronics Inc. | Digital television transmitting system and receiving system and method of processing broadcasting data |
CN100463525C (en) * | 2006-12-11 | 2009-02-18 | 浙江大学 | Video frequency coding method and device capable of dynamic regulating computational complexity |
KR101253185B1 (en) | 2007-03-26 | 2013-04-10 | 엘지전자 주식회사 | Digital broadcasting system and data processing method |
KR101285887B1 (en) | 2007-03-26 | 2013-07-11 | 엘지전자 주식회사 | Digital broadcasting system and method of processing data in digital broadcasting system |
KR101285888B1 (en) | 2007-03-30 | 2013-07-11 | 엘지전자 주식회사 | Digital broadcasting system and method of processing data in digital broadcasting system |
US8433973B2 (en) * | 2007-07-04 | 2013-04-30 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
WO2009005326A2 (en) | 2007-07-04 | 2009-01-08 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
KR20090012180A (en) | 2007-07-28 | 2009-02-02 | 엘지전자 주식회사 | Digital broadcasting system and method of processing data in digital broadcasting system |
CN101836448A (en) | 2007-08-24 | 2010-09-15 | Lg电子株式会社 | Digital broadcasting system and method of processing data in digital broadcasting system |
US8023562B2 (en) | 2007-09-07 | 2011-09-20 | Vanguard Software Solutions, Inc. | Real-time video coding/decoding |
US9445121B2 (en) | 2008-08-04 | 2016-09-13 | Dolby Laboratories Licensing Corporation | Overlapped block disparity estimation and compensation architecture |
CN101729883B (en) * | 2008-10-14 | 2013-03-20 | 上海炜寅信息科技有限公司 | Method for adaptively adjusting video decoding complexity |
US8526488B2 (en) * | 2010-02-09 | 2013-09-03 | Vanguard Software Solutions, Inc. | Video sequence encoding system and algorithms |
JP5501052B2 (en) * | 2010-03-24 | 2014-05-21 | キヤノン株式会社 | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, PROGRAM |
US8699582B2 (en) * | 2010-10-06 | 2014-04-15 | Qualcomm Incorporated | Context-based adaptations of video decoder |
US8767835B2 (en) * | 2010-12-28 | 2014-07-01 | Mitsubishi Electric Research Laboratories, Inc. | Method for coding videos using dictionaries |
WO2013074964A1 (en) | 2011-11-16 | 2013-05-23 | Vanguard Software Solutions, Inc. | Video compression for high efficiency video coding |
US10523490B2 (en) | 2013-08-06 | 2019-12-31 | Agilepq, Inc. | Authentication of a subscribed code table user utilizing optimized code table signaling |
US9444580B2 (en) * | 2013-08-06 | 2016-09-13 | OptCTS, Inc. | Optimized data transfer utilizing optimized code table signaling |
US10056919B2 (en) | 2014-07-02 | 2018-08-21 | Agilepq, Inc. | Data recovery utilizing optimized code table signaling |
AU2017278253A1 (en) | 2016-06-06 | 2019-01-24 | Agilepq, Inc. | Data conversion systems and methods |
CN112702601B (en) * | 2020-12-17 | 2023-03-10 | 北京达佳互联信息技术有限公司 | Method and apparatus for determining motion vector for inter prediction |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5289276A (en) * | 1992-06-19 | 1994-02-22 | General Electric Company | Method and apparatus for conveying compressed video data over a noisy communication channel |
US6011498A (en) * | 1996-12-20 | 2000-01-04 | Philips Electronics North America Corporation | Dual-speed variable length decoding architecture for MPEG-2 video data |
KR100248404B1 (en) | 1997-09-04 | 2000-03-15 | 정선종 | Circulating calculated decreasing method |
SG116400A1 (en) | 1997-10-24 | 2005-11-28 | Matsushita Electric Ind Co Ltd | A method for computational graceful degradation inan audiovisual compression system. |
EP0919952A1 (en) | 1997-11-28 | 1999-06-02 | Ecole Polytechnique Federale De Lausanne | Method for coding/decoding of a digital signal |
US6125147A (en) * | 1998-05-07 | 2000-09-26 | Motorola, Inc. | Method and apparatus for reducing breathing artifacts in compressed video |
-
2001
- 2001-04-18 US US09/837,036 patent/US6925126B2/en not_active Expired - Lifetime
-
2002
- 2002-04-11 CN CNB028012771A patent/CN1230002C/en not_active Expired - Fee Related
- 2002-04-11 KR KR1020027017224A patent/KR100873586B1/en not_active IP Right Cessation
- 2002-04-11 EP EP02720399A patent/EP1382208A1/en not_active Withdrawn
- 2002-04-11 WO PCT/IB2002/001321 patent/WO2002085031A1/en not_active Application Discontinuation
- 2002-04-11 JP JP2002582627A patent/JP2004527960A/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008526077A (en) * | 2004-12-22 | 2008-07-17 | エヌエックスピー ビー ヴィ | Video stream changing device |
JP2009515274A (en) * | 2005-11-04 | 2009-04-09 | ナショナル ユニバーシティ オブ シンガポール | Method and apparatus for determining the expected number of processor cycles required for each segment of a media file for playback of the media file |
JP4705987B2 (en) * | 2005-11-04 | 2011-06-22 | ナショナル ユニヴァーシティー オブ シンガポール | Method and apparatus for determining the expected number of processor cycles required for each segment of a media file for playback of the media file |
WO2007116601A1 (en) * | 2006-04-12 | 2007-10-18 | Panasonic Corporation | Image decoding device and its method |
WO2010100991A1 (en) * | 2009-03-03 | 2010-09-10 | シャープ株式会社 | Movie stream decoding apparatus, control method of same, program, and recording medium |
US9462233B2 (en) | 2009-03-13 | 2016-10-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods of and arrangements for processing an encoded bit stream |
JP2014090456A (en) * | 2013-12-06 | 2014-05-15 | Telefon Ab L M Ericsson | Processing method and device of coded bitstream |
Also Published As
Publication number | Publication date |
---|---|
CN1230002C (en) | 2005-11-30 |
CN1461566A (en) | 2003-12-10 |
WO2002085031A1 (en) | 2002-10-24 |
US6925126B2 (en) | 2005-08-02 |
KR20030014716A (en) | 2003-02-19 |
US20020154227A1 (en) | 2002-10-24 |
KR100873586B1 (en) | 2008-12-11 |
EP1382208A1 (en) | 2004-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004527960A (en) | Dynamic complexity prediction and adjustment of MPEG2 decoding process in media processor | |
KR100850705B1 (en) | Method for adaptive encoding motion image based on the temperal and spatial complexity and apparatus thereof | |
US9258567B2 (en) | Method and system for using motion prediction to equalize video quality across intra-coded frames | |
JP3954656B2 (en) | Image coding apparatus and method | |
US20030095603A1 (en) | Reduced-complexity video decoding using larger pixel-grid motion compensation | |
CN1949877B (en) | Adaptive quantization controller and method thereof | |
US20070098067A1 (en) | Method and apparatus for video encoding/decoding | |
US5974185A (en) | Methods and apparatus for encoding video data using motion vectors for decoding by regular or downconverting decoders | |
JP2001128179A (en) | Device and method for encoding moving picture | |
KR20040079084A (en) | Method for adaptively encoding motion image based on the temperal complexity and apparatus thereof | |
JPH0998427A (en) | Dynamic image encoding device | |
US7236529B2 (en) | Methods and systems for video transcoding in DCT domain with low complexity | |
JP2007124580A (en) | Moving picture encoding program, program storage medium and encoder | |
US20070071092A1 (en) | System and method for open loop spatial prediction in a video encoder | |
KR100498445B1 (en) | Image encoding method and apparatus for improving performance | |
JP2005005862A (en) | Picture coding device | |
JPH10108197A (en) | Image coder, image coding control method, and medium storing image coding control program | |
JP3765129B2 (en) | Encoding apparatus and encoding method | |
JP4100067B2 (en) | Image information conversion method and image information conversion apparatus | |
KR100480698B1 (en) | MPEG encoding method | |
JP4539028B2 (en) | Image processing apparatus, image processing method, recording medium, and program | |
JP4000581B2 (en) | Image coding apparatus and method | |
JP4186544B2 (en) | Encoding apparatus, encoding method, program, and recording medium | |
JP2004328799A (en) | Motion picture coding apparatus and motion picture coding method | |
JP2008245237A (en) | Image processing method and device, and image device using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050407 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070808 |