CN113824960B - 视频编码方法、装置、计算机可读介质及电子设备 - Google Patents

视频编码方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
CN113824960B
CN113824960B CN202111056656.1A CN202111056656A CN113824960B CN 113824960 B CN113824960 B CN 113824960B CN 202111056656 A CN202111056656 A CN 202111056656A CN 113824960 B CN113824960 B CN 113824960B
Authority
CN
China
Prior art keywords
block
class
coded
encoded
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
CN202111056656.1A
Other languages
English (en)
Other versions
CN113824960A (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
Priority to CN202111056656.1A priority Critical patent/CN113824960B/zh
Publication of CN113824960A publication Critical patent/CN113824960A/zh
Application granted granted Critical
Publication of CN113824960B publication Critical patent/CN113824960B/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
    • 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/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/136Incoming video signal characteristics or properties
    • 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
    • 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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes

Abstract

本申请的实施例提供了一种视频编码方法、装置、计算机可读介质及电子设备。该视频编码方法,包括:根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类,得到至少一个类,所述已编码块的信息记录在列表中;根据各个类所包含的已编码块的矢量,确定所述待编码块的至少一个候选矢量,其中,一个类对应于一个所述候选矢量;根据所述各个类对应的候选矢量,从所述至少一个类中选择所述待编码块对应的目标类;根据所述目标类所对应的候选矢量确定所述待编码块的预测矢量,基于所述预测矢量对所述待编码块进行编码处理,并在编码信息中添加所述目标类的类别标识。本申请实施例的技术方案可以提高视频的编码效率。

Description

视频编码方法、装置、计算机可读介质及电子设备
本申请是2019年11月13日提交的、申请号为201911107991.2、发明名称为“视频编码及解码方法、装置、计算机可读介质及电子设备”的分案申请。
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种视频编码方法、装置、计算机可读介质及电子设备。
背景技术
在HEVC(High Efficiency Video Coding,高性能视频编码标准)、VVC(VersatileVideo Coding,多功能视频编码标准)等视频编码标准中,一般使用变长编码对最优预测MV(Motion Vector,运动向量)在候选预测MV列表所在的序号进行编码,序号越小则需要编码的比特数越少。然而,相关技术中提出的技术方案没有充分挖掘已编码块的信息,进而难以优化预测MV在列表的顺序,导致编码及解码效率较低。
发明内容
本申请的实施例提供了一种视频编码方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以提高编码效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种视频编码方法,包括:根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类,得到至少一个类,所述已编码块的信息记录在列表中;根据各个类所包含的已编码块的矢量,确定所述待编码块的至少一个候选矢量,其中,一个类对应于一个所述候选矢量;根据所述各个类对应的候选矢量,从所述至少一个类中选择所述待编码块对应的目标类;根据所述目标类所对应的候选矢量确定所述待编码块的预测矢量,基于所述预测矢量对所述待编码块进行编码处理,并在编码信息中添加所述目标类的类别标识。
根据本申请实施例的一个方面,提供了一种视频编码装置,包括:分类单元,用于根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类,得到至少一个类,所述已编码块的信息记录在列表中;确定单元,用于根据各个类所包含的已编码块的矢量,确定所述待编码块的至少一个候选矢量,其中,一个类对应于一个所述候选矢量;选择单元,用于根据所述各个类对应的候选矢量,从所述至少一个类中选择所述待编码块对应的目标类;编码单元,用于根据所述目标类所对应的候选矢量确定所述待编码块的预测矢量,基于所述预测矢量对所述待编码块进行编码处理,并在编码信息中添加所述目标类的类别标识。
在本申请的一些实施例中,基于前述方案,所述分类单元配置为:根据所述已编码块的尺寸大小,对所述已编码块进行分类;或根据所述已编码块与所述待编码块之间的空间位置关系,对所述已编码块进行分类;或根据所述已编码块的矢量重复次数,对所述已编码块进行分类。
在本申请的一些实施例中,基于前述方案,所述分类单元配置为:根据所述已编码块的尺寸大小,将尺寸大于第一阈值的已编码块划分为一个类;其中,所述尺寸包括以下任一:已编码块的宽度与高度的乘积、已编码块的宽度与高度之和、已编码块的宽度、已编码块的高度、已编码块的高度与宽度中的最大值、已编码块的高度与宽度中的最小值。
在本申请的一些实施例中,基于前述方案,所述分类单元配置为将以下位置中的至少一个位置处的已编码块作为一个类进行划分:
位于所述待编码块左上方的已编码块、位于所述待编码块左下方的已编码块、位于所述待编码块正左方的已编码块、位于所述待编码块正上方的已编码块、位于所述待编码块右上方的已编码块、位于所述待编码块右下方的已编码块、位于所述待编码块正右方的已编码块。
在本申请的一些实施例中,基于前述方案,若在像素坐标系中,所述待编码块的左上角像素的坐标为(x0,y0),所述待编码块的高度和宽度分别为h和w,第i个已编码块的左上角像素的坐标为(xi,yi),则:
将xi<x0且yi<y0的已编码块作为位于所述待编码块左上方的已编码块;将xi<x0且yi>y0+h的已编码块作为位于所述待编码块左下方的已编码块;将xi<x0且y0≤yi≤y0+h的已编码块作为位于所述待编码块正左方的已编码块;将x0≤xi≤x0+w且yi<y0的已编码块作为位于所述待编码块正上方的已编码块;将xi>x0+w且yi<y0的已编码块作为位于所述待编码块右上方的已编码块。
在本申请的一些实施例中,基于前述方案,若在像素坐标系中,所述待编码块的左上角像素的坐标为(x0,y0),所述待编码块的高度和宽度分别为h和w,第i个已编码块的左上角像素的坐标为(xi,yi),则:
将xi>x0+w且yi>y0+h的已编码块作为位于所述待编码块右下方的已编码块;将xi>x0+w且y0≤yi≤y0+h的已编码块作为位于所述待编码块正右方的已编码块。
在本申请的一些实施例中,基于前述方案,所述分类单元配置为:根据已编码块的矢量重复次数,将已编码块的矢量重复次数大于或等于第二阈值的已编码块划分为一类。
在本申请的一些实施例中,基于前述方案,所述确定单元包括:排序单元,用于对所述各个类所包含的已编码块进行排序,得到排序结果;处理单元,用于基于所述排序结果,将所述各个类中排列在指定位置的已编码块的矢量作为所述待编码块的候选矢量。
在本申请的一些实施例中,基于前述方案,所述排序单元配置为:按照编码顺序从后到前的顺序,对所述各个类所包含的已编码块进行排序;或按照已编码块的尺寸从大到小的顺序,对所述各个类所包含的已编码块进行排序;或按照距离待编码块从近到远的顺序,对所述各个类所包含的已编码块进行排序;或按照矢量重复次数从多到少的顺序,对所述各个类所包含的已编码块进行排序。
在本申请的一些实施例中,基于前述方案,所述选择单元配置为:根据所述各个类对应的候选矢量,计算将每个候选矢量作为待编码块的预测矢量的编码代价;选择编码代价最小的候选矢量,并将选择出的候选矢量所对应的类作为所述目标类。
在本申请的一些实施例中,基于前述方案,所述的视频编码装置还包括:第一生成单元,用于生成与所述待编码块相邻近的已编码块的列表,所述列表用于存储所述已编码块的信息;更新单元,用于若有新的已编码块需要添加至所述列表中,则根据所述新的已编码块的信息对所述列表进行更新。
在本申请的一些实施例中,基于前述方案,所述更新单元配置为:若所述新的已编码块的矢量与所述列表中的已编码块的矢量不相同,则将所述新的已编码块的信息添加至所述列表中;若所述新的已编码块的矢量与所述列表中的目标已编码块的矢量相同,则根据所述新的已编码块的信息对所述列表中存储的所述目标已编码块的信息进行更新。
在本申请的一些实施例中,基于前述方案,所述更新单元根据所述新的已编码块的信息对所述列表中存储的所述目标已编码块的信息进行更新,包括:若所述新的已编码块的尺寸大于所述目标已编码块的尺寸,则通过所述新的已编码块的尺寸更新所述列表中存储的所述目标已编码块的尺寸;根据所述新的已编码块的空间位置信息,更新所述列表中存储的所述目标已编码块的空间位置信息;更新所述列表中存储的所述目标已编码块的矢量重复次数。
在本申请的一些实施例中,基于前述方案,所述视频编码装置还包括:第二生成单元,用于生成候选类列表,通过所述候选类列表存储所述至少一个类的信息,以在所述候选类列表中确定所述目标类的类别标识。
在本申请的一些实施例中,基于前述方案,所述第二生成单元配置为:将所述至少一个类按照预定顺序添加至所述候选类列表中,若待添加至所述候选类列表中的类所对应的矢量与所述候选类列表中已有类对应的矢量重复,则执行以下任一过程:
将待添加至所述候选类列表中的类直接添加至所述候选类列表中;
禁止将待添加至所述候选类列表中的类添加至所述候选类列表中;
从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择与所述已有类对应的矢量不相同的矢量,将选择出的矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中。
在本申请的一些实施例中,基于前述方案,所述第二生成单元配置为:将所述至少一个类按照预定顺序添加至所述候选类列表中,若待添加至所述候选类列表中的类不包含有已编码块,则执行以下任一过程:
禁止将待添加至所述候选类列表中的类添加至所述候选类列表中;
从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择一个矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中;
从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择与所述候选类列表中已有类对应的矢量不相同的矢量,将选择出的矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中。
在本申请的一些实施例中,基于前述方案,与所述待编码块的位置相关联的已编码块包括:位于所述待编码块正左方的第一编码块、位于所述待编码块正上方的第二编码块、位于所述待编码块左上方的第三编码块、位于所述第一编码块正左方的第四编码块和位于所述第二编码块正上方的第五编码块。
在本申请的一些实施例中,基于前述方案,所述第二生成单元从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择与所述已有类对应的矢量不相同的矢量的过程,包括:按照预定顺序,从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择出第一个与所述已有类对应的矢量不相同的矢量。
在本申请的一些实施例中,基于前述方案,所述编码单元配置为:若采用帧内块复制方式,则将所述目标类所对应的候选矢量作为所述待编码块的预测矢量;若采用帧间编码方式,则根据所述目标类中包含的已编码块到参考帧的距离和所述待编码块到参考帧的距离,对所述目标类所对应的候选矢量进行放缩得到所述待编码块的预测矢量。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的视频编码方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的视频编码方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的视频编码方法。
在本申请的一些实施例所提供的技术方案中,通过对与待编码块相邻近的已编码块进行分类,根据各个类所包含的已编码块的矢量,确定待编码块的至少一个候选矢量,然后根据各个类对应的候选矢量,从至少一个类中选择待编码块对应的目标类,以根据目标类所对应的候选矢量确定待编码块的预测矢量,并基于预测矢量对待编码块进行编码处理,使得能够综合与待编码块相邻近的已编码块的信息来实现对待编码块的编码处理,减少了冗余预测矢量的数量,并且由于对已编码块进行了分类,并基于目标类所包含的已编码块的矢量来对待编码块进行解码处理,因此也使得相关性较高的已编码块能够被划分到目标类中,这样也确保了相关性较高的已编码块具有较小的序号,进而能够提高编码效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2示出视频编码装置和视频解码装置在流式传输环境中的放置方式示意图;
图3示出了根据本申请的一个实施例的视频编码方法的流程图;
图4A示出了根据本申请的一个实施例的已编码块与待编码块的位置关系示意图;
图4B示出了根据本申请的一个实施例的在像素坐标系中待编码块的位置示意图;
图4C示出了根据本申请的一个实施例的在像素坐标系中待编码块与已编码块的位置示意图;
图5示出了根据本申请的一个实施例的视频解码方法的流程图;
图6示出了根据本申请的一个实施例的视频解码装置的框图;
图7示出了根据本申请的一个实施例的视频编码装置的框图;
图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100包括多个终端装置,所述终端装置可通过例如网络150彼此通信。举例来说,系统架构100可以包括通过网络150互连的第一终端装置110和第二终端装置120。在图1的实施例中,第一终端装置110和第二终端装置120执行单向数据传输。举例来说,第一终端装置110可对视频数据(例如由终端装置110采集的视频图片流)进行编码以通过网络150传输到第二终端装置120。已编码的视频数据以一个或多个已编码视频码流形式传输。第二终端装置120可从网络150接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。
在本申请的一个实施例中,系统架构100可以包括执行已编码视频数据的双向传输的第三终端装置130和第四终端装置140,所述双向传输比如可以发生在视频会议期间。对于双向数据传输,第三终端装置130和第四终端装置140中的每个终端装置可对视频数据(例如由终端装置采集的视频图片流)进行编码,以通过网络150传输到第三终端装置130和第四终端装置140中的另一终端装置。第三终端装置130和第四终端装置140中的每个终端装置还可接收由第三终端装置130和第四终端装置140中的另一终端装置传输的已编码视频数据,且可对已编码视频数据进行解码以恢复视频数据,并可根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图1的实施例中,第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140可为服务器、个人计算机和智能电话,但本申请公开的原理可不限于此。本申请公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络150表示在第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络150可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络150的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
在本申请的一个实施例中,图2示出视频编码装置和视频解码装置在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。
流式传输系统可包括采集子系统213,采集子系统213可包括数码相机等视频源201,视频源创建未压缩的视频图片流202。在实施例中,视频图片流202包括由数码相机拍摄的样本。相较于已编码的视频数据204(或已编码的视频码流204),视频图片流202被描绘为粗线以强调高数据量的视频图片流,视频图片流202可由电子装置220处理,电子装置220包括耦接到视频源201的视频编码装置203。视频编码装置203可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流202,已编码的视频数据204(或已编码的视频码流204)被描绘为细线以强调较低数据量的已编码的视频数据204(或已编码的视频码流204),其可存储在流式传输服务器205上以供将来使用。一个或多个流式传输客户端子系统,例如图2中的客户端子系统206和客户端子系统208,可访问流式传输服务器205以检索已编码的视频数据204的副本207和副本209。客户端子系统206可包括例如电子装置230中的视频解码装置210。视频解码装置210对已编码的视频数据的传入副本207进行解码,且产生可在显示器212(例如显示屏)或另一呈现装置上呈现的输出视频图片流211。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据204、视频数据207和视频数据209(例如视频码流)进行编码。该些标准的实施例包括ITU-T H.265。在实施例中,正在开发的视频编码标准非正式地称为下一代视频编码(Versatile Video Coding,VVC),本申请可用于VVC标准的上下文中。
应注意,电子装置220和电子装置230可包括图中未示出的其它组件。举例来说,电子装置220可包括视频解码装置,且电子装置230还可包括视频编码装置。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图3示出了根据本申请的一个实施例的视频编码方法的流程图,该视频编码方法可以由前述实施例中的视频编码装置来执行。参照图3所示,该视频编码方法至少包括步骤S310至步骤S340,详细介绍如下:
在步骤S310中,根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类,得到至少一个类。
首先需要说明的是:下文中出现的矢量可以是运动矢量(Motion Vector,运动矢量)或块矢量(Block Vector,块矢量)。具体而言,在采用帧间编码方式时,矢量被理解为运动矢量;在采用帧内块复制方式时,矢量被理解为块矢量。
在本申请的一个实施例中,可以构建长度为n的列表,该列表用于记录与待编码块相邻近的已编码块的信息。其中,该列表除了可以记录已编码块的矢量,还可以记录已编码块的如下信息:
①已编码块的尺寸信息,如宽度或高度等;
②已编码块的位置信息,如已编码块左上角的横坐标或纵坐标等;
③已编码块的矢量重复次数,新加入列表中的已编码块的矢量重复次数可以设为1。
在本申请的一个实施例中,若有新的已编码块(为便于描述,以下将该已编码块记为编码块1)需要加入列表,则可以比较编码块1与列表中已有的已编码块的矢量是否重复,若列表中的已编码块的矢量与编码块1的矢量不相同,则直接将该编码块1的信息添加到列表中;若编码块1的矢量与列表中的某个已编码块(为便于描述,以下将该编码块记为编码块2)的矢量存在重复,则可以通过以下方式更新列表中的已编码块的信息:
①若编码块1的尺寸大于编码块2的尺寸,则通过编码块1的尺寸更新列表中记录的编码块2的尺寸;
②通过编码块1的空间位置信息更新列表中记录的编码块2的空间位置信息;
③更新列表中存储的编码块2的矢量重复次数,比如将列表中记录的编码块2的矢量重复次数+1。
在本申请的一个实施例中,还可以将编码块1的信息直接添加至列表中,然后对编码块1和编码块2的矢量重复次数进行更新,如将编码块1和编码块2的矢量重复次数都+1。
在本申请的一个实施例中,在构建上述的列表之后,可以对列表中记录的已编码块进行分类。其中,可选的分类方法包括如下几种:
①根据已编码块的尺寸进行分类:
在本申请的一个实施例中,可以设置尺寸阈值,然后将尺寸大于或等于该尺寸阈值的已编码块划分为一类。当然,也可以将尺寸小于该尺寸阈值的已编码块划分为一类。比如,如图4A所示,可以根据尺寸将已编码块1和已编码块9划分为一类,其它的已编码块划分为另一类。
在本申请的一个实施例中,已编码块的尺寸可以是宽度与高度的乘积,或者可以是宽度与高度之和,或者可以是已编码块的宽度,或者可以是已编码块的高度,或者可以是已编码块的宽度与高度中的最大值,或者也可以是已编码块的宽度与高度中的最小值。
②根据已编码块的位置进行分类:
在本申请的一个实施例中,如图4B所示,在像素坐标系中,假设待编码块左上角像素的坐标为(x0,y0),待编码块的高度和宽度分别为h和w,第i个已编码块的左上角像素的坐标为(xi,yi),那么可以按照如下分类方式对已编码块进行分类:
将xi<x0的已编码块分为一类,即将位于待编码块左侧的已编码块划分为一类,比如在图4A中,将位于待编码块左侧的已编码块1、2、3、4、5、9、10、11和12划分为一类;
将xi<x0且yi<y0的已编码块分为一类,即将位于待编码块左上方的已编码块划分为一类,比如在图4A中,将位于待编码块左上方的已编码块1、2、3、4、5划分为一类;
将xi<x0且yi>y0+h的已编码块分为一类,即将位于待编码块左下方的已编码块划分为一类,比如在图4A中,将位于待编码块左下方的已编码块11和12划分为一类;
将xi<x0且y0≤yi≤y0+h的已编码块分为一类,即将位于待编码块正左方的已编码块划分为一类,比如在图4A中,将位于待编码块正左方的已编码块9和10划分为一类;
将yi<y0的已编码块分为一类,即将位于待编码块上方的已编码块划分为一类,比如在图4A中,将位于待编码块上方的已编码块1、2、3、4、5、6、7和8划分为一类;
将x0≤xi≤x0+w且yi<y0的已编码块分为一类,即将位于待编码块正上方的已编码块划分为一类,比如在图4A中,将位于待编码块正上方的已编码块6划分为一类;
将xi>x0+w的已编码块分为一类,即将位于待编码块右侧的已编码块划分为一类,比如在图4A中,将位于待编码块右侧的已编码块7和8划分为一类;
将xi>x0+w且yi<y0的已编码块分为一类,即将位于待编码块右上方的已编码块划分为一类,比如在图4A中,将位于待编码块右上方的已编码块7和8划分为一类;
将xi>x0+w且yi>y0+h的已编码块分为一类,即将位于待编码块右下方的已编码块划分为一类;
将xi>x0+w且y0≤yi≤y0+h的已编码块分为一类,即将位于待编码块正右方的已编码块划分为一类。
③根据已编码块的矢量重复次数进行分类:
在本申请的一个实施例中,可以设置矢量重复次数阈值,然后将矢量重复次数大于或等于该矢量重复次数阈值的已编码块划分为一类。当然,也可以将矢量重复次数小于该矢量重复次数阈值的已编码块划分为一类。
继续参照图3所示,在步骤S320中,根据各个类所包含的已编码块的矢量,确定所述待编码块的至少一个候选矢量,其中,一个类对应于一个所述候选矢量。
在本申请的一个实施例中,若采用帧内块复制方式,则可以对各个类所包含的已编码块进行排序,然后按照顺序,将各个类中排列在第一位的已编码块的矢量(即BV)作为待编码块的候选矢量(即候选BV)。当然,也可以将排列在第二位或其它位置的已编码块的矢量作为待编码块的候选矢量。
在本申请的一个实施例中,在采用帧间编码的情况下,由于其他编码块的参考帧可能与待编码块的参考帧不一样,因此需要根据其他编码块到参考帧的距离和待编码块到参考帧的距离,对其他编码块的MV进行放缩,以此来得到待编码块的候选MV。比如,可以对各个类所包含的已编码块进行排序,然后按照顺序,对各个类中排列在第一位的已编码块的MV进行放缩处理得到待编码块的候选MV。当然,也可以对排列在第二位或其它位置的已编码块的矢量进行放缩处理得到待编码块的候选MV。
在本申请的一个实施例中,可以按照编码顺序从后到前对已编码块进行排序,即编码顺序距离待编码越近的已编码块在类中具有更高的优排序先级;或者可以按照已编码块的尺寸从大到小的顺序对已编码块进行排序;或者也可以按照距离待编码块从近到远的顺序对已编码块进行排序;当然还可以按照矢量重复次数从多到少的顺序对已编码块进行排序。
继续参照图3所示,在步骤S330中,根据所述各个类对应的候选矢量,从所述至少一个类中选择所述待编码块对应的目标类。
在本申请的一个实施例中,可以根据各个类对应的候选矢量,计算将每个候选矢量作为待编码块的预测矢量的编码代价,然后选择编码代价最小的候选矢量,并将该候选矢量对应的类作为前述的目标类。
在步骤S340中,根据所述目标类所对应的候选矢量确定所述待编码块的预测矢量,基于所述预测矢量对所述待编码块进行编码处理,并在编码信息中添加所述目标类的类别标识。
在本申请的一个实施例中,目标类的类别标识可以是目标类的索引标识。比如,可以在对已编码块进行分类之后,生成候选类列表,然后通过该候选类列表存储分类得到的至少一个类的信息,进而可以在该候选类列表中确定目标类的索引标识。
在本申请的一个实施例中,可以按照预定的顺序将分类得到的至少一个类添加至候选类列表中,在这种情况下,如果需要添加至候选类列表中的某个类对应的矢量与候选类列表中已有类对应的矢量重复,则可以有如下的处理方式:
①直接将该类添加至候选类列表中;
②不将该类添加至候选类列表中;
③可以依次从相对当前待编码块(-w,0)、(0,-h)、(-w,-h)、(-2w,0)、(0,-2h)的位置找到第一个与候选类列表中的已有类对应的矢量都不重复的矢量,作为该类对应的矢量,并添加至候选类列表中。其中,该实施例中的顺序仅为示例,在本申请的其它实施例中也可以设置其它的排列顺序。
在本申请的一个实施例中,在按照预定的顺序将分类得到的至少一个类添加至候选类列表的过程中,如果某个类不包含任何已编码块,则可以有如下的处理方式:
①不将该类添加至候选类列表中;
②可以依次从相对当前待编码块(-w,0)、(0,-h)、(-w,-h)、(-2w,0)、(0,-2h)的位置找到第一个矢量作为该类对应的矢量,并添加至候选类列表中;
③可以依次从相对当前待编码块(-w,0)、(0,-h)、(-w,-h)、(-2w,0)、(0,-2h)的位置找到第一个与候选类列表中的已有类对应的矢量都不重复的矢量,作为该类对应的矢量,并添加至候选类列表中。
具体地,如图4C所示,相对当前待编码块(-w,0)的位置即为位置1,相对当前待编码块(0,-h)的位置即为位置2,相对当前待编码块(-w,-h)的位置即为位置3,相对当前待编码块(-2w,0)的位置即为位置4,相对当前待编码块(0,-2h)的位置即为位置5。
在本申请的一个实施例中,若采用帧内块复制方式,则可以将目标类所对应的候选矢量(即候选BV)作为待编码块的预测矢量(即预测BV);而在采用帧间编码的情况下,由于其他编码块(其他编码块在该实施例中即为目标类中所包含的编码块,该编码块的MV作为目标类所对应的候选MV)的参考帧可能与待编码块的参考帧不一样,因此需要根据其他编码块到参考帧的距离d_ref和待编码块到参考帧的距离d,对其他编码块的MV_ref进行放缩,即待编码块的预测
在本申请的一个实施例中,若采用帧间编码方式,则可以结合预测矢量(即预测MV)采用类似于Merge、Skip或者AMVP(Advanced Motion Vector Prediction,高级运动矢量预测)的方式对待编码块进行编码。
其中,在基于上述分类方法构建候选类列表之后,Merge模式会遍历候选类对应的MV,选取率失真代价最小的类作为最优类(即上述的目标类)。若编码器和解码器依照相同的方式建立候选类列表,则编码器只需要传输最优类在候选类列表中的索引标识即可。Skip模式是Merge模式的一种特例,即在Merge模式找到最优类后,如果待编码块和参考编码块基本一样,那么不需要传输残差数据,只需要传送最优类的索引标识和一个skip flag即可。AMVP模式与Merge模式不同,AMVP模式从候选类列表中选择最优类,使用最优类对应的预测MV与当前待编码块通过运动搜索得到的最优MV进行差分编码,即编码MVD(MotionVector Difference,运动矢量差值),其中MVD=MV-MVP(Motion Vector Prediction,运动矢量预测),并且解码端通过建立相同的列表,仅需要MVD与MVP在该列表中的序号即可计算当前待解码块的MV。
在本申请的一个实施例中,若采用的帧内块复制(Intra Block Copy,IBC)方式,则可以结合预测矢量(即预测BV)对待编码块进行编码。具体地,可以采用三种模式进行编码预测,这三种模式即为skip模式、direct模式和bvp(Block Vector Predictor,块矢量预测)模式。
具体而言,在基于上述分类方法构建候选类列表之后,Direct模式遍历候选类对应的BV,选取率失真代价最小的类作为最优类(即上述的目标类)。若编码器和解码器依照相同的方式建立候选类列表,则编码器只需要传输最优类在候选类列表中的索引标识即可。Skip模式是Direct模式的一种特例,即在Direct模式找到最优类后,如果待编码块和参考编码块基本一样,那么不需要传输残差数据,只需要传送最优类的索引标识和一个skipflag即可。BVP模式从候选类列表中选择最优类,使用最优类对应的预测BV与当前待编码块通过运动搜索得到的最优BV进行差分编码,即编码BVD(Block Vector Difference,块矢量差值),其中BVD=BV-BVP,解码端通过建立相同的列表,仅需要BVD与最优类在该列表中的索引序号即可计算当前待解码块的BV。
在一个示例中,skip模式、direct模式和bvp模式对应的语法描述的伪代码如下表1所示:
表1
参照表1所示,当IbcCuFlag=1时,表示是采用IBC方式进行编码;当ibc_skip_flag=1时,表示是skip模式;当ibc_skip_flag=0,ibc_direct_flag=1时,表示是direct模式;当ibc_skip_flag=0,ibc_direct_flag=0时,表示是bvp模式。
在本申请的上述实施例中,通过在编码信息中添加目标类的类别标识,使得解码端能够根据该类别标识确定该目标类,进而基于确定的目标类所包含的信息进行解码处理。
需要说明的是,图3所示的各个步骤的执行顺序仅为示例,在本申请的其它实施例中,步骤S310和步骤S320的执行顺序可以调换,比如可以先执行步骤S320,再执行步骤S310;或者也可以同时执行步骤S310和步骤S320。
图3所示实施例的技术方案使得能够综合与待编码块相邻近的已编码块的信息来实现对待编码块的编码处理,减少了冗余预测矢量的数量,并且由于对已编码块进行了分类,并基于目标类所包含的已编码块的矢量来对待编码块进行解码处理,因此也使得相关性较高的已编码块能够被划分到目标类中,这样也确保了相关性较高的已编码块具有较小的序号,进而能够提高编码效率。
图5示出了根据本申请的一个实施例的视频解码方法的流程图,该视频解码方法可以由前述实施例中的视频解码装置来执行。参照图5所示,该视频解码方法至少包括步骤S510至步骤S540,详细介绍如下:
在步骤S510,根据与待解码块相邻近的已解码块的信息对所述已解码块进行分类,得到至少一个类。
在本申请的一个实施例中,解码端可以采用与编码端类似的方式,即可以生成与待解码块相邻近的已解码块的列表,该列表用于存储已解码块的信息。比如,可以存储已解码块的矢量、已解码块的尺寸大小、已解码块的空间位置、已解码块的矢量重复次数等。
在本申请的一个实施例中,当有新的已解码块需要添加至列表中时,则可以根据该新的已解码块的信息对上述列表进行更新。具体地,若新的已解码块的矢量与列表中的已解码块的矢量不相同,则将新的已解码块的信息添加至列表中;若新的已解码块的矢量与列表中的目标已解码块的矢量相同,则可以根据新的已解码块的信息对列表中存储的目标已解码块的信息进行更新。
在本申请的一个实施例中,若新的已解码块的矢量与列表中的目标已解码块的矢量相同,则根据新的已解码块的信息对列表中存储的目标已解码块的信息进行更新,可以包括以下至少之一:
若新的已解码块的尺寸大于目标已解码块的尺寸,则通过新的已解码块的尺寸更新列表中存储的目标已解码块的尺寸;
通过新的已解码块的空间位置信息更新列表中存储的目标已解码块的空间位置信息;
更新列表中存储的目标已解码块的矢量重复次数,比如将列表中记录的目标已解码块的矢量重复次数+1。
在本申请的一个实施例中,若新的已解码块的矢量与列表中的目标已解码块的矢量相同,则可以将新的已解码块的信息作为一个新的列表实例添加至列表中,同时可以对新的已解码块的矢量重复次数和列表中存储的目标已解码块的矢量重复次数进行更新,如将矢量重复次数+1。
在本申请的一个实施例中,根据与待解码块相邻近的已解码块的信息对已解码块进行分类时,可选的分类方法包括如下几种:
①根据已解码块的尺寸大小,对已解码块进行分类:
在本申请的一个实施例中,可以根据已解码块的尺寸大小,将尺寸大于(或者是大于等于)第一阈值的已解码块划分为一个类;当然也可以将尺寸小于第一阈值的已解码块划分为一个类。
其中,已解码块的尺寸包括以下任一:已解码块的宽度与高度的乘积、已解码块的宽度与高度之和、已解码块的宽度、已解码块的高度、已解码块的高度与宽度中的最大值、已解码块的高度与宽度中的最小值。
②根据已解码块与待解码块之间的空间位置关系,对已解码块进行分类:
在本申请的一个实施例中,假设在像素坐标系中,待解码块左上角像素的坐标为(x0,y0),待解码块的高度和宽度分别为h和w,第i个已解码块的左上角像素的坐标为(xi,yi),那么可以按照如下分类方式对已解码块进行分类:
将xi<x0的已解码块分为一类,即将位于待解码块左侧的已解码块划分为一类;
将xi<x0且yi<y0的已解码块分为一类,即将位于待解码块左上方的已解码块划分为一类;
将xi<x0且yi>y0+h的已解码块分为一类,即将位于待解码块左下方的已解码块划分为一类;
将xi<x0且y0≤yi≤y0+h的已解码块分为一类,即将位于待解码块正左方的已解码块划分为一类;
将yi<y0的已解码块分为一类,即将位于待解码块上方的已解码块划分为一类;
将x0≤xi≤x0+w且yi<y0的已解码块分为一类,即将位于待解码块正上方的已解码块划分为一类;
将xi>x0+w的已解码块分为一类,即将位于待解码块右侧的已解码块划分为一类;
将xi>x0+w且yi<y0的已解码块分为一类,即将位于待解码块右上方的已解码块划分为一类;
将xi>x0+w且yi>y0+h的已解码块分为一类,即将位于待解码块右下方的已解码块划分为一类;
将xi>x0+w且y0≤yi≤y0+h的已解码块分为一类,即将位于待解码块正右方的已解码块划分为一类。
③根据已解码块的矢量重复次数,对已解码块进行分类:
在本申请的一个实施例中,可以根据已解码块的矢量重复次数,将已解码块的矢量重复次数大于或等于第二阈值的已解码块划分为一类。当然,也可以将矢量重复次数小于该第二阈值的已解码块划分为一类。
继续参照图5所示,在步骤S520,基于所述待解码块对应的编码信息,获取所述待解码块对应的类别标识。
在本申请的一个实施例中,由于编码端在编码时,在编码信息中添加选定的目标类的类别标识,因此解码端可以基于待解码块对应的编码信息获取待解码块对应的类别标识。
在步骤S530,根据所述待解码块对应的类别标识,从所述至少一个类中确定所述待解码块对应的目标类。
在本申请的一个实施例中,解码端在对已解码块进行分类时所采用的分类方案应当与编码段对已编码块进行分类时所采用的分类方案相同,在这种情况下,解码端根据待解码块对应的类别标识确定与待解码块对应的目标类才能够与编码端选定的目标类相匹配。
在本申请的一个实施例中,待解码块对应的类别标识可以是索引标识。在这种情况下,解码端在对已解码块进行分类之后,可以生成候选类列表,并通过该候选类列表存储至少一个类的信息,进而可以根据待解码块对应的索引标识,在候选类列表中查找目标类。
在本申请的一个实施例中,类似于编码端的操作,可以将至少一个类按照预定顺序添加至候选类列表中,在这种情况下,若待添加至候选类列表中的某个类所对应的矢量与候选类列表中已有类对应的矢量重复,则可以执行以下任一过程:
①将该类直接添加至候选类列表中;
②不将该类添加至候选类列表中;
③从与待解码块的位置相关联的已解码块所对应的矢量中,选择与已有类对应的矢量不相同的矢量,将选择出的矢量作为待添加至候选类列表中的类所对应的矢量,并添加至候选类列表中。
在本申请的一个实施例中,在将至少一个类按照预定顺序添加至候选类列表的过程中,若待添加至候选类列表中的某个类不包含有已解码块,则执行以下任一过程:
①不将该类添加至候选类列表中;
②从与待解码块的位置相关联的已解码块所对应的矢量中,选择一个矢量作为待添加至候选类列表中的类所对应的矢量,并添加至候选类列表中;
③从与待解码块的位置相关联的已解码块所对应的矢量中,选择与已有类对应的矢量不相同的矢量,将选择出的矢量作为待添加至候选类列表中的类所对应的矢量,并添加至候选类列表中。
其中,与待解码块的位置相关联的已解码块包括:位于待解码块正左方的第一解码块(即相对待解码块(-w,0)的位置的解码块)、位于待解码块正上方的第二解码块(即相对待解码块(0,-h)的位置的解码块)、位于待解码块左上方的第三解码块(即相对待解码块(-w,-h)的位置的解码块)、位于第一解码块正左方的第四解码块(即相对待解码块(-2w,0)的位置的解码块)和位于第二解码块正上方的第五解码块(即相对待解码块(0,-2h)的位置的解码块)。
在步骤S540,基于所述目标类所包含的已解码块的矢量,确定所述待解码块的预测矢量,并基于所述预测矢量对所述待解码块进行解码处理。
在本申请的一个实施例中,在确定待解码块的预测矢量时,可以对目标类所包含的已解码块进行排序,得到排序结果,然后基于该排序结果,将目标类中排列在指定位置的已解码块的矢量作为待解码块的预测矢量。比如,可以将目标类中排列在第一位的已解码块的矢量作为待解码块的预测矢量。或者也可以将排列在第二位或其它位置的已解码块的矢量作为待解码块的预测矢量。
在本申请的一个实施例中,在对目标类所包含的已解码块进行排序时,可以根据目标类所包含的已解码块的解码顺序,对目标类所包含的已解码块进行排序。比如可以按照解码顺序距离待解码块由近至远的顺序,对目标类所包含的已解码块进行排序。
在本申请的一个实施例中,可以根据目标类所包含的已解码块的尺寸大小,对目标类所包含的已解码块进行排序。比如,可以按照尺寸从大到小的顺序,对目标类所包含的已解码块进行排序。
在本申请的一个实施例中,可以根据目标类所包含的已解码块与待解码块之间的空间距离,对目标类所包含的已解码块进行排序。比如,可以按照与待解码块之间的空间距离由近至远的顺序,对目标类所包含的已解码块进行排序。
在本申请的一个实施例中,可以根据目标类所包含的已解码块的矢量重复次数,对目标类所包含的已解码块进行排序。比如,可以按照矢量重复次数由多到少的顺序,对目标类所包含的已解码块进行排序。
图5所示实施例的技术方案使得能够综合与待解码块相邻近的已解码块的信息来实现对待解码块的解码处理,减少了冗余预测矢量的数量,并且由于对已解码块进行了分类,并基于目标类所包含的已解码块的矢量来对待解码块进行解码处理,因此也使得相关性较高的已解码块能够被划分到目标类中,这样也确保了相关性较高的已解码块具有较小的序号,进而能够提高解码效率。
本申请实施例的技术方案可以根据已编码块(或已解码块)尺寸、位置和矢量(采用帧间编码方式时,矢量被理解为MV;在采用帧内块复制方式时,矢量被理解为BV)的重复次数等信息对编码(或解码)顺序邻近或空间位置邻近的已编码块(或已解码块)进行分类,然后选择一类已编码块(或已解码块)导出当前待编码块(或待解码块)的预测矢量(采用帧间编码方式时,预测矢量被理解为预测MV;在采用帧内块复制方式时,预测矢量被理解为预测BV),结合该预测矢量对当前待编码块(或待解码块)进行编码(或解码),该方案一方面通过综合各类已编码块(或已解码块)的信息,减少了冗余预测矢量的数量,另一方面可以使相关性更高的编码块(或解码块)导出的预测矢量具有更小的序号,从而提高编码(或解码)效率。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的解码方法或编码方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的解码方法或编码方法的实施例。
图6示出了根据本申请的一个实施例的视频解码装置的框图。
参照图6所示,根据本申请的一个实施例的视频解码装置600,包括:分类单元602、获取单元604、确定单元606和解码单元608。
其中,分类单元602用于根据与待解码块相邻近的已解码块的信息对所述已解码块进行分类,得到至少一个类;获取单元604用于基于所述待解码块对应的编码信息,获取所述待解码块对应的类别标识;确定单元606用于根据所述待解码块对应的类别标识,从所述至少一个类中确定所述待解码块对应的目标类;解码单元608用于基于所述目标类所包含的已解码块的矢量,确定所述待解码块的预测矢量,并基于所述预测矢量对所述待解码块进行解码处理。
在本申请的一些实施例中,基于前述方案,分类单元602配置为:根据所述已解码块的尺寸大小,对所述已解码块进行分类;或根据所述已解码块与所述待解码块之间的空间位置关系,对所述已解码块进行分类;或根据所述已解码块的矢量重复次数,对所述已解码块进行分类。
在本申请的一些实施例中,基于前述方案,分类单元602配置为:根据所述已解码块的尺寸大小,将尺寸大于第一阈值的已解码块划分为一个类;其中,所述尺寸包括以下任一:已解码块的宽度与高度的乘积、已解码块的宽度与高度之和、已解码块的宽度、已解码块的高度、已解码块的高度与宽度中的最大值、已解码块的高度与宽度中的最小值。
在本申请的一些实施例中,基于前述方案,分类单元602配置为根据所述已解码块与所述待解码块之间的空间位置关系,对所述已解码块进行分类,包括以下至少之一:
将位于所述待解码块左侧的已解码块划分为一个类;
将位于所述待解码块左上方的已解码块划分为一个类;
将位于所述待解码块左下方的已解码块划分为一个类;
将位于所述待解码块正左方的已解码块划分为一个类;
将位于所述待解码块上方的已解码块划分为一个类;
将位于所述待解码块正上方的已解码块划分为一个类;
将位于所述待解码块右侧的已解码块划分为一个类;
将位于所述待解码块右上方的已解码块划分为一个类;
将位于所述待解码块右下方的已解码块划分为一个类;
将位于所述待解码块正右方的已解码块划分为一个类。
在本申请的一些实施例中,基于前述方案,若在像素坐标系中,所述待解码块的左上角像素的坐标为(x0,y0),所述待解码块的高度和宽度分别为h和w,第i个已解码块的左上角像素的坐标为(xi,yi),则分类单元602配置为:
将xi<x0的已解码块作为位于所述待解码块左侧的已解码块;
将xi<x0且yi<y0的已解码块作为位于所述待解码块左上方的已解码块;
将xi<x0且yi>y0+h的已解码块作为位于所述待解码块左下方的已解码块;
将xi<x0且y0≤yi≤y0+h的已解码块作为位于所述待解码块正左方的已解码块;
将yi<y0的已解码块作为位于所述待解码块上方的已解码块;
将x0≤xi≤x0+w且yi<y0的已解码块作为位于所述待解码块正上方的已解码块;
将xi>x0+w的已解码块作为位于所述待解码块右侧的已解码块;
将xi>x0+w且yi<y0的已解码块作为位于所述待解码块右上方的已解码块;
将xi>x0+w且yi>y0+h的已解码块作为位于所述待解码块右下方的已解码块;
将xi>x0+w且y0≤yi≤y0+h的已解码块作为位于所述待解码块正右方的已解码块。
在本申请的一些实施例中,基于前述方案,分类单元602配置为:根据已解码块的矢量重复次数,将已解码块的矢量重复次数大于或等于第二阈值的已解码块划分为一类。
在本申请的一些实施例中,基于前述方案,解码单元608包括:排序单元,用于对所述目标类所包含的已解码块进行排序,得到排序结果;处理单元,用于基于所述排序结果,将所述目标类中排列在指定位置的已解码块的矢量作为所述待解码块的预测矢量。
在本申请的一些实施例中,基于前述方案,所述排序单元配置为:根据所述目标类所包含的已解码块的解码顺序,对所述目标类所包含的已解码块进行排序;或根据所述目标类所包含的已解码块的尺寸大小,对所述目标类所包含的已解码块进行排序;或根据所述目标类所包含的已解码块与所述待解码块之间的空间距离,对所述目标类所包含的已解码块进行排序;或根据所述目标类所包含的已解码块的矢量重复次数,对所述目标类所包含的已解码块进行排序。
在本申请的一些实施例中,基于前述方案,所述排序单元根据所述目标类所包含的已解码块的解码顺序,对所述目标类所包含的已解码块进行排序,包括:按照解码顺序距离所述待解码块由近至远的顺序,对所述目标类所包含的已解码块进行排序。
在本申请的一些实施例中,基于前述方案,所述排序单元根据所述目标类所包含的已解码块的尺寸大小,对所述目标类所包含的已解码块进行排序,包括:按照尺寸从大到小的顺序,对所述目标类所包含的已解码块进行排序。
在本申请的一些实施例中,基于前述方案,所述排序单元根据所述目标类所包含的已解码块与所述待解码块之间的空间距离,对所述目标类所包含的已解码块进行排序,包括:按照与所述待解码块之间的空间距离由近至远的顺序,对所述目标类所包含的已解码块进行排序。
在本申请的一些实施例中,基于前述方案,所述排序单元根据所述目标类所包含的已解码块的矢量重复次数,对所述目标类所包含的已解码块进行排序,包括:按照矢量重复次数由多到少的顺序,对所述目标类所包含的已解码块进行排序。
在本申请的一些实施例中,基于前述方案,所述的视频解码装置600还包括:生成单元,用于生成与所述待解码块相邻近的已解码块的列表,所述列表用于存储所述已解码块的信息;更新单元,用于在有新的已解码块需要添加至所述列表中时,根据所述新的已解码块的信息对所述列表进行更新。
在本申请的一些实施例中,基于前述方案,所述更新单元配置为:若所述新的已解码块的矢量与所述列表中的已解码块的矢量不相同,则将所述新的已解码块的信息添加至所述列表中;若所述新的已解码块的矢量与所述列表中的目标已解码块的矢量相同,则根据所述新的已解码块的信息对所述列表中存储的所述目标已解码块的信息进行更新。
在本申请的一些实施例中,基于前述方案,所述更新单元根据所述新的已解码块的信息对所述列表中存储的所述目标已解码块的信息进行更新,包括以下至少之一:若所述新的已解码块的尺寸大于所述目标已解码块的尺寸,则通过所述新的已解码块的尺寸更新所述列表中存储的所述目标已解码块的尺寸;根据所述新的已解码块的空间位置信息更新所述列表中存储的所述目标已解码块的空间位置信息;更新所述列表中存储的所述目标已解码块的矢量重复次数。
在本申请的一些实施例中,基于前述方案,视频解码装置600还包括:第二生成单元,用于生成候选类列表,通过所述候选类列表存储所述至少一个类的信息;确定单元606配置为:根据所述待解码块对应的类别标识,在所述候选类列表中查找所述目标类。
在本申请的一些实施例中,基于前述方案,所述第二生成单元配置为:将所述至少一个类按照预定顺序添加至所述候选类列表中,若待添加至所述候选类列表中的类所对应的矢量与所述候选类列表中已有类对应的矢量重复,则执行以下任一过程:
将待添加至所述候选类列表中的类直接添加至所述候选类列表中;
禁止将待添加至所述候选类列表中的类添加至所述候选类列表中;
从与所述待解码块的位置相关联的已解码块所对应的矢量中,选择与所述已有类对应的矢量不相同的矢量,将选择出的矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中。
在本申请的一些实施例中,基于前述方案,所述第二生成单元配置为:将所述至少一个类按照预定顺序添加至所述候选类列表中,若待添加至所述候选类列表中的类不包含有已解码块,则执行以下任一过程:
禁止将待添加至所述候选类列表中的类添加至所述候选类列表中;
从与所述待解码块的位置相关联的已解码块所对应的矢量中,选择一个矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中;
从与所述待解码块的位置相关联的已解码块所对应的矢量中,选择与所述已有类对应的矢量不相同的矢量,将选择出的矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中。
在本申请的一些实施例中,基于前述方案,与所述待解码块的位置相关联的已解码块包括:位于所述待解码块正左方的第一解码块、位于所述待解码块正上方的第二解码块、位于所述待解码块左上方的第三解码块、位于所述第一解码块正左方的第四解码块和位于所述第二解码块正上方的第五解码块。
在本申请的一些实施例中,基于前述方案,所述第二生成单元从与所述待解码块的位置相关联的已解码块所对应的矢量中,选择与所述已有类对应的矢量不相同的矢量的过程,包括:按照预定顺序,从与所述待解码块的位置相关联的已解码块所对应的矢量中,选择出第一个与所述已有类对应的矢量不相同的矢量。
图7示出了根据本申请的一个实施例的视频编码装置的框图。
参照图7所示,根据本申请的一个实施例的视频编码装置700,包括:分类单元702、确定单元704、选择单元706和编码单元708。
其中,分类单元702用于根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类,得到至少一个类;确定单元704用于根据各个类所包含的已编码块的矢量,确定所述待编码块的至少一个候选矢量,其中,一个类对应于一个所述候选矢量;选择单元706用于根据所述各个类对应的候选矢量,从所述至少一个类中选择所述待编码块对应的目标类;编码单元708用于根据所述目标类所对应的候选矢量确定所述待编码块的预测矢量,基于所述预测矢量对所述待编码块进行编码处理,并在编码信息中添加所述目标类的类别标识。
图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(Central Processing Unit,CPU)801,其可以根据存储在只读存储器(Read-Only Memory,ROM)802中的程序或者从存储部分808加载到随机访问存储器(Random Access Memory,RAM)803中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 803中,还存储有系统操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(Input/Output,I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (22)

1.一种视频编码方法,其特征在于,包括:
根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类,得到至少一个类,所述已编码块的信息记录在列表中;
根据各个类所包含的已编码块的矢量,确定所述待编码块的至少一个候选矢量,其中,一个类对应于一个所述候选矢量;
根据所述各个类对应的候选矢量,从所述至少一个类中选择所述待编码块对应的目标类;
根据所述目标类所对应的候选矢量确定所述待编码块的预测矢量,基于所述预测矢量对所述待编码块进行编码处理,并在编码信息中添加所述目标类的类别标识。
2.根据权利要求1所述的视频编码方法,其特征在于,根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类,包括:
根据所述已编码块的尺寸大小,对所述已编码块进行分类;或
根据所述已编码块与所述待编码块之间的空间位置关系,对所述已编码块进行分类;或
根据所述已编码块的矢量重复次数,对所述已编码块进行分类。
3.根据权利要求2所述的视频编码方法,其特征在于,根据所述已编码块的尺寸大小,对所述已编码块进行分类,包括:
根据所述已编码块的尺寸大小,将尺寸大于第一阈值的已编码块划分为一个类;其中,所述尺寸包括以下任一:已编码块的宽度与高度的乘积、已编码块的宽度与高度之和、已编码块的宽度、已编码块的高度、已编码块的高度与宽度中的最大值、已编码块的高度与宽度中的最小值。
4.根据权利要求2所述的视频编码方法,其特征在于,根据所述已编码块与所述待编码块之间的空间位置关系,对所述已编码块进行分类,包括:将以下位置中的至少一个位置处的已编码块作为一个类进行划分:
位于所述待编码块左上方的已编码块、位于所述待编码块左下方的已编码块、位于所述待编码块正左方的已编码块、位于所述待编码块正上方的已编码块、位于所述待编码块右上方的已编码块、位于所述待编码块右下方的已编码块、位于所述待编码块正右方的已编码块。
5.根据权利要求4所述的视频编码方法,其特征在于,若在像素坐标系中,所述待编码块的左上角像素的坐标为(x0,y0),所述待编码块的高度和宽度分别为h和w,第i个已编码块的左上角像素的坐标为(xi,yi),则:
将xi<x0且yi<y0的已编码块作为位于所述待编码块左上方的已编码块;
将xi<x0且yi>y0+h的已编码块作为位于所述待编码块左下方的已编码块;
将xi<x0且y0≤yi≤y0+h的已编码块作为位于所述待编码块正左方的已编码块;
将x0≤xi≤x0+w且yi<y0的已编码块作为位于所述待编码块正上方的已编码块;
将xi>x0+w且yi<y0的已编码块作为位于所述待编码块右上方的已编码块。
6.根据权利要求4所述的视频编码方法,其特征在于,若在像素坐标系中,所述待编码块的左上角像素的坐标为(x0,y0),所述待编码块的高度和宽度分别为h和w,第i个已编码块的左上角像素的坐标为(xi,yi),则:
将xi>x0+w且yi>y0+h的已编码块作为位于所述待编码块右下方的已编码块;
将xi>x0+w且y0≤yi≤y0+h的已编码块作为位于所述待编码块正右方的已编码块。
7.根据权利要求2所述的视频编码方法,其特征在于,根据所述已编码块的矢量重复次数,对所述已编码块进行分类,包括:
根据已编码块的矢量重复次数,将已编码块的矢量重复次数大于或等于第二阈值的已编码块划分为一类。
8.根据权利要求1所述的视频编码方法,其特征在于,根据各个类所包含的已编码块的矢量,确定所述待编码块的至少一个候选矢量,包括:
对所述各个类所包含的已编码块进行排序,得到排序结果;
基于所述排序结果,将所述各个类中排列在指定位置的已编码块的矢量作为所述待编码块的候选矢量。
9.根据权利要求8所述的视频编码方法,其特征在于,对所述各个类所包含的已编码块进行排序,包括:
按照编码顺序从后到前的顺序,对所述各个类所包含的已编码块进行排序;或
按照已编码块的尺寸从大到小的顺序,对所述各个类所包含的已编码块进行排序;或
按照距离待编码块从近到远的顺序,对所述各个类所包含的已编码块进行排序;或
按照矢量重复次数从多到少的顺序,对所述各个类所包含的已编码块进行排序。
10.根据权利要求1所述的视频编码方法,其特征在于,根据所述各个类对应的候选矢量,从所述至少一个类中选择所述待编码块对应的目标类,包括:
根据所述各个类对应的候选矢量,计算将每个候选矢量作为待编码块的预测矢量的编码代价;
选择编码代价最小的候选矢量,并将选择出的候选矢量所对应的类作为所述目标类。
11.根据权利要求1至10中任一项所述的视频编码方法,其特征在于,还包括:
生成与所述待编码块相邻近的已编码块的列表,所述列表用于存储所述已编码块的信息;
若有新的已编码块需要添加至所述列表中,则根据所述新的已编码块的信息对所述列表进行更新。
12.根据权利要求11所述的视频编码方法,其特征在于,根据所述新的已编码块的信息对所述列表进行更新,包括:
若所述新的已编码块的矢量与所述列表中的已编码块的矢量不相同,则将所述新的已编码块的信息添加至所述列表中;
若所述新的已编码块的矢量与所述列表中的目标已编码块的矢量相同,则根据所述新的已编码块的信息对所述列表中存储的所述目标已编码块的信息进行更新。
13.根据权利要求12所述的视频编码方法,其特征在于,根据所述新的已编码块的信息对所述列表中存储的所述目标已编码块的信息进行更新,包括:
若所述新的已编码块的尺寸大于所述目标已编码块的尺寸,则通过所述新的已编码块的尺寸更新所述列表中存储的所述目标已编码块的尺寸;
根据所述新的已编码块的空间位置信息,更新所述列表中存储的所述目标已编码块的空间位置信息;
更新所述列表中存储的所述目标已编码块的矢量重复次数。
14.根据权利要求1所述的视频编码方法,其特征在于,在根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类之后,所述视频编码方法还包括:
生成候选类列表,通过所述候选类列表存储所述至少一个类的信息;
在所述候选类列表中确定所述目标类的类别标识。
15.根据权利要求14所述的视频编码方法,其特征在于,通过所述候选类列表存储所述至少一个类的信息,包括:将所述至少一个类按照预定顺序添加至所述候选类列表中,若待添加至所述候选类列表中的类所对应的矢量与所述候选类列表中已有类对应的矢量重复,则执行以下任一过程:
将待添加至所述候选类列表中的类直接添加至所述候选类列表中;
禁止将待添加至所述候选类列表中的类添加至所述候选类列表中;
从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择与所述已有类对应的矢量不相同的矢量,将选择出的矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中。
16.根据权利要求14所述的视频编码方法,其特征在于,通过所述候选类列表存储所述至少一个类的信息,包括:将所述至少一个类按照预定顺序添加至所述候选类列表中,若待添加至所述候选类列表中的类不包含有已编码块,则执行以下任一过程:
禁止将待添加至所述候选类列表中的类添加至所述候选类列表中;
从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择一个矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中;
从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择与所述候选类列表中已有类对应的矢量不相同的矢量,将选择出的矢量作为待添加至所述候选类列表中的类所对应的矢量,并添加至所述候选类列表中。
17.根据权利要求15或16所述的视频编码方法,其特征在于,与所述待编码块的位置相关联的已编码块包括:
位于所述待编码块正左方的第一编码块、位于所述待编码块正上方的第二编码块、位于所述待编码块左上方的第三编码块、位于所述第一编码块正左方的第四编码块和位于所述第二编码块正上方的第五编码块。
18.根据权利要求15或16所述的视频编码方法,其特征在于,从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择与所述已有类对应的矢量不相同的矢量,包括:
按照预定顺序,从与所述待编码块的位置相关联的已编码块所对应的矢量中,选择出第一个与所述已有类对应的矢量不相同的矢量。
19.根据权利要求1所述的视频编码方法,其特征在于,根据所述目标类所对应的候选矢量确定所述待编码块的预测矢量,包括:
若采用帧内块复制方式,则将所述目标类所对应的候选矢量作为所述待编码块的预测矢量;
若采用帧间编码方式,则根据所述目标类中包含的已编码块到参考帧的距离和所述待编码块到参考帧的距离,对所述目标类所对应的候选矢量进行放缩得到所述待编码块的预测矢量。
20.一种视频编码装置,其特征在于,包括:
分类单元,用于根据与待编码块相邻近的已编码块的信息对所述已编码块进行分类,得到至少一个类,所述已编码块的信息记录在列表中;
确定单元,用于根据各个类所包含的已编码块的矢量,确定所述待编码块的至少一个候选矢量,其中,一个类对应于一个所述候选矢量;
选择单元,用于根据所述各个类对应的候选矢量,从所述至少一个类中选择所述待编码块对应的目标类;
编码单元,用于根据所述目标类所对应的候选矢量确定所述待编码块的预测矢量,基于所述预测矢量对所述待编码块进行编码处理,并在编码信息中添加所述目标类的类别标识。
21.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至19中任一项所述的视频编码方法。
22.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至19中任一项所述的视频编码方法。
CN202111056656.1A 2019-11-13 2019-11-13 视频编码方法、装置、计算机可读介质及电子设备 Active CN113824960B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111056656.1A CN113824960B (zh) 2019-11-13 2019-11-13 视频编码方法、装置、计算机可读介质及电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111056656.1A CN113824960B (zh) 2019-11-13 2019-11-13 视频编码方法、装置、计算机可读介质及电子设备
CN201911107991.2A CN112565789B (zh) 2019-11-13 2019-11-13 视频解码及编码方法、装置、计算机可读介质及电子设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201911107991.2A Division CN112565789B (zh) 2019-11-13 2019-11-13 视频解码及编码方法、装置、计算机可读介质及电子设备

Publications (2)

Publication Number Publication Date
CN113824960A CN113824960A (zh) 2021-12-21
CN113824960B true CN113824960B (zh) 2024-02-23

Family

ID=75030347

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911107991.2A Active CN112565789B (zh) 2019-11-13 2019-11-13 视频解码及编码方法、装置、计算机可读介质及电子设备
CN202111056656.1A Active CN113824960B (zh) 2019-11-13 2019-11-13 视频编码方法、装置、计算机可读介质及电子设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201911107991.2A Active CN112565789B (zh) 2019-11-13 2019-11-13 视频解码及编码方法、装置、计算机可读介质及电子设备

Country Status (6)

Country Link
US (1) US20230016694A1 (zh)
EP (1) EP4007278A4 (zh)
JP (1) JP7345638B2 (zh)
KR (1) KR20220031123A (zh)
CN (2) CN112565789B (zh)
WO (1) WO2021093548A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102939758A (zh) * 2010-06-09 2013-02-20 索尼公司 图像解码装置、图像编码装置及其方法和程序
CN103329198A (zh) * 2010-11-26 2013-09-25 诺基亚公司 低复杂度目标矢量识别
JP2015211386A (ja) * 2014-04-28 2015-11-24 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN109672894A (zh) * 2017-10-13 2019-04-23 腾讯科技(深圳)有限公司 一种帧间预测方法、装置及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9510009B2 (en) * 2010-05-20 2016-11-29 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20120068743A (ko) * 2010-12-17 2012-06-27 한국전자통신연구원 인터 예측 방법 및 그 장치
CN102547270B (zh) * 2010-12-31 2014-03-19 联芯科技有限公司 当前块的相邻块可用性获取方法及系统
JP5884697B2 (ja) * 2011-09-28 2016-03-15 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
RU2632154C1 (ru) * 2011-11-08 2017-10-02 Электроникс Энд Телекоммьюникейшнз Рисерч Инститьют Способ и устройство для совместного использования списка кандидатов
BR112014013969B1 (pt) * 2011-12-28 2022-05-10 JVC Kenwood Corporation Dispositivo de codificação de vídeo, método de codificação de vídeo, programa de codificação de vídeo, dispositivo de decodificação de vídeo, método de decodificação de vídeo, programa de decodificação de vídeo
KR20130122566A (ko) * 2012-04-30 2013-11-07 (주)휴맥스 깊이 정보를 이용한 움직임 벡터 예측을 위한 3차원 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치
CN103533349A (zh) * 2013-09-26 2014-01-22 广东电网公司电力科学研究院 基于支持向量机的b帧快速帧间预测宏块模式选择方法
KR102160667B1 (ko) * 2015-09-10 2020-09-28 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
CN107046645B9 (zh) * 2016-02-06 2020-08-14 华为技术有限公司 图像编解码方法及装置
US10694205B2 (en) * 2017-12-18 2020-06-23 Google Llc Entropy coding of motion vectors using categories of transform blocks
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102939758A (zh) * 2010-06-09 2013-02-20 索尼公司 图像解码装置、图像编码装置及其方法和程序
CN103329198A (zh) * 2010-11-26 2013-09-25 诺基亚公司 低复杂度目标矢量识别
JP2015211386A (ja) * 2014-04-28 2015-11-24 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN109672894A (zh) * 2017-10-13 2019-04-23 腾讯科技(深圳)有限公司 一种帧间预测方法、装置及存储介质

Also Published As

Publication number Publication date
CN112565789B (zh) 2021-09-17
JP2022547674A (ja) 2022-11-15
CN112565789A (zh) 2021-03-26
KR20220031123A (ko) 2022-03-11
EP4007278A4 (en) 2022-09-28
WO2021093548A1 (zh) 2021-05-20
JP7345638B2 (ja) 2023-09-15
CN113824960A (zh) 2021-12-21
EP4007278A1 (en) 2022-06-01
US20230016694A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
US11412248B2 (en) Image encoding method and apparatus, and image decoding method and apparatus
US20080285654A1 (en) Multiview coding with geometry-based disparity prediction
CN111630859A (zh) 根据图像编码系统中的帧间预测进行图像解码的方法和装置
EP4030761A1 (en) Displacement vector prediction method in video coding and decoding, apparatus, and device
US11930205B2 (en) Side motion refinement in video encoding/decoding systems
US20190149841A1 (en) Diversified motion using multiple global motion models
US20210360227A1 (en) Method and apparatus for processing video signals using affine prediction
US20240089494A1 (en) Video encoding and decoding method and apparatus, storage medium, electronic device, and computer program product
CN113824960B (zh) 视频编码方法、装置、计算机可读介质及电子设备
EP3985983A1 (en) Interpolation filtering method and apparatus for intra-frame prediction, medium, and electronic device
CN112437312B (zh) 视频解码方法、编码方法、装置、设备及存储介质
WO2022033325A1 (zh) 视频解码方法、视频编码方法、装置、设备和存储介质
KR102513585B1 (ko) 비디오 처리 시스템에서 인터 예측 방법 및 장치
CN115314716A (zh) 视频编码方法、装置、计算机可读介质及电子设备
CN116347082A (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