CN104135663A - 对图像进行编码 - Google Patents

对图像进行编码 Download PDF

Info

Publication number
CN104135663A
CN104135663A CN201410178316.XA CN201410178316A CN104135663A CN 104135663 A CN104135663 A CN 104135663A CN 201410178316 A CN201410178316 A CN 201410178316A CN 104135663 A CN104135663 A CN 104135663A
Authority
CN
China
Prior art keywords
image
quantization level
candidate
sections
bit number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410178316.XA
Other languages
English (en)
Other versions
CN104135663B (zh
Inventor
J·迪金斯
P·布拉斯内特
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.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies 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 Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Publication of CN104135663A publication Critical patent/CN104135663A/zh
Application granted granted Critical
Publication of CN104135663B publication Critical patent/CN104135663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明的各实施方式总体上涉及对图像进行编码。具体地,一种图像处理器,包括图像预处理块以及用于对图像进行处理和编码的编码器处理块。该图像预处理块接收图像数据并对所其进行处理以提供包括均包括像素的图像部分的图像。针对每个图像部分,分析像素以估计该图像部分的复杂度指示,并且基于所估计的图像部分的复杂度指示确定元数据。该元数据被送至编码器处理块,该编码器处理块使用其来确定用于在对图像进行编码时使用的量化水平。该编码器处理块随后能够使用所确定的量化水平对图像进行编码。便利地,图像预处理块106对图像数据进行处理以提供图像,并且因此访问其能够分析的图像以确定元数据而并不需要单独的图像读取操作。

Description

对图像进行编码
技术领域
本发明的各实施方式总体上涉及图像处理。具体地,涉及对图像进行编码。
背景技术
诸如相机之类的图像传感器可以被用来捕获图像数据。图像数据可以由图像处理器进行处理以提供包括多个像素的图像。表示图像的像素值的初始图像数据随后可以被进行编码。对图像编码的目标通常是减少用来表示图像的数据量。因此,图像的编码可能会涉及到图像的一些压缩。无损编码算法可以被用来在不损失图像中的任何信息的情况下对图像进行编码。与之相比,有损编码算法可以用来对图像进行编码,并且在编码时与使用无损编码算法进行的压缩相比以更大程度对图像进行压缩。然而,当使用有损编码算法对图像编码时,图像中的一些信息可能会丢失。
由于图像中的像素值之间经常存在某些关联,例如对于图像中彼此相邻或者至少接近的像素而言,所以初始图像数据中经常存在着表示图像中每个像素的值的冗余,例如,通过将颜色连同一些群组信息一起一次性地存储以表示该群组的所有像素的颜色而不是多次存储颜色(即,针对每个像素存储一次),所有具有相同颜色的像素群组的颜色能够得以被(无损)压缩。图像中存在的冗余越多,图像就能够在不损失图像中的任何信息的情况下被压缩的更多。编码器所使用的量化参数(QP)管控着有多少细节得以被保存。当编码器所使用的QP非常小时,几乎图像中的所有细节都被保留。当编码器所使用的QP有所增大时,图像中的一些细节被整合而使得编码图像的比特率下降,但是其代价是一定的失真增加以及编码图像质量的一定下降。
对于编码器而言,以跨图像并且在图像是包括多个帧的视频流内的一帧时跨该视频流的不同帧以恒定(或近似恒定)的比特率提供编码图像是有利的。可以使用缓冲器并且将其作为“漏桶(leakybucket)”进行操作,其以恒定速率被排空并且以可变速率被填充来自编码器的编码图像数据。速率控制器可以被用来根据目标比特率调节编码器所使用的QP,从而使得缓冲器并不被耗尽或饱和。速率控制器从编码器接收指示已经通过对之前图像和/或当前所编码图像的之前部分进行编码而生成的比特数的反馈。该速率控制器可以使用该反馈来确定QP应当针对后续图像和/或当前所编码图像的后续部分的编码如何变化。
图像中的冗余可以随图像以及随该相同图像的不同部分而大幅变化。该图像可能仅被编码一次(例如,在该图像被实时编码时),而使得如果通过对该图像进行编码而生成的比特相对于目标比特率过少或过多也并不对该图像重新编码。此外,为了降低缓冲器的存储要求并且将图像编码的延时保持在可接受的低水平,缓冲器的大小是受限的。此外,用来编码相同图像的不同部分的QP的较大变化会导致感知上更低质量的编码图像。因此,该速率控制器可能并不允许QP的变化超出图像编码的阈值数量。
以上所提到的约束会导致速率控制器并未最优地(或者甚至近似最优地)对编码器用来对图像部分编码的QP进行控制的情形(例如,当图像被实时编码时)。例如,图像中的细节数量可能是局部化的,例如图像的底部四分之一可能包括比图像的其余部分更多的细节。在这种情况下,用尽比特预算的四分之三,速率控制器可能针对图像的四分之三而言在比特预算内进行良好操作。然而,当编码器对该图像中包含高细节水平的底部的四分之一进行编码时,速率控制器被迫使提高QP(与将妥善适用于编码图像的底部四分之一中的细节水平的QP相比)以便编码器保持在比特预算之内。以这种方式改变QP会导致感知上更低质量的编码图像。
发明内容
提供该发明内容以引入以下在具体实施方式中进一步进行描述的简化形式中的概念选择。该发明内容并非旨在标识所请求保护主题的关键特征或必要特征,也并非旨在被用来对所请求保护主题的范围加以限制。
提供了一种根据目标比特数确定编码器在对图像进行编码时所使用的量化水平的方法,其中该图像包括一个或多个均包括多个像素的图像部分,该方法包括:针对图像中一个或多个图像部分中的每个图像部分,分析该图像部分中的像素以估计该图像部分的复杂度指示;针对多个候选量化水平中的每个候选量化水平,使用一个或多个图像部分的一个或多个所估计的复杂度指示以及关系来估计通过使用相应候选量化水平的编码器对图像中的一个或多个图像部分进行编码生成的比特数指示,其中所述关系是编码器所使用的量化水平的函数,并且其中所述关系在将(i)图像部分的复杂度指示与(ii)通过编码器对该图像部分进行编码生成的比特数指示的估计相关时使用;并且基于目标比特数以及基于所估计的通过使用相应候选量化水平的编码器对图像中的一个或多个图像部分进行编码生成的比特数指示来选择多个候选量化水平中的一个候选量化水平,其中所述所选择的量化水平由编码器在对图像进行编码时使用。
提供了一种处理块,其被配置为根据目标比特数而确定编码器在对图像进行编码时所要使用的量化水平,其中该图像包括一个或多个均包括多个像素的图像部分,其中该处理块被配置为:针对图像中的一个或多个图像部分中的每个图像部分,分析该图像部分中的像素以估计该图像部分的复杂度指示;针对多个候选量化水平中的每个候选量化水平,使用一个或多个图像部分的一个或多个所估计的复杂度指示以及关系来估计通过使用相应候选量化水平的编码器对图像中的一个或多个图像部分进行编码生成的比特数指示,其中所述关系是编码器所使用的量化水平的函数,并且其中所述关系在将(i)图像部分的复杂度指示与(ii)通过编码器对该图像部分进行编码生成的比特数指示的估计相关时使用;并且基于目标比特数以及基于所估计的通过使用相应候选量化水平的编码器对图像中的一个或多个图像部分进行编码生成的比特数指示来选择多个候选量化水平中的一个候选量化水平,其中所述所选择的量化水平由编码器在对图像进行编码时使用。
提供了一种处理块,其被配置为根据目标比特数而确定编码器在对图像进行编码时所要使用的量化水平,其中该图像包括一个或多个均包括多个像素的图像部分,其中该处理块包括:图像分析模块,其被配置为针对图像中的一个或多个图像部分中的每个图像部分,分析该图像部分中的像素以估计该图像部分的复杂度指示;比特估计模块,其被配置为针对多个候选量化水平中的每个候选量化水平,使用一个或多个图像部分的一个或多个所估计的复杂度指示以及关系来估计通过使用相应候选量化水平的编码器对图像中的一个或多个图像部分进行编码生成的比特数指示,其中所述关系是编码器所使用的量化水平的函数,并且其中所述关系在将(i)图像部分的复杂度指示与(ii)通过编码器对该图像部分进行编码生成的比特数指示的估计相关时使用;以及量化水平选择模块,其被配置为基于目标比特数以及基于所估计的利用使用相应候选量化水平的编码器对图像中的一个或多个图像部分进行编码生成的比特数指示来选择多个候选量化水平中的一个候选量化水平,其中所述所选择的量化水平由编码器在对图像进行编码时使用。
提供了一种计算机程序产品,其被配置为根据目标比特数而确定编码器在对图像进行编码时所要使用的量化水平,该计算机程序产品被体现在计算机可读存储介质上并且被配置为当在处理器上执行时用来执行这里所描述的任意方法。还可以提供一种具有在其上编码有计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码用于生成被配置为执行这里所描述的任意方法的处理块。
提供了一种图像处理器,其包括图像预处理块和编码器处理块,其中该图像预处理块被配置为:接收图像数据;对所接收的图像数据进行处理以提供包括一个或多个均包括多个像素的图像部分的图像;针对图像中的一个或多个图像部分中的每个图像部分,分析该图像部分中的像素以估计该图像部分的复杂度指示;基于一个或多个图像部分的一个或多个所估计的复杂度指示确定元数据;并且输出所确定的元数据,并且其中该编码器处理块被配置为接收该图像预处理块所确定的元数据;使用所接收的元数据来确定用于在对图像进行编码时使用的量化水平;以及使用所确定的量化水平对图像进行编码。
提供了一种使用图像处理器对图像进行处理的方法,该图像处理器包括图像预处理块和编码器处理块,其中该方法包括:在图像预处理块接收图像数据;在图像预处理块对所接收的图像数据进行处理以提供包括一个或多个均包括多个像素的图像部分的图像;针对图像中的一个或多个图像部分中的每个图像部分,图像预处理块分析该图像部分中的像素以估计该图像部分的复杂度指示;图像预处理块基于一个或多个图像部分的一个或多个所估计的复杂度指示确定元数据;在编码器处理块使用该元数据来确定用于在对图像进行编码时使用的量化水平;并且在编码器处理块使用所确定的量化水平对图像进行编码。
本领域技术人员容易理解,以上特征可以适当进行组合,并且可以与这里所描述示例的任意方面进行组合。
附图说明
现在将参考附图对示例进行更为详细地描述,其中:
图1示出了图像处理系统;
图2示出了对图像进行编码的处理的流程图;
图3示出了图像分区的delta值的柱状图;
图4示出了HEVC编码器所生成的比特/像素相对简单模型所预测的比特/像素的图形表示;
图5示出了不同量化水平的拉普拉斯(Laplacian)分布的熵相对处于最小量化水平的拉普拉斯分布的熵的图形;
图6示出了不同量化水平的拉普拉斯分布的熵的对数相对处于最小量化水平的拉普拉斯分布的熵的对数的图形;
图7示出了使用不同量化水平的HEVC编码器所生成的比特数的对数相对简单模型所预测的比特数的对数的图形;以及
图8示出了将HEVC编码器所生成的比特数的对数与简单模型所预测的比特数的对数相关的二次等式的系数相对HEVC编码器所使用的量化参数的图形。
具体实施方式
现在将仅通过示例对实施方式进行描述。首先,对涉及要根据内在(Intra)编码进行编码的图像的示例进行描述,在该内在编码中,对图像进行编码不需要参考其它图像(例如,视频序列的其它帧)。如随后所描述的,类似的原则应用于根据交互(或“非内在”)编码进行编码的图像,在该交互编码中,对图像进行编码需要参考其它图像(例如,视频序列的其它帧)。
在这里所描述的示例中,对图像进行分析以便确定该图像的复杂度指示(例如,图像的熵)。这里所描述的图像分析是在对图像进行编码之前所执行的简单处理。图像的复杂度指示被用来估计编码器是以多种不同量化水平中的每个量化水平对图像进行编码所生成的比特数。量化水平中的一个量化水平基于该估计并且基于所编码数据的目标比特数进行选择。以此方式,用来对特定图像进行编码的量化水平基于该相同的特定图像的复杂度进行估计。在对图像进行编码之前选择量化水平。以此方式,在确定用于对图像进行编码的适当量化水平的估计之前无需对该图像进行编码。所选择量化水平的指示被发送至速率控制器,该速率控制器能够对编码器用来对图像进行编码的量化水平进行控制。该速率控制器可以基于其可获得的信息,例如基于来自编码器的反馈,而改变编码器所使用的量化水平。然而,所选择的量化水平非常适于编码器在对图像进行编码时使用,因为所选择的量化水平是基于特定图像的复杂度(例如,基于图像内不同图像部分的复杂度)所确定的。此外,量化水平的选择可以取决于要用来对图像进行编码的编码器的类型。例如,编码器可以为高效视频编码(HEVC)编码器,其被配置为根据HEVC压缩标准对图像进行编码。被选择供HEVC编码器使用的量化水平可以不同于被选择供根据其它一些压缩标准(例如,根据H.264压缩标准)对图像进行编码的编码器所使用的量化水平。
图1示出了图像处理系统,其包括图像传感器102和图像处理器104,该图像处理器104包括图像预处理块106和编码器处理块108。该图像处理系统还包括存储器110。图像预处理块106包括图像处理模块112、图像分析模块114、比特估计模块116和量化水平选择模块118。编码器处理块108包括速率控制器120和编码器模块122。图像传感器102的输出耦合至图像处理模块112的输入。图像处理模块112的输出耦合至存储器110以及图像分析模块114的输入。图像分析模块114的输出耦合至比特估计模块116的输入。比特估计模块116的输出耦合至量化水平选择模块118的输入。量化水平选择模块118被配置为接收目标比特预算的指示。量化水平选择模块118的输出耦合至速率控制器120的第一输入。速率控制器120被配置为接收目标比特预算的指示。速率控制器120的输出耦合至编码器模块122的输入。编码器模块122的第一输出耦合至速率控制器120的第二输入。编码器模块122被配置为从存储器110接收(未编码)图像并且向存储器110输出编码图像。在一个示例中,编码器模块122所执行的“编码”是数字图像压缩。图1所示的图像处理系统的所有元件可以在例如相机、移动电话、平板计算机、膝上计算机或者可以接收并处理图像数据的任意其它设备的相同设备内实施。备选地,图1所示的图像处理系统的一个或多个元件可以在与图1所示的图像处理系统的其它元件分开的设备中实施。例如,图像传感器102可以在与图像处理器104和存储器110分开的设备上实施,其中图像传感器102可以经由适当接口连接至图像处理器104,例如通过有线或无线连接,仅给出一些示例,例如USB连接、Wi-Fi连接、蓝牙连接或者互联网上的连接。
针对根据内在编码对图像进行编码的方法,参考图2所示的流程图对图1所示的图像处理系统的操作进行描述。图像传感器102感测图像。有关图像传感器可以如何感测图像的细节对于本领域技术人员而言是已知的,并且因此将不在这里给出。在步骤S202,在图像预处理块106从图像传感器102接收图像数据。具体地,图像处理模块112接收该图像数据。图像处理模块112被配置为对该图像数据进行处理以提供包括多个像素的图像。
在步骤S204,图像处理模块112对在步骤S202所接收的图像数据进行处理以提供包括像素的图像。图像处理模块112所执行的处理的细节超出了该描述的范围并且对于本领域技术人员而言是已知的。然而,例如,图像处理模块112可以执行诸如去拜耳算法(debayering)、降噪和/或白平衡校正之类的已知处理。来自图像处理模块112的输出是包括由数据值所表示的多个像素的图像,上述值例如(YUV颜色空间中的)亮度和色度值或者红色值、绿色值和蓝色值(RGB值)。从图像处理模块112输出的图像被存储在存储器110中以便随后由编码器处理块108的编码器模块122所获取。
从图像处理模块112输出的图像还被送至图像分析模块114。在步骤S206,图像分析模块114对该图像的一个或多个部分中的像素进行分析。即,图像包括一个或多个图像部分并且对该一个或多个图像部分进行分析以估计每个图像部分的复杂度指示。例如,可以使用图像部分的熵作为该图像部分的复杂度指示。图像部分的熵表示为了对该图像部分进行无损编码将需要多少比特。
作为示例,图像分析模块114可以使用基于2x2亮度内核的模型,其中预测剩余(或“delta值”Δi,j)是个体像素亮度值与其所属的2x2内核的平均值(例如,均值或中值)之间的差。即,针对图像部分中的每个像素,确定该像素的值(例如,亮度值)和包括该像素的图像块中的像素块(例如,2x2块)内的像素值的平均值(例如,均值)之间的差。这在以下等式(1)中示出,其中是像素的2x2块的亮度值的均值,其中该2x2块的原点在像素坐标中的位置x,y处,并且其中Yi,j是具有距2x2块的原点的偏移量i,j的像素的亮度值:
Y x , y AVE = 1 4 ( 2 + Σ i = 0 i = 1 Σ j = 0 j = 1 Y x + i , y + j ) Δ i , j = Y x , y AVE - Y i , j - - - ( 1 )
等式(1)所示的计算以整数算术来执行,并且括号内的因数“2”用作取整为最接近整数的的均值,而并非始终向下取整。在该示例中,该模型考虑像素值与2x2块内包括该像素的其它像素值的平均值之间的差。更一般地,在其它示例中,可以确定像素值与从包括一个或多个临近像素的像素群组的值所得出的针对该像素的预测之间的差。针对特定像素所考虑的像素群组可以包括或不包括该特定群组本身。在其它示例中,该模型可以考虑不同大小和/或形状的像素块(例如,3x3、4x2或nx1的像素块,其中n是整数)。
针对图像的分区,(带符号的)delta值Δi,j可以以直方图绘出,其示例在图3中示出。图像分区包括多个块。例如,图像分区可以是图像的一对像素行(即,一行2x2的像素块)。当根据光栅扫描对图像进行处理时,这是特别有用的图像分区选择。仅一个存储像素数量(等于图像的行中的像素数量)的素质的行存储就足以确定一对像素行的delta值。在其它示例中,图像分区可以包括能够被划分为模型(例如,2x2块)中所使用的块的不同像素布置,例如图像内的矩形(包括正方形)像素分区。作为有用的一般性示例,其有效利用了少量的行存储,图像分区包括图像内的一个或多个像素行,其中图像分区中的像素行的数量等于像素群组的高度。在图3所示的示例中,该直方图在零的delta值上取得峰值并以此为中心。该直方图中的峰值的锐利度(sharpness)根据图像的内容而变化并且给出了该图像分区的熵(即,复杂度)的指示,其宽泛地反映了以很大程度上编解码器不可知的方式对图像进行编码所将需要的比特数。该直方图中零处的尖锐峰值指示该分区中的像素与其相邻像素非常相似,即该图像中的熵很低。与之相比,该直方图中的宽幅峰值则指示该分区中的像素并非与其相邻像素非常相似,即,该图像中的熵很高。通常,可以存在多个不同宽度的直方图峰值,但是这里所描述的方法的原则在那些情况下仍然能够得以应用。
根据以下等式,图像分区的熵r(Er)能够根据熵的标准定义进行估计:
E r = log 2 ( T ) - 1 T Σ k = 0 K - 1 b k log 2 ( b k )
其中K是直方图中箱体(bin)的数量,bk是箱体k的直方图占用并且从而T表示总体直方图占用,即图像分区中的像素数量。图像分区的熵用作该图像分区内的信息内容的有用量度。具体地,图像分区的熵乘以该图像分区中的像素数量给出了对该图像分区进行无损编码所需的比特数的预测。
原则上,假设该直方图的熵低于像素表示形式的固有比特深度,则可以通过利用平均的2x2值(其使用该四个像素所使用的比特的四分之一),加上可变长度的代码,或者利用比固有差异将要求的更少的比特对差值Δi,j进行编码的算术编码来表示直方图中所包括的2x2块的集合,来对它们进行压缩。
如上所述,图像分区可以采用任意形式(其被划分为所建模的像素块,例如2x2的像素块)。将可能选择整个图像作为图像分区,但是拥有与图像内的局部熵值以及图像的整体熵相关的信息可能是更为有用的。因此,可能有所帮助的是使用小于整个图像的图像分区并且实际选择为行配对,即两个图像行。
图像的一部分包括一个或多个图像分区,并且能够通过对该图像部分内的图像分区的熵进行求和而找出该图像分区的熵的估计。图像分区的熵被求和以减少对图像中的微小细节的熵的影响,而该影响可能由于以上所描述的考虑小(例如,2x2)的像素块的简单模型而被夸大。通过等式,包括R个图像分区的第m个图像部分(或“图像邻近”)的总体熵的估计Em被确定为:
E m = T Σ r = 0 r = R - 1 E r - - - ( 2 )
如上所述,得出图像分区上的熵并且随后将图像分区的熵进行求和以给出图像部分的上会是有用的。如果并未使用图像分区而是从2x2块的直方图确定图像部分的熵,则将会有许多delta值并且将会丢失微小细节的信息。类似地,在确定图像分区的大小时要考虑到权衡。较小的图像分区将提供有关图像中更小细节区域的信息,但是直方图中所要考虑的数据点较少,从而数据的可靠性较低。块、图像分区和图像部分的大小可以有所变化,以例如适应特定图像集合或者满足约束,例如硬件约束,诸如为图像分析模块114所给出的行存储的数量。
图像部分的总熵Em是该其所包含的图像分区的熵之和乘以每个图像分区中的像素数量。这给出了通过对该图像部分进行无损编码将会生成的比特数。继而,能够通过对图像内的一个或多个图像部分的熵进行求和而确定整个图像的全局熵的估计。因此,如果M是图像中图像部分的数量(其中M≥1),则图像的全局熵Eimage被估计为:
E image = Σ m = 0 m = M - 1 E m
某些编码器使用基于8x8块的编码来对图像进行编码。测量分区的熵并且对也可能针对其获得压缩编码算法所生成的实际比特计数的图像部分上的分区结果进行累加是有意义的。因此,作为示例,图像分区是行配对,并且图像部分是多个8行图像。例如,图像部分可以是256(即,32x8)个像素行的块,从而在大约四个四分之一中估计了1080行图像的熵,这有点过剩(overhang)。作为另一个示例,其被发现关于实际的HEVC编码比特计数特出了稍微更好的关联,图像部分可以是120(即,15x8)行像素的块,其确切地被9次划分为1080,即该图像被划分为9个图像部分。
在步骤S210,关系被用于估计针对多种量化水平对图像的图像部分进行编码所生成的比特数。该关系是量化水平的函数并且被用来将图像部分的复杂度指示(即,图像部分的熵Em)与利用编码器模块122对该图像部分进行编码将会生成的比特数的估计相关联。编码器模块122在这里也可以简单地被称作“编码器”。该关系可以在使用其估计对该图像的图像部分进行编码所生成的比特数之前以离线处理进行确定。以下对该关系的细节以及其可以如何确定进行描述。
表现出相对精细的细节水平的图像分区具有相对高的熵。类似地,表现出相对粗糙的细节水平的图像分区具有相对低的熵。通过实施这里所描述的用于估计图像分区的熵的模型,已经观察到-尽管算法复杂度的明显差异-简单的2x2熵预测器和HEVC基准编码器(在仅I-frame模式中以固定量化参数QP=0进行编码)所使用的实际比特表现出非常强的相似性。这一观察可以被用来推断出如上所述针对图像的用来估计图像部分的熵的简单预分析步骤可以被用来估计编码器用来对图像进行编码的明显更为复杂的HEVC编码算法中的比特使用的变化。
图4示出了HEVC编码器针对图像部分所生成的比特/像素相对于由估计Em所给出的以上所描述的简单的2x2模型针对该图像部分所预测的比特/像素的图形表示。如图4所示,直线可以针对图中的数据进行拟合。在图4中能够看到,所预测比特数和实际所测量的由编码器所生成的比特数之间的关联并不完美,但是仍然存在关联性。从一个特定图像序列结合的观察,对于图像的所预测比特数和实际所观察的由对该图像编码的HEVC编码器所生成的比特数的图形,已经得出关联系数为0.92。给定2x2模型的简单性,可以认为该关联出奇的好。
因此,应当理解,(例如,基于2x2像素块的)模型简单支持作出通过使用编码器(例如,HEVC编码器)利用等于0的量化参数QP(即,基本上无损的内在编码)对图像的任意部分(例如,图像的行或瓦片(tile))进行编码生成的比特数的估计,该图像部分被细分为像素块(例如,2x2像素块)。这可以被概况为支持对整个图像比特数的预测。如果步骤S208中所确定的关系提供了通过利用编码器使用大于零的量化参数(即,针对有损编码而言)对图像进行编码所生成的比特数的估计,则这将会是有用的。根据HEVC标准,量化参数可以取0至51的值。量化参数是用来对图像进行编码的量化水平的度量。量化水平也可以利用表示为Q的步幅大小(或量化器间隔)来指示。量化步幅大小Q和量化参数QP互相关联并且均描述了量化水平,但是在HEVC标准中的定义并不相同。即,量化参数(QP)有效地作为用于步幅大小(Q)的代码。
用来预测通过对图像进行编码所生成的比特数的模型可以对空间域或频域中的像素值进行运算。在非常普遍的方面,如果样本的分布是局部化而非扁平的,则空间域或频域中的预测仅具有压缩优势。常见的情况是,分布(例如,图3中所示的直方图)是近似的拉普拉斯算子。虽然这是粗略的近似,但是将delta值的直方图建模为拉布拉斯函数并非是不合理的。在预测编码器将会应用的压缩的方面,令人感兴趣的是看到量化水平如何影响拉普拉斯函数的熵。如果这得以完成,则能够显示出,以规范的拉普拉斯概率密度函数开始,离散量化的拉普拉斯分布的熵E(σ,Q)由以下所给出:
E ( σ , Q ) = - ( 1 - e - σQ / 2 ) log 2 ( 1 - e - σQ / 2 ) + σQ ln ( 2 ) ( e σQ / 2 e σQ / 2 - 1 ) - e - σQ / 2 log 2 ( 1 2 ( e σQ / 2 - e - σQ / 2 ) )
其中σ是拉普拉斯分布的规模参数。
图5示出了E(σ,Q)相对E(σ,1)的图形,其中步幅大小的值Q已经从量化参数QP得以被确定,具有紧密近似HEVC标准中的Q和QP之间的关系的关系Q=e0.115525x QP,其中QP增大6涉及到步幅大小Q的加倍。因此,在该示例中,量化参数零对应于步幅大小1,并且量化参数51对应于约362的步幅大小。
图5所示的曲线是参数图形,即x值和y值都为依赖性变量,其中独立变量为规模参数σ。标记为502的曲线示出了模型针对QP=0所预测的熵。标记为504的曲线示出了模型作为QP=0的熵的函数而针对QP=10所预测的熵。标记为506的曲线示出了模型作为QP=0的熵的函数而针对QP=15所预测的熵。标记为508的曲线示出了模型作为QP=0的熵的函数而针对QP=20所预测的熵。标记为510的曲线示出了模型作为QP=0的熵的函数而针对QP=32所预测的熵。
观察显示,在HEVC编码器作为编码器所使用的量化水平(例如,量化参数)的函数所生成的比特数之间存在非线性关系。具有图5中所示的分析模型中所表现出的量化参数QP的表现和变化的一般形式与具有在利用HEVC编码器所编码的图像的实际比特计数中所观察到的量化器参数QP的相对应表现和变化非常相似。利用(HEVC编码器以外的)其它类型的编码器将会观察到与量化器参数QP相同的表现和变化。即,图5中所看到的一般表现模式(也就是非线性)是作为以上所描述的delta值的直方图的离散量化结果的基本过程,而不是形成预测的确切方式。换言之,该证据的有效性在于,图5中的曲线的总体变化并非是HEVC标准所特有的。
图6示出了与图5中所示相同的数据,但是在图6中,在绘图之前取得两条轴线上的值的对数。即,图6同样针对已经利用关系Q=e0.115525x QP从量化参数QP确定了步幅大小的值Q的示例示出了log(E(σ,Q))相对log(E(σ,1))的图形,上述关系近似表示HEVC标准中Q和QP之间的关系。标记为602的曲线示出了模型针对QP=0所预测的熵的对数的基准线。标记为604的曲线示出了模型作为QP=0的熵的对数函数而针对QP=10所预测的熵的对数。标记为606的曲线示出了模型作为QP=0的熵的对数的函数而针对QP=15所预测的熵的对数。标记为608的曲线示出了模型作为QP=0的熵的对数的函数而针对QP=20所预测的熵的对数。标记为610的曲线示出了模型作为QP=0的熵的对数的函数而针对QP=32所预测的熵的对数。从图6能够看出,尽管以上针对E(σ,Q)所给出的表达式的代数非精致性(inelegance),但是非线性的显著部分是对数的,并且一旦这被去掉,随量化水平的变化是近似线性的或者稍显二次的。
为了合理近似,可能使用简单二次近似而将以上针对给定QP值处的熵(E(σ,Q))所给出的复杂表达式的对数与在QP=0(E(σ,1))的相同表达式的对数相关联,即:
y≈FA(Q)x2+FB(Q)x+FC(Q)
其中y=log10(E(σ,Q))且x=log10(E(σ,1)),并且FA、FB和FC是步幅大小Q所给出的针对取决于量化水平的给定编码器的量化等式的系数。该近似是完全分析且通用的。其独立于任何具体的图像压缩算法。
可以针对根据以上所描述的模型而确定的图像部分的熵与利用编码器对该图像部分进行编码而生成的比特数的估计之间的关系进行相对应的近似。已经针对HEVC编码器的不同量化水平绘制了使用HEVC编码器对图像部分进行编码所生成的比特数的对数相对由2x2模型所预测的比特数的对数的图形。图7示出了针对数据的最佳拟合的曲线(为了清楚图7并未示出实际数据),其遵循例如具有形式y≈A(QP)x2+B(QP)x+C(QP)的量化等式的多项式等式,其中A、B和C是该量化等式的系数,它们取决于量化参数QP。实际数据表现出与图7所示的最佳拟合的曲线的一些变化,但是实际数据的整体趋势遵循该最佳拟合曲线。
标记为702的曲线示出了作为2x2模型针对QP=0所预测的比特数的对数的函数而通过使用HEVC编码器针对QP=0对图像部分进行编码所生成的比特数的对数的最佳拟合的曲线。最佳拟合曲线702具有等式y=A(QP=0)x2+B(QP=0)x+C(QP=0)。标记为704的曲线示出了作为2x2模型针对QP=0所预测的比特数的对数的函数而通过使用HEVC编码器针对QP=10对图像部分进行编码所生成的比特数的对数的最佳拟合的曲线。最佳拟合曲线704具有等式y=A(QP=10)x2+B(QP=10)x+C(QP=10)。标记为706的曲线示出了作为2x2模型针对QP=0所预测的比特数的对数的函数而通过使用HEVC编码器针对QP=15对图像部分进行编码所生成的比特数的对数的最佳拟合的曲线。最佳拟合曲线706具有等式y=A(QP=15)x2+B(QP=15)x+C(QP=15)。标记为708的曲线示出了作为2x2模型针对QP=0所预测的比特数的对数的函数而通过使用HEVC编码器针对QP=20对图像部分进行编码所生成的比特数的对数的最佳拟合的曲线。最佳拟合曲线708具有等式y=A(QP=20)x2+B(QP=20)x+C(QP=20)。标记为710的曲线示出了作为2x2模型针对QP=0所预测的比特数的对数的函数而通过使用HEVC编码器针对QP=32对图像部分进行编码所生成的比特数的对数的最佳拟合的曲线。最佳拟合曲线710具有等式y=A(QP=32)x2+B(QP=32)x+C(QP=32)。作为示例,针对特定图像集合,已经发现这样的拟合来自基准HEVC编码器的数据的曲线的典型关联值为大约0.9。
所观察到的HEVC编码器所生成的比特数的对数与2x2模型所预测的比特数的对数之间的关系(如图7所示)表现出与以步幅大小Q所给出的量化水平所预测的熵的对数(log(E(σ,Q)))与以步幅大小Q=1所给出的量化水平所预测的熵之间(如图6所示的)关系稍显更强的二次属性。然而,图7所示的最佳拟合的曲线的关联系数对于要作为有用近似的针对二次等式的拟合而言足够高。对于不同编码器而言,所观察到的由HEVC编码器所生成的比特数与2x2模型所预测的比特数之间的关系将有所不同。然而,由于(如图6所示的)模型所预测的熵表现出相同形式的关系(即,能够与两次等式近似的关系),所以就存在执行这样的二次拟合的基础(underlyingground)并且不同类型的编码器将遵循相同的总体形式(即,能够使用二次等式近似)的方面而言具有一定确信度。对于不同类型的编码器,二次等式的系数将会不同,并且可以通过实验或观察来确定。
图8示出了将HEVC编码器所生成的比特数的对数与简单模型所预测的比特数的对数相关联的二次等式的系数(A、B和C)相对HEVC编码器所使用的量化参数(QP)的图形。标记为802的最佳拟合曲线通过A的值进行绘制。类似地,记为804的最佳拟合曲线通过B的值进行绘制,并且记为806的最佳拟合曲线通过C的值进行绘制。作为量化参数的函数的A、B和C的变化也能够由拟合该数据的二次曲线所表示,并且在一个示例中已经被发现具有好于0398的关联系数。因此,对于A、B和C(802、804和806)中的每一个而言,拟合形式为y=a2+ba+c的二次方程式,其中a,b和c是特定于编码器类型的常数。具体地,系数A、B和C由以下所给出:
A B C = a A b A c A a B b B c B a C b C c C QP 2 QP 1 - - - ( 3 )
其中矩阵的常数(aA,bA,cA,aB,bB,cB,aC,bC和cC)通过观察而得出并且特定于编码器的类型(例如,特定于HEVC编码器)。矩阵中常数的值可以存储在查找表中,该查找表可以由图像处理系统所访问。这些常数的确定以及这些常数在查找表中的存储可以离线执行,即在使用步骤S210中的关系之前执行。
将无损熵估计模型与二次拟合乡合并为无损熵的估计相对在给定量化参数QP所给出的实际HEVC比特率的对数-对数图形,利用HEVC编码器H在量化参数QP对图像部分m进行编码而生成的每个像素的比特平均数的估计由以下关系所给出:
B m H ( QP ) = 1 0 A δ m 2 + Bδ m + C - - - ( 4 )
其中并且其中是如以上描述的例如使用简单2x2模型所确定的第m个图像部分的熵,并且其中Ω是每个图像部分的像素数量。例如,图像部分可以包括图像的120(即,15x8)行像素,从而Ω=120L,其中L是图像中的一行中的像素数目。
通过对图像中的每个图像部分进行编码而生成的比特数可以被相加在一起以提供利用HEVC编码器在量化参数QP对整个图像进行编码所生成的比特数的估计ImageBitsH(QP),而使得
ImageBits H ( QP ) = Q Σ m = 0 m = M - 1 B m H ( QP ) - - - ( 5 )
其中M是图像中的图像部分的数目。虽然在以上描述中,ImageBitsH(QP)和关于比特数被给出,但是它们可以另外关于比特率被给出。
因此,能够在步骤S210中使用该关系,能够针对编码器类型而获得该等式的系数。例如,可以访问查找表以针对编码器模块122所使用的编码器类型(例如,HEVC编码器)确定之前已经(例如,通过观察)确定的常数的矩阵。该常数矩阵可以随等式(3)和等式(4)使用以提供Em之间的关系。注意到,该关系是编码器所使用的量化水平(例如,量化参数)的函数。
作为示例,在步骤S210中,可以针对允许被编码器所使用的所有量化参数值(例如,根据HEVC标准,允许52个量化参数值)确定使用HEVC编码器对图像的图像部分进行编码所生成的比特数的估计(ImageBitsH(QP))。在其它示例中,可以针对所有允许量化参数值的子集,例如针对所允许量化参数值的一半,确定使用HEVC编码器对图像的图像部分进行编码所生成的比特数的估计(ImageBitsH(QP))。所允许量化值的子集可以基于其它信息来确定。例如,如果图像是视频序列的帧,并且针对视频序列之前的帧所选择的量化参数是已知的(例如,为20),则针对其确定ImageBitsH(QP)的允许量化参数值的子集可以在之前帧的量化参数周围进行分组(例如,在包括所有从QP=10到QP=30的量化参数值的群组)。步骤S210由图像预处理块106中的比特估计模块116所执行。
在步骤S212,量化水平选择模块118选择供编码模块122用来对图像进行编码的量化水平(例如,量化参数)之一。量化水平选择模块118基于所编码图像的目标比特数(“目标比特预算”)并且基于所估计的通过使用如步骤S210中所确定的不同量化水平对图像进行编码将会生成的比特数的指示来选择量化水平。目标比特数可以被指示为比特数或者比特率。对于给定帧率,比特率可以被认为等同于每帧的比特数。就“目标”比特数是速率控制器120所针对的所编码图像的比特数的意义而言,接收所编码图像的缓冲器因此并不饱和或者被完全耗尽。例如,可以选择通过对图像进行编码将会生成的比特数的估计针对其与目标目标比特数最为接近的量化水平。这可以被表示为:
selected_QP=argminQP{|ImageBitsH(QP)-Target bit budget|}
在步骤S214中,将所选择的量化水平作为元数据从图像预处理块106发送至速率控制器120。随后,在步骤S216,速率控制器120使用所选择的量化水平来确定要被编码器模块122用来对图像进行编码的量化水平。速率控制器120可以简单地通过从图像预处理器块106接收所选择量化水平来“确定”量化水平,并且在这种情况下,速率控制器120可以将步骤S212中所选择的量化参数的指示发送至编码器模块122,由此编码器模块122随后使用该量化参数对图像进行编码。速率控制器120在确定要由编码器122所使用的量化参数时可以考虑其它因素以及(由量化水平选择模块118所选择的)所选择的量化参数。例如,在图像是视频序列的帧的情况下,根据其对视频序列的一个或多个之前帧进行编码的量化参数的变化可以是速率控制器120在确定用于编码当前图像的量化参数时所要考虑到因素。可能期望避免用来对视频序列的不同帧进行编码的量化参数的大幅变化。编码器模块122从存储器110接收未编码图像。该未编码图像作为步骤S204的一部分被存储在存储器110中。编码器模块120使用由速率控制器120所指示的量化参数并且根据被配置为实施的编码标准(例如,根据HEVC编码标准)对图像进行编码以因此生成编码图像。编码器模块122所实施的编码处理的细节超出了本描述的范围并且对于本领域技术人员而言是已知的,并且因此并不在这里进行讨论。
编码图像可以(例如,经由编码器处理块的缓冲器,图1中未示出)被发送至存储器110,其中量化参数由速率控制器120所控制而使得编码器能够以经管控的(例如,恒定或近似恒定的)比特流向存储器110输出编码图像数据。在其它示例中,编码图像可以从编码器处理块108发送至存储器110以外的地方。例如,编码图像可以从编码器处理块108发送至解码器或打包器,它们并未在图1中示出。编码比特率的指示(例如,编码图像中的比特数)作为反馈从编码器模块122提供至速率控制器120。速率控制器120使用具有目标比特预算的反馈以及从图像预处理块106所接收的元数据自适应地对编码器模块122用来对图像进行编码的量化参数进行控制。如本领域已知的,速率控制器120能够在编码器模块122对图像进行编码的同时使用来自编码器模块122的反馈对量化参数进行调适。以这种方式,编码器模块122所使用的量化水平被速率控制器120在编码处理期间进行精细调谐。虽然如以上所描述那样选择的量化水平接近于编码器用于对图像进行编码的最优量化水平,但是其可能并非确切地等于编码器用于根据目标比特预算对图像进行编码的最优量化水平。作为示例,对于HEVC编码器而言,观察指出这里所描述的模型在量化参数范围的下半上以大约±1的精度预测最优量化参数,而该精度在量化参数范围的上半上大约为±2.5。可以意外地看到,该预测在这样宽泛为的量化水平上以及对于简单模型如此之好。如能够从以上描述所意识到的,所选择的量化水平略微的不精确是由于该选择是基于一些近似和简化。
提供接近于编码器所使用的最优量化水平的量化水平是有用的,并且意味着速率控制器120在基于反馈对编码器模块122所使用的量化参数进行调适时会更为放松(因为原始量化参数接近于最优量化参数)。即,由于量化水平已经基于整个图像进行了估计,速率控制器120可以在量化水平似乎并不正确时基于对图像的第一部分进行编码而更为缓慢地作出反应,并且在这种情况下,图像的后续部分可能具有与图像的第一部分相比不同的细节水平,这就是为何量化水平仅基于对图像的第一部分进行的编码而看上去似乎并不正确的原因。因此,速率控制器120针对图像内的细节的不均匀分布将没有这样的强烈逆向反应。
注意到,在某些示例中,例如可以针对图像的不同部分由量化水平选择模块118选择多于一种的量化水平,并且在速率控制器120所接收的元数据中进行指示,而使得控制器120将了解到量化参数的变化对于编码图像的不同部分可能是有利的。
提供了一种图像处理系统,其执行图像的预分析以根据目标比特预算提供要用来对图像进行编码的量化水平的估计,其中可以基于对相同图像的分析(即,并非基于其它图像)针对I-frame确定量化水平的估计,并且其中在图像还没有被编码器模块122所编码的情况下确定量化水平(在要对图像进行实时编码的情况下,经常没有足够时间和/或处理功率可供图像处理器104用来对图像进行多于一次编码)。因此,该图像处理系统允许图像例如在它们被图像传感器102捕获时被实时编码,并且向速率控制器120提供信息以使得编码器所使用的量化水平至少接近于用来根据目标比特预算对图像进行编码的最优量化水平(例如,量化参数处于用于对图像进行编码的最优量化参数的大约±2之内)。量化水平的估计使用相对简单的方法进行确定(其能够实时地实施而并不会对图像编码的处理功率或速度造成明显的不利影响)。如本领域已知的,所估计的量化参数中的任何略微的不准确都能够由速率控制器120在编码器模块122对图像进行编码时进行调适。
在以上所描述的示例中并且如图1所示,图像数据由图像传感器102捕获。图像数据被送至图像预处理块106。图像预处理块106使用图像处理模块112对图像数据进行处理以提供图像。图像传感器与预处理块106相关联以便在图像处理模块112中对图像进行处理。在这里所描述的示例中,用于选择量化水平的图像分析可以在相同的预处理块106中执行,因为这提供了对图像数据进行预处理的有用机会。图像预处理块106包括供图像处理模块112所使用的诸如行存储的结构,并且这些相同结构能够被用于如这里所描述的图像的预处理,而无需增加另外的预处理块。图像预处理块106(特别是图像分析模块114)对图像的一个或多个图像部分中的像素进行分析以估计(多个)图像部分的(多个)复杂度指示。(多个)复杂度指示可以是熵,其可以如上所述使用简单的2x2模型来估计。图像预处理块106使用(多个)图像部分的(多个)复杂度指示来确定从图像预处理块106输出到编码器处理块108的元数据。编码器处理块108(特别是速率控制器120)使用从图像预处理块106所接收的元数据来确定要在对图像进行编码时使用的量化水平(例如,量化参数),其随后被送至编码器模块122。编码器模块122使用速率控制器120所确定的量化水平对图像进行编码。以这种方式,图像数据由图像传感器102捕获,由图像预处理块106进行处理以提供存储在存储器110中的图像并且确定与图像复杂度相关的元数据,后者随后被送至编码器处理块108并且被速率控制器用来确定编码器模块122用于对图像进行编码的量化水平。该处理能够在没有来自发起图像数据捕获的主机应用的交互的情况下得以进行。这导致了更快的图像处理,因为主机应用无需在图像处理期间读取、写入或处理图像数据。使用图像预处理块106对图像进行分析是便利的,因为图像预处理块106被用来处理图像传感器102所捕获的图像数据,并且因此其将对图像进行访问,它随后能够对该图像进行分析以确定元数据而不要求在编码器处理块108对图像进行编码之前专门为了分析图像的目的单另从存储器110进行图像的读取操作。
元数据并不是图像的一般版本,例如图像的像素值的经处理版本。相反,元数据包括基于图像的分析而与图像相关的信息,该信息能够被用作可以如何对图像进行编码的指示。如上所述,元数据可以是已经基于图像的分析并且基于图像的目标比特预算而选择的量化水平。在这种情况下,对于速率控制器120而言,使用所选择的量化水平向编码器模块122提供在对图像进行编码时使用的量化参数的指示是简单的。
在其它实施方式中,元数据可以是从图像分析模块114所输出的(多个)图像部分、分区或块的复杂度(例如,熵)的(多个)指示。在这种情况下,比特估计模块116和量化水平选择模块118可以在编码器处理块108而不是图像预处理决106中实施。因此,编码器处理块108可以使用元数据(例如,(多个)图像部分的(多个)熵)而针对多个候选量化水平中的每一个估计通过使用相应候选量化水平对图像中的一个或多个图像部分进行编码将会生成的比特数的指示,并且随后基于目标比特数以及基于所估计的过使用相应候选量化水平对图像中的一个或多个图像部分进行编码将会生成的比特数的指示选择多个候选量化水平之一。如上所述的示例,所选择的量化水平随后被速率控制器用来控制编码器模块122在对图像进行编码时所使用的量化参数。在其它实施方式中,图像分析模块114、比特估计模块116和量化水平选择模块118的所有功能都能够在编码器处理块108中实施。
此外,在一些实施方式中,图像预处理块106可以不包括图像处理模块112。图像预处理块106例如从存储器110接收图像,其中执不同处理块或模块之前已经将图像存储在存储器110中。图像处理器104可以对包括多个像素的任意图像进行操作以因此分析该图像从而估计该图像的复杂度并且因此基于所估计的图像复杂度并且基于所编码图像的目标比特数选择适当量化水平,并且根据所选择的量化水平对图像进行编码。图像处理模块112可能并不包括在图像处理器104中并且图像预处理块106可能并不从图像传感器接收数据。因此,在一些示例中,步骤S202和步骤S204被在图像预处理块106例如从存储器110或者从其它一些处理块接收图像的步骤所替代。即,以上所描述的示例关于图像传感器102所捕获的图像进行描述,但是这里所描述的方法能够用于任意适当图像,而无论该图像如何被捕获或生成。即,这里所描述的方法能够随任意适当类型的图像使用。例如,该方法能够随计算机所生成的由图形处理单元(GPU)所呈现的图像使用,或者随作为设备显示器截屏的图像使用,或者随从存储器所获取的图像使用。在一些示例中,图像可以是不同类型的图像的组合,诸如图像传感器所捕获的图像与计算机生成的图像的组合。计算机生成的图像可以示出任意适当图像,诸如图形用户界面或者用于在计算机游戏中使用的3D画面。用于利用GPU呈现计算机所生成的图像的方法是本领域已知的并且因此并不在此详细描述。针对GPU所生成的计算机生成图像使用这里所描述的方法以便因此选择供编码器在对计算机所生成图像进行编码时使用的量化水平可以特别有用,因为该图像可能被要求实时地生成、编码和传送,例如用于交互使用。例如,图像或图像序列可以从一个设备传送至另一个设备,诸如从一台计算机传送至另一台计算机,或者从一台计算机传送至诸如显示器的外围设备。在通过诸如计算机网络或无线互联的容量有限的信道进行传输时对图像进行编码是有利的。
此外,针对显示器的截屏使用这里所描述的方法可能特别有用,因为截屏可能被实时使用。截屏可以是表示在单个时刻显示在显示器上的图像的单幅图像。此外,可以使用多个截屏来提供显示器上在一段时间内所显示的图像序列的实时表示。截屏可以在通信会话(例如,会议呼叫)中从一个设备传送至另一设备(例如,通过互联网),由此促成屏幕共享。例如,两个设备之间的截屏序列传输可以允许例如在视频会议中进行实时桌面共享,而使得该视频会议的所有参与者都能够在通信会话实时观看到一个参与者的屏幕内容。
在GPU所呈现的图像示例中,GPU可以将图像呈现为多个瓦片。瓦片是矩形(包括正方形)像素分区,其大小通常为16x16或32x32像素的量级。瓦片可以以任意顺序进行呈现,并且所呈现的像素数据可以被收集在帧缓冲存储器中而使得其能够以与所呈现不同的顺序进行编码。为了避免需要为了分析而重新读取像素数据,图像分析块114的各部分可以被集成到GPU中。例如,如果要针对其确定熵的图像分区的大小被选择为等于瓦片大小,则GPU可以在将瓦片的像素数据写入帧缓冲器之前计算该瓦片的直方图。备选地,针对其确定熵的图像分区可能包括多个瓦片,在这种情况下,可以在每个瓦片被GPU所呈现时从其瓦片的直方图累加得到该图像分区的直方图。随后,可以从该直方图计算针对图像部分内的图像分区的熵测量,并且如以上所描述地进行求和以估计对该图像部分进行编码所需的比特数,其中图像部分的大小和形状适用于图像编码处理。熵测量的计算以及求和也可以使用GPU来执行。
在以上所描述的示例中,图像从图像预处理块106发送至存储器110并且随后被编码器处理块108从存储器110读取。在其它示例中,图像例如可以在不经由存储器110的情况下从图像预处理块106发送至编码器处理块108。
以上所描述的示例关于内在编码图像进行描述,其中在不参考其它图像(例如,视频序列的其它帧)的情况下对图像进行编码。类似原则应用于对图像进行交互编码,其中参考其它图像(例如,视频序列的其它帧)的情况下对图像进行编码。经交互(或“非内在”)编码的视频序列的帧例如可以是:(i)能够参考来自之前帧的数据并且比I-frame压缩更多的P-frame,或者(ii)能够参考之前和后续帧以得到最高数据压缩量的B-frame。所预测的通过将图像编码为P-frame或B-frame而生成的比特数将针对内在帧(“I-frame”)所预测的数量。然而,与针对内在帧的预测相比,预测在编码器非内在帧时将生成的比特数更为复杂。这是因为针对非内在帧的编码处理更为复杂并且例如可以使用运动矢量。在预处理阶段难以廉价地完全考虑运动矢量(例如,在图像预处理块106中),即不适用过多处理功率或时间。可能的情况是,预处理的好处随着执行该预处理所需的处理功率或时间的增加而减小。以下对该方法可以如何针对随非内在帧使用而进行廉价调适的两个示例进行描述。作为第一示例,通过将所预测的比特数除以大于1的因数(或者乘以处于0和1之间的相对应倒数因数),以上所描述的用于预测通过内在编码对图像进行编码而生成的比特数的简单模型可以被调适以便在预测通过交互编码对图像进行编码而生成的比特数时使用。该因数能够基于观察进行确定并且针对不同类型的编码器可以有所不同,并且针对P-frame和B-frame可以有所不同(例如,P-frame的因数可以小于B-frame的因数,因为所编码的B-frame通常比所编码的P-frame具有更少的比特)。作为第二示例,能够以基于其对内在帧进行编码的其它帧中相对应像素的值为基础而针对交互帧中的像素确定不同值(假设所有运动矢量为零)。这些差异值随后能够以相似的方式被用于以上所描述的被绘制为直方图delta值,并且随后被用来确定图像分区、图像部分和/或整个图像的熵。根据图像中的内容,第一示例可以比第二示例更好地执行(即,更准确地估计通过对交互帧进行编码所生成的比特数)。
通常,以上所描述的任意功能、方法、技术或组件能够使用软件、固件、硬件(例如,固定逻辑电路)以模块来实施,或者以这些实施方式的任意组合来实施。术语“模块”、“功能”、“组件”、“块”和“逻辑”在这里被用来总体上表示软件、固件、硬件或者其任意组合。
在软件实施方式的情况下,模块、功能、组件或逻辑表示程序代码,后者在处理器(例如,一个或多个CPU)上执行时实施所指定的任务。在一个示例中,所描述的方法可以由利用存储在计算机可读介质上的机器可读形式的软件所配置的计算机来执行。一种这样的计算机可读介质的配置时信号承载介质,并且因此被配置为诸如经由网络向计算设备传送指令(例如,作为载波)。计算机可读介质还可以被配置为计算机可读存储介质,并且因此并不是信号承载介质。计算机可读存储介质的示例包括随机访问存储器(RAM)。只读存储器(ROM)、光盘、闪存、硬盘存储器,以及可以使用磁、光或其它技术来存储指令或其它数据并且能够被机器所访问的其它存储器设备。
软件可以为包括用于对计算机进行配置以执行所描述方法的组成部分的计算机程序代码的计算机程序的形式,或者为包括适于在该程序在计算机上运行时执行这里所描述的任意方法的所有步骤的计算机程序代码器件的计算机程序的形式,并且其中该计算机程序可以记录在计算机可读介质上。这里所描述的技术的特征是独立于平台的,这意味着该技术可以在具有各种处理器的各种计算平台上实施。
本领域技术人员还容易理解,全部或部分的功能、技术或方法可以由专用电路、应用特定集成电路、可编程逻辑阵列、现场可编程门阵列等来执行。例如,模块、功能、组件或逻辑可以包括电路形式的硬件。这样的电路可以包括晶体管和/或可在制造过程中获得的其它硬件元件。这样的晶体管和/或其它元件可以被用来形成电路或结构,作为示例,后者实施和/或包含诸如寄存器、触发电路或锁存器的存储器,诸如布尔运算的逻辑运算器,诸如加法器、乘法器或移位器的数学运算器以及互连。这样的元件可以作为定制电路或标准单元库、宏或者其它抽象等级而提供。这样的元件可以以具体布置进行互连。模块、功能、组件或逻辑可以包括作为固定功能的电路以及能够进行编程以执行一种或多种功能的电路;这样的编程可以从固件或软件更新或者控制机制所提供。在一个示例中,硬件逻辑具有实施固定功能操作、状态机或处理的电路。
还旨在包含“描述”或定义实施以上所描述的模块、功能、组件或逻辑的硬件配置的软件,诸如被用于设计集成电路或者用于配置可编程芯片以执行所需功能的HDL(硬件描述语言)软件。即,可以提供一种计算机可读存储介质,其具有编码于其上的计算机可读程序代码以便生成被配置为执行这里所描述的任意方法或者生成包括这里所描述的任意装置的处理模块。
术语“处理器”和“计算机”在这里被用来指代具有处理能力而使得其能够执行指令的任意设备或其一部分,或者能够执行全部或部分功能或方法的专用电路或其任意组合。
虽然已经以特定于结构特征和/或方法动作的语言对主题进行了描述,但是应当理解,所附权利要求书中所限定的主题并不局限于以上所描述的具体特征或动作。相反,以上所描述的具体特征和动作作为实施权利要求的示例形式而公开。应当理解,以上所描述的益处和优势可以涉及一个示例或者可以涉及若干示例。
本领域技术人员容易理解,这里所给出的任意范围或值可以进行扩展或改变而并不失所寻求的效果,这里所描述方法的步骤可以以任意适当顺序执行,或者在适当情况下同时执行。以上所描述的任意示例的各方面可以与所描述的任意其它示例的各方面进行组合以形成另外的示例而并不失所寻求的效果。

Claims (20)

1.一种图像处理器,包括图像预处理块和编码器处理块,
其中所述图像预处理块被配置为:
接收图像数据;
对所接收的图像数据进行处理以提供包括一个或多个均包括多个像素的图像部分的图像;
针对所述图像中的所述一个或多个图像部分中的每个图像部分,分析所述图像部分中的所述像素以估计所述图像部分的复杂度指示;
基于所述一个或多个图像部分的一个或多个所估计的复杂度指示确定元数据;以及
输出所确定的元数据,
并且其中所述编码器处理块被配置为:
接收由所述图像预处理块所确定的元数据;
使用所接收的元数据来确定用于在对所述图像进行编码时使用的量化水平;以及
使用所确定的量化水平对所述图像进行编码。
2.根据权利要求1所述的图像处理器,其中所述图像预处理块被配置为将所述图像发送至存储器以便在其中进行存储,并且其中所述编码器处理块被配置为从所述存储器接收所述图像。
3.根据权利要求2所述的图像处理器,其中所述存储器处于所述图像处理器之外。
4.根据权利要求1所述的图像处理器,其中所述图像预处理块被配置为将所述图像发送至所述编码器处理块。
5.根据之前任一项权利要求所述的图像处理器,其中所述编码器处理块包括速率控制器和编码器模块,其中所述速率控制器被配置为接收由所述图像预处理块所确定的元数据并且使用所接收的元数据来确定用于在对所述图像进行编码时使用的量化水平,并且其中所述编码器模块被配置为使用所确定的量化水平对所述图像进行编码。
6.根据之前任一项权利要求所述的图像处理器,其中所述元数据包括所述一个或多个图像部分的所述一个或多个所估计的复杂度指示,并且其中所述编码器处理块被配置为:
针对多个候选量化水平中的每个候选量化水平,使用所述一个或多个图像部分的一个或多个所估计的复杂度指示来估计通过使用相应候选量化水平对所述图像中的所述一个或多个图像部分进行编码生成的比特数的指示;以及
基于目标比特数并且基于所估计的通过使用所述相应候选量化水平对所述图像中的所述一个或多个图像部分进行编码生成的比特数的指示来选择所述多个候选量化水平中的一个候选量化水平,其中所述编码器处理块被配置为在对所述图像进行编码时使用所述所选择的量化水平。
7.根据权利要求1至5中任一项所述的图像处理器,其中所述图像预处理块被配置为通过以下操作确定所述元数据:
针对多个候选量化水平中的每个候选量化水平,使用所述一个或多个图像部分的一个或多个所估计的复杂度指示来估计通过使用所述相应候选量化水平对所述图像中的所述一个或多个图像部分进行编码生成的比特数的指示;以及
基于目标比特数并且基于所估计的通过使用所述相应候选量化水平对所述图像中的所述一个或多个图像部分进行编码生成的比特数的指示来选择所述多个候选量化水平中的一个候选量化水平,其中所述元数据包括所选择的量化水平。
8.根据引用权利要求5时权利要求7所述的图像处理器,其中所述速率控制器通过接收所述元数据中的所选择的量化水平并且将所选择的量化水平的指示送至所述编码器模块来确定所述量化水平。
9.根据权利要求6至8中任一项所述的图像处理器,其中所述所选择的量化水平是所述多个候选量化水平中的一个候选量化水平,针对所述一个候选量化水平,所估计的通过使用所述候选量化水平对所述图像中的所述一个或多个图像部分进行编码生成的比特数的指示与所述目标比特数最为接近。
10.根据权利要求6至9中任一项所述的图像处理器,其中所述多个候选量化水平包括:(i)所述编码器处理块被配置为能够用来对所述图像进行编码的所有所述量化水平,或者(ii)所述编码器处理块被配置为能够用来对所述图像进行编码的所有所述量化水平的子集。
11.根据之前任一项权利要求所述的图像处理器,其中图像部分的复杂度指示是所述图像部分的熵。
12.根据之前任一项权利要求所述的图像处理器,其中所述编码器处理块被配置为根据高效视频编码压缩标准对所述图像进行编码。
13.根据之前任一项权利要求所述的图像处理器,其中所接收的图像数据涉及以下各项的至少一种:
(i)由图像传感器所捕获的图像;
(ii)由图形处理单元渲染的计算机生成的图像;
(iii)设备的显示器的截屏;以及
(iv)从存储器获取的图像。
14.根据权利要求13所述的图像处理器,
其中所接收的图像数据与被图像传感器所捕获的图像有关,并且其中所述图像预处理块被配置为从所述图像传感器接收所述图像数据;或者
其中所接收的图像数据与由图形处理单元渲染的计算机生成的图像有关,并且其中所述图像预处理块被配置为从所述图形处理单元接收所述图像数据。
15.一种使用图像处理器对图像进行处理的方法,所述图像处理器包括图像预处理块和编码器处理块,其中所述方法包括:
在所述图像预处理块接收图像数据;
在所述图像预处理块对所接收的图像数据进行处理以提供包括一个或多个均包括多个像素的图像部分的图像;
针对所述图像中的一个或多个图像部分中的每个图像部分,所述图像预处理块分析所述图像部分中的所述像素以估计所述图像部分的复杂度指示;
所述图像预处理块基于所述一个或多个图像部分的一个或多个所估计的复杂度指示确定元数据;
在所述编码器处理块使用所述元数据来确定用于在对所述图像进行编码时使用的量化水平;以及
在所述编码器处理块使用所确定的量化水平对所述图像进行编码。
16.根据权利要求15所述的方法,进一步包括:
将所述图像从所述图像预处理块发送至存储器以便在其中进行存储;以及
在所述编码器处理块从所述存储器接收所述图像。
17.根据权利要求16所述的方法,其中所述存储器处于所述图像处理器之外。
18.根据权利要求15所述的方法,进一步包括将所述图像从所述图像预处理块发送至所述编码器处理块。
19.根据权利要求15至18中任一项所述的方法,进一步包括:
针对多个候选量化水平中的每个候选量化水平,使用所述一个或多个图像部分的一个或多个所估计的复杂度指示来估计通过使用相应候选量化水平对所述图像中的所述一个或多个图像部分进行编码生成的比特数的指示;以及
基于目标比特数并且基于所估计的通过使用所述相应候选量化水平对所述图像中的所述一个或多个图像部分进行编码生成的比特数的指示选择所述多个候选量化水平中的一个候选量化水平,其中所述所选择的量化水平供所述编码器处理块在对所述图像进行编码时使用。
20.根据权利要求15至19中任一项所述的方法,其中所接收的图像数据与以下各项中的至少一种有关:
(i)由图像传感器所捕获的图像;
(ii)由图形处理单元渲染的计算机生成的图像;
(iii)设备的显示器的截屏;以及
(iv)从存储器获取的图像。
CN201410178316.XA 2013-05-03 2014-04-29 对图像进行编码 Active CN104135663B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
GB1308073.4 2013-05-03
GBGB1308073.4A GB201308073D0 (en) 2013-05-03 2013-05-03 Encoding an image
GB1316816.6A GB2513932B (en) 2013-05-03 2013-09-23 Encoding an image
GB1316816.6 2013-09-23
GB201406016A GB2515158B (en) 2013-05-03 2014-04-03 Encoding an image
GB1406016.4 2014-04-03

Publications (2)

Publication Number Publication Date
CN104135663A true CN104135663A (zh) 2014-11-05
CN104135663B CN104135663B (zh) 2019-08-23

Family

ID=48627309

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410178316.XA Active CN104135663B (zh) 2013-05-03 2014-04-29 对图像进行编码
CN201410178188.9A Active CN104135629B (zh) 2013-05-03 2014-04-29 对图像进行编码的方法、装置及计算机可读存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201410178188.9A Active CN104135629B (zh) 2013-05-03 2014-04-29 对图像进行编码的方法、装置及计算机可读存储介质

Country Status (4)

Country Link
US (2) US9525869B2 (zh)
CN (2) CN104135663B (zh)
DE (2) DE102014006442A1 (zh)
GB (4) GB201308073D0 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108846874A (zh) * 2018-06-27 2018-11-20 广州视源电子科技股份有限公司 信号发生器的图像生成方法和装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417766B2 (en) * 2014-11-13 2019-09-17 Samsung Electronics Co., Ltd. Method and device for generating metadata including frequency characteristic information of image
CN105114856B (zh) * 2015-06-26 2018-04-06 深圳市华星光电技术有限公司 背光模组及显示装置
US9609230B1 (en) * 2015-12-30 2017-03-28 Google Inc. Using a display as a light source
JP6690254B2 (ja) * 2016-01-22 2020-04-28 沖電気工業株式会社 画像符号化装置、方法及びプログラム
US11076157B1 (en) * 2016-05-03 2021-07-27 NGCodec Inc. Apparatus and method for rate control in accordance with block and stream analyses
CN106647345B (zh) * 2016-08-30 2019-04-05 浙江克里蒂弗机器人科技有限公司 一种基于像素分析统计学技术来判断光伏电池板是否需要清洗的方法
DE102018110383A1 (de) * 2018-04-30 2019-10-31 Basler Ag Verfahren und Vorrichtung zum Kodieren von Bilddaten
CN109246430B (zh) * 2018-09-06 2022-02-01 北方工业大学 虚拟现实360度视频快速帧内预测和cu划分提前决策
JP7190661B2 (ja) * 2019-02-06 2022-12-16 パナソニックIpマネジメント株式会社 画像処理装置、画像処理方法および画像処理システム
CN110599962B (zh) * 2019-09-23 2020-10-23 深圳清华大学研究院 不同颜色序列Delta型子像素显示面板的渲染方法
KR20210072344A (ko) * 2019-12-09 2021-06-17 삼성전자주식회사 전자장치 및 그 제어방법
US20210185313A1 (en) * 2019-12-16 2021-06-17 Ati Technologies Ulc Residual metrics in encoder rate control system
US11671474B2 (en) * 2020-04-27 2023-06-06 Fabzing Pty Ltd. Multimedia conferencing platform and method
CN114018819B (zh) * 2021-03-22 2022-11-11 北京航空航天大学 基于空间频域成像的光学特性测量方法、装置及系统
CN117676141A (zh) * 2022-09-08 2024-03-08 华为技术有限公司 图像编解码方法、装置、编码器、解码器和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1141561A (zh) * 1995-02-16 1997-01-29 汤姆森多媒体公司 用于视频信号处理器的时-空差错隐蔽的设备及方法
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
CN101416511A (zh) * 2006-04-07 2009-04-22 微软公司 基于纹理水平的量化调整
US20100309987A1 (en) * 2009-06-05 2010-12-09 Apple Inc. Image acquisition and encoding system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0139154B1 (ko) * 1994-07-08 1998-06-15 김광호 신경망을 이용한 부호화방법 및 그 장치
KR0186112B1 (ko) * 1995-05-19 1999-04-15 구자홍 영상 시스템의 양자수 결정 장치
US6539124B2 (en) * 1999-02-03 2003-03-25 Sarnoff Corporation Quantizer selection based on region complexities derived using a rate distortion model
JP5198869B2 (ja) * 2004-12-02 2013-05-15 トムソン ライセンシング ビデオエンコーダのレート制御のための量子化パラメータの決定
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
US8135063B2 (en) * 2006-09-08 2012-03-13 Mediatek Inc. Rate control method with frame-layer bit allocation and video encoder
US20080151998A1 (en) * 2006-12-21 2008-06-26 General Instrument Corporation Method and Apparatus for Providing Rate Control for Panel-Based Real Time Video Encoder
US8019167B2 (en) * 2007-01-03 2011-09-13 Human Monitoring Ltd. Compressing high resolution images in a low resolution video
DE102007013026B4 (de) * 2007-03-19 2010-12-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung einer Mehrzahl von Informationssignalen unter Verwendung einer gemeinsamen Rechenleistung
JP5427785B2 (ja) * 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法
US8848788B2 (en) * 2009-05-16 2014-09-30 Thomson Licensing Method and apparatus for joint quantization parameter adjustment
US20140181266A1 (en) * 2011-09-29 2014-06-26 Avvasi Inc. System, streaming media optimizer and methods for use therewith
US20130083855A1 (en) * 2011-09-30 2013-04-04 Dane P. Kottke Adaptive color space selection for high quality video compression
JP6184080B2 (ja) * 2012-11-20 2017-08-23 ソニー株式会社 撮像素子

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1141561A (zh) * 1995-02-16 1997-01-29 汤姆森多媒体公司 用于视频信号处理器的时-空差错隐蔽的设备及方法
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
CN101416511A (zh) * 2006-04-07 2009-04-22 微软公司 基于纹理水平的量化调整
US20100309987A1 (en) * 2009-06-05 2010-12-09 Apple Inc. Image acquisition and encoding system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108846874A (zh) * 2018-06-27 2018-11-20 广州视源电子科技股份有限公司 信号发生器的图像生成方法和装置

Also Published As

Publication number Publication date
CN104135663B (zh) 2019-08-23
GB2513932A (en) 2014-11-12
US9525870B2 (en) 2016-12-20
DE102014006433A1 (de) 2014-11-06
GB201316816D0 (en) 2013-11-06
GB201320987D0 (en) 2014-01-15
CN104135629A (zh) 2014-11-05
GB201406016D0 (en) 2014-05-21
GB201308073D0 (en) 2013-06-12
US20140369621A1 (en) 2014-12-18
DE102014006442A1 (de) 2014-11-06
US9525869B2 (en) 2016-12-20
US20150023411A1 (en) 2015-01-22
CN104135629B (zh) 2019-01-01
GB2515158A (en) 2014-12-17
GB2515158B (en) 2015-05-20
GB2513932B (en) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104135663A (zh) 对图像进行编码
KR102332476B1 (ko) 신경망을 이용한 타일 이미지 압축
US20200329233A1 (en) Hyperdata Compression: Accelerating Encoding for Improved Communication, Distribution & Delivery of Personalized Content
CN104067619B (zh) 视频解码器、视频解码方法以及视频解码程序的记录介质
US20180115787A1 (en) Method for encoding and decoding video signal, and apparatus therefor
KR100953152B1 (ko) 비디오 인코더에서 매크로블록 양자화 파라미터들을선택하기 위한 방법 및 장치
Nguyen et al. Learning-based lossless compression of 3d point cloud geometry
KR101274804B1 (ko) 통합된 공간 시간 예측
CN102187656B (zh) 像素预测值生成顺序自动生成方法、图像编码方法、图像解码方法、其装置
CN107211131B (zh) 对数字图像块进行基于掩码的处理的系统和方法
US11134242B2 (en) Adaptive prediction of coefficients of a video block
CN110996101B (zh) 一种视频编码的方法和装置
US20120219057A1 (en) Video encoding apparatus and video encoding method
US20200275103A1 (en) System and method for controlling video coding within image frame
Lin et al. A spatial rnn codec for end-to-end image compression
KR102138650B1 (ko) 디지털 이미지의 블록을 처리하는 시스템 및 방법
EP3053337B1 (en) Encoder and method for video processing
US20170078663A1 (en) Video Coding Apparatus and Method
Menon et al. Incept: Intra cu depth prediction for hevc
Mercat et al. Machine learning based choice of characteristics for the one-shot determination of the HEVC intra coding tree
CN115442617A (zh) 一种基于视频编码的视频处理方法和装置
CN110049339A (zh) 图像编码中的预测方向选取方法、装置和存储介质
Ren et al. Rate model considering inter-symbol dependency for HEVC inter-frame coding
Knezovic et al. Novel prediction based technique for efficient compression of medical imaging data
Antony et al. A Lossless Image Compression Based On Hierarchical Prediction and Context Adaptive Coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant