JP2010141821A - ストリーミングプロセッサおよびプロセッサシステム - Google Patents

ストリーミングプロセッサおよびプロセッサシステム Download PDF

Info

Publication number
JP2010141821A
JP2010141821A JP2008318665A JP2008318665A JP2010141821A JP 2010141821 A JP2010141821 A JP 2010141821A JP 2008318665 A JP2008318665 A JP 2008318665A JP 2008318665 A JP2008318665 A JP 2008318665A JP 2010141821 A JP2010141821 A JP 2010141821A
Authority
JP
Japan
Prior art keywords
stream
processor
processing
streaming
processing load
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
JP2008318665A
Other languages
English (en)
Inventor
Satoshi Koda
聡 甲田
Hiroaki Sugita
弘晃 杉田
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 JP2008318665A priority Critical patent/JP2010141821A/ja
Priority to US12/637,343 priority patent/US20100153687A1/en
Publication of JP2010141821A publication Critical patent/JP2010141821A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

【課題】効率的にストリームデータをデコード処理するマルチコアのストリーミングプロセッサおよび効率的にストリームデータをデコード処理するプロセッサシステムを提供する。
【解決手段】1つの汎用プロセッサコア11と複数の演算用プロセッサコア12とを有し、符号化ストリームの復号処理を複数の処理をそれぞれの演算用プロセッサコア12に割り当て処理することにより並列処理を行うストリーミングプロセッサ10であって、ストリーム情報をもとに、ストリーム毎の処理負荷を予測し、予測した前記処理負荷をもとに、それぞれの演算用プロセッサコア12が行う処理を割り当てるストリーム解析部を有する。
【選択図】 図4

Description

本発明は、ストリームを並列処理するマルチコアのストリーミングプロセッサおよび前記ストリーミングプロセッサを有するプロセッサシステムに関する。
デジタル動画の配信、例えば、デジタルテレビ放送においては、データ送信に必要な帯域を低減するために、データ圧縮を含む効率的な符号化技術が不可欠となっている。例えば、符号化方法として、2003年5月に国際電気通信連合によって勧告された動画データの圧縮符号化方式の標準である「H.264」は、デジタルテレビ放送等に広く使用されている。
符号化されたデジタル動画は、受信器で復号処理、すなわちデコード処理され、表示装置に表示される。ここで、図1は、H.264により符号化されたストリーム、すなわち連続した画像データおよび音声データ等、の復号処理(以下、「デコード処理」ともいう。)を説明するための図である。すなわち、H.264符号化ストリームは、エントロピー復号処理S10、逆量子化処理S11、逆DCT処理S12、動き補償処理S13、メモリ記憶処理S14等の複数の処理を経て、復号ストリームとして出力される。なお、前記処理は、それぞれの処理のプログラムをプロセッサが実行することにより行われる。
そして、デコード処理では、配信されるストリームをリアルタイムで処理しなければならない。限られた時間内で処理するために、1つの汎用プロセッサコアと複数の演算用プロセッサコアとを有するマルチコアプロセッサを用いて、復号処理の複数の処理をそれぞれの演算用プロセッサコアに割り当てる割り当て処理することによって、並列処理を行うストリーミングプロセッサが開発されている。
例えば、図2に示すプロセッサシステム101は入力装置102と、出力装置103と、ストリーミングプロセッサ110とを有している。ストリーミングプロセッサ110は、1個の汎用プロセッサコア111と、7個の演算用プロセッサコア112A〜112Gを有するマルチコアプロセッサである。ストリーミングプロセッサ110は、演算用プロセッサコア112Aにストリーム分離処理を、演算用プロセッサコア112B〜112Dにデコード処理Aを、演算用プロセッサコア112Eにデコード処理Bおよびデコード処理Cを、演算用プロセッサコア112Fにデコード処理Dを、演算用プロセッサコア112Gに音声デコード処理を、割り当て処理している。
ここで、デコード処理A〜Dは、図1で説明したエントロピー復号処理を初めとする処理のいずれかに相当する処理である。すなわち、エントロピー復号処理、逆量子化処理、動き補償処理等の復号過程の各処理は個別のプログラムに分割されている。分割されたそれぞれの処理プログラムを別々の演算用プロセッサコアのメモリに読み込み、複数の演算用プロセッサコアを並列に動作させることで、ストリーミングプロセッサ110は高速なリアルタイムデコード処理を実現している。
ストリーミングプロセッサ110では、デコード過程のそれぞれの処理がどの演算用プロセッサコア102A〜102Gに割り当てられるかは予め決まっている。しかし符号化ストリームはデコード処理を開始するまでは、そのストリームの処理負荷が不明なため、入力される可能性のある最大負荷のストリームに合わせてコアの割り当ては決められている。このため、処理負荷の低いストリームが入力された場合には、演算用プロセッサコアが有効に利用されない。
ここで、図3はストリーミングプロセッサ110における演算用プロセッサコア112の使用状態を説明するための説明図である。なお、図3においてストリーム分離部である演算コア12Aは、ストリーム中の映像と音声とを分離する処理を行い、音声デコード部はストリーム中の音声のデコード処理を行う。
図3に示すように、ストリーム1では、デコード処理Aの処理負荷が小さく演算用プロセッサコア112Cおよび112Dは空きが発生しているが、ストリーム2ではデコード処理Aは負荷が大きく3つの演算用プロセッサコア112B〜112Dが最大限使用されているが、演算用プロセッサコア112Eおよび102Fは処理負荷が小さく無駄が発生している。
以上の説明のように、従来のストリーミングプロセッサ110およびプロセッサシステム101では、演算用プロセッサコアに空きが発生するにも関わらず他のプログラムを実行することができない等、プロセッサが本来持つ性能を十分に発揮できず、効率的にストリームデータをデコード処理することができないおそれがあった。
特表206−524460号公報
本発明は、効率的にストリームデータをデコード処理するマルチコアのストリーミングプロセッサおよび効率的にストリームデータをデコード処理するプロセッサシステムを提供することを目的とする。
本発明の一態様のストリーミングプロセッサは、1つの汎用プロセッサコアと複数の演算用プロセッサコアとを有し、符号化されたストリームを復号するための複数の処理をそれぞれの演算用プロセッサコアに割り当てて並列処理を行うストリーミングプロセッサであって、ストリームのストリーム情報をもとに、ストリーム毎の処理負荷を予測する処理負荷予測処理、および、予測した処理負荷をもとに、それぞれの演算用プロセッサコアが行う処理を割り当てる割り当て処理、を行うストリーム解析手段を有することを特徴とするストリーミングプロセッサである。
また、本発明の別の一態様のプロセッサシステムは、1つの汎用プロセッサコアと複数の演算用プロセッサコアとを有し、符号化されたストリームを復号するための複数の処理をそれぞれの演算用プロセッサコアに割り当てて並列処理を行うストリーミングプロセッサであって、ストリームのストリーム情報をもとに、ストリーム毎の処理負荷を予測する処理負荷予測処理、および、予測した処理負荷をもとに、それぞれの演算用プロセッサコアが行う処理を割り当てる割り当て処理を行う、ストリーム解析手段を有するストリーミングプロセッサと、ストリーミングプロセッサに符号化されたストリームを入力する入力装置と、ストリーミングプロセッサから入力する復号されたストリームを出力する出力装置と、複数の処理のプログラム、ストリーム情報と処理負荷との対応テーブル、および処理負荷と使用する演算用プロセッサコアの数との対応テーブル、を記憶する記憶装置と、を有することを特徴とするプロセッサシステム。使用する演算用プロセッサコア数との対応テーブル、を記憶する記憶装置と、を有することを特徴とするプロセッサシステムである。
本発明は、効率的にストリームデータをデコード処理するマルチコアのストリーミングプロセッサおよび効率的にストリームデータをデコード処理するプロセッサシステムを提供するものである。
<第1の実施の形態>
以下、図面を参照して本発明の第1の実施の形態のストリーミングプロセッサ10およびプロセッサシステム1について説明する。図4は、本発明の第1の実施の形態のストリーミングプロセッサおよびプロセッサシステムの構成を示す構成図である。
図4に示すように、プロセッサシステム1は、入力装置2と、出力装置3と、記憶装置4と、ストリーミングプロセッサ10とを有している。ストリーミングプロセッサ10は1個の汎用プロセッサコア(以下、「汎用コア」ともいう。)11と、7個の演算用プロセッサコア(以下、「演算用コア」ともいう。)12A〜12Gとを有し、符号化されたストリームデータの復号処理を複数の処理に分割して、分割されたそれぞれの処理を「汎用コアおよび演算用コア12A〜12Gに割り当て処理することにより並列処理を行う。なお、以下、演算用コア12A〜12Gのそれぞれを指すときは、演算用コア12という。
記憶装置4は、分割され、それぞれの演算用コア12に割り当てる処理のプログラム17と、パラメータ/処理負荷対応テーブル15と、処理負荷/使用コア数対応テーブル16とを記憶する。そして、汎用コア11は、ストリーム入力機能および映像・音声出力機能等を有するプログラムが図示しないメモリに読み込まれ処理を行い、それぞれの演算用コア12はその他の機能を有する、それぞれのプログラムが図示しないメモリに読み込まれ処理を行う。
なお、ストリーミングプロセッサ10は、1個の汎用コア11と7個の演算用コア12A〜12Gとを有するマルチコアプロセッサであるが、それぞれのプロセッサコアの個数については本実施の形態に限られるものではない。
ここで、例えば入力装置2は、デジタルハイビジョンテレビ放送受信機またはデジタルハイビジョンテレビ放送受信機能を有するハードディスクレコーダの受信部であり、出力装置3はモニタおよびスピーカーであり、記憶装置4はハードディスク装置である。
次に、図5および図6を用いて、本実施の形態のストリーミングプロセッサ10およびプロセッサシステム1の動作について説明する。図5は、本実施の形態のストリーミングプロセッサの動作の流れを説明するためのフローチャートであり、図6は本実施の形態のストリーミングプロセッサにおける演算用プロセッサコアの割り当ての一例を示す説明図である。
以下、図5のフローチャートに従い説明する。
<ステップS21> ストリーム入力ステップ
入力装置2および汎用コア11を介して、符号化されたストリームデータがストリーミングプロセッサ10に入力される。
<ステップS22> ストリーム分離ステップ
ストリーミングプロセッサ10に入力された符号化ストリームは、演算用コア12Aのストリーム分離部に送られ、H.264ストリームと音声ストリームとに分離される。なお、図6のスタート時に示すように、記憶装置4に記憶されていたストリーム分離機能を有するプログラムが演算用コア12Aのメモリに読み込まれ、演算用コア12Aはストリーム分離部12A1として動作し、ストリーム解析機能を有するプログラムが演算用コア12Bのメモリに読み込まれ、演算用コア12Bはストリーム解析部12B1として動作する状態になっている。以下の演算用コア12も記憶装置4に記憶されていた当該機能を処理するプログラム17が、それぞれの演算用コア12のメモリに読み込まれ、それぞれの処理部として動作する。
分離されたH.264ストリームは演算用コア12Bのストリーム解析部12B1に、音声ストリームは演算用コア12Gの音声デコード部に、それぞれ送られる。
<ステップS23> ストリーム解析ステップ1
ストリーム解析手段であるストリーム解析部12B1はH.264ストリーム中からNALユニットにSPSパラメータおよびPPSパラメータが含まれているかを確認する。含まれていなかった場合(No)は、例えば、図3に示したように、予め決められているプログラム17の演算用コア12への割り当てに従って、それぞれのプログラムが、それぞれのメモリに読み込まれて処理を行うか、すでにそれぞれの演算用コア12に読み込まれているプログラムに従って処理を行う。
<ステップS24> ストリーム解析ステップ2
NALユニットにSPSパラメータおよびPPSパラメータが含まれていた場合(S23:Yes)には、ストリーム解析部12B1はNALユニットのみをデコード処理して付加情報であるパラメータ情報を取り出す。なお、ストリーム解析部12B1の動作については後に図6を用いて、詳述する。
<ステップS25> 処理負荷予測ステップ
ストリーム解析部12B1は、取得したストリーム情報を用いて、パラメータ/処理負荷対応テーブル15にもとづいて、入力されたストリームの最大処理負荷を予測する。なお、パラメータ/処理負荷対応テーブル15は、ストリーム解析プログラムと同時に記憶装置4から演算用コア12Cのメモリ部に読み込まれている。
<ステップS26> コア数決定ステップ
ストリーム解析部12B1は、予測された最大処理負荷と処理負荷/使用コア数対応テーブル16とをもとに、入力されたストリームをリアルタイムでデコード処理するための性能を維持するために最低限必要なプロセッサコア数を決定する。なお処理負荷/使用コア数対応テーブル16は、ストリーム解析プログラムと同時に記憶装置4から演算用コア12Cのメモリ部に読み込まれている。
ストリーム解析部12B1は、それぞれの演算用コア12が行うデコード処理を割り当てる。すなわち、図9に示したストリーム1では、演算用コア12Cにデコード処理Aを、演算用コア12Dにデコード処理Bを、演算用コア12Eにデコード処理Cおよびデコード処理Dを、演算用コア12Fにデコード処理Eを割り当てる。
<ステップS27> デコード処理ステップ
それぞれの演算用コア12は、読み込んだプログラムによる処理部としてデコード処理を並列動作で行う。
<ステップS28> 出力ステップ
ストリーミングプロセッサ10は、汎用コア11を介して出力装置3に復号データ、すなわち、ストリーム映像データおよび音声データを出力タイミングの同期をとった上で出力する。
<ステップS29> 繰り返し処理
ストリーミングプロセッサ10は、上記のストリームの処理を終了指示があるまで繰り返して行う。
以上の説明のように、本実施の形態のストリーミングプロセッサ10およびプロセッサシステム1では、ストリーム毎に最適の処理配置を行うため、効率的にストリームデータをデコード処理することができる。
次に図7、図8および図9を用いて、本実施の形態のストリーミングプロセッサ10のストリーム情報解析部の情報取得処理の動作の流れについて詳細に説明する。図7は本実施の形態のストリーミングプロセッサのストリーム情報解析部の情報取得処理の動作の流れを説明するためのフローチャートであり、図8は本実施の形態のストリーミングプロセッサのパラメータ/処理負荷対応テーブルの一例を示す説明図であり、図9は本実施の形態のストリーミングプロセッサの処理負荷/使用コア数対応テーブルの一例を示す説明図である。
以下、図7のフローチャートに従い説明する。
<ステップS31> NALユニット取得ステップ
すでに説明したように、ストリーミングプロセッサ10の演算用コア12Cのストリーム解析部12B1はH.264ストリーム中からNAL(Network Abstraction Layer:ネットワーク抽象化レイヤ)ユニットを取得する。NALユニットにはストリームの種々の情報が含まれているが、ストリーミングプロセッサ10では、プロファイル、レベル、マクロブロックサイズ、およびエントロピー符号化モードを用いて処理負荷を予測する。また、NALユニットにストリーム情報としてビットレートが含まれている場合には、ストリーミングプロセッサ10では、さらにビットレートも用いて処理負荷を予測する。
<ステップS32〜S37> SPS パラメータ取得ステップ
ストリーム解析部12B1は、ストリームが入力されると、そこに含まれるNALユニットと、そのNALユニットに関連付けられた(NAL_unit_type)を取得する。
ストリーム解析部12B1は、NALユニットのNAL_unit_typeの値が7に等しい場合、そのNALユニットはSequence Parameter Set (シークエンス・パラメータ・セット:以下、「SPS」という。)を含むため、SPSのデコード処理を行い、含まれているプロファイル(profile_idc)、レベル(level_idc)、マクロブロックサイズ(pic_width_in_mbs_minus1、 pic_height_map_units_minus1)の値を取得する。ここで、マクロブロックとはH.264における処理単位である16画素×16画素のブロックであり、マクロブロックサイズとは映像を構成しているブロックの数、すなわち、映像サイズである。
また、ストリーム解析部12B1は、SPSに含まれる(vui_parameters_present_flag)の値が1に等しく、かつ(nal_hrd_parameters_present_flag)または(vcl_hrd_parameters_present_flag)の両方または、いずれか一方がSPS中に存在し、その値が1に等しい場合には、SPS中に存在する、ビットレート(bit_rate_value_minus1)の値を取得する。
すなわち、ストリーミングプロセッサ10が、処理負荷予測処理を行うためのストリーム情報として、ビットレートは必須の情報ではない。
<ステップS38〜S40> PPS パラメータ取得ステップ
さらに、ストリーム解析部12B1は、(NAL_unit_type)の値が8に等しい場合、そのNALユニットはPicture Parameter Set (ピクチャ・パラメータ・セット:以下、「PPS」という。)を含むため、PPSのデコード処理を行い、含まれるエントロピー符号化モード(entropy_coding_mode_flag)の値を取得する。
<ステップS41>
ストリーム解析部12B1はSPSとPPSとの両方のデコード処理およびそれらに含まれる必要なパラメータ取得が完了した場合、ステップS42で入力ストリーム負荷予測処理を行う。SPSとPPSのいずれか一方しか完了していない場合、ストリーム解析部12B1はストリームに含まれる次のNALユニットを取得する。
<ステップS42> 処理負荷予測処理ステップ
ストリーム解析部12B1は入力ストリーム負荷予測処理では、SPSおよびPPSから取得したパラメータの組み合わせに対応したストリームの負荷を、パラメータ/処理負荷対応テーブル15によって予測する。ここで、パラメータ、すなわち、ストリーム情報としては、プロファイル、レベル、マクロブロックサイズ、およびエントロピー符号化モードが必須の情報であり、ストリーム解析部12B1は、ビットレート情報が入手できた場合にはビットレート情報も負荷予測処理に用いる。
例えば図8に示すように、パラメータ/処理負荷対応テーブル15Aは、ストリームのひとつのパラメータであるレベルに対する処理負荷を示したテーブルである。すなわち、レベル1は処理負荷が小さいが、レベルの番号が大きくなるに従い処理負荷が増加している。同様に、他のパラメータについてもパラメータ/処理負荷対応テーブル15があり、ストリーム解析部12B1は複数のパラメータ/処理負荷対応テーブル15を用いて負荷を予測する。
さらに、ストリーム解析部12B1はその予測負荷に対応した演算用コア12の使用数を、処理負荷/使用コア数対応テーブル16によって決定する。
すなわち、図9に示すように処理負荷/使用コア数対応テーブル16は処理負荷に対応して使用する演算用コア12の数が記載されている。
もちろん、処理負荷/使用コア数対応テーブル16およびパラメータ/処理負荷対応テーブル15は表形式ではなく、数式であってもよい。
以上の説明のように、本実施の形態のストリーミングプロセッサ10およびプロセッサシステム1では、ストリーム毎に処理負荷/使用コア数対応テーブル16およびパラメータ/処理負荷対応テーブル15をもとに最適の処理配置を行うため、効率的にストリームデータをデコード処理することができる。
<第1の実施の形態の第1変形例>
以下、図面を参照して本発明の第1の実施の形態の第1変形例のストリーミングプロセッサおよびプロセッサシステムについて説明する。本変形例のストリーミングプロセッサおよびプロセッサシステムは第1の実施の形態のストリーミングプロセッサ10およびプロセッサシステム1と類似しているため、同じ説明は省略する。図10は本発明の第1の実施の形態の第1変形例のストリーミングプロセッサおよびプロセッサシステムにおける演算用プロセッサコアの使用状態を説明するための説明図である。
図10に示すように、本変形例のストリーミングプロセッサでは、第1の実施の形態のストリーミングプロセッサ10と同様に、スタート時には、ストリーム解析プログラムが演算用コア12Bに読み込まれてストリーム解析部12B1として機能している。しかし、ストリーム解析部12B1は、その機能が終了するとデコード時には、演算用コア12Bから消去され、演算用コア12Bは別のデコード処理部Aとして処理を行う。そしてデコード時2に示すように、再びストリーム解析部12B1の動作が必要になった場合には、再びストリーム解析プログラムが演算用コア12Bに読み込まれてストリーム解析部12B1として機能する。ストリーム解析はストリーム毎に行われるため使用頻度が比較的低い。
本変形例のストリーミングプロセッサおよびプロセッサシステムは第1の実施の形態のストリーミングプロセッサ10およびプロセッサシステム1が有する効果に加えて、より効率的にストリームデータをデコード処理することができる。
<第1の実施の形態の第2変形例>
以下、図面を参照して本発明の第1の実施の形態の第2変形例のストリーミングプロセッサおよびプロセッサシステムについて説明する。本変形例のストリーミングプロセッサおよびプロセッサシステムは第1の実施の形態のストリーミングプロセッサ10およびプロセッサシステム1と類似しているため、同じ説明は省略する。図11は本発明の第1の実施の形態の第2変形例のストリーミングプロセッサおよびプロセッサシステムにおける演算用プロセッサコアの使用状態を説明するための説明図である。
図11に示すように、本変形例のストリーミングプロセッサでは、第1の実施の形態のストリーミングプロセッサ10と同様に、スタート時、すなわちデコード処理開始前には、ストリーム解析プログラムが演算用コア12Bに読み込まれてストリーム解析部12B1として機能している。さらに、本変形例のストリーミングプロセッサでは、デコード処理が開始していないため使用されていない演算用コア12C〜12Gが再エンコード処理に使用されている。ハードディスクレコーダ等には通常デコード処理された映像ストリームが記憶されているが、再エンコード処理し再記憶することにより記憶容量を減ずることができる。このため、本変形例のストリーミングプロセッサでは、デコード処理、言い換えれば、リアルタイム処理に使用されていない演算用コア12がある場合には、その演算用コア12によりデコード処理以外のベストエフォートプロセス処理を行う。
また、本変形例のストリーミングプロセッサでは、図11のデコード時に示すように、デコード時であってもストリームの負荷が小さく、デコード処理に使用されていない演算用コア12がある場合には、その演算用コア12によりデコード処理以外の処理を行う。さらに本変形例のストリーミングプロセッサでは、図11のデコード時2に示すように、デコード処理に加えて、使用者の指示に従って特殊画像処理、例えば、注目対象を強調表示する等のリアルタイム処理を行うことも可能である。あるいは、本変形例のストリーミングプロセッサでは、2つのストリームを同時にデコード処理することもできる。
しかし、ストリーム解析部12B1は、その機能が終了するとデコード時には、演算用コア12Bから消去され、演算用コア12Bは別のデコード処理部Aとして処理を行う。そしてデコード時2に示すように、再びストリーム解析部12B1の動作が必要になった場合には、再びストリーム解析プログラムが演算用コア12Bに読み込まれてストリーム解析部12B1として機能する。もちろん、ストリーム解析部12B1として動作する演算用コア12は演算用コア12Bに限られるものではなく、他の演算用コア12が使用される場合もある。
本変形例のストリーミングプロセッサおよびプロセッサシステムは第1の実施の形態のストリーミングプロセッサ10およびプロセッサシステム1が有する効果に加えて、より効率的にストリームデータをデコード処理することができる。
本変形例のストリーミングプロセッサおよびプロセッサシステムは第1の実施の形態のストリーミングプロセッサ10およびプロセッサシステム1が有する効果に加えて、より効率的にストリームデータをデコード処理することができ、さらにリアルタイム処理であるデコード処理以外の、いわゆるベストエフォートプロセス処理にもストリーミングプロセッサを活用することができる。また、負荷が小さな処理しかない場合には、処理プログラムをロードしない演算用コア12があってもよい。全く使用されない演算用コア12は電力を殆ど消費しないため、プロセッサシステム全体の消費電力を低減することができる。
また、本発明のストリーミングプロセッサおよびプロセッサシステムでは、いわゆるプロセッサプール機能を用いて、それぞれのデコード処理が使用する演算用コア12の上限を設定しておいてもよい。あるいは、デコード処理全体で使用するコア数をプールしておき、他の処理とのバランスをとりながら、デコード処理とデコード処理以外の処理とを行っても良い。また、ストリーム解析部12B1が、デコード処理全体を行うための処理負荷を予測し、デコード処理全体を行うための演算用コア12数を算出し、ベストエフォートプロセス処理より優先して割り当て処理を行っても良い。
なお、上記説明ではH.264符号化処理されたデータを例に説明したが、符号化されたストリームであれば、他の符号化、例えば、MPEG―4、MPEG−2、または、VC1等であっても、本発明の効果を得ることができる。
本発明は、上述した実施の形態または変形例に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
H.264により符号化されたストリームの復号処理を説明するための図である。 公知のプロセッサシステムの構成および処理配置を説明するための説明図である。 公知のプロセッサシステムの演算用コアの処理配置を説明するための説明図である。 本発明の第1の実施の形態のストリーミングプロセッサおよびプロセッサシステムの構成を示す構成図である。 本発明の第1の実施の形態のストリーミングプロセッサの動作の流れを説明するためのフローチャートである。 本発明の第1の実施の形態のストリーミングプロセッサにおける演算用プロセッサコアの割り当ての一例を示す説明図である。 本発明の第1の実施の形態のストリーミングプロセッサのストリーム情報解析部の情報取得処理の動作の流れを説明するためのフローチャートである。 本発明の第1の実施の形態のストリーミングプロセッサのパラメータ/処理負荷対応テーブルの一例を示す説明図である。 本発明の第1の実施の形態のストリーミングプロセッサの処理負荷/使用コア数対応テーブルの一例を示す説明図である。 本発明の第1の実施の形態の第1変形例のストリーミングプロセッサおよびプロセッサシステムにおける演算用プロセッサコアの使用状態を説明するための説明図である。 本発明の第1の実施の形態の第2変形例のストリーミングプロセッサおよびプロセッサシステムにおける演算用プロセッサコアの使用状態を説明するための説明図である。
符号の説明
1…プロセッサシステム
2…入力装置
3…出力装置
4…記憶装置
10…ストリーミングプロセッサ
11…汎用プロセッサコア
12、12A〜12G…演算用プロセッサコア
15、15A…処理負荷対応テーブル
16…使用コア数対応テーブル
17、17A…プログラム
101…プロセッサシステム
102…入力装置
103…出力装置
110…ストリーミングプロセッサ
111…汎用プロセッサコア
112、112A〜112G…演算用プロセッサコア

Claims (5)

  1. 1つの汎用プロセッサコアと複数の演算用プロセッサコアとを有し、符号化されたストリームを復号するための複数の処理をそれぞれの前記演算用プロセッサコアに割り当てて並列処理を行うストリーミングプロセッサであって、
    前記ストリームのストリーム情報をもとに、前記ストリーム毎の処理負荷を予測する処理負荷予測処理、および、予測した前記処理負荷をもとに、それぞれの前記演算用プロセッサコアが行う処理を割り当てる割り当て処理、を行う、ストリーム解析手段を有することを特徴とするストリーミングプロセッサ。
  2. 前記ストリーム情報と前記処理負荷との対応テーブル、および、前記処理負荷と使用する前記演算用プロセッサコアの数との対応テーブルを有し、
    前記ストリーム解析手段が、前記ストリーム情報と処理負荷との対応テーブルから前記処理負荷を予測し、前記処理負荷と使用する前記演算用プロセッサコアの数との対応テーブルから、前記割り当て処理を行うことを特徴とする請求項1に記載のストリーミングプロセッサ。
  3. 前記符号化されたストリームが、H.264方式により符号化処理されたデータであり、
    前記ストリーム情報が、プロファイル、レベル、マクロブロックサイズ、およびエントロピー符号化モードであることを特徴とする請求項2に記載のストリーミングプロセッサ。
  4. 前記ストリーム情報が、さらにビットレートを含むことを特徴とする請求項3に記載のストリーミングプロセッサ。
  5. 請求項1から請求項4のいずれか1項に記載のストリーミングプロセッサと、
    前記ストリーミングプロセッサに前記符号化されたストリームを入力する入力装置と、
    前記ストリーミングプロセッサから入力する復号されたストリームを出力する出力装置と、
    前記複数の処理のプログラム、前記ストリーム情報と処理負荷との対応テーブル、および前記処理負荷と使用する演算用プロセッサコアの数との対応テーブル、を記憶する記憶装置と、を有することを特徴とするプロセッサシステム。
JP2008318665A 2008-12-15 2008-12-15 ストリーミングプロセッサおよびプロセッサシステム Pending JP2010141821A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008318665A JP2010141821A (ja) 2008-12-15 2008-12-15 ストリーミングプロセッサおよびプロセッサシステム
US12/637,343 US20100153687A1 (en) 2008-12-15 2009-12-14 Streaming processor, operation method of streaming processor and processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008318665A JP2010141821A (ja) 2008-12-15 2008-12-15 ストリーミングプロセッサおよびプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2010141821A true JP2010141821A (ja) 2010-06-24

Family

ID=42241975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008318665A Pending JP2010141821A (ja) 2008-12-15 2008-12-15 ストリーミングプロセッサおよびプロセッサシステム

Country Status (2)

Country Link
US (1) US20100153687A1 (ja)
JP (1) JP2010141821A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020171224A1 (ja) * 2019-02-21 2020-08-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8146092B2 (en) * 2008-10-10 2012-03-27 Hitachi, Ltd. System and method for selecting and executing an optimal load distribution processing in a storage system
EP2385440A1 (en) * 2010-05-07 2011-11-09 ST-Ericsson SA Method and system for controlling the operation of an electronic device
US8856598B1 (en) * 2011-08-05 2014-10-07 Google Inc. Help center alerts by using metadata and offering multiple alert notification channels
KR20160148348A (ko) * 2015-06-16 2016-12-26 한국전자통신연구원 멀티코어 시스템의 부하특성 기반 핫플러그 제어장치 및 제어방법
US10191768B2 (en) 2015-09-16 2019-01-29 Salesforce.Com, Inc. Providing strong ordering in multi-stage streaming processing
US10198298B2 (en) 2015-09-16 2019-02-05 Salesforce.Com, Inc. Handling multiple task sequences in a stream processing framework
US10146592B2 (en) 2015-09-18 2018-12-04 Salesforce.Com, Inc. Managing resource allocation in a stream processing framework
US9965330B2 (en) * 2015-09-18 2018-05-08 Salesforce.Com, Inc. Maintaining throughput of a stream processing framework while increasing processing load
US10437635B2 (en) 2016-02-10 2019-10-08 Salesforce.Com, Inc. Throttling events in entity lifecycle management

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222590A (ja) * 1999-01-27 2000-08-11 Nec Corp 画像処理方法及び装置
SG82613A1 (en) * 1999-05-21 2001-08-21 Inst Of Microelectronics Dynamic load-balancing between two processing means for real-time video encoding
US7016412B1 (en) * 2000-08-29 2006-03-21 Koninklijke Philips Electronics N.V. System and method for dynamic adaptive decoding of scalable video to balance CPU load
JP2006222648A (ja) * 2005-02-09 2006-08-24 Sony Corp 復号方法、復号装置およびそのプログラム
WO2007109894A1 (en) * 2006-03-28 2007-10-04 Radisys Canada, Inc. Multimedia processing in parallel multi-core computation architectures
US8213518B1 (en) * 2006-10-31 2012-07-03 Sony Computer Entertainment Inc. Multi-threaded streaming data decoding
KR100801630B1 (ko) * 2007-06-15 2008-02-05 디비코 주식회사 멀티코어 프로세서를 이용한 분산 디코딩 처리 장치 및방법
US8634470B2 (en) * 2007-07-24 2014-01-21 Samsung Electronics Co., Ltd. Multimedia decoding method and multimedia decoding apparatus based on multi-core processor
US9131240B2 (en) * 2007-08-23 2015-09-08 Samsung Electronics Co., Ltd. Video decoding method and apparatus which uses double buffering
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020171224A1 (ja) * 2019-02-21 2020-08-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11665370B2 (en) 2019-02-21 2023-05-30 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method

Also Published As

Publication number Publication date
US20100153687A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
US11943480B2 (en) Constraints and unit types to simplify video random access
JP2010141821A (ja) ストリーミングプロセッサおよびプロセッサシステム
US8705616B2 (en) Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
JP6318158B2 (ja) 参照ピクチャ・リスト変更情報の条件付きシグナリング
US10104401B2 (en) Efficient software for transcoding to HEVC on multi-core processors
TWI622288B (zh) 視訊解碼方法
JP6059219B2 (ja) ビデオ符号化及び復号化における待ち時間の低減
CN107071419B (zh) 图像编码设备和方法以及图像解码设备和方法
US8885729B2 (en) Low-latency video decoding
JP2017535167A (ja) 符号化領域の完了を示すシンタックス構造
US20100266049A1 (en) Image decoding device
US8660177B2 (en) Parallel entropy coding
US20140198850A1 (en) Method for multiview video prediction encoding and device for same, and method for multiview video prediction decoding and device for same
US20220191517A1 (en) Device and method of video encoding with first and second encoding code
EP3734974A1 (en) Method and apparatus for processing video bitstream, network device, and readable storage medium
US9674534B2 (en) Method and apparatus for encoding multi-view video prediction capable of view switching, and method and apparatus for decoding multi-view video prediction capable of view switching
JP5378939B2 (ja) 画像符号化方法、画像復号化方法、画像符号化装置、及び画像復号化装置、並びにプログラム
KR102312668B1 (ko) 비디오 트랜스코딩 시스템
JP4621629B2 (ja) 画像復号装置
US20140334552A1 (en) Image decoding device
WO2023059689A1 (en) Systems and methods for predictive coding
JP6649212B2 (ja) 符号化装置、復号装置、および画像処理システム
JP2022515946A (ja) 並列フォレンジックマーキング装置及び方法
CN117135364A (zh) 一种视频解码方法和系统
JP2004297184A (ja) 情報処理装置および情報処理方法ならびに記憶媒体、プログラム