双级帧内预测视频编码系统及方法

文档序号:7741182阅读:134来源:国知局

专利名称::双级帧内预测视频编码系统及方法
技术领域
:本发明涉及图形编码领域。
背景技术
:电子系统及电路已对现代社会的推进做出重大贡献,且被使用在许多应用中以获得有利结果。诸如数字计算机、计算器、音频装置、视频设备和电话系统这样的众多电子技术有利于在商务、科技、教育和娱乐的绝大多数领域中分析以及交换数据、思想和趋势,从而提高生产率以及削减成本。这些活动频繁地涉及视频编码和解码。然而,编码和解码会涉及占用有价值资源且耗费时间的复杂处理。数字媒体的持续发展导致了视频内容传播激增。视频内容一般包含对其进行存储及通信会花费大量开销的大量数据。编码和解码技术经常用于试图压縮信息。然而,随着编码和解码技术试图达到的压縮比提高,一些信息的损失一般也会增多。如果压縮时"丢失"的信息太多,视频展示的质量和用户体验则变差。诸如H.264压縮这样的视频压縮技术经常采用时间和空间预测来压縮原始视频流。一般的压縮引擎可包含帧内预测模块、运动预测模块、变换模块和熵编码模块。对于基线类(baselineprofile)4:2:0视频,宏块被定义为包括一个16X16像素亮度块和两个8X8像素色度块。在11.264视频编码时,可以将每个宏块编码为帧内预测(I)宏块或帧间预测(P)宏块。一般而言,已编码比特流中的大多数宏块都是P型宏块,因而,就计算资源而言,对作为I型宏块的宏块的开销进行计算所花费的开销非常大。
发明内容本发明提出了一种多级预测模式编码类型判定系统及方法。在一个实施例中,接收预测模式级别的指示并根据所述预定模式级别执行编码。所述预测模式级别的指示是可编程的,并且可以设定在不同级别。预测模式级别可与可编程编码类型判定点(例如,早期、中期或后期)相关联。编码处理包括对I型或P型编码进行判定。在一个实施例中,也可以实施多级编码型方法,其中,所述帧内预测相关搜索和所述帧间预测相关搜索中的至少一部分并行执行。附图描述为了示例性地描述本发明的原理而包括附图,这些附图并入此说明书中并形成其中的一部分,且并非意图将本发明限定于其中所图示出的特定实施方式。除非另外特别指出,否则这些图将不按比例绘制。图1是根据本发明一个实施例的示例性编码架构的框图。图2是根据本发明一个实施例的在其上可以实施编码的示例性计算机系统的框图。图3是根据本发明一个实施例的在其上可以实施编码的编码器系统300的框图。图4是图示出根据本发明一个实施例的双阶段宏块确定和编码处理的示意图。图5A是根据本发明一个实施例的示例性多级预测模式编码类型判定方法的流程图。图5B是根据本发明一个实施例的示例性灵活编码类型确定处理的流程图。图6是根据本发明一个实施例的示例性编码系统600的框图。图7是根据本发明一个实施例的多级编码类方法700的流程图。图8示出了根据本发明一个实施例的包含示例性视频处理器或图形处理器的示例性架构。图9示出了根据本发明一个实施例的手持设备中的示例性部件的框图。具体实施例方式现在,将对根据本发明的实施例进行详细描述,其示例图示于附图中。虽然将结合优选实施例对本发明进行描述,但是要理解的是它们并非意图将本发明限于这些实施例。相反,本发明旨在涵盖可包括在由所附权利要求书限定的本发明的精神和范围内的替换、修改及等效内容。此外,在本发明实施例的下列详细描述中,阐述了大量具体细节,以便提供对本发明的透彻理解。然而,对于本领域中的一个普通技术人员而言将显而易见的是,可以在没有这些具体细节的情况下施行本发明。在其他例子中,为了不混淆本发明的各个方面,不对公知的方法、程序、部件和电路进行详细描述。对于计算机存储器中数据比特上的程序、逻辑块、处理及操作的其他符号表示,介绍以下详细描述的某些部分。这些描述和表示是由数据处理领域中的普通技术人员使用的手段,以最有效地将他们工作的实质传达给本领域的其他技术人员。这里的程序、逻辑块、处理等通常被认为是一系列前后一致的导致期望结果的步骤或指令。这些步骤包括物理量的物理操控。通常,尽管不是必须地,但这些物理量采用可以在计算机系统中存储、传送、组合、比较以及其他操控的电、磁、光或量子信号的形式。主要由于常用的原因,已经多次证明提及这些信号时用比特、数值、元件、符号、字符、术语、数字等是方便的。然而,应当记住的是,所有这些以及相似的术语都是与适当的物理量相关联的,并且仅是适用于这些量的方便的称号。除非下面的讨论中清楚而具体地做出其他声明,否则可以理解的是,贯穿本发明使用诸如"处理"、"计算"、"确定"、"显示"、"存取"、"写入"、"包括"、"存储"、"传输"、"遍历"、"关联"、"识别"等的术语的讨论,指的是计算机系统或类似的处理设备(例如,电学、光学或量子计算设备)的动作和处理,其对在计算机系统的寄存器和存储器中以物理(例如,电子)量代表的数据进行操控。这些术语是指下述处理设备的动作和处理,所述处理设备对计算机系统的部件(例如,寄存器、存储器或其他这类信息存储、传输或显示设备等)内的物理量进行操控或将其转换成其他部件内的相似地表示为物理量的其他数据。对于方法,提出并讨论了下面的部分详细描述。虽然在流程图中公开了步骤及其次序,但这类步骤和次序是示例性的。本发明的实施例非常适合执行各种其他步骤或流程图中所列举的步骤的变形。对于可以在计算机存储器上执行的对数据比特进行的程序、逻辑块、处理及操作的其他符号表示,介绍以下详细描述的某些部分。这些描述和表示是由数据处理领域中的普通技术人员使用的手段,以最有效地将他们工作的实质传达给本领域的其他技术人员。这里的程序、逻辑块、处理等通常被认为是一系列前后一致的导致期望结果的步骤或指令。这些步骤包括物理量的物理操控。通常,尽管不是必须地,但这些物理量采用可以在计算机系统中存储、传送、组合、比较以及其他操控的电、磁、光或量子信号的形式。主要由于常用的原因,已经多次证明提及这些信号时用比特、数值、元件、符号、字符、术语、数字等是方便的。然而,应当注意的是,所有这些以及相似的术语都是与适当的物理量相关联的,并且仅是适用于这些量的方便的称号。除非下面的讨论中清楚而具体地做出其他声明,否则可以理解的是,贯穿本发明使用诸如"存取"、"写入"、"包括"、"存储"、"传输"、"遍历"、"关联"、"识别"等的术语的讨论,指的是计算机系统或类似的电子计算设备的动作和处理,其对在计算机系统的存储器和寄存器中以物理(电子)量表示的数据进行操控并转换成在计算机系统的存储器或寄存器或者其他这类信息存储、传输或显示设备中相似地表示为物理量的其他数据。—般而言,计算设备包括至少某一形式计算机可读介质。计算机可读介质可以是计算设备可访问的任何可用介质。作为示例而非限制,计算机可用介质可以包括计算机存储介质和通信介质。计算机存储介质包括在用于诸如计算机可读指令、数据结构、程序模块或其他数据的信息存储的任何方法或者技术中实施的易失的和非易失的、可移动的和非可移动的介质。计算机存储介质包括,但不仅限于RAM、R0M、EEPROM、闪存或其他存储器技术、CD-R0M、数字多用途光盘(DVD)或其他光学存储器、卡式磁带、盒式磁带、磁盘存储器或其他磁存储设备或者可以用于存储所需信息的任何其他介质。通信介质一般可以具体化为诸如载波或其他传输机制这样的调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语"调制数据信号"意指信号通过将信息编码到该信号中而具有一个或多个以这种方式设定或改变的特征。作为示例而非限制,通信介质包括诸如有线网络或直线连接的有线介质、以及诸如声波、RF、红外和其他无线介质的无线介质。上述的任何组合也应当包括在计算机可读介质的范围内。可以在诸如程序模块这样的由一个或多个计算机或者其他设备执行的计算机可执行指令的一般语境中对一些实施例进行描述。通常,程序模块包括例程、程序、目标、部件、数据结构等,其执行特定任务或实施特定的抽象数据类型。一般而言,可以根据各种实施例的需要,对程序模块的功能进行组合或分配。虽然这里所描述的实施例会提及作为计算机系统的分立部件的CPU和GPU,但本领域技术人员将认识到,CPU和GPU可以被集成到单个设备中,并且CPU和GPU可共享诸如指令逻辑、缓冲器、功能单元等各种资源;或者可对图形和通用操作提供单独的资源。因此,这里所描述的与GPU相关联的任何或所有电路和/或功能也都可以在适当配置的CPU中得以实施并由其执行。此外,虽然这里所描述的实施例会提及GPU,但要理解的是,这里所描述的电路和/或功能也都可以在诸如通用或其他专用协处理器这样的其他类型的处理器中或者在CPU内得以实施。本发明有助于高效有效的视频压縮。在本发明的一个实施例中,通过利用I或P型预测估算对宏块进行编码的开销,实现对宏块类型的判定。对每个宏块进行该判定。确定每个I型宏块的开销需要较为密集地使用资源并且会影响性能,然而确定每个宏块内开销有助于进行更好的宏块类型判定并改善最后得到的已编码比特流的质量。本系统及方法有助于在编码时灵活且高效地平衡质量与性能。本系统及方法允许资源量的可编程选择,这些资源用于确定与预测相关的开销以及进行预测类型判定。在一个实施例中,帧内预测和计算被分两个可编程阶段,从而存在对所花费的计算复杂性量和最终的压縮比特流的质量进行的控制。可以选择低的计算复杂性并将其转换成可对其进行处理的更多宏块,从而导致更大的帧大小或更高的帧速率,或者将其转换成较低耗电以对固定量的数据进行编码。同样,对于要求更高质量的应用,可以选择高的计算复杂性。利用该灵活方案,通过设定每个阶段中所做的工作,对计算复杂性的细粒度控制成为可能。在一个示例性实施方式中,某些帧内预测和帧间预测操作在同一时间启动且并行执行。图1是根据本发明一个实施例的示例性编码架构100的框图。编码架构100包括编码系统110和远程解码器150。编码系统110接收当前帧(例如,当前帧104和105),对这些当前帧进行编码,然后将已编码当前帧(例如,当前帧101、102和103)转送到远程解码器150。编码系统110包括编码器120、重建解码器140和存储器130。编码器120对这些帧进行编码并将其转送到远程解码器150和重建解码器140。重建解码器140对这些帧进行解码并将其转送到存储器130,存储为重建后的帧131、132和133。在一个示例性实施方式中,重建后的帧131U32和133对应于当前帧101、102和103。图2是作为可以在其上实施本发明实施例的计算机系统的一个实施例而示出的示例性计算机系统200的框图。计算机系统200包括中央处理单元201、主存储器202(例如,随机存取存储器)、具有北桥209和南桥205的芯片组203、可移动数据存储设备204、输入设备207、信号通信端口208以及与显示器220连接的图形子系统210。计算机系统200包括用于与计算机系统200中的部件通信连接的若干总线。通信总线291(例如,前端总线)将芯片组203中的北桥209连接到中央处理单元201。通信总线292(例如,主存储器总线)将芯片组203中的北桥209连接到主存储器202。通信总线293(例如,加速图形端口接口)将芯片组203中的北桥209连接到图形子系统210。通信总线294、295和297(例如,PCI总线)将芯片组203中的南桥205分别连接到可移动数据存储设备204、输入设备207、信号通信端口208。图形子系统210包括图形处理器21和帧缓冲器215。计算机系统200中的部件共同协作以提供多种功能和性能。在一个示例性实施例中,即使计算机系统200中所包括的功能部件中的一些可能出故障,计算机系统200中的部件也会共同协作以提供预定类型的功能。通信总线291、292、293、294、295和297通信信息。中央处理器201处理信息。主存储器202存储针对中央处理器201的信息和指令。可移动数据存储设备204也存储信息和指令(例如,用作大量信息贮存器)。输入设备207提供用于在显示器220上输入信息和/或用于指示或突出信息的机构。信号通信端口208提供与外部设备的通信接口(例如,与网络的接口)。显示设备220根据帧缓冲器215中所存储的数据来显示信息。图形处理器211处理来自中央处理器201的图形命令,并将最后得到的数据提供给帧缓冲器215用于存储并由显示监视器220取回。现在,参照图3,其中绘出了根据本发明一个实施例的量化编码器系统300的框图。量化编码器系统300包括运动搜索引擎310、运动补偿模块321、变换模块322、量化模块323、量化系数缓冲器模块324、逆量化模块326、逆变换模块327、重建/去块模块328和熵编码器330。运动搜索引擎310与重建/去块模块328和运动补偿模块321通信连接,其中,所述运动补偿模块321与变换模块323通信连接,而所述变换模块323又与量化模块323通信连接。量化模块323与量化系数缓冲器模块324和逆量化模块326通信连接,其中,所述逆量化模块326与逆变换模块327通信连接,而所述逆变换模块327又与重建/去块模块328通信连接。量化编码器系统300中的部件共同协作以利于提高压縮比。运动搜索模块310接收原始视频数据(例如,图片数据、帧数据等)的输入比特流并对其进行处理,通常在16X16像素的宏块中,并且将处理后的信息转送到运动补偿模块321。在一个实施例中,运动搜索模块310所执行的处理包括对一副图片上的或逐帧的原始视频数据与从重建/去块模块328接收的重建后的图片进行比较,以检测"图像运动"指示。变换引擎322接收运动补偿信息并执行附加操作(例如,离散余弦变换等),并且将数据(例如,变换后的系数等)输出到量化模块323。量化模块323对接收到的信息执行量化,并将量化结果转送到量化系数缓冲器324、逆量化模块326。诸如量化系数缓冲器324这样的缓冲器可以用于缓存或暂时存储信息,并且由于有助于在各编码级中进行一些独立且同时的操作而得以提高效率。例如,量化系数缓冲器324存储量化模块323的结果。熵编码器330从量化系数缓冲器324中提取数据,并输出已编码比特流。重建管道包括逆量化模块326、逆变换模块327和重建/去块模块328,执行针对生成与帧或图片相关联的重建后的比特流的操作。在一个实施例中,利用后处理量化来改善结果。一个示例性实施方式采用共同未决申请中所描述的后处理量化,该共同未决申请的标题为"PostProcessingEncodingSystemandMethod,,(代理人案巻号NVID-P003716)。图4是图示出根据本发明一个实施例的双阶段宏块确定和编码处理的图示。在一个实施例中,各种预测模式级别都是可编程的。预测模式级别的可编程性能够实现基于特定目标或应用来平衡资源利用和质量。在一个示例性实施方式中,预测模式级别与1/P判定点选择相对应,并且该I/P型判定点是可编程的。例如,该判定点的可编程性能允许该1/P型判定基于初始数据、相对较广泛的数据或者它们两者之间的某种数据而做出。在一个示例性实施方式中,当存在可用的初始数据时,可以在处理的早期进行I/P型判定,或者当存在可用的广泛数据时,可以在处理的后期进行I/P型判定并可进行相对较佳的判定,或者可以基于中期的数据量和早期与后期指定之间的某种数据来进行I/P型判定。I/P型判定点的选择限定了第一阶段与第二阶段之间的界限。在一个实施例中,第一阶段和第二阶段中所做的计算取决于I/P型判定点的编程。在一个示例性实施方式中,1/P判定点的编程选择与开销确定的复杂性相关联。在一个实施例中,存在三个级别的开销复杂性,包括大宏块开销复杂性、部分子宏块开销复杂性和完全子宏块开销复杂性。例如,如果宏块是具有4X4像素子块的16X16像素宏块,则大宏块开销复杂性涉及确定16X16开销,部分子宏块开销复杂性涉及确定4X4开销中的一些,并且完全子宏块开销复杂性涉及确定所有4X4开销。在一个示例性实施方式中,大宏块开销复杂性被视为保存资源且用于早期I/P型判定,部分子宏块开销复杂性被视为保存资源和质量的混合且用于中期I/P型判定,并且完全子宏块开销复杂性被视为使品质达到最高且用于后期判定。可以在tl、t2和t3时刻结束第一阶段并开始第二阶段。I/P型判定点401的选择对应于tl时刻,I/P判定点420的选择对应于t2时刻,且I/P判定点403的选择对应于t3时刻。在第一阶段操作411中,在判定点401计算16X16帧内开销并基于16X16帧内开销和完全帧间开销做出1/P判定。如果宏块模式被判定为帧内,则在第二阶段操作412中,进行进一步计算以确定是16X16帧内模式还是4X4帧内模式哪一个获胜。如果宏块模式被判定为帧间(P),则在第二阶段操作412中仅进行预测。1/P型判定点401的选择为帧内开销确定提供了最少的计算复杂性。在第一阶段操作421中,在判定点402,在第一阶段中执行16X16模式帧内开销计算和一些4X4模式帧内开销计算。在操作421的一个示例性实施方式中,在第一阶段中计算总共九个可能模式当中的一些4X4模式。在第一阶段操作431中,在判定点403执行16X16模式帧内开销计算和所有4X4模式帧内开销计算。这又意指在第二阶段操作432中做出实际预测。判定点403的选择涉及大多数计算密集的判定。判定点402的选择提供了在判定点401与403两极端情况之间的计算复杂性中的灵活比例縮放。如果宏块被判定为帧内,则为了更加准确而对所有4X4模式进行重新计算。由于大多时候,宏块类型为帧间(P),所以部分地计算4X4模式省去了大量计算且未使质量变差。下列表格用第一阶段IP1和第二阶段IP2的内容示出了三个判定点。<table>tableseeoriginaldocumentpage9</column></row><table>在一个实施例中,在帧内预测开销确定开始时开始帧间预测开销确定。在一个示例性实施方式中,在第一阶段中全部进行帧间开销计算。第一阶段全面搜索用于预测的可能的模式,并计算用于执行I型预测和P型预测的开销。比较这些开销以确定宏块模式是I型还是P型。在一个实施例中,判定点的可编程性影响了随后的帧内开销判定。在第二阶段中,如果宏块模式是帧内,则进行更详细的分析以确定最终是哪种模式。例如,最终的宏块帧内模式可以是4X4或16X16模式。第二阶段使用所选方法来执行实际预测,并对数据进行处理,以在处理管线上进一步使用。各种预测模式级别的灵活选择或I/P型判定及预测中的调整可基于用户编程。用户可对哪些帧内预测模式(例如,16X16、4X4等)在比特流中可用以及I/P型判定点的位置进行编程。在一个示例性实施方式中,第一阶段从16X16模式可用开始,且在16X16计算之后前进到第二阶段。图5A是根据本发明一个实施例的示例性多级预测模式编码类型判定方法500的流程图。在操作501中,接收预测模式级别的指示。在一个实施例中,预测模式级别的指示是可编程的。预测模式级别的指示可基于各种考虑,包括用户输入、应用类型等。预测模式级别可与可编程编码类型判定点相关联。在一个示例性实施方式中,存在三个预测模式级别,包括早期预测模式级别、中期预测模式级别和后期模式级别。在操作502中,根据预测模式级别确定编码的类型。在一个实施例中,确定编码的类型包括灵活编码类型确定处理。在操作503中,执行在操作502中确定的编码类型。在一个示例性实施方式中,对接收到的视频信息执行I型或P型编码。图5B是根据本发明一个实施例的示例性灵活编码类型确定处理550的流程图。在一个实施例中,完整宏块类型预测是16像素X16像素宏块帧内预测类型,且子宏块类型预测是4像素X4像素子块帧内预测类型。在操作509中,将I型搜索和预测信息馈送到操作511、515和520,并且在操作510中,将P型搜索和预测信息馈送到操作513、517和521。在操作511中,对有效宏块模式进行处理,包括计算第一级编码开销。在一个实施例中,第一级编码开销对应于大宏块开销复杂性。例如,如果应用涉及16X16宏块,则对16X16宏块计算第一级编码开销。在操作512中,确定所接收到的预测模式级别的指示是否是第一级预测模式指示。如果该预测模式级别的指示不是第一级预测模式指示,则处理前进到操作515。如果该预测模式级别的指示是第一级预测模式指示,则处理前进到操作513。在操作513,基于第一级编码开销对执行宏块的I型编码还是P型编码进行判定。如果该判定是执行P型编码,则处理前进到操作524。如果该判定是执行I型编码,则处理前进到操作514。在操作514中,执行对有效4X4模式的处理,并计算开销。当完成操作514时,处理跳进到操作519。在操作516中,确定所接收到的预测模式级别的指示是否是第二预测模式级别指示。如果该预测模式级别的指示不是第二级预测模式指示,则处理前进到操作520。如果该预测模式级别的指示是第二级预测模式指示,则处理前进到操作515。在操作515,对有效宏块模式的部分子集进行处理,包括计算第二级编码开销。在一个实施例中,第二级编码开销对应于中期宏块开销复杂性。例如,如果应用涉及16X16宏块和4X4子块,则对4X4子块中的一些计算第二级编码开销。关于操作517,基于第二级编码开销对执行宏块的I型编码还是P型编码进行判定。如果该判定是执行P型编码,则处理前进到操作524。如果该判定是执行I型编码,则处理前进到操作518。在操作518中,执行对所有有效4X4模式的处理并计算所有开销。处理前进到操作519。在操作519中,确定是进行完整(例如,16X16等)宏块类型预测还是子(4X4等)宏块类型预测。在一个实施例中,再次生成预测信息并将其用于判定中。步骤跳进到操作523。在操作520中,对所有有效宏块模式进行处理,包括计算第三级编码开销。在一个实施例中,第三级编码开销对应于小宏块开销复杂性。例如,如果应用涉及16X16宏块和4X4子块,则对所有4X4子块计算第三级编码开销。在操作521中,如果所接收到的预测模式级别的指示是第一预测模式级别指示,则基于第一级编码开销对执行宏块的I型编码还是P型编码进行判定。如果该判定是执行P型编码,则处理前进到操作524。如果该判定是执行I型编码,则处理前进到操作523。在操作523中,执行I型宏块处理,而在操作524中,执行P型宏块处理。当完成相应的I型宏块或P型宏块处理时,处理跳进到操作525并执行变换。在一个实施例中,一些编码操作可以并行执行。图6是根据本发明一个实施例的示例性编码系统600的框图。编码系统600包括第一级610、第二级620和第三级630。第一级610包括帧间预测相关搜索611,用于执行帧间预测相关搜索;预测和开销模块612,用于确定帧间预测开销;和1/P判定模块613,用于对帧间预测型编码或帧内预测型编码进行判定。在一个示例性实施方式中,帧间预测相关搜索是运动搜索型。第二级620包括帧内搜索模块621,用于执行帧内预测相关搜索;预测和开销模块622,用于确定帧内预测开销;和变换模块623,用于基于所述对帧间预测型编码或帧内预测型编码的判定来执行变换。第三级630执行其余编码操作。编码系统600中的部件共同协作以执行协调编码。第一级610和第二级620接收视频流。第一级610中的部分操作与第二级620并行执行。例如,当接收到视频流时,帧间搜索611和帧内搜索621并行开始各自的操作。帧内预测开销从第二级620传送到第一级610,用于对帧间预测型编码或帧内预测型编码的判定。I/P判定的结果被馈送到变换模块623。如果该判定是执行P型编码,则变换模块623还接收来自第一级610的搜索和预测信息,而如果该判定是I型编码,则变换模块623还接收来自第二级620的搜索和预测信息。要认识到,编码系统600容易实施于各种架构。在一个实施例中,第一级和第二级在分立部件中执行。例如,可在图形处理器中执行第一级和第二级。在一个实施例中,第一级在第一分立部件中执行,而第二级在第二分立部件中执行。例如,可在中央处理器中执行第一级,而可在图形处理器中执行第二级。在确定帧间预测开销、帧内预测开销以及判定帧间预测型编码或帧内预测型编码时,编码系统600也可用于实施多级预测模式编码类型判定处理(例如,500等)。图7是根据本发明一个实施例的多级编码型方法700的流程图。在一个实施例中,帧内预测相关搜索和帧间预测相关搜索是穷尽式搜索。另外,可基于对进行完整宏块类型预测还是子宏块类型预测的判定来执行多级编码型方法700。在操作710中,执行帧内预测相关搜索和相应的预测,其中,所述帧内预测相关搜索中的至少一部分与帧间预测相关搜索并行执行。在操作720中,执行帧间预测相关搜索和相应的预测,其中,所述帧间预测相关搜索中的至少一部分与帧内预测相关搜索并行执行。在操作730中,执行多级预测模式编码类型判定处理。要认识到,灵活编码类型确定处理(例如,550等)可用于执行多级预测模式编码类型判定处理。图8示出了根据本发明一个实施例的包含示例性视频处理器或图形处理器的示例性架构。如图8中所绘制的,系统800具体化为可编程S0C集成电路设备810,其包括两个功率域821和822。功率域821包括"常通"的功率岛831。功率域822是指SOC的内核,且包括CPU功率岛832、GPU功率岛833、非功率门控功能岛834和一例视频处理器。系统架构800的图8实施例其目标在于电池供电的手持SOC集成电路设备的具有特定意图的设备功能。SOC810连接到功率管理单元850,而功率管理单元850又连接到功率电池851(例如,一节或多节电池)。连接功率管理单元850以分别经由专用功率轨(powerrail)给功率域821和822供电。功率管理单元850用作SOC810的电源。功率管理单元850包含功率调节电路、电压泵浦电路、电流源电路等,以将来自功率电池851的能量转换成功率轨861-862的所需电压。在图8实施例中,视频处理器位于功率域822内。该视频处理器为图像和视频的编码提供专用视频处理硬件。如上所述,对视频处理器中的硬件部件特别进行优化,以用于执行实时视频编码。功率域821中常通的功率岛831包括用于将SOC810从睡眠模式唤醒的功能。常通的功率域821中的部件将保持激活状态,等待唤醒信号。CPU功率岛832位于功率域822内。该CPU功率岛832提供计算硬件资源,以执行S0C810的更复杂的基于软件的功能。GPU功率岛833也位于功率域822内。该GPU功率岛833提供用于执行3D渲染功能的图形处理器硬件。图9是示出了根据本发明一个实施例的手持设备900中的部件的图示。如图9中所绘制的,手持设备900包括上述图8中的系统架构800。手持设备900示出了给设备900增加能力或功能的外围设备901-907。虽然设备900示出有外围设备901-907,但应当注意的是,可以存在设备900的无需所有外围设备901-907的实施方式。例如,在显示器903为触摸屏显示器的实施例中,可省去键盘902。同样,例如,对于无需蜂窝电话或WiFi能力的那些实施例,可省去RF收发器。此外,除所示外围设备901-907以外,还可给设备900添加附加外围设备,以并入附加功能。例如,可添加硬件驱动或固态大容量存储器,用于数据存储等。RF收发器901能够实现双向蜂窝电话通信和RF无线调制解调通信功能。键盘902用于经由按钮按压、指向装置操控、滚屏轮、转轮、触摸板等接受用户输入。一个或多个显示器903用于经由图像、图形用户界面、全运动视频、文本等给用户提供视觉输出。音频输出部件904用于给用户提供音频输出(例如,可听见的指令、蜂窝电话会议、MP3歌曲回放等)。GPS部件905经由所接收到的GPS信号提供GPS定位服务。例如,GPS定位服务能够实现导航应用和定位应用的操作。可移动存储外围部件906能够实现诸如闪存、SD卡、智能卡等可移动存储设备的装拆。图像拍摄部件907能够实现静止图像或全运动视频的拍摄。手持设备900可用于实施具有蜂窝式通信技术的智能电话、个人数字助理、移动视频回放设备、移动音频回放设备、导航设备或具有上述所有特性和功能的组合功能设备。因而,本发明有利于灵活且定向地利用资源。可以在运行时(例如,实时等)的速度下执行压縮,并且对编码流水操作的失速影响最小。另外,可并行执行操作,从而利于提高响应速度和效率。出于说明和描述的目的,已经介绍了本发明具体实施例的前述描述。它们并非旨在穷举或者将该发明限制于之前公开的形式以及根据上述指导的多种可能的修改和变形。选择和描述实施例以便最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够最好地使用该发明和适于预期特定使用的具有各种修改的各种实施例。旨在通过所附权利要求书及其等效内容来界定本发明的范围。除非在该权利要求中明确阐述,否则方法权利要求中的步骤列表并非暗指执行这些步骤的特定次序。权利要求一种多级预测模式编码类型判定方法,包括接收预测模式级别的指示;根据所述预测模式级别确定编码类型;以及执行所述类型的编码。2.根据权利要求1所述的多级预测模式编码类型判定方法,其中,所述预测模式级别的所述指示是可编程的。3.根据权利要求1所述的多级预测模式编码类型判定方法,其中,所述预测模式级别的所述指示基于用户输入。4.根据权利要求1所述的多级预测模式编码类型判定方法,其中,所述预测模式级别的所述指示基于应用。5.根据权利要求1所述的多级预测模式编码类型判定方法,其中,所述预测模式级别与可编程编码类型判定点相关联。6.根据权利要求1所述的多级预测模式编码类型判定方法,其中,存在三个预测模式级别,包括早期预测模式级别、中期预测模式级别和后期模式级别。7.根据权利要求1所述的多级预测模式编码类型判定方法,其中,所述确定包括对有效宏块模式进行处理,包括计算第一级编码开销;确定所述预测模式级别的所述接收到的指示是否是第一级预测模式指示;如果所述预测模式级别的所述接收到的指示是第一预测模式级别指示,则基于所述第一级编码开销,判定是执行所述宏块的I型编码还是P型编码;对所述有效宏块模式的部分子集进行处理,包括计算第二级编码开销;确定所述预测模式级别的所述接收到的指示是否是第二预测模式级别指示;以及如果所述预测模式级别的所述接收到的指示是第二预测模式级别指示,则基于所述第二级编码开销,判定是执行所述宏块的I型编码还是P型编码。8.根据权利要求1所述的多级预测模式编码类型判定方法,进一步包括确定是进行完整宏块类型预测还是子宏块类型预测。9.根据权利要求8所述的多级预测模式编码类型判定方法,其中,所述完整宏块类型预测是16像素X16像素宏块帧内预测类型,并且所述子宏块类型预测是4像素X4像素宏块帧内预测类型。10.—种多级编码类型系统,包括第一级,用于执行帧间预测相关搜索、确定帧间预测开销并对帧间预测型编码或帧内预测型编码进行判定;禾口第二级,用于执行帧内预测相关搜索、确定帧内预测开销并基于所述对帧间预测型编码或帧内预测型编码的判定而执行变换;其中,所述帧内预测开销从所述第二级传送到所述第一级,用于所述对帧间预测型编码或帧内预测型编码进行判定。11.根据权利要求io所述的多级编码型系统,其中,所述第一级中的部分操作与所述第二级并行执行。12.根据权利要求IO所述的多级编码型系统,其中,所述第一级和所述第二级接收视频流。13.根据权利要求IO所述的多级编码型系统,其中,所述帧间预测相关搜索是运动搜索型。14.根据权利要求IO所述的多级编码型系统,其中,所述第一级和所述第二级在分立部件中执行。15.根据权利要求IO所述的多级编码型系统,其中,所述第一级在第一分立部件中执行,且所述第二级在第二分立部件中执行。16.根据权利要求10所述的多级编码型系统,其中,在确定所述帧间预测开销、所述帧内预测开销以及所述对帧间预测型编码或帧内预测型编码进行的判定中,使用多级预测模式编码类型判定处理。17.—种多级编码型方法,包括执行帧内预测相关搜索和相应的预测;执行帧间预测相关搜索和相应的预测;以及执行多级预测模式编码类型判定处理;其中,所述帧内预测相关搜索和所述帧间预测相关搜索中的至少一部分在电子系统中并行执行。18.根据权利要求17所述的多级编码型方法,其中,在所述执行多级预测模式编码类型判定处理中,使用灵活的编码类型确定处理。19.根据权利要求17所述的多级编码型方法,其中,所述帧内预测相关搜索和所述帧间预测相关搜索是穷尽式搜索。20.根据权利要求17所述的多级编码型方法,进一步包括确定是进行完整宏块类型预测还是子宏块类型预测。全文摘要本发明提出了一种多级预测模式编码类型判定系统及方法。在一个实施例中,接收预测模式级别的指示并根据所述预定模式级别执行编码。所述预测模式级别的指示是可编程的,并且可以设定在不同级别。预测模式级别可以与可编程编码类型判定点(例如,早期、中期或后期)相关联。编码处理包括对I型或P型编码进行判定。在一个实施例中,多程编码型方法也可以在帧内预测相关搜索和帧间预测相关搜索中实施,并执行各自相应的操作,其中,所述帧内预测相关搜索和所述帧间预测相关搜索中的至少一部分并行执行。文档编号H04N7/26GK101795408SQ20101010426公开日2010年8月4日申请日期2010年2月2日优先权日2009年2月2日发明者托马斯·卡帕缇,阿图·咖瑞智申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1