JP5035344B2 - 動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法 - Google Patents

動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法 Download PDF

Info

Publication number
JP5035344B2
JP5035344B2 JP2009528006A JP2009528006A JP5035344B2 JP 5035344 B2 JP5035344 B2 JP 5035344B2 JP 2009528006 A JP2009528006 A JP 2009528006A JP 2009528006 A JP2009528006 A JP 2009528006A JP 5035344 B2 JP5035344 B2 JP 5035344B2
Authority
JP
Japan
Prior art keywords
hardware
execution
software
processes
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
JP2009528006A
Other languages
English (en)
Other versions
JPWO2009022418A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2009022418A1 publication Critical patent/JPWO2009022418A1/ja
Application granted granted Critical
Publication of JP5035344B2 publication Critical patent/JP5035344B2/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

この発明は、一連の処理の実行をソフトウェアからハードウェアに段階的に切り替える動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法に関する。
一般的に、ソフトウェアは、柔軟に設計変更が可能で汎用性が高いが、タスクの実行に多くの処理時間を要し消費電力の増加を招いてしまう。一方で、ASIC(Application Specific Integrated Circuit)などの専用ハードウェアは、処理が高速となるためタスクの実行に要する処理時間が短くなり消費電力を削減することができるが、設計変更が難しく汎用性に乏しい。
これらソフトウェアと専用ハードウェアとの中間的な存在として、FPGA(Field Programmable Gate Array)などの再構成可能なハードウェアがある。これは、高速かつ低消費電力という特性を有し、さらに、回路構成を書き換え可能であるというソフトウェア的な特性も有している。
近年、この再構成可能なハードウェアを用いて、タスクの実行中にハードウェアをプログラミングし、回路構成を動的に再構成する技術が提供されている(たとえば、下記特許文献1および特許文献2参照。)。これによれば、回路構成を動的に再構成することで、少ないハードウェア資源で多くの機能を実現し、各種機能に応じた回路を構成して処理の高速化を図ることができる。
特開2006−215592号公報 特開平10−320376号公報
しかしながら、上述した特許文献1および特許文献2に記載の従来技術によれば、ハードウェアの再構成自体に時間がかかるため、タスクの実行を開始するまでのタイムラグが発生し、出力のレスポンスが低下してしまうという問題があった。
ここで、動画像を再生する場合を例に挙げて、従来技術の問題点を具体的に説明する。図13は、従来技術の問題点を示す説明図である。図13において、グラフ1310およびグラフ1320には、動画像の再生時における品質(たとえば、画質)の変動が表現されている。グラフ1310,1320において、縦軸は品質、横軸は時間を示している。
グラフ1310は、ハードウェア(図13中、「HW」と表記)の逐次再構成が必要となる場合の動画像の品質の変動を表現している。この場合、動画像の再生指示があってからハードウェアの再構成が完了するまでの間はブランク画面が続き、そのあと、時間t3で鮮明な動画像「品質q4」が再生される。
すなわち、再生指示があってからしばらくの間はブランク画面が表示されることとなり、出力のレスポンスが低下してしまっている。このため、ユーザは、再生指示をおこなってからしばらくの間はブランク画面を見ることとなり、動画像がすぐに表示されないことによるストレスを感じる場合があった。
グラフ1320は、ハードウェアの再構成完了前にソフトウェア(図13中、「SW」と表記)によって代替実行する場合の動画像の品質の変動を表現している。この場合、動画像の再生指示があってからハードウェアの再構成が完了するまでの間は品質の低い動画像「品質q1」が再生され、そのあと、時間t3で鮮明な動画像「品質q4」が再生される。
すなわち、再生指示があってからしばらくの間は品質の低い動画像が再生されることとなり、出力のレスポンスが低下してしまっている。このため、ユーザは、再生指示をおこなってからしばらくの間は低品質の動画像を見ることとなり、見にくい動画像が表示されることによるストレスを感じる場合があった。
この発明は、上述した従来技術による問題点を解消するため、ソフトウェアによる機能を段階的にハードウェアに切り替えることにより、ハードウェアの再構成にかかるオーバーヘッドを低減させ、出力のレスポンスの向上および低消費電力を実現することができる動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法は、再構成対象となる一連の処理の実行をソフトウェアからハードウェアに段階的に切り替える動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法であって、前記一連の処理のうち前記ソフトウェアによって実行中の一部の処理を検出し、その一部の処理の機能を実現する論理回路を前記ハードウェア上に構築する。そして、前記論理回路が構築された結果、前記一部の処理の実行を、前記ソフトウェアによる実行から前記ハードウェア上に構築された論理回路による実行に切り替えることを特徴とする。
この発明によれば、一連の処理の実行中に、一部の処理の実行をソフトウェアによる実行からハードウェアによる実行に切り替えることにより、一部の処理の高速化を図ることができる。
また、上記発明において、前記一連の処理のうち前記ソフトウェアによって実行中の処理の存否を判定し、前記ソフトウェアによって実行中の処理が存在すると判定された場合には、前記一部の処理の検出、前記一部の処理の機能を実現する論理回路の構築、および前記一部の処理の実行の切り替えを繰り返しおこなうこととしてもよい。
この発明によれば、一連の処理を構成するすべての処理の実行を、ソフトウェアによる実行からハードウェアによる実行に段階的に切り替えることができる。
また、上記発明において、前記一連の処理の実行順序に従って前記一部の処理を検出することとしてもよい。
また、上記発明において、前記一連の処理の実行順序とは逆の順序に従って前記一部の処理を検出することとしてもよい。
これらの発明によれば、一連の処理を構成する処理間での演算データの送受信にかかる制御を簡素化することができる。
また、上記発明において、予め設定された検出順序に従って前記一部の処理を検出することとしてもよい。
この発明によれば、ソフトウェアによる実行からハードウェアによる実行に切り替える際の切り替え順序を任意に設定することができる。
本発明にかかる動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法によれば、ソフトウェアによる機能を段階的にハードウェアに切り替えることにより、ハードウェアの再構成にかかるオーバーヘッドを低減させ、出力のレスポンスの向上および低消費電力を実現することができるという効果を奏する。
本発明の概要を示す説明図である。 この発明の実施の形態にかかる動的再構成装置のハードウェア構成を示す説明図である。 この発明の実施の形態にかかる動的再構成装置の機能的構成を示すブロック図である。 再構成対象の一例を示す説明図である。 この発明の実施の形態にかかる動的再構成装置の動的再構成処理手順を示すフローチャートである。 デコーダの一連の機能を示すブロック図である。 動的再構成の概要を示す説明図である。 動画像の品質の変動を示すグラフである。 実施例における動的再構成処理手順を示すフローチャートである。 ソフトウェアによって一連の処理を実行するためのプログラムの一例を示す説明図である。 ステータスレジスタの一例を示す説明図である。 動的再構成処理を実行するためのプログラムの一例を示す説明図である。 従来技術の問題点を示す説明図である。
以下に添付図面を参照して、この発明にかかる動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法の好適な実施の形態を詳細に説明する。
(本発明の概要)
まず、本発明の概要について説明する。図1は、本発明の概要を示す説明図である。図1において、グラフ100には、動画像の再生時における品質の変動が表現されている(縦軸:品質、横軸:時間)。グラフ100に示すように、動画像の再生時における品質が時間の経過とともに徐々に高くなっている。品質とは、たとえば、画質やビットレートなどをあらわす指標である。
具体的には、再構成前の段階では、動画像の再生がソフトウェアのみによって実現されており、品質の低い動画像(品質q1)が再生される。そのあと、時間t1において1段階目の再構成が完了し、品質q2(q2>q1)の動画像が再生される。さらに、時間t2において2段階目の再構成が完了し、品質q3(q3>q2)の動画像が再生される。最後に、時間t3において3段階目の再構成が完了し、品質q4(q4>q3)の動画像が再生される。
本発明では、ソフトウェアによって実行中の一連の処理を段階的にハードウェアに切り替えて実行することにより、動画像の品質を徐々に高くすることができる(q1→q2→q3→q4)。この結果、グラフ100におけるある時間tの品質は、[従来技術]で説明したグラフ1310,1320(図13参照)における時間tの品質に比べて高くなっている。
(動的再構成装置のハードウェア構成)
つぎに、この発明の実施の形態にかかる動的再構成装置のハードウェア構成について説明する。図2は、この発明の実施の形態にかかる動的再構成装置のハードウェア構成を示す説明図である。
図2において、動的再構成装置200は、コンピュータ本体210と、入力装置220と、出力装置230と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク240に接続可能である。
コンピュータ本体210は、CPU,メモリ,インターフェースを有する。CPUは、動的再構成装置200の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク211,フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク211はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク211およびフラッシュメモリはコンピュータ本体210に対し着脱自在である。インターフェースは、入力装置220からの入力、出力装置230への出力、ネットワーク240に対する送受信の制御をおこなう。
また、入力装置220としては、キーボード221、マウス222、スキャナ223などがある。キーボード221は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス222は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ223は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体210内のメモリに格納される。なお、スキャナ223にOCR機能を持たせてもよい。
また、出力装置230としては、ディスプレイ231、スピーカ232、プリンタ233などがある。ディスプレイ231は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ232は、効果音や読み上げ音などの音声を出力する。また、プリンタ233は、画像データや文書データを印刷する。
(動的再構成装置の機能的構成)
つぎに、この発明の実施の形態にかかる動的再構成装置200の機能的構成について説明する。図3は、この発明の実施の形態にかかる動的再構成装置200の機能的構成を示すブロック図である。図3において、動的再構成装置200は、検出部301と、構築部302と、切替部303と、判定部304と、から構成されている。
これら各機能301〜304は、記憶領域に格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能301〜304からの出力データは記憶領域に保持される。また、図3中矢印で示した接続先の機能的構成は、接続元の機能からの出力データを記憶領域から読み込んで、当該機能に関するプログラムをCPUに実行させる。
動的再構成装置200は、再構成対象となる一連の処理の実行をソフトウェアからハードウェアに段階的に切り替える機能を有している。ここで、ソフトウェアによる実行とは、様々な機能を実現するプログラムのCPUによる実行を意味している。また、ハードウェアによる実行とは、各機能301〜304を実現するために専用に作り込まれた論理回路による実行を意味している。
上記ハードウェアは、回路構成が書き換え可能な半導体集積回路であり、たとえば、FPGA(Field Programmable Gate Array)やCPLD(Complex Programmable Logic Device)などである。なお、一連の処理を構成する各処理は、ソフトウェアおよびハードウェアの両方で実行可能とする。
まず、検出部301は、再構成対象となる一連の処理のうちソフトウェアによって実行中の一部の処理を検出する。一連の処理とは、予め定められた実行順序に従って実行される処理群である。また、一部の処理は、ソフトウェアによって実行中の処理であり、単数であっても複数であってもよい。
ここで、再構成対象となる一連の処理について説明する。図4は、再構成対象の一例を示す説明図である。図4において、再構成対象は、実行順序に従って並べられた処理A〜処理Dの処理群である。ここでは、再構成前の段階において、一連の処理A〜処理Dのうち処理A、処理Bおよび処理Cはソフトウェア(図4中「SW」と表記)によって実行され、処理Dはハードウェア(図4中「HW」と表記)によって実行される。
なぜなら、一連の処理A〜処理Dのうち、処理A、処理Bおよび処理Cを実行するためのハードウェアが用意されていないため、再構成前の段階では、これらの処理をソフトウェアによって代替実行する。一方、処理Dについては、該処理Dを実行するための専用のハードウェアが用意されており、始めからハードウェアによって実行することができる。
検出部301は、再構成対象となる一連の処理A〜処理Dのうちソフトウェアによって実行中の一部の処理を検出する。ここでは、ソフトウェアによって実行中の『処理A』、『処理B』、『処理C』、『処理Aおよび処理B』、『処理Bおよび処理C』および『処理Aおよび処理C』のいずれかを検出することとなる。
図3の説明に戻り、構築部302は、検出部301によって検出された一部の処理の機能を実現する論理回路をハードウェア上に構築する。具体的には、一部の処理の機能を実現するためのハードウェア記述情報をハードウェア上に書き込むことにより、一部の処理の機能を実現する論理回路を構築することとしてもよい。
ハードウェア記述情報とは、回路のハードウェア動作が言語レベルで記述されたHDL(VHDL、Verilogなど)である。具体的には、ハードウェア記述情報をハードウェアに内蔵のSRAM型メモリセル構造を持つ記憶素子にローディングすることにより、設計通りの論理回路として動作させることができる。
なお、一連の処理を構成する各処理の機能を実現するためのハードウェア記述情報は、ROMやRAMなどの記憶領域に予め記憶されている。構築部302は、検出部301によって検出された一部の処理に応じて、記憶領域からハードウェア記述情報を読み出して、そのハードウェア記述情報をハードウェア上に書き込む。
たとえば、図4に示した再構成対象となる一連の処理A〜処理Dのうちソフトウェアによって実行中の処理Aが検出された場合、該処理Aの機能を実現するためのハードウェア記述情報を記憶領域から読み出して、そのハードウェア記述情報をハードウェア上に書き込むこととなる。
切替部303は、構築部302によって論理回路が構築された結果、一部の処理の実行を、ソフトウェアによる実行からハードウェア上に構築された論理回路による実行に切り替える。すなわち、一連の処理を実行中に、一部の処理によって実現される機能を、ソフトウェアによる機能からハードウェアによる機能に切り替える。
ここで、切替部303による切替処理の具体例について説明する。装置本体には、一部の処理の実行を切り替えるためのスイッチが設けられている。切替部303は、このスイッチを制御することにより、一部の処理の実行を、ソフトウェアによる実行からハードウェア上に構築された論理回路による実行に切り替える。
たとえば、図4に示した処理Aの機能を実現するための論理回路が構築された場合、上記スイッチを制御して、処理Aの実行を、ソフトウェアによる実行からハードウェア上に構築された論理回路による実行に切り替える。この結果、一連の処理A〜処理Dのうち、処理Aおよび処理Dがハードウェアによって実行され、処理Bおよび処理Cがソフトウェアによって実行されることとなる。
なお、処理Aの実行がソフトウェアからハードウェアに切り替わった場合、ソフトウェアによる処理Aの実行を停止し、RAMに記憶されている処理Aを実行するためのプログラムを削除することとしてもよい。
判定部304は、切替部303によって切り替えられた結果、一連の処理のうちソフトウェアによって実行中の処理の存否を判定する。具体的には、検出部301によって検出されていない未検出の処理(ソフトウェアによって実行中)の存否を判定することとしてもよい。
そして、判定部304によってソフトウェアによって実行中の処理が存在すると判定された場合、検出部301による検出処理、構築部302による構築処理および切替部303による切替処理を実行することとしてもよい。すなわち、ソフトウェアによって実行中の処理が存在しなくなるまで、ソフトウェアによって実行中の残余の処理から一部の処理を検出して、一連の処理を繰り返す。
たとえば、図4に示した一連の処理A〜処理Dにおいて、処理Aの実行がソフトウェアによる実行からハードウェアによる実行に切り替えられたとする。この場合、判定部304は、ソフトウェアによって実行中の処理Bおよび処理Cが存在すると判定し、検出部301、構築部302および切替部303による各種処理を繰り返し実行する。
ここで、上記検出部301による検出処理の具体例について説明する。まず、第1の具体例として、検出部301は、一連の処理の実行順序に従って一部の処理を検出することとしてもよい。実行順序を特定するための情報は、ROMやRAMなどの記憶領域に記憶されている。具体的には、実行順序を特定するための情報を記憶領域から読み出して、該情報から特定される実行順序に従って一部の処理を検出する。
たとえば、図4に示した再構成対象となる一連の処理A〜処理Dにおいては、ソフトウェアによって実行中の処理A、処理Bおよび処理Cを『処理A→処理B→処理C』の順に検出する。これにより、一連の処理を構成する処理間での演算データの送受信にかかる制御(たとえば、上述したスイッチの制御)を簡素化し、ハードウェアの再構成にかかるオーバーヘッドを削減することができる。
つぎに、第2の具体例として、検出部301は、一連の処理の実行順序とは逆の順序に従って一部の処理を検出することとしてもよい。具体的には、実行順序を特定するための情報を記憶領域から読み出して、該情報から特定される実行順序とは逆の順序に従って一部の処理を検出する。
たとえば、図4に示した再構成対象となる一連の処理A〜処理Dにおいては、ソフトウェアによって実行中の処理A、処理Bおよび処理Cを『処理C→処理B→処理A』の順に検出する。これにより、一連の処理を構成する処理間での演算データの送受信にかかる制御を簡素化し、ハードウェアの再構成にかかるオーバーヘッドを削減することができる。
つぎに、第3の具体例として、検出部301は、予め設定された検出順序に従って一部の処理を検出することとしてもよい。この検出順序は、ユーザによって任意に設定可能である。たとえば、一連の処理を構成する各処理のソフトウェアによる実行時間が長いものから優先的に検出することとしてもよい。これにより、一連の処理のうちボトルネックとなっている処理から順に検出することができる。
また、処理間の演算データの送受信にかかる制御や上記実行時間のトレードオフを考慮して、一連の処理を実行することによって実現される機能の品質に与える影響が大きい処理を優先的に検出することとしてもよい。また、再構成(構築部302による構築処理)にかかる時間が少ない処理から優先的に検出することとしてもよい。
検出順序を特定するための情報は、動的再構成装置200に直接入力することとしてもよく、また、外部のコンピュータ装置から取得することとしてもよい。入力または取得された検出順序を特定するための情報は記憶領域に記憶され、検出部301は、この情報を記憶領域から読み出して、該情報から特定される検出順序に従って一部の処理を検出する。
なお、構築部302によってハードウェア上に構築された論理回路は、一連の処理が終了した場合に消去することとしてもよい。また、一連の処理を実行する際に、ハードウェア上に別の機能を実現するための論理回路が既に構築されている場合、一部の処理の機能を実現するハードウェアを再構成する時間を利用して、ハードウェア上(構築中の部分は除く)の既に構築されている論理回路を消去することとしてもよい。
(動的再構成装置の動的再構成処理手順)
つぎに、この発明の実施の形態にかかる動的再構成装置200の動的再構成処理手順について説明する。図5は、この発明の実施の形態にかかる動的再構成装置200の動的再構成処理手順を示すフローチャートである。
図5のフローチャートにおいて、まず、検出部301により、再構成対象となる一連の処理のうちソフトウェアによって実行中の一部の処理を検出する(ステップS501)。このあと、構築部302により、検出部301によって検出された一部の処理の機能を実現する論理回路をハードウェア上に構築する(ステップS502)。
つぎに、切替部303により、構築部302によって論理回路が構築された結果、一部の処理の実行を、ソフトウェアによる実行からハードウェア上に構築された論理回路による実行に切り替える(ステップS503)。このあと、判定部304により、一連の処理のうちソフトウェアによって実行中の処理の存否を判定する(ステップS504)。
ここで、ソフトウェアによって実行中の処理が存在すると判定された場合(ステップS504:Yes)、ステップS501に戻り、ステップS501〜ステップS503の処理を繰り返す。一方、ソフトウェアによって実行中の処理が存在しないと判定された場合(ステップS504:No)、本フローチャートによる一連の処理を終了する。
以上説明した、この発明の実施の形態によれば、一連の処理の実行中に、一部の処理の実行をソフトウェアによる実行からハードウェアによる実行に切り替えることができる。これにより、一連の処理を継続して実行しながら、段階的に一部の処理の高速化を図ることができる。
また、ソフトウェアによって実行中の処理がなくなるまでハードウェアの再構成をおこなうことにより、一連の処理を構成するすべての処理の実行を、ソフトウェアによる実行からハードウェアによる実行に段階的に切り替えることができる。
また、一連の処理の実行順序、または該実行順序とは逆の順序に従って、一部の処理の実行を、ソフトウェアによる実行からハードウェアによる実行に切り替えることができる。これにより、一連の処理を構成する処理間での演算データの送受信にかかる制御を簡素化し、ハードウェアの再構成にかかるオーバーヘッドを削減することができる。
また、予め設定された検出順序に従って、一部の処理の実行を、ソフトウェアによる実行からハードウェアによる実行に切り替えることができる。具体的には、ボトルネックとなっている処理を優先するなど、一連の処理を実行することによって実現される機能の品質に与える影響が大きい処理を優先的に再構成することにより、より効果的な品質の向上を実現することができる。
つぎに、上述した実施の形態の実施例について説明する。本実施例では、符号化された動画像データを復号するデコード処理を例に挙げて動的再構成について説明する。図6は、デコーダの一連の機能を示すブロック図である。図6において、デコーダの機能は、VLD(可変長符号化)と、逆量子化と、IDCT(直行余弦変換)と、MC(動き補償)と、から構成されている。
具体的には、バッファから読み出されたフレームごとのビットストリームに対して、上記機能(VLD、逆量子化、IDCT、MC)を実現するための一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)を実行することにより、復号された映像データがメモリから出力される。ここでは、再構成前の段階において、上記機能は、ソフトウェアによって実現される。
まず、ソフトウェアによる上記機能を実現する一連の処理の実行を開始するとともに、ハードウェアの再構成を開始する。このあと、再構成が完了すると、一部の処理の実行をソフトウェアからハードウェアに切り替える。これにより、デコーダの機能を実現する一連の処理の実行を、ソフトウェアからハードウェアに段階的に切り替え、最終的にデコーダの機能をハードウェアによって実現する。
ここでは、図3に示した検出部301による検出処理を、上記機能を実現する一連の処理の実行順序(VLD処理→逆量子化処理→IDCT処理→MC処理)とは逆の順序(MC処理→IDCT処理→逆量子化処理→VLD処理)に従っておこなうこととする。
図7は、動的再構成の概要を示す説明図である。図7において、[ステップS1]では、上記機能(VLD、逆量子化、IDCT、MC)を実現する一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)がソフトウェアによって実行されている。
[ステップS2]では、検出部301により、再構成対象となる一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)のうちMC処理が検出され、構築部302により、MC処理の機能を実現する論理回路がハードウェア上に構築されている。そして、切替部303により、MC処理の実行が、ソフトウェアによる実行からハードウェア上に構築された論理回路による実行に切り替えられている。
この結果、デコーダの機能を実現する一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)のうち、VLD処理、逆量子化処理およびIDCT処理はソフトウェアによって実行され、再構成が完了したMC処理はハードウェアによって実行される。なお、再構成が完了したMC処理を実行するためのプログラムは、この時点で削除される。
[ステップS3]では、検出部301により、再構成対象となる一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)のうちIDCT処理が検出され、構築部302により、IDCT処理の機能を実現する論理回路がハードウェア上に構築されている。そして、切替部303により、IDCT処理の実行が、ソフトウェアによる実行からハードウェア上に構築された論理回路による実行に切り替えられている。
この結果、デコーダの機能を実現する一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)のうち、VLD処理および逆量子化処理はソフトウェアによって実行され、再構成が完了したMC処理およびIDCT処理はハードウェアによって実行される。なお、再構成が完了したIDCT処理を実行するためのプログラムは、この時点で削除される。
[ステップS4]では、検出部301により、再構成対象となる一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)のうち逆量子化処理が検出され、構築部302により、逆量子化処理の機能を実現する論理回路がハードウェア上に構築されている。そして、切替部303により、IDCT処理の実行が、ソフトウェアによる実行からハードウェア上に構築された論理回路による実行に切り替えられている。
この結果、デコーダの機能を実現する一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)のうち、VLD処理はソフトウェアによって実行され、再構成が完了したMC処理、IDCT処理および逆量子化処理はハードウェアによって実行される。なお、再構成が完了した逆量子化処理を実行するためのプログラムは、この時点で削除される。
[ステップS5]では、検出部301により、再構成対象となる一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)のうちVLD処理が検出され、構築部302により、VLD処理の機能を実現する論理回路がハードウェア上に構築されている。そして、切替部303により、VLD処理の実行が、ソフトウェアによる実行からハードウェア上に構築された論理回路による実行に切り替えられている。
この結果、デコーダの機能を実現する一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)のすべてがハードウェアによって実行される。なお、再構成が完了したVLD処理を実行するためのプログラムは、この時点で削除される。
図8は、動画像の品質の変動を示すグラフである。図8において、グラフ800には、図7に示した各[ステップS1]〜[ステップS5]における動画像の品質が表現されている。グラフ800において、縦軸は品質[fps]、横軸は時間[T]を示している。ここでは、単位時間当たりのフレーム数によって品質をあらわしている。つまり、品質が高くなればなるほど単位時間当たりのフレーム数が増加し、より滑らかな動画像が表示されることとなる。
具体的には、MCの機能を実現するハードウェアを再構成中である[ステップS1]における動画像の品質は5[fps]である。また、IDCTの機能を実現するハードウェアを再構成中である[ステップS2]における動画像の品質は6[fps]である。すなわち、MCの機能をハードウェアによって実現することにより、[ステップS1]に比べて品質が5[fps]から6[fps]に高くなっている。
また、逆量子化の機能を実現するハードウェアを再構成中である[ステップS3]における動画像の品質は9[fps]である。すなわち、IDCTの機能をハードウェアによって実現することにより、[ステップS2]に比べて品質が6[fps]から9[fps]に高くなっている。
また、VLDの機能を実現するハードウェアを再構成中である[ステップS4]における動画像の品質は18[fps]である。すなわち、逆量子化の機能をハードウェアによって実現することにより、[ステップS3]に比べて品質が9[fps]から18[fps]に高くなっている。
また、一連の機能(VLD、逆量子化、IDCT、MC)を実現するハードウェアの再構成が完了した[ステップS5]における動画像の品質は30[fps]である。すなわち、VLDの機能をハードウェアによって実現することにより、[ステップS4]に比べて品質が18[fps]から30[fps]に高くなっている。
このように、一連の機能(VLD、逆量子化、IDCT、MC)を実現するハードウェアの再構成を、機能ごとに段階的におこなうことにより、1フレームごとのデコード処理にかかる処理時間が徐々に短くなり、動画像の品質を高めることができる。
つぎに、実施例における動的再構成処理手順について説明する。図9は、実施例における動的再構成処理手順を示すフローチャートである。図9のフローチャートにおいて、まず、再構成の開始通知を受け付けたか否かを判断する(ステップS901)。再構成の開始通知は、ユーザからの動画像の再生指示などである。具体的には、図2に示したキーボード221やマウス222などの入力装置220をユーザが操作することにより再構成の開始通知を受け付けることとしてもよい。
ここで、再構成の開始通知を受け付けるのを待って(ステップS901:No)、受け付けた場合(ステップS901:Yes)、デコーダの機能(VLD、逆量子化、IDCT、MC)を実現する一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)をソフトウェアによって実行する(ステップS902)。
具体的には、上記機能(VLD、逆量子化、IDCT、MC)に対応するプログラムをCPUによって実行する。図10は、ソフトウェアによって一連の処理を実行するためのプログラムの一例を示す説明図である。図10において、プログラム1000には、一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)を実行するためのソースコードが記述されている。
CPUは、プログラム1000内のWhile文に従って、一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)を実行する。図10中、S1はVLD処理、S2は逆量子化処理、S3はIDCT処理、S4はMC処理に対応している。なお、各処理を実行するためのプログラムの詳細は図示および説明を省略する。
つぎに、上記機能(VLD、逆量子化、IDCT、MC)を特定する整数値n(初期値:n=0)に1をインクリメントする(ステップS903)。整数値nは、上記各機能(VLD、逆量子化、IDCT、MC)に対応しており、VLDはn=1、逆量子化はn=2、IDCTはn=3、MCはn=4に対応している。
このあと、整数値nが整数値Nよりも小さいか否かを判断する(ステップS904)。整数値Nは、上記機能(VLD、逆量子化、IDCT、MC)の総数をあらわしており、ここでは「4」となる。ここで、整数値nが整数値Nよりも小さいと判断された場合(ステップS904:Yes)、整数値nから特定される機能を実現するハードウェアの再構成の要否を判断する(ステップS905)。
具体的には、ソフトウェアによって実行しても処理時間があまりかからない処理については、ハードウェアの再構成は不要であると判断することとしてもよい。また、ハードウェアの再構成が必要な機能が予め設定されており、その設定内容を参照することにより、整数値nから特定される機能を実現するハードウェアの再構成の要否を判断することとしてもよい。
ステップS905において、再構成が不要であると判断された場合(ステップS905:No)、ステップS903に戻る。一方、再構成が必要であると判断された場合(ステップS905:Yes)、整数値nから特定される機能を実現するハードウェアの再構成データを記憶領域から読み出して(ステップS906)、整数値nから特定される機能を実現する論理回路をハードウェア上に構築する(ステップS907)。なお、再構成データは、上述したハードウェア記述情報に相当する。
このあと、整数値nから特定される機能を実現するハードウェアの再構成が完了したか否かを判断する(ステップS908)。ここで、再構成が完了するのを待って(ステップS908:No)、完了した場合(ステップS908:Yes)、ステータスレジスタに整数値nから特定される機能の終了フラグを立てる(ステップS909)。
ここで、ステータスレジスタについて説明する。図11は、ステータスレジスタの一例を示す説明図である。図11において、ステータスレジスタ1100は、上記機能(VLD、逆量子化、IDCT、MC)を実現するハードウェアの再構成が完了したか否かを示す終了フラグを保持している。
ステータスレジスタ1100において、H1はVLD、H2は逆量子化、H3はIDCT、H4はMCの機能を実現するハードウェアをあらわしている。CPUは、このステータスレジスタ1100を参照することにより、各機能を実現するハードウェアの再構成が完了したか否かを判断する。図11においては、ステータスレジスタ1100を参照することにより、上記機能(VLD、逆量子化、IDCT、MC)のうちVLDの機能を実現するハードウェアの再構成が完了していると判断する。
図10の説明に戻り、ステップS909のあと、ステータスレジスタ(たとえば、ステータスレジスタ1100)に終了フラグを立てた機能の割り込みハンドラを発行して(ステップS910)、ステップS903に戻る。すなわち、整数値nから特定される機能を実現する処理の実行を、ソフトウェアによる実行からステップS907において構築された論理回路による実行に切り替える。
また、ステップS904において、整数値nが整数値Nよりも大きいと判断された場合(ステップS904:No)、本フローチャートによる一連の処理を終了する。
なお、上記ステップS903における処理は図3に示した検出部301による検出処理に相当し、上記ステップ906およびステップS907における処理は構築部302による構築処理に相当し、上記ステップ909における処理は切替部303による切替処理に相当し、上記ステップS904における処理は判定部304による判定処理に相当する。
ここで、上記動的再構成処理を実行するためのプログラムについて説明する。図12は、動的再構成処理を実行するためのプログラムの一例を示す説明図である。図12において、プログラム1200には、図9に示した動的再構成処理を実現するためのソースコードが記述されている。
動的再構成装置200は、このプログラム1200の記述内容に従って、一連の処理を構成する処理ごとに、ハードウェアが再構成されているか否かを判断する。そして、再構成されている場合には、その処理をハードウェアによって実行し、再構成されていない場合には、その処理をソフトウェアによって代替実行する。
たとえば、MCの機能を実現するハードウェアの再構成が完了したか否かを判断して、完了した場合は、MC処理をハードウェアによって実行して、処理を待つ。一方、完了していない場合は、MC処理をソフトウェアによって実行するという論理的構成となっている。これらの制御を機能ごとにおこない、すべての機能を実現するハードウェアの再構成が完了するまでおこなう。
以上説明した、この発明の実施例によれば、デコーダの機能を実現する一連の処理(VLD処理、逆量子化処理、IDCT処理、MC処理)の実行中に、一部の処理の実行をソフトウェアによる実行からハードウェアによる実行に切り替えることができる。これにより、デコード処理を継続して実行しながら、一部の処理の高速化を段階的に図ることができる。
このように、一連の処理を構成するすべての処理の実行を、ソフトウェアによる実行からハードウェアによる実行に段階的に切り替えることにより、ハードウェアの再構成にかかるオーバーヘッドを低減させ、デコード処理の高速化および動画像の品質の向上を図ることができる。
具体的には、動画像の再生中に、単位時間当たりのフレーム数を徐々に増加させることにより、出力(映像データ)のレスポンスを向上させることができる。この結果、動画像の再生時に、動画像の品質が時間の経過とともに徐々に高くなり、低品質の動画像を視聴し続けることによるユーザのストレスを低減させることができる。
特に、携帯電話端末など使用可能なハードウェア資源が少ない機器において、本発明にかかるハードウェアの動的再構成を適用することにより、出力のレスポンスを向上させ、適切なサービス(テレビ電話、ワンセグ放送など)の提供を実現することができる。
以上説明したように、動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法によれば、ソフトウェアによる機能を段階的にハードウェアに切り替えることにより、ハードウェアの再構成にかかるオーバーヘッドを低減させ、出力のレスポンスの向上および低消費電力を実現することができる。
なお、本実施の形態で説明した動的再構成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
また、本実施の形態で説明した動的再構成装置200は、スタンダードセルやストラクチャードASICなどの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLDによっても実現することができる。具体的には、たとえば、上述した動的再構成装置200の機能的構成301〜304をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、動的再構成装置200を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)再構成対象となる一連の処理の実行をソフトウェアからハードウェアに段階的に切り替えさせる動的再構成プログラムであって、
前記一連の処理のうち前記ソフトウェアによって実行中の一部の処理を検出させる検出工程と、
前記検出工程によって検出された一部の処理の機能を実現する論理回路を前記ハードウェア上に構築させる構築工程と、
前記構築工程によって前記論理回路が構築された結果、前記一部の処理の実行を、前記ソフトウェアによる実行から前記ハードウェア上に構築された論理回路による実行に切り替えさせる切替工程と、
をコンピュータに実行させることを特徴とする動的再構成プログラム。
(付記2)前記切替工程によって切り替えられた結果、前記一連の処理のうち前記ソフトウェアによって実行中の処理の存否を判定させる判定工程を前記コンピュータに実行させ、
前記判定工程によって前記ソフトウェアによって実行中の処理が存在すると判定された場合、前記検出工程、前記構築工程および前記切替工程を前記コンピュータに実行させることを特徴とする付記1に記載の動的再構成プログラム。
(付記3)前記検出工程は、
前記一連の処理の実行順序に従って前記一部の処理を検出させることを特徴とする付記1に記載の動的再構成プログラム。
(付記4)前記検出工程は、
前記一連の処理の実行順序とは逆の順序に従って前記一部の処理を検出させることを特徴とする付記1に記載の動的再構成プログラム。
(付記5)前記検出工程は、
予め設定された検出順序に従って前記一部の処理を検出させることを特徴とする付記1に記載の動的再構成プログラム。
(付記6)前記構築工程は、
前記一部の処理の機能を実現するためのハードウェア記述情報を前記ハードウェア上に書き込むことにより、前記一部の処理の機能を実現する論理回路を構築させることを特徴とする付記1に記載の動的再構成プログラム。
(付記7)付記1〜6のいずれか一つに記載の動的再構成プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
(付記8)再構成対象となる一連の処理の実行をソフトウェアからハードウェアに段階的に切り替える動的再構成装置であって、
前記一連の処理のうち前記ソフトウェアによって実行中の一部の処理を検出する検出手段と、
前記検出手段によって検出された一部の処理の機能を実現する論理回路を前記ハードウェア上に構築する構築手段と、
前記構築手段によって前記論理回路が構築された結果、前記一部の処理の実行を、前記ソフトウェアによる実行から前記ハードウェア上に構築された論理回路による実行に切り替える切替手段と、
を備えることを特徴とする動的再構成装置。
(付記9)前記切替手段によって切り替えられた結果、前記一連の処理のうち前記ソフトウェアによって実行中の処理の存否を判定する判定手段を備え、
前記検出手段は、
前記判定手段によって前記ソフトウェアによって実行中の処理が存在すると判定された場合、前記ソフトウェアによって実行中の残余の処理のうち一部の処理を検出することを特徴とする付記8に記載の動的再構成装置。
(付記10)前記検出手段は、
前記一連の処理の実行順序に従って前記一部の処理を検出することを特徴とする付記8に記載の動的再構成装置。
(付記11)前記検出手段は、
前記一連の処理の実行順序とは逆の順序に従って前記一部の処理を検出することを特徴とする付記8に記載の動的再構成装置。
(付記12)前記検出手段は、
予め設定された検出順序に従って前記一部の処理を検出することを特徴とする付記8に記載の動的再構成装置。
(付記13)前記構築手段は、
前記一部の処理の機能を実現するためのハードウェア記述情報を前記ハードウェア上に書き込むことにより、前記一部の処理の機能を実現する論理回路を構築することを特徴とする付記8に記載の動的再構成装置。
(付記14)再構成対象となる一連の処理の実行をソフトウェアからハードウェアに段階的に切り替える動的再構成方法であって、
前記一連の処理のうち前記ソフトウェアによって実行中の一部の処理を検出する検出工程と、
前記検出工程によって検出された一部の処理の機能を実現する論理回路を前記ハードウェア上に構築する構築工程と、
前記構築工程によって前記論理回路が構築された結果、前記一部の処理の実行を、前記ソフトウェアによる実行から前記ハードウェア上に構築された論理回路による実行に切り替える切替工程と、
を含んだことを特徴とする動的再構成方法。
(付記15)前記切替工程によって切り替えられた結果、前記一連の処理のうち前記ソフトウェアによって実行中の処理の存否を判定させる判定工程を含み、
前記判定工程によって前記ソフトウェアによって実行中の処理が存在すると判定された場合、前記検出工程、前記構築工程および前記切替工程を繰り返すことを特徴とする付記14に記載の動的再構成方法。
(付記16)前記検出工程は、
前記一連の処理の実行順序に従って前記一部の処理を検出することを特徴とする付記14に記載の動的再構成方法。
(付記17)前記検出工程は、
前記一連の処理の実行順序とは逆の順序に従って前記一部の処理を検出することを特徴とする付記14に記載の動的再構成方法。
(付記18)前記検出工程は、
予め設定された検出順序に従って前記一部の処理を検出することを特徴とする付記14に記載の動的再構成方法。
(付記19)前記構築工程は、
前記一部の処理の機能を実現するためのハードウェア記述情報を前記ハードウェア上に書き込むことにより、前記一部の処理の機能を実現する論理回路を構築することを特徴とする付記14に記載の動的再構成方法。
以上のように、本発明にかかる動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法は、限られたハードウェア資源を利用して多くの機能を実現する機器に有用である。
200 動的再構成装置
301 検出部
302 構築部
303 切替部
304 判定部
800,1310,1320 グラフ
1000,1200 プログラム
1100 ステータスレジスタ

Claims (9)

  1. 再構成対象となる一連の処理の実行をソフトウェアからハードウェアに段階的に切り替えさせる動的再構成プログラムであって、
    前記一連の処理の実行順序とは逆の順序に従って、前記一連の処理のうち前記ソフトウェアによって実行中の一部の処理を検出させる検出工程と、
    前記検出工程によって検出された一部の処理の機能を実現する論理回路を前記ハードウェア上に構築させる構築工程と、
    前記構築工程によって前記論理回路が構築された結果、前記一部の処理の実行を、前記ソフトウェアによる実行から前記ハードウェア上に構築された論理回路による実行に切り替えさせる切替工程と、
    をコンピュータに実行させることを特徴とする動的再構成プログラム。
  2. 前記切替工程によって切り替えられた結果、前記一連の処理のうち前記ソフトウェアによって実行中の処理の存否を判定させる判定工程を前記コンピュータに実行させ、
    前記判定工程によって前記ソフトウェアによって実行中の処理が存在すると判定された場合、前記検出工程、前記構築工程および前記切替工程を前記コンピュータに実行させることを特徴とする請求項1に記載の動的再構成プログラム。
  3. 前記構築工程は、
    前記一部の処理の機能を実現するためのハードウェア記述情報を前記ハードウェア上に書き込むことにより、前記一部の処理の機能を実現する論理回路を構築させることを特徴とする請求項1または2に記載の動的再構成プログラム。
  4. 再構成対象となる一連の処理の実行をソフトウェアからハードウェアに段階的に切り替える動的再構成装置であって、
    前記一連の処理の実行順序とは逆の順序に従って、前記一連の処理のうち前記ソフトウェアによって実行中の一部の処理を検出する検出手段と、
    前記検出手段によって検出された一部の処理の機能を実現する論理回路を前記ハードウェア上に構築する構築手段と、
    前記構築手段によって前記論理回路が構築された結果、前記一部の処理の実行を、前記ソフトウェアによる実行から前記ハードウェア上に構築された論理回路による実行に切り替える切替手段と、
    を備えることを特徴とする動的再構成装置。
  5. 前記切替手段によって切り替えられた結果、前記一連の処理のうち前記ソフトウェアによって実行中の処理の存否を判定する判定手段を備え、
    前記検出手段は、
    前記判定手段によって前記ソフトウェアによって実行中の処理が存在すると判定された場合、前記ソフトウェアによって実行中の残余の処理のうち一部の処理を検出することを特徴とする請求項4に記載の動的再構成装置。
  6. 前記構築手段は、
    前記一部の処理の機能を実現するためのハードウェア記述情報を前記ハードウェア上に書き込むことにより、前記一部の処理の機能を実現する論理回路を構築することを特徴とする請求項4または5に記載の動的再構成装置。
  7. 再構成対象となる一連の処理の実行をソフトウェアからハードウェアに段階的に切り替える動的再構成方法であって、
    前記一連の処理の実行順序とは逆の順序に従って、前記一連の処理のうち前記ソフトウェアによって実行中の一部の処理を検出する検出工程と、
    前記検出工程によって検出された一部の処理の機能を実現する論理回路を前記ハードウェア上に構築する構築工程と、
    前記構築工程によって前記論理回路が構築された結果、前記一部の処理の実行を、前記ソフトウェアによる実行から前記ハードウェア上に構築された論理回路による実行に切り替える切替工程と、
    を含んだことを特徴とする動的再構成方法。
  8. 前記切替工程によって切り替えられた結果、前記一連の処理のうち前記ソフトウェアによって実行中の処理の存否を判定させる判定工程を含み、
    前記判定工程によって前記ソフトウェアによって実行中の処理が存在すると判定された場合、前記検出工程、前記構築工程および前記切替工程を繰り返すことを特徴とする請求項7に記載の動的再構成方法。
  9. 前記構築工程は、
    前記一部の処理の機能を実現するためのハードウェア記述情報を前記ハードウェア上に書き込むことにより、前記一部の処理の機能を実現する論理回路を構築することを特徴とする請求項7または8に記載の動的再構成方法。
JP2009528006A 2007-08-15 2007-08-15 動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法 Expired - Fee Related JP5035344B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/065913 WO2009022418A1 (ja) 2007-08-15 2007-08-15 動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法

Publications (2)

Publication Number Publication Date
JPWO2009022418A1 JPWO2009022418A1 (ja) 2010-11-11
JP5035344B2 true JP5035344B2 (ja) 2012-09-26

Family

ID=40350482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009528006A Expired - Fee Related JP5035344B2 (ja) 2007-08-15 2007-08-15 動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法

Country Status (3)

Country Link
US (1) US8250501B2 (ja)
JP (1) JP5035344B2 (ja)
WO (1) WO2009022418A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779244B1 (en) * 2012-08-14 2017-10-03 Rockwell Collins, Inc. Establishing secure initial state in a processing platform containing both high assurance security and safety-critical functions
US8972713B2 (en) * 2012-12-21 2015-03-03 Intel Corporation Cloud transformable device
JP2016111633A (ja) * 2014-12-09 2016-06-20 キヤノン株式会社 回路情報に従って論理回路を構成可能な回路を持つデバイスと、複数の制御手段とを有する情報処理システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232081A (ja) * 1998-02-12 1999-08-27 Fuji Xerox Co Ltd 情報処理システムおよび情報処理方法
WO2001095099A1 (fr) * 2000-06-06 2001-12-13 Tadahiro Ohmi Systeme et procede de gestion de circuits de traitement d'informations a fonction variable
JP2004362446A (ja) * 2003-06-06 2004-12-24 Mitsubishi Electric Corp 計算機及び計算方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751967A (en) * 1994-07-25 1998-05-12 Bay Networks Group, Inc. Method and apparatus for automatically configuring a network device to support a virtual network
JPH10320376A (ja) 1997-05-14 1998-12-04 Ricoh Co Ltd デジタル信号処理開発システム
JP3900499B2 (ja) 2004-10-27 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232081A (ja) * 1998-02-12 1999-08-27 Fuji Xerox Co Ltd 情報処理システムおよび情報処理方法
WO2001095099A1 (fr) * 2000-06-06 2001-12-13 Tadahiro Ohmi Systeme et procede de gestion de circuits de traitement d'informations a fonction variable
JP2004362446A (ja) * 2003-06-06 2004-12-24 Mitsubishi Electric Corp 計算機及び計算方法

Also Published As

Publication number Publication date
JPWO2009022418A1 (ja) 2010-11-11
US8250501B2 (en) 2012-08-21
WO2009022418A1 (ja) 2009-02-19
US20100146257A1 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
KR101494904B1 (ko) 비디오 파일에 대한 썸네일을 생성하는 방법 및 장치
TWI391895B (zh) 顯示驅動裝置與其方法
JP4919743B2 (ja) デジタルイメージでサムネイルを生成する方法及び装置
KR20100021168A (ko) 이미지 디코딩 장치 및 방법과 이를 이용한 이미지 데이터 처리 장치 및 방법
JP2010507140A (ja) パーソナライズドスライドショー生成
US20080301169A1 (en) Electronic apparatus of playing and editing multimedia data
CN109327698B (zh) 动态预览图的生成方法、系统、介质和电子设备
CN110675841A (zh) 图像装置及其方法、记录介质
JP5035344B2 (ja) 動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法
US20060279583A1 (en) Information processing apparatus and image processing method
JP2007295392A (ja) 情報処理装置、復号処理方法、およびプログラム
CN106940722A (zh) 一种图片显示方法及装置
JP2010206273A (ja) 情報処理装置
JP2008299610A (ja) マルチプロセッサ
CN102577364A (zh) 动态图像再现装置、动态图像再现程序以及动态图像再现方法
JP2012253712A (ja) 映像コンテンツ再生装置、映像コンテンツ再生方法、プログラム、及び記録媒体
KR102146557B1 (ko) 어플리케이션의 데이터를 렌더링하는 방법, 장치 및 기록매체
CN112600564A (zh) 游程解码电路、控制方法、电子装置及可读存储介质
KR101970787B1 (ko) 안드로이드 플랫폼 기반 듀얼 메모리를 이용한 비디오 디코딩 장치 및 방법
JP2005189975A (ja) 画像処理装置、画像処理方法およびプログラム
JP5139399B2 (ja) 再生装置および再生装置の制御方法
JP2011188315A (ja) 画像再生装置及びプログラム
JP7252444B2 (ja) 表示制御プログラム、表示制御方法および情報処理装置
JP5452125B2 (ja) データ処理装置及びデータ処理方法
JP2001103427A (ja) 圧縮画像再生装置及びプログラム記録媒体

Legal Events

Date Code Title Description
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: 20120605

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: 20120618

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees