CN116866591A - 一种图像编码方法、装置及计算机设备、介质 - Google Patents

一种图像编码方法、装置及计算机设备、介质 Download PDF

Info

Publication number
CN116866591A
CN116866591A CN202310858901.3A CN202310858901A CN116866591A CN 116866591 A CN116866591 A CN 116866591A CN 202310858901 A CN202310858901 A CN 202310858901A CN 116866591 A CN116866591 A CN 116866591A
Authority
CN
China
Prior art keywords
coding unit
sub
blocks
target coding
target
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.)
Pending
Application number
CN202310858901.3A
Other languages
English (en)
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 CN202310858901.3A priority Critical patent/CN116866591A/zh
Publication of CN116866591A publication Critical patent/CN116866591A/zh
Pending legal-status Critical Current

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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请公开了一种图像编码方法、装置及计算机设备、介质、产品,该方法包括:获取目标编码单元的预测像素,预测像素是对目标编码单元进行编码后得到的,目标编码单元为待编码图像包括的多个编码单元中的任意一个;基于采用的预设分割方式,将目标编码单元预分割成N个子块;基于预测像素和N个子块中每个子块的原始像素确定每个子块的残差;基于目标编码单元中N个子块的残差,确定目标编码单元的编码模式,并按照编码模式对目标编码单元进行编码处理。通过该方法,可以有效节约编码时间,提升编码压缩效率。

Description

一种图像编码方法、装置及计算机设备、介质
技术领域
本申请涉及互联网技术领域,具体涉及一种图像编码方法、一种图像编码装置、一种计算机设备、一种计算机可读存储介质以及一种计算机程序产品。
背景技术
视频编码或者图像编码技术中,是将原始的图像划分成一系列的编码单元,并进行预测、变换和熵编码等处理,以实现视频或者图像的压缩。目前,在进行视频或者图像编码时,通常是采用多种划分方式对待编码图像进行划分,从而根据计算的失真代价确定出最优的划分方式。这样的方法通常会使得编码时间变长。因此,如何提升编码效率成为亟待解决的技术问题。
发明内容
本申请实施例提供了一种图像编码方法、装置及计算机设备、介质、产品,可以有效节约编码时间,提升编码压缩效率。
本申请实施例一方面公开了一种图像编码方法,该方法包括:
获取目标编码单元的预测像素,所述预测像素是对所述目标编码单元进行编码后得到的,所述目标编码单元为待编码图像包括的多个编码单元中的任意一个;
基于采用的预设分割方式,将所述目标编码单元预分割成N个子块,N为正整数;
基于所述预测像素和所述N个子块中每个子块的原始像素确定所述每个子块的残差;
基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式;
按照所述编码模式对所述目标编码单元进行编码处理。
本申请实施例一方面公开了一种图像编码装置,该装置包括:
获取单元,用于获取目标编码单元的预测像素,所述预测像素是对所述目标编码单元进行编码后得到的,所述目标编码单元为待编码图像包括的多个编码单元中的任意一个;
处理单元,用于基于采用的预设分割方式,将所述目标编码单元预分割成N个子块,N为正整数;
确定单元,用于基于所述预测像素和所述N个子块中每个子块的原始像素确定所述每个子块的残差;
确定单元,还用于基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式;
处理单元,还用于按照所述编码模式对所述目标编码单元进行编码处理。
本申请实施例一方面公开了一种计算机设备,该计算机设备包括处理器,适于实现一条或多条计算机程序;以及,计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行以上述的图像编码方法。
本申请实施一方面公开了一种计算机可读存储介质,该计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由处理器加载并执行上述的图像编码方法。
本申请实施例一方面公开了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述的图像编码方法。
本申请实施例中,将目标编码单元预分割成N个子块,N为正整数,通过目标编码单元的预测像素以及每个子块的原始像素确定每个子块的残差,然后基于目标编码单元中N个子块的残差,确定目标编码单元的编码模式,或者基于目标编码单元中N个子块的残差,确定对目标编码单元进行划分后的编码单元的编码模式,可确保确定的编码模式为相应编码单元的最优编码模式。相对现有的分别通过帧间预测模式和帧内预测模式对编码单元进行编码处理,计算率失真代价,将代价最小的预测模式作为此编码单元的编码模式,本申请实施例可在确保确定的编码模式的准确度的情况下,减小编码模式的确定时长。基于此,按照确定的编码模式对相应编码单元进行编码处理,可以有效提升压缩效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种编码单元划分的示意图;
图2是本申请实施例公开的一种图像编码系统的网络架构示意图;
图3是本申请实施例公开的一种图像编码方法的流程示意图;
图4是本申请实施例公开的另一种图像编码的流程示意图;
图5是本申请实施例公开的一种示意性的编码单元的划分方式;
图6是本申请实施例公开的一种图像编码装置的结构示意图;
图7是本申请实施例公开的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更清楚地理解本申请实施例所提供的技术方案,在此先对本申请实施例涉及的一些关键术语进行介绍:
一、视频编码
视频编码的意思是通过压缩技术将原始视频格式的文件转换成另一种视频格式文件的过程。视频可由一个或多个视频帧图像构成,每个视频帧图像包含该视频的部分视频信号。视频信号的获取方式可以分为摄像机拍摄到或者计算机生成两种方式。由于不同获取方式对应的统计特性不同,视频的压缩编码方式也可能有所区别。
在主流视频编码技术中,以HEVC(High Efficiency Video Coding,国际视频编码标准HEVC/H.265)、VVC(versatile video coding,国际视频编码标准VVC/H.266),AVS(Audio Video Coding Standard,中国国家视频编码标准)为例,采用了混合编码框架,在该混合编码框架下允许对视频进行如下一系列的操作和处理:
1)块划分结构(block partition structure):根据视频帧图像的大小,可将该视频帧图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(coding tree unit,编码树单元)或者LCU(Largest Coding Unit,最大编码单元)。CTU可以再继续往下进行更加精细的划分,得到一个或多个基本编码的单元,称之为CU(coding unit,编码单元或编码块)。在视频编码技术中,一个CU可以通过树状结构逐步划分成小的CU。如图1所示,是本申请提供的一种编码单元划分的示意图。在不划分和QT(Quaternary Tree,四叉树)划分之外,VVC额外引入了横向和竖向的BT(Binary Tree,二叉树),以及横向和竖向的TT(Ternary Tree,三叉树),并通过设置MTT(Multi-Type Tree,多类型树)的深度来规定一个CU可以进行BT和TT划分的最大层数。QT、BT以及TT为不同视频场景提供了更多CU大小的选择。然而,更加灵活的CU划分方式在提升压缩效率的同时,进一步增加了编码器的复杂度。编码单元是一个编码环节中最基本的元素,本申请后续各实施例中描述的是针对每一个编码单元可能采用的各种编解码处理流程。
2)预测编码:包括帧内预测和帧间预测等预测模式,编码单元包含的原始视频信号经过选定的编码单元中已重建视频信号的预测之后,得到残差。其中,编码端需要为当前编码单元在众多可能的预测模式中选择一种合适的预测模式进行编码。
其中,预测模式可包括:
a、帧内预测(Intra(picture)Prediction):预测所使用的重建视频信号来自于同一视频帧图像内已经编码重建过的区域,即当前编码单元与当前编码单元所参考的预测参考编码单元位于同一视频帧图像中。其中,帧内预测的基本思想就是利用同一视频帧图像内相邻像素之间的相关性去除空间冗余。在视频编码中,相邻像素指的就是同一视频帧图像内当前编码单元周围的已编码单元的重建(reconstructed)像素。
b、帧间预测(Inter(picture)Prediction):预测所使用的重建视频信号来自已经编码过的,不同于当前帧的其他视频帧图像,即当前编码单元与当前编码单元所参考的预测参考编码单元分别位于不同的视频帧图像中,当前帧是指当前编码单元所在的视频帧图像。
3)变换及量化(Transform&Quantization):残差经过DFT(Discrete FourierTransform,离散傅里叶变换)、DCT(Discrete Cosine Transform,离散余弦变换)、DST(Discrete Sine Transform,离散正弦变换)等变换操作,可将残差转换到变换域中,变换域中的残差称之为变换系数。在变换域中的残差,进一步的进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方法可以选择,因此,编码端也需要为当前编码单元选择其中的一种变换方法。
4)熵编码(Entropy Coding)或统计编码:量化后的变换域信号,将根据各个值出现的频率,进行统计编码,最后输出二值化(0或者1)的视频码流。同时,编码会产生其他信息,例如选择的预测模式,运动矢量等,这些其他信息也需要进行熵编码以降低码率。
5)环路滤波(Loop Filtering):已经编码过的编码单元,经过反量化、反变换及预测补偿的操作(上述2)~4)的反向操作),可重建该编码单元对应的解码图像。
二、云技术
云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。数据库(Data base),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
三、区块链
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本申请实施例提供了一种图像编码方案,该方案包括:①获取目标编码单元的预测像素,预测像素是对目标编码单元进行编码后得到的,目标编码单元为待编码图像包括的多个编码单元中的任意一个。②基于采用的预设分割方式,将目标编码单元预分割成N个子块,N为正整数;子块是预分割得到,和实际的编码单元划分不同,实际的编码划分方式种类多,且尺寸大小不一。③基于预测像素和N个子块中每个子块的原始像素确定每个子块的残差。④基于目标编码单元中N个子块的残差,确定目标编码单元的编码模式,并按照编码模式对目标编码单元进行编码处理;可选的,也可以是基于目标编码单元中N个子块的残差,确定对目标编码单元进行化划分后的编码单元的编码模式,并按照各个划分后的编码单元的编码模式对相应的划分后的编码单元进行编码处理。在这个过程中,通过一次预分割就可以确定出目标编码单元的编码模式,而实际划分则需要计算多种划分方式的率失真代价,再通过率失真代价确定最终的划分方式,从而再确定目标编码单元的编码模式,采用真实划分会耗费更多的计算资源、时间复杂度高,而通过预分割的方式可以节约时间,减小时间复杂度。同时,可以通过预分割快速地确定目标编码单元的编码模式,因此,还可以编码压缩效率,从而提升整体的编码效率。
在一种可能的实现方式中,本申请提供的图像编码方法可以基于云技术(Cloudtechnology)实现。具体可以涉及云技术中的云存储(Cloud storage)、云数据库(CloudDatabase)、大数据(Big data)中的一种或者多种。例如,从云数据库中获取执行该图像编码方法所需要的数据(例如目标编码单元、目标编码单元的预测像素以及待编码图像包括的多个编码单元等)。
在一种可能的实现方式中,本申请提供的图像编码方法还可以基于区块链技术实现。例如,执行该图像编码方法所需要的数据可以是以区块的形式存储在区块链上;可以将执行该图像编码方法所产生的数据(例如每个子块的残差以及目标编码单元的编码模式等)以区块的形式存储到区块链上;另外,执行该图像编码方法的图像编码设备可以是区块链网络中的节点设备。
请参见图2,为本申请实施例公开的一种图像编码系统的架构示意图,该图像编码系统200中至少可以包括第一终端设备201和第二终端设备202以及服务器203。第一终端设备201和第二终端设备202可以用于收发视频、图片等。服务器203主要用于将待发送的图像或者视频进行编码处理,以提升发送效率、节约发送时所使用的带宽等。具体的,服务器203主要用于执行该图像编码方法,根据待编码图像包括的任意目标编码单元的预测像素以及预分割的子块的原始像素确定出每个子块的残差,然后根据多个残差确定出目标编码后续的编码模式,从而再进行编码处理。第一终端设备201与服务器203、第二终端设备202以及服务器203可以通过有线通信的方式建立直接地通信连接,或者可以通过无线通信的方式建立间接地通信连接,本申请实施例对此不进行限定。
在一种实施方式中,第一终端设备201和第二终端设备202包括但不限于:智能手机、平板电脑、智能可穿戴设备、智能语音交互设备、智能家电、个人电脑、车载终端、智能摄像头、虚拟现实设备(如AR(Augmented Reality,增强现实)设备)等等设备,本申请对此不作限制。服务器203可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请实施例对此不进行限定。
在本申请实施例中,结合该图像编码系统,图像编码方法可以包括:服务器103获取目标编码单元的预测像素,预测像素是对目标编码单元进行编码后得到的,目标编码单元为待编码图像包括的多个编码单元中的任意一个;采用预设分割方式将目标编码单元预分割成N个子块(预分割和实际划分不一样,预分割的每个子块大尺寸大小一致),预分割的子块是为了更好地对目标编码单元进行与分析,以确定编码模式或者对目标编码单元的真实划分方式;基于预测像素和N个子块中每个子块的原始像素确定每个子块的残差;基于目标编码单元中N个子块的残差,确定目标编码单元的编码模式,并按照编码模式对目标编码单元进行编码处理。在这个过程中,首先对目标编码单元进行预分割,并非真实划分,通过一次预分割就可以确定目标编码单元的编码模式,而实际划分需要计算多种划分方式的率失真代价,再通过率失真代价确定最终的划分方式,从而再确定编码模式,采用真实划分会耗费更多的计算资源、时间复杂度高,而通过预分割的方式可以节约时间,减小时间复杂度。同时,可以通过预分割快速地确定目标编码单元的编码模式,因此,还可以编码压缩效率,从而提升整体的编码效率。
在一种可能的实现方式中,可以将该图像编码方法应用于各类视频以及各类图像的收发过程中,根据该图像编码方法,可以节约编码时间,提升编码效率,进而提升视频或者图像的发送效率。
需要特别说明的是,在本申请中,涉及到的图像编码过程中的相关数据,例如待编码图像、目标编码单元以及目标编码单元的预测像素等。在本申请以上实施例运用到具体产品或技术中时,需获得用户许可或同意,且相关数据收集、使用和处理过程需遵守国家和地区的相关法律法规和标准,符合合法、正当、必要的原则,不涉及获取法律法规禁止或限制的数据类型。在一些可选的实施例中,本申请实施例中所涉及的相关数据是经过对象单独授权后获取的,另外,在获取对象单独授权时,向对象表明所涉及的相关数据的用途。
下面将对本申请实施例提出的图像编码方法进行详细介绍。
请参见图3,为本申请实施例公开的一种图像编码方法的流程示意图,该图像编码方法可以由计算机设备执行,计算机设备可以是图2示出的服务器203,该图像编码方法具体可以包括但不仅限于以下步骤:
S301:获取目标编码单元的预测像素,预测像素是对目标编码单元进行编码后得到的,目标编码单元为待编码图像包括的多个编码单元中的任意一个。
在一种可能的实现方式中,待编码图像可以是单独的图像,也可以是待编码视频中的任意视频帧图像。在编码过程中,不管是针对单独的图像还是针对视频包括的视频帧图像,首先,需要先确定对应的待编码视图像进行块的划分。例如,可以将一个待编码图像划分成多个编码单元(CU,Coding Unit)。针对其中的任意编码单元——目标编码单元,需要先确定目标编码单元的预测编码模式,即分别通过预测帧间编码模式和预测帧内编码模式对目标编码单元进行预测,选择率失真代价最小的编码模式作为目标编码单元的编码模式。然后根据确定的编码模式对目标编码单元进行编码处理,得到目标编码单元的预测像素。其中,目标编码单元可以是任意大小的编码单元,也可以是设定尺寸的编码单元。例如,目标编码单元可以为尺寸小于某个设定尺存(像素为1024)的编码单元。
S302:基于采用的预设分割方式,将目标编码单元预分割成N个子块,N为正整数。
在确定出目标编码单元的预测像素后,为了确定对目标编码单元的进一步处理过程,本申请通过对目标编码单元进行预分割的方式,来确定预分割的子块的残差,从而根据残差确定对目标编码单元的进一步处理过程。所以,要先确定出预分割的子块。
在一种可能的实现方式中,可以采用预设分割方式对目标编码单元进行预分割处理,从而得到N个子块。预设分割方式是一种等分的分割方式,是将目标编码单元预分割成N个尺寸相同的子块。预分割也是一种逻辑上的分割,而不是一种编码过程中的真实分割。其中,N是4的x次方,x为大于或者等于1的正整数,即N最小为4。例如,N可以是4、16、64等等。对应的,可以将目标编码单元进行四等分、16等分等等。
S302:基于预测像素和N个子块中每个子块的原始像素确定每个子块的残差。
在确定出预分割的子块后,根据每个子块的原始像素从目标编码单元的预测像素中确定与子块相匹配的预测像素,然后根据每个子块的像素和与之相匹配的预测像素确定出每个子块的残差。计算残差时,可以通过计算每个子块的像素和与之相匹配的预测像素的绝对误差得到的。
S304:基于目标编码单元中N个子块的残差,确定目标编码单元的编码模式。
基于目标编码单元中N个子块的残差确定目标编码单元的编码模式可以包括以下方式:
方式一:获取N个子块的残差中最大残差和最小残差的第一比值,具体包括从N个残差中选择最大残差,从N个残差中选择最小残差,然后将最大残差作为分子,将最小残差作为分母,得到第一比值。若第一比值小于第一阈值,则获取目标编码单元的划分指示信息,若划分指示信息指示目标编码单元需要进行单元划分,则对目标编码单元进行划分,确定划分后的目标编码单元的编码模式为帧间编码模式,划分后的目标编码单元指的是划分后的更小的编码单元;若划分指示信息指示目标编码单元不需要再进行单元划分,则将目标编码单元的编码模式确定为当前编码模式。划分指示信息主要是基于目标编码单元当前的编码情况确定的,也可以理解成从编码器中获取的实际划分信息,若是当前目标编码单元进行编码时还未达到压缩要求或者冗余度不满足条件,则需要再对目标编码单元进行划分。第一比值小于第一阈值表明被预分割的子块的纹理比较一致,简单的理解就是,可以采用一种编码模式对目标编码单元以及对目标编码单元进行划分所产生的所有更小的编码单元进行整体编码。其中,第一阈值可以是一个自定义的值,可以设置成2或者其他值。
反之,若第一比值大于或者等于第一阈值,则采用VCC通用模型按照对目标编码单元进行正常编码,即划分更小的编码单元,检测划分产生的每个更小编码单元帧内编码模式和帧间编码模式哪一个效率更高,进而选择效率高的编码模式进行编码处理。
方式二:获取N个子块的残差中最大残差和最小残差的第一比值;该过程和方式一中的一致,此处不赘述。若第一比值小于第一阈值,且目标编码单元当前的编码模式为帧内编码模式,则终止对目标编码单元进行单元划分,并确定目标编码单元的编码模式为帧内编码模式。若第一比值小于第一阈值,但目标编码单元当前的编码模式不是帧内编码模式,则先将目标编码单元进行划分,再计算各个小单元的预测编码模式,进而选择率失真代价最小的进行编码即可。该方法可以根据目标编码单元当前的编码模式确定是否对目标编码单元进行划分,可以进一步提升编码效率。
方式三:将目标编码单元进行预横向分割,得到第一横向区域和第二横向区域;针对第一横向区域和第二横向区域中的任一横向区域,将任一横向区域预分割成N/2个子块。可选地,若在步骤S302中划分的子块是横向对称的,也就是上下两部分可以等分,则可以不进行横向预分割,直接将对称轴的上半部分作为第一横向区域,将对称轴的下半部分作为第二横向区域。
然后分别获取第一横向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第二比值,以及获取第二横向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第三比值。即从第一横向区域中包括的N/2个残差中选择最大残差,从第一横向区域中包括的N/2个残差中选择最小残差,然后将最大残差作为分子,将最小残差作为分母,得到第二比值;从第二横向区域中包括的N/2个残差中选择最大残差,从第二横向区域中包括的N/2个残差中选择最小残差,然后将最大残差作为分子,将最小残差作为分母,得到第三比值。
若第二比值和第三比值中存在至少一个比值小于第二阈值,且目标编码单元存在横向划分方式,则采用横向划分方式对目标编码单元进行划分,得到划至少两个横向区域,可以是采用横向BT或者横向TT。若采用横向BT,则可以得到两个横向区域;若采用横向TT,则可以得到三个横向区域。也就是跳过对目标编码单元进行纵向划分的步骤,跳过所有包括纵向划分的方式,如QT、纵向BT、纵向TT都跳过,可以节约确定划分方式的时间。若第二比值小于第二阈值,则说明第一横向区域内的残差大小比较接近。若第三比值小于第二阈值,则说明第二横向区域内的残差大小比较接近。针对至少两个横向区域中的任一横向区域,确定任一横向区域的编码模式为帧间编码模式或帧内编码模式。至少两个横向区域中的任一横向区域对应的编码模式可以相同也可以不同,具体情况可根据编码过程进行分析。其中,第二阈值可以是一个自定义的值,可以设置成1、2或者其他值。
进一步地,若第二比值和第三比值中均大于或者等于第二阈值,那么就需要采用多种划分方式对目标编码单元进行划分,选择多种划分方式下CU的失真最小的划分方式作为目标编码单元的划分方式,再根据该划分方式对目标编码单元进行划分和编码处理。
方式四:将目标编码单元进行预纵向分割,得到第一纵向区域和第二纵向区域;针对第一纵向区域和第二纵向区域中的任一纵向区域,将任一纵向区域预分割成N/2个子块。可选地,若在步骤S302中划分的子块是纵向对称的,也就是左右两部分可以等分,则可以不进行预纵向划分,直接将对称轴的左半部分作为第一纵向区域,将对称轴的右半部分作为第二纵向区域。
然后分别获取第一纵向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第四比值,以及获取第二纵向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第五比值。即从第一纵向区域中包括的N/2个残差中选择最大残差,从第一纵向区域中包括的N/2个残差中选择最小残差,然后将最大残差作为分子,将最小残差作为分母,得到第四比值;从第二纵向区域中包括的N/2个残差中选择最大残差,从第二纵向区域中包括的N/2个残差中选择最小残差,然后将最大残差作为分子,将最小残差作为分母,得到第五比值。
若第四比值和第五比值中存在至少一个比值小于第三阈值,且目标编码单元存在纵向划分方式,则采用纵向划分方式对目标编码单元进行划分,得到至少两个纵向区域,可以是采用纵向BT或者纵向TT。若采用纵向BT,则可以得到两个纵向区域;若采用纵向TT,则可以得到三个纵向区域。也就是跳过对目标编码单元进行横向划分的步骤,跳过所有包括横向划分的方式,如QT、横向BT、横向TT都跳过,可以节约确定划分方式的时间。若第四比值小于第三阈值,则说明第一纵向区域内的残差大小比较接近。若第五比值小于第三阈值,则说明第二纵向区域内的残差大小比较接近。针对至少两个纵向区域中的任一纵向区域,确定任一纵向区域的编码模式为帧间编码模式或帧内编码模式。至少两个中的任一纵向区域对应的编码模式可以相同也可以不同,具体情况可根据编码过程进行分析。其中,第三阈值可以是一个自定义的值,可以设置成1、2或者其他值。综上,第一阈值、第二阈值以及第三阈值,可以设置成相同的值,也可以设置成不同的值。
进一步地,若第四比值和第五比值中均大于或者等于第三阈值,那么就需要采用多种划分方式对目标编码单元进行划分,选择多种划分方式下CU的失真最小的划分方式作为目标编码单元的划分方式,再根据该划分方式对目标编码单元进行划分和编码处理。
S305:按照编码模式对目标编码单元进行编码处理。
按照上述多种方式所确定的划分方式以及编码模式对目标编码单元进行处理。具体的,可以是按照确定的编码模式对目标编码单元进行编码处理,或者也可以是将目标编码单元进行单元划分,采用划分后的编码单元的编码模式对相应的划分后的编码单元进行编码处理。根据该方法,可以减少在编码过程中对目标编码单元的划分次数,从而节省编码时间,降低编码器时间复杂度。同时,按照确定的编码模式对相应编码单元进行编码处理,可以有效提升压缩效率。针对待编码图像中的所有编码单元,都可以按照步骤S301-S305进行处理,以提升图像编码效率。
在本申请实施例中,获取目标编码单元的预测像素,预测像素是对目标编码单元进行编码后得到的,目标编码单元为待编码图像包括的多个编码单元中的任意一个。将目标编码单元预分割成N个子块,并基于预测像素和N个子块中每个子块的原始像素确定每个子块的残差,其中,N为正整数。子块是预分割得到,不是实际的划分,因此在一定程度上可以节约时间。基于目标编码单元中N个子块的残差,确定目标编码单元的编码模式,并按照编码模式对目标编码单元进行编码处理。在这个过程中,通过对N个子块的残差进行分析,从而确定如何对目标编码单元进行处理,以提升编码效率,减小时间复杂度,在保证压缩效率的同时,提升编码效率。
请参加图4,是本申请实施例公开的一种示例性的图像编码方法的流程示意图,以一个目标编码单元为例,该目标单元被预分割成4个子块,也就是将目标编码单元进行4等分,如图5所示,被预分割成4个子块可以分别用block1、block2、block3以及block4表示,对应的,该图像编码方法具体可以包括但不仅限于以下步骤:
S401:获取目标编码单元的预测像素。
S402:将目标编码单元预分割成4个子块,并基于预测像素和4个子块中每个子块的原始像素确定每个子块的残差。4个子块的残差分别用sad_block1、sad_block2、sad_block3、sad_block4表示。
S403:基于4个子块的残差以及对应的阈值,确定目标编码单元的编码模式。
1、若满足第一条件,则执行步骤S404。第一条件为满足第一比值小于第一阈值,其中,第一比值为4个子块的残差中最大残差和最小残差的比值。如图5所示,目标编码单元被划分成4个子块,那么在确定出4个子块的残差sad_block1、sad_block2、sad_block3、sad_block4后,第一比值和第一阈值的关系可以如公式(1)所示:
其中,max()和min()分别表示取4个残差中的0最大值以及取4个残差中的最小值操作,Thre1为第一阈值。满足第一条件,即满足公式(1)。
2、若满足第二条件,则执行步骤S405。第二条件为满足第一比值小于第一阈值(满足公式(1)),且目标编码单元当前的编码模式为帧内编码模式。
3、若满足第三条件,则执行步骤S406。第三条件为满足第二比值和第三比值中存在至少一个比值小于第二阈值。第二比值为sad_block1、sad_block2中最大残差和最小残差的比值,第三比值为sad_block3、sad_block4中最大残差和最小残差的比值。如图5所示,目标编码单元被划分成4个子块,block1和block2为第一横向区域的子块,block3和block4为第二横向区域的子块,那么在确定出4个子块的残差sad_block1、sad_block2、sad_block3、sad_block4后,第二比值和第二阈值的关系可以如公式(2)所示:
其中,表示第二比值,max()和min()分别表示取最大值以及取最小值操作,Thre2表示第二阈值。
第二比值和第二阈值的关系可以如公式(3)所示:
其中,表示第三比值,max()和min()分别表示取最大值以及取最小值操作,Thre2表示第二阈值。满足第三条件,即满足公式(2)或公式(3)其中一个。
4、若满足第四条件,则执行步骤S407。第四条件为满足第四比值和第五比值中存在至少一个比值小于第三阈值。第四比值为sad_block1、sad_block3中最大残差和最小残差的比值,第五比值为sad_block2、sad_block4中最大残差和最小残差的比值。如图5所示,目标编码单元被划分成4个子块,block1和block3为第一纵向区域的子块,block2和block4为第二纵向区域的子块,那么在确定出4个子块的残差sad_block1、sad_block2、sad_block3、sad_block4后,第四比值和第三阈值的关系可以如公式(4)所示:
其中,表示第四比值,max()和min()分别表示取最大值以及取最小值操作,Thre3表示第三阈值。
第五比值和第三阈值的关系可以如公式(5)所示:
其中,表示第五比值,max()和min()分别表示取最大值以及取最小值操作,Thre3表示第三阈值。满足第三条件,即满足公式(4)或公式(5)其中一个。
S404:若目标编码单元需进行单元划分,则确定划分后的目标编码单元的编码模式为帧间编码模式;若目标编码单元不需要再进行单元划分,则将目标编码单元的编码模式确定为当前编码模式。
S405:终止对目标编码单元进行单元划分,并确定目标编码单元的编码模式为帧内编码模式。
S406:采用横向划分方式对目标编码单元进行划分,得到划分后的第一横向区域和划分的第二横向区域。确定任一横向区域的编码模式为帧间编码模式或帧内编码模式。
S407:采用纵向划分方式对目标编码单元进行划分,得到划分后的第一纵向区域和划分的第二纵向区域。确定任一纵向区域的编码模式为帧间编码模式或帧内编码模式。
S408:按照编码模式对目标编码单元进行编码处理。
本申请实施例中,主要阐述的是将一个目标编码单元预分割成4个子块后,是如何根据残差确定编码模式的,在不同的条件下可以选择不同的编码模式,或者,可以根据残差确定目标编码单元的划分方式,可以节约处理时间,提升编码效率。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图6,图6是本申请实施例提供的一种图像编码装置的结构示意图,该图像编码装置可以设置于本申请实施例提供的计算机设备中。图6所示的图像编码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该图像编码装置可以用于执行图3以及图4所示的方法实施例中的部分或全部步骤。请参见图6,该图像编码装置可以包括如下单元:
获取单元601,用于获取目标编码单元的预测像素,所述预测像素是对所述目标编码单元进行编码后得到的,所述目标编码单元为待编码图像包括的多个编码单元中的任意一个;
处理单元602,用于基于采用的预设分割方式,将所述目标编码单元预分割成N个子块,N为正整数;
确定单元603,用于基于所述预测像素和所述N个子块中每个子块的原始像素确定所述每个子块的残差;
确定单元603,还用于基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式;
处理单元602,还用于按照所述编码模式对所述目标编码单元进行编码处理。
在一种可能的实现方式中,确定单元603基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式时,具体用于执行如下步骤:
获取所述N个子块的残差中最大残差和最小残差的第一比值;
若所述第一比值小于第一阈值,且所述目标编码单元需进行单元划分,则确定划分后的目标编码单元的编码模式为帧间编码模式。
在一种可能的实现方式中,确定单元603基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式时,具体用于执行如下步骤:
获取所述N个子块的残差中最大残差和最小残差的第一比值;
若所述第一比值小于第一阈值,且所述目标编码单元当前的编码模式为帧内编码模式,则终止对所述目标编码单元进行单元划分,并确定所述目标编码单元的编码模式为所述帧内编码模式。
在一种可能的实现方式中,所述目标编码单元包括第一横向区域和第二横向区域,每个横向区域包括N/2个子块,确定单元603基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式时,具体用于执行如下步骤:
获取所述第一横向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第二比值;
获取所述第二横向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第三比值;
若所述第二比值和所述第三比值中存在至少一个比值小于第二阈值,则采用横向划分方式对所述目标编码单元进行划分,得到划至少两个横向区域;
针对所述至少两个横向区域中的任一横向区域,确定所述任一横向区域的编码模式为帧间编码模式或帧内编码模式。
在一种可能的实现方式中,处理单元602将所述目标编码单元预分割成N个子块时,具体用于执行如下步骤:
将所述目标编码单元进行预横向分割,得到第一横向区域和第二横向区域;
针对所述第一横向区域和第二横向区域中的任一横向区域,将所述任一横向区域预分割成N/2个子块。
在一种实现方式中,所述目标编码单元包括第一纵向区域和第二纵向区域,每个纵向区域包括N/2个子块;确定单元603基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式时,具体用于执行如下步骤:
获取所述第一纵向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第四比值;
获取所述第二纵向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第五比值;
若所述第四比值和所述第五比值中存在至少一个比值小于第三阈值,则采用纵向划分方式对所述目标编码单元进行划分,得到至少两个纵向区域;
针对所述至少两个纵向区域中的任一纵向区域,确定所述任一纵向区域的编码模式为帧间编码模式或帧内编码模式。
在一种可能的实现方式中,处理单元602将所述目标编码单元预分割成N个子块时,具体用于执行如下步骤:
将所述目标编码单元进行预纵向分割,得到第一纵向区域和第二纵向区域;
针对所述第一纵向区域和第二纵向区域中的任一纵向区域,将所述任一纵向区域预分割成N/2个子块。
在一种可能的实现方式中,所述N个子块中各个子块的尺寸相同,N为4的x次方,x为大于或者等于1的整数。
根据本申请的另一个实施例,图6所示的图像编码装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,图像编码装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3或者图4所示的部分或全部方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的图像编码装置,以及来实现本申请实施例的图像编码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,将目标编码单元预分割成N个子块,N为正整数,通过目标编码单元的预测像素以及每个子块的原始像素确定每个子块的残差,然后基于目标编码单元中N个子块的残差,确定目标编码单元的编码模式,或者基于目标编码单元中N个子块的残差,确定对目标编码单元进行划分后的编码单元的编码模式,可确保确定的编码模式为相应编码单元的最优编码模式。相对现有的分别通过帧间预测模式和帧内预测模式对编码单元进行编码处理,计算率失真代价,将代价最小的预测模式做为此编码单元的编码模式,本申请实施例可在确保确定的编码模式的准确度的情况下,减小编码模式的确定时长。基于此,按照确定的编码模式对相应编码单元进行编码处理,可以有效提升压缩效率。
基于上述方法以及装置实施例,本申请实施例提供了一种计算机设备。请参见图7,图7是本申请实施例提供的一种计算机设备的结构示意图,计算机设备可以是图2示出的服务器203。图7所示的计算机设备至少包括处理器701、输入接口702、输出接口703以及计算机可读存储介质704。其中,处理器701、输入接口702、输出接口703以及计算机可读存储介质704可通过总线或其他方式连接。
计算机可读存储介质704可以存储在计算机设备的存储器中,计算机可读存储介质704用于存储计算机程序,计算机程序包括计算机指令,处理器701用于执行计算机可读存储介质704存储的程序指令。处理器701(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一些实施例中,可由处理器701加载并执行计算机可读存储介质704中存放的一条或多条计算机指令,以实现上述有关图3以及图4所示的图像编码方法的相应步骤。具体实现中,计算机可读存储介质704中的计算机指令由处理器701加载并执行如下步骤:
获取目标编码单元的预测像素,所述预测像素是对所述目标编码单元进行编码后得到的,所述目标编码单元为待编码图像包括的多个编码单元中的任意一个;
基于采用的预设分割方式,将所述目标编码单元预分割成N个子块,N为正整数;
基于所述预测像素和所述N个子块中每个子块的原始像素确定所述每个子块的残差;
基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式;
按照所述编码模式对所述目标编码单元进行编码处理。
在一种可能的实现方式中,计算机可读存储介质704中的计算机指令由处理器701加载并执行基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式时,具体用于执行如下步骤:
获取所述N个子块的残差中最大残差和最小残差的第一比值;
若所述第一比值小于第一阈值,且所述目标编码单元需进行单元划分,则确定划分后的目标编码单元的编码模式为帧间编码模式。
在一种可能的实现方式中,计算机可读存储介质704中的计算机指令由处理器701加载并执行基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式时,具体用于执行如下步骤:
获取所述N个子块的残差中最大残差和最小残差的第一比值;
若所述第一比值小于第一阈值,且所述目标编码单元当前的编码模式为帧内编码模式,则终止对所述目标编码单元进行单元划分,并确定所述目标编码单元的编码模式为所述帧内编码模式。
在一种可能的实现方式中,所述目标编码单元包括第一横向区域和第二横向区域,每个横向区域包括N/2个子块,计算机可读存储介质704中的计算机指令由处理器701加载并执行基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式时,具体用于执行如下步骤:
获取所述第一横向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第二比值;
获取所述第二横向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第三比值;
若所述第二比值和所述第三比值中存在至少一个比值小于第二阈值,则采用横向划分方式对所述目标编码单元进行划分,得到至少两个横向区域;
针对所述至少两个横向区域中的任一横向区域,确定所述任一横向区域的编码模式为帧间编码模式或帧内编码模式。
在一种可能的实现方式中,计算机可读存储介质704中的计算机指令由处理器701加载并执行将所述目标编码单元预分割成N个子块时,具体用于执行如下步骤:
将所述目标编码单元进行预横向分割,得到第一横向区域和第二横向区域;
针对所述第一横向区域和第二横向区域中的任一横向区域,将所述任一横向区域预分割成N/2个子块。
在一种实现方式中,所述目标编码单元包括第一纵向区域和第二纵向区域,每个纵向区域包括N/2个子块;计算机可读存储介质704中的计算机指令由处理器701加载并执行基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式时,具体用于执行如下步骤:
获取所述第一纵向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第四比值;
获取所述第二纵向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第五比值;
若所述第四比值和所述第五比值中存在至少一个比值小于第三阈值,则采用纵向划分方式对所述目标编码单元进行划分,得到至少两个纵向区域;
针对所述至少两个纵向区域中的任一纵向区域,确定所述任一纵向区域的编码模式为帧间编码模式或帧内编码模式。
在一种可能的实现方式中,计算机可读存储介质704中的计算机指令由处理器701加载并执行将所述目标编码单元预分割成N个子块时,具体用于执行如下步骤:
将所述目标编码单元进行预纵向分割,得到第一纵向区域和第二纵向区域;
针对所述第一纵向区域和第二纵向区域中的任一纵向区域,将所述任一纵向区域预分割成N/2个子块。
在一种可能的实现方式中,所述N个子块中各个子块的尺寸相同,N为4的x次方,x为大于或者等于1的整数
本申请实施例中,将目标编码单元预分割成N个子块,N为正整数,通过目标编码单元的预测像素以及每个子块的原始像素确定每个子块的残差,然后基于目标编码单元中N个子块的残差,确定目标编码单元的编码模式,或者基于目标编码单元中N个子块的残差,确定对目标编码单元进行划分后的编码单元的编码模式,可确保确定的编码模式为相应编码单元的最优编码模式。相对现有的分别通过帧间预测模式和帧内预测模式对编码单元进行编码处理,计算率失真代价,将代价最小的预测模式做为此编码单元的编码模式,本申请实施例可在确保确定的编码模式的准确度的情况下,减小编码模式的确定时长。基于此,按照确定的编码模式对相应编码单元进行编码处理,可以有效提升压缩效率。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的图像编码方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种图像编码方法,其特征在于,所述方法包括:
获取目标编码单元的预测像素,所述预测像素是对所述目标编码单元进行编码后得到的,所述目标编码单元为待编码图像包括的多个编码单元中的任意一个;
基于采用的预设分割方式,将所述目标编码单元预分割成N个子块,N为正整数;
基于所述预测像素和所述N个子块中每个子块的原始像素确定所述每个子块的残差;
基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式;
按照所述编码模式对所述目标编码单元进行编码处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式,包括:
获取所述N个子块的残差中最大残差和最小残差的第一比值;
若所述第一比值小于第一阈值,且所述目标编码单元需进行单元划分,则确定划分后的目标编码单元的编码模式为帧间编码模式。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式,包括:
获取所述N个子块的残差中最大残差和最小残差的第一比值;
若所述第一比值小于第一阈值,且所述目标编码单元当前的编码模式为帧内编码模式,则终止对所述目标编码单元进行单元划分,并确定所述目标编码单元的编码模式为所述帧内编码模式。
4.根据权利要求1所述的方法,其特征在于,所述目标编码单元包括第一横向区域和第二横向区域,每个横向区域包括N/2个子块;
所述基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式,包括:
获取所述第一横向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第二比值;
获取所述第二横向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第三比值;
若所述第二比值和所述第三比值中存在至少一个比值小于第二阈值,则采用横向划分方式对所述目标编码单元进行划分,得到至少两个横向区域;
针对所述至少两个横向区域中的任一横向区域,确定所述任一横向区域的编码模式为帧间编码模式或帧内编码模式。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标编码单元预分割成N个子块,包括:
将所述目标编码单元进行预横向分割,得到第一横向区域和第二横向区域;
针对所述第一横向区域和第二横向区域中的任一横向区域,将所述任一横向区域预分割成N/2个子块。
6.根据权利要求1所述的方法,其特征在于,所述目标编码单元包括第一纵向区域和第二纵向区域,每个纵向区域包括N/2个子块;
所述基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式,包括:
获取所述第一纵向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第四比值;
获取所述第二纵向区域中包括的N/2个子块对应的残差中最大残差和最小残差的第五比值;
若所述第四比值和所述第五比值中存在至少一个比值小于第三阈值,则采用纵向划分方式对所述目标编码单元进行划分,得到至少两个纵向区域;
针对所述至少两个纵向区域中的任一纵向区域,确定所述任一纵向区域的编码模式为帧间编码模式或帧内编码模式。
7.根据权利要求6所述的方法,其特征在于,所述将所述目标编码单元预分割成N个子块,包括:
将所述目标编码单元进行预纵向分割,得到第一纵向区域和第二纵向区域;
针对所述第一纵向区域和第二纵向区域中的任一纵向区域,将所述任一纵向区域预分割成N/2个子块。
8.根据权利要求1所述的方法,其特征在于,所述N个子块中各个子块的尺寸相同,N为4的x次方,x为大于或者等于1的整数。
9.一种图像编码装置,其特征在于,所述装置包括:
获取单元,用于获取目标编码单元的预测像素,所述预测像素是对所述目标编码单元进行编码后得到的,所述目标编码单元为待编码图像包括的多个编码单元中的任意一个;
处理单元,用于基于采用的预设分割方式,将所述目标编码单元预分割成N个子块,N为正整数;
确定单元,用于基于所述预测像素和所述N个子块中每个子块的原始像素确定所述每个子块的残差
所述确定单元,还用于基于所述目标编码单元中N个子块的残差,确定所述目标编码单元的编码模式;
所述处理单元,还用于按照所述编码模式对所述目标编码单元进行编码处理。
10.一种计算机设备,其特征在于,所述计算机设备包括:
处理器,适于实现一条或多条计算机程序;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求1-8任一项所述的图像编码方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由处理器加载并执行如权利要求1-8任一项所述的图像编码方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取所述计算机程序,处理器执行所述计算机程序,使得计算机设备执行如权利要求1-8任一项所述的图像编码方法。
CN202310858901.3A 2023-07-12 2023-07-12 一种图像编码方法、装置及计算机设备、介质 Pending CN116866591A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310858901.3A CN116866591A (zh) 2023-07-12 2023-07-12 一种图像编码方法、装置及计算机设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310858901.3A CN116866591A (zh) 2023-07-12 2023-07-12 一种图像编码方法、装置及计算机设备、介质

Publications (1)

Publication Number Publication Date
CN116866591A true CN116866591A (zh) 2023-10-10

Family

ID=88223148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310858901.3A Pending CN116866591A (zh) 2023-07-12 2023-07-12 一种图像编码方法、装置及计算机设备、介质

Country Status (1)

Country Link
CN (1) CN116866591A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117294861A (zh) * 2023-11-24 2023-12-26 淘宝(中国)软件有限公司 一种基于帧间预测的编码块划分方法及编码器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117294861A (zh) * 2023-11-24 2023-12-26 淘宝(中国)软件有限公司 一种基于帧间预测的编码块划分方法及编码器
CN117294861B (zh) * 2023-11-24 2024-03-22 淘宝(中国)软件有限公司 一种基于帧间预测的编码块划分方法及编码器

Similar Documents

Publication Publication Date Title
US9813716B2 (en) Video encoder and video encoding method
JP5399416B2 (ja) 参照フレームの圧縮を伴うビデオ符号化システム
US8483496B2 (en) Image encoding/decoding system
TW201830972A (zh) 用於視訊寫碼之低複雜度符號預測
TW201820875A (zh) 視訊解碼裝置、視訊編碼方法及裝置與電腦可讀儲存媒體
US20210329252A1 (en) Motion information acquisition method and device for video encoding or decoding
CN111787319B (zh) 一种视频信息处理方法、多媒体信息处理方法及装置
CN109510987B (zh) 编码树节点划分方式的确定方法、装置及编码设备
CN112565815B (zh) 文件封装方法、文件传输方法、文件解码方法及相关设备
CN116866591A (zh) 一种图像编码方法、装置及计算机设备、介质
WO2020182104A1 (zh) 进行编码和解码的方法、解码装置和编码装置
CN111654696B (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
CN114257810B (zh) 上下文模型的选择方法、装置、设备及存储介质
CN116405665A (zh) 编码方法、装置、设备及存储介质
CN116723328A (zh) 一种视频编码方法、装置、设备及存储介质
CN109474826B (zh) 图片压缩方法、装置、电子设备及存储介质
CN118158440A (zh) 图像划分方法及装置
WO2021263251A1 (en) State transition for dependent quantization in video coding
CN112738522A (zh) 视频编码方法、装置
WO2019219066A1 (zh) 一种编解码方法及装置
CN114885160A (zh) 视频编解码方法、装置、计算机可读介质及电子设备
US12015780B2 (en) Inter prediction method and apparatus, video encoder, and video decoder
CN111885378B (zh) 多媒体数据编码方法、装置、设备以及介质
KR101431463B1 (ko) 무손실 비디오 부호화/복호화 방법 및 장치
US20240089457A1 (en) Coding a merged block that overlaps a reference block in intra block copy mode

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