CN107592539A - 一种视频编码方法和装置 - Google Patents
一种视频编码方法和装置 Download PDFInfo
- Publication number
- CN107592539A CN107592539A CN201710719189.3A CN201710719189A CN107592539A CN 107592539 A CN107592539 A CN 107592539A CN 201710719189 A CN201710719189 A CN 201710719189A CN 107592539 A CN107592539 A CN 107592539A
- Authority
- CN
- China
- Prior art keywords
- odd
- line
- numbered line
- even number
- prediction
- 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.)
- Granted
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频编码方法和装置,所述方法包括:对当前块的奇数行进行帧内预测,再根据得到的奇数行预测数据和源奇数行之间的残差,得到重构奇数行,利用上一重构奇数行对重构奇数行进行预测,确定使得重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,由相邻奇数行对偶数行进行预测,得到精确偶数行预测数据,根据精确偶数行预测数据和源偶数行之间的残差,编码偶数行,使得根据重构的奇数行对预测方向进行细化,得到更精确的预测方向,再用奇数行对偶数行根据更精确的预测方向进行预测,得到偶数行的编码,由于偶数行用附近的奇数行来预测,而且预测方向更精确,使得偶数行的编码时残差数据更小,提高了视频编码的效率。
Description
技术领域
本发明涉及视频编码技术领域,特别是涉及一种视频编码方法和装置。
背景技术
从高级视频编码H.264开始,帧内方向预测编码成了视频帧内块编码的主流技术。在这种技术中,当前编码块的预测从其左相邻列和上相邻行根据一个方向进行直线预测得到,如图1所示的帧内预测的示意图,当前编码块是一个8×8的块,三角形所示像素是其左上相邻参考像素。帧内预测首先选定一个方向,然后当前块中的每一行或列,就根据这个方向从其左上相邻行列中获得。如图中所示的第六行,根据图中所示方向就映射到上相邻行的像素位置,如下图中圆点所示,因为这些圆点并不是整像素点,所以它们需要根据其子像素坐标,通过插值算法根据已知的整像素点(即图中所示三角形像素点)计算得出。
帧内预测的一个问题是,因为参考预测像素位于块的左上相邻位置,而预测相关性是距离越远越低,所以对于当前块中距离较远的右下像素,其预测精度不高。
发明内容
本发明实施例所要解决的技术问题是提供一种视频编码方法及装置,使得偶数行用附近的奇数行来预测,而且预测方向更精确,使得偶数行的编码时残差数据更小,提高了视频编码的效率。
为了解决上述问题,本发明公开了一种视频编码方法,包括:
对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据;
根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行;
针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,其中,所述预测误差为所述重构奇数行中一个像素和对应的像素预测数据之间的差,所述像素预测数据由上一重构奇数行中的两个第一目标像素根据所述精确预测方向确定,所述第一目标像素为按照所述选定预测方向确定的上一重构奇数行中的像素;
按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据,其中,所述相邻精确预测方向为所述相邻奇数行的精确预测方向;
根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行。
可选地,所述针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向包括:
根据所述选定预测方向,确定各个重构奇数行的各个像素在上一重构奇数行中的两个第一目标像素;
针对每个重构奇数行的各个像素,确定使得所述重构奇数行中所有像素的预测误差的平方和最小的映射点,其中,所述各个像素的映射点为对应的两个第一目标像素之间的点,所述预测误差为所述重构奇数行中一个像素和对应的映射点之间的差;
根据所述映射点和对应的像素,确定所述精确预测方向。
可选地,所述按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据包括:
针对各个偶数行的各个像素,按照所述相邻精确预测方向确定各个偶数行的下一重构奇数行的两个第二目标像素和上一重构奇数行的两个第三目标像素;
根据所述相邻精确预测方向,由两个第二目标像素得到第二像素预测数据,根据所述相邻精确预测方向的反方向,由两个第三目标像素得到第三像素预测数据;
由对应的第二像素预测数据和对应的第三像素预测数据的平均,得到对应的平均像素预测数据;
根据各个偶数行的所有平均像素预测数据,得到精确偶数行预测数据。
可选地,所述根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行包括:
将所述奇数行预测数据和对应的源奇数行相减,得到对应的奇数行残差;
依次对所述奇数行残差进行变换、量化、反量化、反变换,然后加上所述奇数行预测数据得到重构奇数行。
可选地,在所述根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行之后,所述方法还包括:
依次对所述偶数行的编码进行反量化、反变换,然后加上所述偶数行预测数据得到重构偶数行。
相应的,本发明实施例还提供了一种视频编码装置,其特征在于,包括:
奇数行帧内预测模块,用于对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据;
奇数行重构模块,用于根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行;
精确预测方向确定模块,用于针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,其中,所述预测误差为所述重构奇数行中一个像素和对应的像素预测数据之间的差,所述像素预测数据由上一重构奇数行中的两个第一目标像素根据所述精确预测方向确定,所述第一目标像素为按照所述选定预测方向确定的上一重构奇数行中的像素;
偶数行精确预测模块,用于按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据,其中,所述相邻精确预测方向为所述相邻奇数行的精确预测方向;
偶数行编码模块,用于根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行。
可选地,所述精确预测方向确定模块包括:
第一目标像素确定子模块,用于根据所述选定预测方向,确定各个重构奇数行的各个像素在上一重构奇数行中的两个第一目标像素;
映射点确定子模块,用于针对每个重构奇数行的各个像素,确定使得所述重构奇数行中所有像素的预测误差的平方和最小的映射点,其中,所述各个像素的映射点为对应的两个第一目标像素之间的点,所述预测误差为所述重构奇数行中一个像素和对应的映射点之间的差;
预测方向确定子模块,用于根据所述映射点和对应的像素,确定所述精确预测方向。
可选地,所述偶数行精确预测模块包括:
第二目标像素确定子模块,用于针对各个偶数行的各个像素,按照所述相邻精确预测方向确定各个偶数行的下一重构奇数行的两个第二目标像素和上一重构奇数行的两个第三目标像素;
像素预测数据得到子模块,用于根据所述相邻精确预测方向,由两个第二目标像素得到第二像素预测数据,根据所述相邻精确预测方向的反方向,由两个第三目标像素得到第三像素预测数据;
平均数据得到子模块,用于由对应的第二像素预测数据和对应的第三像素预测数据的平均,得到对应的平均像素预测数据;
精确偶数行数据得到子模块,用于根据各个偶数行的所有平均像素预测数据,得到精确偶数行预测数据。
可选地,所述奇数行重构模块包括:
相减子模块,用于将所述奇数行预测数据和对应的源奇数行相减,得到对应的奇数行残差;
奇数行重构子模块,用于依次对所述奇数行残差进行变换、量化、反量化、反变换,然后加上所述奇数行预测数据得到重构奇数行。
可选地,所述装置还包括:
偶数行重构模块,用于在所述根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行之后,依次对所述偶数行的编码进行反量化、反变换,然后加上所述偶数行预测数据得到重构偶数行。
依据本发明实施例,通过对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据,根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行,针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据,所述相邻精确预测方向为所述相邻奇数行的精确预测方向,根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行,使得根据重构的奇数行对预测方向进行细化,得到更精确的预测方向,再用奇数行对偶数行根据更精确的预测方向进行预测,得到偶数行的编码,由于偶数行用附近的奇数行来预测,而且预测方向更精确,使得偶数行的编码时残差数据更小,提高了视频编码的效率。
附图说明
图1示出了帧内预测的示意图;
图2示出了根据本发明实施例一的一种视频编码方法实施例的步骤流程图;
图3示出了根据本发明实施例的视频编码方法的示意图;
图4示出了根据本发明实施例的奇数行之间进行预测的示意图;
图5示出了根据本发明实施例二的一种视频编码方法实施例的步骤流程图;
图6示出了根据本发明实施例三的一种视频编码装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图2,示出了根据本发明实施例一的一种视频编码方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据。
数字视频是由一系列的视频帧所组成的,帧内方向预测编码常用于视频帧内块编码。当前块是指当前正在编码的宏块,宏块是视频编码技术中的基本概念,在视频编码中,一个编码图像通常划分为若干个宏块组成,一个宏块由亮度像素块和附加的两个色度像素块组成。采用帧内预测时,当前块的预测数据可以从其左相邻列和上相邻行根据一个方向进行直线预测得到。
根据编码需要,采集视频信号时可以隔行扫描(奇、偶数行),则扫描下来的一帧图像就被分为了两个部分,根据次序称为“顶场”和“底场”。在本发明实施例中,当前块的奇数行相比整个块就是在垂直方向上下采样所生成的,具有不同分辨率,偶数行也是一样。
在本发明实施例中,对当前块的各个奇数行进行帧内预测,预测方向可以从多个设定的预测方向选定一个,具体可以根据帧内预测的模式确定,本发明实施例对此不作限制。例如,H.264中定义了七个方向,而H.265中定义了33个方向,通过预测的模式决定在多个方向中选出一个最好的方向,具体可以参见H.264或H.265中定义的方式。
按照选定预测方向,使用帧内预测方法对每一个奇数行进行预测,得到每一个奇数行的奇数行预测数据。其中,奇数行预测数据是根据所述当前块的相邻参考像素和选定预测方向计算得到的,例如,针对奇数行上的一个像素,按照预测方向定位到两个参考像素,可以采用两个参考像素的平均作为该像素的预测值,整个奇数行的所有像素的预测值就是这个奇数行的预测数据。
例如,如图3所示的根据本发明实施例的视频编码方法的示意图,当前块的大小是N×N,而T0和L0分别是顶上一行和左边一列,它们已经编码并重构,当前块的其他部分将用这些左上相邻行列产生预测数据。根据如图中长箭头所示的选定预测方向,使用H.265中的帧内预测方法对奇数行(如图中所示方格形所示行)进行帧内预测,得到各个奇数行预测数据。
步骤102,根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行。
在本发明实施例中,源奇数行是指输入的待编码的当前奇数行,将奇数行预测数据和对应的源奇数行相减得到残差,针对各个奇数行,残差表示真实值和预测值之间的差异。根据残差和奇数行预测数据,可以解码得到重构奇数行。重构奇数行是由残差和预测数据重构的奇数行中各个像素的值组成,用于预测之后待编码的像素。
在本发明实施例中,优选地,所述根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行可以包括:将奇数行预测数据和对应的源奇数行相减,得到对应的奇数行残差,依次对所述奇数行残差进行变换、量化、反量化、反变换,然后加上所述奇数行预测数据得到重构奇数行。
例如,依次对奇数行残差进行N×N/2变换、量化、反量化、反变换,最后再加上奇数行预测数据,得到重构奇数行。
步骤103,针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向。
在本发明实施例中,针对当前块中的每个重构奇数行,根据其上一奇数行根据一个特定的方向对其形成预测,由于是用临近的奇数行进行预测,相比从其左相邻列和上相邻行根据一个方向进行直线预测更加准确,具体确定特定的方向为精确预测方向,确定精确预测方向是通过使得所述重构奇数行中所有像素的预测误差的平方和最小得到的。
预测误差为重构奇数行中一个像素和对应的像素预测数据之间的差,像素预测数据由上一重构奇数行中的两个第一目标像素根据精确预测方向确定,第一目标像素为按照所述选定预测方向确定的上一重构奇数行中的像素。
在本发明实施例中,优选地,针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向可以包括:根据选定预测方向,确定各个重构奇数行的各个像素在上一重构奇数行中的两个第一目标像素;针对每个重构奇数行的各个像素,确定使得所述重构奇数行中所有像素的预测误差的平方和最小的映射点,各个像素的映射点为对应的两个第一目标像素之间的点,预测误差为重构奇数行中一个像素和对应的映射点之间的差;根据映射点和对应的像素,确定精确预测方向。
例如,如图3所示,针对第三行的像素E,从其左相邻列和上相邻行依照选定预测方向,中间有第一行的第一目标像素F和G,设根据精确预测方向,E的映射点为h,它是一个在F和G之间不存在的子像素点。如图4所示的奇数行之间进行预测的示意图,设距离F为y,距离G为1-y,所以E的像素预测数据就是F×(1-y)+G×y,像素E的预测误差就是diff(E)=E-F×(1-y)-G×y。设所有奇数行的像素集合为Ω,那么奇数行所有像素的预测误差的平方和就是SSE=Σa∈Ωdiff(a)2,对SSE求极小值,得到使得重构奇数行中所有像素的预测误差的平方和最小的y,也就是确定了h的位置,根据h和E可以确定精确预测方向。
步骤104,按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据。
在本发明实施例中,相邻精确预测方向为所述相邻奇数行的精确预测方向,相邻奇数行可以包括上一奇数行、或者下一奇数行、或者上一奇数行和下一奇数行。其中,当相邻奇数行包括上一奇数行和下一奇数行时,相邻精确预测方向为上一奇数行和下一奇数行之间的精确预测方向。由各个偶数行的已编码的相邻奇数行对偶数行进行预测,按照相邻精确预测方向,得到各个精确偶数行预测数据。
在用奇数行生成精确偶数行预测数据的过程中,可以使用双线性预测差值滤波器,也可以使用其他合适的低通滤波器,本发明实施例对此不作限制。
步骤105,根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行。
在本发明实施例中,源偶数行是指输入的待编码的当前偶数行,将精确偶数行预测数据和对应的源偶数行相减得到残差,针对各个偶数行,残差表示真实值和预测值之间的差异。根据偶数行的残差可以对各个偶数行进行编码。例如,依次对偶数行残差进行N×N/2变换、量化,得到偶数行的编码。
依据本发明实施例,通过对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据,根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行,针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据,所述相邻精确预测方向为所述相邻奇数行的精确预测方向,根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行,使得根据重构的奇数行对预测方向进行细化,得到更精确的预测方向,再用奇数行对偶数行根据更精确的预测方向进行预测,得到偶数行的编码,由于偶数行用附近的奇数行来预测,而且预测方向更精确,使得偶数行的编码时残差数据更小,提高了视频编码的效率。
在本发明实施例中,优选地,在所述根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行之后,依次对所述偶数行的编码进行反量化、反变换,然后加上所述偶数行预测数据得到重构偶数行。
参照图5,示出了根据本发明实施例二的一种视频编码方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据。
在本发明实施例中,本步骤具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤202,根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行。
在本发明实施例中,本步骤具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤203,针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向。
在本发明实施例中,本步骤具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤204,针对各个偶数行的各个像素,按照所述相邻精确预测方向确定各个偶数行的下一重构奇数行的两个第二目标像素和上一重构奇数行的两个第三目标像素。
在本发明实施例中,相邻精确预测方向为用上一重构奇数行对下一重构奇数行进行预测的精确预测方向。针对各个偶数行的各个像素,按照相邻精确预测方向,确定各个偶数行的下一重构奇数行的两个第二目标像素和上一重构奇数行的两个第三目标像素。
例如,如图3所示,根据第一行到第三行的相邻精确预测方向,第二行中的像素b映射到上一行中第三目标像素A和B之间,用同一个方向映射到下一行中第二目标像素C和D之间。
步骤205,根据所述相邻精确预测方向,由两个第二目标像素得到第二像素预测数据,根据所述相邻精确预测方向的反方向,由两个第三目标像素得到第三像素预测数据。
在本发明实施例中,针对各个偶数行中所有像素分别得到对应的第二像素预测数据和第三像素预测数据。
例如,设映射点距离B是dx(0<dx<1),那么像素b的上一行的第三像素预测数据就是pu=A×dx+B×(1-dx),,映射点距离C之间的距离也是dx,那么下一行的第二像素预测数据是pd=C×(1-dx)+D×dx。
步骤206,由对应的第二像素预测数据和对应的第三像素预测数据的平均,得到对应的平均像素预测数据。
在本发明实施例中,针对各个偶数行中所有像素,分别由对应的第二像素预测数据和对应的第三像素预测数据的平均,得到各个像素对应的平均像素预测数据。
例如,取当前像素b的预测数据pc是两者的平均,即平均像素预测数据为pc=(pu+pd)/2。
步骤207,根据各个偶数行的所有平均像素预测数据,得到精确偶数行预测数据。
在本发明实施例中,精确偶数行预测数据是由本行中所有像素的平均像素预测数据组成。
步骤208,根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行。
在本发明实施例中,本步骤具体实现方式可以参见前述实施例中的描述,此处不另赘述。
依据本发明实施例,通过对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据,根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行,针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,针对各个偶数行的各个像素,按照所述相邻精确预测方向确定各个偶数行的下一重构奇数行的两个第二目标像素和上一重构奇数行的两个第三目标像素,从两个第二目标像素根据所述相邻精确预测方向,得到第二像素预测数据,从两个第三目标像素根据所述相邻精确预测方向,得到第三像素预测数据,由对应的第二像素预测数据和对应的第三像素预测数据的平均,得到对应的平均像素预测数据,根据各个偶数行的所有平均像素预测数据,得到精确偶数行预测数据,根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行,使得根据重构的奇数行对预测方向进行细化,得到更精确的预测方向,再用奇数行对偶数行根据更精确的预测方向进行预测,得到偶数行的编码,由于偶数行用附近的奇数行来预测,而且预测方向更精确,使得偶数行的编码时残差数据更小,提高了视频编码的效率。
实施例三
参照图6,示出了根据本发明实施例三的一种视频编码装置实施例的结构框图,具体可以包括如下模块:
奇数行帧内预测模块301,用于对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据;
奇数行重构模块302,用于根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行;
精确预测方向确定模块303,用于针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,所述预测误差为所述重构奇数行中一个像素和对应的像素预测数据之间的差,所述像素预测数据由上一重构奇数行中的两个第一目标像素根据所述精确预测方向确定,所述第一目标像素为按照所述选定预测方向确定的上一重构奇数行中的像素;
偶数行精确预测模块304,用于按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据,所述相邻精确预测方向为所述相邻奇数行的精确预测方向;
偶数行编码模块305,用于根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行。
在本发明实施例中,优选地,所述精确预测方向确定模块包括:
第一目标像素确定子模块,用于根据所述选定预测方向,确定各个重构奇数行的各个像素在上一重构奇数行中的两个第一目标像素;
映射点确定子模块,用于针对每个重构奇数行的各个像素,确定使得所述重构奇数行中所有像素的预测误差的平方和最小的映射点,所述各个像素的映射点为对应的两个第一目标像素之间的点,所述预测误差为所述重构奇数行中一个像素和对应的映射点之间的差;
预测方向确定子模块,用于根据所述映射点和对应的像素,确定所述精确预测方向。
在本发明实施例中,优选地,所述偶数行精确预测模块包括:
第二目标像素确定子模块,用于针对各个偶数行的各个像素,按照所述相邻精确预测方向确定各个偶数行的下一重构奇数行的两个第二目标像素和上一重构奇数行的两个第三目标像素;
像素预测数据得到子模块,用于从两个第二目标像素根据所述相邻精确预测方向,得到第二像素预测数据,从两个第三目标像素根据所述相邻精确预测方向,得到第三像素预测数据;
平均数据得到子模块,用于由对应的第二像素预测数据和对应的第三像素预测数据的平均,得到对应的平均像素预测数据;
精确偶数行数据得到子模块,用于根据各个偶数行的所有平均像素预测数据,得到精确偶数行预测数据。
在本发明实施例中,优选地,所述奇数行重构模块包括:
相减子模块,用于将所述奇数行预测数据和对应的源奇数行相减,得到对应的奇数行残差;
奇数行重构子模块,用于依次对所述奇数行残差进行变换、量化、反量化、反变换,然后加上所述奇数行预测数据得到重构奇数行。
在本发明实施例中,优选地,所述装置还包括:
偶数行重构模块,用于在所述根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行之后,依次对所述偶数行的编码进行反量化、反变换,然后加上所述偶数行预测数据得到重构偶数行。
依据本发明实施例,通过对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据,根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行,针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据,所述相邻精确预测方向为所述相邻奇数行的精确预测方向,根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行,使得根据重构的奇数行对预测方向进行细化,得到更精确的预测方向,再用奇数行对偶数行根据更精确的预测方向进行预测,得到偶数行的编码,由于偶数行用附近的奇数行来预测,而且预测方向更精确,使得偶数行的编码时残差数据更小,提高了视频编码的效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种视频编码方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种视频编码方法,其特征在于,包括:
对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据;
根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行;
针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,其中,所述预测误差为所述重构奇数行中一个像素和对应的像素预测数据之间的差,所述像素预测数据由上一重构奇数行中的两个第一目标像素根据所述精确预测方向确定,所述第一目标像素为按照所述选定预测方向确定的上一重构奇数行中的像素;
按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据,其中,所述相邻精确预测方向为所述相邻奇数行的精确预测方向;
根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行。
2.根据权利要求1所述的方法,其特征在于,所述针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向包括:
根据所述选定预测方向,确定各个重构奇数行的各个像素在上一重构奇数行中的两个第一目标像素;
针对每个重构奇数行的各个像素,确定使得所述重构奇数行中所有像素的预测误差的平方和最小的映射点,其中,所述各个像素的映射点为对应的两个第一目标像素之间的点,所述预测误差为所述重构奇数行中一个像素和对应的映射点之间的差;
根据所述映射点和对应的像素,确定所述精确预测方向。
3.根据权利要求1所述的方法,其特征在于,所述按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据包括:
针对各个偶数行的各个像素,按照所述相邻精确预测方向确定各个偶数行的下一重构奇数行的两个第二目标像素和上一重构奇数行的两个第三目标像素;
根据所述相邻精确预测方向,由两个第二目标像素得到第二像素预测数据,根据所述相邻精确预测方向的反方向,由两个第三目标像素得到第三像素预测数据;
由对应的第二像素预测数据和对应的第三像素预测数据的平均,得到对应的平均像素预测数据;
根据各个偶数行的所有平均像素预测数据,得到精确偶数行预测数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行包括:
将所述奇数行预测数据和对应的源奇数行相减,得到对应的奇数行残差;
依次对所述奇数行残差进行变换、量化、反量化、反变换,然后加上所述奇数行预测数据得到重构奇数行。
5.根据权利要求1所述的方法,其特征在于,在所述根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行之后,所述方法还包括:
依次对所述偶数行的编码进行反量化、反变换,然后加上所述偶数行预测数据得到重构偶数行。
6.一种视频编码装置,其特征在于,包括:
奇数行帧内预测模块,用于对当前块的各个奇数行按照选定预测方向进行帧内预测,得到奇数行预测数据;
奇数行重构模块,用于根据所述奇数行预测数据和对应的源奇数行之间的残差,得到重构奇数行;
精确预测方向确定模块,用于针对当前块的每个重构奇数行,利用上一重构奇数行对所述重构奇数行进行预测,分别确定使得所述重构奇数行中所有像素的预测误差的平方和最小的精确预测方向,其中,所述预测误差为所述重构奇数行中一个像素和对应的像素预测数据之间的差,所述像素预测数据由上一重构奇数行中的两个第一目标像素根据所述精确预测方向确定,所述第一目标像素为按照所述选定预测方向确定的上一重构奇数行中的像素;
偶数行精确预测模块,用于按照相邻精确预测方向由各个偶数行的已编码的相邻奇数行对所述偶数行进行预测,得到各个精确偶数行预测数据,其中,所述相邻精确预测方向为所述相邻奇数行的精确预测方向;
偶数行编码模块,用于根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行。
7.根据权利要求6所述的装置,其特征在于,所述精确预测方向确定模块包括:
第一目标像素确定子模块,用于根据所述选定预测方向,确定各个重构奇数行的各个像素在上一重构奇数行中的两个第一目标像素;
映射点确定子模块,用于针对每个重构奇数行的各个像素,确定使得所述重构奇数行中所有像素的预测误差的平方和最小的映射点,其中,所述各个像素的映射点为对应的两个第一目标像素之间的点,所述预测误差为所述重构奇数行中一个像素和对应的映射点之间的差;
预测方向确定子模块,用于根据所述映射点和对应的像素,确定所述精确预测方向。
8.根据权利要求6所述的装置,其特征在于,所述偶数行精确预测模块包括:
第二目标像素确定子模块,用于针对各个偶数行的各个像素,按照所述相邻精确预测方向确定各个偶数行的下一重构奇数行的两个第二目标像素和上一重构奇数行的两个第三目标像素;
像素预测数据得到子模块,用于根据所述相邻精确预测方向,由两个第二目标像素得到第二像素预测数据,根据所述相邻精确预测方向的反方向,由两个第三目标像素得到第三像素预测数据;
平均数据得到子模块,用于由对应的第二像素预测数据和对应的第三像素预测数据的平均,得到对应的平均像素预测数据;
精确偶数行数据得到子模块,用于根据各个偶数行的所有平均像素预测数据,得到精确偶数行预测数据。
9.根据权利要求6所述的装置,其特征在于,所述奇数行重构模块包括:
相减子模块,用于将所述奇数行预测数据和对应的源奇数行相减,得到对应的奇数行残差;
奇数行重构子模块,用于依次对所述奇数行残差进行变换、量化、反量化、反变换,然后加上所述奇数行预测数据得到重构奇数行。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
偶数行重构模块,用于在所述根据各个精确偶数行预测数据和对应的源偶数行之间的残差,编码各个偶数行之后,依次对所述偶数行的编码进行反量化、反变换,然后加上所述偶数行预测数据得到重构偶数行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710719189.3A CN107592539B (zh) | 2017-08-21 | 2017-08-21 | 一种视频编码方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710719189.3A CN107592539B (zh) | 2017-08-21 | 2017-08-21 | 一种视频编码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107592539A true CN107592539A (zh) | 2018-01-16 |
CN107592539B CN107592539B (zh) | 2019-10-22 |
Family
ID=61042375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710719189.3A Active CN107592539B (zh) | 2017-08-21 | 2017-08-21 | 一种视频编码方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107592539B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1523897A (zh) * | 2003-09-12 | 2004-08-25 | 浙江大学 | 视频编解码中帧内预测的方法和装置 |
CN101252686A (zh) * | 2008-03-20 | 2008-08-27 | 上海交通大学 | 基于交织预测的视频帧内无损编解码方法及系统 |
CN101385347A (zh) * | 2006-03-03 | 2009-03-11 | 三星电子株式会社 | 视频帧内预测编码/解码的装置与方法 |
US20160057430A1 (en) * | 2014-08-25 | 2016-02-25 | Canon Kabushiki Kaisha | Method, apparatus and system for predicting a block of video samples |
CN105376549A (zh) * | 2009-01-29 | 2016-03-02 | 杜比实验室特许公司 | 视频编码方法及解码视频信号的方法 |
CN106851288A (zh) * | 2017-02-27 | 2017-06-13 | 北京奇艺世纪科技有限公司 | 一种帧内预测编码方法及装置 |
EP2899982B1 (en) * | 2012-09-24 | 2017-08-02 | NTT Docomo, Inc. | Intra prediction based on interpolated reference samples |
-
2017
- 2017-08-21 CN CN201710719189.3A patent/CN107592539B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1523897A (zh) * | 2003-09-12 | 2004-08-25 | 浙江大学 | 视频编解码中帧内预测的方法和装置 |
CN101385347A (zh) * | 2006-03-03 | 2009-03-11 | 三星电子株式会社 | 视频帧内预测编码/解码的装置与方法 |
CN101252686A (zh) * | 2008-03-20 | 2008-08-27 | 上海交通大学 | 基于交织预测的视频帧内无损编解码方法及系统 |
CN105376549A (zh) * | 2009-01-29 | 2016-03-02 | 杜比实验室特许公司 | 视频编码方法及解码视频信号的方法 |
EP2899982B1 (en) * | 2012-09-24 | 2017-08-02 | NTT Docomo, Inc. | Intra prediction based on interpolated reference samples |
US20160057430A1 (en) * | 2014-08-25 | 2016-02-25 | Canon Kabushiki Kaisha | Method, apparatus and system for predicting a block of video samples |
CN106851288A (zh) * | 2017-02-27 | 2017-06-13 | 北京奇艺世纪科技有限公司 | 一种帧内预测编码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107592539B (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6937302B2 (ja) | 多視点ビデオの符号化/復号化方法 | |
JP7313816B2 (ja) | 画像予測方法および関連装置 | |
KR102073638B1 (ko) | 픽처 예측 방법 및 픽처 예측 장치 | |
CN111527752B (zh) | 图像编码和解码的方法和装置以及存储比特流的记录介质 | |
CN105637872B (zh) | 图像解码装置、图像编码装置 | |
CN107409231A (zh) | 图像处理装置和图像处理方法 | |
KR20230143623A (ko) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
US11902578B2 (en) | Method and apparatus of encoding/decoding image data based on tree structure-based block division | |
KR102275830B1 (ko) | 인트라 예측 비디오 코딩 방법 및 장치 | |
CN104041041B (zh) | 用于非均匀运动向量栅格的运动向量缩放 | |
KR102342870B1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
CN107888928B (zh) | 运动补偿预测方法和设备 | |
US10848771B2 (en) | Encoding and decoding a video signal | |
CN112543331B (zh) | 编解码方法、装置及设备 | |
EP3439303A1 (en) | Inter prediction mode-based image processing method and apparatus therefor | |
CN112055203B (zh) | 帧间预测方法、视频编码方法及其相关装置 | |
CN104704819A (zh) | 3d视频编码的视差矢量推导和视图间运动矢量预测的方法及装置 | |
CN109845264B (zh) | 用于编码和解码大视场视频的方法和装置 | |
CN104754338A (zh) | 一种帧内预测模式的选择方法和装置 | |
CN113347416B (zh) | 色度帧内预测方法和装置、及计算机存储介质 | |
JP6118199B2 (ja) | 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法及びコンピュータ読み取り可能な記録媒体。 | |
CN107592539A (zh) | 一种视频编码方法和装置 | |
CN105100669A (zh) | 数字图像转换方法和装置 | |
CN109547785A (zh) | 带宽压缩中自适应纹理渐变预测方法 | |
KR20240128135A (ko) | 인코딩 및 디코딩 방법, 장치 및 이의 기기 |
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 |