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 PDF

Info

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
Application number
JP2002582627A
Other languages
Japanese (ja)
Inventor
ラヌ,ツェ−ホア
チェヌ,インウエイ
ジョォン,ジュヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2004527960A publication Critical patent/JP2004527960A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management 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/462Content 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/4621Controlling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client 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/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel 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/2662Controlling 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 MPEG video decoder 10 capable of restoring decoded video samples according to an embodiment of the present invention. Here, the compression of the input data is executed before the input to the decoder 10. The compression of the video data is performed by various known methods such as deletion of information that cannot be sensed by the human naked eye, for example, in accordance with the standards in the MPEG2 encoding process. MPEG2 is a second generation compression standard that can encode video programs at 6 Mbits / sec and packetize a large number of 6 Mbits / sec channel streams into a single, faster signal transfer stream. The video element is converted from spatial information into frequency domain information to be processed.
[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 decoder 10 performs the motion compensation with the motion vector applied to the corresponding macroblock of the past reference frame, thereby obtaining the macroblock of the current P frame. To decode. The decoder 10 also decodes the macroblock of the B frame by performing motion compensation using a motion vector applied to each of the past and future reference frames. Motion compensation is one of the most computationally intensive methods of many video decompression methods. When pixels change between video frames, this change is often due to a predictable camera or subject movement. Thus, macroblocks of pixels in one frame can be obtained by transforming macroblocks of pixels in previous or subsequent frames. This conversion amount is called a motion vector. Since an I-frame is encoded as a single image without referring to past or future frames, motion processing is not required for I-frame decoding.
[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 MPEG video decoder 10 for scaling a decoding process according to the present invention includes a variable length decoder (VLC) 12, an inverse scanning / quantization circuit 14, a scalable switch 15, an inverse discrete cosine transform ( IDCT) circuit 16, adder 18, frame buffer 20, complexity evaluation device 22, and motion compensation module 24. In the operating mode, the decoder 10 receives a stream of compressed video information, which is provided to a VLC decoder 12. The VLC decoder 12 decodes the variable length coded portion of the compressed signal and supplies the decoded signal to the reverse scanning (or zigzag) / quantization circuit 14 as a variable length decoded signal. The reverse scanning (or zigzag) / quantization circuit 14 decodes this variable length decode signal and outputs a zigzag decode signal. The inverse zigzag quantization process compensates for the fact that the compressed video signal is compressed in a zig-zag run-length code format. This zigzag decode signal is supplied to the IDCT circuit 16. The IDCT circuit 16 performs an inverse discrete cosine transform on the zigzag decoded video signal for each block, and outputs a decompressed pixel value or a decompression error term. The decompressed pixel value is supplied to the adder 18.
[0016]
On the other hand, the motion compensation module 24 receives the motion information and supplies a motion compensation pixel to the adder 18 for each macroblock. More specifically, the pixels of the past image are converted using the forward motion vector, and the pixels of the future image are converted using the backward motion vector. This information is then compensated for by the decompression error term provided by the inverse DCT circuit 16. The motion compensation circuit 24 accesses past image information and future image information from the frame buffer 20. Thereafter, the past image information is subjected to forward motion compensation by the motion compensation circuit 24, and is output as a forward motion compensation pixel macroblock. The future image information is subjected to backward motion compensation by the motion compensation circuit 24, and is output as a backward motion compensated pixel macroblock. By averaging these two macroblocks, a bidirectional motion compensation macroblock is generated. Next, the adder 18 receives the decompressed video information and the motion compensation pixel until one frame is completed, and supplies the decompressed pixel to the buffer 20. If the block does not belong to the predicted macroblock (for example, if it is an I macroblock), these pixel values are output to the frame buffer 20 as they are. On the other hand, if the macroblock is a predicted macroblock (for example, a B macroblock or a P macroblock), the adder 18 adds a decompression error to the forward motion compensation and the backward motion compensation output from the motion compensation circuit 24 and adds a decompression error to the frame buffer 20. Generate a pixel value to be output to.
[0017]
The configuration and operation of the present embodiment described above is a known technique except that the decoder 10 according to the present invention further includes a complexity estimating device 22. The complexity estimator 22 provided in the decoder 10 according to the present invention can provide an evaluation on the computational load of frames, slices and macroblocks in the decoder 10. Therefore, the complexity estimating apparatus 22 has a function of estimating the calculation load of the current frame, slice, and macroblock before actually executing the MPEG2 decoding block (excluding the VLD operation). Such a prediction allows the configuration of a complexity control mechanism that guarantees a smooth operation of the multimedia system implemented in the media processor. That is, the decoder according to the present invention provides scalability by enabling a trade-off between available computational resources, ie, IDCT 16 and MC 24.
[0018]
FIG. 2 shows the basic operating steps that can estimate and adjust the computation load of the IDCT 16 and MC 24. The present invention utilizes macroblock type information to predict possible computational overhead and adaptively control the computational complexity of IDCT 26 and / or MC 24. As a result, a smaller calculation load is applied to the decoder 10. A measure of complexity is defined by the total number of machine cycles required to execute the software on a particular coprocessor. Therefore, in block 30, the header information of the macroblock is extracted from the input signal to the decoder 10. At block 40, the extracted header information is analyzed to predict the required computational load on IDCT 16 and / or MC 24. Generally, tasks are given to the components of the decoder 10 according to the type of information to be processed. When processing is performed with less tasks and load, scaling the computational load on the IDCT 16 and / or MC 24 reduces the computational load on the decoder.
[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 step 100, a stream of compressed video information is received by a decoder 12 according to the present invention. In step 110, the header information of the current macroblock is extracted before performing the MPEG2 decoding operation. The format relating to the type information of the macroblock is shown in FIGS. Upon receiving the header information, at step 120, the complexity estimator 22 determines the performance capabilities of the decoder 12. That is, the performance of the IDCT 16 and the MC 24 is evaluated based on the header information and the available calculation resources of the decoder 10. To estimate the complexity, four parameters are extracted from the VLD header. These four parameters are individually analyzed for variable computational weight assignments as described below.
[0021]
In step 130, a different computation weight (C type ) is assigned to the inverse DCT 16 depending on the type of macroblock received by the decoder 10. Referring to FIG. 4, if the macroblock type is intra, only the intra-coded macroblock needs to be calculated by IDCT 16 without going through the macroblock type, so the corresponding calculation weight is assigned to zero. If the current macroblock is motion-compensated and coded, the corresponding computations since referencing the previous block and copying it to the current block require less computation than motion compensation. Weight is W. If the macroblock is currently motion compensated but not coded, the corresponding calculation weight is 2W. If the current macroblock is interpolated motion compensated and coded, the corresponding weight is 3W since the computational load is higher than in other cases due to the need to extract the forward and backward vectors. .
[0022]
In step 140, the motion vector amount derived from the header information is compared with a preset threshold value to determine whether a different grade (C mv ) of the performance of the IDCT 16 and the MC 24 is required. In other words, for a large motion vector, the memory access time and memory write time from the previous block to the current block will be longer than for the short motion vector. Therefore, if greater than the threshold the motion vector amount, computational load corresponds to W 1, otherwise, the computational load is assigned zero. This results in significant computational resource savings by providing the IDCT 16 or MC 24 for macroblocks whose motion vector amount is above a predetermined threshold level and scaling the CPU load of the IDCT 16 and / or MC 24 during optimal performance maintenance. Becomes possible.
[0023]
In step 150, the motion vector count extracted from the header information is examined to determine whether different grades (C mvc ) of the performance of IDCT 16 and MC 24 are required. Here, in the two-vector MC, different decoding weights are assigned because the decoding algorithm needs to access two different storage areas instead of the one-vector MC. That is, if the motion vector is a field type vector, its estimated complexity will be higher than that of the frame type vector. This is because the frame type vector count is 1 while the field type vector count is 2. Therefore, calculated weights W 2 is increased in proportion to the number of counts detected in the header information.
[0024]
In step 160, the number of non-zero DCT coefficients from the header information and the number of blocks in the coded block pattern (CBP) are analyzed to determine whether different grades (C BN / C CBP ) of performance of the IDCT 16 and MC 24 are necessary. Is done. That is, depending on the sparseness of the DCT coefficients, the MPEG decoder according to the present invention can minimize the computational load of the IDCT. Therefore, based on the number of non-zero DCT coefficients detected from the header information, the computational load W 3 is calculated. Further, in proportion to the CBP count, calculation load W 4 may be utilized. The CBP count indicates the number of encoded blocks.
[0025]
After extracting these parameters from the stream and assigning appropriate weights, the calculation load required for macroblock decoding can be accurately estimated. In step 170, the results of the calculation weights are summed and the average minimum calculation load ( Cbase ) is added. Thereafter, based on the estimated load (C est ), the complexity estimator 22 performs the IDCT calculation and / or increases / decreases the motion compensation load. In step 180, depending on the level of performance prediction detected from the macroblock header, if the performance of the processor is determined to be relatively high, the computational load of the IDCT circuit 16 or the motion compensation circuit 24 is relatively low. Set to a higher level. Conversely, if the performance of the processor is determined to be relatively low, the computation load is set to a relatively low level. That is, if the computational load estimated at step 180 based on the cumulative weighting factor corresponds to 120 [megacycles / second] and the available processing power of the decoder 10 is limited to 100 [megacycles / second] , The ratio of the two values (ie, 100/120 = 80%) is used as a scale factor for the calculation of IDCT 16 and / or the calculation of MC 24. Therefore, for example, only 80% of the CPU load of the IDCT 16 can be used for processing input data to the decoder 10. In this manner, the IDCT 16 and / or the MC 24 are selectively adjusted to reduce the computational load to avoid frame dropping and unexpected results resulting from exceeding the maximum CPU load of the decoder 10. The amount of scaling of the CPU load of the components of the decoder 10 varies according to a predetermined reference (or weight coefficient) set by the operator and the available processing power of the decoder.
[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)

符号化デジタル映像信号のデコード処理をスケーリングすることによりデコード処理効率を向上させるMPEGデコーダであって:
複数のマクロブロックを含む圧縮映像データストリームをデコードする手段であって、該デコードする手段は前記デコードされたデータストリームから量子化データを出力するよう動作する手段;
前記量子化データに逆量子化処理を実行する手段;
該逆量子化処理を実行する手段からの出力の逆離散コサイン変換(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:
請求項1記載のMPEGデコーダであって、さらに、前記加算する手段の出力を記憶する手段を備えることを特徴とするMPEGデコーダ。2. The MPEG decoder according to claim 1, further comprising means for storing an output of said adding means. 請求項1記載のMPEGデコーダであって、前記抽出する手段は、前記複数のマクロブロックの抽出されたヘッダー情報に従って前記予測処理を実行することを特徴とするMPEGデコーダ。2. The MPEG decoder according to claim 1, wherein said extracting means executes said prediction processing according to extracted header information of said plurality of macroblocks. 請求項1記載のMPEGデコーダであって、前記予測処理は、前記IDCTを実行する手段と前記動き補償基準値を生成する手段の計算負荷を決定することを特徴とするMPEGデコーダ。2. The MPEG decoder according to claim 1, wherein the prediction process determines a calculation load of a unit that executes the IDCT and a unit that generates the motion compensation reference value. 請求項1記載のMPEGデコーダであって、該MPEGデコーダの計算負荷は、前記予測処理に基づき前記IDCTを実行する手段と前記動き補償基準値を生成する手段をスケーリングすることにより選択的に調整されることを特徴とするMPEGデコーダ。2. The MPEG decoder according to claim 1, wherein a calculation load of the MPEG decoder is selectively adjusted by scaling a means for performing the IDCT and a means for generating the motion compensation reference value based on the prediction processing. MPEG decoder. 請求項1記載のMPEGデコーダであって、前記抽出されたヘッダー情報は、前記デコードされたブロックベースのデータパケットからのマクロブロックタイプ、動きベクトル量、動きベクトルカウント、非ゼロ離散コサイン変換(DCT)係数、及び符号化ブロックパターン(CBP)数を含むことを特徴とするMPEGデコーダ。2. The MPEG decoder according to claim 1, wherein the extracted header information is a macroblock type, a motion vector amount, a motion vector count, a non-zero discrete cosine transform (DCT) from the decoded block-based data packet. An MPEG decoder comprising coefficients and a number of coding block patterns (CBP). 請求項1記載のMPEGデコーダであって、前記予測処理は、処理ユニット及び該処理ユニットの動作を制御するソフトウェアを利用して実行されることを特徴とするMPEGデコーダ。2. The MPEG decoder according to claim 1, wherein the prediction processing is executed using a processing unit and software for controlling an operation of the processing unit. ブロックベースデータパケットのストリームを受信及びデコードし、デコードされたデータパケットから量子化データを出力するよう構成された可変長デコーダ(VLD);
前記ブロックベースのデータパケットからヘッダー情報を抽出し、該抽出されたヘッダー情報に基づき映像複雑性アルゴリズムを実行するよう構成された複雑性推定装置;
前記可変長デコーダからの前記量子化データを受信し、該量子化データを逆量子化するよう接続された逆量子化装置;
前記逆量子化装置からの前記逆量子化されたデータを受信し、該逆量子化されたデータを周波数領域から空間領域に変換する逆離散コサイン変換装置(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:
請求項8記載の映像デコードシステムであって、さらに、前記加算器の出力を記憶するよう構成されたバッファを備えることを特徴とするシステム。The video decoding system according to claim 8, further comprising a buffer configured to store an output of the adder. 請求項8記載の映像デコードシステムであって、前記複雑性推定装置は、前記デコードされたブロックベースのデータパケットのヘッダー情報に従って前記映像複雑性アルゴリズムを実行し、前記デコードシステムの計算負荷は、前記映像複雑性アルゴリズムに基づいて前記IDCT及び前記MCをスケーリングすることにより調整されることを特徴とするシステム。9. The video decoding system according to claim 8, wherein the complexity estimating apparatus executes the video complexity algorithm according to header information of the decoded block-based data packet, and a calculation load of the decoding system is: A system wherein the system is adjusted by scaling the IDCT and the MC based on a video complexity algorithm. 請求項10記載の映像デコードシステムであって、前記IDCT及び前記MCの計算負荷は、前記映像複雑性アルゴリズムに従って選択的に調整されることを特徴とするシステム。The video decoding system according to claim 10, wherein the computational load of the IDCT and the MC is selectively adjusted according to the video complexity algorithm. 請求項8記載の映像デコードシステムであって、前記抽出されたヘッダー情報は、前記デコードされたブロックベースのデータパケットからのマクロブロックタイプ、動きベクトル量、動きベクトルカウント、非ゼロ離散コサイン変換(DCT)係数、及び符号化ブロックパターン(CBP)数を含むことを特徴とするシステム。9. The video decoding system according to claim 8, wherein the extracted header information is a macroblock type, a motion vector amount, a motion vector count, a non-zero discrete cosine transform (DCT) from the decoded block-based data packet. A) a system comprising coefficients and a number of coded block patterns (CBP); 請求項1記載の映像デコードシステムであって、前記映像複雑性アルゴリズムは、処理ユニットと該処理ユニットの動作を制御するソフトウェアを利用して実行されることを特徴とするシステム。The video decoding system according to claim 1, wherein the video complexity algorithm is executed using a processing unit and software for controlling the operation of the processing unit. 可変長符号(VLC)デコーダ、逆量子化装置(IQ)、逆離散コサイン変換装置(IDCT)、動き補償装置(MC)、及び推定装置からなるMPEGデジタル映像デコーダを利用して、符号化データ映像信号のデコード効率を向上させる方法であって:
前記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:
請求項14記載の方法であって、さらに、前記合計計算負荷(Cest)を前記IDCT及び前記MCに送信するステップを備えることを特徴とする方法。The method of claim 14, further comprising transmitting the total computational load (C est ) to the IDCT and the MC. 請求項14記載の方法であって、前記合計計算負荷(Cest)を計算するステップは、さらに:
前記抽出されたヘッダー情報のマクロブロックに基づき、第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:
請求項16記載の方法であって、前記第1計算負荷(Ctype)を決定するステップは、さらに:
前記抽出されたヘッダー情報がイントラ符号化係数のセットを与える場合、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:
請求項16記載の方法であって、前記第2計算負荷(Cmv)を決定するステップは、さらに、前記抽出されたヘッダー情報が所定の閾値より大きな動きベクトル量を与える場合、Cmv=W1とし、そうでない場合、Cmv=0とするステップからなることを特徴とする方法。17. The method of claim 16, wherein the step of determining the second computational load ( Cmv ) further comprises: if the extracted header information provides a motion vector amount greater than a predetermined threshold, Cmv = W. A method comprising: setting 1 ; otherwise, setting C mv = 0. 請求項16記載の方法であって、前記第3計算負荷(Cmvc)を決定するステップは、さらに、前記抽出されたヘッダー情報が前記動きベクトルカウント(MV-Count)を与える場合、Cmvc=W2×MV-Countとするステップからなることを特徴とする方法。 17. The method of claim 16, wherein the step of determining the third computational load ( Cmvc ) further comprises: if the extracted header information provides the motion vector count (MV-Count), Cmvc = A method comprising the step of: W 2 × MV-Count. 請求項16記載の方法であって、前記第4計算負荷(CBN)を決定するステップは、さらに、前記抽出されたヘッダー情報がブロック数(BN)を与える場合、CBN=W3×BNとするステップからなることを特徴とする方法。And 17. The method of claim 16, determining the fourth calculation load (C BN) further, if the extracted header information gives the number of blocks (BN), C BN = W 3 × BN A method comprising the steps of: 請求項16記載の方法であって、前記第5計算負荷(CCBP)を決定するステップは、さらに、前記抽出されたヘッダー情報が前記非ゼロ係数を与える場合、CCBP=W4×(非ゼロ係数の数)とするステップからなることを特徴とする方法。17. The method of claim 16, wherein the step of determining a fifth computational load (C CBP ) further comprises: if the extracted header information provides the non-zero coefficient, C CBP = W 4 × (N The number of zero coefficients). 可変長符号(VLC)デコーダ、逆量子化装置(IQ)、逆離散コサイン変換装置(IDCT)、動き補償装置(MC)、及び推定装置からなるMPEGデジタル映像デコードシステムを利用して、符号化データ映像信号のデコード効率を向上させる予測方法であって:
複数のマクロブロックを含む圧縮ビットストリームをデコードし、対応するデコードマクロブロックを取得するステップ;
前記デコードマクロブロックのヘッダー情報からヘッダー分類基準を取得するステップ;
前記推定装置を使って、前記デコードマクロブロックからのヘッダー情報に従い合計計算負荷(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:
請求項22記載の予測方法であって、さらに、前記圧縮ビットストリームにおいて受信された動きベクトル情報とともに、前記合計計算負荷(Cest)に従って前記デコードマクロブロックをデコードするステップを備えることを特徴とする方法。23. The prediction method according to claim 22, further comprising the step of decoding the decoded macroblock according to the total computation load (C est ) together with the motion vector information received in the compressed bit stream. Method. 請求項22記載の予測方法であって、前記ヘッダー分類基準は、マクロブロックタイプ、動きベクトル量、動きベクトルカウント、非ゼロ離散コサイン変換(DCT)係数、及び符号化ブロックパターン(CBP)数により規定されていることを特徴とする方法。23. The prediction method according to claim 22, wherein the header classification criterion is defined by a macroblock type, a motion vector amount, a motion vector count, a non-zero discrete cosine transform (DCT) coefficient, and a coded block pattern (CBP) number. A method characterized by being performed. 請求項22記載の予測方法であって、前記合計計算負荷(Cest)を予測するステップは、さらに:
前記デコードマクロブロックのヘッダー情報のマクロブロックに基づき、第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:
請求項25記載の予測方法であって、前記第1計算負荷(Ctype)を決定するステップは、さらに:
前記デコードマクロブロックのヘッダー情報がイントラ符号化係数のセットを与える場合、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:
請求項25記載の予測方法であって、前記第2計算負荷(Cmv)を決定するステップは、さらに、前記デコードマクロブロックのヘッダー情報が所定の閾値より大きな動きベクトル量を与える場合、Cmv=W1とし、そうでない場合、Cmv=0とするステップからなることを特徴とする方法。A 25. predicting method, wherein the step of determining said second computation load (C mv) further, if the header information of the decoded macroblock has a great motion vector amount than a predetermined threshold value, C mv = W 1 , otherwise C mv = 0. 請求項25記載の予測方法であって、前記第3計算負荷(Cmvc)を決定するステップは、さらに、前記デコードマクロブロックのヘッダー情報が前記動きベクトルカウント(MV-Count)を与える場合、Cmvc=W2×MV-Countとするステップからなることを特徴とする方法。26. The prediction method according to claim 25, wherein the step of determining the third calculation load (C mvc ) further comprises: C if the header information of the decoded macroblock gives the motion vector count (MV-Count). mvc = W 2 × MV-Count. 請求項25記載の予測方法であって、前記第4計算負荷(CBN)を決定するステップは、さらに、前記デコードマクロブロックのヘッダー情報がブロック数(BN)を与える場合、CBN=W3×BNとするステップからなることを特徴とする方法。26. The prediction method according to claim 25, wherein the step of determining the fourth calculation load (C BN ) further comprises: if the header information of the decoded macroblock gives the number of blocks (BN), C BN = W 3 A method comprising the steps of: xBN. 請求項25記載の予測方法であって、前記第5計算負荷(CCBP)を決定するステップは、さらに、前記デコードマクロブロックのヘッダー情報が前記非ゼロ係数を与える場合、CCBP=W4×(非ゼロ係数の数)とするステップからなることを特徴とする方法。26. The prediction method according to claim 25, wherein the step of determining the fifth computational load (C CBP ) further comprises: if header information of the decoded macroblock gives the non-zero coefficient, C CBP = W 4 ×. (The number of non-zero coefficients).
JP2002582627A 2001-04-18 2002-04-11 Dynamic complexity prediction and adjustment of MPEG2 decoding process in media processor Withdrawn JP2004527960A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (7)

* Cited by examiner, † Cited by third party
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