CN112422964A - 一种渐进式编码方法及装置 - Google Patents
一种渐进式编码方法及装置 Download PDFInfo
- Publication number
- CN112422964A CN112422964A CN202011197633.8A CN202011197633A CN112422964A CN 112422964 A CN112422964 A CN 112422964A CN 202011197633 A CN202011197633 A CN 202011197633A CN 112422964 A CN112422964 A CN 112422964A
- Authority
- CN
- China
- Prior art keywords
- quantization
- matrix block
- frame
- block
- ith
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000000750 progressive effect Effects 0.000 title claims abstract description 44
- 238000013139 quantization Methods 0.000 claims abstract description 268
- 239000011159 matrix material Substances 0.000 claims abstract description 210
- 230000009466 transformation Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
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
本公开提供一种渐进式编码方法及装置,涉及计算机技术领域,能够解决现有技术中渐进式编码方法对编码码流控制范围小的问题。具体技术方案为:首先获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;在第i+1个帧中的目标宏块与第i个帧中的目标宏块相同时,将第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;根据第i+1矩阵块获得第i+1量化系数;在第i+1量化系数小于或等于第一预设阈值时,根据第一预设阈值对应的预设量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块;对第i+1量化矩阵块进行编码处理。本公开用于渐进式编码。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种渐进式编码方法及装置。
背景技术
视频压缩算法通过将每一帧图像的数据压缩,进行存储或者在网络上进行传输。vgtp编解码是为解决视频图像实时传输的一种压缩算法,压缩后的视频码流需要在网络上进行传输就需要占用网络带宽,在不同的应用场景中,网络的带宽大小是不同的。为了保证编码帧率以及图像的清晰度,需要通过渐进式编码的方法来削减码流大小来保证生成的码流可以和网络带宽进行匹配。
但是,现有的渐进式编码方法对编码的码流控制范围小,如果遇到网络带宽比真实码流小,则导致传输发生拥塞,从而影响整个***的稳定性。
发明内容
本公开实施例提供一种渐进式编码方法及装置,能够解决现有技术中渐进式编码方法对编码码流控制范围小的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种渐进式编码方法,该方法包括:
获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;
在所述第i+1个帧中的目标宏块与所述第i个帧中的目标宏块相同时,将所述第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;
根据所述第i+1矩阵块获得第i+1量化系数;
在所述第i+1量化系数小于或等于所述第一预设阈值时,根据所述第一预设阈值对应的预设量化系数表对所述第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,所述第一预设阈值用于指示图像达到的最高限制清晰度;
对所述第i+1量化矩阵块进行编码处理。
本公开实施例提供的渐进式编码方法,首先获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;在第i+1个帧中的目标宏块与第i个帧中的目标宏块相同时,将第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;根据第i+1矩阵块获得第i+1量化系数;在第i+1量化系数小于或等于第一预设阈值时,根据第一预设阈值对应的预设量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,第一预设阈值用于指示图像达到的最高限制清晰度;对第i+1量化矩阵块进行编码处理。本公开通过将上一帧相同宏块已经计算出来的第i+1矩阵块采用更精细的量化参数进行量化,从而逐渐的提升显示端画面的清晰度,该方法能保证编码码流有一个较大的活动范围,从而在满足帧率的基础上提升清晰度。
在一个实施例中,上述方法还包括:
在所述第i+1量化系数大于所述第一预设阈值时,根据所述第i+1量化系数对应的量化系数表对所述第i+1矩阵块进行量化处理,获得第i+1量化矩阵块;
对所述i+1量化矩阵块进行编码处理。
本公开实施例通过上述方法,当第i+1量化系数大于第一预设阈值时,以第i+1量化系数对应的量化系数表对第i+1矩阵块进行量化处理,进一步提高图像的清晰度。
在一个实施例中,将所述第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块包括:
对所述第i量化矩阵块进行反量化处理,获得第i反量化矩阵块;
计算所述第i矩阵块和所述第i反量化矩阵块的残差,将所述残差确定为所述第i+1个帧对应的第i+1矩阵块。
本公开实施例通过以上方法,首先获得第i反量化矩阵块,再计算第i矩阵块和第i反量化矩阵块的残差,即可获得第i+1个帧对应的第i+1矩阵块。
在一个实施例中,根据所述第i+1矩阵块获得第i+1量化系数包括:
根据公式一计算所述第i+1量化系数,所述公式一包括:
ki+1=a*total_aci+1/target_bit+b
其中,ki+1为第i+1量化系数;a、b为参数;total_aci+1为第i+1矩阵块绝对值的总和;target_bit为目标码流。
本公开实施例通过以上方法,可以根据第i+1矩阵块获得第i+1量化系数,有利于后续根据该第i+1量化系数对第i+1矩阵块进行量化。
在一个实施例中,在i=1时,所述方法还包括:
获取第1个帧中的目标宏块;
对所述第1个帧中的目标宏块进行DCT变换处理,获得第1矩阵块;
根据所述第1矩阵块获得第1量化系数;
根据所述第1量化系数对应的量化系数表对所述第1矩阵块进行量化处理,获得第1量化矩阵块;
对所述第1量化矩阵块进行编码处理。
本公开实施例通过以上方法,可以对初始阶段第一帧中的目标宏块进行编码处理。
在一个实施例中,对所述第1目标帧中的目标宏块进行DCT变换处理,获得第1矩阵块包括:
对所述第1目标帧中的目标宏块中的至少一个像素点进行第二预设阈值的等级偏移;
对等级偏移后的所述第1目标帧中的目标宏块进行DCT变换处理,获得第1矩阵块。
本公开实施例通过以上方法,对目标宏块进行等级偏移,有利于减小绝对值波动,降低了随后的DCT处理阶段中的动态范围要求。
在一个实施例中,上述方法还包括:
在所述第i+1个帧中的目标宏块与所述第i个帧中的目标宏块不同时,将所述第i+1个帧中的目标宏块确定为第1个帧中的目标宏块,执行权利要求5所述的方法。
本公开实施例通过以上方法,当第i+1个帧中的目标宏块与第i个帧中的目标宏块不同时,将第i+1个帧中的目标宏块确定为第一帧中的目标宏块,进行后续的DCT变换、量化和编码。
根据本公开实施例的第二方面,提供一种渐进式编码装置,包括:第一获取模块、确定模块、第二获取模块、量化模块和编码模块;
所述第一获取模块,用于获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;
所述确定模块,用于在所述第i+1个帧中的目标宏块与所述第i个帧中的目标宏块相同时,将所述第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;
所述第二获取模块,用于根据所述第i+1矩阵块获得第i+1量化系数;
所述量化模块,用于在所述第i+1量化系数小于或等于所述第一预设阈值时,根据所述第一预设阈值对应的预设量化系数表对所述第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,所述第一预设阈值用于指示图像达到的最高限制清晰度;
所述编码模块,用于对所述第i+1量化矩阵块进行编码处理。
本公开实施例提供的装置,包括第一获取模块、确定模块、第二获取模块、量化模块和编码模块;第一获取模块获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;确定模块在第i+1个帧中的目标宏块与第i个帧中的目标宏块相同时,将第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;第二获取模块根据第i+1矩阵块获得第i+1量化系数;量化模块在第i+1量化系数小于或等于第一预设阈值时,根据第一预设阈值对应的预设量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,第一预设阈值用于指示图像达到的最高限制清晰度;编码模块对第i+1量化矩阵块进行编码处理。本公开通过将上一帧相同宏块已经计算出来的第i+1矩阵块采用更精细的量化参数进行量化,从而逐渐的提升显示端画面的清晰度,该方法能保证编码码流有一个较大的活动范围,从而在满足帧率的基础上提升清晰度。
根据本公开实施例的第三方面,提供一种渐进式编码设备,所述渐进式编码设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现上述任一项所述的渐进式编码方法中所执行的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现上述任一项所述的渐进式编码方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种渐进式编码方法的流程图;
图2是本公开实施例提供的一种渐进式编码方法的流程图;
图3是本公开实施例提供的原始图像中的目标宏块;
图4是本公开实施例提供的等级推移后的目标宏块;
图5是本公开实施例提供的目标宏块DCT变换后获得的DCT系数块;
图6是本公开实施例提供的目标宏块DCT变换、量化原理图;
图7是本公开实施例提供的使用标准亮度量化表进行量化获得的矩阵块;
图8是本公开实施例提供的反量化后的矩阵块和DCT系数块的残差1原理图;
图9是本公开实施例提供的使用标准量化表的反量化矩阵块;
图10是本公开实施例提供的使用标准量化表得到的DCT残差;
图11是本公开实施例提供的DCT残差1使用0.5倍基准的量化矩阵块进行量化的原理图;
图12是本公开实施例提供的反量化后的DCT残差1与DCT残差1获得DCT残差2的原理图;
图13是本公开实施例提供的一种渐进式编码装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
标准的jpeg编码时,利用编码表将量化后的8*8系数进行熵编码,编码码流的大小完全取决于量化后系数的绝对值大小,因此编码后的码流不可控;
由于码流的大小与量化后系数的绝对值相关,因此通过调整量化表的大小就可改变编码的码流。基于此,本公开实施例提供一种渐进式编码方法,如图1所示,该渐进式编码方法包括以下步骤:
步骤101、获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;
具体的,目标宏块包括N*M个像素,其中,M和N可以相等,也可以不相等。
步骤102、在第i+1个帧中的目标宏块与第i个帧中的目标宏块相同时,将第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;
在一个实施例中,将第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块包括:
对第i量化矩阵块进行反量化处理,获得第i反量化矩阵块;
计算第i矩阵块和第i反量化矩阵块的残差,将残差确定为第i+1个帧对应的第i+1矩阵块。
本公开实施例通过以上方法,首先获得第i反量化矩阵块,再计算第i矩阵块和第i反量化矩阵块的残差,即可获得第i+1个帧对应的第i+1矩阵块。
步骤103、根据第i+1矩阵块获得第i+1量化系数;
在一个实施例中,根据第i+1矩阵块获得第i+1量化系数包括:
根据公式一计算第i+1量化系数,公式一包括:
ki+1=a*total_aci+1/target_bit+b
其中,ki+1为第i+1量化系数;a、b为参数;total_aci+1为第i+1矩阵块绝对值的总和;target_bit为目标码流。
具体的,编码的码流和量化后系数的绝对值相关,而量化后系数和DCT变换后的系数以及量化表相关。因此,可以通过目标码流target_bit,DCT变换后系数,也就是第i+1矩阵块绝对值的总和,以及标准量化表Q,来计算标准量化表的放大或缩小系数ki+1。
实际使用中,a可以取值0.0021,b可以取值2。需要说明的是,上述a、b的值在不同的画面场景可能有些许变化,在实际使用中需要根据实际情况进行确定。另外,其中目标码流target_bit是根据网路带宽的大小平均分配到每个编码块上面的。
本公开实施例通过以上方法,可以根据第i+1矩阵块获得第i+1量化系数,有利于后续根据该第i+1量化系数对第i+1矩阵块进行量化。
步骤104、在第i+1量化系数小于或等于第一预设阈值时,根据第一预设阈值对应的预设量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,第一预设阈值用于指示图像达到的最高限制清晰度;
具体的,在实际编码过程中不可能不断缩小量化系数表来一直提升画面的质量。因此需要根据vgtp编码应用场景的画面质量要求确定一个量化表的限制值,即k的最小值min_k,当计算的k小于min_k,则k=min_k。
一般来说,jpeg编码器本身使用的量化表是一个标准的量化表。vgtp算法通过给量化表乘以一个系数,可以使得这个量化表整体的放大或者缩小。本公开就是通过对标准量化表的每个系数乘以k得到新的量化系数表。当量化系数表整体增大的时候,对DCT矩阵块进行量化后,会导致真实的画面损失较大,但码流减小;当量化系数表整体缩小的时候,对DCT矩阵块进行量化后,对真实画面的损失较小,但码流增大。
实际使用中,在第i+1量化系数小于或等于第一预设阈值时,则根据第一预设阈值对应的预设量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块。此时,第i+1量化系数小于或等于第一预设阈值,说明图像的清晰度已经达到预设的清晰程度,循环结束,后续对获得的第i+1量化矩阵块进行编码处理。
步骤105、对第i+1量化矩阵块进行编码处理。
在一个实施例中,上述方法还包括:
在第i+1量化系数大于第一预设阈值时,根据第i+1量化系数对应的量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块;
对i+1量化矩阵块进行编码处理。
本公开实施例通过上述方法,当第i+1量化系数大于第一预设阈值时,以第i+1量化系数对应的量化系数表对第i+1矩阵块进行量化处理,进一步提高图像的清晰度,且此时,因为第i+1量化系数大于第一预设阈值,说明图像的清晰度还未达到预设的清晰程度,因此需要根据这一帧的矩阵块和量化矩阵块得到下一帧的矩阵块,再进行量化、编码处理。
在一个实施例中,在i=1时,方法还包括:
获取第1个帧中的目标宏块;
对第1个帧中的目标宏块进行DCT变换处理,获得第1矩阵块;
根据第1矩阵块获得第1量化系数;
根据第1量化系数对应的量化系数表对第1矩阵块进行量化处理,获得第1量化矩阵块;
对第1量化矩阵块进行编码处理。
具体的,通过DCT(Discrete Cosine Transform)变换将原始图像中的宏块这个色彩空间域,转换为频谱域。变换过程中得到DCT矩阵块,然后通过量化的方式,优化DCT系数得到量化矩阵块。本公开是针对所有DCT系数,以同样的方法放大缩小相应的量化表,包括亮度量化表和色度量化表。第一帧中的目标宏块需要经过DCT变换、量化处理后进行编码。
本公开实施例通过以上方法,可以对初始阶段第一帧中的目标宏块进行编码处理。
在一个实施例中,对第1目标帧中的目标宏块进行DCT变换处理,获得第1矩阵块包括:
对第1目标帧中的目标宏块中的至少一个像素点进行第二预设阈值的等级偏移;
对等级偏移后的第1目标帧中的目标宏块进行DCT变换处理,获得第1矩阵块。
实际应用中,对于8×8块的目标宏块中的每个条目都在[0,255]范围内,设置第二预设阈值为128,也就是从每个条目中减去范围的中点以产生以零为中心的数据范围,使得修改的范围是[-128,127]。
本公开实施例通过以上方法,对目标宏块进行等级偏移,有利于减小绝对值波动,降低了随后的DCT处理阶段中的动态范围要求。
在一个实施例中,上述方法还包括:
在第i+1个帧中的目标宏块与第i个帧中的目标宏块不同时,将第i+1个帧中的目标宏块确定为第1个帧中的目标宏块,执行上述的方法。
具体的,当第i+1个帧中的目标宏块与第i个帧中的目标宏块不同时,将第i+1个帧中的目标宏块确定为第一帧中的目标宏块,进行后续的DCT变换、量化和编码。
本公开实施例通过一个具体的例子进行说明:
获取第1个帧中的目标宏块;
对第1个帧中的目标宏块进行DCT变换处理,获得第1矩阵块;
根据第1矩阵块获得第1量化系数;
根据第1量化系数对应的量化系数表对第1矩阵块进行量化处理,获得第1量化矩阵块;
对第1量化矩阵块进行编码处理。
然后获取第2个帧中与第1个帧中相同位置的目标宏块;
在第2个帧中的目标宏块与第1个帧中的目标宏块相同时,将第1个帧对应的第1矩阵块和第1量化矩阵块的残差确定为第2个帧对应的第2矩阵块;
根据第2矩阵块获得第2量化系数;
在第2量化系数大于第一预设阈值时,根据第2量化系数对应的量化系数表对第2矩阵块进行量化处理,获得第2量化矩阵块;
对2量化矩阵块进行编码处理;
继续获取第3个帧中与第2个帧中相同位置的目标宏块;
在第3个帧中的目标宏块与第2个帧中的目标宏块相同时,将第2个帧对应的第2矩阵块和第2量化矩阵块的残差确定为第3个帧对应的第3矩阵块;
根据第3矩阵块获得第3量化系数;
在第3量化系数小于或等于第一预设阈值时,根据第一预设阈值对应的预设量化系数表对第3矩阵块进行量化处理,获得第3量化矩阵块;
对第3量化矩阵块进行编码处理,至此,对于该目标宏块的编码结束。
若上述第3量化系数大于第一预设阈值时,根据第3量化系数对应的量化系数表对第3矩阵块进行量化处理,获得第3量化矩阵块;
对第3量化矩阵块进行编码处理;
获取第4个帧中与第3个帧中相同位置的目标宏块;
若第4个帧中的目标宏块与第3个帧中的目标宏块不同,则将第4个帧中的目标宏块重新确认为第1个帧进行编码处理。
本公开实施例提供的渐进式编码方法,首先获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;在第i+1个帧中的目标宏块与第i个帧中的目标宏块相同时,将第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;根据第i+1矩阵块获得第i+1量化系数;在第i+1量化系数小于或等于第一预设阈值时,根据第一预设阈值对应的预设量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,第一预设阈值用于指示图像达到的最高限制清晰度;对第i+1量化矩阵块进行编码处理。本公开通过将上一帧相同宏块已经计算出来的第i+1矩阵块采用更精细的量化参数进行量化,从而逐渐的提升显示端画面的清晰度,该方法能保证编码码流有一个较大的活动范围,从而在满足帧率的基础上提升清晰度。
基于上述图1对应的实施例提供的渐进式编码方法,本公开另一实施例提供一种渐进式编码方法,如图2所示。
本公开实施例中,需要编码的8*8系数在当前块第一次编码的时候,需要编码的系数就是DCT变换后的系数,在循环到下一次编码的时候,需要编码的系数是上一次量化后反量化的系数值和上一次量化之前的系数相减得到的系数值。这个相减的系数差值可以定义为量化系数残差,通过反复的对计算量化残差并编码,可以逐渐减小残差值,这个值代表DCT变换后系数和已经编码的系数的差值,这个差值越小,解码端得到的画面越清晰。
实际使用中,为了控制编码的码流大小,就需要使用合适的量化参数表来对DCT变换后的系数进行量化,由于编码的码流和量化后系数的绝对值相关,同时量化后系数和DCT变化后的系数以及量化表相关。因此可以通过目标码流target_bit,DCT变换后系数,以及标准量化表来计算标准量化表的放大或缩小系数k;
使用标准的量化表对DCT变换后的系数进行量化,将量化后的系数的绝对值球和得到total_ac,利用如下公式:
k=0.0021*total_ac/target_bit+2;
需要说明的是上述公式中的系数值以及关系是可以通过实验得到的,在不同的画面场景公式中对象的系数可能有些许变化,在实际使用中需要根据实际情况进行确定。其中目标码流target_bit是根据网路带宽的大小平均分配到每个编码块上面的。
另外,在实际编码过程中不可能不断缩小量化表来一直提升画面的质量。因此需要根据vgtp编码应用场景的画面质量要求确定一个量化表的限制值,即k的最小值min_k,当计算的k小于min_k,则k=min_k。
再通过对标准量化表的每个系数乘以k得到新的量化表。
也就是说,基于残差的渐进式编码主要是依赖于量化表。jpeg编码器本身使用的量化表是一个标准的量化表。vgtp算法通过给量化表乘以一个参数,可以使得这个量化表整体的放大或者缩小。当量化表整体增大的时候,对DCT系数进行量化后,会导致真实的画面损失较大,但码流减小;当量化表整体缩小的时候,对DCT系数进行量化后,对真实画面的损失较小,但码流增大。
参照图2,该渐进式编码方法包括以下步骤:
步骤201、获取原始图像中的目标宏块;
如图3所示,本实施例中,目标宏块为8*8大小的宏块。
步骤202、对目标宏块进行预处理;
本实施例中,由于一个字节是0~255,为了减小绝对值波动,将目标宏块中的各像素点等级推移128,范围变为-128至127,如图4所示。
步骤203、DCT变换得到需要编码的系数;
接上例,使用DCT变换,并四舍五入取最接近的整数,将取样块由时间域转换为频域的DCT系数块,如图5所示。
步骤204、量化得到量化后的系数
图6所示,以亮度表为例,使用量化矩阵(放大1.5倍基准矩阵后的量化矩阵)与DCT系数矩阵,得到最终量化后的矩阵。
例如:取整可以是四舍五入取整,也可以是下取整,本公开实施例设置的是正数向下,负数向上取整,并不是实质性限定本公开的内容。
图7为使用标准亮度量化表进行量化获得的矩阵块,可以看出,使用标准量化表的矩阵块系数比本公开中使用1.5倍基准的矩阵块绝对值大。
步骤205、使用标准的熵编码方式对上述系数进行编码;
步骤206、反量化,反量化就是用量化后的系数乘以相应的量化表
例如,反量化后的矩阵就是用上面量化后的值17乘以量化表中的24等于-408,如图8所示。图9为对比图,是用标准量化表得到的,即用上面标准量化表量化后的值26乘以标准量化表中的16等于416。
步骤207、计算残差,即计算需要编码的系数
残差是第二步通过反量化后的矩阵和初始DCT变换系数相减得到的矩阵,就是-415-(-408)=-7,如图8所示。
残差中的每个系数的绝对值都比上一次的残差中相应位置系数的绝对值要小或者等于,这就代表编码的损失越小,同样的,解码端画面的清晰度就越好。
图10是用标准量化表得到的残差,即-415-(-416)=1。
步骤208、通过对DCT残差1使用更精细的量化参数表进行量化;
如图11所示,使用0.5倍基准的量化矩阵块进行量化。
步骤209、通过反量化并与DCT残差1系数相减得到DCT量化残差2。
如图12所示,为DCT量化残差2,对比量化残差1和量化残差2可以发现量化残差2比量化残差1更小,说明使用逐渐精细的量化表能够减小量化残差,同时提升画面清晰度。
实际使用中,只需要根据画面的清晰度要求重复上述步骤使用逐渐精细的量化参数表重新对DCT系数的残差进行量化并编码,逐渐的提升画面清晰度。通过这种方式会使得编码的每帧码流减小以适应网络带宽的需求。
本公开把量化表的大小从大到小排列为a,b,c,d,e;如果编码的时候直接使用量化表a,则编码的画面清晰度就是目标清晰度,因为a的量化表最小,但是编码的码流较大;
本专利通过先使用e,再使用d,c,b,a;这样的话可以保证每帧编码的码流比较小。当最后使用a后,通过逐渐减小的量化表导致的最终残差和直接使用a后导致的残差基本相同;这样的话这种渐进的清晰度和直接使用a的清晰度是相同的,即目标清晰度。
本公开通过逐渐的提升显示端画面的清晰度,该方法能保证编码码流有一个较大的活动范围,从而在满足帧率的基础上提升清晰度。
现有技术中每次使用统一的目标量化表,则每次编码的码流大小不可控,通常码流较大,如果需要满足带宽需求就需要通过丢帧的方式保证编码器生成的码流大小和网络带宽相匹配。本公开通过调整量化表的大小就可以改变每个块编码的码流的大小,同时改变一帧的编码码流,这样就不需要通过丢帧来满足带宽对码流的需求。只要在编码的过程中使用了目标的量化参数表(目标量化参数表就对应着目标清晰度),就使当前帧达到了目标清晰度。
基于上述图1和图2对应的实施例中所描述的渐进式编码方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种装置,如图13所示,该装置30包括第一获取模块301、确定模块302、第二获取模块303、量化模块304和编码模块305;
第一获取模块301,用于获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;
确定模块302,用于在第i+1个帧中的目标宏块与第i个帧中的目标宏块相同时,将第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;
第二获取模块303,用于根据第i+1矩阵块获得第i+1量化系数;
量化模块304,用于在第i+1量化系数小于或等于第一预设阈值时,根据第一预设阈值对应的预设量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,第一预设阈值用于指示图像达到的最高限制清晰度;
编码模块305,用于对第i+1量化矩阵块进行编码处理。
本公开实施例提供的装置,包括第一获取模块301、确定模块302、第二获取模块303、量化模块304和编码模块305;第一获取模块301获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;确定模块302在第i+1个帧中的目标宏块与第i个帧中的目标宏块相同时,将第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;第二获取模块303根据第i+1矩阵块获得第i+1量化系数;量化模块304在第i+1量化系数小于或等于第一预设阈值时,根据第一预设阈值对应的预设量化系数表对第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,第一预设阈值用于指示图像达到的最高限制清晰度;编码模块305对第i+1量化矩阵块进行编码处理。本公开通过将上一帧相同宏块已经计算出来的第i+1矩阵块采用更精细的量化参数进行量化,从而逐渐的提升显示端画面的清晰度,该方法能保证编码码流有一个较大的活动范围,从而在满足帧率的基础上提升清晰度。
基于上述图1和图2对应的实施例中描述的渐进式编码方法,本公开另一实施例还提供一种渐进式编码设备,该渐进式编码设备包括处理器和存储器,存储器中存储有至少一条计算机指令,该指令由处理器加载并执行以实现上述图1和图2对应的实施例中所描述的渐进式编码方法。
基于上述图1和图2对应的实施例中所描述的渐进式编码方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有至少一条计算机指令,用于执行上述图1和图2对应的实施例中所描述的渐进式编码方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种渐进式编码方法,其特征在于,所述方法包括:
获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;
在所述第i+1个帧中的目标宏块与所述第i个帧中的目标宏块相同时,将所述第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;
根据所述第i+1矩阵块获得第i+1量化系数;
在所述第i+1量化系数小于或等于所述第一预设阈值时,根据所述第一预设阈值对应的预设量化系数表对所述第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,所述第一预设阈值用于指示图像达到的最高限制清晰度;
对所述第i+1量化矩阵块进行编码处理。
2.根据权利要求1所述的渐进式编码方法,其特征在于,所述方法还包括:
在所述第i+1量化系数大于所述第一预设阈值时,根据所述第i+1量化系数对应的量化系数表对所述第i+1矩阵块进行量化处理,获得第i+1量化矩阵块;
对所述i+1量化矩阵块进行编码处理。
3.根据权利要求1所述的渐进式编码方法,其特征在于,所述将所述第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块包括:
对所述第i量化矩阵块进行反量化处理,获得第i反量化矩阵块;
计算所述第i矩阵块和所述第i反量化矩阵块的残差,将所述残差确定为所述第i+1个帧对应的第i+1矩阵块。
4.根据权利要求1所述的渐进式编码方法,其特征在于,所述根据所述第i+1矩阵块获得第i+1量化系数包括:
根据公式一计算所述第i+1量化系数,所述公式一包括:
ki+1=a*total_aci+1/target_bit+b
其中,k i+1为第i+1量化系数;a、b为参数;total_ac i+1为第i+1矩阵块绝对值的总和;target_bit为目标码流。
5.根据权利要求1所述的渐进式编码方法,其特征在于,在i=1时,所述方法还包括:
获取第1个帧中的目标宏块;
对所述第1个帧中的目标宏块进行DCT变换处理,获得第1矩阵块;
根据所述第1矩阵块获得第1量化系数;
根据所述第1量化系数对应的量化系数表对所述第1矩阵块进行量化处理,获得第1量化矩阵块;
对所述第1量化矩阵块进行编码处理。
6.根据权利要求5所述的渐进式编码方法,其特征在于,所述对所述第1目标帧中的目标宏块进行DCT变换处理,获得第1矩阵块包括:
对所述第1目标帧中的目标宏块中的至少一个像素点进行第二预设阈值的等级偏移;
对等级偏移后的所述第1目标帧中的目标宏块进行DCT变换处理,获得第1矩阵块。
7.根据权利要求5所述的渐进式编码方法,其特征在于,所述方法还包括:
在所述第i+1个帧中的目标宏块与所述第i个帧中的目标宏块不同时,将所述第i+1个帧中的目标宏块确定为第1个帧中的目标宏块,执行权利要求5所述的方法。
8.一种渐进式编码装置,其特征在于,包括:第一获取模块、确定模块、第二获取模块、量化模块和编码模块;
所述第一获取模块,用于获取第i+1个帧中与第i个帧中相同位置的目标宏块,其中i≥1;
所述确定模块,用于在所述第i+1个帧中的目标宏块与所述第i个帧中的目标宏块相同时,将所述第i个帧对应的第i矩阵块和第i量化矩阵块的残差确定为第i+1个帧对应的第i+1矩阵块;
所述第二获取模块,用于根据所述第i+1矩阵块获得第i+1量化系数;
所述量化模块,用于在所述第i+1量化系数小于或等于所述第一预设阈值时,根据所述第一预设阈值对应的预设量化系数表对所述第i+1矩阵块进行量化处理,获得第i+1量化矩阵块,所述第一预设阈值用于指示图像达到的最高限制清晰度;
所述编码模块,用于对所述第i+1量化矩阵块进行编码处理。
9.根据权利要求8所述的渐进式编码装置,其特征在于,所述量化模块,还用于在所述第i+1量化系数大于所述第一预设阈值时,根据所述第i+1量化系数对应的量化系数表对所述第i+1矩阵块进行量化处理,获得第i+1量化矩阵块。
10.根据权利要求8所述的渐进式编码装置,其特征在于,所述确定模块包括获取单元和确定单元;
所述获取单元,用于对所述第i量化矩阵块进行反量化处理,获得第i反量化矩阵块;
所述确定单元,用于计算所述第i矩阵块和所述第i反量化矩阵块的残差,将所述残差确定为所述第i+1个帧对应的第i+1矩阵块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197633.8A CN112422964B (zh) | 2020-10-30 | 2020-10-30 | 一种渐进式编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197633.8A CN112422964B (zh) | 2020-10-30 | 2020-10-30 | 一种渐进式编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112422964A true CN112422964A (zh) | 2021-02-26 |
CN112422964B CN112422964B (zh) | 2024-05-17 |
Family
ID=74827238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011197633.8A Active CN112422964B (zh) | 2020-10-30 | 2020-10-30 | 一种渐进式编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112422964B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778143A (en) * | 1993-01-13 | 1998-07-07 | Hitachi America, Ltd. | Method and apparatus for the selection of data for use in VTR trick playback operation in a system using progressive picture refresh |
CN101969554A (zh) * | 2009-07-27 | 2011-02-09 | 索尼公司 | 图像编码装置和图像编码方法 |
CN102685470A (zh) * | 2011-03-07 | 2012-09-19 | 航天信息股份有限公司 | 面向avs视频格式的视频数字水印嵌入方法及装置 |
CN104754335A (zh) * | 2015-03-09 | 2015-07-01 | 湖南国科微电子有限公司 | 一种视频编码码率控制方法 |
CN106937112A (zh) * | 2017-03-31 | 2017-07-07 | 西安电子科技大学 | 基于h.264视频压缩标准的码率控制方法 |
CN107566842A (zh) * | 2017-08-31 | 2018-01-09 | 西安万像电子科技有限公司 | 图像编解码压缩的方法、装置和*** |
CN108737836A (zh) * | 2018-06-13 | 2018-11-02 | 北京奇艺世纪科技有限公司 | 一种帧间预测编码方法、装置及电子设备 |
CN110149515A (zh) * | 2019-04-01 | 2019-08-20 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
CN110401833A (zh) * | 2019-06-04 | 2019-11-01 | 西安万像电子科技有限公司 | 图像传输方法及装置 |
CN110958451A (zh) * | 2019-11-13 | 2020-04-03 | 中移物联网有限公司 | 一种视频编码方法及电子设备 |
CN111131831A (zh) * | 2019-12-20 | 2020-05-08 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
CN111556315A (zh) * | 2020-04-07 | 2020-08-18 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
-
2020
- 2020-10-30 CN CN202011197633.8A patent/CN112422964B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778143A (en) * | 1993-01-13 | 1998-07-07 | Hitachi America, Ltd. | Method and apparatus for the selection of data for use in VTR trick playback operation in a system using progressive picture refresh |
CN101969554A (zh) * | 2009-07-27 | 2011-02-09 | 索尼公司 | 图像编码装置和图像编码方法 |
CN102685470A (zh) * | 2011-03-07 | 2012-09-19 | 航天信息股份有限公司 | 面向avs视频格式的视频数字水印嵌入方法及装置 |
CN104754335A (zh) * | 2015-03-09 | 2015-07-01 | 湖南国科微电子有限公司 | 一种视频编码码率控制方法 |
CN106937112A (zh) * | 2017-03-31 | 2017-07-07 | 西安电子科技大学 | 基于h.264视频压缩标准的码率控制方法 |
CN107566842A (zh) * | 2017-08-31 | 2018-01-09 | 西安万像电子科技有限公司 | 图像编解码压缩的方法、装置和*** |
CN108737836A (zh) * | 2018-06-13 | 2018-11-02 | 北京奇艺世纪科技有限公司 | 一种帧间预测编码方法、装置及电子设备 |
CN110149515A (zh) * | 2019-04-01 | 2019-08-20 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
CN110401833A (zh) * | 2019-06-04 | 2019-11-01 | 西安万像电子科技有限公司 | 图像传输方法及装置 |
CN110958451A (zh) * | 2019-11-13 | 2020-04-03 | 中移物联网有限公司 | 一种视频编码方法及电子设备 |
CN111131831A (zh) * | 2019-12-20 | 2020-05-08 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
CN111556315A (zh) * | 2020-04-07 | 2020-08-18 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
李宏伟;吴成柯;宋锐;仵小波;: "自适应预测残差和量化矩阵的码率控制", 北京邮电大学学报, no. 05, 15 October 2010 (2010-10-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN112422964B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762917B2 (en) | Quantization method and apparatus in encoding/decoding | |
JP7025515B2 (ja) | 逆変換シフトメモリにより削減されたダイナミックレンジ変換を行う動画像を復号する方法 | |
US20080031518A1 (en) | Method and apparatus for encoding/decoding color image | |
US5844607A (en) | Method and apparatus for scene change detection in digital video compression | |
JP2009290463A (ja) | 符号化装置/復号化装置、符号化方法/復号化方法及びプログラム | |
US20230362377A1 (en) | Systems, methods, and apparatuses for processing video | |
CN109874012B (zh) | 一种视频编码方法、编码器、电子设备及介质 | |
Naccari et al. | Intensity dependent spatial quantization with application in HEVC | |
JP3597781B2 (ja) | ピクセルを有するディジタル画像における動き予測方法及び装置 | |
US20220078446A1 (en) | Video stream adaptive filtering for bitrate reduction | |
CN112422964B (zh) | 一种渐进式编码方法及装置 | |
WO2012118569A1 (en) | Visually optimized quantization | |
JPH07203430A (ja) | 画像符号化装置 | |
US20160366409A1 (en) | Method and system for random accessible image compression with adaptive quantization | |
US7623720B2 (en) | Image processing apparatus and method | |
Jung et al. | HEVC encoder optimization for HDR video coding based on perceptual block merging | |
KR102467091B1 (ko) | 효과적인 비디오 압축을 위한 슈퍼 레졸루션 영상 처리 방법 및 시스템 | |
KR20010104058A (ko) | 동영상 부호화기의 부호화 모드에 따른 적응적 양자화기 | |
US11563945B2 (en) | Adaptive offset for variance based quantization | |
CN111447445B (zh) | 数据传输方法及装置 | |
JP2005522118A (ja) | 量子化器スケール選択を用いた画像符号化 | |
JP2024000443A (ja) | 映像符号化装置及びプログラム | |
JP2015019319A (ja) | 符号化装置、符号化方法及びプログラム | |
JPH0583560A (ja) | 画像データ符号化装置 | |
JP2008227602A (ja) | 直交変換・量子化装置 |
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 |