CN112995661B - 图像编码方法及装置、电子设备及存储介质 - Google Patents
图像编码方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112995661B CN112995661B CN202110397360.XA CN202110397360A CN112995661B CN 112995661 B CN112995661 B CN 112995661B CN 202110397360 A CN202110397360 A CN 202110397360A CN 112995661 B CN112995661 B CN 112995661B
- Authority
- CN
- China
- Prior art keywords
- string
- pixel
- strings
- merged
- merging
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开实施例提供了一种图像编码方法及装置、电子设备及存储介质。该方法包括:根据常现像素值,遍历待编码图像的编码单元CU内的像素值,并根据遍历的结果确定出CU包含的像素串;像素串包含:匹配串和未匹配串;匹配串包括:像素值与常现像素值匹配的等值串evs和/或单位基矢量串ubvs;未匹配串为匹配串以外的相邻像素构成的像素串;根据对匹配串和未匹配串的预测编码的比特开销,确定第一代价值;合并相邻两个像素串,得到合并串;根据基于对合并串预测编码所产生的比特开销,及合并串与被合并两个像素串的失真程度,确定合并串的第二代价值;根据第一代价值和第二代价值,确定基于合并串进行图像编码或者对像素串进行图像编码。
Description
技术领域
本发明涉及图像技术领域,尤其涉及一种图像编码方法及装置、电子设备及存储介质。
背景技术
视频图像数据量比较大,通常需要对视频像素数据(RGB、YUV等)其进行压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。整个视频编码流程包括预测、变换、量化、编码等过程。
视频编码中的块划分介绍。视频编码时,输入的是一个个图像帧,但对一帧图像进行编码时,需要将一帧分割成若干最大编码单元(Lagest Coding Unit,LCU),然后再对每个编码单元进行不同尺寸的编码单元(Coding Unit,CU)分割,视频编码就是以CU为单元进行的。
SP预测技术是一种基于串匹配的预测编码技术。有一个句法元素SPCuFlag代表的是当前CU是否采用SP技术(串匹配预测技术),SPCuFlag=1时采用SP技术,SPCuFlag=0时不采用。在编码时就需要将SPCuFlag对应的值编码到码流中,传输到解码端。解码端通过解析SPCuFlag对应的值就知道编码端是否采用了SP技术,若采用了SP技术,解码端就要通过SP相关的操作来解码。
但是相关技术中视频的图像帧的编码性能还没有达到用户预期,例如,图像编码之后失真率小但是比特开销大导致视频卡顿或者流量消耗大;或者,比特开销小但是却有失真严重的问题。
发明内容
本发明提供一种图像编码方法及装置、电子设备及存储介质,以至少解决现有技术中存在的以上技术问题。
本公开实施例第一方面提供一种图像编码方法,所述方法包括:
根据常现像素值,遍历待编码图像的编码单元CU内的像素值,并根据遍历的结果确定出所述CU包含的像素串;所述像素串包含:匹配串和未匹配串,其中,所述匹配串包括:像素值与所述常现像素值匹配的等值串evs和/或单位基矢量串ubvs;所述未匹配串为所述匹配串以外的相邻像素构成的像素串;
根据对所述匹配串和所述未匹配串的预测编码的比特开销,确定第一代价值;
合并相邻两个所述像素串,得到合并串;
根据基于对所述合并串预测编码所产生的比特开销,及所述合并串与被合并两个所述像素串的失真程度,确定所述合并串的第二代价值;
根据所述第一代价值和所述第二代价值,确定基于所述合并串进行图像编码或者对所述像素串进行图像编码。
基于上述方案,所述合并相邻两个所述像素串,得到合并串,包括:
确定所述合并相邻两个所述像素串的目标合并方式;
根据所述目标合并方式,合并相邻两个所述像素串得到所述合并串。
基于上述方案,所述根据确定的合并方式,合并相邻两个所述像素串得到所述合并串,包括:
若所述目标合并方式为第一合并方式时,将相邻两个所述像素串的下一个像素串的n个像素合并到相邻两个所述像素串的当前像素串中,得到所述合并串,其中,所述合并串包括:第y像素串和第y+1像素串;其中,所述第y+1像素串包括:所述下一个像素串中未合并到所述当前像素串中的N-n个像素;所述第y像素串包括:所述当前像素串的M个像素和所述下一个像素串被合并到所述当前像素串中的n个像素;其中,合并到所述当前像素串中的像素值是根据所述当前像素串的像素值确定的;
所述 N为所述下一个像素串的像素个数;所述n为小于或等于N的正整数;其中,在编码所述合并串时,分别编码所述合并串中所述第y像素串和第y+1像素串;
其中,所述y为任意自然数,且为不同所述像素串的指代符。
基于上述方案,所述下一个像素串包括:未匹配串;且所述当前像素串包括:所述evs或所述ubvs;
或者,
所述下一个像素串包括:所述evs或所述ubvs,且所述当前像素串为所述未匹配串。
基于上述方案,所述根据所述目标合并方式,合并相邻两个所述像素串得到所述合并串,包括:
若所述目标合并方式为第二合并方式,直接合并相邻两个所述像素串得到所述合并串;其中,相邻的两个像素串中一个为所述未匹配串且另一个为所述匹配串,其中,所述合并串的串类型为相邻两个像素串中所述匹配串的类型。
基于上述方案,所述若所述目标合并方式为第二合并方式,直接合并相邻两个所述像素串得到所述合并串,包括:
当相邻两个所述像素串包括:一个所述evs和一个所述未匹配串,则将相邻两个所述像素串合并为所述evs;
和/或,
当相邻两个所述像素串包括:一个所述ubvs和一个所述未匹配串,则将相邻两个所述像素串合并为所述ubvs。
基于上述方案,所述方法还包括:
在对相邻两个所述像素串合并完成之后,得到合并后的CU;
确定合并后的所述CU内是否包含满足三个像素串合并条件的相邻分布三个所述像素串;
若合并后的所述CU内包含满足三个像素串合并条件的相邻分布三个所述像素串,将相邻分布的三个所述像素串合并,得到所述合并串,所述合并串的串类型为所述evs或者所述ubvs。
基于上述方案,所述CU内是否包含满足三个像素串合并条件的相邻分布三个所述像素串包括:
按照合并后的CU的扫描顺序得到相邻分布的第s个像素串、第s+1个像素串和第s+2个像素串中,所述第s个像素串和所述第s+2个像素串为相同类型的所述匹配串,且所述第s个像素串和所述第s+2个像素串包括的像素个数,均比所述第s+1个像素串包含的像素个数多T个,确定所述CU内包含满足三个像素串合并条件的相邻分布三个所述像素串;其中,所述T是取值为正整数的阈值,所述s为自然数。
基于上述方案,所述将相邻分布的三个所述像素串合并,得到的所述合并串,包括:
当相邻分布的三个像素串中的第s个像素串和第s+2个像素串均为所述ubvs,且第s+1个像素串为所述未匹配串,将相邻分布的三个所述像素串合并为所述ubvs;
和/或,
当相邻分布的三个像素串中的第s个像素串和第s+2个像素串均为所述evs,且第s+1个像素串为所述未匹配串,将相邻分布的三个所述像素串合并为所述evs;
其中,所述s为自然数。
本公开实施例第二方面提供一种图像编码装置,所述装置包括:
遍历模块,用于根据常现像素值,遍历待编码图像的编码单元CU内的像素值,并根据遍历的结果确定出所述CU包含的像素串;所述像素串包含:匹配串和未匹配串,其中,所述匹配串包括:像素值与所述常现像素值匹配的等值串evs和/或单位基矢量串ubvs;所述未匹配串为所述匹配串以外的相邻像素构成的像素串;
确定模块,用于根据对所述匹配串和所述未匹配串的预测编码的比特开销,确定第一代价值;
合并模块,用于合并相邻两个所述像素串,得到合并串;
代价模块,用于根据基于对所述合并串预测编码所产生的比特开销,及所述合并串与被合并两个所述像素串的失真程度,确定所述合并串的第二代价值;
编码模块,用于根据所述第一代价值和所述第二代价值,确定基于所述合并串进行图像编码或者对所述像素串进行图像编码。
基于上述方案,所述合并模块,具体用于确定所述合并相邻两个所述像素串的目标合并方式;根据所述目标合并方式,合并相邻两个所述像素串得到所述合并串。
本公开实施例第三方面提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前述任意技术方案提供的图像编码方法步骤。
本公开实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面任意技术方案所述的方法步骤。
本公开实施例提供的图像编码方法,在完成CU扫描之后得到匹配串和未匹配串;在进行串合并时,会可以引入未匹配串的合并,通过合并之后基于得到合并串的失真和比特开销计算代价值,并基于代价值确定是基于合并串编码CU还是基于原始像素组成进行CU编码。由于串合并时,可以实现未匹配串的引入,从而相对于针对未匹配像素(构成未匹配串的像素)就直接对原始像素进行编码,可以减少比特开销;同时也由于会基于失真和比特开下计算代价值,也可以控制编码后的CU的失真程度在预设范围内。如此,在对CU进行编码时实现了失真和比特开销的很好平衡,提升了图像编码的编码效率。
附图说明
图1示出了一种实施例提供的普通模式的像素串之间的依赖关系的示意图;
图2示出了一种实施例提供的扫描CU的像素值的示意图;
图3示出了一种实施例提供扫描当前块得到的像素串的示意图;
图4示出了一种实施例提供的图像编码方法的流程示意图;
图5示出了一种实施例提供的evs和未匹配串的合并示意图;
图6示出了一种实施例提供的ubvs和未匹配串的合并示意图;
图7示出了另一种实施例提供的evs和未匹配串的合并示意图;
图8示出了另一种实施例提供的ubvs和未匹配串的合并示意图;
图9示出了一种实施例提供的图像编码方法的流程示意图;
图10示出了一种实施例提供的图像编码装置的结构示意图;
图11示出了一种实施例提供的像素串的流程示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
SP预测技术下又存在两种模式,普通SP预测模式和等值串级单位基矢量串预测模式。
普通SP模式是SP预测技术下的一种子模式,当前块内连续的n个(n>=1)像素称为一个串,当前块内可以有若干个不同的串,每个串都有自己的一个SV(串矢量),SV指向空域上之前的已编码像素(参考像素)。若当前块内有像素不能成串,则直接编码该像素值。串匹配示意图如图1所示,图1中用不同灰度代表的不同颜色的三个像素串;而在图像编码的实际处理过程中,灰色像素则不成串直接编码像素值。
等值串级-单位基矢量串(evs_ubvs)技术是SP预测技术下的一种子模式,是与普通SP模式并列的一种模式。和普通的SP预测模式不同的是,该子模式不是用SV对串进行预测,而是用常现像素值或单位基矢量对串进行预测。因此用evs_ubvs模式进行预测后,CU块内的串只会出现两种串以及未匹配像素:
(1)等值串(equal value string,简称evs):这种串的特点是串中所有的像素都取相等的数值,因为该串中的所有像素都用同一个常现像素值进行预测。
(2)单位基矢量串(unit basis vector string,简称ubvs):因为目前对当前CU的扫描方式只有水平弓形扫描,因此现有计数的单位基矢量串特指用(0,-1)这个矢量进行预测的串。
(3)未匹配像素(unmatched pixel):若某一像素既不属于evs,也不属于ubvs,则为未匹配像素。
SP预测技术中的evs_ubvs子模式,对CU的扫描方式采用弓字型扫描,具体如图2所示。
图3为一个CU扫描之后各像素归类形成的像素串的示意图。在图3所示的当前CU内,前两个像素串分别用常现像素值列表中的index0和index1两个常现像素值进行预测,这两个串为evs;第三行的两个灰块为两个未匹配像素,组成一个长度为2的未匹配串;最后一行是一个ubvs。
如图4所示,本公开实施例提供一种图像编码方法,所述方法包括:
S110:根据常现像素值,遍历待编码图像的编码单元CU内的像素值,并根据遍历的结果确定出所述CU包含的像素串;所述像素串包含:匹配串和未匹配串,其中,所述匹配串包括:像素值与所述常现像素值匹配的等值串evs和/或单位基矢量串ubvs;所述未匹配串为所述匹配串以外的相邻像素构成的像素串;
S120:根据对所述匹配串和所述未匹配串的预测编码的比特开销,确定第一代价值;
S130:合并相邻两个所述像素串,得到合并串;
S140:根据基于对所述合并串预测编码所产生的比特开销,及所述合并串与被合并两个所述像素串的失真程度,确定所述合并串的第二代价值;
S150:根据所述第一代价值和所述第二代价值,确定基于所述合并串进行图像编码或者对所述像素串进行图像编码。
在本公开实施例中,若一个或多个未与常现像素值匹配上的像素构成的串称之为未匹配串。
此处的常现像素值可为:在当前CU和/或历史CU中出现频率高于预设频率的像素值,或者,在当前CU和/或历史CU中出现频率最高的一个或多个像素值。
匹配串为像素值与常现像素值匹配成功的一个或多个像素构成的串。
在本公开实施例中所述匹配串包括:像素值均相等且与常现像素值匹配的匹配串,这种串称之为evs,与此同时,该匹配串还可包括:每一个像素的像素值均为该像素的上方一个像素的像素值的串,称之为ubvs。
以下介绍一下常现像素值的确定方式:示例性地,可以构建当前常现像素候选列表(命名为Srb列表)。所述当前常现像素候选列表(命名为Srb列表)的构建分以下四步中的一步或多步确定:
从历史常现像素列表(PrevSrb)中获取历史常现像素值填入当前Srb;
用聚类方法获取当前CU中新的常现像素值;
将历史的常现像素值和新的常现像素值合并到Srb列表中,并进行查重操作;
对完整的Srb列表进行SSE细选再排序。
在一些实施例中,若一个CU编码完之后,会进行一次常现像素值更新。示例性地,当一个CU用evs_ubvs模式编码完后,该CU对应的Srb中的常现像素值就需要更新到历史常现像素列表PrevSrb中。总体规则为:将当前已编码完CU的Srb中的常现像素值放到PrevSrb的前面,PrevSrb中原有的常现像素值往后移,同时进行查重操作。PrevSrb为前一个CU编码完成之前生成的Srb。在加入当前已编码完的CU的常现像素制之后,就得到了当前CU对应的Srb,该Srb可以用于当前下一个CU的编码。
在S110中遍历CU的方式可如下:
首先确认未匹配像素:
对当前CU内的每一个像素,遍历当前Srb列表中的每一个常现像素值,计算每个常现像素值和当前像素的差异值,选出差异值最小对应的常现像素值作为当前像素的最佳常现像素值(即最优常现像素值);
若该最佳常现像素值和当前像素间的差异值大于阈值(i_errorlimit)时,则需要计算直接编当前像素的代价值(rdcos)t,若该rdcost小于最佳常现像素值对应的差异值时,说明当前像素和所有常现像素值的差异都较大,直接编码当前像素反而更节省比特开销。当前像素为未匹配像素,当前像素的预测值就是本身;否则当前像素的预测值就是最佳常现像素值值。
确定完未匹配像素后,对CU内剩余的所有像素都可进行evs预测,但仍有些像素串可用单位基矢量(0,-1)进行ubvs预测。
将那些既能用evs预测(或未匹配方式),又能用ubvs方式预测的串,分别用这两种方式预测后,算出每个像素的平均代价值,选择代价值更小的预测方式,具体步骤如下:
该模式会遍历当前CU所有像素,从左上位置开始,按水平弓字形扫描方式处理所有像素,若遍历到当前CU某个像素:
1)判断等值串或是未匹配串:
a:若起始位置像素为未匹配像素,则当前串设为未匹配串,继续判断下一个像素是否为未匹配像素,直到遇到一个匹配像素,记录未匹配像素长度srb_length,进入步骤2);
b:若起始位置像素为匹配像素,则当前串先设为等值串,记录起始位置像素的常现像素值记为PixelA,继续判断下一个像素的常现像素值是否等于PixelA,直到遇到一个像素的常现像素值不等于PixelA,记录常现像素值相等的总的像素个数作为等值串的长度(srb_length),进入步骤2);
2)根据串类型计算对应的比特:
若1)中为等值串类型,记录其在常现像素值列表srb中的index,然后根据当前串类型,计算串长度占用的比特数,进入步骤3);
若1)中为未匹配串,根据当前串类型,计算串长度占用的比特数,再加上串长度乘以3,再乘以比特深度,主要是粗略估计编码Y、U和V的3个分量的总比特数,进入步骤3);
3)进一步判断是否为单位基矢量串ubvs:
若处理的像素位置大于等于CU宽度,且前一个串类型不为单位基矢量串ubvs,则进入ubvs的判断:
a:若当前起始位置的常现像素值,等于正上方above位置的常现像素值,则进一步判断下一个像素位置的常现像素值是否与其above位置的常现像素值相同,一直累加,直到某一位置的常现像素值与其above位置的常现像素值不同,此时相同的像素个数记为ubvs的长度,并统计总的失真;此时ubvs长度大于0,进一步计算ubvs对应的比特数,进入步骤4);
b:否则,不能成为ubvs,即此时ubvs长度等于0,后续根据步骤1)确定串为等值串或是未匹配串,进入步骤5);
4)若ubvs长度大于0,进一步判断最终的串类型:
若srb_length(等值串或是未匹配串的长度)大于0,计算ubvs中每个像素平均代价是否小于等值串或是未匹配串中每个像素的平均代价,若小于,则串类型设为ubvs,否则根据步骤1)确定为等值串或是未匹配串;
否则,若srb_length等于0,串类型设为ubvs;
进入步骤5);
5)根据前面确定的串类型分别进行相应的参数保存,进入步骤6);
6)当前处理起始位置加上当前串长度后,继续处理当前CU中下面待处理的像素值,进入步骤1),直至当前CU中所有的像素值处理完。
在本公开实施例中,像素值与常现像素值满足等值条件包括以下至少之一:
CU中被遍历的像素值等于常现像素值;
CU中被遍历的像素值与所述常现像素值之间的差值小于预设阈值。
CU中某一个像素值的最佳常现像素值可为:与该像素值之间差值最小的常现像素值。
在本公开实施例中,确定出各个像素串之后,直接对各个原始像素串(简称原始串)进行预测编码,根据预测编码的结果,得到直接对各个像素串进行编码的比特开销,基于该比特开销可以确定出第一代价值。在本公开实施例中,被合并的相邻两个像素串可以是两个匹配串,也可以是一个匹配串和一个未匹配串。
然后对合并串进行预测编码,得到比特开销以及相对于直接编码原始串所引入的失真,得到以合并串编码CU而非以原始串的代价值(即第二代价值)。最终根据第一代价值和第二代价值,确定是直接对原始串进行编码还是直接编码合并串。
在本公开实施例中,未匹配串也会参与合并,如此,相对于针对所有未匹配串直接编码,在一些情况下以较小的失真,得到大量的比特开销降低,从而提升CU的编码性能。
在一些实施例中,所述S130可包括:
确定所述合并相邻两个所述像素串的目标合并方式;
根据所述目标合并方式,合并相邻两个所述像素串得到所述合并串。
在一些实施例中,相邻两个像素串的合并方式有多种,示例性提供两种可选方式:
可选方式一:直接合并,直接合并为将相邻两个像素串强行合并为一个像素串,并将直接合并的两个像素串中的匹配串的串类型作为合并串的类型。
可选方式二:基于像素个数调整的合并方式,在这种方式下,相邻两个像素串包含的像素个数总数不变,但是在原始串的基础上,调整两个像素串所包含的像素个数。
示例性,以相邻分布的两个像素串为evs串和未匹配串为例,可以适当性的减少未匹配串包含的像素个数,将未匹配串与evs的像素值相邻的一个或多个像素,并到evs中,如此,evs包含的像素个数就增加了,且未匹配串中被并到evs中的像素的像素值将被修改为evs原本所包含像素值。
在一些情况下,可以根据图像编码的需求,选择目标合并方式。示例性地,例如,为了尽可能减少比特开销和/或尽可能的降低编码过程中的计算量,则可以采用直接合并的方式;再例如,为了在降低比特开销的同时控制图像的失真率,则此时可以优选选择基于像素个数的合并方式。
当然以上仅是对可能的合并方式和如何确定目标合并方式的举例,具体实现时,确定目标合并方式的方式有很多种,不局限于上述任意一种。
在一些实施例中,所述根据确定的合并方式,合并相邻两个所述像素串得到所述合并串,包括:
若所述目标合并方式为第一合并方式时,将相邻两个所述像素串的下一个像素串的n个像素合并到相邻两个所述像素串的当前像素串中,得到所述合并串,其中,所述合并串包括:第y像素串和第y+1像素串;其中,所述第y+1像素串包括:所述下一个像素串中未合并到所述当前像素串中的N-n个像素;所述第y像素串包括:所述当前像素串的M个像素和所述下一个像素串被合并到所述当前像素串中的n个像素;其中,合并到所述当前像素串中的像素值是根据所述当前像素串的像素值确定的;
所述 N为所述像一个像素串的像素个数;所述n为小于或等于N的正整数;其中,在编码所述合并串时,分别编码所述合并串中所述第y像素串和第y+1像素串;
其中,所述y为任意自然数,且为不同所述像素串的指代符。
若下一个像素串包含的像素个数等于或大于2个,则当前像素串和下一个像素串合并之后得到的合并串可为一个或多个。示例性地, 若当前像素串和下一个像素串之间合并之后得到P个像素串,则P的取值为任意小于或等于N的正整数。
在本共公开实施例中,所述当前像素串和下一个像素串中一个为所述匹配串且另一个为所述未匹配串。例如,当前像素串可为匹配串,则下一个像素串也可以为未匹配串;或者,当前像素串可为未匹配串,则下一个像素串也可以为匹配串。即,所述下一个像素串包括:未匹配串;且所述当前像素串包括:所述evs或所述ubvs;或者,所述下一个像素串包括:所述evs或所述ubvs,且所述当前像素串为所述未匹配串。
若所述目标合并方式为第一合并方式且相邻两个所述像素串中的一个像素串为所述匹配串,且另一个像素串为所述未匹配串时,将所述未匹配串中的n个像素合并到所述匹配串中,得到P个所述合并串。
所述合并串包含与常现像素值不匹配的N-n个像素组成和与所述常现像素值匹配的M+n个像素;其中,M为相邻两个所述像素串中所述匹配串的包含的像素个数;N为相邻两个所述像素串中所述未匹配串包含的像素个数;所述n为小于或等于N的正整数;其中,所述P为小于或等于所述N的正整数;其中,在编码所述合并串时,分别编码对应合并串中的所述与常规像素不匹配的N-n个像素和与常规像素匹配的M+n个像素。
例如,将一个像素合并到evs中,则合并到evs中的像素值更改为evs包含的常现像素值。参考图5所示,在当前块(即当前CU)evs和未匹配串的像素合并的示意图;可以将为未匹配串中的一个或多个未匹配的像素合并到evs中,如此,合并到evs中的像素的像素值就更改为了evs包含的像素值。
再例如,将一个像素合并到ubvs串中,则合并到ubvs的像素值等于CU中位于该像素的上方的像素的像素值。参考图6所示,在当前块(即当前CU)ubvs和未匹配串的像素合并的示意图;可以将为未匹配串中的一个或多个未匹配的像素合并到ubvs中,如此,合并到ubvs中的像素的像素值就更改为了该像素上方像素的像素值。
在一些实施例中,所述根据所述目标合并方式,合并相邻两个所述像素串得到所述合并串,包括:
若所述目标合并方式为第二合并方式,直接合并相邻两个所述像素串得到所述合并串;其中,相邻的两个像素串中一个为所述未匹配串且另一个为所述匹配串,其中,所述合并串的串类型为相邻两个像素串中所述匹配串的类型。
即被合并的相邻两个像素串中一个为匹配串且另一个为未匹配串,合并串的串类型为被合并的两个像素串中的匹配串的串类型。
示例性地,当相邻两个所述像素串包括:一个所述evs和一个所述未匹配串,则将相邻两个所述像素串合并为所述evs;和/或,当相邻两个所述像素串包括:一个所述ubvs和一个所述未匹配串,则将相邻两个所述像素串合并为所述ubvs。
图7所示为按照第二合并方式直接将一个未匹配串和evs合并为evs的示意图。图8所示为按照第二合并方式直接将一个未匹配串和ubvs合并成一个ubvs的示意图。
相邻两个像素串合并之后,需要进一步确定所述合并串所包含像素的像素值,在本公开实施例中,若合并串为evs,则根据evs的预测编码;若合并串为ubvs,则根据参考串进行ubvs的预测编码,基于预测编码所产生的比特开销及串合并引入的失真进行第二代价值的计算。
在一个实施例中,如图9所示,所述方法还包括:
S160:在对相邻两个所述像素串合并完成之后,得到合并后的CU;
S170:确定合并后的所述CU内是否包含满足三个像素串合并条件的相邻分布三个所述像素串;
S180:若合并后的所述CU内包含满足三个像素串合并条件的相邻分布三个所述像素串,将相邻分布的三个所述像素串合并,得到所述合并串;其中,所述合并串的串类型为所述evs或者所述ubvs。
在完成相邻两个像素串合并之后,将会生成一个包含一个或多个像素串的合并后的CU,遍历合并后的CU内的像素串,确定是否存在相邻的三个像素串满足三个像素串合并条件,如果存在则进行三个像素串之间的合并,得到合并串。当然得到该合并串之后,同样需要计算第二代价值,再次结合第一代价值和第二代价值,选择代价值最小的合并串或者原始串进行编码。
在本公开实施例中,所述CU内是否包含满足三个像素串合并条件的相邻分布三个所述像素串包括:
按照合并后的CU的扫描顺序得到相邻分布的第s个像素串、第s+1个像素串和第s+2个像素串中,所述第s个像素串和所述第s+2个像素串为相同类型的所述匹配串,且所述第s个像素串和所述第s+2个像素串包括的像素个数,均比所述第s+1个像素串包含的像素个数多T个,确定所述CU内包含满足三个像素串合并条件的相邻分布三个所述像素串;其中,所述T是取值为正整数的阈值,所述s为自然数。
第s+1个像素串可以为任意的evs、未匹配串或者ubvs串。
在一些实施例中,所述第s个像素串和所述第s+2个像素串包括的像素个数,均比所述第s+1个像素串包含的像素个数多,可包括:
第s个像素串和第s+2个像素串包含的像素个数,减去所述第s+1个像素串包含的像素个数的差值,大于T。T的取值可以预先确定,例如,具体取值可为3、4、5或者10之类的正整数。
该T可为预先定义的像素个数值,也可以是动态确定的像素个数值,例如,该像素个数可为:预设比例与第s+1个像素串包含的像素个数的乘积,或者,该像素个数可为:预设比例与第s个像素串到第s+2个像素串中包含像素个数最小的像素串的像素个数的乘积等。
当然以上仅是举例,具体实现时不局限于此。
在一些实施例中,所述S130可为:合并相邻的至少两个像素串,得到所述合并串。
示例性地,若一个CU内的相邻分布的三个像素串满足三个像素串合并条件,进行三个像素串的合并得到一个合并串;若不满足则直接进行相邻两个像素串的合并得到合并串,最终多种合并串都参与第二代价值的计算,然后根据第二代价值确定是选择合并串编码还是原始串编码,若选择合并串编码,可以选择是基于相邻两个像素串的合并得到合并串编码还是基于相邻三个像素串的合并得到的合并串编码。
所述将相邻分布的三个所述像素串合并,得到的所述合并串,包括:
当相邻分布的三个像素串中的第s个像素串和第s+2个像素串均为所述ubvs,且第s+1个像素串为所述未匹配串,将相邻分布的三个所述像素串合并为所述ubvs;
和/或,
当相邻分布的三个像素串中的第s个像素串和第s+2个像素串均为所述evs,且第s+1个像素串为所述未匹配串,将相邻分布的三个所述像素串合并为所述evs;
其中,所述s为自然数。
如图10所示,本公开实施例提供一种图像编码装置,所述装置包括:
遍历模块110,用于根据常现像素值,遍历待编码图像的编码单元CU内的像素值,并根据遍历的结果确定出所述CU包含的像素串;所述像素串包含:匹配串和未匹配串,其中,所述匹配串包括:像素值与所述常现像素值匹配的等值串evs和/或单位基矢量串ubvs;所述未匹配串为所述匹配串以外的相邻像素构成的像素串;
确定模块120,用于根据对所述匹配串和所述未匹配串的预测编码的比特开销,确定第一代价值;
合并模块130,用于合并相邻两个所述像素串,得到合并串;
代价模块140,用于根据基于对所述合并串预测编码所产生的比特开销,及所述合并串与被合并两个所述像素串的失真程度,确定所述合并串的第二代价值;
编码模块150,用于根据所述第一代价值和所述第二代价值,确定基于所述合并串进行图像编码或者对所述像素串进行图像编码。
在一些实施例中,所述遍历模块110、确定模块120、合并模块130、代价模块140及编码模块150均可为程序模块;该程序模块被处理器执行之后,能够实现上述各个模块的功能。
在另一些实施例中,所述遍历模块110、确定模块120、合并模块130、代价模块140及编码模块150均可为软硬结合模块;所述软硬结合模块包括但不限于各种可编程阵列;所述可编程阵列包括但不限于:复杂可编程阵列和/或现场可编程阵列。
在还有一些实施例中,遍历模块110、确定模块120、合并模块130、代价模块140及编码模块150均可为纯硬件模块;所述纯硬件模块包括但不限于专用集成电路。
在一些实施例中,所述合并模块130,具体用于确定所述合并相邻两个所述像素串的目标合并方式;根据所述目标合并方式,合并相邻两个所述像素串得到所述合并串。
在一些实施例中,所述合并模块130,具体用于
若所述目标合并方式为第一合并方式时,将相邻两个所述像素串的下一个像素串的n个像素合并到相邻两个所述像素串的当前像素串中,得到所述合并串,其中,所述合并串包括:第y像素串和第y+1像素串;其中,所述第y+1像素串包括:所述下一个像素串中未合并到所述当前像素串中的N-n个像素;所述第y像素串包括:所述当前像素串的M个像素和所述下一个像素串被合并到所述当前像素串中的n个像素;其中,合并到所述当前像素串中的像素值是根据所述当前像素串的像素值确定的;
所述 N为所述下一个像素串的像素个数;所述n为小于或等于N的正整数;其中,在编码所述合并串时,分别编码所述合并串中所述第y像素串和第y+1像素串;
其中,所述y为任意自然数,且为不同所述像素串的指代符。
在一些实施例中,所述下一个像素串包括:未匹配串;且所述当前像素串包括:所述evs和/或所述ubvs;
或者,
所述下一个像素串包括:所述evs或所述ubvs,且所述当前像素串为所述未匹配串。
在一些实施例中,所述合并模块130,具体用于若所述目标合并方式为第二合并方式,直接合并相邻两个所述像素串得到所述合并串;其中,相邻的两个像素串中一个为所述未匹配串且另一个为所述匹配串,其中,所述合并串的串类型为相邻两个像素串中所述匹配串的类型。
在一些实施例中,当相邻两个所述像素串包括:一个所述evs和一个所述未匹配串,则将相邻两个所述像素串合并为所述evs;和/或,当相邻两个所述像素串包括:一个所述ubvs和一个所述未匹配串,则将相邻两个所述像素串合并为所述ubvs。
在一些实施例中,所述装置还包括:
CU模块,用于在对相邻两个所述像素串合并完成之后,得到合并后的CU;
所述确定模块120,用于确定合并后的所述CU内是否包含满足三个像素串合并条件的相邻分布三个所述像素串;
所述合并模块130,还用于若合并后的所述CU内包含满足三个像素串合并条件的相邻分布三个所述像素串,将相邻分布的三个所述像素串合并,得到所述合并串,所述合并串的串类型为所述evs或者所述ubvs。
在一些实施例中,所述CU内是否包含满足三个像素串合并条件的相邻分布三个所述像素串包括:
按照合并后的CU的扫描顺序得到相邻分布的第s个像素串、第s+1个像素串和第s+2个像素串中,所述第s个像素串和所述第s+2个像素串为相同类型的所述匹配串,且所述第s个像素串和所述第s+2个像素串包括的像素个数,均比所述第s+1个像素串包含的像素个数多T个,确定所述CU内包含满足三个像素串合并条件的相邻分布三个所述像素串;其中,所述T是取值为正整数的阈值,所述s为自然数。
所述合并模块130,具体用于当相邻分布的三个像素串中的第s个像素串和第s+2个像素串均为所述ubvs,且第s+1个像素串为所述未匹配串,将相邻分布的三个所述像素串合并为所述ubvs;和/或,当相邻分布的三个像素串中的第s个像素串和第s+2个像素串均为所述evs,且第s+1个像素串为所述未匹配串,将相邻分布的三个所述像素串合并为所述evs;其中,所述s为自然数。
本公开实施例提供提出了针对ubvs的预测扩展改进方法,主要包括两个改进方案:
(1)允许未匹配串或包含未匹配串(简称未匹配串)参与合并过程;
(2)合并过程可在三个连续串(即相邻分布的是哪个像素串)之间进行。上述两个方案(1)和(2)可以从中选一个进行,也可同时选择两个方案对合并过程进行改进。
若选择方案(2),则对当前块需要在两个相邻串之间合并做完后,再对当前块以三个连续串进行合并的方式再做一遍,然后进行代价值比较,选择代价值最小的合并方式作为最佳合并方式。在图1、图3、图5至图8中的当前块均表示正在处理的CU。
允许未匹配串或包含未匹配串参与合并过程
对于包含未匹配像素的ubvs,可按现有技术的方式参与合并过程;对于未匹配串,则合并的具体方案如下:
第一方案:相邻两个串之间的长度进行重新分配调整,有如下方案:
A、相邻的两个串,其中一个是未匹配串,另一个是evs时,可进行长度调整。从未匹配串中和evs最接近的像素开始,除了未匹配串中最远端的像素外,由近到远逐个将未匹配串的像素用该evs的常现像素值进行预测,相当于不断增加evs的长度,减少未匹配串的长度。最终看调整到哪种长度下这两个串的代价值总和最小,作为像素串的最佳调整长度。
B、相邻的两个串,其中一个是未匹配串,另一个是ubvs时,可进行长度调整。从未匹配串中和ubvs最接近的像素开始,除了未匹配串中最远端的像素外,由近到远逐个将未匹配串的像素用该ubvs的矢量进行预测,相当于不断增加ubvs的长度,减少未匹配串的长度。最终看调整到哪种长度下这两个串的代价值总和最小,作为像素串的最佳调整长度。
具体实施过程中,可选择方案A,或方案B,或同时选择方案A和B。
如图5所示,在该实施例中,选择方案A进行长度调整。设前一个串为evs,长度为4,后一个串为未匹配串,长度为3。
合并串的生成过程可如下:
当前行是从右往左扫描,所以前一个串在右边。未匹配串中越右边的像素离evs越近,所以从未匹配串最右边开始,逐个像素并入evs。
刚开始,长度由最开始的evs包含的像素个数为:4,未匹配串(即未匹配串)包含的像素个数为:3;
首先,调整evs包含的像素个数:5,未匹配串包含的像素个数为:2;
继续调整evs包含的像素个数为:6,未匹配串包含的像素个数:1。
最终比较三种长度组合下对应的3个合并串的代价值,选择代价值最小的作为像素串调整后的最佳长度。
如图6所示,在该实施例中,选择方案B进行长度调整。设前一个串为ubvs,长度为4,后一个串为未匹配串,长度为3。合并串的生成过程可如下:
当前行是从右往左扫描,所以前一个串在右边。
未匹配串中越右边的像素离ubvs越近,所以从未匹配串最右边开始,逐个像素并入ubvs。
长度由最开始的ubvs包含的像素个数:4,未匹配串包含的像素个数为:3;
第一次调整后 ubvs包含的像素个数:5,未匹配串包含的像素个数:2;
第二次调整后ubvs包含的像素个数:6,未匹配串包含的像素个数为:1。
最终比较三种长度组合下3个合并串的代价值,选择代价值最小的作为像素串调整后的最佳长度。
第二方式:两个串合并为一个串进行预测:
a、相邻的两个串,其中一个是未匹配串,另一个是evs时,可进行合并预测。直接合并为一个evs,并计算出代价值。将合并后的代价值和原来的代价值比较,选择合并或不合并。
b、相邻的两个串,其中一个是未匹配串,另一个是ubvs时,可进行合并预测,也可进行合并操作。直接合并为一个ubvs,并计算出代价值。将合并后的代价值和原来的代价值比较,选择合并或不合并。具体实施过程中,可选择方案a,或方案b,或同时选择方案a和b。最终对同样的两个相邻串,分别采用方案I和方案II中的方式进行合并后,比较两种合并方式的代价值,选择代价值更小的作为这两个串的最终合并方式。
如图7所示,在该实施例中,选择方案a进行合并。设前一个串为evs,长度为4,后一个串为未匹配串,长度为3。合并过程如图7所示:
合并为一个长度为7的evs,计算代价值,再将该代价值和原始情况的代价值进行比较,选择代价值最小的作为像素串最佳合并模式或不合并。
如图8所示,在该实施例中,选择方案b进行合并。设前一个为未匹配串,长度为2,后一个串为ubvs,长度为2。合并过程如图8所示:
合并为一个长度为4的ubvs,并计算代价值,再将该代价值和原始情况的代价值进行比较,选择代价值最小的作为像素串最佳合并模式或不合并。
针对相邻三个像素串合并的操作如下:
该方案实施是在当前块以两个相邻串(相邻两个像素串)进行合并的方式做完之后再进行,实际是对合并的进一步调整优化。
对连续的三个像素串需要满足三个像素串的合并条件。
示例性地,三个像素串的合并条件的一个举例可如下:
若第一和第三个串为相同类型的匹配串,且串长度皆较长,同时第二个串的类型与其他两个串类型不同,且串长度较短时,可将这三个串合并为一个匹配串,该匹配串的类型和第一、第三个串相同。
具体实施方式如下:
(1)对于连续的三个串按扫描顺序从前到后为str1、str2、str3,若str1和str3都为ubvs,str2为evs或未匹配串,若str1和str3的长度都远大于str2的长度,且str2的长度较小时,可将这三个串合并为一个ubvs,将合并后的代价值和原先情况三个串的总代价值进行比较,取代价值更小的状态为最终状态。
(2)若str1和str3都为evs,且像素串的常现像素值相同,str2为ubvs或未匹配串,若str1和str3的长度都远大于str2的长度,且str2的长度较小时,可将这三个串合并为一个evs,将合并后的代价值和原先情况三个串的总代价值进行比较,取代价值更小的状态为最终状态。
在一个实施例中,连续的三个串为ubvs1,未匹配串,ubvs2,其中ubvs1长度L1=5,ubvs2长度L3=7,未匹配串长度L2=1。设置三个阈值T1、T2、T3,T1和T3为较大的阈值,用于和ubvs1和ubvs3的长度进行比较,T2为较小的阈值,用于和中间的未匹配串长度进行比较。设T1=4、T2=2、T3=4,则满足L1>T1,且L3>T3,且L2<T2,所以把这三个串合并为一个长度为13的ubvs。
在另一个实施例中,连续的三个串为evs1,ubvs,evs2,且evs1和evs2的常现像素值相同,其中evs1长度L1=5,evs2长度L3=7,ubvs长度L2=2。设置三个阈值T1、T2、T3,T1和T3两个阈值用于分别和L1/L2的比值以及L3/L2的比值进行比较,T2为较小的阈值,用于和中间的未匹配串长度进行比较。设T1=2、T2=3、T3=3,则满足L1/L2>T1,且L3/L2>T3,且L2<T2,所以把这三个串合并为一个长度为13的evs。
本公开实施例方法不仅可用于SCC,场景,也可用于自然图像场景和混合场景。此处的SCC场景可包括:屏幕内容和/或要由计算机产生的图像的处理场景。
如图11所示,本公开实施例提供一种CU编码方式,可包括:扫描CU的各像素的像素值,根据扫描的像素值将像素串分为未匹配串、evs和ubvs;
开始像素串的合并(即开始合并);
输入未匹配像素串,evs,ubvs;
先进行相邻两个串的合并;
基于相邻两个串合并得到的新的CU之后,进行连续三个串的合并。
在本公开实施例中,两个相邻串的合并和三个连续串的合并的具体实现方式,可以参见前述任意一个实施例,此处就不再赘述了。
在本公开实施例中,采用这种方式进行预测编码编码后的图像在进行编码数据传输,会涉及到如下句法元素。
首先需要传输一个句法元素isc_cu_evs_ubvs_submode_flag来表示最终是选择evs_ubvs模式还是普通SP模式进行预测。
接下来需要需要传输句法用于区分是evs、未匹配像素、还是ubvs。
首先,CU层面上先传输句法元素isc_evs_present_flag代表当前块是否存在等值串;传输句法isc_unmatched_pixel_str_present_flag,说明当前编码单元中是否存在未匹配像素。
在各个串的层面上:
若是evs串,则需要传输该evs串对应常现像素在Srb列表中的index以及串长度,串长度涉及句法pixel_duplication_count_minus1,若是一个新的常现像素,则还需要传输新的常现像素的值;
若是ubvs串,则只需要用一个句法run_num表示连续的evs串或未匹配串的个数,若该个数为0时,表示该串既不是evs也不是未匹配像素,即为ubvs,并且传输ubvs的串长度,串长度涉及句法str_length_minus1[i];
若是未匹配像素,则需要传输该像素的像素值,以及连续的未匹配像素的个数信息,串长度涉及句法sc_unmatched_pixel_num_minus1和unmatched_pixel_max_length_minus1。
以上涉及不同串的长度:
句法 | 含义 |
pixel_duplication_count_minus1 | 该句法表示等值串长度减1; |
str_length_minus1[i] | 该句法表示ubvs串长度减1; |
isc_unmatched_pixel_num_minus1 | 句法表示未匹配串长度减1; |
unmatched_pixel_max_length_minus1 | 该句法表示未匹配像素串中像素的个数的最大值减1; |
本公开实施例提供一种电子设备,包括:
处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前述任意技术方案提供的图像编码方法。
处理器可包括各种类型的存储介质,该存储介质为非临时性计算机存储介质,在通信设备掉电之后能够继续记忆存储其上的信息。
这里,所述电子设备包括:移动中高端、固定终端或者服务器等。
此处的移动终端包括但不限于:手机、平板电脑、可穿戴式设备或者车载设备等。
所述固定终端包括但不限于:个人电脑等。
所述处理器可以通过总线等与存储器连接,用于读取存储器上存储的可执行程序,例如,图4、图9和/或图11所示的方法的至少其中之一。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括存储器,上述计算机程序可由处理器执行以完成上述任意一个图像编码方法。示例性地,非临时性计算机可读存储介质上存储的计算机程序被执行后能够实现图4、图9和/或图11所示的方法的至少其中之一。
例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (12)
1.一种图像编码方法,其特征在于,所述方法包括:
根据常现像素值,遍历待编码图像的编码单元CU内的像素值,并根据遍历的结果确定出所述CU包含的像素串;所述像素串包含:匹配串和未匹配串,其中,所述匹配串包括:像素值与所述常现像素值匹配的等值串evs和/或单位基矢量串ubvs;所述未匹配串为所述匹配串以外的相邻像素构成的像素串;
根据对所述匹配串和所述未匹配串的预测编码的比特开销,确定第一代价值;
合并相邻两个所述像素串,得到合并串;
根据基于对所述合并串预测编码所产生的比特开销,及所述合并串与被合并两个所述像素串的失真程度,确定所述合并串的第二代价值;
根据所述第一代价值和所述第二代价值,确定基于所述合并串进行图像编码或者对所述像素串进行图像编码。
2.根据权利要求1所述的方法,其特征在于,所述合并相邻两个所述像素串,得到合并串,包括:
确定所述合并相邻两个所述像素串的目标合并方式;
根据所述目标合并方式,合并相邻两个所述像素串得到所述合并串。
3.根据权利要求2所述的方法,其特征在于,所述根据确定的合并方式,合并相邻两个所述像素串得到所述合并串,包括:
若所述目标合并方式为第一合并方式时,将相邻两个所述像素串的下一个像素串的n个像素合并到相邻两个所述像素串的当前像素串中,得到所述合并串,其中,所述合并串包括:第y像素串和第y+1像素串;其中,所述第y+1像素串包括:所述下一个像素串中未合并到所述当前像素串中的N-n个像素;所述第y像素串包括:所述当前像素串的M个像素和所述下一个像素串被合并到所述当前像素串中的n个像素;其中,合并到所述当前像素串中的像素值是根据所述当前像素串的像素值确定的;
所述 N为所述下一个像素串的像素个数;所述n为小于或等于N的正整数;其中,在编码所述合并串时,分别编码所述合并串中所述第y像素串和第y+1像素串;
其中,所述y为任意自然数,且为不同所述像素串的指代符。
4.根据权利要求3所述的方法,其特征在于,所述下一个像素串包括:未匹配串;且所述当前像素串包括:所述evs或所述ubvs;
或者,
所述下一个像素串包括:所述evs或所述ubvs,且所述当前像素串为所述未匹配串。
5.根据权利要求2所述的方法,其特征在于,所述根据所述目标合并方式,合并相邻两个所述像素串得到所述合并串,包括:
若所述目标合并方式为第二合并方式,直接合并相邻两个所述像素串得到所述合并串;其中,相邻的两个像素串中一个为所述未匹配串且另一个为所述匹配串,其中,所述合并串的串类型为相邻两个像素串中所述匹配串的类型。
6.根据权利要求5所述的方法,其特征在于,所述若所述目标合并方式为第二合并方式,直接合并相邻两个所述像素串得到所述合并串,包括:
当相邻两个所述像素串包括:一个所述evs和一个所述未匹配串,则将相邻两个所述像素串合并为所述evs;
和/或,
当相邻两个所述像素串包括:一个所述ubvs和一个所述未匹配串,则将相邻两个所述像素串合并为所述ubvs。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在对相邻两个所述像素串合并完成之后,得到合并后的CU;
确定合并后的所述CU内是否包含满足三个像素串合并条件的相邻分布三个所述像素串;
若合并后的所述CU内包含满足三个像素串合并条件的相邻分布三个所述像素串,将相邻分布的三个所述像素串合并,得到所述合并串,所述合并串的串类型为所述evs或者所述ubvs。
8.根据权利要求7所述的方法,其特征在于,所述CU内是否包含满足三个像素串合并条件的相邻分布三个所述像素串包括:
按照合并后的CU的扫描顺序得到相邻分布的第s个像素串、第s+1个像素串和第s+2个像素串中,所述第s个像素串和所述第s+2个像素串为相同类型的所述匹配串,且所述第s个像素串和所述第s+2个像素串包括的像素个数,均比所述第s+1个像素串包含的像素个数多T个,确定所述CU内包含满足三个像素串合并条件的相邻分布三个所述像素串;其中,所述T是取值为正整数的阈值,所述s为自然数。
9.根据权利要求8所述的方法,其特征在于,所述将相邻分布的三个所述像素串合并,得到的所述合并串,包括:
当相邻分布的三个像素串中的第s个像素串和第s+2个像素串均为所述ubvs,且第s+1个像素串为所述未匹配串,将相邻分布的三个所述像素串合并为所述ubvs;
和/或,
当相邻分布的三个像素串中的第s个像素串和第s+2个像素串均为所述evs,且第s+1个像素串为所述未匹配串,将相邻分布的三个所述像素串合并为所述evs;
其中,所述s为自然数。
10.一种图像编码装置,其特征在于,所述装置包括:
遍历模块,用于根据常现像素值,遍历待编码图像的编码单元CU内的像素值,并根据遍历的结果确定出所述CU包含的像素串;所述像素串包含:匹配串和未匹配串,其中,所述匹配串包括:像素值与所述常现像素值匹配的等值串evs和/或单位基矢量串ubvs;所述未匹配串为所述匹配串以外的相邻像素构成的像素串;
确定模块,用于根据对所述匹配串和所述未匹配串的预测编码的比特开销,确定第一代价值;
合并模块,用于合并相邻两个所述像素串,得到合并串;
代价模块,用于根据基于对所述合并串预测编码所产生的比特开销,及所述合并串与被合并两个所述像素串的失真程度,确定所述合并串的第二代价值;
编码模块,用于根据所述第一代价值和所述第二代价值,确定基于所述合并串进行图像编码或者对所述像素串进行图像编码。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-9任一项所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110397360.XA CN112995661B (zh) | 2021-04-14 | 2021-04-14 | 图像编码方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110397360.XA CN112995661B (zh) | 2021-04-14 | 2021-04-14 | 图像编码方法及装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995661A CN112995661A (zh) | 2021-06-18 |
CN112995661B true CN112995661B (zh) | 2021-08-03 |
Family
ID=76338319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110397360.XA Active CN112995661B (zh) | 2021-04-14 | 2021-04-14 | 图像编码方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995661B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022117104A1 (en) * | 2020-12-06 | 2022-06-09 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for video processing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456139A (zh) * | 2010-10-26 | 2012-05-16 | 富士施乐株式会社 | 图像处理设备和图像处理方法 |
CN110944190A (zh) * | 2018-09-22 | 2020-03-31 | 上海天荷电子信息有限公司 | 专用历史最近运动矢量预测候选集的图像压缩方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150023410A1 (en) * | 2013-07-16 | 2015-01-22 | Arcsoft Hangzhou Co., Ltd. | Method for simultaneously coding quantized transform coefficients of subgroups of frame |
-
2021
- 2021-04-14 CN CN202110397360.XA patent/CN112995661B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456139A (zh) * | 2010-10-26 | 2012-05-16 | 富士施乐株式会社 | 图像处理设备和图像处理方法 |
CN110944190A (zh) * | 2018-09-22 | 2020-03-31 | 上海天荷电子信息有限公司 | 专用历史最近运动矢量预测候选集的图像压缩方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112995661A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7351485B2 (ja) | 画像符号化方法及び装置、画像復号方法及び装置並びにプログラム | |
US8018994B2 (en) | Selecting encoding types and predictive modes for encoding video data | |
TWI685249B (zh) | 動態影像編碼裝置、動態影像編碼方法、及儲存有動態影像編碼程式之記錄媒體 | |
US10003792B2 (en) | Video encoder for images | |
US20130107959A1 (en) | Method and apparatus for processing a video signal | |
WO2014054267A1 (ja) | 画像符号化装置及び画像符号化方法 | |
US20080205515A1 (en) | Video encoding with reduced complexity | |
KR102271765B1 (ko) | 인트라프레임 예측 방법과 장치, 비디오 인코딩 장치 및 저장 매체 | |
CN112218092B (zh) | 串编码技术的编码方法、设备及存储介质 | |
WO2005006256A2 (en) | Method and apparatus for coding motion information | |
US20230308645A1 (en) | Intra-frame prediction methods, encoder, decoder and storage medium | |
CN112565749B (zh) | 一种视频编码方法、装置、系统及计算机可读存储介质 | |
CN112995661B (zh) | 图像编码方法及装置、电子设备及存储介质 | |
KR100845209B1 (ko) | 인트라 예측 모드를 선택하는 방법 및 장치 | |
CN110381312B (zh) | 一种基于hevc的预测深度划分范围的方法和装置 | |
US9712828B2 (en) | Foreground motion detection in compressed video data | |
EP3499891A1 (en) | Texture-based partitioning decisions for video compression | |
CN115118990A (zh) | 色度预测方法、装置、编码设备、解码设备及存储介质 | |
CN113365080B (zh) | 串编码技术的编解码方法、设备及存储介质 | |
CN113099269A (zh) | 串匹配预测方法、编码和解码方法及相关设备、装置 | |
CN112004099B (zh) | 一种帧内块复制预测方法、装置及计算机可读存储介质 | |
Zhang et al. | An early CU partition mode decision algorithm in VVC based on variogram for virtual reality 360 degree videos | |
CN114449273B (zh) | 基于hevc增强型块划分搜索方法和装置 | |
CN113259669B (zh) | 编码方法、装置、电子设备及计算机可读存储介质 | |
CN112532974A (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 |