CN110062230B - 图像编码方法及装置 - Google Patents
图像编码方法及装置 Download PDFInfo
- Publication number
- CN110062230B CN110062230B CN201910353036.0A CN201910353036A CN110062230B CN 110062230 B CN110062230 B CN 110062230B CN 201910353036 A CN201910353036 A CN 201910353036A CN 110062230 B CN110062230 B CN 110062230B
- Authority
- CN
- China
- Prior art keywords
- image
- macro block
- macroblock
- coded
- 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.)
- 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/124—Quantisation
-
- 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/169—Methods 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/17—Methods 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/176—Methods 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
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及图像处理技术领域,提供一种图像编码方法及装置。所述方法包括:首先,获得待编码图像的图像量化参数;其次,对待编码图像进行边缘检测,得到待编码图像的边缘信息;然后,依据边缘信息和图像量化参数,确定出待编码图像中每个宏块对应的宏块量化参数;最后,依据每个宏块对应的宏块量化参数对待编码图像进行编码,以生成编码图像。与现有技术相比,本发明提供的一种图像编码方法及装置可以解决现有技术中边缘压缩过度、导致边缘模糊的问题。
Description
技术领域
本发明实施例涉及图像处理技术领域,具体而言,涉及一种图像编码方法及装置。
背景技术
在通信领域,传输带宽的往往是非常重要资源,为了保证视频数据的传输,在视频编码中,需要在一定的传输带宽的限定条件下,取得最优的图像质量,就对编码器的编码控制具有一定的要求。
在目前已有的视频编码码率控制方法中,为了使视频在编码过程中输出码率更加精准,通常会将码率控制到宏块,但在提升码率精准度同时,会造成一帧图像质量不均匀的结果,使得图像主观效果减弱,观赏效果不佳。而影响码率的主要因素有:编码模式、帧率、量化参数QP和编码的帧复杂程度。量化参数QP值的选取对码率控制最为关键。对一帧图像来说,若宏块的QP取值过大,过度压缩,解码图像会产生较强的失真和块效应,可能会出现边缘区域模糊的问题。
发明内容
本发明实施例的目的在于提供一种图像编码方法及装置,以改善现有技术中边缘过度压缩,导致边缘区域模糊的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种图像编码方法,所述方法包括:获得待编码图像的图像量化参数,其中,所述待编码图像包括多个宏块;对所述待编码图像进行边缘检测,得到所述待编码图像的边缘信息;依据所述边缘信息和所述图像量化参数,确定出所述待编码图像中每个宏块对应的宏块量化参数;依据每个宏块对应的宏块量化参数对所述待编码图像进行编码,以生成编码图像。
第二方面,本发明实施例提供了一种图像编码装置,所述装置包括:处理模块,用于获得待编码图像的图像量化参数,其中,所述待编码图像包括多个宏块;对所述待编码图像进行边缘检测,得到所述待编码图像的边缘信息;依据所述边缘信息和所述图像量化参数,确定出所述待编码图像中每个宏块对应的宏块量化参数;生成模块,用于依据每个宏块对应的宏块量化参数对所述待编码图像进行编码,以生成编码图像。
相对现有技术,本发明实施例提供的一种图像编码方法及装置,通过对待编码图像进行边缘检测,把待编码图像中属于边缘轮廓的宏块和不属于边缘轮廓的宏块确定出来,并基于图像量化参数的基础上对属于边缘轮廓的宏块和不属于边缘轮廓的宏块进行不同处理,以得到不同的宏块量化参数,给于属于边缘轮廓的宏块较小的宏块量化参数,以避免边缘的过度压缩,最后,依据每个宏块对应的宏块量化参数对待编码图像进行编码,生成边缘清晰的编码图像。有效解决了现有技术中边缘压缩过度、导致边缘模糊的问题。
为使本发明实施例的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了现有技术中的宏块级量化参数划分的处理流程图。
图2示出了本发明实施例提供的电子设备的方框示意图。
图3示出了本发明实施例提供的一种图像编码方法的流程图。
图4示出了本发明实施例提供的另一种图像编码方法的流程图。
图5示出了本发明实施例提供的图像编码装置的方框示意图。
图标:100-电子设备;101-处理器;102-存储器;103-总线;104-通信接口;200-图像编码装置;201-处理模块;202-生成模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在通信领域,传输带宽的往往是非常重要资源,为了保证视频数据的传输,在视频编码中,需要在一定的传输带宽的限定条件下,取得最优的图像质量,就对编码器的编码控制具有一定的要求。
在目前已有的视频编码码率控制方法中,为了使视频在编码过程中输出码率更加精准,通常会将码率控制到宏块,但在提升码率精准度同时,会造成一帧图像质量不均匀的结果,使得图像主观效果减弱,观赏效果不佳。而影响码率的主要因素有:编码模式、帧率、量化参数QP和编码的帧复杂程度。量化参数QP值的选取对码率控制最为关键。
编码器码率控制技术的实现主要有两部分组成,比特分配和量化参数(Quantization Parameter,QP)计算。比特分配,以传输带宽限定的码率为基本前提,计算出一个图像组(Group of picture,GOP)所需要的总比特数,再根据GOP的结构,结合其内部编码帧类型的本身的特性,为每一帧分配其可以使用的比特数。QP计算,根据已分配给每一帧的比特数,使用已建立的“比特数和QP对应关系”数学模型,计算出这一帧在编码时可以使用的QP值,即本申请中的图像量化参数。
典型的编码器在码率控制部分,针对于QP的分配,一般做法分为两级,一级为帧级的QP分配,另外一级为宏块级QP分配。
对于一帧图像,根据其复杂程度,其图像中所包含的内容大致可以分为平坦区域和细节区域。根据人类视觉系统(Human Visual System,HVS),人眼对于细节区域的敏感度和对于平坦区域的敏感度是不一致;同时在编码过程中,平坦区域的预测相对于细节区域的预测,其准确度要高很多,预测后所遗留残差会更小,编码所需的比特数也会更少。
对于宏块级的QP分配机制,一般的实现机制是,在宏块编码时,计算得到的当前宏块复杂度,然后根据已设定好的复杂度与宏块级QP的对应关系,选择对应的QP对当前宏块进行编码。
图1为现有技术中的宏块级量化参数划分的处理流程图。请参阅图1,该方法介绍的处理流程具体包括:
1)帧级码率控制,计算出当前帧图像的量化参数PQP;
2)根据统计得到的上一帧的复杂度总和,估算出当前帧图像的复杂度各分档阈值;
3)计算当前处理宏块的复杂度;
4)通过比较2)和3)的结果,确定当前宏块的宏块参数变量MBDQP;
宏块参数变量可以是对宏块的量化参数的调整量。
5)以图像的量化参数PQP和当前宏块的宏块参数变量MBDQP作为输入,计算出当前宏块的宏块量化参数MBQP;
宏块量化参数可以是宏块在编码时可以使用的量化参数。
6)将当前宏块MB和宏块量化参数MBQP同时送入编码器进行编码。
现有技术在进行图像编码的过程中,对于当前帧图像复杂度各分级阈值的估算,是以统计得到的上一帧的复杂度作为基础,一旦发生场景突变,势必导致当前帧的阈值估算不准,造成图像编码效果过差。且对于图像平坦区域存在的边界区域,人眼的敏感度也很高,仅靠复杂度算法很难将边界区域区分出来,如果不对图像边界区域做特殊处理,势必导致分配给边界区域的QP值过大,边界区域模糊,不清晰。
本发明所要解决的技术问题是,针对上述问题,提供一种图像编码方法,其核心改进点在于,通过对当前处理的待编码图像进行边缘检测,把待编码图像中属于边缘轮廓的宏块和不属于边缘轮廓的宏块确定出来,并基于图像量化参数的基础上对属于边缘轮廓的宏块和不属于边缘轮廓的宏块进行不同处理,以得到不同的宏块量化参数,给予属于边缘轮廓的宏块较小的宏块量化参数,以避免边缘的过度压缩,最后,依据每个宏块对应的宏块量化参数对待编码图像进行编码,生成边缘清晰的编码图像。有效解决了现有技术中边缘压缩过度、导致边缘模糊以及由于场景突变导致的编码效果过差的问题。
本发明实施例提供的图像编码方法应用于电子设备100,请参阅图1,图1示出了本发明实施例提供的电子设备的方框示意图。电子设备100可以是,但不限于膝上型便携计算机、车载电脑、个人数字助理(personal digital assistant,PDA)、服务器等等。电子设备100包括处理器101、存储器102、总线103及通信接口104。处理器101、存储器102及通信接口104通过总线103连接,处理器101用于执行存储器102中存储的可执行模块,例如计算机程序。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,图像编码方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器101,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器102可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
总线103可以是ISA(Industry Standard Architecture)总线、PCI(PeripheralComponent Interconnect)总线或EISA(Extended Industry Standard Architecture)总线等。图2中仅用一个双向箭头表示,但并不表示仅有一根总线103或一种类型的总线103。
电子设备100通过至少一个通信接口104(可以是有线或者无线)实现与外部的其它设备之间的通信连接。存储器102用于存储程序,例如图像编码装置200。图像编码装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器102中或固化在电子设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器101在接收到执行指令后,执行所述程序以实现图像编码方法。
应当理解的是,图2所示的结构仅为电子设备100的结构应用示意图,电子设备100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
基于上述的电子设备100,下面给出一种图像编码方法可能的实现方式,该方法的执行主体可以为上述电子设备100,请参阅图3,图3示出了本发明实施例提供的一种图像编码方法的流程图。图像编码方法包括以下步骤:
S1,获得待编码图像的图像量化参数。
其中,待编码图像包括多个宏块。待编码图像可以是当前处理的需要进行编码的图像,图像量化参数可以是一帧待编码图像在编码时可以使用的量化参数,一帧待编码图像对应一个图像量化参数。量化参数为量化步长的序号,其对应的取值范围是0~51,量化参数取最小值0时,表示量化最精细,量化参数取最大值51时,表示量化最粗糙。实际上,量化参数反映了空间细节压缩情况,如量化参数小,大部分的细节都会被保留;量化参数增大,一些细节丢失,码率降低,但图像失真加强和质量下降。
在本发明实施例中,待编码图像可以是通过摄像头拍摄得到,也可以是预先存储在电子设备100的存储器102中的,还可以是通信接口104接收的其它外部设备发送的图像。
S2,对待编码图像进行边缘检测,得到待编码图像的边缘信息。
在本发明实施例中,边缘信息包括待编码图像中的每个宏块对应的宏块属性,宏块属性为边缘宏块和非边缘宏块中的一种。具体地,经过对待编码图像进行边缘检测,可以检测出待编码图像的边缘轮廓,边缘轮廓可以是待编码图像中的两种不同物体之间的交界处。例如,待编码图像中的内容是一幅画挂在一面墙上,那么待编码图像中的边缘轮廓则是画的外框与墙之间的过渡区域。当宏块属性为边缘宏块时,则可以说明该宏块属性对应的宏块属于边缘轮廓,当宏块属性为非边缘宏块时,则可以说明该宏块属性对应的宏块不属于边缘轮廓。
S3,依据边缘信息和图像量化参数,确定出待编码图像中每个宏块对应的宏块量化参数。
在本发明实施例中,宏块量化参数可以是一个宏块在编码时可以使用的量化参数。每个宏块均对应一个宏块量化参数。依据边缘信息和图像量化参数,确定出待编码宏块对应的宏块量化参数的步骤,可以理解为,依据边缘信息中包含的待编码图像中每个宏块对应的宏块属性,对不同宏块属性(边缘宏块和非边缘宏块)的宏块,在基于图像量化参数的基础上,进行不同的操作,得到待编码图像中每个宏块对应的宏块量化参数。
S4,依据每个宏块对应的宏块量化参数对待编码图像进行编码,以生成编码图像。
在本发明实施例中,将待编码图像中的每个宏块及其对应的宏块量化参数输入编码器中进行编码,即可实现待编码图像的编码操作,生成编码图像。
本发明实施例提供的图像编码方法,通过对待编码图像进行边缘检测,把待编码图像中边缘宏块和非边缘轮廓确定出来,并基于图像量化参数的基础上对边缘宏块和非边缘宏块进行不同处理,以得到不同的宏块量化参数,给予边缘宏块较小的宏块量化参数,以避免边缘的过度压缩,最后,依据每个宏块对应的宏块量化参数对待编码图像进行编码,生成边缘清晰的编码图像。有效解决了现有技术中边缘压缩过度、导致边缘模糊的问题。
在图3的基础上,图4为本发明实施例提供的另一种图像编码方法的流程图。请参阅图4,下面给出一种步骤S1可能的实现方式,步骤S1,获得待编码图像的图像量化参数可以包括以下子步骤:
S11,获得待编码图像的图像比特数。
在本发明实施例中,图像比特数可以是一帧待编码图像在编码时可以使用的比特数。获得待编码图像的比特数的步骤,可以理解为,以传输带宽限定的码率为基本前提,计算出一个GOP所需要的总比特数,再根据GOP的结构,结合其内部编码帧类型的本身的特性,为每一帧待编码图像分配其可以使用的比特数,即可得到待编码图像的图像比特数。
S12,依据图像比特数,以及图像比特数与图像量化参数的对应关系,得到图像比特数对应的图像量化参数。
在本发明实施例中,电子设备100中预先存储有图像比特数和图像量化参数的对应关系,即“比特数和QP对应关系”数学模型。具体地,图像比特数与图像量化参数为反比关系。通过图像比特数,以及预先存储在电子设备100中的图像比特数与图像量化参数之间的对应关系,可以确定出该图像比特数对应的图像量化参数。
通过步骤S11和步骤S21,能够根据待编码图像在整个GOP中的结构,对其分配适配的图像量化参数,既不浪费资源,同时也可以保证待编码图像的质量。
需要说明的是,为了减少图像数据量,提高运算速度,在步骤S1或者步骤S2之前,本发明实施例还可以包括对待编码图像进行下采样,其中,下采样的系数与宏块的大小相关,具体地,下采样系数为1/(N*N),其中,N*N为宏块大小。例如,当宏块大小为16*16时,下采样系数为1/256。
继续参阅图4,下面给出一种步骤S2可能的实现方式,步骤S2,对待编码图像进行边缘检测,得到待编码图像的边缘信息可以包括以下子步骤:
S21,计算待编码图像中目标宏块的对应的宏块梯度值。
在本发明实施例中,目标宏块可以是当前处理的宏块,宏块梯度值可以是以宏块为最小单位计算出来的梯度值。在计算待编码图像中的目标宏块对应的宏块梯度值之前,对待编码图像进行1/256下采样,可以减少图像数据处理量,经过下采样后的待编码图像中的最小单元即为宏块,下采样之后的每个宏块的宏块像素值,为组成该宏块的所有像素点的像素平均值。计算待编码图像中目标宏块对应的宏块梯度值的步骤,可以理解为,可以采用但不限于Canny算子,Laplacian算子或者是sobel算子等梯度算子来计算出宏块为最小单元的梯度值,每个目标宏块均对应一个宏块梯度值。
作为一种实施方式,预设窗口范围是以目标宏块为中心的3*3窗口内的所有宏块,梯度算子为sobel算子,sobel算子分别从横向和纵向对目标宏块进行表示。
其中,A代表预设窗口,Gx及Gy分别代表经横向及纵向边缘检测。目标宏块对应的宏块梯度值(G)表达式如下:
S22,将宏块梯度值与预设梯度值进行比较。
在本发明实施例中,预设梯度值可以是用户自定义用于判定目标宏块的宏块属性的梯度值。例如,125。将宏块梯度值与预设梯度值进行比较,当宏块梯度值大于预设梯度值时,执行子步骤S23,当宏块梯度值小于或者等于预设梯度值时,执行子步骤S24。
S23,当宏块梯度值大于预设梯度值时,判定宏块梯度值对应的目标宏块为边缘宏块。
在本发明实施例中,当宏块梯度值大于预设梯度值时,则认为宏块梯度值对应的目标宏块为边缘宏块,该目标宏块属于边缘轮廓。例如,当预设梯度值为125,目标宏块对应的宏块梯度值为180,宏块梯度值180>预设梯度值125,那么该目标宏块即为边缘宏块。
S24,当宏块梯度值小于或等于预设梯度值时,判定宏块梯度值对应的目标宏块为非边缘宏块。
在本发明实施例中,当宏块梯度值小于或等于预设梯度值时,则认为宏块梯度值对应的目标宏块为非边缘宏块,该目标宏块不属于边缘轮廓。例如,当预设梯度值为125,目标宏块对应的宏块梯度值为100,宏块梯度值100<预设梯度值125,那么该目标宏块即为非边缘宏块。
S25,重复上述步骤,遍历待编码图像中的每个宏块,得到待编码图像的边缘信息。
在本发明实施例中,重复子步骤S21~S24,每执行一次子步骤S21~S24就可以得到一个宏块的宏块属性,依次对待编码图像中的每个宏块均进行相同的处理,即可得到待编码图像中每个宏块的宏块属性,所有宏块的宏块属性即可组成待编码图像的边缘信息。
通过步骤S21~S25,可以得到待编码图像中每个宏块的宏块属性,即该宏块是边缘宏块或者非边缘宏块,以便后续步骤S3针对不同宏块属性的宏块进行不同的操作,来提高图像质量。
继续参阅图4,下面给出一种步骤S3可能的实现方式,步骤S3,依据边缘信息和图像量化参数,确定出待编码图像中每个宏块对应的宏块量化参数可以包括以下子步骤:
S31,当目标宏块对应的宏块属性为边缘宏块时,依据图像量化参数设置目标宏块对应的宏块量化参数。
在本发明实施例中,当步骤S2得到的目标宏块对应的宏块属性为边缘宏块时,依据图像量化参数设置目标宏块对应的宏块量化参数,可以理解为,依据图像量化参数,以及预设差值参数,设置目标宏块对应的宏块量化参数。具体地,目标宏块对应的宏块量化参数可以是图像量化参数与预设差值参数的和,即,目标宏块对应的宏块量化参数=图像量化参数+预设差值参数,预设差值参数可以是用户依据经验进行设置的。例如,当图像量化参数为35,预设差值参数为2时,那么目标宏块对应的宏块量化参数=35+2=37。
S32,当目标宏块对应的宏块属性为非边缘宏块时,计算目标宏块对应的宏块参数变量,并依据宏块参数变量和图像量化参数得到目标宏块对应的宏块量化参数。
在本发明实施例中,宏块参数变量可以是目标宏块对应的宏块量化参数的调整量,例如,2。当步骤S2得到的目标宏块对应的宏块属性为非边缘宏块时,计算目标宏块对应的宏块参数变量,并依据宏块参数变量和图像量化参数得到目标宏块对应的宏块量化参数的步骤,可以理解为,首先,计算目标宏块对应的宏块参数变量,然后,依据宏块参数变量、图像量化参数以及预设差值参数,设置目标宏块对应的宏块量化参数。具体地,目标宏块对应的宏块参数变量可以是由宏块参数变量与预设差值参数的乘积,再与图像量化参数相加得到,即目标宏块对应的宏块量化参数=图像量化参数+宏块参数变量*预设差值参数,预设差值参数可以是用户依据经验进行设置的。例如,当宏块参数变量为1,图像量化参数为35,预设差值参数为2时,那么目标宏块对应的宏块量化参数,35+1*2=37。
需要说明的是,计算目标宏块对应的宏块参数变量的步骤,可以在子步骤S32中执行,于本发明的其它实施例中,计算目标宏块对应的宏块参数变量的步骤也可以在步骤S2之前执行,还可以在步骤S3之前执行,在此不作限定。
S33,重复上述步骤,遍历待编码图像中的每个宏块,确定出待编码图像中每个宏块对应的宏块量化参数。
在本发明实施例中,重复子步骤S31或者S32,每执行一次子步骤S31或者S32就可以得到一个宏块对应的宏块量化参数,依次对待编码图像中的每个宏块均进行相同的处理,即可得到待编码图像中每个宏块的宏块量化参数。
具体地,下面给出一种计算目标宏块对应的宏块参数变量可能的实施方式,可以包括以下子步骤:
S321,确定出待编码图像的多个复杂度区间。
在本发明实施例中,复杂度区间可以是对待编码图像的图像复杂度进行划分,得到的由两个复杂度阈值组成的区间。待编码图像的图像复杂度可以是表征待编码图像的所有的纹理特征的值。
S322,依据目标宏块的宏块复杂度,从多个复杂度区间中确定出目标宏块对应的目标复杂度区间。
在本发明实施例中,目标复杂度区间为目标宏块的宏块复杂度所属的复杂度区间。依据目标宏块的宏块复杂度,从多个复杂度区间中确定出目标复杂度区间的步骤,可以理解为,将目标宏块的宏块复杂度依次与每个复杂度区间进行比较,判断该目标宏块的宏块复杂度是否属于当前比较的复杂度区间,若属于,则该复杂度区间即为目标复杂度区间,若不属于,则将该目标宏块的宏块复杂度与下一个复杂度区间进行比较,直至找出目标复杂度区间。
例如,当多个复杂度区间分别为第一复杂度区间[0,25),第二复杂度区间[25,50),第三复杂度区间[50,100),第四复杂度区间[100,500]时,目标宏块的宏块复杂度为36,首先,可以判断宏块复杂度36是否属于第一复杂度区间[0,25),得到的结果为不属于,然后,继续判断宏块复杂度36是否属于第二复杂度区间[25,50),得到的结果为属于,那么目标复杂度区间则为第二复杂度区间[25,50)。
S323,依据目标复杂度区间,从预设的区间对应表中确定出目标复杂度区间对应的宏块参数变量。
在本发明实施例中,预设的区间对应表中包含了多个复杂度区间与多个预设宏块参数变量,多个复杂度区间和多个预设宏块参数变量一一对应。例如,第一复杂度区间对应的预设宏块参数变量为0,第二复杂度区间对应的预设宏块参数变量为1,第三复杂度区间对应的预设宏块参数变量可以为2,第四复杂度区间对应的预设宏块参数变量可以为3。依据目标复杂度区间,从预设的区间对应表中确定出目标复杂度区间对应的宏块参数变量的步骤,可以理解为,通过区间对应表进行查找出目标复杂度区间对应的预设宏块参数变量。例如,目标复杂度区间为第二复杂度区间,在区间对应表中查找出第二复杂度区间对应的宏块参数变量1。
为了解决在整个视频编码图像中,待编码图像发生场景突变,故本申请实施例中采用当前处理的待编码图像的图像复杂度来确定出多个复杂度区间。具体地,步骤S321确定出待编码图像的多个复杂度区间可以包括以下子步骤:
S3211,计算待编码图像中的每个宏块的宏块复杂度。
在本发明实施例中,宏块复杂度MBC可以是每个宏块对应的复杂度,一个宏块对应一个宏块复杂度,具体地,宏块复杂度的计算公式为:
宏块复杂度MBC即一个区域内图像像素值的波动变化频率,具体表现为像素值与区域内像素均值的绝对误差和。的绝对值较大,则说明图像像素值波动较大,有许多纹理细节,图像复杂度高;若绝对值较小,则说明此区域像素变化不大,图像细节不多,图像复杂度低,采用该种方法误差小,精确性高。
需要说明的是,经过下采样之后的待编码图像的最小单元即为宏块,那么宏块复杂度的计算则是依据宏块像素值和该宏块周围宏块的平均宏块像素值来计算的,通过下采样减少了数据处理量,提高了运算速度。
S3212,对每个宏块的宏块复杂度求和,计算出待编码图像的图像复杂度。
在本发明实施例中,将待编码图像中的每个宏块的宏块复杂度均进行相加,求和得到待编码图像的图像复杂度。例如,待编码图像中有4个宏块,4个宏块对应的宏块复杂度分别为15、26、37和23,那么该待编码图像的图像复杂度为15+26+37+22=100。
S3213,依据图像复杂度及预设比例参数,确定出多个复杂度区间。
在本发明实施例中,依据图像复杂度及预设比例参数,确定出多个复杂度区间的步骤,可以理解为,首先,依据图像复杂度和预设比例参数,计算出多个复杂度阈值。然后,将多个复杂度阈值按照从小到大的顺序排列,每两个相邻的复杂度阈值之间可以组成一个复杂度区间。预设比例参数可以是用户自定义的,例如,1/20、1/10、1/5。当图像复杂度为500,预设比例参数为1/20、1/10、1/5时,计算出复杂度阈值,分别为500*1/20=25,500*1/10=50,500*1/5=100,那么最终得到的多个复杂度区间分别为第一复杂度区间[0,25),第二复杂度区间[25,50),第三复杂度区间[50,100),第四复杂度区间[100,500]。与现有技术相比,本发明实施例具有以下优势:
首先,由于图像复杂度的计算是当前处理的待编码图像的图像复杂度,解决了现有技术中场景突变时,编码效果过差的问题,通过对待编码图像进行下采样,可以减少数据处理量,快速得到待编码图像的图像复杂度。
其次,在处理过程中引入边缘检测,确定出待编码图像的边缘信息,给属于边缘轮廓的宏块较小的QP值,从而保证了边缘轮廓的清晰度,改善边缘区域模糊不清晰的问题。
最后,对待编码图像进行下采样,特别是在计算宏块梯度值和宏块复杂度时,能够明显看出减少了图像数据处理量,提高了运算速度。
针对上述图3-图4的方法流程,下面给出一种图像编码装置200的可能的实现方式,该图像编码装置200可以采用上述实施例中的电子设备100的器件结构实现,也可以为该电子设备100中的处理器101实现,请参阅图5,图5示出了本发明实施例提供的图像编码装置的方框示意图。图像编码装置200包括处理模块201和生成模块202。
处理模块201,用于获得待编码图像的图像量化参数,其中,待编码图像包括多个宏块;对待编码图像进行边缘检测,得到待编码图像的边缘信息;依据边缘信息和图像量化参数,确定出待编码图像中每个宏块对应的宏块量化参数;
处理模块201执行获得待编码图像的图像量化参数的步骤,具体用于:获得待编码图像的图像比特数;依据图像比特数,以及图像比特数与图像量化参数的对应关系,得到图像比特数对应的图像量化参数。
边缘信息包括待编码图像中的每个宏块对应的宏块属性,宏块属性为边缘宏块和非边缘宏块中的一种,处理模块201执行对待编码图像进行边缘检测,得到待编码图像的边缘信息的步骤,具体用于:计算待编码图像中目标宏块的对应的宏块梯度值;将宏块梯度值与预设梯度值进行比较;当宏块梯度值大于预设梯度值时,判定宏块梯度值对应的目标宏块为边缘宏块;当宏块梯度值小于或等于预设梯度值时,判定宏块梯度值对应的目标宏块为非边缘宏块;重复上述步骤,遍历待编码图像中的每个宏块,得到待编码图像的边缘信息。
边缘信息包括待编码图像中的每个宏块对应的宏块属性,宏块属性为边缘宏块和非边缘宏块中的一种,处理模块201执行依据边缘信息和图像量化参数,确定出待编码图像中每个宏块对应的宏块量化参数的步骤,具体用于:当目标宏块对应的宏块属性为边缘宏块时,依据图像量化参数设置目标宏块对应的宏块量化参数;当目标宏块对应的宏块属性为非边缘宏块时,计算目标宏块对应的宏块参数变量,并依据宏块参数变量和图像量化参数得到目标宏块对应的宏块量化参数;重复上述步骤,遍历待编码图像中的每个宏块,确定出待编码图像中每个宏块对应的宏块量化参数。
在本发明实施例中,处理模块201执行依据图像量化参数设置目标宏块对应的宏块量化参数的步骤,具体用于:计算图像量化参数与预设差值参数的和,得到目标宏块对应的宏块量化参数。
在本发明实施例中,处理模块201执行依据宏块参数变量和图像量化参数得到目标宏块对应的宏块量化参数的步骤,具体用于:计算宏块参数变量与预设差值参数的乘积,再与图像量化参数相加,得到目标宏块对应的宏块参数变量。
在本发明实施例中,处理模块201执行计算目标宏块对应的宏块参数变量的步骤,具体用于:确定出待编码图像的多个复杂度区间;依据目标宏块的宏块复杂度,从多个复杂度区间中确定出目标宏块对应的目标复杂度区间;依据目标复杂度区间,从预设的区间对应表中确定出目标复杂度区间对应的宏块参数变量。
处理模块201执行确定出待编码图像的多个复杂度区间的步骤,具体用于:计算待编码图像中的每个宏块的宏块复杂度;对每个宏块的宏块复杂度求和,计算出待编码图像的图像复杂度;依据图像复杂度及预设比例参数,确定出多个复杂度区间。
在本发明实施例中,处理模块201还用于:对待编码图像进行下采样,以减少图像数据处理量。
生成模块202,用于依据每个宏块对应的宏块量化参数对待编码图像进行编码,以生成编码图像。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的图像编码装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本发明实施例提供一种图像编码方法及装置,所述方法包括:首先,获得待编码图像的图像量化参数;其次,对待编码图像进行边缘检测,得到待编码图像的边缘信息;然后,依据边缘信息和图像量化参数,确定出待编码图像中每个宏块对应的宏块量化参数;最后,依据每个宏块对应的宏块量化参数对待编码图像进行编码,以生成编码图像。与现有技术相比,本发明实施例具有以下优势:依据待编码图像的边缘信息和量化参数得到待编码图像中每个宏块对应的宏块量化参数,并依据每个宏块对应的宏块量化参数对待编码图像进行编码,以解决现有技术中边缘压缩过度、导致边缘模糊的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (5)
1.一种图像编码方法,其特征在于,所述方法包括:
获得待编码图像的图像比特数;
依据所述图像比特数,以及图像比特数与图像量化参数的对应关系,得到所述图像比特数对应的图像量化参数,其中,所述待编码图像包括多个宏块;
对所述待编码图像进行边缘检测,得到所述待编码图像的边缘信息;所述边缘信息包括所述待编码图像中的每个宏块对应的宏块属性,所述宏块属性为边缘宏块和非边缘宏块中的一种;
当所述待编码图像中的目标宏块对应的宏块属性为边缘宏块时,计算所述图像量化参数和预设差值参数的和,得到所述目标宏块对应的宏块量化参数;
当所述待编码图像中的目标宏块对应的宏块属性为非边缘宏块时,计算所述目标宏块对应的宏块参数变量,并计算所述宏块参数变量和预设差值参数的乘积,再与所述图像量化参数进行相加,得到所述目标宏块对应的宏块量化参数;所述宏块参数变量表示所述宏块量化参数的调整量;
遍历所述待编码图像中的每个宏块,确定出所述待编码图像中每个宏块对应的宏块量化参数;
依据每个宏块对应的宏块量化参数对所述待编码图像进行编码,以生成编码图像;
所述计算所述目标宏块对应的宏块参数变量的步骤,包括:
确定出所述待编码图像的多个复杂度区间;
依据所述目标宏块的宏块复杂度,从所述多个复杂度区间中确定出所述目标宏块对应的目标复杂度区间;
依据所述目标复杂度区间,从预设的区间对应表中确定出所述目标复杂度区间对应的宏块参数变量。
2.如权利要求1所述的方法,其特征在于,所述边缘信息包括所述待编码图像中的每个宏块对应的宏块属性,所述宏块属性为边缘宏块和非边缘宏块中的一种;所述对所述待编码图像进行边缘检测,得到所述待编码图像的边缘信息的步骤,包括:
计算所述待编码图像中目标宏块的对应的宏块梯度值;
将所述宏块梯度值与预设梯度值进行比较;
当所述宏块梯度值大于所述预设梯度值时,判定所述宏块梯度值对应的目标宏块为边缘宏块;
当所述宏块梯度值小于或等于所述预设梯度值时,判定所述宏块梯度值对应的目标宏块为非边缘宏块;
重复上述步骤,遍历所述待编码图像中的每个宏块,得到所述待编码图像的边缘信息。
3.如权利要求1所述的方法,其特征在于,所述确定出所述待编码图像的多个复杂度区间的步骤,包括:
计算所述待编码图像中的每个宏块的宏块复杂度;
对每个宏块的宏块复杂度求和,计算出所述待编码图像的图像复杂度;
依据所述图像复杂度及预设比例参数,确定出多个复杂度区间。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
对所述待编码图像进行下采样,以减少图像数据处理量。
5.一种图像编码装置,其特征在于,所述装置包括:
处理模块,用于获得待编码图像的图像比特数;依据所述图像比特数,以及图像比特数与图像量化参数的对应关系,得到所述图像比特数对应的图像量化参数,其中,所述待编码图像包括多个宏块;
对所述待编码图像进行边缘检测,得到所述待编码图像的边缘信息;所述边缘信息包括所述待编码图像中的每个宏块对应的宏块属性,所述宏块属性为边缘宏块和非边缘宏块中的一种;
当所述待编码图像中的目标宏块对应的宏块属性为边缘宏块时,计算所述图像量化参数和预设差值参数的和,得到所述目标宏块对应的宏块量化参数;
当所述待编码图像中的目标宏块对应的宏块属性为非边缘宏块时,计算所述目标宏块对应的宏块参数变量,并计算所述宏块参数变量和预设差值参数的乘积,再与所述图像量化参数进行相加,得到所述目标宏块对应的宏块量化参数;所述宏块参数变量表示所述宏块量化参数的调整量;
遍历所述待编码图像中的每个宏块,确定出所述待编码图像中每个宏块对应的宏块量化参数;
所述处理模块具体用于:确定出所述待编码图像的多个复杂度区间;
依据所述目标宏块的宏块复杂度,从所述多个复杂度区间中确定出所述目标宏块对应的目标复杂度区间;
依据所述目标复杂度区间,从预设的区间对应表中确定出所述目标复杂度区间对应的宏块参数变量;
生成模块,用于依据每个宏块对应的宏块量化参数对所述待编码图像进行编码,以生成编码图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910353036.0A CN110062230B (zh) | 2019-04-29 | 2019-04-29 | 图像编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910353036.0A CN110062230B (zh) | 2019-04-29 | 2019-04-29 | 图像编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110062230A CN110062230A (zh) | 2019-07-26 |
CN110062230B true CN110062230B (zh) | 2022-03-25 |
Family
ID=67321385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910353036.0A Active CN110062230B (zh) | 2019-04-29 | 2019-04-29 | 图像编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110062230B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112399069B (zh) * | 2019-08-16 | 2022-06-07 | RealMe重庆移动通信有限公司 | 图像编码方法及装置、存储介质、电子设备 |
CN112004090B (zh) * | 2020-07-14 | 2024-09-10 | 浙江大华技术股份有限公司 | 目标边界确定方法、计算机设备及存储介质 |
CN114845105A (zh) * | 2021-02-01 | 2022-08-02 | 阿里巴巴集团控股有限公司 | 编码方法、装置、设备和存储介质 |
CN114554204A (zh) * | 2022-01-20 | 2022-05-27 | 珠海全志科技股份有限公司 | 一种编码图像画质调节方法及装置 |
CN114531594B (zh) * | 2022-02-16 | 2023-05-26 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184221A (zh) * | 2007-12-06 | 2008-05-21 | 上海大学 | 基于视觉关注度的视频编码方法 |
CN101330631A (zh) * | 2008-07-18 | 2008-12-24 | 浙江大学 | 一种立体电视系统中深度图像的编码方法 |
CN101374242A (zh) * | 2008-07-29 | 2009-02-25 | 宁波大学 | 一种应用于3dtv与ftv系统的深度图编码压缩方法 |
CN101945275A (zh) * | 2010-08-18 | 2011-01-12 | 镇江唐桥微电子有限公司 | 一种基于感兴趣区域的视频编码方法 |
CN105744271A (zh) * | 2016-02-17 | 2016-07-06 | 浙江大华技术股份有限公司 | 一种视频编码方法和装置 |
CN108174210A (zh) * | 2018-02-09 | 2018-06-15 | 杭州雄迈集成电路技术有限公司 | 一种适用于视频压缩的自适应宏块级码率控制系统及控制方法 |
CN108769693A (zh) * | 2011-06-10 | 2018-11-06 | 茨特里克斯系统公司 | 质量感知视频优化中的宏块级自适应量化 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180074150A (ko) * | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치 |
-
2019
- 2019-04-29 CN CN201910353036.0A patent/CN110062230B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184221A (zh) * | 2007-12-06 | 2008-05-21 | 上海大学 | 基于视觉关注度的视频编码方法 |
CN101330631A (zh) * | 2008-07-18 | 2008-12-24 | 浙江大学 | 一种立体电视系统中深度图像的编码方法 |
CN101374242A (zh) * | 2008-07-29 | 2009-02-25 | 宁波大学 | 一种应用于3dtv与ftv系统的深度图编码压缩方法 |
CN101945275A (zh) * | 2010-08-18 | 2011-01-12 | 镇江唐桥微电子有限公司 | 一种基于感兴趣区域的视频编码方法 |
CN108769693A (zh) * | 2011-06-10 | 2018-11-06 | 茨特里克斯系统公司 | 质量感知视频优化中的宏块级自适应量化 |
CN105744271A (zh) * | 2016-02-17 | 2016-07-06 | 浙江大华技术股份有限公司 | 一种视频编码方法和装置 |
CN108174210A (zh) * | 2018-02-09 | 2018-06-15 | 杭州雄迈集成电路技术有限公司 | 一种适用于视频压缩的自适应宏块级码率控制系统及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110062230A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110062230B (zh) | 图像编码方法及装置 | |
US8244054B2 (en) | Method, apparatus and integrated circuit capable of reducing image ringing noise | |
US10013772B2 (en) | Method of controlling a quality measure and system thereof | |
WO2002102086A2 (en) | Apparatus and method for adaptive spatial segmentation-based noise reducing for encoded image signal | |
WO2019104635A1 (en) | System and method for controlling video coding at frame level | |
WO2021093060A1 (zh) | 一种视频编码方法、系统及设备 | |
US20200275103A1 (en) | System and method for controlling video coding within image frame | |
US20160316203A1 (en) | Adaptive pre-filtering based on video complexity and output bit rate | |
US10911785B2 (en) | Intelligent compression of grainy video content | |
CN112437301B (zh) | 一种面向视觉分析的码率控制方法、装置、存储介质及终端 | |
KR102696322B1 (ko) | 비디오 압축을 위한 전처리 | |
CN114051139A (zh) | 视频编码方法和装置 | |
CN110956594A (zh) | 图像滤波方法、装置、电子设备及存储介质 | |
CN110740324B (zh) | 编码控制方法及相关装置 | |
CN116567246A (zh) | Avc编码方法和装置 | |
CN115955564A (zh) | 一种视频编码方法、装置、设备和介质 | |
CN115311161B (zh) | 基于人工智能的图像增强方法、装置、设备以及存储介质 | |
CN115802038A (zh) | 一种量化参数确定方法、装置及一种视频编码方法、装置 | |
CN111836044A (zh) | 决定量化参数的方法 | |
CN113038135B (zh) | 基于块效应检测的crf自适应方法 | |
US11102488B2 (en) | Multi-scale metric-based encoding | |
CN111988612A (zh) | 一种视频编码处理方法、装置及电子设备 | |
US20180048897A1 (en) | Method and apparatus for coding a video into a bitstream | |
CN113055669B (zh) | 一种编码前的图像滤波方法及装置 | |
US11595661B2 (en) | Encoding amount estimation apparatus, encoding amount estimation method and encoding amount estimation program |
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 |