JP2004507957A - アルゴリズムを実行する方法と、拡張性のあるプログラマブル処理装置 - Google Patents

アルゴリズムを実行する方法と、拡張性のあるプログラマブル処理装置 Download PDF

Info

Publication number
JP2004507957A
JP2004507957A JP2002523147A JP2002523147A JP2004507957A JP 2004507957 A JP2004507957 A JP 2004507957A JP 2002523147 A JP2002523147 A JP 2002523147A JP 2002523147 A JP2002523147 A JP 2002523147A JP 2004507957 A JP2004507957 A JP 2004507957A
Authority
JP
Japan
Prior art keywords
algorithm
complexity
function
operating
scalable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002523147A
Other languages
English (en)
Inventor
ヘントシェル,クリスティアン
ペン,シャオミン
ヴァン ゾン,コーネリス シー エイ エム
ガブラニ,マリア
ステフェンズ,エリザベス エフ エム
ブリル,レインダー ジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Priority claimed from US09/649,777 external-priority patent/US6674800B1/en
Priority claimed from US09/759,036 external-priority patent/US20020129080A1/en
Priority claimed from US09/872,931 external-priority patent/US20030058942A1/en
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2004507957A publication Critical patent/JP2004507957A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4113PC
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6112Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving terrestrial transmission, e.g. DVB-T
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

近年、専用単機能コンポーネントではなく、プログラマブルコンポーネント(1304)が、デジタルテレビジョンセット(1310)、セットトップボックス、パーソナルコンピュータ、或いは、ビデオカセットレコーダのような消費者装置において連続的なメディア処理を実行することができる。これらのプログラマブルコンポーネント(1304)のために記述されたメディア処理アルゴリズムは、要求された処理リソースに応じて複数の出力品質レベルを提供するよう設計する必要がある。リソースは有限であるため、メディア処理アルゴリズムは、リソース使用法及び提供する出力品質レベルの点で制御されるべきである。消費者装置のユーザは、たとえば、自分が視聴しているビデオの品質が大きく変化することを好まない。したがって、アルゴリズムを構成する機能のような典型的なアルゴリズム特性、機能毎のリソース使用法、及び、機能毎の品質レベルがより滑らかな品質変化を行なうために使用される。

Description

【0001】
本発明は、第1の機能及び第2の機能を有するアルゴリズムを実行する方法に関する。
【0002】
また、本発明は、拡張性のあるシステムに係り、特に、ATSC準拠式ビデオデコーダのような拡張性のあるマルチメディア通信システムに関する。
【0003】
上記のような方法及びシステムの実施例は、文献:拡張性のあるビデオデコーダと、そのマルチチャネル・マルチキャスト・システムへの応用(Scalable Video Decoder and its Application to Multi−channel Multicast system)、IEEE 19th International conference on consumer electronics, 2000, Page 232 − 233に記載されている。ここで、拡張性のあるアルゴリズムは、有限リソースと、時間が決定的な要因であるアルゴリズムとを有するリアルタイムシステムで使用される。このような特性を備えたリアルタイムシステムの一例は、マルチチャネル・マルチキャスト・システム内で使用されるビデオデコーダであり、有限リソースの例は、物理的メモリ、メインプロセッサ、及び、入出力装置である。拡張性のあるアルゴリズム、たとえば、ビデオ用の復号化アルゴリズムは、たとえば、ローパスフィルタリング及びアップサンプリングのような複数の機能を含む。機能毎に、CPU負荷に関するリソース要件は、たとえば、1チャネル、4チャネル若しくは8チャネルのように、同時に復号化可能なビデオチャネルの数を基準にして決定される。このアルゴリズム内で使用される機能は、許容CPU負荷から導き出され、各機能が使用を許可された予定使用量は、機能毎に個別に割り当てる必要がある。
【0004】
さらに、一般的に知られているように、所与のシステムにおける複雑さ−歪みを測定する従来の方法は、特定のデータモデル(アルゴリズム)に対する動作曲線を測定する。一例としてMPEG2方式デコーダの一般的なIDCTアルゴリズムを使用した場合、このアルゴリズムは、8×8型のブロック毎に全てのデータが使用されることを仮定する。乗算と加算の総回数は一定回数である。しかし、一つの特定のアルゴリズムの場合、データパターンが変化すると、計算ステップの回数が変化する可能性があるので、アルゴリズムの計算時間に関する複雑さは、たとえば、図2に示されているように異なる。複雑さレベルの変化に伴って、出力歪みも異なり、すなわち、異なる動作ポイント202が利用される。このアルゴリズムに対する対応した動作曲線を測定することができる。異なるIDCTアルゴリズムがデコーダに対して採用された場合、たとえば、曲線204、206のように異なる動作曲線を描くことができる。
【0005】
マルチメディア処理産業における急速な発展は、たとえば、特定用途集積回路(ASIC)のような従来の専用ハードウェアによる解決策ではなく、プログラマブルマルチメディア処理装置を促進した。ソフトウェア指向装置のプログラマブル機能性は、このようなタイプのマルチメディアシステム及び通信システムのフレキシビリティを著しく向上させた。プログラマブル装置は、一般的に、機能の複雑さを、利用可能な計算用リソースに応じたある程度のレベルに調整若しくは拡大縮小するため使用される。これにより、システムの拡張性が得られる。しかし、機能の複雑さが縮小されたとき、システムの性能は、屡々、従来の専用ハードウェア解決法の場合よりも低下する。したがって、システムの全体的な性能を維持するためには、各機能複雑さレベルで、性能劣化又は歪みを最小限に抑えることが望ましい。
【0006】
理論的に、拡張性は、情報レート及びリソース制約条件によって、機能複雑さと歪みのバランスを取り扱う。計算用リソースが減少するとき、元の機能複雑さの量を処理するための計算パワー又は処理パワーは減少するので、拡張性のあるアルゴリズムは、強制的に、より低い機能複雑さのレベルへ後退する。
【0007】
拡張性のある設計が利用される一例は、たとえば、テレビ信号のような情報ストリームを受信し復号化するよう適合したデジタルテレビ(DTV)ビデオデコーダである。このデコーダの処理能力は、特に、デコーダのプロセッサの制約、たとえば、利用可能な計算用リソースの制約によって制限される。デコーダの処理能力は、許容品質標準で表示する受信ビットストリームを処理するためには不十分なポイントへ制限される。したがって、プロセッサがビットストリームを復号化できるようにする一つの方法は、一つの機能の品質を低下させることである。たとえば、ピクチャー・イン・ピクチャー(PIP)ウィンドウに表示される品質は、主チャネルに対応した主ビットストリームの復号化品質を変更することなく、ウィンドウ化されたビットストリームの処理複雑さを下げることにより、主チャネルが表示される品質よりも低い(しかし、許容可能な)レベルにセットされる。これによって、様々な処理複雑さが、夫々の動作モードに応じて、異なるビットストリームのために使用される。この結果として、デコーダの制限された処理能力を、多数のビットストリームを同時に処理できるようにするため、より効率的に利用できるようになる。
【0008】
図1を参照するに、情報ベース複雑さ理論(IBC)は、所与のシステム毎に、最小限の複雑さ−歪み(C−D)境界100が存在することを示している。図1は、レート歪み境界100が凸関数であることを表わす。この曲線100は、達成可能な機能複雑さ−歪み(領域102)と、達成不可能な機能−複雑さ歪み(領域104)との間に理論的な境界を厳密に定義する。背景技術については、1948年に刊行されたC.E. Shannonの情報理論(IT)の文献を参照のこと。情報理論の一分野として、レート歪み理論(RDT)は、品質規準に応じてソースから最大限に冗長性を取り去る技術と関連したソース符号化(コーディング)及び圧縮の分野に分類される。すなわち、RDTは、所定の再現品質に対して実現可能である最小限のビット数でソースを表現する技術に関係する。RDTにおいて直面するトレードオフは、情報レートと出力歪みとの間のバランスである。しかし、RDTでは、典型的に、出力デコーディングシステムが実現し得る事項に対して計算の制約が無いことに注意する必要がある。
【0009】
複雑さ−歪みのバランスと拡張性の問題を調べるべくRDTを拡張するために、情報ベース複雑さ(IBC)理論が開発された。IBCは、情報が部分的である、情報の品質が劣化している、情報に値段が付けられている、という問題を研究する計算複雑さの一分野である。IBCは、アルゴリズムの計算が、処理されるべき入力情報の量を制限することによって縮小され得ることを主張する。アルゴリズムの複雑さは、出力シーケンスを生成するため処理される情報の量の関数に一般化することができる。
【0010】
上述の通り、曲線100よりも上の領域102は、理論的にアルゴリズム達成可能であり、下の領域104はアルゴリズム達成不可能である。特定のシステムに対し、複雑さは制限される。換言すると、システムの複雑さは、システムを正常に働かせるために境界がある。複雑さの境界は、[Cmin,Cmax]として示されている。また、出力品質にも限界、すなわち、歪みレンジ[Dmin,Dmax]がある。Dminはシステムが実現し得る最良の結果を表わし、Dmaxはユーザが許容できる最悪の結果を示す。したがって、実際的なシステムの動作可能領域は領域106である。
【0011】
理論的に、最適設計は、設計されたシステムの性能曲線が最小のC−D境界100を達成するときに得られる。しかし、実際のシステムを用いて理論的な境界100を完全に達成することは、実際的ではない。所与のシステム及び所与のデータモデル(アルゴリズム)に対し、テストデータの各集合は、品質歪みレートを与える。図2を参照するに、このようなシステムモデルに対して、実際のシステムから得られた複雑さと歪みのペアの各ポイントは、動作ポイント202と呼ばれる。動作ポイント202のグループは、動作曲線、たとえば、曲線204又は206により構成される。異なるデータモデルに対し、たとえば、異なるアルゴリズムに対し、異なる動作曲線が存在する。動作曲線、たとえば、曲線204又は206上の各動作ポイント202は、選定された実装形態及び所与のテストデータを用いたシステムによって達成可能である。拡張性は、達成可能な領域106内で異なる複雑さの座標値を有する二つの動作ポイント202の間の変化として定義される。最良の拡張性のあるアルゴリズムは、最も下側のC−D境界1100を略近似する動作曲線を有する。図2において、第1の所与のシステムと、データモデル、すなわち、アルゴリズムは、第1の複雑さ−歪み曲線204を与え、第2の所与のシステム及びデータモデルは、曲線206を与える。理論的に、理論的な最も下側の複雑さ−歪み境界100から動作曲線204、206までの距離は、各システムの設計の良好さの程度を示す。屡々、現実の設計環境では、最も下側の境界100は、利用不可能であり、動作曲線204と206は平行ではない。
【0012】
上記の例で使用されるMPEG2方式ビデオデコーダは、一般的に、次世代テレビジョンシステム・コミッティ(ATSC)準拠式のデジタルテレビジョン(DTV)システムである。特に、図3には、文献:GUID TO THE USE OF THE ATSC DIGITAL TELEVISION STANDARD, ATSC Doc. A/54, October 4, 1995に記載されているようなATSC方式DTV準拠システムで使用するために好適な従来のビデオデコーダ300のブロック図が示されている。
【0013】
簡単に説明すると、デコーダ300は、符号化されたビデオビットストリーム信号Aを受信し、信号Bを出力するチャネルバッファ302を含む。可変長デコーダ(VLD)304は、信号Bを受信し、量子化離散コサイン変換(DCT)係数の8×8型配列を再構成し、これにより、信号Cとして量子化形式のDCT係数を与え、信号Hとして動きベクトルを与える。動き補償器306は、信号Hと、メモリ308に保持されたアンカーフレーム用のデータを含む信号Iと、を受信し、動き補償された予測画素値を信号Gとして生ずる。逆量子化器310は、信号Cを受信し、信号Dを生成するため信号Cを逆量子化する。信号Dは、量子化された予測誤差DCT係数を標準形式で組み込む信号である。逆離散コサイン変換(IDCT)312は、信号Dを受信し、画素値又は予測誤差を信号Eとして獲得するため信号Dを変換する。加算器314は、信号E及び信号Gを受信し、信号E及び信号Gを加算して、量子化によって劣化した再構成画素値を信号Fとして生成する。信号Fは、復号化されたビデオデータとして出力されると共に、メモリ308へ供給される。
【0014】
本発明の目的は、リソースの割り付け方が改良された上述の方法を提供することである。この目的を達成するため、本発明による方法は、
複数の出力品質レベルを与えるためアルゴリズムによってアルゴリズムリソースを要求する第1の手順と、
第1の機能が第1の複数の品質レベルを与え、第2の機能が第2の複数のレベルを与えることを判定する第2の手順と、
複数の出力品質レベルのうちの一つの出力品質レベルでアルゴリズムを動作させるため、予定使用量をアルゴリズムへ割り付ける第3の手順と、
第1の複数の品質レベルのうちの第1の品質レベルを第1の機能に割り当て、第2の複数の品質レベルのうちの第2の品質レベルを第2の機能に割り当てる第4の手順と、
を有する。
【0015】
予定使用量をアルゴリズム全体に割り付けることにより、予定使用量マネージャー、すなわち、全システム制御部は、アルゴリズムが複数の機能により構成されていることを知る必要が無くなる。全システム制御部は、予定使用量を、システムで同時に動くアルゴリズムへ割り付ける一般的な目的のため使用される。予定使用量は、要求されたアルゴリズムリソースに基づいている。予定使用量をアルゴリズムへ割り付ける代わりに、全システム制御部は、出力品質レベルをアルゴリズム全体にセットすることができる。出力品質レベルは、アルゴリズムが与えることができる複数の出力品質レベルから選択され得る。アルゴリズムの各機能は、複数の品質レベルを与えることができる。アルゴリズムが予定使用量を割り付けられるか、或いは、出力品質を割り当てられたとき、品質制御部は、対応した品質レベル又は設定値を各機能へ割り当てることができる。対応した品質レベル又は設定値は、機能によって与えることができる複数の品質レベルから選択される。割り付けられた予定使用量に対してアルゴリズムの最高品質レベルを与える機能の品質レベルは、機能によって与えられ得る複数の品質レベルから優先して選択してもよい。品質制御部は、割り付けられた予定使用量をアルゴリズムに含まれる機能全体に暗黙的に配分するため、対応した品質レベル又は設定値を各機能に割り当てる。機能毎に割り当てられた品質レベルは、アルゴリズムへ割り付けられた予定使用量に基づいている。
【0016】
本発明による方法の一実施例は、請求項2に記載されている。機能は、複数の複雑さのレベルに対する品質レベルを与えることができる。ここで、複雑さのレベルは、たとえば、機能が実行可能な数学演算の回数と、機能又は通信手段が必要とするメモリの量、機能が必要とする帯域幅などによって決定される。アルゴリズムが複数の機能により構成され、各機能が複数の品質レベルを与えるとき、複雑さのレベルと、実現可能な品質レベルとの多数の組み合わせが存在する。品質制御部は、これらの組み合わせを実行し、その組み合わせに基づいて、機能に割り当てるべき品質レベルを決定することができる。さらに、同じ品質レベルを与える機能の複雑さに関する知識を用いることによって、アルゴリズム全体としての出力品質変化をより滑らかにすることができる。
【0017】
本発明による方法の一実施例は、請求項3に記載されている。各機能は、その固有の品質レベルで動作し得る。第1の機能と第2の機能の組み合わせは、複数の出力レベルを与える一つのアルゴリズムを生じ得る。新しい予定使用量が、異なる出力品質レベルを生じるアルゴリズムに割り付けられたとき、新しい品質レベルを上述の第1の機能及び第2の機能に割り付けることによって、同じアルゴリズムが再度動作される場合がある。同じ機能性を異なる出力品質レベルで実現し、たとえば、並列に動作させることができるアルゴリズムの数は、このようにして制限される。
【0018】
本発明による方法の一実施例は、請求項4に記載されている。品質制御部は、たとえば、機能毎の複雑さと品質レベルの複数の組み合わせの中から、機能毎に最高品質レベルに対する最小複雑さを選択することができる。
【0019】
本発明による方法の一実施例は、請求項5に記載されている。割り付けられた予定使用量が要求されたアルゴリズムリソースと実質的に一致する場合、アルゴリズムに割り付けられる量は、要求されたアルゴリズムリソースを実質的に上回ることが無い。これにより、リソースがアルゴリズムによって使用されないということが防止され、要求されたリソースは既にそのアルゴリズムに割り付けられているので、他のアルゴリズムを動作させることが拒絶される。
【0020】
本発明による方法の一実施例は、請求項6に記載されている。第1のリソースの量と第2のリソースの量の合計が割り付けられた予定使用量と実質的に一致する場合、アルゴリズムが使用する量は、割り付けられた予定使用量を実質的に上回らない。これにより、他のアルゴリズムの予定使用量不足を生じさせるアルゴリズムによる予定使用量超過が阻止され、或いは、他のアルゴリズムの期限に遅れを生じさせ、全体的な出力品質の低下を招くアルゴリズムによる予定使用量超過が阻止される。
【0021】
本発明による方法の一実施例は、請求項7に記載されている。アルゴリズムによって与えられる出力品質レベルは、アルゴリズムが実施されるハードウェアプラットフォームに依存する。たとえば、アルゴリズムの第1の機能が、ハードディスクの利用可能性のような特定のハードウェア要件を有するとき、第1の機能は、ハードウェアが利用できないときには除かれる。
【0022】
本発明による方法の一実施例は、請求項8に記載されている。アルゴリズムによって与えられる出力品質レベルは、アルゴリズムがアクセスし得るソフトウェアプラットフォームに依存する。たとえば、アルゴリズムの第1の機能が、線形補間アルゴリズムのような特定のソフトウェアプラットフォーム要件を有する場合、線形補間アルゴリズムを利用できないとき、第1の機能は、たとえば、利用可能な3次補間アルゴリズムを用いて別に動作させられる。
【0023】
本発明の更なる目的は、出力された信号の歪みを減少させるため、リソースの割り付け方が改良されるように、プログラマブル処理装置を動作させる方法を提供することである。この目的を達成するため、本発明による方法は、
各動作状態がプログラマブル処理装置の複数の動作モードの中の少なくとも一つの動作モード、動作の複雑さ(C)及び歪みレベル(D)と関連している複数の動作状態を表わすデータを生ずる第1の手順と、
該データを使用し、該歪みレベルに基づいて、該複雑さ毎に該動作状態のうちの一つの動作状態を選択する第2の手順と、
該プログラマブル処理装置の動作状態を判定する第3の手順と、
選択された動作状態を使用して、該判定された動作状態に応じた該複雑さ毎に、該プログラマブル処理装置を動作させる運伝モードを選択する第4の手順と、を有する。
【0024】
本発明による出力された信号の歪みを減少させるためプログラマブル処理装置を動作させる方法の実施例は、請求項10乃至15に記載されている。
【0025】
本発明の更なる目的は、リソースの割り付け方が改良された拡張性のあるプログラマブル処理装置を提供することである。この目的を達成するため、本発明による装置は、
各モードの動作の複雑さ特性が異なっている複数のモードで動作可能である少なくとも一つの拡張性のあるアプリケーションと、
該少なくとも一つの拡張性のあるアプリケーションが使用するため利用可能な計算用のリソースの量を追跡するQOSリソースマネージャーと、
該利用可能なリソースが該複数のモードの中の所定のモードにおける該拡張性のあるアプリケーションの動作のため適当であるかどうかを判定する戦略マネージャーと、
該戦略マネージャーに応答し、該戦略マネージャーによって該利用可能なリソースが該所定のモードにおける該少なくとも一つのアプリケーションの動作のため適当ではないと判定された場合に、該少なくとも一つのアプリケーションに対して別のモードを選択するローカルリソース制御部と、
を具備し、
該QOSマネージャー及び該戦略マネージャーは相互に応答し、該少なくとも一つのアプリケーションは該ローカルリソース制御部に応答する。
【0026】
本発明による拡張性のあるプログラマブル処理装置の実施例は、請求項17乃至19に記載されている。
【0027】
本発明の多数の目的、特徴及び利点は、以下の詳細な説明を、例示のためだけに用いられる添付図面と共に参照することによってさらに明らかになるであろう。
【0028】
図4は、本発明による方法の主要なステップの一実施例の説明図である。専用単一機能コンポーネントではなく、プログラマブルコンポーネントは、連続的なメディア処理を実行することができる。単一機能コンポーネントは、幾つかの単一機能コンポーネントが組み合わされ、たとえば、NTSC又はPALシステム用のカラーデコーディング、ノイズ圧縮、或いは、フレームレートアップコンバージョンを実行する従来のテレビ受像機で使用されている。プログラマブルコンポーネントの導入によって、連続的なメディア処理アルゴリズムが、ハードウェアではなくソフトウェアで実現できるようになる。メディア処理アルゴリズムをソフトウェアで実現することによって予想される効果には、市場に出すまでの時間短縮、ハードウェアの再利用、ソフトウェアアルゴリズムの再利用、可搬性、及び、フレキシビリティが含まれる。メディア処理アルゴリズムのソフトウェアによる実現は、システムリソースが有限であり、特定の処理アルゴリズムのために十分なシステムリソースが確保されないため、特定の処理アルゴリズムによって与えられる出力品質が変化するようなリアルタイム環境内で行なわれなければならない。出力品質レベルは、知覚測定によって、或いは、利用可能な測定手段を用いて主観的に測定される。処理アルゴリズムを動かすシステムは、50Hzを上回り、フレームレートの変動が殆ど許容されず、フレームスキップは僅かしか許容されない、かなり高いフレームレートの高品質オーディオ及びビデオを生ずることが可能である。好ましくは、システムは、フレームレート変動の許容範囲が大きく、かつ、フレームスキップの許容範囲が広い最大で30Hzの低フレームレートを実現することができる。
【0029】
アルゴリズムには、アルゴリズムの出力品質レベルをセットすることによって、予定使用量が明示的に、或いは、暗黙的に割り付けられる。全システム制御部の一つの目的は、利用可能な全てのリソースを効率的に使用すると共に、全システムによって与えられる総合出力品質を最適化することである。システムによって与えられる総合出力品質は、特に、同時に動作するアルゴリズムの数と、アルゴリズムが処理するデータとに依存する。このシステムは、たとえば、テレビ、PC、ディスプレイ、セットトップボックス、又は、VCRである。この目的を達成するために、以下の主要なステップが実行される。
【0030】
最初に、ステップ400は初期化ステップであり、全システム制御部、たとえば、予定使用量マネージャーは、表1に示されるような第1のルックアップテーブルの内容にアクセスする。表1において、CPU、コ・プロセッサ及びメモリ必要量は、アルゴリズムが使用できるリソースの例である。さらに、品質数という列に示された数字は、この数字が大きくなるほど、ユーザによって認知された出力品質レベルが良好であることを示す。この第1のルックアップテーブルの内容にアクセスすることによって、全システム制御部は、所定のリソースの量、たとえば、所定の出力品質レベルを与えるためアルゴリズムが要求するCPUサイクルを決定する。
【0031】
【表1】
Figure 2004507957
このアルゴリズム、又は、アルゴリズムの一部の品質制御は、表1の内容にアクセスする。アルゴリズムは、ユーザが主ウィンドウ用の別のチャネルへ切り替え、新チャネルのアナログソースが旧チャネルのデジタルソースとは異なるときに、暗黙的に開始される。アルゴリズムのスタート、又は、アルゴリズムのリソース要件の変更の他の例は、
ユーザが、たとえば、ゴールの後にリプレイを表示することによって、主ウィンドウの内容とピクチャー・イン・ピクチャー・ウィンドウの内容を交換するとき、
テレビ会議ウィンドウのサイズが変化したとき、或いは、
着呼したときに、新しいアプリケーション、たとえば、テレビ会議アプリケーションが補助ウィンドウで開始されたとき
である。アルゴリズムのリソース要件は、アルゴリズムが処理するメディアデータが変化するときにも変化する。メディアデータの変更は、たとえば、24Hzフィルムである映画が、60Hzカメラでもよいコマーシャルによって中断されるときに、サービスプロバイダによって行なわれ、或いは、モーション又はシーン変化によっても生ずる。
【0032】
ステップ402では、メディア処理アルゴリズムに含まれる機能は、たとえば、この情報をコンフィギュレーションファイルから読み出すことによって判定される。コンフィギュレーションファイルは、たとえば、エッジ強調又は鮮明さ強調用のアルゴリズムが図5に概略的に示されるような機能によって構成されることを記述する。同図には、ディテールフィルタ機能512、非線形関数機能502、利得機能504、加算器機能506及びノイズ測定機能508が示されている。ディテールフィルタ機能は、ビデオ信号を含む入力信号から高周波成分を抽出する。これらの成分は、ビデオ信号の全体的な鮮明さの印象を高めるために入力信号に加えられる。非線形関数機能及びその後の利得機能は、ディテールフィルタ機能によって生じたアーティファクト状のクリッピングを除去することができ、ノイズ測定機能は、入力信号に含まれるノイズに依存して、鮮明さ強調を適応させることができる。
【0033】
ステップ404において、要求されたリソース、及び、機能毎の品質レベルが決定される。
図5の品質制御機能510は、アルゴリズムに含まれアルゴリズムの一部である機能から、全システム制御機能を隠す。エッジ強調又は鮮明さ強調のアルゴリズムの場合に、ディテールフィルタ機能は、その要求するリソース、たとえば、CPUサイクル数、或いは、バイト数を変更する。要求されたリソースの変動は、フィルタの係数と、水平、垂直或いは両方のようなフィルタのタイプによって記述された品質レベルによって判定される。非線形関数機能は、要求リソース、たとえば、CPUサイクルを変更し、非線形関数の量子化によって記述された品質レベルによって判定され、入力信号と出力信号とに対して異なる場合がある。利得機能は、要求リソース、たとえば、乗算演算、シフト演算及び加算演算を、
メモリに格納されたルックアップテーブルに固定値として保持されているか、乗算によって計算されるか、シフト及び加算演算によって計算されるか、に依存して変更する。ノイズ測定機能は、たとえば、スイッチのオン・オフが切り替えられるので、要求リソース、たとえば、CPUサイクルを変更する。加算演算は、たとえば、加算精度を下げることによって、リソース要求量を変更する。しかし、リソース要求量を変更できないが、所定のリソース量、たとえば、CPUサイクルに対し所定の品質レベルを与える加算演算を使用してもよい。要求リソース及び機能毎の品質レベルに対する全ての設定値の組み合わせは、設計空間を拡大し、その設計空間では、アルゴリズムの複雑さ、アルゴリズムの機能の複雑さ、或いは、アルゴリズムの機能の組み合わせの複雑さが、その品質レベルに対してセットされる。その結果は、たとえば、以下の表2に示されている第2のルックアップテーブルにまとめられている。第2のルックアップテーブルは、行に固有の値を割り当てるバージョンと、アルゴリズムが与えることのできる出力品質レベルに関する全てのパラメータをグループ化する品質と、アルゴリズムの複雑さに関する全てのパラメータをグループ化する複雑さ、の三つの主要な列を含む。パラメータは、これらの例示的なパラメータに制限されることがなく、ストア演算、通信手段のような帯域幅、キャッシュをアルゴリズムの複雑さに関するパラメータとして使用することができる。さらに、表2において、品質及び複雑さに関して使用される数は、絶対値であるが、選択されたフォーマットとは独立に、ビデオ中の1画素当たりの演算に正規化してもよい。この考え方を用いることにより、メディアアルゴリズム設計者は、異なる出力品質レベルで正確な機能性を実現するために、メディアアルゴリズムを構成する機能を設計する。
【0034】
【表2】
Figure 2004507957
ステップ406では、アルゴリズムがアクセスできる利用可能なソフトウェアプラットフォームに対して、ルックアップテーブルの内容が更新される。たとえば、ソフトウェアプラットフォームが「時間処理」をサポートしない場合、この列は、テーブルから除去され、影響を受ける行はそれに応じて更新される。「水平処理」がサポートされない場合、第6行及び第N行のように、何れの処理にもつながらない対応した列及び行は、このテーブルから除去される。また、表2を更新するのではなく、ソフトウェアプラットフォーム内で利用可能なソフトウェア機能から、アルゴリズムによって要求されるソフトウェア機能へのマッピングを含むランタイムルックアップテーブルを具体化することも可能である。
【0035】
ステップ408では、テーブルの内容が、アルゴリズムが実施される利用可能なハードウェアプラットフォームに対して更新される。たとえば、ハードウェアプラットフォームがコ・プロセッサを提供しないとき、この列は、テーブルから削除され、コ・プロセッサだけを使用する全ての行が削除される。また、表2を更新するのではなく、ハードウェアプラットフォーム内で利用可能なハードウェア機能から、アルゴリズムによって要求されるハードウェア機能へのマッピングを含むランタイムルックアップテーブルを具体化することも可能である。
【0036】
これらのステップの後に、アルゴリズムを構成する機能、異なる機能が与える複数の品質レベル、アルゴリズムが与える複数の出力品質レベル、並びに、アルゴリズムがハードウェアプラットフォーム及びソフトウェアプラットフォームから要求するハードウェア及びソフトウェアは、品質制御機能でわかっている。全システム制御機能は、アルゴリズム、アルゴリズムが要求するリソース、アルゴリズムが要求するハードウェア、及び、アルゴリズムが与える複数の出力品質レベルだけがわかればよい。
【0037】
ステップ410において、全システム制御機能は、最良の全システムの出力品質レベルに応じて、リソース予定使用量をアルゴリズムへ割り付ける。最良の全システムの出力品質レベルは、システムが安定状態にあるとき達成される。安定状態では、動いている全てのアルゴリズムが、所定の出力品質レベルを与え、システムは完全に取り込まれている。すなわち、付加的なアルゴリズムは、実行中のアルゴリズムの出力品質レベルを調整しなければ、スタートさせることができない。割り付けられた予定使用量は、所定の出力品質レベルを得るため、アルゴリズムによって要求されたリソースと実質的に一致する。アルゴリズムに割り付けられた予定使用量が要求された量よりも少ない場合、アルゴリズムは所定の出力品質レベルを実現しない。アルゴリズムに割り付けられた予定使用量が要求された量よりも多い場合、アルゴリズムは全てのリソースを使用するわけではない。図5において全システム制御機能512は、表1の内容に基づいて、予定使用量をアルゴリズムに割り付ける。全システム制御機能512は、表2の内容に基づいて、予定使用量をアルゴリズムに割り付けることも可能である。後者の場合、全システム制御機能は、アルゴリズムによって与えられるより滑らからな出力品質レベルの変化に基づいて判定する。表2に示されるように、アルゴリズムによって与えられる出力品質レベルの急激な変化は、処理が2次元で変化するので、バージョン2からバージョン6、バージョン5からバージョン6などに現れる。バージョン2からバージョン3では、処理が1次元だけで変化するので、より滑らかな変化が予想される。品質数、或いは、PSNRのようなその他の品質パラメータは、変化の滑らかさに関する情報を与える。ステップ406及びステップ408で導かれるようなハードウェアプラットフォーム及びソフトウェアプラットフォームに関する情報は、全システム制御機能によってアクセスすることが可能である。アルゴリズムによって与えられた出力品質レベルの選択は、たとえば、利用可能なハードウェアに基づいて行なわれる。これは、表2に示されている。表2では、バージョン1とバージョン2は、品質数が同じであるため、同じ出力レベルを生ずるが、要求されたリソースをCPUとコ・プロセッサの間でそれぞれ別々に配分する。品質制御機能は、特に、ランタイムに、過負荷状況を取り扱うため、CPUとコ・プロセッサの間の配分に関する知識を利用する。過負荷状況では、品質制御機能は、配分を変更することができ、一方、アルゴリズムは、同じ出力品質を与え続ける。
【0038】
ステップ412において、品質制御機能は、アルゴリズム全体として割り付けられた予定使用量、又は、出力品質レベルを、アルゴリズムに含まれる種々の機能への品質レベル割り付けに変換する。この変換は、表2の内容に基づいて行なわれ、要求されたリソースと機能毎の品質レベルに対する全ての設定値の組み合わせを考慮する。要求されたリソースに対する全ての設定値の組み合わせは、アルゴリズムの複雑さ、アルゴリズムの機能、及び、アルゴリズムの機能の組み合わせを決定する。複雑さは数で表わされる。この数は、特定のハードウェア又はソフトウェアプラットフォームに対し、単独の数を得るため重み付けされる。図6には、複雑さと、与えられた出力品質レベルの組み合わせの一例が示されている。有効な組み合わせは、図6に描かれた曲線によって示されるように、最小の複雑さに対する最高の出力品質で達成される。ステップ406及び408で導かれたようなハードウェアプラットフォーム及びソフトウェアプラットフォームに関する情報は、品質制御機能によってアクセスされる。品質制御機能は、複雑さと、与えられた出力品質レベルの最良の組み合わせを選択するため、この情報を使用する。なぜならば、最良の組み合わせと、組み合わせの個数は、機能を動かすハードウェア及び/又はソフトウェアのプラットフォームに依存するからである。たとえば、ビデオデータをサブサンプリングするか、又は、全てのフレーム、ライン又は画素を削除することによるビデオデータの解像度の変更は、上述のように表1及び表2の内容を解釈することによって抑止される。ユーザは、たとえば、映画の品質が継続的に変化するとき、システムによって与えられた低出力品質を認知するので、品質制御機能は知覚品質を最大にする。したがって、品質レベルは慎重に調整される。
【0039】
ステップ414において、品質制御機能は、対応した品質レベルを機能へ割り当てることによって、割り付けられ変換された予定使用量を、アルゴリズムを構成する機能に暗黙的に再割り付けする。
【0040】
ステップ416において、機能と、全体としてのアルゴリズムは、割り付けられた予定使用量、及び、セットされた品質レベルを用いて、動作を開始する。アルゴリズムの終了後、ステップ400が再実行されるか、或いは、最終ステップ418に達する。
【0041】
図7は、本発明による方法を実行するコンピュータプログラムが記録された記憶装置の概要図である。同図において、コンパクトディスク700はコード702を含む。
【0042】
さらに、本発明は、同じタスクを達成する種々のC−D(複雑さ−歪み)曲線を比較する。その結果として、ある複雑さレベルで複雑さと品質歪みのトレードオフに関して、利用可能な代替例よりも効率的なアルゴリズムを識別することができる。したがって、ある複雑さで最小限の品質歪みを与える最良のアルゴリズムを選択することが可能であり、大域的な最適アプローチが、仮定した複雑さと歪みのレンジの条件下で、与えられたアルゴリズムの組に対して得られる。
【0043】
図8を参照するに、本発明の概念に従って作成された拡張性のあるビデオアルゴリズム設計制御システムは、好ましくは、サービス品質(QOS)リソースマネージャー800と、戦略マネージャー802と、ローカルリソース制御機能804と、拡張性のあるアルゴリズム806の4個の要素を含む。QOSリソースマネージャー800は、システム全体、又は、グループ化されたサブシステムでのリソース使用量を監視する。QOSリソースマネージャー800は、システムリソースが変化するとき、戦略マネージャー802に制御コマンドを送出し、サブシステムが拡大縮小されたとき、戦略マネージャー802からフィードバックを受け取る。戦略マネージャー802は、リソースレベルの変更に適合するように拡大縮小するため、ローカルコントローラ804を介して種々の拡張性のあるアルゴリズム806を駆使する権限を有するQOSリソースマネージャー800のために働く。戦略マネージャー802は、異なるアプリケーションのレベルの全体的な拡大縮小を制御するが、特定のアルゴリズム806の拡大縮小の細部は制御しない。たとえば、戦略マネージャー802は、MPEG2方式デコーダの総合複雑さレベルを制御するが、MPEG2方式デコーダのアルゴリズムがどのレベルまで縮小されるべきかについては制御しない。後者は、ローカルリソース制御機能804の仕事である。ローカルリソース制御機能804(復号化リソース制御機能又は複雑さ切り替え制御機能とも呼ばれる)は、MPEG2方式デコーダ内部の各機能ブロックが拡大縮小されるレベルが正確にわかっている。最終的に、拡張性のあるアルゴリズム806は、拡大縮小ジョブを履行するためのキーである。
【0044】
一般的に、QOSは、コンピュータ品質制御/情報管理の当業者には周知である。QOSマネージャー800は、基本的に、計算用リソースの使用、たとえば、使用中、未使用を管理し、情報フローを監視し、リソースを要求若しくは使用するアプリケーションからの要求に応答する。戦略マネージャー802は、QOSマネージャー800と、図9若しくは11の拡張性のあるMPEG2方式デコーダのような拡張性のあるアルゴリズム806を使用する拡張性のあるアプリケーションとの間の通信の要求を満たす。戦略マネージャー802は、個別の拡張性のあるアプリケーションのリソース使用を制御し、これらのアプリケーションを調整する。
【0045】
ローカルリソース制御機能804は、特定の拡張性のあるアプリケーションのためのローカルオフィスマネージャーとして利用される。たとえば、図9を参照するに、本発明による拡張性のあるATSC準拠式DTVビデオデコーダが記載されている。同図において、’付きの番号で指定された要素は、図3の同じ番号で示された要素と類似しているが、本発明に従って拡張性のある点で相違する。したがって、図9のデコーダ300’のうちの一つ以上の機能ブロックは、拡張性がある。MPEG2方式デコーダ300’において、たとえば、IDCTは、一つの機能ブロックである。ローカルリソースマネージャー804(復号化用リソースマネージャーとも称される)は、これらのブロックの動作及び拡大縮小レベル、たとえば、個別の機能ブロックが拡大縮小されるべき程度を調整する。
多数のアルゴリズム、たとえば、204、206の切り替えが適用されるべき状況において、最小限の歪みを達成するため、多数の拡張性のあるアルゴリズム806が特定の機能ブロック、たとえば、IDCTに対して利用可能である場合、これらの制御タスクは、ローカルリソースマネージャー804によって実行される。
【0046】
上述の通り、基礎研究によって、複雑さ−歪み平面には、最小の複雑さ−歪み(C−D)境界100が存在することが判明した。しかし、理想的にこの境界100上に存在するシステムを設計することは実際的ではない。この理論的な最小の境界100に最も巧く到達する、或いは、接近するために、システム設計者は、通常、種々の複雑さレベルに対して境界100に接近することができる単一の最良アルゴリズムを探索する。通常、単一のアルゴリズムは、最も良く適合するアルゴリズムのグループから選択される。しかし、たとえば、図2に明瞭に示されているように、別々のアルゴリズムの動作曲線204及び206は交差することがある。これは、一方のアルゴリズムが、ある歪みレートでは他方のアルゴリズムよりも低い複雑さレベルをとるが、別の歪みレートでは複雑さレベルが低くなるとは限らないということを意味する。
【0047】
図10を参照するに、目標の最適C−D境界100により良く接近するため、本発明の好ましい一実施形態では、利用可能なアルゴリズムの動作曲線が測定され、次に、実現可能なあるデータセットに対して、動作曲線内の複雑さレベル毎に最小の歪みレートを生ずるアルゴリズムが選択され、最後に、異なる動作曲線上の切り替えポイントが選択され、これにより、新しい大域的最適動作曲線が得られる。すなわち、本発明によれば、異なるアルゴリズム1002、1004、1006及び1008の間の切り替えは、個別にテストされた何れのアルゴリズム1002、1004、1006及び1008よりも優れた動作曲線1010を得るために利用される。
【0048】
図11を参照するに、本発明の実施例による別のATSC準拠式DTVビデオデコーダ300”が示されている。このDTVビデオデコーダ300”は、拡張性のあるIDCT機能ブロック312、312’及び312”を含む。一実施例として、MPEG2方式デコーダ300”のIDCT機能ブロック312、312’及び312”を使用することにより、この解決法は、計算複雑さ及び品質に関してデコーダの最適な拡張性を実現するため、多数の離散コサイン変換(DCT)アルゴリズムを使用することを提案する。所定の複雑さレベルに対して、最小歪みレベルを与えるDCTアルゴリズムが選択される。
【0049】
理論的には、無限個のアルゴリズムが利用できるならば、最小C−D境界100は、それらのアルゴリズムの間であらゆる比較を実行し、各複雑さレベルで最良フィットを選択することによって近似するか、若しくは、略達成することができる。しかし、実際上、利用可能なアルゴリズムの数及び計算時間は、設計規準によって制限され、動作切り替えポイントの数も制限される。したがって、本発明の解決法は、ある特定の個数の利用可能なアルゴリズムを用いて、ある特定の複雑さの下で実現可能な最小品質歪みを獲得することである。
【0050】
図11を参照するに、本発明の別の実施形態によるATSC準拠式DTVシステムのビデオデコーダ300”のブロック図が示されている。容易に確かめられるように、デコーダ300”は、図1のデコーダ300と殆ど同じ要素を含むので、これらの要素についての説明は繰り返さない。図3及び9を参照して、デコーダ300と比較すると、デコーダ300”は、多数のIDCT312、312’及び312”と、複雑さスイッチ804と、を含み、デコーダ300’は、多数のアルゴリズムを実現し得るIDCT312’と、スイッチ804と、を含む。複雑さスイッチ804は、戦略マネージャー802から得られる信号Jに応答する。スイッチ制御機能804は、IDCT312、312’及び312”のうちの一つを選択的に作動する信号Jに応答して出力信号Kを出力する。図11に示された例の場合、n台の異なるアルゴリズムを与えるため切り替えられるn個のIDCT312、312’及び312”を含む。或いは、異なるアルゴリズムを使用するため、選択的に作動可能な1個以上のIDCTを、図9に示されるように使用してもよい。
【0051】
図8を再度参照するに、QOS800は、中央処理ユニット(CPU)サイクル、すなわち、処理パワーのうちのどの程度の量、或いは、どれ位の割合を使用する資格が与えられているかを判定する。これは、フルパワーのMPEG2方式復号化、すなわち、拡張性の無い復号化の場合には不十分である。戦略マネージャー802は、他のアプリケーションのための他の予定使用量と共に、予定使用量を受け取る。戦略マネージャー802は、計算用若しくは処理用パワーの予定使用量が完全な復号化に十分であるかどうかを判定する。計算用パワーの予定使用量が拡張性の無い復号化に不十分であるならば、戦略マネージャー802は、適当な出力品質を頑強に維持するため、ローカルリソース制御機能804に対し拡張性のあるアルゴリズム806を作動させるよう通知するか、又は、QOSマネージャー800からのより多くのリソースを要求する。MPEG2方式デコーダ300”のローカルリソースマネージャー804の受け取る予定使用量が、予め集計された統計量に基づいて、たとえば、一つ以上のルックアップテーブルを用いて減少させられた場合、作動されるべき拡張性のあるアルゴリズム204と、利用可能な処理用パワーのレベルとが判定される。本発明による大域的最適IDCTアルゴリズムが作動された場合、複雑さと歪みの関係は、予めオフラインで判定されるので、各複雑さレベルにおいて、ローカルリソースマネージャー804は、特定の動作ポイントに対応するような明確なアルゴリズムを呼び出して使用する。
【0052】
アルゴリズム毎に、複雑さの拡張性は異なる。必ずしも全ての利用可能なアルゴリズムが、同じレンジの複雑さ−歪み測定及びレンジを与えるわけではない。異なるアルゴリズムに対する動作ポイントは、互いにオフセットしている。異なるアルゴリズムに対する複雑さ測定のメトリックは、一般化されるか、或いは、比較できるレベルに拡大縮小されるべきである。アルゴリズムを動かすマシーンサイクルの総数は、アルゴリズムの複雑さレベルとして定義され得る。しかし、拡張性のあるアルゴリズムの高レベルのシミュレーションの場合、マシーンサイクルを測定することは現実的ではない。なぜならば、マシーンサイクルは、プラットホーム及びCPUに依存するからである。このような場合、乗算換算比が複雑さ測定量として使用される。
【0053】
本発明の一実施例によれば、動作C−D曲線を獲得する手続は、以下の通りである。
【0054】
ステップ1:利用可能なアルゴリズムの動作ポイントは、種々の複雑さレベルで測定される。
【0055】
ステップ2:異なるアルゴリズムの動作ポイントを同じスケールに拡大縮小し、同じグラフ上に動作曲線を描く。
【0056】
ステップ3:動作曲線の切り替えポイント(交差点)を検出する。
【0057】
ステップ4:各切り替えポイントの間でC−D曲線100に最も近い各動作曲線部分を選択することにより大域的最適動作曲線1010を決定する。
【0058】
要約すると、上記の方法は、多数のスキーム、たとえば、アルゴリズム若しくはモードを使用する所定のシステムに対し、大域的最適複雑さ−歪み境界100により良く接近する方法を提案する。この方法は、情報ベース複雑さ理論に基づき、実際的に達成可能である。この方法は、拡張性のあるマルチメディア/通信システム設計及び拡張性解析に使用される。
【0059】
本発明の方法の実施例におけるステップの順序は上述の順序に限定されない。当業者は、本発明によって意図されている概念から逸脱することなく、ステップの順序を変更するか、或いは、スレッディング・モデル、マルチプロセッサシステム又はマルチプロセスを用いてステップを並列に実行することができる。さらに、導入された品質制御及び全システム制御は、本発明の方法の範囲内で使用され得る役割又はコンセプトを表わす。
【0060】
図12には、本発明によるシステムの一実施例の最も重要な部品が概略的に示されている。システム1200は、所定の出力品質レベルを得るためアルゴリズムが要求するリソースの量をリソース毎に収容する第1のメモリ1202を含む。CPU及びコ・プロセッサは、サイクルが要求されるタイプのリソースの例である。第2のメモリ1204は、アルゴリズムの第1の機能を実現するためのモジュールを格納し、第3のメモリ1206は、アルゴリズムの第2の機能を実現するためのモジュールを格納する。
【0061】
図5に示されるようなエッジ強調又は鮮明さ強調アルゴリズム514の場合を考えるならば、第2のメモリ1204は、ディテールフィルタリング500を実行するモジュールを格納し、第3のメモリ1206は、ノイズ測定508を実行するモジュールを格納する。システムは、図5に示されるようにエッジ強調又は鮮明さ強調のアルゴリズムの全機能を実行するモジュールを格納する多くのメモリを更に有する。第4のメモリ1208は、第1の機能が与えることができる第1の複数の品質レベルの各品質レベルに対し、第1の機能が要求するリソースの量を収容するルックアップテーブルを含む。第5のメモリ1210は、第2の機能が与えることができる第2の複数の品質レベルの各品質レベルに対し、第2の機能が要求するリソースの量を収容するルックアップテーブルを含む。
【0062】
全システム制御機能が、上述の如く、リソース毎の予定使用量を割り付けた後、第6のメモリ1212は、リソース毎に、アルゴリズムに割り付けられた予定使用量を格納する。全システム制御機能は、アルゴリズム全体としての出力品質レベルを割り当てることができるので、リソース毎の予定使用量をアルゴリズムに暗黙的に割り付ける。さらに、メモリ1214及び1216は、それぞれ、アルゴリズムの第1及び第2の機能によって与えられる品質レベルを含む。メモリ1218は、アルゴリズムの第1の機能の動作の複雑さの複数のレベルを示す複数の複雑さ数値を含む。メモリ1220は、アルゴリズムの第1の機能の動作の最小の複雑さレベルを示す複雑さ数を含む。
【0063】
上述のメモリ1214及び1216の内容を判定するため、品質制御機能は、メモリ1218及び1220の内容へアクセスする。メモリ1202、1208、1210、1218及び1220は、表2に示されるように一つのルックアップテーブルに統合してもよい。この統合されたルックアップテーブルは、多数の別個のメモリではなく一つのメモリに保持される。さらに、システムが機能及びルックアップテーブルが相互に配線接続されたシリコンで実現される場合、メモリ1212、1214及び1216は省略してもよい。品質制御機能は、システム内で利用可能なハードウェアに関する情報を格納するコンフィギュレーションファイルを収容するメモリ1226の内容へアクセスし、また、システム内で利用可能なソフトウェアアルゴリズムに関する情報を格納するコンフィギュレーションファイルを収容するメモリ1228の内容へアクセスする。品質制御機能は、上記の全てのメモリへアクセスし、一方、全システム制御機能は、メモリ1202、1212、1226及び1228だけにアクセスすればよい。しかし、全システム制御機能がより多数のメモリへアクセスするとき、アルゴリズムによって与えられる出力品質レベルの変化は、より小さくすることができる。
【0064】
システムは、アルゴリズムの第1の機能が実行される第1のコ・プロセッサ1222と、アルゴリズムの第2の機能が実行される第2のコ・プロセッサ1224とを更に有する。第1の機能と第2の機能の間にはプロセス間通信が必要になるので、オプション的なCPU1230は、アルゴリズムを全体として動作させる。第1の機能を複数の複雑さのレベルで動作させ得るとき、第1の機能は、専用コ・プロセッサ1232上の最小の複雑さレベルで実行され、より大きい複雑さレベルは、コ・プロセッサ1222上で実行される。第1の機能は、コ・プロセッサ1232若しくは1222の何れかにおいて、複数の複雑さレベルの中の各レベルで実行することが可能であり、或いは、第1の機能は、CPU1230において、複数の複雑さレベルの中の各レベルで実行することが可能である。
【0065】
このシステムは、コンピュータ、又は、ソフトウェアを動作させることができるその他の標準的なアーキテクチャによるアプリケーションとして動作させるためのソフトウェアで実現され得る。システムは、デジタルテレビ受像機1234を動作させるため使用される。システムは、上述のルックアップテーブルが,相互に配線接続された論理構築ブロックによって置き換えられ、上述のプロセッサ及びコ・プロセッサが省かれたシリコンで実現することも可能である。
【0066】
図13は、本発明によるシステムの一実施例を構成するテレビ受像機の最も重要な部品を概略的に示す図である。同図において、アンテナ1300は、テレビ信号を受信する。アンテナは、たとえば、衛星パラボラ、ケーブル、記憶装置、インターネット、イーサネット(R)、或いは、テレビ信号を受信することができるその他の装置でもよい。受信機1302は、テレビ信号を受け取る。信号は、たとえば、デジタル、アナログ、RGB又はYUVである。受信機1302の他に、テレビ受像機は、たとえば、プログラマブル集積回路のようなプログラマブルコンポーネント1304を含む。このプログラマブルコンポーネントは、本発明によるシステム1306を収容する。テレビ画面1308は、受信機1302によって受信され、プログラマブルコンポーネント1304、本発明によるシステム1306、及び、テレビ受像機に一般的に含まれるその他の部品(図示されない)によって処理された画像を表示する。
【0067】
図14は、本発明の実施例によるシステムの一実施例を含むセットトップボックスの最も重要な部品を概略的に示す図である。アンテナ1400は、テレビジョン信号を受信する。アンテナは、たとえば、衛星パラボラ、ケーブル、記憶装置、インターネット、イーサネット(R)、又は、テレビ信号を受信することができる他の装置でもよい。セットトップボックス1402は信号を受信する。信号は、たとえば、デジタル、アナログ、RGB又はYUVである。セットトップボックスに収容された通常の部品(図示されない)の他に、セットトップボックスは、本発明によるシステム1404を含む。テレビ受像機1406は、セットトップボックス1402によって受信された信号から生成された出力信号を表わす。出力信号は、VCR、DVD−RW又はハードディスクのような記憶装置へ送られるか、或いは、テレビ受像機へ送られる代わりにインターネットリンクへ送られる。
【図面の簡単な説明】
【図1】
理論的に達成可能な最小の複雑さ−歪み境界の説明図である。
【図2】
システムの二つの動作モードと、理論的に達成可能な最小の境界の説明図である。
【図3】
従来のATSC準拠式DTVシステムのビデオデコーダのブロック図である。
【図4】
本発明による方法の主要なステップの一実施例の説明図である。
【図5】
複数の機能により構成されたアルゴリズムの一例の説明図である。
【図6】
アルゴリズムの複雑さがアルゴリズムによって与えられ得る出力品質レベルに対してセットされたグラフの一例である。
【図7】
本発明による方法を実現するため記録されたコンピュータプログラムを含む記憶装置の一実施例の概略図である。
【図8】
本発明の一実施例において使用される制御システムのブロック図である。
【図9】
本発明の一実施例によるATSC準拠式DTVシステムの拡張性のあるビデオレコーダのブロック図である。
【図10】
本発明の一実施例による多数のアルゴリズムの中で最小の複雑さ−歪み(C−D)方式の説明図である。
【図11】
本発明の他の一実施例によるATSC準拠式DTVシステムの拡張性のあるビデオレコーダのブロック図である。
【図12】
本発明によるシステムの一実施例の最重要部品の略構成図である。
【図13】
本発明によるシステムの一実施例を収容するテレビ受像機の略構成図である。
【図14】
本発明によるシステムの一実施例を収容するセットトップボックスの略構成図である。

Claims (26)

  1. 第1の機能及び第2の機能を含むアルゴリズムを実行する方法であって、
    複数の出力品質レベルを与えるためアルゴリズムによってアルゴリズムリソースを要求する第1の手順と、
    第1の機能が第1の複数の品質レベルを与え、第2の機能が第2の複数のレベルを与えることを判定する第2の手順と、
    複数の出力品質レベルのうちの一つの出力品質レベルでアルゴリズムを動作させるため、予定使用量をアルゴリズムへ割り付ける第3の手順と、
    第1の複数の品質レベルのうちの第1の品質レベルを第1の機能に割り当て、第2の複数の品質レベルのうちの第2の品質レベルを第2の機能に割り当てる第4の手順と、
    を有する、アルゴリズムを実行する方法。
  2. 第1の品質レベルを与える第1の機能は複数の複雑さのレベルで動作させられ得る、請求項1記載のアルゴリズムを実行する方法。
  3. 出力品質レベルでアルゴリズムを動作させる第6の手順と、
    第1の機能によって第1のリソース量を使用して第1の品質レベルで第1の機能を動作させ、第2の機能によって第2のリソース量を使用して第2の品質レベルで第2の機能を動作させる第7の手順と、
    を更に有する請求項1記載のアルゴリズムを実行する方法。
  4. 複数の複雑さのレベルの中の最小の複雑さレベルで第1の機能を動作させる第8の手順を更に有する請求項3記載のアルゴリズムを実行する方法。
  5. 割り付けられた予定使用量は、要求されたアルゴリズムリソースに実質的に一致する、請求項1記載のアルゴリズムを実行する方法。
  6. 第1のリソース量と第2のリソース量の合計は、割り付けられた予定使用量に実質的に一致する、請求項3記載のアルゴリズムを実行する方法。
  7. アルゴリズムリソースと複数の出力品質レベルを決定するためにアルゴリズムを実行する方法を実施するハードウェアプラットフォームを決定する第9の手順を更に有する、請求項1記載のアルゴリズムを実行する方法。
  8. アルゴリズムリソースと複数の出力品質レベルを決定するためにアルゴリズムを実行する方法を実施するソフトウェアプラットフォームを決定する第10の手順を更に有する、請求項1記載のアルゴリズムを実行する方法。
  9. 各動作状態がプログラマブル処理装置の複数の動作モードの中の少なくとも一つのモード、動作の複雑さ、及び、歪みレベルと関連付けられている、複数の動作状態を表わすデータを準備する第1の手順と、
    該データを使用して、該歪みレベルに基づいて、該複雑さ毎に該動作状態のうちの一つの動作状態を選択する第2の手順と、
    該プログラマブル処理装置の動作状態を判定する第3の手順と、
    該選択された動作状態を用いて該判定された動作状態に応じて該複雑さ毎に該プログラマブル処理装置を動作させる動作モードを選択する第4の手順と、
    を有する、出力信号における歪みを低減するためプログラマブル処理装置を動作させる方法。
  10. 1番目に判定された動作状態に対し選択された動作モードは、2番目に判定された動作状態に対し選択された動作モードとは異なる、請求項9記載の出力信号における歪みを低減するためプログラマブル処理装置を動作させる方法。
  11. 該第2の手順は、該複雑さに対する該歪みレベルを最小限に抑えるように一つの動作状態を選択する、請求項9記載の出力信号における歪みを低減するためプログラマブル処理装置を動作させる方法。
  12. 該第1の手順では、少なくとも一つのルックアップテーブルが使用される、請求項9記載の出力信号における歪みを低減するためプログラマブル処理装置を動作させる方法。
  13. 該プログラマブル装置はマルチメディア通信装置である、請求項9記載の出力信号における歪みを低減するためプログラマブル処理装置を動作させる方法。
  14. 該プログラマブル装置は、少なくとも一つの逆離散コサイン変換部を含むATSC準拠式デジタルテレビデコーダであり、
    各動作モードは該少なくとも一つの逆離散コサイン変換部の別々の動作モードに対応する、
    請求項9記載の出力信号における歪みを低減するためプログラマブル処理装置を動作させる方法。
  15. 該第4の手順は、動作モードを選択する際に、利用可能な計算用リソース量を用いてタスクを実行する他の動作モードに望ましい複雑さ−歪み特性を与える動作モードを判定する、請求項9記載の出力信号における歪みを低減するためプログラマブル処理装置を動作させる方法。
  16. 動作の複雑さ特性が異なる複数のモードで動作可能な少なくとも一つの拡張性のあるアプリケーションと、
    該少なくとも一つの拡張性のあるアプリケーションが使用するために利用可能な計算用リソースの量を追跡するQOSリソースマネージャーと、
    該複数のモードのうちの所与のモードにおいて該利用可能な計算用リソースが該拡張性のあるアプリケーションの動作に適しているかどうかを判定する戦略マネージャーと、
    該戦略マネージャーに応答し、該利用可能なリソースが該所与のモードにおいて該少なくとも一つのアプリケーションの動作に適していないという該戦略マネージャーによる判定に応じて、該少なくとも一つの拡張性のあるアプリケーションに対して別のモードを選択するローカルリソース制御部と、
    を有し、
    該QOSリソースマネージャー及び該戦略マネージャーは相互に応答し、
    該少なくとも一つの拡張性のあるアプリケーションは該ローカルリソース制御部に応答する、
    拡張性のあるプログラマブル処理装置。
  17. 該ローカルリソース制御部からアクセスできるメモリを更に有する請求項16記載の拡張性のあるプログラマブル処理装置。
  18. 該メモリは、複数の利用可能なシステムリソース量に対する各モードの複雑さ−歪み特性を表わすデータを含む、請求項17記載の拡張性のあるプログラマブル処理装置。
  19. 少なくとも一つの逆離散コサイン変換部を含むATSC準拠式デジタルテレビデコーダであり、
    各モードは、該少なくとも一つの逆離散コサイン変換部の別々の動作モードに対応する、
    請求項16記載の拡張性のあるプログラマブル処理装置。
  20. 少なくとも一つの可変長デコーダと、
    該可変長デコーダに接続された少なくとも一つの逆量子化器と、
    該逆量子化器に接続された少なくとも一つの逆離散コサイン変換器と、
    該逆離散コサイン変換器に接続された少なくとも一つの動き補償器と、
    該逆離散コサイン変換器及び該動き補償器に接続された加算用接点と、
    コントローラと、
    を有する、拡張性のあるMPEG2準拠式ビデオデコーダであって、
    少なくとも一つの該可変長デコーダ、該逆量子化器、該逆離散コサイン変換器、及び、該動き補償器は、該コントローラに接続され、該コントローラに応答し、複数のモードの中で、該ビデオデコーダの出力の許容可能な歪みレベルに対し所定の複雑さ特性を備えた一つのモードで動作し、
    該コントローラは、該所定の複雑さ特性に基づいて該一つのモードを選択する、
    拡張性のあるMPEG2準拠式ビデオデコーダ。
  21. 該コントローラは、少なくとも一つの該可変長デコーダ、該逆量子化器、該逆離散コサイン変換器、及び、該動き補償器を動作させるための利用可能な計算用リソースの量に更に基づいて、該一つのモードを選択する、請求項20記載の拡張性のあるMPEG2準拠式ビデオデコーダ。
  22. 該少なくとも一つの逆離散コサイン変換器は、該コントローラに応じて選択的に動作する複数の逆離散コサイン変換器を含む、請求項20記載の拡張性のあるMPEG2準拠式ビデオデコーダ。
  23. 該選択的に動作する逆離散コサイン変換器は、選択された該一つのモードを実施する、請求項22記載の拡張性のあるMPEG2準拠式ビデオデコーダ。
  24. 選択された該一つのモードの該複雑さ−歪み特性は、該複数のモードの中の他のモードの特性よりも効率的である、請求項23記載の拡張性のあるMPEG2準拠式ビデオデコーダ。
  25. 請求項1乃至15のうちいずれか一項記載の方法を実行するコンピュータプログラム。
  26. 請求項25記載のコンピュータプログラムを記録した記憶装置。
JP2002523147A 2000-08-29 2001-08-22 アルゴリズムを実行する方法と、拡張性のあるプログラマブル処理装置 Pending JP2004507957A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/649,777 US6674800B1 (en) 2000-08-29 2000-08-29 Method and system for utilizing a global optimal approach of scalable algorithms
US09/759,036 US20020129080A1 (en) 2001-01-11 2001-01-11 Method of and system for running an algorithm
US09/872,931 US20030058942A1 (en) 2001-06-01 2001-06-01 Method of running an algorithm and a scalable programmable processing device
PCT/EP2001/009691 WO2002019095A2 (en) 2000-08-29 2001-08-22 Method of running an algorithm and a scalable programmable processing device

Publications (1)

Publication Number Publication Date
JP2004507957A true JP2004507957A (ja) 2004-03-11

Family

ID=27417828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002523147A Pending JP2004507957A (ja) 2000-08-29 2001-08-22 アルゴリズムを実行する方法と、拡張性のあるプログラマブル処理装置

Country Status (5)

Country Link
EP (1) EP1316218A2 (ja)
JP (1) JP2004507957A (ja)
KR (1) KR20020064893A (ja)
CN (1) CN1265645C (ja)
WO (1) WO2002019095A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504633A (ja) * 2004-06-22 2008-02-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 光ディスクナビゲーターを最適化するための方法および装置
JP2011507404A (ja) * 2007-12-10 2011-03-03 クゥアルコム・インコーポレイテッド ビデオ補間または外挿のための参照選択

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1647044A (zh) * 2002-06-20 2005-07-27 松下电器产业株式会社 多任务控制设备和音乐数据再现设备
US20060059263A1 (en) 2003-02-06 2006-03-16 Koninklijke Philips Electronics N.V. Optimizing scaleable video algorithm asset distribution utilizing quality indicators
US7639743B2 (en) * 2004-03-25 2009-12-29 Sony Corporation Image decoder and image decoding method and program
US7929599B2 (en) 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
US8948822B2 (en) * 2008-04-23 2015-02-03 Qualcomm Incorporated Coordinating power management functions in a multi-media device
US8908763B2 (en) 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
US8964828B2 (en) * 2008-08-19 2015-02-24 Qualcomm Incorporated Power and computational load management techniques in video processing
US8948270B2 (en) 2008-08-19 2015-02-03 Qualcomm Incorporated Power and computational load management techniques in video processing
US8928678B2 (en) * 2012-08-02 2015-01-06 Intel Corporation Media workload scheduler

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640208A (en) * 1991-06-27 1997-06-17 Sony Corporation Video signal encoding in accordance with stored parameters
US5592302A (en) * 1992-03-23 1997-01-07 Canon Kabushiki Kaisha Coding method for coding pixel blocks and apparatus therefor
US5818967A (en) * 1995-06-12 1998-10-06 S3, Incorporated Video decoder engine
WO1997015149A1 (en) * 1995-10-18 1997-04-24 Philips Electronics N.V. Method for making a multimedia application executable on hardware platforms with various different resource levels, a physical record containing such application, and an apparatus for executing such application
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
KR100248404B1 (ko) * 1997-09-04 2000-03-15 정선종 다중 객체 환경에서 우선 순위 정보를 이용한 순화적 계산량 감소 방법
EP0939545A2 (en) * 1998-02-27 1999-09-01 Hitachi, Ltd. Video service system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504633A (ja) * 2004-06-22 2008-02-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 光ディスクナビゲーターを最適化するための方法および装置
JP4880592B2 (ja) * 2004-06-22 2012-02-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 光ディスクナビゲーターを最適化するための方法および装置
JP2011507404A (ja) * 2007-12-10 2011-03-03 クゥアルコム・インコーポレイテッド ビデオ補間または外挿のための参照選択
US8953685B2 (en) 2007-12-10 2015-02-10 Qualcomm Incorporated Resource-adaptive video interpolation or extrapolation with motion level analysis
US9426414B2 (en) 2007-12-10 2016-08-23 Qualcomm Incorporated Reference selection for video interpolation or extrapolation

Also Published As

Publication number Publication date
CN1394443A (zh) 2003-01-29
WO2002019095A2 (en) 2002-03-07
KR20020064893A (ko) 2002-08-10
CN1265645C (zh) 2006-07-19
EP1316218A2 (en) 2003-06-04
WO2002019095A3 (en) 2002-06-13

Similar Documents

Publication Publication Date Title
US8395634B2 (en) Method and apparatus for processing information
KR100917543B1 (ko) 다수의 트랜스코딩된 출력을 생성하는 방법
US8675739B2 (en) Method and apparatus for video decoding based on a multi-core processor
US9612965B2 (en) Method and system for servicing streaming media
US6704362B2 (en) Resource scalable decoding
US7925108B2 (en) Encoding device and dynamic image recording system having the encoding device
US20020059627A1 (en) Agent-enabled real-time quality of service system for audio-video media
JP2002517109A5 (ja)
JP2009502069A (ja) 画像ストリーミング・システム内の圧縮レベルを切り換えるシステム、方法、及び媒体
JP2004521572A (ja) 拡張可能なmpeg−2復号器
JP2004507957A (ja) アルゴリズムを実行する方法と、拡張性のあるプログラマブル処理装置
JP2003037843A (ja) 画像処理装置および方法、記録媒体、並びにプログラム
US20160360231A1 (en) Efficient still image coding with video compression techniques
EP1410148A1 (en) Method of running a media application and a media system with job control
US20030058942A1 (en) Method of running an algorithm and a scalable programmable processing device
JP2004514352A (ja) Mpeg−2スケーラブル復号器内の複雑さの動的な適応
WO2021007702A1 (en) Video encoding method, video decoding method, video encoding device, and video decoding device
US20020129080A1 (en) Method of and system for running an algorithm
US10356439B2 (en) Flexible frame referencing for display transport
JP4105676B2 (ja) メディアストリームを非ブロック化しコード変換する方法
US6674800B1 (en) Method and system for utilizing a global optimal approach of scalable algorithms
JP5924211B2 (ja) 画像処理装置、画像処理方法およびプログラム
KR100623710B1 (ko) 하드웨어 리소스를 공유하여 복수의 동영상 콘텐츠를처리하는 방법
JP2006086964A (ja) ビットレート変換装置およびビットレート変換方法
JP4747109B2 (ja) 演算量調整装置