CN114157871A - 视频编解码方法、装置、设备及存储介质 - Google Patents

视频编解码方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114157871A
CN114157871A CN202111417705.XA CN202111417705A CN114157871A CN 114157871 A CN114157871 A CN 114157871A CN 202111417705 A CN202111417705 A CN 202111417705A CN 114157871 A CN114157871 A CN 114157871A
Authority
CN
China
Prior art keywords
bit stream
image information
compressed image
pixel block
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111417705.XA
Other languages
English (en)
Inventor
王立新
李栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Lan Jing Technology Co ltd
Original Assignee
Beijing Lan Jing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Lan Jing Technology Co ltd filed Critical Beijing Lan Jing Technology Co ltd
Priority to CN202111417705.XA priority Critical patent/CN114157871A/zh
Publication of CN114157871A publication Critical patent/CN114157871A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

本申请实施例提供一种视频编解码方法、装置、设备及存储介质,所述视频编码方法包括:获取待编码视频的帧图像;确定所述帧图像对应的N个像素块,所述N为大于1的整数;并行对所述N个像素块进行压缩处理,得到N个压缩图像信息;对所述N个压缩图像信息进行编码处理,得到所述帧图像对应的比特流。提高了视频编码的速率。

Description

视频编解码方法、装置、设备及存储介质
技术领域
本申请涉及视频处理技术领域,具体涉及一种视频编解码方法、装置、设备及存储介质。
背景技术
视频包含巨大的信息量,难以进行存储和传输,因此,需要对视频进行编码,以便于对视频进行存储和传输。
在相关技术中,通常以H.264为标准对视频进行编码,在实际应用过程中,H.264采用帧内编码和帧间编码的方式对视频进行压缩,上述编码方式中,视频每一帧图像之间以及每一帧图像之内的像素块之间均具有较强的相关性,编码时只能按照顺序依次处理像素块,再依次处理每一帧图像,整个编码过程的计算量非常大,导致视频编码的速率较慢。
发明内容
本申请涉及一种视频编解码方法、装置、设备及存储介质,提高了视频编码的速率。
第一方面,本申请实施例提供一种视频编码方法,包括:
获取待编码视频的帧图像;
确定所述帧图像对应的N个像素块,所述N为大于1的整数;
并行对所述N个像素块进行压缩处理,得到N个压缩图像信息;
对所述N个压缩图像信息进行编码处理,得到所述帧图像对应的比特流。
在一种可能的实施方式中,对所述N个压缩图像信息进行编码处理,得到所述帧图像对应的比特流,包括:
分别对每个压缩图像信息进行编码处理,得到每个像素块对应的像素块比特流;
确定所述帧图像对应的比特流包括每个像素块对应的像素块比特流。
在一种可能的实施方式中,针对所述N个压缩图像信息中的任意一个压缩图像信息;对所述压缩图像信息进行编码处理,得到所述像素块对应的像素块比特流,包括:
在所述压缩图像信息中确定直流分量和交流分量;
对所述直流分量进行编码处理,得到直流比特流,以及对所述交流分量进行编码处理,得到交流比特流,其中,所述像素块对应的像素块比特流包括所述直流比特流和所述交流比特流。
在一种可能的实施方式中,所述压缩图像信息为量化矩阵;在所述压缩图像信息中确定直流分量和交流分量,包括:
将所述量化矩阵转换为一维数组;
将所述一维数组中的第一个元素确定为所述直流分量;
将所述一维数组中除所述第一个元素之外的其它元素确定为所述交流分量。
在一种可能的实施方式中,针对所述N个像素块中的任意一个像素块;对所述像素块进行压缩处理,得到所述压缩图像信息,包括:
对所述像素块进行DCT变换处理,得到浮点数矩阵;
对所述浮点数矩阵进行量化处理,得到所述量化矩阵,所述量化矩阵为所述压缩图像信息。
第二方面,本申请实施例提供了一种视频编码装置,包括获取模块、确定模块、压缩模块和编码模块,其中,
所述获取模块用于,获取待编码视频的帧图像;
所述确定模块用于,确定所述帧图像对应的N个像素块,所述N为大于1的整数;
所述压缩模块用于,并行对所述N个像素块进行压缩处理,得到N个压缩图像信息;
所述编码模块用于,对所述N个压缩图像信息进行编码处理,得到所述帧图像对应的比特流。
在一种可能的实施方式中,所述编码模块具体用于:
分别对每个压缩图像信息进行编码处理,得到每个像素块对应的像素块比特流;
确定所述帧图像对应的比特流包括每个像素块对应的像素块比特流。
在一种可能的实施方式中,针对所述N个压缩图像信息中的任意一个压缩图像信息;所述编码模块具体用于:
在所述压缩图像信息中确定直流分量和交流分量;
对所述直流分量进行编码处理,得到直流比特流,以及对所述交流分量进行编码处理,得到交流比特流,其中,所述像素块对应的像素块比特流包括所述直流比特流和所述交流比特流。
在一种可能的实施方式中,所述压缩图像信息为量化矩阵;所述编码模块具体用于:
将所述量化矩阵转换为一维数组;
将所述一维数组中的第一个元素确定为所述直流分量;
将所述一维数组中除所述第一个元素之外的其它元素确定为所述交流分量。
在一种可能的实施方式中,针对所述N个像素块中的任意一个像素块;所述压缩模块具体用于:
对所述像素块进行离散余弦变换处理,得到浮点数矩阵;
对所述浮点数矩阵进行量化处理,得到所述量化矩阵,所述量化矩阵为所述压缩图像信息。
第三方面,本申请实施例提供了一种视频编码设备,包括:处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面所述的视频压缩方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面所述的视频编码方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的视频编码方法。
本申请实施例提供了一种视频编码方法、装置、设备及存储介质,先获取待编码视频的帧图像,将帧图像划分为N个像素块,并行对N个像素块进行压缩处理,得到N个压缩图像信息;对N个压缩图像信息进行编码处理,得到帧图像对应的比特流。上述视频编码方法,对一帧图像内的各个像素块进行独立编码,以及对各个帧图像进行独立编码,降低了帧图像内各个像素块之间的耦合性、以及降低了各个帧图像之间的耦合性,进而可以实现对帧图像内的各个像素块进行并行编码,也可以对多个帧图像进行并行编码,提高了视频编码效率。
第六方面,本申请实施例提供了一种视频解码方法,包括:
获取待解码比特流,所述待解码比特流为待解码视频中一个帧图像对应的比特流;
对所述待解码比特流进行解码处理,得到N个压缩图像信息,所述N为大于1的整数;
对所述N个压缩图像信息进行解压缩处理,得到N个像素块;
根据所述N个像素块确定解码后的帧图像。
在一种可能的实施方式中,对所述待解码比特流进行解码处理,得到N个压缩图像信息,包括:
在所述待解码比特流中获取N个像素块比特流;
分别对每个像素块对应的像素块比特流进行解码处理,得到所述N个压缩图像信息。
在一种可能的实施方式中,针对任意一个像素块比特流;对所述像素块比特流进行解码处理,得到所述像素块比特流对应的压缩图像信息,包括:
在所述像素块比特流中确定直流比特流和交流比特流;
对所述直流比特流进行解码处理,得到直流分量;
对所述交流比特流进行解码处理,得到交流分量;
确定所述压缩图像信息包括所述直流分量和所述交流分量。
在一种可能的实施方式中,针对所述N个压缩图像信息中的任意一个压缩图像信息;对所述压缩图像信息进行解压缩处理,得到所述压缩图像信息对应的像素块,包括:
对所述压缩图像信息进行反量化处理,得到反量化矩阵;
对所述反量化矩阵进行逆离散余弦变化处理,得到所述压缩图像信息对应的像素块。
第七方面,本申请实施例提供了一种视频解码装置,包括获取模块、解码模块、解压缩模块和确定模块,其中,
所以获取模块用于,获取待解码比特流,所述待解码比特流为待解码视频中一个帧图像对应的比特流;
所述解码模块用于,对所述待解码比特流进行解码处理,得到N个压缩图像信息,所述N为大于1的整数;
所述解压缩模块用于,对所述N个压缩图像信息进行解压缩处理,得到N个像素块;
所述确定模块用于,根据所述N个像素块确定解码后的帧图像。
在一种可能的实施方式中,所述解码模块具体用于:
在所述待解码比特流中获取N个像素块比特流;
分别对每个像素块对应的像素块比特流进行解码处理,得到所述N个压缩图像信息。
在一种可能的实施方式中,针对任意一个像素块比特流;所述解码模块具体用于:
在所述像素块比特流中确定直流比特流和交流比特流;
对所述直流比特流进行解码处理,得到直流分量;
对所述交流比特流进行解码处理,得到交流分量;
确定所述压缩图像信息包括所述直流分量和所述交流分量。
在一种可能的实施方式中,针对所述N个压缩图像信息中的任意一个压缩图像信息;所述解压缩模块具体用于:
对所述压缩图像信息进行反量化处理,得到反量化矩阵;
对所述反量化矩阵进行逆离散余弦变化处理,得到所述压缩图像信息对应的像素块。
第八方面,本申请实施例提供了一种视频解码设备,包括:处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第六方面所述的视频解码方法。
第九方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第六方面所述的视频解码方法。
第十方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第六方面所述的视频解码方法。
本申请实施例提供一种视频解码方法、装置、设备及存储介质,先获取待解码视频中一个帧图像的比特流,将比特流进行解码处理,得到N个压缩图像信息,再对N个压缩图像信息进行解压缩处理,得到N个像素块,根据N个像素块确定解压缩后的帧图像。由于视频编码时是对一帧图像内的各个像素块进行独立编码,以及对各个帧图像进行独立编码,帧图像中的各个像素块之间、以及不同的帧图像之间解耦和,因此,在解码的时候,可以对图像帧中的各个像素块进行并行解码、以及对多个帧图像进行并行解码,提高了解码效率。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种视频编码方法的流程示意图一;
图3为本申请实施例提供的视频编码方法的流程示意图二;
图4为本申请实施例提供的视频解码方法的流程示意图一;
图5为本申请实施例提供的视频解码方法的流程示意图二;
图6为本申请实施例提供的一种视频编码装置的结构示意图;
图7为本申请实施例提供的一种视频编码设备的结构示意图;
图8为本申请实施例提供的一种视频解码装置的结构示意图;
图9为本申请实施例提供的一种视频解码设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在演出、大型赛事,商业活动等场景中,通常需要使用摄像机将现场的过程录制为视频进行保存,以便后续进行重播等,而这些录制视频的分辨率通常较高。为了能够更好的保存和传输录制视频,需要对视频进行压缩。
为了便于理解,下面结合图1,对本申请实施例所适用的应用场景进行说明。
图1为本申请实施例提供的一种应用场景示意图。请参见图1,终端设备中可以设置有压缩模块、编码模块、解码模块和解压缩模块。当终端设备需要对视频进行编码时,终端设备可以将获取的视频拆分为多个帧图像,然后通过压缩模块和编码模块对多个帧图像进行编码处理,得到比特流。当终端设备需要对视频进行解码时,终端设备可以先获取待解码视频中多个帧图像的比特流,然后通过解码模块和编码模块对多个帧图像的比特流进行解码处理,得到视频。
在相关技术中,终端设备在对视频编码时,由于每一帧图像之间有相关性,因此,只能对每一帧图像依次按照顺序进行处理;又由于每一帧图像内像素块之间也有相关性,因此,每一帧图像内的像素块也只能依次按照顺序处理。整个编码过程的计算量非常大,导致视频编码的速率较慢。
终端设备在对视频解码时,由于编码时每一帧图像之间以及每一帧图像内像素块之间均有相关性,因此解码时只能先按照顺序依次处理像素块,再依次处理每一帧图像,整个解码过程的计算量非常大,导致视频解码的速率较慢。
为了解决上述技术问题,在本申请中,在对视频进行编码时,先获取待编码视频的帧图像,将帧图像划分为N个像素块,并行对N个像素块进行压缩处理,得到N个压缩图像信息;对N个压缩图像信息进行编码处理,得到帧图像对应的比特流。上述视频编码方法中,对一帧图像内的各个像素块进行独立编码,以及对各个帧图像进行独立编码,降低了帧图像内各个像素块之间的耦合性、以及降低了各个帧图像之间的耦合性,进而可以实现对帧图像内的各个像素块进行并行编码,也可以对多个图像帧进行并行编码,提高了视频编码效率。并且,在解码过程中,由于帧图像中的各个像素块之间、以及不同的帧图像之间解耦和,可以对图像帧中的各个像素块进行并行解码、以及对多个帧图像进行并行解码,提高了解码效率。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个实施例可以独立存在,也可以相互结合,对于相同或显示的内容,在不同的实施例中不再重复说明。
图2为本申请实施例提供的一种视频编码方法的流程示意图一。请参见图2,该方法包括:
S201、获取待编码视频的帧图像。
本申请实施例的执行主体可以为手机、相机等终端设备,也可以为设置在终端设备中的视频编码装置,该视频编码装置可以通过软件实现,也可以通过软件和硬件的结合实现。
帧图像可以是YCbCr图像经过4:2:2或者4:2:0采样处理得到的图像。
若待编码视频中的图像为RGB图像,可以将RGB图像转换为YCbCr图像。
可以对待编码视频中的多帧图像并行执行S202-S204步骤,也可以对待编码视频中的多帧图像顺序执行S202-S204步骤。
S202、确定帧图像对应的N个像素块。
N为大于1的整数。
像素块的大小可以为8*8;像素块可以为宏块。
可以通过以下方式确定帧图像对应的N个像素块:
可以将YCbCr格式的帧图像按照颜色通道分别拆分为Y通道图像、Cb通道图像和Cr通道图像,再将三个颜色通道的图像分别拆分为大小相同的像素块。
例如,若帧图像的分辨率为7680*4320,采样方式为4:2:2,像素块的大小为8*8,则可以将Y颜色通道的图像拆分为
Figure BDA0003375768620000081
个像素块,Cb颜色通道的图像拆分为
Figure BDA0003375768620000082
个像素块,Cr颜色通道的图像拆分为
Figure BDA0003375768620000083
个像素块,一个帧图像可以对应得到1036800个像素块。
S203、并行对N个像素块进行压缩处理,得到N个压缩图像信息。
可以基于显卡中的并行计算单元对N个像素块进行并行处理。
压缩处理可以包括离散余弦变化处理和量化处理。
在进行压缩处理之前,可以对每个像素块的像素值做预处理,以使像素块在进行离散余弦变化之前,数据值范围在-122~127之间。
压缩图像信息可以为量化矩阵;压缩图像信息中可以包括直流分量和交流分量。
针对N个像素块中的任意一个像素块,可以通过以下方式对像素块进行压缩处理,得到压缩图像信息:对所述像素块进行离散余弦变换处理,得到浮点数矩阵;对所述浮点数矩阵进行量化处理,得到所述量化矩阵,所述量化矩阵为所述压缩图像信息。
S204、对N个压缩图像信息进行编码处理,得到帧图像对应的比特流。
编码处理可以是哈夫曼编码处理。
可以将二维矩阵中的数据按照预定顺序转换为一维数组,再进行编码处理,编码处理后得到的比特流序列比一维数组的序列短。
例如,矩阵
Figure BDA0003375768620000091
经过Z字形的顺序,可以转换为{3,2,0,9,4,1,5,8,7}。
帧图像对应的比特流可以按照帧图像的预定顺序进行放置,得到待编码视频的比特流。
可以通过以下方式对N个压缩图像信息进行编码处理,得到帧图像对应的比特流:分别对每个压缩图像信息进行编码处理,得到每个像素块对应的像素块比特流;确定所述帧图像对应的比特流包括每个像素块对应的像素块比特流。
在图2所示的实施例中,先获取待编码视频的帧图像,将帧图像划分为N个像素块,并行对N个像素块进行压缩处理,得到N个压缩图像信息;对N个压缩图像信息进行编码处理,得到帧图像对应的比特流。上述视频编码方法,对一帧图像内的各个像素块进行独立编码,以及对各个帧图像进行独立编码,降低了帧图像内各个像素块之间的耦合性、以及降低了各个帧图像之间的耦合性,进而可以实现对帧图像内的各个像素块进行并行编码,也可以对多个图像帧进行并行编码,提高了视频编码效率。
在上述任意实施例的基础上,下面,结合图3所示的实施例,对上述视频编码方法进行详细说明。
图3为本申请实施例提供的视频编码方法的流程示意图二。请参见图3,该方法可以包括:
S301、获取待编码视频的帧图像。
需要说明的是,S301的执行过程可以参见S201的执行过程,此处不再进行赘述。
S302、确定帧图像对应的N个像素块。
需要说明的是,S302的执行过程可以参见S202的执行过程,此处不再赘述。
S303、并行对N个像素块进行离散余弦变化处理,得到N个浮点数矩阵。
离散余弦变换可以将信号从空域(时域)转换为频域。
若f(x,y)为M*N的数字图像矩阵,经过以下离散余弦变换公式变换可以得到浮点数矩阵F(u,v)。
Figure BDA0003375768620000101
其中,x,u=0,1,2,…,M-1;y,v=0,1,2,…,N-1;
Figure BDA0003375768620000102
Figure BDA0003375768620000103
例如,一个8*8的像素块
Figure BDA0003375768620000104
经过离散余弦变换后得到一个8*8的浮点数矩阵
Figure BDA0003375768620000105
S304、并行对N个浮点数矩阵进行量化处理,得到N个压缩图像信息。
压缩图像信息可以为量化矩阵,量化矩阵可以为整数矩阵。
量化处理是一种有损处理,可以去除人眼不敏感的频率信息。
量化处理具体可以采用以下量化公式对浮点数矩阵中的数据进行处理:
Figure BDA0003375768620000111
其中,G是需要处理的浮点数矩阵;Q为量化系数矩阵;B为处理后的量化矩阵;若处理的矩阵为8*8,则i,j=0,1,2,…,7。
对于YCbCr图像,有两张标准的量化系数矩阵:标准亮度量化系数矩阵QY和标准色差量化系数矩阵QC,分别用于处理亮度数据Y和色差数据Cr、Cb。
Figure BDA0003375768620000112
Figure BDA0003375768620000113
round函数是考虑到四舍五入的取整函数。
例如,针对浮点数矩阵:
Figure BDA0003375768620000121
采用QY进行量化处理,以左上角的257.1为例,对应的量子化系数是16,那么round(257.1/16)=round(16.06875)=16,最终得到的量化矩阵为:
Figure BDA0003375768620000122
S305、针对N个压缩图像信息中的任意一个压缩图像信息,在压缩图像信息中确定直流分量和交流分量。
可以通过以下方式在压缩图像信息中确定直流分量和交流分量:将所述量化矩阵转换为一维数组;将所述一维数组中的第一个元素确定为所述直流分量;将所述一维数组中除所述第一个元素之外的其它元素确定为所述交流分量。
可以将量化矩阵中的数据按照预定顺序转换为一维数据;预定顺序可以将量化矩阵中的数据“0”尽可能放在一起,预定顺序可以为Z字形顺序。例如,针对S304中得到的量化矩阵,通过Z字形的顺序转换为一维数组{16,1,1,0,0,…,0,0};在一维数组中,16为直流分量,除16以外的数据为交流分量。
S306、对直流分量进行编码处理,得到直流比特流,以及对交流分量进行编码处理,得到交流比特流。
每一个像素块之间的直流分量单独进行编码;每一个像素块之间的交流分量单独进行编码。
编码处理可以为哈夫曼编码处理。
哈夫曼编码时直流分量和交流分量可以分别采用不同的哈夫曼编码表,对于亮度Y和色度(Cr、Cd)也可以采用不同的哈夫曼编码表。
哈夫曼编码表可以采用现在已知的,也可以由编码人员自己定义。
比特流可以为二进制或者十六进制的字符串。
例如,64字节的原始数据:
35,7,0,0,0,-6,-2,0,0,-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,…,0
通过哈夫曼编码处理后可以得到以下比特流:
100100011100111111111110101001010111111111010001101111111100111111111010010001010
或者以下比特流:91CF FE A5 7F D1 BF CF FA 45
S307、根据直流比特流和交流比特流,确定每个像素块对应的像素块比特流。
S308、根据每个像素块对应的像素块比特流,确定帧图像对应的比特流。
可以按照帧图像内像素块的位置关系存放对应的像素块比特流,以得到帧图像对应的比特流。
在图3所示的实施例中,先获取待编码视频的帧图像,将帧图像划分为N个像素块,并行对N个像素块进行离散余弦变化处理,得到N个浮点数矩阵;并行对N个浮点数矩阵进行量化处理,得到N个压缩图像信息;针对N个压缩图像信息中的任意一个压缩图像信息,在压缩图像信息中确定直流分量和交流分量;对直流分量进行编码处理,得到直流比特流,对交流分量进行编码处理,得到交流比特流;根据直流比特流和交流比特流,确定每个像素块对应的像素块比特流;根据每个像素块对应的像素块比特流,确定帧图像对应的比特流。上述视频编码方法,对一帧图像内的各个像素块进行独立编码,以及对各个帧图像进行独立编码,降低了帧图像内各个像素块之间的耦合性、以及降低了各个帧图像之间的耦合性,进而可以实现对帧图像内的各个像素块进行并行编码,也可以对多个图像帧进行并行编码,提高了视频编码效率。
图2和图3所示的实施例对视频编码方法进行了说明,下面,以图4和图5所示的实施例对视频解码方法进行说明。
图4为本申请实施例提供的视频解码方法的流程示意图一。请参见图4,该方法包括:
S401、获取待解码比特流。
待解码比特流可以为待解码视频中一个帧图像对应的比特流。
可以对待解码视频中多个帧图像对应的比特流并行执行S402-S404步骤,也可以对待解码视频中多个帧图像对应比特流顺序执行S402-S404步骤。
S402、对待解码比特流进行解码处理,得到N个压缩图像信息。
N为大于1的整数。
解码处理可以为哈夫曼解码处理。
S403、对N个压缩图像信息进行解压缩处理,得到N个像素块。
解压缩处理可以为反量化处理和逆离散余弦变化处理。
N个压缩图像信息可以并行进行解压缩处理,也可以单独进行解压缩处理。例如,针对一个待解码视频,若是将视频全部解码,可以对帧图像对应的N个压缩图像信息并行进行解压缩处理;若是将视频部分解码(例如,只解码视频中涉及的一个人的脸),可以对帧图像对应的N个压缩图像信息中,涉及该人脸的压缩图像信息,进行解压缩处理。
S404、根据N个像素块确定解码后的帧图像。
N个像素块可以根据其位置进行拼接后得到帧图像;帧图像可以按照时间顺序排列,得到解码的视频。
在图4所示的实施例中,先获取待解码视频中一个帧图像的比特流,将比特流进行解码处理,得到N个压缩图像信息,再对N个压缩图像信息进行解压缩处理,得到N个像素块,根据N个像素块确定解压缩后的帧图像。由于视频编码时是对一帧图像内的各个像素块进行独立编码,以及对各个帧图像进行独立编码,帧图像中的各个像素块之间、以及不同的帧图像之间解耦和,因此,在解码的时候,可以对图像帧中的各个像素块进行并行解码、以及对多个帧图像进行并行解码,提高了解码效率。还可以对帧图像中部分像素块对应的比特流进行解码,以及对部分帧图像对应的比特流进行解码,提高了解码的灵活性。
在上述任意实施例的基础上,下面,结合图5所示的实施例,对上述视频解码方法进行详细说明。
图5为本申请实施例提供的视频解码方法的流程示意图二。请参见图5,该方法可以包括:
S501、获取待解码比特流。
需要说明的是,S501的执行过程可以参见S401的执行过程,此处不再赘述。
S502、在待解码比特流中获取N个像素块比特流。
可以根据视频编码时,像素块比特流的放置位置获取像素块比特流。
S503、针对任意一个像素块比特流,在像素块比特流中确定直流比特流和交流比特流。
例如,一个像素块比特流可以包括两个比特流数据,其中一个为直流比特流数据,另一个为交流比特流数据。
S504、对直流比特流进行解码处理,得到直流分量。
直流比特流可以根据哈夫曼解码的规则解码得到直流分量。
直流分量可以为一维数组。
S505、对交流比特流进行解码处理,得到交流分量。
交流比特流可以根据哈夫曼解码的规则解码得到直流分量。
交流分量可以为一维数组。
S506、根据直流分量和交流分量确定压缩图像信息。
直流分量和交流分量可以按照预定顺序排列后组成二维压缩图像信息。
例如,直流分量为16,交流分量为1,1,0,0,…,0,0,省略号表示省去的0,交流分量一共有63位数据;根据编码时变换的Z字形顺序,可以得到压缩图像信息
Figure BDA0003375768620000151
S507、对压缩图像信息进行反量化处理,得到反量化矩阵。
反量化处理可以是将压缩图像信息中的数值,乘以S304中对应的量化矩阵中的数值,例如,压缩图像信息左上角的数值为16,反量化处理后,反量化矩阵左上角的数值为16*16=256。
S508、对反量化矩阵进行逆离散余弦变化处理,得到压缩图像信息对应的像素块。
若反量化矩阵F(u,v)为M*N的矩阵,经过以下逆离散余弦变换公式变换可以得到相应像素块的像素矩阵f(x,y)。
Figure BDA0003375768620000161
其中,x,u=0,1,2,…,M-1;y,v=0,1,2,…,N-1;
Figure BDA0003375768620000162
Figure BDA0003375768620000163
可以对像素矩阵中的所有数值加上128以得到像素块的像素值。
S509、根据N个像素块确定解码后的帧图像。
可以将N个像素块拼接后得到解码后的帧图像。
在图5所示的实施例中,先获取待解码视频中一个帧图像的比特流,在帧图像比特流中确定N个像素块比特流,针对任意一个像素块比特流,在像素块比特流中确定直流比特流和交流比特流;对直流比特流进行解码处理,得到直流分量,对交流比特流进行解码处理,得到交流分量;根据直流分量和交流分量确定压缩图像信息;对压缩图像信息进行反量化处理,得到反量化矩阵;对反量化矩阵进行逆离散余弦变化处理,得到压缩图像信息对应的像素块;根据N个像素块确定解压缩后的帧图像。由于视频编码时是对一帧图像内的各个像素块进行独立编码,以及对各个帧图像进行独立编码,帧图像中的各个像素块之间、以及不同的帧图像之间解耦和,因此,在解码的时候,可以对图像帧中的各个像素块进行并行解码、以及对多个帧图像进行并行解码,提高了解码效率。还可以对帧图像中部分像素块对应的比特流进行解码,以及对部分帧图像对应的比特流进行解码,提高了解码的灵活性。
图6为本申请实施例提供的一种视频编码装置的结构示意图。请参见图6,该视频编码装置10包括获取模块11、确定模块12、压缩模块13和编码模块14,其中,
所述获取模块11用于,获取待编码视频的帧图像;
所述确定模块12用于,确定所述帧图像对应的N个像素块,所述N为大于1的整数;
所述压缩模块13用于,并行对所述N个像素块进行压缩处理,得到N个压缩图像信息;
所述编码模块14用于,对所述N个压缩图像信息进行编码处理,得到所述帧图像对应的比特流。
在一种可能的实施方式中,所述编码模块14具体用于:
分别对每个压缩图像信息进行编码处理,得到每个像素块对应的像素块比特流;
确定所述帧图像对应的比特流包括每个像素块对应的像素块比特流。
在一种可能的实施方式中,针对所述N个压缩图像信息中的任意一个压缩图像信息;所述编码模块14具体用于:
在所述压缩图像信息中确定直流分量和交流分量;
对所述直流分量进行编码处理,得到直流比特流,以及对所述交流分量进行编码处理,得到交流比特流,其中,所述像素块对应的像素块比特流包括所述直流比特流和所述交流比特流。
在一种可能的实施方式中,所述压缩图像信息为量化矩阵;所述编码模块14具体用于:
将所述量化矩阵转换为一维数组;
将所述一维数组中的第一个元素确定为所述直流分量;
将所述一维数组中除所述第一个元素之外的其它元素确定为所述交流分量。
在一种可能的实施方式中,针对所述N个像素块中的任意一个像素块;所述压缩模块13具体用于:
对所述像素块进行离散余弦变换处理,得到浮点数矩阵;
对所述浮点数矩阵进行量化处理,得到所述量化矩阵,所述量化矩阵为所述压缩图像信息。
本申请实施例提供的视频编码装置10可以执行上述视频编码方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再赘述。
图7为本申请实施例提供的一种视频编码设备的结构示意图。请参见图7,视频编码设备20包括:存储器21、处理器22。示例性地,存储器21、处理器22,各部分之间通过总线23相互连接。
存储器21用于存储程序指令;
处理器22用于执行该存储器所存储的程序指令,用以使得视频编码设备20执行上述的视频编码方法。
图7实施例所示的视频编码设备可以执行上述视频编码方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算机执行指令被处理器执行时用于实现上述的视频编码方法。
本申请实施例还可提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,可实现上述视频编码方法。
图8为本申请实施例提供的一种视频解码装置的结构示意图。请参见图8,该视频解码装置30包括:获取模块31、解码模块32、解压缩模块33和确定模块34,其中,
所以获取模块31用于,获取待解码比特流,所述待解码比特流为待解码视频中一个帧图像对应的比特流;
所述解码模块32用于,对所述待解码比特流进行解码处理,得到N个压缩图像信息,所述N为大于1的整数;
所述解压缩模块33用于,对所述N个压缩图像信息进行解压缩处理,得到N个像素块;
所述确定模块34用于,根据所述N个像素块确定解码后的帧图像。
在一种可能的实施方式中,所述解码模块32具体用于:
在所述待解码比特流中获取N个像素块比特流;
分别对每个像素块对应的像素块比特流进行解码处理,得到所述N个压缩图像信息。
在一种可能的实施方式中,针对任意一个像素块比特流;所述解码模块32具体用于:
在所述像素块比特流中确定直流比特流和交流比特流;
对所述直流比特流进行解码处理,得到直流分量;
对所述交流比特流进行解码处理,得到交流分量;
确定所述压缩图像信息包括所述直流分量和所述交流分量。
在一种可能的实施方式中,针对所述N个压缩图像信息中的任意一个压缩图像信息;所述解压缩模块33具体用于:
对所述压缩图像信息进行反量化处理,得到反量化矩阵;
对所述反量化矩阵进行逆离散余弦变化处理,得到所述压缩图像信息对应的像素块。
本申请实施例提供的视频解码装置30可以执行上述视频解码方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
图9为本申请实施例提供的一种视频解码设备的结构示意图。请参见图9,视频解码设备40可以包括:存储器41、处理器42。示例性地,存储器41、处理器42,各部分之间通过总线43相互连接。
存储器41用于存储程序指令;
处理器42用于执行该存储器所存储的程序指令,用以使得视频解码设备40执行上述的视频解码方法。
图9实施例所示的视频解码设备可以执行上述视频解码方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算机执行指令被处理器执行时用于实现上述的视频解码方法。
本申请实施例还可提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,可实现上述视频解码方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (14)

1.一种视频编码方法,其特征在于,包括:
获取待编码视频的帧图像;
确定所述帧图像对应的N个像素块,所述N为大于1的整数;
并行对所述N个像素块进行压缩处理,得到N个压缩图像信息;
对所述N个压缩图像信息进行编码处理,得到所述帧图像对应的比特流。
2.根据权利要求1所述的方法,其特征在于,对所述N个压缩图像信息进行编码处理,得到所述帧图像对应的比特流,包括:
分别对每个压缩图像信息进行编码处理,得到每个像素块对应的像素块比特流;
确定所述帧图像对应的比特流包括每个像素块对应的像素块比特流。
3.根据权利要求2所述的方法,其特征在于,针对所述N个压缩图像信息中的任意一个压缩图像信息;对所述压缩图像信息进行编码处理,得到所述像素块对应的像素块比特流,包括:
在所述压缩图像信息中确定直流分量和交流分量;
对所述直流分量进行编码处理,得到直流比特流,以及对所述交流分量进行编码处理,得到交流比特流,其中,所述像素块对应的像素块比特流包括所述直流比特流和所述交流比特流。
4.根据权利要求3所述的方法,其特征在于,所述压缩图像信息为量化矩阵;在所述压缩图像信息中确定直流分量和交流分量,包括:
将所述量化矩阵转换为一维数组;
将所述一维数组中的第一个元素确定为所述直流分量;
将所述一维数组中除所述第一个元素之外的其它元素确定为所述交流分量。
5.根据权利要求1-4任一项所述的方法,其特征在于,针对所述N个像素块中的任意一个像素块;对所述像素块进行压缩处理,得到所述压缩图像信息,包括:
对所述像素块进行离散余弦变换处理,得到浮点数矩阵;
对所述浮点数矩阵进行量化处理,得到所述量化矩阵,所述量化矩阵为所述压缩图像信息。
6.一种视频解码方法,其特征在于,包括:
获取待解码比特流,所述待解码比特流为待解码视频中一个帧图像对应的比特流;
对所述待解码比特流进行解码处理,得到N个压缩图像信息,所述N为大于1的整数;
对所述N个压缩图像信息进行解压缩处理,得到N个像素块;
根据所述N个像素块确定解码后的帧图像。
7.根据权利要求6所述的方法,其特征在于,对所述待解码比特流进行解码处理,得到N个压缩图像信息,包括:
在所述待解码比特流中获取N个像素块比特流;
分别对每个像素块对应的像素块比特流进行解码处理,得到所述N个压缩图像信息。
8.根据权利要求7所述的方法,其特征在于,针对任意一个像素块比特流;对所述像素块比特流进行解码处理,得到所述像素块比特流对应的压缩图像信息,包括:
在所述像素块比特流中确定直流比特流和交流比特流;
对所述直流比特流进行解码处理,得到直流分量;
对所述交流比特流进行解码处理,得到交流分量;
确定所述压缩图像信息包括所述直流分量和所述交流分量。
9.根据权利要求6-8任一项所述的方法,其特征在于,针对所述N个压缩图像信息中的任意一个压缩图像信息;对所述压缩图像信息进行解压缩处理,得到所述压缩图像信息对应的像素块,包括:
对所述压缩图像信息进行反量化处理,得到反量化矩阵;
对所述反量化矩阵进行逆离散余弦变化处理,得到所述压缩图像信息对应的像素块。
10.一种视频编码装置,其特征在于,包括获取模块、确定模块、压缩模块和编码模块,其中,
所述获取模块用于,获取待编码视频的帧图像;
所述确定模块用于,确定所述帧图像对应的N个像素块,所述N为大于1的整数;
所述压缩模块用于,并行对所述N个像素块进行压缩处理,得到N个压缩图像信息;
所述编码模块用于,对所述N个压缩图像信息进行编码处理,得到所述帧图像对应的比特流。
11.一种视频解码装置,其特征在于,包括获取模块、解码模块、解压缩模块和确定模块,其中,
所以获取模块用于,获取待解码比特流,所述待解码比特流为待解码视频中一个帧图像对应的比特流;
所述解码模块用于,对所述待解码比特流进行解码处理,得到N个压缩图像信息,所述N为大于1的整数;
所述解压缩模块用于,对所述N个压缩图像信息进行解压缩处理,得到N个像素块;
所述确定模块用于,根据所述N个像素块确定解码后的帧图像。
12.一种电子设备,其特征在于,包括处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至5或者权利要求6至9任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现权利要求1至5或者权利要求6至9任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至5或者权利要求6至9任一项所述的方法。
CN202111417705.XA 2021-11-25 2021-11-25 视频编解码方法、装置、设备及存储介质 Pending CN114157871A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111417705.XA CN114157871A (zh) 2021-11-25 2021-11-25 视频编解码方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111417705.XA CN114157871A (zh) 2021-11-25 2021-11-25 视频编解码方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114157871A true CN114157871A (zh) 2022-03-08

Family

ID=80458016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111417705.XA Pending CN114157871A (zh) 2021-11-25 2021-11-25 视频编解码方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114157871A (zh)

Similar Documents

Publication Publication Date Title
KR100944282B1 (ko) Golomb-rice 코딩을 사용한 dct 압축
US9369733B2 (en) Method and apparatus for encoding and decoding image
US8756482B2 (en) Efficient encoding/decoding of a sequence of data frames
CN101529917B (zh) 用信号通知逆离散余弦变换的最大动态范围
US20210092420A1 (en) Coding method and system with improved dynamic internal bit depth
US7630563B2 (en) System and method for decoding digital image and audio data in a lossless manner
JPH07262175A (ja) 関数変換演算装置
CN107483942B (zh) 视频数据压缩码流的解码、视频数据的编码方法及装置
CN108881913B (zh) 图像编码的方法和装置
RU2419855C2 (ru) Снижение ошибок в ходе вычисления обратного дискретного косинусного преобразования
CN115836525B (zh) 用于从多个交叉分量进行预测的视频编码、解码方法和设备
US20030012431A1 (en) Hybrid lossy and lossless compression method and apparatus
CN110708547B (zh) 针对变换模式的有效熵编码组分组方法
JP3469438B2 (ja) 画像信号の処理方法及び装置、記録媒体
CN114157871A (zh) 视频编解码方法、装置、设备及存储介质
US20090304073A1 (en) Systems and Methods for the Bandwidth Efficient Processing of Data
JPH0487460A (ja) 画像処理装置
Farhan Fast intra-frame compression for video conferencing using adaptive shift coding
CN108989820B (zh) 各阶段采用各自相应色度采样格式的数据压缩方法和装置
JPH02122767A (ja) 画像信号の符号化復号化方式
TWI300311B (en) Progressive differential motion jpeg codec
JPH08180194A (ja) 符号化装置及び方法
EP4117289A1 (en) Image processing method and image processing device
KR960013232B1 (ko) 비트 고정을 위한 영상 압축 부호화 및 복호화 방식
JP2018201143A (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