JP2007293533A - プロセッサシステム及びデータ転送方法 - Google Patents

プロセッサシステム及びデータ転送方法 Download PDF

Info

Publication number
JP2007293533A
JP2007293533A JP2006119613A JP2006119613A JP2007293533A JP 2007293533 A JP2007293533 A JP 2007293533A JP 2006119613 A JP2006119613 A JP 2006119613A JP 2006119613 A JP2006119613 A JP 2006119613A JP 2007293533 A JP2007293533 A JP 2007293533A
Authority
JP
Japan
Prior art keywords
image data
data
main memory
luminance component
processor
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.)
Abandoned
Application number
JP2006119613A
Other languages
English (en)
Inventor
Hiroaki Sugita
弘晃 杉田
Ryuji Sakai
隆二 境
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006119613A priority Critical patent/JP2007293533A/ja
Priority to US11/789,009 priority patent/US20070279422A1/en
Publication of JP2007293533A publication Critical patent/JP2007293533A/ja
Abandoned 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Bus Control (AREA)

Abstract

【課題】データの転送効率を向上出来るプロセッサシステム及びデータ転送方法を提供すること。
【解決手段】第1画像データを保持するメモリ装置14と、前記メモリ装置14から前記第1画像データを読み出し、前記第1画像データに含まれる複数のピクセルの集合であるピクセル群MB単位で画像処理を行う複数の第1プロセッサ12と、複数の前記第1プロセッサ12の動作を制御する第2プロセッサ11とを具備し、前記メモリ装置14は、前記第1プロセッサ12へ入力すべき前記第1画像データと、前記第1プロセッサ12における前記処理の結果得られる第2画像データとを保持し、前記第1画像データと第2画像データの少なくともいずれかの輝度成分Yを連続したアドレスで保持し、且つ各々の前記ピクセル群MBに含まれる前記輝度成分Yを連続したアドレスで保持する。
【選択図】 図1

Description

この発明は、プロセッサシステム及びデータ転送方法に関する。特に、複数のプロセッサによりメインメモリが共有されたプロセッサシステムにおける、プロセッサとメインメモリとの間のデータ転送方法に関するものである。
従来、メインプロセッサと、このメインプロセッサに従属して動作する複数のコプロセッサとを備えたプロセッサシステムが知られている。また、このようなシステムにおいて、あるピクセルの集合毎に処理を行い、画像データの復号化を行った際に、画像データの輝度成分及び色差成分をピクセルの集合毎にメインメモリに保持させる構成が知られている(例えば特許文献1、2参照)
しかしながら上記従来のシステムであると、データの転送時に無駄が発生し、データの転送効率が悪化するという問題があった。
特開2006−65864号公報 特開2006−67247号公報
この発明は、データの転送効率を向上出来るプロセッサシステム及びデータ転送方法を提供する。
この発明の一態様に係るプロセッサシステムは、第1画像データを保持するメモリ装置と、前記メモリ装置から前記第1画像データを読み出し、前記第1画像データに含まれる複数のピクセルの集合であるピクセル群単位で画像処理を行う複数の第1プロセッサと、複数の前記第1プロセッサの動作を制御する第2プロセッサとを具備し、前記メモリ装置は、前記第1プロセッサへ入力すべき前記第1画像データと、前記第1プロセッサにおける前記処理の結果得られる第2画像データとを保持し、前記第1画像データと第2画像データの少なくともいずれかの輝度成分を連続したアドレスで保持し、且つ各々の前記ピクセル群に含まれる前記輝度成分を連続したアドレスで保持する。
またこの発明の一態様に係るデータ転送方法は、複数のピクセルの集合であるピクセル群を複数含む画像データを保持するメインメモリと、各々がローカルメモリを備えた複数の第1プロセッサと、複数の前記第1プロセッサの動作を制御する第2プロセッサとを備えたプロセッサシステムにおけるデータ転送方法であって、前記第1プロセッサにおいて前記ピクセル群単位で前記画像データを復号化することにより得られた輝度成分を、前記ローカルメモリから前記メインメモリへ転送するステップと、前記第1プロセッサにおいて前記ピクセル群単位で前記画像データを復号化することにより得られた色差成分を、前記メインメモリにおいて前記輝度成分が格納される領域と離隔した領域に格納されるように、前記ローカルメモリから前記メインメモリへ転送するステップとを具備し、前記輝度成分は前記メインメモリにおいて連続したアドレスで保持され、且つ各々の前記ピクセル群に含まれる前記輝度成分は、前記メインメモリにおいて連続したアドレスで保持される。
この発明によれば、データの転送効率を向上出来るプロセッサシステム及びデータ転送方法を提供出来る。
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
この発明の実施形態に係るプロセッサシステム及びデータ転送方法について、図1を用いて説明する。図1は、本実施形態に係る計算機システムのブロック図である。本実施形態に係る計算機システムは、動画の入出力を備えたデジタル動画処理システムであり、汎用の計算機として利用できるほか、さまざまな電子機器用の組込みシステムとして利用できる。
図示するように計算機システム10は、マスタープロセッサユニット(MPU:Master Processor Unit)11、複数のバーサタイルプロセッサユニット(VPU:Versatile Processing Unit)12、接続装置13、メインメモリ14、入出力制御装置15、及び入出力デバイス16を備えている。
MPU11は、計算機システム10の動作を制御するメインプロセッサである。オペレーティングシステム(OS:Operating System)は、主にMPU11によって実行される。OSの一部の機能は、VPU12や入出力装置15で分担して実行することもできる。
VPU12の各々は、MPU11の管理の下で各種の処理を実行するプロセッサである。MPU11は、複数のVPU12に処理を振り分けて並列に実行させるための制御を行う。これにより高速で効率よい処理の実行を行うことができる。
メインメモリ14は、MPU11、複数のVPU12、及び入出力装置15によって共有される記憶装置(共有メモリ)である。メインメモリ14は、OS及びアプリケーションプログラム、並びに入出力制御装置15から入力された動画像データを保持する。
入出力制御装置15には、1つ或いは複数の入出力デバイス(入出力装置)16が接続される。入出力制御装置15はブリッジとも呼ばれる。そして入出力制御装置15は入出力デバイス16の動作を制御する。
接続装置13は、上記のMPU11、VPU12、メインメモリ14、及び入出力装置15を相互に接続する。
なお、図1の構成では、MPU11が1つ、VPU12が4つ、メモリ14が1つ、入出力制御装置が1つの場合を例に挙げている。しかしVPU12を始め、これらの回路ブロックの個数は制限されない。また、MPU11が複数ある構成や、MPU11を有しない構成も可能である。MPU11を有しない構成の場合、MPU11の行う処理は、いずれかのVPU12が担当する。つまり、仮想的なMPU11の役割をVPUが兼ねる。
次に、図1を用いてMPU11及びVPU12の構成について説明する。
MPU11は、処理ユニット21およびメモリ管理ユニット22を備えている。メモリ管理ユニット22はキャッシュメモリを備えており、メインメモリ14からキャッシュメモリへのデータの読み出し、キャッシュメモリからメインメモリ14へのデータの書き込み、及び仮想記憶管理を行う。処理ユニット21は、メモリ管理ユニット22のキャッシュメモリに保持されるデータを用いて処理を行う。
VPU22は、処理ユニット31、ローカルストレージ(ローカルメモリ)32、及びメモリコントローラ33を備えている。ローカルストレージ32は、データ保持可能なメモリ装置である。メモリコントローラ33は、ローカルストレージ32とメインメモリ14との間をダイレクト・メモリ・アクセス(DMA:Direct Memory Access)転送によってデータ転送するDMAコントローラとして機能する。メモリコントローラ33は、MPU11の備えるメモリ管理ユニット22と同様の仮想記憶管理機能を有している。
各VPU12の処理ユニット31は、当該VPU12内部のローカルストレージ32に対して直接アクセスすることができる。そして処理ユニット31は、ローカルストレージ32を主記憶として使用する。すなわち、処理ユニット31はメインメモリ14に対して直接的にアクセスするのではなく、メモリコントローラ33に指示することにより、メインメモリ14の内容をローカルストレージ32に転送して読み出し、またローカルストレージ32の内容をメインメモリ14に転送して書き込む。
なお、ハードウェアの実装上の都合から、DMAによるデータの転送は128バイト及びその整数倍を単位としておこなわれる。例えば、メインメモリ14からあるVPU12のローカルストレージ32に1バイトのデータを転送する場合は、次のようにしてデータがVPU12へ転送される。すなわち、メインメモリ14のアドレスを先頭から128バイト毎に区切り、該当するデータが存在する区間の128バイトを、VPU12のメモリコントローラ33が読み出す。そしてメモリコントローラ33は、読み出した128バイトのデータのうち、必要な1バイトを取り出してローカルストレージ32に保存する。また、2バイト以上のデータを転送する際に、転送元のデータが128バイトで区切った区間のうち複数の区間にまたがる場合には、データがまたがる全ての区間のデータがメモリコントローラ33へ転送される。
なおMPU11は、制御レジスタなどのハードウェア機構によって、各VPU12の管理を行う。VPU12の管理とは、例えばVPU12の備えるレジスタに対するデータの読み出し/書き込みや、各VPU12のプログラムの実行開始/停止などである。また、MPU11とVPU12の間、あるいはVPU12と他のVPU12の間の通信や同期は、メールボックスやイベントフラグなどのハードウェア機構によって行うことができる。
上記構成の計算機システム10の動作について、入出力デバイス16から入力されたMPEG(Moving Picture Experts Group)−2形式の動画像をH.264形式に変換する場合を例に挙げて、以下説明する。なお、MPEG−2及びH.264とは、動画像を圧縮して符号化する規格の名称である。勿論、この変換処理は計算機システム10の行う処理の一例に過ぎない。
上記変換システムを実現する際に用いるプログラムの構成を図2に示す。図2はMPEG−2からH.264への変換プログラムの構成を示す概念図である。図示するようにプログラム40は、制御プログラム41、MPEG−2デコードプログラム42、及びH.264エンコードプログラム43を含む。制御プログラム41はMPU11上で動作する。MPEG−2デコードプログラム42及びH.264エンコードプログラム43は1つ若しくは複数のVPU12上で動作する。MPEG−2デコードプログラム42は、MPEG−2形式により圧縮符号化された動画像データをデコードして映像を得るためのプログラムである。またH.264エンコードプログラム43は、デコードして得られた映像をH.264形式により圧縮符号化するためのプログラムである。
図3は、制御プログラム41、MPEG−2デコードプログラム42、及びH.264エンコードプログラム43による処理の流れを示すタイミングチャートである。図中において、図面が記載された紙面における上から下に向かって時間が流れる様子を示している。
まず時刻t1において、例えばMPU11が制御プログラム41を実行する。制御プログラム41に基づいてMPU11は、MPEG−2で符号化された動画像データを入出力制御装置15から接続装置13を経由して読み取る。そして、読み取った動画像データを1フレーム毎のデータに分割し、メインメモリ14に保存する。フレーム(frame)とは、動画像データを構成する個々の時間における1枚の画像のことである。
次に時刻t2において、制御プログラム41に基ついてMPU11は、MPEG−2デコードプログラム42の実行を命令する。MPEG−2デコードプログラム42は、例えば各VPU12において実行される。するとMPEG−2デコードプログラム42に基づいてVPU12におけるメモリコントローラ33は、メインメモリ14からローカルストレージ32へDMAによりデータを読み込む。そして処理ユニット31が、ローカルストレージ32に読み込んだデータをデコード(復号)して、ローカルストレージ32に格納する。その後、メモリコントローラ33は、デコード結果をローカルストレージ32からメインメモリ14にDMAにより書き込む。
この際、ローカルストレージ32のメモリ容量は、1フレーム分のデータサイズより小さい。すなわち、ローカルストレージ32には1フレーム分のデータ全てを保持させることが出来ない。従って、メインメモリ14からローカルストレージ32へMPEG−2のデータの一部を読み込み、1部分の画像デコード結果をローカルストレージ32からメインメモリ14へ転送し、これを繰り返すことで、1フレーム分のデータのデコードを行う。MPEG−2デコードプログラム42は、1フレーム分のMPEG−2データのデコードが終了すると、制御プログラム41にデコード終了の情報を送信する。
時刻t3においてMPEG−2デコードプログラム42からデコード終了の情報を受信したMPU11は、時刻t4において、制御プログラム41に基づいてH.264エンコードプログラム43の実行を命令する。H.264エンコードプログラム43は、例えば各VPU12において実行される。
H.264エンコードプログラム43に基づいてVPU12におけるメモリコントローラ33は、MPEG−2のデコード結果をメインメモリ14からローカルストレージ32に読み込む。そして処理ユニット31が、H.264形式にエンコード(符号化)し、エンコード結果をローカルストレージ32に格納する。その後メモリコントローラ33が、ローカルストレージ32からメインメモリ14にDMAを用いて転送する。この際、デコード時と同様に、1フレーム分すべての情報をローカルストレージ32に保持することができないので、入力の情報・出力の情報ともに、小さな単位でDMAを行い、H.264エンコードの処理を行う。
時刻t5においてエンコード処理が終了すると、VPU12はH.264エンコードプログラム43に基づいて、MPU11に対してエンコード終了の情報を送信する。エンコード終了の情報を受信したMPU11は、制御プログラム41に基づいて、H.264エンコードプログラム43によるエンコード結果をメインメモリ14から入出力デバイス16へ、入出力制御装置15を経由して出力する。
なお、MPEG−2デコードプログラム42を実行するVPU12が、制御プログラム41を実行するMPU11に対して送信するデータに、MPEG−2形式のデコード処理過程で得られるデータを追加情報として含めても良い。この場合、VPU12はこの追加情報を利用してH.264エンコードプログラム43を実行することが出来、H.264形式のエンコード処理を高速に行うことが可能である。
次に、上記計算機システム10において、デコードして得られた動画像データ(フレーム画像データ)をメインメモリへ格納させる際の詳細について説明する。図4は、デコードして得られた1枚のフレームの模式図である。図示するように、1枚のフレームは(S×T)個(S、Tは自然数)のピクセルの集合によって描画される。例えばS=480、T=720等である。
フレーム画像データは、輝度成分Y、色差成分U、及び色差成分Vとして取り扱われる。図5は、1枚のフレームの模式図であり、特に輝度成分Yについて示している。輝度成分Yはピクセル毎に与えられるデータであり、当該ピクセルの輝度に関する情報である。以下、輝度成分YをY(i、j)と呼ぶことがある。iはフレーム中の縦方向の位置を示し、フレームの上から下に向かって1〜Sのいずれかの値を取る。jはフレーム中の横方向の位置を示し、フレームの左から右に向かって1〜Tのいずれかの値を取る。従って、フレームの最も左上の輝度成分YはY(1,1)であり、最も右下の輝度成分YはY(S,T)となる。
色差成分U、Vは色に関する情報であり、隣接するピクセル間における赤色成分と緑色成分の差分を示す情報である。色差成分Vは、隣接するピクセル間における青色成分と緑色成分の差分を示す情報である。そして色差成分U、Vは、4つのピクセル毎に与えられる。すなわち、隣接する4ピクセル間の色の差分情報を示す。従って、色差成分U、Vの成分数は、輝度成分Yの総成分数の1/4である。図6及び図7は1枚のフレームの模式図であり、それぞれ色差成分U、Vについて示している。以下、色差成分UをU(k、l)と呼ぶことがある。kはフレーム中の縦方向の位置を示し、フレームの上から下に向かって1〜(S/2)のいずれかの値を取る。lはフレーム中の横方向の位置を示し、フレームの左から右に向かって1〜(T/2)のいずれかの値を取る。従って、フレームの最も左上の色差成分UはU(1,1)であり、最も右下の色差成分UはU(S/2,T/2)となる。色差成分Vも同様である。なお、輝度成分Yの縦方向及び横方向の成分数は、常に16の倍数である。これはMPEG−2のデコード処理が、輝度成分Yは(16×16)ピクセル単位、色差成分U、Vは(8×8)ピクセル単位で行われるためである。この単位を、以下ではマクロブロックMBと呼ぶ。なお、一つの輝度成分Y、色差成分U、Vは、それぞれ1バイトのデータ量を有する。従って、一つのマクロブロックMBに含まれる輝度成分Yのデータ量の総和は256バイトである。
マクロブロックについて図8を用いて説明する。図8は1枚のフレームの模式図であり、マクロブロックについて示している。図示するように、1枚のフレームには(M×N)個のマクロブロックMBが含まれており、各マクロブロックMBは(16×16)個のピクセルを含んでいる。以下、マクロブロックMBをMB(m、n)と呼ぶことがある。mはフレーム中の縦方向の位置を示し、フレームの上から下に向かって1〜(S/16)のいずれかの値を取る。nはフレーム中の横方向の位置を示し、フレームの左から右に向かって1〜(T/16)のいずれかの値を取る。従って、フレームの最も左上のマクロブロックMBはMB(1,1)であり、最も右下のマクロブロックMBはMB(M,N)となる。
図9はマクロブロックMB(1,1)の模式図であり、特に輝度成分Yについて示している。前述の通り、1つのマクロブロックMBには(16×16)個のピクセルを含んでいる。従って、輝度成分Yの成分数も(16×16)個であり、縦方向にはY(1、j)〜Y(16、j)、横方向にはY(i、1)〜Y(i、16)が含まれる。
図10はマクロブロックMB(1,1)の模式図であり、特に色差成分Uについて示している。色差成分Uの成分数は(8×8)個であり、縦方向にはU(1、l)〜U(8、l)、横方向にはU(k、1)〜U(k、8)が含まれる。色差成分Vも同様である。
図11は、マクロブロックMB(1,1)に縦方向で隣接するマクロブロックMB(2,1)の模式図であり、特に輝度成分Yについて示している。マクロブロックMB(1,1)とマクロブロックMB(2,1)に含まれるピクセルの位置は、横方向に関しては同一である。従って、マクロブロックMB(2,1)に含まれる輝度成分Yは、縦方向にはY(17、j)〜Y(32、j)、横方向にはY(i、1)〜Y(i、16)である。
図12は、マクロブロックMB(1,1)に横方向で隣接するマクロブロックMB(1,2)の模式図であり、特に輝度成分Yについて示している。マクロブロックMB(1,1)とマクロブロックMB(1,2)に含まれるピクセルの位置は、縦方向に関しては同一である。従って、マクロブロックMB(1,2)に含まれる輝度成分Yは、縦方向にはY(1、j)〜Y(16、j)、横方向にはY(i、17)〜Y(i、32)である。
図13はメインメモリ14のメモリ空間の模式図であり、デコードして得られたフレーム画像データをVPU12が如何にしてメインメモリ14に格納するかを示す図である。
図示するように、メインメモリ14には、各マクロブロックMBの輝度成分Yが連続したアドレスでまとめて配置され、次に色差成分U、Vが連続したアドレスでまとめて配置される。
輝度成分Y及び色差成分U、Vは、フレームの最も左上に位置するマクロブロックMB(1,1)から、縦方向に順番にメインメモリ14に格納される。そして最も下のマクロブロック(M,1)まで格納されると、次に横方向の位置がずれたマクロブロックMB(1,2)から、縦方向に順番にメインメモリ14に格納される。すなわち、まずマクロブロックMB(1,1)からマクロブロックMB(M,1)が順番にメインメモリ14に格納され、次にマクロブロック(1,2)からマクロブロックMB(M,2)が順番にメインメモリ14に格納され、最後にマクロブロック(1、N)からマクロブロックMB(M,N)が順番にメインメモリ14に格納される。
各マクロブロックMBに含まれる輝度成分Yのメインメモリ14中における配置について図14を用いて説明する。図14はメインメモリ14のメモリ空間の模式図であり、マクロブロックMB(1,1)〜MB(M,1)及びマクロブロックMB(1,2)〜MB(M,2)の輝度成分Yが保持される領域について示している。
図示するように、まずマクロブロックMB(1,1)における1行目のピクセルの輝度成分Y(1,1)〜Y(1,16)が格納される。続いてマクロブロックMB(1,1)における2行目のピクセルの輝度成分Y(2,1)〜Y(2,16)が格納される。引き続き、3行目から16行目の輝度成分Yが格納される。
次にマクロブロックMB(2,1)における1行目のピクセルの輝度成分Y(17,1)〜Y(17,16)が格納され、引き続き2行目から16行目の輝度成分Yが格納される。
このようにしてマクロブロックMB(M,1)までの輝度成分Yが順次メインメモリ14に格納されると、次にマクロブロックMB(1,2)における1行目のピクセルの輝度成分Y(1,17)〜Y(1,32)が格納される。以下、マクロブロックMB(1,2)と横方向の位置が同一であるマクロブロックMB(2,2)〜MB(M,2)が順次格納される。
次に、各マクロブロックMBに含まれる色差成分U、Vのメインメモリ14中における配置について図15を用いて説明する。図15はメインメモリ14のメモリ空間の模式図であり、マクロブロックMB(1,1)〜MB(M,1)の色差成分U、Vが保持される領域について示している。
図示するように、まずマクロブロックMB(1,1)における1行目の色差成分U(1,1)〜U(1,8)が格納され、更に色差成分V(1,1)〜V(1,8)が格納される。続いてマクロブロックMB(1,1)における2行目の色差成分U(2,1)〜U(2,8)が格納され、更に色差成分V(2,1)〜V(2,8)が格納される。引き続き、3行目から8行目の色差成分U、Vが格納される。
上記のようなデータのメモリ配置を、フレーム内における輝度成分配置により説明する。図16は1枚のフレームの模式図であり、特に輝度成分Yについて示している。図示するように、フレームの横方向が、マクロブロックの横幅と同一である16バイトの複数の矩形の領域AA1に分割される。そして各領域AA1内において、横方向に順番に輝度成分がメインメモリ14へ格納される。すなわち、領域AA1内において最も左上の領域から横方向に順番に輝度成分がメインメモリ14へ格納され、領域の端部まで格納されると、次の行について同様にして輝度成分がメインメモリ14へ格納される。当該領域AA1における全ての輝度成分がメインメモリ14へ格納されると、次に横方向で隣接する領域AA1について同様の方法により輝度成分がメインメモリ14へ格納される。
図17は色差成分U、Vの場合について示している。図示するように、フレームの横方向が、マクロブロックの横幅と同一である8バイトの複数の矩形の領域AA2(色差成分Uについて)、AA3(色差成分Vについて)に分割される。そして各領域AA1、AA2内において、横方向に順番にメインメモリ14へ格納される。すなわち、領域AA1内において最も左上の領域から右方向に向かって色差成分Uがメインメモリ14へ格納され、領域AA1の端部まで格納されると、次に領域AA2内において最も左上の色差成分Vからメインメモリ14へ格納される。領域AA2において領域の端部まで色差成分Vの格納が終了すると、同様の方法により次の行の色差成分U、Vがメインメモリ14へ格納される。当該領域AA1、AA2における全ての色差成分U、Vのメインメモリ14への格納が終了すると、次に横方向で隣接する領域AA1、AA2について同様の方法により色差成分U、Vのメインメモリ14への格納が行われる。
以上のようにして、MPEG−2形式の画像データが、輝度成分と色差成分とが分離されるようにして、メインメモリに格納される。その後、H.264エンコードプログラム43に基づいて、VPU12の各々がH.264形式によるエンコード処理を行う。すなわち、輝度成分と色差成分とが分離されるようにして格納された画像データをメインメモリ14から読み出し、H.264形式にエンコードする。そして、メモリコントローラ33が、処理ユニット31におけるエンコード結果をメインメモリ14に格納する。
以上のように、この発明の実施形態に係る計算機システムであると、データの転送効率を向上出来る。以下、本効果について説明する。
図18はフレームの模式図であり、ラスタスキャン順にデータをメインメモリに保持させる様子を示している。図示するように、フレーム内においてフレームの左端上部からスキャンを開始し、フレームの右端まで連続してスキャンを行った後、次の行について同様にスキャンを行う。すなわち、フレームの左端から右端に達するまで順番にデータがメインメモリに保持される。従って、T=720の場合には、横方向の位置が同一で、縦方向が隣接するピクセルの輝度成分のメインメモリにおけるアドレスは、720バイト異なる。
以上のようなデータのメモリ格納方法を用いた場合に、1つのマクロブロックの輝度成分Yをメインメモリから読み出す際の様子を図19に示す。図19はフレームの模式図である。
前述の通り、DMA転送を行う場合には、その転送データの単位は一定値に制限されるのが通常であり、例えば128バイトである。そのため、ラスタスキャン順にデータをメモリに格納する方法であると、1つのマクロブロックMBの輝度成分Yを読み出すには、DMA転送を16回行い、合計で2048バイトのデータを転送する必要がある。その理由は次の通りである。
1度のDMA転送によりメインメモリ14から読み出されるデータは、メインメモリ14においてアドレスが連続した128バイトのデータである。すると、上記方法であると、フレームの左端から右端までの1行分の輝度成分Yが、連続したアドレスでメインメモリに保持される。従って図19に示すように、1度のDMA転送によりデータをメインメモリからVPUへ転送したとしても、そのうち必要なデータは、最大でも16バイトに過ぎない。その他の112バイトは不要なデータである。つまりVPU内のローカルメモリは、1度のDMA転送ではマクロブロックMBのうちの1行分のデータしか取得することが出来ない。従って、マクロブロックMBにおける16行分のデータを取得するには、最低でも16回のDMA転送を行わなくてはならない。すると、1度のDMA転送で転送されるデータサイズは128バイトであるから、1つのマクロブロックMBのデータを転送する際には、128バイト×16回=2048バイトのデータを転送しなければならない。すなわち、2048−128=1920バイトのデータは無駄に転送されることになる。
また、輝度成分Yだけでなく色差成分U、Vについても同様のことが当てはまる。多くの場合、MPEG−2やH.264ではそのアルゴリズムの関係から、色差成分U、色差成分Vは、おなじ座標のマクロブロックの成分を同時に利用する。すると、ラスタスキャン順での配置の場合、まず色差成分Uの1マクロブロックの成分をメインメモリからローカルストレージに転送するのに8回のDMA転送が必要である。また同様に色差成分Vの1マクロブロックの成分をメインメモリからローカルストレージに転送するのに8回のDMA転送が必要となる。従って、必要な128バイトのデータを取得するために、合計2048バイトのデータを転送する必要がある。このように既存手法であると、DMA転送を行う際に、必要なデータ量よりも多くのデータを転送する。従って、バスの帯域を圧迫し、プログラムの実行速度が低下するという問題があった。
しかし本実施形態に係る構成であると、図13乃至図17を用いて説明したように、メインメモリ14への輝度成分Y及び色差成分Uの格納は、1マクロブロック単位に行を変えて行われる。すなわち、メインメモリ14には1マクロブロック分の256バイトのデータが、連続したアドレスで配置される。従って、1マクロブロック分の成分をメインメモリ14からローカルストレージ32へDMA転送する際の転送効率が向上する。この点について、図20を用いて説明する。図20はフレームの模式図であり、1つのマクロブロックの輝度成分Yをメインメモリから読み出す際の様子を示している。
前述の通り、マクロブロックMBの輝度成分は、メインメモリ14において連続したアドレスで配置されている。従って、図示するように、ある1つのマクロブロックMBの成分をメインメモリ14からローカルストレージ32へ読み出す場合、当該マクロブロックMBの最も左上の成分を先頭アドレスとすることで、図示する領域Aのデータを1回のDMA転送によりローカルストレージ32に読み出すことが出来る。また、次に領域Aの最終アドレスの次のアドレスを先頭アドレスとすることで、図示する領域Bのデータを1回のDMA転送で読み出すことが出来る。すなわち、既存のラスタスキャン順による配置では16回のDMA転送が必要であったのに対し、本実施形態に係る方法であると2回のDMA転送を行えば十分であり、回数を1/8に減らすことが出来る。更に本実施形態であると、無駄なデータの転送を避けられる。すなわち、2回のDMA転送により転送される256バイトのデータは、全てが必要なマクロブロックMBの輝度成分である。従って、既存のラスタスキャンの場合に比べて、接続装置13を通過するデータ量は256/2048=1/8となる。その結果、DMA転送による転送量を削減することが出来、バスの帯域圧迫を抑制出来る。色差成分U、Vについても同様である。
なお、上記説明は128バイト単位でDMA転送を行う場合であるが、256バイト単位でDMA転送を行う場合には、領域A、Bは連続したアドレスでメインメモリ14に格納されているから、1度のDMA転送のみで済む。
図21は別の例について示している。図21はフレームの模式図であり、読み出すべき(16×16)個の輝度成分Yが、複数のマクロブロックMBにまたがるデータの場合を示している。
図示するように、読み出すべき(16×16)個の輝度成分Yが複数のマクロブロックMBにまたがって存在する場合には、各々が128バイトである4つの領域A、B、C、Dにおける輝度成分Yを読み出せば良い。この場合、DMA転送されるデータ量は128バイト×4=512バイトであり、そのうちの256バイトは無駄なデータであるが、その量は既存手法に比べて圧倒的に少なく済む。すなわち、1回目の転送により領域A、Bのデータを転送し、次の転送により領域C、Dのデータを転送すれば良い(256バイト単位でのDMA転送)。
特に、本実施形態は動き予測に関する処理において効果的である。動き予測とは、連続する2つのフレームにまたがるデータ圧縮に関するものである。すなわち、2つの連続するフレームをデルタ解析してフレーム間で各エリアが変化したか、どのように移動したかを判断する。ある画像エリアが1つの前のフレームと同一であれば、そのフレームと同じように表示すれば良い。また、画像エリアがいずれかの方向へ移動した場合には、表示すべき画像は1つの前のフレームと同一であり、それを特定の方向へある量だけ動かせば良い。これは、VPU11において動きベクトル(MV:Motion Vector)を生成することによって行われる。このように、動きベクトルを求めることにより、冗長なデータを大幅に削減出来る。
動き予測を行うためにVPU11は、現在のフレームに時間的に近いフレーム(例えば直前のフレーム、2つ前のフレーム、または2つ後のフレームなど)と現在のフレームとの間で、マクロブロック単位によるテンプレートマッチングを行う。図22は、2つのフレーム間で物体(object)が移動する様子を示している。例えば時刻t1(フレーム1)において表示されていた物体が、時刻t2(フレーム2)において図示するような動きベクトルMVにより示されるように移動したとする。この動きベクトルMVを生成する際に、メインメモリ14から直前の時刻におけるマクロブロックMBを読み出す必要がある。この点、本実施形態であると、マクロブロックMBのデータを効率的に読み出すことが出来るため、動き補償に関する処理を効率化出来る。
また、MPEG−2、H.264は共に16ピクセル×16ピクセルのサイズのマクロブロックを利用しているため、本実施形態を用いることによる計算量の増加は少ない。
更に本実施形態では、MPEG−2とH.264を利用しているためマクロブロックサイズの横幅である16ピクセルで折り返すようにしている。しかし、動画の符号化方式によってマクロブロックは一定ではない。従って、折り返すピクセル数は16ピクセルに制限せず、動画の符号化方式によって最適なピクセル数で折り返すことができる。
更に本実施形態では、MPEG−2、H.264は共に入出力のデータ形式がY:U:V=4:2:0形式を利用しているため、色差成分Uと色差成分Vを8ピクセルずつ結合することにより16ピクセルとして、この16ピクセル毎に折り返している。しかし、画素データの形式はY:U:V=4:2:0に限定しない。たとえば、色差成分U、Vの横幅及び縦幅が共にY:U:V=4:2:0形式の2倍となるY:U:V=4:4:4形式の動画データを保持しても良い。この場合には、色差成分U、Vは共に、輝度成分Yと同じ形式で保持することで、効率的に画素データへアクセスができる。また、全ての成分の縦幅、横幅が等しく、赤色成分R、緑色成分G、青色成分Bで動画データを表現するRGB形式を利用する場合は、それぞれを輝度成分Yと同じ形式で保持することで、効率的に画素データへアクセスができる。
また、上記実施形態では、MPEG−2デコード及びH.264エンコードの場合を例に挙げて説明したが、圧縮符号化形式は特に限定されない。あるピクセルの集合で画像を処理する(メモリから読み出す)圧縮符号化形式全般に、本実施形態は適用可能である。更に上記実施形態は、MPEG−2形式のデータをデコードした後、H.264形式にエンコードする場合を例に説明したが、例えばMPEG−2形式のデータをデコードするだけの処理の場合、またはH.264形式にエンコードするのみの処理の場合にも適用出来ることは言うまでもない。
更に上記実施形態では、画像の符号化及び復号化の単位であるマクロブロック単位でアドレスが連続するように、データがメインメモリ14に格納される場合を例に挙げて説明した。しかし、マクロブロックは単位の一例に過ぎず、画像処理に使用する処理単位であれば限定されるものではない。例えばMPEG−2形式のデータをデコードした画像データに対して使用されるデブロッキングフィルタ(Deblocking filter)やデリンギングフィルタ(Deringing filter)で使用する単位であっても良い。デブロッキングフィルタとは次のようなものである。異なるマクロブロック間では、互いのピクセル情報が圧縮スキームに考慮されない。従って、隣接するブロック間において、ピクセルの輝度につきアーティファクトが生じる場合がある。これは通常ブロックノイズ(block noise)と呼ばれている。そこで、隣接するマクロブロックの境界を挟んで隣接する複数のピクセル群を用いてフィルタリング処理を行うことでブロックノイズを除去するのがデブロッキングフィルタである。この際のフィルタリング処理に用いるピクセル群を、上記マクロブロックに代えても良い。また、画像には高周波成分に起因するリンギングノイズ(ringing noise)が発生することがある。この場合、ノイズが発生した領域を含む複数のピクセル群につきフィルタリングを行い、画像を平滑化する処理が行われる。これがデリンギングフィルタである。従って、上記マクロブロックの代わりに、デリンギングフィルタにおけるフィルタリング処理に用いられるピクセル群を単位としても良い。また、上実施形態は、画像の符号化及び復号化の場合に限定されるものではなく、複数のピクセルを含む処理単位による画像処理一般に適用出来る。また、上記実施形態における計算機システムに入力される、または出力される画像データは、符号化されていない画像データであっても良い。
また、上記実施形態に係る方法によってメインメモリに格納した映像を出力デバイスに再生する場合には、図18に示すようなデータの配列に配置し直すことが望ましい。この処理は、計算機システム10内に新たに設けたデバイスに行わせても良いし、VPU11が行っても良いし、または出力デバイスが行っても良い。
本実施形態では、フレームをマクロブロックと同一の幅の矩形の領域に区切るだけでなく、図13に示すように輝度成分Yと色差成分U、Vとを分離してメインメモリ14に保持させている。つまり、まず全てのマクロブロックについての輝度成分Yをメインメモリ14に保持させ、この領域とは異なる領域に色差成分U、Vを保持させる。通常の画像処理においては、色差成分U、Vは使用せずに輝度成分Yのみを使用する場合も多い。従って、輝度成分Yと色差成分U、Vとを混在させずに完全に分離することにより、データ転送をより効率的に行うことが可能となる。仮に、フレームを矩形の領域に区切って、輝度成分Yと色差成分U、Vとを混在させてメインメモリに保持させたとすると、図21に示すマクロブロックを読み出す場合には、領域A、B、C、Dについての4回のデータ転送が必要である。従って、各領域A、B、C、Dの先頭アドレスを計算しなければならず、本実施形態に係る方法に比べて2倍のデータ転送回数及びアドレス計算回数が必要となる。
このように、輝度成分Yと色差成分U、Vとを分離するための処理について図23を用いて説明する。図23はMPEG−2デコードプログラム42におけるデコード及びデータ転送方法のフローチャートである。H.264の場合も同様である。
図示するように、まずm=1、n=1とされる(ステップS1)。すなわち、マクロブロックMB(1、1)が選択される。そして、各VPU12はマクロブロック単位でデコード処理を行う(ステップS2)。そして、メモリコントローラ33がDMAにより輝度成分Yをメインメモリ14へ転送することにより、輝度成分Yがメインメモリ14へ格納される(ステップS3)。更に、メモリコントローラ33は色差成分U、VをDMAによりメインメモリ14へ転送する(ステップS4)。nがNに達していなければ(ステップS5、NO)、すなわち、フレームにおける右端に位置するマクロブロックのデコードが完了していなければ、n=n+Δnとして(ステップS6)、右方向で隣接するマクロブロックについてステップS2〜S4の処理を繰り返す。
n=Nであれば(ステップS5、YES)、次にmがMに達しているか否かを判定する。mがMに達していなければ(ステップS7、NO)、すなわち、フレームにおける下端に位置するマクロブロックのデコードが完了していなければ、m=m+Δmとして(ステップS8)、下方向で隣接するマクロブロックについてステップS2〜S6の処理を繰り返す。
ステップS3において、同一行のマクロブロックをメインメモリ14に格納する際には、マクロブロックのサイズが256バイトであった場合、(256×M)バイト間隔で輝度成分Yを格納する。またステップS4において同一行のマクロブロックをメインメモリ14に格納する際には、MB(1、1)の輝度成分Yが格納される先頭アドレスから、少なくとも(256×M)×Nバイト先の領域に、色差成分U、Vを格納する。この点についてまず図24に示す。図24は、m=1、n=1〜NのマクロブロックMB(1,1)〜MB(1,N)をメインメモリ14に格納する際の、メインメモリ14のメモリ空間とフレームとを示す模式図である。
図示するように、マクロブロックMB(1,1)、MB(1,2)、…MB(1,N)の輝度成分は、メインメモリ14において(256×M)バイト間隔で格納される。またマクロブロックMB(1,1)の色差成分U、Vは、マクロブロックMB(1,1)の輝度成分Yの先頭アドレスから((256×M)×N)バイト先の領域に格納される。なお、色差成分U、Vは(128×M)バイト間隔で格納される。
図25は、m=2、n=1〜NのマクロブロックMB(2,1)〜MB(2,N)をメインメモリ14に格納する際の、メインメモリ14のメモリ空間とフレームとを示す模式図である。図示するように、マクロブロックMB(2,1)の輝度成分は、マクロブロックMB(1,1)が格納された領域にアドレスが連続するようにしてメインメモリ14に格納される。そしてマクロブロックMB(2,1)、MB(2,2)、…MB(2,N)の輝度成分Yは、メインメモリ14において(256×M)バイト間隔で格納される。またマクロブロックMB(2,1)の色差成分U、Vは、マクロブロックMB(1,1)の色差成分U、Vが格納された領域にアドレスが連続するようにしてメインメモリ14に格納される。すなわち、マクロブロックMB(2,1)の色差成分U、Vは、マクロブロックMB(2,1)の輝度成分Yの先頭アドレスから((256×M)×N)バイト先の領域に格納される。
以上のようにして各成分をメインメモリ14に格納することにより、図13に示すようなデータ配置が可能となる。
上記のように、この発明の実施形態によれば、複数のプロセッサコアでメインメモリを共有しており、且つメインメモリとローカルな記憶領域の間をデータ転送する際の転送サイズに制限があるプロセッサシステムを用いた動画処理システムにおいて、動画の各フレームの画像データを縦方向に分割して保持する動画データ保持方式を利用することで、メインメモリとローカルな記憶領域の間のデータ転送するための転送量と転送回数を削減出来る。
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
この発明の実施形態に係る計算機システムのブロック図。 この発明の実施形態に係る計算機システムにおいて実行されるプログラムの概念図。 この発明の実施形態に係る計算機システムにおいて実行されるプログラムのタイミングチャート。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、特に輝度成分について示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、特に色差成分について示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、特に色差成分について示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、特にマクロブロックについて示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、特に1つのマクロブロックの輝度成分について示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、特に1つのマクロブロックの色差成分について示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、特に1つのマクロブロックの輝度成分について示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、特に1つのマクロブロックの輝度成分について示す図。 この発明の実施形態に係る計算機システムの備えるメインメモリのメモリ空間の概念図であり、マクロブロックを格納する様子を示す図。 この発明の実施形態に係る計算機システムの備えるメインメモリのメモリ空間の概念図であり、輝度成分を格納する様子を示す図。 この発明の実施形態に係る計算機システムの備えるメインメモリのメモリ空間の概念図であり、色差成分を格納する様子を示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、輝度成分についてラスタスキャンの様子を示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、色差成分についてラスタスキャンの様子を示す図。 フレームの模式図であり、従来のラスタスキャンの様子を示す図。 フレームの模式図であり、従来のラスタスキャン順にデータを格納した場合のデータの読み出しの様子を示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、メインメモリからデータを読み出す際の様子を示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、メインメモリからデータを読み出す際の様子を示す図。 この発明の実施形態に係る計算機システムにおいて処理されるフレームの模式図であり、動きベクトルを示す図。 この発明の実施形態に係る計算機システムにおけるデータ転送方法のフローチャート。 この発明の実施形態に係る計算機システムの保持するメインメモリのメモリ空間と、フレームを示す模式図であり、特に1行目のマクロブロックのデータをメインメモリに格納する様子を示す図。 この発明の実施形態に係る計算機システムの保持するメインメモリのメモリ空間と、フレームを示す模式図であり、特に2行目のマクロブロックのデータをメインメモリに格納する様子を示す図。
符号の説明
10…計算機システム、11…マスタープロセッサユニット、12…バーサタイルプロセッサユニット、13…接続装置、14…メインメモリ、15…入出力制御装置、16…入出力デバイス、21、31…処理ユニット、22…メモリ管理ユニット、32…ローカルストレージ、33…メモリコントローラ、40…プログラム、41…制御プログラム、42…MPEG−2デコードプログラム、43…H.264エンコードプログラム

Claims (5)

  1. 第1画像データを保持するメモリ装置と、
    前記メモリ装置から前記第1画像データを読み出し、前記第1画像データに含まれる複数のピクセルの集合であるピクセル群単位で画像処理を行う複数の第1プロセッサと、
    複数の前記第1プロセッサの動作を制御する第2プロセッサと
    を具備し、前記メモリ装置は、前記第1プロセッサへ入力すべき前記第1画像データと、前記第1プロセッサにおける前記画像処理の結果得られる第2画像データとを保持し、前記第1画像データと第2画像データの少なくともいずれかの輝度成分を連続したアドレスで保持し、且つ各々の前記ピクセル群に含まれる前記輝度成分を連続したアドレスで保持する
    ことを特徴とするプロセッサシステム。
  2. 前記第1、第2画像データのいずれか一方は符号化された画像データであり、
    前記第1画像データが符号化された画像データである場合に、前記第1プロセッサは、前記メモリ装置から読み出した前記第1画像データを復号化して前記第2画像データを生成し、且つ前記メモリ装置は、前記第2画像データの輝度成分を連続したアドレスで保持し、且つ各々の前記ピクセル群に含まれる前記輝度成分を連続したアドレスで保持し、
    前記第1画像データが符号化されていない画像データである場合に、前記第1プロセッサは、前記メモリ装置から読み出した前記第1画像データを符号化して前記第2画像データを生成し、前記メモリ装置は、前記第1画像データの輝度成分を連続したアドレスで保持し、且つ各々の前記ピクセル群に含まれる前記輝度成分を連続したアドレスで保持する
    ことを特徴とする請求項1記載のプロセッサシステム。
  3. 前記第1プロセッサは、前記第1、第2画像データの少なくともいずれかの一部を保持可能なローカルメモリ装置と、
    前記メモリ装置と前記ローカルメモリ装置との間で、ダイレクト・メモリ・アクセスにより前記第1、第2画像データの少なくともいずれかを転送する転送装置と、
    前記ローカルメモリ装置に転送された前記第1、第2画像データの少なくともいずれかを用いて、前記画像処理を行う制御部と
    を備えることを特徴とする請求項1記載のプロセッサシステム。
  4. 前記転送装置は、前記ピクセル群単位よりも小さいデータサイズにより前記第1、第2画像データの少なくともいずれかを転送する
    ことを特徴とする請求項3記載のプロセッサシステム。
  5. 複数のピクセルの集合であるピクセル群を複数含む画像データを保持するメインメモリと、各々がローカルメモリを備えた複数の第1プロセッサと、複数の前記第1プロセッサの動作を制御する第2プロセッサとを備えたプロセッサシステムにおけるデータ転送方法であって、
    前記第1プロセッサにおいて前記ピクセル群単位で前記画像データを復号化することにより得られた輝度成分を、前記ローカルメモリから前記メインメモリへ転送するステップと、
    前記第1プロセッサにおいて前記ピクセル群単位で前記画像データを復号化することにより得られた色差成分を、前記メインメモリにおいて前記輝度成分が格納される領域と離隔した領域に格納されるように、前記ローカルメモリから前記メインメモリへ転送するステップと
    を具備し、前記輝度成分は前記メインメモリにおいて連続したアドレスで保持され、且つ各々の前記ピクセル群に含まれる前記輝度成分は、前記メインメモリにおいて連続したアドレスで保持される
    ことを特徴とするデータ転送方法。
JP2006119613A 2006-04-24 2006-04-24 プロセッサシステム及びデータ転送方法 Abandoned JP2007293533A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006119613A JP2007293533A (ja) 2006-04-24 2006-04-24 プロセッサシステム及びデータ転送方法
US11/789,009 US20070279422A1 (en) 2006-04-24 2007-04-23 Processor system including processors and data transfer method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006119613A JP2007293533A (ja) 2006-04-24 2006-04-24 プロセッサシステム及びデータ転送方法

Publications (1)

Publication Number Publication Date
JP2007293533A true JP2007293533A (ja) 2007-11-08

Family

ID=38764116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006119613A Abandoned JP2007293533A (ja) 2006-04-24 2006-04-24 プロセッサシステム及びデータ転送方法

Country Status (2)

Country Link
US (1) US20070279422A1 (ja)
JP (1) JP2007293533A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086040A1 (en) * 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
US7895411B2 (en) * 2003-10-02 2011-02-22 Nvidia Corporation Physics processing unit
US7739479B2 (en) * 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
US20050251644A1 (en) * 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture
US7650266B2 (en) * 2005-05-09 2010-01-19 Nvidia Corporation Method of simulating deformable object using geometrically motivated model
US7627744B2 (en) * 2007-05-10 2009-12-01 Nvidia Corporation External memory accessing DMA request scheduling in IC of parallel processing engines according to completion notification queue occupancy level
US20100149426A1 (en) * 2008-12-17 2010-06-17 Ho-Tzu Cheng Systems and methods for bandwidth optimized motion compensation memory access
TWI455587B (zh) * 2009-04-10 2014-10-01 Asustek Comp Inc 具有多格式影像編解碼功能的資料處理電路及處理方法
GB2575030B (en) * 2018-06-22 2020-10-21 Advanced Risc Mach Ltd Data processing systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US6757019B1 (en) * 1999-03-13 2004-06-29 The Board Of Trustees Of The Leland Stanford Junior University Low-power parallel processor and imager having peripheral control circuitry
US7034849B1 (en) * 2001-12-31 2006-04-25 Apple Computer, Inc. Method and apparatus for image blending
US7304646B2 (en) * 2004-08-19 2007-12-04 Sony Computer Entertainment Inc. Image data structure for direct memory access

Also Published As

Publication number Publication date
US20070279422A1 (en) 2007-12-06

Similar Documents

Publication Publication Date Title
JP2007293533A (ja) プロセッサシステム及びデータ転送方法
JP4151684B2 (ja) 符号化装置、符号化方法および符号化プログラム、並びに撮像装置
TWI376955B (en) Intra-frame prediction processing
JP5253312B2 (ja) 動画像処理装置およびその動作方法
EP2819415B1 (en) Image decoding apparatus
EP2747434A1 (en) Video image compression/decompression device
JP2008104164A (ja) 画像処理装置及び画像処理方法
JP6679290B2 (ja) 半導体装置
TW525391B (en) Method and apparatus for performing motion compensation in a texture mapping engine
JP6066945B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP2007158550A (ja) 画像処理装置及び画像処理方法
JP5614122B2 (ja) 画像データ復号装置
JP2015115837A (ja) 制御装置、画像処理装置、制御方法、およびプログラム
TW201939953A (zh) 影像壓縮系統及利用影像壓縮系統以壓縮影像畫面的方法
CN108156460A (zh) 视频解码系统、视频解码方法和相应地计算机存储介质
JP6202912B2 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2010073210A (ja) 画像処理装置
TW202339505A (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法
JP5731816B2 (ja) 画像処理装置、画像処理方法
JP2002101310A (ja) フィルタ処理装置及び方法
JP5264126B2 (ja) 画像処理装置及びその制御方法、プログラム
JP2008078826A (ja) 画像処理装置及びその制御方法
KR100816461B1 (ko) 실시간 디블록킹 필터 및 이를 이용한 디블록킹 방법
JP4830691B2 (ja) 映像信号処理方法及び装置、並びに映像信号復号方法
JP2000322566A (ja) 画像表示装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090209

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20101220