CN116074539A - 一种图像编解码方法及装置 - Google Patents
一种图像编解码方法及装置 Download PDFInfo
- Publication number
- CN116074539A CN116074539A CN202210894255.1A CN202210894255A CN116074539A CN 116074539 A CN116074539 A CN 116074539A CN 202210894255 A CN202210894255 A CN 202210894255A CN 116074539 A CN116074539 A CN 116074539A
- Authority
- CN
- China
- Prior art keywords
- block
- code length
- decoded
- code
- encoded
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 135
- 238000013139 quantization Methods 0.000 claims description 118
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 2
- 241000023320 Luma <angiosperm> Species 0.000 claims 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 40
- 230000008569 process Effects 0.000 description 31
- 238000012545 processing Methods 0.000 description 21
- 230000006835 compression Effects 0.000 description 19
- 238000007906 compression Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- YJZYDPRMWYWYCG-UHFFFAOYSA-N mppf Chemical compound COC1=CC=CC=C1N1CCN(CCN(C(=O)C=2C=CC(F)=CC=2)C=2N=CC=CC=2)CC1 YJZYDPRMWYWYCG-UHFFFAOYSA-N 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供一种图像编解码方法及装置,涉及视频编解码领域,可以用于避免码流溢出。具体方法包括:解析待解码块的码流,若待解码块的码流中包括第一码字,则确定待解码块对应的图像块是否采用回退模式;若待解码块对应的图像块采用回退模式,且码流缓冲器中已存储的码长超出设定上溢线,则根据码流缓冲器的超出码长,确定待解码块的每个分量的固定码长,其中,待解码块包括一个或多个分量,对于待解码块的第一分量,第一分量的固定码长用于指示解析第一分量的单个像素点时所需的码长,码流缓冲器的超出码长为码流缓冲器中的已存储码长超出设定上溢线的码长;基于每个分量的固定码长,对每个分量的像素点进行解析,以解码待解码块。
Description
技术领域
本申请实施例涉及视频编解码领域,尤其涉及一种图像编解码方法及装置。
背景技术
视频编码技术也称为视频压缩技术,视频压缩技术用于降低视频信号的数据带宽。其中,视频是连续的图像序列,由连续的图像帧构成,一帧图像即为一幅图像。由于人眼的视觉暂留效应,当帧序列以一定的速率播放时,人眼可见的就是连续的视频。对视频进行编解码即对视频中的每一帧图像进行编解码。以一帧图像为例,在编码端,图像编码器对图像编码,得到图像对应的码流并传输码流至解码端;在解码端,图像解码器解析码流,从而重建图像。
其中,在图像编解码过程中,为了提高压缩效率,常见的视频压缩技术都采用了变长编码,一个视频序列经过压缩编码之后所得到的码流是变速率的,不适合实时地在固定码率的信道中传输。因此,通常将编码器产生的变码率数据先输出到一定存储空间的缓冲器,然后再从缓冲器以固定码率输出。应理解,缓冲器的存储空间的大小是一定的,若输入至缓冲器的码流数据过大,导致需要缓冲器暂时存储的数据超出其存储空间的大小,则会出现码流“上溢”的情况,从而导致后续的图像信息丢失。
因此,如何在图像编解码过程中,基于缓冲器的剩余存储空间控制编码器产生的码率,是当前亟待解决的问题。
发明内容
本申请实施例提供一种图像编解码方法及装置,可以用于避免码流溢出。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种图像编码方法,该方法由解码端执行,该方法包括:解析待解码块的码流,若待解码块的码流中包括第一码字,则确定待解码块对应的图像块是否采用回退模式,其中,待解码块的码长小于待解码块的最大码长,最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的待解码块的最大码流长度,设定上溢线用于指示码流缓冲器中允许码流占用的最大存储空间,第一码字为用于指示回退模式或原始值模式;若待解码块对应的图像块采用回退模式,且码流缓冲器中已存储的码长超出设定上溢线,则根据码流缓冲器的超出码长,确定待解码块的每个分量的固定码长,其中,待解码块包括一个或多个分量,对于待解码块的第一分量,第一分量的固定码长用于指示解析第一分量的单个像素点时所需的码长,码流缓冲器的超出码长为码流缓冲器中的已存储码长超出设定上溢线的码长;基于每个分量的固定码长,对每个分量的像素点进行解析,以解码待解码块。。
本申请实施例提供的图像编码方法至少具有以下有益效果:该方法可以首先对待编码块进行预编码,基于预编码得到的码流长度与待编码块允许占用的码长对比,并根据对比结果,确定是否会出现码流溢出的情况。进而,在确定会出现码流溢出的情况时,采用回退模式对待编码块进行编码,以避免待编码块的的图像信息丢失。
在一种可能的实现方式中,上述待解码块包括色度分量和亮度分量,根据码流缓冲器的超出码长,确定每个分量的固定码长,包括:获取待解码块的目标总码长和待解码块的图像格式,目标总码长为解码待解码块时所需的总码长;根据待解码块的目标总码长、图像格式以及所述超出码长,确定亮度分量的固定码长和色度分量的固定码长。
在另一种可能的实现方式中,上述根据待解码块的目标总码长、图像格式以及超出码长,确定亮度分量的固定码长和色度分量的固定码长,包括:获取待解码块的头信息的码长;根据待解码块的目标总码长、图像格式、超出码长以及头信息的码长,确定亮度分量的固定码长和色度分量的固定码长。
在另一种可能的实现方式中,亮度分量的固定码长大于或等于色度分量的固定码长。
可以理解,由于人肉眼对于图像亮度更加敏感,通常会为图像块中的色度分量分配更大的码长,也即为图像块中的色度分量分配更大的编码的固定码长。从而,基于该图像编解码的过程,可以提升人肉眼查看到的图像效果。
在另一种可能的实现方式中,上述基于每个分量的固定码长,对每个分量的像素点进行解析,包括:基于第一固定码长,确定待解码块的第一分量的残差值,第一分量为待解码块的一个或多个分量中的其中一个,第一固定码长为解析第一分量的单个像素点时所需的码长;获取回退模式下待解码块的预测模式,根据预测模式预测待解码块对应的图像块,得到待解码块的预测值;确定待解码块的量化参数,根据量化参数,对待解码块的残差值进行反量化;根据待解码块反量化后的残差值与预测值,对待解码块进行重建,得到图像块的重建块。
在另一种可能的实现方式中,上述获取回退模式下待解码块的预测模式,包括:待解码块的预测模式为回退模式对应的预测模式;或者,待解码块的预测模式为解码端的多个预测模式中的一个。
在另一种可能的实现方式中,上述确定待解码块的目标量化参数,包括:根据待解码块对应的图像块的复杂度信息和码流缓冲器的设定上溢线,导出待解码块的初始量化参数;根据初始量化参数和量化参数调整值,确定待解码块的目标量化参数,量化参数调整值为基于设定上溢线确定的数值,目标量化参数的取值范围在零与解码端的量化参数预设最大值之间,其中,量化参数大于或等于初始量化参数。
在另一种可能的实现方式中,上述方法还包括:若待解码块对应的图像块基于原始值模式编码的码长大于或等于待解码块的最大码长,则确定待解码块对应的图像块采用回退模式。
在另一种可能的实现方式中,待解码块的所有分量的码长之和为待解码块的目标码长减去待解码块的头信息的码长和码流缓冲器的超出码长。
第二方面,本申请实施例提供一种图像编码方法,该方法由编码端执行,该方法包括:获取待编码块的最大码长,最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的待解码块的最大码流长度,设定上溢线用于指示码流缓冲器中码流允许占用的最大存储空间;对待编码块进行预编码,得到待编码块的第一码长,第一码长为待编码块预编码后得到的码流的长度;若第一码长大于或等于最大码长,采用回退模式对待编码块进行编码,其中,基于回退模式对待编码块进行编码得到的码长小于最大码长,基于回退模式对待编码块进行编码得到的码流中包括第一码字,第一码字为用于指示回退模式或原始值模式。。
基于上述实施例,在编码段采用回退模式时,解码端可以采用回退模式对待解码块进行解码,可以基于码流缓冲器的剩余内存,避免出现码流上溢或下溢的情况。进而避免待解码块的的图像信息丢失。
在一种可能的实现方式中,上述采用回退模式对待编码块进行编码,包括:若码流缓冲器中已存储的码长超出设定上溢线,则根据码流缓冲器的超出码长,确定待编码块的每个分量的固定码长;其中,待编码块包括一个或多个分量,对于待编码块的第二分量,第二分量的固定码长用于指示编码第二分量的单个像素点时所需的码长,码流缓冲器的超出码长为码流缓冲器中的已存储码长超出当前的设定上溢线的码长;根据每个分量的固定码长,对待编码块进行编码。
在另一种可能的实现方式中,若采用回退模式编码待编码块,则将待编码块的前一个已编码块对应的码控参数确定为待编码块的码控参数,码控参数用于导出待编码块的下一个待编码的图像块的编码信息。
第三方面,本申请提供了一种图像解码装置。该解码装置可以是视频解码器或包含视频解码器的设备。该解码装置包括用于实现第一方面中任一种可能实现方式中方法的各个模块。所述解码装置具有实现上述相关方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块。其有益效果可以参见相应方法中的描述,此处不再赘述。
第四方面,本申请提供了一种图像编码装置。该编码装置可以是视频编码器或包含视频编码器的设备。该编码装置包括用于实现第二方面中任一种可能实现方式中方法的各个模块。所述编码装置具有实现上述相关方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块。其有益效果可以参见相应方法中的描述,此处不再赘述。
第五方面,本申请提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,以实现第一方面至第二方面中任一种实现方式的方法。
例如,该电子设备可以是指视频编码器,或包括视频编码器的设备。
又如,该电子设备可以是指视频解码器,或包括视频解码器的设备。
第六方面,本申请提供一种计算机可读存储介质,存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备或计算设备所在的存储系统执行时,以实现第一方面至第二方面中任一种实现方式的方法。
第七方面,本申请提供一种计算机程序产品,该计算程序产品包括指令,当计算机程序产品在计算设备或处理器上运行时,使得计算设备或处理器执行该指令,以实现第一方面至第二方面中任一种实现方式的方法。
第八方面,本申请提供一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以实现第一方面至第二方面中任一种实现方式的方法。
第九方面,本申请提供一种图像译码系统,该图像译码系统包括编码端和解码端,解码端用于实现第一方面提供的相应的解码方法,编码端用于实现与此对应的编码方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。或者说,上述任意一个方面的任意一种可能的实现方式,在不冲突的情况下,均可以应用于其他方面,从而得到新的实施例。例如,上述第一方面提供的任意一种图像编码方法,可以在不冲突的情况下两两组合、或三个方面进行组合,从而可以得到新的图像解码方法。
附图说明
图1为本申请实施例所应用的编解码系统1的架构示意图;
图2为用于实现本申请实施例方法的编码器100的实例的示意性框图;
图3为本申请实施例提供的一种图像、并行编码单元、独立编码单元和编码单元之间的对应关系的示意图;
图4为用于实现本申请实施例方法的解码器200的实例的示意性框图;
图5为本申请实施例提供的一种图像编码方法的流程示意图;
图6为本申请实施例提供的一种待编码子块的示意图;
图7为本申请实施例提供的一种图像解码方法的流程示意图;
图8为本申请实施例提供的另一种图像解码方法的流程示意图;
图9为本申请实施例提供的一种解码装置900的结构示意图;
图10为本申请实施例提供的另一种编码装置1000的结构示意图;
图11为本申请实施例提供的一种电子设备1100的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面描述本申请实施例所应用的系统架构。
参见图1,图1示出了本申请实施例所应用的编解码系统1的架构示意图。如图1所示,编解码系统1可以包括含编码端10和解码端20。其中,编码端10产生经编码视频数据。因此,编码端10可被称为视频编码装置。解码端20可对由编码端10所产生的经编码的视频数据进行解码。因此,解码端20可被称为视频解码装置。
编码端10和解码端20的具体形态可以为各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
可选的,图1中的编码端10和解码端20可以是两个单独的设备。或者,编码端10和解码端20可以为同一设备,即编码端10或对应的功能以及解码端20或对应的功能可以集成在同一个设备上。
编码端10和解码端20之间可以进行通信。例如,解码端20可经由链路30从编码端10接收经编码视频数据。链路30可包括能够将经编码视频数据从编码端10移动到解码端20的一或多个媒体或装置。在一个实例中,链路30可包括使得编码端10能够实时将经编码视频数据直接发射到解码端20的一或多个通信媒体。在此实例中,编码端10可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到解码端20。所述一或多个通信媒体可包含无线和/或有通线信媒体,例如射频(radio frequency,RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从编码端10到解码端20的通信的其它设备。
可选的,编码端10可以将经编码数据从输出接口140输出到内置或外接的存储装置中。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、数字通用光盘(digital video disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。
如图1所示,编码端10包括视频源120、编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发射器。视频源120可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。编码器100可对来自视频源120的视频数据进行编码。在一些示例中,编码端10经由输出接口140将经编码视频数据直接发射到解码端20。在其它实例中,经编码视频数据还可存储到存储装置上,供解码端20以后存取来用于解码和/或播放。
如图1所示,解码端20包括输入接口240、解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置接收经编码视频数据。显示装置220可与解码端20集成或可在解码端20外部。一般来说,显示装置220显示经解码视频数据。显示装置220可包括多种显示装置,例如,液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light-emitting diode,OLED)显示器或其它类型的显示装置。
可选的,在编码端10中,还包括码流缓冲器(图1中未示出),码流缓冲器用于接收经编码产生的码流数据,并输出固定码率的码流数据。不同待编码块经编码后产生的码流数据的大小可大体上基于待编码块的性质而极大地变化。从而,一个视频序列经过压缩编码之后所得到的码流是变速率的,不适合实时地在固定码率的信道中传输。可以通过码流缓冲器平缓经压缩视频中的速率变化。其中,码流缓冲器的储存空间越大,越能够承受码率的波动。
可选的,在解码端20中,也可以包括另一个缓冲器,其可以用于接收固定码率的码流数据,在从缓冲器输出至解码器200的码流解析单元201。
尽管图1中未示出,但在一些方面,编码器100和解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。
应理解,图1所示出的编解码系统1仅为一种示例,并且本申请的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码并且将数据存储到存储器,和/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
下面结合说明书附图,对图1中的编码器100和解码器200的具体结构进行简单介绍。
参见图2,图2示出用于实现本申请实施例方法的编码器100的实例的示意性框图。如图2所示,编码器100包括预测处理单元101、残差计算单元102、残差变换单元103、量化单元104、编码单元105、反量化单元(也可以称为逆量化单元)106、残差逆变换单元107、重构单元(或者称为重建单元)108以及滤波器单元109。
一种示例中,编码器100的输入为待编码图像的图像块(即待编码块或编码单元)。
另一种示例中,编码器100的输入为待编码图像,则编码器100中还可以包括分割单元(图2中未示出),该分割单元用于将待编码图像分割成多个图像块。编码器100用于待编码图像的多个图像块逐块编码,从而完成对待编码图像的编码。例如,编码器100对每个图像块执行编码过程,从而完成对待编码图像的编码。
示例性的,一种将待编码图像划分成多个图像块的方法可以包括:
步骤11:将一帧图像分成一个或多个互相不重叠的片(slice),一个片中包括多个编码单元,各个片之间无依赖关系,可并行/独立编解码。
步骤12:对于每个片,编码端可将其分成一个或多个互相不重叠的独立编码单元,各个独立编码单元间可相互不依赖,但可以共用该并行编码单元的一些头信息。
步骤13:对于每个独立编码单元,编码端可再将其分成一个或多个互相不重叠的编码单元。其中,若将独立编码单元划分成多个互相不重叠的编码单元,则划分方式可以为水平等分法、垂直等分法或水平垂直等分法。当然具体实现时不现于此。独立编码单元内的各个编码单元可相互依赖,即在执行预测步骤的过程中可以相互参考。
编码单元的宽为w_cu,高为h_cu,可选的,其宽大于高(除非是边缘区域)。通常的,编码单元可为固定的w_cu×h_cu,w_cu和h_cu均为2个N次方(N大于等于0),如16×4,8×4,16×2,8×2,4×2,8×1,4×1等。
编码单元既可以包括亮度Y、色度Cb、色度Cr三个分量(或红R、绿G、蓝B三分量,或亮度Y、色度U、色度V三个分量),也可以仅包含其中的某一个分量。若包含三个分量,几个分量的尺寸可以完全一样,也可以不一样,具体与图像输入格式相关。
如图3所示,为一种图像、并行编码单元、独立编码单元和编码单元之间的对应关系的示意图。其中,图3中是以按照3:1将一个图像划分为并行编码单元1和并行编码单元2,以及一个独立编码单元包含4个编码单元为例进行说明的。
可选的,分割单元将待编码图像划分成多个图像块,这些图像块可以被进一步分割为更小的块,例如基于四叉树结构或者二叉树结构的图像块分割。此外,此分割还可包含分割成条带(tile)、片(slice)或其它较大单元。该条带可分成多个图像块(或者可能分成被称作片的图像块集合)。
预测处理单元101,用于接收或获取待编码块的原始值和已重构图像数据,基于已重构图像数据中的相关数据对待编码块进行预测,得到待编码块的预测块。
可选的,预测处理单元101可以包括帧间预测器和帧内预测器。其中,帧间预测器可以用于确定用于编码该待编码块的帧间预测模式,并基于确定的帧间预测模式,预测当前图像块中一个或多个子块的运动信息,例如运动矢量(motion vector,MV),并利用当前图像块中一个或多个子块的运动信息(例如运动矢量)获取或产生当前图像块的预测块。帧内预测器可确定用于编码该待编码块的帧内预测模式。
其中,帧内预测是指,利用视频空间域的相关性,使用当前块的已编码块进行预测,以达到去除视频空域冗余的目的。示例性的,帧内预测规定了多种预测模式,每种预测模式对应一种纹理方向(DC模式除外),例如,若图像纹理呈现水平状排布,则水平预测模式可以更好的预测图像信息。
帧间预测是指,基于视频时域的相关性,由于视频序列包含有较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,可以达到有效去除视频时域冗余的目的。视频编码标准的帧间预测部分都采用了基于块的运动补偿技术,主要原理是为当前图像的每一个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计(MotionEstimation,ME)。
此外,在帧间预测模式下,可以使用运动矢量表示当前编码块与其参考图像中的最佳匹配块之间的相对位移。每个划分的块都有相应的运动矢量传输到解码端,如果对每个块的运动矢量进行独立编码和传输,特别是划分成小尺寸的块时,需要消耗相当多的比特。为了降低用于编码运动矢量的比特数,则利用相邻图像块之间的空间相关性,根据相邻已编码块的运动矢量对当前待编码块的运动矢量进行预测,然后对预测差进行编码。这样,可以有效地降低表示运动矢量的比特数。在对当前块的运动矢量编码过程中,首先使用相邻已编码块的运动矢量预测当前块的运动矢量,然后对运动矢量的预测值(motion vectorprediction,MVP)与运动矢量的真正估值之间的差值(motion vector difference,MVD)进行编码,从而有效降低MV的编码比特数。
残差计算单元102用于计算待编码块的原始值和待编码块的预测块之间的残差值,得到残差块。例如,通过逐像素将待编码块的原始像素值减去预测块的像素值。
在一个示例中,残差变换单元103用于基于残差块确定残差系数。可选的,在该过程中,可以包括:对残差块进行例如离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST)的变换,以在变换域中获取变换系数,变换系数也可以称为变换残差系数或残差系数,该残差系数可以在变换域中表示残差块。当然,编码器100在对待编码块进行编码的过程中也可以不包含残差变换的步骤。
量化单元104用于通过应用标量量化或向量量化来量化变换系数或残差值,以获取经量化残差系数(或经量化残差值)。量化过程可以减少与部分或全部残差系数有关的位深度(bitdepth)。例如,可在量化期间将p位变换系数向下舍入到q位变换系数,其中p大于q。可通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以应用不同的标度来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过QP指示合适的量化步长。
其中,在图像编码过程中,为实现对图像的压缩,通常会对待编码块的残差块进行量化,或者对该残差块经一定处理后得到的残差系数块进行量化,从而使得量化后的残差块或残差系数块可以以更少的比特进行编码。可以理解,残差块为基于待编码块的原始像素块和预测块得到的残差值块,残差系数块为对残差块进行一定处理变换后得到的系数块。
作为示例,以编码器100对残差块进行量化为例,编码器100可以为待编码块的残差块中的每个残差值除以量化系数,以缩小该残差块中的残差值。这样,相比未进行量化的残差值,量化后被缩小的残差值即可通过更少的比特来编码,这样即实现了图像的压缩编码。
编码单元105用于对上述经量化残差系数(或经量化残差值)进行编码,以经编码比特流(或称为码流)的形式输出的经编码的图像数据(即当前待编码块的编码结果),然后可以将经编码比特流传输到解码器,或将其存储起来,后续传输至解码器或用于检索。编码单元105还可用于对待编码块的语法元素进行编码,例如将待编码块采用的预测模式编码至码流等。
在一个示例中,编码单元105对残差系数编码,一种可行方法为:半定长编码方式。首先将一个残差小块(residual block,RB)内残差绝对值的最大值定义为modifiedmaximum(mm)。确定该RB内残差系数的编码比特数(同一个RB内残差系数的编码比特数一致)。例如,若当前RB的CL为2,当前残差系数为1,则编码残差系数1需要2个比特,表示为01。若前RB的CL为7,则表示编码8-bit的残差系数和1-bit的符号位。CL的确定是去找满足当前子块所有残差都在[-2^(M-1),2^(M-1)]范围之内的最小M值。若同时存在-2^(M-1)和2^(M-1)两个边界值,则M应增加1,即需要M+1个比特编码当前RB的所有残差;若仅存在-2^(M-1)和2^(M-1)两个边界值中的一个,则需要编码一个Trailing位来确定该边界值是-2^(M-1)还是2^(M-1);若所有残差均不存在-2^(M-1)和2^(M-1)中的任何一个,则无需编码该Trailing位。
当然,也可以采用其他残差系数编码方法,如指数Golomb编码方法,Golomb-Rice编码方法,截断一元码编码方法,游程编码方法,直接编码原始残差值等。
另外,对于某些特殊的情况,也可以直接编码原始值,而不是残差值。
反量化单元106用于对上述经量化残差系数(或经量化残差值)进行反量化,以获取经反量化残差系数(经反量化残差值),该反量化是上述量化单元104的反向应用,例如,基于或使用与量化单元104相同的量化步长,应用量化单元104应用的量化方案的逆量化方案。
残差逆变换单元107用于对上述反量化残差系数逆变换(或反变换),以得到重建的残差块。可选的,反变换可以包括逆离散余弦变换(discrete cosine transform,DCT)或逆离散正弦变换(discrete sine transform,DST)。这样,对上述反量化残差系数逆变换(或反变换)后得到的逆变换值,即为在像素域(或者称为样本域)中重建的残差值。也即,经反量化的残差系数块在经残差逆变换单元107逆变换后,得到的块为重建的残差块。当然,在编码器100中不包括上述的残差变化单元103时,编码器100也可以不包含反变换的步骤。
重构单元108用于重建的残差块添加至预测块,以在样本域中获取经重构块,重构单元108可以为求和器。例如,重构单元108将重建的残差块中的残差值与预测块中对应像素的预测值相加,以得到对应像素的重建值。该重构单元108输出的重构块可以后续用于预测其他待编码的图像块。
滤波器单元109(或简称“滤波器”)用于对经重构块进行滤波以获取经滤波块,从而顺利进行像素转变或提高图像质量。
在一个示例中,编码器100实现的一种编码过程可以包括以下步骤:
步骤21:预测处理单元101确定预测模式,并基于确定的预测模式和已编码图像块的重构块对待编码块进行预测,得到待编码块的预测块。
其中,已编码图像块的重构块是反量化单元106、残差逆变换单元107以及重构单元108依次对该已编码图像块的经量化残差系数块处理后得到的。
步骤22:残差计算单元102基于预测块和待编码块的原始像素值,得到待编码块的残差块;
步骤23:残差变换单元103对残差块进行变换,得到残差系数块。
步骤24:量化单元104对残差系数块进行量化,得到经量化残差系数块。
步骤25:编码单元105对经量化残差系数块进行编码,以及对相关语法元素(例如预测模式,编码模式)进行编码,得到待编码块的码流。
参见图4,图4示出用于实现本申请实施例方法的解码器200的实例的示意性框图。解码器200用于接收例如由编码器100编码的图像数据(即经编码比特流,例如,包括图像块的经编码比特流及相关联的语法元素),以获取经解码图像块。
如图4所示,解码器200包括码流解析单元201、反量化单元202、残差逆变换单元203、预测处理单元204、重构单元205、滤波器单元206。在一些实例中,解码器200可执行大体上与图2的编码器100描述的编码过程互逆的解码过程。
码流解析单元201用于对经编码比特流执行解码,以获取经量化残差系数(或经量化残差值)和/或解码参数(例如,解码参数可以包括编码侧执行的帧间预测参数、帧内预测参数、滤波器参数和/或其它语法元素中的任意一个或全部)。码流解析单元201还用于将上述解码参数转发至预测处理单元204,以供预测处理单元204根据解码参数执行预测过程。
反量化单元202的功能可与编码器100的反量化单元106的功能相同,用于反量化(即逆量化)经码流解析单元201解码输出的经量化残差系数。
其中,反量化是量化的反过程,反量化指的是将量化后的系数映射为输入信号空间中的重建信号,重建信号是输入信号的一个近似。为从压缩编码后的码流中重建图像块,解码器200的反量化单元202可以对从码流中解析到的残差块或残差系数块进行反量化,从而可以重建图像块对应的未被量化的残差块或残差系数块,进而,解码器200根据重建的残差块或残差系数块对图像块进行重建,从而得到图像的重建块。
作为示例,以解码器200从码流中解析到待解码块经量化后的残差块为例,解码器200可以通过反量化单元202对该残差块进行反量化。具体的,编码端可以为解析到的残差块中的每个残差值乘以量化系数,以重建待解码块对应的未被量化的残差块中的残差值,从而得到重建的残差块。其中,量化系数为编码装置在编码待解码块时,对待解码块的残差块进行量化时的量化系数。这样,解码器200基于反量化后重建的残差块,即可实现对待解码块的重建,并得到待解码块的重建块。
残差逆变换单元203的功能可与编码器100的残差逆变换单元107的功能相同,用于对上述经反量化残差系数进行逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程),得到重建的残差值。逆变换得到块即为重建的待解码块在像素域中的残差块。
重构单元205(例如求和器)的功能可与编码器100的重构单元108的功能相同。
预测处理单元204,用于接收或获取经编码图像数据(例如当前图像块的经编码比特流)和已重构图像数据,预测处理单元204还可以从例如码流解析单元201接收或获取预测模式的相关参数和/或关于所选择的预测模式的信息(即上述的解码参数),并且基于已重构图像数据中的相关数据和解码参数对当前图像块进行预测,得到当前图像块的预测块。
重构单元205用于将重建的残差块添加到预测块,以在样本域中获取待解码图像的重构块,例如将重建的残差块中的残差值与预测块中的预测值相加。
滤波器单元206用于对经重构块进行滤波以获取经滤波块,该经滤波块即为经解码图像块。
具体的,在本申请实施例中,解码器200用于实现后文实施例中描述的解码方法。
应当理解的是,在本申请实施例的编码器100和解码器200中,针对某个环节的处理结果也可以经过进一步处理后,输出到下一个环节,例如,在插值滤波、运动矢量推导或滤波等环节之后,对相应环节的处理结果进一步进行Clip或移位shift等操作。
在一个示例中,解码器200实现的一种解码过程可以包括以下步骤:
步骤31:码流解析单元201解析预测模式和残差编码模式;
步骤32:码流解析单元201基于预测模式和残差编码模式解析量化相关值(如near值,或QP值等);
步骤33:反量化单元202基于预测模式和量化相关值解析残差系数;
步骤34:预测处理单元204基于预测模式,获得当前图像块各个像素的预测值;
步骤35:残差逆变换单元203对残差系数逆变换,以重建当前图像块各个像素的残差值;
步骤36:重构单元205基于当前编码单元各个像素的预测值和残差值,获得其重建值。
图1~图4仅为本申请实施例提供的示例,在一些示例中,编码器100、解码器200以及编解码系统1可以包括更多或更少的部件或单元,本申请对此不予限定。
以下,结合附图,对本申请实施例提供的如下图像编解码方法进行说明。
图5为本申请提供的一种图像编码方法的流程示意图。可选的,该图像编码方法可应用于图1所示出的编解码系统1,该图像编码方法可以由编码端10执行,具体的,该编码方法可以由编码端10包括的编码器100执行,如图5所示,本申请实施例提供的图像编码方法包括以下步骤:
S101、编码端获取待编码块的最大码长。
可以理解的是,待编码的视频中可以包含的一个或多个图像帧。一个图像帧包括一个或多个图像块。本申请实施例中,当前待编码块对应待处理图像(待处理图像为一个或多个图像帧中的任意一个图像帧)的一个图像块,待编码块可以为编码单元(coding unit,CU)。
可选的,一个待编码块可以包括多个分量。该分量可以为亮度分量,也可以为亮度分量。
例如,对于一个尺寸为16×2的待解码块对应的图像块而言,若该图像块的图像格式为YUV444,则该图像块包括一个尺寸为16×2的亮度分量和两个尺寸为16×2的色度分量。
又例如,对于一个尺寸为16×2的待解码块对应的图像块而言,若该图像块的图像格式为YUV422,则该图像块包括一个尺寸为16×2的亮度分量和两个尺寸为8×2的色度分量。
其中,最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的所述待编码块的最大码流长度,设定上溢线用于指示所述码流缓冲器中码流允许占用的最大存储空间。
应理解,为防止出现码流上溢的情况,该最大码长可以根据图1所示的编解码系统中的解码端的码流缓冲器的实际储存空间的大小确定。解码端可以根据码流缓冲器的实际存储空间的大小与上述设定上溢线,确定当前码流缓冲器中的允许缓存已编码码流的存储空间。进而,解码端可以确定当前码流缓冲器中已存储的码流所占用的空间大小,并将当前码流缓冲器中的允许缓存已编码码流的存储空间减去当前已存储的码流所占用的空间大小得到的空间大小确定为上述存储空间的剩余空间。
从而,该最大码长为编码端用于缓存已编码码流的存储空间当前允许缓存的最大码流长度,上述最大码长为存储空间的剩余空间中可容纳码流的长度与存储空间在单位时间内输出码流的长度之和。
在一些实施例中,编码端可以控制码流缓冲器的设定上溢线,以使得该允许存储已编码码流的空间小于或等于码流缓冲器的总存储空间大小。从而,编码端可以根据码流缓冲器当前的设定上溢线确定上述码长范围。
需要说明的是,在对图像进行编码过程中,编码端可以将码流缓冲器的设定上溢线下调为码流缓冲器的总存储空间大小的二分之一、三分之一或其他可能的大小。示例性的,对于一个“片”而言,在编码端对该“片”完成编码之后,为了使得该“片”的已编码码流尽快地从码流缓冲器中输出,此时可以减小码流缓冲器中允许容纳已编码码流的实际空间大小,从而可以减少在编码端对该“片”完成编码之后,在码流缓冲器中存储的该“片”的码流。此外,在下调该设定上溢线时,会出现当前码流缓冲器中已经存储码流所占用的空间超出该设定上溢线的情况。此时,编码端可以基于超出该设定上溢线部分所占用的空间大小作为确定因素,确定编码待编码的固定码长。
S102、编码端对待编码块进行预编码,得到待编码块的第一码长。
其中,第一码长为待编码块编码后得到的码流的长度。
此外,编码端可以基于原始值模式对待编码块进行预编码。
原始值模式为直接编码待编码块对应的图像块的原始值的模式。
可选的,编码端可以采用原始值模式,对待编码块的原始像素值经过量化、变换后的值进行编码。如此,编码端通过采用原始值模式对待编码块进行编码,可以提升重建待编码块图像的效果。
在近无损压缩的编码方式中,编码端可以采用原始值模式对待编码图像进行编码。其中,近无压缩是指是介于无损压缩和有损压缩之间的压缩技术,近无损压缩的目的是在一定的压缩倍数下获得较高的图像压缩质量。
可选的,编码端可以基于逐点预测模式,帧内预测模式,块复制模式等编码端预设的预测模式对待编码块进行预编码。
帧内预测模式是将待预测块周围相邻块中像素的重建值作为预测值的预测模式。块复制预测模式是将周围已编码(解码)块(不一定相邻)像素的重建值作为预测值预测模式。在重建时,逐点预测模式是指将待预测像素周围相邻像素的重建值作为待预测像素的预测值的预测模式。
逐点预测模式可以包括垂直预测、水平预测、垂直均值预测和水平均值预测等预测方式中的一种或多种的组合。
垂直预测为用待预测像素上侧(既可以是相邻的上侧,也可以是非相邻但距离较近的上侧)像素的重建值来获得待预测像素的预测值(PointPredData)。水平预测为用待预测像素左侧(既可以是相邻的左侧,也可以是非相邻但距离较近的左侧)像素的重建值来获得待预测像素的预测值。垂直均值预测为用待预测像素上下方像素的重建值来获待得预测像素的预测值。水平均值预测为用待预测像素左右两侧像素的重建值来获得待预测像素的预测值。
S103、若第一码长大于或等于最大码长,编码端采用回退模式对待编码块进行编码。
其中,基于所述回退模式对待编码块进行编码得到的码长小于最大码长。
其中,采用回退模式对待编码块进行编码,也即基于预先确定的目标码长,然后采用固定码长的编码方式对待编码块进行编码,对待编码块进行编码所需的总码长即为目标码长。目标码长小于最大码长。
应理解,若第一码长小于或等于最大码长,则编码端无需采用回退模式对待编码块进行编码。
需要说明的是,码流缓冲器的存储空间的大小是一定的,若输入至码流缓冲器的码流数据过大,导致需要码流缓冲器暂时存储的数据超出其存储空间的大小,则会出现码流“上溢”的情况。如此,会导致超出部分的数据丢失,从而,该待编码视频的图像帧中的图像信息丢失,根据码流缓冲器输出的码流数据无法完整解析出该图像帧。
因此,编码端需要将目标码长控制在上述最大码长之内。
在一些实施例中,原始值模式的码字和回退模式的码字相同。例如,原始值模式和回退模式的码字均为第一码字,则当编码端编码回退模式时,可以采用第一码字时,该第一码字用于指示回退模式或原始值模式。
在一些实施例中,编码端可以选择中点预测回退模式(midPoint predictionfallback mode,MPPF Mode),对待编码块进行预测,并在得到预测块后,基于固定码长的编码方式对待编码块进行编码,以得到待编码块的码流。
其中,根据中点预测回退模式,编码端可以首先将待编码块划分为多个2x2像素点的子图像块,每个2x2子图像块块需要计算一个中值,中值middle的计算方法如下公式(1)。
middle=1<<(bitDepth–1) 公式(1)
其中,bitDepth为当前待解码子块的码流传输通道的比特深度,1<<表示左移一位。
进而,编码端可以确定待编码的子块均值mean。
一种情形下,若当前子块无法获取周围重建图像,则mean值即为上述middle值。
另一种情形下,mean值为该子块的上一行2x1像素点的子块重建值的均值,若无法获取上一行2x1像素点的子块重建值,则取该子块的前一个重建的2x2子块重建图像的均值。
进而,编码端可以确定该子块的bias值,bias值用于限制mean值的取值。编码端可以使用bias值和middle值对mean做一个钳位,以将mean值限制在bias值与middle值组成的取值范围中。从而,将经过用bias值和middle值调整之后的mean值确定为当前2x2像素点的待编码子块的预测值。
其中,bias值可以根据下述公式(2)确定。
bias=1<<(mppStepSize[k]–1) 公式(2)
其中,mppStepSize用于指示待编码块的一个分量的量化过程中的量化步长,[k]用于指示待编码块的第[k]分量,1<<表示左移一位。
此外,基于MPPF Mode,如图6所示,可以基于左上角像素点A,右上角像素点B,左下角像素点C,右下角像素点D的顺序,计算该2x2像素点子块的残差值。
可选的,在重建该待编码子块的过程中,也可以按照上述左上角像素点A,右上角像素点B,左下角像素点C,右下角像素点D的顺序,依次确定各个像素点的重建值。
在一些实施例中,编码端可以采用残差编码模式对待编码块进行编码。
可选的,编码端可以采用回退模式对应的预测模式对待编码块进行预测。或者,编码端可以采用编码端预设的预测模式中的任一预测模式对待编码块进行预测。
其中,编码端预设的预测模式可以包括逐点预测模式,帧内预测模式,块复制模式等。
可选的,编码端可以将回退模式对应的预测模式确定为上述编码端预设的预测模式中固定的一个。或者,编码端还可以在编码过程中选择上述预设的预测模式中的任意一个作为预测当前待编码块时采用的预测模式。
从而,对于采用退回模式编码的所有待编码块,编码端均采用该固定的预测模式进行预测。
可选的,本申请实施例提供的回退模式可以包括第一回退模式和第二回退模式。其中,第一回退模式即采用回退模式对待编码块进行编码时,直接采用固定的一种预测模式对待编码块进行预测,例如垂直均值预测模式。此外,第二回退模式即不具有固定的预测模式,当采用第二回退模式对待编码块进行编码时,可以选择编码端预设的任一种预测模式对待编码块进行预测。此外,第二回退模式可以不具有预测模式,当采用第二回退模式对待编码块进行编码时,直接对原始值进行量化反量化得到重建值。
从而,在得到待编码块的预测块后,编码端可以执行上文描述的步骤22-步骤25,基于预测块和待编码块的原始像素值,得到待编码块的残差块,并残差块进行变换,得到残差系数块。进而对残差系数块进行量化,得到经量化残差系数块。最后对经量化残差系数块进行编码,得到待编码块的码流。
在一些实施例中,编码端可以先确定待编码块的量化参数QP值,进而对该残差值进行量化处理。
可选的,编码端可以根据待编码块对应的图像块的复杂度信息和码流缓冲器的剩余空间,导出待编码块的初始量化参数。进而,编码端可以根据初始量化参数和量化参数调整值,确定待编码块的量化参数,目标量化参数的取值范围在零与编码端的量化参数预设最大值之间。示例性的,待解码块的量化参数可以为初始量化参数与量化参数调整值之和。
其中,码流缓冲器的剩余容量越大,量化参数调整值越大。该量化参数调整值的取值可以为例如4或8等正整数。
进一步地,编码端还可以确定待编码块的各个分量的固定码长。
其中,待编码块包括一个或多个分量。待编码块既可以包括亮度Y、色度Cb、色度Cr三个分量(或红R、绿G、蓝B三分量,或亮度Y、色度U、色度V三个分量),也可以仅包含其中的某一个分量。若包含三个分量,几个分量的尺寸可以完全一样,也可以不一样,具体与图像输入格式相关。
示例性的,若待编码块的图像格式为YUV400,则待编码块中仅包括亮度分量,编码端仅需要确定亮度分量的固定码长。或者,若待编码块的图像格式为YUV420,则待编码块中包括亮度Y、色度U以及色度V三个分量,编码端需要确定亮度分量的固定码长、第一色度分量的固定码长以及第二色度分量的固定码长。
一种示例中,编码端可以获取待编码块的目标总码长和待编码块的图像格式,目标总码长为基于目标像素深度(bits per pixel,BPP)确定的编码待编码块的各个像素点时所需的总码长,待编码块的图像格式用于指示色度分量与亮度分量之间的码长比值。进而,编码端可以根据待编码块的目标总码长以及码长比值,确定待编码块的亮度分量的固定码长和色度分量的固定码长。
其中,确定目标BPP用于指示在目标压缩率下编码待编码块的每个像素点时所需的码长。目标像素深度可以根据待编码块的目标压缩倍率确定,目标BPP也可以视为编码待编码块的每个像素点时所需的平均码长。目标BPP由图像头信息中的码流解析得到。
其中,目标像素深度还用于指示在目标压缩率下编码待编码块的每个像素点时所需的码长。目标像素深度可以根据待编码块的目标压缩倍率确定。
示例1、若待编码块的目标BPP为8,也即待编码块的目标总码长为(8bit×待编码块的像素点个数),且若图像格式为YUV400,则待编码块中仅包括亮度分量一个分量,该亮度分量的总码长可以为(8bit×待编码块的像素点个数),也即亮度分量的固定码长(一个亮度像素点的码长)为8bit。编码端可以基于上述确定的待解码块的总码长,以固定码长的编码方式对该待编码块进行编码。其中,若待编码块为16x2的图像块,则该待编码块的目标总码长即为256bit。
示例2、若当前目标BPP为8,也即待编码块的目标总码长为(8bit×待编码块的像素点个数),且图像格式为YUV444,则待编码块中包括亮度Y、色度U以及色度V三个分量。应理解,此时目标总码长无法平均分配给亮度Y、色度U以及色度V三个分量。基于该图像格式为YUV444,Y分量:U分量:V分量的码长比值可以为2:1:1。从而,编码端可以确定Y分量的总码长为(4bit×待编码块的像素点个数),U分量与V分量的总码长均为(2bit×待编码块的像素点个数)。从而,编码端可以基于(4bit×待编码块的像素点个数)的码长,以固定码长的编码方式对该待编码块的Y分量进行编码。并基于(2bit×待编码块的像素点个数)的码长,以固定码长的编码方式对该待编码块的U分量和V分量进行编码。
此外,基于该图像格式为YUV444,每个色度(U或V)分量中的像素个数与亮度(Y)分量的像素个数相同,从而,编码端可以以4bit(也即亮度的固定码长为4bit)作为固定码长,编码亮度(Y)分量中的各个像素点。并且,编码端可以以2bit(也即色度的固定码长为2bit)作为固定码长,编码色度(U或V)分量中的各个像素点。
示例3、若当前目标BPP为8,也即待编码块的目标总码长为(8bit×待编码块的像素点个数),且图像格式为YUV422,则待编码块中包括亮度Y、色度U以及色度V三个分量。应理解,此时无法平均将(8bit×待编码块的像素点个数)分配给亮度Y、色度U以及色度V三个分量。基于该图像格式为YUV422,Y分量:U分量:V分量的码长比值可以为2:1:1。从而,编码端可以确定Y分量的总码长为(4bit×待编码块的像素点个数),U分量与V分量的总码长均为(2bit×待编码块的像素点个数)。从而,编码端可以基于4bit×待编码块的像素点个数的码长,即以固定码长为4的定长码对该待编码块的Y分量进行编码。并基于(2bit×待编码块的像素点个数)例如2bit×2×16也即64bit的码长,以固定码长为(64/待编码块的像素点个数)的编码方式对该待编码块的U分量和V分量进行编码。
此外,基于该图像格式为YUV422,每个色度(U或V)分量中的像素个数为亮度(Y)分量的像素个数的一半,从而,编码端可以以4bit(也即亮度分量的固定码长为4bit)作为固定码长,编码亮度(Y)分量中的各个像素点。并且,编码端同样可以以4bit(也即色度分量的固定码长为4bit)作为固定码长,编码色度(U或V)分量中的各个像素点。
另一种示例中,编码端可以获取待编码块的目标BPP、待编码块的图像格式以及编码待编码块的头信息所需的码长。进而,编码端可以根据待编码块的目标BPP、待编码块的图像格式以及编码待编码块的头信息所需的码长,确定待编码块的色度分量的固定码长和亮度分量的固定码长。
其中,对于每个图像块的已编码码流,头信息为在该码流的最前端的具有一定长度的数据,该数据可以用于指示当前图像块的图像参数。示例性的,该图像参数包括当前图像块的比特深度、目标像素深度、量化参数以及纹理复杂度中的一项或多项。
示例性的,若当前目标BPP为8,也即待编码块的目标总码长为(8bit×待编码块的像素点个数),编码头信息所需的码长为(2bit×待编码块的像素点个数),且若图像格式为YUV400,则待编码块中仅包括亮度分量一个分量,该亮度分量的总码长可以为(6bit×待编码块的像素点个数),从而亮度分量的固定码长为6bit。编码端可以基于(4bit×待编码块的像素点个数)例如4bit×2×16也即128bit的码长,以固定码长的编码方式对该待编码块进行编码。
需要说明的是,在图像编解码过程中,由于人肉眼对于图像亮度更加敏感,通常会为图像块中的色度(Y)分量分配码长,从而亮度分量上所有像素的固定码长之和大于或等于所述色度分量上所有像素的固定码长之和。从而,基于该图像编解码的过程,可以提升人肉眼查看到的图像效果。
又一种示例中,编码端可以获取待编码块的目标BPP、待编码块的图像格式以及编码待编码块的头信息所需的码长。进而,编码端可以根据码流缓冲器的剩余容量、待编码块的目标BPP、码长比值以及编码待编码块的头信息所需的码长,确定待编码块的色度分量的固定码长和亮度分量的固定码长。
可选的,待编码块的所有分量的码长之和为待编码块的目标码长减去待编码块的头信息的码长和码流缓冲器的超出码长。
其中,目标码长为基于目标BPP确定待编码块的码长,设定上溢线的变化量小于待编码块的固定码长与待编码块的头信息的码长之间的差值,码流缓冲器的超出码长为码流缓冲器中的已存储码长超出所述当前的设定上溢线的码长。
示例性的,若目标BPP为8,待编码块的目标码长为(8bit×待编码块的像素点个数),若头信息需要占用(2bit×待编码块的像素点个数),此时码流缓冲区的状态大于当前的设定上溢线,则设定大于上溢线的部分所占的码长为overflow_bpp,则此时待编码块的所有分量的码长之和为待编码块的目标总码长(也即8bit×待编码块的像素点个数)减去编码头信息占用的码长(例如为2bit×待编码块的像素点个数),再减去overflow_bpp(例如1bit×待编码块的像素点个数)。从而,此时待编码块的所有分量的码长之和为5bit×待编码块的像素点个数。进而,编码端可以根据待解码块的图像格式以及5bit×待编码块的像素点个数确定待编码块的色度分量的固定码长和亮度分量的固定码长。
在一些实施例中,若需要调整设定上溢线,设定上溢线的大小满足以下公式(3):
delta_bit<=(target_bpp-cu_header_bpp)×block_size 公式(3)
其中,delta_bit=overflow_bpp×block_size,block_size为编码块尺寸。target_bpp表示目标BPP。cu_header_bpp表示编码待编码块的头信息时所用的码长,并且cu_header_bpp小于等于target_bpp。此外,overflow_bpp表示码流缓冲器中的已存储码长超出所述当前的设定上溢线的码长。
在一些实施例中,若待编码块包括多个分量,待编码块的多个分量共享回退模式(共享是指多个分量均采用回退模式或均不采用回退模式),从而,编码但可以仅确定其中一个分量是否采用回退模式,在其中一个分量采用回退模式的情形下,其他分量也采用回退模式。或者,待编码块的多个分量中的一部分分量共享回退模式,则编码端可以仅确定其中一部分分量中的一个分量是否采用回退模式、以及除该部分分量的其他分量是否采用回退模式。又或者,待编码块的多个分量均不共享回退模式,从而,编码端可以分别确定每一个分量是否采用回退模式。
在一些实施例中,若当前待编码块采用回退模式进行编码,不更新当前的码控参数,也即,将待编码块的前一个已编码块对应的码控参数确定为待编码块的码控参数。其中,该码控参数用于导出下一个待编码块的编码信息,例如量化步长等参数。
需要说明的是,在编解码过程中,对于每一个待编码块对应的图像块,在当前图像块编码结束以后,码控会根据当前图像块的复杂度,以及编码时所需码长等信息来更新码控参数,更新后的码控参数用于导出下一个待编码图像块的信息,如量化步长等。但是,若基于回退模式对该图像块进行编码,由于该待编码块的码长是固定的,其编码时所需码长无法正确反应当前图像内容,因此,若当前编码单元中若选择了回退模式,那么不更新码控参数。
可选的,对于具有多个分量的待编码块,若当前待编码块中具有其中一个分量采用回退模式进行编码,不更新当前的码控参数。
本申请实施例提供的图像编码方法至少具有以下有益效果:该方法可以首先对待编码块进行预编码,基于预编码得到的码流长度与待编码块允许占用的码长对比,并根据对比结果,确定是否会出现码流上溢或下溢的情况。进而,在确定会出现码流上溢或下溢的情况时,采用回退模式对待编码块进行编码,以避免待编码块的的图像信息丢失。
在一些实施例中,本申请还提供一种图像解码方法,该解码方法与图5所示的编码方法相对应,如图7所示,图7为本申请提供的一种图像解码方法的流程示意图,该图像解码方法可以由解码器200执行,也可以由支持解码器200的功能的解码端(如图1所示出的解码端20)执行,这里以解码器200实现解码方法为例进行说明,该图像解码方法包括以下步骤:
S201、解码端解析待解码块的码流,若待解码块的码流中包括第一码字,则以确定待解码块对应的图像块是否采用回退模式。
其中,在待解码块的码流中用于指示编码模式的码字为第一码字,并且,第一码字为用于指示回退模式或原始值模式。
在一些实施例中,待解码端可以根据基于原始值模式对待解码块进行编码的码长是否上溢,来判断待解码块对应的图像块是否采用回退模式。
可选的,若待解码块对应的图像块基于原始值模式编码的码长大于或等于所述待解码块的最大码长,则解码端可以确定待解码块对应的图像块采用回退模式。
其中,待解码块的码流可以是解码端从编码端接收到的码流,或者是从其他设备获取的码流,例如从存储设备获取的码流,本申请实施例对此不作限定。
其中,待解码块的码长小于待解码块的最大码长,最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的待解码块的最大码流长度,设定上溢线用于指示码流缓冲器中允许码流占用的最大存储空间。
需要说明的是,上述码流缓冲器中允许缓存的码流的最大码长为编码端编码该待解码块时,码流缓冲器中允许缓存的最大码流长度。解码端可以解析待解码块的码流,直接确定最大码长,或者,解码端还可以解析待解码块的码流,确定编码端在编码该待解码块对应的图像块时,码流缓冲器的剩余内存状态,进而,基于该码流缓冲器的剩余内存状态,解码端可以确定上述最大码长。
其中,关于该最大码长的相关解释可以参考上述步骤S101中的相关描述,在此不再赘述。
在一些实施例中,原始值模式的码字和回退模式的码字相同。例如,原始值模式和回退模式的码字均为第一码字,则当解码端解析待解码块的码流,得到第一码字时,解码端可以确定待解码块采用回退模式或原始值模式。
进而,解码端可以根据码流缓冲器中的已占用内存空间的大小,确定待解码块是否采用回退模式。
在解码端确定编码该待解码图像块时码流缓冲器中的已占用内存空间大于第一预设内存值,也即将上溢的情况下,解码端确定待解码块对应的图像块采用回退模式。否则,解码端确定待解码块对应的图像块采用原始值模式。
第一预设内存值的大小可以根据码流缓冲器的实际内存大小确定,不做具体限制。
可选的,在解码端确定待编码块的码流长度为所有分量的图像位宽乘以像素个数之和,则解码端可以解析待解码块的码流,基于原始值模式重建待解码块的图像块。
在一些实施例中,待解码块可以包括一个或多个分量。
可选的,待解码块可以包括仅包括亮度分量。或者,待解码块可以包括三个分量,例如亮度Y、色度Cb、色度Cr三个分量(或红R、绿G、蓝B三分量,或亮度Y、色度U、色度V三个分量)。又或者,在上述三分量的基础上,待解码块还可以包括α分量,也即待解码块共包括四分量。其中,α分量为像素透明度分量。当分量α值为0,则该解码块对应的像素是透明的,α分量的图像位宽与其他三分量不同。
在一些实施例中,若待解码块包括多个分量,待解码块的多个分量共享回退模式(共享回退模式即多个分量均采用回退模式或均不采用回退模式),从而,解码端可以仅确定其中一个分量是否采用回退模式,在其中一个分量采用回退模式的情形下,其他分量也采用回退模式。或者,待解码块的多个分量中的一部分分量共享回退模式,则解码端可以仅确定其中一部分分量中的一个分量是否采用回退模式、以及除该部分分量的其他分量是否采用回退模式。又或者,待解码块的多个分量均不共享回退模式,从而,解码端可以分别确定每一个分量是否采用回退模式。
具体的,待解码块的码流中可以包括用于指示上述共享回退模式的情形的标识。从而,解码端可以根据该标识,确定共享回退模式的分量,并进一步确定各个分量是否采用回退模式。
S202、解码端在待解码块对应的图像块采用回退模式,且所述码流缓冲器中已存储的码长超出设定上溢线的情况下,根据码流缓冲器的超出码长,确定待解码块的每个分量的固定码长。
其中,待解码块包括一个或多个分量,对于待解码块的第一分量,第一分量的固定码长用于指示解析第一分量的单个像素点时所需的码长,码流缓冲器的超出码长为码流缓冲器中的已存储码长超出当前的设定上溢线的码长。
在一些实施例中,解码端可以根据待解码块的目标BPP、待解码块的图像格式、待解码块的头信息的码长以及编码该待解码图像块时码流缓冲区的剩余内存中的一项或多项,确定待解码块各个分量的固定码长。
其中,目标像素深度还用于指示在目标压缩率下解码待解码块的每个像素点时所需的码长。目标像素深度可以根据待解码块的目标压缩倍率确定,可以理解为,上述目标像素深度为解码待解码块的各个像素点时所需的平均码长。此外,待解码块的图像格式还可以用于指示色度分量与亮度分量之间的码长比值,例如若图像格式为YUV444,则该待解码图像块中Y分量:U分量:V分量的码长比值可以为2:1:1。
可选的,解码端可以解析待解码块的码流,解析得到待解码块各个分量的BPP,或者,解码端还可以根据下述可能的实现方式,确定待解码块各个分量的BPP。应理解,解码端确定待解码块各个分量的固定码长的方式,与编码端在编码该待解码块对应的图像块的码流时确定各个分量的固定码长的方式相同。
在一种实现方式中,解码端可以获取待解码块的目标BPP和待解码块的图像格式,并根据待解码块的目标BPP以及码长比值,确定待解码块的色度分量的固定码长和亮度分量的固定码长。
需要说明的是,解码端确确定各个分量的固定码长的方式与编码端是对应的,若编码端基于一个图像块的目标BPP和待解码块的图像格式确定该图像块的各个分量的固定码长。相应的,在解码该图像块的已编码码流时,解码端同样基于一个图像块的目标BPP和待解码块的图像格式确定该图像块的各个分量的固定码长。
示例1、若待解码块的目标BPP为8,从而待解码块的目标总码长为8bit×待编码块的像素点个数,且若图像格式为YUV400,则待解码块中仅包括亮度分量一个分量,该亮度分量的总码长可以为8bit×待编码块的像素点个数,也即亮度分量的固定码长(一个亮度像素点的码长)为8bit。解码端可以基于8bit×待编码块的像素点个数的码长,以固定码长的解码方式对该待解码块进行解码。其中,若待解码块为16x2的图像块,该待解码块的码长即为256bit。
示例2、若当前目标BPP为8,待解码块的目标码长为8bit×待编码块的像素点个数,且图像格式为YUV444,则待解码块中包括亮度Y、色度U以及色度V三个分量。应理解,此时8bit×待编码块的像素点个数无法平均分配给亮度Y、色度U以及色度V三个分量。基于该图像格式为YUV444,Y分量:U分量:V分量的码长比值可以为2:1:1。从而,解码端可以确定Y分量的总码长为4bit×待编码块的像素点个数,U分量与V分量的总码长均为2bit×待编码块的像素点个数。从而,解码端可以基于4bit×待编码块的像素点个数的码长,以固定码长的解码方式对该待解码块的Y分量进行解码。并基于2bit×待编码块的像素点个数的码长,以固定码长的解码方式对该待解码块的U分量和V分量进行解码。
此外,基于该图像格式为YUV444,每个色度(U或V)分量中的像素个数与亮度(Y)分量的像素个数相同,从而,解码端可以以4bit(也即亮度分量的固定码长为4bit)作为固定码长,解码亮度(Y)分量中的各个像素点。并且,解码端可以以2bit(也即色度分量的固定码长为2bit)作为固定码长,解码色度(U或V)分量中的各个像素点。
示例3、若当前目标BPP为8,待解码块的目标码长为8bit×待编码块的像素点个数,且图像格式为YUV422,则待解码块中包括亮度Y、色度U以及色度V三个分量。应理解,此时8bit×待编码块的像素点个数无法平均分配给亮度Y、色度U以及色度V三个分量的固定码长。基于该图像格式为YUV422,Y分量:U分量:V分量的码长比值可以为2:1:1。从而,解码端可以确定Y分量的总码长为4bit×待编码块的像素点个数,U分量与V分量的总码长均为2bit×待编码块的像素点个数。从而,解码端可以基于4bit×待编码块的像素点个数的码长,以固定码长的解码方式对该待解码块的Y分量进行解码。并基于2bit×待编码块的像素点个数的码长,以固定码长的解码方式对该待解码块的U分量和V分量进行解码。
此外,基于该图像格式为YUV422,每个色度(U或V)分量中的像素个数为亮度(Y)分量的像素个数的一半,从而,解码端可以以4bit(也即亮度分量的固定码长为4bit)作为固定码长,解码亮度(Y)分量中的各个像素点。并且,解码端同样可以以4bit(也即色度分量的固定码长为4bit)作为固定码长,解码色度(U或V)分量中的各个像素点。
另一种实现方式中,解码端可以获取待解码块的目标BPP、待解码块的图像格式以及解码待解码块的头信息所需的码长。进而,解码端可以根据待解码块的目标BPP、待解码块的图像格式以及解码待解码块的头信息所需的码长,确定待解码块的色度分量的固定码长和亮度分量的固定码长。
示例性的,若当前目标BPP为8,待编码块的目标码长为8bit×待编码块的像素点个数,编码头信息所需的码长为2bit×待编码块的像素点个数,且若图像格式为YUV400,则待编码块中仅包括亮度分量一个分量,该亮度分量的总码长可以为6bit×待编码块的像素点个数,从而亮度分量的固定码长为6bit。编码端可以基于6bit×待编码块的像素点个数的码长,以固定码长的编码方式对该待编码块进行编码。又一种示例中,解码端可以获取待解码块的目标BPP、待解码块的图像格式以及解码待解码块的头信息所需的码长。进而,解码端可以根据码流缓冲器的剩余容量、待解码块的目标BPP、码长比值以及解码待解码块的头信息所需的码长,确定待解码块的色度分量的固定码长和亮度分量的固定码长。
可选的,待解码块的所有分量的码长之和为待解码块的目标码长减去待解码块的头信息的码长和码流缓冲器的超出码长。
其中,目标码长为基于目标BPP确定待解码块的码长,设定上溢线的变化量小于或等于待解码块的固定码长与待解码块的头信息的码长之间的差值,码流缓冲器的超出码长为码流缓冲器中的已存储码长超出所述当前的设定上溢线的码长。
示例性的,若目标BPP为8,待解码块的目标码长为8bit×待编码块的像素点个数,若头信息需要占用2bit×待编码块的像素点个数,此时码流缓冲区的状态大于当前的设定上溢线,则设定大于上溢线的部分所占的码长为overflow_bpp,则此时待解码块的所有分量的码长之和为待解码块的目标码长(也即8bit×待编码块的像素点个数)减去解码头信息占用的码长(例如为2bit×待编码块的像素点个数),再减去overflow_bpp(例如1bit×待编码块的像素点个数)。从而,此时待解码块的所有分量的码长之和为5bit×待编码块的像素点个数。进而,解码端可以根据待解码块的图像格式以及5bit×待编码块的像素点个数确定待解码块的色度分量的固定码长和亮度分量的固定码长。
S203、解码端基于每个分量的固定码长对待解码块中的每个分量的像素点进行解析,以解码待解码块。
在一些实施例中,如图8所示,上述步骤S203可以具体实现为以下步骤S2031至步骤S2034:
S2031、解码端基于每个分量的固定码长,确定待解码块的每个分量的残差值。
示例性的,解码端可以基于上述步骤S202中确定的该待解码块的各个分量的固定码长,分别确定待解码块中各个分量中每个像素点的残差值。
S2032、解码端获取回退模式下待解码块的预测模式,根据预测模式预测待解码块对应的图像块,得到待解码块的预测值。
可选的,解码端可以采用回退模式对应的预测模式对待解码块进行预测,也即上述第一回退模式。或者,解码端可以采用解码端预设的预测模式中的任一预测模式对待解码块进行预测,也即上述第二回退模式。应理解,解码端可以将回退模式对应的预测模式确定为上述解码端预设的预测模式中固定的一个。从而,对于采用退回模式解码的所有待解码块,解码端均采用该固定的预测模式进行预测。
其中,解码端中预设的预测模式与编码端中预设预测模式相同,关于具体预测模式的介绍可以参考上述步骤S103中的相关描述,此处不再赘述。
一种实现方式中,在待解码块包括一个分量时,解码端可以解析待解码块的码流,确定出该待解码块的预测模式。或者,解码端可以将预设的预测模式确定为该待解码块的预测模式,应理解,该预设的预测模式与编码端在预测过程中采用的预测模式相同。
另一种实现方式中,在待解码块包括多个分量时,待解码块的多个分量可以采用同一预测模式,从而,解码端可以仅确定其中一个分量的预测模式,该预测模式即为待解码块所有分量的预测模式。或者,待解码块的多个分量中的一部分分量可以采用同一预测模式,则解码端可以仅确定其中一部分分量中的一个分量的预测模式、以及除该部分分量的其他分量的预测模式。又或者,解码端可以分别确定每一个分量的预测模式。
S2033、解码端确定待解码块的量化参数,根据量化参数,对待解码块的残差值进行反量化。
可选的,解码端可以首先确定待解码块的初始量化参数,进而基于量化参数调整值,对该初始量化参数进行调整,已确定待解码块的量化参数。目标量化参数的取值范围在零与编码端的量化参数预设最大值之间。
示例性的,待解码块的量化参数可以为初始量化参数与量化参数调整值之和。应理解,解码端确定量化参数的方式与上述待解码块确定该图像块的量化参数的方式相同。
其中,码流缓冲器的剩余容量越大,量化参数调整值越大。该量化参数调整值的取值可以为例如4或8等正整数。
解码端确定原始量化参数的方式至少包括以下几种:
一种实现方式中,待解码块的头信息中包括对待解码块对应的图像块进行量化操作时的量化参数,从而,解码端可以解析待解码块的头信息,确定待解码块的初始量化参数。
另一种实现方式中,解码端可以根据待编码块对应的图像块的复杂度信息和码流缓冲器的剩余空间,导出待编码块的初始量化参数。
进一步地,解码端可以根据QP值,可通过公式推导或查表中的至少一种方式确定量化步长Qstep,下面提供了三种可能的实现方法。然后,针对所选择的量化器组合,采用该待解码块的Qstep对该待解码块的各个像素点进行反量化。
方法一:Qstep=a×QP+b,其中,a和b是预设的参数,例如a取值为2,b取值为1。
方法二:Qstep=2T,其中,T为与QP相关的整数,例如T=(QP-6)/4。
方法三:Qstep=2(QP+offset)/octave,其中,octave为QP的位阶,也即QP的值每增加octave,Qstep的值增加一倍,通常选取octave为6或8,offset为一个整数偏移值。
可选地,可以采用下述的H.265中的传统标量量化方法实现量化和反量化。
反量化:c′=l*Qstep
其中,l是量化后得到的水平值,c是待量化的残差系数(该残差系数可以是变换域的残差系数,即经变换的残差系数;或者该残差系数可以是像素域的残差系数,即残差值),Qstep是量化步长,f是控制舍入的参数,f∈[0,1),sign表示符号函数,floor表示向下取整函数;c′是反量化后的值。
可以理解的是,QP值越大,Qstep值越大,则量化越粗糙,量化带来的图像失真越大,系数编码的码率越小。
[0,1-f)表示量化死区,参数f与量化死区的长度有关,f越小,量化死区越长,量化后的水平值越靠近零点。当f=0.5时,上述量化和反量化公式相当于四舍五入,量化失真最小。当f<0.5时,f越小,量化失真越大,系数编码的码率越小。H.265中,对于I帧,选取f=1/3,对于B/P帧,选取f=1/6。
示例性的,均匀量化器其量化或反量化公式可以参考上述量化和反量化公式,参数f有以下取法:
取法一:f取为0.5或其他固定值。
取法二:f可根据QP值、预测模式以及是否做变换来自适应确定。
S2034、解码端根据待解码块反量化后的残差值与预测值,对待解码块进行重建,得到图像块的重建块。
基于上述实施例,在编码段采用回退模式时,解码端可以采用回退模式对待解码块进行解码,可以基于码流缓冲器的剩余内存,避免出现码流上溢或下溢的情况。进而避免待解码块的的图像信息丢失。
在一些实施例中,本申请提供的图像解码过程还可以具体表述以下步骤:
第一步、首先判断待解码块是否满足条件1。若满足条件1,则以回退模式解码待解码块。
其中,上述条件1具体为待解码块的所有分量均采用原始值模式编码得到的总码长超出码流缓冲器当前可容纳的码长。其中,码流缓冲器当前可容纳的码长可以通过当前的设定上溢线所指示的内存容量减去当前码流缓冲器中已经存储的码长所占用的内存容量确定。
也即,若当前码流缓冲区状态无法满足同时在所有分量上编原始值模式,则基于回退模式解析待解码块,同时关闭原始值模式。
可选的,解码端可以首先获取当前码流缓冲器中的已存储码长(CurrBits)。进而,解码端可以确定一个待解码块的图像尺寸为宽(CbWidth)为16,高(CbHeight)。确定采用原始值模式(FallbackFlag=0)对待编码块的进行编码所需的码长。具体的,解析出待解码块各个分量的图像格式(image_format)以及图像尺寸(cbChromaSize),可以得到各个分量采用原始值模式进行编码所需的码长(modeBits)。
进一步地,解码端可以计算采用原始值模式对待编码块的进行编码所需的总码长(BitDepth[0]×cbLumaSize+BitDepth[1]×cbChromaSize×2–(TargetBpp<<1))。并确定该总码长是否满足条件1,若满足条件1,则以回退模式解码待解码块。最后,解码端可以定位该解码块(CuPosX[0]、CuPosY[0])。从而,解析下一个图像块。
第二步、解码端可以待解码块的复杂度与编码模式。
可选的,解码端可以以1bit(u(1))或3bit的固定码长解析待解码块一个分量的复杂度(complexity_level_flag)。
进一步地,解码端还可以解析待解码块的编码模式。
解码端可以首先确定预测模式,进而基于该预测模式,确定待解码块的编码模式。若当前允许打开回退模式(allowfallback)并且为原始值模式,则首先将当前待解码块的预测模式赋值为块预测模式(IBC_MODE),也即第一回退模式对应的预测模式。从而,解码端以5bit(u(5))的固定码长解析当前待解码块对应预测块在搜索区域中的坐标(abs_bvd_minus1[blkIdx])。
第三步、解码端导出一个定长码码长,使用定长码解析每个量化后的系数值。
若为第一回退模式,系数值表示为量化后的残差值,若为第二回退模式,此时没有预测模式,系数值表示为量化后的原始值。
最后,经过反量化。若为第一回退模式,使用预测值加上残差值得到重建值,若为第二回退模式,反量化后的值作为重建值。
上述过程具体可以实现为以下文本描述过程:
}其中,在上述文本描述中,对于回退模式的类型二值变量的方法确定。若值为‘1’表示当前编码单元采用的回退模式为原始值截断模式,若值为‘0’表示当前编码单元采用的回退模式为残差截断模式。FallbackType的值等于fallback_type的值。
在一些实施例中,解码端获取码流中表示待解码块的定长码的二进制数据,采用反二值化方法对其进行处理,以得到BPP的具体数据。
解码端首先确定定长码的二进制数据(org_data):
如果回退模式标识值(FallbackFlag)等于0,也即编码时未采用回退模式,将当前通道的比特深度(BitDepth[component])的值作为定长码的码长(len),org_data的值等于表1中“synElVal”的值。
否则,解码端将定长码的值作为码长len,org_data的值等于synElVal的值(参考下述表1)。
定长码的具体导出如下:
1)解码端首先先计算调整上溢线后的目标BPP(adjTargetBpp)的值:
如果(BitsRecord–((目标BPPTargetBpp<<1)×(下一个待解码块(CurrBlocks)–1)))大于最大设定上溢线(MaxBufferSize),adjTargetBpp等于(((Target_bpp<<1)–(BitsRecord–((TargetBpp<<1)×(CurrBlocks–1))–MaxBufferSize))>>5);
否则,adjTargetBpp等于(Target_bpp>>4)。
其中(Target_bpp>>4)指的是目标BPP。
2)解码端根据adjTargetBpp确定每个分量上定长码的码长:
如果图像格式等于YUV400时,定长码等于(adjTargetBpp-2)。
否则,判断当前分量是否等于亮度分量。
如果等于亮度分量,定长码等于(adjTargetBpp-2)/3+(adjTargetBpp-2)/3。
否则,
如果图像格式等于YUV420时,定长码等于(adjTargetBpp-2)/3<<2。
否则,如果图像格式等于YUV422时,定长码等于(adjTargetBpp-2)/3<<1。
否则,定长码等于(adjTargetBpp-2)/3。
表1
以下,说明本申请实施例提供的编码装置和解码装置。
在一个示例中,本申请实施例提供的任一种解码装置均可以是图1中的解码端10或解码器100。在另一个示例中,以下提供的任一种编码装置均可以是图1中的编码端20或编码器200。此处统一说明,下文不再赘述。
图9为本申请提供的一种图像编码装置900的结构示意图,上述任一种编码方法实施例都可以由该编码装置900执行。该图像编码装置900包括确定模块901和编码模块902。其中,确定模块901,用于获取待编码块的最大码长,最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的待编码块的最大码流长度,设定上溢线用于指示码流缓冲器中码流允许占用的最大存储空间。编码模块902,用于对所述待编码块进行预编码,得到所述待编码块的第一码长,所述第一码长为所述待编码块编码后得到的码流的长度。编码模块903,还用于若所述第一码长大于或等于所述最大码长,采用回退模式对所述待编码块进行编码,其中,基于所述回退模式对所述待编码块进行编码得到的码长小于所述最大码长,基于所述回退模式对所述待编码块进行编码得到的码流中包括第一码字,所述第一码字为用于指示所述回退模式或原始值模式。。
有关上述获取模块901、处理模块902以及编码模块903更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图10为本申请提供的一种图像解码装置1000的结构示意图,上述任一种解码方法实施例都可以由该解码装置1000执行。该图像解码模块1000包括解析模块1001和确定模块1002。其中,解析模块1001,用于解析待解码块的码流,若所述待解码块的码流中包括第一码字,则确定所述待解码块对应的图像块是否采用回退模式,其中,所述待解码块的码长小于所述待解码块的最大码长,所述最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的所述待解码块的最大码流长度,所述设定上溢线用于指示所述码流缓冲器中允许码流占用的最大存储空间,所述第一码字为用于指示所述回退模式或原始值模式。确定模块1002,在待解码块对应的图像块采用回退模式,且码流缓冲器中已存储的码长超出设定上溢线的情况下,根据码流缓冲器的超出码长,确定待解码块的每个分量的固定码长,其中,待解码块包括一个或多个分量,对于待解码块的第一分量,第一分量的固定码长用于指示解析第一分量的单个像素点时所需的码长,码流缓冲器的超出码长为码流缓冲器中的已存储码长超出当前的设定上溢线的码长。解析模块1001,还用于基于每个分量的固定码长,对每个分量的像素点进行解析,以解码待解码块。
有关上述解析模块1001和确定模块1002更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
本申请还提供一种电子设备,用于执行上述任意图像编码/解码方法的实施例。如图11所示,图11为本申请提供的一种电子设备的结构示意图,电子设备1100包括处理器1101和通信接口1102。处理器1101和通信接口1102之间相互耦合。可以理解的是,通信接口1102可以为收发器或输入输出接口。
在一个示例中,电子设备1100还可以包括存储器1103,用于存储处理器1101执行的指令或存储处理器1101运行指令所需要的输入数据或存储处理器1101运行指令后产生的数据。
本申请实施例中不限定上述通信接口1102、处理器1101以及存储器1103之间的具体连接介质。本申请实施例在图11中以通信接口1102、处理器1101以及存储器1103之间通过总线1104连接,总线在图11中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1103可用于存储软件程序及模块,如本申请实施例所提供的图像解码方法或图像编码方法对应的程序指令/模块,处理器1101通过执行存储在存储器1103内的软件程序及模块,从而执行各种功能应用以及数据处理,以实现上文提供的任一种图像解码方法或图像编码方法。该通信接口1102可用于与其他设备进行信令或数据的通信。在本申请中该电子设备1100可以具有多个通信接口1102。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(centralprocessing Unit,CPU)、神经处理器(neural processing unit,NPU)或图形处理器(graphic processing unit,GPU),还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
本申请实施例还提供一种编解码系统,包括编码端和解码端,该编码端可以用于执行上文提供的任意一种图像编码方法,解码端用于执行对应的图像解码方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (16)
1.一种图像解码方法,其特征在于,所述方法应用于解码端,所述方法包括:
解析待解码块的码流,若所述待解码块的码流中包括第一码字,则确定所述待解码块对应的图像块是否采用回退模式,其中,所述待解码块的码长小于所述待解码块的最大码长,所述最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的所述待解码块的最大码流长度,所述设定上溢线用于指示所述码流缓冲器中允许码流占用的最大存储空间,所述第一码字为用于指示所述回退模式或原始值模式;
若所述待解码块对应的图像块采用回退模式,且所述码流缓冲器中已存储的码长超出所述设定上溢线,则根据所述码流缓冲器的超出码长,确定待解码块的每个分量的固定码长,其中,所述待解码块包括一个或多个分量,对于所述待解码块的第一分量,所述第一分量的固定码长用于指示解析所述第一分量的单个像素点时所需的码长,所述码流缓冲器的超出码长为所述码流缓冲器中的已存储码长超出所述设定上溢线的码长;
基于所述每个分量的固定码长,对所述每个分量的像素点进行解析,以解码所述待解码块。
2.根据权利要求1所述的方法,其特征在于,所述确定所述待解码块对应的图像块是否采用回退模式,包括:
若所述待解码块对应的图像块基于原始值模式编码的码长大于或等于所述待解码块的最大码长,则确定所述待解码块对应的图像块采用回退模式。
3.根据权利要求1或2所述的方法,其特征在于,所述待解码块包括色度分量和亮度分量,所述根据所述码流缓冲器的超出码长,确定每个分量的固定码长,包括:
获取所述待解码块的目标总码长和所述待解码块的图像格式,所述目标总码长为解码待解码块时所需的总码长;
根据所述待解码块的目标总码长、所述图像格式以及所述超出码长,确定所述亮度分量的固定码长和所述色度分量的固定码长。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待解码块的目标总码长、所述图像格式以及所述超出码长,确定所述亮度分量的固定码长和所述色度分量的固定码长,包括:获取所述待解码块的头信息的码长;
根据所述待解码块的目标总码长、所述图像格式、所述超出码长以及所述头信息的码长,确定所述亮度分量的固定码长和所述色度分量的固定码长。
5.根据权利要求3或4所述的方法,其特征在于,所述亮度分量上所有像素的固定码长之和大于或等于所述色度分量上所有像素的固定码长之和。
6.根据权利要求1所述的方法,其特征在于,所述基于所述每个分量的固定码长,对所述每个分量的像素点进行解析,包括:
基于每个分量的固定码长,确定所述待解码块的每个分量的残差值;
获取所述回退模式下所述待解码块的预测模式,根据所述预测模式预测所述待解码块对应的图像块,得到所述待解码块的预测值;
确定所述待解码块的量化参数,根据所述量化参数,对所述待解码块的残差值进行反量化;
根据所述待解码块反量化后的残差值与所述预测值,对所述待解码块进行重建,得到所述图像块的重建块。
7.根据权利要求6所述的方法,其特征在于,所述获取所述回退模式下所述待解码块的预测模式,包括:
所述待解码块的预测模式为所述回退模式对应的预测模式;或者,所述待解码块的预测模式为解码端的多个预测模式中的一个。
8.根据权利要求6所述的方法,其特征在于,所述确定所述待解码块的目标量化参数,包括:
根据所述待解码块对应的图像块的复杂度信息和所述码流缓冲器的设定上溢线,导出所述待解码块的初始量化参数;
根据所述初始量化参数和量化参数调整值,确定所述待解码块的目标量化参数,所述量化参数调整值为基于所述设定上溢线确定的数值,所述目标量化参数的取值范围在零与所述解码端的量化参数预设最大值之间,其中,所述量化参数大于或等于所述初始量化参数。
9.根据权利要求1、2、4或6-8中任一项所述的方法,其特征在于,所述待解码块的所有分量的码长之和为所述待解码块的目标码长减去所述待解码块的头信息的码长和所述码流缓冲器的超出码长。
10.一种图像编码方法,其特征在于,所述方法包括:
获取待编码块的最大码长,所述最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的所述待编码块的最大码流长度,所述设定上溢线用于指示所述码流缓冲器中码流允许占用的最大存储空间;
对所述待编码块进行预编码,得到所述待编码块的第一码长,所述第一码长为所述待编码块预编码后得到的码流的长度;
若所述第一码长大于或等于所述最大码长,采用回退模式对所述待编码块进行编码,其中,基于所述回退模式对所述待编码块进行编码得到的码长小于所述最大码长,基于所述回退模式对所述待编码块进行编码得到的码流中包括第一码字,所述第一码字为用于指示所述回退模式或原始值模式。
11.根据权利要求10所述的方法,其特征在于,所述采用回退模式对所述待编码块进行编码,包括:
若所述码流缓冲器中已存储的码长超出所述设定上溢线,则根据所述码流缓冲器的超出码长,确定待编码块的每个分量的固定码长;其中,所述待编码块包括一个或多个分量,对于所述待编码块的第二分量,所述第二分量的固定码长用于指示编码所述第二分量的单个像素点时所需的码长,所述码流缓冲器的超出码长为所述码流缓冲器中的已存储码长超出所述设定上溢线的码长;
根据所述每个分量的固定码长,对所述待编码块进行编码。
12.根据权利要求10至11任一项所述的方法,其特征在于,若采用回退模式编码所述待编码块,则将所述待编码块的前一个已编码块对应的码控参数确定为所述待编码块的码控参数,所述码控参数用于导出所述待编码块的下一个待编码的图像块的编码信息。
13.一种图像解码装置,其特征在于,所述装置应用于解码端,所述装置包括:
解析模块,解析待解码块的码流,若所述待解码块的码流中包括第一码字,则确定所述待解码块对应的图像块是否采用回退模式,其中,所述待解码块的码长小于所述待解码块的最大码长,所述最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的所述待解码块的最大码流长度,所述设定上溢线用于指示所述码流缓冲器中允许码流占用的最大存储空间,所述第一码字为用于指示所述回退模式或原始值模式;
确定模块,用于在所述待解码块对应的图像块采用回退模式,且所述码流缓冲器中已存储的码长超出所述设定上溢线的情况下,根据所述码流缓冲器的超出码长,确定待解码块的每个分量的固定码长,其中,所述待解码块包括一个或多个分量,对于所述待解码块的第一分量,所述第一分量的固定码长用于指示解析所述第一分量的单个像素点时所需的码长,所述码流缓冲器的超出码长为所述码流缓冲器中的已存储码长超出所述当前的设定上溢线的码长;
所述解析模块,还用于基于所述每个分量的固定码长,对所述每个分量的像素点进行解析,以解码所述待解码块。
14.一种图像编码装置,其特征在于,所述装置应用编码端,所述装置包括:
确定模块,用于获取待编码块的最大码长,所述最大码长为基于码流缓冲器的设定上溢线确定的码流缓冲器中允许缓存的所述待编码块的最大码流长度,所述设定上溢线用于指示所述码流缓冲器中码流允许占用的最大存储空间;
编码模块,用于对所述待编码块进行预编码,得到所述待编码块的第一码长,所述第一码长为所述待编码块预编码后得到的码流的长度;
所述编码模块,还用于若所述第一码长大于或等于所述最大码长,采用回退模式对所述待编码块进行编码,其中,基于所述回退模式对所述待编码块进行编码得到的码长小于所述最大码长,基于所述回退模式对所述待编码块进行编码得到的码流中包括第一码字,所述第一码字为用于指示所述回退模式或原始值模式。
15.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,实现权利要求1-12中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被电子设备执行时,实现权利要求1-12中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310497672.7A CN116527942B (zh) | 2022-07-27 | 2022-07-27 | 一种图像编解码方法及装置 |
CN202210894255.1A CN116074539B (zh) | 2022-07-27 | 2022-07-27 | 一种图像编解码方法及装置 |
PCT/CN2023/109187 WO2024022359A1 (zh) | 2022-07-27 | 2023-07-25 | 一种图像编解码方法及装置 |
TW112127921A TWI858835B (zh) | 2022-07-27 | 2023-07-26 | 一種圖像編解碼方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894255.1A CN116074539B (zh) | 2022-07-27 | 2022-07-27 | 一种图像编解码方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310497672.7A Division CN116527942B (zh) | 2022-07-27 | 2022-07-27 | 一种图像编解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116074539A true CN116074539A (zh) | 2023-05-05 |
CN116074539B CN116074539B (zh) | 2024-10-29 |
Family
ID=86173731
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310497672.7A Active CN116527942B (zh) | 2022-07-27 | 2022-07-27 | 一种图像编解码方法及装置 |
CN202210894255.1A Active CN116074539B (zh) | 2022-07-27 | 2022-07-27 | 一种图像编解码方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310497672.7A Active CN116527942B (zh) | 2022-07-27 | 2022-07-27 | 一种图像编解码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN116527942B (zh) |
WO (1) | WO2024022359A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024022359A1 (zh) * | 2022-07-27 | 2024-02-01 | 杭州海康威视数字技术股份有限公司 | 一种图像编解码方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193301A (zh) * | 2006-11-30 | 2008-06-04 | 三星电子株式会社 | 在视觉上压缩图像数据的方法、介质和系统 |
CN107409219A (zh) * | 2015-04-13 | 2017-11-28 | 高通股份有限公司 | 用于显示流压缩的速率受限回退模式 |
CN107864379A (zh) * | 2017-09-28 | 2018-03-30 | 珠海亿智电子科技有限公司 | 一种应用于视频编解码的压缩方法 |
US20220201288A1 (en) * | 2019-09-17 | 2022-06-23 | Canon Kabushiki Kaisha | Image encoding device, image encoding method, image decoding device, image decoding method, and non-transitory computer-readable storage medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5159447A (en) * | 1991-05-23 | 1992-10-27 | At&T Bell Laboratories | Buffer control for variable bit-rate channel |
CN116074516B (zh) * | 2022-06-06 | 2024-10-25 | 杭州海康威视数字技术股份有限公司 | 一种图像编解码方法及装置 |
CN116527942B (zh) * | 2022-07-27 | 2024-10-25 | 杭州海康威视数字技术股份有限公司 | 一种图像编解码方法及装置 |
-
2022
- 2022-07-27 CN CN202310497672.7A patent/CN116527942B/zh active Active
- 2022-07-27 CN CN202210894255.1A patent/CN116074539B/zh active Active
-
2023
- 2023-07-25 WO PCT/CN2023/109187 patent/WO2024022359A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193301A (zh) * | 2006-11-30 | 2008-06-04 | 三星电子株式会社 | 在视觉上压缩图像数据的方法、介质和系统 |
CN107409219A (zh) * | 2015-04-13 | 2017-11-28 | 高通股份有限公司 | 用于显示流压缩的速率受限回退模式 |
CN107864379A (zh) * | 2017-09-28 | 2018-03-30 | 珠海亿智电子科技有限公司 | 一种应用于视频编解码的压缩方法 |
US20220201288A1 (en) * | 2019-09-17 | 2022-06-23 | Canon Kabushiki Kaisha | Image encoding device, image encoding method, image decoding device, image decoding method, and non-transitory computer-readable storage medium |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024022359A1 (zh) * | 2022-07-27 | 2024-02-01 | 杭州海康威视数字技术股份有限公司 | 一种图像编解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202406352A (zh) | 2024-02-01 |
WO2024022359A1 (zh) | 2024-02-01 |
CN116527942A (zh) | 2023-08-01 |
CN116074539B (zh) | 2024-10-29 |
CN116527942B (zh) | 2024-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6141355B2 (ja) | ビデオコード化における量子化 | |
EP3297283B1 (en) | Encoding and decoding videos sharing sao parameters according to a color component | |
US10757428B2 (en) | Luma and chroma reshaping of HDR video encoding | |
KR102229045B1 (ko) | 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들 | |
CN110999299A (zh) | 在视频译码中跨分量动态范围调整(cc-dra)的系统及方法 | |
CN115152223A (zh) | 对用于视频编解码的高级语法的输出层集数据和一致性窗口数据进行编解码 | |
CN116074516B (zh) | 一种图像编解码方法及装置 | |
CN116389755B (zh) | 一种图像解码方法、编码方法及装置 | |
CN113784126A (zh) | 图像编码方法、装置、设备及存储介质 | |
CN116527942B (zh) | 一种图像编解码方法及装置 | |
CN116668705B (zh) | 一种图像解码方法、编码方法及装置 | |
CN116156168A (zh) | 一种图像编解码方法及装置 | |
CN113973210B (zh) | 媒体文件封装方法、装置、设备及存储介质 | |
KR102551317B1 (ko) | 선택적 양자화 파라미터 송신 | |
CN115550666A (zh) | 用于视频数据的编码方法、解码方法、计算设备和介质 | |
CN116918326A (zh) | 视频编解码方法与系统、及视频编码器与视频解码器 | |
TWI858835B (zh) | 一種圖像編解碼方法及裝置 | |
TWI855720B (zh) | 圖像編解碼方法及裝置 | |
EP4432654A1 (en) | Decoding method, encoding method and apparatuses | |
WO2024192733A1 (zh) | 视频编解码方法、装置、设备、系统、及存储介质 | |
CN118715773A (zh) | 图像编解码方法、装置、设备、系统、及存储介质 | |
CN114979628A (zh) | 图像块预测样本的确定方法及编解码设备 | |
CN118869993A (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: 40093826 Country of ref document: HK |
|
GR01 | Patent grant |