CN112449192B - 解码方法、编码方法及装置 - Google Patents
解码方法、编码方法及装置 Download PDFInfo
- Publication number
- CN112449192B CN112449192B CN201910798693.6A CN201910798693A CN112449192B CN 112449192 B CN112449192 B CN 112449192B CN 201910798693 A CN201910798693 A CN 201910798693A CN 112449192 B CN112449192 B CN 112449192B
- Authority
- CN
- China
- Prior art keywords
- context model
- coefficient
- decoded
- target
- target position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种解码方法、编码方法及装置,属于视频编解码技术领域。所述方法包括:获取当前块的码流;当确定当前块采用基于扫描区域的系数编码SRCC时,从码流中获取目标位置坐标信息,目标位置坐标信息由第一坐标值和第二坐标值组成;针对当前块的目标扫描区域中的待解码系数,确定待解码系数的待解码标志位的上下文模型,目标扫描区域是基于目标位置坐标信息确定的扫描区域,上下文模型是至少根据目标位置坐标信息确定;根据上下文模型,对待解码标志位进行解码。本申请通过目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
Description
技术领域
本申请涉及视频编解码技术领域,特别涉及一种解码方法、编码方法及装置。
背景技术
随着信息技术的高速发展,视频信息量与日俱增,为了有效的存储和传输视频,通常要通过视频编码来对视频进行压缩。视频编码通常包括预测、变换、量化、熵编码等过程,通过熵编码可以对量化后的变换系数进行编码。变换系数的编码可以通过对用于指示变换系数的语法元素进行编码来实现,语法元素中的一些标志位可以通过上下文模型进行编码,且每种标志位能够选择的上下文模型通常包括多种,在实施中,如何确定每种标志位的上下文模型成为研究的热点。
发明内容
本申请提供了一种解码方法、编码方法及装置,可以解决相关技术的编码性能较低的问题。所述技术方案如下:
第一方面,提供了一种解码方法,所述方法包括:
获取当前块的码流;
当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;
根据所述上下文模型,对所述待解码标志位进行解码。
第二方面,提供了一种解码方法,所述方法包括:
获取当前块的码流;
当确定所述当前块采用SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值从至少三类上下文模型集合中确定;
根据所述上下文模型,对所述待解码标志位进行解码。
第三方面,提供了一种解码方法,所述方法包括:
获取当前块的码流;
当确定所述当前块采用SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值满足的线性关系式确定;
根据所述上下文模型,对所述待解码标志位进行解码。
第四方面,提供了一种解码方法,所述方法包括:
获取当前块的码流;
当确定所述当前块采用SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少基于所述当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的;
根据所述上下文模型,对所述待解码标志位进行解码。
第五方面,提供了一种编码方法,所述方法包括:
当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;
根据所述上下文模型,对所述待编码标志位进行编码。
第六方面,提供了一种编码方法,所述方法包括:
当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值从至少三类上下文模型集合中确定;
根据所述上下文模型,对所述待编码标志位进行编码。
第七方面,提供了一种编码方法,所述方法包括:
当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值满足的线性关系式确定;
根据所述上下文模型,对所述待编码标志位进行编码。
第八方面,提供了一种编码方法,所述方法包括:
当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少基于所述当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的;
根据所述上下文模型,对所述待编码标志位进行编码。
第九方面,提供了一种解码装置,所述装置包括:
码流获取模块,用于获取当前块的码流;
信息获取模块,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;
解码模块,用于根据所述上下文模型,对所述待解码标志位进行解码。
第十方面,提供了一种解码装置,所述装置包括:
码流获取模块,用于获取当前块的码流;
信息获取模块,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值从至少三类上下文模型集合中确定;
解码模块,用于根据所述上下文模型,对所述待解码标志位进行解码。
第十一方面,提供了一种解码装置,所述装置包括:
码流获取模块,用于获取当前块的码流;
信息获取模块,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值满足的线性关系式确定;
解码模块,用于根据所述上下文模型,对所述待解码标志位进行解码。
第十二方面,提供了一种解码装置,所述装置包括:
码流获取模块,用于获取当前块的码流;
信息获取模块,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少基于所述当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的;
解码模块,用于根据所述上下文模型,对所述待解码标志位进行解码。
第十三方面,提供了一种编码装置,所述装置包括:
获取模块,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;
编码模块,用于根据所述上下文模型,对所述待编码标志位进行编码。
第十四方面,提供了一种编码装置,所述装置包括:
获取模块,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值从至少三类上下文模型集合中确定;
编码模块,用于根据所述上下文模型,对所述待编码标志位进行编码。
第十五方面,提供了一种编码装置,所述装置包括:
获取模块,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值满足的线性关系式确定;
编码模块,用于根据所述上下文模型,对所述待编码标志位进行编码。
第十六方面,提供了一种编码装置,所述装置包括:
获取模块,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少基于所述当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的;
编码模块,用于根据所述上下文模型,对所述待编码标志位进行编码。
第十七方面,提供了一种计算机设备,所述计算机设备包括处理器、通信接口、存储器和通信总线,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的程序,以实现上述第一方面至第八方面任一所述方法的步骤。
第十八方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面至第八方面任一所述方法的步骤。
第十九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面至第八方面任一所述方法的步骤。
本申请提供的技术方案至少可以带来以下有益效果:
获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种编解码方法的示意图;
图2是本申请实施例提供的一种解码方法的流程图;
图3是本申请实施例提供的一种扫描区域的示意图;
图4是本申请实施例提供的另一种扫描区域的示意图;
图5是本申请实施例提供的一种解码方法的流程图;
图6是本申请实施例提供的一种扫描区域的示意图;
图7是本申请实施例提供的另一种扫描区域的示意图;
图8是本申请实施例提供的另一种扫描区域的示意图;
图9是本申请实施例提供的另一种扫描区域的示意图;
图10是本申请实施例提供的另一种扫描区域的示意图;
图11是本申请实施例提供的解码装置的结构示意图;
图12是本申请实施例提供的编码装置的结构示意图;
图13是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的解码方法、编码方法进行详细的解释说明之前,先对本申请实施例提供的名词和实施环境进行介绍。
首先,对本申请实施例涉及的名词进行简单介绍。
残差:在视频编码过程中,需要经过预测过程去除空域和时域冗余,编码器经过预测得到预测值,原始像素减去预测值得到残差,残差块是变换、量化、熵编码的基本单元。
变换系数:变换、量化的作用是对残差数据进行变换、量化以去除频域相关性,对数据进行有损压缩。变换编码将图像从时域信号变换至频域,将能量集中至低频区域。由于图像能量主要集中在低频区域,通过量化将高频的变换系数置零可以在变换模块的基础上减小图像编码的动态范围。去除高频区域的变换系数,减小码率的开销,并且不会造成很大的失真。其中,残差块经过变换、量化后的系数称为变换系数。
语法元素:可以用于指示一个变换系数,通常情况下,一个变换系数需要通过至少一个语法元素来进行指示。
上下文:一般情况下,不同的语法元素之间并不完全独立,且相同语法元素自身也具有一定的记忆性。因此,根据条件熵的理论,利用其他已编码的语法元素进行条件编码,相对于独立编码或者无记忆编码能够进一步提高编码性能。这些用来作为条件的已编码符号信息称为上下文。
上下文模型:在视频编解码中,基于上下文更新符号概率的过程称为上下文模型,并且根据具体应用条件,同一个语法元素可以使用的多个上下文模型来自适应的更新当前条件下的符号概率,从而进一步压缩码率。
SRCC:利用(SRx,SRy)来确定一个变换系数矩阵中需要扫描的变换系数的区域,其中SRx是变换系数矩阵中最右面的非零系数的横坐标,SRy是变换系数矩阵中最下面的非零系数的纵坐标。只有(SRx,SRy)确定的扫描区域内的变换系数需要编解码,而扫描区域外的系数全为0,不需要进行编解码,采用该技术能够进一步降低码率开销。
接下来针对视频编解码的大体流程进行介绍。请参考图1中的(a),以视频编码为例,视频编码一般包括预测、变换、量化、熵编码等过程,进一步地,编码过程还可以按照图1中的(b)的框架来实现。
其中,预测可以分为帧内预测和帧间预测,帧内预测是利用周围已编码块作为参考对当前未编码块进行预测,有效去除空域上的冗余。帧间预测是使用邻近已编码图像对当前图像进行预测,有效去除时域上的冗余。
变换是指将图像从空间域转换至变换域,利用变换系数对图像加以表示。绝大多数图像都含有较多平坦区域和缓慢变化的区域,适当的变换可以使图像由在空间域的分散分布转换为在变换域的相对集中分布,去除信号之间的频域相关性,配合量化过程,可以有效压缩码流。
熵编码是一种无损编码方式,可以把一系列元素符号转变为一个用来传输或存储的二进制码流,输入的符号可能包括量化后的变换系数、运动矢量信息、预测模式信息,变换量化相关语法等。熵编码可以有效地去除视频元素符号的冗余。
上述是以编码为例进行介绍,视频解码与视频编码的过程是相对的,即视频解码通常包括熵解码、预测、反量化、反变换、滤波等过程,各个过程的实现原理与熵编码相同或相似。
目前,熵编码可以利用SRCC技术来实现,SRCC技术可以通过确定需要编码的当前块的变换系数矩阵中最右面的非零系数的横坐标SRx和变换系数矩阵中最下面的非零系数的纵坐标SRy,利用(SRx,SRy)来确定该变化系数矩阵中需要扫描的扫描区域,对(SRx,SRy)确定的扫描区域内的变换系数进行编码。
在本申请提供的一种实施例中,当采用SRCC进行解码时,significant flag,GT1flag,GT2flag的上下文模型可以按照扫描顺序已编码或解码的部分变换系数的相关标志的个数确定,并根据变换系数在扫描区域的相对位置、当前块的大小和通道进行分组,其中,significant flag,GT1flag,GT2flag均可以分为亮度通道和色度通道,具体可参见下文表1。譬如,针对significant flag的亮度通道,可以根据当前块的大小分为三类上下文模型集合,每类上下文模型集合中包括13种上下文模型,然后可以根据变换系数在扫描区域的相对位置对每类上下文模型集合进一步分组,进而可以根据扫描顺序已编码或解码的5个变换系数的非零变换系数的个数,确定一个上下文模型,用于对significant flag的亮度通道进行编码或解码。针对significant flag的色度通道,可以根据变换系数在扫描区域的相对位置对上下文模型集合进行分组,然后可以根据扫描顺序已编码或解码的5个变换系数的非零变换系数的个数,确定一个上下文模型,用于对significant flag的色度通道进行编码或解码。再如,针对GT1flag或GT2flag的亮度通道,可以根据变换系数在扫描区域的相对位置进行分组,然后可以根据扫描顺序已编码或解码的5个变换系数的非零变换系数的个数,确定一个上下文模型,用于对GT1flag或GT2flag的亮度通道进行编码或解码。针对GT1flag或GT2flag的色度通道,可以根据扫描顺序已编码或解码的5个变换系数的非零变换系数的个数,确定一个上下文模型,用于对GT1flag或GT2flag的色度通道进行编码或解码。
接下来,对本申请实施例涉及的实施环境进行简单介绍。
本申请实施例提供的解码方法、编码方法可以由电子设备来执行,该电子设备可以具有对任意图像或者视频图像进行压缩编码或者解码的功能。在一些实施例中,该电子设备可以为笔记本电脑、平板电脑、台式计算机、便携式计算机等等,本申请实施例对此不做限定。
在介绍完本申请实施例涉及的名词和实施环境后,接下来将结合附图对本申请实施例提供的解码方法、编码方法进行详细介绍。
首先对编码流程进行介绍:当前块经过预测后得到预测值,当前块的原始值减去该预测值得到当前块的残差,对该残差经过变换量化后得到变换系数,若当前块的所有变换系数均为零,则当前块的cbf标志位置为零,不需要编码当前块的变换系数。否则当前块的cbf标志位置为1,若编码端序列头启用SRCC,则确定当前块的扫描区域,并编码SRx和SRy的坐标值,基于扫描顺序从扫描区域的右下角到左上角依次编码每个变换系数,每个变换系数需要的信息有包含significant flag、GT1flag、GT2flag、remaining level和sign中的至少一个。将SRCC启用标志位、当前块的变换系数和cbf标志位等信息经过熵编码得到二进制码流。
在实施例中,解码过程一般包括:接收码流,解析当前块的cbf标志位,cbf=0表示当前块所有变换系数都为0,不需要进行反量化和反变换操作,因此当前块的残差也为0,当前块的重建值即为当前块的预测值。若cbf标志位为1,若码流序列头解析出当前序列使用SRCC技术,则继续解析出当前块的扫描区域的坐标SRx和SRy,然后由SRx和SRy确定扫描区域,基于扫描顺序从扫描区域的右下角到左上角依次解码每一个变换系数,每个变换系数需要解码的信息包含significant flag、GT1flag、GT2flag、remaining level和sign中的至少一个。得到当前块的熵解码后的变换系数,经过反量化反变换得到当前块的残差,与预测值相加得到当前块的重建值。
请参考图2,这里以解码为例进行详细介绍,该图2是本申请实施例提供的一种解码方法的流程图,该方法可以由上述电子设备来执行,该方法可以包括如下几个步骤;
步骤201:获取当前块的码流。
该当前块可以为待处理图像中的任一个图像块。在实施中,可以将待处理图像划分为不同的图像块,然后可以按一定顺序依次对每个图像块进行处理。其中,每个图像块的大小和形状可以根据预设的划分规则进行设置。
该码流为编码端发送的,该码流可以为二进制码流,该码流中可以携带解码端解码需要获知的一些信息,譬如,该码流可以携带用于编码端采用的编码方式的信息、当前块的尺寸等信息。
步骤202:当确定该当前块采用SRCC时,从该码流中获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
作为一种示例,在确定当前块的编码方式之前,可以确定当前块的变换系数中是否有非零变换系数。示例性的,编码端可以在码流中携带一个标志位,以通过该标志位指示该当前块所有变换系数是否都为零。譬如,该标志位可以为cbf标志位,当码流携带的cbf标志位为0时,可以表示当前块所有变换系数都为零,在该种情况下可以不需要解码当前块的变换系数。当cbf标志位为1时,表示当前块中存在非零变换系数,在该种情况下需要解码当前块的变换系数。
作为一种示例,在解码之前可以确定编码端采用的编码方式。当编码端采用SRCC进行熵编码时,可以在该码流中携带用于指示该SRCC的标志位,如此,对于解码端来说,可以根据该码流中的该标志位确定当前块采用了SRCC。
在确定当前块的编码方式为SRCC的情况下,可以确定变换系数对应的扫描区域,该扫描区域是通过当前块的变换系数中最右面的非零变换系数的横坐标SRx(第一坐标值)和变换系数中最下面的非零变换系数的纵坐标SRy(第二坐标值)来确定的。作为一种示例,可以以当前块的某个顶点为原点建立坐标系,如图3所示,在本实施例中以当前块的左上顶点为原点建立坐标系。基于此,解码端可以通过在码流中获取SRx和SRy的信息,确定目标扫描区域(图3中的矩形框,获取SRx和SRy组成的目标位置坐标即可确定出该目标扫描区域),如图4所示,该目标扫描区域内所有变换系数所在的位置的坐标值均大于零。其中,该SRx和SRy对应的位置为该目标扫描区域对应的目标位置。
需要说明的是,目标扫描区域可以根据非零变换系数的分布情况不同而不同,如目标扫描区域可以是当前块的部分区域,也可以是当前块的全部区域。其中,当前块除目标扫描区域之外的区域内的变换系数都为零,而目标扫描区域内部的某个或某些变换系数可以是零。
步骤203:针对该当前块的目标扫描区域中的待解码系数,确定该待解码系数的待解码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少根据该目标位置坐标信息确定。
其中,待解码系数为按扫描顺序得到的待进行解码的变换系数,也即是,在解码过程中可以按照一定的顺序扫描该目标扫描区域,譬如如图3所示,该扫描顺序可以是从右下角到左上角的反向Z字型扫描。每扫描到一个变换系数确定为待解码系数,然后可以按照本申请实施例提供的方法解码该待解码系数的待解码标志位。
其中,该待解码标志位为第一标志位、第二标志位、第三标志位中的至少一个。该第一标志位用于指示变换系数是否是非零。该第二标志位用于指示变换系数的绝对值是否大于1。该第三标志位用于指示变换系数的绝对值是否大于2。
譬如,该第一标志位为significant flag,该第二标志位为GT1flag,该第三标志位为GT2flag。也就是说,待解码变换系数,需要至少一个标志位用于指示待解码系数,即待解码系数可以由一个标志位进行指示,也可以由多个标志位进行指示。譬如,若待解码系数为1,那么需要significant flag用于指示待解码系数非零,GT1flag用于指示待解码系数幅值小于等于1。若待解码系数为0,那么只需要significant flag用于指示待解码系数为零即可。
一般来说至少需要标志位significant flag用于指示待解码系数是否为零。作为一种示例,当待解码系数为当前块中最后一个待解码的变换系数,且之前按照扫描顺序进行解码的变换系数全部为零,由于当前块中存在非零变换系数,也就可以确定该待解码系数非零,因此,可以不对标志位significant flag进行解码。
当然,需要说明的是,用于指示一个变换系数的语法元素还可能包括其它标志位和/或参数,譬如,还可以包括第四标志位和/或变量,该第四标志位可以用于指示非零变换系数的正负,该变量可以用于指示非零变换系数幅值大于2的剩余部分,其中,该第四标志位和变量可以采用其它方式进行编解码,因此本申请实施例对此不做过多介绍。
如前文所述,变换系数的编解码可以通过对用于指示变换系数的语法元素进行编解码来实现,其中,该语法元素中的至少一个标志位可以通过上下文模型进行编解码,一般来说,每个标志位都可以支持多种不同的上下文模型来进行编解码。譬如,标志位significant flag、GT1flag和GT2flag对应的上下文模型的数量如下表1所示。
表1
需要说明的是,每个标志位对应的上下文模型可以分为亮度分量对应的上下文模型和色度分量对应的上下文模型,亮度分量和色度分量对应的上下文模型的确定方式可以相同,也可以不同,本申请实施例提供的方法可以适用于确定亮度分量对应的上下文模型,或者,也可以适用于确定色度分量对应的上下文模型。
作为一种示例,标志位对应的上下文模型可以根据一定规则分为多类上下文模型集合。以标志位significant flag为例,其亮度分量对应的上下文模型为39种,可以将其分为三类上下文模型集合,其中每一类上下文模型集合中包括13种上下文模型。作为一种示例,对于任一类上下文模型集合,还可以进一步划分为多个上下文模型子集,譬如,可以将上述每类上下文模型集合分为两个上下文模型子集,其中每个上下文模型子集中包括6种上下文模型。需要注意的是,目标扫描区域的右下角的1个变换系数可以使用单独的上下文模型。
由此可见,每个标志位都对应有多种上下文模型,因此,在解码过程中需要确定采用哪种上下文模型解码待解码系数。在本申请实施例中,上下文模型是至少根据该目标位置坐标信息确定,其具体实现方式可以包括如下几种可能的实现方式中的一种:
第一种方式中,该待解码系数的待解码标志位的上下文模型是至少根据该目标扫描区域的面积确定,该目标扫描区域的面积是根据该目标位置信息确定的。
如前文所述,该目标位置信息包括第一坐标值和第二坐标值,因此,可以根据该第一坐标值和第二坐标值来确定该扫描区域的面积。譬如,当前目标扫描区域的面积通过SRx和SRy确定,设扫描区域的面积为ScanArea,则ScanArea=(SRx+1)*(SRy+1)。
作为一种示例,该待解码系数的待解码标志位的上下文模型是至少根据该目标扫描区域的面积确定的具体实现可以包括:当该目标扫描区域的面积小于等于第一面积阈值时,该上下文模型是从第一类上下模型集合中选择的,当该扫描区域的面积大于该第一面积阈值时,该上下文模型是从第二类上下模型集合中选择的。
其中,第一面积阈值可以根据实际情况进行设置,如可以设置为1到1024之间的任一数值,例如2,4,8,16等。
其中,该第一类上下文模型和第二类上下文模型的分类规则可以根据实际情况进行设置。
也即是,当待解码标志位对应的上下文模型是根据规则分为第一类上下文模型集合和第二类上下文模型集合时,可以根据扫描区域面积与第一面积阈值的大小关系确定待解码标志位的上下文模型是从第一类上下文模型集合中选择还是从第二类上下文模型集合中选择。
譬如,设置第一面积阈值为4,当ScanArea≤4时,确定待解码标志位的上下文模型从第一类上下文模型集合中选择,当ScanArea>4时,确定待解码标志位的上下文模型从第二类上下文模型集合中选择。
以上是以当ScanArea=4时,确定待解码标志位的上下文模型从第二类上下文模型集合中选择为例。在另一实施例中,当ScanArea=4时,还可以确定待解码标志位的上下文模型从第一类上下文模型集合中选择。譬如,设置第一面积阈值为4,当ScanArea<4时,确定待解码标志位的上下文模型从第一类上下文模型集合中选择,当ScanArea≥4时,确定待解码标志位的上下文模型从第二类上下文模型集合中选择。
作为另一种示例,当该目标扫描区域的面积小于等于第一面积阈值时,该上下文模型是从第一类上下文模型集合中选择的,当该目标扫描区域的面积大于该第一面积阈值且小于等于第二面积阈值时,该上下文模型是从第二类上下文模型集合中选择的,当该目标扫描区域的面积大于该第二面积阈值时,该上下文模型是从第三类上下文模型集合中选择的。
其中,第一面积阈值和第二面积阈值可以根据实际情况进行设置,如可以设置为1到1024之间的任一数值,如2,4,8,16等。需要注意的是,第一面积阈值应小于第二面积阈值。
当待解码标志位对应的上下文模型根据规则分为第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合时,可以根据扫描区域面积与第一面积阈值和第二面积阈值之间的大小关系确定待解码标志位的上下文模型从哪一类上下文模型集合中选择。
譬如,设置第一面积阈值为4,第二面积阈值为16,当ScanArea≤4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的,当ScanArea>4,且ScanArea≤16时,确定待解码标志位的上下文模型是从第二类上下文模型集合中选择的。当ScanArea>16时,确定待解码标志位的上下文模型是从第三类上下文模型集合中选择的。
以上是以当ScanArea=4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的为例,在另一实施例中,当ScanArea=4时,还可以确定待解码标志位的上下文模型是从第二类上下文模型集合中选择的。类似的对于ScanArea=16,也可以确定待解码标志位的上下文模型是从第三类上下文模型集合中选择的。
再譬如,设置第一面积阈值为4,第二面积阈值为16,当ScanArea<4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的,当ScanArea≥4,且ScanArea<16时,确定待解码标志位的上下文模型是从第二类上下文模型集合中选择的。当ScanArea≥16时,确定待解码标志位的上下文模型是从第三类上下文模型集合中选择的。
作为一种示例,待解码标志位的上下文模型也可以分为大于三类的上下文模型集合,也就是说,待解码标志位也可以对应有四类上下文模型集合、五类上下文模型集合等等,此时可以设置更多的面积阈值进行分组,其原理与上述类似,这里不再详细介绍。
第二种方式中,上下文模型是至少根据该目标扫描区域的尺寸确定,该目标扫描区域的尺寸是根据该目标位置坐标信息确定的。
其中,该目标扫描区域的尺寸可以通过长度和宽度来表示,或者,该目标扫描区域的尺寸也可以通过长度来表示,再或者,该目标扫描区域的尺寸还可以通过宽度来表示。本实施例中,扫描区域的尺寸可以由第一坐标值SRx和第二坐标值SRy确定,设目标扫描区域的尺寸为ScanSize,则根据上文所述,该ScanSize可以为SRx*SRy,或者,该ScanSize也可以为SRx,或者,该ScanSize也可以为SRy,再或者,该ScanSize还可以为min(SRx,SRy)。
作为一种示例,当该目标扫描区域的尺寸小于等于第一尺寸阈值时,该上下文模型是从第一类上下模型集合中选择的,当该目标扫描区域的尺寸大于该第一尺寸阈值时,该上下文模型是从第二类上下模型集合中选择的。
其中,第一尺寸阈值可以根据实际情况进行设置,如可以设置为2,4,8等。
当待解码标志位对应的上下文模型根据规则分为第一类上下文模型集合和第二类上下文模型集合时,可以根据扫描区域的尺寸与第一尺寸阈值的大小关系确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的还是从第二类上下文模型集合中选择的。
譬如,假设第一尺寸阈值为4,当ScanSize≤4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的。当ScanSize>4时,确定待解码标志位的上下文模型是从第二类上下文模型集合中选择的。
以上是以当ScanSize=4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的为例,在另一实施例中,当ScanSize=4时,还可以确定待解码标志位的上下文模型是从第二类上下文模型集合中选择的。
再譬如,假设第一尺寸阈值为4,当ScanSize<4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的。当ScanSize≥4时,待解码标志位的上下文模型是从第二类上下文模型集合中选择的。
作为另一种示例,当该目标扫描区域的尺寸小于等于第一尺寸阈值时,该上下文模型是从第一类上下文模型集合中选择的,当该目标扫描区域的尺寸大于该第一尺寸阈值且小于等于第二尺寸阈值时,该上下文模型是从第二类上下文模型集合中选择的,当该目标扫描区域的尺寸大于该第二尺寸阈值时,该上下文模型是从第三类上下文模型集合中选择的。
其中,第一尺寸阈值和第二尺寸阈值可以根据实际情况进行设置,如可以设置为2,4,8等,第一尺寸阈值应该小于第二尺寸阈值。
当待解码标志位对应的上下文模型根据规则分为第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合时,可以根据扫描区域的尺寸与第一尺寸阈值和第二尺寸阈值的大小关系确定待解码标志位的上下文模型是在哪一类上下文模型集合中选择的。
譬如,设置第一尺寸阈值为2,第二尺寸阈值为8,当ScanSize≤2时,待解码标志位的上下文模型是在第一类上下文模型集合中选择的。当ScanSize>2,且ScanSize≤8时,待解码标志位的上下文模型是在第二类上下文模型集合中选择的。当ScanSize>8时,待解码标志位的上下文模型是在第三类上下文模型集合中选择的。
以上是以当ScanSize=2时,待解码标志位的上下文模型是在第一类上下文模型集合中选择的为例,在另一种实施例中,当ScanSize=2时,还可以确定待解码标志位的上下文模型是在第二类上下文模型集合中选择的。类似的当ScanSize=8时,也可以确定待解码标志位的上下文模型是在第三类上下文模型集合中选择的。
再如,当ScanSize<2时,待解码标志位的上下文模型是在第一类上下文模型集合中选择的。当ScanSize≥2,且ScanSize<8时,待解码标志位的上下文模型是在第二类上下文模型集合中选择的。当ScanSize≥8时,待解码标志位的上下文模型是在第三类上下文模型集合中选择的。
需要说明的是,当该目标扫描区域的尺寸可以通过长度和宽度来表示时,在与第一尺寸阈值或第二尺寸阈值进行比较时,需要将长度和宽度分别与第一尺寸阈值进行比较,以及将长度和宽度分别与第二尺寸阈值进行比较,譬如,当该第一尺寸阈值为2时,需要比较该目标扫描区域的长度是否小于2,以及该目标扫描区域的宽度是否小于2,等等。
作为一种示例,待解码标志位的上下文模型也可以分为大于三类的上下文模型集合,也就是说,待解码标志位也可以对应于四类上下文模型集合、五类上下文模型集合等等,此时可以设置更多的尺寸阈值进行分组,其原理与上述类似,这里不再详细介绍。
第三种方式中,上下文模型是至少根据该目标扫描区域的短边确定,该目标扫描区域的短边是根据该目标位置坐标信息确定的。
本实施例中,目标扫描区域的可以由第一坐标值SRx和该第二坐标值SRy确定,设目标扫描区域的短边用ScanM表示,需要说明的是,短边的长度可以用坐标值加一固定值来表示,譬如,当用SRx+1和SRy+1来表示目标扫描区域的边长时,则ScanM=min(SRx+1,SRy+1)。
作为一种示例,当该目标扫描区域的短边小于等于第一短边阈值时,该上下文模型是从第一类上下模型集合中选择的,当该扫描区域的短边大于该第一短边阈值时,该上下文模型是从第二类上下模型集合中选择的。
其中,第一短边阈值可以根据实际情况进行设置,如可以设置为2,4,8等。
当待解码标志位对应的上下文模型根据规则分为第一类上下文模型集合和第二类上下文模型集合时,可以根据目标扫描区域的短边与第一短边阈值的大小关系确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的还是从第二类上下文模型集合中选择的。
譬如,设置第一短边阈值为4,当ScanM≤4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的。当ScanM>4时,待解码标志位的上下文模型是从第二类上下文模型集合中选择的。
以上是以当ScanM=4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的为例,在另一种实施例中,当ScanM=4时,还可以确定待解码标志位的上下文模型是从第二类上下文模型集合中选择的。
再譬如,设置第一短边阈值为4,当ScanM<4时,确定待解码标志位的上下文模型是从第一类上下文模型集合中选择的。当ScanM≥4时,待解码标志位的上下文模型是从第二类上下文模型集合中选择的。
作为另一种示例,当该目标扫描区域的短边小于等于第一短边阈值时,该上下文模型是从第一类上下文模型集合中选择的,当该目标扫描区域的短边大于该第一短边阈值且小于等于第二短边阈值时,该上下文模型是从第二类上下文模型集合中选择的,当该目标扫描区域的短边大于该第二短边阈值时,该上下文模型是从第三类上下文模型集合中选择的。
其中,第一短边阈值和第二短边阈值可以根据实际情况进行设置,如可以设置为2,4,8等,第一短边阈值应该小于第二短边阈值。
当待解码标志位对应的上下文模型根据规则分为第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合时,可以根据目标扫描区域的短边与第一短边阈值和第二短边阈值的大小关系确定待解码标志位的上下文模型是在哪一类上下文模型集合中选择的。
譬如,设置第一短边阈值为2,第二短边阈值为8,当ScanM≤2时,待解码标志位的上下文模型是在第一类上下文模型集合中选择的。当ScanM>2,且ScanM≤8时,待解码标志位的上下文模型是在第二类上下文模型集合中选择的。当ScanM>8时,待解码标志位的上下文模型是在第三类上下文模型集合中选择的。
以上是以当ScanM=2时,待解码标志位的上下文模型是在第一类上下文模型集合中选择的为例,在另一种实施例中,当ScanM=2时,还可以确定待解码标志位的上下文模型是在第二类上下文模型集合中选择的。类似的当ScanM=8时,也可以确定待解码标志位的上下文模型是在第三类上下文模型集合中选择的。
譬如,当ScanM<2时,待解码标志位的上下文模型是在第一类上下文模型集合中选择的。当ScanM≥2,且ScanM<8时,待解码标志位的上下文模型是在第二类上下文模型集合中选择的。当ScanM≥8时,待解码标志位的上下文模型是在第三类上下文模型集合中选择的。
作为一种示例,待解码标志位的上下文模型也可以分为大于三类的上下文模型集合,也就是说,待解码标志位也可以对应于四类上下文模型集合、五类上下文模型集合等等,此时可以设置更多的短边阈值进行分组,其原理与上述类似,这里不再详细介绍。
第四种方式中,上下文模型是至少根据该目标位置坐标信息的坐标值满足的线性关系式确定。
作为一种示例,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c≤n1时,该上下文模型是从第一类上下文模型集合中选择的,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c>n1时,该上下文模型是从第二类上下文模型集合中选择的,其中,该a、b和c为常数,该SRx为该第一坐标值,该SRy为第二坐标值。
其中,n1可以取2,4,8等,a可以为1,b可以为1,c可以为0或者2。
譬如,当n1为2,a为1,b为1,c为0时,当SRx+SRy≤2时,待解码标志位的上下文模型是在第一类上下文模型集合中选择的,当SRx+SRy>2时,待解码标志位的上下文模型是在第二类上下文模型集合中选择的。
以上是以当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c=n1时,确定待解码标志位的上下文模型从第一类上下文模型集合中选择为例。在另一实施例中,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c=n1时,还可以确定待解码标志位的上下文模型从第二类上下文模型集合中选择。
譬如,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c<n1时,该上下文模型是从第一类上下文模型集合中选择的,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c≥n1时,该上下文模型是从第二类上下文模型集合中选择的,其中,该a、b和c为常数,该SRx为该第一坐标值,该SRy为第二坐标值。
其中,当待解码标志位对应的上下文模型是根据规则分为第一类上下文模型和第二类上下文模型时,可以根据目标扫描区域的第一坐标和第二坐标的线性组合后确定的和与n1之间的大小关系确定待解码标志位的上下文模型从哪一类上下文模型集合中选择。
作为另一种示例,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c≤n1时,该上下文模型是从第一类上下文模型集合中选择的,当该目标位置坐标信息的坐标值满足的线性关系式为n1<a*SRx+b*SRy+c≤n2时,该上下文模型是从第二类上下文模型集合中选择的,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c>n2时,该上下文模型是从第三类上下文模型集合中选择的,其中,该a、b和c为常数,该SRx为该第一坐标值,该SRy为第二坐标值。
其中,n1和n2可以根据实际情况进行设置,如可以设置为2,4,8等,需要注意的是,n1应小于n2。a可以为1,b可以为1,c可以为0或者2。
当待解码标志位对应的上下文模型根据规则分为第一类上下文模型、第二类上下文模型和第三类上下文模型时,则可以根据扫描区域的第一坐标和第二坐标的线性组合后确定的和与n2和n1之间的大小关系确定待解码标志位的上下文模型从哪一类上下文模型集合中选择。
譬如,当n1为2,n2为4,a为1,b为1,c为0时,当SRx+SRy≤2时,待解码标志位的上下文模型是在第一类上下文模型集合中选择的,当2<SRx+SRy≤4时,待解码标志位的上下文模型是在第二类上下文模型集合中选择的。当SRx+SRy>4时,待解码标志位的上下文模型是在第三类上下文模型集合中选择的。
以上是以当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c=n1时,该上下文模型是从第一类上下文模型集合中选择的为例,在另一实施例中,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c=n1时,还可以确定该上下文模型是从第二类上下文模型集合中选择的。类似的对于当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c=n2时,也可以确定该上下文模型是从第三类上下文模型集合中选择的。
譬如,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c<n1时,该上下文模型是从第一类上下文模型集合中选择的,当该目标位置坐标信息的坐标值满足的线性关系式为n1≤a*SRx+b*SRy+c<n2时,该上下文模型是从第二类上下文模型集合中选择的,当该目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c≥n2时,该上下文模型是从第三类上下文模型集合中选择的,其中,该a、b和c为常数,该SRx为该第一坐标值,该SRy为第二坐标值。
至此,便介绍完了上下文模型是至少根据该目标位置坐标信息确定的多种情况。
步骤204:根据该上下文模型,对待解码标志位进行解码。
作为一种示例,该上下文模型可以是在确定一类上下文模型集合之后,根据待解码系数之前已解码的5个变换系数中非零系数的个数,从确定的一类上下文模型集合中确定的。确定上下文模型后,即可根据该上下文模型对待解码标志位进行解码。
作为一种示例,对于该目标扫描区域内的某个特殊位置的变换系数对应的significant flag可以不需要解码而直接导出。譬如,针对(SRx,0)和(0,SRy)这两个点,若(SRx,0)和(SRx,SRy)这两个点之间的线段上的变换系数均为零,则对于(SRx,0)这个点的变换系数的significant flag可以不需要解码,直接导出。同理,若(0,SRy)和(SRx,SRy)这两个点之间的线段上的变换系数均为零,则对于(0,SRy)这个点的变换系数的significantflag可以不需要解码,直接导出。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
需要说明的是,上述第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合仅是用于区分分组,该第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合与其他实施例中的第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合不同。
请参考图5,该图5是根据另一示例性实施例示出的一种解码方法的流程图,该方法可以由上述电子设备执行,该方法可以包括如下几个实现步骤:
步骤501:获取当前块的码流。
其具体实现可以参见上述图2实施例中的步骤201,这里不再重复赘述。
步骤502:当确定该当前块采用SRCC时,从该码流中获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
其具体实现可以参见上述图2实施例中的步骤202,这里不再重复赘述。
步骤503:针对该当前块的目标扫描区域中的待解码系数,确定该待解码系数的待解码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少根据该目标位置坐标信息确定。
作为一种示例,上下文模型是至少根据该目标位置坐标信息确定,其具体实现方式可以为:该上下文模型还可以是至少根据该目标位置坐标信息和该待解码系数所在位置的坐标值确定。
作为一种示例,该上下文模型还可以是至少根据该目标位置坐标信息和该待解码系数所在位置的坐标值确定的具体实现可以包括:根据该目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集,根据该待解码系数所在位置的坐标值,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,该上下文模型是从选择的一个上下文模型子集中确定的。
也即是,可以先根据目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,其具体实现方式可以包括如下(1)-(4)实现方式中的任一种:
(1)根据该目标扫描区域的目标位置坐标信息,确定该目标扫描区域的面积,根据该面积,从多类上下文模型集合中选择一类上下文模型集合。
根据该面积从多类上下文模型集合中选择一类上下文模型集合的具体实现可以参见上述实施例2中上下文模型是至少根据目标扫描区域的面积确定的具体实现,这里不再赘述。
(2)根据该目标扫描区域的目标位置坐标信息,确定该目标扫描区域的尺寸,根据该尺寸,从多类上下文模型集合中选择一类上下文模型集合。
根据该尺寸从多类上下文模型集合中选择一类上下文模型集合的具体实现可以参见上述上述实施例2中上下文模型是至少根据目标扫描区域的尺寸确定的具体实现,这里不再赘述。
(3)根据该目标扫描区域的目标位置坐标信息,确定该目标扫描区域的短边,根据该短边,从多类上下文模型集合中选择一类上下文模型集合。
根据该短边从多类上下文模型集合中选择一类上下文模型集合的具体实现可以参见上述上述实施例2中上下文模型是至少根据目标扫描区域的短边确定的具体实现,这里不再赘述。
(4)根据该目标扫描区域的目标位置坐标信息,确定该目标位置坐标信息的坐标值满足的线性关系式,根据该线性关系式,从多类上下文模型集合中选择一类上下文模型集合。
根据该线性关系式从多类上下文模型集合中选择一类上下文模型集合的具体实现可以参见上述上述实施例2中上下文模型是至少根据目标扫描区域的线性关系式确定的具体实现,这里不再赘述。
由于一类上下文模型集合可以根据一定规则分为多个上下文模型子集,因此在选择一类上下文模型集合之后,可以再根据待解码系数所在位置的坐标值,在选择的一类上下文模型集合中选择一个上下文模型子集。作为一种示例,根据该待解码系数所在位置的坐标值在选择的一类上下文模型集合中选择一个上下文模型子集可以包括如下几种可能的实现方式:
第一种方式中,根据该目标位置坐标信息确定第一目标位置的坐标值,根据该待解码系数所在位置的坐标值和该第一目标位置的坐标值,从选择的一类上下文模型集合中选择一个上下文模型子集,该上下文模型是从选择的一个上下文模型子集中确定的。第一目标位置位于目标扫描区域内且排除目标位置坐标信息指示的目标位置。
也就是说,该第一目标位置可以为目标扫描区域内除(SRx,SRy)点所在的位置之外的任一位置,作为一种示例,该第一目标位置还可以根据目标位置的坐标值(即SRx,SRy)确定,如该第一目标位置也可以为(SRx/2,SRy/2)。
作为一种示例,当该待解码系数所在位置的横坐标值小于等于该第一目标位置的横坐标值,且该待解码系数所在位置的纵坐标值小于等于该第一目标位置的纵坐标值时,从选择的一类上下文模型集合中选择第一上下文模型子集。当该待解码系数所在位置的横坐标值大于该第一目标位置的横坐标值,且该待解码系数所在位置的纵坐标值大于该第一目标位置的纵坐标值时,从选择的一类上下文模型集合中选择第三上下文模型子集,否则,从选择的一类上下文模型集合中选择第二上下文模型子集。
当选择的一类上下文模型集合根据规则可以分为第一上下文模型子集、第二上下文模型子集和第三上下文模型子集时,可以根据待解码系数所在位置的横坐标值和纵坐标值与第一目标位置的横坐标值和纵坐标值之间的大小关系确定待解码标志位的上下文模型从哪一个上下文模型子集中选择。
在本实施例中,设置pos_x为待解码系数所在位置的横坐标,pos_y为待解码系数所在位置的纵坐标,设第一目标位置的横坐标值为4,第一目标位置的纵坐标值为8,如图6中b所示,当pos_x≤4,且pos_y≤8时,待解码系数位于区域1,确定待解码标志位的上下文模型从第一上下文模型子集中选择。当pos_x>4且pos_y>8时,待解码系数位于区域3,确定待解码标志位的上下文模型是从第三上下文模型子集中选择的。否则,待解码系数位于区域2,确定待解码标志位的上下文模型是从第二上下文模型子集中选择的。
以上是以当pos_x≤4,且pos_y≤8时,待解码系数位于区域1,确定待解码标志位的上下文模型从第一上下文模型子集中选择为例。在另一实施例中,还可以以当pos_x<4且pos_y≤8或pos_x≤4且pos_y<8或pos_x<4且pos_y<8时,待解码系数位于区域1,确定待解码标志位的上下文模型从第一上下文模型子集中选择。
譬如,当pos_x<4,且pos_y<8时,待解码系数位于区域1,确定待解码标志位的上下文模型从第一上下文模型子集中选择。当pos_x≥4且pos_y≥8时,待解码系数位于区域3,确定待解码标志位的上下文模型是从第三上下文模型子集中选择的。否则,待解码系数位于区域2,确定待解码标志位的上下文模型是从第二上下文模型子集中选择的。
值得一提的是,若按照图6中a中划分方式将变换系数所在的目标扫描区域分为了低频区域和非低频区域,则由于在非低频区域内包含中频区域和高频区域,中频区域往往含有非零的变换系数,而高频区域大多数的变换系数为零,如此将导致上下文自适应效果较差。而在本实施例的实现方式中,如图6中b所示,可以更加精细将变换系数所在的扫描区域分为低频、中频和高频区域,从而有利于上下文自适应,进而提高了解码效率。
第二种方式中,根据该目标位置坐标信息确定第二目标位置和第三目标位置的坐标值,根据该待解码系数所在位置的坐标值、该第二目标位置和该第三目标位置的坐标值从选择的一类上下文模型集合中选择一个上下文模型子集,该上下文模型是从选择的一个上下文模型子集中确定的。
作为一种示例,当该待解码系数所在位置的横坐标值小于等于该第二目标位置的横坐标值,且该待解码系数所在位置的纵坐标值小于等于该第二目标位置的纵坐标值时,从选择的一类上下文模型集合中选择第一上下文模型子集。当该待解码系数所在位置的横坐标值大于该第三目标位置的横坐标值,且该待解码系数所在位置的纵坐标值大于该第三目标位置的纵坐标值时,从选择的一类上下文模型集合中选择第三上下文模型子集,否则,从选择的一类上下文模型集合中选择第二上下文模型子集。
其中,第二目标位置和第三目标位置的横坐标和纵坐标可以根据实际情况进行设置,如可以设置为4,8,16等,需要注意的是,第二目标位置的横坐标值应该小于第三目标位置的横坐标值,第二目标位置的纵坐标值应该小于第三目标位置的纵坐标值。
当选择的一类上下文模型集合根据规则可以分为第一上下文模型子集、第二上下文模型子集和第三上下文模型子集时,可以根据待解码系数所在位置的横坐标和纵坐标与第二目标位置、第三目标位置的横坐标和纵坐标之间的大小关系确定待解码标志位的上下文模型从哪一个上下文模型子集中选择。
在本实施例中,设pos_x为待解码系数所在位置的横坐标,pos_y为待解码系数所在位置的纵坐标,设第二目标位置的横坐标为4,第二目标位置的纵坐标为8,第三目标位置的横坐标为16,第三目标位置的纵坐标为16。如图7所示,当pos_x≤4,且pos_y≤8,待解码系数位于区域1时,确定待解码标志位的上下文模型是从第一上下文模型子集中选择的。当pos_x>16,且pos_y>16时,待解码系数位于区域3时,确定待解码标志位的上下文模型是从第三上下文模型子集中选择的。否则,待解码系数位于区域2时,确定待解码标志位的上下文模型是从第二上下文模型子集中选择的。
以上是以当pos_x≤4,且pos_y≤8时,待解码系数位于区域1,确定待解码标志位的上下文模型从第一上下文模型子集中选择。在另一实施例中,还可以以当pos_x<4且pos_y≤8或pos_x≤4且pos_y<8或pos_x<4且pos_y<8时,待解码系数位于区域1,确定待解码标志位的上下文模型从第一上下文模型子集中选择。类似的,还可以当pos_x>16且pos_y≥16或pos_x≥16且pos_y>16或pos_x≥16且pos_y≥16时,待解码系数位于区域3时,确定待解码标志位的上下文模型是从第三上下文模型子集中选择的。
譬如,当pos_x<4,且pos_y<8,待解码系数位于区域1时,确定待解码标志位的上下文模型是从第一上下文模型子集中选择的。当pos_x≥16,且pos_y≥16时,待解码系数位于区域3时,确定待解码标志位的上下文模型是从第三上下文模型子集中选择的。否则,待解码系数位于区域2时,确定待解码标志位的上下文模型是从第二上下文模型子集中选择的。
需要说明的是,选择的一类上下文模型集合也可以分为大于三个的上下文模型子集,也就是说,选择的一类上下文模型集合也可以对应有四个上下文模型子集、五个上下文模型子集等等。
作为另一种示例,上下文模型是至少根据目标位置坐标信息确定的具体实现方式可以为:该上下文模型还可以是至少根据该目标位置坐标信息和该待解码系数所在位置的坐标值满足的线性关系式确定。
需要说明的是,上述仅是以先根据目标位置坐标信息从多类上下文模型集合中选择一类上下文模型集合,然后再根据待解码系数所在位置的坐标值,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集为例进行说明,在另一实施例中,还可以先根据待解码系数所在位置的坐标值从多类上下文模型集合中选择一类上下文模型集合,然后再根据目标位置坐标信息从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,也即是,本申请对选择的顺序不做限定。
作为一种示例,该上下文模型还可以是至少根据该目标位置坐标信息和该待解码系数所在位置的坐标值满足的线性关系式确定的具体实现可以包括:根据该目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集,根据该待解码系数所在位置的坐标值满足的线性关系式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,该上下文模型是从选择的一个上下文模型子集中确定的。
需要说明的是,根据该目标扫描区域的目标位置坐标信息从多类上下文模型集合中选择一类上下文模型集合的具体实现可以采用上一个示例中(1)-(4)四种方式中的任一种,这里不再赘述。
作为一种示例,根据该待解码系数所在位置的坐标值满足的线性关系式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集的具体实现方式可以包括但不限于如下几种可能的实现方式:
第一种方式中,当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x≤c时,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第一上下文模型子集。当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x>c时,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第二上下文模型子集,其中,该a和b为常数,该pos_x为该待解码系数所在位置的横坐标值,该pos_y为该待解码系数所在位置的纵坐标值。
作为一种示例,该a可以为第一坐标值,b可以为第二坐标值,c为第一坐标值与该第二坐标值之间的乘积,即a=SRx,b=SRy,c=SRx*SRy。
当选择的一类上下文模型集合根据规则可以分为第一上下文模型子集和第二上下文模型子集时,可以根据待解码系数所在位置的坐标值满足的线性关系式确定待解码标志位的上下文模型从哪一个上下文模型子集中选择。
譬如,如图8所示,当SRx*pos_y+SRy*pos_x≤SRx*SRy时,也就是待解码系数位于区域1,确定待解码标志位的上下文模型从第一上下文模型子集中选择。当SRx*pos_y+SRy*pos_x>SRx*SRy时,也就是待解码系数位于区域2时,确定待解码标志位的上下文模型是从第二上下文模型子集中选择的。
以上是以当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x=c时,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第一上下文模型子集。在另一实施例中,当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x=c时,还可以从选择的一类上下文模型集合包括的多个上下文模型子集中选择第二上下文模型子集。
譬如,当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x<c时,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第一上下文模型子集。当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x≥c时,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第二上下文模型子集,其中,该a和b为常数,该pos_x为该待解码系数所在位置的横坐标值,该pos_y为该待解码系数所在位置的纵坐标值。
第二种方式中,当该待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x≤c1时,从选择的一类上下文模型集合中选择第一上下文模型子集。当该待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x>c1,且a2*pos_y+b2*pos_x<c2时,从选择的一类上下文模型集合中选择第二上下文模型子集,当该待解码系数所在位置的坐标值满足的线性关系式为a2*pos_y+b2*pos_x≥c2时,从选择的一类上下文模型集合中选择第三上下文模型子集,其中,该a1、b1、a2、b2、c1和c2为常数,该c1小于该c2,该pos_x为该待解码系数所在位置的横坐标值,该pos_y为该待解码系数所在位置的纵坐标值。
作为一种示例,该a1和a2均可以为第一坐标值,该b1和b2均可以为第二坐标值,该c1为第一坐标值和该第二坐标值之间的乘积的一半,该c2为该第一坐标值与该第二坐标值之间的乘积。也即是,a1=a2=SRx,b1=b2=SRy,c1=(SRx*SRy)/2,c2=SRx*SRy。作为另一种示例,还可以设置a1=2*SRx,b1=2*SRy,c1=SRx*SRy,a2=SRx,b2=SRy,c2=SRx*SRy或者设置a1=0,b1=4,c1=SRx,a2=0,b=2,c2=(SRx+1)或SRx或者设置a1=4,b1=0,c1=SRy,a2=2,b2=0,c2=(SRy+1)或SRy。
当选择的一类上下文模型集合根据规则可以分为第一上下文模型子集、第二上下文模型子集和第三上下文模型子集时,可以根据待解码系数所在位置的坐标值满足的线性关系式确定待解码标志位的上下文模型从哪一个上下文模型子集中选择。
譬如,如图9所示,当SRx*pos_y+SRy*pos_x≤(SRx*SRy)/2时,说明待解码系数位于区域1中,确定待解码标志位的上下文模型从第一上下文模型子集中选择。当(SRx*SRy)/2<SRx*pos_y+SRy*pos_x<SRx*SRy时,说明待解码系数位于区域2,确定待解码标志位的上下文模型从第二上下文模型子集中选择。当SRx*pos_y+SRy*pos_x≥SRx*SRy时,说明待解码系数位于区域3,确定待解码标志位的上下文模型从第三上下文模型子集中选择。
以上是以当该待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x=c1时,从选择的一类上下文模型集合中选择第一上下文模型子集为例,在另一实施例中,当该待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x=c1时,还可以从选择的一类上下文模型集合中选择第二上下文模型子集。类似的对于当该待解码系数所在位置的坐标值满足的线性关系式为a2*pos_y+b2*pos_x=c2时,也可以从选择的一类上下文模型集合中选择第二上下文模型子集。
譬如,当该待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x<c1时,从选择的一类上下文模型集合中选择第一上下文模型子集。当该待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x≥c1,且a2*pos_y+b2*pos_x≤c2时,从选择的一类上下文模型集合中选择第二上下文模型子集,当该待解码系数所在位置的坐标值满足的线性关系式为a2*pos_y+b2*pos_x>c2时,从选择的一类上下文模型集合中选择第三上下文模型子集,其中,该a1、b1、a2、b2、c1和c2为常数,该c1小于该c2,该pos_x为该待解码系数所在位置的横坐标值,该pos_y为该待解码系数所在位置的纵坐标值。
另外,选择的一类上下文模型集合也可以分为大于三个的上下文模型子集,也就是说,选择的一类上下文模型集合也可以对应有四个上下文模型子集、五个上下文模型子集等等。
需要说明的是,上述仅是以先根据目标位置坐标信息从多类上下文模型集合中选择一类上下文模型集合,然后再根据待解码系数所在位置的坐标值满足的线性关系式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集为例进行说明,在另一实施例中,还可以先根据待解码系数所在位置的坐标值满足的线性关系式从多类上下文模型集合中选择一类上下文模型集合,然后再根据目标位置坐标信息从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,也即是,本申请对选择的顺序不做限定。
作为一种示例,上下文模型是至少根据目标位置坐标信息确定的具体实现可以为:该上下文模型是至少根据该目标位置坐标信息、该待解码系数所在位置的坐标值和该待解码系数所在位置的坐标值满足的线性关系式确定。
作为一种示例,该上下文模型是至少根据该目标位置坐标信息、该待解码系数所在位置的坐标值和该待解码系数所在位置的坐标值满足的线性关系式确定的具体实现可以包括:根据该目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集,根据该待解码系数所在位置的坐标值满足的线性关系式、该待解码系数所在位置的坐标值和该目标位置坐标信息,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,该上下文模型是从选择的一个上下文模型子集中确定的。
需要说明的是,根据该目标扫描区域的目标位置坐标信息从多类上下文模型集合中选择一类上下文模型集合的具体实现可以采用上述示例中(1)-(4)四种方式中的任一种,这里不再赘述。
作为一种示例,根据该待解码系数所在位置的坐标值满足的线性关系式、该待解码系数所在位置的坐标值和该目标位置坐标信息,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集的具体实现方式可以为:当该待解码系数所在位置的横坐标值小于等于第一坐标阈值,且该待解码系数所在位置的纵坐标值小于等于第二坐标阈值时,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第一上下文模型子集。当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x>c时,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第三上下文模型子集。否则,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第二上下文模型子集,其中,该第一坐标阈值小于第一坐标值,该第二坐标阈值小于该第二坐标值。
其中,第一坐标阈值和第二坐标阈值可以根据实际情况进行设置,如可以设置为2,4,8等。作为一种示例,a可以为SRx,b可以为SRy,c可以为SRx*SRy。
当选择的一类上下文模型集合根据规则可以分为第一上下文模型子集、第二上下文模型子集和第三上下文模型子集时,可以根据待解码系数所在位置的坐标值满足的线性关系式、该待解码系数所在位置的坐标值和该目标位置坐标信息确定待解码标志位的上下文模型从哪一个上下文模型子集中选择。
譬如,设置第一坐标阈值为2,第二坐标阈值为4,如图10所示,当pos_x≤2,且pos_y≤4时,说明待解码系数所在的位置的坐标位于区域1,确定待解码标志位的上下文模型从第一上下文模型子集中选择,当SRx*pos_y+SRy*pos_x>SRx*SRy时,说明待解码系数所在的位置的坐标位于区域3,确定待解码标志位的上下文模型从第三上下文模型子集中选择。否则,说明说明待解码系数所在的位置的坐标位于区域2,确定待解码标志位的上下文模型从第二上下文模型子集中选择。
以上是以当pos_x=2,且pos_y=4时,从选择的一类上下文模型集合包括的多个上下文模型子集中选择第一上下文模型子集为例,在另一种实施例中,还可以包括如下情况:当pos_x<2,且pos_y<4时,确定待解码标志位的上下文模型从第一上下文模型子集中选择,当SRx*pos_y+SRy*pos_x≥SRx*SRy时,确定待解码标志位的上下文模型从第三上下文模型子集中选择。否则,确定待解码标志位的上下文模型从第二上下文模型子集中选择。
需要说明的是,上述是以根据该待解码系数所在位置的坐标值满足的线性关系式、该待解码系数所在位置的坐标值和该目标位置坐标信息,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集为例进行说明。在另一实施例中,还可以该上下文模型可以根据该待解码系数所在位置的坐标值满足的线性关系式、该待解码系数所在位置的坐标值和该目标位置坐标信息中的至少一个,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集。
还需要说明的是,上述是根据该目标扫描区域的目标位置坐标信息从多类上下文模型集合中选择一类上下文模型集合,再根据该目标位置坐标信息、该待解码系数所在位置的坐标值和该待解码系数所在位置的坐标值满足的线性关系式从选择的一类上下文模型集合中选择一个上下文模型子集为例进行说明的。在另一种实施例中,还可以先根据该目标位置坐标信息、该待解码系数所在位置的坐标值和该待解码系数所在位置的坐标值满足的线性关系式从多类上下文模型集合中选择一类上下文模型集合,再根据该目标扫描区域的目标位置坐标信息从选择的一类上下文模型集合中选择一个上下文模型子集。
作为一种示例,上下文模型是至少根据目标位置坐标信息确定的具体实现可以为:该上下文模型是至少根据该目标位置坐标信息和该当前块满足的预设条件确定。
其中,该预设条件可以根据实际需求进行设置,作为一种示例,该预设条件可以包括但不限于如下条件中的任一种:
该第一坐标值或该第二坐标值为零。或者,该第一坐标值和该第二坐标值的乘积小于第一坐标阈值。或者,该第一坐标值大于等于第二坐标阈值且该第二坐标值大于等于第三坐标阈值。或者,该第一坐标值小于等于第二坐标阈值或该第二坐标值小于第三坐标阈值。
其中,第一坐标阈值、第二坐标阈值和第三坐标阈值可以根据实际情况进行设置。
作为一种示例,设置第一坐标阈值为4,第二坐标阈值为1,第三坐标阈值为2。也就是预设条件可以为:SRx=0或SRy=0;SRx*SRy<4;SRx≥1,且SRy≥2;SRx≤1或SRy≤2。
作为一种示例,该上下文模型是至少根据该目标位置坐标信息和该当前块满足的预设条件确定的具体实现可以包括:根据该目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集,根据该当前块满足的预设条件确定选择方式,根据所确定的选择方式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,该上下文模型是从选择的一个上下文模型子集中确定的。
需要说明的是,根据该目标扫描区域的目标位置坐标信息从多类上下文模型集合中选择一类上下文模型集合的具体实现可以采用上述示例中(1)-(4)四种方式中的任一种,这里不再赘述。
作为一种示例,根据该当前块满足的预设条件确定选择方式,根据所确定的选择方式从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集的具体实现方式可以为:当该当前块满足预设条件时,根据该待解码系数所在位置的坐标值满足的线性关系式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集。当该当前块不满足该预设条件时,根据该待解码系数所在位置的坐标值与该目标位置坐标信息,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集。
譬如,若当前块中第一坐标值和/或第二坐标值满足预设条件,如当SRx=0时,则待解码标志位基于pos_x和pos_y的线性组合确定上下文模型,其具体实现方式可以参见上述实施例。否则,待解码标志位基于pos_x和pos_y的位置确定上下文模型,其具体实现方式可以参见上述实施例。
上述示例中,是根据该目标扫描区域的目标位置坐标信息从多类上下文模型集合中选择一类上下文模型集合,再根据该当前块满足的预设条件确定选择方式,根据所确定的选择方式从选择的一类上下文模型集合中选择一个上下文模型子集为例进行说明的。在另一种实施例中,还可以先根据该当前块满足的预设条件确定选择方式,根据所确定的选择方式从多类上下文模型集合中选择一类上下文模型集合,再根据该目标扫描区域的目标位置坐标信息从选择的一类上下文模型集合中选择一个上下文模型子集。
其中选择方式可以为根据待解码系数所在位置的坐标值满足的线性关系式进行选择;或者,根据待解码系数所在位置的坐标值与目标位置坐标信息进行选择。
步骤504:根据该上下文模型,对待解码标志位进行解码。
其具体实现可以参见上述图2实施例中的步骤204,这里不再重复赘述。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
另外,在本实施例中,可以先根据目标扫描区域从多类上下文模型集合中选择一类上下文模型集合,保证分组方式与SRCC扫描方式匹配。之后,在根据待解码系数在目标扫描区域内所在的位置,从选择的一类上下文模型集合中选择一个上下文模型子集,进而从选择的一个上下文模型子集中确定该待解码系数的待解码标志位的上下文模型,使得更加精细的将变换系数所在区域分为低频、中频和高频区域,提高了解码效率。
需要说明的是,上述第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合仅是用于区分分组,该第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合与其他实施例中的第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合不同。
作为一种示例,本申请实施例还提供了一种解码方法,该方法可以由上述电子设备来执行,该方法可以包括如下几个步骤。
步骤A1:获取当前块的码流。
其具体实现方式可以参见图2实施例中的步骤201,这里不再重复赘述。
步骤A2:当确定该当前块采用SRCC时,从该码流中获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
其具体实现方式可以参见图2实施例中的步骤202,这里不再重复赘述。
步骤A3:针对该当前块的目标扫描区域中的待解码系数,确定该待解码系数的待解码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少根据该待解码系数所在位置的坐标值从至少三类上下文模型集合中确定。
其中上下文模型是至少根据该待解码系数所在位置的坐标值从至少三类上下文模型集合中确定的具体实现方式可以有多种。
第一种方式中,该上下文模型是至少根据该待解码系数所在位置的坐标值从至少三类上下文模型集合中确定,包括:根据该目标位置坐标信息确定第一目标位置的坐标值,该上下文模型是至少根据该待解码系数所在位置的坐标值和该第一目标位置的坐标值确定,该第一目标位置位于该目标扫描区域内且排除该目标位置坐标信息指示的目标位置。
也就是说,该第一目标位置可以为目标扫描区域内除(SRx,SRy)点所在的位置之外的任一位置,作为一种示例,该第一目标位置还可以根据目标位置也就是(SRx,SRy)点所在的位置确定,如该第一目标位置也可以为(SRx/2,SRy/2)。
作为一种示例,当该待解码系数所在位置的横坐标值小于等于该第一目标位置的横坐标值,且该待解码系数所在位置的纵坐标值小于等于该第一目标位置的纵坐标值时,该上下文模型是从第一类上下文模型集合中选择的;当该待解码系数所在位置的横坐标值大于该第一目标位置的横坐标值,且该待解码系数所在位置的纵坐标值大于该第一目标位置的纵坐标值时,该上下文模型是从第三类上下文模型集合中选择的;否则,该上下文模型是从第二类上下文模型集合中选择的。
当待解码系数的待解码标志位对应的上下文模型根据规则可以分为第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合时,可以根据待解码系数所在位置的横坐标值和纵坐标值与第一目标位置的横坐标值和纵坐标值之间的大小关系确定待解码标志位的上下文模型从哪一类上下文模型集合中选择。
其目标扫描区域的具体情况可以参见图6。
第二种方式中,该上下文模型是至少根据该待解码系数所在位置的坐标值从至少三类上下文模型集合中确定,包括:根据该目标位置坐标信息确定第二目标位置和第三目标位置的坐标值,该上下文模型至少是根据该待解码系数所在位置的坐标值、该第二目标位置和该第三目标位置的坐标值确定。
作为一种示例,当该待解码系数所在位置的横坐标值小于等于该第二目标位置的横坐标值,且该待解码系数所在位置的纵坐标值小于等于该第二目标位置的纵坐标值时,该上下文模型是从第一类上下文模型集合中选择的;当该待解码系数所在位置的横坐标值大于该第三目标位置的横坐标值,且该待解码系数所在位置的纵坐标值大于该第三目标位置的纵坐标值时,该上下文模型是从第三类上下文模型集合中选择的;否则,该上下文模型是从第二类上下文模型集合中选择的。
其中,第二目标位置和第三目标位置的横坐标和纵坐标可以根据实际情况进行设置,如可以设置为4,8,16等,需要注意的是,第二目标位置的横坐标值应该小于第三目标位置的横坐标值,第二目标位置的纵坐标值应该小于第三目标位置的纵坐标值。
当待解码系数的待解码标志位对应的上下文模型根据规则可以分为第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合时,可以根据待解码系数所在位置的横坐标和纵坐标与第二目标位置、第三目标位置的横坐标和纵坐标之间的大小关系确定待解码标志位的上下文模型从哪一类上下文模型集合中选择。
其目标扫描区域的具体情况可以参见图7。
其具体实现方式可以参见图2实施例中的步骤203,这里不再重复赘述。
步骤A4:根据该上下文模型,对该待解码标志位进行解码。
其具体实现方式可以参见图2实施例中的步骤204,这里不再重复赘述。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
需要说明的是,上述第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合仅是用于区分分组,该第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合与其他实施例中的第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合不同。
作为一种示例,本申请实施例还提供的一种解码方法,该方法可以由上述电子设备来执行,该方法可以包括如下几个步骤。
步骤B1:获取当前块的码流。
其具体实现方式可以参见图2实施例中的步骤201,这里不再重复赘述。
步骤B2:当确定该当前块采用基于扫描区域的系数编码SRCC时,从该码流中获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
其具体实现方式可以参见图2实施例中的步骤202,这里不再重复赘述。
步骤B3:针对该当前块的目标扫描区域中的待解码系数,确定该待解码系数的待解码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少根据该待解码系数所在位置的坐标值满足的线性关系式确定。
其中该上下文模型是至少根据该待解码系数所在位置的坐标值满足的线性关系式确定的具体实现方式可以有多种。
第一种方式中,当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x≤c时,该上下文模型是从第一类上下文模型集合中选择的;当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x>c时,该上下文模型是从第二类上下文模型集合中选择的;其中,该a和b为常数,该pos_x为该待解码系数所在位置的横坐标值,该pos_y为该待解码系数所在位置的纵坐标值。
其中,该a为该第一坐标值,该b为该第二坐标值,该第一数值为该第一坐标值与该第二坐标值之间的乘积。
当待解码系数的待解码标志位对应的上下文模型根据规则可以分为第一类上下文模型集合和第二类上下文模型集合时,可以根据待解码系数所在位置的坐标值满足的线性关系式确定待解码标志位的上下文模型从哪一类上下文模型集合中选择。
其目标扫描区域的具体情况可以参见图8。
第二种方式中,当该待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x≤c1时,该上下文模型是从第一类上下文模型集合中选择的;当该待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x>c1,且a2*pos_y+b2*pos_x≤c2时,该上下文模型是从第二类上下文模型集合中选择的;当该待解码系数所在位置的坐标值满足的线性关系式为a2*pos_y+b2*pos_x>c2时,该上下文模型是从第三类上下文模型集合中选择的;其中,该a1、b1、a2、b2、c1和c2为常数,该c1小于该c2,该pos_x为该待解码系数所在位置的横坐标值,该pos_y为该待解码系数所在位置的纵坐标值。
其中,该a1和a2均为该第一坐标值,该b1和b2均为该第二坐标值,该c1为该第一坐标值和该第二坐标值之间的乘积的一半,该c2为该第一坐标值与该第二坐标值之间的乘积。
当待解码系数的待解码标志位对应的上下文模型根据规则可以分为第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合时,可以根据待解码系数所在位置的坐标值满足的线性关系式确定待解码标志位的上下文模型从哪一类上下文模型集合中选择。
其目标扫描区域的具体情况可以参见图9。
由此,上下文模型是至少根据该待解码系数所在位置的坐标值满足的线性关系式确定的具体实现方式就介绍完了。
进一步地,述上下文模型是至少根据该待解码系数所在位置的坐标值满足的线性关系式、该待解码系数所在位置的坐标值和该目标位置坐标信息确定,其具体实现过程包括:当该待解码系数所在位置的横坐标值小于等于第一坐标阈值,且该待解码系数所在位置的纵坐标值小于等于第二坐标阈值时,该上下文模型是从第一类上下文模型集合中选择的;否则,当该待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x>c时,该上下文模型是从第三类上下文模型集合中选择的;否则,该上下文模型是从第二类上下文模型集合中选择的;其中,该第一坐标阈值小于第一坐标值,该第二坐标阈值小于该第二坐标值。
当待解码系数的待解码标志位对应的上下文模型根据规则可以分为第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合时,可以根据待解码系数所在位置的坐标值满足的线性关系式、该待解码系数所在位置的坐标值和该目标位置坐标信息确定待解码标志位的上下文模型从哪一类上下文模型集合中选择。
其目标扫描区域的具体情况可以参见图10。
其具体实现方式可以参见图2实施例中的步骤203,这里不再重复赘述。
另外,选择的一类上下文模型集合也可以分为大于三个的上下文模型集合,也就是说,选择的一类上下文模型集合也可以对应有四个上下文模型集合、五个上下文模型集合等等。
步骤B4:根据该上下文模型,对该待解码标志位进行解码。
其具体实现方式可以参见图2实施例中的步骤204,这里不再重复赘述。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
需要说明的是,上述第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合仅是用于区分分组,该第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合与其他实施例中的第一类上下文模型集合、第二类上下文模型集合和第三类上下文模型集合不同。
作为一种示例,本申请实施例还提供的一种解码方法,该方法可以由上述电子设备来执行,该方法可以包括如下几个步骤。
步骤C1:获取当前块的码流。
其具体实现方式可以参见图2实施例中的步骤201,这里不再重复赘述。
步骤C2:当确定该当前块采用基于扫描区域的系数编码SRCC时,从该码流中获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
其具体实现方式可以参见图2实施例中的步骤202,这里不再重复赘述。
步骤C3:针对该当前块的目标扫描区域中的待解码系数,确定该待解码系数的待解码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少基于该当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的。
其中选择方式包括:根据该待解码系数所在位置的坐标值满足的线性关系式进行选择;或者,根据该待解码系数所在位置的坐标值与该目标位置坐标信息进行选择。
该上下文模型是至少基于该当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的具体实现方式可以为:当该当前块满足预设条件时,该上下文模型是至少根据该待解码系数所在位置的坐标值满足的线性关系式确定;当该当前块不满足该预设条件时,该上下文模型是至少根据该待解码系数所在位置的坐标值与该目标位置坐标信息确定。
其中,该预设条件包括如下条件中的一种:该第一坐标值或该第二坐标值为零;该第一坐标值和该第二坐标值的乘积小于第一坐标阈值;该第一坐标值大于等于第二坐标阈值且该第二坐标值大于等于第三坐标阈值;该第一坐标值小于等于第二坐标阈值或该第二坐标值小于第三坐标阈值。
其中,第一坐标阈值、第二坐标阈值和第三坐标阈值可以根据实际情况进行设置。
其具体实现方式可以参见图2实施例中的步骤203,这里不再重复赘述。
步骤C4:根据该上下文模型,对该待解码标志位进行解码。
其具体实现方式可以参见图2实施例中的步骤204,这里不再重复赘述。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
作为一种示例,本申请实施例还提供的一种编码方法,该方法可以由上述电子设备来执行,该方法可以包括如下几个步骤。
步骤D1:当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
若当前块的编码方式为SRCC,可以确定变换系数对应的扫描区域,该扫描区域是通过当前块的变换系数中最右面的非零变换系数的横坐标SRx(第一坐标值)和变换系数中最下面的非零变换系数的纵坐标SRy(第二坐标值)来确定的,作为一种示例,可以以当前块的某个顶点为原点建立坐标系。基于此,编码端可以通过SRx和SRy的信息,确定目标扫描区域,该SRx和SRy对应的位置为该目标扫描区域对应的目标位置。
其具体实现方式可以参见图2实施例中的步骤202,这里不再重复赘述。
步骤D2:针对该当前块的目标扫描区域中的待编码系数,确定该待编码系数的待编码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少根据该目标位置坐标信息确定。
其中,待编码系数为按扫描顺序得到的待进行编码的系数,也即是,在编码过程中可以按照一定的顺序扫描该目标扫描区域,如图3所示,该扫描顺序可以是从右下角到左上角的反向Z字型扫描。每扫描到一个变换系数确定为待编码系数,然后可以按照本申请实施例提供的方法确定该待编码系数的待编码标志位。
其中,该待编码标志位为第一标志位、第二标志位、第三标志位中的至少一个。该第一标志位用于指示变换系数是否是非零。该第二标志位用于指示变换系数的绝对值是否大于1。该第三标志位用于指示变换系数的绝对值是否大于2。
譬如,作为一种示例,该第一标志位为significant flag,该第二标志位为GT1flag,该第三标志位为GT2flag。也就是说,待编码变换系数,需要至少一个标志位用于指示待编码系数,即待编码系数可以由一个标志位进行指示,也可以由多个标志位进行指示。譬如,若待编码系数为1,那么需要significant flag用于指示待编码系数非零,GT1flag用于指示待编码系数幅值小于等于1。若待编码系数为0,那么只需要significantflag用于指示待编码系数为零即可。
如前文所述,变换系数的编码可以通过对用于指示变换系数的语法元素进行编码来实现,其中,该语法元素中的至少一个标志位可以通过上下文模型进行编码,一般来说,每个标志位都可以通过多种不同的上下文模型来进行编码。如图2实施例中表1所示,可知每个标志位都对应有多种上下文模型,因此,在编码过程中需要确定采用哪种上下文模型编码待编码系数。
在本申请实施例中,上下文模型是至少根据该目标位置坐标信息确定,其具体实现方式可以参见图2实施例中的步骤203,这里不再重复赘述。
步骤D3:根据该上下文模型,对该待编码标志位进行编码。
作为一种示例,该上下文模型可以是在确定一类上下文模型集合之后,根据待编码系数之前已编码的5个变换系数中非零系数的个数,在该类上下文模型集合中确定的。确定上下文模型后,即可根据该上下文模型对待编码标志位进行编码。
其具体实现方式可以参见图2实施例中的步骤204,这里不再重复赘述。
在本申请实施例中,当当前块采用SRCC时,获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待编码系数的待编码标志位的上下文模型,根据该上下文模型,对待编码标志位进行编码。也即是,根据目标扫描区域确定待编码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了编码性能。
作为一种示例,本申请实施例还提供的一种编码方法,该方法可以由上述电子设备来执行,该方法可以包括如下几个步骤。
步骤E1:当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
其具体实现方式可以参见图2实施例中的步骤202,这里不再重复赘述。
步骤E2:针对该当前块的目标扫描区域中的待编码系数,确定该待编码系数的待编码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少根据该待解码系数所在位置的坐标值从至少三类上下文模型集合中确定。
其具体实现方式可以参见上述实施例中的步骤A3,这里不再重复赘述。
步骤E3:根据该上下文模型,对该待编码标志位进行编码。
其具体实现方式可以参见图2实施例中的步骤204,这里不再重复赘述。
在本申请实施例中,当当前块采用SRCC时,获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待编码系数的待编码标志位的上下文模型,根据该上下文模型,对待编码标志位进行编码。也即是,根据目标扫描区域确定待编码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了编码性能。
作为一种示例,本申请实施例还提供的一种编码方法,该方法可以由上述电子设备来执行,该方法可以包括如下几个步骤。
步骤F1:当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
其具体实现方式可以参见图2实施例中的步骤202,这里不再重复赘述。
步骤F2:针对该当前块的目标扫描区域中的待编码系数,确定该待编码系数的待编码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少根据该待解码系数所在位置的坐标值满足的线性关系式确定。
其具体实现方式可以参见上述实施例中的步骤B3,这里不再重复赘述。
步骤F3:根据该上下文模型,对该待编码标志位进行编码。
其具体实现方式可以参见图2实施例中的步骤204,这里不再重复赘述。
在本申请实施例中,当当前块采用SRCC时,获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待编码系数的待编码标志位的上下文模型,根据该上下文模型,对待编码标志位进行编码。也即是,根据目标扫描区域确定待编码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了编码性能。
作为一种示例,本申请实施例还提供的一种编码方法,该方法可以由上述电子设备来执行,该方法可以包括如下几个步骤。
步骤G1:当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,该目标位置坐标信息由第一坐标值和第二坐标值组成,该第一坐标值为该当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,该第二坐标值为该当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标。
其具体实现方式可以参见图2实施例中的步骤202,这里不再重复赘述。
步骤G2:针对该当前块的目标扫描区域中的待编码系数,确定该待编码系数的待编码标志位的上下文模型,该目标扫描区域是基于该目标位置坐标信息确定的扫描区域,该上下文模型是至少基于该当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的。
其具体实现方式可以参见上述实施例中的步骤C3,这里不再重复赘述。
步骤G3:根据该上下文模型,对该待编码标志位进行编码。
其具体实现方式可以参见图2实施例中的步骤204,这里不再重复赘述。
在本申请实施例中,当当前块采用SRCC时,获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待编码系数的待编码标志位的上下文模型,根据该上下文模型,对待编码标志位进行编码。也即是,根据目标扫描区域确定待编码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了编码性能。
请参考图11,图11是本申请实施例提供的一种解码装置的结构示意图,该装置可以包括:
码流获取模块1110,用于获取当前块的码流;
信息获取模块1120,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块1130,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;
解码模块1140,用于根据所述上下文模型,对所述待解码标志位进行解码。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述目标扫描区域的面积确定,所述目标扫描区域的面积是根据所述目标位置信息确定的。
在本申请一种可能的实现方式中,当所述目标扫描区域的面积小于等于第一面积阈值时,所述上下文模型是从第一类上下模型集合中选择的;当所述扫描区域的面积大于所述第一面积阈值时,所述上下文模型是从第二类上下模型集合中选择的。
在本申请一种可能的实现方式中,当所述目标扫描区域的面积小于等于第一面积阈值时,所述上下文模型是从第一类上下文模型集合中选择的;当所述目标扫描区域的面积大于所述第一面积阈值且小于等于第二面积阈值时,所述上下文模型是从第二类上下文模型集合中选择的;当所述目标扫描区域的面积大于所述第二面积阈值时,所述上下文模型是从第三类上下文模型集合中选择的。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述目标扫描区域的尺寸确定,所述目标扫描区域的尺寸是根据所述目标位置坐标信息确定的。
在本申请一种可能的实现方式中,当所述目标扫描区域的尺寸小于等于第一尺寸阈值时,所述上下文模型是从第一类上下模型集合中选择的;当所述扫描区域的尺寸大于所述第一尺寸阈值时,所述上下文模型是从第二类上下模型集合中选择的。
在本申请一种可能的实现方式中,当所述目标扫描区域的尺寸小于等于第一尺寸阈值时,所述上下文模型是从第一类上下文模型集合中选择的;当所述目标扫描区域的尺寸大于所述第一尺寸阈值且小于等于第二尺寸阈值时,所述上下文模型是从第二类上下文模型集合中选择的;当所述目标扫描区域的尺寸大于所述第二尺寸阈值时,所述上下文模型是从第三类上下文模型集合中选择的。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述目标扫描区域的短边确定,所述目标扫描区域的短边是根据所述目标位置坐标信息确定的。
在本申请一种可能的实现方式中,当所述目标扫描区域的短边小于等于第一短边阈值时,所述上下文模型是从第一类上下模型集合中选择的;当所述扫描区域的短边大于所述第一短边阈值时,所述上下文模型是从第二类上下模型集合中选择的。
在本申请一种可能的实现方式中,当所述目标扫描区域的短边小于等于第一短边阈值时,所述上下文模型是从第一类上下文模型集合中选择的;当所述目标扫描区域的短边大于所述第一短边阈值且小于等于第二短边阈值时,所述上下文模型是从第二类上下文模型集合中选择的;当所述目标扫描区域的短边大于所述第二短边阈值时,所述上下文模型是从第三类上下文模型集合中选择的。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述目标位置坐标信息的坐标值满足的线性关系式确定。
在本申请一种可能的实现方式中,当所述目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c≤n1时,所述上下文模型是从第一类上下文模型集合中选择的;当所述目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c>n1时,所述上下文模型是从第二类上下文模型集合中选择的;其中,所述a、b和c为常数,所述SRx为所述第一坐标值,所述SRy为第二坐标值。
在本申请一种可能的实现方式中,当所述目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c≤n1时,所述上下文模型是从第一类上下文模型集合中选择的;当所述目标位置坐标信息的坐标值满足的线性关系式为n1<a*SRx+b*SRy+c≤n2时,所述上下文模型是从第二类上下文模型集合中选择的;当所述目标位置坐标信息的坐标值满足的线性关系式为a*SRx+b*SRy+c>n2时,所述上下文模型是从第三类上下文模型集合中选择的;其中,所述a、b和c为常数,所述SRx为所述第一坐标值,所述SRy为第二坐标值。
在本申请一种可能的实现方式中,所述待解码标志位为第一标志位、第二标志位、第三标志位中的至少一个;所述第一标志位用于指示变换系数是否是非零;所述第二标志位用于指示变换系数的绝对值是否大于1;所述第三标志位用于指示变换系数的绝对值是否大于2。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述目标位置坐标信息和所述待解码系数所在位置的坐标值确定。
在本申请一种可能的实现方式中,根据所述目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集;
根据所述待解码系数所在位置的坐标值,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,所述上下文模型是从选择的一个上下文模型子集中确定的。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述目标位置坐标信息和所述待解码系数所在位置的坐标值满足的线性关系式确定。
在本申请一种可能的实现方式中,所述模型确定模块1130用于:根据所述目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集;根据所述待解码系数所在位置的坐标值满足的线性关系式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,所述上下文模型是从选择的一个上下文模型子集中确定的。
在本申请一种可能的实现方式中,当所述待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x≤c时,所述上下文模型是从第一上下文模型子集中选择的;当所述待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x>c时,所述上下文模型是从第二上下文模型子集中选择的;其中,所述a和b为常数,所述pos_x为所述待解码系数所在位置的横坐标值,所述pos_y为所述待解码系数所在位置的纵坐标值。
在本申请一种可能的实现方式中,所述a为所述第一坐标值,所述b为所述第二坐标值,所述第一数值为所述第一坐标值与所述第二坐标值之间的乘积。
在本申请一种可能的实现方式中,当所述待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x≤c1时,所述上下文模型是从第一上下文模型子集中选择的;当所述待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x>c1,且a2*pos_y+b2*pos_x<c2时,所述上下文模型是从第二上下文模型子集中选择的;当所述待解码系数所在位置的坐标值满足的线性关系式为a2*pos_y+b2*pos_x≥c2时,所述上下文模型是从第三上下文模型子集中选择的;其中,所述a1、b1、a2、b2、c1和c2为常数,所述c1小于所述c2,所述pos_x为所述待解码系数所在位置的横坐标值,所述pos_y为所述待解码系数所在位置的纵坐标值。
在本申请一种可能的实现方式中,所述a1和a2均为所述第一坐标值,所述b1和b2均为所述第二坐标值,所述c1为所述第一坐标值和所述第二坐标值之间的乘积的一半,所述c2为所述第一坐标值与所述第二坐标值之间的乘积。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述目标位置坐标信息、所述待解码系数所在位置的坐标值和所述待解码系数所在位置的坐标值满足的线性关系式确定。
在本申请一种可能的实现方式中,所述模型确定模块1130用于:根据所述目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集;根据所述待解码系数所在位置的坐标值满足的线性关系式、所述待解码系数所在位置的坐标值和所述目标位置坐标信息,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,所述上下文模型是从选择的一个上下文模型子集中确定的。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述目标位置坐标信息和所述当前块满足的预设条件确定。
在本申请一种可能的实现方式中,所述模型确定模块1130还用于:根据所述目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集;根据所述当前块满足的预设条件确定选择方式,根据所确定的选择方式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,所述上下文模型是从选择的一个上下文模型子集中确定的。
在本申请一种可能的实现方式中,所述模型确定模块1130用于:根据所述目标扫描区域的目标位置坐标信息,确定所述目标扫描区域的面积,根据所述面积,从多类上下文模型集合中选择一类上下文模型集合;或者,根据所述目标扫描区域的目标位置坐标信息,确定所述目标扫描区域的尺寸,根据所述尺寸,从多类上下文模型集合中选择一类上下文模型集合;或者,根据所述目标扫描区域的目标位置坐标信息,确定所述目标扫描区域的短边,根据所述短边,从多类上下文模型集合中选择一类上下文模型集合;或者,根据所述目标扫描区域的目标位置坐标信息,确定所述目标位置坐标信息的坐标值满足的线性关系式,根据所述线性关系式,从多类上下文模型集合中选择一类上下文模型集合。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
作为一种示例,本申请实施例还提供一种解码装置,该装置可以包括:
码流获取模块,用于获取当前块的码流;
信息获取模块,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值从至少三类上下文模型集合中确定;
解码模块,用于根据所述上下文模型,对所述待解码标志位进行解码。
在本申请一种可能的实现方式中,根据所述目标位置坐标信息确定第一目标位置的坐标值,所述上下文模型是至少根据所述待解码系数所在位置的坐标值和所述第一目标位置的坐标值确定,所述第一目标位置位于所述目标扫描区域内且排除所述目标位置坐标信息指示的目标位置。
在本申请一种可能的实现方式中,当所述待解码系数所在位置的横坐标值小于等于所述第一目标位置的横坐标值,且所述待解码系数所在位置的纵坐标值小于等于所述第一目标位置的纵坐标值时,所述上下文模型是从第一类上下文模型集合中选择的;当所述待解码系数所在位置的横坐标值大于所述第一目标位置的横坐标值,且所述待解码系数所在位置的纵坐标值大于所述第一目标位置的纵坐标值时,所述上下文模型是从第三类上下文模型集合中选择的;否则,所述上下文模型是从第二类上下文模型集合中选择的。
在本申请一种可能的实现方式中,根据所述目标位置坐标信息确定第二目标位置和第三目标位置的坐标值,所述上下文模型至少是根据所述待解码系数所在位置的坐标值、所述第二目标位置和所述第三目标位置的坐标值确定。
在本申请一种可能的实现方式中,当所述待解码系数所在位置的横坐标值小于等于所述第二目标位置的横坐标值,且所述待解码系数所在位置的纵坐标值小于等于所述第二目标位置的纵坐标值时,所述上下文模型是从第一类上下文模型集合中选择的;当所述待解码系数所在位置的横坐标值大于所述第三目标位置的横坐标值,且所述待解码系数所在位置的纵坐标值大于所述第三目标位置的纵坐标值时,所述上下文模型是从第三类上下文模型集合中选择的;否则,所述上下文模型是从第二类上下文模型集合中选择的。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
作为一种示例,本申请实施例还提供一种解码装置,该装置可以包括:
码流获取模块,用于获取当前块的码流;
信息获取模块,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值满足的线性关系式确定;
解码模块,用于根据所述上下文模型,对所述待解码标志位进行解码。
在本申请一种可能的实现方式中,当所述待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x≤c时,所述上下文模型是从第一类上下文模型集合中选择的;当所述待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x>c时,所述上下文模型是从第二类上下文模型集合中选择的;其中,所述a和b为常数,所述pos_x为所述待解码系数所在位置的横坐标值,所述pos_y为所述待解码系数所在位置的纵坐标值。
在本申请一种可能的实现方式中,所述a为所述第一坐标值,所述b为所述第二坐标值,所述第一数值为所述第一坐标值与所述第二坐标值之间的乘积。
在本申请一种可能的实现方式中,当所述待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x≤c1时,所述上下文模型是从第一类上下文模型集合中选择的;当所述待解码系数所在位置的坐标值满足的线性关系式为a1*pos_y+b1*pos_x>c1,且a2*pos_y+b2*pos_x<c2时,所述上下文模型是从第二类上下文模型集合中选择的;当所述待解码系数所在位置的坐标值满足的线性关系式为a2*pos_y+b2*pos_x≥c2时,所述上下文模型是从第三类上下文模型集合中选择的;其中,所述a1、b1、a2、b2、c1和c2为常数,所述c1小于所述c2,所述pos_x为所述待解码系数所在位置的横坐标值,所述pos_y为所述待解码系数所在位置的纵坐标值。
在本申请一种可能的实现方式中,所述a1和a2均为所述第一坐标值,所述b1和b2均为所述第二坐标值,所述c1为所述第一坐标值和所述第二坐标值之间的乘积的一半,所述c2为所述第一坐标值与所述第二坐标值之间的乘积。
在本申请一种可能的实现方式中,所述上下文模型是至少根据所述待解码系数所在位置的坐标值满足的线性关系式、所述待解码系数所在位置的坐标值和所述目标位置坐标信息确定。
在本申请一种可能的实现方式中,当所述待解码系数所在位置的横坐标值小于等于第一阈值,且所述待解码系数所在位置的纵坐标值小于等于第二阈值时,所述上下文模型是从第一类上下文模型集合中选择的;否则,当所述待解码系数所在位置的坐标值满足的线性关系式为a*pos_y+b*pos_x>c时,所述上下文模型是从第三类上下文模型集合中选择的;否则,所述上下文模型是从第二类上下文模型集合中选择的;其中,所述第一阈值小于第一坐标值,所述第二阈值小于所述第二坐标值。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
作为一种示例,本申请实施例还提供一种解码装置,该装置可以包括:
码流获取模块,用于获取当前块的码流;
信息获取模块,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少基于所述当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的;
解码模块,用于根据所述上下文模型,对所述待解码标志位进行解码。
在本申请一种可能的实现方式中,根据所述待解码系数所在位置的坐标值满足的线性关系式进行选择;或者,根据所述待解码系数所在位置的坐标值与所述目标位置坐标信息进行选择。
在本申请一种可能的实现方式中,当所述当前块满足预设条件时,所述上下文模型是至少根据所述待解码系数所在位置的坐标值满足的线性关系式确定;当所述当前块不满足所述预设条件时,所述上下文模型是至少根据所述待解码系数所在位置的坐标值与所述目标位置坐标信息确定。
在本申请一种可能的实现方式中,所述预设条件包括如下条件中的一种:所述第一坐标值或所述第二坐标值为零;所述第一坐标值和所述第二坐标值的乘积小于第一坐标阈值;所述第一坐标值大于等于第二坐标阈值且所述第二坐标值大于等于第三坐标阈值;所述第一坐标值小于等于第二坐标阈值或所述第二坐标值小于第三坐标阈值。
在本申请实施例中,获取当前块的码流,当确定当前块采用SRCC时,从码流中获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待解码系数的待解码标志位的上下文模型,根据该上下文模型,对待解码标志位进行解码。也即是,根据目标扫描区域确定待解码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了解码性能。
需要说明的是:上述实施例提供的解码装置在实现解码方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的解码装置与解码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图12,图12是本申请实施例提供的一种编码装置的结构示意图,该装置可以包括:
获取模块1210,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块1220,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;
编码模块1230,用于根据所述上下文模型,对所述待编码标志位进行编码。
在本申请实施例中,当当前块采用SRCC时,获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待编码系数的待编码标志位的上下文模型,根据该上下文模型,对待编码标志位进行编码。也即是,根据目标扫描区域确定待编码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了编码性能。
作为一种示例,本申请实施例还提供一种编码装置,该装置可以包括:
获取模块,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值从至少三类上下文模型集合中确定;
编码模块,用于根据所述上下文模型,对所述待编码标志位进行编码。
在本申请实施例中,当当前块采用SRCC时,获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待编码系数的待编码标志位的上下文模型,根据该上下文模型,对待编码标志位进行编码。也即是,根据目标扫描区域确定待编码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了编码性能。
作为一种示例,本申请实施例还提供一种编码装置,该装置可以包括:
获取模块,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述待解码系数所在位置的坐标值满足的线性关系式确定;
编码模块,用于根据所述上下文模型,对所述待编码标志位进行编码。
在本申请实施例中,当当前块采用SRCC时,获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待编码系数的待编码标志位的上下文模型,根据该上下文模型,对待编码标志位进行编码。也即是,根据目标扫描区域确定待编码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了编码性能。
作为一种示例,本申请实施例还提供一种编码装置,该装置可以包括:
获取模块,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少基于所述当前块满足的预设条件确定选择方式后根据所确定的选择方式确定的;
编码模块,用于根据所述上下文模型,对所述待编码标志位进行编码。
在本申请实施例中,当当前块采用SRCC时,获取目标位置坐标信息,基于目标位置坐标信息确定当前块的目标扫描区域,至少根据该目标位置坐标信息确定该待编码系数的待编码标志位的上下文模型,根据该上下文模型,对待编码标志位进行编码。也即是,根据目标扫描区域确定待编码标志位的上下文模型,使得该种分组方式与SRCC技术的扫描方式匹配,提高了编码性能。
需要说明的是:上述实施例提供的编码装置在实现编码方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的编码装置与编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图13是本申请实施例提供的一种电子设备1300的结构框图。该电子设备可以用于编码,也可以用于解码。该电子设备1300可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,电子设备1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的方法。
在一些实施例中,电子设备1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置电子设备1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在电子设备1300的不同表面或呈折叠设计;在再一些实施例中,显示屏1305可以是柔性显示屏,设置在电子设备1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位电子设备1300的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1309用于为电子设备1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以电子设备1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测电子设备1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对电子设备1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在电子设备1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在电子设备1300的侧边框时,可以检测用户对电子设备1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,由处理器1301根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置电子设备1300的正面、背面或侧面。当电子设备1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在电子设备1300的前面板。接近传感器1316用于采集用户与电子设备1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与电子设备1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与电子设备1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对电子设备1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中方法的步骤。例如,所述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的解码方法、编码方法的步骤。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种解码方法,其特征在于,所述方法包括:
获取当前块的码流;
当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;根据所述上下文模型,对所述待解码标志位进行解码;
其中,所述确定所述待解码系数的待解码标志位的上下文模型,包括:
根据所述目标位置信息,确定所述目标扫描区域的面积;根据所述目标扫描区域的面积,从多类上下文模型集合中选择一类上下文模型集合;根据所述待解码系数所在位置的坐标值,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,从选择的一个上下文模型子集中确定所述上下文模型;
所述目标扫描区域的面积为(SRx+1)*(SRy+1),其中,所述SRx为所述第一坐标值,所述SRy为所述第二坐标值;
其中,所述待解码标志位包括第一标志位,所述第一标志位用于指示变换系数是否是非零;所述待解码标志位还包括第二标志位、第三标志位中的至少一个;所述第二标志位用于指示变换系数的绝对值是否大于1;所述第三标志位用于指示变换系数的绝对值是否大于2。
2.如权利要求1所述的方法,其特征在于,根据所述目标扫描区域的面积,从多类上下文模型集合中选择一类上下文模型集合,包括:
当所述目标扫描区域的面积小于等于第一面积阈值时,所述上下文模型是从第一类上下模型集合中选择的;
当所述扫描区域的面积大于所述第一面积阈值时,所述上下文模型是从第二类上下模型集合中选择的。
3.如权利要求1所述的方法,其特征在于,根据所述目标扫描区域的面积,从多类上下文模型集合中选择一类上下文模型集合,包括:
当所述目标扫描区域的面积小于等于第一面积阈值时,所述上下文模型是从第一类上下文模型集合中选择的;
当所述目标扫描区域的面积大于所述第一面积阈值且小于等于第二面积阈值时,所述上下文模型是从第二类上下文模型集合中选择的;
当所述目标扫描区域的面积大于所述第二面积阈值时,所述上下文模型是从第三类上下文模型集合中选择的。
4.如权利要求1所述的方法,其特征在于,所述上下文模型是至少根据所述目标位置坐标信息确定,还包括:
根据所述目标扫描区域的目标位置坐标信息,确定所述目标扫描区域的尺寸,根据所述尺寸,从多类上下文模型集合中选择一类上下文模型集合,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,从选择的一个上下文模型子集中确定所述上下文模型。
5.如权利要求4所述的方法,其特征在于,
当所述目标扫描区域的尺寸小于等于第一尺寸阈值时,所述上下文模型是从第一类上下模型集合中选择的;
当所述扫描区域的尺寸大于所述第一尺寸阈值时,所述上下文模型是从第二类上下模型集合中选择的。
6.如权利要求4所述的方法,其特征在于,
当所述目标扫描区域的尺寸小于等于第一尺寸阈值时,所述上下文模型是从第一类上下文模型集合中选择的;
当所述目标扫描区域的尺寸大于所述第一尺寸阈值且小于等于第二尺寸阈值时,所述上下文模型是从第二类上下文模型集合中选择的;
当所述目标扫描区域的尺寸大于所述第二尺寸阈值时,所述上下文模型是从第三类上下文模型集合中选择的。
7.如权利要求1所述的方法,其特征在于,所述上下文模型是至少根据所述目标位置坐标信息确定,还包括:
所述上下文模型是至少根据所述目标位置坐标信息的坐标值满足的线性关系式确定,根据所述线性关系式,从多类上下文模型集合中选择一类上下文模型集合,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,从选择的一个上下文模型子集中确定所述上下文模型。
8.如权利要求1所述的方法,其特征在于,所述上下文模型是至少根据所述目标位置坐标信息确定,还包括:
根据所述目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集;
根据所述待解码系数所在位置的坐标值满足的线性关系式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,所述上下文模型是从选择的一个上下文模型子集中确定的。
9.如权利要求1所述的方法,其特征在于,所述上下文模型是至少根据所述目标位置坐标信息、所述待解码系数所在位置的坐标值和所述待解码系数所在位置的坐标值满足的线性关系式确定的具体实现包括:
根据所述目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集;
根据所述待解码系数所在位置的坐标值满足的线性关系式、所述待解码系数所在位置的坐标值和所述目标位置坐标信息,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,所述上下文模型是从选择的一个上下文模型子集中确定的。
10.如权利要求1所述的方法,其特征在于,所述上下文模型是至少根据所述目标位置坐标信息确定,还包括:
根据所述目标扫描区域的目标位置坐标信息,从多类上下文模型集合中选择一类上下文模型集合,每类上下文模型集合包括多个上下文模型子集;
根据所述当前块满足的预设条件确定选择方式,根据所确定的选择方式,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,所述上下文模型是从选择的一个上下文模型子集中确定的。
11.一种编码方法,其特征在于,所述方法包括:
当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;
根据所述上下文模型,对所述待编码标志位进行编码;
其中,所述确定所述待编码系数的待编码标志位的上下文模型,包括:
根据所述目标位置信息,确定所述目标扫描区域的面积;根据所述目标扫描区域的面积,从多类上下文模型集合中选择一类上下文模型集合;根据所述待编码系数所在位置的坐标值,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,从选择的一个上下文模型子集中确定所述上下文模型;
所述目标扫描区域的面积为(SRx+1)*(SRy+1),其中,所述SRx为所述第一坐标值,所述SRy为所述第二坐标值;
其中,所述待编码标志位包括第一标志位,所述第一标志位用于指示变换系数是否是非零;所述待编码标志位还包括第二标志位、第三标志位中的至少一个;所述第二标志位用于指示变换系数的绝对值是否大于1;所述第三标志位用于指示变换系数的绝对值是否大于2。
12.一种解码装置,其特征在于,所述装置包括:
码流获取模块,用于获取当前块的码流;
信息获取模块,用于当确定所述当前块采用基于扫描区域的系数编码SRCC时,从所述码流中获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
模型确定模块,用于针对所述当前块的目标扫描区域中的待解码系数,确定所述待解码系数的待解码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;其中,所述确定所述待解码系数的待解码标志位的上下文模型,包括:根据所述目标位置信息,确定所述目标扫描区域的面积;根据所述目标扫描区域的面积,从多类上下文模型集合中选择一类上下文模型集合;根据所述待解码系数所在位置的坐标值,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,从选择的一个上下文模型子集中确定所述上下文模型;所述目标扫描区域的面积为(SRx+1)*(SRy+1),其中,所述SRx为所述第一坐标值,所述SRy为所述第二坐标值;
解码模块,用于根据所述上下文模型,对所述待解码标志位进行解码;其中,所述待解码标志位包括第一标志位,所述第一标志位用于指示变换系数是否是非零;所述待解码标志位还包括第二标志位、第三标志位中的至少一个;所述第二标志位用于指示变换系数的绝对值是否大于1;所述第三标志位用于指示变换系数的绝对值是否大于2。
13.一种编码装置,其特征在于,所述装置包括:
获取模块,用于当当前块采用基于扫描区域的系数编码SRCC时,获取目标位置坐标信息,所述目标位置坐标信息由第一坐标值和第二坐标值组成,所述第一坐标值为所述当前块的变换系数包括的非零系数中横坐标绝对值最大的非零系数的横坐标,所述第二坐标值为所述当前块的变换系数包括的非零系数中纵坐标绝对值最大的非零系数的纵坐标;
确定模块,用于针对所述当前块的目标扫描区域中的待编码系数,确定所述待编码系数的待编码标志位的上下文模型,所述目标扫描区域是基于所述目标位置坐标信息确定的扫描区域,所述上下文模型是至少根据所述目标位置坐标信息确定;其中,所述确定所述待编码系数的待编码标志位的上下文模型,包括:根据所述目标位置信息,确定所述目标扫描区域的面积;根据所述目标扫描区域的面积,从多类上下文模型集合中选择一类上下文模型集合;根据所述待编码系数所在位置的坐标值,从选择的一类上下文模型集合包括的多个上下文模型子集中选择一个上下文模型子集,从选择的一个上下文模型子集中确定所述上下文模型;所述目标扫描区域的面积为(SRx+1)*(SRy+1),其中,所述SRx为所述第一坐标值,所述SRy为所述第二坐标值;
编码模块,用于根据所述上下文模型,对所述待编码标志位进行编码;其中,所述待编码标志位包括第一标志位,所述第一标志位用于指示变换系数是否是非零;所述待编码标志位还包括第二标志位、第三标志位中的至少一个;所述第二标志位用于指示变换系数的绝对值是否大于1;所述第三标志位用于指示变换系数的绝对值是否大于2。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911089646.0A CN110708552B (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
CN201910798693.6A CN112449192B (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
CN202211329855.XA CN115842916A (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
PCT/CN2020/096578 WO2021036429A1 (zh) | 2019-08-27 | 2020-06-17 | 解码方法、编码方法及装置 |
PCT/CN2020/096580 WO2021036430A1 (zh) | 2019-08-27 | 2020-06-17 | 解码方法、编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910798693.6A CN112449192B (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911089646.0A Division CN110708552B (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
CN202211329855.XA Division CN115842916A (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112449192A CN112449192A (zh) | 2021-03-05 |
CN112449192B true CN112449192B (zh) | 2022-09-16 |
Family
ID=69229942
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211329855.XA Pending CN115842916A (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
CN201910798693.6A Active CN112449192B (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
CN201911089646.0A Active CN110708552B (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211329855.XA Pending CN115842916A (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911089646.0A Active CN110708552B (zh) | 2019-08-27 | 2019-08-27 | 解码方法、编码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (3) | CN115842916A (zh) |
WO (2) | WO2021036429A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115842916A (zh) * | 2019-08-27 | 2023-03-24 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法及装置 |
CN113453008B (zh) * | 2020-03-26 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法、相关设备及介质 |
CN111787326B (zh) * | 2020-07-31 | 2022-06-28 | 广州市百果园信息技术有限公司 | 一种熵编码及熵解码的方法和装置 |
CN114079772B (zh) * | 2020-08-21 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 视频解码方法、装置、计算机可读介质及电子设备 |
US11722678B2 (en) * | 2020-08-25 | 2023-08-08 | Tencent America LLC | Method and apparatus for transform skip coefficients coding |
CN112543337B (zh) * | 2020-09-27 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 视频解码方法、装置、计算机可读介质及电子设备 |
CN112995671B (zh) * | 2021-02-21 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 视频编解码方法、装置、计算机可读介质及电子设备 |
CN114979641A (zh) * | 2021-02-21 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 视频编解码方法、装置、计算机可读介质及电子设备 |
CN113068033B (zh) * | 2021-03-11 | 2022-05-31 | 腾讯科技(深圳)有限公司 | 一种多媒体的反量化处理方法、装置、设备及存储介质 |
EP4307666A1 (en) * | 2021-03-12 | 2024-01-17 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Coefficient encoding method, coefficient decoding method, encoding device, decoding device, and storage medium |
CN115083046A (zh) * | 2022-06-28 | 2022-09-20 | 维沃移动通信有限公司 | 解密方法、解密信息创建方法及解密装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379608B2 (en) * | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
CN100488254C (zh) * | 2005-11-30 | 2009-05-13 | 联合信源数字音视频技术(北京)有限公司 | 一种基于上下文的熵编码方法及解码方法 |
US7903894B2 (en) * | 2006-10-05 | 2011-03-08 | Microsoft Corporation | Color image coding using inter-color correlation |
DK3101901T3 (en) * | 2010-07-09 | 2017-09-18 | Samsung Electronics Co Ltd | Method of entropy decoding transformation coefficients |
US9042440B2 (en) * | 2010-12-03 | 2015-05-26 | Qualcomm Incorporated | Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding |
US20120230418A1 (en) * | 2011-03-08 | 2012-09-13 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
US9491469B2 (en) * | 2011-06-28 | 2016-11-08 | Qualcomm Incorporated | Coding of last significant transform coefficient |
US9392301B2 (en) * | 2011-07-01 | 2016-07-12 | Qualcomm Incorporated | Context adaptive entropy coding for non-square blocks in video coding |
CN103548354A (zh) * | 2011-10-05 | 2014-01-29 | 通用仪表公司 | 利用通过锯齿扫描的自适应上下文模型选择的代码化和解码 |
CN108259901B (zh) * | 2013-01-16 | 2020-09-15 | 黑莓有限公司 | 用于对游长编码变换系数进行熵编码的上下文确定 |
US9445132B2 (en) * | 2013-09-09 | 2016-09-13 | Qualcomm Incorporated | Two level last significant coefficient (LSC) position coding |
US9215464B2 (en) * | 2013-09-19 | 2015-12-15 | Blackberry Limited | Coding position data for the last non-zero transform coefficient in a coefficient group |
CN103929642B (zh) * | 2014-04-24 | 2017-04-12 | 北京航空航天大学 | 一种hevc变换系数的熵编码上下文模型偏移值快速计算方法 |
JP2018530211A (ja) * | 2015-09-08 | 2018-10-11 | サムスン エレクトロニクス カンパニー リミテッド | エントロピー符号化及び復号化のための装置及び方法 |
EP3490253A1 (en) * | 2017-11-23 | 2019-05-29 | Thomson Licensing | Encoding and decoding methods and corresponding devices |
CN116112669A (zh) * | 2018-01-02 | 2023-05-12 | 三星电子株式会社 | 视频解码方法、视频编码方法及计算机可读记录介质 |
CN115842916A (zh) * | 2019-08-27 | 2023-03-24 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法及装置 |
-
2019
- 2019-08-27 CN CN202211329855.XA patent/CN115842916A/zh active Pending
- 2019-08-27 CN CN201910798693.6A patent/CN112449192B/zh active Active
- 2019-08-27 CN CN201911089646.0A patent/CN110708552B/zh active Active
-
2020
- 2020-06-17 WO PCT/CN2020/096578 patent/WO2021036429A1/zh active Application Filing
- 2020-06-17 WO PCT/CN2020/096580 patent/WO2021036430A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN110708552B (zh) | 2021-12-31 |
CN110708552A (zh) | 2020-01-17 |
CN112449192A (zh) | 2021-03-05 |
WO2021036429A1 (zh) | 2021-03-04 |
WO2021036430A1 (zh) | 2021-03-04 |
CN115842916A (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112449192B (zh) | 解码方法、编码方法及装置 | |
CN111698504B (zh) | 编码方法、解码方法及装置 | |
CN112040337B (zh) | 视频的水印添加和提取方法、装置、设备及存储介质 | |
CN108391127B (zh) | 视频编码方法、装置、存储介质及设备 | |
CN113411592A (zh) | 预测模式的解码、编码方法及装置 | |
CN110062246B (zh) | 对视频帧数据进行处理的方法和装置 | |
CN113099233A (zh) | 视频编码方法、装置、视频编码设备及存储介质 | |
CN111586413B (zh) | 视频调整方法、装置、计算机设备及存储介质 | |
CN110991457A (zh) | 二维码处理方法、装置、电子设备及存储介质 | |
CN113822955B (zh) | 图像数据处理方法、装置、计算机设备及存储介质 | |
CN111107357B (zh) | 一种图像处理的方法、装置、系统及存储介质 | |
CN112037157B (zh) | 数据处理方法及装置、计算机可读介质及电子设备 | |
CN116074512A (zh) | 视频编码方法、装置、电子设备以及存储介质 | |
CN109040753B (zh) | 预测模式选择方法、装置及存储介质 | |
CN110062226B (zh) | 一种视频编码方法、视频解码方法、装置、系统及介质 | |
CN112054804A (zh) | 压缩数据、解压数据的方法及装置 | |
CN116980627A (zh) | 用于解码的视频滤波方法、装置、电子设备及存储介质 | |
CN116506616A (zh) | 视频帧编码方法、装置、电子设备及存储介质 | |
CN115118979A (zh) | 图像编码方法、图像解码方法、装置、设备及存储介质 | |
CN113658283A (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 |