CN116708826A - 视频编码方法及装置、视频解码方法及装置 - Google Patents
视频编码方法及装置、视频解码方法及装置 Download PDFInfo
- Publication number
- CN116708826A CN116708826A CN202310778788.8A CN202310778788A CN116708826A CN 116708826 A CN116708826 A CN 116708826A CN 202310778788 A CN202310778788 A CN 202310778788A CN 116708826 A CN116708826 A CN 116708826A
- Authority
- CN
- China
- Prior art keywords
- motion information
- current block
- preset
- information
- image frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000033001 locomotion Effects 0.000 claims abstract description 837
- 230000002123 temporal effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 239000013598 vector Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于一种视频编码方法及装置、视频解码方法及装置。视频编码方法包括:从当前块的运动信息候选列表中,选择出当前块的目标运动信息;在目标运动信息是预定运动信息的情况下,对目标运动信息的相关信息采用等长编码的编码方式进行编码,其中,预定运动信息是运动信息候选列表中前预定数量个运动信息中的一个运动信息,前预定数量个运动信息属于同一类型;在目标运动信息不是预定运动信息的情况下,对目标运动信息的相关信息采用截断一元码的编码方式进行编码。
Description
技术领域
本公开涉及视频处理领域,尤其涉及一种视频编码方法及装置、视频解码方法及装置。
背景技术
在VVC编码标准中,帧间融合预测模式的运动信息候选列表一般包括如下几种类型的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。目前,在构建完运动信息候选列表后,一般采用截断一元码的编码方式编码运动信息候选列表中运动信息的索引,通过这种编码方式,使得运动信息候选列表中越靠前的运动信息编码时所耗费的比特数越少,越靠后的运动信息编码时所耗费的比特数越多。但是,在运动信息候选列表构建过程中,相同类型的运动信息可以会提供多个,如果采用截断一元码的编码方式会导致运动信息在编码时所耗费的比特数较多,降低了编码性能。
发明内容
本公开提供一种视频编码方法及装置、视频解码方法及装置,以至少解决相关技术中运动信息在编码时耗费的比特数较多的问题。
根据本公开实施例的第一方面,提供一种视频编码方法,包括:从当前块的运动信息候选列表中,选择出当前块的目标运动信息;在目标运动信息是预定运动信息的情况下,对目标运动信息的相关信息采用等长编码的编码方式进行编码,其中,预定运动信息是运动信息候选列表中前预定数量个运动信息中的一个运动信息,前预定数量个运动信息属于同一类型;在目标运动信息不是预定运动信息的情况下,对目标运动信息的相关信息采用截断一元码的编码方式进行编码。
可选地,在从当前块的运动信息候选列表中,选择当前块的目标运动信息之前,还包括:获取当前块对应的多种类型的运动信息,其中,多种类型的运动信息包括当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息,其中,预定顺序为当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息。
可选地,在当前块所在的当前图像帧相对于当前图像帧的任一个参考图像帧运动明显的情况下,按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息;在当前图像帧相对于当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
可选地,通过如下方式确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显:获取当前图像帧分别与每个参考图像帧的差分图像;在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显,其中,预定像素的像素值大于等于预设值。
可选地,通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:基于每个差分图像,确定每个参考图像帧的二值图像,其中,二值图像中每个第一值的位置分别对应于差分图像中像素值大于等于预设值的像素的位置,二值图像中每个第二值的位置分别对应于差分图像中像素值小于预设值的像素的位置;在任一个参考图像帧的二值图像中第一值的个数占比超过预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例。
可选地,在从当前块的运动信息候选列表中,选择当前块的目标运动信息之前,还包括:按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
可选地,从当前块的运动信息候选列表中,选择出当前块的目标运动信息,包括:获取运动信息候选列表中每个运动信息的率失真代价;基于率失真代价,从运动信息候选列表中,选择出当前块的目标运动信息。
根据本公开实施例的第二方面,提供一种视频解码方法,包括:获取当前块的目标运动信息的编码信息;基于编码信息对应的编码方式,对编码信息进行相应解码,得到目标运动信息的相关信息,其中,在目标运动信息是预定运动信息的情况下,目标运动信息的相关信息的编码方式为等长编码,在目标运动信息不是预定运动信息的情况下,目标运动信息的相关信息的编码方式为截断一元码,预定运动信息是当前块的运动信息候选列表中前预定数量个运动信息中的一个运动信息,前预定数量个运动信息属于同一类型。
可选地,当前块的运动信息候选列表通过如下方式确定:获取当前块对应的多种类型的运动信息,其中,多种类型的运动信息包括当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息,其中,预定顺序为当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息。
可选地,在当前块所在的当前图像帧相对于当前图像帧的任一个参考图像帧运动明显的情况下,按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息;在当前图像帧相对于当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
可选地,通过如下方式确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显:获取当前图像帧分别与每个参考图像帧的差分图像;在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显,其中,预定像素的像素值大于等于预设值。
可选地,通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:基于每个差分图像,确定每个参考图像帧的二值图像,其中,二值图像中每个第一值的位置分别对应于差分图像中像素值大于等于预设值的像素的位置,二值图像中每个第二值的位置分别对应于差分图像中像素值小于预设值的像素的位置;在任一个参考图像帧的二值图像中第一值的个数占比超过预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例。
可选地,当前块的运动信息候选列表还通过如下方式确定:按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
根据本公开实施例的第三方面,提供一种视频编码装置,包括:选择单元,被配置为从当前块的运动信息候选列表中,选择出所述当前块的目标运动信息;第一编码单元,被配置为在所述目标运动信息是预定运动信息的情况下,对所述目标运动信息的相关信息采用等长编码的编码方式进行编码,其中,所述预定运动信息是所述运动信息候选列表中前预定数量个运动信息中的一个运动信息,所述前预定数量个运动信息属于同一类型;第二编码单元,被配置为在所述目标运动信息不是所述预定运动信息的情况下,对所述目标运动信息的相关信息采用截断一元码的编码方式进行编码。
可选地,选择单元,还被配置为在从当前块的运动信息候选列表中,选择当前块的目标运动信息之前,获取当前块对应的多种类型的运动信息,其中,多种类型的运动信息包括当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息,其中,预定顺序为当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息。
可选地,选择单元,还被配置为在当前块所在的当前图像帧相对于当前图像帧的任一个参考图像帧运动明显的情况下,按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息;在当前图像帧相对于当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
可选地,选择单元,还被配置为通过如下方式确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显:获取当前图像帧分别与每个参考图像帧的差分图像;在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显,其中,预定像素的像素值大于等于预设值。
可选地,选择单元,还被配置为通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:基于每个差分图像,确定每个参考图像帧的二值图像,其中,二值图像中每个第一值的位置分别对应于差分图像中像素值大于等于预设值的像素的位置,二值图像中每个第二值的位置分别对应于差分图像中像素值小于预设值的像素的位置;在任一个参考图像帧的二值图像中第一值的个数占比超过预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例。
可选地,选择单元,还被配置为在从当前块的运动信息候选列表中,选择当前块的目标运动信息之前,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
可选地,选择单元,还被配置为获取运动信息候选列表中每个运动信息的率失真代价;基于率失真代价,从运动信息候选列表中,选择出当前块的目标运动信息。
根据本公开实施例的第四方面,提供一种视频解码装置,包括:获取单元,被配置为获取当前块的目标运动信息的编码信息;解码单元,被配置为基于所述编码信息对应的编码方式,对所述编码信息进行相应解码,得到目标运动信息的相关信息,其中,在所述目标运动信息是预定运动信息的情况下,所述目标运动信息的相关信息的编码方式为等长编码,在所述目标运动信息不是所述预定运动信息的情况下,所述目标运动信息的相关信息的编码方式为截断一元码,所述预定运动信息是所述当前块的运动信息候选列表中前预定数量个运动信息中的一个运动信息,所述前预定数量个运动信息属于同一类型。
可选地,上述视频解码装置还包括确定单元,被配置为获取当前块对应的多种类型的运动信息,其中,多种类型的运动信息包括当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息,其中,预定顺序为当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息。
可选地,确定单元,还被配置为在当前块所在的当前图像帧相对于当前图像帧的任一个参考图像帧运动明显的情况下,按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息;在当前图像帧相对于当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
可选地,确定单元,还被配置为通过如下方式确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显:获取当前图像帧分别与每个参考图像帧的差分图像;在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显,其中,预定像素的像素值大于等于预设值。
可选地,确定单元,还被配置为通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:基于每个差分图像,确定每个参考图像帧的二值图像,其中,二值图像中每个第一值的位置分别对应于差分图像中像素值大于等于预设值的像素的位置,二值图像中每个第二值的位置分别对应于差分图像中像素值小于预设值的像素的位置;在任一个参考图像帧的二值图像中第一值的个数占比超过预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例。
可选地,确定单元,还被配置为按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
根据本公开实施例的第五方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现根据本公开的视频编码方法和/或视频解码方法。
根据本公开实施例的第六方面,提供了一种计算机可读存储介质,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行如上根据本公开的视频编码方法和/或视频解码方法。
根据本公开实施例的第七方面,提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现根据本公开的视频编码方法和/或视频解码方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的视频编码方法及装置、视频解码方法及装置,对于运动信息候选列表中的所有运动信息,不再单一的采用截断一元码的编码方式进行编码,而是对运动信息候选列表中前预定数量个运动信息,采用等长编码的编码方式进行编码;对运动信息候选列表中前预定数量个运动信息后面的运动信息,采用截断一元码的编码方式进行编码,使得运动信息候选表中前面来自同一种类型的运动信息编码时所消耗的比特数相同,因为运动信息候选表中前面来自同一种类型的运动信息被选中的概率相近,所以采用相同比特数进行编码,可以降低码率,提高编码效率。因此,本公开解决了相关技术中运动信息在编码时耗费的比特数较多的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出了基于块的视频编码***的框图;
图2示出了基于块的视频解码***的示例性框图;
图3是示出根据本公开的示例性实施例的视频编码方法和视频解码方法的实施场景示意图;
图4是根据一示例性实施例示出的一种视频编码方法的流程图;
图5是根据一示例性实施例示出的一种空域候选示意图;
图6是根据一示例性实施例示出的一种时域候选示意图;
图7是根据一示例性实施例示出的一种时域候选位置示意图;
图8是根据一示例性实施例示出的一种视频解码方法的流程图;
图9是根据一示例性实施例示出的一种视频编码装置的框图;
图10是根据一示例性实施例示出的一种视频解码装置的框图;
图11是根据本公开实施例的一种电子设备1100的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
下面将首先结合图1和图2对基于块的视频编码***和视频解码***的示例进行描述。
图1示出了基于块的视频编码***的框图。输入视频信号包括多个图像帧的信号,每个图像帧可以被逐块处理,这里,块可以例如是但不限于编码树单元(CTU,Coding TreeUnit)、最大编码单元(LCU,Largest Coding Unit)、编码单元(CU,Coding Unit)、预测单元(PU,Prediction Unit)和变换单元(TU,Transform Unit)等。
视频编码的原理在于,利用连续的图像帧之间的相似性,以及相同图像帧/条带内部相邻块之间的相似性,对其中部分具有代表性的图像帧或块,按照原始的像素值进行编码,对除具有代表性的图像帧或块之外的其他图像帧或块,则利用连续图像帧之间的相似性或相邻块之间的相似性来预测其像素值,从而实现对视频信号的压缩,以去除空间、时间维度的冗余。
在执行视频编码时,根据利用的是相邻块之间的相似性,还是连续图像帧之间的相似性,可以对当前图像帧的块执行空间预测和/或时间预测。
空间预测(或“帧内预测”)使用存储器中存储的、来自相同图像帧/条带中的重建的相邻块(相邻块指已经完成编码的相邻块)的像素(其被称为参考像素)的像素值来预测当前块,得到预测块。空间预测减少了视频信号中固有的空间冗余。
时间预测(也称为“帧间预测”或“运动补偿预测”,对应于图1中“运动估计”和“运动补偿”的部分)使用图像帧缓冲器中存储的、已经编码的图像帧(称为“参考图像帧”)中的重建像素(重建像素指已经完成编码的像素)来预测当前块,得到预测块。时间预测减少了视频信号中固有的时间冗余。当前块的时间预测信号通常基于一个或多个预测运动矢量确定,预测运动矢量指示当前块与其时间参考(称为“参考块”,是参考图像帧中的块)之间的运动偏移量和方向。确定预测运动矢量的过程就称为运动估计;基于预测运动矢量、当前块以及参考图像帧,确定参考块的过程,就称为运动补偿,确定出的参考块就作为预测块。此外,如果编码端和解码端支持使用多个参考图像帧,则编码端在向解码端发送编码信息时,还另外发送一个参考图像帧索引,其用于识别时间预测信号来自图像帧缓冲器中的哪个参考图像帧,也就是运动补偿时需要使用哪个参考图像帧。
预测当前块的运动信息的方法的一个示例可以是合并模式(也即Merge模式)。合并模式可表示合并多个块的运动的方法。合并模式可表示利用重建块(重建块指已经完成编码的块)的运动信息预测当前块的运动信息的模式。当应用合并模式时,可使用重建的相邻块的运动信息和/或重建的同位块(同位块指当前图像帧的同位图像帧中与当前块位置相同的块,同位图像帧是与当前图像帧的时域相关性较强的重建的图像帧)的运动信息来生成运动信息候选列表。运动信息可包括运动矢量、参考图像帧索引和时间预测指示符中的至少一个。时间预测指示符可指示单向预测(L0预测或L1预测)或双向预测(L0预测和L1预测),其中,L0预测指前向预测,也就是将当前图像帧之前的图像帧作为参考图像帧,L1预测指后向预测,也就是将当前图像帧之后的图像帧作为参考图像帧。运动信息候选列表是存储运动信息的列表,包括在运动信息候选列表中的运动信息可以包括以下5种类型的运动信息:当前块的相邻块的运动信息(基于相邻块的空域候选)、当前块的同位块的运动信息(基于同位块的时域候选)、基于历史参考确定的相邻块的运动信息(基于历史信息构建的FIFO表的候选)、当前块的多个相邻块的平均运动信息(成对的平均候选)、零运动信息(零候选)。
每个块的运动信息候选表最多包含6个运动信息,每个块在编码端选择出最优的运动信息。若当前块经过普通帧间预测模式,帧间融合预测模式以及帧内模式编码之后,得到的最优编码模式为帧间融合预测模式,则需要将该模式下的最优的运动信息的索引mergeIdx写入码流,在目前VVC的设计中,mergeIdx采用了截断一元码表示,具体如下表1所示:
表1mergeIdx语法元素含义
值 | 表示含义 |
0 | 选择第0个候选 |
10 | 选择第1个候选 |
110 | 选择第2个候选 |
1110 | 选择第3个候选 |
11110 | 选择第4个候选 |
111110 | 选择第5个候选 |
如表1所示,mergeIdx需要1bit到6bits来编码,当选择的候选的运动信息索引越大,则需要编码该索引的码率越多,因此按照目前的这种编码方式,选中概率越高的候选的运动信息应该放置在列表中越靠前的位置。需要说明的是,截断一元码的编码方式主要用于编码一些选中概率存在差异的语法元素,例如有三个候选,三个候选被选中的概率分别为60%,30%以及10%。则可以采用类似表1的编码方式,0表示第0个候选,10表示第1个候选,110表示第三个候选,这样可以让概率高的候选消耗的比特数越少,从而使得总体上消耗的比特数达到最小。
继续参照图1,在空间和/或时间预测之后,编码器中的空间/时间模式判定,例如基于率失真优化方法来选择最佳预测模式。然后,确定当前块与预测块之间的差异,具体例如是从当前块的各个像素的像素值中减去预测块的相应像素的像素值,以获得预测残差,再对编码模式(时间或空间)、运动信息等预测相关信息和预测残差行编码处理,即可得到当前块的编码信息。编码信息可通过比特流被发送至解码端。此外,基于预测残差和预测块,可确定出当前块的重建信号,也就是当前块中各个像素经过编码压缩后的像素值,并存储在存储器中。在将当前块的重建信号(可称为“重建块”的信号)放入图像帧缓冲器中,以用作对未来块进行编码而使用的参考块之前,可以对重建块应用进一步的环路滤波,例如,但不限于,去块滤波器、像素自适应偏移和自适应环路滤波器等中的至少一项。
图2示出了基于块的视频解码***的示例性框图。如图2所示,解码端接收到视频的比特流后,首先进行解码处理,得到预测相关信息和预测残差。预测相关信息被发送到空间预测单元(如果帧内编码)或时间预测单元(如果帧间编码)以形成预测块。结合预测残差和预测块,可确定出重建块,并存储在存储器中。重建块可以在其被存储在图像帧缓冲器中之前进一步经历环路滤波,例如,但不限于,去块滤波器、像素自适应偏移和自适应环路滤波器等中的至少一项。然后,将图像帧缓冲器中的重建视频输出以供显示器显示,以及用于预测未来的块。在时间预测模式下,可使用当前块的参考图像帧中的对应预测块对当前块执行运动补偿。
需要说明的是,编解码端会使用相同的方式构建运动信息候选列表,在编码端通过率失真准则选出最优的运动信息,只需将最优的运动信息的索引传给解码端即可,无需编码参考图像帧的索引,MVD以及其他运动信息。
但是,在运动信息候选列表构建过程中,当前块的相邻块的运动信息一般会提供多个,但不会超过4个,假设构建的运动信息候选列表中前4个是当前块的相邻块的运动信息,由于同一种类型的运动信息被选中的概率比较接近,因此,采用截断一元码的编码方式导致前3-4个运动信息在编码时所耗费的比特数较多,降低了编码性能。而且在很多情况下,平均运动信息被选中的概率要高于当前块的同位块的运动信息和基于历史信息确定的相邻块的运动信息,而目前的融合预测模式在编码运动信息的索引时采用的是截断一元码的方式,结合采用相关技术构建的运动信息候选表,导致在编码平均运动信息对应的索引时比编码当前块的同位块的运动信息或者基于历史信确定的相邻块的运动信息对应的索引需要耗费更多的比特数,因此降低了帧间融合预测模式的编码性能。
针对上述问题,本公开提供了一种视频编码方法和视频解码方法,能够解决相关技术中运动信息在编码时耗费的比特数较多的问题,下面以相关信息为索引为例进行说明。
图3是示出根据本公开的示例性实施例的视频编码方法和视频解码方法的实施场景示意图,如图3所述,该实施场景包括服务器300、编码端310和解码端320,其中,编码端和解码端包括并不限于手机、个人计算机等设备,服务器可以是一个服务器,也可以是若干个服务器组成服务器集群,还可以是云计算平台或虚拟化中心。
编码端310对视频中每个图像帧分别进行编码,每个图像帧又会划分多个块分别进行编码,对于每个块编码端310执行如下操作,从当前块的运动信息候选列表中,选择出当前块的目标运动信息;在目标运动信息是预定运动信息的情况下,对目标运动信息的索引采用等长编码的编码方式进行编码,其中,预定运动信息是运动信息候选列表中前预定数量个运动信息中的一个运动信息,前预定数量个运动信息属于同一类型;在目标运动信息不是预定运动信息的情况下,对目标运动信息的索引采用截断一元码的编码方式进行编码。在编码结束后,将编码的索引写入码流中,经由服务器300发送给解码端320。
解码端320接收服务器300发送的码流,并从码流中获取当前块的目标运动信息的编码后的索引;基于该索引对应的编码方式,对编码后的索引进行相应解码,其中,在目标运动信息是预定运动信息的情况下,目标运动信息的索引的编码方式为等长编码,在目标运动信息不是预定运动信息的情况下,目标运动信息的索引的编码方式为截断一元码,预定运动信息是当前块的运动信息候选列表中前预定数量个运动信息中的一个运动信息,前预定数量个运动信息属于同一类型。在获取到解码后的索引后,根据该索引从运动信息候选列表中查询该索引对应的运动信息,即目标运动信息,解码端基于该目标运动信息进行后续的处理。
下面,将参照附图详细描述根据本公开的示例性实施例的视频编码方法及装置、视频解码方法及装置。
图4是根据一示例性实施例示出的一种视频编码方法的流程图,如图4所示,视频编码方法包括以下步骤:
在步骤S401中,从当前块的运动信息候选列表中,选择出当前块的目标运动信息。在本步骤中可以根据运动信息候选列表中的每个运动信息的率失真代价,从中选择出目标运动信息,当然也可以通过其他方式选择,对此本公开并不进行限定。上述运动信息可以包括但不限于:帧间预测方向(Inter Direction,缩写为ID)、运动矢量(MotionVector,缩写为MV)、参考帧索引(Reference Idx,缩写为RI)、双向权重预测索引(Bi-prediction withCU-level weight Idx,缩写为BI)、半像素插值索引(half-pel interpolation filter,缩写为HF)。
根据本公开的示例性实施例,从当前块的运动信息候选列表中,选择出当前块的目标运动信息,包括:获取运动信息候选列表中每个运动信息的率失真代价;基于率失真代价,从当前块的运动信息候选列表中,选择出当前块的目标运动信息。根据本实施例,通过率失真代价,可以方便快速的选择出目标运动信息。
具体地,可以分别计算运动信息候选列表中每个运动信息的率失真代价,确定率失真代价最小的运动信息,将该运动信息确定为目标运动信息,例如,每个块的运动信息候选表最多包含6个运动信息,每个块在编码端通过率失真优化从对应的运动信息候选表中,选择出率失真代价最小的一个运动信息,这里用mergeIdx标记。率失真优化的计算公式如下:
RDCost(i)=D(i)+λ*R(i) (1)
其中,D(i)表示当前块采用第i个候选的运动信息编码时的编码失真;R(i)表示当前块采用第i个候选的运动信息编码时,计算下来的所有的标识信息(包括编码标识候选索引的比特消耗)以及残差信息需要消耗的比特数;λ为拉格朗日乘法因子,该因子为常数。最终选定最小的率失真代价RDCost对应的运动信息为最优的运动信息,也即目标运动信息。
需要说明的是,本公开的运动信息候选列表可以通过多种方式构建,下面分别介绍了三种方式,但是本公开的运动信息候选列表的构建并不局限于这三种。
第一种方式:
根据本公开的示例性实施例,在从当前块的运动信息候选列表中,选择当前块的目标运动信息之前,可以按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。根据本实施例,对于每个块对应的运动信息候选列表,可以仍然采用原来的方式确定运动信息候选列表的中包含的运动信息,可以在做最小调整的基础上,避免运动信息表中前面来自同一种类型的某些运动信息,通过截断一元码进行编码时耗费较多的比特数的问题。
对于上述5种类型的运动信息获取的方式是不同的,下面分别进行介绍:
1、当前块的相邻块的运动信息(基于相邻块的空域候选)
当前块的相邻块的运动信息获取方式如图5所示,A1为当前编码块(Coding Unit,缩写为CU)左下处的相邻CU,B1为当前CU右上处的相邻CU,B2为当前CU的左上相邻CU,A0和B0分别为距离A1和B1处最近的CU。在VVC编码标准中空域最多为运动信息候选列表提供4个运动信息,即最多使用上述5个候选块中的4个候选块的运动信息,运动信息候选列表按照B1->A1->B0->A0->(B2)的顺序建立,其中B2是替补,只有前4个有一个或多个不存在时才将B2加入运动信息候选列表。
2、当前块的同位块的运动信息(基于同位块的时域候选)
时域最多为运动信息候选列表提供1个运动信息,而且与空域的构建方式不同,时域为运动信息候选列表提供的1个运动信息可以直接使用除MV以外的所有运动信息,MV需要根据位置关系进行相应比例地伸缩。如图6所示,其中Tb表示当前图像和参考图像之间的距离,该距离可以用图像播放顺序(Picture Order Count,缩写为POC)度量,Td是同位图像和其参考图像之间的距离。MV缩放的计算方法如下所示:
以图6所示当前CU为例,时域候选运动信息可以基于如下C0和C1位置获得。如图7所示,如果C0不可得,则用C1的同位CU的代替,其中Y代表图6中当前CU(cur_CU)在时域参考图像上的同位CU(col_CU)。
3、基于历史信息确定的相邻块的运动信息(基于历史信息构建的FIFO表的候选,也即基于历史信息的运动矢量预测(History-based Motion Vector Prediction,缩写为HMVP)
在空域和时域提供的运动信息确定完成之后,将HMVP的运动信息加入运动信息候选列表。HMVP的运动信息来自于一个先进先出(FIFO)的表,表的长度为6,这个表通过已经编码的块的运动信息构建,每到新的一行编码树单元(CTU,Coding Tree Unit)时,这个表就要重置,即清空操作。每遇到一个帧间编码的CU(非子块)时,它相关的运动信息就会加到先进先出(FIFO)的表的最后一项成为一个新的HMVP的运动信息。每当***一个新的运动信息时,首先要进行冗余性检查即检查待***的项的运动信息和表中已有项的运动信息是否相同,如果不相同,则按照先进先出的规则进行***操作;如果相同,则将表中已有相同的HMVP的运动信息从维护的先进先出表中移除,其后所有的项都向前移动一位,将待***的运动信息***到HMVP的表的末端。
在使用HMVP的运动信息构建运动信息候选列表时,按顺序检查HMVP的FIFO表中最新的HMVP的运动信息(从后向前检查),在和运动信息候选列表中现存的候选运动信息检查完冗余之后,将不重复的HMVP的运动信息添加到运动信息候选列表中去。直到运动信息候选列表的长度达到5个。
4、平均运动信息(成对的平均候选)
平均运动信息指对运动信息候选列表中已有的候选项按照预定义的组队关系计算平均值,从而导出新的运动信息,再加入到运动信息候选列表中。在目前的VVC编码标准的规定中,成对的平均候选是将候选列表中的前两项候选运动信息进行组队。因此构造成对的平均候选的前提是此时运动信息候选列表中的候选运动信息的个数要大于等于2个。其具体的构造规则如下:
1.平均运动信息的MV由运动信息候选列表中前两个候选的运动信息的MV平均得到。
2.若运动信息候选列表中前两个候选的运动信息的半像素插值索引值相同,则平均运动信息的半像素插值索引值等于前两个候选的运动信息的半像素插值索引,否则设置为默认的四分之一像素插值索引。
3.若运动信息候选列表中前两个候选的运动信息的双向权重预测索引相同,则平均运动信息的双向权重预测索引等于前两个候选的运动信息的双向权重预测索引,否则设置为0。
4.若运动信息候选列表中前两个候选运动信息的至少有一个为双向参考,或者前两个候选的运动信息的参考方向不同,则平均运动信息的帧间预测方向设置为双向参考,否则等于前两个候选的运动信息的参考方向。
5.对于参考帧索引,若运动信息候选列表中前两个候选的运动信息的前向参考帧索引均可得,则将平均运动信息的参考帧索引设置为与第0个候选的运动信息相同,否则设置为对应可得的那个参考帧索引。后向参考帧索引同理,若前两个候选的运动信息的后向参考帧都可得,则设置为与第0个候选的运动信息相同,否则设置为与可得的那个相同。
平均运动信息最多为运动信息候选列表提供1个候选的运动信息。
5、零运动信息(零候选)
如果计算完平均运动信息后,运动信息候选列表还未填满,则用零MV填充运动信息候选列表,直到运动信息候选列表达到最大长度。此时参考帧索引,双向权重预测索引以及运动矢量等其他信息都设置为默认值。
第二种方式:
根据本公开的示例性实施例,在从当前块的运动信息候选列表中,选择当前块的目标运动信息之前,还可以获取当前块对应的多种类型的运动信息,其中,多种类型的运动信息包括当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息,其中,预定顺序为当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息。
根据本实施例,确定运动信息候选列表包含的运动信息时,采用了“当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息”的顺序,从多种类型的运动信息中选择合适的运动信息,使得即使在一些运动较为剧烈的区域,平均运动信息选中的概率远大于HMVP的运动信息以及当前块的同位块的运动信息被选中的概率的情况下,也可以获取到较符合实际情况的运动信息候选表,并且在运动较为平缓的区域,HMVP的运动信息、当前块的同位块的运动信息以及平均运动信息被选中的概率较为接近,本实施例也可以适应,不会导致运动信息候选表不准确。
第三种方式:
根据本公开的示例性实施例,在当前块所在的当前图像帧相对于当前图像帧的任一个参考图像帧运动明显的情况下,按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息;在当前图像帧相对于当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。根据本实施例,只有运动明显的图像帧中的块,才采用预定顺序确定运动信息候选列表包含的运动信息,而运动不明显的图像帧中的块,仍然采用原来的顺序确定运动信息候选列表包含的运动信息,使得获取到的运动信息候选表更准确。
具体地,可以依据视频内容的运动情况调整构造运动信息候选列表时所采用的顺序,例如,在当前图像帧编码之前,利用帧间差分法计算当前图像帧与所有参考图像帧之间的差分图像,再根据差分图像提取运动区域的图像,最后计算运动区域图像中运动区域的面积占比,当面积占比超过一定的比例,则认为当前图像帧中存在较多的运动,也即当前图像帧相对于当前图像帧的任一个参考图像帧运动明显。
根据本公开的示例性实施例,通过如下方式确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显:获取当前图像帧分别与每个参考图像帧的差分图像;在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显,其中,预定像素的像素值大于等于预设值。根据本实施例,通过当前图像帧和对应参考帧的差分图像中的预定像素的个数占比,可以方便、快速的知晓当前图像帧是否运动明显。
具体地,上述预定比例可以根据需要设定,如可以设定为40%,对此本公开并不进行限定;上述预设值也可以根据需要设定,如可以设定为3,对此本公开并不进行限定。假设当前图像帧为F(i,j),参考图像帧有N帧(N值在编码器端由编码器确定,无需自己设定),分别为R1(i,j),R2(i,j),…RN(i,j),F(i,j)与第k个参考图像帧的差分图像Dk(i,j)通过如下方式计算得到:
Dk(i,j)=|F(i,j)–Rk(i,j)| (2)
其中,||表示取绝对值,(i,j)表示为图像像素的横坐标和纵坐标,0≤i≤picture_width(图像的宽),0≤j≤picture_height(图像的高)。公式(2)表示将F(i,j)图像与Rk F(i,j)对应位置的像素相减,得到的结果去绝对值,再作为Dk(i,j)对应像素位置的像素值。
在得到差分图像后,获取差分图像中像素值大于等于预设值的预定像素的数量,在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显。
根据本公开的示例性实施例,通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:基于每个差分图像,确定每个参考图像帧的二值图像,其中,二值图像中每个第一值的位置分别对应于差分图像中像素值大于等于预设值的像素的位置,二值图像中每个第二值的位置分别对应于差分图像中像素值小于预设值的像素的位置;在任一个参考图像帧的二值图像中第一值的个数占比超过预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例。根据本实施例,将差分图像进一步的转化为二值图像,可以降低计算机后续的计算复杂度。
具体地,可以选取阈值T(即上述预设值),对Dk(i,j)中每个像素进行判断,导出包含运动区域的二值图像Rk(i,j):
公式(3)中,默认当Dk(i,j)≥T时,该点的像素位于对应图像的运动区域中,反之,则位于图像非运动区域中。
假设二值图像Rk(i,j)中0和1的个数总和等于图像的面积S(S=picture_width*picture_height),并统计Rk(i,j)中1的个数,记为Mk,Mk即代表图像中运动区域的面积,当Mk≥S*TR时,即认为当前图像帧相对与第k个参考图像帧存在较明显的运动信息,其中,TR可以为40%,T可以为3。
此外,还可以为每一个图像帧引入帧级语法元素picture_rich_motion_flag用于标记上述的检测结果,需要注意的是,只要F(i,j)与一个参考帧图像满足Mk≥S*TR,picture_rich_motion_flag即等于1,只有当F(i,j)与所有参考图像帧都不满足Mk≥S*TR,picture_rich_motion_flag才等于0。picture_rich_motion_flag的结可以写入图像参数集(picture parameter set,缩写为PPS中)。
当图像帧的picture_rich_motion_flag等于1时,即代表图像帧存在较多的运动信息,针对这一类图像帧,运动信息候选列表构建时所采用的顺序可以为:当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息;反之,若图像帧的picture_rich_motion_flag等于0,即代表图像帧存在较少的运动信息,针对这一类图像帧,运动信息候选列表构建时所采用的顺序可以为:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
返回图2,在步骤S402中,在目标运动信息是预定运动信息的情况下,对目标运动信息的相关信息采用等长编码的编码方式进行编码,其中,预定运动信息是运动信息候选列表中前预定数量个运动信息中的一个运动信息,前预定数量个运动信息属于同一类型。
返回图2,在步骤S403中,在目标运动信息不是预定运动信息的情况下,对目标运动信息的相关信息采用截断一元码的编码方式进行编码。
具体地,上述预定数量可以根据运动信息候选列表中当前块的相邻块的运动信息的数量设定,如运动信息候选列表中最多前4个是当前块的相邻块的运动信息(空域候选),所以预定数量一般不超过4个。假设运动信息候选列表中前3个是当前块的相邻块的运动信息,此时,可以采用如表2所示的编码方式相应的目标运动信息进行编码:
表2mergeIdx语法元素优化
值 | 表示含义 |
00 | 选择第0个候选 |
01 | 选择第1个候选 |
10 | 选择第2个候选 |
110 | 选择第3个候选 |
1110 | 选择第4个候选 |
1111 | 选择第5个候选 |
如表2所示,可以将mergeIdx语法元素的编码方式由原来单一采用截断一元码修改为前3个候选运动信息采用等长编码、后3个候选运动信息采用截断一元码的编码方式,这样的修改的考虑到了在运动信息候选列表中,前3项候选均来自空域候选,而空域候选被选中的概率又较为接近的情况。
经测试,本公开采用修改后的编码方式可以提升编码器效率约0.1%,而采用第3种方式构建运动信息列表时,可以提升编码器效率约0.23%,如果同时采用修改后的编码方式和第3种方式构建运动信息列表,可以提升编码器效率0.3%。
图8是根据一示例性实施例示出的一种视频解码方法的流程图,如图8所示,视频解码方法包括以下步骤:
在步骤S801中,获取当前块的目标运动信息的编码信息;
在步骤S802中,基于编码信息对应的编码方式,对编码信息进行相应解码,得到目标运动信息的相关信息,其中,在目标运动信息是预定运动信息的情况下,目标运动信息的相关信息的编码方式为等长编码,在目标运动信息不是预定运动信息的情况下,目标运动信息的相关信息的编码方式为截断一元码,预定运动信息是当前块的运动信息候选列表中前预定数量个运动信息中的一个运动信息,前预定数量个运动信息属于同一类型。
需要说明的是,本公开的解码端本身也定义好了运动信息候选列表中每个候选运动信息对应编码方式,因此,在获取到相关信息,如索引,就可以知晓相应的解码方式,当然该编码方式也可以随编码信息一起由编码端发送过来,对此本公开并不进行限定。
根据本公开的示例性实施例,当前块的运动信息候选列表通过如下方式确定:获取当前块对应的多种类型的运动信息,其中,多种类型的运动信息包括当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息,其中,预定顺序为当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息。
根据本公开的示例性实施例,在当前块所在的当前图像帧相对于当前图像帧的任一个参考图像帧运动明显的情况下,按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息;在当前图像帧相对于当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
根据本公开的示例性实施例,通过如下方式确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显:获取当前图像帧分别与每个参考图像帧的差分图像;在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显,其中,预定像素的像素值大于等于预设值。
根据本公开的示例性实施例,通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:基于每个差分图像,确定每个参考图像帧的二值图像,其中,二值图像中每个第一值的位置分别对应于差分图像中像素值大于等于预设值的像素的位置,二值图像中每个第二值的位置分别对应于差分图像中像素值小于预设值的像素的位置;在任一个参考图像帧的二值图像中第一值的个数占比超过预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例。
根据本公开的示例性实施例,当前块的运动信息候选列表还通过如下方式确定:按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
图9是根据一示例性实施例示出的一种视频编码装置的框图。参照图9,该装置包括选择单元90、第一编码单元92和第二编码单元94。
选择单元90,被配置为从当前块的运动信息候选列表中,选择出所述当前块的目标运动信息;第一编码单元92,被配置为在所述目标运动信息是预定运动信息的情况下,对所述目标运动信息的相关信息采用等长编码的编码方式进行编码,其中,所述预定运动信息是所述运动信息候选列表中前预定数量个运动信息中的一个运动信息,所述前预定数量个运动信息属于同一类型;第二编码单元94,被配置为在所述目标运动信息不是所述预定运动信息的情况下,对所述目标运动信息的相关信息采用截断一元码的编码方式进行编码。
根据本公开的示例性实施例,选择单元90,还被配置为在从当前块的运动信息候选列表中,选择当前块的目标运动信息之前,获取当前块对应的多种类型的运动信息,其中,多种类型的运动信息包括当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息,其中,预定顺序为当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息。
根据本公开的示例性实施例,选择单元90,还被配置为在当前块所在的当前图像帧相对于当前图像帧的任一个参考图像帧运动明显的情况下,按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息;在当前图像帧相对于当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
根据本公开的示例性实施例,选择单元90,还被配置为通过如下方式确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显:获取当前图像帧分别与每个参考图像帧的差分图像;在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显,其中,预定像素的像素值大于等于预设值。
根据本公开的示例性实施例,选择单元90,还被配置为通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:基于每个差分图像,确定每个参考图像帧的二值图像,其中,二值图像中每个第一值的位置分别对应于差分图像中像素值大于等于预设值的像素的位置,二值图像中每个第二值的位置分别对应于差分图像中像素值小于预设值的像素的位置;在任一个参考图像帧的二值图像中第一值的个数占比超过预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例。
根据本公开的示例性实施例,选择单元90,还被配置为在从当前块的运动信息候选列表中,选择当前块的目标运动信息之前,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
根据本公开的示例性实施例,选择单元90,还被配置为获取运动信息候选列表中每个运动信息的率失真代价;基于率失真代价,从运动信息候选列表中,选择出当前块的目标运动信息。
图10是根据一示例性实施例示出的一种视频解码装置的框图。参照图10,该装置包括获取单元100和解码单元102。
获取单元100,被配置为获取当前块的目标运动信息的编码信息;解码单元102,被配置为基于编码信息对应的编码方式,对编码信息进行相应解码,得到目标运动信息的相关信息,其中,在目标运动信息是预定运动信息的情况下,目标运动信息的相关信息的编码方式为等长编码,在目标运动信息不是预定运动信息的情况下,目标运动信息的相关信息的编码方式为截断一元码,预定运动信息是所述当前块的运动信息候选列表中前预定数量个运动信息中的一个运动信息,前预定数量个运动信息属于同一类型。
根据本公开的示例性实施例,上述视频解码装置还包括确定单元,被配置为获取当前块对应的多种类型的运动信息,其中,多种类型的运动信息包括当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息,其中,预定顺序为当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、当前块的同位块的运动信息、零运动信息。
根据本公开的示例性实施例,确定单元,还被配置为在当前块所在的当前图像帧相对于当前图像帧的任一个参考图像帧运动明显的情况下,按预定顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息;在当前图像帧相对于当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
根据本公开的示例性实施例,确定单元,还被配置为通过如下方式确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显:获取当前图像帧分别与每个参考图像帧的差分图像;在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定当前图像帧相对于当前图像帧的任一个参考图像帧运动明显,其中,预定像素的像素值大于等于预设值。
根据本公开的示例性实施例,确定单元,还被配置为通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:基于每个差分图像,确定每个参考图像帧的二值图像,其中,二值图像中每个第一值的位置分别对应于差分图像中像素值大于等于预设值的像素的位置,二值图像中每个第二值的位置分别对应于差分图像中像素值小于预设值的像素的位置;在任一个参考图像帧的二值图像中第一值的个数占比超过预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例。
根据本公开的示例性实施例,确定单元,还被配置为按如下顺序从多种类型的运动信息中,确定运动信息候选列表包含的运动信息:当前块的相邻块的运动信息、当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息、零运动信息。
根据本公开的实施例,可提供一种电子设备。图11是根据本公开实施例的一种电子设备1100的框图,该电子设备包括至少一个存储器1101和至少一个处理器1102,所述至少一个存储器中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器执行时,执行根据本公开实施例的视频编码方法和/或视频解码方法。
作为示例,电子设备1100可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备1000并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备1100还可以是集成控制***或***管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备1100中,处理器1102可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器***、微控制器或微处理器。作为示例而非限制,处理器1102还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器1102可运行存储在存储器中的指令或代码,其中,存储器1101还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器1101可与处理器1102集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器1101可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库***可使用的其他存储装置。存储器1101和处理器1102可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器1102能够读取存储在存储器1101中的文件。
此外,电子设备1100还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备的所有组件可经由总线和/或网络而彼此连接。
根据本公开的实施例,还可提供一种计算机可读存储介质,其中,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行本公开实施例的视频编码方法和/或视频解码方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机***上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开实施例,提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现本公开实施例的视频编码方法和/或视频解码方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种视频编码方法,其特征在于,包括:
从当前块的运动信息候选列表中,选择出所述当前块的目标运动信息;
在所述目标运动信息是预定运动信息的情况下,对所述目标运动信息的相关信息采用等长编码的编码方式进行编码,其中,所述预定运动信息是所述运动信息候选列表中前预定数量个运动信息中的一个运动信息,所述前预定数量个运动信息属于同一类型;
在所述目标运动信息不是所述预定运动信息的情况下,对所述目标运动信息的相关信息采用截断一元码的编码方式进行编码。
2.如权利要求1所述的视频编码方法,其特征在于,在从当前块的运动信息候选列表中,选择所述当前块的目标运动信息之前,还包括:
获取所述当前块对应的多种类型的运动信息,其中,所述多种类型的运动信息包括所述当前块的相邻块的运动信息、所述当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;
按预定顺序从所述多种类型的运动信息中,确定所述运动信息候选列表包含的运动信息,其中,所述预定顺序为所述当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、所述当前块的同位块的运动信息、零运动信息。
3.如权利要求2所述的视频编码方法,其特征在于,
在所述当前块所在的当前图像帧相对于所述当前图像帧的任一个参考图像帧运动明显的情况下,按所述预定顺序从所述多种类型的运动信息中,确定所述运动信息候选列表包含的运动信息;
在所述当前图像帧相对于所述当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从所述多种类型的运动信息中,确定所述运动信息候选列表包含的运动信息:所述当前块的相邻块的运动信息、所述当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息。
4.如权利要求3所述的视频编码方法,其特征在于,通过如下方式确定所述当前图像帧相对于所述当前图像帧的任一个参考图像帧运动明显:
获取所述当前图像帧分别与每个参考图像帧的差分图像;
在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定所述当前图像帧相对于所述当前图像帧的任一个参考图像帧运动明显,其中,所述预定像素的像素值大于等于预设值。
5.如权利要求4所述的视频编码方法,其特征在于,通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:
基于每个差分图像,确定每个参考图像帧的二值图像,其中,所述二值图像中每个第一值的位置分别对应于所述差分图像中像素值大于等于所述预设值的像素的位置,所述二值图像中每个第二值的位置分别对应于所述差分图像中像素值小于所述预设值的像素的位置;
在任一个参考图像帧的二值图像中第一值的个数占比超过所述预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过所述预定比例。
6.一种视频解码方法,其特征在于,包括:
获取当前块的目标运动信息的编码信息;
基于所述编码信息对应的编码方式,对所述编码信息进行相应解码,得到所述目标运动信息的相关信息,其中,在所述目标运动信息是预定运动信息的情况下,所述目标运动信息的相关信息的编码方式为等长编码,在所述目标运动信息不是所述预定运动信息的情况下,所述目标运动信息的相关信息的编码方式为截断一元码,所述预定运动信息是所述当前块的运动信息候选列表中前预定数量个运动信息中的一个运动信息,所述前预定数量个运动信息属于同一类型。
7.如权利要求6所述的视频解码方法,其特征在于,所述当前块的运动信息候选列表通过如下方式确定:
获取所述当前块对应的多种类型的运动信息,其中,所述多种类型的运动信息包括所述当前块的相邻块的运动信息、所述当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息;
按预定顺序从所述多种类型的运动信息中,确定所述运动信息候选列表包含的运动信息,其中,所述预定顺序为所述当前块的相邻块的运动信息、平均运动信息、基于历史信息确定的相邻块的运动信息、所述当前块的同位块的运动信息、零运动信息。
8.如权利要求7所述的视频解码方法,其特征在于,
在所述当前块所在的当前图像帧相对于所述当前图像帧的任一个参考图像帧运动明显的情况下,按所述预定顺序从所述多种类型的运动信息中,确定所述运动信息候选列表包含的运动信息;
在所述当前图像帧相对于所述当前图像帧的任一个参考图像帧运动不明显的情况下,按如下顺序从所述多种类型的运动信息中,确定所述运动信息候选列表包含的运动信息:所述当前块的相邻块的运动信息、所述当前块的同位块的运动信息、基于历史信息确定的相邻块的运动信息、平均运动信息和零运动信息。
9.如权利要求8所述的视频解码方法,其特征在于,通过如下方式确定所述当前图像帧相对于所述当前图像帧的任一个参考图像帧运动明显:
获取所述当前图像帧分别与每个参考图像帧的差分图像;
在任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例的情况下,确定所述当前图像帧相对于所述当前图像帧的任一个参考图像帧运动明显,其中,所述预定像素的像素值大于等于预设值。
10.如权利要求9所述的视频解码方法,其特征在于,通过如下方式确定任一个参考图像帧的差分图像中预定像素的个数占比超过预定比例:
基于每个差分图像,确定每个参考图像帧的二值图像,其中,所述二值图像中每个第一值的位置分别对应于所述差分图像中像素值大于等于所述预设值的像素的位置,所述二值图像中每个第二值的位置分别对应于所述差分图像中像素值小于所述预设值的像素的位置;
在任一个参考图像帧的二值图像中第一值的个数占比超过所述预定比例的情况下,确定任一个参考图像帧的差分图像中预定像素的个数占比超过所述预定比例。
11.一种视频编码装置,其特征在于,包括:
选择单元,被配置为从当前块的运动信息候选列表中,选择出所述当前块的目标运动信息;
第一编码单元,被配置为在所述目标运动信息是预定运动信息的情况下,对所述目标运动信息的相关信息采用等长编码的编码方式进行编码,其中,所述预定运动信息是所述运动信息候选列表中前预定数量个运动信息中的一个运动信息,所述前预定数量个运动信息属于同一类型;
第二编码单元,被配置为在所述目标运动信息不是所述预定运动信息的情况下,对所述目标运动信息的相关信息采用截断一元码的编码方式进行编码。
12.一种视频解码装置,其特征在于,包括:
获取单元,被配置为获取当前块的目标运动信息的编码信息;
解码单元,被配置为基于所述编码信息对应的编码方式,对所述编码信息进行相应解码,得到所述目标运动信息的相关信息,其中,在所述目标运动信息是预定运动信息的情况下,所述目标运动信息的相关信息的编码方式为等长编码,在所述目标运动信息不是所述预定运动信息的情况下,所述目标运动信息的相关信息的编码方式为截断一元码,所述预定运动信息是所述当前块的运动信息候选列表中前预定数量个运动信息中的一个运动信息,所述前预定数量个运动信息属于同一类型。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的视频编码方法和/或如权利要求6至10中任一项所述的视频解码方法。
14.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至5中任一项所述的视频编码方法和/或如权利要求6至10中任一项所述的视频解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310778788.8A CN116708826A (zh) | 2023-06-28 | 2023-06-28 | 视频编码方法及装置、视频解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310778788.8A CN116708826A (zh) | 2023-06-28 | 2023-06-28 | 视频编码方法及装置、视频解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116708826A true CN116708826A (zh) | 2023-09-05 |
Family
ID=87837330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310778788.8A Pending CN116708826A (zh) | 2023-06-28 | 2023-06-28 | 视频编码方法及装置、视频解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116708826A (zh) |
-
2023
- 2023-06-28 CN CN202310778788.8A patent/CN116708826A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2709158C1 (ru) | Кодирование и декодирование видео с повышенной устойчивостью к ошибкам | |
US9369731B2 (en) | Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method | |
US10148947B2 (en) | Method and device for determining parameters for encoding or decoding of an image of a video sequence | |
KR102085498B1 (ko) | 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스 | |
CN107770524B (zh) | 一种视频编解码处理方法及装置 | |
CN105430389A (zh) | 图像解码装置、图像解码方法、接收装置及接收方法 | |
US20200221097A1 (en) | Method and apparatus for encoding or decoding video data in fruc mode with reduced memory accesses | |
CN113905235A (zh) | 视频图像处理方法与装置 | |
CN111684799B (zh) | 视频处理方法和装置 | |
CN116708826A (zh) | 视频编码方法及装置、视频解码方法及装置 | |
CN115086678B (zh) | 视频编码方法和装置、视频解码方法和装置 | |
CN112073734B (zh) | 一种编解码方法、装置及其设备 | |
CN116567259A (zh) | 视频编码方法和解码方法、装置、电子设备及存储介质 | |
CN116896632A (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 |