一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

高质量先进邻居管理编码器体系结构的制作方法

2021-11-20 04:49:00 来源:中国专利 TAG:


1.本公开涉及视频处理,更具体地涉及高质量先进邻居管理编码器体系结构。


背景技术:

2.在视频压缩/解压缩(编解码器)系统中,压缩效率、视频质量和处理效率是重要的性能标准。例如,在许多视频应用中,视觉质量是用户体验的重要方面,并且压缩效率影响存储视频文件所需的存储器存储量和/或传输和/或流传输视频内容所需的带宽量。此外,处理效率(包括处理速度和有限计算资源的使用)是编码的重要方面,因为对于更快速并且以更少的功率进行编码,存在着持续的需求。例如,视频编码器压缩视频信息,使得更多的信息可通过给定的带宽被发送或者被存储在给定的存储器空间中,等等。压缩的信号或数据然后被解码器解码,解码器对信号或数据解码或解压缩以显示给用户。在大多数实现方式中,期望具有更大压缩和高处理效率的更高视觉质量。
3.在一些情境中,媒体编码工作负载由于紧密耦合的相邻依从性而具有可缩放性限制,同时产品实现能力要求实时性能,例如以非常高的编码质量以每秒60帧极性超高清晰度编码。通常,诸如波阵面分割(wavefront split)之类的强力相邻依从性管理以及不太严格的质量要求被用于实现可缩放性。然而,在一些呈现情境中,这种波阵面分割和更低的质量都将解码视频质量降低到不可接受的水平。
4.存在对在维持主观视频质量的同时提高编码速度和效率的持续关注。正是出于这些考虑和其他考虑,本改进是必要的。随着对压缩和传输视频数据的期望变得更普遍,这种改进可变得关键。


技术实现要素:

5.本公开的一方面涉及一种用于视频编码的装置,包括:存储器,用于存储视频帧;以及一个或多个处理器,耦合到存储器,该一个或多个处理器用于:接收视频帧的第一最大编码单元和第二最大编码单元以用于分区和编码模式选择,其中第二最大编码单元与第一最大编码单元水平对齐并且紧接第一最大编码单元的右侧,并且第一最大编码单元和第二最大编码单元的每一者包括左上编码单元、右上编码单元、左下编码单元和右下编码单元;并行地执行对于第二最大编码单元的左上编码单元的第一分区和编码模式选择以及对于第一最大编码单元的右下编码单元的第二分区和编码模式选择;紧随在第一分区和编码模式选择以及第二分区和编码模式选择之后,并行地执行对于第二最大编码单元的右上编码单元的第三分区和编码模式选择以及对于第二最大编码单元的左下编码单元的第四分区和编码模式选择;并且利用第一分区和编码模式选择、第二分区和编码模式选择、第三分区和编码模式选择以及第四分区和编码模式选择,将第一最大编码单元和第二最大编码单元编码到比特流中。
6.本公开的另一方面涉及一种用于视频编码的方法,包括:接收视频帧的第一最大编码单元和第二最大编码单元以用于分区和编码模式选择,其中第二最大编码单元与第一
最大编码单元水平对齐并且紧接第一最大编码单元的右侧,并且第一最大编码单元和第二最大编码单元的每一者包括左上编码单元、右上编码单元、左下编码单元和右下编码单元;并行地执行对于第二最大编码单元的左上编码单元的第一分区和编码模式选择以及对于第一最大编码单元的右下编码单元的第二分区和编码模式选择;紧随在第一分区和编码模式选择以及第二分区和编码模式选择之后,并行地执行对于第二最大编码单元的右上编码单元的第三分区和编码模式选择以及对于第二最大编码单元的左下编码单元的第四分区和编码模式选择;并且利用第一分区和编码模式选择、第二分区和编码模式选择、第三分区和编码模式选择以及第四分区和编码模式选择,将第一最大编码单元和第二最大编码单元编码到比特流中。
附图说明
7.在附图中以示例方式而非限制方式图示了本文描述的素材。为了图示的简单和清晰,附图中图示的元素不一定是按比例绘制的。例如,为了清晰起见,一些元素的尺寸相对于其他元素可被夸大。另外,在认为适当时,附图标记在附图之间被重复以指示出对应的或相似的元素。在附图中:
8.图1是用于对视频进行编码以生成比特流的示例系统的示意图;
9.图2图示了视频的示例视频帧;
10.图3图示了示例视频帧的示例邻近最大编码单元;
11.图4图示了邻近最大编码单元的编码单元的示例编码单元处理顺序;
12.图5图示了邻近最大编码单元的编码单元的示例并行分区和编码模式选择编码单元对;
13.图6图示了用于处理视频帧的最大编码单元的示例光栅扫描顺序;
14.图7图示了用于处理视频帧的最大编码单元的示例波阵面扫描顺序;
15.图8图示了用于处理视频帧的最大编码单元的具有波阵面分割边界的示例波阵面扫描顺序;
16.图9是用于分区和编码模式选择的示例并行处理的示意图;
17.图10是图示出用于提供可选最大编码单元评估的示例过程的流程图;
18.图11是图示出用于视频编码的示例过程的流程图;
19.图12是用于视频编码的示例系统的示意图;
20.图13是示例系统的示意图;以及
21.图14图示了全都根据本公开的至少一些实现方式布置的示例装置。
具体实施方式
22.现在参考附图描述一个或多个实施例或实现方式。虽然论述了具体配置和布置,但应当理解这么做只是为了说明。相关领域的技术人员将认识到,在不脱离描述的精神和范围的情况下,可以采用其他配置和布置。相关领域的技术人员将会清楚,本文描述的技术和/或布置也可用在与本文所述不同的多种其他系统和应用中。
23.虽然接下来的描述阐述了可在诸如片上系统(system

on

a

chip,soc)体系结构之类的体系结构中显现的各种实现方式,但本文描述的技术和/或布置的实现方式不限于
特定的体系结构和/或计算系统,而是可由任何体系结构和/或计算系统为类似的目的而实现。例如,采用例如多个集成电路(integrated circuit,ic)芯片和/或封装的各种体系结构和/或诸如机顶盒、智能电话等等之类的各种计算装置和/或消费电子(consumer electronic,ce)装置可实现本文描述的技术和/或布置。另外,虽然接下来的描述可阐述许多具体细节,例如逻辑实现方式、系统组件的类型和相互关系、逻辑分区/集成选择等等,但要求保护的主题可在没有这种具体细节的情况下实现。在其他情况中,可能没有详细示出一些素材,例如控制结构和完整软件指令序列,以免模糊本文公开的素材。
24.本文公开的素材可以用硬件、固件、软件或者其任何组合来实现。本文公开的素材也可实现为存储在机器可读介质上的指令,这些指令可被一个或多个处理器读取和执行。机器可读介质可包括用于以机器(例如,计算装置)可读的形式存储或传输信息的任何介质和/或机构。例如,机器可读介质可包括只读存储器(read only memory,rom);随机访问存储器(random access memory,ram);磁盘存储介质;光存储介质;闪存装置;电的、光的、声的或者其他形式的传播信号(例如,载波、红外信号、数字信号等等),以及其他。
25.说明书中提及“一个实现方式”、“实现方式”、“示例实现方式”等等指示的是描述的实现方式可包括特定的特征、结构或特性,但可能不一定每个实施例都包括该特定特征、结构或特性。另外,这种短语不一定指同一实现方式。另外,当结合实施例来描述特定的特征、结构或特性时,认为结合其他实现方式(无论本文是否明确描述)来实现这种特征、结构或特性是在本领域技术人员的知识范围内的。
26.术语“基本上”、“接近”、“大致”、“近似”和“大约”一般指在目标值的 /

10%内。例如,除非在其使用的明确上下文中另有指明,否则术语“基本上等于”、“大约等于”和“大致等于”的意思是在这样描述的事物之间没有超过偶然的差异。在本领域中,这种差异通常不超过预定目标值的 /

10%。除非另有指明,否则使用序数形容词“第一”、“第二”和“第三”等等来描述共同对象只是表明相似对象的不同实例被引用,而并不打算暗示这样描述的对象必须在时间上、空间上、排名上或者以任何其他方式处于给定的序列中。
27.本文描述了与并行视频编码有关、尤其与用于具有最低限度视觉伪影的改善的编码性能的相邻依从性管理有关的方法、装置、设备、计算平台和物品。
28.如上所述,通过并行执行至少一些视频编码操作来改善编码性能,可能是有利的。特别地,视频帧可被划分成块或者最大编码单元(largest coding unit,lcu)或者编码树单元(coding tree unit,ctu)之类的。就本文使用的而言,术语最大编码单元或者块指的是视频帧的任何像素区域,例如64x64像素区域。每个lcu或块可进一步被分区成编码单元(coding unit,cu)或者子块,并且被进一步分区成预测单元(prediction unit,pu)或预测块,以及变换单元(transform unit,tu)或变换块。值得注意的是,对于lcu或cu的分区和编码模式决策规定,在评估若干个可用分区和潜在编码模式(例如,帧内和帧间)之后,在编码期间要应用的分区和编码模式。就本文使用的而言,术语执行分区和编码模式决策或选择和类似的术语指的是确定lcu或cu的分区和每个分区的编码模式。术语分区和编码模式决策和分区和编码模式选择在本文中是可互换使用的。这种执行分区和编码模式决策可利用任何适当的数据结构和语法来指示,例如分区分割标志、编码模式指示符或标志,等等。值得注意的是,这种处理不包括实际编码成比特流。这种分区和编码模式决策随后被用于封包化(packetization)阶段中来对视频帧进行编码。也就是说,在编码的决策作出部分之
后,分区和编码模式决策被不加修改地用于比特流形成。
29.在一些实施例中,编码单元分区和编码模式决策被并行化以改善计算性能,同时使由于允许并行化的打破的依从性引起的视觉伪影达到最低限度。本文论述的技术支持两阶段流水线(例如,相对于先前的流水线体系结构具有减少数目的阶段),这可提供3倍性能改善(例如,吞吐量),同时导致小于2%的质量影响。在一些实施例中,对于第一最大编码单元(例如,64x64像素)的右下编码单元(例如,32x32像素)和对于紧接第一最大编码单元右侧的第二最大编码单元(例如,64x64像素)的左上编码单元(例如,32x32像素)的分区和编码模式决策被并行地执行。就本文使用的而言,术语并行地执行、并行地处理、并行处理和类似术语指的是两个或更多个过程至少部分地在时间上重叠。例如,由第一过程(例如,对于第一编码单元的分区和编码模式决策)的开始和结束时间定义的第一时间窗口与由第二过程(例如,对于第二编码单元的分区和编码模式决策)的开始和结束时间定义的第二间窗口至少部分地重叠。在一些实施例中,并行过程的开始时间基本上同时开始。然而,可以使用任何并行处理情境。
30.值得注意的是,这种并行编码单元分区和编码模式决策跨过第一和第二最大编码单元之间的边界。此外,这种并行编码要求打破在一些情境中可负面地影响质量的最大编码单元之间的一些依从性。这种依从性打破在下文进一步论述。在一些实施例中,紧随在所论述的对第一最大编码单元的右下编码单元和第二最大编码单元的左上编码单元的并行分区和编码模式决策之后,对于第二最大编码单元的右上编码单元和左下编码单元作出并行编码单元分区和编码模式决策或选择。就本文使用的而言,关于分区和编码模式决策的术语紧随在后指的是不对任何居间编码单元作出分区和编码模式决策,而不一定指的是分区和编码模式决策在任何特定的时间间隔或时钟周期数内随后,虽然更紧随在后的处理是期望的。这样,这种并行编码单元打破并行分区和编码模式决策之间的依从性。此外,这种分区和编码模式决策或选择可在单组操作中执行,或者这种分区和编码模式决策或选择可通过首先并行地对各编码单元执行整数运动估计(integer motion estimation,ime)并且随后在对于各编码单元的最终分区和编码模式决策或选择中并行地使用来自ime的结果来执行。
31.这种处理在视频帧中以任何扫描顺序(例如,光栅扫描顺序、波阵面扫描顺序、具有波阵面分割的波阵面扫描顺序等等)逐个最大编码单元地继续,以为每个最大编码单元执行分区和编码模式决策。这种分区和编码模式决策如上所述随后被用于将所有最大编码单元编码到比特流中。本文论述的技术不是只打破跨最大编码单元的依从性(例如,使用波阵面分割的强力),而是通过流水线化和调整块依从性来将每个最大编码单元的处理内的依从阶段的数目减少到两个阶段,以获得更高的性能,同时降低质量影响。这些技术可被用在任何并行处理计算环境中,例如经由对多核中央处理单元(cpu)、多核图形处理单元(gpu)、多核gpu加速器等等的使用。
32.图1是根据本公开的至少一些实现方式布置的用于对视频101进行编码以生成比特流105的示例系统100的示意图。如图1中所示,系统100包括并行分区和模式选择模块111和编码模块112(标注为使用所选分区和模式的编码,以指示出编码模块112不执行分区或模式选择)。为了清晰起见,分开图示了并行分区和模式选择模块111和编码模块112中的每一者。然而,这种模块可在相同或不同的编码软件、硬件、固件等等中实现。值得注意的是,
并行分区和模式选择模块111可由并行多核处理器或其他并行处理环境实现,其中如本文进一步论述对于块并行选择编码模式,而编码模块112可由单核或多核处理器实现,其中串行执行块编码(利用所选模式)。例如,系统100可实现具有分区和模式选择阶段(由并行分区和模式选择模块111实现)和编码阶段(由编码模块112实现)的多阶段编码。
33.系统100提供视频压缩,并且系统100可以是经由诸如计算系统之类的计算机或计算装置实现的视频编码系统的一部分。例如,系统100接收视频101(例如,视频数据)并且生成比特流105,该比特流105可被解码器解码以生成视频101的解压缩版本。比特流105可兼容视频压缩

解压缩(编解码器)标准,例如hevc(high efficiency video coding,高效视频编码),avc(advanced video coding/h.264/mpeg

4part 10,先进视频编码/h.264/mpeg

4第10部分),vvc(versatile video coding/mpeg

i part 3,通用视频编码/mpeg

i第3部分),vp8,vp9,开放媒体联盟(alliance for open media,aomedia)视频1(av1),vp8/vp9/av1编解码器家族,等等。系统100可经由任何适当的装置实现,例如服务器、个人计算机、膝上型计算机、平板设备、平板手机、智能电话、数字相机、游戏机、可穿戴装置、显示装置、一体化装置、二合一装置,等等。例如,就本文使用的而言,系统、装置、计算机或者计算装置可包括任何这种装置或平台。
34.系统100可包括为了呈现的清晰起见而没有示出的其他模块或子模块。例如,系统100可包括下采样器和编码控制器、变换模块、量化模块、帧内预测模块、帧间预测模块、参考画面缓冲器、扫描模块、熵编码器,等等,它们可经由并行分区和模式选择模块111和/或编码模块112来实现。这种模块是本领域技术人员已知的,并且为了呈现的清晰起见在本文中不作进一步论述。
35.如图所示,系统100接收视频101。视频101可包括任何视频序列来用于编码。这种视频可包括采取任何适当的分辨率的任何适当的视频帧、视频画面、视频帧的序列、画面组、多个画面组、视频数据,等等。例如,视频可以是视频图形阵列(video graphics array,vga)、高清晰度(high definition,hd)、全高清(例如,1080p)、4k分辨率视频、8k分辨率视频,等等,并且视频可包括任何数目的视频帧、视频帧的序列、画面、画面组,等等。为了呈现的清晰起见,本文论述的技术是针对帧、最大编码单元、编码单元、预测单元和变换单元来论述的。然而,这种帧、最大编码单元、编码单元、预测单元和变换单元可被表征为画面、块、子块、预测块和变换块,等等。就本文使用的而言,最大编码单元和编码单元可以是任何尺寸和形状的,使得每一者包括处于任何适当的颜色空间(比如yuv)中的多个像素样本(通常是方形或矩形的)。值得注意的是,每个最大编码单元可被完全分区成编码单元,每个编码单元可被完全分区成预测单元,等等依此类推。也就是说,每个分区在其子单元中维持整体。此外,编码单元或块可被分区成预测单元或子块,预测单元或子块取决于上下文也可被表征为块。另外,为了残差的变换,块、子块或者编码单元也可以可选地被划分成变换块或变换单元。就本文使用的而言,术语尺寸指的是这种编码单元、变换单元等等的尺寸,而并不一定包括该单元本身。术语编码单元或变换单元可以指示其尺寸。这种帧可被表征为画面、视频画面、画面的序列、视频序列,等等,这种编码单元或块可被表征为最大编码单元、编码单元、编码块、宏块、子单元、子块,等等。
36.例如,彩色视频数据的画面或帧可包括亮度平面或分量以及相对于亮度平面处于相同或不同分辨率的两个色度平面或分量。视频可包括可被划分成任何尺寸的块的画面或
帧,块包含与像素的块相对应的数据。这种块可包括来自像素数据的一个或多个平面或颜色通道的数据。例如,块可以是编码单元或者其分区。在高效视频编码(hevc)的情境中,hevc标准为帧定义了最大编码单元,该最大编码单元可被分区成采取具有可变尺寸的矩形块的形式的编码单元(cu)。这种编码单元可被用作用于编码的基本单元或块。这种编码单元可被分区成用于预测的预测单元(pu)和/或用于变换的变换单元(tu),这些预测单元和/或变换单元也采取具有可变尺寸的矩形块(通常是方形的)的形式。然而,如前所述,视频数据的最大编码单元和编码单元可包括任何视频数据,并且任何编码标准可被使用。
37.比特流105可以是表示视频101的任何比特流,例如遵从hevc的比特流或者遵从任何其他编解码器的比特流。在视频101的帧的编码期间,任何数目的编码模式、编码单元分区、变换单元分区等等被评估以为视频101的单元或部分得出最终编码模式。在比特流105中提供视频101的这种最终编码模式以及其他编码信息。
38.分区和编码模式104是由并行分区和模式选择模块111利用本文论述的技术生成的。值得注意的是,并行分区和模式选择模块111并行地为编码单元执行分区和编码模式选择,使得编码单元是最大编码单元的子部分或子区域,编码单元一起构成整个最大编码单元,并且使得最大编码单元和编码单元可能提供了编码模式。在本文各处为了呈现的清晰起见使用这种术语。然而,这种最大编码单元可被表征为编码树单元、宏块、基本块等等,并且这种编码单元可被表征为编码块、预测单元或块、子块,等等。
39.如本文进一步论述的,并行分区和模式选择模块111并行地为编码单元执行分区和编码模式选择。这种分区和编码模式选择包括为最大编码单元选择最大编码单元和/或编码单元的分区(例如,分区成更小的编码、预测和/或变换单元,包括不为预测和/或变换提供分区)。在一些实施例中,这些选择可在单组操作中执行,使得帧内模式和帧间模式、分区尺寸等等是在编码单元级别并行评估的。在一些实施例中,这些选择被分成整数运动估计阶段和最终选择阶段,在整数运动估计阶段中,为编码单元选择整数候选运动向量,在最终选择阶段中,整数候选运动向量被用于评估帧间模式和帧内模式、分区尺寸,等等。在一些实施例中,本文论述的并行编码单元处理包括并行地为编码单元执行整数运动估计,并且随后,利用先前确定的候选运动向量并行地为编码单元执行最终分区和编码模式选择。在任一情况下,分区和编码模式104都包括对最大编码单元进行编码所需要的分区选择和编码模式选择,而无需进一步的决策作出。
40.如图所示,分区和编码模式104被从并行分区和模式选择模块111传送到编码模块112。分区和编码模式104如上所述包括用于视频101的视频帧的每个最大编码单元和编码单元(当使用时)的编码的所选分区(包括可能不分区)和编码模式,以及用于编码的任何其他相关信息。例如,编码单元的跳过模式伴随着运动向量(可能是零运动向量)或者对合并运动向量的参考,使得编码模块112随后可通过获得与该运动向量相对应的参考编码单元并且使用参考编码单元作为预测的编码单元来为编码单元执行编码。每个编码单元随后可(经由本地解码环路)被编码,并且诸如环路滤波技术之类的本领域已知的其他操作被执行来为当前帧生成重构帧。这种重构帧可被传送到并行分区和模式选择模块111,来用于后续帧的编码模式决策选择中,等等依此类推,使得并行分区和模式选择模块111产生编码模式决策,并且编码模块112生成比特流105(供解码器使用)和重构帧(既供编码模块112在编码中本地使用,也供编码模式决策和编码模块112在编码模式选择中使用)。
41.值得注意的是,在编码期间,视频101的视频帧被划分成空间编码单元或块,这些空间编码单元或块被从围绕该编码单元或块的像素来预测(空间/帧内预测)或者被从与该编码单元或块具有相似区域的先前或后续帧的像素来预测(时间/帧间预测)。该块或部分可以可选地被划分成具有不同可用模式的不同尺寸编码单元或子块。所有这些选择之间的决策构成分区和编码模式选择,该分区和编码模式选择随后在编码期间被实现。
42.图2图示了根据本公开的至少一些实现方式布置的视频101的示例视频帧201。如图所示,视频帧201被分割成任何数目的最大编码单元或块,如对于最大编码单元203、204所示。最大编码单元203、204在编码期间被进一步划分成编码单元(在图2中未标注)、变换单元,等等。值得注意的是,最大编码单元在一些情境中也可被表征为编码单元。在一些实施例中,视频帧201被分割成最大编码单元,最大编码单元被分割成编码单元。然而,可以使用将帧划分成宏块、块、单元、子单元等等的任何画面结构。如图所示,利用如本文所述的并行编码单元处理技术对最大编码单元203和最大编码单元204作出分区和编码模式决策。
43.对于视频帧201的每个最大编码单元,(一个或多个)分区和编码模式被选择,如对于最大编码单元203选择的分区和编码模式231和对于最大编码单元204选择的分区和编码模式241所示。值得注意的是,响应于最大编码单元204与最大编码单元203水平对齐并且紧接最大编码单元203右侧,对于最大编码单元204的左上编码单元的分区和编码模式选择是与对于最大编码单元203的右下编码单元的分区和编码模式选择并行执行的。此外,紧随在这种分区和编码模式选择之后,并行地执行对于最大编码单元204的左下编码单元和最大编码单元204的右上编码单元的分区和编码模式选择。这种并行处理通过以最低限度质量成本打破编码单元之间的依从性来改善了性能。
44.返回图1,视频帧201的分区和编码模式104(包括分区和编码模式231、分区和编码模式241等等)随后被提供到编码模块112来用于视频帧201的编码。值得注意的是,编码模块112不评估编码模式,而是不加改变地利用分区和编码模式104来执行编码。
45.图3图示了根据本公开的至少一些实现方式布置的示例视频帧201的示例邻近最大编码单元301、302、303、304。在图3的示例中,最大编码单元301(lcu#0)可位于视频帧201内的基本上任何位置。最大编码单元302(lcu#1)与最大编码单元301水平对齐并且紧邻最大编码单元301右侧。就本文使用的而言,术语紧邻、紧接右侧等等在视频帧内指的是在引用的单元或块之间没有像素。此外,最大编码单元303(lcu#2)与最大编码单元301垂直对齐并且紧邻最大编码单元301上方,并且最大编码单元304(lcu#3)与最大编码单元303水平对齐并且紧邻最大编码单元303右侧,并且与最大编码单元302垂直对齐并且紧邻最大编码单元302下方。视频帧201内的图3的图案对于任何数目的网格对齐的最大编码单元重复。
46.此外,每个最大编码单元包括或者被分区成四个编码单元,使得编码单元的总和是每个最大编码单元的整体。例如,最大编码单元301包括左上编码单元311(32x32_0),右上编码单元312(32x32_1),左下编码单元313(32x32_2),以及右下编码单元314(32x32_3),最大编码单元302包括左上编码单元321(32x32_0),右上编码单元322(32x32_1),左下编码单元323(32x32_2),以及右下编码单元324(32x32_3),最大编码单元303包括左上编码单元331(32x32_0),右上编码单元332(32x32_1),左下编码单元333(32x32_2),以及右下编码单元334(32x32_3),并且最大编码单元304包括左上编码单元341(32x32_0),右上编码单元342(32x32_1),左下编码单元343(32x32_2),以及右下编码单元344(32x32_3)。在图示的示
例中,每个最大编码单元是64x64像素并且每个编码单元是32x32像素,虽然可以采用任何尺寸。
47.如本文进一步论述的,最大编码单元301、302、303、304根据诸如光栅扫描顺序、波阵面扫描顺序或者带具有波阵面分割的波阵面扫描顺序之类的扫描顺序在视频帧201内按特定顺序被处理。本文论述的编码单元并行处理可与这种光栅扫描顺序、波阵面扫描顺序或者具有波阵面分割的波阵面扫描顺序相组合。在一些实施例中,这种组合处理如下文进一步论述提供了增大的并行化。
48.在图3、4和5的情境中,注意最大编码单元301、302、303、304的最大编码单元处理顺序是最大编码单元302紧随在最大编码单元301之后被处理,最大编码单元304紧随在最大编码单元303之后被处理,并且最大编码单元303在最大编码单元302之后被处理(虽然不一定是紧随其后)。
49.图4图示了根据本公开的至少一些实现方式布置的邻近最大编码单元301、302、303、304的编码单元的示例编码单元处理顺序401。如图4中所示,利用编码单元的阴影,对于最大编码单元301、302、303、304的特定对角编码单元并行地作出分区和编码模式决策,使得带有点阴影的编码单元可被并行处理并且带有对角线阴影的编码单元可被并行处理。此外,如对于编码单元处理顺序401所示,首先对编码单元311作出分区和编码模式决策。然后,编码单元处理顺序401移动到处理编码单元312、313,使得对于编码单元312、313(例如,同一最大编码单元301的右上和左下编码单元)并行地作出分区和编码模式决策。
50.接下来,编码单元处理顺序401移动到处理编码单元314、321,使得对于编码单元314、321(例如,最大编码单元302的左上编码单元和最大编码单元301的右下编码单元)并行地作出分区和编码模式决策。值得注意的是,编码单元314、321的并行处理跨越最大编码单元301、302之间的边界411。编码单元处理顺序401接下来移动到为编码单元322、323(例如,同一最大编码单元302的右上和左下编码单元)并行地处理分区和编码模式决策。这种处理可为任何数目的最大编码单元向右继续。
51.随后,如经由编码单元处理顺序401所示,处理在编码单元331处继续,其中例如最大编码单元301、303在左帧边界或者左波阵面边界处,编码单元331不与另一编码单元并行执行或者与在右帧边界或者右波阵面边界处的右下编码单元并地执行。处理随后如对于最大编码单元301、302所论述那样对于最大编码单元303、304继续,使得编码单元处理顺序401移动到处理编码单元332、333,其中对于编码单元332、333(例如,同一最大编码单元303的右上和左下编码单元)并行地作出分区和编码模式决策,然后移动到处理编码单元334、341,使得对于编码单元334、341(例如,最大编码单元304的左上编码单元和最大编码单元303的右下编码单元)并行地作出分区和编码模式决策,并且接下来移动到为编码单元342、343(例如,同一最大编码单元304的右上和左下编码单元)并行地处理分区和编码模式决策。这种处理随后根据覆盖最大编码单元扫描顺序对于任何数目的最大编码单元向右继续并且随后向下对最大编码单元303继续,等等依此类推。
52.图5图示了根据本公开的至少一些实现方式布置的邻近最大编码单元301、302、303、304的编码单元的示例并行分区和编码模式选择编码单元对。如图5中所示并且如对于图4所述,对于包括编码单元312、313(例如,同一最大编码单元301的右上和左下编码单元)的编码对501并行地作出分区和编码模式选择。紧随在对于编码单元312、313的并行分区和
编码模式选择之后,对于包括编码单元314、321(例如,最大编码单元302的左上编码单元和最大编码单元301的右下编码单元)的编码对502并行地作出分区和编码模式决策。紧随在对于编码对502的并行分区和编码模式选择之后,对于包括编码单元322、323的编码对503并且随后对于包括编码单元324和编码单元351的编码对504并行地作出分区和编码模式决策,其中编码单元351是与最大编码单元302水平对齐并且紧接最大编码单元302右侧的最大编码单元的左上编码单元。
53.类似地,对于包括编码单元332、333(例如,同一最大编码单元303的右上和左下编码单元)的编码对505并行地作出分区和编码模式选择。紧随在编码对505之后,对于包括编码单元334、341(例如,最大编码单元304的左上编码单元和最大编码单元301的右下编码单元)的编码对506并行地作出分区和编码模式决策。紧随在对于编码对506的并行分区和编码模式选择之后,对于包括编码单元342、343的编码对507并行地作出分区和编码模式决策,等等依此类推。
54.如上所述,在视频压缩中,视频帧被分解成最大编码单元和编码单元等等,使得分区的单元(在所选分区级别)被利用来自相邻块的信息来预测(帧内预测或空间预测)或者利用来自先前帧的信息来预测(帧间预测或时间预测,其也可使用来自相邻块的运动向量作为合并和/或跳过候选之类的)。一些压缩受益于使用相邻编码单元的信息来辅助当前编码单元预测。
55.值得注意的是,本文论述的先进邻居依从性管理技术在亚最大编码单元(例如,64x64)级别打破了依从性,使得依从性例如在编码单元(例如,32x32及更小)级别被打破以改善64x64最大编码单元的处理内的并发性来减少64x64最大编码单元的总处理时间。这种技术可结合任何最大编码单元级别并行化技术使用(如本文进一步论述)来在质量上有最低限度损失的情况下获得进一步的吞吐量改善。
56.图6图示了根据本公开的至少一些实现方式布置的用于处理视频帧201的最大编码单元的示例光栅扫描顺序601。如图所示,视频帧201被划分或分区成若干个与如本文所述的最大编码单元203、204、301、302、303、304类似的最大编码单元602。最大编码单元602可以是任何适当尺寸的,例如64x64像素块。在图示的示例中,为了呈现的清晰起见,视频帧201被划分成77个最大编码单元。然而,在实践中,视频帧201可被划分成数百个或者数千个最大编码单元。在图6中,每个最大编码单元按照要实现分区和编码模式选择的顺序被指派号码。值得注意的是,对于图3

图5以及本文别处论述的技术可对于在光栅扫描顺序601中相继的紧邻最大编码单元实现。例如,提供跨垂直边界的并行编码单元分区和编码模式选择、随后是边界右侧的最大编码单元内的并行编码单元分区和编码模式选择的所论述的技术可对于处于顺序位置0和1的最大编码单元、处于顺序位置1和2的最大编码单元、处于顺序位置2和3的最大编码单元等等实现。值得注意的是,光栅扫描顺序601(例如,光栅游走(walk))(从左上角开始)在视频帧201的顶部行从左穿行到右,向下移动到下一行,在该行从左穿行到右,向下移动到下一行,等等依此类推。
57.图7图示了根据本公开的至少一些实现方式布置的用于处理视频帧201的最大编码单元的示例波阵面扫描顺序701。如图所示,与光栅扫描顺序形成对比,视频帧201的最大编码单元被指派到波阵面,使得对于该波阵面中的每个最大编码单元的分区和编码模式选择可被并行地处理。例如,可以建立每个波阵面,使得在为每个最大编码单元选择分区和编
码模式之前,为每个最大编码单元上方、左侧以及上方和右侧的所有最大编码单元选择分区和编码模式(除了在视频帧的顶边界和左边界上的那些最大编码单元以外)。例如,最大编码单元703被指派到波阵面0,最大编码单元704被指派到波阵面1,并且最大编码单元703、704不能被与任何其他最大编码单元并行地处理(例如,分区和编码模式的选择)。最大编码单元705、706被指派到波阵面2并且可在波阵面1完成之后(即,在最大编码单元704被处理之后)被并行地处理,等等依此类推,使得图7中的每个最大编码单元顺序号码指示波阵面并且波阵面中的每个最大编码单元可被并行地处理。作为另一示例,包括各自被标注有7的四个最大编码单元的波阵面7在包括各自被标注有6的四个最大编码单元的波阵面6完成之后被处理。
58.与图6的示例一样,对于图3

图5以及本文别处论述的技术可对于在波阵面扫描顺序701中相继的紧邻最大编码单元实现。例如,提供跨垂直边界的并行编码单元分区和编码模式选择、随后是边界右侧的最大编码单元内的并行编码单元分区和编码模式选择的所论述的技术可对于处于顺序位置0和1的最大编码单元、处于顺序位置1和2的最大编码单元、处于顺序位置2和3的最大编码单元的两个实例、处于顺序位置3和4的最大编码单元的两个实例、处于顺序位置4和5的最大编码单元的所有三个实例等等实现。值得注意的是,提供从视频帧201的左上移动到视频帧201的右下的并行处理块的波的波阵面扫描顺序701可至少部分由对于系统100论述的体系结构来实现。例如,系统100的两遍(pass)体系结构,其中运动估计和分区和模式选择在第一遍中执行(例如,由并行分区和模式选择模块111执行)并且编码到比特流在第二遍中执行(例如,由编码模块112执行)。
59.图8图示了根据本公开的至少一些实现方式布置的用于处理视频帧201的最大编码单元的具有波阵面分割边界805的示例波阵面扫描顺序801。如图所示,在视频帧401内建立波阵面分割边界805。就本文使用的而言,波阵面分割边界805提供了视频帧201的块之间的边界,使得跨过该边界,视频帧内的块到波阵面的指派被重启。例如,在视频帧201的左上区域803中,波阵面被建立(与波阵面扫描顺序701一样),使得对于当前最大编码单元的分区和编码模式选择等待对于具有较低顺序号码的那些最大编码单元的分区和编码模式选择。类似地,在右下区域807中,也建立波阵面,使得对于当前最大编码单元的分区和编码模式选择等待对于具有较低顺序号码的那些最大编码单元的分区和编码模式选择。值得注意的是,跨波阵面分割边界805的这种波阵面的最大编码单元也可被并行处理。例如,具有顺序号码0的所有最大编码单元(在区域803、807两者中)可并行运行,具有顺序号码1的所有最大编码单元(在区域803、807两者中)可并行运行,具有顺序号码2的所有最大编码单元(在区域803、807两者中)可并行运行,等等依此类推。从而,波阵面分割边界805提供增大的并行化,尤其是在区域803的热身时段和区域807的冷却时段中。
60.与图6和图7的示例一样,对于图3

图5以及本文别处论述的技术可对于在波阵面扫描顺序801中相继的紧邻最大编码单元实现。例如,提供跨垂直边界的并行编码单元分区和编码模式选择、随后是边界右侧的最大编码单元内的并行编码单元分区和编码模式选择的所论述的技术可实现在处于顺序位置0和1的最大编码单元的所有实例处(例如,图8中的六个实例——一个在区域803中,五个在区域807中)、实现在处于顺序位置1和2的最大编码单元的所有实例处(例如,图8中的六个实例——一个在区域803中,五个在区域807中)、实现在处于顺序位置2和3的最大编码单元的所有实例处(例如,图8中的七个实例——两个在
区域803中,五个在区域807中)、实现在处于顺序位置3和4的最大编码单元的所有实例处(例如,图8中的六个实例——两个在区域803中,四个在区域807中),等等依此类推。值得注意的是,波阵面扫描顺序801提供从视频帧201的左上移动到波阵面分割边界805并且从波阵面分割边界805移动到视频帧201的右下的并行处理块的波,但可在紧挨波阵面分割边界805的下方右侧处引起视觉伪影。
61.图9是根据本公开的至少一些实现方式布置的用于分区和编码模式选择的示例并行处理900的示意图。例如,并行处理900可经由并行分区和模式选择模块111实现。在一些实施例中,并行分区和模式选择模块111由一个或多个多核处理器实现来执行并行处理900。在图9的示例中,在最大编码单元302的处理开始处指示波阵面的开始(wf开始)931并且通过最大编码单元302的处理的完成来图示增大的处理周期932。这种处理可花费任何数目的处理周期932,这些处理周期被图示来呈现本文论述的技术的分阶段并行处理。
62.在并行处理900中,实现一种两阶段或两期方案,其具有整数运动估计(ime)阶段940和最终编码选择阶段950。如图所示,通过对ime内核901作出调用来对每个编码单元实现ime阶段940,ime内核901处理相关编码单元并且输出例如最佳候选运动向量和其他信息来供最终编码选择阶段950使用。在一些实施例中,ime内核901只在编码单元(例如,32x32)级别执行运动搜索,并且输出作为结果的最佳候选运动向量。如图所示,在波阵面开始931处,分别利用ime调用902、903来并行地对于编码单元314和编码单元321执行这种ime处理。在图9的情境中,作出调用来执行过程,这花费特定数目的处理(或时钟)周期932并且因此调用标签被用于指示对过程的调用和该过程本身。
63.此外,通过对包括enc内核线程0 921和enc内核线程1 925的最终编码选择(enc)内核线程作出调用来为每个编码单元实现最终编码选择阶段950。如图所示,当enc内核线程0 921开放来处理时,其可被应用到另一波阵面。虽然是对于两个enc内核线程图示的,但可采用任何数目。此外,术语enc用于指示经由最终编码选择阶段950作出最终编码选择,但不是要指示编码到比特流,编码到比特流在一些实施例中是在并行处理900之后执行的,如对于系统100所论述。在其他实施例中,这种最终编码选择和编码到比特流被流水线化并且也是至少部分并行运行的。
64.返回到波阵面开始931,如图所示,对于编码单元312和编码单元313并行地执行最终编码选择阶段950处理。值得注意的是,ime阶段940是在先前对编码单元312和编码单元313执行的。对于编码单元312(波阵面n的一部分)的最终编码选择阶段950是通过向enc内核线程0921(或者任何可用的线程实例)作出调用922来执行的,enc内核线程0 921执行过程923来为编码单元312评估分区和编码模式,包括在各种分区级别的帧间编码模式(使用编码单元312的ime阶段的结果和邻居运动向量候选(如果可用的话))和帧内编码模式。在图示的示例中,过程923以嵌套方式首先在编码单元级别(例如,32x32)评估帧间编码模式和内编码模式,然后对于编码单元的左上分区(例如,左上16x16)评估,然后对于左上16x16的所有8x8评估,然后对于编码单元的右上分区(例如,右上16x16)评估,然后对于右上16x16的所有8x8评估,然后对于编码单元的左下分区(例如,左下16x16)评估,然后对于左下16x16的所有8x8评估,然后对于编码单元的右下分区(例如,右下16x16)评估,然后对于右下16x16的所有8x8评估,直到确定编码单元312的最佳分区和编码模式为止。如图所示,在调用922之后,开销924可发生,这是后续处理作准备所需的。
65.如图所示,与调用926并行地执行调用922以为编码单元313处理最终编码选择阶段950。如本文进一步论述的,编码单元312、313的这种并行处理要求打破一些可用的编码依从性。对enc内核线程1 925(或者任何可用的线程实例)作出调用923,enc内核线程1 925执行过程923来为编码单元313评估分区和编码模式,包括在各种分区级别的帧间编码模式(使用编码单元313的ime阶段的结果和邻居运动向量候选(如果可用的话))和帧内编码模式。如对于调用922所论述。
66.在编码单元312、313完成之后,最终编码选择阶段950可对编码单元314、321开始,编码单元314、321也已完成了ime阶段940处理。对于为编码单元314处理最终编码选择阶段950的调用927是与对于为编码单元321处理最终编码选择阶段950的调用929并行执行的。如本文进一步论述的,编码单元314、321的这种并行处理要求打破一些可用的编码依从性。对enc内核线程1 925(或者任何可用的线程实例)作出调用927,enc内核线程1 925执行过程923以为编码单元314评估分区和编码模式,包括各种分区级别的帧间编码模式和帧内编码模式。并行地,对enc内核线程0 921(或者任何可用的线程实例)作出调用923,enc内核线程0 921执行过程923以为编码单元321评估分区和编码模式。
67.此外,与对于编码单元314、321的最终编码选择阶段950处理并行地,利用ime调用904、905并行地对于编码单元322和编码单元323执行ime处理。这种处理以两阶段并行方式继续,包括实现对于为编码单元322处理最终编码选择阶段950的调用930,这与为编码单元323处理最终编码选择阶段950(图9中没有示出)是并行的。与对于编码单元322、323的最终编码选择阶段950处理并行地,利用ime调用906、907并行地对于编码单元324和编码单元351执行ime处理。此外,与对于编码单元324、351(未示出)的最终编码选择阶段950处理并行地,利用ime调用911、912对于包括编码单元351的最大编码单元的右上编码单元和左下编码单元执行ime处理。
68.并行处理900还指示可选的lcu级别调用933,其只用在最大编码单元的左上和右上编码单元两者都将32x32分区指示为最佳结果时。例如,如果编码单元311(在图9中所示的实例之前被处理)和编码单元312两者响应于最终编码选择阶段950处理都以32x32(例如,无分区)作为其最终选择(连同任何编码模式),则与调用927、929并行地作出lcu级别调用933。如果编码单元311、312的任一者或两者不以32x32作为其最终选择,则绕过lcu级别调用933。在一些实施例中,lcu级别调用933只包括合并运动向量评估(例如,不是完全64x64并且没有帧内评估),使得只有可用合并运动向量候选被测试并且lcu级别结果(例如,率失真)被与其他分区和模式选项相比较。从而,lcu级别调用933的过程要求更少的处理周期932并且可在分配给过程923的处理周期中执行。
69.图10是图示出根据本公开的至少一些实现方式布置的用于提供可选最大编码单元评估的示例过程1000的流程图。过程1000可包括如图10中所示的一个或多个操作1001

1005。过程1000可由装置(例如,如本文所述的系统100)执行。
70.处理开始于操作1001,在这里利用本文论述的并行分区和编码模式选择技术对于当前最大编码单元的左上角(或者左上)编码单元作出分区和编码模式选择。在一些实施例中,对于当前最大编码单元的左上编码单元的分区和编码模式选择是与对于当前最大编码单元之前的(例如,其左侧的)最大编码单元的右下编码单元的分区和编码模式选择并行执行的。
71.处理在操作1002处继续,在这里利用本文论述的并行分区和编码模式选择技术对于当前最大编码单元的右上角(或者右上)编码单元作出分区和编码模式选择。在一些实施例中,对于当前最大编码单元的右上编码单元的分区和编码模式选择是与对于当前最大编码单元的右下编码单元的分区和编码模式选择并行执行的。
72.处理在判决操作1003处继续,在这里判定是否对于当前最大编码单元的左上编码单元和右上编码单元两者,分区和编码模式选择提供无分区(例如,左上编码单元和右上编码单元两者都将在不被分区来预测的情况下被编码并且是利用全尺寸的编码单元(例如32x32)来预测的)。如果否,则处理在操作1004处继续,在这里绕过对于当前最大编码单元的合并运动向量评估。如果是,则处理在操作1004处继续,在这里对于当前最大编码单元的合并运动向量评估与对于当前最大编码单元的右下编码单元和相邻后续最大编码单元(例如,与当前最大编码单元水平对齐并且紧挨在当前最大编码单元右侧的最大编码单元)的左上编码单元的分区和编码模式选择被并行地执行。
73.返回图9并且参考图3

图5,如上所述,一些先前可用的编码依从性被打破以提供并行处理900。在一些实施例中,ime阶段940依从性被调整以使用基于ime的结果,而不是最终运动向量。例如,通常,对于编码单元321的ime使用来自编码单元312的运动向量和对于最大编码单元301的运动向量。然而,这里,对于ime,编码单元321在合并候选列表中使用来自编码单元312的运动向量,但在合并候选列表中不使用最大编码单元301的运动向量。在一些实施例中,对于当前最大编码单元的左上编码单元执行ime使用与当前最大编码单元水平对齐并且在其左侧的相邻最大编码单元的右上编码单元相对应的结果运动向量作为运动向量合并候选,并且禁止使用与该相邻最大编码单元相对应的运动向量合并候选。此外,通常,对于编码单元323的ime使用来自编码单元322的运动向量。然而,这里,对于ime,编码单元323在合并候选列表中不使用来自编码单元322的运动向量。在一些实施例中,对于当前最大编码单元的左下编码单元执行ime禁止使用与当前最大编码单元的右上编码单元相对应的运动向量合并候选。这些变化的质量影响是很小的,因为最终运动向量决策在作出分数决策时可使用经校正的运动向量。
74.如对于图10所述,当且仅当对于编码单元321、322的最终分区决策指示无分区时(例如,32x32编码单元,而不是更小的分区),对于最大编码单元302的64x64调用(例如,合并调用)与对于编码单元324的调用被并行作出。在一些实施例中,并行处理包括确定是否对于当前最大编码单元的左上编码单元的分区和编码模式选择指示无分区并且对于当前最大编码单元的右上编码单元的分区和编码模式选择也指示无分区,并且响应于这些分区和编码模式选择指示无分区而为当前最大编码单元执行合并运动向量评估,或者响应于这些分区和编码模式选择的任一者或两者指示额外分区而绕过合并运动向量评估。例如,动态地调用64x64减少了实现最终编码选择阶段950的硬件中要求的操作,以获得改善的性能。如上所述,也对64x64调用进行优化,以只执行合并运动向量评估来适配于执行过程923(例如,对于32x32的最终分区和模式选择)所要求的相同数目的处理周期(和时间)内。
75.如上所述,对于编码单元321的分区和编码模式选择与对于编码单元314的分区和编码模式选择并行运行。由于对于编码单元314的分区和编码模式选择在对于编码单元321的分区和编码模式选择之前没有完成,从编码单元321到编码单元314的左下依从性。在一些实施例中,并行地执行对于当前最大编码单元的左上编码单元的分区和编码模式选择和
对于先前最大编码单元的右下编码单元的分区和编码模式选择包括打破从当前最大编码单元的左上编码单元到先前最大编码单元的右下编码单元的左下编码依从性。此外,对于编码单元321的分区和编码模式选择使用来自编码单元312的最终决策(而不使用对于最大编码单元301的最终决策)。然而,由于对于编码单元312的分区和编码模式选择必须是无分区(例如,32x32)以便作出最大编码单元调用(如上所述),所以质量影响是很小的,因为无分区(例如,32x32)运动向量通常与最终最大编码单元选择匹配。
76.此外,对于编码单元322的分区和编码模式选择与对于编码单元322的分区和编码模式选择并行运行,这打破了从编码单元323到编码单元322的右上依从性。在一些实施例中,并行地执行对于当前最大编码单元的右上编码单元的分区和编码模式选择和对于当前最大编码单元的左下编码单元的分区和编码模式选择包括打破从当前最大编码单元的左下编码单元到当前最大编码单元的右上编码单元的右上编码依从性。
77.所论述的依从性变化允许了本文论述的两阶段高效分区和编码模式选择。
78.图11是图示出根据本公开的至少一些实现方式布置的用于视频编码的示例过程1100的流程图。过程1100可包括如图11中所示的一个或多个操作1101

1104。过程1100可形成视频编码过程的至少一部分。作为非限制性示例,过程1100可形成由诸如系统100之类的如本文所述的任何装置或系统执行的视频编码过程的至少一部分。此外,本文将参考图12的系统1200来描述过程1100。
79.图12是根据本公开的至少一些实现方式布置的用于视频编码的示例系统1200的示意图。如图12中所示,系统1200可包括中央处理器1201、视频处理器1202和存储器1203。还如图所示,视频处理器1202可包括或者实现并行分区和模式选择模块111和编码模块112。在实施例中,存储器1203实现帧缓冲器以存储视频帧及其分区。此外,在系统1200的示例中,存储器1203可存储视频数据或相关内容,例如帧数据、最大编码单元数据、编码单元数据、分区和编码模式决策数据、比特流数据和/或如本文所述的任何其他数据。
80.如图所示,在一些实施例中,并行分区和模式选择模块111和编码模块112是经由视频处理器1202实现的。在其他实施例中,并行分区和模式选择模块111和编码模块112中的一个或多个或一些部分是经由中央处理器1201或者诸如图像处理器、图形处理器之类的另一处理单元来实现的。值得注意的是,并行分区和模式选择模块111如本文所述可有利地经由多核处理器来实现。然而,在一些实施例中,并行块编码模式决策处理可在来自不同处理器的资源上被并行地执行。
81.视频处理器1202可包括任何数目和类型的可提供如本文所述的操作的视频、图像或图形处理单元。这种操作可经由软件或硬件或者其组合来实现。例如,视频处理器1202可包括专用于操纵从存储器1203获得的帧、帧数据等等的电路。中央处理器1201可包括任何数目和类型的可以为系统1200提供控制和其他高级别功能和/或提供如本文所述的任何操作的处理单元或模块。存储器1203可以是任何类型的存储器,例如易失性存储器(例如,静态随机访问存储器(static random access memory,sram)、动态随机访问存储器(dynamic random access memory,dram)等等)或者非易失性存储器(例如,闪存等等),等等。在非限制性示例中,存储器1203可由缓存存储器实现。
82.在实施例中,并行分区和模式选择模块111和编码模块112中的一个或多个或一些部分是经由执行单元(execution unit,eu)实现的。eu可例如包括可编程逻辑或电路,例如
可提供多种多样的可编程逻辑功能的一个或多个逻辑核心。在实施例中,并行分区和模式选择模块111和编码模块112中的一个或多个或一些部分是经由诸如固定功能电路之类的专用硬件来实现的。固定功能电路可包括专用逻辑或电路并且可提供一组固定功能入口点,这些固定功能入口点可映射到用于固定目的或功能的专用逻辑。
83.返回对图11的论述,过程1100开始于操作1101,在这里为分区和编码模式选择接收视频帧的第一和第二最大编码单元。在一些实施例中,第二最大编码单元与第一最大编码单元水平对齐并且紧挨在第一最大编码单元右侧并且第一和第二最大编码单元的每一者包括左上编码单元、右上编码单元、左下编码单元和右下编码单元。第一和第二最大编码单元可处于视频帧中的任何位置。如上所述,按编码顺序,第一最大编码单元是紧挨在第二最大编码单元之前的。在一些实施例中,第一编码单元在第一最大编码单元波阵面中并且第二编码单元在第二最大编码单元波阵面中。此外,第一和第二最大编码单元可以是任何适当尺寸的。在一些实施例中,第一和第二最大编码单元是64x64像素并且左上编码单元、右上编码单元、左下编码单元和右下编码单元的每一者是32x32像素。
84.处理在操作1102处继续,其中并行地对于第二最大编码单元的左上编码单元执行或作出第一分区和编码模式选择并且对于第一最大编码单元的右下编码单元执行或作出第二分区和编码模式选择。如上所述,这种并行处理提供在时间上至少部分重叠的第一和第二分区和编码模式选择。在一些实施例中,第一和第二分区和编码模式选择是由同一处理器的不同核心、执行单元等等执行的。在一些实施例中,对于第二最大编码单元的左上编码单元的第一分区和编码模式选择是由处理器的第一执行单元执行的并且对于第一最大编码单元的右下编码单元的第二分区和编码模式选择是由处理器的第二执行单元执行的。如上所述,这种并行处理可打破编码依从性。在一些实施例中,并行地执行对于第二最大编码单元的左上编码单元的第一分区和编码模式选择和对于第一最大编码单元的右下编码单元的第二分区和编码模式选择包括打破从第二最大编码单元的左上编码单元到第一最大编码单元的右下编码单元的左下编码依从性。
85.处理在操作1103处继续,在这里,紧随在第一和第二分区和编码模式选择之后,并行地对于第二最大编码单元的右上编码单元执行或作出第三分区和编码模式选择并且对于第二最大编码单元的左下编码单元执行或作出第四分区和编码模式选择。如上所述,关于这种分区和编码模式选择的术语紧随在后指的是不对任何其他居间编码单元作出分区和编码模式选择。在一些实施例中,第三和第四分区和编码模式选择是由同一处理器的不同核心、执行单元等等执行的。在一些实施例中,对于第二最大编码单元的左上编码单元的第三分区和编码模式选择是由处理器的第一执行单元执行的并且对于第一最大编码单元的右下编码单元的第四分区和编码模式选择是由处理器的第二执行单元执行的。如上所述,这种并行处理可打破编码依从性。在一些实施例中,并行地执行对于第二最大编码单元的右上编码单元的第三分区和编码模式选择和对于第二最大编码单元的左下编码单元的第四分区和编码模式选择包括打破从第二最大编码单元的左下编码单元到第二最大编码单元的右上编码单元的右上编码依从性。
86.在一些实施例中,过程1100还包括并行地执行对于第二最大编码单元的左上编码单元的第一整数运动估计和对于第一最大编码单元的右下编码单元的第二整数运动估计,紧随在第一和第二整数运动估计之后,并行地执行对于第二最大编码单元的右上编码单元
的第三整数运动估计和对于第二最大编码单元的左下编码单元的第四整数运动估计,其中第一、第二、第三和第四分区和编码模式选择分别是基于第一、第二、第三和第四运动估计的。在一些实施例中,执行对于第二最大编码单元的左上编码单元的第一整数运动估计使用与第一最大编码单元的右上编码单元相对应的第一结果运动向量作为运动向量合并候选并且禁止使用与第一最大编码单元相对应的运动向量合并候选。在一些实施例中,执行对于第二最大编码单元的左下编码单元的第四整数运动估计禁止使用与第二最大编码单元的右上编码单元相对应的运动向量合并候选。
87.在一些实施例中,过程1100还包括确定对于第二最大编码单元的左上编码单元的第一分区和编码模式选择是否包括无分区以及对于第二最大编码单元的右上编码单元的第三分区和编码模式选择是否包括无分区,响应于第一和第三分区和编码模式选择包括无分区而执行对于第二最大编码单元的合并运动向量评估,或者响应于第一和第三分区和编码模式选择的任一者或两者包括额外分区而绕过对于第二最大编码单元的合并运动向量评估。在一些实施例中,过程1100还包括接收视频帧的第三最大编码单元,其中第三最大编码单元与第二最大编码单元水平对齐并且紧挨在第二最大编码单元的右侧,并且第三最大编码单元包括左上编码单元、右上编码单元、左下编码单元和右下编码单元,并且紧随在第三和第四分区和编码模式选择之后,并行地执行对于第三最大编码单元的左上编码单元的第五分区和编码模式选择和对于第二最大编码单元的右下编码单元的第六分区和编码模式选择,其中执行或绕过对于第二最大编码单元的合并运动向量评估是与第五和第六分区和编码模式选择并行的。
88.处理在操作1104处继续,在这里利用第一、第二、第三和第四分区和编码模式选择将第一和第二最大编码单元编码到比特流中。该比特流可包括任何适当的数据格式和/或语法。在一些实施例中,该比特流是遵从标准的比特流,例如遵从hevc的比特流。该比特流例如可包括作为结果的分区和编码模式选择以及第一和第二最大编码单元的编码残差。
89.过程1100可对视频帧的任何数目的最大编码单元、任何数目的视频帧、视频、视频内容段、视频片段等等串行或并行地重复任意多次。
90.本文描述的系统的各种组件可以用软件、固件和/或硬件和/或其任何组合实现。例如,本文论述的系统或装置的各种组件可至少部分由计算机片上系统(soc)的硬件提供,例如可存在于计算系统中,例如智能电话中。本领域技术人员可认识到,本文描述的系统可包括在相应附图中没有描绘的额外组件。例如,本文论述的系统可包括为了清晰而没有描绘的额外组件,例如比特流复用器或解复用器模块等等。
91.虽然本文论述的示例过程的实现方式可包括按图示顺序从事示出的所有操作,但本公开不限于此,并且在各种示例中,这里的示例过程的实现方式可只包括示出的操作的子集,包括按与图示不同的顺序执行的操作,或者包括额外的操作。
92.此外,本文论述的任何一个或多个操作可响应于由一个或多个计算机程序产品提供的指令来从事。这种程序产品可包括提供指令的信号承载介质,所述指令当被例如处理器执行时可提供本文描述的功能。计算机程序产品可在任何形式的一种或多种机器可读介质中提供。从而,例如,包括一个或多个图形处理单元或处理器核心的处理器可响应于被一种或多种机器可读介质输送到处理器的程序代码和/或指令或指令集而从事这里的示例过程的一个或多个块。一般而言,机器可读介质可以以程序代码和/或指令或指令集的形式输
送软件,所述程序代码和/或指令或指令集可使得本文描述的任何装置和/或系统实现本文论述的操作的至少一些部分和/或如本文所述的装置、系统或任何模块或组件的任何部分。
93.如在本文描述的任何实现方式中使用的,术语“模块”指的是被配置为提供本文描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可实现为软件封装、代码和/或指令集或指令,并且如本文描述的任何实现方式中使用的“硬件”例如可单一地或者组合地包括硬连线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储被可编程电路执行的指令的固件。模块可集体地或者个体地实现为形成更大系统的一部分的电路,例如集成电路(ic)、片上系统(soc),等等。
94.图13是根据本公开的至少一些实现方式布置的示例系统1300的示意图。在各种实现方式中,系统1300可以是移动系统,虽然系统1300不限于此情境。例如,系统1300可被包含到以下所列项中:个人计算机(pc)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(personal digital assistant,pda)、蜂窝电话、组合蜂窝电话/pda、电视、智能装置(例如,智能电话、智能平板或智能电视)、移动互联网装置(mobile internet device,mid)、消息传递装置、数据通信装置、相机(例如,傻瓜相机、超级变焦相机、数码单反(digital single

lens reflex,dslr)相机),等等。
95.在各种实现方式中,系统1300包括耦合到显示器1302的平台1320。平台1302可从内容装置(例如(一个或多个)内容服务装置1330或者(一个或多个)内容递送装置1340或者其他类似的内容源)接收内容。包括一个或多个导航特征的导航控制器1350可用于与例如平台1302和/或显示器1320交互。这些组件的每一者在下文更详述描述。
96.在各种实现方式中,平台1302可包括芯片集1305、处理器1310、存储器1312、天线1313、存储装置1314、图形子系统1315、应用1316和/或无线电装置1318的任何组合。芯片集1305可提供处理器1310、存储器1312、存储装置1314、图形子系统1315、应用1316和/或无线电装置1318之间的相互通信。例如,芯片集1305可包括能够提供与存储装置1314的相互通信的存储适配器(未图示)。
97.处理器1310可实现为复杂指令集计算机(complex instruction set computer,cisc)或者精简指令集计算机(reduced instruction set computer,risc)处理器、x86指令集兼容处理器、多核或者任何其他微处理器或中央处理单元(cpu)。在各种实现方式中,处理器1310可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器,等等。
98.存储器1312可实现为易失性存储器装置,例如——但不限于——随机访问存储器(ram)、动态随机访问存储器(dram)或静态ram(sram)。
99.存储装置1314可实现为非易失性存储装置,例如——但不限于——磁盘驱动器、光盘驱动器、磁带驱动器、内部存储装置、附接存储装置、闪存、电池后备sdram(同步dram)和/或网络可访问存储装置。在各种实现方式中,例如当包括多个硬盘驱动器时,存储装置1314可包括技术来为有价值的数字媒体增加存储性能增强保护。
100.图形子系统1315可执行诸如静态或视频之类的图像的处理以便显示。图形子系统1315例如可以是图形处理单元(graphics processing unit,gpu)或者视觉处理单元(visual processing unit,vpu)。模拟或数字接口可用于通信地耦合图形子系统1315和显示器1320。例如,该接口可以是高清晰度多媒体接口、显示端口、无线hdmi和/或无线hd遵从
技术中的任何一者。图形子系统1315可被集成到处理器1310或芯片集1305中。在一些实现方式中,图形子系统1315可以是通信地耦合到芯片集1305的独立装置。
101.本文描述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可被集成在芯片集内。或者,可使用分立的图形和/或视频处理器。作为另外一种实现方式,图形和/或视频功能可由包括多核处理器在内的通用处理器提供。在另外的实施例中,这些功能可实现在消费电子装置中。
102.无线电装置1318可包括能够利用各种适当的无线通信技术来发送和接收信号的一个或多个无线电装置。这种技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(wireless local area network,wlan)、无线个人区域网(wireless personal area network,wpan)、无线城域网(wireless metropolitan area network,wman)、蜂窝网络和卫星网络。在跨这种网络通信时,无线电装置1318可根据任何版本的一个或多个适用的标准操作。
103.在各种实现方式中,显示器1320可包括任何电视型监视器或显示器。显示器1320例如可包括计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的装置和/或电视机。显示器1320可以是数字的和/或模拟的。在各种实现方式中,显示器1320可以是全息显示器。另外,显示器1320可以是可接收视觉投影的透明表面。这种投影可传达各种形式的信息、图像和/或对象。例如,这种投影可以是移动增强现实(mobile augmented reality,mar)应用的视觉覆盖。在一个或多个软件应用1316的控制下,平台1302可在显示器1322上显示用户界面1320。
104.在各种实现方式中,(一个或多个)内容服务装置1330可由任何国家的、国际的和/或独立的服务所托管并且从而例如经由互联网可访问的平台1302。(一个或多个)内容服务装置1330可耦合到平台1302和/或显示器1320。平台1302和/或(一个或多个)内容服务装置1330可耦合到网络1360以向和从网络1360传输(例如,发送和/或接收)媒体信息。(一个或多个)内容递送装置1340也可耦合到平台1302和/或显示器1320。
105.在各种实现方式中,(一个或多个)内容服务装置1330可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的具备互联网能力的装置或家电以及能够经由网络1360或者直接地在内容提供者与平台1302和/或显示器1320之间单向或双向地传输内容的任何其他类似装置。将会明白,可经由网络1360单向地和/或双向地向和从系统1300中的组件的任何一者和内容提供者传输内容。内容的示例可包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息,等等。
106.(一个或多个)内容服务装置1330可接收内容,例如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供者的示例可包括任何有线电视或卫星电视或者无线电或互联网内容提供者。提供的示例并不意图以任何方式限制根据本公开的实现方式。
107.在各种实现方式中,平台1302可从具有一个或多个导航特征的导航控制器1350接收控制信号。导航特征例如可用于与用户界面1322交互。在各种实施例中,导航可以是指点装置,该指点装置可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机中的计算机硬件组件(具体而言,人机接口装置)。诸如图形用户界面(gui)以及电视机和监视器之类的许多系统允许用户利用物理手势控制计算机或电视机和向其提供数据。
108.导航特征的移动可被在显示器上显示的指针、光标、聚焦环或其他视觉指示物的
移动复制在显示器(例如,显示器1320)上。例如,在软件应用1316的控制下,位于导航上的导航特征例如可被映射到在用户界面1322上显示的虚拟导航特征。在各种实施例中,可不是单独的组件,而是可被集成到平台1302和/或显示器1320中。然而,本公开并不限于本文示出或描述的元素或者情境。
109.在各种实现方式中,例如,当被使能时,驱动器(未示出)可包括使得用户能够在初始启动之后通过触摸按钮像电视机那样即刻开启和关闭平台1302的技术。程序逻辑可允许平台1302即使在平台被“关闭”时也可将内容流传输到媒体适配器或(一个或多个)其他内容服务装置1330或(一个或多个)内容递送装置1340。此外,芯片集1305可包括对例如5.1环绕立体声音频和/或高清晰度7.1环绕立体声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在各种实施例中,图形驱动器可包括高速外围组件互连(peripheral component interconnect,pci)图形卡。
110.在各种实现方式中,系统1300中示出的任何一个或多个组件可被集成。例如,平台1302和(一个或多个)内容服务装置1330可被集成,或者平台1302和(一个或多个)内容递送装置1340可被集成,或者平台1302、(一个或多个)内容服务装置1330和(一个或多个)内容递送装置1340可被集成。在各种实施例中,平台1302和显示器1320可以是集成的单元。例如,显示器1320和(一个或多个)内容服务装置1330可被集成,或者显示器1320和(一个或多个)内容递送装置1340可被集成。这些示例并不意图限制本公开。
111.在各种实施例中,系统1300可实现为无线系统、有线系统或者两者的组合。当实现为无线系统时,系统1300可包括适合于通过无线共享介质通信的组件和接口,例如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑,等等。无线共享介质的示例可包括无线频谱的一些部分,例如rf频谱等等。当实现为有线系统时,系统1300可包括适合于通过有线通信介质通信的组件和接口,例如输入/输出(i/o)适配器、将i/o适配器与相应的有线通信介质连接的物理连接器、网络接口卡(network interface card,nic)、盘控制器、视频控制器、音频控制器,等等。有线通信介质的示例可包括导线、电缆、金属引线、印刷电路板(printed circuit board,pcb)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤,等等。
112.平台1302可建立一个或多个逻辑或物理信道来传输信息。该信息可包括媒体信息和控制信息。媒体信息可以指表示打算给用户的内容的任何数据。内容的示例例如可包括来自语音交谈的数据、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等。来自语音交谈的数据可例如是语音信息、静默时段、背景噪声、舒适噪声、音调,等等。控制信息可以指表示打算给自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息,或者指示节点以预定的方式处理媒体信息。然而,实施例并不限于图13中示出或描述的元素或情境。
113.如上所述,系统1300可实现为不同的物理风格或外形因子。图14图示了根据本公开的至少一些实现方式布置的示例小外形因子装置1400。在一些示例中,系统1300可经由装置1400实现。在其他示例中,系统100或其一些部分可经由装置1400实现。在各种实施例中,例如,装置1400可实现为具有无线能力的移动计算装置。移动计算装置例如可以指具有处理系统和移动电源或供给电源(例如一个或多个电池)的任何装置。
114.移动计算装置的示例可包括:个人计算机(pc)、膝上型计算机、超便携膝上型计算
机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、组合蜂窝电话/pda、智能装置(例如,智能电话、智能平板或智能移动电视)、移动互联网装置(mid)、消息传递装置、数据通信装置、相机,等等。
115.移动计算装置的示例还可包括被布置为被人穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂环计算机、鞋计算机、衣服计算机和其他可穿戴计算机。在各种实施例中,例如,移动计算装置可实现为除了语音通信和/或数据通信以外还能够执行计算机应用的智能电话。虽然作为示例一些实施例可利用被实现为智能电话的移动计算装置来描述,但可明白其他实施例也可利用其他无线移动计算装置来实现。实施例不限于此情境中。
116.如图14中所示,装置1400可包括具有正面1401和背面1402的外壳。装置1400包括显示器1404、输入/输出(i/o)装置1406和集成天线1408。装置1400还可包括导航特征1412。i/o装置1406可包括用于将信息输入到移动计算装置中的任何适当的i/o装置。i/o装置1406的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、麦克风、扬声器、语音识别装置和软件,等等。信息也可通过麦克风(未示出)被输入到装置1400中,或者可被语音识别装置数字化。如图所示,装置1400可包括集成到装置1400的背面1402(或别处)的相机1405(例如,包括镜头、光圈和成像传感器)和闪光灯1410。在其他示例中,相机1405和闪光灯1410可被集成到装置1400的正面1401中,或者正面和背面相机都可被提供。相机1405和闪光灯1410可以是相机模块的组件,用于创作被处理成流视频的图像数据,该流视频例如被输出到显示器1404和/或被从装置1400经由天线1408远程通信。
117.各种实施例可利用硬件元素、软件元素或者两者的组合来实现。硬件元素的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(application specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)、数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field programmable gate array,fpga)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集,等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(application program interface,api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者这些的任何组合。确定实施例是否利用硬件元素和/或软件元素来实现可根据任何数目的因素而变化,例如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。
118.至少一个实施例的一个或多个方面可由存储在机器可读介质上的表示处理器内的各种逻辑的代表性指令实现,这些代表性指令当被机器读取时使得该机器制造逻辑来执行本文描述的技术。这种被称为ip核心的表示可被存储在有形机器可读介质上并且被提供到各种客户或制造设施以加载到实际制作该逻辑或处理器的制造机器中。
119.虽然已参考各种实现方式描述了本文记载的某些特征,但此描述并不打算被从限制意义上来解释。因此,对本公开所属领域的技术人员来说显而易见的对本文描述的实现方式的各种修改以及其他实现方式被认为属于本公开的精神和范围内。
120.在一个或多个第一实施例中,一种用于视频编码的方法包括接收视频帧的第一最
大编码单元和第二最大编码单元以用于分区和编码模式选择,其中第二最大编码单元与第一最大编码单元水平对齐并且紧接第一最大编码单元的右侧,并且第一最大编码单元和第二最大编码单元的每一者包括左上编码单元、右上编码单元、左下编码单元和右下编码单元,并行地执行对于第二最大编码单元的左上编码单元的第一分区和编码模式选择以及对于第一最大编码单元的右下编码单元的第二分区和编码模式选择,紧随在第一分区和编码模式选择以及第二分区和编码模式选择之后,并行地执行对于第二最大编码单元的右上编码单元的第三分区和编码模式选择以及对于第二最大编码单元的左下编码单元的第四分区和编码模式选择,并且利用第一分区和编码模式选择、第二分区和编码模式选择、第三分区和编码模式选择以及第四分区和编码模式选择将第一最大编码单元和第二最大编码单元编码到比特流中。
121.在一个或多个第二实施例中,关于第一实施例,方法还包括并行地执行对于第二最大编码单元的左上编码单元的第一整数运动估计以及对于第一最大编码单元的右下编码单元的第二整数运动估计,紧随在第一整数运动估计和第二整数运动估计之后,并行地执行对于第二最大编码单元的右上编码单元的第三整数运动估计和对于第二最大编码单元的左下编码单元的第四整数运动估计,其中第一分区和编码模式选择、第二分区和编码模式选择、第三分区和编码模式选择以及第四分区和编码模式选择分别基于第一整数运动估计、第二整数运动估计、第三整数运动估计和第四整数运动估计。
122.在一个或多个第三实施例中,关于第一或第二实施例,执行对于第二最大编码单元的左上编码单元的第一整数运动估计使用与第一最大编码单元的右上编码单元相对应的第一结果运动向量作为运动向量合并候选并且禁止使用与第一最大编码单元相对应的运动向量合并候选。
123.在一个或多个第四实施例中,关于第一至第三实施例的任何一者,执行对于第二最大编码单元的左下编码单元的第四整数运动估计禁止使用与第二最大编码单元的右上编码单元相对应的运动向量合并候选。
124.在一个或多个第五实施例中,关于第一至第四实施例的任何一者,该方法还包括确定对于第二最大编码单元的左上编码单元的第一分区和编码模式选择是否包括无分区以及对于第二最大编码单元的右上编码单元的第三分区和编码模式选择是否包括无分区,并且响应于第一分区和编码模式选择以及第三分区和编码模式选择包括无分区,执行对于第二最大编码单元的合并运动向量评估,或者响应于第一分区和编码模式选择以及第三分区和编码模式选择的任一者或两者包括额外分区,绕过对于第二最大编码单元的合并运动向量评估。
125.在一个或多个第六实施例中,关于第一至第五实施例的任何一者,该方法还包括接收视频帧的第三最大编码单元,其中第三最大编码单元与第二最大编码单元水平对齐并且紧接第二最大编码单元的右侧,并且第三最大编码单元包括左上编码单元、右上编码单元、左下编码单元和右下编码单元,并且紧随在第三分区和编码模式选择以及第四分区和编码模式选择之后,并行地执行对于第三最大编码单元的左上编码单元的第五分区和编码模式选择以及对于第二最大编码单元的右下编码单元的第六分区和编码模式选择,其中执行或绕过对于第二最大编码单元的合并运动向量评估是与第五分区和编码模式选择和第六分区和编码模式选择并行的。
126.在一个或多个第七实施例中,关于第一至第六实施例的任何一者,并行地执行对于第二最大编码单元的左上编码单元的第一分区和编码模式选择以及对于第一最大编码单元的右下编码单元的第二分区和编码模式选择包括:打破从第二最大编码单元的左上编码单元到第一最大编码单元的右下编码单元的左下编码依从性。
127.在一个或多个第八实施例中,关于第一至第七实施例的任何一者,并行地执行对于第二最大编码单元的右上编码单元的第三分区和编码模式选择以及对于第二最大编码单元的左下编码单元的第四分区和编码模式选择包括打破从第二最大编码单元的左下编码单元到第二最大编码单元的右上编码单元的右上编码依从性。
128.在一个或多个第九实施例中,关于第一至第八实施例的任何一者,第一编码单元在第一最大编码单元波阵面中,并且第二编码单元在第二最大编码单元波阵面中。
129.在一个或多个第十实施例中,关于第一至第九实施例的任何一者,对于第二最大编码单元的左上编码单元的第一分区和编码模式选择由处理器的第一执行单元执行,并且对于第一最大编码单元的右下编码单元的第二分区和编码模式选择由处理器的第二执行单元执行。
130.在一个或多个第十一实施例中,关于第一至第十实施例的任何一者,第一最大编码单元和第二最大编码单元是64x64像素并且左上编码单元、右上编码单元、左下编码单元和右下编码单元的每一者是32x32像素。
131.在一个或多个第十二实施例中,一种装置或系统包括存储器和处理器来执行根据上述实施例的任何一者的方法。
132.在一个或多个第十三实施例中,至少一种机器可读介质包括多条指令,多条指令响应于在计算装置上被执行,使得计算装置执行根据上述实施例的任何一者的方法。
133.在一个或多个第十四实施例中,一种装置包括用于执行根据上述实施例的任何一者的方法的装置。
134.将会认识到,实施例不限于这样描述的实施例,而是可在不脱离所附权利要求的范围的情况下通过修改和变更来实现。例如,上述实施例可包括特征的特定组合。然而,上述实施例不限于此,并且在各种实现方式中,上述实施例可包括仅从事这种特征的子集,从事这种特征的不同顺序,从事这种特征的不同组合和/或从事与明确列出的那些特征不同的附加特征。因此,实施例的范围应当参考所附权利要求以及这种权利要求所赋予的等同物的完整范围来确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献