JP2009048469A - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP2009048469A JP2009048469A JP2007214864A JP2007214864A JP2009048469A JP 2009048469 A JP2009048469 A JP 2009048469A JP 2007214864 A JP2007214864 A JP 2007214864A JP 2007214864 A JP2007214864 A JP 2007214864A JP 2009048469 A JP2009048469 A JP 2009048469A
- Authority
- JP
- Japan
- Prior art keywords
- core
- component
- processing
- information processing
- processed
- 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
Links
Images
Abstract
【課題】複数のプロセッサコアの並列処理による処理効率を向上させることのできる情報処理装置及び情報処理方法の提供を目的とする。
【解決手段】複数のプロセッサコアを備えた情報処理装置であって、サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手段を有することにより上記課題を解決する。
【選択図】図6
【解決手段】複数のプロセッサコアを備えた情報処理装置であって、サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手段を有することにより上記課題を解決する。
【選択図】図6
Description
本発明は、情報処理装置及び情報処理方法に関し、特に複数のプロセッサコアを備えた情報処理装置及び情報処理方法に関する。
画像データ等のマルチメディアデータの処理は、負荷が高くなる傾向にあるため、複数のプロセッサによって並列的に処理することで、処理の高速化が図られている。例えば、従来のマルチコアMPEG(Moving Picture Experts Group)デコーダでは、デコード処理を、MPEGデータを構成するスライス単位で各プロセッサに分散させることが行われていた。
なお、スライスのサイズは固定でないため、ビットストリーム中における各スライスの位置は、演算によって求めることはできない。したがって、各プロセッサに割り当てられたスライスの検索は、ビットストームを走査し、スライスの開始を示すビット列であるスタートコードを検出することにより行われていた。
特開平10−91594号公報
IEEE JOURNAL OF SOLID−STATE CIRCUITS,Vol.36,No11,2001年11月,P1768−1774
しかしながら、スタートコードの検索(スライスの検索)は、シングルプロセッサによる処理では必要とされなかった処理である。ビットストリーム中において、各スライスは連続的に配列されているため、シングルプロセッサの場合、その配列順に各スライスを処理すればよかったからである。
一方、スライスの検索処理はビットストリームの走査を要し、必ずしも負荷の軽い処理ではない。したがって、マルチプロセッサによって各スライスを並列的に処理する場合、スライスの検索処理によるオーバーヘッドが並列処理による処理効率の向上に対する阻害要因となっていた。
本発明は、上記の点に鑑みてなされたものであって、複数のプロセッサコアの並列処理による処理効率を向上させることのできる情報処理装置及び情報処理方法の提供を目的とする。
そこで上記課題を解決するため、本発明は、複数のプロセッサコアを備えた情報処理装置であって、サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手段を有することを特徴とする。
このような情報処理装置では、複数のプロセッサコアの並列処理による処理効率を向上させることができる。
本発明によれば、複数のプロセッサコアの並列処理による処理効率を向上させることのできる情報処理装置及び情報処理方法を提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、MPEG(Moving Picture Experts Group)形式のデータのピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)のデコード処理について、複数のプロセッサコアを用いて並列的に行う場合を例として説明する。なお、MPEGデータは、その構成要素が以下のような階層構造を有する。
図1は、MPEGデータの構造を示す図である。図1において、シーケンスは、一つのMPEGデータの符号化信号を示す。一つのMPEGデータは、一つ以上のGOP(Group of Picture)より構成される。一つのGOPは、一つ以上のピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)より構成される。一つのピクチャは、動画像信号を構成する一枚一枚の各画面に相当し、一つ以上のスライスより構成される。本実施の形態では、スライス単位で、複数のプロセッサコアに処理を分散させる例について説明する(すなわち、スライスが第一の構成要素に相当する)。なお、各スライスのサイズは固定されておらず(可変であり)、各スライスの先頭には、その開始を示すビット列(スタートコード)が含まれている。
図2及び図3は、本実施の形態の基本的な考え方を説明するための図である。図2では、スライスの割り当て方法によって、二つのプロセッサコア(コアA、コアB)の処理手順がどのように変化するかが示されている。
図2において、ビットストリームbsは、一つのピクチャのビットストリームを表現する。ビットストリームbsは、スライスsl1〜sl4によって構成されている。各スライスは、それぞれの開始位置を示すスタートコードsc1〜sc4を有している。
図中(A)は、二つのプロセッサコアに割り当てられたスライスが連続していない場合の各プロセッサコアの処理手順を示す。また、(B)は、二つのプロセッサコアに割り当てられたスライスが連続している場合の各コアの処理手順を示す。ここで「連続」とは、ピクチャ内におけるスライスの配列順における関係をいう。点線の矢印an(nは整数)は、本来のデータ処理(デコード処理)を示し、破線の矢印bn(nは整数)は、処理対象とするスライスのスタートコードの検索処理を示す。
(A)では、コアAにはスライスsl1及びsl3が割り当てられ、コアBにはスライスsl2及びsl4が割り当てられた例(すなわち、スライスが交互に割り当てられた例)が示されている。この場合、コアAは、スライスsl1の処理(a1)を行った後、スライスsl3のスタートコードsc3を検索するために、スライスsl2の領域を走査する(b1)。スタートコードsc3が検出されると、スライスsl3の処理(a2)を行う。
コアBは、スライスsl2のスタートコードsc2を検索するためにスライスsl1の領域を走査し(b3)、スタートコードsc2が検出されるとスライスsl2の処理(a3)を行う。続いて、スライスsl4を検索するためにスライスsl3の領域を走査し、スタートコードsc4が検出されると、スライスsl4の処理(a4)を行う。
一方(B)では、コアAにはスライスsl1及びsl2が割り当てられ、コアBにはスライスsl3及びsl4が割り当てられた例が示されている。この場合、コアAは、スライスsl1の処理(a1)が完了した時点で、スライスsl2の先頭ビットを参照しているため、スタートコードを検索することなく、続けてスライスsl2の処理(a2)を行うことができる。
コアBは、スライスsl3を検索するためにスライスsl1及びsl2の領域を走査し(b1)、スタートコードsc3が検出されると、スライスsl3の処理(a3)を行う。スライスsl3とsl4とは連続しているため、コアBは、スライスsl1の処理を行った後、続けてスライスsl4の処理(a4)を行うことができる。
(A)と(B)とを比較して明らかなように、少なくともコアAに関しては、矢印b1によって示される検索処理の時間だけ処理時間が短縮される。また、コアBに関しても、検索処理が一回になる。この一回の検索処理において走査されるデータ量は、二つのスライス分であり、その点については(A)と同じであるが、その後、二つのスライスsl3及びsl4を連続的に処理可能な分、多少の処理時間の短縮が見込まれる。
そこで、本実施の形態では、各プロセッサコアへの割り当てを図3に示されるように行う。すなわち、図3(A)に示されるように、ピクチャp内の各スライスを不規則に割り当てるのではなく、(B)に示されるように、各プロセッサコアに連続したスライスが割り当てられるようにする。なお、図中では、各スライスの背景の異同によって、割り当てられるプロセッサコアの異同を表現している。
以下、より具体的に説明する。図4は、本発明の実施の形態における画像処理装置のハードウェア構成例を示す図である。図4の画像処理装置10は、それぞれバスBで相互に接続されている補助記憶装置101と、メモリ装置102と、二つのコア(プロセッサコア)103(コア103a、コア103b)とを有するように構成される。
画像処理装置10での処理を実現するプログラムは、補助記憶装置101に記録されている。補助記憶装置101は、プログラムを格納すると共に、必要なファイルやデータ(例えば、処理対象となるMPEGデータ)等を格納する。なお、図中では、プログラムAとプログラムBとが補助記憶装置101に格納されている様子が示されている。プログラムAは、各コア103に割り当てるデータ量を判定する機能とデコード機能とが実施されたプログラムである。プログラムBは、デコード機能が実装されたプログラムである。
メモリ装置102は、プログラムの起動指示があった場合に、補助記憶装置101からプログラムを読み出して格納する。コア103は、メモリ装置102に格納されたプログラムに従って画像処理装置10に係る機能を実行する。また、本実施の形態において、メモリ装置102は、二つのコア103の双方から参照可能な共有メモリとしても用いられる。
なお、コア103は、三つ以上備えられていてもよい。また、各コア103は、マルチコアプロセッサとして一つのパッケージに集積されていてもよい。
図5は、第一の実施の形態の概要を説明するための図である。図5において、p1は、シーケンス内の配列順において最初のピクチャの画面イメージを示す。ピクチャp1を構成するスライスは、sl1〜sl14によって示されている。
第一の実施の形態では、ピクチャp1に含まれるスライスの各コア103への割り当て分は、基本的にライン単位で等分されたものとなる。ライン単位で等分されるのは、便宜的なものであり、スライスがラインを跨らない(すなわち、スライス長の上限は画面の幅である。)という前提に基づく。したがって、当該前提が成り立たない構造を有するデータについては、スライスに相当する構成要素単位で等分すればよい。
したがって、図5において、コア103aに対して割り当てられるライン数Nは、ピクチャp1のライン数をLとすると、L/2となる。また、コア103bに対して割り当てられるライン数Mは、L/2となる。なお、ライン数Lが奇数の場合は、例えば、M=L−Nとすればよい。
2番目以降のピクチャ内のスライスの割り当てに関しては、直前のピクチャに関する処理状況に基づいて決定(判定)される。具体的には、直前のピクチャに関して先に処理が完了した方のコア103に割り当てられるライン数を1増やし、他方のコア103に割り当てられるライン数を1減らす。これによって、各コア103に対する負荷が均一化される。
なお、上記のように、各コア103に対する割り当て分は、ピクチャごとに判定される。すなわち、本実施の形態では、ピクチャが第二の構成要素に相当する。
以下、画像処理装置10の処理手順について説明する。図6は、第一の実施の形態における画像処理装置の処理手順を説明するためのフローチャートである。図6において、左側のフローチャートは、コア103aが第一の実施の形態のプログラムAに基づいて実行する処理を示す。右側のフローチャートは、コア103bが第一の実施の形態のプログラムBに基づいて実行する処理を示す。なお、当該フローチャートの処理の前において、補助記憶装置101に保存されているMPEGデータは、共有メモリ上に展開されている。
まず、コア103aによって実行される処理について説明する。
ステップS101において、処理対象のピクチャ(以下、「カレントピクチャ」という。)は、シーケンス内の配列順において最初のピクチャであるか否かを判定する。最初のピクチャである場合(S101でYes)、各コア103に割り当てるデータ量(ライン数)を算出する(S102)。ここでは、カレントピクチャのライン数Lをコア103の数で等分することによって割り当てるライン数を算出する。
続いて、各コア103に割り当てたライン数を共有メモリに記録する(S103)。続いて、割り当てたライン数分の連続するラインを各コア103に順番に割り当て、それぞれに割り当てられた先頭の位置(ライン番号)を共有メモリに記録する(S104)。
続いて、他のコア103(コア103b)に、プログラムBを起動させる(S105)。
続いて、コア103aに対して割り当てられたライン数及びライン番号を共有メモリより読み出し、割り当てられたラインにおける先頭のスライスのスタートコードを、カレントピクチャのビットストリームを走査することにより検索する(S106)。当該スタートコードが検出されると、スタートコードが検出された位置より割り当てられた分のライン数分のスライスについてデコードを行う(S107、S108)。割り当て分の全てのスライスについて処理が完了した時点において(S108でYes)、コア103bから処理の完了通知を受信していない場合は、当該通知を待ち合わせる(S109)。したがって、既に(デコード処理中等に)、当該通知を受信している場合は、待ち合わせは行わない。
続いて(コア103bからの完了通知を待ち合わせていた場合は、当該通知を受信すると)、コア103aとコア103bとのいずれの処理が先に完了したかを共有メモリに記録する(S110)。
なお、処理対象のピクチャが最初のピクチャでない場合は(S101でNo)、最初のピクチャの場合とデータ量の割り当て処理が異なる。すなわち、直前に処理されたピクチャの処理において、いずれのコア103の処理が先に完了したかを共有メモリより取得し、先に処理が完了したコア103の割り当て分を例えば、1ライン分増加させ、その増加分だけ他方のコア103の割り当て分を減少させる(S111)。
一方、コア103bは、コア103aの命令に応じてプログラムBを起動させると、コア103bに割り当てられたラインについて、上述したステップS106〜S108と同様の処理をコア103aと並行して実行する(S151〜S153)。処理が完了すると、完了通知をコア103aに送信する(S154)。
上述したように、第一の実施の形態における画像処理装置10によれば、連続したスライスを各コア103に割り当てるため、スタートコードの検索処理によるオーバーヘッドを低減させることができる。したがって、処理効率を向上させることができる。また、連続したスライスを扱うことで、キャッシュのヒット率の向上が見込まれ、斯かる観点からも処理性能の向上が期待できる。
また、前に処理されたピクチャの処理状況に応じて次に処理されるピクチャに関する割り当て分を決定するため、各コア103の間で負荷の均一化を図ることができる。
次に、第二の実施の形態について説明する。図7は、第二の実施の形態の概要を説明するための図である。図7中、図5と同一部分には同一符号を付している。
第二の実施の形態においても、最初のピクチャp1に含まれるスライスの各コア103への割り当ては、ライン単位で等分される。但し、割り当て分の処理が先に終わったコア103は、未処理ライン(スライス)が存在する場合は、当該ラインの処理を行う。図7では、当初、最終ライン(スライスsl14に係るライン)は、コア103bに割り当てられていたが、コア103aの処理が先に完了したため、コア103aによって処理された様子が示されている。これによって、各コア103に対する負荷が均一化される。
2番目以降のピクチャ内のスライスの割り当てに関しては、直前のピクチャに関する処理状況に基づいて決定(判定)される。具体的には、各コア103が直前のピクチャにおいて処理したライン数が割り当てられる。但し、2番目以降のピクチャについても、最初のピクチャと同様の方式で各コア103への割り当てを行うようにしてもよい。
以下、画像処理装置10の処理手順について説明する。図8は、第二の実施の形態における画像処理装置の処理手順を説明するためのフローチャートである。図8において、左側のフローチャートは、コア103aが第二の実施の形態のプログラムAに基づいて実行する処理を示す。右側のフローチャートは、コア103bが第二の実施の形態のプログラムBに基づいて実行する処理を示す。
まず、コア103aによって実行される処理について説明する。
ステップS201において、処理対象のピクチャ(カレントピクチャ)は、シーケンス内の配列順において最初のピクチャであるか否かを判定する。最初のピクチャである場合(S201でYes)、各コア103に割り当てるデータ量(ライン数)を算出する(S202)。ここでは、カレントピクチャのライン数Lをコア103の数で等分することによって割り当てるライン数を算出する。続いて、割り当てたライン数分の連続するラインを各コア103に順番に割り当て、それぞれに割り当てられたライン数及び先頭の位置(ライン番号)を共有メモリに記録する(S203)。
続いて、処理状況管理テーブルを初期化する(S204)。図9は、処理状況管理テーブルの構成例を示す図である。図9において、処理状況管理テーブル200は、一つのピクチャに関する各コア103による処理状況を管理するためのテーブルである。したがって、カレントピクチャが変わるたびに、ステップS204において初期化される。
処理状況管理テーブル200は、カレントピクチャのラインごとに、ライン番号、処理済みフラグ、コア番号、検索済フラグ、及び先頭アドレス等の項目を有する。ライン番号は、ラインの位置を示す番号である。処理済みフラグは、当該ラインのスライスのデコード処理が開始されたときに、その旨が記録される項目である。コア番号は、当該ラインのデコード処理を実際に担当したコア103の識別情報が記録される項目である。検索済フラグは、当該ラインの先頭のスライスのスタートコードの検出されたときに、その旨が記録される項目である。先頭アドレスは、当該ラインの先頭のスライスの開始位置(ビット位置)が記録される項目である。
続いて、他のコア103(コア103b)に、プログラムBを起動させる(S205)。
続いて、コア103aに割り当てられたラインのうちの先頭のライン(以下、「先頭ライン」という。)における先頭のスライスのスタートコードを、カレントピクチャのビットストリームを走査することにより検索する(S206)。この際、走査の対象となったラインに関しては、当該ラインの先頭のスライスのスタートコードの検出に基づいて、検索済フラグと先頭アドレスとを処理状況管理テーブル200に記録する(S207)。続いて、検出されたスタートコードが、先頭ラインの先頭のスライスに係るものであるか否かを判定する(S208)。先頭ラインの先頭スライスのスタートコードでない場合(S208でNo)、ステップS206以降を繰り返す。先頭ラインの先頭スライスのスタートコードである場合、先頭ラインに関して、処理済みフラグとコア103aのコア番号とを処理状況管理テーブル200に記録する(S209)。
続いて、先頭ラインに含まれる全てのスライスについて、連続的にデコード処理を実行する(S210)。続いて、処理状況管理テーブル200より、各ラインの処理済みフラグを読み出し、全てのラインが処理済みとされているか否かを判定する(S212)。処理済みでない(処理が開始されていない)ラインがある場合(S212でNo)、現在処理したラインの次のライン(スライス)が処理済みか否かを、処理済みフラグに基づいて判定する(S213)。処理済みでない場合(S213でNo)、次のラインを処理対象としてステップS209以降を実行する。この際、ステップS209において、処理対象のラインについて先頭アドレス及び検索済フラグも処理状況テーブル200に登録する。
一方、次のラインが処理済みである場合(S213でYes)、処理済みフラグに基づいて未処理のライン(以下「未処理ライン」という。)を判定し、未処理ラインの先頭スライスの開始位置の手前まで処理位置を移動させる(S214)。処理位置の移動は、未処理ラインに関して先頭アドレスが処理状況管理テーブル200に記録されている場合は、当該先頭アドレスに基づいて直接的に行えばよい。先頭アドレスが記録されていない場合は、前方向において先頭アドレスが記録されているラインのうち最も近いラインの先頭アドレスに基づいて走査を開始し、当該先頭スライスの開始位置の手前まで処理位置を移動させればよい。
続いて、移動した位置より、未処理ラインの先頭スライスのスタートコードを検索する(S215)。スタートコードが検出されると、当該未処理ラインについて、検索済フラグと先頭アドレスとを処理状況テーブル200に記録し(S216)、ステップS209以降の処理を実行する。
全てのラインに関して処理済みフラグが記録されると(S212でYes)、コア103bからの処理の完了通知を待ち合わせる(S217)。当該通知を受信すると、処理対象のピクチャに関する処理を終了させる。
なお、処理対象のピクチャが最初のピクチャでない場合は(S201でNo)、最初のピクチャの場合とデータ量の割り当て処理が異なる。すなわち、処理状況管理テーブル200のコア番号を参照し、各コア103が処理したライン数を算出する(S218)。各コア103が処理したライン数を、それぞれのコア103に割り当てるライン数とする。
一方、コア103bは、コア103aの命令に応じてプログラムBを起動させると、上述したステップS206〜S216と同様の処理をコア103aと並行して実行する(S251〜S261)。処理が完了すると、完了通知をコア103aに送信する(S262)。
なお、上記では、各ラインの先頭のスライスの位置のみを処理状況テーブル200に記録するように説明したが、デコード処理や目的とするスタートコード検索処理の過程において検出された各スライスの開始位置を記録するようにしてもよい。そうすることにより、ステップS214やS260において、より細かい位置制御を行うことができる。
図8の処理によって、ピクチャ内のスライスがどのように処理されかについてその一例を図を用いて説明する。図10は、第二の実施の形態による二つのコアの処理の一例を示す図である。図中において、横軸は、時間の経過を示す。縦軸は、処理を実行するコアの別を示す。なお、図中では、コア103a、コア103bをそれぞれ、コアA、コアBとして示している。また、実線の矢印は、デコード処理を示し、点線の矢印は、スタートコードの検索処理を示す。
時間t0〜t7までの期間(以下、「t0−t7」と表記する。)は、最初のピクチャp1の処理に該当する。図10においてピクチャp1は、8ラインによって構成される。なお、以下の説明では、図8において対応するステップ番号を()内に記載する。
まず、t0−t1において、コアAは、ピクチャp1のスライスについて、コアAとコアBに対する割り当てを決定する(S202)。ここでは、2等分される。したがって、連続した4ラインずつがそれぞれのコアに割り当てられる。その結果、コアAの割り当て分の先頭のスライスはスライスsl1となり、コアBの割り当て分の先頭のスライスはスライスsl7となる。
コアAは、t1−t6において2ラインのスライスのデコード処理を連続的に実行する(S209〜S213)。この際、処理対象とされた各ラインについて、処理済みフラグ、コア番号、検索済フラグ、及び先頭アドレスが処理状況テーブル200に登録される。
一方、コアBは、t1−t2においてスライスsl7のスタートコードを検索する(S251)。この際、走査対象とされた各ラインについて、検索済フラグ及び先頭アドレスが処理状況テーブル200に登録される(S252)。スタートコードが検出されると、t2−t4において、割り当てられた4ラインのスライスのデコード処理を実行する(S254〜S258)。コアBは、割り当て分の処理が完了すると、未処理のスライスまで移動する(S259)。この時点で未処理のライン(スライス)は、第3ライン(スライスsl5)である。そこで、コアBは、t4−t5において、スライスsl5のスタートコードを検索する(S260)。なお、ここでは、デコード処理又はスタートコードの検索処理の過程において検出された各スタートコードの位置(スライスの開始位置)が記録されていることとする。したがって、コアBは、t1−t2の検索処理の際に記録されているスライスsl4の開始位置よりスライスsl5のスタートコードの検索を開始する。続いて、コアBは、t5−t7において、コアAの割り当て分である第3ラインのデコード処理を実行する(S255)。
コアAは、t5において第3ラインの処理が既に開始されたことを処理済みフラグによって検知すると(S213でYes)、未処理のスライスの位置まで移動する(S214)。この時点で未処理のライン(スライス)は、第4ライン(スライスsl6)である。そこで、コアAは、t5−t7において、t1−t2におけるコアBによる検索処理の際に処理状況管理テーブル200に記録されているスライスsl6の開始位置に基づいて、スライスsl6まで直接的に処理位置を移動させ、スライスsl6についてデコード処理を実行する。
以上の結果、ピクチャp1については、コアAは3ライン、コアBは5ライン処理したことになる。したがって、次のピクチャp2については、コアAには1〜3ラインまでが割り当てられ、コアBには4〜8ラインまでが割り当てられる(S216)。
上述したように、第二の実施の形態における画像処理装置10によれば、連続したスライスを各コア103に割り当てるため、スタートコードの検索処理によるオーバーヘッドを低減させることができる。したがって、処理効率を向上させることができる。
また、処理が早く完了したコア103には、他のコア103の割り当て分を処理させるといったように、一つのピクチャ内において割り当て分の動的な変更を行う。したがって、第一の実施の形態に比べて、処理負荷が均等に割り当てられるまでの収束が早くなる可能性が高い。
更に、スタートコードの検索処理やデコード処理の過程において検出されたスライスの開始位置を記録しておくため、他のコア103の割り当て分を実行する際に、その開始位置を正確に知ることができ、スタートコードの検索処理を省略することができる。
次に、第三の実施の形態について説明する。図11は、第三の実施の形態の概要を説明するための図である。図11中、図7と同一部分には同一符号を付している。
第三の実施の形態では、最初のピクチャp1に含まれるスライスの各コア103への割り当ては、プロセッサの性能に基づいて行われる。先に割り当て分の処理が終わったコア103が、処理が開始されていないラインの処理を行う点は第二の実施の形態と同様である。
2番目以降のピクチャ内のスライスの割り当てに関しては、直前だけでなく前に(過去に)処理された一つ以上のピクチャに関する処理状況に基づいて決定(判定)される。より詳しくは、過去に処理されたピクチャのうち、処理対象のピクチャと同じ画像種別(Iピクチャ、Bピクチャ、Pピクチャの別に基づく種別)のピクチャに関する処理状況に基づいて決定される。過去に同じ種別のピクチャが複数処理されている場合は、時間距離(すなわち、処理対象とされているピクチャとの時間的な近さ)に応じて重み付け平均を算出する。重み付けは、時間距離が近いもの程大きくする。
また、第三の実施の形態では、過去に処理されたピクチャに関する情報に基づいて、処理対象のピクチャにおける割り当て分の開始位置を推定する。この点は、図中において矢印によって表現されている。開始位置の推定についても、処理対象のピクチャと同じ種別のピクチャの情報を用いる。同じ種類のピクチャが複数存在する場合は、時間距離に応じて重み付け平均を算出する。
なお、割り当て分の決定や、開始位置の推定に際し、ピクチャの種別に応じて判断するのは、ピクチャの種別が同じであれば情報量(ビットレート)が近い可能性が高いからである。すなわち、本実施の形態において、過去に処理されたピクチャの中で同じ種別のピクチャは、処理対象のピクチャとの情報量の近さに基づいて選択されるピクチャに相当する。
以下、画像処理装置10の処理手順について説明する。図12は、第三の実施の形態における画像処理装置の処理手順を説明するためのフローチャートである。図12において、左側のフローチャートは、コア103aが第三の実施の形態のプログラムAに基づいて実行する処理を示す。右側のフローチャートは、コア103bが第三の実施の形態のプログラムBに基づいて実行する処理を示す。
まず、コア103aによって実行される処理について説明する。
ステップS301において、処理対象のピクチャ(カレントピクチャ)は、シーケンス内の配列順において最初のピクチャであるか否かを判定する。最初のピクチャである場合(S301でYes)、各コア103に割り当てるデータ量(ライン数)を算出し、共有メモリに記録する。コア103aとコア103bとの性能比(例えば、クロック数の比率)に比例させて割り当てるライン数を算出する。続いて、割り当てたライン数分の連続するラインを各コア103に順番に割り当て、それぞれに割り当てられたライン数及び先頭の位置(ライン番号)を共有メモリに記録する(S303)。
続いて、他のコア103(コア103b)に、プログラムBを起動させる(S304)。
続いて、割り当てられたライン(スライス)の先頭の開始位置を、カレントピクチャと同じ種別のピクチャであって、同じシーケンスの処理において過去に処理されたピクチャに対する処理状況管理テーブル200に基づいて推定する(S305)。すなわち、第三の実施の形態では、一つの処理状況管理テーブル200が使い回されるのではなく、ピクチャごとに作成され、少なくとも一つのシーケンス(MPEGデータ)に対する処理が完了するまで保持される。
具体的には、該当する処理状況管理テーブル200の中から、カレントピクチャに関して割り当てられたライン番号の先頭アドレスを取得し、その値を推定位置とする。該当する処理状況管理テーブル200が複数存在する場合は、各処理状況管理テーブル200より、割り当てられたライン番号の先頭アドレスを取得し、その値に対して時間距離に基づいて重み付けを行い、その平均値を推定位置とする。なお、該当する処理状況管理テーブル200が無い場合は、カレントピクチャの先頭を推定位置とすればよい。
続いて、推定位置の前後を走査することにより、コア103aに割り当てられたラインのうちの先頭のライン(先頭ライン)における先頭のスライスのスタートコードを検索する(S306)。
以降、ステップS307〜S317は、図8におけるステップS207〜S217と同様であるため、ここでの説明は省略する。
なお、処理対象のピクチャが最初のピクチャでない場合は(S301でNo)、カレントピクチャと同じ種別のピクチャであって、同じシーケンスの処理において過去に処理されたピクチャに対する処理状況管理テーブル200に基づいて、各コア103に割り当てるライン数を算出する(S318)。
具体的には、該当する処理状況管理テーブル200のコア番号を参照し、各コア103が処理したライン数(又はライン数の比率)を算出する。各コア103が処理したライン数(又はライン数の比率)を、それぞれのコア103に割り当てるライン数(又はライン数の比率)とする。該当する処理状況管理テーブル200が複数存在する場合は、各処理状況管理テーブル200より算出されるコア103ごとのライン数(又はライン数の比率)に対して時間距離に基づいて重み付けを行い、その平均値を各コア103に割り当てるライン数(又はライン数の比率)とする。
一方、コア103bは、コア103aの命令に応じてプログラムBを起動させると、上述したステップS305〜S316と同様の処理をコア103aと並行して実行する(S351〜S362)。処理が完了すると、完了通知をコア103aに送信する(S363)。
上述したように、第三の実施の形態における画像処理装置10によれば、連続したスライスを各コア103に割り当てるため、スタートコードの検索処理によるオーバーヘッドを低減させることができる。したがって、処理効率を向上させることができる。
また、処理対象のピクチャにおいて割り当てるライン数は、当該ピクチャと種別が同じピクチャの実績値に基づいて判定されるため、より適切な値を算出することができる。
また、過去の実績に基づいて、割り当てられたラインの先頭位置を推定するため、スタートコードの検索処理によるオーバーヘッドをより低減させることができる。
なお、上記各実施の形態では、MPEGデータの処理について説明したが、本発明の適用範囲はMPEGデータだけに限られない。それぞれ開始位置を示すビット列を含む複数の構成要素によって構成されるデータであれば、有効に適用することができる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
複数のプロセッサコアを備えた情報処理装置であって、
サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手段を有することを特徴とする情報処理装置。
(付記2)
各プロセッサコアは、割り当てられた連続する前記第一の構成要素のうち、先頭の第一の構成要素についてのみ前記ビット列を前記データの中から検索することを特徴とする付記1記載の情報処理装置。
(付記3)
各プロセッサコアは、前記第一の構成要素の処理の開始時に当該第一の構成要素の処理が開始されたことが識別可能な情報を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、前記情報が記録されていない未処理の第一の構成要素の処理を行うことを特徴とする付記1又は2記載の情報処理装置。
(付記4)
各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、記録されている前記開始位置に基づいて、前記未処理の第一の構成要素の前記ビット列の検索を行うことを特徴とする付記3記載の情報処理装置。
(付記5)
前記データは、一つ以上の前記第一の構成要素によって構成される第二の構成要素を複数含み、
前記割り当て手段は、前記第二の構成要素ごとに、当該第二の構成要素に含まれる前記第一の構成要素について複数のプロセッサコアへの割り当てを行い、前に処理された前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを決定することを特徴とする付記1乃至4いずれか一項記載の情報処理装置。
(付記6)
前記割り当て手段は、直前に処理された前記第二の構成要素に関して処理が早く完了したプロセッサコアに対して、次の前記第二の構成要素に関する割り当てを増加させることを特徴とする付記5記載の情報処理装置。
(付記7)
前記割り当て手段は、直前に処理された前記第二の構成要素について各プロセッサコアが処理した分と同じ分を次の前記第二の構成要素に関して各プロセッサコアに割り当てることを特徴とする付記3又は4及び5記載の情報処理装置。
(付記8)
前記割り当て手段は、前に処理された複数の前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記5記載の情報処理装置。
(付記9)
前記割り当て手段は、前に処理された前記第二の構成要素の中から次に処理される前記第二の構成要素との情報量の近さに基づいて選択される第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記5又は8記載の情報処理装置。
(付記10)
前記割り当て手段は、前に処理された前記第二の構成要素の中から次に処理される前記第二の構成要素との情報量の近さに基づいて選択される複数の第二の構成要素に関する各プロセッサコアの処理の状況について時間距離に応じた重み付け平均を算出し、該算出結果に基づいて次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記9記載の情報処理装置。
(付記11)
各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、前に処理された前記第二の構成要素に関して記録された前記第一の構成要素の開始位置に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記5記載の情報処理装置。
(付記12)
各プロセッサコアは、前に処理された前記第二の構成要素の中から次に処理する前記第二の構成要素との情報量の近さに基づいて選択される前記第二の構成要素に関して記録された前記第一の構成要素の開始位置に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記11記載の情報処理装置。
(付記13)
各プロセッサコアは、前に処理された前記第二の構成要素の中から次に処理する前記第二の構成要素との情報量の近さに基づいて選択される複数の前記第二の構成要素に関して記録された前記第一の構成要素の開始位置について時間距離に応じた重み付け平均を算出し、該算出結果に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記12記載の情報処理装置。
(付記14)
複数のプロセッサコアを備えた情報処理装置が実行する情報処理方法であって、
サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手順を有することを特徴とする情報処理方法。
(付記15)
各プロセッサコアは、割り当てられた連続する前記第一の構成要素のうち、先頭の第一の構成要素についてのみ前記ビット列を前記データの中から検索することを特徴とする付記14記載の情報処理方法。
(付記16)
各プロセッサコアは、前記第一の構成要素の処理の開始時に当該第一の構成要素の処理が開始されたことが識別可能な情報を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、前記情報が記録されていない未処理の第一の構成要素の処理を行うことを特徴とする付記14又は15記載の情報処理方法。
(付記17)
各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、記録されている前記開始位置に基づいて、前記未処理の第一の構成要素の前記ビット列の検索を行うことを特徴とする付記16記載の情報処理方法。
(付記18)
前記データは、一つ以上の前記第一の構成要素によって構成される第二の構成要素を複数含み、
前記割り当て手順は、前記第二の構成要素ごとに、当該第二の構成要素に含まれる前記第一の構成要素について複数のプロセッサコアへの割り当てを行い、前に処理された前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを決定することを特徴とする付記14乃至17いずれか一項記載の情報処理方法。
(付記19)
前記割り当て手順は、直前に処理された前記第二の構成要素に関して処理が早く完了したプロセッサコアに対して、次の前記第二の構成要素に関する割り当てを増加させることを特徴とする付記18記載の情報処理方法。
(付記20)
前記割り当て手順は、直前に処理された前記第二の構成要素について各プロセッサコアが処理した分と同じ分を次の前記第二の構成要素に関して各プロセッサコアに割り当てることを特徴とする付記16又は17及び18記載の情報処理方法。
(付記21)
前記割り当て手順は、前に処理された複数の前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記18記載の情報処理方法。
(付記22)
前記割り当て手順は、前に処理された前記第二の構成要素の中から次に処理される前記第二の構成要素との情報量の近さに基づいて選択される第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記18又は21記載の情報処理方法。
(付記23)
前記割り当て手順は、前に処理された前記第二の構成要素の中から次に処理される前記第二の構成要素との情報量の近さに基づいて選択される複数の第二の構成要素に関する各プロセッサコアの処理の状況について時間距離に応じた重み付け平均を算出し、該算出結果に基づいて次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記22記載の情報処理方法。
(付記24)
各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、前に処理された前記第二の構成要素に関して記録された前記第一の構成要素の開始位置に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記18記載の情報処理方法。
(付記25)
各プロセッサコアは、前に処理された前記第二の構成要素の中から次に処理する前記第二の構成要素との情報量の近さに基づいて選択される前記第二の構成要素に関して記録された前記第一の構成要素の開始位置に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記24記載の情報処理方法。
(付記26)
各プロセッサコアは、前に処理された前記第二の構成要素の中から次に処理する前記第二の構成要素との情報量の近さに基づいて選択される複数の前記第二の構成要素に関して記録された前記第一の構成要素の開始位置について時間距離に応じた重み付け平均を算出し、該算出結果に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記25記載の情報処理方法。
(付記1)
複数のプロセッサコアを備えた情報処理装置であって、
サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手段を有することを特徴とする情報処理装置。
(付記2)
各プロセッサコアは、割り当てられた連続する前記第一の構成要素のうち、先頭の第一の構成要素についてのみ前記ビット列を前記データの中から検索することを特徴とする付記1記載の情報処理装置。
(付記3)
各プロセッサコアは、前記第一の構成要素の処理の開始時に当該第一の構成要素の処理が開始されたことが識別可能な情報を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、前記情報が記録されていない未処理の第一の構成要素の処理を行うことを特徴とする付記1又は2記載の情報処理装置。
(付記4)
各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、記録されている前記開始位置に基づいて、前記未処理の第一の構成要素の前記ビット列の検索を行うことを特徴とする付記3記載の情報処理装置。
(付記5)
前記データは、一つ以上の前記第一の構成要素によって構成される第二の構成要素を複数含み、
前記割り当て手段は、前記第二の構成要素ごとに、当該第二の構成要素に含まれる前記第一の構成要素について複数のプロセッサコアへの割り当てを行い、前に処理された前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを決定することを特徴とする付記1乃至4いずれか一項記載の情報処理装置。
(付記6)
前記割り当て手段は、直前に処理された前記第二の構成要素に関して処理が早く完了したプロセッサコアに対して、次の前記第二の構成要素に関する割り当てを増加させることを特徴とする付記5記載の情報処理装置。
(付記7)
前記割り当て手段は、直前に処理された前記第二の構成要素について各プロセッサコアが処理した分と同じ分を次の前記第二の構成要素に関して各プロセッサコアに割り当てることを特徴とする付記3又は4及び5記載の情報処理装置。
(付記8)
前記割り当て手段は、前に処理された複数の前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記5記載の情報処理装置。
(付記9)
前記割り当て手段は、前に処理された前記第二の構成要素の中から次に処理される前記第二の構成要素との情報量の近さに基づいて選択される第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記5又は8記載の情報処理装置。
(付記10)
前記割り当て手段は、前に処理された前記第二の構成要素の中から次に処理される前記第二の構成要素との情報量の近さに基づいて選択される複数の第二の構成要素に関する各プロセッサコアの処理の状況について時間距離に応じた重み付け平均を算出し、該算出結果に基づいて次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記9記載の情報処理装置。
(付記11)
各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、前に処理された前記第二の構成要素に関して記録された前記第一の構成要素の開始位置に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記5記載の情報処理装置。
(付記12)
各プロセッサコアは、前に処理された前記第二の構成要素の中から次に処理する前記第二の構成要素との情報量の近さに基づいて選択される前記第二の構成要素に関して記録された前記第一の構成要素の開始位置に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記11記載の情報処理装置。
(付記13)
各プロセッサコアは、前に処理された前記第二の構成要素の中から次に処理する前記第二の構成要素との情報量の近さに基づいて選択される複数の前記第二の構成要素に関して記録された前記第一の構成要素の開始位置について時間距離に応じた重み付け平均を算出し、該算出結果に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記12記載の情報処理装置。
(付記14)
複数のプロセッサコアを備えた情報処理装置が実行する情報処理方法であって、
サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手順を有することを特徴とする情報処理方法。
(付記15)
各プロセッサコアは、割り当てられた連続する前記第一の構成要素のうち、先頭の第一の構成要素についてのみ前記ビット列を前記データの中から検索することを特徴とする付記14記載の情報処理方法。
(付記16)
各プロセッサコアは、前記第一の構成要素の処理の開始時に当該第一の構成要素の処理が開始されたことが識別可能な情報を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、前記情報が記録されていない未処理の第一の構成要素の処理を行うことを特徴とする付記14又は15記載の情報処理方法。
(付記17)
各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、記録されている前記開始位置に基づいて、前記未処理の第一の構成要素の前記ビット列の検索を行うことを特徴とする付記16記載の情報処理方法。
(付記18)
前記データは、一つ以上の前記第一の構成要素によって構成される第二の構成要素を複数含み、
前記割り当て手順は、前記第二の構成要素ごとに、当該第二の構成要素に含まれる前記第一の構成要素について複数のプロセッサコアへの割り当てを行い、前に処理された前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを決定することを特徴とする付記14乃至17いずれか一項記載の情報処理方法。
(付記19)
前記割り当て手順は、直前に処理された前記第二の構成要素に関して処理が早く完了したプロセッサコアに対して、次の前記第二の構成要素に関する割り当てを増加させることを特徴とする付記18記載の情報処理方法。
(付記20)
前記割り当て手順は、直前に処理された前記第二の構成要素について各プロセッサコアが処理した分と同じ分を次の前記第二の構成要素に関して各プロセッサコアに割り当てることを特徴とする付記16又は17及び18記載の情報処理方法。
(付記21)
前記割り当て手順は、前に処理された複数の前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記18記載の情報処理方法。
(付記22)
前記割り当て手順は、前に処理された前記第二の構成要素の中から次に処理される前記第二の構成要素との情報量の近さに基づいて選択される第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記18又は21記載の情報処理方法。
(付記23)
前記割り当て手順は、前に処理された前記第二の構成要素の中から次に処理される前記第二の構成要素との情報量の近さに基づいて選択される複数の第二の構成要素に関する各プロセッサコアの処理の状況について時間距離に応じた重み付け平均を算出し、該算出結果に基づいて次に処理される前記第二の構成要素に関する割り当てを判定することを特徴とする付記22記載の情報処理方法。
(付記24)
各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、前に処理された前記第二の構成要素に関して記録された前記第一の構成要素の開始位置に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記18記載の情報処理方法。
(付記25)
各プロセッサコアは、前に処理された前記第二の構成要素の中から次に処理する前記第二の構成要素との情報量の近さに基づいて選択される前記第二の構成要素に関して記録された前記第一の構成要素の開始位置に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記24記載の情報処理方法。
(付記26)
各プロセッサコアは、前に処理された前記第二の構成要素の中から次に処理する前記第二の構成要素との情報量の近さに基づいて選択される複数の前記第二の構成要素に関して記録された前記第一の構成要素の開始位置について時間距離に応じた重み付け平均を算出し、該算出結果に基づいて、次に処理する前記第二の構成要素において割り当てられた先頭の前記第一の構成要素の位置を判定することを特徴とする付記25記載の情報処理方法。
10 画像処理装置
101 補助記憶装置
102 メモリ装置
103、103a、103b コア(プロセッサコア)
B バス
101 補助記憶装置
102 メモリ装置
103、103a、103b コア(プロセッサコア)
B バス
Claims (5)
- 複数のプロセッサコアを備えた情報処理装置であって、
サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手段を有することを特徴とする情報処理装置。 - 各プロセッサコアは、割り当てられた連続する前記第一の構成要素のうち、先頭の第一の構成要素についてのみ前記ビット列を前記データの中から検索することを特徴とする請求項1記載の情報処理装置。
- 各プロセッサコアは、前記ビット列の検出に応じて、前記第一の構成要素の開始位置を記録し、
割り当てられた全ての前記第一の構成要素の処理が完了したプロセッサコアは、記録されている前記開始位置に基づいて、未処理の第一の構成要素の前記ビット列の検索を行うことを特徴とする請求項1又は2記載の情報処理装置。 - 前記データは、一つ以上の前記第一の構成要素によって構成される第二の構成要素を複数含み、
前記割り当て手段は、前記第二の構成要素ごとに、当該第二の構成要素に含まれる前記第一の構成要素について複数のプロセッサコアへの割り当てを行い、前に処理された前記第二の構成要素に関する各プロセッサコアの処理の状況に基づいて、次に処理される前記第二の構成要素に関する割り当てを決定することを特徴とする請求項1乃至3いずれか一項記載の情報処理装置。 - 複数のプロセッサコアを備えた情報処理装置が実行する情報処理方法であって、
サイズが固定されない第一の構成要素が連続して配列され、前記第一の構成要素には当該第一の構成要素の開始を示すビット列が含まれる構造を有するデータについて、連続する前記第一の構成要素ごとに、各プロセッサコアの処理の対象を割り当てる割り当て手順を有することを特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007214864A JP2009048469A (ja) | 2007-08-21 | 2007-08-21 | 情報処理装置及び情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007214864A JP2009048469A (ja) | 2007-08-21 | 2007-08-21 | 情報処理装置及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009048469A true JP2009048469A (ja) | 2009-03-05 |
Family
ID=40500611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007214864A Pending JP2009048469A (ja) | 2007-08-21 | 2007-08-21 | 情報処理装置及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009048469A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016129361A (ja) * | 2009-09-10 | 2016-07-14 | アップル インコーポレイテッド | デジタルビデオレコーダのための動画像編集および再フォーマット |
JP2020047033A (ja) * | 2018-09-20 | 2020-03-26 | 富士ゼロックス株式会社 | 情報処理装置、画像形成装置及びプログラム |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08251598A (ja) * | 1995-03-13 | 1996-09-27 | Mitsubishi Electric Corp | 画像符号化装置及び画像復号化装置 |
JPH10145237A (ja) * | 1996-11-11 | 1998-05-29 | Toshiba Corp | 圧縮データ復号装置 |
JPH10178644A (ja) * | 1996-12-18 | 1998-06-30 | Sharp Corp | 動画像復号装置 |
JPH1198020A (ja) * | 1997-09-24 | 1999-04-09 | Sony Corp | ビットストリーム解析方法及び装置 |
JPH11177992A (ja) * | 1997-12-10 | 1999-07-02 | Hitachi Ltd | 画像復号装置 |
JP2000030047A (ja) * | 1998-07-15 | 2000-01-28 | Sony Corp | 符号化装置とその方法および復号化装置とその方法 |
JP2002057986A (ja) * | 2000-05-29 | 2002-02-22 | Sony Corp | 復号装置および方法、並びに記録媒体 |
JP2003032679A (ja) * | 2001-07-11 | 2003-01-31 | Lsi Systems:Kk | 復号装置、復号方法およびその方法をコンピュータに実行させるプログラム |
JP2005175997A (ja) * | 2003-12-12 | 2005-06-30 | Sony Corp | 復号化装置、電子機器、コンピュータ、復号化方法、プログラム及び記録媒体 |
JP2005191690A (ja) * | 2003-12-24 | 2005-07-14 | Toshiba Corp | 動画像復号化装置および動画像復号化方法 |
JP2006164000A (ja) * | 2004-12-09 | 2006-06-22 | Seiko Epson Corp | 画像処理装置、印刷装置および画像処理方法 |
JP2006319944A (ja) * | 2005-04-15 | 2006-11-24 | Sony Corp | 復号制御装置および方法、記録媒体、並びに、プログラム |
JP2006319943A (ja) * | 2005-04-15 | 2006-11-24 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びに、プログラム |
JP2007129648A (ja) * | 2005-11-07 | 2007-05-24 | Matsushita Electric Ind Co Ltd | 画像復号装置 |
-
2007
- 2007-08-21 JP JP2007214864A patent/JP2009048469A/ja active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08251598A (ja) * | 1995-03-13 | 1996-09-27 | Mitsubishi Electric Corp | 画像符号化装置及び画像復号化装置 |
JPH10145237A (ja) * | 1996-11-11 | 1998-05-29 | Toshiba Corp | 圧縮データ復号装置 |
JPH10178644A (ja) * | 1996-12-18 | 1998-06-30 | Sharp Corp | 動画像復号装置 |
JPH1198020A (ja) * | 1997-09-24 | 1999-04-09 | Sony Corp | ビットストリーム解析方法及び装置 |
JPH11177992A (ja) * | 1997-12-10 | 1999-07-02 | Hitachi Ltd | 画像復号装置 |
JP2000030047A (ja) * | 1998-07-15 | 2000-01-28 | Sony Corp | 符号化装置とその方法および復号化装置とその方法 |
JP2002057986A (ja) * | 2000-05-29 | 2002-02-22 | Sony Corp | 復号装置および方法、並びに記録媒体 |
JP2003032679A (ja) * | 2001-07-11 | 2003-01-31 | Lsi Systems:Kk | 復号装置、復号方法およびその方法をコンピュータに実行させるプログラム |
JP2005175997A (ja) * | 2003-12-12 | 2005-06-30 | Sony Corp | 復号化装置、電子機器、コンピュータ、復号化方法、プログラム及び記録媒体 |
JP2005191690A (ja) * | 2003-12-24 | 2005-07-14 | Toshiba Corp | 動画像復号化装置および動画像復号化方法 |
JP2006164000A (ja) * | 2004-12-09 | 2006-06-22 | Seiko Epson Corp | 画像処理装置、印刷装置および画像処理方法 |
JP2006319944A (ja) * | 2005-04-15 | 2006-11-24 | Sony Corp | 復号制御装置および方法、記録媒体、並びに、プログラム |
JP2006319943A (ja) * | 2005-04-15 | 2006-11-24 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びに、プログラム |
JP2007129648A (ja) * | 2005-11-07 | 2007-05-24 | Matsushita Electric Ind Co Ltd | 画像復号装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016129361A (ja) * | 2009-09-10 | 2016-07-14 | アップル インコーポレイテッド | デジタルビデオレコーダのための動画像編集および再フォーマット |
JP2020047033A (ja) * | 2018-09-20 | 2020-03-26 | 富士ゼロックス株式会社 | 情報処理装置、画像形成装置及びプログラム |
JP7225628B2 (ja) | 2018-09-20 | 2023-02-21 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、画像形成装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9167260B2 (en) | Apparatus and method for video processing | |
JP5617014B2 (ja) | 画像符号化装置、及び画像符号化方法 | |
US8761253B2 (en) | Intra prediction mode search scheme | |
US8615039B2 (en) | Optimized allocation of multi-core computation for video encoding | |
US9612962B2 (en) | Performing cache bank operations in offset sequences from first bank | |
CN101371263A (zh) | 用于在并行处理系统中处理多媒体数据的算法步骤的方法和装置 | |
US20090310678A1 (en) | Image encoding apparatus, method of controlling the same and computer program | |
WO2021073066A1 (zh) | 图像处理方法及装置 | |
US10031947B2 (en) | Method and apparatus for performing a search operation on heterogeneous computing systems | |
JP2016063358A (ja) | 符号化回路、符号化方法 | |
JP2009048469A (ja) | 情報処理装置及び情報処理方法 | |
US20110069761A1 (en) | Parallel encoding device, recording medium, and imaging data encoding method | |
US20050100097A1 (en) | Apparatus and method for motion vector prediction | |
JP2000069469A (ja) | 動画像符号化方法とシステム及び動画像復号方法とシステム | |
US8351508B1 (en) | Multithreaded descriptor based motion estimation/compensation video encoding/decoding | |
Hsiao et al. | Balanced parallel scheduling for video encoding with adaptive gop structure | |
US10674174B2 (en) | Coding apparatus, coding method, and recording medium | |
JP2014042139A (ja) | 符号化装置、符号化方法、及びプログラム | |
JP5236386B2 (ja) | 画像復号装置及び画像復号方法 | |
JP2006013873A (ja) | 動きベクトル検出装置および方法 | |
JP5120324B2 (ja) | 画像復号装置及び画像復号方法 | |
EP3777168B1 (en) | Accelerating video encoding and decoding | |
JP2018019195A (ja) | 動画生成方法、動画生成装置 | |
CN110969157B (zh) | 识别感兴趣的区域 | |
JP4053925B2 (ja) | 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100517 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110906 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120117 |