CN111669589B - 图像编码方法、装置、计算机设备以及存储介质 - Google Patents

图像编码方法、装置、计算机设备以及存储介质 Download PDF

Info

Publication number
CN111669589B
CN111669589B CN202010581742.3A CN202010581742A CN111669589B CN 111669589 B CN111669589 B CN 111669589B CN 202010581742 A CN202010581742 A CN 202010581742A CN 111669589 B CN111669589 B CN 111669589B
Authority
CN
China
Prior art keywords
image block
coding
compensation
original image
image
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
CN202010581742.3A
Other languages
English (en)
Other versions
CN111669589A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010581742.3A priority Critical patent/CN111669589B/zh
Publication of CN111669589A publication Critical patent/CN111669589A/zh
Application granted granted Critical
Publication of CN111669589B publication Critical patent/CN111669589B/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/124Quantisation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

本申请实施例公开了一种图像编码方法、装置、计算机设备以及存储介质,图像编码方法可以应用于数据传输领域,图像编码方法包括:获取视频帧图像,视频帧图像包含待编码的原始图像块,根据视频帧图像的复杂度获取视频帧图像的帧类型,若视频帧图像的帧类型为目标帧类型,则获取原始图像块的复杂度,根据原始图像块的复杂度确定原始图像块的编码策略,按照编码策略对原始图像块进行图像编码处理,得到原始图像块的编码码流,输出编码码流。采用本申请,可以提高编码的灵活性,以及降低编码耗时。

Description

图像编码方法、装置、计算机设备以及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种图像编码方法、装置、计算机设备以及存储介质。
背景技术
在数字视频应用产业链的快速发展中,面对视频应用不断向高清晰度、高帧率、高压缩率方向发展的趋势,上一代视频压缩标准协议H.264/AVC的局限性不断突显。因此,由国际电信组织(ITU)和运动图像专家组(MPEG)联合成立的组织JCTVC提出了下一代视频编解码标准——H.265/HEVC。其目标是在相同的图像质量前提下,提高压缩效率。
无论是H.265标准还是HEVC标准,编码原则都是块级编码,即首先将视频帧划分为多个互不重叠图像块,对每个图像块采用相同的编码方式进行编码,以得到每个图像块的码流。
可见,现有技术中对视频中的每一帧,每一块都采用相同的编码方式,会降低编码方式的灵活性,造成编码速度低下。
发明内容
本申请实施例提供一种图像编码方法、装置、计算设备以及存储介质,可以提高编码的灵活性,以及降低编码耗时。
本申请实施例一方面提供了一种图像编码方法,包括:
获取视频帧图像,所述视频帧图像包含待编码的原始图像块;
根据所述视频帧图像的复杂度获取所述视频帧图像的帧类型;
若所述视频帧图像的帧类型为目标帧类型,则获取所述原始图像块的复杂度;
根据所述原始图像块的复杂度确定所述原始图像块的编码策略;
按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流,输出所述编码码流。
其中,所述原始图像块的复杂度包括所述原始图像块的尺寸以及所述原始图像块的预测模式,预测模式包括帧内预测模式或帧间预测模式;
所述根据所述原始图像块的复杂度确定所述原始图像块的编码策略,包括:
若所述原始图像块的尺寸等于尺寸阈值,且所述原始图像块的预测模式为所述帧间预测模式,则将第一编码策略作为所述原始图像块的编码策略;
若所述原始图像块的尺寸不等于尺寸阈值,或所述原始图像块的预测模式为所述帧内预测模式,则将第二编码策略作为所述原始图像块的编码策略;所述第一编码策略和所述第二编码策略互不相同。
其中,所述编码策略包括所述第一编码策略;
所述按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流,包括:
按照所述第一编码策略将所述原始图像块编码重建为重建图像块;所述重建图像块包括第一颜色编码分量和第二颜色编码分量;
根据所述原始图像块对所述第一颜色编码分量进行补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价;
若所述图像补偿代价满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数;
根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流。
其中,所述按照所述第一编码策略将所述原始图像块编码重建为重建图像块,包括:
按照所述第一编码策略对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
对所述残差系数进行反变换处理处理以及反量化处理处理,得到重建残差;
将所述重建残差叠加于所述预测图像块,得到所述重建图像块。
其中,所述根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流,包括:
将所述第一补偿参数、所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,判断所述图像补偿代价是否满足失真代价条件的方式,包括:
获取第一参照代价和第二参照代价,若所述图像补偿代价小于所述第一参照代价且不小于所述第二参照代价,则确定所述图像补偿代价满足所述失真代价条件。
其中,若所述图像补偿代价小于所述第一参照代价且小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述方法还包括:
若所述图像补偿代价不满足失真代价条件,则将所述第一补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价不小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述方法还包括:
若所述图像补偿代价不满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数,将所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述方法还包括:
若所述图像补偿代价不满足失真代价条件,则将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,所述第一颜色编码分量包括所述重建图像块的多个重建像素的第一颜色单位分量;
所述根据所述原始图像块,对所述第一颜色编码分量进行图像补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价,包括:
根据每个重建像素的第一颜色单位分量将所述多个重建像素划分为多个重建像素集合序列;
从所述原始图像块中,获取重建像素集合序列对应的原始像素集合序列;所述原始像素集合序列中的原始像素包括与所述第一颜色单位分量对应的原始颜色单位分量;
根据所述原始像素集合序列的原始颜色单位分量以及所述重建像素集合序列的第一颜色单位分量确定所述重建像素集合序列的待补偿参数;
按照所述重建像素集合序列的待补偿参数,对所述重建像素集合序列中的重建像素进行补偿处理,得到补偿图像块,根据所述补偿图像块确定原始补偿代价;
在多个原始图像补偿代价中,根据具有最小原始图像补偿代价的重建像素集合序列的待补偿参数确定每个重建像素的第一颜色单位分量的补偿参数;
将每个重建像素的第一颜色单位分量的补偿参数组合为所述第一补偿参数,在所述多个原始图像补偿代价中,将最小原始图像补偿代价作为所述图像补偿代价。
其中,所述编码策略包括第二编码策略;
所述按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流,包括:
按照所述第二编码策略,对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,所述视频帧图像是视频帧序列中的任一视频帧,所述视频帧序列包括关键帧;
所述根据所述视频帧图像的复杂度获取所述视频帧图像的帧类型,包括:
根据所述视频帧图像的复杂度确定所述视频帧图像的图像内容类型;所述图像内容类型包括文件内容类型或对象内容类型;
若所述视频帧图像的图像内容类型为所述文件内容类型,则获取所述视频帧图像的编码类型以及所述视频帧图像的生成时间戳;所述编码类型包括帧内独立编码类型或帧间协助编码类型;
若所述视频帧图像的编码类型为所述帧内独立编码类型,或者所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔大于时间阈值,则确定所述视频帧图像的帧类型为所述目标帧类型;所述相邻关键帧是在所述视频帧序列中与所述视频帧图像相邻的关键帧。
其中,还包括:
若所述视频帧图像的编码类型为所述帧间协助编码类型,且所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔不大于时间阈值,则对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的压缩码流,输出所述压缩码流。
本申请实施例一方面提供了一种图像编码装置,包括:
第一获取模块,用于获取视频帧图像,所述视频帧图像包含待编码的原始图像块;
第二获取模块,用于根据所述视频帧图像的复杂度获取所述视频帧图像的帧类型;
所述第一获取模块,还用于若所述视频帧图像的帧类型为目标帧类型,则获取所述原始图像块的复杂度;
策略确定模块,用于根据所述原始图像块的复杂度确定所述原始图像块的编码策略;
编码模块,用于按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流;
所述第一获取模块,还用于输出所述编码码流。
其中,所述原始图像块的复杂度包括所述原始图像块的尺寸以及所述原始图像块的预测模式,预测模式包括帧内预测模式或帧间预测模式;
所述策略确定模块,具体用于若所述原始图像块的尺寸等于尺寸阈值,且所述原始图像块的预测模式为所述帧间预测模式,则将第一编码策略作为所述原始图像块的编码策略;以及若所述原始图像块的尺寸不等于尺寸阈值,或所述原始图像块的预测模式为所述帧内预测模式,则将第二编码策略作为所述原始图像块的编码策略;所述第一编码策略和所述第二编码策略互不相同。
其中,还包括:
模式确定模块,用于按照预测编码代价最小原则,从所述视频帧图像中确定所述原始图像块以及确定所述原始图像块的预测模式。
其中,所述编码策略包括所述第一编码策略;
所述编码模块,包括:
重建单元,用于按照所述第一编码策略将所述原始图像块编码重建为重建图像块;所述重建图像块包括第一颜色编码分量和第二颜色编码分量;
第一补偿单元,用于根据所述原始图像块对所述第一颜色编码分量进行补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价;
第二补偿单元,用于若所述图像补偿代价满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数;
第一生成单元,用于根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流。
其中,所述重建单元,具体用于按照所述第一编码策略对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块,根据所述原始图像块和所述预测图像块,确定原始残差,对所述原始残差进行变换处理以及量化处理,得到残差系数,对所述残差系数进行反变换处理处理以及反量化处理处理,得到重建残差,将所述重建残差叠加于所述预测图像块,得到所述重建图像块。
其中,所述第一生成单元,具体用于将所述第一补偿参数、所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,第二补偿单元,具体用于获取第一参照代价和第二参照代价,若所述图像补偿代价小于所述第一参照代价且不小于所述第二参照代价,则确定所述图像补偿代价满足所述失真代价条件。
其中,若所述图像补偿代价小于所述第一参照代价且小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述编码模块还包括:
第二生成单元,用于若所述图像补偿代价不满足失真代价条件,则将所述第一补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价不小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述编码模块还包括:
第三生成单元,用于若所述图像补偿代价不满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数,将所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述编码模块还包括:
第四生成单元,用于若所述图像补偿代价不满足失真代价条件,则将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,所述第一颜色编码分量包括所述重建图像块的多个重建像素的第一颜色单位分量;
所述第一补偿单元,具体用于根据每个重建像素的第一颜色单位分量将所述多个重建像素划分为多个重建像素集合序列,从所述原始图像块中,获取重建像素集合序列对应的原始像素集合序列;所述原始像素集合序列中的原始像素包括与所述第一颜色单位分量对应的原始颜色单位分量;以及根据所述原始像素集合序列的原始颜色单位分量以及所述重建像素集合序列的第一颜色单位分量确定所述重建像素集合序列的待补偿参数,按照所述重建像素集合序列的待补偿参数,对所述重建像素集合序列中的重建像素进行补偿处理,得到补偿图像块,根据所述补偿图像块确定原始补偿代价,在多个原始图像补偿代价中,根据具有最小原始图像补偿代价的重建像素集合序列的待补偿参数确定每个重建像素的第一颜色单位分量的补偿参数,将每个重建像素的第一颜色单位分量的补偿参数组合为所述第一补偿参数,在所述多个原始图像补偿代价中,将最小原始图像补偿代价作为所述图像补偿代价。
其中,所述编码策略包括第二编码策略;
所述编码模块,包括:
编码单元,用于按照所述第二编码策略,对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块,根据所述原始图像块和所述预测图像块,确定原始残差,对所述原始残差进行变换处理以及量化处理,得到残差系数,将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,所述视频帧图像是视频帧序列中的任一视频帧,所述视频帧序列包括关键帧;
所述第二获取模块,包括:
第一确定单元,用于根据所述视频帧图像的复杂度确定所述视频帧图像的图像内容类型;所述图像内容类型包括文件内容类型或对象内容类型;
获取单元,用于若所述视频帧图像的图像内容类型为所述文件内容类型,则获取所述视频帧图像的编码类型以及所述视频帧图像的生成时间戳;所述编码类型包括帧内独立编码类型或帧间协助编码类型;
所述获取单元,还用于若所述视频帧图像的编码类型为所述帧内独立编码类型,或者所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔大于时间阈值,则确定所述视频帧图像的帧类型为所述目标帧类型;所述相邻关键帧是在所述视频帧序列中与所述视频帧图像相邻的关键帧。
其中,所述第二获取模块还包括:
第二确定单元,用于若所述视频帧图像的编码类型为所述帧间协助编码类型,且所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔不大于时间阈值,则对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块,根据所述原始图像块和所述预测图像块,确定原始残差,对所述原始残差进行变换处理以及量化处理,得到残差系数,将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的压缩码流,输出所述压缩码流。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述各实施例中的方法。
本申请实施例一方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行上述各实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中,计算机指令被计算机设备的处理器执行时,执行上述各实施例中的方法。
本申请从视频帧的帧级分析,以及图像块的块级分析后确定当前图像块的编码策略,再按照该编码策略对图像块进行编码处理,根据不同图像块的情况灵活地确定不同的编码策略,可以优化编码过程;相比粗暴地直接对所有的图像块都采用相同的编码方式,本申请可以提高编码的灵活性,降低编码耗时提高编码速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种HEVC视频编码框架的结构示意图;
图2是本申请实施例提供的一种图像编码的系统架构图;
图3是本申请实施例提供的一种图像编码的场景示意图;
图4是本申请实施例提供的一种图像编码的流程示意图;
图5是本申请实施例提供的一种确定编码码流的示意图;
图6是本申请实施例提供的一种图像编码的流程示意图;
图7是本申请实施例提供的一种图像编码装置的结构示意图;
图8是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
云技术(Cloud technology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。目前,技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
目前,云技术主要分为云基础技术类以及云应用类;云基础技术类可以进一步细分为:云计算、云储存、数据库以及大数据等;云应用类可以进一步细分为:医疗云、云物联、云安全、云呼叫、私有云、公有云、混合云、云游戏、云教育、云会议、云社交以及人工智能云服务等。
本申请的图像编码方法可以涉及云技术下属的云计算和云储存:
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
在本申请中,由于确定原始图像块的复杂度涉及大规模计算,需要巨大的算力和存储空间,因此在本申请中,可以由终端设备通过云计算技术获取足够算力和存储空间,进而执行本申请中所涉及的确定原始图像块的复杂度,以及根据原始图像块的复杂度生成原始图像块的编码码流。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
在本申请中,视频帧图像可以存储在“云”上,当需要确定原始图像块的复杂度,以及根据原始图像块的复杂度确定编码策略时,可以从云存储设备中拉取视频帧图像以及原始图像块,以降低终端设备的存储压力。
从业务角度来说,本申请涉及的图像编码方法可以应用于视频上传,网络会议,在线培训等与视频编码相关的业务场景下;从技术原理角度来说,本申请是在HEVC视频编码标准基础上的技术方案,以提高基于HEVC视频编码标准进行视频编码时的编码灵活性和编码速度。
下面首先对HEVC视频编码标准对应的HEVC视频编码框架的工作原理进行说明:
请参见图1,其是本申请实施例提供的一种HEVC视频编码框架的结构示意图。首先输入待编码的视频帧图像,将视频帧图像划分为互不重叠的多个图像块。对1个图像块(称为原始图像块)来说,可以采用帧内编码(或者帧间编码)对原始图像块进行编码,得到编码数据。对该编码数据进行帧内预测(或者帧间预测),以得到预测图像块。预测图像块是利用视频的空间相关性和时间相关性去除了原始图像块中的时空域冗余信息所生成的图像块。根据原始图像块减去预测图像块,得到预测残差块,再对预测残差进行离散余弦变换(Discrete Cosine Transform,DCT)和量化,获得量化的DCT系数。将DCT系数进行反变换和反量化,以得到重建残差块。将重建残差块与预测图像块叠加为重建图像块,根据原始图像块对重建图像块进行样点自适应补偿(Sample Adaptive Offset,SAO),以确定重建图像块中各像素的补偿值。将确定的补偿值、DCT系数以及编码数据进行熵编码,即可得到原始图像块的码流。至此对视频帧图像的1个图像块就编码完成,可以采用相同的方式,对视频帧图像的其余图像块也进行编码,得到与之对应的码流。
总的来说,HEVC视频编码标准的编码方式是:对每个图像块都首先进行块级编码,然后进行自适应补偿,最后将块级编码结果以及自适应补偿结果再编码为码流,换句话说每个图像块的编码流程都相同。
请参见图2,是本申请实施例提供的一种图像编码的系统架构图。本申请涉及服务器10d以及终端设备集群,终端设备集群可以包括:终端设备10a、终端设备10b、...、终端设备10c等。
服务器10d获取包含原始图像块的视频帧图像,根据视频帧图像的复杂度确定视频帧图像的帧类型,若视频帧图像的帧类型为预设的目标帧类型,获取原始图像块的复杂度,根据原始图像块的复杂度确定编码策略,按照该编码策略对原始图像块进行图像编码处理,得到原始图像块的编码码流。
服务器10d可以采用相同方式确定视频帧图像的其他图像块的编码码流,以得到视频帧图像的所有图像块的编码码流。当服务器10d接收到终端设备集群中的任意终端设备对视频帧图像的获取请求时,可以将视频帧图像的编码码流发送至终端设备。终端设备将编码码流解码后,可得到视频帧图像。当然,将视频帧图像中的原始图像块编码为编码码流也可以由终端设备集群中的任一终端设备来执行。
图2所示的服务器10d可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
图2所示的终端设备10a、终端设备10b、终端设备10c等可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备等具有图像编码功能的智能设备。终端设备集群与服务器10d可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
请参见图3,其是本申请实施例提供的一种图像编码的场景示意图。终端设备获取视频帧序列中当前待压缩的视频帧20a。检测视频帧20a的复杂度,根据该复杂度确定视频帧20a的内容场景是否为屏幕场景,若视频帧20a的内容场景不是屏幕场景,可以确定视频帧20a是非屏幕场景下的视频帧。若视频帧20a的内容场景是屏幕场景,终端设备进一步检测视频帧20a是否是视频帧序列中的关键帧,若视频帧20是视频帧序列中的关键帧,则可以确定视频帧20a是屏幕场景下的关键帧,若视频帧20不是视频帧序列中的关键帧,则可以确定视频帧20a是屏幕场景下的非关键帧。
若视频帧20a是非屏幕场景下的视频帧,则终端设备按照预测编码代价最小原则从视频帧中确定图像块20b。调用预测编码模块对图像块20b进行预测编码处理,得到预测编码数据。对预测编码数据进行反编码处理,得到图像块20b的预测图像块,将预测图像块减去图像块20b得到原始残差,对原始残差进行变换处理以及量化处理,得到残差系数。将残差系数进行反变换处理以及反量化处理,得到重建残差,将重建残差叠加于预测图像块,得到重建图像块。根据重建图像块、图像块20b以及样点自适应补偿算法,确定重建图像块的Y分量上的补偿参数,以及UV分量上的补偿参数。将前述中的预测编码数据、残差系数(预测编码数据以及残差系数可以对应图3中的编码向量20c)、Y分量上的补偿参数,以及UV分量上的补偿参数(Y分量上的补偿参数,以及UV分量上的补偿参数可以对应图3中的补偿参数20d)进行熵编码,得到图像块20b的编码码流20e。
若视频帧20a是屏幕场景下的非关键帧,则终端设备按照预测编码代价最小原则从视频帧中确定图像块20b。调用预测编码模块对图像块20b进行预测编码处理,得到预测编码数据,对预测编码数据进行反编码处理,得到图像块20b的预测图像块,将预测图像块减去图像块20b得到原始残差,对原始残差进行变换处理以及量化处理,得到残差系数。将前述中的预测编码数据以残差系数(预测编码数据以及残差系数可以对应图3中的编码向量20c)进行熵编码,得到图像块20b的编码码流20e。
从前述可知,若视频帧20a是非屏幕场景下的视频帧,那么对图像块20b进行块级编码后再进行样点自适应补偿即可得到编码码流;若视频帧20a是屏幕场景下的非关键帧,那么对图像块20b进行块级编码后即可得到编码码流。这是因为,在非屏幕场景下,视频帧的内容较为丰富,因此需要对每一帧每一块都进行样点自适应补偿,以保证编码质量;反之,在非屏幕场景下,若视频帧是非关键帧,就不需要进行样点自适应补偿,以提高编码速度。
若视频帧20a是屏幕场景下的关键帧,则终端设备按照预测编码代价最小原则从视频帧中确定图像块20b以及确定图像块20b的预测模式,预测模式包括帧间预测模式或者帧内预测模式。
若图像块20b的尺寸不等于64×64,或图像块20b的预测模式为帧内预测模式,调用预测编码模块对图像块20b进行预测编码处理,得到预测编码数据,对预测编码数据进行反编码处理,得到图像块20b的预测图像块,将预测图像块减去图像块20b得到原始残差,对原始残差进行变换处理以及量化处理,得到残差系数。将前述中的预测编码数据以及残差系数(预测编码数据以及残差系数可以对应图3中的编码向量20c)进行熵编码,得到图像块20b的编码码流20e。也就是说,在屏幕场景下,若视频帧较是关键帧但图像块不是关键块,也不需要进行样点自适应补偿,以提高编码速度。
若图像块20b的尺寸等于64×64,且图像块20b的预测模式为帧间预测模式,调用预测编码模块对图像块20b进行预测编码处理,得到预测编码数据,对预测编码数据进行反编码处理,得到图像块20b的预测图像块,将预测图像块减去图像块20b得到原始残差,对原始残差进行变换处理以及量化处理,得到残差系数。将残差系数进行反变换处理以及反量化处理,得到重建残差,将重建残差叠加于预测图像块,得到重建图像块。根据重建图像块、图像块20b以及样点自适应补偿算法,确定重建图像块的Y分量上的补偿参数以及该补偿参数的补偿代价。
若上述补偿代价小于第一代价阈值且不小于第二代价阈值,则根据重建图像块、图像块20b,以及样点自适应补偿算法确定重建图像块的UV分量上的补偿参数。将前述中的预测编码数据、残差系数(预测编码数据以及残差系数可以对应图3中的编码向量20c)、Y分量上的补偿参数,以及UV分量上的补偿参数(Y分量上的补偿参数,以及UV分量上的补偿参数可以对应图3中的补偿参数20d)进行熵编码,得到图像块20b的编码码流20e。也就是说,在屏幕场景下,若视频帧较是关键帧且图像块是关键块,且根据Y分量上的补偿代价确定还需要进一步对UV分量也进行补偿,以保证编码质量。
若补偿代价小于第一代价阈值且小于第二代价阈值,则将前述中的预测编码数据、残差系数(预测编码数据以及残差系数可以对应图3中的编码向量20c)、Y分量上的补偿参数(Y分量上的补偿参数可以对应图3中的补偿参数20d)进行熵编码,得到图像块20b的编码码流20e。也就是说,在屏幕场景下,若视频帧较是关键帧且图像块是关键块,且根据Y分量上的补偿代价确定不需要对UV分量进行补偿,以兼顾编码质量和编码速度。
其中,获取视频帧图像(如上述实施例中的视频帧20a),获取原始图像块(如上述实施例中的图像块20b),以及生成编码码流(如上述实施例中的编码码流20e)的具体过程可以参见下述图4-图6对应的实施例。
请参见图4,是本申请实施例提供的一种图像编码的流程示意图,下述实施例以终端设备为执行主体描述如何编码,图像编码方法可以包括如下步骤:
步骤S101,获取视频帧图像,所述视频帧图像包含待编码的原始图像块。
具体的,视频是由多张视频帧组成,这多张视频帧也可以称为视频帧序列。由于视频帧序列之间存在大量的时空域冗余信息,因此在存储以及传输视频过程中可以对先对视频进行压缩,以降低视频所占用的存储空间。下面以视频帧序列中的一个视频帧为例,说明编码压缩过程:
终端设备从视频帧序列中获取用于当前编码的一个视频帧(称为视频帧图像,如上述图3对应实施例中的视频帧20a)。终端设备按照预测编码代价最小原则,从视频帧图像中确定原始图像块,以及确定原始图像块的预测模式。
原始图像块的预测模式可以包括帧内预测或帧间预测。帧内预测模式是指在编码过程中当前帧利用帧内邻近已重构图像块作为参考来预测当前块的像素,目的是去除视频信号的空域冗余,保证视频压缩的效率;帧间预测模式是指当前图像中待编码块根据邻近视频帧中来预测当前块的像素,目的是去除视频信号的时间冗余。
终端设备确定原始图像块以及预测模式的过程如下:
终端设备预设多个预定尺寸,按照每个预定尺寸从视频帧图像中抽取出图像块(称为辅助图像块,一个预定尺寸可以抽取出一个图像块),按照帧内预测模式对辅助图像块进行预测编码处理,得到辅助编码数据,对辅助编码数据进行反编码处理,得到辅助预测图像块。根据辅助图像块和辅助预测图像块确定图像失真度,根据辅助编码数据确定编码码率。将前述编码码率加上图像失真度即是辅助图像块在一个预定尺寸,且帧内预测模式下的预测编码代价。按照相似的处理流程,确定该辅助图像块在帧间预测模式下的预测编码代价,以及确定其余预定尺寸的图像块在帧内预测模式(或者帧间预测模式)下的预测编码代价。
可以知道,预测编码代价是指对图像块进行预测编码的率失真代价(RDCost,Rate-Distortion Cost),率失真代价是视频编码中衡量码率与失真的方法。
从多个预测编码代价中选择最小预测编码代价对应的预定尺寸和预测模式,按照选择出来的预定尺寸从视频帧图像中抽取图像块(称为原始图像块,如上述图3对应实施例中的图像块20b),将最小预测编码代价对应的预测模式作为原始图像块的预测模式。可以知道,原始图像即是前述中多个辅助图像块中的一个辅助图像块。
从前述可知,预测编码代价最小原则即是根据多个预定尺寸以及多种预测模式尝试确定多个预测编码代价,从多个预测编码代价中选择最小的预测编码代价,将最小的预测编码代价对应的预定尺寸以及预测模式作为尺寸结果和预测模式结果。后续就按照该尺寸结果抽取原始图像块以及按照该预测模式结果对原始图像块进行块级编码。
步骤S102,根据所述视频帧图像的复杂度获取所述视频帧图像的帧类型。
具体的,终端设备计算视频帧图像的时空域复杂度,其中,时空域复杂度可以指对视频帧图像的最小率失真代价,可以指视频帧图像的空间信息(SI,SpatialInformation),可以指视频帧图像的时间信息(TI,Temporal Information)等。空间信息(SI)表征一帧图像的空间细节量;空间上越复杂的场景,SI值越高。时间信息(TI)表征视频帧序列的时间变化量,运动程度较高的序列通常会有更高的TI值。视频帧图像的最小率失真代价是指视频帧图像的多个图像块的最小预测编码代价之和。
终端设备获取预设的复杂度阈值,若视频帧图像的复杂度小于复杂度阈值,则终端设备可以确定视频帧图像的图像内容类型属于文件内容类型;反之,若视频帧图像的复杂度不小于复杂度阈值,则终端设备可以确定视频帧图像的图像内容类型属于对象内容类型。其中,文件内容类型是指视频帧图像中的内容是文件内容(例如,ppt文件内容,文档文件内容等),对象内容类型是指视频帧图像中的内容是人物对象。
例如,在共享屏幕场景下所录屏的界面视频流中的任意视频帧的图像内容类型即是文件内容类型;在直播过程中,主播对象视频流中的任意视频帧的图像内容类型即是对象内容类型。
通俗来说,属于文件内容类型的视频帧图像可以是在屏幕内容场景下生成的视频帧,属于对象内容类型的视频帧图像可以是在摄像头场景下生成的视频帧。
若视频帧图像的图像内容类型属于文件内容类型,则终端设备进一步获取视频帧图像的编码类型和视频帧图像的生成时间戳,其中,编码类型可以包括帧内独立编码类型或帧间协助编码类型。
若视频帧图像的编码类型属于帧内独立编码类型,或者视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔大于预设的时间阈值,则确定视频帧图像的帧类型为目标帧类型,目标帧类型可以具体是屏幕关键帧类型;相邻关键帧是指在视频帧序列中与视频帧图像相邻的关键帧,即相邻关键帧是在视频帧序列中距离视频帧图像最近的关键帧。
举例来说,视频帧序列包括10张视频帧,当前视频帧图像是第7张视频帧,若第1张视频帧和第5张视频帧是视频帧序列中的关键帧,那么可以通过判断视频帧图像的生成时间戳和第5张视频帧的生成时间戳之间的时间间隔是否大于时间阈值,进而来确定当前的视频帧的帧类型是否为目标帧类型。
若视频帧图像帧类型为目标帧类型,终端设备还可以将视频帧图像也作为视频帧序列的新的关键帧,新的关键帧可以用于判断后续视频帧的帧类型是否为目标帧类型。
其中,若视频帧图像是IDR(Instantaneous Decoding Refresh,即时解码刷新)帧,那么说明该视频帧图像的编码类型属于帧内独立编码类型;反之,若视频帧图像不是IDR帧(例如,视频帧图像是P帧,或者B帧),那么说明该视频帧图像的编码类型属于帧间协助编码类型。对于IDR帧来说,在IDR帧之后的所有帧都不能引用任何IDR帧之前的帧的内容。
对于判断视频帧图像是否为IDR帧的方式如下:
终端设备将视频帧序列划分为多个子序列,对每一个子序列来说,将子序列的第一个视频帧作为IDR帧,将剩余的视频帧作为P帧,或者B帧。也就是说,每一个子序列只包含一个IDR帧。
可选的,若视频帧图像的编码类型属于帧间协助编码类型,且视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔不大于预设的时间阈值,则说明视频帧图像的帧类型不是目标帧类型。在这种情况下终端设备按照前述确定的预测模式对原始图像块进行预测编码处理,以得到预测编码数据,对预测编码数据进行反编码处理,以得到预测图像块。将原始图像块减去预测预测图像块,得到原始残差,对原始残差进行变换处理以及量化处理,得到残差系数,将预测编码数据以及残差系数进行熵编码,得到原始图像块的压缩码流,输出该压缩码流(如上述图3对应实施例中的压缩码流20e)。也即是,只对原始图像块进行块级编码,不进行样点自适应补偿。
可选的,若视频帧图像的图像内容类型属于对象内容类型,则说明视频帧图像的帧类型不是目标帧类型。在这种情况下终端设备同样按照前述确定的预测模式对原始图像块进行预测编码处理,得到预测图像块以及残差系数。对残差系数进行反变换处理以反量化处理,得到重建残差,将重建残差叠加于预测图像块,得到重建图像块。重建图像块包括第一颜色编码分量和第二颜色编码分量。其中第一颜色编码分量可以具体是图像块的Y分量(明亮度,Luminance或Luma),第二颜色编码分量可以具体是图像块的UV分量(色度,Chrominance或Chroma)。第一颜色编码分量还可以具体是图像块的R分量(红,Red),第二颜色编码分量还可以具体是图像块的GB分量(绿蓝,Green Blue)。
终端设备可以基于样点自适应补偿算法以及原始图像块,确定重建图像块的第一颜色编码分量上的补偿参数(称为第一补偿参数)和重建图像块的第二颜色编码分量上的补偿参数(称为第二补偿参数)。将预测编码数据、残差系数、第一补偿参数以及第二补偿参数进行熵编码,得到原始图像块的辅助码流,输出该辅助码流(如上述图3对应实施例中的压缩码流20e)。也即是,不仅需要对原始图像块进行块级编码,且要对原始图像块的Y和UV分量都进行样点自适应补偿。
总结上述过程,若视频帧图像的帧类型是目标帧类型继续执行下述步骤S103;
若视频帧图像的帧类型不是目标帧类型,又要细分为若视频帧图像的图像内容类型是对象内容类型,直接对原始图像块进行块级编码,将块级编码结果编码为原始图像块的码流,不需要调用样点自适应补偿算法进行图像补偿处理;
若视频帧图像的编码类型是帧间协助编码类型,不仅需要对原始图像块进行块级编码,还需要对原始图像块进行图像补偿,将块级编码结果和图像补偿结果编码为原始图像块的码流。
步骤S103,若所述视频帧图像的帧类型为目标帧类型,则获取所述原始图像块的复杂度。
具体的,终端设备获取原始图像块的尺寸,以及获取原始图像块的预测模式,将原始图像块的尺寸,以及原始图像块的预测模式组合为原始图像块的复杂度。
步骤S104,根据所述原始图像块的复杂度确定所述原始图像块的编码策略。
具体的,若原始图像块的尺寸等于尺寸阈值(尺寸阈值可以具体为64×64),且原始图像块的预测模式是帧间预测模式,终端设备可以获取第一编码策略,将该第一编码策略作为原始图像块的编码策略。或者,若原始图像块的尺寸等于尺寸阈值,且原始图像块的预测模式是帧间预测模式中的skip模式,终端设备可以获取第一编码策略,将该第一编码策略作为原始图像块的编码策略。
若原始图像块的尺寸不等于尺寸阈值,或者原始图像块的预测模式是帧内预测模式,终端设备可以获取第二编码策略,将该第二编码策略作为原始图像块的编码策略。
其中,第一编码策略是对原始图像块进行块级编码,以及对原始图像块进行图像补偿,将块级编码结果和图像补偿结果编码为原始图像块的编码码流;
第二编码策略是只对原始图像块进行块级编码,将块级编码结果编码为原始图像块的编码码流。可以知道,第一编码策略和第二编码策略不同。
步骤S105,按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流,输出所述编码码流。
具体的,终端设备按照第一编码策略或者第二编码策略,对原始图像块进行编码处理,得到原始图像块对应的编码码流(如上述图3对应实施例中的压缩码流20e),输出该编码码流。
可以按照相同的方式,分不同编码策略对视频帧图像中的其他图像块进行编码处理,得到其他图像块的编码码流。终端设备可以将所有图像块的编码码流组合为视频帧图像的编码码流。
上述可知,对不同的视频帧,不同的图像块本申请采用不同的策略进行编码处理,可以提高编码的灵活性;再有,对属于帧间协助编码类型的视频帧,不需要进行自适应补偿处理,可以提高编码速度;对图像内容为文件内容的视频帧图像,直接进行块级编码和图像补偿,而图像补偿可以去除编码过程中的振铃效应,在一定程度上提升了编码质量。
请参见图5,是本申请实施例提供的一种确定编码码流的示意图,确定编码码流包括如下步骤S202-步骤S204,且步骤S202-步骤S204也是上述图3对应实施例中的步骤S105的具体实施例:
步骤S201,按照所述第一编码策略将所述原始图像块编码重建为重建图像块;所述重建图像块包括第一颜色编码分量和第二颜色编码分量;
具体的,若原始图像块的编码策略是第一编码策略,则终端设备按照第一编码策略以及原始图像块的预测模式对原始图像块进行预测编码处理,得到预测编码数据,对预测编码数据进行反编码处理,以得到预测图像块。将原始图像块减去预测预测图像块,得到原始残差,对原始残差进行变换处理以及量化处理,得到残差系数。对残差系数进行反变换处理以反量化处理,得到重建残差,将重建残差叠加于预测图像块,得到重建图像块。重建图像块包括第一颜色编码分量和第二颜色编码分量。
其中第一颜色编码分量可以具体是图像块的Y分量,第二颜色编码分量可以具体是图像块的UV分量,且此时第一颜色编码分量可以是由重建图像块的多个像素的Y分量组合而成,第二颜色编码分量可以是由重建图像块的多个像素的UV分量组合而成。
步骤S202,根据所述原始图像块对所述第一颜色编码分量进行补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价。
具体的,终端设备根据原始图像块以及样点自适应补偿算法对重建图像块的第一颜色编码分量进行补偿处理,以得到重建图像块的第一颜色编码分量的第一补偿参数,以及第一补偿参数的图像补偿代价,在确定第一补偿参数和图像补偿代价的过程中同样可以基于补偿编码代价最小原则。图像编码补偿代价可以具体是样点自适应补偿的率失真代价,那么图像补偿代价即是图像Y分量补偿的最优率失真代价。从前述可知,第一颜色编码分量是由重建图像块的多个像素的Y分量组合而成,第一补偿参数也是由重建图像块的多个像素的Y分量的补偿参数组合而成。
可以具体采集样点自适应补偿算法对第一颜色编码分量进行补偿处理,下面对第一颜色编码分量的补偿过程进行详细地说明:
第一颜色编码分量包括重建图像块的多个像素(称为重建像素)的第一颜色单位分量。
若采用的是样点自适应补偿算法中的边界补偿(BO,Bound Offset)策略,终端设备获取多个补偿模式,多个补偿模式可以包括水平补偿模式、垂直补偿模式、左上补偿模式、右上补偿模式。在每一种补偿模式下,都可以根据每个重建像素的第一颜色单位分量与周围重建像素(周围重建像素根据补偿模式可以是水平相邻的重建像素,垂直相邻的重建像素,左上相邻的重建像素或者右上相邻的重建像素等)的第一颜色单位分量之间的大小关系,确定每个重建像素的边界类型。根据边界类型,将多个重建像素划分为一个重建像素集合序列,一个重建像素集合序列包含多个重建像素集合,且属于同一个重建像素集合的重建像素属于同一个边界类型。终端设备可以根据N个补偿模式确定N个重建像素集合序列。
若采用的是样点自适应补偿算法中的边带补偿(EO,Edge Offset)策略,终端设备根据每个重建像素的第一颜色单位分量,将多个重建像素划分为多个重建像素集合,同一个像素集合中的重建像素的第一颜色单位分量处于同一个区间内。终端设备可以将多个连续的重建像素集合组合为一个重建像素集合序列,这样就可以得到N个重建像素集合序列。
对1个重建像素集合序列来说,从原始图像块中获取重建像素集合序列对应的原始像素集合序列,原始像素集合序列包括多个原始像素集合,每个重建像素集合和原始像素集合具有一一对应关系,每个重建像素集合中的重建像素和原始像素集合中的原始像素具有一一对应关系,且每个原始像素包括与第一颜色单位分量对应的原始颜色单位分量,即每个原始像素也包括Y分量。根据原始像素集合中的原始像素的原始颜色单位分量,确定每个重建像素集合的1个单位补偿参数,将多个重建像素集合的单位补偿参数组合为待补偿参数。根据每个重建像素集合的单位补偿参数,调整对应重建像素的像素值,得到补偿图像块。根据补偿图像块和原始图像块确定失真度,根据每个重建像素的单位补偿参数确定码率,将失真度加上码率即是补偿图像块的原始补偿代价。
按照相同方式,可以确定每个重建像素集合序列的补偿图像块,以及确定每个补偿图像块的原始补偿代价。
终端设备将最小的原始补偿代价对应的多个单位补偿参数作为目标单位补偿参数。对1个目标单位补偿参数来说,将目标单位补偿参数作为该目标单位补偿参数对应的重建像素集合中的所有重建像素的第一颜色单位分量的补偿参数,按照这种方式可以确定每个重建像素的第一颜色单位分量的补偿参数。将重建像素的第一颜色单位分量的补偿参数组合为第一颜色编码分量的第一补偿参数。终端设备可以从多个原始补偿代价中,选择最小的原始补偿代价,作为第一补偿参数的图像补偿代价。
举例来说,重建图像块包括6个像素,重建像素1的Y分量等于1,重建像素2的Y分量等于2,重建像素3的Y分量等于3,重建像素4的Y分量等于1,重建像素5的Y分量等于5,重建像素6的Y分量等于6。若采用边界补偿(BO)策略,假设确定了2个重建像素集合序列,重建像素集合序列1包括:重建像素集合1和重建像素集合2,重建像素集合1包括重建像素1、重建像素2和重建像素3;重建像素集合2包括重建像素4、重建像素5和重建像素6。重建像素集合序列2包括:重建像素集合3和重建像素集合4,重建像素集合3包括重建像素1、重建像素2和重建像素6;重建像素集合4包括重建像素4、重建像素5和重建像素3。
与重建像素集合序列1对应的原始像素集合序列1也会包括1个原始像素集合,且原始像素集合1包括原始像素1、原始像素2和原始像素3;原始像素集合2包括原始像素4、原始像素5和原始像素6。
与重建像素集合序列2对应的原始像素集合序列2包括:原始像素集合3和原始像素集合4,原始像素集合3包括原始像素1、原始像素2和原始像素6;原始像素集合4包括原始像素4、原始像素5和原始像素3。
若原始像素1的Y分量等于6,原始像素2的Y分量等于5,原始像素3的Y分量等于4,原始像素4的Y分量等于3,原始像素5的Y分量等于2,原始像素6的Y分量等于1。
对重建像素集合序列1中的重建像素集合1来说,单位补偿参数=(6+5+4)/3-(1+2+3)/3=3;对重建像素集合序列1中的重建像素集合2来说,单位补偿参数=(1+2+3)/3-(6+5+4)/3=-3,对重建像素1、重建像素2和重建像素3的Y分量分别补偿3,对重建像素4、重建像素5和重建像素6的Y分量分别补偿-3,得到补偿图像块,进而确定补偿图像块的原始补偿代价1。
对重建像素集合序列2中的重建像素集合3来说,单位补偿参数=(6+5+1)/3-(1+2+6)/3=1;对重建像素集合序列2中的重建像素集合4来说,单位补偿参数=(2+3+4)/3-(3+4+5)=-1,对重建像素1、重建像素2和重建像素6的Y分量分别补偿1,对重建像素3、重建像素4和重建像素5的Y分量分别补偿-1,得到补偿图像块,以及确定补偿图像块的原始补偿代价2。
若补偿代价1小于补偿代价2,则将补偿代价1作为原本图像块的图像补偿代价,以及确定重建像素1、重建像素2和重建像素3的Y分量的补偿参数为3,重建像素4、重建像素5和重建像素6的Y分量的补偿参数为-3;
若补偿代价1不小于补偿代价2,则将补偿代价2作为原本图像块的图像补偿代价,以及确定重建像素1、重建像素2和重建像素6的Y分量的补偿参数为1,重建像素3、重建像素4和重建像素5的Y分量的补偿参数为-1。
步骤S203,若所述图像补偿代价满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数。
若图像补偿代价小于预设的第一参照代价且不小于预设的第二参照代价,则确定图像补偿代价满足失真代价条件,进而终端设备可以根据原始图像块对重建图像块的第二颜色编码分量进行补偿处理,以得到重建图像块的第二颜色编码分量的第二补偿参数。
在确定第二补偿参数的过程中同样可以基于补偿编码代价最小原则,确定第二补偿参数的具体过程和上述确定第一补偿参数的过程类似,只需要将处理对象由第一颜色编码分量调整为第二颜色编码分量即可。
步骤S204,根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流。
终端设备将第一补偿参数、第二补偿参数以及前述中的预测编码数据和残差系数进行熵编码,得到原始图像块的编码码流。
可选的,若图像补偿代价小于第一参照代价且小于第二参照代价,则确定图像补偿代价不满足失真代价条件,此时终端设备直接将第一补偿参数以及前述中的预测编码数据和残差系数进行熵编码,得到原始图像块的编码码流。
可选的,若图像补偿代价不小于第一参照代价,且第一参照代价不小于第二参照代价,则确定图像补偿代价不满足失真代价条件,此时终端设备可以根据原始图像块对重建图像块的第二颜色编码分量进行补偿处理,以得到重建图像块的第二颜色编码分量的第二补偿参数。将第二补偿参数以及前述中的预测编码数据和残差系数进行熵编码,得到原始图像块的编码码流。值得注意的是,虽然确定了第一补偿参数,但生成编码码流的过程第一补偿参数并未参与。
可选的,若图像补偿代价不小于第一参照代价,且第一参照代价小于第二参照代价,则确定图像补偿代价不满足失真代价条件,此时终端设备可以直接将前述中的预测编码数据和残差系数进行熵编码,得到原始图像块的编码码流。值得注意的是,虽然确定了第一补偿参数,但生成编码码流的过程第一补偿参数也并未参与。
总的来说,图像补偿代价满足失真代价条件时,第一补偿参数和第二补偿参数都要参与熵编码,以得到原始图像块的编码码流;图像补偿代价不满足失真代价条件时,又要细分为3种情况,这3种情况分别是:①仅有第一补偿参数参与熵编码,以得到原始图像块的编码码流;②仅有第二补偿参数参与熵编码,以得到原始图像块的编码码流;③第一补偿参数和第二补偿参数都不参与熵编码。
可选的,若原始图像块的编码策略是第二编码策略,则终端设备按照第二编码策略以及原始图像块的预测模式对原始图像块进行预测编码处理,得到预测编码数据,对预测编码数据进行反编码处理,以得到预测图像块。将原始图像块减去预测预测图像块,得到原始残差,对原始残差进行变换处理以及量化处理,得到残差系数。终端设备将前述中的预测编码数据和残差系数进行熵编码,得到原始图像块的编码码流,即对原始图像块进行块级编码后,根据块级编码结果即可生成原始图像块的编码码流。
上述可知,在帧级对当前帧的重要性进行判断,将帧进行分组,调整帧与帧之间进行编码的策略;其次,在帧内块级对当前块的复杂度进行分析,从而调整块级的编码策略;最后,在样点自适应补偿的过程中,根据Y分量执行样点自适应补偿的率失真代价来判断是否要进行UV分量的样点自适应补偿过程,进一步提升编码速度。通过以上三级的基于帧级粒度、块级粒度以及样点自适应补偿粒度的策略优化,能够在屏幕内容场景下,保证编码后视频的编码质量和压缩效率的同时,大幅提高编码效率。
请参见图6,其是本申请实施例提供的一种图像编码的流程示意图,图像编码包括如下步骤:
步骤S301,开始流程。
步骤S302,获取视频帧,计算视频帧的复杂度。
具体的,复杂度的计算方法可以是计算帧内、帧间预测编码的最佳率失真代价;也可以是计算一帧的空间信息(SI)或者时间信息(TI)等。
步骤S303,根据视频帧的复杂度,确定视频帧的内容场景是摄像头内容场景或者是屏幕内容场景。
具体的,若复杂度大于复杂度阈值,则确定视频帧的内容场景为摄像头内容场景;若复杂度小于或等于复杂度阈值,则确定视频帧的内容场景为屏幕内容场景。
步骤S304,若视频帧的内容场景为摄像头内容场景,执行步骤S305-步骤S306,以及步骤S318;若视频帧的内容场景为屏幕内容场景,则执行步骤S307。
步骤S305,对视频帧进行块级编码,得到编码数据。
步骤S306,对视频帧的每一个图像块的Y分量和UV分量都进行样点自适应补偿,得到Y分量上的补偿参数和UV分量上的补偿参数。将步骤S305输出的编码数据以及步骤S306输出的补偿参数熵编码为视频帧的码流。
步骤S307,分析视频帧是否为关键帧,满足以下条件之一即可确定视频帧为关键帧。
a)当前帧是IDR帧;
b)当前帧与上一个关键帧的时间间隔大于Tmax,其中Tmax表示关键帧的最大时间间隔。
步骤S308,若视频帧不是关键帧,则执行步骤S309以及步骤S318;若视频帧是关键帧,则执行步骤S310。
步骤S309,对视频帧进行块级编码,得到编码数据,将该编码数据熵编码为视频帧的码流,即不对视频帧进行样点自适应补偿。
步骤S310,从视频帧图像中确定待编码的原始图像块,对原始图像块进行块级编码,得到编码数据。
步骤S311,确定原始图像块是否是复杂块,满足以下所有条件即可确定原始图像块是否是复杂块:
a)原始图像块的大小为64x64;
b)原始图像块的预测模式属于帧间预测模式;
c)原始图像块的预测模式是skip模式。
步骤S312,若原始图像块不是复杂块,则将步骤S309所确定的编码数据熵编码为图像块的码流,即不对图像块进行样点自适应补偿,并执行步骤S317;若原始图像块是复杂块,则执行步骤S313。
步骤S313,对原始图像块的Y分量进行样点自适应补偿,得到Y分量的补偿参数以及补偿代价。
步骤S314,获取第一参照代价,若步骤S313输出的补偿代价小于或等于第一参照代价,则将第一参照代价调整为步骤S313输出的补偿代价;若步骤S313输出的补偿代价大于第一参照代价,则将Y分量的补偿参数设置为0。
步骤S315,若新的第一参照代价(新的第一参照代价相对于原始的第一参照代价可能被调整了,也可能未被调整)若大于或等于阈值,则执行步骤S316;若新的第一参照代价若小于阈值,则执行步骤S317。
步骤S316,对原始图像块的UV分量进行自适应补偿,得到UV分量的补偿参数。
具体的,若Y分量上的补偿参数不为0,将编码数据、Y分量上的补偿参数、UV分量上的补偿参数熵编码为图像块的码流;
若Y分量上的补偿参数等于0,将编码数据、UV分量上的补偿参数熵编码为图像块的码流。
步骤S317,当前原始图像块是否是视频帧的最后编码块,若是,执行步骤S318;若不是,执行步骤S310。
步骤S318,视频帧编码完成,将编码完成的所有图像块的码流输出。
本申请的图像编码方法可以应用于网络会议,网络演示,远程支持和在线培训场景下的共享桌面,从专项测试结果来看,在不损失编码质量和压缩效率的前提下,编码速度平均提升了8%。
在帧级对当前帧的重要性进行判断,将帧进行分组,调整帧与帧之间进行编码的策略;其次,在帧内块级对当前块的复杂度进行分析,从而调整块级的编码策略;最后,在样点自适应补偿的过程中,根据Y分量执行样点自适应补偿的率失真代价来判断是否要进行UV分量的样点自适应补偿过程,进一步提升编码速度。通过以上三级的基于帧级粒度、块级粒度以及样点自适应补偿粒度的策略优化,能够在屏幕内容场景下,保证编码后视频的编码质量和压缩效率的同时,大幅提高编码效率。
进一步的,请参见图7,是本申请实施例提供的一种图像编码装置的结构示意图。如图7所示,图像编码装置1可以应用于上述图3-图6对应实施例中的终端设备。图像编码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该图像编码装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。
图像编码装置1可以包括:第一获取模块11、第二获取模块12、策略确定模块13以及编码模块14。
第一获取模块11,用于获取视频帧图像,所述视频帧图像包含待编码的原始图像块;
第二获取模块12,用于根据所述视频帧图像的复杂度获取所述视频帧图像的帧类型;
所述第一获取模块11,还用于若所述视频帧图像的帧类型为目标帧类型,则获取所述原始图像块的复杂度;
策略确定模块13,用于根据所述原始图像块的复杂度确定所述原始图像块的编码策略;
编码模块14,用于按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流;
所述第一获取模块11,还用于输出所述编码码流。
在一个实施例中,所述原始图像块的复杂度包括所述原始图像块的尺寸以及所述原始图像块的预测模式,预测模式包括帧内预测模式或帧间预测模式;
所述策略确定模块13,具体用于若所述原始图像块的尺寸等于尺寸阈值,且所述原始图像块的预测模式为所述帧间预测模式,则将第一编码策略作为所述原始图像块的编码策略;以及若所述原始图像块的尺寸不等于尺寸阈值,或所述原始图像块的预测模式为所述帧内预测模式,则将第二编码策略作为所述原始图像块的编码策略;所述第一编码策略和所述第二编码策略互不相同。
其中,第一获取模块11、第二获取模块12、策略确定模块13以及编码模块14的具体功能实现方式可以参见上述图4对应实施例中的步骤S101-步骤S105,这里不再进行赘述。
请参见图7,图像编码装置1可以包括:第一获取模块11、第二获取模块12、策略确定模块13以及编码模块14;还可以包括:模式确定模块15。
模式确定模块15,用于按照预测编码代价最小原则,从所述视频帧图像中确定所述原始图像块以及确定所述原始图像块的预测模式。
其中,模式确定模块15的具体功能实现方式可以参见上述图4对应实施例中的步骤S103,这里不再进行赘述。
再参见图7,在一个实施例中,所述编码策略包括所述第一编码策略;
所述编码模块14可以包括:重建单元141、第一补偿单元142、第二补偿单元143以及第一生成单元144。
重建单元141,用于按照所述第一编码策略将所述原始图像块编码重建为重建图像块;所述重建图像块包括第一颜色编码分量和第二颜色编码分量;
第一补偿单元142,用于根据所述原始图像块对所述第一颜色编码分量进行补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价;
第二补偿单元143,用于若所述图像补偿代价满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数;
第一生成单元144,用于根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流。
重建单元141,具体用于按照所述第一编码策略对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块,根据所述原始图像块和所述预测图像块,确定原始残差,对所述原始残差进行变换处理以及量化处理,得到残差系数,对所述残差系数进行反变换处理处理以及反量化处理处理,得到重建残差,将所述重建残差叠加于所述预测图像块,得到所述重建图像块。
第一生成单元144,具体用于将所述第一补偿参数、所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
第二补偿单元143,具体用于获取第一参照代价和第二参照代价,若所述图像补偿代价小于所述第一参照代价且不小于所述第二参照代价,则确定所述图像补偿代价满足所述失真代价条件。
所述第一颜色编码分量包括所述重建图像块的多个重建像素的第一颜色单位分量;
所述第一补偿单元142,具体用于根据每个重建像素的第一颜色单位分量将所述多个重建像素划分为多个重建像素集合序列,从所述原始图像块中,获取重建像素集合序列对应的原始像素集合序列;所述原始像素集合序列中的原始像素包括与所述第一颜色单位分量对应的原始颜色单位分量;以及根据所述原始像素集合序列的原始颜色单位分量以及所述重建像素集合序列的第一颜色单位分量确定所述重建像素集合序列的待补偿参数,按照所述重建像素集合序列的待补偿参数,对所述重建像素集合序列中的重建像素进行补偿处理,得到补偿图像块,根据所述补偿图像块确定原始补偿代价,在多个原始图像补偿代价中,根据具有最小原始图像补偿代价的重建像素集合序列的待补偿参数确定每个重建像素的第一颜色单位分量的补偿参数,将每个重建像素的第一颜色单位分量的补偿参数组合为所述第一补偿参数,在所述多个原始图像补偿代价中,将最小原始图像补偿代价作为所述图像补偿代价。
其中,重建单元141、第一补偿单元142、第二补偿单元143以及第一生成单元144的具体过程可以参见上述图5对应实施例中的步骤S201-步骤S204,此处不再赘述。
在一个实施例中,若所述图像补偿代价小于所述第一参照代价且小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
编码模块14还可以包括:第二生成单元145。
第二生成单元145,用于若所述图像补偿代价不满足失真代价条件,则将所述第一补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
在一个实施例中,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价不小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
编码模块14还可以包括:第三生成单元146。
第三生成单元146,用于若所述图像补偿代价不满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数,将所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
在一个实施例中,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
编码模块14还可以包括:第三生成单元147。
第四生成单元147,用于若所述图像补偿代价不满足失真代价条件,则将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
其中,第二生成单元145、第三生成单元146以及第四生成单元147的具体过程可以参见上述图5对应实施例中的步骤S204,此处不再赘述。
可以知道,若基于第二补偿单元143以及第一生成单元144确定编码码流,就不再执行第二生成单元145、第三生成单元146以及第四生成单元147相应的步骤;若基于第二生成单元145确定编码码流,就不再执行第二补偿单元143以及第一生成单元144、第三生成单元146以及第四生成单元147相应的步骤;若基于第三生成单元146确定编码码流,就不再执行第二补偿单元143以及第一生成单元144、第二生成单元145以及第四生成单元147相应的步骤;若基于第四生成单元147确定编码码流,就不再执行第二补偿单元143以及第一生成单元144、第三生成单元146以及第二生成单元145相应的步骤。
再参见图7,在一个实施例中,所述编码策略包括第二编码策略;
所述编码模块14可以包括:编码单元148。
编码单元148,用于按照所述第二编码策略,对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块,根据所述原始图像块和所述预测图像块,确定原始残差,对所述原始残差进行变换处理以及量化处理,得到残差系数,将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
可以知道,若基于重建单元141、第一补偿单元142、第二补偿单元143以及第一生成单元144确定编码码流,就不再执行编码单元148相应的步骤;若基于编码单元148确定编码码流,就不再执行重建单元141、第一补偿单元142、第二补偿单元143以及第一生成单元144相应的步骤。
请参见图7,所述视频帧图像是视频帧序列中的任一视频帧,所述视频帧序列包括关键帧;
第二获取模块12可以包括:第一确定单元121、获取单元122以及第二确定单元123。
第一确定单元121,用于根据所述视频帧图像的复杂度确定所述视频帧图像的图像内容类型;所述图像内容类型包括文件内容类型或对象内容类型;
获取单元122,用于若所述视频帧图像的图像内容类型为所述文件内容类型,则获取所述视频帧图像的编码类型以及所述视频帧图像的生成时间戳;所述编码类型包括帧内独立编码类型或帧间协助编码类型;
所述获取单元122,还用于若所述视频帧图像的编码类型为所述帧内独立编码类型,或者所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔大于时间阈值,则确定所述视频帧图像的帧类型为所述目标帧类型;所述相邻关键帧是在所述视频帧序列中与所述视频帧图像相邻的关键帧。
第二确定单元123,用于若所述视频帧图像的编码类型为所述帧间协助编码类型,且所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔不大于时间阈值,则对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块,根据所述原始图像块和所述预测图像块,确定原始残差,对所述原始残差进行变换处理以及量化处理,得到残差系数,将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的压缩码流,输出所述压缩码流。
其中,第一确定单元121、获取单元122以及第二确定单元123的具体过程可以参见上述图4对应实施例中的步骤S103,此处不再赘述。
可以知道,若基于第一确定单元121和获取单元122确定编码码流,就不再执行第二确定单元123相应的步骤;若基于第二确定单元123确定压缩码流,就不再执行第一确定单元121和获取单元122相应的步骤。
进一步地,请参见图8,是本发明实施例提供的一种计算机设备的结构示意图。上述图3-图6对应实施例中的终端设备可以为计算机设备1000,如图8所示,计算机设备1000可以包括:用户接口1002、处理器1004、编码器1006以及存储器1008。信号接收器1016用于经由蜂窝接口1010、WIFI接口1012、...、或NFC接口1014接收或者发送数据。编码器1006将接收到的数据编码为计算机处理的数据格式。存储器1008中存储有计算机程序,处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器1008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器1008可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备1000。用户接口1002可以包括:键盘1018和显示器1020。
在图8所示的计算机设备1000中,处理器1004可以用于调用存储器1008中存储计算机程序,以实现:
获取视频帧图像,所述视频帧图像包含待编码的原始图像块;
根据所述视频帧图像的复杂度获取所述视频帧图像的帧类型;
若所述视频帧图像的帧类型为目标帧类型,则获取所述原始图像块的复杂度;
根据所述原始图像块的复杂度确定所述原始图像块的编码策略;
按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流,输出所述编码码流。
在一个实施例中,所述原始图像块的复杂度包括所述原始图像块的尺寸以及所述原始图像块的预测模式,预测模式包括帧内预测模式或帧间预测模式;
处理器1004在执行根据所述原始图像块的复杂度确定所述原始图像块的编码策略时,具体执行以下步骤:
若所述原始图像块的尺寸等于尺寸阈值,且所述原始图像块的预测模式为所述帧间预测模式,则将第一编码策略作为所述原始图像块的编码策略;
若所述原始图像块的尺寸不等于尺寸阈值,或所述原始图像块的预测模式为所述帧内预测模式,则将第二编码策略作为所述原始图像块的编码策略;所述第一编码策略和所述第二编码策略互不相同。
在一个实施例中,所述编码策略包括所述第一编码策略;
处理器1004在执行按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流时,具体执行以下步骤:
按照所述第一编码策略将所述原始图像块编码重建为重建图像块;所述重建图像块包括第一颜色编码分量和第二颜色编码分量;
根据所述原始图像块对所述第一颜色编码分量进行补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价;
若所述图像补偿代价满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数;
根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流。
在一个实施例中,处理器1004在执行按照所述第一编码策略将所述原始图像块编码重建为重建图像块时,具体执行以下步骤:
按照所述第一编码策略对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
对所述残差系数进行反变换处理处理以及反量化处理处理,得到重建残差;
将所述重建残差叠加于所述预测图像块,得到所述重建图像块。
在一个实施例中,处理器1004在执行根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流时,具体执行以下步骤:
将所述第一补偿参数、所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
在一个实施例中,处理器1004在判断所述图像补偿代价是否满足失真代价条件时,具体执行以下步骤:
获取第一参照代价和第二参照代价,若所述图像补偿代价小于所述第一参照代价且不小于所述第二参照代价,则确定所述图像补偿代价满足所述失真代价条件。
在一个实施例中,若所述图像补偿代价小于所述第一参照代价且小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
处理器1004还执行以下步骤:
若所述图像补偿代价不满足失真代价条件,则将所述第一补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
在一个实施例中,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价不小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
处理器1004还执行以下步骤:
若所述图像补偿代价不满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数,将所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
在一个实施例中,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
处理器1004还执行以下步骤:
若所述图像补偿代价不满足失真代价条件,则将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
在一个实施例中,所述第一颜色编码分量包括所述重建图像块的多个重建像素的第一颜色单位分量;
处理器1004在执行根据所述原始图像块,对所述第一颜色编码分量进行图像补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价时,具体执行以下步骤:
根据每个重建像素的第一颜色单位分量将所述多个重建像素划分为多个重建像素集合序列;
从所述原始图像块中,获取重建像素集合序列对应的原始像素集合序列;所述原始像素集合序列中的原始像素包括与所述第一颜色单位分量对应的原始颜色单位分量;
根据所述原始像素集合序列的原始颜色单位分量以及所述重建像素集合序列的第一颜色单位分量确定所述重建像素集合序列的待补偿参数;
按照所述重建像素集合序列的待补偿参数,对所述重建像素集合序列中的重建像素进行补偿处理,得到补偿图像块,根据所述补偿图像块确定原始补偿代价;
在多个原始图像补偿代价中,根据具有最小原始图像补偿代价的重建像素集合序列的待补偿参数确定每个重建像素的第一颜色单位分量的补偿参数;
将每个重建像素的第一颜色单位分量的补偿参数组合为所述第一补偿参数,在所述多个原始图像补偿代价中,将最小原始图像补偿代价作为所述图像补偿代价。
在一个实施例中,所述编码策略包括第二编码策略;
处理器1004在执行按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流时,具体执行以下步骤:
按照所述第二编码策略,对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
在一个实施例中,所述视频帧图像是视频帧序列中的任一视频帧,所述视频帧序列包括关键帧;
处理器1004在执行根据所述视频帧图像的复杂度获取所述视频帧图像的帧类型时,具体执行以下步骤:
根据所述视频帧图像的复杂度确定所述视频帧图像的图像内容类型;所述图像内容类型包括文件内容类型或对象内容类型;
若所述视频帧图像的图像内容类型为所述文件内容类型,则获取所述视频帧图像的编码类型以及所述视频帧图像的生成时间戳;所述编码类型包括帧内独立编码类型或帧间协助编码类型;
若所述视频帧图像的编码类型为所述帧内独立编码类型,或者所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔大于时间阈值,则确定所述视频帧图像的帧类型为所述目标帧类型;所述相邻关键帧是在所述视频帧序列中与所述视频帧图像相邻的关键帧。
在一个实施例中,处理器1004还执行以下步骤:
若所述视频帧图像的编码类型为所述帧间协助编码类型,且所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔不大于时间阈值,则对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的压缩码流,输出所述压缩码流。
应当理解,本发明实施例中所描述的计算机设备1000可执行前文图3到图6所对应实施例中对图像编码方法的描述,也可执行前文图7所对应实施例中对图像编码装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且计算机存储介质中存储有前文提及的图像编码装置1所执行的计算机程序,且该计算机程序包括程序指令,当处理器执行上述程序指令时,能够执行前文图3到图6所对应实施例中的方法,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可以执行前文图3到图6所对应实施例中的方法,因此,这里将不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (15)

1.一种图像编码方法,其特征在于,包括:
获取视频帧图像,所述视频帧图像包含待编码的原始图像块;
确定所述视频帧图像的图像内容类型,并根据所述视频帧图像的图像内容类型获取所述视频帧图像的帧类型;
若所述视频帧图像的帧类型为目标帧类型,则获取所述原始图像块的复杂度;所述原始图像块的复杂度包括所述原始图像块的尺寸以及所述原始图像块的预测模式,预测模式至少包括帧内预测模式或帧间预测模式;
根据所述原始图像块的复杂度确定所述原始图像块的编码策略;
按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流,输出所述编码码流。
2.根据权利要求1所述的方法,其特征在于,所述根据所述原始图像块的复杂度确定所述原始图像块的编码策略,包括:
若所述原始图像块的尺寸等于尺寸阈值,且所述原始图像块的预测模式为所述帧间预测模式,则将第一编码策略作为所述原始图像块的编码策略;
若所述原始图像块的尺寸不等于尺寸阈值,或所述原始图像块的预测模式为所述帧内预测模式,则将第二编码策略作为所述原始图像块的编码策略;所述第一编码策略和所述第二编码策略互不相同。
3.根据权利要求2所述的方法,其特征在于,所述编码策略包括所述第一编码策略;
所述按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流,包括:
按照所述第一编码策略将所述原始图像块编码重建为重建图像块;所述重建图像块包括第一颜色编码分量和第二颜色编码分量;
根据所述原始图像块对所述第一颜色编码分量进行补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价;
若所述图像补偿代价满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数;
根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流。
4.根据权利要求3所述的方法,其特征在于,所述按照所述第一编码策略将所述原始图像块编码重建为重建图像块,包括:
按照所述第一编码策略对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
对所述残差系数进行反变换处理处理以及反量化处理处理,得到重建残差;
将所述重建残差叠加于所述预测图像块,得到所述重建图像块。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一补偿参数和所述第二补偿参数生成所述原始图像块的所述编码码流,包括:
将所述第一补偿参数、所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
6.根据权利要求4所述的方法,其特征在于,判断所述图像补偿代价是否满足失真代价条件的方式,包括:
获取第一参照代价和第二参照代价,若所述图像补偿代价小于所述第一参照代价且不小于所述第二参照代价,则确定所述图像补偿代价满足所述失真代价条件。
7.根据权利要求6所述的方法,其特征在于,若所述图像补偿代价小于所述第一参照代价且小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述方法还包括:
若所述图像补偿代价不满足失真代价条件,则将所述第一补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
8.根据权利要求6所述的方法,其特征在于,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价不小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述方法还包括:
若所述图像补偿代价不满足失真代价条件,则根据所述原始图像块对所述第二颜色编码分量进行补偿处理,得到第二补偿参数,将所述第二补偿参数、所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
9.根据权利要求6所述的方法,其特征在于,若所述图像补偿代价不小于所述第一参照代价,且所述第一参照代价小于所述第二参照代价,则所述图像补偿代价不满足失真代价条件;
所述方法还包括:
若所述图像补偿代价不满足失真代价条件,则将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
10.根据权利要求3所述的方法,其特征在于,所述第一颜色编码分量包括所述重建图像块的多个重建像素的第一颜色单位分量;
所述根据所述原始图像块,对所述第一颜色编码分量进行图像补偿处理,得到第一补偿参数以及所述第一补偿参数的图像补偿代价,包括:
根据每个重建像素的第一颜色单位分量将所述多个重建像素划分为多个重建像素集合序列;
从所述原始图像块中,获取重建像素集合序列对应的原始像素集合序列;所述原始像素集合序列中的原始像素包括与所述第一颜色单位分量对应的原始颜色单位分量;
根据所述原始像素集合序列的原始颜色单位分量以及所述重建像素集合序列的第一颜色单位分量确定所述重建像素集合序列的待补偿参数;
按照所述重建像素集合序列的待补偿参数,对所述重建像素集合序列中的重建像素进行补偿处理,得到补偿图像块,根据所述补偿图像块确定原始补偿代价;
在多个原始图像补偿代价中,根据具有最小原始图像补偿代价的重建像素集合序列的待补偿参数确定每个重建像素的第一颜色单位分量的补偿参数;
将每个重建像素的第一颜色单位分量的补偿参数组合为所述第一补偿参数,在所述多个原始图像补偿代价中,将最小原始图像补偿代价作为所述图像补偿代价。
11.根据权利要求2所述的方法,其特征在于,所述编码策略包括第二编码策略;
所述按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流,包括:
按照所述第二编码策略,对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的所述编码码流。
12.根据权利要求1所述的方法,其特征在于,所述视频帧图像是视频帧序列中的任一视频帧,所述视频帧序列包括关键帧;所述图像内容类型包括文件内容类型或对象内容类型;
所述根据所述视频帧图像的图像内容类型获取所述视频帧图像的帧类型,包括:
若所述视频帧图像的图像内容类型为所述文件内容类型,则获取所述视频帧图像的编码类型以及所述视频帧图像的生成时间戳;所述编码类型包括帧内独立编码类型或帧间协助编码类型;
若所述视频帧图像的编码类型为所述帧内独立编码类型,或者所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔大于时间阈值,则确定所述视频帧图像的帧类型为所述目标帧类型;所述相邻关键帧是在所述视频帧序列中与所述视频帧图像相邻的关键帧。
13.根据权利要求12所述的方法,其特征在于,还包括:
若所述视频帧图像的编码类型为所述帧间协助编码类型,且所述视频帧图像的生成时间戳与相邻关键帧的生成时间戳之间的时间间隔不大于时间阈值,则对所述原始图像块进行预测编码处理,得到预测编码数据,对所述预测编码数据进行反编码处理,得到预测图像块;
根据所述原始图像块和所述预测图像块,确定原始残差;
对所述原始残差进行变换处理以及量化处理,得到残差系数;
将所述预测编码数据以及所述残差系数进行熵编码,得到所述原始图像块的压缩码流,输出所述压缩码流。
14.一种图像编码装置,其特征在于,包括:
第一获取模块,用于获取视频帧图像,所述视频帧图像包含待编码的原始图像块;
第二获取模块,用于确定所述视频帧图像的图像内容类型,并根据所述视频帧图像的图像内容类型获取所述视频帧图像的帧类型;
所述第一获取模块,还用于若所述视频帧图像的帧类型为目标帧类型,则获取所述原始图像块的复杂度;所述原始图像块的复杂度包括所述原始图像块的尺寸以及所述原始图像块的预测模式,预测模式至少包括帧内预测模式或帧间预测模式;
策略确定模块,用于根据所述原始图像块的复杂度确定所述原始图像块的编码策略;
编码模块,用于按照所述编码策略对所述原始图像块进行图像编码处理,得到所述原始图像块的编码码流;
所述第一获取模块,还用于输出所述编码码流。
15.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-13中任一项所述方法的步骤。
CN202010581742.3A 2020-06-23 2020-06-23 图像编码方法、装置、计算机设备以及存储介质 Active CN111669589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010581742.3A CN111669589B (zh) 2020-06-23 2020-06-23 图像编码方法、装置、计算机设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010581742.3A CN111669589B (zh) 2020-06-23 2020-06-23 图像编码方法、装置、计算机设备以及存储介质

Publications (2)

Publication Number Publication Date
CN111669589A CN111669589A (zh) 2020-09-15
CN111669589B true CN111669589B (zh) 2021-03-16

Family

ID=72389583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010581742.3A Active CN111669589B (zh) 2020-06-23 2020-06-23 图像编码方法、装置、计算机设备以及存储介质

Country Status (1)

Country Link
CN (1) CN111669589B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531604B (zh) * 2022-02-16 2023-02-28 广州佳邦信息科技有限公司 一种在线教学视频的智能处理方法及系统
CN115209147B (zh) * 2022-09-15 2022-12-27 深圳沛喆微电子有限公司 摄像头视频传输带宽优化方法、装置、设备及存储介质
CN117956158A (zh) * 2022-10-19 2024-04-30 腾讯科技(北京)有限公司 一种视频处理方法及相关装置
CN116600042B (zh) * 2023-07-17 2023-09-22 中国人民解放军国防科技大学 智能移动终端设备与计算机之间的通信方法、装置及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202903A (zh) * 2006-12-11 2008-06-18 谢剑斌 监视视频编解码方法
CA2707715A1 (en) * 2007-12-05 2009-06-11 Onlive, Inc. System and method for compressing video by adjusting tile size based on detected intraframe motion or scene complexity
AU2008259744B2 (en) * 2008-12-18 2012-02-09 Canon Kabushiki Kaisha Iterative DVC decoder based on adaptively weighting of motion side information
US9706229B2 (en) * 2013-06-05 2017-07-11 Texas Instruments Incorporated High definition VP8 decoder
WO2016035368A1 (ja) * 2014-09-03 2016-03-10 オリンパス株式会社 復号装置、撮像システム、復号方法、符号化復号方法、及び復号プログラム
CN107509074B (zh) * 2017-07-10 2021-04-09 上海大学 基于压缩感知的自适应3d视频压缩编解码方法
CN108347612B (zh) * 2018-01-30 2020-09-15 东华大学 一种基于视觉注意机制的监控视频压缩与重构方法

Also Published As

Publication number Publication date
CN111669589A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
CN111669589B (zh) 图像编码方法、装置、计算机设备以及存储介质
US10798408B2 (en) Last frame motion vector partitioning
WO2018160231A1 (en) Transform kernel selection and entropy coding
KR102097281B1 (ko) 이전의 프레임 잔차를 사용하는 모션 벡터 예측
CN109379594B (zh) 视频编码压缩方法、装置、设备和介质
EP3343923B1 (en) Motion vector field coding method and decoding method, and coding and decoding apparatuses
CN103782598A (zh) 用于无损编码的快速编码方法
CN108777794B (zh) 图像的编码方法和装置、存储介质、电子装置
TW202106003A (zh) 使用基於矩陣之內預測及二次轉換之寫碼技術
CN110741638A (zh) 使用残差块能量分布的运动矢量代码化
WO2019083577A1 (en) ESTIMATION AND MOTION COMPENSATION OF THE SAME FRAME
WO2018136128A1 (en) Dc coefficient sign coding scheme
KR20220003631A (ko) 서브-파티션들의 병렬 양방향 인트라-코딩
US20220094950A1 (en) Inter-Prediction Mode-Dependent Transforms For Video Coding
CN112235582B (zh) 一种视频数据处理方法、装置、计算机设备及存储介质
US10455253B1 (en) Single direction long interpolation filter
WO2023061129A1 (zh) 视频编码方法、装置、设备及存储介质
CN101977317B (zh) 帧内预测方法及装置
WO2020147226A1 (zh) 信息处理方法及装置、设备、存储介质
CN107302680B (zh) 一种用于多人视频通话的视频处理方法及服务器
US11388401B2 (en) Extended transform partitions for video compression
CN114374843B (zh) 基于预测模式选择的直播视频编码方法及计算机设备
CN114640849B (zh) 直播视频编码方法、装置、计算机设备及可读存储介质
CN117119182A (zh) 视频数据处理方法、装置、设备及介质
CN117591051A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028608

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant