JP4279317B2 - データ処理方法及びデータ処理装置 - Google Patents

データ処理方法及びデータ処理装置 Download PDF

Info

Publication number
JP4279317B2
JP4279317B2 JP2007020791A JP2007020791A JP4279317B2 JP 4279317 B2 JP4279317 B2 JP 4279317B2 JP 2007020791 A JP2007020791 A JP 2007020791A JP 2007020791 A JP2007020791 A JP 2007020791A JP 4279317 B2 JP4279317 B2 JP 4279317B2
Authority
JP
Japan
Prior art keywords
data
general
purpose processor
frame
processing
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.)
Expired - Fee Related
Application number
JP2007020791A
Other languages
English (en)
Other versions
JP2008186345A (ja
Inventor
雅文 小野内
健二 齊藤
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.)
Renesas Technology Corp
Hitachi Ltd
Original Assignee
Renesas Technology Corp
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp, Hitachi Ltd filed Critical Renesas Technology Corp
Priority to JP2007020791A priority Critical patent/JP4279317B2/ja
Priority to US12/000,852 priority patent/US20080235519A1/en
Publication of JP2008186345A publication Critical patent/JP2008186345A/ja
Application granted granted Critical
Publication of JP4279317B2 publication Critical patent/JP4279317B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)

Description

本発明は、データ処理技術に関し、例えば音声データの圧縮処理、及び圧縮後音声データの暗号化処理を可能とするデータ処理装置に適用して有効な技術に関する。
従来、音声データの圧縮処理、及び、圧縮後音声データの暗号化処理を高速に実施する技術として、専用ハードウェアを用いた高速化技術(例えば特許文献1及び特許文献2参照)や、エンコードタスクの優先度決定技術(例えば特許文献3参照)が知られている。
近年のデジタル技術の進歩により、映像データや音楽データをデジタルデータとして圧縮保存することで、記録媒体の経年変化によるデータの劣化を気にすることなく、高精細な映像や音声を楽しむことができるようになっている。特に、音楽データの圧縮方式として従来用いられていたMP3(MPEG Audio Layer−3)よりも、高音質、高圧縮率を実現するMPEG−2 AAC(MPEG−2 Audio Advanced Audio Coding)(以下では、単純にAACと表記する)が普及し、自動車のナビゲーションや、携帯電話などで高音質な音楽を楽しむことが可能になっている。
デジタル技術では、著作権保護が重要となる。音楽データがデジタルデータとして保存されている場合、そのデータをコピーすることで同一の音楽を劣化なく容易に複製することが可能になってしまう。そのような事態を防ぐため、圧縮処理された音楽データには、特定の音楽再生機器でしか再生できないように暗号化処理が実施される。このように、今後のマルチメディアアプリケーションにおいては、AACでの音声データ圧縮処理だけでなく、圧縮後音声データの暗号化処理を含めた高速化が重要な課題となっている。
このような課題に対して、従来のカーナビゲーションや携帯電話向けシステムLSIを始めとしたSoC(System−on−a−Chip)では、汎用プロセッサに専用DSP(Digital Signal Processor)を組み合わせることにより処理の高速化を実現していた(特許文献1及び特許文献2参照)。これらの技術では、圧縮処理を実施する専用DSPと、暗号化処理を実施する専用回路と、全体を制御する汎用プロセッサを組み合わせることで、圧縮処理と暗号化処理がシーケンシャルに実施されている。
また、近年のSoCでは複数の汎用プロセッサと、複数のプログラム可能なアクセラレータコア(例えば特許文献4参照)を搭載することが普通になってきている。
特開2004−172775号公報 特開2004−199785号公報 特開2005−316716号公報 特開2006−287675号公報
上記のように、近年のSoCでは複数の汎用プロセッサと、複数のプログラム可能なアクセラレータコアを搭載することが普通になってきている。そのため、それらのハードウェアリソースを有効活用するためには前述のAAC音声圧縮処理と暗号化処理を並列に実施する手法が必須となる。
そこで本願発明者は、複数の汎用プロセッサと、複数のプログラム可能なアクセラレータコアを用いて、音声データのAAC圧縮処理と圧縮後音声データの暗号化処理を並列に実行する手法を検討した。前述の2つの処理を高速に実行するためには、ハードウェアが演算を実行しない無駄な時間を減らす必要がある。ところが、音声データの圧縮処理はフレームと呼ばれる単位で実行されるが、限られたデータ量を効率良く用いてAAC圧縮処理を実行するために、フレーム毎に異なるビットレートを適用する可変ビットレート(Variable Bit Rate)方式が用いられることが多い。そのため、圧縮処理後の1フレームに割当てられるデータ量は、要求される音質、ソースとなる音楽データに大きく依存してしまう。従って、予め決められたフレーム数ごとに圧縮後音声データの暗号化処理を実行すると暗号化処理に要する時間が大きく変化してしまい、ハードウェアの動作に無駄が生じてしまう。
本発明の目的は、データの圧縮処理と暗号化処理とを並列に実行する場合の効率向上を図ることにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、複数のアクセラレータコアにおける第1アクセラレータコアのプログラムを暗号化処理用に再構成して圧縮後のデータの暗号化処理を行う際に、1フレーム分のデータの圧縮処理に要する時間と、上記第1アクセラレータコアのプログラム書換え時間、及び蓄積された圧縮後のデータの暗号化処理を上記第1アクセラレータコアで実施するのに要する時間の合計時間とがほぼ等しくなるように、第1汎用プロセッサによって圧縮後のデータ量を管理するものである。このような管理により、ハードウェアが演算を実行しない無駄な時間を低減する。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、音声データの圧縮処理と暗号化処理とを並列に実行する場合の効率向上を図ることができる。
1.代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係るデータ処理方法は、複数のアクセラレータコア(57,58)における第1アクセラレータコア(58)のプログラムを暗号化処理用に再構成して圧縮後のデータの暗号化処理を行う際に、1フレーム分のデータの圧縮処理に要する時間と、上記第1アクセラレータコアのプログラム書換え時間、及び蓄積された圧縮後のデータの暗号化処理を上記第1アクセラレータコアで実施するのに要する時間の合計時間とがほぼ等しくなるように、複数の汎用プロセッサ(51,52)における第1汎用プロセッサ(52)によって圧縮後のデータ量を管理するものである。
上記圧縮後のデータ量が一定値を超えた時点で第1アクセラレータコアのプログラムを書き換えて暗号化処理を実行する。このとき、他のアクセラレータコアでは次フレームの圧縮処理が行われる。上記圧縮後のデータ量が一定値以下の場合には上記第1アクセラレータコアは暗号化処理を終了し、再び圧縮処理用のプログラムに書き換えられる。
上記の構成によれば、1フレーム分のデータの圧縮処理に要する時間と、上記第1アクセラレータコアのプログラム書換え時間、及び蓄積された圧縮後のデータの暗号化処理を上記第1アクセラレータコアで実施するのに要する時間の合計時間とがほぼ等しくされる。それによって、ハードウェアが演算を実行しない無駄な時間を低減することができるので、データの圧縮処理と暗号化処理とを並列に実行する場合の効率向上を図ることができる。
〔2〕また、複数の汎用プロセッサを用いて、データの圧縮処理と圧縮後のデータの暗号化処理を実行する際に、上記汎用プロセッサで1フレーム分のデータの圧縮処理に要する時間と、蓄積された圧縮後のデータの暗号化処理を上記複数の汎用プロセッサにおける第1汎用プロセッサで実施するのに要する時間とがほぼ等しくなるように、上記第1汎用プロセッサによって圧縮後のデータ量を管理する。この場合においても、ハードウェアが演算を実行しない無駄な時間を低減することができるので、データの圧縮処理と暗号化処理とを並列に実行する場合の効率向上を図ることができる。
〔3〕上記圧縮後のデータ量の管理には、1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記第1汎用プロセッサ以外の汎用プロセッサそれぞれのフレームのデータ量を上記第1汎用プロセッサの内蔵メモリ(521)へ転送させ、そのデータ量の合計値を上記第1汎用プロセッサ(51)に計算させる処理を含めることができる。
〔4〕上記圧縮後のデータ量の管理には、1フレームが個々の汎用プロセッサで計算された後に、上記汎用プロセッサそれぞれのフレームのデータ量を、上記複数のプロセッサによって共有される共有メモリ(53)へ転送させ、そのデータ量の合計値を上記第1汎用プロセッサ(51)に計算させる処理を含めることができる。
〔5〕上記圧縮後のデータ量の管理には、1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記汎用プロセッサそれぞれのフレームのデータ量を、上記複数のプロセッサが形成されたチップ外に配置された外部メモリ(54)へ転送させ、そのデータ量の合計値を上記第1汎用プロセッサ(51)に計算させる処理を含めることができる。
〔6〕本発明の代表的な実施の形態に係るデータ処理装置(50)は、複数の汎用プロセッサ(51,52)と、それぞれプログラム可能な複数のアクセラレータコア(57,58)とを含む。そして、上記複数のアクセラレータコアは、暗号化処理用に再構成されて圧縮後のデータの暗号化処理を実行可能にプログラムが書き換えられる第1アクセラレータコア(58)を含み、複数の汎用プロセッサは、上記第1アクセラレータコアのプログラムを暗号化処理用に再構成して圧縮後のデータの暗号化処理が行われる際に、1フレーム分のデータの圧縮処理に要する時間と、上記第1アクセラレータコアのプログラム書換え時間、及び蓄積された圧縮後のデータの暗号化処理を上記第1アクセラレータコアで実施するのに要する時間の合計時間とがほぼ等しくなるように、圧縮後のデータ量を管理するための第1汎用プロセッサ(52)を含む。
上記の構成によれば、1フレーム分のデータの圧縮処理に要する時間と、上記第1アクセラレータコアのプログラム書換え時間、及び蓄積された圧縮後のデータの暗号化処理を上記第1アクセラレータコアで実施するのに要する時間の合計時間とがほぼ等しくされる。それによって、ハードウェアが演算を実行しない無駄な時間を低減することができるので、データの圧縮処理と暗号化処理とを並列に実行する場合の効率向上を図ることができる。
〔7〕上記第1アクセラレータコアは、その論理機能を定義する構成情報を含む制御情報に基づいて上記第1アクセラレータコアの内部状態の管理及び状態遷移制御を可能とする状態遷移管理部(601)と、上記構成情報の格納と転送を可能とする構成情報管理部(602)とを含んで構成することができる。その場合に、上記構成情報管理部と上記状態遷移管理部とを用いて上記第1アクセラレータコアのプログラムを暗号化処理用に再構成して圧縮後のデータの暗号化処理を行う。
2.実施の形態の説明
次に、実施の形態について更に詳述する。
尚、実施の形態を説明するための全図において同一の部材には原則として同一の符号を付すことにより、その説明を省略する。
図5には、本発明にかかるデータ処理装置の一例とされるSoC(System On a Chip)の構成例が示される。
図5に示されるSoC50は、システムバスによって外部メモリ(MEM)54に結合される。SoC50は、特に制限されないが、複数のIP(Intellectual Property)を含み、公知の半導体集積回路製造技術により、シリコン基板などの一つの半導体基板に形成される。上記複数のIPには、特に制限されないが、汎用プロセッサ(CPU)51,52、アクセラレータコア(PGACC)57,58、データ転送モジュール(DMAC)55、共有メモリ(MEM)53、メモリコントローラ(MEMCTL)56が含まれる。上記汎用プロセッサ51,52には、それぞれメモリ(MEM)511,512が内蔵されている。そして上記複数のIPは、バスBUS5を介して互いにデータのやり取り可能に結合されている。汎用プロセッサ51,52間では、フレーム圧縮後データの通信や、データ量管理が行われる。フレーム圧縮後のデータの格納先としては、各汎用プロセッサ51,52に内蔵されるメモリ511,521や、共有メモリ53、外部メモリ54が挙げられる。上記アクセラレータコア57,58は、予め設定されたプログラムに従って動的に再構成が可能であり、動的再構成可能プロセッサとも称される。共有メモリ(MEM)53,54は構成情報記憶領域を含む。汎用プロセッサ51は、共有メモリ53,54に格納されたCPU命令を順次実行するとともに、アクセラレータコア57の論理機能を定義する構成情報を含む制御情報及び演算データの転送制御を行う。
図6には、アクセラレータコア(PGACC)57の構成例が示される。
アクセラレータコア57は、特に制限されないが、状態遷移管理部(STCTL)601、構成情報管理部(COMPCTL)602、演算部(OP)604、データメモリ制御部(MEMCTL)606、データメモリ(DMEM)608を含んで構成される。状態遷移管理部(601)は外部バスBUS5、構成情報管理部602、演算部604及びデータメモリ制御部606に接続される。構成情報管理部602は、演算部604及びデータメモリ制御部606に接続される。演算部604は、データメモリ制御部606に接続される。データメモリ制御部606は、データメモリ608に接続されている。
状態遷移管理部601は、前記制御情報に基づき、アクセラレータコア57の内部状態の管理や状態遷移制御を行う。構成情報管理部602は、構成情報バッファ(BUFF)603を含み、構成情報の格納と、演算部604及びデータメモリ制御部606への構成情報の転送制御を行う。演算部604は、構成情報レジスタ(REG)605を含む複数の演算器から成り、入力された構成情報の格納及びデコードを行い、演算を実行する。データメモリ制御部606は、構成情報レジスタ607を含む複数のデータメモリ制御ブロックから成り、入力された構成情報の格納及びデコードを行い、データメモリ608へのメモリアクセスを行う。
上記の構成において、演算部604は、構成情報管理部602から入力された書き込み要求、書き込み先レジスタ情報などに基づき、構成情報レジスタ605の該当バンクへ構成情報を格納する。さらに、状態遷移管理部601から入力された状態遷移要求に基づき、構成情報レジスタ605の該当バンクから構成情報を読み出し、そのデコード結果に基づいて、演算の種類、データメモリ制御部606との入出力の接続を決定する。構成情報レジスタ605は、構成情報バッファ603よりも小容量のレジスタとされ、高速アクセスが可能であり、高速な状態遷移に対応できる。また、構成情報レジスタ605は、複数バンク構成とされることで、前記構成情報の転送において、書き込み先バンクと、読み出し元バンクに異なるバンクを指定することができる。それによって、構成情報管理部602から構成情報を書き込みながら、命令を読み出してデコードでき、演算部604を効率的に利用できる。データメモリ制御部606は、構成情報管理部602から入力された書き込み要求、書き込み先のレジスタ、書き込み先のバンク番号、構成情報に基づき、構成情報レジスタ607の該当バンクへ構成情報を格納する。さらに、状態遷移管理部601から入力された状態遷移要求、バンク番号に基づき、構成情報レジスタ607の該当バンクから構成情報を読み出し、上記データメモリ制御部606の構成を動的に変更する。
図1には、音声データのACC圧縮処理と、圧縮後音声データの暗号化処理との並列処理の基本的な同期ポイントが示される。この図1では、SoC上の主なIP(Intellectual Property)の処理内容がブロックで示され、同期のための制御信号が実線矢印で示され、代表的な処理に要する時間が破線矢印で示される。IPとしては、共有メモリ(MEM)53、汎用プロセッサ(CPU)51,52、プログラム可能なアクセラレータコア(PGACC)57,58を含む。処理には、フレームデータ送受信処理TRAN_REC−DATA1、フレーム圧縮処理ENC11A〜ENC17B、圧縮済みフレームデータ送信処理TRAN−ENCDATA11〜TRAN−ENCDATA16、圧縮済みデータ受信処理REC−ENCDATA11〜REC−ENCDATA16、プログラム書換え処理RECONF1、RECONF2、暗号化処理CRYPT11―14、データ量管理処理MD10〜MD17が含まれる。
尚、データの授受など細かい信号は省略してある。ここでは便宜的に、アクセラレータコア(PGACC)57と汎用プロセッサ(CPU)51のペアで、先のフレームデータの圧縮処理を実施し、アクセラレータコア(PGACC)58と汎用プロセッサ(CPU)52のペアで後のフレームデータの圧縮処理を実施するとして説明するが、フレームデータの順番は逆でも良いし、また、フレーム毎に変えても良い。
次に、各IPでの処理の流れについて説明する。
まず、音声データの1フレーム目のデータが共有メモリ(MEM)53からアクセラレータコア(PGACC)57へ転送され、2フレーム目のデータが共有メモリ(MEM)53からアクセラレータコア(PGACC)58へ転送される。次に、1フレーム目の圧縮処理が汎用プロセッサ(CPU)51とアクセラレータコア(PGACC)57をペアにして実施され、2フレーム目の圧縮処理が汎用プロセッサ(CPU)52とアクセラレータコア(PGACC)58をペアにして実施される。1フレーム目の圧縮処理のうち、汎用プロセッサ(CPU)51で処理する部分がENC11Aで、アクセラレータコア(PGACC)57で処理する部分がENC11Bであり、2フレーム目の圧縮処理のうち、汎用プロセッサ(CPU)52で処理する部分がENC12Aで、アクセラレータコア(PGACC)58で処理する部分がENC12Bである。
汎用プロセッサ(CPU)51は1フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)52へ通知する(MD11)。一方で、汎用プロセッサ(CPU)52も2フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)51へ通知する(MD12)。この時点でお互いの汎用プロセッサは、圧縮後フレームデータ量が一定値を越えているかどうか判定し、3フレーム目の圧縮処理と並行して暗号化処理を実施するかどうか、つまりアクセラレータコア(PGACC)58のプログラムを書換えるかどうかを決定する。ここでは、蓄積された圧縮後フレームデータ量が一定値を越えていないと想定しているため、3フレーム目の圧縮処理は汎用プロセッサ(CPU)51とアクセラレータコア(PGACC)57で、4フレーム目の圧縮処理は汎用プロセッサ(CPU)52とアクセラレータコア(PGACC)58で実施すると決定される。この後、各々のアクセラレータコア(PGACC)57とPGACC12で次フレームの処理が始まる前に、共有メモリ(MEM)53は必要なフレームデータをそれぞれのアクセラレータコアへ転送しておく。その間、汎用プロセッサ(CPU)51は1フレーム目の圧縮処理終了後に、その圧縮済みフレームデータの汎用プロセッサ(CPU)52への送信処理TRAN−ENCDATA11を実施し、その一方で3フレーム目のフレーム圧縮処理ENC13A、ENC13Bを、汎用プロセッサ(CPU)51とアクセラレータコア(PGACC)57で開始する。一方、汎用プロセッサ(CPU)52は2フレーム目の圧縮処理終了後に、1フレーム目の圧縮済みフレームデータの汎用プロセッサ(CPU)51からの受信処理REC−ENCDATA11を実施し、その間に4フレーム目のフレーム圧縮処理ENC14A、ENC14Bを、汎用プロセッサ(CPU)52とアクセラレータコア(PGACC)58で開始する。
次に、汎用プロセッサ(CPU)51は3フレーム目の圧縮後のフレームデータ量が確定した時点で、その圧縮後フレームデータ量を汎用プロセッサ(CPU)52へ通知する(MD13)。一方で、汎用プロセッサ(CPU)52も4フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)51へ通知する(MD14)。この時点で先程と同様に、お互いの汎用プロセッサは、圧縮後フレームデータ量が一定値を越えているかどうか判定し、アクセラレータコア(PGACC)58のプログラムを書換えるかどうかを決定する。ここでは、蓄積された圧縮後フレームデータ量が一定値を越えていたと想定しているため、5フレーム目の圧縮処理だけが汎用プロセッサ(CPU)51とアクセラレータコア(PGACC)57で実施すると決定される。その一方で、アクセラレータコア(PGACC)58では暗号化処理CRYPT11―14の実施が決定されるので、アクセラレータコア(PGACC)58では暗号化処理用へのプログラムの書換えRECONF1が開始される。この後、アクセラレータコア(PGACC)57で次フレームの処理が始まる前に、共有メモリ(MEM)53は必要なフレームデータをアクセラレータコア(PGACC)57へ転送しておく。その間、汎用プロセッサ(CPU)51は3フレーム目の圧縮処理終了後に、そのデータの汎用プロセッサ(CPU)52への送信処理TRAN−ENCDATA13を実施し、その間に5フレーム目のフレーム圧縮処理ENC15A、ENC15Bを、汎用プロセッサ(CPU)51とアクセラレータコア(PGACC)57で開始する。一方、汎用プロセッサ(CPU)52は4フレーム目の圧縮処理終了後に、3フレーム目の圧縮後のデータの汎用プロセッサ(CPU)51からの受信処理REC−ENCDATA13を実施し、アクセラレータコア(PGACC)58のプログラムの書換え完了後に、蓄積された1〜4フレーム目の圧縮後データのアクセラレータコア(PGACC)58への転送処理TRAN−ENCDATA11―14を開始する。
次に、汎用プロセッサ(CPU)51は5フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)52へ通知する(MD15)。汎用プロセッサ(CPU)52は、そのデータ量の通知信号を受信する一方で(MD10)、蓄積された圧縮後データが一定値以下となるまでアクセラレータコア(PGACC)58への転送処理TRAN−ENCDATA11―14を続行する。ここで、蓄積された圧縮後データが一定値以下となるまで転送処理を実行するようにしているのは、一般に、暗号化のデータ量に一定の単位が存在するためである。汎用プロセッサ(CPU)52は、蓄積された圧縮後データが一定値以下となったら、圧縮後データの転送を終了し、アクセラレータコア(PGACC)58のプログラムの圧縮処理用への書換えRECONF2を開始する。この場合は自動的に、6フレーム目の圧縮処理は汎用プロセッサ(CPU)51とアクセラレータコア(PGACC)57で、7フレーム目の圧縮処理は汎用プロセッサ(CPU)52とアクセラレータコア(PGACC)58で実施すると決定される。この後、各々のアクセラレータコア(PGACC)57、PGAC12で次フレームの処理が始まる前に、共有メモリ(MEM)53は必要なフレームデータをそれぞれのアクセラレータコア(PGACC)57、PGAC12へ転送しておく。その間、汎用プロセッサ(CPU)51は5フレーム目の圧縮処理終了後に、そのデータの汎用プロセッサ(CPU)52への送信処理TRAN−ENCDATA15を実施し、その間に6フレーム目のフレーム圧縮処理ENC16A、ENC16Bを、汎用プロセッサ(CPU)51とアクセラレータコア(PGACC)57で開始する。一方、汎用プロセッサ(CPU)52は圧縮処理用へのプログラムの書換えと、5フレーム目の圧縮後のデータの汎用プロセッサ(CPU)51からの受信処理REC−ENCDATA15が完了後に、7フレーム目のフレーム圧縮処理ENC17A、ENC17Bを汎用プロセッサ(CPU)52とアクセラレータコア(PGACC)58で開始する。以降のフレームの圧縮処理もこの繰り返しとなる。
以上述べてきたような並列処理方式では、フレームデータの圧縮処理時間に圧縮後フレームデータの送信処理時間を加えた時間T−ENC1と、暗号化処理CRYPT11―14に要する時間にアクセラレータコアのプログラム書換え時間RECONF1、RECONF2を加えた時間T−CRYPT1がほぼ等しくなるように蓄積される圧縮後データ量を管理することで、各IPを効率良く動作させることができ、それによって高速な処理が実行可能となる。
尚、図1に示される例では、2つの汎用プロセッサと、2つのアクセラレータコアを用いたが、それぞれ3つ以上の汎用プロセッサとアクセラレータコアを用いて並列処理を実行しても良い。その場合は、並列処理を実施する全ての汎用プロセッサ間で、圧縮後フレームデータ量を通知し合い、圧縮後フレームデータの蓄積量が一定値を超えた時点で1つのアクセラレータコアのプログラムを暗号化用に書換えて暗号化処理を実行すれば良い。その際に、1フレームの圧縮処理に要する時間と、アクセラレータコアのプログラム書換えに要する時間、及び蓄積された圧縮後フレームデータの暗号化処理に要する時間の合計時間がほぼ等しくなるようにするのは、2つの汎用プロセッサと2つのアクセラレータコアを用いた並列処理の場合と同様である。
図2には、図1の並列処理方式のフレームデータの圧縮処理が具体的に示される。
図2を用て、フレーム圧縮処理のうちアクセラレータコア(PGACC)57,58に割り当てる処理内容と、圧縮後フレームデータ量管理処理について詳しく述べる。
1フレーム分の圧縮処理は、アクセラレータコアPGACCと汎用プロセッサCPUを1つのペアとして並列に実施される。ここでは便宜的に、アクセラレータコア(PGACC)57と汎用プロセッサ(CPU)51のペアで、先のフレームデータの圧縮処理を実施し、アクセラレータコア(PGACC)58と汎用プロセッサ(CPU)52のペアで後のフレームデータの圧縮処理を実施するものとする。尚、フレームデータの順番は逆でも良いし、また、フレーム毎に変えても良い。ここでは、アクセラレータコア(PGACC)57に1フレーム目のデータが読み込まれ、アクセラレータコア(PGACC)58に2フレーム目のデータが読み込まれるとする。
AACなどに代表される1フレーム分の圧縮処理では、一般的にフレームデータ読込み処理(211、241)、フーリエ変換処理(212、242)、量子化処理(213、243)、符号化処理(223、234)、ビットレート判定処理(224、235)、パラメータ調整処理(225、236)、及びデータ量決定処理(226、237)が実施される。そして本例では、汎用プロセッサとアクセラレータコアを用いて、それらの圧縮処理を並列に実行し、さらに暗号化処理を効率よく実行するために、データ量管理(221、231)、圧縮後データ送信(222)、圧縮後データ受信(232)、圧縮後データの蓄積量判定処理(233)、暗号化用プログラム書換え処理(244)、圧縮後データ送信処理(238)、暗号化処理(245)、圧縮後データの残存量判定処理(239)、及び圧縮用プログラム書換え処理(246)が実施される。
上記処理の中で、フーリエ変換処理(212、242)、量子化処理(213、243)、符号化処理(223、234)、暗号化処理(245)の負荷が高いが、フーリエ変換処理(212、242)、量子化処理(213、243)、及び暗号化処理(245)は、アクセラレータコアを用いて比較的容易に高速化可能なので、アクセラレータコア(PGACC)57,58で処理すると効率が良い。一方の汎用プロセッサ(CPU)51,52では、それ以外の簡単な処理とアクセラレータコア(PGACC)57,58の制御を実施する。尚、汎用プロセッサ(CPU)で行う処理と,アクセラレータコアで行う処理の分担はこの限りでなく、各処理の負荷、IPの処理能力により適宜変更しても良い。さらにアクセラレータコア(PGACC)57,58を制御する汎用プロセッサは汎用プロセッサ(CPU)51,52以外であっても良い。
まず、アクセラレータコア(PGACC)57と汎用プロセッサ(CPU)51ペアの動作から説明する。アクセラレータコア(PGACC)57で1フレーム目のデータの読込み(211)、フーリエ変換(212)、量子化(213)が順に実施された後、汎用プロセッサで符号化など(223)が実施される。この結果を受けて、ビットレート値判定(224)が実施され、要求値以下でなければパラメータ調整(225)が実施され、アクセラレータコア(PGACC)57で量子化(213)以降の処理が再度実行される。一方、ビットレート値判定(224)で要求値以下となった場合は、フレームデータ圧縮後のデータ量が決定され(226)、そのデータ量を汎用プロセッサ(CPU)52と通信し合うことでフレームデータ圧縮後のデータ量を管理し、次に処理するフレームを決定する(221)。このとき、データ量の格納先は、汎用プロセッサ(CPU)51,52、いずれかの内蔵メモリ511であっても良いし、バスに接続される共有メモリ53であっても良いし、チップ外部で接続されるメモリ54であっても良い。ここでは、アクセラレータコア(PGACC)58と汎用プロセッサ(CPU)52のペアで2フレーム目を処理しているので、次は3フレーム目のデータを処理することになる。その後、1フレーム目の圧縮後データを送信する(222)。このとき、データの格納先は、汎用プロセッサ(CPU)51,52、いずれかの内蔵メモリであっても良いし、バスに接続される共有メモリであっても良いし、チップ外部で接続されるメモリであっても良い。以降は、上記処理が繰り返される。
次に、アクセラレータコア(PGACC)58と汎用プロセッサ(CPU)52ペアの動作を説明する。アクセラレータコア(PGACC)58で2フレーム目のデータの読込み(241)、フーリエ変換(242)、量子化(243)、符号化など(234)、ビットレート値判定(235)、パラメータ調整(236)の実行順序はアクセラレータコア(PGACC)57、汎用プロセッサ(CPU)52のペアと同一である。ここでその結果が要求ビットレート以下に収まっていた場合は、フレームデータ圧縮後のデータ量が決定され(237)、そのデータ量を汎用プロセッサ(CPU)51と通信し合うことでフレームデータ圧縮後のデータ量を管理し(231)、1フレーム目の圧縮後データが汎用プロセッサ(CPU)51から、汎用プロセッサ(CPU)52に内蔵されるメモリ521、あるいは、バスに接続される共有メモリ53、あるいは、チップ外部のメモリ54に転送される(232)。このとき、圧縮後のデータの蓄積量が指定値以下であれば、4フレーム目のデータが読み込み込まれて圧縮処理が開始される(241、242、243…)。一方、圧縮後のデータの蓄積量が指定値を越えた場合は、アクセラレータコア(PGACC)58のプログラムが暗号化処理用に書換えられ(244)、汎用プロセッサ(CPU)52に蓄積された圧縮後のデータをアクセラレータコア(PGACC)58へ暗号化するデータ単位で送信し(238)、アクセラレータコア(PGACC)58で逐次暗号化を実行する(245)。その間、圧縮後データの残存量が暗号化単位以下になったか判断し(239)、暗号化単位以下となった場合はアクセラレータコア(PGACC)58のプログラムを圧縮処理用に書換える(246)。この暗号化用のプログラム書換え(244)以降の処理を実施している時間で、アクセラレータコア(PGACC)57と汎用プロセッサ(CPU)51のペアでは次フレームの圧縮処理が完了しているので、その圧縮後データのデータ量を受信し、暗号化で残存した圧縮後データ量と合わせて新たな圧縮処理後のデータの蓄積量として管理する(231)。以降、上記と同様の処理が繰り返される。
上記例によれば、以下の作用効果を得ることができる。
フレーム単位の音声データの圧縮処理に要する時間と、プログラム可能なアクセラレータコアのプログラム書換え時間、及び、圧縮済み音声データの暗号化処理に要する時間の合計時間をほぼ等しくするため、蓄積された圧縮済みのデータ量を管理し、暗号化処理用にアクセラレータコアのプログラムを書換えるタイミングが制御される。このように蓄積された圧縮済みのデータ量を管理することで、予め決められたフレーム数ごとに暗号化処理を実施するよりもハードウェアを効率的に動作させることができる。搭載される汎用プロセッサやプログラム可能なアクセラレータコアの個数が増えるほど、この性能向上は顕著となる。
次に、別の処理例について説明する。
SoC上に複数の汎用プロセッサさえあれば、アクセラレータコアを用いなくても高速な並列処理が可能となる。図3には、その場合の並列処理例が示される。尚、図3において、SoC上の主なIPの処理内容をブロックで示し、同期するための制御信号を矢印で示し、代表的な処理に要する時間を点線の矢印で示している。
図3に示される並列処理では、図5及び図6に示される共有メモリ(MEM)53、汎用プロセッサ(CPU)51,52が使用され、アクセラレータコア57,58は使用されない。
処理内容は、フレームデータ送受信処理TRAN_REC−DATA3、フレーム圧縮処理ENC31〜ENC37、圧縮済みフレームデータ送信処理TRAN−ENCDATA31〜TRAN−ENCDATA36、圧縮済みデータ受信処理REC−ENCDATA31〜REC−ENCDATA36、暗号化処理CRYPT31―34から構成される。汎用プロセッサ(CPU)51,52で実施される圧縮処理中には、データ量管理処理MAN−DATAが含まれる。なお、データの授受など細かい信号は省略してある。ここでは便宜的に、アクセラレータコアPGACC31と汎用プロセッサ(CPU)51のペアで、先のフレームデータの圧縮処理を実施し、アクセラレータコアPGACC32と汎用プロセッサ(CPU)52のペアで後のフレームデータの圧縮処理を実施するとして説明するが、フレームデータの順番は逆でも良いし、また、フレーム毎に変えても良い。
次に、各IPでの処理の流れを説明する。
まず、音声データの1フレーム目のデータが共有メモリ(MEM)53から汎用プロセッサ31へ転送され、2フレーム目のデータが共有メモリ(MEM)53から汎用プロセッサ32へ転送される。次に、1フレーム目のフレーム圧縮処理ENC31が汎用プロセッサ(CPU)51で実施され、2フレーム目のフレーム圧縮処理ENC32が汎用プロセッサ(CPU)52で実施される。
汎用プロセッサ(CPU)51は1フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)52へ通知する(ENC31内のMAN−DATA)。一方で、汎用プロセッサ(CPU)52も2フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)51へ通知する(ENC32内のMAN−DATA)。この時点でお互いの汎用プロセッサは、蓄積された圧縮後フレームデータ量が一定値を越えているかどうか判定し、3フレーム目の圧縮処理と並行して汎用プロセッサ(CPU)52で暗号化処理を実施するかどうか決定する。ここでは、圧縮後フレームデータ量が一定値を越えていないと想定しているため、3フレーム目のフレーム圧縮処理ENC33は汎用プロセッサ(CPU)51で、4フレーム目のフレーム圧縮処理ENC34は汎用プロセッサ(CPU)52で実施すると決定される。この後、各々の汎用プロセッサ(CPU)51,52で次フレームの処理が始まる前に、共有メモリ(MEM)53は必要なフレームデータをそれぞれの汎用プロセッサへ転送しておく。その間、汎用プロセッサ(CPU)51は1フレーム目の圧縮処理終了後に、そのデータの汎用プロセッサ(CPU)52への送信処理TRAN−ENCDATA31を実施し、その終了後に3フレーム目のフレーム圧縮処理ENC33を汎用プロセッサ(CPU)51で開始する。一方、汎用プロセッサ(CPU)52は2フレーム目の圧縮処理終了後に、1フレーム目の圧縮後のデータの汎用プロセッサ(CPU)51からの受信処理REC−ENCDATA31を実施し、その終了後に4フレーム目のフレーム圧縮処理ENC34を汎用プロセッサ(CPU)52開始する。
次に、汎用プロセッサ(CPU)51は3フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)52へ通知する(ENC33内のMAN−DATA)。一方で、汎用プロセッサ(CPU)52も4フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)51へ通知する(ENC34内のMAN−DATA)。この時点で先程と同様に、お互いの汎用プロセッサは、圧縮後フレームデータ量が一定値を越えているかどうか判定し、5フレーム目のフレーム圧縮処理ENC35と並行して汎用プロセッサ(CPU)52で暗号化処理を実施するかどうかを決定する。ここでは、蓄積された圧縮後フレームデータ量が一定値を越えていたと想定しているため、5フレーム目のフレーム圧縮処理ENC35は汎用プロセッサ(CPU)51で実施すると決定される。その一方で、汎用プロセッサ(CPU)52では暗号化処理CRYPT31―34の実施が決定される。この後、汎用プロセッサ(CPU)51で次フレームの処理が始まる前に、共有メモリ(MEM)53は必要なフレームデータを汎用プロセッサ31へ転送しておく。その間、汎用プロセッサ(CPU)51は3フレーム目のフレーム圧縮処理ENC33の終了後に、そのデータの汎用プロセッサ(CPU)52への送信処理TRAN−ENCDATA33を実施し、その終了後に5フレーム目のフレーム圧縮処理ENC35を汎用プロセッサ(CPU)51で開始する。一方、汎用プロセッサ(CPU)52は4フレーム目のフレーム圧縮処理ENC34終了後に、3フレーム目の圧縮後のデータの汎用プロセッサ(CPU)51からの受信処理REC−ENCDATA33を実施後に、蓄積された1〜4フレーム目の圧縮後データの暗号化処理CRYPT31―34を開始する。
次に、汎用プロセッサ(CPU)51は5フレーム目の圧縮後フレームデータ量が確定した時点で、そのデータ量を汎用プロセッサ(CPU)52へ通知する(ENC35内のMAN−DATA)。汎用プロセッサ(CPU)52は、そのデータ量の通知信号を受信する一方で(CRYPT31−34内のMAN−DATA)、蓄積された圧縮後データが一定値以下となるまで暗号化処理CRYPT31―34を続行する。ここで、蓄積された圧縮後データが一定値以下とならないようにしているのは、一般に、暗号化時には対象データの最小単位が存在するためである。汎用プロセッサ(CPU)52は、蓄積された圧縮後データが一定値以下となったら暗号化処理を終了する。この場合は自動的に、6フレーム目の圧縮処理は汎用プロセッサ(CPU)51で、7フレーム目の圧縮処理は汎用プロセッサ(CPU)52で実施すると決定される。この後、各々の汎用プロセッサ(CPU)51,52で次フレームの処理が始まる前に、共有メモリ(MEM)53は必要なフレームデータをそれぞれの汎用CPU31、CPU32へ転送しておく。その間、汎用プロセッサ(CPU)51は5フレーム目の圧縮処理終了後に、そのデータの汎用プロセッサ(CPU)52への送信処理TRAN−ENCDATA35を実施し、その終了後に6フレーム目のフレーム圧縮処理ENC36を汎用プロセッサ(CPU)51で開始する。一方、汎用プロセッサ(CPU)52は暗号化処理CRYPT31―34と、5フレーム目の圧縮後のデータの汎用プロセッサ(CPU)51からの受信処理REC−ENCDATA35が完了後に、7フレーム目のフレーム圧縮処理ENC37を汎用プロセッサ(CPU)52で開始する。以降のフレームの圧縮処理もこの繰り返しとなる。
以上述べてきたような並列処理方式にでは、フレームデータの圧縮処理時間T−ENC3と、暗号化処理CRYPT31―34に要する時間T−CRYPT3がほぼ等しくなるように蓄積される圧縮後データ量を管理することで、各IPが効率的に使用されることにより高速な処理が実行可能となる。
フレームデータの圧縮処理の1フレーム分の詳細フローチャートは、図2においてアクセラレータコア(PGACC)57で実施している処理も汎用プロセッサ(CPU)51で処理し、アクセラレータコア(PGACC)58で実施している処理も汎用プロセッサ(CPU)52で処理した場合に相当する。
尚、図3の例では2つの汎用プロセッサを用いたが、3つ以上の汎用プロセッサを用いて並列処理を実行しても良い。このとき、並列処理を実施する全ての汎用プロセッサ間で、圧縮後フレームデータ量を通知し合い、圧縮後フレームデータの蓄積量が一定値を超えた時点で1つ、またはそれ以上の汎用プロセッサで暗号化処理を実行すれば良い。この場合はアクセラレータコアのプログラムを書換える必要がないため、1フレームの圧縮処理に要する時間と、蓄積された圧縮後フレームデータの暗号化処理に要する時間とがほぼ等しくなるようにすれば良い。
図4には、図3の並列処理方式のフレームデータの圧縮処理が具体的に示される。この図を用いて、フレーム圧縮処理と圧縮後フレームデータ量管理処理について詳しく述べる。フレームの圧縮処理に用いるIPとしては、汎用プロセッサ(CPU)51,52である。ここでは便宜的に、汎用プロセッサ(CPU)51で、先のフレームデータの圧縮処理を実施し、汎用プロセッサ(CPU)52で後のフレームデータの圧縮処理を実施するとして説明するが、フレームデータの順番は逆でも良いし、また、フレーム毎に変えても良い。ここでは、汎用プロセッサ(CPU)51に1フレーム目のデータが読み込まれ、汎用プロセッサ(CPU)52に2フレーム目のデータが読み込まれるものとする。
先ず、汎用プロセッサ(CPU)51の動作から説明する。汎用プロセッサ(CPU)51で1フレーム目のデータの読込み(4103)、フーリエ変換(4103)、量子化(4105)が順に実施された後、符号化処理など(4106)が実施される。この結果を受けて、ビットレート値判定(4107)が実施され、要求値以下でなければパラメータ調整(4108)が実施され、引き続き汎用プロセッサ(CPU)51で量子化(4105)以降の処理が再度実行される。一方、ビットレート値判定(4107)で要求値以下となった場合は、フレームデータ圧縮後のデータ量が決定され(4109)、そのデータ量を汎用プロセッサ(CPU)52と通信し合うことで、フレームデータ圧縮後のデータ量が管理され、次に処理するフレームのビットレート量が決定される(4101)。このとき、データ量の格納先は、汎用プロセッサ(CPU)51,52、いずれかの内蔵メモリ511,521であっても良いし、バスに接続される共有メモリ53であっても良いし、チップ外部で接続されるメモリ54であっても良い。ここでは、汎用プロセッサ(CPU)52で2フレーム目を処理しているので、汎用プロセッサ(CPU)51は次に3フレーム目のデータを処理することになる。その後、汎用プロセッサ(CPU)51は1フレーム目の圧縮後データを送信する(4102)。このとき、データ量の格納先は、汎用プロセッサ(CPU)51,52、いずれかの内蔵メモリ511,521であっても良いし、バスに接続される共有メモリ53であっても良いし、チップ外部で接続されるメモリ54であっても良い。以降は、上記処理が繰り返される。
次に、汎用プロセッサ(CPU)52ペアの動作を説明する。汎用プロセッサ(CPU)52で2フレーム目のデータの読込み(4204)、フーリエ変換(4205)、量子化(4206)、符号化など(4207)、ビットレート値判定(4208)、パラメータ調整(4209)の実行順序は汎用プロセッサ(CPU)52と同一である。ここでその結果が要求ビットレート以下に収まっていた場合は、フレームデータ圧縮後のデータ量が決定され(4210)、そのデータ量を汎用プロセッサ(CPU)51と通信し合うことでフレームデータ圧縮後のデータ量を管理する(4201)。このとき、データ量の格納先は、前述のように汎用プロセッサ(CPU)51,52、いずれかの内蔵メモリであっても良いし、バスに接続される共有メモリであっても良いし、チップ外部で接続されるメモリであっても良い。その後、汎用プロセッサ(CPU)51で生成された1フレーム目の圧縮後データの転送が終了したことを確認する(4202)。このとき、圧縮後のデータの蓄積量の合計値が指定値以下であれば、4フレーム目のデータを読み込み圧縮処理が開始される。一方、圧縮後のデータの蓄積量が指定値を越えた場合は、汎用プロセッサ(CPU)52で逐次暗号化を実行する(4211)。その間、圧縮後データの残存量が暗号化単位以下になったか判断し(4212)、暗号化単位以下となった場合は、汎用プロセッサ(CPU)51で次フレームの圧縮処理が終了するのを待つ。汎用プロセッサ(CPU)51での圧縮処理終了後にその圧縮後データのデータ量を受信し、暗号化で残存した圧縮後データ量と合わせて新たな圧縮処理後のデータの蓄積量として管理する(4201)。このときのデータ量の格納先は上記の場合と同様に、汎用プロセッサ(CPU)51,52、いずれかの内蔵メモリ511,521であっても良いし、バスに接続される共有メモリ53であっても良いし、チップ外部で接続されるメモリ54であっても良い。以降、上記と同様の処理が繰り返される。
このように上記の例によれば、SoC上のIPを効率的に用いて圧縮処理と暗号化処理、あるいは圧縮処理のみを高速に並列処理することが可能となる。そして、高速な並列処理が可能ならば、処理を完了したIPの電源を遮断したり、逆に動作周波数を遅くしたりすることで、要求性能を満たしながら低電力な圧縮処理と暗号化処理、あるいは圧縮処理のみを実行することができる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
上記の例では音声データを処理対象としたが、映像データやその他のデジタルデータを処理対象とすることができる。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるSoCに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種データ処理装置に広く適用することができる。
本発明にかかるデータ処理装置の一例であるSoCにおける音声データのACC圧縮処理と、圧縮後音声データの暗号化処理との並列処理の説明図である。 図1に示される並列処理の具体的な流れを示すフローチャートである。 上記SoCにおける音声データのACC圧縮処理と、圧縮後音声データの暗号化処理との並列処理の別の説明図である。 図3に示される並列処理の具体的な流れを示すフローチャートである。 上記SoCの全体的な構成例ブロック図である。 上記SoCに含まれるアクセラレータコアの構成例ブロック図である。
符号の説明
50 SoC
51,52 汎用プロセッサ
53 共有メモリ
54 外部メモリ
511,521 内蔵メモリ
55 データ転送モジュール
56 メモリコントローラ
57,58 アクセラレータコア
601 状態遷移管理部
602 構成情報管理部
603 構成情報バッファ
604 演算部
605 構成情報レジスタ
606 データメモリ制御部
607 構成情報レジスタ
608 データメモリ

Claims (11)

  1. 複数の汎用プロセッサと、それぞれプログラム可能な複数のアクセラレータコアとを用いてデータの圧縮処理を並列実行するデータ処理方法であって、
    上記複数のアクセラレータコアにおける第1アクセラレータコアのプログラムを暗号化処理用に再構成して圧縮後のデータの暗号化処理を行う際に、1フレーム分のデータの圧縮処理に要する時間と、上記第1アクセラレータコアのプログラム書換え時間、及び蓄積された圧縮後のデータの暗号化処理を上記第1アクセラレータコアで実施するのに要する時間の合計時間とがほぼ等しくなるように、上記複数の汎用プロセッサによって圧縮されたデータ量の合計を計算してそのデータ量が一定量に達した時点で上記第1アクセラレータコアのプログラムの暗号化用再構成を開始する制御を行うことを特徴とするデータ処理方法。
  2. 上記制御は、1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記第1汎用プロセッサ以外の汎用プロセッサそれぞれのフレームのデータ量を上記第1汎用プロセッサの内蔵メモリへ転送させ、そのデータ量の合計値を上記第1汎用プロセッサに計算させる処理を含む請求項1記載のデータ処理方法。
  3. 上記制御は、上記圧縮後のデータ量の管理は、1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記汎用プロセッサそれぞれのフレームのデータ量を、上記複数のプロセッサによって共有される共有メモリへ転送させ、そのデータ量の合計値を上記第1汎用プロセッサに計算させる処理を含む請求項1記載のデータ処理方法。
  4. 上記制御は、1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記汎用プロセッサそれぞれのフレームのデータ量を、上記複数のプロセッサが形成されたチップ外に配置された外部メモリへ転送させ、そのデータ量の合計値を上記第1汎用プロセッサに計算させる処理を含む請求項1記載のデータ処理方法。
  5. 複数の汎用プロセッサを用いて、データの圧縮処理と圧縮後のデータの暗号化処理を実行する際に、上記汎用プロセッサで1フレーム分のデータの圧縮処理に要する時間と、蓄積された圧縮後のデータの暗号化処理を上記複数の汎用プロセッサにおける第1汎用プロセッサで実施するのに要する時間とがほぼ等しくなるように、上記複数の汎用プロセッサによって圧縮されたデータ量の合計を計算してそのデータ量が一定量に達した時点で上記第1アクセラレータコアのプログラムの暗号化用再構成を開始する制御を行い、
    上記制御は、1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記第1汎用プロセッサ以外の汎用プロセッサそれぞれのフレームのデータ量を上記第1汎用プロセッサの内蔵メモリへ転送させ、そのデータ量の合計値を上記第1汎用プロセッサに計算させる処理を含むデータ処理方法。
  6. 複数の汎用プロセッサを用いて、データの圧縮処理と圧縮後のデータの暗号化処理を実行する際に、上記汎用プロセッサで1フレーム分のデータの圧縮処理に要する時間と、蓄積された圧縮後のデータの暗号化処理を上記複数の汎用プロセッサにおける第1汎用プロセッサで実施するのに要する時間とがほぼ等しくなるように、上記複数の汎用プロセッサによって圧縮されたデータ量の合計を計算してそのデータ量が一定量に達した時点で上記第1アクセラレータコアのプログラムの暗号化用再構成を開始する制御を行い、
    上記制御は、上記圧縮後のデータ量の管理は、1フレームのが個々の汎用プロセッサで計算された後に、上記汎用プロセッサそれぞれのフレームのデータ量を、上記複数のプロセッサによって共有される共有メモリへ転送させ、そのデータ量の合計値を上記第1汎用プロセッサに計算させる処理を含むデータ処理方法
  7. 複数の汎用プロセッサを用いて、データの圧縮処理と圧縮後のデータの暗号化処理を実行する際に、上記汎用プロセッサで1フレーム分のデータの圧縮処理に要する時間と、蓄積された圧縮後のデータの暗号化処理を上記複数の汎用プロセッサにおける第1汎用プロセッサで実施するのに要する時間とがほぼ等しくなるように、上記複数の汎用プロセッサによって圧縮されたデータ量の合計を計算してそのデータ量が一定量に達した時点で上記第1アクセラレータコアのプログラムの暗号化用再構成を開始する制御を行い、
    上記制御は、1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記汎用プロセッサそれぞれのフレームのデータ量を、上記複数のプロセッサが形成されたチップ外に配置された外部メモリへ転送させ、そのデータ量の合計値を上記第1汎用プロセッサに計算させる処理を含むデータ処理方法
  8. 複数の汎用プロセッサと、それぞれプログラム可能な複数のアクセラレータコアとを含むデータ処理装置であって、
    上記複数のアクセラレータコアは、暗号化処理用に再構成されて圧縮後のデータの暗号化処理を実行可能にプログラムが書き換えられる第1アクセラレータコアを含み、
    複数の汎用プロセッサは、上記第1アクセラレータコアのプログラムを暗号化処理用に再構成して圧縮後のデータの暗号化処理が行われる際に、1フレーム分のデータの圧縮処理に要する時間と、上記第1アクセラレータコアのプログラム書換え時間、及び蓄積された圧縮後のデータの暗号化処理を上記第1アクセラレータコアで実施するのに要する時間の合計時間とがほぼ等しくなるように、上記複数の汎用プロセッサによって圧縮されたデータ量の合計を計算してそのデータ量が一定量に達した時点で上記第1アクセラレータコアのプログラムの暗号化用再構成を開始する制御を行う第1汎用プロセッサを含んで成ることを特徴とするデータ処理装置。
  9. 上記第1アクセラレータコアは、その論理機能を定義する構成情報を含む制御情報に基づいて上記第1アクセラレータコアの内部状態の管理及び状態遷移制御を可能とする状態遷移管理部と、
    上記構成情報の格納と転送を可能とする構成情報管理部と、を含み、
    上記構成情報管理部と上記状態遷移管理部とを用いて上記第1アクセラレータコアのプログラムを暗号化処理用に再構成して圧縮後のデータの暗号化処理を可能とする請求項8記載のデータ処理装置。
  10. 上記第1汎用プロセッサは、1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記第1汎用プロセッサ以外の汎用プロセッサそれぞれのフレームのデータ量が転送される内蔵メモリを含み、上記内蔵メモリ内のデータ量の合計値を計算する請求項8記載のデータ処理装置。
  11. 1フレームのデータ量が個々の汎用プロセッサで計算された後に、上記汎用プロセッサそれぞれのフレームの音声データ量が転送される共有メモリを含み、上記第1汎用プロセッサは、上記共有メモリ内の音声データ量の合計値を計算する請求項8記載のデータ処理装置。
JP2007020791A 2007-01-31 2007-01-31 データ処理方法及びデータ処理装置 Expired - Fee Related JP4279317B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007020791A JP4279317B2 (ja) 2007-01-31 2007-01-31 データ処理方法及びデータ処理装置
US12/000,852 US20080235519A1 (en) 2007-01-31 2007-12-18 Data processing method and data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007020791A JP4279317B2 (ja) 2007-01-31 2007-01-31 データ処理方法及びデータ処理装置

Publications (2)

Publication Number Publication Date
JP2008186345A JP2008186345A (ja) 2008-08-14
JP4279317B2 true JP4279317B2 (ja) 2009-06-17

Family

ID=39729319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007020791A Expired - Fee Related JP4279317B2 (ja) 2007-01-31 2007-01-31 データ処理方法及びデータ処理装置

Country Status (2)

Country Link
US (1) US20080235519A1 (ja)
JP (1) JP4279317B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133883B2 (en) * 2009-02-09 2018-11-20 International Business Machines Corporation Rapid safeguarding of NVS data during power loss event
CN101919203A (zh) * 2009-02-26 2010-12-15 Lsi公司 用于加密器硬件服务的与加密器无关的接口
US8424100B2 (en) * 2010-03-29 2013-04-16 Motorola Solutions, Inc. System and method of vetting data
US10102706B2 (en) 2011-08-23 2018-10-16 Vendrx, Inc. Beneficial product dispenser
US8977390B2 (en) 2011-08-23 2015-03-10 Vendrx, Inc. Systems and methods for dispensing beneficial products
US9110670B2 (en) 2012-10-19 2015-08-18 Microsoft Technology Licensing, Llc Energy management by dynamic functionality partitioning
US9417925B2 (en) 2012-10-19 2016-08-16 Microsoft Technology Licensing, Llc Dynamic functionality partitioning

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04127747A (ja) * 1990-09-19 1992-04-28 Toshiba Corp 可変レート符号化方式
JP4228304B2 (ja) * 2003-06-26 2009-02-25 ソニー株式会社 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
JP2006287675A (ja) * 2005-04-01 2006-10-19 Renesas Technology Corp 半導体集積回路

Also Published As

Publication number Publication date
US20080235519A1 (en) 2008-09-25
JP2008186345A (ja) 2008-08-14

Similar Documents

Publication Publication Date Title
JP4279317B2 (ja) データ処理方法及びデータ処理装置
US7920584B2 (en) Data processing system
US20040015970A1 (en) Method and system for data flow control of execution nodes of an adaptive computing engine (ACE)
US7877428B2 (en) Processor system including processor and coprocessor
JP2007520766A (ja) データドリブンアーキテクチャにおける選択可能なハードウェアアクセラレータのための装置及び方法
JP2013005452A (ja) マルチフォーマットビデオ処理のためのコンフィギュレーションバッファ割当
JP2002041285A (ja) データ処理装置およびデータ処理方法
US20110316862A1 (en) Multi-Processor
WO2014100954A1 (zh) 数据控制方法及系统
US7861012B2 (en) Data transmitting device and data transmitting method
US7848610B2 (en) Data processing system, reproduction apparatus, computer, reproduction method, program, and storage medium
US8688947B1 (en) Aligned data access
TW202107408A (zh) 波槽管理之方法及裝置
JP4640880B2 (ja) マイクロプロセッサシステム
US7903885B2 (en) Data converting apparatus and method
US7729591B2 (en) Data processing apparatus, reproduction apparatus, data processing system, reproduction method, program, and storage medium
JP2007109109A (ja) メディア処理装置
US20110197202A1 (en) Handling Messages in a Computing Device
US7350035B2 (en) Information-processing apparatus and electronic equipment using thereof
US20100014396A1 (en) Drive apparatus, drive method, program, and recording medium
JP3273926B2 (ja) ディジタル信号処理装置
JP2011160077A (ja) 復号装置および方法
WO2010055706A1 (ja) データ処理装置、データ処理方法及びプログラム
Zhang et al. A Low-Cost Multi-standard Audio Decoder Architecture Design
JP2004326922A (ja) 情報処理装置、情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090310

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090311

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees