CN109996079B - 视频解码方法和装置 - Google Patents

视频解码方法和装置 Download PDF

Info

Publication number
CN109996079B
CN109996079B CN201811486720.8A CN201811486720A CN109996079B CN 109996079 B CN109996079 B CN 109996079B CN 201811486720 A CN201811486720 A CN 201811486720A CN 109996079 B CN109996079 B CN 109996079B
Authority
CN
China
Prior art keywords
block
motion vector
merge
vector predictor
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811486720.8A
Other languages
English (en)
Other versions
CN109996079A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of CN109996079A publication Critical patent/CN109996079A/zh
Application granted granted Critical
Publication of CN109996079B publication Critical patent/CN109996079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

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)

Abstract

本公开的方面提供用于视频解码的方法和装置。在一些实施例中,一种用于视频解码的装置包含处理电路。所述处理电路对当前已编码的图片中的块进行预测信息解码,所述已编码的图片为已编码的视频序列的一部分。所述预测信息指示合并模式。接着,所述处理电路对应所述合并模式,为所述块建构候选项运动向量预测值的候选项列表。所述候选项列表包含一个或多个第一候选项,所述第一候选项为所述块的角相邻候选项。接着,所述处理电路确定所述块的不同部分是否包含不同运动向量预测值。当确定所述块的所述不同部分包含不同运动向量预测值时,所述处理电路将至少一个第二合并候选项***到所述合并候选项列表中,且根据所述合并候选项列表中的所述运动向量预测值重构所述块,所述第二合并候选项为所述块的边相邻候选项。

Description

视频解码方法和装置
以引用的方式并入
本公开要求2017年12月7日提交的“用于视频编码中的运动补偿的方法(METHODSFOR MOTION COMPENSATION IN VIDEO CODING)”的美国临时申请案第62/595,955号的优先权,所述申请案以全文引用的方式并入本文中。
技术领域
本申请涉及视频编解码技术,尤其涉及视频解码方法和装置。
背景技术
几十年来,具有运动补偿的帧间图片预测的视频编码和解码技术已被广泛应用。未压缩的数字视频可包含一系列图片,每一图片具有的空间维度例如包括1920×1080亮度样本和相关的色度样本。所述图片系列可具有例如每秒60张图片或60Hz的固定或可变图片速率(也被称作帧率)。而且,未压缩视频具有显著的位率要求。举例来说,8位的1080p60 4:2:0视频(60Hz帧率下的1920×1080亮度样本分辨率)的每个样本需要接近1.5Gbit/s的带宽。长度为一小时的此类视频需要超过600千兆字节的存储空间。
视频编码和解码的一个目的是可以通过压缩减少输入视频信号中的冗余。压缩可帮助减少前述带宽或存储空间要求,在一些状况下,甚至可以减少两个以上的数量级。具体可采用无损压缩、有损压缩或两者组合。无损压缩是指可从压缩的原始信号重构原始信号的精确副本的技术。而当使用有损压缩时,重构的信号可能与原始信号不相同,但原始信号与重构的信号之间的失真小到足以使重构的信号可用于预期应用。有损压缩目前被广泛地应用在视频上。此外,容许的失真量取决于应用本身;例如某些消费型数据流传输应用的用户比电视贡献应用的用户容许更高的失真。而获得的压缩比可反映出:较高的可允许/可容许的失真能够得到较高的压缩比。
运动补偿可以是有损压缩技术,且可涉及来自先前重构的多张图片或其部分图片(参考图片)的样本数据块在由运动向量(此后称为MV)指示的方向上空间移位之后用于预测最新重构的图片或部分图片的技术。在一些状况下,参考图片可与当前正在重构的图片相同。MV可具有两个维度X和Y或三个维度,第三个维度标示正在使用中的参考图片(后者间接地可以是时间维度)。
在一些视频压缩技术中,可根据其它MV预测适用于某一样本数据区域的MV,例如,所述其它MV可以是与在空间上邻近于正在重构的区域的另一样本数据区域相关,且解码次序先于所述MV的MV。如此,可大量地减少对MV进行编码所需的数据量,从而删除冗余且提升压缩率。举例来说,MV预测之所以能够有效运作,是因为当对来自照相机的输入视频信号(被称为原始视频)进行编码时,存在如下的统计可能性:大于单一MV适用区域的区域均在类似方向上移动,因此,可在一些状况下使用来自相邻区域的MV的类似运动向量进行预测。这使得为给定区域找到的MV与根据周围MV预测到的MV类似或相同,且在熵编码之后,还能够以位数小于直接对MV进行编码时所使用的位数来表示。在一些状况下,MV预测可以是对来自原始信号(即:样本流)的信号(即:MV)进行无损压缩的实施例。在其它状况下,MV预测自身可以是有损的,例如基于从若干周围MV计算预测值时的四舍五入误差而产生。
H.265/HEVC(ITU-T Rec.H.265,“高效视频编码”,2016年12月)中描述各种MV预测机制。在H.265提供的许多MV预测机制中,此处描述的是后续被称作“空间合并”的技术。
参考图1,当前块(101)包括在运动搜索过程期间已由编码器发现的样本,所述样本可从已经在空间上移位的具有相同大小的先前块预测。具体的,不通过对所述MV直接进行编码,而是通过使用与五个周围样本(分别标示为A0、A1及B0、B1、B2(102)到(106))中的任一个相关联的MV,从与一个或多个参考图片,例如从最近的(按解码次序)参考图片)相关联的元数据来导出MV。在H.265标准中,MV预测可使用来自相邻块正在使用的相同参考图片的预测器。
发明内容
本申请提供用于视频解码的方法和装置。
在一些实施例中,一种用于视频解码的装置包含处理电路。所述处理电路对当前已编码的图片中的块进行预测信息解码,所述已编码的图片为已编码的视频序列的一部分。所述预测信息指示合并模式。接着,所述处理电路对应所述合并模式,为所述块建构候选项运动向量预测值的合并候选项列表。所述合并候选项列表包含一个或多个第一合并候选项,所述第一合并候选项为所述块的角相邻候选项。接着所述处理电路确定所述块的不同部分是否包含不同运动向量预测值。当确定所述块的不同部分包含不同运动向量预测值时,所述处理电路将至少一个第二合并候选项***到所述合并候选项列表中且根据所述合并候选项列表中的运动向量预测值重构所述块,所述第二合并候选项为所述块的边相邻候选项。
在一些实施例中,为了确定块的不同部分是否包含不同运动向量预测值,处理电路确定块是否符合分段要求。当确定块符合分段要求时,处理电路将块分段成虚拟块区段,使得每一虚拟块区段包含至少一个运动向量预测值。接着处理电路将每一虚拟块区段的至少一个运动向量预测值与块的运动向量预测值进行比较以在基于块的合并模式或基于区段的合并模式之间选择。基于块的合并模式对于块的所有像素使用相同运动向量预测值。基于区段的合并模式将不同运动向量预测值指派到块的不同部分。
在一些实施例中,分段要求可以是块的大小的分段阈值。为了确定块的大小是否达到分段阈值,在一个实施例中,处理电路确定块的列长度是否大于第一长度阈值。在另一实施例中,处理电路确定块的行长度是否大于第二长度阈值。在另一实施例中,处理电路确定块的长宽比是否在长宽比范围之外。
在一些实施例中,为了将块分段成虚拟块区段,所述处理电路将块划分成两半以产生中间虚拟块区段。接着所述处理电路将所述中间虚拟块区段进一步划分成两半,直到中间虚拟块区段的大小小于分段阈值为止。
在一些实施例中,为了将每一虚拟块区段的至少一个运动向量预测值与块的运动向量预测值进行比较以在基于块的合并模式或基于区段的合并模式之间选择合并模式,处理电路分别选择每一个块和经过分段的虚拟块区段的参考像素。接着,处理电路分别选择每一个块和经过分段的虚拟块区段的参考块。接着,处理电路对于每一个块和经过分段的虚拟块区段,比较选定的参考像素与邻近选定参考块的对应参考像素。选定的参考像素与邻近选定参考块的对应参考像素之间的差被定义为用于每一个块和经过分段的虚拟块区段的运动向量预测值。最后,处理电路选择花销最低的运动向量预测值。
当确定块的不同部分包含不同运动向量预测值时,处理电路将至少一个第二合并候选项***到所述合并候选项列表中,所述第二合并候选项为块的边相邻候选项。在一个实施例中,至少一个第二合并候选项与块的角相邻候选项具有相同行号或相同列号。在另一实施例中,至少一个第二合并候选项是块的顶边相邻候选项或左边相邻候选项。
在一些实施例中,处理电路可基于解码器侧运动向量提取方法减少所述合并候选项列表中的合并候选项的数量。
在一些实施例中,为了减少所述合并候选项列表中的合并候选项的数量,处理电路为所述解码器侧运动向量提取方法设定参考花销。接着处理电路对所述合并候选项列表中的合并候选项执行解码器侧运动向量提取方法。接着处理电路将所述合并候选项的花销与参考花销进行比较。接着处理电路确定每一合并候选项的花销与参考花销之间的差是否高于花销阈值。当确定合并候选项的花销与参考花销之间的差高于花销阈值时,处理电路从所述合并候选项列表删除合并候选项。
本申请还提供一种非暂时性计算机可读媒体,存储指令,当计算机执行指令用于视频解码时,使所述计算机执行用于视频编码的方法。
附图说明
图1是根据H.265的当前块和其周围的空间合并候选项的示意性说明。
图2是根据本申请实施例的通信***(200)的简化的框图的示意性说明。
图3是根据本申请实施例的通信***(300)的简化的框图的示意性说明。
图4是根据本申请实施例的解码器的简化的框图的示意性说明。
图5是根据本申请实施例的编码器的简化的框图的示意性说明。
图6展示根据本申请另一实施例的编码器的框图。
图7展示根据本申请另一实施例的解码器的框图。
图8是根据本申请实施例的用于运动向量预测或受运动向量预测影响的块和子块的运动向量预测的示范性示意性说明。
图9是根据本申请实施例的具有均一和方形子块尺寸的竖直运动向量预测的示范性示意性说明。
图10是根据本申请实施例的具有矩形和非均一子块大小的竖直运动向量预测的示范性示意性说明。
图11是基于块的合并模式与基于区段的合并模式之间的模板花销比较的示范性示意性说明。
图12展示根据本申请的一些实施例的概述过程(1200)的流程图。
图13展示根据本申请的一些实施例的概述过程(1300)的流程图。
图14是根据本申请实施例的计算机***的示意性说明。
具体实施方式
图2展示了根据本申请的实施例的通信***(200)的简化框图。通信***(200)包含多个终端装置,其可通过例如网络(250)彼此通信。举例来说,通信***(200)包含通过网络(250)互连的第一对终端装置(210)和(220)。在图2的实施例中,第一对终端装置(210)和(220)执行单向数据传输。举例来说,终端装置(210)可对视频数据(例如,由终端装置(210)所获取的视频图片数据数据流)进行编码以通过网络(250)传输到另一终端装置(220)。经过编码的视频数据可以一个或多个已编码的视频位流的形式传输。终端装置(220)可从网络(250)接收已编码的视频数据,对已编码的视频数据进行解码以恢复视频图片,并根据恢复的视频数据显示视频图片。需要说明的是,单向数据传输在媒体服务应用等领域中可能是比较常见的。
在另一实施例中,通信***(200)包含执行已编码的视频数据的双向传输的第二对终端装置(230)和(240),所述双向传输可例如在视频会议期间采用。对于双向数据传输,在一实施例中,终端装置(230)和(240)的其中一个终端装置可对视频数据(例如,由终端装置所获取的视频图片数据数据流)进行编码,以通过网络(250)传输到终端装置(230)和(240)中的另一终端装置。终端装置(230)和(240)中的其中一个终端装置也可接收由终端装置(230)和(240)中的另一终端装置传输的已编码的视频数据,且可对已编码的视频数据进行解码以恢复视频图片,且可根据恢复的视频数据在可访问的显示装置处显示视频图片。
在图2的实施例中,终端装置(210)、(220)、(230)和(240)可以为服务器、个人计算机和智能电话,但本申请不以此为限。本申请的实施例适用于台式电脑、笔记本电脑、平板电脑、媒体播放器及/或专用视频会议设备。网络(250)表示在终端装置(210)、(220)、(230)和(240)之间传达已编码的视频数据的任何数量的网络,包含例如有线和/或无线通信网络。通信网络(250)可在电路交换和/或分组交换信道中交换数据。举例来说,所述网络包含电信网络、局域网、广域网和/或因特网。出于本发明目的,网络(250)的架构和拓扑结构对于本申请的操作可能无关紧要,除非在下文中解释。
图3展示了视频编码器和视频解码器在数据流传输环境中的放置,以作为本申请所公开主题的应用实施例之一。本申请所公开主题可同等地适用于其它支持视频的应用,例如包含,视频会议、数字TV、在包含CD、DVD、存储棒等数字媒体上存储压缩的视频等等。
数据流传输***可包含获取子***(313),所述获取子***可包含视频源设备(301),例如数码相机,所述视频源设备创建例如未经压缩的视频图片(302)的数据流。在一实施例中,视频图片(302)数据流包含由数码相机拍摄的样本。图示中,相较于经过编码的视频数据(304)(或已编码的视频位流),视频图片(302)数据流被描绘为粗线以强调高数据量,且可由耦合到视频源设备(301)的视频编码器(303)的电子装置(320)处理。视频编码器(303)可包含硬件、软件或其组合,以启用或实施如下文更详细地描述的本申请所公开主题的各个方面。相较于视频图片(302)数据流,经过编码的视频数据(304)(或经过编码的视频位流(304))被描绘为细线以强调较低数据量,其可存储在数据流传输服务器(305)上以供后续使用。数据流传输***还包含一个或多个数据流传输客户端子***,例如图3中的客户端子***(306)和(308),可访问数据流传输服务器(305)以检索经过编码的视频数据(304)的副本(307)和(309)。客户端子***(306)可例如在电子装置(330)中包含视频解码器(310)。视频解码器(310)对经过编码的视频数据的传入副本(307)进行解码,且产生的视频图片的输出串流(311)可在显示器(312)(例如,显示器屏幕)或其它再现装置(未图示)上再现。在一些数据流传输***中,经过编码的视频数据(304)、(307)和(309)(例如,视频位流)可根据某些视频编码/压缩标准进行编码。该些标准的实施例包含ITU-T RecommendationH.265。在一实施例中,正在开发的视频编码标准被非正式地称为通用视频编码或VVC。本申请所公开主题可用于VVC的上下文中。
应注意,电子装置(320)和(330)可包含其它组件(未展示)。举例来说,电子装置(320)可包含视频解码器(未展示),且电子装置(330)还可包含视频编码器(未展示)。
图4展示根据本申请的实施例的视频解码器(410)的框图。视频解码器(410)可包含在电子装置(430)中,电子装置(430)可包含接收器(431)(例如,接收电路)。视频解码器(410)可用于代替图3的实施例中的视频解码器(310)。
接收器(431)可接收待由视频解码器(410)解码的一个或多个已编码的视频序列;在相同的或另一实施例中,一次接收一个已编码的视频序列,其中每一已编码的视频序列的解码独立于其它已编码的视频序列。已编码的视频序列可从信道(401)接收,所述信道可以是链接到存储已编码视频序列的存储装置的硬件/软件链路。接收器(431)可接收所述已编码视频数据及其它数据,例如,已编码的音频数据和/或辅助数据流,这些数据可转发到其相应的使用实体(未图示)。接收器(431)可将已编码的视频序列与其它数据分离。为了对抗网络抖动,缓冲存储器(415)可耦合在接收器(431)与熵解码器/解析器(420)(此后为“解析器(420)”)之间。在某些应用中,缓冲存储器(415)是视频解码器(410)的一部分。在其它应用中,缓冲存储器(415)可设置在视频解码器(410)外部(未图示)。在另一些应用中,缓冲存储器(未图示)可设置于视频解码器(410)外部,例如,用以对抗网络抖动,此外,可在视频解码器(410)内部设置另一缓冲存储器(415),例如,用以控制播出时间。当接收器(431)从具有足够带宽和可控性的存储/转发装置或从同步网络接收数据时,可能不需要缓冲存储器(415),或可将缓冲存储器(415)设置得较小。为了能够在尽力而为分组网络(besteffort packet network),例如因特网,上使用,可能仍需要使用缓冲存储器(415),缓冲存储器(415)可相对较大且可有利地具有自适应大小,且可至少部分地实施于操作***或在视频解码器(410)外部的类似元件(未图示)中。
视频解码器(410)可包含解析器(420)以从已编码的视频序列重构符号(symbol)(421)。该些符号的分类包含用于管理视频解码器(410)的操作的信息,且可能包含用以控制例如再现装置(412)(例如,显示器屏幕)的再现装置的信息,所述再现装置不是电子装置(430)的组成部分,但可耦合到电子装置(430),如图4中所示。用于再现装置的控制信息可呈现为补充增强信息(Supplemental Enhancement Information,SEI消息)或视频可用信息(Video Usability Information,VUI)参数集分段(未图示)的形式。解析器(420)可对所接收的已编码的视频序列进行解析/熵解码。已编码的视频序列的编码可根据视频编码技术或标准,且可遵循各种原理,包含可变长度编码、霍夫曼编码、具有或不具有上下文灵敏度的算术编码等等。解析器(420)可基于对应于群组的至少一个参数,从已编码的视频序列提取用于视频解码器中的像素的子群组中的至少一个的子群组参数的集合。子群组可包含图片群组(Groups of Pictures,GOP)、图片、平铺(tiles)、切片、宏块、编码单元(CodingUnit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。解析器(420)还可从已编码的视频序列提取信息,例如变换系数、量化器参数值、运动向量等等。
解析器(420)可对从缓冲存储器(415)接收的视频序列执行熵解码/解析操作,以便创建符号(421)。
符号(421)的重构可涉及多个不同单元,该些单元依赖于已编码的视频图片或其部分(例如:帧间及帧内图片、帧间及帧内块)的类型以及其它因素。涉及哪些单元及涉及方式可由解析器(420)从已编码的视频序列解析的子群组控制信息控制。为简明起见,未描述解析器(420)与下文的多个单元之间的此类子群组控制信息流。
除已经提及的功能块以外,视频解码器(410)还可在概念上细分成如下文所描述的数个功能单元。在商业约束下的实际实施操作中,这些单元彼此紧密地交互,且可至少部分地彼此集成。然而,出于描述本申请所公开的主题的目的,概念上细分成下文的功能单元是适当的。
第一单元是缩放器/逆变换单元(451)。缩放器/逆变换单元(451)从解析器(420)接收经过量化的变换系数以及控制信息并将其作为符号(421),所述控制信息包含所使用的变换、块大小、量化因子以及量化缩放矩阵等。缩放器/逆变换单元(451)可输出包括样本值的块,所述块可输入到聚合器(455)中。
在一些状况下,缩放器/逆变换单元(451)的输出样本可以属于已经过帧内编码的块;即:不使用来自先前重构的图片的预测信息,但可使用来自当前图片的先前重构部分的预测信息的块。此类预测信息可由帧内图片预测单元(452)提供。在一些状况下,在使用从当前图片缓冲器(458)获取的周围已经重构的信息的情况下,帧内图片预测单元(452)产生与正在重构的块大小和形状相同的块。举例来说,当前图片缓冲器(458)对部分重构的当前图片和/或完全重构的当前图片进行缓冲。在一些状况下,聚合器(455)针对每个样本,将帧内预测单元(452)已产生的预测信息添加到由缩放器/逆变换单元(451)提供的输出样本信息中。
在另外一些情况下,缩放器/逆变换单元(451)的输出样本可以属于已经过帧间编码的运动补偿块。在此状况下,运动补偿预测单元(453)可访问参考图片存储器(457)以获取用于预测的样本。在根据涉及块的符号(421)对获取的样本进行运动补偿之后,这些样本可由聚合器(455)添加到缩放器/逆变换单元(451)的输出(在此状况下被称作残差样本或残差信号),以便产生输出样本信息。参考图片存储器(457)内用于供运动补偿预测单元(453)从中获取预测样本的地址,可由运动向量控制,运动补偿预测单元(453)可以具有例如X、Y及参考图片分量的符号(421)的形式获得运动向量。运动补偿还可包含当使用子样本精确运动向量时,从参考图片存储器(457)获取的样本值的内插、运动向量预测机制等等。
聚合器(455)的输出样本可经由环路滤波器单元(456)中的各种环路滤波技术获得。视频压缩技术可包含环路内滤波技术,所述环路内滤波技术受参数控制,所述参数在已编码的视频序列(也被称作已编码的视频位流)中且可以作为来自解析器(420)的符号(421)而用于环路滤波器单元(456),而且所述视频压缩技术还可对应在对已编码的图片或已编码的视频序列的先前(按解码次序)部分进行解码期间获得的元信息,以及对应先前重构且环路滤波的样本值。
环路滤波器单元(456)的输出可以是样本流,所述样本流可输出到再现装置(412)以及存储在参考图片存储器(457)中,以用于未来帧间图片预测。
某些已编码的图片一旦被完全重构,即可用作参考图片以供未来预测。举例来说,一旦对应于当前图片的已编码的图片被完全重构,且已编码的图片已经被识别为参考图片(例如通过解析器(420)识别),则当前图片缓冲器(458)可变为参考图片存储器(457)的一部分,且可在开始重构以下已编码的图片之前重新部署新的当前图片缓冲器。
视频解码器(410)可根据例如ITU-T Rec.H.265的标准中的预定视频压缩技术执行解码操作。在某种意义上,当所述已编码的视频序列遵守视频压缩技术或标准的语法,且作为视频压缩技术或标准中的文档的配置文件时,则所述已编码的视频序列符合所使用的视频压缩技术或标准指定的语法。具体来说,配置文件可从适用于视频压缩技术或标准的所有工具中选择某些工具作为可供所述配置文件使用的唯一工具。对于符合性,还必需满足的是,已编码的视频序列的复杂性在视频压缩技术或标准的级别所定义的界限内。在一些状况下,级别限制最大图片大小、最大帧率、最大重构采样率(例如以兆/秒为单位的采样率进行测量)、最大参考图片大小等等。在一些状况下,由级别设定的限制可通过假设参考解码器(Hypothetical Reference Decoder,HRD)规范和用于在已编码的视频序列中发信号通知的HRD缓冲器管理的元数据来进一步定义。
在一实施例中,接收器(431)可一并接收所述已编码视频数据及其额外(冗余)数据。所述额外数据可作为已编码的视频序列的一部分。额外数据可由视频解码器(410)使用,以对数据进行适当解码和/或较准确地重构原始视频数据。额外数据可呈例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等等的形式。
图5展示根据本申请的实施例的视频编码器(503)的框图。视频编码器(503)包含在电子装置(520)中,电子装置(520)包含传输器(540)(例如,传输电路)。视频编码器(503)可用于代替图3的实施例中的视频编码器(303)。
视频编码器(503)可从视频源设备(501)(不是图5的实施例中的电子装置(520)的一部分)接收视频样本,所述视频源设备可获取待由视频编码器(503)编码的视频图像。在另一实施例中,视频源设备(501)可以是电子装置(520)的一部分。
视频源设备(501)可提供待由视频编码器(503)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601Y CrCB、RGB……)和任何合适采样结构(例如Y CrCb 4:2:0、YCrCb 4:4:4)。在媒体服务***中,视频源设备(501)可以是存储先前已准备的视频的存储装置。在视频会议***中,视频源设备(501)可以是获取本地图像信息作为视频序列的照相机。视频数据可作为按顺序检视时赋予运动的多个个别图片来提供。图片自身可被组织为空间像素阵列,使用时,其中每一像素可包括一个或多个样本,该样本依赖于采样结构、色彩空间等。所属领域的技术人员可容易地理解像素与样本之间的关系。以下描述集中在样本上。
根据一实施例,视频编码器(503)可实时或在由应用所要求的任何其它时间约束下对源视频序列的图片进行编码且将其压缩成已编码的视频序列(543)。施行适当的编码速度是控制器(550)的一个功能。在一些实施例中,控制器(550)控制如下文所描述的其它功能单元且在功能上耦合到其它功能单元。为了清晰起见,未图示耦合。由控制器(550)设定的参数可包含关于速率控制的参数(图片跳转、量化器、速率失真优化技术的λ值……)、图片大小、图片群组(group of picture,GOP)布局、最大运动向量搜索范围等等。控制器(550)可用于具有其它合适的功能,所述功能属于针对某一***设计优化的视频编码器(503)。
在一些实施例中,视频编码器(503)用于在编码环路中操作。过度简化地描述,在一实施例中,编码环路可包含源编码器(530)(例如,负责基于待编码的输入图片和参考图片创建符号,例如符号流)和嵌入于视频编码器(503)中的(本地)解码器(533)。解码器(533)以类似于(远程)解码器也将进行创建的方式重构符号以创建样本数据(因为在本申请所公开的主题所考虑的视频压缩技术中,符号与已编码的视频位流之间的任何压缩是无损的)。重构的样本流(样本数据)输入到参考图片存储器(534)。因为符号流的解码导致与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(534)中的内容在本地编码器与远程编码器之间也是位精确的。换句话说,编码器的预测部分将与解码器在解码期间使用预测时所“看到”的完全相同的样本值“视为”参考图片样本。在一些相关领域中,也使用参考图片同步性的此基本原理(及如果例如由于信道误差无法维持同步性而产生的漂移)。
“本地”解码器(533)的操作可与例如视频解码器(410)的“远程”解码器的操作相同,在上文中,已结合图4对所述视频解码器进行详细地描述。然而,同样地参考图4,因为该些符号是可用的,且熵编码器(545)和解析器(420)将该些符号编码/解码成编解码过的视频序列的过程可以是无损的,因此,包含缓冲存储器(415)和解析器(420)的视频解码器(410)的熵解码部分,可以不完全实施于本地解码器(533)中。
由这点可知,除分析/熵解码之外的任何解码器技术,也必需以基本相同的功能形式存在于对应编码器中。出于此原因,本申请所公开的主题集中于解码器操作。编码器技术的描述可简化,因为其为全面描述的解码器技术的相反操作。仅当在某些特定区域中需要更详细描述时,才会在下文中提供说明。
在操作期间,在一些实施例中,源编码器(530)可执行运动补偿预测性编码,其参考来自视频序列的被指定为“参考图片”的一个或多个先前已编码的图片对输入图片进行预测性编码。以此方式,编码引擎(532)对输入图片的像素块与参考图片的像素块之间的差异进行编码,所述参考图片可被选择作为输入图片的预测参考。
本地视频解码器(533)可基于由源编码器(530)创建的符号对图片的已编码的视频数据进行解码,所述图片可被指定为参考图片。编码引擎(532)的操作的优势在于,这些操作是有损过程。当可在视频解码器(图5中未展示)处对已编码的视频数据进行解码时,重构的视频序列通常可以是具有一些误差的源视频序列的复制品。本地视频解码器(533)复制可由视频解码器对参考图片执行的解码过程,且可使重构的参考图片存储在参考图片高速缓冲存储器(534)中。以此方式,视频编码器(503)可在本地存储重构的参考图片的副本,其与将由远端视频解码器获得的重构的参考图片具有共用的内容(不存在传输误差)。
预测器(535)可为编码引擎(532)执行预测搜索。即,对于新的待编码图片,预测器(535)可在参考图片存储器(534)中搜索样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动向量、块形状等等,其可充当新图片的适当预测参考。预测器(535)可以对样本像素块逐个进行操作以找到适当的预测参考。在一些状况下,如由预测器(535)获得的搜索结果所确定,输入图片可具有从参考图片存储器(534)中存储的多个参考图片取得的预测参考。
控制器(550)可管理源编码器(530)的编码操作,包含例如设定用于对视频数据进行编码的参数和子群组参数。
所有前述功能单元的输出可经由熵编码器(545)中的熵编码而获得。熵编码器(545)通过根据所属领域的技术人员已知的技术(例如霍夫曼编码、可变长度编码、算术编码等等)对符号进行无损压缩而将由各种功能单元产生的符号转译成已编码的视频序列。
传输器(540)可对由熵编码器(545)创建的已编码的视频序列进行缓冲,以准备通过通信信道(560)传输,所述通信信道可以是链接到存储装置的硬件/软件链路,所述存储装置存储已编码的视频数据。传输器(540)可合并来自视频编码器(503)的已编码的视频数据与其它待传输的数据,例如已编码的音频数据和/或辅助数据流(未展示的源)。
控制器(550)可管理视频编码器(503)的操作。在编码期间,控制器(550)可将某一已编码的图片类型指派到每一已编码的图片,这可能会影响可应用于相应的图片的编码技术。举例来说,图片常常可被指派为以下图片类型中的一个:
帧内图片(I图片)可以是可在不使用序列中的任何其它图片作为预测源的情况下进行编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包含例如独立解码器刷新(“IDR”)图片。所属领域的技术人员了解I图片的那些变体和其相应的应用和特征。
预测图片(P图片)可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动向量和参考索引来预测每一块的样本值。
双向预测图片(B图片)可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动向量和参考索引来预测每一块的样本值。类似地,多个预测图片可使用多于两个参考图片和相关联元数据,以用于重构单一块。
源图片通常可在空间上细分成多个样本块(例如每一样本为4×4、8×8、4×8、或16×16的块)且逐块地进行编码。块可参考其它(已编码的)块来进行预测性编码,所述其它(已编码的)块通过应用于块的相应图片的编码指派来确定。举例来说,I图片的块可进行非预测性编码,或其可参考同一图片的已编码的块进行预测性编码(空间预测或帧内预测)。P图片的像素块可通过空间预测或通过时间预测参考一个先前已编码的参考图片进行预测性编码。B图片的块可通过空间预测或通过时间预测参考一个或两个先前已编码的参考图片进行预测性编码。
视频编码器(503)可根据例如ITU-T Rec.H.265的预定视频编码技术或标准执行编码操作。在其操作中,视频编码器(503)可执行各种压缩操作,包含利用输入视频序列中的时间和空间冗余的预测性编码操作。因此,已编码的视频数据可符合由所使用的视频编码技术或标准指定的语法。
在一实施例中,传输器(540)可传输具有已编码的视频的额外数据。源编码器(530)可包含此类数据作为已编码的视频序列的一部分。额外数据可包括时间/空间/SNR增强层、例如冗余图片和切片的其它形式的冗余数据、补充增强信息(SupplementaryEnhancement Information,SEI)消息、视觉可用性信息(Visual Usability Information,VUI)参数集分段等等。
视频可被获取作为时间序列中的多个源图片(视频图片)。帧内图片预测(常常简化成帧内预测)利用给定图片中的空间相关性,且帧间图片预测利用图片之间的(时间或其它)相关性。在一实施例中,正在编码/解码的被称作当前图片的特定图片被分割成块。在当前图片中的块类似于视频中的先前已编码且仍被缓冲的参考图片中的参考块时,当前图片中的块可通过被称作运动向量的向量进行编码。在使用多个参考图片的状况下,运动向量指向参考图片中的参考块,且可具有识别参考图片的第三维度。
在一些实施例中,双向预测技术可用于帧间图片预测中。根据双向预测技术,使用两个参考图片,例如第一和第二参考图片,按解码次序,其都在视频中的当前图片之前(但按显示次序可以分别是当前图片的过去和将来)。当前图片中的块可通过指向第一参考图片中的第一参考块的第一运动向量和指向第二参考图片中的第二参考块的第二运动向量进行编码。所述块可通过第一参考块和第二参考块的组合来预测。
此外,合并模式技术可用于帧间图片预测中,以改善编码效率。
根据本申请的一些实施例,例如帧间图片预测和帧内图片预测的预测,以块为单位执行。举例来说,根据HEVC标准,视频图片序列中的图片被分割成编码树单元(codingtree unit,CTU)以用于压缩,图片中的CTU具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,CTU包含三个编码树块(coding tree block,CTB),三个编码树块中的一个是亮度CTB且其中两个是色度CTB。每一CTU可进一步基于四叉树分成一个或多个编码单元(coding unit,CU)。举例来说,64×64像素的CTU可分成64×64像素的一个CU,或32×32像素的4个CU,或16×16像素的16个CU。在一实施例中,分析每一CU以确定CU的预测类型,例如帧间预测类型或帧内预测类型。CU基于时间和/或空间可预测性分成一个或多个预测单元(prediction unit,PU)。通常,每一PU包含一亮度预测块(luma prediction block,PB)和两个色度PB。在一实施例中,编解码(包括编码/解码)中的预测操作以预测块为单位来执行。在使用亮度预测块作为预测块的实施例的情况下,预测块包含像素值(例如,亮度值)的矩阵,所述像素例如8×8像素、16×16像素、8×16像素、16×8像素等等。
图6展示根据本申请的另一实施例的视频编码器(603)的示意图。视频编码器(603)用于接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),且将处理块编码成已编码的图片,所述已编码的图片为已编码的视频序列的一部分。在一实施例中,视频编码器(603)用于代替图3的实施例中的视频编码器(303)。
在一HEVC实施例中,视频编码器(603)接收用于例如8×8样本的预测块等等的处理块的样本值的矩阵。视频编码器(603)确定处理块是使用帧内模式、帧间模式还是使用例如速率失真优化的双向预测模式进行最佳编码。当处理块将在帧内模式中进行编码时,视频编码器(603)可使用帧内预测技术以将处理块编码成已编码的图片;且当处理块将在帧间模式或双向预测模式中进行编码时,视频编码器(603)可分别使用帧间预测或双向预测技术以将处理块编码成已编码的图片。在某些视频编码技术中,合并模式可以是帧间图片预测方法,其中运动向量从一个或多个运动向量预测值提取且无预测值之外的已编码的运动向量分量的益处。在某些其它视频编码技术中,可存在适用于主题块的运动向量分量。在一实施例中,视频编码器(603)包含其它组件,例如模式决策模块(未展示),其用以确定处理块的模式。
在图6的实施例中,视频编码器(603)包含帧间编码器(630)、帧内编码器(622)、残差计算器(623)、开关(626)、残差编码器(624)、通用控制器(621)和熵编码器(625),其如图6中所展示耦合在一起。
帧间编码器(630)用于:接收当前块(例如,处理块)的样本;比较块与参考图片中的一个或多个参考块(例如,先前图片和稍后图片中的块);产生帧间预测信息(例如,根据帧间编码技术、运动向量、合并模式信息对冗余信息的描述);且基于帧间预测信息使用任何合适的技术计算帧间预测结果(例如,经过预测的块)。在一些实施例中,参考图片是已解码的参考图片,所述已解码的参考图片基于已编码的视频信息进行解码。
帧内编码器(622)用于:接收当前块(例如,处理块)的样本;在一些状况下比较块与在同一图片中已编码的块;在变换之后产生经过量化的系数;且在一些状况下也产生帧内预测信息(例如,根据一个或多个帧内编码技术的帧内预测方向信息)。在一实施例中,帧内解码器(622)也基于帧内预测信息和同一图片中的参考块计算帧内预测结果(例如,经过预测的块)。
通用控制器(621)用于确定通用控制数据且基于所述通用控制数据控制视频编码器(603)的其它组件。在一实施例中,通用控制器(621)确定块的模式,且基于所述模式将控制信号提供到开关(626)。举例来说,当所述模式是帧内模式时,通用控制器(621)控制开关(626)以选择供残差计算器(623)使用的帧内模式结果,且控制熵编码器(625)以选择帧内预测信息且将所述帧内预测信息包含在位流中;且当所述模式是帧间模式时,通用控制器(621)控制开关(626)以选择供残差计算器(623)使用的帧间预测结果,且控制熵编码器(625)以选择帧间预测信息且将所述帧间预测信息包含在位流中。
残差计算器(623)用于计算所接收的块与选自帧内编码器(622)或帧间编码器(630)的预测结果之间的差异(残差数据)。残差编码器(624)用于基于残差数据操作以对残差数据进行编码以产生变换系数。在一实施例中,残差编码器(624)用于在频域中转换残差数据,且产生变换系数。变换系数接着经受量化处理以获得经过量化的变换系数。在各种实施例中,视频编码器(603)还包含残差解码器(628)。残差解码器(628)用于执行逆变换,且产生经过解码的残差数据。经过解码的残差数据可适当地由帧内编码器(622)和帧间编码器(630)使用。举例来说,帧间编码器(630)可基于已解码的残差数据和帧间预测信息产生已解码的块,且帧内编码器(622)可基于已解码的残差数据和帧内预测信息产生已解码的块。已解码的块经过适当处理以产生已解码的图片,且已解码的图片可在存储器电路(未展示)中被缓冲且在一些实施例中用作参考图片。
熵编码器(625)用于对位流进行格式化以包含已编码的块。熵编码器(625)根据例如HEVC标准的合适标准用于包含各种信息。在一实施例中,熵编码器(625)用于包含通用控制数据、选定预测信息(例如,帧内预测信息或帧间预测信息)、残差信息和位流中的其它合适的信息。应注意,根据本申请所公开的主题,当在合并模式中对块进行编码时,不存在残差信息。
图7展示根据本申请的另一实施例的视频解码器(710)的图。视频解码器(710)用于接收已编码视频序列的一部分已编码图片,且对已编码的图片进行解码以产生重构的图片。在一实施例中,视频解码器(710)用于代替图3的实施例中的视频解码器(310)。
在图7的实施例中,视频解码器(710)包含熵解码器(771)、帧间解码器(780)、残差解码器(773)、重构模块(774)和帧内解码器(772),其如图7中所展示耦合在一起。
熵解码器(771)可用于从已编码的图片重构表示语法要素的某些符号,已编码的图片由所述语法要素构成。举例来说,此类符号可包括如下信息:含已编码块的模式(例如帧内模式、帧间模式、b-预测模式)、可识别某些样本或元数据的预测信息(例如帧内预测信息或帧间预测信息),、以及呈例如经过量化的变换系数等等形式的残差信息。其中,所述某些样本或元数据用于分别由帧内解码器(772)或帧间解码器(780)进行预测。在一实施例中,当预测模式是帧间或双向预测模式时,帧间预测信息被提供到帧间解码器(780)。在另一实施例中,当预测类型是帧内预测类型时,帧内预测信息被提供到帧内解码器(772)。残差信息可经逆量化且被提供到残差解码器(773)。
帧间解码器(780)用于接收帧间预测信息,且基于帧间预测信息产生帧间预测结果。
帧内解码器(772)用于接收帧内预测信息,且基于帧内预测信息产生预测结果。
残差解码器(773)用于执行逆量化以提取经过解量化的变换系数,且处理经过解量化的变换系数以将残差从频域转换到空间域。残差解码器(773)还可能需要某些控制信息(以包含量化器参数QP),且所述信息可由熵解码器(771)提供(未图示数据路径,因为其可能仅仅是低量控制信息)。
重构模块(774)用于在空间域中组合由残差解码器(773)输出的残差与预测结果(视具体情况由帧间或帧内预测模块输出)以形成重构的块,所述重构的块可以是重构的图片的部分,所述重构的图片又可以是重构的视频的部分。应注意,可执行其它合适的操作,例如解块操作等等,以改善视觉质量。
应注意,视频编码器(303)、(503)和(603)以及视频解码器(310)、(410)和(710)可使用任何合适的技术来实施。在一实施例中,视频编码器(303)、(503)和(603)以及视频解码器(310)、(410)和(710)可使用一个或多个集成电路来实施。在另一实施例中,视频编码器(303)、(503)和(603)以及视频解码器(310)、(410)和(710)可使用执行软件指令的一个或多个处理器来实施。
参考图8,根据本申请的一方面,合并模式可以是运动向量预测方法,其中残差信号不存在于位流中,且对于包含DC系数的所有系数,将所述残差信号假设为零。当使用合并模式对当前块进行解码时,当前块中的像素的位移可从已解码的空间/时间相邻块的运动信息提取。相关技术中,在块级别下执行运动补偿,即,当前块是用于使用相同运动信息预测值执行运动补偿的处理单元。在给定块的大小的情况下,块中的所有像素将使用相同运动信息预测值以形成其预测块。然而,如果块实际上可划分成多于一个区段且每一虚拟块区段具有其自身的运动信息预测值,那么用于整个块的运动信息预测值可以不相同。举例来说,当前块可划分成两半。第一半虚拟块区段使用来自其自身的左上方相邻块的候选项,如同此半个区段是一个自成的独立区块;而第二半虚拟块使用来自其自身的左上方相邻块的候选项,如同此半个区段是一个自成的独立区块。因此,每一区段可具有其自身的不同预测值。编码器和解码器应对每一虚拟块区段假设相同的分段要求和相同的候选项选择条件,使得不需要指令,或发信号通知候选项组合进行选择。在一些实施例中,分段要求可以是大小分段阈值。以下部分将描述若干分段实施例。
在一实施例中,在合并模式下的块可包含较小运动向量单元的阵列。每一运动向量单元被称作子块,其可以是K×L个数量的样本,其中K和L是正整数。举例来说,当K和L为四(K=L=4)时,子块包含4×4个样本,且被称作4×4子块。当前块中的每一4×4子块可具有不同运动向量(或当使用双向预测时的运动向量配对)。在另一实施例中,当K和L是一(K=L=1)时,子块包含1×1样本且被称作1×1子块。因此,当前块中的每一样本可具有不同运动向量(或在使用双向预测的情况下的运动向量配对)。
在一些实施例中,当使用子块级别运动补偿时,建构用于合并模式的候选项列表(850)以包含基于当前块中的子块添加的额外相邻子块的运动信息(例如,候选项(861)、候选项(862)和候选项(863))。在一实施例中,当建构用于合并模式的候选项列表时,将选择空间相邻参考块的运动信息。除了如在HEVC中的左角和右角处的当前块顶部上的外部候选项(例如,图8中的A(0,0)和A(0,N+1))之外,来自顶部候选项位置的某些额外运动信息可在满足某些条件时基于子块(例如,子块的空间特性)而被选择到候选项列表中。举例来说,候选项列表(850)包含额外候选项A(0,2)(861)和A(0,N+M)(863)。类似地,除了如在HEVC中的顶部和底部角处的当前块左边的外部候选项(例如,A(0,0)和L(M+1,0))之外,来自左边候选项位置的某些额外运动信息当满足某些条件时基于子块(例如,子块的空间特性)被选择到候选项列表中。举例来说,候选项列表(850)包含候选项L(2,0)(862)和L(M+N,0)(864)。在以下段落中,公开若干方面以为合并模式选择此类额外候选项。
图8展示当前块(810)和周围相邻子块(820)、(830)和(840)的图,所述周围相邻子块可在合并模式中用作候选项列表的额外空间候选项。在图8的实施例中,周围相邻子块(820)、(830)和(840)是1×1子块。周围相邻子块(820)(A(0,0))是当前块(810)的左上方子块。周围相邻子块(830)(A(0,1)到A(0,N+M),N和M是正整数)是当前块(810)的顶部子块。作为一实施例,子块A(0,2)可作为候选项列表中的候选项***,所述子块例如处于位置(861)。周围相邻子块(840)(L(1,0)到L(M+N,0))是当前块(810)的左边子块。作为一实施例,子块L(2,0)可作为候选项列表中的候选项***,所述子块例如处于位置(862)。
候选项列表中的候选项的次序可对视频编码技术的编码效率具有直接影响,因为当与朝向末端的候选项进行比较时,朝向候选项列表的前部的候选项可由较短码字表示。在一些实施例中,仅在当前块(810)的左边(或顶边)的大小(例如,长度)具有足够且预定的长度时,沿着当前块(810)的左边(或顶边),参考区域中的周围相邻子块(830)和(840)中的较多子块可被选择为候选项且可***在候选项列表(850)(或(870))中,所述子块例如处于位置(861)、(862)、(863)和(864)。参考区域中的将选择位于块的一边上的可能候选项位置的数量可由此边的块大小(例如,长度)确定。作为一实施例,当与相对较短长度的边进行比较时,相对较长长度的边可能在此边具有选定为候选项的较多周围相邻子块。这样做可限制候选项列表的最大长度,从计算复杂性和存储器消耗视角来看,这可具有优势。
分段要求可以是大小分段要求,例如,表示大小的分段阈值。在一个实施例中,长度阈值T被进行定义,使得当块长度W大于沿着当前块(810)的顶(或左)边的长度阈值T时,块将被虚拟划分成例如沿着顶(或左)边的两个较小块区段,所述两个较小块区段具有相等大小。应注意,在本申请所公开的主题的上下文中,块区段在一些实施例中被称作虚拟块区段。
在相同或另一实施例中,对于每一经过划分的块区段,如果块长度仍大于给定阈值T,那么类似划分操作可继续按预定因子(例如两半)将每一块区段划分成均匀的较小块片段,直到在每一块区段中长度不再大于T为止。长度阈值可以是任何整数。具体来说,长度阈值可设定为2的幂次。在一些实施例中,为顶边定义第一长度阈值且为左边定义第二长度阈值。
在特定实施例中,当第一长度阈值T定义为32(例如,以像素为单位)且当前块(810)的顶边的块长度(宽度W)为128(例如,以像素为单位)时,所述块将划分成具有相等大小的左半部和右半部,每一个块区段将具有顶部长度64(例如,以像素为单位)。在此实施例中,在1级水平分割处,在顶部上具有长度128的块划分成2个(虚拟)块区段,每一块区段在顶部上具有长度64(例如,以像素为单位)。在一个可选的方案中,每一个这两个块区段将进一步划分成具有相等大小的左半部和右半部,所述左半部和右半部在顶部上具有块长度32。在此实施例中,执行高达2级的水平分割,使得在顶部上具有长度128的块划分成4个虚拟块区段,每一虚拟块区段在顶部上具有长度32。
应注意,当块的两边足够长(W和H均大于T)时,在一个实施例中,块的两边可被分段;在另一实施例中,仅块的一边可被分段而非两边。如果仅对块的一边进行分段,那么在一个实施例中,块的较长边会被划分。如果当前块是方形,那么在一个实施例中,块的顶边会被划分。
此外,根据本申请的一方面,周围相邻子块(830)和(840)根据与块区段的空间关系而被选择性地添加在候选项列表中。在一些实施例中,对于每一经过划分的块区段,其自身的顶部/左边空间候选项应添加到整个块的候选项列表中。
图9展示基于与块区段的空间关系,例如候选项列表位置(961)、(962)、(963)和(964),将周围相邻子块选择性地***在候选项列表(950)中的实施例。在图9的实施例中,假设当前块(910)的宽度(块长度)W是长度阈值T的两倍。在此实施例中,当前块(910)将划分成两个水平块区段(912)和(915),每一块区段具有长度W/2=T。在一实施例中,周围相邻子块A(0,0)和A(0,N+1)是整个当前块(910)的候选项且添加到候选项列表(950)中(例如,指示周围相邻子块A(0,0)(951)和A(0,N+1)(952)的指示符添加到候选项列表(950)中)。除了候选项A(0,0)和A(0,N+1)之外,其它候选项也可添加到候选项列表中。在一实施例中,A(0,1)和A(0,N/2)被视为左半个块区段(912)的左上方和右上方相邻候选项,且可***到候选项列表中(例如,指示周围相邻子块A(0,1)和A(0,N/2)的指示符添加到候选项列表(950)中,所述指示符例如处于位置(961)和(962))。在另一实施例中,A(0,N/2+1)和A(0,N)被视为经过划分的右半个块区段(915)的左上方和右上方相邻候选项,且可***到候选项列表(950)中(例如,指示周围相邻子块A(0,N/2+1)和A(0,N)的指示符添加到候选项列表(950)中,所述指示符例如处于位置(963)和(964))。
图10展示基于与块区段的空间关系将周围相邻子块选择性地***候选项列表(1050)中的另一实施例。在图10的实施例中,假设当前块(1010)的宽度(块长度)W是长度阈值T的四倍。在仍假设以2的幂进行细分的情况下,当前块(1010)将划分成四个水平块区段(1011)到(1014),每一块区段具有长度W/4=T。在一实施例中,周围相邻子块A(0,0)和A(0,N+1)是整个当前块(1010)的候选项且添加到候选项列表(1050)中(例如,指示周围相邻子块A(0,0)和A(0,N+1)的指示符添加到候选项列表(1050)中并处于位置(1051)和(1052))。除了候选项A(0,0)和A(0,N+1)之外,其它候选项也添加到候选项列表(1050)中。在一实施例中,A(0,N/4)、A(0,N/2)、A(0,3N/4)和A(0,N)***到候选项列表(1050)中并处于位置(1061)、(1062)、(1063)和(1064)。在另一实施例中,A(0,1)、A(0,N/4+1)、A(0,N/2+1)和A(0,3N/4+1)***到候选项列表(1050)中并处于位置(1065)、(1066)、(1067)和(1068)。以上仅仅是顶部参考候选项的论述,作为一实施例,如果块高度高于给定阈值,那么方法适用于当前块的块高度。
应注意,在一实施例中,当顶边/左边的长度短于T时,将不选择额外候选项。
在一些实施例中,块划分成块区段的步骤可根据块的长宽比进行。举例来说,当长宽比是在长宽比范围之外(例如,高于长宽比范围的上限或低于长宽比范围的下限)时,块的较长边划分成例如两半。在一个实施例中,长宽比范围是从1/2到2。在另一实施例中,长宽比范围是从1/4到4。
在以上描述中,当块划分成虚拟块区段时,每一区段可具有其自身的运动向量预测值,因此,此合并模式被称作基于区段的合并模式,而块中的所有像素使用相同运动向量预测值的传统方法被称作基于块的合并模式。是选择基于区段的合并模式还是选择基于块的合并模式,可通过使用解码器侧运动向量提取方法来确定。
在一个实施例中,使用解码器侧运动向量提取方法从较大候选项集区选出若干候选项且接着发信号通知最终所选择的候选项。候选项的选择可通过使用候选项减少技术来执行,稍后将更详细地描述所述候选项减少技术。
在另一实施例中,使用基于区段的合并模式或基于块的合并模式检查若干可能的合并候选项位置的补偿花销。接着,选择花销较低的合并模式,以避免因椭圆形候选项数量增加而发送更多的附加信息。
图11是基于块的合并模式与基于区段的合并模式之间的模板花销比较的示范性示意性说明。如在图11的实施例中所展示,来自当前块(1101)的每一虚拟块区段的左上方角的若干像素(图实施例中为4)用于通过使用整个块的一个运动向量(左手边)或使用每一块区段的一个运动向量(右手边)来评估模板花销。当使用多个运动向量时,邻近当前块的参考像素将与不同参考块的相邻像素进行比较。
如图11的右边所展示,在基于区段的合并模式中,当前块(1101)划分成两半,参考块A(1103)是当前块(1101)的左半个虚拟区段的参考块,而参考块(1104)是当前块(1101)的右半个虚拟区段的参考块。因此,邻近当前块(1101)的左半部分的参考像素(1123)将与邻近参考块A(1103)的对应参考像素(1133)进行比较,如由运动向量A(1113)所指示。而邻近当前块(1101)的右半部分的参考像素(1124)将与邻近参考块B(1104)的对应参考像素(1134)进行比较,如由运动向量B(1114)所指示。
此外,如图11的左边所展示,在基于块的合并模式中,邻近当前块(1101)的右半部分的参考像素(1122)将与邻近参考块B(1102)的对应参考像素(1132)进行比较,如由运动向量(1112)所指示。接着,可执行基于区段的合并模式与基于块的合并模式之间的模板花销比较,且接着将选择花销较低的合并模式。
在一个实施例中,模板花销比较可以是为了选择运动向量(1112)、运动向量A(1113)和运动向量B(1114)当中花销最低的运动向量。如果运动向量(1112)的花销在三个运动向量当中最低,那么将选择基于块的合并模式;然而,如果运动向量A(1113)的花销或运动向量B(1114)的花销在三个运动向量当中最低,那么将选择基于区段的合并模式。也就是说,当所选择的运动向量预测值属于当前块时,选择基于块的合并模式;当所选择的运动向量预测值属于虚拟块区段时,选择基于区段的合并模式。
在其它实施例中,运动向量A(1113)的模板花销与运动向量B(1114)的模板花销之间的各种权重组合可首先被采用,且被称作基于区段的合并模式的模板花销。接着,基于区段的合并模式的模板花销可与基于块的合并模式的模板花销进行比较,且将选择花销较低的合并模式。
应注意,可选择不同数量的参考像素(例如8个像素而非4个)以及不同位置(例如当前块区段的左上方拐角和右上方拐角均加以考虑而非仅使用左上角)的参考像素,以供评估。
在另一方面,本申请还为虚拟块区段提供一些特殊的合并模式。
在一个实施例中,竖直合并模式被定义为,当前块划分成若干水平地并列的区段(从左到右并列),每一区段将选择其自身的顶部相邻区段的运动信息作为预测值。所有区段的顶部相邻区段的定义是相同的,因此选择不需要附加的索引。举例来说,如果图8的实施例中的当前块(810)在竖直合并模式中被分段,那么为每一区段定义左上方像素的顶部位置A(0,1)。
在另一实施例中,水平合并模式被定义为,当前块划分成若干竖直地并列的区段(从上到下并列),每一区段将选择其自身的左边相邻区段的运动信息作为预测值。所有区段的左边相邻区段的定义是相同的,因此选择不需要附加的索引。举例来说,如果图8的实施例中的当前块(810)在水平合并模式中被分段,那么为每一区段定义左上方像素的左边位置L(1,0)。
应注意,在所有以上实施例中,列表中的候选项的次序可改变。
在又一方面,本申请还提供用于减少合并候选项列表的技术。
在一个实施例中,为解码器侧运动向量提取方法设定参考花销。在一个实施例中,最可能的运动向量,例如零运动向量,或左上方子块的运动向量的花销被视为参考花销。在另一实施例中,可在切片标头中提供信号以标识参考花销。对不同的合并候选项,执行解码器侧运动向量提取方法,使得合并候选项的花销与参考花销进行比较。接着,确定合并候选项的花销与参考花销之间的差是否高于花销阈值。如果确定合并候选项的花销与参考花销之间的差高于花销阈值,那么合并候选项将不包含在最终的合并候选项列表中。
在另一实施例中,来自基于块的合并模式和基于区段的合并模式的候选项可由解码器接收作为配对。在解码器侧,在分析合并索引之后,选择一对此类候选项。接着,解码器侧运动向量提取方法可用于选择两个候选项中的较好的一个,且将较好的候选项设定为最终预测值。
图12展示根据本申请的实施例的概述过程(1200)的流程图。所述过程(1200)可用于重构在帧间预测和合并模式中编码的块,从而为正在重构的块产生预测块。在过程(1200)期间,可产生候选项列表,所述候选项列表具有基于块的某些特性添加的候选项,所述特性包含例如大小特性。在各种实施例中,过程(1200)由以下处理电路执行,例如:终端装置(210)、(220)、(230)和(240)中的处理电路、执行视频编码器(303)的功能的处理电路、执行视频解码器(310)的功能的处理电路、执行视频解码器(410)的功能的处理电路、执行运动补偿预测模块(453)的功能的处理电路、执行视频编码器(503)的功能的处理电路、执行预测器(535)的功能的处理电路、执行帧间编码器(630)的功能的处理电路、执行帧间解码器(780)的功能的处理电路等等。在一些实施例中,过程(1200)用软件指令实施,因此当处理电路执行软件指令时,处理电路执行过程(1200)。
过程在(S1201)处开始且进行到(S1210)。在(S1210)处,过程(1200)对当前已编码的图片中的块的进行预测信息解码,所述当前已编码的图片为已编码的视频序列的一部分。举例来说,处理电路对预测信息进行解码,且确定预测信息指示合并模式。在对预测信息进行解码之后,过程(1200)进行到(S1220)。
在(S1220)处,过程(1200)建构包含第一候选项的候选项列表,所述第一候选项是块的角相邻候选项。在一实施例中,处理电路建构起初包含第一候选项的候选项列表,所述第一候选项是块的角相邻候选项。在一些实施例中,角相邻候选项是块的拐角的相邻候选项,例如图8的实施例中的A(0,0)、L(M+1,0)、A(0,N+1)、L(M,0)和A(0,N)。在以下步骤中,处理电路将基于块的某些特性,例如大小特性,***为边相邻候选项的一个或多个第二候选项。在一些实施例中,边相邻候选项是块的顶边或左边的相邻候选项,例如图8的实施例中的A(0,1)到A(0,N-1)、A(0,N+2)到A(0,N+M)、L(1,0)到L(M-1,0)和L(M+2,0)到L(M+N)。在建构候选项列表之后,过程(1200)进行到(S1230)。
在(S1230)处,过程(1200)确定块的不同部分是否具有不同运动向量预测值。在一些实施例中,为了确定块的不同部分是否具有不同运动向量预测值,处理电路确定块是否符合分段要求。当确定块符合分段要求时,处理电路将块分段成虚拟块区段,使得每一虚拟块区段具有至少一个运动向量预测值。接着处理电路将每一虚拟块区段的至少一个运动向量预测值与块的运动向量预测值进行比较以在基于块的合并模式或基于区段的合并模式之间选择合并模式。基于块的合并模式对于块的所有像素使用相同运动向量预测值。基于区段的合并模式将不同运动向量预测值指派到块的不同部分。当确定块的不同部分具有不同运动向量预测值时,过程(1200)进行到(S1240);否则,过程(1200)进行到(S1250)。
在(S1240)处,过程(1200)将在本文中被称作第二候选项的每一虚拟块区段的至少一个运动向量***到合并候选项列表中。在一个实施例中,第二候选项与块的角相邻候选项具有相同行号或相同列号。在另一实施例中,第二候选项是块的顶边相邻候选项或左边相邻候选项。在第二候选项***到合并候选项列表中之后,过程进行到(S1250)。
在(S1250)处,过程(1200)基于候选项列表中的运动向量预测值对块进行重构。接着过程(1200)进行到(S1299)并结束。
图13展示根据本申请的一些实施例的概述过程(1300)的流程图。过程(1300)可用于重构在帧间模式和合并模式中编码的块,从而为正在重构的块产生预测块。在过程(1300)期间,可产生候选项列表,所述候选项列表具有基于块的某些特性添加的候选项,所述特性包含例如大小特性。在各种实施例中,过程(1300)由以下处理电路执行,例如:终端装置(210)、(220)、(230)和(240)中的处理电路、执行视频编码器(303)的功能的处理电路、执行视频解码器(310)的功能的处理电路、执行视频解码器(410)的功能的处理电路、执行运动补偿预测模块(453)的功能的处理电路、执行视频编码器(503)的功能的处理电路、执行预测器(535)的功能的处理电路、执行帧间编码器(630)的功能的处理电路、执行帧间解码器(780)的功能的处理电路等等。在一些实施例中,过程(1300)用软件指令实施,因此当处理电路执行软件指令时,处理电路执行过程(1300)。
所述过程在(S1301)处开始且进行到(S1310)。在(S1310)处,过程(1300)对当前已编码的图片中的块的进行预测信息解码,所述当前已编码的图片为已编码的视频序列的一部分。举例来说,处理电路对预测信息进行解码,且确定预测信息指示合并模式。在对预测信息进行解码之后,过程(1300)进行到(S1320)。
在(S1320)处,过程(1300)建构包含第一候选项的候选项列表,所述第一候选项是块的角相邻候选项。在一实施例中,处理电路建构起初包含第一候选项的候选项列表,所述第一候选项是块的角相邻候选项。在一些实施例中,角相邻候选项是块的拐角的相邻候选项,例如图8的实施例中的A(0,0)、L(M+1,0)、A(0,N+1)、L(M,0)和A(0,N)。在以下步骤中,处理电路将基于块的某些特性,例如大小特性,***为边相邻候选项的一个或多个第二候选项。在一些实施例中,边相邻候选项是块的顶边或左边的相邻候选项,例如图8的实施例中的A(0,1)到A(0,N-1)、A(0,N+2)到A(0,N+M)、L(1,0)到L(M-1,0)和L(M+2,0)到L(M+N)。在建构候选项列表之后,过程(1300)进行到(S1330)。
在(S1330)处,过程确定块是否符合分段要求。在一些实施例中,分段要求可以是大小分段阈值。在一个实施例中,处理电路可确定宽度(例如,块中的像素的列数)或高度(例如,块中的像素的行数)是否大于大小分段阈值。当块符合分段要求时,过程(1300)进行到(S1340);否则,过程(1300)进行到(S1390)。
在(S1340)处,过程将块划分成虚拟块区段,使得每一虚拟块区段具有至少一个运动向量预测值。块的不同部分具有不同运动向量预测值的合并模式被称作基于区段的合并模式。产生于基于区段的合并模式中的额外一个或多个候选项被称作第二合并候选项。在一个实施例中,每一个第二合并候选项与如参考图9和图10所描述的块的角相邻候选项具有相同行号或相同列号。在另一实施例中,每一个第二合并候选项是块的顶边相邻候选项或左边相邻候选项。此外,块的所有像素使用相同运动向量的合并模式被称作基于块的合并模式。在基于区段的合并模式中,可任选地将块进一步划分成两半,直到不再满足分段要求为止。在产生虚拟块区段之后,过程(1300)进行到(S1350)。
在(S1350)处,过程(1300)确定基于区段的合并模式是否优于基于块的合并模式。在一个实施例中,处理电路可确定基于块的合并模式的花销是否高于基于区段的合并模式的花销,例如如参考图11所描述。当确定基于块的合并模式的花销高于基于区段的合并模式的花销时,过程进行到(S1360);否则,过程进行到(S1390)。
在(S1360)处,过程(1300)将第二合并候选项***到合并候选项列表中。第二合并候选项基于虚拟块区段产生。在第二合并候选项***在合并候选项列表中之后,过程(1300)进行到(S1370)。
在(S1370)处,过程(1300)减少合并候选项列表中的合并候选项的数量。合并候选项列表中具有高花销的冗余候选项可基于解码器侧运动向量提取方法被排除。应注意,在一些实施例中可跳过此步骤。接着过程(1300)进行到(S1380)。
在(S1380)处,过程(1300)根据包含第一候选项和第二候选项的合并候选项列表重构块。接着过程(1300)进行到(S1399)并结束。
在一些实施例中,过程(1300)进行到(S1390)。在(S1390)处,过程(1300)基于合并候选项列表中的第一候选项重构块。接着过程(1300)进行到(S1399)并结束。
在一个实施例中,可跳过(S1350)且过程(1300)可在(S1340)结束之后直接进行到(S1360)。在此状况下,不执行基于块的合并模式与基于区段的合并模式之间的比较。在一个实施例中,使用解码器侧运动向量提取方法从候选项列表选择若干候选项,且接着发信号通知最终所选择的候选项。在另一实施例中,解码器可成对接收基于块的合并模式和基于区段的合并模式的候选项,且解码器可选择一对此类候选项且使用解码器侧运动向量提取方法以选择最终预测值。
在相同或另一实施例中,可跳过(S1370)且过程(1300)可在(1360)结束之后直接进行到(S1380)。在此状况下,不需要候选项列表减少。在一个实施例中,可根据合并索引从较大候选项列表选择最终预测值。接着,可基于选定的最终预测值重构块。
上文所描述的技术可使用计算机可读指令实施为计算机软件且以物理方式存储在一个或多个计算机可读媒体中。举例来说,图14展示适于实施本申请所公开主题的某些实施例的计算机***(1400)。
计算机软件可使用任何合适机器代码或计算机语言来进行编码,所述机器代码或计算机语言可经过汇编、编译、链接或相似机制以创建包括指令的代码,所述指令可由一个或多个计算机中央处理单元(central processing unit,CPU)、图形处理单元(GraphicsProcessing Unit,GPU)等等直接执行,或通过解译、微代码执行等等来执行。
所述指令可在各种类型的计算机或其组件上执行,所述各种类型的计算机或其组件包含例如个人电脑、平板电脑、服务器、智能电话、游戏装置、物联网装置等等。
用于计算机***(1400)的图14中所展示的组件在本质上为示范性的且并非旨在表明关于计算机软件的使用或功能性的范围的任何限制性。组件的配置也不应解释为关于计算机***(1400)的示范性实施例中所说明的组件中的任一个或组合具有任何依赖性或要求。
计算机***(1400)可包含某些人机接口输入装置。此人机接口输入装置可对应一个或多个人类用户通过例如触觉输入(例如:按键、滑动、数据手套移动)、音频输入(例如:话音、鼓掌)、视觉输入(例如:手势)、嗅觉输入(未图示)的输入。人机接口装置还可用于获取未必直接关于人的有意识输入的某些媒体,例如音频(例如:语音、音乐、环境声)、图像(例如:扫描图像、从静态图像照相机获得的摄影图像)、视频(例如二维视频、包含立体视频的三维视频)。
输入人机接口装置可包含以下选项中的一个或多个(仅描绘每一个中的一个):键盘(1401)、鼠标(1402)、触控板(1403)、触摸屏(1410)、数据手套(未展示)、游戏杆(1405)、麦克风(1406)、扫描器(1407)和照相机(1408)等。
计算机***(1400)还可包含某些人机接口输出装置。此类人机接口输出装置可通过例如触觉输出、声音、光和气味/味觉刺激一个或多个人类用户的感觉。此类人机接口输出装置可包含触觉输出装置(例如触摸屏(1410)、数据手套(未展示)或游戏杆(1405)的触觉反馈,但还可存在不充当输入装置的触觉反馈装置)、音频输出装置(例如扬声器(1409)、头戴式耳机(未图示))、视觉输出装置(例如屏幕(1410),包含CRT屏幕、LCD屏幕、等离子体屏幕、OLED屏幕,其各自具有或不具有触摸屏输入能力,其各自具有或不具有触觉反馈能力—其中的一些可能够通过例如立体平画输出的方式输出二维视觉输出或大于三维的输出;虚拟现实眼镜(未图示)、全息显示器和烟雾箱(未图示)),和打印机(未图示)。
计算机***(1400)还可包含人类可访问的存储装置和其相关联媒体,例如光学媒体,包含具有CD/DVD的CD/DVD ROM/RW(1420)或相似媒体(1421)、拇指驱动器(1422)、可移动硬盘驱动器或固态驱动器(1423)、旧版磁性媒体,例如磁带和软盘(未图示)、专用的基于ROM/ASIC/PLD的装置,例如安全性硬件保护装置(未图示),等等。
所属领域的技术人员也应理解,结合本发明所公开的主题使用的术语“计算机可读媒体”不涵盖传输媒体、载波或其它瞬时信号。
计算机***(1400)还可包含到一个或多个通信网络的接口。网络可例如是无线的、有线的、光学的。网络可进一步是本地的、广域的、城域的、车载和工业的、实时的、容忍延迟的等等。网络的实施例包含例如以太网的局域网、无线LAN、包含GSM、3G、4G、5G、LTE等等的蜂窝式网络、包含有线电视、***和陆地广播电视的电视有线或无线广域数字网络、包含CAN总线的车载和工业网络等等。某些网络通常需要附接到某些通用数据端口或***总线(1449)(例如,计算机***(1400)的USB端口)的外部网络接口适配器;其它网络通常通过附接到如下文所描述的***总线(例如连接到PC计算机***中的以太网接口或连接到智能电话计算机***中的蜂窝网络接口)而集成到计算机***(1400)的核心中。在使用这些网络中的任一个的情况下,计算机***(1400)可与其它实体通信。举例来说,对于使用本地或广域数字网络的其它计算机***,此类通信可以是仅单向接收的(例如广播电视)、仅单向发送的(例如CAN总线到某些CAN总线装置),或双向的。某些协议和协议栈可在如上文所描述的每一个那些网络和网络接口上使用。
前述的人机接口装置、人类可访问的存储装置和网络接口可附接到计算机***(1400)的核心(1440)。
核心(1440)可包含一个或多个中央处理单元(CPU)(1441)、图形处理单元(GPU)(1442)、呈现现场可编程门区域(FPGA)(1443)形式的专用可编程处理单元、用于某些任务的硬件加速器(1444)等等。这些装置连同只读存储器(read-only memory,ROM)(1445)、随机存取存储器(1446)、例如内部非用户可访问的硬盘驱动器的内部大容量存储装置、SSD等等(1447)可通过***总线(1448)连接。在一些计算机***中,***总线(1448)可以一个或多个物理插头的形式被访问以使得能够通过CPU、GPU等等来扩展。***装置可直接或通过***总线(1449)附加到核心的***总线(1448)。用于***总线的架构包含PCI、USB等等。
CPU(1441)、GPU(1442)、FPGA(1443)和加速器(1444)可执行某些指令,所述指令组合起来可构成前述计算机代码。所述计算机代码可存储在ROM(1445)或RAM(1446)中。过渡数据也可存储在RAM(1446)中,而永久性数据可存储在例如内部大容量存储装置(1447)中。可通过使用高速缓冲存储器来实现对存储器装置中的任一个的快速存储和检索,所述高速缓冲存储器可与一个或多个CPU(1441)、GPU(1442)、大容量存储装置(1447)、ROM(1445)、RAM(1446)等等紧密相关联。
计算机可读媒体上可具有用于执行各种计算机实施的操作的计算机代码。媒体和计算机代码可以是出于本申请的目的而专门设计和建构的媒体和计算机代码,或其可属于计算机软件领域中的技术人员众所周知且可用的种类。
作为一实施例且并非限制,具有架构的计算机***(1400),且具体地说核心(1440),可由于处理器(包含CPU、GPU、FPGA、加速器等等)执行实施于一个或多个有形计算机可读媒体中的软件而提供功能性。此类计算机可读媒体可以是与如上文所介绍的用户可访问的大容量存储装置相关联的媒体,以及核心(1440)的某些存储装置,所述存储装置为非暂时性性质的,例如核心内部大容量存储装置(1447)或ROM(1445)。实施本申请的各种实施例的软件可存储在此类装置中且可由核心(1440)执行。根据特定需求,计算机可读媒体可包含一个或多个存储器装置或芯片。软件可使核心(1440),且具体地说使其中的处理器(包含CPU、GPU、FPGA等等),执行本文中所描述的特定过程或特定过程的特定部分,所述特定过程或特定过程的特定部分包含定义存储在RAM(1446)中的数据结构和根据由软件定义的过程修改此类数据结构。此外或作为替代方案,计算机***可由于逻辑硬接线或以其它方式实施于电路(例如:加速器(1444))中而提供功能性,所述电路可代替或连同软件操作以执行本文中所描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的提及可涵盖逻辑,且反之亦然。在适当的情况下,对计算机可读媒体的提及可涵盖存储供执行的软件的电路(例如集成电路(integrated circuit,IC))、实施供执行的逻辑的电路或两者。本申请涵盖硬件与软件的任何合适组合。
附件A:首字母缩写词
MV(Motion Vector):运动向量
HEVC(High Efficiency Video Coding):高效视频编码
SEI(Supplementary Enhancement Information):补充增强信息
VUI(Video Usability Information):视频可用信息
GOP(Groups of Pictures):图片群组
TU(Transform Unit):变换单元
PUs(Prediction Units):预测单元
CTU(Coding Tree Unit):编码树单元
CTB(Coding Tree Block):编码树块
PB(Prediction Block):预测块
HRD(Hypothetical Reference Decoder):假想参考解码器
SNR(Signal Noise Ratio):信噪比
CPU(Central Processing Unit):中央处理单元
GPU(Graphics Processing Unit):图形处理单元
CRT(Cathode Ray Tube):阴极射线管
LCD(Liquid-Crystal Display):液晶显示器
OLED(Organic Light-Emitting Diode):有机发光二极管
CD(Compact Disc):压缩光盘
DVD(Digital Video Disc):数字视频光盘
ROM(Read-Only Memory):只读存储器
RAM(Random Access Memory):随机存取存储器
ASIC(Application-Specific Integrated Circuit):专用集成电路
PLD(Programmable Logic Device):可编程逻辑装置
LAN(Local Area Network):局域网
GSM(Global System for Mobile communications):全球移动通信***
LTE(Long-Term Evolution):长期演进
CAN Bus(Controller Area Network Bus):控制器局域网总线
USB(Universal Serial Bus):通用串行总线
PCI(Peripheral Component Interconnect):***组件互连
FPGA(Field Programmable Gate Areas):现场可编程门区域
SSD(solid-state drive):固态驱动器
IC(Integrated Circuit):集成电路
CU(Coding Unit):编码单元
虽然本申请已描述若干示范性实施例,但存在属于本申请的范围内的变更、置换和各种替代等效物。因此,应了解,所属领域的技术人员将能够设计诸多***和方法,尽管本文中未明确展示或描述,但所述***和方法体现了本申请的原理且因此在其精神和范围内。

Claims (11)

1.一种视频解码方法,其特征在于,包括:
对当前已编码的图片中的块进行预测信息解码,所述已编码的图片为已编码的视频序列的一部分,所述预测信息指示一合并模式;
对应所述合并模式,为所述块建构候选项运动向量预测值的合并候选项列表,所述合并候选项列表包含一个或多个第一合并候选项,所述第一合并候选项为所述块的角相邻候选项;
当确定所述块的不同部分包含不同的运动向量预测值时,将至少一个第二合并候选项***到所述合并候选项列表中,所述第二合并候选项为所述块的边相邻候选项;以及
根据所述合并候选项列表中的所述运动向量预测值重构所述块;
其中,所述确定所述块的不同部分包含不同的运动向量预测值包括:
确定所述块是否符合分段要求;
当确定所述块符合所述分段要求时,将所述块分段成多个虚拟块区段,使得每一虚拟块区段包含至少一个运动向量预测值;以及
根据每一虚拟块区段的所述至少一个运动向量预测值与所述块的所述运动向量预测值进行比较的结果,在基于块的合并模式或基于区段的合并模式之间进行选择;
其中,所述每一虚拟块区段的所述至少一个运动向量预测值与所述块的所述运动向量预测值进行比较包括:分别选择每一个所述块和所述虚拟块区段的参考像素;
分别选择每一个所述块和所述虚拟块区段的参考块;
对于每一个所述块和虚拟块区段,比较选定的参考像素与邻近选定参考块的对应参考像素,且所述选定的参考像素与邻近所述选定参考块的对应参考像素之间的差被定义为用于每一个所述块和所述虚拟块区段的运动向量预测值;
所述方法进一步包括:从运动向量预测值中,选择花销最低的运动向量预测值;
所述在基于块的合并模式或基于区段的合并模式之间进行选择,包括:
当所选择的运动向量预测值属于当前块时,选择基于块的合并模式;当所选择的运动向量预测值属于虚拟块区段时,选择基于区段的合并模式。
2.根据权利要求1所述的方法,其特征在于,所述确定所述块是否符合分段要求包括:
确定所述块的大小是否达到分段阈值。
3.根据权利要求2所述的方法,其特征在于,所述确定所述块的所述大小是否达到所述分段阈值包括以下选项中的至少一个:
确定所述块的列长度是否大于第一长度阈值;
确定所述块的行长度是否大于第二长度阈值;以及
确定所述块的长宽比是否在预定的长宽比范围之外。
4.根据权利要求2所述的方法,其特征在于,进一步包括:
当所述块的大小达到所述分段阈值时,将所述块划分成两半以产生中间虚拟块区段,且每个所述中间虚拟块区段被进一步划分成两半,直到所述中间虚拟块区段的大小小于所述分段阈值为止。
5.根据权利要求1所述的方法,其特征在于,所述至少一个第二合并候选项与所述块的一个角相邻候选项具有相同行号或相同列号;或者所述至少一个第二合并候选项是所述块的顶边相邻候选项或左边相邻候选项。
6.根据权利要求1所述的方法,进一步包括:
基于解码器侧运动向量提取方法,减少所述合并候选项列表中的所述合并候选项的数量。
7.根据权利要求6所述的方法,进一步包括:
为所述解码器侧运动向量提取方法设定参考花销;
对所述合并候选项列表中的所述合并候选项执行解码器侧运动向量提取方法;
当合并候选项的花销与所述参考花销之间的差高于花销阈值时,从所述合并候选项列表删除对应的合并候选项。
8.一种视频解码装置,其特征在于,包括:
解码单元,用于为当前已编码的图片中的块进行预测信息解码,所述已编码的图片为已编码的视频序列的一部分,所述预测信息指示一合并模式;
建构单元,用于对应所述合并模式为所述块建构候选项运动向量预测值的合并候选项列表,所述合并候选项列表包含一个或多个第一合并候选项,所述第一合并候选项为所述块的角相邻候选项;
***单元,用于当确定所述块的不同部分包含不同的运动向量预测值时,将至少一个第二合并候选项***到所述合并候选项列表中,所述第二合并候选项为所述块的边相邻候选项;以及
重构单元,用于根据所述合并候选项列表中的所述运动向量预测值重构所述块;
所述***单元,具体用于确定所述块是否符合分段要求;当确定所述块符合所述分段要求时,将所述块分段成多个虚拟块区段,使得每一虚拟块区段包含至少一个运动向量预测值;以及根据每一虚拟块区段的所述至少一个运动向量预测值与所述块的所述运动向量预测值进行比较的结果,在基于块的合并模式或基于区段的合并模式之间进行选择;
其中,所述每一虚拟块区段的所述至少一个运动向量预测值与所述块的所述运动向量预测值进行比较包括:分别选择每一个所述块和所述虚拟块区段的参考像素;分别选择每一个所述块和所述虚拟块区段的参考块;对于每一个所述块和虚拟块区段,比较选定的参考像素与邻近选定参考块的对应参考像素,且所述选定的参考像素与邻近所述选定参考块的对应参考像素之间的差被定义为用于每一个所述块和所述虚拟块区段的运动向量预测值;
所述***单元,还用于:从运动向量预测值中,选择花销最低的运动向量预测值;当所选择的运动向量预测值属于当前块时,选择基于块的合并模式;当所选择的运动向量预测值属于虚拟块区段时,选择基于区段的合并模式。
9.一种装置,其特征在于,包括:
处理电路,用于:
为当前已编码的图片中的块进行预测信息解码,所述已编码的图片为已编码的视频序列的一部分,所述预测信息指示一合并模式;
对应所述合并模式,为所述块建构候选项运动向量预测值的合并候选项列表,所述合并候选项列表包含一个或多个第一合并候选项,所述第一合并候选项为所述块的角相邻候选项;
当确定所述块的不同部分包含不同的运动向量预测值时,将至少一个第二合并候选项***到所述合并候选项列表中,所述第二合并候选项为所述块的边相邻候选项;以及
根据所述合并候选项列表中的所述运动向量预测值重构所述块;
其中,处理电路,具体用于:确定所述块是否符合分段要求;当确定所述块符合所述分段要求时,将所述块分段成多个虚拟块区段,使得每一虚拟块区段包含至少一个运动向量预测值;以及根据每一虚拟块区段的所述至少一个运动向量预测值与所述块的所述运动向量预测值进行比较的结果,在基于块的合并模式或基于区段的合并模式之间进行选择;
其中,所述每一虚拟块区段的所述至少一个运动向量预测值与所述块的所述运动向量预测值进行比较包括:分别选择每一个所述块和所述虚拟块区段的参考像素;
分别选择每一个所述块和所述虚拟块区段的参考块;
对于每一个所述块和虚拟块区段,比较选定的参考像素与邻近选定参考块的对应参考像素,且所述选定的参考像素与邻近所述选定参考块的对应参考像素之间的差被定义为用于每一个所述块和所述虚拟块区段的运动向量预测值;
所述处理电路,还用于:从运动向量预测值中,选择花销最低的运动向量预测值;
所述在基于块的合并模式或基于区段的合并模式之间进行选择,包括:
当所选择的运动向量预测值属于当前块时,选择基于块的合并模式;当所选择的运动向量预测值属于虚拟块区段时,选择基于区段的合并模式。
10.一种非暂时性计算机可读媒体,其特征在于,用于存储指令,当计算机执行所述指令用于视频解码时,使所述计算机执行如权利要求1-7项任一项所述的方法。
11.一种计算机设备,其特征在于,包括:处理器和存储器;所述存储器存储有指令,所述指令被所述处理器执行时,使得所述处理器执行如权利要求1-7中任一项所述的方法。
CN201811486720.8A 2017-12-07 2018-12-06 视频解码方法和装置 Active CN109996079B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762595955P 2017-12-07 2017-12-07
US62/595,955 2017-12-07

Publications (2)

Publication Number Publication Date
CN109996079A CN109996079A (zh) 2019-07-09
CN109996079B true CN109996079B (zh) 2021-09-10

Family

ID=64650298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811486720.8A Active CN109996079B (zh) 2017-12-07 2018-12-06 视频解码方法和装置

Country Status (3)

Country Link
US (1) US10623746B2 (zh)
EP (1) EP3496406A1 (zh)
CN (1) CN109996079B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102306562B1 (ko) * 2017-11-27 2021-09-30 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
JP7460664B2 (ja) * 2019-06-19 2024-04-02 エルジー エレクトロニクス インコーポレイティド 決定された予測モードを適用して予測サンプルを生成する映像デコーディング方法及びその装置
CN113411592B (zh) * 2019-06-21 2022-03-29 杭州海康威视数字技术股份有限公司 预测模式的解码、编码方法及装置
CN113243105B (zh) * 2019-06-25 2023-10-20 Oppo广东移动通信有限公司 亮度分量预测方法、编码器、解码器以及存储介质
CN112218086A (zh) * 2019-07-11 2021-01-12 中兴通讯股份有限公司 编码、解码方法、传输方法、编码、解码装置及***
WO2021068923A1 (en) * 2019-10-10 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Deblocking filtering improvements
GB2617569A (en) * 2022-04-11 2023-10-18 Canon Kk Data coding and decoding
US20240073406A1 (en) * 2022-08-30 2024-02-29 Tencent America LLC Temporal Motion Vector Predictor Candidates Search

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102812706A (zh) * 2010-03-16 2012-12-05 汤姆逊许可证公司 用于视频编码和解码的隐式自适应运动向量预测值选择的方法和装置
WO2012174990A1 (en) * 2011-06-24 2012-12-27 Mediatek Inc. Method and apparatus for removing redundancy in motion vector predictors
CN104918045A (zh) * 2011-11-23 2015-09-16 数码士控股有限公司 使用不对称分区的公共合并候选组编码/解码视频的方法
WO2016200779A1 (en) * 2015-06-09 2016-12-15 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding
CN107211156A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 以子预测单元为基础的先进时间运动向量预测

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526495B2 (en) 2010-11-22 2013-09-03 Mediatek Singapore Pte. Ltd. Apparatus and method of constrained partition size for high efficiency video coding
US9049452B2 (en) 2011-01-25 2015-06-02 Mediatek Singapore Pte. Ltd. Method and apparatus for compressing coding unit in high efficiency video coding
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
US9247266B2 (en) * 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
US9313494B2 (en) * 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
EP2745519B1 (en) 2011-08-17 2017-09-27 MediaTek Singapore Pte Ltd. Method and apparatus for intra prediction using non-square blocks
KR101960034B1 (ko) * 2011-09-09 2019-03-19 엘지전자 주식회사 인터 예측 방법 및 그 장치
CN106851300B (zh) 2011-09-13 2020-05-26 寰发股份有限公司 基于最可能模式的帧内预测模式的方法及装置
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
EP3771209A1 (en) * 2011-12-28 2021-01-27 JVC KENWOOD Corporation Moving picture coding device, moving picture coding method, moving picture decoding device and moving picture decoding method
US9686559B2 (en) * 2012-07-03 2017-06-20 Sharp Kabushiki Kaisha Image decoding device, and image encoding device
US9948915B2 (en) * 2013-07-24 2018-04-17 Qualcomm Incorporated Sub-PU motion prediction for texture and depth coding
US9762927B2 (en) * 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
EP3155812B1 (en) * 2014-06-16 2023-04-05 QUALCOMM Incorporated Simplified shifting merge candidate and merge list derivation in 3d-hevc
KR102583501B1 (ko) * 2015-04-27 2023-09-27 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
US10448011B2 (en) 2016-03-18 2019-10-15 Mediatek Inc. Method and apparatus of intra prediction in image and video processing
US10230961B2 (en) 2016-06-03 2019-03-12 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102812706A (zh) * 2010-03-16 2012-12-05 汤姆逊许可证公司 用于视频编码和解码的隐式自适应运动向量预测值选择的方法和装置
WO2012174990A1 (en) * 2011-06-24 2012-12-27 Mediatek Inc. Method and apparatus for removing redundancy in motion vector predictors
CN104918045A (zh) * 2011-11-23 2015-09-16 数码士控股有限公司 使用不对称分区的公共合并候选组编码/解码视频的方法
CN106101720A (zh) * 2011-11-23 2016-11-09 数码士有限公司 视频解码方法
CN107211156A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 以子预测单元为基础的先进时间运动向量预测
WO2016200779A1 (en) * 2015-06-09 2016-12-15 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Simplified AMVP candidate derivation for Inter and Merge modes;Chuohao Yeo et al.;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11》;20110310;全文 *

Also Published As

Publication number Publication date
CN109996079A (zh) 2019-07-09
US20190182489A1 (en) 2019-06-13
US10623746B2 (en) 2020-04-14
EP3496406A1 (en) 2019-06-12

Similar Documents

Publication Publication Date Title
CN113545061B (zh) 视频编解码方法和装置、存储介质以及包括处理电路的装置
JP7280887B2 (ja) ビデオ符号化のための方法、装置及びコンピュータプログラム
CN112789850B (zh) 一种视频编解码方法、装置、设备和介质
CN112272949B (zh) 视频解码的方法、装置及可读介质
CN112470478B (zh) 视频解码方法、装置和计算机设备
US10893298B2 (en) Method and apparatus for video coding
CN109996079B (zh) 视频解码方法和装置
CN111937387A (zh) 用于采用并行处理的基于历史的运动矢量的预测方法和装置
JP7223138B2 (ja) ビデオコーディングの方法および装置、ならびにコンピュータプログラム
CN112806009B (zh) 一种生成合并候选列表的方法和相关装置
CN113330749A (zh) 用于变换跳过模式和块差分脉冲编码调制的改进的残差编解码
CN111903126A (zh) 用于视频解码的方法和装置
CN113424541A (zh) 用于变换跳过模式和块差分脉冲编码调制的残差编解码
CN111971965A (zh) 视频编解码的方法和装置
US10735758B2 (en) Method and apparatus for video coding
CN112840657B (zh) 用于视频解码的方法、装置、设备和可读介质
CN113424546A (zh) 用于预测模式和已编码块标志(cbf)的进一步改进的上下文设计的方法和装置
JP2022552381A (ja) ビデオ復号の方法、装置、およびコンピュータプログラム
CN113228667A (zh) 用于视频编码的方法及装置
CN112514385A (zh) 用于视频编码的方法和装置
CN111919440B (zh) 用于视频解码的方法、装置和计算机可读介质
CN111988631A (zh) 视频编码、解码的方法、装置以及存储介质
CN113728628B (zh) 合并候选搜索方法和设备
CN113728652A (zh) 视频编解码方法和装置
CN110830800A (zh) 视频解码方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant