[go: up one dir, main page]

JP2011109298A - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP2011109298A
JP2011109298A JP2009260738A JP2009260738A JP2011109298A JP 2011109298 A JP2011109298 A JP 2011109298A JP 2009260738 A JP2009260738 A JP 2009260738A JP 2009260738 A JP2009260738 A JP 2009260738A JP 2011109298 A JP2011109298 A JP 2011109298A
Authority
JP
Japan
Prior art keywords
processing
memory area
data
unit
processing unit
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
JP2009260738A
Other languages
English (en)
Inventor
Takayuki Suzuki
貴之 鈴木
Nobuaki Obinata
宣昭 小日向
Takashi Matsumoto
貴士 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009260738A priority Critical patent/JP2011109298A/ja
Priority to US12/946,364 priority patent/US20110119465A1/en
Publication of JP2011109298A publication Critical patent/JP2011109298A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Memory System (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】情報処理システムにおいて、処理に必要なメモリ領域のサイズを事前に確定することができない場合においてもメモリ領域を有効に利用する。
【解決手段】情報処理システム10において逆多重化処理部103、多重化処理部108、復号処理部40及び符号化処理部50を対象処理部とし、夫々の対象処理部はメモリ部102のメモリ領域を利用して夫々の処理を実行する。その際、データ処理制御部101は、前記対象処理部における処理要求毎の処理結果に基づいて、後続する処理要求に割り当てるメモリ領域を変更する。
【選択図】図1

Description

本発明は、情報処理システムに関し、コンテンツのストリームデータの処理を行う情報処理システムに係り、例えばデータ格納領域の利用制限が厳しい携帯電話や車載用機器等の組み込み機器に適用して有効な技術に関する。
組み込み機器向けのソフトウェアでは対象機器の大きさや価格などの制約から、利用可能なデータ領域、すなわち、利用可能なメモリ領域を有効に活用する必要がある。組み込み機器は、製品として提供する機能が限定されている場合が多く、そのような場合ソフトウェアによって実現すべき処理の内容は確定される。そのため、組み込み機器においてソフトウェアによって処理すべき内容とその処理方法が確定されれば、ソフトウェアによる処理に必要なメモリ領域を確定することができ、以降そのメモリ領域のサイズは変更されない。
このような背景から、組み込み機器のように機能が限定されている機器では、予めメモリ領域を区分けして利用する方法が提案されている。当該方法の従来技術として、例えば、特許文献1に開示がある。
特許文献1に係る方法では、処理部が処理をするために必要なメモリ領域を予め見積もっておく。その上で、前記処理部が処理を実行するとき、予め異なるサイズで区分けされた固定サイズのメモリ領域群の中から、当該処理に必要なメモリサイズ以上のメモリサイズを有する固定サイズのメモリ領域であって、当該固定サイズのメモリ領域群の中で最小のメモリサイズを有する前記固定サイズのメモリ領域を、前記処理部が獲得する。
特開平6−103159号公報
しかし、特許文献1に係る方法では処理に必要なメモリ領域を見積もる必要があるので、事前に当該メモリ領域を見積もることが困難なシステムに適用する場合にメモリ領域の有効活用ができない可能性がある。例えば、ビットレートが変化する映像コンテンツ等のストリームデータの再生処理を行う組み込み機器に採用する場合である。当該組み込み機器において、例えば、MPEG2−TS(Moving Picture Expert Group2−Transport Stream)で多重化された映像コンテンツのデータを1GOP(Group Of Pictures)単位で再生処理を実行する場合、実際に逆多重化処理を行なってみないと逆多重化処理後の1GOP分のデータサイズがわからない。このように処理結果のデータサイズの見積もりが困難である場合には、何らかの情報を元に処理に要するメモリ領域のサイズを決めなければならない。例えば、製品仕様の上限値や処理対象の映像コンテンツのデータの仕様の上限値等に基づいて、処理に必要なメモリ領域の上限サイズを算出する。しかし、この方法では実際に利用しない可能性のあるメモリ領域を含めてサイズを設定しているため、メモリ領域を無駄に確保することとなる。特に製品仕様や映像コンテンツの仕様の上限値は十分な余裕度をもって大きめに設定されている可能性が高いので、再生処理時においてメモリ領域の利用効率が低くなる可能性が高い。また、上記の組み込み機器において、逆多重化処理、映像コンテンツのデータのデコード処理、及び映像コンテンツの表示処理等の映像コンテンツの再生に必要な処理を効率的に行なうため、CPU等が各処理を実行するソフトウェアやハードウェアに対して複数の処理要求を指示することで各処理が並列に実行される場合がある。この場合には夫々のソフトウェアやハードウェアに対して処理要求を行う前に、処理に必要なデータサイズや必要なメモリ領域が確定されていなければならず、特許文献1の方法では必要なデータサイズが判明した後に必要なメモリ領域を確保することが困難な場合がある。
本発明の目的は、処理に必要なメモリ領域のサイズを事前に確定することができない場合においても、メモリ領域を有効に利用することができる情報処理システムを提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、情報処理システムは、処理を実行する処理部における処理要求毎の処理結果に基づいて、前記処理部における後続する処理要求に割り当てるメモリ領域を変更する。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、処理に必要なメモリ領域のサイズを予め確定することが困難な場合においても、メモリ領域を有効に利用することができる。
図1は、本実施の形態に係る情報処理システムである。 図2は、再生処理時のデータの流れ示す説明図である。 図3は、再生処理時における処理内容と処理に伴うデータの説明図である。 図4は、処理毎に固定サイズのメモリ領域を割り当てる方法の説明図である。 図5は、処理毎に固定サイズのメモリ領域を割り当てる方法の逆多重化処理への適用例である。 図6は、処理毎に固定サイズのメモリ領域を割り当てる方法を適用した逆多重化処理の流れ示す説明図である。 図7は、本実施の形態に係るディスクリプタの説明図である。 図8は、ディスクリプタを利用したメモリ領域割り当て方法の説明図である。 図9は、ディスクリプタによるメモリ領域割り当て方法を適用した逆多重化処理の流れを示す説明図である。 図10は、本実施の形態に係るメモリ領域の有効利用の一例である。 図11は、ディスクリプタを利用したデータ格納方法の説明図である。 図12は、本実施の形態に係るデータ格納方法を適用した逆多重化処理の流れを示す説明図である。 図13は、固定サイズのメモリ領域を利用したデータ格納方法を適用した逆多重化処理の流れ示す説明図である。 図14は、ディスクリプタを利用したデータ読み出し方法の説明図である。 図15Aは、ラップアラウンドによるデータ格納方法の説明図である。 図15Bは、ラップアラウンドによる第1のデータ格納方法の説明図である。 図15Cは、ラップアラウンドによる第2のデータ格納方法の説明図である。 図16は、前記第1のデータ格納方法におけるデータ読み出し方法の一例である。 図17は、前記第2のデータ格納方法におけるデータ読み出し方法の一例である。 図18は、記録処理時のデータの流れ示す説明図である。 図19は、記録処理時における処理内容と処理に伴うデータの説明図である。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係る情報処理システム(10)は、データを格納するメモリ部(102)と、前記メモリ部にストリームデータに対する処理結果を格納するためのメモリ領域を割り当てるための処理を行うデータ処理制御部(101)と、割り当てられたメモリ領域を使用して多重化された符号化データを逆多重する処理を処理要求毎に実行する逆多重化処理部(103)と、割り当てられたメモリ領域を使用して前記逆多重された符号化データを復号する処理を処理要求毎に実行する復号処理部(40)と、を有する。前記データ処理制御部は、前記逆多重化処理部と前記復号処理部の何れか一方又は双方を対象処理部とし、前記対象処理部における処理要求毎の処理の結果に基づいて、後続する処理要求に割り当てるメモリ領域を変更するための処理を行う。これによれば、処理のために割り当てられたメモリ領域に対して実際に使用されたメモリ領域が少ない場合でも、後続の処理要求に割り当てるメモリ領域は、実際に使用されたメモリ領域に基づいて決定されるので、メモリ領域の有効な利用が可能となる。
〔2〕項1の情報処理システムにおいて、前記データ処理制御部は、夫々の前記対象処理部による処理結果を処理要求毎にメモリ領域に格納するための記述子(702〜706)を、夫々の前記対象処理部における夫々の処理要求に付加する。これによれば、処理要求毎にメモリ領域を割り当てることが容易となる。
〔3〕項2の情報処理システムにおいて、前記記述子は、使用可能なメモリ領域の先頭アドレスの情報と、使用可能なメモリ領域のサイズを規定する情報を含む。
〔4〕項3の情報処理システムにおいて、前記データ処理制御部は、夫々の前記対象処理部における処理要求毎の処理が完了する毎に、当該処理結果が格納されたメモリ領域のサイズに基づいて、後続する処理要求に付加された前記記述子の前記先頭アドレスの情報を変更する。これによれば、後続の処理要求に割り当てるメモリ領域を容易に決定することができる。
〔5〕項1の情報処理システムにおいて、前記メモリ部は、夫々の前記対象処理部による処理結果を処理要求毎にメモリ領域に格納するための記述子(1201)を有し、前記記述子は、新たな処理要求に応答して処理した結果を格納するメモリ領域のアドレスを示す第1ポインタ(1211)、有効な処理結果を保持しているメモリ領域のサイズを示す有効サイズデータ、及び前記処理した結果を格納するメモリ領域から処理結果が読み出されて解放されたメモリ領域のアドレスを示す第2ポインタ(1212)を有する。前記対象処理部は、処理要求に応答して処理した結果を、前記第1ポインタ及び第2ポインタを用いてファースト・イン・ファースト・アウト形式でメモリ領域に保持する。これによれば、前記対象処理部は処理要求に応じて処理した結果を、処理順にメモリ領域に格納し、読み出すことができるから、メモリ領域の有効な利用が容易に実現できる。
〔6〕項5の情報処理システムにおいて、前記対象処理部は、前記第1ポインタの値とメモリ領域の終端アドレスとの差が必要最大限のメモリサイズよりも小さいときメモリ領域に対するラップアラウンド制御を行い、前記ラップアラウンド制御において、新たな処理要求に応答して処理した結果はメモリ領域の先頭から格納される。これによれば、一つの処理要求に応答して処理された結果が分割されてメモリ領域に格納されることがない。
〔7〕項5の情報処理システムにおいて、前記対象処理部は、前記第1ポインタの値とメモリ領域の終端アドレスとの差が必要最大限のメモリサイズよりも小さいときメモリ領域に対するラップアラウンド制御を行い、前記ラップアラウンド制御において、新たな処理要求に応答して処理した結果は前記第1ポインタの値にしたがって格納される。
〔8〕項6の情報処理システムにおいて、前記対象処理部は、処理要求に応答して処理した結果をメモリ領域から読み出すとき、前記有効サイズデータが前記第1ポインタの値とメモリ領域の先頭アドレスとの差と等しい場合にはメモリ領域の先頭から読み出す。これによれば、データが格納されていないメモリ領域が存在しても、有効なデータが格納されたメモリ領域を検知して、そのメモリ領域からデータを読み出すことが可能となる。
〔9〕本発明の代表的な実施の形態に係る情報処理システムは、データを格納するメモリ部(102)と、前記メモリ部にストリームデータに対する処理結果を格納するためのメモリ領域を割り当てるための処理を行うデータ処理制御部(101)と、割り当てられたメモリ領域を使用して入力されるデータを符号化する処理を処理要求毎に実行する符号化処理部(50)と、割り当てられたメモリ領域を使用して符号化されたデータを多重化する処理を処理要求毎に実行する多重化処理部(108)と、を有する。前記データ処理制御部は、前記符号化処理部と前記多重化処理部の何れか一方又は双方を対象処理部とし、前記対象処理部における処理要求毎の処理の結果に基づいて、後続する処理要求に割り当てるメモリ領域を変更するための処理を行う。これによれば、項1と同様の作用を奏する。
〔10〕項9の情報処理システムにおいて、前記データ処理制御部は、夫々の前記対象処理部による処理結果を処理要求毎にメモリ領域に格納するための記述子を、夫々の前記対象処理部における夫々の処理要求に付加する。これによれば、項2と同様の作用を奏する。
〔11〕項9の情報処理システムにおいて、前記メモリ部は、夫々の前記対象処理部による処理結果を処理要求毎にメモリ領域に格納するための記述子(1201)を有し、前記記述子は、新たな処理要求に応答して処理した結果を格納するメモリ領域のアドレスを示す第1ポインタ(1211)、有効な処理結果を保持しているメモリ領域のサイズを示す有効サイズデータ、及び前記処理した結果を格納するメモリ領域から処理結果が読み出されて解放されたメモリ領域の終端のアドレスを示す第2ポインタ(1212)を有する。前記対象処理部は、処理要求に応答して処理した結果を、前記第1ポインタ及び第2ポインタを用いてファースト・イン・ファースト・アウト形式でメモリ領域に保持する。これによれば、項5と同様の作用を奏する。
〔12〕本発明の代表的な実施の形態に係る情報処理システムは、データを格納するメモリ部(102)と、前記メモリ部にストリームデータに対する処理結果を格納するためのメモリ領域を割り当てるための処理を行うデータ処理制御部(101)と、割り当てられたメモリ領域を使用して多重化された符号化データを逆多重する処理を処理要求毎に実行する逆多重化処理部(103)と、割り当てられたメモリ領域を使用して前記逆多重された符号化データを復号する処理を処理要求毎に実行する復号処理部(40)と、割り当てられたメモリ領域を使用して、入力されるデータを符号化する処理を、処理要求毎に実行する符号化処理部(50)と、割り当てられたメモリ領域を使用して符号化されたデータを多重化する処理を処理要求毎に実行する多重化処理部(108)と、を有する。前記データ処理制御部は、前記逆多重化処理部、前記復号処理部、前記符号化処理部及び前記多重化処理部の少なくとも一つを対象処理部とし、前記対象処理部における処理要求毎の処理の結果に基づいて、後続する処理要求に割り当てるメモリ領域を変更するための処理を行う。これによれば、項1と同様の作用を奏する。
2.実施の形態の詳細
実施の形態について更に詳述する。
≪本実施の形態に係る情報処理システムの概要≫
図1は、本実施の形態に係る情報処理システムとして、映像コンテンツ等のストリームデータの再生処理、及び外部から入力された映像情報と音声情報の記録処理を行う情報処理システムを示す。
図1に示される情報処理システム10は、データ処理制御部101、メモリ部102、記録部60、逆多重化処理部103、多重化処理部108、復号化処理部40、符号化処理部50、入力部80、出力部70、バス90、及び図示されない外部入出力インタフェース等の装置から構成される。
前記情報処理システム10は、前記記録部60に格納されている映像コンテンツ等の多重化されたストリームデータを前記逆多重化処理部103により映像のデータと音声のデータに逆多重し、逆多重した夫々のデータを前記復号化処理部40によって復号し、前記出力部70から出力する再生処理を行う。また、前記情報処理システム10は、前記入力部80から取り込んだ映像と音声を前記符号化処理部50によって符号化し、符号化した夫々のデータを前記多重化処理部108によって多重化し、前記記録部60に格納する記録処理を行う。
前記情報処理システム10において前記再生処理及び前記記録処理が実行されるとき、夫々の前記処理部は前記メモリ部102のメモリ領域を利用して夫々の処理を実行する。その際、前記メモリ部102のメモリ領域を効率良く利用させるため、前記データ処理制御部101は、前記逆多重化処理部103、前記多重化処理部108、前記復号化処理部40及び前記符号化処理部50を対象処理部として、前記対象処理部における処理毎に、使用可能な前記メモリ部102のメモリ領域を割り当てる。
前記情報処理システム10の構成要素について詳細に説明する。
前記データ処理制御部101は、各ブロックの統括的な制御を行い、映像コンテンツ等の再生処理や記録処理等を実行させる。前記データ処理制御部101は、例えば、CPUである。以下の説明では、データ処理制御部101をCPU101として説明する。
前記逆多重化処理部103は、前記CPU101からの制御により、前記記録部60に格納されている映像コンテンツ等の多重化されたストリームデータであるコンテンツデータを逆多重する処理を行い、符号化された音声データ(以下、「音声ES(Elementary Stream)データ」という。)と、符号化された映像データ(以下、「映像ES(Elementary Stream)データ」という。)に分離する。
前記復号化処理部40は、前記CPU101からの制御により、前記音声ESデータと前記映像ESデータを復号する処理を行う。前記復号化処理部40は、音声デコーダ部104と映像デコーダ部106を有する。前記音声デコーダ部104は前記音声ESデータを復号し、音声ロウ(Raw)データを出力する。また、前記映像デコーダ部106は前記映像ESデータを復号し、映像ロウ(Raw)データを出力する。
前記出力部70は、映像コンテンツ等を出力する装置であり、映像を表示する映像表示部107と、音声を出力する音声出力部105から構成される。前記映像表示部107は前記映像ロウデータを入力し、映像を出力する。前記映像表示部107は、例えば、液晶ディスプレイ等である。また、前記音声出力部105は前記音声ロウデータを入力し、音声を出力する。前記音声出力部105は、例えば、スピーカである。なお、前記出力部70を前記情報処理システム10に内蔵する代わりに、同様の機能を有する外部装置を接続してもよい。例えば、図示されない、前記情報処理システム10の外部出力インタフェースから前記音声ロウデータ及び前記映像ロウデータを出力し、外部に設置されたスピーカやディスプレイによって映像と音声を再生しても良い。
前記入力部80は、外部から映像情報と音声情報を取り込む装置であり、映像を取り込む映像入力部112と、音声を取り込む音声入力部110から構成される。前記映像入力部112は、取り込んだ映像を電気信号に変換した映像ロウデータを出力する。前記映像入力部112は、例えば、カメラ等である。また、前記音声入力部110は、取り込んだ音声を電気信号に変換した前記音声ロウデータを出力する。前記音声入力部110は、例えば、マイクロフォンである。なお、前記出力部70と同様に、前記入力部80を前記情報処理システム10に内蔵する代わりに同様の機能を有する外部装置を接続してもよい。例えば、外部に設置されたカメラやマイクロフォンによって生成された前記音声ロウデータ及び前記映像ロウデータを、図示されない、前記情報処理システム10内の外部入力インタフェースを介して入力してもよい。
前記符号化処理部50は、前記CPU101からの制御により、前記音声ロウデータと前記映像ロウデータを符号化する処理を行う。前記符号化処理部50は、音声エンコーダ部109と映像エンコーダ部111を有する。前記音声エンコーダ部109は前記音声ロウデータを符号化し、前記音声ESデータを出力する。また、前記映像エンコーダ部111は前記映像ロウデータを符号化し、前記音声ESデータを出力する。
前記多重化部108は、前記CPU101からの制御により、前記符号化処理部50によって符号化された前記映像ESデータ、前記音声ESデータ、及びその他のESデータを多重化したコンテンツデータを作成する。作成されたコンテンツデータは、前記記録部60に格納される。
前記記録部60は、前記コンテンツデータ等が記録される。前記記録部60は、記録装置接続部113及び記録装置30を有する。前記記録装置30は外部記憶装置であり、前記記録装置接続部113を介してバス90に接続され、前記コンテンツデータ等が書き込まれる。前記記録装置30は、例えば、不揮発性の記録装置であり、HDD(Hard disk drive)やフラッシュメモリ等である。図1には、代表例としてHDD115とフラッシュメモリ114を図示している。なお、システムによっては前記記録装置30を内蔵してもよい。
前記記録装置接続部113は、前記記録装置30と接続するためのインタフェース回路であり、前記CPU101等からの制御により前記記録装置30のデータの読み出しや書き込み等の制御を行う。前記記録装置接続部113は、ATA(Advanced Technology Attachment)用のインタフェース回路や、USB(Universal Serial Bus)用のインタフェース回路、又はその他外部記憶装置を接続するためのインタフェース回路である。
前記メモリ部102は、前記CPU101等の制御により、夫々の前記処理部等における処理結果等のデータを一時的に格納するメモリ領域を有する装置であり、例えば、揮発性メモリである。
前記メモリ部102には、前記コンテンツデータ116、前記音声ESデータ117、前記映像ESデータ118、前記その他ESデータ119、前記音声ロウデータ120、及び前記映像ロウデータ121等が格納される。また、前記メモリ部102は、制御用プログラム123及び制御用データ122が格納され、前記制御用プログラム123は、機器を制御するためのソフトウェア等であり、当該ソフトウェア等による処理結果等が制御用データ122である。なお、前記制御用プログラム123は、図示されない別の不揮発性の記憶部に予め格納され、当該ソフトウェアによる処理の実行に際し前記不揮発性の記憶部から前記メモリ部102に読み出される。
≪コンテンツデータの再生≫
前記情報処理システム10による前記コンテンツデータの再生処理について詳細に説明する。
図2は、再生処理時のデータの流れ示す説明図である。
図2において、再生処理の対象となるデータは、一例として、MPEG形式のデータである。
再生処理において、まず、前記記録装置30に格納されているコンテンツデータ116が前記CPU101の制御により読み出され、前記メモリ部102に一時的に格納される。前記メモリ部102に格納された前記コンテンツデータ116は、続いて前記逆多重化処理部103へ入力される。当該入力された前記コンテンツデータ116は、前記逆多重化処理部103による逆多重化処理により前記音声ESデータ117、前記映像ESデータ118、及び前記その他ESデータ119として出力され、前記メモリ部102に一時的に格納される。
前記音声ESデータ117は前記音声デコーダ部104に入力され、復号処理により音声ロウデータ120として出力される。同様に前記映像ESデータ118は前記映像デコーダ部106に入力され、復号処理により前記映像ロウデータ121として出力される。出力された前記音声ロウデータ117は、前記音声出力部105に入力されて音声として出力される。また、前記映像ロウデータ121は、前記映像表示部107に入力され映像として出力される。
≪再生処理時におけるバッファの利用≫
上記の再生処理に際し、前記逆多重化処理部103、前記音声デコーダ部104、前記映像デコーダ部106、前記映像表示部107及び前記音声出力部105は、前記メモリ部102のメモリ領域の一部をバッファとして利用する。すなわち、各処理部は、バッファに格納されたデータを読み出して処理を実行するとともに、処理結果をバッファに一時的に格納する。
図3は、再生処理時における処理内容と処理に伴うデータの説明図である。
図3において、逆多重化処理302は、1GOP分のコンテンツデータに対する処理を処理単位として実行する場合を一例としている。前記処理単位は、処理を実行するハードウェアの仕様や実行する処理内容等に応じて変更しても構ない。
図3において、前記データ読み出し処理301によって読み出されたコンテンツデータ116が所定のバッファに格納される。前記逆多重化処理部103は当該バッファに格納された前記コンテンツデータ116を読み出して前記逆多重化処理302を実行し、生成した前記音声ESデータ117を音声ESデータ格納用のバッファに格納するとともに、生成した前記映像ESデータ118を映像ESデータ格納用のバッファに格納する。そして、前記音声デコーダ部104は、前記音声ESデータ格納用のバッファから前記音声ESデータ117を読み出して音声復号化処理303を実行し、生成した音声ロウデータ120を音声ロウデータ格納用のバッファに格納する。同様に、前記映像デコーダ部106は、前記音声ESデータ117を読み出して映像復号化処理307を実行し、生成した映像ロウデータ121を映像ロウデータ格納用のバッファに格納する。前記音声出力部105は、前記音声ロウデータ格納用のバッファから前記音声ロウデータ120を読み出して音声データ出力処理304を実行し、音声を出力する。同様に前記映像表示部107は、前記映像ロウデータを読み出して映像データ出力処理308を実行し、映像を表示する。
このように、前記逆多重化処理部103、前記音声デコーダ部104、前記映像デコーダ部106、前記映像表示部107及び前記音声出力部105は、夫々のバッファに格納されたデータを読み出して処理を実行するから、バッファに複数の処理要求に応ずるデータが格納されていれば、連続して処理を実行することができ、夫々の処理が並列に実行されることも可能である。例えば、前記データ読み出し処理301の場合には出力先のバッファ領域が許す限りコンテンツデータ116を読み出すことが可能となるし、前記映像データ出力処理308による映像表示を行いながら、前記映像復号化処理307を実行することも可能となる。
≪再生処理時におけるメモリ領域の割り当て≫
夫々の処理結果等を格納するバッファとして割り当てられるメモリ領域のサイズは、前記情報処理システム10の設計時に、処理内容に応じて静的に定義することができる場合がある。例えば、前記コンテンツデータ116を格納するバッファのメモリ領域のサイズは、前記記録装置30から読み出すコンテンツデータ116のサイズが事前に定義されていれば、それに基づいて決定することが可能である。また、前記音声データ出力処理304や前記映像データ出力処理308の結果を格納するバッファのサイズは、入力先の前記音声出力部105と前記映像表示部107の仕様等から決定することが可能である。しかし、逆多重化処理302の結果を格納するバッファのサイズは事前に定義するのが困難である。なぜなら、所定の処理単位で逆多重化処理を行う場合、例えば、1GOP単位で処理を行う場合には、コンテンツデータ記録時のデータ圧縮のビットレートによって逆多重化処理の結果のデータサイズが変動するからである。このため、前記逆多重化処理302において事前にバッファのメモリ領域を確定する場合には、製品仕様又は圧縮データのフォーマットの仕様から最大出力データサイズを算出し、当該データサイズに基づいてメモリ領域を定めなければならない。また、前記音声デコーダ部104及び前記映像デコーダ部106が出力する前記音声ロウデータ120及び前記映像ロウデータ121を格納するバッファのサイズについても、予め確定するのは困難である。所定の処理単位における、復号化前の前記音声ESデータ117及び前記映像ESデータ118のデータサイズが変動するからである。
このような事情を鑑みたバッファとしてのメモリ領域の割り当て方法を以下に示す。
≪本実施の形態に係るメモリ領域の割り当て方法との比較例≫
ここで、本実施の形態に係るメモリ領域の割り当て方法を説明する前に、これに対する比較例として、各処理部における処理毎に固定サイズのメモリ領域を割り当てる方法を示す。
なお、当該メモリ割り当て方法は、CPUが各処理部の処理結果を格納するためのメモリ領域を確保してから処理要求を発行する情報処理システムに適用し、当該情報処理システムの逆多重化処理における前記映像ESデータ生成する処理に適用する場合を例に説明する。
図4は、処理毎に固定サイズのメモリ領域を割り当てる方法の説明図である。
なお、以下に説明するメモリ領域割り当て方法は、情報処理システムにおいて実行される複数の処理のうち、逆多重化処理における前記映像ESデータを出力する処理に適用する場合を例に説明する。
コンテンツデータの再生処理において前記映像ESデータのサイズは、前記制御用プログラム123等による処理結果等の前記制御用データ122のサイズと比較して突出して大きい。そのため、メモリ制約の厳しいシステムにおいては、前記映像ESデータ格納するための専用のメモリ領域が前記メモリ部102に設けられる場合が多い。図4における参照符号401に示されるメモリ領域は、当該映像ESデータを格納するために割り当てられた逆多重化出力用のメモリ領域である。この領域は、さらにメモリ領域402、メモリ領域403、メモリ領域404及びメモリ領域405の4つのメモリ領域に分割される。分割された各メモリ領域は、1回の逆多重化処理で利用する領域であり、すなわち、1GOP単位毎の処理要求毎に利用されるメモリ領域である。当該メモリ領域は、前述のように製品仕様あるいは圧縮データのフォーマット仕様から算出される最大出力データサイズに基づいて設定されたメモリ領域であり、固定のサイズを有する。
図5は、処理毎に固定サイズのメモリ領域を割り当てる方法の逆多重化処理への適用例である。
図5において、処理要求に対応したコンテンツデータ116_Aと後続する処理要求に対応したコンテンツデータ116_Bが前記逆多重化処理部103に入力され、前記逆多重化処理部103は、処理要求毎に逆多重化処理302を実行し、映像ESデータ118_A及び118_Bを生成する。前記逆多重化処理部103は、生成した前記映像ESデータ118_A及び118_Bを、処理要求毎に割り当てられた前記メモリ領域402及び403に処理要求毎に格納する。
図5に示すように、当該メモリ領域割り当て方法を採用した場合、前記逆多重化処理部103は逆多重化処理の処理要求毎に割り当てられた固定サイズのメモリ領域に処理結果を格納するから、結果として未使用のメモリ領域503及び504が発生することとなる。
上記の図5に示す逆多重化処理の流れについて、図6を用いて詳細に説明する。
図6は、処理毎に固定サイズのメモリ領域を割り当てる方法を適用した逆多重化処理の流れ示す説明図である。
図6において、先ず、前記データ読み出し処理301によってコンテンツデータ116が読み出されると、前記CPU101は、読み出されたコンテンツデータ116の情報と、処理結果の格納先のメモリ領域を示す情報とを含んだ逆多重化処理要求610を、前記逆多重化処理部103に対して発行する。前記処理要求610を受け取った逆多重化処理部103は、前記メモリ部102のメモリ領域に設けられたバッファに前記処理要求610をキューイングする。そして、前記逆多重化処理部103は、最も先にキューイングされた処理要求に応答する処理を開始し(S601)、当該処理要求610に含まれる前記格納先のメモリ領域を示す情報に基づいて、逆多重化処理によって生成した前記映像ESデータをメモリ領域に格納する(S602)。その後、前記逆多重化処理部103は、前記バッファに後続する処理要求610がキューイングされているか否かを判断し(S603)、前記処理要求610がキューイングされている場合には、後続する処理要求610に係る処理を実行する。
一方、ステップ602において実行された処理要求が最終処理を示す処理要求であった場合、前記逆多重化処理部103は、逆多重化処理を終了する(S604)。また、ステップ603において、前記バッファに処理要求がキューイングされておらず、且つステップ602において実行された処理が最終処理ではない場合には、ステップ601に移行し、前記逆多重化処理部103は、次の処理要求が発行されるまで待機する。
上記の逆多重化処理においては、複数の処理要求に対応するコンテンツデータが読み出され、バッファに格納されていても、前記CPU101は、処理結果を格納するメモリ領域が確保されない限り処理要求を発行しない。そのため、複数回の処理要求を発行する場合には、前記CPU101は、事前に複数の処理要求分のメモリ領域を確保しておかなければならない。例えば、前記CPU101が4つの処理要求を発行する場合には、図4に示される前記メモリ領域402、403、404、及び405を予め確保する必要がある。そして、前記逆多重化処理部103が、処理要求毎の処理結果を処理要求毎に確保されたメモリ領域に格納すると、図5に示すようにメモリ領域402及び403のサイズに対して、実際に利用されたメモリ領域501及び502のサイズが小さいという状況が発生する。これは、処理要求毎に割り当てたメモリ領域のサイズは、前述したように、逆多重化処理における最大出力データサイズに基づいて決定されているからである。したがって、当該比較例による方法では、処理結果が最大出力データサイズとなる場合が連続しない限り、すなわち、記録時におけるビットレートが高い場合のコンテンツデータに係る逆多重化処理の要求が連続しない限り、未使用のメモリ領域が発生することとなる。
≪本実施の形態に係るメモリ領域の割り当て方法≫
そこで、本実施の形態に係る情報処理システム10では、図4のように固定サイズのメモリ領域を処理要求毎に割り当てる方法ではなく、メモリ領域を割り当てるための記述子(以下、「ディスクリプタ」という。)を用いて割り当てるメモリ領域を動的に変更する方法を採用する。すなわち、前記CPU101が、前記ディスクリプタを前記対象処理部における処理要求に付加して前記対象処理部に供給し、前記対象処理部において実行された処理結果に基づいて後続する処理要求に付加された前記ディスクリプタを更新することで、割り当てるメモリ領域を変更する。
以下の説明では、逆多重化処理における前記映像ESデータ生成する処理に当該メモリ領域割り当て方法を適用する場合を例に説明する。
図7は、前記ディスクリプタの説明図である。
図7において、ディスクリプタ702〜705は、逆多重化処理における1GOP単位の処理要求毎に、前記CPU101によって付加された前記ディスクリプタである。
前記ディスクリプタ702〜705は、夫々の処理要求に応ずる処理において使用可能なメモリ領域の先頭アドレスの情報と、当該使用可能なメモリ領域のサイズ情報を有する。なお、前記ディスクリプタ702〜705には、前記情報処理システム10における処理内容に応じて上記2つの情報以外の情報を含んでも構わない。
前記ディスクリプタを利用したメモリ領域割り当て方法について、図8及び図9を用いて詳細に説明する。
図8は、前記ディスクリプタによるメモリ領域割り当て方法の説明図である。
図9は、前記ディスクリプタによるメモリ領域割り当て方法を適用した逆多重化処理の流れを示す説明図である。
図8において、参照符号401に示されるメモリ領域は、図7と同様に逆多重化処理のために割り当てられたメモリ領域であり、逆多重化処理における1GOP単位の処理要求毎に前記ディスクリプタ702〜705が付加され、4つの処理要求に応ずる処理のために4つの領域に分けられている。この場合において、前記メモリ領域401の先頭アドレスを起点として、前記逆多重化処理部103が処理結果を格納する手順について、図9を用いて説明する。
図9において、先ず、前記CPU101は、前記逆多重化処理部103に逆多重化処理の指示を行うに際し、前記データ読み出し処理301によって読み出されたコンテンツデータ116の情報と前記ディスクリプタを含んだ処理要求910を、処理要求毎に前記逆多重化処理部103に対し発行する。この処理要求に含まれる前記ディスクリプタ702の前記2つの情報は、以下のように設定される。
前記ディスクリプタ702の前記先頭アドレスの情報は、前記メモリ領域401の先頭アドレスの値が設定される。また、前記ディスクリプタ702の当該使用可能なメモリ領域のサイズ情報は、例えば、製品仕様あるいは圧縮データのフォーマット仕様から算出される最大出力データサイズの値に設定される。これは、逆多重化処理結果のデータサイズが事前に確定されないため、前述のように、処理結果が仕様上の最大の出力データサイズとなる場合を想定するからである。
続く処理要求の前記ディスクリプタ703の前記2つの情報は、以下のように設定される。
当該ディスクリプタ703の前記先頭アドレスの情報は、前記ディスクリプタ702の前記先頭アドレスの値及び前記使用可能なメモリ領域のサイズの値に基づき設定される。例えば、前記先頭アドレスの情報は、前記ディスクリプタ702の前記先頭アドレスを起点とした前記使用可能なサイズまでのメモリ領域に連続する次のメモリアドレスの値に設定される。また、前記ディスクリプタ703の前記使用可能なメモリ領域のサイズ情報は、前記ディスクリプタ702の場合と同様の理由から、前記最大出力データサイズの値に設定される。
前記ディスクリプタ704及び705の前記2つの情報は、前記ディスクリプタ703と同様の方法により設定される。
上記のように設定されたディスクリプタを含む処理要求910を受け取った前記逆多重化処理部103は、前記処理要求910を前記メモリ部102に設けられたバッファにキューイングしていく。前記逆多重化処理部103は、キューイングされた処理要求に対しては、最も先にキューイングされた処理要求から処理を開始する(S901)。前記逆多重化処理部103は、実行した逆多重化処理の結果を前記ディスクリプタの情報に基づいてメモリ領域に格納する(S902)。図8の場合には、前記ディスクリプタ702に係る処理要求に応ずる処理を実行し、当該処理結果の前記映像ESデータをメモリ領域805に格納する。そして、前記逆多重化処理部103は、前記CPU101に1つの処理要求が完了したこと、及びデータを格納した前記メモリ領域805を示すアドレスの値を通知する。当該通知を受け取った前記CPU101は、当該処理が完了した処理要求に係るディスクリプタ702の前記使用可能なメモリ領域のサイズの値を前記メモリ領域805のサイズの値に変更するとともに、前記バッファに後続の処理要求がキューイングされているか否かを確認する(S903)。このとき、後続する処理要求がキューイングされている場合には、前記CPU101は、後続する処理要求に付加された前記ディスクリプタに含まれる前記先頭アドレスの情報を更新する(S904)。すなわち、図8において、前記CPU101は、前記ディスクリプタ703の前記先頭アドレスの情報を、データが格納された前記メモリ領域805に連続する次のメモリアドレスの値に変更する。そして、前記CPU101は、後続する前記ディスクリプタ704及び705の前記先頭アドレスの情報を、前述と同様の方法により、変更された前記ディスクリプタ703の前記先頭アドレスの値に基づいて設定する。なお、このとき前記ディスクリプタ703〜705の前記サイズ情報は更新されない。なぜなら、前述と同様に、この時点では逆多重化処理結果のデータサイズを確定することができないからである。
上記の手順により前記ディスクリプタ702〜705の情報が更新されると、前記逆多重化処理部103は、前記ディスクリプタ703に係る処理要求に応ずる逆多重化処理を実行して、前記ディスクリプタ703の情報に基づいて処理結果をメモリ領域806に格納する(S902)。そして、前記逆多重化処理部103は、前記CPU101に1つの処理要求が完了したこと、及びデータを格納した前記メモリ領域806を示すアドレスの値を通知する。当該通知を受け取った前記CPU101は、当該処理が完了した処理要求に係るディスクリプタ703の前記使用可能なメモリ領域のサイズの値を、前記メモリ領域806のサイズの値に変更するとともに、前記バッファに後続の処理要求がキューイングされているか否かを確認する(S903)。このとき、後続する処理要求がキューイングされている場合には、前記CPU101は、前述と同様に、後続する処理要求に付加された前記ディスクリプタに含まれる前記先頭アドレスの情報を更新する(S904)。すなわち、図8において、前記CPU101は、前記ディスクリプタ704の前記先頭アドレスの情報を、データが格納された前記メモリ領域806に連続する次のメモリアドレスの値に変更する。そして、前記CPU101は、後続する前記ディスクリプタ705及び706の前記先頭アドレスの情報を、前述と同様に、変更された前記ディスクリプタ704の前記先頭アドレスの値に基づいて設定する。以降、処理要求が前記バッファにキューイングされている限り上記の処理が繰り返される(S902〜S904)。
一方、ステップ902において実行された処理要求が最終処理を示す処理要求であった場合、前記CPU101は、前記逆多重化処理部103に対し逆多重化処理を終了させる制御を行う(S905)。また、ステップ903において、前記バッファに処理要求がキューイングされておらず、且つステップ902において実行された処理が最終処理ではない場合には、ステップ901に移行し、前記逆多重化処理部103は、次の処理要求が発行されるまで待機する。なお、上記の逆多重化処理では、前記CPU101によって処理結果格納先のメモリ領域が確保されてから処理要求が発行されるので、前記逆多重化処理部103が空きメモリ領域を確保するために、逆多重化処理の開始後にメモリ領域の解放待ちをすることはない。
以上のように、本実施の形態に係るメモリ領域割り当て方法によれば、前記処理要求毎の使用可能なメモリ領域の範囲を、前記ディスクリプタを用いて適切に更新するから、バッファとして利用するメモリ領域を効率良く確保し利用することが可能となる。例えば、図8において、当初4つ分の処理要求に対するメモリ領域しか確保することができなかった前記メモリ領域401に、4つ以上の処理要求に対するメモリ領域を割り当てが可能となる。
また、当該メモリ領域割り当て方法により、情報処理システム10の安定性を向上させることができる。例えば、ストリームデータの再生時に逆多重化処理がハングアップした場合において、前記バッファに格納されているデータの分だけ再生処理を続けることができるから、当該システムが復旧するまでの間に再生処理が停止してしまうことが起き難くなる。
≪他処理への空きメモリ領域の一時的な割り当て≫
前述のように、前記ディスクリプタに基づいたメモリ領域の割り当て方法により、逆多重化処理や音声復号化処理等の夫々の処理に割り当てたメモリ領域内において、空きメモリ領域が発生する可能性が高くなる。この場合には、当該空きメモリ領域を他の処理に一時的に割り当てることが可能となる。
図10は、コンテンツデータの再生処理と記録処理が同時に行なわれるシステムにおいて、空きメモリ領域を有効利用する方法の一例である。
ここでは、再生処理に割り当てられたメモリ領域の一つである、前記映像ESデータ格納用メモリ領域1000_1と、記憶処理に割り当てられたメモリ領域の一つである、記録用に多重化されたTS(Transport Stream)データ格納用メモリ領域1000_2を例に説明する。
図10において、前記再生処理及び前記記憶処理において実行される処理要求の上限値は4個であり、前記映像ESデータ格納用メモリ領域1000_1には、処理要求の上限値の4個に対応する前記映像ESデータが格納されている。また、TSデータ格納用メモリ領域1000_2には、処理要求3個に対応するTSデータが格納されている。なお、図10におけるメモリ領域1001〜1009の内部に付された数字は、データが格納された順番を表す。例えば、TSデータ格納用メモリ領域1000_2におけるメモリ領域1005は、記憶処理において1番目に処理された結果が格納された領域であり、メモリ領域1007は、記憶処理において3番目に処理された結果が格納された領域である。
図10に示されるように、前記映像ESデータ格納用メモリ領域1000_1は、処理要求の上限値まで再生処理が完了しているにも関わらず、空きメモリ領域1010が存在し、メモリ領域に大きな余裕がある。逆に前記TSデータ格納用メモリ領域1000_2には、残り一つの処理要求に応ずる処理の実行が可能であるが、空きメモリ領域は参照符号1011に示されるメモリ領域のみであり、メモリ領域に余裕がない状態である。この状態において記録処理要求がある場合には、前記映像ESデータ格納用メモリ領域1000_1の空きメモリ領域の一部を、一時的に記憶処理のためのバッファとして割り当てることが可能となる。具体的には、メモリ領域1005に格納されている、1番目の処理の結果をメモリ領域1009に移動させ、当該移動により空いたメモリ領域1005を利用して、4番目の処理結果をメモリ領域1008に格納する。このように処理する理由は、前記映像ESデータ格納用メモリ領域1000_1に余裕があるとはいえ、当該余裕は一時的なものであるから、次の再生処理において必要なメモリ領域が不足してしまう可能性があるからである。
なお、未使用メモリ領域を一時的に他の処理に割り当てる場合には、上記のように、一時利用するメモリ領域の使用時間を短くするために既存のデータを移動させる方法を採用してもよいし、既存のデータを移動させる処理に時間がかかる場合には、前記未使用メモリ領域に直接4番目の処理の結果を格納する方法を採用してもよい。また、所定の状況におけるメモリ利用状況などを鑑みて、前記未使用メモリ領域の使用方法を動的に変更する方式を採用してもよい。このように未使用メモリ領域の一時的割り当ての具体的な方法は画一的に確定できるものではなく、システム全体の性能や設計方針により変更されるべきである。
≪ファースト・イン・ファースト・アウト形式によるメモリ領域割り当て≫
前述の前記ディスクリプタを用いたメモリ領域割り当て方法は、前記CPU101が、処理結果を格納するメモリ領域を確保してから処理要求を発行するシステムに適用して有効な方法であった。次に説明するメモリ割り当て方法は、前記CPU101が処理結果を格納するメモリ領域を確保することなしに処理要求を発行するシステムに適用して有効な方法である。
本実施の形態に係るメモリ領域の割り当て方法の別の例として、前記対象処理部における処理要求に応ずる処理の結果を格納するためのメモリ領域のアドレスを示す第1ポインタと、前記処理の結果を格納するメモリ領域から処理結果が読み出されて解放されたメモリ領域のアドレスを示す第2ポインタを用いて、ファースト・イン・ファースト・アウト形式でメモリ領域に処理要求毎に処理結果を保持する方法を示す。
本実施の形態に係る処理結果の格納方法を、前記CPU101が処理結果を格納するメモリ領域を確保することなしに処理要求を発行する情報処理システムへ適用する場合について、図11及び図12を用いて詳細に説明する。
図11は、ディスクリプタを利用したデータ格納方法の説明図である。
図12は、ディスクリプタを利用したデータ格納方法を適用した逆多重化処理の流れを示す説明図である。
なお、以下の説明では、前記情報処理システム10において実行される複数の処理のうち、逆多重化処理における前記映像ESデータを出力する処理を例に説明する。
図11において、参照符号1200で示されるメモリ領域は、予め逆多重化処理のために割り当てられたメモリ領域である。前記メモリ領域1200は、ディスクリプタ1201に基づいてアドレッシングされる。
前記ディスクリプタ1201は、前記メモリ領域1200を管理ための記述子であり、3つの情報を有する。第1の情報は、新たな処理要求に応ずる処理結果を格納するメモリ領域のアドレスを示す第1のポインタ(以下、「ライトポインタ」という。)1211である。例えば、新たな処理結果の書き込み開始アドレスを示す情報である。第2の情報は、処理した結果を格納するメモリ領域から処理結果が読み出されて解放されたメモリ領域の終端アドレスを示す第2のポインタ(以下、「リードポインタ」という。)1212である。例えば、処理結果の読み出し開始アドレスを示す情報である。第3の情報は、有効な処理結果を保持しているメモリ領域のサイズを示す有効データサイズである。
前記ディスクリプタ1201の3つの情報は、例えば、夫々レジスタ等に格納され、処理要求毎の処理が完了する毎に、前記CPU101によって値が更新される。
図11に示すように前記ライトポインタ1211及び前記リードポインタ1212が前記メモリ領域1200の先頭アドレスを示し、前記有効サイズデータが零である場合を起点に逆多重化処理の結果を格納する手順について、図12を用いて説明する。
図12において、先ず、前記CPU101は、前記逆多重化処理部103に逆多重化処理の指示を行うに際し、前記データ読み出し処理301によって読み出されたコンテンツデータ116の情報を含んだ処理要求1310を前記逆多重化処理部103に対し発行する。前記逆多重化処理部103は、発行された前記処理要求1310を前記メモリ部102に設けられたバッファにキューイングしていく。キューイングされた処理要求に対しては、最も先にキューイングされた処理要求から処理を開始する(S1301)。当該処理の開始に際し、前記逆多重化処理部103は、前記ディスクリプタ1201を参照し、前記ライトポインタ1211の示すアドレスから処理結果を格納するために必要なサイズ1210の空きメモリ領域の有無を確認する(S1302)。空きメモリ領域の有無は、前記ライトポインタ1211と前記リードポインタ1212の示すアドレスの値に基づいて行われる。例えば、前記逆多重化処理部103は、前記メモリ領域1200の終端アドレスと前記ライトポインタ1211の示すアドレスとの差を演算することで空きメモリ領域のサイズを算出する。そして、当該算出した空きメモリ領域のサイズと前記必要なサイズ1210とを比較することで、必要な空きメモリ領域があるか否かを判断する。なお、前記必要なサイズ1210は、例えば、製品仕様あるいは圧縮データのフォーマット仕様から算出される最大出力データサイズであり、前記ディスクリプタ1201の第4の情報として格納されていてもよいし、別途用意したレジスタ等に格納されてもよい。
ステップ1302において、必要なサイズ1210の空きメモリ領域がなかった場合には、前記逆多重化処理部103は、前記CPU101に対しその旨通知しメモリ領域が解放されるまで待機する(S1304)。図11の場合には、前記必要なサイズ1210の空きメモリ領域が存在することから、前記逆多重化処理部103は逆多重化処理を実行し、生成した前記映像ESデータをメモリ領域1205に格納する(S1303)。
そして、前記逆多重化処理部103は、前記CPU101に1つの処理要求が完了したこと、及びデータを格納したメモリ領域を示すアドレスの値を通知し、当該通知を受け取ったCPU101は、前記ディスクリプタ1201の値を更新する(S1305)。すなわち、前記CPU101は、前記有効データサイズの値を、当該処理結果を格納したメモリ領域1205のサイズ1213_1の値に変更し、前記ライトポインタ1211を、前記メモリ領域1205に連続する次のメモリアドレスの値に変更する。その後、前記逆多重化処理部103は、前記バッファに後続の処理要求がキューイングされているか否かを確認する(S1306)。このとき、後続する処理要求がキューイングされている場合には、前記逆多重化処理部103は、最も先にキューイングされた処理要求に応ずる処理を実行するため、前述と同様に、前記ディスクリプタ1201を参照し前記ライトポインタ1211の示すアドレスから処理結果を格納するために必要なサイズ1210のメモリ領域があるかどうかを確認する(S1302)。図11の場合、前記必要なサイズ1210の空きメモリ領域が存在することから、前記逆多重化処理部103は逆多重化処理を実行し、生成した前記映像ESデータをメモリ領域1206に格納する(S1303)。そして、前記逆多重化処理部103は、前記CPU101に1つの処理要求が完了したこと、及びデータを格納したメモリ領域を示すアドレスの値を通知し、当該通知を受け取った前記CPU101は、前記ディスクリプタ1201の値を更新する(S1305)。具体的には、前記CPU101は、前記有効データサイズの値を、前述の処理結果を格納した前記メモリ領域1205のサイズ1213_1と、当該処理結果を格納した前記メモリ領域1206のサイズ1213_2とを加算した値に変更する。すなわち、前記有効データサイズの情報は、前記メモリ領域1200に格納されている有効データの合計サイズの値となる。また、前記CPU101は、前記ライトポインタ1211を前記メモリ領域1206に連続する次のメモリアドレスの値に変更する。
なお、ステップ1303において実行された処理要求が最終処理を示す処理要求であった場合には、前記CPU101は、ステップ1305において前記ディスクリプタ1201の値を更新するとともに、前記逆多重化処理部103に対し逆多重化処理を終了させる(S1307)。また、ステップ1306において、前記バッファに処理要求がキューイングされておらず、且つステップ1303おいて実行された処理が最終処理ではない場合には、ステップ1301に移行し、前記逆多重化処理部103は、次の処理要求が発行されるまで待機する。
ここで、前記ディスクリプタ1201を利用しない場合の比較例として、固定サイズのメモリ領域を逐次的に利用してデータを格納する方法を図13に示す。
図13は、固定サイズのメモリ領域を利用したデータ格納方法を適用した逆多重化処理の流れ示す説明図である。
図13による処理方法においては、前記ディスクリプタ1201を利用しないためディスクリプタの情報を更新する処理手順はない。
図13に示す方法によれば、前記逆多重化処理103は、処理要求毎に固定サイズの空きメモリ領域の有無を確認し、当該固定サイズのメモリ領域毎にデータを格納することを行うから、固定サイズのメモリ領域を逐次的に使用していくことができる。しかし、前述した、処理単位毎に固定サイズのメモリ領域を予め割り当てる方法と同様に、図5に示すような未使用のメモリ領域が発生する場合があり、メモリ領域の有効利用ができない。
したがって、本実施の形態に係る、前記ディスクリプタ1201を利用したデータ格納方法によれば、前記CPU101が、前記逆多重化処理部103による処理要求に応じた処理が完了する毎に前記ディスクリプタ1201の情報を更新するから、前記逆多重化処理部103は処理結果を連続するメモリ領域に逐次的に格納することが可能となり、前記メモリ領域1200を有効に活用することができる。
≪前記ディスクリプタ1201を用いたデータの読み出し方法≫
前記ディスクリプタ1201を用いた処理結果の読み出し方法について、図14を用いて説明する。
図14は、前記ディスクリプタ1201を利用したデータ読み出し方法の説明図である。
図14における前記メモリ領域1200は、前述と同様に前記逆多重化処理によって生成される前記映像ESデータが格納用に割り当てられたメモリ領域である。
図14において、前述した前記ディスクリプタ1201を用いたデータの格納方法により、メモリ領域1200の先頭アドレスから順次データが格納され、メモリ領域1403からメモリ領域1408までの領域に有効なデータが格納されている。このときの前記ディスクリプタ1201の前記3つの情報は次のようになっている。前記有効データサイズの情報は、当該有効なデータが格納されているメモリ領域のサイズの合計値1400_1である。そして、前記ライトポインタ1211は、前記メモリ領域1308に連続するメモリ領域1409の先頭アドレスを示している。また、前記リードポインタ1212は前記メモリ領域1200の先頭アドレスを示している。
この場合において、前記映像デコーダ部106が復号化処理のために必要な前記映像ESデータを読み出す場合を考える。データの読み出しは、前記メモリ領域1200に最も先に格納された有効なデータから逐次行われる。すなわち、前記映像デコーダ部106は、当該リードポインタ1212の示すアドレスから、読み出しが要求されたサイズ1410のデータを読み出す。具体的には、図14の場合において、前記映像デコーダ部106は、前記ディスクリプタ1201を参照して、前記有効データサイズの値から当該メモリ領域1200に有効なデータが格納されていることを確認し、前記リードポインタ1212に基づいて前記要求されたサイズ1410のデータを読み出す。この場合、前記メモリ領域1403のデータが読み出され、当該メモリ領域1403が解放される。そして、前記要求されたサイズ1410のデータの読み出しが完了したら、前記映像デコーダ部106は前記CPU101に対し、データの読み出しが完了したこと及び、データを読み出したメモリ領域のアドレスを通知し、当該通知を受け取った前記CPU101は、前記ディスクリプタ1201の情報を更新する。具体的には、前記CPU101は、前記有効データサイズの情報を、更新前の値1400_1から読み出したデータ分1410だけ減算した値1400_2に変更する。また、前記CPU101は、前記リードポインタ1212の情報を、当該データを解放したメモリ領域1403に連続するメモリ領域1404の先頭アドレスの情報に変更する。これによりデータの読み出し処理が完了する。
≪ラップアラウンドによるデータ格納方法≫
次に、前記ディスクリプタ1201を用いた、ラップアラウンドによるデータ格納方法について、図15A、図15B及び図15Cを用いて説明する。
図15Aは、逆多重化処理におけるラップアラウンドによるデータ格納方法の説明図である。
図15Aにおいて、メモリ領域1501はデータが読み出されて解放されており、メモリ領域1502からメモリ領域1504までは有効なデータが格納されている。このときの前記ディスクリプタ1201の3つの情報は次のようになっている。前記有効データサイズの情報は、当該有効なデータが格納されているメモリ領域のサイズの合計値1500_1である。また、前記ライトポインタ1211は、前記メモリ領域1504に連続するメモリ領域1505の先頭アドレスを示している。更に、前記リードポインタ1212は前記メモリ領域1200の先頭アドレスを示している。ここで、前記メモリ領域1200の終端アドレスと前記ライトポインタ1211が示すアドレスとの差分により求まるメモリ領域1505は空きメモリ領域であり、そのサイズは次の処理要求に応ずる処理結果を格納するために必要なメモリ領域のサイズ1210よりも小さいサイズである。
図15Aの場合におけるラップアラウンドによるデータ格納方法として、2通りの方法がある。
第1のデータ格納方法は、前記メモリ領域1200の終端アドレスでラップアラウンドするデータ格納方法である。
図15Bは、ラップアラウンドによる第1のデータ格納方法の説明図である。
ラップアラウンドによるデータ格納前の状態である図15Aにおいて、前記逆多重化処理部103は、新たな逆多重化処理の処理要求を受け取ると、前述のように前記ディスクリプタ1201を利用して、処理結果を格納するために必要なサイズ1210の空きメモリ領域の有無を調べる。このとき、当該空きメモリ領域が存在しない場合には、前述と同様に、前記逆多重化処理部103は待機する。また、空きメモリ領域が存在し、且つ前記必要なサイズ1210よりも前記メモリ領域1505のサイズが大きい場合には、前記逆多重化処理部103は、前述の図11に示す方法により処理結果を格納する。一方、空きメモリ領域は存在するが前記必要なサイズ1210よりも前記メモリ領域1505のサイズが小さい場合には、前記逆多重化処理部103は、前記ライトポインタ1211に基づいて前記メモリ領域1200の終端アドレスまでデータを格納し、当該終端アドレスでラップアラウンドして、前記メモリ領域1200の先頭アドレスから残りのデータを格納する。そして、データの格納が完了したら、前記逆多重化処理部103は、前述と同様に前記CPU101に通知し、当該通知を受け取ったCPU101は、前記ディスクリプタ1201を更新する。具体的には、図15Bに示すように、前記CPU101は、前記ライトポインタ1211を前記メモリ領域1507に連続するメモリ領域1508の先頭アドレスの値に変更する。また、前記CPU101は、前記有効データサイズの情報を、予め有効データが格納されていたメモリ領域のサイズの値1500_1と、当該データを格納した前記メモリ領域1505のサイズ1500_3及びメモリ領域1507のサイズ1500_4の合計サイズの値に変更する。
これによれば、前記メモリ領域1200の先頭アドレスから終端アドレスまでのラップアラウンド制御が可能となり、前記メモリ領域1200を無駄なく利用することが可能となる。
次に、ラップアラウンドによるデータ格納方法の第2の方法について説明する。
前記第2のデータ格納方法は、空きメモリ領域のサイズに基づいてラップアラウンドするデータ格納方法である。
図15Cは、ラップアラウンドによる第2のデータ格納方法の説明図である。
ラップアラウンドによるデータ格納前の状態である図15Aにおいて、前記逆多重化処理部103は、新たな逆多重化処理の処理要求を受け取ると、前述と同様にディスクリプタを利用して処理結果を格納するために必要なサイズ1210の空きメモリ領域の有無を調べる。このとき、前記必要なサイズ1210よりも前記メモリ領域1505のサイズが大きい場合には、前記第1の方法と同様の処理を行う。一方、前記必要なサイズ1210よりも前記メモリ領域1505のサイズが小さい場合には、前記逆多重化処理部103は、前記メモリ領域1200の先頭アドレスから空きメモリ領域が存在するか否かを判断する。すなわち、当該先頭アドレスからリードポインタ1212の示すアドレスまでのメモリ領域1501のサイズが前記必要なサイズ1210よりも小さい場合には、前記逆多重化処理部103は、前述と同様に待機する。一方、前記メモリ領域1501のサイズが前記必要なサイズ1210よりも大きい場合には、前記逆多重化処理部103は、ラップアラウンドして当該先頭アドレスから処理結果を格納する。そして、データの格納が完了したら、前記逆多重化処理部103は、前述と同様に前記CPU101に通知し、当該通知を受け取った前記CPU101は、前記ディスクリプタ1201の情報の更新を行う。具体的には、図15Cに示すように、前記CPU101は、前記ライトポインタ1211の情報を前記メモリ領域1506に連続する次のメモリアドレスの値に変更する。また、前記CPU101は、前記有効データサイズの情報を、予め格納していた有効データの合計値1500_1と当該処理によって格納されたメモリ領域1506のサイズ1500_2との合計サイズの値に変更する。
前記第2の方法によれば、処理結果の格納の際に、前記ライトポインタ1211から前記メモリ領域1200の終端アドレスまでの空きメモリ領域のサイズに基づいてラップアラウンド制御を行うから、処理単位毎の処理結果を連続したメモリ領域に格納することができる。
≪ラップアラウンドによるデータ読み出し方法≫
前記第1のデータ格納方法によってラップアラウンドしてデータが格納された場合のデータの読み出し方法について説明する。
当該データの読み出し方法は、前記リードポインタ1212に基づいて前記メモリ領域1200の終端アドレスまでデータを読み出し、当該終端アドレスまでデータを読み出した後は、ラップアラウンドして前記メモリ領域1200の先頭アドレスからデータを読み出す方法である。
当該読み出し方法の一例を図16に示す。
図16は、前記第1のデータ格納方法におけるデータ読み出し方法の一例である。
図16において、前記メモリ領域1200におけるメモリ領域1601及び1602には、逆多重化処理の結果である前記映像ESデータが格納されており、前記有効データサイズは前記メモリ領域1601のデータサイズ1600_1と、前記メモリ領域1602のデータサイズ1600_2の合計サイズである。また、前記ライトポインタ1211は、前記メモリ領域1601に連続するメモリ領域の先頭アドレスを示し、前記リードポインタ1212は、前記メモリ領域1602の先頭アドレスを示している。
この場合において、前記映像デコーダ部106が格納されている前記映像ESデータを読み出す場合を考える。
図16において、前記映像デコーダ部106は、前述の図14に示した方法と同様に、前記ディスクリプタ1201を利用して、読み出しが要求されたサイズのデータの読み出し処理を開始する。そして、前記映像デコーダ部106は、前記メモリ領域1200の終端アドレスまでのデータを読み出したら、ラップアラウンドして前記メモリ領域1200の先頭アドレスから残りのデータを読み出す。前記読み出しが要求されたサイズのデータの読み出し処理が完了したら、前述と同様に前記映像デコーダ部106は前記CPU101に通知し、当該通知を受け取った前記CPU101は、前記ディスクリプタ1201を更新する。具体的には、図16に示すように、前記CPU101は、前記リードポインタ1212を前記メモリ領域1602_1に連続するメモリ領域1602_2の先頭アドレスの値に変更する。また、前記CPU101は、前記有効データサイズの情報を、予め格納していたサイズ1600_1とサイズ1600_2の合計サイズから、当該読み出しによって解放したメモリ領域1601及びメモリ領域1602_1のサイズを減算したサイズ1600_3に変更する。
以上の方法によれば、前記メモリ領域1200の終端アドレスまでデータを読み出した後にラップアラウンドして当該メモリ領域の先頭アドレスから再度データの読み出しを行うので、前記メモリ領域に格納された有効なデータをもれなく読み出すことができる。
次に前記第2のデータ格納の方法によってデータが格納された場合のデータの読み出し方法について説明する。
前記第2のデータ格納方法によりデータを格納している場合には、前記メモリ領域1200の終端アドレスまでデータが格納されていない場合がある。当該データの読み出し方法は、このような場合に、有効データが格納されているアドレスまでデータを読み出したら、ラップアラウンドして前記メモリ領域1200の先頭アドレスからデータを読み出す方法である。
当該読み出し方法の一例を図17に示す。
図17は、前記第2のデータ格納方法におけるデータ読み出し方法の一例である。
図17において、前記メモリ領域1200のメモリ領域1701及び1702には、逆多重化処理の結果である前記映像ESデータが格納されており、前記有効データサイズは、前記メモリ領域1701のデータサイズ1700_1と、前記メモリ領域1702のデータサイズ1700_2の合計サイズである。また、前記ライトポインタ1211は、前記メモリ領域1701に連続するメモリ領域1703の先頭アドレスを示し、前記リードポインタ1212は、メモリ領域1704の先頭アドレスを示している。
この場合において、前記映像デコーダ部106が格納されている前記映像ESデータを読み出す場合を考える。
図17において、前記映像デコーダ部106はデータの読み出しに際し、前記ライトポインタ1211の示すアドレスと前記メモリ領域1200の先頭アドレスとの差分により求まるメモリ領域のサイズと、前記ディスクリプタ1201の前記有効データサイズとが一致するか否かを判断する。このとき、当該二つのサイズが一致しない場合には、前述の図14に示す方法によりデータを読み出す。一方、当該二つのサイズが一致する場合には、前記映像デコーダ部106は、ラップアラウンドして前記メモリ領域1200の先頭アドレスから、読み出しが要求されたサイズ1720のデータを読み出す。そして、前記映像デコーダ部106は、前述と同様に前記CPU101に通知し、当該通知を受け取った前記CPU101は、前記ディスクリプタ1201の情報を更新する。すなわち、前記CPU101は、前記有効データのサイズ情報をメモリ領域1702のサイズ1700_2に変更し、前記リードポインタ1212の値を前記メモリ領域1702の先頭アドレスに変更する。
この方法によれば、前記メモリ領域1200の終端アドレスまでデータが格納されていない場合でもラップアラウンドして当該メモリ領域の先頭アドレスから再度データの読み出しを行うので、前記メモリ領域に格納された有効なデータをもれなく読み出すことができる。
なお、前記第2の方法によってデータが格納された場合におけるデータ読み出し方法の別の例として、前記第2の方法によるデータ格納時に使用しなかったメモリ領域のアドレスを登録し、データ読み出し時に当該アドレスに基づいて読み出しを行う方法もある。
例えば、図17の場合において、前記逆多重化処理部103が前記第2の方法によりメモリ領域1701及び1702にデータを格納して、その後前記CPU101に前述の通知を行う際に、データを格納しなかったメモリ領域1704のアドレスの値もあわせて通知する。当該通知を受け取った前記CPU101は、前記メモリ領域1704を使用不可能メモリ領域とし、そのアドレスの値を前記ディスクリプタ1201に登録する。そして、前記映像デコーダ部106がデータを読み出す際に、前記ディスクリプタ1201を参照し、前記リードポインタ1212に基づいて前記メモリ領域1704の手前のメモリアドレスまでのデータを読み出し、その後ラップアラウンドして、前記メモリ領域1200の先頭アドレスからデータを読み出す。前記映像デコーダ部106は、データの読み出しが完了したら、前述と同様に前記CPU101に通知し、前記CPU101は前記ディスクリプタ1201を更新する。このとき、前記CPU101は前述の更新に加え、登録された前記メモリ領域1704のアドレスの値をクリアして、前記メモリ領域1704を使用可能なメモリ領域に変更する。
これによれば、前述のデータ読み出し方法と同様の作用を奏する。
以上により逆多重化処理において、本実施の形態に係るメモリ領域割り当て方法とそれに対応するデータの読み出し方法を採用することで、前記メモリ部102のメモリ領域を効率よく使用することが可能となる。
なお、上記の説明では、本実施の形態に係るメモリ領域割り当て方法とそれに対応するデータの読み出し方法を、逆多重化処理に適用する場合を例としたが、前記再生処理における他の処理に適用してもよい。例えば、音声復号化処理や映像復号化処理等に適用しても同様の作用を奏する。
≪記録処理時におけるメモリ領域割り当て≫
前述したメモリ領域割り当て方法は、前記情報処理システム10における前記再生処理に適用する場合の例であったが、当該メモリ領域割り当て方法は、前記記録処理に適用することもできる。
図18は、前記記録処理時のデータの流れ示す説明図である。
図18において、前記記録処理の対象となるデータの一例として、MPEG形式のデータを例としている。
記録処理において、前記音声入力部110は、取り込んだ音声を電気信号に変換して音声ロウデータ120を出力する。また、前記映像入力部112は、取り込んだ映像を電気信号に変換して映像ロウデータ121を出力する。出力された前記音声ロウデータ120は前記音声エンコーダ部109に入力され、符号化処理により前記音声ESデータ117として出力される。同様に前記映像ロウデータ121は前記映像エンコーダ部111に入力され、符号化処理により映像ESデータ118として出力される。そして、前記多重化処理部108は、前記音声ESデータ117及び前記映像ESデータ118を入力し、多重化処理を行って、コンテンツデータ116を生成する。当該生成された前記コンテンツデータ116は、前記記録装置30に記録される。このコンテンツデータ116を記録媒体である前記フラッシュメモリ114や前記HDD115に格納することで、記録処理を実現できる。格納フォーマットごとに異なる情報については、これらの処理と平行して、あるいはあらかじめパラメータを設定するなどして、別途作成すればよい。
図19は、前記記録処理時における処理内容と処理に伴うデータの説明図である。
多重化処理1905は、1GOP分のコンテンツデータに対する処理を処理単位として処理を実行する場合を一例としている。前記処理単位は、処理を実行するハードウェアの仕様や実行する処理内容等に応じて変更しても構ない。
図19において、音声データ取得処理1901、音声符号化処理1902、映像データ取得処理1903、映像符号化処理1904、多重化処理1905及び、データ書き込み処理1906では、前記再生処理における各処理と同様に、メモリ領域の一部がバッファとして利用される。
前記バッファとして割り当てられるメモリ領域のサイズを決めるに際し、前記音声データ処理1901及び前記映像データ取得処理1903によって生成される音声ロウデータ120及び映像ロウデータ121を格納するバッファのサイズは、前記音声入力部110及び前記映像入力部112の仕様等から予め算出することができる。しかしながら、前記音声符号化処理1902及び前記映像符号化処理1904によって生成される前記音声ESデータ117及び前記映像ESデータ118を格納するバッファのサイズを予め確定するのは困難である。音声符号化処理1902及び映像符号化処理1904によって、どの程度圧縮されるかを事前に算出することが困難だからである。また、前記コンテンツデータ116を格納するバッファのサイズについても、予め確定するのは困難である。所定の処理単位における多重化前の前記音声ESデータ117及び前記映像ESデータ118のデータサイズが変動するからである。
したがって、前記音声符号化処理1902、前記映像符号化処理1904、及び前記多重化処理1905において利用するバッファに対しても前記再生処理において採用したメモリ領域の割り当て方法及びデータ読み出し方法を採用することができ、同様の作用を奏する。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、前記情報処理システム10において、前記比較例として図4に示した固定サイズのメモリ領域を処理要求毎に割り当てる方法と、本実施の形態に係るメモリ領域の割り当て方法を選択可能にする方式を採用してもよい。この場合には、夫々の前記対象処理部に対応したレジスタ等に夫々のメモリ領域割り当て方法に対応する値を格納しておくことで、前記CPU101が処理状況等に応じて当該レジスタ等を参照してメモリ領域方法を決定することが可能となる。また、前記情報処理システム10の設計時に当該システムの仕様等に応じて選択することも可能となる。
10 情報処理システム
101 データ処理制御部
30 記録装置
60 記録部
113 記録装置接続部
114 フラッシュメモリ
115 HDD
90 バス
103 逆多重化処理部
108 多重化処理部
40 復号化処理部
104 音声デコーダ部
106 映像デコーダ部
70 出力部
105 音声出力部
107 映像表示部
50 符号化処理部
109 音声エンコーダ部
111 映像エンコーダ部
80 入力部
110 音声入力部
112 映像入力部
102 メモリ部
116 コンテンツデータ
117 音声ESデータ
118 映像ESデータ
119 その他ESデータ
120 音声ロウデータ
121 映像ロウデータ
122 制御用データ
123 制御用プログラム
301 データ読み出し処理
302 逆多重化処理
303 音声復号化処理
304 音声データ出力処理
307 映像復号化処理
308 映像データ出力処理
401 逆多重化処理に割り当てられたメモリ領域
402、403、404、405 処理要求毎に割り当てられたメモリ領域
116_A、116_B 処理要求毎のコンテンツデータ
118_A、118_B 処理要求毎の映像ESデータ
501、502 映像ESデータが格納されたメモリ領域
503、504 未使用のメモリ領域
610、910 逆多重化処理要求
702、703、704、705 ディスクリプタ
805、806 処理結果が格納されたメモリ領域
1001〜1011 メモリ領域
1000_1 映像ESデータ格納用メモリ領域
1000_2 TSデータ格納用メモリ領域
1200 逆多重化処理に割り当てられたメモリ領域
1201 ディスクリプタ
1211 ライトポインタ
1212 リードポインタ
1210、1210_1、1210_2 処理結果の格納に必要なデータサイズ
1205、1206 メモリ領域
1213_1、1213_2 メモリ領域のサイズ
1310 逆多重化処理要求
1403〜1409 メモリ領域
1410 読み出しが要求されたデータサイズ
1400_1、1400_2 有効データサイズ
1501〜1508 メモリ領域
1500_1〜1500_4 有効データサイズ
1601、1602、1602_1、1602_2、1701〜1704 メモリ領域
1600_1〜1600_3、1700_1、1700_2 有効データサイズ
1620、1720 読み出しが要求されたデータサイズ
1901 音声データ取得処理
1902 音声符号化処理
1903 映像データ取得処理
1904 映像符号化処理
1905 多重化処理
1906 データ書き込み処理

Claims (12)

  1. データを格納するメモリ部と、
    前記メモリ部にストリームデータに対する処理結果を格納するためのメモリ領域を割り当てるための処理を行うデータ処理制御部と、
    割り当てられたメモリ領域を使用して、多重化された符号化データを逆多重する処理を、処理要求毎に実行する逆多重化処理部と、
    割り当てられたメモリ領域を使用して、前記逆多重された符号化データを復号する処理を、処理要求毎に実行する復号処理部と、を有する情報処理システムであって、
    前記データ処理制御部は、前記逆多重化処理部と前記復号処理部の何れか一方又は双方を対象処理部とし、前記対象処理部における処理要求毎の処理の結果に基づいて、後続する処理要求に割り当てるメモリ領域を変更するための処理を行う、情報処理システム。
  2. 前記データ処理制御部は、夫々の前記対象処理部による処理結果を処理要求毎にメモリ領域に格納するための記述子を、夫々の前記対象処理部における夫々の処理要求に付加する、請求項1記載の情報処理システム。
  3. 前記記述子は、使用可能なメモリ領域の先頭アドレスの情報と、使用可能なメモリ領域のサイズを規定する情報を含む、請求項2記載の情報処理システム。
  4. 前記データ処理制御部は、夫々の前記対象処理部における処理要求毎の処理が完了する毎に、当該処理結果が格納されたメモリ領域のサイズに基づいて、後続する処理要求に付加された前記記述子の前記先頭アドレスの情報を変更する、請求項3記載の情報処理システム。
  5. 前記メモリ部は、夫々の前記対象処理部による処理結果を処理要求毎にメモリ領域に格納するための記述子を有し、
    前記記述子は、新たな処理要求に応答して処理した結果を格納するメモリ領域のアドレスを示す第1ポインタ、有効な処理結果を保持しているメモリ領域のサイズを示す有効サイズデータ、及び前記処理した結果を格納するメモリ領域から処理結果が読み出されて解放されたメモリ領域のアドレスを示す第2ポインタを有し、
    前記対象処理部は、処理要求に応答して処理した結果を、前記第1ポインタ及び第2ポインタを用いてファースト・イン・ファースト・アウト形式でメモリ領域に保持する、請求項1記載の情報処理システム。
  6. 前記対象処理部は、前記第1ポインタの値とメモリ領域の終端アドレスとの差が必要最大限のメモリサイズよりも小さいときメモリ領域に対するラップアラウンド制御を行い、
    前記ラップアラウンド制御において、新たな処理要求に応答して処理した結果はメモリ領域の先頭から格納される、請求項5記載のデータ処理システム。
  7. 前記対象処理部は、前記第1ポインタの値とメモリ領域の終端アドレスとの差が必要最大限のメモリサイズよりも小さいときメモリ領域に対するラップアラウンド制御を行い、
    前記ラップアラウンド制御において、新たな処理要求に応答して処理した結果は前記第1ポインタの値にしたがって格納される、請求項5記載のデータ処理システム。
  8. 前記対象処理部は、処理要求に応答して処理した結果をメモリ領域から読み出すとき、前記有効サイズデータが前記第1ポインタの値とメモリ領域の先頭アドレスとの差と等しい場合にはメモリ領域の先頭から読み出す、前記請求項6記載のデータ処理システム。
  9. データを格納するメモリ部と、
    前記メモリ部にストリームデータに対する処理結果を格納するためのメモリ領域を割り当てるための処理を行うデータ処理制御部と、
    割り当てられたメモリ領域を使用して、入力されるデータを符号化する処理を、処理要求毎に実行する符号化処理部と、
    割り当てられたメモリ領域を使用して、符号化されたデータを多重化する処理を、処理要求毎に実行する多重化処理部と、を有する情報処理システムであって、
    前記データ処理制御部は、前記符号化処理部と前記多重化処理部の何れか一方又は双方を対象処理部とし、前記対象処理部における処理要求毎の処理の結果に基づいて、後続する処理要求に割り当てるメモリ領域を変更するための処理を行う、情報処理システム。
  10. 前記データ処理制御部は、夫々の前記対象処理部による処理結果を処理要求毎にメモリ領域に格納するための記述子を、夫々の前記対象処理部における夫々の処理要求に付加する、請求項9記載の情報処理システム。
  11. 前記メモリ部は、夫々の前記対象処理部による処理結果を処理要求毎にメモリ領域に格納するための記述子を有し、
    前記記述子は、新たな処理要求に応答して処理した結果を格納するメモリ領域のアドレスを示す第1ポインタ、有効な処理結果を保持しているメモリ領域のサイズを示す有効サイズデータ、及び前記処理した結果を格納するメモリ領域から処理結果が読み出されて解放されたメモリ領域の終端のアドレスを示す第2ポインタを有し、
    前記対象処理部は、処理要求に応答して処理した結果を、前記第1ポインタ及び第2ポインタを用いてファースト・イン・ファースト・アウト形式でメモリ領域に保持する、請求項9記載の情報処理システム。
  12. データを格納するメモリ部と、
    前記メモリ部にストリームデータに対する処理結果を格納するためのメモリ領域を割り当てるための処理を行うデータ処理制御部と、
    割り当てられたメモリ領域を使用して、多重化された符号化データを逆多重する処理を、処理要求毎に実行する逆多重化処理部と、
    割り当てられたメモリ領域を使用して、前記逆多重された符号化データを復号する処理を、処理要求毎に実行する復号処理部と、
    割り当てられたメモリ領域を使用して、入力されるデータを符号化する処理を、処理要求毎に実行する符号化処理部と、
    割り当てられたメモリ領域を使用して、符号化されたデータを多重化する処理を、処理要求毎に実行する多重化処理部と、を有する情報処理システムであって、
    前記データ処理制御部は、前記逆多重化処理部、前記復号処理部、前記符号化処理部及び前記多重化処理部の少なくとも一つを対象処理部とし、前記対象処理部における処理要求毎の処理の結果に基づいて、後続する処理要求に割り当てるメモリ領域を変更するための処理を行う、情報処理システム。
JP2009260738A 2009-11-16 2009-11-16 情報処理システム Withdrawn JP2011109298A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009260738A JP2011109298A (ja) 2009-11-16 2009-11-16 情報処理システム
US12/946,364 US20110119465A1 (en) 2009-11-16 2010-11-15 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009260738A JP2011109298A (ja) 2009-11-16 2009-11-16 情報処理システム

Publications (1)

Publication Number Publication Date
JP2011109298A true JP2011109298A (ja) 2011-06-02

Family

ID=44012190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009260738A Withdrawn JP2011109298A (ja) 2009-11-16 2009-11-16 情報処理システム

Country Status (2)

Country Link
US (1) US20110119465A1 (ja)
JP (1) JP2011109298A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5781550B2 (ja) * 2010-03-08 2015-09-24 サムスン エレクトロニクス カンパニー リミテッド メディアコンテンツデータ再生装置及び方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9113464B2 (en) * 2006-01-06 2015-08-18 Proxense, Llc Dynamic cell size variation via wireless link parameter adjustment
US7512719B1 (en) * 2006-03-16 2009-03-31 American Megatrends, Inc. Sharing a dynamically located memory block between components executing in different processor modes in an extensible firmware interface environment

Also Published As

Publication number Publication date
US20110119465A1 (en) 2011-05-19

Similar Documents

Publication Publication Date Title
KR101229522B1 (ko) 비휘발성 메모리로부터의 미디어 데이터의 효율적인 저전력 리트리브 기법들
US6111592A (en) DMA data transfer apparatus, motion picture decoding apparatus using the same, and DMA data transfer method
US20090067819A1 (en) Information processing apparatus, recording method, and computer program
JP5216003B2 (ja) 記録装置
CN103795955B (zh) 电子设备、动态图像再生装置、动态图像解码方法
US20130279872A1 (en) Recording apparatus, imaging and recording apparatus, recording method, and program
JP5351972B2 (ja) マルチメディアデータレコーディング
US8452158B2 (en) Recording apparatus, imaging and recording apparatus, recording method, and program
CN1491387B (zh) 管理对存储介质的存取的设备和方法
JP2011109298A (ja) 情報処理システム
JP2008301208A (ja) 映像記録装置
US20100077112A1 (en) Data storage management system and method thereof
KR101434297B1 (ko) 파일할당표를 이용한 파일 디바이드 및 머지 방법
JP2007279873A (ja) データ記録装置
JP4724551B2 (ja) 動画像処理装置及び動画像処理方法
JP4250170B2 (ja) エンコード中に抽出画像を外部に送信するビデオエンコーダ
US8509597B2 (en) Recording apparatus, imaging and recording apparatus, recording method, and program
JP4234029B2 (ja) 画像記録再生装置
JP5012626B2 (ja) 情報処理装置および方法、並びにプログラム
US10950274B2 (en) Image recording apparatus, method for controlling same, and non-transitory computer-readable storage medium
JP2005333437A (ja) 画像撮影機器
JP5161852B2 (ja) ドライブ装置、コンテンツ記録再生装置、データ書き込み方法、プログラムおよび記録媒体
KR100846406B1 (ko) 인코드 중에 추출 화상을 외부에 송신하는 비디오 인코더
JP2014049902A (ja) 画像処理装置
CN100527835C (zh) 在有限存储器容量内储存对应mpeg-4视频信息对象的信息的装置及其方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120802

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20121120