CN111669592A - 一种编解码方法、装置及其设备 - Google Patents

一种编解码方法、装置及其设备 Download PDF

Info

Publication number
CN111669592A
CN111669592A CN201910165085.1A CN201910165085A CN111669592A CN 111669592 A CN111669592 A CN 111669592A CN 201910165085 A CN201910165085 A CN 201910165085A CN 111669592 A CN111669592 A CN 111669592A
Authority
CN
China
Prior art keywords
motion information
prediction mode
current block
sub
angle 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
Application number
CN201910165085.1A
Other languages
English (en)
Other versions
CN111669592B (zh
Inventor
方树清
孙煜程
陈方栋
王莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202211610564.8A priority Critical patent/CN116016946A/zh
Priority to CN201910165085.1A priority patent/CN111669592B/zh
Priority to PCT/CN2020/078070 priority patent/WO2020177747A1/zh
Publication of CN111669592A publication Critical patent/CN111669592A/zh
Application granted granted Critical
Publication of CN111669592B publication Critical patent/CN111669592B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种编解码方法、装置及其设备,该方法包括:若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则:根据所述运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。通过本申请的技术方案,带来编码性能的提高,节约大量比特。

Description

一种编解码方法、装置及其设备
技术领域
本申请涉及编解码技术领域,尤其是涉及一种编解码方法、装置及其设备。
背景技术
为了达到节约空间的目的,视频图像都是经过编码后才传输的,完整的视频编码方法可以包括预测、变换、量化、熵编码、滤波等过程。预测编码包括帧内编码和帧间编码,帧间编码是利用视频时间域的相关性,使用邻近已编码图像的像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。
在帧间编码中,可以使用运动矢量(Motion Vector,MV)表示当前帧视频图像的当前图像块与参考帧视频图像的参考图像块之间的相对位移。例如,当前帧的视频图像A与参考帧的视频图像B存在很强的时域相关性,在需要传输视频图像A的图像块A1(当前图像块)时,则可以在视频图像B中进行运动搜索,找到与图像块A1最匹配的图像块B1(即参考图像块),并确定图像块A1与图像块B1之间的相对位移,该相对位移也就是图像块A1的运动矢量。
现有技术中,不需要对当前编码单元进行块划分,而是直接通过指示运动信息索引或者差值信息索引,只能为当前编码单元确定出一个运动信息。
由于当前编码单元内部的所有子块均共享一个运动信息,因此,对于一些运动目标较小,需要对编码单元进行块划分之后,才能获取最佳的运动信息。但是,如果当前编码单元划分成多个子块,又会产生额外的比特开销。
发明内容
本申请提供一种编解码方法及其设备,可以提高编码性能,并节约比特。
本申请提供一种编解码方法,应用于解码端或者编码端,所述方法包括:
获取当前块的运动信息预测模式,所述运动信息预测模式至少包括运动信息角度预测模式;对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式。
本申请提供一种编解码方法,应用于解码端或者编码端,所述方法包括:
若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则:
根据所述运动信息角度预测模式,确定当前块的运动信息;
根据当前块的运动信息,确定当前块的预测值。
本申请提供一种编解码装置,应用于解码端或者编码端,所述装置包括:
第一确定模块,用于若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;
第二确定模块,用于根据当前块的运动信息,确定当前块的预测值。
本申请提供一种解码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。
本申请提供一种编码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。
由以上技术方案可见,本申请实施例中,不需要对当前块进行划分,有效解决子块划分带来的比特开销,在不对当前块进行子块划分的基础上,为当前块的每个子区域提供运动信息,且当前块的不同子区域可以对应相同或者不同的运动信息,从而带来编码性能的提高,解决了传输大量运动信息的问题,可以节约大量比特。通过对运动信息角度预测模式进行查重处理,从而减少运动信息角度预测模式的数量,可以进一步的提高编码性能。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的视频编码框架的示意图;
图2A和图2B是本申请一种实施方式中的划分方式的示意图;
图3A-图3F是本申请一种实施方式中的应用场景示意图;
图4是本申请一种实施方式中的编解码方法的流程图;
图5A和图5B是本申请实施方式中的运动信息角度预测模式的示意图;
图6是本申请一种实施方式中的编解码方法的流程图;
图7是本申请一种实施方式中的编解码方法的流程图;
图8是本申请一种实施方式中的当前块的周边块的示意图;
图9A-图9N是本申请一种实施方式中的周边匹配块的示意图;
图10A和图10B是本申请一种实施方式中的编解码装置的结构图;
图11是本申请一种实施方式中的解码端设备的硬件结构图;
图12是本申请一种实施方式中的编码端设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种编解码方法,该编解码方法可以涉及如下概念:
运动矢量(Motion Vector,MV):在帧间编码中,使用运动矢量表示当前帧视频图像的当前图像块与参考帧视频图像的参考图像块之间的相对位移,例如,当前帧的视频图像A与参考帧的视频图像B存在很强的时域相关性,在传输视频图像A的图像块A1(当前图像块)时,可以在视频图像B中进行运动搜索,找到与图像块A1最匹配的图像块B1(参考图像块),并确定图像块A1与图像块B1之间的相对位移,该相对位移也就是图像块A1的运动矢量。每个划分的图像块都有相应的运动矢量传送到解码端,如果对每个图像块的运动矢量进行独立编码和传输,特别是划分成小尺寸的大量图像块,则消耗相当多的比特。为降低用于编码运动矢量的比特数,可以利用相邻图像块之间的空间相关性,根据相邻已编码图像块的运动矢量对当前待编码图像块的运动矢量进行预测,然后对预测差进行编码,这样可以有效降低表示运动矢量的比特数。
示例性的,在对当前图像块的运动矢量编码过程中,可以先使用相邻已编码图像块的运动矢量预测当前宏块的运动矢量,然后对该运动矢量的预测值(MVP,Motion VectorPrediction)与运动矢量的真正估值之间的差值(MVD,Motion Vector Difference)进行编码,从而有效降低运动矢量的编码比特数。
运动信息(Motion Information):由于运动矢量表示当前图像块与某个参考图像块的位置偏移,为了准确获取指向图像块的信息,除了运动矢量,还需要参考帧图像的索引信息来表示使用哪个参考帧图像。在视频编码技术中,对于当前帧图像,通常可以建立一个参考帧图像列表,参考帧图像索引信息则表示当前图像块采用了参考帧图像列表中的第几个参考帧图像。很多编码技术还支持多个参考图像列表,因此,还可以使用一个索引值来表示使用了哪一个参考图像列表,这个索引值可以称为参考方向。在视频编码技术中,可以将运动矢量、参考帧索引、参考方向等与运动相关的信息统称为运动信息。
率失真原则(Rate-Distortion Optimized):评价编码效率的有两大指标:码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比),比特流越小,则压缩率越大,PSNR越大,则重建图像质量越好,在模式选择时,判别公式实质上也就是对二者的综合评价。例如,模式对应的代价:J(mode)=D+λ*R,示例性的,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。
帧内预测与帧间预测(intra prediction and inter prediction)技术:帧内预测是指,可以利用当前图像块的空域相邻图像块(即与当前图像块处于同一帧图像)的重建像素值进行预测编码。帧间预测是指,利用当前图像块的时域相邻图像块(与当前图像块处于不同帧图像)的重建像素值进行预测编码,帧间预测是利用视频时域的相关性,由于视频序列包含较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,达到有效去除视频时域冗余的目的。
CTU(Coding Tree Unit,编码树单元),是指编码端支持的最大编码单元、以及解码端支持的最大解码单元。示例性的,一帧图像可以先分成若干个不相交的CTU,每个CTU再基于实际情况确定是否进一步划分成更小的块。
在介绍本申请实施例的技术方案之前,先简单介绍如下的基础知识:
参见图1所示,为视频编码框架的示意图,可以使用视频编码框架实现本申请实施例的编码端处理流程,视频解码框架的示意图与图1类似,在此不再赘述,可以使用视频解码框架实现本申请实施例的解码端处理流程。
示例性的,在视频编码框架和视频解码框架中,可以包括帧内预测、运动估计/运动补偿、参考图像缓冲器、环内滤波、重建、变换、量化、反变换、反量化、熵编码器等模块。在编码端,通过这些模块之间的配合,可以实现编码端处理流程,在解码端,通过这些模块之间的配合,可以实现解码端处理流程。
在图像块的划分技术中,一个CTU(Coding Tree Unit,编码树单元)可以使用四叉树递归划分成CU(Coding Unit,编码单元),CU可以进一步的划分成两个或者四个PU(Prediction Unit,预测单元)。在预测完成且得到残差信息后,CU还可以进一步的四叉划分成多个TU(Transform Units,传输单元)。
在VVC(Versatile Video Coding,通用视频编码)中对图像块的划分有了较大变化,混合了二叉树/三叉树/四叉树的划分结构,即取消了CU、PU、TU的概念,支持CU更灵活的划分方式,CU可以是正方形或矩形划分,CTU首先进行四叉树划分,然后四叉树划分的叶子节点进行二叉树和三叉树的划分。
参见图2A所示,CU可以有五种划分类型,分别为四叉树划分,水平二叉树划分,垂直二叉树划分,水平三叉树划分和垂直三叉树划分等。参见图2B所示,CTU内的CU的划分可以是上述五种划分类型的任意组合。
Merge(合并)模式的简单介绍:在帧间预测模块,由于视频存在很强的时域相关性,即时域相邻的两帧图像存在很多相似图像块,当前帧的图像块往往在相邻参考图像中进行运动搜索,找到与当前图像块最匹配的块作为参考图像块。由于参考图像块与当前图像块的相似度高,两者的差值非常小,因此,编码差值的码率开销通常远小于直接编码当前图像块的像素值带来的码率开销。
为了表示与当前图像块最匹配的参考图像块的位置,需要编码很多运动信息传递到解码端,使得解码端可以知晓参考图像块的位置,而运动信息,尤其是运动矢量,需要消耗非常多的码率进行编码传递。为了节省这部分的码率开销,当前设计了一种比较节省运动信息的编码模式,也就是Merge模式。
在Merge模式下,当前图像块的运动信息完全复用时域或空域某个相邻块的运动信息,即,从周围多个图像块的运动信息集合中,选择一个运动信息作为当前图像块的运动信息。因此,在Merge模式下,只需要编码一个索引值表示当前图像块使用运动信息集合中的哪个运动信息,从而节省编码开销。
AMVP(Advanced Motion Vector Prediction,高级运动矢量预测)模式的简单介绍:AMVP模式与Merge模式类似,均使用空域和时域的运动信息预测思想,通过建立候选运动信息列表,通过率失真代价选择最优的一个候选者作为当前图像块的运动信息。AMVP模式与Merge模式的区别体现在:Merge模式下,当前单元的MV直接由空域或者时域上相邻的预测单元预测得到,不存在运动矢量差(Motion Vector Difference,MVD),而AMVP可以看做是MV预测技术,编码器只需要对实际MV和预测MV的差值进行编码,因此是存在MVD的。二者候选者MV队列长度是不同的,构建MV列表的方式也有所区别。
在Merge模式下,为当前预测单元建立一个候选列表,候选列表中存在5个候选MV(及其对应的参考帧信息)。通过遍历这5个候选MV,并且进行率失真代价的计算,最终选取率失真代价最小的候选MV作为最佳MV。若编码端和解码端依照相同的方式构建候选列表,则编码端只需要传输最优MV在候选列表中的索引即可,这样,可以大幅度节省了运动信息的编码比特数。
Merge模式建立的候选列表包含空域和时域两种情形,对于B Slice,还包含组合列表的方式,以下对空域候选列表、时域候选列表、组合列表进行说明。
空域候选列表的建立。参见图3A所示,A1表示当前预测单元左侧最下方的预测单元,B1表示当前预测单元上方最右侧的预测单元,B0和A0分别表示当前预测单元右上方和左下方距离最近的预测单元,B2表示当前预测单元左上角距离最近的预测单元。在HEVC标准规定,空域候选列表最多提供4个候选MV,即最多使用上述5个候选块的4个候选块的运动信息,空域候选列表按照A1-B1-B0-A0-(B2)的顺序建立,其中B2为替补。当A1,B1,B0,A0中的一个或者多个不存在时,则需要B2的运动信息,否则,不使用B2的运动信息。
时域候选者列表的建立。参见图3B所示,利用当前预测单元在邻近已编码图像中对应位置的预测单元的运动信息,可以建立时域候选者列表。与空域候选者列表不同的是,时域候选列表不能直接使用候选块的运动信息,而需要根据参考图像的位置关系做相应的比例伸缩调整。在HEVC标准规定,时域候选者列表最多只提供一个候选MV,由图3B中的H位置的同位预测单元的MV经过伸缩得到,如果H位置不可得,则使用C3位置的同位PU进行替换。
需要注意的是,若当前候选列表中候选MV的个数达不到5个,则需要使用默认运动信息(如运动信息(0,0)等)进行填补,以达到规定的数目。
组合列表的建立。对于B Slice中的预测单元来说,由于存在两个MV,因此,其候选列表也需要提供两个预测MV。在HEVC标准规定,将MV候选者中的前4个候选MV进行两两组合,可以产生B Slice的组合列表。
AMVP模式的候选列表的建立,利用空域、时域上运动向量的相关性,为当前预测单元建立候选列表。编码端从候选列表中选出最优的MV,并对MV进行差分编码,解码端通过建立相同的候选列表,仅需要运动矢量残差(MVD)和预测MV在该候选列表中的索引值,就可以计算出当前预测单元的MV。
空域候选列表的建立。参见图3C所示,当前预测单元的左侧和上方各产生一个候选MV,左侧的选择顺序为A0-A1-scaled A0-scaled A1,上方的选择顺序为B0-B1-B2(scaled B0-scaled B1-scaled B2)。对于上方的三个PU,其MV的比例伸缩只有在左侧两个PU都不可用或者都是帧内预测模式时才能进行。
当左侧或上方检测到第一个“可用”的MV时,使用该MV作为当前预测单元的候选MV,不再进行剩余步骤。A0,A1,scaled A0,scaled A1中最多一个候选者,B0,B1,B2,scaledB0,scaled B1,scaled B2中最多一个候选者。
需要注意的是,只有当候选MV对应的参考图像与当前预测单元相同时,该候选MV才能被标记为“可用”;否则需要对候选MV进行相应的比例伸缩。
时域候选列表的建立。AMVP的时域候选列表的建立与Merge的时域候选列表的构建方式相同。当空域候选者和时域候选者不足两个时,用(0,0)补全。
虽然Merge模式可以大大节省运动信息的编码开销,AMVP模式可以提高运动信息的预测精度,但是,这两种模式对于当前编码单元只有一个运动信息,即当前编码单元内部的所有子块共享一个运动信息。对于运动目标较小,需要对编码单元进行块划分后,才能获取最佳运动信息的应用场景,如果未对当前编码单元进行划分,则当前编码单元只有一个运动信息,预测精度并不是很高。
例如,参见图3D所示,区域C、区域G和区域H是当前编码单元内的区域,并不是当前编码单元内划分的子图像块。假设当前编码单元使用图像块F的运动信息,则当前编码单元内的各个区域均使用图像块F的运动信息,
显然,由于当前编码单元内的区域H与图像块F的距离很远,若区域H也使用图像块F的运动信息,则区域H的运动信息的预测精度并不是很高。
示例性的,若采用图2A或图2B的划分方式对当前编码单元进行划分,则可以得到多个子图像块。例如,参见图3E所示,子图像块C、子图像块G、子图像块H和子图像块I是当前编码单元内划分的子图像块,由于将当前编码单元划分为多个子图像块,因此,当前编码单元内部的每个子图像块可以单独使用运动信息。但是,由于采用图2A或图2B的划分方式对当前编码单元进行划分,因此,需要消耗额外的比特来传输划分方式,带来一定的比特开销。
基于Merge模式和AMVP模式的工作原理,当前编码单元内部的部分子图像块的运动信息,无法利用当前编码单元周围的已编码运动信息,造成可利用的运动信息减少,运动信息的准确度并不高。例如,针对当前编码单元内部的子图像块I,只能利用子图像块C、子图像块G、子图像块H的运动信息,而无法利用图像块A、图像块B、图像块F、图像块D、图像块E的运动信息。
针对上述发现,本申请实施例中提出一种编解码方法,在不对当前图像块进行划分的基础上,即不增加子块划分带来的开销的基础上,可以使当前图像块对应多个运动信息,从而提高当前图像块的运动信息的预测精度。由于未对当前图像块进行划分,因此,可以避免消耗额外的比特来传输划分方式,节约这部分比特开销。针对当前图像块的每个区域(注意,这里是当前图像块内的任意一个区域,该区域的尺寸小于当前图像块的尺寸,并不是对当前图像块进行划分得到的子图像块),可以利用当前图像块周围的已编码运动信息,来获取当前图像块的每个区域的运动信息,换句话说,当前图像块的不同区域可以对应相同或者不同的运动信息,当前图像块可能会有多个不同的运动信息,从而为编码单元内部的区域提供更多的运动信息,提高运动信息的准确度。
参见图3D所示,C为当前图像块(即当前编码单元)内部的一个子区域,A、B、D、E和F为当前图像块周围的已编码块,当前子区域C的运动信息可以采用角度的预测方式来直接获取,当前编码单元内部的其它子区域(如G、H等)也采用同样的方法获得。这样,对于当前编码单元,不用对当前编码单元进行块划分,就能获得不同的运动信息,节省一部分块划分的比特开销。
本申请实施例中的当前图像块(后续简称为当前块),是编解码过程中的任意图像单元,以当前块为单位进行编解码处理,如上述实施例的CU等。参见图3F所示,当前块包括9个区域(后续称为当前块内的子区域),如子区域f1-子区域f9,这些是当前块内的子区域,不是对当前块进行划分后的子图像块。
针对子区域f1-子区域f9中的不同子区域,可以对应相同或者不同的运动信息,因此,在不对当前块进行划分的基础上,也可以使当前块对应多个运动信息,如子区域f1对应运动信息1,子区域f2对应运动信息2,以此类推。
示例性的,在确定子区域f5的运动信息时,可以利用图像块A1、图像块A2、图像块A3、图像块E、图像块B1、图像块B2、图像块B3的运动信息,即利用当前块周围的已编码块的运动信息,从而为子区域f5提供更多的运动信息。当然,针对当前块的其它子区域的运动信息,也可以利用图像块A1、图像块A2、图像块A3、图像块E、图像块B1、图像块B2、图像块B3的运动信息。
以下结合几个具体实施例,对本申请实施例中的编解码方法进行说明。
实施例1:参见图4所示,为本申请实施例中的编解码方法的流程示意图,该方法可以应用于解码端或者编码端,该方法可以包括以下步骤:
步骤401,获取当前块的运动信息预测模式,所述运动信息预测模式至少包括运动信息角度预测模式。示例性的,所述运动信息角度预测模式用于指示预配置角度,根据所述预配置角度从当前块的周边块中为当前块的子区域选择周边匹配块,根据周边匹配块的运动信息确定当前块的一个或多个运动信息;所述周边匹配块是按照所述预配置角度从周边块中确定出的指定位置处的块。
示例性的,周边块包括与当前块相邻的块;或者,周边块包括与当前块相邻的块和非相邻的块。当然,周边块还可以包括其它块,对此不做限制。
在一个例子中,运动信息角度预测模式包括但不限于以下之一或者任意组合:水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式。当然,上述只是几个示例,还可以有其它类型的运动信息角度预测模式,与预配置角度有关,如预配置角度还可以为10度、20度。参见图5A所示,为水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式的示意图,不同预测模式对应不同的预配置角度。
步骤402,对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式,也就是说,去除重复的运动信息角度预测模式。
示例性的,对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式,可以包括但不限于:确定待查重的运动信息角度预测模式;对于任意两个待查重的第一运动信息角度预测模式和待查重的第二运动信息角度预测模式,则:可以根据待查重的第一运动信息角度预测模式,确定第一运动信息;以及,根据待查重的第二运动信息角度预测模式,确定第二运动信息;然后,若所述第一运动信息和所述第二运动信息相同,则可以确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复。
在一个例子中,确定待查重的运动信息角度预测模式,可以包括但不限于:对于任一个运动信息角度预测模式,按照该运动信息角度预测模式的预配置角度从当前块的周边块中选择预配置角度指向的周边匹配块;从周边匹配块中选择要遍历的多个周边匹配块;如果遍历的多个周边匹配块的运动信息都相同,则确定该运动信息角度预测模式为待查重的运动信息角度预测模式。
示例性的,遍历的多个周边匹配块可以是所有周边匹配块中的一部分,也可以是全部,与遍历步长有关,在不同图像块中,遍历步长可以相同或不同。
在一个例子中,确定第一运动信息角度预测模式和第二运动信息角度预测模式重复之后,还可以去除重复的第一运动信息角度预测模式;或者,去除重复的第二运动信息角度预测模式。
在一个例子中,在对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式之后,还可以从查重后的运动信息角度预测模式中确定二次查重的运动信息角度预测模式;示例性的,所述查重后的运动信息角度预测模式,可以包括第一部分运动信息角度预测模式和第二部分运动信息角度预测模式,第一部分运动信息角度预测模式可以为未查重的运动信息角度预测模式,第二部分运动信息角度预测模式可以包括查重的运动信息角度预测模式中去除重复后的运动信息角度预测模式,所述二次查重的运动信息角度预测模式,可以为第二部分运动信息角度预测模式。示例性的,对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理,得到查重后的运动信息预测模式。
在一个例子中,对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理的过程,可以包括但不限于:针对所述二次查重的运动信息角度预测模式中的任意一个,则获取该运动信息角度预测模式的运动信息;示例性的,若该运动信息角度预测模式的运动信息与一个待查重帧间预测模式的运动信息相同,则可以确定该运动信息角度预测模式与该待查重帧间预测模式重复。
在一个例子中,所述待查重帧间预测模式,可以是当前块对应的所有非角度帧间预测模式中的任意一个,或者,所述待查重帧间预测模式,还可以是当前块对应的部分非角度帧间预测模式中的任意一个,对此不做限制。
在一个例子中,对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式之后,还可以确定当前块的目标运动信息预测模式;若当前块的目标运动信息预测模式为运动信息角度预测模式,则:可以根据所述运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。
由以上技术方案可见,本申请实施例中,不需要对当前块进行划分,可以基于运动信息角度预测模式和当前块尺寸来确定当前块的子区域的划分信息,有效解决子块划分带来的比特开销,在不对当前块进行子块划分的基础上,为当前块的每个子区域提供运动信息,且当前块的不同子区域可以对应相同或者不同的运动信息,可以节约大量编码比特的开销,从而带来编码性能的提高。通过对运动信息角度预测模式进行查重处理,从而减少运动信息角度预测模式的数量,可以进一步的提高编码性能。
参见图5B所示,为水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式的示意图,从图5B可以看出,不同的运动信息角度预测模式对于当前块来说,具有相同的效果,如水平预测模式、垂直预测模式、水平向上预测模式,对于当前块来说,具有相同的运动信息。
若不进行查重处理,在编码水平向下预测模式的索引时,由于前面存在水平预测模式、垂直预测模式、水平向上预测模式(当然,每个角度预测模式的顺序不固定,这里只是一个示例),因此,可能需要编码0001来表示。但是如果进行本申请实施例的查重处理,则水平向下预测模式前面只存在水平预测模式,而不存在垂直预测模式和水平向上预测模式(这两个模式被查重处理去除),因此,编码水平向下预测模式的索引时,可能只需要编码01来表示即可,而不需要编码垂直预测模式和水平向上预测模式。因此,通过对不同的运动信息角度预测模式进行查重处理,减少编码运动信息角度预测模式索引信息带来的比特开销。而且,能够对运动信息角度预测模式进行快速查重处理,节省编码的比特开销的同时又能降低硬件复杂度。另外,在采用运动信息角度预测模式进行运动补偿时,为了硬件的友好性,禁止小块的双向预测。
实施例2:基于与上述方法同样的申请构思,参见图6所示,为本申请实施例的编解码方法的流程示意图,该方法可以应用于编码端,该方法可以包括:
步骤601,编码端创建与当前块对应的运动信息预测模式候选列表,运动信息预测模式候选列表包括多个运动信息预测模式,如运动信息角度预测模式。
运动信息角度预测模式用于指示预配置角度,根据预配置角度从当前块的周边块中为当前块的子区域选择周边匹配块,根据周边匹配块的运动信息确定当前块的一个或多个运动信息;周边匹配块是按照预配置角度从周边块中确定出的指定位置处的块。周边块包括与当前块相邻的块;或者,周边块包括与当前块相邻的块和非相邻的块。当然,周边块还可以包括其它块,对此不做限制。
运动信息角度预测模式包括但不限于以下之一或者任意组合:水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式。当然,上述只是几个示例,还可以有其它类型的运动信息角度预测模式。
在一个例子中,需要创建与当前块对应的运动信息预测模式候选列表,即编码端和解码端均需要创建当前块对应的运动信息预测模式候选列表。
编码端的运动信息预测模式候选列表与解码端的运动信息预测模式候选列表根据协议约定为相同。编码端和解码端可以采用相同的策略,创建相同的运动信息预测模式候选列表。当然,上述方式只是几个示例,对此创建方式不做限制,只要编码端和解码端具有相同的运动信息预测模式候选列表即可。
示例性的,可以为当前块创建一个运动信息预测模式候选列表,即,当前块内的所有子区域,可以对应相同的运动信息预测模式候选列表;或者,可以为当前块创建多个运动信息预测模式候选列表。针对不同的当前块,可以对应相同或者不同的运动信息预测模式候选列表。为了方便描述,以为每个当前块创建一个运动信息预测模式候选列表为例,例如,当前块A对应运动信息预测模式候选列表1、当前块B对应运动信息预测模式候选列表1,以此类推。
例如,运动信息预测模式候选列表依次包括:水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式。当然,上述方式只是几个示例,对此不做限制,预配置角度可以是0-360度之间的任意角度,可以将子区域的中心点向右的水平方向定位为0度,这样,从0度逆时针旋转的任意角度均可以为预配置角度,或者,可以将子区域的中心点向其他方向定位为0度。在实际应用中,预配置角度可以是分数角度,如22.5度等。
在一个例子中,本申请实施例中的运动信息角度预测模式,可以是预测运动信息的角度预测模式,即用于帧间编码过程,而不是应用于帧内编码过程,而且,运动信息角度预测模式选择的是匹配块,而不是匹配的像素点。
步骤602,编码端对运动信息预测模式候选列表中的多个运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式。为了区分方便,可以将查重后的运动信息角度预测模式称为候选运动信息角度预测模式。
例如,参见图5B所示,假设运动信息预测模式候选列表依次包括:水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式,则对水平预测模式与垂直预测模式进行查重处理,若二者重复,则从运动信息预测模式候选列表中去除垂直预测模式。然后,对水平预测模式与水平向上预测模式进行查重处理,若二者重复,则从运动信息预测模式候选列表中去除水平向上预测模式。然后,对水平预测模式与水平向下预测模式进行查重处理,若二者不重复,则保留二者,以此类推。示例性的,假设运动信息预测模式候选列表最终剩下水平预测模式、水平向下预测模式、垂直向右预测模式,则剩下的这些运动信息角度预测模式就是候选运动信息角度预测模式。
在一个例子中,对运动信息预测模式候选列表中的多个运动信息角度预测模式进行查重处理,得到候选运动信息角度预测模式,可以包括:确定待查重的运动信息角度预测模式;对于任意两个待查重的第一运动信息角度预测模式和待查重的第二运动信息角度预测模式,则:可以根据第一运动信息角度预测模式,确定第一运动信息;可以根据第二运动信息角度预测模式,确定第二运动信息;然后,若第一运动信息和第二运动信息相同,则可以确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复。
在一个例子中,确定待查重的运动信息角度预测模式,可以包括但不限于:对于任一个运动信息角度预测模式,按照该运动信息角度预测模式的预配置角度从当前块的周边块中选择预配置角度指向的周边匹配块;从这些周边匹配块中选择要遍历的多个周边匹配块;如果遍历的多个周边匹配块的运动信息都相同,则可以确定该运动信息角度预测模式为待查重的运动信息角度预测模式。
例如,参见图5B所示,针对水平预测模式,按照水平预测模式的预配置角度从当前块的所有周边块中选择预配置角度指向的周边匹配块,如10个周边匹配块。然后,从这10个周边匹配块中选择多个周边匹配块(如10个周边匹配块的全部或部分,后续以5个周边匹配块为例)。若5个周边匹配块的运动信息都相同,如均为A1,则确定水平预测模式为待查重的运动信息角度预测模式。同理,垂直预测模式和水平向上预测模式为待查重的运动信息角度预测模式。
针对水平向下预测模式,按照水平向下预测模式的预配置角度从当前块的所有周边块中选择预配置角度指向的周边匹配块,如8个周边匹配块。然后,从这8个周边匹配块中选择多个周边匹配块(如8个周边匹配块的全部或部分,后续以6个周边匹配块为例)。若6个周边匹配块的运动信息不完全相同,如为A1、C1、C2、C3和C4等,则水平向下预测模式不是待查重的运动信息角度预测模式。同理,垂直向右预测模式不是待查重的运动信息角度预测模式。
示例性的,水平预测模式、垂直预测模式和水平向上预测模式均为待查重的运动信息角度预测模式。对于水平预测模式和垂直预测模式,由于水平预测模式的运动信息为A1,垂直预测模式的运动信息为A1,即二者相同,因此,水平预测模式和垂直预测模式重复,从运动信息预测模式候选列表中去除垂直预测模式。对于水平预测模式和水平向上预测模式,由于水平预测模式的运动信息为A1,水平向上预测模式的运动信息为A1,即二者相同,因此,水平预测模式和水平向上预测模式重复,从运动信息预测模式候选列表中去除水平向上预测模式。经过上述处理,运动信息预测模式候选列表最终剩下水平预测模式、水平向下预测模式、垂直向右预测模式,即候选运动信息角度预测模式。
需要注意的是,若水平预测模式的运动信息与水平向上预测模式的运动信息不同,则确定水平预测模式与水平向上预测模式不重复,不从运动信息预测模式候选列表中去除水平预测模式或者水平向上预测模式。由于水平向下预测模式和垂直向右预测模式不是待查重的运动信息角度预测模式,因此,在运动信息预测模式候选列表中保留水平向下预测模式和垂直向右预测模式。
在一个例子中,对于任一个运动信息角度预测模式,按照该运动信息角度预测模式的预配置角度,从当前块的周边块中选择预配置角度指向的周边匹配块(如上述10个周边匹配块),从这些周边匹配块中选择待遍历的多个周边匹配块(如上述5个周边匹配块)。例如,按照遍历步长确定待遍历的周边匹配块。假设遍历步长为2,第一个待遍历的周边匹配块为匹配块1,第二个待遍历的周边匹配块为匹配块3,以此类推,当然还可以采用其它方式,对此不做限制。
示例性的,针对每个待遍历的周边匹配块,可以从当前块的所有周边块中为该周边匹配块选择待比较的周边匹配块(如可以按照遍历顺序选择周边匹配块作为待比较的周边匹配块,例如,按照遍历步长确定待比较的周边匹配块,假设遍历步长为2,第一个待遍历的周边匹配块为匹配块1,则针对匹配块1,待比较的周边匹配块是匹配块3)。若待遍历的周边匹配块的运动信息与待比较的周边匹配块的运动信息相同,则将待遍历的周边匹配块的比较值设置为第一标识(如0)。或者,若待遍历的周边匹配块的运动信息与待比较的周边匹配块的运动信息不同,则将待遍历的周边匹配块的比较值设置为第二标识(如1)。
在对每个待遍历的周边匹配块进行上述处理后,可以得到每个待遍历的周边匹配块的比较值。若每个待遍历的周边匹配块的比较值均为第一标识,则说明遍历的多个周边匹配块的运动信息都相同,确定运动信息角度预测模式为待查重的运动信息角度预测模式。若任一待遍历的周边匹配块的比较值为第二标识,则确定运动信息角度预测模式不是待查重的运动信息角度预测模式。
例如,参见图5A所示,假设第一个待遍历的周边匹配块为A3,遍历步长为2,则第二个待遍历的周边匹配块为A1,第三个待遍历的周边匹配块为B1,第四个待遍历的周边匹配块为B3。针对待遍历的周边匹配块A3,则待比较的周边匹配块为A1;针对待遍历的周边匹配块A1,则待比较的周边匹配块为B1;针对待遍历的周边匹配块B1,则待比较的周边匹配块为B3。
基于此,判断待遍历的周边匹配块A3的运动信息与待比较的周边匹配块A1的运动信息是否相同,若相同,则将待遍历的周边匹配块A3比较值存储为第一标识,若不同,则将待遍历的周边匹配块A3比较值存储为第二标识。
然后,判断待遍历的周边匹配块A1的运动信息与待比较的周边匹配块B1的运动信息是否相同,若相同,则将待遍历的周边匹配块A1比较值存储为第一标识,若不同,则将待遍历的周边匹配块A1比较值存储为第二标识,以此类推。
在一个例子中,从当前块的周边匹配块中确定需要遍历的周边匹配块时,也可以根据不同的遍历步长来选择。例如,按照第一遍历步长先确定出两个周边匹配块,然后,根据第二遍历步长确定出下一个周边匹配块,对此不做限制。
步骤603,编码端从运动信息预测模式候选列表的每个候选运动信息角度预测模式中选择一个候选运动信息角度预测模式,并将选择的所述候选运动信息角度预测模式确定为当前块对应的目标运动信息角度预测模式。
示例性的,针对步骤603的处理过程,该过程可以包括以下步骤:
步骤a1、针对运动信息预测模式候选列表的每个候选运动信息角度预测模式,根据该候选运动信息角度预测模式确定当前块对应的周边匹配块。
示例性的,针对每个候选运动信息角度预测模式,如水平预测模式、水平向下预测模式、垂直向右预测模式等,参见图5A和图5B所示。基于水平预测模式指示的预配置角度,可以确定当前块对应的周边匹配块1,如多个周边匹配块1,对此确定过程不再赘述。基于水平向下预测模式指示的预配置角度,可以确定当前块对应的周边匹配块2,如多个周边匹配块2。基于垂直向右预测模式指示的预配置角度,可以确定当前块对应的周边匹配块3,如多个周边匹配块3。
步骤a2,编码端根据周边匹配块的运动信息(如多个周边匹配块分别对应的多个运动信息)确定候选运动信息角度预测模式对应的率失真代价。
例如,根据多个周边匹配块1的运动信息(即多个运动信息)确定水平预测模式对应的率失真代价1。根据多个周边匹配块2的运动信息(即多个运动信息)确定水平向下预测模式对应的率失真代价2。根据多个周边匹配块3的运动信息(即多个运动信息)确定垂直向右预测模式对应的率失真代价3。
在一个例子中,基于多个周边匹配块的多个运动信息,可以采用率失真原则确定候选运动信息角度预测模式对应的率失真代价。率失真代价可以通过如下公式确定:J(mode)=D+λ*R,示例性的,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和,对此确定方式不做限制。
步骤a3,编码端根据每个候选运动信息角度预测模式对应的率失真代价,确定率失真代价最小的候选运动信息角度预测模式,并将率失真代价最小的候选运动信息角度预测模式确定为当前块对应的目标运动信息角度预测模式。
例如,假设水平预测模式对应的率失真代价1小于水平向下预测模式对应的率失真代价2,水平向下预测模式对应的率失真代价2小于垂直向右预测模式对应的率失真代价3,则水平预测模式可以是目标运动信息角度预测模式。
步骤604,编码端根据目标运动信息角度预测模式对当前块进行编码。
示例性的,编码端可以根据目标运动信息角度预测模式确定当前块内的每个子区域的运动信息,利用每个子区域的运动信息对该子区域进行运动补偿。
在一个例子中,根据目标运动信息角度预测模式对当前块进行编码,可以包括:根据目标运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值,这个过程也就是运动补偿过程。
示例性的,根据目标运动信息角度预测模式确定当前块的运动信息,包括:
步骤6041,根据目标运动信息角度预测模式和当前块的尺寸,确定当前块的用于获取运动信息的选择条件。示例性的,所述选择条件可以为第一选择条件或者第二选择条件,第一选择条件为从周边匹配块的运动信息中选择的运动信息不允许是双向运动信息(即允许单向运动信息,或双向运动信息中的前向运动信息,或双向运动信息中的后向运动信息),第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息(即允许单向运动信息、双向运动信息中的前向运动信息、双向运动信息中的后向运动信息)。
例如,若当前块的尺寸满足:宽大于等于预设尺寸参数(可以根据经验配置,如8等),高大于等于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第二选择条件。若当前块的尺寸满足:宽小于预设尺寸参数,高大于预设尺寸参数,当目标运动信息角度预测模式为垂直预测模式时,则确定所述选择条件为第二选择条件;当目标运动信息角度预测模式为垂直预测模式之外的其他预测模式时,则确定所述选择条件为第一选择条件。
若当前块的尺寸满足:高小于预设尺寸参数,宽大于预设尺寸参数,当目标运动信息角度预测模式为水平预测模式时,则确定所述选择条件为第二选择条件;当目标运动信息角度预测模式为水平预测模式之外的其他预测模式时,则确定所述选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽等于预设尺寸参数,或者高等于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第一选择条件。
参见后续实施例中的表1所示,以预设尺寸参数为8为例,表1中的“单向”表示选择条件为第一选择条件,即不允许是双向运动信息,表1中的“双向”表示选择条件为第二选择条件,即允许是双向运动信息。
步骤6042,根据目标运动信息角度预测模式和当前块的尺寸,确定当前块的子区域划分信息,即子区域划分信息表示将当前块划分为子区域的方式。
示例性的,当目标运动信息角度预测模式为水平向上预测模式、水平向下预测模式或者垂直向右预测模式时,若当前块的宽大于等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,或者,当前块的高小于预设尺寸参数,则子区域的大小为4*4。
当目标运动信息角度预测模式为水平预测模式时,若当前块的宽大于预设尺寸参数,则子区域的大小为当前块的宽*4,或者,子区域的大小为4*4;若当前块的宽等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,则子区域的大小为4*4。
当目标运动信息角度预测模式为垂直预测模式时,若当前块的高大于预设尺寸参数,则子区域的大小为4*当前块的高,或者,子区域的大小为4*4;若当前块的高等于预设尺寸参数,且当前块的宽大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的高小于预设尺寸参数,则子区域的大小为4*4。
参见后续实施例中的表1所示,以预设尺寸参数为8为例。
在一个例子中,当前块的尺寸、运动信息角度预测模式、子区域的大小、子区域的方向(单向表示第一选择条件,即不允许是双向运动信息,双向表示第二选择条件,即允许是双向运动信息)可以参见下表1所示。
表1
Figure BDA0001986017300000201
Figure BDA0001986017300000211
在一个例子中,当目标运动信息角度预测模式为水平预测模式时,若当前块的宽大于8,则子区域的大小也可以为当前块的4*4。
在一个例子中,当目标运动信息角度预测模式为垂直预测模式时,若当前块的高大于8,则子区域的大小也可以为4*4。
步骤6043,根据目标运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择预配置角度指向的周边匹配块。
例如,针对水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式中的任意一种运动信息角度预测模式,均可以获知该运动信息角度预测模式对应的预配置角度。在获知预配置角度后,就可以从当前块的周边块中选择该预配置角度指向的周边匹配块,对此不做限制。
步骤6044,根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定当前块的运动信息。例如,根据所述子区域划分信息将当前块划分为至少一个子区域;针对当前块的每个子区域,根据目标运动信息角度预测模式从当前块的周边匹配块中选择与该子区域对应的周边匹配块,并根据该子区域对应的周边匹配块的运动信息和选择条件,确定该子区域的运动信息。然后,将所述至少一个子区域的运动信息确定为所述当前块的运动信息。
根据目标运动信息角度预测模式从当前块的周边匹配块中选择与该子区域对应的周边匹配块,可以包括但不限于:根据目标运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择预配置角度指向的周边匹配块。
例如,参见上述实施例,假设根据所述子区域划分信息将当前块划分为子区域1和子区域2。针对子区域1,可以根据目标运动信息角度预测模式(如水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式等)从当前块的周边匹配块中选择与子区域1对应的周边匹配块1。假设周边匹配块1存储的是双向运动信息,包括前向运动信息和后向运动信息,若子区域1的选择条件为第一选择条件,则可以将周边匹配块1对应的前向运动信息或者后向运动信息作为子区域1的运动信息。若子区域1的选择条件为第二选择条件,则可以将周边匹配块1对应的双向运动信息,包括前向运动信息和后向运动信息作为子区域1的运动信息。
针对子区域2,可以根据目标运动信息角度预测模式从当前块的周边匹配块中选择与子区域2对应的周边匹配块2。假设周边匹配块2存储的是单向运动信息,则将周边匹配块2对应的单向运动信息作为子区域2的运动信息。然后,可以将子区域1的运动信息和子区域2的运动信息都确定为当前块的运动信息。
在一个例子中,可以将子区域1的运动信息,以及子区域2的运动信息按照4*4子块大小进行存储。
在另一例子中,根据目标运动信息角度预测模式确定当前块的运动信息,包括:根据当前块的尺寸,确定当前块的用于获取运动信息的选择条件;所述选择条件为第二选择条件,第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息(允许单向运动信息、双向运动信息中的前向运动信息、双向运动信息中的后向运动信息)。例如,若当前块的尺寸满足:宽大于等于预设尺寸参数(根据经验配置,如8等),高大于等于预设尺寸参数,则直接确定所述选择条件为第二选择条件,与目标运动信息角度预测模式无关。
然后,根据当前块的尺寸,确定当前块的子区域划分信息。例如,若当前块的尺寸满足:宽大于等于预设尺寸参数(根据经验配置,如8等),高大于等于预设尺寸参数,则子区域的大小为8*8,与目标运动信息角度预测模式无关。
然后,根据目标运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择预配置角度指向的周边匹配块。例如,在获知预配置角度后,就可以从当前块的周边块中选择该预配置角度指向的周边匹配块,对此不做限制。
然后,根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息。例如,根据所述子区域划分信息将当前块划分为至少一个子区域;针对当前块的每个子区域,根据目标运动信息角度预测模式从当前块的周边匹配块中选择与该子区域对应的周边匹配块,并根据该子区域对应的周边匹配块的运动信息和选择条件,确定该子区域的运动信息。然后,将所述至少一个子区域的运动信息确定为所述当前块的运动信息。
实施例3:基于与上述方法同样的申请构思,参见图7所示,为本申请实施例的编解码方法的流程示意图,该方法可以应用于解码端,该方法可以包括:
步骤701,解码端创建与当前块对应的运动信息预测模式候选列表,运动信息预测模式候选列表包括多个运动信息预测模式,如运动信息角度预测模式。
运动信息角度预测模式包括但不限于以下之一或者任意组合:水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式。当然,上述只是几个示例,还可以有其它类型的运动信息角度预测模式。
示例性的,解码端的运动信息预测模式候选列表与编码端的运动信息预测模式候选列表相同,即二者的运动信息角度预测模式的顺序完全相同。
示例性的,步骤701的实现过程可以参见步骤601,在此不再赘述。
步骤702,解码端对运动信息预测模式候选列表中的多个运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式。为了区分方便,可以将查重后的运动信息角度预测模式称为候选运动信息角度预测模式。
示例性的,步骤702的实现过程可以参见步骤602,在此不再赘述。
步骤703,解码端从运动信息预测模式候选列表的每个候选运动信息角度预测模式中选择一个候选运动信息角度预测模式,并将选择的所述候选运动信息角度预测模式确定为当前块对应的目标运动信息角度预测模式。
示例性的,针对步骤703的处理过程,该过程可以包括以下步骤:
步骤b1、解码端从编码比特流中获取指示信息,该指示信息用于指示目标运动信息角度预测模式在运动信息预测模式候选列表的索引信息。
示例性的,编码端在向解码端发送编码比特流时,该编码比特流可以携带指示信息,该指示信息用于指示目标运动信息角度预测模式在运动信息预测模式候选列表中的索引信息。例如,假设运动信息预测模式候选列表依次包括水平预测模式、水平向下预测模式、垂直向右预测模式,且水平预测模式是目标运动信息角度预测模式,则该指示信息用于指示索引信息1,而索引信息1可以表示运动信息预测模式候选列表的第一个候选运动信息角度预测模式。
步骤b2、解码端从运动信息预测模式候选列表中选择与该索引信息对应的候选运动信息角度预测模式,并将选择的候选运动信息角度预测模式,确定为当前块对应的目标运动信息角度预测模式。例如,当指示信息用于指示索引信息1时,则解码端可以将运动信息预测模式候选列表中的第1个候选运动信息角度预测模式,确定为当前块对应的目标运动信息角度预测模式。
步骤704,解码端根据目标运动信息角度预测模式对当前块进行解码。
示例性的,解码端可以根据目标运动信息角度预测模式确定当前块内的每个子区域的运动信息,利用每个子区域的运动信息对该子区域进行运动补偿。
示例性的,步骤704的实现过程可以参见步骤604,在此不再赘述。
实施例4:基于与上述方法同样的申请构思,本申请实施例中还提出了另一种编解码方法,该编解码方法可以应用于编码端,该方法可以包括:
步骤c1、编码端创建与当前块对应的运动信息预测模式候选列表,该运动信息预测模式候选列表包括多个运动信息角度预测模式、运动信息非角度预测模式(即与运动信息角度预测模式不同类型的运动信息预测模式)。
步骤c1的实现过程可以参见步骤601,与步骤601不同的是,运动信息预测模式候选列表除了包括水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式,还包括运动信息非角度预测模式,对运动信息非角度预测模式不做限制,与运动信息角度预测模式不同即可。
步骤c2、编码端对运动信息预测模式候选列表中的多个运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式。为了区分方便,可以将查重后的运动信息角度预测模式称为候选运动信息角度预测模式。
示例性的,步骤c2的实现过程可以参见步骤602,在此不再重复赘述。
步骤c3、编码端对待查重的候选运动信息角度预测模式与待查重的帧间预测模式(即除运动信息角度预测模式之外的待查重帧间预测模式,可以是运动信息非角度预测模式)进行查重处理,得到查重后的运动信息预测模式。
示例性的,参见上述步骤602,在对多个运动信息角度预测模式进行查重处理后,候选运动信息角度预测模式可以包括:水平预测模式、水平向下预测模式、垂直向右预测模式。然后,从水平预测模式、水平向下预测模式、垂直向右预测模式中,确定待查重的候选运动信息角度预测模式,具体确定方式参见步骤602。显然,水平预测模式是待查重的运动信息角度预测模式,而水平向下预测模式和垂直向右预测模式,不是待查重的运动信息角度预测模式。
综上所述,预测模式候选列表中的候选运动信息角度预测模式,可以包括第一部分运动信息角度预测模式和第二部分运动信息角度预测模式。所述第一部分运动信息角度预测模式为未查重的运动信息角度预测模式,例如,水平向下预测模式和垂直向右预测模式。所述第二部分运动信息角度预测模式包括查重的运动信息角度预测模式中去除重复后的运动信息角度预测模式,例如,水平预测模式。显然,上述待查重的候选运动信息角度预测模式(即二次查重的运动信息角度预测模式),可以为第二部分运动信息角度预测模式。
运动信息预测模式候选列表包括运动信息非角度预测模式(也称为非角度帧间预测模式),非角度帧间预测模式的数量为一个或多个,以多个为例。针对待查重的帧间预测模式,可以是当前块对应的所有非角度帧间预测模式中的任意一个,或者,当前块对应的部分非角度帧间预测模式中的任意一个。
针对待查重的候选运动信息角度预测模式的任意一个,如水平预测模式,则获取候选运动信息角度预测模式的运动信息。若候选运动信息角度预测模式的运动信息与一个待查重的帧间预测模式的运动信息相同,则确定候选运动信息角度预测模式与待查重的帧间预测模式重复,从运动信息预测模式候选列表中去除候选运动信息角度预测模式或者待查重的帧间预测模式。若候选运动信息角度预测模式的运动信息与待查重的帧间预测模式的运动信息不同,则确定候选运动信息角度预测模式与待查重的帧间预测模式不重复,在运动信息预测模式候选列表中保留候选运动信息角度预测模式和待查重的帧间预测模式。
步骤c4、编码端从查重后的运动信息预测模式候选列表的每个运动信息预测模式(如运动信息角度预测模式、运动信息非角度预测模式)中选择一个运动信息预测模式,将选择的运动信息预测模式确定为当前块的目标运动信息预测模式。
示例性的,步骤c4的实现过程可以参见步骤603,与步骤603不同的是,在步骤603中,是基于每个运动信息角度预测模式的代价值进行比较,选择代价值小的运动信息角度预测模式作为目标运动信息预测模式,而在步骤c4中,是基于所有查重后的运动信息预测模式(如运动信息角度预测模式、运动信息非角度预测模式)的代价值进行比较,选择代价值小的运动信息预测模式作为目标运动信息预测模式,即目标运动信息预测模式可能是运动信息角度预测模式,也可能是运动信息非角度预测模式,在此不再重复赘述。
步骤c5、编码端根据目标运动信息预测模式对当前块进行运动补偿。
若目标运动信息预测模式是运动信息角度预测模式,则编码端根据运动信息角度预测模式确定当前块内的每个子区域的运动信息,并利用每个子区域的运动信息对该子区域进行运动补偿。若目标运动信息预测模式是运动信息非角度预测模式,则编码端根据运动信息非角度预测模式确定当前块内的每个子区域的运动信息,并利用每个子区域的运动信息对该子区域进行运动补偿。
示例性的,步骤c5的实现过程可以参见步骤604,在此不再重复赘述。
实施例5:基于与上述方法同样的申请构思,本申请实施例中还提出了另一种编解码方法,该编解码方法可以应用于解码端,该方法可以包括:
步骤d1、解码端创建与当前块对应的运动信息预测模式候选列表,该运动信息预测模式候选列表包括多个运动信息角度预测模式、运动信息非角度预测模式(即与运动信息角度预测模式不同类型的运动信息预测模式)。
步骤d2、解码端对运动信息预测模式候选列表中的多个运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式。为了区分方便,可以将查重后的运动信息角度预测模式称为候选运动信息角度预测模式。
步骤d3、解码端对待查重的候选运动信息角度预测模式与待查重的帧间预测模式(即除运动信息角度预测模式之外的待查重帧间预测模式,可以是运动信息非角度预测模式)进行查重处理,得到查重后的运动信息预测模式。
步骤d4、解码端从运动信息预测模式候选列表的每个运动信息预测模式(如运动信息角度预测模式、运动信息非角度预测模式)中选择一个运动信息预测模式,将选择的运动信息预测模式确定为当前块的目标运动信息预测模式。
步骤d5、解码端根据目标运动信息预测模式对当前块进行运动补偿。
示例性的,步骤d1-步骤d5的实现可以参见步骤c1-步骤c5,在此不再赘述。
实施例6:基于与上述方法同样的申请构思,本申请实施例提出另一种编解码方法,可以应用于编码端或者解码端。参见图8所示,当前块的周边块可以包括周边块A1、周边块A2、...、周边块Am、周边块Am+1、...、周边块Am+n、周边块Am+n+1、周边块Am+n+2、...、周边块A2m+n+1、周边块A2m+n+2、...、周边块A2m+2n+1。综上所述,当前块的周边块可以包括但不限于与当前块相邻的块,与当前块非相邻的块,甚至包括其它相邻帧中的块,对此不做限制。
参见图8所示,当前块的宽和高分别为W和H,即当前块的宽度值为W,当前块的高度值为H,周边块的运动信息按照4x4的最小单位进行保存。
在实施例6中,通过几个具体应用场景对上述实施例的查重过程进行说明。
基于图8所示,以下结合几个具体应用场景对编解码方法进行说明。
应用场景1:m和n的大小分别为W/4和H/4,令i为[1,m]中的任意整数,令j=i+step,1<=step<=Max(m,n),step为遍历步长,为整数,Max(m,n)为m和n中的最大值,令k为[2m+n+2,2m+2n+1]中任意整数。基于此,进行比较过程:
步骤e1、判断j是否大于k,如果大于,则退出比较过程,否则执行步骤e2。
步骤e2、将周边块Ai的运动信息与周边块Aj的运动信息进行比较。
示例性的,如果周边块Ai的运动信息与周边块Aj的运动信息相同,则可以将周边块Ai的Diff[i]记为0;如果周边块Ai的运动信息与周边块Aj的运动信息不同,则可以将周边块Ai的Diff[i]记为1。在步骤e2之后,执行步骤e3。
步骤e3、令i=j,j=j+step,step的值为[1,Max(m,n)]中的任意一个整数,step的值每次可以相同,step的值每次也可以不同,然后返回步骤e1。
经过上述处理,在退出比较过程后,可以根据比较结果(即Diff的值)对运动信息预测模式候选列表中的运动信息角度预测模式进行查重处理。
对于水平预测模式,则对i属于区间[m+1,m+n]中任意j个Diff[i]值进行判断,1<=j<=n,如果任意j个Diff值全为0,则记mode[0]=0,其含义是运动信息全都相同,运动信息M[0]记为Ak,k为区间[m+1,m+n]中任意一个整数;否则,记mode[0]=1,其含义是运动信息不全相同。
对于垂直预测模式,则对i属于区间[m+n+2,2m+n+1]中任意j个Diff[i]值进行判断,1<=j<=m,如果任意j个Diff值全为0,则记mode[1]=0,运动信息M[1]记为Ak,k为区间[m+n+2,2m+n+1]中任意一个整数;否则,记mode[1]=1。
对于水平向上预测模式,对i属于区间[m+1,2m+n+1]中任意j个Diff[i]值进行判断,1<=j<=m+n+1,如果任意j个Diff值全为0,则记mode[2]=0,运动信息M[2]记为Ak,k为区间[m+1,2m+n+1]中任意一个整数;否则,记mode[2]=1。
对于水平向下预测模式,则对i属于区间[1,m+n]中任意j个Diff[i]值进行判断,1<=j<=m+n,如果任意j个Diff值全为0,则记mode[3]=0,运动信息M[3]记为Ak,k为区间[1,m+n]中任意一个整数;否则,记mode[3]=1。
对于垂直向右预测模式,对i属于区间[m+n+2,2m+2n+1]中任意j个Diff[i]值进行判断,1<=j<=m+n,如果任意j个Diff值全为0,记mode[4]=0,运动信息M[4]记为Ak,k为区间[m+n+2,2m+2n+1]中任意整数;否则记mode[4]=1。
经过上述处理,若运动信息角度预测模式的mode值为0,则该运动信息角度预测模式是待查重的运动信息角度预测模式。基于此,先找到所有mode值为0的运动信息角度预测模式,如mode[0]=0、mode[1]=0、mode[2]=0,则水平预测模式、垂直预测模式、水平向上预测模式是待查重的运动信息角度预测模式。然后,比较运动信息M[0]与运动信息M[1]是否相同,如果相同,则说明水平预测模式与垂直预测模式重复,如果不同,则说明水平预测模式与垂直预测模式不重复。同理,比较运动信息M[0]与运动信息M[2]是否相同,如果相同,则说明水平预测模式与水平向上预测模式重复,如果不同,则说明水平预测模式与水平向上预测模式不重复。以此类推,对此是否重复的确定不再赘述。
应用场景2:当前块的宽度W大于等于32,高度H大于等于32,m和n的大小为W/4和H/4。令i=W/16,j=i+step,step=W/16,进行如下比较过程:
步骤f1、判断j是否大于2m+2n+1,若是退出比较过程,否则执行步骤f2。
步骤f2、将周边块Ai的运动信息与周边块Aj的运动信息进行比较。
示例性的,如果周边块Ai的运动信息与周边块Aj的运动信息相同,则可以将周边块Ai的Diff[i]记为0;如果周边块Ai的运动信息与周边块Aj的运动信息不同,则可以将周边块Ai的Diff[i]记为1。在步骤f2之后,执行步骤f3。
步骤f3、判断m<=j<m+n是否成立,如果成立,则step=H/16;否则,还可以判断m+n<=j<m+n+2是否成立。如果成立,则step=1;否则,进一步判断m+n+2<=j<2m+n+1是否成立。如果成立,则step=W/16;否则判断2m+n+1<=j<2m+2n+1是否成立。如果成立,则step=H/16;否则,step保持不变。
步骤f4、令i=j,j=j+step,然后,返回步骤f1进行处理。
经过上述处理,在退出比较过程后,可以根据比较结果(即Diff的值)对运动信息预测模式候选列表中的运动信息角度预测模式进行查重处理。
对于水平预测模式,则可以对多个Diff[i]的值进行判断。示例性的,i的取值可以为m+n-H/16、m+n-H/8和m+n-H/16*3。如果这些Diff的值全为0,则可以记mode[0]=0,运动信息M[0]可以记为Am+n;否则,记mode[0]=1。
对于垂直预测模式,则可以对多个Diff[i]的值进行判断。示例性的,i的取值可以为m+n+2、m+n+2+W/16和m+n+2+W/8。如果这些Diff的值全为0,则可以记mode[1]=0,运动信息M[1]可以记为Am+n+2;否则,记mode[1]=1。
对于水平向上预测模式,则对多个Diff[i]的值进行判断。i的取值可以为m+n-H/8、m+n-H/16、m+n、m+n+1、m+n+2、m+n+2+W/16。如果这些Diff的值全为0,则记mode[2]=0,运动信息M[2]记为Am+n+1;否则记mode[2]=1。
对于水平向下预测模式,则可以对多个Diff[i]的值进行判断。示例性的,i的取值可以为W/16、W/8、W/16*3、m、m+H/16和m+H/8。如果这些Diff的值全为0,则记mode[3]=0,运动信息M[3]记为Am;否则记mode[3]=1。
对于垂直向右预测模式,则可以对多个Diff[i]的值进行判断。示例性的,i的取值可以为m+n+2+W/16、m+n+2+W/8、m+n+2+W/16*3、2m+n+2、2m+n+2+H/16和2m+n+2+H/8。如果这些Diff的值全为0,则可以记mode[4]=0,并且,运动信息M[4]可以记为A2m+n+2;否则,可以记mode[4]=1。
基于此,先找到所有mode值为0的运动信息角度预测模式,如mode[0]=0、mode[1]=0、mode[2]=0。然后,比较运动信息M[0]与运动信息M[1]是否相同,如果相同,则说明水平预测模式与垂直预测模式重复,如果不同,则说明水平预测模式与垂直预测模式不重复,以此类推,对此是否重复的确定不再赘述。
应用场景3:当前块的宽度W大于等于32,高度H小于32,m和n的大小为W/4和H/4。令i=W/16,j=i+step,step=W/16,进行如下比较过程:
步骤g1、判断j是否大于2m+2n+1,若是退出比较过程,否则执行步骤g2。
步骤g2、将周边块Ai的运动信息与周边块Aj的运动信息进行比较。
示例性的,如果周边块Ai的运动信息与周边块Aj的运动信息相同,则可以将周边块Ai的Diff[i]记为0;如果周边块Ai的运动信息与周边块Aj的运动信息不同,则可以将周边块Ai的Diff[i]记为1。在步骤g2之后,执行步骤g3。
步骤g3、判断m<=j<m+n+2是否成立,如果成立,则step=1;否则,判断m+n+2<=j<2m+n+1是否成立。如果成立,则step=W/16;否则,判断2m+n+1<=j<2m+2n+1是否成立,如果成立,则step=1;否则,step保持不变。
步骤g4、令i=j,j=j+step,然后,返回步骤g1进行处理。
经过上述处理,在退出比较过程后,可以根据比较结果(即Diff的值)对运动信息预测模式候选列表中的运动信息角度预测模式进行查重处理。
对于水平预测模式,则对多个Diff[i]的值进行判断,示例性的,i的取值可以为[m+1,m+n-1]中的整数,如果没有满足条件的i取值,或者这些Diff的值全为0,则记mode[0]=0,运动信息M[0]记为Am+n;否则记mode[0]=1。
对于垂直预测模式,则对多个Diff[i]的值进行判断,示例性的,i的取值可以为m+n+2、m+n+2+W/16和m+n+2+W/8。如果这些Diff的值全为0,则记mode[1]=0,运动信息M[1]记为Am+n+2;否则记mode[1]=1。
对于水平向上预测模式,则对多个Diff[i]的值进行判断,i的取值可以为m+n+2、m+n+2+W/16以及[m+2,m+n+1]中的每一整数。如果这些Diff的值全为0,则记mode[2]=0,运动信息M[2]记为Am+n+1;否则记mode[2]=1。
对于水平向下预测模式,则对多个Diff[i]的值进行判断,示例性的,i的取值为W/16、W/8、W/16*3以及[m,m+n-2]中的每一整数。如果这些Diff的值全为0,则记mode[3]=0,运动信息M[3]记为Am;否则记mode[3]=1。
对于垂直向右预测模式,则可以对多个Diff[i]的值进行判断,示例性的,i的取值可以为m+n+2+W/16、m+n+2+W/8、m+n+2+W/16*3以及[2m+n+2,2m+2n]中的每一个整数。示例性的,如果这些Diff值全为0,则可以记mode[4]=0,并且,运动信息M[4]可以记为A2m+n+2;否则,可以记mode[4]=1。
基于此,先找到所有mode值为0的运动信息角度预测模式,如mode[0]=0、mode[1]=0、mode[2]=0。然后,比较运动信息M[0]与运动信息M[1]是否相同,如果相同,则说明水平预测模式与垂直预测模式重复,如果不同,则说明水平预测模式与垂直预测模式不重复,以此类推,对此是否重复的确定不再赘述。
应用场景4:当前块的宽度W小于32,高度H大于等于32,m和n的大小为W/4和H/4。令i=1,j=i+step,step=1,基于此,可以进行如下比较过程:
步骤h1、判断j是否大于2m+2n+1,若是退出比较过程,否则执行步骤h2。
步骤h2、将周边块Ai的运动信息与周边块Aj的运动信息进行比较。
示例性的,如果周边块Ai的运动信息与周边块Aj的运动信息相同,则可以将周边块Ai的Diff[i]记为0;如果周边块Ai的运动信息与周边块Aj的运动信息不同,则可以将周边块Ai的Diff[i]记为1。在步骤h2之后,执行步骤h3。
步骤h3、判断m<=j<m+n是否成立,如果成立,则step=H/16;否则,可以判断m+n<=j<m+n+2是否成立;如果成立,则step=1;否则,示例性的判断m+n+2<=j<2m+n+1是否成立。如果成立,则step=1;否则,判断2m+n+1<=j<2m+2n+1是否成立。如果成立,则step=H/16;否则,step保持不变。
步骤h4、令i=j,j=j+step,然后,返回步骤h1进行处理。
经过上述处理,在退出比较过程后,可以根据比较结果(即Diff的值)对运动信息预测模式候选列表中的运动信息角度预测模式进行查重处理。
对于水平预测模式,则可以对多个Diff[i]的值进行判断。示例性的,i的取值可以为m+n-H/16、m+n-H/8和m+n-H/16*3。如果这些Diff的值全为0,则可以记mode[0]=0,运动信息M[0]记为Am+n;否则,可以记mode[0]=1。
对于垂直预测模式,则可以对多个Diff[i]的值进行判断。示例性的,i的取值可以为[m+n+2,2m+n]中的所有整数。如果这些Diff的值全为0,则记mode[1]=0,运动信息M[1]可以记为Am+n+2;否则,可以记mode[1]=1。
对于水平向上预测模式,则对多个Diff[i]的值进行判断。i的取值为m+n-H/8、m+n-H/16、m+n、[m+n+1,2m+n-1]中的所有整数值。如果这些Diff值全为0,则记mode[2]=0,运动信息M[2]记为Am+n+1;否则记mode[2]=1。
对于水平向下预测模式,则可以对多个Diff[i]的值进行判断。示例性的,i的取值可以为m、m+H/16、m+H/8以及[1,m-1]中所有整数值。如果这些Diff的值全为0,则可以记mode[3]=0,运动信息M[3]记为Am;否则记mode[3]=1。
对于垂直向右预测模式,对多个Diff[i]的值进行判断,i的取值为2m+n+2、2m+n+2+H/16、2m+n+2+H/8、[m+n+3,2m+n+1]中所有整数值。如果这些Diff的值全为0,则记mode[4]=0,运动信息M[4]记为A2m+n+2;否则,记mode[4]=1。
基于此,先找到所有mode值为0的运动信息角度预测模式,如mode[0]=0、mode[1]=0、mode[2]=0。然后,比较运动信息M[0]与运动信息M[1]是否相同,如果相同,则说明水平预测模式与垂直预测模式重复,如果不同,则说明水平预测模式与垂直预测模式不重复,以此类推,对此是否重复的确定不再赘述。
应用场景5:当前块的宽度W小于32,高度H小于32,m和n的大小分别为W/4和H/4。令i=1,j=i+step,step=1,基于此,可以进行如下比较过程:
步骤s1、判断j是否大于2m+2n+1,若是退出比较过程,否则执行步骤s2。
步骤s2、将周边块Ai的运动信息与周边块Aj的运动信息进行比较。
示例性的,如果周边块Ai的运动信息与周边块Aj的运动信息相同,则可以将周边块Ai的Diff[i]记为0;如果周边块Ai的运动信息与周边块Aj的运动信息不同,则可以将周边块Ai的Diff[i]记为1。在步骤s2之后,执行步骤s3。
步骤s3、令i=j,j=j+step,然后,返回步骤s1进行处理。
经过上述处理,在退出比较过程后,可以根据比较结果(即Diff的值)对运动信息预测模式候选列表中的运动信息角度预测模式进行查重处理。
对于水平预测模式,则可以对多个Diff[i]的值进行判断,示例性的,i的取值可以为[m+1,m+n-1]中的所有整数。如果这些Diff的值全为0,则可以记mode[0]=0,运动信息M[0]可以记为Am+n;否则记mode[0]=1。
对于垂直预测模式,则可以对多个Diff[i]的值进行判断,示例性的,i的取值为[m+n+2,2m+n]中的所有整数。如果这些Diff的值全为0,则可以记mode[1]=0,运动信息M[1]记为Am+n+2;否则记mode[1]=1。
对于水平向上预测模式,则可以对多个Diff[i]的值进行判断,示例性的,i的取值可以为[m+2,2m+n-1]中的所有整数。如果这些Diff的值全为0,则可以记mode[2]=0,运动信息M[2]记为Am+n+1;否则记mode[2]=1。
对于水平向下预测模式,则可以对多个Diff[i]的值进行判断,示例性的,i的取值可以为[1,m+n-2]中的所有整数。如果这些Diff的值全为0,则可以记mode[3]=0,运动信息M[3]可以记为Am;否则记mode[3]=1。
对于垂直向右预测模式,则可以对多个Diff[i]的值进行判断,示例性的,i的取值可以为[m+n+3,2m+2n]中的所有整数。如果这些Diff的值全为0,则可以记mode[4]=0,运动信息M[4]可以记为A2m+n+2;否则记mode[4]=1。
基于此,先找到所有mode值为0的运动信息角度预测模式,如mode[0]=0、mode[1]=0、mode[2]=0。然后,比较运动信息M[0]与运动信息M[1]是否相同,如果相同,则说明水平预测模式与垂直预测模式重复,如果不同,则说明水平预测模式与垂直预测模式不重复,以此类推,对此是否重复的确定不再赘述。
实施例7:基于与上述方法同样的申请构思,本申请实施例中提出另一种编解码方法,可以应用于编码端或者解码端。在一个例子中,若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据该运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息确定当前块的预测值。
示例性的,根据该运动信息角度预测模式,确定当前块的运动信息,包括:根据运动信息角度预测模式和当前块的尺寸,确定当前块的用于获取运动信息的选择条件;其中,所述选择条件为第一选择条件或者第二选择条件,第一选择条件为从周边匹配块的运动信息中选择的运动信息不允许是双向运动信息,第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息。根据运动信息角度预测模式和当前块的尺寸,确定当前块的子区域划分信息。根据运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择预配置角度指向的周边匹配块。根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定当前块的运动信息。
不允许是双向运动信息包括:如果周边匹配块的运动信息是单向运动信息,允许选择周边匹配块的单向运动信息作为当前块或者子区域的运动信息;如果周边匹配块的运动信息是双向运动信息,允许选择周边匹配块的双向运动信息中的前向运动信息或者后向运动信息作为当前块或者子区域的运动信息。
允许是双向运动信息包括:如果周边匹配块的运动信息是单向运动信息,允许选择周边匹配块的单向运动信息作为当前块或者子区域的运动信息;如果周边匹配块的运动信息是双向运动信息,允许选择周边匹配块的双向运动信息作为当前块或者子区域的运动信息。
示例性的,根据运动信息角度预测模式和当前块的尺寸,确定当前块的用于获取运动信息的选择条件,可以包括但不限于:若当前块的尺寸满足:宽大于等于预设尺寸参数,高大于等于预设尺寸参数,针对任一运动信息角度预测模式,则确定选择条件为第二选择条件。若当前块的尺寸满足:宽小于预设尺寸参数,高大于预设尺寸参数,当运动信息角度预测模式为垂直预测模式时,确定选择条件为第二选择条件;当运动信息角度预测模式为垂直预测模式之外的其他预测模式时,确定选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽大于预设尺寸参数,当运动信息角度预测模式为水平预测模式时,确定选择条件为第二选择条件;当运动信息角度预测模式为水平预测模式之外的其他预测模式时,确定选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽等于预设尺寸参数,或者高等于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,确定选择条件为第一选择条件。
在一个例子中,根据所述运动信息角度预测模式和当前块的尺寸,确定所述当前块的子区域划分信息,可以包括但不限于:
当运动信息角度预测模式为水平向上预测模式、水平向下预测模式或者垂直向右预测模式时,若当前块的宽大于等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,或者,当前块的高小于预设尺寸参数,则子区域的大小为4*4;
当运动信息角度预测模式为水平预测模式时,若当前块的宽小于预设尺寸参数,则子区域的大小为4*4,当前块的高可以大于预设尺寸参数,可以等于预设尺寸参数,也可以小于预设尺寸参数;若当前块的宽大于预设尺寸参数,则子区域的大小为当前块的宽*4,或者,子区域的大小为4*4,当前块的高可以大于预设尺寸参数,可以等于预设尺寸参数,也可以小于预设尺寸参数;若当前块的宽等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8。
当运动信息角度预测模式为垂直预测模式时,若当前块的高小于预设尺寸参数,则子区域的大小为4*4,当前块的宽可以大于预设尺寸参数,可以等于预设尺寸参数,也可以小于预设尺寸参数;若当前块的高大于预设尺寸参数,则子区域的大小为当前块的4*高,或者,子区域的大小为4*4,当前块的宽可以大于预设尺寸参数,可以等于预设尺寸参数,也可以小于预设尺寸参数;若当前块的高等于预设尺寸参数,且当前块的宽大于等于预设尺寸参数,则子区域的大小为8*8。
在一个例子中,预设尺寸参数可以是8。
在一个例子中,预设尺寸参数是8时,确定当前块的子区域划分和选取条件可以参照表1所示。
在一个例子中,根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息,可以包括但不限于:
根据所述子区域划分信息将所述当前块划分为至少一个子区域;
针对所述当前块的每个子区域,根据所述运动信息角度预测模式从所述当前块的周边匹配块中选择与该子区域对应的周边匹配块,并根据该子区域对应的周边匹配块的运动信息和所述选择条件,确定该子区域的运动信息;
将所述至少一个子区域的运动信息确定为所述当前块的运动信息。
在一个例子中,根据运动信息角度预测模式,确定当前块的运动信息,包括:根据当前块的尺寸,确定当前块的用于获取运动信息的选择条件;所述选择条件为第二选择条件,所述第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息;根据所述当前块的尺寸,确定所述当前块的子区域划分信息;所述当前块的子区域划分信息包括:所述当前块的子区域的大小为8*8。根据所述运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择预配置角度指向的周边匹配块;根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息。
在一个例子中,确定当前块的目标运动信息预测模式之前,还可以获取当前块的运动信息预测模式,运动信息预测模式至少包括运动信息角度预测模式。对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式,也就是说,去除重复的运动信息角度预测模式。
示例性的,对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式,可以包括但不限于:确定待查重的运动信息角度预测模式;对于任意两个待查重的第一运动信息角度预测模式和待查重的第二运动信息角度预测模式,则:可以根据待查重的第一运动信息角度预测模式,确定第一运动信息;以及,根据待查重的第二运动信息角度预测模式,确定第二运动信息;然后,若所述第一运动信息和所述第二运动信息相同,则可以确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复。
在一个例子中,确定待查重的运动信息角度预测模式,可以包括但不限于:对于任一个运动信息角度预测模式,按照该运动信息角度预测模式的预配置角度从当前块的周边块中选择预配置角度指向的周边匹配块;从周边匹配块中选择要遍历的多个周边匹配块;如果遍历的多个周边匹配块的运动信息都相同,则确定该运动信息角度预测模式为待查重的运动信息角度预测模式。
在一个例子中,确定第一运动信息角度预测模式和第二运动信息角度预测模式重复之后,还可以去除重复的第一运动信息角度预测模式;或者,去除重复的第二运动信息角度预测模式。
在一个例子中,在对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式之后,还可以从查重后的运动信息角度预测模式中确定二次查重的运动信息角度预测模式;示例性的,所述查重后的运动信息角度预测模式,可以包括第一部分运动信息角度预测模式和第二部分运动信息角度预测模式,第一部分运动信息角度预测模式可以为未查重的运动信息角度预测模式,第二部分运动信息角度预测模式可以包括查重的运动信息角度预测模式中去除重复后的运动信息角度预测模式,所述二次查重的运动信息角度预测模式,可以为第二部分运动信息角度预测模式。示例性的,对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理,得到查重后的运动信息预测模式。
在一个例子中,对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理的过程,可以包括但不限于:针对所述二次查重的运动信息角度预测模式中的任意一个,则获取该运动信息角度预测模式的运动信息;示例性的,若该运动信息角度预测模式的运动信息与一个待查重帧间预测模式的运动信息相同,则可以确定该运动信息角度预测模式与该待查重帧间预测模式重复。
在一个例子中,所述待查重帧间预测模式,可以是当前块对应的所有非角度帧间预测模式中的任意一个,或者,所述待查重帧间预测模式,还可以是当前块对应的部分非角度帧间预测模式中的任意一个,对此不做限制。
在一个例子中,对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式之后,还可以确定当前块的目标运动信息预测模式;若目标运动信息预测模式为运动信息角度预测模式,则根据运动信息角度预测模式确定当前块的运动信息;根据当前块的运动信息确定当前块的预测值。
以下结合几个具体实施例,对上述实施例中的运动补偿过程进行说明。
实施例8:参见图9A所示,当前块的宽度W(4)乘以当前块的高度H(8)小于等于32,针对当前块内的每个4*4的子区域,按照一定角度进行单向运动补偿(Uni),不允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则不是将双向运动信息确定为子区域的运动信息,而是将双向运动信息中的前向运动信息或者后向运动信息确定为子区域的运动信息。
参见表1所示,实施例8是针对表1中宽*高小于等于32的示例,针对任意的角度预测模式,子块划分尺寸为4*4,选择条件为单向。
根据图9A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为水平模式时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A1的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A2的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。
根据图9A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为垂直模式时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块B1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块B1的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块B1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块B1的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。
根据图9A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为水平向上时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块E,根据E的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块E的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块E的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A1的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。
根据图9A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为水平向下时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A2的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A3的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A3的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。
根据图9A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为水平向下时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块B2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块B2的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块B3的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块B3的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。
实施例9:参见图9B所示,当前块的宽度W小于8,当前块的高度H大于8,则可以采用如下方式对当前块内的每个子区域进行运动补偿:
如果角度预测模式为垂直预测模式,将每个4*H的子区域按照垂直角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。
如果角度预测模式为其它角度预测模式(如水平预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式等),针对当前块内的每个4*4的子区域,可以按照一定角度进行单向运动补偿,不允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为子区域的运动信息。
参见表1所示,实施例9是针对表1中宽小于8,高大于8的示例,也即是说,针对垂直预测模式,子块划分尺寸为4*高,选择条件为允许双向。针对其它角度预测模式,子块划分尺寸为4*4,选择条件为单向。
根据图9B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为水平模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A4,根据A4的运动信息,确定该4*4的子区域的运动信息。对于A1至A4中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。
根据图9B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为垂直模式时,可以划分4个尺寸为4*4的子区域,每一个4*4的子区域都对应周边匹配块B1,根据B1的运动信息,确定每一个4*4的子区域的运动信息。若周边匹配块B1的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块B1的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。四个子区域的运动信息都相同,所以在该实施例中也可以不对当前块进行子区域划分,该当前块本身作为一个子区域对应一个周边匹配块B1,根据B1的运动信息,确定当前块的运动信息。
根据图9B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为水平向上模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块E,根据E的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息。对于E至A3中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。
根据图9B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为水平向下模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A5,根据A4的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A5,根据A5的运动信息,确定该4*4的子区域的运动信息。对于A2至A5中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。
根据图9B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为水平向下模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B4,根据B4的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B5,根据B5的运动信息,确定该4*4的子区域的运动信息。对于B2至B5中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。
实施例10:参见图9C所示,当前块的宽度W大于8,当前块的高度H小于8,则可以采用如下方式对当前块内的每个子区域进行运动补偿:
如果角度预测模式为水平预测模式,将每个W*4的子区域按照水平角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。
如果角度预测模式为其它角度预测模式,针对当前块内的每个4*4的子区域,可以按照一定角度进行单向运动补偿,不允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为子区域的运动信息。
参见表1所示,实施例10是针对表1中宽大于8,高小于8的示例,也即是说,针对水平预测模式,子块划分尺寸为宽*4,选择条件为允许双向。针对其它角度预测模式,子块划分尺寸为4*4,选择条件为单向。
根据图9C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为水平模式时,可以划分4个尺寸为4*4的子区域,每一个4*4的子区域都对应周边匹配块A1,根据A1的运动信息,确定每一个4*4的子区域的运动信息。若周边匹配块A1的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块A1的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。四个子区域的运动信息都相同,所以在该实施例中也可以不对当前块进行子区域划分,该当前块本身作为一个子区域对应一个周边匹配块A1,根据A1的运动信息,确定当前块的运动信息。
根据图9C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为垂直模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B4,根据B4的运动信息,确定该4*4的子区域的运动信息。对于B1至B4中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。
根据图9C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为水平向上模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块E,根据E的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息。对于E至B3中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。
根据图9C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为水平向下模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A4,根据A4的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A5,根据A5的运动信息,确定该4*4的子区域的运动信息。对于A2至A5中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。
根据图9C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为垂直向右模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B4,根据B4的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B5,根据B5的运动信息,确定该4*4的子区域的运动信息。对于B2至B5中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。
实施例11:当前块的宽度W等于8,当前块的高度H等于8,则对当前块内的每个8*8的子区域(即子区域就是当前块本身),按照一定角度进行运动补偿,在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。
若子区域对应多个周边匹配块,针对子区域的运动信息,可以按照对应的角度,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。
例如,参见图9D所示,针对水平预测模式,可以选择周边匹配块A1的运动信息,也可以选择周边匹配块A2的运动信息。参见图9E所示,针对垂直预测模式,可以选择周边匹配块B1的运动信息,也可以选择周边匹配块B2的运动信息。参见图9F所示,针对水平向上预测模式,可以选择周边匹配块E的运动信息,选择周边匹配块B1的运动信息,可以选择周边匹配块A1的运动信息。参见图9G所示,针对水平向下预测模式,可以选择周边匹配块A2的运动信息,选择周边匹配块A3的运动信息,可以选择周边匹配块A4的运动信息。参见图9H所示,针对垂直向右预测模式,可以选择周边匹配块B2的运动信息,选择周边匹配块B3的运动信息,可以选择周边匹配块B4的运动信息。
参见表1所示,实施例11是针对表1中宽等于8,高等于8的示例,也即是说,针对任意的角度预测模式,子块划分尺寸为8*8,选择条件为允许双向。
根据图9D,当前块的尺寸为8*8,当前块的目标运动信息预测模式为水平模式时,划分一个尺寸为8*8的子区域,这个子区域对应周边匹配块A1,根据A1的运动信息,确定该子区域的运动信息,若A1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若A1的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,这个子区域对应周边匹配块A2,根据A2的运动信息,确定该子区域的运动信息,若A2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若A2的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。
根据图9E,当前块的尺寸为8*8,当前块的目标运动信息预测模式为垂直模式时,划分一个尺寸为8*8的子区域,这个子区域对应周边匹配块B1,根据B1的运动信息,确定该子区域的运动信息,若B1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若B1的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,这个子区域对应周边匹配块B2,根据B2的运动信息,确定该子区域的运动信息,若B2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若B2的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。
根据图9F,当前块的尺寸为8*8,当前块的目标运动信息预测模式为水平向上模式时,划分尺寸为8*8的子区域,子区域对应周边匹配块E,根据E的运动信息,确定该子区域的运动信息,若E的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若E的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块B1,根据B1的运动信息,确定该子区域的运动信息,若B1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若B1的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块A1,根据A1的运动信息,确定该子区域的运动信息,若A1的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若A1的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。
根据图9G,当前块的尺寸为8*8,当前块的目标运动信息预测模式为水平向下模式时,划分尺寸为8*8的子区域,子区域对应周边匹配块A2,根据A2的运动信息,确定该子区域的运动信息,若A2的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若A2的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块A3,根据A3的运动信息,确定该子区域的运动信息,若A3的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若A3的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块A4,根据A4的运动信息,确定该子区域的运动信息,若A4的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若A4的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。
根据图9H,当前块的尺寸为8*8,当前块的目标运动信息预测模式为垂直向右模式时,划分尺寸为8*8的子区域,子区域对应周边匹配块B2,根据B2的运动信息,确定该子区域的运动信息,若B2的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若B2的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块B3,根据B3的运动信息,确定该子区域的运动信息,若B3的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若B3的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块B4,根据B4的运动信息,确定该子区域的运动信息,若B4的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若B4的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。
实施例12:当前块的宽度W可以大于等于16,当前块的高度H可以等于8,基于此,可以采用如下方式对当前块内的每个子区域进行运动补偿:
如果角度预测模式为水平预测模式,将每个W*4的子区域按照水平角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。
如果角度预测模式为其它角度预测模式,针对当前块内的每个8*8的子区域,按照一定角度进行双向运动补偿。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为子区域的运动信息。针对每个8*8的子区域,若子区域对应多个周边匹配块,针对子区域的运动信息,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。
例如,参见图9I所示,针对水平预测模式,针对第一个W*4的子区域,可以选择周边匹配块A1的运动信息,针对第二个W*4的子区域,可以选择周边匹配块A2的运动信息。参见图9J所示,针对垂直预测模式,针对第一个8*8的子区域,可以选择周边匹配块B1的运动信息,可以选择周边匹配块B2的运动信息。针对第二个8*8的子区域,可以选择周边匹配块B3的运动信息,可以选择周边匹配块B4的运动信息。其它角度预测模式类似,在此不再赘述。
参见表1所示,实施例12是针对表1中宽大于等于16,高等于8的示例,针对水平预测模式,子块划分尺寸为宽*4,选择条件为允许双向。针对其它角度预测模式,子块划分尺寸为8*8,选择条件为允许双向。
根据图9I,当前块的尺寸为16*8,当前块的目标运动信息预测模式为水平模式时,划分2个尺寸为16*4的子区域,其中一个16*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该16*4的子区域的运动信息。另一个16*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该16*4的子区域的运动信息。对于这两个16*4的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。
根据图9J,当前块的尺寸为16*8,当前块的目标运动信息预测模式为垂直模式时,划分2个尺寸为8*8的子区域,其中一个8*8的子区域对应周边匹配块B1或者B2,根据B1或者B2的运动信息,确定该8*8的子区域的运动信息。另一个8*8的子区域对应周边匹配块B3或者B4,根据B3或者B4的运动信息,确定该8*8的子区域的运动信息。对于这两个8*8的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。
实施例13:当前块的宽度W可以等于8,当前块的高度H可以大于等于16,基于此,可以采用如下方式对当前块内的每个子区域进行运动补偿:
如果角度预测模式为垂直预测模式,将每个4*H的子区域按照垂直角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。
如果角度预测模式为其它角度预测模式,针对当前块内的每个8*8的子区域,按照一定角度进行双向运动补偿。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为子区域的运动信息。针对每个8*8的子区域,若子区域对应多个周边匹配块,针对子区域的运动信息,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。
例如,参见图9K所示,针对垂直预测模式,针对第一个4*H的子区域,可以选择周边匹配块B1的运动信息,针对第二个4*H的子区域,可以选择周边匹配块B2的运动信息。参见图9L所示,针对水平预测模式,针对第一个8*8的子区域,可以选择周边匹配块A1的运动信息,可以选择周边匹配块A2的运动信息。针对第二个8*8的子区域,可以选择周边匹配块A1的运动信息,可以选择周边匹配块A2的运动信息。其它角度预测模式类似,在此不再赘述。
参见表1所示,实施例13是针对表1中高大于等于16,宽等于8的示例,针对垂直预测模式,子块划分尺寸为4*高,选择条件为允许双向。针对其它角度预测模式,子块划分尺寸为8*8,选择条件为允许双向。
根据图9K,当前块的尺寸为8*16,当前块的目标运动信息预测模式为垂直模式时,划分2个尺寸为4*16的子区域,其中一个4*16的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*16的子区域的运动信息。另一个4*16的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*16的子区域的运动信息。对于这两个4*16的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。
根据图9L,当前块的尺寸为16*8,当前块的目标运动信息预测模式为水平模式时,划分2个尺寸为8*8的子区域,其中一个8*8的子区域对应周边匹配块A1或者A2,根据对应周边匹配块的运动信息,确定该8*8的子区域的运动信息。另一个8*8的子区域对应周边匹配块A1或者A2,根据对应周边匹配块的运动信息,确定该8*8的子区域的运动信息。对于这两个8*8的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。
实施例14:当前块的宽度W可以大于等于16,当前块的高度H可以大于等于16,基于此,可以采用如下方式对当前块内的每个子区域进行运动补偿:
如果角度预测模式为垂直预测模式,将每个4*H的子区域按照垂直角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。
如果角度预测模式为水平预测模式,将每个W*4的子区域按照水平角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。
如果角度预测模式为其它角度预测模式,针对当前块内的每个8*8的子区域,按照一定角度进行双向运动补偿。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为子区域的运动信息。针对每个8*8的子区域,若子区域对应多个周边匹配块,针对子区域的运动信息,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。
参见图9M所示,针对垂直预测模式,针对第一个4*H的子区域,可以选择周边匹配块B1的运动信息,针对第二个4*H的子区域,可以选择周边匹配块B2的运动信息,针对第三个4*H的子区域,可以选择周边匹配块B3的运动信息,针对第四个4*H的子区域,可以选择周边匹配块B4的运动信息。针对水平预测模式,针对第一个W*4的子区域,选择周边匹配块A1的运动信息,针对第二个W*4的子区域,选择周边匹配块A2的运动信息,针对第三个W*4的子区域,选择周边匹配块A3的运动信息,针对第四个W*4的子区域,选择周边匹配块A4的运动信息。其它角度预测模式类似,在此不再赘述。
参见表1所示,实施例14是针对表1中高大于等于16,宽大于等于16的示例,针对垂直预测模式,子块划分尺寸为4*高,选择条件为允许双向。针对水平预测模式,子块划分尺寸为宽*4,选择条件为允许双向。针对其它角度预测模式,子块划分尺寸为8*8,选择条件为允许双向。
根据图9M,当前块的尺寸为16*16,当前块的目标运动信息预测模式为垂直模式时,划分4个尺寸为4*16的子区域,其中一个4*16的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*16的子区域的运动信息。其中一个4*16的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*16的子区域的运动信息。其中一个4*16的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*16的子区域的运动信息。其中一个4*16的子区域对应周边匹配块B4,根据B4的运动信息,确定该4*16的子区域的运动信息。对于这四个4*16的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。
根据图9M,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平模式时,划分4个尺寸为16*4的子区域,其中一个16*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该16*4的子区域的运动信息。其中一个16*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该16*4的子区域的运动信息。其中一个16*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该16*4的子区域的运动信息。其中一个16*4的子区域对应周边匹配块A4,根据A4的运动信息,确定该16*4的子区域的运动信息。对于这四个16*4的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。
实施例15:当前块的宽度W可以大于等于8,当前块的高度H可以大于等于8,则对当前块内的每个8*8的子区域进行运动补偿。参见图9N所示,针对每个8*8的子区域,若子区域对应多个周边匹配块,针对子区域的运动信息,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。
实施例15中,子块划分尺寸与运动信息角度预测模式无关,无论是哪种运动信息角度预测模式,只要宽大于等于8,高大于等于8,子区域划分尺寸可以为8*8。选择条件与运动信息角度预测模式无关,无论是哪种运动信息角度预测模式,只要宽大于等于8,高大于等于8,选择条件为允许双向。
根据图9N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平模式时,划分4个尺寸为8*8的子区域,其中一个8*8的子区域对应周边匹配块A1或A2,根据A1或A2的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块A1或A2,根据A1或A2的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块A3或A4,根据A3或A4的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块A3或A4,根据A3或A4的运动信息,确定该8*8的子区域的运动信息。对于这四个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。
根据图9N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平模式时,划分4个尺寸为8*8的子区域,其中一个8*8的子区域对应周边匹配块B1或B2,根据B1或B2的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块B1或B2,根据B1或B2的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块B3或B4,根据B3或B4的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块B3或B4,根据B3或B4的运动信息,确定该8*8的子区域的运动信息。对于这四个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。
根据图9N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平向上模式时,划分4个尺寸为8*8的子区域。然后,针对每个8*8的子区域,可以确定该8*8的子区域对应的周边匹配块(E、B2或A2),对此不做限制,并根据周边匹配块的运动信息,确定该8*8的子区域的运动信息。对于每个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。
根据图9N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平向下模式时,划分4个尺寸为8*8的子区域。然后,针对每个8*8的子区域,可以确定该8*8的子区域对应的周边匹配块(A3、A5或A7),对此不做限制,并根据周边匹配块的运动信息,确定该8*8的子区域的运动信息。对于每个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。
根据图9N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为垂直向右模式时,划分4个尺寸为8*8的子区域。然后,针对每个8*8的子区域,可以确定该8*8的子区域对应的周边匹配块(B3、B5或B7),对此不做限制,并根据周边匹配块的运动信息,确定该8*8的子区域的运动信息。对于每个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。
实施例16:基于与上述方法同样的申请构思,本申请实施例提出一种编解码装置,应用于解码端或编码端,如图10A所示,为所述装置的结构图,包括:
获取模块101,用于获取当前块的运动信息预测模式,所述运动信息预测模式至少包括运动信息角度预测模式;处理模块102,用于对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式。
所述处理模块102对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式时具体用于:
确定待查重的运动信息角度预测模式;对于任意两个待查重的第一运动信息角度预测模式和待查重的第二运动信息角度预测模式,则:
根据待查重的第一运动信息角度预测模式,确定第一运动信息;
根据待查重的第二运动信息角度预测模式,确定第二运动信息;
若所述第一运动信息和所述第二运动信息相同,则确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复。
所述处理模块102确定待查重的运动信息角度预测模式时具体用于:
对于任一个运动信息角度预测模式,按照该运动信息角度预测模式的预配置角度从当前块的周边块中选择预配置角度指向的周边匹配块;
从所述周边匹配块中选择要遍历的多个周边匹配块;
如果遍历的多个周边匹配块的运动信息都相同,则确定该运动信息角度预测模式为所述待查重的运动信息角度预测模式。
所述处理模块102确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复之后还用于:去除重复的所述第一运动信息角度预测模式;或者,去除重复的所述第二运动信息角度预测模式。
所述处理模块102对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式之后还用于:从查重后的运动信息角度预测模式中确定二次查重的运动信息角度预测模式;其中,所述查重后的运动信息角度预测模式包括第一部分运动信息角度预测模式和第二部分运动信息角度预测模式,所述第一部分运动信息角度预测模式为未查重的运动信息角度预测模式,所述第二部分运动信息角度预测模式包括查重的运动信息角度预测模式中去除重复后的运动信息角度预测模式,所述二次查重的运动信息角度预测模式为所述第二部分运动信息角度预测模式;对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理,得到查重后的运动信息预测模式。
所述处理模块102对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理时具体用于:针对所述二次查重的运动信息角度预测模式中的任意一个,获取该运动信息角度预测模式的运动信息;
若该运动信息角度预测模式的运动信息与一个待查重帧间预测模式的运动信息相同,则确定该运动信息角度预测模式与该待查重帧间预测模式重复。
在一个例子中,所述待查重帧间预测模式是当前块对应的所有非角度帧间预测模式中的任意一个,或者,所述待查重帧间预测模式是当前块对应的部分非角度帧间预测模式中的任意一个。
所述装置还包括:确定模块,用于确定所述当前块的目标运动信息预测模式;若所述当前块的目标运动信息预测模式为运动信息角度预测模式,则:
根据所述运动信息角度预测模式,确定当前块的运动信息;
根据当前块的运动信息,确定当前块的预测值。
参见图10B所示,为另一个编解码装置的示意图,所述装置包括:
第一确定模块103,用于若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;第二确定模块104,用于根据当前块的运动信息,确定当前块的预测值。
所述第一确定模块103根据所述运动信息角度预测模式,确定当前块的运动信息时具体用于:根据所述运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的用于获取运动信息的选择条件;其中,所述选择条件为第一选择条件或者第二选择条件,所述第一选择条件为从周边匹配块的运动信息中选择的运动信息不允许是双向运动信息,所述第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息;
根据所述运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的子区域划分信息;根据所述运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择预配置角度指向的周边匹配块;根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息。
所述第一确定模块103根据所述运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的用于获取运动信息的选择条件时具体用于:
若当前块的尺寸满足:宽大于等于预设尺寸参数,高大于等于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第二选择条件;
若当前块的尺寸满足:宽小于预设尺寸参数,高大于预设尺寸参数,当所述运动信息角度预测模式为垂直预测模式时,则确定所述选择条件为第二选择条件;当所述运动信息角度预测模式为垂直预测模式之外的其他预测模式时,则确定所述选择条件为第一选择条件;
若当前块的尺寸满足:高小于预设尺寸参数,宽大于预设尺寸参数,当所述运动信息角度预测模式为水平预测模式时,则确定所述选择条件为第二选择条件;当所述运动信息角度预测模式为水平预测模式之外的其他预测模式时,则确定所述选择条件为第一选择条件;
若当前块的尺寸满足:高小于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第一选择条件;
若当前块的尺寸满足:高小于预设尺寸参数,宽等于预设尺寸参数,或者高等于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第一选择条件。
所述第一确定模块103根据所述运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的子区域划分信息时具体用于:
当所述运动信息角度预测模式为水平向上预测模式、水平向下预测模式或者垂直向右预测模式时,若当前块的宽大于等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,或者,当前块的高小于预设尺寸参数,则子区域的大小为4*4;
当所述运动信息角度预测模式为水平预测模式时,若当前块的宽大于预设尺寸参数,则子区域的大小为当前块的宽*4,或者,子区域的大小为4*4;若当前块的宽等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,则子区域的大小为4*4;
当所述运动信息角度预测模式为垂直预测模式时,若当前块的高大于预设尺寸参数,则子区域的大小为4*当前块的高,或者,子区域的大小为4*4;若当前块的高等于预设尺寸参数,且当前块的宽大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的高小于预设尺寸参数,则子区域的大小为4*4。
所述第一确定模块103根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息时具体用于:
根据所述子区域划分信息将所述当前块划分为至少一个子区域;
针对所述当前块的每个子区域,根据所述运动信息角度预测模式从所述当前块的周边匹配块中选择与该子区域对应的周边匹配块,并根据该子区域对应的周边匹配块的运动信息和所述选择条件,确定该子区域的运动信息;
将所述至少一个子区域的运动信息确定为所述当前块的运动信息。
所述第一确定模块103根据所述运动信息角度预测模式,确定当前块的运动信息时具体用于:根据所述当前块的尺寸,确定所述当前块的用于获取运动信息的选择条件;其中,所述选择条件为第二选择条件,所述第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息;
根据所述当前块的尺寸,确定所述当前块的子区域划分信息;其中,所述当前块的子区域的大小为8*8;
根据所述运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择预配置角度指向的周边匹配块;
根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息。
在一个例子中,所述装置还包括:处理模块,用于获取当前块的运动信息预测模式,所述运动信息预测模式至少包括运动信息角度预测模式;对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式。
所述处理模块对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式时具体用于:
确定待查重的运动信息角度预测模式;对于任意两个待查重的第一运动信息角度预测模式和待查重的第二运动信息角度预测模式,则:
根据待查重的第一运动信息角度预测模式,确定第一运动信息;
根据待查重的第二运动信息角度预测模式,确定第二运动信息;
若所述第一运动信息和所述第二运动信息相同,则确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复。
所述处理模块确定待查重的运动信息角度预测模式时具体用于:
对于任一个运动信息角度预测模式,按照该运动信息角度预测模式的预配置角度从当前块的周边块中选择预配置角度指向的周边匹配块;
从所述周边匹配块中选择要遍历的多个周边匹配块;
如果遍历的多个周边匹配块的运动信息都相同,则确定该运动信息角度预测模式为所述待查重的运动信息角度预测模式。
所述处理模块确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复之后还用于:
去除重复的所述第一运动信息角度预测模式;或者,
去除重复的所述第二运动信息角度预测模式。
所述处理模块对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式之后还用于:
从查重后的运动信息角度预测模式中确定二次查重的运动信息角度预测模式;其中,所述查重后的运动信息角度预测模式包括第一部分运动信息角度预测模式和第二部分运动信息角度预测模式,所述第一部分运动信息角度预测模式为未查重的运动信息角度预测模式,所述第二部分运动信息角度预测模式包括查重的运动信息角度预测模式中去除重复后的运动信息角度预测模式,所述二次查重的运动信息角度预测模式为所述第二部分运动信息角度预测模式;
对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理,得到查重后的运动信息预测模式。
所述处理模块对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理时具体用于:针对所述二次查重的运动信息角度预测模式中的任意一个,获取该运动信息角度预测模式的运动信息;
若该运动信息角度预测模式的运动信息与一个待查重帧间预测模式的运动信息相同,则确定该运动信息角度预测模式与该待查重帧间预测模式重复。
本申请实施例提供的解码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图11所示。包括:处理器111和机器可读存储介质112,所述机器可读存储介质112存储有能够被所述处理器111执行的机器可执行指令;所述处理器111用于执行机器可执行指令,以实现本申请上述示例公开的方法。
例如,所述处理器用于执行机器可执行指令,以实现如下步骤:
获取当前块的运动信息预测模式,所述运动信息预测模式至少包括运动信息角度预测模式;对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式;或者,
所述处理器用于执行机器可执行指令,以实现如下步骤:
若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。
本申请实施例提供的编码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图12所示。包括:处理器121和机器可读存储介质122,所述机器可读存储介质122存储有能够被所述处理器121执行的机器可执行指令;所述处理器121用于执行机器可执行指令,以实现本申请上述示例公开的方法。
例如,所述处理器用于执行机器可执行指令,以实现如下步骤:
获取当前块的运动信息预测模式,所述运动信息预测模式至少包括运动信息角度预测模式;对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式;或者,
所述处理器用于执行机器可执行指令,以实现如下步骤:
若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的编解码方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (17)

1.一种编解码方法,其特征在于,所述方法包括:
若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则:
根据所述运动信息角度预测模式,确定当前块的运动信息;
根据当前块的运动信息,确定当前块的预测值。
2.根据权利要求1所述的方法,其特征在于,
根据所述运动信息角度预测模式,确定当前块的运动信息,包括:
根据所述运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的用于获取运动信息的选择条件;其中,所述选择条件为第一选择条件或者第二选择条件,所述第一选择条件为从周边匹配块的运动信息中选择的运动信息不允许是双向运动信息,所述第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息;
根据所述运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的子区域划分信息;
根据所述运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择预配置角度指向的周边匹配块;
根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息。
3.根据权利要求2所述的方法,其特征在于,
所述根据所述运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的用于获取运动信息的选择条件,包括:
若当前块的尺寸满足:宽大于等于预设尺寸参数,高大于等于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第二选择条件;
若当前块的尺寸满足:宽小于预设尺寸参数,高大于预设尺寸参数,当所述运动信息角度预测模式为垂直预测模式时,则确定所述选择条件为第二选择条件;当所述运动信息角度预测模式为垂直预测模式之外的其他预测模式时,则确定所述选择条件为第一选择条件;
若当前块的尺寸满足:高小于预设尺寸参数,宽大于预设尺寸参数,当所述运动信息角度预测模式为水平预测模式时,则确定所述选择条件为第二选择条件;当所述运动信息角度预测模式为水平预测模式之外的其他预测模式时,则确定所述选择条件为第一选择条件;
若当前块的尺寸满足:高小于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第一选择条件;
若当前块的尺寸满足:高小于预设尺寸参数,宽等于预设尺寸参数,或者高等于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第一选择条件。
4.根据权利要求2所述的方法,其特征在于,所述根据所述运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的子区域划分信息,包括:
当所述运动信息角度预测模式为水平向上预测模式、水平向下预测模式或者垂直向右预测模式时,若当前块的宽大于等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,或者,当前块的高小于预设尺寸参数,则子区域的大小为4*4;
当所述运动信息角度预测模式为水平预测模式时,若当前块的宽大于预设尺寸参数,则子区域的大小为当前块的宽*4,或者,子区域的大小为4*4;若当前块的宽等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,则子区域的大小为4*4;
当所述运动信息角度预测模式为垂直预测模式时,若当前块的高大于预设尺寸参数,则子区域的大小为4*当前块的高,或者,子区域的大小为4*4;若当前块的高等于预设尺寸参数,且当前块的宽大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的高小于预设尺寸参数,则子区域的大小为4*4。
5.根据权利要求2所述的方法,其特征在于,
所述根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息,包括:
根据所述子区域划分信息将所述当前块划分为至少一个子区域;
针对所述当前块的每个子区域,根据所述运动信息角度预测模式从所述当前块的周边匹配块中选择与该子区域对应的周边匹配块,并根据该子区域对应的周边匹配块的运动信息和所述选择条件,确定该子区域的运动信息;
将所述至少一个子区域的运动信息确定为所述当前块的运动信息。
6.根据权利要求1所述的方法,其特征在于,
根据所述运动信息角度预测模式,确定当前块的运动信息,包括:
根据所述当前块的尺寸,确定所述当前块的用于获取运动信息的选择条件;其中,所述选择条件为第二选择条件,所述第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息;
根据所述当前块的尺寸,确定所述当前块的子区域划分信息;其中,所述当前块的子区域的大小为8*8;
根据所述运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择预配置角度指向的周边匹配块;
根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息。
7.根据权利要求1所述的方法,其特征在于,所述确定当前块的目标运动信息预测模式之前,所述方法还包括:
获取当前块的运动信息预测模式,所述运动信息预测模式至少包括运动信息角度预测模式;
对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式。
8.根据权利要求7所述的方法,其特征在于,所述对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式,包括:
确定待查重的运动信息角度预测模式;对于任意两个待查重的第一运动信息角度预测模式和待查重的第二运动信息角度预测模式,则:
根据待查重的第一运动信息角度预测模式,确定第一运动信息;
根据待查重的第二运动信息角度预测模式,确定第二运动信息;
若所述第一运动信息和所述第二运动信息相同,则确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复。
9.根据权利要求8所述的方法,其特征在于,
所述确定待查重的运动信息角度预测模式,包括:
对于任一个运动信息角度预测模式,按照该运动信息角度预测模式的预配置角度从当前块的周边块中选择预配置角度指向的周边匹配块;
从所述周边匹配块中选择要遍历的多个周边匹配块;
如果遍历的多个周边匹配块的运动信息都相同,则确定该运动信息角度预测模式为所述待查重的运动信息角度预测模式。
10.根据权利要求8所述的方法,其特征在于,所述确定所述第一运动信息角度预测模式和所述第二运动信息角度预测模式重复之后,还包括:
去除重复的所述第一运动信息角度预测模式;或者,
去除重复的所述第二运动信息角度预测模式。
11.根据权利要求7所述的方法,其特征在于,对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式之后,还包括:
从查重后的运动信息角度预测模式中确定二次查重的运动信息角度预测模式;其中,所述查重后的运动信息角度预测模式包括第一部分运动信息角度预测模式和第二部分运动信息角度预测模式,所述第一部分运动信息角度预测模式为未查重的运动信息角度预测模式,所述第二部分运动信息角度预测模式包括查重的运动信息角度预测模式中去除重复后的运动信息角度预测模式,所述二次查重的运动信息角度预测模式为所述第二部分运动信息角度预测模式;
对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理,得到查重后的运动信息预测模式。
12.根据权利要求11所述的方法,其特征在于,
所述对所述二次查重的运动信息角度预测模式和当前块的预测模式中除运动信息角度预测模式之外的待查重帧间预测模式进行查重处理,包括:
针对所述二次查重的运动信息角度预测模式中的任意一个,获取该运动信息角度预测模式的运动信息;
若该运动信息角度预测模式的运动信息与一个待查重帧间预测模式的运动信息相同,则确定该运动信息角度预测模式与该待查重帧间预测模式重复。
13.根据权利要求11所述的方法,其特征在于,所述待查重帧间预测模式是当前块对应的所有非角度帧间预测模式中的任意一个,或者,所述待查重帧间预测模式是当前块对应的部分非角度帧间预测模式中的任意一个。
14.根据权利要求7所述的方法,其特征在于,对当前块的运动信息角度预测模式进行查重处理,得到查重后的运动信息角度预测模式之后,还包括:
确定所述当前块的目标运动信息预测模式;
若所述当前块的目标运动信息预测模式为运动信息角度预测模式,则执行根据所述运动信息角度预测模式,确定当前块的运动信息的步骤。
15.一种编解码装置,其特征在于,所述装置包括:
第一确定模块,用于若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;
第二确定模块,用于根据当前块的运动信息,确定当前块的预测值。
16.一种解码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。
17.一种编码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
若当前块的目标运动信息预测模式为选择出的运动信息角度预测模式,则根据所述运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。
CN201910165085.1A 2019-03-05 2019-03-05 一种编解码方法、装置及其设备 Active CN111669592B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202211610564.8A CN116016946A (zh) 2019-03-05 2019-03-05 一种编解码方法、装置及其设备
CN201910165085.1A CN111669592B (zh) 2019-03-05 2019-03-05 一种编解码方法、装置及其设备
PCT/CN2020/078070 WO2020177747A1 (zh) 2019-03-05 2020-03-05 编解码方法与装置、编码端设备和解码端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910165085.1A CN111669592B (zh) 2019-03-05 2019-03-05 一种编解码方法、装置及其设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211610564.8A Division CN116016946A (zh) 2019-03-05 2019-03-05 一种编解码方法、装置及其设备

Publications (2)

Publication Number Publication Date
CN111669592A true CN111669592A (zh) 2020-09-15
CN111669592B CN111669592B (zh) 2022-11-25

Family

ID=72338403

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910165085.1A Active CN111669592B (zh) 2019-03-05 2019-03-05 一种编解码方法、装置及其设备
CN202211610564.8A Pending CN116016946A (zh) 2019-03-05 2019-03-05 一种编解码方法、装置及其设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202211610564.8A Pending CN116016946A (zh) 2019-03-05 2019-03-05 一种编解码方法、装置及其设备

Country Status (2)

Country Link
CN (2) CN111669592B (zh)
WO (1) WO2020177747A1 (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100290530A1 (en) * 2009-05-14 2010-11-18 Qualcomm Incorporated Motion vector processing
CN102164278A (zh) * 2011-02-15 2011-08-24 杭州海康威视软件有限公司 用于去除i帧闪烁的视频编码方法及其装置
CN102223528A (zh) * 2010-04-15 2011-10-19 华为技术有限公司 一种参考运动矢量获得方法
JP2013005343A (ja) * 2011-06-20 2013-01-07 Jvc Kenwood Corp 画像符号化装置、画像符号化方法及び画像符号化プログラム
CN106454378A (zh) * 2016-09-07 2017-02-22 中山大学 一种基于变形运动模型的帧率上转换视频编码方法及系统
WO2017048008A1 (ko) * 2015-09-17 2017-03-23 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
US20170272745A1 (en) * 2016-03-18 2017-09-21 Mediatek Inc. Method and Apparatus of Intra Prediction in Image and Video Processing
US20170339425A1 (en) * 2014-10-31 2017-11-23 Samsung Electronics Co., Ltd. Video encoding device and video decoding device using high-precision skip encoding and method thereof
US20170347094A1 (en) * 2016-05-31 2017-11-30 Google Inc. Block size adaptive directional intra prediction
US20180115775A1 (en) * 2010-04-16 2018-04-26 Sk Telecom Co., Ltd. Video encoding/decoding method using motion information candidate group for batch mode
CN108605122A (zh) * 2015-11-19 2018-09-28 韩国电子通信研究院 用于编码/解码屏幕内预测模式的方法和装置
CN108781297A (zh) * 2016-03-18 2018-11-09 联发科技股份有限公司 视频编码的方法与装置
CN109089119A (zh) * 2017-06-13 2018-12-25 浙江大学 一种运动矢量预测的方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012147331A (ja) * 2011-01-13 2012-08-02 Sony Corp 画像処理装置および方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100290530A1 (en) * 2009-05-14 2010-11-18 Qualcomm Incorporated Motion vector processing
CN102223528A (zh) * 2010-04-15 2011-10-19 华为技术有限公司 一种参考运动矢量获得方法
US20180115775A1 (en) * 2010-04-16 2018-04-26 Sk Telecom Co., Ltd. Video encoding/decoding method using motion information candidate group for batch mode
CN102164278A (zh) * 2011-02-15 2011-08-24 杭州海康威视软件有限公司 用于去除i帧闪烁的视频编码方法及其装置
JP2013005343A (ja) * 2011-06-20 2013-01-07 Jvc Kenwood Corp 画像符号化装置、画像符号化方法及び画像符号化プログラム
US20170339425A1 (en) * 2014-10-31 2017-11-23 Samsung Electronics Co., Ltd. Video encoding device and video decoding device using high-precision skip encoding and method thereof
WO2017048008A1 (ko) * 2015-09-17 2017-03-23 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
CN108605122A (zh) * 2015-11-19 2018-09-28 韩国电子通信研究院 用于编码/解码屏幕内预测模式的方法和装置
US20170272745A1 (en) * 2016-03-18 2017-09-21 Mediatek Inc. Method and Apparatus of Intra Prediction in Image and Video Processing
CN108781297A (zh) * 2016-03-18 2018-11-09 联发科技股份有限公司 视频编码的方法与装置
CN107454403A (zh) * 2016-05-31 2017-12-08 谷歌公司 块尺寸可调整的方向性帧内预测
US20170347094A1 (en) * 2016-05-31 2017-11-30 Google Inc. Block size adaptive directional intra prediction
CN106454378A (zh) * 2016-09-07 2017-02-22 中山大学 一种基于变形运动模型的帧率上转换视频编码方法及系统
CN109089119A (zh) * 2017-06-13 2018-12-25 浙江大学 一种运动矢量预测的方法及设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BRUNO MACCHIAVELLO: "Loss-Resilient Coding of Texture and Depth for Free-Viewpoint Video Conferencing", 《IEEE TRANSACTIONS ON MULTIMEDIA》 *
冯磊: "高效视频编码中的帧内预测快速算法研究", 《中国优秀硕士学位论文全文数据库》 *
荆倩: "基于HEVC的视频编码快速算法研究", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
CN116016946A (zh) 2023-04-25
WO2020177747A1 (zh) 2020-09-10
CN111669592B (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CN109997363B (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN111385569B (zh) 一种编解码方法及其设备
CN111164978B (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN107071470B (zh) 对图像进行解码的方法
CN116320498A (zh) 用于滤波的方法和装置
US20190364298A1 (en) Image encoding/decoding method and device, and recording medium having bitstream stored thereon
CN111263144B (zh) 一种运动信息确定方法及其设备
CN113228681A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN113747166B (zh) 一种编解码方法、装置及其设备
CN111669592B (zh) 一种编解码方法、装置及其设备
CN114079783B (zh) 一种编解码方法、装置及其设备
CN112449181B (zh) 一种编解码方法、装置及其设备
CN113709457B (zh) 一种解码、编码方法、装置及其设备
CN112449180B (zh) 一种编解码方法、装置及其设备
CN112055220B (zh) 一种编解码方法、装置及其设备
CN113709486B (zh) 一种编解码方法、装置及其设备
CN113766234B (zh) 一种解码、编码方法、装置及其设备
CN114598889A (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