CN102150145A - 媒体处理方法和设备 - Google Patents
媒体处理方法和设备 Download PDFInfo
- Publication number
- CN102150145A CN102150145A CN2009801350476A CN200980135047A CN102150145A CN 102150145 A CN102150145 A CN 102150145A CN 2009801350476 A CN2009801350476 A CN 2009801350476A CN 200980135047 A CN200980135047 A CN 200980135047A CN 102150145 A CN102150145 A CN 102150145A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- audio
- data
- host
- media
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title description 2
- 238000012545 processing Methods 0.000 claims abstract description 66
- 230000005540 biological transmission Effects 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 18
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 3
- 238000002955 isolation Methods 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 42
- 230000006870 function Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000000712 assembly Effects 0.000 description 7
- 238000000429 assembly Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 241001269238 Data Species 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000012856 packing Methods 0.000 description 5
- 230000005611 electricity Effects 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 4
- 230000002349 favourable effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 229920002994 synthetic fiber Polymers 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1064—Restricting content processing at operating system level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Telephone Function (AREA)
Abstract
提供了具有改进的功率使用特性、改进的音频功能和改进的媒体安全性的媒体处理系统和设备(100)。该媒体处理系统(100)的实施例包括长时间独立于主机处理器操作的音频处理子系统(301),允许主机处理器(304)进入低功率状态。该媒体处理系统(100)的其它方面提供了增强的音效,诸如将存储的音频样本混合到实时电话音频中。由于解密后的音频数据与主机处理器(304)相隔离,该媒体处理系统(100)的其它方面提供了改进的媒体安全性。
Description
技术领域
本发明一般地涉及电子设备,并且更具体地涉及电子设备中的音频处理。
背景技术
本节旨在向读者介绍可能与下面描述和/或提出的本发明的各个方面有关的技术的各个方面。本讨论被认为有助于向读者提供便于更好地理解本发明的各个方面的背景信息。因此应当理解,应当据此阅读这些表述,而不是对现有技术的承认。
消费电子设备的趋势是将多种功能组合在单个便携电子设备内。例如,蜂窝电话和媒体播放器不再是各自具有其独特能力的不同设备。而是蜂窝电话和媒体播放器功能现在可被合并到一个具有多种能力的多媒体设备内。现代蜂窝电话/媒体播放器通常配备有多种附加特征,这些特征包括:播放音频和视频、拍摄静态照片、摄像、玩视频游戏、GPS导航、网络冲浪、从Internet下载流媒体、蓝牙和WiFi通信、收发电子邮件、收发文本消息等。
将这些特征组合在一个设备中的一个优点是消除携带多个设备的需要。从经济的角度出发,由于构成设备的电子装置被用于多个应用,而不是拥有重复的具有专用功能的电子装置,组合设备还减少了消费者的总花费。另外,通过组合具有多种能力的一系列电子装置,可以提供交叉功能性,其中一种设备利用另一种设备的能力。
通常,由能够直接访问设置在设备中的所有特征的中央处理单元(CPU)控制多媒体设备的增加的功能。例如,在处理存储的音乐的情况下,CPU可以直接控制数据在诸如存储器、数字信号处理器、解码器和媒体播放电路等各种组件之间的路由。在这种类型的设计中,大部分数据,包括受版权保护的媒体(诸如音乐或音乐视频),最终经过CPU以进行处理和路由。这种类型的设计的缺点是CPU被持续加电、活动并且消耗电池电力。
另外,可以由专用电路而不是CPU来处理典型多媒体设备中的电话音频。一般地,电话音频使用专用电路,以便保证实时延迟的严格上限,从而符合与电话有关的各种法规并且避免会使得用户体验变差的延迟。这可能意味着,使用专用电路处理电话音频,从而电话音频可以绕过CPU。专用于处理电话音频的电路通常非常简单,限于均衡和路由功能。这种方法的缺点是电话处理电路的简单性限制了电话音频的本可以实现的电子增强的类型。
将多种能力组合在一个设备中的另一个缺点是随着多媒体设备变得具有更多功能,版权材料被未经授权地拷贝和分发的风险变得更大。例如,能够从Internet下载音乐和/或视频的多媒体设备还可能可将媒体存储到内部存储器或外部设备上,并且通过电子邮件或其它Internet通信介质以及通过硬拷贝再次分发媒体。对具有版权的材料进行加密可以帮助使得这种材料较不易被非法拷贝;然而,在典型的多媒体设备中,解密后的媒体最终可被CPU获得,因此,易于被非法拷贝和分发。
因此,现有技术的典型多媒体或音频设备包括直接耦连到所有音频组件的CPU,所述音频组件包括数字信号处理器(DSP)和外围输入/输出设备。在典型的现有技术设备中,在处理音频的许多处理步骤中直接涉及CPU,包括向数字信号处理器路由编码的或压缩的数据,从DSP接收未压缩数据,以及向外围设备路由未压缩音频。
因此,给多媒体设备提供不受CPU直接控制的音频子系统可能是有利的。提供下面这种设备也是有利的:该设备处理各种媒体并利用多媒体设备可提供的增强的能力,但是同时提供专用设备的最佳性能。例如,提供组合了音频播放器和蜂窝电话的能力、但是在作为音频播放器或蜂窝电话操作时消耗非常低的功率的多媒体设备可能是有利的。另外,提供具有可防止用户非法分发受版权保护的材料的增强的版权保护的多媒体设备可能是有利的。
发明内容
本发明的实施例涉及具有松散地耦连(loosely coupled)到中央处理单元(CPU)的独立音频子系统的多媒体设备。换言之,不是像现有技术中那样将音频组件直接耦连到主总线,而是所有音频组件通过独立的音频总线单独耦连在一起以形成独立的音频子系统。通过一个或多个数据缓冲器实现主机子系统和独立的音频子系统之间的耦连,这些数据缓冲器允许来往于主机子系统和音频子系统之间的单向数据通信。就音频子系统不需要进一步与CPU交互来完成从CPU发送的音频数据的播放而言,音频子系统是独立的。而是当CPU向音频子系统发送音频时,音频子系统负责音频的所有进一步处理和路由。因此,音频子系统从CPU接收编码数据,如同音频子系统是输出设备那样。
另外,本发明的实施例涉及具有独立音频子系统的多媒体设备,该独立音频子系统负责音频信号的所有解码、混合、均衡和路由,并且然后将输出音频直接发送到外围输出设备。由于音频子系统负责音频数据的所有处理,所以在向音频子系统路由音频数据的阶段之后不需要CPU;因此,CPU和主机子系统的其余部分可被配置为在音频数据被处理时进入低功率状态。该系统还可被配置为使得在从主机DMA控制器向音频子系统传输音频数据的过程中进行受保护媒体的解密。另外,音频子系统还可被配置为使得数字信号处理器(DSP)负责电话音频数据的路由、均衡和混合,并且还将别的音频样本混合到电话音频中。
附图说明
当结合附图阅读下面对某些示例实施例的详细描述时,将更好地理解本发明的这些和其它特征、方面和优点,在这些附图中类似的标记表示类似的部分,其中:
图1是根据本发明的实施例的便携电子多媒体设备的立体图;
图2是示出了根据本发明的实施例的音频数据的一般流程的流程图;
图3是根据本发明的实施例的便携电子多媒体设备的框图;
图4是根据本发明的实施例用于处理音乐音频的方法的流程图;
图5是根据本发明的实施例用于处理电话音频的方法的流程图;和
图6是示出根据本发明的实施例的安全机制的流程图。
具体实施方式
下面将描述本发明的一个或多个具体实施例。为了提供这些实施例的简洁描述,不是在本说明书中描述实际实现的所有特征。应当理解,在任何这种实际实现的开发中,如同在任何工程或设计项目中,必须进行大量特定于实现的决策以便实现开发者的特定目标,诸如符合关于系统和关于业务的约束,这可能根据实现的不同而变化。另外,应当理解,这种开发努力可能是复杂和费时的,但是仍然是受益于本公开的普通技术人员进行设计、加工和制造的例行工作。
现在转到图1,图1示出了根据本发明的一个实施例的电子设备100。在某些实施例中,电子设备100可以是用于播放音乐和/或视频的媒体播放器、蜂窝电话、个人数据管理器或其任何组合。因此,电子设备100可以是提供媒体播放器、蜂窝电话、个人数据管理器等的功能中的任何一种或其组合的单一设备。另外,设备100可以允许用户连接到Internet或其它网络,诸如局域网或广域网,并且通过其通信。例如,电子设备100可以允许用户使用电子邮件、文本消息、即时消息、或使用其它形式的电子通信方式来通信。作为例子,电子设备100可以是可从苹果公司获得的具有显示屏的或的机型。
在某些实施例中,可由可充电或可更换电池给电子设备100供电。这种以电池供电的实现可以是高度便携的,允许用户在旅行、工作、锻炼等的同时携带电子设备100。以这种方式,取决于电子设备100提供的功能,电子设备100的用户可以在带着设备100自由移动的同时,听音乐、玩游戏或播放视频、摄像或拍照、拨打和接收电话呼叫、与其它人通信、控制其它设备(例如,设备100可以包括遥控和/或蓝牙功能)等。另外,在某些实施例中,设备100的大小可以被设计为使其可相对容易地放在用户的口袋或手中。在这种实施例中,设备100相对小并且容易被其用户操作和使用,并且因此可以在实际中被带到用户所到的任何地方。虽然此处描述的当前讨论和例子通常提及诸如图1所示的便携的电子设备100,但是应当理解,此处讨论的技术可以适用于任何媒体处理电子设备,不论该设备是否便携。
在示出的实施例中,电子设备100包括外壳102、显示器104、用户输入结构106和输入/输出连接器108。外壳102可由塑料、金属、合成材料或其它适合的材料或其任何组合形成。外壳102可以保护电子设备100的内部组件以免受到物理损坏,并且还可以为内部组件屏蔽电磁干扰(EMI)。
显示器104可以是液晶显示器(LCD)或可以是基于发光二极管(LED)的显示器、基于有机发光二极管(OLED)的显示器或其它适合的显示器。根据本技术的某些实施例,显示器104可以显示用户界面112和各种图像105,诸如标记、头像、照片、专辑封面等。另外,在一个实施例中,显示器104可以是触摸屏,用户可以通过其与用户界面交互。显示器104还可以显示用于向用户提供反馈的各种功能和/或系统指示器,诸如电力状态、呼叫状态、存储器状态等。这些指示器可被结合到显示在显示器104上的用户界面中。如此处讨论的,在某些实施例中,用户界面112可被显示在显示器104上,并且可以为用户提供与电子设备100交互的手段。用户界面可以是文本用户界面、图形用户界面(GUI)或其任意组合,并且可以包括可显示在显示器104的所有或某些区域中的各种层、窗口、屏幕、模板(template)、元素或其它组件。
在一个实施例中,一个或多个用户输入结构106被配置为控制设备100,诸如通过控制操作模式、输出水平、输出类型等来控制。例如,用户输入结构106可以包括用于打开或关闭设备100的按钮。一般地,电子设备100的实施例可以包括任何数目的用户输入结构106,包括按钮、开关、控制板、按键、旋钮、滚轮或任何其它适合的输入结构。输入结构106可以与显示在设备100上用户界面一起工作,以便控制设备100的功能或者连接到设备100或由设备100使用的其它设备的功能。例如,用户输入结构106可以允许用户导航所显示的用户界面,或使所显示的用户界面返回默认或主页屏幕(home screen)。
在某些实施例中,用户界面112可以允许用户通过一个或多个用户输入结构106和/或通过显示器104的触敏实现与显示的界面元素交互。在这些实施例中,用户界面提供交互功能,允许用户通过触摸屏或其它输入结构从显示在显示器104上的选项中进行选择。因此,用户可以通过与用户界面112的适当交互来操作设备100。用户界面112可以具有允许用户和设备100之间的交互的任何适当设计。因此,用户界面112可以提供窗口、菜单、图形、文本、键盘或数字小键盘、滚动设备或任何其它元件。在一个实施例中,用户界面112可以包括屏幕、模板和UI组件,并且可以包括或被划分为任何数目的这些或其它元素。用户界面112的元素的布置可以是层次性的,从而屏幕包括一个或多个模板,模板包括一个或多个UI组件。应当理解,其它实施例可以按任何层次性或非层次性结构布置用户界面元素。
电子设备100还可以包括各种输入和输出端口108,以便允许附加设备的连接。例如,端口108可以是提供耳机连接的耳机插口。另外,端口108可以具有输入/输出能力两者,以便提供头戴式耳麦(例如,耳机和麦克风的组合)连接。本发明的实施例可以包括任何数目的输入和/或输出端口,包括耳机和头戴耳麦插口、通用串行总线(USB)端口、Firewire(IEEE-1394)端口、以及AC和/或DC电源连接器。另外,设备100可以使用输入和输出端口来连接任何其它设备,诸如其它便携电子设备、个人计算机、打印机等,并且与其发送或接收数据。例如,在一个实施例中,电子设备100可以通过Firewire(IEEE-1394)连接而连接到个人计算机,以便发送和接收数据文件,诸如媒体文件。
电子设备100还可以包括各种音频输入和输出部分。例如,输入接收器110可以是接收用户音频输入的麦克风。另外,输出发送器111可以是向用户发送音频信号的扬声器。输入接收器110和输出发送器111可作为电话的音频组件被结合使用。
转到图2和3,示出了根据本发明的实施例的电子设备100中的数据流的图示表示。如图3所示,典型的设备100可以包括主机子系统300和音频子系统301。在一个实施例中,主机子系统300和音频子系统301可以是单个集成电路的部分。在另一个实施例中,主机子系统300和/或音频子系统301可分布在一个或多个集成电路上。如下面进一步讨论的,主机子系统300包括CPU 304,其控制和指示设备100的除了音频处理之外的大部分功能。另一方面,音频子系统301控制设备100的基本上所有音频处理功能。
如图2所示并且在下面进一步详细讨论的,可由音频子系统301处理的音频信号的某些例子包括电话音频201、与音乐和音频有关的音频/视频信号202和用户接口声音204。如方框201所示,某些音频数据,诸如电话音频200和用户接口声音204,可被音频子系统301直接处理而很少或不涉及CPU 304。然而,其它音频信号可在被发送到音频子系统301之前由CPU 304处理。例如,在方框206,CPU304使得音乐音频数据被解密并且被装入主存储器。接着,在步骤208,CPU 304在音频数据被发送到音频子系统301的同时进入低功率状态。最后,在步骤212,音频数据被音频子系统301处理并且被播放,即,被发送到适当的输出设备。
由于可以在很少涉及或不涉及CPU的情况下进行步骤212的音频处理,CPU被腾出来执行其它处理任务,或可替换地进入低功率状态,这延长电子设备100的可用电池寿命。还应当理解,在未在图2中示出的其它实施例中,音频数据可被音频子系统处理,并且然后通过易失存储器被发送到CPU。例如,电子设备100可以包括耦连到音频子系统的数字麦克风,从而通过数字麦克风接收的音频可被音频子系统处理,并且然后被发送到CPU以便处理和/或存储。
现在转到图3,提供了在电子设备100中使用的电路的框图。在框图中可见,电子设备100包括主总线314,大部分外围电子组件被通信地耦连到主总线314。主总线314可以组合直接存储器访问(DMA)总线和编程的输入/输出(PIO)总线的功能。换言之,主总线314可以有助于实现DMA传输和直接CPU读写指令这二者。在本发明的实施例中,主总线314可以是符合高级微控制器总线体系结构的数据总线。
电子设备100还包括CPU 304。CPU 304可以是本领域已知的任何通用微处理器,诸如ARM有限公司的精简指令集计算机(RISC)。CPU 304运行电子设备100的操作系统,并且管理电子设备100的各种功能。这样,它可被耦连到主总线314,并且被配置为向耦连到主总线314的各种设备发送PIO指令。另外,CPU 304可被配置为启动DMA传输。在一个实施例中,来自CPU 304的PIO指令不直接传送到主总线。而是如下面进一步解释的,CPU 304直接耦连到主DMA控制器302,从CPU 304发出的PIO指令通过主DMA控制器302传送到主总线314。CPU 304可以包含一个或多个高速缓存,高速缓存的操作可以完全在CPU 304内部,或者它们可以看到并且在某些情况下截获在主总线314上传送的访问易失存储器318的数据传输。CPU 304可以包括或被耦连到只读存储器(ROM)(未示出),ROM可以保持在电子设备100上运行的操作系统和/或其它设备固件。
电子设备100还可以包括电耦连到主总线314的易失存储器338。易失存储器338可以包括例如任何类型的随机访问存储器(RAM),并且还可以包括非易失存储器设备,诸如ROM、EPROM和EEPROM,或易失和非易失存储器的某种组合。另外,易失存储器338还可以包括控制来往于易失存储器338的数据流的存储器控制器。在本发明的实施例中,使用易失存储器338存储加密形式的压缩视频和/或音频文件。
本发明的实施例还可以包括耦连到CPU 304和主总线314的主DMA控制器302。主DMA控制器302可被配置为在连接到主总线314的各种设备之间路由数据,所述设备包括易失存储器338。在电子设备100中的数据路由可被配置为以多种方式发生。例如,通过在易失存储器338中创建DMA传输指令、命令DMA控制器302开始执行这些DMA传输指令、然后命令附接到主总线314的I/O设备发送传输请求以及发送数据和/或从主DMA控制器302接收数据,CPU 304可以通过主DMA控制器302指挥数据路由。在替换实施例中,通过包含在CPU 304中的数据寄存器传送数据,CPU 304可以直接路由数据。在其它实施例中,可以实现电子设备100而没有DMA控制器,在该情况下,CPU 304可以通过PIO指令直接控制通过电子设备100的数据流。
除了易失存储器338之外,电子设备100还可以包括连接到主总线314的存储存储器(storage memory)336。存储存储器336可以包括闪存,诸如NOR或NAND闪存,但是也可以包括任何类型的电子存储设备,诸如磁盘或光盘。在本发明的实施例中,存储存储器336被用于存储软件和用户文件,诸如电话簿条目、图片、音频和视频文件、铃声、归档的文本消息和电子邮件等。
Internet通信设备316也被耦连到主总线314。Internet通信设备316可以包括用于与Internet通信的任何方法。例如,Internet通信设备316可以包括根据IEEE802.11标准操作的无线通信设备或根据IEEE802.3标准操作的以太网通信设备。在某些实施例中,Internet通信设备316可以仅执行与Internet通信的任务的一部分;例如,在某些实施例中,Internet通信设备316可以仅是物理通信链路,并且由在CPU 304执行上的软件来执行与Internet通信的任务的其余部分。
用户接口318也被连接到主总线314。用户接口318可以包括各种用户接口工具,诸如按钮、旋钮、触摸屏、轨迹球或本领域已知的任何其它用户接口。
视频组件也被连接到主总线314,包括视频处理电路308、视频显示电路310和显示器312。视频处理电路308可被配置为将视频数据压缩为各种格式,并且将压缩的视频数据发送到系统的其它部分。例如,视频处理电路308可被配置为将从照相机306获得的视频数据压缩为JPEG或MPEG格式,并且将压缩的视频数据通过主总线314发送到易失存储器338。视频处理电路308还可被配置为解压缩各种编码格式的视频数据,并且将解压缩的视频数据发送到系统的其它部分。例如,视频处理电路308可被配置为解压缩从易失存储器338获得的JPEG或MPEG编码视频数据,并且将解压缩的视频数据发送到易失存储器338或视频显示电路310。
视频显示电路310可被配置为将解压缩的视频数据转换为视频信号,视频信号然后可被发送到显示器312。视频显示电路还可被配置为产生各种视频格式的视频数据。例如,视频显示电路310可以产生模拟信号,诸如与NTSC兼容的信号,或数字信号,诸如与ATSC或HDMI兼容的信号。另外,显示器312可以是任何类型的视频显示设备,诸如LCD屏幕。在本发明的实施例中,显示器312是电子设备100的组成部分;然而,在替换实施例中,例如,显示器312可以是通过数据传输介质(诸如HDMI接口)耦连到电子设备100的外部设备。
视频组件308、310和312可被一起用于显示各种形式的视频内容。例如,视频组件308、310和312可被用于显示照相机306的实时照相机视图,或显示之前已被记录和存储的静态图片。另外,视频组件308、310和312可被用于显示具有音频和视频内容两者的媒体的视频部分。例如,视频组件308、310和312可被用于处理和显示音频/视频媒体,诸如电子游戏或从任何可能的来源传送到电子设备100的广播媒体,诸如广播电视信号、来自Internet的流媒体、或存储在存储存储器336中的音频/视频文件。
基带无线电装置(baseband radio)322的数据侧也被连接到主总线314。基带无线电装置322发射和接收无线电话信号。基带无线电装置322的数据侧被连接到主机子系统300,从而CPU 304可以直接控制基带无线电装置322的各种特征,诸如进入(incoming)或外出(outgoing)电话呼叫的启动和终止,并且从而CPU 304可以通过无线电话数据业务发送和接收数据(当这样做时,基带无线电装置322与Internet通信设备316具有相同作用)。如下面更详细解释的,基带无线电装置的音频侧连接到音频总线328,从而可由独立于CPU 304的音频子系统处理电话音频。换言之,来自基带无线电装置的音频数据不被传送到主总线314。
图3还示出了根据本发明,松散地耦连到主机子系统300的独立音频子系统301的实施例。由于不同于现有技术,音频子系统的组件不直接耦连到主总线314,并且既不能被CPU 304直接访问也不能直接访问主总线314,所以音频子系统被描述为“松散地耦连”。而是,包括在音频子系统301中的所有音频组件通过独立于主总线314的音频总线328彼此耦连,并且通过由子系统接320控制的一组数据线来实现主机子系统300和音频子系统301之间的耦连,这将在下面更详细地描述。在本发明的实施例中,音频总线328可以是符合的数据总线之一。另外,音频子系统301还可以包括有助于音频子系统301中的DMA传输的音频DMA控制器332。
基带无线电装置322的音频侧也耦连到音频总线328,基带无线电装置322的音频侧包括发射器、接收器和与无线电话通信(诸如蜂窝电话通信)相关联的其它电子设备。音频子系统301以将在下面描述的方式处理由基带无线电装置322产生的音频数据。本发明的实施例还可以包括其它无线通信设备,诸如符合蓝牙的无线设备(未示出)。
编解码器(CODEC)334也耦连到音频总线328,编解码器334被配置为编码、解码和路由来往于一个或多个音频输入和输出设备(诸如麦克风110和扬声器111)的数据。具体地,编解码器334从音频输入设备(诸如麦克风110)接收模拟数据,将模拟音频数据转换为数字音频数据,并且将数字音频数据通过音频总线328发送到音频DSP 330。另外,编解码器334从音频DSP 330接收数字音频数据,将数字音频数据转换为模拟音频数据,并且将模拟音频数据发送到音频输出设备(诸如扬声器111)。在本发明的实施例中,编解码器334包括两个通信通道,从而上述的音频数据的发送和接收可以同时发生。
音频DSP 330包括核心处理器333,诸如AudioTM处理器,以及数据存储器、程序存储器、DMA通道、一个或多个输入缓冲器329和一个或多个输出缓冲器331。在一个实施例中,音频DSP330可以是r2p0 AMCSS处理器。音频DSP 330控制音频子系统301中的数据路由,并且执行音频数据的各种处理,诸如压缩/解压缩、均衡、以及来自不同源的音频的混合。在本发明的实施例中,音频DSP 330被配置为以几个毫秒的粒度在各种音频处理任务之间切换,以便避免法规不可接受的和/或电子设备100的用户不希望的延迟。例如,音频DSP 330可被配置为,如果当CPU 304启动进入电话呼叫时音频DSP 330正在处理音乐音频,则音频DSP 330将迅速地切换到实时电话音频的处理,以避免电话交谈的延迟。
通过使用调度硬件和在音频DSP 330的程序存储器中运行的调度软件,可以便于实现音频DSP 330的迅速切换能力。在一个实施例中,调度器将每个处理任务(例如,音乐音频的解压缩或电话音频的均衡)分解为一系列较小的任务段,每个任务段可被非常快地处理。然后调度器确定在任何给定时刻将哪个任务段送入核心处理器333。由于调度器向核心处理器333送入可被迅速处理的小任务段,调度器不必中断核心处理器333来将核心处理器333切换到另一不同任务。而是在送入与该不同任务有关的任务段之前,调度器等待直到以前的小任务段结束处理。
由于音频DSP 330执行的最常见的任务是音频的解码和后处理(例如,均衡),所以典型的任务段是一小段音频采样的解码或后处理。可以根据特定任务的音频采样率,以及对延迟最为敏感的任务可允许的最大时间延迟,来确定该一小段中的采样数目,其中对延迟最为敏感的任务通常是对电话音频的处理,这是由于实时交谈的延迟是电话法规禁止并且是用户厌烦的。关于采样率,典型的采样率对于电话音频近似为8KHz,对于音乐近似为44.1KHz。关于允许的最大时间延迟,在本发明的实施例中,音频子系统301被配置为对于处理诸如电话音频的实时音频,从自麦克风或无线电接收器接收到音频信号的时刻到扬声器播放音频信号或无线电发射器发射音频信号的时刻,在最好情况下具有2毫秒(ms)的总时间延迟。在其它实施例中,多至5ms的延迟可能是可接受的。例如,在本发明的某些实施例中,实时音频的总处理时间包括由于输入设备或接收器引起的1ms延迟,由于音频DSP 330引起的1ms延迟,以及由于输出设备或发射器引起的1ms延迟。在上述设计约束的情况下,小任务段的大小在处理电话音频时通常为大约8个采样,而在处理音乐时通常为大约44-45个采样。
子系统接口320也连接到主总线314和音频总线328两者,子系统接口320是在主机子系统300和音频子系统301之间流动的信息的主要流动路径,所述信息包括音频数据、控制命令、状态信息和初始化信息。子系统接口320可以包括用于将来自主机子系统300的流式(streaming)音频数据路由到音频子系统301的一个或多个存储器缓冲器,诸如先入先出(FIFO)缓冲器或环形缓冲器。另外,虽然子系统接口320可以包括将来自主机子系统300的数据传送到音频子系统301的单个输出缓冲通道,子系统接口320也可以包括多个缓冲通道,包括至少一个将来自音频子系统301的数据传送到主机子系统300的输入缓冲通道。在一个实施例中,子系统接口320包括4个缓冲通道,它们可分别被配置为输入或输出,并且通常被配置为3个输出缓冲通道和1个输入缓冲通道。通过提供多于一个的缓冲通道将数据传送到音频子系统301,诸如音乐音频的流式音频可与用户接口声音保持分开。子系统接口320还可以包括一个或多个电子寄存器,用于将来自CPU 304的控制信息传送到音频子系统301,并且将来自音频子系统301的状态信息传送到CPU 304。CPU 304和音频DSP 330两者可以对这些寄存器进行读/写访问。
另外,音频子系统301还可以包括一定量的音频RAM或其它形式的电子数据存储设备,该量足以临时存储已由主机子系统300发送并且正在等待由音频DSP 330处理的压缩或未压缩格式的大量流式音频数据。在某些实施例中,音频RAM可被包括在子系统接口320中。在其它实施例中,音频RAM可被包括在音频DSP 330中,在该情况下,输入缓冲器329和输出缓冲器331可被包括在音频RAM中。在一些其它实施例中,音频RAM可以是耦连到音频总线328的单独组件。通过提供临时存储流式音频的音频RAM,主机子系统300可以在音频DSP继续处理音频数据时进入低功率模式,如下面更详细解释的那样。在某些实施例中,音频子系统301可以包括相对少量的音频RAM,大约在10K字节量级或更少。在其它实施例中,音频子系统301可以包括几百K字节的音频RAM。应当理解,增加包括在音频子系统301中的音频RAM的量将增加主机子系统300可以保持在低功率模式中的时间长度。在某些实施例中,音频RAM可以保持相当于10到30秒的音频数据。
另外,还提供了使音频数据与视频数据同步的手段。由于在本发明的实施例中音频/视频信号的音频和视频分量被分别处理,所以可能希望音频和视频数据的同步。具体地,音频/视频信号的视频分量被发送到视频处理电路308,而音频/视频信号的音频分量被发送到音频子系统301。而且,一旦音频数据被发送到音频子系统301,CPU304就不能取回或操纵该音频数据。而是,可以通过将音频信号发送到编解码器334或音频子系统301中的某个其它音频输出设备,诸如S/PDIF输出或音频/视频接口326,来播放由音频DSP 330处理的音频数据。因此,如果没有同步音频和视频数据的播放的手段,音频处理电路和视频处理电路之间可能存在的不相等的处理时间将导致视频分量与音频分量不同步播放。
为了使得在主机子系统300和音频子系统301上运行的软件能够确保以正确的定时播放音频/视频信号的音频和视频分量,计时设备324被连接到主总线314和音频总线328两者。计时设备324可以包括主时基(master timebase),以恒定频率持续递增的寄存器。主机子系统300和音频子系统301两者都可以访问由计时设备324生成的时间信息。然后当电子设备100产生音频/视频输出时,可以使用这种定时信息同步音频输出与视频输出。例如,音频/视频的音频分量在被发送到音频子系统301之前可被编码为具有时间戳。时间戳将播放该音频段的适当时间通知给音频子系统301,以主时基作为当前时间的权威来源。对于另一个例子,当与音频流中感兴趣的点相对应的音频样本被传送到编解码器334时,可以从计时设备324读取定时信息,并且将其写入子系统接口320中的数据寄存器。该定时信息然后可以将特定音频样本已被编解码器334播放的时间通知给CPU 304。
在音频/视频信号被发送到可以使用组合的音频/视频信号的显示设备的实施例中,音频/视频接口326提供重新组合处理后的音频和视频的手段。例如,音频/视频接口326可以将音频数据转换为高分辨率多媒体接口(HDMI)格式。通过音频/视频接口326发送到视频显示电路310的音频数据可以包括从计时接口324读取的定时信息。由于这种定时信息是主机子系统300和音频子系统共用的,该信息可被用于同步音频和视频信号。
应当注意,根据本发明的实施例,可以采用电子设备100的各种配置和能力。作为例子,本发明的实施例可被配置为没有视频处理电路308、视频显示电路310或显示器312。另外,本发明的实施例可以支持多种输入介质,诸如以太网或USB。关于音频子系统301,电子设备100可以包括连接到音频总线328、被配置为允许用户记录音频样本或语音命令的数字麦克风,等等。虽然这里的描述没有详细列出可被包括在电子设备100和音频子系统301中的组件的每种可能的组合,但是本领域的技术人员应当理解,可以增加或消除各种其它组件,而不偏离本发明的精神和范围。还应当注意,图3所述的某些或全部组件可被实现在系统级芯片(SOC)中。另外,在某些实施例中,音频子系统可被实现在其自己单独的芯片中。
另外,还应当理解,某些实施例还可以将其它类型的媒体(诸如视频)的处理包括在松散耦连的子系统中。例如,视频处理电路308、照相机306、视频显示电路310和显示器312可被视频总线耦连在一起,以便形成第二子系统,其通过位于主总线314和视频总线之间的第二子系统接口与主机子系统300通信。对于另一个例子,视频和音频分量可以全部包括在音频子系统301内,在该情况下,音频子系统301实际上可以是音频/视频子系统。出于方便起见,本申请描述具有松散耦连的音频子系统301的电子设备。然而应当理解,本发明的实施例还可应用于具有松散耦连的视频子系统的设备。
现在转到图4,示出了根据本发明的实施例,用于处理音乐音频的方法。描述的实施例包括两个并行处理,处理400和处理401,它们基本上彼此独立。处理400包括由主机子系统300执行的处理步骤,而处理401包括由音频子系统301执行的处理步骤。
处理400在步骤402开始,其中用户启动音轨的播放。例如,音轨的播放可以通过选择特定音乐或音频/视频文件而启动,或可以通过选择特定的Internet网页而启动。
在步骤404,CPU 304将大块音频数据读入存储器,诸如易失存储器338。大块音频数据可以包括由单个音轨、几个音轨或甚至音轨的一部分构成的几分钟的音频数据。另外,音频数据可以来源于各种源。例如,音频数据可以来源于存储设备,诸如存储存储器336,或可以通过Internet通信设备316从Internet流传输。在将大块数据读入存储器之后,CPU 304在易失存储器338中创建DMA传输指令,将DMA传输指令发送到DMA控制器302,并且启动DMA传输,其中所述DMA传输指令向DMA控制器302提供对该音频数据块的描述。
接着,在步骤406,CPU 304进入低功率模式。本领域的技术人员将认识到用于实现低功率状态的若干已知方法。例如,通过将其某些或全部内部电路从主电源电断开,CPU 304可以关闭这些电路。可替换地,CPU 304的一部分或全部可以使用时钟门控技术停止其时钟,这是本领域的普通技术人员已知的。在步骤406,CPU 304还可以给电子设备100中的在播放所选择的音频时不使用的各种其它电子组件断电。在某些实施例中,CPU 304中的至少一个数据通道,诸如中断通道,保持活动,从而可以通过该数据通道触发CPU 304恢复正常操作。以这种方式,在检测到某个事件——诸如进入或外出电话呼叫的启动——之后,可以触发CPU 304恢复正常操作。
接着,在步骤408,在CPU 304保持在低功率状态时,主DMA控制器302根据DMA传输指令将来自易失存储器338的音频数据通过子系统接口320传输到音频子系统301。主DMA控制器302可被配置为传输与子系统接口320中的RAM可保持的一样多的音频数据,其可以相当于多达几秒钟。
接着,在步骤410,主DMA控制器302向音频DSP 330发送信号,指示在子系统接口320中数据可用。该信号的发送或握手(handshake)触发并行的处理401,其中音频DSP 330独立于主机子系统300处理音频数据,这将在下面进一步描述。
接着,处理400进入步骤412,其中主DMA控制器302和易失存储器338进入低功率状态。如同CPU 304,可以通过将主DMA控制器302从其电源电断开、通过时钟门控、或通过本领域的普通技术人员已知的任何其它节电技术,来实现主DMA控制器302的低功率状态。如果要播放的音频的任何部分仍然在易失存储器338中等待被传输,则可以通过用于保留包含在易失存储器中的数据的任何技术来实现易失存储器338的低功率状态。例如,如果使用动态RAM(DRAM)技术实现易失存储器338,则易失存储器338可被置于自刷新模式。
此时,除非CPU 304正在执行并行任务,音频子系统301基本上是电子设备100中被完全供电的唯一组件。如以处理401讨论的,音频子系统301可以独立于主机子系统300和处理400继续从子系统接口320获取音频数据。因此主机子系统300可以在子系统接口320消耗完音频数据之前加电并将新的音频数据发送到子系统接口320。
因此,在步骤414,确定存储在子系统接口320中的音频数据是否低于指定阈值。如果音频数据不低于指定阈值,则如步骤416所示,主DMA控制器302保持在低功率状态。然而如果音频数据低于指定阈值,则启动将所选择的音轨的下一部分装入子系统接口320的处理。在某些实施例中,在已经从子系统接口320向音频DSP 330传输了指定的数据量之后,周期性地执行步骤414。
在存储在子系统接口320中的音频数据低于阈值之后,处理进入步骤418,在该阶段,子系统接口320向主DMA控制器302发送DMA请求,使得主DMA控制器302加电并恢复正常操作。接着,在步骤420,确定主DMA控制器302是否已到达DMA传输指令的结尾。如果主DMA控制器302未处于DMA传输指令的结尾,则处理400进入步骤408,在该情况下,主DMA控制器302向子系统接口320传输更多音频数据,向音频DSP 330发送握手信号,并且回到低功率状态(步骤408、410和412)。如果主DMA控制器302处于描述符的结尾,这表明CPU 304在步骤404存储在主机存储器中的所有音频数据都已被传输到音频子系统301。因此,如果主DMA控制器302已经到达了DMA传输指令的结尾,则处理400进入步骤422,以便开始装入另一音频数据块的处理。
在步骤422,主DMA控制器302向CPU 304发送中断命令,从而使得CPU 304电并且恢复正常操作。接着在步骤404,CPU 304重复上面详细描述的处理。即,CPU 304将另一大块音频数据写入存储器,在易失存储器338中创建DMA传输指令,启动DMA传输(步骤404),并且回到低功率状态(步骤406)。在本发明的实施例中,新的音频数据块可以是用户选择了的特定歌曲的剩余部分,或可替换地,新的音频数据可以来自新的歌曲,诸如存储在存储器中的下一歌曲,或用户以某种方式指定的歌曲列表中的下一歌曲。
现在转到处理401,将描述音频子系统301中的音频数据处理。处理401在步骤424开始,其中音频DSP 330等待音频数据在子系统接口处变得可用。主DMA控制器302在步骤410发送的握手信号触发处理401从步骤424进入步骤426。
在步骤426,音频DSP 330将音频数据从子系统接口320移动到音频DSP 330的存储器,诸如输入缓冲器329。在某些实施例中,如下面进一步解释的,如果音频DSP 330忙于处理更高优先级的任务,诸如处理和路由实时电话音频,则可以不立即进行数据传输。否则,一旦子系统接口320包含指定量的音频数据,就进行音频数据传输。
接着在步骤428,由音频DSP 330的核心处理器333处理传输到音频DSP 330的输入缓冲器329的音频数据,诸如通过解码、均衡和/或混合音频数据来进行处理。例如,音频DSP 330通常解码音频数据,以便将音频数据转换为编解码器334认识的格式。解码处理通常是必须的,这是由于在某些实施例中,传输到音频子系统301的音频数据为压缩格式,并且因此在被发送到编解码器334之前必须被解压缩。对于另一个例子,音频DSP 330还可能必须进行音频数据均衡。可能需要均衡处理来校正由编解码器334、麦克风110或扬声器111引入的信号失真。对于另一个例子,音频DSP 330可以在将两个音频数据流发送到编解码器334之前,将两个音频数据流混合在一起。混合处理提供了将各种音频特征结合到电子设备100中的手段。例如,接口声音可由CPU 304发送并且被与播放的音乐混合,或者音频可以在音轨之间平滑渐变。另外,由于电话音频和音乐音频都由音频子系统301处理,所以可以实现组合电话和音乐音频的各种音效。例如,在一个实施例中,可以混合音乐和电话音频,以便在启动电话呼叫后,创建音乐和电话音频之间的平滑渐变。在另一个实施例中,可以混合音乐和电话音频,以便创建在电话交谈中以较低音量播放的背景音乐。
如上所述,如果一个更高优先级的任务当前正在使用音频DSP330的核心处理器333,音频数据可能不被立即处理。因此,如果音频DSP 330的输入缓冲器329变满,子系统接口320将停止向音频DSP 330发送音频数据,仅当输入缓冲器329可以处理新数据时才继续。如上所述,本发明的实施例包括调度硬件和在音频DSP 330的程序存储器中运行的调度软件,调度软件考虑分配的任务优先级,选择在任何时刻处理哪个任务。当调度器选择音频数据以便处理时,步骤428可以执行。从而,在完成更高优先级的任务时,音频数据的播放可以在步骤428暂停。例如,如果在播放音轨时启动了进入呼叫,则处理401将在步骤428暂停,当电话呼叫结束时继续。
接着,在步骤430,音频DSP 330将处理后的音频数据存储在音频输出缓冲器331中,并且将处理后的音频数据从输出缓冲器331路由到编解码器334。如上面讨论的,编解码器334将数字音频数据转换为模拟信号,并且将模拟音频信号发送到输出设备,诸如扬声器或耳机。可替换地,取决于音频类型和/或用户选择,音频DSP 330可以将处理后的音频发送到编解码器334以外的外围音频设备。例如,音频DSP 330可以将数据路由到音频/视频接口326或SPDIF接口。
在本发明的某些实施例中,重复步骤424、426、428和430,直到传输到子系统接口320的所有音频数据已被处理和播放,即,被路由到输出设备。应当注意,在当前描述的实施例中,发送到音频子系统301的音频数据不能访问回到主机子系统300的返回路径;因此,发送到音频子系统的音频数据不再是包括CPU 304在内的主机子系统300可见的。另外,可以重复处理400,直到用户选择的所有音频数据已被音频子系统301处理并且播放,或直到用户已经取消了该处理。
现在转到图5,示出了根据本发明的实施例的处理电话音频的方法。处理500在步骤502以电话呼叫的启动开始。电话呼叫可以是进入呼叫或由用户发起的外出呼叫。在本发明的实施例中,当用户通过拨号或按压“应答”按钮来进行了拨打或接收电话呼叫时,触发步骤502。
接着在步骤504,主机子系统300进入低功率模式。主机子系统300可以包括CPU 304、主DMA控制器302、存储存储器336、易失存储器338、和/或连接到主总线326的不是音频子系统301的一部分的任何其它组件。以这种方式,仅有用于处理电话音频的那些组件被完全供电。如上所述,可以使用本领域已知的任何技术,诸如时钟门控,来实现低功率模式。另外,虽然处理500示出主机子系统300在电话呼叫的持续期间保持为低功率模式,但是如果被触发以便恢复正常操作,主机子系统300或其某个部分,诸如CPU 304,可以恢复正常操作。例如,如果用户选择了要在电话交谈期间播放的音乐音频或声音剪辑,主机子系统300可以恢复正常操作,以便将所选择的音频传送到音频子系统301。此外,如果用户已将主机子系统300配置为在电话音频处理期间执行并行处理,在主机子系统300可以根本不进入低功率状态。
接着在步骤506,确定基带无线电装置322和编解码器334是否“已准备好(ready)”,其含义是它们已准备好发送和接收音频数据。可以通过本领域已知的任何方式物理地实现对“已准备好”状态的测试。例如,编解码器334可以包括输出缓冲器和输入缓冲器,输出缓冲器保持将要发送给输出音频设备的数据,而输入缓冲器保持音频输入设备已经接收并且将要发送给音频DSP 330以便处理的数据。类似地,基带无线电装置322可以包括输出缓冲器和输入缓冲器,输出缓冲器保持将要发射的外出数据,而输入缓冲器保持基带无线电装置322已经接收并且将要发送给音频DSP 330以便处理的进入数据。在本发明的一个实施例中,“已准备好”状态可以意味着两个输出缓冲器都包含指定数量的空存储空间,并且两个输入缓冲器都包含指定数量的音频样本。如果所有4个缓冲器都指示“已准备好”状态,则可以进行数据传输,并且处理500因此进入步骤508。等待全部4个缓冲器指示“已准备好”状态简化了后续处理,这是由于后续处理步骤可以假设任何输入数据都可用,并且用于任何输出数据的空间都可用;随着处理的进展,不必检查输入数据的存在,或输出缓冲器空间的可用性。在其它实施例中,在处理期间,由音频DSP 330分别确定输入数据的存在和输出缓冲器空间的可用性。
步骤506优先考虑实时电话音频的处理,同时还允许高效地使用音频DSP 330的核心处理器333。只要电话音频正在等待处理,并且与电话有关的电路能够处理新数据,音频DSP 330电路就会被应用于处理电话音频。优先考虑实时电话音频有助于确保迅速地处理电话音频,从而避免法规可能禁止和/或用户可能不希望的电话音频延迟。然而,可能存在电话电路不能使用音频DSP 330的短的时间段。例如,如果基带无线电装置322或编解码器334的输出缓冲器满了或接近满了,或如果基带无线电装置322或编解码器334的输入缓冲器空了或接近空了,可能发生上述情况。不同于允许音频DSP 330在这些时间期间保持空闲,本发明的实施例包括这样的处理:当基带无线电装置322或编解码器334不处于“已准备好”状态时,音频DSP 330利用该处理来处理其它任务。从而,处理500可以在步骤506处分支,从而如果基带无线电装置322或编解码器334不处于“已准备好”状态,则进入步骤520。
如果所有4个缓冲器都指示“已准备好”状态,则处理500进入步骤508。在步骤508,向音频DSP 330进行请求。在一个实施例中,该请求是DMA请求,并且由包括一组4条数据线的DMA请求电路实现该请求,每条数据线耦连到4个缓冲器之一并且被配置为指示该缓冲器是否处于“已准备好”状态。这4条数据线可进一步耦连到“与”门的输入端,该“与”门的输出端耦连到包括在音频DSP330中的DMA请求输入线。在另一个实施例中,该请求是中断请求,并且由包括一组4条数据线的中断请求电路实现该请求,每条数据线耦连到4个缓冲器之一并且被配置为指示该缓冲器是否处于“已准备好”状态。这4条数据线可进一步耦连到“与”门的输入端,该“与”门的输出端耦连到包括在音频DSP 330中的中断请求输入线。
接着在步骤510,电话音频数据从编解码器334和基带无线电装置322的输入缓冲器被传输到音频DSP 330的输入缓冲器329。在一个实施例中,音频DSP 330包括至少两个输入缓冲器,并且从编解码器334和基带无线电装置322的数据传输同时发生。在一个实施例中,在请求是DMA请求的情况下,将响应于DMA请求由DMA控制器执行传输。在另一个实施例中,在请求是中断请求的情况下,将响应于中断请求由运行在音频DSP 330上的软件所产生的编程I/O操作执行传输。
接着在步骤512,电话音频从音频DSP 330的输入缓冲器329被获取,被音频DSP 330处理,并且被发送到音频DSP 330的输出缓冲器331。这种处理的例子可以包括进入或外出传输的解码或编码、电话音频的均衡、以及不同音频数据流的数字混合。本领域的普通技术人员将认识到执行上述处理的方法。
接着在步骤514,音频DSP 330可将其它音频样本混合到电话音频中。例如,CPU 304可以使得诸如蜂鸣或铃声等用户接口声音与电话音频混合,作为另一个进入呼叫的指示。作为另一个例子,解码后的音乐音频可与电话音频混合,从而在进入和/或外出电话音频的背景中播放解码的音乐音频。为了混合解码的音乐音频与电话音频,音频DSP 330可以转换音乐音频的采样率以匹配电话音频的采样率,如本领域的普通技术人员可以理解的那样。
接着在步骤516,电话音频数据被发送到基带无线电装置322和编解码器334的输出缓冲器。在当前描述的实施例中,编解码器334和基带无线电装置322的数据传输同时发生。因此,根据一个实施例,音频DSP 330还包括至少两个输出缓冲器331。在一个实施例中,由DMA控制器执行传输。在另一个实施例中,由运行在音频DSP 330上的软件产生的编程I/O操作执行传输。
接着在步骤518,基带无线电装置322传输外出音频数据,并且编解码器334向输出设备(诸如扬声器)发送进入音频数据。本领域的普通技术人员将认识到执行步骤518中所述的处理的技术。
在本发明的实施例中,以基带无线电装置和编解码器变为“已准备好”的速率确定的速率重复步骤506到518,直到处理了所有进入和外出音频数据并且电话呼叫结束。一旦电话呼叫结束,主机子系统300退出低功率模式,并且恢复正常操作。如上所述,即使在电话呼叫进行过程中,如果被触发恢复正常操作,主机子系统300也可以恢复正常操作。另外,如果没有后续任务等待由主机子系统300处理,主机子系统300也可以在电话呼叫终止之后停留在低功率模式。
返回步骤506,如上所述,如果4个缓冲器之一不指示“已准备好”状态,处理500将进入步骤520。在步骤520,音频DSP 330可以执行某些其它短的处理任务,诸如对已经从子系统接口320传输的音频数据段进行解码,或处理由CPU 304发送的用户接口声音数据以提醒用户另一个进入呼叫或低电池电量状态等。在步骤520执行的处理足够简短,从而不会显著延迟电话音频处理的下一个预定执行。由于如上所述的那样,音频DSP以小的任务段来处理数据,所以步骤520将结束并且处理500将迅速返回步骤506。在步骤520期间处理的音频数据最终可与步骤514期间的电话音频混合。
现在转到本发明的增强的安全属性,本发明的实施例包括用于通过加密增强有版权的音频的安全性的技术。在提交于2008年4月1日的题目为“Cenral DMA with Arbitrary Processing Functions”的共同待决并且共同受让的美国专利申请No.12060728中描述了这种加密技术的例子,通过引用将其完整结合在此。简而言之,装入电子设备100的有版权的音频数据可被以加密形式存储在存储器中,从而使得可从电子设备100下载的任何未授权拷贝是不可用的。因此,电子设备100配备有解密硬件和/或软件,从而加密的音频文件可在播放之前被解密。然而,某些解密处理可能给黑客提供从电子设备100中的存储器位置,诸如CPU 304的内部寄存器或易失存储器338,下载未加密的音频文件的机会。因此,使用解密后的音频数据不出现在CPU 304可以访问的存储器位置的解密处理是有益的。为了实现这一点,美国专利申请No.12060728中描述的加密技术使得音频数据的解密与音频数据从存储器向目标DMA设备的缓冲器的发送同时发生。
在本发明的实施例中,在电子设备100中采用上述加密/解密技术,以便增强受版权保护的材料的安全性。例如,可由主DMA控制器302执行对加密音频数据的解密,作为向子系统接口320传输音频的处理的一部分。以这种方式,解密后的音频数据出现在主总线314上并且在音频子系统301内,但是不在CPU 304可以访问的存储器位置。由于本发明的实施例被配置为仅允许解码的音频数据向音频子系统301的单向传输,所以CPU 304不能访问发送到音频子系统301的音频。换言之,音频子系统301对于CPU 304将表现为耦连到主总线的输出设备,压缩的音频数据被发送到音频子系统301以便处理和播放。该功能部分地由音频DSP 330实现,音频DSP 330不仅对压缩的音频进行解压缩,而且均衡、混合以及向编解码器334路由音频数据,从而使得CPU 304不用参与涉及解码的音频数据的处理的过程。
因此,在本发明的实施例中,CPU 304可以受限地访问音频子系统301中的资源,包括音频DSP 330。通过子系统接口320的设计实现该受限访问。子系统接口320被配置为使得,在电子设备100的操作期间,CPU 304仅能访问子系统接口320的主机侧,如上面讨论的,这使得CPU 304仅能够使用音频子系统301中的资源的子集。例如,在一个实施例中,子系统接口320被配置为仅允许访问包括在音频DSP 330中的易失存储器的仅仅一部分,包括输入缓冲器329和一个或多个控制和/或状态寄存器。因此,CPU 304不能访问包括在音频子系统301中的易失存储器的主要部分。因此,由于CPU 304不能访问解密的音频数据,本发明的实施例使得黑客难以创建有版权的材料的未授权拷贝。
另外,为了抑制黑客将未授权软件装入设备10的能力,主机子系统300可以周期性地对装入耦连到主总线300的每个设备中的软件执行审计。由于音频子系统301不能访问主总线300,不需要考虑音频子系统301中的代码。这节省了审计所需的处理时间。
虽然主机子系统300仅能够受限地访问音频子系统301,但是当电子设备100初始加电时,主CPU 304还是可能需要临时广泛访问音频子系统301。这种临时访问可能允许CPU 304装入由音频子系统301使用的某些初始化数据。例如,当电子设备100加电时,CPU304可以装入在音频DSP 330上运行的调度器软件。另外,当电子设备100加电时,CPU还可以向音频总线上的其它组件提供初始化数据。为了装入音频DSP 330软件和其它初始化数据,在简短的初始化阶段期间,CPU 304可以临时广泛访问包含在音频DSP 330、子系统接口320和CPU 304加电后为其服务的任何其它组件中的存储器地址空间。然而,为了维持解密的音频的安全性,在简短的初始化阶段之后,随后就限制CPU 304利用子系统接口320对音频子系统301的内部资源的访问。
为了在维持音频子系统301的安全性同时仍然允许CPU 304装入软件和初始化数据,本发明的实施例包括内置于子系统接口320中的安全机制。该安全机制允许子系统接口320在两个模式之一中工作:“不安全模式”和“安全模式”。在“不安全模式”中,CPU304可以利用子系统接口320完全访问音频子系统301的内部资源。在“安全模式”中,CPU 304可以利用子系统接口320受限地访问音频子系统301的内部资源。当电子设备100加电时,迫使子系统接口320进入“不安全模式”,并且软件可以明确地将子系统接口320从“不安全模式”切换到“安全模式”,但是不能返回“不安全模式”(除了使电子设备100断电再加电)。
图6示出了根据本发明的实施例,内置于子系统接口320中的安全机制的操作。当电子设备100在步骤602加电时,方法600开始。紧跟在加电之后,CPU 304运行可信代码,即,已知是安全的并且未被破坏的代码。可信代码的例子是从位于包含CPU 304的相同集成电路上的只读存储器(ROM)装入的代码。
接着在步骤604,可信CPU代码通过子系统接口320将软件装入音频DSP 330的程序存储器空间。在步骤604中,CPU 304还可以可选地装入由音频子系统301中的其它组件使用的任何其它初始化数据或软件。在步骤604中,CPU 304可以不受限制地访问音频DSP 330、子系统接口320和附接到音频总线328的任何其它组件上的基本上所有可用的存储器地址空间。
接着在步骤606,在装入所有初始化数据之后,启动音频子系统软件。在音频子系统软件启动之后,在步骤608禁用初始化路径。在一个实施例中,禁用初始化路径意味着将子系统接口320从“不安全模式”切换到“安全模式”。在一个实施例中,根据由CPU 304装入的软件,音频DSP 330自身禁用初始化路径。在其它实施例中,由CPU 304禁用初始化路径。当初始化路径被禁用时,CPU 304不再能够不受限制地访问音频子系统301的内部资源。例如,在初始化路径被禁用之后,CPU 304仅可以访问包括在音频DSP 330中的易失存储器中包括输入缓冲器329和一个或多个控制和/或状态寄存器的部分。一旦初始化路径被禁用,CPU 304访问受限制的存储器地址的尝试仅仅会返回错误。而且,一旦初始化路径被禁用,它就不能被再次启用,除非关闭并且再次打开电子设备100,在该情况下,重复处理600。
虽然可以容易地对本发明做出各种修改和替换形式,已经在附图中以示例的方式示出并且在此处详细描述了特定实施例。然而,应当理解,本发明不旨在局限于公开的特定形式。而是,本发明覆盖落在所附权利要求限定的本发明的精神和范围中的所有修改、等同物和替换。
Claims (14)
1.一种手持电子设备,包括:
主机子系统;和
媒体处理子系统,该媒体处理子系统包括:
耦连到主机子系统的子系统接口,该子系统接口被配置为在
主机处理器和媒体处理子系统之间交换媒体数据;和
耦连到子系统接口的数字信号处理器,该数字信号处理器被
配置为处理通过子系统接口接收的媒体数据,并且将媒体数据路
由到输入/输出设备。
2.如权利要求1所述的电子设备,其中媒体处理子系统被配置为处理音频数据,并且主机子系统被配置为处理视频数据。
3.如权利要求2所述的电子设备,包括计时接口,被配置为向主机子系统和媒体处理子系统两者提供关于时间的信息,其中该关于时间的信息被用于同步音频数据与视频数据。
4.如权利要求1所述的电子设备,其中主机子系统的至少一部分被配置为在媒体处理子系统正在处理媒体数据时进入低功率模式。
5.如权利要求1所述的电子设备,其中媒体处理子系统包括耦连到数字信号处理器的电话通信设备,数字信号处理器被配置为在电话通信设备和输入/输出设备之间路由电话音频数据。
6.如权利要求5所述的电子设备,其中主机子系统的至少一部分被配置为在媒体处理子系统正在处理电话音频数据时进入低功率模式。
7.如权利要求5所述的电子设备,其中数字信号处理器被配置为混合电话音频和通过子系统接口接收的音频样本。
8.如权利要求1所述的电子设备,其中主机子系统包括耦连到子系统接口的DMA控制器,DMA控制器被配置为将媒体数据从主机处理器路由到子系统接口。
9.如权利要求8所述的电子设备,其中DMA控制器被配置为解密媒体数据。
10.如权利要求8所述的电子设备,其中主机子系统的至少一部分被配置为在使得DMA控制器进行DMA传输之后进入低功率模式。
11.如权利要求1所述的电子设备,包括允许从主机子系统向媒体处理子系统传输可信程序代码的初始化路径,所述初始化路径被配置为在传输了所述可信程序代码之后不可用。
12.一种在手持电子设备中处理音频数据的方法,包括:
从主机子系统向音频子系统中的电子存储设备发送一定数量的音频数据,该数量足够大以使主机子系统能够有利地进入和退出低功率模式;
使主机子系统进入低功率模式;
处理存储在音频子系统的电子存储设备中的音频数据;和
将处理后的音频数据发送到耦连至音频子系统的输出设备。
13.如权利要求12所述的方法,包括:
使主机子系统退出低功率模式;和
从主机子系统向音频子系统中的电子存储设备发送另一数量的音频数据,该另一数量足够大以使主机子系统能够有利地进入和退出低功率状态。
14.如权利要求12所述的方法,其中从主机子系统发送到音频子系统中的电子存储设备的音频数据的数量提供大致相当于10到30秒的音频数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/185,656 | 2008-08-04 | ||
US12/185,656 US8041848B2 (en) | 2008-08-04 | 2008-08-04 | Media processing method and device |
PCT/US2009/051436 WO2010017034A1 (en) | 2008-08-04 | 2009-07-22 | Media processing method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102150145A true CN102150145A (zh) | 2011-08-10 |
CN102150145B CN102150145B (zh) | 2014-10-22 |
Family
ID=41077803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980135047.6A Active CN102150145B (zh) | 2008-08-04 | 2009-07-22 | 媒体处理方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (4) | US8041848B2 (zh) |
EP (2) | EP2750044B1 (zh) |
KR (1) | KR101208882B1 (zh) |
CN (1) | CN102150145B (zh) |
WO (1) | WO2010017034A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065654A (zh) * | 2011-10-18 | 2013-04-24 | 联发科技股份有限公司 | 移动装置芯片及其移动装置控制方法 |
CN103220567A (zh) * | 2013-03-21 | 2013-07-24 | 青岛海信信芯科技有限公司 | 一种电视开机音乐播放的方法,系统及电视机 |
CN103853312A (zh) * | 2012-12-03 | 2014-06-11 | 辉达公司 | 来自与数据处理设备的处理器关联的存储器的静态帧显示 |
CN104126159A (zh) * | 2011-12-30 | 2014-10-29 | 英特尔公司 | 对音频加速器的轻便电源管理 |
CN106775556A (zh) * | 2015-11-24 | 2017-05-31 | 三星电子株式会社 | 主机cpu辅助的音频处理方法及执行该方法的计算系统 |
CN113467715A (zh) * | 2015-09-08 | 2021-10-01 | 苹果公司 | 零延迟数字助理 |
Families Citing this family (206)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US7778838B2 (en) * | 2006-09-29 | 2010-08-17 | Intel Corporation | Apparatus, system and method for buffering audio data to allow low power states in a processing system during audio playback |
US9591392B2 (en) * | 2006-11-06 | 2017-03-07 | Plantronics, Inc. | Headset-derived real-time presence and communication systems and methods |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9703784B2 (en) * | 2007-12-24 | 2017-07-11 | Sandisk Il Ltd. | Mobile device and method for concurrently processing content according to multiple playlists |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8041848B2 (en) | 2008-08-04 | 2011-10-18 | Apple Inc. | Media processing method and device |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US8428053B2 (en) * | 2009-02-26 | 2013-04-23 | Plantronics, Inc. | Presence based telephony call signaling |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
KR20110110434A (ko) * | 2010-04-01 | 2011-10-07 | 삼성전자주식회사 | 저전력 오디오 재생장치 및 방법 |
US8738824B1 (en) * | 2010-04-21 | 2014-05-27 | Marvell International Ltd. | Low power audio codec |
US8452997B2 (en) * | 2010-04-22 | 2013-05-28 | Broadcom Corporation | Method and system for suspending video processor and saving processor state in SDRAM utilizing a core processor |
US8639516B2 (en) | 2010-06-04 | 2014-01-28 | Apple Inc. | User-specific noise suppression for voice quality improvements |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US20120250877A1 (en) * | 2011-03-31 | 2012-10-04 | Taiyi Cheng | Method and system for processing audio signals in a central audio hub |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US8694994B1 (en) * | 2011-09-07 | 2014-04-08 | Amazon Technologies, Inc. | Optimization of packet processing by delaying a processor from entering an idle state |
KR101804799B1 (ko) * | 2011-10-25 | 2017-12-06 | 삼성전자주식회사 | 저전력으로 오디오 데이터를 재생하는 장치 및 방법 |
US9467771B2 (en) * | 2012-01-18 | 2016-10-11 | Sonova Ag | Battery-powered wireless audio device and a method of operating such a wireless audio device |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
WO2013147765A1 (en) * | 2012-03-28 | 2013-10-03 | Intel Corporation | Audio processing during low-power operation |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
EP2683102B1 (en) * | 2012-07-03 | 2014-10-08 | Alcatel Lucent | Device and Method for transmitting samples of a digital baseband signal |
KR101951171B1 (ko) | 2012-08-09 | 2019-02-25 | 삼성전자 주식회사 | 멀티미디어 프로세싱 시스템 및 그 동작 방법 |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US9760150B2 (en) * | 2012-11-27 | 2017-09-12 | Nvidia Corporation | Low-power states for a computer system with integrated baseband |
US9208755B2 (en) * | 2012-12-03 | 2015-12-08 | Nvidia Corporation | Low power application execution on a data processing device having low graphics engine utilization |
CN113470641B (zh) | 2013-02-07 | 2023-12-15 | 苹果公司 | 数字助理的语音触发器 |
JP6175796B2 (ja) * | 2013-02-22 | 2017-08-09 | 株式会社バッファロー | データ蓄積装置 |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
KR101759009B1 (ko) | 2013-03-15 | 2017-07-17 | 애플 인크. | 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것 |
US8593427B1 (en) | 2013-05-10 | 2013-11-26 | Jinrong Yang | System and method for managing display power consumption |
US9075612B2 (en) | 2013-05-10 | 2015-07-07 | Jinrong Yang | System and method for managing display power consumption |
US20140344486A1 (en) * | 2013-05-20 | 2014-11-20 | Advanced Micro Devices, Inc. | Methods and apparatus for storing and delivering compressed data |
US20140355665A1 (en) * | 2013-05-31 | 2014-12-04 | Altera Corporation | Adaptive Video Reference Frame Compression with Control Elements |
US9541984B2 (en) | 2013-06-05 | 2017-01-10 | Apple Inc. | L2 flush and memory fabric teardown |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
DE112014002747T5 (de) | 2013-06-09 | 2016-03-03 | Apple Inc. | Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten |
JP2016521948A (ja) | 2013-06-13 | 2016-07-25 | アップル インコーポレイテッド | 音声コマンドによって開始される緊急電話のためのシステム及び方法 |
CN105453026A (zh) | 2013-08-06 | 2016-03-30 | 苹果公司 | 基于来自远程设备的活动自动激活智能响应 |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
WO2015100430A1 (en) | 2013-12-24 | 2015-07-02 | Digimarc Corporation | Methods and system for cue detection from audio input, low-power data processing and related arrangements |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
TWI566107B (zh) | 2014-05-30 | 2017-01-11 | 蘋果公司 | 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置 |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
KR20160090487A (ko) * | 2015-01-22 | 2016-08-01 | 삼성전자주식회사 | 오디오 프로세싱 시스템 |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
DE102016109892B4 (de) * | 2016-05-30 | 2018-03-01 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10330932B2 (en) * | 2017-07-14 | 2019-06-25 | Realwear, Incorporated | Multi-process access to a single-process resource |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
CN107908929B (zh) * | 2017-11-24 | 2020-07-31 | 腾讯音乐娱乐科技(深圳)有限公司 | 播放音频数据的方法和装置 |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
KR102629424B1 (ko) * | 2018-01-25 | 2024-01-25 | 삼성전자주식회사 | 보안 기능을 지원하는 저전력 보이스 트리거 시스템을 포함하는 애플리케이션 프로세서, 이를 포함하는 전자 장치 및 그 동작 방법 |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US20220276828A1 (en) | 2019-08-09 | 2022-09-01 | Allen Antony | Power management and distributed audio processing techniques for playback devices |
CN110781108B (zh) * | 2019-09-17 | 2021-05-14 | 中国人民解放军国防科技大学 | 一种基于hdd硬盘的数据发送接收方法及装置 |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
KR20210132862A (ko) * | 2020-04-28 | 2021-11-05 | 삼성전자주식회사 | 클록 제어 방법 및 이를 위한 전자 장치 |
KR20220145581A (ko) * | 2021-04-22 | 2022-10-31 | 삼성전자주식회사 | 오디오 신호를 처리하기 위한 전자 장치 및 그 작동 방법 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0668700A2 (en) * | 1994-02-17 | 1995-08-23 | SANYO ELECTRIC Co., Ltd. | Audio/video decoding system |
US5461266A (en) * | 1990-11-27 | 1995-10-24 | Hitachi, Ltd. | Power consumption control system |
US5737638A (en) * | 1995-07-14 | 1998-04-07 | International Business Machines Corporation | System for determining plurality of data transformations to be performed upon single set of data during single transfer by examining communication data structure |
US6359911B1 (en) * | 1998-12-04 | 2002-03-19 | Koninklijke Philips Electronics N.V. (Kpenv) | MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information |
US20030172104A1 (en) * | 2002-03-08 | 2003-09-11 | Intel Corporation | Weighted and prioritized task scheduler |
US20030179659A1 (en) * | 2002-03-22 | 2003-09-25 | Caviar Shi | Optical disc drive sharing switching device, method and associated application system |
US20050221810A1 (en) * | 2004-03-30 | 2005-10-06 | Robert Hasbun | Updating code with validation |
US20060008180A1 (en) * | 2004-06-23 | 2006-01-12 | Wakeland Carl K | Method and device to process digital media streams |
US20060294268A1 (en) * | 2005-06-28 | 2006-12-28 | Chun-Chang Yang | Computer system capable of outputting video signals to an external display device |
EP1785811A1 (en) * | 2005-11-14 | 2007-05-16 | Texas Instruments Incorporated | Memory information transfer power management |
EP1806660A2 (en) * | 2005-11-26 | 2007-07-11 | Wolfson Microelectronics Plc | Audio device |
US20070198870A1 (en) * | 2006-02-20 | 2007-08-23 | Ite Tech. Inc. | Method for controlling power consumption and multi-processor system using the same |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3203701B2 (ja) * | 1990-11-01 | 2001-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コードセグメントのリンク方法とそのシステム及びコードセグメントのダイナミックリンク方法 |
US5689534A (en) | 1992-05-12 | 1997-11-18 | Apple Computer, Inc. | Audio functional unit and system and method for configuring the same |
US5628013A (en) * | 1992-09-30 | 1997-05-06 | Apple Computer, Inc. | Apparatus and method for allocating processing time in a frame-based computer system |
US5384890A (en) | 1992-09-30 | 1995-01-24 | Apple Computer, Inc. | Method and apparatus for providing multiple clients simultaneous access to a sound data stream |
US5574934A (en) * | 1993-11-24 | 1996-11-12 | Intel Corporation | Preemptive priority-based transmission of signals using virtual channels |
US5546547A (en) | 1994-01-28 | 1996-08-13 | Apple Computer, Inc. | Memory bus arbiter for a computer system having a dsp co-processor |
US5442789A (en) * | 1994-03-31 | 1995-08-15 | International Business Machines Corporation | System and method for efficiently loading and removing selected functions on digital signal processors without interrupting execution of other functions on the digital signal processors |
US6343263B1 (en) | 1994-08-02 | 2002-01-29 | Apple Computer, Inc. | Real-time signal processing system for serially transmitted data |
US5799190A (en) | 1994-08-09 | 1998-08-25 | Apple Computer, Inc. | Communications coprocessor for realizing bidirectional isochronous communications link with host computer |
US5647008A (en) * | 1995-02-22 | 1997-07-08 | Aztech Systems Ltd. | Method and apparatus for digital mixing of audio signals in multimedia platforms |
US5915131A (en) | 1995-05-05 | 1999-06-22 | Apple Computer, Inc. | Method and apparatus for handling I/O requests utilizing separate programming interfaces to access separate I/O services |
US5696990A (en) * | 1995-05-15 | 1997-12-09 | Nvidia Corporation | Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area |
US5982459A (en) * | 1995-05-31 | 1999-11-09 | 8×8, Inc. | Integrated multimedia communications processor and codec |
US5815583A (en) * | 1996-06-28 | 1998-09-29 | Intel Corporation | Audio serial digital interconnect |
US6453409B1 (en) * | 1996-11-07 | 2002-09-17 | Yamaha Corporation | Digital signal processing system |
US6212199B1 (en) * | 1997-03-18 | 2001-04-03 | Apple Computer, Inc. | Apparatus and method for interpretation and translation of serial digital audio transmission formats |
US6072808A (en) | 1997-12-23 | 2000-06-06 | Intel Corporation | Method of providing and retrieving a data segment |
US6134605A (en) * | 1998-04-15 | 2000-10-17 | Diamond Multimedia Systems, Inc. | Redefinable signal processing subsystem |
US6130794A (en) * | 1998-06-30 | 2000-10-10 | Lucent Technologies Inc. | Statistical monitoring of data channels for enhanced data recovery performance |
JP2000299718A (ja) * | 1999-04-13 | 2000-10-24 | Matsushita Electric Ind Co Ltd | 携帯電話装置およびオーディオ装置 |
US6624816B1 (en) | 1999-09-10 | 2003-09-23 | Intel Corporation | Method and apparatus for scalable image processing |
EP1157370B1 (en) | 1999-11-24 | 2014-09-03 | DSP Group Switzerland AG | Data processing unit with access to the memory of another data processing unit during standby |
US6606388B1 (en) | 2000-02-17 | 2003-08-12 | Arboretum Systems, Inc. | Method and system for enhancing audio signals |
JP3812274B2 (ja) | 2000-03-17 | 2006-08-23 | 株式会社日立製作所 | 映像アクセス装置及び映像アクセスプログラムを記録した記録媒体 |
US6535208B1 (en) | 2000-09-05 | 2003-03-18 | Ati International Srl | Method and apparatus for locking a plurality of display synchronization signals |
US20020108009A1 (en) | 2000-12-29 | 2002-08-08 | Michele Borgatti | Electronic system having modular expansion function facilities |
US6822654B1 (en) | 2001-12-31 | 2004-11-23 | Apple Computer, Inc. | Memory controller chipset |
US7305540B1 (en) | 2001-12-31 | 2007-12-04 | Apple Inc. | Method and apparatus for data processing |
US7015921B1 (en) | 2001-12-31 | 2006-03-21 | Apple Computer, Inc. | Method and apparatus for memory access |
EP1329787B1 (en) * | 2002-01-16 | 2019-08-28 | Texas Instruments Incorporated | Secure mode indicator for smart phone or PDA |
IL148592A0 (en) * | 2002-03-10 | 2002-09-12 | Ycd Multimedia Ltd | Dynamic normalizing |
US7111089B2 (en) * | 2002-12-23 | 2006-09-19 | Motorola, Inc. | Programmable scheduler for digital signal processor |
US7119808B2 (en) | 2003-07-15 | 2006-10-10 | Alienware Labs Corp. | Multiple parallel processor computer graphics system |
TWI241828B (en) * | 2004-02-18 | 2005-10-11 | Partner Tech Corp | Handheld personal data assistant (PDA) for communicating with a mobile in music-playing operation |
US7711129B2 (en) | 2004-03-11 | 2010-05-04 | Apple Inc. | Method and system for approximating graphic equalizers using dynamic filter order reduction |
US7458397B2 (en) * | 2004-07-09 | 2008-12-02 | Michael Doyle | Modular fluid distribution system |
TWM261751U (en) | 2004-07-09 | 2005-04-11 | Uniwill Comp Corp | Switching display processing architecture for information device |
TWI256591B (en) * | 2004-08-11 | 2006-06-11 | Benq Corp | Method of reducing interrupts |
US20060067535A1 (en) | 2004-09-27 | 2006-03-30 | Michael Culbert | Method and system for automatically equalizing multiple loudspeakers |
US20060067536A1 (en) | 2004-09-27 | 2006-03-30 | Michael Culbert | Method and system for time synchronizing multiple loudspeakers |
US7593782B2 (en) | 2005-01-07 | 2009-09-22 | Apple Inc. | Highly portable media device |
US7664558B2 (en) | 2005-04-01 | 2010-02-16 | Apple Inc. | Efficient techniques for modifying audio playback rates |
US8300841B2 (en) | 2005-06-03 | 2012-10-30 | Apple Inc. | Techniques for presenting sound effects on a portable media player |
US7529948B2 (en) | 2005-08-25 | 2009-05-05 | Apple Inc. | Methods and apparatuses for dynamic power estimation |
US20070083467A1 (en) | 2005-10-10 | 2007-04-12 | Apple Computer, Inc. | Partial encryption techniques for media data |
GB2443989B (en) * | 2005-11-26 | 2008-11-05 | Wolfson Microelectronics Plc | Audio device and method |
WO2007068296A1 (en) * | 2005-12-16 | 2007-06-21 | Dolby Sweden Ab | Apparatuses, methods and computer program for generating and interpreting a data stream with a series of segments having specified entry points |
US7673238B2 (en) | 2006-01-05 | 2010-03-02 | Apple Inc. | Portable media device with video acceleration capabilities |
JP2007213772A (ja) * | 2006-01-11 | 2007-08-23 | Sony Corp | 記録転送プログラム、記録転送装置及び記録転送方法 |
WO2007086042A2 (en) * | 2006-01-25 | 2007-08-02 | Nice Systems Ltd. | Method and apparatus for segmentation of audio interactions |
US8032672B2 (en) | 2006-04-14 | 2011-10-04 | Apple Inc. | Increased speed of processing of audio samples received over a serial communications link by use of channel map and steering table |
US7548937B2 (en) * | 2006-05-04 | 2009-06-16 | International Business Machines Corporation | System and method for scalable processing of multi-way data stream correlations |
US8681159B2 (en) | 2006-08-04 | 2014-03-25 | Apple Inc. | Method and apparatus for switching between graphics sources |
US8036766B2 (en) | 2006-09-11 | 2011-10-11 | Apple Inc. | Intelligent audio mixing among media playback and at least one other non-playback application |
JP2008097430A (ja) * | 2006-10-13 | 2008-04-24 | Sanyo Electric Co Ltd | ストリームデータ再生システム |
US7622950B2 (en) | 2007-01-03 | 2009-11-24 | Apple Inc. | GPIO mux/dynamic port configuration |
US9794605B2 (en) | 2007-06-28 | 2017-10-17 | Apple Inc. | Using time-stamped event entries to facilitate synchronizing data streams |
US7861008B2 (en) | 2007-06-28 | 2010-12-28 | Apple Inc. | Media management and routing within an electronic device |
US8041438B2 (en) | 2007-06-28 | 2011-10-18 | Apple Inc. | Data-driven media management within an electronic device |
US9632561B2 (en) | 2007-06-28 | 2017-04-25 | Apple Inc. | Power-gating media decoders to reduce power consumption |
US8683197B2 (en) | 2007-09-04 | 2014-03-25 | Apple Inc. | Method and apparatus for providing seamless resumption of video playback |
US20090079746A1 (en) | 2007-09-20 | 2009-03-26 | Apple Inc. | Switching between graphics sources to facilitate power management and/or security |
US8069051B2 (en) | 2007-09-25 | 2011-11-29 | Apple Inc. | Zero-gap playback using predictive mixing |
US7984317B2 (en) | 2008-03-24 | 2011-07-19 | Apple Inc. | Hardware-based power management of functional blocks |
US9032113B2 (en) | 2008-03-27 | 2015-05-12 | Apple Inc. | Clock control for DMA busses |
US20090248910A1 (en) | 2008-04-01 | 2009-10-01 | Apple Inc. | Central dma with arbitrary processing functions |
US8041848B2 (en) | 2008-08-04 | 2011-10-18 | Apple Inc. | Media processing method and device |
US20100063825A1 (en) | 2008-09-05 | 2010-03-11 | Apple Inc. | Systems and Methods for Memory Management and Crossfading in an Electronic Device |
US8380959B2 (en) | 2008-09-05 | 2013-02-19 | Apple Inc. | Memory management system and method |
US8610830B2 (en) | 2008-09-11 | 2013-12-17 | Apple Inc. | Video rotation method and device |
US8099528B2 (en) | 2008-09-30 | 2012-01-17 | Apple Inc. | Data filtering using central DMA mechanism |
US8553504B2 (en) | 2008-12-08 | 2013-10-08 | Apple Inc. | Crossfading of audio signals |
US8165321B2 (en) | 2009-03-10 | 2012-04-24 | Apple Inc. | Intelligent clip mixing |
-
2008
- 2008-08-04 US US12/185,656 patent/US8041848B2/en active Active
-
2009
- 2009-07-22 KR KR1020117005234A patent/KR101208882B1/ko active IP Right Grant
- 2009-07-22 EP EP14158215.5A patent/EP2750044B1/en not_active Not-in-force
- 2009-07-22 WO PCT/US2009/051436 patent/WO2010017034A1/en active Application Filing
- 2009-07-22 CN CN200980135047.6A patent/CN102150145B/zh active Active
- 2009-07-22 EP EP09790735.6A patent/EP2310947B1/en active Active
-
2011
- 2011-08-31 US US13/222,871 patent/US8359410B2/en active Active
-
2013
- 2013-01-18 US US13/745,480 patent/US8713214B2/en not_active Ceased
-
2018
- 2018-11-14 US US16/190,506 patent/USRE48323E1/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5461266A (en) * | 1990-11-27 | 1995-10-24 | Hitachi, Ltd. | Power consumption control system |
EP0668700A2 (en) * | 1994-02-17 | 1995-08-23 | SANYO ELECTRIC Co., Ltd. | Audio/video decoding system |
US5737638A (en) * | 1995-07-14 | 1998-04-07 | International Business Machines Corporation | System for determining plurality of data transformations to be performed upon single set of data during single transfer by examining communication data structure |
US6359911B1 (en) * | 1998-12-04 | 2002-03-19 | Koninklijke Philips Electronics N.V. (Kpenv) | MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information |
US20030172104A1 (en) * | 2002-03-08 | 2003-09-11 | Intel Corporation | Weighted and prioritized task scheduler |
US20030179659A1 (en) * | 2002-03-22 | 2003-09-25 | Caviar Shi | Optical disc drive sharing switching device, method and associated application system |
US20050221810A1 (en) * | 2004-03-30 | 2005-10-06 | Robert Hasbun | Updating code with validation |
US20060008180A1 (en) * | 2004-06-23 | 2006-01-12 | Wakeland Carl K | Method and device to process digital media streams |
US20060294268A1 (en) * | 2005-06-28 | 2006-12-28 | Chun-Chang Yang | Computer system capable of outputting video signals to an external display device |
EP1785811A1 (en) * | 2005-11-14 | 2007-05-16 | Texas Instruments Incorporated | Memory information transfer power management |
EP1806660A2 (en) * | 2005-11-26 | 2007-07-11 | Wolfson Microelectronics Plc | Audio device |
US20070198870A1 (en) * | 2006-02-20 | 2007-08-23 | Ite Tech. Inc. | Method for controlling power consumption and multi-processor system using the same |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065654A (zh) * | 2011-10-18 | 2013-04-24 | 联发科技股份有限公司 | 移动装置芯片及其移动装置控制方法 |
TWI467361B (zh) * | 2011-10-18 | 2015-01-01 | Mediatek Inc | 行動裝置晶片及其行動裝置控制方法 |
CN103065654B (zh) * | 2011-10-18 | 2015-11-25 | 联发科技股份有限公司 | 移动装置芯片及其移动装置控制方法 |
CN104126159A (zh) * | 2011-12-30 | 2014-10-29 | 英特尔公司 | 对音频加速器的轻便电源管理 |
CN104126159B (zh) * | 2011-12-30 | 2017-12-19 | 英特尔公司 | 对音频加速器的轻便电源管理 |
CN103853312A (zh) * | 2012-12-03 | 2014-06-11 | 辉达公司 | 来自与数据处理设备的处理器关联的存储器的静态帧显示 |
CN103220567A (zh) * | 2013-03-21 | 2013-07-24 | 青岛海信信芯科技有限公司 | 一种电视开机音乐播放的方法,系统及电视机 |
CN113467715A (zh) * | 2015-09-08 | 2021-10-01 | 苹果公司 | 零延迟数字助理 |
US11550542B2 (en) | 2015-09-08 | 2023-01-10 | Apple Inc. | Zero latency digital assistant |
US11954405B2 (en) | 2015-09-08 | 2024-04-09 | Apple Inc. | Zero latency digital assistant |
CN106775556A (zh) * | 2015-11-24 | 2017-05-31 | 三星电子株式会社 | 主机cpu辅助的音频处理方法及执行该方法的计算系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2750044B1 (en) | 2015-10-21 |
CN102150145B (zh) | 2014-10-22 |
EP2310947A1 (en) | 2011-04-20 |
EP2310947B1 (en) | 2014-04-23 |
US8041848B2 (en) | 2011-10-18 |
US20130131852A1 (en) | 2013-05-23 |
WO2010017034A1 (en) | 2010-02-11 |
KR101208882B1 (ko) | 2012-12-05 |
US8713214B2 (en) | 2014-04-29 |
KR20110030711A (ko) | 2011-03-23 |
US20110314185A1 (en) | 2011-12-22 |
EP2750044A1 (en) | 2014-07-02 |
USRE48323E1 (en) | 2020-11-24 |
US8359410B2 (en) | 2013-01-22 |
US20100030928A1 (en) | 2010-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102150145B (zh) | 媒体处理方法和设备 | |
CN101595466B (zh) | 可配置串行存储器接口 | |
US9015859B2 (en) | Contextual use and expiration of digital content | |
KR101320840B1 (ko) | 임의적인 처리 기능을 갖는 중앙 dma | |
CN102999262A (zh) | 活动锁定墙纸 | |
CN103607678B (zh) | 一种无线同步音箱 | |
CN103493017A (zh) | 后台任务的管理 | |
CN110121084A (zh) | 切换端口的方法、装置和系统 | |
JP2009049564A (ja) | 端末制御システム、端末制御方法、携帯端末および端末制御サーバ | |
CN105025349A (zh) | 加密的投屏 | |
WO2007005661A3 (en) | Systems and methods for adding media from a content input device into a loop | |
KR20110092713A (ko) | 실시간 멀티미디어 서비스 제공 방법 및 시스템 | |
KR101380531B1 (ko) | 장애 허용성을 제공하는 방법 및 핸드셋과 그 시스템 | |
JP4789246B2 (ja) | コンテンツ利用制御方法及びその装置 | |
EP2294527B1 (en) | Distributed digital rights management system and method | |
TW200610388A (en) | Digital multimedia broadcasting system and digital multimedia player thereof | |
JP2009239326A (ja) | 移動無線端末装置 | |
JP2007200509A (ja) | 電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |