CN109005408B - 一种帧内预测方法、装置及电子设备 - Google Patents

一种帧内预测方法、装置及电子设备 Download PDF

Info

Publication number
CN109005408B
CN109005408B CN201810865392.6A CN201810865392A CN109005408B CN 109005408 B CN109005408 B CN 109005408B CN 201810865392 A CN201810865392 A CN 201810865392A CN 109005408 B CN109005408 B CN 109005408B
Authority
CN
China
Prior art keywords
value
brightness
coding block
chroma
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810865392.6A
Other languages
English (en)
Other versions
CN109005408A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810865392.6A priority Critical patent/CN109005408B/zh
Publication of CN109005408A publication Critical patent/CN109005408A/zh
Application granted granted Critical
Publication of CN109005408B publication Critical patent/CN109005408B/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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component

Abstract

本发明实施例提供了一种帧内预测方法、装置及电子设备。所述方法包括:获取预先建立的亮度与色度映射表;其中,所述亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的;针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到所述当前编码块中每个亮度值的重构值;查询所述亮度与色度映射表中、所述当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。应用本发明实施例,可以提高帧内预测的准确性。

Description

一种帧内预测方法、装置及电子设备
技术领域
本发明涉及视频编码技术领域,特别是涉及一种帧内预测方法、装置及电子设备。
背景技术
帧内预测编码技术是视频帧内块编码的主流技术。在帧内预测编码技术中,对当前编码块的帧内预测,是帧内预测编码技术的一项必须内容。在高效视频编码技术(HighEfficiency Video Coding,简称HEVC)的制定使用过程中,提出了组件间线性模型预测技术(cross-component linear modelprediction,简称CCLM)。针对当前编码块,包含当前亮度编码块和当前色度编码块,在CCLM预测模式中,使用重构后的亮度块对当前色度编码块进行预测,其中,预测所使用的模型为:
predC(i,j)=α·recL′(i,j)+β
其中,recL′(i,j)是当前亮度编码块的重构,α和β是拟合系数,predC(i,j)是当前色度编码块的预测。
具体的,在预测过程中,对当前亮度编码块进行预测采用的方法可参照现有H.264中对当前编码块的预测。H.264中对当前编码块的预测具体为:根据该当前编码块的左相邻列和上相邻行的参考块以及预设方向进行直线预测得到。如图1所示,当前编码块是一个8×8的编码块,三角形所示是当前编码块的左相邻列和上相邻行的参考像素的像素值,针对当前编码块进行帧内预测,首先规定一个预设方向,对当前编码块中的每一行或列中块对应像素值的预测,可以根据该预设方向以及当前编码块的左相邻列和上相邻行的像素值获得。示例性的,如图1所示当前编码块第六行的像素值,根据图1所示方向映射到当前编码块上相邻行的像素位置如图1中圆点所示,由于圆点映射位置不在当前编码块上相邻行像素的整像素点位置,所以这些圆点的像素值需要通过插值算法根据圆点的像素坐标和已知整像素点(图1中所示当前编码块上相邻行中三角形像素点为整像素点)的值计算得到,然后,将计算得到的圆点像素值作为当前编码块第六行的预测像素值,得到该当前编码块第六行对应的预测块。
在CCLM预测模式中采用H.264中对当前编码块的预测方法,来对当前亮度编码块进行预测,得到当前亮度编码块的预测块。
在得到当前亮度编码块的预测块之后,对当前亮度编码块与预测块的残差依次执行DCT(Discrete Cosine Transform,离散余弦变换)变换、量化、反量化、反DCT变换,得到当前亮度编码块的重构。然后,针对所得到的当前亮度编码块的重构以及当前色度编码块,将当前亮度编码块的中亮度值的重构值以及当前色度编码块的色度值,代入到上述模型中,使用最小二乘法拟合获得α和β的值。最后,基于重构后的当前亮度编码块以及计算得到的α和β的值,应用上述模型对当前色度编码块进行预测,获得当前色度编码块的预测块,得到当前色度编码块的色度预测值,即得到当前编码块的色度预测值。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
现有使用CCLM预测模式基于亮度编码块对色度编码块的预测,因预测过程中,对当前亮度编码块预测,并获取到当前亮度编码块的重构之后,对当前色度编码块的预测采用的模型是线性的,线性的模型所能够涵盖的范围较窄,有一定的局限性,影响预测的准确性。
发明内容
本发明实施例的目的在于提供一种帧内预测方法、装置及电子设备,以提高帧内预测的准确性。具体技术方案如下:
第一方面,本发明实施例提供了一种帧内预测方法,所述方法包括:
获取预先建立的亮度与色度映射表;其中,所述亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的;
针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到所述当前编码块中每个亮度值的重构值;
查询所述亮度与色度映射表中、所述当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
可选的,所述亮度与色度映射表建立的步骤,包括:
获取当前编码块的所有参考像素点的亮度值和色度值;其中,所述参考像素点包括:与所述当前编码块左相邻列和上相邻行的多个像素点;
基于所获取的亮度值和色度值,获取每一相同亮度值对应色度值的累积像素和、每一相同亮度值对应的像素数目;
遍历每一所述像素数目,基于所述累积像素和、以及像素数目,计算所述像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表。
可选的,所述遍历每一所述像素数目,基于所述累积像素和、以及像素数目,计算所述像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表的步骤,包括:
遍历每一所述像素数目,判断所述像素数目是否大于零;
如果所述像素数目大于零,则计算所述像素数目对应的累积像素和的均值,并将所述均值确定为所述像素数目对应的亮度值所对应的色度值;
或者,如果所述像素数目不大于零,则将负一确定为所述像素数目对应的亮度值所对应的色度值;
根据所述像素数目对应的亮度值所对应的色度值,获得亮度与色度映射表。
可选的,所述根据所述像素数目对应的亮度值所对应的色度值,获得亮度与色度映射表的步骤,包括:
获取所述亮度与色度映射表中为负一的色度值所在位置所对应的亮度值,将所获取的亮度值,作为第一亮度值;
判断所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值,是否全部为负一;
如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值全部为负一,则将另一侧最近相邻位置对应亮度值所对应的不为负一的色度值,确定为所述第一亮度值对应的色度值;
或者,如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则通过双线性滤波方法,计算获得所述第一亮度值对应的色度值;
更新所述亮度与色度映射表。
可选的,所述查询所述亮度与色度映射表中、所述当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值的步骤,包括:
判断所述当前编码块中亮度值的个数与待确定色度值的个数是否一致;
如果所述当前编码块中亮度值的个数与待确定色度值的个数一致,则查询所述亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值;
或者,如果所述当前编码块中亮度值的个数与待确定色度值的个数不一致,则对所述当前编码块中亮度值的重构值进行下采样,获得采样编码块中每个亮度值的重构值,查询所述亮度与色度映射表中、采样编码块中每个亮度值的重构值,获得所述采样编码块中每个亮度值的重构值所对应的色度值,将所述采样编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值;所述采样编码块中亮度值的个数与所述当前编码块中待确定色度值的个数一致。
第二方面,本发明实施例还提供了一种帧内预测装置,所述装置包括:
获取模块,用于获取预先建立的亮度与色度映射表;其中,所述亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的;
计算模块,用于针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到所述当前编码块中每个亮度值的重构值;
查询模块,用于查询所述亮度与色度映射表中、所述当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
可选的,所述获取模块,包括:
第一获取子模块,用于获取当前编码块的所有参考像素点的亮度值和色度值;其中,所述参考像素点包括:与所述当前编码块左相邻列和上相邻行的多个像素点;
第二获取子模块,用于基于所获取的亮度值和色度值,获取每一相同亮度值对应色度值的累积像素和、每一相同亮度值对应的像素数目;
计算子模块,用于遍历每一所述像素数目,基于所述累积像素和、以及像素数目,计算所述像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表。
可选的,所述计算子模块,包括:
遍历子模块,用于遍历每一所述像素数目;
第一判断子模块,用于判断所述像素数目是否大于零;如果所述像素数目大于零,则计算所述像素数目对应的累积像素和的均值,将所述均值确定为所述像素数目对应的亮度值所对应的色度值;如果所述像素数目不大于零,则将负一确定为所述像素数目对应的亮度值所对应的色度值;
获得子模块,用于根据所述像素数目对应的亮度值所对应的色度值,获得亮度与色度映射表。
可选的,所述获得子模块,包括:
第三获取子模块,用于获取所述亮度与色度映射表中为负一的色度值所在位置对应的亮度值,将所获取的亮度值,作为第一亮度值;
第二判断子模块,用于判断所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值,是否全部为负一;如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值全部为负一,则将另一侧最近相邻位置对应亮度值所对应的不为负一的色度值,确定为所述第一亮度值对应的色度值;如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则通过双线性滤波方法,计算获得所述第一亮度值对应的色度值;
更新子模块,用于更新所述亮度与色度映射表。
可选的,所述查询模块,包括:
第三判断子模块,用于判断所述当前编码块中亮度值的个数与待确定色度值的个数是否一致;
第一查询子模块,用于在所述当前编码块中亮度值的个数与待确定色度值的个数一致时,则查询所述亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值;
第二查询子模块,用于在所述当前编码块中亮度值的个数与待确定色度值的个数不一致时,则对所述当前编码块中亮度值的重构值进行下采样,获得采样编码块中每个亮度值的重构值,查询所述亮度与色度映射表中、采样编码块中每个亮度值的重构值,获得所述采样编码块中每个亮度值的重构值所对应的色度值,将所述采样编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值;所述采样编码块中亮度值的个数与所述当前编码块中待确定色度值的个数一致。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的一种帧内预测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的一种帧内预测方法。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的一种帧内预测方法。
本发明实施例提供的一种帧内预测方法、装置及电子设备,获取预先建立的亮度与色度映射表;其中,所述亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的;针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到所述当前编码块中每个亮度值的重构值;查询所述亮度与色度映射表中、所述当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
本发明实施例,获取基于当前编码块所有参考像素点的亮度值和色度值所建立的亮度与色度映射表,然后,针对当前编码块中每个亮度值的重构值,从所获取的亮度与色度映射表中,查询亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得当前编码块中每个亮度值的重构值所对应的色度值,将该当前编码块中每个亮度值的重构值所对应的色度值确定为当前编码块的色度值。因该亮度与色度映射表,是在当前编码块所有参考像素点的亮度值和色度值的全分布域基础上建立的,避免了线性模型涵盖范围窄所造成的局限性,可以提高帧内预测的准确性。进一步地,本发明实施例不采用现有的线性模型,不需要计算α和β的值,在帧内预测编码的过程中,可以减少α和β的值进入码流中需要占有的码率,进而可以提高帧内预测编码的效率。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术中帧内预测编码块的一种结构图;
图2为本发明实施例中帧内预测编码块的一种结构图;
图3为本发明实施例提供的一种帧内预测方法的流程图;
图4为图3所示实施例步骤S301中亮度与色度映射表的一种实现方式流程图;
图5为图4所示实施例中步骤S403的一种实施方式流程图;
图6为图5所示实施例中步骤S4035的一种实施方式流程图;
图7为图3所示实施例中步骤S303的一种实施方式流程图;
图8为本发明实施例提供的一种帧内预测装置的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
针对现有技术中,使用CCLM预测模式对当前编码块进行帧内预测,基于亮度编码块对色度编码块预测采用的模型是线性的,模型所能够涵盖的范围较窄,影响预测准确性的问题。本发明实施例提供了一种帧内预测方法、装置及电子设备,以提高帧内预测的准确性。
为了解决上述现有技术问题,本发明实施例提供的一种帧内预测方法,该方法包括:
获取预先建立的亮度与色度映射表;其中,所述亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的;
针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到所述当前编码块中每个亮度值的重构值;
查询所述亮度与色度映射表中、所述当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
本发明实施例,获取基于当前编码块所有参考像素点的亮度值和色度值所建立的亮度与色度映射表,然后,针对当前编码块中每个亮度值的重构值,从所获取的亮度与色度映射表中,查询亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得当前编码块中每个亮度值的重构值所对应的色度值,将该当前编码块中每个亮度值的重构值所对应的色度值确定为当前编码块的色度值。因该亮度与色度映射表,是在当前编码块所有参考像素点的亮度值和色度值的全分布域基础上建立的,避免了线性模型涵盖范围窄所造成的局限性,可以提高帧内预测的准确性。进一步地,本发明实施例不采用现有的线性模型,不需要计算α和β的值,在帧内预测编码的过程中,可以减少α和β的值进入码流中需要占有的码率,进而可以提高帧内预测编码的效率。
下面首先对本发明实施例所提供的一种帧内预测方法进行介绍。
实际应用中,对当前帧进行预测时,需要将当前帧划分成多个块才能进一步实现预测,宏块是由整数个块组成的。本发明实施例中,当前编码块可以是当前帧中待编码的块,也可以是当前帧中待编码的宏块,具体的本领域技术人员可根据实际需求来确定,本发明在此不作限制。
当前编码块,可以包含当前亮度编码块和当前色度编码块,当前亮度编码块对应有亮度值,当前色度编码块对应有色度值。本发明实施例中,当前编码块包含当前亮度编码块和当前色度编码块,其对应有亮度值和色度值。
本发明实施例中,当前编码块可以包含:一个当前亮度编码块和两个当前色度编码块,该当前亮度编码块的亮度值可用Y表示,两个当前色度编码块的色度值可用U和V表示。具体的,可以如图2所示,图2为本发明实施例中帧内预测编码块的一种结构图,其中,Chroma为当前色度编码块,Luma为当前亮度编码块,N为组成当前色度编码块的块数,N的具体取值本领域技术人员可根据实际需求进行划分,比如N的取值可以为4、8、16或32等,本发明在此不作限制。
如图3所示,图3为本发明实施例提供的一种帧内预测方法的流程图,该方法可以包括:
S301,获取预先建立的亮度与色度映射表;其中,亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的。
本发明实施例中,一种可选的实现方式为:对当前帧中的当前编码块进行帧内预测时,可以先获取针对当前编码块预先建立的亮度与色度映射表,该亮度与色度映射表是:预先基于当前帧中的当前编码块的所有参考像素点的亮度值和色度值建立的。具体的,亮度与色度映射表的形式及建立过程在下文进行详细介绍。
S302,针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到当前编码块中每个亮度值的重构值。
对当前帧中的当前编码块进行帧内预测时,可以针对当前编码块中当前亮度编码块的每个亮度值,根据预设的方向以及当前编码块中当前亮度编码块参考像素点的亮度值进行预测,并计算得到当前编码块中当前亮度编码块每个亮度值的重构值。
其中,预设方向为:帧内预测时规定的一个预测方向,实际应用中本领域技术人员可根据需求进行规定,本发明在此不作限制。
本发明实施例中,一种针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到当前编码块中每个亮度值的重构值的实现方式可以为:
S3021,针对当前编码块中的每个亮度值,根据预设方向以及当前编码块的左相邻列和上相邻行参考像素点的亮度值,分别对当前编码块中每个亮度值进行预测,得到当前编码块中每个亮度值的预测值。
针对当前编码块中当前亮度编码块的每个亮度值,根据预设方向以及当前编码块的左相邻列和上相邻行参考像素点的亮度值,分别对当前编码块中当前亮度编码块每个亮度值进行预测,得到当前编码块中当前亮度编码块每个亮度值的预测值。具体的,得到当前编码块中当前亮度编码块每个亮度值的预测值的过程,可以参考现有技术的实现,本发明在此不作赘述。
S3022,基于当前编码块中每个亮度值的预测值,计算得到当前编码块中每个亮度值的残差。
在获得当前编码块中当前亮度编码块每个亮度值的预测值之后,将当前编码块中当前亮度编码块每个亮度值,与当前编码块中当前亮度编码块每个亮度值的预测值相减,计算得到当前编码块中当前亮度编码块每个亮度值的残差。
S3023,基于当前编码块中每个亮度值的残差,得到当前编码块中每个亮度值的重构值。
在计算得到当前编码块中当前亮度编码块每个亮度值的残差之后,对得到的残差依次执行DCT变换(Discrete Cosine Transform,离散余弦变换)、量化、反量化、反DCT变换,得到当前编码块中当前亮度编码块每个亮度值的重构值。
其中,对得到的残差依次执行DCT变换(Discrete Cosine Transform,离散余弦变换)、量化、反量化、反DCT变换的过程可参见现有技术的实现,本发明在此不作赘述。
S303,查询亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得当前编码块中每个亮度值的重构值所对应的色度值,将当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
针对当前编码块,在获取到预先建立的亮度与色度映射表、以及得到当前编码块中当前亮度编码块每个亮度值的重构值之后,可以基于该当前编码块中当前亮度编码块每个亮度值的重构值、以及亮度与色度映射表,进一步得到当前编码块中当前亮度编码块每个亮度值的重构值所对应的当前色度编码块的色度值。
具体的,在获取到亮度与色度映射表、以及得到当前编码块中当前亮度编码块每个亮度值的重构值之后,可以查询该亮度与色度映射表中当前编码块中当前亮度编码块每个亮度值的重构值,获得当前编码块中当前亮度编码块每个亮度值的重构值所对应的色度值,然后,将当前编码块中当前亮度编码块每个亮度值的重构值所对应的色度值,确定为当前编码块中当前色度编码块的色度值。
可以理解的是,本发明实施例中针对当前编码块进行预测,基于该当前编码块中当前亮度编码块每个亮度值的重构值和亮度与色度映射表,进一步预测得到当前编码块中当前亮度编码块每个亮度值的重构值所对应的当前色度编码块的色度值。其中,当亮度与色度映射表中的色度值对应的是U值时,则预测得到的为该当前色度编码块的色度值为U值;当亮度与色度映射表中的色度值对应的是V值时,则预测得到的为该当前色度编码块的色度值为V值。
本发明实施例,获取基于当前编码块所有参考像素点的亮度值和色度值所建立的亮度与色度映射表,然后,针对当前编码块中每个亮度值的重构值,从所获取的亮度与色度映射表中,查询亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得当前编码块中每个亮度值的重构值所对应的色度值,将该当前编码块中每个亮度值的重构值所对应的色度值确定为当前编码块的色度值。因该亮度与色度映射表,是在当前编码块所有参考像素点的亮度值和色度值的全分布域基础上建立的,避免了线性模型涵盖范围窄所造成的局限性,可以提高帧内预测的准确性。进一步地,本发明实施例不采用现有的线性模型,不需要计算α和β的值,在帧内预测编码的过程中,可以减少α和β的值进入码流中需要占有的码率,进而可以提高帧内预测编码的效率。
为了解决现有技术问题,在图3所示实施例的基础上,如图4所示,图4为图3所示实施例步骤S301中亮度与色度映射表的一种实现方式流程图,该方式可以包括:
S401,获取当前编码块的所有参考像素点的亮度值和色度值;其中,参考像素点包括:与当前编码块左相邻列和上相邻行的多个像素点。
对当前帧中的当前编码块进行帧内预测时,可以先获取该当前编码块的参考像素点,具体的,可以获取该当前编码块的所有参考像素点的亮度值和色度值。本发明实施例中一种可选的实现方式为:选取该当前编码块的左相邻列和上相邻行的多个像素点,作为该当前编码块的参考像素点。
在实际应用中,可以选取当前编码块的左边相邻一列和上边相邻一行的多个像素点,作为该当前编码块的参考像素点;也可以选取当前编码块的左边相邻多列和上边相邻多行的多个像素点,作为该当前编码块的参考像素点。具体的,本领域技术人员可根据实际需求,针对当前编码块选取其左边相邻一列或多列、上边相邻一行或多行像素点,作为该当前编码块的参考像素点,本发明在此不作限制。
当然,本发明实施例中,只是以选取该当前编码块的左相邻列和上相邻行的多个像素点为参考像素点作为示例进行说明,此参考像素点的选取方式并不能构成对本发明的限制,本领域技术人员可根据实际需求,针对当前编码块选取其参考像素点,本发明在此不作限制。
S402,基于所获取的亮度值和色度值,获取每一相同亮度值对应色度值的累积像素和、每一相同亮度值对应的像素数目。
在获取到当前编码块的所有参考像素点的亮度值和色度值之后,基于所获取的亮度值和色度值,进一步可以获取到,所有参考像素点的亮度值中每一相同亮度值对应色度值的累积像素和、每一相同亮度值对应的像素数目。
可选地,以获取到的当前编码块的所有参考像素点的亮度值和色度值分别为Y和U为例。可以初始化两个表,其中一个为cum_sum_pixel[number],表示累积像素和,另一个为num_pixel[number],表示像素数目,两个表中的初始数值都为零。该number为亮度值可取值的数目,具体数目为1<<BITDEPTH,即1左移BITDEPTH(位宽)位,实际应用中,BITDEPTH可以为8、10或12等,本发明实施例中以BITDEPTH是8为例进行说明,当BITDEPTH为8时,number的值为28=256。
然后,针对所获取的所有参考像素点的亮度值Y和色度值U,假设参考像素点的亮度值为valY,对应的色度值为valU,则可以通过计算公式:
cum_sum_pixel[valY]+=valU;
num_pixel[valY]++;
获取所有参考像素点的亮度值Y中每一相同亮度值valY对应色度值valU的累积像素和cum_sum_pixel、以及每一相同亮度值valY对应的像素数目num_pixel。相似的,可以使用相同的方法获取所有参考像素点的亮度值valY中每一相同亮度值valY对应色度值valV的累积像素和cum_sum_pixel2、以及每一相同亮度值valY对应的像素数目num_pixel2,本发明在此不作赘述。
S403,遍历每一像素数目,基于累积像素和、以及像素数目,计算像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表。
在获取所有参考像素点中每一相同亮度值对应色度值的累积像素和、以及每一相同亮度值对应的像素数目之后,可以基于该累积像素和、以及像素数目,进一步计算得到不同像素数目对应的亮度值所对应的色度值,从而建立亮度与色度映射表。
其中,所有参考像素点中每一相同亮度值对应一个累积像素和,每一相同亮度值对应一个像素数目。
可选地,以获取的是所有参考像素点的亮度值Y中每一相同亮度值valY对应色度值valU的累积像素和cum_sum_pixel、以及每一相同亮度值valY对应的像素数目num_pixel为例进行说明,本发明实施例中,基于得到的累积像素和、以及像素数目,进一步计算得到不同像素数目对应的亮度值所对应的色度值的一种实现方式可以为:
初始化表map_Y_to_U[256],将其初始值设置为零。然后,逐一遍历每一像素数目num_pixel,基于得到的累积像素和cum_sum_pixel、以及像素数目num_pixel,计算像素数目num_pixel对应的亮度值valY所对应的色度值,将像素数目num_pixel对应的亮度值valY,与像素数目num_pixel对应的亮度值valY所对应的色度值形成一个映射表,即得到表map_Y_to_U,亮度与色度映射表。该亮度与色度映射表,可以通过像素数目将该像素数目所对应的亮度值valY与得到的色度值对应起来,即获得了亮度值valY与色度值之间的映射。
本发明实施例中,基于所获取当前编码块的所有参考像素点的亮度值和色度值,建立亮度与色度映射表,以便对当前编码块进行帧内预测时,可以根据该亮度与色度映射表,对当前编码块中当前色度编码块的色度值进行预测。
在图4所示实施例的基础上,如图5所示,图5为图4所示实施例中步骤S403的一种实施方式流程图,该方式可以包括:
S4031,遍历每一像素数目。
S4032,判断像素数目是否大于零。
获取所有参考像素点中每一相同亮度值对应色度值的累积像素和、以及每一相同亮度值对应的像素数目,然后,针对所获取的所有参考像素点中每一相同亮度值对应的像素数目进行遍历,遍历的过程中判断所有参考像素点中每一相同亮度值对应的像素数目是否大于零。若像素数目大于零,则执行步骤S4033;若像素数目不大于零,则执行步骤S4034。
S4033,计算像素数目对应的累积像素和的均值,将均值确定为像素数目对应的亮度值所对应的色度值。
在对所获取的所有参考像素点中每一相同亮度值对应的像素数目进行遍历时,若所遍历的像素数目大于零,通过该像素数目所对应的亮度值,可以确定该像素数目对应的亮度值所对应的像素累积和,将该像素数目与像素累积和相对应。然后,对该像素累积和取像素数目的均值,计算得到该像素数目对应的累积像素和的均值,将该均值确定为该像素数目对应的亮度值所对应的色度值。
S4034,将负一确定为像素数目对应的亮度值所对应的色度值。
在对所获取的所有参考像素点中每一相同亮度值对应的像素数目进行遍历时,若所遍历的像素数目不大于零,则将负一确定为该遍历的像素数目对应的亮度值所对应的色度值。
S4035,根据像素数目对应的亮度值所对应的色度值,获得亮度与色度映射表。
在将所有的像素数目都遍历完成之后,将所获取的像素数目对应的亮度值所对应的色度值,确定为所获取的所有参考像素点的亮度与色度映射表。
示例性的,上述步骤S4031~S4035的过程,以初始化表map_Y_to_U[256],作为初始亮度与色度映射表,通过逐一遍历获取的每一像素数目num_pixel,得到表map_Y_to_U的过程可以表示为:
Figure BDA0001750797480000151
其中,i表示所有参考像素点中的亮度值,num_pixel[i]为每一相同亮度值i对应的像素数目,cum_sum_pixel[i]为每一相同亮度值对应色度值的累积像素和,map_Y_to_U[i]为每一相同亮度值所对应的色度值,即每一像素数目对应的亮度值所对应的色度值。本领域技术人员可以理解,遍历获取的每一像素数目num_pixel,即为遍历每一相同亮度值,且遍历的过程是:针对亮度值从小到大依次进行遍历的。
本发明实施例中,基于所获取当前编码块的所有参考像素点的亮度值和色度值,获取每一相同亮度值对应色度值的累积像素和、每一相同亮度值对应的像素数目,在所有参考像素点亮度值和色度值的全部域上,遍历每一像素数目,获取像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表,避免了现有技术中线性模型涵盖范围窄所造成的局限性,应用于帧内预测时,可以提高帧内预测的准确性。
在图5所示实施例的基础上,如图6所示,图6为图5所示实施例中步骤S4035的一种实施方式流程图,该方式可以包括:
S4035a,获取亮度与色度映射表中为负一的色度值所在位置对应的亮度值,将所获取的亮度值,作为第一亮度值。
本发明实施例中一种可选的实现方式为:在遍历所获取的每一像素数目,即遍历每一亮度值,获取像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表之后,获取该亮度与色度映射表中、为负一的色度值所在位置对应的亮度值,并将所获取的亮度值,作为第一亮度值。
示例性的,可以在获得亮度与色度映射表map_Y_to_U之后,获取该亮度与色度映射表中为负一的色度值所在位置对应的亮度值,即获取表map_Y_to_U中map_Y_to_U[i]为-1时的亮度值,该亮度值i,即为该亮度与色度映射表中为负一的色度值所在位置对应的亮度值,将该亮度值i,作为第一亮度值。
S4035b,判断亮度与色度映射表中、第一亮度值一侧相邻位置对应亮度值所对应的色度值,是否全部为负一。
在获取亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值之后,可以判断该亮度与色度映射表中、第一亮度值一侧相邻位置对应亮度值的色度值,是否全部为负一。如果亮度与色度映射表中、第一亮度值一侧相邻位置对应亮度值所对应的色度值全部为负一,则执行步骤S4035c;如果亮度与色度映射表中、第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则执行步骤S4035d。
示例性的,可以在获取亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值i之后,判断该亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值小于i的一侧相邻位置对应亮度值的色度值是否全部为负一,或,判断该亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值大于i的一侧相邻位置对应亮度值的色度值是否全部为负一。其中,该相邻位置对应亮度值可以是i的左侧或右侧n个相邻位置对应的亮度值,n为大于等于1,且小于等于i或小于等于256-i的值,本领域技术人员可根据实际需求对相邻位置对应的亮度值进行确定,本发明在此不作限制。
S4035c,将另一侧最近相邻位置对应亮度值所对应的不为负一的色度值,确定为第一亮度值对应的色度值。其中,该另一侧为上述一侧相对的一侧。
当判断出亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值一侧相邻位置对应亮度值的色度值全部为负一时,将亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值另一侧最近相邻位置对应亮度值所对应的不为负一的色度值,确定为亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值对应的色度值。
示例性的,当亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值左侧相邻位置对应亮度值的色度值全为负一时,该亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值为i,该第一亮度值i右侧最近相邻位置对应亮度值的色度值不为负一的位置所对应的亮度值为k,则将右侧最近相邻位置对应亮度值所对应的不为负一的色度值map_Y_to_U[k],确定为第一该亮度值i对应的色度值,即:
map_Y_to_U[i]=map_Y_to_U[k]。
当亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值右侧相邻位置对应亮度值的色度值全为负一时,该亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值为i,该亮度值i左侧最近相邻位置对应亮度值的色度值不为负一的位置所对应的亮度值为m,则将左侧最近相邻位置对应亮度值所对应的不为负一的色度值map_Y_to_U[m],确定为该第一亮度值i对应的色度值,即:
map_Y_to_U[i]=map_Y_to_U[m]。
S4035d,通过双线性滤波方法,计算获得第一亮度值对应的色度值。
当判断出亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值一侧相邻位置对应亮度值的色度值不全为负一时,得到该第一亮度值一侧最近相邻位置对应亮度值的色度值不为负一的位置所对应的亮度值,并向该亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值的另一侧进行搜索,得到距离该该亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值最近的色度值不为负一的位置所对应的最近亮度值。然后,通过双线性滤波方法,计算获得亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值对应的色度值。
示例性的,当亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值一侧相邻位置对应亮度值的色度值不全为负一时,该亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值为i,该第一亮度值i一侧最近相邻位置对应亮度值的色度值不为负一的位置所对应的亮度值为m,m<i,该第一亮度值i另一侧最近相邻位置对应亮度值的色度值不为负一的位置所对应的亮度值为k,k>i,即得到距离map_Y_to_U[i]为负一的两侧最近相邻位置对应亮度值的色度值不为负一的色度值分别为map_Y_to_U[m]和map_Y_to_U[k],然后,通过双线性滤波方法,计算获得亮度与色度映射表中、为负一的色度值所在位置对应的第一亮度值对应的色度值的过程可以为:map_Y_to_U[i]=((k-i)*map_Y_to_U[m]+(i-m)*map_Y_to_U[k])/(k-m)。
S4035e,更新亮度与色度映射表。
在将亮度与色度映射表中色度值为负一所在位置对应的色度值重新赋值之后,更新亮度与色度映射表。
本发明实施例中,通过对亮度与色度映射表的更新,使得亮度与色度映射表中不存在色度值为负一的情况,可以更好的对当前编码块中当前色度编码块的预测。
为了解决现有技术问题,在图3所示实施例的基础上,如图7所示,图7为图3所示实施例中步骤S303的一种实施方式流程图,该方式可以包括:
S3031,判断当前编码块中亮度值的个数与待确定色度值的个数是否一致。
在实际应用中,当前编码块所包含的当前亮度编码块与当前色度编码块的尺寸可以为:尺寸一致;也可以为:尺寸不一致,例如,当前色度编码块面积为当前亮度编码块面积的四分之一,当前色度编码块边长为当前亮度编码块边长的二分之一。
本发明实施例中,在获取预先建立的亮度与色度映射表,以及当前编码块中当前亮度编码块每个亮度值的重构值的基础上,针对当前编码块,进一步判断当前编码块中亮度值的个数与待确定色度值的个数是否一致。具体的,判断当前编码块中亮度值的个数与待确定色度值的个数是否一致的方式可以为:判断当前编码块所包含的当前亮度编码块和当前色度编码块的尺寸是否一致。如果当前编码块中亮度值的个数与待确定色度值的个数一致时,则执行步骤S3032;如果当前编码块中亮度值的个数与待确定色度值的个数不一致时,则执行步骤S3033。
S3032,查询亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得当前编码块中每个亮度值的重构值所对应的色度值,将当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
在获取预先建立的亮度与色度映射表,以及当前编码块中当前亮度编码块每个亮度值的重构值,并且当前编码块中亮度值的个数与待确定色度值的个数一致时,查询亮度与色度映射表中、当前编码块中当前亮度编码块每个亮度值的重构值,获得当前编码块中当前亮度编码块每个亮度值的重构值所对应的色度值,然后,将当前编码块中当前亮度编码块每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
S3033,对当前编码块中亮度值的重构值进行下采样,获得采样编码块中每个亮度值的重构值,查询亮度与色度映射表中、采样编码块中每个亮度值的重构值,获得采样编码块中每个亮度值的重构值所对应的色度值,将采样编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值,采样编码块中亮度值的个数与当前编码块中待确定色度值的个数一致。
在获取预先建立的亮度与色度映射表,以及当前编码块中当前亮度编码块每个亮度值的重构值,并且当前编码块中亮度值的个数与待确定色度值的个数不一致时,需要对当前编码块中亮度值的重构值进行下采样,获得采样编码块中每个亮度值的重构值,以使得下采样之后获得的采样编码块中亮度值的个数与当前编码块中待确定色度值的个数一致。
示例性地,当前编码块所包含的当前亮度编码块和当前色度编码块,可参见图2,当前亮度编码块为2N×2N的块,当前色度编码块为N×N的块。在获取预先建立的亮度与色度映射表,以及当前编码块中当前亮度编码块每个亮度值的重构值之后,可以针对所获得的当前编码块中当前亮度编码块每个亮度值的重构值进行下采样,进一步获得采样编码块中当前亮度编码块每个亮度值的重构值。
其中,对当前编码块中当前亮度编码块每个亮度值的重构值进行下采样之后,所获得的采样编码块中当前亮度编码块为与当前编码块中当前色度编码块同样大小的块,即为N×N的块。下采样的实现方式可以为设定一定的间隔,然后在该间隔下进行采样来实现,也可以采用其他方式实现,具体的,下采样的实现方式本发明在此不作限制。
在获取预先建立的亮度与色度映射表,以及当前编码块中当前亮度编码块每个亮度值的重构值,并对当前编码块中当前亮度编码块每个亮度值的重构值进行下采样,获得与当前编码块中当前色度编码块同样大小的采样编码块中当前亮度编码块之后,查询亮度与色度映射表中、采样编码块中当前亮度编码块每个亮度值的重构值,获得采样编码块中当前亮度编码块每个亮度值的重构值所对应的色度值,最后,将采样编码块中当前亮度编码块每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
本发明实施例中一种可选的实现方式还可以为:在获取预先建立的亮度与色度映射表之后,判断当前编码块中亮度值的个数与待确定色度值的个数是否一致。若不一致,则先对当前编码块中对应的亮度编码块进行下采样,以使得当前编码块所包含的当前色度编码块与当前亮度编码块的尺寸一致,即当前编码块中亮度值的个数与待确定色度值的个数一致之后,再计算当前编码块中的每个亮度值的重构值。然后,基于获取的预先建立的亮度与色度映射表,以及当前编码块中的每个亮度值的重构值,直接执行步骤S3032,实现当前编码块中的色度值的预测。
本发明实施例,获取基于当前编码块所有参考像素点的亮度值和色度值所建立的亮度与色度映射表,然后,针对当前编码块中每个亮度值的重构值,从所获取的亮度与色度映射表中,查询亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得当前编码块中每个亮度值的重构值所对应的色度值,将该当前编码块中每个亮度值的重构值所对应的色度值确定为当前编码块的色度值。因该亮度与色度映射表,是在当前编码块所有参考像素点的亮度值和色度值的全分布域基础上建立的,避免了线性模型涵盖范围窄所造成的局限性,可以提高帧内预测的准确性。进一步地,本发明实施例不采用现有的线性模型,不需要计算α和β的值,在帧内预测编码的过程中,可以减少α和β的值进入码流中需要占有的码率,进而可以提高帧内预测编码的效率。
相应于上述方法实施例,本发明实施例提供了一种帧内预测装置,如图8所示,所述装置可以包括:
获取模块801,用于获取预先建立的亮度与色度映射表;其中,所述亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的;
计算模块802,用于针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到所述当前编码块中每个亮度值的重构值;
查询模块803,用于查询所述亮度与色度映射表中、所述当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
本发明实施例提供的一种帧内预测装置,获取基于当前编码块所有参考像素点的亮度值和色度值所建立的亮度与色度映射表,然后,针对当前编码块中每个亮度值的重构值,从所获取的亮度与色度映射表中,查询亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得当前编码块中每个亮度值的重构值所对应的色度值,将该当前编码块中每个亮度值的重构值所对应的色度值确定为当前编码块的色度值。因该亮度与色度映射表,是在当前编码块所有参考像素点的亮度值和色度值的全分布域基础上建立的,避免了线性模型涵盖范围窄所造成的局限性,可以提高帧内预测的准确性。进一步地,本发明实施例不采用现有的线性模型,不需要计算α和β的值,在帧内预测编码的过程中,可以减少α和β的值进入码流中需要占有的码率,进而可以提高帧内预测编码的效率。
需要说明的是,本发明实施例的装置是与图3所示的一种帧内预测方法对应的装置,图3所示的一种帧内预测方法的所有实施例均适用于该装置,且均能达到相同的有益效果。
可选的,所述获取模块,包括:
第一获取子模块,用于获取当前编码块的所有参考像素点的亮度值和色度值;其中,所述参考像素点包括:与所述当前编码块左相邻列和上相邻行的多个像素点;
第二获取子模块,用于基于所获取的亮度值和色度值,获取每一相同亮度值对应色度值的累积像素和、每一相同亮度值对应的像素数目;
计算子模块,用于遍历每一所述像素数目,基于所述累积像素和、以及像素数目,计算所述像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表。
可选的,所述计算子模块,包括:
遍历子模块,用于遍历每一所述像素数目;
第一判断子模块,用于判断所述像素数目是否大于零;如果所述像素数目大于零,则计算所述像素数目对应的累积像素和的均值,将所述均值确定为所述像素数目对应的亮度值所对应的色度值;如果所述像素数目不大于零,则将负一确定为所述像素数目对应的亮度值所对应的色度值;
获得子模块,用于根据所述像素数目对应的亮度值所对应的色度值,获得亮度与色度映射表。
可选的,所述获得子模块,包括:
第三获取子模块,用于获取所述亮度与色度映射表中为负一的色度值所在位置对应的亮度值,将所获取的亮度值,作为第一亮度值;
第二判断子模块,用于判断所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值,是否全部为负一;如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值全部为负一,则将另一侧最近相邻位置对应亮度值所对应的不为负一的色度值,确定为所述第一亮度值对应的色度值;如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则通过双线性滤波方法,计算获得所述第一亮度值对应的色度值;
更新子模块,用于更新所述亮度与色度映射表。
可选的,所述查询模块,包括:
第三判断子模块,用于判断所述当前编码块中亮度值的个数与待确定色度值的个数是否一致;
第一查询子模块,用于在所述当前编码块中亮度值的个数与待确定色度值的个数一致时,则查询所述亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值;
第二查询子模块,用于在所述当前编码块中亮度值的个数与待确定色度值的个数不一致时,则对所述当前编码块中亮度值的重构值进行下采样,获得采样编码块中每个亮度值的重构值,查询所述亮度与色度映射表中、采样编码块中每个亮度值的重构值,获得所述采样编码块中每个亮度值的重构值所对应的色度值,将所述采样编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值;所述采样编码块中亮度值的个数与所述当前编码块中待确定色度值的个数一致。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现本发明实施例所提供的方法。
本发明实施例提供的一种电子设备,获取基于当前编码块所有参考像素点的亮度值和色度值所建立的亮度与色度映射表,然后,针对当前编码块中每个亮度值的重构值,从所获取的亮度与色度映射表中,查询亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得当前编码块中每个亮度值的重构值所对应的色度值,将该当前编码块中每个亮度值的重构值所对应的色度值确定为当前编码块的色度值。因该亮度与色度映射表,是在当前编码块所有参考像素点的亮度值和色度值的全分布域基础上建立的,避免了线性模型涵盖范围窄所造成的局限性,可以提高帧内预测的准确性。进一步地,本发明实施例不采用现有的线性模型,不需要计算α和β的值,在帧内预测编码的过程中,可以减少α和β的值进入码流中需要占有的码率,进而可以提高帧内预测编码的效率。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种帧内预测方法,以获取相同的技术效果。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的的一种帧内预测方法,以获取相同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种帧内预测方法,其特征在于,所述方法包括:
获取预先建立的亮度与色度映射表;其中,所述亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的;
针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到所述当前编码块中每个亮度值的重构值;
判断所述当前编码块中亮度值的个数与待确定色度值的个数是否一致;
如果所述当前编码块中亮度值的个数与待确定色度值的个数一致,则查询所述亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
2.根据权利要求1所述的方法,其特征在于,所述亮度与色度映射表建立的步骤,包括:
获取当前编码块的所有参考像素点的亮度值和色度值;其中,所述参考像素点包括:与所述当前编码块左相邻列和上相邻行的多个像素点;
基于所获取的亮度值和色度值,获取每一相同亮度值对应色度值的累积像素和、每一相同亮度值对应的像素数目;
遍历每一所述像素数目,基于所述累积像素和、以及像素数目,计算所述像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表。
3.根据权利要求2所述的方法,其特征在于,所述遍历每一所述像素数目,基于所述累积像素和、以及像素数目,计算所述像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表的步骤,包括:
遍历每一所述像素数目,判断所述像素数目是否大于零;
如果所述像素数目大于零,则计算所述像素数目对应的累积像素和的均值,并将所述均值确定为所述像素数目对应的亮度值所对应的色度值;
或者,如果所述像素数目不大于零,则将负一确定为所述像素数目对应的亮度值所对应的色度值;
根据所述像素数目对应的亮度值所对应的色度值,获得亮度与色度映射表。
4.根据权利要求3所述的方法,其特征在于,所述根据所述像素数目对应的亮度值所对应的色度值,获得亮度与色度映射表的步骤,包括:
获取所述亮度与色度映射表中为负一的色度值所在位置对应的亮度值,将所获取的亮度值,作为第一亮度值;
判断所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值,是否全部为负一;
如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值全部为负一,则将另一侧最近相邻位置对应亮度值所对应的不为负一的色度值,确定为所述第一亮度值对应的色度值;
或者,如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则通过双线性滤波方法,计算获得所述第一亮度值对应的色度值;
更新所述亮度与色度映射表;
其中,所述如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则通过双线性滤波方法,计算获得所述第一亮度值对应的色度值,包括:
如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则获取所述第一亮度值的两侧最近相邻位置对应的亮度值所对应的不为负一的色度值,并通过双线性滤波方法,计算获得所述第一亮度值对应的色度值。
5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
如果所述当前编码块中亮度值的个数与待确定色度值的个数不一致,则对所述当前编码块中亮度值的重构值进行下采样,获得采样编码块中每个亮度值的重构值,查询所述亮度与色度映射表中、采样编码块中每个亮度值的重构值,获得所述采样编码块中每个亮度值的重构值所对应的色度值,将所述采样编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值;所述采样编码块中亮度值的个数与所述当前编码块中待确定色度值的个数一致。
6.一种帧内预测装置,其特征在于,所述装置包括:
获取模块,用于获取预先建立的亮度与色度映射表;其中,所述亮度与色度映射表为:基于当前编码块的所有参考像素点的亮度值和色度值建立的;
计算模块,用于针对当前编码块中的每个亮度值,根据预设方向以及当前编码块参考像素点的亮度值进行预测,并计算得到所述当前编码块中每个亮度值的重构值;
第三判断子模块,用于判断所述当前编码块中亮度值的个数与待确定色度值的个数是否一致;
第一查询子模块,用于在所述当前编码块中亮度值的个数与待确定色度值的个数一致时,则查询所述亮度与色度映射表中、当前编码块中每个亮度值的重构值,获得所述当前编码块中每个亮度值的重构值所对应的色度值,将所述当前编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,包括:
第一获取子模块,用于获取当前编码块的所有参考像素点的亮度值和色度值;其中,所述参考像素点包括:与所述当前编码块左相邻列和上相邻行的多个像素点;
第二获取子模块,用于基于所获取的亮度值和色度值,获取每一相同亮度值对应色度值的累积像素和、每一相同亮度值对应的像素数目;
计算子模块,用于遍历每一所述像素数目,基于所述累积像素和、以及像素数目,计算所述像素数目对应的亮度值所对应的色度值,建立亮度与色度映射表。
8.根据权利要求7所述的装置,其特征在于,所述计算子模块,包括:
遍历子模块,用于遍历每一所述像素数目;
第一判断子模块,用于判断所述像素数目是否大于零;如果所述像素数目大于零,则计算所述像素数目对应的累积像素和的均值,将所述均值确定为所述像素数目对应的亮度值所对应的色度值;如果所述像素数目不大于零,则将负一确定为所述像素数目对应的亮度值所对应的色度值;
获得子模块,用于根据所述像素数目对应的亮度值所对应的色度值,获得亮度与色度映射表。
9.根据权利要求8所述的装置,其特征在于,所述获得子模块,包括:
第三获取子模块,用于获取所述亮度与色度映射表中为负一的色度值所在位置对应的亮度值,将所获取的亮度值,作为第一亮度值;
第二判断子模块,用于判断所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值,是否全部为负一;如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值全部为负一,则将另一侧最近相邻位置对应亮度值所对应的不为负一的色度值,确定为所述第一亮度值对应的色度值;如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则通过双线性滤波方法,计算获得所述第一亮度值对应的色度值;
更新子模块,用于更新所述亮度与色度映射表;
其中,所述如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则通过双线性滤波方法,计算获得所述第一亮度值对应的色度值,包括:
如果所述亮度与色度映射表中、所述第一亮度值一侧相邻位置对应亮度值所对应的色度值不全为负一,则获取所述第一亮度值的两侧最近相邻位置对应的亮度值所对应的不为负一的色度值,并通过双线性滤波方法,计算获得所述第一亮度值对应的色度值。
10.根据权利要求6所述的装置,其特征在于,所述装置,还包括:
第二查询子模块,用于在所述当前编码块中亮度值的个数与待确定色度值的个数不一致时,则对所述当前编码块中亮度值的重构值进行下采样,获得采样编码块中每个亮度值的重构值,查询所述亮度与色度映射表中、采样编码块中每个亮度值的重构值,获得所述采样编码块中每个亮度值的重构值所对应的色度值,将所述采样编码块中每个亮度值的重构值所对应的色度值,确定为当前编码块的色度值;所述采样编码块中亮度值的个数与所述当前编码块中待确定色度值的个数一致。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
CN201810865392.6A 2018-08-01 2018-08-01 一种帧内预测方法、装置及电子设备 Active CN109005408B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810865392.6A CN109005408B (zh) 2018-08-01 2018-08-01 一种帧内预测方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810865392.6A CN109005408B (zh) 2018-08-01 2018-08-01 一种帧内预测方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN109005408A CN109005408A (zh) 2018-12-14
CN109005408B true CN109005408B (zh) 2020-05-29

Family

ID=64594844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810865392.6A Active CN109005408B (zh) 2018-08-01 2018-08-01 一种帧内预测方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN109005408B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210089133A (ko) 2018-11-06 2021-07-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측에 대한 단순화된 파라미터 유도
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
AU2019391197B2 (en) 2018-12-07 2023-05-25 Beijing Bytedance Network Technology Co., Ltd. Context-based intra prediction
CN113273203B (zh) 2018-12-22 2024-03-12 北京字节跳动网络技术有限公司 两步交叉分量预测模式
EP3881535A4 (en) 2018-12-29 2022-03-16 Zhejiang Dahua Technology Co., Ltd. INTRA-PREDICTION SYSTEMS AND METHODS
CN116193132A (zh) * 2019-01-03 2023-05-30 华为技术有限公司 色度块的预测方法和装置
SG11202108209YA (en) * 2019-02-22 2021-08-30 Beijing Bytedance Network Technology Co Ltd Neighbouring sample selection for intra prediction
CA3128769C (en) 2019-02-24 2023-01-24 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
WO2020182092A1 (en) 2019-03-08 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Constraints on model-based reshaping in video processing
WO2020192642A1 (en) * 2019-03-24 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Conditions in parameter derivation for intra prediction
KR20210150397A (ko) * 2019-04-18 2021-12-10 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로스 성분 모드의 적용성에 대한 제한
CN117579841A (zh) 2019-04-23 2024-02-20 北京字节跳动网络技术有限公司 降低跨分量依赖性的方法
JP7407206B2 (ja) 2019-05-08 2023-12-28 北京字節跳動網絡技術有限公司 クロスコンポーネントコーディングの適用条件
CN117478908A (zh) 2019-06-22 2024-01-30 北京字节跳动网络技术有限公司 色度残差缩放的语法元素
CN116708771A (zh) * 2019-06-25 2023-09-05 Oppo广东移动通信有限公司 图像分量预测方法、装置及计算机存储介质
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
CN110557621B (zh) * 2019-08-27 2022-06-14 咪咕文化科技有限公司 参数获取方法、像素点对选择方法及相关设备
CN113365067B (zh) * 2021-05-21 2023-03-14 中山大学 基于位置加权的色度线性预测方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103313055A (zh) * 2013-06-03 2013-09-18 电子科技大学 一种基于分割的色度帧内预测方法、及视频编码解码方法
CN103782596A (zh) * 2011-06-28 2014-05-07 三星电子株式会社 使用图像的亮度分量的对图像的色度分量的预测方法和设备
CN103918269A (zh) * 2012-01-04 2014-07-09 联发科技(新加坡)私人有限公司 基于亮度的色度帧内预测方法及装置
CN105659595A (zh) * 2013-10-14 2016-06-08 高通股份有限公司 多层视频译码中的基于三维查找表的色域可缩放性

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288500B2 (en) * 2011-05-12 2016-03-15 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103782596A (zh) * 2011-06-28 2014-05-07 三星电子株式会社 使用图像的亮度分量的对图像的色度分量的预测方法和设备
CN103918269A (zh) * 2012-01-04 2014-07-09 联发科技(新加坡)私人有限公司 基于亮度的色度帧内预测方法及装置
CN103313055A (zh) * 2013-06-03 2013-09-18 电子科技大学 一种基于分割的色度帧内预测方法、及视频编码解码方法
CN105659595A (zh) * 2013-10-14 2016-06-08 高通股份有限公司 多层视频译码中的基于三维查找表的色域可缩放性

Also Published As

Publication number Publication date
CN109005408A (zh) 2018-12-14

Similar Documents

Publication Publication Date Title
CN109005408B (zh) 一种帧内预测方法、装置及电子设备
US11889102B2 (en) Filtering method for removing blocking artifact and apparatus
US20210160515A1 (en) Method and device for video predicting colour component, and computer storage medium
WO2022104498A1 (zh) 帧内预测方法、编码器、解码器以及计算机存储介质
WO2019085942A1 (zh) Sao模式决策方法、装置、电子设备及可读存储介质
CA3027764C (en) Intra-prediction video coding method and device
TW200935918A (en) Intra prediction method for luma block of video
CN113132722B (zh) 视频图像分量的预测方法和装置、及计算机存储介质
US20160212429A1 (en) Image encoding device, image decoding device, and the programs thereof
WO2021004155A1 (zh) 图像分量预测方法、编码器、解码器以及存储介质
CN110956594B (zh) 图像滤波方法、装置、电子设备及存储介质
CN101783958B (zh) Avs视频标准中时域直接模式运动矢量的计算方法和装置
WO2022116246A1 (zh) 帧间预测方法、视频编解码方法、装置及介质
CA3113787A1 (en) Decoding prediction method, apparatus and computer storage medium which use reference samples adjacent to at least one side of decoding block
US20050047502A1 (en) Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding
CN109640087B (zh) 一种帧内预测模式判决方法、装置及设备
EP3843399A1 (en) Video image component prediction method and apparatus, and computer storage medium
WO2022077490A1 (zh) 一种帧内预测方法、编码器、解码器及存储介质
US20190098303A1 (en) Method, device, and encoder for controlling filtering of intra-frame prediction reference pixel point
CN109951707B (zh) 一种目标运动矢量选择方法、装置、电子设备及介质
WO2020258052A1 (zh) 图像分量预测方法、装置及计算机存储介质
WO2020056767A1 (zh) 视频图像分量的预测方法、装置及计算机存储介质
CN113038132B (zh) 一种编码单元cu的预测模式确定方法及装置
CN108632622B (zh) 一种帧内预测方法、装置及电子设备
CN108419078B (zh) 基于WebP图像压缩算法的图像处理方法及装置

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