图块和子图像分割

文档序号:174656 发布日期:2021-10-29 浏览:15次 >En<

阅读说明:本技术 图块和子图像分割 (Tile and sub-image segmentation ) 是由 崔秉斗 史蒂芬·文格尔 刘杉 于 2020-03-11 设计创作,主要内容包括:提供了用于解码的系统和方法,一种方法由至少一个处理器执行,以解码已编码视频流的子比特流,该已编码视频流包括图像的第一子图像和第二子图像的已编码版本。该方法包括使用子图像和图块分割、以独立于第二子图像的方式对该图像的第一子图像进行解码,其中(i)第一子图像包括所述图像的第一矩形区域,且第二子图像包括所述图像的第二矩形区域,第二矩形区域不同于第一矩形区域;(ii)第一子图像和所述第二子图像分别包括至少一个图块,及(iii)第一子图像和第二子图像不共享公共图块。(Systems and methods for decoding are provided, a method performed by at least one processor to decode a sub-bitstream of an encoded video stream, the encoded video stream comprising encoded versions of a first sub-picture and a second sub-picture of a picture. The method comprises decoding a first sub-image of the image independently of a second sub-image using the sub-images and tile partitioning, wherein (i) the first sub-image comprises a first rectangular region of the image and the second sub-image comprises a second rectangular region of the image, the second rectangular region being different from the first rectangular region; (ii) (ii) the first sub-image and the second sub-image each comprise at least one tile, and (iii) the first sub-image and the second sub-image do not share a common tile.)

图块和子图像分割

相关文件

本申请要求2019年3月11日递交的美国临时申请62/816,846的优先权,其全部内容通过引用结合在本文中。

技术领域

本申请涉及一组高级视频编解码技术。特别地,涉及图块和子图像的分割设计。

背景技术

正在开发中的是一种视频编解码标准,俗称多功能视频编码(Versatile VideoCoding,VVC)。

发明内容

本申请的一些实施例解决了与VVC有关的问题和其他问题。

一些实施例中,提供了一种方法。该方法可以由至少一个处理器执行以对编码视频流的子比特流进行解码,该编码视频流包括图像的第一子图像和第二子图像的已编码版本。该方法包括:接收所述子码流;及使用子图像和图块分割、以独立于所述第二子图像的方式对所述图像的所述第一子图像进行解码,其中,(i)所述第一子图像包括所述图像的第一矩形区域,且所述第二子图像包括所述图像的第二矩形区域,所述第二矩形区域不同于所述第一矩形区域,(ii)所述第一子图像和所述第二子图像分别包括至少一个图块,且(iii)所述第一子图像和所述第二子图像不共享公共图块。

一个实施例中,该方法还包括:使用所述子图像和图块分割、以独立于所述第一子图像的方式对所述图像的所述第二子图像进行解码,其中,所述第一子图像的所述至少一个图块是第一多个图块,且所述第二子图像的所述至少一个图块是第二多个图块。一个实施例中,利用与所述第二子图像的解码不同的图块扫描顺序来执行所述第一子图像的解码。一个实施例中,使用所述子图像和图块分割执行所述第一子图像的解码和所述第二子图像的解码,其中:将所述第一子图像的所述第一多个图块分组成至少一个第一图块组,将所述第二子图像的所述第二多个图块分组成至少一个第二图块组,且所述至少一个第一图块组中没有图块位于所述至少一个第二图块组中。一个实施例中,至少一个第一图块组中的一个图块组是非矩形图块组。一个实施例中,根据解码技术对所述第一子图像进行解码,其中,仅在两个图块组中的每个图块组是矩形的情况下,才允许在所述至少一个第一图块组的两个图块组之间的边界处进行图块组级环路滤波控制。

一个实施例中,接收所述子码流包括:接收所述已编码视频流,所述已编码视频流包括序列参数集(SPS),所述序列参数集包括关于如何分割所述图像的子图像的信息,所述子图像包括所述第一子图像和所述第二子图像。一个实施例中,所接收的所述已编码视频流包括图像参数集(PPS),所述图像参数集包括关于如何分割所述图像的图块的信息,所述图块包括所述第一子图像的所述至少一个图块和所述第二子图像的所述至少一个图块。一个实施例中,所接收的所述已编码视频流包括活动参数集(APS),所述活动参数集用信号表示所述第一子图像的自适应环路滤波器(ALF)系数。

一些实施例中,提供了一种解码器。解码器可以用于用于对已编码视频流的子码流进行解码,所述已编码视频流包括图像的第一子图像和第二子图像的已编码版本。解码器可以包括:存储器,用于存储计算机程序代码;以及至少一个处理器,用于接收所述子码流,访问所述计算机程序代码并按照所述计算机程序代码的指示进行操作,所述计算机程序代码包括:解码代码,用于使所述至少一个处理器使用子图像和图块分割、以独立于所述第二子图像的方式对所述图像的所述第一子图像进行解码,其中,(i)所述第一子图像包括所述图像的第一矩形区域,且所述第二子图像包括所述图像的第二矩形区域,所述第二矩形区域不同于所述第一矩形区域,(ii)所述第一子图像和所述第二子图像分别包括至少一个图块,且(iii)所述第一子图像和所述第二子图像不共享公共图块。

一个实施例中,所述解码代码进一步用于,使所述至少一个处理器使用所述子图像和图块分割、以独立于所述第一子图像的方式对所述图像的所述第二子图像进行解码,并且所述第一子图像的所述至少一个图块是第一多个图块,并且所述第二子图像的所述至少一个图块是第二多个图块。一个实施例中,所述解码代码用于,使所述至少一个处理器利用与所述第二子图像的解码不同的图块扫描顺序来执行所述第一子图像的解码。一个实施例中,所述解码代码用于,使所述至少一个处理器使用所述子图像和图块分割执行所述第一子图像的解码和所述第二子图像的解码,其中:将所述第一子图像的所述第一多个图块分组成至少一个第一图块组,将所述第二子图像的所述第二多个图块分组成至少一个第二图块组,且所述至少一个第一图块组中没有图块位于所述至少一个第二图块组中。一个实施例中,所述至少一个第一图块组中的一个是非矩形图块组。一个实施例中,所述解码代码用于,使所述至少一个处理器根据解码技术进行解码,其中,仅在两个图块组中的每个图块组是矩形的情况下,才允许在所述至少一个第一图块组的两个图块组之间的边界处进行图块组级环路滤波控制。

一个实施例中,所述解码器用于,接收包括所述子码流的所述已编码视频流,所述已编码视频流包括序列参数集(SPS),所述序列参数集包括关于如何分割所述图像的子图像的第一信息,所述子图像包括所述第一子图像和所述第二子图像,并且所述解码代码用于,使所述至少一个处理器根据所述第一信息分割所述图像的所述子图像。一个实施例中,所述已编码视频流包括图像参数集(PPS),所述图像参数集包括关于如何分割所述图像的图块的第二信息,所述图块包括所述第一子图像的所述至少一个图块和所述第二子图像的所述至少一个图块,并且所述解码代码用于,使所述至少一个处理器根据所述第二信息分割所述图像的所述图块。一个实施例中,所述已编码视频流包括活动参数集(APS),所述活动参数集用信号表示所述第一子图像的自适应环路滤波器(ALF)系数,并且,所述解码代码用于,使所述至少一个处理器在对所述第一子图像进行解码时使用所述APS。

一些实施例中,提供了一种非易失性计算机可读介质,存储有计算机指令。所述计算机指令在由至少一个处理器执行时,使所述至少一个处理器:使用子图像和图块分割、以独立于已编码视频流的图像的第二子图像的方式对所述已编码视频流的所述图像的第一子图像进行解码,其中,其中(i)所述第一子图像包括所述图像的第一矩形区域,且所述第二子图像包括所述图像的第二矩形区域,所述第二矩形区域不同于所述第一矩形区域,(ii)所述第一子图像和所述第二子图像分别包括至少一个图块,且(iii)所述第一子图像和所述第二子图像不共享公共图块。

一个实施例中,当由所述至少一个处理器执行时,所述计算机指令进一步使所述至少一个处理器使用所述子图像和图块分割、以独立于所述第一子图像的方式对所述图像的所述第二子图像进行解码,并且所述第一子图像的所述至少一个图块是第一多个图块,并且所述第二子图像的所述至少一个图块是第二多个图块。

附图说明

根据以下详细描述和附图,本申请实施例的其它特征、性质和各种优点将变得更加明显,在附图中:

图1为一个实施例的通信系统的简化框图。

图2为一个实施例的流传输系统的简化框图。

图3为一个实施例的视频解码器和显示器的简化框图。

图4为一个实施例的视频编码器和视频源的简化框图。

图5A为一个实施例的图像的示意图,示出了子图像和图块。

图5B为一个实施例的图像的示意图,示出了子图像和图块组。

图5C为一个实施例的图像的示意图,示出了子图像、图块组和图块。

图6为一个实施例的系统的示意图。

图7为一个实施例的合成视频的示意图。

图8为一个实施例的用于跨图块组的图块边界进行处理的自适应环路滤波器的示意图。

图9为一个实施例的方法的示意图。

图10为适于实现个实施例的计算机系统的示意图。

具体实施方式

图1是本申请的实施例的通信系统100的简化框图。通信系统100包括通过网络150互连的至少两个终端110、120。举例来说,通信系统100包括通过网络150互连的第一终端110和第二终端120。对于单向数据传输,第一终端110可在本地对视频数据进行编码以通过网络150传输到其它终端120。第二终端120可从网络150接收其它终端的已编码视频数据,对已编码视频数据进行解码以恢复视频数据。单向数据传输在媒体服务等应用中是较常见的。

图1示出支持已编码视频数据的双向传输的第二对终端130、140,所述双向传输可发生在,例如,视频会议期间。对于双向数据传输,第三终端130和第四终端140中的每个终端可对本地采集的视频数据进行编码,以通过网络150传输到其他终端。第三终端130和第四终端140中的每个终端还可接收由其他终端传输的已编码视频数据,且可对所述已编码视频数据进行解码以恢复视频数据,并可在本地的显示设备中显示恢复的视频图像。

在图1中,终端110-140可以是,例如,服务器、个人计算机和智能电话,和/或任何其它类型的终端。例如,终端(110-140)可以是笔记本电脑、平板电脑、媒体播放器和/或专用视频会议装置。网络150表示在终端110-140之间传输已编码视频数据的任意数目的网络,包括例如有线和/或无线通信网络。通信网络150可在电路交换和/或分组交换信道中交换数据。代表性的网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络150的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。

作为本申请所公开主题的一个示例,图2示出视频编码器和视频解码器在流传输环境中的部署方式。本申请所公开主题可适用于其它支持视频的应用,包括例如视频会议、数字电视、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。

如图2所示,流传输系统200可包括采集子系统(313),所述采集子系统包括视频源201和编码器203。流传输系统200还可包括至少一个流传输服务器205和/或至少一个流传输客户端206。

视频源201可创建,例如,未压缩的视频样本流202。视频源201可以是,例如,数码相机。相较于已编码的视频比特流,样本流202被描绘为粗线以强调高数据量。样本流202可由耦接到视频源201的视频编码器203处理。视频编码器203可包括硬件、软件或软硬件组合以实现或实施下文详细描述的所公开主题的各方面。相较于未压缩的视频样本流202,已编码的视频比特流204被描绘为细线以强调较低数据量,其可存储在流传输服务器205中供将来使用。一个或多个流传输客户端206可访问流传输服务器205以获取已编码的视频比特流204的副本309。

流传输客户端206可包括视频解码器210和显示器212。视频解码器210可,例如,对已编码的视频比特流209(其为已编码视频比特流204的传入副本)进行解码,并创建可在显示器212或另一呈现装置(未描绘)上呈现的输出视频样本流211。在一些流传输系统中,可根据某些视频编码/压缩标准对已编码的视频比特流204、209进行编码。这些标准的示例包括,但不限于,ITU-T H.265。正在开发的视频编码标准俗称为多功能视频编码(VersatileVideo Coding,VVC),本申请实施例可用于VVC标准的上下文中。

图3是本申请实施例的附着于显示器212的视频解码器210的功能框图。

视频解码器210可包括信道312、接收器310、缓冲存储器315、熵解码器/解析器320、定标器/逆变换单元351、帧内预测单元352、运动补偿预测单元353、聚合器355、环路滤波器单元356、参考图像存储器357,及当前图像存储器358。至少一个实施例中,视频解码器210可包括集成电路、一系列集成电路、和/或其它电子电路。视频解码器210还可以部分地或全部以运行在带有存储器的CPU中的软件来实现。

在本实施例及其它实施例中,接收器310可接收将由解码器210解码的一个或多个已编码视频序列,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道312接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器310可接收已编码的视频数据以及其它数据,例如,可转发到各自的使用实体(未标示)的已编码音频数据和/或辅助数据流。接收器310可将已编码视频序列同其它数据分开。为了防止网络抖动,缓冲存储器315可耦接在接收器310与熵解码器/解析器320(此后称为“解析器”)之间。当接收器310从具有足够带宽和可控性的存储/转发设备或从等时同步网络接收数据时,也可能不使用或使用很小的缓冲存储器315。为了在尽力而为的包交换网络,如互联网,中使用,也可能需要缓冲存储器315,所述缓冲存储器可相对较大且可具有自适应性大小。

视频解码器210可包括解析器320以从已编码视频序列中重建出符号321。这些符号的类别包括,例如,用于管理解码器210的操作的信息,以及可能存在的、用以控制呈现设备(例如,显示器212)的信息,所述呈现设备耦接到如图2中所示的解码器。用于呈现设备的控制信息可以是辅助增强信息(Supplemental Enhancement Information,SEI消息)或视频可用性信息(Video Usability Information,VUI)的参数集片段(未标示)的形式。解析器320可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循各种本领域技术人员公知的原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等等。解析器320可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图像群组(Group of Pictures,GOP)、图像、图块、条带、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。解析器320还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。

解析器320可对从缓冲存储器315接收的视频序列执行熵解码/解析操作,从而创建符号321。

取决于已编码视频图像或一部分已编码视频图像(例如:帧间图像和帧内图像、帧间块和帧内块)的类型以及其它因素,符号321的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器320从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器320与下文的多个单元之间的此类子群控制信息流。

除已经提及的功能块以外,视频解码器210可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。

一个单元可以是定标器/逆变换单元351。定标器/逆变换单元351可从解析器320接收作为符号321的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。定标器/逆变换单元351可输出包括样本值的块,所述样本值可输入到聚合器355中。

在一些情况下,定标器/逆变换单元351的输出样本可属于帧内编码块;即:不使用来自先前重建的图像的预测性信息,但可使用来自当前图像的先前重建部分的预测性信息的块。此类预测性信息可由帧内图像预测单元352提供。在一些情况下,帧内图像预测单元352利用从当前图像缓冲器358提取的当前(已部分重建的)图像的已重建信息的周围的生成与正在重建的块的大小和形状相同的块。在一些情况下,聚合器355基于每个样本,将帧内预测单元352生成的预测信息添加到由定标器/逆变换单元351提供的输出样本信息中。

在其它情况下,定标器/逆变换单元351的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元353可访问参考图像存储器357以提取用于预测的样本。在根据符号321对提取的样本进行运动补偿之后,这些样本可由聚合器355添加到定标器/逆变换单元351的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元353从参考图像存储器357内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号321的形式而供运动补偿预测单元353使用,所述符号321例如是包括X、Y和参考图像分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图像存储器357提取的样本值的内插、运动矢量预测机制等等。

聚合器355的输出样本可在环路滤波器单元356中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频比特流中的参数,且所述参数作为来自解析器320的符号321可用于环路滤波器单元356。然而,在其他实施例中,视频压缩技术还可响应于在解码已编码图像或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。

环路滤波器单元356的输出可以是样本流,所述样本流可输出到呈现设备(例如显示器212)以及存储在参考图像存储器357中,以用于后续的帧间图像预测。

一旦完全重建,某些已编码图像就可用作参考图像以用于将来预测。一旦已编码图像被完全重建,且已编码图像(通过例如解析器320)被识别为参考图像,则当前图像缓冲器358中存储的当前参考图像可变为参考图像存储器357的一部分,且可在开始重建后续已编码图像之前重新分配新的当前图像缓冲器。

视频解码器210可根据标准(例如ITU-T H.265标准)中记录的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法的意义上,已编码视频序列可符合所使用的视频压缩技术文档或标准,尤其是其配置文件中,指示的语法。同时,为了遵循一些视频压缩技术或标准,已编码视频序列的复杂度需要处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图像大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图像大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(HypotheticalReference Decoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。

一个实施例中,接收器310可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。所述附加数据可由视频解码器210用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图像、前向纠错码等形式。

图4是本申请实施例的与视频源201相关联的视频编码器功能203的框图。

视频编码器203可包括,例如,作为源编码器430的编码器、编码引擎432、(本地)解码器433、参考图像存储器434、预测器435、传输器440、熵编码器445、控制器450和信道460。

视频编码器203可从视频源201(并非编码器的一部分)接收视频样本,所述视频源可采集将由编码器203编码的视频图像。

视频源201可提供将由视频编码器203编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601Y CrCB、RGB……)和任何合适取样结构(例如Y CrCb 4:2:0、Y CrCb 4:4:4)。在媒体服务系统中,视频源201可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源201可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图像,当按顺序观看时,这些图像被赋予运动。图像自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括一个或多个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。

根据实施例,视频编码器203可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图像编码且压缩成已编码视频序列443。施行适当的编码速度是控制器450的一个功能。控制器450控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器450设置的参数可包括速率控制相关参数(图像跳过、量化器、率失真优化技术的λ值等)、图像大小、图像群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。本领域技术人员可以容易地确定控制器450的其它功能,这些功能涉及针对某一系统设计优化的视频编码器203。

一些编码器可在本领域技术人员所理解的编码环路中进行操作。作为简单的描述,在实施例中,编码环路可包括源编码器430(负责基于待编码的输入图像和参考图像创建符号)和嵌入于编码器203中的(本地)解码器433。解码器433以(远程)解码器创建样本数据的方式重建符号以创建样本数据(当某些视频压缩技术中,符号与已编码视频流之间的任何压缩是无损的)。可将重建的样本流(样本数据)输入到参考图像存储器434。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图像存储器434中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图像样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图像同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)是本领域技术人员公知的。

“本地”解码器433的操作可与例如已在上文结合图4详细描述视频解码器210的“远程”解码器实质相同。然而,当符号可用且熵编码器445和解析器320能够无损地将符号编码/解码为已编码视频序列时,包括信道312、接收器30、缓冲存储器315和解析器320的视频解码器210的熵解码部分,可能无法完全在本地解码器433中实施。

此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。出于此原因,本申请侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。

在执行部分操作期间,源编码器430可执行运动补偿预测编码。参考来自视频序列中被指示为“参考帧”的一个或多个先前已编码帧,所述运动补偿预测编码对输入帧进行预测性编码。以此方式,编码引擎432对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可被选作所述输入帧的预测参考。

本地视频解码器433可基于源编码器430创建的符号,对可指示为参考帧的帧的已编码视频数据进行解码。编码引擎432的操作可为有损过程。当已编码视频数据可在视频解码器(图4中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器433重复视频解码器对参考帧执行的解码过程,且可使重建的参考帧存储在参考图像存储器434中。以此方式,视频编码器203可在本地存储重建的参考帧的副本,所述副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。

预测器435可针对编码引擎432执行预测搜索。即,对于将要编码的新帧,预测器435可在参考图像存储器434中搜索可作为所述新图像的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图像运动矢量、块形状等。预测器435可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器435获得的搜索结果,可确定输入图像可具有从参考图像存储器434中存储的多个参考图像取得的预测参考。

控制器450可管理视频编码器430的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。

可在熵编码器445中对所有上述功能单元的输出进行熵编码。熵编码器445根据例如霍夫曼编码、可变长度编码、算术编码等本领域技术人员公知的技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。

传输器440可缓冲由熵编码器445创建的已编码视频序列,从而为通过通信信道460进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器440可将来自视频编码器203的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。

控制器450可管理视频编码器203的操作。在编码期间,控制器450可以为每个已编码图像分配某一已编码图像类型,但这可能影响可应用于相应的图像的编码技术。例如,通常可将图像分配为以下任一种图像类型:帧内图像(I图像)、预测性图像(P图像),或双向预测性图像(B图像)。

帧内图像(I图像),其可以是不将序列中的任何其它帧用作预测源就可被编码和解码的图像。一些视频编解码器容许不同类型的帧内图像,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图像。所属领域的技术人员了解I图像的变体及其相应的应用和特征。

预测性图像(P图像),其可以是可使用帧内预测或帧间预测进行编码和解码的图像,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。

双向预测性图像(B图像),其可以是可使用帧内预测或帧间预测进行编码和解码的图像,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图像可使用多于两个参考图像和相关联元数据以用于重建单个块。

源图像通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码的)块进行预测编码,根据应用于块的相应图像的编码分配来确定所述其它块。举例来说,I图像的块可进行非预测编码,或可参考同一图像中的已编码的块来进行预测编码(空间预测或帧内预测)。P图像的像素块可以非预测方式编码,或参考先前已编码的参考图像通过空间预测或通过时间预测进行预测编码。B图像的块可以非预测方式编码,或参考一个或两个先前已编码的参考图像通过空间预测或通过时间预测进行预测编码。

视频编码器203可根据预定的视频编码技术或标准,例如ITU-T H.265建议书,执行编码操作。在操作中,视频编码器203可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余进行的预测编码操作。因此,已编码视频数据可符合所使用的视频编码技术或标准指示的语法。

一个实施例中,传输器440可在传输已编码视频时传输附加数据。源编码器430可将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/SNR增强层、冗余图像和条带等其它形式的冗余数据、补充增强信息(Supplementary EnhancementInformation、SEI)消息、视频可用性信息(Visual Usability Information、VUI)参数集片段等。

本申请的编码器及解码器可以根据图块及子图像分割设计来对视频码流进行编码及解码。各实施例,包括使用图块和子图像分割设计的方法,可以单独使用或以任何顺序组合使用。此外,各实施例的方法、编码器和解码器中的每一个可以由处理电路(例如,至少一个处理器或至少一个集成电路)实现。在各实施例中,至少一个处理器执行存储在非易失性计算机可读介质中的程序,以根据至少一个实施例的图块和子图像分割设计来执行视频码流的编码和解码。下面描述本申请的图块和子图像分割设计的一些方面。

对于通用视频编解码(VVC)和一些其它视频压缩标准来说,包括具有以下特征的类似运动约束图块集(motion constrained tile set,MCTS)的功能是有用的:(1)子码流包括视频编码层(video coding layer,VCL)网络抽象层(network abstraction layer,NAL)单元和非VCL NAL单元,这些VCL NAL单元和非VCL NAL单元是对图块的子集进行解码时需要的,并且可以从覆盖组成整个图像的所有图块的一个VVC码流中提取处理;以及(2)所提取的子码流能够在VVC解码器中被独立解码,而不参考NAL单元。

具有上述特征的这种分割机制可以被称为MCTS或子图像。为了避免术语“图块组”与“图块集”之间的混淆,在本申请中使用术语“子图像”来描述以上分割机制。

下面参考图5A至5C描述的一个实施例的图块和子图像分割设计的结构的非限制性示例。一个实施例中,视频流包括多个图像500。每个图像500可以包括至少一个子图像510,其中每个子图像510包括至少一个图块530,例如,如图5A至图5B所示。子图像510和图块530的大小和形状不受图5A至5B的限制,且可以是任何形状或大小。每个子图像510的图块530可以被分成至少一个图块组520,例如,如图5B至5C所示。图块组520的大小和形状不受图5B至5C的限制,且可以是任何形状或大小。一个实施例中,至少一个图块530可以不在任何图块组520中提供。一个实施例中,同一子图像510内的多个图块组520可以共享至少一个图块530。本申请各实施例可以根据图块及子图像分割设计来对视频流进行解码及编码,所述分割设计中定义并使用子图像510、图块组520及图块530。

本申请的子图像设计的实施例可以包括来自JVET-M0261的子图像设计的各方面。

此外,本申请的子图像设计的实施例的以下特征增强了本申请的子图像设计对于沉浸式媒体用例的实用性:

(1)每个子图像510可以具有不同的随机访问周期和不同的帧间预测结构。通过采用这样的特征,可以使视觉窗口相关的360度全视角流传输(view-portdependent360streaming)具有不相等的随机访问周期。在视觉窗口相关的360度全视角流传输中,只有具有动态内容的集中区域可能受到观者的注意,而其它背景区域可能变化缓慢。具有不同的GOP结构和不同的随机访问周期可以帮助提供对特定区域的快速访问,并具有更好的整体视觉质量。

(2)子图像510可以具有彼此不同的重采样率。利用这样的特征,背景区域的质量(例如,360度全视角媒体中的顶部和底部、点云编码(point cloud coding,PCC)中的非动态对象)可以被有效地分割开以获得整体比特效率。

(3)组成图像500的多个子图像510可以,或可以不,由单个编码器编码并由单个解码器解码。例如,子图像510可以由编码器独立编码,而另一子图像510由另一编码器编码。然后,这些子图像510对应的子码流可以合并入一个码流,该码流可以由解码器解码。这种特征可以与例如电子体育内容一起使用。例如,一个实施例中,可以有多个玩家(玩家1到玩家N)参与游戏(例如视频游戏),并且可以捕捉和传输这些玩家中的每个玩家的游戏和摄像头视图。基于每个观者所选的玩家,媒体处理器可以将相关游戏视图(例如,后续玩家的游戏视图)分组,并且将该分组转换为视频。

该实施例中,可以由摄像头采集正在玩游戏的各个玩家的图像。例如,如图6所图示,该实施例可以包括采集玩家1的视频图像611的摄像机610的摄像头、捕获玩家2的视频图像612的摄像机610的摄像头等。另外,具有存储器的至少一个处理器可以采集视频图像,包括观察者视图620和玩家视图630。观察者视图620每个视图可以是,例如,游戏的玩家在主动玩游戏时可能无法观看到的游戏的观众视图。例如,观察者视图可以是从视频游戏世界中与玩家观看的视角不同的角度来看的,和/或可以包括帮助观察者观看游戏的信息,该信息在玩家在主动游戏时是不能够被玩家查看到的。观察者视图620可以包括至少一个观察者视图,包括第一观察者视图621。玩家视图630可以是由各个正在玩游戏的相应玩家看到的视图。例如,第一玩家视图631可以是玩家1在玩游戏时所观看的视频游戏图像,第二玩家视图632可以是玩家2在玩游戏时所观看的视频游戏图像,等。

来自摄像机610、观察者视图620和玩家视图630的视频图像可以由合成器640接收。在各实施例中,任何数量的这种视频图像可以由相应的编码器单独编码,和/或视频图像中的至少一个视频图像可以共同由单个编码器进行编码。合成器640可以在视频图像被至少一个编码器编码之后、在视频图像被编码之前,或在视频图像被解码之后接收视频图像。合成器640还可以用作编码器和/或解码器。基于诸如布局和流选择660的输入,合成器640可以将来自摄像机610、观察者视图620和玩家视图630的视频图像中的两个以上视频图像的专门合成图像作为图7所图示的合成视频690,提供给代码转换器650。代码转换器650可以对合成视频690进行代码转换并将合成视频690输出到媒体接收器680,媒体接收器680可以包括显示合成视频690的至少一个显示器。代码转换器650可以由网络监视器670监视。

如图7所图示,经过代码转换的合成视频690可以包括例如播放器1的视频图像611、玩家2的视频图像612、第一玩家视图631、第二玩家视图632和第一观察者视图621的合成视频。然而,提供给合成器640的任何数量的任何视频图像的任何组合可以被合成在一起作为合成视频690。

一个实施例中,子图像设计包括以下特征和技术细节:(1)子图像510是矩形区域;(2)子图像510可以,也可以不,被分割成多个图块530;(3)如果被分割成多个图块530,则每个子图像510具有其自己的图块扫描顺序;(4)子图像510中的图块530可以组合成矩形或非矩形图块组520,但属于不同子图像510的图块530不能被分组在一起。

本申请实施例的子图像设计的至少以下(1)至(7)方面不同于JVET-M0261。

(1)一个实施例中,每个子图像510可以引用其自己的序列参数集(sequenceparameter set,SPS)、图像参数集(picture parameter set,PPS)和活动参数集(ActiveParameter Set,APS),但是每个SPS可以包含所有子图像分割信息。

(a)一个实施例中,可以在SPS中用信号表示子图像分割和布局(有信息量的)信息。例如,可以用信号表示已解码子图像和子图像510的输出尺寸。例如,可以用信号表示子图像510的参考图像列表(reference picture list,RPL)信息。一个实施例中,每个子图像510在同一图像中可以或可以具有相同或不同的RPL信息。(b)一个实施例中,可以在PPS中用信号表示子图像510的图块分割信息。(c)一个实施例中,可以在APS中用信号表示子图像510的自适应滤波(Adaptive Loop Filter,ALF)系数。(d)一个实施例中,任何参数集或补充增强信息(supplemental enhancement information,SEI)可以被多个子图像510引用。

(2)一个实施例中,可以在NAL单元头中用信号表示子图像ID。

(3)一个实施例中,可以不允许跨越子图像边界的任何解码过程(例如,环路内滤波、运动补偿)。

(4)一个实施例中,子图像510的边界可以被扩展并填充以进行运动补偿。一个实施例中,可以在SPS中用信号表示指示边界是否被扩展的标志。

(5)一个实施例中,已解码的子图像510可以或可以不被重采样用于输出。一个实施例中,已解码子图像尺寸与在SPS中用信号表示的输出子图像尺寸之间的空间比率可以用于计算重采样比率。

(6)一个实施例中,关于提取子码流,提取子图像ID对应的VCL NAL单元,并且去除其它单元。提取具有该子图像ID的VCL NAL单元所参考的参数集,并且去除其它参数集。

(7)一个实施例中,关于组合子码流,具有相同图像帧播放顺序(picture ordercount,POC)值的所有VCL NAL单元可以与相同的访问单元(access unit,AU)交织。如有必要,重写SPS中子图像510的分割信息。如有必要,重写子图像ID和任何参数集ID。

下面表1中提供了本申请实施例的序列参数集RBSP语法。

表1

“num_sub_pictures_in_pic”指示参考该SPS的每个图像500中的子图像510的数量。

“signalled_sub_pic_id_length_minus1”等于1指示用于表示图块组头中的语法元素“sub_pic_id[i]”(当存在时)及语法元素“tile_group_sub_pic_id[i]”的比特数量。“signalled_sub_pic_id_length_minus1”的值可以在0到15(包括0和15)的范围内。

“dec_sub_pic_width_in_luma_samples[i]”以已编码视频序列中的亮度样本为单位,指示第i个已解码子图像510的宽度。“dec_sub_pic_width_in_luma_samples[i]”可以不等于0并且可以是“MinCbSizeY”的整数倍。

“dec_sub_pic_height_in_luma_samples[i]”以已编码视频序列中的亮度样本为单位,指示第i个已解码子图像510的高度。“dec_sub_pic_height_in_luma_samples[i]”可以不等于0并且可以是“MinCbSizeY”的整数倍。

“output_sub_pic_width_in_luma_samples[i]”以亮度样本为单位,指示第i个输出子图像510的宽度。“output_sub_pic_width_in_luma_samples”可以不等于0。

“output_sub_pic_height_in_luma_samples[i]”以亮度样本为单位,指示第i个输出子图像510的高度。“output_sub_pic_height_in_luma_samples”可以不等于0。

“sub_pic_id[i]”指示第i个子图像510的子图像标识符。“sub_pic_id[i]”语法元素的长度是“sub_pic_id_length_minus1”+1比特。当“sub_pic_id[i]”不存在时,“sub_pic_id[i]”的值被设定为等于0。

“left_top_pos_x_in_luma_samples[i]”指示第i个子图像510的第一像素的列位置。

“left_top_pos_y_in_luma_samples[i]”指示第i个子图像510的第一像素的行位置。

一个实施例中,每个子图像510在解码之后被重采样到其对应的输出子图像尺寸。一个实施例中,子图像510不能与另一个子图像510A的区域重叠。一个实施例中,由所有子图像输出尺寸和位置组成的图像尺寸的宽度和高度可以等于“pic_width_in_luma_samples”和“pic_height_in_luma_samples”,但是由子图像的子集构成的部分图像区域可以被解码。

下面表2中提供本申请实施例的图块组头部语法。

表2

“tile_group_sub_pic_id”指示当前图块组所属的子图像的子图像标识符。

HEVC中的图块经设计以支持以下两种主要使用案例:(1)并行解码过程,以及(2)部分传输和解码。第一种使用案例基本上是通过使用HEVC中的原始图块来实现的,但是它对于帧间预测操作仍然具有一些依赖性。第二种使用案例是通过采用被称为运动约束图块集(motion constrained tile set,MCTS)的附加SEI消息来实现的,尽管这是一种可选的方式。在VVC中,从HEVC继承了相同的图块设计,但是采用了一种新的方案,即所谓的图块组,来支持多种使用案例。

本申请提供了包括可以用于支持3/6自由度的VR360或其它沉浸式内容的基于视觉窗口的传输的子图像设计的实施例。这种功能在VVC中将是有用的,以广泛用于未来的沉浸式内容服务。还需要具有实现完全并行解码而不具有任何对跨越图块边界的依赖性的全部能力。

可以使用两个语法元素(“loop_filter_across_tiles_enabled_flag”和“loop_filter_across_tiles_groups_enabled_flag”)来提供更好的并行处理能力。这些语法元素分别指示环路内滤波操作的执行不跨越图块边界或图块组边界。在本申请实施例中,上述两个语法元素可以与两个附加语法元素同时存在。两个附加语法元素可以分别指示帧间预测操作的执行是否跨越图块或图块组边界。在这些语义中,帧间预测操作包括,例如时间运动补偿、当前图像参考、时间运动矢量预测和图像之间的任何参数预测操作。因此,在本申请实施例中,运动约束图块,而不是运动约束图块集,可以用于编码/解码标准中,例如HEVC。该特征可以与子图像或MCTS方案相互兼容。

上述语法元素可以用于至少两种使用案例:(1)对跨图块/图块组边界无任何依赖性的全并行解码过程,及(2)重新配置图块组布局而不对VCL NAL单元进行代码转换。

关于第一种使用案例,即使图像500被分割成两个图块组520并被传输,当一个图块组520包括多个图块530时,多个解码器也可以并行地对该图块组520进行解码。此时,全并行处理能力将是有帮助的。

第二种使用案例涉及依赖VR360视觉窗口的处理的使用案例。当目标视觉窗口被移动到两个图块组之间的边界时,可能需要解码器来接收两个图块组并对其进行解码以显示目标视觉窗口。然而,在具有所描述的语法元素的本申请实施例中,PPS中的图块组520的分割信息可以由例如服务器或云处理器更新,从而使仅一个图块组520包括整个目标视觉窗口并将该一个图块组520传输到解码器。当将所有图块被编码为运动约束图块时,该即时重新分割可以无需VLC级修改。

下面提供本申请实施例的语法元素的示例。

下面表3中提供本申请实施例的图像参数集RBSP语法。

表3

“full_parallel_decoding_enabled_flag”等于1指示不允许跨越图块边界的任何处理和预测。

“loop_filter_across_tiles_enabled_flag”等于1指示在参考PPS的图像中跨越图块边界执行环路内滤波操作。“loop_filter_across_tiles_enabled_flag”等于0指示在参考PPS的图像中不跨越图块边界执行环路内滤波操作。环路内滤波操作包括,例如解除块滤波器(deblocking filter)、样本自适应偏移滤波器和自适应环路滤波器操作。当loop_filter_across_tiles_enabled_flag不存在时,loop_filter_across_tiles_enabled_flag的值可以被推断为等于0。

“loop_filter_across_tile_groups_enabled_flag”等于1指示在参考PPS的图像中跨越图块组边界执行环路内滤波操作。“loop_filter_across_tile_group_enabled_flag”等于0指示在参考PPS的图像中不跨越图块组边界执行环路内滤波操作。环路内滤波操作包括,例如解除块滤波器、样本自适应偏移滤波器和自适应环路滤波器操作。当“loop_filter_across_tile_groups_enabled_flag”不存在时,“loop_filter_across_tile_groups_enabled_flag”的值可以被推断为等于0。

“inter_prediction_across_tiles_enabled_flag”等于1指示在参考PPS的图像中跨越图块边界执行帧间预测操作。“inter_prediction_across_tiles_enabled_flag”等于0指示在参考PPS的图像中不跨越图块边界执行帧间预测操作。帧间预测操作包括例如时间运动补偿、当前图像参考、时间运动矢量预测和图像之间的任何参数预测操作。当“inter_prediction_across_tiles_enabled_flag”不存在时,“inter_prediction_across_tiles_enabled_flag”的值可以被推断为等于0。

“inter_prediction_across_tile_groups_enabled_flag”等于1指示在参考PPS的图像中跨越图块组边界执行帧间预测操作。“inter_prediction_across_tile_groups_enabled_flag”等于0指示在参考PPS的图像中不跨越图块组边界执行帧间预测操作。帧间预测操作包括例如时间运动补偿、当前图像参考、时间运动矢量预测和图像之间的任何参数预测操作。当“inter_prediction_across_tile_groups_enabled_flag”不存在时,“inter_prediction_across_tile_groups_enabled_flag”的值可以被推断为等于0。

在VVC中,图块设计类似于HEVC中的图块设计,但采用也称为“图块组”的新方案来支持多个实施例,包括但不限于:(1)部分传输和解码,(2)并行解码过程,以及(3)与图块粒度匹配的MTU尺寸。

对于并行处理,可以使用两个语法元素(“loop_filter_across_tiles_enabled_flag”和“loop_filter_across_tiles_groups_enabled_flag”)来选择性地允许跨越图块组边界的环路内滤波过程。然而,使用此类语法元素,当图块组是非矩形时,禁用跨图块组边界的环路内滤波同时启用跨图块边界的滤波可能使滤波过程复杂化。如图8所示,跨越两个图块组820之间的图块组边界,用7×7菱形滤波器840处理自适应环路滤波器(adaptiveloop filter,ALF)。如果图块组820是非矩形的,则其滤波过程是混乱的。对于每一像素、每一滤波器系数,边界检查过程是强制性的以识别哪些像素属于当前图块组。时间运动补偿和当前图像参考的情况也一样。如果在图块组边界处应用边界扩展以进行运动补偿,则其填充过程也是复杂的。

根据本申请实施例,应仅针对矩形图块组允许在图块组边界处进行图块组级的环路滤波(或任何其它操作)控制。因此,可以更好地避免滤波过程和填充过程中的混乱。

此外,当“single_tile_per_tile_group_flag”等于1时,可以不需要用信号表示标志“loop_filter_across_tile_groups_enabled_flag”。因此,本申请实施例可以包括,例如表4所示的以下图像参数集RBSP语法。

表4

“loop_filter_across_tile_groups_enabled_flag”等于1指示在参考PPS的图像中跨越图块组边界执行环路内滤波操作。“loop_filter_across_tile_group_enabled_flag”等于0指示在参考PPS的图像中不跨越图块组边界执行环路内滤波操作。环路内滤波操作包括例如解除块滤波器、样本自适应偏移滤波器和自适应环路滤波器操作。当“loop_filter_across_tile_groups_enabled_flag”不存在时,“loop_filter_across_tile_groups_enabled_flag”的值可以被推断为等于“loop_filter_across_tiles_enabled_flag”的值。

一个实施例中,可以由至少一个处理器执行一种方法以对已编码视频流的子码流进行解码。已编码视频流可以包括至少一个图像500的多个子图像510的已编码版本。

如图9所图示,该方法可以包括至少一个处理器接收子码流(850)。一个实施例中,子码流可以包括至少一个图像500的至少一个子图像510的信息,并且可以不包括该至少一个图像500的其它子图像510的信息。在接收到该子码流之后,至少一个处理器可以对该子码流中的子图像510进行解码。例如,假设该子码流包括单个图像的第一子图像和第二子图像的信息,则该至少一个处理器可以根据使用本申请的图块和子图像分割设计的解码技术、以独立于第二子图像的方式对该图像的第一子图像进行解码(860)。第一子图像的解码可以包括对第一子图像的图块进行解码。该至少一个处理器还可以根据使用本申请的图块和子图像分割设计的解码技术来对该图像的第二子图像进行解码(870)。第二子图像的解码可以包括对第二子图像的图块进行解码。

在各实施例中,至少一个处理器可以根据本申请的图块和子图像分割设计对至少一个图像500的子图像510进行编码,并将包括至少一个已编码子图像510的视频码流的至少一个子码流发送到至少一个解码器,使其根据本申请的图块和子图像分割设计进行解码。

在各实施例中,本申请的解码器(例如,视频解码器210)可以通过访问存储在存储器中的计算机程序代码并按照该计算机程序代码的指令进行操作来执行本申请的解码方法。例如,一个实施例中,该计算机程序代码可以包括解码代码,该解码代码用于使解码器根据使用本申请的图块和子图像分割设计的解码技术、以独立于第二子图像的方式对图像的第一子图像进行解码,并且进一步使解码器根据使用本申请的图块和子图像分割设计的解码技术、以独立于第一子图像的方式对图像的第二子图像进行解码。

在各实施例中,本申请的编码器(例如,编码器203)可以通过访问存储在存储器中的计算机程序代码并按照该计算机程序代码的指令进行操作来执行本申请的编码方法。例如,一个实施例中,该计算机程序代码可以包括编码代码,该编码代码用于使编码器根据本申请的图块和子图像分割设计对至少一个图像500的子图像510进行编码。该计算机程序代码还可以包括发送代码,该发送代码用于将包括至少一个已编码子图像510的视频码流的至少一个子码流发送到至少一个解码器,以使其根据本申请的图块和子图像分割设计进行解码。

上述技术可以使用计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图10为适于实现各实施例的计算机系统900的示意图。

计算机软件可利用任何合适的机器代码或计算机语言来编码,可采用汇编、编译、链接或类似机制生成包括指令的代码。这些指令可由计算机中央处理单元(centralprocessing unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)等直接执行或通过代码解释、微代码执行等操作来执行。

这些指令可在多种类型的计算机或计算机组件中执行,包括,例如,个人计算机、平板电脑、服务器、智能电话、游戏设备、物联网设备等。

图10所示的计算机系统900的部件本质上是示例性的,并不旨在对实现各实施例的计算机软件的使用范围或功能提出任何限制。也不应将组件的构造解释为对计算机系统900的示例性实施例中所说明的部件中的任一者或组合具有任何依赖性或要求。

计算机系统900可以包括某些人机界面输入设备。这样的人机界面输入设备可以响应于一个或多个人类用户通过例如触觉输入(诸如键击、挥动、数据手套移动)、音频输入(诸如语音、拍击)、视觉输入(诸如姿势)、嗅觉输入(未示出)的输入。人机界面设备还可用于捕捉不必直接与人类有意识输入相关的某些介质,例如音频(诸如语音、音乐、环境声音)、图像(诸如扫描的图像、从静止图像相机获得的摄影图像)、视频(诸如二维视频,包括立体视频的三维视频)。

人机界面输入设备可包括以下项中的一种或多种(每一种仅描绘一个):键盘901、鼠标902、触控板903、触摸屏910、数据手套904、操纵杆905、麦克风906、扫描仪907、照相机908。

计算机系统900还可以包括某些人机界面输出设备。这样的人机界面输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感觉。这种人机界面输出设备可以包括触觉输出设备(例如通过触摸屏910、数据手套或操纵杆905的触觉反馈,但是也可以有不用作输入设备的触觉反馈设备)、音频输出设备(诸如扬声器909、耳机(未示出))、可视输出设备以及打印机(未示出),其中可视输出设备诸如屏幕910、虚拟现实眼镜(未示出)、全息显示器和烟雾箱(未示出),屏幕910包括阴极射线管(CRT)屏幕、液晶显示器(LCD)屏幕、等离子屏幕、有机发光二极管(OLED)屏幕,每一种都具有或不具有触摸屏输入能力,每一种都具有或不具有触觉反馈能力,这些屏幕中的一些能够通过手段(诸如立体图像输出)输出二维可视输出或多于三维的输出。

计算机系统900还可以包括人类可访问的存储设备及其相关联的介质,诸如光学介质(包括具有CD/DVD的CD/DVDROM/RW 920)或类似介质921、拇指驱动器922、可移动硬盘驱动器或固态驱动器923、传统磁介质(诸如磁带和软盘(未示出))、基于专用ROM/ASIC/PLD的设备(诸如安全道尔芯片(未示出)),等等。

本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。

计算机系统900还可以包括连接一个或多个通信网络的接口。网络例如可以是无线网络、有线网络、光网络。网络还可以是本地网、广域网、城域网、车联网的和工业网络、实时网络、延迟容忍网络等等。网络的示例包括局域网(诸如以太网、无线LAN)、蜂窝网络(包括全球移动通信系统(GSM)、第三代(3G)、第四代(4G)、第五代(5G)、长期演进(LTE)等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车辆和工业网络(包括CANBus),等等。某些网络通常需要外部网络接口适配器,该外部网络接口适配器连接到某些通用数据端口或外围总线(949)(诸如计算机系统900的通用串行总线(USB)端口);其他的通常通过如下所述连接到系统总线而集成到计算机系统900的核心中(例如,进入个人计算机系统的以太网接口或进入智能手机计算机系统的蜂窝网络接口)。通过使用这些网络中的任何一个,计算机系统900可以与其它实体通信。这种通信可以是使用局域或广域数字网络的到其它计算机系统的单向的、仅接收的(例如广播TV)、单向仅表示的(例如到某些CAN总线设备的CAN总线)或双向的通信。可以在如上所述的那些网络和网络接口中的每一个上使用某些协议和协议栈。

上述人机界面设备、人类可访问存储设备和网络接口可以连接到计算机系统900的内核940。

内核(940)可以包括一个或多个中央处理单元(CPU)941、图形处理单元(GPU)942、以现场可编程门阵列(FPGA)943形式存在的专用可编程处理单元、用于特定任务的硬件加速器944等。这些设备与只读存储器(ROM)945、随机存取存储器(RAM)946、内部大容量存储器(诸如内部非用户可访问硬盘驱动器)、固态驱动器(SSD)等947一起可以通过系统总线948连接。在一些计算机系统中,系统总线948可以以一个或多个物理插头的形式访问,从而使得通过附加CPU、GPU等能够进行扩展。外围设备可直接附接到核心的系统总线948上,或通过外围总线949附接到核心的系统总线(948)上。外围总线的体系结构包括外围部件互连(PCI)、USB等。

CPU 941、GPU 942、FPGA 943和加速器944可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM 945或RAM 946中。过渡数据也可以存储在RAM 946中,而永久数据可以存储在例如内部大容量存储器947中。通过使用高速缓冲存储器可实现对任何内存设备的快速存储和检索,高速缓冲存储器可与一个或多个CPU 941、GPU 942、大容量存储器947、ROM 945、RAM 946等紧密关联。

计算机可读介质上可以具有计算机代码,在计算机代码上执行各种计算机执行的操作。介质和计算机代码可以是为本申请的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。

作为示例而非限制,具有体系结构900的计算机系统,特别是内核940,可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供功能,从而执行包括在一个或多个有形的计算机可读介质中的软件。这种计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质,以及具有非瞬态性质的内核940的某些存储器,诸如核心内部大容量存储器947或ROM 945。实现本申请的各种实施例的软件可以存储在这种设备中并由内核940来执行。根据特定需要,计算机可读介质可包括一个或多个存储器设备或芯片。软件可致使内核940,具体地是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括界定存储在RAM 946中的数据结构并根据软件所界定的过程修改这种数据结构。另外或作为替代,计算机系统可提供作为逻辑硬连线或以其它方式包括在电路(例如加速器944)中的功能,该电路可代替软件或与软件一起操作以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包括执行逻辑的电路,或两者兼备。本申请包括硬件和软件的任何适当组合。

虽然本申请已对多个示例性实施例进行了描述,但实施例的各种变更、置换和各种替代属于本申请的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确展示或描述,但其体现了本申请的原则,因此属于本申请的精神和范围之内。

32页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于编码和解码视频样本的块树的方法、设备和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类