説明

不揮発性メモリからのメディアデータの効果的な低電力検索技術

不揮発性メモリに直接的または間接的に結合された第1のプロセッサを含み、第1のプロセッサがポイント構造を生成することを許可するメディア機器の電力消費は減少され得る。第1のプロセッサは、第1のプロセッサがメモリ領域内にポインタ構造を書き込むことを許可するためにメモリ領域に直接的または間接的に結合され得る。メディア機器はDSP/SHWまたは周辺プロセッサのような第2のプロセッサを含み、第2のプロセッサは、第2のプロセッサが不揮発性メモリからメディアデータのブロックを検索することを許可するために、直接的または間接的にメモリ領域に結合され得る。メディアデータのブロックの検索は、不揮発性メモリから直接的に読み出され得る。またはいくつかの場合において、検索されたメディアデータは、構文解析され得る。メディアデータは、オーディオファイルデータ、ビデオファイルデータまたは両方であり得る。

【発明の詳細な説明】
【米国特許法第119条に基づく優先権の主張】
【0001】
この特許出願は、2008年3月18日に出願され、本願の譲受人に譲渡され、“EFFICIENT RETRIEVAL TECHNIQUES OF DATA FROM MEMORY”と表題された仮出願番号61/037,450、代理人整理番号08111P1に対して優先権を主張する。
【技術分野】
【0002】
本発明は、概して、コンピュータ及びコンピュータ関連技術に関し、より具体的には、不揮発性メモリからの圧縮ファイルの検索のための効果的な技術に関する。この技術は、モバイル計算機器(mobile computing devices)を含む計算機器において利用され得る。
【背景技術】
【0003】
計算機器は、オペレーティングシステム(operating system)を有している。オペレーティングシステムは、計算機器ハードウェア上でソフトウェアアプリケーションの実行を可能にするソフトウェアプログラムである。オペレーティングシステムは、計算機器内に配置されたプロセッサ上にロードされる。多くのアプリケーションは、モバイル機器上に搭載されるようになった。これらのアプリケーションのいくつかは、オーディオ処理及び/またはビデオ処理を含む。
【0004】
オーディオ処理という用語は、オーディオ信号の処理を表し得る。同様に、ビデオ処理という用語は、ビデオ信号の処理を表し得る。オーディオ信号は、オーディオ、すなわち、人間の聴力の範囲内の音を表す電気的な信号である。同様に、ビデオ信号は、ビデオを表す電気的な信号である。オーディオ信号またはビデオ信号はデジタルまたはアナログのどちらかであり得る。様々な種類の計算機器は、オーディオおよびビデオ処理技術に利用し得る。そのような計算機器の例は、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、ワイヤレス通信機器、ワイヤレスモバイル機器、携帯情報端末(PDA)、スマートフォン、iPod(登録商標)、MP3プレイヤー、携帯ゲーム機(handheld gaming unit)または他のメディアプレイヤー、及び多種多様の他のコンシューマー機器を含んでいる。本明細書で用いられるように、計算機器のこれらの例のいくつかはメディア機器と見なされる。
【0005】
オーディオの圧縮は、オーディオファイルのサイズを減少させるように設計されているデータ圧縮の形式である。今日用いられている多くの種類のオーディオ圧縮アルゴリズムがある。オーディオ圧縮アルゴリズムのいくつかの例は、MPEG−1オーディオレイヤー3(MP3)、先進的音響符号化(AAC)、ハイエフィシェンシーAAC(HE(High Efficiency)−AAC)、HE−AACバージョン2(HE−AAC v2)、ウィンドウズ(登録商標)メディアオーディオ(WMA)(登録商標)、WMAプロ(登録商標)、等を含む。
【0006】
同様に、ビデオ圧縮(時々、ビデオと同様にピクチャを圧縮するために使用され得る)はビデオ(またはピクチャ)ファイルのサイズを減少させるように設計されたデータ圧縮の形式である。今日用いられている多くの種類のビデオ圧縮アルゴリズムがある。ビデオ圧縮アルゴリズムのいくつかの例は、JPEGベースプロファイル、JPEG2000、MPEG−1、MPG−2、MPEG−4、シンプルプロファイル、MPEG−4アドバンスドシンプルプロファイル、H.263ベースプロファイル、H.264ベースプロファイル、H.264メインプロファイル、VC1スタンダードを含んでいるウィンドウズメディアビデオ(登録商標)9シリーズ、等を含んでいる。
【0007】
オーディオファイルまたはビデオファイルは、オーディオまたはビデオ信号を圧縮するオーディオまたはビデオ圧縮アルゴリズムに依存する異なるフォーマットを有し得る。圧縮されたデータは、時々、ビットストリームとして言及され得る。ビットストリーム(言い換えると、圧縮されたオーディオファイルまたは圧縮されたビデオファイル)は、メモリに記憶され得る。時々ビットストリームは、コンピュータまたはモバイル機器のオペレーティングシステムに関連付けられたたフォーマットに暗号化または記憶される。ビットストリーム(それが圧縮データを表し得る場合)を解凍すること、及びビットストリーム(もし、それが暗号化されていたら)を復号化(decrypt)することは、秒当たり、多くの計算を要する。
【0008】
アプリケーションソフトウェアを走らせるプロセッサ(時々、アプリケーションプロセッサと呼ばれる)は専用プロセッサとインタラクト(interact)する。専用プロセッサの一つのタイプは、デジタル信号プロセッサ(DSP)として知られている。オペレーティングシステムがロードされたアプリケーションプロセッサは、メモリからのビットストリームを検索し、復号化及び/または解凍するためのDSPにビットストリームを渡す。この方法でビットストリームを処理することは、大抵、多くの電力を消費する。低電力でビットストリームを処理するための技術を見つけることが望まれている。
【発明の概要】
【0009】
一態様によれば、メディア機器の電力を減らす方法は、不揮発性メモリ内に記憶されたメディアデータのポインタ構造を、第1のプロセッサによって生成することと、第2のプロセッサによってアクセス可能なメモリ領域内に、前記第1のプロセッサによって前記ポインタ構造を書き込むことと、前記第2のプロセッサによって前記メモリ領域から前記ポインタ構造を読み出すことと、前記ポインタ構造に基づいて、前記第2のプロセッサによって前記不揮発性メモリから前記メディアデータのブロックを検索することと、を含む。
【0010】
他の態様によれば、メディア機器は、メディアデータを記憶した不揮発性メモリと、前記不揮発性メモリに結合され、前記不揮発性メモリ内に記憶された前記メディアデータの位置及びサイズを含むポインタ構造を生成するように構成された第1のプロセッサと、前記アプリケーションプロセッサによって書き込まれた前記ポインタ構造を記憶するためのメモリ領域と、前記メモリ領域から前記ポインタ構造を読み出すように構成され、前記不揮発性メモリから前記メディアデータのブロックを検索するように構成された第2のプロセッサと、を含む。
【0011】
他の態様によれば、メディア機器は、不揮発性メモリ内に記憶されたメディアデータのポインタ構造を、アプリケーションプロセッサによって生成する手段と、前記アプリケーションプロセッサによって、異なるプロセッサによってアクセス可能なメモリ領域内に前記ポインタ構造を書き込む手段と、前記異なるプロセッサによって前記メモリ領域から前記ポインタ構造を読み出す手段と、前記ポインタ構造に基づいて、前記異なるプロセッサによって前記不揮発性メモリから前記メディアデータを検索する手段と、を含む。
【0012】
さらなる態様によれば、1以上のプロセッサによって実行可能な命令のセットを具体化するコンピュータ読み取り可能なメディアは、不揮発性メモリ内に記憶されたメディアデータのポインタ構造を、第1のプロセッサによって生成するためのコードと、前記第1のプロセッサによって第2のプロセッサによってアクセス可能なメモリ領域内に前記ポインタ構造を書き込むためのコードと、前記第2のプロセッサによって前記メモリ領域から前記ポインタ構造を読み出すためのコードと、前記ポインタ構造に基づいて、前記第2のプロセッサによって前記不揮発性メモリから前記メディアデータのブロックを検索するためのコードと、を含む。
【0013】
他の態様、特徴、方法及び長所は、下記の図面及び詳細な記載の考察で、当業者に明白になる。それは、そのような追加の特徴、態様、方法及び長所の全てはこの記載の中に含まれており、特許請求の範囲によって保護されることを意図している。
【0014】
図面は、単に例示の目的のためのものであるということが理解される。さらに、図中の構成要素は、寸法がある必要はなく、代わりに、重要性は本明細書に記載された技術及び装置の原理を説明することに置かれている。図面において、異なる図を通して関連する部分には同じ参照番号を示す。
【図面の簡単な説明】
【0015】
【図1】図1は、メモリからのファイルを検索し、ファイル内のデータをDSPに渡すためのアプリケーションプロセッサを用いて、オーディオファイルの処理を行うための技術を実行するメディア機器例を示しているブロックダイアグラムである。
【図2A】図2Aは、メモリからのファイルを検索するための異なるプロセッサ(アプリケーションプロセッサ以外のもの)を用いて、オーディオファイルの処理を行うための技術を実行するメディア機器例を示しているブロックダイアグラムである。
【図2B】図2Bは、メモリからのファイルを検索するための異なるプロセッサ(アプリケーションプロセッサ以外のもの)を用いて、ビデオファイルの処理を行うための技術を実行するメディア機器例を示しているブロックダイアグラムである。
【図2C】代替実施形態において、図2A及び図2Bに示した共通のアーキテクチャと、図2A及び図2Bに示したアーキテクチャの違いとが、図2Cに示されているメディア機器を形成する。
【図3】図3は、する周辺プロセッサまたはDSP等の異なるプロセッサが不揮発性メモリからのデータを検索した後のアプリケーションプロセッサによる不揮発性メモリへの書き込みのプロセスのフローダイアグラムを示している。
【図4A】図4Aは、図2Aの代替実施形態である。
【図4B】図4Bは、図2Bの代替実施形態である。
【図4C】代替実施形態において、図4A及び図4Bに示した共通のアーキテクチャと、図4A及び図4Bに示したアーキテクチャの違いとが、図4Cに示されているメディア機器140を形成する。
【図5】図5は、電源管理用集積回路(PMIC)の一例のブロックダイアグラムである。
【図6A】図6Aは、トータル電流消費対バッテリー寿命のグラフを示している。
【図6B】図6Bは、本明細書に記載された技術/アーキテクチャによって使用され得るバッテリー寿命の量を(時間により)示したグラフ例である。
【図7】図7は、メモリからファイルを検索するためのアプリケーションプロセッサとは異なるプロセッサを用いてメディアファイルを処理するための技術例のフローチャートを示している。
【図8】図8は、メモリからファイルを検索するためのアプリケーションプロセッサとは異なるプロセッサを用いてメディアファイルを処理するための技術例のフローチャートを示している。
【発明の詳細な説明】
【0016】
近年、計算機器におけるセキュリティは重要になってきている。人々は、デジタル方式で記憶され得る彼らの個人情報を保護することに関して心配している。アーティストと同様に、音楽会社及び映画スタジオも、彼らのコンテンツが不法にコピーされ得ることを心配している。多くの計算機器において、異なるオペレーティングシステムによって動作するファイルシステム(ソフトウェアプログラムも)が存在する。多くのオペレーティングシステムにより、ユーザーは、安全にデータを記憶することができる。ファイルシステムは、選択されたファイルシステムにおいてファイル及びフォルダ内のデータを暗号化することによって、安全にデータを記憶することができ得る。これをし得る、FAT、FAT16、FAT32、NTFS、または他の独自のシステムのような種々のファイルシステムがある。WinFS(Windows(登録商標) Future Storage)(登録商標)のようないくつかのシステムは、今や未来のために開発されている。人気が出てきている一つのそのようなシステムは、NTFSである。NTFS(New technology File System)は、Windows XP(登録商標) Vista(登録商標) 2003(登録商標) 2000(登録商標) & NT (マイクロソフトによって開発された) (登録商標)またはWindows Mobile 5.0、 6.0、 7.0(登録商標)等といった最新のオペレーティングシステムに対して独占の暗号化ファイルシステム(EFS:Encrypting File System)である。NTFSは、ファイルレベルセキュリティ及びファイル圧縮をサポートする。ファイル圧縮(この文脈の中で)は、予め言及されたオーディオ処理圧縮の後に適用される“追加”の圧縮であり得る。EFSもWindows Mobileオペレーティングシステム上に存在する。リナックス(登録商標)及びアップルのオペレーティングシステムは、同様にして用いられ得る暗号化ファイルシステムを有している。暗号化ファイルシステムは、ファイルシステムに統合されているので、管理しやすく、攻撃することが困難である。一度、ファイルまたはフォルダが暗号化されたとしてマークされると、暗号化され、ユーザーに明白になる。
【0017】
マイクロソフトのEFSによって、ファイル及びフォルダを暗号化するために、正当なX.509認証が用いられる。将来、他の認証が用いられ得る。暗号化において、X.509は、公開鍵基盤(PKI)のための国際電気通信連合(ITU)−Tスタンダードである。とりわけ、X.509は、公開鍵証明書及び認証パス検証アルゴリズムのためのスタンダードフォーマットを明記する。ITUは、情報及び通信技術をリードする国際機関である。ユーザーがデータを暗号化しようと試みるとき、EFSは、正当な認証を捜す。もし、EFSが正当な認証を見つけられなかったとき、EFSはウインドウズ認証機関(CA:certification authority)を用いて認証を登録しようと試みることができる。もし、CAを介して認証の要求をすることができなかったとき、EFSは自己署名証明書を生成し得る。
【0018】
ファイルシステムソフトウェアは計算機器内のプロセッサ(アプリケーションプロセッサ)上にロードされたオペレーティングシステムの一つである。モバイル機器において、これは大抵ARMプロセッサである。ARMアーキテクチャは、多くのモバイル機器の中で広く用いられているARM有限会社によって開発された32−bit RISCプロセッサアーキテクチャである。彼らの電力抑制機構のお陰で、ARMプロセッサは、低電力消費がデザインゴールであるモバイルエレクトロニクス市場の中で優勢である。ARM有限会社は、彼ら自身のアプリケーションプロセッサを作る多くの会社に対し、コアARMアーキテクチャの使用を許可している。他のタイプのプロセッサも、アプリケーションプロセッサのような役目を果たし得る。
【0019】
典型的に、歌またはビデオといったメディアファイルを再生するといったユーザーアプリケーションを実行する(走らせる)ために、アプリケーションプロセッサは、デジタル信号プロセッサ(DSP)と共に働く。DSPは、専門化された機能や演算を行うように設計されている。典型的に、DSPは、処理のいくつかをアプリケーションプロセッサから解放する。そのようなものとして、DSPは、ファイルシステムを含むアプリケーションプロセッサに搭載されたオペレーションシステムを有していない。DSP上でファイルシステムを走らせることは、多くの複雑さを導入し得る。したがって、ファイルシステムは、アプリケーションプロセッサに搭載される。メディアファイルはファイルシステムを用いてメモリ内に安全に記憶されるので、アプリケーションプロセッサは、メモリからビットストリーム(または暗号化されたビットストリーム)を検索する。メディアファイルは、オーディオファイル、ビデオファイル、またはオーディ及びビデオファイルの組み合わせであることがある。オーディオファイルは、歌、携帯電話の着信メロディ、またはレコーディングで記憶された自然または人工のいくつかの他の形態であることがある。ビデオファイルは、ビデオクリップ、絵、またはいくつかの絵であることがある。オーディオ及びビデオファイルの組み合わせは、ミュージックビデオ、映画、アニメ、またはメディアコンテンツのような他のものであることがある。
【0020】
図1は、メモリからのファイルを検索し、ファイル内のデータをDSPに渡すためのアプリケーションプロセッサを用いて、オーディオファイルの処理を行うための技術を実行するメディア機器例を示しているブロックダイアグラムである。例示的なメディア機器4は、メディア機器4上で走っているアプリケーションに依存してDSP/SHW8にロードされるファームウェアイメージを決定するアプリケーションプロセッサ6を有している。ファームウェアは、典型的に、DSP上で走るソフトウェアの名前である。ユーザーが、再生するためのメディアファイルを選択するアプリケーションにおいて、初めにメディアファイルは不揮発性メモリ10に記憶され得る。不揮発性メモリは、電力を切った後も記憶されたデータが残る。不揮発性メモリの例は、メモリカード、オンボードのNANDメモリ、及びフラッシュランダムアクセスメモリ(RAM)である。
【0021】
オンチップであろうとオフチップであろうとフラッシュRAM(例えば、NANDベースのリムーバルメディアフォーマット)は、今日の通信機器において一般的である。NANDベースのリムーバルメディアフォーマットのいくつかの例は、マルチメディアカード、セキュアデジタル、メモリスティック及びxD−ピクチャカード、RS−MMC、miniSD(登録商標)及びmicroSD(登録商標)、及びインテリジェントスティックである。ここ数年ずっと、オープンNANDフラッシュインタフェース(ONFI:Open NAND Flash Interface)コンソーシアムが、NANDベースのリムーバルメディアフォーマットと通信するNANDフラッシュメモリチップ及びデバイスのオープンスタンダードを作る活動し続けている。
【0022】
ユーザーが、UIディスプレイ(ユーザーインタフェースディスプレイ)12を介してオーディオファイルを選択するとき、UIドライバ(ユーザーインタフェースドライバ)13によって駆動される。アプリケーションプロセッサ6は、不揮発性メモリ10からバスブリッジ14及びメモリコントローラ16を介してオーディオファイルデータを検索し得る。不揮発性メモリ10からのメディアファイルデータの検索は、“ビットストリームタスク(bitstream task)”と言及され得る。メディアファイルのフォーマットに依存するが、メディアファイルデータは、ヘッダまたは他のメタデータ、及びビットストリームを含んでいるコンテンツ部を含み得る。バスブリッジ14は、異なる構成要素(例えばプロセッサ及びメモリ)の一部である異なるバス間のインタフェースとして役立ち得る。例えば、アプリケーションプロセッサは、AMBAハイパフォーマンスバス(AHB:AMBA High-performance Bus)を有し得る。AMBAはアドバンスドマイクロプロセッサバスアーキテクチャ(advanced microprocessor bus architecture)の略語である。バスブリッジ14は、マスターAHBインタフェース、AHBスレイブインタフェース、またはメモリバスインタフェースとして役立ち得る。不揮発性メモリ10から読み込んだデータは、次に、メモリコントローラ20(及び他のバスブリッジ(図示せず))を介して他の(不揮発性メモリも外部であって良い)外部メモリ22に書込まれ得る。外部メモリ22の例は、SDRAM(synchronous dynamic random access memory)であり得る。外部メモリ22は、1つまたはそれ以上のアプリケーションプロセッサ及び1つまたはそれ以上のDSPを含む集積回路23の“外部”にある。上述で直接言及したが、不揮発性メモリは、集積回路23の外部にあり得る。
【0023】
メディアファイルを聞く及び/または見るために、ビットストリームは解凍される。DSP/SHW8によって実行される機能の一つは、ビットストリームを解凍することである。異なるタイプのアーキテクチャは、DSP/SHW8にビットストリームを書込むために用いられ得る。ビットストリームは、外部メモリ22からのDME’d(Direct Memory Exchanged)であり得る。DSP/SHW8内にビットストリームを書込み得るアプリケーションデータムーバー(ADM)があっても良い。これらの技術(DME及びADM)はアプリケーションプロセッサ6を介して調整を要求する。
【0024】
DSP/SHW8は一度ビットストリームを読み込むとそれを解凍し、ビットストリームがオーディオデータである場合、解凍はパルス符号変調(PCM)バッファ24に配置され、オーディオコーデック26に読み出されるPCMサンプルを生成する。PCMバッファ24及び/またはオーディオコーデック26はどちらもDSP/SHW8内またはDSP/SHW8の外側に配置され得る。デジタル/アナログ変換回路(DAC)28は、コーデック26からのデジタルサンプルを、一つまたはそれ以上のスピーカ30A及び30Bを駆動するためにスピーカドライブ回路29が使用するアナログ電圧波形に変換する。PCMバッファ24、オーディオコーデック26、及びDAC28のあらゆる組み合わせは、共に統合されて良く、集積コーデック32として言及され得る。メディア機器4内に配置された全ての構成要素に電力を供給する電源管理集積回路(PMIC)34があり得る。ビットストリームがビデオファイルデータである場合、DSP/SHW8はビデオコーデック49により処理され、ピクセルをピクセルバッファ141(図2B参照)内に配置されるピクセルを生成するためにビットストリームを解凍する。ピクセルは、ディスプレイプロセッサ50によってさらに処理され、ディスプレイに送られ得る。ビデオコーデック49及び/またはピクセルバッファ141はDSP/SHW8の内側または外側、またはディスプレイプロセッサ50内に組込まれるいくつかの構成内に配置され得る。
【0025】
予め言及したように、予め言及された計算機器のいくつかは“メディア機器”として考慮される。従って、ここの図で説明した例示的なメディア機器4は、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、ワイヤレス通信機器、ワイヤレスモバイル機器、携帯情報端末PDA、スマートフォン、iPod、MP3プレイヤー、携帯ゲーム機(handheld gaming unit)または他のメディアプレイヤー、及び多種多様の他のコンシューマー機器を含み得る。
【0026】
例示的な趣旨で、設計者の要求に従って、場合によってDSPまたは専門ハードウェア(SHW:specialized hardware)が使用されて良いことを例示するために、本明細書では“DSP/SHW”なる表記が使用される。
【0027】
図2Aは、アプリケーションプロセッサ6によって生成されるポインタ構造を用いることで、メモリからのオーディオファイルデータを検索するための異なるプロセッサ(アプリケーションプロセッサ以外のもの)を用いて、オーディオファイルの処理を行うための技術を実行するメディア機器5の例を示しているブロックダイアグラムである。図2Aは、不揮発性メモリ10からオーディオデータを検索し得る他のプロセッサとしてDSP/SHWを図示している。しかしながら、周辺のプロセッサといった異なるプロセッサは、本明細書に概念及び技術を配置及び説明したDSP/SHW内で代用され得る。周辺のプロセッサは、アプリケーションプロセッサ6として、全てのオプション機能を有する必要がないプロセッサである。周辺のプロセッサまたはDSP/SHWのどちらかの他のプロセッサは、典型的にはるかに少ない電力を消費し、アプリケーションプロセッサ6に比べて機能が低くて良い専門プロセッサであり、この専門プロセッサは、例えばオーディオファイルデータの検索のような、専門のタスクのために用いられる。DSP/SHWまたは周辺のプロセッサといった他のプロセッサを用いることで、メディア機器5は、ビットストリームタスクの間、低電力モードに切り替わることが可能となる。
【0028】
DSP/SHW8上でファイルシステムを走らせることは複雑さを導入する。そのため、ファイルシステムはアプリケーションプロセッサ6にロードされる。アプリケーションプロセッサ6はロードされたファイルシステムを有しているので、オーディオファイルデータのヘッダ及びデータ情報を読むことが可能である。アプリケーションプロセッサ6は、次に、オーディオファイルがオーディオデータをどのようにメモリに記憶しているかのポインタ構造を生成し得る。ポインタ構造は、リストを作成することで生成される。リストは、オーディオファイルのアドレス、オフセット、及び長さを含んでいる。このオフセットは、オーディオファイル内にあり得るパディングデータから成り、MP3オーディオファイルの場合におけるID3メタデータのようなものである。リストはまた、ユーザーがオーディオファイル内において最後に聴いた所から早送りまたは巻き戻しをする際に、対応するオーディオファイルのアドレス、オフセット、長さをセットし得る。アプリケーションプロセッサ6は、次に、ページ長、コマンド言語等を含み、DSP/SHW8に限られた回数が送られる必要があるだけかもしれないドライバの詳細な仕様を作成し得る。例えば、アプリケーションプロセッサ6及びDSP/SHW8間の起動または初期通信の間、ドライバの詳細な仕様は、DSP/SHW8に送られ得る、または直接、DSP/SHW8がアクセスできる共有バッファ40といった共有メモリスペースに保持され得る。ポインタ構造(リストを含んでいる)を入手するDSP/SHW8による方法は、同様の方法で行われ得る。すなわち、ポインタ構造は、アプリケーションプロセッサ6によってDSP/SHW8が共有バッファ40といった共有メモリスペースにポインタ構造を書込む、またはポインタ構造はアプリケーションプロセッサ6によって共有バッファ40といった共有メモリスペースに書込まれ得るDSP/SHW8に送られ得る。
【0029】
共有バッファ40は、DSP/SHW8内に局所的に配置され得る、または代替的に共有バッファ40はDSP/SHW8の外側に配置され得る。もしページ長が変わる場合、その時DSP/SHW8は、アップデートされたドライブの詳細な仕様が必要になる。しかしながら、もしページ長およびコマンド言語が変わらずにある場合、その時、DSP/SHW8はアップデートされたリストを要求するだけであるかもしれない。このように、ポインタ構造は状況に依存してリスト、ドライバの詳細な仕様、またはリスト及びドライバの詳細な仕様を含み得る。典型的に、アプリケーションプロセッサ6及びDSP/SHW8は、互いに通信するための種々の“応答確認(handshake)”機構を有している。一度、共有バッファ40内にポインタ構造が記憶されると、アプリケーションプロセッサ6は“破損(collapse)”、すなわち、アプリケーションプロセッサ6の電力をシャットダウンし得る。アプリケーションプロセッサ6が破損するとき、アプリケーションプロセッサ6は以前よりも少ない電力を消費する“スリープモード”に入る。この点において、DSP/SHW8は、共有バッファ40から“ポインタロケーション”、すなわち、検索され、ビットストリームバッファ44内に配置される不揮発性メモリ10内のメモリロケーション毎のバイト数を読み得る。
【0030】
共有バッファ40のケースにおいて、ビットストリームバッファ44は、DSP/SHW8内に局所的に、または代替的にDSP/SHW8の外側に配置され得る。不揮発性メモリ10内のデータが暗号化された場合、DSP/SHW8は、ビットストリーム44内のデータを“クリプトエンジン(crypto engine)”(DSP/SHWに対してローカル)によって復号化し得る、または“クリプトエンジンアクセラレータ(crypto engine accelerator)”46に暗号化されたデータを送り得る。代替実施形態において、クリプトエンジンアクセラレータ46が用いられる場合、図2Aに示す例示的な集積回路45とは他の分離された集積回路上に配置される。このアクセラレータは、ハードウェアの専門化された一部であってよく、しばしば、より早くデータを復号化(decrypt)し、(依然としてビットストリームである)このデータをビットストリームバッファの指定された領域に渡すことが出来る特定用途向け集積回路(ASIC)であり得る。DSP/SHW8は、その後、ビットストリームを解凍(デコーディングとしても知られている)し、以前のようにオーディオファイルを再生し得る。DSP/SHW8を検索する際、すなわち、不揮発性メモリ10からの読み出し、及び解凍されたビットストリーム(PCMサンプル)がスピーカから再生される間に、小さな時間の遅れがある。時間の遅れは、1秒程度であり得るが、プロセッサ(アプリケーションプロセッサ及びDSP/SHWの両方)速度が上昇することで、将来において時間の遅れが減少するであろうと予想される。
【0031】
図2Aに図示するように、DSP/SHWによる不揮発性メモリ10への直接のアクセスを可能とするようにMPU(memory protection unit:メモリ保護ユニット)がプログラムされ得るため、DSP/SHW8は、バスブリッジ14及びメモリコントローラ16を介して不揮発性メモリ10から直接データを検索することができる。他のメモリコントローラのMPUは、明らかなので図示されていない。いくつかのアーキテクチャにおいて、DSP/SHW8は、メモリコントローラ16(バスブリッジ14を通るもの以外)または不揮発性メモリ10(メモリコントローラ16を通るもの以外)と直接結合し得る。バッテリーが急速に枯渇されないので、DSP/SHW8による直接的なメモリアクセスは、電力を抑制し、最終的にメディア機器5の再生時間を増加さる。
【0032】
ポインタストラクチャの作成及び/またはメディアファイルの再生の間、無傷(integrity)のポインタストラクチャの損傷の防止するDSP/SHW8及びアプリケーションプロセッサ6以外のメディア機器(メディア機器5、メディア機器7、メディア機器52、メディア機器53または他の同様のメディア機器)内の全ての要素に対して、不揮発性メモリ10へのアクセスはブロックされ得る。アプリケーションプロセッサ6は、同時タスク(concurrent task)のためにいつでも高速アクセスをリコールし得る。これが生じる時、同時タスクが完了するまで、DSP/SHW8からビットストリームタスクを引き継ぎ得る。同時タスクが完了した後、アプリケーションプロセッサ6は、DSP/SHW8へビットストリームタスクの制御を戻し得る。
【0033】
DSP/SHW8は、オープンまたはクローズドアーキテクチャを有し得る。DSP/SHWアーキテクチャがオープンの場合、他の周辺装置またはスレッドは、オーディオファイルデータにアクセスし、オーディオファイルデータを破損し得る。従って、DSP/SHW8が不揮発性メモリ10からビットストリームを検索する際、クローズドDSP/SHWアーキテクチャを用いることが望ましい。クローズドDSP/SHWアーキテクチャを用いることで、DSP/SHW8は“信用”され得る。従って、不揮発性メモリ10から検索されたオーディオファイルデータは、オープンDSP/SHWアーキテクチャの場合と異なり、他のスレッドや周辺装置によってアクセスされ得ない。
【0034】
図2Bは、メモリからのファイルを検索するためのアプリケーションプロセッサと異なるプロセッサを用いて、ビデオファイルの処理を行うための技術を実行する例示的なメディア機器7を示しているブロックダイアグラムである。実例のための趣旨、スピーカ、オーディオドライブ回路、ADC、及び他の同様の構成要素は図示されていない。上述に記載された図2Aの技術及び代替アーキテクチャは図2Bに直接適応し得る。ビットストリームバッファ48は、ビデオファイルデータが圧縮され、DSP/SHW8がピクセルを生成するために解凍するビットストリームを含む。ピクセルは、ビデオコーデック49の使用及びピクセルバッファ141内にピクセルを配置することで処理される。ピクセルは、ディスプレイプロセッサ50によってさらに処理され、ディスプレイに送られ得る。ビデオコーデック49及び/またはピクセルバッファ141はDSP/SHW8の内側または外側、またはディスプレイプロセッサ50内に統合された、いくつかの構成要素内に配置され得る。
【0035】
代替実施形態において、図2A及び図2Bに示した共通のアーキテクチャと、図2A及び図2Bに示したアーキテクチャの違いとが図2Cに示されているメディア機器130を形成する。メディア機器130は図2Aの、ビットストリームバッファ48、ピクセルバッファ141及びビデオコーデック49といった全てのブロックを含んでいる。ビデオコーデック49及び/またはピクセルバッファ141はDSP/SHW8の内側または外側、またはディスプレイプロセッサ50内に統合された、いくつかの構成要素内に配置され得る。同様に、一つまたはそれ以上の集積オーディオコーデック32の構成要素は、DSP/SHW8の内側または外側に配置され得る。メディア機器130において、DSP/SHW8は、ビデオファイルデータ及びオーディオファイルデータであるビットストリームを解凍し得る。同様の場合において、図2Aに示す集積回路45内に示した全ての構成要素、及び集積回路47内に示した全ての構成要素は、一つの集積回路51内に統合され得る。
【0036】
アプリケーションプロセッサ6も、不揮発性メモリ10に書き込み得る。DSP/SHW8が不揮発性メモリ10からデータを検索した後のアプリケーションプロセッサによる不揮発性メモリへの書き込みのプロセスのフローダイアグラムが図3に示されている。書き込む前、アプリケーションプロセッサ6は、既に検索が始まっているメモリのブロックの検索を止めることをDSP/SHW8に指示する。ブロックは、メモリの1ページ、またはポイント構造の生成の間、アプリケーションプロセッサ6によって指定された、いくつかの他の予め決められたサイズであり得る。DSP/SHW8がメモリのブロックの検索を完了すると、DSP/SHW8は、アプリケーションプロセッサ6がインデックスまたはインデックスのセットをリスト及びページ番号に送ることで応答する。ページ番号は、検索された最後のページ、または検索される次のページ、または他の便利なページ番号であり得る。DSP/SHW8はビットストリーム及び解凍されたビットストリームの再生を続けるオーディオファイルの解凍を続ける。
【0037】
DSP/SHW8が不揮発性メモリ10からのメディアデータの検索を終了すると、アプリケーションプロセッサ6は、次に、不揮発性メモリ10へと書き込む。書き込みが完了すると、書き込みは、メディアファイルデータのシャッフルを引き起こす、すなわち、不揮発性メモリが断片化(fragmented)され得るので、アプリケーションプロセッサ6はリスト及び新しいポインタ構造を再作成する。次に、アプリケーションプロセッサ6は、DSP/SHW8に新しいポインタ構造を送る(または、上述したように、共有メモリ領域に直接新しいポインタ構造を書き込む)。DSP/SHW8は、ポインタ構造を用い、再作成されたリストに基づいて不揮発性メモリ10から検索を始める。
【0038】
DSP/SHW8が連続した“検索停止(stop retrieve)”に応答する最悪な場合の時間は、DSP/SHW8によって、最大のブロックサイズ読出しが不揮発性メモリ10の検索の最小ビットレートで分割される場合である。オーディオファイルの例として、もし最大のブロックサイズが2.048キロバイトであり、最小ビットレートが5キロビット/秒(kbps)である場合、連続する“検索停止”コマンドについての最悪の場合の応答時間は、3.3秒程度である。典型的な連続する“検索停止”コマンドに対する典型的な応答時間は、2.048キロバイト/128kbpsで128ms程度である。“検索停止”コマンドについての応答時間を改善するために、DSP/SHW8は、ビットストリームバッファ44内の2kb周辺の空間を配分する必要がある。
【0039】
時々、不揮発性メモリからの“検索(retrieving)”は、不揮発性メモリからの“読み出し(read)”として言及されることに留意すべきである。
【0040】
ユーザーによって選択された早送り及び/または巻き戻しの間、先頭(早送り)へのジャンプまたは後ろ(巻き戻し)へのジャンプする際の“ステップサイズ”は、ブロックサイズよりも小さいことがある。ステップサイズがブロックサイズよりも小さいこの場合において、アプリケーションプロセッサ6は、ステップサイズに基づいて、リスト(オフセット及び長さを含む)、及び新ポインタ構造を再作成し得る。もし、他のリスト及び新ポインタ構造が作成されない場合、図1、4A、4B、4Cのアーキテクチャまたは他のアーキテクチャが用いられ得る。
【0041】
同様のフローダイアグラムは、異なるプロセッサが不揮発性メモリ10からデータを検索する後の、アプリケーションプロセッサ6による不揮発性メモリ10への書き込みプロセスを記載し得る。周辺プロセッサのような異なるプロセッサが、図2A、2B、または2CにおけるDSP/SHW8の代わりに、または図4A,4B、4Cに示すように直接用いられ得る。
【0042】
再生するためのPCMサンプルが十分にない、またはディスプレイするためのピクセルが十分にない機会を最小化するために、アプリケーションプロセッサ6は、DSP/SHW8がビットストリームバッファ44からの解凍するためのビットを使い切る前に、不揮発性メモリ10への書き込みを終わらせる必要があり得る。オーディオファイルの例として、1オーディオフレームの連続書き込みの最悪の場合の時間は、MP3オーディオファイルの場合、12msである。
【0043】
図4Aは、図2Aの代替実施形態である。前もって言及したように、DSP/SHWや周辺プロセッサのような他のプロセッサを用いることで、メディア機器52に、ビットストリームタスクの間、低電力モードに切り替えさせる。すなわち、メディア機器52は、バス55(または他のバス通路)を介してオーディオファイルデータを検索するアプリケーションプロセッサ6を用いることから、周辺プロセッサ54を用いることに切り替える。これは、共有バッファ56のような共有メモリスペース内に記憶されたポインタ構造(以前に記載したように)を有することで達成され得る。図4Aに示した周辺プロセッサ54といった周辺プロセッサは、不揮発性メモリ10からオーディオファイルデータを検索し得るとはいえ、ビットストリームを解凍するため、図4Aに示すDSP/SHW9といったDSP/SHWであることが望ましいことがある。これは、DSP/SHW9がビットストリームをデコードするように、周辺プロセッサ54に対してビットストリームバッファ58内のビットストリームを記憶させることで達成し得る。いくつかの実施形態において、プロセッサが別々の集積回路上にあってもよいが、周辺プロセッサ54とDSP/SHW9の両方は、アプリケーションプロセッサ6および例示された他の要素とともに、同一の集積回路59内に集積されていることが望ましい。
【0044】
図4Bは図2Bの代替実施形態である。この代替実施形態(図4Aのビデオファイルデータバージョン)において、他のプロセッサは、ビットストリームタスクの間、メディア機器53が低電力モードに切り替えることの許可する、DSP/SHWまたは周辺プロセッサであり得うる。すなわち、メディア機器53はバス55(または他のバス通路)を介してビデオファイルデータを検索するアプリケーションプロセッサ6を用いることから周辺プロセッサ54を用いることに切り替える。これは、共有バッファ56のような共有メモリスペース内に記憶されたポインタ構造(以前に記載したように)を有することで達成され得る。図4Bに示した周辺プロセッサ54といった周辺プロセッサは、不揮発性メモリ10からビデオファイルデータを検索し得るとはいえ、ビットストリームを解凍するため、図4Bに示すDSP/SHW9といったDSP/SHWであることが望ましいことがある。これは、DSP/SHW9がビットストリームをデコードするように、周辺プロセッサ54に対応してビットストリームバッファ58内のビットストリームを記憶させることで達成し得る。いくつかの実施形態において、プロセッサが別々の集積回路上に。
【0045】
代替実施形態において、図4A及び図4Bに示した共通のアーキテクチャと、図4A及び図4Bに示したアーキテクチャの違いとが図2Cに示されているメディア機器140を形成する。メディア機器140はビットストリームバッファ48、ピクセルバッファ141、及びビデオコーデック49といった図4Aの全てのブロックを含んでいる。ビデオコーデック49及び/またはピクセルバッファ141は、DSP/SHW8の内側または外側、またはディスプレイプロセッサ50内に統合された、いくつかの構成要素内に配置され得る。同様に、集積オーディオコーデック32の1以上の構成要素はDSP/SHW8の内側または外側に配置される。
【0046】
メディア機器140において、DSP/SHW9はビデオファイルデータ及びオーディオファイルデータであるビットストリームを解凍し得る。いくつかの場合において、図4Aの集積回路59内に示した全ての構成要素及び集積回路60内に示した全ての構成要素は、一つの集積回路61内に統合され得る。メディア機器140において、ビットストリームバッファ48は、オーディオまたはビデオファイルデータのビットストリームを扱うために2つまたはそれ以上のバッファに分割され得る。
【0047】
図4A、4B、または4Cに示すアーキテクチャは、DSP/SHW9が信用できない場合、すなわちDSP/SHWがオープンアーキテクチャを有する場合、望ましいかもしれない。周辺プロセッサ54は、信頼され、例えば、他のスレッドまたは周辺装置の構成要素の不揮発性メモリ10から検索されたオーディオファイルデータを破損することを防ぎ得る。
【0048】
図2A、2B、2C、4A、4B、4Cに示したアーキテクチャ及びそれらの代替実施形態において、電力消費はメディア機器において減少され得る。メディア機器は、アプリケーションプロセッサといった第1のプロセッサを含む。第1のプロセッサは、第1のプロセッサが、メディアが不揮発性メモリ内にメディアデータを記憶する方法のポインタ構造を生成することを許可するため不揮発性メモリに直接的にまたは間接的(種々の通路を介して、例えば、バスブリッジ、周辺プロセッサ、DSPまたはSHW、メモリコントローラ、または他の同様の構成要件を介して)に結合され得る。ポインタ構造は、不揮発性メモリ内に記憶されたメディアデータの位置及びサイズ(すなわち、アドレス、オフセット、及び長さ)を含む。第1のプロセッサは、第1のプロセッサが記憶すること、すなわち、メモリ領域にポインタ構造を書き込むことを許可するために、直接的、または間接的(種々の通路を介して、例えば、バスブリッジ、周辺プロセッサ、DSPまたはSHW、メモリコントローラ、または他の同様の構成要件を介して)にメモリ領域に結合され得る。第1のプロセッサは、メモリ領域にポインタ構造を書き込んだ後、スリープモードに入り得る。第1のプロセッサがスリープモードに入らない場合、第1のプロセッサは、ノーマルモードにおいて動作させ続ける。DSP/SHWまたは周辺プロセッサのような第2のプロセッサも、ポインタ構造に基づいて第2のプロセッサに不揮発性メモリからメディアデータのブロックを検索させることを許可するために直接的または間接的(種々の通路を介して、例えば、バスブリッジ、周辺プロセッサ、DSPまたはSHW、メモリコントローラ、または他の同様の構成要件を介して)にメモリ領域に結合され得る。メディアデータのブロックの検索は、不揮発性メモリから直接検索され得り、または、いくつかの場合において、検索されたデータが構文解析され得る。メディアデータはオーディオファイルデータ、ビデオファイルデータ、または両方であり得る。同時タスク(concurrent task)がある場合、第2のプロセッサが不揮発性メモリからメディアデータのブロックの検索を終了する後、第1のプロセッサは、不揮発性メモリに書き込み得る。そのような場合において、ポインタ構造は、同時タスクが終了した後に再作成される。早送りまたは巻き戻しの間、第1のプロセッサは、検索されたメディアデータのブロックよりも小さいステップサイズに基づいて、新ポインタ構造を再作成し得る。
【0049】
図5は、PMIC64を駆動するバッテリー62を示している。PMIC64は、異なるタイプの構成要素を駆動するための種々の電力モジュールを有し得る。例えば、MSMC1 65は、モデムといったコア構成要素、種々のバスブリッジ、及びDSP/SHWを駆動する。MSMC2 66は、アプリケーションプロセッサ6を駆動する。MSMSA67は、アナログコーデックを駆動し、MSME68は、種々のメモリを駆動する。これらのメモリのそれぞれの電力モジュールの消費電流において、消費されたトータルの電流は、バッテリーが切れるまでの時間に影響を与え、これゆえに、メディア機器5、メディア機器7、メディア機器130、メディア機器52、メディア機器53、メディア機器140またはこれらのメディア機器の他の代替実施形態で聴かれ得る再生の時間に影響を与える。
【0050】
バッテリーは異なる定格を有している。図6Aの図は、800mA−Hr定格のバッテリーの指数減少カーブである。グラフに見られるように、消費電流が低い時、バッテリー寿命の量は多い(例えば、5mAの場合、トータルのバッテリー寿命(再生の時間)は160時間程度である)。
【0051】
図6Bは図1及び図2A(または図4A)に記載された技術によって用いられ得るバッテリー寿命(時間において)の量を示しているグラフ例である。例えば、図1に示すメディア機器4は、15mAの電流を消費し、50時間程度の再生(または消費されたバッテリー寿命)時間、再生することができ得る。しかしながら、図2Aのメディア機器5では、10mAの電流が消費され、従って、再生時間が80時間であることができ得る。これゆえに、共有メモリバッファ40内においてポインタ構造でDSP/SHW8を用いることは、メディア機器5にとって少ない電力消費になり、それゆえに、オーディオファイルを聴くための再生時間が多くなり得る。同様の低電流消費は、図4Aに示したメディア機器52を用いて達成され得る。バッテリー技術を改善すると、50時間及び80時間の再生時間は上昇し得ることがわかり、バッテリーはより有能になり得る。グラフ例は、図2A、2B、2C、4A、4B、及び4C、またはこれらのアーキテクチャの代替実施形態のいくつかのアーキテクチャを用いて図示され、メディア機器はオーディオファイルの再生時間を長くする、またはビデオファイルの再生を長くすることができ得る。低電力モードの間、メディア機器は、アプリケーションプロセッサを用いることから、DSP/SHWまたは周辺プロセッサのような他のプロセッサを用いることに切り替わる。
【0052】
図7及び図8は、メモリからファイルを検索するための異なるプロセッサ(アプリケーションプロセッサ6以外の)を用いてメディアファイルを処理するための技術例を示すフローチャートである。図8は、図7のさらなる詳細を示している。まず、他のプロセッサ上でコードの初期化及び認証が行われ得る(74)。これはアプリケーションプロセッサ6によるコード及び/またはテーブルのロードを含み(104)、もし必要であれば、アプリケーションプロセッサ6はコード、例えばファームウェアを認証し得る(106)。次に、ユーザーによる、メディアファイルを再生するインタラクションがある(78)。これは、ユーザーがUIディスプレイ12を見ること及びソフトウェアメニューをスクロールしてメディアファイルを検索することを含み得る(108)。メディアファイルが見つかった後、ユーザーは、タッチスクリーン、キーパッド、音声認識、または他のメディアファイルを再生するための方法によってボタンを押すことでメディアファイルを再生することを選択し得る(110)。ユーザーによるこのアクションは、アプリケーションプロセッサ6がポインタ構造を生成することを開始し得る(114)。共有メモリバッファにポインタ構造を書き込んだ(116)後に、次にアプリケーションプロセッサ6は電源を切断し得る(82)。これは、バッテリーが電流を消費されることからを抑制し、図2A,2B,2C,4A,4B,4C,それぞれ、またはこれらのメディア機器の代替実施形態のメディア機器(5,6,130,52,53、及び140)の再生時間を増加させ得る。不揮発性メモリから検索することができる他のプロセッサを有する実施形態において、他のプロセッサは共有メモリバッファ内のポインタ構造を用いることで、ビットストリームバッファを満たす(86)。
【0053】
他のプロセッサはビットストリームバッファを随意的にモニタし得る。もし、ビットストリームバッファのエントリが十分であれば、他のプロセッサは、クリプトエンジンまたはクリプトエンジンアクセラレータにデータを送ることで、ビットストリームが暗号化されている場合、ビットストリームを復号化し得る。ビットストリームバッファが残り少ない場合(90の分岐におけるNO)、他のプロセッサは、ポインタ構造を用いることで、ビットストリームバッファをデータ(すなわち、ビットストリーム)で満たす。ビットストリームが復号化(または復号化されていない場合において)された後、ビットストリームはまだ圧縮されたままである。他のプロセッサはビットストリームをデコード(すなわち解凍)する。ビットストリームがオーディオファイルデータであると、PCMサンプルが生成され、PCMバッファ内に配置される。オーディオコーデックはPCMバッファを読み出し、PCMサンプルは、スピーカの外に再生されるアナログ波形に切替させられる。ビットストリームがビデオファイルデータであると、ピクセルが生成され、ピクセルバッファ内に配置される。ディスプレイプロセッサはピクセルを処理し、ディスプレイされるためにピクセルを送り得る。図4A,4B,または4Cにおいて、DSP/SHWは望ましくはビットストリームをデコードし、たとえ代替実施形態でも、周辺プロセッサは、この機能を実行し得る。
【0054】
本明細書に記載の技術の1つまたはそれ以上の態様は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実行され得る。モジュールまたは構成要素として記載したいくつかの特徴は、集積論理機器において共に、またはディスクリートしかし共通の論理機器として別々に実行され得る。ソフトウェア内で実行される場合、技術の1つまたはそれ以上の態様は、実行されたときに上述した1つまたはそれ以上の方法を行う命令を含むコンピュータ読み取り可能なメディアによって少なくともある程度認識され得る。コンピュータ読み取り可能なデータ記憶メディアは、パッケージング材料を含み得るコンピュータプログラム製品を形成し得る。コンピュータ読み取り可能なメディアは、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、読み出し専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的に消去及び書き込み可能な読み出し専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶メディア等のランダムアクセスメモリ(RAM)を含み得る。追加のまたは代替の技術は、命令またはデータ構造の形式でコードを運ぶまたは通信し、コンピュータによってアクセス、読み出し、及び/または実行されることが可能なコンピュータ読み取り可能な通信メディアによって少なくともある程度認識される。
【0055】
命令は、1つまたはそれ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の同等な集積またはディスクリート論理回路のような1つまたはそれ以上のプロセッサによって実行され得る。従って、本明細書で用いられている“プロセッサ”という用語は、前の構造、または、本明細書に記載の技術の実行にふさわしい他の構造のいくつかを言及し得る。さらに、いくつかの態様において、本明細書に記載の機能性は、本明細書の技術を行うように構成されたまたは適応された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得る。
【0056】
本明細書に記載の構成は、回路構成がASIC内に形成されるハードウェアにより管理されている回路として、または、不揮発性記憶部内に搭載されたファームウェアプログラム、または、マイクロプロセッサまたは他のデジタル信号処理装置のような論理素子のアレイによって命令実行可能になる機械読み取り可能なコードとして、コンピュータ読み取り可能なメディアから、または内に搭載されたソフトウェアプログラムによって、ある程度、または完全に実行され得る。コンピュータ読み取り可能なメディアは、半導体メモリ(ダイナミックまたはスタティックRAM(Random Access memory)、ROM(Read Only Memory)、及び/またはフラッシュRAMに限らず含み得る)、または強誘電体、磁気抵抗、オボニック、ポリメリック、または相変化メモリ、磁気または光学ディスクのようなディスクメディアまたはその他といったデータを記憶するためのコンピュータ読み取り可能なメディアのような、記憶素子のアレイになり得る。ソフトウェアという用語は、ソースコード、アセンブリ言語コード、機械コード、バイナリコード、ファームウェア、マクロコード、ミクロコード、論理素子のアレイ、実行できる命令の1以上のセット、またはシーケンス、及びそのような例の組み合わせを含んでいると理解されるべきである。
【0057】
ハードウェアで実行する場合、本明細書の1つまたはそれ以上の態様は、集積回路、チップセット、ASIC、FPGA、論理または、本明細書に記載の1以上の技術を実行するように構成された、または適応されたそれらの種々の組み合わせのような回路に割り当てられ得る。回路は、集積回路またはチップセットにおいて、本明細書に記載したようなプロセッサ、及び1以上のハードウェア装置を含み得る。
【0058】
当業者は回路が上述した機能のいくつか、または全てを実行し得ることを認識するであろうことを留意すべきである。全ての機能を実行する1回路があり得る、または、機能を実行する回路の複数のセクションがあり得る。多くのメディア機器で用いられている現在のモバイルプラットフォーム技術について、集積回路は、少なくとも1つのDSP、及び制御及び/またはDSPまたは複数のDSPと通信する少なくとも1つのアドバンスド縮小命令セットコンピュータ(RISC)マシン(ARM)プロセッサを含み得る。さらに、回路は、いくつかのセクションにおいて設計され、または実行され得る。そして、いくつかの場合において、セクションは本明細書に記載の異なる機能を行うために再利用され得る。
【0059】
種々の態様、及び例が記載されている。しかしながら、変形例は後述の特許請求の範囲の範囲から逸脱しない本明細書の構成または技術によって形成されることができる。例えば、他の種類の機器も本明細書に記載の処理技術を実行することができる。これら及び他の例は、後述の特許請求の範囲の範囲内にある。本明細書で開示したそれぞれの方法は、論理素子(例えば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械)のアレイを含む機械によって読み取り可能、及び/または実行可能な命令の1以上のセットとして明確に具体化(例えば、1以上の上述にリストしたようなコンピュータ読み取り可能なメディアにおいて)され得る。このようにして、本開示は、上述で示した構成、またはアーキテクチャに限定されることを表さない。しかし、もっと正確に言えば、本開示は、最初の開示の一部を形作る提出書類として添付された特許請求の範囲内に含まれる本明細書のいくつかの方法で開示された原理及び新しい特徴と一致する広い範囲に一致する。
【0060】
他の実施形態及び変形例はこれらを教える視点で、当業者はすぐに思い浮かぶであろう。従って、後述の特許請求の範囲は、上述の明細書及び関連する図面を結合すると考えたときに、全てのそのような実施形態及び変形例をカバーすることを目的としている。

【特許請求の範囲】
【請求項1】
不揮発性メモリ内に記憶されたメディアデータのポインタ構造を、第1のプロセッサによって生成することと、
第2のプロセッサによってアクセス可能なメモリ領域内に、前記第1のプロセッサによって前記ポインタ構造を書き込むことと、
前記第2のプロセッサによって前記メモリ領域から前記ポインタ構造を読み出すことと、
前記ポインタ構造に基づいて、前記第2のプロセッサによって前記不揮発性メモリから前記メディアデータのブロックを検索することと、
を具備するメディア機器の電力を減らす方法。
【請求項2】
前記第1のプロセッサはアプリケーションプロセッサである請求項1の方法。
【請求項3】
前記第2のプロセッサは、デジタル信号プロセッサである請求項1の方法。
【請求項4】
前記第2のプロセッサは、周辺プロセッサである請求項1の方法。
【請求項5】
前記第1のプロセッサは、前記メモリ領域への前記ポインタ構造の書き込みの後、スリープモードに入る請求項1の方法。
【請求項6】
前記メディアデータは、オーディオファイルデータである請求項1の方法。
【請求項7】
前記メディアデータは、ビデオファイルデータである請求項1の方法。
【請求項8】
前記第2のプロセッサによって検索された前記メディアデータの前記ブロックの少なくとも一部は、ビットストリームバッファに書き込まれる請求項1の方法。
【請求項9】
前記第2のプロセッサは、ビットストリームバッファの残りを監視する請求項8の方法。
【請求項10】
前記第2のプロセッサは、検索された前記メディアデータの前記少なくとも一部を復号化(decrypt)する請求項8の方法。
【請求項11】
前記第2のプロセッサは、検索された前記メディアデータの前記少なくとも一部をクリプトエンジンアクセラレータ(crypto engine accelerator)に送る請求項8の方法。
【請求項12】
同時タスク(concurrent task)がある場合、前記第1のプロセッサは、前記第2のプロセッサが前記不揮発性メモリから前記メディアデータの前記ブロックの検索を終了した後に、前記不揮発性メモリに書き込む請求項1の方法。
【請求項13】
ポインタ構造は、前記同時のタスクが終了した後に再作成される請求項12の方法。
【請求項14】
前記第1のプロセッサによって前記ポインタ構造を生成することは、前記メディア機器のユーザーからオーディオファイルまたはビデオファイルの選択によって開始される請求項1の方法。
【請求項15】
早送りまたは巻き戻しの間、前記第1のプロセッサは、前記検索されたメディアデータの前記ブロックよりも小さいステップサイズに基づいて、新ポインタ構造を再作成する請求項1の方法。
【請求項16】
メディアデータを記憶した不揮発性メモリと、
前記不揮発性メモリに結合され、前記不揮発性メモリ内に記憶された前記メディアデータの位置及びサイズを含むポインタ構造を生成するように構成された第1のプロセッサと、
前記アプリケーションプロセッサによって書き込まれた前記ポインタ構造を記憶するためのメモリ領域と、
前記メモリ領域から前記ポインタ構造を読み出すように構成され、前記不揮発性メモリから前記メディアデータのブロックを検索するように構成された第2のプロセッサと、
を具備するメディア機器。
【請求項17】
前記第1のプロセッサは、アプリケーションプロセッサである請求項16のメディア機器。
【請求項18】
前記第2のプロセッサは、デジタル信号プロセッサである請求項16のメディア機器。
【請求項19】
前記第2のプロセッサは、周辺プロセッサである請求項16のメディア機器。
【請求項20】
前記第1のプロセッサは、前記ポインタ構造を前記メモリ領域へ書き込んだ後に、スリープモードに入る請求項16のメディア機器。
【請求項21】
前記メディアデータは、オーディオファイルデータである請求項16のメディア機器。
【請求項22】
前記メディアデータは、ビデオファイルデータである請求項16のメディア機器。
【請求項23】
前記第2のプロセッサによって検索された前記メディアデータの前記ブロックの少なくとも一部は、ビットストリームバッファに書き込まれる請求項16のメディア機器。
【請求項24】
同時タスク(concurrent task)がある場合、前記第1のプロセッサは、前記第2のプロセッサが前記不揮発性メモリから前記メディアデータの前記ブロックの検索を終了した後に、前記不揮発性メモリに書き込む請求項16のメディア機器。
【請求項25】
ポインタ構造は、前記同時のタスクが終了した後に再作成される請求項24のメディア機器。
【請求項26】
早送りまたは巻き戻しの間、前記アプリケーションプロセッサは、前記検索されたメディアデータの前記ブロックよりも小さいステップサイズに基づいて、新ポインタ構造を再作成する請求項16のメディア機器。
【請求項27】
不揮発性メモリ内に記憶されたメディアデータのポインタ構造を、アプリケーションプロセッサによって生成する手段と、
前記アプリケーションプロセッサによって、異なるプロセッサによってアクセス可能なメモリ領域内に前記ポインタ構造を書き込む手段と、
前記異なるプロセッサによって前記メモリ領域から前記ポインタ構造を読み出す手段と、
前記ポインタ構造に基づいて、前記異なるプロセッサによって前記不揮発性メモリから前記メディアデータを検索する手段と、
を具備するメディア機器。
【請求項28】
前記異なるプロセッサは、デジタル信号プロセッサまたは周辺プロセッサである請求項27のメディア機器。
【請求項29】
前記アプリケーションプロセッサは、前記ポインタ構造を前記メモリ領域へ書き込む手段が達成された後に、スリープモードに入る請求項27のメディア機器。
【請求項30】
前記メディアデータはオーディオファイルデータである請求項27のメディア機器。
【請求項31】
前記メディアデータはビデオファイルデータである請求項27のメディア機器。
【請求項32】
前記異なるプロセッサによって検索された前記メディアデータの前記ブロックの少なくとも一部は、ビットストリームバッファに書き込まれる請求項27のメディア機器。
【請求項33】
デジタル信号プロセッサは、検索された前記メディアデータの前記少なくとも一部を復号化(decrypt)する請求項27のメディア機器。
【請求項34】
前記異なるプロセッサは、検索された前記メディアデータの前記少なくとも一部をクリプトエンジンアクセラレータ(crypto engine accelerator)に送る請求項27のメディア機器。
【請求項35】
早送りまたは巻き戻しの間、前記アプリケーションプロセッサは、前記検索されたメディアデータの前記ブロックよりも小さいステップサイズに基づいて、新ポインタ構造を再作成する請求項27のメディア機器。
【請求項36】
不揮発性メモリ内に記憶されたメディアデータのポインタ構造を、第1のプロセッサによって生成するためのコードと、
前記第1のプロセッサによって第2のプロセッサによってアクセス可能なメモリ領域内に前記ポインタ構造を書き込むためのコードと、
前記第2のプロセッサによって前記メモリ領域から前記ポインタ構造を読み出すためのコードと、
前記ポインタ構造に基づいて、前記第2のプロセッサによって前記不揮発性メモリから前記メディアデータのブロックを検索するためのコードと、
を具備する1以上のプロセッサによって実行可能な命令のセットを具体化するコンピュータ読み取り可能なメディア。
【請求項37】
前記第1のプロセッサはアプリケーションプロセッサである請求項36のコンピュータ読み取り可能なメディア。
【請求項38】
前記第2のプロセッサは、デジタル信号プロセッサである請求項36のコンピュータ読み取り可能なメディア。
【請求項39】
前記第2のプロセッサは、周辺プロセッサである請求項36のコンピュータ読み取り可能なメディア。
【請求項40】
前記第1のプロセッサは、前記メモリ領域への前記ポインタ構造の書き込みの後、スリープモードに入る請求項36のコンピュータ読み取り可能なメディア。
【請求項41】
前記メディアデータは、オーディオファイルデータである請求項37のコンピュータ読み取り可能なメディア。
【請求項42】
前記メディアデータは、ビデオファイルデータである請求項37のコンピュータ読み取り可能なメディア。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2011−515957(P2011−515957A)
【公表日】平成23年5月19日(2011.5.19)
【国際特許分類】
【出願番号】特願2011−500924(P2011−500924)
【出願日】平成21年3月18日(2009.3.18)
【国際出願番号】PCT/US2009/037515
【国際公開番号】WO2009/117488
【国際公開日】平成21年9月24日(2009.9.24)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】