CN103348676B - 共享的视频‑音频流水线 - Google Patents
共享的视频‑音频流水线 Download PDFInfo
- Publication number
- CN103348676B CN103348676B CN201180067236.1A CN201180067236A CN103348676B CN 103348676 B CN103348676 B CN 103348676B CN 201180067236 A CN201180067236 A CN 201180067236A CN 103348676 B CN103348676 B CN 103348676B
- Authority
- CN
- China
- Prior art keywords
- audio
- warp knit
- video
- frame
- knit code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42653—Internal components of the client ; Characteristics thereof for processing graphics
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
公开了涉及音频流的处理的技术。例如,主机处理平台可接收包括经编码的音频流的内容流。进而,图形引擎从其产生经解码的音频流。这种产生可包括图形引擎执行各种操作,诸如熵解码操作、反量化操作以及离散反余弦变换操作。在实施例中,内容流可进一步包括经编码的视频流。因此,图形引擎可从其产生经解码的视频流。这种音频和视频解码可并行执行。
Description
背景技术
很多计算平台包括主机中央处理单元(CPU)(在本文中也称为主机),以执行与用户应用相关联的各种处理操作。这种应用可涉及诸如视频和/或音频流之类的媒体的解码和输出(呈现)。
关于视频,主机通常依赖于图形引擎来执行与视频的解码和呈现有关的操作。然而,对于音频,主机通常执行与其解码和呈现有关的操作。尽管可采用专用的硬件音频编解码器(编码器/解码器),然而它们增加了相当多的成本。
不幸的是,音频流通过主机的处理并不是非常有功率效率的。例如,音频处理通常不能在典型客户平台中的2或4个以上的线程中完成。
附图简述
在附图中,相似的附图标记一般指示相同、功能类似和/或结构类似的组件。其中组件第一次出现的附图由附图标记中最左面的数字指示。将参考附图描述本发明,附图中:
图1是示例性装置的图;
图2是示例性音频帧的图;
图3是示例性音频流解码流水线的图;
图4是示出与音频流水线对应的图形驱动器调用的图;以及
图5是逻辑流程图。
详细描述
实施例提供与音频流的处理有关的技术。例如,主机处理平台可接收包括经编码的音频流的内容流。进而,图形引擎从其产生经解码的音频流。这种产生可包括图形引擎执行各种操作,诸如熵解码操作、反量化操作以及离散反余弦变换操作。在实施例中,内容流可进一步包括经编码的视频流。因此,图形引擎可从其产生经解码的视频流。这种音频和视频解码可并行执行。
图形引擎提供针对与视频编解码器相关联的操作的性能的硬件加速。例如,图形处理器单元(GPU)提供可用于实现多种类型的视频编解码器的硬件加速。这种编解码器的示例包括(但不限于)h.264、mpeg2、vc-1等等。然而,视频编解码器当前不处理音频流。相反,如上所述,音频流的处理通常通过主机来完成。不幸的是,这种方法可能消耗过多的功率量。
然而,在实施例中,图形引擎可用于处理音频流。结果,可将完整的媒体(视频和音频)处理平台提供给独立的软件销售商(ISV)。
同样,采用图形引擎来处理音频流可有利地减少媒体回放情形中的主机CPU功耗。例如,无损高清(HD)音频流具有高位率(平均在3-6兆比特每秒范围内,但它们可达到15-20兆比特每秒的峰值率)。处理这种音频流需要相当大量的CPU循环和功耗。更具体地,实验室策略已经显示在蓝光盘回放期间大致0.5瓦的CPU功率可归因于音频处理。
即使音频流在本质上与视频流根本不同,但它们具有实施例利用的若干相似性。例如,视频流和音频流二者均通常通过可变长度解码(VLD)方案(诸如霍夫曼压缩)来压缩。通常,视频流和音频流二者均通常在编码器处量化,并且在解码器处反量化。此外,视频流和音频流二者均通常在编码器处利用离散余弦(DCT)变换而变换,然后在解码器处经由反DCT(iDCT)变换而变换。
实施例可利用这些相似性以提供可处理视频流和音频流二者的统一视频/音频处理环境。此外,音频编码器/解码器(编解码器)通常能够在一定程度上可线程化(即使可线程化的程度对于不同音频编解码器是不同的)。这可有利地促进将音频与视频一起处理为统一的视频/音频并行执行引擎的图形引擎。图形引擎上的音频处理的性能可能有利地更快且更有功率效率。
图1是可采用本文所述技术的示例性操作环境100的图。环境100可包括各个元件。例如,图1示出环境100包括主机处理平台102、图形引擎104、内容源106、音频输出设备107、显示设备108和接口109。这些组件可以硬件和/或软件的任何组合来实现。
主机处理平台102可利用一个或多个处理器(或微处理器)来实现,诸如中央处理单元(CPU)。主机处理平台102可执行各种进程和应用。如图1所示,主机处理平台102执行操作系统(OS)110。通过该操作系统,可执行各种应用和进程。例如,图1示出处理平台102执行媒体应用112和一个或多个图形引擎驱动器111。
应用112可执行与音频和/或视频(或图形)有关的操作。例如,应用112可以是接收经编码的内容(例如,经编码的音频和/或视频内容)的媒体应用。该内容可从内容源106接收。
在实施例中,图形引擎驱动器111包括可由主机处理平台102执行的软件。驱动器111可允许进程(诸如应用112)与图形引擎104交互。这可包括应用112使用由驱动器111提供的调用或例程。如本文所述,这种例程可包括音频流以及视频流的解码。进而,驱动器111可向图形引擎104发出命令。作为响应,图形引擎104可向应用112提供结果数据(例如,经由驱动器111)。
在实施例中,内容源106可包括光学存储介质,诸如数字视频盘(DVD)、蓝光和/或紧致盘(CD)读取器,该读取器提供来自一个或多个加载的盘的经编码的音频和/或视频数据。作为附加或替换,内容源106可包括存储经编码的内容的磁或电子存储介质(诸如磁盘驱动或固态驱动)。但是,各实施例不限于这些存储介质的示例。
此外,内容源106可包括从有线或无线通信介质接收经编码的内容的通信接口。通信介质的示例包括(但不限于)局域网(LAN)、无线LAN(WLAN)、个域网(PAN)、无线城域网(WMAN)、蜂窝电话网络、电缆广播系统、地面或卫星视频广播网络(例如DVB网络)等等。在接收到这些内容之后,应用112用于解码这些内容,使得它可通过一个或多个设备输出。
在实施例中,图形引擎104可由图形处理单元(GPU)提供。更具体地,图形引擎104提供针对视频和音频处理(霍夫曼解码、iDCT等)中通常需要的若干功能的加速。该GPU可包括一个或多个专门的微处理器,这些微处理器从主机处理平台102下载并加速视频和图形呈现。同样,图形引擎104可包括多个并行执行单元(EU),这些并行执行单元可支持多线程化和并行的处理。图形引擎104可包括由加利福尼亚州圣克拉拉的英特尔公司制造的可购买到的图形引擎。但是,各实施例不限于该示例。
在一般操作中,图形引擎104可为应用112提供与视频解码相关联的操作。这种操作可包括(但不限于)可变长度解码(VLD)、反量化和离散反余弦变换(DCT)操作。图形引擎104可提供专门的硬件和/或存储器以快速且高效执行这种操作。
这种操作也共用于音频解码。因此,除执行视频解码操作以外,图形引擎104可执行用于应用112的音频解码操作。这种音频解码可根据各种编解码器。示例性的编解码器包括(但不限于)DTS-HD主机音频、Dolby TrueHD、MP3、AAC等等。然而,可采用任何音频编解码器。在实施例中,这种音频和视频解码操作的执行可由应用112通过图形引擎驱动器111来发起。
音频输出设备107可包括一个或多个扬声器以根据从主机处理器平台102和/或图形引擎104接收的音频流生成听觉信号。在实施例中,这种音频流可以是数字脉冲码调制(PCM)信号。因此音频输出设备还可包括组件,诸如模数转换器(ADC)和滤波器,以将这些数字信号转换成用于扬声器的模拟信号。进一步的组件可包括放大器、用户控制器(例如,音量、音调、均衡、平衡等等)。音频输出设备107的这些组件可按硬件和/或软件的任何组合来实现。
显示设备108包括将视觉输出提供用户的物理显示器。该输出可以是顺序图像(或帧)的形式。示例性物理显示器包括发光二极管(LED)显示器、液晶显示器(LCD)、等离子体显示器和阴极射线管(CRT)。但是,各实施例不限于这些示例。显示设备108输出的每个帧可包括多个像素。表示这些像素的数据(例如,颜色和/或亮度值)可存储在显示设备108内的一个或多个帧缓冲器中。该数据可被称为“帧数据”。这种帧缓冲器可由诸如易失性随机存取存储器(RAM)(例如,动态RAM)之类的存储来提供。然而,可采用诸如非易失性存储器之类的其它类型的存储介质。
接口109用于在图1的组件之间进行耦合。例如,接口109可包括在各组件对之间的一个或多个点对点连接(例如,并行接口、串行接口、专用信号线等)。
作为附加或替换,接口109可包括提供物理连接处理单元302a-n的多点或总线接口。示例性总线接口包括通用串行总线(USB)接口以及各种计算机系统总线接口。
此外,接口109可包括用于软件进程之间的数据交换的一个或多个软件接口(例如,应用编程器接口、远程过程调用、共享存储器等)。
在实施例中,图1的实施例可实现在计算机系统内。这种计算机系统可以是个人计算机(例如,台式、膝上型、笔记本或平板计算机)。或者,这种计算机系统可以是手持设备,诸如移动电话、个人数字助理(PDA)、移动电话智能电话或便携式媒体播放器。但是,各实施例不限于这些示例。
如上所述,图1的组件可包括一个或多个处理器(例如,微处理器)。例如,处理平台102和图像引擎可利用一个或多个处理器来实现。作为示例,主机处理平台102可利用一个或多个CPU来实现,和/或图形引擎104可利用一个或多个GPU来实现。这些CPU和/或GPU可根据存储在一个或多个存储介质中的指令(例如,软件)来操作。这些存储介质中的一些或全部可被包括在处理平台102和/或图形引擎104中。作为附加或替换,这些存储介质中的一些或全部可在处理平台102和/或图形引擎104之外。这种存储介质可包括存储器(易失性或非易失性)、盘存储、光学存储等。
主机处理平台102和图形引擎104可利用多核处理器中的相应核来实现。因此,这些组件可以一起在集成电路内。
现在描述示例性的操作序列。如图1所示,主机处理平台102可从内容源106接收内容流119。在实施例中,内容流119包括经编码的音频流。另外,内容流119可包括经编码的视频流。
应用112(在主机处理平台112上执行)可接收内容流119。这种接收可以是直接的或通过一个或多个中间处理组件。这种处理组件可包括(但不限于)OS 110、图形引擎驱动器111、应用编程器接口(API)等的任意组合。
应用112从内容流119提取经编码的音频流120和经编码的视频流124并将其提供给图形引擎104。进而,图形引擎104在这些流上执行各种操作。作为结果,图形引擎104产生经解码的音频流122和经解码的视频流126。在实施例中,图形引擎104可并行处理这些音频和视频流。
由图形引擎104执行的操作可由主机处理平台102发起。例如,应用112可导致指示被发送到图形引擎104。这些指示可通过驱动器111发送。
图1示出经解码的音频流122和经解码的视频流126被提供给主机处理平台102。在接收之后,可执行进一步的操作,诸如音频/视频同步并缓冲至由OS 110维持的输出栈。这些操作之后,相应的经解码的音频流128和相应的经解码的视频流130被分别提供给音频输出设备107和显示设备108。
如本文所述,音频流处理和视频流处理具有类似特性。现在提供与音频流的处理有关的细节。音频样本通常被变换(有损地)成若干频率子带系数(例如,32或64个系数)。对于若干音频样本,这些子带系数被(按增加的时间顺序)压缩在一起以形成音频帧。
图2是示例性音频帧200的图。该图根据时间沿列水平布置,并且根据子带沿行垂直布置。因此,该图提供值的二维矩阵。这些值中的每一个是音频样本的子带系数。
更具体地,特定列中的子带系数属于相同的音频样本,该音频样本被分解成N个子带(通常N=32或64)。音频帧中的后续列(即右边的列)表示在随后时刻编码的音频样本。因此,在列#1中的音频样本被首先编码,其后是列#2中的下一音频样本,其后是列#3中的下一音频样本等等。因此,图2示出M个音频样本的子带系数被压缩在一起以形成单个音频帧。
无损音频流通常包括有损核,其由诸如图2所示的帧构成。此外,无损音频流可包括附加的残余流。该残余流使解码器实现原始音频流的位精确再现。
从图2显而易见的是,音频帧类似于视频帧,除了音频帧中每个样本的水平和垂直(x,y)坐标不表示像素的空间坐标。相反这些坐标表示音频样本的频率(子带)和时间坐标。
图3是示例性有损音频流解码流水线300的图。如图3所示,该流水线包括可变长度解码(VLD)模块302、反量化(反Q)模块304、附加音频处理模块306、反DCT(iDCT)模块308、正交镜像滤波器(QMF)模块310和音频后处理模块312。这些模块可以硬件和/或软件的任何组合来实现。此外,图3的模块被呈现为示例,而不是限制。因此,取决于特定的编解码特性,该音频流水线可包括附加的或更少的模块。
在一般的操作中,流水线300接收经编码的(压缩的)音频流320并且生成对应的经解码的音频流322。更具体地,图3示出接收经压缩的音频流320的VLD模块302。进而,VLD模块302在该流上执行熵解码。该解码可以是霍夫曼解码。但是,各实施例不限于该示例。该解码的结果通过反Q模块304进行反量化。
模块306可在模块304的反量化结果上执行附加音频处理。作为示例,模块306可在这些结果上执行反自适应差分脉冲码调制(ADPCM)。然而,可执行附加或替换的操作。在实施例中,该音频处理可(取决于特定音频编解码器的细节)在多个子带和/或音频样本上(例如,在图2所示的帧的行和/或列上)可线程化。
对于采用DCT变换的音频编解码器,反DCT模块308在模块306的输出上执行反DCT。此后,QMF模块310将模块308提供的频域系数转换成时域中脉冲码调制(PCM)音频样本。在实施例中,QMF模块310执行在子带(例如,图2中的行)上、但未必在音频样本(例如,图2中的列)上通常可线程化的操作。
通常,由模块308和310执行的反DCT和QMF操作是音频流水线中计算强度最高的操作。例如,这些操作在被组合时可表示所消耗的总的每秒百万指令(MIPS)的30-50%。
如图3所示,音频后处理模块312可在QMF模块310提供的PCM样本上执行操作。示例性操作包括下混频(减少音频流中的数量或音频信道)。然而,可执行附加或替换的操作。这产生经解码的音频流322,其可被发送到输出设备,诸如放大器和/或扬声器。
图3的流水线可单独地应用于多个音频信道(例如,两个、五个或更多音频信道)中的每一个。因此可独立处理每个信道。然而,各实施例不限于这些独立处理。
图3的某些模块还共用于视频流水线。例如,VLD模块302、反Q模块304和反DCT模块306可用于视频流水线中。因此,在图3中,这些模块形成灰色阴影。作为这些共同性的结果,实施例可将音频帧提交给视频流水线,以便在其上执行所指出的操作(VLD、反Q、iDCT等)。
此外,并非由图形引擎(例如,图形引擎104)直接支持的音频处理操作在很多情况下是尤其可线程化的。因此,这些操作可由图形引擎的多个执行单元执行。此外,在可独立处理音频信道的情况下,可线程化的程度增加。这种可线程化性质可由图形引擎的多个执行单元支持。
为了处理音频帧,利用由图形引擎提供的视频流水线,媒体应用可执行对图形驱动器(例如,图1的图形引擎驱动器111)的若干调用。不同驱动器调用的精确数量和性质是根据实现特定的。例如,这种驱动器调用可依赖于所采用的特定音频编解码器(例如,DTS-HD主音频、Dolby TrueHD等等)。图4提供这种驱动器调用的示例。
具体地,图4是示出与图3的音频流水线模块相对应的图形驱动器调用的图。出于说明而非限制的目的提供这些驱动器调用。因此可采用更少或更多调用的组合。
图4示出利用模块302和304的操作的第一驱动器调用402和利用模块306的操作的第二驱动器调用404。同样,第三驱动器406调用利用模块308的操作。此外,第四驱动器调用408利用模块310和312的操作。出于说明而非限制的目的提供这些驱动器调用。因此可采用更少或更多驱动器调用的其它布置。例如,实施例可采用优化实现,其中很多驱动器调用被合并,以便减少处理每一个音频帧所需要的应用/驱动器交互的数量。
图5示出示例性逻辑流程500,它表示由本文描述的一个或多个实施例执行的操作。尽管图5示出特定顺序,但可采用其他顺序。此外,可按各种并行和/或顺序的组合执行所描述的操作。
在框502,应用重新格式化一个或多个音频帧,使得其格式与视频帧的格式兼容。在实施例中,这可包括将多个音频帧组合到单个较大的帧中。作为替换或附加,这可包括在时间和/或频率上改变音频帧的尺寸。例如,可将附加的子带和/或时间样本“作为0填充”到音频帧,以使其成为视频兼容尺寸。
在框504,执行第一图形驱动器调用。该调用将音频帧提交给用于熵解码和反量化(例如,由模块302和304执行的)的图形引擎(例如,图形引擎104)。在实施例中,图形引擎具有固定功能和/或可执行这些操作的可编程的VLD引擎。
在框506,执行第二驱动器调用。该调用发起其它音频专用的处理(例如,模块306的处理)的执行。如上所述,这种处理可在子带、音频样本和音频信道上可线程化。结果,可实现高度可线程化。这允许图形引擎的执行单元的快速、有效执行。
在框508执行第三驱动器调用。在该驱动器调用中,应用可将音频帧提交给图形引擎,使得可在其上执行反DCT。如本文所述,图形引擎具有固定的和/或可编程的功能,以为该操作提供加速。
在框510,执行第四驱动器调用。该调用发起QMF操作以及任何其它音频后处理的执行(例如,模块310和312的操作)。如上所述,这些操作可以是尤其可线程化的(可线程化的程序对于不同的编解码器方案是不同的)。因此,这些操作是图形引擎执行单元上多线程执行的良好候选。
框510的执行产生经解码的音频。因此,如果该音频伴随视频流,则视频流和音频流可在框512处同步(诸如,在时间上对齐)。在实施例中,这种同步可由应用执行。
在框514,应用可将经解码的音频流传送到输出音频栈。该栈可提供输出缓冲能力。进而,在框516,音频通过一个或多个设备输出。这种设备可包括PCM解码器、滤波器、放大器和/或扬声器的任意组合。
每个音频帧通常表示固定的时间量(例如,5或10毫秒,这取决于音频帧的尺寸)。因此,应用可按相应的固定速率将音频帧提交给图形流水线。因此,可重复地执行框502-516的任意组合。
同样,在实施例中,应用可将本文描述的音频处理图形驱动器调用与常规的图形驱动器调用进行混合/重叠。因此,可通过图形引擎并行地解码和后处理音频帧和视频帧。
如本文所述,各实施例可利用硬件组件、软件组件或其任何组合实现。硬件组件的示例可包括处理器、微处理器、电路、电路组件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微型芯片、芯片组等。
软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。
一些实施例可例如利用机器可读的存储介质或制品来实现。存储介质可存储指令或指令集,该指令或指令集在被机器执行时可导致机器执行根据实施例的方法和/或操作。这样的机器可包括,例如,任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器或类似物,且可利用任何合适的硬件和/或软件组合实现。
如本文所述,实施例可包括存储介质或机器可读制品。例如,这些可包括任何合适类型的存储器单元、存储器设备、存储器制品、存储器介质、存储设备、存储制品、存储介质和/或存储单元,例如,存储器、可移动或不可移动介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、压缩盘只读存储器(CD-ROM)、可录压缩盘(CD-R)、可重写压缩盘(CD-RW)、光盘、磁性介质、磁光介质、可移动存储卡或盘、各种类型的数字通用盘(DVD)、带、带盒等。指令可包括利用任何合适的高级、低级、面向对象、可视、汇编和/或解释编程语言来实现的诸如源代码、汇编代码、解释代码、可执行代码、静态代码、动态代码、加密代码等任何适合类型的代码。
尽管以上已经描述了本发明的各个实施例,但应当理解,它们是作为示例而非限定给出的。例如,本文描述的技术不限于使用二进制数。因此,这些技术可用于任何基数的数字。
因此,对相关领域技术人员显而易见的是,在不背离本发明的精神和范围的情况下可在形式和细节方面作出各种变化。因此,本发明的宽度和范围不应由上述示例性实施例中的任何一个来限制,而应当只根据所附权利要求及其等价物来限定。
Claims (16)
1.一种用于共享音频流水线和视频流水线的方法,包括:
在主机处理平台处接收内容流,所述内容流包括经编码的音频流和经编码的视频流,所述经编码的音频流包括音频帧,所述经编码的视频流包括视频帧;
将经编码的音频流中的一个以上的经编码的音频帧组合成单个较大的经编码的音频帧,使得较大的经编码的音频帧的格式与所述经编码的视频流中的视频帧的格式兼容;以及
在包括音频流水线和视频流水线的图形引擎处,用所述音频流水线从所述经编码的音频流中产生经解码的音频流,用所述视频流水线从所述经编码的视频流中产生经解码的视频流,其中所述音频流和所述视频流被并行处理;以及
使所述经解码的视频流与所述经解码的音频流同步,
其中,所述音频流水线的一些模块与所述视频流水线共用,并且
所述方法还包括:将音频帧提交给所述视频流水线,以便用所述视频流水线对所述音频帧执行各操作。
2.如权利要求1所述的方法,其特征在于,所述产生包括:
执行熵解码操作;
执行反量化操作;以及
执行离散反余弦变换操作。
3.如权利要求2所述的方法,其特征在于,所述熵解码操作是霍夫曼解码操作。
4.如权利要求1所述的方法,其特征在于,每个音频帧包括针对多个时间样本中的每一个的多个子带系数。
5.如权利要求1所述的方法,其特征在于,所述产生包括主机处理平台将一个或多个驱动器调用置于图形引擎。
6.如权利要求1所述的方法,还包括将经解码的音频流发送到音频输出设备。
7.如权利要求1所述的方法,其特征在于,经解码的音频流包括数字脉冲码调制(PCM)信号。
8.一种用于共享音频流水线和视频流水线的装置,包括:
主机处理平台,用于在主机处理平台处接收内容流,所述内容流包括经编码的音频流和经编码的视频流,所述经编码的音频流包括音频帧,所述经编码的视频流包括视频帧,并且将经编码的音频流中的一个以上的经编码的音频帧组合成单个较大的经编码的音频帧,使得较大的经编码的音频帧的格式与所述经编码的视频流中的视频帧的格式兼容;以及
图形引擎,包括音频流水线和视频流水线,用所述音频流水线从所述经编码的音频流中产生经解码的音频流,用所述视频流水线从所述经编码的视频流中产生经解码的视频流,其中所述音频流和所述视频流被并行处理,并且所述音频流水线的一些模块与所述视频流水线共用,
其中,所述主机处理平台还进一步用于使所述经解码的视频流与所述经解码的音频流同步,并且
音频帧被提交给所述视频流水线,以便用所述视频流水线对所述音频帧执行各操作。
9.如权利要求8所述的装置,其特征在于,每个音频帧包括针对多个时间样本中的每一个的多个子带系数。
10.如权利要求8所述的装置,其特征在于,所述图形引擎对所述经编码的音频流执行多个操作,所述多个操作包括熵解码操作、反量化操作和离散反余弦变换操作。
11.如权利要求8所述的装置,还包括音频输出设备,且其中所述主机处理平台将经解码的音频流发送到音频输出设备。
12.如权利要求8所述的装置,其特征在于,所述主机处理包括在多核处理器的第一处理器核中,且所述图形引擎被包括在多核处理器的第二处理器核中。
13.如权利要求8所述的装置,还包括存储介质以存储内容流。
14.一种用于共享音频流水线和视频流水线的方法,包括:
在包括音频流水线和视频流水线的图形引擎处,接收来自主机处理平台的经编码的音频流和经编码的视频流,所述经编码的音频流包括音频帧,所述经编码的视频流包括视频帧;
将经编码的音频流中的一个以上的经编码的音频帧组合成单个较大的经编码的音频帧,使得较大的经编码的音频帧的格式与所述经编码的视频流中的视频帧的格式兼容;以及
在所述图形引擎处,用所述音频流水线从所述经编码的音频流中产生经解码的音频流,用所述视频流水线从所述经编码的视频流中产生经解码的视频流,其中所述音频流和所述视频流被并行处理;
使所述经解码的视频流与所述经解码的音频流同步,
其中,所述音频流水线的一些模块与所述视频流水线共用,
所述方法还包括:将音频帧提交给所述视频流水线,以便用所述视频流水线对所述音频帧执行各操作,并且
所述产生包括所述图形引擎对所述经编码的音频流执行多个操作,所述多个操作包括熵解码操作、反量化操作和离散反余弦变换操作。
15.如权利要求14所述的方法,其特征在于,所述多个操作基于由主机处理平台发起的一个或多个驱动器调用。
16.如权利要求14所述的方法,其特征在于,经解码的音频流包括数字脉冲码调制(PCM)信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/024,536 | 2011-02-10 | ||
US13/024,536 US9942593B2 (en) | 2011-02-10 | 2011-02-10 | Producing decoded audio at graphics engine of host processing platform |
PCT/US2011/066340 WO2012108934A1 (en) | 2011-02-10 | 2011-12-21 | Shared video-audio pipeline |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103348676A CN103348676A (zh) | 2013-10-09 |
CN103348676B true CN103348676B (zh) | 2017-04-12 |
Family
ID=46637584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180067236.1A Active CN103348676B (zh) | 2011-02-10 | 2011-12-21 | 共享的视频‑音频流水线 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9942593B2 (zh) |
EP (1) | EP2673770B1 (zh) |
JP (1) | JP2014507897A (zh) |
KR (1) | KR20130116921A (zh) |
CN (1) | CN103348676B (zh) |
TW (1) | TWI592925B (zh) |
WO (1) | WO2012108934A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120216048A1 (en) * | 2011-02-17 | 2012-08-23 | Nikos Kaburlasos | System, method and computer program product for application-agnostic audio acceleration |
CN104106080B (zh) | 2011-12-27 | 2017-10-03 | 英特尔公司 | 基于图灵测试的用户认证和用户在场验证系统、设备和方法 |
US9134878B2 (en) * | 2012-09-28 | 2015-09-15 | Intel Corporation | Device and method for secure user interface gesture processing using processor graphics |
CN104143334B (zh) * | 2013-05-10 | 2017-06-16 | 中国电信股份有限公司 | 可编程图形处理器及其对多路音频进行混音的方法 |
JP6921602B2 (ja) | 2017-04-21 | 2021-08-18 | キヤノン株式会社 | 連続体ロボットの制御システム及びその制御方法、並びに、プログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6124895A (en) * | 1997-10-17 | 2000-09-26 | Dolby Laboratories Licensing Corporation | Frame-based audio coding with video/audio data synchronization by dynamic audio frame alignment |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6331856B1 (en) | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
JP3816572B2 (ja) * | 1996-03-15 | 2006-08-30 | パイオニア株式会社 | 情報記録装置及び情報記録方法並びに情報再生装置及び情報再生方法 |
US5630005A (en) * | 1996-03-22 | 1997-05-13 | Cirrus Logic, Inc | Method for seeking to a requested location within variable data rate recorded information |
US6275239B1 (en) | 1998-08-20 | 2001-08-14 | Silicon Graphics, Inc. | Media coprocessor with graphics video and audio tasks partitioned by time division multiplexing |
US6208276B1 (en) * | 1998-12-30 | 2001-03-27 | At&T Corporation | Method and apparatus for sample rate pre- and post-processing to achieve maximal coding gain for transform-based audio encoding and decoding |
EP1215663A1 (en) * | 2000-12-15 | 2002-06-19 | BRITISH TELECOMMUNICATIONS public limited company | Encoding audio signals |
KR100450939B1 (ko) | 2001-10-23 | 2004-10-02 | 삼성전자주식회사 | 이미지 축소를 위한 스케일-다운 기능을 가지는 압축비디오 복호화기 및 방법 |
US7158141B2 (en) | 2002-01-17 | 2007-01-02 | University Of Washington | Programmable 3D graphics pipeline for multimedia applications |
US7130528B2 (en) * | 2002-03-01 | 2006-10-31 | Thomson Licensing | Audio data deletion and silencing during trick mode replay |
JP4542308B2 (ja) * | 2002-12-16 | 2010-09-15 | 株式会社ソニー・コンピュータエンタテインメント | 信号処理用デバイス及び情報処理機器 |
US7464028B2 (en) * | 2004-03-18 | 2008-12-09 | Broadcom Corporation | System and method for frequency domain audio speed up or slow down, while maintaining pitch |
US8099407B2 (en) * | 2004-03-31 | 2012-01-17 | Google Inc. | Methods and systems for processing media files |
JP2006166154A (ja) * | 2004-12-09 | 2006-06-22 | Matsushita Electric Ind Co Ltd | 動画像再生システム |
US20060198528A1 (en) * | 2005-03-03 | 2006-09-07 | Thx, Ltd. | Interactive content sound system |
US7750956B2 (en) * | 2005-11-09 | 2010-07-06 | Nvidia Corporation | Using a graphics processing unit to correct video and audio data |
KR20080110920A (ko) * | 2006-02-07 | 2008-12-19 | 엘지전자 주식회사 | 부호화/복호화 장치 및 방법 |
JP2007219577A (ja) * | 2006-02-14 | 2007-08-30 | Sony Corp | データ処理装置、データ処理方法、データ処理方法のプログラム及びデータ処理方法のプログラムを記録した記録媒体 |
US7987089B2 (en) * | 2006-07-31 | 2011-07-26 | Qualcomm Incorporated | Systems and methods for modifying a zero pad region of a windowed frame of an audio signal |
US20080056373A1 (en) | 2006-08-29 | 2008-03-06 | Newlin John B | Method and system for dynamic frequency adjustment during video decoding |
JP4973492B2 (ja) * | 2007-01-30 | 2012-07-11 | 株式会社Jvcケンウッド | 再生装置、再生方法及び再生プログラム |
CN101106714A (zh) | 2007-07-29 | 2008-01-16 | 浙江大学 | 应用于视频和图像处理的变换方法 |
CN101677246B (zh) * | 2008-09-19 | 2011-08-10 | 扬智科技股份有限公司 | 具有取样频率转换的数模转换系统及其取样频率转换方法 |
KR20100124909A (ko) * | 2009-05-20 | 2010-11-30 | 삼성전자주식회사 | 이동통신 단말기에서 영상과 음성의 동기화를 위한 장치 및 방법 |
US8423355B2 (en) * | 2010-03-05 | 2013-04-16 | Motorola Mobility Llc | Encoder for audio signal including generic audio and speech frames |
US8613038B2 (en) * | 2010-10-22 | 2013-12-17 | Stmicroelectronics International N.V. | Methods and apparatus for decoding multiple independent audio streams using a single audio decoder |
-
2011
- 2011-02-10 US US13/024,536 patent/US9942593B2/en active Active
- 2011-12-07 TW TW100145054A patent/TWI592925B/zh active
- 2011-12-21 CN CN201180067236.1A patent/CN103348676B/zh active Active
- 2011-12-21 EP EP11858139.6A patent/EP2673770B1/en active Active
- 2011-12-21 JP JP2013552523A patent/JP2014507897A/ja active Pending
- 2011-12-21 KR KR1020137021002A patent/KR20130116921A/ko active Search and Examination
- 2011-12-21 WO PCT/US2011/066340 patent/WO2012108934A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6124895A (en) * | 1997-10-17 | 2000-09-26 | Dolby Laboratories Licensing Corporation | Frame-based audio coding with video/audio data synchronization by dynamic audio frame alignment |
Non-Patent Citations (1)
Title |
---|
Design and Implementation of MPEG Audio Layer III Decoder using Graphics Processing Units;Chen Xiaoliang ET AL;《IMAGE ANALYSIS AND SIGNAL PROCESSING(IASP),2010 INTERNATIONAL CONFERENCE ON,IEEE》;20100409;第484-487页 * |
Also Published As
Publication number | Publication date |
---|---|
KR20130116921A (ko) | 2013-10-24 |
CN103348676A (zh) | 2013-10-09 |
US9942593B2 (en) | 2018-04-10 |
EP2673770B1 (en) | 2017-10-18 |
TW201248614A (en) | 2012-12-01 |
EP2673770A1 (en) | 2013-12-18 |
TWI592925B (zh) | 2017-07-21 |
JP2014507897A (ja) | 2014-03-27 |
US20120209614A1 (en) | 2012-08-16 |
WO2012108934A1 (en) | 2012-08-16 |
EP2673770A4 (en) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103348676B (zh) | 共享的视频‑音频流水线 | |
US6992675B2 (en) | System for displaying video on a portable device and method thereof | |
CN116917927A (zh) | 用于机器学习工作负载中张量对象支持的方法和装置 | |
JP6502947B2 (ja) | 高ダイナミックレンジ画像をトーンマッピングする方法及びデバイス | |
US11769234B2 (en) | Methods and apparatus for histogram based tone mapping | |
JP6182225B2 (ja) | カラーバッファ圧縮 | |
TW201535319A (zh) | 使用選擇性顏色轉換之顏色壓縮技術 | |
US11341686B2 (en) | Two-pass decoding of images | |
JP2013013085A (ja) | 高ビット深度画像の圧縮 | |
CN110933495A (zh) | 基于嵌入式系统的视频播放方法及装置 | |
KR101484101B1 (ko) | 동영상 변환 장치 | |
TWI240215B (en) | Run length encoded digital image | |
US12008677B2 (en) | Compatible compression for different types of image views | |
US20220254070A1 (en) | Methods and apparatus for lossless compression of gpu data | |
WO2024049632A2 (en) | High-performance and low-latency implementation of a wavelet-based image compression scheme | |
CN118202378A (zh) | 用于颜色空间转换的非线性滤波 | |
TWI227631B (en) | Image processing method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |