CN103547996A - 用于应用无关的音频加速的系统、方法和计算机程序产品 - Google Patents

用于应用无关的音频加速的系统、方法和计算机程序产品 Download PDF

Info

Publication number
CN103547996A
CN103547996A CN201180067877.7A CN201180067877A CN103547996A CN 103547996 A CN103547996 A CN 103547996A CN 201180067877 A CN201180067877 A CN 201180067877A CN 103547996 A CN103547996 A CN 103547996A
Authority
CN
China
Prior art keywords
voice data
processor
deciphering
graphics engine
decline
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
Application number
CN201180067877.7A
Other languages
English (en)
Other versions
CN103547996B (zh
Inventor
N·卡布拉索斯
D·沃雷尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN103547996A publication Critical patent/CN103547996A/zh
Application granted granted Critical
Publication of CN103547996B publication Critical patent/CN103547996B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Storage Device Security (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

允许在图形引擎上而不是在主机处理器上执行音频解密和解码的方法、系统和计算机系统产品。可以在不必改变媒体应用软件的情况下完成这些。下降编解码器功能驱动器将下降编解码器暴露于媒体应用,该下降编解码器可以接着将加密和编码后的音频数据发送到下降编解码器功能驱动器。下降编解码器功能驱动器可以接着将音频数据重定向到图形驱动器。图形驱动器可以接着将音频数据传递到图形引擎。图形引擎可以接着解密和解码音频数据。解密和解码后的音频数据返回到图形驱动器,该图形驱动器可以接着将解密和解码后数据发送到功能驱动器。功能驱动器可以接着将解密和解码后的音频数据传递到用于渲染的下降编解码器。

Description

用于应用无关的音频加速的系统、方法和计算机程序产品
背景技术
当今,媒体应用典型地在主机处理器上执行音频解码,其可以要求重要的中央处理器(CPU)周期,特别是在优质音频的情况下。这必然增加了主机处理器的功耗。测量已经表明了在蓝光播放期间,解码DTS HDMaster音频例如会给CPU功率需求增加~0.5W。
然而,独立的图形引擎可以具有所需的信号处理逻辑(例如,乘法累加),其除了对视频流解码外还可用于对音频流解码。图形引擎核心可以比通用CPU核心更加有效地(就功耗而论)处理媒体工作负荷。在图形引擎上处理视频帧与在主机上处理相同的帧相比可以节省许多瓦特的CPU功率。图形引擎能够执行几十或者几百的并行线程,其可能允许在更短的时期内(与在主机上执行相同的工作负荷相比)完成可并行化的工作负荷,允许全部的CPU包更加频繁地进入睡眠状态,因此节省了CPU功率。当处理优质音频时,高级别的并行性是可能的。
可以利用用于音频处理的图形引擎的一个方案将大概需要为音频路径复制软件结构,该软件结构可能已经适合于视频。但是这可能会造成不得不修改媒体应用的负担,以便它们可以与视频解码一起在图形引擎上执行音频解码。
附图说明
图1是图示说明了实施例可以在其中操作的媒体处理体系结构的框图。
图2是图示说明了实施例的部件和数据流的框图。
图3是图示说明了实施例的计算环境的框图。
图4是图示说明了实施例的处理的流程图。
图5是图示说明了根据实施例的将音频数据传送到图形引擎的流程图。
图6是图示说明了根据实施例通过下降编解码器(down codec)功能驱动器从图形引擎接收解密的解码音频数据的流程图。
在所述附图中,参考数字的最左边的(多个)数字标识该参考数字在其中首次出现的附图。
具体实施方式
现在比照所述附图描述实施例,其中相同的参考数字指示相同的或功能相似的元件。当讨论具体的配置和布置时,应当理解的是这么做仅是用于说明性的目的。相关领域的普通技术人员将认识到可以使用其他的配置和布置,而不脱离本说明书的精神和范围。对相关领域的普通技术人员来说显而易见的是还可以使用除了本文所描述之外的各种其他的系统和应用。
本文公开一种在图形引擎上而非主机处理器上执行音频解码和解码的方法、系统和计算机程序产品。这可以如同下面所描述地那样完成,而不需要必须改变媒体应用程序。
本文描述的系统的实施例可以在图1所示的体系结构环境中操作。这种体系结构100可以包括主机处理器110。处理器110可以与图形引擎120通信。图形引擎120可以典型地用来执行图形处理。如将要在下面更加具体描述的,根据实施例,图形引擎120也可以用来执行音频处理。该图示的体系结构也可以包括下降编解码器130。在实施例中,下降编解码器130可以是接收解码的音频采样并且渲染音频的部件,从而驱动一个或多个输出装置,例如扬声器或耳机。主机处理器110、图形引擎120、以及下降编解码器130可以经由通信基础结构140来通信。在实施例中,通信基础结构140可以采取例如总线的形式。
在实施例中,本发明可以被并入到媒体系统中。例如,实施例可以被并入到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝式电话、蜂窝式电话/PDA组合、电视、智能装置(例如,
智能电话、智能平板或智能电视)、移动互联网装置(MID)、消息发送装置、数据通信装置、或其他固定的或便携的信息设备。
图2是图示说明了根据实施例的在本文中所描述的系统200的框图。下降编解码器功能驱动器230可以首先将下降编解码器290暴露于媒体应用210。媒体应用210接着可以将加密和编码的音频数据220发送到下降编解码器功能驱动器230。下降编解码器功能驱动器230接着可以将音频数据220重定向到图形(GFX)驱动器240。图形驱动器240接着可以将音频数据220传递到图形引擎250。在图示说明的实施例中,图形引擎250可以例如但不限于,是Intel图形引擎GEN(可以从加利福尼亚,Santa Clara的Intel公司获得)。在可选实施例中,可以使用可选的图形引擎。
图形引擎250接着可以解密和解码音频数据。解密和解码后的音频数据260可以接着被返回给图形驱动器240,图形驱动器240可以接着将解密和解码后的音频数据260发送到下降编解码器功能驱动器230。下降编解码器功能驱动器230可以接着将解密和解码后的音频数据260传递到下降编解码器290用于渲染。在图示说明的实施例中,可以经由总线驱动器270和音频控制器280将解密和解码后的音频数据260发送给下降编解码器290。
本文公开的一个或多个特征可以在硬件、软件、固件、或它们的组合中实现,包括分立的和集成的电路逻辑、专用集成电路(ASIC)逻辑、可编程门阵列、和/或微控制器,或可以实现为特殊领域的集成电路封装的一部分,或者集成电路封装的组合。本文所使用的术语“软件”是指计算机程序产品,其包括存储有计算机程序逻辑的非瞬态计算机可读介质,以使得计算机系统执行本文公开的一个或多个特征和/或特征的组合。
在实施例中,可以将下降编解码器功能驱动器230实现为软件或固件。在图3的计算系统300的环境中图示说明了这样的软件或固件实施例。系统300可以包括中央处理单元(CPU)320和存储器主体310,存储器310可以包括存储计算机程序逻辑340的一个或多个非瞬态计算机可读介质。举例来说,可以将存储器310实现为只读存储器(ROM)或随机存取存储器(RAM)装置。CPU320和存储器310可以使用本领域普通技术人员所公知的若干技术中的任何一种(例如,总线)来进行通信。可以由CPU320读取和执行包含在存储器310中的计算机程序逻辑340。共同地表示为I/O330的一个或多个I/O端口和/或I/O装置也可以被连接到CPU320和存储器310。在图3的实施例中,将下降编解码器功能驱动器230展示为较大主体的计算机程序逻辑340的一部分。
下降编解码器功能驱动器230可以包括重定向逻辑350。重定向逻辑350可以负责将音频数据从媒体应用重定向到图形驱动器。下降编解码器功能驱动器230还可以包括接收逻辑360,其可以负责从图形引擎接收解密和解码后的音频数据,并将此数据转发到下降编解码器用于渲染。
根据实施例,可以如图4所图示说明的那样执行本文描述的系统的处理。在410处,下降编解码器功能驱动器可以将下降编解码器暴露于媒体应用。在420处,下降编解码器功能驱动器可以将从媒体应用接收的加密和编码后的音频数据转移到用于解密和解码的图形引擎。在实施例中,这种音频解密可以使用与用于视频解密目的相同的密钥。在430处,在完成解密和解码之后,下降编解码器功能驱动器可以从图形引擎接收解密和解码后的音频。在440处,下降编解码器功能驱动器可以将解密和解码后的音频发送到下降编解码器。在450处,下降编解码器可以渲染音频。
根据实施例,将在图5中更加详细地图示说明加密和编码后的音频到图形引擎的转移(图4中的420)。这里,可以经由图形驱动器,将加密和编码后的音频发送给图形引擎。在510处,下降编解码器功能驱动器可以接收加密和编码后的音频数据。在520处,下降编解码器功能驱动器可以将该音频数据重定向到图形驱动器。在530处,图形驱动器可以将加密和编码后的音频数据发送到图形引擎。在540处,图形引擎可以解密和解码该音频数据。
根据实施例,将在图6中更加详细地描述通过下降编解码器功能驱动器从图形引擎接收解密和解码后的音频(图4中的430)。在610处,图形引擎可以将解密和解码后的音频数据发送到图形驱动器。在620处,图形驱动器可以将解密和解码后的音频数据发送到用于渲染的下降编解码器功能驱动器。
需要注意的是,在图形引擎完成解密和解码之后,重新加密不是必需的。这假定了解密后的音频流不必经过要求加密的路径。诸如路径的示例可以是包括遵循外设组件互连快速(PCIe)或通用串行总线(USB)标准,或包括高清晰度多媒体接口(HDMI)端口的部件或其他基础结构的路径。另一方面,如果将下降编解码器连接到要求加密的总线,那么图形引擎在将音频传递回下降编解码器功能驱动器以前可以重新加密或者可以下采样音频(举例来说,到48kHz),因为下采样非优质音频可以不要求加密。
此外,通过使得下降编解码器功能驱动器将音频数据重定向到图形引擎,并且随后重定向到下降编解码器,额外的延时可能产生在音频路径中。可以通过使下降编解码器功能驱动器将图形引擎解码音频分组所需的估计延时报告返回到媒体应用来处理这个解码延时。可以由图形引擎生成这个延时信息,并将其提供到下降编解码器功能驱动器。这样的机制可以促进视频和音频流的同步。
本文借助于图示说明功能、特征、及其关系的功能构件块公开了方法和系统。为了便于描述,在本文中已经任意地定义了这些功能构件块的至少一些范围。可以定义替代的边界,只要能够适当地执行所指定的功能及其关系。
虽然本文公开了不同的实施例,但可以理解的是仅仅是以举例而不是限制的方式来呈现所述实施例。对相关领域技术人员显而易见的是,可以在此做出形式和细节上的不同变化,而不会脱离本文公开的方法和系统的精神和范围。因此,权利要求的宽度和范围将不会被本文所公开的任何示范性实施例所限制。

Claims (16)

1.一种方法,包括:
由执行下降编解码器功能驱动器的主机处理器实施暴露下降编解码器;以及
由执行所述下降编解码器功能驱动器的所述主机处理器实施将音频数据转移到图形引擎。
2.如权利要求1所述的方法,其中所述转移包括:
由执行下降编解码器功能驱动器的所述主机处理器实施将所述音频数据重定向到图形驱动器;
由所述图形驱动器实施将所述音频数据发送到所述图形引擎;以及
由所述图形引擎实施解密和解码所述音频数据。
3.如权利要求1所述的方法,进一步包括:
由执行所述下降编解码器功能驱动器的所述主机处理器接收来自所述图形引擎的呈解密和解码后的形式的音频数据。
4.如权利要求3所述的方法,其中所述接收包括:
由执行所述下降编解码器功能驱动器的所述主机处理器接收来自图形驱动器的解密和解码后的音频数据,所述图形驱动器从所述图形引擎接收所述解密和解码后的音频数据。
5.如权利要求1所述的方法,进一步包括:
由执行所述下降编解码器功能驱动器的所述主机处理器实施将解码和解密后的音频信息发送到所述下降编解码器。
6.如权利要求5所述的方法,进一步包括:
由所述下降编解码器实施对所述解密和解码后的音频数据的渲染。
7.一种计算机程序产品,包括存储有计算机程序逻辑的非瞬态计算机可读介质,所述计算机程序逻辑包括:
使得主机处理器将音频数据转移到用于解密和解码的图形引擎的逻辑。
8.如权利要求7所述的计算机程序产品,其中使得所述主机处理器转移音频数据的所述逻辑包括:
使得所述主机处理器将所述音频数据重定向到图形驱动器的逻辑,所述图形驱动器接着将所述音频数据发送到所述图形引擎。
9.如权利要求7所述的计算机程序产品,进一步包括:
使得所述主机处理器从所述图形引擎接收解密和解码后的音频数据的逻辑。
10.如权利要求9所述的计算机程序产品,其中使得所述主机处理器接收解密和解码后的音频数据的所述逻辑包括:
使得所述主机处理器从所述图形驱动器接收解密和解码后的音频数据的逻辑,所述图形驱动器从所述图形引擎接收解密和解码后的音频数据。
11.如权利要求9所述的计算机程序产品,进一步包括:
使得所述主机处理器将解码和解密后的音频信息发送到用于渲染的下降编解码器的逻辑。
12.一种系统,包括:
主机处理器;和
与所述主机处理器通信的存储器,其中所述存储器存储被配置为指示所述主机处理器将音频数据转移到用于解密和解码的图形引擎的多条处理指令。
13.如权利要求12所述的系统,其中转移音频数据的所述指令包括:
被配置为指示所述主机处理器将所述音频数据重定向到图形驱动器的指令,所述图形驱动器接着将所述音频数据发送到所述图形引擎。
14.如权利要求12所述的系统,其中所述存储器进一步存储被配置为指示所述主机处理器从所述图形引擎接收解密和解码后的音频数据的多条处理指令。
15.如权利要求14所述的系统,其中从所述图形引擎接收解密和解码后的音频数据的所述指令包括:被配置为指示所述主机处理器从所述图形驱动器接收解密和解码后的音频数据的指令,所述图形驱动器从所述图形引擎接收解密和解码后的音频数据。
16.如权利要求12所述的系统,其中所述存储器进一步存储被配置为指示所述主机处理器将解码和解密后的音频信息发送到用于渲染的下降编解码器的多条处理指令。
CN201180067877.7A 2011-02-17 2011-12-28 用于应用无关的音频加速的系统、方法 Expired - Fee Related CN103547996B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/029,661 2011-02-17
US13/029,661 US20120216048A1 (en) 2011-02-17 2011-02-17 System, method and computer program product for application-agnostic audio acceleration
PCT/US2011/067580 WO2012112219A2 (en) 2011-02-17 2011-12-28 System, method and computer program product for application-agnostic audio acceleration

Publications (2)

Publication Number Publication Date
CN103547996A true CN103547996A (zh) 2014-01-29
CN103547996B CN103547996B (zh) 2017-03-29

Family

ID=46653746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180067877.7A Expired - Fee Related CN103547996B (zh) 2011-02-17 2011-12-28 用于应用无关的音频加速的系统、方法

Country Status (7)

Country Link
US (1) US20120216048A1 (zh)
EP (1) EP2676190B1 (zh)
JP (1) JP5728098B2 (zh)
KR (1) KR101572738B1 (zh)
CN (1) CN103547996B (zh)
TW (1) TWI599985B (zh)
WO (1) WO2012112219A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108352161A (zh) * 2015-12-21 2018-07-31 英特尔公司 动态音频编解码器枚举

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090069910A1 (en) * 2007-09-11 2009-03-12 Douglas Gabel Encapsulation of high definition audio data over an input/output interconnect
US20090141034A1 (en) * 2007-11-29 2009-06-04 Accelereyes, Llc System for Improving Utilization of GPU Resources

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7782328B1 (en) * 1998-03-24 2010-08-24 Ati Technologies Ulc Method and apparatus of video graphics and audio processing
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
KR20020076272A (ko) * 2000-01-31 2002-10-09 캐논 가부시끼가이샤 데이터 처리 장치, 데이터 처리 시스템, 데이터 처리 방법및 기억 매체
US7065651B2 (en) * 2002-01-16 2006-06-20 Microsoft Corporation Secure video card methods and systems
US7296154B2 (en) * 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
US7293178B2 (en) * 2002-12-09 2007-11-06 Microsoft Corporation Methods and systems for maintaining an encrypted video memory subsystem
US7916864B2 (en) * 2006-02-08 2011-03-29 Nvidia Corporation Graphics processing unit used for cryptographic processing
JP2007257114A (ja) * 2006-03-22 2007-10-04 Toshiba Corp 再生装置および再生装置のバッファ管理方法
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
US8233527B2 (en) * 2007-05-11 2012-07-31 Advanced Micro Devices, Inc. Software video transcoder with GPU acceleration
US8239938B2 (en) * 2008-12-08 2012-08-07 Nvidia Corporation Centralized device virtualization layer for heterogeneous processing units
US9165394B2 (en) * 2009-10-13 2015-10-20 Nvidia Corporation Method and system for supporting GPU audio output on graphics processing unit
US9942593B2 (en) * 2011-02-10 2018-04-10 Intel Corporation Producing decoded audio at graphics engine of host processing platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090069910A1 (en) * 2007-09-11 2009-03-12 Douglas Gabel Encapsulation of high definition audio data over an input/output interconnect
US20090141034A1 (en) * 2007-11-29 2009-06-04 Accelereyes, Llc System for Improving Utilization of GPU Resources

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108352161A (zh) * 2015-12-21 2018-07-31 英特尔公司 动态音频编解码器枚举

Also Published As

Publication number Publication date
EP2676190A2 (en) 2013-12-25
WO2012112219A3 (en) 2012-10-18
US20120216048A1 (en) 2012-08-23
WO2012112219A2 (en) 2012-08-23
KR101572738B1 (ko) 2015-12-04
JP2014511503A (ja) 2014-05-15
EP2676190B1 (en) 2018-10-31
TWI599985B (zh) 2017-09-21
TW201241784A (en) 2012-10-16
JP5728098B2 (ja) 2015-06-03
CN103547996B (zh) 2017-03-29
KR20130118950A (ko) 2013-10-30
EP2676190A4 (en) 2016-10-19

Similar Documents

Publication Publication Date Title
TWI579703B (zh) 具有經改良的信號完整性之較低功率拌碼技術
KR101735682B1 (ko) 데이터 스트림의 부분 암호화를 위한 메커니즘
JP5613175B2 (ja) コンテンツ保護ポートの事前認証と認証維持のための方法、装置およびシステム
TWI279156B (en) Wireless audio system using wireless LAN
CN103339959A (zh) 动态视频切换
US20180288137A1 (en) Data processing offload
US10104342B2 (en) Techniques for secure provisioning of a digital content protection scheme
TW201719446A (zh) 包含多處理器所共享之記憶體的多處理器系統
US20100026689A1 (en) Video processing system, method, and computer program product for encrypting communications between a plurality of graphics processors
CN107278305B (zh) 数字权限管理回放故障避免
CN102037453A (zh) 具有任意处理功能的中央dma
US20190044699A1 (en) Reconfigurable galois field sbox unit for camellia, aes, and sm4 hardware accelerator
CN111008407A (zh) 用于执行虚拟加密操作的加密电路
US20200104973A1 (en) Methods and apparatus for frame composition alignment
US12027087B2 (en) Smart compositor module
CN102685592A (zh) 一种支持数字版权保护的流媒体播放器方法
TWI587705B (zh) 硬體輔助之媒體回放與擷取的同步技術
CN103547996A (zh) 用于应用无关的音频加速的系统、方法和计算机程序产品
US20220416997A1 (en) Handling unaligned transactions for inline encryption
TW201637456A (zh) 處理精簡客戶端終端機中資料之技術
US11386237B2 (en) Scalable encryption engine having partitionable data paths
CN114390283A (zh) 视频解码方法及相关设备
US20180084460A1 (en) Sharing system resources between mobile devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170329

Termination date: 20191228

CF01 Termination of patent right due to non-payment of annual fee