CN113099269B - 串匹配预测方法、编码和解码方法及相关设备、装置 - Google Patents

串匹配预测方法、编码和解码方法及相关设备、装置 Download PDF

Info

Publication number
CN113099269B
CN113099269B CN202110199496.XA CN202110199496A CN113099269B CN 113099269 B CN113099269 B CN 113099269B CN 202110199496 A CN202110199496 A CN 202110199496A CN 113099269 B CN113099269 B CN 113099269B
Authority
CN
China
Prior art keywords
string
prediction
pixel
type
fused
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
CN202110199496.XA
Other languages
English (en)
Other versions
CN113099269A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202110199496.XA priority Critical patent/CN113099269B/zh
Publication of CN113099269A publication Critical patent/CN113099269A/zh
Priority to PCT/CN2021/135660 priority patent/WO2022117104A1/en
Priority to EP21900126.0A priority patent/EP4241446A4/en
Application granted granted Critical
Publication of CN113099269B publication Critical patent/CN113099269B/zh
Priority to US18/327,874 priority patent/US20230319288A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

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

Abstract

本申请公开了一种串匹配预测方法、编码和解码方法及相关设备、装置,其中,串匹配预测方法,包括:识别当前块内的像素串,并获取像素串的若干候选预测串;其中,若干候选预测串中包括预测串类型为第一类型的候选预测串,第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且预设矢量指向位于像素串的预设方向的像素,不同预设矢量所指向的像素与像素串间隔不同的像素行间距;基于若干候选预测串的预测代价,得到像素串的最佳预测串。上述方案,能够提高视频编码质量。

Description

串匹配预测方法、编码和解码方法及相关设备、装置
技术领域
本申请涉及视频编码技术领域,特别是涉及一种串匹配预测方法、编码和解码方法及相关设备、装置。
背景技术
视频图像数据量通常比较大,一般需要对视频像素数据(RGB、YUV)进行编码,以得到视频码流,视频码流进一步通过有线网络或无线网络传输至用户端,再进行解码观看视频编码旨在提高视频编码质量,如提升压缩性能、降低失真等。有鉴于此,如何提高视频编码质量成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种串匹配预测方法、编码和解码方法及相关设备、装置,能够提高视频编码质量。
为了解决上述问题,本申请第一方面提供了一种串匹配预测方法,包括:识别当前块内的像素串,并获取像素串的若干候选预测串;其中,若干候选预测串中包括预测串类型为第一类型的候选预测串,第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且预设矢量指向位于像素串预设方向的像素,不同预设矢量所指向的像素与像素串间隔不同的像素行间距;基于若干候选预测串的预测代价,得到像素串的最佳预测串。
为了解决上述问题,本申请第二方面提供了一种编码方法,包括:获取当前块内各个像素串的最佳预测串;其中,最佳预测串是利用上述第一方面中的串匹配预测方法得到的;将预测串类型满足预设条件的相邻像素串,作为一对目标像素串;基于目标像素串的最佳预测串,获取由目标像素串以若干种融合程度融合得到的融合像素串的融合预测串;基于目标像素串的最佳预测串的预测代价以及融合像素串的融合预测串的预测代价,得到目标像素串的最终预测串;基于最终预测串,获取目标像素串的句法元素表达,并基于句法元素表达编码当前块,得到当前块的编码块。
为了解决上述问题,本申请第三方面提供了一种解码方法,包括:获取编码块;其中,编码块是利用上述第二方面中的编码方法得到的;基于编码块中最终预测串的预测串类型,对编码块进行解码和重建。
为了解决上述问题,本申请第四方面提供了一种串匹配预测装置,包括:候选串获取模块和最佳串获取模块,候选串获取模块,用于识别当前块内的像素串,并获取像素串的若干候选预测串;其中,若干候选预测串中包括预测串类型为第一类型的候选预测串,第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且预设矢量指向位于像素串的预设方向的像素,不同预设矢量所指向的像素与像素串间隔不同的像素行间距;最佳串获取模块,用于基于若干候选预测串的预测代价,得到像素串的最佳预测串。
为了解决上述问题,本申请第五方面提供了一种编码装置,包括:最佳串获取模块、目标串获取模块、融合串获取模块、最终串获取模块和编码模块,最佳串获取模块用于获取当前块内各个像素串的最佳预测串;其中,最佳预测串是上述第四方面中的串匹配预测装置得到的;目标串获取模块用于将预测串类型满足预设条件的相邻像素串,作为一对目标像素串;融合串获取模块用于基于目标像素串的最佳预测串,获取由目标像素串以若干种融合程度融合得到的融合像素串的融合预测串;最终串获取模块用于基于目标像素串的最佳预测串的预测代价以及融合像素串的融合预测串的预测代价,得到目标像素串的最终预测串;编码模块用于基于最终预测串,获取目标像素串的句法元素表达,并基于句法元素表达编码当前块,得到当前块的编码块。
为了解决上述问题,本申请第六方面提供了一种解码装置,包括:编码块获取模块和解码模块,编码块获取模块用于获取编码块;其中,编码块是利用上述第五方面中的编码装置得到的;解码模块用于基于编码块中最终预测串的预测串类型,对编码块进行解码和重建。
为了解决上述问题,本申请第七方面提供了一种电子设备,包括相互耦接的存储器和处理器,存储器存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的串匹配预测方法,或实现上述第二方面中的编码方法,或实现上述第三方面中的解码方法。
为了解决上述问题,本申请第八方面提供了一种存储装置,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的串匹配预测方法,或实现上述第二方面中的编码方法,或实现上述第三方面中的解码方法。
上述方案,识别当前块内的像素串,并获取像素串的若干候选预测串,且若干候选预测串中包括预测串类型为第一类型的候选预测串,第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且预设矢量指向位于像素串的预设方向的像素,不同预设矢量所指向的像素与像素串间隔不同的像素行间距,在此基础上,基于若干候选预测串的预测代价,得到像素串的最佳预测串,由于在串匹配预测过程中,预测矢量是从多个预设矢量中选择得到的,相较于设置单一的预测矢量,能够提高预测矢量的选择范围,从而能够有利于提高串匹配预测的灵活性和准确性,进而能够有利于减少比特开销并提升压缩性能,即尽可能地降低预测代价,有利于后续利用最佳预测串进行编码时提高视频编码质量。
附图说明
图1是本申请串匹配预测方法一实施例的流程示意图;
图2是遍历当前块一实施例的示意图;
图3是本申请匹配串预测一实施例的状态示意图;
图4是本申请编码方法一实施例的流程示意图;
图5是图4中步骤S44一实施例的流程示意图;
图6是获取第一融合预测串和第二融合预测串一实施例的示意图;
图7是获取第一融合预测串和第二融合预测串另一实施例的示意图;
图8是获取第一融合预测串和第二融合预测串又一实施例的示意图;
图9是获取第一融合预测串和第二融合预测串又一实施例的示意图;
图10是本申请解码方法一实施例的流程示意图;
图11是本申请串匹配预测装置一实施例的框架示意图;
图12是本申请编码装置一实施例的框架示意图;
图13是本申请解码装置一实施例的框架示意图;
图14是本申请电子设备一实施例的框架示意图;
图15是本申请存储装置一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请串匹配预测方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:识别当前块内的像素串,并获取像素串的若干候选预测串。
在一个实施场景中,可以利用当前块的常现像素列表遍历当前块内的每一个像素,得到当前块内每一像素的最佳常现像素,从而最佳常现像素,识别得到当前块内的像素串。
在一个具体的实施场景中,在遍历当前块内的每一像素时,可以以预设顺序遍历。例如,请结合参阅图2,图2是遍历当前块一实施例的示意图。如图2所示,可以以当前块左上角像素为起点由上至下以“弓”字形遍历当前块。需要说明的是,预设顺序除了可以设置为如图2所示的顺序,也可以根据实际应用需要进行设置,在此不做限定。
在另一个具体的实施场景中,可以从历史常现像素列表(为了便于描述,可以记为PreSrb)中获取历史常现像素填入当前块的常现像素列表(为了便于描述,可以记为Srb),并利用聚类方法获取当前块中新的常现像素,再将新的常现像素填入上述常现像素列表Srb(具体地,可以将新的常现像素置于历史常现像素之前),并进行查重操作。在此基础上,再基于SSE(Sum of Squared Error,差值平方和)对查重操作之后的常现像素列表Srb进行细选排序,得到当前块的常现像素列表Srb。此外,为了降低硬件实现难度,可以限制当前块的常现像素列表的长度,例如,对于8*8的当前块而言,可以限制其常现像素列表长度不超过10,对于其他尺寸的当前块而言,可以限制其常现像素列表长度不超过15,具体可以根据实际应用需要进行设置,在此不做限定。进一步地,对于历史常现像素列表可以限制其长度不超过28,具体也可以根据实际应用需要进行设置,在此不做限定。
在又另一个具体的实施场景中,可以将当前块内每一个像素分别作为当前像素,并遍历与当前块对应的常现像素列表中每一常现像素,计算每个常现像素和当前像素的差异值,选出差异值最小的常现像素作为当前像素的最佳常现像素。
在又一个具体的实施场景中,若当前像素的最佳常现像素和当前像素之间的差异值大于阈值(为了便于描述,可以记为i_errorlimit),则需要计算直接编码当前像素的率失真代价(Rate-Distortion Cost,RDCost),若率失真代价小于最佳常现像素对应的差异值时,说明当前像素和所有常现像素的差异都较大,直接编码当前像素反而更节省比特开销,在此情况下,当前像素为未匹配像素,即当前像素的预测值就是其本身,否则当前像素的预测值就是最佳常现像素。
在又一个具体的实施场景中,若当前块的起始位置像素为未匹配像素,则将起始位置像素纳入像素串,并继续判断下一个像素是否为未匹配像素,若仍然是未匹配像素,则继续纳入像素串,直至遇到一个匹配像素,即可得到像素串。在此基础上,该像素串的候选预测串可以包括由其未匹配像素所组成的未匹配像素串。
在又一个具体的实施场景中,若起始位置的像素为匹配像素,则将起始位置像素纳入像素串,并记录起始位置的常现像素为PixelA,在此基础上,继续判断下一个像素的常现像素是否等于PixelA,若等于PixelA,则继续将该像素纳入像素串,直至遇到一个像素的常现像素不等于PixelA,即可得到像素串。此外,还可以记录该像素串的长度srb_length。在此基础上,该像素串的候选预测串可以包括由其常现像素所组成的等值串(equal valuestring,evs)。
本公开实施例中,对于上述识别得到的像素串,可以进一步利用预测矢量预测得到像素串的候选预测串,且利用预测矢量预测得到的候选预测串的预测串类型为第一类型。需要说明的是,预测矢量指向位于像素串预设方向的像素,且不同预测矢量所指向的像素与像素串间隔不同的像素行间距。
在一个具体的实施场景中,预设方向可以根据遍历当前块所采用的预设顺序设置。例如,在以“弓”字形遍历当前块的情况下,预设方向可以为上方,具体可以包括正上方。其他情况可以以此类推,在此不再一一举例。例如,预测矢量(0,-1)指向位于像素串正上方且与像素串距离1个像素行间距的像素,或者,预测矢量(0,-2)指向位于像素串正上方且与像素串距离2个像素行间距的像素。其他情况可以以此类推,在此不再一一举例。
在另一个具体的实施场景中,在利用预测矢量预测像素串的候选预测串之前,可以先检测像素串是否满足预设条件。具体地,预设条件可以设置为包括:像素串不位于当前块的第一行。若不满足预设条件,则可以跳过利用预测矢量预测像素串的候选预测串的步骤,否则,可以继续利用预测矢量预测像素串的候选预测串。此外,如后文所述,基于若干候选预测串的预测代价,可以得到像素串的最佳预测串,在预测之前,还可以预先设置第一类型的最佳预测串是否允许连续出现的预测规则,若预先设置的预测规则包括第一类型的最佳预测串不允许连续出现,则在利用预测矢量预测像素串的候选预测串之前,可以先检测像素串是否满足预设条件,预设条件具体可以设置为包括:像素串不位于当前块的第一行,且上一个像素串的最佳预测串的预测串不为第一类型。在满足预设条件的情况下,可以继续利用预测矢量预测像素串的候选预测串,否则跳过利用预测矢量预测像素串的候选预测串的步骤。此外,在跳过利用预测矢量预测像素串的候选预测串的步骤的情况下,像素串的候选预测串可以包括像素串对应的等值串,或者像素串对应的未匹配串,为了便于描述,可以将等值串的预测串类型记为第二类型,未匹配串的预测串类型记为第三类型。即像素串的若干候选预测串中可以包括预测串类型为第一类型的候选预测串,也可以包括预测串类型为第二类型的候选预测串或者预测串类型为第三类型的候选预测串,在此不做限定。
在又一个具体的实施场景中,若像素串起始位置的常现像素等于预测矢量所指向像素的常现像素,则进一步判断下一个像素位置的常现像素是否等于预测矢量所指向像素的常现像素,若是则重复上述判断过程,直至某一像素位置的常现像素与预测矢量所指向像素的常现像素不同为止,则此时连续判断为相同的像素个数即为第一类型的候选预测串的长度。为了便于区分,可以将第一类型的候选预测串可以称为ubvs(unit basis vectorstring,单位基矢量串)。
本公开实施例中,预测矢量可以是从多个预设矢量中选择得到的,且不同预设矢量分别指向位于像素串预设方向且与像素串距离不同像素行间距的像素。
在一个实施场景中,如前所述,预设方向具体可以根据遍历当前块的预设顺序设置,在预设顺序为“弓”字形的情况下,预设方向可以为上方,具体可以包括正上方。在此情况下,多个预设矢量可以包括但不限于:(0,-1)、(0,-2)、(0,-3)、……、(0,-n),其中,n为正整数。此外,n的具体数值可以根据实际应用情况进行设置,在此不做限定。
在另一个实施场景中,可以选择全部预设矢量作为预测矢量。在此基础上,可以分别利用每一预测矢量对满足预设条件的像素串进行预测,得到像素串的第一类型的候选预测串。利用预测矢量对像素串进行预测的具体过程可以参阅前述相关描述,在此不再赘述。例如,多个预设矢量可以包括(0,-1)和(0,-2),则可以选择全部预设矢量,即可以选择预设矢量(0,-1)和(0,-2),作为预测矢量。其他情况可以以此类推,在此不再一一举例。
在另一个实施场景中,可以基于当前块的尺寸,从多个预设矢量中选择预设数量个预测矢量,且预设数量与尺寸为正相关关系,即当前块的尺寸越大,预设数量越多,反之当前块的尺寸越小,预设数量越少。
需要说明的是,无论选择全部预设矢量作为预测矢量,还是基于当前块的尺寸选择预测矢量,选择的预测矢量所指向的像素均位于当前块内。此外,可以将多个预设矢量,按照像素行间距由小到大的顺序排序,之后可以利用预设映射关系对当前块的尺寸进行映射,得到预设数量,再从排序后的多个预设矢量中,选择位于前预设数量位的预设矢量,作为预测矢量。上述方式,通过将多个预设矢量按照像素行间距由小到大的顺序排序,并利用预设映射关系对尺寸进行映射,得到预设数量,从而从排序后的多个预设矢量中,选取位于前预设数量位的预设矢量,作为预测矢量,能够降低所选择的预测矢量指向当前块外部的概率,进而能够有利于提高选择得到的预测矢量的准确性。
在一个具体的实施场景中,当前块的尺寸可以包括当前块的高度height,预设映射关系可以由高度和预设数量在不同高度区间形成的多段线性关系组成的。多个预设矢量按照像素行间距由小到大的顺序排序可以包括:(0,-1)、(0,-2)和(0,-3),可以设置不同的高度区间height<T1、T1<height<T2和height>T2,其中,高度区间height<T1可以对应预设数量1,高度区间T1<height<T2可以对应预设数量2,高度区间height>T2可以对应预设数量3。在此基础上,在当前块的高度位于高度区间height<T1的情况下,确定预设数量为1,即可以选择预设矢量(0,-1)作为预测矢量;或者,在当前块的高度位于高度区间T1<height<T2的情况下确定预设数量为2,即可以选择预设矢量(0,-1)和(0,-2)作为预测矢量;或者,在当前块的高度位于高度区间height>T2的情况下,确定预设数量为3,即可以选择预设矢量(0,-1)、(0,-2)和(0,-3)作为预测矢量。其他情况可以以此类推,在此不再一一举例。
在另一个具体的实施场景中,当前块的尺寸可以包括当前块的高度,且预设映射关系可以包括由高度和预设数量形成的非线性关系。具体地,上述非线性关系具体可以包括但不限于对数关系等,在此不做限定。例如,预设映射关系可以表示为:
k=log2 height……(1)
上述公式(1)中,k表示预设数量,height表示当前块的高度。在非线性关系为其他关系的情况下,可能出现预设数量k大于预设矢量的总数n的情况下,此时可以将预设数量k置为n,即选择全部预设矢量作为预测矢量。
步骤S12:基于若干候选预测串的预测代价,得到像素串的最佳预测串。
在一个实施场景中,预测代价可以基于率失真代价得到。具体地,可以计算候选预测串中每个像素的平均代价,在此基础上,可以选择平均代价最小的候选预测串作为像素串的最佳预测串。率失真代价的具体计算过程在此不再赘述。
在一个具体的实施场景中,请结合参阅图3,图3是本申请匹配串预测一实施例的状态示意图。如图3所示,当前块的常现像素列表中包含两种像素,分别以不同阴影填充的矩形表示,在以“弓”字形遍历当前块的过程中,可以得到以点填充的像素串(即第一行4个像素和第二行最后一个像素所组成的像素串),其候选预测串可以包括预测串类型为第二类型的候选预测串,且第二类型的候选预测串是由常现像素0所组成的evs1。由于该像素串位于当前块的第一行,故不存在第一类型的候选预测串,故可以将evs1作为该像素串的最佳预测串。
在另一个具体的实施场景中,请继续结合参阅图3,与前述描述类似地,可以得到以网格填充的像素串(即第二行前3个像素和第三行前2个像素所组成的像素串),其候选预测串可以包括预测串类型为第二类型的候选预测串,且第二类型的候选预测串是由常现像素1所组成的evs2。此外,还可以得到以斜线填充的像素串(即第三行后2个像素所组成的像素串),其候选预测串可以包括预测串类型为第三类型的候选预测串。由于其上方不存在相同常现像素,故该像素串不存在第一类型的候选预测串,故可以将evs2作为该像素串的最佳预测串。
在又一个具体的实施场景中,请继续结合参阅图3,在遍历到第三行最后2个像素时,由于这2个像素属于未匹配像素,且其上方也不存在相同像素,故可以将由这2个像素所组成的像素串本身作为其最佳预测串,即在编码时,可以直接对该像素串进行编码。
在又一个具体的实施场景中,请继续结合参阅图3,由于第4行像素与位于其上一行像素相同,故在由第四行像素组成像素串的情况下,可以利用预测矢量(0,-1)预测得到第一类型的候选预测串ubvs,且其预测代价在所有候选预测串中最低,故可以将该候选预测串ubvs作为最佳预测串。
上述方案,识别当前块内的像素串,并获取像素串的若干候选预测串,且若干候选预测串中包括预测串类型为第一类型的候选预测串,第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且预设矢量指向位于像素串的预设方向的像素,不同预设矢量所指向的像素与像素串间隔不同的像素行间距,在此基础上,基于若干候选预测串的预测代价,得到像素串的最佳预测串,由于在串匹配预测过程中,预测矢量是从多个预设矢量中选择得到的,相较于设置单一的预测矢量,能够提高预测矢量的选择范围,从而能够有利于提高串匹配预测的灵活性和准确性,进而能够有利于减少比特开销并提升压缩性能,即尽可能地降低预测代价,有利于后续利用最佳预测串进行编码时提高视频编码质量。
请参阅图4,图4是本申请编码方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S41:获取当前块内各个像素串的最佳预测串。
本公开实施例中,最佳预测串是利用上述任一串匹配预测方法实施例中的步骤得到的。具体可以参阅前述公开实施例,在此不再赘述。
步骤S42:将预测串类型满足预设条件的相邻像素串,作为一对目标像素串。
在一个实施场景中,预设条件可以包括相邻像素串的最佳预测串中不包含第三类型的未匹配串。也就是说,相邻像素串的最佳预测串其中一个可以是第一类型的ubvs串,另一个可以是evs串,或者,相邻像素串的最佳预测串均是ubvs串。
步骤S43:基于目标像素串的最佳预测串,获取由目标像素串以若干种融合程度融合得到的融合像素串的融合预测串。
具体地,融合程度具体可以包括不完全融合和完全融合中的至少一者。需要说明的是,在融合程度为不完全融合的情况下,一对目标像素串经融合可以得到两个融合像素串,而在融合程度为完全融合的情况下,一对目标像素串融合可以得到一个融合像素串。
在一个实施场景中,为了便于融合,在融合过程中,可以将其中一个目标像素串作为基准像素串,另一个目标像素串作为转移像素串,转移像素串中靠近基准像素串的部分连续像素转移至基准像素串,从而可以得到基准像素串对应的融合像素串和转移像素串对应的融合像素串,且基准像素串对应的融合像素串的融合预测串的预测串类型与基准像素串的预测串类型相同,转移像素串对应的融合像素串的融合预测串的预测串类型与转移像素串的预测串类型相同。例如,目标像素串A的最佳预测串为evs串,而目标像素串B的最佳预测串为ubvs串,将目标像素串A作为转移像素串,并将目标像素串B作为基准像素串。在此基础上,可以将目标像素串A中靠近目标像素串B的部分像素转移至目标像素串B,得到目标像素串A对应的融合像素串A和目标像素串B对应的融合像素串B,即融合像素串A相较于目标像素串A而言长度减小,而融合像素串B相较于目标像素串B而言长度增大,且融合像素串A的融合预测串仍为evs串,融合像素串B的融合预测串仍为ubvs串。此外,在目标像素串A的最佳预测串和目标像素串B的最佳预测串均为ubvs串的情况下,可以以此类推,在此不再一一举例。具体过程可以参阅下述相关公开实施例,在此暂不赘述。
在另一个实施场景中,如前所述,为了便于融合,在融合过程中,可以将其中一个目标像素串作为基准像素串,另一个目标像素串作为转移像素串,转移像素串中的全部像素可以转移至基准像素串,在融合程度为完全融合的情况下,一对目标像素串经融合可以得到一个融合像素串,且融合像素串的融合预测串的预测串类型与基准像素串的最佳预测串的预测串类型相同。例如,目标像素串A的最佳预测串为evs串,而目标像素串B的最佳预测串为ubvs串,将目标像素串A作为转移像素串,并将目标像素串B作为基准像素串。在此基础上,可以将目标像素串A中全部像素转移至目标像素串B,得到融合像素串C,即融合像素串C的长度等于目标像素串A和目标像素串B的总长度,此外融合像素串C的融合预测串和基准像素串的最佳预测串同为ubvs串。此外,在目标像素串A的最佳预测串和目标像素串B的最佳预测串均为ubvs串的情况下,可以以此类推,在此不再一一举例。具体过程可以参阅下述相关公开实施例,在此暂不赘述。
步骤S44:基于目标像素串的最佳预测串的预测代价以及融合像素串的融合预测串的预测代价,得到最终预测串。
在一个实施场景,如前述公开实施例所述,预测代价可以基于率失真代价得到,具体计算过程在此不再赘述。在此基础上,可以选择率失真代价最小的预测串(如,融合前的最佳预测串,或者融合后的融合预测串),作为最终预测串。
在一个实施场景中,仍以目标像素串A的最佳预测串为evs串,而目标像素串B的最佳预测串为ubvs串为例,两者经不完全融合可以得到融合像素串A的融合预测串A和融合像素串B的融合预测串B,在此基础上,可以进一步获取目标像素串A的最佳预测串的第一预测代价,并获取目标像素串B的最佳预测串的第二预测代价,并获取第一预测代价和第二预测代价的第一代价和,与此同时,可以获取融合像素串A的融合预测串A的第三预测代价,并获取融合像素串B的融合预测串的第四预测代价,并获取第三预测代价和第四预测代价的第二代价和,比较第一代价和以及第二代价和,若第一代价和小于第二代价和,则可以将目标像素串A的最佳预测串和目标像素串B的最佳预测串,作为最终预测串,反之,若第一代价和大于第二代价和,则可以将融合像素串A的融合预测串A和融合像素串B的融合预测串B,作为最终预测串。其他情况可以以此类推,在此不再一一举例。
在另一个实施场景中,的最佳预测串为evs串,而目标像素串B的最佳预测串为ubvs串为例,两者经完全融合可以得到融合像素串C的融合预测串,在此基础上,可以获取融合像素串C的融合预测串的第五预测代价,并比较第一代价和以及第五预测代价,在第一代价和小于第五预测代价的情况下,可以将目标像素串A的最佳预测串和目标像素串B的最佳预测串,作为最终预测串,反之,若第一代价和大于第五预测代价,则可以将融合像素串C的融合预测串作为最终预测串。其他情况可以以此类推,在此不再一一举例。
步骤S45:基于最终预测串,获取句法元素表达,并基于句法元素表达编码当前块,得到当前块的编码块。
在一个实施场景中,在当前块中出现多个连续的最终预测串的预测串类型均为第一类型的情况下,即在当前块中出现多个连续的最终预测串均为ubvs串的情况下,句法元素表达需要包括第一句法元素、第二句法元素和第三句法元素。其中,第一句法元素用于表示预测串类型为第一类型的最终预测串的预测矢量。为了便于描述,可以将第一句法元素记为ubvs_type,例如,对于预设矢量包括但不限于:(0,-1),(0,-2),(0,-3)……(0,-n)的情况,若最终预测串的预测矢量为(0,-1),则可以将第一句法元素ubvs_type置为0,类似地,若最终预测串的预测矢量为(0,-2),则可以将第一句法元素ubvs_type置为1,其他情况可以以此类推,在此不再一一举例。此外,第二句法元素用于表示当前块中所出现的多个连续的最终预测串的个数。为了便于描述,可以将第二句法元素记为run_num。此外,第三句法元素用于表示当前块中所出现的多个连续的最终预测串的预测串类型。为了便于描述,可以将第三句法元素记为is_evs_run。例如,当前块中所出现的多个连续的最终预测串的预测串类型均为第一类型的情况下,可以将第三句法元素置为0,以此来表明第二句法元素run_num表示的是连续ubvs串的个数。
在另一个实施场景中,在不允许出现多个连续的最终预测串的预测串类型均为第一类型的情况下,即在不允许出现连续ubvs串的情况下(如存在多个连续的evs串等),句法元素表达需要包括第一句法元素和第二句法元素。具体地,第一句法元素用于表示预测串类型为预测串类型为第一类型的最终预测串的预测矢量,具体可以参阅前述相关描述,在此不再赘述。此外,第二句法元素用于表示多个连续的非第一类型的最终预测串的个数(如,多个连续的evs串的个数),具体可以参阅前述相关描述,在此不再赘述。
在又一个实施场景中,句法元素表达还需要包括模式句法元素,用于表示选择的预测模式。为了便于描述,模式句法元素可以记为isc_cu_evs_ubvs_submode_flag,通过模式句法元素可以表明所选择的预测模式为普通SP(串匹配)模式还是evs_ubvs模式。普通SP模式的具体预测过程在此不再赘述。此外,evs_ubvs模式具体可以参阅前述公开实施例中相关描述,在此不再赘述。
在又一个实施场景中,在当前块层面,句法元素表达还包括第一匹配串句法元素和第二匹配串句法元素,其中第一匹配串句法元素用于表示当前块是否存在第二类型的evs串,为了便于描述,可以将第一匹配串句法元素记为isc_evs_present_flag,第二匹配串句法元素用于表示当前块是否存在第三类型的未匹配串,为了便于描述,可以将第二匹配串句法元素记为isc_unmatched_pixel_str_present_flag。
在又一个实施场景中,如前所述,在串层面,对于ubvs串,可以根据是否允许出现连续的ubvs串,设置串层面的句法元素表达。具体可以参阅前述相关描述,在此不再赘述。
在又一个实施场景中,在串层面,对于evs串,可以根据evs串对应常现像素在常现像素列表中的index以及evs串的长度来设置句法元素表达。具体地,evs串的长度可以采用句法元素pixel_duplication_count_minus1表示,该句法元素表示evs串的长度减一,例如,evs串的长度为1,则可以将句法元素pixel_duplication_count_minus1设置为0,或者,evs串的长度为2,则可以将句法元素pixel_duplication_count_minus1设置为1,其他情况可以以此类推,在此不再一一举例。
在又一个实施场景中,在串层面,对于未匹配串,可以根据未匹配串中未匹配像素值以及连续的未匹配像素的个数,设置未匹配串的句法元素表达。具体地,对于未匹配串的长度可以采用句法元素isc_unmatched_pixel_num_minus1和句法元素unmatched_pixel_max_length_minus1表示,其中,句法元素isc_unmatched_pixel_num_minus1表示未匹配串的长度减一,而句法元素unmatched_pixel_max_length_minus1表示未匹配串中像素个数的最大值减一。
在获取到上述句法元素表达之后,即可以利用句法元素表达对当前块进行编码,得到编码块。具体过程在此不再赘述。
上述方案,获取当前块内各个像素串的最佳预测串,且最佳预测串是利用上述任一串匹配预测方法实施例中的步骤得到的,在此基础上,将预测串类型满足预设条件的相邻像素串,作为一对目标像素串,并基于目标像素串的最佳预测串,获取由目标像素串以若干种融合程度融合得到的融合像素串的融合预测串,以及基于目标像素串的最佳预测串的预测代价以及融合像素串的融合预测串的预测代价,得到目标像素串的最终预测串,从而基于最终预测串,获取目标像素串的句法元素表达,并基于句法元素表达编码当前块,得到当前块的编码块,由于最佳预测串是利用上述任一串匹配预测方法实施例中的步骤得到的,故能够提高串匹配预测的灵活性和准确性,有利于减少比特开销并提升压缩性能,且由于进一步基于目标像素串的最佳预测串,得到由目标像素串以若干种融合程度融合得到的融合像素串的融合预测串,并基于目标像素串的最佳预测串的预测代价以及融合像素串的融合预测串的预测代价,得到目标像素串的最终预测串,故能够进一步提高优化串匹配预测的预测结果,有利于进一步提高视频编码质量。
请参阅图5,图5是图4中步骤S44一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S51:将任一个目标像素串作为基准像素串,并将另一个目标像素串作为转移像素串。
仍以前述相邻的目标像素串A和目标像素串B为例,可以将目标像素串A作为基准像素串,并将目标像素串B作为转移像素串;或者,也可以将目标像素串A作为转移像素串,并将目标像素串B作为基准像素串;或者,还可以先将目标像素串A作为基准像素串,并将目标像素串B作为转移像素串,之后再将目标像素串A作为转移像素串,并将目标像素串B作为基准像素串。其他情况可以以此类推,在此不再一一举例。
步骤S52:基于融合程度,在转移像素串中选取靠近基准像素串的若干连续像素作为待转移像素。
本公开实施例中,融合程度越高,待转移像素越多。如前述公开实施例所述,融合程度可以包括不完全融合、完全融合中的至少一者。在融合程度包括不完全融合的情况下,待转移像素为转移像素串中的部分像素,例如,待转移像素可以包括:靠近基准像素串的一个像素、靠近基准像素串的两个像素、靠近基准像素串的三个像素等等,在此不做限定。此外,在融合程度包括完全融合的情况下,待转移像素为转移像素串中所有像素。
仍以相邻的目标像素串A和目标像素串B为例,可以将目标像素串A作为基准像素,并将目标像素串B作为转移像素串,并在不完全融合的情况下,将目标像素串A和目标像素串B融合;也可以将目标像素串A作为基准像素,并将目标像素串B作为转移像素串,并在完全融合的情况下,将目标像素串A和目标像素串B融合;也可以将目标像素串A作为转移像素串,并将目标像素串B作为基准像素串,并在不完全融合的情况下,将目标像素串A和目标像素串B融合;还可以将目标像素串A作为转移像素串,并将目标像素串B作为基准像素串,并在完全融合的情况下,将目标像素串A和目标像素串B融合。需要说明的是,上述4种情况,可以仅执行其中一种,也可以执行其中多种(如,两种、三种、四种),在此不做限定。
此外,目标像素串的最佳预测串的预测串类型可以均为第一类型,即目标像素串的最佳预测串可以均为ubvs串,或者,目标像素串的最佳预测串的预测串类型可以包括第一类型和第二类型,即其中一个目标像素串的最佳预测串为ubvs串,另一个目标像素串的最佳预测串为evs串;或者,目标像素串的最佳预测串的预测串类型可以均为第二类型,即目标像素串的最佳预测串可以均为evs串。
步骤S53:将转入待转移像素之后的基准像素串作为第一融合像素串,并将转出待转移像素之后的转移像素串作为第二融合像素串。
仍以前述相邻的目标像素串A和目标像素串B为例,可以将目标像素串A作为基准像素串,并将目标像素串B作为转移像素串,在此基础上,可以将转入待转移像素之后的目标像素串A作为第一融合像素串,并将转出待转移像素之后的目标像素串B作为第二融合像素串。其他情况可以以此类推,在此不再一一举例。
步骤S54:基于基准像素串的最佳预测串的预测串类型,得到第一融合像素串的第一融合预测串,以及基于转移像素串的最佳预测串的预测串类型,得到第二融合像素串的第二融合预测串。
在一个实施场景中,目标像素串的最佳预测串的预测串类型可以均为第一类型,即目标像素串的最佳预测串均为ubvs串,为了便于描述,可以将其中一个目标像素串记为ubvs1,另一个目标像素串记为ubvs2。在此基础上,可以利用基准像素串的最佳预测串的预测矢量,得到第一融合像素串的第一融合预测串,并利用转移像素串的最佳预测串的预测矢量,得到第二融合像素串的第二融合预测串。
在一个具体的实施场景中,可以将ubvs1作为基准像素串,并将ubvs2作为转移像素串,从而将ubvs2中最接近ubvs1的像素开始,除了ubvs2中最远端的像素之外,由近到远逐个将ubvs2的像素用ubvs1的最佳预测串的预测矢量进行预测,相当于不断增加ubvs1的长度,与此同时不断减少ubvs2的长度。请结合参阅图6,图6是获取第一融合预测串和第二融合预测串一实施例的示意图。如图6所示,以ubvs1基准像素串,并将ubvs2作为转移像素串,将ubvs2最靠近ubvs1的像素作为待转移像素转移至ubvs1,使得ubvs1的长度由2变为3,而ubvs2的长度由2变为1。此外,如图6所示,ubvs1的最佳预测串的预测矢量为(0,-2),而ubvs2的最佳预测串的预测矢量为(0,-1),待转移像素原先由预测矢量(0,-1)预测,在转移至ubvs1之后由预测矢量(0,-2)预测,从而得到长度为1且以预测矢量(0,-1)预测的ubvs2(即第二融合像素串),并基于预测矢量(0,-1)所指向的像素,得到第二融合预测串,以及得到长度为3且以预测矢量(0,-2)预测的ubvs1(即第一融合像素串),并基于预测矢量(0,-2)所指向的像素,得到第一融合预测串。
在另一个具体的实施场景中,还可以将ubvs2作为基准像素串,并将ubvs1作为转移像素串,从而将ubvs1中最接近ubvs2的像素开始,除了ubvs1最远端的像素之外,由近到远逐个将ubvs1的像素用ubvs2的最佳预测串的预测矢量进行预测,相当于不断增加ubvs2的长度,与此同时不断减少ubvs1的长度。请结合参阅图6,以ubvs2为基准像素串,并将ubvs1作为转移像素串,将ubvs1最靠近ubvs2的像素作为待转移像素转移至ubvs2,使得ubvs2的长度由2变为3,而ubvs1的长度由2变为1。此外,如图6所示,ubvs1的最佳预测串的预测矢量为(0,-2),而ubvs2的最佳预测串的预测矢量为(0,-1),待转移像素原先由预测矢量(0,-2)预测,在转移至ubvs2之后由预测矢量(0,-1)预测,从而得到长度为3且以预测矢量(0,-1)预测的ubvs2(即第一融合像素串),并基于预测矢量(0,-1)所指向的像素,得到第一融合预测串,以及得到长度为1且以预测矢量(0,-2)预测的ubvs1(即第二融合像素串),并基于预测矢量(0,-2)所指向的像素,得到第二融合预测串。
在又一个具体的实施场景中,可以将ubvs1作为基准像素串,并将ubvs2作为转移像素串,从而将ubvs2整体转移至ubvs1,即两者合并得到新的ubvs1(即第一融合像素串),并利用ubvs1的最佳预测串的预测矢量来预测新的ubvs1,得到第一融合预测串。需要说明的是,由于两个目标像素串直接合并得到第一个像素串,故此时并不存在第二融合像素串和第二融合预测串。请结合参阅图7,图7是获取第一融合预测串和第二融合预测串另一实施例的示意图。如图7所示,ubvs1的最佳预测串的预测矢量为(0,-2),ubvs2的最佳预测串的预测矢量为(0,-1),以ubvs1为基准像素串,将ubvs2整体合并至ubvs1,得到长度为4且以预测矢量(0,-2)预测的ubvs1(即第一融合像素串),从而可以基于预测矢量(0,-2)所指向的像素,得到第一融合预测串。
在又一个具体的实施场景中,也可以将ubvs2作为基准像素串,并将ubvs1作为转移像素串,从而将ubvs1整体转移至ubvs2,即两者合并得到新的ubvs2(即第一融合像素串),并利用ubvs2的最佳预测串的预测矢量来预测新的ubvs2,得到第一融合预测串。需要说明的是,由于两个目标像素串直接合并得到第一个像素串,故此时并不存在第二融合像素串和第二融合预测串。请结合参阅图7,ubvs1的最佳预测串的预测矢量为(0,-2),ubvs2的最佳预测串的预测矢量为(0,-1),以ubvs2为基准像素串,将ubvs1整体合并至ubvs2,得到长度为4且以预测矢量(0,-1)预测的ubvs2(即第一融合像素串),从而可以基于预测矢量(0,-1)所指向的像素,得到第一融合预测串。
在又一个具体的实施场景中,在ubvs1的最佳预测串的预测矢量和ubvs2的最佳预测串的预测矢量相同的情况下,可以直接将ubvs1和ubvs2合并,得到长度为ubvs1和ubvs2长度之和且以该预测矢量预测的第一融合像素串,并基于该预测矢量所指向的像素,得到第一融合预测串。
在另一个实施场景中,目标像素串的最佳预测串的预测串类型包括第一类型和第二类型,且第二类型的最佳预测串内均为同一预设像素值,即其中一个目标像素串为ubvs串,另一个目标像素串为evs串。
在一个具体的实施场景中,在基准像素串的最佳预测串的预测串类型为第一类型且转移像素串的最佳预测串的预测串类型为第二类型的情况下,即在基准像素串为ubvs串且转移像素串为evs串的情况下,可以利用基准像素串的最佳预测串的预测矢量,得到第一融合像素串的第一融合预测串,并利用转移像素串的最佳预测串中的预设像素值,得到第二融合像素串的第二融合预测串。
具体地,可以将ubvs串作为基准像素串,并将evs串作为转移像素串,在此基础上,可以从evs串中最接近ubvs串的像素开始,除了evs串最远端的像素之外,由近到远逐个将evs串的像素用ubvs串的最佳预测串的预测矢量进行预测,相当于不断增加ubvs串的长度,减少evs串的长度。请结合参阅图8,图8是获取第一融合预测串和第二融合预测串又一实施例的示意图。如图8所示,ubvs串的长度为4,其最佳预测串的预测矢量为(0,-2),evs串的长度为3,将ubvs串作为基准像素串,先将evs串中最接近ubvs串的像素转移至ubvs串,得到长度为5且采用预测矢量(0,-2)预测的ubvs串(即第一融合像素串),从而可以基于预测矢量(0,-2)所指向的像素,得到第一融合预测串,并得到长度为2且采用预设像素值预测的evs串(即第二融合像素串),从而基于预设像素值,得到第二融合预测串。请继续结合参阅图8,继续将evs串中下一个像素转移至ubvs串,得到长度为6且采用预测矢量(0,-2)预测的ubvs串(即第一融合像素串),从而可以基于预测矢量(0,-2)所指向的像素,得到第一融合预测串,并得到长度为1且采用预设像素值预测的evs串(即第二融合像素串),从而基于预设像素值,得到第二融合预测串。其他情况可以以此类推,在此不再一一举例。
或者,可以将ubvs串作为基准像素串,并将evs串作为转移像素串,在此基础上,可以将evs串整体作为待转移像素转移至ubvs串,得到一个ubvs串(即第一融合像素串),且待转移像素采用ubvs串的最佳预测串的预测矢量进行预测,得到第一融合预测串。需要说明的是,由于ubvs串和evs串合并为一个像素串,故此时不存在第二融合像素串和第二融合预测串。请结合参阅图9,图9是获取第一融合预测串和第二融合预测串又一实施例的示意图。如图9所示,ubvs串的长度为4,对应的预测矢量为(0,-2),evs串的长度为3,将ubvs串作为基准像素串,并将evs串作为转移像素串整体转移至ubvs串,得到长度为7的ubvs串(即第一融合像素串),并基于预测矢量(0,-2)所指向的像素,得到第一融合预测串。
在另一个具体的实施场景中,在基准像素串的最佳预测串的预测串类型为第二类型且转移像素串的最佳预测串的预测串类型为第一类型的情况下,即在基准像素串为evs串且转移像素串为ubvs串的情况下,可以利用基准像素串的最佳预测串的预设像素值,得到第一融合像素串的第一融合预测串,并利用转移像素串的最佳预测串中的预测矢量,得到第二融合像素串的第二融合预测串。
具体地,可以将evs串作为基准像素串,并将ubvs串作为转移像素串,在此基础上,可以从ubvs串中最接近evs串的像素开始,除了evs串最远端的像素之外,由近到远逐个将ubvs串的像素用evs串中的预设像素值进行预测,相当于不断增加evs串的长度,减少ubvs串的长度。
或者,可以将evs串作为基准像素串,并将ubvs串作为转移像素串,在此基础上,可以将ubvs串整体作为待转移像素转移至evs串,得到第一个evs串(即第一融合像素串),并利用evs串中预设像素值,得到第一融合预测串。需要说明的是,由于ubvs串和evs串合并为一个像素串,故此时不存在第二融合像素串和第二融合预测串。请结合参阅图9,如图9所示,ubvs串的长度为4,对应的预测矢量为(0,-2),evs串的长度为3,将evs串作为基准像素串,并将ubvs串作为转移像素串整体转移至evs串,得到长度为7的evs串(即第一融合像素串),并基于原长度为3的evs串的预设像素值,得到长度为7的evs串的第一融合预测串。
在又一个实施场景中,目标像素串的最佳预测串的预测串类型均为第二类型,且第二类型的最佳预测串内均为同一预设像素值,具体可以参阅前述相关描述,在此不再赘述。在此基础上,可以将转移像素串所有像素作为待转移像素,并将转移像素串中所有元素与基准像素串合并,得到第一融合像素串,从而可以利用不同预测矢量对第一融合像素串进行预测,得到第一融合预测串。需要说明的是,由于基准像素串和转移像素串合并为一个像素串,故此时不存在第二融合像素串和第二融合预测串。具体地,可以将其中一个evs串作为基准像素串,另一个evs串作为转移像素串,并将两个evs串合并为采用不同预测矢量预测的ubvs串。
区别于前述实施例,通过将任一个目标像素串作为基准像素串,并将另一个目标像素串作为转移像素串,在此基础上,基于融合程度,在转移像素串中选取靠近基准像素串的若干连续像素作为待转移像素,且融合程度越高,待转移像素越多,从而将转入待转移像素之后的基准像素串作为第一融合像素串,并将转出待转移像素之后的转移像素串作为第二融合像素串,进而基于基准像素串的最佳预测串的预测串类型,得到第一融合像素串的第一融合预测串,并基于转移像素串的最佳预测串的预测串类型,得到第二融合像素串的第二融合预测串,能够有利于提高融合目标像素串的灵活度,并增多融合像素串和融合预测串的数量,从而有利于提高后续所确定的最终预测串的准确性,进而能够有利于进一步减少比特开销并提升压缩性能,有利于提升后续视频编码质量。
请参阅图10,图10是本申请解码方法一实施例的流程示意图。具体而言可以包括如下步骤:
步骤S1010:获取编码块。
本公开实施例中,编码块是利用上述任一编码方法实施例中的步骤得到的,具体可以参阅前述公开实施例,在此不再赘述。
步骤S1020:基于编码块中最终预测串的预测串类型,对编码块进行解码和重建。
在一个实施场景中,在最终预测串的预测串类型为第二类型的情况下,可以直接对该最终预测串进行解码和重建。具体地,可以基于最终预测串对应的句法元素进行解码和重建,例如,可以通过句法元素pixel_duplication_count_minus1,解析得到evs串的长度,通过句法元素index,解析得到evs串中各个像素的像素值。
在另一个实施场景中,在最终预测串的预测串类型为第一类型的情况下,可以获取最终预测串的预测矢量对应的像素行间距和最终预测串所占据的像素行数,并在像素行数大于像素行间距的情况下,将最终预测串划分为若干个子预测串,且子预测串所占据的像素行数均不大于像素行间距,在此基础上,再依次对若干个子预测串进行解码和重建。上述方式,在最终预测串的预测串类型为第一类型且像素行数大于最终预测串的预测矢量所对应的像素行间距的情况下,由于直接对最终预测串进行解码可能会导致下面几行像素参考像素串内上面几行像素的情况,而在硬件电路处理时,需要被参考的像素不一定能及时地完成解码重建,故不利于硬件实现,影响解码效率,故将最终预测串划分为若干个子预测串,且子预测串所占据的像素行数均不大于像素行间距,在此基础上,依次对若干个子预测串进行解码和重建,能够有利于提升解码效率。
在一个具体的实施场景中,以ubvs串所占据的像素行数是m为例,其对应的预测矢量为(0,-n),即对应的像素行间距为n,在m>n时,需要将每隔n行划分一次m行的ubvs串,故一共可以划分为ceil(m/n)个子预测串,其中ceil表示上取整。此外,在解码重建时,依次对子预测串进行解码重建。
在另一个具体的实施场景中,ubvs串所占据的像素行数为4行,对应的预测矢量为(0,-3),即对应的像素行间距为3,故可以将其划分为2个子预测串,第一个子预测串占据前三行,即其像素行数为3,第二个子预测串占据最后一行,即其像素行数为1,在解码重建时,可以先对第一个子预测串进行解码重建,之后再对第二个子预测串进行解码重建。其他情况可以以此类推,在此不再一一举例。
上述方案,获取编码块,且编码块是利用上述任一编码方法实施例中的步骤得到的,故能够提高视频编码质量,并进一步基于编码块中最终预测串的预测串类型,对编码块进行解码和重建,即在解码重建过程中区分最终预测串的预测串类型来进行解码和重建,能够有利于提升解码质量。
请参阅图11,图11是本申请串匹配预测装置1100一实施例的框架示意图。串匹配预测装置1100包括候选串获取模块1110和最佳串获取模块1120,候选串获取模块1110用于识别当前块内的像素串,并获取像素串的若干候选预测串;其中,若干候选预测串中包括预测串类型为第一类型的候选预测串,第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且预设矢量指向位于像素串的预设方向的像素,不同预设矢量所指向的像素与像素串间隔不同的像素行间距;最佳串获取模块1120用于基于若干候选预测串的预测代价,得到像素串的最佳预测串。
上述方案,识别当前块内的像素串,并获取像素串的若干候选预测串,且若干候选预测串中包括预测串类型为第一类型的候选预测串,第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且预设矢量指向位于像素串的预设方向的像素,不同预设矢量所指向的像素与像素串间隔不同的像素行间距,在此基础上,基于若干候选预测串的预测代价,得到像素串的最佳预测串,由于在串匹配预测过程中,预测矢量是从多个预设矢量中选择得到的,相较于设置单一的预测矢量,能够提高预测矢量的选择范围,从而能够有利于提高串匹配预测的灵活性和准确性,进而能够有利于减少比特开销并提升压缩性能,即尽可能地降低预测代价,有利于后续利用最佳预测串进行编码时提高视频编码质量。
在一些公开实施例中,预测矢量指向的像素位于当前块内,串匹配预测装置1100还包括矢量选择模块,用于执行以下任一者:选择多个预设矢量,作为预测矢量;基于当前块的尺寸,从多个预设矢量中选择预设数量个预测矢量;其中,预设数量与尺寸为正相关关系。
区别于前述实施例,选择多个预设矢量,作为预测矢量,能够有利于进一步提高串匹配预测的灵活性,提高候选预测串的数量;而基于当前块的尺寸,从多个预设矢量中选择预设数量个预测矢量,且预设数量与尺寸为正相关关系,能够在提高串匹配预测的灵活性的同时,降低所选择的预测矢量指向当前块外部的概率,从而能够有利于在提高候选预测串的数量的同时,提高选择得到的预测矢量的准确性。
在一些公开实施例中,矢量选择模块包括排序单元,用于将多个预设矢量,按照像素行间距由小到大的顺序排序,矢量选择模块包括映射单元,用于利用预设映射关系对尺寸进行映射,得到预设数量,矢量选择模块包括选择单元,用于从排序后的多个预设矢量中,选取位于前预设数量位的预设矢量,作为预测矢量。
区别于前述实施例,通过将多个预设矢量按照像素行间距由小到大的顺序排序,并利用预设映射关系对尺寸进行映射,得到预设数量,从而从排序后的多个预设矢量中,选取位于前预设数量位的预设矢量,作为预测矢量,能够降低所选择的预测矢量指向当前块外部的概率,进而能够有利于提高选择得到的预测矢量的准确性。
在一些公开实施例中,尺寸包括当前块的高度;预设映射关系是由高度和预设数量在不同高度区间形成的多段线性关系组成的。
区别于前述实施例,尺寸包括当前块的高度,且预设映射关系是由高度和预设数量在不同高度区间形成的多段线性关系组成的,能够有利于提高选择得到的预测矢量的准确性。
在一些公开实施例中,尺寸包括当前块的高度;预设映射关系包括由高度和预设数量形成的非线性关系。
区别于前述实施例,尺寸包括当前块的高度,且预设映射关系包括由高度和预设数量形成的非线性关系,能够有利于提高选择得到的预测矢量的准确性。
在一些公开实施例中,最佳串获取模块1120包括平均代价计算子模块,用于利用候选预测串的预测代价,计算候选预测串中每个像素的平均代价,最佳串获取模块1120包括最佳预测串选择子模块,用于选择平均代价最小的候选预测串,作为像素串的最佳预测串。
区别于前述实施例,通过利用候选预测串的预测代价,计算候选预测串中每个像素的平均代价,并选择平均代价最小的候选预测串,作为像素串的最佳预测串,能够有利于提高最佳预测串的准确性。
请参阅图12,图12是本申请编码装置1200一实施例的框架示意图。编码装置1200包括:最佳串获取模块1210、目标串获取模块1220、融合串获取模块1230、最终串获取模块1240和编码模块1250,最佳串获取模块1210用于获取当前块内各个像素串的最佳预测串;其中,最佳预测串是上述任一串匹配预测装置实施例中的串匹配预测装置得到的;目标串获取模块1220用于将预测串类型满足预设条件的相邻像素串,作为一对目标像素串;融合串获取模块1230用于基于目标像素串的最佳预测串,获取由目标像素串以若干种融合程度融合得到的融合像素串的融合预测串;最终串获取模块1240用于基于目标像素串的最佳预测串的预测代价以及融合像素串的融合预测串的预测代价,得到目标像素串的最终预测串;编码模块1250用于基于最终预测串,获取目标像素串的句法元素表达,并基于句法元素表达编码当前块,得到当前块的编码块。
获取当前块内各个像素串的最佳预测串,且最佳预测串是利用上述任一串匹配预测方法实施例中的步骤得到的,在此基础上,将预测串类型满足预设条件的相邻像素串,作为一对目标像素串,并基于目标像素串的最佳预测串,获取由目标像素串以若干种融合程度融合得到的融合像素串的融合预测串,以及基于目标像素串的最佳预测串的预测代价以及融合像素串的融合预测串的预测代价,得到目标像素串的最终预测串,从而基于最终预测串,获取目标像素串的句法元素表达,并基于句法元素表达编码当前块,得到当前块的编码块,由于最佳预测串是利用上述任一串匹配预测方法实施例中的步骤得到的,故能够提高串匹配预测的灵活性和准确性,有利于减少比特开销并提升压缩性能,且由于进一步基于目标像素串的最佳预测串,得到由目标像素串以若干种融合程度融合得到的融合像素串的融合预测串,并基于目标像素串的最佳预测串的预测代价以及融合像素串的融合预测串的预测代价,得到目标像素串的最终预测串,故能够进一步提高优化串匹配预测的预测结果,有利于进一步提高视频编码质量。
在一些公开实施例中,融合串获取模块1230包括串选择子模块,用于将任一个目标像素串作为基准像素串,并将另一个目标像素串作为转移像素串,融合串获取模块1230还包括串融合子模块,用于基于融合程度,在转移像素串中选取靠近基准像素串的若干连续像素作为待转移像素,且融合程度越高,待转移像素越多;融合串获取模块1230还包括串获取子模块,用于将转入待转移像素之后的基准像素串作为第一融合像素串,并将转出待转移像素之后的转移像素串作为第二融合像素串,融合串获取模块1230还包括串预测子模块,用于基于基准像素串的最佳预测串的预测串类型,得到第一融合像素串的第一融合预测串,以及基于转移像素串的最佳预测串的预测串类型,得到第二融合像素串的第二融合预测串。
区别于前述实施例,通过将任一个目标像素串作为基准像素串,并将另一个目标像素串作为转移像素串,在此基础上,基于融合程度,在转移像素串中选取靠近基准像素串的若干连续像素作为待转移像素,且融合程度越高,待转移像素越多,从而将转入待转移像素之后的基准像素串作为第一融合像素串,并将转出待转移像素之后的转移像素串作为第二融合像素串,进而基于基准像素串的最佳预测串的预测串类型,得到第一融合像素串的第一融合预测串,并基于转移像素串的最佳预测串的预测串类型,得到第二融合像素串的第二融合预测串,能够有利于提高融合目标像素串的灵活度,并增多融合像素串和融合预测串的数量,从而有利于提高后续所确的定最终预测串的准确性,进而能够有利于进一步减少比特开销并提升压缩性能,有利于提升后续视频编码质量。
在一些公开实施例中,在融合程度包括不完全融合的情况下,待转移像素为转移像素串中部分像素;和/或,在融合程度包括完全融合的情况下,待转移像素为转移像素串中所有像素。
区别于前述实施例,在融合程度包括不完全融合的情况下,待转移像素为转移像素串中部分像素,而在融合程度包括完全融合的情况下,待转移像素为转移像素串中所有像素。故能够有利于进一步提高融合的灵活性,有利于进一步减少比特开销并提升压缩性能,有利于提升后续视频编码质量。
在一些公开实施例中,目标像素串的最佳预测串的预测串类型均为第一类型,串预测子模块包括第一预测单元,用于利用基准像素串的最佳预测串的预测矢量,得到第一融合像素串的第一融合预测串,串预测子模块包括第二预测单元,用于利用转移像素串的最佳预测串的预测矢量,得到第二融合像素串的第二融合预测串。
区别于前述实施例,目标像素串的最佳预测串的预测串类型均为第一类型,在此基础上,利用基准像素串的最佳预测串的预测矢量,得到第一融合像素串的第一融合预测串,并利用转移像素串的最佳预测串的预测矢量,得到第二融合像素串的第二融合预测串,能够有利于提升第一融合预测串和第二融合预测串的准确性。
在一些公开实施例中,目标像素串的最佳预测串的预测串类型包括第一类型和第二类型,第二类型的最佳预测串内均为同一预设像素值,在基准像素串的最佳预测串的预测串类型为第一类型的情况下,第一预测单元用于利用基准像素串的最佳预测串的预测矢量,得到第一融合像素串的第一融合预测串,在基准像素串的最佳预测串的预测串类型为第二类型的情况下,第一预测单元用于利用基准像素串的最佳预测串的预设像素值,得到第一融合像素串的第一融合预测串,在转移像素串的最佳预测串的预测串类型为第一类型的情况下,第二预测单元用于利用转移像素串的最佳预测串的预测矢量,得到第二融合像素串的第二融合预测串,在转移像素串的最佳预测串的预测串类型为第二类型的情况下,第二预测单元,用于利用转移像素串的最佳预测串的预设像素值,得到第二融合像素串的第二融合预测串。
区别于前述实施例,目标像素串的最佳预测串的预测串类型包括第一类型和第二类型,第二类型的最佳预测串内均为同一预设像素值,在此基础上,在基准像素串的最佳预测串的预测串类型为第一类型的情况下,利用基准像素串的最佳预测串的预测矢量,得到第一融合像素串的第一融合预测串,并在基准像素串的最佳预测串的预测串类型为第二类型的情况下,利用基准像素串的最佳预测串的预设像素值,得到第一融合像素串的第一融合预测串,而在转移像素串的最佳预测串的预测串类型为第一类型的情况下,利用转移像素串的最佳预测串的预测矢量,得到第二融合像素串的第二融合预测串,并在转移像素串的最佳预测串的预测串类型为第二类型的情况下,利用转移像素串的最佳预测串的预设像素值,得到第二融合像素串的第二融合预测串,能够有利于提升第一融合预测串和第二融合预测串的准确性。
在一些公开实施例中,目标像素串的最佳预测串的预测串类型均为第二类型,第二类型的最佳预测串内均为同一预设像素值,基于融合程度,在转移像素串中选取靠近基准像素串的若干连续像素作为待转移像素包括:将转移像素串中所有像素作为待转移像素,将转入待转移像素之后的基准像素串作为第一融合像素串包括:将转移像素串中所有像素与基准像素串合并,得到第一融合像素串,基于基准像素串的最佳预测串的预测串类型,得到第一融合像素串的第一融合预测串包括:利用不同预测矢量对第一融合像素串进行预测,得到第一融合预测串。
区别于前述实施例,目标像素串的最佳预测串的预测串类型均为第二类型,第二类型的最佳预测串内均为同一预设像素值,在此基础上,将转移像素串中所有像素作为待转移像素,并将转移像素串中所有像素与基准像素串合并,得到第一融合像素串,从而利用不同预测矢量对第一融合像素串进行预测,得到第一融合预测串,有利于进一步提高编码灵活度。
在一些公开实施例中,在当前块中出现多个连续的最终预测串的预测串类型均为第一类型的情况下,句法元素表达包括第一句法元素、第二句法元素和第三句法元素,第一句法元素用于表示预测串类型为第一类型的最终预测串的预测矢量,第二句法元素用于表示多个连续的最终预测串的个数,第三句法元素用于表示多个连续的最终预测串的预测串类型;和/或,在不允许出现多个连续的最终预测串的预测串类型均为第一类型的情况下,句法元素表达包括第一句法元素和第二句法元素,第一句法元素用于表示预测串类型为第一类型的最终预测串的预测矢量,第二句法元素用于表示多个连续的非第一类型的最终预测串的个数。
区别于前述实施例,在当前块中出现多个连续的最终预测串的预测串类型均为第一类型的情况下,将句法元素表达设置为包括第一句法元素、第二句法元素和第三句法元素,且第一句法元素用于表示最终预测串的预测矢量,第二句法元素用于表示多个连续的最终预测串的个数,第三句法元素用于表示多个连续的最终预测串的预测串类型,此外,在不允许出现多个连续的最终预测串的预测串类型均为第一类型的情况下,句法元素表达包括第一句法元素和第二句法元素,第一句法元素用于表示预测串类型为第一类型的最终预测串的预测矢量,第二句法元素用于表示多个连续的非第一类型的最终预测串的个数,故能够有利于提高句法元素表达的准确性,有利于提升后续编码的准确性。
请参阅图13,图13是本申请解码装置1300一实施例的框架示意图。解码装置1300包括编码块获取模块1310和解码模块1320,编码块获取模块1310用于获取编码块;其中,编码块是利用上述任一编码装置实施例中的编码装置得到的;解码模块1320用于基于编码块中最终预测串的预测串类型,对编码块进行解码和重建。
上述方案,获取编码块,且编码块是利用上述任一编码方法实施例中的步骤得到的,故能够提高视频编码质量,并进一步基于编码块中最终预测串的预测串类型,对编码块进行解码和重建,即在解码过程中区分最终预测串的预测串类型来进行解码和重建,能够有利于提升解码质量。
在一些公开实施例中,解码模块1320包括行间距获取子模块,用于在最终预测串的预测串类型为第一类型的情况下,获取最终预测串的预测矢量所对应的像素行间距,解码模块1320包括预测换划分子模块,用于在像素行数大于像素行间距的情况下,将最终预测串划分为若干个子预测串;其中,子预测串所占据的像素行数均不大于像素行间距,解码模块1320包括解码子模块,用于依次对若干个子预测串进行解码和重建。
区别于前述实施例,在最终预测串的预测串类型为第一类型且像素行数大于最终预测串的预测矢量所对应的像素行间距的情况下,由于直接对最终预测串进行解码可能会导致下面几行像素参考像素串内上面几行像素的情况,而在硬件电路处理时,需要被参考的像素不一定能及时地完成解码重建,故不利于硬件实现,影响解码效率,故将最终预测串划分为若干个子预测串,且子预测串所占据的像素行数均不大于像素行间距,在此基础上,依次对若干个子预测串进行解码和重建,能够有利于提升解码效率。
请参阅图14,图14是本申请电子设备1400一实施例的框架示意图。电子设备1400包括相互耦接的存储器1410和处理器1420,存储器1410存储有程序指令,处理器1420用于执行程序指令以实现上述任一串匹配预测方法实施例中的步骤,或实现上述任一编码方法实施例中的步骤,或实现上述任一解码方法实施例中的步骤。具体地,电子设备可以包括但不限于:服务器、微型计算机、平板电脑、手机等电子设备,在此不做限定。
具体而言,处理器1420用于控制其自身以及存储器1410以实现上述任一串匹配预测方法实施例中的步骤,或实现上述任一编码方法实施例中的步骤,或实现上述任一解码方法实施例中的步骤。处理器1420还可以称为CPU(Central Processing Unit,中央处理单元)。处理器1420可能是一种集成电路芯片,具有信号的处理能力。处理器1420还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器1420可以由多个集成电路芯片共同实现。
上述方案,能够提高视频编码质量。
请参阅图15,图15为本申请存储装置1500一实施例的框架示意图。存储装置1500存储有能够被处理器运行的程序指令1510,程序指令1510用于实现上述任一串匹配预测方法实施例中的步骤,或实现上述任一编码方法实施例中的步骤,或实现上述任一解码方法实施例中的步骤。
上述方案,能够提高视频编码质量。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (18)

1.一种编码方法,其特征在于,包括:
获取当前块内各个像素串的最佳预测串;其中,所述获取当前块内各个像素串的最佳预测串,包括:识别当前块内的像素串,并获取所述像素串的若干候选预测串,其中,所述若干候选预测串中包括预测串类型为第一类型的候选预测串,所述第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且所述预设矢量指向位于所述像素串的预设方向的像素,不同所述预设矢量所指向的像素与所述像素串间隔不同的像素行间距;基于所述若干候选预测串的预测代价,得到所述像素串的最佳预测串;
将所述预测串类型满足预设条件的相邻所述像素串,作为一对目标像素串;
基于所述目标像素串的最佳预测串,获取由所述目标像素串以若干种融合程度融合得到的融合像素串的融合预测串;
基于所述目标像素串的最佳预测串的预测代价以及所述融合像素串的融合预测串的预测代价,得到最终预测串;
基于所述最终预测串,获取句法元素表达,并基于所述句法元素表达编码所述当前块,得到所述当前块的编码块。
2.根据权利要求1所述的方法,其特征在于,所述预测矢量指向的像素位于所述当前块内;所述预测矢量的选择步骤包括以下任一者:
选择所述多个预设矢量,作为所述预测矢量;
基于所述当前块的尺寸,从所述多个预设矢量中选择预设数量个所述预测矢量;其中,所述预设数量与所述尺寸为正相关关系。
3.根据权利要求2所述的方法,其特征在于,所述基于所述当前块的尺寸,从所述多个预设矢量中选择预设数量个所述预测矢量,包括:
将所述多个预设矢量,按照所述像素行间距由小到大的顺序排序;
利用预设映射关系对所述尺寸进行映射,得到所述预设数量;
从排序后的多个预设矢量中,选取位于前所述预设数量位的预设矢量,作为所述预测矢量。
4.根据权利要求3所述的方法,其特征在于,所述尺寸包括所述当前块的高度;所述预设映射关系是由所述高度和所述预设数量在不同高度区间形成的多段线性关系组成的。
5.根据权利要求3所述的方法,其特征在于,所述尺寸包括所述当前块的高度;所述预设映射关系包括由所述高度和所述预设数量形成的非线性关系。
6.根据权利要求1所述的方法,其特征在于,所述基于所述若干候选预测串的预测代价,得到所述像素串的最佳预测串,包括:
利用所述候选预测串的预测代价,计算所述候选预测串中每个像素的平均代价;
选择所述平均代价最小的候选预测串,作为所述像素串的最佳预测串。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标像素串的最佳预测串,获取由所述目标像素串以若干种融合程度融合得到的融合像素串的融合预测串,包括:
将任一个所述目标像素串作为基准像素串,并将另一个所述目标像素串作为转移像素串;
基于所述融合程度,在所述转移像素串中选取靠近所述基准像素串的若干连续像素作为待转移像素;其中,所述融合程度越高,所述待转移像素越多;
将转入所述待转移像素之后的基准像素串作为第一融合像素串,并将转出所述待转移像素之后的转移像素串作为第二融合像素串;
基于所述基准像素串的最佳预测串的预测串类型,得到所述第一融合像素串的第一融合预测串;以及,
基于所述转移像素串的最佳预测串的预测串类型,得到所述第二融合像素串的第二融合预测串。
8.根据权利要求7所述的方法,其特征在于,
在所述融合程度包括不完全融合的情况下,所述待转移像素为所述转移像素串中部分像素;
和/或,在所述融合程度包括完全融合的情况下,所述待转移像素为所述转移像素串中所有像素。
9.根据权利要求7所述的方法,其特征在于,所述目标像素串的最佳预测串的预测串类型均为所述第一类型;所述基于所述基准像素串的最佳预测串的预测串类型,得到所述第一融合像素串的第一融合预测串,包括:
利用所述基准像素串的最佳预测串的预测矢量,得到所述第一融合像素串的第一融合预测串;
所述基于所述转移像素串的最佳预测串的预测串类型,得到所述第二融合像素串的第二融合预测串,包括:
利用所述转移像素串的最佳预测串的预测矢量,得到所述第二融合像素串的第二融合预测串。
10.根据权利要求7所述的方法,其特征在于,所述目标像素串的最佳预测串的预测串类型包括所述第一类型和第二类型,所述第二类型的所述最佳预测串内均为同一预设像素值;所述基于所述基准像素串的最佳预测串的预测串类型,得到所述第一融合像素串的第一融合预测串,包括:
在所述基准像素串的最佳预测串的预测串类型为所述第一类型的情况下,利用所述基准像素串的最佳预测串的预测矢量,得到所述第一融合像素串的第一融合预测串;
在所述基准像素串的最佳预测串的预测串类型为所述第二类型的情况下,利用所述基准像素串的最佳预测串的预设像素值,得到所述第一融合像素串的第一融合预测串;
所述基于所述转移像素串的最佳预测串的预测串类型,得到所述第二融合像素串的第二融合预测串,包括:
在所述转移像素串的最佳预测串的预测串类型为所述第一类型的情况下,利用所述转移像素串的最佳预测串的预测矢量,得到所述第二融合像素串的第二融合预测串;
在所述转移像素串的最佳预测串的预测串类型为所述第二类型的情况下,利用所述转移像素串的最佳预测串的预设像素值,得到所述第二融合像素串的第二融合预测串。
11.根据权利要求7所述的方法,其特征在于,所述目标像素串的最佳预测串的预测串类型均为第二类型,所述第二类型的所述最佳预测串内均为同一预设像素值;所述基于所述融合程度,在所述转移像素串中选取靠近所述基准像素串的若干连续像素作为待转移像素,包括:
将所述转移像素串中所有像素作为所述待转移像素;
所述将转入所述待转移像素之后的基准像素串作为第一融合像素串,包括:
将所述转移像素串中所有像素与所述基准像素串合并,得到所述第一融合像素串;
所述基于所述基准像素串的最佳预测串的预测串类型,得到所述第一融合像素串的第一融合预测串,包括:
利用不同所述预测矢量对所述第一融合像素串进行预测,得到所述第一融合预测串。
12.根据权利要求1所述的方法,其特征在于,在所述当前块中出现多个连续的所述最终预测串的预测串类型均为所述第一类型的情况下,所述句法元素表达包括第一句法元素、第二句法元素和第三句法元素,所述第一句法元素用于表示所述预测串类型为所述第一类型的所述最终预测串的预测矢量,所述第二句法元素用于表示多个连续的所述最终预测串的个数,所述第三句法元素用于表示多个连续的所述最终预测串的预测串类型;
和/或,在不允许出现多个连续的所述最终预测串的预测串类型均为所述第一类型的情况下,所述句法元素表达包括第一句法元素和第二句法元素,所述第一句法元素用于表示所述预测串类型为所述第一类型的所述最终预测串的预测矢量,所述第二句法元素用于表示多个连续的非所述第一类型的所述最终预测串的个数。
13.一种解码方法,其特征在于,包括:
获取编码块;其中,所述编码块是利用权利要求1至12任一项所述的编码方法得到的;
基于所述编码块中所述最终预测串的预测串类型,对所述编码块进行解码和重建。
14.根据权利要求13所述的方法,其特征在于,所述基于所述编码块中所述最终预测串的预测串类型,对所述编码块进行解码,包括:
在所述最终预测串的预测串类型为所述第一类型的情况下,获取所述最终预测串的预测矢量所对应的像素行间距和所述最终预测串所占据的像素行数;
在所述像素行数大于所述像素行间距的情况下,将所述最终预测串划分为若干个子预测串;其中,所述子预测串所占据的像素行数均不大于所述像素行间距;
依次对所述若干个子预测串进行解码和重建。
15.一种编码装置,其特征在于,包括:
最佳串获取模块,用于获取当前块内各个像素串的最佳预测串;其中,所述最佳串获取模块包括候选串获取子模块和最佳串获取子模块,候选串获取子模块用于识别当前块内的像素串,并获取所述像素串的若干候选预测串;其中,所述若干候选预测串中包括预测串类型为第一类型的候选预测串,所述第一类型的候选预测串是利用从多个预设矢量中选择得到的预测矢量预测得到的,且所述预设矢量指向位于所述像素串的预设方向的像素,不同所述预设矢量所指向的像素与所述像素串间隔不同的像素行间距;最佳串获取子模块用于基于所述若干候选预测串的预测代价,得到所述像素串的最佳预测串;
目标串获取模块,用于将所述预测串类型满足预设条件的相邻所述像素串,作为一对目标像素串;
融合串获取模块,用于基于所述目标像素串的最佳预测串,获取由所述目标像素串以若干种融合程度融合得到的融合像素串的融合预测串;
最终串获取模块,用于基于所述目标像素串的最佳预测串的预测代价以及所述融合像素串的融合预测串的预测代价,得到最终预测串;
编码模块,用于基于所述最终预测串,获取句法元素表达,并基于所述句法元素表达编码所述当前块,得到所述当前块的编码块。
16.一种解码装置,其特征在于,包括:
编码块获取模块,用于获取编码块;其中,所述编码块是利用权利要求15所述的编码装置得到的;
解码模块,用于基于所述编码块中所述最终预测串的预测串类型,对所述编码块进行解码和重建。
17.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述存储器存储有程序指令,所述处理器用于执行所述程序指令以实现权利要求1至12任一项所述的编码方法,或实现权利要求13至14任一项所述的解码方法。
18.一种计算机可读存储介质,其特征在于,存储有能够被处理器运行的程序指令,所述程序指令用于实现权利要求1至12任一项所述的编码方法,或实现权利要求13至14任一项所述的解码方法。
CN202110199496.XA 2020-12-06 2021-02-22 串匹配预测方法、编码和解码方法及相关设备、装置 Active CN113099269B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110199496.XA CN113099269B (zh) 2021-02-22 2021-02-22 串匹配预测方法、编码和解码方法及相关设备、装置
PCT/CN2021/135660 WO2022117104A1 (en) 2020-12-06 2021-12-06 Systems and methods for video processing
EP21900126.0A EP4241446A4 (en) 2020-12-06 2021-12-06 VIDEO PROCESSING SYSTEMS AND METHODS
US18/327,874 US20230319288A1 (en) 2020-12-06 2023-06-01 Systems and methods for video processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110199496.XA CN113099269B (zh) 2021-02-22 2021-02-22 串匹配预测方法、编码和解码方法及相关设备、装置

Publications (2)

Publication Number Publication Date
CN113099269A CN113099269A (zh) 2021-07-09
CN113099269B true CN113099269B (zh) 2023-02-28

Family

ID=76667445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110199496.XA Active CN113099269B (zh) 2020-12-06 2021-02-22 串匹配预测方法、编码和解码方法及相关设备、装置

Country Status (1)

Country Link
CN (1) CN113099269B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4241446A4 (en) * 2020-12-06 2024-05-01 Zhejiang Dahua Technology Co., Ltd. VIDEO PROCESSING SYSTEMS AND METHODS

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017073668A (ja) * 2015-10-07 2017-04-13 日本放送協会 映像符号化装置、映像復号装置及びプログラム
CN107770540A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 融合多种具有不同参考关系的基元的数据压缩方法和装置
CN111866512A (zh) * 2020-07-29 2020-10-30 腾讯科技(深圳)有限公司 视频解码方法、视频编码方法、装置、设备及存储介质
CN112055219A (zh) * 2020-08-05 2020-12-08 浙江大华技术股份有限公司 一种串匹配预测方法、装置及计算机可读存储介质
CN112073719A (zh) * 2020-08-21 2020-12-11 浙江大华技术股份有限公司 一种串匹配预测方法、装置、系统及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104159123B (zh) * 2014-08-11 2017-04-12 哈尔滨工业大学深圳研究生院 一种适合于硬件实现的hevc运动估计方法
CN107071450B (zh) * 2016-02-10 2021-07-27 同济大学 数据压缩的编码、解码方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017073668A (ja) * 2015-10-07 2017-04-13 日本放送協会 映像符号化装置、映像復号装置及びプログラム
CN107770540A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 融合多种具有不同参考关系的基元的数据压缩方法和装置
CN111866512A (zh) * 2020-07-29 2020-10-30 腾讯科技(深圳)有限公司 视频解码方法、视频编码方法、装置、设备及存储介质
CN112055219A (zh) * 2020-08-05 2020-12-08 浙江大华技术股份有限公司 一种串匹配预测方法、装置及计算机可读存储介质
CN112073719A (zh) * 2020-08-21 2020-12-11 浙江大华技术股份有限公司 一种串匹配预测方法、装置、系统及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
融合像素串匹配的AVS2全色度屏幕与混合内容视频编码算法;赵利平;《计算机学报》;20181218;第3.1-3.2,4.1节 *

Also Published As

Publication number Publication date
CN113099269A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
US10687058B2 (en) Method and apparatus for coding of intra prediction mode
US8121427B2 (en) Breakpoint determining for hybrid variable length coding and encoding the determined breakpoint
US8977066B2 (en) Image compression using sub-resolution images
KR101678223B1 (ko) 멀티미디어 서명 코딩 및 디코딩
KR20140010182A (ko) 인코딩 또는 디코딩 방법 및 장치
CN108243339A (zh) 图像编解码方法及装置
CN102017634A (zh) 重新排序的变换系数的多级表示
US20220222861A1 (en) Method, device, and storage medium for data encoding/decoding
CN112055219B (zh) 一种串匹配预测方法、装置及计算机可读存储介质
US20050152610A1 (en) Image encoding apparatus, image decoding apparatus, and their control method, and computer program and computer-readable storage medium
US20110058613A1 (en) Method and apparatus for generating bitstream based on syntax element
CN113099269B (zh) 串匹配预测方法、编码和解码方法及相关设备、装置
CN107103632B (zh) 图像压缩方法及装置
CN111586415B (zh) 视频编码方法、装置、编码器及存储装置
CN111654696B (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
JP2009077176A (ja) 画像符号化装置及び画像復号装置並びにそれらの制御方法
CN113365080B (zh) 串编码技术的编解码方法、设备及存储介质
CN106941610B (zh) 基于改进方块编码的二值roi掩模编码方法
CN112073733A (zh) 基于运动矢量角度预测的视频编解码方法和装置
CN113192148B (zh) 基于调色盘的属性预测方法、装置、设备及介质
US8411745B2 (en) Method and apparatus for coding and decoding using bit-precision
CN101841701B (zh) 基于宏块对的编解码方法及装置
US20230319288A1 (en) Systems and methods for video processing
CN113542768B (zh) 运动搜索方法、装置及计算机可读存储介质
CN105828079B (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