CN110366851A - 编码、解码方法及编码、解码设备 - Google Patents

编码、解码方法及编码、解码设备 Download PDF

Info

Publication number
CN110366851A
CN110366851A CN201880011426.3A CN201880011426A CN110366851A CN 110366851 A CN110366851 A CN 110366851A CN 201880011426 A CN201880011426 A CN 201880011426A CN 110366851 A CN110366851 A CN 110366851A
Authority
CN
China
Prior art keywords
image
frame
type frame
long term
term reference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880011426.3A
Other languages
English (en)
Other versions
CN110366851B (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.)
Shenzhen Dajiang Innovations Technology Co Ltd
Original Assignee
Shenzhen Dajiang Innovations Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Dajiang Innovations Technology Co Ltd filed Critical Shenzhen Dajiang Innovations Technology Co Ltd
Publication of CN110366851A publication Critical patent/CN110366851A/zh
Application granted granted Critical
Publication of CN110366851B publication Critical patent/CN110366851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/172Methods 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 picture, frame or field
    • 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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one

Landscapes

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

Abstract

一种编码、解码方法及编码、解码设备,该编码方法包括:对第一类型帧进行编码,其中,按编码顺序第一类型帧之后存在需要进行帧间编码的N个第二类型帧,N个第二类型帧的显示顺序在第一类型帧之前;根据长期参考图像对N个第二类型帧中的至少一个第二类型帧进行帧间编码;在完成N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像。该编码方法使得至少一个第二类型帧可以参考第一类型帧之前的长期参考图像,可以提高编码效率。

Description

编码、解码方法及编码、解码设备
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及图像处理领域,尤其涉及一种编码、解码方法及编码、解码设备。
背景技术
在图像编解码的帧间预测的过程中,选取的参考图像与当前待编码图像越相似,则帧间预测产生的残差越小,从而可以提升帧间预测的编码效率。现有的一些技术可以利用视频中的各图像构建一个包含场景的背景内容的高质量的特定参考图像,称为长期参考图像。即,该特定参考图像可以在相对长的一段时间内,作为帧间预测的参考图像。在进行帧间预测时,当前待编码/解码图像的背景部分可通过参考所述的长期参考图像用于减少帧间预测的残差信息,从而提高编码效率。长期参考图像不是一个已编码/已解码图像,而是一个人为构造的图像。长期参考图像中包括多个图像块,任意一个图像块均是从某个已编码/已解码图像中取出的,长期参考图像中的不同图像块可能取自于不同的已编码/已解码图像。在完成某一帧的编码/解码后,长期参考图像可以基于已编码/已解码图像进行更新。
在图像编解码的实际应用中,经常会出现用户不是从视频流的起始点、而是从视频流的中间点开始观看的情况,其中,视频流可以包括,例如电视节目、网络直播、本地电影等。为了支持能够从不同时刻开始加载视频,在编码/解码过程中,通常可以在视频流中插入随机访问点(random access point,RAP)。随机访问点的特性使得,在解码端能够保证显示顺序在随机访问点之后的帧能够正常解码。
如果更新长期参考图像时不考虑随机访问点问题,而是基于已编码/已解码图像进行更新,则有可能导致显示顺序在随机访问点之后的帧不能正常解码。如果更新长期参考图像时采用现有的针对随机访问点的编码/解码技术,则有可能导致编码/解码效率低下。
发明内容
本申请提供了一种编码、解码方法及编码、解码设备,可以提高编码/解码效率。
第一方面,提供一种编码方法,包括:对第一类型帧进行编码,其中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码;在完成所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像。
第二方面,提供一种解码方法,包括:对第一类型帧进行解码,其中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码;在完成所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像。
第三方面,提供一种编码设备,包括:至少一个存储器,用于存储计算机可执行指令;至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:对第一类型帧进行编码,其中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码;在完成所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像。
第四方面,提供一种解码设备,包括:至少一个存储器,用于存储计算机可执行指令;至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:对第一类型帧进行解码,其中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码;在完成所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像。
第五方面,提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行第一方面的编码方法。
第六方面,提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行第一方面的解码方法。
本申请在完成编码/解码顺序在第一类型帧之后、显示顺序在第一类型帧之前的N个第二类型帧中的至少一个第二类型帧的帧间编码/解码后,才替换当前使用的长期参考图像,使得至少一个第二类型帧可以参考第一类型帧之前的长期参考图像,可以提高编码/解码效率。
附图说明
图1是本申请中乱序编码的一个实施例的示意图。
图2是本申请的视频编码方法的一个实施例的流程示意图。
图3是将当前待编码图像中的图像块与长期参考图像中的图像块的关系的示意图。
图4是视频中的多个图像和长期参考图像的关系示意图。
图5是本申请的视频编码的方法的又一个实施例的流程示意图。
图6是根据本申请另一实施例的视频解码方法的示意图。
图7是本申请的视频解码的方法的又一个实施例的流程示意图。
图8是本申请的一个实施例的编码方法的示意性流程图。
图9是本申请一个实施例的编码方法的示意性流程图。
图10是本申请一个实施例的解码方法的示意性流程图。
图11是本申请另一个实施例的解码方法的示意性流程图。
图12是本申请另一个实施例的解码方法的示意性流程图。
图13是本申请一个实施例的编码设备的示意性框图。
图14是本申请另一个实施例的编码设备的示意性框图。
图15是本申请一个实施例的解码设备的示意性框图。
图16是本申请另一个实施例的解码设备的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
首先介绍本申请实施例涉及的相关技术及概念。
视频是由多个图像构成的。对视频进行编码/解码时,视频中不同的图像可采用不同的预测方式。根据图像所采用的预测方式,可以将图像区分为帧内预测图像和帧间预测图像,其中帧间预测图像包括前向预测图像和双向预测图像。I图像是帧内预测图像,也称为关键帧;P图像是前向预测图像,也即采用之前已编码/解码的一个P图像或者I图像作为参考图像;B图像是双向预测图像,也即采用前后的图像作为参考图像。一种实现方式是编码/解码端将多张图像进行编码/解码后产生一段一段的图像组(group of picture,GOP),该GOP是由一张I图像,以及多张B图像(或双向预测图像)和/或P图像(或前向预测图像)构成的图像组。解码端在播放时则是读取一段一段的GOP进行解码后读取画面再渲染显示。
在现代视频编码/解码标准中,可以通过将图像分成多个小块来对不同分辨率的图像进行编码/解码,即图像可以被分成多个图像块。图像可以被分成任何数量的图像块。例如,该图像可以被分成一个m×n图像块阵列。图像块可以具有矩形形状、正方形形状、圆形形状或任何其他形状。图像块可以具有任何尺寸,例如p×q像素。每个图像块都可以具有相同尺寸和/或形状。可替代地,两个或更多图像块可以具有不同的尺寸和/或形状。图像块可以具有或者可以不具有任何重叠部分。在一些实施例中,该图像块在一些编码/解码标准中被称为宏块或最大编码单元(largest coding unit,LCU)。对于H.264标准,图像块被称为宏块,其大小可以是16×16像素。对于高效率视频编码(high efficiency videocoding,HEVC)标准,图像块被称为最大编码单元,其大小可以是64×64像素。
在另一些实施例中,一个图像块也可以不是一个宏块或最大编码单元,而是包含一个宏块或最大编码单元的部分,或者包含至少两个完整的宏块(或最大编码单元),或者包含至少一个完整的宏块(或最大编码单元)和一个宏块(或最大编码单元)的部分,或者包含至少两个完整的宏块(或最大编码单元)和一些宏块(或最大编码单元)的部分。如此,在图像被分成多个图像块之后,可以分别对图像数据中的这些图像块进行编码/解码。
编码过程包括预测、变换、量化和熵编码等处理。其中,预测包括帧内预测和帧间预测两种类型,其目的在于利用预测块数据去除当前待编码图像块的冗余信息。帧内预测利用本帧图像的信息获得预测块数据。帧间预测利用参考图像的信息获得预测块数据,其过程包括将当前待编码图像划分成若干个待编码图像块,再将待编码图像块划分成若干个子图像块;然后,针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测图像块,预测图像块与当前子图像块的相对位移即为运动矢量;其后,将该子图像块与预测图像块的相应像素值相减得到残差。将得到的各子图像块对应的残差组合在一起,得到待编码图像块的残差。
在本申请的各实施例,可以使用变换矩阵去除图像块的残差的相关性,即去除图像块的冗余信息,以便提高编码效率。图像块中的数据块的变换通常采用二维变换,即在编码端将数据块的残差信息分别与一个N×M的变换矩阵及其转置矩阵相乘,相乘之后得到的是变换系数。变换系数经量化可得到量化后的系数,最后将量化后的系数进行熵编码,得到熵编码比特流。将熵编码比特流及进行编码后的编码模式信息,例如帧内预测模式、运动矢量(或运动矢量残差)等信息,进行存储或发送到解码端。
在图像的解码端,获得熵编码比特流后进行熵解码,得到相应的残差;根据解码得到的运动矢量、帧内预测等信息找到图像块对应的预测图像块;根据预测图像块与残差得到当前子图像块中各像素点的值。
前文中提到采用已编码/解码的图像来作为当前待编码/解码的参考图像。在一些实施例中还可以构造一个参考图像,来提高参考图像与当前待编码/解码图像的相似度。视频中的图像可作为参考图像时,可以是区分长期参考图像和短期参考图像的。其中,该短期参考图像是与长期参考图像相对应的一个概念。短期参考图像存在于参考图像缓冲区中一段时间,经过该短期参考图像之后的已解码的参考图像在参考图像缓冲区中的若干移入和移出操作之后,短期参考图像会被移出参考图像缓冲区。参考图像缓冲区也可以称为参考图像列表缓存、参考图像列表、参考帧列表缓存或参考帧列表等,本文中将其统称为参考图像缓冲区。
视频内容中存在一类特定的编码/解码场景,在该场景中背景基本不发生改变,只有视频中的前景发生改变或者运动。例如,视频监控就属于该类场景。在视频监控场景中通常监控摄像头固定不动或者只发生缓慢的移动,可以认为背景基本不发生变化。与此相对,在视频监控镜头中所拍摄到的人或车等物体则经常发生移动或改变,可以认为前景是经常变化的。在这类场景中,可以构造一个特定的参考图像,该特定的参考图像中只包含高质量的背景信息。例如,该特定的参考图像可以为长期参考图像,也可以称为合成参考(composite reference)帧。该长期参考图像中包括多个图像块,任意一个图像块均是从某个已解码图像中取出的,该长期参考图像中的不同图像块可能取自于不同的已解码图像。在进行帧间预测时,当前待编码/解码图像的背景部分可通过参考该长期参考图像,由此能够减少帧间预测的残差信息,从而提高编码/解码效率。
长期参考图像(或长期参考图像中的一部分数据)一直存在于参考图像缓冲区中,该长期参考图像(或长期参考图像中的一部分数据)不受已解码的参考图像在参考图像缓冲区中的移入和移出操作的影响,只有在解码端发出更新指令操作时该长期参考图像(或长期参考图像中的一部分数据)才会被移出参考图像缓冲区。
短期参考图像和长期参考图像在不同的标准中的叫法可能不同,例如在H.264/高级视频编码(advanced video coding,AVC)或者H.265/HEVC等标准中短期参考图像被称为短期参考帧(short-term reference),长期参考图像被称为长期参考帧(long-termreference)。又如在信源编码标准(audio video coding standard,AVS)1-P2、AVS2-P2、电气和电子工程师协会(institute of electrical and electronics engineers,IEEE)1857.9-P4等标准中,长期参考图像被称为背景帧(background picture)。又如在VP8、VP9等标准中,长期参考图像被称为黄金帧(golden frame)。长期参考图像还可以是前述从多个已解码图像中取出的图像块构造得到的,本申请各实施例对此不作限定。应理解,本申请各实施例的长期参考图像可以为不输出的图像。
常见的编码方式包括顺序编/解码和乱序编/解码两种。顺序编/解码是指编/解码顺序和显示顺序一致,例如低延迟(Low Delay)的码流结构为:I0P1P2P3P4P5…(其中I帧为帧内编/解码帧,P帧为前向参考帧间编/解码帧,数字代表显示顺序),此编/解码结构对应的显示顺序也为I0P1P2P3P4P5…。乱序编/解码为了尽可能地提高编码效率,会打乱显示顺序进行编/解码。图1是本申请中乱序编/解码的一个实施例的示意图。如图1所示,显示顺序处于后面的帧可能被先编/解码,显示顺序处于前面的帧可能被后编/解码。例如hierarchical-B的码流结构中编/解码顺序为:I0P8B4B2B1B3B6B5B7P16B12B10B9B11B14B13B15…(B帧为双向参考帧间参考帧),此编/解码顺序对应的显示顺序为I0B1B2B3B4B5B6B7P8B9B10B11B12B13B14B15P16…。
当需要插入随机访问点时,根据随机访问的定义,显示顺序位于随机访问点之后的帧的编/解码过程不应使用随机访问点之前的数据。通常图像序列中的随机访问分为两类,对于第一类随机访问点,在随机访问点处会完全清空参考图像缓冲区中的短期参考图像,以及采用随机访问点的重建图像替换长期参考图像,若在随机访问点之后存在显示顺序位于随机访问点之前的帧,则一律丢弃不解码。在一些标准中,这第一类随机访问点被称为即时解码刷新(Instantaneous Decoder Refresh,IDR)。对于第二类随机访问点,在随机访问点处参考图像缓冲区中的短期参考图像不会立即清空,在随机访问点之后编/解码的、显示顺序位于随机访问点之前的帧仍然还能使用随机访问点之前的短期参考帧(若参考图像缓冲区中存在),解码显示顺序位于随机访问点之后的帧则必须使用显示顺序位于随机访问点之后(包含随机访问点)的帧作为短期参考帧。而且,在这第二类随机访问点编/解码后,还采用该第二类随机访问点的重建图像替换长期参考图像。在一些标准中,这第二类随机访问点被称为清除随机访问(Clean Random Access,CRA)。
本申请的一些实施例中,在第二类随机访问点(随机访问点对应的帧均为I帧)编码之后,参考图像缓冲区中的短期参考图像不会被立即清空。随机访问点之后编/解码的、显示顺序位于随机访问点之前的帧仍然还能使用随机访问点之前的参考图像(若参考图像缓冲区中存在)进行帧间编/解码。随机访问点之后编/解码的、显示顺序位于随机访问点之后的帧则使用参考图像缓冲区中显示顺序位于随机访问点之后(包括随机访问点)的帧作为参考图像进行帧间编/解码。
本申请的一些实施例中,在第二类随机访问点编码之后,以及在第二类随机访问点的下一帧编/解码之前,长期参考图像保留不变,也即该长期参考图像没有被第二类随机访问点的重建图像所替换。在第二类随机访问点之后编码的至少一帧图像可以采用该未被替换掉的长期参考图像进行帧间编/解码。
对于编码方式为乱序编码而言,例如hierarchical-B的码流结构,在对随机访问点进行编码之后,还存在若干显示顺序在随机访问点之前的帧需要编码。在对这些显示顺序在随机访问点之前的帧进行编码时,需要保持并继续维护参考图像缓冲区,编码完所有的显示顺序在随机访问点之前的帧时,对参考图像缓冲区进行维护,删除所有显示顺序在随机访问点之前的短期参考图像。在解码过程中,遇到随机访问点时,如果没有使用随机访问功能,即不执行从该随机访问点开始播放视频,则需要保持并继续维护参考图像缓冲区。直到解码完所有的显示顺序在随机访问点之前的帧,对参考图像缓冲区进行调整,删除所有显示顺序在随机访问点之前的短期参考图像。如果使用了该随机访问点的随机访问功能,则不对显示顺序在该随机访问点之前的帧进行解码,此时参考图像缓冲区也会保留。直到对显示顺序在随机访问点之后的帧进行解码时,删除所有显示顺序在随机访问点之前的参考图像,之后进行解码并进行参考图像缓冲区的维护。
上文中给出的是在设置随机访问点时,短期参考图像的处理方式。长期参考图像的特性与短期参考图像的特性不同。通常,短期参考图像为一帧解码图像的重建图像,而长期参考图像是通过某些机制合成得到的,也即长期参考图像采用的是块级刷新的方式得到的。前文中提到,在编码/解码过程中可以不断更新长期参考图像,那么在遇到随机访问点时,将对短期参考图像的处理方式应用在长期参考图像可能会失效,或可能会影响编码效率。在随机访问点后存在显示顺序在随机访问点之前的帧参与编码/解码过程的情况下,如果更新长期参考图像时不考虑随机访问点问题,而是基于已编码/已解码图像进行更新,则有可能导致显示顺序在随机访问点之后的帧不能正常解码。如果更新长期参考图像时采用现有的针对随机访问点的编码/解码技术,则有可能导致编码/解码效率低下。
本申请中,将“对长期参考图像的全部图像块进行更新”的情况称为“对长期参考图像进行替换”,或称为“替换长期参考图像”;将“对长期参考图像的全部图像块进行更新”以外的情况,例如“对长期参考图像的仅部分图像块进行更新”的情况,称为“对长期参考图像进行更新”,或称为“更新长期参考图像”。
接下来,对本申请涉及的更新/替换长期参考图像的一些更新/替换的方法进行举例说明。
下面结合图2对更新长期参考图像的一些方法进行举例说明。如图2所示,图2是本申请的视频编码方法的一个实施例的流程示意图。该更新长期参考图像的方法由图像处理装置执行,该图像处理装置可以是各种类型的用于图像处理的芯片、图像处理器等。如图2所示,方法包括:
101、当当前待编码图像可作为参考图像时,且当图像块可用于更新长期参考图像时,根据图像块对长期参考图像中的特定图像块进行更新,其中,图像块为所述当前待编码图像中的一个图像块,特定图像块在长期参考图像中的位置由图像块在当前待编码图像中的位置决定。
在一些实施例中,确定当前待编码图像可作为参考图像,可以发生在对该待编码图像进行编码之前。如此,可以根据该确定的结果在对待编码图像中的各图像块进行编码时或者编码后判断各图像块满足用于更新长期参考图像的条件。或者,确定当前待编码图像可作为参考图像,也可以发生在对待编码图像中的各图像块进行编码时或者编码后,也即在对每一个图像块编码时或者编码后,首先确定该图像块当前所在图像可作为参考图像,当确定可作为参考图像时,再确定该图像块可用于更新长期参考图像。
在一些实施例中,由于I图像和P图像(或前向预测图像)可以作为其他图像进行帧间预测的参考图像,因此,当确定当前待编码图像为I图像或者为P图像(或前向预测图像)时,确定当前待编码图像作为参考图像。在一些实施例中,部分B图像(或双向预测图像)也可作为其他图像进行帧间预测的参考图像,如在分层B(hierarchical B)技术中,位于层次较低的B图像可作为参考帧使用,因此,确定当前待编码图像是这一部分B图像时,也可以确定当前待编码图像可作为参考图像。
在一些实施例中,在确定当前待编码图像可作为参考图像之后,编码端还在视频参数集(video parameter set,VPS)、序列参数集(sequence parameterset,SPS)、序列头(sequence header)、图像头(picture header)、条带头(slice header)、参考图像集(reference picture set,RPS)和参考图像配置集(reference configuration set,RCS)中的至少一项中写入参数或者标识位,以指示该当前待编码图像可作为参考图像。
在一些实施例中,判断图像块可用于更新长期参考图像,可通过该图像块的像素信息来进行判断。例如,当确定图像块和之前已编码图像中相同位置处的块的内容差别较小时,则认为该图像块包含背景内容,可用于更新长期参考图像。当然,还有其他可用于确定图像块可用于更新长期参考图像的方法。
在一些实施例中,特定图像块在长期参考图像中的位置和图像块在当前待编码图像中的位置相同。如图3所示,图3是将当前待编码图像中的图像块与长期参考图像中的图像块的关系的示意图。图3所示中的当前待编码图像中的图像块210、220为满足预设条件的图像块,其中当前待编码图像中的图像块210的位置和长期参考图像中的图像块110的位置相同,当前待编码图像中的图像块220和长期参考图像中的图像120的位置相同。
在一些实施例中,长期参考图像中的位置相比图像块在当前待编码图像中的位置偏移了预设偏移值。
在一些实施例中,根据图像块对长期参考图像中的特定图像块进行更新,具体为采用图像块的像素值替换特定参考块的当前内容。在一些实施例中,根据图像块对长期参考图像中的特定图像块进行更新,可以是采用图像块的像素值进行处理后替换特定参考块的当前像素值,该处理可以是根据图像块的像素值与长期参考图像中的一个图像块的像素值取平均值,或者根据图像块的像素值与长期参考图像中图像块的像素值做加权平均,其中该加权平均的系数为预设值或者从码流中解析得到。其中,在采用图像块的像素值时,可以是采用图像块的原始像素值,也可以是采用图像块的重建像素值。
在视频技术中,不被作为参考图像的图像在编码和解码过程中自身的图像信息不会用于其它图像的编码和解码过程。本实施例中在确定当前待编码图像可作为参考图像时,才考虑采用该当前待编码图像中的图像块来对长期参考图像进行更新,避免了长期参考图像的构造过程与不被作为参考图像的图像的定义相违背的情况。此外,不被作为参考图像的图像在解码时由于不用做其它图像的解码过程,因此所述不被作为参考图像的图像在解码时可以不被解码,从而能加快视频码流的解码速度,实现视频内容的变帧率播放。本实施例中在确定当前待编码图像可作为参考图像时,才考虑采用该当前待编码图像中的图像块来对长期参考图像进行更新,避免了采用不可作为参考图像的图像中的图像块对长期参考图像进行更新时无法实现丢弃部分不可作为参考图像的情况。
在一些实施例中,当当前待编码图像不是可作为参考图像的图像时,确定该图像块不用于更新长期参考图像。
确定图像块可用于更新长期参考图像的方法有多种。例如,可以根据图像块的像素值和已编码块的像素值判断图像块可用于更新长期参考图像,其中,已编码块指的是位于当前待编码图像之前的已编码图像中特定位置处的图像块。例如,该已编码块指的是位于当前待编码图像的前一帧(或者前两帧)已编码图像中。例如,该特定位置可以是和图像块在当前待编码图像中位置相同,或者是图像块在当前待编码图像中位置加上预设偏移值。
在一些实施例中,在根据图像块的像素信息和已编码块的像素信息判断图像块可用于更新长期参考图像时,具体根据以下至少一项判断图像块可用于更新长期参考图像:
图像块和已编码块之间的亮度分量的像素值差值;
图像块和/或已编码块的亮度分量的像素总数;
图像块和已编码块之间的色度分量的像素值差值;
图像块和/或已编码块的色度分量的像素总数。
其中,图像块和已编码块之间的亮度分量的像素值差值,可以是图像块和第二编码块的亮度分量分别在各相同位置处的像素值之差的分布,可以是图像块和第二编码块的亮度分量分别在各相同位置处的像素值之差的总和,也可以是图像块的亮度分量在各像素的平均值和已编码块的亮度分量在各像素的平均值的差值。
其中,图像块和已编码块之间的色度分量的像素值差值,可以是图像块和第二编码块的色度分量分别在各相同位置处的像素值之差的分布,可以是图像块和第二编码块的色度分量分别在各相同位置处的像素值之差的总和,也可以是图像块的色度分量在各像素的平均值和已编码块的色度分量在各像素的平均值的差值。
其中,根据图像块和已编码块之间的亮度分量的像素值差值判断图像块可用于更新长期参考图像,具体可以是根据图像块和第二编码块之间的亮度分量的像素值差值的绝对值之和判断图像块可用于更新长期参考图像。
其中,根据图像块和已编码块之间的色度分量的像素值差值判断图像块可用于更新长期参考图像,具体可以是根据图像块和第二编码块之间的色度分量的像素值差值的绝对值之和判断图像块可用于更新长期参考图像。
其中,在根据图像块和已编码块之间的亮度分量的像素值差值判断图像块可用于更新长期参考图像的实施例中,可选的,当确定图像块可用于更新长期参考图像时,图像块需要满足的条件包括:图像块中特定像素的个数小于第一阈值。其中,该特定像素是,与已编码块中相同位置处的像素在第一颜色通道的像素值之差不小于第二阈值的像素。
具体举例来说,图像按照三个分量来存储,分别为Y(亮度)、U(色度1)、V(色度2)。该第一颜色通道为Y通道。已编码块为位于当前待编码图像的前一帧(或者前两帧)的已编码图像中,位置和所述图像块的位置相同的图像块,或者位置相比图像块在当前待编码图像中偏移了预设值的图像块。已编码块的Y分量和图像块的Y分量在任意一个相同位置处的像素差值为Dist y。其中,当Dist y不小于第二阈值时,该Dist y对应的图像块中的像素为特定像素。在判断图像块满足“图像块的特定像素的个数不小于第一阈值”该条件时,该第一阈值可以是一个预设值,也可以是图像块的Y分量的像素总数与一个预设比例的乘积,在此不做限制。
其中,在根据图像块和已编码块之间的亮度分量的像素值差值判断图像块可用于更新长期参考图像的实施例中,可选的,当确定图像块可用于更新长期参考图像时,图像块需要满足的条件包括:图像块和已编码块之间的亮度分量的像素值差值小于第三阈值。
其中,在判断图像块满足“图像块和已编码块之间的亮度分量的像素值差值小于第三阈值”该条件时,该第三阈值可以是一个预设值,也可以是图像块的Y分量的像素总数与一个预设比例的乘积,在此不做限制。
其中,在根据图像块和已编码块之间的色度分量的像素值差值判断图像块可用于更新长期参考图像的实施例中,可选的,当确定图像块可用于更新长期参考图像时,图像块需要满足的条件包括:图像块和已编码块之间的色度分量的像素值差值小于第四阈值。
其中,图像块和已编码块之间的色度分量的像素值差值小于第四阈值,可以是图像块和已编码块之间的U分量的像素值差值小于第四阈值,或者是图像块和第二编码块之间的V分量的像素值差值小于第四阈值,或者是图像块和已编码块之间的U分量的像素值差值小于一个预置数值,且图像块和已编码块之间的V分量的像素值差值小于另一个预置数值。
其中,在判断图像块满足“图像块和已编码块之间的色度分量的像素值差值小于第四阈值”该条件时,该第四阈值可以是一个预设值,也可以是图像块的亮度分量(或者色度分量)的像素总数与一个预设比例的乘积,在此不做限制。
上面描述了一些可用于更新长期参考图像的图像块需要满足的条件。在一些实施例中,当当前待编码图像为I图像或者为随机访问点时,或者当前待编码图像同时为I图像和随机访问点时,根据当前待编码图像的全部图形块对所述长期参考图像的全部图像块进行更新。其中,待编码图像的全部图像块,可以指的是当前待编码图像的编码重建之后的全部图像块,也可以指的是的当前待编码图像的原始的全部图像块。例如,可以采用当前待编码图像的全部图像块替换长期参考图像中的全部图像块。或者,采用当前待编码图像的全部图像块进行一定处理后替换长期参考图像中的全部图像块,其中,该处理可以是对当前待编码图像的全部图像块的像素值进行平均或者进行加权平均,在此不做限制。
在一些实施例中,当前待编码图像中可用于更新长期参考图像的图像块的数量可以是1个,也可以是大于1个。在一些实施例中,当前待编码图像中可用于更新长期参考图像的图像块的数量可以是没有限制的,也即当前待编码图像中所有满足可用于更新长期参考图像的条件的图像块都用于对长期参考图像进行更新。
在一些实施例中,可用于更新长期参考图像的图像块的数量较多,从编解码系统实现复杂度考虑,可将当前待编码图像中可用于更新长期参考图像的图像块的数量限制为不大于M,该M为不小于1的整数。
如此,在确定当前待编码图像中所有可用于更新长期参考图像的图像块之后,若确定出的图像块的数量不大于M,则分别根据确定出的每一个图像块对长期参考图像进行更新。根据每一个图像块对长期参考图像进行更新的方法可参考上述描述,在此不再赘述。若确定出的图像块的数量大于M,则从该确定出的图像块中挑选出其中的M个图像块,并根据该M个图像块对长期参考图像进行更新。
当前待编码图像对应的M的取值有多种确定方法。例如,当前待编码图像对应的M的取值是基于当前待编码图像的类型确定的。
在一些实施例中,当前待编码图像的类型不同时,该当前待编码图像对应的M的取值不同。具体举例来说,当前待编码图像为I图像时,该当前待编码图像最多有第一预设数值个图像块用于长期参考图像的更新;当前待编码图像为P图像(或前向预测图像)时,该当前待编码图像最多有第二预设数值个图像块用于长期参考图像的更新;当前待编码图像为B图像(或双向预测图像)时,该当前待编码图像最多有第三预设数值个图像块用于长期参考图像的更新,其中,该第一预设数值、第二预设数值和第三预设数值不同。
在一些实施例中,当前待编码图像对应的M的取值是基于当前待编码图像所属类型的图像总数确定的。具体举例来说,如I图像对应的M值为视频中I图像的图像总数的一半;P图像(或前向预测图像)对应的M值为P图像(或前向预测图像)的图像总数的四分之一;可作为参考图像使用的B图像(或双向预测图像)对应的M值为B图像(或双向预测图像)的图像总数的八分之一。
从当前待编码图像中确定出的所有可用于更新长期参考图像的图像块中挑选出其中的M个图像块的方法有多种。例如,在图像是按照不同颜色通道的分量来存储的情况中,从当前待编码图像中确定出的所有可用于更新长期参考图像的图像块中挑选出其中的代价(cost)小于预置数值,且代价最小的M个图像块来用于更新长期参考图像。
其中,图像块的代价(cost)为所述图像块在所述各颜色通道的像素差异的总和;图像块在每个颜色通道的像素差异为,图像块的各像素分别和第三已编码块中具有相同位置的像素在颜色通道的像素值之差的总和;第三已编码块指的是位于当前待编码图像之前的已编码图像中特定位置处的图像块。例如,该第三已编码块指的是位于当前待编码图像的前一帧(或者前两帧)已编码图像中。例如,该特定位置可以是和图像块在当前待编码图像中位置相同。
具体举例来说,图像是分为YUV三个分量来存储的。图像块与第三编码块分别在YUV三个分量上的像素值差值为Dist Y、Dist U、Dist V,图像块在亮度分量上的像素总数为PixCount。那么图像块的代价(cost)=(Dist Y+DistU+Dist V)/PixCount。在确定当前待编码图像中可用于更新长期参考图像时,从确定出当前待编码图像中所有代价小于预置数值的图像块,若确定出的图像块的数量不大于M,则所有的图像块均可以用于更新长期参考图像;若确定出的图像块的数量大于M,则确定当前待编码图像中代价最小的M个图像块可以用于更新长期参考图像。
在一些实施例中,还编码该图像块的标识位,该标识位用于标识该图像块是否用于对所述长期参考图像进行更新。编码端发送至解码端的码流中还包括各图像的标识位,其中,每个图像的标识位用于指示该图像中的各图像块是否用于对长期参考图像进行更新。
下面结合具体示例对视频编码的方法进行举例说明。
如图4所示,图4是视频中的多个图像和长期参考图像的关系示意图。图4中以视频中其中的4个依次进行编码的图像为例,其中前三个图像为已编码图像,第4个图为当前待编码图像。在前三个图像中,第一个和第三个已编码图像可作为参考图像,第二个已编码图像不可作为参考图像。其中,第一个已编码图像中的图像块11和图像块12被用于对长期参考图像进行更新。第三个已编码图像中的图像块31、图像块32、图像块33和图像块34被用于对长期参考图像进行更新。例如,图像块11、12、31、32、33、34中的像素值分别用于替换长期参考图像中的相同位置处的图像块的像素值。
下面以对当前待编码图像进行编码时的视频编码方法进行举例说明。在对当前待编码图像进行编码之前,根据当前待编码图像的类型确定当前待编码图像可作为参考图像。例如,由于当前待编码图像为I图像,因此确定当前待编码图像可作为参考图像。因此,在对当前待编码图像中的各图像块分别进行编码时,对于每一个图像块,确定该图像块是否可用于更新长期参考图像。
下面结合两个示例对确定图像块可用于更新长期参考图像的方法进行说明。
示例一
图像按照三个分量来存储,分别是Y、U、V三个分量。称当前待编码图像中的任意一个图像块为图像块1,称该当前待编码图像的前一帧已编码图像中与图像块1具有相同位置的图像块为图像块2。
图像块1和图像块2的Y分量中,各相同位置处的像素的像素值之差的总和为DistY。图像块1和图像块2的U分量中,各相同位置处的像素的像素值之差的总和为Dist U。图像块1和图像块2的V分量中,各相同位置处的像素的像素值之差的总和为Dist V。
图像块1的亮度分量总像素为PixCount,图像块1和图像块2之间的大误差点计数为LargeDist1。设置LargeDist1的初始值为0,当图像块1的亮度分量中出现一个和图像块2的亮度分量的相同位置处的像素值差值大于预设值(例如20)的像素时,LargeDist1累加1。
当同时满足以下4个条件时,认为图像块1是更新长期参考图像的备选块。
a)LargeDist1小于PixCount的预设比例(例如1%);
b)Dist Y小于PixCount的预设倍数(例如4倍);
c)Dist U小于PixCount的预设倍数(例如0.5倍);
d)DistV小于PixCount的预设倍数(例如0.5倍)。
在当前待编码图像中符合更新长期参考图像的备选块中,当该备选块的数量不大于M时,采用所有的备选块用作更新长期参考图像。
在当前待编码图像中符合更新长期参考图像的备选块中,当该备选块的数量大于M时,记每个图像块的代价cost为:Cost=(Dist Y+Dist U+DistV)/PixCount。当前待编码图像中选出cost最小的M个备选块用于更新所述的特定的参考图像。
示例二
图像按照三个分量来存储,分别是Y、U、V三个分量。称当前待编码图像中的任意一个图像块为图像块1,称该当前待编码图像的前一帧已编码图像中与图像块1具有相同位置的图像块为图像2,称该当前待编码图像的前两帧已编码图像中与图像块1具有相同位置的图像块为图像3。
图像块1和图像块2的Y分量中,各相同位置处的像素的像素值之差的总和为DistY。图像块1和图像块2的U分量中,各相同位置处的像素的像素值之差的总和为Dist U。图像块1和图像块2的V分量中,各相同位置处的像素的像素值之差的总和为Dist V。
图像块1和图像块3的Y分量中,各相同位置处的像素的像素值之差的总和为DistY’。图像块1和图像块2的U分量中,各相同位置处的像素的像素值之差的总和为Dist U’。图像块1和图像块2的V分量中,各相同位置处的像素的像素值之差的总和为Dist V’。
图像块1的亮度分量总像素为PixCount,图像块1和图像块2之间的大误差点计数为LargeDist1,图像块1和图像块3之间的大误差点计数为LargeDist2。设置LargeDist1和LargeDist2的初始值为0,当图像块1的亮度分量中出现一个和图像块2的亮度分量的相同位置处的像素值差值大于预设值(例如20)的像素时,LargeDist1累加1。当图像块1的亮度分量中出现一个和图像块3的亮度分量的相同位置处的像素值差值大于预设值(例如20)的像素时,LargeDist2累加1。
当同时满足以下4个条件时,认为图像块1是更新特定背景块的备选块。
a)LargeDist1和LargeDist2均小于PixCount的预设比例(例如2%);
b)Dist Y和Dist Y’均小于PixCount的预设倍数(例如6倍);
c)Dist U和Dist U’均小于PixCount的预设倍数(例如0.5倍);
d)DistV和Dist V’均小于PixCount的预设倍数(例如0.5倍)。
在当前待编码图像中符合更新长期参考图像的备选块中,当该备选块的数量不大于M时,采用所有的备选块用作更新长期参考图像。
在当前待编码图像中符合更新长期参考图像的备选块中,当该备选块的数量大于M时,记每个图像块的代价cost为:Cost=(Dist Y+Dist U+DistV)/PixCount。当前待编码图像中选出cost最小的M个备选块用于更新所述的特定的参考图像。
确定当前待编码图像中所有可用于更新长期参考图像的图像块(图4中具体为图像块41、42、43和44)之后,采用该所有可用于更新长期参考图像的图像块对长期参考图像进行更新。例如,如图4所示,图像块41、42、43和44中的像素值分别用于替换长期参考图像中的相同位置处的图像块的像素值。
如图5所示,图5是本申请的视频编码的方法的又一个实施例的流程示意图。如图5所示,方法包括:
401、当当前待编码图像可用于更新长期参考图像时,且当图像块可用于更新长期参考图像时,根据该图像块对长期参考图像中的特定图像块进行更新,其中,该图像块为当前待编码图像中的一个图像块,特定图像块在长期参考图像中的位置由图像块在当前待编码图像中的位置决定。
其中,确定当前待编码图像可用于更新长期参考图像的方法有多种。
在一些实施例中,当当前待编码图像可用于帧间预测时,确定当前待编码图像可用于更新该长期参考图像。例如,当确定当前待编码码图像为帧内预测图像或者为前向预测图像时,确定当前待编码图像可用于更新所述长期参考图像。例如,由于I图像和P图像(或前向预测图像)可以作为其他图像进行帧间预测的参考图像,因此,当确定当前待编码图像为I图像或者为P图像(或前向预测图像)时,确定当前待编码图像作为参考图像。在一些实施例中,部分B图像(或双向预测图像)也可作为其他图像进行帧间预测的参考图像,如在分层B(hierarchical B)技术中,位于层次较低的B图像可作为参考帧使用,因此,确定当前待编码图像是这一部分B图像时,也可以确定当前待编码图像可作为参考图像。
在一些实施例中,当所述当前待编码图像为帧内预测图像和/或随机访问点时,根据所述当前待编码图像的全部图像块对所述长期参考图像的全部图像块进行更新。
在一些实施例中,视频中的图像可作为参考图像(也即可用于帧间预测)时,是不区分作为长期参考图像还是作为短期参考图像的,只要当前待编码图像可以作为其他图像进行帧间预测的参考图像,即可确定当前待编码图像可作为参考图像,此时所述待编码图像中的图像块可用于更新特定图像块。
在一些实施例中,当当前待编码图像不可作为短期参考图像且不可作为长期参考图像时,确定所述待编码图像中的图像块不可用于更新所述长期参考图像中的特定图像块。
在一些实施例中,当当前待编码图像可作为短期参考图像且可作为长期参考图像时,确定所述待编码图像中的图像块可用于更新所述长期参考图像。
在一些实施例中,当当前待编码图像不可作为短期参考图像但可作为长期参考图像时,确定所述待编码图像可用于更新所述长期参考图像。
在一些实施例中,当当前待编码图像可作为短期参考图像但不可作为长期参考图像时,确定所述待编码图像不可用于更新所述长期参考图像,也即确定所述待编码图像中的图像块不用于更新长期参考图像中的特定图像块。
在一些实施例中,当当前待编码图像可作为短期参考图像但不可作为长期参考图像时,确定所述待编码图像可用于更新所述长期参考图像。
在一些实施例中,当当前待编码图像可作为短期参考图像且可作为长期参考图像时,确定所述待编码图像可用于更新所述长期参考图像。
在一些实施例中,还在以下至少一项中加入标识位,该标识位用于标识不可作为短期参考图像的图像是否可用于更新所述长期参考图像:
视频参数集、序列参数集、序列头、图像参数集、图像头、条带头、参考图像集、参考配置集。
可选的,该标识位为时域可伸缩标识位。当具有时域可伸缩需求时,所述标识位的值用于指示不可为短期参考图像的图像中的图像块不可用于更新所述长期参考图像;和/或,当不具有时域可伸缩需求时,所述标识位的值用于指示不可为短期参考图像的图像中的图像块可用于更新所述长期参考图像。
考虑到不可作为短期参考图像的图像中的图像块不用于更新长期参考图像会影响特定参考帧的更新速度,从而会影响特定参考帧对提升编码质量的作用,采用“不可作为短期参考图像但可作为长期参考图像的当前待编码图像中的图像块仍可用于更新特定参考帧”这样的方案,可以降低产生这样影响。
而且,“不可作为短期参考图像但可作为长期参考帧的当前待编码图像中的图像块仍可用于更新长期参考图像”这样的方案的意义在于,当编码系统不在意不作为短期参考图像的并行编码特性或不在意解码时直接丢弃不作为短期参考图像加快解码速度的特性时,采用该方案即能保证特定参考帧对提升编码质量的作用,又能兼顾在短期参考图像的概念中不可作为参考图像的图像的定义;当编码系统在意不作为短期参考图像的并行编码特性或在意解码时直接丢弃不作为短期参考图像加快编码速度的特性时,则仍可以规定不可作为短期参考图像的图像中的图像块不能用于对特定参考帧的更新。
进一步的,可以在视频参数集、序列参数集、序列头、图像参数集、图像头、条带头、参考图像集、参考配置集中的至少一项加入一标识位,该标识位用于标识不可作为短期参考图像的图像中的图像块信息是否可用于更新特定参考帧。在一些实施例中,标识位还可以为时域可伸缩标识位。当编码系统具有时域可伸缩需求时,设置所述标识位的值用于指示不可为短期参考图像的图像中的图像块不可用于特定参考帧的更新;和/或,当编码系统不具有时域可伸缩需求时,设置所述标识位的值用于指示不可为短期参考图像的图像中的图像块可用于特定参考帧的更新。
其中,关于长期参考图像以及特定图像块的解释可参考上面描述中对长期参考图像和特定图像块的解释,在此不再赘述。
其中,关于如何确定图像块可用于更新长期参考图像,可参考上面描述中对“确定图像块可用于更新长期参考图像”的解释,在此不再赘述。
其中,关于如何根据当前待编码图像中的图像块对长期参考图像中的特定图像块进行更新,可参考上面描述中对“根据当前待编码图像中的图像块对长期参考图像中的特定图像块进行更新”的解释,在此不再赘述。
在一些实施例中,当前待编码图像中可用于更新长期参考图像的图像块的数量可以是1个,也可以是大于1个。在一些实施例中,当前待编码图像中可用于更新长期参考图像的图像块的数量可以是没有限制的,也即当前待编码图像中所有满足可用于更新长期参考图像的条件的图像块都用于对长期参考图像进行更新。
在一些实施例中,可用于更新长期参考图像的图像块的数量较多,从编解码系统实现复杂度考虑,可将当前待编码图像中可用于更新长期参考图像的图像块的数量限制为不大于M,该M为不小于1的整数。
如此,在确定当前待编码图像中所有可用于更新长期参考图像的图像块之后,若确定出的图像块的数量不大于M,则分别根据确定出的每一个图像块对长期参考图像进行更新。根据每一个图像块对长期参考图像进行更新的方法可参考上述描述,在此不再赘述。若确定出的图像块的数量大于M,则从该确定出的图像块中挑选出其中的M个图像块,并根据该M个图像块对长期参考图像进行更新。
当前待编码图像对应的M的取值有多种确定方法。例如,当前待编码图像对应的M的取值是基于当前待编码图像的类型确定的。
在一些实施例中,当前待编码图像的类型不同时,该当前待编码图像对应的M的取值不同。具体举例来说,当前待编码图像为I图像时,该当前待编码图像最多有第一预设数值个图像块用于长期参考图像的更新;当前待编码图像为P图像(或前向预测图像)时,该当前待编码图像最多有第二预设数值个图像块用于长期参考图像的更新;当前待编码图像为B图像(或双向预测图像)时,该当前待编码图像最多有第三预设数值个图像块用于长期参考图像的更新,其中,该第一预设数值、第二预设数值和第三预设数值不同。
在一些实施例中,当前待编码图像对应的M的取值是基于当前待编码图像所属类型的图像总数确定的。具体举例来说,如I图像对应的M值为视频中I图像的图像总数的一半;P图像(或前向预测图像)对应的M值为P图像(或前向预测图像)的图像总数的四分之一;可作为参考图像使用的B图像(或双向预测图像)对应的M值为B图像(或双向预测图像)的图像总数的八分之一。
从当前待编码图像中确定出的所有可用于更新长期参考图像的图像块中挑选出其中的M个图像块的方法有多种。具体可参考上面描述中对“从当前待编码图像中确定出的所有可用于更新长期参考图像的图像块中挑选出其中的M个图像块的方法”的解释,在此不在赘述。
在视频技术中,不被作为参考图像的图像在编码和解码过程中自身的图像信息不会用于其它图像的编码和解码过程,也即出现部分图像不可用于更新长期参考图像时也会被用于更新长期参考图像。本实施例中在确定当前待编码图像可用于更新长期参考图像时,才考虑采用该当前待编码图像中的图像块来对长期参考图像进行更新,避免了部分图像不可用于更新长期参考图像时也会被用于更新长期参考图像的情况,例如避免了长期参考图像的构造过程与不被作为参考图像的图像的定义相违背的情况。此外,不被作为参考图像的图像在解码时由于不用做其它图像的解码过程,因此所述不被作为参考图像的图像在解码时可以不被解码,从而能加快视频码流的解码速度,实现视频内容的变帧率播放。进一步的,在一些实施例中,在确定当前待编码图像可作为参考图像时,才考虑采用该当前待编码图像中的图像块来对长期参考图像进行更新,避免了采用不可作为参考图像的图像中的图像块对长期参考图像进行更新时无法实现丢弃部分不可作为参考图像的情况。
在一些实施例中,当当前待编码图像不可用于更新长期参考图像时,不用当前待编码图像中的图像块对所述长期参考图像中的特定图像块进行更新。例如,当所述当前待编码图像不可用于帧间预测时,确定所述当前待编码图像不可用于更新长期参考图像。又例如,当当前待编码图像可作为短期参考图像但不可作为长期参考图像时,确定所述待编码图像中的图像块不用于更新所述长期参考图像中中的特定图像块。又例如,当当前待编码图像不可作为短期参考图像也不可作为长期参考图像时,确定所述待编码图像中的图像块不用于更新所述长期参考图像中的特定图像块。
在一些实施例中,在确定当前待编码图像可用于更新长期参考图像之后,编码端还在视频参数集(video parameter set,VPS)、序列参数集(sequence parameter set,SPS)、序列头(sequence header)、图像头(picture header)、条带头(slice header)、参考图像集(reference picture set,RPS)和参考图像配置集(reference configurationset,RCS)中的至少一项中写入参数或者标识位,以指示该当前待编码图像可用于更新长期参考图像。
在一些实施例中,在确定当前待编码图像可用于更新长期参考图像之后,还编码当前待编码图像中的图像块的标识位,该标识位用于标识该当前待编码图像中的图像块是否用于对所述长期参考图像进行更新。
以上结合图2、图3、图4和图5从编码端描述了根据本申请实施例的视频编码方法,下面将结合图6从解码端详细描述根据本申请另一实施例的视频编码方法。图6是根据本申请另一实施例的视频解码方法的示意图。该方法可以由图像处理装置执行,所述图像处理装置可以是各种类型的用于图像处理的芯片、图像处理器等。如图6所示,视频解码方法包括:
501、当当前待解码图像可作为参考图像时,且当图像块可用于更新长期参考图像时,根据所述图像块对长期参考图像中的特定图像块进行更新,其中,所述图像块为所述当前待解码图像中的一个图像块,所述特定图像块在所述长期参考图像中的位置由所述图像块在所述当前待解码图像中的位置决定。
在一些实施例中,确定当前待解码图像可作为参考图像,可以发生在对该待解码图像进行解码之前。如此,可以根据该确定的结果在对待解码图像中的各图像块进行解码时或者解码后判断各图像块满足用于更新长期参考图像的条件。或者,确定当前待解码图像可作为参考图像,也可以发生在对待解码图像中的各图像块进行解码时或者解码后,也即在对每一个图像块解码时或者解码后,首先确定该图像块当前所在图像是可作为参考图像的图像,当确定可作为参考图像时,再判断该图像块可用于更新长期参考图像。
在一些实施例中,确定当前待解码图像可作为参考图像,可通过获取用于指示当前待解码图像的参考关系的参数或者标识位,并根据该参数或者标识位确定当前待解码图像是否为可作为参考图像的图像。其中,可通过多种途径获取用于指示当前待解码图像的参考关系的参数或者标识位。例如,可从视频参数集(video parameter set,VPS)、序列参数集(sequence parameter set,SPS)、序列头(sequence header)、图像头(pictureheader)、条带头(slice header)、参考图像集(reference picture set,RPS)和参考图像配置集(reference configuration set,RCS)中的至少一项来获取用于指示当前待解码图像的参考关系的参数或者标识位。
在一些实施例中,由于I图像和P图像(或前向预测图像)可以作为其他图像进行帧间预测的参考图像,因此,当确定当前待解码图像为I图像或者为P图像(或前向预测图像)时,确定当前待解码图像是可作为参考图像的图像。在一些实施例中,部分B图像(或双向预测图像)也可作为用于帧间预测的参考图像,如在分层B(hierarchical B)技术中,位于层次较低的B图像可作为参考帧使用,因此,确定当前待编码图像是这一部分B图像时,也可以确定当前待编码图像可作为参考图像。
判断图像块可用于更新长期参考图像的方法,可以参考上面描述中判断当前待编码图像中的图像块可用于更新长期参考图像的方法。或者,在一些实施例中,解码端还从码流中解析出各图像的标识位,其中,每个图像的标识位用于指示该图像中的各图像块是否用于对长期参考图像进行更新。解码端可以从中获取到图像块的标识位,并根据该标识位判断该图像块是否用于更新长期参考图像。
其中,根据图像块对长期参考图像中的特定图像块进行更新的方法,可以参考上面描述中根据当前待编码图像中的图像块对长期参考图像中的特定图像块进行更新的方法,在此不在赘述。其中,特定图像块在所述长期参考图像中的位置具体如何由该图像块在当前待解码图像中的位置决定,可以参考步骤101中特定图像块在长期参考图像中的位置具体如何由该图像块在当前待编码图像中的位置决定,在此不再赘述。
其中,在一些实施例中,当前待解码图像中可用于更新长期参考图像的图像块的数量可以是1个,也可以是大于1个。在一些实施例中,当前待解码图像中可用于更新长期参考图像的图像块的数量可以是没有限制的,也即当前待解码图像中所有满足可用于更新长期参考图像的条件的图像块都用于对长期参考图像进行更新。
在一些实施例中,可用于更新长期参考图像的图像块的数量较多,从编解码系统实现复杂度考虑,可将当前待解码图像中可用于更新长期参考图像的图像块的数量限制为不大于M,该M为不小于1的整数。
如此,在确定当前待解码图像中所有可用于更新长期参考图像的图像块之后,若确定出的图像块的数量不大于M,则分别根据确定出的每一个图像块对长期参考图像进行更新。根据每一个图像块对长期参考图像进行更新的方法可参考上述描述,在此不再赘述。若确定出的图像块的数量大于M,则从该确定出的图像块中挑选出其中的M个图像块,并根据该M个图像块对长期参考图像进行更新。
当前待解码图像对应的M的取值可以是基于多种确定方法的。例如,当前待解码图像对应的M的取值是基于当前待解码图像的类型确定的。在一些实施例中,当前待解码图像的图像类型不同时,该当前待解码图像对应的M的取值不同。具体举例来说,当前待解码图像为I图像时,该当前待解码图像最多有第一预设数值个图像块用于长期参考图像的更新;当前待解码图像为P图像(或前向预测图像)时,该当前待解码图像最多有第二预设数值个图像块用于长期参考图像的更新;当前待解码图像为B图像(或双向预测图像)时,该当前待解码图像最多有第三预设数值个图像块用于长期参考图像的更新,其中,该第一预设数值、第二预设数值和第三预设数值不同。
在一些实施例中,当前待解码图像对应的M的取值是基于当前待解码图像所属类型的图像总数确定的。具体举例来说,如I图像对应的M值为视频中I图像的图像总数的一半;P图像(或前向预测图像)对应的M值为P图像(或前向预测图像)的图像总数的四分之一;可作为参考图像使用的B图像(或双向预测图像)对应的M值为B图像(或双向预测图像)的图像总数的八分之一。
在一些实施例中,以下至少一项中携带有当前待解码图像中可用于更新所述长期参考图像的图像块的数量:当前待解码图像的图像头、当前解码图像的图像参数集、当前待解码图像对应的序列头、当前待解码图像对应的序列参数集、当前待解码图像对应的视频参数集。解码端可从其中解析出当前待解码图像中可用于更新所述长期参考图像的图像块的数量。
在一些实施例中,当前待解码图像对应的M的取值仅用于告知解码端当前图像最多有多少个图像块可用于特定参考帧的更新,这样可以便于解码端的设计,从而降低解码端的复杂度。
如图7所示,图7是本申请的视频解码的方法的又一个实施例的流程示意图。如图7所示,方法包括:
601、当当前待编码图像可用于更新长期参考图像时,且当图像块可用于更新长期参考图像时,根据所述图像块对长期参考图像中的特定图像块进行更新,其中,所述图像块为所述当前待编码图像中的一个图像块,所述特定图像块在所述长期参考图像中的位置由所述图像块在所述当前待编码图像中的位置决定。
其中,确定当前待编码图像可用于更新长期参考图像的方法有多种。
在一些实施例中,当所述当前待解码图像可用于帧间预测时,确定当前待解码图像可用于更新所述长期参考图像。例如,由于I图像和P图像(或前向预测图像)可以作为其他图像进行帧间预测的参考图像,因此,当确定当前待解码图像为I图像或者为P图像(或前向预测图像)时,确定当前待解码图像是可作为参考图像的图像。在一些实施例中,部分B图像(或双向预测图像)也可作为用于帧间预测的参考图像,如在分层B(hierarchical B)技术中,位于层次较低的B图像可作为参考帧使用,因此,确定当前待编码图像是这一部分B图像时,也可以确定当前待编码图像可作为参考图像。
在一些实施例中,当所述当前待编码图像为帧内预测图像和/或随机访问点时,根据所述当前待解码图像的全部图像块对所述长期参考图像的全部图像块进行更新。具体解释可参考上面对“根据所述当前待解码图像的全部图像块对所述长期参考图像的全部图像块进行更新”的解释,在此不再赘述。
确定当前待解码图像可作为参考图像(也即可用于帧间预测),可通过获取用于指示当前待解码图像的参考关系的参数或者标识位,并根据该参数或者标识位确定当前待解码图像是否为可作为参考图像的图像。其中,所述当前待解码图像的参考关系可以指的是所述当前带解码图像为短期参考图像或者长期参考图像。其中,可通过多种途径获取用于指示当前待解码图像的参考关系的参数或者标识位。例如,可从视频参数集(videoparameter set,VPS)、序列参数集(sequence parameter set,SPS)、序列头(sequenceheader)、图像头(picture header)、条带头(slice header)、参考图像集(referencepicture set,RPS)和参考图像配置集(reference configuration set,RCS)中的至少一项来获取用于指示当前待解码图像的参考关系的参数或者标识位。
在一些实施例中,视频中的图像可作为参考图像时,是不区分作为长期参考图像还是作为短期参考图像的,只要当前待解码图像可以作为其他图像进行帧间预测的参考图像,即可确定当前待解码图像可作为参考图像,此时当前待编码图像可用于更新长期参考图像。
在一些实施例中,当当前待解码图像不可作为短期参考图像且不可作为长期参考图像时,确定所述待解码图像不可用于更新所述长期参考图像,也即确定所述待解码图像中的图像块不用于更新长期参考图像中的特定图像块。
在一些实施例中,当当前待解码图像可作为短期参考图像且可作为长期参考图像时,确定所述待解码图像中的图像块可用于更新所述长期参考图像。
在一些实施例中,当当前待解码图像不可作为短期参考图像但可作为长期参考图像时,确定所述待解码图像可用于更新所述长期参考图像。
在一些实施例中,当当前待解码图像可作为短期参考图像但不可作为长期参考图像时,确定所述待解码图像不可用于更新所述长期参考图像,也即确定所述待解码图像中的图像块不用于更新长期参考图像中的特定图像块。
在一些实施例中,当当前待解码图像可作为短期参考图像但不可作为长期参考图像时,确定所述待解码图像可用于更新所述长期参考图像。
在一些实施例中,当当前待解码图像可作为短期参考图像且可作为长期参考图像时,确定所述待解码图像可用于更新所述长期参考图像。
确定当前带解码图像是哪一种图像的方法有多种,例如可通过以在视频参数集、序列参数集、序列头、图像参数集、图像头、条带头、参考图像集、参考配置集中解析获得当前图像是短期参考图像还是长期参考图像。
进一步的,还可通过以在视频参数集、序列参数集、序列头、图像参数集、图像头、条带头、参考图像集、参考配置集中的至少一项解析出一标识位,所述标识位用于标识所述待解码图像是否可用于更新所述长期参考图像。在一些实施例中,标识位还可以为时域可伸缩标识位。当解码端具有时域可伸缩需求时,该标识位的值用于指示不可为短期参考图像的图像中的图像块不可用于特定参考帧的更新;和/或,当解码端不具有时域可伸缩需求时,该标识位的值用于指示不可为短期参考图像的图像中的图像块可用于特定参考帧的更新。
其中,关于长期参考图像以及特定图像块的解释可参考上面描述中对长期参考图像和特定图像块的解释,在此不再赘述。
其中,关于如何确定图像块可用于更新长期参考图像,可参考上面描述中对“确定图像块可用于更新长期参考图像”的解释,在此不再赘述。
在一些实施例中,还获取当前待解码图像的图像块的标识位,其中,该标识位用于标识该当前待解码图像中的图像块是否用于对所述长期参考图像进行更新。根据所述标识位确定可用于更新长期参考图像的图像块。
其中,关于如何根据当前待解码图像中的图像块对长期参考图像中的特定图像块进行更新,可参考上面描述中对“根据当前待解码图像中的图像块对长期参考图像中的特定图像块进行更新”的解释,在此不再赘述。
其中,在一些实施例中,当前待解码图像中可用于更新长期参考图像的图像块的数量可以是1个,也可以是大于1个。在一些实施例中,当前待解码图像中可用于更新长期参考图像的图像块的数量可以是没有限制的,也即当前待解码图像中所有满足可用于更新长期参考图像的条件的图像块都用于对长期参考图像进行更新。
在一些实施例中,可用于更新长期参考图像的图像块的数量较多,从编解码系统实现复杂度考虑,可将当前待解码图像中可用于更新长期参考图像的图像块的数量限制为不大于M,该M为不小于1的整数。
如此,在确定当前待解码图像中所有可用于更新长期参考图像的图像块之后,若确定出的图像块的数量不大于M,则分别根据确定出的每一个图像块对长期参考图像进行更新。根据每一个图像块对长期参考图像进行更新的方法可参考上述描述,在此不再赘述。若确定出的图像块的数量大于M,则从该确定出的图像块中挑选出其中的M个图像块,并根据该M个图像块对长期参考图像进行更新。
当前待解码图像对应的M的取值可以是基于多种确定方法的。例如,当前待解码图像对应的M的取值是基于当前待解码图像的类型确定的。在一些实施例中,当前待解码图像的图像类型不同时,该当前待解码图像对应的M的取值不同。具体举例来说,当前待解码图像为I图像时,该当前待解码图像最多有第一预设数值个图像块用于长期参考图像的更新;当前待解码图像为P图像(或前向预测图像)时,该当前待解码图像最多有第二预设数值个图像块用于长期参考图像的更新;当前待解码图像为B图像(或双向预测图像)时,该当前待解码图像最多有第三预设数值个图像块用于长期参考图像的更新,其中,该第一预设数值、第二预设数值和第三预设数值不同。
在一些实施例中,当前待解码图像对应的M的取值是基于当前待解码图像所属类型的图像总数确定的。具体举例来说,如I图像对应的M值为视频中I图像的图像总数的一半;P图像(或前向预测图像)对应的M值为P图像(或前向预测图像)的图像总数的四分之一;可作为参考图像使用的B图像(或双向预测图像)对应的M值为B图像(或双向预测图像)的图像总数的八分之一。
在一些实施例中,以下至少一项中携带有当前待解码图像中可用于更新所述长期参考图像的图像块的数量:当前待解码图像的图像头、当前解码图像的图像参数集、当前待解码图像对应的序列头、当前待解码图像对应的序列参数集、当前待解码图像对应的视频参数集。解码端可从其中解析出当前待解码图像中可用于更新所述长期参考图像的图像块的数量。
在一些实施例中,当前待解码图像对应的M的取值仅用于告知解码端当前图像最多有多少个图像块可用于特定参考帧的更新,这样可以便于解码端的设计,从而降低解码端的复杂度。
在一些实施例中,当确定所述当前待解码图像不可用于除所述当前待解码图像的图像进行帧间预测时,确定所述图像块不用于更新所述长期参考图像。
在一些实施例中,当当前待解码图像可作为短期参考图像但不可作为长期参考图像时,确定所述待解码图像中的图像块不用于更新所述长期参考图像。
在一些实施例中,当当前待解码图像不可作为短期参考图像且不可作为长期参考图像时,确定所述待解码图像中的图像块不可用于更新所述长期参考图像。
在本申请的实施例中,码流中包括第一类型帧和第二类型帧,还可以包括第三类型帧和第四类型帧。第一类型帧为I帧或者为随机访问点,或者第一类型帧同时为I帧和随机访问点。第二类型帧是编码顺序在第一类型帧之后,显示顺序在第一类型帧之前的帧间编码帧。第二类型帧可以是P帧或者B帧。第三类型帧是编码顺序在第一类型帧之前的帧间编码帧。第三类型帧的显示顺序可以在第一类型帧之前。第三类型帧可以是P帧或者B帧。第四类型帧是编码顺序在第一类型帧之后,显示顺序在第一类型帧之后的帧间编码帧。第四类型帧可以是P帧或者B帧。
其中,本文中提到的帧间编码包括对整帧图像进行帧间编码或对整帧图像中的至少一个图像块进行帧间编码。该帧间编码的定义适用于所有类型帧。
下面先从编码端角度详细说明本申请实施例的编码方法。
图8是本申请的一个实施例的编码方法800的示意性流程图。如图8所示,编码方法800包括以下步骤。
S810,对第一类型帧进行编码,其中,按编码顺序第一类型帧之后存在需要进行帧间编码的N个第二类型帧,N个第二类型帧的显示顺序在第一类型帧之前,其中,N为正整数。
S820,根据长期参考图像对N个第二类型帧中的至少一个第二类型帧进行帧间编码。
S830,在完成N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像。
本申请实施例的编码方法,在完成编码顺序在第一类型帧之后、显示顺序在第一类型帧之前的N个第二类型帧中的至少一个第二类型帧的帧间编码后,才替换当前使用的长期参考图像,使得至少一个第二类型帧可以参考第一类型帧之前的长期参考图像,可以提高编码效率。
可选地,对第一类型帧进行编码,是指对第一类型帧进行帧内编码。
可选地,第一类型帧为随机访问点。本实施例中,在完成编码顺序在随机访问点之后、显示顺序在随机访问点之前的N个第二类型帧中的至少一个第二类型帧的帧间编码后,才替换当前使用的长期参考图像,使得至少一个第二类型帧可以参考随机访问点之前的长期参考图像,可以提高编码效率。应理解,本申请实施例的方法可以仅应用于视频中的随机访问点,或者可以应用于视频中的I帧。
一般而言,S830中的至少一个第二类型帧在编码顺序上集中位于N个第二类型帧的一部分上,尤其是集中位于N个第二类型帧的前部。例如,该至少一个第二类型帧可以是N个第二类型帧中编码顺序相对更靠前的一部分第二类型帧。本申请实施例的方案不仅限于S830的情况。即,至少一个第二类型帧可以参考随机访问点之前的长期参考图像,该至少一个第二类型帧可以分别位于N个第二类型帧中的任何位置。N个第二类型帧中除至少一个第二类型帧以外的其他第二类型帧参考替换后的新的长期参考图像。可选地,该至少一个第二类型帧可以是N个第二类型帧中显示顺序相对更靠前的一部分第二类型帧。至少一个第二类型帧也可以位于N个第二类型帧中的其他位置,本申请实施例对此不作限定。
在本申请一个具体的实施例中,S830在完成所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像,可以包括:在完成所述N个第二类型帧中的所有第二类型帧的帧间编码后,替换当前使用的长期参考图像。即所有的编码顺序在第一类型帧之后,显示顺序在第一类型帧之前的帧均参考第一类型帧之前的长期参考图像。所有第二类型帧均参考随机访问点之前的长期参考图像,可以最大限度地提高编码效率。
本申请另一个实施例的编码方法可以包括如下步骤。对第一类型帧进行帧内编码,其中,按编码顺序,第一类型帧之前存在进行帧间编码的第三类型帧(可以是一帧或多帧),所述第一类型帧之后存在显示顺序在所述第一类型帧之前的需要进行帧间编码的N个第二类型帧,所述第三类型帧参考长期参考图像进行编码。以所述长期参考图像为基础,对N个第二类型帧中的至少一个第二类型帧进行帧间编码。
至少一个第二类型帧可以参考随机访问点之前的长期参考图像,即至少一个第二类型帧以参考随机访问点之前的长期参考图像为基础。N个第二类型帧中除至少一个第二类型帧以外的其他第二类型帧参考替换后的新的长期参考图像,例如参考随机访问点之后的长期参考图像。
进一步地,可以以参考随机访问点之前的长期参考图像为基础,对N个第二类型帧中所有的第二类型帧进行帧间编码。
在本申请的一些实施例中,按编码顺序所述第一类型帧之前存在需要进行帧间编码的第三类型帧。S820基于长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,可以包括:基于所述第三类型帧进行帧间编码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码。其中,所更新的长期参考图像,可以是在所述第三类型帧进行帧间编码之后基于所述第三类型帧的特定图像块更新的;或者,可以是在所述第三类型帧的特定图像块进行帧间编码之后,基于所述特定图像块更新的。可选地,第三类型帧在所述第一类型帧之前显示。
在本申请一个具体的实施例中,第一类型帧之前的长期参考图像可以是经过第一类型帧之前的一帧或多帧已编码图像更新后的长期参考图像。该长期参考图像可以是以例如第一类型帧之前的长期参考图像为基础的。该第一类型帧之前的长期参考图像可以被不断更新,例如是经过第三类型帧中的一帧或多帧已编码图像更新后的长期参考图像,在本文中更新后的第一类型帧之前的长期参考图像仍被称为第一类型帧之前的长期参考图像。
在本申请的一些实施例中,基于长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,并通过第二类型帧中的一帧或多帧已编码图像更新长期参考图像,以供后续待编码的帧参考。
在一个具体的实施例中,S820基于长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,可以包括:基于长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧完成编码时,使用所述完成编码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像。
在一个具体的实施例中,S820基于长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,可以包括:基于长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧的特定图像块完成编码时,使用所述完成编码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
在本申请的一些实施例中,替换当前使用的长期参考图像,可以包括:以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一个具体的实施例中,所述替换当前使用的长期参考图像,可以包括:在完成对所述第一类型帧的编码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。即可以将第一类型帧的重建图像放入参考图像缓冲区中,作为短期参考图像并一直保存。在完成对至少一个第二类型帧的帧间编码后,将第一类型帧的重建图像从所述参考图像缓冲区中输出,作为编码过程中新的长期参考图像。
在一个具体的实施例中,所述将所述第一类型帧的重建图像放入参考图像缓冲区中,可以包括:当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。即在将所述第一类型帧的重建图像放入参考图像缓冲区之前,可以判断参考图像缓冲区中是否存在第一类型帧的重建图像。当参考图像缓冲区中不存在第一类型帧的重建图像时,将第一类型帧的重建图像放入参考图像缓冲区中。
在本申请的一些实施例中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后。所述编码方法还可以包括:以所述替换后的长期参考图像为长期参考图像的基础,对所述第四类型帧进行帧间编码。
可选地,第四类型帧可以包括一帧或多帧。
可选地,可以参考替换后的长期参考图像,对第四类型帧进行帧间编码。或者,在第四类型帧包括多帧时,可以基于替换后的长期参考图像对多个第四类型帧中的一帧或多帧进行帧间编码,并通过第四类型帧中的一帧或多帧已编码图像更新该长期参考图像,以供后续待编码的帧参考。
在一个具体的实施例中,可以基于替换后的长期参考图像对多个第四类进行帧间编码,在每个第四类型帧完成编码时,使用完成编码的第四类型帧更新该长期参考图像,以所述更新后的长期参考图像作为下一个第四类型帧的长期参考图像。
在一个具体的实施例中,所述第一类型帧进行编码之后,以及按编码顺序所述第一类型帧的下一帧编码之前,所述长期参考图像保持不变。
在一个具体的实施例中,在更新长期参考图像是,是在对所述第一类型帧以外的至少部分图像帧编码之后,基于所述图像帧中的部分图像块对所述长期参考图像中的部分图像块进行更新;或者,在对所述第一类型帧以外的至少部分图像帧中的特定图像块编码之后,基于所述特定图像块对所述长期参考图像中的部分图像块进行更新。
图9是本申请一个实施例的编码方法900的示意性流程图。如图9所示,方法900包括以下步骤。
S910,对第一类型帧(例如为随机访问点)进行编码。
S920,在对第一类型帧(例如为随机访问点)进行编码之后,还存在若干显示顺序在第一类型帧之前的第二类型帧需要处理。在对第二类型帧进行编码时,保持并继续维护参考图像缓冲区(短期参考图像缓冲区),并使至少一个第二类型帧在编码时参考第一类型帧之前(包括第三类型帧,还可以包括第一类型帧)所使用的长期参考图像。
S930,剩余的第二类型帧和/或第二类型帧之后的第四类型帧在编码时参考第一类型帧的重建图像构造的长期参考图像。
S940,编码完所有的第二类型帧后,对参考图像缓冲区进行维护,删除所有显示顺序在第一类型帧之前的短期参考图像。
在编码的过程中,可以不断对长期参考图像进行更新。
一种可选的实现方式中,在对这些第二类型帧进行编码时,保持并继续维护参考图像缓冲区(短期参考图像缓冲区),并使所有第二类型帧在编码时参考第一类型帧之前(包括第三类型帧,还可以包括第一类型帧)所使用的长期参考图像。其中,编码完所有的第二类型帧后,对参考图像缓冲区进行维护,删除所有显示顺序在第一类型帧之前的短期参考图像。用第一类型帧的重建图像构造的长期参考图像替换原长期参考图像。第二类型帧之后的第四类型帧在编码时参考第一类型帧的重建图像构造的长期参考图像。在编码的过程中,可以不断对长期参考图像进行更新。
下面以具体的视频序列编码来说明本申请实施例的编码方法。
一个例子中,编码序列为I0P8B4B2B1B3B6B5B7I16B12B10B9B11B14B13B15P24B20B18B17B19B22B21B23…
其中,I0和I16为并且为随机访问点。假设I16为第一类型帧,那么B12B10B9B11B14B13B15为第二类型帧,P8B4B2B1B3B6B5B7等均可以视为第三类型帧,P24B20B18B17B19B22B21B23…为第四类型帧。
在完成I0的编码之后,将I0的重建图像构放入参考图像缓冲区,由于I0之后不存在显示顺序在I0之前的帧,参考图像缓冲区中不存在显示顺序在I0以前的帧,使用参考图像缓冲区中I0的重建图像构造长期参考图像,继续对显示顺序在I0之后的P8B4B2B1B3B6B5B7进行编码,并且更新参考图像缓冲区和I0的重建图像构造的长期参考图像。
在完成I16的编码之后,将I16的重建图像放入参考图像缓冲区,继续对显示顺序在I16以前的B12B10B9B11B14B13B15进行编码。这些第二类型帧参考的长期参考图像为I0的重建图像构造的长期参考图像,并且在每完成每一个第二类型帧的编码后,可以根据已编码的第二类型帧更新I0的重建图像构造的长期参考图像。完成B15的编码之后,后续没有显示顺序在I16之前的帧,此时将参考图像缓冲区中的I16的重建图像输出,作为新的长期参考图像,即用I16的重建图像构造的长期参考图像替换I0的重建图像构造的长期参考图像。将参考图像缓冲区中显示顺序在I16之前的所有短期参考图像都清除。之后继续对P24B20B18B17B19B22B21B23…进行编码,并且更新参考图像缓冲区和I16的重建图像构造的长期参考图像。
另一个例子中,编码序列为I0P8B4B2B1B3B6B5B7I16B12B10B9B11B14B13B15P24B20B18B17B19B22B21B23…
其中,I0和I16为并且为随机访问点。假设I16为第一类型帧,那么B12B10B9B11B14B13B15为第二类型帧,P8B4B2B1B3B6B5B7等均可以视为第三类型帧,P24B20B18B17B19B22B21B23…为第四类型帧。
在完成I0的编码之后,将I0的重建图像构放入参考图像缓冲区,由于I0之后不存在显示顺序在I0之前的帧,参考图像缓冲区中不存在显示顺序在I0以前的帧,使用参考图像缓冲区中I0的重建图像构造长期参考图像,继续对显示顺序在I0之后的P8B4B2B1B3B6B5B7进行编码,并且更新参考图像缓冲区和I0的重建图像构造的长期参考图像。
在完成I16的编码之后,将I16的重建图像放入参考图像缓冲区,继续对显示顺序在I16以前的一部分第二类型帧B12B10B9B11进行编码。这些第二类型帧参考的长期参考图像为I0的重建图像构造的长期参考图像,并且在每完成一个第二类型帧的编码后,可以根据已编码的第二类型帧更新I0的重建图像构造的长期参考图像。完成B11的编码之后,将参考图像缓冲区中的I16的重建图像输出,作为新的长期参考图像,即用I16的重建图像构造的长期参考图像替换I0的重建图像构造的长期参考图像。另一部分第二类型帧B14B13B15可以参考I16的重建图像(I16的重建图像构造的长期参考图像)进行编码。在一些实施例中,还对指示码流中哪一帧开始为该另一部分第二类型帧的标识进行编码,或者,编解码段均默认设置开始为该另一部分第二类型帧的第一帧。在每完成一个第二类型帧的编码后,可以根据已编码的第二类型帧更新I16的重建图像构造的长期参考图像。在完成B15的编码后,将参考图像缓冲区中显示顺序在I16之前的所有短期参考图像都清除。将参考图像缓冲区中的I16的重建图像输出,作为新的长期参考图像,即用I16的重建图像构造的长期参考图像再次替换I0的重建图像构造的长期参考图像。之后继续对P24B20B18B17B19B22B21B23…进行编码,并且更新参考图像缓冲区和I16的重建图像构造的长期参考图像。
再从解码端角度详细说明本申请实施例的解码方法。
图10是本申请一个实施例的在随机访问点处的解码方法1000的示意性流程图。如图10所示,解码方法1000包括以下步骤。
S1010,判断在随机访问点处是否使用随机访问功能。在使用随机访问功能时,执行1200进行解码;在不使用随机访问功能时,执行1100进行解码。
1100和1200的具体步骤在下文中展开。完成1100或1200后执行S1020。
S1020,继续对后续的帧进行解码。
图11是本申请一个实施例的在随机访问点处的解码方法1100的示意性流程图。如图11所示,1100可以包括以下步骤。
S1110,对第一类型帧进行解码,其中,按解码顺序第一类型帧之后存在需要进行帧间解码的N个第二类型帧,N个第二类型帧的显示顺序在第一类型帧之前,其中,N为正整数。
S1120,根据长期参考图像对N个第二类型帧中的至少一个第二类型帧进行帧间解码。
S1130,在完成N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像。
本申请实施例的编码方法,在完成解码顺序在第一类型帧之后、显示顺序在第一类型帧之前的N个第二类型帧中的至少一个第二类型帧的帧间编码后,才替换当前使用的长期参考图像,使得至少一个第二类型帧可以参考第一类型帧之前的长期参考图像,可以提高解码效率。
在一些实施例中,所述第一类型帧即为随机访问点。
在一些实施例中,所述第一类型帧为清除随机访问点。
在一些实施例中,S1130在完成所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像,可以包括:在完成所述N个第二类型帧中的所有第二类型帧的帧间解码后,替换当前使用的长期参考图像。
在一些实施例中,所述替换当前使用的长期参考图像,可以包括:以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述替换当前使用的长期参考图像,包括:在完成对所述第一类型帧的解码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述将所述第一类型帧的重建图像放入参考图像缓冲区中,可以包括:当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
在一些实施例中,按解码顺序所述第一类型帧之前存在需要进行帧间解码的第三类型帧,所述根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,可以包括:根据所述第三类型帧进行帧间解码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码。
在一些实施例中,所述第三类型帧可以在所述第一类型帧之前显示。
在一些实施例中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,所述解码方法还包括:根据所述替换后的长期参考图像对所述第四类型帧进行帧间解码。
在一些实施例中,所述所更新的长期参考图像,是在所述第三类型帧进行帧间解码之后基于所述第三类型帧的特定图像块更新的;或者,所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间解码之后,基于所述特定图像块更新的。
在一些实施例中,所述根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,包括:根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧完成解码时,使用所述完成解码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;或者,根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧的特定图像块完成解码时,使用所述完成解码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
在一些实施例中,所述第一类型帧进行解码之后,以及按解码顺序所述第一类型帧的下一帧解码之前,所述长期参考图像保持不变。
在一些实施例中,所述方法还包括:在对所述第一类型帧以外的至少部分图像帧解码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;或者,在对所述第一类型帧以外的至少部分图像帧中的特定图像块解码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。
其中,解码方法1100的具体实现可以与编码方法800的具体实现相对应,此处不再进行赘述。
下面以具体的视频序列编码来说明本申请实施例的不使用随机访问功能的解码方法1100。
一个例子中,解码序列为I0P8B4B2B1B3B6B5B7I16B12B10B9B11B14B13B15P24B20B18B17B19B22B21B23…
其中,I0和I16为并且为随机访问点。假设I16为第一类型帧,那么B12B10B9B11B14B13B15为第二类型帧,P8B4B2B1B3B6B5B7等均可以视为第三类型帧,P24B20B18B17B19B22B21B23…为第四类型帧。
在完成I0的解码之后,将I0的重建图像构放入参考图像缓冲区,由于I0之后不存在显示顺序在I0之前的帧,参考图像缓冲区中不存在显示顺序在I0以前的帧,使用参考图像缓冲区中I0的重建图像构造长期参考图像,继续对显示顺序在I0之后的P8B4B2B1B3B6B5B7进行解码,并且更新参考图像缓冲区和I0的重建图像构造的长期参考图像。
在完成I16的解码之后,将I16的重建图像放入参考图像缓冲区,继续对显示顺序在I16以前的B12B10B9B11B14B13B15进行解码。这些第二类型帧参考的长期参考图像为第三类型帧所参考的长期参考图像,并且在每完成每一个第二类型帧的解码后,可以根据已解码的第二类型帧更新该长期参考图像。完成B15的解码之后,后续没有显示顺序在I16之前的帧,此时将参考图像缓冲区中的I16的重建图像输出,作为新的长期参考图像,即用I16的重建图像构造的长期参考图像替换当前长期参考图像。将参考图像缓冲区中显示顺序在I16之前的所有短期参考图像都清除。之后继续对P24B20B18B17B19B22B21B23…进行解码,并且更新参考图像缓冲区和I16的重建图像所替换的长期参考图像。
另一个例子中,解码序列为I0P8B4B2B1B3B6B5B7I16B12B10B9B11B14B13B15P24B20B18B17B19B22B21B23…
其中,I0和I16为并且为随机访问点。假设I16为第一类型帧,那么B12B10B9B11B14B13B15为第二类型帧,P8B4B2B1B3B6B5B7等均可以视为第三类型帧,P24B20B18B17B19B22B21B23…为第四类型帧。
在完成I0的解码之后,将I0重建图像构放入参考图像缓冲区,由于I0之后不存在显示顺序在I0之前的帧,参考图像缓冲区中不存在显示顺序在I0以前的帧,使用参考图像缓冲区中I0的重建图像构造长期参考图像,继续对显示顺序在I0之后的P8B4B2B1B3B6B5B7进行解码,并且更新参考图像缓冲区和I0的重建图像构造的长期参考图像。
在完成I16的解码之后,将I16的重建图像放入参考图像缓冲区,继续对显示顺序在I16以前的一部分第二类型帧B12B10B9B11进行解码。这些第二类型帧参考的长期参考图像为I0的重建图像构造的长期参考图像,并且在每完成一个第二类型帧的解码后,可以根据已解码的第二类型帧更新I0的重建图像构造的长期参考图像。完成B11的解码之后,将参考图像缓冲区中的I16的重建图像输出,作为新的长期参考图像,即用I16的重建图像构造的长期参考图像替换I0的重建图像构造的长期参考图像。另一部分第二类型帧B14B13B15可以参考I16的重建图像(I16的重建图像构造的长期参考图像)进行解码。并且在每完成一个第二类型帧的解码后,可以根据已解码的第二类型帧更新I16的重建图像构造的长期参考图像。在完成B15的解码后,将参考图像缓冲区中显示顺序在I16之前的所有短期参考图像都清除,并再次采用I16的重建图像替换当前长期参考图像。之后继续对P24B20B18B17B19B22B21B23…进行解码,并且更新参考图像缓冲区和I16的重建图像构造的长期参考图像。
图12是本申请一个实施例的在随机访问点处的解码方法1200的示意性流程图。如图12所示,1200可以包括以下步骤。
S1210,确定对第一类型帧执行随机访问功能,并对所述第一类型帧进行帧内解码,其中,按解码顺序,所述第一类型帧之后存在显示顺序在所述第一类型帧之前的N个第二类型帧,所述第一类型帧之后存在显示顺序在所述第一类型帧之后的需要进行帧间解码的第四类型帧。
S1220,以所述第一类型帧的重建图像形成的长期参考图像,对所述第四类型帧进行帧间解码,在每个所述第四类型帧完成解码时,使用完成解码的所述第四类型帧更新所述长期参考图像,以所述更新后的长期参考图像作为下一帧的长期参考图像。
在一些实施例中,S1220以所述第一类型帧的重建图像形成的长期参考图像,对所述第四类型帧进行帧间解码,可以包括:在完成对所述第一类型帧的帧内解码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像作为当前使用的长期参考图像,对所述第四类型帧进行帧间解码。
在一些实施例中,所述将所述第一类型帧的重建图像放入参考图像缓冲区中,可以包括:在所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
下面以具体的视频序列编码来说明本申请实施例的使用随机访问功能的解码方法1200。
一个例子中,解码序列为I0P8B4B2B1B3B6B5B7I16B12B10B9B11B14B13B15P24B20B18B17B19B22B21B23…
其中,I0和I16为并且为随机访问点。假设I16为第一类型帧,即使用随机访问功能并从I16开始解码,那么B12B10B9B11B14B13B15为第二类型帧,P8B4B2B1B3B6B5B7等均可以视为第三类型帧,P24B20B18B17B19B22B21B23…为第四类型帧。
在完成I16的解码之后,将I16的重建图像放入参考图像缓冲区,将参考图像缓冲区中显示顺序在I16之前的所有短期参考图像都清除。不对显示顺序在I16以前的B12B10B9B11B14B13B15进行解码,而直接对P24B20B18B17B19B22B21B23…进行解码,并且更新参考图像缓冲区和I16的重建图像构造的长期参考图像。
以上详细说明了本申请实施例的方法,下面详细说明本申请实施例的编码设备和解码设备。
图13是本申请一个实施例的编码设备1300的示意性框图。如图13所示,编码设备1300包括第一编码模块1310、第二编码模块1320和替换模块1330。第一编码模块1310用于对第一类型帧进行编码,其中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数。第二编码模块1320用于根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码。替换模块1330用于在完成所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像。
本申请实施例的编码设备,在完成编码顺序在第一类型帧之后、显示顺序在第一类型帧之前的N个第二类型帧中的至少一个第二类型帧的帧间编码后,才替换当前使用的长期参考图像,使得至少一个第二类型帧可以参考第一类型帧之前的长期参考图像,可以提高编码效率。
在一些实施例中,所述替换模块1330具体用于:在完成所述N个第二类型帧中的所有第二类型帧的帧间编码后,替换当前使用的长期参考图像。
在一些实施例中,所述替换模块1330具体用于:以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述替换模块1330具体用于:在完成对所述第一类型帧的编码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述替换模块1330所述将所述第一类型帧的重建图像放入参考图像缓冲区中,包括:当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
在一些实施例中,按编码顺序所述第一类型帧之前存在需要进行帧间编码的第三类型帧,第二编码模块1320具体用于:根据所述第三类型帧进行帧间编码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码。
在一些实施例中,所述第三类型帧在所述第一类型帧之前显示。
在一些实施例中,所述所更新的长期参考图像,是在所述第三类型帧进行帧间编码之后基于所述第三类型帧的特定图像块更新的;或者,所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间编码之后,基于所述特定图像块更新的。
在一些实施例中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,编码设备1300还可以包括第三编码设备,用于根据所述替换后的长期参考图像对所述第四类型帧进行帧间编码。
在一些实施例中,所述第一类型帧为随机访问点。
在一些实施例中,所述第一类型帧为清除随机访问点。
在一些实施例中,第二编码模块1320具体用于:
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧完成编码时,使用所述完成编码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;或者,根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧的特定图像块完成编码时,使用所述完成编码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
在一些实施例中,所述第一类型帧进行编码之后,以及按编码顺序所述第一类型帧的下一帧编码之前,所述长期参考图像保持不变。
在一些实施例中,所述编码设备1300还用于在对所述第一类型帧以外的至少部分图像帧编码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;或者,在对所述第一类型帧以外的至少部分图像帧中的特定图像块编码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。下一帧编码之前,所述长期参考图像保持不变。
图14是本申请另一个实施例的编码设备1400的示意性框图。如图14所示的编码设备1400可以包括至少一个处理器1410和至少一个存储器1420,用于存储计算机可执行指令;至少一个处理器1410,单独或共同地用于:访问所述至少一个存储器1420,并执行所述计算机可执行指令,以实施以下操作:对第一类型帧进行编码,其中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码;在完成所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像。
在一些实施例中,所述处理器1410具体用于:在完成所述N个第二类型帧中的所有第二类型帧的帧间编码后,替换当前使用的长期参考图像。
在一些实施例中,所述处理器1410具体用于:以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述处理器1410具体用于:在完成对所述第一类型帧的编码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述处理器1410具体用于:当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
在一些实施例中,按编码顺序所述第一类型帧之前存在需要进行帧间编码的第三类型帧,所述处理器1410具体用于:基于所述第三类型帧进行帧间编码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码。
在一些实施例中,所述第三类型帧在所述第一类型帧之前显示。
在一些实施例中,所述所更新的长期参考图像,是在所述第三类型帧进行帧间编码之后基于所述第三类型帧的特定图像块更新的;或者,所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间编码之后,基于所述特定图像块更新的。
在一些实施例中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,所述处理器1410还用于:根据所述替换后的长期参考图像对所述第四类型帧进行帧间编码。
在一些实施例中,所述第一类型帧为随机访问点。
在一些实施例中,所述第一类型帧为清除随机访问点。
在一些实施例中,所述处理器1410具体用于:根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧完成编码时,使用所述完成编码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;或者,根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧的特定图像块完成编码时,使用所述完成编码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
在一些实施例中,所述第一类型帧进行编码之后,以及按编码顺序所述第一类型帧的下一帧编码之前,所述长期参考图像保持不变。
在一些实施例中,处理器1410还用于在对所述第一类型帧以外的至少部分图像帧编码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;或者,在对所述第一类型帧以外的至少部分图像帧中的特定图像块编码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。下一帧编码之前,所述长期参考图像保持不变。
图15是本申请一个实施例的解码设备1500的示意性框图。如图15所示,解码设备1500包括第一解码模块1510、第二解码模块1520和替换模块1530。第一解码模块1510用于对第一类型帧进行解码,其中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数。第二解码模块1520用于根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码。替换模块1530用于在完成所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像。
本申请实施例的解码设备,在完成解码顺序在第一类型帧之后、显示顺序在第一类型帧之前的N个第二类型帧中的至少一个第二类型帧的帧间解码后,才替换当前使用的长期参考图像,使得至少一个第二类型帧可以参考第一类型帧之前的长期参考图像,可以提高解码效率。
在一些实施例中,所述替换模块1530具体用于:在完成所述N个第二类型帧中的所有第二类型帧的帧间解码后,替换当前使用的长期参考图像。
在一些实施例中,所述替换模块1530具体用于:以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述替换模块1530具体用于:在完成对所述第一类型帧的解码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述替换模块1530所述将所述第一类型帧的重建图像放入参考图像缓冲区中,包括:当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
在一些实施例中,按解码顺序所述第一类型帧之前存在需要进行帧间解码的第三类型帧,第二解码模块1520具体用于:根据所述第三类型帧进行帧间解码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码。
在一些实施例中,所述第三类型帧在所述第一类型帧之前显示。
在一些实施例中,所述所更新的长期参考图像,是在所述第三类型帧进行帧间解码之后基于所述第三类型帧的特定图像块更新的;或者,所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间解码之后,基于所述特定图像块更新的。
在一些实施例中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,解码设备1500还可以包括第三解码设备,用于根据所述替换后的长期参考图像对所述第四类型帧进行帧间解码。
在一些实施例中,所述第一类型帧为随机访问点。
在一些实施例中,所述第一类型帧为清除随机访问点。
在一些实施例中,第二解码模块1520具体用于:
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧完成解码时,使用所述完成解码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;或者,根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧的特定图像块完成解码时,使用所述完成解码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
在一些实施例中,所述第一类型帧进行解码之后,以及按解码顺序所述第一类型帧的下一帧解码之前,所述长期参考图像保持不变。
在一些实施例中,所述解码设备1500还用于在对所述第一类型帧以外的至少部分图像帧解码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;或者,在对所述第一类型帧以外的至少部分图像帧中的特定图像块解码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。下一帧解码之前,所述长期参考图像保持不变。
图16是本申请另一个实施例的解码设备1600的示意性框图。如图16所示的解码设备1600可以包括至少一个处理器1610和至少一个存储器1620,用于存储计算机可执行指令;至少一个处理器1610,单独或共同地用于:访问所述至少一个存储器1620,并执行所述计算机可执行指令,以实施以下操作:对第一类型帧进行解码,其中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码;在完成所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像。
在一些实施例中,所述处理器1610具体用于:在完成所述N个第二类型帧中的所有第二类型帧的帧间解码后,替换当前使用的长期参考图像。
在一些实施例中,所述处理器1610具体用于:以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述处理器1610具体用于:在完成对所述第一类型帧的解码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
在一些实施例中,所述处理器1610具体用于:当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
在一些实施例中,按解码顺序所述第一类型帧之前存在需要进行帧间解码的第三类型帧,所述处理器1610具体用于:基于所述第三类型帧进行帧间解码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码。
在一些实施例中,所述第三类型帧在所述第一类型帧之前显示。
在一些实施例中,所述所更新的长期参考图像,是在所述第三类型帧进行帧间解码之后基于所述第三类型帧的特定图像块更新的;或者,所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间解码之后,基于所述特定图像块更新的。
在一些实施例中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,所述处理器1610还用于:根据所述替换后的长期参考图像对所述第四类型帧进行帧间解码。
在一些实施例中,所述第一类型帧为随机访问点。
在一些实施例中,所述第一类型帧为清除随机访问点。
在一些实施例中,所述处理器1610具体用于:根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧完成解码时,使用所述完成解码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;或者,根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧的特定图像块完成解码时,使用所述完成解码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
在一些实施例中,所述第一类型帧进行解码之后,以及按解码顺序所述第一类型帧的下一帧解码之前,所述长期参考图像保持不变。
在一些实施例中,处理器1610还用于在对所述第一类型帧以外的至少部分图像帧解码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;或者,在对所述第一类型帧以外的至少部分图像帧中的特定图像块解码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。下一帧解码之前,所述长期参考图像保持不变。
应理解,本申请各实施例的装置可以基于存储器和处理器实现,各存储器用于存储用于执行本申请个实施例的方法的指令,处理器执行上述指令,使得装置执行本申请各实施例的方法。
应理解,本申请实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行上述各方法实施例的方法。
本申请实施例还提供一种计算机程序,该计算机程序使得计算机执行上述各方法实施例的方法。
本申请实施例还提供一种计算设备,该计算设备包括上述计算机可读存储介质。
本申请实施例可以应用在飞行器,尤其是无人机领域。
应理解,本申请各实施例的电路、子电路、子单元的划分只是示意性的。本领域普通技术人员可以意识到,本文中所公开的实施例描述的各示例的电路、子电路和子单元,能够再行拆分或组合。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
应理解,本申请各实施例均是以总位宽为16位(bit)为例进行说明的,本申请各实施例可以适用于其他的位宽。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (58)

1.一种编码方法,其特征在于,包括:
对第一类型帧进行编码,其中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码;
在完成所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像。
2.根据权利要求1所述的编码方法,其特征在于,所述在完成所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像,包括:
在完成所述N个第二类型帧中的所有第二类型帧的帧间编码后,替换当前使用的长期参考图像。
3.根据权利要求1或2所述的编码方法,其特征在于,所述替换当前使用的长期参考图像,包括:
以所述第一类型帧的重建图像替换当前使用的长期参考图像。
4.根据权利要求3所述的编码方法,其特征在于,所述替换当前使用的长期参考图像,包括:
在完成对所述第一类型帧的编码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;
在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
5.根据权利要求4所述的编码方法,其特征在于,所述将所述第一类型帧的重建图像放入参考图像缓冲区中,包括:
当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
6.根据权利要求1至5中任一项所述的编码方法,其特征在于,按编码顺序所述第一类型帧之前存在需要进行帧间编码的第三类型帧,
所述根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,包括:
根据所述第三类型帧进行帧间编码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码。
7.根据权利要求6所述的编码方法,其特征在于,所述第三类型帧在所述第一类型帧之前显示。
8.根据权利要求6所述的编码方法,其特征在于,所述所更新的长期参考图像,是在所述第三类型帧进行帧间编码之后基于所述第三类型帧的特定图像块更新的;
或者,
所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间编码之后,基于所述特定图像块更新的。
9.根据权利要求1至8中任一项所述的编码方法,其特征在于,按编码顺序所述第一类型帧之后存在需要进行帧间编码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,所述编码方法还包括:
根据所述替换后的长期参考图像对所述第四类型帧进行帧间编码。
10.根据权利要求1至9中任一项所述的编码方法,其特征在于,所述第一类型帧为随机访问点。
11.根据权利要求10所述的编码方法,其特征在于,所述第一类型帧为清除随机访问点。
12.根据权利要求1至11中任一项所述的编码方法,其特征在于,所述根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,包括:
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧完成编码时,使用所述完成编码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;
或者,
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧的特定图像块完成编码时,使用所述完成编码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
13.根据权利要求1至12中任一项所述的编码方法,其特征在于,所述第一类型帧进行编码之后,以及按编码顺序所述第一类型帧的下一帧编码之前,所述长期参考图像保持不变。
14.根据权利要求1至13中任一项所述的编码方法,其特征在于,所述编码方法还包括:
在对所述第一类型帧以外的至少部分图像帧编码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;
或者,
在对所述第一类型帧以外的至少部分图像帧中的特定图像块编码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。
15.一种解码方法,其特征在于,包括:
对第一类型帧进行解码,其中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码;
在完成所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像。
16.根据权利要求15所述的解码方法,其特征在于,所述在完成所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像,包括:
在完成所述N个第二类型帧中的所有第二类型帧的帧间解码后,替换当前使用的长期参考图像。
17.根据权利要求15或16所述的解码方法,其特征在于,所述替换当前使用的长期参考图像,包括:
以所述第一类型帧的重建图像替换当前使用的长期参考图像。
18.根据权利要求17所述的解码方法,其特征在于,所述替换当前使用的长期参考图像,包括:
在完成对所述第一类型帧的解码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;
在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
19.根据权利要求18所述的解码方法,其特征在于,所述将所述第一类型帧的重建图像放入参考图像缓冲区中,包括:
当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
20.根据权利要求15至19中任一项所述的解码方法,其特征在于,按解码顺序所述第一类型帧之前存在需要进行帧间解码的第三类型帧,
所述根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,包括:
根据所述第三类型帧进行帧间解码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码。
21.根据权利要求20所述的解码方法,其特征在于,所述第三类型帧在所述第一类型帧之前显示。
22.根据权利要求20所述的解码方法,其特征在于,所述所更新的长期参考图像,是在所述第三类型帧进行帧间解码之后基于所述第三类型帧的特定图像块更新的;
或者,
所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间解码之后,基于所述特定图像块更新的。
23.根据权利要求15至22中任一项所述的解码方法,其特征在于,按解码顺序所述第一类型帧之后存在需要进行帧间解码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,所述解码方法还包括:
根据所述替换后的长期参考图像对所述第四类型帧进行帧间解码。
24.根据权利要求15至23中任一项所述的解码方法,其特征在于,所述第一类型帧为随机访问点。
25.根据权利要求24所述的解码方法,其特征在于,所述第一类型帧为清除随机访问点。
26.根据权利要求15至25中任一项所述的解码方法,其特征在于,所述根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,包括:
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧完成解码时,使用所述完成解码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;
或者,
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧的特定图像块完成解码时,使用所述完成解码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
27.根据权利要求15至26中任一项所述的解码方法,其特征在于,所述第一类型帧进行解码之后,以及按解码顺序所述第一类型帧的下一帧解码之前,所述长期参考图像保持不变。
28.根据权利要求15至27中任一项所述的解码方法,其特征在于,所述解码方法还包括:
在对所述第一类型帧以外的至少部分图像帧解码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;
或者,
在对所述第一类型帧以外的至少部分图像帧中的特定图像块解码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。
29.一种编码设备,其特征在于,包括:
至少一个存储器,用于存储计算机可执行指令;
至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
对第一类型帧进行编码,其中,按编码顺序所述第一类型帧之后存在需要进行帧间编码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码;
在完成所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,替换当前使用的长期参考图像。
30.根据权利要求29所述的编码设备,其特征在于,所述处理器具体用于:
在完成所述N个第二类型帧中的所有第二类型帧的帧间编码后,替换当前使用的长期参考图像。
31.根据权利要求29或30所述的编码设备,其特征在于,所述处理器具体用于:
以所述第一类型帧的重建图像替换当前使用的长期参考图像。
32.根据权利要求31所述的编码设备,其特征在于,所述处理器具体用于:
在完成对所述第一类型帧的编码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;
在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间编码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
33.根据权利要求32所述的编码设备,其特征在于,所述处理器具体用于:
当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
34.根据权利要求29至33中任一项所述的编码设备,其特征在于,按编码顺序所述第一类型帧之前存在需要进行帧间编码的第三类型帧,
所述处理器具体用于:
根据所述第三类型帧进行帧间编码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码。
35.根据权利要求34所述的编码设备,其特征在于,所述第三类型帧在所述第一类型帧之前显示。
36.根据权利要求34所述的编码设备,其特征在于,所述所更新的长期参考图像,是在所述第三类型帧进行帧间编码之后基于所述第三类型帧的特定图像块更新的;
或者,
所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间编码之后,基于所述特定图像块更新的。
37.根据权利要求29至36中任一项所述的编码设备,其特征在于,按编码顺序所述第一类型帧之后存在需要进行帧间编码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,所述处理器还用于:
根据所述替换后的长期参考图像对所述第四类型帧进行帧间编码。
38.根据权利要求29至37中任一项所述的编码设备,其特征在于,所述第一类型帧为随机访问点。
39.根据权利要求38所述的编码设备,其特征在于,所述第一类型帧为清除随机访问点。
40.根据权利要求29至39中任一项所述的编码设备,其特征在于,所述处理器具体用于:
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧完成编码时,使用所述完成编码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;
或者,
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间编码,在至少部分第二类型帧的特定图像块完成编码时,使用所述完成编码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
41.根据权利要求29至40中任一项所述的编码设备,其特征在于,所述第一类型帧进行编码之后,以及按编码顺序所述第一类型帧的下一帧编码之前,所述长期参考图像保持不变。
42.根据权利要求29至41中任一项所述的编码设备,其特征在于,所述处理器还用于:
在对所述第一类型帧以外的至少部分图像帧编码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;
或者,
在对所述第一类型帧以外的至少部分图像帧中的特定图像块编码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。
43.一种解码设备,其特征在于,包括:
至少一个存储器,用于存储计算机可执行指令;
至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
对第一类型帧进行解码,其中,按解码顺序所述第一类型帧之后存在需要进行帧间解码的N个第二类型帧,所述N个第二类型帧的显示顺序在所述第一类型帧之前,其中,N为正整数;
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码;
在完成所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,替换当前使用的长期参考图像。
44.根据权利要求43所述的解码设备,其特征在于,所述处理器具体用于:
在完成所述N个第二类型帧中的所有第二类型帧的帧间解码后,替换当前使用的长期参考图像。
45.根据权利要求43或44所述的解码设备,其特征在于,所述处理器具体用于:
以所述第一类型帧的重建图像替换当前使用的长期参考图像。
46.根据权利要求45所述的解码设备,其特征在于,所述处理器具体用于:
在完成对所述第一类型帧的解码后,将所述第一类型帧的重建图像放入参考图像缓冲区中;
在完成对所述N个第二类型帧中的至少一个第二类型帧的帧间解码后,将所述第一类型帧的重建图像从所述参考图像缓冲区中输出,以所述第一类型帧的重建图像替换当前使用的长期参考图像。
47.根据权利要求46所述的解码设备,其特征在于,所述处理器具体用于:
当所述参考图像缓冲区中不存在所述第一类型帧的重建图像时,将所述第一类型帧的重建图像放入所述参考图像缓冲区中。
48.根据权利要求43至47中任一项所述的解码设备,其特征在于,按解码顺序所述第一类型帧之前存在需要进行帧间解码的第三类型帧,
所述处理器具体用于:
根据所述第三类型帧进行帧间解码后所更新的长期参考图像,对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码。
49.根据权利要求48所述的解码设备,其特征在于,所述第三类型帧在所述第一类型帧之前显示。
50.根据权利要求48所述的解码设备,其特征在于,所述所更新的长期参考图像,是在所述第三类型帧进行帧间解码之后基于所述第三类型帧的特定图像块更新的;
或者,
所述所更新的长期参考图像,是在所述第三类型帧的特定图像块进行帧间解码之后,基于所述特定图像块更新的。
51.根据权利要求43至50中任一项所述的解码设备,其特征在于,按解码顺序所述第一类型帧之后存在需要进行帧间解码的第四类型帧,所述第四类型帧的显示顺序在所述第一类型帧之后,所述处理器还用于:
根据所述替换后的长期参考图像对所述第四类型帧进行帧间解码。
52.根据权利要求43至51中任一项所述的解码设备,其特征在于,所述第一类型帧为随机访问点。
53.根据权利要求52所述的解码设备,其特征在于,所述第一类型帧为清除随机访问点。
54.根据权利要求43至53中任一项所述的解码设备,其特征在于,所述处理器具体用于:
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧完成解码时,使用所述完成解码的至少部分第二类型帧中的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像;
或者,
根据长期参考图像对所述N个第二类型帧中的至少一个第二类型帧进行帧间解码,在至少部分第二类型帧的特定图像块完成解码时,使用所述完成解码的特定图像块更新长期参考图像,以所述更新后的长期参考图像作为下一个第二类型帧的长期参考图像或作为所述当前第二类型帧的长期参考图像。
55.根据权利要求43至54中任一项所述的解码设备,其特征在于,所述第一类型帧进行解码之后,以及按解码顺序所述第一类型帧的下一帧解码之前,所述长期参考图像保持不变。
56.根据权利要求43至55中任一项所述的解码设备,其特征在于,所述处理器还用于:
在对所述第一类型帧以外的至少部分图像帧解码之后,基于所述图像帧中的部分图像块对所述长期参考帧中的部分图像块进行更新;
或者,
在对所述第一类型帧以外的至少部分图像帧中的特定图像块解码之后,基于所述特定图像块对所述长期参考帧中的部分图像块进行更新。
57.一种计算机可读存储介质,其特征在于,其上存储有指令,当指令在计算机上运行时,使得计算机执行权利要求1至14中任一项所述的编码方法。
58.一种计算机可读存储介质,其特征在于,其上存储有指令,当指令在计算机上运行时,使得计算机执行权利要求15至28中任一项所述的解码方法。
CN201880011426.3A 2018-06-01 2018-06-01 编码、解码方法及编码、解码设备 Active CN110366851B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/089673 WO2019227491A1 (zh) 2018-06-01 2018-06-01 编码、解码方法及编码、解码设备

Publications (2)

Publication Number Publication Date
CN110366851A true CN110366851A (zh) 2019-10-22
CN110366851B CN110366851B (zh) 2023-03-31

Family

ID=68215012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880011426.3A Active CN110366851B (zh) 2018-06-01 2018-06-01 编码、解码方法及编码、解码设备

Country Status (2)

Country Link
CN (1) CN110366851B (zh)
WO (1) WO2019227491A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824965A (zh) * 2021-09-22 2021-12-21 北京百度网讯科技有限公司 一种视频编码方法、装置及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800631A (zh) * 2020-06-22 2020-10-20 西安万像电子科技有限公司 数据处理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140086325A1 (en) * 2012-09-27 2014-03-27 Qualcomm Incorporated Scalable extensions to hevc and temporal motion vector prediction
US20150110184A1 (en) * 2012-06-28 2015-04-23 Ntt Docomo, Inc. Dynamic image predictive encoding and decoding device, method, and program
CN107333133A (zh) * 2016-04-28 2017-11-07 浙江大华技术股份有限公司 一种码流接收设备的码流编码的方法及装置
CN107396138A (zh) * 2016-05-17 2017-11-24 华为技术有限公司 一种视频编解码方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170105004A1 (en) * 2015-10-07 2017-04-13 Qualcomm Incorporated Methods and systems of coding a predictive random access picture using a background picture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150110184A1 (en) * 2012-06-28 2015-04-23 Ntt Docomo, Inc. Dynamic image predictive encoding and decoding device, method, and program
US20140086325A1 (en) * 2012-09-27 2014-03-27 Qualcomm Incorporated Scalable extensions to hevc and temporal motion vector prediction
CN107333133A (zh) * 2016-04-28 2017-11-07 浙江大华技术股份有限公司 一种码流接收设备的码流编码的方法及装置
CN107396138A (zh) * 2016-05-17 2017-11-24 华为技术有限公司 一种视频编解码方法及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824965A (zh) * 2021-09-22 2021-12-21 北京百度网讯科技有限公司 一种视频编码方法、装置及电子设备

Also Published As

Publication number Publication date
CN110366851B (zh) 2023-03-31
WO2019227491A1 (zh) 2019-12-05

Similar Documents

Publication Publication Date Title
US11418809B2 (en) Signaling of state information for a decoded picture buffer and reference picture lists
AU2014275405B2 (en) Tuning video compression for high frame rate and variable frame rate capture
CN103402099B (zh) 视频编码的图片级速率控制的方法和系统
US11831878B2 (en) Video decoding and encoding
WO2021114846A1 (zh) 一种视频降噪处理方法、装置及存储介质
CN110740318A (zh) 用于视频处理和视频译码的自动自适应长期参考帧选择
US20090219985A1 (en) Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
CN106031177A (zh) 用于硬件加速的视频编码的主编码器
US7916785B2 (en) Image processing apparatus and method
US11095878B2 (en) Method and device for encoding a sequence of images and method and device for decoding a sequence of image
US20130034156A1 (en) Inter-prediction method and video encoding/decoding method using the inter-prediction method
CN107439008A (zh) 减轻数字视频的互操作性情景中的损失
US11876989B2 (en) Methods and systems for facilitating multimedia data encoding using storage buffers
CN109587431A (zh) 一种多路视频码流合并方法、装置、设备和存储介质
CN110366851A (zh) 编码、解码方法及编码、解码设备
CN112291566A (zh) H.264视频编码方法、装置、芯片、存储设备及电子设备
KR20140043790A (ko) 기준 프레임 선택 규칙을 사용하는 비디오 에러 은폐를 위한 방법 및 장치
WO2022022299A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
WO2020187222A1 (zh) 一种编解码方法、装置及其设备
CN117616751A (zh) 动态图像组的视频编解码
WO2024104503A1 (zh) 图像编解码
CN113141507B (zh) 视频编解码中的运动信息列表构建方法、装置及设备
KR101852859B1 (ko) 랜덤액세서블 p-프레임에 기초한 동영상 랜덤액세스 처리 방법
CN117082249A (zh) 视频编码方法、视频解码方法、编码器、解码器以及介质
TW202023281A (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