CN116527909A - 编码参数的传输方法、装置、设备、存储介质及程序产品 - Google Patents
编码参数的传输方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN116527909A CN116527909A CN202310416726.2A CN202310416726A CN116527909A CN 116527909 A CN116527909 A CN 116527909A CN 202310416726 A CN202310416726 A CN 202310416726A CN 116527909 A CN116527909 A CN 116527909A
- Authority
- CN
- China
- Prior art keywords
- image
- coding
- target
- coding unit
- encoding
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 132
- 238000013139 quantization Methods 0.000 claims abstract description 235
- 238000012545 processing Methods 0.000 claims abstract description 132
- 230000006870 function Effects 0.000 claims description 157
- 230000005540 biological transmission Effects 0.000 claims description 57
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 37
- 230000006835 compression Effects 0.000 abstract description 28
- 238000007906 compression Methods 0.000 abstract description 28
- 230000008569 process Effects 0.000 description 54
- 230000009466 transformation Effects 0.000 description 37
- 230000003044 adaptive effect Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 10
- 230000008901 benefit Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 230000005484 gravity Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供了编码参数的传输方法、装置、设备、存储介质及程序产品,该方法包括:获取图像中目标图像编码单元的量化系数增量;根据量化系数增量与率失真系数的关联关系,以及目标图像编码单元的量化系数增量,确定目标率失真系数;根据目标率失真系数确定目标图像编码单元的目标代价函数;根据目标代价函数从多种编码模式中确定目标图像编码单元的编码模式;将编码模式指示的编码参数和图像的量化系数传输至解码端,以使解码端基于编码参数和图像的量化系数进行解码处理,得到目标图像编码单元对应的图像块。采用本申请实施例,可以在保证压缩效果的同时减小传输编码参数的开销,提高压缩率。
Description
技术领域
本申请涉及视频编解码技术,具体涉及编码参数的传输方法、编码参数的传输装置、编码参数的传输设备、计算机可读存储介质及计算机程序产品。
背景技术
随着互联网技术的发展,短视频内容、网络会议、直播等视频业务逐渐增多,视频以其直观和内容丰富的特点逐渐被广泛应用在人们日常生活中的方方面面,逐渐成为人们获取资讯的主要方式之一。其中,视频信号由多帧图像构成,由于多帧图像包括的数据量较大,需要较大的存储空间对视频信号进行存储,也需要较大的带宽容量来传输视频信号。因此,在视频信号传输和存储之前,电子设备通常会对视频信号进行压缩来减少用于表示该视频信号所需的数据量。
目前,视频编码的方式是通过预测、变换、量化、熵编码等步骤来实现对视频信号的压缩编码。在量化的过程中,为了考虑视频信号中不同图像区域的重要性程度,为不同图像区域采用不同的量化参数(Quant Parameter,QP)来获得更好的压缩效果。在视频码率较小的情况下,需要为每一个图像区域传输的QP所需传输的数据量较大,增大了编码的开销。
因此,如何在保证压缩效果的同时,降低QP的编码开销,成为当前亟需解决的技术问题。
发明内容
本申请实施例提供了编码参数的传输方法、装置、设备、存储介质及程序产品,可以在保证压缩效果的同时减小传输编码参数的开销,提高压缩率。
第一方面,本申请实施例提供了一种编码参数的传输方法,该方法包括:
获取图像中目标图像编码单元的量化系数增量,上述目标图像编码单元为上述图像划分的多个图像编码单元中的任一图像编码单元;
根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数;
根据上述目标率失真系数确定上述目标图像编码单元的目标代价函数;其中,上述目标代价函数为将初始率失真系数替换为上述目标率失真系数的代价函数;
根据上述目标代价函数从多种编码模式中确定上述目标图像编码单元的编码模式;
将上述编码模式指示的编码参数和上述图像的量化系数传输至解码端,以使上述解码端基于上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
第二方面,本申请实施例提供了一种编码参数的传输方法,该方法包括:
接收来自编码端的编码参数和图像的量化系数,上述编码参数为上述图像中的目标图像编码单元的编码模式指示的编码参数,上述目标图像编码单元为上述图像划分的多个图像编码单元中的任一图像编码单元;
根据上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
第三方面,本申请实施例提供了一种编码参数的传输装置,该装置包括:
获取单元,用于获取图像中目标图像编码单元的量化系数增量,上述目标图像编码单元为上述图像划分的多个图像编码单元中的任一图像编码单元;
确定单元,用于根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数;
上述确定单元,还用于根据上述目标率失真系数确定上述目标图像编码单元的目标代价函数;其中,上述目标代价函数为将初始率失真系数替换为上述目标率失真系数的代价函数;
上述确定单元,还用于根据上述目标代价函数从多种编码模式中确定上述目标图像编码单元的编码模式;
传输单元,用于将上述编码模式指示的编码参数和上述图像的量化系数传输至解码端,以使上述解码端基于上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
第四方面,本申请实施例提供了一种编码参数的传输装置,该装置包括:
接收单元,用于接收来自编码端的编码参数和图像的量化系数,上述编码参数为上述图像中的目标图像编码单元的编码模式指示的编码参数,上述目标图像编码单元为上述图像划分的多个图像编码单元中的任一图像编码单元;
解码单元,用于根据上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
第五单元,本申请实施例提供了一种编码参数的传输设备,包括处理器、通信接口和存储器,上述处理器、上述通信接口和上述存储器相互连接,其中,上述存储器存储有可执行程序代码,上述处理器用于调用上述可执行程序代码,实行上述第一方面或者第二方面提供的编码参数的传输方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时,实现上述第一方面或者第二方面提供的编码参数的传输方法。
第七方面,本申请实施例还提供了一种计算机程序产品,上述计算机程序产品包括计算机程序或计算机指令,上述计算机程序或计算机指令被处理器执行时实现上述第一方面或者第二方面提供的编码参数的传输方法。
在本申请实施例中,编码端可以通过获取图像中图像编码单元的量化系数增量,进而确定图像编码单元的目标率失真系数,再确定图像编码单元的目标代价函数。基于目标代价函数编码单元可以确定该图像编码单元的编码模式,并将该编码模式的编码参数和图像的量化系数传输至解码端,以使解码端进行解码处理,得到图像编码单元对应的图像块。可见,一方面,编码端可以通过确定用目标率失真系数替代初始率失真系数的目标代价函数来重新选择编码模式,可以保证在图像的量化系数的基础上也可以实现图像编码单元级自适应量化的效果。另一方面,仅传输图像的量化系数,以及部分大于设定尺寸阈值的编码单元的量化系数,无需传输所有编码单元的量化系数,可以节省编码量化系数所需的码率,提高了编码单元级的压缩率收益。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种编码参数的传输系统的架构示意图;
图2是本申请实施例提供的一种编码参数的传输方法的流程示意图;
图3是本申请实施例提供的一种编码参数的传输方法的场景示意图;
图4是本申请实施例提供的另一种编码参数的传输方法的流程示意图;
图5是本申请实施例提供的一种编码参数的传输方法的时序示意图;
图6是本申请实施例提供的另一种编码参数的传输方法的时序示意图;
图7是本申请实施例提供的又一种编码参数的传输方法的流程示意图;
图8是本申请实施例提供的一种编码参数的传输装置的结构示意图;
图9是本申请实施例提供的另一种编码参数的传输装置的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图;
图11是本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1、编码单元(Coding Unit,CU)
CU是指在视频编码的过程中,将视频包括的图像序列中每一个图像分割为的不重叠的图像区域。CU是多功能视频编码(Versatile Video Coding,VVC)标准中编码最小的单元,CU可以是对图像进行编码的基本单元。
应用于本申请实施例中,CU也可以称为图像编码单元,目标图像编码单元为一个视频中的任一CU。编码端可以以CU为单位进行处理和编码,并得到每个CU的码流,从而基于图像中每个CU的码流,可以的得到该图像的码流,进一步的根据视频包括的图像序列中每个图像的码流,可以得到视频的码流。
2、量化系数(Quantization Parameter,QP)
QP也可以称为量化参数,可以为决定量化的参数,量化处理可以用于去除高频信息。其中,QP可以与帧对应,即视频中每个图像帧分别对应一个QP,QP也可以与CU对应,一个CU可以对应一个QP,每个CU的QP可以相同或者不同。QP的大小决定的量化的精细程度,QP越大量化越粗糙,反之,QP越小量化越精细。
应用于本申请实施例中,可以采用自适应量化技术获取每个CU对应的QP,即一个CU对应一个QP,由此可以引入更细粒度的自适应量化选择,也可以考虑到CU的重要性分布。
3、量化系数增量(Delta Quant Parameter,DQP)
DQP是指在CU级QP中,CU所采用的QP与预测QP的差值。其中,预测QP是基于一定的算法结合帧级QP(图像QP)的值以及在该CU之前的一个或多个CU的QP计算出的值。
应用于本申请实施例中,预测QP可以称为参考图像编码单元的QP。编码端可以基于DQP确定该CU对应的目标代价函数,并基于目标代价函数来选择该CU的编码模式,并可以进一步确定编码模式指示的编码参数。
4、率失真系数(Lambda,λ)
率失真系数是指在代价函数中的一个权重,决定了率失真函数中失真值D与编码所需的比特数R的比重情况,率失真函数也称为代价函数,包括编码代价与失真值D和编码所需的比特数R之间的映射关系。其中,失真值D可以是原始CU的图像和基于某一种编码模式重构的CU的差异计算出的值,编码所需的比特数R可以是在该编码模式下,编码的实际码流,即码字符号的数量。基于代价函数可以从多种编码模式中选择一种编码模式。
应用于本申请实施例中,编码端在对视频中的CU进行编码的过程中,为了确定的每个CU的编码模式,可以基于代价函数,确定基于代价函数确定出最小代价最小的编码模式作为该CU的编码模式。
5、率失真系数权重(Delta Lambda)
率失真系数权重也可以称为可变的率失真系数,为编码端确定的CU对应的率失真系数中的一个中间参数。
应用在本申请实施例中,编码端可以根据量化系数增量确定率失真系数权重,进而基于率失真系数权重和初始率失真系数确定代价函数,该代价函数为某一CU的代价函数,进而编码端可以基于代价函数从多种编码模式中选择一种编码模式。
6、视频编码
视频编码是指对视频信号进行压缩来减少用于表示该视频信号所需的数据量,以达到减少传输和存储的数据量,节省存储空间,也提高了传输效率的效果。其中,视频编码由编码端执行,视频编码的对象是形成视频信号或者视频信号中包括的图像序列,在视频编解码领域,视频信号包括的图像序列中,图像(image)可以称为图片(picture),也可以称为图像帧(frame)。编码端对图像进行编码处理,并将编码后的编码参数发送至解码端,由解码端基于编码参数进行解码处理,得到解码出的视频。具体的,编码端对视频信号进行编码包括图像分区、预测、变换、量化、环路滤波以及熵编码。
应用于本申请实施例中,编码端可以对视频中的图像进行编码,进而将该视频对应的编码参数传输至解码端,以使解码端可以基于编码参数进行解码。
(1)图像分区
图像分区是指将视频信号中的图像序列中每一个图像分割成多个不重叠的图像区域,其中,视频信号中的图像可以被划分为切片(slice),切片进一步可以被分割为块(block),视频编码可以以块为单位进行编码处理。在不同视频编码标准中,块的概念可以被进一步扩展。以高性能视频编码(High Efficienc y Video Coding,HEVC)标准、VVC标准为例,块的概念可以被扩展为编码树单元(Coding Tree Unit,CTU),CTU还可以按照四叉树进行划分的划分,得到一个或多个CU,CU是一个编码环节中最基本的元素,可以是对编码图像进行划分和编码的基本单元。可选地,CU可以是正方形或者矩形的形状。视频编码是指以CU为单位,逐CU进行编码,组织成连续的视频码流。
应用于本申请实施例中,CU为视频的某一图像帧中的某个图像区域,CU可以称为图像编码单元,目标图像编码单元为该图像帧(图像)中任一图像编码单元。编码端可以基于CU进行预测、变换、量化和熵编码。其中,编码单元具有各种大小,如16×16或者64×64,本申请对编码单元的大小不做限定。
(2)预测
预测是指根据离散信号之间存在着一定的关联性的特定,利用前面一个或多个信号预测下一个信号进行编码的方式。其中,预测的方式包括帧内预测和帧间预测等方式。所谓帧内预测是指由于一个图像帧中包含很多颜色相同或相似的区域,因此可以利用同一帧中的像素值来进行预测,即在一个图像帧中做预测,以减小空间冗余。所谓帧间预测是指视频中包含很多只有一点小小改变的图像帧,因此可以利用相邻帧(例如前一个图像帧)中的像素值来进行预测,例如对一系列组图如一段连续的运动动作的视频做运动轨迹预测,以减小时间冗余。其中,帧内预测和帧间预测均包括多种编码模式,编码器可以针对CU根据代价函数计算出每种帧内预测的编码模式和/或每种帧间预测的编码模式所需的编码代价,从而基于编码代价确定最小编码代价对应的编码模式,即该CU对应的编码模式。
应用于本申请实施例中,针对每个CU而言,可以基于代价函数从多种不同的编码模式中选择一种编码模式,从而可以得到针对该编码模式指示的编码参数,其中,编码参数可以包括编码模式信息和残差信息,编码端或者解码端均可以基于编码模式信息构建出的图像编码单元,称为构建图像单元,相当于恢复出的CU的图像(视频编码的过程为有损编码),由此可以确定残差信息,该残差信息为CU原始图像和构建图像单元的差异。进而可以将每个CU的编码参数汇总起来,得到视频的编码参数。
(3)变换(Transform)
由于人眼对低频信息较为敏感,对高频信息相对不敏感,因此,可以通过变换的方式,将图像从空域转换到频率,从而可以分离出图像的高频部分和低频部分。具体的,变换可以是离散傅里叶变换(Discrete Fourier Transform,DF T),也可以是离散余弦变换(Discrete Cosine Transform,DCT)。其中,对于CU而言,做变换的对象为CU的原始图像与构建图像单元的残差信息,这是由于编码端仅传输残差信息,因此可以继续对残差信息进行继续压缩,即对残差信息进行变换处理。在变换处理之后,变换矩阵中的每一个元素可以称为变换系数,变换矩阵中左上部分的变换系数为低频部分,右下部分的变换系数为高频部分。进一步地,可以对变换处理得到的变换矩形进行“Z”字形扫描,这样得到的像素串中,前面部分为数值较大的低频部分,后面部分为数值较小的高频部分。
应用于本申请实施例中,编码端可以对残差信息进行变换处理,例如DCT变换处理,得到变换后的变换矩阵,并可以进行进一步的压缩处理。解码端可以在得到变换矩阵之后,对变换矩阵进行反变换处理,得到残差信息,由此,可以进一步进行解码处理。
(4)量化(Quantization)
在得到变换矩阵之后,编码端可以通过一种手段去除人眼不太敏感的高频信息,这种手段即为量化,所谓量化处理的过程可以是使变换矩阵中每个元素除以一个值,这个值可以称为量化步长(Quantization Step,QStep),QStep可以由QP来决定,QP和QStep有一一对应的关系,在确定QP的值之后,可以通过查表来确定QStep的值。针对编码端而言,较小的QP可以对应较小的QSt ep,对应较精细的量化,可以保留更多的细节,带来较小的失真,并且较大的码率。同样的,较大的QP对应较大的QStep,对应较粗糙的量化,带来较大的失真,较小的码率。可以理解的是,量化处理为有损压缩的处理。
应用于本申请实施例中,编码端可以对变换矩阵进行量化。其中,编码端可以通过自适应量化技术确定每个CU可以分别对应一个QP的值,各个CU对应的QP的值可以不同也可以相同,因此可以基于每个CU对应的QP确定每个CU对应的QStep,再根据变换矩阵中每个元素可以对应每个CU的残差信息,和每个CU的QP对应的QStep,确定量化处理的结果。解码端可以基于QP确定QStep从而可以进行反量化处理。
(5)环路滤波(Loop Filtering)
环路滤波是指在使用帧间预测方式进行预测时,进过变换处理和量化处理的信号,进行反量化、反变换处理得到重构的图像,重构的图像相比原始图像来说,存在量化处理,即有损压缩的影响,重构的图像和原始图像中存在部分图像信息不同,这就是重构图像产生的失真。为了减少将重构的图像作为参考图像对后续预测的影响,可以对重构的图像进行滤波,由于该滤波的操作在编码环路内,所以可以称为环路滤波。具体的,可以通过滤波器对重构的图像进行滤波,滤波器例如可以是去块滤波器、样本自适应偏移(Sample-Adaptive Of fset,SAO)滤波器、双边滤波器、自适应环路滤波器(Adaptive Loop Filter,ALF)、锐化或平滑滤波器、协同滤波器。可以理解的是,通过对重构的图像进行滤波后再作为后续的编码图像的参考帧图像进行预测,可以降低量化带来的失真影响。
应用在本申请实施例中,编码端可以在做预测时,特别是在帧间预测时,可以对已经变换处理和量化处理后的图像进行反量化处理和反变换处理,进而得到重构的图像,进而可以对重构的图像进行滤波处理,并将滤波后的图像作为参考帧图像对在该图像之后的图像信号进行预测。
(6)熵编码(Entropy Coding)
熵编码是指把用来表示视频序列的符号转变为一个用来传输或存储的压缩码流,以去除信息熵冗余,从而达到压缩的目的。输入的符号为编码参数,编码参数可以包括量化后的变换系数(残差信息)、运动矢量数据(编码模式信息)以及其他附加信息,如用于正确解码的标记位信息、头信息等。其中,熵编码的方式主要包括变长编码(Variable LengthCoding,VLC)和算术编码(Arithmetic Coding)。VLC例如可以包括霍夫曼编码(HuffmanCoding)、香农-费诺编码。算术编码包括上下文的二值化算术编码(Content AdaptiveBinary Arithmetic Coding,CABAC)、指数编码等。可以理解的是,编码端采用的熵编码的方式可以告知解码端,解码端可以基于编码端的编码方式进行解码。
应用在本申请实施例中,编码端可以将一个视频中每个CU对应的编码参数进行熵编码处理,进而将编码后的编码信息传输至解码端,进而解码端可以基于编码信息进行解码处理,得到编码参数,进而可以进行重构得到每个CU对应的图像块,进而得到视频。
本申请实施例提出一种编码参数的传输方案,可应用于视频编解码领域,视频传输、视频存储等场景或者领域中,具体可以用于视频编码的任务中,所谓视频编码任务是视频的编码端对将视频信号转换为数字信号并去除视频信号中的冗余数据来减少用于表示视频的数据量,并将编码后的用于表示该视频的数据存储起来或者传输至视频解码端,以使解码端可以获取到用于表示该视频的数据并解码得到视频的任务。具体的,编码端可以获取视频中的图像序列中某一图像帧的目标图像编码单元的量化系数增量,并根据量化系数增量和率失真系数的关联关系,确定标图像编码单元的目标率失真系数,并基于目标率失真系数确定目标图像编码单元的目标代价函数,并根据目标代价函数选择目标图像编码单元的编码模式。进而编码端可以将编码模式指示的编码参数和该图像帧的QP传输至解码端,以使解码端基于编码参数和QP进行解码处理,得到目标图像编码单元对应的图像块。编码端可以对视频中多个CU执行如此操作,可以得到整个视频的编码参数,进而编码端可以将视频的编码参数传输至解码端。由此可见,编码端可以在每个CU分别对应一个QP的场景中,针对目标图像编码单元直接使用预测QP,无需传输当前编码单元(目标图像编码单元)的QP信息(即DQP),用确定的目标率失真系数确定目标代价函数选取适用于图像帧QP的编码模式,从而可以不传输该目标图像编码单元的,节省编码量化系数所需的码率,降低了编码单元级的压缩率收益。
本申请实施例提出的编码参数的传输方案涉及云计算、云存储等技术,其中:
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
基于上述描述,请参阅图1,图1是本申请实施例提供的一种编码参数的传输系统的架构示意图,如图1所示,该编码参数的传输系统可以包括视频编码设备101以及视频解码设备102。其中,视频编码设备101为视频数据的编码端,视频解码设备102为视频数据的解码端。视频编码设备101可以分别与视频解码设备102通过有线或无线的方式进行直接或间接的连接。需要说明的是,图1所示的设备数量和形态用于举例,并不构成对本申请实施例的限定,实际应用中该编码参数的传输系统可以仅包括多个电子设备,如多个视频编码设备和多个视频解码设备。本申请实施例以一个视频编码设备101和一个视频解码设备102为例进行绘制和讲解。
可选地,视频编码设备101和视频解码设备102可以为同一电子设备,也可以为两个不同的电子设备,本申请对此不做限定。可以理解的是,在本申请实施例中,“编码端”、“解码端”只是本申请实施例中所使用的一个次数,“编码端”代表的含义即为视频编码设备,“解码端”代表的含义即为视频解码设备,其名称并不能对本实施例构成任何限制。
如图1所示,视频编码设备101可以获取视频信号,进而对该视频进行压缩编码。为了获得较好的压缩能力,可以针对视频中每一个图像帧中的每一个CU确定一个QP来实现,视频编码设备101可以获取视频中每一个图像帧中的每一个CU的QP,若需要将每个CU的QP都传输到视频解码设备102则需要传输较多的数据量,增加了编码的开销。
具体的,视频编码设备101可以获取视频中的图像中的任一CU的DQP,即目标图像编码单元的DQP,并基于量化系数增量与率失真系数的关联关系,确定目标图像编码单元的目标率失真系数,进而视频编码设备101可以基于目标率失真系数确定目标代价函数,并根据目标代价函数从多种编码模式中可以确定该目标图像编码单元的编码模式。由此,视频编码设备101可以将编码模式指示的编码参数和图像的QP传输至视频解码设备102,针对该目标图像编码单元,视频解码设备102可以基于编码参数和图像的QP进行解码处理,得到该目标图像编码单元对应的图像块。视频解码设备102可以接收来自视频编码设备101传输的编码参数和图像的QP,进而视频解码设备102可以根据编码参数和图像的QP进行解码处理,得到目标图像编码单元对应的图像块。针对视频,视频编码设备101可以将视频的编码参数和每一个图像帧的QP传输至视频解码设备102,视频解码设备102可以基于编码参数和图像的QP进行解码处理,得到该视频。
其中,上述电子设备,例如视频编码设备101和视频解码设备102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等等,但不局限于此。上述视频编码设备101和视频解码设备102还可以是服务器,例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Conte nt Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,上述视频编码设备101可以是具有获取视频信号的视频,例如可以是拍摄设备,可以拍摄视频,并且,视频编码设备101也可以是具有显示功能的设备,可以显示该视频的画面。可选地,上述视频解码设备102也可以是具有显示功能的设备,在根据视频编码设备101传输的参数进行解码处理,得到视频后,可以播放视频,显示视频包括的图像。
通过上述编码参数的传输系统,视频编码设备可以通过获取图像中图像编码单元的量化系数增量,进而确定图像编码单元的目标率失真系数,再确定图像编码单元的目标代价函数。基于目标代价函数编码单元可以确定该图像编码单元的编码模式,并将该编码模式的编码参数和图像的量化系数传输至视频解码设备,以使视频解码设备进行解码处理,得到图像编码单元对应的图像块。可见,一方面,视频编码设备可以通过确定用目标率失真系数替代初始率失真系数的目标代价函数来重新选择编码模式,可以保证在图像的量化系数的基础上也可以实现图像编码单元级自适应量化的效果。另一方面,仅传输图像的量化系数,而非图像中各个编码单元的量化系数,可以节省编码量化系数所需的码率,降低了编码单元级的压缩率收益。
在一个实现方式中,上述视频、视频中每个图像帧中的每个CU的QP、CU的量化系数增量、目标代价函数、编码模式指示的编码参数、图像的QP以及视频信号均可保存在区块链中,可以防止视频中每个图像帧中的每个CU的QP、CU的量化系数增量、目标代价函数、编码模式指示的编码参数、图像的QP以及视频信号被篡改。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
可以理解的是,本申请实施例描述的编码参数的传输系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述编码参数的传输方案和编码参数的传输系统,本申请实施例提供了一种编码参数的传输方法,本申请实施例提供的编码参数的传输方法可由编码端和解码端进行交互实现,该编码端可以是图1所示的编码参数的传输系统中的视频编码设备101,该解码端可以是图1所示的编码参数的传输系统中的视频解码设备102。若该视频编码设备和视频解码设备中一个或多个设备为服务器时,可以是专用的服务器,也可以是某些互联网应用服务器,通过该互联网应用服务器不仅可以执行本申请实施例的相关步骤,还可以提供其他服务。请参阅图2,图2是本申请实施例提供的一种编码参数的传输方法的流程示意图,该编码参数的传输方法包括以下步骤S201-步骤S205:
S201、编码端获取图像中目标图像编码单元的量化系数增量。
在本申请实施例中,编码端可以获取视频信号(视频),例如拍摄视频、获取网络视频,如网络视频会议等,编码端在对该视频进行编码处理之前,可以先对该视频进行预分析处理。具体地,预分析处理可以包括编码端将视频中包括的图像序列进行图像分区处理,得到视频中每个图像帧(图像)包括的多个CU。其中,目标图像编码单元为视频中多个图像帧包括的多个CU中的任一个CU。进而,编码端可以获取该视频中每个图像帧的QP,以及基于每个图像帧包括的多个CU中每个CU的重要性,来确定每个CU的QP。这是由于QP表示量化的精细程度,若该CU比较重要,则该CU的QP较小,可以使得该CU的量化更为精细,若该CU不太重要,则该CU的QP较大,可以使得该CU的量化更为粗糙,从而节省编码的码字符号。
其中,为了解码端能解码处理得到最优的重构效果,编码端需要将每个图像帧(图像)包括的每个CU的QP均传输到解码端来进行解码处理,这种方式使得编码端需要编码的码字符号的数量较多,需要传输的数据量较大。由此,本申请实施例提出的编码参数的传输方法可以通过CU的预测QP确定CU的代价函数,进而确定CU的编码模式来近似达到与CU对应的QP相近的效果,并且针对该CU无需传输其QP信息,仅需要传输该CU所在图像帧(图像)的QP即可,可以在保证解码端解码出的图像效果不变的情况下,节省传输的数据量。
在本申请实施例中,以一个CU(即目标图像编码单元)为例进行讲解,编码端可以获取确定的该目标图像编码单元的QP,进而根据该目标图像编码单元的QP和参考图像编码单元的QP确定目标图像编码单元的DQP,该DQP可以表示该目标编码单元的QP的偏移,后续可以用其他参数(率失真系数权重)来达到与该偏移近似的效果,则可以保证解码端重构的效果的情况下减少传输的数据量。
其中,该参考图像编码单元的QP可以是该目标图像编码单元的预测QP,该预测QP可以是基于相邻的一个或多个CU的QP确定,也可以是基于该目标图像编码单元所在的图像的QP确定的。具体的,该目标图像编码单元的DQP可以是该目标图像编码单元的QP与参考图像编码单元的QP的差。由此,编码端在确定目标图像编码单元的DQP之后,可以基于目标图像编码单元的DQP确定该目标图像编码单元的代价函数,以确定编码模式。
S202、编码端根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数。
在本申请实施例中,编码端可以获取DQP与Lambda(λ)的关联关系,该关联关系可以是编码端存储的,也可以是编码端获取到的,本申请对此不做限定。由此,基于目标图像编码单元的DQP以及该关联关系,可以确定该目标图像编码单元的Lambda(λ),该目标图像编码单元的Lambda(λ)可以用于确定目标图像编码单元的代价函数,该目标图像编码单元的Lambda(λ)可以称为目标率失真系数。需要说明的是,对于目标图像编码单元而言,该目标图像编码单元的DQP可以表示该目标图像编码单元的偏移,则编码端可以通过一个基准的Lambda(λ)和一个率失真系数权重,来确定一个目标率失真系数,该目标率失真系数即为目标图像编码单元的Lambda(λ)。其中,该基准的Lambda(λ)表示基于图像帧的QP的效果,率失真系数权重表示基于该目标图像编码单元的DQP的效果,相当于用率失真系数权重来替换目标图像编码单元DQP的方式确定目标率失真系数。其中,目标率失真系数可以用于替代初始的代价函数中Lambda(λ),从而得到目标图像编码单元的目标代价函数。
在一种可能的实现方式中,由于目标图像编码单元的DQP可以表示该目标编码单元的QP的偏移,则可以通过率失真系数权重来达到与DQP的类似的效果,即用率失真系数权重来模拟该偏移的效果,从而可以用率失真系数权重来确定目标率失真系数来替代代价函数中的Lambda(λ)。其中,编码端可以首先根据QP与Lambda(λ)的对应关系,以及该图像帧的QP,确定该目标图像编码单元的初始率失真系数,该初始率失真系数即为上述基准的Lambda(λ)。进而,编码端可以根据DQP与率失真系数权重的对应关系,以及该目标图像编码单元的DQP确定该目标图像编码单元的率失真系数权重,最终,编码端可以根据初始率失真系数和该率失真系数权重,确定目标率失真系数。
S203、编码端根据上述目标率失真系数确定上述目标图像编码单元的目标代价函数。
在本申请实施例中,代价函数可以包括编码模式的编码代价与失真值D和编码所需的比特数R的对应关系。代价函数的意义可以表示针对某一CU,如目标图像编码单元采用的编码模式为编码模式A的情况下,所需的编码代价,该编码代价由基于该目标图像编码单元的原始图像和基于该编码模式重构出的重构图像编码单元之间的差异得到的失真值,和在该编码模式A的情况下所需的比特数构成。其中,Lambda(λ)决定了该代价函数中D和R的比重情况,其数学定义为D与R的导数的负数,即Lambda(λ)表征了在该目标图像编码单元采用编码模式A的情况下,单位码率增加带来的失真下降。可以理解的是,当编码目标图像编码单元的比特数增加,即用于编码该目标图像编码单元的码字符号的数量增加(即比特数增加),则重构出的重构图像编码单元与目标图像编码单元的原始图像之间的差异越小。反之,若比特流减少,则该失真值越大。
其中,代价函数中的初始率失真系数可以是编码端基于QP与Lambda(λ)的对应关系确定的,当QP存在偏移,则根据QP与Lambda(λ)的对应关系,当QP发生变化时,Lambda(λ)也会发生变化。因此,编码端可以用新的率失真系数去替代初始率失真系数,从而达到偏移后的QP的效果,该新的率失真系数即为上述确定的目标率失真系数。进而,编码端可以基于目标率失真系数确定目标代价函数,即目标代价函数为将初始率失真系数替换为目标率失真系数的代价函数。进而,编码端再根据目标代价函数来确定该CU(如目标图像编码单元)的编码模式。
S204、编码端根据上述目标代价函数从多种编码模式中确定上述目标图像编码单元的编码模式。
在本申请实施例中,编码端在编码处理的过程中可以基于目标代价函数确定目标图像编码单元的编码模式。具体的,编码端可以遍历多种编码模式,确定目标图像编码单元按照当前遍历的编码模式对目标图像编码单元进行编码处理得到的参考编码参数,进而编码端可以根据参考编码参数对目标图像编码单元进行重构,得到重构图像编码单元。基于目标图像编码单元的原始图像(即目标图像编码单元本身)和重构图像编码单元的差异,可以确定该目标图像编码单元的失真值。由此,根据目标代价函数中包括的编码模式的编码代价与失真值D和编码所需的比特数R的对应关系,以及在当前遍历的编码模式的失真值、参考编码参数中包含的码字符号的数量,得到当前遍历的编码模式的编码代价。编码模式在遍历结束后,可以将编码代价最小的编码模式确定为该目标图像编码单元的编码模式。
需要说明的是,由于针对目标图像编码单元所采用的是目标代价函数而非代价函数,因此,编码端基于目标代价函数确定出的编码模式可能和基于代价函数确定出的编码模式不同。编码端基于目标代价函数确定出的编码模式可以模拟出QP存在偏移(即目标图像编码单元的QP)的效果,由此可以保证量化处理的效果的情况下,可以采用图像帧的QP来替代目标图像编码单元的QP传输至解码端,节省编码目标图像编码单元的QP的码率,从而节省传输数据带宽,提高压缩率。
S205、编码端将上述编码模式指示的编码参数和上述图像的量化系数传输至解码端,解码端接收来自编码端的编码参数和图像的量化系数。
在一种可能的实现方式中,针对目标图像编码单元而言,在编码端确定出目标图像编码单元的编码参数后,可以将该编码模式指示的编码参数和该目标图像编码单元所在的图像的QP传输至解码端,以便于解码端基于编码参数和该图像的QP进行解码处理,得到该目标图像编码单元对应的图像块。针对视频而言,编码端可以在获取到该视频中各个图像帧的各个图像编码单元的编码参数之后,将该视频的编码参数发送至解码端,该视频的编码参数包括各个图像帧的各个图像编码单元的编码参数,以及各个图像帧的QP,以便于解码端基于该视频的编码参数进行解码处理,得到该视频对应的解码视频。
相应的,解码端可以接收来自编码端的编码参数和图像的QP以及部分CU的QP信息,该编码参数为图像中目标编码单元的编码模式指示的编码参数,该目标编码单元为图像划分的多个图像编码单元中的任一图像编码单元,该图像为视频中的任一图像帧。针对一个CU而言,如目标图像编码单元,解码端可以根据该目标图像编码单元的编码参数和该目标图像编码单元所在图像的QP进行解码处理得到该目标图像编码单元对应的图像块。针对视频而言,解码端可以根据视频的解码参数得到各个图像编码单元对应的图像块,即得到各个图像帧,即得到视频对应的解码视频。其中,编码端需要传输部分CU的QP信息是因为这部分CU的尺寸较大,这是由于编码端采用CU的QP对其量化处理的方式压缩率提高的效果较高,因此,对尺寸较小的CU,如目标图像编码单元,可以无需传输该目标图像编码单元的QP,对尺寸较大的CU需要传输各个CU的QP信息。
S206、解码端根据上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
在本申请实施例中,以解码目标图像编码单元对应的图像块为例进行讲解,解码端接收到的编码参数可以包括目标图像编码单元的残差信息和编码模式信息。其中,该残差信息为目标图像编码单元与构建图像编码单元的差异经过量化处理得到的信息,构建图像编码单元为编码端基于编码模式信息构建出的图像编码单元,量化处理的参数为预测QP,该预测QP可以是根据图像的QP确定的。其中,编码端传输残差信息的原因是解码端可以基于编码模式构建出图像编码单元,即构建图像编码单元,进而可以构建图像编码单元与残差信息的和,确定出目标图像编码单元对应的图像块,并且相比目标图像编码单元的信息,传输残差信息的传输数据量小。
在一种可能的实现方式中,解码端可以按照与编码处理的逆过程,先基于预测QP对残差信息进行反量化处理,得到目标残差信息。进一步地,解码端可以根据编码参数中编码模式信息进行预测处理,得到构建图像编码单元,进而,解码端可以根据目标残差信息和构建图像编码单元,确定目标图像编码单元对应的图像块。需要说明的是,编码端基于构建图像编码单元和目标图像编码单元的原始图像确定的残差,经过变换处理和量化处理得到残差信息进行熵编码传输至解码端。解码端获取到的熵解码的残差信息经过编码端变换处理和量化处理的信息,经过解码端反量化处理之后得到目标残差信息,还需经过解码端反变换处理,得到可以与构建图像编码单元求和的残差,进而将构建图像编码单元和残差的和,确定为目标图像编码单元对应的图像块。进一步地,解码端在确定出视频中每个图像帧的每个CU的图像块后,可以得到解码视频。
请一并参阅图3,图3是本申请实施例提供的一种编码参数的传输方法的场景示意图,如图3所示,编码端进行编码处理的视频为包括水滴的视频,以视频的时长为1秒包括的24帧图像为例,针对该视频中的图像,可以对该视频进行图像分区处理,得到该图像包括的多个CU,目标图像编码单元为多个CU中的一个,图3以水滴中的一个图像区域作为目标图像编码单元为例,编码端可以获取该图像中各个CU的QP,各个CU的QP包括目标图像编码单元的QP,进而可以确定该目标图像编码单元的DQP。编码端可以基于DQP确定该目标图像编码单元的目标率失真系数,并基于目标率失真系数确定目标图像编码单元的目标代价函数。进一步地,编码端可以基于目标代价函数确定该目标图像编码单元的编码模式,并将该编码模式指示的编码参数和图像的QP作为该目标图像编码单元需要传输的码字符号。
在编码端确定出该图像中每个CU需要传输的码字符号之后,由于该图像中部分或全部CU均可采用同一QP进行预测,因此,编码端可以仅传输一次图像的QP以及超过设定尺寸阈值的编码单元的QP。进而编码端根据视频中包括的图像序列的每个图像需要传输的码字符号传输至解码端。解码端针对图像中的部分CU,如目标图像编码单元,编码端可以基于编码模式指示的编码参数和预测QP重构出该目标图像编码单元对应的图像块。进而,编码端可以基于该图像中各个CU对应的图像块则可以确定该解码图像,根据各个解码图像得到解码视频。可以理解的是,由于编码处理是有损编码,解码图像与视频中的图像序列中的图像不同,视频与解码视频也并不相同,存在部分失真。可见,编码端针对部分CU直接使用预测QP,无需传输这部分CU的量化系数,在保证重构效果基本不变(一个CU对应一个QP)的情况下,减少传输QP所需的数据量。
在本申请实施例中,编码端可以通过获取图像中图像编码单元的量化系数增量,进而确定图像编码单元的目标率失真系数,再确定图像编码单元的目标代价函数。基于目标代价函数编码单元可以确定该图像编码单元的编码模式,并将该编码模式的编码参数和图像的量化系数传输至解码端,以使解码端进行解码处理,得到图像编码单元对应的图像块。可见,一方面,编码端可以通过确定用目标率失真系数替代初始率失真系数的目标代价函数来重新选择编码模式,可以保证在图像的量化系数的基础上也可以实现图像编码单元级自适应量化的效果。另一方面,针对部分图像编码单元直接使用预测QP,无需传输这部分图像编码单元的量化系数,而非图像中各个编码单元的量化系数,可以节省编码量化系数所需的码率,提高了编码单元级的压缩率收益。
基于上述描述,请参见图4,图4示出了本申请一个示例性实施例提供的一种编码参数的传输方法的流程示意图,该编码参数的传输方法可由图1所示实施例中视频编码设备101执行,该编码参数的传输可以包括以下步骤S401-步骤S405:
S401、获取图像中目标图像编码单元的量化系数增量。
在本申请实施例中,图像为待编码的视频中的任一图像,该图像可以被划分为多个CU,目标图像编码单元为该图像划分为的多个CU中的任一CU。目标图像编码单元的DQP为目标图像编码单元的QP与参考图像编码单元的QP的差,该参考图像编码单元的QP为针对该目标图像编码单元的预测QP,确定该目标图像编码单元的预测QP的方式可以不同,参考图像编码单元的QP的确定具体可以基于不同的视频编码标准而定。
在一种可能的实现方式中,编码端可以先确定该图像中各个CU的QP和参考图像编码单元的QP,目标图像编码单元为该图像中各个CU中的任一个CU,进而可以根据该目标图像编码单元的QP和参考图像编码单元的QP确定该目标图像编码单元的DQP。其中,编码端在对视频进行编码处理之前,可以对视频进行预分析处理,确定视频的图像序列中每个图像包括的CU的QP。需要说明的是,QP可以分为不同级别的QP,例如可以包括图像级QP和CU级QP,所谓图像级QP也称为帧级QP。其中,上述针对不同的图像单位确定对应的QP的技术,如确定CU级QP以及帧级QP的技术,可以称为自适应量化技术。
具体的,所谓帧级QP是指基于视频中的图像序列中各个图像的重要性程度确定的该图像的QP,所谓图像的重要程度可以是在视频编码中帧参考关系,若该图像被参考的频率越高,则表示该图像越发重要,则该图像的QP越小,反之,若该参考该图像频率越低,则表示该图像越不重要,则该图像的QP越大。所谓CU级QP是指基于该CU的重要性程度来确定该CU的QP,该CU的重要性程度也可以是基于该CU被参考的频率来评估的,即若该CU被参考的频率越高,则表示该CU越发重要,则该CU的QP越小,使得量化处理更精细;反之,若该CU被参考的频率越低,则表示该CU越不重要,则该CU的QP越大,量化处理更粗糙。
需要说明的是,由于QP决定了对当前视频(视频中的CU)的残差值进行量化表达的系数,QP决定了当前视频的压缩后的视频质量,因此QP信息需要在视频码流中进行保存(即传输QP信息)以在编码过程和解码过程中进行QP的统一处理,如编码端的量化处理以及解码端的反量化处理。在QP越小时,传输的码字符号的数量会增加,CU的QP越大,传输的码字符号的数量会减少。
其中,本申请以CU级QP为例进行讲解,编码端通过内置的预处理单元与自适应量化单元来对视频进行预分析处理,编码器中包括的工具可以完成对视频的预分析处理。例如,诸如用于编码符合H.264标准视频的x264为一种工业级编码器,该x264中的mbtree工具可以用于对视频进行预分析处理,从而得到视频中每个CU的QP再例如,用于编码符合HEVC标准的x265编码器中的cu tree工具可以用于对视频进行预分析处理,从而得到视频中每个CU的QP。需要说明的是,本申请以CU级QP为例,引入了更细粒度的自适应量化的选择,可以增加压缩率收益。在CU级QP之上,也存在帧级QP,只是这种方式可以使得量化效果更好,而帧级QP可以用于减少传输的码字符号的数量。
示例性的,例如某一图像的帧级QP为30,以该图像包括10个CU为例,这10个CU的QP分别是31、30、32、37、24、33、27、28、29、30,若直接传输该10个CU所需的码字符号则为31、30、32、30、29、33、27、28、29、30,这种方式需要传输的数据量较大,以预测QP为帧级QP为例(不同视频压缩标准对于预测QP计算有不同的算法),则编码端可以传输每个CU的QP与该图像的帧级QP的差,如1、0、2、0、-1、3、-3、-2、-1、0。解码端可以基于帧级QP和各个CU的QP与帧级QP的差可以计算得到每个CU的QP,从而减少传输的信息量。
即便如此,虽然仅传输每个CU的QP与图像的QP的差可以减少部分传输的数据量,但是任然需要针对每个CU传输对应的QP的信息,为了进一步减少传输的数据量。编码器可以通过采用一种参数替代DQP带来的效果,仅需要针对一个图像传输一次帧级QP即可,在一定程度上可以达到接近自适应量化技术确定的CU级QP的效果,并且无需传输每个CU的QP,即无需在码流中编码有关每个CU的QP的数值信息,从而在产品实际的使用过程中能够有效保存CU级自适应量化技术带来的压缩率提高,节省对QP编码所需的码率,也节省传输数据所需的带宽,兼顾CU级自适应量化的压缩率收益和QP的编码开销。由此,编码端可以先确定各个CU的DQP,本申请实施例以目标图像编码单元为例进行讲解。
在一种可能的实现方式中,参考图像编码单元的QP(即该目标图像编码单元的预测QP)可以为与该目标图像编码单元相邻的上一个CU的QP。则该目标图像编码单元的DQP可以是目标图像编码单元的QP与上一个CU的QP的差。由于编码端已知各个CU的QP,则编码端可以基于相邻两个CU的QP的值,确定图像中各个CU的DQP。其中,该图像中第一个CU的QP不存在与之相邻的QP,则可以将该图像的QP(帧级QP)作为该CU的预测QP。
在另一种可能的实现方式中,参考图像编码单元的QP(即该目标图像编码单元的预测QP)可以是帧级QP,目标图像编码单元的DQP可以是该目标图像编码单元的QP与该目标图像编码单元所在的图像的QP的差。编码端已知各个CU的QP和各个CU所在的图像的QP,则编码端可以基于各个CU的QP和CU所在图像的QP的差,确定各个CU的DQP。
在又一种可能的实现方式中,参考图像编码单元的QP(即该目标图像编码单元的预测QP)可以是基于一定的算法和在目标图像编码单元周围的一个或多个CU的QP计算得到的,这是由于图像中的各个像素具有相关性,则可以根据周围的CU来确定该目标图像编码单元的预测QP。示例性的,以目标图像编码单元的预测QP由在该目标图像编码单元的左侧相邻的CU的QP和上侧相邻的CU的QP确定的,如目标图像编码单元的预测QP可以为左侧相邻的CU的QP和上侧相邻的CU的QP的均值。再一示例性的,编码器也可以是基于左侧相邻的CU的QP、上侧相邻的CU的QP均值确定该目标图像编码单元的预测QP,本申请对此不做限定。进而,编码器在已知各个CU的QP和图像的QP的情况下,可以基于目标图像编码单元的QP和目标图像编码单元的预测QP的差,确定目标图像编码单元的DQP。其中,在边界的CU不存在左侧相邻的CU或者上侧相邻的CU,则可以基于已经存在的一个CU的QP来确定。对于第一个CU的QP,编码器也可以该图像的QP作为该CU的预测QP。
进一步地,编码端在确定目标图像编码单元的DQP之后,可以根据DQP与Lambda(λ)的关联关系,确定该目标头像编码单元的目标率失真系数,该目标率失真系数即为上述用于替代DQP带来的效果的参数。
S402、根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数。
在本申请实施例中,DQP与Lambda(λ)的关联关系可以是编码端的编码器内置的,该关联关系可以包括DQP与其他参数的对应关系,其他参数与Lam bda(λ)有对应关系,其他参数可以作为中间参数,与DQP和Lambda(λ)均有对应关系。目标图像编码单元对应的目标率失真系数为目标图像编码单元的目标代价函数中的Lambda(λ),该代价函数可以包括编码代价,与失真值D和在编码模式下所需的比特数R映射关系,Lambda(λ)为权值,决定了代价函数中D和R的比重情况,该Lambda(λ)的数学定义为D与R的导数的负数,即可以表示单位码率增加带来的失真下降。
其中,编码器在预测的过程中,需要用到代价函数来决策针对CU采用的编码模式,而在大部分编码器中,Lambda(λ)的值取决于QP的值,即编码器中采用了一种QP与Lambda(λ)的对应关系,不同编码器的QP与Lambda(λ)的对应关系可以不同。示例性的,VVC视频编码标准的编码器为VTM编码器,其采用的QP与Lambda(λ)的对应关系(QP-λ关系)可以如公式1所示:
λ=0.57*2(QP/3) 公式1
在公式1中,λ为率失真系数,QP为量化系数,该QP可以为帧级QP也可以为CU级QP。由于Lambda(λ)仅用于编码器,不需要写入码流传输至解码器,即Lambda(λ)为无需提供给解码器用于解码处理的信息。因此,若仅传输帧级QP,则可以基于公式1和帧级QP计算出基准Lambda(λ),该基准Lambda(λ)可以称为初始率失真系数,进而可以基于DQP确定一个率失真系数权重,根据初始率失真系数和率失真系数权重,可以确定目标率失真系数。而率失真系数权重为用于替代DQP带来的效果的参数。
具体的,编码端可以根据DQP与率失真系数权重的对应关系,以及目标图像编码单元的DQP(如上述目标图像编码单元的QP与预测QP的差),其中,DQP与率失真系数权重的对应关系可以是内置在编码端的,也可以是编码端获取到的,本申请对此不做限定。示例性的,率失真系数权重与DQP的对应关系可以如公式2所示:
DLambda=2DQP/C 公式2
在公式2中,DLambda为率失真系数权重,C为常数,C的取值范围例如可以是3-6,例如在本申请实施例中,C的值为4.5,常数C决定了DLambda的调整强度,DQP为量化系数增量。
需要说明的是,编码器在具体进行编码的过程中,在预测的步骤,从各个编码模式中选取一个作为目标图像编码单元的编码模式的选择标准是代价函数,该代价函数包括编码代价与失真值以及编码所需比特数之间的映射关系,该编码所需比特数之前包括Lambda(λ)。其中,代价函数可以如公式3所示:
J=D+λ*R 公式3
在公式3中,J为编码代价,D为当前编码模式的失真值,R为编码所需比特数,λ为率失真系数,这里以代价函数为例,λ可以为本申请实施例中的初始率失真系数。编码端可以遍历各个编码模式,选取计算出编码代价最小的编码模式作为目标图像编码单元(当前CU)的编码模式。其中,如公式2所示,在代价函数中,λ决定了D与R的比重情况,其数学定义为D与R的导数的负数,可以用于表征了单位码率(码字符号的数据量)增加带来的失真的下降。由于代价函数为光滑的连续函数,因此可以假定代价函数为N阶可导函数,基于该假设,在一定范围内可以对CU级DQP取线性近似残差,可选地,也可以对CU的DQP引入泰勒级数的展开。从而在保持QP不变(采用帧级QP)的情况下通过率失真系数权重来达到DQP类似的效果。
具体的,对DQP取线性近似残差的方式可以是获取包括参考数值区间的截断函数,该参考数值区间为允许的QP的最大偏移量DQPmax,该DQPmax的取值可以在2-6的范围中,可以根据具体设定。将DQP限制到有限的范围内也可以保证线性近似残差逼近的精度,该参考数值区间为(-DQPmax,DQPmax),则该截断函数可以如公式4所示:
DQPclip=Clip(DQP,-DQPmax,DQPmax) 公式4
在公式4中,DQPclip为DQP线性近似残差的结果,DQPmax为QP的最大偏移量Clip为截断函数,为双头截断函数。
具体的,若该目标图像若目标图像编码单元的DQP大于参考数值区间的最大值,则将目标图像编码单元的DQP更新为参考数值区间的最大值,得到DQP线性近似残差的结果。同样的,若目标图像编码单元的DQP小于参考数值区间的最小值,则将目标图像编码单元的DQP更新为参考数值区间的最小值,得到DQP线性近似残差的结果。示例性的,以DQPmax的值为3,则参考数值区间为(-3,3)若DQP为6,大于参考数值区间的最大值,则得到DQP的线性近似残差的结果DQPclip=3。由此,将DQPclip作为DQP来确定率失真系数权重,具体可以如公式5所示:
DLambda=2DQPclip/C 公式5
在公式5中,DLambda为率失真系数权重,C为常数,DQPclip为DQP线性近似残差的结果,作为更新后的DQP用于计算率失真系数权重。在得到率失真系数权重后,可以根据初始率失真系数与率失真系数权重,确定目标率失真系数,该目标率失真系数为目标图像编码单元的Lambda(λ)。具体的,目标率失真系数的确定方法具体可以如公式6所示:
λ=λ(QP)*DLambda 公式6
在公式6中,λ为目标率失真系数,λ(QP)为Lambda(λ)的基准值,即可以为编码端根据上述公式1(即上述QP-λ固定关系)计算得到的Lambda(λ),DLambda为率失真系数权重,可以为编码端根据上述公式5计算得到的DLambda,即于公式6得到目标图像编码单元的目标率失真系数。
进一步地,编码端可以根据目标率失真系数确定目标代价函数,该目标代价函数为目标图像编码单元的代价函数。
S403、根据上述目标率失真系数确定上述目标图像编码单元的目标代价函数。
在本申请实施例中,每个CU的代价函数均可以如公式3所示的代价函数,由于自适应量化技术是确定每个CU的QP,则可以针对每个CU确定一个Lambda(λ),进而基于每个CU的Lambda(λ)确定每个CU的代价函数。具体的,针对目标图像编码单元的目标代价函数是将初始率失真系数替换为目标率失真系数的代价函数。即上述公式3中的λ不是公式6中的λ(QP),而是公式6中的λ。由此,得到目标图像编码单元的目标代价函数。可以理解的是,每个CU均可以通过该方式来确定。
可以理解的是,目标代价函数为目标图像编码单元的代价函数,其仅用于针对目标图像编码单元进行编码模式的选择。针对一个图像中的每个CU而言,确定每个CU的率失真系数后,得到每个CU的代价函数,进而可以基于每个CU的代价函数来确定对应的CU的编码模式。其中,编码端根据代价函数来确定CU的编码模式的过程可以称为率失真优化(RateDistortion Optimized,RDO),在确定每个CU的编码模式后,可以基于每个CU的编码模式指示的编码参数确定视频的编码参数,并进行传输。
S404、根据上述目标代价函数从多种编码模式中确定上述目标图像编码单元的编码模式。
在本申请实施例中,编码端可以基于确定的Lambda(λ)的RDO过程可以称为RDO修正,该过程可以是编码端进行编码处理的预测阶段,在RDO修正过程后,可以进行后续的编码处理的流程,如变换处理、量化处理、熵编码处理。
具体的,编码端可以分别确定每种编码模式的失真值D和编码所需比特数R。其中,对于编码所需比特数,编码端可以遍历多种编码模式,如帧间编码的多种编码模式以及帧内编码的多种编码模式,确定目标图像编码单元按照当前遍历的编码模式对目标图像编码单元进行编处理得到的参考编码参数,该参考编码参数的码字符号的数量即为编码所需比特数R。对于编码模式的失真值D,编码端可以根据参考编码参数对目标图像编码单元进行重构,得到目标图像编码单元对应的重构图像编码单元,根据目标图像编码单元(该目标图像编码单元的原始图像)和重构图像编码单元的差异,确定目标图像编码单元的失真值。由此,编码端可以将目标图像编码单元的失真值作为D,将参考编码参数的码字符号的数据量R,作为目标代价函数的输入,即代入上述公式6中,得到当前遍历的编码模式的编码代价,即得到J。
进一步地,编码端在遍历结束后,将编码代价最小的编码模式确定为目标图像编码单元的编码模式。即可以将各个编码模式得到的编码代价J中最小J对应的编码模式确定为目标图像编码单元的编码模式。以此类推,针对每个CU均可以通过这种方式来确定编码模式。在得到各个CU的编码模式后,可以继续进行后续的编码处理的流程,如上述计算CU的原始图像与构建图像单元的残差信息,并进行变换处理、量化处理以及熵编码处理。
请一并参阅图5,图5是本申请实施例提供的一种编码参数的传输方法的时序示意图。如图5所示,首先,编码端可以基于CU级自适应量化算法确定每个CU的QP,进而根据每个CU的QP和预测QP确定每个CU的DQP。进一步地,编码端可以确定DQP的限制范围,该限制范围为截断函数的参考数值区间,用于对DQP确定线性近似残差,得到DQPclip。进一步地,编码端可以根据DQPclip和率失真系数权重Dlambda的对应关系,确定每个CU的率失真系数权重,在确定每个CU的率失真系数权重之后,编码端可以确定每个CU的Lambda(λ),和基于CU所在的图像的QP确定出的基准Lambda(λ)确定每个CU的率失真系数,从而确定每个CU的代价函数,即将代价函数的初始率失真系数替换为确定的Lambda(λ)。进而,编码端可以基于确定的代价函数进行RDO修正,并可以确定CU的编码模式,并可以进一步进行编码处理,如基于确定的编码模式确定残差信息,并对残差信息进行DCT变换、量化处理和熵编码处理。可以理解的是,该量化处理的QP为该CU所在图像的QP,从而完成编码处理,将熵编码处理后的编码参数传输到解码端。
在本申请实施例中,若按照编码参数的确定方案,对于目标图像编码单元而言,编码端需要将目标图像编码单元的编码模式指示的编码参数和该目标图像编码单元所在的图像的QP传输至解码端。该目标图像编码单元的编码模式指示的编码参数可以包括目标图像编码单元的残差信息和编码模式信息,该残差信息为目标图像编码单元与构建图像编码单元的差异经过量化处理得到的信息,该构建图像编码单元为基于上述编码模式信息构建出的图像编码单元,该量化处理的参数为上述预测QP,该预测QP可以是根据图像的QP确定的。也即是,解码端在接收到编码参数后,可以基于编码参数进行解码处理得到该目标图像编码单元对应的图像块。
S405、将上述编码模式指示的编码参数和上述图像的量化系数传输至解码端。
在本申请实施例中,此处说的传输的过程是在编码处理后执行,即对需要传输的参数进行熵编码处理后进行传输的,此处仅为体现出传输的内容包括编码模式指示的编码参数和图像的QP。即针对该编码端,针对目标图像编码单元(0即针对一个CU)需要传输的参数包括该目标图像编码单元的编码模式指示的编码参数和该目标图像编码单元所在的图像的QP(帧级QP)。针对视频,在获取到该视频的各个图像帧的各个CU的编码参数之后,将该视频的编码参数发送至解码端。该视频的编码参数包括各个图像中的各个CU的编码参数和各个图像的QP。由此,部分CU的QP可以用预测QP替代,可以基于图像的帧级QP和在该CU之前的一个或多个CU的QP确定,一个图像的帧级QP仅需要传输一次,采用率失真系数权重的方法来替代DQP可以利用代价函数中码率-失真曲线的连续可导函数的特效,将基于自适应量化算法得到的DQP转化为率失真系数权重,可以和CU自适应量化的QP值以及图像的QP值,可以在一定范围内达到接近编码端基于自适应量化算法进行编码的效果,同时兼顾自适应量化技术带来的压缩能力提高,以及降低DQP码率开销。
需要说明的是,由于率失真系数权重仅为DQP的一种近似替代,可以降低编码QP带来的码字开销,但其对于压缩率提高的效果理应弱于直接使用CU的QP(DQP),并且采用这种方式可以直接使用CU的QP的方式完全独立,在编码的过程中编码端互相不受影响。因此,编码端可以在确定目标率失真系数之前,可以确定当前CU的大小,编码端对尺寸较大的CU采用DQP的方法,即传输各个CU的QP至解码端,对于尺寸较小的CU通过率失真系数权重进行近似。
具体的,编码端可以在根据DQP确定率失真系数之前,可以判断该CU的尺寸是否小于或等于设定尺寸阈值,若小于或等于,则编码端可以根据CU的QP和量化系数增量与率失真系数的关联关系,确定该CU的率失真系数(例如根据量化系数增量与率失真系数的关联关系,以及目标图像编码单元的量化系数增量,确定目标图像编码单元对应的目标率失真系数)。其中,该尺寸可以由用户确定,也可以是编码端默认的,本申请对此不做限定,该设定尺寸阈值例如可以是64×64,对于小于或等于64×64的CU采用确定率失真系数权重来替代DQP的算法,反之,对于大于64×64的CU采用直接编码CU的DQP的算法。
请一并参阅图6,图6是本申请实施例提供的另一种编码参数的传输方法的时序示意图,如图6所示,首先,编码端可以基于CU级自适应量化算法确定视频中各个图像帧的每个CU的QP,进而根据CU的QP和该CU的预测QP确定DQP。进而,编码端可以遍历各个CU,判断CU的尺寸是否小于或等于设定尺寸阈值,从而根据判断结果选择不同的分支。若小于或等于,则编码端确定当前遍历的CU执行Dlambda分支,反之,若大于,则编码端确定当前遍历的CU执行DQP分支。
针对Dlambda分支中每个CU,编码端可以首先确定该CU的DQP的限制范围,即调用包含参考数值区间的截断函数确定DQP的线性近似残差的结果DQPclip,进一步地,编码端可以基于DQPclip和DQP与量化系数权重的对应关系,确定该率失真系数权重Dlambda,进而根据率失真系数权重Dlambda确定CU的代价函数,并基于确定的代价进行RDO修正,得到编码模式,在RDO修正之后,可以进行后续的编码处理,例如基于选取编码模式预测处理的结果确定残差信息并进行变换处理和量化处理,在量化处理时可以基于帧级QP确定量化步长进行量化处理,进而进行熵编码处理。由此,针对Dlambda分支中每个CU,编码端可以直接使用预测QP,无需传输这部分图像编码单元的QP。
针对DQP分支中每个CU,编码端无需进行额外的处理,将每个CU的QP信息作为编码参数,在后续熵编码处理时,进行编码并传输至解码端。而对于各个CU,编码端可以基于每个CU的QP确定的代价函数来选择CU的编码模式,进而确定预测处理的结果确定残差信息并进行变换处理和量化处理,在量化处理时可以基于自适应量化算法确定的各个CU的QP确定对应的量化步长进行量化处理,进而进行熵编码处理。由此,针对DQP分支中每个CU,编码端需要传输编码模式指示的编码参数,还需要传输各个CU的QP信息,例如传输参考QP,该参考QP可以是CU所在的帧级QP,以及各个CU的QP与该参考QP的差(即DQP)。需要说明的是,上述“直接使用预测QP”的描述,仅针对尺寸小于或等于设定尺寸阈值的CU,对于尺寸大于设定尺寸阈值的CU仍需要传输其QP信息,即传输该CU的DQP。
其中,针对小于或等于设定尺寸阈值的CU,采用Dlambda分支的算法,在实际测试结果中,BD-Rate-峰值信噪比(Peak Signal Noise Rate,PSNR)为-0.67%,BDRate-结构相似性(Structural SIMilarity,SSIM)为-0.77%,BDRate-视频多方法评估融合(VideoMulti-method Assessment Fusion,VMAF)为-1.19%。其中,BD-rate可以表示在同一视频客观质量的情况下,所优化后算法与原始算法相比的码率增加量。PSNR可以用于最大值信号的功率和背景噪声的功率的比值。SSIM可以是衡量两幅图像相似度的指标,可以基于视频中包括的图像序列的各个图像的亮度、对比度的,反映场景中物体结构的属性来确定。VMAF是基于机器学习构建的工具,用于预测用户对视频质量的主观认知。上述三个实测值可以表示使用该算法编码至相同的PSNR/SSIM/VMAF质量所需要的码率可以下降0.67%/0.77%/1.19%。并且,在实测的过程中发现,编码端中的编码器对视频进行编码处理的编码时间不变,由此,本申请实施例所提供的编码参数的确定方法可以配合任意编码单元级自适应量化算法,在不影响编码速度的情况下有效提高编码器的压缩效率。
由此,编码端在完成对视频的编码处理之后,可以将视频的编码参数发送至解码端之后,解码端可以基于视频的编码参数进行解码。
在本申请实施例中,编码端可以通过获取图像中图像编码单元的量化系数增量,进而确定图像编码单元的目标率失真系数,再确定图像编码单元的目标代价函数。基于目标代价函数编码单元可以确定该图像编码单元的编码模式,并将该编码模式的编码参数和图像的量化系数传输至解码端,以使解码端进行解码处理,得到图像编码单元对应的图像块。可见,一方面,编码端可以通过确定用目标率失真系数替代初始率失真系数的目标代价函数来重新选择编码模式,可以保证在图像的量化系数的基础上也可以实现图像编码单元级自适应量化的效果。另一方面,针对部分图像编码单元直接使用预测QP,无需传输这部分图像编码单元的量化系数,可以节省编码量化系数所需的码率,提高了编码单元级的压缩率收益。
基于上述描述,请参见图7,图7示出了本申请一个示例性实施例提供的一种编码参数的传输方法的流程示意图,该语音处理方法可由图1所示实施例中视频解码设备102执行,该编码参数的传输方法可以包括以下步骤S701-步骤S702:
S701、接收来自编码端的编码参数和图像的量化系数。
在一种可能的实现方式中,编码端和解码端可以是分布在不同的电子设备中,编码端的电子设备(如图1所示的视频编码设备101)和解码端的电子设备(如图1所示的视频解码设备102)可以通过有线或无线的方式直接或间接的连接,该编码端的电子设备可以与解码端的电子设备通信,将视频的编码参数传输至解码端。
在另一种可能的实现方式中,编码端和解码端可以是分布在同一的电子设备中,编码端的电子设备(如图1所示的视频编码设备101)和解码端的电子设备(如图1所示的视频解码设备102)可以是同一电子设备。该电子设备中具有编码器和解码器,该编码器用于实现编码端的功能,该解码器用于实现解码端的功能,则电子设备的编码器可以将视频的编码参数传输至解码器。
其中,视频的编码参数以视频包括的图像序列(图像帧)中的一个CU为例进行说明,该CU例如是尺寸小于或等于设定尺寸阈值的目标图像编码单元,目标图像编码单元可以是视频划分的多个CU中的任一CU,该视频的编码参数包括该目标图像编码单元的编码参数和该目标图像编码单元所在图像的QP,该目标图像编码单元的残差信息为该目标图像编码单元与构建图像编码单元的差异经过量化处理得到的信息,该构建图像编码单元为基于编码模式信息构建出的图像编码单元,该量化处理的参数为基于该目标图像编码单元所在的图像的QP确定的预测QP。需要说明的是,本申请以该目标图像编码单元所在的图像的QP为预测QP进行描述,即编码端用于量化处理的QP为图像的QP。
进而,解码端可以根据编码参数和图像的QP进行解码处理,得到目标图像编码单元对应的图像块。解码端根据视频中各个CU对应的图像块,可以得到解码处理得到的解码视频。
S702、根据上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
在本申请实施例中,编码端对目标图像编码单元进行编码处理是先基于该目标图像编码单元的编码模式进行预测处理,得到构建图像编码单元,进而根据该目标图像编码单元的原始图像和该构建图像编码单元确定残差信息,进而对残差信息进行进一步压缩,即对该残差信息进行变换处理,如DCT变换,进而对变换处理的结果进行量化处理,在量化处理之后,进行熵编码处理,从而进行传输。而解码端对视频进行解码处理的过程与编码端进行编码处理的过程相反,解码端可以先根据量化处理后的残差信息进行反量化处理,进而根据反量化处理的结果进行反变换处理,得到目标图像编码单元与构建图像编码单元的残差信息,该残差信息用于表示目标图像编码单元与构建图像编码单元的差异。进而解码端可以基于编码模式进行预测处理,确定构建图像编码单元,根据构建图像单元和残差信息之和,可以得到目标图像编码单元对应的图像块的表示信息,即得到图像块。
具体的,对于目标图像编码单元而言,编码参数包括目标图像编码单元的残差信息和编码模式信息。其中,残差信息为目标图像编码单元与构建图像编码单元的差异经过量化处理得到的信息,构建图像编码单元为基于编码模式信息构建出的图像编码单元,上述量化处理的参数为该目标图像编码单元所在的图像的QP。由此,解码端可以根据该目标图像编码单元所在的图像的QP和残差信息进行反量化处理,该量化处理为变换矩阵中的各个元素除以量化步长。则反量化处理为残差信息中的各个元素乘以量化步长,该量化步长是基于目标图像编码单元所在的图像的QP确定的,得到目标残差信息。
进一步地,解码端可以根据编码参数中的编码模式信息进行预测处理,得到构建图像编码单元,进而根据目标残差信息和构建图像编码单元确定目标图像编码单元对应的图像块。其中,由于编码端在量化处理之前还包括变换处理,则解码端可以对目标残差信息进行反变换处理,解码端可以获知编码端所采用的变换处理的方式,如DCT变换处理、DFT变换处理,则解码端可以采用反DCT变换处理或者反DFT变换处理得到用于表示目标图像编码单元和构建图像编码单元的差异的表示信息。进而,基于该目标图像编码单元和构建图像编码单元的差异的表示信息,以及目标残差信息确定目标图像编码单元对应的图像块。由此,解码端对各个CU进行解码处理,得到各个CU对应的图像块,从而得到解码处理的解码视频。
需要说明的是,若是仅传输了帧级QP,则该CU尺寸小于或等于设定尺寸阈值,针对该CU的反量化处理仅根据帧QP确定的反量化步长来进行反量化处理。若是传输了CU的QP信息,则该CU尺寸大于设定尺寸阈值,针对该CU的反量化处理仅根据该CU的QP信息确定的反量化步长来进行反量化处理。解码端仅在反量化处理参数上有所区别,其他处理上无区别。
在本申请实施例中,编码端可以通过获取图像中图像编码单元的量化系数增量,进而确定图像编码单元的目标率失真系数,再确定图像编码单元的目标代价函数。基于目标代价函数编码单元可以确定该图像编码单元的编码模式,并将该编码模式的编码参数和图像的量化系数传输至解码端,以使解码端进行解码处理,得到图像编码单元对应的图像块。可见,一方面,编码端可以通过确定用目标率失真系数替代初始率失真系数的目标代价函数来重新选择编码模式,可以保证在图像的量化系数的基础上也可以实现图像编码单元级自适应量化的效果。另一方面,针对部分图像编码单元直接使用预测QP,无需传输这部分图像编码单元的量化系数,可以节省编码量化系数所需的码率,提高了编码单元级的压缩率收益。
请参阅图8,图8是本申请实施例提供的一种编码参数的传输装置的结构示意图,本申请实施例的编码参数的传输装置80可以设置在电子设备上,该电子设备可以是上述图1中的视频编码设备。上述编码参数的传输装置80包括如下单元:
获取单元801,用于获取图像中目标图像编码单元的量化系数增量,上述目标图像编码单元为上述图像划分的多个图像编码单元中的任一图像编码单元;
确定单元802,用于根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数;
上述确定单元802,还用于根据上述目标率失真系数确定上述目标图像编码单元的目标代价函数;其中,上述目标代价函数为将初始率失真系数替换为上述目标率失真系数的代价函数;
上述确定单元802,还用于根据上述目标代价函数从多种编码模式中确定上述目标图像编码单元的编码模式;
传输单元803,用于将上述编码模式指示的编码参数和上述图像的量化系数传输至解码端,以使上述解码端基于上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
在一种可能的实现方式中,上述确定单元802,用于根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数,具体用于:
根据量化系数与率失真系数的对应关系,以及上述图像的量化系数,确定上述目标图像编码单元的初始率失真系数;
根据量化系数增量与率失真系数权重的对应关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元的率失真系数权重;
根据上述初始率失真系数和上述率失真系数权重,确定上述目标率失真系数。
在一种可能的实现方式中,上述确定单元802,用于根据量化系数增量与率失真系数权重的对应关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元的率失真系数权重,具体用于:
获取截断函数,上述截断函数包括参考数值区间;
若上述目标图像编码单元的量化系数增量大于上述参考数值区间的最大值,则将上述目标图像编码单元的量化系数增量更新为上述参考数值区间的最大值;
若上述目标图像编码单元的量化系数增量小于上述参考数值区间的最小值,则将上述目标图像编码单元的量化系数增量更新为上述参考数值区间的最小值;
根据上述量化系数增量与率失真系数权重的对应关系,以及上述目标图像编码单元的更新后的量化系数增量,确定上述率失真系数权重。
在一种可能的实现方式中,上述确定单元802,用于根据上述目标代价函数从多种编码模式中确定目标图像编码单元的编码模式,具体用于:
遍历上述多种编码模式,确定上述目标图像编码单元按照当前遍历的编码模式对上述目标图像编码单元进行编码处理得到的参考编码参数;
根据上述参考编码参数对上述目标图像编码单元进行重构,得到上述目标图像编码单元对应的重构图像编码单元;
根据上述目标图像编码单元和上述重构图像编码单元的差异,确定上述目标图像编码单元的失真值;
将上述目标图像编码单元的失真值和上述参考编码参数作为上述目标代价函数的输入,得到当前遍历的编码模式的编码代价;
在遍历结束后,将编码代价最小的编码模式确定为上述目标图像编码单元的编码模式。
在一种可能的实现方式中,上述图像指的是视频中的任一图像帧;上述传输单元803,用于将上述编码模式指示的编码参数传输至解码端,具体用于:
在获取到上述视频的各个图像帧的各个图像编码单元的编码参数之后,将上述视频的编码参数发送至上述解码端;其中,上述视频的编码参数包括上述视频的各个图像帧的各个图像编码单元的编码参数。
在一种可能的实现方式中,上述装置还包括:触发单元804,用于若上述目标图像编码单元的尺寸小于或者等于设定尺寸阈值,则触发执行上述根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数。
在一种可能的实现方式中,上述获取单元801,用于获取图像中目标图像编码单元的量化系数增量,具体用于:
获取视频,并将上述视频划分为多个图像编码单元;
获取划分的多个图像编码单元中每个图像编码单元的量化系数;
根据每个图像编码单元的量化系数中上述目标图像编码单元的量化系数和参考图像编码单元的量化系数,确定上述目标图像编码单元的量化系数增量。
根据本申请的一个实施例,图2、图4所示的方法所涉及的各个步骤均可以是由图8所示的编码参数的传输装置中的各个单元执行的。例如,图2所示的步骤S201和步骤S401由图8中所示的获取单元801来执行,步骤S202-步骤S204和步骤S402-步骤S404由图8中所示的确定单元802来执行,步骤S205和步骤S405由图8中所示的传输单元803来执行。
请一并参阅图9,图9是本申请实施例提供的一种编码参数的传输装置的结构示意图,本申请实施例的编码参数的传输装置90可以设置在电子设备上,该电子设备可以是上述图1中的视频解码设备。上述编码参数的传输装置90包括如下单元:
接收单元901,用于接收来自编码端的编码参数和图像的量化系数,上述编码参数为上述图像中的目标图像编码单元的编码模式指示的编码参数,上述目标图像编码单元为上述图像划分的多个图像编码单元中的任一图像编码单元;
解码单元902,用于根据上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
在一种可能的实现方式中,上述编码参数包括上述目标图像编码单元的残差信息和编码模式信息;上述残差信息为上述目标图像编码单元与构建图像编码单元的差异经过量化处理得到的信息;上述构建图像编码单元为基于上述编码模式信息构建出的图像编码单元,上述量化处理的参数为上述图像的量化系数;上述解码单元902,用于根据上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块,具体用于:
根据上述量化系数对上述残差信息进行反量化处理,得到目标残差信息;
根据上述编码参数中的上述编码模式信息进行预测处理,得到上述构建图像编码单元;
根据上述目标残差信息和上述构建图像编码单元,确定上述目标图像编码单元对应的图像块。
根据本申请的一个实施例,图2、图7所示的方法所涉及的各个步骤均可以是由图9所示的编码参数的传输装置中的各个单元执行的。例如,图2所示的步骤S206和步骤S701由图8中所示的接收单元901来执行,步骤S702由图9中所示的解码单元902来执行。
根据本申请的另一个实施例,图8和图9所示的编码参数的传输装置中的各个单元可以分别或者全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以是由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其他实施例中,基于编码参数的传输装置也可以包括其他单元,在实际应用中,这些功能也可以由其他单元协助实现,并且可以由多个单元协作实现。
在本申请实施例中,编码端可以通过获取图像中图像编码单元的量化系数增量,进而确定图像编码单元的目标率失真系数,再确定图像编码单元的目标代价函数。基于目标代价函数编码单元可以确定该图像编码单元的编码模式,并将该编码模式的编码参数和图像的量化系数传输至解码端,以使解码端进行解码处理,得到图像编码单元对应的图像块。可见,一方面,编码端可以通过确定用目标率失真系数替代初始率失真系数的目标代价函数来重新选择编码模式,可以保证在图像的量化系数的基础上也可以实现图像编码单元级自适应量化的效果。另一方面,仅传输图像的量化系数,而非图像中各个编码单元的量化系数,可以节省编码量化系数所需的码率,降低了编码单元级的压缩率收益。
基于上述编码参数的传输方法实施例的描述,本申请实施例还公开了一种电子设备,请参见图10,该电子设备至少可包括处理器1001、通信接口1002以及计算机存储介质1003。其中,电子设备内的处理器1001、通信接口1002以及计算机存储介质1003可通过总线或其他方式连接。该电子设备可以是上述图1中的视频编码设备。
上述计算机存储介质1003是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质1003既可以包括电子设备的内置存储介质,当然也可以包括电子设备支持的扩展存储介质。计算机存储介质1003提供存储空间,该存储空间存储了电子设备的操作系统。并且,在该存储空间中还存放了适于被处理器1001加载并执行的一条或多条指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器;可选的,还可以是至少一个远离前述处理器的计算机存储介质、上述处理器可以称为中央处理单元(Central ProcessingUnit,CPU),是电子设备的核心以及控制中心,适于被实现一条或多条指令,具体加载并执行一条或多条指令从而实现相应的方法流程或功能。
在一种实施方式中,可由处理器1001加载并执行计算机存储介质中存放的一条或多条第一指令,以实现上述有关编码参数的传输方法实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条第一指令由处理器1001加载并执行如下操作:
获取图像中目标图像编码单元的量化系数增量,上述目标图像编码单元为上述图像划分的多个图像编码单元中的任一图像编码单元;
根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数;
根据上述目标率失真系数确定上述目标图像编码单元的目标代价函数;其中,上述目标代价函数为将初始率失真系数替换为上述目标率失真系数的代价函数;
根据上述目标代价函数从多种编码模式中确定上述目标图像编码单元的编码模式;
将上述编码模式指示的编码参数和上述图像的量化系数传输至解码端,以使上述解码端基于上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
在一种可能的实现方式中,上述计算机存储介质中的一条或多条第一指令由处理器1001加载并执行根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数的操作时,具体用于执行如下操作:
根据量化系数与率失真系数的对应关系,以及上述图像的量化系数,确定上述目标图像编码单元的初始率失真系数;
根据量化系数增量与率失真系数权重的对应关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元的率失真系数权重;
根据上述初始率失真系数和上述率失真系数权重,确定上述目标率失真系数。
在一种可能的实现方式中,上述计算机存储介质中的一条或多条第一指令由处理器1001加载并执行根据量化系数增量与率失真系数权重的对应关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元的率失真系数权重的操作时,具体用于执行如下操作:
获取截断函数,上述截断函数包括参考数值区间;
若上述目标图像编码单元的量化系数增量大于上述参考数值区间的最大值,则将上述目标图像编码单元的量化系数增量更新为上述参考数值区间的最大值;
若上述目标图像编码单元的量化系数增量小于上述参考数值区间的最小值,则将上述目标图像编码单元的量化系数增量更新为上述参考数值区间的最小值;
根据上述量化系数增量与率失真系数权重的对应关系,以及上述目标图像编码单元的更新后的量化系数增量,确定上述率失真系数权重。
在一种可能的实现方式中,上述计算机存储介质中的一条或多条第一指令由处理器1001加载并执行根据上述目标代价函数从多种编码模式中确定目标图像编码单元的编码模式操作时,具体用于执行如下操作:
遍历上述多种编码模式,确定上述目标图像编码单元按照当前遍历的编码模式对上述目标图像编码单元进行编码处理得到的参考编码参数;
根据上述参考编码参数对上述目标图像编码单元进行重构,得到上述目标图像编码单元对应的重构图像编码单元;
根据上述目标图像编码单元和上述重构图像编码单元的差异,确定上述目标图像编码单元的失真值;
将上述目标图像编码单元的失真值和上述参考编码参数作为上述目标代价函数的输入,得到当前遍历的编码模式的编码代价;
在遍历结束后,将编码代价最小的编码模式确定为上述目标图像编码单元的编码模式。
在一种可能的实现方式中,上述图像指的是视频中的任一图像帧;上述计算机存储介质中的一条或多条第一指令由处理器1001加载并执行将上述编码模式指示的编码参数传输至解码端的操作时,具体用于执行如下操作:
在获取到上述视频的各个图像帧的各个图像编码单元的编码参数之后,将上述视频的编码参数发送至上述解码端;其中,上述视频的编码参数包括上述视频的各个图像帧的各个图像编码单元的编码参数。
在一种可能的实现方式中,上述计算机存储介质中的一条或多条第一指令由处理器1001加载并还用于执行如下操作:
若上述目标图像编码单元的尺寸小于或者等于设定尺寸阈值,则触发执行上述根据量化系数增量与率失真系数的关联关系,以及上述目标图像编码单元的量化系数增量,确定上述目标图像编码单元对应的目标率失真系数。
在一种可能的实现方式中,上述计算机存储介质中的一条或多条第一指令由处理器1001加载并执行获取图像中目标图像编码单元的量化系数增量,具体用于执行如下操作:
获取视频,并将上述视频划分为多个图像编码单元;
获取划分的多个图像编码单元中每个图像编码单元的量化系数;
根据每个图像编码单元的量化系数中上述目标图像编码单元的量化系数和参考图像编码单元的量化系数,确定上述目标图像编码单元的量化系数增量。
本申请实施例的上述处理器1001所执行的各个步骤的具体实现可参考前述实施例中相关内容的描述,亦可达到相同的技术效果,在此不再赘述。
本申请实施例还公开了一种电子设备,请参见图11,该电子设备至少可包括处理器1101、通信接口1102以及计算机存储介质1103。其中,电子设备内的处理器1101、通信接口1102以及计算机存储介质1103可通过总线或其他方式连接。该电子设备可以是上述图1中的视频解码设备。
上述计算机存储介质1103是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质1103既可以包括电子设备的内置存储介质,当然也可以包括电子设备支持的扩展存储介质。计算机存储介质1103提供存储空间,该存储空间存储了电子设备的操作系统。并且,在该存储空间中还存放了适于被处理器1101加载并执行的一条或多条指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器;可选的,还可以是至少一个远离前述处理器的计算机存储介质、上述处理器可以称为中央处理单元(Central ProcessingUnit,CPU),是电子设备的核心以及控制中心,适于被实现一条或多条指令,具体加载并执行一条或多条指令从而实现相应的方法流程或功能。
在一种实施方式中,可由处理器1101加载并执行计算机存储介质中存放的一条或多条第一指令,以实现上述有关编码参数的传输方法实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条第一指令由处理器1101加载并执行如下操作:
接收来自编码端的编码参数和图像的量化系数,上述编码参数为上述图像中的目标图像编码单元的编码模式指示的编码参数,上述目标图像编码单元为上述图像划分的多个图像编码单元中的任一图像编码单元;
根据上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块。
在一种可能的实现方式中,上述编码参数包括上述目标图像编码单元的残差信息和编码模式信息;上述残差信息为上述目标图像编码单元与构建图像编码单元的差异经过量化处理得到的信息;上述构建图像编码单元为基于上述编码模式信息构建出的图像编码单元,上述量化处理的参数为上述图像的量化系数;计算机存储介质中的一条或多条第一指令由处理器1101加载并执行根据上述编码参数和上述图像的量化系数进行解码处理,得到上述目标图像编码单元对应的图像块的操作时,具体用于执行如下操作:
根据上述量化系数对上述残差信息进行反量化处理,得到目标残差信息;
根据上述编码参数中的上述编码模式信息进行预测处理,得到上述构建图像编码单元;
根据上述目标残差信息和上述构建图像编码单元,确定上述目标图像编码单元对应的图像块。
本申请实施例的上述处理器1101所执行的各个步骤的具体实现可参考前述实施例中相关内容的描述,亦可达到相同的技术效果,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,上述计算机程序被处理器执行时,实现前述实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,上述计算机程序产品包括计算机程序或计算机指令,上述计算机程序或计算机指令被处理器执行时实现前述实施例提供的编码参数的传输方法。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (14)
1.一种编码参数的传输方法,其特征在于,包括:
获取图像中目标图像编码单元的量化系数增量,所述目标图像编码单元为所述图像划分的多个图像编码单元中的任一图像编码单元;
根据量化系数增量与率失真系数的关联关系,以及所述目标图像编码单元的量化系数增量,确定所述目标图像编码单元对应的目标率失真系数;
根据所述目标率失真系数确定所述目标图像编码单元的目标代价函数;其中,所述目标代价函数为将初始率失真系数替换为所述目标率失真系数的代价函数;
根据所述目标代价函数从多种编码模式中确定所述目标图像编码单元的编码模式;
将所述编码模式指示的编码参数和所述图像的量化系数传输至解码端,以使所述解码端基于所述编码参数和所述图像的量化系数进行解码处理,得到所述目标图像编码单元对应的图像块。
2.根据权利要求1所述的方法,其特征在于,所述根据量化系数增量与率失真系数的关联关系,以及所述目标图像编码单元的量化系数增量,确定所述目标图像编码单元对应的目标率失真系数,包括:
根据量化系数与率失真系数的对应关系,以及所述图像的量化系数,确定所述目标图像编码单元的初始率失真系数;
根据量化系数增量与率失真系数权重的对应关系,以及所述目标图像编码单元的量化系数增量,确定所述目标图像编码单元的率失真系数权重;
根据所述初始率失真系数和所述率失真系数权重,确定所述目标率失真系数。
3.根据权利要求2所述的方法,其特征在于,所述根据量化系数增量与率失真系数权重的对应关系,以及所述目标图像编码单元的量化系数增量,确定所述目标图像编码单元的率失真系数权重,包括:
获取截断函数,所述截断函数包括参考数值区间;
若所述目标图像编码单元的量化系数增量大于所述参考数值区间的最大值,则将所述目标图像编码单元的量化系数增量更新为所述参考数值区间的最大值;
若所述目标图像编码单元的量化系数增量小于所述参考数值区间的最小值,则将所述目标图像编码单元的量化系数增量更新为所述参考数值区间的最小值;
根据所述量化系数增量与率失真系数权重的对应关系,以及所述目标图像编码单元的更新后的量化系数增量,确定所述率失真系数权重。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标代价函数从多种编码模式中确定目标图像编码单元的编码模式,包括:
遍历所述多种编码模式,确定所述目标图像编码单元按照当前遍历的编码模式对所述目标图像编码单元进行编码处理得到的参考编码参数;
根据所述参考编码参数对所述目标图像编码单元进行重构,得到所述目标图像编码单元对应的重构图像编码单元;
根据所述目标图像编码单元和所述重构图像编码单元的差异,确定所述目标图像编码单元的失真值;
将所述目标图像编码单元的失真值和所述参考编码参数作为所述目标代价函数的输入,得到当前遍历的编码模式的编码代价;
在遍历结束后,将编码代价最小的编码模式确定为所述目标图像编码单元的编码模式。
5.根据权利要求1所述的方法,其特征在于,所述图像指的是视频中的任一图像帧;所述将所述编码模式指示的编码参数传输至解码端,包括:
在获取到所述视频的各个图像帧的各个图像编码单元的编码参数之后,将所述视频的编码参数发送至所述解码端;其中,所述视频的编码参数包括所述视频的各个图像帧的各个图像编码单元的编码参数。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
若所述目标图像编码单元的尺寸小于或者等于设定尺寸阈值,则触发执行所述根据量化系数增量与率失真系数的关联关系,以及所述目标图像编码单元的量化系数增量,确定所述目标图像编码单元对应的目标率失真系数。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述获取图像中目标图像编码单元的量化系数增量,包括:
获取视频,并将所述视频划分为多个图像编码单元;
获取划分的多个图像编码单元中每个图像编码单元的量化系数;
根据每个图像编码单元的量化系数中所述目标图像编码单元的量化系数和参考图像编码单元的量化系数,确定所述目标图像编码单元的量化系数增量。
8.一种编码参数的传输方法,其特征在于,包括:
接收来自编码端的编码参数和图像的量化系数,所述编码参数为所述图像中的目标图像编码单元的编码模式指示的编码参数,所述目标图像编码单元为所述图像划分的多个图像编码单元中的任一图像编码单元;
根据所述编码参数和所述图像的量化系数进行解码处理,得到所述目标图像编码单元对应的图像块。
9.根据权利要求8所述的方法,其特征在于,所述编码参数包括所述目标图像编码单元的残差信息和编码模式信息;所述残差信息为所述目标图像编码单元与构建图像编码单元的差异经过量化处理得到的信息;所述构建图像编码单元为基于所述编码模式信息构建出的图像编码单元,所述量化处理的参数为所述图像的量化系数;
所述根据所述编码参数和所述图像的量化系数进行解码处理,得到所述目标图像编码单元对应的图像块,包括:
根据所述量化系数对所述残差信息进行反量化处理,得到目标残差信息;
根据所述编码参数中的所述编码模式信息进行预测处理,得到所述构建图像编码单元;
根据所述目标残差信息和所述构建图像编码单元,确定所述目标图像编码单元对应的图像块。
10.一种编码参数的传输装置,其特征在于,包括:
获取单元,用于获取图像中目标图像编码单元的量化系数增量,所述目标图像编码单元为所述图像划分的多个图像编码单元中的任一图像编码单元;
确定单元,用于根据量化系数增量与率失真系数的关联关系,以及所述目标图像编码单元的量化系数增量,确定所述目标图像编码单元对应的目标率失真系数;
所述确定单元,还用于根据所述目标率失真系数确定所述目标图像编码单元的目标代价函数;其中,所述目标代价函数为将初始率失真系数替换为所述目标率失真系数的代价函数;
所述确定单元,还用于根据所述目标代价函数从多种编码模式中确定所述目标图像编码单元的编码模式;
传输单元,用于将所述编码模式指示的编码参数和所述图像的量化系数传输至解码端,以使所述解码端基于所述编码参数和所述图像的量化系数进行解码处理,得到所述目标图像编码单元对应的图像块。
11.一种编码参数的传输装置,其特征在于,包括:
接收单元,用于接收来自编码端的编码参数和图像的量化系数,所述编码参数为所述图像中的目标图像编码单元的编码模式指示的编码参数,所述目标图像编码单元为所述图像划分的多个图像编码单元中的任一图像编码单元;
解码单元,用于根据所述编码参数和所述图像的量化系数进行解码处理,得到所述目标图像编码单元对应的图像块。
12.一种编码参数的传输设备,其特征在于,包括处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,实现如权利要求1-7或者8-9中任一项所述的编码参数的传输方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7或者8-9中任一项所述的编码参数的传输方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现如权利要求1-7或者8-9中任一项所述的编码参数的传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310416726.2A CN116527909A (zh) | 2023-04-11 | 2023-04-11 | 编码参数的传输方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310416726.2A CN116527909A (zh) | 2023-04-11 | 2023-04-11 | 编码参数的传输方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116527909A true CN116527909A (zh) | 2023-08-01 |
Family
ID=87396842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310416726.2A Pending CN116527909A (zh) | 2023-04-11 | 2023-04-11 | 编码参数的传输方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116527909A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858160A (zh) * | 2022-12-07 | 2023-03-28 | 江苏为是科技有限公司 | 远程直接内存访问虚拟化资源分配方法及装置、存储介质 |
-
2023
- 2023-04-11 CN CN202310416726.2A patent/CN116527909A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858160A (zh) * | 2022-12-07 | 2023-03-28 | 江苏为是科技有限公司 | 远程直接内存访问虚拟化资源分配方法及装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5957561B2 (ja) | 大きいサイズの変換単位を用いた映像符号化、復号化方法及び装置 | |
KR100867995B1 (ko) | 동영상 데이터 인코딩/디코딩 방법 및 그 장치 | |
US20230300384A1 (en) | Method and apparatus for entropy-encoding and entropy-decoding video signal | |
CN108574841B (zh) | 一种基于自适应量化参数的编码方法及装置 | |
US10123047B2 (en) | Method and apparatus for image encoding/decoding | |
US9047669B1 (en) | Bit rate control for data compression | |
KR20130004180A (ko) | 고정소수점 변환을 위한 비트뎁스 조절을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 | |
US20190297352A1 (en) | Method and apparatus for image encoding/decoding | |
CN110944179B (zh) | 一种视频数据解码方法及装置 | |
CN116527909A (zh) | 编码参数的传输方法、装置、设备、存储介质及程序产品 | |
CN115118976A (zh) | 一种图像编码方法、可读介质及其电子设备 | |
KR102520626B1 (ko) | 아티팩트 감소 필터를 이용한 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 | |
EP3335425A1 (en) | Vector quantization for video coding using codebook generated by selected training signals | |
KR20170027288A (ko) | 시간 상관도에 기반한 고속 영상 부호화 방법 | |
KR20030060009A (ko) | 사람의 시각적 특성을 고려한 적응적 부호화 방법 및 장치 | |
WO2022022299A1 (zh) | 视频编解码中的运动信息列表构建方法、装置及设备 | |
US10764577B2 (en) | Non-MPM mode coding for intra prediction in video coding | |
CN116982262A (zh) | 视频编码中依赖性量化的状态转换 | |
KR102020953B1 (ko) | 카메라 영상의 복호화 정보 기반 영상 재 부호화 방법 및 이를 이용한 영상 재부호화 시스템 | |
CN112887714A (zh) | 一种视频编码比特资源重分配方法 | |
CN111885378B (zh) | 多媒体数据编码方法、装置、设备以及介质 | |
WO2012049876A1 (ja) | 動画像符号化方法および復号方法 | |
US20240064298A1 (en) | Loop filtering, video encoding, and video decoding methods and apparatus, storage medium, and electronic device | |
Doutsi et al. | Retina-inspired video codec | |
CN113727103B (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 |