JP7843397B2 - 情報処理装置、プログラム、及びコンピュータに実装された方法 - Google Patents

情報処理装置、プログラム、及びコンピュータに実装された方法

Info

Publication number
JP7843397B2
JP7843397B2 JP2025092706A JP2025092706A JP7843397B2 JP 7843397 B2 JP7843397 B2 JP 7843397B2 JP 2025092706 A JP2025092706 A JP 2025092706A JP 2025092706 A JP2025092706 A JP 2025092706A JP 7843397 B2 JP7843397 B2 JP 7843397B2
Authority
JP
Japan
Prior art keywords
decoding
decode
data
decoded
request
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.)
Active
Application number
JP2025092706A
Other languages
English (en)
Other versions
JP2026054549A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of JP2026054549A publication Critical patent/JP2026054549A/ja
Application granted granted Critical
Publication of JP7843397B2 publication Critical patent/JP7843397B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本開示は、情報処理装置、プログラム、及びコンピュータに実装された方法に関する。
従来、デコードを行うシステムが存在する。例えば、特開2023-166047号公報(特許文献1)には、オーディオ再生を行うゲームシステムが開示される。通常、ゲームプログラムにおいて、各種データ(特許文献1の例ではボイスデータ)はエンコードされて記憶されており、使用時にデコードされる。
特開2023-166047号公報
デコードを行う方法について改善の余地があった。
本開示における情報処理装置は、例えば以下の(1)~(13)の構成を採用し得る。
(1)
本開示における情報処理装置の第1の構成例は、デコード区分を指定して、デコード対象データをデコードする指示を行う手段と、指示に応じて、デコード対象データを所定のバッファのうちの入力バッファに格納するとともに、指定されたデコード区分の識別データ及びデコード対象データを格納するバッファの識別データを少なくとも含むデコード要求を生成して、一群のデコード要求として格納する手段と、デコードの開始指示を行う手段と、開始指示の時点における一群のデコード要求を、デコード区分の識別データに係わらず取得する手段と、取得した各デコード要求について、デコード要求に含まれるバッファの識別データが示すバッファのうちの入力バッファからデコード対象データを取得して、取得した各デコード対象データのデコードをそれぞれ行う手段と、それぞれのデコードについて、デコード要求に含まれるバッファの識別データが示すバッファのうちの出力バッファに、デコードによって得られたデコード済データを格納する手段と、それぞれのデコードについて、デコード要求に含まれるデコード区分の識別データと、デコード要求に含まれるバッファの識別データとを少なくとも含むデコード応答を生成し、一群のデコード応答として格納する手段と、取得した全てのデコード要求についてのデコードが完了したことを判断する手段と、完了が判断されたときに、デコードの完了通知の発行を行う手段と、開始指示の後、デコードの完了待機を行う手段と、完了通知の発行があった場合に、完了待機を解除する手段と、完了待機が解除された後に、デコード区分を指定して、デコード済データの取得を指示する手段と、デコード済データの取得の指示に応じて、一群のデコード応答のうち、指定されたデコード区分の識別データを含むデコード応答に基づいて、デコード応答に含まれるバッファの識別データが示すバッファのうちの出力バッファからデコード済データを取得する手段とを備える。
上記(1)の構成によれば、デコード開始指示までに行われたデコード要求を、デコード区分に関わらず、まとめて処理することができる。
(2)
上記(1)、後記(11)、(12)、(13)のそれぞれの構成において、デコード要求のうち、開始指示の前の最後に格納されたデコード要求に、最後に格納されたことを識別するデータを含める手段を、さらに備えてもよい。上記デコードの完了の判断は、少なくとも、最後に格納されたことを識別するデータを参照して、最後に格納されたデコード要求についてのデコードが終了したときにデコードが完了したと判断するように構成されてもよい。
上記(2)の構成によれば、デコードの完了判断の正確性を上げることができる。
(3)
上記(1)、(2)、後記(11)、(12)、(13)のそれぞれの構成において、上記完了待機は、開始指示とは別のコードにより実行されるように構成されてもよい。上記完了通知の発行及び上記完了待機の解除は、完了待機のコードによる処理の開始タイミングが完了通知の発行の前か後かに関わらず、完了通知の発行により完了待機の解除が行われる方式で行われるように構成されてもよい。
上記(3)の構成によれば、デコード開始指示後に、デコード結果を待つことなく他の処理を行うことができる。
(4)
上記(1)乃至(3)、又は、後記(11)、(12)、(13)のそれぞれの構成において、デコード対象データは、一連の所定単位のデータにより構成されるエンコードデータにおける所定単位のデータであってもよい。上記デコード要求は、所定単位のデータのデコード要求であり、デコード区分ごとに過去のデコード情報を記憶する手段を、さらに備えてもよい。上記デコードは、取得した各デコード要求についてのデコードを、デコード要求に含まれるデコード区分の識別データが示すデコード区分についての過去のデコード情報を用いて行うように構成されてもよい。
上記(4)の構成によれば、デコード時に過去のデコード情報が必要な方式でエンコードされているデコード対象データについてデコードを正しく行うことができる。
(5)
上記(4)の構成において、上記デコード対象データをデコードする指示は、上記過去のデコード情報の初期化の指示を伴うように構成されてもよい。上記デコード要求の生成は、当該初期化の指示に基づいて、デコード要求に当該初期化の指示データを含めるように構成されてもよい。取得したデコード要求に含まれる指示データに基づいて、取得したデコード要求についてのデコード対象データのデコードを行う前又は後に、取得したデコード要求に含まれるデコード区分の識別データが示すデコード区分についての過去のデコード情報を初期化する手段をさらに備えてもよい。
上記(5)の構成によれば、同じソースデータのループ処理や、再生位置の変更、異なるソースデータへの変更等に対応できる。
(6)
上記(5)の構成において、上記過去のデコード情報の初期化は、取得したデコード要求についてのデコード対象データのデコードを行う前に行われるように構成されてもよい。
上記(6)の構成によれば、再生位置の変更等に対応できる。
(7)
上記(1)乃至(6)、後記(11)、(12)、(13)のそれぞれの構成において、取得したデコード要求を、取得したデコード要求に含まれるデコード区分の識別データに基づいて、デコード区分ごとにソートする手段を、さらに備えてもよい。上記デコードは、ソート後の各デコード要求に基づいて行われるように構成されてもよい。
上記(7)の構成によれば、デコード時に過去のデコード情報が必要な方式でエンコードされているデコード対象データをデコードする場合に、デコードの効率が良い。
(8)
上記(1)乃至(7)、後記(11)、(12)、(13)のそれぞれの構成において、デコード要求の発行ごとに、空のバッファを検索する手段を、さらに備えてもよい。上記デコード対象データの格納に用いられるバッファは、検索によって発見されたバッファでもよい。
上記(8)の構成によれば、IOバッファを動的に割り当てることでリソースを効率的に利用することができる。
(9)
上記(1)乃至(8)、後記(11)、(12)、(13)のそれぞれの構成において、上記デコード応答の生成は、さらにデコード済データのサイズを示すサイズデータをデコード応答に含むように構成されてもよい。上記デコード済データの取得は、デコード応答に含まれるサイズデータに基づいて、デコード済データを取得するように構成されてもよい。
上記(9)の構成によれば、デコード済データを適切に取得することができる。
(10)
上記(1)乃至(9)、又は、後記(11)(12)、(13)のそれぞれの構成において、上記デコード対象データは、一連の所定単位のデータにより構成されるエンコードデータにおける所定単位のデータであってもよい。上記デコード対象データをデコードする指示は、当該所定単位のデータごとに行われてもよい。上記デコード済データの取得は、当該所定単位のデコード対象データを取得するように構成されてもよい。
上記(10)の構成によれば、複数の区分についてまとめてデコードできると共に、同じ区分についてまとめてデコードする範囲を決めることができる。
(11)
本開示における情報処理装置の第2の構成例は、デコード対象データのデコード要求をデコード区分が区別可能に生成して、一群のデコード要求として格納する手段と、デコードの開始指示を発行する手段と、開始指示の時点における一群のデコード要求に基づいて、デコード区分に関わらず、各デコード対象データをそれぞれデコードする手段と、デコードにより得られた各デコード済データをデコード区分が区別可能に格納する手段と、デコード区分を指定して、デコード済データを取得する手段とを備える。
(12)
本開示における情報処理装置の第3の構成例は、一群のデコード要求を、デコード区分の識別データを含めて格納する手段と、一群のデコード要求をデコード区分の識別データに係わらず取得する手段と、取得した各デコード要求についてのデコード対象データをそれぞれデコードする手段と、デコードにより得られた各デコード済データを、デコードしたデコード要求に含まれるデコード区分の識別データを関連付けて格納する手段と、格納されたデコード済データのうち、指定されたデコード区分の識別データが関連付けられたデコード済データを取得する手段とを備える。
(13)
本開示における情報処理装置の第4の構成例は、デコード対象データを所定のバッファのうちの入力バッファに格納するとともに、デコード区分の識別データ及びデコード対象データを格納するバッファの識別データを少なくとも含むデコード要求を生成して、一群のデコード要求として格納する手段と、デコードの開始指示を行う手段と、開始指示の時点における一群のデコード要求を、デコード区分の識別データに係わらず取得する手段と、取得した各デコード要求について、デコード要求に含まれるバッファの識別データが示すバッファのうちの入力バッファからデコード対象データを取得して、取得した各デコード対象データのデコードをそれぞれ行う手段と、それぞれのデコードについて、デコード要求に含まれるバッファの識別データが示すバッファのうちの出力バッファに、デコードによって得られたデコード済データを格納する手段と、それぞれのデコードについて、デコード要求に含まれるデコード区分の識別データと、デコード要求に含まれるバッファの識別データとを少なくとも含むデコード応答を生成し、一群のデコード応答として格納する手段と、取得した全てのデコード要求についてのデコードが完了したことを判断する手段と、完了が判断されたときに、デコードの完了通知の発行を行う手段と、完了通知が発行された後に、一群のデコード応答に基づいて、デコード応答に含まれるバッファの識別データが示すバッファのうちの出力バッファからデコード済データを取得する手段とを備える。
本開示におけるプログラムの構成例として、上記(1)乃至(13)のそれぞれの情報処理装置における以下のプログラムを挙げることができる。
・各構成例の情報処理装置において、後述のシステムプログラムによる処理を実行するためのプログラム
・各構成例の情報処理装置において、後述のゲームプログラムによる処理を実行するためのプログラム
・各構成例の情報処理装置において、後述のSDKプログラムによる処理を実行するためのプログラム
本開示におけるコンピュータに実装された方法の構成例として、上記(1)乃至(13)の各情報処理装置が実行するそれぞれの方法、又は、上記各構成例のプログラムにより実行される方法を挙げることができる。
本実施形態のゲーム装置1の一例を示すハードウェアブロック図 ゲーム装置1の不揮発メモリ11に記憶されるプログラム及びデータの一例を示す図 オーディオデータD1に含まれるデータの一例を示す図 プログラム実行中にゲーム装置1の揮発メモリ12に記憶されるデータの一例を示す図 各プログラムによる処理における第1段階の一例を示すシーケンス図 各プログラムによる処理における第2段階の一例を示すシーケンス図 各プログラムによる処理における第3段階の一例を示すシーケンス図
以下、一実施形態について説明する。図1に本実施形態のゲーム装置1のハードウェア構成の一例を示す。ゲーム装置1は、プロセッサ10、不揮発メモリ11、揮発メモリ12、操作部13、ディスプレイコントローラ14、オーディオコントローラ15などを含む。プロセッサ10はCPU(Central Processing Unit)100及びGPU(Graphics Processing Unit)101などを含むSoC(System-on-a-chip)である。CPU100とGPU101は別々に設けられても良い。不揮発メモリ11は、例えば、ROM(Read Only Memory)、NAND(Not AND)型フラッシュメモリ、SSD(Solid State Drive)、HDD(Hard Disk Drive)、USB(Universal Serial Bus)メモリ、NOR(Not OR)型フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)など不揮発的に記憶可能なものであればなんでも良く、内臓のメモリであってもよいし、脱着可能なメモリカード内のメモリでも良い。揮発メモリ12は、例えば、DRAM(Dynamic Random Access Memory)などであってもよい。操作部43は、操作ボタン、ジョイスティック、各種センサ(モーションセンサ等)、マウス等を含んでも良い。ディスプレイコントローラ14はディスプレイに表示用データまたは信号を出力するコントローラであり、例えば、ディスプレイコントローラICを用いることができる。ディスプレイ16は、携帯ゲーム装置における内臓ディスプレイ、又は、据置ゲーム装置における外部モニタ(TVやPCモニタ等)などである。オーディオコントローラ15はスピーカにオーディオデータまたは信号を出力するICである。スピーカ17は、例えば、携帯ゲーム装置における内臓スピーカ、又は、据置ゲーム装置における外部スピーカ(TVのスピーカ等)などである。
ゲーム装置1は、デコーダ用のDSP(Digital Signal Processor)を備えても良い。または、オーディオコントローラ15がデコーダ機能を有しても良い。
図2に、ゲーム装置1の不揮発メモリ11に記憶されるプログラム及びデータの一例を示す。不揮発メモリ11には、ゲームプログラムP1とシステムプログラムP2が記憶される。ゲームプログラムP1、及び、システムプログラムP2は、CPU100により実行される。
ゲームプログラムP1は、ゲーム処理用コードC1-1、オーディオデータ発生用コードC1-2、デコード要求登録指示用コードC1-3、デコード要求登録用コードC1-4、デコード開始指示用コードC1-5、全デコード要求引渡用コードC1-6、完了通知待機用コードC1-7、個別応答キュー生成用コードC1-8、デコード済データ取得指示用コードC1-9、デコード済データ取得用コードC1-10、再生指示用コードC1-11、オーディオデータD1などを含む。
ゲーム処理用コードC1-1は、操作部13の操作データ等に基づいてキャラクタの移動や動作制御、衝突判定、シナリオ進行等を行うコードである。オーディオデータ発生用コードC1-2は、オーディオイベント(所定操作、オブジェクトの所定動作、オブジェクトの衝突、演出タイミングなど)が発生したときに、オーディオデータD1を再生すべきデータとするコードである。オーディオデータD1は、オーディオイベントに対応して予め記憶されるオーディオデータである。オーディオデータD1は、所定のコーデックでエンコードされたデータであり、図3に示すように、オーディオイベントに対応して複数のオーディオデータが含まれている。各オーディオデータは、所定単位のフレームに区分されている。各フレームのオーディオデータがデコード対象データである。
デコード要求登録指示用コードC1-3は、或るデコード対象データをデコードすることを要求するデータ(デコード要求データ)を登録する指示を行うコードである。このコードをデコードの実行前に繰り返し実行することで、複数のデコード対象データについてのデコード要求データを登録したり、異なるデコード区分を指定してデコード要求の登録指示をすることで、異なるオーディオデータのデコード対象データについてのデコード要求データを登録することが可能である。デコード区分とは、異なるオーディオデータに対して異なる区分を指定することで、複数のオーディオデータのデコード結果及び/又はデコード処理が混じることがないようにするものである。例えば、オーディオデータ1とオーディオデータ2を並列でデコードする場合、オーディオデータ1のデコード要求にデコード区分1を割り当て、オーディオデータ2のデコード要求にデコード区分2を割り当てる。なお、デコード要求登録指示用コードC1-3は、後述の初期化フラグの設定を指示する命令を含む。
デコード要求登録用コードC1-4は、デコード要求登録指示用コードC1-3からの指示に応じて、デコード要求データをデコード区別毎に用意されるキュー(以下個別要求キューと呼ぶ)に登録し、かつ、デコード対象データを入力バッファに格納するコードである。本実施形態のデコード要求データは、デコード区分を識別するデータと、デコード対象データを格納する入力バッファを識別するデータと、デコード要求を識別するデータと、最後識別フラグと、初期化フラグとを含む。デコード要求を識別するデータは、例えば、デコード要求がある度にインクリメントするデータであり、それにより各デコード要求を識別する。最後識別フラグは、デコード開始の指示までに登録されたデコード要求のうち、最後に登録されたデコード要求を識別するデータである。初期化フラグは、後述の過去のデコード情報Dpastをデコード区分ごとに初期化するためのフラグである。なお、本開示において、キューとはFIFO(First-In First-Out)方式でデータの登録および利用が行われるものを指し、キューからデータを取り出して利用する場合、最も早く登録がされたデータから取り出しが行われ、取り出されたデータはキューから削除される。
デコード開始指示用コードC1-5は、デコード開始を指示するコードである。なお、この指示においてデコード区分の指定は行われない。
全デコード要求引渡用コードC1-6は、デコード開始指示までに登録された全デコード区分についての全てのデコード要求データを、各デコード区分の個別要求キューから取り出して、システムプログラムP2に(まとめて、又は、順次)引き渡すコードである。このとき、本実施例においては、全デコード区分についての全デコード要求データを、デコード要求を識別するデータが示す順番でソートして引き渡す。また、最後に登録されたデコード要求データ(デコードの開始指示前に登録されたデコード要求データのうち最後に登録されたデコード要求のデータ)の最後識別フラグが1に設定される(それ以外の最後識別フラグは0である)。
完了通知待機用コードC1-7は、デコード完了通知を待機するコードである。
個別応答キュー生成用コードC1-8は、デコード完了通知が来たときに、デコードにより生成された全デコード区分についての全デコード応答データが登録されたキュー(後述する全体応答キュー)に登録された各デコード応答データを取り出して、デコード区分ごとのキュー(以下、個別応答キューと呼ぶ)に移すコードである。デコード応答データは、デコード結果のメタデータであり後述する。
デコード済データ取得指示用コードC1-9は、デコード区分を指定して、1フレーム分のデコード済データの取得を指示するコードである。このコードを繰り返し実行することで、指定したデコード区分について、これまでに登録した全てのデコード要求についてのデコード済データを取得することができる。
デコード済データ取得用コードC1-10は、デコード済データ取得指示用コードC1-9に基づく指示に応じて、指定されたデコード区分の個別応答キューからデコード応答データを1つ取得して、当該デコード応答データに含まれる出力バッファを識別する情報が示す出力バッファに格納された1フレーム分のデコード済データを引き渡すコードである。
再生指示用コードC1-11は、デコード済データに基づく再生の指示を行うコードである。
システムプログラムP2は、全デコード要求取得用コードC2-1と、デコード用コードC2-2と、再生用コードC2-3などを含む。
全デコード要求取得用コードC2-1は、全デコード要求引渡用コードC1-6から引き渡された、全デコード区分についての全てのデコード要求データを取得するコードである。そして、取得した各デコード要求データを、本実施例においては順番を維持したまま、キュー(上述した個別要求キューとは異なるキューであり、全体要求キューと呼ぶ。)に登録する。すなわち、全体要求キューには、全デコード区分についての全デコード要求データが登録される。
その後、デコード用コードC2-2によるデコードが開始される。なお、全体要求キューへの登録は必須ではなく、引き渡されたデコード要求データをキューに登録せずに利用しても良い。また、全てのデコード要求データを取得する前に、例えば、1つのまたは所定単位のデコード要求データを取得する毎にデコード処理を行っても良い。引渡された順番を変更してデコード処理を行っても良い。
デコード用コードC2-2は、取得した各デコード要求データに基づいて、各デコード対象データのデコードを行うコードである。具体的には、全体要求キューから1つずつデコード要求データを取り出して、各デコード要求データが指定するデコード対象データのデコードを行い、デコード結果のメタデータであるデコード応答データをキュー(上述した個別要求キュー及び全体要求キューとは異なるキューであり、全体応答キューと呼ぶ)に登録する。本実施形態において、デコード応答データは、デコードしたデコード要求データに含まれるデコード区分の識別データと、デコードしたデコード要求データに含まれる入力バッファの識別データ(これが出力バッファの識別データとなる)と、デコードしたデコード要求データに含まれるデコード要求の識別データと、デコード済データのサイズデータを含む。引き渡された全てのデコード要求データについてのデコードが終わったらデコード完了通知を行う。
デコード処理はハードウェアデコーダにより行われても良い。
再生用コードC2-3は、再生指示用コードC1-11からの指示に応じて、デコード済データに基づいて、オーディオコントローラ15にオーディオ再生を行わせるコードである。
図4は、上述した各プログラムが実行されるときに、揮発メモリ12に記憶されるデータの一例を示す。揮発メモリ12には、上述した個別要求キュー用の領域、全体要求キュー用の領域、個別応答キュー用の領域、及び、全体応答キュー用の領域が確保される。個別要求キュー用及び個別応答キューの領域には、デコード区分ごとのキュー領域が確保される。各領域に、デコード要求データ又はデコード応答データが記憶される。揮発メモリ12には、IOバッファ領域が確保される。IOバッファ領域は、複数のIOバッファ領域を有し、各IOバッファ領域は、デコード対象データを格納する入力バッファと、デコード済データを格納する出力バッファを含む。入力バッファと出力バッファは同じ識別データで管理される。なお、各デコード要求データには上述の初期化フラグが含まれるが、紙面の都合上、図4では示さない。
揮発メモリ12には、その他にも、デコード作業領域が確保される。デコード作業領域には、デコード区分ごとに過去のデコード情報などが記憶される。過去のデコード情報は、本実施形態で用いられるオーディオデータDが、或るフレームのデコードのために過去のデコード情報(特徴量など)が必要である方式でエンコードが行われているために記憶される。具体的には、オーディオデータD1は、Opusコーデックによりエンコードされていても良い。
図4において、図5を用いた処理シーケンスの説明における参照のために、デコード要求データ(Req)、デコード区分識別データ(IDdiv)、IOバッファ識別データ(IDbf)、デコード要求識別データ(IDreq)、最後識別フラグ(F)、デコード応答データ(Res)、デコード済データのサイズ(S)、個別要求キュー(Qreq)、個別応答キュー(Qres)、全体要求キュー(WQreq)、全体応答キュー(WQres)、IOバッファ(Bf)、入力バッファ(Bi)、出力バッファ(Bo)、デコード対象データ(De)、デコード済データ(Dd)、過去のデコード情報(Dpast)の符号を付した。
図5~図7は、上述した各プログラムによる処理の一例を示すシーケンスを示す。このシーケンスは、再生すべきオーディオデータD1が発生した場合、当該オーディオデータD1に含まれる各フレームのデコード対象データをデコードするために繰り返し実行される。
図5~図7には、左側にゲームプログラムP1に含まれるゲームアプリのコードを実行することによる処理が示され、中央にゲームプログラムP1に含まれるSDK(ソフトウェアディベロップメントキット:ゲームアプリ開発者に提供されるソフトウェアキット)のコードを実行することによる処理が示され、右側にシステムプログラムP2のコードを実行することによる処理が示される。ゲームアプリの開発者は、SDK部分のコードを作成せずに、それを利用することが可能である。なお、ゲームアプリのコードによる処理とSDKのコードによる処理の区別は一例である。例えば、SDKのコードの一部又は全部をゲームアプリに実装しても構わない。この場合、ゲームアプリのコードとSDKのコードの間のやり取りが不要になるため、図5~図7において示される一部のコードは不要となる(例えば、デコード要求の登録をゲームアプリ側で行う場合、デコード要求登録用コードC1-4があればよく、デコード要求登録指示用コードC1-3は不要となる。他の指示コード等も同様である。)。また、ゲームプログラムP1のコードの一部又は全部はシステムプログラムP2に実装されても良く、システムプログラムP2の一部又は全部はゲームプログラムP1に実装されても良い。
オーディオイベントが発生した場合、再生すべきオーディオデータD1の発生処理が行われる。具体的には、再生すべきオーディオデータD1を揮発メモリ12の再生対象領域(図示せず)に記憶するようにしても良い。再生すべきオーディオデータD1が発生した場合、ゲームアプリのコードに基づいて、デコード区分の指定が行われる(S1-1)。
次に、ゲームアプリのコードに基づいて、デコード対象データDe(1フレーム分)についてのデコード要求データReqの登録指示が行われる(S1-2)。なお、図示しないが、S1-2におけるデコード要求データReqの登録指示には、上述の初期化フラグ(以下、F2の符号を付す)の設定指示が含まれる。この初期化フラグF2は、(i)新たなオーディオデータD1のデコード要求を行う、(ii)同じオーディオデータD1のループ再生する際に、再度先頭のデコード対象データDeについてのデコード要求を行う、又は、(iii)同じオーディオデータD1を再生している途中に再生位置を変更する、などの場合にオンに設定するよう指示され、それ以外の場合は、初期化フラグF2はオフに設定するよう指示される。なお、初期化フラグF2は、オーディオデータD1の最後のデコード対象データDeについてのデコード要求を行う場合にオンに設定するよう指示されてもよい。
S1-2の指示に応じて、SDKのコードに基づいて、空のバッファBfの検索が行われる(S1-3)。次に、発見されたIOバッファBfの入力バッファBiに、デコード対象データDeが格納される(S1-4)。次に、指定されたデコード区分の識別データIDdivと、格納に用いたIOバッファBfの識別データIDbfと、デコード要求の識別データIDreqと最後識別フラグFを含むデコード要求データReqを、指定されたデコード区分の個別要求キューQreqに登録する。この時点で最後識別フラグFは「0」に設定される。そして、デコード要求の識別データIDreqを更新する(S1-5)。なお、図示しないが、S1-5においては、S1-2における指示に応じて初期化フラグF2を設定して、デコード要求データReqに含める処理が行われる。
次に、ゲームアプリのコードに基づいて、デコード開始指示が行われる(S1-6)。なお、デコード開始指示の前に、S1-1及びS1-2の処理が複数回行われて、それに応じて、S1-3からS1-5の処理が複数回行われても良い。デコード開始指示の前に、いくつのフレームのデコード対象データについてのデコード要求登録を行うか、及び/又は、どのデコード区分のデコード対象データについてのデコード要求登録を行うか、は任意であり、ゲームアプリごとに決定すればよい。1つのオーディオデータD1のために、同じデコード区分のデコード要求登録が複数回行われてもよいし、複数のオーディオデータD1を並行してデコードするために、異なるデコード区分のデコード要求登録が行われても良く、その両方が行われてもよい。デコード区分の指定(S1-1)は都度行わなくても良く、その場合、指定済のデコード区分でデコード要求が行われるようにしてもよい。
デコード開始指示の前に、1つのオーディオデータD1について複数のデコード要求登録が行われた場合、すなわち、S1-1のデコード区分の指定において同じデコード区分が繰り返して指定された場合には、複数フレームのデコード対象データDeについてのデコード要求データReqが指定されたデコード区分の個別要求キューQreqに登録される。また、複数のオーディオデータD1についてデコード要求登録が行われた場合、すなわち、S1-1のデコード区分の指定において異なるデコード区分が指定された場合には、複数のデコード区分の個別要求キューQreqにデコード要求データが登録される。なお、デコード開始指示にはデコード区分の指定は伴わない。すなわち、デコード開始指示は、デコード開始指示前に登録された全デコード区分の全デコード要求についてのデコードの開始を指示するものである。
デコード開始指示の後、ゲームアプリのコードに基づいて、任意のタイミングでデコード完了通知待機の処理が行われる(S1-7)。なお、この待機処理の前に、任意のゲーム処理等が行われても良い。本実施形態においては、デコード開始指示とデコード完了待機処理は命令である。それゆえ、デコード開始指示をした後に、直ぐにデコード完了を待つことは必須では無く、他の処理を行うことができる。
デコード開始指示があった場合、SDKのコードに基づいて、全てのデコード区分の個別要求キューQreqにある全てのデコード要求データReqを取り出して、システムプログラムP2に渡す処理が行われる(S1-8)。このとき、全デコード区分の全デコード要求データReqを、デコード要求識別データIDreqでソートして、デコード要求の登録順がわかるようにシステムプログラムP2に引き渡す。このとき、デコード要求識別データIDreqがデコード開始指示の前に最後に登録されたデータであることを示す場合、当該デコード要求データの最後識別フラグFを「1」に設定する。なお、取り出されたデコード要求データReqをひとまとめにして(例えば、デコード要求の登録順のリスト形式にして)システムプログラムP2に渡しても良いし、1つずつ、または、一部ずつ渡しても良い。引渡し前にデコード要求識別データIDreqでソートすることは必須でない。例えば、デコード区分ごとにソートして、システムプログラムP2に渡しても良いし、なんらソートを行わずにシステムプログラムP2に渡しても良い。
このようなデコード要求データReqの引渡が行われると、システムプログラムP2のコードに基づいて、引渡されたデコード要求データReqを、本実施形態においては順番を維持して、全体要求キューWQreqに登録する処理が行われる(S2-1)。すなわち、全体要求キューWQreqには、全てのデコード区分の個別要求キューQreqにある全てのデコード要求データReqがデコード要求の順で登録される。なお、各デコード要求を要求があった順でデコード処理することは必須ではなく、例えば、デコード区分ごとに分割又はソートして、デコード区分ごとに順次デコードを行っても良い。この場合も、或るデコード区分に限ってみれば、デコード要求データReqはデコード要求の順で全体要求キューWQreqに登録される。或るフレームのデコードのために過去のデコード情報(特徴量など)が必要である方式でエンコードが行われている場合には、各デコード区分内でのデコード要求の順番は維持する必要がある。
その後、システムプログラムP2のコードに基づいて、デコード処理が行われる。デコード処理においては、まず、全体要求キューWQreqからデコード要求データReqを1つ取り出す処理が行われる(S2-2)。図6では省略されるが、S2-2の後、S2-3の前に、次の処理が行われる。
・取り出したデコード要求データReqに含まれる初期化フラグF2がオンのときに、取り出したデコード要求データReqに含まれるデコード区分識別データIDdivが示すデコード区分の過去のデコード情報Dpastを初期化する処理
なお、オーディオデータD1の最後のデコード対象データDeについてのデコード要求を行う場合に初期化フラグF2をオンに設定するよう指示する場合には、デコード処理を行ったのちに、取り出したデコード要求データReqに含まれるデコード区分識別データIDdivが示すデコード区分の過去のデコード情報Dpastを初期化する処理が行われる。ただし、この場合には、再生する位置が急に変更されることに対応することは困難である。
次に、取り出したデコード要求データReqに含まれるIOバッファ識別データIDbfが示す入力バッファBiに格納されたデコード対象データDeのデコード処理が行われる。この処理において、取り出したデコード要求データReqに含まれるデコード区分識別データIDdivが示すデコード区分の過去のデコード情報Dpastが用いられる。また、当該デコード区分の過去のデコード情報Dpastを更新する処理が行われる(S2-3)。
次に、デコードにより得たデコード済データDdを、取り出したデコード要求データReqに含まれるIOバッファ識別データIDbfが示す出力バッファBoに格納する(S2-4)。
次に、以下を含むデコード応答データResを、全体応答キューWQresに登録する処理が行われる(S2-5)。
・取り出したデコード要求データReqに含まれるデコード区分の識別データIDdiv
・取り出したデコード要求データReqに含まれるIOバッファの識別データIDbf
・取り出したデコード要求データReqに含まれるデコード要求識別データIDreq
・デコード済データのデータサイズS
S2-2からS2-5の処理は、引渡された全てのデコード要求データについて処理が完了するまで実行される(S2-6)。これにより、デコード区分に関わらず全デコード対象データのデコードが実行される。全体応答キューWQresにはデコード区分に関わらない全デコード応答データResが登録される。本実施形態においては、デコード応答データResはデコードを行った順番で(デコード結果を得た順番で)全体応答キューWQresに登録される。デコード要求の順番でデコードを行う場合、デコード応答データResはデコード要求の順番で全体応答キューWQresに登録される。なお、後述のような複数のデコードを並列で行う場合には、デコード開始の順番とデコード結果を得る順番が一致しない可能性があるが、同じデコード区分のデコード要求を同じデコード処理系統に割り当てるようにすれば、デコード結果を得る順番は維持され、或るデコード区分に限ってみれば、デコード応答データResはデコード要求の順で全体応答キューWQresに登録される。デコード前にデコード要求をデコード区分ごとにソートする等の処理を行う場合にも、同様に、或るデコード区分内に限ってみれば、デコード応答データResはデコード要求の順で登録される。なお、デコード応答データResは全体応答キューWQresにデコード要求の順番で登録されている必要は無い。ただし、本実施形態においては、後述の通り、個別応答キューQresからFIFO方式でデコード応答データResの取り出しが行われるため、デコード応答データResは、各デコード区分についてデコード要求の順番で登録されているのが好ましい。
引渡された全てのデコード要求データについて処理が完了した場合、デコード完了通知が発行される(S2-7)。引渡された全てのデコード要求データに付いて処理が完了したことを判定する方法として、全体要求キューWQreqにデータが無くなったことを判定してもよいが、本実施形態においては、取り出して処理したデコード要求データReqに含まれる最後識別フラグFが1か否かを参照し、「1」の場合に、引渡された全てのデコード要求データについて処理が完了したと判断される。本実施形態においては、デコードの開始指示の後、新たなデコード要求の指示及び登録が可能である。それゆえ、全体要求キューWQreqにデコード開始指示の後に登録されたデコード要求データが含まれる可能性があるからである。その場合、最後識別フラグFを参照することにより、デコードの開始指示時点で登録されていたデータについて処理が完了したことが判断できる。
なお、オプションとして、複数のデコードコアを持つなどして複数のデコードを並列して行う構成を取っても良いが、この場合、取り出して処理したデコード要求データReqに含まれる最後識別フラグFが「1」のときに、取り出して処理したデコード要求データReqに含まれるデコード要求識別データIDreqに基づいて、取り出して処理したデコード要求データReqより前に登録された全デコード要求データReqがデコード処理済であることを確認して(例えば、全体応答キューWQresにデコード結果のメタデータが登録されていることを判定して)、それにより、デコード開始指示前に登録された全てのデコード要求データについて処理が完了したと判定しても良い。これにより、並列するデコード処理の中でデコード結果を得る順番が変わることに対応できる。なお、複数のデコードを並列して行う構成を取る場合、デコード処理において、同じデコード区分が指定されるデコード要求データは同じデコード処理系統に割り当てられるようにしてもよい。
デコード完了通知は、例えば、カーネルにその旨を通知する方式であっても良いし、ゲームアプリと共用するメモリに完了フラグを立てるような方式などでもよい。また、デコード完了待機処理における待機の解除は、それに対応して、カーネルからの指示により解除される方式であってもよいし、当該完了フラグを参照して解除する方式などであってもよい。これにより、デコード完了待機処理(S1-7)の開始のタイミングが、デコード完了通知処理(S2-7)の前であるか後であるかに関わらず、デコード完了待機処理を解除することができる。
デコード完了通知が発行されると、上述のデコード完了通知待機処理(S1-7)において、待機処理が解除される。
次に、ゲームアプリのコードに基づいて、全体応答キューWQresの全デコード応答データResを取り出して、本実施例においては順番を維持したまま、デコード区分ごとの個別応答キューQresに移す処理が行われる(S1-8)。すなわち、全体応答キューWQresに登録されたデコード応答データを、デコード区分ごとの個別応答キューQresに分ける処理が行われる。
次に、ゲームアプリのコードに基づいて、デコード区分を指定する処理が行われる(S1-9)。これは、取得したいデコード済データのデコード区分を指定するものである。
次に、ゲームアプリのコードに基づいて、デコード済データDdの取得要求が行われる(S1-10)。
当該取得要求に応じて、SDKのコードに基づいて、指定されたデコーダ区分の個別応答キューQresからデコード応答データResを1つ取り出す処理が行われる(S1-11)。そして、取り出したデコード応答データResに含まれるIOバッファの識別データIDbfが示す出力バッファBoに格納されたデコード済データDdをデータサイズSに従って取得してゲームアプリ側に渡し、当該IOバッファを空にする処理が行われる(S1-12)。
そして、ゲームアプリのコード(デコード済データ取得指示用コードC1-9)は、SDKから渡されるデコード済データDdを取得する。
ゲームアプリのコードで、S1-9とS1-10のコードを繰り返すことにより、デコード要求を登録したデコード対象データDeの全てのデコード済データDdをデコード区分にわけて取得することが可能となる。なお、デコード要求時と同様、デコード済データの取得時に、デコード区分の指定は都度行わなくても良く、その場合、指定済のデコード区分でのデコード済データの取得が行われるようにしてもよい。
図5~図7に示すシーケンスを繰り返すことにより、ゲームアプリは、オーディオデータD1に含まれる全てのフレームについてのデコード済データを得ることができる。
以上が本実施形態の説明である。
全体応答キューWQresから、直接、各デコード応答データResを取り出しても良い。全体応答キューWQres、又は、個別応答キューQresの全ての、又は、複数のデコード応答データResを一度に取出して、全ての、若しくは、複数のデコード済データDd、又は、或るデコード区分の全ての、若しくは、複数のデコード済データDdを一度に取得するようにしても良い。
入力バッファと出力バッファを別々に設け、別々の識別データで管理しても良い。この場合、例えば、デコード済データDdを空の出力バッファに格納し、デコード応答データResのバッファの識別データIDbfを、デコード済データDdを格納する出力バッファの識別データに設定すればよい。
デコード完了待機処理における待機の解除があったときに、自動的にデコード済データDdの取得の処理が行われても良い。デコード完了待機の処理はデコード開始指示の処理の後に自動的に行われるようにしても良い。
上記の実施形態の説明における「ゲーム装置」、「プロセッサ」、「不揮発メモリ」、「揮発メモリ」、「オーディオコントローラ」、各プログラム、各コード、各データ(「デコード要求データ」「デコード応答データ」、各識別データ等)等の各要素の説明は、特にその旨の記載が無い場合であっても、一実施形態としての各要素の説明である。
上記の実施形態においては、デコード要求データやデコード応答データの格納にキューを利用したが、キューを利用せずに各データを格納し、適宜必要なデータを必要な場所から取り出して利用することが可能である。シーケンスにおけるあらゆる場面においてデコード要求の順番を維持し続ける必要は無い。デコード要求の順番を維持したいときに、デコード要求識別データIDreqを利用してもよい。
ゲーム装置1は、据置型ゲーム装置であってもよいし、携帯型ゲーム装置であってもよいし、据置型と携帯型のハイブリッド型(統合型)のゲーム機であってもよい。ゲーム装置の代わりに、スマートフォン、タブレット端末、パーソナルコンピュータ、ネットワークシステムにおけるサーバ装置等の情報処理装置等であってもよい。情報処理装置の代わりに、ローカルまたは遠距離のネットワークで複数の装置が接続された情報処理システムにおいて上述した各処理を分散処理しても良い。
上述したプロセッサは、汎用プロセッサでもよいし、専用プロセッサでもよい。上述したICはハードウェアロジック回路でもよい。
上述したプログラムは、不揮発メモリに予め記憶されても良いし、サーバからダウンロードされても良い。上述したプログラムはプログラムモジュール群であってもよい。各プログラムは異なるメモリに記憶されても良い。各プログラムはプロセッサが実行可能な形式のプログラムコードを含み、各プログラムコードには上述した処理のための命令が含まれる。
システムプログラムとは、OS(Operating System)、ファームウェア、システムが提供するアプリケーションプログラム、アプレットプログラムなどを含む。システムプログラムは、エミューレータプログラムであってもよい。
上述した各プログラム、及び/又は各コードは、複数のプロセッサにより分担して処理されても良い。上述した各コードの実行順番は適宜変更されてもよい。上述した各コード内の各処理の実行順番は適宜変更されてもよい。上述した各コードは、上述したプログラム以外に含まれても良い。例えば、ゲームプログラムに含まれると説明したコードはシステムプログラムに含めてもよい。システムプログラムに含まれると説明したコードはゲームプログラムに含めても良い。システムプログラムに含まれると説明したコードは、OSに含まれても良いし、ファームウェア等に含まれても良い。
上述した実施形態においては、ゲームプログラムの例を用いて説明したが、ゲームプログラムに限らず、任意のアプリケーションプログラムに適用することができる。また、上述した実施形態においては、オーディオデータの例を用いて説明したが、オーディオデータに限らず、エンコードされた任意のソースデータ、例えば、エンコードされた画像データのデコードに適用することができる。
上述したデコード区分に関する処理は必須ではなく、上述した実施形態からデコード区分に関する処理及びデータを取り除いても良い。
1 ゲーム装置
10 プロセッサ
11 不揮発メモリ
12 揮発メモリ
P1 ゲームプログラム
P2 システムプログラム
D オーディオデータ
Req デコード要求データ
Res デコード応答データ
Qreq 個別要求キュー
WQreq 全体要求キュー
Qres 個別応答キュー
WQres 全体応答キュー
Bf IOバッファ

Claims (25)

  1. デコード区分を指定して、デコード対象データをデコードする指示を行う手段と、
    前記指示に応じて、前記デコード対象データを所定のバッファのうちの入力バッファに格納するとともに、前記指定されたデコード区分の識別データ及び前記デコード対象データを格納する前記バッファの識別データを少なくとも含むデコード要求を生成して、一群のデコード要求として格納する手段と、
    デコードの開始指示を行う手段と、
    前記開始指示の時点における前記一群のデコード要求を、前記デコード区分の識別データに係わらず取得する手段と、
    前記取得した各前記デコード要求について、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの入力バッファからデコード対象データを取得して、前記取得した各デコード対象データのデコードをそれぞれ行う手段と、
    それぞれの前記デコードについて、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの出力バッファに、前記デコードによって得られたデコード済データを格納する手段と、
    それぞれの前記デコードについて、前記デコード要求に含まれる前記デコード区分の識別データと、前記デコード要求に含まれる前記バッファの識別データとを少なくとも含むデコード応答を生成し、一群の前記デコード応答として格納する手段と、
    前記取得した全ての前記デコード要求についてのデコードが完了したことを判断する手段と、
    前記完了が判断されたときに、デコードの完了通知の発行を行う手段と、
    前記開始指示の後、デコードの完了待機を行う手段と、
    前記完了通知の発行があった場合に、前記完了待機を解除する手段と、
    前記完了待機が解除された後に、デコード区分を指定して、デコード済データの取得を指示する手段と、
    前記デコード済データの取得の指示に応じて、前記一群のデコード応答のうち、前記指定されたデコード区分の識別データを含む前記デコード応答に基づいて、前記デコード応答に含まれる前記バッファの識別データが示すバッファのうちの出力バッファから前記デコード済データを取得する手段とを備える、情報処理装置。
  2. 前記デコード要求のうち、前記開始指示の前の最後に格納された前記デコード要求に、前記最後に格納されたことを識別するデータを含める手段を、さらに備え、
    前記デコードの完了の判断は、少なくとも、前記最後に格納されたことを識別するデータを参照して、前記最後に格納された前記デコード要求についてのデコードが終了したときにデコードが完了したと判断するように構成される、請求項1に記載の情報処理装置。
  3. 前記完了待機は、前記開始指示とは別のコードにより実行されるように構成され、
    前記完了通知の発行及び前記完了待機の解除は、前記完了待機のコードによる処理の開始タイミングが前記発行の前か後かに関わらず、前記発行により前記解除が行われる方式で行われるように構成される、請求項1又は2に記載の情報処理装置。
  4. 前記デコード対象データは、一連の所定単位のデータにより構成されるエンコードデータにおける前記所定単位のデータであり、
    前記デコード要求は、前記所定単位のデータのデコード要求であり、
    前記デコード区分ごとに過去のデコード情報を記憶する手段を、さらに備え、
    前記デコードは、前記取得した各前記デコード要求についてのデコードを、前記デコード要求に含まれる前記デコード区分の識別データが示す前記デコード区分についての前記過去のデコード情報を用いて行うように構成される、請求項1に記載の情報処理装置。
  5. 前記デコード対象データをデコードする指示は、前記過去のデコード情報の初期化の指示を伴うように構成され、
    前記デコード要求の生成は、前記初期化の指示に基づいて、前記デコード要求に前記初期化の指示データを含めるように構成され、
    前記取得したデコード要求に含まれる前記指示データに基づいて、前記取得したデコード要求についてのデコード対象データのデコードを行う前又は後に、前記取得した前記デコード要求に含まれる前記デコード区分の識別データが示す前記デコード区分についての前記過去のデコード情報を初期化する手段を、さらに備える、請求項4に記載の情報処理装置。
  6. 前記過去のデコード情報の初期化は、前記取得したデコード要求についてのデコード対象データのデコードを行う前に行われるように構成される、請求項5に記載の情報処理装置。
  7. 前記取得した前記デコード要求を、前記取得した前記デコード要求に含まれる前記デコード区分の識別データに基づいて、前記デコード区分ごとにソートする手段を、さらに備え、
    前記デコードは、前記ソート後の各前記デコード要求に基づいて行われるように構成される、請求項1に記載の情報処理装置。
  8. 前記デコード要求の発行ごとに、空の前記バッファを検索する手段を、さらに備え、
    前記デコード対象データの格納に用いられる前記バッファは、前記検索によって発見されたバッファである、請求項1に記載の情報処理装置。
  9. 前記デコード応答の生成は、さらに前記デコード済データのサイズを示すサイズデータを前記デコード応答に含むように構成され、
    前記デコード済データの取得は、前記デコード応答に含まれる前記サイズデータに基づいて、デコード済データを取得するように構成される、請求項1に記載の情報処理装置。
  10. 前記デコード対象データは、一連の所定単位のデータにより構成されるエンコードデータにおける前記所定単位のデータであり、
    前記デコード対象データをデコードする指示は、前記所定単位のデータごとに行われ、
    前記デコード済データの取得は、前記所定単位の前記デコード対象データを取得するように構成される、請求項1に記載の情報処理装置。
  11. コンピュータを、
    デコード区分の識別データ及びデコード対象データが格納されたバッファの識別データを少なくとも含むデコード要求について、デコード開始指示の時点における一群の前記デコード要求を前記デコード区分の識別データに係わらず取得する手段と、
    前記取得した各前記デコード要求について、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの入力バッファからデコード対象データを取得して、前記取得した各デコード対象データのデコードをそれぞれ行う手段と、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの出力バッファに前記デコードによって得られたデコード済データを格納する手段と、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記デコード区分の識別データと、前記デコード要求に含まれる前記バッファの識別データとを少なくとも含むデコード応答を生成する手段と、
    前記取得した全ての前記デコード要求についてのデコード完了を判断する手段と、
    前記デコード完了が判断されたときに、デコードの完了通知の発行を行う手段として機能させるための、プログラム。
  12. 前記デコード完了の判断は、少なくとも、前記デコード要求に含まれる前記デコード開始指示の前の最後に格納されたことを識別するデータを参照して、前記最後に格納された前記デコード要求についてのデコードが終了したときにデコード完了したと判断するように構成される、請求項11に記載のプログラム。
  13. 前記コンピュータを、さらに、前記デコード区分ごとに過去のデコード情報を記憶する手段として機能させ、
    前記デコードは、前記取得した各前記デコード要求についてのデコードを、各前記デコード要求に含まれる前記デコード区分の識別データが示す前記デコード区分についての前記過去のデコード情報を用いて行うように構成される、請求項11又は12に記載のプログラム。
  14. 前記コンピュータを、さらに、
    前記取得したデコード要求に含まれる、前記過去のデコード情報を初期化する指示データに基づいて、前記取得したデコード要求についてのデコード対象データのデコードを行う前又は後に、前記取得した前記デコード要求に含まれる前記デコード区分の識別データが示す前記デコード区分についての前記過去のデコード情報を初期化する手段として機能させる、請求項13に記載のプログラム。
  15. 前記過去のデコード情報の初期化は、前記取得したデコード要求についてのデコード対象データのデコードを行う前に前記初期化を行うように構成される、請求項14に記載のプログラム。
  16. 前記コンピュータを、さらに、
    前記取得した前記デコード要求を、前記取得した前記デコード要求に含まれる前記デコード区分の識別データに基づいて、前記デコード区分ごとにソートする手段として機能させ、
    前記デコードは、前記ソート後の各前記デコード要求に基づいて行われるように構成される、請求項11又は12に記載のプログラム。
  17. 前記デコード応答の生成は、さらに前記デコード済データのサイズを示すサイズデータを前記デコード応答に含むように構成される、請求項11又は12に記載のプログラム。
  18. デコード対象データのデコード要求をデコード区分が区別可能に生成して、一群のデコード要求として格納する手段と、
    デコードの開始指示を行う手段と、
    前記開始指示の時点における前記一群のデコード要求に基づいて、前記デコード区分に関わらず、各デコード対象データをそれぞれデコードする手段と、
    前記デコードにより得られた各デコード済データを前記デコード区分が区別可能に格納する手段と、
    前記デコード区分を指定して、前記デコード済データを取得する手段とを備える、情報処理装置。
  19. コンピュータを、
    デコード開始の時点における、デコード区分が区別可能な一群のデコード要求をデコード区分に関わらず取得する手段と、
    前記取得した各デコード要求に基づいてデコード対象データをデコードする手段と、
    前記デコードにより得られたデコード済データを前記デコード区分が区別可能に格納する手段として機能させる、プログラム。
  20. 一群のデコード要求を、デコード区分の識別データを含めて格納する手段と、
    前記一群のデコード要求を前記デコード区分の識別データに係わらず取得する手段と、
    前記取得した各前記デコード要求についてのデコード対象データをそれぞれデコードする手段と、
    それぞれの前記デコードにより得られた各デコード済データを、前記デコードに係る前記デコード要求に含まれる前記デコード区分の識別データを関連付けて格納する手段と、
    前記格納されたデコード済データのうち、指定されたデコード区分の識別データが関連付けられたデコード済データを取得する手段とを備える、情報処理装置。
  21. コンピュータを、
    デコード区分の識別データを含む、一群のデコード要求を前記デコード区分の識別データに係わらず取得する手段と、
    前記取得した各前記デコード要求についてのデコード対象データをデコードする手段と、
    前記デコードにより得られた各デコード済データを、デコードした前記デコード要求に含まれる前記デコード区分の識別データを関連付けて格納する手段として機能させる、プログラム。
  22. コンピュータに実装された方法であって、
    デコード区分を指定して、デコード対象データのデコードの要求を指示し、
    前記指示に応じて、前記デコード対象データを所定のバッファのうちの入力バッファに格納するとともに、前記指定されたデコード区分の識別データ及び前記デコード対象データが格納された前記バッファの識別データを少なくとも含むデコード要求を一群のデコード要求として格納し、
    デコードの開始指示を行い、
    前記開始指示の時点における前記一群のデコード要求を前記デコード区分の識別データに係わらず取得し、
    前記取得した各前記デコード要求について、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの入力バッファからデコード対象データを取得して、前記取得した各デコード対象データのデコードをそれぞれ行い、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの出力バッファに前記デコードによって得られたデコード済データを格納し、
    前記デコードのそれぞれについて、前記デコードした前記デコード要求に含まれる前記デコード区分の識別データと、前記デコードした前記デコード要求に含まれる前記バッファの識別データとを少なくとも含むデコード応答を一群のデコード応答として格納し、
    前記取得した全ての前記デコード要求についてのデコードが完了したことを判断し、
    前記完了が判断されたときに、デコードの完了通知の発行を行い、
    前記開始指示の後、デコードの完了待機を行い、
    前記完了通知の発行があった場合に、前記完了待機を解除し、
    前記完了待機が解除された後に、デコード区分を指定して、デコード済データの取得を指示し、
    前記デコード済データの取得の指示に応じて、前記一群のデコード応答のうち、前記指定されたデコード区分の識別データを含む前記デコード応答に基づいて、前記デコード応答に含まれる前記バッファの識別データが示すバッファのうちの出力バッファから前記デコード済データを取得する、方法。
  23. デコード対象データを所定のバッファのうちの入力バッファに格納するとともに、デコード区分の識別データ及び前記デコード対象データを格納する前記バッファの識別データを少なくとも含むデコード要求を生成して、一群のデコード要求として格納する手段と、
    デコードの開始指示を行う手段と、
    前記開始指示の時点における前記一群のデコード要求を、前記デコード区分の識別データに係わらず取得する手段と、
    前記取得した各前記デコード要求について、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの入力バッファからデコード対象データを取得して、前記取得した各デコード対象データのデコードをそれぞれ行う手段と、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの出力バッファに、前記デコードによって得られたデコード済データを格納する手段と、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記デコード区分の識別データと、前記デコード要求に含まれる前記バッファの識別データとを少なくとも含むデコード応答を生成し、一群の前記デコード応答として格納する手段と、
    前記取得した全ての前記デコード要求についてのデコードが完了したことを判断する手段と、
    前記完了が判断されたときに、デコードの完了通知の発行を行う手段と、
    前記完了通知が発行された後に、前記一群のデコード応答に基づいて、前記デコード応答に含まれる前記バッファの識別データが示すバッファのうちの出力バッファから前記デコード済データを取得する手段とを備える、情報処理装置。
  24. コンピュータを、
    デコード区分の識別データ及びデコード対象データを格納するバッファの識別データを少なくとも含むデコード要求について、デコードの開始指示の時点における一群の前記デコード要求を、前記デコード区分の識別データに係わらず取得する手段と、
    前記取得した各前記デコード要求について、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの入力バッファからデコード対象データを取得して、前記取得した各デコード対象データのデコードをそれぞれ行う手段と、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの出力バッファに、前記デコードによって得られたデコード済データを格納する手段と、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記デコード区分の識別データと、前記デコード要求に含まれる前記バッファの識別データとを少なくとも含むデコード応答を生成し、一群の前記デコード応答として格納する手段と、
    前記取得した全ての前記デコード要求についてのデコードが完了したことを判断する手段と、
    前記完了が判断されたときに、デコードの完了通知の発行を行う手段として機能させるための、プログラム。
  25. コンピュータに実装される方法であって、
    デコード区分の識別データ及びデコード対象データが格納されたバッファの識別データを少なくとも含むデコード要求について、デコード開始指示の時点における一群の前記デコード要求を前記デコード区分の識別データに係わらず取得し、
    前記取得した各前記デコード要求について、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの入力バッファからデコード対象データを取得して、前記取得した各デコード対象データのデコードをそれぞれ行い、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記バッファの識別データが示すバッファのうちの出力バッファに前記デコードによって得られたデコード済データを格納し、
    前記デコードのそれぞれについて、前記デコード要求に含まれる前記デコード区分の識別データと、前記デコード要求に含まれる前記バッファの識別データとを少なくとも含むデコード応答を生成し、
    前記取得した全ての前記デコード要求についてのデコード完了を判断し、
    前記デコード完了が判断されたときに、デコードの完了通知の発行を行う、方法。
JP2025092706A 2025-05-30 2025-06-03 情報処理装置、プログラム、及びコンピュータに実装された方法 Active JP7843397B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2025091348 2025-05-30
JP2025091348 2025-05-30

Publications (2)

Publication Number Publication Date
JP2026054549A JP2026054549A (ja) 2026-03-27
JP7843397B2 true JP7843397B2 (ja) 2026-04-09

Family

ID=99172035

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2025092706A Active JP7843397B2 (ja) 2025-05-30 2025-06-03 情報処理装置、プログラム、及びコンピュータに実装された方法
JP2025092707A Pending JP2026054550A (ja) 2025-05-30 2025-06-03 情報処理装置、プログラム、及びコンピュータに実装された方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2025092707A Pending JP2026054550A (ja) 2025-05-30 2025-06-03 情報処理装置、プログラム、及びコンピュータに実装された方法

Country Status (1)

Country Link
JP (2) JP7843397B2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002171490A (ja) 1999-05-07 2002-06-14 Toshiba Corp ストリームデータのデータ構造、その記録方法およびその再生方法
JP2004173091A (ja) 2002-11-21 2004-06-17 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、記録媒体、プログラム、並びにデータ構造
JP2005501485A (ja) 2001-08-22 2005-01-13 ティヴォ インク マルチメディア信号処理システム
JP2006127080A (ja) 2004-10-28 2006-05-18 Seiko Epson Corp パイプラインプロセッサ
JP2006157868A (ja) 2004-10-26 2006-06-15 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2006164327A (ja) 2004-12-02 2006-06-22 Sony Corp 再生装置、再生方法および再生プログラム、ならびに、記録媒体
JP2008278511A (ja) 2003-07-31 2008-11-13 Samsung Electronics Co Ltd グラフィックデータ処理装置
JP2010177795A (ja) 2009-01-27 2010-08-12 Toshiba Corp 再生装置および再生装置の制御方法
JP2011232766A (ja) 1999-11-02 2011-11-17 Dts Inc マルチチャネル・オーディオ環境において対話型オーディオを提供するシステムおよび方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084973A (ja) * 2001-09-14 2003-03-20 Seiko Epson Corp 並列演算処理装置及び並列演算処理用の命令コードのデータ構造、並びに並列演算処理用の命令コードの生成方法
US7496283B2 (en) * 2002-06-28 2009-02-24 Microsoft Corporation Methods and systems for processing digital data rate and directional playback changes
JP4577288B2 (ja) * 2006-09-27 2010-11-10 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP2022061450A (ja) * 2020-10-06 2022-04-18 キオクシア株式会社 読出しコントローラおよび入出力コントローラ
US12443477B2 (en) * 2021-07-27 2025-10-14 Intel Corporation Method and apparatus for high-performance page-fault handling for multi-tenant scalable accelerators

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002171490A (ja) 1999-05-07 2002-06-14 Toshiba Corp ストリームデータのデータ構造、その記録方法およびその再生方法
JP2011232766A (ja) 1999-11-02 2011-11-17 Dts Inc マルチチャネル・オーディオ環境において対話型オーディオを提供するシステムおよび方法
JP2005501485A (ja) 2001-08-22 2005-01-13 ティヴォ インク マルチメディア信号処理システム
JP2004173091A (ja) 2002-11-21 2004-06-17 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、記録媒体、プログラム、並びにデータ構造
JP2008278511A (ja) 2003-07-31 2008-11-13 Samsung Electronics Co Ltd グラフィックデータ処理装置
JP2006157868A (ja) 2004-10-26 2006-06-15 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2006127080A (ja) 2004-10-28 2006-05-18 Seiko Epson Corp パイプラインプロセッサ
JP2006164327A (ja) 2004-12-02 2006-06-22 Sony Corp 再生装置、再生方法および再生プログラム、ならびに、記録媒体
JP2010177795A (ja) 2009-01-27 2010-08-12 Toshiba Corp 再生装置および再生装置の制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
秋澤 泰孝,なんとCDの1000倍なめらか!24ビット/192kHzをラズベリー・パイから 本格デビュー!ハイレゾ Linuxオーディオ,Interface,日本,CQ出版株式会社 CQ Publishing Co.,Ltd.,2014年07月29日,第40巻 第9号 ,pp. 98-108

Also Published As

Publication number Publication date
JP2026054550A (ja) 2026-03-27
JP2026054549A (ja) 2026-03-27

Similar Documents

Publication Publication Date Title
US8350864B2 (en) Serializing command streams for graphics processors
US8310491B2 (en) Asynchronous notifications for concurrent graphics operations
US8525841B2 (en) Batching graphics operations with time stamp tracking
JP6320520B2 (ja) 多数の優先順キューに対するスレッドの割り当ておよびスケジューリング
US7898554B2 (en) Asymmetric two-pass graphics scaling
TWI501150B (zh) 無指令解碼而排程指令的方法和裝置
US8531470B2 (en) Deferred deletion and cleanup for graphics resources
US12354183B2 (en) Cross GPU scheduling of dependent processes
KR20130063003A (ko) 컨텍스트 스위칭
CN110489213A (zh) 一种任务处理方法及处理装置、计算机系统
CN103534680A (zh) 多媒体处理器中的无序命令执行
CN102549547A (zh) 纹理的自动运行时标识
US11481250B2 (en) Cooperative workgroup scheduling and context prefetching based on predicted modification of signal values
JP7843397B2 (ja) 情報処理装置、プログラム、及びコンピュータに実装された方法
CN112969092B (zh) 视频文件播放系统
JP2006323760A (ja) 情報処理装置、システム、方法およびプロセッサ
US8719542B2 (en) Data transfer apparatus, data transfer method and processor
JP2008073259A (ja) ゲーム装置
US20190056953A1 (en) Token-based data dependency protection for memory access
CN110580238A (zh) 数据处理系统中的硬件单元的同步
CN108536644B (zh) 由装置端推核心入队列的装置
US7797700B2 (en) Method of executing concurrent tasks by a subsystem managed by a central processor
KR102407781B1 (ko) 플립 큐 관리에 기초한 그래픽스 컨텍스트 스케줄링
CN121349542A (zh) 多阶段线程调度
JP5429395B2 (ja) 情報処理装置、情報処理プログラム、および情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20260123

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20260123

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260330

R150 Certificate of patent or registration of utility model

Ref document number: 7843397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150