CN111050176B - 视频编码、视频解码方法、装置、计算机设备和存储介质 - Google Patents
视频编码、视频解码方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111050176B CN111050176B CN201811197962.5A CN201811197962A CN111050176B CN 111050176 B CN111050176 B CN 111050176B CN 201811197962 A CN201811197962 A CN 201811197962A CN 111050176 B CN111050176 B CN 111050176B
- Authority
- CN
- China
- Prior art keywords
- pixel
- reconstruction
- target
- length
- point set
- 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
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000004364 calculation method Methods 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 27
- 238000013139 quantization Methods 0.000 description 25
- 230000009466 transformation Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000036961 partial effect Effects 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 4
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/136—Incoming video signal characteristics or properties
-
- 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/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/182—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 pixel
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种视频编码、视频解码方法、装置、计算机设备和存储介质,所述视频编码方法包括:获取当前视频帧中待编码的当前编码块;确定所述当前编码块对应的目标参考像素点,所述目标参考像素点对应的目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前编码块的预测值时所采用的进制;根据所述目标参考像素点得到所述当前编码块对应的预测值;根据所述预测值对所述当前编码块进行视频编码,得到编码数据。上述方法可以提高编码效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及视频编码、视频解码方法、装置、计算机设备和存储介质。
背景技术
随着多媒体技术和网络技术的飞速发展和广泛应用,人们在日常生活和生产活动中大量使用视频信息。为了减少视频的传输数据量或者存储数据量,需要对视频进行压缩编码。
进行视频编码时,通常需要结合多个参考像素值得到编码块的预测值,再根据预测值进行视频编码,因此计算速度慢,视频编码效率低。
发明内容
基于此,本发明实施例提供一种视频编码、视频解码方法、装置、计算机设备和存储介质,可以用于解决上述视频编码效率低的问题。
一种视频编码方法,所述方法包括:获取当前视频帧中待编码的当前编码块;确定所述当前编码块对应的目标参考像素点,所述目标参考像素点对应的目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前编码块的预测值时所采用的进制;根据所述目标参考像素点得到所述当前编码块对应的预测值;根据所述预测值对所述当前编码块进行视频编码,得到编码数据。
一种视频编码装置,所述装置包括:当前编码块获取模块,用于获取当前视频帧中待编码的当前编码块;第一确定模块,用于确定所述当前编码块对应的目标参考像素点,所述目标参考像素点对应的目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前编码块的预测值时所采用的进制;第一预测值计算模块,用于根据所述目标参考像素点得到所述当前编码块对应的预测值;编码模块,用于根据所述预测值对所述当前编码块进行视频编码,得到编码数据。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述视频编码方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述视频编码方法的步骤。
上述视频编码方法、装置、计算机设备和存储介质,可通过获取数量与目标进制的e次方倍相同的目标参考像素点进行预测,目标进制为计算预测值所采用的进制,因此能够提高视频编码时计算预测值的计算速度,提高了编码效率。
一种视频解码方法,所述方法包括:获取待解码视频帧中的当前待解码块对应的编码数据;确定所述当前待解码块对应的目标参考像素点,所述目标参考像素点对应的目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前编码块的预测值时所采用的进制;根据所述目标参考像素点得到所述当前待解码块对应的预测值;根据所述预测值对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
一种视频解码装置,所述装置包括:编码数据获取模块,用于获取待解码视频帧中的当前待解码块对应的编码数据;第二确定模块,用于确定所述当前待解码块对应的目标参考像素点,所述目标参考像素点对应的目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前编码块的预测值时所采用的进制;第二预测值计算模块,用于根据所述目标参考像素点得到所述当前待解码块对应的预测值;解码模块,用于根据所述预测值对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述视频解码方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述视频解码方法的步骤。
上述视频解码方法、装置、计算机设备和存储介质,可通过获取数量与目标进制的e次方倍相同的目标参考像素点进行预测,目标进制为计算预测值所采用的进制,因此能够提高视频解码时计算预测值的计算速度,提高了解码效率。
附图说明
图1为一个实施例中提供的视频编码方法的应用环境图;
图2为一个实施例中提供的视频编码方法对应的编码框架图;
图3为一个实施例中提供的视频解码方法对应的解码框架图;
图4A为一个实施例中视频编码方法的流程图;
图4B为一个实施例中图像块的划分示意图;
图5A为一个实施例中确定当前编码块对应的目标参考像素点的流程图;
图5B为一个实施例中当前编码块与对应的目标参考像素点的示意图;
图6为一个实施例中获取当前编码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合的流程图;
图7为一个实施例中当前编码块与对应的目标参考像素点的示意图;
图8为一个实施例中当前编码块与对应的目标参考像素点的示意图;
图9为一个实施例中当前编码块与对应的目标参考像素点的示意图;
图10为一个实施例中视频解码方法的流程图;
图11为一个实施例中视频编码装置的结构框图;
图12为一个实施例中视频解码装置的结构框图;
图13为一个实施例中计算机设备的内部结构框图;
图14为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一方向称为第二方向,且类似地,可将第二方向称为第一方向。
图1为一个实施例中提供的视频编码方法的应用环境图,如图1所示,在该应用环境中,包括终端110以及服务器120。
图1为一个实施例中提供的视频编码方法以及视频解码方法的应用环境图,如图1所示,在该应用环境中,包括终端110以及服务器120。终端110或服务器120可以通过编码器进行视频编码,或者通过解码器进行视频解码。终端110或服务器120也可以通过处理器运行视频编码程序进行视频编码,或者通过处理器运行视频解码程序进行视频解码。服务器120通过输入接口接收到终端110发送的编码数据后,可直接传递至处理器进行解码,也可存储至数据库中等待后续解码。服务器120在通过处理器对视频帧编码得到编码数据后,可直接通过输出接口发送至终端110,也可将编码数据存储至数据库中等待后续传递。当然,服务器120也可以在获取终端110发送的编码数据后,发送到对应的接收终端中,由接收终端进行解码。终端110和服务器120可以通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以包括手机、平板电脑以及笔记本电脑等中的至少一种,但并不局限于此。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2为一个实施例中提供的视频编码方法对应的编码框架图,本发明实施例提供的视频编码方法可以获取视频序列的各个视频帧进行编码,得到对应的编码数据,并通过存储发送单元218执行存储或者发送编码数据中的一个或多个步骤。其中,在视频帧获取单元202处,获取当前视频帧。在第一预测单元204处,可以对当前视频帧的各个编码块进行帧内预测或者帧间预测,例如当编码块的预测模式为帧间预测时,根据编码块对应的参考块的图像值得到预测值以及对应的运动矢量,将编码块实际值与预测值相减得到预测残差,运动矢量表示编码块相对于参考块的位移。当编码块的预测模式为帧内预测模式时,根据帧内预测模式的类型获取当前视频帧内的参考像素点,计算对应的预测值,将编码块实际值与预测值相减得到预测残差。在变换单元206处,将空间域中的预测残差以及矢量信息变换到频率域,并可以对变换系数进行编码。变换的方法可以为离散傅里叶变换或者离散余弦变换等等,矢量信息可以为表示位移的实际运动矢量或者运动矢量差值,运动矢量差值为实际运动矢量与预测运动矢量的差值。
在量化单元208处,将变换后的数据映射成另一个数值,例如可以通过变换后的数据除以量化步长得到一个较小的值。量化参数是量化步长对应的序号,根据量化参数可以查找到对应的量化步长。量化参数小,则图像帧的大部分的细节都会被保留,对应的码率高。量化参数大,则对应的码率低,但图像失真较大、质量不高。量化的原理用公式表示如下:FQ=roued(y/Qstep)。其中,y为量化之前视频帧对应的预测残差,Qstep为量化步长,FQ为对y进行量化得到的量化值。Roued(x)函数指将取值进行四舍五入取偶,即四舍六入五取偶。量化参数与量化步长的对应关系具体可以根据需要进行设置。例如,在一些视频编码标准中,对于亮度编码而言,量化步长共有52个值,为0~51之间的整数,对于色度编码,量化步长的取值为0~39之间的整数,且量化步长随着量化参数的增加而增加,每当量化参数增加6,量化步长便增加一倍。
熵编码单元216用于进行熵编码,熵编码为按熵原理进行编码,且不丢失任何信息的数据编码方式,能够利用较小的字符来表达一定的信息。熵编码方法例如可以为香农编码(shaeeoe)或者哈夫曼编码(huffmae)等。
第一反量化单元210、第一反变换单元212以及重建单元214是重建路径对应的单元,利用重建路径的各个单元进行帧的重建得到参考帧,能够保持编码以及解码中参考帧的一致。其中第一反量化单元210进行的步骤是进行量化的逆过程,第一反变换单元212进行的步骤是是变换单元206进行变换的逆过程,第一重建单元214用于将反变换得到的残差数据加上预测数据得到重建参考帧。
图3为一个实施例中提供的视频解码方法对应的解码框架图,本发明实施例提供的视频解码方法可以通过编码数据获取单元300获取待解码视频序列的各个待解码视频帧对应的编码数据,通过熵解码单元302进行熵解码后,得到熵解码数据,第二反量化单元304对熵解码数据进行反量化,得到反量化数据,第二反变换单元306对反量化数据进行反变换,得到反变换的数据,该反变换的数据可以与图2中第一反变换单元212进行反变换后得到的数据是一致的。第二预测单元308根据待解码块的预测模式对待解码块进行帧内预测或者帧间预测,例如当为帧间预测时,根据编码数据中携带的运动矢量信息获取待解码块对应的目标参考块,根据目标参考块的图像值得到与图2中的预测值一致的预测值,根据预测值以及编码数据中的预测残差得到解码视频数据块的像素值,其中,参考块是从第二预测单元308已经解码得到的参考帧中获取的。当编码块的预测模式为帧内预测模式时,根据帧内预测模式的类型获取当前视频帧内的参考像素点,计算对应的预测值,将编码块实际值与预测值相减得到预测残差。播放存储单元310可以对解码得到的视频帧执行播放视频以及存储视频中的一个或多个步骤。
可以理解,上述的编码框架图、解码框架图仅是一种示例,并不构成对本申请方案所应用于的编码方法的限定,具体的编码框架图以及解码框架图可以包括比图中所示更多或更少的单元,或者组合某些单元,或者具有不同的部件单元不知。例如,还可以对重建视频帧进行环路滤波,降低视频帧的方块效应,以提高视频质量。
在本发明实施例中,将执行编码的一端称为编码端,将执行解码的一端称为解码端。编码端和解码端可以是同一端或者不同端,上述计算机设备比如终端以及服务器,可以是编码端也可以是解码端。
如图4A所示,在一个实施例中,提出了一种视频编码方法,本实施例提供的视频编码方法可以应用于上述图1中的终端110以及服务器120中。具体可以包括以下步骤:
步骤S402,获取当前视频帧中待编码的当前编码块。
具体地,视频帧是构成视频的单位,视频帧可以是计算机设备实时采集的视频帧,例如可以是通过终端的摄像头实时获取的视频帧,也可以是预先存储的视频序列对应的视频帧。一个视频序列可以包括多个视频帧。当前视频帧是指当前需要编码的视频帧,当前编码块是当前视频帧中当前需要编码的编码块。视频帧可以包括一个或多个编码块,视频帧中编码块的大小可以根据需要进行设置。例如可以将一个视频帧分为多个大小为4*8或8*4像素的编码块。也可以通过计算各种编码块的划分方式对应的率失真代价,选择率失真代价小的划分方式进行编码块的划分。如图4B所示为一个64*64像素图像块的划分示意图,其中的一个方块代表一个编码块。由图4B可知,编码块的大小可以包括32*32像素、16*16像素、8*8像素以及4*4像素。当然,编码块的大小也可是其他大小,例如可以是32*16像素或者是64*64像素。
步骤S404,确定当前编码块对应的目标参考像素点,目标参考像素点对应的目标数量为目标进制的e次方倍,e为正整数,目标进制为计算当前编码块的预测值时所采用的进制。
具体地,目标参考像素点用于计算当前编码块的预测值。在进行视频编码时,通常需要找出与当前编码块对应的参考像素点,根据参考像素点计算当前编码块对应的预测值,根据实际值与预测值的差值得到预测残差,对预测残差进行进一步编码,以减小视频的数据量。进制是指进位计数制,是一种带进位的计数方法,例如二进制、十进制、十六进制等等。同一数字,可以采用不同的进制进行表示。例如,对于十进制的数字57,用二进制表示为111001,用五进制表示为212。目标进制是计算当前编码块的预测值时所采用的进制,计算当前编码块的预测值时所采用的进制可以根据执行视频编码的设备对应的硬件参数以及软件参数的一个或多个确定。例如,目前,大多数的计算机设备所采用的计算方法均为二进制,则目标进制可以为二进制。目标数量为目标进制的e次方倍是指:假设目标进制为a,e为正整数,a的e次方倍表示为ae,即目标数量表示e个a相乘得到的乘积。
在一个实施例中,可以根据当前编码块对应的预测模式确定目标参考像素点。例如,对于帧内预测模式的DC(Direct Curreet,直流)模式,目标参考像素点可以包括位于当前编码块上方的相邻像素点以及左侧的相邻像素点。
在一个实施例中,可以从当前编码块各个方向上获取邻近的像素点作为目标参考像素点。当前编码块可以包括两个方向,例如高度方向以及宽度方向。通过从各个方向上获取目标参考像素点,使得当前编码块的预测值与实际值更加接近,降低编码数据的数据量。
在一个实施例中,可以将与当前编码块的距离小于预设距离的重建像素点作为目标参考像素点。预设距离可以根据需要设置,例如可以是2个像素的距离。
在一个实施例中,目标参考像素点可以是与当前编码块的边界的距离小于预设距离的像素点,例如可以是与当前编码块中的像素点存在重复边界的像素点。
在一个实施例中,本发明实施例提供的视频编码方法可以应用于帧内预测中,因此,目标参考像素点是在当前编码块所在的视频帧中获取的。也可以是在其他视频帧中获取的。
可以理解,视频编码中,为了保持编码端以及解码端中参考帧的一致,使得编码端以及解码端中同一图像块对应的预测值相同,目标参考像素点是在编码端进行编码后再重建得到的重建帧中获取的。
步骤S406,根据目标参考像素点得到当前编码块对应的预测值。
具体地,当前编码块的预测值是通过目标参考像素点进行预测得到的像素值。当前编码块的预测值是根据各个目标参考像素点的像素值得到的。当前编码块的预测值可以是目标参考像素点与对应的权重进行加权求和得到的,各个目标参考像素点的权重可以根据需要设置。例如,可以设置目标参考像素点的权重均等于目标参考像素点的个数的倒数,即当前编码块的预测值是目标参考像素点像素值的平均值。当然,预测值也可以是根据平均值进一步计算得到的值,例如,预测值也可以是平均值加上预设像素值得到的,预设像素值可以根据目标数量确定。预测值的计算方法可以利用公式(1)或(2)表示,其中,P表示预测值,P1为第一个目标参考像素点,Pm为第m个目标参考像素点,m表示目标参考像素点的数量,b可以根据需要设置,例如等于m。由于目标数量m为目标进制的e次方倍,因此在采用目标进制计算预测值时,可以将公式(1)以及公式(2)中的目标数量m变换为目标进制的e次方倍进行计算,可以快速计算得到预测值。
P=(P1+…+Pm)/m(1)
P=(P1+…+Pm+b)/m(2)
在一个实施例中,当前编码块的预测值可以是当前编码块中的各个像素点的像素值均相同,当前编码块的预测值可以是当前编码块的各个像素点的像素值可以不同。例如,在帧内DC模式中,当前编码块的各个像素点的预测值可以是相同的。当然,也可以根据当前编码块中像素点离目标参考像素点的距离对预测值进行变换。例如,当前编码块各个像素点对应的预测值可以为P*0.99i,i为当前编码块与目标参考像素点之间的像素数量。
在一个实施例中,根据目标参考像素点得到当前编码块对应的预测值包括:对目标参考像素点的像素值进行求和运算,得到像素统计值;根据目标数量得到移位位数,根据移位位数以及像素统计值进行移位计算,得到移位结果,根据移位结果得到当前编码块对应的预测值。
具体地,移位计算是指对数字进行左移或者右移。左移是指向左移动,相当于将该数字乘以对应的目标进制,右移是指向右移动,相当于将该数字除以对应的进制。例如,对于二进制,左移指的是将所采用的二进制表示的数字向左移动对应的位数,高位移出,低位的空位补零。右移指的是将所采用的二进制表示的数字向右移动对应的位数,低位移出,高位的空位补符号位,即正数补零,负数补1。因此在目标进制中,左移一位都相当于乘以目标进制的1次方,左移e位就相当于乘以目标进制的e次方。右移一位相当于除以目标进制的1次方,右移e位相当于除以目标进制的e次方。左移符号可以用“<<”表示,右移符号可以用“>>”表示。得到目标参考像素点后,对各个目标参考像素点的像素值进行统计求和,得到统计得到的值。可以是对像素统计值进行移位,也可以根据像素统计值进行进一步计算,得到需要进行移位的值,例如将像素统计值加上预设值b后进行移位计算。得到移位结果后,可以将移位结果作为当前编码块对应的预测值,也可以是对移位结果进行进一步计算,得到预测值。例如,将移位结果与预设的系数相乘,得到预测值。预设的系数可以根据需要设置,例如0.99。
如公式(1)所示,等式右边的分子P1+…+Pm表示m个目标参考像素点的统计值。分母即目标数量m用于计算得到移位位数,移位位数可以为logaae,即移位位数为e。进行移位时,可以是对像素统计值进行移位,也可以是对像素统计值进行进一步计算,得到需要进行移位的值。例如,可以将像素统计值与预设比例相乘,得到乘积,对得到的乘积进行移位计算,也可以是将像素值与预设的值相加,对相加得到的和进行移位计算。由于像素统计值是求和得到的,因此移位方向为右移。故在实际计算中,公式(1)可以转化为公式(3)进行计算,公式(2)可以转化为公式(4)进行计算,这样,公式(1)以及公式(2)的除法变换为移位计算,除法运算在计算机设备中的运算周期比较长,硬件损耗大,或者需要配置专门的硬件设备才能计算得到,而采用移位计算,能够根据目标数量得到移位的位数,根据移位位数以及像素统计值移位计算,这样,通过利用移位计算替换除法计算,能够减少或者避免除法的运算,减少运算时间以及对硬件设备的损耗。
P=(P1+…+Pm)>>logam (3)
P=(P1+…+Pm+b)>>logam (4)
步骤S408,根据预测值对当前编码块进行视频编码,得到编码数据。
具体地,得到预测值后,可以将当前编码块的实际值与预测值相减,得到预测残差,根据预测残差进行变换、量化以及熵编码中的一个或多个步骤,得到编码数据。
上述视频编码方法,可通过获取数量与目标进制的e次方倍相同的目标参考像素点进行预测,目标进制为计算预测值所采用的进制,因此能够提高视频编码时计算预测值的计算速度,提高了编码效率。
在一个实施例中,如图5A所示,步骤S404即确定当前编码块对应的目标参考像素点的步骤具体可以包括以下步骤:
步骤S502,获取当前编码块第一方向上对应的第一重建像素点集合以及第二方向上对应的第二重建像素点集合。
具体地,重建像素点是指经过重建路径重建得到的像素点,目标参考像素点是在编码端进行编码后再重建得到的重建帧中获取的。当前编码块可以包括两个方向,高度方向以及宽度方向。如果为高度方向,则高度方向对应的重建像素点集合中的像素点是与当前编码块高度对应的边邻近的重建像素点,如高度方向对应的重建像素点可以是位于当前编码块的左侧以及右侧中的一侧或两侧的重建像素点。如果为宽度方向,则宽度方向对应的重建像素点集合中的像素点是与当前编码块宽度对应的边邻近的重建像素点,如宽度方向对应的重建像素点集合中的像素点是位于当前编码块的上方以及下方的像素点的一方或两方的重建像素点。邻近的定义可以根据需要设置。例如,小于预设距离。第一方向可以是高度方向以及宽度方向中的一个,第二方向可以是高度方向以及宽度方向中的一个,但第一方向和第二方向是不同的。例如第一方向是高度方向,则第二方向为宽度方向。第一重建像素点集合以及第二重建像素点集合中的像素点数量可以根据需要设置,可以相等也可以不相等。例如,第一重建像素点集合的像素点数量为8,第二重建像素点集合的像素点数量为4。
在一个实施例中,第一重建像素点集合的像素点数量可以根据当前编码块在第一方向上的长度确定,第二重建像素点集合的像素点数量可以根据当前编码块在第二方向上的长度确定。第一重建像素点集合的像素点的数量可以与与当前编码块在第一方向上的长度对应的像素数量相等。第二重建像素点集合的数量可以与可以与当前编码块在第二方向上的长度对应的像素数量相等。当然也可以相差预设的长度。例如,如图5B所示,假设当前编码块为图5B中的长方形编码块C,一个正方形代表一个像素点,长方形编码块的高度为4个像素,宽度为8个像素。则高度方向上对应的重建像素点集合可以是由当前编码块左侧的4个灰色的像素点组成的集合。宽度方向上对应的重建像素点集合可以是由上方的8个灰色的像素点组成的集合。
在一个实施例中,第一重建像素点集合以及第二重建像素点集合中的一个或多个集合中的像素点为与当前编码块相邻的像素点。
在一个实施例中,当前编码块高度对应的边的像素个数为目标进制的r次方倍,宽度对应的边的像素个数为目标进制的j次方倍。r、j为正整数。例如,如果目标进制为二进制,当前编码块可以为8*4像素大小的编码块,8以及4均为目标进制2的幂次方倍。
步骤S504,根据第一重建像素点集合和/或第二重建像素点集合中的重建像素点得到复制像素点集合,第一重建像素点集合、第二重建像素点集合以及复制像素点集合中的像素点个数之和等于目标数量。
具体地,复制像素点集合是利用第一重建像素点集合和/或第二重建像素点集合中的重建像素点复制得到的。进行复制时,可以是仅对第一重建像素点集合的全部或者部分像素点进行复制,也可以是仅对第二重建像素点集合的全部或者部分像素点进行复制,当然也可以是对第一重建像素点集合以及第二重建像素点集合两个集合中的全部或者部分像素点进行复制。第一重建像素点集合、第二重建像素点集合以及复制像素点集合这三个集合中的像素点的数量相加,得到的和为目标进制的e次方倍,即目标数量。例如,假设目标数量为16,则第一重建像素点集合中的像素点个数可以为8,第二重建像素点集合中的像素点个数可以为4,复制像素点集合的像素点个数为4。
在一个实施例中,在进行复制时,可以根据当前编码块在第一方向上的长度以及当前编码块在第二方向上的长度的大小关系确定需要进行复制的重建像素点集合。其中,可以将长度小的方向对应的重建像素点集合作为复制像素点结合。例如,再参见图5B,当前编码块的高比宽的长度小,可以对左侧的4个灰色的像素点组成的重建像素点集合进行复制,得到与该4个像素点集合相同的像素点组成的复制像素点集合。
在一个实施例中,对于矩形编码块,高度方向上对应的重建像素点是从与当前编码块的第一列相邻的列上的重建像素点中选取的。宽度方向上对应的重建像素点是从与当前编码块的第一行相邻的行上的重建像素点中选取的。
在一个实施例中,可以从当前编码块左侧相邻的重建像素点和上方相邻的中选取像素点作为目标参考像素点,对当前编码块的预测值进行计算。
在一个实施例中,第二重建像素点集合对应的像素点数量大于第一重建像素点集合对应的像素点数量。在计算预测值时,对第一重建像素点集合对应的第一像素统计值进行左移移位计算,得到移位像素统计值,其中,左移对应的移位位数根据第二重建像素点集合与第一重建像素点集合的比值n确定。左移对应的移位位数可以为logan。根据移位像素统计值以及第二重建像素点集合对应的第二像素统计值得到像素统计值。这样,对第一重建像素点集合对应的像素点进行了复制,使得第一重建像素点以及第二重建像素点在计算预测值时对应的权重相等。
例如,当当前编码块的宽与高的比为n,n为目标进制a的次方倍,n为正整数时,即当前编码块的宽大于高时,则公式(2)在实际计算时可以转换为公式(5)。其中,DCvalue表示预测值,a表示目标进制,例如为2。w表示当前编码块宽度,用像素数量表示,h表示当前编码块的高度,用像素数量表示。w以及h大于等于2,w+w的和为目标进制的t次方倍,t为正整数。例如,图5B中,w为8,h为4。当前编码块第一行第一列的像素点的位置可以表示为(0,0),P(x,-1)指的是位于当前编码块上方的相邻像素点,P(-1,y)指的是位于当前编码块左侧的相邻像素点。当x等于0时,P(x,-1)表示当前编码块第一行的第一个像素点上方的像素点,当x等于w-1时,表示当前编码块第一行的第w个像素点上方的像素点。当y等于0时,表示当前编码块第一列的第一个像素点左边的像素点,当y等于h-1时,表示当前编码块第一列的第h个像素点左边的像素点。
根据公式(5)可知,当当前编码块的宽大于高时,在获取目标参考像素点时,由于当前编码块的像素点左侧的相邻像素点较少,对于左侧即高度方向上的重建像素点,需要进行左移,即对左侧的像素点进行复制,使得在计算预测值时,左侧的相邻重建像素点的比重与上方的比重是一致的。
在一个实施例中,同理,当当前编码块的高与宽的比为n,n为目标进制a的次方倍,n为正整数时,h+h的和为目标进制的u次方倍,u为正整数。即当前编码块的高大于宽时,可以利用当前编码块左侧相邻的重建像素点和上方相邻的重建像素中选取像素点作为目标参考像素点,对当前编码块的预测值进行计算,则公式(2)在实际计算时可以转换为公式(6)。根据公式(6)可知,当当前编码块的高大于宽时,在获取目标参考像素点时,由于当前编码块的像素点上方的相邻像素点较少,对于上方即宽度方向上的重建像素点,需要进行左移,即对上方的像素点进行复制,使得在计算预测值时,左侧的相邻重建像素点的比重与上方的比重是一致的。
步骤S506,将第一重建像素点集合、第二重建像素点集合以及复制像素点集合中的重建像素点作为目标参考像素点。
具体地,得到复制像素点集合后,将第一重建像素点集合、第二重建像素点集合以及复制像素点集合中的重建像素点均作为目标参考像素点,使得目标参考像素点对应的目标数量为目标进制的e次方倍。
在一个实施例中,步骤S404即确定当前编码块对应的目标参考像素点的步骤具体可以包括以下步骤:获取当前编码块第一方向上对应的第一重建像素点集合以及第二方向上对应的第二重建像素点集合,将第一重建像素点集合以及第二重建像素点集合中的重建像素点作为目标参考像素点。
具体地,第一方向可以是高度方向以及宽度方向中的一个,第二方向可以是高度方向以及宽度方向中的一个,但第一方向和第二方向是不同的。例如第一方向是高度方向,则第二方向为宽度方向。第一重建像素点集合以及第二重建像素点集合中的像素点数量可以根据需要设置,但是第一重建像素点集合中与第二重建像素点集合中的像素点个数之和为目标进制的e次方倍,即等于目标数量。例如,假设目标数量为16,则第一重建像素点集合中的像素点个数可以为9,第二重建像素点集合中的像素点个数可以为7。
在一个实施例中,第一重建像素点集合与第二重建像素点集合中的重建像素点个数相等。例如,假设目标数量为8,则可以从当前目标编码块的左侧获取四个重建像素点组成第一重建像素点集合,从当前目标编码块的上方获取四个重建像素点组成第二重建像素点集合。
在一个实施例中,如图6所示,获取当前编码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合包括:
步骤S602,将第一方向或第二方向上当前编码块的长度作为目标长度。
具体地,当前编码块的长度可以用像素数量进行表示,例如,假设当前编码块为4*8的编码块,则宽度方向的长度为4个像素,高度方向的长度为8个像素。可以是将第一方向或第二方向的任意一个方向上当前编码块的长度作为目标长度,具体可以根据需要设置。
在一个实施例中,当当前编码块第一方向的长度大于第二方向上的长度时,将第一方向上当前编码块的长度作为目标长度。
具体地,可以将当前编码块中长度较长的方向所对应的长度作为目标长度。例如,如果当前编码块的宽大于高,则宽度的长度为目标长度。
在一个实施例中,当当前编码块第一方向的长度小于第二方向上的长度时,将第一方向上当前编码块的长度作为目标长度。
具体地,可以将当前编码块中长度较短的方向所对应的长度作为目标长度。例如,如果当前编码块的宽大于高,则高度的长度为目标长度。
步骤S604,根据目标长度确定第一像素数量以及第二像素数量,第一像素数量以及第二像素数量的和等于目标数量。
具体地,第一像素数量是根据目标长度得到的,第二像素数量是根据目标长度得到的。在一个实施例中,如果目标长度的2倍为目标进制的e次方倍,则第一像素数量以及第二像素数量中的一个或多个可以与目标长度对应的像素数量相同。当然,也可以是在目标长度的基础上减少预设数量或者增加预设数量得到第一像素数量以及第二像素数量中的一个或多个,以使得第一像素数量以及第二像素数量的和等于目标进制的e次方倍,即目标数量。例如,如果目标长度为8,8的两倍为16,假设目标进制为2,16为2的4次方倍,故第一像素数量以及第二数量可以为8。如果目标长度为6,则,第一像素数量可以为6,第二像素数量可以为目标数量6加上4等于10。
步骤S606,从当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合。
具体地,得到第一像素数量后,如果第一方向为宽度方向,则可以在当前编码块上方和/或下方的重建像素点中选取目标重建像素点,目标重建像素点的数量为第一像素数量。如果第一方向为高度方向,则可以在当前编码块左侧和/或右侧的重建像素点中选取目标重建像素点,目标重建像素点的数量为第一像素数量。
在一个实施例中,目标重建像素点是与当前编码块相邻的像素点。
步骤S608,从当前编码块第二方向上选取第二像素数量的目标重建像素点,组成第二重建像素点集合。
具体地,得到第二像素数量后,如果第二方向为宽度方向,则可以在当前编码块上方和/或下方的重建像素点中选取目标重建像素点,目标重建像素点的数量为第二像素数量。如果第二方向为高度方向,则可以在当前编码块左侧和/或右侧的重建像素点中选取目标重建像素点,目标重建像素点的数量为第二像素数量。
在一个实施例中,目标重建像素点是与当前编码块相邻的像素点。
在一个实施例中,当当前编码块第一方向的长度大于第二方向上的长度,将第一方向上当前编码块的长度作为目标长度时,则步骤S606即从当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:从当前编码块第一方向上的相邻重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合,第一像素数量的像素对应的长度小于或等于目标长度。步骤S608即从当前编码块第二方向上选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:根据第二像素数量选取当前编码块第二方向上的相邻重建像素点以及非相邻重建像素点作为目标重建像素点,组成第二重建像素点集合,第二像素数量大于第二方向上当前编码块的像素数量。
具体地,第二方向上当前编码块的像素数量是指第二方向如高度的边所对应的像素数量。当选择长度较长的方向对应的长度作为目标长度,第一像素数量的像素对应的长度小于或等于目标长度,第二像素数量大于第二方向上当前编码块的像素数量时,第一方向上相邻重建像素点是大于或等于目标长度的,故可以从第一方向上的相邻重建像素点中筛选第一像素数量的目标重建像素点。而由于第二像素数量大于第二方向上当前编码块的像素数量,因此,第二方向上相邻重建像素点是小于目标长度对应的像素数量的,第二方向上的相邻重建像素点数量不够,故将第二方向上的相邻重建像素点以及非相邻重建像素点作为目标重建像素点。
在一个实施例中,对于矩形编码块,高度方向上对应的重建像素点为与当前编码块的第一列相邻的列上的重建像素点。宽度方向上对应的重建像素点为与当前编码块的第一行相邻的行上的重建像素点。
在一个实施例中,利用当前编码块第一行像素点上方的相邻像素点、第一列像素点左侧的相邻像素点以及第一列像素点左侧的非相邻像素点作为目标参考像素点。例如,如图7所示,假设当前编码块为图7中的长方形编码块C,长方形编码块的高度为4个像素,宽度为8个像素。目标长度为宽度,则高度方向上对应的重建像素点集合可以是由左侧的8个灰色的像素点组成的集合,从上到下的第2至6共5个为左侧的相邻像素点,第7至9共3个灰色的像素点为非相邻的像素点。宽度方向上对应的重建像素点集合可以是由上方的8个灰色的相邻像素点组成的集合。如果当前编码块为矩形编码块,当前编码块宽度方向对应的长度大于高度方向对应的长度,w+w为目标进制的q次倍,q为正整数,则可以将宽度方向对应的长度作为目标长度。根据宽度方向对应的长度得到第一像素数量以及第二像素数量,根据宽度方向对应的长度得到像素统计值对应的移位位数,根据像素统计值以及移位位数得到当前编码块的预测值。例如,第一像素数量以及第二像素数量与目标长度相等,则当前编码块的预测值的计算公式可以如公式(7)所示。
在一个实施例中,可以利用当前编码块第一列像素点左侧的相邻像素点,第一行像素点上方的相邻像素点以及第一行像素点上方的非相邻像素点作为目标参考像素点。如果当前编码块为矩形编码块,当前编码块高度方向对应的长度大于宽度方向对应的长度,h+h为目标进制的g次倍,g为正整数。可以将高度方向对应的长度作为目标长度。根据高度方向对应的长度得到第一像素数量以及第二像素数量,根据高度方向对应的长度得到像素统计值对应的移位位数,根据像素统计值以及移位位数得到当前编码块的预测值。例如,第一像素数量以及第二像素数量与目标长度相等,则当前编码块的预测值的计算公式可以如公式(8)所示。
在一个实施例中,当当前编码块第一方向的长度小于第二方向上的长度,将第一方向上当前编码块的长度作为目标长度时,则步骤S606即从当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:从当前编码块第一方向上的相邻重建像素点选取第一像素数量的目标重建像素点,组成第一重建像素点集合,第一像素数量的像素对应的长度小于或等于目标长度。步骤S608即从当前编码块第二方向上选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:根据第二像素数量从当前编码块第一方向上的相邻重建像素点选取第二像素数量的目标重建像素点,组成第二重建像素点集合,第二像素数量小于第二方向上当前编码块的像素数量。
具体地,当选择长度较短的方向对应的长度作为目标长度,第一像素数量的像素对应的长度小于或等于目标长度,第二像素数量小于第二方向上当前编码块的像素数量时,第一方向上相邻重建像素点是大于或等于目标长度的,故可以从第一方向上的相邻重建像素点中筛选第一像素数量的目标重建像素点。由于第二像素数量小于第二方向上当前编码块的像素数量,因此,第二方向上相邻重建像素点是也是大于目标长度对应的像素数量的,故可以从第二方向上的相邻重建像素点中筛选第二像素数量的目标重建像素点。由于相邻的像素点与当前编码块的像素点相似的可能性更大,因此能够使得预测值与实际值更相近,减少预测残差。
在一个实施例中,可以将当前编码块第一列像素点左侧的相邻像素点、第一行像素点上方的部分相邻像素点作为目标参考像素点。其中,第一行像素点上方的目标参考像素点可以与高度方向的像素点的数量相同。在选择第一行像素点上方部分像素点时,可以按照预设的规则选择部分像素点,如可以按照从左到右、从右到左、间隔选择中的一种或多种方式进行选择。
在一个实施例中,如果当前编码块为矩形编码块,选择长度较短的方向对应的长度作为目标长度,当前编码块宽度方向对应的长度大于高度方向对应的长度,h+h为目标进制的L次方倍,L为正整数,则可以选择当前编码块高度方向对应的长度作为目标长度,根据高度方向对应的长度得到第一像素数量以及第二像素数量,根据高度方向对应的长度得到像素统计值对应的移位位数,根据像素统计值以及移位位数得到当前编码块的预测值。例如,第一像素数量以及第二像素数量与目标长度h相等,则当前编码块的预测值的计算公式用公式(9)或(10)表示如下。例如,假设当前编码块为图8或图9中的长方形编码块C,长方形编码块的高度为8个像素,宽度为4个像素。则图8中高度方向上对应的重建像素点集合可以是由左侧的4个灰色的像素点组成的集合,宽度方向上对应的重建像素点集合可以是由上方中位于靠左部分的4个灰色的像素点组成的集合。图9中高度方向上对应的重建像素点集合可以是由左侧的4个灰色的像素点组成的集合,宽度方向上对应的重建像素点集合可以是由上方中位于靠右部分的4个灰色的像素点组成的集合。
在一个实施例中,可以将当前编码块第一行像素点上方的相邻像素点、第一列像素点左侧的部分相邻像素点作为目标参考像素点。其中,第一列像素点左侧的部分像素点可以与宽度方向的像素点的数量相同。在选择第一列像素点左侧的部分像素点时,可以按照预设的规则选择部分像素点,如可以按照从上到下、从下到上、间隔选择中的一种或多种方式进行选择。如果当前编码块为矩形编码块,选择长度较短的方向对应的长度作为目标长度,当前编码块高度方向对应的长度大于宽度方向对应的长度,w+w为目标进制的z次方倍,z为正整数。则可以选择当前编码块宽度方向对应的长度作为目标长度,根据宽度方向对应的长度得到第一像素数量以及第二像素数量,根据宽度方向对应的长度得到像素统计值对应的移位位数,根据像素统计值以及移位位数得到当前编码块的预测值。例如,第一像素数量以及第二像素数量与目标长度h相等,当前编码块的预测值的计算公式用公式(11)、(12)可以表示如下。其中,在公式(11)中,对于高度方向对应的参考像素点,是选择第一列像素点左侧靠上的w个相邻像素点作为目标参考像素点。在公式(12)中,对于高度方向对应的参考像素点,是选择第一列像素点左侧靠下的的w个相邻像素点作为目标参考像素点。
可以理解,对于帧内编码,一般的编码方向为从左到右,从上到小。因此可以利用公式(5)至(12)进行计算。如果编码方向为从右到左,则公式(5)至(12)中的p(x,-1)可以替换为P(x,1),如果编码方向为从下到上,则公式(5)中的p(-1,y)可以替换为P(1,y)。
如图10所示,在一个实施例中,提出了一种视频解码方法,本实施例提供的视频解码方法可以应用于上述图1中的终端110以及服务器120中。具体可以包括以下步骤:
步骤S1002,获取待解码视频帧中的当前待解码块对应的编码数据。
具体地,待解码视频帧是需要进行解码的视频帧。一个待解码视频序列可以包括多个待解码视频帧。待解码视频帧可以是实时获取的视频帧,也可以是预先存储的待解码视频序列中获取的视频帧。当前待解码视频帧是指当前需要进行解码的视频帧,当前待解码块是当前待解码视频帧中当前需要解码的待解码块。视频帧可以包括一个或多个待解码块,可以理解,在解码时,由于编码块与待解码块是一一对应的,当前待解码块对应的编码数据为对应的当前编码块进行编码得到的编码数据。因此编码块与待解码块的大小是一致的,待解码块的像素大小也可以包括32*32像素、16*16像素、8*8像素以及4*4像素等。
步骤S1004,确定当前待解码块对应的目标参考像素点,目标参考像素点对应的目标数量为目标进制的e次方倍,e为正整数,目标进制为计算当前编码块的预测值时所采用的进制。
具体地,可以理解,由于编解码规则的一致性,对于对应的当前编码块以及当前待解码块,目标参考像素点是相同的。因此解码端获取目标参考像素点的步骤可以参考视频编码方法中获取目标参考像素点的步骤,在此不再赘述。
步骤S1006,根据目标参考像素点得到当前待解码块对应的预测值。
具体地,可以理解,由于编解码规则的一致性,对于对应的当前编码块以及当前待解码块,预测值的计算方法是对应的,因此解码端得到当前待解码块对应的预测值的步骤可以参考视频编码方法中得到当前编码块对应的预测值的步骤,在此不再赘述。
在一个实施例中,确定当前待解码块对应的目标参考像素点包括:获取当前待解码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合,将第一重建像素点集合以及第二重建像素点集合中的重建像素点作为目标参考像素点;第一重建像素点集合中的像素点个数与第二重建像素点集合中的像素点个数的和等于目标数量。
在一个实施例中,确定当前待解码块对应的目标参考像素点包括:获取当前待解码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合;第一重建像素点集合和/或第二重建像素点集合中的重建像素点得到复制像素点集合;第一重建像素点集合中的像素点个数、第二重建像素点集合中像素点个数和复制像素点集合的和等于目标数量,将所述第一重建像素点集合、所述第二重建像素点集合以及所述复制像素点集合中的重建像素点作为目标参考像素点。
在一个实施例中,步骤S1006即根据目标参考像素点得到当前待解码块对应的预测值包括:对目标参考像素点的像素值进行求和运算,得到像素统计值;根据目标数量得到移位位数,根据移位位数以及像素统计值进行移位计算,得到移位结果,将移位结果作为当前待解码块对应的预测值。
步骤S1008,根据预测值对编码数据进行解码,得到当前待解码块对应的视频图像块。
具体地,得到预测值后,根据编码数据中的预测残差以及预测值的和得到视频图像块的像素值。解码的过程可以根据编码的过程确定,例如解码还可以包括反变换、反量化以及熵解码中的至少一个。
上述视频解码方法,可通过获取数量与目标进制的e次方倍相同的目标参考像素点进行预测,目标进制为计算预测值所采用的进制,因此能够提高视频解码时计算预测值的计算速度,提高了解码效率。
在一个实施例中,获取当前待解码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合包括:将第一方向或第二方向上当前待解码块的长度作为目标长度;根据目标长度确定第一像素数量以及第二像素数量,第一像素数量以及第二像素数量的和等于目标数量;从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合;从当前待解码块第二方向上选取第二像素数量的目标重建像素点,组成第二重建像素点集合。
在一个实施例中,将第一方向或第二方向上当前待解码块的长度作为目标长度包括:当当前待解码块第一方向的长度大于第二方向上的长度时,将第一方向上当前待解码块的长度作为目标长度;从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:从当前待解码块第一方向上的相邻重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合,第一像素数量的像素对应的长度小于或等于目标长度;从当前待解码块第二方向上选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:根据第二像素数量选取当前待解码块第二方向上的相邻重建像素点以及非相邻重建像素点作为目标重建像素点,组成第二重建像素点集合,第二像素数量大于第二方向上当前待解码块的像素数量。
在一个实施例中,将第一方向或第二方向上当前待解码块的长度作为目标长度包括:当当前待解码块第一方向的长度小于第二方向上的长度时,将第一方向上当前待解码块的长度作为目标长度;从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:从当前待解码块第一方向上的相邻重建像素点选取第一像素数量的目标重建像素点,组成第一重建像素点集合,第一像素数量的像素对应的长度小于或等于目标长度;从当前待解码块第二方向上选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:根据第二像素数量从当前待解码块第一方向上的相邻重建像素点选取第二像素数量的目标重建像素点,组成第二重建像素点集合,第二像素数量小于第二方向上当前待解码块的像素数量。
以下以一个具体的实施例对本发明实施例提供的视频编码方法以及视频解码方法进行说明,假设当前编码块的宽度为8个像素,高度为4个像素,目标进制为2进制。
1、编码端获取视频帧序列中的当前视频帧,假设为第三个视频帧,且前两个视频帧均已编码。对当前视频帧进行划分,假设划分为16个编码块。前9个已经编码完成,因此将第10个编码块作为当前编码块。例如,可以将图5B中、图7~9中的编码块C作为当前编码块。
2、编码端确定当前编码块的预测模式,如果为DC预测模式,则进入步骤3,否则,根据其他预测模式对应的视频编码方法进行视频编码,例如如果为帧间预测模式,则进行帧间预测编码。
3、编码端确定当前编码块对应的目标参考像素点。例如,将图7~图9中,当前编码块左侧和上方的灰色像素点作为目标参考像素点,其中图7中,目标参考像素点的数量为8+8=16,图8至9中,目标参考像素点的数量为4+4=8。图5B中,将当前编码块左侧和上方的像素点以及对左侧的像素点进行复制得到的像素点均作为目标参考像素点,目标参考像素点个数为8+4*2=16。这样,使得目标参考像素点的个数为2进制的4次方倍。
4、编码端对目标参考像素点的像素值进行求和运算,得到像素统计值。具体地,将各个目标参考像素点的像素值进行相加,得到像素值的和作为像素统计值。
5、编码端根据目标数量得到移位位数,根据移位位数以及像素统计值进行移位计算,得到移位结果,根据移位结果得到当前编码块对应的预测值。其中,以目标进制作为对数函数的底数,目标数量作为自变量,计算移位位数,例如,目标参考像素点的数量为16,则移位位数为log216,为4,移位方向为右移。如果像素统计值是1100000(2进制),则对1100000(2进制)右移四位。
6、编码端根据预测值对当前编码块进行视频编码,得到编码数据
7、编码端通过信道将编码数据发送到解码端,解码端获取当前待解码块对应的编码数据。
8、解码端根据编码数据确定当前编码块为DC预测模式,进入步骤9,否则采用其他预测模式对应的视频解码方法进行视频解码。
9、解码端确定当前待解码块对应的目标参考像素点。
10、解码端对目标参考像素点的像素值进行求和运算,得到像素统计值。
11、解码端根据目标数量得到移位位数,根据移位位数以及像素统计值进行移位计算,得到移位结果,根据移位结果作为当前待解码块对应的预测值。
12、解码端根据预测值对编码数据进行解码,得到当前待解码块对应的视频图像块。
如图11所示,在一个实施例中,提供了一种视频编码装置,该视频编码装置可以集成于上述的终端110以及服务器120中,具体可以包括当前编码块获取模块1102、第一确定模块1104、第一预测值计算模块1106以及编码模块1108。
当前编码块获取模块1102,用于获取当前视频帧中待编码的当前编码块。
第一确定模块1104,用于确定当前编码块对应的目标参考像素点,目标参考像素点对应的目标数量为目标进制的e次方倍,e为正整数,目标进制为计算当前编码块的预测值时所采用的进制。
第一预测值计算模块1106,用于根据目标参考像素点得到当前编码块对应的预测值。
编码模块1108,用于根据预测值对当前编码块进行视频编码,得到编码数据。
在一个实施例中,第一预测值计算模块1106用于:对目标参考像素点的像素值进行求和运算,得到像素统计值;根据目标数量得到移位位数,根据移位位数以及像素统计值进行移位计算,得到移位结果,根据移位结果得到当前编码块对应的预测值。
在一个实施例中,第一确定模块1104用于:获取当前编码块第一方向上对应的第一重建像素点集合以及第二方向上对应的第二重建像素点集合,将第一重建像素点集合以及第二重建像素点集合中的重建像素点作为目标参考像素点;第一重建像素点集合中与第二重建像素点集合中的像素点个数之和等于目标数量。
在一个实施例中,第一确定模块1104包括:
第一重建点集合获取单元,用于获取当前编码块第一方向上对应的第一重建像素点集合以及第二方向上对应的第二重建像素点集合;
第一复制单元,用于根据第一重建像素点集合和/或第二重建像素点集合中的重建像素点得到复制像素点集合,第一重建像素点集合、第二重建像素点集合以及复制像素点集合中的像素点个数之和等于目标数量;
第一像素点确定单元,用于将第一重建像素点集合、第二重建像素点集合以及复制像素点集合中的重建像素点作为目标参考像素点。
在一个实施例中,重建点集合获取单元包括:
长度确定单元,用于将第一方向或第二方向上当前编码块的长度作为目标长度;
数量确定单元,用于根据目标长度确定第一像素数量以及第二像素数量,第一像素数量以及第二像素数量的和等于目标数量;
第一选取单元,用于从当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合;
第二选取单元,用于从当前编码块第二方向上选取第二像素数量的目标重建像素点,组成第二重建像素点集合。
在一个实施例中,长度确定单元用于:当当前编码块第一方向的长度大于第二方向上的长度时,将第一方向上当前编码块的长度作为目标长度。
第一选取单元用于:从当前编码块第一方向上的相邻重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合,第一像素数量的像素对应的长度小于或等于目标长度。
第二选取单元用于:根据第二像素数量选取当前编码块第二方向上的相邻重建像素点以及非相邻重建像素点作为目标重建像素点,组成第二重建像素点集合,第二像素数量大于第二方向上当前编码块的像素数量。
在一个实施例中,长度确定单元用于:当当前编码块第一方向的长度小于第二方向上的长度时,将第一方向上当前编码块的长度作为目标长度。
第一选取单元用于:从当前编码块第一方向上的相邻重建像素点选取第一像素数量的目标重建像素点,组成第一重建像素点集合,第一像素数量的像素对应的长度小于或等于目标长度。
第二选取单元用于:根据第二像素数量从当前编码块第一方向上的相邻重建像素点选取第二像素数量的目标重建像素点,组成第二重建像素点集合,第二像素数量小于第二方向上当前编码块的像素数量。
如图12所示,在一个实施例中,提供了一种视频解码装置,该视频解码装置可以集成于上述的终端110以及服务器120中,具体可以包括编码数据获取模块1202、第二确定模块1204、第二预测值计算模块1206以及解码模块1208。
编码数据获取模块1202,用于获取待解码视频帧中的当前待解码块对应的编码数据。
第二确定模块1204,用于确定当前待解码块对应的目标参考像素点,目标参考像素点对应的目标数量为目标进制的e次方倍,e为正整数,目标进制为计算当前编码块的预测值时所采用的进制。
第二预测值计算模块1206,用于根据目标参考像素点得到当前待解码块对应的预测值。
解码模块1208,用于根据预测值对编码数据进行解码,得到当前待解码块对应的视频图像块。
在一个实施例中,第二预测值计算模块1206用于:对目标参考像素点的像素值进行求和运算,得到像素统计值;根据目标数量得到移位位数,根据移位位数以及像素统计值进行移位计算,得到移位结果,根据移位结果作为当前待解码块对应的预测值。
在一个实施例中,第二确定模块1204用于:获取当前待解码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合,将第一重建像素点集合以及第二重建像素点集合中的重建像素点作为目标参考像素点;第一重建像素点集合中的像素点个数与第二重建像素点集合中的像素点个数的和等于目标数量。
在一个实施例中,第二确定模块1204包括:
第二重建点集合获取单元,用于获取当前待解码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合。
第二复制单元,用于根据第一重建像素点集合和/或第二重建像素点集合中的重建像素点得到复制像素点集合;第一重建像素点集合中的像素点个数、第二重建像素点集合中像素点个数和复制像素点集合的和等于目标数量。
第二像素点确定单元,用于将第一重建像素点集合、第二重建像素点集合以及复制像素点集合中的重建像素点作为目标参考像素点。
图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图13所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频编码方法以及视频解码方法中的至少一种方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频编码方法以及视频解码方法中的至少一种方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图14所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频编码方法以及视频解码方法中的至少一种方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频编码方法以及视频解码方法中的至少一种方法。
本领域技术人员可以理解,图13以及14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的视频编码装置可以实现为一种计算机程序的形式,计算机程序可在如图13以及14所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频编码装置的各个程序模块,比如,图11所示的当前编码块获取模块1102、第一确定模块1104、第一预测值计算模块1106以及编码模块1108。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频编码方法中的步骤。
例如,图13以及14所示的计算机设备可以通过如图11所示的视频编码装置中的当前编码块获取模块1102获取当前视频帧中待编码的当前编码块。通过第一确定模块1104确定当前编码块对应的目标参考像素点,目标参考像素点对应的目标数量为目标进制的e次方倍,e为正整数,目标进制为计算当前编码块的预测值时所采用的进制。通过第一预测值计算模块1106根据目标参考像素点得到当前编码块对应的预测值。通过编码模块1108根据预测值对当前编码块进行视频编码,得到编码数据。
在一个实施例中,本申请提供的视频解码装置可以实现为一种计算机程序的形式,计算机程序可在如图13或14所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频解码装置的各个程序模块,比如,图12所示的编码数据获取模块1202、第二确定模块1204、第二预测值计算模块1206以及解码模块1208。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频解码方法中的步骤。
例如,图13以及14所示的计算机设备可以通过如图12所示的视频解码装置中的编码数据获取模块1202获取待解码视频帧中的当前待解码块对应的编码数据。通过第二确定模块1204确定当前待解码块对应的目标参考像素点,目标参考像素点对应的目标数量为目标进制的e次方倍,e为正整数,目标进制为计算当前编码块的预测值时所采用的进制。通过第二预测值计算模块1206根据目标参考像素点得到当前待解码块对应的预测值。通过解码模块1208根据预测值对编码数据进行解码,得到当前待解码块对应的视频图像块。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频编码方法以及视频解码方法中的一种或多种方法中的步骤。此处视频编码方法以及视频解码方法中的步骤可以是上述各个实施例的视频编码方法以及视频解码方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频编码方法以及视频解码方法中的一种或多种方法中的步骤。此处视频编码方法以及视频解码方法中的步骤可以是上述各个实施例的视频编码方法以及视频解码方法中的步骤。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Syechliek)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (30)
1.一种视频编码方法,所述方法包括:
获取当前视频帧中待编码的当前编码块;
将第一方向或第二方向上所述当前编码块的长度作为目标长度;
根据所述目标长度确定第一像素数量以及第二像素数量;所述第一像素数量以及所述第二像素数量的和等于目标数量,所述目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前编码块的预测值时所采用的进制;
从所述当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合;
从所述当前编码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合;
将所述第一重建像素点集合以及所述第二重建像素点集合中的重建像素点作为目标参考像素点;
根据所述目标参考像素点得到所述当前编码块对应的预测值;
根据所述预测值对所述当前编码块进行视频编码,得到编码数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标参考像素点得到所述当前编码块对应的预测值包括:
对所述目标参考像素点的像素值进行求和运算,得到像素统计值;
根据所述目标数量得到移位位数,根据所述移位位数以及所述像素统计值进行移位计算,得到移位结果,根据所述移位结果得到所述当前编码块对应的预测值。
3.根据权利要求1所述的方法,其特征在于,所述当前编码块为长方形编码块;
所述第一方向为高度方向,所述第二方向为宽度方向;或者,第一方向为宽度方向,所述第二方向为高度方向。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述当前编码块第一方向上对应的第一重建像素点集合以及第二方向上对应的第二重建像素点集合;
根据所述第一重建像素点集合和/或所述第二重建像素点集合中的重建像素点得到复制像素点集合,所述第一重建像素点集合、所述第二重建像素点集合以及所述复制像素点集合中的像素点个数之和等于所述目标数量;
将所述第一重建像素点集合、所述第二重建像素点集合以及所述复制像素点集合中的重建像素点作为目标参考像素点。
5.根据权利要求1所述的方法,其特征在于,所述第一像素数量以及所述第二像素数量与所述目标长度相等。
6.根据权利要求1所述的方法,其特征在于,所述将第一方向或第二方向上所述当前编码块的长度作为目标长度包括:
当所述当前编码块第一方向的长度大于第二方向上的长度时,将第一方向上所述当前编码块的长度作为目标长度;
所述从所述当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:
从所述当前编码块第一方向上的相邻重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合,所述第一像素数量的像素对应的长度小于或等于目标长度;
所述从所述当前编码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:
根据所述第二像素数量选取所述当前编码块第二方向上的相邻重建像素点以及非相邻重建像素点作为目标重建像素点,组成第二重建像素点集合,所述第二像素数量大于第二方向上所述当前编码块的像素数量。
7.根据权利要求1所述的方法,其特征在于,所述将第一方向或第二方向上所述当前编码块的长度作为目标长度包括:
当所述当前编码块第一方向的长度小于第二方向上的长度时,将第一方向上所述当前编码块的长度作为目标长度;
所述从所述当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:
从所述当前编码块第一方向上的相邻重建像素点选取第一像素数量的目标重建像素点,组成第一重建像素点集合,所述第一像素数量的像素对应的长度小于或等于所述目标长度;
所述从所述当前编码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:
根据所述第二像素数量从所述当前编码块第二方向上的相邻重建像素点选取第二像素数量的目标重建像素点,组成第二重建像素点集合,所述第二像素数量小于第二方向上所述当前编码块的像素数量。
8.一种视频解码方法,所述方法包括:
获取待解码视频帧中的当前待解码块对应的编码数据;
将第一方向或第二方向上当前待解码块的长度作为目标长度;
根据目标长度确定第一像素数量以及第二像素数量,第一像素数量以及第二像素数量的和等于目标数量;所述目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前待解码块的预测值时所采用的进制;
从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合;
从当前待解码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合;
将第一重建像素点集合以及第二重建像素点集合中的重建像素点作为目标参考像素点;
根据所述目标参考像素点得到所述当前待解码块对应的预测值;
根据所述预测值对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标参考像素点得到所述当前待解码块对应的预测值,包括:
对所述目标参考像素点的像素值进行求和运算,得到像素统计值;
根据所述目标数量得到移位位数,根据所述移位位数以及所述像素统计值进行移位计算,得到移位结果,根据所述移位结果作为所述当前待解码块对应的预测值。
10.根据权利要求8所述的方法,其特征在于,所述当前待解码块为长方形待解码块;
所述第一方向为高度方向,所述第二方向为宽度方向;或者,第一方向为宽度方向,所述第二方向为高度方向。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取所述当前待解码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合;
根据所述第一重建像素点集合和/或所述第二重建像素点集合中的重建像素点得到复制像素点集合,所述第一重建像素点集合中的像素点个数、所述第二重建像素点集合中像素点个数和所述复制像素点集合的和等于所述目标数量;
将所述第一重建像素点集合、所述第二重建像素点集合以及所述复制像素点集合中的重建像素点作为目标参考像素点。
12.根据权利要求8所述的方法,其特征在于,所述第一像素数量以及所述第二像素数量与所述目标长度相等。
13.根据权利要求8所述的方法,其特征在于,所述将第一方向或第二方向上当前待解码块的长度作为目标长度包括:
当当前待解码块第一方向的长度大于第二方向上的长度时,将第一方向上当前待解码块的长度作为目标长度;
所述从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:
从当前待解码块第一方向上的相邻重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合,所述第一像素数量的像素对应的长度小于或等于目标长度;
所述从当前待解码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:
根据第二像素数量选取当前待解码块第二方向上的相邻重建像素点以及非相邻重建像素点作为目标重建像素点,组成第二重建像素点集合,第二像素数量大于第二方向上当前待解码块的像素数量。
14.根据权利要求8所述的方法,其特征在于,所述将第一方向或第二方向上当前待解码块的长度作为目标长度包括:
当当前待解码块第一方向的长度小于第二方向上的长度时,将第一方向上当前待解码块的长度作为目标长度;
所述从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:
从当前待解码块第一方向上的相邻重建像素点选取第一像素数量的目标重建像素点,组成第一重建像素点集合,第一像素数量的像素对应的长度小于或等于目标长度;
所述从当前待解码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:
根据第二像素数量从当前待解码块第二方向上的相邻重建像素点选取第二像素数量的目标重建像素点,组成第二重建像素点集合,第二像素数量小于第二方向上当前待解码块的像素数量。
15.一种视频编码装置,所述装置包括:
当前编码块获取模块,用于获取当前视频帧中待编码的当前编码块;
第一确定模块,用于将第一方向或第二方向上所述当前编码块的长度作为目标长度;根据所述目标长度确定第一像素数量以及第二像素数量;所述第一像素数量以及所述第二像素数量的和等于目标数量;从所述当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合;从所述当前编码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合;将所述第一重建像素点集合以及所述第二重建像素点集合中的重建像素点作为目标参考像素点;所述目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前编码块的预测值时所采用的进制;
第一预测值计算模块,用于根据所述目标参考像素点得到所述当前编码块对应的预测值;
编码模块,用于根据所述预测值对所述当前编码块进行视频编码,得到编码数据。
16.根据权利要求15所述的装置,其特征在于,所述第一预测值计算模块用于:
对所述目标参考像素点的像素值进行求和运算,得到像素统计值;
根据所述目标数量得到移位位数,根据所述移位位数以及所述像素统计值进行移位计算,得到移位结果,根据所述移位结果得到所述当前编码块对应的预测值。
17.根据权利要求15所述的装置,其特征在于,所述当前编码块为长方形编码块;
所述第一方向为高度方向,所述第二方向为宽度方向;或者,第一方向为宽度方向,所述第二方向为高度方向。
18.根据权利要求15所述的装置,其特征在于,所述第一确定模块还用于:
获取所述当前编码块第一方向上对应的第一重建像素点集合以及第二方向上对应的第二重建像素点集合;
根据所述第一重建像素点集合和/或所述第二重建像素点集合中的重建像素点得到复制像素点集合,所述第一重建像素点集合、所述第二重建像素点集合以及所述复制像素点集合中的像素点个数之和等于所述目标数量;
将所述第一重建像素点集合、所述第二重建像素点集合以及所述复制像素点集合中的重建像素点作为目标参考像素点。
19.根据权利要求15所述的装置,其特征在于,所述第一像素数量以及所述第二像素数量与所述目标长度相等。
20.根据权利要求15所述的装置,其特征在于,所述将第一方向或第二方向上所述当前编码块的长度作为目标长度包括:
当所述当前编码块第一方向的长度大于第二方向上的长度时,将第一方向上所述当前编码块的长度作为目标长度;
所述从所述当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:
从所述当前编码块第一方向上的相邻重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合,所述第一像素数量的像素对应的长度小于或等于目标长度;
所述从所述当前编码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:
根据所述第二像素数量选取所述当前编码块第二方向上的相邻重建像素点以及非相邻重建像素点作为目标重建像素点,组成第二重建像素点集合,所述第二像素数量大于第二方向上所述当前编码块的像素数量。
21.根据权利要求15所述的装置,其特征在于,所述将第一方向或第二方向上所述当前编码块的长度作为目标长度包括:
当所述当前编码块第一方向的长度小于第二方向上的长度时,将第一方向上所述当前编码块的长度作为目标长度;
所述从所述当前编码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:
从所述当前编码块第一方向上的相邻重建像素点选取第一像素数量的目标重建像素点,组成第一重建像素点集合,所述第一像素数量的像素对应的长度小于或等于所述目标长度;
所述从所述当前编码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:
根据所述第二像素数量从所述当前编码块第二方向上的相邻重建像素点选取第二像素数量的目标重建像素点,组成第二重建像素点集合,所述第二像素数量小于第二方向上所述当前编码块的像素数量。
22.一种视频解码装置,所述装置包括:
编码数据获取模块,用于获取待解码视频帧中的当前待解码块对应的编码数据;
第二确定模块,用于将第一方向或第二方向上当前待解码块的长度作为目标长度;根据目标长度确定第一像素数量以及第二像素数量,第一像素数量以及第二像素数量的和等于目标数量;从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合;从当前待解码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合;将第一重建像素点集合以及第二重建像素点集合中的重建像素点作为目标参考像素点;所述目标数量为目标进制的e次方倍,所述e为正整数,所述目标进制为计算所述当前待解码块的预测值时所采用的进制;
第二预测值计算模块,用于根据所述目标参考像素点得到所述当前待解码块对应的预测值;
解码模块,用于根据所述预测值对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
23.根据权利要求22所述的装置,其特征在于,所述第二预测值计算模块用于:
对所述目标参考像素点的像素值进行求和运算,得到像素统计值;
根据所述目标数量得到移位位数,根据所述移位位数以及所述像素统计值进行移位计算,得到移位结果,根据所述移位结果作为所述当前待解码块对应的预测值。
24.根据权利要求22所述的装置,其特征在于,所述当前待解码块为长方形待解码块;
所述第一方向为高度方向,所述第二方向为宽度方向;或者,第一方向为宽度方向,所述第二方向为高度方向。
25.根据权利要求22所述的装置,其特征在于,所述第二确定模块还用于:
获取所述当前待解码块第一方向上的第一重建像素点集合以及第二方向上的第二重建像素点集合;
根据所述第一重建像素点集合和/或所述第二重建像素点集合中的重建像素点得到复制像素点集合,所述第一重建像素点集合中的像素点个数、所述第二重建像素点集合中像素点个数和所述复制像素点集合的和等于所述目标数量;
将所述第一重建像素点集合、所述第二重建像素点集合以及所述复制像素点集合中的重建像素点作为目标参考像素点。
26.根据权利要求22所述的装置,其特征在于,所述第一像素数量以及所述第二像素数量与所述目标长度相等。
27.根据权利要求22所述的装置,其特征在于,所述将第一方向或第二方向上当前待解码块的长度作为目标长度包括:
当当前待解码块第一方向的长度大于第二方向上的长度时,将第一方向上当前待解码块的长度作为目标长度;
所述从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:
从当前待解码块第一方向上的相邻重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合,所述第一像素数量的像素对应的长度小于或等于目标长度;
所述从当前待解码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:
根据第二像素数量选取当前待解码块第二方向上的相邻重建像素点以及非相邻重建像素点作为目标重建像素点,组成第二重建像素点集合,第二像素数量大于第二方向上当前待解码块的像素数量。
28.根据权利要求22所述的装置,其特征在于,所述将第一方向或第二方向上当前待解码块的长度作为目标长度包括:
当当前待解码块第一方向的长度小于第二方向上的长度时,将第一方向上当前待解码块的长度作为目标长度;
所述从当前待解码块第一方向上的重建像素点中选取第一像素数量的目标重建像素点,组成第一重建像素点集合包括:
从当前待解码块第一方向上的相邻重建像素点选取第一像素数量的目标重建像素点,组成第一重建像素点集合,第一像素数量的像素对应的长度小于或等于目标长度;
所述从当前待解码块第二方向上的重建像素点中选取第二像素数量的目标重建像素点,组成第二重建像素点集合包括:
根据第二像素数量从当前待解码块第二方向上的相邻重建像素点选取第二像素数量的目标重建像素点,组成第二重建像素点集合,第二像素数量小于第二方向上当前待解码块的像素数量。
29.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至14中任一项权利要求所述方法的步骤。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至14中任一项权利要求所述方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811197962.5A CN111050176B (zh) | 2018-10-15 | 2018-10-15 | 视频编码、视频解码方法、装置、计算机设备和存储介质 |
EP19872771.1A EP3869805A4 (en) | 2018-10-15 | 2019-10-08 | METHOD AND DEVICE FOR VIDEO ENCODING, METHOD AND DEVICE FOR VIDEO DECODING, COMPUTER DEVICE AND STORAGE MEDIUM |
PCT/CN2019/109972 WO2020078228A1 (zh) | 2018-10-15 | 2019-10-08 | 视频编码、视频解码方法、装置、计算机设备和存储介质 |
US17/074,482 US11115672B2 (en) | 2018-10-15 | 2020-10-19 | Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811197962.5A CN111050176B (zh) | 2018-10-15 | 2018-10-15 | 视频编码、视频解码方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111050176A CN111050176A (zh) | 2020-04-21 |
CN111050176B true CN111050176B (zh) | 2021-10-15 |
Family
ID=70230455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811197962.5A Active CN111050176B (zh) | 2018-10-15 | 2018-10-15 | 视频编码、视频解码方法、装置、计算机设备和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11115672B2 (zh) |
EP (1) | EP3869805A4 (zh) |
CN (1) | CN111050176B (zh) |
WO (1) | WO2020078228A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113396589A (zh) * | 2019-02-11 | 2021-09-14 | 北京字节跳动网络技术有限公司 | 基于五叉树的视频块分割 |
CN113784140B (zh) * | 2021-09-15 | 2023-11-07 | 深圳市朗强科技有限公司 | 一种数学无损编码方法及设备 |
US12200301B2 (en) | 2022-06-22 | 2025-01-14 | Roku, Inc. | Replacement of digital content in data streams |
WO2024012559A1 (en) * | 2022-07-14 | 2024-01-18 | Zhejiang Dahua Technology Co., Ltd. | Methods, systems, and storage mediums for video encoding and decoding |
CN114900691B (zh) * | 2022-07-14 | 2022-10-28 | 浙江大华技术股份有限公司 | 编码方法、编码器及计算机可读存储介质 |
CN119155444A (zh) * | 2023-06-16 | 2024-12-17 | 维沃移动通信有限公司 | 帧内预测方法、装置、电子设备及可读存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9055298B2 (en) * | 2005-07-15 | 2015-06-09 | Qualcomm Incorporated | Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information |
CN102215392B (zh) * | 2010-04-09 | 2013-10-09 | 华为技术有限公司 | 用于估计像素值的帧内预测方法或装置 |
PL4250732T3 (pl) * | 2011-01-07 | 2024-08-12 | Nokia Technologies Oy | Predykcja ruchu w kodowaniu wideo |
CN102695061B (zh) * | 2011-03-20 | 2015-01-21 | 华为技术有限公司 | 一种权重因子的确定方法和装置,以及一种帧内加权预测方法和装置 |
US9467692B2 (en) * | 2012-08-31 | 2016-10-11 | Qualcomm Incorporated | Intra prediction improvements for scalable video coding |
US20140286413A1 (en) * | 2013-03-25 | 2014-09-25 | Qualcomm Incorporated | Disabling sign data hiding in video coding |
CN103200406B (zh) * | 2013-04-12 | 2016-10-05 | 华为技术有限公司 | 深度图像的编解码方法和编解码装置 |
CN104702962B (zh) * | 2015-03-03 | 2019-04-16 | 华为技术有限公司 | 帧内编解码方法、编码器和解码器 |
WO2016154963A1 (en) * | 2015-04-01 | 2016-10-06 | Mediatek Inc. | Methods for chroma coding in video codec |
CN108028942B (zh) * | 2015-06-04 | 2020-06-26 | 清华大学 | 像素预测方法、编码方法、解码方法及其装置、存储介质 |
US10582195B2 (en) * | 2017-06-02 | 2020-03-03 | Futurewei Technologies, Inc. | Intra prediction using unequal weight planar prediction |
-
2018
- 2018-10-15 CN CN201811197962.5A patent/CN111050176B/zh active Active
-
2019
- 2019-10-08 EP EP19872771.1A patent/EP3869805A4/en active Pending
- 2019-10-08 WO PCT/CN2019/109972 patent/WO2020078228A1/zh unknown
-
2020
- 2020-10-19 US US17/074,482 patent/US11115672B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11115672B2 (en) | 2021-09-07 |
CN111050176A (zh) | 2020-04-21 |
EP3869805A4 (en) | 2021-12-08 |
EP3869805A1 (en) | 2021-08-25 |
WO2020078228A1 (zh) | 2020-04-23 |
US20210037253A1 (en) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111050176B (zh) | 视频编码、视频解码方法、装置、计算机设备和存储介质 | |
CN110024392B (zh) | 用于视频译码的低复杂度符号预测 | |
US11196989B2 (en) | Video encoding method, device and storage medium using resolution information | |
CN108141594B (zh) | 用于对图像进行编码或解码的方法和设备 | |
US10291925B2 (en) | Techniques for hardware video encoding | |
US8625916B2 (en) | Method and apparatus for image encoding and image decoding | |
US20060251330A1 (en) | Hybrid video compression method | |
JP4987086B2 (ja) | 画像符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記録媒体 | |
WO2019148906A1 (zh) | 视频编码方法、计算机设备和存储介质 | |
US20210266527A1 (en) | Video signal processing method and device using reference sample | |
US20140119456A1 (en) | Encoding video into lower resolution streams | |
US10791341B2 (en) | Binary arithmetic coding with progressive modification of adaptation parameters | |
KR20200003888A (ko) | 비디오 압축에서의 엔트로피 코딩을 위한 선택적 혼합 | |
CN101115208A (zh) | 图像编码装置 | |
CN110073663A (zh) | 使用级别图的变换系数代码化 | |
US8594189B1 (en) | Apparatus and method for coding video using consistent regions and resolution scaling | |
CN102651815A (zh) | 每块使用固定数目比特的数字图像压缩方法 | |
JP7431752B2 (ja) | ビデオ符号化、ビデオ復号化方法、装置、コンピュータ装置及びコンピュータプログラム | |
US20140119446A1 (en) | Preserving rounding errors in video coding | |
CN114079792A (zh) | 视频编码参考块的压缩方法、编码方法和装置 | |
KR102113904B1 (ko) | 보간을 이용한 연산 방법, 인코더, 및 디코더 | |
CN101023672A (zh) | 在可调整视频编码中用于运动预测的系统和方法 | |
CN106954065A (zh) | 基于梯度方向直方图的递归预测图像压缩方法 | |
CN115442617A (zh) | 一种基于视频编码的视频处理方法和装置 | |
CN107172425B (zh) | 缩略图生成方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022116 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |