CN117119198A - 一种视频处理方法及相关设备 - Google Patents
一种视频处理方法及相关设备 Download PDFInfo
- Publication number
- CN117119198A CN117119198A CN202311196315.3A CN202311196315A CN117119198A CN 117119198 A CN117119198 A CN 117119198A CN 202311196315 A CN202311196315 A CN 202311196315A CN 117119198 A CN117119198 A CN 117119198A
- Authority
- CN
- China
- Prior art keywords
- image frame
- frame
- parameter set
- coding
- adaptive parameter
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 85
- 230000003044 adaptive effect Effects 0.000 claims description 259
- 238000012545 processing Methods 0.000 claims description 142
- 238000005516 engineering process Methods 0.000 claims description 36
- 238000013139 quantization Methods 0.000 claims description 32
- 108091026890 Coding region Proteins 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 23
- 238000001914 filtration Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 13
- 230000009466 transformation Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- ZJPGOXWRFNKIQL-JYJNAYRXSA-N Phe-Pro-Pro Chemical compound C([C@H](N)C(=O)N1[C@@H](CCC1)C(=O)N1[C@@H](CCC1)C(O)=O)C1=CC=CC=C1 ZJPGOXWRFNKIQL-JYJNAYRXSA-N 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 5
- 101100001794 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) aps-2 gene Proteins 0.000 description 5
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 5
- 101000658124 Apomastus schlingeri Mu-cyrtautoxin-As1a Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- 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/172—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 picture, frame or field
-
- 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/186—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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例提供了一种视频处理方法及相关设备,其中方法包括:确定视频中待编码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。本申请能够按照已编码的参考帧的编码结果信息对当前图像帧进行编码处理,可提高编码效率。
Description
技术领域
本申请涉及音视频技术领域,具体涉及视频编码技术领域,尤其涉及一种视频处理方法、一种视频处理装置、一种计算机设备、一种计算机可读存储介质及一种计算机程序产品。
背景技术
在主流视频编码技术中,诸如:HEVC(High Efficiency Video Coding,国际视频编码标准HEVC/H.265)、AVS3(Audio Video coding Standard 3,音视频信源编码标准)、以及VVC(versatile video coding,国际视频编码标准VVC/H.266)等编码标准,通常是按照编码顺序依次对视频中的各个图像帧进行编码,针对当前待编码的图像帧而言,需当所有的参考帧均完成编码处理后方可顺序编码当前图像帧,这种编码方式效率较低。
发明内容
本申请实施例提供了一种视频处理方法及相关设备,能够按照已编码的参考帧的编码结果信息对当前图像帧进行编码处理,可提高编码效率。
一方面,本申请实施例提供了一种视频处理方法,该方法包括:
确定视频中待编码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;
获取图像帧i在编码结构中所在的第一层级;
从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;
获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。
一方面,本申请实施例提供了一种视频处理方法,该方法包括:
确定视频中待解码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;
获取图像帧i的编码结果信息,图像帧i的编码结果信息是基于已编码的图像帧K的编码结果信息,对图像帧i进行编码处理后得到的;图像帧K是从M个层级中低于第一层级的各第二层级中查找到的,图像帧K是图像帧i的任一个参考帧;
基于图像帧i的编码结果信息,对图像帧i进行解码处理。
一方面,本申请实施例提供了一种视频处理装置,该装置包括:
确定单元,用于确定视频中待编码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;
获取单元,用于获取图像帧i在编码结构中所在的第一层级;
处理单元,用于从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;
处理单元,还用于获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。
在一种可能的实现方式中,图像帧K的编码结果信息包括:图像帧K的参考自适应参数集列表,参考自适应参数集列表是采用自适应时域编码技术对图像帧K进行编码后得到的;处理单元基于图像帧K的编码结果信息,对图像帧i进行编码处理,用于执行以下操作:
基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表;
基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理。
在一种可能的实现方式中,处理单元基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理,用于执行以下操作:
对图像帧i进行编码处理,得到图像帧i的自适应参数集、以及图像帧i的自适应参数集的位置标识,位置标识用于指示图像帧i的自适应参数集在初始自适应参数集列表中的位置;
按照位置标识,将图像帧i的自适应参数集添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表。
在一种可能的实现方式中,处理单元对图像帧i进行编码处理,得到图像帧i的自适应参数集,用于执行以下操作:
采用环路滤波器对图像帧i进行滤波处理,得到自适应环路滤波参数;
采用色度缩放和亮度映射的编码工具对图像帧i按照亮度分量和色度分量进行处理,得到图像帧i的亮度映射与色度伸缩参数;
对图像帧i进行量化及缩放处理,得到图像帧i的量化缩放表;
基于自适应环路滤波参数、亮度映射与色度伸缩参数、以及量化缩放表,生成图像I的自适应参数集。
在一种可能的实现方式中,图像帧K的参考自适应参数集列表中包括:P个自适应参数集,一个自适应参数集对应一个已编码的图像帧,P为正整数;处理单元基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表,用于执行以下操作:
获取初始自适应参数集列表允许支配的自适应参数集的数量阈值Q,Q为正整数;
若P≥Q,则按照预设规则将参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表;
将删除后的参考自适应参数集列表,作为图像帧i的初始自适应参数集列表。
在一种可能的实现方式中,处理单元按照预设规则将参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表,用于执行以下任一种操作:
将参考自适应参数集列表中排列顺序靠前的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表;
将参考自适应参数集列表中指定位置的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表;
将参考自适应参数集列表中指定类型的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表。
在一种可能的实现方式中,在N个图像帧中存在图像帧j,图像帧j与图像帧i均属于第一层级的图像帧,且图像帧j的参考帧与图像帧i的参考帧均为图像帧K;处理单元还用于执行以下操作:
基于图像帧K的编码结果信息,对图像帧i和图像帧j进行并行编码处理。
在一种可能的实现方式中,图像帧K的编码结果信息包括:参考自适应参数集列表,图像帧i的初始自适应参数集列表、与图像帧j的初始自适应参数集列表均为图像帧K的参考自适应参数集列表;处理单元基于图像帧K的编码结果信息,对图像帧i和图像帧j进行并行编码处理,用于执行以下操作:
对图像帧i进行编码处理,得到图像帧i的自适应参数集APS_I,并将自适应参数集APS_I添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表;以及,
对图像帧j进行编码处理,得到图像帧j的自适应参数集APS_J,并将自适应参数集APS_J添加至图像帧j的初始自适应参数集列表中,得到图像帧j的编码自适应参数集列表。
在一种可能的实现方式中,图像帧i为双向帧间预测的图像帧;处理单元从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,用于执行以下操作:
按照M个层级所具备的编码参考关系,从M个层级中低于第一层级的各第二层级中查找第一参考帧和第二参考帧;
获取图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序;
按照图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序,从第一参考帧和第二参考帧中确定已编码的图像帧K。
在一种可能的实现方式中,处理单元按照图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序,从第一参考帧和第二参考帧中确定已编码的图像帧K,用于执行以下操作:
计算图像帧i的编码顺序、与第一参考帧的编码顺序之间的第一差值;
计算图像帧i的编码顺序、与第二参考帧的编码顺序之间的第二差值;
将第一差值与第二差值中最小差值对应的参考帧,作为已编码的图像帧K。
一方面,本申请实施例提供了一种视频处理装置,该装置包括:
确定单元,用于确定视频中待解码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;
获取单元,用于获取图像帧i的编码结果信息,图像帧i的编码结果信息是基于已编码的图像帧K的编码结果信息,对图像帧i进行编码处理后得到的;图像帧K是从M个层级中低于第一层级的各第二层级中查找到的,图像帧K是图像帧i的任一个参考帧;
处理单元,用于基于图像帧i的编码结果信息,对图像帧i进行解码处理。
一方面,本申请实施例提供了一种计算机设备,该计算机设备包括处理器、输入设备、输出设备和存储器;该存储器中存储有计算机程序;该计算机程序被处理器执行时,执行上述视频处理方法。
一方面,本申请实施例提供了一种计算机可读存储介质,计算机存储介质存储有计算机程序,计算机程序被处理器执行时,执行上述视频处理方法。
一方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时,执行上述视频处理方法。
本申请实施例中,可确定视频中待编码的图像帧i,该视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系,N、M均为正整数;获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。可见,本申请在对当前待编码的图像帧i进行编码时,可基于多层级的编码结构确定出已编码的参考图像帧K,从而可参考图像帧K的编码结果信息即可对当前图像帧i进行编码处理,也就是说,在对任一图像帧进行编码时只需关注当前图像帧的参考帧的编码结果信息即可,无需关注其它编码顺序靠前的非参考的图像帧,从而可以提高视频编码的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种视频编码器的基本工作流程图;
图2是本申请实施例提供的一种视频处理系统的结构示意图;
图3是本申请实施例提供的一种视频处理方法的流程示意图;
图4是本申请实施例提供的一种视频的编码结构示意图;
图5是本申请实施例提供的另一种视频处理方法的流程示意图;
图6是本申请实施例提供的一种自适应时域编码处理的流程示意图;
图7是本申请实施例提供的另一种视频处理方法的流程示意图;
图8是本申请实施例提供的一种视频解码处理的流程示意图;
图9是本申请实施例提供的一种视频处理装置的结构示意图;
图10是本申请实施例提供的另一种视频解码装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种视频处理方案,适用于视频编码技术领域,具体适用于APS(Adaptive Parameter Set,自适应参数集)时域编码。基于本申请提供的视频编码方案,能够在APS时域编码场景中,基于分级的编码结构,按照已编码的参考帧的APS列表来对当前待编码的图像帧进行编码处理,因此本方案可支持FPP并行编码(Frame ParallelProcessing,帧并行处理),从而可提高视频编码的效率。具体地,本申请提供的视频处理方案的原理大致如下:可确定视频中待编码的图像帧i,该视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系,N、M均为正整数;获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。
由此可见,一方面,本申请在对当前待编码的图像帧i进行编码时,可基于多层级的编码结构确定出已编码的参考图像帧K,从而可参考图像帧K的编码结果信息即可对当前图像帧i进行编码处理,无需按照各个图像帧的编码顺序依次进行图像帧的编码,从而可以提高视频编码的效率;另一方面,上述过程可适用于图像中的任一图像帧,那么本方案还可支持对多个图像帧进行并行编码处理,从而进一步提高了视频编码的效率。
下面对本申请视频处理方案中涉及的技术术语进行介绍:
一、视频编码
视频可由一个或多个图像帧构成,每个图像帧包含该视频的部分视频信号。视频信号的获取方式可以分为摄像机拍摄到或者计算机生成两种方式。由于不同获取方式对应的统计特性不同,视频的压缩编码方式也可能有所区别。
在主流视频编码技术中,以HEVC(High Efficiency Video Coding,国际视频编码标准HEVC/H.265)、AVS3(Audio Video coding Standard 3,音视频信源编码标准)、以及VVC(versatile video coding,国际视频编码标准VVC/H.266)等编码标准为例,采用了混合编码框架,在该混合编码框架下允许对视频进行如下一系列的操作和处理:
1)块划分结构(block partition structure):根据输入的当前帧(即正在被编码或解码的图像帧)的大小,可将当前帧划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(coding tree unit,编码树单元),或者LCU(Largest Coding Unit,最大编码单元)。CTU可以再继续往下进行更加精细的划分,得到一个或多个基本编码的单元,称之为CU(coding unit,编码单元或编码块)。在视频编码过程中,可以将视频中的一个图像帧作为编码单元,也可以按照块划分结构将一个图像帧中的一个CU作为编码单元,为便于阐述,本申请实施例中按照一个图像帧作为编码单元进行说明。
2)预测编码:包括帧内预测和帧间预测等模式,当前图像帧(简称当前帧,即视频中当前正在被编码的图像帧)包含的原始视频信号经过选定的参考图像帧(简称参考帧,即视频中已完成编码的图像帧)中已重建视频信号的预测之后,得到残差视频信号。其中,编码端需要为当前帧决定在众多可能的预测编码模式中选择最合适的一种预测编码模式并告诉解码端。其中,预测编码模式可包括:①帧内预测(Intra(picture)Prediction):预测所使用的重建视频信号来自于同一图像帧内已经编码重建过的区域,即当前块与参考块位于同一图像帧中。其中,帧内预测的基本思想就是利用同一图像帧内相邻像素的相关性去除空间冗余。在视频编码中,相邻像素指的就是同一图像帧内当前CU周围的已编码CU的重建(reconstructed)像素。②帧间预测(Inter(picture)Prediction):预测所使用的重建视频信号来自已经编码过的,不同于当前帧的其他图像帧。由于本申请按照图像帧作为基本的编码单元,因此本申请所涉及的编码模式为帧间预测模式。
3)变换编码及量化(Transform&Quantization):残差视频信号经过DFT(DiscreteFourier Transform,离散傅里叶变换),DCT(Discrete Cosine Transform,离散余弦变换)等变换操作,可将残差视频信号转换到变换域中,称之为变换系数。在变换域中的残差视频信号,进一步的进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。
在一些视频编码标准中,可能有多于一种变换方式可以选择,因此,编码端也需要为当前帧选择其中的一种变换,并告知解码端。量化的精细程度通常由QP(QuantizationParameters,量化参数)来决定,当QP取值较大时,表示更大取值范围的变换系数将被量化为同一个输出,因此通常会带来更大的失真及较低的码率;相反,当QP取值较小时,表示较小取值范围的变换系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
4)熵编码(Entropy Coding)或统计编码:量化后的变换域信号,将根据各个值出现的频率,进行统计压缩编码,最后输出二值化(0或者1)的视频码流。同时,编码会产生其他信息,例如选择的预测编码模式,运动矢量等,这些其他信息也需要进行熵编码以降低码率。其中,统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常见的统计编码方式有变长编码(Variable Length Coding,VLC)或者基于上下文的二值化算术编码(Content Adaptive Binary Arithmetic Coding,CABAC)。
5)环路滤波(Loop Filtering):已经编码过的图像帧,经过反量化,反变换及预测补偿的操作(上述2)~4)的反向操作),可重建该图像帧对应的解码图像。重建的解码图像与原始图像相比,由于存在量化的影响,部分信息与原始图像有所不同,产生失真(Distortion),因此可利用滤波器对重建的解码图像进行滤波操作,有效的降低量化所产生的失真程度。滤波器例如可以包括:DF(Deblocking Filter,去块效应滤波)、SAO(SampleAdaptive Offset,样本自适应补偿)、ALF(自适应环路滤波,Adaptive Loop Filter)、以及CCALF(Cross Component Adaptive Loop Filter,跨交叉分量的自适应环路滤波)等等,由于这些经过滤波后的重建的解码图像,将作为后续需要编码的其他图像帧的参考图像帧,应用于其他图像帧的预测过程中,所以上述的滤波操作也被称为环路滤波,即在编码环路内的滤波操作。
基于上述步骤1)-5)的相关描述,本申请实施例提供了一种视频编码器的基本工作流程图。请参见图1,图1是本申请实施例提供的一种视频编码器的基本工作流程图。其中,图1以待编码的当前帧为视频中第k个图像帧(如图1所示的sk[x,y])为例进行举例说明,k为正整数,且k小于或等于视频中包含的图像帧的总数量。sk[x,y]表示第k个图像帧中坐标为[x,y]的像素点(简称像素),x表示像素的横坐标,y表示像素的纵坐标;sk[x,y]经过运动补偿或者帧间预测等处理后可以获得预测信号,将预测信号和原始信号sk[x,y]进行相减,得到残差视频信号uk[x,y];然后对该残差视频信号uk[x,y]进行变换和量化处理。其中,量化处理输出的数据存在以下两个不同的去处:①量化处理输出的数据可以送给熵编码器进行熵编码,得到编码后的视频码流,并将该视频码流输出到一个缓冲器(buffer)中保存,等待传送出去。②量化处理输出的数据可以进行反量化和反变换处理,得到反变换后的残差视频信号;然后,将该反变换后的残差视频信号可以被送至当前图像的缓冲器中保存;并对反变换后的残差视频信号进行环路滤波处理可以得到重建信号,后续将重建信号送至解码图像缓冲器中保存,以用于生成重建视频。
二、APS时域编码技术
APS时域编码技术是VVC编码标准中提出的一种自适应时域编码技术。采用该APS时域编码技术对图像帧进行编码处理后,可以得到图像帧的自适应参数集APS,所谓自适应参数集APS是VVC编码标准中提出一种新的图像参数集(Picture Parameter Set,PPS),APS时域编码用于传递图像级(帧级)的参数和Slice(片)级的参数等信息,由于图像级的参数和Slice级的参数在编码处理过程中需频繁改动,因此这些采用APS时域编码后得到的上述参数信息不适合放到PPS中。当前版本的自适应参数集APS中包含:ALF、LMCS(Luma Mappingwith Chroma Scaling,亮度映射与色度缩放)数据、以及量化缩放表。
采用APS时域编码技术可对视频中的每个图像帧进行编码处理,一个图像帧可对应编码得到一个APS,各个图像帧的APS将会构成一个APS列表/数组。在采用APS时域编码技术对视频进行编码处理的过程中,APS列表将会随着视频种各个图像帧的编码处理而动态更新,例如待编码的视频中包括:图像帧1、图像帧2...图像帧n,且上述各个图像帧按序进行依次编码,当前正在编码的图像帧为图像帧3,则已编码的图像帧对应的APS列表中包括:APS_1(图像帧1的APS)、APS_2(图像帧2的APS);那么若当前图像帧3的APS表示为APS_3,则当图像帧3编码完成后,此时APS列表中包括:APS_1、APS_2、APS_3。也就是说,在编码完一个图像帧后,会将当前图像帧的编码结果(APS)添加至已编码的APS列表中,从而实现APS列表的动态更新。其中,编码过程中的APS列表可以如下表1所示:
表1.APS列表
编码顺序 | APS列表 |
图像帧1 | APS_1 |
图像帧2 | APS_1、APS_2 |
图像帧3 | APS_1、APS_2、APS_3 |
... | ... |
图像帧n | APS_1、APS_2、APS_3...APS_n |
在VVC编码标准中,采用APS时域编码完一个图像帧后会为当前图像帧分配一个APS_ID,即一个APS具备一个APS_ID,该APS_ID用于指示当前图像帧的APS将会被放置在当前APS列表中的具体位置,因此可基于该APS_ID将当前图像帧的APS添加至APS列表中的对应位置,以实现APS列表的更新处理。VCC中指出,一个APS列表中最多支持8个APS,例如APS_ID:0-7。为了更好降低视频码流,VVC允许APS时域编码技术,即当前帧(当前待编码的图像帧)可以复用解码可用的APS信息,用于当前帧的编码。其中,解码可用的APS是指:编码顺序(coding order)小于当前帧并且Hier.Level不高于当前帧的APS。VVC编码标准指出,时域APS复用需要句法元素指明哪些APS允许被复用。图像帧的解码顺序是固定的,解码端仅会维护一个APS的数组,每解码一个APS,会根据APS_ID覆盖APS列表中的对应位置的APS元素。
三、视频解码
在解码侧,对于每一个图像帧,在获得视频码流后,一方面,先对视频码流进行熵解码,获得各种预测编码模式的信息及量化后的变换系数,然后对各个变换系数经过反量化及反变换,得到残差视频信号。另一方面,根据已知的预测编码模式的信息,可获得该图像帧对应的预测信号,并将残差视频信号和预测信号进行相加,得到重建视频信号,该重建视频信号可用于重建该图像帧对应的解码图像。最后,该重建视频信号需要经过环路滤波的操作,产生最终的输出信号。
四、云技术
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
本申请实施例,在对视频中各个图像帧进行编码处理过程中,涉及到大量的数据计算以及数据存储服务,上述过程需花费大量的计算机运营成本,因此本申请可基于云计算技术来实现相应数据处理等相关操作流程。其中,所谓云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
五、智慧交通
智能交通系统(Intelligent Traffic System,ITS)又称智能运输系统(Intelligent Transportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
本申请可应用于智慧交通领域,在智慧交通领域内,可实时采集道路中行驶的目标车辆的视频,然后基于本方案的视频处理方法对采集到的视频进行相关处理。在实际应用场景中,首先可以通过道路中设置的采集设备(例如路测单元)对道路中行驶的目标车辆进行视频采集处理,得到待处理的视频(视频中包含多个目标车辆的图像帧);然后确定视频中待编码的图像帧i,并获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,并获取图像帧K的编码结果信息;然后,基于图像帧K的编码结果信息对图像帧i进行编码处理。按照这种方式,可以对路测单元采集到的目标车辆的行驶视频中的各个图像帧进行编码处理,得到视频码流;然后可将上述视频码流发送至交通管理平台,后续交通管理平台可基于视频码流对目标车辆的行驶视频进行解码处理,还原出车辆在道路行驶过程中的实时画面,以对目标车辆执行相应的道路管理,例如:车辆限行、超速检测等。在实时交通场景中,本申请能够提高视频编码的效率,因此有利于对道路中的车辆进行实时的道路管理,提高道路管理的有效性。
六、区块链
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(也可称为区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个数据块。区块链以密码学方式保证数据不可篡改和不可伪造。
本申请中,视频处理过程中涉及诸多类型的视频数据,这些视频数据可以包括各种领域内的数据,例如包括:智能交通领域的视频数据、游戏领域的视频数据等。可选的,本申请可将上述视频数据发送至区块链进行存储,基于区块链的不可篡改、可追溯等特性可避免数据被篡改或泄露,从而提高视频处理过程的数据安全性和可靠性。
需要特别说明的是,在本申请中,涉及到的视频处理过程中的相关数据。在本申请以上实施例运用到具体产品或技术中时,需获得对象许可或同意,且相关数据收集、使用和处理过程需遵守国家和地区的相关法律法规和标准,符合合法、正当、必要的原则,不涉及获取法律法规禁止或限制的数据类型。在一些可选的实施例中,本申请实施例中所涉及的相关数据是经过对象单独授权后获取的,另外,在获取对象单独授权时,向对象表明所涉及的相关数据的用途。
接下来对本申请实施例所提供的视频处理系统进行相关阐述。
请参见图2,图2是本申请实施例提供的一种视频处理系统的架构示意图。该视频处理系统20可包括编码设备201和解码设备202。编码设备201位于编码端,解码设备位于解码端。编码设备201可以是终端设备,也可以是服务器;解码设备202可以是终端设备,也可以是服务器,编码设备201和解码设备202之间可以通过有线或无线的方式建立通信连接。其中,终端设备可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、车载设备、飞行器、可穿戴设备(诸如智能手表、智能手环、计步器等的智能设备)、虚拟现实设备(例如VR(Virtual Reality,虚拟现实)设备、AR(Augmented Reality,增强现实)设备)等等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
(1)对于编码设备201:
编码设备201用于获取待编码的视频,并对该视频进行编码处理,得到视频码流。其中,该视频可以通过摄像设备拍摄或计算机生成获取得到。摄像设备可以是设置于编码设备201中的硬件组件,例如,摄像设备可以是设置于终端设备中的普通摄像头、立体摄像头、以及光场摄像头等等。摄像设备也可以是指与编码设备201相连接的硬件装置,例如与服务器相连接的摄像头等。
在一种可能的实现方式中,假设待编码的视频包括N个图像帧(N为正整数),编码设备201可以将这N个图像帧划分为多层级的编码结构,例如将视频划分为M个层级的编码结构(M为正整数),一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系,例如,若图像帧1为图像帧2的参考帧,则该图像帧1所在的层级低于图像帧2所在的层级。接下来,基于划分得到的M个层级的编码结构,编码设备201可以获取视频种待编码的图像帧i在编码结构中所在的第一层级;然后,从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;并获取图像帧K的编码结果信息(例如APS列表),并基于图像帧K的编码结果信息,对图像帧i进行编码处理。以此类推,编码设备201依次对视频中的每个图像帧进行诸如上述的编码处理,以得到对视频编码后的视频码流。
(2)对于解码设备202:
解码设备202在接收编码设备201发送的视频码流后,可用于对视频码流进行解码处理,以重建该视频码流对应的视频。具体的:解码设备202在对任一图像帧i进行解码时,首先可确定正在解码的图像帧i;然后,获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行解码处理。
本申请实施例中,可确定视频中待编码的图像帧i,该视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系,N、M均为正整数;获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。由此可见,在编码侧,本申请在对当前待编码的图像帧i进行编码时,可基于多层级的编码结构确定出已编码的参考图像帧K,从而可参考图像帧K的编码结果信息即可对当前图像帧i进行编码处理,无需按照各个图像帧的编码顺序依次进行图像帧的编码,从而可以提高视频编码的效率。在解码侧,解码设备所维护的自适应参数集列表与解码设备所维护的自适应参数集列表相匹配,那么可以使得本申请能够正确的进行图像帧的编解码。
接下来对本申请实施例所提供的视频处理方法进行相关阐述。请参见图3,图3是本申请实施例提供的一种视频处理方法的流程示意图。如图3所示,该视频处理方法可由上述视频处理系统中的编码设备执行,本实施例中所描述的视频处理方法可以包括以下步骤S301-S304:
S301:确定视频中待编码的图像帧i,视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数。
其中,视频包含N个图像帧,当前待编码的图像帧i可以为N个图像帧中的任一图像帧。在H.264编码标准中,视频中可以包括三种类型的图像帧:I帧、P帧、B帧。①I帧是指帧内编码帧(Intra picture),I帧通常是每个GOP(MPEG所使用的一种视频压缩技术)的第一个帧;②P帧是指前向预测编码帧(Predictive-frame),通过将图像序列中前面已编码帧的时间冗余信息充分去除来压缩传输数据量的编码图像,也称为预测帧;③B帧是指双向预测内插编码帧(Bi-directional interpolated prediction frame),是以前面的I帧或P帧和后面的P帧作为参考帧。可选的,视频中可以包括I帧和P帧;或者,视频中可以包括I帧、P帧及B帧,本申请后续实施例中,以视频中包括I帧、P帧、B帧这三种类型的图像帧为例进行相应说明。
在一种可能的实现方式中,可以按照N个图像帧之间的编码参考关系,将N个图像帧划分为M个层级的编码结构,例如图像帧1是图像帧2的参考帧,那么图像帧1所在的层级将会低于图像帧2所在的层级,换句话说,编码参考关系用于反映图像帧在编码结构中的层级关系,若图像帧1与图像帧2具备编码参考关系,例如图像帧1为图像帧2的参考帧,则图像帧1在编码结构中所属的层级低于图像帧2在编码结构中所属的层级。请参见图4,图4是本申请实施例提供的一种视频的编码结构示意图。如图4所示,假设视频中包括9个图像帧,分别表示为:I0、P1、B2、B3、B4、B5、B6、B7、B8。如上述,可按照图像帧之间的编码参考关系,将上述9个图像帧划分为四个层级,即层级1(Hier Level 1)、层级2(Hier Level 2)、层级3(Hier Level 3)、层级4(Hier Level 4);其中,对视频所划分的层级数量可以按照不同业务场景的需求设置,也可以按照统一标准预先设置。具体地,如图4,I0帧和P1帧被划分至层级1中,B2帧被划分至层级2中,B3、B6帧被划分至层级3中,以及B4、B5、B7、B8帧被划分至层级4中。
进一步地,若某一图像帧i与另一图像帧j之间具备编码参考关系,则在编码结构中,图像帧i与图像帧j之间具备连接指示边Sij,且该连接指示边Sij具备指示方向,该指示方向用于反映图像帧i与图像帧j之间的编码参考关系,例如图像帧i为图像帧j的参考帧,则Sij的指示方向为:由图像i指向图像j;又如图像j为图像i的参考帧,则Sij的指示方向为:由图像j指向图像i。如图4所示,B2帧与P1帧之间具备编码参考关系,即P1帧为B2帧的参考帧,则P1帧与B2帧之间具备连接指示边S12,且该连接指示边S12是由P1帧指向B2帧。基于此,在编码结构中可以按照各个图像帧之间具备的编码参考关系,来确定任一图像帧的参考帧。其中,一个图像帧的参考帧可以为一个或多个,例如P1帧的参考帧为I0帧,又如B2帧的参考帧包括I0帧和P1帧,还如B3帧的参考帧包括I0帧和B2帧;特别的,I帧不具备参考帧。
在此实施方式下,本申请将视频中的各个图像帧划分为多层级的编码结构,按照层级的高低来反映图像帧之间的编码参考关系,可以提高编码设备进行帧间编码的效率、以及提升时域可分级的处理能力。
S302:获取图像帧i在编码结构中所在的第一层级。
具体地,基于M个层级的编码结构,可以从编码结构中确定当前待编码的图像帧i所在的第一层级,应当理解,视频中的任一个图像帧对应编码结构中的一个层级。如图4所示,假设图像帧i为P1帧,则该P1帧在编码结构中所在的第一层级表示为层级1;假设图像帧i为B2帧,则该B2帧在编码结构中所在的第一层级表示为层级2。
S303:从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧。
具体实现时,在编码结构中,首先可以从M个层级中确定出低于第一层级的一个或多个第二层级,例如第一层级为层级2,则低于第一层级的第二层级是指层级1;又如第一层级为层级4,则低于层级4的第二层级包括:层级1、层级2、层级3。接下来,按照编码结构中个层级之间的编码参考关系,可以从确定出来的第二层级中查找图像帧i的参考帧,例如图像帧i为B3帧,则B3帧所在的第一层级为层级3,那么在层级1和层级2中查找到的B3帧的参考帧为I0帧和B2帧。
应当理解,视频中的各个图像帧具备相应的编码顺序,按照各个图像帧对应的编码顺序依次执行相应图像帧的编码处理。其中,各个图像帧的编码顺序可以是预先设置好的,例如,视频中各个图像帧的编码顺序如下表2所示:
表2.视频中各图像帧的编码顺序
如表2所示,视频中的任一图像帧的编码顺序(Coding order)与该图像帧在视频中的显示顺序(Display order)可能相同,也可能不相同。例如,图像帧I0的编码顺序和显示均为1,该图像帧I0是视频中第一个被编码的图像帧,同时该图像帧I0也是视频中所显示的第一幅画面;又如,图像帧P1在视频中的显示顺序为9,即图像帧P1是指视频中所显示的第9幅画面,但该图像帧P1在视频中的编码顺序为2,编码顺序仅次于图像帧I0,即在编码完图像帧I0后,即可编码视频中的第9幅画面(图像帧P1)。
基于此,针对图像帧i,按照图像帧i所属的类型,可以包括以下三种情况:
情况一、若图像帧i为I帧(例如I0),则该图像帧i不具备参考帧。
情况二、若图像帧i为P帧(例如P1),则该图像帧i的参考帧为I0帧。
情况三、若图像帧i为B帧(例如B3),则第一参考帧可以为I0,第二参考帧可以为B2。那么,可以获取第一参考帧I0的编码顺序(即1)、第二参考帧B2的编码顺序(即3)、以及图像帧B3的编码顺序(即4);然后计算第一参考帧I0的编码顺序与图像帧B3的编码顺序之间的第一差值为:4-1=3,以及计算第二参考帧B2的编码顺序与图像帧B3的编码顺序之间的第一差值为:4-3=1,将第一差值与第二差值中最小差值对应的参考帧确定为图像帧K,即图像帧K为B2帧。换句话说,在图像帧i存在多个参考帧时,可以选择与当前图像帧i的编码顺序最临近的图像帧作为已编码的图像帧K。
基于此,下面对如何确定图像帧K的两种方式进行说明。
1)图像帧K为图像帧i的参考帧中的任一图像帧。如图4所示,若图像帧i为B2帧,那么B2帧的参考帧包括I0、P1帧,图像帧K可以为I0帧,图像帧K也可以为P1帧。
2)图像帧K为与图像帧i编码顺序最邻近的图像帧。在一种可能的实现方式中,若图像帧i为双向帧间预测的图像帧(即B帧)。从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,包括如下步骤:首先,按照M个层级所具备的编码参考关系,从M个层级中低于第一层级的各第二层级中查找第一参考帧和第二参考帧;然后,获取图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序;接下来,按照图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序,从第一参考帧和第二参考帧中确定已编码的图像帧K。具体实现时,可以计算第一参考帧的编码顺序与图像帧i的编码顺序之间的第一差值,以及计算第二参考帧的编码顺序与图像帧i的编码顺序之间的第二差值;将第一差值与第二差值中最小差值对应的参考帧作为图像帧K。如表2所示,若图像帧i为B2帧,那么第一参考帧可以为I0帧,第二参考帧可以为P1帧,其中,第一参考帧(即I0帧)的编码顺序为1,第二参考帧(即P1帧)的编码顺序为2,图像帧i(即B2帧)的编码顺序为3,那么可以确定第一差值为:3-1=2,第二差值为:3-2=1,那么可以确定图像帧K为P1帧。
在一种可能的实现方式中,若从M个层级中不存在低于第一层级的第二层级,即第一层级属于当前M个层级中最低的层级,例如第一层级为层级1,则可以从当前第一层级中按照编码顺序查找已编码的图像帧K。例如,图像帧i为P1帧,该P1帧位于层级1中,M个层级中不存在低于第一层级的第二层级,则可以从当前第一层级(层级1)中获取已编码的图像帧(即I0帧),并将该I0帧作为图像帧K。
S304:获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。
其中,图像帧K的编码结果信息包括采用视频编码技术对图像帧K进行编码处理后得到的结果。例如,视频编码技术可以包括但不限于:HEVC编码技术、VVC编码技术、自适应时域编码技术(即APS时域编码技术)等其它类型的编码技术。
在一种可能的实现方式中,编码设备基于图像帧K的编码结果信息,对图像帧i进行编码处理,可以包括:首先,对图像帧i进行编码处理,得到图像帧i的初始编码结果;然后,基于图像帧K的编码结果信息,更新图像帧i的初始编码结果,得到图像帧i的编码结果信息。其中,上述更新过程具体可以包括:可以将图像帧i的初始编码结果与图像帧K的编码结果信息进行融合,并将融合后得到的结果作为图像帧i的编码结果信息。
举例来说,若编码技术为APS时域编码技术,则图像帧K的编码结果信息可以为图像帧K的参考自适应参数集列表。由前述可知,采用APS时域编码技术在编码一个图像帧后可以得到一个APS,若图像帧K为视频中第一个已编码的图像帧,则图像帧K不具备参考帧,那么图像帧K的参考自适应参数集列表中只包含该图像帧K的APS_K;若图像帧K为视频中第二个(或第三个、第四个等)已编码的图像帧,则图像帧K的参考自适应参数集列表中除了包含该图像帧K的APS_K,还包括图像帧K的参考帧的APS。由此可见,图像帧K的参考自适应参数集列表中可以包括:图像帧K的APS、以及图像帧K的参考帧的APS。综上所述,图像帧K的参考自适应参数集列表可以如下表3所示:
表3.图像帧K的参考自适应参数集列表
图像帧K | 参考自适应参数集列表 |
I0 | [APS_I0] |
P1 | [APS_I0、APS_P1] |
B2 | [APS_I0、APS_P1、APS_B2] |
B3 | [APS_I0、APS_P1、APS_B2、APS_B3] |
... | ... |
在一种可能的实现方式中,编码设备基于图像帧K的编码结果信息,对图像帧i进行编码处理,可以包括:首先,基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表。例如,可以直接将图像帧K的参考自适应参数集列表作为图像帧i的初始自适应参数集列表;又如,可以对图像帧K的参考自适应参数集列表进行预处理,然后将预处理后的参考自适应参数集列表,作为图像帧i的初始自适应参数集列表;其中,预处理可包括:删除处理、格式统一处理、数据更新处理等任一种或多种。后续,可基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理,以得到图像帧i的编码结果信息,具体地,采用APS时域编码技术对图像帧i进行编码后可以得到一个自适应参数集APS_I,然后可以将该APS_I添加至图像帧i的初始自适应参数集列表中,以得到图像帧i的编码结果信息。其中,在将APS_I添加至初始自适应参数集列表(初始APS列表)的过程中,可以将该APS_I随机添加至初始APS列表中;或者,将该APS_I添加至初始APS列表中的末尾位置处;或者,将该APS_I添加至初始APS列表中的指定位置处。
本申请实施例中,可确定视频中待编码的图像帧i,该视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系,N、M均为正整数;获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。可见,本申请在对当前待编码的图像帧i进行编码时,可基于多层级的编码结构确定出已编码的参考图像帧K,从而可参考图像帧K的编码结果信息即可对当前图像帧i进行编码处理,也就是说,在对任一图像帧进行编码时只需关注当前图像帧的参考帧的编码结果信息即可,无需关注其它编码顺序靠前的非参考的图像帧,从而可以提高视频编码的效率。
下面以APS时域编码为例,对本申请的视频编码过程进行详细说明。
请参见图5,图5是本申请实施例提供的另一种视频处理方法的流程示意图。如图5所示,该视频处理方法可由上述视频处理系统中的编码设备执行,本实施例中所描述的视频处理方法可以包括以下步骤S501-S505:
S501:确定视频中待编码的图像帧i,视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数。
S502:获取图像帧i在编码结构中所在的第一层级。
S503:从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧。
需要说明的是,步骤S501-S503对应执行的详细步骤可参考图3实施例中步骤S301-S303的相关步骤,本申请实施例在此不再赘述。
S504:获取图像帧K的参考自适应参数集列表,并基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表。
其中,图像帧K的参考自适应参数集列表中可以包括:图像帧K的APS、以及图像帧K的参考帧的APS。基于以上描述,采用APS时域编码技术在编码一个图像帧后可以得到一个APS,若图像帧K为视频中第一个已编码的图像帧,则图像帧K不具备参考帧,那么图像帧K的参考自适应参数集列表中只包含该图像帧K的APS_K;若图像帧K为视频中第二个已编码的图像帧,则图像帧K的参考自适应参数集列表中除了包含该图像帧K的APS_K,还包括图像帧K的参考帧的APS。如图4所示,若图像帧K为层级1中的I0帧,由于该I0帧不具备参考帧,则I0帧的APS列表中包括:APS_I0;若图像帧K为层级1中的P1帧,该P1帧的参考帧为I0帧,则P1帧的APS列表中包括:APS_I0、APS_P1;若图像帧K为层级2中的B2帧,B2帧的参考帧为I0、P1帧,则B2帧的APS列表中包括:APS_I0、APS_P1、APS_B2。
下面对如何确定图像帧i的初始自适应参数集列表的具体过程进行说明。
在一种可能的实现方式中,可以直接将图像帧K的参考自适应参数集列表,作为图像帧i的初始自适应参数集列表。例如,图像帧i为B2帧、图像帧K为P1帧,则P1帧的参考自适应参数集列表中包括:[APS_I0、APS_P1],那么B2帧的初始APS列表同样表示为:[APS_I0、APS_P1]。
在另一种可能的实现方式中,图像帧K的参考自适应参数集列表中包括:P个自适应参数集,一个自适应参数集对应一个已编码的图像帧,P为正整数。编码设备基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表,还可以包括:首先,获取初始自适应参数集列表允许支配的自适应参数集的数量阈值Q,Q为正整数;若P≥Q,则按照预设规则将参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表;将删除后的参考自适应参数集列表,作为图像帧i的初始自适应参数集列表。在此实现方式下,可以按照APS列表可支配APS的数量,对当前待编码的图像帧i的APS列表中APS的数量进行适应性调整,可以灵活满足业务需求。
具体实现时,按照预设规则将参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表,可以包括以下任一种方式:
方式一、将参考自适应参数集列表中排列顺序靠前的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表,需要说明的是,在APS列表中排列顺序越靠前的APS,其对应的图像帧的编码顺序越优先(即图像帧越早被编码),那么可以在删除APS时,可以优先将APS列表中越早编码的图像帧的APS进行删除处理。例如,图像帧i为B4帧,图像帧K为B3帧,则该B3帧的参考自适应参数集列表中包括:[APS_I0、APS_P1、APS_B2、APS_B3],若B4帧中允许支配的APS数量为4,若直接将B3帧的参考自适应参数集列表作为B4帧的初始自适应参数集列表,则当B4帧编码完成得到APS_B4后,由于此时B4帧的初始自适应参数集列表中的APS数量已经达到APS列表的数量阈值(即4),那么无法将APS_B4添加至当前B4帧的初始自适应参数集列表中。因此,在此情况下可以将参考自适应列表中排列顺序处于第一位的自适应参数集(即APS_I0)进行删除,得到删除后的参考自适应参数集列表中包括:[APS_P1、APS_B2、APS_B3],并将删除后的参考自适应参数集列表作为B4帧的初始自适应参数集列表。
方式二、将参考自适应参数集列表中指定位置的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表。例如,参考自适应参数集列表为:[APS_I0、APS_P1、APS_B2、APS_B3],指定位置假设为列表中的第二个APS,则需要将APS_P1从列表中删除,得到删除后的参考自适应参数集列表中包括:[APS_I0、APS_B2、APS_B3],并将删除后的参考自适应参数集列表作为B4帧的初始自适应参数集列表。
方式三、将参考自适应参数集列表中指定类型的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表。例如,参考自适应参数集列表为:[APS_I0、APS_P1、APS_B2、APS_B3],即该APS列表中的APS包括三种类型:I帧类型的APS、P帧类型的APS、B帧类型的APS,假设指定类型为I帧类型,则需要将APS_I0从列表中删除,得到删除后的参考自适应参数集列表中包括:[APS_P1、APS_B2、APS_B3],并将删除后的参考自适应参数集列表作为B4帧的初始自适应参数集列表。
基于以上描述,在确定图像帧i的初始APS列表时,可以考虑APS列表能够支配APS的能力,即APS列表中允许存储的APS的数量,从而可以基于APS列表的存储能力,适应性的对APS列表中的APS进行删除处理,可提高编码过程中的效率。
S505:基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理。
在一种可能的实现方式中,基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理,可以包括:首先,对图像帧i进行编码处理,得到图像帧i的自适应参数集;然后,将图像帧i的自适应参数集添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表。例如,图像帧i为B3帧,则B3帧的初始自适应参数集列表为:[APS_I0、APS_P1、APS_B2],对B3帧编码后得到APS_B3,那么可以直接将APS_B3添加至上述列表中,得到的编码自适应参数集列表为:[APS_I0、APS_P1、APS_B2、APS_B3]。
在另一种可能的实现方式中,基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理,可以包括:首先,对图像帧i进行编码处理,得到图像帧i的自适应参数集、以及图像帧i的自适应参数集的位置标识,位置标识用于指示图像帧i的自适应参数集在初始自适应参数集列表中的位置;然后,按照位置标识,将图像帧i的自适应参数集添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表。例如,图像帧i为B3帧,则B3帧的初始自适应参数集列表为:[APS_I0、APS_P1、APS_B2],在APS时域编码结束之后,还可以为当前B3帧的APS_B3分配一个位置标识(例如ID为3,即APS_B3将会被放置于APS列表中的第三个位置处),那么可以按照位置标识将APS_B3添加至上述列表中,得到的编码自适应参数集列表为:[APS_I0、APS_P1、APS_B3、APS_B2]。
具体实现时,对图像帧i进行编码处理,得到图像帧i的自适应参数集,可具体包括以下步骤:①采用环路滤波器对图像帧i进行滤波处理,得到自适应环路滤波参数(ALF)。②采用色度缩放和亮度映射的编码工具对图像帧i按照亮度分量和色度分量进行处理,得到图像帧i的亮度映射与色度伸缩参数(LMCS),其中,LMCS主要包括两部分:1)亮度映射,通过充分利用特定位深下的亮度值取值范围提高SDR和HDR视频的压缩效率;2)依赖亮度的色度缩放,主要用于控制亮度和色度分量的相对压缩效率。③对图像帧i进行量化及缩放处理,得到图像帧i的量化缩放表。④基于自适应环路滤波参数、亮度映射与色度伸缩参数、以及量化缩放表,生成图像I的自适应参数集。例如,可直接将上述数据(ALF、LMCS、以及量化缩放表)组合为图像I的自适应参数集。
应当理解,针对视频帧的任一图像帧的编码处理过程,均可参考上述步骤中对图像帧i进行编码处理的相关流程,直至对视频中的每个图像帧均完成编码处理,即可完成对当前整个视频的编码处理。
进一步地,在采用APS时域编码对图像帧进行编码处理的过程中,本方案还可支持FPP处理(即多个图像帧的并行编码处理)。具体地,基于图4所示的分层的编码结构,由于不同图像帧均可基于对应的参考帧的APS列表执行APS时域编码,因此处于同一层级的多个图像帧之间允许并行编码处理,例如层级3中的B3帧和B6帧允许并行编码,又如层级4中的B4、B5、B7、B8帧允许并行编码。
下面以图像帧i和图像帧j为例,对图像帧i和图像帧j的FPP处理过程进行详细说明。例如,图像帧j与图像帧i均属于第一层级的图像帧,且图像帧j的参考帧与图像帧i的参考帧均为图像帧K。
在一种可能的实现方式中,图像帧K的编码结果信息包括:参考自适应参数集列表,图像帧i的初始自适应参数集列表、与图像帧j的初始自适应参数集列表均为图像帧K的参考自适应参数集列表。基于图像帧K的编码结果信息,对图像帧i和所述图像帧j进行并行编码处理,包括:对图像帧i进行编码处理,得到图像帧i的自适应参数集APS_I,并将自适应参数集APS_I添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表;以及,对图像帧j进行编码处理,得到图像帧j的自适应参数集APS_J,并将自适应参数集APS_J添加至图像帧j的初始自适应参数集列表中,得到图像帧j的编码自适应参数集列表。如图4所示,若图像帧i为B3帧,图像帧j为B6帧,且B3帧和B6帧的参考帧均可以包括B2帧(即图像帧K),因此在B2帧完成编码后,可对B3帧和B6帧执行并行编码处理。在此情况下,B3帧的初始APS列表为:[APS_I0、APS_P1、APS_B2],B6帧的初始APS列表同样为:[APS_I0、APS_P1、APS_B2],那么对B3帧进行APS时域编码后可以得到APS_B3,对B6编码进行APS时域编码后可以得到APS_B6,因此在并行编码完成后,B3的编码自适应参数集列表为:[APS_I0、APS_P1、APS_B2、APS_B3],B6的编码自适应参数集列表为:[APS_I0、APS_P1、APS_B2、APS_B6]。可以看出,在开启FPP模式下,本方案中并行编码的各个图像帧分别维护一个各自的APS列表,从而可以在采用APS时域编码技术对图像帧进行FPP编码时,能够保证编解码端的APS列表匹配,从而对各图像帧执行正确的编码处理。
请参见图6,图6是本申请实施例提供的一种自适应时域编码处理的流程示意图。如图6所示,按照本申请上述方法对视频中的各个图像帧进行APS时域编码处理的过程中,B2帧位于层级2中,其低层级的参考帧包括层级1中的I0帧和P1帧,则B2帧的初始APS列表可以为P1帧的APS列表:[APS_I0,APS_P1];同理,B6帧位于层级3中,其底层级的参考帧包括层级2中的B2帧,则B6帧的初始APS列表可以为B1帧的APS列表:[APS_I0,APS_P1、APS_B2]。另外,B4、B5、B7、B8位于层级4中,因此支持对B4、B5、B7、B8进行并行编码,B4和B5的参考帧为层级3中的B6帧,B7和B8的参考帧为层级3中的B3帧,从而各个图像帧可以根据各自的参考帧的APS列表执行相应的编码处理,得到视频码流。
本申请实施例中,在采用APS时域编码技术对视频中的图像帧进行编码时,基于分级的编码结构,可以基于低层级的参考帧的编码结果信息,确定待编码的图像帧i的初始自适应参数集列表,从而采用APS时域编码技术对图像帧i进行编码处理。进一步地,每个图像帧可维护自身对应的APS列表,本申请还可支持FPP编码,从而能够提高视频编码的效率。
下面对本申请提供的视频解码过程进行详细说明。
请参见图7,图7是本申请实施例提供的另一种视频处理方法的流程示意图。如图7所示,该视频处理方法可由上述视频处理系统中的解码设备执行,本实施例中所描述的视频处理方法可以包括以下步骤S701-S704:
S701:确定视频中待解码的图像帧i。
其中,视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数。
S702:获取图像帧i的编码结果信息,图像帧i的编码结果信息是基于已编码的图像帧K的编码结果信息,对图像帧i进行编码处理后得到的。
其中,图像帧K是从M个层级中低于第一层级的各第二层级中查找到的,图像帧K是图像帧i的任一个参考帧。如图4所示,若图像帧i为B3帧,则图像帧K可以为B2帧;若图像帧i为B5帧,则图像帧K可以为B3帧。
具体地,图像帧i的编码结果信息是指对图像帧i进行编码处理后得到的结果。在一种可能的实现方式中,若采用APS时域编码技术对图像帧i进行编码处理,则图像帧i的编码结果信息为图像帧i的编码APS列表,例如图像帧i为B3帧,则B3帧的编码APS列表(编码结果信息)为:[APS_I0、APS_P1、APS_B2];又如图像帧i为B5帧,则B5帧的编码APS列表(编码结果信息)为:[APS_I0、APS_P1、APS_B2、APS_B3、APS_B5]。
需要说明的是,本申请实施例中关于如何对图像帧i进行编码处理的相关过程详细可参见图3实施例步骤S304中编码设备所执行的相关步骤,本申请实施例在此不再赘述。
S703:基于图像帧i的编码结果信息,对图像帧i进行解码处理。
请参见图8,图8是本申请实施例提供的一种视频解码处理的流程示意图。如图8所示,在解码侧,视频中各图像帧的解码顺序是固定的,例如各图像帧按照:I0->P1->B2->B3->B4->B5->B6->B7->B8的解码顺序依次解码。由上述实施例可知,本申请在采用APS时域编码处理时,各图像帧维护有各自的编码APS列表,例如B2帧对应的编码APS列表:[APS_I0、APS_P1、APS_B2],且每个图像帧的编码APS列表与相应图像帧的解码APS列表(如图6所示)是匹配的,因此本申请在解码端能够准确的对各个图像帧执行相应解码处理,以重建各个图像帧对应的解码图像。
本申请实施例中,在采用APS时域编码技术对视频中的图像帧进行编码时,基于分级的编码结构,可以基于低层级的参考帧的编码结果信息,确定待编码的图像帧i的初始自适应参数集列表,从而采用APS时域编码技术对图像帧i进行编码处理。在解码处理时,解码端维护的APS列表与编码端维护的APS列表是相匹配的,因此能够实现对视频中的各个图像帧正确解码。
接下来对本申请实施例提供的视频处理装置进行相关阐述。
请参见图9,图9是本申请实施例提供的一种视频处理装置的结构示意图。如图9所示,该视频处理装置900可应用于前述实施例中所提及的编码设备(如终端设备或服务器)。具体来说,视频处理装置900可以是运行于编码设备中的一个计算机程序(包括程序代码),例如该视频处理装置900为一个应用软件;该视频处理装置900可以用于执行本申请实施例提供的视频处理方法中的相应步骤。具体实现时,该视频处理装置900具体可以包括:
确定单元901,用于确定视频中待编码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;
获取单元902,用于获取图像帧i在编码结构中所在的第一层级;
处理单元903,用于从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;
处理单元903,还用于获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。
在一种可能的实现方式中,图像帧K的编码结果信息包括:图像帧K的参考自适应参数集列表,参考自适应参数集列表是采用自适应时域编码技术对图像帧K进行编码后得到的;处理单元903基于图像帧K的编码结果信息,对图像帧i进行编码处理,用于执行以下操作:
基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表;
基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理。
在一种可能的实现方式中,处理单元903基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理,用于执行以下操作:
对图像帧i进行编码处理,得到图像帧i的自适应参数集、以及图像帧i的自适应参数集的位置标识,位置标识用于指示图像帧i的自适应参数集在初始自适应参数集列表中的位置;
按照位置标识,将图像帧i的自适应参数集添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表。
在一种可能的实现方式中,处理单元903对图像帧i进行编码处理,得到图像帧i的自适应参数集,用于执行以下操作:
采用环路滤波器对图像帧i进行滤波处理,得到自适应环路滤波参数;
采用色度缩放和亮度映射的编码工具对图像帧i按照亮度分量和色度分量进行处理,得到图像帧i的亮度映射与色度伸缩参数;
对图像帧i进行量化及缩放处理,得到图像帧i的量化缩放表;
基于自适应环路滤波参数、亮度映射与色度伸缩参数、以及量化缩放表,生成图像I的自适应参数集。
在一种可能的实现方式中,图像帧K的参考自适应参数集列表中包括:P个自适应参数集,一个自适应参数集对应一个已编码的图像帧,P为正整数;处理单元903基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表,用于执行以下操作:
获取初始自适应参数集列表允许支配的自适应参数集的数量阈值Q,Q为正整数;
若P≥Q,则按照预设规则将参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表;
将删除后的参考自适应参数集列表,作为图像帧i的初始自适应参数集列表。
在一种可能的实现方式中,处理单元903按照预设规则将参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表,用于执行以下任一种操作:
将参考自适应参数集列表中排列顺序靠前的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表;
将参考自适应参数集列表中指定位置的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表;
将参考自适应参数集列表中指定类型的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表。
在一种可能的实现方式中,在N个图像帧中存在图像帧j,图像帧j与图像帧i均属于第一层级的图像帧,且图像帧j的参考帧与图像帧i的参考帧均为图像帧K;处理单元903还用于执行以下操作:
基于图像帧K的编码结果信息,对图像帧i和图像帧j进行并行编码处理。
在一种可能的实现方式中,图像帧K的编码结果信息包括:参考自适应参数集列表,图像帧i的初始自适应参数集列表、与图像帧j的初始自适应参数集列表均为图像帧K的参考自适应参数集列表;处理单元903基于图像帧K的编码结果信息,对图像帧i和图像帧j进行并行编码处理,用于执行以下操作:
对图像帧i进行编码处理,得到图像帧i的自适应参数集APS_I,并将自适应参数集APS_I添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表;以及,
对图像帧j进行编码处理,得到图像帧j的自适应参数集APS_J,并将自适应参数集APS_J添加至图像帧j的初始自适应参数集列表中,得到图像帧j的编码自适应参数集列表。
在一种可能的实现方式中,图像帧i为双向帧间预测的图像帧;处理单元903从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,用于执行以下操作:
按照M个层级所具备的编码参考关系,从M个层级中低于第一层级的各第二层级中查找第一参考帧和第二参考帧;
获取图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序;
按照图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序,从第一参考帧和第二参考帧中确定已编码的图像帧K。
在一种可能的实现方式中,处理单元903按照图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序,从第一参考帧和第二参考帧中确定已编码的图像帧K,用于执行以下操作:
计算图像帧i的编码顺序、与第一参考帧的编码顺序之间的第一差值;
计算图像帧i的编码顺序、与第二参考帧的编码顺序之间的第二差值;
将第一差值与第二差值中最小差值对应的参考帧,作为已编码的图像帧K。
本申请实施例中,可确定视频中待编码的图像帧i,该视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系,N、M均为正整数;获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。可见,本申请在对当前待编码的图像帧i进行编码时,可基于多层级的编码结构确定出已编码的参考图像帧K,从而可参考图像帧K的编码结果信息即可对当前图像帧i进行编码处理,也就是说,在对任一图像帧进行编码时只需关注当前图像帧的参考帧的编码结果信息即可,无需关注其它编码顺序靠前的非参考的图像帧,从而可以提高视频编码的效率。
请参见图10,图10是是本申请实施例提供的另一种视频解码装置的结构示意图。如图10所示,该视频处理装置1000可应用于前述实施例中所提及的解码设备(如终端设备或服务器)。具体来说,视频处理装置1000可以是运行于编码设备中的一个计算机程序(包括程序代码),例如该视频处理装置1000为一个应用软件;该视频处理装置1000可以用于执行本申请实施例提供的视频处理方法中的相应步骤。具体实现时,该视频处理装置1000具体可以包括:
确定单元1001,用于确定视频中待解码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;
获取单元1002,用于获取图像帧i的编码结果信息,图像帧i的编码结果信息是基于已编码的图像帧K的编码结果信息,对图像帧i进行编码处理后得到的;图像帧K是从M个层级中低于第一层级的各第二层级中查找到的,图像帧K是图像帧i的任一个参考帧;
处理单元1003,用于基于图像帧i的编码结果信息,对图像帧i进行解码处理。
本申请实施例中,在采用APS时域编码技术对视频中的图像帧进行编码时,基于分级的编码结构,可以基于低层级的参考帧的编码结果信息,确定待编码的图像帧i的初始自适应参数集列表,从而采用APS时域编码技术对图像帧i进行编码处理。在解码处理时,解码端维护的APS列表与编码端维护的APS列表是相匹配的,因此能够实现对视频中的各个图像帧正确解码。
请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备1100可以为前述方法实施例中的编码设备和解码设备,用于执行前述方法实施例中的视频处理方法。其中,该计算机设备1100包括:一个或多个处理器1101;一个或多个输入设备1102,一个或多个输出设备1103和存储器1104。上述处理器1101、输入设备1102、输出设备1103和存储器1104通过总线1105连接。其中,处理器1101(或称CPU(CentralProcessing Unit,中央处理器))是计算机设备的处理核心,该处理器1101适于实现一条或多条程序指令,具体适于加载并执行一条或多条程序指令从而实现上述的区块链共识方法的流程。另外,存储器1104可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的存储器。存储器1104可提供存储空间,该存储空间用于存储计算机程序,该计算机程序包括程序指令,且该程序指令适于被处理器调用并执行,以用来执行本申请中视频处理方法的各步骤。具体地,存储器1104用于存储计算机程序,计算机程序包括程序指令。
在一个可行的实施例中,当计算机设备1100为编码设备时,处理器1101用于调用存储器1104存储的程序指令,用于执行以下操作:
确定视频中待编码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;
获取图像帧i在编码结构中所在的第一层级;
从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;
获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。
在一种可能的实现方式中,图像帧K的编码结果信息包括:图像帧K的参考自适应参数集列表,参考自适应参数集列表是采用自适应时域编码技术对图像帧K进行编码后得到的;处理器1101基于图像帧K的编码结果信息,对图像帧i进行编码处理,用于执行以下操作:
基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表;
基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理。
在一种可能的实现方式中,处理器1101基于图像帧i的初始自适应参数集列表,对图像帧i进行编码处理,用于执行以下操作:
对图像帧i进行编码处理,得到图像帧i的自适应参数集、以及图像帧i的自适应参数集的位置标识,位置标识用于指示图像帧i的自适应参数集在初始自适应参数集列表中的位置;
按照位置标识,将图像帧i的自适应参数集添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表。
在一种可能的实现方式中,处理器1101对图像帧i进行编码处理,得到图像帧i的自适应参数集,用于执行以下操作:
采用环路滤波器对图像帧i进行滤波处理,得到自适应环路滤波参数;
采用色度缩放和亮度映射的编码工具对图像帧i按照亮度分量和色度分量进行处理,得到图像帧i的亮度映射与色度伸缩参数;
对图像帧i进行量化及缩放处理,得到图像帧i的量化缩放表;
基于自适应环路滤波参数、亮度映射与色度伸缩参数、以及量化缩放表,生成图像I的自适应参数集。
在一种可能的实现方式中,图像帧K的参考自适应参数集列表中包括:P个自适应参数集,一个自适应参数集对应一个已编码的图像帧,P为正整数;处理器1101基于图像帧K的参考自适应参数集列表,确定图像帧i的初始自适应参数集列表,用于执行以下操作:
获取初始自适应参数集列表允许支配的自适应参数集的数量阈值Q,Q为正整数;
若P≥Q,则按照预设规则将参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表;
将删除后的参考自适应参数集列表,作为图像帧i的初始自适应参数集列表。
在一种可能的实现方式中,处理器1101按照预设规则将参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表,用于执行以下任一种操作:
将参考自适应参数集列表中排列顺序靠前的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表;
将参考自适应参数集列表中指定位置的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表;
将参考自适应参数集列表中指定类型的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表。
在一种可能的实现方式中,在N个图像帧中存在图像帧j,图像帧j与图像帧i均属于第一层级的图像帧,且图像帧j的参考帧与图像帧i的参考帧均为图像帧K;处理器1101还用于执行以下操作:
基于图像帧K的编码结果信息,对图像帧i和图像帧j进行并行编码处理。
在一种可能的实现方式中,图像帧K的编码结果信息包括:参考自适应参数集列表,图像帧i的初始自适应参数集列表、与图像帧j的初始自适应参数集列表均为图像帧K的参考自适应参数集列表;处理器1101基于图像帧K的编码结果信息,对图像帧i和图像帧j进行并行编码处理,用于执行以下操作:
对图像帧i进行编码处理,得到图像帧i的自适应参数集APS_I,并将自适应参数集APS_I添加至图像帧i的初始自适应参数集列表中,得到图像帧i的编码自适应参数集列表;以及,
对图像帧j进行编码处理,得到图像帧j的自适应参数集APS_J,并将自适应参数集APS_J添加至图像帧j的初始自适应参数集列表中,得到图像帧j的编码自适应参数集列表。
在一种可能的实现方式中,图像帧i为双向帧间预测的图像帧;处理器1101从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,用于执行以下操作:
按照M个层级所具备的编码参考关系,从M个层级中低于第一层级的各第二层级中查找第一参考帧和第二参考帧;
获取图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序;
按照图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序,从第一参考帧和第二参考帧中确定已编码的图像帧K。
在一种可能的实现方式中,处理器1101按照图像帧i的编码顺序、第一参考帧的编码顺序、以及第二参考帧的编码顺序,从第一参考帧和第二参考帧中确定已编码的图像帧K,用于执行以下操作:
计算图像帧i的编码顺序、与第一参考帧的编码顺序之间的第一差值;
计算图像帧i的编码顺序、与第二参考帧的编码顺序之间的第二差值;
将第一差值与第二差值中最小差值对应的参考帧,作为已编码的图像帧K。
在另一个可行的实施例中,当计算机设备1100为解码设备时,处理器1101用于调用存储器1104存储的程序指令,用于执行以下操作:
确定视频中待解码的图像帧i;视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系;N、M均为正整数;
获取图像帧i的编码结果信息,图像帧i的编码结果信息是基于已编码的图像帧K的编码结果信息,对图像帧i进行编码处理后得到的;图像帧K是从M个层级中低于第一层级的各第二层级中查找到的,图像帧K是图像帧i的任一个参考帧;
基于图像帧i的编码结果信息,对图像帧i进行解码处理。
本申请实施例中,可确定视频中待编码的图像帧i,该视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个层级包含一个或多个图像帧,M个层级之间具备编码参考关系,N、M均为正整数;获取图像帧i在编码结构中所在的第一层级;从M个层级中低于第一层级的各第二层级中查找已编码的图像帧K,图像帧K是图像帧i的任一个参考帧;获取图像帧K的编码结果信息,并基于图像帧K的编码结果信息,对图像帧i进行编码处理。可见,本申请在对当前待编码的图像帧i进行编码时,可基于多层级的编码结构确定出已编码的参考图像帧K,从而可参考图像帧K的编码结果信息即可对当前图像帧i进行编码处理,无需按照各个图像帧的编码顺序依次进行图像帧的编码,从而可以提高视频编码的效率。另外,在解码处理时,解码端维护的APS列表与编码端维护的APS列表是相匹配的,因此能够实现对视频中的各个图像帧正确解码。
此外,这里需要指出的是:本申请实施例还提供了一种计算机存储介质,且计算机存储介质中存储有计算机程序,且该计算机程序包括程序指令,当处理器执行上述程序指令时,能够执行前文所对应实施例中的方法,因此,这里将不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
根据本申请的一个方面,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可以执行前文所对应实施例中的方法,因此,这里将不再进行赘述。
本领域普通技术对象可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术对象可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据处理设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种视频处理方法,其特征在于,包括:
确定视频中待编码的图像帧i;所述视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个所述层级包含一个或多个图像帧,所述M个层级之间具备编码参考关系;N、M均为正整数;
获取所述图像帧i在所述编码结构中所在的第一层级;
从所述M个层级中低于所述第一层级的各层级中查找已编码的图像帧K,所述图像帧K是所述图像帧i的任一个参考帧;
获取所述图像帧K的编码结果信息,并基于所述图像帧K的编码结果信息,对所述图像帧i进行编码处理。
2.如权利要求1所述的方法,其特征在于,所述图像帧K的编码结果信息包括:图像帧K的参考自适应参数集列表,所述参考自适应参数集列表是采用自适应时域编码技术对所述图像帧K进行编码后得到的;所述基于所述图像帧K的编码结果信息,对所述图像帧i进行编码处理,包括:
基于所述图像帧K的参考自适应参数集列表,确定所述图像帧i的初始自适应参数集列表;
基于所述图像帧i的初始自适应参数集列表,对所述图像帧i进行编码处理。
3.如权利要求2所述的方法,其特征在于,所述基于所述图像帧i的初始自适应参数集列表,对所述图像帧i进行编码处理,包括:
对所述图像帧i进行编码处理,得到所述图像帧i的自适应参数集、以及所述图像帧i的自适应参数集的位置标识,所述位置标识用于指示所述图像帧i的自适应参数集在所述初始自适应参数集列表中的位置;
按照所述位置标识,将所述图像帧i的自适应参数集添加至所述图像帧i的初始自适应参数集列表中,得到所述图像帧i的编码自适应参数集列表。
4.如权利要求3所述的方法,其特征在于,所述对所述图像帧i进行编码处理,得到所述图像帧i的自适应参数集,包括:
采用环路滤波器对所述图像帧i进行滤波处理,得到自适应环路滤波参数;
采用色度缩放和亮度映射的编码工具对所述图像帧i按照亮度分量和色度分量进行处理,得到所述图像帧i的亮度映射与色度伸缩参数;
对所述图像帧i进行量化及缩放处理,得到所述图像帧i的量化缩放表;
基于所述自适应环路滤波参数、亮度映射与色度伸缩参数、以及量化缩放表,生成所述图像I的自适应参数集。
5.如权利要求2-4任一项所述的方法,其特征在于,所述图像帧K的参考自适应参数集列表中包括:P个自适应参数集,一个自适应参数集对应一个已编码的图像帧,P为正整数;所述基于所述图像帧K的参考自适应参数集列表,确定所述图像帧i的初始自适应参数集列表,包括:
获取所述初始自适应参数集列表允许支配的自适应参数集的数量阈值Q,Q为正整数;
若P≥Q,则按照预设规则将所述参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表;
将所述删除后的参考自适应参数集列表,作为所述图像帧i的初始自适应参数集列表。
6.如权利要求5所述的方法,所述按照预设规则将所述参考自适应参数集列表中的自适应参数集进行删除处理,得到删除后的参考自适应参数集列表,包括以下任一种:
将所述参考自适应参数集列表中排列顺序靠前的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表;
将所述参考自适应参数集列表中指定位置的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表;
将参考自适应参数集列表中指定类型的一个或多个自适应参数进行删除处理,得到删除后的参考自适应参数集列表。
7.如权利要求1所述的方法,其特征在于,在所述N个图像帧中存在图像帧j,所述图像帧j与所述图像帧i均属于所述第一层级的图像帧,且所述图像帧j的参考帧与所述图像帧i的参考帧均为所述图像帧K;所述方法还包括:
基于所述图像帧K的编码结果信息,对所述图像帧i和所述图像帧j进行并行编码处理。
8.如权利要求7所述的方法,其特征在于,所述图像帧K的编码结果信息包括:参考自适应参数集列表,所述图像帧i的初始自适应参数集列表、与所述图像帧j的初始自适应参数集列表均为所述图像帧K的参考自适应参数集列表;基于所述图像帧K的编码结果信息,对所述图像帧i和所述图像帧j进行并行编码处理,包括:
对所述图像帧i进行编码处理,得到所述图像帧i的自适应参数集APS_I,并将所述自适应参数集APS_I添加至所述图像帧i的初始自适应参数集列表中,得到所述图像帧i的编码自适应参数集列表;以及,
对所述图像帧j进行编码处理,得到所述图像帧j的自适应参数集APS_J,并将所述自适应参数集APS_J添加至所述图像帧j的初始自适应参数集列表中,得到所述图像帧j的编码自适应参数集列表。
9.如权利要求1所述的方法,其特征在于,所述图像帧i为双向帧间预测的图像帧;所述从所述M个层级中低于所述第一层级的各层级中查找已编码的图像帧K,包括:
按照所述M个层级所具备的编码参考关系,从所述M个层级中低于所述第一层级的各层级中查找第一参考帧和第二参考帧;
获取所述图像帧i的编码顺序、所述第一参考帧的编码顺序、以及所述第二参考帧的编码顺序;
按照所述图像帧i的编码顺序、所述第一参考帧的编码顺序、以及所述第二参考帧的编码顺序,从所述第一参考帧和所述第二参考帧中确定已编码的图像帧K。
10.如权利要求9所述的方法,其特征在于,所述按照所述图像帧i的编码顺序、所述第一参考帧的编码顺序、以及所述第二参考帧的编码顺序,从所述第一参考帧和所述第二参考帧中确定已编码的图像帧K,包括:
计算所述图像帧i的编码顺序、与所述第一参考帧的编码顺序之间的第一差值;
计算所述图像帧i的编码顺序、与所述第二参考帧的编码顺序之间的第二差值;
将所述第一差值与所述第二差值中最小差值对应的参考帧,作为已编码的图像帧K。
11.一种视频处理方法,其特征在于,包括:
确定视频中待解码的图像帧i;所述视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个所述层级包含一个或多个图像帧,所述M个层级之间具备编码参考关系;N、M均为正整数;
获取所述图像帧i的编码结果信息,所述图像帧i的编码结果信息是基于已编码的图像帧K的编码结果信息,对所述图像帧i进行编码处理后得到的;所述图像帧K是从所述M个层级中低于所述第一层级的各层级中查找到的,所述图像帧K是所述图像帧i的任一个参考帧;
基于所述图像帧i的编码结果信息,对所述图像帧i进行解码处理。
12.一种视频处理装置,其特征在于,包括:
确定单元,用于确定视频中待编码的图像帧i;所述视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个所述层级包含一个或多个图像帧,所述M个层级之间具备编码参考关系;N、M均为正整数;
获取单元,用于获取所述图像帧i在所述编码结构中所在的第一层级;
处理单元,用于从所述M个层级中低于所述第一层级的各层级中查找已编码的图像帧K,所述图像帧K是所述图像帧i的任一个参考帧;
所述处理单元,还用于获取所述图像帧K的编码结果信息,并基于所述图像帧K的编码结果信息,对所述图像帧i进行编码处理。
13.一种视频处理装置,其特征在于,包括:
确定单元,用于确定视频中待解码的图像帧i;所述视频包含N个图像帧,N个图像帧被划分为M个层级的编码结构,一个所述层级包含一个或多个图像帧,所述M个层级之间具备编码参考关系;N、M均为正整数;
获取单元,用于获取所述图像帧i的编码结果信息,所述图像帧i的编码结果信息是基于所述图像帧K的编码结果信息,对所述图像帧i进行编码处理后得到的,所述图像帧K是从所述M个层级中低于所述第一层级的各层级中查找到的,所述图像帧K是所述图像帧i的任一个参考帧;
处理单元,用于基于所述图像帧i的编码结果信息,对所述图像帧i进行解码处理。
14.一种计算机设备,其特征在于,包括:
处理器,适用于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,执行如权利要求1-11任一项所述的视频处理方法。
15.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时,执行如权利要求1-11任一项所述的视频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196315.3A CN117119198A (zh) | 2023-09-15 | 2023-09-15 | 一种视频处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196315.3A CN117119198A (zh) | 2023-09-15 | 2023-09-15 | 一种视频处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117119198A true CN117119198A (zh) | 2023-11-24 |
Family
ID=88807586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311196315.3A Pending CN117119198A (zh) | 2023-09-15 | 2023-09-15 | 一种视频处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117119198A (zh) |
-
2023
- 2023-09-15 CN CN202311196315.3A patent/CN117119198A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114650419B (zh) | 进行帧内预测的编码器、解码器和对应方法 | |
CN104221375B (zh) | 速率失真优化量化中的等级决定 | |
JP5823538B2 (ja) | 遷移ゾーン中のサンプルの識別 | |
CN107409217A (zh) | 用于视频编码的自适应模式检查次序 | |
TW201603562A (zh) | 決定在視訊寫碼中之調色板寫碼區塊的調色板大小、調色板單元及過濾 | |
CN114845134B (zh) | 文件封装方法、文件传输方法、文件解码方法及相关设备 | |
CN113767626B (zh) | 视频增强的方法及装置 | |
CN113992635B (zh) | 多媒体数据处理方法、装置、设备及存储介质 | |
CN115086658B (zh) | 点云数据的处理方法、装置、存储介质及编解码设备 | |
CN115052163B (zh) | 编码器、解码器和用于变换处理的对应方法 | |
CN116866591A (zh) | 一种图像编码方法、装置及计算机设备、介质 | |
EP3673653B1 (en) | Embedding information about token tree traversal | |
WO2022022299A1 (zh) | 视频编解码中的运动信息列表构建方法、装置及设备 | |
CN117119198A (zh) | 一种视频处理方法及相关设备 | |
CN116320486A (zh) | 编码器、解码器及对应的使用帧内模式译码进行帧内预测的方法 | |
RU2821012C2 (ru) | Кодер, декодер и соответствующие способы для интра-предсказания | |
CN114079788B (zh) | 视频编解码中的运动信息列表构建方法、装置及设备 | |
RU2803063C2 (ru) | Кодер, декодер и соответствующие способы, которые используются для процесса преобразования | |
CN117440157B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN111885378B (zh) | 多媒体数据编码方法、装置、设备以及介质 | |
CN117119182A (zh) | 视频数据处理方法、装置、设备及介质 | |
CN117151986A (zh) | 图像滤波方法、装置及设备 | |
CN117979031A (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 |