JP2008299610A - マルチプロセッサ - Google Patents

マルチプロセッサ Download PDF

Info

Publication number
JP2008299610A
JP2008299610A JP2007145264A JP2007145264A JP2008299610A JP 2008299610 A JP2008299610 A JP 2008299610A JP 2007145264 A JP2007145264 A JP 2007145264A JP 2007145264 A JP2007145264 A JP 2007145264A JP 2008299610 A JP2008299610 A JP 2008299610A
Authority
JP
Japan
Prior art keywords
memory
data
video data
encoding
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007145264A
Other languages
English (en)
Inventor
Seiichiro Saito
誠一郎 齋藤
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 JP2007145264A priority Critical patent/JP2008299610A/ja
Priority to US12/129,354 priority patent/US8190582B2/en
Publication of JP2008299610A publication Critical patent/JP2008299610A/ja
Priority to US13/228,916 priority patent/US20110316862A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/423Methods 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 characterised by memory arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

【課題】トランスコーデックを効率的に実行する。
【解決手段】本発明の一態様に係るマルチプロセッサ1は、第1の圧縮データ13aを取得し、第1の圧縮データ13aを第1メモリ12aに記憶し、第1メモリ12aに記憶された第1の圧縮データ13aをデコードし、このデコードされたデータ13bを第2メモリ12bに記憶するハードウェアデコード手段と、複数のプロセッサエレメント4a〜4dのうちの少なくとも一つであり、第3メモリ12eに記憶されているソフトウェア13eにしたがって、第2メモリ12bに記憶されているデコードされたデータ13bをエンコードし、このエンコードにより得られた第2の圧縮データ13cを第4メモリ12cに記憶するデコード処理プロセッサエレメントとを具備し、第4メモリ12cに記憶されている第2の圧縮データ13cを外部に出力する。
【選択図】 図1

Description

本発明は、複数のプロセッサエレメントを備えたマルチプロセッサに関する。
特許文献1では、伸張された動画像データをソフトウェアにて伸張するソフトウェア部と、ソフトウェア処理部にて処理された動画像データを格納するデータ記憶部と、データ記憶部からの動画像データをハードウェアにて伸張処理するハードウェア処理部を有する圧縮動画像のエンコード装置、が開示されている。
特許文献2では、所定のデータ処理をソフトウェアによって実現するソフトウェア処理部と、所定のデータ処理をハードウェアによって実現するハードウェア処理部とを有するデータ処理装置、が開示されている。
特許文献3では、ハードウェアによって構成された第1のコーデックと、ソフトウェアを実行することによって符号化復号化を行う第2のコーデックを有する構成が開示されている。
特許文献4では、複雑な演算を多く含む部分は並列処理可能なマイクロプロセッサで処理し、比較的単純ではあるが並列化が本質的に困難な処理はブロックローダ、VLCデコーダを用いてハードウェアで処理することが開示されている。
特許文献5では、処理量の多い画像圧縮伸張アルゴリズムの信号処理において、ソフトウェアとハードウェアで負荷が分散され高い処理能力と柔軟性を実現した信号処理装置、が開示されている。
近年、地上デジタル放送やBSハイビジョン放送が普及しつつあり、これらの放送に関わる映像データは、DVDレコーダ、パーソナルコンピュータなどで処理される。地上デジタル放送やBSハイビジョン放送などの映像データを処理ためのアプリケーション・ソフトウェアの数は増加傾向にあると考えられる。
パーソナルコンピュータで、ある形式により圧縮された映像データを他の形式により圧縮された映像データに変換するトランスコーデックを行う場合、トランスコーデックのための処理をCPU(Central Processing Unit)が行うため、CPUに負荷が集中する。
特開2004−356850号公報 特開2001−27986号公報 特開2000−115277号公報 特開平9−84004号公報 特開2005−70938号公報
トランスコーデックをCPUで集中的に処理する場合、このCPUで実行される他のアプリケーション・ソフトウェアの処理速度が遅くなる場合がある。また、CPUに負荷がかかり、トランスコーデックの処理自体をリアルタイムに実行することが困難になる可能性もある。
GPU(Graphics Processing Unit)がトランスコーデックを行う場合、このGPUは本来コンピュータグラフィックス処理のためのプロセッサであるため、実行する処理に対する費用対効果が低下する。また、映像データを扱うシステムにおいては、チップセットのビデオ出力機能が利用され、GPUが省かれたシステムが多く利用されている。
本発明は、以上のような実情に鑑みてなされたもので、トランスコーデックを効率的に実行し、映像データのリアルタイム性を確保した状態でデータ転送可能とするマルチプロセッサを提供することを目的とする。
上記課題は、外部から取得した第1の圧縮データを第1メモリに記憶する第1制御手段と、第1メモリに記憶された第1の圧縮データをデコードし、このデコードされたデータを第2メモリに記憶するハードウェアデコード手段と、複数のプロセッサエレメントのうちの少なくとも一つであり、第3メモリに記憶されているエンコードソフトウェアにしたがって、第2メモリに記憶されているデコードされたデータをエンコードし、このエンコードにより得られた第2の圧縮データを第4メモリに記憶するエンコード処理プロセッサエレメントと、第4メモリに記憶されている第2の圧縮データを外部に出力する第2制御手段とを具備するマルチプロセッサ、により解決される。
上記課題は、外部から取得した第1の圧縮データを第1メモリに記憶する第1制御手段と、第1メモリに記憶された第1の圧縮データをデコードし、このデコードされたデータを第2メモリに記憶するハードウェアデコード手段と、複数のプロセッサエレメントのうちの少なくとも一つであり、第3メモリに記憶されている編集ソフトウェアにしたがって、第2メモリに記憶されているデコードされたデータを編集し、編集データを作成する編集処理プロセッサエレメントと、複数のプロセッサエレメントのうちの少なくとも一つであり、編集処理プロセッサエレメントによって作成された編集データを、第4メモリに記憶されているエンコードソフトウェアにしたがってエンコードし、このエンコードにより得られた第2の圧縮データを第5メモリに記憶するエンコード処理プロセッサエレメントと、第5メモリに記憶されている第2の圧縮データを外部に出力する第2制御手段とを具備するマルチプロセッサ、により解決される。
上記課題は、外部から取得した第1の圧縮データを第1メモリに記憶する第1制御手段と、第1メモリに記憶された第1の圧縮データをデコードし、このデコードされたデータを第2メモリに記憶するハードウェアデコード手段と、複数のプロセッサエレメントのうちの少なくとも一つであり、第3メモリに記憶されている編集ソフトウェアにしたがって、第2メモリに記憶されているデコードされたデータを編集し、編集データを作成する編集処理プロセッサエレメントと、編集処理プロセッサエレメントによって作成された編集データをエンコードし、このエンコードにより得られた第2の圧縮データを第4メモリに記憶するハードウェアエンコード手段と、第4メモリに記憶されている第2の圧縮データを外部に出力する第2制御手段とを具備するマルチプロセッサ、により解決される。
本発明により、トランスコーデックを効率的に実行することができ、映像データのリアルタイム性を確保した状態でデータ転送を行うことができる。
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において同様の機能を実現する部分については同一の符号を付して説明を省略する。
(第1の実施の形態)
本実施の形態においては、圧縮された映像データのデコード(伸張)に関しては固定的なフォーマットが多いためハードウェアで処理し、映像データのエンコードに関しては様々なデバイスに対応するフォーマットへの変換を可能とするためにプログラマブルなプロセッサエレメント(例えば、DSP:Digital Signal Processor)によりソフトウェアで柔軟に処理するマルチプロセッサについて説明する。
図1は、本実施の形態に係るマルチプロセッサの一例を示すブロック図である。
マルチプロセッサ1は、ハードウェアデコード部2、ハードウェアデコード部3、複数のプロセッサエレメント(SPE:Synergistic Processor Element)4a〜4d、例えばPCI Expressなどの高速の汎用バスインタフェース(PCIe I/F)5、メモリインタフェース6、制御プロセッサ(SCP:System Control Processor)7、データ転送部(DMAC:Direct Memory Access Controller)8、を内部バス(Interconnect Network)9で接続した構成を持つ。
汎用バスインタフェース5は、外部装置10とバス11経由でデータのやり取りを行う。
メモリインタフェース(メモリコントローラ)6は、ハードウェアデコード部2,3及び複数のプロセッサエレメント4a〜4dに利用されるメモリ12a〜12eと接続されている。
メモリ12a〜12eは、それぞれ、マルチプロセッサ1に受け付けられた圧縮映像データ13a、圧縮映像データ13aがデコードされて得られた映像データ13b、映像データ13bが編集・圧縮されて得られた圧縮映像データ13c、編集ソフトウェア13d、エンコードソフトウェア13eを記憶する。なお、メモリ12a〜12eは、例えば一つのメモリによって実現されるなどのように、自由に組み合わせた構成としてもよい。
制御プロセッサ7は、ハードウェアデコード部2,3、複数のプロセッサエレメント4a〜4d、データ転送部8などを制御するプロセッサである。
データ転送部8は、汎用バスインタフェース5とメモリインタフェース6との間で、データ転送を行う。
ハードウェアデコード部2は、ハードウェアにより構成されており、第1の形式により圧縮されたデータ(例えばmpeg2/mpeg1)のデコードを行う。
ハードウェアデコード部3は、ハードウェアにより構成されており、第2の形式により圧縮されたデータ(例えばH.264/VC1)のデコードを行う。
複数のプロセッサエレメント4a〜4dは、制御プロセッサ7による制御にしたがって、並列動作可能である。複数のプロセッサエレメント4a〜4dのうちの少なくとも一つは、制御プロセッサ7にしたがってメモリ12dの編集ソフトウェア13dを実行し、編集データを作成する。
また、複数のプロセッサエレメント4a〜4dのうちの少なくとも一つは、制御プロセッサ7にしたがってメモリ13eのエンコードソフトウェア13eを実行し、デコードされた映像データ13b又は編集データなどのような各種のデータをエンコードする。
なお、本実施の形態においては、4つのプロセッサエレメント4a〜4dがマルチプロセッサ1に備えられている場合を例として説明しているが、マルチプロセッサ1に備えられているプロセッサエレメントの数は2以上であれば自由に変更可能である。
すなわち、マルチプロセッサ1において、デコードはハードウェアであるハードウェアデコード部2又はハードウェアデコード部3により実行され、エンコードはプロセッサエレメント4a〜4dのうちの少なくとも一つ上で動作するエンコードソフトウェア13eにより実現される。
映像データの解像度やフォーマットの数は、例えば地上デジタル放送、BSハイビジョン放送、HD−DVD、Blue Ray、などの規格で固定的に決まるため、本実施の形態においては、圧縮映像データ13aのデコードをハードウェアであるハードウェアデコード部2又はハードウェアデコード部3で固定的に処理する。一般的に、ある処理をハードウェアで構成した場合、チップ面積は小さくなる。
圧縮された映像データを再生する装置は、例えば携帯電話、ポータブルビデオプレイヤー、DVDレコーダ、ゲーム機、コンピュータシステムなどのように、多岐にわたる。このように、多岐にわたる圧縮映像データの再生装置については、解像度やフォーマットが統一的に定められておらず、各製品の製作会社が解像度及びフォーマットを自由に決定している場合が多い。したがって、本実施の形態に係るマルチプロセッサ1において、映像データのエンコードは、圧縮映像データの再生装置に応じた形式で柔軟に行うために、エンコードソフトウェア13eによりプロセッサエレメント4a〜4dで行う。
エンコードソフトウェア13eはアップデートが可能であるため、マルチプロセッサ1が出荷された後に、圧縮映像データの再生装置やエンコードの規格が変わったとしても対応可能である。
上記のような構成を持つマルチプロセッサ1の処理を、図2から図5を用いて説明する。
図2は、本実施の形態において、圧縮映像データ13aを受け付けた後、メモリ12aに記憶するまでの動作の一例を示すブロック図である(第1段階)。
制御プロセッサ7は、データ転送部8を制御する。データ転送部8は、外部装置10からバス11経由で、汎用バスインタフェース5によって受信された圧縮映像データ(圧縮されている映像ストリーム)13aを、内部バス9経由で、メモリインタフェース6に転送する。メモリインタフェース6は、圧縮映像データ13aをメモリ12aに記憶する。
より具体的に説明すると、制御プロセッサ7は、データ転送部8に、転送元アドレス、転送先アドレス、転送データサイズ、転送指示を与える。データ転送部8は、内部のレジスタに、転送元アドレス、転送先アドレス、転送データサイズを記憶し、このレジスタの内容にそって、汎用バスインタフェース5から内部バス9経由でメモリインタフェース6に圧縮映像データ13aを転送し、圧縮映像データ13aをメモリ12aに記憶させる。
図3は、本実施の形態において、圧縮映像データ13aをデコードし、デコードされた映像データ13bをメモリ12bに記憶するまでの動作の一例を示すブロック図である(第2段階)。なお、この図3では、ハードウェアデコード部2を用いる場合を例示しているが、ハードウェアデコード部3を用いる場合も同様である。
制御プロセッサ7は、ハードウェアデコード部2を制御する。ハードウェアデコード部2は、メモリインタフェース6及び内部バス9を介して、メモリ12aに記憶されている圧縮映像データ13aを取得し、この圧縮映像データ13aをデコードし、デコードされた映像データ13bを内部バス9及びメモリインタフェース6を介してメモリ12bに記憶する。
より具体的に説明すると、制御プロセッサ7は、ハードウェアデコード部2に、読み出しアドレス、書き込みアドレス、デコード指示を与え、ハードウェアデコード部2は、内部のレジスタに、読み出しアドレス、書き込みアドレスを記憶し、このレジスタの内容にそって、圧縮映像データ13aをメモリ12aから読み出し、さらにデコードされた映像データ13bをメモリ12bに書き込む。
図4は、本実施の形態において、デコードされた映像データ13bを編集し、エンコードし、メモリ12cに記憶するまでの動作の一例を示すブロック図である(第3段階)。
制御プロセッサ7は、複数のプロセッサエレメント4a〜4dのうち、少なくとも一つのプロセッサエレメント(この図4では、プロセッサエレメント4a〜4dとしている)を制御する。この少なくとも一つのプロセッサエレメント4a〜4dは、メモリインタフェース6及び内部バス9を介して、メモリ12dに記憶されている編集ソフトウェア13d及びメモリ12eに記憶されているエンコードソフトウェア13eをアクセスするとともに、メモリ12bに記憶されているデコードされた映像データ13bを取得し、編集ソフトウェア13dに基づく動作によりデコードされた映像データ13bを編集し、編集データをエンコードソフトウェア13eに基づく動作によりエンコードし、このエンコードにより得られた圧縮映像データ13cを内部バス9及びメモリインタフェース6を介してメモリ12cに記憶する。
より具体的に説明すると、制御プロセッサ7は、複数のプロセッサエレメント4a〜4dの中から、編集ソフトウェア13d及びエンコードソフトウェア13eを実行する少なくとも一つのプロセッサエレメント(図4では、プロセッサエレメント4a〜4d)を選択する。この選択の手法としては、例えば、複数のプロセッサエレメント4a〜4dから処理を実行していない待機中のプロセッサエレメント、あるいは処理量の少ないプロセッサエレメントを選択するなどの手法を用いることができる。なお、制御プロセッサ7は、特にプロセッサエレメントの選択を行うことなく、複数のプロセッサエレメント4a〜4dの全てを用いて編集ソフトウェア13d及びエンコードソフトウェア13eを実行するとしてもよい。編集ソフトウェア13dを実行するプロセッサエレメントと、エンコードソフトウェア13eを実行するプロセッサエレメントとは、重複していてもよく、別であってもよい。
そして、制御プロセッサ7は、選択したプロセッサエレメント4a〜4dに、読み出しアドレス、書き込みアドレス、編集指示、エンコード指示を与え、選択されたプロセッサエレメント4a〜4dは、内部のレジスタに、読み出しアドレス、書き込みアドレスを記憶し、このレジスタの内容にそって、デコードされた映像データ13bをメモリ12bから読み出し、編集・エンコード後に得られる圧縮映像データ13cをメモリ12cに書き込む。
図5は、本実施の形態において、メモリ12cに記憶されている圧縮映像データ13cを、外部装置10に転送する動作の一例を示すブロック図である(第4段階)。
制御プロセッサ7は、データ転送部8を制御する。データ転送部8は、メモリ12cに記憶されている圧縮映像データ13cを、メモリインタフェース6、内部バス9経由で汎用バスインタフェース5に転送する。汎用バスインタフェース5は、圧縮映像データ13cを、バス11経由で、外部装置10に送信する。
より具体的に説明すると、制御プロセッサ7は、データ転送部8に、転送元アドレス、転送先アドレス、転送データサイズ、転送指示を与え、データ転送部8は、内部のレジスタに、転送元アドレス、転送先アドレス、転送データサイズを記憶し、このレジスタの内容にそって、圧縮映像データ13cを、メモリインタフェース6、内部バス9経由で汎用バスインタフェース5に転送し、圧縮映像データ13cを、バス11経由で外部装置10に送信させる。
図6は、本実施の形態に係るマルチプロセッサ1の適用例を示すブロック図である。この図6においては、マルチプロセッサ1をコンピュータシステム14に備えた場合を例示している。
本実施の形態において、コンピュータシステム14は、CPU15、メモリ16、GPU17、メモリ/プロセッサ制御接続部18、I/O制御接続部19、マルチプロセッサ1を具備する。
コンピュータシステム14は、USB20a、オーディオ機器20b、ネットワーク20c、HDD又はDVD20d、チューナ20eから、データを取得し、また、USB20a、オーディオ機器20b、ネットワーク20c、HDD又はDVD20dにデータを与える。
メモリ/プロセッサ制御接続部18とメモリ16とは、例えば8GByte/secのバンド幅(転送速度)を持つバス21aにより接続される。
メモリ/プロセッサ制御接続部18とGPU17とは、例えば4GByte/secのバンド幅を持つバス21bにより接続される。
メモリ/プロセッサ制御接続部18とCPU15とは、例えば8GByte/secのバンド幅を持つバス21cにより接続される。
メモリ/プロセッサ制御接続部18とI/O制御接続部19とは、例えば1GByte/secのバンド幅を持つバス21dにより接続される。
I/O制御接続部19とマルチプロセッサ1とは、例えば1GByte/secのバンド幅を持つバス11により接続される。
I/O制御接続部19とUSB20aとの間、及びI/O制御接続部19とオーディオ機器20bとの間では、例えば100MByte/secのバンド幅でデータ転送が行われる。
I/O制御接続部19とネットワーク20cとの間、I/O制御接続部19とHDD又はDVD20dとの間、I/O制御接続部19とチューナ20eとの間では、例えば250MByte/secのバンド幅でデータ転送が行われる。
I/O制御接続部19は、各種装置20a〜20eとコンピュータシステム14の他の構成要素とを接続するチップである。
メモリ/プロセッサ制御接続部18は、メモリ16とCPU15とGPU17との間の接続を行う。
以下に、コンピュータシステム14の動作を説明する。
I/O制御接続部19は、USB20a、オーディオ機器20b、ネットワーク20c、HDD又はDVD20d、チューナ20eのいずれかから圧縮映像データ13aを受信し、バス11経由でマルチプロセッサ1に圧縮映像データ13aを転送する。
マルチプロセッサ1は、圧縮映像データ13aを受け取り、内部のハードウェアでデコードし、さらに編集ソフトウェア13dで必要な編集処理を実行し、編集データをエンコードソフトウェア13eでエンコードし、コンピュータシステム1で取り扱う形式の圧縮映像データ13cを作成し、圧縮映像データ13cをバス11経由でI/O制御接続部19に転送する。
I/O制御接続部19は、圧縮映像データ13cを、バス21d経由で、メモリ/プロセッサ制御接続部18に転送する。
メモリ/プロセッサ制御接続部18は、圧縮映像データ13cを、バス21c,21a,21bのいずれか経由で、CPU15、メモリ16、GPU17のいずれかに転送する。
CPU15は、圧縮映像データ13cを受信した場合、デコード機能15aを用いて圧縮映像データ13cをデコードする。そして、CPU15は、デコードされた映像データ22を、バス21c、メモリ/プロセッサ制御接続部18、バス21a経由で、メモリ16に記憶する。
GPU17は、圧縮映像データ13cを受信した場合、デコード機能17aを用いて圧縮映像データ13cをデコードする。そして、GPU17は、デコードされた映像データ22を出力するための処理を行う。
なお、GPU17は、バス21b、メモリ/プロセッサ制御接続部18、バス21a経由で、デコードされた映像データ22をメモリ16に記憶するとしてもよい。また、GPU17は、CPU15によってデコードされた映像データ22を出力するとしてもよい。
メモリ16は、圧縮映像データ13c、あるいは、この圧縮映像データ13cをデコードした映像データ22、その他CPU15、GPU17などで用いられるソフトウェアなどを記憶する。
逆に、I/O制御接続部19は、CPU15、メモリ16、GPU17のいずれかから、
バス21c、21a、21bのいずれか、メモリ/プロセッサ制御接続部18、バス21dを経由して、圧縮映像データを受信する。そして、I/O制御接続部19は、この受信した圧縮映像データをバス11経由でマルチプロセッサ1に転送する。
マルチプロセッサ1は、圧縮映像データを受け取り、内部でデコードし、さらに必要な編集処理を実行し、編集データを再度圧縮し、圧縮映像データをバス11経由でI/O制御接続部19に転送する。
I/O制御接続部19は、この圧縮映像データを、USB20a、オーディオ機器20b、ネットワーク20c、HDD/DVD20dのいずれかに出力する。
なお、CPU15、メモリ16、GPU17のいずれかからマルチプロセッサ1へのデータ転送と、マルチプロセッサ1からCPU15、メモリ16、GPU17のいずれかへのデータ転送とのうち、いずれか一方は、転送されるデータが圧縮されていないとしてもよい。
上述したように、このコンピュータシステム14では、CPU15とメモリ/プロセッサ制御接続部18との間、メモリ16とメモリ/プロセッサ制御接続部18との間、GPU17とメモリ/プロセッサ制御接続部18との間におけるデータ転送のバンド幅は8GByte/sec又は4GByte/secである。
これに対して、メモリ/プロセッサ制御接続部18とI/O制御接続部19との間、I/O制御接続部19とマルチプロセッサ1との間におけるデータ転送のバンド幅は1GByte/secである。
すなわち、CPU15とメモリ/プロセッサ制御接続部18との間、メモリ16とメモリ/プロセッサ制御接続部18との間、GPU17とメモリ/プロセッサ制御接続部18との間におけるデータ転送のバンド幅は、メモリ/プロセッサ制御接続部18とI/O制御接続部19との間、I/O制御接続部19とマルチプロセッサ1との間などのデータ転送のバンド幅より広くなっている。
例えば、I/O制御接続部19、バス21d、メモリ/プロセッサ制御接続部18、バス21a、メモリ16という経路で映像データを転送する場合、メモリ/プロセッサ制御接続部18とI/O制御接続部19との間のバス21dは、1GByte/secのバンド幅を有するが、この映像データの転送中に他のデータについてもメモリ/プロセッサ制御接続部18とI/O制御接続部19との間でデータ転送可能とする必要があるため、バス21dでは、映像データの転送に1GByte/secのバンド幅の全てを用いることはできない。映像データの転送においてバンド幅が制限されると、映像データのリアルタイム性の確保が困難となる場合がある。
しかしながら、本実施の形態においては、メモリ/プロセッサ制御接続部18とI/O制御接続部19との間で、圧縮映像データ13cが転送されるため、バス21dのバンド幅を効率的に使用することができ、コンピュータシステム14内のバスのバンド幅に余裕をもたせた状態でデータを転送でき、データサイズの大きい映像データであってもリアルタイム性を確保することができる。
すなわち、本実施の形態においては、圧縮映像データがコンピュータシステム14内のバス21d上を転送されるため、バス21dにおいてデータ転送が重複してもリアルタイム性を確保した状態でデータ転送可能である。
上記効果を具体的に説明する。例えば、従来のNTSCのデータ転送に必要なバンド幅は、320(幅)×240(高さ)×3(色)×60(フレーム/秒)=約15MByte/secであった。しかしながら、ハイビジョン放送の映像データを扱うとなると、1920(幅)×1080(高さ)×3(色)×60(フレーム/秒)=約180MByte/secのバンド幅が必要になる。ハイビジョン放送の映像データを、バスにおける一方の方向への転送と他方の方向への転送とでデータ転送可能とするためには、約360MByte/secのバンド幅が必要になる。実際には、制御用の情報なども転送する必要があるため、さらに広いバンド幅が必要になる。
例えば、1スロット(×1)でバンド幅が133MByte/secとなる第1の規格にそったバス、あるいは1スロット(×1)でバンド幅が250MByte/secとなる第2の規格にそったバスでは、上記のようなサイズのハイビジョン放送の映像データをそのまま転送するにはバンド幅が足りない。
例えば、上記第2の規格において4スロット(×4)としたバスは、バンド幅が1GByte/secとなるが、テータ転送効率は通常で60%〜75%であり、他のデータの転送と重複する場合もあり、1GByte/secのバンド幅の全てを使用して映像データを転送することはできない。
しかしながら、本実施の形態に係るマルチプロセッサ1を備えたコンピュータシステム14においては、上述したように、映像データがコンピュータシステム1に対応した形式で圧縮されて転送されるため、ハイビジョン放送の映像データなどのような大容量データであってもリアルタイム性を確保しつつ映像データの出力を実行することができる。
なお、本実施の形態に係るマルチプロセッサ1では、複数のプロセッサエレメント4a〜4dのうちの少なくとも一つが、圧縮映像データ13aに対して、デコード、編集、エンコードを行い、圧縮映像データ13cを生成するとしているが、例えば、mpeg2で圧縮されているデータをH.264で圧縮されているデータに変換するなどのように、ある形式の圧縮映像データを他の形式の圧縮映像データに変換する(トランスコーデック)処理を実行し、編集処理は実行しないとしてもよい。
本実施の形態において、編集処理としては、例えば、画像処理技術及び音声処理技術を用いてスポーツのハイライトシーン、ニュース番組の特定のコーナーを抽出する処理などがある。この場合、編集処理では、例えば、映像データにおいて繰り返されている回数が所定数を超えるデータ、音量の大きくなる部分のデータ、ある特徴を持つデータ、顔認識による特定の人物の映像データなどを、音の変わり目又は切れ目、映像データのテロップなどに基づいて抽出する。
また、編集処理は、画素数や解像度の変更など、映像データを出力デバイスに応じたデータに変換する処理であってもよい。
さらに、編集処理は、映像データから特徴点を抽出し、この映像データに含まれているユーザのジェスチャーに基づいて入力制御を行うなどのような、ユーザインタフェースを実現するための処理としてもよい。
本実施の形態においては、例えば、地上デジタル放送の圧縮映像データのデコード、BSハイビジョン放送の圧縮映像データのデコード、DVD又はハードディスクなどのような記録媒体に記憶されている圧縮映像データのデコードなどのような、固定的な処理(変更される可能性、頻度がある程度より低い処理)が、ハードウェアにより実行される。
これとは逆に、本実施の形態においては、例えば、エンコード自体は一定の処理内容にしたがって行われるが出力先に応じて処理内容の一部が変わる処理などのように、主な処理内容は固定的であっても一部が用途によって変わる処理は、プロセッサエレメント4a〜4dのいずれかによりソフトウェアを用いて実行する。より具体的には、例えば、H.264へのエンコードを実行して例えばHDD/HD又はDVDに保存する処理、mpeg2へのエンコードを実行して例えばDVDに保存する処理、容量を少なくするためにmpeg2へのビットレート変換を実行する処理、mpeg4へのエンコードを実行して例えば携帯型ゲーム機又は携帯型音楽プレーヤに保存する処理などは、ソフトウェアに基づくプロセッサエレメントの動作により実現される。
同様に、顔認識処理、特徴点の抽出、音認識、テロップ(文字)認識などの編集処理も、いずれかのプロセッサエレメントによりソフトウェアを用いて実行する。
本実施の形態に係るマルチプロセッサ1は、ビデオ出力機能を持たず、チップセット機能を利用する。このマルチプロセッサ1は、コンピュータグラフィックスを処理するためのテクスチャユニットやラスタライザを搭載しないため、GPUよりもチップ面積を小さくすることができる。マルチプロセッサ1を用いることにより、トランスコーデックにGPUを使用する必要がなくなり、GPUはGPU本来の処理を行うことができ、チップの費用対効果を高めることができる。
(第2の実施の形態)
本実施の形態においては、上記第1の実施の形態に係るマルチプロセッサ1の変形例について説明する。
図7は、本実施の形態に係るマルチプロセッサの一例を示すブロック図である。
マルチプロセッサ23は、上記図1のマルチプロセッサ1とほぼ同様であるが、ハードウェアエンコード部24をさらに具備する点で異なる。
マルチプロセッサ23において、汎用バスインタフェース5が圧縮映像データ13aを受け付けてから、デコードされた映像データ13bをメモリ12bが記憶するまでの動作は、上記第1の実施の形態に係るマルチプロセッサ1と同様である。
マルチプロセッサ23において、制御プロセッサ7は、複数のプロセッサエレメント4a〜4dのうちの少なくとも一つを制御する。複数のプロセッサエレメント4a〜4dのうちの少なくとも一つは、メモリ12dに記憶されている編集ソフトウェア13dをアクセスするとともに、メモリ12bに記憶されているデコードされた映像データ13bを取得し、編集ソフトウェア13dに基づく動作によりデコードされた映像データ13bを編集し、編集データをハードウェアエンコード部24に転送する。
次に、制御プロセッサ7は、ハードウェアエンコード部24を制御する。ハードウェアエンコード部24は、編集データをエンコードし、このエンコードにより得られた圧縮映像データ13cをメモリ12cに記憶する。
そして、制御プロセッサ7は、データ転送部8を制御する。データ転送部8は、メモリ12cに記憶されている圧縮映像データ13cを汎用バスインタフェース5から外部に送信する。
以上説明した本実施の形態に係るマルチプロセッサ23においては、エンコードもハードウェアにより実行する。本実施の形態に係るマルチプロセッサ23を用いることで、上記第1の実施の形態と同様の効果を得ることができる。マルチプロセッサ23は、デコードと同様にエンコードについても固定的な処理である場合に適しており、処理速度を向上させることができる。
なお、上記各実施の形態においては、マルチプロセッサ1,23及びコンピュータシステム14が扱うデータが映像データの場合を例に説明しているが、他のデータであっても同様に適用可能である。
また、マルチプロセッサ1,23は、例えばパーソナルコンピュータなどのようなコンピュータシステム14に適用されるのみではなく、例えばDVDレコーダなどのような機器に備えられるとしてもよい。
上記各実施の形態に係るマルチプロセッサ1,23は、編集データを、一旦メモリに記憶し、このメモリに記憶された編集データをアクセスしてエンコードを行うとしてもよい。
上記各実施の形態に係るマルチプロセッサ1,23において、制御プロセッサ7や、データ転送部8の動作についても、プロセッサエレメントで実現されるとしてもよい。
本発明の第1の実施の形態に係るマルチプロセッサの一例を示すブロック図。 第1の実施の形態において、圧縮映像データを受け付けた後、メモリに記憶するまでの動作の一例を示すブロック図。 第1の実施の形態において、圧縮映像データをデコードし、デコードされた映像データをメモリに記憶するまでの動作の一例を示すブロック図。 第1の実施の形態において、デコードされた映像データを編集し、エンコードし、メモリに記憶するまでの動作の一例を示すブロック図。 第1の実施の形態において、メモリに記憶されている圧縮映像データを、外部装置に転送する動作の一例を示すブロック図。 第1の実施の形態に係るマルチプロセッサの適用例を示すブロック図。 本発明の第2の実施の形態に係るマルチプロセッサの一例を示すブロック図。
符号の説明
1,23…マルチプロセッサ、2,3…ハードウェアデコード部、4a〜4d…プロセッサエレメント、5…汎用バスインタフェース、6…メモリインタフェース、7…制御プロセッサ、8…データ転送部、9…内部バス、10…外部装置、11,21a〜21…バス、12a〜12e…メモリ、13a…圧縮映像データ、13b,22…デコードされた映像データ、13c…圧縮映像データ、13d…編集ソフトウェア、13e…エンコードソフトウェア、14…コンピュータシステム、15…CPU、15a,17a…デコード機能、16…メモリ、17…GPU、18…メモリ/プロセッサ制御接続部、19…I/O制御接続部、24…ハードウェアエンコード部

Claims (4)

  1. 外部から取得した第1の圧縮データを第1メモリに記憶する第1制御手段と、
    前記第1メモリに記憶された前記第1の圧縮データをデコードし、このデコードされたデータを第2メモリに記憶するハードウェアデコード手段と、
    複数のプロセッサエレメントのうちの少なくとも一つであり、第3メモリに記憶されているエンコードソフトウェアにしたがって、前記第2メモリに記憶されている前記デコードされたデータをエンコードし、このエンコードにより得られた第2の圧縮データを第4メモリに記憶するエンコード処理プロセッサエレメントと、
    前記第4メモリに記憶されている前記第2の圧縮データを前記外部に出力する第2制御手段と
    を具備するマルチプロセッサ。
  2. 外部から取得した第1の圧縮データを第1メモリに記憶する第1制御手段と、
    前記第1メモリに記憶された前記第1の圧縮データをデコードし、このデコードされたデータを第2メモリに記憶するハードウェアデコード手段と、
    複数のプロセッサエレメントのうちの少なくとも一つであり、第3メモリに記憶されている編集ソフトウェアにしたがって、前記第2メモリに記憶されている前記デコードされたデータを編集し、編集データを作成する編集処理プロセッサエレメントと、
    前記複数のプロセッサエレメントのうちの少なくとも一つであり、前記編集処理プロセッサエレメントによって作成された前記編集データを、第4メモリに記憶されているエンコードソフトウェアにしたがってエンコードし、このエンコードにより得られた第2の圧縮データを第5メモリに記憶するエンコード処理プロセッサエレメントと、
    前記第5メモリに記憶されている前記第2の圧縮データを前記外部に出力する第2制御手段と
    を具備するマルチプロセッサ。
  3. 外部から取得した第1の圧縮データを第1メモリに記憶する第1制御手段と、
    前記第1メモリに記憶された前記第1の圧縮データをデコードし、このデコードされたデータを第2メモリに記憶するハードウェアデコード手段と、
    複数のプロセッサエレメントのうちの少なくとも一つであり、第3メモリに記憶されている編集ソフトウェアにしたがって、前記第2メモリに記憶されている前記デコードされたデータを編集し、編集データを作成する編集処理プロセッサエレメントと、
    前記編集処理プロセッサエレメントによって作成された前記編集データをエンコードし、このエンコードにより得られた第2の圧縮データを第4メモリに記憶するハードウェアエンコード手段と、
    前記第4メモリに記憶されている前記第2の圧縮データを前記外部に出力する第2制御手段と
    を具備するマルチプロセッサ。
  4. 請求項1乃至請求項3のいずれか1項に記載のマルチプロセッサにおいて、
    前記第1の圧縮データは、圧縮された映像データであり、
    前記第2の圧縮データのデータサイズは、外部のバスにおいて、他のデータと転送が重なっても当該外部のバスの帯域幅で転送可能なサイズである
    ことを特徴とするマルチプロセッサ。
JP2007145264A 2007-05-31 2007-05-31 マルチプロセッサ Pending JP2008299610A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007145264A JP2008299610A (ja) 2007-05-31 2007-05-31 マルチプロセッサ
US12/129,354 US8190582B2 (en) 2007-05-31 2008-05-29 Multi-processor
US13/228,916 US20110316862A1 (en) 2007-05-31 2011-09-09 Multi-Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007145264A JP2008299610A (ja) 2007-05-31 2007-05-31 マルチプロセッサ

Publications (1)

Publication Number Publication Date
JP2008299610A true JP2008299610A (ja) 2008-12-11

Family

ID=40161887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007145264A Pending JP2008299610A (ja) 2007-05-31 2007-05-31 マルチプロセッサ

Country Status (2)

Country Link
US (2) US8190582B2 (ja)
JP (1) JP2008299610A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012508485A (ja) * 2008-11-04 2012-04-05 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Gpu加速を伴うソフトウエアビデオトランスコーダ
US8861591B2 (en) 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323438B2 (en) 2010-07-15 2016-04-26 Apple Inc. Media-editing application with live dragging and live editing capabilities
US8775480B2 (en) 2011-01-28 2014-07-08 Apple Inc. Media clip management
US9997196B2 (en) 2011-02-16 2018-06-12 Apple Inc. Retiming media presentations
US11747972B2 (en) 2011-02-16 2023-09-05 Apple Inc. Media-editing application with novel editing tools
US9838463B2 (en) * 2013-03-12 2017-12-05 Sony Interactive Entertainment America Llc System and method for encoding control commands

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6468755A (en) * 1987-09-09 1989-03-14 Graphico Corp Color electronic plate making system
JPH10145739A (ja) * 1996-08-26 1998-05-29 Sgs Thomson Microelectron Inc メモリを共用するビデオ及び/又はオーディオ脱圧縮及び/又は圧縮装置
JP2000069418A (ja) * 1998-08-24 2000-03-03 Sony Corp 画素数変換装置およびディジタルカメラ装置
JP2004228837A (ja) * 2003-01-22 2004-08-12 Matsushita Electric Ind Co Ltd デジタル放送の蓄積時間保証方法及び装置
JP2004356850A (ja) * 2003-05-28 2004-12-16 Seiko Epson Corp 圧縮動画像の伸張装置及びそれを用いた画像表示装置
JP2005070938A (ja) * 2003-08-21 2005-03-17 Matsushita Electric Ind Co Ltd 信号処理装置及びそれを用いた電子機器
JP2006020147A (ja) * 2004-07-02 2006-01-19 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2006020417A (ja) * 2004-07-01 2006-01-19 Tokyo Electric Power Co Inc:The 電力変換装置の制御装置及び方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3729540B2 (ja) 1995-09-08 2005-12-21 株式会社ルネサステクノロジ 画像処理装置
JP3581582B2 (ja) 1998-10-05 2004-10-27 キヤノン株式会社 符号化復号化装置及び画像形成システム
JP2001027986A (ja) 1999-05-10 2001-01-30 Canon Inc データ処理装置及び処理部選択方法
JP2001309386A (ja) * 2000-04-19 2001-11-02 Mitsubishi Electric Corp 画像処理装置
US6507903B1 (en) * 2000-06-20 2003-01-14 International Business Machines Corporation High performance non-blocking parallel storage manager for parallel software executing on coordinates
US6825847B1 (en) * 2001-11-30 2004-11-30 Nvidia Corporation System and method for real-time compression of pixel colors
JP2003216943A (ja) 2002-01-22 2003-07-31 Toshiba Corp 画像処理装置、この装置に用いられるコンパイラおよび画像処理方法
US7092965B2 (en) * 2002-07-09 2006-08-15 Lightsurf Technologies, Inc. System and method for improved compression of DCT compressed images
JP2005202767A (ja) 2004-01-16 2005-07-28 Toshiba Corp プロセッサシステム、dma制御回路、dma制御方法、dmaコントローラの制御方法、画像処理方法および画像処理回路
DE602004014127D1 (de) * 2004-07-02 2008-07-10 Silikon-modifiziertes Protein enthaltende Sonnenschutzzubereitung
US7616206B1 (en) * 2006-06-16 2009-11-10 Nvidia Corporation Efficient multi-chip GPU
US7685409B2 (en) * 2007-02-21 2010-03-23 Qualcomm Incorporated On-demand multi-thread multimedia processor

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6468755A (en) * 1987-09-09 1989-03-14 Graphico Corp Color electronic plate making system
JPH10145739A (ja) * 1996-08-26 1998-05-29 Sgs Thomson Microelectron Inc メモリを共用するビデオ及び/又はオーディオ脱圧縮及び/又は圧縮装置
JP2000069418A (ja) * 1998-08-24 2000-03-03 Sony Corp 画素数変換装置およびディジタルカメラ装置
JP2004228837A (ja) * 2003-01-22 2004-08-12 Matsushita Electric Ind Co Ltd デジタル放送の蓄積時間保証方法及び装置
JP2004356850A (ja) * 2003-05-28 2004-12-16 Seiko Epson Corp 圧縮動画像の伸張装置及びそれを用いた画像表示装置
JP2005070938A (ja) * 2003-08-21 2005-03-17 Matsushita Electric Ind Co Ltd 信号処理装置及びそれを用いた電子機器
JP2006020417A (ja) * 2004-07-01 2006-01-19 Tokyo Electric Power Co Inc:The 電力変換装置の制御装置及び方法
JP2006020147A (ja) * 2004-07-02 2006-01-19 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861591B2 (en) 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
JP2012508485A (ja) * 2008-11-04 2012-04-05 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Gpu加速を伴うソフトウエアビデオトランスコーダ

Also Published As

Publication number Publication date
US20090006437A1 (en) 2009-01-01
US8190582B2 (en) 2012-05-29
US20110316862A1 (en) 2011-12-29

Similar Documents

Publication Publication Date Title
US8774281B2 (en) Implementation of a DV video decoder with a VLIW processor and a variable length decoding unit
JP4519082B2 (ja) 情報処理方法、動画サムネイル表示方法、復号化装置、および情報処理装置
JP4919743B2 (ja) デジタルイメージでサムネイルを生成する方法及び装置
US20080301467A1 (en) Memory Security Device
JP2008299610A (ja) マルチプロセッサ
US20140086309A1 (en) Method and device for encoding and decoding an image
JP5156655B2 (ja) 画像処理装置
CN105791952A (zh) 流媒体视频数据的截图方法和装置以及电子设备
US8612981B2 (en) Task distribution method
TW545065B (en) A method and apparatus for video decoding
CN105681893A (zh) 流媒体视频数据的解码方法和装置
JP2008301208A (ja) 映像記録装置
US8005348B2 (en) Information processing apparatus
JP4805206B2 (ja) 映像データ録画再生装置、システム及び方法
JP2007274229A (ja) 情報処理装置および情報処理方法、並びにプログラム
US9307259B2 (en) Image decoding methods and image decoding devices
KR101484101B1 (ko) 동영상 변환 장치
JP4109151B2 (ja) 画像処理装置
JP2009118226A (ja) メモリ制御装置および制御方法
TWI565303B (zh) 影像處理系統及影像處理方法
JP2011160077A (ja) 復号装置および方法
US7822315B2 (en) Editing device, editing apparatus, and editing method for HDTV signal
KR20010102899A (ko) Mpeg2파일 재생시스템에 있어서 mpeg2파일의 멀티디스플레이 구현장치 및 방법
WO2007099580A1 (ja) マルチメディアデータ再生装置および方法
JP2007027857A (ja) マルチメディアデータ記録装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002