CN113132728B - 编码方法及编码器 - Google Patents

编码方法及编码器 Download PDF

Info

Publication number
CN113132728B
CN113132728B CN201911409793.1A CN201911409793A CN113132728B CN 113132728 B CN113132728 B CN 113132728B CN 201911409793 A CN201911409793 A CN 201911409793A CN 113132728 B CN113132728 B CN 113132728B
Authority
CN
China
Prior art keywords
coding
block
encoding
coded
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911409793.1A
Other languages
English (en)
Other versions
CN113132728A (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.)
Haisi Technology Co ltd
Original Assignee
Shanghai Haisi 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 Shanghai Haisi Technology Co ltd filed Critical Shanghai Haisi Technology Co ltd
Priority to CN201911409793.1A priority Critical patent/CN113132728B/zh
Priority to PCT/CN2020/138963 priority patent/WO2021136056A1/zh
Priority to EP20910873.7A priority patent/EP4075800A4/en
Publication of CN113132728A publication Critical patent/CN113132728A/zh
Priority to US17/855,220 priority patent/US20220337820A1/en
Application granted granted Critical
Publication of CN113132728B publication Critical patent/CN113132728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data

Landscapes

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

Abstract

本申请涉及图像处理领域,提供了一种编码方法及编码器。该方法包括:确定编码量化参数QP;采用该编码QP对待编码块进行预编码,得到编码结果信息;基于上述编码结果信息调整上述编码QP;采用调整后的编码QP对上述待编码块进行实编码,可以提升图像压缩的性能。

Description

编码方法及编码器
技术领域
本申请涉及图像处理领域,尤其涉及一种编码方法及编码器。
背景技术
近年来,视频图像应用在多个维度(如分辨率、帧率等)的提升,使得视频处理系统的处理数据量大幅增长。视频处理系统的带宽、功耗及成本均大幅增加。为了有效降低视频处理系统的带宽、功耗与成本,压缩技术被应用于视频处理系统中。
压缩技术能够有效地减少视频处理系统的内存与带宽的占用,降低视频处理系统的成本。相比于无损压缩,视觉无损的有损压缩通常有着更高的压缩率,能够节省更多的内存与带宽占用。因此,在视觉无损的前提下优化压缩架构,提高压缩效率非常重要。
现有技术中有多种压缩架构,这些架构的压缩性能不高,仍存在较大的优化空间。
发明内容
本申请实施例提供了一种编码方法及编码器,可以提升图像压缩的性能。
第一方面,本申请实施例提供了一种编码方法,包括:确定第一编码量化参数QP;采用上述第一编码QP对上述待编码块进行预编码,得到预编码结果信息;基于上述预编码结果信息调整上述第一编码QP,得到第二编码QP;采用上述第二编码QP对上述待编码块进行实编码。
本申请实施例首先采用第一编码QP对待编码块进行预编码,并根据预编码的结果信息对第一编码QP进行调节得到第二编码QP,再采用第二编码QP对待编码块进行实编码。通过预编码结果信息来调节第一编码QP可以实现更加精细的码率控制,合理利用码率传递质量更好的图像数据,提升图像压缩的性能。
在一种可能的实现方式中,上述采用上述第一编码QP对上述待编码块进行预编码,得到预编码结果信息,包括:分别在多个预测模式下采用上述第一编码QP对上述待编码块进行预编码,得到各个预测模式各自对应的预编码结果信息;在上述基于上述预编码结果信息调整上述第一编码QP之前,上述方法还包括:从上述多个预测模式中选择最佳预测模式;上述基于上述预编码结果信息调整上述第一编码QP,得到第二编码QP,包括:采用上述最佳预测模式对应的编码结果信息调整上述第一编码QP,得到上述第二编码QP;上述采用上述第二编码QP对上述待编码块进行实编码,包括:在上述最佳预测模式下采用上述第二编码QP对上述待编码块进行实编码。
本申请实施例可以采用多种预测模式对待编码块进行预编码,从而确定最佳的预测模式,再采用该最佳的预测模式对应的预编码结果信息对第一编码QP进行调整,在该最佳的预测模式下采用调整后的编码QP对待编码块进行实编码,合理利用码率传递质量更好的图像数据,从而提升图像压缩的性能。
在一种可能的实现方式中,上述确定第一编码QP之前,上述方法还包括:从多个空域预测模式中选择至少一个最佳空域预测模式,并从多个频域预测模式中选择至少一个最佳频域预测模式;上述至少一个最佳空域预测模式为上述多个空域预测模式中编码代价偏小的至少一个空域预测模式,上述至少一个最佳频域预测模式为上述多个频域预测模式中编码代价偏小的至少一个频域预测模式,不同的预测模式对应不同的预测参考方向和/或不同的预测值计算方法;上述分别在多个预测模式下采用上述第一编码QP对上述待编码块进行预编码,包括:在上述至少一个最佳空域预测模式下采用上述第一编码QP对上述待编码块进行空域预编码;在上述至少一个最佳频域预测模式下采用上述第一编码QP对上述待编码块进行频域预编码。
具体地,可以基于预设代价计算规则从多个空域预测模式中选择至少一个最佳空域预测模式,并从多个频域预测模式中选择至少一个最佳频域预测模式。其中,预设代价计算规则可以是以下任意一项:残差的绝对误差和、编码码率、率失真代价。应当理解,多个空域预测模式中编码代价偏小的至少一个空域预测模式可以为多个空域预测模式按照编码代价从小到大排序靠前的至少一个空域预测模式,或者多个空域预测模式按照编码代价从大到小排序靠后的至少一个空域预测模式。
由于频域编码需要进行变换操作,需以块为单位进行预测操作(即当前预测块内的重建值不能作为当前预测块内后续像素点的预测参考值)。本申请实施例分别对空域和频域支路提供多种预测模式,可以使无需采用以块为单位的预测操作(即空域编码中的预测操作)实现更加精细的点级预测(即当前预测块内的重建值可以作为当前预测块内后续像素点的预测参考值),进而可以通过更精细的点级预测提升图像压缩性能。
在一种可能的实现方式中,上述采用上述第一编码QP对上述待编码块进行预编码的时候,上述方法还包括:对上述待编码块进行像素重建,得到上述待编码块在预编码阶段的重建像素;在上述采用上述第一编码QP对上述待编码块进行预编码之后,上述方法还包括:参考上述待编码块在预编码阶段的重建像素对上述待编码块的下一个编码块进行预编码。
具体地,上述下一个编码块与上述待编码块在编码的时序上相邻,且上述待编码块的编码时段早于上述下一个编码块的编码时段。
本申请实施例中,在待编码块进行预编码的时候,当前编码块在预编码阶段的重建像素可用于下一个编码块的预编码。即下一个编码块的预编码不受限于待编码块的实编码阶段是否已经执行完毕,在待编码块的预编码阶段执行完毕后既可基于当前编码块在预编码阶段的重建像素对下一个编码块进行预编码,而不需要依赖待编码块的实编码结果。这样下一个编码块的预编码可以与当前待编码块的实编码同步进行,从而提升编码的执行效率。
在一种可能的实现方式中,上述采用上述第一编码QP对上述待编码块进行预编码,包括:对上述待编码块进行预测,得到残差信息;采用上述第一编码QP对上述残差信息进行量化;根据量化后的残差信息计算编码代价;上述采用上述第一编码QP对上述待编码块进行预编码的时候,具体为上述采用上述第一编码QP对上述残差信息进行量化之后。
可能地,上述预编码为空域预编码,则预编码阶段可以包括:预测、量化及计算编码代价。预测后输出的信息可以包括预测值以及残差信息。重建像素可以是对量化后的残差信息进行反量化,然后根据反量化后的残差信息以及上述预测值计算得到的值。
可能地,上述预编码为频域预编码,则预编码阶段可以包括:预测、变换、量化及计算编码代价。预测后输出的信息可以包括预测值以及残差信息。重建像素可以是对量化后的残差信息进行反量化、反变换,然后根据反变换后的残差信息以及上述预测值计算得到的值。
可能地,频域预编码中的重建像素也可以是空域预编码中的重建像素,从而简化预编码的像素重建架构,减小像素重建的计算量。
本申请实施例中,预编码阶段的像素重建过程具体在对残差信息量化之后。这样可以保证下一个编码块的预编码与待编码块的实编码同步进行,从而提升编码效率。
在一种可能的实现方式中,上述采用上述第一编码QP对上述待编码块进行预编码,包括:至少以上述待编码块的上一个编码块在预编码阶段的重建像素为预测参考值,采用上述第一编码QP对上述待编码块进行预编码;其中,上述上一个编码块与上述待编码块在编码的时序上相邻,且上述上一个编码块的编码时段早于上述待编码块的编码时段。
本申请实施例中待编码块的预编码仅依赖于上一个编码块在预编码阶段的重建像素,以及其他已完成编码的参考编码块在实编码阶段的重建像素,不依赖于上一个编码块在实编码阶段的重建像素,可以使上一个编码块的实编码与待编码块的预编码同步进行,从而提升编码效率。
在一种可能的实现方式中,上述确定第一编码QP包括:根据上述待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定上述第一编码QP。
本申请实施例中,可以初步根据待编码块的纹理复杂度和/或码流缓冲区的充盈状态来确定第一编码QP,采用该第一编码QP对待编码块进行预编码,获得预编码的结果,以便根据预编码的结果对第一编码QP进行调整,提高码率控制的精度,提升图像编码的质量。
在一种可能的实现方式中,上述待编码块的纹理越复杂,上述第一编码QP越大,上述待编码块的纹理越简单,上述第一编码QP越小;上述码流缓冲区越充盈,上述第一编码QP越大;上述码流缓冲区越空闲,上述第一编码QP越小。
本申请实施例说明了如何根据待编码块的纹理复杂度、码流缓冲区的充盈状态来确定第一编码QP。待编码块的纹理复杂度与第一编码QP成正比,待编码块的纹理越复杂,量化导致的图像失真越不明显,人眼越不易感知,故而可以增大第一编码QP以节省码率。码流缓冲区的充盈状态也与第一编码QP成正比,码率缓冲区越充盈,系统希望该待编码块占的码率越少,具体可通过增大第一编码QP来降低码率,以保证码流缓冲区不溢出,从而保证编码实际码率不高于目标码率。
在一种可能的实现方式中,上述预编码结果信息包括以下至少一项:上述待编码块在上述第一编码QP下的编码比特数、上述待编码块在上述第一编码QP下的编码失真大小、上述待编码块在上述第一编码QP下的编码率失真代价、上述待编码块的预测残差及上述待编码块的纹理复杂度。
本申请实施例可以通过上述预编码结果信息来调节第一编码QP,从而实现更加精细的码率控制,合理利用码率传递质量更好的图像数据,提升图像压缩的性能。
在一种可能的实现方式中,上述编码结果信息包括上述待编码块在上述第一编码QP下的编码比特数;上述基于上述预编结果信息调整上述第一编码QP,包括:在上述编码比特数小于目标比特数的情况下,减小上述第一编码QP;在上述编码比特数大于上述目标比特数的情况下,增大上述第一编码QP;上述目标比特数由码流缓冲区的充盈状态及上述码流缓冲区的输出比特数决定。
本申请实施例可以预估编码后输出的编码比特数的大小,以码流缓冲区的充盈状态以及码流缓冲区的输出比特数为依据,调节第一编码QP。若预估编码后输出的编码比特数小于当前编码块的目标比特数,可以减小第一编码QP来提高当前编码块的码率,从而提高压缩图像的质量。若预估编码后输出的编码比特数大于当前编码块的目标比特数,且码流缓冲区较充盈,说明码流缓冲区存在溢出的可能,可增大第一编码QP来降低码率,从而保证码流缓冲区不溢出。
可能地,上述编码结果信息包括上述待编码块在上述第一编码QP下的编码失真大小;上述基于上述预编结果信息调整上述第一编码QP,包括:在上述编码失真小于第一阈值的情况下,增大上述第一编码QP;在上述编码失真大于第二阈值的情况下,减小上述第一编码QP。
具体地,对于空域编码来说,编码失真大小可以是量化之前的残差信息与反量化之后的残差信息的差值。对于频域编码来说,编码失真大小可以是变换之前的残差信息与反变换之后的残差信息的差值,也可以是变换之后量化之前的残差信息与反量化之后反变换之前的残差信息的差值。
本申请实施例可以通过编码失真大小来调整第一编码QP。当编码失真小于某个阈值时,表明编码后的图像质量可观,可以增大第一编码QP来节约编码比特数。当编码失真大于某个阈值时,表明编码后的图像质量较低,需减小第一编码QP来提升图像质量。
可能地,上述编码结果信息包括上述待编码块的纹理复杂度;上述基于上述预编结果信息调整上述第一编码QP,包括:上述待编码块的纹理越简单,越减小上述第一编码QP;上述预待编码块的纹理越复杂,越增大上述第一编码QP。
本申请实施例可以通过待编码块的纹理复杂度调节第一编码QP。待编码块的纹理越简单,量化导致的图像失真越明显,人眼越容易感知,可以减小第一编码QP来提高码率,从而保证图像失真不被人眼感知。待编码块的纹理越复杂,量化导致的图像失真越不明显,人眼越不容易感知,可增大第一编码QP来降低码率。
可能地,上述编码结果信息包括上述待编码块的预测残差;上述基于上述预编结果信息调整上述第一编码QP,包括:在上述预测残差绝对值均小于第三阈值的情况下,减小上述第一编码QP;在上述预测残差绝对值均大于第四阈值的情况下,增大上述第一编码QP。
本申请实施例可以通过预测残差来调整第一编码QP。预测残差可以反映待编码块的纹理复杂度。预测残差越小,表明待编码块的纹理越简单,预测残差越大,表明待编码块的纹理越复杂。而待编码块的纹理越简单,量化导致的图像失真越明显,人眼越容易感知,可以减小第一编码QP来减小失真,从而保证图像失真不被人眼感知。待编码块的纹理越复杂,量化导致的图像失真越不明显,人眼越不容易感知,可增大第一编码QP来降低码率。
第二方面,本申请实施例提供了一种编码器,包括:第一码率控制模块,用于确定第一编码量化参数QP;预编码模块,用于采用上述第一编码QP对上述待编码块进行预编码,得到预编码结果信息;第二码率控制模块,用于基于上述预编码结果信息调整上述第一编码QP,得到第二编码QP;实编码模块,用于采用上述第二编码QP对上述待编码块进行实编码。
在一种可能的实现方式中,上述预编码模块,具体用于:分别在多个预测模式下采用上述第一编码QP对上述待编码块进行预编码,得到各个预测模式各自对应的预编码结果信息;上述编码器还包括:选择模块,用于从上述多个预测模式中选择最佳预测模式;上述第二码率控制模块,具体用于:采用上述最佳预测模式对应的编码结果信息调整上述第一编码QP,得到上述第二编码QP;上述实编码模块,具体用于:在上述最佳预测模式下采用上述第二编码QP对上述待编码块进行实编码。
在一种可能的实现方式中,上述编码器还包括:预分析模块,用于多个空域预测模式中选择至少一个最佳空域预测模式,并从多个频域预测模式中选择至少一个最佳频域预测模式;上述至少一个最佳空域预测模式为上述多个空域预测模式中编码代价偏小的至少一个空域预测模式,上述至少一个最佳频域预测模式为上述多个频域预测模式中编码代价偏小的至少一个频域预测模式,不同的预测模式对应不同的预测参考方向和/或不同的预测值计算方法;上述预编码模块,具体用于:在上述至少一个最佳空域预测模式下采用上述第一编码QP对上述待编码块进行空域预编码;在上述至少一个最佳频域预测模式下采用上述第一编码QP对上述待编码块进行频域预编码。应当理解,多个空域预测模式中编码代价偏小的至少一个空域预测模式可以为多个空域预测模式按照编码代价从小到大排序靠前的至少一个空域预测模式,或者多个空域预测模式按照编码代价从大到小排序靠后的至少一个空域预测模式。
具体地,可以基于预设代价计算规则从多个空域预测模式中选择至少一个最佳空域预测模式,并从多个频域预测模式中选择至少一个最佳频域预测模式。其中,预设代价计算规则可以是以下任意一项:残差的绝对误差和、编码码率、率失真代价。
在一种可能的实现方式中,上述编码器还包括:像素重建模块,用于在上述预编码模块采用上述第一编码QP对上述待编码块进行预编码的时候,对上述待编码块进行像素重建,得到上述待编码块在预编码阶段的重建像素;上述预编码模块还用于:参考上述待编码块在预编码阶段的重建像素对上述待编码块的下一个编码块进行预编码。
具体地,上述下一个编码块与上述待编码块在编码的时序上相邻,且上述待编码块的编码时段早于上述下一个编码块的编码时段。
在一种可能的实现方式中,上述预编码模块包括:预测单元,用于对上述待编码块进行预测,得到残差信息;量化单元,用于采用上述第一编码QP对上述残差信息进行量化;代价计算单元,用于根据量化后的残差信息计算编码代价;上述采用上述第一编码QP对上述待编码块进行预编码的时候,具体为上述采用上述第一编码QP对上述残差信息进行量化之后。
可能地,上述预编码为空域预编码,则预编码阶段可以包括:预测、量化及计算编码代价。预测后输出的信息可以包括预测值以及残差信息。重建像素可以是对量化后的残差信息进行反量化,然后根据反量化后的残差信息以及上述预测值计算得到值。
可能地,上述预编码为频域预编码,则预编码阶段可以包括:预测、变换、量化及计算编码代价。预测后输出的信息可以包括预测值以及残差信息。重建像素可以是对量化后的残差信息进行反量化、反变换,然后根据反变换后的残差信息以及上述预测值计算得到的值。
可能地,频域预编码中的重建像素也可以是空域预编码中的重建像素,从而简化预编码的像素重建架构,减小像素重建的计算量。
在一种可能的实现方式中,上述预编码模块,具体用于:至少以上述待编码块的上一个编码块在预编码阶段的重建像素为预测参考值,采用上述第一编码QP对上述待编码块进行预编码;其中,上述上一个编码块与上述待编码块在编码的时序上相邻,且上述上一个编码块的编码时段早于上述待编码块的编码时段。
在一种可能的实现方式中,上述第一码率控制模块,具体用于:根据上述待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定上述第一编码QP。
在一种可能的实现方式中,上述待编码块的纹理越复杂,上述第一编码QP越大,上述待编码块的纹理越简单,上述第一编码QP越小;上述码流缓冲区越充盈,上述第一编码QP越大;上述码流缓冲区越空闲,上述第一编码QP越小。
在一种可能的实现方式中,上述预编码结果信息包括以下至少一项:上述待编码块在上述第一编码QP下的编码比特数、上述待编码块在上述第一编码QP下的编码失真大小、上述待编码块在上述第一编码QP下的编码率失真代价、上述待编码块的预测残差及上述待编码块的纹理复杂度。
在一种可能的实现方式中,上述编码结果信息包括上述待编码块在上述第一编码QP下的编码比特数;上述第二码率控制模块,具体用于:在上述编码比特数小于目标比特数的情况下,减小上述第一编码QP;在上述编码比特数大于上述目标比特数的情况下,增大上述第一编码QP;上述目标比特数由码流缓冲区的充盈状态及上述码流缓冲区的输出比特数决定。
可能地,上述编码结果信息包括上述待编码块在上述第一编码QP下的编码失真大小;上述基于上述预编结果信息调整上述第一编码QP,包括:在上述编码失真小于第一阈值的情况下,增大上述第一编码QP;在上述编码失真大于第二阈值的情况下,减小上述第一编码QP。
具体地,对于空域编码来说,编码失真大小可以是量化之前的残差信息与反量化之后的残差信息的差值。对于频域编码来说,编码失真大小可以是变换之前的残差信息与反变换之后的残差信息的差值,也可以是变换之后量化之前的残差信息与反量化之后反变换之前的残差信息的差值。
可能地,上述编码结果信息包括上述待编码块的纹理复杂度;上述基于上述预编结果信息调整上述第一编码QP,包括:上述待编码块的纹理越简单,越减小上述第一编码QP;上述预待编码块的纹理越复杂,越增大上述第一编码QP。
可能地,上述编码结果信息包括上述待编码块的预测残差;上述基于上述预编结果信息调整上述第一编码QP,包括:在上述预测残差绝对值均小于第三阈值的情况下,减小上述第一编码QP;在上述预测残差绝对值均大于第四阈值的情况下,增大上述第一编码QP。
第三方面,本申请实施例提供了一种编码器,包括:存储器及处理器;上述存储器与上述处理器耦合,上述存储器用于存储软件指令,上述处理器用于调用上述软件指令,并使上述处理器执行本申请实施例第一方面或第一方面的任意一种可能的实现方式提供的编码方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得上述计算机或处理器执行本申请实施例第一方面或第一方面的任意一种可能的实现方式提供的编码方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机或处理器上运行时,使得上述计算机或处理器执行本申请实施例第一方面或第一方面的任意一种可能的实现方式提供的编码方法。
可以理解地,上述提供的第二方面提供的编码器、第三方面提供的编码器、第四方面提供的计算机存储介质,以及第五方面提供的计算机程序产品均用于执行第一方面所提供的编码方法。因此,其所能达到的有益效果可参考第一方面所提供的编码方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍。
图1为本申请适用的视频编码及解码系统框图;
图2为本申请适用的视频译码系统框图;
图3为本申请实施例提供的视频译码设备的结构示意图;
图4为本申请实施例提供的一种块级预测模式示意图;
图5为本申请实施例提供的几种预测模式示意图;
图6为本申请实施例提供的一种编码方法的流程示意图;
图7为本申请实施例提供的另外一种编码方法的流程示意图;
图8为本申请实施例提供的一种编码架构示意图;
图9为本申请实施例提供的一种像素重建的编码架构示意图;
图10为本申请实施例提供的另外一种像素重建架的编码构示意图;
图11为用于实现本申请实施例中各个编码块的编码时序示意图;
图12为一种现有的编码流水示意图;
图13为本申请实施例提供的一种编码流水示意图;
图14为本申请实施例提供的一种编码器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例所涉及的技术方案不仅可能应用于现有的视频编码标准中(如H.264、HEVC等标准),还可能应用于未来的视频编码标准中(如H.266标准)。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。下面先对本申请实施例可能涉及的一些概念进行简单介绍。
视频编码通常是指处理形成视频或视频序列的图片序列。在视频编码领域,术语“图片(picture)”、“帧(frame)”或“图像(image)”可以用作同义词。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图片以减少表示该视频图片所需的数据量,从而更高效地存储和/或传输。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重建视频图片。
视频序列包括一系列图像(picture),图像被进一步划分为切片(slice),切片再被划分为块(block)。视频编码以块为单位进行编码处理,在一些新的视频编码标准中,块的概念被进一步扩展。比如,在H.264标准中有宏块(macroblock,MB),宏块可进一步划分成多个可用于预测编码的预测块(partition)。在高性能视频编码(high efficiency videocoding,HEVC)标准中,采用编码单元(coding unit,CU),预测单元(prediction unit,PU)和变换单元(transform unit,TU)等基本概念。
本文中,为了便于描述和理解,可将当前图像中待处理的编码块称为当前编码块或者待处理编码块,例如在编码中,指当前正在编码的块;在解码中,指当前正在解码的块。将参考图像中用于对当前块进行预测的已解码的编码块称为参考块,即参考块是为当前块提供参考信号的块,其中,参考信号表示编码块内的像素值。可将参考图像中为当前块提供预测信号的块为预测块,其中,预测信号表示预测块内的像素值或者采样值或者采样信号。例如,在遍历多个参考块以后,找到了最佳参考块,此最佳参考块将为当前块提供预测,此块称为预测块。
无损视频编码情况下,可以重建原始视频图片,即经重建视频图片具有与原始视频图片相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)。在有损视频编码情况下,通过例如量化执行进一步压缩,来减少表示视频图片所需的数据量,而解码器侧无法完全重建视频图片,即经重建视频图片的质量相比原始视频图片的质量较低或较差。
下面描述本申请实施例所应用的系统架构。参见图1,图1示例性地给出了本申请实施例所应用的视频编码及解码系统10的示意性框图。如图1所示,视频编码及解码系统10可包括源设备12和目的地设备14,源设备12产生经过编码的视频数据,因此,源设备12可被称为视频编码装置。目的地设备14可对由源设备12所产生的经过编码的视频数据进行解码,因此,目的地设备14可被称为视频解码装置。源设备12、目的地设备14或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于随机存储记忆体(random access memory,RAM)、只读存储记忆体(read-onlymemory,ROM)、电可擦可编程只读存储器(electrically erasable programmable readonly memory,EEPROM)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。源设备12和目的地设备14可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、无线通信设备或其类似者。
虽然图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
源设备12和目的地设备14之间可通过链路13进行通信连接,目的地设备14可经由链路13从源设备12接收经过编码的视频数据。链路13可包括能够将经过编码的视频数据从源设备12移动到目的地设备14的一或多个媒体或装置。在一个实例中,链路13可包括使得源设备12能够实时将经过编码的视频数据直接发射到目的地设备14的一或多个通信媒体。在此实例中,源设备12可根据通信标准(例如无线通信协议)来调制经过编码的视频数据,且可将经调制的视频数据发射到目的地设备14。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源设备12到目的地设备14的通信的其它设备。
源设备12包括编码器20,另外可选地,源设备12还可以包括图片源16、图片预处理器18、以及通信接口22。具体实现形态中,所述编码器20、图片源16、图片预处理器18、以及通信接口22可能是源设备12中的硬件部件,也可能是源设备12中的软件程序。分别描述如下:
图片源16,可以包括或可以为任何类别的图片捕获设备,用于例如捕获现实世界图片,和/或任何类别的图片或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图片或图像的一部分)生成设备,例如,用于生成计算机动画图片的计算机图形处理器,或用于获取和/或提供现实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实(virtual reality,VR)图片)的任何类别设备,和/或其任何组合(例如,实景(augmentedreality,AR)图片)。图片源16可以为用于捕获图片的相机或者用于存储图片的存储器,图片源16还可以包括存储先前捕获或产生的图片和/或获取或接收图片的任何类别的(内部或外部)接口。当图片源16为相机时,图片源16可例如为本地的或集成在源设备中的集成相机;当图片源16为存储器时,图片源16可为本地的或例如集成在源设备中的集成存储器。当所述图片源16包括接口时,接口可例如为从外部视频源接收图片的外部接口,外部视频源例如为外部图片捕获设备,比如相机、外部存储器或外部图片生成设备,外部图片生成设备例如为外部计算机图形处理器、计算机或服务器。接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口。
其中,图片可以视为像素点(picture element)的二维阵列或矩阵。本申请实施例中,由图片源16传输至图片处理器的图片也可称为原始图片数据17。
图片预处理器18,用于接收原始图片数据17并对原始图片数据17执行预处理,以获取经预处理的图片19或经预处理的图片数据19。例如,图片预处理器18执行的预处理可以包括整修、色彩格式转换、调色或去噪。
编码器20(或称视频编码器20),用于接收经预处理的图片数据19,采用相关预测模式(如本文各个实施例中的预测模式)对经预处理的图片数据19进行处理,从而提供经过编码的图片数据21(下文将进一步基于图3描述编码器20的结构细节)。在一些实施例中,编码器20可以用于执行后文所描述的各个实施例,以实现本申请所描述的编码方法。
通信接口22,可用于接收经编码图片数据21,并可通过链路13将经编码图片数据21传输至目的地设备14或任何其它设备(如存储器),以用于存储或直接重建,所述其它设备可为任何用于解码或存储的设备。通信接口22可例如用于将经过编码的图片数据21封装成合适的格式,例如数据包,以在链路13上传输。
目的地设备14包括解码器30,另外可选地,目的地设备14还可以包括通信接口28、图片后处理器32和显示设备34。分别描述如下:
通信接口28,可用于从源设备12或任何其它源接收经过编码的图片数据21,所述任何其它源例如为存储设备,存储设备例如为经过编码的图片数据存储设备。通信接口28可以用于藉由源设备12和目的地设备14之间的链路13或藉由任何类别的网络传输或接收经过编码的图片数据21,链路13例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口28可以例如用于解封装通信接口22所传输的数据包以获取经过编码的图片数据21。
通信接口28和通信接口22都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经过编码的图片数据传输的数据传输有关的信息。
解码器30(或称为解码器30),用于接收经过编码的图片数据21并提供经过解码的图片数据31或经过解码的图片31。
图片后处理器32,用于对经解码图片数据31(也称为经重建图片数据)执行后处理,以获得经后处理图片数据33。图片后处理器32执行的后处理可以包括:色彩格式转换(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将经后处理图片数据33传输至显示设备34。
显示设备34,用于接收经后处理图片数据33以向例如用户或观看者显示图片。显示设备34可以为或可以包括任何类别的用于呈现经重建图片的显示器,例如,集成的或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digitallight processor,DLP)或任何类别的其它显示器。
虽然,图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
本领域技术人员基于描述明显可知,不同单元的功能性或图1所示的源设备12和/或目的地设备14的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。源设备12和目的地设备14可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算机、机顶盒、电视机、相机、车载设备、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并可以不使用或使用任何类别的操作系统。
编码器20和解码器30都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一或多个处理器。
在一些情况下,图1中所示视频编码及解码系统10仅为示例,本申请的技术可以适用于不必包含编码和解码设备之间的任何数据通信的视频编码设置(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输等。视频编码设备可以对数据进行编码并且将数据存储到存储器,和/或视频解码设备可以从存储器检索数据并且对数据进行解码。在一些实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的设备执行编码和解码。
参见图2,图2是根据一示例性实施例的包含编码器和/或解码器的视频译码系统40的实例的说明图。视频译码系统40可以实现本申请实施例的各种技术的组合。在所说明的实施方式中,视频译码系统40可以包含成像设备41、编码器20、解码器30(和/或藉由处理电路46实施的视频编/解码器)、天线42、一个或多个处理器43、一个或多个存储器44和/或显示设备45。
如图2所示,成像设备41、天线42、处理电路46、编码器20、解码器30、处理器43、存储器44和/或显示设备45能够互相通信。如所论述,虽然用编码器20和解码器30绘示视频译码系统40,但在不同实例中,视频译码系统40可以只包含编码器20或只包含解码器30。
在一些实例中,天线42可以用于传输或接收视频数据的经编码比特流。另外,在一些实例中,显示设备45可以用于呈现视频数据。处理电路46可以包含专用集成电路(application-specific integrated circuit,ASIC)逻辑、图形处理器、通用处理器等。视频译码系统40也可以包含可选的处理器43,该可选处理器43类似地可以包含专用集成电路(application-specific integrated circuit,ASIC)逻辑、图形处理器、通用处理器等。在一些实例中,处理器43可以通过通用软件、操作系统等实施。另外,存储器44可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(static random accessmemory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性实例中,存储器44可以由超速缓存内存实施。
在一些实例中,天线42可以用于接收视频数据的经编码比特流。如所论述,经编码比特流可以包含本文所论述的与编码视频帧相关的数据、指示符、索引值、模式选择数据等,例如与编码分割相关的数据(例如,变换系数或经量化变换系数,(如所论述的)可选指示符,和/或定义编码分割的数据)。视频译码系统40还可包含耦合至天线42并用于解码经编码比特流的解码器30。显示设备45用于呈现视频帧。
应理解,本申请实施例中对于参考编码器20所描述的实例,解码器30可以用于执行相反过程。关于信令语法元素,解码器30可以用于接收并解析这种语法元素,相应地解码相关视频数据。在一些例子中,编码器20可以将语法元素熵编码成经编码视频比特流。在此类实例中,解码器30可以解析这种语法元素,并相应地解码相关视频数据。
需要说明的是,本申请实施例描述的视频图像编码方法发生在编码器20处,本申请实施例描述的视频图像解码方法发生在解码器30处,本申请实施例中的编码器20和解码器30可以是例如H.263、H.264、HEVV、MPEG-2、MPEG-4、VP8、VP9等视频标准协议或者下一代视频标准协议(如H.266等)对应的编/解码器。
参见图3,图3是本申请实施例提供的视频译码设备300(例如视频编码设备300或视频解码设备300)的结构示意图。视频译码设备300适于实施本文所描述的实施例。在一个实施例中,视频译码设备300可以是视频解码器(例如图1的解码器30)或视频编码器(例如图的编码器20)。在另一个实施例中,视频译码设备300可以是上述图1的解码器30或图1的编码器20中的一个或多个组件。
视频译码设备300包括:用于接收数据的入口端口310和接收单元320,用于处理数据的处理器、逻辑单元或中央处理器330,用于传输数据的发射器单元340(或者简称为发射器340)和出口端口350,以及,用于存储数据的存储器360(比如内存360)。视频译码设备300还可以包括与入口端口310、接收器单元320(或者简称为接收器320)、发射器单元340和出口端口350耦合的光电转换组件和电光组件,用于光信号或电信号的出口或入口。
处理器330通过硬件和软件实现。处理器330可以实现为一个或多个CPU芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器330与入口端口310、接收器单元320、发射器单元340、出口端口350和存储器360通信。处理器330包括译码模块370(例如编码模块370)。编码模块370实现本文中所公开的实施例,以实现本申请实施例所提供的编码方法。例如,编码模块370实现、处理或提供各种编码操作。因此,通过编码模块370为视频译码设备300的功能提供了实质性的改进,并影响了视频译码设备300到不同状态的转换。或者,以存储在存储器360中并由处理器330执行的指令来实现编码模块370。
存储器360包括一个或多个磁盘、磁带机和固态硬盘,可以用作溢出数据存储设备,用于在选择性地执行这些程序时存储程序,并存储在程序执行过程中读取的指令和数据。存储器360可以是易失性和/或非易失性的,可以是只读存储器、随机存取存储器、随机存取存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器。
接下来介绍本申请实施例中涉及的两类预测模式:块级预测、点级预测。
块级预测:以编码块为预测单元,当前编码块内的像素不可作为当前编码块内后续像素的参考像素。
点级预测:以点为预测单元,当前编码块内的像素可作为当前编码块内后续像素的参考像素。
以上的块级预测或点级预测中提到的参考像素的像素值可以作为当前编码块中某个像素的参考值,用于计算当前编码块中某个像素的预测值。上述参考像素的像素值可以是该参考像素的重建值。
以下结合图4提供的块级预测模式的示意图来进一步解释上述块级预测,并结合图5提供的几种预测模式的示意图来进一步解释上述点级预测。
首先,假设将待编码图像按块划分为若干个大小相等的编码块,每个编码块包含10个像素。图4和图5中的A0、A1、A2、A3、A4为编码块A中包含的5个像素(另外5个像素未示出),B1和B2为编码块B中包含的2个像素另外8个像素未示出),0、1、2、3、4、5、6、7、8、9为当前编码块包含的10个像素。图中的箭头用于表示预测方向,即箭头的起点为预测参考像素,箭头经过的像素以及箭头的终点为待预测的像素。图中箭头的方向可表征该预测模式的预测参考方向。
如图4所示,像素B1为像素5的参考像素,像素B2为像素0及6的参考像素,像素A0为像素1和7的参考像素,像素A1为像素2和8的参考像素,像素A2为像素3和9的参考像素,像素A3为像素4的参考像素等。可以看出,当前编码块内的像素不可作为当前编码块内后续像素的参考像素。例如像素0不可作为像素6的参考像素,像素1不可作为像素7的参考像素等。此为块级预测。
如图5中的a所示,像素0为像素5的参考像素,像素1为像素6的参考像素,像素2为像素7的参考像素,像素3为像素8的参考像素,像素4为像素9的参考像素。可以看出,当前编码块内的像素可作为当前编码块内后续像素的参考像素,此为点级预测。
如图5中的b所示,像素0为像素1的参考像素,像素1为像素2的参考像素,像素7为像素8的参考像素等。可以看出,当前编码块内的像素可作为当前编码块内后续像素的参考像素,此为点级预测。
通过箭头的方向可以看出,图5中的a和b这两种点级预测的预测参考方向不同。a的预测参考方向为竖直方向,b的预测方向为水平方向。而图4中的块级预测的预测方向为右下对角方向。
当然,不限于图4或图5中示出的几种预测模式,在具体实现中还可以有其他的预测模式,不同的预测模式有不同的预测参考方向和/或不同的预测值计算方法。其中,预测值计算方法是指如何根据参考像素的值计算出当前编码像素的预测值。例如可以是直接将参考像素的值作为当前编码像素的预测值,也可以是将参考像素的值与该参考像素周围的其他像素的值的平均值作为当前编码像素的预测值。本申请实施例对预测模式的具体预测参考方向和预测值计算方法不作限定。
接下来结合图6介绍本申请实施例提供的一种编码方法。图6示出了本申请实施例提供的一种编码方法的流程示意图。如图6所示,编码方法至少可以包括以下几个步骤:
S601:确定第一编码QP。
具体地,可以根据待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定第一编码QP。
具体地,第一编码QP可以与待编码块的纹理复杂度成正比。待编码块的纹理越复杂,第一编码QP越大;待编码块的纹理越简单,第一编码QP越小。
可知,待编码块的纹理复杂度越高,量化导致的图像失真越不明显,人眼越不容易感知,可以使用较大的第一编码QP降低待编码块编码后可能占用的码率。待编码块的纹理越简单,量化导致的图像失真越明显,人眼越容易感知,可以减小第一编码QP来减小失真,从而保证图像失真不被人眼感知。
具体地,第一编码QP可以与码流缓冲区的充盈状态成正比。码流缓冲区越充盈,第一编码QP越大;码流缓冲区越空闲,第一编码QP越小。
可知,码流缓冲区越充盈,为了防止码流缓冲区溢出,则需降低待编码块可能占用的码率,具体可以通过使用较大的第一编码QP来实现。码流缓冲区越空闲,表明当前码率存在盈余,可以增大待编码块可能占用的码率来增加待编码块编码后携带的图像信息,从而使解码后的图像还原度更高,具体可以通过使用较小的第一编码QP来实现。
在具体实现中,可以将纹理复杂度量化,并设置不同程度的纹理复杂度对应的第一编码QP。也可以将码流缓冲区的充盈状态量化,并设置不同程度的充盈状态对应的第一编码QP。
若第一编码QP可以由待编码块的纹理复杂度以及码流缓冲区的充盈状态共同决定,则可以将两者各自对应的第一编码QP进行整合,得到最终的第一编码QP。具体可以将两者各自对应的第一编码QP求平均,或者加权求和,得到最终的第一编码QP。两者各自占用的权重可以是根据先验信息得到的默认的权重。
可能地,可以根据当前已完成编码的编码块的信息统计得到编码块的纹理复杂度及第一编码QP与编码码率的对应关系。对于待编码块而言,可以根据待编码块的纹理复杂度及编码码率查找上述对应关系,确定第一编码QP。其中,待编码块的编码码率可以根据码流缓冲区当前的充盈状态确定。
以上列举的确定第一编码QP的方式仅为示例性说明,在具体实现中还可以由其他的确定方式,本申请实施例对此不作限定。
S602:采用第一编码QP对待编码块进行预编码,得到预编码结果信息。
具体地,预编码可以是根据先验信息(或历史统计信息)预估待编码块编码后的结果。其中,先验信息或历史统计信息可以是当前已编码完成的编码块的信息。预编码还可以是预先对待编码块进行编码,以获取待编码块编码后的结果。
预编码可以包括空域预编码和频域预编码。其中,空域预编码可以包括预测、量化及代价计算。频域预编码可以包括预测、变换、量化及代价计算。其中,预测可以是根据预测模式对应的预测参考方向以及预测值计算方法,确定待编码块的预测值以及预测残差。
变换可以是对预测残差进行频域变换,以在变换域中获取变换系数。
空域预编码中的量化可以是以第一编码QP对预测残差进行量化。频域预编码中的量化可以是以第一编码QP对变换系数进行量化。
空域预编码中的代价计算可以是计算将预测残差进行量化对应的编码代价。频域预编码中代价计算可以是计算将变换系数进行量化对应的编码代价。
其中,预编码阶段的代价计算的方式可以包括以下任意一种:编码码率(rate,R)、编码率失真代价(rate-distortion cost,RDCOST)、编码失真大小等。其中,编码失真大小可以采用绝对误差和(sum of absolute difference,SAD)、平均绝对差(mean absolutedifferences,MAD)、平方误差和(sum of squared difference,SSD)、差值平方和(sum ofsquared error,SSE)、均方误差(mean squared error,MSE)等测度进行衡量。具体地,预编码结果信息可以包括以下至少一项:待编码块在第一编码QP下的编码比特数、待编码块在第一编码QP下的编码失真大小、待编码块在第一编码QP下的RDCOST、待编码块的预测残差及待编码块的纹理复杂度。
对于空域预编码来说,编码失真大小可以是量化之前的残差信息与反量化之后的残差信息的差值。对于频域预编码来说,编码失真大小可以是变换之前的残差信息与反变换之后的残差信息的差值,也可以是变换之后量化之前的残差信息与反量化之后反变换之前的残差信息的差值。
可知,待编码块可以包括多个像素,每个像素分别对应一个残差信息的差值(量化之前与反量化之后,或者变换前与反变换之后),即待编码块可以包括多个上述残差信息的差值。编码失真大小可以是采用某种计算规则(如SAD、MAD、SSE、SSD、MSE等)将上述多个差值计算成一个值,最终得到的值即为编码失真大小。
率失真代价估计的目标是选择合适的编码方法,保证在码率较小的情况下得到较小的失真。率失真代价可以综合编码码率和失真大小,用来衡量图像编码的结果。率失真代价越小,表征图像编码的性能越好。RDCOST=D+λ*R;其中,D为失真大小,R为码率,λ为拉格朗日优化因子,λ的取值可与第一编码QP及码流缓冲区的充盈程度正相关。
S603:基于预编码结果信息调整第一编码QP,得到第二编码QP。
可能地,编码结果信息包括待编码块在第一编码QP下的编码比特数。在编码比特数小于目标比特数的情况下,减小第一编码QP;在编码比特数大于目标比特数的情况下,增大第一编码QP。
其中,待编码块的目标比特数由码流缓冲区的充盈状态及码流缓冲区的输出比特数决定。码流缓冲区的充盈状态越满,待编码块的目标比特数在码流缓冲区的输出比特数的基础上减小的越多。码流缓冲区的充盈状态越空闲,待编码块的目标比特数在码流缓冲区的输出比特数的基础上增加的越多。
可知,码流缓冲区的输出比特数可以由编码器当前的目标码率决定。示例性地,若编码器当前的目标码率为1兆比特每秒(Mbps),当前帧率为30帧每秒,每帧图像被划分为30个编码块。若为每个编码块均分码率,则当码流缓冲区的输出比特数可以是1兆比特/(30*30)。以上通过编码器的目标码率计算码率缓冲区的输出比特数的方式仅为示例性说明,在具体实现中还可以有其他的计算方式(如每个编码块并非均分码率),本申请实施例对此不做限定。
示例性地,码流缓冲区的输出比特数为100比特(bit),当码流缓冲区的充盈状态为50%时,目标比特数与输出比特数相等。当码流缓冲区的当前充盈状态为60%时,目标比特数为90bit;当码流缓冲区的当前充盈状态为80%时,目标比特数为70bit;当码流缓冲区的当前充盈状态为30%时,目标比特数为120bit。上述码流缓冲区的充盈状态通过百分比来表示。该百分比为码流缓冲区的当前已用容量与总容量的比值。
以上输出比特数、码流缓冲区的充盈状态与目标比特数的对应关系仅为示例性说明,在具体实现中还可以有其他,本申请实施例对此不作限定。
若预估编码后输出的编码比特数小于待编码块的目标比特数,可以减小第一编码QP来提高待编码块的码率,从而提高压缩图像的质量。若预估编码后输出的编码比特数大于待编码块的目标比特数,且码流缓冲区较充盈,说明码流缓冲区存在溢出的可能,可增大第一编码QP来降低码率,从而保证码流缓冲区不溢出。
可能地,编码结果信息包括待编码块在第一编码QP下的编码失真大小。在编码失真小于第一阈值的情况下,增大第一编码QP;在编码失真大于第二阈值的情况下,减小第一编码QP。
具体地,对于空域编码来说,编码失真大小可以是量化之前的残差信息与反量化之后的残差信息的差值。对于频域编码来说,编码失真大小可以是变换之前的残差信息与反变换之后的残差信息的差值,也可以是变换之后量化之前的残差信息与反量化之后反变换之前的残差信息的差值。
当编码失真小于某个阈值时,表明编码后的图像质量可观,可以增大第一编码QP来节约编码比特数。当编码失真大于某个阈值时,表明编码后的图像质量较低,需减小第一编码QP来提升图像质量。
可能地,编码结果信息包括待编码块的纹理复杂度。待编码块的纹理越简单,越减小第一编码QP;预待编码块的纹理越复杂,越增大第一编码QP。
待编码块的纹理越简单,量化导致的图像失真越明显,人眼越容易感知,可以减小第一编码QP来提高码率,从而保证图像失真不被人眼感知。待编码块的纹理越复杂,量化导致的图像失真越不明显,人眼越不容易感知,可增大第一编码QP来降低码率。
可能地,编码结果信息包括待编码块的预测残差。在预测残差绝对值均小于第三阈值的情况下,减小第一编码QP;在预测残差绝对值均大于第四阈值的情况下,增大第一编码QP。
预测残差可以反映待编码块的纹理复杂度。预测残差越小,表明待编码块的纹理越简单,预测残差越大,表明待编码块的纹理越复杂。而待编码块的纹理越简单,量化导致的图像失真越明显,人眼越容易感知,可以减小第一编码QP来减小失真,从而保证图像失真不被人眼感知。待编码块的纹理越复杂,量化导致的图像失真越不明显,人眼越不容易感知,可增大第一编码QP来降低码率。
可能地,编码结果信息可以包括以上任意两项或多项。具体可以确定每一项各自对应的第一编码QP的调节量,再根据各项占的权重计算第一编码QP的最终调节量,从而获得第二QP。
S604:采用第二编码QP对待编码块进行实编码。
具体地,实编码可以包括空域实编码或频域实编码。其中,空域实编码可以包括预测、量化及熵编码。频域实编码可以包括预测、变换、量化及熵编码。上述第二编码QP决定了量化的步长。经过熵编码后输出的数据即为将待编码块压缩后的数据。
具体地,预测可以是根据预测模式对应的预测参考方向以及预测值计算方法,确定待编码块的预测值以及预测残差。
变换可以是对预测残差进行频域变换,以在变换域中获取变换系数。
空域预编码中的量化可以是以第一编码QP对预测残差进行量化。频域预编码中的量化可以是以第一编码QP对变换系数进行量化。
熵编码可以是按照熵原理不丢失任何信息的编码,通常采用香农编码、哈夫曼编码或算数编码等方式对量化后的预测残差(空域实编码)或量化后的变换系数(频域实编码)进行编码。
本申请实施例首先采用第一编码QP对待编码块进行预编码,并根据预编码的结果信息对第一编码QP进行调节得到第二编码QP,再采用第二编码QP对待编码块进行实编码。通过预编码结果信息来调节第一编码QP可以实现更加精细的码率控制,合理利用码率传递质量更好的图像数据,提升图像压缩的性能。
本申请实施例还提供了另外一种编码方法。如图7所示,编码方法至少可以包括以下几个步骤:
S701:从多个空域预测模式中选择至少一个最佳空域预测模式,并从多个频域预测模式中选择至少一个最佳频域预测模式。
具体地,空域预测模式可以是点级预测,也可以是块级预测。不同的空域预测模式对应不同的预测参考方向及不同的预测值计算方法。频域预测模式可以为块级预测。不同的频域预测模式对应不同的预测参考方向及不同的预测值计算方法。
具体地,至少一个最佳空域预测模式为多个空域预测模式中编码代价从小到大排序最靠前的至少一个预测空域模式,至少一个最佳频域预测模式为多个频域预测模式中编码代价从小到大排序最靠前的至少一个预测模式。不限于按照编码代价从小到大排序,在具体实现中还可以将编码代价从大到小排序,至少一个最佳空域预测模式(或最佳频域预测模式)则为多个空域预测模式(或频域预测模式)中编码代价从大到小排序最靠后的至少一个预测空域模式(或最佳频域预测模式)。本申请实施例可将S701的过程称为预分析。
预分析阶段的编码代价的计算规则可以是以下任意一种:残差信息的SAD、残差信息的MAD、残差信息的SSE、残差信息的MSE、编码码率R、RDCOST、编码失真大小等。其中,编码失真大小可以采用SAD、MAD、SSE、MSE等测度进行衡量,残差信息为原始值与预测值的差值。
根据上述编码的代价规则可以计算出空域预编码及频域预编码的编码代价值。通常情况下编码代价值与编码代价成正比。但不排除在某些计算规则中编码代价值与编码代价成反比,例如编码代价值为各个像素点的预测残差的倒数之和。在这种与预测残差成反比的计算规则中编码代价值与编码代价成反比。
本申请实施例对预分析阶段的编码代价计算规则不作限定,但无论采用何种编码代价的计算规则,最佳预测模式始终是编码代价最小的预测模式。
S702:确定第一编码QP。
具体地,S702与S601一致,此处不赘述。
S703:在至少一个最佳空域预测模式下第一编码QP对待编码块进行空域预编码,在至少一个最佳频域预测模式下采用第一编码QP对待编码块进行频域预编码,得到至少一个最佳空域预测模式及至少一个最佳频域预测模式各自对应的预编码结果信息。
具体地,预编码可以包括空域预编码和频域预编码。其中,空域预编码可以包括预测、量化及代价计算。频域预编码可以包括预测、变换、量化及代价计算。最佳空域预测模式决定了待编码块的预测值,进而决定了待编码块的残差信息。最佳频域模式也决定了待编码块的预测值,进而决定了待编码块的残差信息。
S704:从多个预测模式中选择最佳预测模式。
具体地,最佳预测模式为至少一个最佳空域预测模式及至少一个最佳频域预测模式中编码代价最小的预测模式。
S705:采用最佳预测模式对应的预编码结果信息调整第一编码QP,得到第二编码QP。
具体地,不同的预测模式在预编码阶段各自对应不同的预编码结果信息。确定最佳预测模式后,可以采用最佳预测模式对应的预编码结果信息调整第一编码QP。具体的调整方式可以参考S603中的相关描述,此处不赘述。
可知,在以待编码块的纹理复杂度调整第一编码QP时,待编码块的纹理复杂度可以根据S701中各个预测模式对应的预测残差确定。具体地,预测残差较小的预测模式的预测参考方向可以在一定程度上表征待编码块的纹理信息。不限于预测残差,在具体实现中还可以由其他的方式确定待编码块的纹理复杂度,本申请实施例对此不作限定。
S706:在最佳预测模式下采用第二编码QP对待编码块进行实编码。
具体地,若最佳预测模式为最佳空域预测模式,则采用最佳空域模式待编码块进行预测,输出预测值及预测残差,再对该预测残差进行量化、熵编码等。
若最佳预测模式为最佳频域预测模式,则采用最佳频域模式对待编码块进行预测,输出预测值及预测残差,再对该预测残差进行变换、量化、熵编码等。
本申请实施例提供的编码架构可以通过预分析分别对空域和频域支路提供多种预测模式,可以使无需采用以块为单位的预测操作(即空域编码中的预测操作)实现更加精细的点级预测(即当前预测块内的重建值可以作为当前预测块内后续像素点的预测参考值),进而可以通过更精细的点级预测提升图像压缩性能。进一步地,本申请实施例还可以通过两级码率控制实现更加精细的码率控制,合理利用码率传递质量更好的图像数据,提升图像压缩的性能。
接下来结合图6及图7提供的编码方法,介绍本申请实施例提供的一种编码架构。
图8示例性示出了本申请实施例提供的一种编码架构。
如图8所示,该架构可以以下几个部分:预分析、码率控制1、预编码、编码域决策、码率控制2及实编码。其中:
预分析部分可以实现S701,用于从多个空域预测模式中选择最佳空域预测模式,并从多个频域预测模式中选择最佳频域预测模式。具体可参考S701的描述,此处不赘述。
码率控制1部分可以确定第一编码QP,第一编码QP可以根据待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定。具体可参考S601的描述,此处不赘述。
预编码部分可以用于实现空域预编码(预测1、量化1、代价计算1)以及频域预编码(预测2、变换、量化2、代价计算2)。量化1及量化2的量化参数即为上述第一编码QP,预测1中的预测参考方向可以由最佳空域预测模式决定,预测2中的预测参考方向可以由最佳频域预测模式决定。代价计算1及代价计算2中涉及的编码代价的计算规则可参考S701中的相关描述,此处不赘述。
预编码部分不限于图8示出的一条空域预编码支路及一条频域预编码支路,在具体实现中还可以有多条空域预编码支路及多条频域预编码支路,本申请实施例对此不作限定。
编码域决策部分通过比较代价计算1和代价计算2输出的编码代价值,并根据比较结果确定实编码为空域实编码或频域实编码。若根据计算1和代价计算2输出的编码代价值确定编码代价1小于编码代价2,则可以确定最佳空域预测模式为编码代价最小的预测模式,实编码为空域实编码。若根据计算1和代价计算2输出的编码代价值确定编码代价1大于编码代价2,则可以确定最佳频域预测模式为编码代价最小的预测模式,实编码为频域实编码。
可知,在最佳空域预测模式的编码代价等于最佳频域预测模式的编码代价的情况下,由于空域编码的计算量小于频域编码的计算量(变换),可优先选择实编码为空域实编码。
在确定最佳预测模式后,根据该最佳预测模式的预编码结果信息对第一编码QP进行调整,此过程即可对应码率控制2。
实编码部分可用于实现空域实编码(预测3、量化3、熵编码)或者频域实编码(预测4、变换、量化4、熵编码),具体可由代价判断部分输出的最佳预测模式确定。
通常情况下,空域支路中的残差信息与频域支路中的变换系数具有不同的特性(如幅值大小的分布等),使得空域支路和频域支路具有不同的量化模块与熵编码模块。若在具体实现中为了降低逻辑实现成本,可忽略这些差异,使空域支路和频域支路采用统一的量化模块与熵编码模块。本申请实施例对空域支路和频域支路的量化模块与熵编码模块的异同不作限定。
本申请实施例提供的编码架构可以通过预分析分别对空域和频域支路提供多种预测模式,可以使无需采用以块为单位的预测操作(即空域编码中的预测操作)实现更加精细的点级预测(即当前预测块内的重建值可以作为当前预测块内后续像素点的预测参考值),进而可以通过更精细的点级预测提升图像压缩性能。进一步地,本申请实施例还可以通过两级码率控制实现更加精细的码率控制,合理利用码率传递质量更好的图像数据,提升图像压缩的性能。
以图8提供的编码架构为基础,本申请实施例还提供了一种像素重建的编码架构。
如图9所示,在采用第一编码QP对待编码块进行预编码的时候,还可以对待编码块进行像素重建,得到待编码块在预编码阶段的重建像素。
具体地,可以在量化之后进行像素重建。可知待编码块可以包括一个或多个像素。像素重建以像素为单位进行。
对于空域预编码而言,可以在量化1后进行像素重建。具体可以是对量化后的残差值进行反量化(反量化1),然后根据预测1输出的预测值与反量化后的残差值进行求和,得到待编码块中的某像素在预编码阶段的重建像素。重建像素可以作为后续像素的预测参考值,作用于后续像素的预编码阶段中的预测1。
对于频域编码而言,可以在量化2之后进行像素重建。具体可以是对量化后的残差值进行反量化(反量化2)、反变换,然后根据预测2输出的预测值与反变换后的残差值进行求和,得到待编码块中某像素在预编码阶段的重建像素。重建像素可以作为后续像素的预测参考值,作用于后续像素的预编码阶段中的预测2。
另外,若代价计算规则为编码失真大小或RDCOST,则反量化1后的结果可作用于代价计算1(图中的虚线),反量化2后的结果及反变换后的结果均可作用于代价计算2(图中的虚线)。
对于空域预编码来说,编码失真大小可以是量化之前的残差值与反量化之后的残差值的差值。对于频域预编码来说,编码失真大小可以是变换之前的残差值与反变换之后的残差值的差值,也可以是变换之后量化之前的残差值与反量化之后反变换之前的残差值的差值。
在采用第二编码QP对待编码块进行实编码的时候,还可以对待编码块进行像素重建,得到待编码块在实编码阶段的重建像素。
具体地,可以在量化之后,熵编码之前进行像素重建。可知待编码块可以包括一个或多个像素。像素重建以像素为单位进行。
对于空域实编码而言,可以在量化3后,熵编码之前进行像素重建。具体可以是对量化后的残差值进行反量化(反量化3),然后根据预测3输出的预测值与反量化后的残差值进行求和,得到待编码块中的某像素在实编码阶段的重建像素。重建像素可以作为后续像素的预测参考值,作用于后续像素的实编码阶段中的预测3。
对于频域编码而言,可以在量化4之后,熵编码之前进行像素重建。具体可以是对量化后的残差值进行反量化(反量化4)、反变换,然后根据预测4输出的预测值与反变换后的残差值进行求和,得到待编码块中某像素在实编码阶段的重建像素。重建像素可以作为后续像素的预测参考值,作用于后续像素的实编码阶段中的预测4。
以上图9提供的像素重建的编码架构在预编码阶段对于空域和频域支路分别提供了像素重建的回路。在一些可能的实施例中,为了减小图9示出的像素重建架构的计算量,可以只在预编码阶段对空域支路提供像素重建回路,频域支路可以直接使用空域支路的重建像素。即重建像素可以作为后续像素的预测参考值,作用于后续像素的预编码阶段中的预测1及预测2。
本申请实施例还提供了另外一种像素重建的编码架构。如图10所示,图10与图9相比减少了预编码阶段中频域支路的像素重建回路(反量化2、反变换、像素重建),并将空域支路的像素重建的结果直接作用于预测1及预测2。即当前像素在预编码阶段的空域支路的重建像素可以作为后续像素的预测参考值,作用于后续像素的预编码阶段中的预测1及预测2。这样可以简化编码架构,并减少预编码阶段频域支路的计算量,提升编码效率。
接下来结合图9或图10提供的像素重建的编码架构,介绍本申请实施例提供的一种编码方式。
首先介绍用于实现本申请实施例中各个编码块的编码时序。
如图11所示,假设当前编码图像可以被分成A、B、C、D、E、F这6个编码块,以2*3的形式排列。各个编码块的编码时序可以依次从左至右、从上至下。如编码块A的编码时刻为t1、编码块B的编码时刻为t2、编码块C的编码时刻为t3、编码块D的编码时刻为t4、编码块E的编码时刻为t5、编码块F的编码时刻为t6。其中,t1早于t2,t2早于t3,t3早于t4,t4早于t5,t5早于t6。
假设当前编码块A、B、C、D均已编码完成,待编码块为编码块E。而编码块E需要至少以编码块D的重建像素作为预测参考值。例如,待编码块E可以只以编码块D的重建像素作为预测参考值,或者待编码块E可以同时以编码块A、编码块B、编码块C和编码块D的重建像素作为预测参考值。接下来以待编码块E可以只以编码块D的重建像素作为预测参考值为例进行说明。
现有技术中待编码块E在预编码阶段和实编码阶段都需要以编码块D在实编码阶段的重建像素作为预测参考值。则待编码块E的预编码必须在D的实编码执行完毕后方可执行。如图12所示,各个编码块的预编码和实编码分别串行执行,这样导致编码效率较低。
为了提升编码效率,本申请实施例提供了一种新的编码方式。编码块E在预编码阶段只以编码块D在预编码阶段的重建像素作为预测参考值。此外,编码块E在实编码阶段也只以编码块D在实编码阶段的重建像素作为预测参考值。这样可以使编码块E的预编码阶段不依赖于编码块D的实编码阶段,从而使编码块E的预编码和编码块D是实编码可以并行执行,如图13所示,从而达到提升编码效率的效果。
综合以上描述可以看出,图9或图10中的预测1及预测3可以采用相同的预测模式(最佳空域预测模式),但是预测1和预测3可以有不同的预测参考值。如预测1可以以上一个编码块在预编码阶段的重建像素作为预测参考值,而预测3以上一个编码块在实编码阶段的重建像素作为预测参考值。
同理,图9或图10中的预测2及预测4可以采用相同的预测模式(最佳频域预测模式),但是预测2和预测4可以有不同的预测参考值。
本申请实施例中可以将编码块E称为待编码块,将编码块D称为编码块E的上一个编码块,将编码块F称为编码块E的下一个编码块。即待编码块的上一个编码块与待编码块在编码时序上相邻,且上一个编码块的编码时段(或时刻)早于待编码块的编码时段(或时刻)。待编码块的下一个编码块与待编码块在编码时序上相邻,且下一个编码块的编码时段(或时刻)晚于待编码块的编码时段(或时刻)。
可以看出,在采用第一编码QP对待编码块进行预编码的时候,还可以对待编码块进行像素重建,得到待编码块在预编码阶段的重建像素。
在采用第一编码QP对待编码块进行预编码之后,还可以参考待编码块在预编码阶段的重建像素对待编码块的下一个编码块进行预编码。
上述S602中提到的采用第一编码QP对待编码块进行预编码可以是至少以待编码块的上一个编码块在预编码阶段的重建像素为预测参考值,采用第一编码QP对待编码块进行预编码。
本申请实施例中,待编码块的预编码仅依赖于上一个编码块在预编码阶段的重建像素,以及其他已经完成编码的参考编码块在实编码的重建像素,不依赖于上一个编码块在实编码阶段的重建像素,可以使上一个编码块的实编码与待编码块的预编码同步进行,从而提升编码效率。
本申请实施例还提供了一种编码器,如图14所示,编码器140至少可以包括:第一码率控制模块1410、预编码模块1420、第二码率控制模块1430及实编码模块1440。其中:
第一码率控制模块1410,可以用于确定第一编码量化参数QP。详细说明请参考S601的描述,此处不再赘述。
预编码模块1420,可以用于采用第一编码QP对待编码块进行预编码,得到预编码结果信息。详细说明请参考S602的描述,此处不再赘述。
第二码率控制模块1430,可以用于基于预编码结果信息调整第一编码QP,得到第二编码QP。详细说明请参考S603的描述,此处不再赘述。
实编码模块1440,可以用于采用第二编码QP对所述待编码块进行实编码。详细说明请参考S604的描述,此处不再赘述。
在一种可能的实施例中,预编码模块1420,具体可以用于:分别在多个预测模式下采用所述第一编码QP对所述待编码块进行预编码,得到各个预测模式各自对应的预编码结果信息。
编码器140还可以包括:选择模块,可以用于从多个预测模式中选择最佳预测模式。最佳预测模式的选择依据可以参考S704中的相关描述,此处不赘述。
第二码率控制模块1430,具体可以用于:采用最佳预测模式对应的编码结果信息调整第一编码QP,得到所述第二编码QP。详细说明请参考S705的描述,此处不再赘述。
实编码模块1440,具体可以用于:在最佳预测模式下采用第二编码QP对待编码块进行实编码。详细说明请参考S706的描述,此处不再赘述。
在一种可能的实施例中,编码器140还可以包括:预分析模块,可以用于从多个空域预测模式中选择至少一个最佳空域预测模式,并从多个频域预测模式中选择至少一个最佳频域预测模式;至少一个最佳空域预测模式为多个空域预测模式中编码代价最小的至少一个预测模式,至少一个最佳频域预测模式为多个频域预测模式中编码代价最小的至少一个预测模式,不同的预测模式对应不同的预测参考方向及不同的预测值计算方法。详细说明请参考S701的描述,此处不再赘述。
预编码模块1420,具体可以用于:在最佳空域预测模式下采用第一编码QP对待编码块进行空域预编码,并在至少一个最佳频域预测模式下采用第一编码QP对待编码块进行频域预编码。详细说明请参考S703的描述,此处不再赘述。
在一种可能的实施例中,编码器140还可以包括:像素重建模块,用于在预编码模块1420采用第一编码QP对待编码块进行预编码的时候,对待编码块进行像素重建,得到待编码块在预编码阶段的重建像素。
预编码模块1420还可以用于:参考待编码块在预编码阶段的重建像素对待编码块的下一个编码块进行预编码。
在一种可能的实施例中,预编码模块140可以包括:预测单元、量化单元、代价计算单元。其中:
预测单元,可以用于对待编码块进行预测,得到残差信息。
量化单元,可以用于采用第一编码QP对残差信息进行量化。
代价计算单元,可以用于根据量化后的残差信息计算编码代价。
上述采用第一编码QP对待编码块进行预编码的时候,具体为采用第一编码QP对残差信息进行量化之后。
在一种可能的实施例中,预编码模块1420,具体可以用于:至少以待编码块的上一个编码块在预编码阶段的重建像素为预测参考值,采用第一编码QP对待编码块进行预编码;其中,上一个编码块与待编码块在编码的时序上相邻,且上一个编码块的编码时段早于待编码块的编码时段。
在一种可能的实施例中,第一码率控制模块1410,具体可以用于:根据待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定第一编码QP。详细说明请参考S601的描述,此处不再赘述。
在一种可能的实施例中,待编码块的纹理越复杂,第一编码QP越大,待编码块的纹理越简单,第一编码QP越小;码流缓冲区越充盈,第一编码QP越大;码流缓冲区越空闲,第一编码QP越小。
在一种可能的实施例中,预编码结果信息包括以下至少一项:待编码块在第一编码QP下的编码比特数、待编码块在第一编码QP下的编码失真大小、待编码块在第一编码QP下的编码率失真代价、待编码块的预测残差及待编码块的纹理复杂度。
在一种可能的实施例中,编码结果信息包括待编码块在第一编码QP下的编码比特数。第二码率控制模块1430,具体可以用于:在编码比特数小于目标比特数的情况下,减小第一编码QP;在编码比特数大于目标比特数的情况下,增大第一编码QP;目标比特数由码流缓冲区的充盈状态及码流缓冲区的输出比特数决定。
本申请实施例提供的编码架构可以通过预分析分别对空域和频域支路提供多种预测模式,可以使无需采用以块为单位的预测操作(即空域编码中的预测操作)实现更加精细的点级预测(即当前预测块内的重建值可以作为当前预测块内后续像素点的预测参考值),进而可以通过更精细的点级预测提升图像压缩性能。进一步地,本申请实施例还可以通过两级码率控制实现更加精细的码率控制,合理利用码率传递质量更好的图像数据,提升图像压缩的性能。此外,本申请实施例中,待编码块的预编码仅依赖于上一个编码块在预编码阶段的重建像素,以及其他已完成编码的参考编码块在实编码阶段的重建像素,不依赖于上一个编码块在实编码阶段的重建像素,可以使上一个编码块的实编码与待编码块的预编码同步进行,从而提升编码效率。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。上述信号处理装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM或随机存储记忆体RAM等。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (24)

1.一种编码方法,其特征在于,包括:
确定第一编码量化参数QP;
分别在多个预测模式下采用所述第一编码QP对待编码块进行预编码,得到所述多个预测模式中的最佳预测模式对应的预编码结果信息;所述多个预测模式包括空域预测模式和频域预测模式;
基于所述预编码结果信息调整所述第一编码QP,得到第二编码QP;
采用所述第二编码QP对所述待编码块进行实编码;
所述预编码结果信息包括以下至少一项:所述待编码块在所述第一编码QP下的编码比特数、所述待编码块在所述第一编码QP下的编码失真大小、所述待编码块在所述第一编码QP下的编码率失真代价、所述待编码块的预测残差及所述待编码块的纹理复杂度;
在所述预编码结果信息包括所述编码比特数的情况下,所述基于所述预编码结果信息调整所述第一编码QP包括在所述编码比特数小于目标比特数的情况下,减小所述第一编码QP;在所述编码比特数大于所述目标比特数的情况下,增大所述第一编码QP;
在所述预编码结果信息包括所述编码失真大小的情况下,所述基于所述预编码结果信息调整所述第一编码QP包括在所述编码失真小于第一阈值的情况下,增大所述第一编码QP;在所述编码失真大于第二阈值的情况下,减小所述第一编码QP;
在所述预编码结果信息包括所述预测残差的情况下,所述基于所述预编码结果信息调整所述第一编码QP包括在所述预测残差绝对值均小于第三阈值的情况下,减小所述第一编码QP;在所述预测残差绝对值均大于第四阈值的情况下,增大所述第一编码QP;
在所述预编码结果信息包括所述纹理复杂度的情况下,所述基于所述预编码结果信息调整所述第一编码QP包括所述待编码块的纹理越简单,越减小所述第一编码QP;所述待编码块的纹理越复杂,越增大所述第一编码QP。
2.如权利要求1所述的方法,其特征在于,所述分别在多个预测模式下采用所述第一编码QP对所述待编码块进行预编码,得到所述多个预测模式中的最佳预测模式对应的预编码结果信息,包括:分别在所述多个预测模式下采用所述第一编码QP对所述待编码块进行预编码,得到各个预测模式各自对应的预编码结果信息;并从所述多个预测模式中选择所述最佳预测模式;
所述基于所述预编码结果信息调整所述第一编码QP,得到第二编码QP,包括:采用所述最佳预测模式对应的预编码结果信息调整所述第一编码QP,得到所述第二编码QP;
所述采用所述第二编码QP对所述待编码块进行实编码,包括:在所述最佳预测模式下采用所述第二编码QP对所述待编码块进行实编码。
3.如权利要求2所述的方法,其特征在于,所述确定第一编码QP之前,所述方法还包括:
从多个空域预测模式中选择至少一个最佳空域预测模式,并从多个频域预测模式中选择至少一个最佳频域预测模式;所述至少一个最佳空域预测模式为所述多个空域预测模式中编码代价偏小的至少一个空域预测模式,所述至少一个最佳频域预测模式为所述多个频域预测模式中编码代价偏小的至少一个频域预测模式,不同的预测模式对应不同的预测参考方向和/或不同的预测值计算方法;
所述分别在多个预测模式下采用所述第一编码QP对所述待编码块进行预编码,包括:在所述至少一个最佳空域预测模式下采用所述第一编码QP对所述待编码块进行空域预编码;
在所述至少一个最佳频域预测模式下采用所述第一编码QP对所述待编码块进行频域预编码。
4.如权利要求1-3任一项所述的方法,其特征在于,所述采用所述第一编码QP对所述待编码块进行预编码的时候,所述方法还包括:对所述待编码块进行像素重建,得到所述待编码块在预编码阶段的重建像素;
在所述采用所述第一编码QP对所述待编码块进行预编码之后,所述方法还包括:参考所述待编码块在预编码阶段的重建像素对所述待编码块的下一个编码块进行预编码。
5.如权利要求4所述的方法,其特征在于,所述采用所述第一编码QP对所述待编码块进行预编码,包括:
对所述待编码块进行预测,得到残差信息;
采用所述第一编码QP对所述残差信息进行量化;
根据量化后的残差信息计算编码代价;
所述采用所述第一编码QP对所述待编码块进行预编码的时候,具体为所述采用所述第一编码QP对所述残差信息进行量化之后。
6.如权利要求4所述的方法,其特征在于,所述采用所述第一编码QP对所述待编码块进行预编码,包括:
至少以所述待编码块的上一个编码块在预编码阶段的重建像素为预测参考值,采用所述第一编码QP对所述待编码块进行预编码;
其中,所述上一个编码块与所述待编码块在编码的时序上相邻,且所述上一个编码块的编码时段早于所述待编码块的编码时段。
7.如权利要求5所述的方法,其特征在于,所述采用所述第一编码QP对所述待编码块进行预编码,包括:
至少以所述待编码块的上一个编码块在预编码阶段的重建像素为预测参考值,采用所述第一编码QP对所述待编码块进行预编码;
其中,所述上一个编码块与所述待编码块在编码的时序上相邻,且所述上一个编码块的编码时段早于所述待编码块的编码时段。
8.如权利要求1-3、5-7任一项所述的方法,其特征在于,所述确定第一编码QP包括:根据所述待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定所述第一编码QP。
9.如权利要求4所述的方法,其特征在于,所述确定第一编码QP包括:根据所述待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定所述第一编码QP。
10.如权利要求8所述的方法,其特征在于,所述待编码块的纹理越复杂,所述第一编码QP越大,所述待编码块的纹理越简单,所述第一编码QP越小;
所述码流缓冲区越充盈,所述第一编码QP越大;所述码流缓冲区越空闲,所述第一编码QP越小。
11.如权利要求1所述的方法,其特征在于,所述目标比特数由码流缓冲区的充盈状态及所述码流缓冲区的输出比特数决定。
12.一种编码器,其特征在于,包括:
第一码率控制模块,用于确定第一编码量化参数QP;
预编码模块,用于分别在多个预测模式下采用所述第一编码QP对待编码块进行预编码,得到所述多个预测模式中的最佳预测模式对应的预编码结果信息;所述多个预测模式包括空域预测模式和频域预测模式;
第二码率控制模块,用于基于所述预编码结果信息调整所述第一编码QP,得到第二编码QP;
实编码模块,用于采用所述第二编码QP对所述待编码块进行实编码;
所述预编码结果信息包括以下至少一项:所述待编码块在所述第一编码QP下的编码比特数、所述待编码块在所述第一编码QP下的编码失真大小、所述待编码块在所述第一编码QP下的编码率失真代价、所述待编码块的预测残差及所述待编码块的纹理复杂度;
在所述预编码结果信息包括所述编码比特数的情况下,所述第二码率控制模块具体用于在所述编码比特数小于目标比特数的情况下,减小所述第一编码QP;在所述编码比特数大于所述目标比特数的情况下,增大所述第一编码QP;
在所述预编码结果信息包括所述编码失真大小的情况下,所述第二码率控制模块具体用于在所述编码失真小于第一阈值的情况下,增大所述第一编码QP;在所述编码失真大于第二阈值的情况下,减小所述第一编码QP;
在所述预编码结果信息包括所述预测残差的情况下,所述第二码率控制模块具体用于在所述预测残差绝对值均小于第三阈值的情况下,减小所述第一编码QP;在所述预测残差绝对值均大于第四阈值的情况下,增大所述第一编码QP;
在所述预编码结果信息包括所述纹理复杂度的情况下,所述第二码率控制模块具体用于所述待编码块的纹理越简单,越减小所述第一编码QP;所述待编码块的纹理越复杂,越增大所述第一编码QP。
13.如权利要求12所述的编码器,其特征在于,所述预编码模块,具体用于:分别在所述多个预测模式下采用所述第一编码QP对所述待编码块进行预编码,得到各个预测模式各自对应的预编码结果信息;
所述编码器还包括:选择模块,用于从所述多个预测模式中选择所述最佳预测模式;
所述第二码率控制模块,具体用于:采用所述最佳预测模式对应的预编码结果信息调整所述第一编码QP,得到所述第二编码QP;
所述实编码模块,具体用于:在所述最佳预测模式下采用所述第二编码QP对所述待编码块进行实编码。
14.如权利要求13所述的编码器,其特征在于,所述编码器还包括:预分析模块,用于从多个空域预测模式中选择至少一个最佳空域预测模式,并从多个频域预测模式中选择至少一个最佳频域预测模式;所述至少一个最佳空域预测模式为所述多个空域预测模式中编码代价偏小的至少一个空域预测模式,所述至少一个最佳频域预测模式为所述多个频域预测模式中编码代价偏小的至少一个频域预测模式,不同的预测模式对应不同的预测参考方向和/或不同的预测值计算方法;
所述预编码模块,具体用于:在所述至少一个最佳空域预测模式下采用所述第一编码QP对所述待编码块进行空域预编码;
在所述至少一个最佳频域预测模式下采用所述第一编码QP对所述待编码块进行频域预编码。
15.如权利要求12-14任一项所述的编码器,其特征在于,所述编码器还包括:像素重建模块,用于在所述预编码模块采用所述第一编码QP对所述待编码块进行预编码的时候,对所述待编码块进行像素重建,得到所述待编码块在预编码阶段的重建像素;
所述预编码模块还用于:参考所述待编码块在预编码阶段的重建像素对所述待编码块的下一个编码块进行预编码。
16.如权利要求15所述的编码器,其特征在于,所述预编码模块包括:
预测单元,用于对所述待编码块进行预测,得到残差信息;
量化单元,用于采用所述第一编码QP对所述残差信息进行量化;
代价计算单元,用于根据量化后的残差信息计算编码代价;
所述采用所述第一编码QP对所述待编码块进行预编码的时候,具体为所述采用所述第一编码QP对所述残差信息进行量化之后。
17.如权利要求15所述的编码器,其特征在于,所述预编码模块,具体用于:至少以所述待编码块的上一个编码块在预编码阶段的重建像素为预测参考值,采用所述第一编码QP对所述待编码块进行预编码;
其中,所述上一个编码块与所述待编码块在编码的时序上相邻,且所述上一个编码块的编码时段早于所述待编码块的编码时段。
18.如权利要求16所述的编码器,其特征在于,所述预编码模块,具体用于:至少以所述待编码块的上一个编码块在预编码阶段的重建像素为预测参考值,采用所述第一编码QP对所述待编码块进行预编码;
其中,所述上一个编码块与所述待编码块在编码的时序上相邻,且所述上一个编码块的编码时段早于所述待编码块的编码时段。
19.如权利要求12-14、16-18任一项所述的编码器,其特征在于,所述第一码率控制模块,具体用于:根据所述待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定所述第一编码QP。
20.如权利要求15所述的编码器,其特征在于,所述第一码率控制模块,具体用于:根据所述待编码块的纹理复杂度和/或码流缓冲区的充盈状态确定所述第一编码QP。
21.如权利要求19所述的编码器,其特征在于,所述待编码块的纹理越复杂,所述第一编码QP越大,所述待编码块的纹理越简单,所述第一编码QP越小;
所述码流缓冲区越充盈,所述第一编码QP越大;所述码流缓冲区越空闲,所述第一编码QP越小。
22.如权利要求12所述的编码器,其特征在于,所述目标比特数由码流缓冲区的充盈状态及所述码流缓冲区的输出比特数决定。
23.一种编码器,其特征在于,包括:存储器及处理器;
所述存储器与所述处理器耦合,所述存储器用于存储软件指令,所述处理器用于调用所述软件指令,并使所述处理器执行如权利要求1-11任一项所述的编码方法。
24.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1至11任一项所述的编码方法。
CN201911409793.1A 2019-12-31 2019-12-31 编码方法及编码器 Active CN113132728B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201911409793.1A CN113132728B (zh) 2019-12-31 2019-12-31 编码方法及编码器
PCT/CN2020/138963 WO2021136056A1 (zh) 2019-12-31 2020-12-24 编码方法及编码器
EP20910873.7A EP4075800A4 (en) 2019-12-31 2020-12-24 CODING METHODS AND CODERS
US17/855,220 US20220337820A1 (en) 2019-12-31 2022-06-30 Encoding method and encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911409793.1A CN113132728B (zh) 2019-12-31 2019-12-31 编码方法及编码器

Publications (2)

Publication Number Publication Date
CN113132728A CN113132728A (zh) 2021-07-16
CN113132728B true CN113132728B (zh) 2023-06-27

Family

ID=76686468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911409793.1A Active CN113132728B (zh) 2019-12-31 2019-12-31 编码方法及编码器

Country Status (4)

Country Link
US (1) US20220337820A1 (zh)
EP (1) EP4075800A4 (zh)
CN (1) CN113132728B (zh)
WO (1) WO2021136056A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011604A1 (en) * 2021-08-05 2023-02-09 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
CN113938684B (zh) * 2021-09-26 2023-04-21 中国科学院计算技术研究所 一种轻量级端云协同的图像编码传输方法及系统
CN117676142A (zh) * 2022-09-08 2024-03-08 华为技术有限公司 图像编解码方法、装置、编码器、解码器和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7974341B2 (en) * 2005-05-03 2011-07-05 Qualcomm, Incorporated Rate control for multi-layer video design
RU2471306C2 (ru) * 2008-06-27 2012-12-27 Сони Корпорейшн Устройство обработки изображений и способ обработки изображений
US8279924B2 (en) * 2008-10-03 2012-10-02 Qualcomm Incorporated Quantization parameter selections for encoding of chroma and luma video blocks
US8532169B2 (en) * 2009-12-23 2013-09-10 General Instrument Corporation Rate control for two-pass encoder using adaptive quantization parameters
RU2648276C1 (ru) * 2014-03-27 2018-03-23 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Корректировка квантования/масштабирования и обратного квантования/масштабирования при переключении цветовых пространств
US10397574B2 (en) * 2014-05-12 2019-08-27 Intel Corporation Video coding quantization parameter determination suitable for video conferencing
CN108574841B (zh) * 2017-03-07 2020-10-30 北京金山云网络技术有限公司 一种基于自适应量化参数的编码方法及装置
CN107864379B (zh) * 2017-09-28 2021-07-02 珠海亿智电子科技有限公司 一种应用于视频编解码的压缩方法
US10721471B2 (en) * 2017-10-26 2020-07-21 Intel Corporation Deep learning based quantization parameter estimation for video encoding
CN110324622B (zh) * 2018-03-28 2022-09-23 腾讯科技(深圳)有限公司 一种视频编码码率控制方法、装置、设备及存储介质
CN108989814B (zh) * 2018-08-06 2021-06-04 上海大学 一种基于并行编码结构的码率控制方法
CN110267037B (zh) * 2019-06-21 2021-08-13 腾讯科技(深圳)有限公司 视频编码方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN113132728A (zh) 2021-07-16
WO2021136056A1 (zh) 2021-07-08
EP4075800A1 (en) 2022-10-19
US20220337820A1 (en) 2022-10-20
EP4075800A4 (en) 2023-03-15

Similar Documents

Publication Publication Date Title
CN107005698B (zh) 支持尽力服务解码的元数据提示
US9414086B2 (en) Partial frame utilization in video codecs
CN107027032B (zh) 最后帧运动向量分区方法和装置
WO2021136056A1 (zh) 编码方法及编码器
WO2021136110A1 (zh) 编码方法及编码器
US20220295071A1 (en) Video encoding method, video decoding method, and corresponding apparatus
CN114501010A (zh) 图像编码方法、图像解码方法及相关装置
US11496754B2 (en) Video encoder, video decoder, and corresponding method of predicting random access pictures
US11627321B2 (en) Adaptive coding of prediction modes using probability distributions
KR20230098717A (ko) 인코딩 방법, 인코딩된 비트스트림 및 인코딩 디바이스
WO2021164014A1 (zh) 视频编码方法及装置
US9210424B1 (en) Adaptive prediction block size in video coding
JP2019514290A (ja) ディスプレイストリーム圧縮用の知覚的量子化パラメータ(qp)重み付けのための装置および方法
US20230017934A1 (en) Image encoding and decoding methods and apparatuses
US11985303B2 (en) Context modeling method and apparatus for flag
US10123045B2 (en) Modification to block size for transform mode in display stream compression
KR20230129068A (ko) 확장 가능한 인코딩 및 디코딩 방법 및 장치
US10531096B2 (en) Decoder, method and system for decoding multimedia streams
KR20200005748A (ko) 복합 모션-보상 예측
US11770522B2 (en) Picture display order determining method and apparatus, and video coding device
EP4268465A1 (en) Bit allocation for neural network feature channel compression
CN116567244A (zh) 解码配置参数的确定方法、装置、设备及存储介质
Bauermann et al. Encoding parameter estimation for RDTC optimized compression and streaming of image-based scene representations

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
CP03 Change of name, title or address

Address after: Room 101, No. 2 Hongqiaogang Road, Qingpu District, Shanghai, 201721

Patentee after: Haisi Technology Co.,Ltd.

Address before: Room 101, 318 Shuixiu Road, Jinze town (xicen), Qingpu District, Shanghai, 201799

Patentee before: Shanghai Haisi Technology Co.,Ltd.

CP03 Change of name, title or address