CN110784711B - 生成用于视频序列编码或解码的合并候选列表的方法、装置 - Google Patents

生成用于视频序列编码或解码的合并候选列表的方法、装置 Download PDF

Info

Publication number
CN110784711B
CN110784711B CN201910666390.9A CN201910666390A CN110784711B CN 110784711 B CN110784711 B CN 110784711B CN 201910666390 A CN201910666390 A CN 201910666390A CN 110784711 B CN110784711 B CN 110784711B
Authority
CN
China
Prior art keywords
offset
search
current block
block
motion vector
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
CN201910666390.9A
Other languages
English (en)
Other versions
CN110784711A (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 America LLC
Original Assignee
Tencent America LLC
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 America LLC filed Critical Tencent America LLC
Publication of CN110784711A publication Critical patent/CN110784711A/zh
Application granted granted Critical
Publication of CN110784711B publication Critical patent/CN110784711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • 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/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/186Methods 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 a colour or a chrominance component
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请实施例提供一种生成用于视频序列编码或解码的合并候选列表的方法及装置,包括:执行第一搜索轮次;基于所述第一搜索轮次,确认与一组相邻的空间候选块(A,B,C,D,E)相关联的第一组运动矢量预测值;执行第n搜索轮次,n为大于1的整数;基于所述第n搜索轮次,确认与一组非相邻的空间候选块(Ai,Bi,Ci,Di,Ei)相关联的第n组运动矢量预测值;根据所述第一组运动矢量预测值和第n组运动矢量预测值生成所述合并候选列表。

Description

生成用于视频序列编码或解码的合并候选列表的方法、装置
交叉引用
本申请要求于2018年7月30日在美国专利商标局提交的第62/712,043号美国临时申请、以及于2018年12月27日在美国专利商标局提交的第16/234,278号美国申请的优先权,在先申请的全部内容以引用方式结合在本申请中。
技术领域
本申请涉及视频编码领域,尤其涉及生成用于视频序列编码或解码的合并候选列表的方法、装置。
背景技术
在高效视频编码(HEVC:High Efficiency Video Coding)中,引入帧间图片预测的合并模式。构建来自相邻块的候选运动参数的合并候选列表。然后,用信号通知索引,候选要使用的标识。通过在该合并候选列表中包括从先前编码的图片中获取的候选,合并模式还允许时间预测。在HEVC中,基于以下候选构建上述合并候选列表:从5个空间相邻块导出的多达4个空间合并候选以及包括组合的双向预测候选和零运动矢量候选在内的附加合并候选。
在HEVC中,跳过模式用来指示块,其运动数据是推断出的、而不是明确地用信号通知的,并且预测残差为零,即不发送变换系数。在HEVC中,在帧间图片预测切片中每个编码单元(CU:Coding Unit)的开始,用信号通知跳过标志(skip_flag),这意味着:该CU仅包含一个预测单元(PU:Prediction Unit)(2Nx2N),使用合并模式导出运动数据,码流中不存在残差数据。
在当前版本的VVC(VVC:Versatile Video Coding)标准中,引入一些新的合并候选。启用子CU模式作为附加合并候选,并且不需要用额外的语法元素来通知上述子CU模式。将2个附加合并候选添加到每个CU的合并候选列表,以表示可选时域运动矢量预测(Alternative-temporal motion vector prediction,ATMVP)模式和空时运动矢量预测(Spatial-temporal motion vector prediction,STMVP)模式。如果序列参数集指示启用ATMVP模式及STMVP模式,则使用多达7个合并候选。附加合并候选的编码逻辑与HEVC中的合并候选的编码逻辑是相同的,这意味着,对于P或B条目中的每个CU,2个附加合并候选需要2次以上的RD检查。在联合开发模型(Joint Exploration Model,JEM)中,插入的合并候选的次序为A、B、C、D、ATMVP、STMVP、E(当合并候选列表中的合并候选小于6个时)、TMVP、组合的双向预测候选和零运动矢量候选。
在当前版本的VVC标准中,通过CABAC对合并索引的所有二进位进行上下文编码。然而在HEVC中,仅第一个二进位是上下文编码,剩余的二进位是上下文旁路编码。在当前版本的VVC标准中,合并候选的最大数目为7。
在一些技术中,一种方案以8x8块的步长、从先前已编码的块中搜索候选运动矢量。它将空间最近的相邻块,即紧邻的顶行、左列和右上角定义为类别1。将外部区域(距离当前块的边界最多3个8x8块)和先前已编码帧中的并置块划分为类别2。从列表剪除根据不同参考帧预测的,或帧内编码的相邻块,然后为剩余的每一个参考块分配权重,该权重与到当前块的距离有关。
可见,目前的候选运动矢量的搜索仅限于与当前块紧邻的相邻块、以及相邻块的外部区域,例如距离当前块的边界最多3个8x8块。因此,如何提供兼容性较强、多样化的搜索模式,进而生成用于编码或解码视频序列的合并候选列表是视频解码领域值得探索的问题。
发明内容
本申请实施例提供一种生成用于视频序列编码或解码的合并候选列表的方法包括:执行第一搜索轮次基于所述第一搜索轮次,确认与一组相邻的空间候选块(A,B,C,D,E)相关联的第一组运动矢量预测值;执行第n搜索轮次,n为大于1的整数;基于第n搜索轮次,确认与一组非相邻的空间候选块(Ai,Bi,Ci,Di,Ei)相关联的第n组运动矢量预测值;根据第一组运动矢量预测值和第n组运动矢量预测值生成合并候选列表。
本申请实施例提供一种生成用于视频序列编码或解码的合并候选列表的装置包括:搜索模块,用于执行第一搜索轮次;确认模块,用于基于第一搜索轮次,确认与一组相邻的空间候选块A,B,C,D,E相关联的第一组运动矢量预测值;所述搜索模块,进一步用于执行第n搜索轮次,n为大于1的整数;所述确认模块,进一步用于基于第n搜索轮次,确认与一组非相邻的空间候选块Ai,Bi,Ci,Di,Ei相关联的第n组运动矢量预测值;生成模块,用于根据第一组运动矢量预测值和第n组运动矢量预测值生成合并候选列表。
本申请实施例还提供一种非易失性计算机可读介质,存储有指令,所述指令包括:一个或多个指令,当计算机的一个或多个处理器执行所述一个或多个指令时,可以使所述一个或多个处理器执行本申请实施例所述的方法。
本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请实施例所述的方法。
本申请实施例的技术方案,在扩展的空间合并候选的搜索模式中引入更多的多样性,时间运动矢量预测值可以任意顺序插入所提出的空间运动矢量预测值之间/之中,更进一步的,该搜索模式可以较容易地扩展至使用合并原理的任一视频编码方法,因此具有较强的兼容性。
附图说明
结合以下详细描述和附图,本发明的主题的其它特征、性质和各种优点将会变得更加清楚,其中:
图1为本申请实施例提供的生成用于编码或解码视频序列的合并候选列表的方法的示例性过程的流程图;
图2为本申请实施例的通信系统的简化框图;
图3为本申请实施例的流式传输环境中的视频编码器及解码器的部署图;
图4为本申请实施例的视频解码器的功能模块框图;
图5为本申请实施例的视频编码器的功能模块框图;
图6为本申请实施例的计算机系统的框图;
图7为本申请实施例示出的搜索模式图;
图8为本申请另一实施例示出的搜索模式图;
图9为本申请另一实施例示出的搜索模式图;
图10为本申请另一实施例示出的搜索模式图;以及
图11为本申请实施例所述的生成用于编码或解码视频序列的合并候选列表的装置的内部结构图。
具体实施方式
鉴于目前的搜索模式过于单一,本申请实施例提供了一种生成用于编码或解码视频序列的合并候选列表的方法,该方法将附加的空间或时间合并候选插入合并候选列表,修改合并候选列表的结构。具体的,本申请实施例提出的方法应用于具有差值编码的合并模式或运动矢量预测,可以与任意时间运动矢量预测方法相结合。为了与任意时间运动矢量预测方法相结合,时间运动矢量预测值可以任意顺序插入所提出的空间运动矢量预测值之间/之中。本申请实施例提出的空间合并候选的搜索模式使搜索模式更加多样性。
更进一步的,本申请实施例中,主要结合合并模式来详细讨论。本申请实施例中提出的方法可以较容易地扩展至使用合并原理的任一视频编码方法。由于跳过模式使用合并模式来获取运动信息,因此本发明实施例提供的方法还可应用于跳过模式。
在HEVC中,基于以下候选块构建上述合并候选列表:从5个空间相邻块导出的多达4个空间合并候选,以及包括组合的双向预测候选和零运动矢量候选在内的附加合并候选。
附加合并候选将是比邻(NEXT)合并候选的直接扩展。检查不与当前块紧邻的左、上、左下角、右上角及左上角的候选块。
作为一个示例,参考块的左上角块相对于当前块具有(-96,-96)的偏移。相较于先前的B或C候选块,每个候选块Bi或Ci在垂直方向上具有块高度的偏移量。相较于先前的A或D候选块,每个候选块Ai或Di在水平方向上具有块宽度的偏移量。相较于先前的E候选块,每个Ei在水平方向及垂直方向上具有块宽度及块高度的偏移量。
在一些实施例中,从内到外检查候选块,候选块的次序为Ai,Bi、Ci、Di和Ei。
图1为本发明实施例提供的生成用于编码或解码视频序列的合并候选列表的方法的示例性过程100的流程图。在一些实施例中,图1的一个或多个步骤可由解码器执行。在一些实施例中,图1的一个或多个步骤可由与解码器分离或包括解码器的另一设备或一组设备执行,例如编码器。
如图1所示,过程100可包括执行第一搜索轮次(步骤110)。如图1进一步所示,过程100可包括基于第一搜索轮次,确认与一组相邻的空间候选块(A,B,C,D,E)相关联的第一组运动矢量预测值(步骤120)。如图1进一步所示的,过程100可包括执行第二搜索轮次(步骤130)。如图1进一步所示的,过程100可包括基于第二搜索轮次,确认与一组非相邻的空间候选块(Ai,Bi,Ci,Di,Ei)相关联的第二组运动矢量预测值(步骤140)。如图1进一步所示的,过程100可包括确定是否要执行另一搜索轮次(步骤150)。例如,该设备可以基于最大搜索范围、最大搜索轮次,基于用信号表示的信息、预先设定的信息等来确定是否要执行另一搜索轮次。如果确定要执行另一搜索轮次,那么过程100还可以包括执行另一搜索轮次。应该理解,可执行n个搜索轮次,n为大于1的整数。假如不执行另一搜索轮次,那么过程100可以包括根据确认的运动矢量预测值生成合并候选列表(步骤160)。
尽管图1示出了过程100的示例性框,但在一些实施例中,过程100可包括附加的步骤、更少的步骤、不同的步骤或与图1中描述的步骤排列所不同的步骤排列。另外地或替代地,可并行执行过程100的两个或两个以上步骤。
图2为本申请实施例示出的通信系统(200)的简化框图。通信系统(200)可包括至少两个终端装置(210-220),所述终端装置通过网络(250)互连。对于数据的单向传输,第一终端装置(210)可在本地对视频数据进行编码以通过网络(250)传输到第二终端装置(220)。第二终端装置(220)可从网络(250)接收另一终端的已编码视频数据,对已编码视频数据进行解码,并显示恢复的视频数据。单向数据传输可在媒体服务等应用中是较常见的。
图2示出了支持已编码视频的双向传输的第二对终端装置:第三终端装置(230)和第四终端装置(240),所述已编码视频的双向传输可发生在视频会议期间。对于双向数据传输,第三终端装置(230)和第四终端装置(240)中每个终端装置可对在本地采集的视频数据进行编码以通过网络(250)传输到另一终端。第三终端装置(230)和第四终端装置(240)中每个终端装置还可接收由另一终端传输的已编码视频数据,可对已编码视频数据进行解码,且可在本地显示装置上显示恢复的视频数据。
在图2的实施例中,第一终端装置(210)、第二终端装置(220)、第三终端装置(230)和第四终端装置(240)可为服务器、个人计算机和智能电话,但本申请公开的原理可不限于此。本申请公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络(250)表示在第一终端装置(210)、第二终端装置(220)、第三终端装置(230)和第四终端装置(240)之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络(250)可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络(250)的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
作为实施例,图3示出视频编码器和视频解码器在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。
流式传输系统可包括采集子系统(313),所述采集子系统可包括例如数码相机等视频源(301),所述视频源创建未压缩的视频样本流(302)。相较于已编码的视频码流,该样本流(302)被描绘为粗线以强调高数据量,可由耦接到相机(301)的编码器(303)处理。编码器(303)可包括硬件、软件或软硬件组合实现或实施如下文更详细地描述的所公开主题的各方面。相较于样本流,已编码的视频码流(304)被描绘为细线以强调较低数据量,可存储在流式传输服务器(305)上以供将来使用。一个或多个流式传输客户端(306,308)可访问流式传输服务器(305)以检索已编码的视频码流(304)的副本(307)和副本(309)。客户端(306)可包括视频解码器(310),视频解码器(310)对已编码的视频码流的传入副本(307)进行解码,且产生可在显示器(312)或另一呈现装置(未描绘)上呈现的输出视频样本流(311)。在一些流式传输系统中,可根据某些视频编码/压缩标准对视频码流(304,307,309)进行编码。那些标准的实施例包括ITU-T H.265。正在开发的视频编码标准非正式地称为新一代视频编码标准(Versatile Video Coding,VVC)。本申请可用于VVC标准的上下文中。
图4可以是根据本申请公开的实施例的视频解码器(310)的框图。
接收器(410)可接收将由解码器(310)解码的一个或多个编解码视频序列;在同一实施例或另一实施例中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(412)接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器(410)可接收已编码的视频数据以及其它数据,例如,可转发到它们各自的使用实体(未标示)的已编码音频数据和/或辅助数据流。接收器(410)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(415)可耦接在接收器(410)与熵解码器/解析器(420)(此后称为“解析器”)之间。当接收器(410)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,也可能不需要缓冲存储器(415),或可以将所述缓冲存储器做得较小。为了在例如互联网等尽力而为型业务分组网络上使用,也可能需要缓冲存储器(415),所述存储器可相对较大且可具有自适应性大小。
视频解码器(310)可包括解析器(420)以根据已熵编码的视频序列重建符号(421)。这些符号的类别包括用于管理解码器(310)的操作的信息,以及用以控制例如显示器(312)的显示装置的潜在信息,所述显示装置不是解码器的组成部分,但可耦接到解码器,如图4中所示。用于显示装置的控制信息可以是辅助增强信息(SupplementalEnhancement Information,SEI消息)或视频可用性信息(Video Usability Information,VUI)的参数集片段(未标示)。解析器(420)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循所属领域的技术人员公知的原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码,等等。解析器(420)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中像素的子群的至少之一的子群参数集。子群可包括图片群组(Group of Pictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等。熵解码器/解析器还可从已编码视频序列提取信息,例如变换系数、量化器参数(QP)值、运动矢量等等。
解析器(420)可对从缓冲存储器(415)接收的视频序列执行熵解码/解析操作,从而创建符号(421)。解析器(420)可接收已编码数据,并选择性对特定符号(421)进行解码。进一步地,解析器(420)可确定是否要将特定符号(421)提供给运动补偿预测单元(453)、缩放器/逆变换单元(451)、帧内预测单元(452)、或环路滤波器单元(456)。
取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(421)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(420)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(420)与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块以外,视频解码器(310)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
第一单元是缩放器/逆变换单元(451)。缩放器/逆变换单元(451)从解析器(420)接收作为符号(421)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(451)可输出包括样本值的块,所述样本值可输入到聚合器(455)中。
在一些情况下,缩放器/逆变换单元(451)的输出样本可涉及帧内编码块;即:不使用来自先前重建的图片的预测性信息、但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(452)提供。在一些情况下,帧内图片预测单元(452)根据从当前图片(部分重建的)(454)提取的周围已重建信息,生成大小和形状与正在重建的块相同的块。在一些情况下,聚合器(455)基于每个样本,将帧内预测单元(452)生成的预测信息添加到由缩放器/逆变换单元(451)提供的输出样本信息。
在其它情况下,缩放器/逆变换单元(451)的输出样本可涉及帧间编码的、且潜在运动补偿的块。在此情况下,运动补偿预测单元(453)可访问参考图片存储器(457)以提取用于预测的样本。在根据与上述块相关的符号(421)对提取的样本进行运动补偿之后,这些样本可由聚合器(455)添加到缩放器/逆变换单元(451)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(453)从参考图片存储器(457)内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号(421)的形式而供运动补偿预测单元(453)使用,所述符号(421)可具有例如X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(457)提取的样本值的内插、运动矢量预测机制等。
聚合器(455)的输出样本可在环路滤波器单元(456)中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频码流中的参数,且所述参数作为来自解析器(420)的符号(421)可用于环路滤波器单元(456),但视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元(456)的输出可以是样本流,所述样本流可输出到显示装置(312)以及存储在参考图片存储器(456),以用于后续的帧间图片预测。
一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。一旦已编码图片被完全重建,且已编码图片被识别为参考图片(通过例如解析器(420)),则当前参考图片(656)可变为参考图片缓冲器(457)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片存储器。[45]视频解码器(310)可根据记录在例如ITU-T H.265标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循如视频压缩技术或标准的语法、以及视频压缩技术或标准中记录的配置文件的意义上,,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。对于合规性,还可要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical ReferenceDecoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。
在一些实施例中,接收器(410)可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。附加数据可由视频解码器(310)用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间、或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。
图5是根据本申请公开的实施例的视频编码器(303)的功能性框图。
视频编码器(303)可从视频源(301)(并非编码器的一部分)接收视频样本,所述视频源可采集将由编码器(303)编码的视频图像。
视频源(301)可提供将由视频编码器(303)编码的、呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如,BT.601Y CrCB、RGB……)和任何合适的取样结构(例如Y CrCb 4:2:0、Y CrCb4:4:4)。在媒体服务系统中,视频源(301)可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源(303)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片赋予运动。图片自身可组织为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括一个或多个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下面的描述侧重于样本。
根据实施例,编码器(303)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(543)。施行适当的编码速度是控制器(550)的一个功能。控制器(550)控制如下文所描述的其它功能单元,且在功能上耦接到这些单元。为了简洁起见,未标示耦接。由控制器设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。所属领域的技术人员可容易识别控制器(550)的其它功能,因为它们可涉及针对某一系统设计所优化的视频编码器(303)。
一些视频编码器在本领域技术人员容易识别的“编码环路”中进行操作。作为简单的描述,编码环路可由编码器(530)(下文称为“源编码器”)(负责基于待编码的输入图片和参考图片创建符号)的编码部分和嵌入于编码器(303)中的(本地)解码器(533)构成。解码器(533)以类似于(远程)解码器创建样本数据的方式重建符号以创建样本数据(因为在所申请所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的样本流输入到参考图片存储器(534)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,所以参考图片缓冲器中的内容在本地编码器与远程编码器之间也是按比特位精确的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)对于所属领域的技术人员是公知的。
“本地”解码器(533)的操作可与已在上文结合图4详细描述的“远程”解码器(310)的相同。然而,另外简要参考图5,当符号可用、且熵编码器(545)和解析器(420)能够无损地将符号编码/解码为已编码视频序列时,包括信道(412)、接收器(410)、缓冲存储器(415)和解析器(420)在内的解码器(310)的熵解码部分,可能无法完全在本地解码器(533)中实施。
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定需要以基本上相同的功能形式存在于对应的编码器中。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
作为它操作的一部分,源编码器(530)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考帧”的一个或多个先前已编码帧,所述运动补偿预测编码对输入帧进行预测性编码。以此方式,编码引擎(532)对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可被选作所述输入帧的预测参考。
本地视频解码器(533)可基于源编码器(530)创建的符号,对可指定为参考帧的帧的已编码视频数据进行解码。编码引擎(532)的操作可有利地为有损过程。当已编码视频数据可在视频解码器(图5中未示出)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(533)复制解码过程,所述解码过程可由视频解码器对参考帧执行,且可使重建的参考帧存储在参考图片高速缓存(534)中。以此方式,编码器(303)可在本地存储重建的参考帧的副本,所述副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。
预测器(535)可针对编码引擎(532)执行预测搜索。即,对于将要编码的新帧,预测器(535)可在参考图片存储器(534)中搜索可作为新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(535)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器(535)获得的搜索结果,可确定输入图片可具有从参考图片存储器(534)中存储的多个参考图片取得的预测参考。
控制器(550)可管理视频编码器(530)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(545)中对所有前述功能单元的输出进行熵编码。熵编码器(545)通过根据本领域技术人员可知的技术,例如霍夫曼编码、可变长度编码、算术编码等对各种功能单元生成的符号进行无损压缩,将所述符号转换成已编码视频序列。
传输器(540)可缓冲由熵编码器(545)创建的已编码视频序列,从而为通过通信信道(560)进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器(540)可将来自视频编码器(530)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
控制器(550)可管理编码器(303)的操作。在编码期间,控制器(550)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种帧类型:
帧内图片(I图片),其可以是不将序列中的任何其它帧用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。所属领域的技术人员了解I图片的变体及其相应的应用和特征。
预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。
视频编码器(303)可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(303)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
在一些实施例中,传输器(540)可在传输已编码的视频时传输附加数据。视频编码器(530)可以将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/SNR增强层、例如冗余图片和切片的其它形式的冗余数据、辅助增强信息(SEI)消息、视觉可用性信息(VUI)参数集片段等。
进一步地,所提出的方法可由处理电路(例如,一个或多个处理器或一个或多个集成电路)实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序,以执行一个或多个提出的上述方法。
上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图6示出了适于实现所公开主题的某些实施例的计算机系统(600)。
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图6所示的用于计算机系统(600)的组件本质上是示例性的,并且不旨在对实现本发明的实施例的计算机软件的使用范围或功能提出任何限制。也不应将组件的配置解释为对计算机系统(600)的示范性实施例中所说明的组件中的任一者或组合具有任何依赖性或要求。
计算机系统(600)可以包括某些人机界面输入设备。所述人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出)对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕捉不必直接与人类有意识输入相关的某些媒体,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
人机界面输入设备可包括以下中的一个或多个(仅描绘其中一个):键盘(601)、鼠标(602)、触控板(603)、触摸屏(610)、数据手套(未示出)、操纵杆(605)、麦克风(606)、扫描仪(607)、照相机(608)。
计算机系统(600)还可以包括某些人机界面输出设备。所述人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。所述人机界面输出设备可包括触觉输出设备(例如通过触摸屏(610)、数据手套(未示出)或操纵杆(605)的触觉反馈,但也可有不是输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(609)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(610),其中每个都有或没有触摸屏输入功能、触觉反馈功能——其中一些可通过如立体画面输出等手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。
计算机系统(600)还可以包括人类可访问的存储设备及其相关联介质,如包括具有CD/DVD的CD/DVD ROM/RW(620)等介质(621)的光学介质、拇指驱动器(622)、可移动硬盘驱动器或固态驱动器(623),如磁带和软盘(未示出)的传统磁介质,如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。
本领域技术人员还应当理解,结合本发明的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
计算机系统(600)还可以包括到一个或多个通信网络的接口。例如,网络可以是无线的、有线的、光学的。网络还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。网络还包括以太网、无线局域网、包括蜂窝网络(GSM、3G、4G、5G、LTE等)等局域网、电视有线或无线广域数字网络(包括有线电视、卫星电视、和地面广播电视)、车载和工业网络(包括CANBus)等等。某些网络通常需要连接到某些通用数据端口或外围总线(649)(例如,计算机系统(600)的USB端口)的外部网络接口适配器;其它系统通常通过连接到如下所述的系统总线集成到计算机系统(600)的核心(例如,以太网接口集成到PC计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络中的任何一个,计算机系统(600)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如CAN总线到某些CAN总线设备),或双向的,例如通过局域或广域数字网络到其它计算机系统。上述的每个网络和网络接口可使用某些协议和协议栈。
前述的人机界面设备、人类可访问存储设备和网络接口可以连接到计算机系统(600)的核心(640)。
核心(640)可包括一个或多个中央处理单元(CPU)(641)、图形处理单元(GPU)(642)、以现场可编程门阵列(FPGA)(643)形式存在的专用可编程处理单元、用于特定任务的硬件加速器(644)等。上述设备以及只读存储器(ROM)(645)、随机存取存储器(646)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、SSD等)(647)等可通过系统总线(648)进行连接。在某些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(648),以便通过额外的中央处理单元、图形处理单元等进行扩展。外围装置可直接附接到核心的系统总线(648),或通过外围总线(649)进行连接。外围总线的体系结构包括外部控制器接口PCI、通用串行总线USB等。
CPU(641)、GPU(642)、FPGA(643)和加速器(644)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(645)或RAM(646)中。过渡数据也可以存储在RAM(646)中,而永久数据可以存储在例如内部大容量存储器(647)中。通过使用高速缓存可实现对任何存储器设备的快速存储和检索,高速缓存可与一个或多个CPU(641)、GPU(642)、大容量存储器(647)、ROM(645)、RAM(646)等紧密关联。[81]所述计算机可读介质上可具有用于执行各种计算机实现操作的计算机代码。介质和计算机代码可以是为本发明的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
作为示例而非限制,具有体系结构(600)的计算机系统,特别是核心(640),可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供功能,执行包含在一个或多个有形的计算机可读介质中的软件。这种计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质,以及具有非瞬时性质的核心(640)的特定存储器,诸如核心内部大容量存储器(647)或ROM(645)。实现本发明的各种实施例的软件可以存储在这种设备中并且由核心(640)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(640)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(646)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其他方式包含在电路(例如,加速器(644))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。本发明包括任何合适的硬件和软件组合。
图7为本申请实施例示出的搜索模式图。
如图7所示,在对角线方向、而不是垂直/水平方向扩展候选块Ci及Di。如图7所示,候选块Ci相对Ei的水平偏移量为i*2*gridX+宽度+4。在此情况下,“gridX”为水平网格大小。在另一实施例中,候选块Ci相对Ei的水平偏移量可以是i*2*gridX+宽度。候选块Di相对Ei的垂直偏移量为i*2*gridY+高度+4。在另一实施例中,候选块Di相对Ei的垂直偏移量可以是i*2*gridY+高度。在上述描述中,“gridX”和“gridY”为搜索的网格大小,宽度及高度为当前块的宽度及高度。
为了进一步示出候选块Ci及Di的位置,可以看到,候选块Ci及Ei是相对于假想线镜像的,所述假想线分别在垂直方向及水平方向穿过当前块的中心。
图8为本申请另一实施例示出的搜索模式图。
如图8所示,候选块Ai、Bi、Ci、Di在对角线方向上扩展。对于每个第i轮次,可生成新的候选块。左上角处的块相对当前块具有偏移量。可以如下计算该偏移量:Offsetx=-i*gridX,Offsety=-i*gridY。在前面的等式中,“gridX”和“gridY”为搜索的网格大小,“Offsetx”和“Offsety”表示新块相对当前块的偏移量。
在一个实施例中,“gridX”和“gridY”的值可以设为固定值。在另一实施例中,“gridX”的值可为当前块的宽度,“gridY”可为当前块的高度。可以按如下方式计算新块的宽度及高度:newWidth=i*2*gridX+宽度,newHeight=i*2*gridY+高度。在前面的等式中,宽度及高度为当前块的宽度及高度。“newWidth”和“newHeight”的值是新块的宽度及高度。在此情况下,可将扩展的非相邻合并候选视为当前块的扩展。候选块Ai、Bi、Ci、Di、Ei是在新块的上方、左侧、右上角、左下角、左上角的候选块。
图9为本申请另一实施例示出的搜索模式图。
如图9所示,将附加的中间候选添加到图8所示的搜索模式。在一个实施例中,可从相邻位置添加中间候选。在另一实施例中,可从非相邻位置添加中间候选。
新块的左上角位置视为(Sx,Sy)。上方中间位置的Gi可计算为(Sx+(newWidth>>1),Sy-4),左侧中间位置的Fi可计算为(Sx-4,S=+(newHeight>>1)。在另一实施例中,上方中间位置的Gi可计算为(Sx+(newWidth>>1)-4,Sy-4),左侧中间位置的Fi可计算为(Sx-4,Sy+(newHeight>>1)-4)。
图10为本申请另一实施例示出的搜索模式图。
在此方法中,在水平方向扩展候选块Ci,在垂直方向扩展候选块Di。每个候选块Ci具有网格大小。候选块Ci相对候选块C的水平偏移量为i*gridX。在此情况下,“gridX”为水平网格大小。候选块Di相对候选块D的垂直偏移量为i*gridY。
在本申请实施例中的方法中,可以将最大搜索轮限制为预定义值,例如“MaxSearchRounds”,其值可以为1,2,3,4,……,n。该值可在编码器及解码器中预定义,或在SPS(序列参数集)、PPS(图片参数集)或条目头中用信号通知。在一些情况下,搜索范围不超出当前块上方CTU行的最后4x4块行。在另一实施例中,搜索范围不超出“MaxSearchRange”的值。此值可在编码器和解码器预定义,或可在SPS、PPS或条目头中用信号通知。在另一实施例中,搜索范围不超出当前块上方CTU的最后一行和“MaxSearchRange”的值。
在另一实施例中,搜索范围没有达到左侧CTU内部。在本申请实施例中的方法中,“gridX”和“gridY”的值为搜索网格。这些值可以在编码器及解码器预定义,或在SPS、PPS或条目头中用信号通知。“gridX”的值可为2的幂的任意整数值,或可以为当前块的宽度。“gridY”的值可为2的幂的任意整数值,或可以为当前块的高度。
本发明实施例还提供了一种视频解码装置1100,用于实现本发明实施例所述的视频解码方法。该是视频解码装置包括如下功能模块:
搜索模块1101,用于执行第一搜索轮次;
确认模块1102,用于基于所述第一搜索轮次,确认与一组相邻的空间候选块A,B,C,D,E相关联的第一组运动矢量预测值;
所述搜索模块1101,进一步用于执行第n搜索轮次,n为大于1的整数;
所述确认模块1102,进一步用于基于所述第n搜索轮次,确认与一组非相邻的空间候选块Ai,Bi,Ci,Di,Ei相关联的第n组运动矢量预测值;
生成模块1103,用于根据所述第一组运动矢量预测值和第n组运动矢量预测值生成合并候选列表。
在一些实施例中,第n搜索轮次的搜索顺序为Ai、Bi、Ci、Di和Ei。
在一些实施例中,Ai为A在水平方向上的偏移,Bi为B在垂直方向上的偏移,Ci为C在对角线方向上的偏移,Di为D在对角线方向上的偏移,Ei为E在对角线方向上的偏移。
在一些实施例中,Ai为A在对角线方向上的偏移,Bi为B在对角线方向上的偏移,Ci为C在对角线方向上的偏移,Di为D在对角线方向上的偏移,Ei为E在对角线方向上的偏移。
在一些实施例中,所述确认模块1102进一步用于确认与中间候选块G,Gi,F,Fi相关联的运动矢量预测值。
在一些实施例中,Ai为A在水平方向上的偏移,Bi为B在垂直方向上的偏移,Ci为C在水平方向上的偏移,Di为D在垂直方向上的偏移,Ei为E在对角线方向上的偏移。
在一些实施例中,所述装置进一步包括:确定模块1104,用于确定当前搜索轮次是否为最大搜索轮次;当所述确定模块1104确定当所述当前搜索轮次为所述最大搜索轮次时,所述生成模块1103,进一步用于根据确认的运动矢量预测值生成所述合并候选列表;当所述确定模块1104确定当所述当前搜索轮次不为所述最大搜索轮次时,所述搜索模块1101进一步用于执行另一或多个搜索轮次。
在一些实施例中,搜索范围不超过当前块上方最后一个上编码树单元CTU行。
在一些实施例中,所述装置进一步包括:确定模块1104,用于确定是否超出最大运动矢量搜索范围;当所述确定模块1104确定超出最大搜索范围时,所述生成模块1103进一步用于根据确认的运动矢量预测值生成所述合并候选列表;当所述确定模块1104确定没有超出最大搜索范围时,所述搜索模块1101进一步用于执行另一个或多个搜索轮次。
本发明实施例提供生成用于视频序列编码或解码的合并候选列表的方法可以通过计算机可读指令来作为计算机软件实施,并且物理地存储在一个或多个计算机可读介质中。因此,本申请实施例还提供一种非易失性计算机可读介质,存储有指令,所述指令包括:一个或多个指令,当计算机的一个或多个处理器执行所述一个或多个指令时,可以使所述一个或多个处理器执行本申请实施例所述的方法。尽管本申请描述了数个示例性的实施例,但实施例的各种变更、置换和各种替代属于本发明的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本发明的原则,因此属于本发明的精神和范围之内。

Claims (10)

1.一种生成合并候选列表的方法,用于编码或解码视频序列,其特征在于,所述方法包括:
执行第一搜索轮次;
基于所述第一搜索轮次,确认与一组相邻的空间候选块A,B,C,D,E相关联的第一组运动矢量预测值,其中,所述空间候选块E位于当前块的左上角并位于所述当前块的对角线的延长线上,所述空间候选块D位于所述当前块的左下角并位于所述当前块的另一对角线的延长线上,所述空间候选块C位于所述当前块的右上角并位于所述当前块的所述另一对角线的延长线上,所述空间候选块A位于所述当前块的左侧并与所述所空间候选块D相邻,所述空间候选块B位于所述当前块的顶部并与所述所空间候选块C相邻;
执行第n搜索轮次,n为大于1的整数;
基于所述第n搜索轮次,确认与一组非相邻的空间候选块Ai,Bi,Ci,Di,Ei相关联的第n组运动矢量预测值;
根据所述第一组运动矢量预测值和所述第n组运动矢量预测值生成合并候选列表;
其中,Ai为A在水平方向上的偏移,Bi为B在垂直方向上的偏移,Ci为C在对角线方向上的偏移,Di为D在对角线方向上的偏移,Ei为E在对角线方向上的偏移;或者,Ai为A在水平方向上的偏移,Bi为B在垂直方向上的偏移,Ci为C在水平方向上的偏移,Di为D在垂直方向上的偏移,Ei为E在对角线方向上的偏移;或者,
其中,Ai为A在对角线方向上的偏移,Bi为B在对角线方向上的偏移,Ci为C在对角线方向上的偏移,Di为D在对角线方向上的偏移,Ei为E在对角线方向上的偏移,其中,Ai、Bi、Ci、Di和Ei相对于当前块的偏移量为搜索的网格大小与轮次的乘积,所述搜索的网格大小包括所述当前块的宽度以及高度;
其中,搜索范围不超过所述当前块上方最后一个编码树单元CTU行;
所述方法进一步包括:当确定搜索位置超出当前块上方最后一个编码树单元CTU行时,使用存储在上方CTU行的最后4x4块行内的运动数据。
2.根据权利要求1的所述方法,其特征在于,所述第n搜索轮次的搜索顺序为Ai、Bi、Ci、Di、Ei。
3.根据权利要求1的所述方法,其特征在于,所述方法进一步包括:
确认与中间候选块G,Gi,F,Fi相关联的运动矢量预测值,所述空间候选块G位于所述当前块的顶部中间位置处并与所述当前块相邻,所述空间候选块F位于所述当前块的左侧中间位置处并与所述当前块相邻,Gi为G在垂直方向上的偏移,Fi为F在水平方向上的偏移。
4.根据权利要求1的所述方法,其特征在于,所述方法进一步包括:
确定当前搜索轮次是否为最大搜索轮次;
当所述当前搜索轮次为所述最大搜索轮次时,根据确认的运动矢量预测值生成所述合并候选列表;
当所述当前搜索轮次不为所述最大搜索轮次时,执行另一个或多个搜索轮次。
5.根据权利要求1的所述方法,其特征在于,所述方法进一步包括:
当确定超出最大运动矢量搜索范围时,根据确认的运动矢量预测值生成所述合并候选列表;
当确定没有超出最大搜索范围时,执行另一个或多个搜索轮次。
6.一种生成用于编码或解码视频序列的合并候选列表的装置,其特征在于,包括:
搜索模块,用于执行第一搜索轮次;
确认模块,用于基于所述第一搜索轮次,确认与一组相邻的空间候选块A,B,C,D,E相关联的第一组运动矢量预测值,其中,所述空间候选块E位于当前块的左上角并位于所述当前块的对角线的延长线上,所述空间候选块D位于所述当前块的左下角并位于所述当前块的另一对角线的延长线上,所述空间候选块C位于所述当前块的右上角并位于所述当前块的所述另一对角线的延长线上,所述空间候选块A位于所述当前块的左侧并与所述所空间候选块D相邻,所述空间候选块B位于所述当前块的顶部并与所述所空间候选块C相邻;
所述搜索模块,进一步用于执行第n搜索轮次,n为大于1的整数;
所述确认模块,进一步用于基于所述第n搜索轮次,确认与一组非相邻的空间候选块Ai,Bi,Ci,Di,Ei相关联的第n组运动矢量预测值;
生成模块,用于根据所述第一组运动矢量预测值和第n组运动矢量预测值生成合并候选列表;
其中,Ai为A在水平方向上的偏移,Bi为B在垂直方向上的偏移,Ci为C在对角线方向上的偏移,Di为D在对角线方向上的偏移,Ei为E在对角线方向上的偏移;或者,Ai为A在水平方向上的偏移,Bi为B在垂直方向上的偏移,Ci为C在水平方向上的偏移,Di为D在垂直方向上的偏移,Ei为E在对角线方向上的偏移;或者,
其中,Ai为A在对角线方向上的偏移,Bi为B在对角线方向上的偏移,Ci为C在对角线方向上的偏移,Di为D在对角线方向上的偏移,Ei为E在对角线方向上的偏移,其中,Ai、Bi、Ci、Di和Ei相对于当前块的偏移量为搜索的网格大小与轮次的乘积,所述搜索的网格大小包括所述当前块的宽度以及高度;
其中,搜索范围不超过所述当前块上方最后一个编码树单元CTU行;
所述确认模块,进一步用于当确定搜索位置超出当前块上方最后一个编码树单元CTU行时,使用存储在上方CTU行的最后4x4块行内的运动数据。
7.根据权利要求6的所述装置,其特征在于,所述装置进一步包括:
确定模块,用于确定当前搜索轮次是否为最大搜索轮次;
当所述确定模块确定当所述当前搜索轮次为所述最大搜索轮次时,所述生成模块,进一步用于根据确认的运动矢量预测值生成所述合并候选列表;
当所述确定模块确定当所述当前搜索轮次不为所述最大搜索轮次时,所述搜索模块进一步用于执行另一或多个搜索轮次。
8.根据权利要求6的所述装置,其特征在于,所述装置进一步包括:
确定模块,用于确定是否超出最大运动矢量搜索范围;
当所述确定模块确定超出最大搜索范围时,所述生成模块进一步用于根据确认的运动矢量预测值生成所述合并候选列表;
当所述确定模块确定没有超出最大搜索范围时,所述搜索模块进一步用于执行另一个或多个搜索轮次。
9.一种非易失性计算机可读介质,存储有指令,所述指令包括:一个或多个指令,当由计算机的一个或多个处理器执行所述一个或多个指令时,可以使所述一个或多个处理器执行如权利要求1-5任一项所述的方法。
10.一种计算机设备,包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-5任一项所述的方法。
CN201910666390.9A 2018-07-30 2019-07-23 生成用于视频序列编码或解码的合并候选列表的方法、装置 Active CN110784711B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862712043P 2018-07-30 2018-07-30
US62/712,043 2018-07-30
US16/234,278 2018-12-27
US16/234,278 US10523963B1 (en) 2018-07-30 2018-12-27 Method and apparatus for merge mode in video coding

Publications (2)

Publication Number Publication Date
CN110784711A CN110784711A (zh) 2020-02-11
CN110784711B true CN110784711B (zh) 2024-01-19

Family

ID=69057696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910666390.9A Active CN110784711B (zh) 2018-07-30 2019-07-23 生成用于视频序列编码或解码的合并候选列表的方法、装置

Country Status (2)

Country Link
US (1) US10523963B1 (zh)
CN (1) CN110784711B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10715812B2 (en) * 2018-07-13 2020-07-14 Tencent America LLC Method and apparatus for video coding
US10827195B2 (en) * 2018-08-03 2020-11-03 Tencent America LLC Method and apparatus for unifying adjacent merge candidates and non-adjacent merge candidates
US11019357B2 (en) * 2018-08-07 2021-05-25 Qualcomm Incorporated Motion vector predictor list generation
KR20220016075A (ko) 2019-06-04 2022-02-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 모션 후보 리스트 구성 프로세스의 조건부 구현
WO2020244571A1 (en) 2019-06-04 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction using neighboring block information
CN114128295B (zh) 2019-07-14 2024-04-12 北京字节跳动网络技术有限公司 视频编解码中几何分割模式候选列表的构建
CN117596389A (zh) 2019-09-28 2024-02-23 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
WO2022061573A1 (zh) * 2020-09-23 2022-03-31 深圳市大疆创新科技有限公司 运动搜索方法、视频编码装置及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002455A (zh) * 2015-06-05 2022-09-02 杜比实验室特许公司 图像编码和解码方法和图像解码设备
US10721489B2 (en) * 2016-09-06 2020-07-21 Qualcomm Incorporated Geometry-based priority for the construction of candidate lists

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CE4: Additional merge candidates (Test 4.2.13);Jing Ye, Xiang Li, and Shan Liu;《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20180718;第1-9页 *
Jing Ye, Xiang Li, and Shan Liu.CE4: Additional merge candidates (Test 4.2.13).《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》.2018, *
Merge mode modification on top of Tencent’s software in response to CfP;Jing Ye, Xiang Li, and Shan Liu;《JVET of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20180412;全文 *

Also Published As

Publication number Publication date
CN110784711A (zh) 2020-02-11
US10523963B1 (en) 2019-12-31

Similar Documents

Publication Publication Date Title
CN110784723B (zh) 用于生成合并候选列表的方法和设备、可读存储介质
CN110784711B (zh) 生成用于视频序列编码或解码的合并候选列表的方法、装置
CN113557728B (zh) 视频编解码方法和装置
JP2021518088A (ja) 小ブロックの予測と変換のための方法、装置、及びプログラム
US11394983B2 (en) Method and apparatus for merge mode with additional middle candidates in video coding
CN112913232B (zh) 执行合并候选列表创建以进行视频编解码的方法、设备和计算机可读介质
CN113892260B (zh) 一种视频编解码方法和相关装置
CN113785564B (zh) 视频编解码的方法和装置
CN113424546B (zh) 视频解码或编码的方法和装置
CN113711586B (zh) 视频编解码方法、装置、计算机设备及存储介质
KR20200125733A (ko) 비디오 코딩을 위한 방법 및 장치
CN111316639B (zh) 视频解码方法和装置、及存储介质
JP2022515126A6 (ja) ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム
CN113557742A (zh) 视频编解码方法和装置
CN118042155A (zh) 视频编解码的方法、装置以及存储介质
JP7427814B2 (ja) ビデオ符号化及び復号の方法及び装置並びにコンピュータプログラム
CN110798685A (zh) 一种视频解码方法、装置、计算机设备及存储介质
CN113574896B (zh) 获取帧内预测模式的方法、设备和电子设备
CN113812158A (zh) 可缩放视频流的输出层集的信令方法
CN114073084B (zh) 视频编解码方法、装置和存储介质
CN110708554B (zh) 视频编解码的方法及装置
CN113728628B (zh) 合并候选搜索方法和设备
CN112135151A (zh) 视频解码方法、系统、计算机设备和存储介质
JP7061680B2 (ja) ビデオ符号化において縮減された前のラインバッファを使用するインター予測の方法及び装置
CN113491128B (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