CN101790096A - 基于二重预测的编解码方法及装置 - Google Patents

基于二重预测的编解码方法及装置 Download PDF

Info

Publication number
CN101790096A
CN101790096A CN200910001970A CN200910001970A CN101790096A CN 101790096 A CN101790096 A CN 101790096A CN 200910001970 A CN200910001970 A CN 200910001970A CN 200910001970 A CN200910001970 A CN 200910001970A CN 101790096 A CN101790096 A CN 101790096A
Authority
CN
China
Prior art keywords
double forecast
probabilistic model
parameter information
current
double
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
CN200910001970A
Other languages
English (en)
Other versions
CN101790096B (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.)
Honor Device Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Zhejiang University ZJU
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 Huawei Technologies Co Ltd, Zhejiang University ZJU filed Critical Huawei Technologies Co Ltd
Priority to CN2009100019702A priority Critical patent/CN101790096B/zh
Priority to PCT/CN2010/070191 priority patent/WO2010083743A1/zh
Priority to EP10733216A priority patent/EP2391133A4/en
Publication of CN101790096A publication Critical patent/CN101790096A/zh
Application granted granted Critical
Publication of CN101790096B publication Critical patent/CN101790096B/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

本发明实施例提供一种基于二重预测的编解码方法及装置,其包括:在获取二重预测过程中的二重预测参数信息后,根据预先建立的概率模型对所述二重预测参数信息进行编码操作,并将编码结果写入编码码流。对应的,在解码端,获取二重预测过程中的二重预测参数信息对应的编码码流后,可以根据预先建立的概率模型对所述二重预测参数信息对应的编码码流进行解码操作,获得所述二重预测参数信息。由于本发明实施例为基于建立的相应概率模型进行编解码操作,故可以有效提高针对二重预测过程中的二重预测参数信息的编码性能,降低编码码流占用的传输带宽。

Description

基于二重预测的编解码方法及装置
技术领域
本发明涉及编解码技术领域,尤其涉及一种基于二重预测的编解码方法和装置。
背景技术
在视频编码过程中,为减少视频信号的数据量,以节约视频信号的存储空间和传输带宽,可以对视频信号进行压缩,以降低冗余信息,压缩视频数据量。例如,可以采用帧内预测编码和帧间预测编码等预测编码技术降低视频数据中的时间冗余信息和空间冗余信息。
在预测编码过程中,是将预测值和待编码值的差作为残差数据进行二维变换编码并传送给解码端,相应的在解码过程中便可以根据该残差数据进行相应的解码操作。该预测编码后的残差数据(即残差信号)的空间冗余信息和时间冗余信息小于原始视频信号的空间冗余信息和时间冗余信息。
为进一步去除残差信号中的冗余,目前还提出二重预测编解码技术。在该二重预测编解码技术中,即在上述预测编解码(称为第一重预测)的基础上,实现相应的二重预测补偿过程,相应的二重预测补偿过程包括第一重预测补偿过程和第二重预测补偿过程。其中,现有的预测编解码过程中的预测残差可以称为第一重残差,针对第一重残差的预测称为第二重预测,第二重预测过程中的预测残差称为第二重残差;在第二重预测补偿过程的输入包括重建后的第一重残差和重建后的第二重残差。
现有的二重预测技术为基于空域预测技术的二重预测。具体地,在实现相应的二重预测过程中,需要在编码码流中增加相应的语法元素:sop_flag、pred_sp_mode_flag和rem_sp_mode,其中:
sop_flag为二重预测标记符号标识,用于标识当前宏块是否采用二重预测技术,其值可以为0或1;
pred_sp_mode_flag为与第二重帧内预测模式相关的句法元素,用于表明第二重帧内预测模式是否预测准确,其值可以为0或1;
rem_sp_mode为与第二重帧内预测模式相关的句法元素,用于在pred_sp_mode_flag表示第二重帧内预测模式预测不准确时,表示第二重帧内预测模式的信息,其值可以为0~7中的一个,每个值对应一种帧内预测模式;若pred_sp_mode_flag表示当前第二重帧内预测模式预测准确,则在码流中不存在当前第二重帧内预测模式的句法元素rem_sp_mode。
相应的语法元素sop_flag、pred_sp_mode_flag和rem_sp_mode为直接写入到码流中。
在针对第二重帧内预测模式的解码过程中,首先看预测是否准确,若准确,则相应的帧内预测模式等于模式预测值对应的模式,若预测不准确,则需继续从码流中解析rem_sp_mode信息确定相应的帧内预测模式。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
在上述第二重预测补偿过程中使用的是空域预测(即帧内预测)的二重预测技术,由于相应的语法元素sop_flag、pred_sp_mode_flag和rem_sp_mode直接写入到码流中,因此,相应的二重预测过程中的模式信息的增加在很大程度上抵消了二重预测技术所带来的编码效率的提升,即引入的基于空域预测的二重预测技术中的二重预测模式信息给二重预测性能的提升带来障碍。
发明内容
本发明的实施例提供了一种基于二重预测的编解码方法及装置,以有效降低编码后的数据占用的空间,提高编码效率。
根据本发明的一方面,提供一种基于二重预测的编码方法,包括:
获取二重预测过程中的二重预测参数信息;
根据预先建立的概率模型对所述二重预测参数信息进行编码操作,并将编码结果写入编码码流。
根据本发明的另一方面,还提供一种基于二重预测的图像编码装置,包括:
参数获取单元,用于获取二重预测过程中的二重预测参数信息;
参数编码单元,根据预先建立的概率模型对所述参数获取单元获取的二重预测参数信息进行编码操作,并将编码结果写入编码码流。
根据本发明的另一方面,还提供一种基于二重预测的图像解码方法,包括:
获取二重预测过程中的二重预测参数信息对应的编码码流;
根据预先建立的概率模型对所述二重预测参数信息对应的编码码流进行解码操作,获得所述二重预测参数信息。
根据本发明的另一方面,还提供一种基于二重预测的解码装置,包括:
编码码流接收单元,用于获取二重预测过程中的二重预测参数信息对应的编码码流;
解码单元,用于根据预先建立的概率模型对所述编码码流接收单元二重预测参数信息对应的编码码流进行解码操作,获得所述二重预测参数信息。
由上述本发明的实施例提供的技术方案可以看出,其采用基于建立的相应概率模型进行编解码操作的实现方案,从而可以有效提高针对二重预测过程中的二重预测参数信息的编码性能,降低了编码码流占用的传输带宽,提高了编码效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的对语法元素sop_flag的编码过程示意图;
图2为本发明实施例提供的选择概率模型的应用环境示意图;
图3为本发明实施例提供的对语法元素pred_sp_mode_flag的编码过程示意图;
图4为本发明实施例提供的对语法元素rem_sp_mode的编码过程示意图;
图5为本发明实施例提供的对语法元素sop_flag的解码过程示意图;
图6为本发明实施例提供的对语法元素pred_sp_mode_flag的解码过程示意图;
图7为本发明实施例提供的对语法元素rem_sp_mode的解码过程示意图;
图8A至图8I为本发明实施提供的最有可能模式与9种概率模型之间的选择关系示意图;
图9为本发明实施例提供的编码装置的结构示意图;
图10为本发明实施例提供的解码装置的结构示意图一;
图11为本发明实施例提供的解码器的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在实现本发明实施例的过程中,经过大量分析发现基于二重预测的二重预测参数信息在一定程度上存在某种统计规律,且相应的统计规律或者与相邻宏块的相同的语法元素有关,或者呈现出更加复杂的统计规律。本发明实施例便基于相应的统计规律对相应的二重预测参数信息进行编码,以提高二重预测模式的编码性能。
本发明实施例提供的基于二重预测的编码方方案包括:首先,获取二重预测过程中的二重预测参数信息;之后,根据预先建立的概率模型对二重预测参数信息进行编码操作,并将编码结果写入编码码流。其中,相应的二重预测参数信息具体可以包括多种不同的二重预测参数信息,例如,具体可以包括二重预测标记符号标识、模式预测准确标志或第二重模式信息中的一种或多种二重预测参数信息。
本发明实施例中,具体可以在为当前编码的一种二重预测参数信息预先建立的至少一种概率模型中,为当前编码的一种二重预测参数信息确定对应的概率模型,以便于根据确定的概率模型对二进制化处理后的当前编码的一种二重预测参数信息进行编码操作。
在为当前编码的一种二重预测参数信息确定对应的概率模型的过程中,若预先建立的该当前编码的一种二重预测参数信息对应的概率模型仅为一种概率模型,则可以直接将该概率模型作为当前编码的一种二重预测参数信息对应的概率模型。若预先建立的该当前编码的一种二重预测参数信息对应的概率模型为多种概率模型,则具体可以根据预定的策略(如预定的根据相邻块和/或当前块的参数信息进行概率模型的选择的方式,等等)选择一种概率模型。例如,相应的可以采用以下任意一种或多种方式进行当前编码的一种二重预测参数信息对应的概率模型的选择:
(1)当所述二重预测参数信息中的一种二重预测参数信息为二重预测标记符号标识时,可以根据当前编码宏块的相邻左边块和相邻上边块的二重预测标记符号标识,或者,根据当前编码宏块的宏块类型,在为相应的二重预测标记符号标识建立的多个概率模型中,为当前编码的二重预测标记符号标识选择对应的概率模型;
(2)当所述二重预测参数信息中的一种二重预测参数信息为模式预测准确标志时,可以根据当前编码宏块的最有可能采用的二重预测模式,或者,根据当前编码宏块的宏块类型,在为相应的模式预测准确标志建立的多个概率模型中,为当前编码的模式预测准确标志选择对应的概率模型;
(3)当所述二重预测参数信息中的一种二重预测参数信息为第二重模式信息时,可以根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,或者,根据当前编码宏块的宏块类型,在为所述第二重模式信息建立的多个概率模型中,为当前编码的第二重模式信息选择对应的概率模型。
可选地,在上述(3)提供的处理方式中,若根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,为当前编码的第二重模式信息选择对应的概率模型,则所述选择的概率模型的索引等于当前编码宏块的最有可能采用的二重预测模式的序号乘以3后,再加上当前编码的二进制的值bin的索引值。
对应的,本发明实施例还提供了相应的基于二重预测的解码方案,其可以包括:首先,获取二重预测过程中的二重预测参数信息对应的编码码流;之后,根据预先建立的概率模型对相应的二重预测参数信息对应的编码码流进行解码操作,获得所述二重预测参数信息。
在对二重预测参数信息进行解码操作的过程中,首先可以在为当前解码的一种二重预测参数信息建立的至少一种概率模型中,为当前解码的一种二重预测参数信息确定对应的概率模型;之后,再根据确定的概率模型,对当前解码的一种二重预测参数信息对应的编码码流进行解码操作,以获得相应的一种二重预测参数信息。
与编码端对应,在解码端,若预先建立的该当前编码的一种二重预测参数信息对应的概率模型仅为一种概率模型,则可以直接将该概率模型作为当前编码的一种二重预测参数信息对应的概率模型。若预先建立的该当前编码的一种二重预测参数信息对应的概率模型为多种概率模型,则具体可以采用以下任意一种或多种方式进行当前编码的一种二重预测参数信息对应的概率模型的选择:
(1)当所述二重预测参数信息中的一种二重预测参数信息为二重预测标记符号标识时,可以根据当前解码宏块的相邻左边块和相邻上边块的二重预测标记符号标识,或者,根据当前解码宏块的宏块类型,在为相应的二重预测标记符号标识建立的多个概率模型中,为当前解码的二重预测标记符号标识选择对应的概率模型;
(2)当所述二重预测参数信息中的一种二重预测参数信息为模式预测准确标志时,可以根据当前解码宏块的最有可能采用的二重预测模式,或者,根据当前解码宏块的宏块类型,在为相应的模式预测准确标志建立的多个概率模型中,为当前解码的模式预测准确标志选择对应的概率模型;
(3)当所述二重预测参数信息中的一种二重预测参数信息为第二重模式信息时,可以根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,或者,根据当前解码宏块的宏块类型,在为相应的第二重模式信息建立的多个概率模型中,为当前解码的第二重模式信息选择对应的概率模型。
可选地,在上述(3)提供的处理方式中,若根据当前解码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,为当前解码的第二重模式信息选择对应的概率模型,则所述选择的概率模型的索引等于当前解码宏块的最有可能采用的二重预测模式的序号乘以3后,再加上当前解码的二进制的值bin的索引值。
可见,本发明实施例提供的采用基于上下文的二进制算术编码技术对二重预测过程中的二重预测参数信息进行编解码操作,即基于建立的相应概率模型进行编解码操作,从而可以有效提高针对二重预测过程中的二重预测参数信息的编码性能,降低了编码码流占用的传输带宽。
为便于对本发明的理解,下面将结合附图,对本发明实施例的具体应用进行详细说明。
实施例一
在该实施例一中,分别提供了基于二重预测的编码过程和解码过程,下面将分别进行说明。
(一)基于二重预测的编码过程
在该实施例一中,相应的基于二重预测的编码过程可以包括针对语法元素sop_flag的编码过程、对语法元素pred_sp_mode_flag的编码过程和对语法元素rem_sp_mode的编码过程,其中:
(1)对语法元素sop_flag的编码过程
如图1所示,相应的对语法元素sop_flag进行编码的步骤可以包括:
步骤1,为sop_flag建立三个不同的概率模型,并且进行相应的概率模型初始化,初始化为等概率模型,即m=0,n=63,该三个概率模型的标号分别为:0、1、2,其中,相应的m、n为一组用于确定模型初始化时最有可能符号MPS及最有可能符号的出现概率的参数,且最有可能符号MPS(即大概率符号)及最有可能符号的出现概率为概率模型的基本参数。
步骤2,对sop_flag语法元素的值进行二进制化;由于sop_flag的语法元素的取值为0或1,故不需要二进制化,因此,若sop_flag=0,则二进制化的值bin=0,若sop_flag=1,则bin=1。
步骤3,根据当前宏块的相邻宏块的sop_flag值,为当前块的sop_flag选择对应的概率模型;
具体地,如图2所示,可以根据当前宏块C的相邻的左边的宏块A和上边的宏块B的sop_flag的值来进行当前宏块C的sop_flag的概率模型的选择,相应的选择依据的公式可以为:
Context_sop_flag(C)=sop_flag(A)+sop_flag(B);
其中,Context_sop_flag(C)表示当前宏块C需要采用的算术编解码的概率模型;sop_flag(x)表示x宏块的sop_flag的值,且若宏块x不可用,则sop_flag(x)=0;具体地,假设宏块A、B的sop_flag为0,则选择概率模型0,若宏块A的sop_flag为0,宏块B的sop_flag为1,则选择概率模型1,若宏块A的sop_flag为1,宏块B的sop_flag0,则选择概率模型1,若宏块A、B的sop_flag均为1,则选择概率模型2。
步骤4,利用为当前宏块的sop_flag值选择的概率模型对步骤2中得到的二进制化的值bin进行CABAC编码。
(2)对语法元素pred_sp_mode_flag的编码过程
若sop_flag=1,则存在语法元素pred_sp_mode_flag,此时,需要对语法元素pred_sp_mode_flag进行编码;
如图3所示,相应的编码步骤可以包括:
步骤1,为pred_sp_mode_flag建立一个概率模型,进行相应的概率模型初始化,初始化为等概率模型,即m=0,n=63。
步骤2,对pred_sp_mode_flag各个语法元素的值进行二进制化。
由于pred_sp_mode_flag的语法元素的值均为0或1,故不需要对其二进制化处理,因此,若pred_sp_mode_flag=0,则二进制化的值bin=0,若pred_sp_mode_flag=1,则bin=1。
步骤3,利用为当前宏块建立的概率模型对步骤2中确定的二进制化的值bin进行CABAC编码。
(3)对语法元素rem_sp_mode的编码过程
若pred_sp_mode_flag=0,则存在语法元素rem_sp_mode,此时,需要对语法元素rem_sp_mode进行编码;
如图4所示,相应的编码步骤可以包括:
步骤1,对rem_sp_mode建立27个不同的概率模型,并且进行相应的概率模型初始化,初始化为等概率模型,即m=0,n=63,并令27个概率模型的标号分别为0~26。
步骤2,由于rem_sp_mode语法元素的值为0~7中的任意一个数,所以需要对相应的0~7进行二进制化处理;
具体地,可以采用定长码二进制化的方式进行二进制化处理,例如,可以为:0~000(即语法元素的值0对应二进制化的定长码为000),1~001,2~010,3~011,4~100,5~101,6~110,7~111,例如,若rem_sp_mode=7,则相应的二进制化值bin为111。
步骤3,对当前需要编码的bin的索引赋值为0,即binIndex=0。
步骤4,根据当前最有可能模式和当前解析的binIndex来进行当前解析的bin的概率模型的选择,相应的选择依据的公式可以为:
Context_bin(binIndex,mostProbableMode)=mostProbableMode×3+binIndex;
其中,Context_bin(C)代表当前解析的bin要采用的算术编码解码的概率模型;mostProbableMode表示最有可能模式,其具体可以通过对当前运动补偿块的预测值做方向性判断,并方向性判断结果确定相应的最有可能模式;假设的最有可能模式mostProbableMode为5,需要编码的为第三个bin,即binIndex=2,则可以选择第(5×3)+2=17个概率模型作为对当前宏块的语法元素rem_sp_mode进行编码需要采用的概率模型,例如,mostProbableMode是5,rem_sp_mode的值是7,对应的二进制化的值111(对应bin 2,bin 1,bin0),则针对各个bin 2、bin 1和bin0所要选择的概率模型对应为17、16、15;
步骤5,利用选择的对当前宏块的语法元素rem_sp_mode进行编码需要采用的概率模型,对第binIdex个bin进行CABAC编码。
此时,若binIndex小于2(若等于2,则表示三个bin已经编码完毕),则返回步骤4,还将当前binIndex的值加1。
(二)基于二重预测的解码过程:
在该实施例一中,相应的基于二重预测的解码过程可以包括针对语法元素sop_flag的解码过程、对语法元素pred_sp_mode_flag的解码过程和对语法元素rem_sp_mode的解码过程,其中:
(1)对sop_flag语法元素的解码过程
如图5所示,对sop_flag语法元素的解码步骤可以包括:
步骤1,为sop_flag建立三个不同的概率模型,并且进行相应的概率模型初始化,初始化为等概率模型,即m=0、n=63,令该三个概率模型的标号分别为:0、1、2。
步骤2,对sop_flag语法元素的各个值进行二进制化;由于sop_flag的语法元素的取值为0或1,故不需要对其进行二进制化处理。
步骤3,根据当前宏块的相邻宏块的sop_flag的值来选择当前宏块的sop_flag的概率模型;
具体地,仍如图2所示,可以根据当前宏块C的相邻的左边的宏块A和上边的宏块B的sop_flag的值来进行当前宏块C的sop_flag的概率模型的选择;例如,相应的,选择依据的公式可以为:
Context_sop_flag(C)=sop_flag(A)+sop_flag(B);
其中,Context_sop_flag(C)表示当前宏块C要采用的算术编码解码的概率模型;sop_flag(x)表示x宏块的sop_flag的值;若宏块x不可用,则sop_flag(x)=0;例如,若宏块A、B的sop_flag为0,则选择概率模型0,若宏块A的sop_flag为0,宏块B的sop_flag1,则选择概率模型1,若宏块A的sop_flag为1,宏块B的sop_flag为0,则选择概率模型1,若宏块A、B的sop_flag均为1,则选择概率模型2。
步骤4,利用步骤3选择的概率模型对接收到的码流进行CABAC码流解析,得到一个bin,并将该bin的值与sop_flag二进制化的各个值进行比较,若此时bin=0,则当前宏块的sop_flag=0,否则,sop_flag=1。
(2)对语法元素pred_sp_mode_flag的解码过程
若码流中的sop_flag=1,则码流中还存在语法元素pred_sp_mode_flag,此时,便需要对相应的语法元素pred_sp_mode_flag进行解码操作;
如图6所示,相应的解码步骤可以包括:
步骤1,对pred_sp_mode_flag建立一个概率模型,并进行相应的概率模型初始化,初始化为等概率模型,即m=0、n=63。
步骤2,对pred_sp_mode_flag语法元素的各个值进行二进制化。
由于pred_sp_mode_flag的语法元素的取值为0或1,故不需要对其进行二进制化处理。
步骤3,利用选择的概率模型对接收到的码流进行CABAC码流解析,得到一个bin,将该从码流中得到bin的值与步骤2中的二进制化的pred_sp_mode_flag语法元素的各个值进行比较,若,bin=0,则当前宏块的pred_sp_mode_flag=0,否则,pred_sp_mode_flag=1。
(3)对语法元素rem_sp_mode的解码过程
若码流中的pred_sp_mode_flag=0,则码流中还存在语法元素rem_sp_mode,此时,需要对语法元素rem_sp_mode进行解码操作;
如图7所示,相应的解码步骤可以包括:
步骤1,为rem_sp_mode建立27个不同的概率模型,并且进行相应的概率模型初始化,初始化为等概率模型,即m=0、n=63,令该27个概率模型的标号分别为:0~26。
步骤2,对rem_sp_mode语法元素的值进行二进制化处理;
由于rem_sp_mode语法元素的值为0~7中的任意一个数,故需要对0~7进行二进制化处理,具体可以采用定长码二进制化的方式进行二进制化处理,例如,0~000(即rem_sp_mode语法元素的值为0,则对应的二进制化的值bin=000),1~001,2~010,3~011,4~100,5~101,6~110,7~111。
步骤3,对当前要解码的bin的索引赋值为0,即binIndex=0。
步骤4,根据当前最有可能模式和当前解析的binIndex来进行当前解析的bin的概率模型的选择;
具体地,选择依据的公式可以为:
Context_bin(binIndex,mostProbableMode)=mostProbableMode×3+binIndex;
其中,Context_bin(C)表示当前解析的bin需要采用的算术编码解码的概率模型,mostProbableMode表示最有可能模式;假设相应的最有可能模式为5,需要编码的为第三个bin,则可以选择第(5×3)+2=17个概率模型。
步骤5,利用步骤4选择的概率模型,进行相应bin的CABAC码流解析,得到一个bin。
此时,若binIndex小于2(若等于2,则表示三个bin已经解析完毕),则返回到步骤4,同时将binIndex加1,否则,执行步骤6。
步骤6,将得到的三个bin分别与步骤2确定的0~7二进制化所得到的值比较,rem_sp_mode即为与三个bin具有相同二进制化值的值;假设,三个bin的值为001,则确定相应的rem_sp_mode的值为1,若三个bin的值为101,确定相应的rem_sp_mode的值为5,以此类推,具体可以根据步骤2中的rem_sp_mode语法元素的值与相应的二进制化的值bin之间的对应关系确定相应的rem_sp_mode的值。
实施例二
在该实施例二中,分别提供了基于二重预测的编码过程和解码过程,下面将分别进行说明。
(一)基于二重预测的编码过程
在该实施例二中,相应的基于二重预测的编码过程可以包括针对语法元素sop_flag的编码过程、对语法元素pred_sp_mode_flag的编码过程和对语法元素rem_sp_mode的编码过程,其中:
(1)对sop_flag语法元素的编码过程
对sop_flag语法元素的编码步骤可以包括:
步骤1,对sop_fag建立四个不同的概率模型,并且进行相应的四个概率模型初始化为:m=23、n=33,m=23、n=2,m=34、n=0,m=21、n=0,并令该四个概率模型的标号分别为:0、1、2、3。
步骤2,对sop_flag语法元素的各个值进行二进制化。
由于sop_flag的语法元素的值均为0或1,故不需要对其二进制化处理,相应的,若sop_flag=0,则二进制化的值bin=0,若sop_flag=1,则bin=1。
步骤3,根据当前宏块的相邻的宏块的sop_flag的值选择对当前宏块的sop_flag进行编码需要采用的概率模型;
具体地,可以根据当前宏块C的相邻的左边的宏块A和上边的宏块B的sop_flag的值进行当前宏块C的sop_flag的概率模型的选择;假设宏块A、B的sop_flag为0,则选择概率模型0,若宏块A的sop_flag为0,宏块B的sop_flag1,则选择概率模型1,若宏块A的sop_flag为1,宏块B的sop_flag0,则选择概率模型2,若宏块A、B的sop_flag均为1,则选择概率模型3。
步骤4,利用步骤3选择的概率模型,对步骤2中得到的二进制化的值bin进行CABAC编码。
(2)对语法元素pred_sp_mode_flag的编码过程
若sop_flag=1,则存在语法元素pred_sp_mode_flag,此时,需要对语法元素pred_sp_mode_flag进行编码,相应的编码步骤可以包括:
步骤1,对pred_sp_mode_flag建立9个概率模型,进行相应9个概率模型初始化,均初始化为等概率模型,即m=0,n=63,并令该9个概率模型的标号分别为:0~8。
步骤2:对pred_sp_mode_flag语法元素的各个值进行二进制化。
由于pred_sp_mode_flag的语法元素的取值为0或1,故不需要对其进行二进制化处理,此时,若pred_sp_mode_flag=0,则二进制化的值bin=0,若pred_sp_mode_flag=1,则bin=1。
步骤3,根据当前二重预测模式的最有可能模式进行概率模型的选择。
例如,最有可能模式与9种概率模型之间的选择关系可以如图8A至图8I所示:若最有可能模式为水平,则选择概率模型0;若为竖直,则选择概率模型1;若为DC(垂直),则选择概率模型2;若为对角线左下(即左对角线斜下),则选择概率模型3;若为对角线右下(即右对角线斜下),则选择概率模型4;若为竖直偏右,则选择概率模型5;若为水平偏下,则选择概率模型6;若为竖直偏左,则选择概率模型7;若为水平偏上(即偏上),则选择概率模型8。或者,也可以按照其他预定的方式进行概率模型的选择。
步骤4,利用步骤3选择的概率模型,对步骤2中的二进制化的值bin进行CABAC编码。
(3)对语法元素rem_sp_mode的编码过程
若pred_sp_mode_flag=0,则存在语法元素rem_sp_mode,此时,需要对语法元素rem_sp_mode进行编码,相应的编码步骤可以包括:
步骤1,对rem_sp_mode建立一个概率模型,并且进行相应的概率模型初始化,初始化概率模型为:m=3、n=40。
步骤2,对rem_sp_mode语法元素的值进行二进制化;
由于rem_sp_mode的值为0~7中的任意一个数,故在此需要对0~7进行二进制化,具体地,可以采用一元码二进制化的方式进行二进制化处理,例如,可以为:0~0(rem_sp_mode语法元素的值为0,则对应的二进制化的值bin=0),1~10,2~110,3~1110,4~11110,5~111110,6~1111110,7~11111110。
步骤3,对当前要编码的bin的索引赋值为0,即binIndex=0。
步骤4,利用建立的一个概率模型,对第binIdex个二进制化的值bin进行CABAC编码。
若步骤2中得到的所有bin没有全部编码完毕,则重新返回步骤4,同时将相应的bin的索引binIndex加1。
(二)基于二重预测的解码过程
在该实施例二中,相应的基于二重预测的解码过程可以包括针对语法元素sop_flag的解码过程、对语法元素pred_sp_mode_flag的解码过程和对语法元素rem_sp_mode的解码过程,其中:
(1)对sop_flag语法元素的解码过程
步骤1,为sop_flag建立四个不同的概率模型,并且进行相应的概率模型初始化,初始化为:m=23、n=33,m=23、n=2,m=34、n=0,m=21、n=0,令该四个概率模型的标号分别为:0、1、2、3。
步骤2,对sop_flag语法元素的各个值进行二进制化;由于sop_flag的语法元素的取值为0或1,故不需要对其进行二进制化处理。
步骤3,根据当前宏块的相邻宏块的sop_flag的值来进行当前宏块的sop_flag的概率模型的选择;
具体地,仍参照图2所示,可以根据当前宏块C的相邻的左边的宏块A和上边的宏块B的sop_flag的值来进行当前宏块C的sop_flag的概率模型的选择;假设宏块A、B的sop_flag为0,则选择概率模型0,若宏块A的sop_flag为0,宏块B的sop_flag为1,则选择概率模型1,若宏块A的sop_flag为1,宏块B的sop_flag为0,则选择概率模型2,若宏块A、B的sop_flag均为1,则选择概率模型3。
步骤4,利用步骤3选择的概率模型对接收到的码流进行CABAC码流解析操作,得到一个bin,将该bin的值与步骤2确定的sop_flag二进制化的各个值进行比较,若bin=0,则当前宏块的sop_flag=0,否则,sop_flag=1。
(2)对语法元素pred_sp_mode_flag的解码过程
若码流中的sop_flag=1,则相应的码流中还存在语法元素pred_sp_mode_flag,为此,需要对语法元素pred_sp_mode_flag进行解码操作,相应的解码步骤可以包括:
步骤1,为pred_sp_mode_flag建立9个概率模型,进行相应的概率模型初始化,初始化为等概率模型,即m=0、n=63,令该9个概率模型的标号分别为:0~8。
步骤2,对pred_sp_mode_flag语法元素的各个值进行二进制化;由于pred_sp_mode_flag的语法元素的取值为0或1,故不需要对其进行二进制化处理。
步骤3,利用当前二重预测模式的最有可能模式进行概率模型的选择。
例如,若此时最有可能模式为水平,则选择模型0,若为竖直,则选择模型1,若为DC(垂直),则选择2,若为对角线左下,则选择模型3,若为对角线右下,则选择模型4,若为竖直偏右,则选择模型5,若为水平偏下,则选择模型6,若为竖直偏左,则选择模型7,若为水平偏上,则选择模型8。
步骤4,利用步骤3选择的概率模型进行CABAC码流解析,得到一个bin,将该bin的值与步骤2中确定的pred_sp_mode_flag二进制化的各个值进行比较,若bin=0,则当前宏块的pred_sp_mode_flag=0,否则,pred_sp_mode_flag=1。
(3)对语法元素rem_sp_mode的解码过程
若码流中的pred_sp_mode_flag=0,则码流中还存在语法元素rem_sp_mode,为此,需要对语法元素rem_sp_mode进行解码操作,相应的解码步骤具体可以包括:
步骤1,为rem_sp_mode建立1个概率模型,并且进行相应的概率模型初始化,初始化概率模型为:m=3、n=40。
步骤2,由于rem_sp_mode的值为0~7中的任意一个数,所以需要对0~7进行二进制化处理;
具体可以采用一元码二进制化的方式进行二进制化处理,例如,0~0,1~10(rem_sp_mode的值为1时,对应的二进制化的值bin=10),2~110,3~1110,4~11110,5~111110,6~1111110,7~11111110。
步骤3,对当前要解码的bin的索引赋值为0,即binIndex=0。
步骤4,利用步骤1建立的概率模型进行当前bin的CABAC码流解析,得到一个bin;若所有解码的bin组合起来等于0~7二进制化所得到的值的任意一个,则rem_sp_mode为该值,否则,继续下个bin的CABAC码流解析,同时将binIndex加1;
例如,若解码得到的bin为0,而之前解码的三个bin都为1,则根据步骤2中的二进制化处理的结果可以确定rem_sp_mode=3。
实施例三
在该实施例三中,分别提供了基于二重预测的编码过程和解码过程,下面将分别进行说明。
(一)基于二重预测的编码过程
在该实施例三中,相应的基于二重预测的编码过程可以包括针对语法元素sop_flag的编码过程、对语法元素pred_sp_mode_flag的编码过程和对语法元素rem_sp_mode的编码过程,其中:
(1)对sop_flag语法元素的编码过程
对sop_flag语法元素进行编码的步骤可以包括:
步骤1,对sop_flag建立2个不同的概率模型,并进行相应的概率模型初始化,初始化为:m=0、n=63,m=21、n=0,令2个概率模型的标号分别为:0、1。
步骤2,对sop_flag语法元素的各个值进行二进制化。
而由于sop_flag的语法元素的取值为0或1,故不需要二进制化,相应的,若sop_flag=0,则二进制化的值bin=0,若sop_flag=1,则bin=1。
步骤3,根据当前宏块的宏块类型mb_type选择概率模型。
例如,若宏块类型为P16×16或P8×8,则可以选择概率模型0,若宏块类型为P16×8或者P8×16,则可以选择概率模型1。
步骤4,利用步骤3选择的概率模型,对步骤2中得到的二进制化的值bin进行CABAC编码。
(2)对语法元素pred_sp_mode_flag的编码过程
若sop_flag=1,则存在语法元素pred_sp_mode_flag,此时,需要对语法元素pred_sp_mode_flag进行编码,相应的编码步骤可以包括:
步骤1,对pred_sp_mode_flag建立3个概率模型,并进行相应的概率模型初始化,初始化为:m=0、n=63,m=12、n=23,m=17、n=0,令该三个概率模型的标号分别为:0~2。
步骤2,对pred_sp_mode_flag语法元素的各个值进行二进制化。
由于pred_sp_mode_flag的语法元素的取值为0或1,故不需要二进制化处理,相应的,若pred_sp_mode_flag=0则二进制化的值bin=0,若pred_sp_mode_flag=1,则bin=1。
步骤3,利用当前宏块类型mb_type进行概率模型的选择。
例如,若宏块类型为P16×16,则选择概率模型0,若宏块类型为P16×8或者P8×16,则选择概率模型1,若宏块类型为P8×8,则选择概率模型2。
步骤4,利用步骤3选择的概率模型,对步骤2中的二进制化的值bin进行CABAC编码。
(3)对语法元素rem_sp_mode的编码过程
若pred_sp_mode_flag=0,则存在语法元素rem_sp_mode,此时,则需要对语法元素rem_sp_mode进行编码,相应的编码步骤可以包括:
步骤1,为rem_sp_mode建立3个概率模型,并进行相应的概率模型初始化,初始化概率模型为:m=0、n=63,m=12、n=23,m=17、n=0。
步骤2,对rem_sp_mode语法元素的值进行二制进化处理;
由于rem_sp_mode语法元素的值为0~7中的任意一个数,故需要对0~7进行二进制化处理;具体地,可以采用0阶指数哥伦布码进行相应的二进制化处理,例如,0~1(即若rem_sp_mode语法元素的值为0,则相应的二进制化的值bin=1),1~010,2~011,3~00100,4~00101,5~00110,6~00111,7~0001000。
步骤3,对当前要编码的bin的索引赋值为0,即binIndex=0。
步骤4,利用当前宏块类型mb_type来进行概率模型的选择;
例如,若宏块类型为P16×16,则选择概率模型0,若宏块类型为P16×8或者P8×16,则选择概率模型1,若宏块类型为P8×8,则选择概率模型2。
步骤5,利用步骤4选择的概率模型,对第binldex个二进制化的值bin进行CABAC编码。
若步骤2中得到的全部二进制化的值bin没有编码完毕,则返回步骤4,同时还将bin的索引binIndex加1。
(二)基于二重预测的解码过程
在该实施例三中,相应的基于二重预测的解码过程可以包括针对语法元素sop_flag的解码过程、对语法元素pred_sp_mode_fag的解码过程和对语法元素rem_sp_mode的解码过程,其中:
(1)对sop_flag语法元素的解码过程
对sop_flag语法元素的解码步骤具体可以包括:
步骤1,为sop_flag建立2个不同的概率模型,并且进行相应的概率模型初始化,初始化为:m=0、n=63,m=21、n=0,令该2个概率模型的标号分别为:0、1。
步骤2,对sop_flag语法元素的各个值进行二进制化,由于sop_flag的语法元素的取值为0或1,故不需要对其二进制化处理。
步骤3,根据当前宏块的宏块类型mb_type选择得到概率模型;
例如,若宏块类型为P16×16或P8×8,则选择概率模型0,若宏块类型为P16×8或者P8×16,则选择概率模型1。
步骤4,利用步骤3选择的概率模型进行CABAC码流解析,得到一个bin,并将该bin的值与步骤2中确定的sop_flag二进制化的各个值进行比较,若bin=0,则当前宏块的sop_flag=0,否则,sop_flag=1。
(2)对语法元素pred_sp_mode_flag的解码过程
若码流中的sop_flag=1,则相应的码流中还存在语法元素pred_sp_mode_flag,此时,还需要对语法元素pred_sp_mode_flag进行解码操作,相应的解码步骤具体可以包括:
步骤1,为pred_sp_mode_flag建立3个概率模型,并进行相应的概率模型初始化,初始化为:m=0、n=63,m=12、n=23,m=17、n=0,令该三个概率模型的标号分别为:0~2。
步骤2,对pred_sp_mode_flag语法元素的各个值进行二进制化,由于pred_sp_mode_flag的语法元素的取值为0或1,故无需二进制化处理。
步骤3,利用当前宏块类型mb_type来进行概率模型的选择;
例如,若宏块类型为P16×16,则选择概率模型0,若宏块类型为P16×8或者P8×16,则选择概率模型1,若宏块类型为P8×8,则选择概率模型2。
步骤4,利用步骤3选择的概率模型进行CABAC码流解析,得到一个bin,并将该bin的值与步骤2中确定的pred_sp_mode_flag二进制化的各个值进行比较,若bin=0,则当前宏块的pred_sp_mode_flag=0,否则,pred_sp_mode_flag=1。
(3)对语法元素rem_sp_mode的解码过程
若码流中的pred_sp_mode_flag=0,则在相应的码流中还存在语法元素rem_sp_mode,故还需要对语法元素rem_sp_mode进行解码操作,相应的解码步骤具体可以包括:
步骤1,为rem_sp_mode建立3个概率模型,并且进行相应的概率模型初始化,初始化概率模型为:m=0、n=63,m=12、n=23,m=17、n=0。
步骤2,对rem_sp_mode语法元素的值进行二进制化处理;
由于rem_sp_mode的值为0~7中的任意一个数,故需要对0~7进行二进制化处理,具体可以采用0阶指数哥伦布码进行二进制化的方式进行相应的二进制化处理,例如,0~1(rem_sp_mode的值为0,则相应的二进制化的值bin=1),1~010,2~011,3~00100,4~00101,5~00110,6~00111,7~0001000。
步骤3,对当前要解码的bin的索引赋值为0,即binIndex=0。
步骤4,利用当前宏块类型mb_type来进行概率模型的选择,例如,若宏块类型为P16×16,则选择概率模型0,若宏块类型为P16×8或者P8×16,则选择概率模型1,若宏块类型为P8×8,则选择概率模型2。
步骤5,利用步骤4选择的概率模型进行当前bin的CABAC码流解析;
具体地,在得到一个bin后,若所有解码的bin组合起来等于0~7二进制化所得到的值的任意一个,则rem_sp_mode的值为该二进制化所得到的值对应的rem_sp_mode的值;否则,继续下一个bin的CABAC码流解析,同时还将binIndex加1;例如,若解码得到的bin为1,而之前解码的bin为0010,则相应的rem_sp_mode=4。
在上述各个本发明实施例中,由于采用了CABAC编解码方式对相应的二重预测参数信息进行编解码操作,从而可以有效利用二重预测参数信息中的语法元素出现的统计规律进行自适应编解码,即在编解码过程中,根据语法元素的统计规律设计相应的上下文模型(即概率模型),并根据相应的概率模型进行编解码操作,从而可以有效提高二重预测技术的编码性能,实现编码效率的提升。
下面将以两组实验测试结果进一步说明本发明实施例的应用可以产生的有益的技术效果。
(1)第一组实验测试的测试实验条件与性能结果如下:
参考软件:JM11.0KTA2.1,其为H.264/AVC关键技术领域参考软件;
预测编码结构为:IPPP,IBBP,IbBbBbBbP;
Rate-Distortion Optimization(率失真优化)打开;
QP of I(I帧的量化参数):22,27,23,27;
QP of P(P帧的量化参数):23,28,33,38;
QP of B(B帧的量化参数):24,29,34,39;
熵编码:CABAC ON(打开),CAVLC ON;
加权预测关闭;
其他测试设置参见现有的VCEG-AH10中的High Profile设置。
下表所示的实验结果为采用本发明实施例后的SOP(二重预测)性能与JM11.0KTA2.1性能对比后的改善情况:
Figure G2009100019702D0000171
在上表中,第一列表示不同的应用环境,HPIPPP、HPIBBP、HP IbBbBbBbP代表H.264/AVC高级档次IPPP、IBBP、IbBbBbBbP编码结构,BDPSNR代表平均码率下PSNR(峰值信噪比)的提升,BD_Bitrate代表平均PSNR码率的节省。
(2)第二组实验测试的测试实验条件与性能结果如下:
参考软件:JM11.0KTA2.1;
预测编码结构:IPPP;
Rate-Distortion Optimization打开;
QP of I:22,27,23,27;
QP of P:23,28,33,38;
熵编码:CABAC ON;
其他测试设置参见VCEG-AH10中的High Profile设置。
测试序列为HD(高分辨率)序列Crew(宇航员),测试长度为5帧,共统计20878个帧间宏块,且只有帧间宏块可以使用二重预测。
其中,针对三个有关二重预测的语法元素的编码过程中,分别采用了VLC编码和CABAC编码,相应的编码bit数如下表所示:
Figure G2009100019702D0000181
通过上表可以看出,采用CABAC编码相应的二重预测语法元素可以有效降低编码后的bit数目,从而提高编码性能,节省传输带宽。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
本发明实施例还提供了一种基于二重预测的编码装置,其具体实现结构如图9所示,可以包括:
参数获取单元91,用于获取二重预测过程中的二重预测参数信息,相应的二重预测参数信息可以但不限定为二重预测标记符号标识、模式预测准确标志或第二重模式信息中的一种或多种二重预测参数信息;
参数编码单元92,根据预先建立的概率模型对上述参数获取单元91获取的二重预测参数信息进行编码操作,并将编码结果写入编码码流。
在该装置中,相应的参数编码单元92具体可以包括:
编码概率模型确定单元921,用于在为当前编码的一种二重预测参数信息建立的至少一种概率模型中,为当前编码的一种二重预测参数信息确定对应的概率模型;
编码执行单元922,用于根据上述编码概率模型确定单元921确定的概率模型,对二进制化处理后的所述参数获取单元91获取的当前编码的一种二重预测参数信息进行编码操作。
具体地,若预先建立的该当前编码的一种二重预测参数信息对应的概率模型仅为一种概率模型,则相应的编码概率模型确定单元921可以直接将该概率模型作为当前编码的一种二重预测参数信息对应的概率模型。若预先建立的该当前编码的一种二重预测参数信息对应的概率模型为多种概率模型,则编码概率模型确定单元921具体可以采用以下任意一种或多种方式进行当前编码的一种二重预测参数信息对应的概率模型的选择:
(1)若所述二重预测参数信息中的一种二重预测参数信息为二重预测标记符号标识,则相应的编码概率模型确定单元921根据当前编码宏块的相邻左边块和相邻上边块的二重预测标记符号标识,或者,根据当前编码宏块的宏块类型,在为所述二重预测标记符号标识建立的多个概率模型中,为当前编码的二重预测标记符号标识选择对应的概率模型;
(2)若所述二重预测参数信息中的一种二重预测参数信息为模式预测准确标志,则相应的编码概率模型确定单元921根据当前编码宏块的最有可能采用的二重预测模式,或者,根据当前编码宏块的宏块类型,在为所述模式预测准确标志建立的多个概率模型中,为当前编码的模式预测准确标志选择对应的概率模型;
(3)若所述二重预测参数信息中的一种二重预测参数信息为第二重模式信息,则相应的编码概率模型确定单元921根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,或者,根据当前待编码宏块的宏块类型,在为所述第二重模式信息建立的多个概率模型中,为当前待编码的第二重模式信息选择对应的概率模型。可选地,若相应的编码概率模型确定单元921根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,为当前编码的第二重模式信息选择对应的概率模型,则所述选择的概率模型的索引等于当前编码宏块的最有可能采用的二重预测模式的序号乘以3后,再加上当前编码的二进制的值bin的索引值。
本发明实施例还提供了一种基于二重预测的解码装置,其具体实现结构如图10所示,可以包括:
编码码流接收单元101,用于获取二重预测过程中的二重预测参数信息对应的编码码流;
解码单元102,用于根据预先建立的概率模型对上述编码码流接收单元101二重预测参数信息对应的编码码流进行解码操作,以获得相应的二重预测参数信息。
在该装置中,相应的解码单元102具体可以包括:
解码概率模型确定单元1021,用于在为当前解码的一种二重预测参数信息建立的至少一种概率模型中,为当前解码的一种二重预测参数信息确定对应的概率模型;
解码执行单元1022,用于根据上述解码概率模型确定单元1021确定的概率模型,对上述编码码流接收单元101获取的当前解码的一种二重预测参数信息对应的编码码流进行解码操作,获得所述一种二重预测参数信息。
具体地,与编码端对应,在解码端,若预先建立的该当前编码的一种二重预测参数信息对应的概率模型仅为一种概率模型,则相应的解码概率模型确定单元1021可以直接将该概率模型作为当前编码的一种二重预测参数信息对应的概率模型。若预先建立的该当前编码的一种二重预测参数信息对应的概率模型为多种概率模型,则相应的解码概率模型确定单元1021具体可以采用以下任意一种或多种方式进行当前编码的一种二重预测参数信息对应的概率模型的选择:
(1)当所述二重预测参数信息中的一种二重预测参数信息为二重预测标记符号标识时,相应的解码概率模型确定单元1021根据当前解码宏块的相邻左边块和相邻上边块的二重预测标记符号标识,或者,根据当前解码宏块的宏块类型,在为所述二重预测标记符号标识建立的多个概率模型中,为当前解码的二重预测标记符号标识选择对应的概率模型;
(2)当所述二重预测参数信息中的一种二重预测参数信息为模式预测准确标志时,相应的解码概率模型确定单元1021根据当前解码宏块的最有可能采用的二重预测模式,或者,根据当前解码宏块的宏块类型,在为所述模式预测准确标志建立的多个概率模型中,为当前解码的模式预测准确标志选择对应的概率模型;
(3)当所述二重预测参数信息中的一种二重预测参数信息为第二重模式信息时,相应的解码概率模型确定单元1021根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,或者,根据当前解码宏块的宏块类型,在为所述第二重模式信息建立的多个概率模型中,为当前解码的第二重模式信息选择对应的概率模型。可选地,若相应的解码概率模型确定单元1021根据当前解码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,为当前解码的第二重模式信息选择对应的概率模型,则所述选择的概率模型的索引等于当前解码宏块的最有可能采用的二重预测模式的序号乘以3后,再加上当前解码的二进制的值bin的索引值。
进一步地,解码端的基于二重预测的解码装置可以通过相应的二重预测的上下文自适应算术解码器实现。参照图11所示,接收到的编码码流先通过相应的解码概率模型确定单元1021确定相应的sop_flag概率模型,pred_sp_mode_flag概率模型或rem_sp_mode概率模型;之后,根据相应的概率模型进行位值bin(即二进制化的值)的译码处理;最后,根据位值bin译码结果实现sop_flag、pred_sp_mode_flag和rem_sp_mode语法元素译码,即确定相应的sop_flag、pred_sp_mode_flag和rem_sp_mode语法元素的值。可见通过该解码器便可以从编码码流中根据二重预测标记符号标识sop_flag、模式预测准确标志pred_sp_mode_flag、第二重模式解码信息rem_sp_mode的概率模型,解码获得该三种语法元素的值。
本发明实施例还提供了一种编解码系统,其包括上述基于二重预测的编码装置和基于二重预测的解码装置。
在上述装置中采用基于建立的相应概率模型进行编解码操作的实现方案,从而可以有效提高针对二重预测过程中的二重预测参数信息的编码性能,降低了编码码流占用的传输带宽。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (16)

1.一种基于二重预测的编码方法,其特征在于,包括:
获取二重预测过程中的二重预测参数信息;
根据预先建立的概率模型对所述二重预测参数信息进行编码操作,并将编码结果写入编码码流。
2.根据权利要求1所述的方法,其特征在于,对所述二重预测参数信息进行编码操作的步骤包括:
在为当前编码的二重预测参数信息建立的至少一种概率模型中,为当前编码的二重预测参数信息确定对应的概率模型;
根据确定的所述对应的概率模型,对二进制化处理后的所述当前编码的二重预测参数信息进行编码操作。
3.根据权利要求2所述的方法,其特征在于,
当所述二重预测参数信息中的二重预测参数信息为二重预测标记符号标识时,所述确定对应的概率模型的步骤包括:根据当前编码宏块的相邻左边块和相邻上边块的二重预测标记符号标识,或者,根据当前编码宏块的宏块类型,在为所述二重预测标记符号标识建立的至少一个概率模型中,为当前编码的二重预测标记符号标识选择对应的概率模型;
和/或,
当所述二重预测参数信息中的二重预测参数信息为模式预测准确标志时,所述确定对应的概率模型的步骤包括:根据当前编码宏块的最有可能采用的二重预测模式,或者,根据当前编码宏块的宏块类型,在为所述模式预测准确标志建立的至少一个概率模型中,为当前编码的模式预测准确标志选择对应的概率模型;
和/或,
当所述二重预测参数信息中的二重预测参数信息为第二重模式信息时,所述确定对应的概率模型的步骤包括:根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,或者,根据当前编码宏块的宏块类型,在为所述第二重模式信息建立的至少一个概率模型中,为当前编码的第二重模式信息选择对应的概率模型。
4.根据权利要求3所述的方法,其特征在于,若根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,为当前编码的第二重模式信息选择对应的概率模型,则所述选择的概率模型的索引等于当前编码宏块的最有可能采用的二重预测模式的序号乘以3后,再加上当前编码的二进制的值bin的索引值。
5.一种基于二重预测的图像编码装置,其特征在于,包括:
参数获取单元,用于获取二重预测过程中的二重预测参数信息;
参数编码单元,根据预先建立的概率模型对所述参数获取单元获取的二重预测参数信息进行编码操作,并将编码结果写入编码码流。
6.根据权利要求5所述的装置,其特征在于,所述参数编码单元包括:
编码概率模型确定单元,用于在为当前编码的二重预测参数信息建立的至少一种概率模型中,为当前编码的二重预测参数信息确定对应的概率模型;
编码执行单元,用于根据所述编码概率模型确定单元确定的概率模型,对二进制化处理后的所述参数获取单元获取的当前编码的二重预测参数信息进行编码操作。
7.根据权利要求6所述的装置,其特征在于,
若所述二重预测参数信息中的二重预测参数信息为二重预测标记符号标识,则所述编码概率模型确定单元根据当前编码宏块的相邻左边块和相邻上边块的二重预测标记符号标识,或者,根据当前编码宏块的宏块类型,在为所述二重预测标记符号标识建立的至少一个概率模型中,为当前编码的二重预测标记符号标识选择对应的概率模型;
和/或,
若所述二重预测参数信息中的二重预测参数信息为模式预测准确标志,则所述编码概率模型确定单元根据当前编码宏块的最有可能采用的二重预测模式,或者,根据当前编码宏块的宏块类型,在为所述模式预测准确标志建立的至少一个概率模型中,为当前编码的模式预测准确标志选择对应的概率模型;
和/或,
若所述二重预测参数信息中的二重预测参数信息为第二重模式信息,则编码概率模型确定单元根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,或者,根据当前待编码宏块的宏块类型,在为所述第二重模式信息建立的至少一个概率模型中,为当前待编码的第二重模式信息选择对应的概率模型。
8.根据权利要求7所述的装置,其特征在于,若所述概率模型确定单元根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,为当前编码的第二重模式信息选择对应的概率模型,则所述选择的概率模型的索引等于当前编码宏块的最有可能采用的二重预测模式的序号乘以3后,再加上当前编码的二进制的值bin的索引值。
9.一种基于二重预测的图像解码方法,其特征在于,包括:
获取二重预测过程中的二重预测参数信息对应的编码码流;
根据预先建立的概率模型对所述二重预测参数信息对应的编码码流进行解码操作,获得所述二重预测参数信息。
10.根据权利要求9所述的方法,其特征在于,对所述二重预测参数信息进行解码操作的步骤包括:
在为当前解码的一种二重预测参数信息建立的至少概率模型中,为当前解码的二重预测参数信息确定对应的概率模型;
根据确定的概率模型,对当前解码的二重预测参数信息对应的编码码流进行解码操作,获得所述二重预测参数信息。
11.根据权利要求10所述的方法,其特征在于,
当所述二重预测参数信息中的二重预测参数信息为二重预测标记符号标识时,所述确定对应的概率模型的步骤包括:根据当前解码宏块的相邻左边块和相邻上边块的二重预测标记符号标识,或者,根据当前解码宏块的宏块类型,在为所述二重预测标记符号标识建立的至少一个概率模型中,为当前解码的二重预测标记符号标识选择对应的概率模型;
和/或,
当所述二重预测参数信息中的二重预测参数信息为模式预测准确标志时,所述确定对应的概率模型的步骤包括:根据当前解码宏块的最有可能采用的二重预测模式,或者,根据当前解码宏块的宏块类型,在为所述模式预测准确标志建立的至少一个概率模型中,为当前解码的模式预测准确标志选择对应的概率模型;
和/或,
当所述二重预测参数信息中的二重预测参数信息为第二重模式信息时,所述确定对应的概率模型的步骤包括:根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,或者,根据当前解码宏块的宏块类型,在为所述第二重模式信息建立的至少一个概率模型中,为当前解码的第二重模式信息选择对应的概率模型。
12.根据权利要求11所述的方法,其特征在于,若根据当前解码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,为当前解码的第二重模式信息选择对应的概率模型,则所述选择的概率模型的索引等于当前解码宏块的最有可能采用的二重预测模式的序号乘以3后,再加上当前解码的二进制的值bin的索引值。
13.一种基于二重预测的解码装置,其特征在于,包括:
编码码流接收单元,用于获取二重预测过程中的二重预测参数信息对应的编码码流;
解码单元,用于根据预先建立的概率模型对所述编码码流接收单元二重预测参数信息对应的编码码流进行解码操作,获得所述二重预测参数信息。
14.根据权利要求13所述的装置,其特征在于,所述解码单元包括:
解码概率模型确定单元,用于在为当前解码的二重预测参数信息建立的至少一种概率模型中,为当前解码的二重预测参数信息确定对应的概率模型;
解码执行单元,用于根据所述解码概率模型确定单元确定的概率模型,对所述编码码流接收单元获取的当前解码的二重预测参数信息对应的编码码流进行解码操作,获得所述二重预测参数信息。
15.根据权利要求14所述的装置,其特征在于,
当所述二重预测参数信息中的二重预测参数信息为二重预测标记符号标识时,所述解码概率模型确定单元根据当前解码宏块的相邻左边块和相邻上边块的二重预测标记符号标识,或者,根据当前解码宏块的宏块类型,在为所述二重预测标记符号标识建立的至少一个概率模型中,为当前解码的二重预测标记符号标识选择对应的概率模型;
和/或,
当所述二重预测参数信息中的二重预测参数信息为模式预测准确标志时,所述解码概率模型确定单元根据当前解码宏块的最有可能采用的二重预测模式,或者,根据当前解码宏块的宏块类型,在为所述模式预测准确标志建立的至少一个概率模型中,为当前解码的模式预测准确标志选择对应的概率模型;
和/或,
当所述二重预测参数信息中的一二重预测参数信息为第二重模式信息时,所述解码概率模型确定单元根据当前编码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,或者,根据当前解码宏块的宏块类型,在为所述第二重模式信息建立的至少一个概率模型中,为当前解码的第二重模式信息选择对应的概率模型。
16.根据权利要求15所述的装置,其特征在于,若所述解码概率模型确定单元根据当前解码宏块的最有可能采用的二重预测模式及当前编码的二进制的值bin的索引,为当前解码的第二重模式信息选择对应的概率模型,则所述选择的概率模型的索引等于当前解码宏块的最有可能采用的二重预测模式的序号乘以3后,再加上当前解码的二进制的值bin的索引值。
CN2009100019702A 2009-01-24 2009-01-24 基于二重预测的编解码方法及装置 Active CN101790096B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2009100019702A CN101790096B (zh) 2009-01-24 2009-01-24 基于二重预测的编解码方法及装置
PCT/CN2010/070191 WO2010083743A1 (zh) 2009-01-24 2010-01-14 基于二重预测的编解码方法及装置
EP10733216A EP2391133A4 (en) 2009-01-24 2010-01-14 CODING / DECODING METHOD AND DEVICE BASED ON DOUBLE PREDICTION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100019702A CN101790096B (zh) 2009-01-24 2009-01-24 基于二重预测的编解码方法及装置

Publications (2)

Publication Number Publication Date
CN101790096A true CN101790096A (zh) 2010-07-28
CN101790096B CN101790096B (zh) 2013-03-13

Family

ID=42355539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100019702A Active CN101790096B (zh) 2009-01-24 2009-01-24 基于二重预测的编解码方法及装置

Country Status (3)

Country Link
EP (1) EP2391133A4 (zh)
CN (1) CN101790096B (zh)
WO (1) WO2010083743A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012097675A1 (zh) * 2011-01-18 2012-07-26 华为技术有限公司 基于图像块的帧内预测模式的编解码方法和编解码器
CN104104950A (zh) * 2013-04-12 2014-10-15 浙江大学 一种模式信息的编解码方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112014023948B1 (pt) * 2012-03-28 2021-05-25 JVC Kenwood Corporation dispositivo de decodificação de imagem
US9538172B2 (en) * 2012-04-11 2017-01-03 Qualcomm Incorporated Grouping bypass coded syntax elements in video coding
US10715833B2 (en) 2014-05-28 2020-07-14 Apple Inc. Adaptive syntax grouping and compression in video data using a default value and an exception value

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3002939A3 (en) * 2006-11-24 2016-06-08 NEC Corporation Coding and decoding device, coding and decoding method and program
CN101159875B (zh) * 2007-10-15 2011-10-05 浙江大学 二重预测视频编解码方法和装置
CN101262607B (zh) * 2008-04-11 2011-06-15 浙江大学 二重预测视频编解码方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012097675A1 (zh) * 2011-01-18 2012-07-26 华为技术有限公司 基于图像块的帧内预测模式的编解码方法和编解码器
CN104104950A (zh) * 2013-04-12 2014-10-15 浙江大学 一种模式信息的编解码方法及装置
CN104104950B (zh) * 2013-04-12 2018-03-02 浙江大学 一种模式信息的编解码方法及装置

Also Published As

Publication number Publication date
EP2391133A4 (en) 2012-07-25
WO2010083743A1 (zh) 2010-07-29
CN101790096B (zh) 2013-03-13
EP2391133A1 (en) 2011-11-30

Similar Documents

Publication Publication Date Title
US20230247229A1 (en) Video encoding method for encoding division block, video decoding method for decoding division block, and recording medium for implementing the same
CN101448162B (zh) 处理视频图像的方法
CN102045560B (zh) 一种视频编解码方法及设备
CN102316320B (zh) 处理视频图像的方法
CN104581161B (zh) 通过使用大型变换单元编码和解码图像的方法和设备
CN1316433C (zh) 视频信息编码方法和视频信息解码方法
CN103270700B (zh) 使用平面表达的增强帧内预测编码
CN102098519B (zh) 视频编码方法、解码方法、编码及解码装置
CN103380622A (zh) 帧内预测模式编码/解码方法和用于其的设备
CN103404141A (zh) 使用变换的视频编码和解码
CN103931180A (zh) 图像解码设备
KR20130006689A (ko) 비디오 데이터의 코딩을 위한 가변 길이 코드들
CN104967857A (zh) 对图像进行编码/解码的方法和设备
KR20110010324A (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN103782600A (zh) 速率失真优化的图像编码/解码方法和执行该方法的设备
CN107040785A (zh) 图像解码和图像编码的方法和装置
CN102215392B (zh) 用于估计像素值的帧内预测方法或装置
CN101790096B (zh) 基于二重预测的编解码方法及装置
KR20130072139A (ko) 적응적인 후보 예측 모드에 따른 인트라 예측 부호화 방법 및 그 장치
CN105791868A (zh) 视频编码的方法和设备
CN102984522A (zh) 一种亮度变换域帧内预测编解码方法和系统
CN112135147B (zh) 编码方法、解码方法及装置
CN102065299B (zh) 一种视频编码的自适应扫描重排序方法和系统
CN103402094A (zh) 一种变换域色度帧内预测编解码方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Free format text: FORMER OWNER: ZHEJIANG UNIVERSITY

Effective date: 20140515

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140515

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Patentee before: Zhejiang University

TR01 Transfer of patent right

Effective date of registration: 20210422

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Device Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right