JP2005189975A - 画像処理装置、画像処理方法およびプログラム - Google Patents

画像処理装置、画像処理方法およびプログラム Download PDF

Info

Publication number
JP2005189975A
JP2005189975A JP2003427717A JP2003427717A JP2005189975A JP 2005189975 A JP2005189975 A JP 2005189975A JP 2003427717 A JP2003427717 A JP 2003427717A JP 2003427717 A JP2003427717 A JP 2003427717A JP 2005189975 A JP2005189975 A JP 2005189975A
Authority
JP
Japan
Prior art keywords
image processing
processing
segment
slice
memory
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
JP2003427717A
Other languages
English (en)
Inventor
Tomoya Kodama
知也 児玉
Tadaaki Masuda
忠昭 増田
Noboru Yamaguchi
昇 山口
Atsushi Matsumura
淳 松村
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 JP2003427717A priority Critical patent/JP2005189975A/ja
Publication of JP2005189975A publication Critical patent/JP2005189975A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】複数のプロセッサを利用して効率のよい画像処理を行う。
【解決手段】プロセッサエレメント101は、複数の付加処理ユニット(APU)106、107‥‥を備えており、各APUは、DMAC103を介してDRAM102へアクセスすることができる。APUは、DRAM102に格納された符号化処理または動き検出処理のためのプログラムを読み出し、動画像の1画面を複数に分割したセグメント(例えば、スライス)単位で画像処理を行う。また、APUは、DRAM102の共有メモリ108にアクセスし、プロセスキュー113、リードポインタ115を参照する。これらには画面を複数に分割したセグメントごとの画像処理の進行状況が格納されており、共有メモリ108にアクセスしたAPUは、その進行状況の最も遅いセグメントを選び、そのセグメントに対して画像処理を行う。
【選択図】 図1

Description

本発明は、MPEG(Moving Pictures Experts Group)にしたがった動画像符号化処理や、復号化処理などの画像処理を複数のプロセッサで行う画像処理装置、画像処理方法およびプログラムに関するものである。
従来、コンピュータ技術の進化に伴い、MPEG−2などに代表される画像符号化処理および復号化処理をソフトウェアにより実現する装置等が利用されている。例えば、パーソナルコンピュータ(PC)の中には、テレビ放送される番組画像の符号化処理を行い、ハードディスクに記憶させるといったレコーダ機能をソフトウェアにより実現するものも販売等されている。
一方、次世代のゲーム機、ホームサーバ、デジタルテレビジョンなどに搭載するCPU(Central Processing Unit)として、高速なSIMD(Single Instruction Multiple Data)プロセッサを複数有し、それらが協調して処理を実行するモデルが提案されている。例えば、同一のISA(Instruction Set Architecture)を有する複数の付加処理ユニット(APU)が共用ダイナミックランダムアクセスメモリ(DRAM)を利用してリアルタイム通信を行い、処理を継続していくセルプロセッサと呼ばれるモデルが提案されている(例えば、特許文献1参照)。
上記特許文献1に開示される複数のプロセッサ(付加処理ユニット)を有するユニットを利用した画像処理、例えばMPEG形式にしたがった復号化処理は、次のようにして行われる。ネットワーク処理用のプロセッサがネットワークを介してMPEGデータを取得し、DRAMの特定領域に格納する一方で、復号化処理用のプロセッサがDRAMに格納されたMPEGデータの復号化処理を行う。このように特許文献1に開示された技術では、各プロセッサに特定の用途(ネットワーク処理や復号化処理)が割り当てられ、各プロセッサが割り当てられた用途に対応する処理を行うといった分散処理が行われる。
ところで、上述したように複数のプロセッサを有するユニットを用いてMPEG復号化処理や符号化処理を行う場合、プロセッサが実行するタスクにはタイムバジェットと呼ばれる割当時間が決定されている。このタイムバジェットは、通常プロセッサが実行するタスクに必要な時間よりも長い時間が設定されており、プロセッサの処理は必ず設定されたタイムバジェット期間以内で終了しなければならないようになっている。
したがって、上記のようなMPEG復号化処理を行う場合、ネットワーク処理用のプロセッサがあるタイムバジェット期間内にMPEGデータの抽出処理を行いDRAMに格納する。そして、次のタイムバジェット期間内に前タイムバジェット期間にDRAMに格納されたMPEGデータを復号化処理用のプロセッサが読み出して復号処理を行う。これにより複数のプロセッサが並列して動作し、MPEGデータの復号化処理といった画像処理を実現することができる。なお、1つのタイムバジェット期間が終了する前に処理が終了した場合、各プロセッサは「スタンバイ」と呼ばれる状態となり、演算処理は一切行われない。
特開2002−358289号公報
以上のように各プロセッサに特定の用途を割り当ててMPEG復号化処理等の画像処理を行わせる場合、次のような問題が発生する。まず、第一に、MPEGの符号化処理自体、最も演算量が必要となる動き検出を除いてもMPEG復号化処理の2倍の演算量を必要とするのが一般的であり、動き検出処理を含めれば、MPEG復号化処理の4倍から10倍程度の演算量が見込まれる。
このような演算量の多いMPEG符号化処理を行うことも想定すると、設定されるタイムバジェットが非常に大きくなり、他のタスクのスタンバイ時間が過剰に長くなり並列性が損なわれる。つまり、負荷の小さい処理を割り当てられたプロセッサは、1タイムバジェット間のほとんどがスタンバイ状態となってしまうおそれがあり、効率のよい並列処理が行えない。このように不効率な並列処理が行われると、リアルタイムでの符号化が行えなくなるおそれもある。
第二に、MPEGの符号化処理では、Iピクチャ(I-Picture)と、Pピクチャ(P-Picture)と、Bピクチャ(B-Picture)といった3種類の符号化が用意されており、各々の符号化処理において必要な動き検出処理がそれぞれ0回、1回、2回と異なっている。上述したように動き検出処理はMPEG符号化処理の中でも処理負担が大きいため、Iピクチャ、Pピクチャ、Bピクチャの符号化処理に要する時間は大きく異なる場合がある。最も処理負担の大きいBピクチャの符号化処理が期間内に終了できるようタイムバジェットを設定すれば、比較的軽い処理であるIピクチャやPピクチャを符号化する際にMPEG符号化処理自体のスタンバイ時間が長くなり、効率のよい並列処理が行えない。
本発明は、上記に鑑みてなされたものであって、複数のプロセッサを利用して画像処理を行う場合に効率のよい並列処理を行うことができる画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる画像処理装置は、複数のプロセッサと、画面を複数に分割したセグメントごとに画像処理手順の進行状況を示す進行状況情報を保持するメモリとを具備し、各々の前記プロセッサは、前記メモリに保持された進行状況情報を参照し、あらかじめ決められた基準にしたがって処理すべきセグメントを選択し、選択したセグメントに対して画像処理手順にしたがった画像処理を行うことを特徴とする。
また、本発明の別の態様にかかる画像処理方法は、複数のプロセッサを用いて画像処理を行う方法であって、画面を複数に分割したセグメントごとに画像処理手順の進行状況をメモリに保持して管理し、各々の前記プロセッサは、前記メモリに保持された進行状況を参照し、あらかじめ決められた基準にしたがって処理すべきセグメントを選択し、選択したセグメントに対して画像処理手順にしたがった画像処理を行うことを特徴とする。
また、本発明の別の態様にかかるプログラムは、複数のプロセッサを有するコンピュータに、画面を複数に分割したセグメントごとに画像処理手順の進行状況をメモリに保持して管理させる手順、各々の前記プロセッサに、前記メモリに保持された進行状況を参照し、あらかじめ決められた基準にしたがって処理すべきセグメントを選択し、選択したセグメントに対して画像処理手順にしたがった画像処理を行わせる手順を実行させる。
本発明によれば、複数のプロセッサが、画面を分割した各セグメントの進行状況を考慮して処理対象となるセグメントを選択して画像処理を行うことができるので、効率のよい並列処理を行うことができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法およびプログラムの好適な実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態にかかる画像処理装置の構成を示すブロック図である。同図に示すように、この画像処理装置100は、プロセッサエレメント(PE)101と、DRAM(Dynamic RAM)102とを備えており、ソフトウェアによりMPEG符号化処理を実現する装置である。
プロセッサエレメント101は、処理ユニット(PU:Processing Unit)105と、複数の付加処理ユニット(APU:Attached Processing Unit)106、107‥‥と、DMAC(Direct Memory Access Controller)103とを備える。
DRAM102には、共有メモリ108と、動き検出のためのプログラムモジュール格納領域112と、符号化のためのプログラムモジュール格納領域109と、動き検出の結果が蓄えられる動きベクトルデータ格納領域111と、符号化結果が蓄えられるビットストリームデータ格納領域110といった領域が設定されている。本実施の形態において、これらの領域はあらかじめ物理的に固定された領域として設定されているわけではなく、ソフトウェアにより設定されている。
共有メモリ108には、FIFO(First-In First-Out)型のバッファであるプロセスキュー113と、当該プロセスキュー113のライトポインタ114と、後述する複数のセグメントの各々に対応するリードポインタ115が設けられている。プロセスキュー113には、画像処理の手順であるMPEG形式にしたがった符号化処理の手順が列挙されて保持される。
DMAC103は、APU106、107‥‥といった複数のAPU間の排他制御を行う手段として機能するテスト&セットレジスタ4を有している。すなわち、テスト&セットレジスタ104は、複数のAPUがDMAC103を介して同時にDRAM102にアクセスしてデータの書き込み等が行われないよう、これらの同時アクセスを禁止する。なお、本実施の形態では、排他制御を実現する手段としてテスト&セットレジスタを例示してあるが、特にこれに限定されるものではない。
PU105は、MPEG形式(MPEG−2など)の符号化処理等を行う際に、プロセッサエレメント101およびDRAM102といった装置各部を制御するプロセッサである。また、本実施の形態におけるPU105は、上述したプロセスキュー113に対し、符号化処理手順を書き込む処理を行うとともに、その書き込み位置に応じてライトポインタ114を更新する処理を行う。
ここで、図2にPU105によって書き込まれるプロセスキュー113の内容を示す。同図に示すように、プロセスキュー113には、「フレーム#0前方動き検出」、「フレーム#1前方動き検出」‥‥「フレーム#0符号化」、「フレーム#4前方動き検出」といったMPEG形式の符号化処理の手順内容が行うべき順序にしたがって書き込まれる。
PU105は、符号化対象となる動画像データが入力されると、つまりフレーム画像が順次入力されると、入力される画像に対して行うべき符号化処理手順を決定し、それを順次プロセスキュー113に書き込むのである。つまり、プロセスキュー113には、画像処理の手順を示す処理手順情報が書き込まれるのである。
また、プロセスキュー113には、ポインタ「0」、「1」‥‥といった連続する番号がポインタ番号として付与されており、PU105は処理順序とポインタ番号とを対応つけるように書き込みを行う。つまり、先に行うべき処理内容を小さいポインタ番号に対応つけて書き込んでいく。図示の例では、より下側(ポインタ番号が小さい)に書き込まれる処理内容が上側(ポインタ番号が大きい)に書き込まれる処理内容よりも先に行うことを意味し、ポインタ番号に対応する順序、「フレーム#0前方動き検出」、「フレーム#1前方動き検出」、「フレーム#1後方動き検出」‥‥といった順序で処理を行うべきことを意味する。
また、PU105は、上記のように処理内容を書き込むと、書き込んだ位置(ポインタ番号)に応じて図1に示すライトポインタ114を更新する。ライトポインタ114は、プロセスキュー113のどのポインタ番号から書き込みを行うべきかを示すポインタであり、図2に示すようにプロセスキュー113にポインタ番号「8」の「フレーム#4前方動き検出」を書き込んだ場合には、次に書き込みを行うべきポインタ番号、つまり書き込みが終了したポインタ番号の次の番号「9」にライトポインタ114を更新する。次に、PU105がプロセスキュー113に書き込みを行う際には当該ライトポインタ114を参照して書き込むべきポインタ番号を決定する。
図1に示すAPU106、107‥‥の各々は、共有メモリ108のプロセスキュー113に記述された内容を参照し、行うべき処理内容に対応するプログラムモジュールをDRAM102から読み出す。そして、APU106、107‥‥は読み出したプログラムモジュールにしたがった画像処理(動き検出処理や符号化処理等)を行う。
例えば、行うべき処理内容が「フレーム1#前方動き検出」である場合には、DRAM102の動き検出のためのプログラムモジュール格納領域112からプログラムモジュールを読み出し、また行うべき処理内容が「フレーム#0符号化」である場合には符号化のためのプログラムモジュール格納領域109からプログラムモジュールを読み出すことになる。
また、APU106、107‥‥は、動き検出処理を行った場合にはその結果を、DRAM102における動き検出の結果が蓄えられる動きベクトルデータ格納領域111に格納し、また符号化処理を行った場合にはその結果を、符号化結果が蓄えられるビットストリームデータ格納領域110に格納する。
以上のように各APU106、107‥‥は、DRAM102に格納されたプログラムモジュールにしたがってソフトウェアにより画像処理を実現するものであり、そのハードウェア構成を図3に示す。同図に示すように、APU106(APU107‥‥も同様)は、ローカルメモリ202と、レジスタ203と、複数の浮動小数点ユニット205と、複数の整数演算ユニット207とを備える。
ローカルメモリ202は、例えば128KB程度の比較的小さい容量のSRAM(Static RAM)などで構成される。APU106は、ローカルメモリ202に格納されるプログラムおよびデータを利用して動作する。APU106は、DMAC103(図1参照)を介してDRAM102とローカルメモリ202間のデータ授受を行う。
APU106が上述した動き検出や符号化といった処理を行うために上記プログラムモジュールを実行する際、PU101によってDMAC103が制御され、APU106のローカルメモリ202へオブジェクトプログラムと関連するスタックフレームが転送される。そして、PU101がAPU106へプログラムを実行するようにコマンドを発行することで、APU106がプログラムの実行、つまり動き検出処理や符号化処理が開始される。プログラムを実行したAPU10は、その結果(動き検出結果や符号化結果)をDMAC103を介してDRAM102へ転送する。このように転送された動き検出結果や符号化結果が、動きベクトルデータ格納領域111やビットストリームデータ格納領域110に格納される。
以上がAPU106(他のAPU107等も同様)の構成であり、各APU106、107‥‥は、それぞれ他のAPUとは独立して動作し、後述するセグメントの画像に対する符号化処理や動き検出等の画像符号化に必要な処理を行う。なお、このようなAPU106、107‥‥によって行われる具体的な処理の詳細については後述する。
次に、本実施の形態にかかる画像処理装置100が画像処理を行う際の動作について各APU106、107‥‥の動作を中心に説明する。本実施の形態にかかる画像処理装置100では、処理対象となるフレーム画像を複数個(N個とする)のセグメントに分割し、これらの各々のセグメントに対し、複数個(M個(N>M)とする)のAPU106、107‥‥がMPEG形式にしたがった符号化処理を行うようになっている。すなわち、APU106、107の各々は、フレーム画像全体に対して処理を行うのではなく、分割されたセグメント単位の画像に対して符号化処理を行うのである。
本実施の形態では、図4に示すように、「スライス」と呼ばれる高さ16画素(幅はフレーム画像と同じ720画素)の細長い部分を1つのセグメントとし、このようなセグメントであるスライスごとに各APUが符号化処理を実行する。例えば、MPEG符号化の対象がSDTV解像度(720×480画素)である場合、スライスの個数は30個となる。なお、MPEG−4形式の符号化処理等を行う画像処理装置に適用する場合には、ビデオパケットを1つのセグメントとして用いることができる。
本実施の形態では、複数のAPU106、107の各々は、共有メモリ108のプロセスキュー113およびリードポインタ115を参照し、あらかじめ決められた基準にしたがって処理すべきセグメント(スライス)および処理内容(前方動き検出、後方動き検出、符号化など)を決定する。
すなわち、各APU106、107‥‥は、あらかじめ決められた特定の処理のみを行うのではなく、そのときの各セグメントに対する処理の進行状況等を参照し、全体として効率のよい処理が行われるよう処理対象となるセグメントを決定するようにしているのである。このようなセグメント(スライス)ごとの処理の進行状況に応じて各APUが処理対象セグメントを決定し、符号化や動き検出等の処理を行う場合の具体的な処理について説明する。なお、複数のAPU106、107‥‥の処理内容は同じであるため、以下においては、APU106の動作について説明する。
図5に示すように、PU105からの「APU遠隔処理指令」によってAPU106が起動されると、起動されたAPU106は、テスト&セットレジスタ104をテストし、共有メモリ108へのアクセス権が取得できるか否かを判別する(ステップSa1)。上述したようにテスト&セットレジスタ104によって共有メモリ108に対して同時に複数のAPUがアクセスすることはできない。よって、他のAPUがアクセスしている場合には、アクセス権が取得できず、アクセス権取得待ちの状態となる。この場合、アクセス権が取得できるまで周期的にテストを行う。
一方、他のAPUがアクセスをしておらず、APU106が共有メモリ108へのアクセス権を取得した場合、共有メモリ108にアクセスし、リードポインタ115をスキャンする(ステップSa2)。そして、APU106は、その時点におけるリードポインタ115の内容を参照し、あらかじめ決められた条件にしたがって処理すべきセグメント(スライス)を決定する(ステップSa3)。
ここで、図6にリードポインタ115の構成の一例を示す。同図に示すように、リードポインタ115は、各スライスごとに、「処理状態フラグ」と「プロセスキュー読み出し先」といった項目の情報が格納されている。
「処理状態フラグ」は、当該スライスに対する画像処理が行われているか否かを示すフラグであり、上記のようにAPU106がリードポインタ115をスキャンしたときに、他のAPUによって画像処理が施されているスライスがある場合、そのスライスについての「処理状態フラグ」は「処理中」を示すフラグとなる。一方、スキャン時に他のAPUによって処理が行われていないスライスについては「未処理」を示すフラグとなる。
また、「プロセスキュー読み出し先」は、プロセスキュー113の読み出し先のポインタ番号を示すものである。したがって、かかる項目の情報が「ポインタ番号6」となっているスライスについては、次にプロセスキュー113(図2参照)のポインタ番号6に対応する処理(フレーム#0後方動き検出)を行うべきであることを意味している。
リードポインタ115には、以上のような各スライス(セグメント)ごとの画像処理の進行状況を示す進行情報が格納されており、APU106は、かかる進行情報を参照して、以下の2つの条件を満たすスライスを処理すべきスライスとして決定する。
(1)当該スライスの「処理状態フラグ」が「処理中」ではない
(2)当該スライスの「プロセスキューの読出し先」のポインタ番号が、他のスライスの読出し先よりも小さい番号である
すなわち、複数のスライスの中から、APU106が共有メモリ108にアクセスしてリードポインタ115をスキャンした時点で、他のAPUによって処理されておらず、かつ最も処理進行状況が遅いスライスを処理対象スライスとして決定するのである。なお、上記2つの条件を満たすスライスが複数ある場合、そのうちどれを選択しても良いが、ここでは最もスライス番号が小さいスライスを選択するものとする。
以上のようにして処理対象スライスを決定すると、APU106は、リードポインタ115における当該決定したスライスの「処理状態フラグ」を「処理中」とし(ステップSa4)、決定したスライスに対して、当該スライスの「プロセスキュー読み出し先」に示されるポインタ番号に対応する画像処理、つまりそのスライスの進行状況に応じた処理を行う(ステップSa5)。
例えば、決定したスライスの「プロセスキュー読み出し先」のポインタ番号が「6」である場合には、APU106は、プロセスキュー113(図2)を参照し、そのポインタ番号「6」に対応する処理(フレーム#0後方動き検出処理)を行う。より具体的には、動き検出プログラムモジュールをDRAM102の動き検出のためのプログラムモジュール格納領域112を読み出し、ローカルメモリ202にロードする。そして、当該プログラムモジュールを実行することで、上記のように決定したスライスに対して後方動き検出処理を行うのである。
なお、上記のように処理対象スライスを決定すると、APU106は、テスト&セットレジスタ104をリセットすることで共有メモリ108を開放し、この時点以降他のAPUが共有メモリ108へのアクセス権を取得することができる。したがって、アクセス権を取得した他のAPUは、上述したステップSa2以降の処理を行い、処理対象スライスを決定し、決定したスライスに対して進行状況に応じた処理を行う。
APU106は、上記のような決定したセグメントに対する進行状況に応じた処理が終了すると、テスト&セットレジスタ104をテストし、共有メモリ108へのアクセス権の取得を試みる(ステップSa6)。上述したように他のAPUが共有メモリ108にアクセスしているときにはアクセス権を取得することができないので、アクセス権が取得できるまで周期的にアクセス権取得のための処理を行う。
そして、アクセス権を取得すると、APU106は、リードポインタ115における上記ステップSa5で処理を行ったスライスに対応する「処理状態フラグ」を「処理中」から「未処理中」に書き換えるとともに、当該スライスに対応する「プロセスキュー読み出し先」のポインタ番号を1つインクリメントする(ステップSa7)。
このようにリードポインタ115に格納される進行状況を示す情報を、ステップSa5における処理の後の状況に応じて更新すると、ステップSa2に戻り、それ以降の処理を繰り返す。すなわち、リードポインタ115をスキャンし、そのスキャン時点で最も進行状況が遅いスライスを処理対象スライスとして決定し、決定したスライスに対して画像処理を行うのである。
例えば、リードポインタ115が図7に示すような状態である時点以降は、APU106、APU107‥‥によって次のような処理が行われることになる。まず、この時点から最も先に共有メモリ108へのアクセス権を取得したAPUが、リードポインタ115を参照し、「処理中」ではなく、最もポインタ番号の小さいスライス(ポインタ番号「1」)であるスライス#3を選び、プロセスキュー113の当該ポインタ番号「1」に対応する処理を行う。つまり、フレーム#0のスライス#3に対し、前方動き検出を行うのである。なお、この図に示す時点においては、スライス#1、#2は「処理中」であるので、図示のように他のAPUによって処理がポインタ番号「2」、「1」に対応する処理が行われ、その結果が動きベクトルデータ格納領域111に格納される。
上記APUの次に共有メモリ108へのアクセス権を取得したAPUは、上記スライス#3は先のAPUによって図示の状態から「処理中」に書き換えられているため、次にポインタ番号の小さい(またはポインタ番号は同じ)スライス#4(ポインタ番号「1」)を選択し、プロセスキュー113の当該ポインタ番号「1」に対応する処理を行う。つまり、フレーム#0のスライス#4に対し、前方動き検出を行う。
このように本実施の形態では、各APUは、実行する処理の内容(前方動き検出、後方動き検出、符号化等)や処理すべきスライスが固定されているわけではなく、あるスライスに対する処理が終了して次の処理を行おうとした時点で、最も処理進行状況が遅れているスライスを選び、その進行状況に応じた処理、つまりそのスライスが次にすべき処理が前方動き検出であれば前方動き検出を、次に行うべき処理が符号化処理であれば符号化処理を行うのである。
以上がプロセッサエレメント101内の複数のAPU106、107‥‥の各々が行う処理の詳細である。次に、上記のように各APUがそれぞれ進行状況に応じたスライスを選択して並列に画像処理を行っている間に、タイムバジェット期間が終了した場合におけるPU105の処理について説明する。
上述した特許文献1にも開示されているように複数のAPUを有するプロセッサエレメントでは、APUが実行するタスクにはタイムバジェットと呼ばれる割当時間が設定されている。したがって、上記のように各APU106、107‥‥の各々が選択したスライスに対して画像処理を行っている途中に、タイムバジェット期間が終了すると、APUの処理は中断されてしまうことになる。
本実施の形態におけるPU105は、このようなタイムバジェットに起因するAPUの処理中断により、符号化処理がなされないスライス等が生じるといった符号化処理エラーを抑制するために、次のような処理を行う。
PU105は、タイムバジェット期間が終了すると、DMAC103を介して共有メモリ108のリードポインタ115にアクセスする。ここで、APUが画像処理中にタイムバジェット期間が終了し、処理が中断された場合、当該処理中のスライスに対応する「処理状態フラグ」は「処理中」のままとなる。
例えば、図8に示す例では、タイムバジェット期間が終了した時点では、APU0はスライス#2に対する符号化処理(CODE#2)を行っている途中であり、APU1はスライス#3に対する符号化処理(CODE#3)を行っている途中である。したがって、リードポインタ115におけるスライス#2およびスライス#3に対応する「処理状態フラグ」は「処理中」のままとなる。
このままの状態で放置すれば、次にAPUがリードポインタ115をスキャンしたときには、これらのスライス#2、#3の「処理状態フラグ」は「処理中」であるため、上記条件(2)を満たさず、スライス#2、#3はAPUに処理対象として選択されないことになってしまう。
そこで、PU105は、タイムバジェットが終了した後、リードポインタ115にアクセスし、「処理中」であるフラグを「未処理」に書き換える。これにより、次のタイムバジェットにおいて、リードポインタ115をスキャンしたAPUによって、上記のように前のタイムバジェットにおいて処理が中断したスライスが選択され、当該スライスに対して画像処理が施される。したがって、タイムバジェット終了により処理が中断することに起因する処理エラー等の発生を抑制することができる。
なお、タイムバジェットの終了に伴う処理の中断は、APUが共有メモリ108のアクセス権を得ている間には行うべきではないため、PU105による上記フラグ書き換え処理は、PU105自身が共有メモリ108へのアクセス権を取得した後に行う。
以上説明したように本実施の形態では、プロセッサエレメント101内の複数のAPU106、107‥‥があらかじめ決められた固定の処理(例えば符号化処理のみを行う、または動き検出のみを行う)を行うのではなく、画面を複数に分割したセグメント(スライス)の処理の進行状況に基づき、処理を行うべきスライスを選択して処理を行うので、各APU106、107等を効率よく動作させてMPEG形式にしたがった符号化処理を行わせることができる。
すなわち、各APUは、あるスライスに対する処理が終了した後待機するのではなく、共有メモリ108のプロセスキュー113やリードポインタ115を参照し、その中から処理の進行具合が最も遅いスライスを処理すべきスライスとして選択して処理を行うようになっている。したがって、各APU106、107等がスタンバイ状態となり、処理を行わない時間を削減することができ、効率のよい処理が行える。また、各スライスの処理がバランスよく進行する(例えば、あるスライスの処理が他のスライスと比べて極端に遅れるといったことなく進行する)ので、あるスライスの処理の遅れに起因して符号化処理等が所定のタイミング(リアルタイム符号化タイミングなど)に間に合わなくなってしまうおそれを低減することができる。
また、本実施の形態では、リードポインタ115に各スライスごとに「処理状態フラグ」が用意されており、かかるフラグが「処理中」の場合、つまりあるAPUによって当該スライスが処理されている間、そのスライスが他のAPUに選択されて処理されることはない。したがって、プロセスキュー113に示された画像処理手順と異なる手順、つまり先に行うべき処理が終了していないにもかかわらず、後に行うべき処理を行うといった処理の追い越しを防止することができ、符号化処理エラーを抑制することができる。
また、本実施の形態では、テスト&セットレジスタ104が設けられており、各APU106、107‥‥が同時に共有メモリ108へアクセスしてリードポインタ115等を更新することが抑制される。したがって、複数のAPUがリードポインタ115等にアクセスすることで、同時に複数のAPUが同一のスライスを選択して処理を行うといった複数のAPUによる処理の重複等を抑制することができる。このように共有メモリ108への同時アクセスを禁止されるので、各APUがどのスライスを処理するのかを決定するためにPU105が調整処理を行う必要がなく、PU105の処理負担増加を抑制することができる。
ところで、複数のAPUを利用する画像処理技術としては、複数のAPUに、MPEG符号化処理の各機能(前方動き検出機能、後方動き検出機能、符号化処理機能)を固定的に割り当て、複数のAPUでパイプライン動作を行わせることでMPEG符号化処理を行うことも考えられる。
この場合、前方動き検出処理と後方動き検出処理とは依存関係がないため、各処理を担当するAPUは並列に処理を行うことができ、動き検出処理と符号化処理といった依存関係のある処理を行う場合には1フレーム遅延させることでパイプライン処理を行う。しかしながら、このように複数のAPUの各々に特定の機能を固定的に割り当てると、携帯機器に画像処理装置を搭載させる場合などに不都合が生じる。
すなわち、携帯機器では、動作電圧を低下させクロック周波数を低下させることで消費電力を低減させることが一般的によく行われる。このようなにクロック周波数を低下させた場合、より並列性を高めなければリアルタイムMPEG符号化処理が実現できなくなる。並列性を高めるためには、符号化処理の機能ブロックをさらに細分化し、細かいパイプライン処理を実現させなければならないが、このために符号化プログラムの設計をやり直さなければならなくなり、開発に伴うコストが増大する。
また、プロセッサの消費電力を低減させる手法として、計算負荷が低い場合にはプロセッサの電圧および動作クロック周波数を低減させるような方法が用いられる。このような手法を複数のAPUを有するプロセッサに導入した場合、一部の計算負荷が重いAPU(動き検出処理を担当するAPUなど)に引きずられ、他の多くのAPUがアイドル状態にもかかわらず動作電圧および動作クロックを引き下げられないような事態が発生する。
また、符号化処理において発生する処理時間の長短は、Iピクチャ、PピクチャおよびBピクチャといったピクチャタイプにのみ存在するわけではない。例えば、ほとんどの物体が動いていないような動画像を符号化する際には、動き検出や符号化処理の負荷は低くなる一方、細かいテクスチャを含む物体が縦横無尽に動いているような動画像を符号化する際には、動き検出も符号化処理も負荷が重くなる。したがって、一定のタイムバジェット内で処理を完了させるためには、タイムバジェット自体を大きくさせるか、画質を犠牲にして処理時間を一定に保つような機構を設ける必要がある。
これに対し、本実施の形態では、上述したように各APUに固定的に処理機能が割り当てられているのではなく、各スライスの進行状況に応じて各APUが処理すべきスライスを選択し、そのスライスに必要な符号化のための処理を行う。したがって、あるスライスに対する処理状況が他のスライスに比して大きく遅れるといったことがなく、各スライスに対する処理を並列に進行させることができ、消費電力低減のために動作クロックを抑えた場合にもリアルタイム性を維持しやすくなる。
また、各APUの行う処理が固定的ではないので、各APUの処理負担が大きくばらつくことがなく、APUの処理能力を考慮することに起因するタイムバジェットの設定に関する制約も少なくなる。また、各APUに割り当てる機能を細分化する必要もないので、符号化プログラムの設計、開発に伴うコストが増大することも抑制することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態にかかる画像処理装置について説明する。図9に示すように、第2の実施の形態にかかる画像処理装置200は、MPEG形式で符号化された動画像データを復号する処理を行う装置である点で上記第1の実施の形態の画像処理装置100と相違する。また、DRAM222に格納される情報等が第1の実施の形態における画像処理装置100と相違している。なお、第2の実施の形態において、第1の実施の形態と共通する構成要素については同一の符号をつけてその説明を省略する。
同図に示すように、第2の実施の形態におけるDRAM222には、共有メモリ208と、MPEG形式で符号化されたデータを復号するためのプログラムモジール格納領域212と、復号された結果であるビデオデータが蓄えられるビデオデータ格納領域211、外部から供給されたMPEG形式で符号化されたビットストリームデータが格納されるMPEGデータ格納領域210といった領域が設定されている。本実施の形態において、これらの領域はあらかじめ物理的に固定された領域として設定されているわけではなく、ソフトウェア的に設定されている。
本実施の形態における共有メモリ208には、プロセスキュー213と、ライトポインタ214と、リードポインタ215とが格納されている。本実施の形態では、プロセスキュー213は、画面を複数に分割したセグメント(図4参照のスライス)ごとに対応して設けられている。各プロセスキュー213には、PU105によって次のような情報が書き込まれる。
本実施の形態におけるPU105は、外部装置等から供給されるMPEG形式で符号化されたビットストリームデータをMPEGデータ格納領域210に格納するとともに、当該ビットストリームデータを解析し、各スライスに対応したビットストリームの先頭位置を求める。すなわち、各スライスを復号するために用いるデータの先頭位置を求めるのである。
PU105は、上記のように求めた各スライスに対応するビットストリームの先頭位置を示す情報を、各々のスライスに対応するプロセスキュー213に書き込む。この結果、図10に示すように、プロセスキュー213には、対応するスライスのビットストリームの先頭位置を示す情報がフレームごとに書き込まれることになる。
以上のようにプロセスキュー213が各スライスごとに設けられているため、本実施の形態ではライトポインタ214も各プロセスキュー213に対応して設けられている。PU105は、上述したようにプロセスキュー213に対し、ビットストリームの先頭位置を書き込む処理を行うとともに、その書き込み位置に応じてライトポインタ214を更新する処理を行う。
本実施の形態におけるリードポインタ215は、上記第1の実施の形態と同様、各スライスごとに対応して設けられている。ここで、図11にリードポインタ215の構成を示す。同図に示すように、リードポインタ215は、対応するスライスごとに、「処理状態フラグ」と、「処理フレーム番号」といった情報が格納されている。
ここで、「処理状態フラグ」はそのスライスに対する復号処理が行われているか否かを示すフラグであり、あるAPUが当該リードポインタ215にアクセスした時点で他のAPUが当該スライスに対する復号処理を行っている場合には「処理中」となり、APUが処理を行っていない場合には「未処理」となる。
「処理フレーム番号」には、そのスライスに対して復号処理が完了した最後のフレーム番号の次のフレーム番号を示す情報が格納される。つまり、あるスライスについて#0〜#5のフレームに対する復号化処理が終了している時点では、当該「処理フレーム番号」には最後のフレーム番号の次の番号である「#6」が格納される。すなわち、リードポインタ215には、次にどのフレームに対して復号化処理を行えばよいかを示す情報といった、スライスごとの復号化処理の進行状況に関する情報が格納されているのである。
本実施の形態における各APU106、107‥‥は、上記第1の実施の形態と同様、テスト&セットレジスタ104により許可が得られた場合に共有メモリ208にアクセスする。そして、リードポインタ215を参照して、復号対象となるスライスを選択する。本実施の形態では、上記第1の実施の形態と同様、共有メモリ208にアクセスが許可されたAPUは、リードポインタ215に格納されたスライスごとの処理進行状況を参照し、以下の2つの条件を満たすスライスを処理すべきスライスとして決定する。
(1)当該スライスの「処理状態フラグ」が「処理中」ではない
(2)当該スライスの「処理フレーム番号」に示される番号が、他のスライスの番号よりも小さい番号である
このように処理すべきスライスを決定したAPUは、リードポインタ215における当該スライスに対応する「処理状態フラグ」を「処理中」とし、復号化プログラムモジュール格納領域212から復号化プログラムモジュールを読み出す。そして、リードポインタ215の選択したスライスに対応する「処理フレーム番号」に示されるフレーム番号の当該スライスのビットストリームデータに対して復号化処理を行う。
より具体的には、APUは、選択したスライスに対応するプロセスキュー213を参照し、選択したスライスの処理すべきフレームのビットストリーム先頭位置を取得する。そして、取得した先頭位置に基づいてMPEGデータ格納領域210から処理対象フレーム・スライスのビットストリームデータを読み出し、復号化処理を行ってビデオデータを復元し、これをビデオデータ格納領域211に格納する。
このように選択したスライスに対する復号化処理が終了すると、APUは再び共有メモリ208にアクセスし、当該スライスに対応するリードポインタ215の「処理状態フラグ」を「未処理」とし、かつ「処理フレーム番号」を1つインクリメントする。このようにリードポインタ215を更新した後、APUは更新後のリードポインタ215を参照して、上記条件(1)、(2)を満たすスライスを選択し、上述した手順で復号化処理を行う。
以上説明したように第2の実施の形態では、プロセッサエレメント101内の複数のAPU106、107‥‥は、画面を複数に分割したセグメント(スライス)の処理の進行状況に基づき、処理を行うべきスライスを選択して復号化処理を行うので、各APU106、107等を効率よく動作させてMPEG形式にしたがった符号化データに対する復号化処理を行わせることができる。
(変形例)
なお、本発明は、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
(変形例1)
上述した第1の実施の形態では、プロセスキュー113と、各スライスに対応したリードポインタ115に、スライスごとの処理進行状況を示す情報が格納されていたが、格納形態はこれに限定されるものではなく、スライスごとの処理の進行状況を示す情報、つまり行うべき画像処理の手順とその処理手順中のどの処理まで進んだかといった進行情報が格納されていればよい。例えば、スライスごとにプロセスキュー(図2参照)と、当該プロセスキュー113の各処理手順のどこまで処理が進んでいるかを示すポインタとを設けるようにしてもよい。
(変形例2)
また、上述した第1の実施の形態では、処理対象となるフレーム画像をN個のセグメントに分割し、これらの各々のセグメントに対し、M個(N>M)のAPU106、107‥‥がMPEG形式にしたがった符号化処理を行うようになっていたが、分割するセグメント数(複数)やAPUの個数(複数)等は任意である。
例えば、上記実施の形態のようにN、Mが固定であってもよいし、入力される符号化対象となる画像のサイズ(画素数)等に基づいて分割するセグメント数Nを変動させるようにしてもよい。すなわち、APU106、107‥‥の各々は、フレーム画像全体に対して処理を行うのではなく、画像サイズに基づく個数に分割されたセグメント単位の画像に対して符号化処理を行うようにしてもよい。
(変形例3)
また、上述した各実施の形態では、各APUがスライス単位で画像処理を行うようになっていたが、スライス単位に限定されるものではなく、画面を複数に複数に分割したセグメントごとに処理を行うものであればよい。
(変形例4)
また、上述した各実施の形態では、各APUは、進行状況の最も遅いスライスを処理対象スライスとして選択するようになっていたが、各スライスの進行状況等に基づいて他の基準にしたがってスライスを選択するようにしてもよい。
例えば、過去一定期間のスライスごとの符号化、動き検出等に要する処理負担をモニタリングしておき、進行状況に加えて当該モニタリング結果を参照して処理対象スライスを選択するようにしてもよい。すなわち、進行状況が最も遅いスライスよりも若干処理手順が進んでいるスライス(1つ処理手順が進んでいるスライスなど)であっても、当該スライスについて過去一定期間の処理負担がその最も進行状況が遅いスライスよりも大きい場合には、その過去一定期間の処理負担の大きいスライスを選択するといったことを行うようにしてもよい。
(変形例5)
また、上述した実施の形態では、MPEG形式の符号化処理を行う画像処理装置(第1の実施の形態)、およびMPEG形式で符号化されたデータを復号する画像処理装置(第2の実施の形態)に本発明を適用した場合について説明したが、本発明はこのような画像処理に限定されるわけではなく、画面を複数に分割して処理することができる他の種類の画像処理を行う装置、方法に適用することも可能である。
(変形例6)
なお、上述した各実施の形態で行われる複数のAPUを利用した画像処理を、複数のプロセッサを有するコンピュータに実行させるためのプログラムをインターネット等の通信回線を介してユーザに提供するようにしてもよいし、当該プログラムをCD−ROM(Compact Disc-Read Only Memory)などのコンピュータ読み取り可能な記録媒体に記録してユーザに提供するようにしてもよい。
以上のように、本発明にかかる画像処理装置、画像処理方法およびプログラムは、MPEG形式の符号化、復号化処理等を行う装置、方法等に有用である。
本発明の第1の実施の形態にかかる画像処理装置の構成を示す図である。 前記画像処理装置の共有メモリに設定されるプロセスキューの内容を示す図である。 前記画像処理装置の構成要素であるAPUの構成を示すブロック図である。 前記画像処理装置の各APUが処理を行う際の処理対象となるセグメントの一例を示す図である。 前記画像処理装置の各APUが画像処理の際に行う処理手順を示すフローチャートである。 前記画像処理装置の共有メモリに設定されるリードポインタの内容を示す図である。 前記画像処理装置の各APUによって並列的に行われる画像処理の内容を模式的に示す図である。 タイムバジェットにより各APUの処理が中断した際の前記画像処理装置の構成要素であるPUの動作内容を説明するための図である。 本発明の第2の実施の形態にかかる画像処理装置の構成を示す図である。 第2の実施の形態にかかる画像処理装置の共有メモリに設定されるプロセスキューの内容を示す図である。 第2の実施の形態にかかる画像処理装置の共有メモリに設定されるリードポインタの内容を示す図である。
符号の説明
100 画像処理装置
101 プロセッサエレメント
104 テスト&セットレジスタ
105 PU(処理ユニット)
106、107 APU(付加処理ユニット)
108 共有メモリ
109 プログラムモジュール格納領域
110 ビットストリームデータ格納領域
111 ベクトルデータ格納領域
112 プログラムモジュール格納領域
113 プロセスキュー
114 ライトポインタ
115 リードポインタ
200 画像処理装置
202 ローカルメモリ
203 レジスタ
205 浮動小数点ユニット
207 整数演算ユニット
208 共有メモリ
210 データ格納領域
211 ビデオデータ格納領域
212 プログラムモジール格納領域
213 プロセスキュー
214 ライトポインタ
215 リードポインタ

Claims (11)

  1. 複数のプロセッサと、
    画面を複数に分割したセグメントごとに画像処理手順の進行状況を示す進行状況情報を保持するメモリとを具備し、
    各々の前記プロセッサは、前記メモリに保持された進行状況情報を参照し、あらかじめ決められた基準にしたがって処理すべきセグメントを選択し、選択したセグメントに対して画像処理手順にしたがった画像処理を行う
    ことを特徴とする画像処理装置。
  2. 前記プロセッサは、前記進行状況情報に示される進行状況が最も遅いセグメントを処理すべきセグメントとして選択する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記メモリに保持される前記進行状況情報には、画像処理手順を示す処理手順情報と、各セグメントごとに前記処理手順情報に示される画像処理手順のうちどの処理までが終了しているかを示す進行情報とが含まれている
    ことを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記メモリに保持される前記進行状況情報には、各セグメントごとに当該セグメントに対する処理が行われている最中であるか否かを示す処理状態情報が含まれている
    ことを特徴とする請求項1ないし3のいずれかに記載の画像処理装置。
  5. 前記プロセッサによる前記セグメントに対する画像処理が途中で打ち切られた場合、前記メモリには、当該セグメントについては処理が終了していないことを示す進行状況情報が保持される
    ことを特徴とする請求項1ないし4のいずれかに記載の画像処理装置。
  6. 複数の前記プロセッサが前記メモリに同時にアクセスすること禁止するアクセス制御手段をさらに具備することを特徴とする請求項1ないし5のいずれかに記載の画像処理装置。
  7. 前記メモリには、画像の符号化処理の手順の進行状況を示す進行状況情報が保持されている
    ことを特徴とする請求項1ないし6のいずれかに記載の画像処理装置。
  8. 符号化された符号化画像データを保持する画像メモリをさらに具備し、
    前記メモリには、各セグメントごとの符号化画像データに対する復号化処理の進行状況が前記進行状況情報として保持されており、
    各々の前記プロセッサは、前記メモリに保持される前記進行状況情報に示される復号化処理の進行状況が最も遅いセグメントを選択し、選択したセグメントの符号化画像データを前記画像メモリから読み出して復号する
    ことを特徴とする請求項1ないし6のいずれかに記載の画像処理装置。
  9. 前記セグメントは、1画面をN(2以上の自然数)個に分割したものであり、
    前記プロセッサがM(2以上N未満の自然数)である
    ことを特徴とする請求項1ないし8のいずれかに記載の画像処理装置。
  10. 複数のプロセッサを用いて画像処理を行う方法であって、
    画面を複数に分割したセグメントごとに画像処理手順の進行状況をメモリに保持して管理し、
    各々の前記プロセッサは、前記メモリに保持された進行状況を参照し、あらかじめ決められた基準にしたがって処理すべきセグメントを選択し、選択したセグメントに対して画像処理手順にしたがった画像処理を行う
    ことを特徴とする画像処理方法。
  11. 複数のプロセッサを有するコンピュータに、
    画面を複数に分割したセグメントごとに画像処理手順の進行状況をメモリに保持して管理させる手順、
    各々の前記プロセッサに、前記メモリに保持された進行状況を参照し、あらかじめ決められた基準にしたがって処理すべきセグメントを選択し、選択したセグメントに対して画像処理手順にしたがった画像処理を行わせる手順
    を実行させるためのプログラム。
JP2003427717A 2003-12-24 2003-12-24 画像処理装置、画像処理方法およびプログラム Pending JP2005189975A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003427717A JP2005189975A (ja) 2003-12-24 2003-12-24 画像処理装置、画像処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003427717A JP2005189975A (ja) 2003-12-24 2003-12-24 画像処理装置、画像処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2005189975A true JP2005189975A (ja) 2005-07-14

Family

ID=34786911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003427717A Pending JP2005189975A (ja) 2003-12-24 2003-12-24 画像処理装置、画像処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2005189975A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251865A (ja) * 2006-03-20 2007-09-27 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP2008035029A (ja) * 2006-07-27 2008-02-14 Nippon Telegr & Teleph Corp <Ntt> 映像符号化並列処理方法,映像符号化装置,映像符号化プログラムおよびその記録媒体
WO2008139708A1 (ja) * 2007-04-27 2008-11-20 Panasonic Corporation 画像復号装置、画像復号システム、画像復号方法、及び集積回路
JP2011522325A (ja) * 2008-05-30 2011-07-28 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ローカル及びグローバルのデータ共有
JP2011526009A (ja) * 2008-06-26 2011-09-29 トムソン ライセンシング 動画像処理方法、プログラム、及び装置
US8373711B2 (en) 2006-12-12 2013-02-12 Kabushiki Kaisha Toshiba Image processing apparatus, image processing method, and computer-readable storage medium
CN110741408A (zh) * 2017-09-15 2020-01-31 富士施乐株式会社 图像处理装置、图像处理方法和图像处理程序

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251865A (ja) * 2006-03-20 2007-09-27 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP4647558B2 (ja) * 2006-07-27 2011-03-09 日本電信電話株式会社 映像符号化並列処理方法,映像符号化装置,映像符号化プログラムおよびその記録媒体
JP2008035029A (ja) * 2006-07-27 2008-02-14 Nippon Telegr & Teleph Corp <Ntt> 映像符号化並列処理方法,映像符号化装置,映像符号化プログラムおよびその記録媒体
US8373711B2 (en) 2006-12-12 2013-02-12 Kabushiki Kaisha Toshiba Image processing apparatus, image processing method, and computer-readable storage medium
WO2008139708A1 (ja) * 2007-04-27 2008-11-20 Panasonic Corporation 画像復号装置、画像復号システム、画像復号方法、及び集積回路
JP5324431B2 (ja) * 2007-04-27 2013-10-23 パナソニック株式会社 画像復号装置、画像復号システム、画像復号方法、及び集積回路
US8724708B2 (en) 2007-04-27 2014-05-13 Panasonic Corporation Image decoding device, image decoding system, image decoding method, and integrated circuit
JP2011522325A (ja) * 2008-05-30 2011-07-28 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ローカル及びグローバルのデータ共有
US9619428B2 (en) 2008-05-30 2017-04-11 Advanced Micro Devices, Inc. SIMD processing unit with local data share and access to a global data share of a GPU
US10140123B2 (en) 2008-05-30 2018-11-27 Advanced Micro Devices, Inc. SIMD processing lanes storing input pixel operand data in local register file for thread execution of image processing operations
JP2011526009A (ja) * 2008-06-26 2011-09-29 トムソン ライセンシング 動画像処理方法、プログラム、及び装置
US9258569B2 (en) 2008-06-26 2016-02-09 Gvbb Holdings S.A.R.L. Moving image processing method, program and apparatus including slice switching
CN110741408A (zh) * 2017-09-15 2020-01-31 富士施乐株式会社 图像处理装置、图像处理方法和图像处理程序

Similar Documents

Publication Publication Date Title
KR100502586B1 (ko) 처리효율을높인영상음성처리장치
CN108574806B (zh) 视频播放方法和装置
TWI451355B (zh) 多著色器系統及其處理方法
JP4519082B2 (ja) 情報処理方法、動画サムネイル表示方法、復号化装置、および情報処理装置
KR101552079B1 (ko) 그래픽스 프로세싱 유닛 상의 그래픽스 및 비그래픽스 어플리케이션들의 실행
JP4411310B2 (ja) 情報処理装置およびプログラム
JP4889573B2 (ja) 画像処理装置
US9323571B2 (en) Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor
JP2008054222A (ja) 画像データバッファ装置及び画像転送処理システム
WO2011077550A1 (ja) 画面中継装置
JP2010026219A (ja) 情報処理装置および方法、並びにプログラム
US9460489B2 (en) Image processing apparatus and image processing method for performing pixel alignment
JP2009098822A (ja) データ処理装置及び共有メモリのアクセス方法
JP2005189975A (ja) 画像処理装置、画像処理方法およびプログラム
KR20140004240A (ko) 이미지 검색 방법, 시스템 및 컴퓨터 기록매체
JP4318664B2 (ja) 情報処理装置およびタスク実行方法
JP3589565B2 (ja) 映像音声処理装置
JP2012032456A (ja) 画像処理装置
JP5331432B2 (ja) 画像処理装置および画像処理方法
US7729591B2 (en) Data processing apparatus, reproduction apparatus, data processing system, reproduction method, program, and storage medium
US8694697B1 (en) Rescindable instruction dispatcher
JP5452125B2 (ja) データ処理装置及びデータ処理方法
JP2010087904A (ja) 画像処理装置および画像処理方法
JP2011160077A (ja) 復号装置および方法
JP2005057688A (ja) 画像処理方法、画像処理プログラムおよび画像処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070612