JP2006020147A - 情報処理装置および方法、記録媒体、並びにプログラム - Google Patents

情報処理装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP2006020147A
JP2006020147A JP2004196861A JP2004196861A JP2006020147A JP 2006020147 A JP2006020147 A JP 2006020147A JP 2004196861 A JP2004196861 A JP 2004196861A JP 2004196861 A JP2004196861 A JP 2004196861A JP 2006020147 A JP2006020147 A JP 2006020147A
Authority
JP
Japan
Prior art keywords
sub
data
decoding
management
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.)
Withdrawn
Application number
JP2004196861A
Other languages
English (en)
Inventor
Toru Takahashi
徹 高橋
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004196861A priority Critical patent/JP2006020147A/ja
Publication of JP2006020147A publication Critical patent/JP2006020147A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】低コスト、かつ、高速に、マルチトランスコードする。
【解決手段】デコーダ82は、複数のサブプロセッサのいずれかにMPEGデコードプログラムをロードさせ、デコード処理を実行させる。このデコード処理の際に得られたサブデータは、サブデータ変換部83に供給される。サブデータ変換部83は、サブデータをトランスコードテーブルに変換し、メインメモリ32に記憶させる。フィルタ部84は、複数のサブプロセッサのいずれかに高画質化フィルタプログラムをロードさせ、フィルタ処理を実行させる。エンコーダ85は、複数のサブプロセッサのいずれかにエンコーダプログラムをロードさせ、トランスコード処理を実行させる。このときエンコーダ85は、メインメモリ32に記憶されているサブデータに基づくトランスコードテーブルを参照し、トランスコード処理を実行する。本発明は、ホームサーバに適用することができる。
【選択図】図9

Description

本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、例えば、圧縮されたストリームを他の圧縮形式に変換する場合において、圧縮されたストリームを復号した際に得られるサブデータを利用して再符号化することができるようにした情報処理装置および方法、記録媒体、並びにプログラムに関する。
例えば、MPEG(Moving Picture Experts Group)2などで符号化された映像情報から、MPEG4などの他のコーデックやビットレートの異なるMPEG2で符号化された映像情報へ形式変換する場合、通常、入力されたMPEGストリームが一旦復号され、復号されたデータが他のエンコーダに入力され、そこで他の形式に変換される。この一連の処理は、トランスコードと呼ばれている。
トランスコードする際、復号時に得られる動きベクトルやDCT(Discrete Cosine Transform)係数などのサブデータを再利用し、処理を高速化する技術が提案されている(例えば、特許文献1および特許文献2参照)。
特開2002−185969号公報 特開2003−116104号公報
上述した特許文献の技術では、単一のトランスコードを行うことのみを想定しており、ホームサーバのような他の機器と連携しながら映像情報の復号および符号化を行う機器の場合、多様な複数のトランスコードを同時にスケーラブルに行う必要がある。
しかしながら、これらの技術では、マルチトランスコードを実現するために、複数の専用ハードウェアを搭載するか、あるいは、汎用プロセッサ上に複数のプロセススレッドを生成しなければならない課題があった。
そして、複数の専用ハードウェアを搭載した場合には、ハードウェア化の際のコスト負担が大きくなり、複数のプロセススレッドを生成した場合には、計算資源の競合に起因して計算資源が不足し、スムーズにトランスコードを行うことができない課題があった。
本発明はこのような状況に鑑みてなされたものであり、低コスト、かつ、高速にマルチトランスコードを行うことができるようにするものである。
本発明の情報処理装置は、複数の演算部の負荷を管理する管理手段と、管理手段による管理に基づいて、第1の演算部に、符号化された画像データを供給する第1の供給手段と、第1の供給手段により供給された、符号化された画像データを復号する復号手段と、復号手段による復号時に得られたサブデータを記憶する記憶手段と、管理手段による管理に基づいて、第2の演算部に、記憶手段に記憶されているサブデータ、および、復号手段により復号されたデータを供給する第2の供給手段と、第2の供給手段により供給されたサブデータに基づいて、復号手段により復号されたデータを符号化する符号化手段とを備えることを特徴とする。
前記記憶手段は、復号するためのプログラム、および、他の圧縮方式に符号化するためのプログラムをさらに記憶し、第1の供給手段は、第1の演算部に、記憶手段に記憶されている復号するためのプログラムを供給し、第2の供給手段は、第2の演算部に、記憶手段に記憶されている他の圧縮方式に符号化するためのプログラムを供給するようにすることができる。
前記管理手段による管理に基づいて、第3の演算部に、復号手段により復号されたデータを供給する第3の供給手段と、第3の供給手段により供給された、復号手段により復号されたデータを高画質化処理する高画質化手段とをさらに設けるようにすることができる。
前記記憶手段は、高画質化処理するためのプログラムをさらに記憶し、第3の供給手段は、第3の演算部に、記憶手段に記憶されている高画質化処理するためのプログラムを供給するようにすることができる。
前記管理手段は、メインプロセッサであり、複数の演算部は、複数のサブプロセッサであるものとすることができる。
本発明の情報処理方法は、複数の演算部の負荷を管理する管理ステップと、管理ステップの処理による管理に基づいて、第1の演算部に、符号化された画像データを供給する第1の供給ステップと、第1の供給ステップの処理により供給された、符号化された画像データを復号する復号ステップと、復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、管理ステップによる管理に基づいて、第2の演算部に、記憶ステップの処理で記憶されたサブデータ、および、復号ステップの処理により復号されたデータを供給する第2の供給ステップと、第2の供給ステップの処理により供給されたサブデータに基づいて、復号ステップの処理により復号されたデータを符号化する符号化ステップとを含むことを特徴とする。
本発明の記録媒体に記録されているプログラムは、複数の演算部の負荷を管理する管理ステップと、管理ステップの処理による管理に基づいて、第1の演算部に、符号化された画像データを供給する第1の供給ステップと、第1の供給ステップの処理により供給された、符号化された画像データを復号する復号ステップと、復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、管理ステップによる管理に基づいて、第2の演算部に、記憶ステップの処理で記憶されたサブデータ、および、復号ステップの処理により復号されたデータを供給する第2の供給ステップと、第2の供給ステップの処理により供給されたサブデータに基づいて、復号ステップの処理により復号されたデータを符号化する符号化ステップとを含む処理をコンピュータに行わせることを特徴とする。
本発明のプログラムは、複数の演算部の負荷を管理する管理ステップと、管理ステップの処理による管理に基づいて、第1の演算部に、符号化された画像データを供給する第1の供給ステップと、第1の供給ステップの処理により供給された、符号化された画像データを復号する復号ステップと、復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、管理ステップによる管理に基づいて、第2の演算部に、記憶ステップの処理で記憶されたサブデータ、および、復号ステップの処理により復号されたデータを供給する第2の供給ステップと、第2の供給ステップの処理により供給されたサブデータに基づいて、復号ステップの処理により復号されたデータを符号化する符号化ステップとを含む処理をコンピュータに行わせることを特徴とする。
本発明においては、複数の演算部の負荷が管理され、第1の演算部に符号化された画像データが供給されて復号され、復号時に得られたサブデータが記憶され、第2の演算部にサブデータおよび復号データが供給され、サブデータに基づいて復号データが符号化される。
本発明によれば、入力されたストリームをトランスコードすることができる。特に、トランスコードの負荷を分散させることにより、低コスト、かつ、高速に、入力されたストリームをマルチトランスコードすることが可能となる。
以下に本発明を実施するための最良の形態を説明するが、明細書中に記載の発明と、実施の形態との対応関係を例示すると、次のようになる。明細書には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている実施の形態に対応するすべての発明が、記載されていることを意味するものではない。換言すれば、この記載は、明細書に記載されている他の発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
請求項1に記載の情報処理装置(例えば、図2の管理装置11)は、複数の演算部の負荷を管理する管理手段(例えば、図2のメインプロセッサ42)と、管理手段による管理に基づいて、第1の演算部(例えば、図2のサブプロセッサ43−1)に、符号化された画像データを供給する第1の供給手段(例えば、図14のステップS5の処理を実行する図2のメインプロセッサ42)と、第1の供給手段により供給された、符号化された画像データを復号する復号手段(例えば、図15のステップS31乃至S41の処理を実行する図9のデコーダ82)と、復号手段による復号時に得られたサブデータを記憶する記憶手段(例えば、図14のステップS8の処理を実行するサブプロセッサ43−1)と、管理手段による管理に基づいて、第2の演算部(例えば、図2のサブプロセッサ43−2)に、記憶手段に記憶されているサブデータ、および、復号手段により復号されたデータを供給する第2の供給手段(例えば、図14のステップS14の処理を実行する図2のメインプロセッサ42)と、第2の供給手段により供給されたサブデータに基づいて、復号手段により復号されたデータを符号化する符号化手段(例えば、図16のステップS61乃至S72の処理を実行する図9のエンコーダ85)とを備えることを特徴とする。
請求項3に記載の情報処理装置は、管理手段による管理に基づいて、第3の演算部(例えば、サブプロセッサ43−3)に、復号手段により復号されたデータを供給する第3の供給手段(例えば、図14のステップS11の処理を実行する図2のメインプロセッサ42)と、第3の供給手段により供給された、復号手段により復号されたデータを高画質化処理する高画質化手段(例えば、図14のステップS12の処理を実行する図9のフィルタ部84)とをさらに備えることを特徴とする。
請求項6に記載の情報処理方法は、複数の演算部の負荷を管理する管理ステップ(例えば、図2のメインプロセッサ42が実行する処理)と、管理ステップの処理による管理に基づいて、第1の演算部(例えば、図2のサブプロセッサ43−1)に、符号化された画像データを供給する第1の供給ステップ(例えば、図14のステップS5)と、第1の供給ステップの処理により供給された、符号化された画像データを復号する復号ステップ(例えば、図15のステップS31乃至S41)と、復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップ(例えば、図14のステップS8)と、管理ステップによる管理に基づいて、第2の演算部(例えば、図2のサブプロセッサ43−2)に、記憶ステップの処理で記憶されたサブデータ、および、復号ステップの処理により復号されたデータを供給する第2の供給ステップ(例えば、図14のステップS14)と、第2の供給ステップの処理により供給されたサブデータに基づいて、復号ステップの処理により復号されたデータを符号化する符号化ステップ(例えば、図16のステップS61乃至S72)とを含むことを特徴とする。
なお、請求項7に記載の記録媒体に記録されているプログラム、および請求項8に記載のプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、請求項6に記載の情報処理方法と同様である。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明を適用した通信システム1の一実施の形態の構成例を示す図である。この通信システム1においては、セルネットワークなどの通信網12を介して、管理装置11、ディスク記録装置13、および端末装置14−1乃至14−nが相互に接続されている。
管理装置11は、内部にハードディスクなどの記録部33−1,33−2(図2)を備えるとともに、デジタルテレビジョン放送を受信すること、受信したデジタルテレビジョン放送をディスプレイなどの出力部35(図2)に出力することや記録部33−1,33−2に記録(録画)すること、通信網12を介してストリーミング配信すること、および、DVD(Digital Versatile Disk)±RW(Re-writable)などの外部記録媒体に書き出す機能を有するハードディスクレコーダなどの録画機器(ホームサーバ)である。
管理装置11は、分散処理の実行が指示されると、要求された処理を実行するために必要なデータおよびプログラムを含むソフトウェアセルを生成し、生成したソフトウェアセルを、通信網12を介して、ディスク記録装置13または端末装置14−1乃至14−nあてに送信する。また管理装置11は、ディスク記録装置13または端末装置14−1乃至14−nから送信されてきたデータを受信し、受信したデータを基に、所定の処理を実行するか、受信したデータを記録する。
ディスク記録装置13は、管理装置11から送信されてきたソフトウェアセルを受信し、受信したソフトウェアセルを基に、要求された処理(例えば、図示せぬ外部記録媒体への記録処理)を実行する。またディスク記録装置13は、要求された処理を実行してから、要求された処理の結果得られたデータを、通信網12を介して管理装置11あてに送信する。
端末装置14−1乃至14−nは、それぞれ、管理装置11から送信されてきたソフトウェアセルを受信し、受信したソフトウェアセルを基に、要求された処理(例えば、ストリーミング再生処理)を実行する。また端末装置14−1乃至14−nは、それぞれ、要求された処理を実行してから、要求された処理の結果得られたデータを、通信網12を介して管理装置11あてに送信する。以下、端末装置14−1乃至14−nを個々に区別する必要がない場合、単に、端末装置14と称する。
以上のように、管理装置11は、ディスク記録装置13および端末装置14と連携して動作するものであって、1つの実行すべきプログラムを任意の処理単位で分割し、セル化したソフトウェアセルを適宜分散して処理し、各装置で得られた処理結果をまとめることにより、1つのプログラムを互いに連携して実行するものである。
図2は、管理装置11の内部の構成例を示すブロック図である。
管理装置11は、情報処理コントローラ31、メインメモリ32、記録部33−1、記録部33−2、バス34、出力部35、通信部36、およびドライブ37を含むように構成される。
情報処理コントローラ31は、メインメモリ32に記録されている各種のプログラムを実行し、管理装置11全体を制御する。情報処理コントローラ31は、ソフトウェアセルを生成し、生成したソフトウェアセルを、バス34を介して、通信部36に供給する。情報処理コントローラ31は、通信部36から供給されたデータを記録部33−1または記録部33−2に供給する。情報処理コントローラ31は、入力部(図示せず)からの指令に基づいて、指定されたデータを、メインメモリ32、記録部33−1または記録部33−2から取得し、取得したデータをバス34を介して出力部35に供給する。
また、情報処理コントローラ31には、管理装置11を、通信網12全体を通して一意的に特定できる装置IDが割り当てられている。
情報処理コントローラ31は、バス41、メインプロセッサ42、サブプロセッサ43−1乃至サブプロセッサ43−3、DMAC(Direct Memory Access Controller)44、キー管理テーブル記録部45、およびDC(Disk Controller)46を備えている。
メインプロセッサ42、サブプロセッサ43−1乃至43−3、DMAC44、キー管理テーブル記録部45、およびDC46は、バス41を介して、相互に接続されている。また、メインプロセッサ42には、メインプロセッサ42を特定するためのメインプロセッサIDが識別子として割り当てられる。同様に、サブプロセッサ43−1乃至43−3のには、それぞれ、サブプロセッサ43−1乃至43−3を特定するためのサブプロセッサIDが識別子として割り当てられる。
メインプロセッサ42は、サブプロセッサ43−1乃至43−3によるプログラムの実行のスケジュール管理および情報処理コントローラ31(管理装置11)の全体の管理を行う。メインプロセッサ42は、ローカルストレージ51−1を備え、メインメモリ32からロードしたデータおよびプログラムを、ローカルストレージ51−1に一時的に記憶させる。メインプロセッサ42は、ローカルストレージ51−1からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
メインプロセッサ42は、通信網12を介して接続されている、ディスク記録装置13または端末装置14に分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルをバス41およびバス34を介して、通信部36に供給する。また、メインプロセッサ42は、ディスク記録装置13または端末装置14より通信部36を介して供給された処理結果を収集する。さらに、メインプロセッサ42は、管理のためのプログラム以外のプログラムを実行するように構成することもできる。この場合、メインプロセッサ42は、サブプロセッサとして機能する。
サブプロセッサ43−1乃至43−3は、メインプロセッサ42の制御の基、並列的かつ独立に、ソフトウェアセルを実行し、データを処理する。さらに、必要に応じて、メインプロセッサ42が実行するプログラムが、サブプロセッサ43−1乃至43−3のそれぞれが実行するプログラムと連携して動作するように構成することも可能である。
サブプロセッサ43−1乃至43−3は、それぞれ、ローカルストレージ51−2乃至51−4を備える。また、サブプロセッサ43−1乃至43−3は、それぞれ必要に応じて、データおよびプログラムを、ローカルストレージ51−2乃至51−4に一時的に記憶させる。サブプロセッサ43−1乃至43−3は、それぞれ、ローカルストレージ51−2乃至51−4からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
以下、サブプロセッサ43−1乃至43−3を個々に区別する必要がない場合、単に、サブプロセッサ43と称する。同様に、以下、ローカルストレージ51−1乃至51−4を個々に区別する必要がない場合、単に、ローカルストレージ51と称する。
DMAC44は、キー管理テーブル記録部45に記録されている、メインプロセッサキー、サブプロセッサキー、およびアクセスキーを基に、メインプロセッサ42およびサブプロセッサ43からのメインメモリ32に記憶されているプログラムおよびデータへのアクセスを管理する。
キー管理テーブル記録部45は、メインプロセッサキー、サブプロセッサキー、およびアクセスキーを記録している。なお、メインプロセッサキー、サブプロセッサキー、およびアクセスキーの詳細は後述する。
DC46は、メインプロセッサ42およびサブプロセッサ43からの記録部33−1および記録部33−2へのアクセスを管理する。
メインメモリ32は、例えば、RAMから構成される。メインメモリ32は、メインプロセッサ42およびサブプロセッサ43が実行する各種のプログラムおよびデータを一時的に記憶している。すなわち、図3に示されるように、メインメモリ32には、例えば、受信したMPEG元データ、復号されたデータ、トランスコードされたMPEG2データ、システム管理クラス、トランスコードされたAVC(Variable Length Coding)データ、およびサブデータなどが記憶されている。ここで、トランスコードとは、圧縮されたデータを復号し、さらに他の圧縮形式に符号化する一連の処理である。サブデータとは、例えば、復号時に生成される動きベクトルやDCT係数などである。
記録部33−1,33−2は、それぞれ、例えば、ハードディスクなどにより構成される。記録部33−1,33−2は、メインプロセッサ42およびサブプロセッサ43が実行する各種のプログラムおよびデータを記録している。また、記録部33−1,33−2は、情報処理コントローラ31から供給されたデータを記録する。以下、記録部33−1,33−2を個々に区別する必要がない場合、単に、記録部33と称する。
また、情報処理コントローラ31には、バス34を介して、出力部35、通信部36、およびドライブ37が接続されている。出力部35は、例えば、ディスプレイ、スピーカ、およびランプなどよりなり、情報処理コントローラ31から供給されたデータを出力する。
通信部36は、情報処理コントローラ31から供給されたソフトウェアセルを、通信網12を介してディスク記録装置13または端末装置14あてに送信する。また、通信部36は、ディスク記録装置13または端末装置14から送信されてきたデータを、バス34を介して、情報処理コントローラ31に供給する。
ドライブ37は、磁気ディスク61、光ディスク62、光磁気ディスク63、あるいは半導体メモリ64などのリムーバブルメディアが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて、バス34を介して、情報処理コントローラ31に転送され、情報処理コントローラ31によって、記録部33に記録される。
なお、ディスク記録装置13および端末装置14は、管理装置11と同様に構成されるので、その説明は省略する。ディスク記録装置13および端末装置14は上述した構成に限らず、必要に応じて、機能を追加したり削除したりすることは可能であり、その機能に対応した構成をもつことが可能である。
次に、図4乃至図6を参照して、サブプロセッサ43がメインメモリ32にアクセスする場合の処理について説明する。
図4で示されるように、メインメモリ32には、複数のアドレスを指定できるメモリロケーションが配置される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、F/Eビット、サブプロセッサIDおよびLSアドレス(ローカルストレージアドレス)を含む。また、各メモリロケーションには、後述するアクセスキーが割り振られる。
“0”であるF/Eビットは、サブプロセッサ43によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、そのメモリロケーションから読み出し不可であることを示す。また、“0”であるF/Eビットは、そのメモリロケーションにデータ書き込み可能であることを示し、データが書き込まれると、F/Eビットは“1”に設定される。
“1”であるF/Eビットは、そのメモリロケーションのデータがサブプロセッサ43によって読み出されておらず、未処理の最新データであることを示す。F/Eビットが“1”であるメモリロケーションのデータは読み出し可能であり、サブプロセッサ43によって読み出されてから、F/Eビットは“0”に設定される。また、“1”であるF/Eビットは、メモリロケーションがデータ書き込み不可であることを示す。
さらに、F/Eビットが“0”(読み出し不可/書き込み可)である状態において、メモリロケーションについて読み出し予約を設定することが可能である。F/Eビットが“0”であるメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ43は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報としてサブプロセッサ43のサブプロセッサIDおよびLSアドレスを書き込む。そして、データを書き込むサブプロセッサ43によって、読み出し予約されたメモリロケーションにデータが書き込まれ、F/Eビットが“1”(読み出し可/書き込み不可)に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれているサブプロセッサIDおよびLSアドレスによって特定されるローカルストレージ51に読み出される。
複数のサブプロセッサ43によってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出しおよび書き込みを制御することによって、前段階の処理を行うサブプロセッサ43が、処理済みのデータをメインメモリ32における所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ43が前処理後のデータを読み出すことが可能となる。
また、図5で示されるように、サブプロセッサ43のローカルストレージ51は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含む。
サブプロセッサ43がメインメモリ32に記憶されているデータをサブプロセッサ43のローカルストレージ51のメモリロケーションに読み出すときには、対応するビジービットを“1”に設定して予約する。ビジービットが“1”であるメモリロケーションには、他のデータを格納することができない。ローカルストレージ51のメモリロケーションにデータが読み出されると、ビジービットは“0”に設定され、他のデータを格納することができるようになる。
さらに、図4で示すように情報処理コントローラ31に接続されているメインメモリ32には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ32内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ43に割り当てられ、割り当てられたサブプロセッサ43が排他的に使用することができる。すなわち、サブプロセッサ43は、割り当てられたサンドボックスを使用できるが、この領域を超えてデータにアクセスすることはできない。
メインメモリ32は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
さらに、メインメモリ32の排他的な制御を実現するために、図6で示されるキー管理テーブルが用いられる。キー管理テーブルは、キー管理テーブル記録部45に記録され、DMAC44と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサID、サブプロセッサキーおよびキーマスクが含まれる。
サブプロセッサ43がメインメモリ32にアクセスする場合、サブプロセッサ43はDMAC44に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、サブプロセッサ43を特定するサブプロセッサIDおよびアクセス要求先であるメインメモリ32のアドレスが含まれる。
DMAC44は、サブプロセッサ43から供給されたコマンドを実行する場合、キー管理テーブルを参照して、アクセス要求元のサブプロセッサ43のサブプロセッサキーを調べる。そして、DMAC44は、調べたアクセス要求元のサブプロセッサキーと、アクセス要求先であるメインメモリ32のメモリロケーションに割り振られたアクセスキーとを比較して、2つのキーが一致した場合にのみ、サブプロセッサ43から供給されたコマンドを実行する。
図6は、キー管理テーブルの例を示す図である。キー管理テーブルに記録されているキーマスクは、その任意のビットが“1”になることによって、そのキーマスクと関連付けられたサブプロセッサキーの対応するビットを“0”または“1”にすることができる。
例えば、サブプロセッサキーが“1010”であるとする。通常、このサブプロセッサキーによって“1010”のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが“0001”に設定されている場合には、キーマスクのビットが“1”に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ(キーマスクのビットが“1”に設定された桁について、判定されず)、このサブプロセッサキー“1010”によってアクセスキーが“1010”または“1011”のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
以上のようにして、メインメモリ32のサンドボックスの排他性が実現される。すなわち、複数のサブプロセッサ43によってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサ43と、後段階の処理を行うサブプロセッサ43のみが、メインメモリ32の所定のアドレスにアクセスできるようになり、データを保護することができる。
例えば、キーマスクの値は、以下のように変更されることが考えられる。まず、管理装置11の起動直後においては、キーマスクの値は全て“0”である。メインプロセッサ42にロードされたプログラムが実行され、サブプロセッサ43にロードされたプログラムと連携動作するものとする。サブプロセッサ43−1により出力された処理結果データを、メインメモリ32に記憶させ、メインメモリ32に記憶させた処理結果データを、サブプロセッサ43−2に入力したいときには、サブプロセッサ43−1により出力された処理結果データを記憶しているメインメモリ32の領域は、サブプロセッサ43−1およびサブプロセッサ43−2からアクセス可能である必要がある。そのような場合に、メインプロセッサ42は、キーマスクの値を適切に変更し、複数のサブプロセッサ43からアクセスできるメインメモリの領域を設けることにより、サブプロセッサ43による多段階的の処理を可能にする。
より具体的には、例えば、ディスク記録装置13または端末装置14から送信されてきた、データを基に、サブプロセッサ43−1が所定の処理を実行し、処理が施されたデータをメインメモリ32の第1の領域に記憶させる。そして、サブプロセッサ43−2は、メインメモリ32の第1の領域から、記憶されているデータを読み出し、読み出したデータを基に、所定の処理を実行し、処理が施されたデータをメインメモリ32の第1の領域とは、異なる第2の領域に記憶させる。
ここで、サブプロセッサ43−1のサブプロセッサキーが“0100”であり、メインメモリ32の第1の領域のアクセスキーが“0100”であり、サブプロセッサ43−2のサブプロセッサキーが“0101”であり、メインメモリ32の第2の領域のアクセスキーが“0101”である場合、サブプロセッサ43−2は、メインメモリ32の第1の領域にアクセスすることができない。そこで、サブプロセッサ43−2のキーマスクを“0001”にすることによって、サブプロセッサ43−2は、メインメモリ32の第1の領域にアクセスすることができるようになる。
次に、図7および図8を参照して、管理装置11がソフトウェアセルを生成し、生成したソフトウェアセルを基に、ディスク記録装置13または端末装置14に分散処理を実行させる場合の処理について説明する。
管理装置11のメインプロセッサ42は、処理を実行するために必要なコマンド、プログラム、およびデータを含むソフトウェアセルを生成し、通信網12を介してディスク記録装置13または端末装置14あてに送信する。
図7は、ソフトウェアセルの構成例を示す図である。
ソフトウェアセルは、例えば、送信元ID、送信先ID、応答先ID、セルインターフェース、DMAコマンド、プログラム、およびデータを含むように構成される。
送信元IDには、ソフトウェアセルの送信元である管理装置11のネットワークアドレスおよび管理装置11の情報処理コントローラ31の装置ID、さらに、管理装置11の情報処理コントローラ31が備えるメインプロセッサ42およびサブプロセッサ43の識別子(メインプロセッサIDおよびサブプロセッサID)が含まれる。
送信先IDには、ソフトウェアセルの送信先であるディスク記録装置13または端末装置14のネットワークアドレス、ディスク記録装置13または端末装置14の情報処理コントローラの装置ID、およびディスク記録装置13または端末装置14の情報処理コントローラが備えるメインプロセッサおよびサブプロセッサの識別子が含まれる。
また、応答先IDには、ソフトウェアセルの実行結果の応答先である管理装置11のネットワークアドレス、管理装置11の情報処理コントローラ31の装置ID、および情報処理コントローラ31が備えるメインプロセッサ42およびサブプロセッサ43の識別子が含まれる。
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルID、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルIDから構成される。
グローバルIDは、通信網12全体を通してソフトウェアセルを一意的に識別できるものであり、送信元ID、およびソフトウェアセルの生成または送信の日時(日付および時刻)を基に、生成される。
必要なサブプロセッサの情報は、ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、ソフトウェアセルの実行に必要なメインメモリおよびサブプロセッサのローカルストレージのメモリ量が設定される。
前回のソフトウェアセルIDは、ストリーミングデータなどのシーケンシャルな実行を要求する1つのグループを構成するソフトウェアセル内の、前回のソフトウェアセルの識別子である。
ソフトウェアセルの実行セクションは、DMAコマンド、プログラムおよびデータから構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
さらに、DMAコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
ロードコマンドは、メインメモリが記憶している情報をサブプロセッサのローカルストレージにロードさせるコマンドであり、ロードコマンドのほかに、メインメモリアドレス、サブプロセッサIDおよびLSアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリの所定の領域のアドレスを示す。サブプロセッサIDおよびLSアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージのアドレスを示す。
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンドの他に、サブプロセッサIDおよびプログラムカウンタを含む。サブプロセッサIDは、キック対象のサブプロセッサを識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
機能プログラム実行コマンドは、ある装置(例えば、管理装置11)が他の装置(例えば、ディスク記録装置13または端末装置14)に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した装置(例えば、ディスク記録装置13または端末装置14)の情報処理コントローラは、機能プログラムIDによって、起動すべき機能プログラムを識別する。
ステータス要求コマンドは、送信先IDで示されるディスク記録装置13または端末装置14の現在の動作状態(状況)に関する装置情報を、応答先IDで示される管理装置11あてに送信要求するコマンドである。
ステータス返信コマンドは、ステータス要求コマンドを受信したディスク記録装置13または端末装置14が、装置情報をステータス要求コマンドに含まれる応答先IDで示される管理装置11に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
図8は、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造例を示す図である。
装置IDは、情報処理コントローラを備えるディスク記録装置13または端末装置14を識別するための識別子であり、ステータス返信コマンドを送信するディスク記録装置13または端末装置14のIDを示す。装置IDは、例えば、装置の電源をオンしたとき、ディスク記録装置13または端末装置14の情報処理コントローラに含まれるメインプロセッサによって、装置の電源をオンしたときの日時、ディスク記録装置13または端末装置14のネットワークアドレス、およびディスク記録装置13または端末装置14の情報処理コントローラに含まれるサブプロセッサの数などに基づいて生成される。
装置種別IDには、ディスク記録装置13または端末装置14の特徴を表す値が含まれる。ディスク記録装置13または端末装置14の特徴とは、ディスク記録装置13または端末装置14がどのような装置であるかを示す情報であり、例えば、ディスク記録装置13または端末装置14が、ハードディスクレコーダ、PDA(Personal Digital Assistants)、ポータブルCD(Compact Disc)プレーヤなどであることを示す情報である。また、装置種別IDは、映像音声記録、映像音声再生など、ディスク記録装置13または端末装置14の機能を表すものであってもよい。ディスク記録装置13または端末装置14の特徴や機能を表す値は予め決定されているものとし、装置種別IDを読み出すことにより、ディスク記録装置13または端末装置14の特徴や機能を把握することが可能である。
メインプロセッサ動作周波数は、情報処理コントローラのメインプロセッサの動作周波数を表す。メインプロセッサ使用率は、メインプロセッサで現在動作している全てのプログラムについての、メインプロセッサでの使用率を表す。メインプロセッサ使用率は、メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えば、プロセッサ処理能力評価のための単位であるMIPS(Million Instructions Per Second)を単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。
サブプロセッサ数は、情報処理コントローラが備えるサブプロセッサの数を表す。サブプロセッサIDは、情報処理コントローラのサブプロセッサを識別するための識別子である。
サブプロセッサステータスは、サブプロセッサの状態を表すものであり、“unused”、“reserved”、および“busy”などの状態がある。“unused”は、サブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。“reserved”は、現在は使用されていないが、予約されている状態を示す。“busy”は、現在使用中であることを示す。
サブプロセッサ使用率は、サブプロセッサで現在実行している、またはサブプロセッサに実行が予約されているプログラムについての、サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスが“busy”である場合には、現在の使用率を示し、サブプロセッサステータスが“reserved”である場合には、後に使用される予定の推定使用率を示す。
サブプロセッサID、サブプロセッサステータスおよびサブプロセッサ使用率は、1つのサブプロセッサに対して一組設定され、1つの情報処理コントローラのサブプロセッサに対応する組数が設定される。
メインメモリ総容量およびメインメモリ使用量は、それぞれ、情報処理コントローラに接続されているメインメモリの総容量および現在使用中の容量を表す。
記録部数は、情報処理コントローラに接続されている記録部の数を表す。記録部IDは、情報処理コントローラに接続されている記録部を一意的に識別する情報である。記録部種別IDは、記録部の種類(例えば、ハードディスク、CD±RW、DVD±RW、メモリディスク、SRAM、ROMなど)を表す。
記録部総容量および記録部使用量は、それぞれ、記録部IDによって識別される記録部の総容量および現在使用中の容量を表す。
記録部ID、記録部種別ID、記録部総容量および記録部使用量は、1つの記録部に対して一組設定されるものであり、情報処理コントローラに接続されている記録部の数の組数だけ設定される。すなわち、1つの情報処理コントローラに複数の記録部が接続されている場合、各記録部には異なる記録部IDが割り当てられ、記録部種別ID、記録部総容量および記録部使用量も別々に管理される。
このようにして、管理装置11は、ディスク記録装置13または端末装置14に分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルを、通信網12を介してディスク記録装置13または端末装置14あてに送信する。この場合、送信元となる管理装置11、送信先および応答先となるディスク記録装置13または端末装置14は、それぞれ、送信元ID、送信先ID、および応答先IDによって識別される。
なお、以下、管理装置11からディスク記録装置13または端末装置14あてに送信される各種データは、ソフトウェアセルに格納されて送信されるものとし、繰り返しになるので、その説明は省略する。
図9は、管理装置11の機能的構成例を示すブロック図である。図9に示す機能的構成例は、情報処理コントローラ31が、メインメモリ32に記憶された管理プログラムを実行することで実現される。
管理装置11は、メインメモリ32、通信部36、制御部81、デコーダ82、サブデータ変換部83、フィルタ部84、およびエンコーダ85を含むように構成される。
メインメモリ32には、圧縮されたMPEG2データがロードされている他、例えば、MPEGデコードプログラム、トランスコード先のコーデックのエンコーダプログラム(例えば、MPEG2エンコーダプログラムやAVCエンコーダプログラム)、あるいは、高画質化フィルタプログラムなどの各種プログラムがロードされている。また、後述するように、メインメモリ32には、サブデータ変換部83により変換されたトンラスコードテーブル(図10)も記憶されている。
制御部81は、入力部(図示せず)を介して指令された新規トランスコードの開始命令に基づいて、メインプロセッサ42に新規トランスコードの開始を命令し、メインプロセッサ42の各種処理を制御する。また制御部81は、デコーダ82、フィルタ部84、およびエンコーダ85の各種処理を制御する。
メインプロセッサ42のローカルストレージ51−1には、トランスコード全体を管理するためのトランスコード管理プログラムが記憶されており、制御部81の命令に基づいて、トランスコード管理プログラムを実行し、メインメモリ32からトランスコードするストリーム(例えば、MPEG2データ)を読み出し、それをデコーダ82に供給する。またこのとき、メインプロセッサ42は、メインメモリ32からMPEGデコードプログラムを読み出してデコーダ82に供給し、所定のデコード処理を実行させる。
またメインプロセッサ42は、メインメモリ32からサブデータを読み出し、読み出したサブデータに基づいて、フィルタを使用していると判定した場合、メインメモリ32から高画質化フィルタプログラムを読み出してフィルタ部84に供給し、高画質化フィルタ処理を実行させる。さらにメインプロセッサ42は、メインメモリ32からエンコーダプログラムおよびサブデータを読み出してエンコーダ85に供給し、所定のトランスコード処理を実行させる。
デコーダ82は、制御部81(すなわち、メインプロセッサ42)の制御の下、供給されたMPEGデコードプログラムをサブプロセッサ43−1乃至43−3のいずれか(例えば、サブプロセッサ43−1)にロードさせるとともに、供給されたトランスコードするMPEG2データをローカルストレージ51−2乃至51−4のいずれか(いまの場合、ローカルストレージ51−2)に転送する。これにより、MPEG2デコーダプログラムがロードされたサブプロセッサ43−1は、ローカルストレージ51−2に転送されたMPEG2データをデコードし、デコードされたデータをフィルタ部84に供給する。またこのとき、サブプロセッサ43−1は、デコード処理の際に得られた動きベクトルやDCT係数などのサブデータをサブデータ変換部83に供給する。なお、MPEGデコードプログラムを実行することで実現されるサブプロセッサ43−1の構成例は、図11を参照して後述する。
サブデータ変換部83は、デコーダ82より供給されたサブデータに基づいて、トランスコード処理の管理を行うことができるようなトランスコードテーブルに変換し、メインメモリ32に記憶させる。
図10Aおよび図10Bは、メインメモリ32に記憶されるトランスコードテーブルの例を示す図である。
同図に示されるように、トランスコードテーブルには、トランスコードIDに対応付けて、入力ストリームID、デコードサブプロセッサID、出力ストリームID、エンコードサブプロセッサID、フィルタの有無、フィルタサブプロセッサID、リアルタイム性、プライオリティ、入力ストリーム参照数、デコードパラメータへのポインタ、エンコードパラメータへのポインタ、サブデータの再利用の有無、およびサブデータバッファへのポインタなどからなるサブデータが関連付けられている。
制御部81は、メインメモリ32に記憶されたトランスコードテーブルを参照して、トランスコード処理の管理を行う。
図9の説明に戻る。フィルタ部84は、制御部81の制御の下、供給された高画質化フィルタプログラムをサブプロセッサ43−1乃至43−3のいずれか(例えば、サブプロセッサ43−3)にロードさせるとともに、ローカルストレージ51−2からフィルタ処理するデータをローカルストレージ51−2乃至51−4のいずれか(いまの場合、ローカルストレージ51−4)に転送する。これにより、高画質化フィルタプログラムがロードされたサブプロセッサ43−3は、ローカルストレージ51−4に転送された復号データを高画質化フィルタ処理し、フィルタ処理されたデータをエンコーダ85に供給する。
エンコーダ85は、制御部81の制御の下、供給されたトランスコード先のコーデックのエンコードプログラムをサブプロセッサ43−1乃至43−3のいずれか(例えば、サブプロセッサ43−2)にロードさせる。また、エンコーダ84は、ローカルストレージ51−4からトランスコードするデータをローカルストレージ51−2乃至51−4のいずれか(いまの場合、ローカルストレージ51−3)に転送するとともに、メインメモリ32からサブデータを読み出し、ローカルストレージ51−3に転送する。これにより、エンコーダプログラムがロードされたサブプロセッサ43−2は、ローカルストレージ51−3に転送されたサブデータに基づいて、復号データをトランスコードし、トランスコードされたデータを通信部36に供給する。なお、エンコードプログラムを実行することで実現されるサブプロセッサ43−2の構成例は、図12および図13を参照して後述する。
通信部36は、各種のデータを送信する送信部91および各種のデータを受信する受信部92を備えており、通信網12を介して、データの送受信を行う。
図11は、MPEGデコードプログラムを実行することで実現されるサブプロセッサ43−1の構成例を示すブロック図である。
VLC(Variable Length Code;可変長符号化)デコーダ101は、入力されたMPEG2ビットストリームに対して所定の変換テーブルに基づく可変長復号処理を施し、MPEG2ビットストリームのヘッダ部に格納された符号量制御情報を取得して、それを逆量子化部102に供給するとともに、サブデータとして出力する。また、VLCデコーダ101は、量子化されている変換係数を取得して逆量子化部102に供給する。さらに、VLCデコーダ101は、デコードするフレームがインターモード(画像間)で符号化されたものである場合には、MPEG2ビットストリームのヘッダ部に格納された動きベクトル情報に対しても復号処理し、その結果得られる動きベクトルを動き補償部104に供給するとともに、サブデータとして出力する。
逆量子化部102は、VLCデコーダ101から供給された量子化されている変換係数に対して逆量子化処理(8×8のDCTブロックの係数ごとの乗算処理)を施し、得られたDCT(離散コサイン変換)係数を逆DCT部103に供給するとともに、サブデータとして出力する。
逆DCT部103は、逆量子化部102から供給されたDCT係数に対して逆DCT変換(8×8のDCTブロックの係数ごとの除算処理)し、得られたデータを演算部105に供給する。
ここで、対象となる画像データのフレームがイントラモード(画像内)で符号化されたものである場合には、逆DCT変換が施された画像データは、演算部105を介して、そのままデコード画像として出力される。
一方、対象となるフレームがインターモードで符号化されたものである場合には、動き補償部104は、メインメモリ32からサーチ画像データを取得して、そのサーチ画像データとVLCデコーダ101より供給された動きベクトルに基づいて、参照画像データを生成し、生成された参照画像データを演算部105に供給する。演算部105は、動き補償部104から供給された参照画像データと、逆DCT部103から供給された画像データ(差分データ)とを合成して、イントラモードの画像データと同様の画像データを生成し、デコード画像として出力する。
図12は、ビットレートの異なるMPEG2エンコーダプログラムを実行することで実現されるサブプロセッサ43−2の構成例を示すブロック図である。
入力画像は、GOP(Group of Pictures)構造に応じて、フレームの並べ替えが行われ、マクロブロックデータとして、演算部111および動きベクトル予測部112に供給される。サブデータとしての符号量制御情報およびDCT係数は、量子化部114およびVLCエンコーダ115にそれぞれ供給され、サブデータとしての動きベクトルは、動き予測部112に供給される。
演算部111は、入力されたマクロブロックデータの各マクロブロックの画像タイプに基づいた動き補償を行う。具体的には、演算部111は、Iピクチャ(Intra-Picture)に対してはイントラモードで動き補償を行い、Pピクチャ(Predictive-Picture)に対しては、順方向予測モードで動き補償を行い、Bピクチャ(Bidirectionally redictive-Picture)に対しては、双方向予測モードで動き補償を行う。
ここでイントラモードとは、符号化対象となるフレーム画像をそのまま伝送データとする方法であり、順方向予測モードとは、符号化対象となるフレーム画像と過去参照画像との予測残差を伝送データとする方法であり、双方向予測モードとは、符号化対象となるフレーム画像と、過去と将来の参照画像との予測残差を伝送データとする方法である。
まず、マクロブロックデータがIピクチャであった場合、量子化部114は、サブデータとして供給された符号量制御情報に基づいて、サブデータとして供給されたDCT係数に対して量子化処理を行い、量子化されたDCT係数をVLCエンコーダ115に供給する。また量子化部114は、量子化後のDCT係数をローカルデコーダ116に供給する。
ローカルデコーダ116は、量子化されたDCT係数を逆量子化処理し、さらに、逆DCT変換し、生成された演算データを演算部117に供給する。この演算データは、参照画像データとしてメインメモリ32に記憶される。
そして、演算部111は、マクロブロックデータがPピクチャであった場合、マクロブロックデータに対し、順方向予測モードによる動き補償処理を行い、Bピクチャであった場合、双方向予測モードによる動き補償処理を行う。
動きベクトル予測部112は、マクロブロックデータおよびサブデータとしての動きベクトル(以前の符号化の動きベクトル)の供給を受け、それらを、動き補償部118に供給する。動き補償部118は、メインメモリ32に記憶されている参照画像データを、動きベクトル予測部112から供給される動きベクトルに応じて動き補償を行い、順方向予測画像データ、または双方向予測画像データを算出する。算出された順方向予測画像データ、または双方向予測画像データは、演算部111および演算部117に供給される。
演算部111は、マクロブロックデータから、動き補償部118より供給される順方向予測画像データまたは双方向予測画像データを減算し、得られた予測残差としての差分データをDCT部113に供給する。DCT部113は、入力されたマクロブロックデータのマクロブロックに対してDCT変換し、得られたDCT係数を量子化部114に供給する。量子化部114は、サブデータとして供給された符号量制御情報に基づいて、DCT部113から入力されたDCT係数に対して量子化処理を行い、量子化されたDCT係数をVLCエンコーダ115に供給する。
演算部117は、ローカルデコーダ116から供給された演算データに、動き補償部118から供給された順方向予測画像データまたは双方向予測画像データを加算することにより、参照画像データを局部再生し、それをメインメモリ32に記憶させる。
かくして、入力された画像(マクロブロックデータ)は、動き補償予測処理、DCT処理および量子化処理を受け、量子化されたDCT係数として、VLCエンコーダ115に供給される。VLCエンコーダ115は、サブデータとして供給された符号量制御情報に基づいて、量子化されたDCT係数に対して可変長符号化処理を行い、その結果得られる可変長符号化データをトランスコード画像として出力する。
図13は、AVCエンコーダプログラムを実行することで実現されるサブプロセッサ43−2の構成例を示すブロック図である。なお、基本的には、図12に示した構成例と同様であり、図12のVLCエンコーダ115がCABAC/CAVLC(Context-based Adaptive Binary Arithmetic Coding/Context-based Adaptive Variable Length Coding)エンコーダ125に変更され、動きベクトル変換部129が新たに設けられている。それ以外の部分については、説明が繰り返しになるため、適宜省略する。
動きベクトル変換部129は、サブデータとしての動きベクトル(以前の符号化の動きベクトル)の供給を受け、それを動きベクトルヒントに変換した後、動き予測部122を介して動き補償部128に供給する。
動き補償部128は、メインメモリ32に記憶されている参照画像データを、動きベクトル予測部122から供給される動きベクトルヒントに応じて動き補償を行い、順方向予測画像データ、または双方向予測画像データを算出する。
CABAC/CAVLCエンコーダ125は、サブデータとして供給された符号量制御情報に基づいて、量子化されたDCT係数に対してエントロピー符号化処理を行い、その結果得られる符号化データをトランスコード画像として出力する。
次に、図14のフローチャートを参照して、管理装置11が実行する、トランスコード起動処理について説明する。この処理は、図示せぬ入力部から入力された新規トランスコードの開始命令を受信したとき開始される。
ステップS1において、制御部81は、メインプロセッサ42に対し、新規トランスコードの開始を命令する。この命令を受けたメインプロセッサ42は、ローカルストレージ51−1に記憶されているトランスコード管理プログラムを実行し、トランスコード全体の管理を開始する。
ステップS2において、メインプロセッサ42は、DMAC44を介してメインメモリ32にアクセスするとともに、ローカルストレージ51−1乃至51−4いアクセスし、資源に空きがあるか否かを判定する。ステップS2において、資源に空きがあると判定された場合、ステップS3に進み、メインプロセッサ42は、メインメモリ32からトランスコードするストリーム(例えば、MPEG2データ)を読み出し、それをデコーダ82に入力する。
ステップS4において、メインプロセッサ42は、ステップS3の処理により読み出したストリームが既にデコード中であるか否かを判定し、デコード中ではないと判定した場合、ステップS5に進む。ステップS5において、メインプロセッサ42は、DMAC44を介してメインメモリ32からMPEGデコードプログラムを読み出してデコーダ82に供給し、サブプロセッサ43−1乃至43−3のいずれかにデコード開始を命令する。ここで、メインプロセッサ42は、サブプロセッサ43−1乃至43−3の負荷に応じて、最適なプロセッサを選択し、選択したプロセッサにMPEGデコードプログラムをロードさせ、デコード開始を命令する。ここでは、例えば、サブプロセッサ43−1が選択され、デコード開始が命令される。また、メインプロセッサ42は、選択したサブプロセッサ43−1のローカルストレージ51−2に、トランスコードするストリーム(例えば、MPEG2データ)を転送する。
ステップS6において、サブプロセッサ43−1は、入力ストリームに対するデコード処理を行う。このデコード処理の詳細については、図15のフローチャートを参照して後述するが、この処理により、ステップS14のトランスコード処理に利用されるサブデータが出力されるとともに、デコード画像が出力される。
ステップS7において、メインプロセッサ42は、既にデコード中のストリームについてサブデータが再利用されているか否かを判定する。ステップS7において、サブデータが再利用されていないと判定された場合、または、ステップS6の処理の後、ステップS8に進み、メインプロセッサ42は、サブプロセッサ43−1に対し、DMAC44を介してメインメモリ32の所定の位置へのサブデータの書き出しを開始させる。これにより、メインメモリ32には、いまデコード中のストリームに関するサブデータが書き込まれる。
ステップS7において、サブデータが再利用されていると判定された場合、または、ステップS8の処理の後、ステップS9に進み、メインプロセッサ42は、メインメモリ32に記憶されているトランスコードテーブル(図10)を参照し、トランスコードするストリームのサブデータを読み出す。
ステップS10において、メインプロセッサ42は、ステップS9の処理により読み出したサブデータに基づいて、フィルタを使用しているか否かを判定し、フィルタを使用していると判定した場合、ステップS11に進む。ステップS11において、メインプロセッサ42は、DMAC44を介してメインメモリ32から高画質化フィルタプログラムを読み出してフィルタ部84に供給し、サブプロセッサ43−1乃至43−3のいずれかで高画質化フィルタプログラムを起動させる。ここで、メインプロセッサ42は、サブプロセッサ43−1乃至43−3の負荷に応じて、最適なプロセッサを選択し、選択したプロセッサに高画質化フィルタ処理プログラムをロードさせ、フィルタ処理を命令する。ここでは、例えば、サブプロセッサ43−3が選択され、フィルタ処理が命令される。また、メインプロセッサ42は、選択したサブプロセッサ43−3のローカルストレージ51−4に、フィルタ処理するデータを転送する。
ステップS12において、サブプロセッサ43−3は、ローカルストレージ51−4にフィルタ処理する復号データを転送し、その復号データに対して高画質化フィルタ処理を施す。
ステップS10において、フィルタを使用していないと判定された場合、ステップS11およびステップS12の処理はスキップされ、ステップS12に進む。ステップS13において、メインプロセッサ42は、デコーダ処理(および必要に応じてフィルタ処理)されたデータに基づいて、トランスコードテーブル(図10)に入力画像情報を設定する。
ステップS14において、メインプロセッサ42は、DMAC44を介してメインメモリ32からエンコーダプログラムを読み出してエンコーダ85に供給し、サブプロセッサ43−1乃至43−3のいずれかでトランスコード(エンコーダプログラム)を起動させる。ここで、メインプロセッサ42は、サブプロセッサ43−1乃至43−3の負荷に応じて、最適なプロセッサを選択し、選択したプロセッサにトランスコード先のコーデックのエンコードプログラムをロードさせ、トランスコード処理を命令する。ここでは、例えば、サブプロセッサ43−2が選択され、トランスコード処理が命令される。また、メインプロセッサ42は、選択したサブプロセッサ43−2のローカルストレージ51−3に、デコードされたデータを転送する。
ステップS15において、サブプロセッサ43−2は、デコードされたデータに対するトランスコード処理を行う。このトランスコード処理の詳細については、図16のフローチャートを参照して後述するが、この処理により、トランスコード画像が出力される。
ステップS2において、資源に空きがないと判定された場合、ステップS13に進み、メインプロセッサ42は、このトランスコード起動処理を停止する。
以上のようにして、サブプロセッサ43−1乃至43−3が、実行環境に応じてMPEGデコードプログラム、トランスコード先のコーデックのエンコーダプログラム、あるいは、高画質化フィルタプログラムなどをロードすることにより、動的かつシームレスにトランスコードパスを切り替えながら、連携して高速トランスコード処理を行うことができる。
次に、図15のフローチャートを参照して、サブプロセッサ43−1が実行する、図14のステップS6におけるデコード処理の詳細について説明する。
ステップS31において、VLCデコーダ101は、入力されたMPEG2ビットストリームに対して所定の変換テーブルに基づく可変長復号処理を施す。ステップS32において、VLCデコーダ101は、MPEG2ビットストリームのヘッダ部に格納された符号量制御情報、および、量子化されている変換係数を取得する。ステップS33において、VLCデコーダ101は、デコードするフレームがインターモードで符号化されたものであるか否かを判定し、インターモードで符号化されたものであると判定した場合、ステップS34に進む。ステップS34において、VLCデコーダ101は、入力されたMPEG2ビットストリームのヘッダ部に格納された動きベクトル情報に対して可変長復号処理を施す。
ステップS33において、デコードするフレームがインター符号化されたものではない、すなわち、イントラモードで符号化されたものであると判定された場合、または、ステップS34の処理の後、ステップS35に進み、逆量子化部102は、ステップS32の処理で取得された量子化されている変換係数に対して逆量子化処理を施す。ステップS36において、逆DCT部103は、ステップS35の処理により得られたDCT係数に対して逆DCT変換する。
ステップS37において、逆DCT部103は、処理対象となるフレームがイントラモードで符号化されたものであるか否かを判定し、イントラモードで符号化されたものであると判定した場合、ステップS38に進み、逆DCT変換が施された画像データを、そのままデコード画像として演算部105を介して出力する。
ステップS37において、処理対象となるフレームがイントラモードで符号化されたものではない、すなわち、インターモードで符号化されたものであると判定された場合、ステップS39に進み、動き補償部104は、メインメモリ32からサーチ画像データを取得し、取得したサーチ画像データと、ステップS34の処理により得られた動きベクトルに基づいて、参照画像データを生成する。
ステップS40において、演算部105は、ステップS39の処理により得られた参照画像データと、ステップS37の処理により得られた画像データ(差分データ)とを合成し、デコード画像として出力する。ステップS38またはステップS40の処理の後、ステップS41において、VLCデコーダ101は、ステップS32の処理で取得した符号量制御情報、およびステップS34の処理により得られた動きベクトルをサブデータとして出力する。また、逆DCT部103は、ステップS35の処理により得られたDCT係数をサブデータとして出力する。
以上のデコード処理により、復号時に得られる符号量制御情報、DCT係数、および動きベクトルなどのサブデータを後段のエンコーダ85に出力することができる。
次に、図16のフローチャートを参照して、サブプロセッサ43−2が実行する、図14のステップS15におけるトランスコード処理の詳細について説明する。
ステップS61において、サブプロセッサ43−2は、符号化するマクロブロックデータを取得するとともに、ステップS62において、図15のステップS41の処理により出力された符号量制御情報、DCT係数、および動きベクトルからなるサブデータを取得する。
ステップS63において、サブプロセッサ43−2は、符号化のモードがイントラモードであるか否かを判定し、イントラモードであると判定した場合、ステップS64に進む。ステップS64において、量子化部114は、ステップS62の処理で取得した符号量制御情報に基づいて、DCT係数に対して量子化処理を施す。ステップS65において、ローカルデコーダ116は、ステップS64の処理で量子化されたDCT係数に対して逆量子化処理および逆DCT変換する。ステップS66において、ローカルデコーダ116は、ステップS65の処理により生成された演算データを、参照画像データとしてメインメモリ32に記憶する。
ステップS63において、符号化のモードがイントラモードではない、すなわち、インターモードであると判定された場合、ステップS67に進み、動き補償部118は、ステップS66の処理によりメインメモリ32に記憶されている参照画像データを、ステップS62の処理で取得された動きベクトルに応じて動き補償する。ステップS68において、演算部111は、ステップS61の処理で取得したマクロブロックデータから、ステップS67の処理により算出された予測画像データを減算し、差分データを算出する。
ステップS69において、DCT部113は、ステップS68の処理により算出されたマクロブロックデータ(差分データ)のマクロブロックに対してDCT変換する。ステップS70において、量子化部114は、ステップS62の処理で取得した符号量制御情報に基づいて、ステップS69の処理により得られたDCT係数に対して量子化処理を施す。
ステップS66またはステップS70の処理の後、ステップS71に進み、VLCエンコーダ115は、ステップS62の処理で取得した符号量制御情報に基づいて、ステップS64またはステップS70の処理で量子化されたDCT係数に対して可変長符号化処理を施し、その結果得られる可変長符号化データをトランスコード画像として出力する。
ステップS72において、サブプロセッサ43−2は、全てのマクロブロックデータについて符号化したか否かを判定し、未だ符号化していないマクロブロックデータのマクロブロックがあると判定した場合、ステップS63に戻り、上述した処理を繰り返し実行する。そして、ステップS72において、全てのマクロブロックデータについて符号化したと判定された場合、トランスコード処理は終了される。
以上のトランスコード処理により、復号時に得られる符号量制御情報、DCT係数、および動きベクトルなどのサブデータを再利用してトランスコード画像を生成することができる。
例えば、サブデータを用いて、MPEG2ストリームをAVCストリームにトランスコードする場合、MPEG2の所定のマクロブロックの動きベクトルを、AVCの相対位置の最も近いマクロブロックの動き予測算出時の初期値として利用することができる。また例えば、サブデータを用いて、MPEG2ストリームをビットレートの異なるMPEG2ストリームにトランスコードする場合、完全にデコードされたデータを用いずとも、DCT係数の量子化精度を変更するなどしてビットレートの変換を行うことができる。
本発明によれば、管理装置11は、サブデータを再利用して、複数のサブプロセッサに対し、最適かつ高速に、マルチトランスコードを分散して行わせることができるとともに、計算資源の空きに応じて高画質化フィルタ機能を適用することができる。
また、管理装置11は、システムの負荷分散およびリアルタイム性の管理をメインプロセッサ42に行わせ、デコードおよびエンコードのトランスコード処理をサブプロセッサ43−1乃至43−3にそれぞれ行わせるようにしたので、各プロセッサは、与えられた処理に専念することができ、プロセッサの性能を最大限に利用することが可能となる。
また、トランスコードの負荷を分散させるようにしたため、例えば、あるトランスコード処理を実行中に、同じ入力ストリームに対して異なるコーデックでトランスコードする必要が生じた場合(より具体的には、ユーザがストリーミングでテレビジョン放送を視聴中に、並行してその放送をDVDに録画しようとした場合)、メインプロセッサ42は、資源に空きのあるサブプロセッサ43−1乃至43−3のいずれか(すなわち、先にトランスコード処理を行っているサブプロセッサ以外のサブプロセッサ)にエンコーダプログラムをロードさせ、新たなトランスコード処理を命令する。これにより、先に実行中のトランスコード処理は、演算処理速度が大幅に低下することなく、独立して処理を継続することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、図2に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク61(フレキシブルディスクを含む)、光ディスク62(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク63(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ64などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、記録部33に含まれるハードディスクなどで構成される。
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
本発明を適用した通信システムの一実施の形態の構成例を示す図である。 管理装置の内部の構成例を示すブロック図である。 メインメモリに記憶されるデータを説明する図である。 メインメモリを説明する図である。 サブプロセッサのローカルストレージを説明する図である。 キー管理テーブルを説明する図である。 ソフトウェアセルの構成例を示す図である。 DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造例を示す図である。 管理装置の機能的構成例を示すブロック図である。 トランスコードテーブルを説明する図である。 MPEGデコードプログラムを実行することで実現されるサブプロセッサの構成例を示すブロック図である。 ビットレートの異なるMPEG2エンコーダプログラムを実行することで実現されるサブプロセッサの構成例を示すブロック図である。 AVCエンコーダプログラムを実行することで実現されるサブプロセッの構成例を示すブロック図である。 トランスコード起動処理を説明するフローチャートである。 図14のステップS6におけるデコード処理の詳細を説明するフローチャートである。 図14のステップS15におけるトランスコード処理の詳細を説明するフローチャートである。
符号の説明
11 管理装置, 32 メインメモリ, 42 メインプロセッサ, 43−1乃至43−3 サブプロセッサ, 51−1乃至51−4 ローカルストレージ, 81 制御部, 82 デコーダ, 83 サブデータ変換部, 84 フィルタ部, 85 エンコーダ

Claims (8)

  1. 複数の演算部を有し、符号化された画像データをさらに他の圧縮方式に符号化する情報処理装置において、
    前記複数の演算部の負荷を管理する管理手段と、
    前記管理手段による管理に基づいて、第1の演算部に、前記符号化された画像データを供給する第1の供給手段と、
    前記第1の供給手段により供給された、前記符号化された画像データを復号する復号手段と、
    前記復号手段による復号時に得られたサブデータを記憶する記憶手段と、
    前記管理手段による管理に基づいて、第2の演算部に、前記記憶手段に記憶されている前記サブデータ、および、前記復号手段により復号されたデータを供給する第2の供給手段と、
    前記第2の供給手段により供給された前記サブデータに基づいて、前記復号手段により復号されたデータを符号化する符号化手段と
    を備えることを特徴とする情報処理装置。
  2. 前記記憶手段は、復号するためのプログラム、および、他の圧縮方式に符号化するためのプログラムをさらに記憶し、
    前記第1の供給手段は、前記第1の演算部に、前記記憶手段に記憶されている前記復号するためのプログラムを供給し、
    前記第2の供給手段は、前記第2の演算部に、前記記憶手段に記憶されている前記他の圧縮方式に符号化するためのプログラムを供給する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記管理手段による管理に基づいて、第3の演算部に、前記復号手段により復号されたデータを供給する第3の供給手段と、
    前記第3の供給手段により供給された、前記復号手段により復号されたデータを高画質化処理する高画質化手段と
    をさらに備えることを特徴とする請求項1に記載の情報処理装置。
  4. 前記記憶手段は、高画質化処理するためのプログラムをさらに記憶し、
    前記第3の供給手段は、前記第3の演算部に、前記記憶手段に記憶されている前記高画質化処理するためのプログラムを供給する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記管理手段は、メインプロセッサであり、
    前記複数の演算部は、複数のサブプロセッサである
    ことを特徴とする請求項1に記載の情報処理装置。
  6. 複数の演算部を有し、符号化された画像データをさらに他の圧縮方式に符号化する情報処理装置の情報処理方法において、
    前記複数の演算部の負荷を管理する管理ステップと、
    前記管理ステップの処理による管理に基づいて、第1の演算部に、前記符号化された画像データを供給する第1の供給ステップと、
    前記第1の供給ステップの処理により供給された、前記符号化された画像データを復号する復号ステップと、
    前記復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、
    前記管理ステップによる管理に基づいて、第2の演算部に、前記記憶ステップの処理で記憶された前記サブデータ、および、前記復号ステップの処理により復号されたデータを供給する第2の供給ステップと、
    前記第2の供給ステップの処理により供給された前記サブデータに基づいて、前記復号ステップの処理により復号されたデータを符号化する符号化ステップと
    を含むことを特徴とする情報処理方法。
  7. 複数の演算部を有し、符号化された画像データをさらに他の圧縮方式に符号化する情報処理装置の情報処理を、コンピュータに行わせるプログラムにおいて、
    前記複数の演算部の負荷を管理する管理ステップと、
    前記管理ステップの処理による管理に基づいて、第1の演算部に、前記符号化された画像データを供給する第1の供給ステップと、
    前記第1の供給ステップの処理により供給された、前記符号化された画像データを復号する復号ステップと、
    前記復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、
    前記管理ステップによる管理に基づいて、第2の演算部に、前記記憶ステップの処理で記憶された前記サブデータ、および、前記復号ステップの処理により復号されたデータを供給する第2の供給ステップと、
    前記第2の供給ステップの処理により供給された前記サブデータに基づいて、前記復号ステップの処理により復号されたデータを符号化する符号化ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  8. 複数の演算部を有し、符号化された画像データをさらに他の圧縮方式に符号化する情報処理装置の情報処理を、コンピュータに行わせるプログラムにおいて、
    前記複数の演算部の負荷を管理する管理ステップと、
    前記管理ステップの処理による管理に基づいて、第1の演算部に、前記符号化された画像データを供給する第1の供給ステップと、
    前記第1の供給ステップの処理により供給された、前記符号化された画像データを復号する復号ステップと、
    前記復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、
    前記管理ステップによる管理に基づいて、第2の演算部に、前記記憶ステップの処理で記憶された前記サブデータ、および、前記復号ステップの処理により復号されたデータを供給する第2の供給ステップと、
    前記第2の供給ステップの処理により供給された前記サブデータに基づいて、前記復号ステップの処理により復号されたデータを符号化する符号化ステップと
    をコンピュータに実行させることを特徴とするプログラム。
JP2004196861A 2004-07-02 2004-07-02 情報処理装置および方法、記録媒体、並びにプログラム Withdrawn JP2006020147A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004196861A JP2006020147A (ja) 2004-07-02 2004-07-02 情報処理装置および方法、記録媒体、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004196861A JP2006020147A (ja) 2004-07-02 2004-07-02 情報処理装置および方法、記録媒体、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2006020147A true JP2006020147A (ja) 2006-01-19

Family

ID=35793957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004196861A Withdrawn JP2006020147A (ja) 2004-07-02 2004-07-02 情報処理装置および方法、記録媒体、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2006020147A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299610A (ja) * 2007-05-31 2008-12-11 Toshiba Corp マルチプロセッサ
JP2010277272A (ja) * 2009-05-27 2010-12-09 Oki Electric Ind Co Ltd 負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置
JP2011082610A (ja) * 2009-10-02 2011-04-21 Toshiba Corp 複数のプロセサを利用する映像装置および画像処理方法
JP2017536007A (ja) * 2014-10-02 2017-11-30 エントリクス カンパニー、リミテッド クラウドストリーミングサービスシステム、最適gpuを利用したクラウドストリーミングサービス方法及びそのための装置
US11468540B2 (en) * 2019-11-14 2022-10-11 Lg Electronics Inc. Method and device for image processing

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299610A (ja) * 2007-05-31 2008-12-11 Toshiba Corp マルチプロセッサ
JP2010277272A (ja) * 2009-05-27 2010-12-09 Oki Electric Ind Co Ltd 負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置
JP2011082610A (ja) * 2009-10-02 2011-04-21 Toshiba Corp 複数のプロセサを利用する映像装置および画像処理方法
JP2017536007A (ja) * 2014-10-02 2017-11-30 エントリクス カンパニー、リミテッド クラウドストリーミングサービスシステム、最適gpuを利用したクラウドストリーミングサービス方法及びそのための装置
US10601891B2 (en) 2014-10-02 2020-03-24 Sk Planet Co., Ltd. Cloud streaming service system and cloud streaming service method for utilizing an optimal GPU for video decoding based on resource conditions, and apparatus for the same
US11468540B2 (en) * 2019-11-14 2022-10-11 Lg Electronics Inc. Method and device for image processing

Similar Documents

Publication Publication Date Title
US8270469B2 (en) Encoding video at multiple resolution levels
JP5327366B2 (ja) データ変換装置および方法、並びに記録媒体
US5305113A (en) Motion picture decoding system which affords smooth reproduction of recorded motion picture coded data in forward and reverse directions at high speed
US20110274178A1 (en) Method and device for parallel decoding of video data units
US6792045B2 (en) Image signal transcoder capable of bit stream transformation suppressing deterioration of picture quality
WO2006008961A1 (ja) 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP2001346216A (ja) 動画像圧縮方法および情報処理装置
TW200820789A (en) Image processing apparatus and method, and program
CN102348119B (zh) 预测编码装置及其控制方法
US20100246679A1 (en) Video decoding in a symmetric multiprocessor system
CN100401780C (zh) 在视频解码器中动态选择变换尺寸的方法和系统
JP2006020147A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
US7764845B2 (en) Signal processing method and device and video system
JP2007325119A (ja) 画像処理装置及び画像処理方法
US20110164685A1 (en) Entropy decoder with entropy decoding interface and methods for use therewith
JP2007318615A (ja) 動画再生装置、動画再生方法およびプログラム
WO2022042325A1 (zh) 视频处理方法、装置、设备及存储介质
JP5078852B2 (ja) 動画像符号化装置及び動画像符号化方法
KR101099261B1 (ko) 인코더와 인코딩 방법 및 이를 수록한 저장매체
JP2006237759A (ja) 動画像再符号化方法、動画像再符号化装置、動画像再符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004056827A (ja) 符号化装置、符号化方法、復号化装置及び復号化方法
WO2013114826A1 (ja) 画像復号装置
JP4329647B2 (ja) 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP4291185B2 (ja) トランスコーディング方法、トランスコーダ及びプログラム
JP2009060536A (ja) 画像符号化装置、画像符号化方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070904