CN110278443B - 划分标志位的上下文建模方法及装置 - Google Patents

划分标志位的上下文建模方法及装置 Download PDF

Info

Publication number
CN110278443B
CN110278443B CN201811109475.9A CN201811109475A CN110278443B CN 110278443 B CN110278443 B CN 110278443B CN 201811109475 A CN201811109475 A CN 201811109475A CN 110278443 B CN110278443 B CN 110278443B
Authority
CN
China
Prior art keywords
preset condition
current node
context model
node
met
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
CN201811109475.9A
Other languages
English (en)
Other versions
CN110278443A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2019/077782 priority Critical patent/WO2019174567A1/zh
Priority to EP19766770.2A priority patent/EP3761646A4/en
Publication of CN110278443A publication Critical patent/CN110278443A/zh
Priority to US17/021,259 priority patent/US11323746B2/en
Application granted granted Critical
Publication of CN110278443B publication Critical patent/CN110278443B/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

提供一种划分标志位的上下文建模方法及装置,涉及多媒体技术领域,能够更加准确地确定划分标志位的上下文模型,从而提高划分标志位的熵编码的效率。该方法包括:获取当前节点的高度和宽度、第一方向上与当前节点相邻的第一叶节点的高度以及第二方向上与当前节点相邻的第二叶节点的宽度;确定当前节点是否满足第一预设条件以及当前节点是否满足第二预设条件,该第一预设条件为当前节点的高度大于第一叶节点的高度,该第二预设条件为当前节点的宽度大于第二叶节点的宽度;根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型,其中,第一方向与第二方向垂直,第一叶节点和第二叶节点为已重建的叶节点。

Description

划分标志位的上下文建模方法及装置
技术领域
本发明实施例涉及多媒体技术领域,尤其涉及一种划分标志位的上下文建模方法及装置。
背景技术
划分标志位是视频编码和视频解码领域的一种重要的语法元素,可以指示编码树中的节点是否继续再划分为更小的子节点,划分标志位的编码与解码在视频编码和视频解码过程中是不可或缺的。
目前,可以通过熵编码技术实现对划分标志位的编码和解码,具体的,根据划分标志位对应的位元的概率模型,确定位元的概率值,然后对该位元的概率值进行编码和解码,从而实现对划分标志位的编码和解码。以编码或者解码采用四叉树的方法划分编码树单元(coding tree unit,CTU)为例,在确定划分标志位对应的位元的概率模型(也可以称为确定划分标志位的上下文模型)的过程中,首先获取当前节点的四叉树深度(即当前节点的编码树深度,H.265标准中,也可以称为当前节点的四叉树层级)、当前节点的左侧叶节点的四叉树深度以及当前节点的上侧叶节点的四叉树深度,其中,当前节点的左侧叶节点和上侧叶节点均已重建;然后确定当前节点的四叉树深度是否小于左侧叶节点的四叉树深度,以及确定当前节点的四叉树深度是否小于上侧叶节点的四叉树深度;最后,根据前述两个确定步骤的确定结果,确定当前节点对应的位元的概率模型,即确定当前节点的上下文模型的编号。
然而,在上述方法中,在采用二叉树和\或三叉树划分方法时,由于一个节点的高度和宽度不一定相同,根据当前节点的编码树深度是否小于相邻叶节点(如上述的左侧叶节点或上侧叶节点)的编码树深度的方法,并不能准确地确定当前节点是否可以再被划分。
综上所述,可知,采用上述方法确定的当前节点的上下文模型的准确性比较低,如此,导致划分标志位的编码或者解码效率比较低。
发明内容
本申请提供一种划分标志位的上下文建模方法及装置,能够更加准确地确定划分标志位的上下文模型,从而提高划分标志位的熵编码的效率。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种划分标志位的上下文建模方法,应用于视频编码设备和视频解码设备,该方法包括:获取当前节点的高度和宽度、第一方向上与当前节点相邻的第一叶节点的高度以及第二方向上与当前节点相邻的第二叶节点的宽度;并且确定当前节点是否满足第一预设条件以及当前节点是否满足第二预设条件,该第一预设条件为当前节点的高度大于第一叶节点的高度,该第二预设条件为当前节点的宽度大于第二叶节点的宽度;并且根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型,其中,第一方向与第二方向垂直,第一叶节点和第二叶节点为已重建的叶节点,划分标志位的上下文模型为划分标志位对应的位元的概率模型。
其中,上述第一叶节点覆盖当前节点第一方向上的一个预设位置,第二叶节点覆盖当前节点第二方向上的一个预设位置。
本申请提供的划分标志位的上下文建模方法,由于通过比较当前节点的高度与第一叶节点的高度,并且比较当前节点的宽度与第二叶节点的宽度,能更加准确地确定当前节点是否再划分,如此,根据满足上述两个预设条件的情况可以更加准确地确定划分标志位的上下文模型,从而能够提高划分标志位的熵编码的效率。
进一步地,在任何一个节点的划分采用了二叉树划分和/或三叉树划分时,可以比较当前节点的高度与第一叶节点的高度,以及比较当前节点的宽度与第二叶节点的宽度,从而更精确地确定当前节点的划分标志位的上下文模型。如此,可以很好地解决,现有技术中使用深度信息确定的当前节点的划分标志位的上下文模型不准确的问题,例如当前节点的深度和第一叶节点的深度相同,但是当前节点的高度远大于第一叶节点的高度,在这种情况下,采用现有技术则更倾向于确定当前节点不需要再继续划分,而实际上由于当前节点的高度比较高,因此当前节点应当进行水平划分的可能性是比较高的。
在第一方面的第一种可选的实现方式中,上述划分标志的上下文模型包括N个,该N个上下文模型的编号依次为0至N-1,N为大于1的整数;上述根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的方法具体包括:根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的编号,该划分标志位的上下文模型的编号满足:ctxInc=n_conL+n_conA;其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足。
在第一方面的第二种可选的实现方式中,上述根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型之前,本申请提供的划分标志位的上下文建模方法还包括:根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号。
上述根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的方法可以包括:根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型。
在第一方面的第三种可选的实现方式中,上述根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号的方法可以包括:根据当前节点的高度和宽度获取当前节点的面积,再根据预设的节点面积与子类编号的映射关系,确定划分标志位的上下文模型的子类编号;或者,根据当前节点的高度和宽度,在预设的子类编号查询表中,查询划分标志位的上下文模型的子类编号,该子类编号查询表包括当前节点的高度和宽度,以及当前节点的宽度和高度对应的子类编号。
在第一方面的第四种可选的实现方式中,上述划分标志的上下文模型包括N个,该N个上下文模型的编号依次为0至N-1,N为大于1的整数;上述根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型的方法包括:根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型的编号,该划分标志位的上下文模型的编号满足:ctxInc=n_conL+n_conA+X*a;其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;X表示划分标志位的上下文模型的子类编号;a表示子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
本申请中,可以结合当前节点本身的尺寸,确定当前节点的划分标志位的子类编号,在第一预设条件是否满足和第二预设条件是否满足的基础上,联合划分标志位的上下文模型的子类编号,确定的划分标志位的上下文模型比较准确,如此,可以进一步提高划分标志位的熵编码的效率。
在第一方面的第五种可选的实现方式中,上述根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型之前,本申请提供的划分标志位的上下文建模方法还可以包括:获取第三方向上与当前节点相邻的第三叶节点的高度,第三方向与第一方向相反,第三叶节点为已重建的叶节点;并且确定当前节点是否满足第三预设条件,该第三预设条件为当前节点的高度大于第三叶节点的高度。
上述根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的方法可以包括:根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型。
在第一方面的第六种可选的实现方式中,上述划分标志的上下文模型包括N个,该N个上下文模型的编号依次为0至N-1,N为大于1的整数;上述根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型的方法包括:根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型的编号,该划分标志位的上下文模型的编号满足:ctxInc=min(n_conL+n_conA+n_conR,N-1);其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;n_conR表示第三预设条件是否满足,当n_conR为1时表示第三预设条件满足,当n_conR为0时表示第三预设条件不满足。
本申请中,可以结合与当前节点相邻的又一个叶节点,确定当前节点是否满足第三预设条件,在第一预设条件是否满足和第二预设条件是否满足的基础上,联合第三预设条件是否满足,确定的划分标志位的上下文模型的比较准确,如此,可以进一步提高划分标志位的熵编码的效率。
在第一方面的第七种可选的实现方式中,本申请提供的划分标志位的上下文建模方法还可以包括:根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号。
上述根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的方法可以包括:根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型。
在第一方面的第八种可选的实现方式中,上述根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型的方法包括:根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型的编号,该划分标志位的上下文模型的编号满足:ctxInc=min(n_conL+n_conA+n_conR,N-1)+X*a;其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;n_conR表示第三预设条件是否满足,当n_conR为1时表示第三预设条件满足,当n_conR为0时表示第三预设条件不满足;X表示划分标志位的上下文模型的子类编号;a表示子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
本申请中,可以结合当前节点本身的尺寸,确定当前节点的划分标志位的子类编号,并且结合与当前节点相邻的又一个叶节点,确定当前节点是否满足第三预设条件,在根据第一预设条件是否满足、第二预设条件是否满足以及第三预设条件是否满足的基础上,联合划分标志位的上下文模型的子类编号,确定的划分标志位的上下文模型更加准确,如此,可以显著提高划分标志位的熵编码的效率。
第二方面,提供一种划分标志位的上下文建模装置,该装置包括获取模块、条件确定模块和上下文模型确定模块。其中,获取模块,用于获取当前节点的高度和宽度、第一方向上与当前节点相邻的第一叶节点的高度以及第二方向上与当前节点相邻的第二叶节点的宽度,第一方向与第二方向垂直,第一叶节点和第二叶节点为已重建的叶节点;条件确定模块,用于确定当前节点是否满足第一预设条件以及当前节点是否满足第二预设条件,该第一预设条件为当前节点的高度大于第一叶节点的高度,该第二预设条件为当前节点的宽度大于第二叶节点的宽度;上下文模型确定模块,用于根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型,该划分标志位的上下文模型为划分标志位对应的位元的概率模型。
其中,第一叶节点覆盖当前节点第一方向上的一个预设位置,第二叶节点覆盖当前节点第二方向上的一个预设位置。
在第二方面的第一种可选的实现方式中,上述划分标志的上下文模型包括N个,该N个上下文模型的编号依次为0至N-1,N为大于1的整数,上下文模型确定模块,具体用于根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的编号,该划分标志位的上下文模型的编号满足:xInc=n_conL+n_conA;其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足。
在第二方面的第二种可选的实现方式中,上述条件确定模块,还用于在上下文模型确定模块根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型之前,根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号;上述上下文模型确定模块,具体用于根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型。
在第二方面的第三种可选的实现方式中,上述上下文模型确定模块,具体用于根据当前节点的高度和宽度获取当前节点的面积,再根据预设的节点面积与子类编号的映射关系,确定划分标志位的上下文模型的子类编号;或者,该上下文模型确定模块,具体用于根据当前节点的高度和宽度,在预设的子类编号查询表中,查询划分标志位的上下文模型的子类编号,该子类编号查询表包括当前节点的高度和宽度,以及当前节点的宽度和高度对应的子类编号。
在第二方面的第四种可选的实现方式中,上述划分标志的上下文模型包括N个,该N个上下文模型的编号依次为0至N-1,N为大于1的整数,上述上下文模型确定模块,具体用于根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型的编号,该划分标志位的上下文模型的编号满足:ctxInc=n_conL+n_conA+X*a;其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;X表示划分标志位的上下文模型的子类编号;a表示子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
在第二方面的第五种可选的实现方式中,上述获取模块,还用于在根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型之前,获取第三方向上与当前节点相邻的第三叶节点的高度,第三方向与第一方向相反,第三叶节点为已重建的叶节点;上述条件确定模块,还用于确定当前节点是否满足第三预设条件,该第三预设条件为当前节点的高度大于第三叶节点的高度;上述上下文模型确定模块,具体用于根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型。
在第二方面的第六种可选的实现方式中,上述划分标志的上下文模型包括N个,该N个上下文模型的编号依次为0至N-1,N为大于1的整数,上述上下文模型确定模块,具体用于根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型的编号,该划分标志位的上下文模型的编号满足:ctxInc=min(n_conL+n_conA+n_conR,N-1);其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;n_conR表示第三预设条件是否满足,当n_conR为1时表示第三预设条件满足,当n_conR为0时表示第三预设条件不满足。
在第二方面的第七种可选的实现方式中,上述上下文模型确定模块,还用于根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号;上述上下文模型确定模块,具体用于根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型。
在第二方面的第八种可选的实现方式中,上述上下文模型确定模块,具体用于根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型的编号,该划分标志位的上下文模型的编号满足:ctxInc=min(n_conL+n_conA+n_conR,N-1)+X*a;其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;n_conR表示第三预设条件是否满足,当n_conR为1时表示第三预设条件满足,当n_conR为0时表示第三预设条件不满足;X表示划分标志位的上下文模型的子类编号;a表示子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
第三方面,提供了一种划分标志位的上下文建模方法,应用于视频编码设备或视频解码设备,所述方法包括:根据当前节点的宽度和高度,第一叶节点的高度以及第二叶节点的宽度,确定第一模型编号;所述第一叶节点在第一方向上与所述当前节点相邻,所述第二叶节点在第二方向上与所述当前节点相邻,所述第一方向与所述第二方向垂直,所述第一叶节点和所述第二叶节点为已重建的叶节点;根据所述当前节点所属的编码树的类型,确定第二模型编号;根据所述第一模型编号以及所述第二模型编号,确定所述当前节点的划分标志位的上下文模型。
从上可知,本实施方式可以根据当前节点所属的编码树的类型来确定当前节点的划分标志位的上下文模型,从而可以对色度编码树和非色度编码树(即亮度编码树或亮度亮度色度联合树)采用不同的上下文模型,使得确定的上下文模型能够适配色度编码树和非色度编码树,从而提高了压缩效率。
结合第三方面,在可能的实施方式中,所述根据所述当前节点所属的编码树的类型,确定第二模型编号包括:如果所述当前节点所属的编码树为色度编码树,确定所述第二模型编号为第一值,所述第一值为预设正整数。
结合第三方面,在可能的实施方式中,所述根据所述当前节点所属的编码树的类型,确定第二模型编号包括:如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,根据所述当前节点的MTT深度与MTT深度阈值ThD的大小关系确定所述第二模型编号。
结合第三方面,在可能的实施方式中,如果所述当前节点的MTT深度小于所述MTT深度阈值ThD,则确定所述第二模型编号为第二值,所述第二值为非负整数;或如果所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD,则确定所述第二模型编号为第三值,所述第三值为非负整数;所述第一值,第二值和第三值互不相同。
结合第三方面,在可能的实施方式中,所述MTT深度阈值ThD根据所述当前节点对应的最大MTT深度确定。
结合第三方面,在可能的实施方式中,所述根据所述当前节点所属的编码树的类型,确定第二模型编号包括:如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,根据所述当前节点的MTT深度与预设常数P1的乘积确定所述第二模型编号。
结合第三方面,在可能的实施方式中,所述乘积为所述第二模型编号;或如果所述乘积大于6,所述第二模型编号为6。
结合第三方面,在可能的实施方式中,所述第一值大于或等于9。
结合第三方面,在可能的实施方式中,所述根据所述当前节点所属的编码树的类型,确定第二模型编号包括:如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,根据所述当前节点的面积与第一预设面积阈值ThA1大小关系确定所述第二模型编号。
结合第三方面,在可能的实施方式中,如果所述当前节点的面积大于所述第一预设面积阈值ThA1,确定所述第二模型编号为第四值,所述第四值为非负整数;或如果所述当前节点的面积小于或等于所述第一预设面积阈值ThA1,确定所述第二模型编号为第五值,所述第五值为非负整数;所述第一值、第四值和第五值互不相同。
结合第三方面,在可能的实施方式中,所述根据所述当前节点所属的编码树的类型,确定第二模型编号包括:如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,根据所述当前节点的面积与第二预设面积阈值ThA2以及第三预设面积阈值ThA3中的至少一个的大小关系确定所述第二模型编号,所述第二预设面积阈值ThA2大于所述第三预设面积阈值ThA3。
结合第三方面,在可能的实施方式中,如果所述当前节点的面积大于所述第二面积阈值ThA2,确定所述第二模型编号为第六值,所述第六值为非负整数;或如果所述当前节点的面积大于所述第三面积阈值ThA3且小于或等于所述第二面积阈值ThA2,确定所述第二模型编号为第七值,所述第七值为非负整数;或如果所述当前节点的面积小于或等于所述第三面积阈值ThA3,确定所述第二模型编号为第八值,所述第八值为非负整数;所述第一值、第六值、第七值和第八值互不相同。
结合第三方面,在可能的实施方式中,所述根据所述当前节点所属的编码树的类型,确定第二模型编号包括:根据所述当前节点所属的编码树的类型,以及所述当前节点的MTT深度与MTT深度阈值ThD的大小关系,确定所述第二模型编号。
结合第三方面,在可能的实施方式中,如果所述当前节点所属的编码树为色度编码树,所述当前节点的MTT深度小于所述MTT深度阈值ThD,确定第二模型编号为第九值,所述第九值为非负整数;或如果所述当前节点所属的编码树为色度编码树,所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD,确定所述第二模型编号为第十值,所述第十值为非负整数;或如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,所述当前节点的MTT深度小于所述MTT深度阈值ThD,确定所述第二模型编号为第十一值,所述第十一值为非负整数;或如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD,确定所述第二模型编号为第十二值,所述第十二值为非负整数;所述第九值、第十值、第十一值和所述第十二值互不相同。
第四方面,提供了一种划分标志位的上下文建模装置,包括:第一模型编号确定模块,用于根据当前节点的宽度和高度,第一叶节点的高度以及第二叶节点的宽度,确定第一模型编号;所述第一叶节点在第一方向上与所述当前节点相邻,所述第二叶节点在第二方向上与所述当前节点相邻,所述第一方向与所述第二方向垂直,所述第一叶节点和所述第二叶节点为已重建的叶节点;第二模型编号确定模块,用于根据所述当前节点所属的编码树的类型,确定第二模型编号;上下文模型确定模块,用于根据所述第一模型编号以及所述第二模型编号,确定所述当前节点的划分标志位的上下文模型。
从上可知,本实施方式可以根据当前节点所属的编码树的类型来确定当前节点的划分标志位的上下文模型,从而可以对色度编码树和非色度编码树(即亮度编码树或亮度色度联合树)采用不同的上下文模型,使得确定的上下文模型能够适配色度编码树和非色度编码树,从而提高了压缩效率。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于在所述当前节点所属的编码树为色度编码树时,确定所述第二模型编号为第一值,所述第一值为预设正整数。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于在所述当前节点所属的编码树为亮度编码树或亮度色度联合树时,根据所述当前节点的MTT深度与MTT深度阈值ThD的大小关系确定所述第二模型编号。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于:在所述当前节点的MTT深度小于所述MTT深度阈值ThD时,确定所述第二模型编号为第二值,所述第二值为非负整数;或在所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD时,确定所述第二模型编号为第三值,所述第三值为非负整数;所述第一值,第二值和第三值互不相同。
结合第四方面,在可能的实施方式中,所述MTT深度阈值ThD根据所述当前节点对应的最大MTT深度确定。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于在所述当前节点所属的编码树为亮度编码树或亮度色度联合树时,根据所述当前节点的MTT深度与预设常数P1的乘积确定所述第二模型编号。
结合第四方面,在可能的实施方式中,所述乘积为所述第二模型编号;或如果所述乘积大于6,所述第二模型编号为6。
结合第四方面,在可能的实施方式中,所述第一值大于或等于9。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于在所述当前节点所属的编码树为亮度编码树或亮度色度联合树时,根据所述当前节点的面积与第一预设面积阈值ThA1大小关系确定所述第二模型编号。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于:在所述当前节点的面积大于所述第一预设面积阈值ThA1时,确定所述第二模型编号为第四值,所述第四值为非负整数;或在所述当前节点的面积小于或等于所述第一预设面积阈值ThA1时,确定所述第二模型编号为第五值,所述第五值为非负整数;所述第一值、第四值和第五值互不相同。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于在所述当前节点所属的编码树为亮度编码树或亮度色度联合树时,根据所述当前节点的面积与第二预设面积阈值ThA2以及第三预设面积阈值ThA3中的至少一个的大小关系确定所述第二模型编号,所述第二预设面积阈值ThA2大于所述第三预设面积阈值ThA3。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于:在所述当前节点的面积大于所述第二面积阈值ThA2时,确定所述第二模型编号为第六值,所述第六值为非负整数;或在所述当前节点的面积大于所述第三面积阈值ThA3且小于或等于所述第二面积阈值ThA2时,确定所述第二模型编号为第七值,所述第七值为非负整数;或在所述当前节点的面积小于或等于所述第三面积阈值ThA3时,确定所述第二模型编号为第八值,所述第八值为非负整数;所述第一值、第六值、第七值和第八值互不相同。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于根据所述当前节点所属的编码树的类型,以及所述当前节点的MTT深度与MTT深度阈值ThD的大小关系,确定所述第二模型编号。
结合第四方面,在可能的实施方式中,所述第二模型编号确定模块具体用于:在所述当前节点所属的编码树为色度编码树,所述当前节点的MTT深度小于所述MTT深度阈值ThD时,确定第二模型编号为第九值,所述第九值为非负整数;或在所述当前节点所属的编码树为色度编码树,所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD时,确定所述第二模型编号为第十值,所述第十值为非负整数;或在所述当前节点所属的编码树为亮度编码树或亮度色度联合树,所述当前节点的MTT深度小于所述MTT深度阈值ThD时,确定所述第二模型编号为第十一值,所述第十一值为非负整数;或在所述当前节点所属的编码树为亮度编码树或亮度色度联合树,所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD时,确定所述第二模型编号为第十二值,所述第十二值为非负整数;所述第九值、第十值、第十一值和所述第十二值互不相同。
在第一方面和第二方面,第三方面和第四方面中,上述第一方向为水平向左的方向,上述第二方向为竖直向上的方向。
第五方面,本申请提供一种划分标志位的上下文建模装置,该装置可以包括处理器和与该处理器耦合连接的存储器。该存储器用于存储计算机指令,当该装置运行时,处理器执行该存储器存储的计算机指令,以使得该装置执行上述第一方面及其各种可选的实现方式中任意之一所述的划分标志位的上下文建模方法。
第六方面,本申请提供一种划分标志位的上下文建模装置,该装置可以包括处理器和与该处理器耦合连接的存储器。该存储器用于存储计算机指令,当该装置运行时,处理器执行该存储器存储的计算机指令,以使得该装置执行上述第三方面及其各种可选的实现方式中任意之一所述的划分标志位的上下文建模方法。
第七方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中包括计算机指令,当该计算机指令在计算机上运行时,使得该计算机执行第一方面及其各种可选的实现方式中任意之一所述的划分标志位的上下文建模方法。
第八方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中包括计算机指令,当该计算机指令在计算机上运行时,使得该计算机执行第三方面及其各种可选的实现方式中任意之一所述的划分标志位的上下文建模方法。
第九方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行第一方面及其各种可选的实现方式中任意之一所述的划分标志位的上下文建模方法。
第十方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行第三方面及其各种可选的实现方式中任意之一所述的划分标志位的上下文建模方法。
第十一方面,提供了一种视频解码器,包括如第二方面及其各种可选的实现方式中任一所述的上下文建模装置。
第十二方面,提供了一种视频解码器,包括如第四方面及其各种可选的实现方式中任一所述的上下文建模装置。
第十三方面,提出一种视频解码器,包括用于执行如第一方面或第一方面任何可能实施例的方法的执行电路。
第十四方面,提出一种视频解码器,包括用于执行如第三方面或第三方面任何可能实施例的方法的执行电路。
第十五方面,提出一种视频编码器,包括用于执行如第一方面或第一方面任何可能实施例的方法的执行电路。
第十六方面,提出一种视频编码器,包括用于执行如第三方面或第三方面任何可能实施例的方法的执行电路。
第二方面至第五方面的相关内容和技术效果的描述可以参见上述对第一方面及其各种可选的实现方式的相关内容和技术效果的相关描述,此处不再赘述。
附图说明
图1为本发明实施例提供的一种节点划分结果示意图;
图2为本发明实施例提供的一种视频数据编码和视频数据解码的方法示意图;
图3为本发明实施例提供的一种视频编码设备硬件示意图;
图4为本发明实施例提供的一种视频解码设备硬件示意图;
图5为本发明实施例提供的划分标志位的上下文建模方法示意图一;
图6为本发明实施例提供的一种节点为位置示意图二;
图7为本发明实施例提供的划分标志位的上下文建模方法示意图二;
图8为本发明实施例提供的一种节点面积与子类编号的映射关系示意图;
图9为本发明实施例提供的划分标志位的上下文建模方法示意图三;
图10为本发明实施例提供的划分标志位的上下文建模方法示意图四;
图11为本发明实施例提供的划分标志位的上下文建模方法示意图五;
图12为本发明实施例提供的划分标志位的上下文建模方法示意图六;
图13为本发明实施例提供的划分标志位的上下文建模方法示意图七;
图14为本发明实施例提供的划分标志位的上下文建模方法示意图八;
图15为本发明实施例提供的视频编码设备的结构示意图一;
图16为本发明实施例提供的视频编码设备的结构示意图二;
图17为本发明实施例提供的视频解码设备的结构示意图一;
图18为本发明实施例提供的视频解码设备的结构示意图二;
图19为本发明实施例提供的划分标志位的上下文建模方法示意图九;
图20为本发明实施例提供的划分标志位的上下文建模装置示意图。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本发明实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一方向和第二方向等是用于区别不同的方向,而不是用于描述方向的特定顺序,第一预设条件和第二预设条件等是用于区别不同的预设条件,而不是用于描述预设条件的特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个编码单元是指两个或两个以上的编码单元;多个处理单元是指两个或两个以上的处理单元。
首先对本发明实施例提供的一种划分标志位的上下文建模(context modeling)方法及装置中涉及的一些概念做解释说明。
CTU:编码树单元,是视频编码或者视频解码过程中的基本单元,CTU对应视频数据中的一个视频帧(即一幅图像)中的一个方形图像块,即一幅图像可以包括一个或多个CTU,示例性的,CTU的尺寸可以为64*64,即64*64的CTU包含由64行、64列像素组成的矩形像素点阵,CTU的尺寸还可以为128*128或者256*256等等。
CU:编码单元,是CTU经过划分之后产生的叶节点,即编码树上不再划分的节点,一个CU对应一个矩形的图像块,CU的宽度和高度也可以使用像素的数量来表示;例如,CU的宽度可以为256、128、64、32、8或4个像素等等,CU的高度也可以为256、128、64、32、8或4个像素等等;其中,CU的高度和宽度可以相等,也可以不相等;例如,在采用四叉树划分时,CU的高度和宽度是相等的,但是在采用二叉树和/或三叉树划分时,CU的高度和宽度是不一定相等的。
在视频编码过程中,以视频数据的一个视频帧(也可以称为一幅图像)为例,视频编码设备以CU为编码单位,按照一定的编码规则完成一个CTU包括的所有CU的编码,进而完成一幅图像的多个CTU的编码,得到码流;在视频数据解码的过程中,解码设备按照与编码过程中对应的解码规则,完成一个CTU包括的多个CU的重建(包括预测、反量化、反变换以及滤波等解码处理),进而完成一幅图像的多个CTU的重建,得到重建后的图像。
本发明实施例中,CTU和CU都是编码树上的节点,CTU为根节点,CTU经过划分得到一定数量的节点,进一步,CTU经过一次划分得到的节点中的部分或者全部节点还可以继续划分为尺寸更小的节点,以此类推,直至所有的节点都不需要再划分,将最终不需要再划分的节点称为叶节点,即叶节点为编码树末端不需要再划分的节点,通常一个叶节点对应一个CU。
在视频数据的编码和解码领域,将节点划分为子节点的方法包括四叉树划分、二叉树划分或三叉树划分等等。其中,四叉树划分指的是将节点划分为尺寸相等的四个子节点,如图1中的(a)为四叉树划分的示意图;二叉树划分指的是将一个节点划分为两个尺寸相等的子节点,具体的,可以采用水平二叉树划分或者竖直二叉树划分,例如图1中的(b)为水平二叉树划分的示意图,图1中的(c)为竖直二叉树划分的示意图;三叉树划分指的是将一个节点划分为三个子节点,具体的,可以采用水平三叉树划分或者竖直三叉树划分,其中,对于水平三叉树划分,对应上、中、下的三个区域的高度占当前被划分节点高度的比例为1/4,1/2,1/4,相应地,对于竖直三叉树划分,对应左、中、右的三个区域的宽度占当前被划分节点宽度的比例为1/4,1/2,1/4,如图1中的(d)为水平三叉树划分的示意图,图1中的(e)为竖直三叉树划分的示意图。
其中,在CTU的划分过程中,可以选择四叉树划分、三叉树划分和二叉树划分中的任意一种或多种。例如,在一种实施方式中,可以采用四叉树和二叉树级联的划分方法,即CTU先进行四叉树划分获得四个节点,若获得的该四个节点中的一个或多个节点需要继续划分,则采用二叉树的划分方法将需要继续划分的节点划分为更小的节点。
需要说明的是,上述CTU中还包括一些语法元素,例如用于指示采用哪种划分方式对节点进行划分的划分模式信息,语法元素还包括用于指示每一个节点是否继续划分的标志位。其中,每一个节点对应一个是否再划分的标志位,以下实施例中,指示一个节点是否再划分的标志位称为划分标志位。其中,如果一个节点的尺寸已经是节点允许划分成的最小尺寸,则该节点已经不能够再继续划分,则此时不需要在语法元素中包括指示该节点是否再划分的标志位,解码端也可以根据该节点的尺寸直接确定该节点不需要继续划分。
划分标志位:用于指示与该划分标志位对应的节点是否需要再划分为尺寸更小的节点,在视频数据的编码过程中,视频编码设备对一个节点对应的图像块进行编码得到一段码流,并且视频编码设备将该节点的划分标志位也进行编码,并将编码后的划分标志位的也写入码流,如此,解码设备在解码视频数据时,解码设备通过解析码流,得到节点的划分标志位,从而完成该节点对应的图像的重建。
本发明实施例中,可以采用“0”表示一个节点继续划分,也可以采用“1”表示一个节点继续划分,具体可以根据实际情况选择合适的标识用来表示节点继续划分,本发明实施例不作限定。
同理,可以采用“0”表示一个节点不需要再继续划分,也可以采用“1”表示一个节点不需要再继续划分,具体可以根据实际情况选择合适的标识用来表示节点不需要再继续划分,本发明实施例不作限定。
需要说明的是,本发明实施例中,如果采用“1”表示一个节点继续划分,那么可以采用“0”表示一个节点不需要再继续划分。
基于背景技术中存在的问题,本发明实施例提供一种划分标志位的上下文建模方法及装置,(视频编码设备或者视频解码设备)可以通过当前节点的宽度和高度,以及与当前节点相邻的第一叶节点的高度以及与当前节点相邻的第二叶节点的宽度,确定当前节点的划分标志位的上下文模型,能够更加准确地确定划分标志位的上下文模型,从而提高划分标志位的熵编码的效率。
本发明实施例提供的划分标志位的上下文建模方法及装置可以应用于对视频数据编码或者对视频数据解码的场景中,具体的,可以应用于视频数据编码过程中对划分标志位进行编码的场景,或者应用于视频数据解码过程中对划分标志位进行解码的场景中。该方法可以应用于具有编码和\或解码功能的设备,本发明实施例中,将对视频数据编码的设备称为视频编码设备,将对视频数据解码的设备称为视频解码设备。视频编码设备获取到视频数据之后,视频编码设备对该视频数据编码,可以将该视频数据压缩为码流(即编码后的视频数据),然后将该视频数据发送给其他设备(例如视频解码设备);视频解码设备获取到编码后的视频数据,该视频编码设备可以对该视频数据解码,恢复该视频数据的完整信息。
下面,以视频数据的一个视频帧中的一个图像块为例,说明视频数据编码和视频数据解码的简要过程,如图2所示,视频编码设备可以将该图像块进行编码(经过预测、变换、量化、熵编码等处理),得到编码后的图像块,并且编码设备将该图像块的语法元素(例如划分标志位)进行相应的编码,该编码后的语法元素和编码后的图像块组成编码信息(即码流),视频数据的编码信息包含了编码后的图像数据及编码后的语法元素。解码设备接收到编码信息之后,解码设备对该编码信息中的编码后的语法元素解码(经过预测、反量化,反变换等处理),然后解码设备基于从编码信息提取的语法元素来重建该图像块,即视频解码设备基于与该图像块相关联的语法元素和编码后的图像块,得到该图像块的预测性像素块。
本发明实施例提供的划分标志位的上下文建模方法可以应用于视频编码设备或视频解码设备中,视频编码设备和视频解码设备均可以为台式计算机、移动计算装置、笔记本(例如膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、虚拟现实设备、增强现实设备,或其他类似的设备。
下面结合图3具体介绍本发明实施例提供的视频编码设备的各个构成部件。如图3所示,本发明实施例提供的视频编码设备包括:视频俘获装置10、视频存储器11、视频编码器12和输出接口13等部件。本领域技术人员可以理解,图3中示出的视频编码设备的结构并不构成对视频编码设备的限定,其可以包括比如图3所示的部件更多或更少的部件,或者可以组合如图3所示的部件中的某些部件,或者可以与如图3所示的部件布置不同。
视频俘获装置10:即获取视频数据的装置,视频俘获装置可以为视频相机。
视频存储器11:可以存储由视频俘获装置俘获的视频数据,也可以由视频编码器12对视频数据编码后的码流。
视频编码器12:可以根据编码标准(例如H.264)将视频俘获装置获取的视频数据经过编码后转化为机器可以识别的代码,以将视频数据压缩,有利于视频数据的传输和存储。视频编码器12可以为中央处理器(central processing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specificintegrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;视频编码器12也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
输出接口13:用于向其他设备发送数据的接口电路,输出接口13可以为收发器、收发电路等具有收发功能的结构,包括调制器/解调器(调制解调器)及/或发射器,在视频编解码***中,输出接口13可以将编码后的视频数据发送给视频解码设备。
可选的,如图3所示的视频编码设备还可以包括无线保真(wireless gidelity,WiFi)模块、蓝牙模块等,在此不再赘述。
下面结合图4具体介绍本发明实施例提供的视频解码设备的各个构成部件。如图4所示,本发明实施例提供的视频解码设备包括:输入接口20、视频解码器21和显示装置22等部件。本领域技术人员可以理解,图4中示出的视频解码设备的结构并不构成对视频解码设备的限定,其可以包括比如图4所示的部件更多或更少的部件,或者可以组合如图4所示的部件中的某些部件,或者可以与如图4所示的部件布置不同。
输入接口20用于接收其他设备(例如视频编码设备)发送的数据,输入接口20可以为接收器及/或调制解调器。在视频编解码***中,输入接口20可以接收编码设备发送的编码后的视频数据。
视频解码器21可以将其接收的编码后的视频数据还原解码,即解压缩,从而可以使得解码后的视频数据在显示装置中播放。视频解码器21可以为CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;视频解码器21也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
显示装置22用于显示解码后的视频数据,显示装置可以包括多种显示装置,例如液晶显示器(liquid crystal display,LCD)、等离子体显示器、有机发光二极管(organiclight-emitting diode,OLED)显示器或其它类型的显示装置。可选的,显示装置22可以整合在视频解码设备中,显示装置22也可以与视频解码设备独立,设置于视频解码设备外部。
在视频数据的编码或者解码过程中,划分标志位是一种非常重要的语法元素,划分标志位的上下文建模也比较重要,下面从视频数据编码场景中对划分标志位的编码和视频数据解码的场景中对划分标志位的解码的角度分别介绍本发明实施例提供的划分标志位的上下文建模方法。其中,当前节点的划分标志位用于指示当前节点是否需要进行划分。
首先,如图5所示,在对划分标志位进行编码的过程中,本发明实施例提供的划分标志位的上下文建模方法可以包括S101-S104:
S101、视频编码设备获取当前节点的高度和宽度、第一方向上与当前节点相邻的第一叶节点的高度以及第二方向上与当前节点相邻的第二叶节点的宽度。
其中,第一方向与第二方向垂直,上述第一叶节点和第二叶节点为已重建的叶节点,即第一叶节点和第二叶节点已经完成编码。例如,第一方向可以为水平向左或水平向右,则第二方向可以为竖直向上或竖直向下。
其中,当前节点的高度与第一叶节点的高度指的是:当前节点与该第一叶节点的相邻接的边在同一方向上的度量;当前节点的宽度与第二叶节点的宽度指的是:当前节点与该第二叶节点的相邻接的边在同一方向上的度量。
可选的,上述第一方向可以为水平向左,第二方向可以为竖直向上,如图6所示,可见,第一方向是竖直指向当前节点的上侧的方向,第二节点是水平指向当前节点左侧的方向,如果第一方向为水平向左,那么第一叶节点为当前节点左侧的一个相邻的叶节点,该第一叶节点也可以称为左侧叶节点;如果第二方向为竖直向上,那么第二叶节点为当前节点上侧的一个相邻的叶节点,该第二叶节点也可以称为上侧叶节点。
上述第一叶节点覆盖当前节点第一方向上的一个预设位置,第二叶节点覆盖当前节点第二方向上的一个预设位置,结合图6,上述确定第一叶节点的方法可以为:将覆盖当前节点左侧一个预设位置,并且位于当前节点左侧的至少一个叶节点中的任意一个叶节点确定为第一叶节点,其中,该预设位置可以为当前节点的左侧距离当前节点预设距离的区域S1中的任意一个位置,该距离可以小于或者等于一个CU的宽,例如该预设距离可以为4或者8等其他数值。示例性的,若当前节点的宽度为M,高度为N,预设距离为1,当前节点的左上角像素对应的坐标为(x,y),则该预设位置可以为S1中的坐标为(x-1,y)的位置P1,或者可以坐标为(x-1,y+N-1)的位置P2,还可以为坐标为(x-1,y+N/2)的位置P3,上述预设位置可以为S1中的其他位置,具体根据实际情况选择,本发明实施例中不作限定。
同理,结合图6,上述确定第二叶节点的方法可以为:将覆盖当前节点上侧一个预设位置的叶节点确定为第二叶节点,其中,该预设位置可以为当前节点的上侧距离当前节点预设距离的区域S2中的任意一个位置,示例性的,若当前节点的宽度为M,高度为N,预设距离为1,当前节点的左上角像素对应的坐标为(x,y),则该预设位置可以为S2中的坐标为(x,y-1)的位置P4,或者可以坐标为(x+M/2,y-1)的位置P5,上述预设位置还可以为S2中其他位置,具体根据实际情况选择,本发明实施例中不作限定。
需要说明的是,本发明实施例中,第一方向也可以为水平向右,如此,第一叶节点为右侧叶节点;第二方向也可以为竖直向下,如此,第二叶节点为下侧叶节点,具体的,可以根据实际的编码规则,确定第一方向和第二方向,从而确定第一叶节点和第二叶节点,本发明实施例不作限定。
S102、视频编码设备确定当前节点是否满足第一预设条件以及该当前节点是否满足第二预设条件。
其中,第一预设条件为当前节点的高度大于第一叶节点的高度,第二预设条件为当前节点的宽度大于第二叶节点的宽度。
本发明实施例中,可以通过比较当前节点的某条边的长度与该当前节点相邻的叶节点的邻接边的长度,预估当前节点是否再划分,若当前节点的高度大于第一叶节点的高度,说明当前节点继续被水平划分的概率比较高;若当前节点的高度小于或者等于第一叶节点的高度,说明当前节点继续被水平划分的概率比较低。若当前节点的宽度大于第二叶节点的宽度,说明当前节点继续被竖直划分的概率比较高;若当前节点的宽度小于或者等于第二叶节点的宽度,说明当前节点继续被竖直划分的概率比较低。
需要说明的是,本发明实施例中,在上述S102中,终端设备可以通过一次确定动作确定出当前节点是否满足第一预设条件以及该当前节点是否满足第二预设条件。终端设备也可以通过两次确定动作分别确定当前节点是否满足第一预设条件以及该当前节点是否满足第二预设条件,可选的,终端设备可以先确定当前节点是否满足第一预设条件,再确定当前节点是否满足第二预设条件;或者终端设备可以先当前节点是否满足第二预设条件,再确定当前节点是否满足第一预设条件,本发明实施例不作具体限定。
S103、视频编码设备根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型。
本发明实施例中,视频编码设备可以根据当前节点满足第一预设条件的情况和满足第二预设条件的情况,确定当前节点的划分标志位的上下文模型,该划分标志位的上下文模型指的是划分标志位对应的位元的概率模型,在现有的视频编解码标准(例如H.265)中,规定了划分标志位的上下文模型,划分标志位的上下文模型包括N个,该N个上下文模型的编号可以依次为0至N-1,N为大于1的整数。
上述视频编码设备根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的方法包括:视频编码设备根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的编号。具体的,在一种实施方式中,当前节点的划分标志位的上下文模型的编号满足:
ctxInc=n_conL+n_conA
其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足,n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足。
示例性的,当第一预设条件不满足,第二预设条件也不满足,则当前节点的划分标志位的上下文模型的编号为0;当第一预设条件满足,第二预设条件不满足,则当前节点的划分标志位的上下文模型的编号为1,或者第一预设条件不满足,第二预设条件满足,当前节点的划分标志位的上下文模型的编号为1;当第一预设条件满足,第二预设条件也满足,则当前节点的划分标志位的上下文模型的编号为2。具体的,划分标志位的上下文模型是何种形式的模型,本发明实施例不做限定。
S104、视频编码设备根据划分标志位的上下文模型,对划分标志位对应的位元进行编码。
本发明实施例中,划分标志位可以被二值化为一个二值的位元,假设划分标志位可以取0和1(其中,一个值表示当前节点继续划分,另一个值表示当前节点不需要再继续划分),则该划分标志位可以被二值化为1个二值的位元,位元为0对应划分标志位为0,位元为1对应划分标志位为1。对划分标志位的编码即可理解为对划分标志位对应的位元编码,具体的,是根据划分标志位对应的位元在某一概率模型下的概率值对该位元的值进行编码。
本发明实施例中,视频编码设备完成对划分标志位对应的位元的编码,即认为视频编码设备完成了对划分标志位的编码,从而视频编码设备将编码后的划分标志位的信息、划分模式信息和编码单元信息等其它信息写入码流,完成视频数据的编码。
需要说明的是,本发明实施例中,从信息论的角度分析,一个位元为1的概率越接近于0.5,则编码该位元所需要的平均比特就越多,一个位元为1的概率越接近于0或1,则编码该位元所需要的平均比特就越少,本发明实施例中,根据当前节点的上下文信息(即上述与当前节点相邻的第一叶节点和第二叶节点)确定的当前节点的上下文模型比较准确,即当前节点的划分标志位对应的位元的概率模型比较准确,在该概率模型下,划分标志位对应的位元为1的概率值更加接近于0或者1,如此,编码该划分标志位所需的比特数比较少,从而可以提高划分标志位的熵编码的效率。
可选的,本发明实施例中,视频编码设备还可以根据划分标志位对应的位元的值更新该划分标志位对应的位元的概率值,使概率值随图像内容动态更新。
本发明实施例提供的划分标志位的上下文建模方法,在对划分标志位进行编码的场景中确定划分标志位的上下文模型时,视频编码设备通过比较当前节点的高度与第一叶节点的高度,并且比较当前节点的宽度与第二叶节点的宽度,能更加准确地确定当前节点是否再划分,如此,根据满足上述两个预设条件的情况可以更加准确地确定划分标志位的上下文模型,从而能够提高划分标志位的熵编码的效率。
进一步地,在任何一个节点的划分采用了二叉树划分和/或三叉树划分时,本发明实施例中,可以比较当前节点的高度与第一叶节点的高度,以及比较当前节点的宽度与第二叶节点的宽度,从而更精确地确定当前节点的划分标志位的上下文模型。如此,可以很好地解决,现有技术中使用深度信息确定的当前节点的划分标志位的上下文模型不准确的问题,例如当前节点的深度和第一叶节点的深度相同,但是当前节点的高度远大于第一叶节点的高度,在这种情况下,采用现有技术则更倾向于确定当前节点不需要再继续划分,而实际上由于当前节点的高度比较高,因此当前节点应当进行水平划分的可能性是比较高的。
可选的,结合图5,如图7所示,本发明实施例提供的划分标志位的上下文建模方法中,在上述S103之前,还可以包括S105:
S105、视频编码设备根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号。
本发明实施例中,对于尺寸不同的节点,其是否再划分的概率可能不同,例如,对于尺寸比较大的节点,在一定程度上该节点继续被划分的概率比较高,对于尺寸比较小的节点,该节点继续被划分的概率比较低。基于这个角度的考虑,可以按照当前节点的尺寸,将该当前节点归入某一子类中,如此,当前节点的划分标志位的上下文模型也可以对应于一个子类模型,具体的,可以根据当前节点的高度和宽度确定当前节点的划分标志位的上下文模型的子类编号。
一种可选的实现方式中,上述S105具体可以通过S105a实现:
S105a、视频编码设备根据当前节点的高度和宽度获取当前节点的面积,再根据预设的节点面积与子类编号的映射关系,确定划分标志位的上下文模型的子类编号。
本发明实施例中,视频编码设备首先通过当前节点的高度和宽度的乘积,确定该当前节点的面积,然后根据当前节点的面积,以及预设的节点面积与子类编号的映射关系,确定当前节点的面积对应的子类编号,即划分标志位的上下文模型的子类编号。
可选的,如图8所示,本发明实施例中,若子类编号为0,1,2,上述预设的节点面积与子类编号的映射关系可以为:节点面积大于第一阈值时,对应的子类编码为0,节点面积小于第二阈值时,对应的子类编号为2,节点面积大于或者等于第二阈值,并且小于或者等于第一阈值时,对应的子类编号为1。示例性的,若第一阈值为2048,当前节点的宽度为64,高度为64,该当前节点的面积为4096,则当前节点的划分标志位的子类编号为0。其中,第一阈值大于第二阈值。
需要说明的是,本发明实施例中,上述第一阈值可以为1024、2048或者4096,第二阈值可以为256或者512,具体的,第一阈值和第二阈值可以根据实际情况确定,本发明实施例不作限定。
另一种可选的实现方式中,上述S105具体可以通过S105b实现:
S105b、视频编码设备根据当前节点的高度和宽度,在预设的子类编号查询表中,查询划分标志位的上下文模型的子类编号。
本发明实施例中,可以根据当前节点的高度和宽度,以及预设的节点高度和宽度与子类编号的映射关系,确定划分标志位的上下文模型的子类编号,该预设的节点高度和宽度与子类编号的映射关系可以为预设的子类编号查询表,该预设的子类编号查询表包括当前节点的高度和宽度,以及当前节点的宽度和高度对应的子类编号。
示例性的,上述预设的子类编号查询表可以包括如下所示的表1、表2以及表3,在实际使用过程中,可以根据实际情况选择3个子类编码查询表中的一个查询表来查询划分标志位的上下文模型的子类编号,如下所示为表1、表2以及表3的示例。
表1
Figure BDA0001808722020000181
Figure BDA0001808722020000191
表2
Figure BDA0001808722020000192
表3
Figure BDA0001808722020000193
需要说明的是,上述表1、表2和表3中,空白位置表示对应的宽和高的组合的节点不需要再继续划分或者不可能出现,如表1所示,对于高度为4,宽度为4的节点,该节点不需要再继续划分。
示例性的,若采用表1所示的子类编号查询表,结合表1,若当前节点的宽度为16,高度为64,在表1中查询得到当前节点的划分标志位的上下文模型的子类编号为2。
需要说明的是,本发明实施例中,上述预设的子类编号查询表仅为预设的节点高度和宽度与子类编号的映射关系的一种可选的实现方式,该预设的节点高度和宽度与子类编号的映射关系也可以为其他形式的映射关系,本发明实施例不作具体限定。
可选的,如图7所示,上述S103具体可以通过S103a实现:
S103a、视频编码设备根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型。
本发明实施例中,上述根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定的当前节点的划分标志位的上下文模型的方法可以包括:根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定的当前节点的划分标志位的上下文模型的编号,在一种实施方式中,该划分标志位的上下文模型的编号满足:
ctxInc=n_conL+n_conA+X*a
其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;X表示划分标志位的上下文模型的子类编号;a表示子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
本发明实施例提供的划分标志位的上下文建模方法,可以结合当前节点本身的尺寸,确定当前节点的划分标志位的子类编号,在第一预设条件是否满足和第二预设条件是否满足的基础上,联合划分标志位的上下文模型的子类编号,确定的划分标志位的上下文模型比较准确,如此,可以进一步提高划分标志位的熵编码的效率。
可选的,结合图5,如图9所示,本发明实施例提供的划分标志位的上下文建模方法中,在上述S103之前,还可以包括S106-S107:
S106、视频编码设备获取第三方向上与当前节点相邻的第三叶节点的高度。
其中,第三方向与第一方向相反,第三叶节点为已重建的叶节点。
本发明实施例中,若第一方向为水平向左,则第三方向为水平向右,该第三叶节点为当前节点的右侧与该当前节点相邻的叶节点,该第三叶节点也可以称为右侧叶节点。
S107、视频编码设备确定当前节点是否满足第三预设条件。
其中,第三预设条件为当前节点的高度大于第三叶节点的高度。
本发明实施例中,若当前节点的高度大于第三叶节点的高度,说明当前节点继续被水平划分的概率比较高;若当前节点的高度小于或者等于第三叶节点的高度,说明当前节点继续被水平划分的概率比较低。
可选的,如图9所示,上述S103具体可以通过S103b实现:
S103b、视频编码设备根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型。
本发明实施例中,上述根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型的方法可以包括:根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型的编号,在一种实施方式中,该划分标志位的上下文模型的编号满足:
ctxInc=min(n_conL+n_conA+n_conR,N-1)
其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;n_conR表示第三预设条件是否满足,当n_conR为1时表示第三预设条件满足,当n_conR为0时表示第三预设条件不满足;min(a,b)表示取a和b中的较小值。
本发明实施例提供的划分标志位的上下文建模方法,可以结合与当前节点相邻的又一个叶节点,确定当前节点是否满足第三预设条件,在第一预设条件是否满足和第二预设条件是否满足的基础上,联合第三预设条件是否满足,确定的划分标志位的上下文模型的比较准确,如此,可以进一步提高划分标志位的熵编码的效率。
可选的,本发明实施例中,编码设备还可以获取第四方向上与当前节点相邻的第四叶节点的宽度,第四方向与第二方向相反,该第四叶节点为已重建的叶节点;然后编码设备确定当前节点是否满足第四预设条件,该第四预设条件为当前节点的宽度大于第四叶节点的宽度;如此上述根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型的方法可以包括:编码设备根据第一预设条件、第二预设条件以及第四预设条件的满足情况,确定当前节点的划分标志位的上下文模型。
具体的,编码设备根据第一预设条件、第二预设条件以及第四预设条件的满足情况,确定当前节点的划分标志位的上下文模型的编号与上述S103b类似,具体可以参考上述对于S103b的相关描述,此处不再赘述。
可选的,结合图9,如图10所示,本发明实施例提供的划分标志位的上下文建模方法还可以包括S108:
S108、视频编码设备根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号。
需要说明的是,可以在S106之前执行S108,或者可以在S106之后执行S108,或者可以同时执行S106和S108,本发明实施例不限定S108与S106的执行顺序。
可选的,如图10所示,上述S103具体可以通过S103c实现:
S103c、视频编码设备根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型。
本发明实施例中,上述根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定的当前节点的划分标志位的上下文模型的方法包括:根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定的当前节点的划分标志位的上下文模型的编码,在一种实施方式中,该划分标志位的上下文模型的编号满足:
ctxInc=min(n_conL+n_conA+n_conR,N)+X*a
其中,ctxInc表示划分标志位的上下文模型的编号;n_conL表示第一预设条件是否满足,当n_conL为1时表示第一预设条件满足,当n_conL为0时表示第一预设条件不满足;n_conA表示第二预设条件是否满足,当n_conA为1时表示第二预设条件满足,当n_conA为0时表示第二预设条件不满足;n_conR表示第三预设条件是否满足,当n_conR为1时表示第三预设条件满足,当n_conR为0时表示第三预设条件不满足;X表示划分标志位的上下文模型的子类编号;a表示子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
本发明实施例提供的划分标志位的上下文建模方法,可以结合当前节点本身的尺寸,确定当前节点的划分标志位的子类编号,并且结合与当前节点相邻的又一个叶节点,确定当前节点是否满足第三预设条件,在根据第一预设条件是否满足、第二预设条件是否满足以及第三预设条件是否满足的基础上,联合划分标志位的上下文模型的子类编号,确定的划分标志位的上下文模型更加准确,如此,可以显著提高划分标志位的熵编码的效率。
如图11所示,在对划分标志位进行解码的过程中,本发明实施例提供的划分标志位的上下文建模方法可以包括S201-S205:
S201、视频解码设备获取当前节点的高度和宽度,第一方向上与当前节点相邻的第一叶节点的高度以及第二方向上与当前节点相邻的第二叶节点的宽度。
S202、视频解码设备确定当前节点是否满足第一预设条件以及该当前节点是否满足第二预设条件。
S203、视频解码设备根据第一预设条件和第二预设条件的满足情况,确定当前节点的划分标志位的上下文模型。
上述S201-S203中的各个步骤与上述对划分标志位进行编码的过程中,视频编码设备执行的步骤S101-S103类似,对于S201-S203的具体描述,可以参见上述对于S101-S103的详细描述,此处不再赘述。
S204、视频解码设备根据划分标志位的上下文模型,对划分标志位对应的位元进行解码。
本发明实施例中,视频解码设备根据划分标志位对应的位元在某一概率模型下的概率值对该位元的值进行解码。
S205、视频解码设备根据解码得到的位元,确定划分标志位的值。
本发明实施例中,视频解码设备解码得到位元之后,视频解码设备可以确定该位元对应的划分标志位,从而完成对划分标志位的解码,并根据划分标志位确定当前节点是否继续划分;如果当前节点不需要再继续划分,则将当前节点作为一个编码单元,视频解码设备解析此编码单元的编码信息,进而完成编码单元的解码;如果当前节点继续划分,则解析当前节点划分为子节点的方式,即解析划分模式信息,然后解析各个子节点对应的编码单元。通过上述处理过程,完成CTU划分为CU,并解码各个CU,从而完成视频数据的解码。
本发明实施例提供的划分标志位的上下文建模方法,在对划分标志位进行解码的场景中确定划分标志位的上下文模型时,视频解码设备通过比较当前节点的高度与第一叶节点的高度,并且比较当前节点的宽度与第二叶节点的宽度,能更加准确地确定当前节点是否再划分,如此,根据满足上述两个预设条件的情况可以更加准确地确定划分标志位的上下文模型,从而能够提高划分标志位的熵编码的效率。
进一步地,在任何一个节点的划分采用了二叉树划分和/或三叉树划分时,本发明实施例中,可以比较当前节点的高度与第一叶节点的高度,以及比较当前节点的宽度与第二叶节点的宽度,从而更精确地确定当前节点的划分标志位的上下文模型。如此,可以很好地解决,现有技术中使用深度信息确定的当前节点的划分标志位的上下文模型不准确的问题,例如当前节点的深度和第一叶节点的深度相同,但是当前节点的高度远大于第一叶节点的高度,在这种情况下,采用现有技术则更倾向于确定当前节点不需要再继续划分,而实际上由于当前节点的高度比较高,因此当前节点应当进行水平划分的可能性是比较高的。
可选的,结合图11,如图12所示,本发明实施例提供的划分标志位的上下文建模方法中,在上述S203之前,还包括S206:
S206、视频解码设备根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号。
对于S206的具体描述,可以参见上述实施例中对于S105的相关描述,此处不再赘述。
一种可选的实现方式中,上述S206具体可以通过S206a实现:
S206a、视频解码设备根据当前节点的高度和宽度获取当前节点的面积,再根据预设的节点面积与子类编号的映射关系,确定划分标志位的上下文模型的子类编号。
另一种可选的实现方式中,上述S206具体可以通过S206b实现:
S206b、视频解码设备根据当前节点的高度和宽度,在预设的子类编号查询表中,查询划分标志位的上下文模型的子类编号。
对于S206a和S206b的具体描述,可以参见上述实施例中对于S105a和S105b的相关描述,此处不再赘述。
可选的,如图12所示,上述S203具体可以通过S203a实现:
S203a、视频解码设备根据第一预设条件和第二预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型。
对于S203a的具体描述,可以参见上述实施例中对于S103a的相关描述,此处不再赘述。
可选的,结合图11,如图13所示,本发明实施例提供的划分标志位的上下文建模方法中,在上述S203之前,还可以包括S207-S208:
S207、视频解码设备获取第三方向上与当前节点相邻的第三叶节点的高度。
S208、视频解码设备确定当前节点是否满足第三预设条件。
对于S207-S208的具体描述,可以参见上述实施例中对于S106-S107的相关描述,此处不再赘述。
可选的,如图13所示,上述S203具体可以通过S203b实现:
S203b、视频解码设备根据第一预设条件、第二预设条件以及第三预设条件的满足情况,确定当前节点的划分标志位的上下文模型。
对于S203b的具体描述,可以参见上述实施例中对于S103b的相关描述,此处不再赘述。
可选的,结合图13,如图14所示,本发明实施例提供的划分标志位的上下文建模方法还可以包括S209:
S209、视频解码设备根据当前节点的高度和宽度,确定划分标志位的上下文模型的子类编号。
对于S209的具体描述,可以参见上述实施例中对于S108的相关描述,此处不再赘述。
可选的,如图14所示,上述S203具体可以通过S203c实现:
S203c、视频解码设备根据第一预设条件、第二预设条件、第三预设条件的满足情况,以及划分标志位的上下文模型的子类编号,确定当前节点的划分标志位的上下文模型。
对于S203c的具体描述,可以参见上述实施例中对于S103c的相关描述,此处不再赘述。
HEVC中,对于YUV4:2:0格式的图像,一个编码树节点包含一个亮度块和两个色度块;亮度块和色度块使用相同的方式划分,称为亮度色度联合编码树。VVC中,如果当前帧为I帧,则当一个编码树节点为帧内编码帧(I帧)中的预设大小(如64x64)的节点时,该节点包含的亮度块通过亮度编码树被划分成一组只包含亮度块的编码单元,该节点包含的色度块通过色度编码树被划分成一组只包含色度块的编码单元;亮度编码树和色度编码树的划分相互独立。这种亮度块和色度块使用独立的编码树,称为分离树(separate trees)。
基于上下文自适应的二进制算术编码(Context-based Adaptive BinaryArithmetic Coding,CABAC)是一种常用的熵编码(entropy coding)技术,用于语法元素值的编码和解码处理。
编码处理主要包括三个步骤:1)将一个语法元素二值化为一个或多个二值的位元(bin),每个位元的取值为0或1;2)对每一个位元,根据上下文信息(例如语法元素对应节点周围已重建区域内的编码信息)决定这个位元的概率模型C,此步骤通常称为上下文建模;3)根据概率模型C中的概率值对位元进行编码,并根据位元的值更新概率模型C中的概率值。
相应的解码处理主要包括三个步骤:1)对每一个位元,根据上下文信息决定这个位元的概率模型C;2)根据概率模型C中的概率值对位元进行解码,并根据位元的值更新概率模型C中的概率值;3)根据解码得到的一个或多个位元的值,得到语法元素的值。
在编码过程和解码过程中,上下文建模方法是相同的。
通常,如果一个语法元素的取值只有0和1两个值,这个语法元素被称为标志位(flag),它被二值化为1个bin,bin值为0对应于语法元素的值为0,bin值为1对应于语法元素的值为1。
统计意义上,一个bin为1的概率越接近于0.5,则编码一组这样的bin需要的比特越多;一个bin为1的概率越接近于0或1,则编码一组这样的bin需要的比特越少。根据上下文信息从多个概率模型中选择一个概率模型,则可以将一个bin为1的总概率拆分成为多种情况下bin为1的条件概率,每个条件概率相比于总概率可更接近于0或1,从而降低编码比特数,提高熵编码的效率。然而,如果上下文建模方法不当,则条件概率可能与总概率接近,无法提高熵编码的效率。
VVC draft 2版本(VVC草案第2版本)中,MTT划分标志位对应3个候选的上下文模型,其编号ctxInc为0、1和2,编码和解码时会由上下文信息从中选择一个模型作为实际使用的模型。具体的,根据当前节点的面积、左侧叶节点的面积和上侧叶节点的面积决定划分标志位的上下文模型。左侧叶节点为覆盖节点左侧预设位置的叶节点,上侧叶节点为覆盖节点上侧预设位置的叶节点。MTT划分标志位为1指示当前节点按照二叉树或三叉树划分方式中的一种进行划分;MTT划分标志为0指示当前节点不划分,即当前节点对应一个编码单元。
VVC draft 2版本中,一个节点的面积用节点的四叉树深度Dq的2倍加上节点的二叉树深度Db来表示。当一个节点使用四叉树划分时,子节点的Dq等于节点的Dq加1;当节点使用二叉树划分或三叉树划分时,子节点的Dq等于节点的Dq。当节点由二叉树划分方式划分时子节点的Db等于节点的Db加1,当节点由三叉树划分方式划分且子节点为三叉树划分的中间节点时,子节点的Db等于节点的Db加1;当节点由三叉树划分方式划分且子节点不为三叉树划分的中间节点时,子节点的Db等于节点的Db加2。
条件1:如果左侧叶节点可得(左侧叶节点在图像区域内且已经重建)且左侧叶节点的面积小于当前节点的面积,则条件condL成立,否则condL不成立;
条件2:如果上侧叶节点可得且上侧叶节点的四叉树深度小于当前节点的面积,则条件condA成立,否则condA不成立。
用上述两个条件成立的个数来决定划分标志位使用的上下文模型,即ctxInc=condL+condA。有0个条件成立,则使用0号模型;有1个条件成立,则使用1号模型;有2个条件成立,则使用2号模型。
VVC draft 2中,无论使用亮度色度联合树还是分离树(即亮度编码树或色度编码树),MTT划分标志位均使用上述3个上下文模型。
另一些现有技术中,上述条件1替换为如果左侧叶节点可得且左侧叶节点的高小于当前节点的高,则条件condL成立,否则condL不成立;上述条件2替换为如果上侧叶节点可得且上侧叶节点的宽小于当前节点的宽,则条件condA成立,否则condA不成立。
本发明一个实施例可以根据编码树的类型确定MTT划分标志位的上下文模型,对亮度编码树的MTT划分标志位和色度编码树的划分标志位使用不同的上下文模型,提高MTT划分标志位的编码效率。
本发明一个实施例提供了一种划分标志位的上下文模型确定方法,该方法应用于视频编码设备或视频解码设备。其中,编码树中正在确定划分的节点称为当前节点。划分标志位用于表示当前节点是否继续划分。本发明中的划分标志位可以是MTT划分标志位,如VVC draft 2中的mtt_split_cu_flag;MTT划分标志位为1表示当前节点使用二叉树划分方式或三叉树划分方式中的一种方式划分成为子节点;MTT划分标志位为0表示当前节点不划分,成为QT-MTT编码树中的一个编码单元CU。本发明中的划分标志位也可以是QT划分标志位,如VVC draft 2中的qt_split_cu_flag。
如图19所示,本发明一个实施例提供的划分标志位的上下文模型确定方法包括:
1901、根据当前节点的宽度和高度,第一叶节点的高度以及第二叶节点的宽度,确定第一模型编号;所述第一叶节点在第一方向上与所述当前节点相邻,所述第二叶节点在第二方向上与所述当前节点相邻,所述第一方向与所述第二方向垂直,所述第一叶节点和所述第二叶节点为已重建的叶节点。所述第一方向例如为当前节点的左方,第二方向例如为当前节点的上方。
该步骤的实现可以参考现有技术中的方法或前面实施例中提供的确定划分标志位的上下文模型的方法,此处不再赘述;例如可以使用HEVC中的确定划分标志位的上下文模型的方法,或VVC draft 2版本中的确定划分标志位的上下文模型的方法;或者,例如可以使用如图5,图7,以及图9~图14所描述的任一确定划分标志位的上下文模型的方法。也就是说,该步骤获取的第一模型编号可以为前述方法中确定的上下文模型的编号。
1902、根据所述当前节点所属的编码树的类型,确定第二模型编号。
所述当前节点所述的编码树的类型可以是色度编码树,亮度编码树或亮度色度联合树。
根据所述当前节点所属的编码树的类型的不同,确定第二模型编号的方式或者第二模型编号会有不同。
例如在一种实施方式中,如果所述当前节点所属的编码树为色度编码树,确定所述第二模型编号为第一值,所述第一值为预设正整数,例如可以为3、6、9、10、12、13等。
在一种实施方式中,如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,根据所述当前节点的MTT深度与MTT深度阈值ThD的大小关系确定所述第二模型编号。具体地,如果所述当前节点的MTT深度小于所述MTT深度阈值ThD,则确定所述第二模型编号为第二值,所述第二值为非负整数,例如可以为0,1,或2等等;或如果所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD,则确定所述第二模型编号为第三值,所述第三值为非负整数,例如可以为3,4,或5等等;其中所述第一值,第二值和第三值互不相同;例如,第二值可以为0、第三值可以为3,第一值可以为6。。
在一种实施方式中,MTT深度阈值ThD可以为预设的正整数,例如可以为2,3,或4等等。在另一种实施方式中,所述MTT深度阈值ThD可以由当前节点对应的最大MTT深度(MaxMttDepth)确定,例如,ThD=(MaxMttDepth+1)>>1。例如在VVC draft2中,如果当前节点为I帧中的节点,则当前节点对应的最大MTT深度MaxMttDepth由序列参数集(SequenceParameter Set,SPS)中的max_mtt_hierarchy_depth_intra_slices语法元素确定;如果当前节点为P帧或B帧中的节点,则当前节点对应最大MTT深度MaxMttDepth由序列参数集中的max_mtt_hierarchy_depth_inter_slices语法元素确定。
在一种实施方式中,如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,根据所述当前节点的MTT深度与预设常数P1的乘积确定所述第二模型编号;例如,可以直接将所述乘积确定为所述第二模型编号。在一些实施方式中,考虑到第二模型编号的取值范围,可以考虑设定第二模型编号的上限值,即当所述乘积大于所述上限值时,将所述上限值确定为所述第二模型编号;例如在一个实施例中,所述上限值设置为6,即如果所述乘积大于6,所述第二模型编号为6。其中,在一种实施方式中,在根据所述当前节点的MTT深度与预设常数P1的乘积确定所述第二模型编号时,前述的第一值可以设置为大于或等于9的整数。预设常数P1为正整数,例如P1等于3。
在一种实施方式中,如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,根据所述当前节点的面积与第一预设面积阈值ThA1大小关系确定所述第二模型编号。具体地,如果所述当前节点的面积大于所述第一预设面积阈值ThA1,确定所述第二模型编号为第四值,所述第四值为非负整数,例如可以为0,1,或2等等;或如果所述当前节点的面积小于或等于所述第一预设面积阈值ThA1,确定所述第二模型编号为第五值,所述第五值为非负整数,例如可以为3,4,或5等等;所述第一值、第四值和第五值互不相同,例如,第四值可以为0、第五值可以为3,第一值可以为6。
其中,第一预设面积阈值ThA1为正整数,例如ThA1=128,256,512或1024等等。ThA1还可以根据当前图像的最大二叉树划分节点的尺寸确定,例如最大二叉树划分节点为128x128时,ThA1设置为512或256;最大二叉树划分节点为64x64时,ThA1设置为256或128;最大二叉树划分节点为32x32或更小时,ThA1设置为128或64。ThA1还可以根据当前图像的帧类型确定,如果当前图像为I帧,则ThA1为256或128;否则,ThA1为1024或512。当前节点的面积可以用当前节点包含的图像块的宽与高的乘积来计算。如果当前节点为亮度编码树或者亮度色度联合树中的节点,则当前节点包含的图像块为亮度块,当前节点的面积为该亮度块的宽和高的乘积;如果当前节点为色度编码树中的节点,则当前节点包含图像块为色度块,当前节点的面积为该色度块的宽和高的乘积。此外,当前节点的面积还可以用当前节点对应图像区域的宽与高的乘积来计算。当前节点对应了16x16的图像区域,则它的面积为256。
在一种实施方式中,如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,根据所述当前节点的面积与第二预设面积阈值ThA2以及第三预设面积阈值ThA3中的至少一个的大小关系确定所述第二模型编号,所述第二预设面积阈值ThA2大于所述第三预设面积阈值ThA3。具体地,如果所述当前节点的面积大于所述第二面积阈值ThA2,确定所述第二模型编号为第六值,所述第六值为非负整数,例如可以为0,1,或2等等;或如果所述当前节点的面积大于所述第三面积阈值ThA3且小于或等于所述第二面积阈值ThA2,确定所述第二模型编号为第七值,所述第七值为非负整数,例如可以为3,4,或5等等;或如果所述当前节点的面积小于或等于所述第三面积阈值ThA3,确定所述第二模型编号为第八值,所述第八值为非负整数,例如可以为6,7或8等等;其中,所述第一值、第六值、第七值和第八值互不相同,例如第六值可以为0、第七值可以为3、第八值可以为6、第一值可以为9。
第二预设面积阈值ThA2为正整数,例如ThA2=256,512、1024或2048等等。ThA2还可以根据当前图像的最大二叉树划分节点的尺寸确定,例如最大二叉树划分节点为128x128时,ThA2设置为1024或512;最大二叉树划分节点为64x64时,ThA2设置为512或256;最大二叉树划分节点为32x32或更小时,ThA2设置为256或128。ThA2还可以根据当前图像的帧类型确定,如果当前图像为I帧,则ThA2为1024或512;否则,ThA2为256或128。
第三预设面积阈值ThA3为正整数,例如ThA3=32,64,128,256或512等等。ThA3还可以根据当前图像的最大二叉树划分节点的尺寸确定,例如最大二叉树划分节点为128x128时,ThA3设置为512或256;最大二叉树划分节点为64x64时,ThA3设置为128或64;最大二叉树划分节点为32x32或更小时,ThA3设置为64或32。ThA3还可以根据当前图像的帧类型确定,如果当前图像为I帧,则ThA3为256或128;否则,ThA3为64或32。
其中,需要说明的是,步骤1901和步骤1902在执行上没有先后顺序,即步骤1902的执行可以可以在步骤1901之前,或在步骤1901之后,也可以与步骤1901同时执行。
1903、根据所述第一模型编号以及所述第二模型编号,确定所述当前节点的划分标志位的上下文模型。
例如,可以直接将第一模型编号以及第二模型编号相加得到的和作为所述当前节点的划分标志位的上下文模型的编号,从而根据该编号确定所述当前节点的划分标志位的上下文模型。在本方法应用于编码器时,该方法具体可以由熵编码单元来执行,此时,该熵编码单元可以根据该上下文模型对该上下文模型的位元进行编码,再将编码后的位元写入码流。在本方法应用于解码器时,该方法具体可以由熵解码单元来执行,该熵解码单元确定了所述当前节点的划分标志位的上下文模型后,可以根据该上下文模型对码流进行解码,从而得到所述划分标志位对应的位元的值,再由该位元的值确定划分标志位的值,从而根据该划分标志位的值确定是否需要对所述当前节点进行继续划分。
从上可知,本实施例可以根据当前节点所属的编码树的类型来确定当前节点的划分标志位的上下文模型,从而可以对色度编码树和非色度编码树(即亮度编码树或亮度色度联合树)采用不同的上下文模型,使得确定的上下文模型能够适配色度编码树和非色度编码树,从而提高了压缩效率。
在本发明的另一个实施例中,所述步骤1902,即所述根据所述当前节点所属的编码树的类型,确定第二模型编号具体可以包括:根据所述当前节点所属的编码树的类型,以及所述当前节点的MTT深度与MTT深度阈值ThD的大小关系,确定所述第二模型编号。其中,MTT深度阈值ThD的取值或者确定可以参考前面的描述。
具体地,如果所述当前节点所属的编码树为色度编码树,所述当前节点的MTT深度小于所述MTT深度阈值ThD,确定第二模型编号为第九值,所述第九值为非负整数,例如可以为6,7,或8等等;或如果所述当前节点所属的编码树为色度编码树,所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD,确定所述第二模型编号为第十值,所述第十值为非负整数,例如可以为9,10,或11等等;或如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,所述当前节点的MTT深度小于所述MTT深度阈值ThD,确定所述第二模型编号为第十一值,所述第十一值为非负整数,例如可以为0,1或2等等;或如果所述当前节点所属的编码树为亮度编码树或亮度色度联合树,所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD,确定所述第二模型编号为第十二值,所述第十二值为非负整数,例如可以为3,4,或5等等;其中,所述第九值、第十值、第十一值和所述第十二值互不相同,例如第九值可以为6、第十值可以为9、第十一值可以为0、第十二值可以为3。
从上可知,本实施例可以根据当前节点所属的编码树的类型来确定当前节点的划分标志位的上下文模型,从而可以对色度编码树和非色度编码树(即亮度编码树或亮度色度联合树)采用不同的上下文模型,使得确定的上下文模型能够适配色度编码树和非色度编码树,从而提高了压缩效率。
图20描述了本发明一个实施例提供的划分标志位的上下文建模装置的结构,该装置具体可以为视频编码器或视频解码器,或者该装置可以为视频编码器中的熵编码单元,或者为视频解码器中的熵解码单元。如图20所示,该装置包括:
第一模型编号确定模块2001,用于根据当前节点的宽度和高度,第一叶节点的高度以及第二叶节点的宽度,确定第一模型编号;所述第一叶节点在第一方向上与所述当前节点相邻,所述第二叶节点在第二方向上与所述当前节点相邻,所述第一方向与所述第二方向垂直,所述第一叶节点和所述第二叶节点为已重建的叶节点。
具体实现可以参考步骤1901。
第二模型编号确定模块2002,用于根据所述当前节点所属的编码树的类型,确定第二模型编号。
具体实现可以参考步骤1902。
上下文模型确定模块2003,用于根据所述第一模型编号以及所述第二模型编号,确定所述当前节点的划分标志位的上下文模型。
具体实现可以参考步骤1903。
例如,在一种实施方式中,所述第二模型编号确定模块2002可以具体用于在所述当前节点所属的编码树为色度编码树时,确定所述第二模型编号为第一值,所述第一值为预设正整数。
例如,在一种实施方式中,所述第二模型编号确定模块2002可以具体用于具体用于在所述当前节点所属的编码树为亮度编码树或亮度色度联合树时,根据所述当前节点的MTT深度与MTT深度阈值ThD的大小关系确定所述第二模型编号。具体地,所述第二模型编号确定模块2002可以具体用于:在所述当前节点的MTT深度小于所述MTT深度阈值ThD时,确定所述第二模型编号为第二值,所述第二值为非负整数;或在所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD时,确定所述第二模型编号为第三值,所述第三值为非负整数;其中,所述第一值,第二值和第三值互不相同。其中,所述MTT深度阈值ThD根据所述当前节点对应的最大MTT深度确定,具体确定方式可以参考前面的描述。
例如,在一种实施方式中,所述第二模型编号确定模块2002可以具体用于具体用于在所述当前节点所属的编码树为亮度编码树或亮度色度联合树时,根据所述当前节点的MTT深度与预设常数P1的乘积确定所述第二模型编号。具体地,所述乘积为所述第二模型编号;或如果所述乘积大于6,所述第二模型编号为6。在该实施方式中,所述第一值可以为大于或等于9的整数。
例如,在一种实施方式中,所述第二模型编号确定模块2002可以具体用于具体用于在所述当前节点所属的编码树为亮度编码树或亮度色度联合树时,根据所述当前节点的面积与第一预设面积阈值ThA1大小关系确定所述第二模型编号。具体地,在所述当前节点的面积大于所述第一预设面积阈值ThA1时,确定所述第二模型编号为第四值,所述第四值为非负整数;或在所述当前节点的面积小于或等于所述第一预设面积阈值ThA1时,确定所述第二模型编号为第五值,所述第五值为非负整数;所述第一值、第四值和第五值互不相同。
例如,在一种实施方式中,所述第二模型编号确定模块2002可以具体用于在所述当前节点所属的编码树为亮度编码树或亮度色度联合树时,根据所述当前节点的面积与第二预设面积阈值ThA2以及第三预设面积阈值ThA3中的至少一个的大小关系确定所述第二模型编号,所述第二预设面积阈值ThA2大于所述第三预设面积阈值ThA3。具体地,所述第二模型编号确定模块2002具体用于:在所述当前节点的面积大于所述第二面积阈值ThA2时,确定所述第二模型编号为第六值,所述第六值为非负整数;或在所述当前节点的面积大于所述第三面积阈值ThA3且小于或等于所述第二面积阈值ThA2时,确定所述第二模型编号为第七值,所述第七值为非负整数;或在所述当前节点的面积小于或等于所述第三面积阈值ThA3时,确定所述第二模型编号为第八值,所述第八值为非负整数;其中,所述第一值、第六值、第七值和第八值互不相同。
例如,在一种实施方式中,所述第二模型编号确定模块2002可以具体用于根据所述当前节点所属的编码树的类型,以及所述当前节点的MTT深度与MTT深度阈值ThD的大小关系,确定所述第二模型编号。例如,所述第二模型编号确定模块2002可以具体用于:在所述当前节点所属的编码树为色度编码树,所述当前节点的MTT深度小于所述MTT深度阈值ThD时,确定第二模型编号为第九值,所述第九值为非负整数;或在所述当前节点所属的编码树为色度编码树,所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD时,确定所述第二模型编号为第十值,所述第十值为非负整数;或在所述当前节点所属的编码树为亮度编码树或亮度色度联合树,所述当前节点的MTT深度小于所述MTT深度阈值ThD时,确定所述第二模型编号为第十一值,所述第十一值为非负整数;或在所述当前节点所属的编码树为亮度编码树或亮度色度联合树,所述当前节点的MTT深度大于或等于所述MTT深度阈值ThD时,确定所述第二模型编号为第十二值,所述第十二值为非负整数;其中,所述第九值、第十值、第十一值和所述第十二值互不相同。
具体地,所述第一值~第十二值的取值可以参考前面的描述。所述各个阈值的取值也可以参考前面的描述。此处不再赘述。
从上可知,本实施例可以根据当前节点所属的编码树的类型来确定当前节点的划分标志位的上下文模型,从而可以对色度编码树和非色度编码树(即亮度编码树或亮度色度联合树)采用不同的上下文模型,使得确定的上下文模型能够适配色度编码树和非色度编码树,从而提高了压缩效率。
上述主要从各个网元的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如视频编码设备、视频解码设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例可以根据上述方法示例对视频编码设备和视频解码设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图15示出了上述实施例中所涉及的视频编码设备的一种可能的结构示意图,如图15所示,该视频编码设备可以包括:获取模块30、条件确定模块31和上下文模型确定模块32。获取模块30可以用于支持视频编码设备执行上述方法实施例中的S101和S106;条件确定模块31可以用于支持视频编码设备执行上述方法实施例中的S102和S107;上下文模型确定模块32可以用于支持视频编码设备执行上述方法实施例中的S103(包括S103a、S103b或S103c)、S105(包括S105a或S105b)以及S108。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图16示出了上述实施例中所涉及的视频编码设备的一种可能的结构示意图。如图16所示,该视频编码设备可以包括:处理模块40和通信模块41。处理模块40可以用于对视频编码设备的动作进行控制管理,处理模块40可以用于支持视频编码设备执行上述方法实施例中的S102、S103(包括S103a、S103b或S103c)、S105(包括S105a或S105b)、S107以及S108,和/或用于本文所描述的技术的其它过程。通信模块41可以用于支持视频编码设备与其他网络实体的通信。可选的,如图16所示,该视频编码设备还可以包括存储模块42,用于存储视频编码设备的程序代码和数据。
其中,处理模块40可以是处理器或控制器(例如可以是上述如图3所示的视频编码器12),例如可以是CPU、通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块41可以是收发器、收发电路或通信接口等(例如可以是上述如图3所示的输出接口13)。存储模块42可以是存储器(例如可以是上述如图3所示的存储器11)。
当处理模块40为处理器,通信模块41为收发器,存储模块42为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended Industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
在采用对应各个功能划分各个功能模块的情况下,图17示出了上述实施例中所涉及的视频解码设备的一种可能的结构示意图,如图17所示,该视频解码设备可以包括:获取模块50、条件确定模块51和上下文模型确定模块52。获取模块50可以用于支持视频解码设备执行上述方法实施例中的S201和S207;条件确定模块51可以用于支持视频解码设备执行上述方法实施例中的S202和S208;上下文模型确定模块52可以用于支持视频解码设备执行上述方法实施例中的S203(包括S203a、S203b或S203c)、S205、S206(包括S206a或S206b)以及S209。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图18示出了上述实施例中所涉及的视频解码设备的一种可能的结构示意图。如图18所示,该视频解码设备可以包括:处理模块60和通信模块61。处理模块60可以用于对视频解码设备的动作进行控制管理,处理模块60可以用于支持视频解码设备执行上述方法实施例中的S202、S203(包括S203a、S203b或S203c)、S204、S205、S206(包括S206a或S206b)、S208以及S209,和/或用于本文所描述的技术的其它过程。通信模块61可以用于支持视频解码设备与其他网络实体的通信。可选的,如图18所示,该视频解码设备还可以包括存储模块62,用于存储视频解码设备的程序代码和数据。
其中,处理模块60可以是处理器或控制器(例如可以是上述如图4所示的视频解码器21),例如可以是CPU、通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块61可以是收发器、收发电路或通信接口等(例如可以是上述如图4所示的输入接口20),存储模块62可以是存储器。
当处理模块60为处理器,通信模块61为收发器,存储模块62为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本发明实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种划分标志位的上下文建模方法,其特征在于,应用于视频编码设备或视频解码设备,所述方法包括:
获取当前节点的高度和宽度、第一方向上与所述当前节点相邻的第一叶节点的高度以及第二方向上与所述当前节点相邻的第二叶节点的宽度,所述第一方向与所述第二方向垂直,所述第一叶节点和所述第二叶节点为已重建的叶节点;所述第一方向为水平向左的方向或水平向右的方向,所述第二方向为竖直向上的方向或竖直向下的方向;
确定所述当前节点是否满足第一预设条件以及所述当前节点是否满足第二预设条件,所述第一预设条件为所述当前节点的高度大于所述第一叶节点的高度,所述第二预设条件为所述当前节点的宽度大于所述第二叶节点的宽度;
根据所述当前节点的高度和宽度,确定所述划分标志位的上下文模型的子类编号;
根据所述第一预设条件和所述第二预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型。
2.根据权利要求1所述的方法,其特征在于,根据所述当前节点的高度和宽度,确定所述划分标志位的上下文模型的子类编号,包括:
根据所述当前节点的高度和宽度获取所述当前节点的面积,再根据预设的节点面积与子类编号的映射关系,确定所述划分标志位的上下文模型的子类编号;或者,
根据所述当前节点的高度和宽度,在预设的子类编号查询表中,查询所述划分标志位的上下文模型的子类编号,所述子类编号查询表包括所述当前节点的高度和宽度,以及所述当前节点的宽度和高度对应的子类编号。
3.根据权利要求1或2所述的方法,其特征在于,所述划分标志的上下文模型包括N个,所述N个上下文模型的编号依次为0至N-1,N为大于1的整数;所述根据所述第一预设条件和所述第二预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型,包括:
根据所述第一预设条件和所述第二预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型的编号,所述划分标志位的上下文模型的编号满足:ctxInc=n_conL+n_conA+X*a;其中,ctxInc表示所述划分标志位的上下文模型的编号;n_conL表示所述第一预设条件是否满足,当n_conL为1时表示所述第一预设条件满足,当n_conL为0时表示所述第一预设条件不满足;n_conA表示所述第二预设条件是否满足,当n_conA为1时表示所述第二预设条件满足,当n_conA为0时表示所述第二预设条件不满足;X表示所述划分标志位的上下文模型的子类编号;a表示所述子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一预设条件和所述第二预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型之前,所述方法还包括:
获取第三方向上与所述当前节点相邻的第三叶节点的高度,所述第三方向与所述第一方向相反,所述第三叶节点为已重建的叶节点;
确定所述当前节点是否满足第三预设条件,所述第三预设条件为所述当前节点的高度大于所述第三叶节点的高度;
所述根据所述第一预设条件和所述第二预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型,包括:
根据所述第一预设条件、所述第二预设条件以及所述第三预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型。
5.根据权利要求4所述的方法,其特征在于,所述划分标志的上下文模型包括N个,所述N个上下文模型的编号依次为0至N-1,N为大于1的整数;所述根据所述第一预设条件、所述第二预设条件以及所述第三预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型,包括:
根据所述第一预设条件、所述第二预设条件以及所述第三预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型的编号,所述划分标志位的上下文模型的编号满足:ctxInc=min(n_conL+n_conA+n_conR,N-1);其中,ctxInc表示所述划分标志位的上下文模型的编号;n_conL表示所述第一预设条件是否满足,当n_conL为1时表示所述第一预设条件满足,当n_conL为0时表示所述第一预设条件不满足;n_conA表示所述第二预设条件是否满足,当n_conA为1时表示所述第二预设条件满足,当n_conA为0时表示所述第二预设条件不满足;n_conR表示所述第三预设条件是否满足,当n_conR为1时表示所述第三预设条件满足,当n_conR为0时表示所述第三预设条件不满足。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
根据所述当前节点的高度和宽度,确定所述划分标志位的上下文模型的子类编号;
所述根据所述第一预设条件和所述第二预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型,包括:
根据所述第一预设条件、所述第二预设条件、所述第三预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一预设条件、所述第二预设条件、所述第三预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型,包括:
根据所述第一预设条件、所述第二预设条件、所述第三预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型的编号,所述划分标志位的上下文模型的编号满足:ctxInc=min(n_conL+n_conA+n_conR,N-1)+X*a;其中,ctxInc表示所述划分标志位的上下文模型的编号;n_conL表示所述第一预设条件是否满足,当n_conL为1时表示所述第一预设条件满足,当n_conL为0时表示所述第一预设条件不满足;n_conA表示所述第二预设条件是否满足,当n_conA为1时表示所述第二预设条件满足,当n_conA为0时表示所述第二预设条件不满足;n_conR表示所述第三预设条件是否满足,当n_conR为1时表示所述第三预设条件满足,当n_conR为0时表示所述第三预设条件不满足;X表示所述划分标志位的上下文模型的子类编号;a表示所述子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
8.一种划分标志位的上下文建模装置,其特征在于,包括获取模块、条件确定模块和上下文模型确定模块;
所述获取模块,用于获取当前节点的高度和宽度、第一方向上与所述当前节点相邻的第一叶节点的高度以及第二方向上与所述当前节点相邻的第二叶节点的宽度,所述第一方向与所述第二方向垂直,所述第一叶节点和所述第二叶节点为已重建的叶节点;所述第一方向为水平向左的方向或水平向右的方向,所述第二方向为竖直向上的方向或竖直向下的方向;
所述条件确定模块,用于确定所述当前节点是否满足第一预设条件以及所述当前节点是否满足第二预设条件,所述第一预设条件为所述当前节点的高度大于所述第一叶节点的高度,所述第二预设条件为所述当前节点的宽度大于所述第二叶节点的宽度;根据所述当前节点的高度和宽度,确定所述划分标志位的上下文模型的子类编号;
所述上下文模型确定模块,用于根据所述第一预设条件和所述第二预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型,所述划分标志位的上下文模型为所述划分标志位对应的位元的概率模型。
9.根据权利要求8所述的装置,其特征在于,
所述上下文模型确定模块,具体用于根据所述当前节点的高度和宽度获取所述当前节点的面积,再根据预设的节点面积与子类编号的映射关系,确定所述划分标志位的上下文模型的子类编号;或者,
所述上下文模型确定模块,具体用于根据所述当前节点的高度和宽度,在预设的子类编号查询表中,查询所述划分标志位的上下文模型的子类编号,所述子类编号查询表包括所述当前节点的高度和宽度,以及所述当前节点的宽度和高度对应的子类编号。
10.根据权利要求8或9所述的装置,其特征在于,所述划分标志的上下文模型包括N个,所述N个上下文模型的编号依次为0至N-1,N为大于1的整数;
所述上下文模型确定模块,具体用于根据所述第一预设条件和所述第二预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型的编号,所述划分标志位的上下文模型的编号满足:ctxInc=n_conL+n_conA+X*a;其中,ctxInc表示所述划分标志位的上下文模型的编号;n_conL表示所述第一预设条件是否满足,当n_conL为1时表示所述第一预设条件满足,当n_conL为0时表示所述第一预设条件不满足;n_conA表示所述第二预设条件是否满足,当n_conA为1时表示所述第二预设条件满足,当n_conA为0时表示所述第二预设条件不满足;X表示所述划分标志位的上下文模型的子类编号;a表示所述子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
11.根据权利要求8所述的装置,其特征在于,
所述获取模块,还用于在根据所述第一预设条件和所述第二预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型之前,获取第三方向上与所述当前节点相邻的第三叶节点的高度,所述第三方向与所述第一方向相反,所述第三叶节点为已重建的叶节点;
所述条件确定模块,还用于确定所述当前节点是否满足第三预设条件,所述第三预设条件为所述当前节点的高度大于所述第三叶节点的高度;
所述上下文模型确定模块,具体用于根据所述第一预设条件、所述第二预设条件以及所述第三预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型。
12.根据权利要求11所述的装置,其特征在于,所述划分标志的上下文模型包括N个,所述N个上下文模型的编号依次为0至N-1,N为大于1的整数;
所述上下文模型确定模块,具体用于根据所述第一预设条件、所述第二预设条件以及所述第三预设条件的满足情况,确定所述当前节点的划分标志位的上下文模型的编号,所述划分标志位的上下文模型的编号满足:ctxInc=min(n_conL+n_conA+n_conR,N-1);其中,ctxInc表示所述划分标志位的上下文模型的编号;n_conL表示所述第一预设条件是否满足,当n_conL为1时表示所述第一预设条件满足,当n_conL为0时表示所述第一预设条件不满足;n_conA表示所述第二预设条件是否满足,当n_conA为1时表示所述第二预设条件满足,当n_conA为0时表示所述第二预设条件不满足;n_conR表示所述第三预设条件是否满足,当n_conR为1时表示所述第三预设条件满足,当n_conR为0时表示所述第三预设条件不满足。
13.根据权利要求11所述的装置,其特征在于,
所述上下文模型确定模块,还用于根据所述当前节点的高度和宽度,确定所述划分标志位的上下文模型的子类编号;
所述上下文模型确定模块,具体用于根据所述第一预设条件、所述第二预设条件、所述第三预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型。
14.根据权利要求13所述的装置,其特征在于,
所述上下文模型确定模块,具体用于根据所述第一预设条件、所述第二预设条件、所述第三预设条件的满足情况,以及所述划分标志位的上下文模型的子类编号,确定所述当前节点的划分标志位的上下文模型的编号,所述划分标志位的上下文模型的编号满足:ctxInc=min(n_conL+n_conA+n_conR,N-1)+X*a;其中,ctxInc表示所述划分标志位的上下文模型的编号;n_conL表示所述第一预设条件是否满足,当n_conL为1时表示所述第一预设条件满足,当n_conL为0时表示所述第一预设条件不满足;n_conA表示所述第二预设条件是否满足,当n_conA为1时表示所述第二预设条件满足,当n_conA为0时表示所述第二预设条件不满足;n_conR表示所述第三预设条件是否满足,当n_conR为1时表示所述第三预设条件满足,当n_conR为0时表示所述第三预设条件不满足;X表示所述划分标志位的上下文模型的子类编号;a表示所述子类编号对应的划分标志位的上下文模型的数量;*表示相乘。
CN201811109475.9A 2018-03-16 2018-09-21 划分标志位的上下文建模方法及装置 Active CN110278443B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2019/077782 WO2019174567A1 (zh) 2018-03-16 2019-03-12 划分标志位的上下文建模方法及装置
EP19766770.2A EP3761646A4 (en) 2018-03-16 2019-03-12 PARTITION INDICATOR BIT CONTEXT MODELING METHOD AND DEVICE
US17/021,259 US11323746B2 (en) 2018-03-16 2020-09-15 Context modeling method and apparatus of split flag

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2018102195515 2018-03-16
CN201810219551 2018-03-16

Publications (2)

Publication Number Publication Date
CN110278443A CN110278443A (zh) 2019-09-24
CN110278443B true CN110278443B (zh) 2022-02-11

Family

ID=67958027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811109475.9A Active CN110278443B (zh) 2018-03-16 2018-09-21 划分标志位的上下文建模方法及装置

Country Status (2)

Country Link
EP (1) EP3761646A4 (zh)
CN (1) CN110278443B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889827B (zh) * 2019-04-11 2021-01-29 腾讯科技(深圳)有限公司 帧内预测编码方法、装置、电子设备及计算机存储介质
CN112352431B (zh) * 2019-09-30 2023-01-10 浙江大学 一种数据编码、解码方法、设备及存储介质
WO2022268207A1 (en) * 2021-06-25 2022-12-29 FG Innovation Company Limited Device and method for partitioning blocks in video coding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996921A (zh) * 2006-12-31 2007-07-11 华为技术有限公司 建立业务连接的方法、路由设备、业务网络
CN103650503A (zh) * 2011-06-21 2014-03-19 英迪股份有限公司 基于四叉树编码和解码自适应量化参数的方法及装置
CN104853220A (zh) * 2015-05-18 2015-08-19 武汉随锐亿山科技有限公司 一种hevc编码四叉树的递推译码方法
CN105357539A (zh) * 2013-01-04 2016-02-24 三星电子株式会社 视频解码方法和视频解码设备
CN107005718A (zh) * 2014-12-10 2017-08-01 联发科技(新加坡)私人有限公司 使用二叉树块分区的视频编码的方法
WO2017157249A1 (en) * 2016-03-16 2017-09-21 Mediatek Inc. Method and apparatus of video data processing with restricted block size in video coding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452860B1 (ko) * 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
US20130188718A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Motion prediction in svc without including a temporally neighboring block motion vector in a candidate list
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
CN110169067B (zh) * 2016-12-16 2021-12-31 夏普株式会社 图像解码装置以及图像编码装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996921A (zh) * 2006-12-31 2007-07-11 华为技术有限公司 建立业务连接的方法、路由设备、业务网络
CN103650503A (zh) * 2011-06-21 2014-03-19 英迪股份有限公司 基于四叉树编码和解码自适应量化参数的方法及装置
CN105357539A (zh) * 2013-01-04 2016-02-24 三星电子株式会社 视频解码方法和视频解码设备
CN107005718A (zh) * 2014-12-10 2017-08-01 联发科技(新加坡)私人有限公司 使用二叉树块分区的视频编码的方法
CN104853220A (zh) * 2015-05-18 2015-08-19 武汉随锐亿山科技有限公司 一种hevc编码四叉树的递推译码方法
WO2017157249A1 (en) * 2016-03-16 2017-09-21 Mediatek Inc. Method and apparatus of video data processing with restricted block size in video coding

Also Published As

Publication number Publication date
EP3761646A1 (en) 2021-01-06
CN110278443A (zh) 2019-09-24
EP3761646A4 (en) 2021-06-02

Similar Documents

Publication Publication Date Title
US20210029381A1 (en) Method and apparatus for obtaining global matched patch
CN109151468B (zh) 一种图像数据的编码、解码方法及装置
US10154284B2 (en) Method and apparatus for processing intra prediction mode
JP5792382B2 (ja) ビデオコーディングにおける最後の有意変換係数のスキャン順序での位置の導出
CN110290388B (zh) 帧内预测方法、视频编码方法、计算机设备及存储装置
CN105100814B (zh) 图像编码、解码方法及装置
CN110278443B (zh) 划分标志位的上下文建模方法及装置
US9756347B2 (en) Screen content coding systems and methods
EP3089453A1 (en) Image coding and decoding methods and devices
BR112014009431B1 (pt) Método para codificar dados de vídeo, aparelho para codificar vídeo e memória legível por computador
WO2018219020A1 (zh) 一种视频图像的编解码方法及装置
WO2023039859A1 (zh) 视频编解码方法、设备、***、及存储介质
US11483561B2 (en) Transform method in picture block encoding, inverse transform method in picture block decoding, and apparatus
US11032552B2 (en) Video encoding method, video encoding apparatus, electronic device, and storage medium
US11323746B2 (en) Context modeling method and apparatus of split flag
CN111654696B (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
CN115917611B (zh) 使用参考区域的视频编解码的方法和***
WO2020135371A1 (zh) 一种标志位的上下文建模方法及装置
CN113259663B (zh) 一种图像块划分方法及装置
CN104581186B (zh) 一种图像压缩中对帧内移动矢量进行编码和解码的方法
CN114554195B (zh) 图像处理方法、设备及存储介质
US20240037799A1 (en) Point cloud coding/decoding method and apparatus, device and storage medium
KR20230173695A (ko) 엔트로피 인코딩, 디코딩 방법 및 장치
WO2020119742A1 (zh) 块划分方法、视频编解码方法、视频编解码器
CN114554195A (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