CN104041050B - 多线程纹理解码 - Google Patents

多线程纹理解码 Download PDF

Info

Publication number
CN104041050B
CN104041050B CN201380005126.1A CN201380005126A CN104041050B CN 104041050 B CN104041050 B CN 104041050B CN 201380005126 A CN201380005126 A CN 201380005126A CN 104041050 B CN104041050 B CN 104041050B
Authority
CN
China
Prior art keywords
macro block
hardware thread
frame
reconstruct
assigned
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.)
Expired - Fee Related
Application number
CN201380005126.1A
Other languages
English (en)
Other versions
CN104041050A (zh
Inventor
周博
肖舒
杜俊晨
苏海勒·亚利尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104041050A publication Critical patent/CN104041050A/zh
Application granted granted Critical
Publication of CN104041050B publication Critical patent/CN104041050B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Generation (AREA)

Abstract

一种用于在多线程处理器中执行纹理解码的方法包括在多个硬件线程中实质上同时解码VP8帧的至少两个宏块。每一硬件线程每次解码一个宏块。所述方法还可包括将来自所述VP8帧的所述至少两个宏块的一宏块指派给所述多线程处理器的一硬件线程。

Description

多线程纹理解码
技术领域
本发明大体上涉及数据处理系统,且更具体地说,涉及多线程纹理解码。
背景技术
VP8为受到科技企业协会支持的开源视频压缩格式。具体地说,VP8为由WebM文件使用的视频压缩格式。WebM为专用于开发用于全球信息网的高质量开放媒体格式的新开放媒体项目。VP8格式最初由On2技术(On2Technologies)公司开发作为视频压缩/解压缩工具的VPx家族的后继者。VP8格式已通过以解码经VP8压缩的视频流时的低计算复杂性实现高压缩效率而取得工业支持。
发明内容
根据本发明的一方面,描述一种用于在多线程处理器中执行纹理解码的方法。所述方法包括在多个硬件线程中实质上同时解码VP8帧的至少两个宏块。每一硬件线程每次处理一个宏块。所述方法还可包括将所述VP8帧的宏块指派给所述多线程处理器的每一硬件线程。
在另一方面中,描述一种用于执行多线程纹理解码的装置。所述装置包括至少一个多线程处理器及耦合到所述至少一个多线程处理器的存储器。所述多线程处理器经配置以在多个硬件线程中实质上同时解码VP8帧的至少两个宏块。每一硬件线程每次解码一个线程。所述装置还可包括将所述VP8帧的宏块指派给多线程处理器的每一硬件线程的控制器。
在另一方面中,描述一种用于执行多线程纹理解码的计算机程序产品。所述计算机程序产品包括非暂时性计算机可读媒体,所述非暂时性计算机可读媒体具有记录于其上的程序代码。所述计算机程序产品具有用以在多个硬件线程中实质上同时解码VP8帧的至少两个宏块的程序代码。每一硬件线程每次处理一个宏块。所述计算机程序产品还可包括用以将所述VP8帧呃宏块指派给多线程处理器的硬件线程的程序代码。
在另一方面中,描述一种用于多线程纹理解码的装置。所述装置包括用于将VP8帧的至少两个宏块中的一宏块指派给一硬件线程的装置。每一硬件线程每次处理一个宏块。所述装置还包括用于在多个硬件线程中实质上同时解码所述VP8帧的所述宏块的装置。
下文将描述本发明的额外特征及优点。所属领域的技术人员应了解,本发明可容易用作修改或设计用于进行本发明的相同目的的其它结构的基础。所属领域的技术人员还应认识到,这些等效建构不脱离如所附权利要求书所阐述的本发明的教示。当结合附图进行考虑时,从以下描述将较好地理解相信为本发明的特性的新颖特征(所述所述特征及所述特性均涉及本发明的组织及操作方法)连同另外目标及优点。然而,应明确地理解,所述图中每一者仅出于说明及描述的目的而被提供且无意界定本发明的限度。
附图说明
本发明的特征、性质及优点将从下文在结合图式进行考虑时所阐述的[实施方式]而变得更显而易见,在所述图式中,相同参考字符始终对应地识别。
图1为根据本发明的一方面的包括纹理解码逻辑的多处理器系统的框图。
图2为根据本发明的另一方面的说明图1的纹理解码逻辑的框图。
图3为根据本发明的另一方面的说明来自帧的宏块的并行纹理解码的框图。
图4说明根据本发明的一方面的用于多线程纹理解码的方法。
图5为根据本发明的另一方面的说明无线装置的方面的框图,所述无线装置包括可操作以执行用于多线程纹理解码的指令的处理器。
图6为展示可供有利地使用本发明的一方面的无线通信系统的框图。
具体实施方式
下文结合附加图式而阐述的[实施方式]意在描述各种配置,且无意表示可供实践本文所描述的概念的仅有配置。[实施方式]出于提供对各种概念的透彻理解的目的而包括特定细节。然而,对于所属领域的技术人员将显而易见,可在没有这些特定细节的情况下实践这些概念。在一些例子中,以框图形式展示众所周知结构及组件以避免混淆这些概念。
解码根据VP8格式而编码的视频流通常用单个线程执行以执行预测、离散余弦变换(discrete cosine transform,DCT)/沃尔什-哈达马德变换(Walsh-Hadamardtransform,WHT)反转,及以光栅扫描次序的重构。具体地说,VP8规格通常禁止宏块滤波,直到帧的宏块中的每一者被重构为止。即,VP8解码被指定为基于帧边界而发生。针对经VP8格式编码的流的纹理解码而指定的单线程处理阻止多线程处理器以及多处理器在VP8解码期间实现高性能。根据本发明的一方面,并行地(同时地)解码VP8帧的至少两个宏块(MB),在每一硬件线程中解码一个宏块。经VP8编码的宏块的并行解码可改进高速缓存效率。
图1展示根据本发明的一方面的包括纹理解码逻辑200的多处理器系统100的框图。专用集成电路(ASIC)102包括支持多线程纹理解码的各种处理单元。对于图1所示的配置,ASIC102包括DSP核心118A及118B、处理器核心120A及120B、十字开关116、控制器110、内部存储器112,以及外部接口单元114。DSP核心118A及118B以及处理器核心120A及120B支持例如视频、音频、图形、游戏及其类似者的各种功能。每一处理器核心可为RISC(精简指令集计算)机器、微处理器,或某其它类型的处理器。控制器110控制ASIC102内的处理单元的操作。内部存储器112存储由ASIC102内的处理单元使用的数据及程序代码。外部接口单元114与在ASIC102外部的其它单元建立接口连接。大体上,ASIC102可包括少于、多于及/或不同于图1所示的处理单元的处理单元。包括于ASIC102中的处理单元的数目及处理单元的类型取决于例如由多处理器系统100支持的通信系统、应用及功能的各种因素。
纹理编码技术可通过各种手段实施。举例来说,这些技术可以硬件、固件、软件或其组合予以实施。对于硬件实施,纹理编码技术可实施于一或多个ASIC、DSP、DSPD、PLD、FPGA、处理器、控制器、微控制器、微处理器、电子装置、经设计成执行本文所描述的功能的其它电子单元或其组合内。纹理编码技术的某些方面可用执行所描述功能的软件模块(例如,程序、函数,等等)来实施。软件程序代码可存储于存储器(例如,图1中的存储器101及/或112)中且由处理器(例如,DSP核心118A及/或118B)执行。所述存储器可实施于所述处理器内或所述处理器外部。
ASIC102进一步耦合到存储纹理解码指令230的存储器101。对于图1所示的配置,每一处理核心执行纹理解码指令230。在一配置中,ASIC102可包括纹理解码逻辑200,如图2进一步所说明。
图2为根据本发明的一方面的说明图1的纹理解码逻辑200的框图。代表性地,经剖析包234由前端线程240接收。在此配置中,前端线程240将来自经剖析包234的帧的宏块提供给任务队列242。从任务队列242,根据任务大小将宏块指派给工作者线程集区246的工作者线程248(248-1、......、248-N)。在此配置中,每一工作者线程248逐宏块地执行完整纹理解码。即,每一工作者线程248逐宏块地执行预测、逆变换、重构及回路滤波。因此,工作者线程248集体地执行宏块的并行/同时纹理解码,例如,如图3所示。另外,每一线程根据任务大小而每次解码数个宏块。
如图2进一步所说明,根据本发明的一方面,任务管理器250维持宏块之间的相依性。在本发明的此方面中,任务管理器250将一或多个宏块的任务指派给具有被解码的相依邻近者的工作者线程248。一旦工作者线程248完成宏块的解码,就可将经解码宏块存储于帧队列244中。在此配置中,前端线程240将来自帧队列244的经解码帧236发送到(例如)帧缓冲器(未图示)。在此配置中,每一工作者线程248可每次处理两个宏块;然而,其它任务大小配置是可能的。
图3为根据本发明的一方面的说明帧300内的宏块356的并行解码的框图。在此配置中,提供行缓冲器352及列缓冲器354以实现在重构之后对每一宏块356的回路滤波。在此配置中,引入行缓冲器352及列缓冲器354以消除对紧接在重构之后进行宏块的回路滤波的限定。代表性地,行缓冲器352及列缓冲器354实现由多个线程并行地进行的解码358。如上文所提到,通常,VP8解码指定延迟宏块356的回路滤波,直到一帧内的每一宏块356的重构完成为止。
如图3的配置所示,行缓冲器352及列缓冲器354存储在回路滤波之前的经重构像素。在本发明的此方面中,存储于行缓冲器352及列缓冲器354中的未经滤波像素实现帧内预测,所述帧内预测是使用未经滤波像素来执行。具体地说,帧内预测是使用先前宏块的经重构邻近者信息来执行。在此配置中,一旦宏块356的经重构像素信息存储于行缓冲器352及列缓冲器354中,就紧接着对宏块356进行滤波。即,经重构像素信息存储于行缓冲器352及列缓冲器354内以实现针对下一宏块的帧内预测。在本发明的此方面中,通过集中于本地(列)缓冲器内的纹理解码来改进高速缓存性能,同时在可能时减少或避免帧缓冲器存取。
再次参看图2,用于经VP8格式编码的数据的纹理解码的多线程方案可实现每秒三十个帧(30fps)以用于解码720p视频剪辑。在此配置中,不存在针对帧内的宏块的预定义解码序列。具体地说,只要任一任务准备好解码,个别工作者线程248便请求任务。结果,随着解码针对一个帧而进展,愈来愈多的同质线程开始所述解码。因此,工作者线程248从事于任务的时间增加且动态地平衡,使得用于解码一个帧的总时间量显著减小。在本发明的此方面中,任务大小是基于高速缓存线大小。即,通过硬件线程解码的宏块的数目是基于高速缓存线大小。举例来说,两个宏块的任务大小经选择用于三十二字节高速缓存线大小。在本发明的一方面中,特定硬件线程可被指派给帧的每一行。
图4说明根据本发明的一方面的用于多线程纹理解码的方法400。在框410处,使用装置在多个硬件线程中同时解码VP8帧的至少两个宏块(MB)。每一硬件线程每次解码一个宏块。如本文所描述,至少两个宏块的同时解码可指代在同一时间或实质上在同一时间执行至少两个宏块的纹理解码。根据本发明的此方面,每一工作者线程逐宏块地执行完整纹理解码(预测、逆变换、重构及回路滤波)。
举例来说,在一工作者线程中执行的宏块0(MB0)的预测、MB0的逆变换、MB0的重构及MB0的回路滤波与在另一工作者线程中执行的宏块1(MB1)的预测、MB1的逆变换、MB1的重构及MB1的回路滤波实质上同时。在本发明的此方面中,宏块的回路滤波紧接在宏块的重构之后。取决于任务大小,每一工作者线程可处理多个宏块,使得硬件线程集体地并行处理多个宏块。
在一配置中,所述装置包括用于在包括逻辑电路的处理器中的多线程纹理解码的装置。在本发明的一方面中,解码装置可为:纹理解码逻辑200;DSP核心118A、118B;处理器核心120A及120B;及/或经配置以执行由解码装置叙述的功能的多处理器系统100。在本发明的另一方面中,前述装置可为经配置以执行由前述装置叙述的功能的任何模块或任何装置。
图5说明根据本发明的一方面的经配置用于多线程纹理解码的无线装置500的框图。无线装置500包括耦合到存储器501的处理器,例如,数字信号处理器(DSP)520。在本发明的一特定方面中,存储器501存储且可传输可由DSP520执行的指令,例如,纹理解码指令530。在执行纹理解码指令530后,即刻建立多个纹理解码逻辑线程560(560-1、......、560-N)以用于针对每一线程560来执行对帧的多个宏块的并行纹理解码。代表性地,每一纹理解码逻辑线程包括预测块562、离散余弦变换(DCT)/沃尔什-哈达马德变换(WHT)反转块564、重构块566及回路滤波块568。在此配置中,紧接着将宏块从重构块566提供到回路滤波块568以用于实现在宏块边界而非常规帧边界处的并行纹理解码。
根据本发明的一方面,通过将未经滤波像素存储于行缓冲器552及列缓冲器554中来执行宏块级下的纹理解码。将未经滤波像素存储于行缓冲器552及列缓冲器554中实现针对后续宏块的预测。如参看图2所描述,任务管理器550将宏块指派给纹理解码逻辑线程560。另外,前端线程540将宏块提供给各种线程560,且将经解码帧存储于帧缓冲器556内。在此配置中,被指派给每一线程560的宏块的量是基于高速缓存线大小。举例来说,针对每一线程560的两个宏块的任务大小经选择用于三十二字节高速缓存线大小。
图5还展示耦合到DSP520及显示器528的显示控制器514。编码器/解码器(编解码器(CODEC))570(例如,音频及/或话音CODEC)可耦合到DSP520。举例来说,CODEC570可致使作为解码过程的部分来执行纹理解码指令530。例如显示控制器514(其可包括视频CODEC及/或图像处理器)及无线控制器510(其可包括调制解调器)的其它组件还可致使在信号处理期间执行纹理解码指令530。扬声器572及麦克风574可耦合到CODEC570。图5还指示无线控制器510可耦合到无线天线508。在一配置中,DSP520、显示控制器514、存储器501、CODEC570及无线控制器510包括于系统级封装或系统单芯片装置522中。
在一特定配置中,输入装置526及电源供应器524耦合到系统单芯片装置522。此外,在特定配置中,如图5所说明,显示器528、输入装置526、扬声器572、麦克风574、无线天线508及电源供应器524处于系统单芯片装置522外部。然而,显示器528、输入装置526、扬声器572、麦克风574、无线天线508及电源供应器524中的每一者可耦合到系统单芯片装置522的组件,例如,接口或控制器。
应注意,尽管图5描绘无线通信装置,但DSP520及存储器501还可集成到机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、个人数字助理(PDA)、固定位置数据单元或计算机中。处理器(例如,DSP520及/或包括图1的微处理器120的处理器)也可集成到此装置中。
图6为展示可供有利地使用本发明的实施例的示范性无线通信系统600的框图。出于说明的目的,图6展示三个远程单元620、630及650,以及两个基站640。应认识到,无线通信系统可具有更多远程单元及基站。远程单元620、630及650包括IC装置625A、625B及625C,所述IC装置包括多线程纹理解码器。应认识到,含有IC的任何装置也可包括此处所揭示的多线程纹理解码器,包括基站、切换装置及网络设备。图6展示从基站640到远程单元620、630及650的正向链路信号680,以及从远程单元620、630及650到基站640的反向链路信号690。
在图6中,远程单元620被展示为移动电话,远程单元630被展示为便携式计算机,且远程单元650被展示为无线区域回路系统中的固定位置远程单元。举例来说,所述远程单元可为移动电话、手持式个人通信系统(PCS)单元、例如个人数据助理的便携式数据单元、具GPS能力的装置、导航装置、机顶盒、音乐播放器、视频播放器、娱乐单元、例如仪表读取设备的固定位置数据单元,或存储或检索数据或计算机指令的任何其它装置,或其任何组合。尽管图6根据本发明的教示而说明远程单元,但本发明不限于这些示范性所说明单元。本发明的方面可合适地用于包括多线程纹理解码器的任何装置中。
尽管已阐述特定电路,但所属领域的技术人员应了解,并不需要所揭示电路中的全部来实践所揭示实施例。此外,尚未描述某些众所周知电路以维持对本发明的关注。
所属领域的技术人员应进一步了解,结合本文中的揭示内容而描述的各种说明性逻辑块、模块、电路及算法步骤可被实施为电子硬件、计算机软件或此两者的组合。为了清楚地说明硬件与软件的这种可互换性,上文已大体上在功能性方面描述各种说明性组件、块、模块、电路及步骤。将此功能性实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用而以变化方式来实施所描述功能性,但这些实施决策不应被解释为造成脱离本发明的范围。
可通过通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计成执行本文所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中的揭示内容而描述的各种说明性逻辑块、模块及电路。通用处理器可为微处理器,但在替代方案中,所述处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可被实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、结合DSP核心的一或多个微处理器,或任何其它此类配置。
在一或多个示范性设计中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一或多个指令或程序代码而存储于计算机可读媒体上或经由计算机可读媒体进行传输。计算机可读媒体包括计算机存储媒体及通信媒体两者,通信媒体包括促进计算机程序从一处到另一处的传送的任何媒体。存储媒体可为可由通用或专用计算机存取的任何可用媒体。作为实例而非限制,这些计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以运载或存储呈指令或数据结构的形式的所要程序代码装置且可由通用或专用计算机或通用或专用处理器存取的任何其它媒体。并且,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包括于媒体的定义中。如本文所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各者的组合也应包括于计算机可读媒体的范围内。
提供本发明的先前描述是为了使任何所属领域的技术人员能够制造或使用本发明。在不脱离本发明的精神或范围的情况下,对本发明的各种修改对于所属领域的技术人员将容易显而易见,且本文所定义的一般原理可应用于其它变化。因此,本发明无意限于本文所描述的实例及设计,而应被赋予与本文所揭示的原理及新颖特征一致的最广范围。

Claims (18)

1.一种用于多线程处理器中的纹理解码的方法,其包含:
将VP8帧的第一宏块指派给第一硬件线程并将所述VP8帧的第二宏块指派给第二硬件线程;以及
经由以下步骤来通过所述第一硬件线程解码所述第一宏块并同时通过所述第二硬件线程解码所述第二宏块:
重构所述第一宏块及所述第二宏块;
将所述第一宏块和所述第二宏块的经重构像素存储于行缓冲器及列缓冲器中的至少一者内以执行帧内预测;以及
在所述第一硬件线程或所述第二硬件线程重构另外的宏块之前,紧随所述第一宏块及所述第二宏块的重构来执行对所述第一宏块及所述第二宏块的回路滤波。
2.根据权利要求1所述的方法,其中所述第一宏块和所述第二宏块来自不同行。
3.根据权利要求1所述的方法,其进一步包含将未经滤波像素存储于所述行缓冲器及所述列缓冲器中的至少一者中。
4.根据权利要求1所述的方法,所述解码进一步包含:
在每一硬件线程中重构一个宏块;且接着
对所述经重构宏块进行滤波。
5.根据权利要求1所述的方法,其中所述解码进一步包含:
将从先前宏块到所述第一宏块和所述第二宏块的经重构像素存储于所述行缓冲器和所述列缓冲器中;以及
使用所述先前宏块的经重构邻近者信息执行帧内预测。
6.根据权利要求1所述的方法,其中解码包含对所述VP8帧的所述第一宏块和所述第二宏块中的每一者进行纹理解码。
7.根据权利要求1所述的方法,其进一步包含将所述多线程处理器集成到移动电话、机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、计算机、手持式个人通信系统PCS单元、便携式数据单元及固定位置数据单元中的至少一者中。
8.一种用于多线程纹理解码的装置,其包含:
存储器;
至少一个多线程处理器,其耦合到所述存储器,所述至少一个多线程处理器经配置以:
将VP8帧的第一宏块指派给第一硬件线程并将所述VP8帧的第二宏块指派给第二硬件线程;且
经由以下步骤来通过所述第一硬件线程解码所述第一宏块并同时通过所述第二硬件线程解码所述第二宏块:
重构所述第一宏块及所述第二宏块;
将所述第一宏块和所述第二宏块的经重构像素存储于行缓冲器及列缓冲器中的至少一者内以执行帧内预测;以及
在所述第一硬件线程或所述第二硬件线程重构另外的宏块之前,紧随所述第一宏块及所述第二宏块的重构来执行对所述第一宏块及所述第二宏块的回路滤波。
9.根据权利要求8所述的装置,其中所述第一宏块和所述第二宏块来自不同行。
10.根据权利要求8所述的装置,其中所述至少一个多线程处理器经进一步配置以:
将未经滤波像素存储于所述行缓冲器及所述列缓冲器中的至少一者中。
11.根据权利要求8所述的装置,其中所述多线程处理器经进一步配置以通过如下方式进行解码:
将从先前宏块到所述第一宏块和所述第二宏块的经重构像素存储于所述行缓冲器和所述列缓冲器中;以及
使用所述先前宏块的经重构邻近者信息执行帧内预测。
12.根据权利要求8所述的装置,其进一步包含控制器,所述控制器经配置以将所述VP8帧的所述第一宏块和所述第二宏块指派给所述多线程处理器的所述第一硬件线程和所述第二硬件线程。
13.根据权利要求8所述的装置,其中所述多线程处理器包含数字信号处理器及多核心处理器中的一者。
14.根据权利要求8所述的装置,其集成到移动电话、机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、计算机、手持式个人通信系统PCS单元、便携式数据单元及固定位置数据单元中的至少一者中。
15.一种用于多线程纹理解码的装置,其包含:
用于将VP8帧的第一宏块指派给第一硬件线程并将所述VP8帧的第二宏块指派给第二硬件线程的装置;及
用于经由以下步骤来通过所述第一硬件线程解码所述第一宏块并同时通过所述第二硬件线程解码所述第二宏块的装置:
重构所述第一宏块及所述第二宏块;
将所述第一宏块和所述第二宏块的经重构像素存储于行缓冲器及列缓冲器中的至少一者内以执行帧内预测;以及
在所述第一硬件线程或所述第二硬件线程重构另外的宏块之前,紧随所述第一宏块及所述第二宏块的重构来执行对所述第一宏块及所述第二宏块的回路滤波。
16.根据权利要求15所述的装置,其集成到移动电话、机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、计算机、手持式个人通信系统PCS单元、便携式数据单元及固定位置数据单元中的至少一者中。
17.一种经配置用于多线程纹理解码的计算机程序产品,所述计算机程序产品包含:
非暂时性计算机可读媒体,其具有记录于其上的非暂时性程序代码,所述程序代码包含用以进行以下操作的程序代码:
将VP8帧的第一宏块指派给第一硬件线程并将所述VP8帧的第二宏块指派给第二硬件线程;以及
经由以下步骤来通过所述第一硬件线程解码所述第一宏块并同时通过所述第二硬件线程解码所述第二宏块:
重构所述第一宏块及所述第二宏块;
将所述第一宏块和所述第二宏块的经重构像素存储于行缓冲器及列缓冲器中的至少一者内以执行帧内预测;以及
在所述第一硬件线程或所述第二硬件线程重构另外的宏块之前,紧随所述第一宏块及所述第二宏块的重构来执行对所述第一宏块及所述第二宏块的回路滤波。
18.根据权利要求17所述的程序产品,其集成到移动电话、机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、计算机、手持式个人通信系统PCS单元、便携式数据单元及固定位置数据单元中的至少一者中。
CN201380005126.1A 2012-01-20 2013-01-20 多线程纹理解码 Expired - Fee Related CN104041050B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/354,364 2012-01-20
US13/354,364 US20130188732A1 (en) 2012-01-20 2012-01-20 Multi-Threaded Texture Decoding
PCT/US2013/022341 WO2013110018A1 (en) 2012-01-20 2013-01-20 Multi-threaded texture decoding

Publications (2)

Publication Number Publication Date
CN104041050A CN104041050A (zh) 2014-09-10
CN104041050B true CN104041050B (zh) 2018-12-21

Family

ID=47664443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380005126.1A Expired - Fee Related CN104041050B (zh) 2012-01-20 2013-01-20 多线程纹理解码

Country Status (7)

Country Link
US (1) US20130188732A1 (zh)
EP (1) EP2805498A1 (zh)
JP (1) JP2015508620A (zh)
KR (1) KR102035759B1 (zh)
CN (1) CN104041050B (zh)
TW (1) TWI510099B (zh)
WO (1) WO2013110018A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11228769B2 (en) 2013-06-03 2022-01-18 Texas Instruments Incorporated Multi-threading in a video hardware engine
US10542233B2 (en) * 2014-10-22 2020-01-21 Genetec Inc. System to dispatch video decoding to dedicated hardware resources
CN106954066A (zh) * 2016-01-07 2017-07-14 鸿富锦精密工业(深圳)有限公司 视频解码方法
CN107547896B (zh) * 2016-06-27 2020-10-09 杭州当虹科技股份有限公司 一种基于CUDA的Prores VLC编码方法
CN111447453B (zh) * 2020-03-31 2024-05-17 西安万像电子科技有限公司 图像处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007259247A (ja) * 2006-03-24 2007-10-04 Seiko Epson Corp 符号化装置、復号化装置、データ処理システム
CN101600109A (zh) * 2009-07-13 2009-12-09 北京工业大学 基于纹理和运动特征的h.264降尺寸转码方法
CN102075746A (zh) * 2010-12-06 2011-05-25 青岛海信信芯科技有限公司 一种视频宏块解码方法及装置
CN102150425A (zh) * 2008-09-11 2011-08-10 谷歌公司 用于使用并行处理来进行解码的系统和方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952211B1 (en) * 2002-11-08 2005-10-04 Matrox Graphics Inc. Motion compensation using shared resources of a graphics processor unit
US20050281339A1 (en) * 2004-06-22 2005-12-22 Samsung Electronics Co., Ltd. Filtering method of audio-visual codec and filtering apparatus
KR20050121627A (ko) * 2004-06-22 2005-12-27 삼성전자주식회사 동영상 코덱의 필터링 방법 및 필터링 장치
US20060013315A1 (en) * 2004-07-19 2006-01-19 Samsung Electronics Co., Ltd. Filtering method, apparatus, and medium used in audio-video codec
US20060050976A1 (en) * 2004-09-09 2006-03-09 Stephen Molloy Caching method and apparatus for video motion compensation
JP4680608B2 (ja) * 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法
US8036517B2 (en) * 2006-01-25 2011-10-11 Qualcomm Incorporated Parallel decoding of intra-encoded video
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
JP5340289B2 (ja) * 2008-11-10 2013-11-13 パナソニック株式会社 画像復号装置、画像復号方法、集積回路及びプログラム
WO2010067505A1 (ja) * 2008-12-08 2010-06-17 パナソニック株式会社 画像復号化装置および画像復号化方法
US20120014451A1 (en) * 2009-01-15 2012-01-19 Wei Siong Lee Image Encoding Methods, Image Decoding Methods, Image Encoding Apparatuses, and Image Decoding Apparatuses
KR101118091B1 (ko) * 2009-06-04 2012-03-09 주식회사 코아로직 비디오 데이터 처리 장치 및 방법
CN101583041B (zh) * 2009-06-18 2012-03-07 中兴通讯股份有限公司 多核图像编码处理设备的图像滤波方法及设备
EP2534643A4 (en) * 2010-02-11 2016-01-06 Nokia Technologies Oy METHOD AND APPARATUS FOR PROVIDING MULTIFIL VIDEO DECODING
US8681162B2 (en) * 2010-10-15 2014-03-25 Via Technologies, Inc. Systems and methods for video processing
US9042458B2 (en) * 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
US8731067B2 (en) * 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US20130077690A1 (en) * 2011-09-23 2013-03-28 Qualcomm Incorporated Firmware-Based Multi-Threaded Video Decoding
US20130121410A1 (en) * 2011-11-14 2013-05-16 Mediatek Inc. Method and Apparatus of Video Encoding with Partitioned Bitstream

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007259247A (ja) * 2006-03-24 2007-10-04 Seiko Epson Corp 符号化装置、復号化装置、データ処理システム
CN102150425A (zh) * 2008-09-11 2011-08-10 谷歌公司 用于使用并行处理来进行解码的系统和方法
CN101600109A (zh) * 2009-07-13 2009-12-09 北京工业大学 基于纹理和运动特征的h.264降尺寸转码方法
CN102075746A (zh) * 2010-12-06 2011-05-25 青岛海信信芯科技有限公司 一种视频宏块解码方法及装置

Also Published As

Publication number Publication date
US20130188732A1 (en) 2013-07-25
TWI510099B (zh) 2015-11-21
TW201347548A (zh) 2013-11-16
JP2015508620A (ja) 2015-03-19
EP2805498A1 (en) 2014-11-26
WO2013110018A1 (en) 2013-07-25
CN104041050A (zh) 2014-09-10
KR20140114436A (ko) 2014-09-26
KR102035759B1 (ko) 2019-10-23

Similar Documents

Publication Publication Date Title
CN104041050B (zh) 多线程纹理解码
CN103577269B (zh) 媒体工作负荷调度器
TWI513316B (zh) 轉碼視頻資料之技術
JP2012521724A5 (zh)
CN109565587A (zh) 具有上下文解码和重构旁路的视频编码的方法和系统
RU2011142763A (ru) Система и способ сжатия мультитипотокового видео с использованием множества форматов кодирования
US11638041B2 (en) Multiple transcode engine systems and methods
CN103888771A (zh) 基于gpgpu技术的并行视频图像处理方法
CN102761739B (zh) 用来动态地调整视频译码复杂度的装置与方法
CN104050040A (zh) 媒体重放工作负荷调度器
CN107113423A (zh) 重放用于隐藏视频解码错误的旧分组和基于无线链路状况的视频解码等待时间调整
CN105681893B (zh) 流媒体视频数据的解码方法和装置
US20210233572A1 (en) Video processing method, electronic device, and storage medium
CN104202656B (zh) 网络音频mp3流乱序分段解码方法
US11968380B2 (en) Encoding and decoding video
CN103686195A (zh) 视频信息处理方法及设备
CN1664944A (zh) 携带用动画播放装置
JP2015508620A5 (zh)
TWI316812B (zh)
CN106604115B (zh) 视频播放控制装置及方法
WO2022179600A1 (zh) 视频编码方法、视频解码方法、装置及电子设备
CN105657540B (zh) 一种适配安卓系统的视频解码方法及其装置
US8311091B1 (en) Cache optimization for video codecs and video filters or color converters
CN113596583A (zh) 视频流子弹时间数据处理方法及装置
TWI735297B (zh) 具有初始化片段之視訊及音訊之寫碼

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181221

Termination date: 20220120

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