JP2005157783A - 実行予約可能なアクセラレータを備えたプロセッサシステム - Google Patents

実行予約可能なアクセラレータを備えたプロセッサシステム Download PDF

Info

Publication number
JP2005157783A
JP2005157783A JP2003395995A JP2003395995A JP2005157783A JP 2005157783 A JP2005157783 A JP 2005157783A JP 2003395995 A JP2003395995 A JP 2003395995A JP 2003395995 A JP2003395995 A JP 2003395995A JP 2005157783 A JP2005157783 A JP 2005157783A
Authority
JP
Japan
Prior art keywords
accelerator
processor system
counter
request
number counter
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
JP2003395995A
Other languages
English (en)
Inventor
Koji Hosoki
浩二 細木
Yukio Fujii
藤井  由紀夫
Kazuhiko Tanaka
和彦 田中
Keimei Nakada
啓明 中田
Masakazu Ehama
真和 江浜
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003395995A priority Critical patent/JP2005157783A/ja
Priority to US10/982,830 priority patent/US20050119870A1/en
Publication of JP2005157783A publication Critical patent/JP2005157783A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7864Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip
    • 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]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】
画像処理を高速に行うことのできるプロセッサシステムを提供する。
【解決手段】
アクセラレータ3と接続し該アクセラレータに起動要求の予約を発行するCPU1と、CPUが発行した要求数をカウントする要求数カウンタ及び終了した処理数をカウントする終了数カウンタを有するアクセラレータ3とを備え、前記アクセラレータ3は、要求数カウンタのカウンタ値が終了数カウンタのカウンタ値より大きいとき、自身を起動可能とする。
【選択図】 図1

Description

本発明は、実行予約可能なアクセラレータを備えたプロセッサシステムにかかり、特に、処理を高速に行うことのできるプロセッサシステムに関する。
実時間で行うMPEG処理などの高い処理能力を必要とするメディア処理は、固定機能のMPEG専用LSI等の専用チップを使用する処理から、メディア演算器を含むメディアプロセッサを用いたソフトウェアによる処理に移行しつつある。
前記メディアプロセッサは、メディア処理に特化した豊富な演算器を備え、多種の規格の情報に対してソフトウェアにより対応可能である。また、画像処理あるいは音声処理など機能の異なる処理を1チップで実現することができる。また、メディアプロセッサは、メディア演算器の高い演算性能を得るため、データ転送系の強化、専用アクセラレータの搭載などにより並列性を高め、ソフトウェアによる実時間処理を実現している。
特許文献1には、メディア処理を実行するCPUに加え、データ転送用アクセラレータ(データストリーマ)を備えることにより、メディア処理とデータ転送の分散処理を実現し性能向上を実現したマルチメディアシステムが示されている。このシステムでは、連鎖可能なチャネルを使用したデータ転送を実現し、複数のデータ転送を連鎖的に実現する。このため、アクセスアドレスが既知の場合、チャネルを連鎖させることによりCPUの介在無しで並列処理を実現することができる。
特公表2002−527824号
前記従来のMPEG復号化処理においては、1画面の画像復号処理を実現する場合、この1画面をマクロブロックと呼ぶ小さなブロックに分割し、マクロブロック毎に順次処理を行うアルゴリズムが採用される。また、MPEG復号処理においては、処理全体に対し、動き補償処理と呼ばれる2次元のブロック転送を伴う処理の比重が大きい。この動き補償処理におけるブロック転送は、そのアクセスアドレスがランダムに発生するため、逐一、アドレス生成を行う必要がある。
前記特許文献1におけるマルチメディアシステムにおいて、このようなデータ転送を実現する場合アクセスアドレスを逐一生成する必要がある。このため、先に起動したチャネル設定時に、連鎖によるチャネルに指定するアクセスアドレスを確定することはできない。 すなわち、アクセラレータ(データストリーマ)の起動は、先に発行したチャネルの終了判定後にしか行うことができず、連鎖によるチャネルの使用は行うことはできない。
従って、CPUはデータストリーマとの同期化が必要となり、実質的にCPUの処理性能が低下する。また同時にアクセラレータの稼動率も低下することになる。
本発明は、これらの問題点に鑑みてなされたもので、画像処理を高速に行うことのできるプロセッサシステムを提供する。
本発明は上記課題を解決するため、次のような手段を採用した。
アクセラレータと接続し該アクセラレータに起動要求の予約を発行するCPUと、CPUが発行した要求数をカウントする要求数カウンタ及び終了した処理数をカウントする終了数カウンタを有するアクセラレータとを備え、前記アクセラレータは、要求数カウンタのカウンタ値が終了数カウンタのカウンタ値より大きいとき、自身を起動可能とすることを特徴とする実行予約可能なアクセラレータを備えた。
本発明は、以上の構成を備えるため、画像処理を高速に行うことのできるプロセッサシステムを提供することができる。
以下、最良の実施形態を添付図面を参照しながら説明する。図1は、本実施形態におけるプロセッサシステムとしての画像処理システムの構成を説明する図である。
画像処理システムは、データキャッシュ10を含み、汎用的な演算やメディア演算を行うCPU1、MPEG処理における動き補償処理を行う動き補償アクセラレータ3及びメモリ制御回路4を備え、これらはバス2を介して接続される。メモリ制御回路4にはパス5を介して主記憶などのメモリ6が接続される。CPU1はバス2およびネットワーク30を介して動き補償アクセラレータ3及びメモリ制御回路4にアクセス可能である。
動き補償アクセラレータ3の詳細な説明の行う前に、まず、図2および図3を参照してMPEG復号処理の処理シーケンスの概要について説明する。
図2は、MPEG復号処理シーケンスの概要を説明する図である。圧縮された入力ストリームは、ハフマン復号化回路、逆量子化回路、逆離散コサイン変換回路を介して画像データを生成し、生成した画像データをフレームバッファに格納する。動きベクトルを用いた復号処理では、先のシーケンスによって得られる画像と動き補償処理によって得る画像との加算を行うことにより画像データを生成する。
図3は、MPEG復号処理における動き補償処理を説明する図であり、動き補償処理の1例であるフレーム画像のデュアルプライム予測方式を示した図である。この処理は、それぞれ17×9画素の参照画像4つを元に、半画素単位で隣り合った画素との丸め付き平均をとり、16×16画素の画像を生成する処理である。従って、動き補償アクセラレータ3は、MPEG−2におけるデュアルプライム予測、フレーム予測、フィールド予測、16×8MC予測、及びMPEG−4におけるフレーム予測、フィールド予測、4MV予測などの動き予測モードに従い参照画を読出し、丸め付き平均演算を行うアクセラレータである。
次に、図1を参照して、動き補償アクセラレータ3について説明する。動き補償アクセラレータ3は、バス2およびネットワーク30経由でCPU1からアクセス可能なスレーブとしての機能と、動き補償アクセラレータ3内のアドレス発生器36が生成するアドレスによって、ネットワーク30およびバス2経由で能動的にアクセスするマスタとしての機能との両者を有する。
スレーブとしての動作時、ネットワーク30を介してアクセス可能なブロックは、有効要求判定回路31、デスクリプタ記憶回路32及び共通レジスタ33である。マスタとしての動作時、デスクリプタ記憶回路32へのデスクリプタ読込み動作と、入力データ記憶回路34への参照画像読込み動作と、出力データ記憶回路35からの動き補償結果出力動作の3つのアクセスを行う。
有効要求判定回路31は、動き補償アクセラレータ3の起動を行うか否かを判定する。デスクリプタ記憶回路32は、マクロブロック毎に与えられる予測モードなどデスクリプタ形式で定義された動き補償処理に必要なパラメータを保存するブロックである。共通レジスタ33は1画面のMPEG復号処理において、変化のないパラメータなどを保存するレジスタである。アドレス発生器36は、デスクリプタ読込みアドレス、参照画像読込みアドレス、及び動き補償結果出力アドレスを生成する。入力データ記憶回路34は、参照画像を保存するブロックである。動き補償演算器37は、入力データ記憶回路34に記憶された参照画データ50を入力しデュアルプライム予測などの丸め付き平均演算を行う演算器であり、動き補償演算結果52を生成し、出力データ記憶回路35に出力する。生成した動き補償結果51は出力データ記憶回路35から出力され、ネットワーク30を介してバス2に出力する。
図4は、有効要求判定回路31の詳細を説明する図である。有効要求判定回路31は2種のカウンタ、すなわち、動き補償アクセラレータ3の起動要求40の回数を順次加算する要求数Σカウンタ310、及び動き補償アクセラレータ3が演算終了したことを示す動き補償演算終了イベント41を順次カウントする終了数カウンタ311を備える。これらカウンタのカウンタ値を比較器312に入力し、要求数Σカウンタ値310が終了数カウンタ値311よりも大きい場合、有効な要求があるとして有効要求42を生成し出力する。
また、アクセラレータ3は有効要求42をもとにCPUのアクセラレータに対する要求を処理する。
本実施形態では、少なくとも、要求数Σカウンタ310と終了数カウンタ値311を同時に「0」クリアする手段を有する。ここでは、要求数Σカウンタ310のカウンタ値と終了数カウンタ311のカウンタ値を同時にアクセス可能なレジスタに配置し、これらのレジスタに値「0」を書込んだ場合、2つのレジスタは「0」クリアするものとする。この「0」クリアにより、無効な要求が存在しないことを確定することができる。
また、要求数Σカウンタ310のカウンタ値と終了数カウンタ311のカウンタ値にアドレス空間を2つ設け、一つはリード及びライトアクセス可能な領域とし、他方は、アクセスすると共に「0」クリアできる領域として定義することもできる。
次に、要求数Σカウンタ310のカウンタ値の設定方式について説明する。第1の方式として、例えば、書込みデータ自身を要求数を示すものとすることができる。この例の場合は、まず、カウンタ値を「0」クリアした後、カウンタ値に要求数1を書込む。これにより要求数Σカウンタ310は「1」を記憶する。次に、例えば要求数3を書込む。この場合、要求数Σカウンタ値は、前記カウンタ値「1」と「3」を加算した「4」を記憶する。これによりシグマ加算を実現し、過去に発行された要求数の総和を記憶することができる。すなわち、ここでは、4つの要求が発行されたことを記憶する。
また、第2の方式として、前述のようにレジスタに値「0」を書込んだ時は「0」クリアし、レジスタに「0」以外の値を書込んだ場合には、要求数Σカウンタ310を「1」ずつ加算する。これにより「0」以外の値の書込み数を要求数とすることができる。
また、第3の方式として、CPU1自身はソフトウェアによりこれまでに発行した要求数を記憶しているため、CPU1自身が記憶した要求数を直接、要求数Σカウンタ310のカウンタ値とすることができる。なお、終了数カウンタ値54は、動き補償演算結果52の転送後、CPU1側に転送するとよい。
図5は、デスクリプタ記憶回路32の詳細を説明する図である。デスクリプタ記憶回路32は、マクロブロック毎に与えられるデスクリプタ形式で定義された予測モードなどの動き補償処理に必要な情報を格納する。なお、デスクリプタはCPU1内のデータキャッシュ10内あるいはメモリ6内にデータとして保存されている。
前記保存されたデスクリプタデータ43のデスクリプタ記憶回路32内への格納処理は、(CPU1などからのライト操作による格納ではなく)有効要求42がアサート(有効化)され、有効な動き補償処理要求があると判断したとき、動き補償アクセラレータ3自身がバス2に対し能動的に読出しを行い、デスクリプタ記憶回路32内の各種レジスタに格納する処理である。
デスクリプタ記憶回路32は、2種のレジスタフィールドを備える。まず、処理内容フィールド320は、輝度成分、色差(Cb、Cr)などのコンポーネント部、単方向予測か双方向予測かを示す双方向フラグ部、デュアルプライム予測やフィールド予測、フレーム予測、16×MC予測などの予測モードを示す予測モード部、丸め付き平均を行うための半画素値[n]部、参照画像の読出しアドレスを示す参照アドレス[n]部322等からなる。また、チェーン情報フィールド321は次のデスクリプタが格納されているアドレスを示す次デスクリプタアドレス部323を備える。
なお、次デスクリプタアドレスは、次のデスクリプタが格納された絶対アドレス指定で表す方式、あるいは相対アドレス指定のようにオフセットとして定義し現在のデスクリプタとの相対アドレスで定義する方式とすることができる。半画素値[n]部および参照アドレス[n]部322は、複数のフィールド参照を必要とするため、[n]個のセットを有する。
処理内容フィールド320は動き補償処理の参照画像読出し、あるいは動き補償演算のモードを設定するために使用し、チェーン情報フィールド321は次のデスクリプタを読み出すために使用する。これらのフィールドは共にバス2を介してデータアクセス処理が可能である。データアクセスに際しては、選択回路324により参照アドレス[n]部325あるいは次デスクリプタアドレス部323を選択して読出してアドレス44を生成し、生成したアドレス44をアドレス発生器36に転送する。
図6は、共通レジスタ33の詳細を説明する図である。共通レジスタ33は(マクロブロック毎に必要なパラメータではなく)1画面の動き補償処理シーケンスにおいて必要とされるパラメータ46を格納する。ネットワーク30を経由して書込み可能なレジスタは、画像の幅を示すフレーム幅フィールド、フレーム画像かフィールド画像かを示す画像ストラクチャ、出力データ格納アドレス[0:2]331及び出力データを格納する領域のバッファ繰返し数を指定する出力繰り返しカウンタ[0:2]332を備える。
出力繰り返しカウンタ[0:2]332は、リングバッファ的に定義された出力先のセット数の上限を示し、カウンタ値がこの上限値に達するとゼロにクリアされる。出力格納先出力データが格納される2次元カウンタ333は、フレーム幅フィールドをシグマ加算するレジスタで、2次元の参照画像を読出すときに加算する。なお、MPEG処理で言うフィールド予測やデュアルプライム予測時は、フレーム幅フィールドの2倍の値を加算し、読出しピッチが2倍となるフィールド画像にも対応する。
選択回路334は、動き補償結果の出力時には出力繰り返し数カウンタ値332を、参照画像の読出し時には2次元カウンタ333の出力を、また、デスクリプタ読出し時には値0を選択してオフセットアドレス48を生成するセレクタであり、生成したアドレスはアドレス発生器36に出力する。また、出力データ格納アドレス[0:2]部331も同様に生成したアドレスをアドレス発生器36に出力する。
ここで、出力データ格納アドレス[0:2]部331と出力繰り返し数カウンタ[0:2]332は、画像処理における輝度成分と色差成分(Cb、Cr)に対応するため、それぞれ3セット有し、それぞれの出力先は指定することができる。
図7は、アドレス発生器36の詳細を説明する図である。アドレス発生器36は、デスクリプタの読出しアドレス、2次元参照画の読出しアドレス、及び動き補償結果出力先アドレスの3つを生成する。選択回路360は、デスクリプタの読出し時と2次元参照画読出し時には読出しアドレス44を、動き補償結果出力時は出力格納アドレス47を選択する。選択回路360の出力であるベースアドレス362は、オフセットアドレス48と加算器361により加算され、アクセスアドレス53を生成する。動き補償アクセラレータ3はアクセスアドレス53を用い、ネットワーク30を介してバス2にアクセスする。
図8は、動き補償演算器37の詳細を説明する図である。この例では、入力データ記憶回路34から出力される参照画データ50は一度に偶数ラインと奇数ラインの2ラインを読出すことができる構成とする。偶数ライン半画素演算器370は、偶数ライン参照データ50(E)により偶数ラインの横方向半画素値376を演算し、奇数ライン半画素演算器371は、奇数ライン参照データ50(O)により、奇数ラインの横方向半画素値377を演算し、それぞれ縦方向半画素演算器372に入力し、縦横計4画素の丸め付き平均値378を得る。なお、処理フィールド320内の半画素値が、丸め付き平均をとる必要がないと示した場合、それぞれの演算器に入力する偶数ライン参照データ50(E)、奇数ライン参照データ50(O)、偶数ラインの横方向半画素値376、奇数ラインの横方向半画素値377にマスクをかけると共に、それぞれの演算器の出力段にシフタを設け、丸め付き平均演算を行わないよう制御する。
更にデュアルプライム予測と双方向予測では、平均値演算器374にて2つの4画素丸め付き平均値378の平均を取るため、パイプラインにて実行し、4画素丸め付き平均値378をレジスタ373にて記憶した4画素丸め付き平均値379と、対応する画素丸め付き平均値378を入力し、最終的な動き補償演算結果52を得る。平均値演算器374においても、平均値演算の必要のない場合、平均値演算器374内のマスクとシフタにより演算をマスク可能とする。これら様々なMPEG動き補償演算は、入力する参照画データ50の入力順序と、出力する最終的な動き補償演算結果52の出力順序を制御することで、最終的な動き補償演算結果52を得ることが可能であり、この順序を決定するものが、図5および図6において示した、フレーム画像かフィールド画像かを示す画像ストラクチャ、単方向予測か双方向予測かを示す双方向フラグ、フレーム予測、フィールド予測、デュアルプライム予測、MPEG2時の16×MC予測、MPEG4時の4MV予測など、復号する画像の予測モードを示す予測モード、及び半画素値である。これらの値により、出力データ記憶回路35のリードポインタと、出力データ記憶回路35のライトポインタを制御する。
なお、演算制御部375は、動き補償演算器37のメイン制御部で、演算器自身を制御し、1マクロブロック分の動き補償処理が終了した時点で、動き補償演算終了イベント41を生成する。
次に、図9及び図10を参照して、動き補償アクセラレータ3を使用した動き補償処理について説明する。この処理は、図2に示すようにMPEG復号処理シーケンスに従い、CPU1によりハフマン復号化、逆量子化、逆離散コサイン変換、及び動き補償結果との加算を実行し、動き補償アクセラレータ3において動き補償処理を行う。なお、説明を容易にするため、ここでは輝度成分のみのMPEG復号処理を行うモデルとする。
図9は、動き補償処理に係わるメモリのアロケーションを説明する図である。CPU1内のデータキャッシュ10には、動き補償処理内容を示したデスクリプタ領域500、501、502、終了数カウンタ領域503、動き補償結果格納領域504、505、506を定義する。この例では、デスクリプタと動き補償結果をトリプルバッファ形式で定義し、最大で3つの動き補償アクセラレータ3の起動を可能とする。各デスクリプタには、チェーン的に次デスクリプタアドレスが格納され、自動的にチェーン可能である(500、501、502)。トリプルバッファを使用するため、動き補償結果領域504、505、506の3面を有し、共通レジスタ33内の出力繰り返しカウンタ332(図6)には「3」を設定する。また、終了数カウンタ領域503は、動き補償結果を動き補償結果領域504、505、506に書込み終了後、動き補償アクセラレータ3自身が終了数カウンタ値54の値で更新する。これらの領域をデータキャッシュ10上に配置することにより、CPU1のアクセスは、データキャッシュを参照することのみでよく、アクセス性能を向上することができる。なお、メモリ6内には参照画像600が格納される。
図10は、アクセラレータ3の動き補償処理を説明する図である。まず、処理を開始した(ステップ400)後、CPU1は、動き補償アクセラレータ3の初期化を行う。例えば、共通レジスタ33内のフレーム幅フィールド、画像ストラクチャ、及び出力繰り返し数カウンタに「3」を、出力データ格納アドレス331にアドレス5を設定し、有効要求判定回路40内の要求数Σカウンタ310と終了数カウンタ311のクリアし、デスクリプタ記憶回路32内の次デスクリプタアドレス323に最初のデスクリプタが格納されているアドレス(アドレス1)を設定する。また、データキャッシュ上の終了数カウンタ値領域503をクリアする(ステップ401)。
この時点で、動き補償アクセラレータ3は起動可能な状態となり、有効要求判定回路31の動作に従い、有効要求42がアサートされるまで待ち状態となる。CPU1は、データキャッシュ10内の輝度デスクリプタ領域500を設定後、要求数Σカウンタ310に「1」を設定する。「1」が設定されたとき、有効要求42がアサートされ、動き補償アクセラレータ3は起動される(ステップ402)。
まず、設定されている次デスクリプタアドレス323のアドレスを元に、データキャッシュ10(図9)から輝度デスクリプタ1を読出し、デスクリプタ記憶回路32を更新する(ステップ403)。次に、デスクリプタ記憶回路32に記憶された処理内容フィールド320を元に参照画をメモリ6から読出し(ステップ404)、動き補償演算器37により動き補償演算を実行し、動き補償演算結果52を出力データ記憶回路35に格納する。このとき、動き補償終了イベント41がアサートされ、終了数カウンタ311がカウントアップされる(ステップ405)。
次に、動き補償結果51を出力データ格納アドレス331を元にデータキャッシュ10上の動き補償結果1領域504に転送し、転送終了後、終了数カウンタ311の値をデータキャッシュ10上の終了数カウンタ値領域503に転送する(ステップ406)。この時点で、動き補償アクセラレータは、再度、有効要求42が存在するか判定する(ステップ402)。これら一連のシーケンスにより、連鎖的な動き補償アクセラレータ3の起動を可能とすることができる。また、動き補償アクセラレータ3のアクセスは、スヌープの技術によりデータキャッシュ10とメモリ6間で整合性を維持することができる。
以上説明したように本実施形態によれば、CPU1は動き補償アクセラレータ3の起動要求(要求数Σカウンタ値)及びデータキャッシュ10上の終了数カウンタ値503をポーリングするのみで動き補償アクセラレータ3の起動予約を可能とすることができる。すなわち、動き補償アクセラレータ3の動作状況(動き補償アクセラレータ3が起動可能な状態であるか否か)をポーリングする必要はない。また、データキャッシュ10上に定義したデスクリプタ領域500、501、502と動き補償結果領域504、505、506のセット数に従い、動き補償アクセラレータ3の起動予約を可能とすることができる。また、複数の起動要求間に発生するアクセラレータの無駄な停止期間を削除することが可能であり、システム全体の処理能力を向上することができる。
なお、以上の説明では、MPEG復号処理における動き補償処理に特化して説明したが、本発明はこれに制限されるものではない。例えばデスクリプタによって動作するアクセラレータを含むシステム全般に関して同様に適用することができる。
本実施形態におけるプロセッサシステムとしての画像処理システムの構成を説明する図である。 MPEG復号処理シーケンスの概要を説明する図である。 MPEG復号処理における動き補償処理を説明する図である。 有効要求判定回路31の詳細を説明する図である。 デスクリプタ記憶回路32の詳細を説明する図である。 共通レジスタ33の詳細を説明する図である。 アドレス発生器36の詳細を説明する図である。 動き補償演算器37の詳細を説明する図である。 動き補償処理に係わるメモリのアロケーションを説明する図である。 補償アクセラレータ3の動き補償処理を説明する図である。
符号の説明
1 CPU
2 バス
3 動き補償アクセラレータ
4 メモリ制御回路
5 パス
6 メモリ
10 データキャッシュ
30 ネットワーク
31 有効要求判定回路
32 デスクリプタ記憶回路
33 共通レジスタ
34 入力データ記憶回路
35 出力データ記憶回路
36 アドレス発生器
37 動き補償演算器
41 動き補償演算終了イベント
42 有効要求
44 読出しアドレス
47 出力格納アドレス
48 オフセットアドレス
50 参照画データ
51 動き補償結果
52 動き補償演算結果
53 アクセスアドレス
310 要求数Σカウンタ
311 終了数カウンタ
320 処理内容フィールド
321 チェーン情報フィールド
322 参照アドレス[n]
323 次デスクリプタアドレス
324 選択回路
325 参照アドレス[n]
331 出力データ格納アドレス
332 出力繰り返しカウンタ
333 2次元カウンタ
334 選択回路
360 選択回路
361 ベースアドレス
370 偶数ライン半画素演算器
371 奇数ライン半画素演算器
372 縦方向半画素演算器
373 レジスタ
374 平均値演算器
375 偶数ラインの横方向半画素値
376 奇数ラインの横方向半画素値
377 縦横計4画素の丸め付き平均値
378 4画素丸め付き平均値

Claims (14)

  1. アクセラレータと接続し該アクセラレータに起動要求の予約を発行するCPUと、
    CPUが発行した要求数をカウントする要求数カウンタ及び終了した処理数をカウントする終了数カウンタを有するアクセラレータとを備え、
    前記アクセラレータは、要求数カウンタのカウンタ値が終了数カウンタのカウンタ値より大きいとき、自身を起動可能とすることを特徴とする実行予約可能なアクセラレータを備えたプロセッサシステム。
  2. 請求項1記載のプロセッサシステムにおいて、
    前記CPUの発行した起動要求の予約は、前記要求数カウンタのカウンタ値が終了数カウンタのカウンタ値より大きい時点で実行可能であることを特徴とする実行予約可能なアクセラレータを備えたプロセッサシステム。
  3. 請求項1記載のプロセッサシステムにおいて、
    前記アクセラレータは、前記要求数カウンタのカウンタ値が終了数カウンタのカウンタ値より大きいとき、有効な要求があると判断してアクセラレータを起動可能にする有効要求判定回路、及び前記有効な要求があると判断したときメモリ領域からアクセラレータの処理内容を記述したデスクリプタを読み込み記憶するデスクリプタ記憶回路を備え、
    該デスクリプタ記憶回路は、デスクリプタをチェーンするための次デスクリプタ格納アドレスを指定するチェーン情報フィールドを備えたことを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  4. 請求項1記載のプロセッサシステムにおいて、
    複数のアクセラレータを備え、前記要求数カウンタは一度に複数個の要求数が設定可能であることを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  5. 請求項1記載のプロセッサシステムにおいて、
    前記要求数カウンタ及び終了数カウンタのカウント値は同時にクリア可能であることを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  6. 請求項1記載のプロセッサシステムにおいて、
    前記アクセラレータは、演算処理の終了後、終了数カウンタのカウンタ値を更新し、更新した値をCPUに転送することを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  7. 請求項1記載のプロセッサシステムにおいて、
    アクセラレータは、MPEG復号処理における動き補償処理を行う動き補償をアクセラレータであることを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  8. 請求項6記載のプロセッサシステムにおいて、
    終了数カウンタの更新したカウント値はCPUのデータキャッシュに格納することを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  9. 請求項1記載のプロセッサシステムにおいて、
    要求数カウンタは、要求数を表す書き込みデータ自身をカウントすることを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  10. 請求項1記載のプロセッサシステムにおいて、
    要求数カウンタは、値「0」を書き込んだ場合は「0」クリアし、値「0」以外を書き込んだ場合はカウント値を「1」ずつ増加することを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  11. 請求項1記載のプロセッサシステムにおいて、
    要求数カウンタには、CPU自身が発行した要求数の記憶値を書き込むことを特徴とする実行予約可能なアクセラレータを有するプロセッサシステム。
  12. CPUの発行した起動要求数及び前記CPUの発行した要求数のうちアクセラレータによる処理の終了した処理数をそれぞれカウントし、前記要求数をカウントしたカウンタ値が終了した処理数をカウントしたカウンタ値より大きいとき、アクセラレータ自身の起動を可能とすることを特徴とするアクセラレータの予約実行方法。
  13. 請求項12記載のアクセラレータの予約実行方法において、
    前記CPUの発行した起動要求の予約は、前記要求数カウンタのカウンタ値が終了数カウンタのカウンタ値より大きい時点で実行可能であることを特徴とする実行予約可能なアクセラレータの予約実行方法。
  14. 請求項12記載のアクセラレータの予約実行方法において、
    CPUの発行する要求数は一度に複数個の要求が設定可能であることを特徴とするアクセラレータの予約実行方法。

JP2003395995A 2003-11-26 2003-11-26 実行予約可能なアクセラレータを備えたプロセッサシステム Pending JP2005157783A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003395995A JP2005157783A (ja) 2003-11-26 2003-11-26 実行予約可能なアクセラレータを備えたプロセッサシステム
US10/982,830 US20050119870A1 (en) 2003-11-26 2004-11-08 Processor system with execution-reservable accelerator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003395995A JP2005157783A (ja) 2003-11-26 2003-11-26 実行予約可能なアクセラレータを備えたプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2005157783A true JP2005157783A (ja) 2005-06-16

Family

ID=34616496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003395995A Pending JP2005157783A (ja) 2003-11-26 2003-11-26 実行予約可能なアクセラレータを備えたプロセッサシステム

Country Status (2)

Country Link
US (1) US20050119870A1 (ja)
JP (1) JP2005157783A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8351508B1 (en) * 2007-12-11 2013-01-08 Marvell International Ltd. Multithreaded descriptor based motion estimation/compensation video encoding/decoding
KR101439848B1 (ko) * 2008-01-08 2014-09-17 삼성전자주식회사 움직임 보상 방법 및 장치
JP5431193B2 (ja) * 2010-02-10 2014-03-05 Tone株式会社 電動工具

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4268827A (en) * 1979-09-21 1981-05-19 Dresser Industries, Inc. Operability verification for segmental electromagnetic display
US4420670A (en) * 1982-03-05 1983-12-13 Cincinnati Milacron Industries, Inc. Control for dielectric heating in blow molding machine
WO1992009947A1 (en) * 1990-11-30 1992-06-11 Vpl Research, Inc. Method and apparatus for rendering graphical images
US5581729A (en) * 1995-03-31 1996-12-03 Sun Microsystems, Inc. Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system
US5835145A (en) * 1996-01-19 1998-11-10 Lsi Logic Corporation Conversion system using programmable tables for compressing transform coefficients
US6026217A (en) * 1996-06-21 2000-02-15 Digital Equipment Corporation Method and apparatus for eliminating the transpose buffer during a decomposed forward or inverse 2-dimensional discrete cosine transform through operand decomposition storage and retrieval
TW360823B (en) * 1996-09-30 1999-06-11 Hitachi Ltd Data processor and graphic processor
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
JP2003296724A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 画像処理システム及びその方式

Also Published As

Publication number Publication date
US20050119870A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
US6310921B1 (en) Media processing apparatus which operates at high efficiency
KR100283161B1 (ko) 모션 평가 코프로세서
JP5420254B2 (ja) 加速ビデオ符号化
JP2003204556A (ja) マルチメディア信号処理のための映像復元プロセッサ
US20120328000A1 (en) Video Decoding System Supporting Multiple Standards
CN1328910C (zh) 一种应用硬件实现运动估计时的搜索窗数据读取方法
JPH11508066A (ja) データ・フロー制御および複数の処理装置を有する画像圧縮コプロセッサ
JP2009272724A (ja) ビデオ符号化・復号化装置
US9460489B2 (en) Image processing apparatus and image processing method for performing pixel alignment
JPH07240844A (ja) 画像データ処理装置および画像データ処理方法
KR20010108066A (ko) 텍스처 매핑 엔진에서 모션 보상을 수행하기 위한 방법 및장치
JPH10108199A (ja) 画像符号化装置
JP2004159330A (ja) ラスタスキャン順序の画像データとブロックスキャン順序の画像データとの間の変換のための画像処理装置及び方法
JP2005157783A (ja) 実行予約可能なアクセラレータを備えたプロセッサシステム
JP5182285B2 (ja) デコード方法及びデコード装置
JPH11215509A (ja) 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体
US20050080784A1 (en) Data processing system
US20040105500A1 (en) Image processing system
TWI517695B (zh) 晶片內/晶片外記憶體管理
JPH11328369A (ja) キャッシュシステム
JPH1155668A (ja) 画像符号化装置
JP2008136177A (ja) 動き検出装置、MOS(metal−oxidesemiconductor)集積回路および映像システム
US7350035B2 (en) Information-processing apparatus and electronic equipment using thereof
Li et al. An efficient video decoder design for MPEG-2 MP@ ML
JP2002245448A (ja) 演算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070626