CN111010581B - 运动矢量信息的处理方法、装置、电子设备及存储介质 - Google Patents
运动矢量信息的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111010581B CN111010581B CN201911244707.6A CN201911244707A CN111010581B CN 111010581 B CN111010581 B CN 111010581B CN 201911244707 A CN201911244707 A CN 201911244707A CN 111010581 B CN111010581 B CN 111010581B
- Authority
- CN
- China
- Prior art keywords
- motion vector
- precision
- buffer
- information
- predefined
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于一种运动矢量信息的处理方法、装置、电子设备及存储介质,涉及信息存储技术领域,其中,MV缓冲区包括空域MV缓冲区、空域MV行缓冲区以及时域MV缓冲区,该方法包括:将运动矢量信息按照预定义的运动矢量精度存储到不同的运动矢量缓冲区中;其中所述预设的运动矢量精度是根据所述运动矢量信息对应图像的视频参数确定的;根据所述运动矢量信息进行图像解码。通过该方法提供了相关技术中关于运动矢量MV信息的所需的MV缓冲区的空间越来越大,如何存储MV信息以便于合理利用MV缓冲区的问题的一种解决方案。
Description
相关申请的交叉引用
本申请要求在2018年12月7日提交美国专利局、申请号为62/776,963、申请名称为
“The MV Storage for Video Coding”的美国专利申请的优先权,其全部内容通过引用结
合在本申请中。
技术领域
本发明涉及信息存储技术领域,特别涉及一种运动矢量信息的处理方法、装置、电子设备及存储介质。
背景技术
相关技术中,可以使用各种视频编码技术来压缩视频数据。视频编码是根据一个或多个视频编码标准来执行的。例如,视频编码标准包括VVC(Versatile Video Coding,多功能视频编码)、JEM(Joint Exploration Model,联合勘探模型)、HEVC(High EfficientVideo Coding,高效率视频编码)、AVC(Advanced Video Coding,高级视频编码)、MPEG(Moving Picture Experts Group,动态图像专家组)编码等。
视频编码通常利用视频图像或视频序列中存在冗余的预测方法,例如,帧间预测、帧内预测等。为了促进视频信息运动矢量(Motion Vector,MV)的预测,需要将每个编码单元(Coding Unit,CU)重构的运动矢量信息存储在缓冲区中,以供后续的CU使用。发明人发现,随着视频编码技术的发展,运动矢量MV信息的所需的MV缓冲区的空间越来越大,故此如何存储MV信息以便于合理利用MV缓冲区有待解决。
发明内容
本公开提供了一种运动矢量信息的处理方法、装置、电子设备及存储介质,用以提供相关技术中关于运动矢量MV信息的所需的MV缓冲区的空间越来越大,如何存储MV信息以便于合理利用MV缓冲区的问题的一种解决方案。
根据本公开实施例的第一方面,提供一种运动矢量信息的处理方法,MV缓冲区包括空域MV缓冲区、空域MV行缓冲区以及时域MV缓冲区,包括:
重构出图像的MV信息后,根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度;
根据降低精度后的所述MV精度存储所述MV信息。
在一个实施例中,所述视频参数为分辨率,所述根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度,包括:
根据预设的MV精度与分辨率区间的对应关系,确定所述图像的分辨率所在的分辨率区间对应的各缓冲区的MV精度;或者,
从用于解码的信号通知中,获取所述MV精度,所述MV精度是预先根据所述图像的分辨率确定并携带在所述信号中的。
在一个实施例中,时域MV缓存区的MV精度为第一精度、所述空域MV行缓冲区的MV精度为第二精度、且所述空域MV缓冲区的精度为第三精度;
其中,所述第一精度、所述第二精度以及所述第三精度不完全相同,且所述第一精度、所述第二精度以及所述第三精度中至少存在一个精度小于所述MV信息的原始精度。
在一个实施例中,所述第一精度小于所述第二精度,和/或,
所述第二精度小于所述第三精度。
在一个实施例中,所述根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度之前,所述方法还包括:
确定所述视频参数的参数值满足预设条件。
在一个实施例中,所述预设条件包括以下中的至少一种:
分辨有大于分辨率阈值;
图像大小大于预设值。
在一个实施例中,所述MV缓冲区还包括历史缓冲区,所述历史缓冲区的MV精度为第四精度。
根据本公开实施例的第二方面,提供一种运动矢量信息的处理装置,MV缓冲区包括空域MV缓冲区、空域MV行缓冲区以及时域MV缓冲区,包括:
降低模块,被配置为执行重构出图像的MV信息后,根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度;
存储装置,被配置为执行根据降低精度后的所述MV精度存储所述MV信息。
在一个实施例中,所述视频参数为分辨率,所述降低模块,被配置为执行根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度,包括:
根据预设的MV精度与分辨率区间的对应关系,确定所述图像的分辨率所在的分辨率区间对应的各缓冲区的MV精度;或者,
从用于解码的信号通知中,获取所述MV精度,所述MV精度是预先根据所述图像的分辨率确定并携带在所述信号中的。
在一个实施例中,时域MV缓存区的MV精度为第一精度、所述空域MV行缓冲区的MV精度为第二精度、且所述空域MV缓冲区的精度为第三精度;
其中,所述第一精度、所述第二精度以及所述第三精度不完全相同,且所述第一精度、所述第二精度以及所述第三精度中至少存在一个精度小于所述MV信息的原始精度。
在一个实施例中,所述第一精度小于所述第二精度,和/或,
所述第二精度小于所述第三精度。
在一个实施例中,所述装置还包括:
所述降低模块,被配置为根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度之前执行确定所述视频参数的参数值满足预设条件。
在一个实施例中,所述预设条件包括以下中的至少一种:
分辨有大于分辨率阈值;
图像大小大于预设值。
在一个实施例中,所述MV缓冲区还包括历史缓冲区,所述历史缓冲区的MV精度为第四精度。
根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
根据本公开实施例的第四方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面所述的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开提供的一种运动矢量信息的处理方法、装置、电子设备及存储介质,其中,MV缓冲区包括空域MV缓冲区、空域MV行缓冲区以及时域MV缓冲区,该方法包括:重构出图像的MV信息后,根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度;根据降低精度后的所述MV精度存储所述MV信息。通过该方法提供了相关技术中关于运动矢量MV信息的所需的MV缓冲区的空间越来越大,如何存储MV信息以便于合理利用MV缓冲区的问题的一种解决方案。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为本公开实施例中提供的一种空域MV行缓冲区的示意图;
图2为本公开实施例中提供的一种时域MV缓冲区的示意图;
图3为本公开实施例中提供的一种运动矢量信息的处理方法的流程示意图;
图4为本公开实施例中提供的一种确定降低MV精度的流程示意图;
图5为本公开实施例中提供的一种运动矢量信息的处理装置的结构示意图;
图6为本公开实施例中提供的电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
本公开实施例涉及的多个,是指大于或等于两个。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的描述在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
为便于理解本公开实施例,下面先对本公开实施例涉及的一些关键名词进行解释,包括:
MV:运动矢量,包括时域MV,以及空域MV。
MV预测:是指通过已知的MV来预测未知的MV,大致可分为时域MV预测和空域MV预测。在帧间编码中,用MV表示当前编码块与其参考图像中的最佳匹配块之间的相对位移。每个划分的块都有相应的运动信息需要传送到解码端。如果对每个块的MV进行独立编码和传输,特别是划分成小尺寸的块,需要消耗相当多的比特。为了降低用于编码运动信息的比特数,H.264/AVC利用相邻宏块之间的空间相关性,根据相邻已编码块的运动信息对当前待编码块的运动信息进行预测,然后对预测差进行编码。这样可以有效地降低表示运动信息的比特数。基于此,在对当前宏块的MV编码过程中,H.264/AVC首先使用相邻已编码块的MV预测当前宏块的MV,然后对MV的预测值(MVP,Motion Vector Prediction)与MV的真正估值之间的差值(MVD,MotionVector Difference)进行编码,从而有效降低MV的编码比特数。
时域预测的MV信息:用于时域MV预测的MV信息。
空域预测的MV信息:用于空域MV预测的MV信息。
MV精度:在对图像进行编码时,需要将图像划分为多个图像块,并对各图像块进行MV预测。MV精度为第一个图像块的偏移量,用于表征划分的图像块的数量,MV精度越高,划分的图像块越多,且本公开中MV精度可采用一帧图像划分的图像块的倒数来表示。例如一帧图像被划分为16块,则其MV精度为1/16。
MV的有效范围:MV精度越大,则其能够表达的信息量越大。发明人发现,在固定位元(bit位)数量存储MV时,MV精度越大则MV的最小值与最大值的差距越大,然而MV的有效范围越大即MV的最小值和最大值之间的差距越大。在存储MV信息时,如果不考虑位元数量时,MV精度越大,所需的存储空间越大,也即所需的位元数量越多。此外,更大的有效范围表示MV信息能够指向的参考值的范围比较大;如果是移动很快速的物体的MV,其有效范围就必须够大才能找到对应的参考块。故此,本公开中合理利用MV缓冲区可包含两层面的含义,一是不固定位元数量时,尽可能降低MV所需的缓冲区的存储空间;二是尽可能提高固定位元时MV的有效范围,在某些条件下,二者至少满足其一即可。
空域MV缓冲区:用户存储空域预测的MV信息。
空域MV行缓冲区:用于存储一个CU的空域预测的MV信息。参阅图1,为本公开实施例提供的一种空域MV行缓冲区的示意图。
时域MV缓冲区:用于存储时域预测的MV信息。参阅图2,为本公开实施例提供的一种时域MV缓冲区的示意图。
编码损失:Coding loss,在编码过程中对于MV信息的损失程度。
相关技术中,可以使用各种视频编码技术来压缩视频数据。视频编码是根据一个或多个视频编码标准来执行的。例如,视频编码标准包括VVC、JEM、HEVC、AVC、MPEG编码等。视频编码通常利用视频图像或视频序列中存在冗余的预测方法,例如,帧间预测、帧内预测等。为了促进视频信息运动矢量的预测,需要将每个编码单元CU重构的运动矢量MV信息存储在缓冲区中,以供后续的CU使用。发明人发现,随着视频编码技术的发展,运动矢量MV信息所需的MV缓冲区的空间越来越大,故此如何存储MV信息以便于合理利用MV缓冲区有待解决。
发明人研究发现,当降低MV精度时,Coding loss也能够得到保障。有鉴于此,本公开提供了一种运动矢量信息的处理方法,参阅图3,为本公开实施例提供的一种运动矢量信息的处理方法的流程示意图,包括:
步骤301:将运动矢量信息按照预定义的运动矢量精度存储到不同的运动矢量缓冲区中;其中所述预定义的运动矢量精度是根据所述运动矢量信息对应图像的视频参数确定的;
实施时,将接收的图像重构出运动矢量信息(MV信息)之后,可根据该MV信息获知到相关的视频参数,例如图像的分辨率(本公开中图像的分辨率可等同于图像的大小来使用,也可以根据实际需求选用不同的视频参数)。可选的,将该MV信息存储到MV缓冲区内,可按照MV信息的MV精度即原始MV精度进行存储,但是当MV精度越高时,所需的MV缓冲区的空间也越来越大。因此,若确定该视频参数的参数值满足预设条件;例如,若判断该MV信息的图像的分辨率大于设定的分辨率阈值时,基于该分辨率可将该MV信息进行存储时的MV精度降低;实施时,例如设定的分辨率阈值为768×576,当推导出图像的运动矢量MV信息后,获知到该MV信息的图像分辨率为3840×2160以及MV精度为1/16pel(像素值);因为判断到该MV信息的图像分辨率大于设定的分辨率阈值,因此可将该MV信息以低于原始精度的MV精度存储到缓冲区内,即降低MV精度存储到缓冲区内达到减少占用MV缓冲区的目的。
本公开实施例中,降低MV精度的实施方式可包括如下几种:
方式1)、根据预设的MV精度与分辨率区间的对应关系(即预定义的方式),确定所述图像的分辨率所在的分辨率区间对应的各缓冲区的预定义的MV精度。例如,根据预设的MV精度与分辨率区间的对应关系如表1所示,需要说明的是,表1仅是给出的一种对应关系的示例,并不用于限定预设的MV精度与分辨率区间的对应关系,参阅表1:
表1
图像的分辨率 | MV精度 |
88×72~768×576 | 1/8像素值,1/16像素值 |
768×576~1920×1080 | 1/4像素值, |
1920×1080~3840×2160 | 1/2像素值,1/4像素值 |
3840×2160~5120×2880 | 1/2像素值,1/4像素值 |
5120×2880~7680×4800 | 1像素值,1/2像素值 |
从表1中可得到,当获取到MV信息后,根据该MV信息确定到图像分辨;若该图像分辨率满足预设条件,则根据如表1所述的对应关系,选择降低到合适的MV精度存储。通过上述方法,降低MV信息的精度后,可获取到更大的有效范围。如表1所示,一个确定的凸显分辨率可以对应一种或多种MV精度供选择,在后续选择时可以参考其他的视频参数共同确定,本公开对此不作限定。
此外,若确定将该MV信息根据图像的分辨率降低MV精度进行存储,可选的,从用于解码的信号通知中,获取所述预定义的运动矢量精度,所述预定义的运动矢量精度是预先根据所述图像的分辨率确定并携带在所述信号通知中的。然后根据获取到的预定义的运动矢量精度对MV信息在各缓冲区中进行存储。
方式2)、降低MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度,并且各缓冲区的MV精度可不完全相同。
其中,MV缓冲区包括空域MV缓冲区、空域MV行缓冲区以及时域MV缓冲区;并且,空域MV缓冲区和/或所述空域MV行缓冲区用于存储所述空域预测的MV信息,时域缓冲区用于存储所述时域预测的MV信息,哪些MV信息存储于哪个MV缓冲区中可按块确定,本申请对此不作赘述。
实施时,可选的,假设时域MV缓存区的MV精度为第一精度、空域MV行缓冲区的MV精度为第二精度、且空域MV缓冲区的精度为第三精度;其中,第一精度、第二精度以及第三精度不完全相同,且第一精度、第二精度以及第三精度中至少存在一个精度小于所述MV信息的原始精度。并且,需要说明的是,上述所述的“第一”、“第二”、“第三”仅用作区分三个MV缓冲区存储的MV精度可以不完全相同。
上述方法中,第一精度、第二精度以及第三精度中至少存在一个精度小于所述MV信息的原始精度。也即,至少一个MV缓冲区的MV精度低于原始MV精度。例如,第一精度小于MV信息的原始精度,表明对于该MV信息在三个缓冲区的存储当存储到第一精度对应的时域MV缓冲区内时,按照小于原始精度的MV精度进行保存,而第二精度、第三精度与原始精度相同时,第二精度对应的空域MV行缓冲区和第三精度对应的空域MV缓冲区按照MV信息的原始精度进行存储。或者,第一精度、第二精度以及第三精度全部小于MV信息的原始精度,但需要说明的是第一精度、第二精度以及第三精度可不完全相同,表明在三个缓冲区中可选择不同的且小于原始精度的MV精度实现存储。
在另一个实施例中,当考虑MV信息在不同缓冲区的Coding loss(编码损失)时,按照第一精度小于第二精度和/或第二精度小于第三精度的条件,表明时域MV缓冲区和空域MV行缓冲区都降低用于存储该MV信息的MV精度时,在时域MV缓冲区中的MV精度可降得更低;或者,空域MV行缓冲区和空域MV缓冲区都降低用于存储该MV信息的MV精度时,在空域MV行缓冲区中的MV精度可降得更低;以及,当三个缓冲区都降低MV精度存储时,时域MV缓冲区的MVV精度可降的更低,空域MV行缓冲区次之,空域MV缓冲区降低的最少。例如,MV信息的原始精度为1/16,可确定第一精度为1/2、第二精度为1/4、第三精度为1/8。
上述方法中,精度降低的方式可选的,若原始精度为1/X,则降低时可选择将原始精度中的X除以2、4、8、16以得到降低后的存储精度1/Y,例如原始精度为1/16,MV信息表示为(x,y),则x,y分别除以4得到的(x/4,y/4)即为将精度降低到1/4时候的MV信息的值。此外,当MV的精度值到1/16像素时,MV精度可选的是整数,或者可选的是一些有限的小数点。
需要说明的是1/Y的最大值为1。并且,在一个实施例中,在降低MV精度且减少位元数量时,则相应需要的缓冲区的大小会变小;或者,在另一个实施例中,在固定位元时,相应需要的缓冲区的大小不变化,但在降低精度的条件下,MV信息的有效范围会增大,这样便于快速移动的物体的MV预测。
此外,实施时,将MV信息按照预定义的MV精度存储到空域MV行缓冲区中时,在跨行存储所述MV信息时,不同的空域MV行缓冲区采用不同的预定义的MV精度。通过该实施方式可有效的减小MV行缓冲区的大小。
在一个实施例中,为便于更加清楚地理解上述方法,参阅图4,为本公开实施例提供的一种确定降低MV精度的流程示意图,包括:
步骤401:重构出图像的MV信息后,获取该图像的分辨率大小和设定的分辨率阈值;其中,假设该MV信息的原始MV精度为A。继续执行步骤402。
步骤402:判断该图像的分辨率大小是否大于设定的分辨率阈值。若不大于,则执行步骤403;若大于,则继续执行步骤404。
步骤403:按照原始MV精度A存储MV信息。
步骤404:根据预定义规则确定降低时域MV缓冲区的MV精度。继续执行步骤405。
步骤405:根据分辨率大小与预设MV精度的对应关系,确定降低后的MV精度,假设为B。继续执行步骤406。
步骤406:将该MV信息的MV精度从A降低到B后存储到时域MV缓冲区。
此外,MV信息通常也可采用历史缓冲区进行存储,其存储的信息内容可能会和其它缓冲区信息冗余。具体实现时,是否采用历史缓冲区可根据实际需求确定。本公开需要说明的是,当采用历史缓冲区时,可将MV信息以第四精度存储到历史缓冲区中以降低对历史缓冲区的占用空间,其中,该第四精度和该MV信息的原始精度可相同也可不同,例如当图像分辨率较高时,也可采用更低的MV精度进行存储,其中,确定该第四精度,同样可根据预设的MV精度与分辨率区间的对应关系,确定所述图像的分辨率所在的分辨率区间对应的MV精度;或者,根据用于解码的信号通知中携带的MV精度进行存储。
步骤302:根据所述运动矢量信息进行图像解码。
通过步骤301中存储,是为了实现本步骤的在进行图像解码时的空域MV预测和时域MV预测。
通过步骤301可得到在不同的缓存区内以何种MV精度进行存储,因此按照确定好的MV精度对该MV信息进行存储。
通过本公开提供的一种运动矢量信息的处理方法,可通过当存储MV信息时若固定采用较高的MV精度,则考虑减少指定缓冲区的全部或部分的位元数,从而实现在高MV精度下采用更小的缓冲区;或者,根据获知的MV信息的视频参数信息降低缓冲区中至少一个缓冲区的用于存储该MV信息的MV精度,以增加缓冲区的有效范围。通过本公开提供了一种存储MV信息以便于合理利用MV缓冲区的运动矢量信息的处理方法。
基于相同的发明构思,参阅图5,为本公开实施例中一种运动矢量信息的处理装置的结构示意图,MV缓冲区包括空域MV缓冲区、空域MV行缓冲区以及时域MV缓冲区,该装置包括:降低模块501、存储模块502。
降低模块501,被配置为执行重构出图像的MV信息后,根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度;
存储装置502,被配置为执行根据降低精度后的所述MV精度存储所述MV信息。
在一个实施例中,所述视频参数为分辨率,所述降低模块501,被配置为执行根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度,包括:
根据预设的MV精度与分辨率区间的对应关系,确定所述图像的分辨率所在的分辨率区间对应的各缓冲区的MV精度;或者,
从用于解码的信号通知中,获取所述MV精度,所述MV精度是预先根据所述图像的分辨率确定并携带在所述信号中的。
在一个实施例中,时域MV缓存区的MV精度为第一精度、所述空域MV行缓冲区的MV精度为第二精度、且所述空域MV缓冲区的精度为第三精度;
其中,所述第一精度、所述第二精度以及所述第三精度不完全相同,且所述第一精度、所述第二精度以及所述第三精度中至少存在一个精度小于所述MV信息的原始精度。
在一个实施例中,所述第一精度小于所述第二精度,和/或,
所述第二精度小于所述第三精度。
在一个实施例中,所述装置还包括:
所述降低模块501,被配置为根据所述图像的视频参数降低所述MV缓冲区中至少一个缓冲区的用于存储所述MV信息的MV精度之前执行确定所述视频参数的参数值满足预设条件。
在一个实施例中,所述预设条件包括以下中的至少一种:
分辨有大于分辨率阈值;
图像大小大于预设值。
在一个实施例中,所述MV缓冲区还包括历史缓冲区,所述历史缓冲区的MV精度为第四精度。
在介绍了本公开示例性实施方式中的一种运动矢量信息的处理方法和装置之后,接下来,介绍本公开的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为***、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本公开的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本公开各种示例性实施方式的运动矢量信息的处理方法中的步骤。例如,处理器可以执行如图3中所示的步骤301-步骤302。
下面参照图6来描述根据本公开的这种实施方式的电子设备130。图6显示的电子设备130仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备130以通用计算装置的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同***组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得目标对象能与电子设备130交互的设备通信,和/或与使得所述电子设备130能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,计算装置130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在一些可能的实施方式中,本公开提供的视频存储方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的运动矢量信息的处理方法中的步骤,例如,计算机设备可以执行如图3中所示的步骤301-步骤302。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本公开的实施方式的用于视频处理的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,所述程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,所述可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在目标对象计算装置上执行、部分地在目标对象设备上执行、作为一个独立的软件包执行、部分在目标对象计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务端上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到目标对象电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照所述特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在所述计算机可读存储器中的指令产生包括指令装置的制造品,所述指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (18)
1.一种运动矢量信息的处理方法,其特征在于,运动矢量缓冲区包括空域运动矢量缓冲区、空域运动矢量行缓冲区以及时域运动矢量缓冲区,所述方法包括:
将运动矢量信息按照预定义的运动矢量精度存储到不同的运动矢量缓冲区中;其中,所述预定义的运动矢量精度是根据所述运动矢量信息对应图像的视频参数确定的;
根据所述运动矢量信息进行图像解码;
其中,所述时域运动矢量缓冲区的预定义的运动矢量精度为第一精度、所述空域运动矢量行缓冲区的预定义的运动矢量精度为第二精度、且所述空域运动矢量缓冲区的预定义的运动矢量精度为第三精度;
其中,所述第一精度、所述第二精度以及所述第三精度不完全相同,且所述第一精度、所述第二精度以及所述第三精度中至少存在一个精度小于所述运动矢量信息的原始精度。
2.根据权利要求1所述的方法,其特征在于,所述将运动矢量信息按照预定义的运动矢量精度存储到不同的运动矢量缓冲区中,包括:
降低所述运动矢量缓冲区中至少一个缓冲区的运动矢量精度为预定义的运动矢量精度;
根据降低精度后的所述运动矢量精度存储所述运动矢量信息。
3.根据权利要求1所述的方法,其特征在于,所述视频参数为分辨率,获取所述预定义的运动矢量精度,包括:
根据预设的运动矢量精度与分辨率区间的对应关系,确定所述图像的分辨率所在的分辨率区间对应的各缓冲区的预定义的运动矢量精度;或者,
从用于解码的信号通知中,获取所述预定义的运动矢量精度,所述预定义的运动矢量精度是预先根据所述图像的分辨率确定并携带在所述信号通知中的。
4.根据权利要求1所述的方法,其特征在于,所述第一精度小于所述第二精度,和/或
所述第二精度小于所述第三精度。
5.根据权利要求1所述的方法,其特征在于,所述将运动矢量信息按照预定义的运动矢量精度存储到不同的运动矢量缓冲区中之前,所述方法还包括:
确定所述视频参数的参数值满足预设条件。
6.根据权利要求5所述的方法,其特征在于,所述预设条件包括以下中的至少一种:
分辨率大于分辨率阈值;
图像大小大于预设值。
7.根据权利要求1所述的方法,其特征在于,所述运动矢量缓冲区还包括历史缓冲区,所述历史缓冲区的运动矢量精度为第四精度。
8.根据权利要求2所述的方法,其特征在于,将运动矢量信息按照预定义的运动矢量精度存储到空域运动矢量行缓冲区中时,所述方法还包括:
在跨行存储所述运动矢量信息时,不同的空域运动矢量行缓冲区采用不同的预定义的运动矢量精度。
9.一种运动矢量信息的处理装置,其特征在于,运动矢量缓冲区包括空域运动矢量缓冲区、空域运动矢量行缓冲区以及时域运动矢量缓冲区,所述装置包括:
存储模块,被配置为执行将运动矢量信息按照预定义的运动矢量精度存储到不同的运动矢量缓冲区中;其中所述预定义的运动矢量精度是根据所述运动矢量信息对应图像的视频参数确定的;
解码模块,被配置为执行根据所述运动矢量信息进行图像解码;
其中,所述时域运动矢量缓冲区的预定义的运动矢量精度为第一精度、所述空域运动矢量行缓冲区的预定义的运动矢量精度为第二精度、且所述空域运动矢量缓冲区的预定义的运动矢量精度为第三精度;
其中,所述第一精度、所述第二精度以及所述第三精度不完全相同,且所述第一精度、所述第二精度以及所述第三精度中至少存在一个精度小于所述运动矢量信息的原始精度。
10.根据权利要求9所述的装置,其特征在于,执行所述将运动矢量信息按照预定义的运动矢量精度存储到不同的运动矢量缓冲区中,所述存储模块具体被配置为执行:
降低所述运动矢量缓冲区中至少一个缓冲区的运动矢量精度为预定义的运动矢量精度;
根据降低精度后的所述运动矢量精度存储所述运动矢量信息。
11.根据权利要求9所述的装置,其特征在于,所述视频参数为分辨率,所述存储模块,被配置为执行根据所述图像的视频参数降低所述运动矢量缓冲区中至少一个缓冲区的用于存储所述运动矢量信息的运动矢量精度,包括:
根据预设的运动矢量精度与分辨率区间的对应关系,确定所述图像的分辨率所在的分辨率区间对应的各缓冲区的运动矢量精度;或者,
从用于解码的信号通知中,获取所述运动矢量精度,所述运动矢量精度是预先根据所述图像的分辨率确定并携带在所述信号中的。
12.根据权利要求9所述的装置,其特征在于,所述第一精度小于所述第二精度,和/或
所述第二精度小于所述第三精度。
13.根据权利要求9所述的装置,其特征在于,所述存储模块,被配置为根据所述图像的视频参数降低所述运动矢量缓冲区中至少一个缓冲区的用于存储所述运动矢量信息的运动矢量精度之前,确定所述视频参数的参数值满足预设条件。
14.根据权利要求13所述的装置,其特征在于,所述预设条件包括以下中的至少一种:
分辨有大于分辨率阈值;
图像大小大于预设值。
15.根据权利要求9所述的装置,其特征在于,所述运动矢量缓冲区还包括历史缓冲区,所述历史缓冲区的运动矢量精度为第四精度。
16.根据权利要求10所述的装置,其特征在于,将运动矢量信息按照预定义的运动矢量精度存储到空域运动矢量行缓冲区中时,所述装置还包括:
跨行存储模块,被配置为执行在跨行存储所述运动矢量信息时,不同的空域运动矢量行缓冲区采用不同的预定义的运动矢量精度。
17.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一权利要求所述的方法。
18.一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-8中任一权利要求所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862776963P | 2018-12-07 | 2018-12-07 | |
US62/776,963 | 2018-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111010581A CN111010581A (zh) | 2020-04-14 |
CN111010581B true CN111010581B (zh) | 2022-08-12 |
Family
ID=70115190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911244707.6A Active CN111010581B (zh) | 2018-12-07 | 2019-12-06 | 运动矢量信息的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111010581B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020084474A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Gradient computation in bi-directional optical flow |
CN111436226A (zh) | 2018-11-12 | 2020-07-21 | 北京字节跳动网络技术有限公司 | 用于帧间预测的运动矢量存储 |
KR20210091161A (ko) | 2018-11-20 | 2021-07-21 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 부분적 위치에 기반한 차분 계산 |
WO2020177755A1 (en) | 2019-03-06 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Usage of converted uni-prediction candidate |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1939066A (zh) * | 2004-04-02 | 2007-03-28 | 汤姆森许可贸易公司 | 用于复杂度可伸缩视频解码器的方法和设备 |
CN101911706A (zh) * | 2008-01-09 | 2010-12-08 | 三菱电机株式会社 | 图像编码装置、图像解码装置、图像编码方法以及图像解码方法 |
CN104702957A (zh) * | 2015-02-28 | 2015-06-10 | 北京大学 | 运动矢量压缩方法和装置 |
CN105900420A (zh) * | 2014-01-08 | 2016-08-24 | 微软技术许可有限责任公司 | 选择运动向量精度 |
CN106165419A (zh) * | 2014-01-09 | 2016-11-23 | 高通股份有限公司 | 用于视频译码的自适应运动向量分辨率信令 |
-
2019
- 2019-12-06 CN CN201911244707.6A patent/CN111010581B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1939066A (zh) * | 2004-04-02 | 2007-03-28 | 汤姆森许可贸易公司 | 用于复杂度可伸缩视频解码器的方法和设备 |
CN101911706A (zh) * | 2008-01-09 | 2010-12-08 | 三菱电机株式会社 | 图像编码装置、图像解码装置、图像编码方法以及图像解码方法 |
CN105900420A (zh) * | 2014-01-08 | 2016-08-24 | 微软技术许可有限责任公司 | 选择运动向量精度 |
CN106165419A (zh) * | 2014-01-09 | 2016-11-23 | 高通股份有限公司 | 用于视频译码的自适应运动向量分辨率信令 |
CN104702957A (zh) * | 2015-02-28 | 2015-06-10 | 北京大学 | 运动矢量压缩方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111010581A (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111010581B (zh) | 运动矢量信息的处理方法、装置、电子设备及存储介质 | |
CN110169061B (zh) | 编解码电子装置与方法 | |
CN110024392B (zh) | 用于视频译码的低复杂度符号预测 | |
US20180278951A1 (en) | Motion vector difference (mvd) prediction | |
US10382778B2 (en) | Method for motion vector storage in video coding and apparatus thereof | |
RU2577207C2 (ru) | Способ и устройство для видеокодирования | |
US20180109812A1 (en) | Block partitioning using tree structures | |
US11202076B2 (en) | Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses | |
CN112534807A (zh) | 用于多假设模式参考和约束的方法和设备 | |
EP2699001B1 (en) | A method and a system for video signal encoding and decoding with motion estimation | |
WO2015052273A1 (en) | Method and apparatus for displacement vector component prediction in video coding and decoding | |
US20210360246A1 (en) | Shape adaptive discrete cosine transform for geometric partitioning with an adaptive number of regions | |
US20210211679A1 (en) | Non-affine blocks predicted from affine motion | |
US20210218977A1 (en) | Methods and systems of exponential partitioning | |
EP4037320A1 (en) | Boundary extension for video coding | |
US20220182607A1 (en) | Inter prediction in geometric partitioning with an adaptive number of regions | |
WO2019070941A1 (en) | DEDUCTION AND PREDICTION OF DECOUPLED MODE | |
CN110300302B (zh) | 一种视频编码方法、装置和存储介质 | |
US20200396449A1 (en) | Adaptive block update of unavailable reference frames using explicit and implicit signaling | |
CN103079072A (zh) | 帧间预测方法、编码设备和解码设备 | |
CN114205594B (zh) | 用于视频编码的方法和装置及用于视频解码的方法和装置 | |
CN113923453B (zh) | 视频的时域滤波方法及装置、电子设备、存储介质 | |
KR20160067580A (ko) | 영상 데이터의 인코딩 방법, 상기 방법을 이용한 인코더, 및 상기 인코더를 포함하는 애플리케이션 프로세서 | |
CN113573066A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |